diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/settings/common/map/map-data-layers.component.html b/ui-ngx/src/app/modules/home/components/widget/lib/settings/common/map/map-data-layers.component.html
index 46a9235970..3c6622d142 100644
--- a/ui-ngx/src/app/modules/home/components/widget/lib/settings/common/map/map-data-layers.component.html
+++ b/ui-ngx/src/app/modules/home/components/widget/lib/settings/common/map/map-data-layers.component.html
@@ -29,8 +29,13 @@
-
-
diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/settings/common/map/map-data-layers.component.ts b/ui-ngx/src/app/modules/home/components/widget/lib/settings/common/map/map-data-layers.component.ts
index 747ef21681..6ddc984fc4 100644
--- a/ui-ngx/src/app/modules/home/components/widget/lib/settings/common/map/map-data-layers.component.ts
+++ b/ui-ngx/src/app/modules/home/components/widget/lib/settings/common/map/map-data-layers.component.ts
@@ -38,6 +38,7 @@ import {
} from '@shared/models/widget/maps/map.models';
import { MapSettingsComponent } from '@home/components/widget/lib/settings/common/map/map-settings.component';
import { MapSettingsContext } from '@home/components/widget/lib/settings/common/map/map-settings.component.models';
+import { CdkDragDrop } from '@angular/cdk/drag-drop';
@Component({
selector: 'tb-map-data-layers',
@@ -79,6 +80,10 @@ export class MapDataLayersComponent implements ControlValueAccessor, OnInit, Val
noDataLayersText: string;
+ get dragEnabled(): boolean {
+ return this.dataLayersFormArray().controls.length > 1;
+ }
+
private propagateChange = (_val: any) => {};
constructor(private mapSettingsComponent: MapSettingsComponent,
@@ -162,6 +167,13 @@ export class MapDataLayersComponent implements ControlValueAccessor, OnInit, Val
removeDataLayer(index: number) {
(this.dataLayersFormGroup.get('dataLayers') as UntypedFormArray).removeAt(index);
}
+
+ layerDrop(event: CdkDragDrop
) {
+ const layersArray = this.dataLayersFormArray();
+ const layer = layersArray.at(event.previousIndex);
+ layersArray.removeAt(event.previousIndex);
+ layersArray.insert(event.currentIndex, layer);
+ }
addDataLayer() {
const dataLayer = mergeDeep({} as MapDataLayerSettings,