in src/EnhancedScatterChart.ts [2264:2303]
public addElementToDOM(
rootElement: Selection<any>,
properties: ElementProperties
): Selection<any> {
if (!rootElement || !properties) {
return null;
}
let elementSelection: Selection<any>,
elementUpdateSelection: Selection<any>;
elementSelection = rootElement.selectAll(properties.selector);
elementUpdateSelection = elementSelection.data(properties.data || [[]]);
const elementUpdateSelectionMerged = elementUpdateSelection
.enter()
.append(properties.name)
.merge(elementUpdateSelection);
const propertiesAttributes = properties.attributes ? Object.keys(properties.attributes) : [];
for (let propKey of propertiesAttributes) {
elementUpdateSelectionMerged.attr(propKey, properties.attributes[propKey]);
}
const propertiesStyles = properties.styles ? Object.keys(properties.styles) : [];
for (let propKey of propertiesStyles) {
elementUpdateSelectionMerged.attr(propKey, properties.styles[propKey]);
}
elementUpdateSelectionMerged
.classed(properties.className, true);
elementUpdateSelection
.exit()
.remove();
return elementUpdateSelectionMerged;
}