Skip to content

Commit 5b743aa

Browse files
authored
fix: propagate EditableGeoJsonLayer accessor updateTriggers to GeoJsonLayer (#446)
* fix: propagate EditableGeoJsonLayer accessor updateTriggers to GeoJsonLayer * test: trigger propagation
1 parent aaffad3 commit 5b743aa

File tree

2 files changed

+32
-4
lines changed

2 files changed

+32
-4
lines changed

modules/editable-layers/src/editable-layers/editable-geojson-layer.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -332,10 +332,10 @@ export class EditableGeoJsonLayer extends EditableLayer<
332332
},
333333

334334
updateTriggers: {
335-
getLineColor: [this.props.selectedFeatureIndexes, this.props.mode],
336-
getFillColor: [this.props.selectedFeatureIndexes, this.props.mode],
337-
getPointRadius: [this.props.selectedFeatureIndexes, this.props.mode],
338-
getLineWidth: [this.props.selectedFeatureIndexes, this.props.mode]
335+
getLineColor: [this.props.updateTriggers.getLineColor, this.props.selectedFeatureIndexes, this.props.mode],
336+
getFillColor: [this.props.updateTriggers.getFillColor, this.props.selectedFeatureIndexes, this.props.mode],
337+
getPointRadius: [this.props.updateTriggers.getPointRadius, this.props.selectedFeatureIndexes, this.props.mode],
338+
getLineWidth: [this.props.updateTriggers.getLineWidth, this.props.selectedFeatureIndexes, this.props.mode]
339339
}
340340
});
341341

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import {test, expect} from 'vitest';
2+
import {EditableGeoJsonLayer} from '../../src/editable-layers/editable-geojson-layer';
3+
import {DrawPointMode} from '../../src/edit-modes/draw-point-mode'
4+
5+
test('Propagates update triggers to geojson layer', () =>{
6+
const editableLayer = new EditableGeoJsonLayer({
7+
id: 'test',
8+
data: null,
9+
mode: DrawPointMode,
10+
selectedFeatureIndexes: [],
11+
updateTriggers: {
12+
getLineColor: ['lineColor'],
13+
getFillColor: ['fillColor'],
14+
getPointRadius: ['radius'],
15+
getLineWidth: ['width'],
16+
}
17+
});
18+
// Avoid the need for deck.gl-initialized state
19+
editableLayer.createGuidesLayers = () => [];
20+
editableLayer.createTooltipsLayers = () => [];
21+
22+
const [geoJsonLayer, ..._rest] = editableLayer.renderLayers();
23+
const {updateTriggers} = geoJsonLayer.props;
24+
expect(updateTriggers.getLineColor.flat()).toContain('lineColor')
25+
expect(updateTriggers.getFillColor.flat()).toContain('fillColor')
26+
expect(updateTriggers.getPointRadius.flat()).toContain('radius')
27+
expect(updateTriggers.getLineWidth.flat()).toContain('width')
28+
})

0 commit comments

Comments
 (0)