@c8y/ngx-components 1021.11.1 → 1021.13.3

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 (73) hide show
  1. package/alarms/alarms-date-filter.component.d.ts +34 -0
  2. package/alarms/alarms-date-filter.component.d.ts.map +1 -0
  3. package/alarms/alarms-filter.component.d.ts +2 -1
  4. package/alarms/alarms-filter.component.d.ts.map +1 -1
  5. package/alarms/alarms-view.service.d.ts +4 -2
  6. package/alarms/alarms-view.service.d.ts.map +1 -1
  7. package/alarms/alarms.component.d.ts +3 -1
  8. package/alarms/alarms.component.d.ts.map +1 -1
  9. package/alarms/alarms.model.d.ts +17 -1
  10. package/alarms/alarms.model.d.ts.map +1 -1
  11. package/alarms/alarms.module.d.ts +15 -13
  12. package/alarms/alarms.module.d.ts.map +1 -1
  13. package/branding/shared/data/store-branding.service.d.ts +5 -0
  14. package/branding/shared/data/store-branding.service.d.ts.map +1 -1
  15. package/branding/shared/lazy/branding/branding.component.d.ts.map +1 -1
  16. package/core/dashboard/dashboard.module.d.ts +19 -19
  17. package/core/dashboard/widget-change-event.model.d.ts +1 -1
  18. package/core/dashboard/widget-change-event.model.d.ts.map +1 -1
  19. package/core/dashboard/wiget-time-context/widget-time-context-helper.service.d.ts +2 -1
  20. package/core/dashboard/wiget-time-context/widget-time-context-helper.service.d.ts.map +1 -1
  21. package/core/dashboard/wiget-time-context/widget-time-context-query.service.d.ts.map +1 -1
  22. package/core/dashboard/wiget-time-context/widget-time-context.component.d.ts +2 -1
  23. package/core/dashboard/wiget-time-context/widget-time-context.component.d.ts.map +1 -1
  24. package/core/dashboard/wiget-time-context/widget-time-context.model.d.ts +1 -14
  25. package/core/dashboard/wiget-time-context/widget-time-context.model.d.ts.map +1 -1
  26. package/core/date-time-picker/date-time-picker.component.d.ts.map +1 -1
  27. package/esm2022/alarm-event-selector/alarm-event-selection-list/alarm-event-selection-list.component.mjs +4 -4
  28. package/esm2022/alarm-event-selector/alarm-event-selector-list-item/alarm-event-selector-list-item.component.mjs +3 -3
  29. package/esm2022/alarms/alarms-date-filter.component.mjs +139 -0
  30. package/esm2022/alarms/alarms-filter.component.mjs +11 -5
  31. package/esm2022/alarms/alarms-type-filter.component.mjs +3 -3
  32. package/esm2022/alarms/alarms-view.service.mjs +15 -2
  33. package/esm2022/alarms/alarms.component.mjs +12 -6
  34. package/esm2022/alarms/alarms.model.mjs +17 -1
  35. package/esm2022/alarms/alarms.module.mjs +11 -4
  36. package/esm2022/branding/shared/data/store-branding.service.mjs +24 -1
  37. package/esm2022/branding/shared/lazy/branding/branding.component.mjs +3 -1
  38. package/esm2022/core/action-bar/action-bar.component.mjs +3 -3
  39. package/esm2022/core/dashboard/dashboard.module.mjs +5 -4
  40. package/esm2022/core/dashboard/widget-change-event.model.mjs +1 -1
  41. package/esm2022/core/dashboard/wiget-time-context/widget-time-context-helper.service.mjs +3 -2
  42. package/esm2022/core/dashboard/wiget-time-context/widget-time-context-query.service.mjs +1 -1
  43. package/esm2022/core/dashboard/wiget-time-context/widget-time-context.component.mjs +6 -5
  44. package/esm2022/core/dashboard/wiget-time-context/widget-time-context.model.mjs +3 -47
  45. package/esm2022/core/date-time-picker/date-time-picker.component.mjs +7 -1
  46. package/esm2022/core/list-display-switch/list-display-switch.component.mjs +3 -3
  47. package/esm2022/interval-picker/c8y-ngx-components-interval-picker.mjs +5 -0
  48. package/esm2022/interval-picker/index.mjs +3 -0
  49. package/esm2022/interval-picker/interval-picker.component.mjs +68 -0
  50. package/esm2022/interval-picker/interval-picker.model.mjs +47 -0
  51. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +5 -5
  52. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs.map +1 -1
  53. package/fesm2022/c8y-ngx-components-alarms.mjs +184 -16
  54. package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
  55. package/fesm2022/c8y-ngx-components-branding-shared-data.mjs +23 -0
  56. package/fesm2022/c8y-ngx-components-branding-shared-data.mjs.map +1 -1
  57. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs +2 -0
  58. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs.map +1 -1
  59. package/fesm2022/c8y-ngx-components-interval-picker.mjs +120 -0
  60. package/fesm2022/c8y-ngx-components-interval-picker.mjs.map +1 -0
  61. package/fesm2022/c8y-ngx-components.mjs +17 -101
  62. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  63. package/interval-picker/c8y-ngx-components-interval-picker.d.ts.map +1 -0
  64. package/interval-picker/index.d.ts +3 -0
  65. package/interval-picker/index.d.ts.map +1 -0
  66. package/{core/dashboard/wiget-time-context/interval-picker → interval-picker}/interval-picker.component.d.ts +10 -2
  67. package/interval-picker/interval-picker.component.d.ts.map +1 -0
  68. package/interval-picker/interval-picker.model.d.ts +15 -0
  69. package/interval-picker/interval-picker.model.d.ts.map +1 -0
  70. package/locales/locales.pot +9 -3
  71. package/package.json +1 -1
  72. package/core/dashboard/wiget-time-context/interval-picker/interval-picker.component.d.ts.map +0 -1
  73. package/esm2022/core/dashboard/wiget-time-context/interval-picker/interval-picker.component.mjs +0 -55
