in modules/layers/src/layers/editable-geojson-layer.ts [280:336]
renderLayers() {
const subLayerProps = this.getSubLayerProps({
id: 'geojson',
// Proxy most GeoJsonLayer props as-is
data: this.props.data,
fp64: this.props.fp64,
filled: this.props.filled,
stroked: this.props.stroked,
lineWidthScale: this.props.lineWidthScale,
lineWidthMinPixels: this.props.lineWidthMinPixels,
lineWidthMaxPixels: this.props.lineWidthMaxPixels,
lineWidthUnits: this.props.lineWidthUnits,
lineJointRounded: this.props.lineJointRounded,
lineCapRounded: this.props.lineCapRounded,
lineMiterLimit: this.props.lineMiterLimit,
pointRadiusScale: this.props.pointRadiusScale,
pointRadiusMinPixels: this.props.pointRadiusMinPixels,
pointRadiusMaxPixels: this.props.pointRadiusMaxPixels,
getLineColor: this.selectionAwareAccessor(this.props.getLineColor),
getFillColor: this.selectionAwareAccessor(this.props.getFillColor),
getPointRadius: this.selectionAwareAccessor(this.props.getRadius),
getLineWidth: this.selectionAwareAccessor(this.props.getLineWidth),
_subLayerProps: {
linestrings: {
billboard: this.props.billboard,
updateTriggers: {
// required to update dashed array attribute
all: [this.props.selectedFeatureIndexes, this.props.mode],
},
},
'polygons-stroke': {
billboard: this.props.billboard,
pickingLineWidthExtraPixels: this.props.pickingLineWidthExtraPixels,
type: EditablePathLayer,
updateTriggers: {
// required to update dashed array attribute
all: [this.props.selectedFeatureIndexes, this.props.mode],
},
},
},
updateTriggers: {
getLineColor: [this.props.selectedFeatureIndexes, this.props.mode],
getFillColor: [this.props.selectedFeatureIndexes, this.props.mode],
getPointRadius: [this.props.selectedFeatureIndexes, this.props.mode],
getLineWidth: [this.props.selectedFeatureIndexes, this.props.mode],
},
});
let layers: any = [new GeoJsonLayer(subLayerProps)];
layers = layers.concat(this.createGuidesLayers(), this.createTooltipsLayers());
return layers;
}