@c8y/ngx-components 1021.2.0 → 1021.3.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 (42) hide show
  1. package/alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.component.d.ts +6 -3
  2. package/alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.component.d.ts.map +1 -1
  3. package/alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.service.d.ts +9 -0
  4. package/alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.service.d.ts.map +1 -0
  5. package/alarm-event-selector/custom-alarm-event-form/custom-alarm-event-form.component.d.ts +2 -1
  6. package/alarm-event-selector/custom-alarm-event-form/custom-alarm-event-form.component.d.ts.map +1 -1
  7. package/auth-configuration/sso-configuration/template-parts/basic-configuration.component.d.ts +1 -0
  8. package/auth-configuration/sso-configuration/template-parts/basic-configuration.component.d.ts.map +1 -1
  9. package/context-dashboard/context-dashboard.service.d.ts.map +1 -1
  10. package/core/common/get-group-icon.pipe.d.ts.map +1 -1
  11. package/core/common/global-config.service.d.ts +1 -1
  12. package/core/common/global-config.service.d.ts.map +1 -1
  13. package/device-profile/device-profile-list.component.d.ts +31 -14
  14. package/device-profile/device-profile-list.component.d.ts.map +1 -1
  15. package/esm2022/alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.component.mjs +24 -10
  16. package/esm2022/alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.service.mjs +20 -0
  17. package/esm2022/alarm-event-selector/alarm-event-selector-list-item/alarm-event-selector-list-item.component.mjs +1 -1
  18. package/esm2022/alarm-event-selector/alarm-event-selector.component.mjs +3 -3
  19. package/esm2022/alarm-event-selector/custom-alarm-event-form/custom-alarm-event-form.component.mjs +6 -3
  20. package/esm2022/auth-configuration/sso-configuration/template-parts/basic-configuration.component.mjs +5 -3
  21. package/esm2022/context-dashboard/context-dashboard.service.mjs +3 -2
  22. package/esm2022/core/common/get-group-icon.pipe.mjs +4 -1
  23. package/esm2022/core/common/global-config.service.mjs +3 -2
  24. package/esm2022/device-profile/device-profile-list.component.mjs +102 -27
  25. package/esm2022/repository/shared/repository.model.mjs +2 -1
  26. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +46 -13
  27. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs.map +1 -1
  28. package/fesm2022/c8y-ngx-components-auth-configuration.mjs +4 -2
  29. package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
  30. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +2 -1
  31. package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  32. package/fesm2022/c8y-ngx-components-device-profile.mjs +110 -35
  33. package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
  34. package/fesm2022/c8y-ngx-components-repository-shared.mjs +1 -0
  35. package/fesm2022/c8y-ngx-components-repository-shared.mjs.map +1 -1
  36. package/fesm2022/c8y-ngx-components.mjs +5 -1
  37. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  38. package/locales/locales.pot +17 -2
  39. package/package.json +1 -1
  40. package/repository/shared/repository.model.d.ts +2 -1
  41. package/repository/shared/repository.model.d.ts.map +1 -1
  42. package/repository/shared/repository.service.d.ts +1 -1
@@ -1,13 +1,16 @@
1
1
  import { OnInit } from '@angular/core';
2
2
  import { AbstractControl, ControlValueAccessor, FormBuilder, FormGroup, ValidationErrors, Validator } from '@angular/forms';
3
- import { OmitSelectorProperties, TimelineType } from '../alarm-event-selector.model';
3
+ import { AlarmEventAttributesFormService } from './alarm-event-attributes-form.service';
4
+ import { AlarmOrEvent, OmitSelectorProperties, TimelineType } from '../alarm-event-selector.model';
4
5
  import * as i0 from "@angular/core";
5
6
  export declare class AlarmEventAttributesFormComponent implements ControlValueAccessor, Validator, OnInit {
6
7
  private formBuilder;
8
+ private alarmEventAttributesFormService;
7
9
  timelineType: TimelineType;
8
10
  omitProperties: OmitSelectorProperties;
11
+ selectedItems: AlarmOrEvent[];
9
12
  formGroup: FormGroup;
10
- constructor(formBuilder: FormBuilder);
13
+ constructor(formBuilder: FormBuilder, alarmEventAttributesFormService: AlarmEventAttributesFormService);
11
14
  ngOnInit(): void;
12
15
  validate(_control: AbstractControl): ValidationErrors;
13
16
  writeValue(obj: any): void;
@@ -15,6 +18,6 @@ export declare class AlarmEventAttributesFormComponent implements ControlValueAc
15
18
  registerOnTouched(fn: any): void;
16
19
  setDisabledState(isDisabled: boolean): void;
17
20
  static ɵfac: i0.ɵɵFactoryDeclaration<AlarmEventAttributesFormComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<AlarmEventAttributesFormComponent, "c8y-alarm-event-attributes-form", never, { "timelineType": { "alias": "timelineType"; "required": false; }; "omitProperties": { "alias": "omitProperties"; "required": false; }; }, {}, never, never, false, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<AlarmEventAttributesFormComponent, "c8y-alarm-event-attributes-form", never, { "timelineType": { "alias": "timelineType"; "required": false; }; "omitProperties": { "alias": "omitProperties"; "required": false; }; "selectedItems": { "alias": "selectedItems"; "required": false; }; }, {}, never, never, false, never>;
19
22
  }
20
23
  //# sourceMappingURL=alarm-event-attributes-form.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"alarm-event-attributes-form.component.d.ts","sourceRoot":"","sources":["../../../alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,MAAM,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,WAAW,EAEX,SAAS,EAGT,gBAAgB,EAChB,SAAS,EAEV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;;AAErF,qBAgBa,iCAAkC,YAAW,oBAAoB,EAAE,SAAS,EAAE,MAAM;IAKnF,OAAO,CAAC,WAAW;IAJtB,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,sBAAsB,CAAM;IACrD,SAAS,EAAE,SAAS,CAAC;gBAED,WAAW,EAAE,WAAW;IAE5C,QAAQ;IAWR,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,gBAAgB;IAIrD,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAI1B,gBAAgB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAI/B,iBAAiB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAIhC,gBAAgB,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;yCAlChC,iCAAiC;2CAAjC,iCAAiC;CAqC7C"}
