@c8y/ngx-components 1023.85.1 → 1023.88.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/alarm-event-selector/index.d.ts +6 -0
  2. package/alarm-event-selector/index.d.ts.map +1 -1
  3. package/context-dashboard/index.d.ts +11 -1
  4. package/context-dashboard/index.d.ts.map +1 -1
  5. package/data-preparation/index.d.ts +10 -0
  6. package/data-preparation/index.d.ts.map +1 -0
  7. package/datapoint-selector/index.d.ts +2 -1
  8. package/datapoint-selector/index.d.ts.map +1 -1
  9. package/echart/index.d.ts +1 -0
  10. package/echart/index.d.ts.map +1 -1
  11. package/echart/models/index.d.ts +1 -0
  12. package/echart/models/index.d.ts.map +1 -1
  13. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +90 -21
  14. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs.map +1 -1
  15. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +10 -10
  16. package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  17. package/fesm2022/c8y-ngx-components-data-preparation.mjs +63 -0
  18. package/fesm2022/c8y-ngx-components-data-preparation.mjs.map +1 -0
  19. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +14 -12
  20. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
  21. package/fesm2022/c8y-ngx-components-echart-models.mjs.map +1 -1
  22. package/fesm2022/c8y-ngx-components-echart.mjs +102 -44
  23. package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
  24. package/fesm2022/c8y-ngx-components-global-context.mjs +2 -2
  25. package/fesm2022/c8y-ngx-components-global-context.mjs.map +1 -1
  26. package/fesm2022/c8y-ngx-components-icon-selector.mjs +2 -2
  27. package/fesm2022/c8y-ngx-components-icon-selector.mjs.map +1 -1
  28. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs +1 -1
  29. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs.map +1 -1
  30. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-graph.mjs +6 -6
  31. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-graph.mjs.map +1 -1
  32. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-list.mjs +3 -3
  33. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-list.mjs.map +1 -1
  34. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs +1 -1
  35. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs.map +1 -1
  36. package/fesm2022/c8y-ngx-components-widgets-definitions-event-list.mjs +2 -2
  37. package/fesm2022/c8y-ngx-components-widgets-definitions-event-list.mjs.map +1 -1
  38. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs +1 -1
  39. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs.map +1 -1
  40. package/fesm2022/c8y-ngx-components-widgets-definitions-info-gauge.mjs +30 -6
  41. package/fesm2022/c8y-ngx-components-widgets-definitions-info-gauge.mjs.map +1 -1
  42. package/fesm2022/c8y-ngx-components-widgets-definitions-kpi.mjs +4 -4
  43. package/fesm2022/c8y-ngx-components-widgets-definitions-kpi.mjs.map +1 -1
  44. package/fesm2022/c8y-ngx-components-widgets-definitions-linear-gauge.mjs +3 -3
  45. package/fesm2022/c8y-ngx-components-widgets-definitions-linear-gauge.mjs.map +1 -1
  46. package/fesm2022/c8y-ngx-components-widgets-definitions-map.mjs +2 -2
  47. package/fesm2022/c8y-ngx-components-widgets-definitions-map.mjs.map +1 -1
  48. package/fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs +1 -1
  49. package/fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs.map +1 -1
  50. package/fesm2022/c8y-ngx-components-widgets-definitions-pie-chart.mjs +3 -3
  51. package/fesm2022/c8y-ngx-components-widgets-definitions-pie-chart.mjs.map +1 -1
  52. package/fesm2022/c8y-ngx-components-widgets-definitions-radial-gauge.mjs +3 -3
  53. package/fesm2022/c8y-ngx-components-widgets-definitions-radial-gauge.mjs.map +1 -1
  54. package/fesm2022/c8y-ngx-components-widgets-definitions-silo.mjs +3 -3
  55. package/fesm2022/c8y-ngx-components-widgets-definitions-silo.mjs.map +1 -1
  56. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +2 -2
  57. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
  58. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +2 -2
  59. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs.map +1 -1
  60. package/fesm2022/c8y-ngx-components-widgets-implementations-events.mjs +2 -2
  61. package/fesm2022/c8y-ngx-components-widgets-implementations-events.mjs.map +1 -1
  62. package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs +3 -3
  63. package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs.map +1 -1
  64. package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs +2 -2
  65. package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs.map +1 -1
  66. package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs +2 -2
  67. package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs.map +1 -1
  68. package/fesm2022/c8y-ngx-components-widgets-implementations-markdown.mjs +2 -2
  69. package/fesm2022/c8y-ngx-components-widgets-implementations-markdown.mjs.map +1 -1
  70. package/fesm2022/c8y-ngx-components-widgets-implementations-pie-chart.mjs +10 -9
  71. package/fesm2022/c8y-ngx-components-widgets-implementations-pie-chart.mjs.map +1 -1
  72. package/fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs +2 -2
  73. package/fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs.map +1 -1
  74. package/fesm2022/c8y-ngx-components.mjs +32 -10
  75. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  76. package/index.d.ts +1 -0
  77. package/index.d.ts.map +1 -1
  78. package/locales/locales.pot +33 -0
  79. package/package.json +1 -1
  80. package/widgets/definitions/info-gauge/index.d.ts.map +1 -1
  81. package/widgets/implementations/pie-chart/index.d.ts.map +1 -1
