Browse Source

Merge pull request #13226 from vvlladd28/bug/widger-settings/mutation-default-settings

Fix mutation of default widget settings
pull/13228/head
Igor Kulikov 1 year ago
committed by GitHub
parent
commit
221a68c719
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 2
      ui-ngx/src/app/modules/home/components/widget/lib/settings/alarm/alarm-count-widget-settings.component.ts
  2. 2
      ui-ngx/src/app/modules/home/components/widget/lib/settings/button/action-button-widget-settings.component.ts
  3. 2
      ui-ngx/src/app/modules/home/components/widget/lib/settings/button/command-button-widget-settings.component.ts
  4. 2
      ui-ngx/src/app/modules/home/components/widget/lib/settings/button/power-button-widget-settings.component.ts
  5. 2
      ui-ngx/src/app/modules/home/components/widget/lib/settings/button/segmented-button-widget-settings.component.ts
  6. 2
      ui-ngx/src/app/modules/home/components/widget/lib/settings/button/toggle-button-widget-settings.component.ts
  7. 3
      ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/aggregated-value-card-key-settings.component.ts
  8. 2
      ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/aggregated-value-card-widget-settings.component.ts
  9. 2
      ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/label-card-widget-settings.component.ts
  10. 2
      ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/label-value-card-widget-settings.component.ts
  11. 4
      ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/mobile-app-qr-code-widget-settings.component.ts
  12. 2
      ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/progress-bar-widget-settings.component.ts
  13. 2
      ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/unread-notification-widget-settings.component.ts
  14. 2
      ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/value-chart-card-widget-settings.component.ts
  15. 6
      ui-ngx/src/app/modules/home/components/widget/lib/settings/chart/bar-chart-with-labels-widget-settings.component.ts
  16. 10
      ui-ngx/src/app/modules/home/components/widget/lib/settings/chart/latest-chart-widget-settings.component.ts
  17. 9
      ui-ngx/src/app/modules/home/components/widget/lib/settings/chart/range-chart-widget-settings.component.ts
  18. 10
      ui-ngx/src/app/modules/home/components/widget/lib/settings/chart/time-series-chart-key-settings.component.ts
  19. 7
      ui-ngx/src/app/modules/home/components/widget/lib/settings/chart/time-series-chart-widget-settings.component.ts
  20. 2
      ui-ngx/src/app/modules/home/components/widget/lib/settings/control/single-switch-widget-settings.component.ts
  21. 2
      ui-ngx/src/app/modules/home/components/widget/lib/settings/control/slider-widget-settings.component.ts
  22. 2
      ui-ngx/src/app/modules/home/components/widget/lib/settings/control/value-stepper-widget-settings.component.ts
  23. 2
      ui-ngx/src/app/modules/home/components/widget/lib/settings/entity/entity-count-widget-settings.component.ts
  24. 5
      ui-ngx/src/app/modules/home/components/widget/lib/settings/indicator/battery-level-widget-settings.component.ts
  25. 2
      ui-ngx/src/app/modules/home/components/widget/lib/settings/indicator/signal-strength-widget-settings.component.ts
  26. 2
      ui-ngx/src/app/modules/home/components/widget/lib/settings/indicator/status-widget-settings.component.ts
  27. 4
      ui-ngx/src/app/modules/home/components/widget/lib/settings/map/legacy/map-widget-settings-legacy.component.ts
  28. 4
      ui-ngx/src/app/modules/home/components/widget/lib/settings/map/legacy/route-map-widget-settings.component.ts
  29. 4
      ui-ngx/src/app/modules/home/components/widget/lib/settings/map/legacy/trip-animation-widget-settings.component.ts
  30. 6
      ui-ngx/src/app/modules/home/components/widget/lib/settings/map/map-widget-settings.component.ts
  31. 2
      ui-ngx/src/app/modules/home/components/widget/lib/settings/scada/scada-symbol-widget-settings.component.ts
  32. 2
      ui-ngx/src/app/modules/home/components/widget/lib/settings/weather/wind-speed-direction-widget-settings.component.ts
  33. 12
      ui-ngx/src/app/shared/models/widget.models.ts

2
ui-ngx/src/app/modules/home/components/widget/lib/settings/alarm/alarm-count-widget-settings.component.ts