1
+ {"version":3,"file":"alarm-event-attributes-form.component.d.ts","sourceRoot":"","sources":["../../../alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,MAAM,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,WAAW,EAEX,SAAS,EAGT,gBAAgB,EAChB,SAAS,EAEV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;;AAEnG,qBAgBa,iCAAkC,YAAW,oBAAoB,EAAE,SAAS,EAAE,MAAM;IAO7F,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,+BAA+B;IAPhC,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,sBAAsB,CAAM;IAC5C,aAAa,EAAE,YAAY,EAAE,CAAM;IAC5C,SAAS,EAAE,SAAS,CAAC;gBAGX,WAAW,EAAE,WAAW,EACxB,+BAA+B,EAAE,+BAA+B;IAG1E,QAAQ;IAmBR,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,gBAAgB;IAIrD,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAI1B,gBAAgB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAI/B,iBAAiB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAIhC,gBAAgB,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;yCA9ChC,iCAAiC;2CAAjC,iCAAiC;CAiD7C"}
@@ -0,0 +1,9 @@
1
+ import { AbstractControl, ValidationErrors } from '@angular/forms';
2
+ import { AlarmOrEvent } from '../alarm-event-selector.model';
3
+ import * as i0 from "@angular/core";
4
+ export declare class AlarmEventAttributesFormService {
5
+ duplicateTypeValidator(selectedItems: AlarmOrEvent[]): (control: AbstractControl) => ValidationErrors | null;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<AlarmEventAttributesFormService, never>;
7
+ static ɵprov: i0.ɵɵInjectableDeclaration<AlarmEventAttributesFormService>;
8
+ }
9
+ //# sourceMappingURL=alarm-event-attributes-form.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alarm-event-attributes-form.service.d.ts","sourceRoot":"","sources":["../../../alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;;AAE7D,qBACa,+BAA+B;IAC1C,sBAAsB,CAAC,aAAa,EAAE,YAAY,EAAE,aACjC,eAAe,KAAG,gBAAgB,GAAG,IAAI;yCAFjD,+BAA+B;6CAA/B,+BAA+B;CAY3C"}
@@ -9,6 +9,7 @@ export declare class CustomAlarmEventFormComponent implements OnInit, OnDestroy
9
9
  timelineType: TimelineType;
10
10
  target: IIdentified;
11
11
  omitProperties: OmitSelectorProperties;
12
+ selectedItems: AlarmOrEvent[];
12
13
  defaultColor: string;
13
14
  added: EventEmitter<AlarmOrEvent>;
14
15
  cancel: EventEmitter<void>;
@@ -21,6 +22,6 @@ export declare class CustomAlarmEventFormComponent implements OnInit, OnDestroy
21
22
  add(): void;
22
23
  private transformFormValue;
23
24
  static ɵfac: i0.ɵɵFactoryDeclaration<CustomAlarmEventFormComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<CustomAlarmEventFormComponent, "c8y-custom-alarm-event-form", never, { "timelineType": { "alias": "timelineType"; "required": false; }; "target": { "alias": "target"; "required": false; }; "omitProperties": { "alias": "omitProperties"; "required": false; }; "defaultColor": { "alias": "defaultColor"; "required": false; }; }, { "added": "added"; "cancel": "cancel"; }, never, never, false, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<CustomAlarmEventFormComponent, "c8y-custom-alarm-event-form", never, { "timelineType": { "alias": "timelineType"; "required": false; }; "target": { "alias": "target"; "required": false; }; "omitProperties": { "alias": "omitProperties"; "required": false; }; "selectedItems": { "alias": "selectedItems"; "required": false; }; "defaultColor": { "alias": "defaultColor"; "required": false; }; }, { "added": "added"; "cancel": "cancel"; }, never, never, false, never>;
25
26
  }
26
27
  //# sourceMappingURL=custom-alarm-event-form.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-alarm-event-form.component.d.ts","sourceRoot":"","sources":["../../../alarm-event-selector/custom-alarm-event-form/custom-alarm-event-form.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAS,SAAS,EAAE,MAAM,EAAU,MAAM,eAAe,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAEnG,OAAO,EAAE,UAAU,EAAW,MAAM,MAAM,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;;AAE1C,qBAIa,6BAA8B,YAAW,MAAM,EAAE,SAAS;IAYzD,OAAO,CAAC,WAAW;IAXtB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,cAAc,EAAE,sBAAsB,CAAM;IAC5C,YAAY,EAAE,MAAM,CAAC;IACpB,KAAK,6BAAoC;IACzC,MAAM,qBAA4B;IAE5C,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAuB;gBAEnB,WAAW,EAAE,WAAW;IAe5C,QAAQ;IAQR,WAAW;IAKX,GAAG;IAOH,OAAO,CAAC,kBAAkB;yCA/Cf,6BAA6B;2CAA7B,6BAA6B;CAoDzC"}