@@ -0,0 +1,120 @@
1
+ import * as i0 from '@angular/core';
2
+ import { forwardRef, Component, Input } from '@angular/core';
3
+ import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import * as i2 from '@angular/common';
5
+ import { CommonModule } from '@angular/common';
6
+ import { BsDropdownModule } from 'ngx-bootstrap/dropdown';
7
+ import { A11yModule } from '@angular/cdk/a11y';
8
+ import { gettext } from '@c8y/ngx-components/gettext';
9
+ import * as i1 from '@ngx-translate/core';
10
+
11
+ const todayDate = new Date();
12
+ var TimeSpanInMs;
13
+ (function (TimeSpanInMs) {
14
+ TimeSpanInMs[TimeSpanInMs["MINUTE"] = 60000] = "MINUTE";
15
+ TimeSpanInMs[TimeSpanInMs["HOUR"] = 3600000] = "HOUR";
16
+ TimeSpanInMs[TimeSpanInMs["DAY"] = 86400000] = "DAY";
17
+ TimeSpanInMs[TimeSpanInMs["WEEK"] = 604800000] = "WEEK";
18
+ TimeSpanInMs[TimeSpanInMs["MONTH"] = todayDate.valueOf() - new Date(todayDate.setMonth(todayDate.getMonth() - 1)).valueOf()] = "MONTH";
19
+ })(TimeSpanInMs || (TimeSpanInMs = {}));
20
+ const INTERVALS = [
21
+ {
22
+ id: 'minutes',
23
+ title: gettext('Last minute'),
24
+ timespanInMs: TimeSpanInMs.MINUTE
25
+ },
26
+ {
27
+ id: 'hours',
28
+ title: gettext('Last hour'),
29
+ timespanInMs: TimeSpanInMs.HOUR
30
+ },
31
+ {
32
+ id: 'days',
33
+ title: gettext('Last day'),
34
+ timespanInMs: TimeSpanInMs.DAY
35
+ },
36
+ {
37
+ id: 'weeks',
38
+ title: gettext('Last week'),
39
+ timespanInMs: TimeSpanInMs.WEEK
40
+ },
41
+ {
42
+ id: 'months',
43
+ title: gettext('Last month'),
44
+ timespanInMs: TimeSpanInMs.MONTH
45
+ },
46
+ { id: 'custom', title: gettext('Custom') }
47
+ ];
48
+ const INTERVAL_TITLES = {
49
+ minutes: gettext('Last minute'),
50
+ hours: gettext('Last hour'),
51
+ days: gettext('Last day'),
52
+ weeks: gettext('Last week'),
53
+ months: gettext('Last month'),
54
+ custom: gettext('Custom')
55
+ };
56
+
57
+ class IntervalPickerComponent {
58
+ constructor(translate) {
59
+ this.translate = translate;
60
+ this.INTERVALS = INTERVALS;
61
+ this.touched = false;
62
+ this.disabled = false;
63
+ this.translatedIntervals = [];
64
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
65
+ this.onChange = _ => { };
66
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
67
+ this.onTouched = () => { };
68
+ }
69
+ ngOnInit() {
70
+ this.translatedIntervals = this.INTERVALS.map(interval => ({
71
+ ...interval,
72
+ title: this.translate.instant(interval.title)
73
+ }));
74
+ }
75
+ writeValue(value) {
76
+ this.value = value;
77
+ }
78
+ registerOnChange(fn) {
79
+ this.onChange = fn;
80
+ }
81
+ registerOnTouched(onTouched) {
82
+ this.onTouched = onTouched;
83
+ }
84
+ markAsTouched() {
85
+ if (!this.touched) {
86
+ this.onTouched();
87
+ this.touched = true;
88
+ }
89
+ }
90
+ setDisabledState(disabled) {
91
+ this.disabled = disabled;
92
+ }
93
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IntervalPickerComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
94
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: IntervalPickerComponent, isStandalone: true, selector: "c8y-interval-picker", inputs: { INTERVALS: "INTERVALS" }, providers: [
95
+ {
96
+ provide: NG_VALUE_ACCESSOR,
97
+ useExisting: forwardRef(() => IntervalPickerComponent),
98
+ multi: true
99
+ }
100
+ ], ngImport: i0, template: "<li\n *ngFor=\"let interval of translatedIntervals\"\n [ngClass]=\"{\n active: interval.id === value\n }\"\n>\n <button\n type=\"button\"\n (click)=\"onChange(interval.id)\"\n >\n <span\n [ngClass]=\"{\n 'text-primary': interval.id === value\n }\"\n >\n <span\n c8yIcon=\"check\"\n [ngStyle]=\"{ visibility: interval.id === value ? 'visible' : 'hidden' }\"\n ></span>\n {{ interval.title }}\n </span>\n </button>\n</li>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: A11yModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: BsDropdownModule }] }); }
101
+ }
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IntervalPickerComponent, decorators: [{
103
+ type: Component,
104
+ args: [{ selector: 'c8y-interval-picker', providers: [
105
+ {
106
+ provide: NG_VALUE_ACCESSOR,
107
+ useExisting: forwardRef(() => IntervalPickerComponent),
108
+ multi: true
109
+ }
110
+ ], standalone: true, imports: [CommonModule, FormsModule, A11yModule, ReactiveFormsModule, BsDropdownModule], template: "<li\n *ngFor=\"let interval of translatedIntervals\"\n [ngClass]=\"{\n active: interval.id === value\n }\"\n>\n <button\n type=\"button\"\n (click)=\"onChange(interval.id)\"\n >\n <span\n [ngClass]=\"{\n 'text-primary': interval.id === value\n }\"\n >\n <span\n c8yIcon=\"check\"\n [ngStyle]=\"{ visibility: interval.id === value ? 'visible' : 'hidden' }\"\n ></span>\n {{ interval.title }}\n </span>\n </button>\n</li>\n" }]
111
+ }], ctorParameters: () => [{ type: i1.TranslateService }], propDecorators: { INTERVALS: [{
112
+ type: Input
113
+ }] } });
114
+
115
+ /**
116
+ * Generated bundle index. Do not edit.
117
+ */
118
+
119
+ export { INTERVALS, INTERVAL_TITLES, IntervalPickerComponent, TimeSpanInMs };
120
+ //# sourceMappingURL=c8y-ngx-components-interval-picker.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c8y-ngx-components-interval-picker.mjs","sources":["../../interval-picker/interval-picker.model.ts","../../interval-picker/interval-picker.component.ts","../../interval-picker/interval-picker.component.html","../../interval-picker/c8y-ngx-components-interval-picker.ts"],"sourcesContent":["import { gettext } from '@c8y/ngx-components/gettext';\n\nconst todayDate = new Date();\nexport enum TimeSpanInMs {\n 'MINUTE' = 1000 * 60,\n 'HOUR' = 1000 * 60 * 60,\n 'DAY' = 1000 * 60 * 60 * 24,\n 'WEEK' = 1000 * 60 * 60 * 24 * 7,\n 'MONTH' = todayDate.valueOf() - new Date(todayDate.setMonth(todayDate.getMonth() - 1)).valueOf()\n}\n\nexport type Interval = {\n id: 'minutes' | 'hours' | 'days' | 'weeks' | 'months' | 'custom';\n title: string;\n timespanInMs?: number;\n};\n\nexport const INTERVALS: Interval[] = [\n {\n id: 'minutes',\n title: gettext('Last minute'),\n timespanInMs: TimeSpanInMs.MINUTE\n },\n {\n id: 'hours',\n title: gettext('Last hour'),\n timespanInMs: TimeSpanInMs.HOUR\n },\n {\n id: 'days',\n title: gettext('Last day'),\n timespanInMs: TimeSpanInMs.DAY\n },\n {\n id: 'weeks',\n title: gettext('Last week'),\n timespanInMs: TimeSpanInMs.WEEK\n },\n {\n id: 'months',\n title: gettext('Last month'),\n timespanInMs: TimeSpanInMs.MONTH\n },\n { id: 'custom', title: gettext('Custom') }\n];\n\nexport const INTERVAL_TITLES: Record<Interval['id'], string> = {\n minutes: gettext('Last minute'),\n hours: gettext('Last hour'),\n days: gettext('Last day'),\n weeks: gettext('Last week'),\n months: gettext('Last month'),\n custom: gettext('Custom')\n};\n","import { Component, forwardRef, Input } from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n FormsModule,\n ReactiveFormsModule\n} from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { Interval, INTERVALS } from './interval-picker.model';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'c8y-interval-picker',\n templateUrl: './interval-picker.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => IntervalPickerComponent),\n multi: true\n }\n ],\n standalone: true,\n imports: [CommonModule, FormsModule, A11yModule, ReactiveFormsModule, BsDropdownModule]\n})\nexport class IntervalPickerComponent implements ControlValueAccessor {\n @Input() INTERVALS = INTERVALS;\n\n value: Interval['id'];\n touched = false;\n disabled = false;\n translatedIntervals: { id: string; title: string }[] = [];\n\n constructor(private translate: TranslateService) {}\n\n ngOnInit() {\n this.translatedIntervals = this.INTERVALS.map(interval => ({\n ...interval,\n title: this.translate.instant(interval.title)\n }));\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange = _ => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouched = () => {};\n\n writeValue(value: Interval['id']) {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(onTouched: any) {\n this.onTouched = onTouched;\n }\n\n markAsTouched() {\n if (!this.touched) {\n this.onTouched();\n this.touched = true;\n }\n }\n\n setDisabledState(disabled: boolean) {\n this.disabled = disabled;\n }\n}\n","<li\n *ngFor=\"let interval of translatedIntervals\"\n [ngClass]=\"{\n active: interval.id === value\n }\"\n>\n <button\n type=\"button\"\n (click)=\"onChange(interval.id)\"\n >\n <span\n [ngClass]=\"{\n 'text-primary': interval.id === value\n }\"\n >\n <span\n c8yIcon=\"check\"\n [ngStyle]=\"{ visibility: interval.id === value ? 'visible' : 'hidden' }\"\n ></span>\n {{ interval.title }}\n </span>\n </button>\n</li>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -62,6 +62,8 @@ import { TextFieldModule } from '@angular/cdk/text-field';
62
62
  import { FormlyJsonschema } from '@ngx-formly/core/json-schema';
63
63
  import * as i5$2 from '@angular/cdk/drag-drop';
64
64
  import { DragDropModule } from '@angular/cdk/drag-drop';
65
+ import * as i18 from '@c8y/ngx-components/interval-picker';
66
+ import { TimeSpanInMs, INTERVALS, INTERVAL_TITLES, IntervalPickerComponent } from '@c8y/ngx-components/interval-picker';
65
67
  import * as i9 from '@angular/cdk/table';
66
68
  import { CdkTable, CdkHeaderCell, CdkTableModule } from '@angular/cdk/table';
67
69
  import * as i19 from 'ngx-bootstrap/pagination';
@@ -10369,11 +10371,11 @@ class ActionBarComponent {
10369
10371
  return -item.priority;
10370
10372
  }