@ -40,7 +40,7 @@ export class AlarmCountWidgetSettingsComponent extends WidgetSettingsComponent {
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return {...countDefaultSettings(true)}; return countDefaultSettings(true);
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

2
ui-ngx/src/app/modules/home/components/widget/lib/settings/button/action-button-widget-settings.component.ts

@ -56,7 +56,7 @@ export class ActionButtonWidgetSettingsComponent extends WidgetSettingsComponent
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return {...actionButtonDefaultSettings}; return actionButtonDefaultSettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

2
ui-ngx/src/app/modules/home/components/widget/lib/settings/button/command-button-widget-settings.component.ts

@ -54,7 +54,7 @@ export class CommandButtonWidgetSettingsComponent extends WidgetSettingsComponen
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return {...commandButtonDefaultSettings}; return commandButtonDefaultSettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

2
ui-ngx/src/app/modules/home/components/widget/lib/settings/button/power-button-widget-settings.component.ts

@ -61,7 +61,7 @@ export class PowerButtonWidgetSettingsComponent extends WidgetSettingsComponent
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return {...powerButtonDefaultSettings}; return powerButtonDefaultSettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

2
ui-ngx/src/app/modules/home/components/widget/lib/settings/button/segmented-button-widget-settings.component.ts

@ -77,7 +77,7 @@ export class SegmentedButtonWidgetSettingsComponent extends WidgetSettingsCompon
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return {...segmentedButtonDefaultSettings}; return segmentedButtonDefaultSettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

2
ui-ngx/src/app/modules/home/components/widget/lib/settings/button/toggle-button-widget-settings.component.ts

@ -55,7 +55,7 @@ export class ToggleButtonWidgetSettingsComponent extends WidgetSettingsComponent
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return {...toggleButtonDefaultSettings}; return toggleButtonDefaultSettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

3
ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/aggregated-value-card-key-settings.component.ts

@ -24,7 +24,6 @@ import {
AggregatedValueCardKeyPosition, AggregatedValueCardKeyPosition,
aggregatedValueCardKeyPositionTranslations aggregatedValueCardKeyPositionTranslations
} from '@home/components/widget/lib/cards/aggregated-value-card.models'; } from '@home/components/widget/lib/cards/aggregated-value-card.models';
import { constantColor } from '@shared/models/widget-settings.models';
@Component({ @Component({
selector: 'tb-aggregated-value-card-key-settings', selector: 'tb-aggregated-value-card-key-settings',
@ -50,7 +49,7 @@ export class AggregatedValueCardKeySettingsComponent extends WidgetSettingsCompo
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return {...aggregatedValueCardDefaultKeySettings}; return aggregatedValueCardDefaultKeySettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

2
ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/aggregated-value-card-widget-settings.component.ts

@ -44,7 +44,7 @@ export class AggregatedValueCardWidgetSettingsComponent extends WidgetSettingsCo
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return {...aggregatedValueCardDefaultSettings}; return aggregatedValueCardDefaultSettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

2
ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/label-card-widget-settings.component.ts

@ -40,7 +40,7 @@ export class LabelCardWidgetSettingsComponent extends WidgetSettingsComponent {
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return {...labelCardWidgetDefaultSettings}; return labelCardWidgetDefaultSettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

2
ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/label-value-card-widget-settings.component.ts

@ -43,7 +43,7 @@ export class LabelValueCardWidgetSettingsComponent extends WidgetSettingsCompone
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return {...labelValueCardWidgetDefaultSettings}; return labelValueCardWidgetDefaultSettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

4
ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/mobile-app-qr-code-widget-settings.component.ts

@ -15,7 +15,7 @@
/// ///
import { Component } from "@angular/core"; import { Component } from "@angular/core";
import { UntypedFormBuilder, UntypedFormGroup, Validators } from "@angular/forms"; import { UntypedFormBuilder, UntypedFormGroup } from "@angular/forms";
import { WidgetSettings, WidgetSettingsComponent } from "@shared/models/widget.models"; import { WidgetSettings, WidgetSettingsComponent } from "@shared/models/widget.models";
import { AppState } from '@core/core.state'; import { AppState } from '@core/core.state';
import { Store } from "@ngrx/store"; import { Store } from "@ngrx/store";
@ -43,7 +43,7 @@ export class MobileAppQrCodeWidgetSettingsComponent extends WidgetSettingsCompon
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return {...mobileAppQrCodeWidgetDefaultSettings}; return mobileAppQrCodeWidgetDefaultSettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

2
ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/progress-bar-widget-settings.component.ts

@ -57,7 +57,7 @@ export class ProgressBarWidgetSettingsComponent extends WidgetSettingsComponent
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return {...progressBarDefaultSettings}; return progressBarDefaultSettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

2
ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/unread-notification-widget-settings.component.ts

@ -42,7 +42,7 @@ export class UnreadNotificationWidgetSettingsComponent extends WidgetSettingsCom
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return {...unreadNotificationDefaultSettings}; return unreadNotificationDefaultSettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

2
ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/value-chart-card-widget-settings.component.ts

@ -54,7 +54,7 @@ export class ValueChartCardWidgetSettingsComponent extends WidgetSettingsCompone
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return {...valueChartCardDefaultSettings}; return valueChartCardDefaultSettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

6
ui-ngx/src/app/modules/home/components/widget/lib/settings/chart/bar-chart-with-labels-widget-settings.component.ts

@ -25,10 +25,10 @@ import {
import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
import { Store } from '@ngrx/store'; import { Store } from '@ngrx/store';
import { AppState } from '@core/core.state'; import { AppState } from '@core/core.state';
import { formatValue, mergeDeep } from '@core/utils'; import { formatValue } from '@core/utils';
import { DateFormatProcessor, DateFormatSettings } from '@shared/models/widget-settings.models'; import { DateFormatProcessor, DateFormatSettings } from '@shared/models/widget-settings.models';
import { import {
barChartWithLabelsDefaultSettings, BarChartWithLabelsWidgetSettings barChartWithLabelsDefaultSettings
} from '@home/components/widget/lib/chart/bar-chart-with-labels-widget.models'; } from '@home/components/widget/lib/chart/bar-chart-with-labels-widget.models';
@Component({ @Component({
@ -68,7 +68,7 @@ export class BarChartWithLabelsWidgetSettingsComponent extends WidgetSettingsCom
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return mergeDeep<BarChartWithLabelsWidgetSettings>({} as BarChartWithLabelsWidgetSettings, barChartWithLabelsDefaultSettings); return barChartWithLabelsDefaultSettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

10
ui-ngx/src/app/modules/home/components/widget/lib/settings/chart/latest-chart-widget-settings.component.ts

@ -29,9 +29,11 @@ import {
} from '@shared/models/widget.models'; } from '@shared/models/widget.models';
import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
import { import {
DoughnutLayout, doughnutLayoutImages, DoughnutLayout,
doughnutLayoutImages,
doughnutLayouts, doughnutLayouts,
doughnutLayoutTranslations, horizontalDoughnutLayoutImages doughnutLayoutTranslations,
horizontalDoughnutLayoutImages
} from '@home/components/widget/lib/chart/doughnut-widget.models'; } from '@home/components/widget/lib/chart/doughnut-widget.models';
import { import {
chartLabelPositions, chartLabelPositions,
@ -44,7 +46,7 @@ import {
pieChartLabelPositionTranslations pieChartLabelPositionTranslations
} from '@home/components/widget/lib/chart/chart.models'; } from '@home/components/widget/lib/chart/chart.models';
import { radarChartShapes, radarChartShapeTranslations } from '@home/components/widget/lib/chart/radar-chart.models'; import { radarChartShapes, radarChartShapeTranslations } from '@home/components/widget/lib/chart/radar-chart.models';
import { formatValue, isDefinedAndNotNull, mergeDeep } from '@core/utils'; import { formatValue, isDefinedAndNotNull } from '@core/utils';
import { Store } from '@ngrx/store'; import { Store } from '@ngrx/store';
import { AppState } from '@core/core.state'; import { AppState } from '@core/core.state';
import { WidgetConfigComponentData } from '@home/models/widget-component.models'; import { WidgetConfigComponentData } from '@home/models/widget-component.models';
@ -116,7 +118,7 @@ export abstract class LatestChartWidgetSettingsComponent<S extends LatestChartWi
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return mergeDeep<S>({} as S, this.defaultLatestChartSettings()); return this.defaultLatestChartSettings();
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

9
ui-ngx/src/app/modules/home/components/widget/lib/settings/chart/range-chart-widget-settings.component.ts

@ -25,11 +25,8 @@ import {
import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
import { Store } from '@ngrx/store'; import { Store } from '@ngrx/store';
import { AppState } from '@core/core.state'; import { AppState } from '@core/core.state';
import { formatValue, mergeDeepIgnoreArray } from '@core/utils'; import { formatValue } from '@core/utils';
import { import { rangeChartDefaultSettings } from '@home/components/widget/lib/chart/range-chart-widget.models';
rangeChartDefaultSettings,
RangeChartWidgetSettings
} from '@home/components/widget/lib/chart/range-chart-widget.models';
import { DateFormatProcessor, DateFormatSettings } from '@shared/models/widget-settings.models'; import { DateFormatProcessor, DateFormatSettings } from '@shared/models/widget-settings.models';
import { import {
lineSeriesStepTypes, lineSeriesStepTypes,
@ -99,7 +96,7 @@ export class RangeChartWidgetSettingsComponent extends WidgetSettingsComponent {
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return mergeDeepIgnoreArray<RangeChartWidgetSettings>({} as RangeChartWidgetSettings, rangeChartDefaultSettings); return rangeChartDefaultSettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

10
ui-ngx/src/app/modules/home/components/widget/lib/settings/chart/time-series-chart-key-settings.component.ts

@ -19,13 +19,16 @@ import { WidgetSettings, WidgetSettingsComponent } from '@shared/models/widget.m
import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
import { Store } from '@ngrx/store'; import { Store } from '@ngrx/store';
import { AppState } from '@core/core.state'; import { AppState } from '@core/core.state';
import { isDefinedAndNotNull, mergeDeep } from '@core/utils'; import { isDefinedAndNotNull } from '@core/utils';
import { import {
timeSeriesChartKeyDefaultSettings, timeSeriesChartKeyDefaultSettings,
TimeSeriesChartKeySettings, TimeSeriesChartKeySettings,
TimeSeriesChartSeriesType, TimeSeriesChartSeriesType,
timeSeriesChartSeriesTypes, timeSeriesChartSeriesTypes,
timeSeriesChartSeriesTypeTranslations, TimeSeriesChartType, timeSeriesChartTypeTranslations, TimeSeriesChartYAxisId timeSeriesChartSeriesTypeTranslations,
TimeSeriesChartType,
timeSeriesChartTypeTranslations,
TimeSeriesChartYAxisId
} from '@home/components/widget/lib/chart/time-series-chart.models'; } from '@home/components/widget/lib/chart/time-series-chart.models';
import { WidgetConfigComponentData } from '@home/models/widget-component.models'; import { WidgetConfigComponentData } from '@home/models/widget-component.models';
import { TimeSeriesChartWidgetSettings } from '@home/components/widget/lib/chart/time-series-chart-widget.models'; import { TimeSeriesChartWidgetSettings } from '@home/components/widget/lib/chart/time-series-chart-widget.models';
@ -79,8 +82,7 @@ export class TimeSeriesChartKeySettingsComponent extends WidgetSettingsComponent
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return mergeDeep<TimeSeriesChartKeySettings>({} as TimeSeriesChartKeySettings, return timeSeriesChartKeyDefaultSettings;
timeSeriesChartKeyDefaultSettings);
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

7
ui-ngx/src/app/modules/home/components/widget/lib/settings/chart/time-series-chart-widget-settings.component.ts

@ -26,11 +26,10 @@ import {
import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
import { Store } from '@ngrx/store'; import { Store } from '@ngrx/store';
import { AppState } from '@core/core.state'; import { AppState } from '@core/core.state';
import { formatValue, isDefinedAndNotNull, mergeDeep } from '@core/utils'; import { formatValue, isDefinedAndNotNull } from '@core/utils';
import { DateFormatProcessor, DateFormatSettings } from '@shared/models/widget-settings.models'; import { DateFormatProcessor, DateFormatSettings } from '@shared/models/widget-settings.models';
import { import {
timeSeriesChartWidgetDefaultSettings, timeSeriesChartWidgetDefaultSettings
TimeSeriesChartWidgetSettings
} from '@home/components/widget/lib/chart/time-series-chart-widget.models'; } from '@home/components/widget/lib/chart/time-series-chart-widget.models';
import { import {
TimeSeriesChartKeySettings, TimeSeriesChartKeySettings,
@ -120,7 +119,7 @@ export class TimeSeriesChartWidgetSettingsComponent extends WidgetSettingsCompon
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return mergeDeep<TimeSeriesChartWidgetSettings>({} as TimeSeriesChartWidgetSettings, timeSeriesChartWidgetDefaultSettings); return timeSeriesChartWidgetDefaultSettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

2
ui-ngx/src/app/modules/home/components/widget/lib/settings/control/single-switch-widget-settings.component.ts

@ -61,7 +61,7 @@ export class SingleSwitchWidgetSettingsComponent extends WidgetSettingsComponent
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return {...singleSwitchDefaultSettings}; return singleSwitchDefaultSettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

2
ui-ngx/src/app/modules/home/components/widget/lib/settings/control/slider-widget-settings.component.ts

@ -67,7 +67,7 @@ export class SliderWidgetSettingsComponent extends WidgetSettingsComponent {
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return {...sliderWidgetDefaultSettings}; return sliderWidgetDefaultSettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

2
ui-ngx/src/app/modules/home/components/widget/lib/settings/control/value-stepper-widget-settings.component.ts

@ -72,7 +72,7 @@ export class ValueStepperWidgetSettingsComponent extends WidgetSettingsComponent
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return {...valueStepperDefaultSettings}; return valueStepperDefaultSettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

2
ui-ngx/src/app/modules/home/components/widget/lib/settings/entity/entity-count-widget-settings.component.ts

@ -40,7 +40,7 @@ export class EntityCountWidgetSettingsComponent extends WidgetSettingsComponent
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return {...countDefaultSettings(false)}; return countDefaultSettings(false);
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

5
ui-ngx/src/app/modules/home/components/widget/lib/settings/indicator/battery-level-widget-settings.component.ts

@ -21,7 +21,8 @@ import { Store } from '@ngrx/store';
import { AppState } from '@core/core.state'; import { AppState } from '@core/core.state';
import { formatValue } from '@core/utils'; import { formatValue } from '@core/utils';
import { import {
batteryLevelDefaultSettings, BatteryLevelLayout, batteryLevelDefaultSettings,
BatteryLevelLayout,
batteryLevelLayoutImages, batteryLevelLayoutImages,
batteryLevelLayouts, batteryLevelLayouts,
batteryLevelLayoutTranslations batteryLevelLayoutTranslations
@ -68,7 +69,7 @@ export class BatteryLevelWidgetSettingsComponent extends WidgetSettingsComponent
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return {...batteryLevelDefaultSettings}; return batteryLevelDefaultSettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

2
ui-ngx/src/app/modules/home/components/widget/lib/settings/indicator/signal-strength-widget-settings.component.ts

@ -57,7 +57,7 @@ export class SignalStrengthWidgetSettingsComponent extends WidgetSettingsCompone
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return {...signalStrengthDefaultSettings}; return signalStrengthDefaultSettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

2
ui-ngx/src/app/modules/home/components/widget/lib/settings/indicator/status-widget-settings.component.ts

@ -64,7 +64,7 @@ export class StatusWidgetSettingsComponent extends WidgetSettingsComponent {
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return {...statusWidgetDefaultSettings}; return statusWidgetDefaultSettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

4
ui-ngx/src/app/modules/home/components/widget/lib/settings/map/legacy/map-widget-settings-legacy.component.ts

@ -40,9 +40,7 @@ export class MapWidgetSettingsLegacyComponent extends WidgetSettingsComponent {
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return { return defaultMapSettings;
...defaultMapSettings
};
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

4
ui-ngx/src/app/modules/home/components/widget/lib/settings/map/legacy/route-map-widget-settings.component.ts

@ -40,9 +40,7 @@ export class RouteMapWidgetSettingsComponent extends WidgetSettingsComponent {
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return { return defaultMapSettings;
...defaultMapSettings
};
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

4
ui-ngx/src/app/modules/home/components/widget/lib/settings/map/legacy/trip-animation-widget-settings.component.ts

@ -57,9 +57,7 @@ export class TripAnimationWidgetSettingsComponent extends WidgetSettingsComponen
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return { return defaultTripAnimationSettings;
...defaultTripAnimationSettings
};
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

6
ui-ngx/src/app/modules/home/components/widget/lib/settings/map/map-widget-settings.component.ts

@ -19,8 +19,8 @@ import { WidgetSettings, WidgetSettingsComponent } from '@shared/models/widget.m
import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
import { Store } from '@ngrx/store'; import { Store } from '@ngrx/store';
import { AppState } from '@core/core.state'; import { AppState } from '@core/core.state';
import { isDefinedAndNotNull, mergeDeepIgnoreArray } from '@core/utils'; import { isDefinedAndNotNull } from '@core/utils';
import { mapWidgetDefaultSettings, MapWidgetSettings } from '@home/components/widget/lib/maps/map-widget.models'; import { mapWidgetDefaultSettings } from '@home/components/widget/lib/maps/map-widget.models';
import { WidgetConfigComponentData } from '@home/models/widget-component.models'; import { WidgetConfigComponentData } from '@home/models/widget-component.models';
@Component({ @Component({
@ -53,7 +53,7 @@ export class MapWidgetSettingsComponent extends WidgetSettingsComponent {
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return mergeDeepIgnoreArray<MapWidgetSettings>({} as MapWidgetSettings, mapWidgetDefaultSettings); return mapWidgetDefaultSettings;
} }
protected prepareInputSettings(settings: WidgetSettings): WidgetSettings { protected prepareInputSettings(settings: WidgetSettings): WidgetSettings {

2
ui-ngx/src/app/modules/home/components/widget/lib/settings/scada/scada-symbol-widget-settings.component.ts

@ -48,7 +48,7 @@ export class ScadaSymbolWidgetSettingsComponent extends WidgetSettingsComponent
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return {...scadaSymbolWidgetDefaultSettings}; return scadaSymbolWidgetDefaultSettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

2
ui-ngx/src/app/modules/home/components/widget/lib/settings/weather/wind-speed-direction-widget-settings.component.ts

@ -70,7 +70,7 @@ export class WindSpeedDirectionWidgetSettingsComponent extends WidgetSettingsCom
} }
protected defaultSettings(): WidgetSettings { protected defaultSettings(): WidgetSettings {
return {...windSpeedDirectionDefaultSettings}; return windSpeedDirectionDefaultSettings;
} }
protected onSettingsSet(settings: WidgetSettings) { protected onSettingsSet(settings: WidgetSettings) {

12
ui-ngx/src/app/shared/models/widget.models.ts

@ -37,17 +37,19 @@ import { AbstractControl, UntypedFormGroup } from '@angular/forms';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { Dashboard } from '@shared/models/dashboard.models'; import { Dashboard } from '@shared/models/dashboard.models';
import { IAliasController } from '@core/api/widget-api.models'; import { IAliasController } from '@core/api/widget-api.models';
import { isNotEmptyStr, mergeDeepIgnoreArray } from '@core/utils'; import { isNotEmptyStr, mergeDeep, mergeDeepIgnoreArray } from '@core/utils';
import { WidgetConfigComponentData } from '@home/models/widget-component.models'; import { WidgetConfigComponentData } from '@home/models/widget-component.models';
import { ComponentStyle, Font, TimewindowStyle } from '@shared/models/widget-settings.models'; import { ComponentStyle, Font, TimewindowStyle } from '@shared/models/widget-settings.models';
import { NULL_UUID } from '@shared/models/id/has-uuid'; import { NULL_UUID } from '@shared/models/id/has-uuid';
import { EntityInfoData, HasTenantId, HasVersion } from '@shared/models/entity.models'; import { EntityInfoData, HasTenantId, HasVersion } from '@shared/models/entity.models';
import { DataKeysCallbacks, DataKeySettingsFunction } from '@home/components/widget/lib/settings/common/key/data-keys.component.models'; import {
DataKeysCallbacks,
DataKeySettingsFunction
} from '@home/components/widget/lib/settings/common/key/data-keys.component.models';
import { WidgetConfigCallbacks } from '@home/components/widget/config/widget-config.component.models'; import { WidgetConfigCallbacks } from '@home/components/widget/config/widget-config.component.models';
import { TbFunction } from '@shared/models/js-function.models'; import { TbFunction } from '@shared/models/js-function.models';
import { FormProperty, jsonFormSchemaToFormProperties } from '@shared/models/dynamic-form.models'; import { FormProperty, jsonFormSchemaToFormProperties } from '@shared/models/dynamic-form.models';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { Device } from '@shared/models/device.models';
export enum widgetType { export enum widgetType {
timeseries = 'timeseries', timeseries = 'timeseries',
@ -1000,9 +1002,9 @@ export abstract class WidgetSettingsComponent extends PageComponent implements
set settings(value: WidgetSettings) { set settings(value: WidgetSettings) {
if (!value) { if (!value) {
this.settingsValue = this.defaultSettings(); this.settingsValue = mergeDeep({}, this.defaultSettings());
} else { } else {
this.settingsValue = mergeDeepIgnoreArray(this.defaultSettings(), value); this.settingsValue = mergeDeepIgnoreArray({}, this.defaultSettings(), value);
} }
if (!this.settingsSet) { if (!this.settingsSet) {
this.settingsSet = true; this.settingsSet = true;

Loading…
Cancel
Save