1
+ {"version":3,"file":"custom-alarm-event-form.component.d.ts","sourceRoot":"","sources":["../../../alarm-event-selector/custom-alarm-event-form/custom-alarm-event-form.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAS,SAAS,EAAE,MAAM,EAAU,MAAM,eAAe,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAEnG,OAAO,EAAE,UAAU,EAAW,MAAM,MAAM,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;;AAE1C,qBAIa,6BAA8B,YAAW,MAAM,EAAE,SAAS;IAazD,OAAO,CAAC,WAAW;IAZtB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,cAAc,EAAE,sBAAsB,CAAM;IAC5C,aAAa,EAAE,YAAY,EAAE,CAAM;IACnC,YAAY,EAAE,MAAM,CAAC;IACpB,KAAK,6BAAoC;IACzC,MAAM,qBAA4B;IAE5C,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAuB;gBAEnB,WAAW,EAAE,WAAW;IAe5C,QAAQ;IAQR,WAAW;IAKX,GAAG;IAOH,OAAO,CAAC,kBAAkB;yCAhDf,6BAA6B;2CAA7B,6BAA6B;CAqDzC"}
@@ -10,6 +10,7 @@ export declare class BasicConfigurationComponent implements OnChanges {
10
10
  host?: string;
11
11
  };
12
12
  flowControlledByUI: boolean;
13
+ redirectToPlatform: string;
13
14
  constructor(tenantService: TenantService);
14
15
  shouldShow(field: string): boolean;
15
16
  ngOnChanges(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"basic-configuration.component.d.ts","sourceRoot":"","sources":["../../../../auth-configuration/sso-configuration/template-parts/basic-configuration.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,eAAe,CAAC;AAG5D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;;AAG5C,qBAKa,2BAA4B,YAAW,SAAS;IAU/C,OAAO,CAAC,aAAa;IATxB,aAAa,MAAC;IAEvB,kDAAkD,8JAEhD;IAEF,+BAA+B,EAAE;QAAE,kBAAkB,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/E,kBAAkB,UAAS;gBAEP,aAAa,EAAE,aAAa;IAGhD,UAAU,CAAC,KAAK,EAAE,MAAM;IAIlB,WAAW;yCAjBN,2BAA2B;2CAA3B,2BAA2B;CA0BvC"}
1
+ {"version":3,"file":"basic-configuration.component.d.ts","sourceRoot":"","sources":["../../../../auth-configuration/sso-configuration/template-parts/basic-configuration.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,eAAe,CAAC;AAG5D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;;AAG5C,qBAKa,2BAA4B,YAAW,SAAS;IAW/C,OAAO,CAAC,aAAa;IAVxB,aAAa,MAAC;IAEvB,kDAAkD,8JAEhD;IAEF,+BAA+B,EAAE;QAAE,kBAAkB,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/E,kBAAkB,UAAS;IAC3B,kBAAkB,SAAM;gBAEJ,aAAa,EAAE,aAAa;IAGhD,UAAU,CAAC,KAAK,EAAE,MAAM;IAIlB,WAAW;yCAlBN,2BAA2B;2CAA3B,2BAA2B;CA4BvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"context-dashboard.service.d.ts","sourceRoot":"","sources":["../../context-dashboard/context-dashboard.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-dashboard.service.d.ts","sourceRoot":"","sources":["../../context-dashboard/context-dashboard.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-group-icon.pipe.d.ts","sourceRoot":"","sources":["../../../core/common/get-group-icon.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,aAAa,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;;AAE/C,qBAGa,gBAAiB,YAAW,aAAa;IACxC,OAAO,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAExC,SAAS,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,UAAQ,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;yCAH7E,gBAAgB;uCAAhB,gBAAgB;CAM5B"}
1
+ {"version":3,"file":"get-group-icon.pipe.d.ts","sourceRoot":"","sources":["../../../core/common/get-group-icon.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,aAAa,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;;AAE/C,qBAGa,gBAAiB,YAAW,aAAa;IACxC,OAAO,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAExC,SAAS,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,UAAQ,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;yCAH7E,gBAAgB;uCAAhB,gBAAgB;CAS5B"}
@@ -1,6 +1,6 @@
1
1
  import { IManagedObject, InventoryService, IResultList } from '@c8y/client';
2
2
  import * as i0 from "@angular/core";
3
- export type ManagedObjectTypeForConfig = 'c8y_Software' | 'c8y_Firmware' | 'c8y_ConfigurationDump' | 'c8y_ModbusDeviceType' | 'c8y_CANopenDeviceType' | 'c8y_LoraDeviceType' | 'c8y_SigfoxDeviceType' | 'c8y_DeviceShellTemplate';
3
+ export type ManagedObjectTypeForConfig = 'c8y_Software' | 'c8y_Firmware' | 'c8y_ConfigurationDump' | 'c8y_ModbusDeviceType' | 'c8y_CANopenDeviceType' | 'c8y_LoraDeviceType' | 'c8y_SigfoxDeviceType' | 'c8y_DeviceShellTemplate' | 'c8y_Profile';
4
4
  export declare class GlobalConfigService {
5
5
  private inventory;
6
6
  protected cache: Promise<IResultList<IManagedObject | undefined>>;
@@ -1 +1 @@
1
- {"version":3,"file":"global-config.service.d.ts","sourceRoot":"","sources":["../../../core/common/global-config.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;;AAE5E,MAAM,MAAM,0BAA0B,GAClC,cAAc,GACd,cAAc,GACd,uBAAuB,GACvB,sBAAsB,GACtB,uBAAuB,GACvB,oBAAoB,GACpB,sBAAsB,GACtB,yBAAyB,CAAC;AAC9B,qBACa,mBAAmB;IAclB,OAAO,CAAC,SAAS;IAb7B,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC;IAElE,OAAO,CAAC,mBAAmB,CAShB;gBAES,SAAS,EAAE,gBAAgB;IAI/C;;;;OAIG;IACG,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAehF;;;;;;;OAOG;IACH,cAAc,CAAC,UAAU,EAAE,0BAA0B,GAAG,OAAO,CAAC,OAAO,CAAC;yCA9C7D,mBAAmB;6CAAnB,mBAAmB;CAqD/B"}
1
+ {"version":3,"file":"global-config.service.d.ts","sourceRoot":"","sources":["../../../core/common/global-config.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;;AAE5E,MAAM,MAAM,0BAA0B,GAClC,cAAc,GACd,cAAc,GACd,uBAAuB,GACvB,sBAAsB,GACtB,uBAAuB,GACvB,oBAAoB,GACpB,sBAAsB,GACtB,yBAAyB,GACzB,aAAa,CAAC;AAClB,qBACa,mBAAmB;IAelB,OAAO,CAAC,SAAS;IAd7B,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC;IAElE,OAAO,CAAC,mBAAmB,CAUhB;gBAES,SAAS,EAAE,gBAAgB;IAI/C;;;;OAIG;IACG,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAehF;;;;;;;OAOG;IACH,cAAc,CAAC,UAAU,EAAE,0BAA0B,GAAG,OAAO,CAAC,OAAO,CAAC;yCA/C7D,mBAAmB;6CAAnB,mBAAmB;CAsD/B"}
@@ -1,30 +1,47 @@
1
- import { OnInit } from '@angular/core';
2
- import { Router } from '@angular/router';
3
- import { IManagedObject, InventoryService, IResultList } from '@c8y/client';
4
- import { AlertService, ModalService, ProductExperienceEvent, ProductExperienceEventSource } from '@c8y/ngx-components';
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import { ActivatedRoute, Router } from '@angular/router';
3
+ import { IManagedObject } from '@c8y/client';
4
+ import { ActionControl, AlertService, Column, DataGridService, DataSourceModifier, ModalService, ProductExperienceEvent, ServerSideDataCallback, ServerSideDataResult } from '@c8y/ngx-components';
5
+ import { RepositoryService } from '@c8y/ngx-components/repository/shared';
5
6
  import { TranslateService } from '@ngx-translate/core';
6
7
  import { BsModalService } from 'ngx-bootstrap/modal';
7
- import { BehaviorSubject, Observable } from 'rxjs';
8
+ import { Observable } from 'rxjs';
8
9
  import { DeviceProfileService } from './device-profile.service';
9
10
  import * as i0 from "@angular/core";
10
- export declare class DeviceProfileListComponent implements OnInit, ProductExperienceEventSource {
11
- private inventoryService;
12
- private translateService;
11
+ export declare class DeviceProfileListComponent implements OnInit {
12
+ private repositoryService;
13
+ private gridService;
13
14
  private modalService;
14
- private alertService;
15
15
  private bsModalService;
16
+ private translateService;
17
+ private alertService;
16
18
  private router;
19
+ private activatedRoute;
17
20
  private deviceProfileService;
18
- reloading: boolean;
19
- reload: BehaviorSubject<void>;
20
- deviceProfiles$: Observable<IResultList<IManagedObject>>;
21
+ sizeRequest: Promise<number>;
22
+ sizeRequestDone: boolean;
23
+ refresh$: EventEmitter<void>;
24
+ isDataPresent$: Observable<boolean>;
25
+ columns: Column[];
26
+ actionControls: ActionControl[];
27
+ serverSideDataCallback: ServerSideDataCallback;
28
+ pagination: {
29
+ pageSize: number;
30
+ currentPage: number;
31
+ };
21
32
  productExperienceEvent: ProductExperienceEvent;
22
- constructor(inventoryService: InventoryService, translateService: TranslateService, modalService: ModalService, alertService: AlertService, bsModalService: BsModalService, router: Router, deviceProfileService: DeviceProfileService);
33
+ noResultsMessage: "No results to display.";
34
+ noDataMessage: "No device profiles to display.";
35
+ noResultsSubtitle: "Refine your search terms or check your spelling.";
36
+ noDataSubtitle: "Add a new device profile by clicking below.";
37
+ constructor(repositoryService: RepositoryService, gridService: DataGridService, modalService: ModalService, bsModalService: BsModalService, translateService: TranslateService, alertService: AlertService, router: Router, activatedRoute: ActivatedRoute, deviceProfileService: DeviceProfileService);
23
38
  ngOnInit(): void;
24
- loadDeviceProfiles(): void;
39
+ onDataSourceModifier(dataSourceModifier: DataSourceModifier): Promise<ServerSideDataResult>;
40
+ editDeviceProfile(deviceProfile: Partial<IManagedObject>): void;
25
41
  createDeviceProfile(): Promise<void>;
26
42
  duplicateDeviceProfile(deviceProfile: any): Promise<void>;
27
43
  deleteDeviceProfile(deviceProfile: any): Promise<void>;
44
+ trackByName(_index: any, column: Column): string;
28
45
  private delete;
29
46
  static ɵfac: i0.ɵɵFactoryDeclaration<DeviceProfileListComponent, never>;
30
47
  static ɵcmp: i0.ɵɵComponentDeclaration<DeviceProfileListComponent, "c8y-device-profile-list", never, {}, {}, never, never, false, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"device-profile-list.component.d.ts","sourceRoot":"","sources":["../../device-profile/device-profile-list.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,MAAM,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EACL,YAAY,EAEZ,YAAY,EACZ,sBAAsB,EACtB,4BAA4B,EAG7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAInD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;;AAEhE,qBAUa,0BAA2B,YAAW,MAAM,EAAE,4BAA4B;IAgBnF,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,oBAAoB;IArB9B,SAAS,UAAS;IAClB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAA6B;IAC1D,eAAe,EAAE,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAItD;IACF,sBAAsB,EAAE,sBAAsB,CAK5C;gBAGQ,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,oBAAoB;IAGpD,QAAQ;IAIR,kBAAkB;IAIZ,mBAAmB;IA0BnB,sBAAsB,CAAC,aAAa,KAAA;IAQpC,mBAAmB,CAAC,aAAa,KAAA;YA0BzB,MAAM;yCA7FT,0BAA0B;2CAA1B,0BAA0B;CAqGtC"}
1
+ {"version":3,"file":"device-profile-list.component.d.ts","sourceRoot":"","sources":["../../device-profile/device-profile-list.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAc,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAe,MAAM,aAAa,CAAC;AAC1D,OAAO,EACL,aAAa,EACb,YAAY,EAEZ,MAAM,EACN,eAAe,EACf,kBAAkB,EAElB,YAAY,EAEZ,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EAErB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,iBAAiB,EAElB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAQ,UAAU,EAAE,MAAM,MAAM,CAAC;AAIxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;;AAEhE,qBAUa,0BAA2B,YAAW,MAAM;IAkCrD,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,oBAAoB;IAzC9B,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,eAAe,UAAS;IACxB,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,CAAsB;IAClD,cAAc,EAAE,UAAU,CAAC,OAAO,CAAC,CAEQ;IAE3C,OAAO,EAAE,MAAM,EAAE,CAMf;IACF,cAAc,EAAE,aAAa,EAAE,CAAM;IACrC,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,UAAU;;;MAGR;IACF,sBAAsB,EAAE,sBAAsB,CAK5C;IAEF,gBAAgB,2BAAqC;IACrD,aAAa,mCAA6C;IAC1D,iBAAiB,qDAA+D;IAChF,cAAc,gDAA0D;gBAG9D,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,eAAe,EAC5B,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc,EAC9B,oBAAoB,EAAE,oBAAoB;IAKpD,QAAQ,IAAI,IAAI;IAiBV,oBAAoB,CACxB,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC,oBAAoB,CAAC;IAgDhC,iBAAiB,CAAC,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC;IAIlD,mBAAmB;IA0BnB,sBAAsB,CAAC,aAAa,KAAA;IAQpC,mBAAmB,CAAC,aAAa,KAAA;IA0BvC,WAAW,CAAC,MAAM,KAAA,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;YAI7B,MAAM;yCAtLT,0BAA0B;2CAA1B,0BAA0B;CA8LtC"}
@@ -1,18 +1,30 @@
1
1
  import { Component, forwardRef, Input } from '@angular/core';
2
2
  import { FormBuilder, FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';
3
3
  import { take } from 'rxjs/operators';
4
+ import { AlarmEventAttributesFormService } from './alarm-event-attributes-form.service';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/forms";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "@c8y/ngx-components";
7
+ import * as i2 from "./alarm-event-attributes-form.service";
8
+ import * as i3 from "@angular/common";
9
+ import * as i4 from "@c8y/ngx-components";
8
10
  export class AlarmEventAttributesFormComponent {
9
- constructor(formBuilder) {
11
+ constructor(formBuilder, alarmEventAttributesFormService) {
10
12
  this.formBuilder = formBuilder;
13
+ this.alarmEventAttributesFormService = alarmEventAttributesFormService;
11
14
  this.omitProperties = {};
15
+ this.selectedItems = [];
12
16
  }
13
17
  ngOnInit() {
14
18
  this.formGroup = this.formBuilder.group({
15
- filters: this.formBuilder.group({ type: ['', [Validators.required]] }),
19
+ filters: this.formBuilder.group({
20
+ type: [
21
+ '',
22
+ [
23
+ Validators.required,
24
+ this.alarmEventAttributesFormService.duplicateTypeValidator(this.selectedItems)
25
+ ]
26
+ ]
27
+ }),
16
28
  timelineType: ''
17
29
  });
18
30
  if (!this.omitProperties.label) {
@@ -34,8 +46,8 @@ export class AlarmEventAttributesFormComponent {
34
46
  setDisabledState(isDisabled) {
35
47
  isDisabled ? this.formGroup.disable() : this.formGroup.enable();
36
48
  }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AlarmEventAttributesFormComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
38
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: AlarmEventAttributesFormComponent, selector: "c8y-alarm-event-attributes-form", inputs: { timelineType: "timelineType", omitProperties: "omitProperties" }, providers: [
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AlarmEventAttributesFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.AlarmEventAttributesFormService }], target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: AlarmEventAttributesFormComponent, selector: "c8y-alarm-event-attributes-form", inputs: { timelineType: "timelineType", omitProperties: "omitProperties", selectedItems: "selectedItems" }, providers: [
39
51
  {
40
52
  provide: NG_VALUE_ACCESSOR,
41
53
  useExisting: forwardRef(() => AlarmEventAttributesFormComponent),
@@ -46,7 +58,7 @@ export class AlarmEventAttributesFormComponent {
46
58
  useExisting: forwardRef(() => AlarmEventAttributesFormComponent),
47
59
  multi: true
48
60
  }
49
- ], ngImport: i0, template: "<div [formGroup]=\"formGroup\">\n <c8y-form-group *ngIf=\"formGroup.controls.label\">\n <label class=\"m-0\">{{ 'Label' | translate }}</label>\n <input\n class=\"form-control flex-grow\"\n name=\"label\"\n formControlName=\"label\"\n [placeholder]=\"\n 'e.g. {{ example }}'\n | translate\n : {\n example:\n timelineType === 'ALARM'\n ? 'Alarm unavailable'\n : 'Location update'\n }\n \"\n />\n </c8y-form-group>\n\n <div formGroupName=\"filters\">\n <c8y-form-group>\n <label class=\"m-0\">{{ 'Type' | translate }}</label>\n <input\n class=\"form-control flex-grow\"\n name=\"type\"\n formControlName=\"type\"\n [placeholder]=\"\n 'e.g. {{ example }}'\n | translate\n : {\n example:\n timelineType === 'ALARM'\n ? 'c8y_UnavailabilityAlarm'\n : 'c8y_LocationUpdate'\n }\n \"\n />\n </c8y-form-group>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: "component", type: i3.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i3.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { 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: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }] }); }
61
+ ], ngImport: i0, template: "<div [formGroup]=\"formGroup\">\n <c8y-form-group *ngIf=\"formGroup.controls.label\">\n <label class=\"m-0\">{{ 'Label' | translate }}</label>\n <input\n class=\"form-control flex-grow\"\n name=\"label\"\n formControlName=\"label\"\n [placeholder]=\"\n 'e.g. {{ example }}'\n | translate\n : {\n example: timelineType === 'ALARM' ? 'Alarm unavailable' : 'Location update'\n }\n \"\n />\n </c8y-form-group>\n\n <div formGroupName=\"filters\">\n <c8y-form-group>\n <label class=\"m-0\">{{ 'Type' | translate }}</label>\n <input\n class=\"form-control flex-grow\"\n name=\"type\"\n formControlName=\"type\"\n [placeholder]=\"\n 'e.g. {{ example }}'\n | translate\n : {\n example:\n timelineType === 'ALARM' ? 'c8y_UnavailabilityAlarm' : 'c8y_LocationUpdate'\n }\n \"\n />\n <c8y-messages>\n <c8y-message\n name=\"duplicateType\"\n [text]=\"'Type already used.' | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: "component", type: i4.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i4.MessageDirective, selector: "c8y-message", inputs: ["name", "text"] }, { kind: "component", type: i4.MessagesComponent, selector: "c8y-messages", inputs: ["show", "defaults", "helpMessage"] }, { kind: "directive", type: i4.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { 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: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "pipe", type: i4.C8yTranslatePipe, name: "translate" }] }); }
50
62
  }
51
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AlarmEventAttributesFormComponent, decorators: [{
52
64
  type: Component,
@@ -61,10 +73,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
61
73
  useExisting: forwardRef(() => AlarmEventAttributesFormComponent),
62
74
  multi: true
63
75
  }
64
- ], template: "<div [formGroup]=\"formGroup\">\n <c8y-form-group *ngIf=\"formGroup.controls.label\">\n <label class=\"m-0\">{{ 'Label' | translate }}</label>\n <input\n class=\"form-control flex-grow\"\n name=\"label\"\n formControlName=\"label\"\n [placeholder]=\"\n 'e.g. {{ example }}'\n | translate\n : {\n example:\n timelineType === 'ALARM'\n ? 'Alarm unavailable'\n : 'Location update'\n }\n \"\n />\n </c8y-form-group>\n\n <div formGroupName=\"filters\">\n <c8y-form-group>\n <label class=\"m-0\">{{ 'Type' | translate }}</label>\n <input\n class=\"form-control flex-grow\"\n name=\"type\"\n formControlName=\"type\"\n [placeholder]=\"\n 'e.g. {{ example }}'\n | translate\n : {\n example:\n timelineType === 'ALARM'\n ? 'c8y_UnavailabilityAlarm'\n : 'c8y_LocationUpdate'\n }\n \"\n />\n </c8y-form-group>\n </div>\n</div>\n" }]
65
- }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { timelineType: [{
76
+ ], template: "<div [formGroup]=\"formGroup\">\n <c8y-form-group *ngIf=\"formGroup.controls.label\">\n <label class=\"m-0\">{{ 'Label' | translate }}</label>\n <input\n class=\"form-control flex-grow\"\n name=\"label\"\n formControlName=\"label\"\n [placeholder]=\"\n 'e.g. {{ example }}'\n | translate\n : {\n example: timelineType === 'ALARM' ? 'Alarm unavailable' : 'Location update'\n }\n \"\n />\n </c8y-form-group>\n\n <div formGroupName=\"filters\">\n <c8y-form-group>\n <label class=\"m-0\">{{ 'Type' | translate }}</label>\n <input\n class=\"form-control flex-grow\"\n name=\"type\"\n formControlName=\"type\"\n [placeholder]=\"\n 'e.g. {{ example }}'\n | translate\n : {\n example:\n timelineType === 'ALARM' ? 'c8y_UnavailabilityAlarm' : 'c8y_LocationUpdate'\n }\n \"\n />\n <c8y-messages>\n <c8y-message\n name=\"duplicateType\"\n [text]=\"'Type already used.' | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n </div>\n</div>\n" }]
77
+ }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.AlarmEventAttributesFormService }], propDecorators: { timelineType: [{
66
78
  type: Input
67
79
  }], omitProperties: [{
68
80
  type: Input
81
+ }], selectedItems: [{
82
+ type: Input
69
83
  }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxhcm0tZXZlbnQtYXR0cmlidXRlcy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FsYXJtLWV2ZW50LXNlbGVjdG9yL2FsYXJtLWV2ZW50LWF0dHJpYnV0ZXMtZm9ybS9hbGFybS1ldmVudC1hdHRyaWJ1dGVzLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vYWxhcm0tZXZlbnQtc2VsZWN0b3IvYWxhcm0tZXZlbnQtYXR0cmlidXRlcy1mb3JtL2FsYXJtLWV2ZW50LWF0dHJpYnV0ZXMtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUdMLFdBQVcsRUFDWCxXQUFXLEVBRVgsYUFBYSxFQUNiLGlCQUFpQixFQUdqQixVQUFVLEVBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBbUJ0QyxNQUFNLE9BQU8saUNBQWlDO0lBSzVDLFlBQW9CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBSG5DLG1CQUFjLEdBQTJCLEVBQUUsQ0FBQztJQUdOLENBQUM7SUFFaEQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDdEMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN0RSxZQUFZLEVBQUUsRUFBRTtTQUNqQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQy9FLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLFFBQXlCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDNUQsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFRO1FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbEUsQ0FBQzs4R0FwQ1UsaUNBQWlDO2tHQUFqQyxpQ0FBaUMsc0lBYmpDO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztnQkFDaEUsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlDQUFpQyxDQUFDO2dCQUNoRSxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDOUJILDZuQ0F5Q0E7OzJGRFRhLGlDQUFpQztrQkFoQjdDLFNBQVM7K0JBQ0UsaUNBQWlDLGFBRWhDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtDQUFrQyxDQUFDOzRCQUNoRSxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0NBQWtDLENBQUM7NEJBQ2hFLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2dGQUdRLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgRm9ybUJ1aWxkZXIsXG4gIEZvcm1Db250cm9sLFxuICBGb3JtR3JvdXAsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG4gIFZhbGlkYXRvcnNcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9taXRTZWxlY3RvclByb3BlcnRpZXMsIFRpbWVsaW5lVHlwZSB9IGZyb20gJy4uL2FsYXJtLWV2ZW50LXNlbGVjdG9yLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWFsYXJtLWV2ZW50LWF0dHJpYnV0ZXMtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbGFybS1ldmVudC1hdHRyaWJ1dGVzLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFsYXJtRXZlbnRBdHRyaWJ1dGVzRm9ybUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFsYXJtRXZlbnRBdHRyaWJ1dGVzRm9ybUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBbGFybUV2ZW50QXR0cmlidXRlc0Zvcm1Db21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yLCBPbkluaXQge1xuICBASW5wdXQoKSB0aW1lbGluZVR5cGU6IFRpbWVsaW5lVHlwZTtcbiAgQElucHV0KCkgb21pdFByb3BlcnRpZXM6IE9taXRTZWxlY3RvclByb3BlcnRpZXMgPSB7fTtcbiAgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGZpbHRlcnM6IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoeyB0eXBlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0gfSksXG4gICAgICB0aW1lbGluZVR5cGU6ICcnXG4gICAgfSk7XG5cbiAgICBpZiAoIXRoaXMub21pdFByb3BlcnRpZXMubGFiZWwpIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ2xhYmVsJywgbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGUoX2NvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cD8udmFsaWQgPyBudWxsIDogeyBmb3JtSW52YWxpZDoge30gfTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKG9iaik7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1Hcm91cC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKGZuKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoZm4pO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaXNEaXNhYmxlZCA/IHRoaXMuZm9ybUdyb3VwLmRpc2FibGUoKSA6IHRoaXMuZm9ybUdyb3VwLmVuYWJsZSgpO1xuICB9XG59XG4iLCI8ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gIDxjOHktZm9ybS1ncm91cCAqbmdJZj1cImZvcm1Hcm91cC5jb250cm9scy5sYWJlbFwiPlxuICAgIDxsYWJlbCBjbGFzcz1cIm0tMFwiPnt7ICdMYWJlbCcgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgIDxpbnB1dFxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZmxleC1ncm93XCJcbiAgICAgIG5hbWU9XCJsYWJlbFwiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJsYWJlbFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiXG4gICAgICAgICdlLmcuIHt7IGV4YW1wbGUgfX0nXG4gICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgIGV4YW1wbGU6XG4gICAgICAgICAgICAgICAgICB0aW1lbGluZVR5cGUgPT09ICdBTEFSTSdcbiAgICAgICAgICAgICAgICAgICAgPyAnQWxhcm0gdW5hdmFpbGFibGUnXG4gICAgICAgICAgICAgICAgICAgIDogJ0xvY2F0aW9uIHVwZGF0ZSdcbiAgICAgICAgICAgICAgfVxuICAgICAgXCJcbiAgICAvPlxuICA8L2M4eS1mb3JtLWdyb3VwPlxuXG4gIDxkaXYgZm9ybUdyb3VwTmFtZT1cImZpbHRlcnNcIj5cbiAgICA8Yzh5LWZvcm0tZ3JvdXA+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJtLTBcIj57eyAnVHlwZScgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZsZXgtZ3Jvd1wiXG4gICAgICAgIG5hbWU9XCJ0eXBlXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidHlwZVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJcbiAgICAgICAgICAnZS5nLiB7eyBleGFtcGxlIH19J1xuICAgICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICBleGFtcGxlOlxuICAgICAgICAgICAgICAgICAgICB0aW1lbGluZVR5cGUgPT09ICdBTEFSTSdcbiAgICAgICAgICAgICAgICAgICAgICA/ICdjOHlfVW5hdmFpbGFiaWxpdHlBbGFybSdcbiAgICAgICAgICAgICAgICAgICAgICA6ICdjOHlfTG9jYXRpb25VcGRhdGUnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICBcIlxuICAgICAgLz5cbiAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxhcm0tZXZlbnQtYXR0cmlidXRlcy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FsYXJtLWV2ZW50LXNlbGVjdG9yL2FsYXJtLWV2ZW50LWF0dHJpYnV0ZXMtZm9ybS9hbGFybS1ldmVudC1hdHRyaWJ1dGVzLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vYWxhcm0tZXZlbnQtc2VsZWN0b3IvYWxhcm0tZXZlbnQtYXR0cmlidXRlcy1mb3JtL2FsYXJtLWV2ZW50LWF0dHJpYnV0ZXMtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUdMLFdBQVcsRUFDWCxXQUFXLEVBRVgsYUFBYSxFQUNiLGlCQUFpQixFQUdqQixVQUFVLEVBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7OztBQW1CeEYsTUFBTSxPQUFPLGlDQUFpQztJQU01QyxZQUNVLFdBQXdCLEVBQ3hCLCtCQUFnRTtRQURoRSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixvQ0FBK0IsR0FBL0IsK0JBQStCLENBQWlDO1FBTmpFLG1CQUFjLEdBQTJCLEVBQUUsQ0FBQztRQUM1QyxrQkFBYSxHQUFtQixFQUFFLENBQUM7SUFNekMsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQ3RDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztnQkFDOUIsSUFBSSxFQUFFO29CQUNKLEVBQUU7b0JBQ0Y7d0JBQ0UsVUFBVSxDQUFDLFFBQVE7d0JBQ25CLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO3FCQUNoRjtpQkFDRjthQUNGLENBQUM7WUFDRixZQUFZLEVBQUUsRUFBRTtTQUNqQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQy9FLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLFFBQXlCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDNUQsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFRO1FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbEUsQ0FBQzs4R0FoRFUsaUNBQWlDO2tHQUFqQyxpQ0FBaUMsc0tBYmpDO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztnQkFDaEUsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlDQUFpQyxDQUFDO2dCQUNoRSxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDL0JILHVzQ0EwQ0E7OzJGRFRhLGlDQUFpQztrQkFoQjdDLFNBQVM7K0JBQ0UsaUNBQWlDLGFBRWhDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtDQUFrQyxDQUFDOzRCQUNoRSxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0NBQWtDLENBQUM7NEJBQ2hFLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhIQUdRLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBGb3JtQnVpbGRlcixcbiAgRm9ybUNvbnRyb2wsXG4gIEZvcm1Hcm91cCxcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcixcbiAgVmFsaWRhdG9yc1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWxhcm1FdmVudEF0dHJpYnV0ZXNGb3JtU2VydmljZSB9IGZyb20gJy4vYWxhcm0tZXZlbnQtYXR0cmlidXRlcy1mb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWxhcm1PckV2ZW50LCBPbWl0U2VsZWN0b3JQcm9wZXJ0aWVzLCBUaW1lbGluZVR5cGUgfSBmcm9tICcuLi9hbGFybS1ldmVudC1zZWxlY3Rvci5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1hbGFybS1ldmVudC1hdHRyaWJ1dGVzLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vYWxhcm0tZXZlbnQtYXR0cmlidXRlcy1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBbGFybUV2ZW50QXR0cmlidXRlc0Zvcm1Db21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBbGFybUV2ZW50QXR0cmlidXRlc0Zvcm1Db21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQWxhcm1FdmVudEF0dHJpYnV0ZXNGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciwgT25Jbml0IHtcbiAgQElucHV0KCkgdGltZWxpbmVUeXBlOiBUaW1lbGluZVR5cGU7XG4gIEBJbnB1dCgpIG9taXRQcm9wZXJ0aWVzOiBPbWl0U2VsZWN0b3JQcm9wZXJ0aWVzID0ge307XG4gIEBJbnB1dCgpIHNlbGVjdGVkSXRlbXM6IEFsYXJtT3JFdmVudFtdID0gW107XG4gIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgYWxhcm1FdmVudEF0dHJpYnV0ZXNGb3JtU2VydmljZTogQWxhcm1FdmVudEF0dHJpYnV0ZXNGb3JtU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGZpbHRlcnM6IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICB0eXBlOiBbXG4gICAgICAgICAgJycsXG4gICAgICAgICAgW1xuICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgIHRoaXMuYWxhcm1FdmVudEF0dHJpYnV0ZXNGb3JtU2VydmljZS5kdXBsaWNhdGVUeXBlVmFsaWRhdG9yKHRoaXMuc2VsZWN0ZWRJdGVtcylcbiAgICAgICAgICBdXG4gICAgICAgIF1cbiAgICAgIH0pLFxuICAgICAgdGltZWxpbmVUeXBlOiAnJ1xuICAgIH0pO1xuXG4gICAgaWYgKCF0aGlzLm9taXRQcm9wZXJ0aWVzLmxhYmVsKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKCdsYWJlbCcsIG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCkpO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlKF9jb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXA/LnZhbGlkID8gbnVsbCA6IHsgZm9ybUludmFsaWQ6IHt9IH07XG4gIH1cblxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZShvYmopO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShmbik7XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKGZuKTtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlzRGlzYWJsZWQgPyB0aGlzLmZvcm1Hcm91cC5kaXNhYmxlKCkgOiB0aGlzLmZvcm1Hcm91cC5lbmFibGUoKTtcbiAgfVxufVxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8Yzh5LWZvcm0tZ3JvdXAgKm5nSWY9XCJmb3JtR3JvdXAuY29udHJvbHMubGFiZWxcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJtLTBcIj57eyAnTGFiZWwnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgICA8aW5wdXRcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZsZXgtZ3Jvd1wiXG4gICAgICBuYW1lPVwibGFiZWxcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibGFiZWxcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIlxuICAgICAgICAnZS5nLiB7eyBleGFtcGxlIH19J1xuICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICBleGFtcGxlOiB0aW1lbGluZVR5cGUgPT09ICdBTEFSTScgPyAnQWxhcm0gdW5hdmFpbGFibGUnIDogJ0xvY2F0aW9uIHVwZGF0ZSdcbiAgICAgICAgICAgICAgfVxuICAgICAgXCJcbiAgICAvPlxuICA8L2M4eS1mb3JtLWdyb3VwPlxuXG4gIDxkaXYgZm9ybUdyb3VwTmFtZT1cImZpbHRlcnNcIj5cbiAgICA8Yzh5LWZvcm0tZ3JvdXA+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJtLTBcIj57eyAnVHlwZScgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZsZXgtZ3Jvd1wiXG4gICAgICAgIG5hbWU9XCJ0eXBlXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidHlwZVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJcbiAgICAgICAgICAnZS5nLiB7eyBleGFtcGxlIH19J1xuICAgICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICBleGFtcGxlOlxuICAgICAgICAgICAgICAgICAgICB0aW1lbGluZVR5cGUgPT09ICdBTEFSTScgPyAnYzh5X1VuYXZhaWxhYmlsaXR5QWxhcm0nIDogJ2M4eV9Mb2NhdGlvblVwZGF0ZSdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIFwiXG4gICAgICAvPlxuICAgICAgPGM4eS1tZXNzYWdlcz5cbiAgICAgICAgPGM4eS1tZXNzYWdlXG4gICAgICAgICAgbmFtZT1cImR1cGxpY2F0ZVR5cGVcIlxuICAgICAgICAgIFt0ZXh0XT1cIidUeXBlIGFscmVhZHkgdXNlZC4nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgPjwvYzh5LW1lc3NhZ2U+XG4gICAgICA8L2M4eS1tZXNzYWdlcz5cbiAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,20 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AlarmEventAttributesFormService {
4
+ duplicateTypeValidator(selectedItems) {
5
+ return (control) => {
6
+ if (!control.value || !selectedItems?.length) {
7
+ return null;
8
+ }
9
+ const isDuplicate = selectedItems.some(item => item.filters?.type?.toLowerCase() === control.value.toLowerCase());
10
+ return isDuplicate ? { duplicateType: true } : null;
11
+ };
12
+ }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AlarmEventAttributesFormService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
14
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AlarmEventAttributesFormService, providedIn: 'root' }); }
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AlarmEventAttributesFormService, decorators: [{
17
+ type: Injectable,
18
+ args: [{ providedIn: 'root' }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxhcm0tZXZlbnQtYXR0cmlidXRlcy1mb3JtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hbGFybS1ldmVudC1zZWxlY3Rvci9hbGFybS1ldmVudC1hdHRyaWJ1dGVzLWZvcm0vYWxhcm0tZXZlbnQtYXR0cmlidXRlcy1mb3JtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLCtCQUErQjtJQUMxQyxzQkFBc0IsQ0FBQyxhQUE2QjtRQUNsRCxPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtZQUMzRCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDN0MsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBQ0QsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FDcEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUMxRSxDQUFDO1lBQ0YsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDdEQsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs4R0FYVSwrQkFBK0I7a0hBQS9CLCtCQUErQixjQURsQixNQUFNOzsyRkFDbkIsK0JBQStCO2tCQUQzQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFsYXJtT3JFdmVudCB9IGZyb20gJy4uL2FsYXJtLWV2ZW50LXNlbGVjdG9yLm1vZGVsJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBbGFybUV2ZW50QXR0cmlidXRlc0Zvcm1TZXJ2aWNlIHtcbiAgZHVwbGljYXRlVHlwZVZhbGlkYXRvcihzZWxlY3RlZEl0ZW1zOiBBbGFybU9yRXZlbnRbXSkge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgaWYgKCFjb250cm9sLnZhbHVlIHx8ICFzZWxlY3RlZEl0ZW1zPy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBjb25zdCBpc0R1cGxpY2F0ZSA9IHNlbGVjdGVkSXRlbXMuc29tZShcbiAgICAgICAgaXRlbSA9PiBpdGVtLmZpbHRlcnM/LnR5cGU/LnRvTG93ZXJDYXNlKCkgPT09IGNvbnRyb2wudmFsdWUudG9Mb3dlckNhc2UoKVxuICAgICAgKTtcbiAgICAgIHJldHVybiBpc0R1cGxpY2F0ZSA/IHsgZHVwbGljYXRlVHlwZTogdHJ1ZSB9IDogbnVsbDtcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -87,7 +87,7 @@ export class AlarmEventSelectorListItemComponent {
87
87
  useExisting: forwardRef(() => AlarmEventSelectorListItemComponent),
88
88
  multi: true
89
89
  }
90
- ], 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-icon\n class=\"a-s-center p-r-4\"\n *ngIf=\"showAddRemoveButton\"\n >\n <button\n class=\"btn btn-clean text-primary\"\n [title]=\"'Remove' | translate\"\n *ngIf=\"isSelected\"\n (click)=\"addOrRemoveItem()\"\n >\n <i\n class=\"text-danger\"\n c8yIcon=\"minus-circle\"\n ></i>\n </button>\n <button\n class=\"btn btn-clean text-primary\"\n [title]=\"'Select' | translate\"\n *ngIf=\"!isSelected\"\n (click)=\"addOrRemoveItem()\"\n [disabled]=\"(valid$ | async) === false\"\n >\n <i\n class=\"text-primary\"\n c8yIcon=\"plus-circle\"\n ></i>\n </button>\n </c8y-li-icon>\n\n <c8y-li-checkbox\n class=\"a-s-center 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-4\">\n <div\n class=\"c8y-list__item__colorpicker p-t-0 p-b-0 p-l-0\"\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\"\n [ngStyle]=\"{ 'background-color': formGroup.value.color }\"\n >\n <i\n class=\"stroked-icon\"\n [c8yIcon]=\"timelineType === 'EVENT' ? 'c8y-events' : '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\"></i>\n </button>\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 ></c8y-alarm-event-attributes-form>\n </div>\n </c8y-li-collapse>\n</c8y-li>\n", dependencies: [{ kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.HighlightComponent, selector: "c8y-highlight", inputs: ["pattern", "text", "elementClass", "shouldTrimPattern"] }, { 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: "directive", type: i2.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "component", type: i2.ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: i2.ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "component", type: i2.ListItemActionComponent, selector: "c8y-list-item-action, c8y-li-action", inputs: ["label", "icon", "disabled"], outputs: ["click"] }, { kind: "component", type: i2.ListItemCollapseComponent, selector: "c8y-list-item-collapse, c8y-li-collapse", inputs: ["collapseWay"] }, { kind: "component", type: i2.ListItemCheckboxComponent, selector: "c8y-list-item-checkbox, c8y-li-checkbox", inputs: ["selected", "indeterminate", "disabled", "displayAsSwitch"], outputs: ["onSelect"] }, { kind: "component", type: i2.ListItemDragHandleComponent, selector: "c8y-list-item-drag-handle, c8y-li-drag-handle" }, { 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: "directive", type: i4.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: i5.AlarmEventAttributesFormComponent, selector: "c8y-alarm-event-attributes-form", inputs: ["timelineType", "omitProperties"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
90
+ ], 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-icon\n class=\"a-s-center p-r-4\"\n *ngIf=\"showAddRemoveButton\"\n >\n <button\n class=\"btn btn-clean text-primary\"\n [title]=\"'Remove' | translate\"\n *ngIf=\"isSelected\"\n (click)=\"addOrRemoveItem()\"\n >\n <i\n class=\"text-danger\"\n c8yIcon=\"minus-circle\"\n ></i>\n </button>\n <button\n class=\"btn btn-clean text-primary\"\n [title]=\"'Select' | translate\"\n *ngIf=\"!isSelected\"\n (click)=\"addOrRemoveItem()\"\n [disabled]=\"(valid$ | async) === false\"\n >\n <i\n class=\"text-primary\"\n c8yIcon=\"plus-circle\"\n ></i>\n </button>\n </c8y-li-icon>\n\n <c8y-li-checkbox\n class=\"a-s-center 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-4\">\n <div\n class=\"c8y-list__item__colorpicker p-t-0 p-b-0 p-l-0\"\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\"\n [ngStyle]=\"{ 'background-color': formGroup.value.color }\"\n >\n <i\n class=\"stroked-icon\"\n [c8yIcon]=\"timelineType === 'EVENT' ? 'c8y-events' : '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\"></i>\n </button>\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 ></c8y-alarm-event-attributes-form>\n </div>\n </c8y-li-collapse>\n</c8y-li>\n", dependencies: [{ kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.HighlightComponent, selector: "c8y-highlight", inputs: ["pattern", "text", "elementClass", "shouldTrimPattern"] }, { 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: "directive", type: i2.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "component", type: i2.ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: i2.ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "component", type: i2.ListItemActionComponent, selector: "c8y-list-item-action, c8y-li-action", inputs: ["label", "icon", "disabled"], outputs: ["click"] }, { kind: "component", type: i2.ListItemCollapseComponent, selector: "c8y-list-item-collapse, c8y-li-collapse", inputs: ["collapseWay"] }, { kind: "component", type: i2.ListItemCheckboxComponent, selector: "c8y-list-item-checkbox, c8y-li-checkbox", inputs: ["selected", "indeterminate", "disabled", "displayAsSwitch"], outputs: ["onSelect"] }, { kind: "component", type: i2.ListItemDragHandleComponent, selector: "c8y-list-item-drag-handle, c8y-li-drag-handle" }, { 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: "directive", type: i4.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: i5.AlarmEventAttributesFormComponent, selector: "c8y-alarm-event-attributes-form", inputs: ["timelineType", "omitProperties", "selectedItems"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
91
91
  }
92
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AlarmEventSelectorListItemComponent, decorators: [{
93
93
  type: Component,