private initTableView()

in src/sampleSlicer.ts [516:553]


    private initTableView(): void {
        const slicerText = this.settings.slicerText,
            rows = this.settings.general.rows,
            columns = this.settings.general.columns,
            viewport = SampleSlicer.getSlicerBodyViewport(this.currentViewport),
            slicerBody = this.slicerBody;

        let rowEnterHandler = (rowSelection: Selection<any>) => {
            this.enterSelection(rowSelection);
        };

        let rowUpdateHandler = (rowSelection: Selection<any>) => {
            this.updateSelection(rowSelection);
        };

        let rowExitHandler = (rowSelection: Selection<any>) => {
            rowSelection.remove();
        };

        const rowHeight = slicerText.height !== 0
          ? slicerText.height
          : textMeasurementService.estimateSvgTextHeight(SampleSlicer.getSampleTextProperties(slicerText.textSize))

        const tableViewOptions: TableViewOptions = {
            rowHeight,
            columnWidth: slicerText.width,
            rows,
            columns,
            onEnter: rowEnterHandler,
            onExit: rowExitHandler,
            onUpdate: rowUpdateHandler,
            scrollEnabled: true,
            viewport,
            baseContainer: slicerBody,
        };

        this.tableView = TableViewFactory.createTableView(tableViewOptions);
    }