10371
10373
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ActionBarComponent, deps: [{ token: GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
10372
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: ActionBarComponent, selector: "c8y-action-bar", inputs: { navigatorOpen: "navigatorOpen", hasTabs: "hasTabs", hasHeader: "hasHeader", isTabsHorizontal: "isTabsHorizontal", items$: "items$" }, host: { listeners: { "mousedown": "mouseDown($event.target)" }, properties: { "class.navigator-open": "this.navigatorOpen", "class.has-tabs": "this.hasTabs", "class.has-header": "this.hasHeader", "class.horizontal-tabs": "this.isTabsHorizontal", "class.c8y-ui-action-bar": "this.uiActionBar", "hidden": "this.hidden" }, classAttribute: "c8y-ui-action-bar" }, ngImport: i0, template: "<div\n class=\"navbar-header\"\n role=\"presentation\"\n>\n <p class=\"text-label-small p-l-16 p-t-8 p-b-8 visible-xs\">\n <span class=\"text-primary\">{{ 'Action bar' | translate }}</span>\n </p>\n</div>\n\n<div\n class=\"navbar-collapse\"\n id=\"page-toolbar\"\n role=\"complementary\"\n>\n <ul class=\"nav navbar-nav navbar-left gap-sm-8 p-l-sm-16\">\n <ng-container *ngFor=\"let item of left$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </ul>\n <ul class=\"nav navbar-nav navbar-right gap-sm-8\">\n <ng-container *ngFor=\"let item of right$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n <li *ngIf=\"(more$ | async).length === 1; else moreWithMultipleOptions\">\n <ng-container *ngFor=\"let item of more$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </li>\n <ng-template #moreWithMultipleOptions>\n <li\n class=\"no-remove more-wrapper\"\n *ngIf=\"(more$ | async).length > 1\"\n >\n <div\n class=\"dropdown\"\n dropdown\n >\n <c8y-action-bar-item\n [placement]=\"'right'\"\n >\n <button\n class=\"dropdown-toggle c8y-dropdown d-flex\"\n title=\"{{ 'More\u2026' | translate }}\"\n aria-haspopup=\"true\"\n type=\"button\"\n dropdownToggle\n data-cy=\"action-bar--button-more\"\n >\n <span\n class=\"text-truncate\"\n translate\n >\n More\u2026\n </span>\n <i [c8yIcon]=\"'caret-down'\"></i>\n </button>\n <ul class=\"dropdown-menu visible-xs\">\n <ng-container *ngFor=\"let item of more$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </ul>\n <ul\n class=\"dropdown-menu dropdown-menu-right hidden-xs\"\n *dropdownMenu\n >\n <ng-container *ngFor=\"let item of more$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </ul>\n </c8y-action-bar-item>\n </div>\n </li>\n </ng-template>\n </ul>\n</div>\n", dependencies: [{ kind: "directive", type: i2$2.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i2$2.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i2$2.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: OutletDirective, selector: "[c8yOutlet]", inputs: ["c8yOutlet", "c8yOutletProperties", "c8yOutletInjector"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
10374
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: ActionBarComponent, selector: "c8y-action-bar", inputs: { navigatorOpen: "navigatorOpen", hasTabs: "hasTabs", hasHeader: "hasHeader", isTabsHorizontal: "isTabsHorizontal", items$: "items$" }, host: { listeners: { "mousedown": "mouseDown($event.target)" }, properties: { "class.navigator-open": "this.navigatorOpen", "class.has-tabs": "this.hasTabs", "class.has-header": "this.hasHeader", "class.horizontal-tabs": "this.isTabsHorizontal", "class.c8y-ui-action-bar": "this.uiActionBar", "hidden": "this.hidden" }, classAttribute: "c8y-ui-action-bar" }, ngImport: i0, template: "<div\n class=\"navbar-header\"\n role=\"presentation\"\n>\n <p class=\"text-label-small p-l-16 p-t-8 p-b-8 visible-xs\">\n <span class=\"text-primary\">{{ 'Action bar' | translate }}</span>\n </p>\n</div>\n\n<div\n class=\"navbar-collapse\"\n id=\"page-toolbar\"\n role=\"complementary\"\n>\n <ul class=\"nav navbar-nav navbar-left gap-sm-8 p-l-sm-16 p-l-lg-0\">\n <ng-container *ngFor=\"let item of left$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </ul>\n <ul class=\"nav navbar-nav navbar-right gap-sm-8\">\n <ng-container *ngFor=\"let item of right$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n <li *ngIf=\"(more$ | async).length === 1; else moreWithMultipleOptions\">\n <ng-container *ngFor=\"let item of more$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </li>\n <ng-template #moreWithMultipleOptions>\n <li\n class=\"no-remove more-wrapper\"\n *ngIf=\"(more$ | async).length > 1\"\n >\n <div\n class=\"dropdown\"\n dropdown\n >\n <c8y-action-bar-item\n [placement]=\"'right'\"\n >\n <button\n class=\"dropdown-toggle c8y-dropdown d-flex\"\n title=\"{{ 'More\u2026' | translate }}\"\n aria-haspopup=\"true\"\n type=\"button\"\n dropdownToggle\n data-cy=\"action-bar--button-more\"\n >\n <span\n class=\"text-truncate\"\n translate\n >\n More\u2026\n </span>\n <i [c8yIcon]=\"'caret-down'\"></i>\n </button>\n <ul class=\"dropdown-menu visible-xs\">\n <ng-container *ngFor=\"let item of more$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </ul>\n <ul\n class=\"dropdown-menu dropdown-menu-right hidden-xs\"\n *dropdownMenu\n >\n <ng-container *ngFor=\"let item of more$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </ul>\n </c8y-action-bar-item>\n </div>\n </li>\n </ng-template>\n </ul>\n</div>\n", dependencies: [{ kind: "directive", type: i2$2.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i2$2.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i2$2.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: OutletDirective, selector: "[c8yOutlet]", inputs: ["c8yOutlet", "c8yOutletProperties", "c8yOutletInjector"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
10373
10375
  }
10374
10376
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ActionBarComponent, decorators: [{
10375
10377
  type: Component,
10376
- args: [{ selector: 'c8y-action-bar', host: { class: 'c8y-ui-action-bar' }, template: "<div\n class=\"navbar-header\"\n role=\"presentation\"\n>\n <p class=\"text-label-small p-l-16 p-t-8 p-b-8 visible-xs\">\n <span class=\"text-primary\">{{ 'Action bar' | translate }}</span>\n </p>\n</div>\n\n<div\n class=\"navbar-collapse\"\n id=\"page-toolbar\"\n role=\"complementary\"\n>\n <ul class=\"nav navbar-nav navbar-left gap-sm-8 p-l-sm-16\">\n <ng-container *ngFor=\"let item of left$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </ul>\n <ul class=\"nav navbar-nav navbar-right gap-sm-8\">\n <ng-container *ngFor=\"let item of right$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n <li *ngIf=\"(more$ | async).length === 1; else moreWithMultipleOptions\">\n <ng-container *ngFor=\"let item of more$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </li>\n <ng-template #moreWithMultipleOptions>\n <li\n class=\"no-remove more-wrapper\"\n *ngIf=\"(more$ | async).length > 1\"\n >\n <div\n class=\"dropdown\"\n dropdown\n >\n <c8y-action-bar-item\n [placement]=\"'right'\"\n >\n <button\n class=\"dropdown-toggle c8y-dropdown d-flex\"\n title=\"{{ 'More\u2026' | translate }}\"\n aria-haspopup=\"true\"\n type=\"button\"\n dropdownToggle\n data-cy=\"action-bar--button-more\"\n >\n <span\n class=\"text-truncate\"\n translate\n >\n More\u2026\n </span>\n <i [c8yIcon]=\"'caret-down'\"></i>\n </button>\n <ul class=\"dropdown-menu visible-xs\">\n <ng-container *ngFor=\"let item of more$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </ul>\n <ul\n class=\"dropdown-menu dropdown-menu-right hidden-xs\"\n *dropdownMenu\n >\n <ng-container *ngFor=\"let item of more$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </ul>\n </c8y-action-bar-item>\n </div>\n </li>\n </ng-template>\n </ul>\n</div>\n" }]
10378
+ args: [{ selector: 'c8y-action-bar', host: { class: 'c8y-ui-action-bar' }, template: "<div\n class=\"navbar-header\"\n role=\"presentation\"\n>\n <p class=\"text-label-small p-l-16 p-t-8 p-b-8 visible-xs\">\n <span class=\"text-primary\">{{ 'Action bar' | translate }}</span>\n </p>\n</div>\n\n<div\n class=\"navbar-collapse\"\n id=\"page-toolbar\"\n role=\"complementary\"\n>\n <ul class=\"nav navbar-nav navbar-left gap-sm-8 p-l-sm-16 p-l-lg-0\">\n <ng-container *ngFor=\"let item of left$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </ul>\n <ul class=\"nav navbar-nav navbar-right gap-sm-8\">\n <ng-container *ngFor=\"let item of right$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n <li *ngIf=\"(more$ | async).length === 1; else moreWithMultipleOptions\">\n <ng-container *ngFor=\"let item of more$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </li>\n <ng-template #moreWithMultipleOptions>\n <li\n class=\"no-remove more-wrapper\"\n *ngIf=\"(more$ | async).length > 1\"\n >\n <div\n class=\"dropdown\"\n dropdown\n >\n <c8y-action-bar-item\n [placement]=\"'right'\"\n >\n <button\n class=\"dropdown-toggle c8y-dropdown d-flex\"\n title=\"{{ 'More\u2026' | translate }}\"\n aria-haspopup=\"true\"\n type=\"button\"\n dropdownToggle\n data-cy=\"action-bar--button-more\"\n >\n <span\n class=\"text-truncate\"\n translate\n >\n More\u2026\n </span>\n <i [c8yIcon]=\"'caret-down'\"></i>\n </button>\n <ul class=\"dropdown-menu visible-xs\">\n <ng-container *ngFor=\"let item of more$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </ul>\n <ul\n class=\"dropdown-menu dropdown-menu-right hidden-xs\"\n *dropdownMenu\n >\n <ng-container *ngFor=\"let item of more$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </ul>\n </c8y-action-bar-item>\n </div>\n </li>\n </ng-template>\n </ul>\n</div>\n" }]
10377
10379
  }], ctorParameters: () => [{ type: GainsightService }], propDecorators: { navigatorOpen: [{
10378
10380
  type: Input
10379
10381
  }, {
@@ -25119,6 +25121,12 @@ class DateTimePickerComponent {
25119
25121
  if (!dateTime.date) {
25120
25122
  dateTime.date = dateTime.time;
25121
25123
  }
25124
+ // if dateTime.date is not a date then make form invalid
25125
+ if (isNaN(dateTime.date.getTime())) {
25126
+ this.form.controls.date.setErrors({ invalidDate: true });
25127
+ this.onChange(null);
25128
+ return;
25129
+ }
25122
25130
  this.date = new Date(dateTime.date);
25123
25131
  this.date.setHours(dateTime.time.getHours(), dateTime.time.getMinutes());
25124
25132
  this.form.get('date').setValue(dateTime.date, { emitEvent: false });
@@ -27361,51 +27369,6 @@ var DateContextQueryParamNames;
27361
27369
  DateContextQueryParamNames["DATE_CONTEXT_REALTIME"] = "dateContextRealtime";
27362
27370
  DateContextQueryParamNames["DATE_CONTEXT_AGGREGATION"] = "dateContextAggregation";
27363
27371
  })(DateContextQueryParamNames || (DateContextQueryParamNames = {}));
27364
- const todayDate = new Date();
27365
- var TimeSpanInMs;
27366
- (function (TimeSpanInMs) {
27367
- TimeSpanInMs[TimeSpanInMs["MINUTE"] = 60000] = "MINUTE";
27368
- TimeSpanInMs[TimeSpanInMs["HOUR"] = 3600000] = "HOUR";
27369
- TimeSpanInMs[TimeSpanInMs["DAY"] = 86400000] = "DAY";
27370
- TimeSpanInMs[TimeSpanInMs["WEEK"] = 604800000] = "WEEK";
27371
- TimeSpanInMs[TimeSpanInMs["MONTH"] = todayDate.valueOf() - new Date(todayDate.setMonth(todayDate.getMonth() - 1)).valueOf()] = "MONTH";
27372
- })(TimeSpanInMs || (TimeSpanInMs = {}));
27373
- const INTERVALS = [
27374
- {
27375
- id: 'minutes',
27376
- title: gettext$1('Last minute'),
27377
- timespanInMs: TimeSpanInMs.MINUTE
27378
- },
27379
- {
27380
- id: 'hours',
27381
- title: gettext$1('Last hour'),
27382
- timespanInMs: TimeSpanInMs.HOUR
27383
- },
27384
- {
27385
- id: 'days',
27386
- title: gettext$1('Last day'),
27387
- timespanInMs: TimeSpanInMs.DAY
27388
- },
27389
- {
27390
- id: 'weeks',
27391
- title: gettext$1('Last week'),
27392
- timespanInMs: TimeSpanInMs.WEEK
27393
- },
27394
- {
27395
- id: 'months',
27396
- title: gettext$1('Last month'),
27397
- timespanInMs: TimeSpanInMs.MONTH
27398
- },
27399
- { id: 'custom', title: gettext$1('Custom') }
27400
- ];
27401
- const INTERVAL_TITLES = {
27402
- minutes: gettext$1('Last minute'),
27403
- hours: gettext$1('Last hour'),
27404
- days: gettext$1('Last day'),
27405
- weeks: gettext$1('Last week'),
27406
- months: gettext$1('Last month'),
27407
- custom: gettext$1('Custom')
27408
- };
27409
27372
  const AGGREGATIONS = [
27410
27373
  { id: null, title: gettext$1('None') },
27411
27374
  { id: aggregationType.MINUTELY, title: gettext$1('Minutely') },
@@ -28035,54 +27998,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
28035
27998
  args: [{ providedIn: 'root' }]
28036
27999
  }], ctorParameters: () => [{ type: i1$4.ActivatedRoute }, { type: WidgetTimeContextHelperService }, { type: i1$4.Router }] });
28037
28000
 
28038
- class IntervalPickerComponent {
28039
- constructor() {
28040
- this.INTERVALS = INTERVALS;
28041
- this.touched = false;
28042
- this.disabled = false;
28043
- // eslint-disable-next-line @typescript-eslint/no-empty-function
28044
- this.onChange = _ => { };
28045
- // eslint-disable-next-line @typescript-eslint/no-empty-function
28046
- this.onTouched = () => { };
28047
- }
28048
- writeValue(value) {
28049
- this.value = value;
28050
- }
28051
- registerOnChange(fn) {
28052
- this.onChange = fn;
28053
- }
28054
- registerOnTouched(onTouched) {
28055
- this.onTouched = onTouched;
28056
- }
28057
- markAsTouched() {
28058
- if (!this.touched) {
28059
- this.onTouched();
28060
- this.touched = true;
28061
- }
28062
- }
28063
- setDisabledState(disabled) {
28064
- this.disabled = disabled;
28065
- }
28066
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IntervalPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28067
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: IntervalPickerComponent, selector: "c8y-interval-picker", providers: [
28068
- {
28069
- provide: NG_VALUE_ACCESSOR,
28070
- useExisting: forwardRef(() => IntervalPickerComponent),
28071
- multi: true
28072
- }
28073
- ], ngImport: i0, template: "<li\n *ngFor=\"let interval of INTERVALS\"\n [ngClass]=\"{\n active: interval.id === value\n }\"\n>\n <button\n type=\"button\"\n (click)=\"onChange(interval.id)\"\n >\n <span\n [ngClass]=\"{\n 'text-primary': interval.id === value\n }\"\n >\n <span\n c8yIcon=\"check\"\n [ngStyle]=\"{ visibility: interval.id === value ? 'visible' : 'hidden' }\"\n ></span>\n {{ interval.title | translate }}\n </span>\n </button>\n</li>\n", dependencies: [{ kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
28074
- }
28075
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IntervalPickerComponent, decorators: [{
28076
- type: Component,
28077
- args: [{ selector: 'c8y-interval-picker', providers: [
28078
- {
28079
- provide: NG_VALUE_ACCESSOR,
28080
- useExisting: forwardRef(() => IntervalPickerComponent),
28081
- multi: true
28082
- }
28083
- ], template: "<li\n *ngFor=\"let interval of INTERVALS\"\n [ngClass]=\"{\n active: interval.id === value\n }\"\n>\n <button\n type=\"button\"\n (click)=\"onChange(interval.id)\"\n >\n <span\n [ngClass]=\"{\n 'text-primary': interval.id === value\n }\"\n >\n <span\n c8yIcon=\"check\"\n [ngStyle]=\"{ visibility: interval.id === value ? 'visible' : 'hidden' }\"\n ></span>\n {{ interval.title | translate }}\n </span>\n </button>\n</li>\n" }]
28084
- }] });
28085
-
28086
28001
  class RealtimeControlComponent {
28087
28002
  constructor() {
28088
28003
  this.disableRealtimeLabel = gettext$1('Disable realtime');
@@ -28583,7 +28498,7 @@ class WidgetTimeContextComponent {
28583
28498
  }
28584
28499
  }
28585
28500
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: WidgetTimeContextComponent, deps: [{ token: WidgetsDashboardEventService }, { token: DashboardChildComponent }, { token: i1$6.FormBuilder }, { token: WidgetTimeContextQueryService }, { token: WidgetTimeContextHelperService }, { token: i1$4.Router }, { token: ActionBarService }], target: i0.ɵɵFactoryTarget.Component }); }
28586
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: WidgetTimeContextComponent, selector: "c8y-widget-time-context", inputs: { canDecouple: "canDecouple", displaySettings: "displaySettings", hidden: "hidden" }, outputs: { dateContextChange: "dateContextChange" }, host: { classAttribute: "d-flex a-i-center gap-4" }, viewQueries: [{ propertyName: "action", first: true, predicate: DashboardChildActionComponent, descendants: true }, { propertyName: "dropdown", first: true, predicate: BsDropdownDirective, descendants: true }], ngImport: i0, template: "<c8y-action-bar-item\n *ngIf=\"isCoupled && !hidden\"\n [groupId]=\"ACTION_BAR_GROUP_ID\"\n [inGroupPriority]=\"actionBarInGroupPriority\"\n [placement]=\"'left'\"\n>\n <ng-container\n [ngTemplateOutlet]=\"dateTimePicker\"\n [ngTemplateOutletContext]=\"{\n date: [form.value.currentDateContextFromDate, form.value.currentDateContextToDate]\n }\"\n ></ng-container>\n</c8y-action-bar-item>\n\n<ng-container\n *ngIf=\"!isCoupled\"\n [ngTemplateOutlet]=\"dateTimePicker\"\n [ngTemplateOutletContext]=\"{\n date: [form.value.currentDateContextFromDate, form.value.currentDateContextToDate]\n }\"\n></ng-container>\n\n<ng-template\n #dateTimePicker\n let-date=\"date\"\n>\n <form\n class=\"d-flex gap-16 p-l-xs-16 p-r-xs-16 m-t-xs-8 m-b-xs-8\"\n [formGroup]=\"form\"\n >\n <ng-container *ngIf=\"displaySettings.globalTimeContext\">\n <div>\n <div\n class=\"dropdown flex-grow\"\n #dropdown=\"bs-dropdown\"\n \n dropdown\n [insideClick]=\"true\"\n *ngIf=\"date\"\n >\n <button\n data-cy=\"widget-time-context--date-picker-dropdown-button\"\n class=\"dropdown-toggle form-control l-h-tight d-flex a-i-center\"\n attr.aria-label=\"{{ date[0] | c8yDate: DATE_FORMAT }} \u2014 {{\n date[1] | c8yDate: DATE_FORMAT\n }}\"\n tooltip=\"{{ date[0] | c8yDate: DATE_FORMAT }} \u2014 {{ date[1] | c8yDate: DATE_FORMAT }}\"\n placement=\"top\"\n container=\"body\"\n [adaptivePosition]=\"false\"\n [delay]=\"500\"\n dropdownToggle\n >\n <i\n class=\"m-r-4 \"\n c8yIcon=\"schedule1\"\n ></i>\n <div class=\"d-col text-left fit-w\">\n <span class=\"text-12\" data-cy=\"widget-time-context--selected-interval\">\n {{ INTERVAL_TITLES[form.controls.currentDateContextInterval.value] | translate }}\n </span>\n <span\n class=\"text-10 text-muted text-truncate\"\n data-cy=\"widget-time-context--selected-time-range\"\n >\n {{ date[0] | c8yDate: DATE_FORMAT }} \u2014 {{ date[1] | c8yDate: DATE_FORMAT }}\n </span>\n </div>\n <span class=\"caret m-r-16 m-l-4\"></span>\n </button>\n\n <ul\n class=\"dropdown-menu dropdown-menu--date-range\"\n *dropdownMenu\n >\n <c8y-interval-picker\n class=\"d-contents\"\n formControlName=\"currentDateContextInterval\"\n ></c8y-interval-picker>\n\n <ng-container *ngIf=\"form.controls.currentDateContextInterval.value === 'custom'\">\n <div class=\"p-l-16 p-r-16\">\n <c8y-form-group\n [ngClass]=\"form.controls.temporaryUserSelectedFromDate.errors ? 'has-error' : ''\"\n >\n <label\n [title]=\"'From`date`' | translate\"\n for=\"temporaryUserSelectedFromDate\"\n translate\n >\n From`date`\n </label>\n <c8y-date-time-picker\n id=\"temporaryUserSelectedFromDate\"\n [maxDate]=\"form.value.temporaryUserSelectedToDate\"\n [placeholder]=\"'From`date`' | translate\"\n [formControl]=\"form.controls.temporaryUserSelectedFromDate\"\n [ngClass]=\"form.controls.temporaryUserSelectedFromDate.errors ? 'has-error' : ''\"\n ></c8y-date-time-picker>\n <c8y-messages [show]=\"form.controls.temporaryUserSelectedFromDate.errors\">\n <c8y-message\n name=\"dateAfterRangeMax\"\n [text]=\"'This date is after the latest allowed date.' | translate\"\n ></c8y-message>\n <c8y-message\n name=\"invalidDateTime\"\n [text]=\"'This date is invalid.' | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n\n <c8y-form-group\n [ngClass]=\"form.controls.temporaryUserSelectedToDate.errors ? 'has-error' : ''\"\n >\n <label\n [title]=\"'To`date`' | translate\"\n for=\"temporaryUserSelectedToDate\"\n translate\n >\n To`date`\n </label>\n <c8y-date-time-picker\n id=\"temporaryUserSelectedToDate\"\n [minDate]=\"form.value.temporaryUserSelectedFromDate\"\n [placeholder]=\"'To`date`' | translate\"\n [formControl]=\"form.controls.temporaryUserSelectedToDate\"\n [ngClass]=\"form.controls.temporaryUserSelectedToDate.errors ? 'has-error' : ''\"\n ></c8y-date-time-picker>\n <c8y-messages [show]=\"form.controls.temporaryUserSelectedToDate.errors\">\n <c8y-message\n name=\"dateBeforeRangeMin\"\n [text]=\"'This date is before the earliest allowed date.' | translate\"\n ></c8y-message>\n <c8y-message\n name=\"invalidDateTime\"\n [text]=\"'This date is invalid.' | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n </div>\n\n <div class=\"p-16 d-flex gap-8 separator-top\">\n <button\n class=\"btn btn-default btn-sm flex-grow\"\n title=\"{{ 'Reset' | translate }}\"\n type=\"button\"\n (click)=\"reset(); dropdown.isOpen = false\"\n [disabled]=\"form.value.realtime\"\n translate\n >\n Reset\n </button>\n\n <button\n class=\"btn btn-primary btn-sm flex-grow\"\n title=\"{{ 'Apply' | translate }}\"\n type=\"button\"\n (click)=\"applyDatetimeContext(); dropdown.isOpen = false\"\n [disabled]=\"\n (form.pristine && form.untouched) || form.invalid || form.value.realtime\n \"\n translate\n >\n Apply\n </button>\n </div>\n </ng-container>\n </ul>\n </div>\n </div>\n </ng-container>\n\n <div class=\"input-group w-auto\">\n <c8y-realtime-control\n *ngIf=\"displaySettings.globalRealtimeContext\"\n formControlName=\"realtime\"\n class=\"form-control p-0 flex-no-grow w-auto\"\n ></c8y-realtime-control>\n\n <c8y-aggregation-picker\n *ngIf=\"displaySettings.globalAggregationContext\"\n formControlName=\"aggregation\"\n [disabledAggregations]=\"disabledAggregations\"\n ></c8y-aggregation-picker>\n </div>\n </form>\n</ng-template>\n\n<c8y-dashboard-child-action>\n <button\n type=\"button\"\n (click)=\"toggleDecoupling()\"\n >\n <i [c8yIcon]=\"isCoupled ? 'schedule1' : 'today'\"></i>\n <span class=\"m-l-4\">\n {{ (isCoupled ? decoupleTimeContextLabel : coupleTimeContextLabel) | translate }}\n </span>\n </button>\n</c8y-dashboard-child-action>\n", dependencies: [{ kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "directive", type: i2$2.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i2$2.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i2$2.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "directive", type: i2$3.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: "directive", type: i1$6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: MessageDirective, selector: "c8y-message", inputs: ["name", "text"] }, { kind: "component", type: MessagesComponent, selector: "c8y-messages", inputs: ["show", "defaults", "helpMessage"] }, { kind: "directive", type: i1$6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: DateTimePickerComponent, selector: "c8y-date-time-picker", inputs: ["minDate", "maxDate", "placeholder", "dateInputFormat", "adaptivePosition", "size", "dateType", "config"], outputs: ["onDateSelected"] }, { kind: "component", type: DashboardChildActionComponent, selector: "c8y-dashboard-child-action" }, { kind: "component", type: IntervalPickerComponent, selector: "c8y-interval-picker" }, { kind: "component", type: RealtimeControlComponent, selector: "c8y-realtime-control" }, { kind: "component", type: AggregationPickerComponent, selector: "c8y-aggregation-picker", inputs: ["disabledAggregations"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: DatePipe, name: "c8yDate" }] }); }
28501
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: WidgetTimeContextComponent, selector: "c8y-widget-time-context", inputs: { canDecouple: "canDecouple", displaySettings: "displaySettings", hidden: "hidden" }, outputs: { dateContextChange: "dateContextChange" }, host: { classAttribute: "d-flex a-i-center gap-4" }, viewQueries: [{ propertyName: "action", first: true, predicate: DashboardChildActionComponent, descendants: true }, { propertyName: "dropdown", first: true, predicate: BsDropdownDirective, descendants: true }], ngImport: i0, template: "<c8y-action-bar-item\n *ngIf=\"isCoupled && !hidden\"\n [groupId]=\"ACTION_BAR_GROUP_ID\"\n [inGroupPriority]=\"actionBarInGroupPriority\"\n [placement]=\"'left'\"\n>\n <ng-container\n [ngTemplateOutlet]=\"dateTimePicker\"\n [ngTemplateOutletContext]=\"{\n date: [form.value.currentDateContextFromDate, form.value.currentDateContextToDate]\n }\"\n ></ng-container>\n</c8y-action-bar-item>\n\n<ng-container\n *ngIf=\"!isCoupled\"\n [ngTemplateOutlet]=\"dateTimePicker\"\n [ngTemplateOutletContext]=\"{\n date: [form.value.currentDateContextFromDate, form.value.currentDateContextToDate]\n }\"\n></ng-container>\n\n<ng-template\n #dateTimePicker\n let-date=\"date\"\n>\n <form\n class=\"d-flex gap-16 p-l-xs-16 p-r-xs-16 m-t-xs-8 m-b-xs-8\"\n [formGroup]=\"form\"\n >\n <ng-container *ngIf=\"displaySettings.globalTimeContext\">\n <div>\n <div\n class=\"dropdown flex-grow\"\n #dropdown=\"bs-dropdown\"\n \n dropdown\n [insideClick]=\"true\"\n *ngIf=\"date\"\n >\n <button\n data-cy=\"widget-time-context--date-picker-dropdown-button\"\n class=\"dropdown-toggle form-control l-h-tight d-flex a-i-center\"\n attr.aria-label=\"{{ date[0] | c8yDate: DATE_FORMAT }} \u2014 {{\n date[1] | c8yDate: DATE_FORMAT\n }}\"\n tooltip=\"{{ date[0] | c8yDate: DATE_FORMAT }} \u2014 {{ date[1] | c8yDate: DATE_FORMAT }}\"\n placement=\"top\"\n container=\"body\"\n [adaptivePosition]=\"false\"\n [delay]=\"500\"\n dropdownToggle\n >\n <i\n class=\"m-r-4 \"\n c8yIcon=\"schedule1\"\n ></i>\n <div class=\"d-col text-left fit-w\">\n <span class=\"text-12\" data-cy=\"widget-time-context--selected-interval\">\n {{ INTERVAL_TITLES[form.controls.currentDateContextInterval.value] | translate }}\n </span>\n <span\n class=\"text-10 text-muted text-truncate\"\n data-cy=\"widget-time-context--selected-time-range\"\n >\n {{ date[0] | c8yDate: DATE_FORMAT }} \u2014 {{ date[1] | c8yDate: DATE_FORMAT }}\n </span>\n </div>\n <span class=\"caret m-r-16 m-l-4\"></span>\n </button>\n\n <ul\n class=\"dropdown-menu dropdown-menu--date-range\"\n *dropdownMenu\n >\n <c8y-interval-picker\n class=\"d-contents\"\n formControlName=\"currentDateContextInterval\"\n ></c8y-interval-picker>\n\n <ng-container *ngIf=\"form.controls.currentDateContextInterval.value === 'custom'\">\n <div class=\"p-l-16 p-r-16\">\n <c8y-form-group\n [ngClass]=\"form.controls.temporaryUserSelectedFromDate.errors ? 'has-error' : ''\"\n >\n <label\n [title]=\"'From`date`' | translate\"\n for=\"temporaryUserSelectedFromDate\"\n translate\n >\n From`date`\n </label>\n <c8y-date-time-picker\n id=\"temporaryUserSelectedFromDate\"\n [maxDate]=\"form.value.temporaryUserSelectedToDate\"\n [placeholder]=\"'From`date`' | translate\"\n [formControl]=\"form.controls.temporaryUserSelectedFromDate\"\n [ngClass]=\"form.controls.temporaryUserSelectedFromDate.errors ? 'has-error' : ''\"\n ></c8y-date-time-picker>\n <c8y-messages [show]=\"form.controls.temporaryUserSelectedFromDate.errors\">\n <c8y-message\n name=\"dateAfterRangeMax\"\n [text]=\"'This date is after the latest allowed date.' | translate\"\n ></c8y-message>\n <c8y-message\n name=\"invalidDateTime\"\n [text]=\"'This date is invalid.' | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n\n <c8y-form-group\n [ngClass]=\"form.controls.temporaryUserSelectedToDate.errors ? 'has-error' : ''\"\n >\n <label\n [title]=\"'To`date`' | translate\"\n for=\"temporaryUserSelectedToDate\"\n translate\n >\n To`date`\n </label>\n <c8y-date-time-picker\n id=\"temporaryUserSelectedToDate\"\n [minDate]=\"form.value.temporaryUserSelectedFromDate\"\n [placeholder]=\"'To`date`' | translate\"\n [formControl]=\"form.controls.temporaryUserSelectedToDate\"\n [ngClass]=\"form.controls.temporaryUserSelectedToDate.errors ? 'has-error' : ''\"\n ></c8y-date-time-picker>\n <c8y-messages [show]=\"form.controls.temporaryUserSelectedToDate.errors\">\n <c8y-message\n name=\"dateBeforeRangeMin\"\n [text]=\"'This date is before the earliest allowed date.' | translate\"\n ></c8y-message>\n <c8y-message\n name=\"invalidDateTime\"\n [text]=\"'This date is invalid.' | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n </div>\n\n <div class=\"p-16 d-flex gap-8 separator-top\">\n <button\n class=\"btn btn-default btn-sm flex-grow\"\n title=\"{{ 'Reset' | translate }}\"\n type=\"button\"\n (click)=\"reset(); dropdown.isOpen = false\"\n [disabled]=\"form.value.realtime\"\n translate\n >\n Reset\n </button>\n\n <button\n class=\"btn btn-primary btn-sm flex-grow\"\n title=\"{{ 'Apply' | translate }}\"\n type=\"button\"\n (click)=\"applyDatetimeContext(); dropdown.isOpen = false\"\n [disabled]=\"\n (form.pristine && form.untouched) || form.invalid || form.value.realtime\n \"\n translate\n >\n Apply\n </button>\n </div>\n </ng-container>\n </ul>\n </div>\n </div>\n </ng-container>\n\n <div class=\"input-group w-auto\">\n <c8y-realtime-control\n *ngIf=\"displaySettings.globalRealtimeContext\"\n formControlName=\"realtime\"\n class=\"form-control p-0 flex-no-grow w-auto\"\n ></c8y-realtime-control>\n\n <c8y-aggregation-picker\n *ngIf=\"displaySettings.globalAggregationContext\"\n formControlName=\"aggregation\"\n [disabledAggregations]=\"disabledAggregations\"\n ></c8y-aggregation-picker>\n </div>\n </form>\n</ng-template>\n\n<c8y-dashboard-child-action>\n <button\n type=\"button\"\n (click)=\"toggleDecoupling()\"\n >\n <i [c8yIcon]=\"isCoupled ? 'schedule1' : 'today'\"></i>\n <span class=\"m-l-4\">\n {{ (isCoupled ? decoupleTimeContextLabel : coupleTimeContextLabel) | translate }}\n </span>\n </button>\n</c8y-dashboard-child-action>\n", dependencies: [{ kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "directive", type: i2$2.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i2$2.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i2$2.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "directive", type: i2$3.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: "directive", type: i1$6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: MessageDirective, selector: "c8y-message", inputs: ["name", "text"] }, { kind: "component", type: MessagesComponent, selector: "c8y-messages", inputs: ["show", "defaults", "helpMessage"] }, { kind: "directive", type: i1$6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: DateTimePickerComponent, selector: "c8y-date-time-picker", inputs: ["minDate", "maxDate", "placeholder", "dateInputFormat", "adaptivePosition", "size", "dateType", "config"], outputs: ["onDateSelected"] }, { kind: "component", type: i18.IntervalPickerComponent, selector: "c8y-interval-picker", inputs: ["INTERVALS"] }, { kind: "component", type: DashboardChildActionComponent, selector: "c8y-dashboard-child-action" }, { kind: "component", type: RealtimeControlComponent, selector: "c8y-realtime-control" }, { kind: "component", type: AggregationPickerComponent, selector: "c8y-aggregation-picker", inputs: ["disabledAggregations"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: DatePipe, name: "c8yDate" }] }); }
28587
28502
  }
