@carto/kepler.gl 0.0.32-alpha1 → 0.0.32-alpha2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/layers/base-layer.js
CHANGED
|
@@ -891,6 +891,8 @@ class Layer {
|
|
|
891
891
|
const layerDataset = datasets[this.config.dataId];
|
|
892
892
|
const {dataContainer} = layerDataset;
|
|
893
893
|
|
|
894
|
+
this.updateVisualChannelFields(layerDataset);
|
|
895
|
+
|
|
894
896
|
const getPosition = this.getPositionAccessor(dataContainer);
|
|
895
897
|
const dataUpdateTriggers = this.getDataUpdateTriggers(layerDataset);
|
|
896
898
|
const triggerChanged = this.getChangedTriggers(dataUpdateTriggers);
|
|
@@ -911,6 +913,22 @@ class Layer {
|
|
|
911
913
|
return {data, triggerChanged};
|
|
912
914
|
}
|
|
913
915
|
|
|
916
|
+
/**
|
|
917
|
+
* Update styled fields to match ones from new dataset.
|
|
918
|
+
*
|
|
919
|
+
* @param {Object} dataset
|
|
920
|
+
*/
|
|
921
|
+
updateVisualChannelFields(dataset) {
|
|
922
|
+
Object.values(this.visualChannels).forEach(({field}) => {
|
|
923
|
+
const oldField = this.config[field];
|
|
924
|
+
if (!oldField) {
|
|
925
|
+
return;
|
|
926
|
+
}
|
|
927
|
+
const foundField = dataset.fields.find(fd => fd.name === oldField.name);
|
|
928
|
+
this.updateLayerConfig({[field]: foundField});
|
|
929
|
+
});
|
|
930
|
+
}
|
|
931
|
+
|
|
914
932
|
/**
|
|
915
933
|
* helper function to update one layer domain when state.data changed
|
|
916
934
|
* if state.data change is due ot update filter, newFiler will be passed
|