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 9d73be1c13..99c22eeb6e 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 @@ -16,7 +16,8 @@ import { DEFAULT_MAP_PAGE_SIZE, - defaultSettings, FormattedData, + defaultSettings, + FormattedData, hereProviders, MapProviders, providerSets, @@ -34,7 +35,7 @@ import { import { MapWidgetInterface, MapWidgetStaticInterface } from './map-widget.interface'; import { addCondition, addGroupInfo, addToSchema, initSchema, mergeSchemes } from '@core/schema-utils'; import { WidgetContext } from '@app/modules/home/models/widget-component.models'; -import { getDefCenterPosition, parseArray, parseData, parseFunction, parseWithTranslation } from './maps-utils'; +import { getDefCenterPosition, parseData, parseFunction, parseWithTranslation } from './maps-utils'; import { Datasource, DatasourceData, JsonSettingsSchema, WidgetActionDescriptor } from '@shared/models/widget.models'; import { EntityId } from '@shared/models/id/entity-id'; import { AttributeScope, DataKeyType, LatestTelemetry } from '@shared/models/telemetry/telemetry.models'; @@ -65,10 +66,7 @@ export class MapWidgetController implements MapWidgetInterface { if (!$element) { $element = ctx.$container[0]; } - this.settings = this.initSettings(ctx.settings); - if (isEdit) { - this.settings.draggableMarker = true; - } + this.settings = this.initSettings(ctx.settings, isEdit); this.settings.tooltipAction = this.getDescriptors('tooltipAction'); this.settings.markerClick = this.getDescriptors('markerClick'); this.settings.polygonClick = this.getDescriptors('polygonClick'); @@ -241,7 +239,7 @@ export class MapWidgetController implements MapWidgetInterface { } } - initSettings(settings: UnitedMapSettings): UnitedMapSettings { + initSettings(settings: UnitedMapSettings, isEditMap?: boolean): UnitedMapSettings { const functionParams = ['data', 'dsData', 'dsIndex']; this.provider = settings.provider || this.mapProvider; if (this.provider === MapProviders.here && !settings.mapProviderHere) { @@ -269,6 +267,9 @@ export class MapWidgetController implements MapWidgetInterface { size: settings.markerImageSize || 34 } : null } + if (isEditMap && !settings.hasOwnProperty('draggableMarker')) { + settings.draggableMarker = true; + } return { ...defaultSettings, ...settings, ...customOptions, } }