in src/chicletSlicer.ts [708:794]
private enterSelection(rowSelection: Selection<any>): void {
let settings: ChicletSlicerSettings = this.settings;
let ulItemElement: UpdateSelection<any> = rowSelection
.selectAll('ul')
.data((dataPoint: ChicletSlicerDataPoint) => {
return [dataPoint];
});
ulItemElement
.enter()
.append('ul');
ulItemElement
.exit()
.remove();
let listItemElement: UpdateSelection<any> = ulItemElement
.selectAll(ChicletSlicer.ItemContainerSelector.selector)
.data((dataPoint: ChicletSlicerDataPoint) => {
return [dataPoint];
});
listItemElement
.enter()
.append('li')
.classed(ChicletSlicer.ItemContainerSelector.class, true);
listItemElement.style({
'margin-left': PixelConverter.toString(settings.slicerItemContainer.marginLeft)
});
let slicerImgWrapperSelection: UpdateSelection<any> = listItemElement
.selectAll(ChicletSlicer.SlicerImgWrapperSelector.selector)
.data((dataPoint: ChicletSlicerDataPoint) => {
return [dataPoint];
});
slicerImgWrapperSelection
.enter()
.append('img')
.classed(ChicletSlicer.SlicerImgWrapperSelector.class, true);
slicerImgWrapperSelection
.exit()
.remove();
let slicerTextWrapperSelection: UpdateSelection<any> = listItemElement
.selectAll(ChicletSlicer.SlicerTextWrapperSelector.selector)
.data((dataPoint: ChicletSlicerDataPoint) => {
return [dataPoint];
});
slicerTextWrapperSelection
.enter()
.append('div')
.classed(ChicletSlicer.SlicerTextWrapperSelector.class, true);
let labelTextSelection: UpdateSelection<any> = slicerTextWrapperSelection
.selectAll(ChicletSlicer.LabelTextSelector.selector)
.data((dataPoint: ChicletSlicerDataPoint) => {
return [dataPoint];
});
labelTextSelection
.enter()
.append('span')
.classed(ChicletSlicer.LabelTextSelector.class, true);
labelTextSelection.style({
'font-size': PixelConverter.fromPoint(settings.slicerText.textSize),
'color': settings.slicerText.fontColor,
'opacity': ChicletSlicer.DefaultOpacity
});
labelTextSelection
.exit()
.remove();
slicerTextWrapperSelection
.exit()
.remove();
listItemElement
.exit()
.remove();
};