private enterSelection()

in src/sampleSlicer.ts [796:866]


    private enterSelection(cellSelection: Selection<any>): void {
        let settings: Settings = this.settings;
        
        let ulItemElement: Selection<any> = cellSelection
            .selectAll('ul')
            .data((dataPoint: SampleSlicerDataPoint) => {
                return [dataPoint];
            });

        ulItemElement 
            .exit()
            .remove();

        let ulItemElementEnter = ulItemElement
            .enter()
            .append('ul');
        
        ulItemElement = ulItemElement.merge(ulItemElementEnter)

        let listItemElement: Selection<any> = ulItemElement
            .selectAll(SampleSlicer.ItemContainerSelector.selectorName)
            .data((dataPoint: SampleSlicerDataPoint) => {
                return [dataPoint];
            });
        
        listItemElement.exit().remove();

        let listItemElementEnter = listItemElement
            .enter()
            .append('li');
        
        listItemElement = listItemElement.merge(listItemElementEnter);
        
        listItemElement
            .classed(SampleSlicer.ItemContainerSelector.className, true)
            .style('margin-left', PixelConverter.toString(settings.slicerItemContainer.marginLeft));

        let slicerTextWrapperSelection: Selection<any> = listItemElement
            .selectAll(SampleSlicer.SlicerTextWrapperSelector.selectorName)
            .data((dataPoint: SampleSlicerDataPoint) => {
                return [dataPoint];
            });
        
        slicerTextWrapperSelection.exit().remove();

        let slicerTextWrapperSelectionEnter = slicerTextWrapperSelection
            .enter()
            .append('div')
            .classed(SampleSlicer.SlicerTextWrapperSelector.className, true);
        
        slicerTextWrapperSelection = slicerTextWrapperSelection.merge(slicerTextWrapperSelectionEnter);

        let labelTextSelection: Selection<any> = slicerTextWrapperSelection
            .selectAll(SampleSlicer.LabelTextSelector.selectorName)
            .data((dataPoint: SampleSlicerDataPoint) => {
                return [dataPoint];
            });

        labelTextSelection.exit().remove();
        
        let labelTextSelectionEnter = labelTextSelection
            .enter()
            .append('span')
            .classed(SampleSlicer.LabelTextSelector.className, true);
        
        labelTextSelection = labelTextSelection.merge(labelTextSelectionEnter);

        labelTextSelection
          .style('font-size', PixelConverter.fromPoint(settings.slicerText.textSize));

    }