From 445c6a571496ce936bffcb542d2f67b9580215da Mon Sep 17 00:00:00 2001 From: Artemiy Date: Tue, 2 Jun 2020 15:35:56 +0800 Subject: [PATCH] fix(vuetify): correction for set empty BasemapSelect text --- .../src/layer-adapters/TileAdapter.ts | 3 ++- .../BasemapSelect.ts} | 12 +++++++----- .../vuetify-ngw-components/src/components/index.ts | 13 ++++++++----- 3 files changed, 17 insertions(+), 11 deletions(-) rename packages/vuetify-ngw-components/src/components/{BaseLayersSelect/BaseLayersSelect.ts => BasemapSelect/BasemapSelect.ts} (93%) diff --git a/packages/cesium-map-adapter/src/layer-adapters/TileAdapter.ts b/packages/cesium-map-adapter/src/layer-adapters/TileAdapter.ts index c5fdbde6d..931651c11 100644 --- a/packages/cesium-map-adapter/src/layer-adapters/TileAdapter.ts +++ b/packages/cesium-map-adapter/src/layer-adapters/TileAdapter.ts @@ -30,7 +30,8 @@ export class TileAdapter extends BaseAdapter { showLayer(layer: ImageryLayer) { layer.show = true; - this.map.imageryLayers.add(layer, this.options.order); + const order = this.options.order ? this.options.order * 1000 : undefined; + this.map.imageryLayers.add(layer, order); super.showLayer(); } diff --git a/packages/vuetify-ngw-components/src/components/BaseLayersSelect/BaseLayersSelect.ts b/packages/vuetify-ngw-components/src/components/BasemapSelect/BasemapSelect.ts similarity index 93% rename from packages/vuetify-ngw-components/src/components/BaseLayersSelect/BaseLayersSelect.ts rename to packages/vuetify-ngw-components/src/components/BasemapSelect/BasemapSelect.ts index 5398934a0..fe32d088d 100644 --- a/packages/vuetify-ngw-components/src/components/BaseLayersSelect/BaseLayersSelect.ts +++ b/packages/vuetify-ngw-components/src/components/BasemapSelect/BasemapSelect.ts @@ -16,15 +16,17 @@ export interface VueSelectItem { text: string; } +const emptyValue = '___empty_value___'; + @Component -export class BaseLayersSelect extends Vue { +export class BasemapSelect extends Vue { @Prop({ type: WebMap }) webMap!: WebMap; @Prop({ type: Boolean, default: true }) allowEmpty!: boolean; @Prop({ type: String, default: '---' }) emptyLayerText!: string; items: VueSelectItem[] = []; - active: string | false = false; + active: string | false = emptyValue; protected __updateItems?: () => Promise; protected _layers: Array = []; @@ -120,7 +122,7 @@ export class BaseLayersSelect extends Vue { if (this.allowEmpty) { items.push({ text: this.emptyLayerText, - value: undefined, + value: emptyValue, }); } @@ -132,8 +134,8 @@ export class BaseLayersSelect extends Vue { value: baseLayer.id || '', text: baseLayer.options.name || baseLayer.id || '', }); - if (this.webMap.isLayerVisible(baseLayer)) { - this.active = baseLayer.id || false; + if (baseLayer.id && this.webMap.isLayerVisible(baseLayer)) { + this.active = baseLayer.id; } } }); diff --git a/packages/vuetify-ngw-components/src/components/index.ts b/packages/vuetify-ngw-components/src/components/index.ts index f44a85ad9..38371173f 100644 --- a/packages/vuetify-ngw-components/src/components/index.ts +++ b/packages/vuetify-ngw-components/src/components/index.ts @@ -2,9 +2,12 @@ * @module vuetify-ngw-components */ import { NgwLayersList, VueTreeItem } from './NgwLayersList/NgwLayersList'; -import { - BaseLayersSelect, - VueSelectItem, -} from './BaseLayersSelect/BaseLayersSelect'; +import { BasemapSelect, VueSelectItem } from './BasemapSelect/BasemapSelect'; -export { NgwLayersList, VueTreeItem, BaseLayersSelect, VueSelectItem }; +export { + NgwLayersList, + VueTreeItem, + BasemapSelect, + BasemapSelect as BaseLayersSelect, + VueSelectItem, +};