28588
28503
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: WidgetTimeContextComponent, decorators: [{
28589
28504
  type: Component,
@@ -29129,7 +29044,6 @@ class DashboardModule {
29129
29044
  DashboardChildActionComponent,
29130
29045
  WidgetsDashboardComponent,
29131
29046
  WidgetTimeContextComponent,
29132
- IntervalPickerComponent,
29133
29047
  RealtimeControlComponent,
29134
29048
  AggregationPickerComponent,
29135
29049
  WidgetTimeContextIconBar], imports: [CommonModule,
@@ -29144,6 +29058,7 @@ class DashboardModule {
29144
29058
  DynamicFormsModule,
29145
29059
  HelpModule,
29146
29060
  DateTimePickerModule,
29061
+ IntervalPickerComponent,
29147
29062
  PopoverModule], exports: [DashboardComponent,
29148
29063
  DashboardChildComponent,
29149
29064
  DashboardChildTitleComponent,
@@ -29164,6 +29079,7 @@ class DashboardModule {
29164
29079
  DynamicFormsModule,
29165
29080
  HelpModule,
29166
29081
  DateTimePickerModule,
29082
+ IntervalPickerComponent,
29167
29083
  PopoverModule] }); }
29168
29084
  }
29169
29085
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DashboardModule, decorators: [{
@@ -29176,7 +29092,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
29176
29092
  DashboardChildActionComponent,
29177
29093
  WidgetsDashboardComponent,
29178
29094
  WidgetTimeContextComponent,
29179
- IntervalPickerComponent,
29180
29095
  RealtimeControlComponent,
29181
29096
  AggregationPickerComponent,
29182
29097
  WidgetTimeContextIconBar
@@ -29196,6 +29111,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
29196
29111
  DynamicFormsModule,
29197
29112
  HelpModule,
29198
29113
  DateTimePickerModule,
29114
+ IntervalPickerComponent,
29199
29115
  PopoverModule
29200
29116
  ],
29201
29117
  exports: [
@@ -31983,11 +31899,11 @@ class ListDisplaySwitchComponent {
31983
31899
  return this.listKey || this.location.path();
31984
31900
  }
31985
31901
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ListDisplaySwitchComponent, deps: [{ token: i2.Location }], target: i0.ɵɵFactoryTarget.Component }); }
31986
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: ListDisplaySwitchComponent, selector: "c8y-list-display-switch", inputs: { listKey: "listKey", listLength: "listLength", filterPipe: "filterPipe" }, outputs: { onListClassChange: "onListClassChange" }, ngImport: i0, template: "<div class=\"form-group\">\n <label class=\"m-r-8\" id=\"listLabel\">\n {{ 'Display as' | translate }}\n </label>\n <div class=\"c8y-select-wrapper\">\n <select\n aria-labelledby=\"listLabel\"\n name=\"listLabel\"\n class=\"form-control\"\n [ngModel]=\"selectedOption\"\n (ngModelChange)=\"onOptionSelect($event)\"\n [attr.aria-label]=\"'Display mode' | translate\"\n >\n <option *ngFor=\"let option of DISPLAY_OPTIONS\" [ngValue]=\"option\">\n {{ option.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$6.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$6.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$6.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
31902
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: ListDisplaySwitchComponent, selector: "c8y-list-display-switch", inputs: { listKey: "listKey", listLength: "listLength", filterPipe: "filterPipe" }, outputs: { onListClassChange: "onListClassChange" }, ngImport: i0, template: "<div class=\"d-flex\">\n <label class=\"m-r-8\" id=\"listLabel\">\n {{ 'Display as' | translate }}\n </label>\n <div class=\"c8y-select-wrapper\">\n <select\n aria-labelledby=\"listLabel\"\n name=\"listLabel\"\n class=\"form-control\"\n [ngModel]=\"selectedOption\"\n (ngModelChange)=\"onOptionSelect($event)\"\n [attr.aria-label]=\"'Display mode' | translate\"\n >\n <option *ngFor=\"let option of DISPLAY_OPTIONS\" [ngValue]=\"option\">\n {{ option.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$6.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$6.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$6.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
31987
31903
  }