@@ -378,8 +378,11 @@ declare class WidgetEventSelectorComponent implements OnInit {
378
378
  */
379
379
  configStoreMode: ConfigStoreMode;
380
380
  events: EventDetails[];
381
+ readonly eventsSignal: i0.WritableSignal<EventDetails[]>;
382
+ readonly eventsCount: i0.Signal<number>;
381
383
  readonly widgetConfigService: WidgetConfigService;
382
384
  readonly timelineType: TimelineType;
385
+ readonly noneSelectedText: "None selected`event`";
383
386
  ngOnInit(): void;
384
387
  onEventsChange(events: EventDetails[]): void;
385
388
  private getEvents;
@@ -402,8 +405,11 @@ declare class WidgetAlarmSelectorComponent implements OnInit {
402
405
  */
403
406
  configStoreMode: ConfigStoreMode;
404
407
  alarms: AlarmDetails[];
408
+ readonly alarmsSignal: i0.WritableSignal<AlarmDetails[]>;
409
+ readonly alarmsCount: i0.Signal<number>;
405
410
  readonly widgetConfigService: WidgetConfigService;
406
411
  readonly timelineType: TimelineType;
412
+ readonly noneSelectedText: "None selected`alarm`";
407
413
  ngOnInit(): void;
408
414
  onAlarmsChange(alarms: AlarmDetails[]): void;
409
415
  private getAlarms;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../alarm-event-selector/alarm-event-selector.model.ts","../../alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.service.ts","../../alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.model.ts","../../alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.component.ts","../../alarm-event-selector/alarm-event-selector-modal/alarm-event-selector-modal.component.ts","../../alarm-event-selector/alarm-event-selector-modal/alarm-event-selector-modal.model.ts","../../alarm-event-selector/alarm-event-selector-modal/alarm-event-selector-modal.service.ts","../../alarm-event-selector/alarm-event-selector.service.ts","../../alarm-event-selector/alarm-event-selection-list/alarm-event-selection-list.component.ts","../../alarm-event-selector/alarm-event-selector-list-item/alarm-event-selector-list-item.component.ts","../../alarm-event-selector/alarm-event-selector.component.ts","../../alarm-event-selector/pipes/includes-alarm.pipe.ts","../../alarm-event-selector/custom-alarm-event-form/custom-alarm-event-form.component.ts","../../alarm-event-selector/alarm-event-selector.module.ts","../../alarm-event-selector/widget-event-selector.component.ts","../../alarm-event-selector/widget-alarm-selector.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAKA;;;;;AAKE;;;;;AAMI;;AAEJ;;;;;AAMI;;AAEJ;;;;;AAMI;;;;;;AAQA;;;;;;;;;;;;;;;;;AAkBN;AAsBA;AAsBA;;AAEG;AACG;;;;;;ACrGN;;;;AAaC;;;;ACZG;AACD;AACD;AACA;AACA;AACD;;ACyBD;AAoCI;AACA;;;;;;AAJF;AAGU;;AAwBV;AAIA;AAIA;AAIA;AAIA;;AAiBA;AAIA;;;AAKD;;AClID;AAwBc;;;AAhBZ;AACA;AACA;;AAEA;AACA;;;;;;AAWoB;AAEpB;;AAUA;;;AAGD;;AC5CK;;ACIN;;AAEG;AACH;AAEc;AAAQ;AACpB;;;;AAIG;AACH;;;AAUD;;ACbD;AAQI;AACA;AACA;;;AAGF;;;;AAIG;AACH;AAIA;;;;AAIG;;AAWH;;;;;AAKG;AACG;;;AAuBA;AACA;;;;;AA2CP;;ACrED;AA0FI;AACA;AACA;AACY;AACA;AACA;AA9Dd;;;AAGG;;AAGH;;AAEG;AACM;AAET;;AAEG;AACM;AAEA;;AAGT;;;AAGG;;AAGH;;AAEG;AACM;AAET;;;AAGG;AACM;AAET;;AAEG;AACM;;AAGA;;AAGT;;AAEG;AACM;;;AAIT;;;AAeA;AAYA;AAKA;AAIA;AAIA;AAIA;AAWA;;;AA2CA;AAMA;AAOA;;;AAUD;;AC3ND;AA2Dc;;AAnBH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAIC;AACA;;AAGV;;AAGoB;;;;AA0BpB;AAIA;AAIA;AASA;AAIA;;;AAiBA;;;AAKD;;ACrID;AAwDc;;;AAxBH;AACA;AACA;AACA;AACA;;AAGC;AACV;AACA;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAMoB;AAEpB;AAQA;AAMA;AAUA;;AAYA;AAKA;AAIA;AAoCA;AAKA;AAIA;;;AAaD;;ACnMD;AAEE;;;AAWD;;ACFD;AA4Bc;;;;;;AAPF;AACA;;AAGV;;AAGoB;;;;AAmCpB;;;AAKD;;AClED;;;;AAoBwC;;ACxBxC;AAmBE;;;AAGG;AACM;AAET;;;;AAIG;;;;AAMH;AAEA;AAIA;AAIA;AAMA;AAeA;;;AAOD;;ACzED;AAmBE;;;AAGG;AACM;AAET;;;;AAIG;;;;AAMH;AAEA;AAIA;AAIA;AAMA;AAeA;;;AAOD;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../alarm-event-selector/alarm-event-selector.model.ts","../../alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.service.ts","../../alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.model.ts","../../alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.component.ts","../../alarm-event-selector/alarm-event-selector-modal/alarm-event-selector-modal.component.ts","../../alarm-event-selector/alarm-event-selector-modal/alarm-event-selector-modal.model.ts","../../alarm-event-selector/alarm-event-selector-modal/alarm-event-selector-modal.service.ts","../../alarm-event-selector/alarm-event-selector.service.ts","../../alarm-event-selector/alarm-event-selection-list/alarm-event-selection-list.component.ts","../../alarm-event-selector/alarm-event-selector-list-item/alarm-event-selector-list-item.component.ts","../../alarm-event-selector/alarm-event-selector.component.ts","../../alarm-event-selector/pipes/includes-alarm.pipe.ts","../../alarm-event-selector/custom-alarm-event-form/custom-alarm-event-form.component.ts","../../alarm-event-selector/alarm-event-selector.module.ts","../../alarm-event-selector/widget-event-selector.component.ts","../../alarm-event-selector/widget-alarm-selector.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAKA;;;;;AAKE;;;;;AAMI;;AAEJ;;;;;AAMI;;AAEJ;;;;;AAMI;;;;;;AAQA;;;;;;;;;;;;;;;;;AAkBN;AAsBA;AAsBA;;AAEG;AACG;;;;;;ACrGN;;;;AAaC;;;;ACZG;AACD;AACD;AACA;AACA;AACD;;ACyBD;AAoCI;AACA;;;;;;AAJF;AAGU;;AAwBV;AAIA;AAIA;AAIA;AAIA;;AAiBA;AAIA;;;AAKD;;AClID;AAwBc;;;AAhBZ;AACA;AACA;;AAEA;AACA;;;;;;AAWoB;AAEpB;;AAUA;;;AAGD;;AC5CK;;ACIN;;AAEG;AACH;AAEc;AAAQ;AACpB;;;;AAIG;AACH;;;AAUD;;ACbD;AAQI;AACA;AACA;;;AAGF;;;;AAIG;AACH;AAIA;;;;AAIG;;AAWH;;;;;AAKG;AACG;;;AAuBA;AACA;;;;;AA2CP;;ACrED;AA0FI;AACA;AACA;AACY;AACA;AACA;AA9Dd;;;AAGG;;AAGH;;AAEG;AACM;AAET;;AAEG;AACM;AAEA;;AAGT;;;AAGG;;AAGH;;AAEG;AACM;AAET;;;AAGG;AACM;AAET;;AAEG;AACM;;AAGA;;AAGT;;AAEG;AACM;;;AAIT;;;AAeA;AAYA;AAKA;AAIA;AAIA;AAIA;AAWA;;;AA2CA;AAMA;AAOA;;;AAUD;;AC5ND;AAuDc;;AAnBH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAIC;AACA;;AAGV;;AAGoB;;;;AA0BpB;AAIA;AAIA;AAUA;AAIA;;;AAkBA;;;AAKD;;AClID;AAwDc;;;AAxBH;AACA;AACA;AACA;AACA;;AAGC;AACV;AACA;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAMoB;AAEpB;AAQA;AAMA;AAUA;;AAYA;AAKA;AAIA;AAoCA;AAKA;AAIA;;;AAaD;;ACnMD;AAEE;;;AAWD;;ACFD;AA4Bc;;;;;;AAPF;AACA;;AAGV;;AAGoB;;;;AAmCpB;;;AAKD;;AClED;;;;AAoBwC;;ACnBxC;AAqCE;;;AAGG;AACM;AAET;;;;AAIG;;;;;;AAQH;;AAGA;AAKA;AAKA;AAMA;AAeA;;;AAOD;;AChGD;AAqCE;;;AAGG;AACM;AAET;;;;AAIG;;;;;;AAQH;;AAGA;AAKA;AAKA;AAMA;AAeA;;;AAOD;;;"}
@@ -1236,7 +1236,17 @@ interface WidgetConfigSectionBase<T> {
1236
1236
  */
1237
1237
  label: string;
1238
1238
  /**
1239
- * The priority. Default settings from hookWidget will have priority 0.
1239
+ * The priority of this section. Higher values appear first (sorted descending).
1240
+ * Default settings from `hookWidget` (legacy `loadConfigComponent`) have priority 0.
1241
+ *
1242
+ * Standard priority scheme for consistent section ordering:
1243
+ * - **100** — Asset selection
1244
+ * - **90** — Time context
1245
+ * - **80** — Data point selection
1246
+ * - **70** — Alarm selection
1247
+ * - **60** — Event selection
1248
+ * - **50** — Asset properties
1249
+ * - **0** — Settings (legacy config component, always last)
1240
1250
  */
1241
1251
  priority?: number;
1242
1252
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../context-dashboard/add-dashboard.component.ts","../../context-dashboard/add-dashboard.factory.ts","../../context-dashboard/context-dashboard.model.ts","../../context-dashboard/context-dashboard.service.ts","../../context-dashboard/dashboard-detail.service.ts","../../context-dashboard/dashboard-detail.component.ts","../../context-dashboard/memento/dashboard-originator.service.ts","../../context-dashboard/memento/dashboard-caretaker.service.ts","../../context-dashboard/memento/dashboard-edit-mode.service.ts","../../context-dashboard/widget.service.ts","../../context-dashboard/context-dashboard.component.ts","../../context-dashboard/widget-config/appearance-settings.component.ts","../../context-dashboard/type-dashboard-info/type-dashboard-info.component.ts","../../context-dashboard/widget-config/asset-property-mappings.model.ts","../../context-dashboard/widget-config.model.ts","../../context-dashboard/widget-config-hook/widget-config-hook.model.ts","../../context-dashboard/widget-config-hook/widget-config-hook.service.ts","../../context-dashboard/widget-config.service.ts","../../context-dashboard/widget-config/widget-config-root.component.ts","../../context-dashboard/widget-config.component.ts","../../context-dashboard/widget-config/widget-preview.component.ts","../../context-dashboard/widget-config/widget-config-section.component.ts","../../context-dashboard/widget-config/widget-preview-wrapper.component.ts","../../context-dashboard/paste-dashboard-action.component.ts","../../context-dashboard/context-dashboard.module.ts","../../context-dashboard/dashboard-action-bar.factory.ts","../../context-dashboard/device-info-dashboard/device-info-dashboard.component.ts","../../context-dashboard/device-info-dashboard/device-info-dashboard.module.ts","../../context-dashboard/device-management-home-dashboard/device-management-home-dashboard.component.ts","../../context-dashboard/device-management-home-dashboard/device-management-home-dashboard.module.ts","../../context-dashboard/widget-config/widget-config-appearance.component.ts","../../context-dashboard/widget-config/widget-config-general.component.ts","../../context-dashboard/widget-config/widget-asset-selector.component.ts","../../context-dashboard/new-dashboard.guard.ts","../../context-dashboard/widget-config/global-context-section.component.ts","../../context-dashboard/widget-config/widget-config-feedback.component.ts","../../context-dashboard/widget-config/asset-property-mappings.service.ts","../../context-dashboard/widget-config/asset-property-mappings.component.ts","../../context-dashboard/widget-config/asset-property-mappings.utils.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../context-dashboard/add-dashboard.component.ts","../../context-dashboard/add-dashboard.factory.ts","../../context-dashboard/context-dashboard.model.ts","../../context-dashboard/context-dashboard.service.ts","../../context-dashboard/dashboard-detail.service.ts","../../context-dashboard/dashboard-detail.component.ts","../../context-dashboard/memento/dashboard-originator.service.ts","../../context-dashboard/memento/dashboard-caretaker.service.ts","../../context-dashboard/memento/dashboard-edit-mode.service.ts","../../context-dashboard/widget.service.ts","../../context-dashboard/context-dashboard.component.ts","../../context-dashboard/widget-config/appearance-settings.component.ts","../../context-dashboard/type-dashboard-info/type-dashboard-info.component.ts","../../context-dashboard/widget-config/asset-property-mappings.model.ts","../../context-dashboard/widget-config.model.ts","../../context-dashboard/widget-config-hook/widget-config-hook.model.ts","../../context-dashboard/widget-config-hook/widget-config-hook.service.ts","../../context-dashboard/widget-config.service.ts","../../context-dashboard/widget-config/widget-config-root.component.ts","../../context-dashboard/widget-config.component.ts","../../context-dashboard/widget-config/widget-preview.component.ts","../../context-dashboard/widget-config/widget-config-section.component.ts","../../context-dashboard/widget-config/widget-preview-wrapper.component.ts","../../context-dashboard/paste-dashboard-action.component.ts","../../context-dashboard/context-dashboard.module.ts","../../context-dashboard/dashboard-action-bar.factory.ts","../../context-dashboard/device-info-dashboard/device-info-dashboard.component.ts","../../context-dashboard/device-info-dashboard/device-info-dashboard.module.ts","../../context-dashboard/device-management-home-dashboard/device-management-home-dashboard.component.ts","../../context-dashboard/device-management-home-dashboard/device-management-home-dashboard.module.ts","../../context-dashboard/widget-config/widget-config-appearance.component.ts","../../context-dashboard/widget-config/widget-config-general.component.ts","../../context-dashboard/widget-config/widget-asset-selector.component.ts","../../context-dashboard/new-dashboard.guard.ts","../../context-dashboard/widget-config/global-context-section.component.ts","../../context-dashboard/widget-config/widget-config-feedback.component.ts","../../context-dashboard/widget-config/asset-property-mappings.service.ts","../../context-dashboard/widget-config/asset-property-mappings.component.ts","../../context-dashboard/widget-config/asset-property-mappings.utils.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import * as i0 from '@angular/core';
2
+
3
+ declare class DataPrepPreviewModule {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<DataPrepPreviewModule, never>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DataPrepPreviewModule, never, never, never>;
6
+ static ɵinj: i0.ɵɵInjectorDeclaration<DataPrepPreviewModule>;
7
+ }
8
+
9
+ export { DataPrepPreviewModule };
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sources":["../../data-preparation/data-prep.module.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA,cAAA,qBAAA;;;;AAGqC;;;;"}
@@ -529,8 +529,9 @@ declare class WidgetDatapointsSelectorComponent implements OnInit {
529
529
  * Defaults to `false`.
530
530
  */
531
531
  useAdvancedChartOptions: boolean;
532
- datapoints: KPIDetails[];
533
532
  differentUnits: boolean;
533
+ readonly datapoints: i0.WritableSignal<KPIDetails[]>;
534
+ readonly activeDatapointsCount: i0.Signal<number>;
534
535
  differentUnitsMessageError: "Selected data points have different units.";
535
536
  readonly widgetConfigService: WidgetConfigService;
536
537
  private readonly widgetComponent;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../datapoint-selector/datapoint-attributes-form/datapoint-attributes.model.ts","../../datapoint-selector/datapoint-selection.model.ts","../../datapoint-selector/datapoint-library.service.ts","../../datapoint-selector/datapoint-selector.component.ts","../../datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.component.ts","../../datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.ts","../../datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.model.ts","../../datapoint-selector/datapoint-selector.service.ts","../../datapoint-selector/datapoint-selection-list/datapoint-selection-list.component.ts","../../datapoint-selector/datapoint-template-popover/datapoint-template-popover.component.ts","../../datapoint-selector/pipes/includes-datapoint.pipe.ts","../../datapoint-selector/pipes/datapoint-label.pipe.ts","../../datapoint-selector/pipes/filter-datapoints.pipe.ts","../../datapoint-selector/datapoint-attributes-form/datapoint-attributes-form-validation.service.ts","../../datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.ts","../../datapoint-selector/datapoint-selector.module.ts","../../datapoint-selector/widget-datapoints-selector.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAEA;;;;;;;;;;AAMM;AAEN;;;;;;;;;;;;;;;;;;;AASM;AAEN;;;;;;;;;;;;;;;;;;;AASM;;ACrBN;;;;AAKE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAEK;AACJ;AACD;;;AAIC;;AAED;;;;;;;;;;;;AAaA;AAEK;;ACzCN;AAII;AACA;AACA;AACA;;AAHQ;;AAoBJ;AAUA;AAQA;AA4CA;AAwBN;;;;AAIG;AACG;AA+BU;;;;;AA4CA;AAsBhB;;;AA0BgB;;;AAqBjB;;ACpPD;AAgEc;;AAlCH;AACA;AACT;AACS;AACA;AACA;AACA;AACA;AACA;AACA;AACT;AACA;;;;;;;;AAIgC;AAEhC;AACA;AACA;AACA;AACA;;AAGA;AACA;;;;;AASoB;AAEpB;AAoBA;AAIA;AAIA;AAIA;AAYA;;;AAgCA;AAKA;AAsCA;AAQA;AAKA;AAIA;AAOA;;;AAkBD;;ACrPD;AA6BI;AACA;;AAvBF;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAUU;AAIV;AAIA;;AAUA;AAOA;;;;AAIG;AACH;;;AAOD;;AClCD;;;;;AAKM;AAEN;AAiEc;;AAzBH;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACC;AACA;AACD;AACA;;;AAIT;AACA;AACA;;;;;;AAEgC;AAEZ;AAgBpB;AAeA;AAIA;AAIA;AAIA;;;;;AAiCA;;AAoCA;AAgBA;AAUA;;;AAKD;;ACnQK;;ACIN;;AAEwB;AAEtB;;;AAcD;;ACkCD;AAoEI;AACA;AACA;AACY;;AAtCd;;AAEG;AACM;AACA;AACA;AACT;;AAEG;;AAEH;;AAEG;AACM;AACA;AACA;AACA;;;AAGT;;;;;AACgC;AAEhC;AAGA;AAGA;AAEU;AACA;;AAIA;AAaV;AAQA;AAUA;AAIA;AAUA;AAYA;;;AAqCA;AAIA;AAMA;AAOA;AASA;;;AAaD;;AC9PD;;;;;;AAWG;;;AAwBF;;ACrCD;;;;AAaC;;ACbD;AAEE;;;AAE0D;;;AAmB3D;;ACvBD;;AAYE;;;AAqBD;;ACvBD;AAEc;AAAQ;AAEpB;AA4BA;;;;;;;;;;;AAyJA;AAOA;AAQA;AAMA;AAOA;;;AAWD;;AC5MD;AAkEc;;;;AA9BH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AAaT;;AAEI;;;AAGJ;;;AAIoB;AAKpB;AAKA;AAMA;AAMA;AAOA;AAeA;AASA;AAIA;AAOA;AAYA;AAYA;AAMA;AAcA;AAQA;;;AAOD;;AC3MD;;;;AA+BuC;;AChCvC;;AAEG;AACH;AAgBE;;AAEG;AACM;AAET;;AAEG;;AAGH;;;AAGG;AACM;AAET;;;;AAIG;AACM;AAET;;AAEG;AACM;AAET;;;;;AAKG;AACM;AAET;;;;;AAKG;AACM;AAET;;;;AAIG;AACM;AAET;;;;;;;AAOG;AACM;;AAGT;AAEA;;AAGA;AACA;AAGA;AACA;AAEA;AA0BA;AAKA;AAWA;AAYA;;;;;;AAMG;;AAgBH;;;;;AAKG;AACH;;;AAgBD;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../datapoint-selector/datapoint-attributes-form/datapoint-attributes.model.ts","../../datapoint-selector/datapoint-selection.model.ts","../../datapoint-selector/datapoint-library.service.ts","../../datapoint-selector/datapoint-selector.component.ts","../../datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.component.ts","../../datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.ts","../../datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.model.ts","../../datapoint-selector/datapoint-selector.service.ts","../../datapoint-selector/datapoint-selection-list/datapoint-selection-list.component.ts","../../datapoint-selector/datapoint-template-popover/datapoint-template-popover.component.ts","../../datapoint-selector/pipes/includes-datapoint.pipe.ts","../../datapoint-selector/pipes/datapoint-label.pipe.ts","../../datapoint-selector/pipes/filter-datapoints.pipe.ts","../../datapoint-selector/datapoint-attributes-form/datapoint-attributes-form-validation.service.ts","../../datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.ts","../../datapoint-selector/datapoint-selector.module.ts","../../datapoint-selector/widget-datapoints-selector.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAEA;;;;;;;;;;AAMM;AAEN;;;;;;;;;;;;;;;;;;;AASM;AAEN;;;;;;;;;;;;;;;;;;;AASM;;ACrBN;;;;AAKE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAEK;AACJ;AACD;;;AAIC;;AAED;;;;;;;;;;;;AAaA;AAEK;;ACzCN;AAII;AACA;AACA;AACA;;AAHQ;;AAoBJ;AAUA;AAQA;AA4CA;AAwBN;;;;AAIG;AACG;AA+BU;;;;;AA4CA;AAsBhB;;;AA0BgB;;;AAqBjB;;ACpPD;AAgEc;;AAlCH;AACA;AACT;AACS;AACA;AACA;AACA;AACA;AACA;AACA;AACT;AACA;;;;;;;;AAIgC;AAEhC;AACA;AACA;AACA;AACA;;AAGA;AACA;;;;;AASoB;AAEpB;AAoBA;AAIA;AAIA;AAIA;AAYA;;;AAgCA;AAKA;AAsCA;AAQA;AAKA;AAIA;AAOA;;;AAkBD;;ACrPD;AA6BI;AACA;;AAvBF;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAUU;AAIV;AAIA;;AAUA;AAOA;;;;AAIG;AACH;;;AAOD;;AClCD;;;;;AAKM;AAEN;AAiEc;;AAzBH;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACC;AACA;AACD;AACA;;;AAIT;AACA;AACA;;;;;;AAEgC;AAEZ;AAgBpB;AAeA;AAIA;AAIA;AAIA;;;;;AAiCA;;AAoCA;AAgBA;AAUA;;;AAKD;;ACnQK;;ACIN;;AAEwB;AAEtB;;;AAcD;;ACkCD;AAoEI;AACA;AACA;AACY;;AAtCd;;AAEG;AACM;AACA;AACA;AACT;;AAEG;;AAEH;;AAEG;AACM;AACA;AACA;AACA;;;AAGT;;;;;AACgC;AAEhC;AAGA;AAGA;AAEU;AACA;;AAIA;AAaV;AAQA;AAUA;AAIA;AAUA;AAYA;;;AAqCA;AAIA;AAMA;AAOA;AASA;;;AAaD;;AC9PD;;;;;;AAWG;;;AAwBF;;ACrCD;;;;AAaC;;ACbD;AAEE;;;AAE0D;;;AAmB3D;;ACvBD;;AAYE;;;AAqBD;;ACvBD;AAEc;AAAQ;AAEpB;AA4BA;;;;;;;;;;;AAyJA;AAOA;AAQA;AAMA;AAOA;;;AAWD;;AC5MD;AAkEc;;;;AA9BH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AAaT;;AAEI;;;AAGJ;;;AAIoB;AAKpB;AAKA;AAMA;AAMA;AAOA;AAeA;AASA;AAIA;AAOA;AAYA;AAYA;AAMA;AAcA;AAQA;;;AAOD;;AC3MD;;;;AA+BuC;;AChCvC;;AAEG;AACH;AAgBE;;AAEG;AACM;AAET;;AAEG;;AAGH;;;AAGG;AACM;AAET;;;;AAIG;AACM;AAET;;AAEG;AACM;AAET;;;;;AAKG;AACM;AAET;;;;;AAKG;AACM;AAET;;;;AAIG;AACM;AAET;;;;;;;AAOG;AACM;AAET;;;AAMA;;AAGA;AACA;AAGA;AACA;AAEA;AA0BA;AAMA;AAWA;AAYA;;;;;;AAMG;;AAgBH;;;;;AAKG;AACH;;;AAgBD;;;"}
package/echart/index.d.ts CHANGED
@@ -69,6 +69,7 @@ type GraphDisplayOptions = {
69
69
  sliderPositionMode?: 'compact' | 'default';
70
70
  smoothLines?: boolean;
71
71
  axisColor?: string;
72
+ showCompactTooltip?: boolean;
72
73
  };
73
74
  declare const CHART_DISPLAY_OPTION_DEFAULTS: Required<Pick<GraphDisplayOptions, 'displayMarkedLine' | 'displayMarkedPoint' | 'mergeMatchingDatapoints' | 'forceMergeDatapoints' | 'setYaxisStartToZero' | 'showLabelAndUnit' | 'showSlider' | 'smoothLines' | 'numberOfDecimalPlaces'>>;
74
75
  type AlarmDetailsExtended = AlarmDetails & {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../echart/models/datapoints-graph-widget.model.ts","../../echart/models/chart.model.ts","../../echart/models/svg-icons.model.ts","../../echart/charts.component.ts","../../echart/services/chart-alarms.service.ts","../../echart/services/chart-events.service.ts","../../echart/services/chart-helpers.service.ts","../../echart/chart-alerts/chart-alerts.component.ts","../../echart/select-aggregated-datapoint/select-aggregated-datapoint.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;AAoBM;;;;AAKA;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;AASA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;;;;;;;;;;AAWI;;;;;;;;;;AAUJ;;;;AAKF;AAyBM;;AAEJ;AACA;;AAGI;;;AAIN;;AAEG;;AAGG;AAIN;AACE;AACA;AACD;AAED;AACM;;AAEL;AAED;;;;AAIM;;;;;;;AAQL;AAED;;;;;AAUE;;;;;AAGD;;AAGC;;AAEA;;AAEE;;AAEF;;;AACD;;;;;;;AAQC;AACA;AACD;AAEK;AACA;AAEA;AAEA;AAEN;;;;AAKA;;;;;;;;;;;;;AAcM;AACA;AAEA;;;;AAKA;;;;;;;;;;;;AAaL;AAED;;;;;;;;AAUE;AACA;AACD;;AChPD;;;;;;AAMG;AACH;AACE;;;;AAIA;;;AACD;;;AAIA;;;AAIA;AAEK;AACA;AACJ;AACE;AACD;AACF;;AAGC;AACA;AACD;AAED;AACE;AACA;AACA;AACD;;AC3CD;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAED;;;;;;;;;;;AC8DA;AA4BE;;AAEA;;;;;;;;AAQA;;;;;;AAMK;AACK;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEV;;;;;AAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AAoEA;;;;;AA4JE;;;;;AAGD;AAuDD;AAOA;AAIA;AAwBA;AA6BA;AAWA;;;;;;AAMG;AACH;AAoCA;;;;;AAKG;AACH;AAgCA;AAeA;;;;;AAKG;AACH;AAYA;;;AAGG;AACH;AAaA;AA0BA;;AA2BA;AAeA;AA0BA;;AA8DA;;;AAuNA;AAyEA;AAwDA;AAmBA;AAWA;AAYA;;;AA6BD;;ACvrCD;AAEc;AAAQ;AAEpB;;;;;AAKG;AACG;;;AAqCP;;AC/CD;AAEc;AAAQ;AAEpB;;;;;AAKG;AACG;;;AAuBP;;AChCD;AAEE;;;;AAIG;;;;;;;;;;;AAcH;AAcA;;;AAGD;;AC9BD;;AAQmC;AAEjC;;;;AAQD;;ACVD;;AAqBW;AACC;AAEV;;AAGA;;;AAiBA;;;AAgBD;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../echart/models/datapoints-graph-widget.model.ts","../../echart/models/chart.model.ts","../../echart/models/svg-icons.model.ts","../../echart/charts.component.ts","../../echart/services/chart-alarms.service.ts","../../echart/services/chart-events.service.ts","../../echart/services/chart-helpers.service.ts","../../echart/chart-alerts/chart-alerts.component.ts","../../echart/select-aggregated-datapoint/select-aggregated-datapoint.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;AAoBM;;;;AAKA;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;AASA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;;;;;;;;;;AAWI;;;;;;;;;;AAUJ;;;;;AAMF;AAyBM;;AAEJ;AACA;;AAGI;;;AAIN;;AAEG;;AAGG;AAIN;AACE;AACA;AACD;AAED;AACM;;AAEL;AAED;;;;AAIM;;;;;;;AAQL;AAED;;;;;AAUE;;;;;AAGD;;AAGC;;AAEA;;AAEE;;AAEF;;;AACD;;;;;;;AAQC;AACA;AACD;AAEK;AACA;AAEA;AAEA;AAEN;;;;AAKA;;;;;;;;;;;;;AAcM;AACA;AAEA;;;;AAKA;;;;;;;;;;;;AAaL;AAED;;;;;;;;AAUE;AACA;AACD;;ACjPD;;;;;;AAMG;AACH;AACE;;;;AAIA;;;AACD;;;AAIA;;;AAIA;AAEK;AACA;AACJ;AACE;AACD;AACF;;AAGC;AACA;AACD;AAED;AACE;AACA;AACA;AACD;;AC3CD;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAED;;;;;;;;;;;AC8DA;AA4BE;;AAEA;;;;;;;;AAQA;;;;;;AAMK;AACK;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEV;;;;;AAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AAoEA;;;;;AA4JE;;;;;AAGD;AAuDD;AAOA;AAIA;AAwBA;AA6BA;AAWA;;;;;;AAMG;AACH;AAoCA;;;;;AAKG;AACH;AAgCA;AAeA;;;;;AAKG;AACH;AAYA;;;AAGG;AACH;AAaA;AA0BA;;AA2BA;AAeA;AA0BA;;AA8DA;;;AAuNA;AAyEA;AAwDA;AAmBA;AAWA;AAYA;;;AA6BD;;ACvrCD;AAEc;AAAQ;AAEpB;;;;;AAKG;AACG;;;AAqCP;;AC/CD;AAEc;AAAQ;AAEpB;;;;;AAKG;AACG;;;AAuBP;;AChCD;AAEE;;;;AAIG;;;;;;;;;;;AAcH;AAcA;;;AAGD;;AC9BD;;AAQmC;AAEjC;;;;AAQD;;ACVD;;AAqBW;AACC;AAEV;;AAGA;;;AAiBA;;;AAgBD;;;"}
@@ -63,6 +63,7 @@ type GraphDisplayOptions = {
63
63
  sliderPositionMode?: 'compact' | 'default';
64
64
  smoothLines?: boolean;
65
65
  axisColor?: string;
66
+ showCompactTooltip?: boolean;
66
67
  };
67
68
  declare const CHART_DISPLAY_OPTION_DEFAULTS: Required<Pick<GraphDisplayOptions, 'displayMarkedLine' | 'displayMarkedPoint' | 'mergeMatchingDatapoints' | 'forceMergeDatapoints' | 'setYaxisStartToZero' | 'showLabelAndUnit' | 'showSlider' | 'smoothLines' | 'numberOfDecimalPlaces'>>;
68
69
  type AlarmDetailsExtended = AlarmDetails & {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../../echart/models/datapoints-graph-widget.model.ts","../../../echart/models/chart.model.ts","../../../echart/models/svg-icons.model.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":";;;;;;;;;AAoBM;;;;AAKA;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;AASA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;;;;;;;;;;AAWI;;;;;;;;;;AAUJ;;;;AAKF;AAyBM;;AAEJ;AACA;;AAGI;;;AAIN;;AAEG;;AAGG;AAIN;AACE;AACA;AACD;AAED;AACM;;AAEL;AAED;;;;AAIM;;;;;;;AAQL;AAED;;;;;AAUE;;;;;AAGD;;AAGC;;AAEA;;AAEE;;AAEF;;;AACD;;;;;;;AAQC;AACA;AACD;AAEK;AACA;AAEA;AAEA;AAEN;;;;AAKA;;;;;;;;;;;;;AAcM;AACA;AAEA;;;;AAKA;;;;;;;;;;;;AAaL;AAED;;;;;;;;AAUE;AACA;AACD;;AChPD;;;;;;AAMG;AACH;AACE;;;;AAIA;;;AACD;;;AAIA;;;AAIA;AAEK;AACA;AACJ;AACE;AACD;AACF;;AAGC;AACA;AACD;AAED;AACE;AACA;AACA;AACD;;AC3CD;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAED;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../../echart/models/datapoints-graph-widget.model.ts","../../../echart/models/chart.model.ts","../../../echart/models/svg-icons.model.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":";;;;;;;;;AAoBM;;;;AAKA;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;AASA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;;;;;;;;;;AAWI;;;;;;;;;;AAUJ;;;;;AAMF;AAyBM;;AAEJ;AACA;;AAGI;;;AAIN;;AAEG;;AAGG;AAIN;AACE;AACA;AACD;AAED;AACM;;AAEL;AAED;;;;AAIM;;;;;;;AAQL;AAED;;;;;AAUE;;;;;AAGD;;AAGC;;AAEA;;AAEE;;AAEF;;;AACD;;;;;;;AAQC;AACA;AACD;AAEK;AACA;AAEA;AAEA;AAEN;;;;AAKA;;;;;;;;;;;;;AAcM;AACA;AAEA;;;;AAKA;;;;;;;;;;;;AAaL;AAED;;;;;;;;AAUE;AACA;AACD;;ACjPD;;;;;;AAMG;AACH;AACE;;;;AAIA;;;AACD;;;AAIA;;;AAIA;AAEK;AACA;AACJ;AACE;AACD;AACF;;AAGC;AACA;AACD;AAED;AACE;AACA;AACA;AACD;;AC3CD;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAED;;;;;;;;;;;;"}
@@ -1,14 +1,14 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, forwardRef, Input, Component, EventEmitter, Output, Pipe, ContentChild, Optional, NgModule, inject } from '@angular/core';
2
+ import { Injectable, forwardRef, Input, Component, EventEmitter, Output, Pipe, ContentChild, Optional, NgModule, signal, computed, inject } from '@angular/core';
3
3
  import * as i1 from '@angular/forms';
4
4
  import { FormControl, Validators, FormsModule, ReactiveFormsModule, NG_VALUE_ACCESSOR, NG_VALIDATORS, NgForm, ControlContainer } from '@angular/forms';
5
5
  import { take, takeUntil, map, startWith, tap, switchMap, shareReplay, distinctUntilChanged, debounceTime } from 'rxjs/operators';
6
- import { NgIf, NgFor, NgClass, AsyncPipe, NgStyle } from '@angular/common';
6
+ import { NgIf, NgFor, NgClass, AsyncPipe } from '@angular/common';
7
7
  import * as i2 from '@c8y/ngx-components';
8
- import { FormGroupComponent, RequiredInputPlaceholderDirective, MessagesComponent, MessageDirective, C8yTranslatePipe, IconDirective, ListItemComponent, ListItemDragHandleComponent, ListItemCheckboxComponent, HighlightComponent, ListItemActionComponent, ListItemCollapseComponent, ListItemIconComponent, EmptyStateComponent, LoadingComponent, ListGroupComponent, C8yTranslateDirective, ViewContext, CommonModule, CoreModule } from '@c8y/ngx-components';
8
+ import { FormGroupComponent, RequiredInputPlaceholderDirective, MessagesComponent, MessageDirective, C8yTranslatePipe, IconDirective, ListItemComponent, ListItemDragHandleComponent, ListItemCheckboxComponent, HighlightComponent, ListItemCollapseComponent, EmptyStateComponent, LoadingComponent, ListGroupComponent, C8yTranslateDirective, ViewContext, CommonModule, CoreModule } from '@c8y/ngx-components';
9
9
  import { moveItemInArray, CdkDropList, CdkDrag, CdkDragHandle, DragDropModule } from '@angular/cdk/drag-drop';
10
10
  import * as i6 from '@c8y/ngx-components/context-dashboard';
11
- import { WidgetConfigService } from '@c8y/ngx-components/context-dashboard';
11
+ import { WidgetConfigService, WidgetConfigFeedbackComponent } from '@c8y/ngx-components/context-dashboard';
12
12
  import * as i1$2 from 'ngx-bootstrap/modal';
13
13
  import { MillerViewComponent, AssetSelectorModule } from '@c8y/ngx-components/assets-navigator';
14
14
  import { Subject, BehaviorSubject, combineLatest } from 'rxjs';
@@ -17,9 +17,10 @@ import { uniqBy } from 'lodash-es';
17
17
  import { gettext } from '@c8y/ngx-components/gettext';
18
18
  import { CollapseDirective, CollapseModule } from 'ngx-bootstrap/collapse';
19
19
  import { PopoverDirective, PopoverModule } from 'ngx-bootstrap/popover';
20
+ import * as i2$1 from 'ngx-bootstrap/tooltip';
21
+ import { TooltipModule } from 'ngx-bootstrap/tooltip';
20
22
  import * as i4 from '@angular/router';
21
23
  import { RouterModule } from '@angular/router';
22
- import { TooltipModule } from 'ngx-bootstrap/tooltip';
23
24
 
24
25
  class AlarmEventAttributesFormService {
25
26
  duplicateTypeValidator(selectedItems) {
@@ -384,6 +385,7 @@ class AlarmEventSelectorListItemComponent {
384
385
  .pipe(map(tmp => this.transformFormValue(tmp)), takeUntil(this.destroy$))
385
386
  .subscribe(fn);
386
387
  }
388
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
387
389
  registerOnTouched(fn) {
388
390
  this.formGroup.valueChanges.pipe(take(1)).subscribe(fn);
389
391
  }
@@ -402,13 +404,14 @@ class AlarmEventSelectorListItemComponent {
402
404
  remove() {
403
405
  this.removed.emit(this.transformFormValue(this.formGroup.value));
404
406
  }
407
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
405
408
  transformFormValue(formValue) {
406
409
  const obj = Object.assign({}, formValue.details || {}, formValue);
407
410
  delete obj.details;
408
411
  return obj;
409
412
  }
410
413
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AlarmEventSelectorListItemComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
411
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.19", type: AlarmEventSelectorListItemComponent, isStandalone: true, selector: "c8y-alarm-event-selector-list-item", inputs: { timelineType: "timelineType", datapoints: "datapoints", highlightText: "highlightText", showAddRemoveButton: "showAddRemoveButton", isSelected: "isSelected", optionToRemove: "optionToRemove", showActiveToggle: "showActiveToggle", allowItemEdit: "allowItemEdit", hideSource: "hideSource", displayAsSwitch: "displayAsSwitch", omitProperties: "omitProperties" }, outputs: { added: "added", removed: "removed" }, providers: [
414
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: AlarmEventSelectorListItemComponent, isStandalone: true, selector: "c8y-alarm-event-selector-list-item", inputs: { timelineType: "timelineType", datapoints: "datapoints", highlightText: "highlightText", showAddRemoveButton: "showAddRemoveButton", isSelected: "isSelected", optionToRemove: "optionToRemove", showActiveToggle: "showActiveToggle", allowItemEdit: "allowItemEdit", hideSource: "hideSource", displayAsSwitch: "displayAsSwitch", omitProperties: "omitProperties" }, outputs: { added: "added", removed: "removed" }, providers: [
412
415
  {
413
416
  provide: NG_VALUE_ACCESSOR,
414
417
  useExisting: forwardRef(() => AlarmEventSelectorListItemComponent),
@@ -419,7 +422,7 @@ class AlarmEventSelectorListItemComponent {
419
422
  useExisting: forwardRef(() => AlarmEventSelectorListItemComponent),
420
423
  multi: true
421
424
  }
422
- ], ngImport: i0, template: "<c8y-li\n class=\"c8y-list__item__collapse--container-small\"\n [formGroup]=\"formGroup\"\n #li\n>\n <c8y-li-drag-handle><ng-content select=\"c8y-li-drag-handle\"></ng-content></c8y-li-drag-handle>\n <c8y-li-checkbox\n class=\"a-s-center m-t-4 p-r-0\"\n *ngIf=\"showActiveToggle\"\n [displayAsSwitch]=\"displayAsSwitch\"\n formControlName=\"__active\"\n (click)=\"$event.stopPropagation()\"\n ></c8y-li-checkbox>\n\n <div class=\"d-flex a-i-center p-l-0\">\n <div\n class=\"c8y-list__item__colorpicker p-t-0 p-b-0 p-l-16\"\n [title]=\"colorPickerTitle | translate\"\n >\n <div\n class=\"c8y-colorpicker\"\n [ngClass]=\"{\n 'c8y-colorpicker--alarm': timelineType === 'ALARM',\n 'c8y-colorpicker--event': timelineType === 'EVENT'\n }\"\n >\n <input\n [ngStyle]=\"{ 'pointer-events': allowItemEdit && !omitProperties.color ? 'auto' : 'none' }\"\n type=\"color\"\n formControlName=\"color\"\n (click)=\"$event.stopPropagation()\"\n />\n <span\n class=\"circle-icon-wrapper circle-icon-wrapper--medium\"\n [ngStyle]=\"{ 'background-color': formGroup.value.color }\"\n >\n <i\n class=\"stroked-icon\"\n [c8yIcon]=\"timelineType === 'EVENT' ? 'online1' : 'bell'\"\n ></i>\n </span>\n </div>\n </div>\n <button\n class=\"btn-clean text-truncate\"\n [title]=\"formGroup.value.details?.label\"\n (click)=\"\n allowItemEdit\n ? (li.collapsed = !li.collapsed)\n : showActiveToggle\n ? toggleActive()\n : addOrRemoveItem()\n \"\n >\n <span class=\"text-truncate\">\n <c8y-highlight\n [text]=\"\n omitProperties.label\n ? formGroup.value.details?.filters?.type\n : formGroup.value.details?.label\n \"\n [pattern]=\"highlightText\"\n [shouldTrimPattern]=\"true\"\n ></c8y-highlight>\n </span>\n <small\n class=\"text-truncate text-muted icon-flex\"\n *ngIf=\"formGroup.value.__target && !hideSource\"\n >\n <i c8yIcon=\"exchange\"></i>\n <span class=\"text-truncate\">{{ formGroup.value.__target.name }}</span>\n </small>\n </button>\n\n <button\n class=\"btn-dot btn-dot--danger m-l-auto\"\n title=\"{{ 'Invalid entries' | translate }}\"\n [popover]=\"'Some entries are invalid. Check the required input fields.' | translate\"\n container=\"body\"\n *ngIf=\"(valid$ | async) === false && li.collapsed\"\n [outsideClick]=\"true\"\n >\n <i c8yIcon=\"exclamation-circle\" class=\"icon-20\" ></i>\n </button>\n <span class=\"m-l-auto\" *ngIf=\"showAddRemoveButton\">\n <button\n class=\"btn btn-dot text-danger\"\n [title]=\"'Remove' | translate\"\n *ngIf=\"isSelected\"\n (click)=\"addOrRemoveItem()\"\n >\n <i\n class=\"icon-20\"\n c8yIcon=\"minus-circle\"\n ></i>\n </button>\n <button\n class=\"btn btn-dot text-primary\"\n [title]=\"'Select' | translate\"\n *ngIf=\"!isSelected\"\n (click)=\"addOrRemoveItem()\"\n [disabled]=\"(valid$ | async) === false\"\n >\n <i\n class=\"icon-20\"\n c8yIcon=\"plus-circle\"\n ></i>\n </button>\n </span>\n </div>\n\n <c8y-li-action\n [icon]=\"'minus-circle'\"\n *ngIf=\"optionToRemove\"\n [label]=\"'Remove from list' | translate\"\n (click)=\"remove()\"\n ></c8y-li-action>\n <c8y-li-collapse *ngIf=\"allowItemEdit\">\n <div class=\"data-point-details\">\n <c8y-alarm-event-attributes-form\n formControlName=\"details\"\n [timelineType]=\"timelineType\"\n [omitProperties]=\"omitProperties\"\n [datapoints]=\"datapoints\"\n [target]=\"formGroup.value.__target\"\n ></c8y-alarm-event-attributes-form>\n </div>\n </c8y-li-collapse>\n</c8y-li>\n", dependencies: [{ kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ListItemDragHandleComponent, selector: "c8y-list-item-drag-handle, c8y-li-drag-handle" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: ListItemCheckboxComponent, selector: "c8y-list-item-checkbox, c8y-li-checkbox", inputs: ["selected", "indeterminate", "disabled", "displayAsSwitch"], outputs: ["onSelect"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: HighlightComponent, selector: "c8y-highlight", inputs: ["pattern", "text", "elementClass", "shouldTrimPattern"] }, { kind: "directive", type: PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "component", type: ListItemActionComponent, selector: "c8y-list-item-action, c8y-li-action", inputs: ["label", "icon", "disabled"], outputs: ["click"] }, { kind: "component", type: ListItemCollapseComponent, selector: "c8y-list-item-collapse, c8y-li-collapse", inputs: ["collapseWay"] }, { kind: "component", type: AlarmEventAttributesFormComponent, selector: "c8y-alarm-event-attributes-form", inputs: ["timelineType", "omitProperties", "selectedItems", "target", "datapoints"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
425
+ ], ngImport: i0, template: "<c8y-li\n class=\"c8y-list__item__collapse--container-small\"\n [formGroup]=\"formGroup\"\n #li\n>\n <c8y-li-drag-handle><ng-content select=\"c8y-li-drag-handle\"></ng-content></c8y-li-drag-handle>\n @if (showActiveToggle) {\n <c8y-li-checkbox\n class=\"a-s-center m-t-4 p-r-0\"\n [displayAsSwitch]=\"displayAsSwitch\"\n formControlName=\"__active\"\n (click)=\"$event.stopPropagation()\"\n ></c8y-li-checkbox>\n }\n\n <div class=\"d-flex a-i-center p-l-0\">\n <div\n class=\"c8y-list__item__colorpicker p-t-0 p-b-0 p-l-16\"\n [title]=\"colorPickerTitle | translate\"\n >\n <div\n class=\"c8y-colorpicker\"\n [class.c8y-colorpicker--alarm]=\"timelineType === 'ALARM'\"\n [class.c8y-colorpicker--event]=\"timelineType === 'EVENT'\"\n >\n <input\n [style.pointer-events]=\"allowItemEdit && !omitProperties.color ? 'auto' : 'none'\"\n type=\"color\"\n formControlName=\"color\"\n (click)=\"$event.stopPropagation()\"\n />\n <span\n class=\"circle-icon-wrapper circle-icon-wrapper--medium\"\n [style.background-color]=\"formGroup.value.color\"\n >\n <i\n class=\"stroked-icon\"\n [c8yIcon]=\"timelineType === 'EVENT' ? 'online1' : 'bell'\"\n ></i>\n </span>\n </div>\n </div>\n <button\n class=\"btn-clean text-truncate\"\n [title]=\"formGroup.value.details?.label\"\n (click)=\"\n allowItemEdit\n ? (li.collapsed = !li.collapsed)\n : showActiveToggle\n ? toggleActive()\n : addOrRemoveItem()\n \"\n >\n <span class=\"text-truncate\">\n <c8y-highlight\n [text]=\"\n omitProperties.label\n ? formGroup.value.details?.filters?.type\n : formGroup.value.details?.label\n \"\n [pattern]=\"highlightText\"\n [shouldTrimPattern]=\"true\"\n ></c8y-highlight>\n </span>\n @if (formGroup.value.__target && !hideSource) {\n <small class=\"text-truncate text-muted icon-flex\">\n <i c8yIcon=\"exchange\"></i>\n <span class=\"text-truncate\">{{ formGroup.value.__target.name }}</span>\n </small>\n }\n </button>\n\n <span class=\"m-l-auto d-flex a-i-center m-r-4\">\n @if ((valid$ | async) === false && li.collapsed) {\n <button\n class=\"btn-dot btn-dot--danger\"\n title=\"{{ 'Invalid entries' | translate }}\"\n [popover]=\"'Some entries are invalid. Check the required input fields.' | translate\"\n container=\"body\"\n type=\"button\"\n [outsideClick]=\"true\"\n >\n <i\n class=\"icon-20\"\n c8yIcon=\"exclamation-circle\"\n ></i>\n </button>\n }\n @if (showAddRemoveButton) {\n <span>\n @if (isSelected) {\n <button\n class=\"btn btn-dot text-danger\"\n [attr.aria-label]=\"'Remove' | translate\"\n [tooltip]=\"'Remove' | translate\"\n placement=\"top\"\n container=\"body\"\n type=\"button\"\n [delay]=\"500\"\n (click)=\"addOrRemoveItem()\"\n >\n <i\n class=\"icon-20\"\n c8yIcon=\"minus-circle\"\n ></i>\n </button>\n } @else {\n <button\n class=\"btn btn-dot text-primary\"\n [attr.aria-label]=\"'Select' | translate\"\n [tooltip]=\"'Select' | translate\"\n placement=\"top\"\n container=\"body\"\n type=\"button\"\n [disabled]=\"(valid$ | async) === false\"\n [delay]=\"500\"\n (click)=\"addOrRemoveItem()\"\n >\n <i\n class=\"icon-20\"\n c8yIcon=\"plus-circle\"\n ></i>\n </button>\n }\n </span>\n }\n @if (optionToRemove) {\n <button\n class=\"showOnHover btn btn-dot btn-dot--danger m-r-4\"\n [attr.aria-label]=\"'Remove from list' | translate\"\n [tooltip]=\"'Remove from list' | translate\"\n placement=\"top\"\n container=\"body\"\n type=\"button\"\n data-cy=\"alarm-event-selector-list-item--remove-btn\"\n [delay]=\"500\"\n (click)=\"remove()\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n }\n </span>\n </div>\n\n @if (allowItemEdit) {\n <c8y-li-collapse>\n <div class=\"data-point-details\">\n <c8y-alarm-event-attributes-form\n formControlName=\"details\"\n [timelineType]=\"timelineType\"\n [omitProperties]=\"omitProperties\"\n [datapoints]=\"datapoints\"\n [target]=\"formGroup.value.__target\"\n ></c8y-alarm-event-attributes-form>\n </div>\n </c8y-li-collapse>\n }\n</c8y-li>\n", dependencies: [{ kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ListItemDragHandleComponent, selector: "c8y-list-item-drag-handle, c8y-li-drag-handle" }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: ListItemCheckboxComponent, selector: "c8y-list-item-checkbox, c8y-li-checkbox", inputs: ["selected", "indeterminate", "disabled", "displayAsSwitch"], outputs: ["onSelect"] }, { kind: "directive", type: RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "component", type: HighlightComponent, selector: "c8y-highlight", inputs: ["pattern", "text", "elementClass", "shouldTrimPattern"] }, { kind: "directive", type: PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2$1.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "component", type: ListItemCollapseComponent, selector: "c8y-list-item-collapse, c8y-li-collapse", inputs: ["collapseWay"] }, { kind: "component", type: AlarmEventAttributesFormComponent, selector: "c8y-alarm-event-attributes-form", inputs: ["timelineType", "omitProperties", "selectedItems", "target", "datapoints"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
423
426
  }
424
427
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AlarmEventSelectorListItemComponent, decorators: [{
425
428
  type: Component,
@@ -439,21 +442,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
439
442
  FormsModule,
440
443
  ReactiveFormsModule,
441
444
  ListItemDragHandleComponent,
442
- NgIf,
443
- ListItemIconComponent,
444
445
  IconDirective,
445
446
  ListItemCheckboxComponent,
446
- NgClass,
447
447
  RequiredInputPlaceholderDirective,
448
- NgStyle,
449
448
  HighlightComponent,
450
449
  PopoverDirective,
451
- ListItemActionComponent,
450
+ TooltipModule,
452
451
  ListItemCollapseComponent,
453
452
  AlarmEventAttributesFormComponent,
454
453
  C8yTranslatePipe,
455
454
  AsyncPipe
456
- ], template: "<c8y-li\n class=\"c8y-list__item__collapse--container-small\"\n [formGroup]=\"formGroup\"\n #li\n>\n <c8y-li-drag-handle><ng-content select=\"c8y-li-drag-handle\"></ng-content></c8y-li-drag-handle>\n <c8y-li-checkbox\n class=\"a-s-center m-t-4 p-r-0\"\n *ngIf=\"showActiveToggle\"\n [displayAsSwitch]=\"displayAsSwitch\"\n formControlName=\"__active\"\n (click)=\"$event.stopPropagation()\"\n ></c8y-li-checkbox>\n\n <div class=\"d-flex a-i-center p-l-0\">\n <div\n class=\"c8y-list__item__colorpicker p-t-0 p-b-0 p-l-16\"\n [title]=\"colorPickerTitle | translate\"\n >\n <div\n class=\"c8y-colorpicker\"\n [ngClass]=\"{\n 'c8y-colorpicker--alarm': timelineType === 'ALARM',\n 'c8y-colorpicker--event': timelineType === 'EVENT'\n }\"\n >\n <input\n [ngStyle]=\"{ 'pointer-events': allowItemEdit && !omitProperties.color ? 'auto' : 'none' }\"\n type=\"color\"\n formControlName=\"color\"\n (click)=\"$event.stopPropagation()\"\n />\n <span\n class=\"circle-icon-wrapper circle-icon-wrapper--medium\"\n [ngStyle]=\"{ 'background-color': formGroup.value.color }\"\n >\n <i\n class=\"stroked-icon\"\n [c8yIcon]=\"timelineType === 'EVENT' ? 'online1' : 'bell'\"\n ></i>\n </span>\n </div>\n </div>\n <button\n class=\"btn-clean text-truncate\"\n [title]=\"formGroup.value.details?.label\"\n (click)=\"\n allowItemEdit\n ? (li.collapsed = !li.collapsed)\n : showActiveToggle\n ? toggleActive()\n : addOrRemoveItem()\n \"\n >\n <span class=\"text-truncate\">\n <c8y-highlight\n [text]=\"\n omitProperties.label\n ? formGroup.value.details?.filters?.type\n : formGroup.value.details?.label\n \"\n [pattern]=\"highlightText\"\n [shouldTrimPattern]=\"true\"\n ></c8y-highlight>\n </span>\n <small\n class=\"text-truncate text-muted icon-flex\"\n *ngIf=\"formGroup.value.__target && !hideSource\"\n >\n <i c8yIcon=\"exchange\"></i>\n <span class=\"text-truncate\">{{ formGroup.value.__target.name }}</span>\n </small>\n </button>\n\n <button\n class=\"btn-dot btn-dot--danger m-l-auto\"\n title=\"{{ 'Invalid entries' | translate }}\"\n [popover]=\"'Some entries are invalid. Check the required input fields.' | translate\"\n container=\"body\"\n *ngIf=\"(valid$ | async) === false && li.collapsed\"\n [outsideClick]=\"true\"\n >\n <i c8yIcon=\"exclamation-circle\" class=\"icon-20\" ></i>\n </button>\n <span class=\"m-l-auto\" *ngIf=\"showAddRemoveButton\">\n <button\n class=\"btn btn-dot text-danger\"\n [title]=\"'Remove' | translate\"\n *ngIf=\"isSelected\"\n (click)=\"addOrRemoveItem()\"\n >\n <i\n class=\"icon-20\"\n c8yIcon=\"minus-circle\"\n ></i>\n </button>\n <button\n class=\"btn btn-dot text-primary\"\n [title]=\"'Select' | translate\"\n *ngIf=\"!isSelected\"\n (click)=\"addOrRemoveItem()\"\n [disabled]=\"(valid$ | async) === false\"\n >\n <i\n class=\"icon-20\"\n c8yIcon=\"plus-circle\"\n ></i>\n </button>\n </span>\n </div>\n\n <c8y-li-action\n [icon]=\"'minus-circle'\"\n *ngIf=\"optionToRemove\"\n [label]=\"'Remove from list' | translate\"\n (click)=\"remove()\"\n ></c8y-li-action>\n <c8y-li-collapse *ngIf=\"allowItemEdit\">\n <div class=\"data-point-details\">\n <c8y-alarm-event-attributes-form\n formControlName=\"details\"\n [timelineType]=\"timelineType\"\n [omitProperties]=\"omitProperties\"\n [datapoints]=\"datapoints\"\n [target]=\"formGroup.value.__target\"\n ></c8y-alarm-event-attributes-form>\n </div>\n </c8y-li-collapse>\n</c8y-li>\n" }]
455
+ ], template: "<c8y-li\n class=\"c8y-list__item__collapse--container-small\"\n [formGroup]=\"formGroup\"\n #li\n>\n <c8y-li-drag-handle><ng-content select=\"c8y-li-drag-handle\"></ng-content></c8y-li-drag-handle>\n @if (showActiveToggle) {\n <c8y-li-checkbox\n class=\"a-s-center m-t-4 p-r-0\"\n [displayAsSwitch]=\"displayAsSwitch\"\n formControlName=\"__active\"\n (click)=\"$event.stopPropagation()\"\n ></c8y-li-checkbox>\n }\n\n <div class=\"d-flex a-i-center p-l-0\">\n <div\n class=\"c8y-list__item__colorpicker p-t-0 p-b-0 p-l-16\"\n [title]=\"colorPickerTitle | translate\"\n >\n <div\n class=\"c8y-colorpicker\"\n [class.c8y-colorpicker--alarm]=\"timelineType === 'ALARM'\"\n [class.c8y-colorpicker--event]=\"timelineType === 'EVENT'\"\n >\n <input\n [style.pointer-events]=\"allowItemEdit && !omitProperties.color ? 'auto' : 'none'\"\n type=\"color\"\n formControlName=\"color\"\n (click)=\"$event.stopPropagation()\"\n />\n <span\n class=\"circle-icon-wrapper circle-icon-wrapper--medium\"\n [style.background-color]=\"formGroup.value.color\"\n >\n <i\n class=\"stroked-icon\"\n [c8yIcon]=\"timelineType === 'EVENT' ? 'online1' : 'bell'\"\n ></i>\n </span>\n </div>\n </div>\n <button\n class=\"btn-clean text-truncate\"\n [title]=\"formGroup.value.details?.label\"\n (click)=\"\n allowItemEdit\n ? (li.collapsed = !li.collapsed)\n : showActiveToggle\n ? toggleActive()\n : addOrRemoveItem()\n \"\n >\n <span class=\"text-truncate\">\n <c8y-highlight\n [text]=\"\n omitProperties.label\n ? formGroup.value.details?.filters?.type\n : formGroup.value.details?.label\n \"\n [pattern]=\"highlightText\"\n [shouldTrimPattern]=\"true\"\n ></c8y-highlight>\n </span>\n @if (formGroup.value.__target && !hideSource) {\n <small class=\"text-truncate text-muted icon-flex\">\n <i c8yIcon=\"exchange\"></i>\n <span class=\"text-truncate\">{{ formGroup.value.__target.name }}</span>\n </small>\n }\n </button>\n\n <span class=\"m-l-auto d-flex a-i-center m-r-4\">\n @if ((valid$ | async) === false && li.collapsed) {\n <button\n class=\"btn-dot btn-dot--danger\"\n title=\"{{ 'Invalid entries' | translate }}\"\n [popover]=\"'Some entries are invalid. Check the required input fields.' | translate\"\n container=\"body\"\n type=\"button\"\n [outsideClick]=\"true\"\n >\n <i\n class=\"icon-20\"\n c8yIcon=\"exclamation-circle\"\n ></i>\n </button>\n }\n @if (showAddRemoveButton) {\n <span>\n @if (isSelected) {\n <button\n class=\"btn btn-dot text-danger\"\n [attr.aria-label]=\"'Remove' | translate\"\n [tooltip]=\"'Remove' | translate\"\n placement=\"top\"\n container=\"body\"\n type=\"button\"\n [delay]=\"500\"\n (click)=\"addOrRemoveItem()\"\n >\n <i\n class=\"icon-20\"\n c8yIcon=\"minus-circle\"\n ></i>\n </button>\n } @else {\n <button\n class=\"btn btn-dot text-primary\"\n [attr.aria-label]=\"'Select' | translate\"\n [tooltip]=\"'Select' | translate\"\n placement=\"top\"\n container=\"body\"\n type=\"button\"\n [disabled]=\"(valid$ | async) === false\"\n [delay]=\"500\"\n (click)=\"addOrRemoveItem()\"\n >\n <i\n class=\"icon-20\"\n c8yIcon=\"plus-circle\"\n ></i>\n </button>\n }\n </span>\n }\n @if (optionToRemove) {\n <button\n class=\"showOnHover btn btn-dot btn-dot--danger m-r-4\"\n [attr.aria-label]=\"'Remove from list' | translate\"\n [tooltip]=\"'Remove from list' | translate\"\n placement=\"top\"\n container=\"body\"\n type=\"button\"\n data-cy=\"alarm-event-selector-list-item--remove-btn\"\n [delay]=\"500\"\n (click)=\"remove()\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n }\n </span>\n </div>\n\n @if (allowItemEdit) {\n <c8y-li-collapse>\n <div class=\"data-point-details\">\n <c8y-alarm-event-attributes-form\n formControlName=\"details\"\n [timelineType]=\"timelineType\"\n [omitProperties]=\"omitProperties\"\n [datapoints]=\"datapoints\"\n [target]=\"formGroup.value.__target\"\n ></c8y-alarm-event-attributes-form>\n </div>\n </c8y-li-collapse>\n }\n</c8y-li>\n" }]
457
456
  }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { timelineType: [{
458
457
  type: Input
459
458
  }], datapoints: [{
@@ -854,7 +853,7 @@ class AlarmEventSelectionListComponent {
854
853
  useExisting: forwardRef(() => AlarmEventSelectionListComponent),
855
854
  multi: true
856
855
  }
857
- ], queries: [{ propertyName: "emptyState", first: true, predicate: EmptyStateComponent, descendants: true }], ngImport: i0, template: "@if (!inline) {\n <div class=\"card-header separator-top-bottom sticky-top bg-inherit\">\n <span class=\"card-title h4\">{{ title | translate }}</span>\n </div>\n}\n\n<c8y-list-group\n class=\"flex-grow ff-scroll-fix cdk-droplist\"\n cdkDropList\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListDisabled]=\"formArray.controls?.length < 2\"\n>\n @if (!formArray.controls?.length) {\n <div class=\"p-t-8\">\n <ng-content select=\"c8y-ui-empty-state\"></ng-content>\n @if (!emptyState) {\n <c8y-ui-empty-state\n class=\"p-t-8\"\n [icon]=\"timelineTypeTexts.emptyStateIcon\"\n [title]=\"timelineTypeTexts.emptyStateTitle | translate\"\n [subtitle]=\"timelineTypeTexts.emptyStateSubtitle | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n }\n </div>\n }\n\n @for (formGroup of formGroups; track formGroup; let index = $index) {\n <div [formGroup]=\"formGroup\">\n <c8y-alarm-event-selector-list-item\n class=\"d-block\"\n cdkDrag\n [cdkDragDisabled]=\"!canDragAndDrop\"\n formControlName=\"details\"\n [showAddRemoveButton]=\"false\"\n [datapoints]=\"datapoints\"\n [optionToRemove]=\"canRemove\"\n [showActiveToggle]=\"true\"\n [timelineType]=\"timelineType\"\n [allowItemEdit]=\"canEdit\"\n [hideSource]=\"hideSource\"\n [displayAsSwitch]=\"activeToggleAsSwitch\"\n [omitProperties]=\"omitProperties\"\n (removed)=\"onItemRemoved(index)\"\n >\n @if (canDragAndDrop) {\n <c8y-li-drag-handle\n title=\"{{ 'Click and drag to reorder' | translate }}\"\n cdkDragHandle\n >\n <i c8yIcon=\"drag-reorder\"></i>\n </c8y-li-drag-handle>\n }\n </c8y-alarm-event-selector-list-item>\n </div>\n }\n</c8y-list-group>\n\n<div class=\"card-footer bg-inherit\">\n <button\n class=\"btn btn-default btn-sm\"\n [title]=\"addButtonLabel | translate\"\n type=\"button\"\n (click)=\"add()\"\n >\n @if (canDragAndDrop) {\n <i c8yIcon=\"plus-circle\"></i>\n }\n {{ addButtonLabel | translate }}\n </button>\n</div>\n", dependencies: [{ kind: "component", type: ListGroupComponent, selector: "c8y-list-group" }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: AlarmEventSelectorListItemComponent, selector: "c8y-alarm-event-selector-list-item", inputs: ["timelineType", "datapoints", "highlightText", "showAddRemoveButton", "isSelected", "optionToRemove", "showActiveToggle", "allowItemEdit", "hideSource", "displayAsSwitch", "omitProperties"], outputs: ["added", "removed"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: ListItemDragHandleComponent, selector: "c8y-list-item-drag-handle, c8y-li-drag-handle" }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
856
+ ], queries: [{ propertyName: "emptyState", first: true, predicate: EmptyStateComponent, descendants: true }], ngImport: i0, template: "@if (!inline) {\n <div class=\"card-header separator-top-bottom sticky-top bg-inherit\">\n <span class=\"card-title h4\">{{ title | translate }}</span>\n </div>\n}\n\n<c8y-list-group\n class=\"flex-grow ff-scroll-fix cdk-droplist\"\n [class.separator-top]=\"formArray.controls?.length\"\n cdkDropList\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListDisabled]=\"formArray.controls?.length < 2\"\n>\n @if (!formArray.controls?.length) {\n <div class=\"p-t-8\">\n <ng-content select=\"c8y-ui-empty-state\"></ng-content>\n @if (!emptyState) {\n <c8y-ui-empty-state\n class=\"p-t-8\"\n [icon]=\"timelineTypeTexts.emptyStateIcon\"\n [title]=\"timelineTypeTexts.emptyStateTitle | translate\"\n [subtitle]=\"timelineTypeTexts.emptyStateSubtitle | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n }\n </div>\n }\n\n @for (formGroup of formGroups; track formGroup; let index = $index) {\n <div [formGroup]=\"formGroup\">\n <c8y-alarm-event-selector-list-item\n class=\"d-block\"\n cdkDrag\n [cdkDragDisabled]=\"!canDragAndDrop\"\n formControlName=\"details\"\n [showAddRemoveButton]=\"false\"\n [datapoints]=\"datapoints\"\n [optionToRemove]=\"canRemove\"\n [showActiveToggle]=\"true\"\n [timelineType]=\"timelineType\"\n [allowItemEdit]=\"canEdit\"\n [hideSource]=\"hideSource\"\n [displayAsSwitch]=\"activeToggleAsSwitch\"\n [omitProperties]=\"omitProperties\"\n (removed)=\"onItemRemoved(index)\"\n >\n @if (canDragAndDrop) {\n <c8y-li-drag-handle\n title=\"{{ 'Click and drag to reorder' | translate }}\"\n cdkDragHandle\n >\n <i c8yIcon=\"drag-reorder\"></i>\n </c8y-li-drag-handle>\n }\n </c8y-alarm-event-selector-list-item>\n </div>\n }\n</c8y-list-group>\n\n<div class=\"card-footer bg-inherit\">\n <button\n class=\"btn btn-default btn-sm\"\n [title]=\"addButtonLabel | translate\"\n type=\"button\"\n (click)=\"add()\"\n >\n @if (canDragAndDrop) {\n <i c8yIcon=\"plus-circle\"></i>\n }\n {{ addButtonLabel | translate }}\n </button>\n</div>\n", dependencies: [{ kind: "component", type: ListGroupComponent, selector: "c8y-list-group" }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: AlarmEventSelectorListItemComponent, selector: "c8y-alarm-event-selector-list-item", inputs: ["timelineType", "datapoints", "highlightText", "showAddRemoveButton", "isSelected", "optionToRemove", "showActiveToggle", "allowItemEdit", "hideSource", "displayAsSwitch", "omitProperties"], outputs: ["added", "removed"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: ListItemDragHandleComponent, selector: "c8y-list-item-drag-handle, c8y-li-drag-handle" }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
858
857
  }
859
858
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AlarmEventSelectionListComponent, decorators: [{
860
859
  type: Component,
@@ -882,7 +881,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
882
881
  IconDirective,
883
882
  NgClass,
884
883
  C8yTranslatePipe
885
- ], template: "@if (!inline) {\n <div class=\"card-header separator-top-bottom sticky-top bg-inherit\">\n <span class=\"card-title h4\">{{ title | translate }}</span>\n </div>\n}\n\n<c8y-list-group\n class=\"flex-grow ff-scroll-fix cdk-droplist\"\n cdkDropList\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListDisabled]=\"formArray.controls?.length < 2\"\n>\n @if (!formArray.controls?.length) {\n <div class=\"p-t-8\">\n <ng-content select=\"c8y-ui-empty-state\"></ng-content>\n @if (!emptyState) {\n <c8y-ui-empty-state\n class=\"p-t-8\"\n [icon]=\"timelineTypeTexts.emptyStateIcon\"\n [title]=\"timelineTypeTexts.emptyStateTitle | translate\"\n [subtitle]=\"timelineTypeTexts.emptyStateSubtitle | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n }\n </div>\n }\n\n @for (formGroup of formGroups; track formGroup; let index = $index) {\n <div [formGroup]=\"formGroup\">\n <c8y-alarm-event-selector-list-item\n class=\"d-block\"\n cdkDrag\n [cdkDragDisabled]=\"!canDragAndDrop\"\n formControlName=\"details\"\n [showAddRemoveButton]=\"false\"\n [datapoints]=\"datapoints\"\n [optionToRemove]=\"canRemove\"\n [showActiveToggle]=\"true\"\n [timelineType]=\"timelineType\"\n [allowItemEdit]=\"canEdit\"\n [hideSource]=\"hideSource\"\n [displayAsSwitch]=\"activeToggleAsSwitch\"\n [omitProperties]=\"omitProperties\"\n (removed)=\"onItemRemoved(index)\"\n >\n @if (canDragAndDrop) {\n <c8y-li-drag-handle\n title=\"{{ 'Click and drag to reorder' | translate }}\"\n cdkDragHandle\n >\n <i c8yIcon=\"drag-reorder\"></i>\n </c8y-li-drag-handle>\n }\n </c8y-alarm-event-selector-list-item>\n </div>\n }\n</c8y-list-group>\n\n<div class=\"card-footer bg-inherit\">\n <button\n class=\"btn btn-default btn-sm\"\n [title]=\"addButtonLabel | translate\"\n type=\"button\"\n (click)=\"add()\"\n >\n @if (canDragAndDrop) {\n <i c8yIcon=\"plus-circle\"></i>\n }\n {{ addButtonLabel | translate }}\n </button>\n</div>\n" }]
884
+ ], template: "@if (!inline) {\n <div class=\"card-header separator-top-bottom sticky-top bg-inherit\">\n <span class=\"card-title h4\">{{ title | translate }}</span>\n </div>\n}\n\n<c8y-list-group\n class=\"flex-grow ff-scroll-fix cdk-droplist\"\n [class.separator-top]=\"formArray.controls?.length\"\n cdkDropList\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListDisabled]=\"formArray.controls?.length < 2\"\n>\n @if (!formArray.controls?.length) {\n <div class=\"p-t-8\">\n <ng-content select=\"c8y-ui-empty-state\"></ng-content>\n @if (!emptyState) {\n <c8y-ui-empty-state\n class=\"p-t-8\"\n [icon]=\"timelineTypeTexts.emptyStateIcon\"\n [title]=\"timelineTypeTexts.emptyStateTitle | translate\"\n [subtitle]=\"timelineTypeTexts.emptyStateSubtitle | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n }\n </div>\n }\n\n @for (formGroup of formGroups; track formGroup; let index = $index) {\n <div [formGroup]=\"formGroup\">\n <c8y-alarm-event-selector-list-item\n class=\"d-block\"\n cdkDrag\n [cdkDragDisabled]=\"!canDragAndDrop\"\n formControlName=\"details\"\n [showAddRemoveButton]=\"false\"\n [datapoints]=\"datapoints\"\n [optionToRemove]=\"canRemove\"\n [showActiveToggle]=\"true\"\n [timelineType]=\"timelineType\"\n [allowItemEdit]=\"canEdit\"\n [hideSource]=\"hideSource\"\n [displayAsSwitch]=\"activeToggleAsSwitch\"\n [omitProperties]=\"omitProperties\"\n (removed)=\"onItemRemoved(index)\"\n >\n @if (canDragAndDrop) {\n <c8y-li-drag-handle\n title=\"{{ 'Click and drag to reorder' | translate }}\"\n cdkDragHandle\n >\n <i c8yIcon=\"drag-reorder\"></i>\n </c8y-li-drag-handle>\n }\n </c8y-alarm-event-selector-list-item>\n </div>\n }\n</c8y-list-group>\n\n<div class=\"card-footer bg-inherit\">\n <button\n class=\"btn btn-default btn-sm\"\n [title]=\"addButtonLabel | translate\"\n type=\"button\"\n (click)=\"add()\"\n >\n @if (canDragAndDrop) {\n <i c8yIcon=\"plus-circle\"></i>\n }\n {{ addButtonLabel | translate }}\n </button>\n</div>\n" }]
886
885
  }], ctorParameters: () => [{ type: AlarmEventSelectorModalService }, { type: AlarmEventSelectorService }, { type: i1.FormBuilder }, { type: i4.ActivatedRoute, decorators: [{
887
886
  type: Optional
888
887
  }] }, { type: i2.ContextRouteService, decorators: [{
@@ -985,13 +984,18 @@ class WidgetEventSelectorComponent {
985
984
  * - MIXED: Stores both alarms and events together
986
985
  */
987
986
  this.configStoreMode = 'ISOLATED';
987
+ this.eventsSignal = signal([], ...(ngDevMode ? [{ debugName: "eventsSignal" }] : []));
988
+ this.eventsCount = computed(() => this.eventsSignal().length, ...(ngDevMode ? [{ debugName: "eventsCount" }] : []));
988
989
  this.widgetConfigService = inject(WidgetConfigService);
989
990
  this.timelineType = 'EVENT';
991
+ this.noneSelectedText = gettext('None selected`event`');
990
992
  }
991
993
  ngOnInit() {
992
994
  this.events = this.getEvents();
995
+ this.eventsSignal.set(this.events);
993
996
  }
994
997
  onEventsChange(events) {
998
+ this.eventsSignal.set(events ?? []);
995
999
  this.updateEventsConfig(events ?? []);
996
1000
  }
997
1001
  getEvents() {
@@ -1012,7 +1016,7 @@ class WidgetEventSelectorComponent {
1012
1016
  return alarmOrEvents ?? [];
1013
1017
  }
1014
1018
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: WidgetEventSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1015
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.19", type: WidgetEventSelectorComponent, isStandalone: true, selector: "c8y-widget-event-selector", inputs: { controlName: "controlName", configStoreMode: "configStoreMode" }, host: { classAttribute: "bg-level-1" }, ngImport: i0, template: `
1019
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: WidgetEventSelectorComponent, isStandalone: true, selector: "c8y-widget-event-selector", inputs: { controlName: "controlName", configStoreMode: "configStoreMode" }, host: { classAttribute: "bg-level-1" }, ngImport: i0, template: `
1016
1020
  <c8y-alarm-event-selection-list
1017
1021
  class="bg-inherit"
1018
1022
  name="eventsConfigs"
@@ -1022,7 +1026,19 @@ class WidgetEventSelectorComponent {
1022
1026
  [inline]="true"
1023
1027
  [datapoints]="(widgetConfigService.currentConfig$ | async)?.datapoints"
1024
1028
  ></c8y-alarm-event-selection-list>
1025
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AlarmEventSelectionListComponent, selector: "c8y-alarm-event-selection-list", inputs: ["timelineType", "canRemove", "canEdit", "canDragAndDrop", "title", "addButtonLabel", "hideSource", "inline", "activeToggleAsSwitch", "omitProperties", "datapoints", "config"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] }); }
1029
+
1030
+ <c8y-widget-config-feedback>
1031
+ <span class="tag tag--info chip text-12">
1032
+ @if (eventsCount() === 0) {
1033
+ {{ noneSelectedText | translate }}
1034
+ } @else if (eventsCount() === 1) {
1035
+ {{ '1 event' | translate }}
1036
+ } @else {
1037
+ {{ '{{ count }} events' | translate: { count: eventsCount() } }}
1038
+ }
1039
+ </span>
1040
+ </c8y-widget-config-feedback>
1041
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AlarmEventSelectionListComponent, selector: "c8y-alarm-event-selection-list", inputs: ["timelineType", "canRemove", "canEdit", "canDragAndDrop", "title", "addButtonLabel", "hideSource", "inline", "activeToggleAsSwitch", "omitProperties", "datapoints", "config"] }, { kind: "component", type: WidgetConfigFeedbackComponent, selector: "c8y-widget-config-feedback" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] }); }
1026
1042
  }
1027
1043
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: WidgetEventSelectorComponent, decorators: [{
1028
1044
  type: Component,
@@ -1038,10 +1054,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
1038
1054
  [inline]="true"
1039
1055
  [datapoints]="(widgetConfigService.currentConfig$ | async)?.datapoints"
1040
1056
  ></c8y-alarm-event-selection-list>
1057
+
1058
+ <c8y-widget-config-feedback>
1059
+ <span class="tag tag--info chip text-12">
1060
+ @if (eventsCount() === 0) {
1061
+ {{ noneSelectedText | translate }}
1062
+ } @else if (eventsCount() === 1) {
1063
+ {{ '1 event' | translate }}
1064
+ } @else {
1065
+ {{ '{{ count }} events' | translate: { count: eventsCount() } }}
1066
+ }
1067
+ </span>
1068
+ </c8y-widget-config-feedback>
1041
1069
  `,
1042
1070
  host: { class: 'bg-level-1' },
1043
1071
  standalone: true,
1044
- imports: [FormsModule, AlarmEventSelectionListComponent, AsyncPipe],
1072
+ imports: [
1073
+ FormsModule,
1074
+ AlarmEventSelectionListComponent,
1075
+ AsyncPipe,
1076
+ WidgetConfigFeedbackComponent,
1077
+ C8yTranslatePipe
1078
+ ],
1045
1079
  viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]
1046
1080
  }]
1047
1081
  }], propDecorators: { controlName: [{
@@ -1063,13 +1097,18 @@ class WidgetAlarmSelectorComponent {
1063
1097
  * - MIXED: Stores both alarms and events together
1064
1098
  */
1065
1099
  this.configStoreMode = 'ISOLATED';
1100
+ this.alarmsSignal = signal([], ...(ngDevMode ? [{ debugName: "alarmsSignal" }] : []));
1101
+ this.alarmsCount = computed(() => this.alarmsSignal().length, ...(ngDevMode ? [{ debugName: "alarmsCount" }] : []));
1066
1102
  this.widgetConfigService = inject(WidgetConfigService);
1067
1103
  this.timelineType = 'ALARM';
1104
+ this.noneSelectedText = gettext('None selected`alarm`');
1068
1105
  }
1069
1106
  ngOnInit() {
1070
1107
  this.alarms = this.getAlarms();
1108
+ this.alarmsSignal.set(this.alarms);
1071
1109
  }
1072
1110
  onAlarmsChange(alarms) {
1111
+ this.alarmsSignal.set(alarms ?? []);
1073
1112
  this.updateAlarmsConfig(alarms ?? []);
1074
1113
  }
1075
1114
  getAlarms() {
@@ -1090,7 +1129,7 @@ class WidgetAlarmSelectorComponent {
1090
1129
  return alarmsOrEvents ?? [];
1091
1130
  }
1092
1131
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: WidgetAlarmSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1093
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.19", type: WidgetAlarmSelectorComponent, isStandalone: true, selector: "c8y-widget-alarm-selector", inputs: { controlName: "controlName", configStoreMode: "configStoreMode" }, host: { classAttribute: "bg-level-1" }, ngImport: i0, template: `
1132
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: WidgetAlarmSelectorComponent, isStandalone: true, selector: "c8y-widget-alarm-selector", inputs: { controlName: "controlName", configStoreMode: "configStoreMode" }, host: { classAttribute: "bg-level-1" }, ngImport: i0, template: `
1094
1133
  <c8y-alarm-event-selection-list
1095
1134
  class="bg-inherit"
1096
1135
  name="alarmsConfigs"
@@ -1100,7 +1139,19 @@ class WidgetAlarmSelectorComponent {
1100
1139
  [inline]="true"
1101
1140
  [datapoints]="(widgetConfigService.currentConfig$ | async)?.datapoints"
1102
1141
  ></c8y-alarm-event-selection-list>
1103
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AlarmEventSelectionListComponent, selector: "c8y-alarm-event-selection-list", inputs: ["timelineType", "canRemove", "canEdit", "canDragAndDrop", "title", "addButtonLabel", "hideSource", "inline", "activeToggleAsSwitch", "omitProperties", "datapoints", "config"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] }); }
1142
+
1143
+ <c8y-widget-config-feedback>
1144
+ <span class="tag tag--info chip text-12">
1145
+ @if (alarmsCount() === 0) {
1146
+ {{ noneSelectedText | translate }}
1147
+ } @else if (alarmsCount() === 1) {
1148
+ {{ '1 alarm' | translate }}
1149
+ } @else {
1150
+ {{ '{{ count }} alarms' | translate: { count: alarmsCount() } }}
1151
+ }
1152
+ </span>
1153
+ </c8y-widget-config-feedback>
1154
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AlarmEventSelectionListComponent, selector: "c8y-alarm-event-selection-list", inputs: ["timelineType", "canRemove", "canEdit", "canDragAndDrop", "title", "addButtonLabel", "hideSource", "inline", "activeToggleAsSwitch", "omitProperties", "datapoints", "config"] }, { kind: "component", type: WidgetConfigFeedbackComponent, selector: "c8y-widget-config-feedback" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] }); }
1104
1155
  }
1105
1156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: WidgetAlarmSelectorComponent, decorators: [{
1106
1157
  type: Component,
@@ -1116,10 +1167,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
1116
1167
  [inline]="true"
1117
1168
  [datapoints]="(widgetConfigService.currentConfig$ | async)?.datapoints"
1118
1169
  ></c8y-alarm-event-selection-list>
1170
+
1171
+ <c8y-widget-config-feedback>
1172
+ <span class="tag tag--info chip text-12">
1173
+ @if (alarmsCount() === 0) {
1174
+ {{ noneSelectedText | translate }}
1175
+ } @else if (alarmsCount() === 1) {
1176
+ {{ '1 alarm' | translate }}
1177
+ } @else {
1178
+ {{ '{{ count }} alarms' | translate: { count: alarmsCount() } }}
1179
+ }
1180
+ </span>
1181
+ </c8y-widget-config-feedback>
1119
1182
  `,
1120
1183
  host: { class: 'bg-level-1' },
1121
1184
  standalone: true,
1122
- imports: [FormsModule, AlarmEventSelectionListComponent, AsyncPipe],
1185
+ imports: [
1186
+ FormsModule,
1187
+ AlarmEventSelectionListComponent,
1188
+ AsyncPipe,
1189
+ WidgetConfigFeedbackComponent,
1190
+ C8yTranslatePipe
1191
+ ],
1123
1192
  viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]
1124
1193
  }]
1125
1194
  }], propDecorators: { controlName: [{