diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/maps/map-widget2.ts b/ui-ngx/src/app/modules/home/components/widget/lib/maps/map-widget2.ts index 9e978b39a1..f27a094979 100644 --- a/ui-ngx/src/app/modules/home/components/widget/lib/maps/map-widget2.ts +++ b/ui-ngx/src/app/modules/home/components/widget/lib/maps/map-widget2.ts @@ -17,12 +17,12 @@ import { defaultSettings, hereProviders, MapProviders, providerSets, UnitedMapSettings } from './map-models'; import LeafletMap from './leaflet-map'; import { - commonMapSettingsSchema, - mapPolygonSchema, - mapProviderSchema, - markerClusteringSettingsSchema, - markerClusteringSettingsSchemaLeaflet, - routeMapSettingsSchema + commonMapSettingsSchema, + mapPolygonSchema, + mapProviderSchema, + markerClusteringSettingsSchema, + markerClusteringSettingsSchemaLeaflet, + routeMapSettingsSchema } from './schemes'; import { MapWidgetInterface, MapWidgetStaticInterface } from './map-widget.interface'; import { addCondition, addGroupInfo, addToSchema, initSchema, mergeSchemes } from '@core/schema-utils'; @@ -30,17 +30,18 @@ import { of, Subject } from 'rxjs'; import { WidgetContext } from '@app/modules/home/models/widget-component.models'; import { getDefCenterPosition, parseArray, parseData, parseFunction, parseWithTranslation } from './maps-utils'; import { - Datasource, - DatasourceType, - JsonSettingsSchema, - WidgetActionDescriptor, - widgetType + Datasource, + DatasourceType, + JsonSettingsSchema, + WidgetActionDescriptor, + widgetType } from '@shared/models/widget.models'; import { EntityId } from '@shared/models/id/entity-id'; import { AttributeScope, DataKeyType, LatestTelemetry } from '@shared/models/telemetry/telemetry.models'; import { AttributeService } from '@core/http/attribute.service'; import { TranslateService } from '@ngx-translate/core'; import { UtilsService } from '@core/services/utils.service'; +import _ from 'lodash'; // @dynamic export class MapWidgetController implements MapWidgetInterface { @@ -90,9 +91,9 @@ export class MapWidgetController implements MapWidgetInterface { } public static getProvidersSchema(mapProvider: MapProviders, ignoreImageMap = false) { + const providerSchema = _.cloneDeep(mapProviderSchema); if (mapProvider) - mapProviderSchema.schema.properties.provider.default = mapProvider; - const providerSchema = mapProviderSchema; + providerSchema.schema.properties.provider.default = mapProvider; if (ignoreImageMap) { providerSchema.form[0].items = providerSchema.form[0]?.items.filter(item => item.value !== 'image-map'); }