31988
31904
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ListDisplaySwitchComponent, decorators: [{
31989
31905
  type: Component,
31990
- args: [{ selector: 'c8y-list-display-switch', template: "<div class=\"form-group\">\n <label class=\"m-r-8\" id=\"listLabel\">\n {{ 'Display as' | translate }}\n </label>\n <div class=\"c8y-select-wrapper\">\n <select\n aria-labelledby=\"listLabel\"\n name=\"listLabel\"\n class=\"form-control\"\n [ngModel]=\"selectedOption\"\n (ngModelChange)=\"onOptionSelect($event)\"\n [attr.aria-label]=\"'Display mode' | translate\"\n >\n <option *ngFor=\"let option of DISPLAY_OPTIONS\" [ngValue]=\"option\">\n {{ option.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n</div>\n" }]
31906
+ args: [{ selector: 'c8y-list-display-switch', template: "<div class=\"d-flex\">\n <label class=\"m-r-8\" id=\"listLabel\">\n {{ 'Display as' | translate }}\n </label>\n <div class=\"c8y-select-wrapper\">\n <select\n aria-labelledby=\"listLabel\"\n name=\"listLabel\"\n class=\"form-control\"\n [ngModel]=\"selectedOption\"\n (ngModelChange)=\"onOptionSelect($event)\"\n [attr.aria-label]=\"'Display mode' | translate\"\n >\n <option *ngFor=\"let option of DISPLAY_OPTIONS\" [ngValue]=\"option\">\n {{ option.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n</div>\n" }]
31991
31907
  }], ctorParameters: () => [{ type: i2.Location }], propDecorators: { listKey: [{
31992
31908
  type: Input
31993
31909
  }], listLength: [{
@@ -34246,5 +34162,5 @@ function colorValidator(allowedModes) {
34246
34162
  * Generated bundle index. Do not edit.
34247
34163
  */
34248
34164
 
34249
- export { ACTIONS_STEPPER, AGGREGATIONS, AGGREGATION_ICONS, AGGREGATION_LIMITS, AGGREGATION_TEXTS, ARRAY_VALIDATION_PREFIX, ASSET_PATH, AbstractConfigurationStrategy, ActionBarComponent, ActionBarItemComponent, ActionBarModule, ActionBarService, ActionComponent, ActionControlsExtensionService, ActionModule, ActionOutletComponent, ActionService, AlarmRealtimeService, AlarmWithChildrenRealtimeService, AlertComponent, AlertDetailsComponent, AlertModule, AlertOutletBase, AlertOutletComponent, AlertService, AlertTextComponent, AppIconComponent, AppStateService, AppSwitcherComponent, AppSwitcherInlineComponent, AppSwitcherService, ApplicationModule, ApplicationPluginStatus, AssetLinkPipe, AssetTypesRealtimeService, AssetTypesService, AuditLogComponent, AuditLogModule, AuthenticationModule, BackendVersionFactory, BaseColumn, BaseFilteringFormRendererComponent, BooleanFilterMapper, BootstrapComponent, BootstrapModule, BottomDrawerComponent, BottomDrawerRef, BottomDrawerService, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbModule, BreadcrumbOutletComponent, BreadcrumbService, BuiltInActionType, BytesPipe, C8yComponentOutlet, C8yJSONSchema, C8yStepper, C8yStepperButtons, C8yStepperIcon, C8yStepperProgress, C8yTranslateDirective, C8yTranslateModule, C8yTranslatePipe, C8yValidators, CUSTOM, CachedLocaleDictionaryService, CellRendererComponent, CellRendererContext, CellRendererDefDirective, ChangePasswordComponent, ClipboardModule, ClipboardService, ColorInputComponent, ColorService, ColumnDirective, CommonModule, ConditionalTabsOutletComponent, ConfigureCustomColumnComponent, ConfirmModalComponent, ContextRouteComponent, ContextRouteGuard, ContextRouteService, CookieBannerComponent, CopyDashboardDisabledReason, CoreModule, CoreSearchModule, CountdownIntervalComponent, CountdownIntervalModule, CredentialsComponent, CurrentPasswordModalComponent, CustomColumn, DATA_GRID_CONFIGURATION_CONTEXT, DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER, DATA_GRID_CONFIGURATION_STRATEGY, DRAWER_ANIMATION_TIME, DashboardChildActionComponent, DashboardChildChange, DashboardChildComponent, DashboardChildTitleComponent, DashboardComponent, DashboardModule, DataGridComponent, DataGridModule, DataGridService, DatapointLibraryValidationErrors, DateContextQueryParamNames, DateFilterMapper, DatePickerComponent, DatePickerModule, DatePipe, DateTimePickerComponent, DateTimePickerModule, DefaultValidationDirective, DeviceBootstrapRealtimeService, DeviceService, DeviceStatusComponent, DeviceStatusModule, DismissAlertStrategy, DocsModule, DocsService, DrawerModule, DrawerOutletComponent, DrawerService, DropAreaComponent, DropAreaModule, DropdownDirectionDirective, DynamicBulkDetailsResolver, DynamicBulkIIdentifiedResolver, DynamicComponentAlert, DynamicComponentAlertAggregator, DynamicComponentAlertsComponent, DynamicComponentComponent, DynamicComponentErrorStrategy, DynamicComponentModule, DynamicComponentService, DynamicDatapointsResolver, DynamicFormsModule, DynamicManagedObjectResolver, DynamicResolverService, ES_MAX_TIME_MILLISECONDS, EmailsValidatorDirective, EmptyComponent, EmptyStateComponent, EmptyStateContextDirective, EventRealtimeService, ExpandableRowDirective, ExtensionPointForPlugins, ExtensionPointWithoutStateForPlugins, ExtractArrayValidationErrorsPipe, FilePickerComponent, FilePickerFormControlComponent, FilePickerFormControlModule, FilePickerModule, FilesService, FilterInputComponent, FilterMapperFactory, FilterMapperModule, FilterMapperPipe, FilterMapperService, FilterNonArrayValidationErrorsPipe, FilteringActionType, FilteringFormRendererComponent, FilteringFormRendererContext, FilteringFormRendererDefDirective, ForOfDirective, FormGroupComponent, FormsModule, GENERIC_FILE_TYPE, GainsightService, GenericFileIconPipe, GeoService, GetGroupIconPipe, GlobalConfigService, GridDataSource, GroupFragment, GroupService, GroupedFilterChips, GuideDocsComponent, GuideHrefDirective, HOOK_ACTION, HOOK_ACTION_BAR, HOOK_BREADCRUMB, HOOK_COMPONENTS, HOOK_DOCS, HOOK_DYNAMIC_PROVIDER_CONFIG, HOOK_NAVIGATOR_NODES, HOOK_OPTIONS, HOOK_PATTERN_MESSAGES, HOOK_ROUTE, HOOK_SEARCH, HOOK_STEPPER, HOOK_TABS, HOOK_VERSION, HOOK_WIZARD, HeaderBarComponent, HeaderCellRendererDefDirective, HeaderModule, HeaderService, HelpComponent, HelpModule, HighlightComponent, HookProviderTypes, HumanizeAppNamePipe, HumanizePipe, HumanizeValidationMessagePipe, I18nModule, INTERVALS, INTERVAL_OPTIONS, INTERVAL_TITLES, IconDirective, IfAllowedDirective, InjectionType, InputGroupListComponent, InputGroupListContainerDirective, InventorySearchService, IpRangeInputListComponent, JsonValidationPrettifierDirective, LANGUAGES, LAST_DAY, LAST_HOUR, LAST_MINUTE, LAST_MONTH, LAST_WEEK, LOCALE_PATH, LegacyGridConfigMapperService, LegendFieldWrapper, ListDisplaySwitchComponent, ListDisplaySwitchModule, ListGroupComponent, ListGroupModule, ListItemActionComponent, ListItemBodyComponent, ListItemCheckboxComponent, ListItemCollapseComponent, ListItemComponent, ListItemDragHandleComponent, ListItemFooterComponent, ListItemIconComponent, ListItemRadioComponent, ListItemTimelineComponent, LoadMoreComponent, LoadingComponent, LoginComponent, LoginModule, LoginService, LoginViews, MAX_PAGE_SIZE, MESSAGES_CORE_I18N, ManagedObjectRealtimeService, ManagedObjectType, MapFunctionPipe, MarkdownToHtmlPipe, MaxValidationDirective, MeasurementRealtimeService, MessageBannerService, MessageDirective, MessagesComponent, MinValidationDirective, MissingTranslationCustomHandler, MoNamePipe, ModalComponent, ModalModule, ModalSelectionMode, ModalService, NEEDED_ROLE_FOR_SETUP, NEW_DASHBOARD_QUERY_PARAM, NULL_VALUE_PLACEHOLDER, NUMBER_FORMAT_REGEXP, NameTransformPipe, NavigatorBottomModule, NavigatorIconComponent, NavigatorModule, NavigatorNode, NavigatorNodeComponent, NavigatorNodeRoot, NavigatorOutletComponent, NavigatorService, NavigatorTopModule, NewPasswordComponent, NumberPipe, OperationBulkRealtimeService, OperationRealtimeService, OperationResultComponent, OptionsService, OutletDirective, PRODUCT_EXPERIENCE_EVENT_SOURCE, PX_ACTIONS, PX_EVENT_NAME, PackageType, PasswordCheckListComponent, PasswordConfirm, PasswordConfirmModalComponent, PasswordInputComponent, PasswordService, PasswordStrengthCheckerService, PasswordStrengthComponent, PasswordStrengthValidatorDirective, PatternMessagesService, Permissions, PhoneValidationDirective, PlatformDetailsService, PluginsExportScopes, PluginsModule, PluginsResolveService, PluginsService, PopoverConfirmComponent, ProductExperienceDirective, ProductExperienceModule, ProgressBarComponent, PropertiesListComponent, PropertiesListModule, PropertyValueTransformService, ProvidePhoneNumberComponent, ProviderConfigurationComponent, ProviderConfigurationModule, ProviderConfigurationNodeFactory, ProviderConfigurationRouteFactory, ProviderConfigurationService, ProviderDefinitionsService, PushStatus, PushStatusLabels, QuickLinkComponent, QuickLinkModule, RESOLVING_COMPONENT_WAIT_TIME, RadioFilterMapper, RangeComponent, RangeDirective, RangeDisplayComponent, RangeDisplayModule, RealtimeButtonComponent, RealtimeMessage, RealtimeModule, RealtimeService, RealtimeSubjectService, RecoverPasswordComponent, RelativeTimePipe, RequiredInputPlaceholderDirective, RouterModule, RouterService, RouterTabsResolver, SETUP_FINISHED_STEP_ID, SearchComponent, SearchFilters, SearchInputComponent, SearchOutletComponent, SearchResultEmptyComponent, SearchService, SelectComponent, SelectFilterMapper, SelectItemDirective, SelectKeyboardService, SelectLegacyComponent, SelectModalComponent, SelectModalFilterPipe, SelectModalModule, SelectModule, SelectedItemsComponent, SelectedItemsDirective, SendStatus, SendStatusLabels, ServiceRegistry, SetupCompletedComponent, SetupComponent, SetupModule, SetupService, SetupState, SetupStepperFactory, ShortenUserNamePipe, ShouldShowMoPipe, ShowIfFilterPipe, SimpleJsonPathValidatorDirective, SkipLinkDirective, SmsChallengeComponent, StandalonePluginInjector, StateService, Status, StepperModule, StepperOutletComponent, StepperService, Steppers, StrengthValidatorService, StringFilterMapper, StringifyObjectPipe, TabComponent, TabsModule, TabsOutletComponent, TabsService, TabsetAriaDirective, TenantUiService, TextAreaRowHeightDirective, TextareaAutoresizeDirective, ThemeSwitcherService, TimeIntervalComponent, TimePickerComponent, TimePickerModule, TimeSpanInMs, TitleComponent, TitleOutletComponent, TotpAuthComponent, TotpChallengeComponent, TotpSetupComponent, TranslateCustomLoader, TranslateParserCustom, TranslateService, TypeaheadComponent, TypeaheadFilterMapper, UiSettingsComponent, UiSettingsModule, UniqueInCollectionByPathValidationDirective, UserEditComponent, UserEditModalComponent, UserEngagementsService, UserMenuItemComponent, UserMenuOutletComponent, UserMenuService, UserModule, UserNameInitialsPipe, UserPreferencesConfigurationStrategy, UserPreferencesService, UserPreferencesStorageInventory, UserPreferencesStorageLocal, UserTotpRevokeComponent, UserTotpSetupComponent, VERSION_MODULE_CONFIG, ValidationPattern, VersionListComponent, VersionModule, VersionService, ViewContext, ViewContextServices, VirtualScrollWindowDirective, VirtualScrollWindowStrategy, VirtualScrollerWrapperComponent, VisibleControlsPipe, WebSDKVersionFactory, WidgetTimeContextActionBarPriority, WidgetTimeContextComponent, WidgetsDashboardComponent, WizardBodyComponent, WizardComponent, WizardFooterComponent, WizardHeaderComponent, WizardModalService, WizardModule, WizardOutletComponent, WizardService, ZipService, _virtualScrollWindowStrategyFactory, alertOnError, allEntriesAreEqual, asyncValidateArrayElements, colorValidator, deviceAvailabilityIconMap, extraRoutes, fromFactories, fromTrigger, fromTriggerOnce, getActivatedRoute, getAngularLocalesLanguageString, getBasicInputArrayFormFieldConfig, getInjectedHooks, hookAction, hookActionBar, hookBreadcrumb, hookComponent, hookDataGridActionControls, hookDocs, hookDrawer, hookDynamicProviderConfig, hookFilterMapper, hookGeneric, hookNavigator, hookOptions, hookPatternMessages, hookRoute, hookSearch, hookService, hookStepper, hookTab, hookVersion, hookWidget, hookWizard, initializeServices, internalApps, isEagerDynamicComponents, isExtensionFactory, isLazyDynamicComponents, isPromise, languagesFactory, loadLocale, localeId, localePathFactory, memoize, minColumnGridTrackSize, operationStatusClasses, operationStatusIcons, ratiosByColumnTypes, removeDuplicatesIds, resolveInjectedFactories, retryWithDelay, simpleJsonPathValidator, sortByPriority, stateToFactory, statusAlert, statusClasses, statusIcons, throttle, toObservable, toObservableOfArrays, tooltips, translateLoaderFactory, trimTranslationKey, uniqueInCollectionByPathValidator, validateArrayElements, wrapperLegendFieldConfig };
34165
+ export { ACTIONS_STEPPER, AGGREGATIONS, AGGREGATION_ICONS, AGGREGATION_LIMITS, AGGREGATION_TEXTS, ARRAY_VALIDATION_PREFIX, ASSET_PATH, AbstractConfigurationStrategy, ActionBarComponent, ActionBarItemComponent, ActionBarModule, ActionBarService, ActionComponent, ActionControlsExtensionService, ActionModule, ActionOutletComponent, ActionService, AlarmRealtimeService, AlarmWithChildrenRealtimeService, AlertComponent, AlertDetailsComponent, AlertModule, AlertOutletBase, AlertOutletComponent, AlertService, AlertTextComponent, AppIconComponent, AppStateService, AppSwitcherComponent, AppSwitcherInlineComponent, AppSwitcherService, ApplicationModule, ApplicationPluginStatus, AssetLinkPipe, AssetTypesRealtimeService, AssetTypesService, AuditLogComponent, AuditLogModule, AuthenticationModule, BackendVersionFactory, BaseColumn, BaseFilteringFormRendererComponent, BooleanFilterMapper, BootstrapComponent, BootstrapModule, BottomDrawerComponent, BottomDrawerRef, BottomDrawerService, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbModule, BreadcrumbOutletComponent, BreadcrumbService, BuiltInActionType, BytesPipe, C8yComponentOutlet, C8yJSONSchema, C8yStepper, C8yStepperButtons, C8yStepperIcon, C8yStepperProgress, C8yTranslateDirective, C8yTranslateModule, C8yTranslatePipe, C8yValidators, CUSTOM, CachedLocaleDictionaryService, CellRendererComponent, CellRendererContext, CellRendererDefDirective, ChangePasswordComponent, ClipboardModule, ClipboardService, ColorInputComponent, ColorService, ColumnDirective, CommonModule, ConditionalTabsOutletComponent, ConfigureCustomColumnComponent, ConfirmModalComponent, ContextRouteComponent, ContextRouteGuard, ContextRouteService, CookieBannerComponent, CopyDashboardDisabledReason, CoreModule, CoreSearchModule, CountdownIntervalComponent, CountdownIntervalModule, CredentialsComponent, CurrentPasswordModalComponent, CustomColumn, DATA_GRID_CONFIGURATION_CONTEXT, DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER, DATA_GRID_CONFIGURATION_STRATEGY, DRAWER_ANIMATION_TIME, DashboardChildActionComponent, DashboardChildChange, DashboardChildComponent, DashboardChildTitleComponent, DashboardComponent, DashboardModule, DataGridComponent, DataGridModule, DataGridService, DatapointLibraryValidationErrors, DateContextQueryParamNames, DateFilterMapper, DatePickerComponent, DatePickerModule, DatePipe, DateTimePickerComponent, DateTimePickerModule, DefaultValidationDirective, DeviceBootstrapRealtimeService, DeviceService, DeviceStatusComponent, DeviceStatusModule, DismissAlertStrategy, DocsModule, DocsService, DrawerModule, DrawerOutletComponent, DrawerService, DropAreaComponent, DropAreaModule, DropdownDirectionDirective, DynamicBulkDetailsResolver, DynamicBulkIIdentifiedResolver, DynamicComponentAlert, DynamicComponentAlertAggregator, DynamicComponentAlertsComponent, DynamicComponentComponent, DynamicComponentErrorStrategy, DynamicComponentModule, DynamicComponentService, DynamicDatapointsResolver, DynamicFormsModule, DynamicManagedObjectResolver, DynamicResolverService, ES_MAX_TIME_MILLISECONDS, EmailsValidatorDirective, EmptyComponent, EmptyStateComponent, EmptyStateContextDirective, EventRealtimeService, ExpandableRowDirective, ExtensionPointForPlugins, ExtensionPointWithoutStateForPlugins, ExtractArrayValidationErrorsPipe, FilePickerComponent, FilePickerFormControlComponent, FilePickerFormControlModule, FilePickerModule, FilesService, FilterInputComponent, FilterMapperFactory, FilterMapperModule, FilterMapperPipe, FilterMapperService, FilterNonArrayValidationErrorsPipe, FilteringActionType, FilteringFormRendererComponent, FilteringFormRendererContext, FilteringFormRendererDefDirective, ForOfDirective, FormGroupComponent, FormsModule, GENERIC_FILE_TYPE, GainsightService, GenericFileIconPipe, GeoService, GetGroupIconPipe, GlobalConfigService, GridDataSource, GroupFragment, GroupService, GroupedFilterChips, GuideDocsComponent, GuideHrefDirective, HOOK_ACTION, HOOK_ACTION_BAR, HOOK_BREADCRUMB, HOOK_COMPONENTS, HOOK_DOCS, HOOK_DYNAMIC_PROVIDER_CONFIG, HOOK_NAVIGATOR_NODES, HOOK_OPTIONS, HOOK_PATTERN_MESSAGES, HOOK_ROUTE, HOOK_SEARCH, HOOK_STEPPER, HOOK_TABS, HOOK_VERSION, HOOK_WIZARD, HeaderBarComponent, HeaderCellRendererDefDirective, HeaderModule, HeaderService, HelpComponent, HelpModule, HighlightComponent, HookProviderTypes, HumanizeAppNamePipe, HumanizePipe, HumanizeValidationMessagePipe, I18nModule, INTERVAL_OPTIONS, IconDirective, IfAllowedDirective, InjectionType, InputGroupListComponent, InputGroupListContainerDirective, InventorySearchService, IpRangeInputListComponent, JsonValidationPrettifierDirective, LANGUAGES, LAST_DAY, LAST_HOUR, LAST_MINUTE, LAST_MONTH, LAST_WEEK, LOCALE_PATH, LegacyGridConfigMapperService, LegendFieldWrapper, ListDisplaySwitchComponent, ListDisplaySwitchModule, ListGroupComponent, ListGroupModule, ListItemActionComponent, ListItemBodyComponent, ListItemCheckboxComponent, ListItemCollapseComponent, ListItemComponent, ListItemDragHandleComponent, ListItemFooterComponent, ListItemIconComponent, ListItemRadioComponent, ListItemTimelineComponent, LoadMoreComponent, LoadingComponent, LoginComponent, LoginModule, LoginService, LoginViews, MAX_PAGE_SIZE, MESSAGES_CORE_I18N, ManagedObjectRealtimeService, ManagedObjectType, MapFunctionPipe, MarkdownToHtmlPipe, MaxValidationDirective, MeasurementRealtimeService, MessageBannerService, MessageDirective, MessagesComponent, MinValidationDirective, MissingTranslationCustomHandler, MoNamePipe, ModalComponent, ModalModule, ModalSelectionMode, ModalService, NEEDED_ROLE_FOR_SETUP, NEW_DASHBOARD_QUERY_PARAM, NULL_VALUE_PLACEHOLDER, NUMBER_FORMAT_REGEXP, NameTransformPipe, NavigatorBottomModule, NavigatorIconComponent, NavigatorModule, NavigatorNode, NavigatorNodeComponent, NavigatorNodeRoot, NavigatorOutletComponent, NavigatorService, NavigatorTopModule, NewPasswordComponent, NumberPipe, OperationBulkRealtimeService, OperationRealtimeService, OperationResultComponent, OptionsService, OutletDirective, PRODUCT_EXPERIENCE_EVENT_SOURCE, PX_ACTIONS, PX_EVENT_NAME, PackageType, PasswordCheckListComponent, PasswordConfirm, PasswordConfirmModalComponent, PasswordInputComponent, PasswordService, PasswordStrengthCheckerService, PasswordStrengthComponent, PasswordStrengthValidatorDirective, PatternMessagesService, Permissions, PhoneValidationDirective, PlatformDetailsService, PluginsExportScopes, PluginsModule, PluginsResolveService, PluginsService, PopoverConfirmComponent, ProductExperienceDirective, ProductExperienceModule, ProgressBarComponent, PropertiesListComponent, PropertiesListModule, PropertyValueTransformService, ProvidePhoneNumberComponent, ProviderConfigurationComponent, ProviderConfigurationModule, ProviderConfigurationNodeFactory, ProviderConfigurationRouteFactory, ProviderConfigurationService, ProviderDefinitionsService, PushStatus, PushStatusLabels, QuickLinkComponent, QuickLinkModule, RESOLVING_COMPONENT_WAIT_TIME, RadioFilterMapper, RangeComponent, RangeDirective, RangeDisplayComponent, RangeDisplayModule, RealtimeButtonComponent, RealtimeMessage, RealtimeModule, RealtimeService, RealtimeSubjectService, RecoverPasswordComponent, RelativeTimePipe, RequiredInputPlaceholderDirective, RouterModule, RouterService, RouterTabsResolver, SETUP_FINISHED_STEP_ID, SearchComponent, SearchFilters, SearchInputComponent, SearchOutletComponent, SearchResultEmptyComponent, SearchService, SelectComponent, SelectFilterMapper, SelectItemDirective, SelectKeyboardService, SelectLegacyComponent, SelectModalComponent, SelectModalFilterPipe, SelectModalModule, SelectModule, SelectedItemsComponent, SelectedItemsDirective, SendStatus, SendStatusLabels, ServiceRegistry, SetupCompletedComponent, SetupComponent, SetupModule, SetupService, SetupState, SetupStepperFactory, ShortenUserNamePipe, ShouldShowMoPipe, ShowIfFilterPipe, SimpleJsonPathValidatorDirective, SkipLinkDirective, SmsChallengeComponent, StandalonePluginInjector, StateService, Status, StepperModule, StepperOutletComponent, StepperService, Steppers, StrengthValidatorService, StringFilterMapper, StringifyObjectPipe, TabComponent, TabsModule, TabsOutletComponent, TabsService, TabsetAriaDirective, TenantUiService, TextAreaRowHeightDirective, TextareaAutoresizeDirective, ThemeSwitcherService, TimeIntervalComponent, TimePickerComponent, TimePickerModule, TitleComponent, TitleOutletComponent, TotpAuthComponent, TotpChallengeComponent, TotpSetupComponent, TranslateCustomLoader, TranslateParserCustom, TranslateService, TypeaheadComponent, TypeaheadFilterMapper, UiSettingsComponent, UiSettingsModule, UniqueInCollectionByPathValidationDirective, UserEditComponent, UserEditModalComponent, UserEngagementsService, UserMenuItemComponent, UserMenuOutletComponent, UserMenuService, UserModule, UserNameInitialsPipe, UserPreferencesConfigurationStrategy, UserPreferencesService, UserPreferencesStorageInventory, UserPreferencesStorageLocal, UserTotpRevokeComponent, UserTotpSetupComponent, VERSION_MODULE_CONFIG, ValidationPattern, VersionListComponent, VersionModule, VersionService, ViewContext, ViewContextServices, VirtualScrollWindowDirective, VirtualScrollWindowStrategy, VirtualScrollerWrapperComponent, VisibleControlsPipe, WebSDKVersionFactory, WidgetTimeContextActionBarPriority, WidgetTimeContextComponent, WidgetsDashboardComponent, WizardBodyComponent, WizardComponent, WizardFooterComponent, WizardHeaderComponent, WizardModalService, WizardModule, WizardOutletComponent, WizardService, ZipService, _virtualScrollWindowStrategyFactory, alertOnError, allEntriesAreEqual, asyncValidateArrayElements, colorValidator, deviceAvailabilityIconMap, extraRoutes, fromFactories, fromTrigger, fromTriggerOnce, getActivatedRoute, getAngularLocalesLanguageString, getBasicInputArrayFormFieldConfig, getInjectedHooks, hookAction, hookActionBar, hookBreadcrumb, hookComponent, hookDataGridActionControls, hookDocs, hookDrawer, hookDynamicProviderConfig, hookFilterMapper, hookGeneric, hookNavigator, hookOptions, hookPatternMessages, hookRoute, hookSearch, hookService, hookStepper, hookTab, hookVersion, hookWidget, hookWizard, initializeServices, internalApps, isEagerDynamicComponents, isExtensionFactory, isLazyDynamicComponents, isPromise, languagesFactory, loadLocale, localeId, localePathFactory, memoize, minColumnGridTrackSize, operationStatusClasses, operationStatusIcons, ratiosByColumnTypes, removeDuplicatesIds, resolveInjectedFactories, retryWithDelay, simpleJsonPathValidator, sortByPriority, stateToFactory, statusAlert, statusClasses, statusIcons, throttle, toObservable, toObservableOfArrays, tooltips, translateLoaderFactory, trimTranslationKey, uniqueInCollectionByPathValidator, validateArrayElements, wrapperLegendFieldConfig };
34250
34166
  //# sourceMappingURL=c8y-ngx-components.mjs.map