diff --git a/plugins/datasets/src/adapters/esri/esriLayerAdapter.js b/plugins/datasets/src/adapters/esri/esriLayerAdapter.js
index 12555fd2..f872dfc9 100644
--- a/plugins/datasets/src/adapters/esri/esriLayerAdapter.js
+++ b/plugins/datasets/src/adapters/esri/esriLayerAdapter.js
@@ -9,6 +9,9 @@ import { logger } from '../../../../../src/services/logger.js'
export default class EsriLayerAdapter extends LayerAdapter {
constructor (mapProvider) {
super()
+ this.ready = new Promise((resolve) => {
+ this.resolveReady = resolve
+ })
this._mapProvider = mapProvider
this._map = mapProvider.map
@@ -46,6 +49,7 @@ export default class EsriLayerAdapter extends LayerAdapter {
// Finally show all layers that are visible based on the dataset/mapStyle visibility
await Promise.all(topLevelDatasets.map(registryDataset => this.applyDatasetVisibility(registryDataset.id)))
+ this.resolveReady()
}
_addGroupLayer (esriGroupId) {
@@ -199,7 +203,9 @@ export default class EsriLayerAdapter extends LayerAdapter {
if (!esriStyleLayerId || !vectorTileLayer) {
return
}
- vectorTileLayer.setStyleLayerVisibility(esriStyleLayerId, registryDataset.visibility)
+ this.ready.then(() => {
+ vectorTileLayer.setStyleLayerVisibility(esriStyleLayerId, registryDataset.visibility)
+ })
}
_applyStyleLayerPaintProperties (registryDataset, vectorTileLayer) {
diff --git a/plugins/datasets/src/adapters/esri/esriLayerAdapter.test.js b/plugins/datasets/src/adapters/esri/esriLayerAdapter.test.js
index 172ef854..16032c73 100644
--- a/plugins/datasets/src/adapters/esri/esriLayerAdapter.test.js
+++ b/plugins/datasets/src/adapters/esri/esriLayerAdapter.test.js
@@ -56,6 +56,7 @@ describe('esriLayerAdapter', () => {
map = makeMap()
mapProvider = makeMapProvider(map)
adapter = new EsriLayerAdapter(mapProvider, null, null)
+ adapter.resolveReady()
})
// ─── createDataset ───────────────────────────────────────────────────────────
diff --git a/plugins/datasets/src/components/LayersMenu/Layers.module.scss b/plugins/datasets/src/components/LayersMenu/Layers.module.scss
index da6b1ba0..f36606e6 100644
--- a/plugins/datasets/src/components/LayersMenu/Layers.module.scss
+++ b/plugins/datasets/src/components/LayersMenu/Layers.module.scss
@@ -75,6 +75,9 @@
font-size: 1rem;
font-weight: bold;
color: var(--foreground-color);
+ h3 {
+ font-size: inherit;
+ }
}
.im-c-datasets-layers-group:first-child .im-c-datasets-layers-group__legend {
diff --git a/plugins/datasets/src/components/LayersMenu/LayersMenuGroupWrapper.jsx b/plugins/datasets/src/components/LayersMenu/LayersMenuGroupWrapper.jsx
index 912948ac..0dceae16 100644
--- a/plugins/datasets/src/components/LayersMenu/LayersMenuGroupWrapper.jsx
+++ b/plugins/datasets/src/components/LayersMenu/LayersMenuGroupWrapper.jsx
@@ -7,7 +7,9 @@ export const LayersMenuGroupWrapper = ({ menuGroup, children }) => {
diff --git a/plugins/datasets/src/components/LayersMenu/LayersRadioGroupWrapper.jsx b/plugins/datasets/src/components/LayersMenu/LayersRadioGroupWrapper.jsx
index 9f12b17b..5c1d63fd 100644
--- a/plugins/datasets/src/components/LayersMenu/LayersRadioGroupWrapper.jsx
+++ b/plugins/datasets/src/components/LayersMenu/LayersRadioGroupWrapper.jsx
@@ -20,7 +20,9 @@ export const LayersRadioGroupWrapper = ({ pluginState, menuGroup }) => {