@c8y/ngx-components 1023.26.1 → 1023.30.0

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 (86) hide show
  1. package/cockpit-config/index.d.ts.map +1 -1
  2. package/context-dashboard/index.d.ts.map +1 -1
  3. package/datapoint-explorer/view/index.d.ts +1 -1
  4. package/datapoint-selector/index.d.ts.map +1 -1
  5. package/ecosystem/application-plugins/index.d.ts.map +1 -1
  6. package/ecosystem/index.d.ts.map +1 -1
  7. package/ecosystem/shared/index.d.ts +1 -1
  8. package/ecosystem/shared/index.d.ts.map +1 -1
  9. package/fesm2022/c8y-ngx-components-asset-properties.mjs +5 -6
  10. package/fesm2022/c8y-ngx-components-asset-properties.mjs.map +1 -1
  11. package/fesm2022/{c8y-ngx-components-asset-property-grid.component-QedBlFUH.mjs → c8y-ngx-components-asset-property-grid.component-B04ixTyA.mjs} +2 -2
  12. package/fesm2022/{c8y-ngx-components-asset-property-grid.component-QedBlFUH.mjs.map → c8y-ngx-components-asset-property-grid.component-B04ixTyA.mjs.map} +1 -1
  13. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs +1 -1
  14. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs.map +1 -1
  15. package/fesm2022/c8y-ngx-components-cockpit-config.mjs +7 -7
  16. package/fesm2022/c8y-ngx-components-cockpit-config.mjs.map +1 -1
  17. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +15 -5
  18. package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  19. package/fesm2022/c8y-ngx-components-dashboard-manager.mjs +2 -2
  20. package/fesm2022/c8y-ngx-components-dashboard-manager.mjs.map +1 -1
  21. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs +2 -1
  22. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs.map +1 -1
  23. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +4 -12
  24. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
  25. package/fesm2022/c8y-ngx-components-device-grid.mjs +1 -1
  26. package/fesm2022/c8y-ngx-components-device-grid.mjs.map +1 -1
  27. package/fesm2022/c8y-ngx-components-device-profile.mjs +1 -1
  28. package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
  29. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +1 -1
  30. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs.map +1 -1
  31. package/fesm2022/c8y-ngx-components-echart.mjs +6 -3
  32. package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
  33. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +10 -7
  34. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
  35. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
  36. package/fesm2022/c8y-ngx-components-ecosystem.mjs +4 -4
  37. package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
  38. package/fesm2022/c8y-ngx-components-exports-list.mjs +1 -1
  39. package/fesm2022/c8y-ngx-components-exports-list.mjs.map +1 -1
  40. package/fesm2022/c8y-ngx-components-files-repository.mjs +1 -1
  41. package/fesm2022/c8y-ngx-components-files-repository.mjs.map +1 -1
  42. package/fesm2022/c8y-ngx-components-messaging-management.mjs +2 -2
  43. package/fesm2022/c8y-ngx-components-messaging-management.mjs.map +1 -1
  44. package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs +1 -1
  45. package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs.map +1 -1
  46. package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs +1 -1
  47. package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs.map +1 -1
  48. package/fesm2022/c8y-ngx-components-repository-configuration.mjs +1 -1
  49. package/fesm2022/c8y-ngx-components-repository-configuration.mjs.map +1 -1
  50. package/fesm2022/c8y-ngx-components-repository-firmware.mjs +1 -1
  51. package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
  52. package/fesm2022/c8y-ngx-components-repository-software.mjs +1 -1
  53. package/fesm2022/c8y-ngx-components-repository-software.mjs.map +1 -1
  54. package/fesm2022/c8y-ngx-components-search.mjs +1 -1
  55. package/fesm2022/c8y-ngx-components-search.mjs.map +1 -1
  56. package/fesm2022/c8y-ngx-components-services.mjs +1 -1
  57. package/fesm2022/c8y-ngx-components-services.mjs.map +1 -1
  58. package/fesm2022/c8y-ngx-components-sub-assets.mjs +1 -1
  59. package/fesm2022/c8y-ngx-components-sub-assets.mjs.map +1 -1
  60. package/fesm2022/c8y-ngx-components-tenants.mjs +7 -6
  61. package/fesm2022/c8y-ngx-components-tenants.mjs.map +1 -1
  62. package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs +1 -1
  63. package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs.map +1 -1
  64. package/fesm2022/c8y-ngx-components-widgets-exports.mjs +52 -50
  65. package/fesm2022/c8y-ngx-components-widgets-exports.mjs.map +1 -1
  66. package/fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs +4 -0
  67. package/fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs.map +1 -1
  68. package/fesm2022/c8y-ngx-components.mjs +33 -11
  69. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  70. package/index.d.ts +24 -3
  71. package/index.d.ts.map +1 -1
  72. package/locales/de.po +291 -3
  73. package/locales/es.po +291 -3
  74. package/locales/fr.po +291 -3
  75. package/locales/ja_JP.po +291 -3
  76. package/locales/ko.po +291 -3
  77. package/locales/locales.pot +291 -3
  78. package/locales/nl.po +291 -3
  79. package/locales/pl.po +291 -3
  80. package/locales/pt_BR.po +291 -3
  81. package/locales/zh_CN.po +291 -3
  82. package/locales/zh_TW.po +291 -3
  83. package/package.json +1 -1
  84. package/tenants/index.d.ts.map +1 -1
  85. package/widgets/exports/index.d.ts.map +1 -1
  86. package/widgets/implementations/three-d-rotation/index.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../cockpit-config/cockpit-config.guard.ts","../../cockpit-config/cockpit-config.model.ts","../../cockpit-config/cockpit-config.service.ts","../../cockpit-config/cockpit-configuration.component.ts","../../cockpit-config/setup/cockpit-setup-step.ts","../../cockpit-config/setup/cockpit-setup-step1.component.ts","../../cockpit-config/setup/cockpit-setup-step2.component.ts","../../cockpit-config/setup/cockpit-setup-step3.component.ts","../../cockpit-config/setup/cockpit-setup-step4.component.ts","../../cockpit-config/feature-config.component.ts","../../cockpit-config/root-node-config.component.ts","../../cockpit-config/home-dashboard-config.component.ts","../../cockpit-config/misc-config.component.ts","../../cockpit-config/setup/cockpit-setup-stepper-buttons.component.ts","../../cockpit-config/cockpit-config.module.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;AAWA;AAaI;AACA;AACA;AAXF;;AAcA;AAOA;;;AAMD;;AC1CD;AACA;;;AAIE;;;;;;;;;;;;AAYE;;;;;AAKF;;;;;;AAMD;AAED;;;;;AA6BC;AAED;AACE;;AAEG;AACH;AACA;;AAEG;AACH;AACA;;AAEG;AACH;AACD;AAED;;ACrDA;AAmBI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACmD;;;;AAlBrD;AAEA;AAOU;;AA8BV;;;AAGG;;AAOH;;;AAGG;;;;;;AAoEH;AASA;AAWA;AAmBA;AAIA;AAcA;AAWA;;;AAeD;;AClND;AAiCI;AACA;AACA;AAVF;;AAEG;;AAGH;;AAQA;;AAEG;;AAKH;;AAEG;;AAUH;;AAEG;AACH;AAQA;;AAEG;;AAMH;;AAEG;;;;AAOJ;;ACzGD;AAKW;;;;;;;;AAHT;;;;AA+BD;;AClBD;AAkBW;;;;;;;AAHT;;AAeA;;;AAGD;;ACtCD;AAaW;;;;;;;;;;AAUV;;ACvBD;AAaW;;;;;;;;;;AAUV;;ACvBD;AAaW;;;;;;;;;;AAUV;;AC1BD;;AAoBE;;;;AAKD;;ACtBD;;AAsBW;AAGT;AAEA;;;AAGG;;;;AASJ;;ACxCD;AAiBc;;AARZ;;AAEG;;AAGH;;AAEG;AACiB;AAEpB;;AAEG;AACH;AAwBA;;AAEG;;;;AAUJ;;ACpED;;;;AAQC;;ACTD;AAMW;AACC;AACA;;;AACX;;ACiBD;AA6Dc;AAAQ;;;;AAGrB;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../cockpit-config/cockpit-config.guard.ts","../../cockpit-config/cockpit-config.model.ts","../../cockpit-config/cockpit-config.service.ts","../../cockpit-config/cockpit-configuration.component.ts","../../cockpit-config/setup/cockpit-setup-step.ts","../../cockpit-config/setup/cockpit-setup-step1.component.ts","../../cockpit-config/setup/cockpit-setup-step2.component.ts","../../cockpit-config/setup/cockpit-setup-step3.component.ts","../../cockpit-config/setup/cockpit-setup-step4.component.ts","../../cockpit-config/feature-config.component.ts","../../cockpit-config/root-node-config.component.ts","../../cockpit-config/home-dashboard-config.component.ts","../../cockpit-config/misc-config.component.ts","../../cockpit-config/setup/cockpit-setup-stepper-buttons.component.ts","../../cockpit-config/cockpit-config.module.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;AAWA;AAaI;AACA;AACA;AAXF;;AAcA;AAOA;;;AAMD;;AC1CD;AACA;;;AAIE;;;;;;;;;;;;AAYE;;;;;AAKF;;;;;;AAMD;AAED;;;;;AA6BC;AAED;AACE;;AAEG;AACH;AACA;;AAEG;AACH;AACA;;AAEG;AACH;AACD;AAED;;ACrDA;AAmBI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACmD;;;;AAlBrD;AAEA;AAOU;;AA8BV;;;AAGG;;AAOH;;;AAGG;;;;;;AAoEH;AASA;AAWA;AAmBA;AAIA;AAcA;AAWA;;;AAeD;;AClND;AAiCI;AACA;AACA;AAVF;;AAEG;;AAGH;;AAQA;;AAEG;;AAKH;;AAEG;;AAUH;;AAEG;AACH;AAQA;;AAEG;;AAMH;;AAEG;;;;AAOJ;;ACzGD;AAKW;;;;;;;;AAHT;;;;AA+BD;;AClBD;AAkBW;;;;;;;AAHT;;AAeA;;;AAGD;;ACtCD;AAaW;;;;;;;;;;AAUV;;ACvBD;AAaW;;;;;;;;;;AAUV;;ACvBD;AAaW;;;;;;;;;;AAUV;;AC1BD;;AAoBE;;;;AAKD;;ACrBD;;AAsBW;AAGT;AAEA;;;AAGG;;;;AASJ;;ACzCD;AAiBc;;AARZ;;AAEG;;AAGH;;AAEG;AACiB;AAEpB;;AAEG;AACH;AAwBA;;AAEG;;;;AAUJ;;ACpED;;;;AAQC;;ACTD;AAMW;AACC;AACA;;;AACX;;ACiBD;AA6Dc;AAAQ;;;;AAGrB;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../context-dashboard/add-dashboard.component.ts","../../context-dashboard/add-dashboard.factory.ts","../../context-dashboard/context-dashboard.model.ts","../../context-dashboard/context-dashboard.service.ts","../../context-dashboard/dashboard-detail.service.ts","../../context-dashboard/dashboard-detail.component.ts","../../context-dashboard/memento/dashboard-originator.service.ts","../../context-dashboard/memento/dashboard-caretaker.service.ts","../../context-dashboard/memento/dashboard-edit-mode.service.ts","../../context-dashboard/widget.service.ts","../../context-dashboard/context-dashboard.component.ts","../../context-dashboard/widget-config/appearance-settings.component.ts","../../context-dashboard/type-dashboard-info/type-dashboard-info.component.ts","../../context-dashboard/widget-config-hook/widget-config-hook.model.ts","../../context-dashboard/widget-config-hook/widget-config-hook.service.ts","../../context-dashboard/widget-config.service.ts","../../context-dashboard/widget-config/widget-config-root.component.ts","../../context-dashboard/widget-config.component.ts","../../context-dashboard/widget-config/widget-preview.component.ts","../../context-dashboard/widget-config/widget-config-section.component.ts","../../context-dashboard/widget-config/widget-preview-wrapper.component.ts","../../context-dashboard/paste-dashboard-action.component.ts","../../context-dashboard/context-dashboard.module.ts","../../context-dashboard/dashboard-action-bar.factory.ts","../../context-dashboard/device-info-dashboard/device-info-dashboard.component.ts","../../context-dashboard/device-info-dashboard/device-info-dashboard.module.ts","../../context-dashboard/device-management-home-dashboard/device-management-home-dashboard.component.ts","../../context-dashboard/device-management-home-dashboard/device-management-home-dashboard.module.ts","../../context-dashboard/widget-config/widget-config-appearance.component.ts","../../context-dashboard/widget-config/widget-config-general.component.ts","../../context-dashboard/widget-config/widget-asset-selector.component.ts","../../context-dashboard/new-dashboard.guard.ts","../../context-dashboard/widget-config/global-context-section.component.ts","../../context-dashboard/widget-config/widget-config-feedback.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../context-dashboard/add-dashboard.component.ts","../../context-dashboard/add-dashboard.factory.ts","../../context-dashboard/context-dashboard.model.ts","../../context-dashboard/context-dashboard.service.ts","../../context-dashboard/dashboard-detail.service.ts","../../context-dashboard/dashboard-detail.component.ts","../../context-dashboard/memento/dashboard-originator.service.ts","../../context-dashboard/memento/dashboard-caretaker.service.ts","../../context-dashboard/memento/dashboard-edit-mode.service.ts","../../context-dashboard/widget.service.ts","../../context-dashboard/context-dashboard.component.ts","../../context-dashboard/widget-config/appearance-settings.component.ts","../../context-dashboard/type-dashboard-info/type-dashboard-info.component.ts","../../context-dashboard/widget-config-hook/widget-config-hook.model.ts","../../context-dashboard/widget-config-hook/widget-config-hook.service.ts","../../context-dashboard/widget-config.service.ts","../../context-dashboard/widget-config/widget-config-root.component.ts","../../context-dashboard/widget-config.component.ts","../../context-dashboard/widget-config/widget-preview.component.ts","../../context-dashboard/widget-config/widget-config-section.component.ts","../../context-dashboard/widget-config/widget-preview-wrapper.component.ts","../../context-dashboard/paste-dashboard-action.component.ts","../../context-dashboard/context-dashboard.module.ts","../../context-dashboard/dashboard-action-bar.factory.ts","../../context-dashboard/device-info-dashboard/device-info-dashboard.component.ts","../../context-dashboard/device-info-dashboard/device-info-dashboard.module.ts","../../context-dashboard/device-management-home-dashboard/device-management-home-dashboard.component.ts","../../context-dashboard/device-management-home-dashboard/device-management-home-dashboard.module.ts","../../context-dashboard/widget-config/widget-config-appearance.component.ts","../../context-dashboard/widget-config/widget-config-general.component.ts","../../context-dashboard/widget-config/widget-asset-selector.component.ts","../../context-dashboard/new-dashboard.guard.ts","../../context-dashboard/widget-config/global-context-section.component.ts","../../context-dashboard/widget-config/widget-config-feedback.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
@@ -143,7 +143,7 @@ declare class DatapointExplorerComponent {
143
143
  timeContext: TimeContextComponent;
144
144
  config: DatapointsGraphWidgetConfig$1;
145
145
  exportConfig: ExportConfig;
146
- alerts: DynamicComponentAlertAggregator | undefined;
146
+ alerts: DynamicComponentAlertAggregator;
147
147
  alarms: AlarmDetailsExtended[];
148
148
  events: EventDetailsExtended[];
149
149
  datapointsOutOfSync: Map<DatapointsGraphKPIDetails, boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../datapoint-selector/datapoint-attributes-form/datapoint-attributes.model.ts","../../datapoint-selector/datapoint-selection.model.ts","../../datapoint-selector/datapoint-library.service.ts","../../datapoint-selector/datapoint-selector.component.ts","../../datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.component.ts","../../datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.ts","../../datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.model.ts","../../datapoint-selector/datapoint-selector.service.ts","../../datapoint-selector/datapoint-selection-list/datapoint-selection-list.component.ts","../../datapoint-selector/datapoint-template-popover/datapoint-template-popover.component.ts","../../datapoint-selector/pipes/includes-datapoint.pipe.ts","../../datapoint-selector/pipes/datapoint-label.pipe.ts","../../datapoint-selector/pipes/filter-datapoints.pipe.ts","../../datapoint-selector/datapoint-attributes-form/datapoint-attributes-form-validation.service.ts","../../datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.ts","../../datapoint-selector/datapoint-selector.module.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAEA;;;;;;;;;;AAMM;AAEN;;;;;;;;;;;;;;;;;;;AASM;AAEN;;;;;;;;;;AAMM;;AClBN;;;;AAKE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAEK;AACJ;AACD;;;AAIC;;AAED;;;;;;;;;;;AAYA;AAEK;;ACxCN;AAII;AACA;AACA;AACA;;AAHQ;;AAoBJ;AAUA;AAQA;AA4CA;AAwBN;;;;AAIG;AACG;AA+BU;;;;;AA4CA;AAsBhB;;;AA0BgB;;;AAqBjB;;ACpPD;AAgEc;;AAlCH;AACA;AACT;AACS;AACA;AACA;AACA;AACA;AACA;AACA;AACT;AACA;;;;;;;;AAIgC;AAEhC;AACA;AACA;AACA;AACA;;AAGA;AACA;;;;;AASoB;AAEpB;AAoBA;AAIA;AAIA;AAIA;AAYA;;;AAgCA;AAKA;AAsCA;AAQA;AAKA;AAIA;AAOA;;;AAkBD;;ACrPD;AA6BI;AACA;;AAvBF;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAUU;AAIV;AAIA;;AAUA;AAOA;;;;AAIG;AACH;;;AAOD;;AClCD;;;;;AAKM;AAEN;AAiEc;;AAzBH;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACC;AACA;AACD;AACA;;;AAIT;AACA;AACA;;;;;;AAEgC;AAEZ;AAgBpB;AAeA;AAIA;AAIA;AAIA;;;;;AAiCA;;AAoCA;AAgBA;AAUA;;;AAKD;;ACnQK;;ACIN;;AAEwB;AAEtB;;;AAcD;;ACkCD;AA8DI;AACA;AACA;AACY;;AA7Bd;;AAEG;AACM;AACA;AACA;AACT;;AAEG;;AAEH;;AAEG;AACM;AACA;AACA;;;AAGT;;;;;AACgC;AAEtB;AACA;;AAIA;AAaV;AAeA;AAIA;AAIA;AAQA;AAYA;;;AAqCA;AAMA;AAOA;;;AAOD;;ACnOD;;;;;;AAWG;;;AAgCF;;AC9CD;;;;AAaC;;ACbD;AAEE;;;AAE0D;;;AAmB3D;;ACvBD;;AAYE;;;AAqBD;;ACvBD;AAEc;AAAQ;AAEpB;AA4BA;;;;;;;;;;;AAyJA;AAOA;AAQA;AAMA;AAOA;;;AAWD;;AC5MD;AAgEc;;;;AA5BH;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;AAYT;;AAEI;;;AAGJ;;;AAIoB;AAKpB;AAKA;AAMA;AAOA;AAeA;AASA;AAIA;AAOA;AAYA;AAYA;AAMA;AAQA;AAQA;;;AAOD;;AC7LD;;;;AA+BuC;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../datapoint-selector/datapoint-attributes-form/datapoint-attributes.model.ts","../../datapoint-selector/datapoint-selection.model.ts","../../datapoint-selector/datapoint-library.service.ts","../../datapoint-selector/datapoint-selector.component.ts","../../datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.component.ts","../../datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.ts","../../datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.model.ts","../../datapoint-selector/datapoint-selector.service.ts","../../datapoint-selector/datapoint-selection-list/datapoint-selection-list.component.ts","../../datapoint-selector/datapoint-template-popover/datapoint-template-popover.component.ts","../../datapoint-selector/pipes/includes-datapoint.pipe.ts","../../datapoint-selector/pipes/datapoint-label.pipe.ts","../../datapoint-selector/pipes/filter-datapoints.pipe.ts","../../datapoint-selector/datapoint-attributes-form/datapoint-attributes-form-validation.service.ts","../../datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.ts","../../datapoint-selector/datapoint-selector.module.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAEA;;;;;;;;;;AAMM;AAEN;;;;;;;;;;;;;;;;;;;AASM;AAEN;;;;;;;;;;AAMM;;AClBN;;;;AAKE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAEK;AACJ;AACD;;;AAIC;;AAED;;;;;;;;;;;AAYA;AAEK;;ACxCN;AAII;AACA;AACA;AACA;;AAHQ;;AAoBJ;AAUA;AAQA;AA4CA;AAwBN;;;;AAIG;AACG;AA+BU;;;;;AA4CA;AAsBhB;;;AA0BgB;;;AAqBjB;;ACpPD;AAgEc;;AAlCH;AACA;AACT;AACS;AACA;AACA;AACA;AACA;AACA;AACA;AACT;AACA;;;;;;;;AAIgC;AAEhC;AACA;AACA;AACA;AACA;;AAGA;AACA;;;;;AASoB;AAEpB;AAoBA;AAIA;AAIA;AAIA;AAYA;;;AAgCA;AAKA;AAsCA;AAQA;AAKA;AAIA;AAOA;;;AAkBD;;ACrPD;AA6BI;AACA;;AAvBF;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAUU;AAIV;AAIA;;AAUA;AAOA;;;;AAIG;AACH;;;AAOD;;AClCD;;;;;AAKM;AAEN;AAiEc;;AAzBH;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACC;AACA;AACD;AACA;;;AAIT;AACA;AACA;;;;;;AAEgC;AAEZ;AAgBpB;AAeA;AAIA;AAIA;AAIA;;;;;AAiCA;;AAoCA;AAgBA;AAUA;;;AAKD;;ACnQK;;ACIN;;AAEwB;AAEtB;;;AAcD;;ACkCD;AA8DI;AACA;AACA;AACY;;AA7Bd;;AAEG;AACM;AACA;AACA;AACT;;AAEG;;AAEH;;AAEG;AACM;AACA;AACA;;;AAGT;;;;;AACgC;AAEtB;AACA;;AAIA;AAaV;AAeA;AAIA;AAIA;AAQA;AAYA;;;AAqCA;AAMA;AAOA;;;AAOD;;ACpOD;;;;;;AAWG;;;AAwBF;;ACrCD;;;;AAaC;;ACbD;AAEE;;;AAE0D;;;AAmB3D;;ACvBD;;AAYE;;;AAqBD;;ACvBD;AAEc;AAAQ;AAEpB;AA4BA;;;;;;;;;;;AAyJA;AAOA;AAQA;AAMA;AAOA;;;AAWD;;AC5MD;AAgEc;;;;AA5BH;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;AAYT;;AAEI;;;AAGJ;;;AAIoB;AAKpB;AAKA;AAMA;AAOA;AAeA;AASA;AAIA;AAOA;AAYA;AAYA;AAMA;AAQA;AAQA;;;AAOD;;AC7LD;;;;AA+BuC;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../../ecosystem/application-plugins/application-plugins.component.ts","../../../ecosystem/application-plugins/plugin-list-item.component.ts","../../../ecosystem/application-plugins/install-plugin.component.ts","../../../ecosystem/application-plugins/plugin-list.service.ts","../../../ecosystem/application-plugins/plugin-list.component.ts","../../../ecosystem/application-plugins/apps-to-update-remotes-select.component.ts","../../../ecosystem/application-plugins/appState.pipe.ts","../../../ecosystem/application-plugins/label-cell-renderer.component.ts","../../../ecosystem/application-plugins/orphaned-status-cell-renderer.component.ts","../../../ecosystem/application-plugins/update-plugin-of-app/update-plugin-of-app.component.ts","../../../ecosystem/application-plugins/only-latest-filter/only-latest-filter.component.ts","../../../ecosystem/application-plugins/application-plugin-readme.component.ts","../../../ecosystem/application-plugins/application-plugins.module.ts","../../../ecosystem/application-plugins/application-plugins.guard.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;AA8CA;AA0HI;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA3GgD;AAClD;AAES;;AAIT;AACA;AACA;AAEA;AAOA;AAIA;;;;;;;;;AAWA;AACA;AACA;AACA;;;;;;;;;;AAiKM;AAwCA;;AA8CN;;;;;AAgDA;AAWA;AAmBA;AAmBA;;AAoBA;;;;;;AAqDA;AAgCA;AAqCA;AAyBA;AAwCA;AAkBA;AAUA;;;AAsBD;;ACnrBD;AAuBc;;;AAPH;AACC;;;AAMU;;;;;AAUrB;;ACtBD;AAoCI;AACA;AACA;AAnBO;AACT;;AAEA;AACA;AAIA;;;;;;AASU;;;;;;;AAiCX;;;;ACxED;AAIE;AACA;;;;;;;;;;AAiGM;AA0BN;AAoCA;AAcA;;AAkCA;;;;AAiCD;;ACvPD;AAmCc;AAjBZ;AAES;AACA;;AAEA;AACT;;AAEG;AACM;;;AAGC;AACA;AACV;AAAmB;;AACnB;AAEoB;AAIpB;AAMA;;;;;AAcD;;ACpDD;AA2CI;AACA;AACA;;;;;;AAjBF;AACA;AACA;;;;;AAKA;;;;AAaA;;AA2BA;AAQA;;;;;;AAsCD;;AChJD;AAKc;AAAQ;AAEpB;;;AAOD;;ACdD;AAKqB;AAAA;;;AACpB;;ACAD;AAOqB;AADnB;;;;AAAqD;AAClC;AAInB;;;AAwCD;;ACrCD;AA8BI;AACA;AACA;AACA;AACA;AApBF;;;;AAKA;;AAKA;;;AAMU;;;;;AAmGX;;AClJD;AASqB;;AAFnB;AAEmB;;;AAapB;;ACjBD;;;;;;;;;;AAuBC;;ACjBD;;;;AA2CwC;;ACvDxC;AAEc;AAAQ;;;;AAmBrB;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../../ecosystem/application-plugins/application-plugins.component.ts","../../../ecosystem/application-plugins/plugin-list-item.component.ts","../../../ecosystem/application-plugins/install-plugin.component.ts","../../../ecosystem/application-plugins/plugin-list.service.ts","../../../ecosystem/application-plugins/plugin-list.component.ts","../../../ecosystem/application-plugins/apps-to-update-remotes-select.component.ts","../../../ecosystem/application-plugins/appState.pipe.ts","../../../ecosystem/application-plugins/label-cell-renderer.component.ts","../../../ecosystem/application-plugins/orphaned-status-cell-renderer.component.ts","../../../ecosystem/application-plugins/update-plugin-of-app/update-plugin-of-app.component.ts","../../../ecosystem/application-plugins/only-latest-filter/only-latest-filter.component.ts","../../../ecosystem/application-plugins/application-plugin-readme.component.ts","../../../ecosystem/application-plugins/application-plugins.module.ts","../../../ecosystem/application-plugins/application-plugins.guard.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;AAgDA;AA6HI;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA7GgD;AAClD;AAES;;AAIT;AACA;AACA;AAEA;AAOA;AAIA;;;;;;;;;AAWA;AACA;AACA;AACA;;;;;;;;;;AAmKM;AAwCA;;AA8CN;;;;;AAgDA;AAWA;AAmBA;AAmBA;;AAoBA;;;;;;AAqDA;AAgCA;AAqCA;AAyBA;AAwCA;AAkBA;AAUA;;;AAsBD;;ACxrBD;AAuBc;;;AAPH;AACC;;;AAMU;;;;;AAUrB;;ACtBD;AAoCI;AACA;AACA;AAnBO;AACT;;AAEA;AACA;AAIA;;;;;;AASU;;;;;;;AAiCX;;;;ACxED;AAIE;AACA;;;;;;;;;;AAiGM;AA0BN;AAoCA;AAcA;;AAkCA;;;;AAiCD;;ACvPD;AAmCc;AAjBZ;AAES;AACA;;AAEA;AACT;;AAEG;AACM;;;AAGC;AACA;AACV;AAAmB;;AACnB;AAEoB;AAIpB;AAMA;;;;;AAcD;;ACpDD;AA2CI;AACA;AACA;;;;;;AAjBF;AACA;AACA;;;;;AAKA;;;;AAaA;;AA2BA;AAQA;;;;;;AAsCD;;AChJD;AAKc;AAAQ;AAEpB;;;AAOD;;ACdD;AAKqB;AAAA;;;AACpB;;ACAD;AAOqB;AADnB;;;;AAAqD;AAClC;AAInB;;;AAwCD;;ACrCD;AA8BI;AACA;AACA;AACA;AACA;AApBF;;;;AAKA;;AAKA;;;AAMU;;;;;AAmGX;;AClJD;AASqB;;AAFnB;AAEmB;;;AAapB;;ACjBD;;;;;;;;;;AAuBC;;ACjBD;;;;AA2CwC;;ACvDxC;AAEc;AAAQ;;;;AAmBrB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../ecosystem/activity-log/activity-log.component.ts","../../ecosystem/application-properties/application-properties.component.ts","../../ecosystem/application-properties/application-properties.guard.ts","../../ecosystem/applications/add-external-applicaiton/add-external-application.component.ts","../../ecosystem/applications/add-web-application/add-web-application.component.ts","../../ecosystem/applications/application-list/application-list.component.ts","../../ecosystem/applications/install-from-package/install-from-package.component.ts","../../ecosystem/ecosystem-tabs.factory.ts","../../ecosystem/packages/package-changelog-tab/package-changelog-tab.component.ts","../../ecosystem/microservices/microservice-list.component.ts","../../ecosystem/microservices/add-microservice.component.ts","../../ecosystem/packages/package-list/packages-list.component.ts","../../ecosystem/packages/package-details/package-details.component.ts","../../ecosystem/packages/deploy-application/deploy-application.component.ts","../../ecosystem/packages/add-package.component.ts","../../ecosystem/features/feature-list.component.ts","../../ecosystem/packages/package-versions/packages-versions.component.ts","../../ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.ts","../../ecosystem/packages/package-versions/package-contents/contents-apps/contents-apps.component.ts","../../ecosystem/packages/package-versions/package-contents/packages-contents.component.ts","../../ecosystem/packages/package-versions/package-versions-list/package-versions-list.component.ts","../../ecosystem/application-properties/subscription-modal/subscription-modal.component.ts","../../ecosystem/application-properties/update-application-modal/update-application-modal.component.ts","../../ecosystem/ecosystem.module.ts","../../ecosystem/packages/package.guard.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../ecosystem/activity-log/activity-log.component.ts","../../ecosystem/application-properties/application-properties.component.ts","../../ecosystem/application-properties/application-properties.guard.ts","../../ecosystem/applications/add-external-applicaiton/add-external-application.component.ts","../../ecosystem/applications/add-web-application/add-web-application.component.ts","../../ecosystem/applications/application-list/application-list.component.ts","../../ecosystem/applications/install-from-package/install-from-package.component.ts","../../ecosystem/ecosystem-tabs.factory.ts","../../ecosystem/packages/package-changelog-tab/package-changelog-tab.component.ts","../../ecosystem/microservices/microservice-list.component.ts","../../ecosystem/microservices/add-microservice.component.ts","../../ecosystem/packages/package-list/packages-list.component.ts","../../ecosystem/packages/package-details/package-details.component.ts","../../ecosystem/packages/deploy-application/deploy-application.component.ts","../../ecosystem/packages/add-package.component.ts","../../ecosystem/features/feature-list.component.ts","../../ecosystem/packages/package-versions/packages-versions.component.ts","../../ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.ts","../../ecosystem/packages/package-versions/package-contents/contents-apps/contents-apps.component.ts","../../ecosystem/packages/package-versions/package-contents/packages-contents.component.ts","../../ecosystem/packages/package-versions/package-versions-list/package-versions-list.component.ts","../../ecosystem/application-properties/subscription-modal/subscription-modal.component.ts","../../ecosystem/application-properties/update-application-modal/update-application-modal.component.ts","../../ecosystem/ecosystem.module.ts","../../ecosystem/packages/package.guard.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
@@ -223,7 +223,7 @@ declare class EcosystemService {
223
223
  private appsGroupedByContextPath$;
224
224
  private xhr;
225
225
  constructor(modal: ModalService, alertService: AlertService, humanizeAppName: HumanizeAppNamePipe, translateService: TranslateService, applicationService: ApplicationService, appStateService: AppStateService, zipService: ZipService, tenantService: TenantService, inventoryService: InventoryService, wizardModalService: WizardModalService, pluginService: PluginsService);
226
- getUniqueAppConfig(srcApp: IApplication, existingApps: IApplication[]): IApplication;
226
+ getUniqueAppConfig(srcApp: Pick<IApplication, 'name' | 'key' | 'contextPath'> & Partial<IApplication>, existingApps: IApplication[]): Pick<IApplication, 'name' | 'key' | 'contextPath'>;
227
227
  /**
228
228
  * Verify versions compatibility for blueprints. If a blueprint version
229
229
  * is not compatible, a warning is shown.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../../ecosystem/shared/ecosystem.model.ts","../../../ecosystem/shared/ecosystem-error.ts","../../../ecosystem/shared/ecosystem.constants.ts","../../../ecosystem/shared/list-filters/list-filters.model.ts","../../../ecosystem/shared/ecosystem.service.ts","../../../ecosystem/shared/package-availability.service.ts","../../../ecosystem/shared/add-application.component.ts","../../../ecosystem/shared/application-card.component.ts","../../../ecosystem/shared/application-properties-form.component.ts","../../../ecosystem/shared/duplicate-application/duplicate-application-list/duplicate-application-list.component.ts","../../../ecosystem/shared/duplicate-application/duplicate-application-properties/duplicate-application-properties.component.ts","../../../ecosystem/shared/duplicate-application/duplicate-application.component.ts","../../../ecosystem/shared/package-version-select/package-version-select.component.ts","../../../ecosystem/shared/package-changelog/package-changelog.component.ts","../../../ecosystem/shared/upload-archive.component.ts","../../../ecosystem/shared/translate-package-label.pipe.ts","../../../ecosystem/shared/list-filters/list-filters.component.ts","../../../ecosystem/shared/archived-filter/archived-filter.component.ts","../../../ecosystem/shared/shared-ecosystem.module.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA;AACA;AACE;AACA;AACA;AACA;AACA;AACA;AACD;AAED;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;;AAOD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BA;AACqB;AAAA;AAGpB;;ACHD;;;;;;;;;;;;;AAwBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCM;AAEN;;;;;;;;;;;;;;;;;;AAmBA;;AClFM;;;;AASA;AACJ;AACE;AACA;;AAEF;;;;;;AAMA;;;;AAIA;AACE;;;AAIE;;AAEJ;AACA;;AAGF;AAKA;AAOA;;ACHA;AAUI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAhBF;AACA;;;AAKU;;AAuCV;;;;;;AAMG;;AAgBH;;;;;;;AAOG;AACG;AAuBN;;;;;;AAMG;AACG;AA8BN;;;;;AAKG;AACG;AAyBN;;;;;;;;AAQG;;AAWH;;;;;;;;AAQG;;;;AAsBG;;;;;AA4BA;AAuBA;AAKN;;;AAiBA;AAMA;AAIA;AAIA;AAIA;AAIA;AAIA;AASA;AAOA;AAIA;;;;AAIA;;;;;AAQA;AAaM;AAOA;;AA4BA;AAaA;;;;;AA4DA;AAcA;AA8BA;;;;AAuFA;AAsBA;AA0DA;;AAmDN;AAWA;AAaA;AAIA;AAIA;AAIA;AAIA;;AAUM;;;AAwBN;;AAEG;AACH;AAKA;;;AAGG;AACH;AAQM;;AAaA;;;;AA6BN;;;;;AAKG;AACH;AAQA;;;AAkFA;AAQA;AAIA;AAIA;AAKA;AAMA;AAWA;AAYA;;AA0BA;AAKA;;;AAGD;;ACnkCD;AAUI;AACA;AACA;AACA;AACA;AACA;AAbF;;;;;;;;;;AAKE;;AAWI;AAkBA;AAkCN;;;;AA8BD;;AC9ED;AA+CI;AACA;AACA;AACA;AACA;AACA;;;;;;AAxBO;AACA;AAEqB;;;;AAK9B;;AAEA;AACA;;;AAgBA;;;AA4CA;;;;AAiBA;;;AAKD;;ACnHD;AA8DI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAhDF;;AAGS;AACC;AACA;;;;;;;;;;;;;;;;;;;AAmBV;AAMA;;;;;;;;;;;;;;;;;AAAiD;;;;;AAWvC;;;;;;;;;;AAkJX;;AClOD;AAkBc;;;AAFH;AAEW;AAIpB;AAYA;AASA;;;AAGD;;ACjDD;AAoBW;AACP;;;AALQ;;AAID;;;;;;AAgBV;;AC/BD;AA8BI;AACA;AACA;AACA;AAnBF;;;AAIS;AACA;AACC;;;AAIV;AACA;AAEA;AAGU;;;;;;;;;;;AAkHX;;AC9ID;AA4BI;AACA;AACA;;;AARF;;AAEA;AACA;;;;AAmBA;;;;AAOD;;ACrDD;AAuCI;AACA;AAdO;;AAEA;;AAET;;AAEA;;;;;AAOU;AAiBV;AAIA;AAIA;AAIA;AAIA;AAUM;;;AAqBN;AAUA;AAaA;;;AAgBD;;ACrJD;;;;;AAKG;AACH;;AAeW;AACA;;;AAGT;;;;AAoDA;;;AAGD;;ACpFD;AAqBI;AACA;;AAfO;AACA;AACC;AACA;;;;;;AAOV;AACA;AAGU;AAIV;;;;;AAwDD;;ACpFD;AAEc;AAAQ;AAEpB;;;AASD;;ACiBD;AA0CI;AACA;AACA;AACA;AACA;AACA;;;;AArBQ;;;AAIV;;AAEA;;;;;;;;AAoBA;AAUA;AAcA;AAgBA;;AAkBA;;AAWA;;AAgBA;AAYA;AAYA;AAcA;AAoBA;AAgCA;AAKA;AAwBA;;;AAUD;;ACtSD;AASqB;;AAFnB;AAEmB;;;AAgBpB;;ACVD;;;;AAoDqC;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../../ecosystem/shared/ecosystem.model.ts","../../../ecosystem/shared/ecosystem-error.ts","../../../ecosystem/shared/ecosystem.constants.ts","../../../ecosystem/shared/list-filters/list-filters.model.ts","../../../ecosystem/shared/ecosystem.service.ts","../../../ecosystem/shared/package-availability.service.ts","../../../ecosystem/shared/add-application.component.ts","../../../ecosystem/shared/application-card.component.ts","../../../ecosystem/shared/application-properties-form.component.ts","../../../ecosystem/shared/duplicate-application/duplicate-application-list/duplicate-application-list.component.ts","../../../ecosystem/shared/duplicate-application/duplicate-application-properties/duplicate-application-properties.component.ts","../../../ecosystem/shared/duplicate-application/duplicate-application.component.ts","../../../ecosystem/shared/package-version-select/package-version-select.component.ts","../../../ecosystem/shared/package-changelog/package-changelog.component.ts","../../../ecosystem/shared/upload-archive.component.ts","../../../ecosystem/shared/translate-package-label.pipe.ts","../../../ecosystem/shared/list-filters/list-filters.component.ts","../../../ecosystem/shared/archived-filter/archived-filter.component.ts","../../../ecosystem/shared/shared-ecosystem.module.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA;AACA;AACE;AACA;AACA;AACA;AACA;AACA;AACD;AAED;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;;AAOD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BA;AACqB;AAAA;AAGpB;;ACHD;;;;;;;;;;;;;AAwBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCM;AAEN;;;;;;;;;;;;;;;;;;AAmBA;;AClFM;;;;AASA;AACJ;AACE;AACA;;AAEF;;;;;;AAMA;;;;AAIA;AACE;;;AAIE;;AAEJ;AACA;;AAGF;AAKA;AAOA;;ACHA;AAUI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAhBF;AACA;;;AAKU;AAkBV;AAwBA;;;;;;AAMG;;AAgBH;;;;;;;AAOG;AACG;AAuBN;;;;;;AAMG;AACG;AA8BN;;;;;AAKG;AACG;AAyBN;;;;;;;;AAQG;;AAWH;;;;;;;;AAQG;;;;AAsBG;;;;;AA4BA;AAuBA;AAKN;;;AAiBA;AAMA;AAIA;AAIA;AAIA;AAIA;AAIA;AASA;AAOA;AAIA;;;;AAIA;;;;;AAQA;AAaM;AAOA;;AA4BA;AAaA;;;;;AA4DA;AAcA;AA8BA;;;;AAuFA;AAsBA;AA0DA;;AAmDN;AAWA;AAaA;AAIA;AAIA;AAIA;AAIA;;AAUM;;;AAwBN;;AAEG;AACH;AAKA;;;AAGG;AACH;AAQM;;AAaA;;;;AA6BN;;;;;AAKG;AACH;AAQA;;;AAkFA;AAQA;AAIA;AAIA;AAKA;AAMA;AAWA;AAYA;;AA0BA;AAKA;;;AAGD;;ACtkCD;AAUI;AACA;AACA;AACA;AACA;AACA;AAbF;;;;;;;;;;AAKE;;AAWI;AAkBA;AAkCN;;;;AA8BD;;AC9ED;AA+CI;AACA;AACA;AACA;AACA;AACA;;;;;;AAxBO;AACA;AAEqB;;;;AAK9B;;AAEA;AACA;;;AAgBA;;;AA4CA;;;;AAiBA;;;AAKD;;ACnHD;AA8DI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAhDF;;AAGS;AACC;AACA;;;;;;;;;;;;;;;;;;;AAmBV;AAMA;;;;;;;;;;;;;;;;;AAAiD;;;;;AAWvC;;;;;;;;;;AAkJX;;AClOD;AAkBc;;;AAFH;AAEW;AAIpB;AAYA;AASA;;;AAGD;;ACjDD;AAoBW;AACP;;;AALQ;;AAID;;;;;;AAgBV;;AC/BD;AA8BI;AACA;AACA;AACA;AAnBF;;;AAIS;AACA;AACC;;;AAIV;AACA;AAEA;AAGU;;;;;;;;;;;AAkHX;;AC9ID;AA4BI;AACA;AACA;;;AARF;;AAEA;AACA;;;;AAmBA;;;;AAOD;;ACrDD;AAuCI;AACA;AAdO;;AAEA;;AAET;;AAEA;;;;;AAOU;AAiBV;AAIA;AAIA;AAIA;AAIA;AAUM;;;AAqBN;AAUA;AAaA;;;AAgBD;;ACrJD;;;;;AAKG;AACH;;AAeW;AACA;;;AAGT;;;;AAoDA;;;AAGD;;ACpFD;AAqBI;AACA;;AAfO;AACA;AACC;AACA;;;;;;AAOV;AACA;AAGU;AAIV;;;;;AAwDD;;ACpFD;AAEc;AAAQ;AAEpB;;;AASD;;ACiBD;AA0CI;AACA;AACA;AACA;AACA;AACA;;;;AArBQ;;;AAIV;;AAEA;;;;;;;;AAoBA;AAUA;AAcA;AAgBA;;AAkBA;;AAWA;;AAgBA;AAYA;AAYA;AAcA;AAoBA;AAgCA;AAKA;AAwBA;;;AAUD;;ACtSD;AASqB;;AAFnB;AAEmB;;;AAgBpB;;ACVD;;;;AAoDqC;;;"}
@@ -7,7 +7,7 @@ import { hookGeneric, ExtensionPointForPlugins, GroupService, fromTriggerOnce, g
7
7
  import { isArray, isObjectLike, isEmpty, find, forOwn, get, isUndefined, cloneDeep } from 'lodash-es';
8
8
  import { firstValueFrom, mergeMap, filter, take, map, distinctUntilChanged, shareReplay, BehaviorSubject, of, from, switchMap, isObservable, Subject, takeUntil, debounceTime } from 'rxjs';
9
9
  import * as i1 from '@angular/router';
10
- import { NgFor, NgClass, NgTemplateOutlet, AsyncPipe, NgIf } from '@angular/common';
10
+ import { NgFor, NgClass, NgTemplateOutlet, AsyncPipe } from '@angular/common';
11
11
  import { CdkDropList, CdkDrag } from '@angular/cdk/drag-drop';
12
12
  import * as i1$1 from '@angular/forms';
13
13
  import { NgForm, FormsModule } from '@angular/forms';
@@ -2584,7 +2584,7 @@ class AssetPropertyListComponent {
2584
2584
  return [...computed, ...simple, ...complex];
2585
2585
  }
2586
2586
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AssetPropertyListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2587
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AssetPropertyListComponent, isStandalone: true, selector: "c8y-asset-property-list", inputs: { config: "config", asset: "asset", extraProperties: "extraProperties" }, outputs: { selectedProperties: "selectedProperties" }, queries: [{ propertyName: "assetPropertyAction", first: true, predicate: AssetPropertyActionDirective, descendants: true }], viewQueries: [{ propertyName: "tree", first: true, predicate: ["tree"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"tree-container bg-inherit\"\n [attr.aria-label]=\"'Asset property list' | translate\"\n role=\"tree\"\n>\n @if (config.showHeader || config.filterable) {\n <div class=\"select-all-container bg-inherit sticky-top separator-bottom\">\n @if (config.filterable) {\n <div\n class=\"form-group m-b-0 p-16 d-flex\"\n [ngClass]=\"{ 'separator-bottom': config.showHeader }\"\n >\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n [attr.aria-label]=\"'Filter properties' | translate\"\n placeholder=\"{{ 'Filter properties' | translate }}\"\n role=\"searchbox\"\n type=\"search\"\n autocomplete=\"off\"\n [(ngModel)]=\"filterText\"\n (input)=\"onFilter()\"\n [disabled]=\"!dataSource.data.length\"\n #filter\n />\n @if (filter.value.length === 0) {\n <span\n class=\"input-group-addon\"\n [attr.aria-hidden]=\"true\"\n >\n <i\n class=\"dlt-c8y-icon-search\"\n [c8yIcon]=\"'search'\"\n ></i>\n </span>\n }\n @if (filter.value.length > 0) {\n <span\n class=\"input-group-addon\"\n [attr.aria-hidden]=\"true\"\n >\n <i\n class=\"text-muted dlt-c8y-icon-times\"\n [c8yIcon]=\"'times'\"\n [attr.aria-label]=\"'Clear filter' | translate\"\n tabindex=\"0\"\n role=\"button\"\n (click)=\"clearFilter()\"\n ></i>\n </span>\n }\n </div>\n </div>\n }\n @if (config.showHeader && dataSource.data.length) {\n <div class=\"d-flex a-i-center overflow-hidden\">\n <div\n class=\"flex-no-shrink d-flex a-i-center\"\n [ngClass]=\"{\n 'p-l-40': !hasExpandableNodes && config.expansionMode !== 'nonCollapsible',\n 'p-r-8': config.selectMode !== 'none' && config.expansionMode === 'nonCollapsible'\n }\"\n >\n @if (config.expansionMode !== 'nonCollapsible' && hasExpandableNodes) {\n @let collapseAllButtonTitle =\n (areAllNodesExpanded ? collapseAllLabel : expandAllLabel) | translate;\n <button\n class=\"collapse-btn btn-dot flex-no-shrink\"\n [title]=\"collapseAllButtonTitle\"\n [attr.aria-label]=\"collapseAllButtonTitle\"\n type=\"button\"\n [ngClass]=\"{ active: areAllNodesExpanded }\"\n (click)=\"toggleExpandCollapseAll()\"\n >\n <i [c8yIcon]=\"'chevron-right'\"></i>\n </button>\n }\n </div>\n @if (config.selectMode === 'multi') {\n <c8y-list-item-checkbox\n class=\"p-l-4 p-r-4\"\n [ngModel]=\"allSelected\"\n [indeterminate]=\"indeterminate\"\n (onSelect)=\"selectAll($event)\"\n ></c8y-list-item-checkbox>\n }\n <div\n class=\"p-t-40\"\n [ngClass]=\"{\n 'p-l-24': config.selectMode === 'single',\n 'p-l-8': config.selectMode === 'none' && config.expansionMode === 'nonCollapsible'\n }\"\n ></div>\n <div class=\"content-flex-30 fit-w m-t-4 m-b-4 m-0\">\n <div class=\"col-6 d-flex a-i-center m-l-0 m-r-0\">\n <span class=\"flex-no-shrink p-l-4 p-r-8\">\n <div class=\"c8y-icon\"></div>\n </span>\n <span class=\"text-medium m-l-8\">\n {{ 'Property' | translate }}\n </span>\n </div>\n @if (config.showKey) {\n <div [ngClass]=\"{ 'col-3': config.showValue, 'col-6': !config.showValue }\">\n <span class=\"text-medium\">{{ 'Key' | translate }}</span>\n </div>\n }\n @if (config.showValue) {\n <div [ngClass]=\"{ 'col-3': config.showKey, 'col-6': !config.showKey }\">\n <span class=\"text-medium\">{{ 'Value' | translate }}</span>\n </div>\n }\n </div>\n @if (assetPropertyAction) {\n <div\n class=\"m-l-8 p-l-24 asset-property-list__actions\"\n [ngClass]=\"{\n 'p-r-40': config.allowAddingCustomProperties,\n 'p-r-8': !config.allowAddingCustomProperties\n }\"\n ></div>\n }\n </div>\n }\n </div>\n }\n\n @if (dataSource.data.length) {\n <cdk-tree\n role=\"presentation\"\n #tree\n [dataSource]=\"dataSource\"\n [levelAccessor]=\"getLevel\"\n cdkDropList\n cdkDropListOrientation=\"vertical\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListDisabled]=\"!config.allowDragAndDrop || dataSource.data.length < 2\"\n >\n <!-- Tree Node Definition -->\n <cdk-tree-node\n class=\"c8y-list__item--dense\"\n [attr.tabindex]=\"0\"\n [attr.aria-level]=\"getLevel(node) + 1\"\n [attr.aria-expanded]=\"hasChild(node) ? isNodeExpanded(node) : null\"\n [attr.aria-selected]=\"config.selectMode !== 'none' ? node.property.active : null\"\n role=\"treeitem\"\n *cdkTreeNodeDef=\"let node\"\n cdkTreeNodePadding\n [cdkTreeNodePaddingIndent]=\"TREE_NODE_INDENT\"\n [ngClass]=\"{\n nonCollapsible: config.expansionMode === 'nonCollapsible',\n nonSelectable: config.selectMode === 'none'\n }\"\n cdkDrag\n cdkDragLockAxis=\"y\"\n [cdkDragDisabled]=\"cdkDragDisabled\"\n >\n <div class=\"d-flex p-relative overflow-visible bg-inherit fit-h\">\n @if (config.allowDragAndDrop && dataSource.data.length > 1) {\n <div\n class=\"drag-handle-wrapper\"\n [ngClass]=\"{ 'drag-handle-disabled': cdkDragDisabled }\"\n >\n <button\n class=\"drag-handle btn-clean\"\n [title]=\"\n (cdkDragDisabled ? dragHandleDisabledLabel : dragHandleEnabledLabel) | translate\n \"\n [attr.aria-label]=\"\n (cdkDragDisabled ? dragHandleDisabledLabel : dragHandleEnabledLabel) | translate\n \"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"cdkDragDisabled\"\n >\n <i [c8yIcon]=\"'drag-reorder'\"></i>\n </button>\n </div>\n }\n <!-- Toggle Button for expandable nodes -->\n @if (config.expansionMode !== 'nonCollapsible' && hasChild(node)) {\n @let collapseButtonTitle =\n isNodeExpanded(node) | c8yAssetPropertyCollapseButtonTitle: node;\n <button\n class=\"collapse-btn btn-dot flex-no-shrink\"\n [title]=\"collapseButtonTitle\"\n [attr.aria-label]=\"collapseButtonTitle\"\n [attr.aria-expanded]=\"isNodeExpanded(node)\"\n type=\"button\"\n (click)=\"toggleNode(node)\"\n [ngClass]=\"{ active: isNodeExpanded(node) }\"\n >\n <i [c8yIcon]=\"'chevron-right'\"></i>\n </button>\n }\n <!-- Placeholder for non-expandable nodes to maintain alignment -->\n @if (!hasChild(node) || config.expansionMode === 'nonCollapsible') {\n <div\n class=\"flex-no-shrink\"\n [ngClass]=\"{\n 'p-r-40': config.expansionMode !== 'nonCollapsible',\n 'p-r-8': config.expansionMode === 'nonCollapsible'\n }\"\n ></div>\n }\n <!-- Selection Controls -->\n @if (config.selectMode !== 'none') {\n <div class=\"d-contents\">\n @if (config.selectMode === 'single') {\n <c8y-list-item-radio\n class=\"p-l-4 p-r-4\"\n type=\"radio\"\n [selected]=\"node.property.active\"\n (onSelect)=\"onSelectSingle($event, node)\"\n ></c8y-list-item-radio>\n } @else if (config.selectMode === 'multi') {\n <c8y-list-item-checkbox\n class=\"p-l-4 p-r-4\"\n [ngModel]=\"node.property.active\"\n [indeterminate]=\"node.indeterminate\"\n (onSelect)=\"onSelectMulti($event, node)\"\n ></c8y-list-item-checkbox>\n }\n </div>\n }\n <div class=\"content-flex-30 fit-w bg-inherit m-0 min-width-0\">\n <div\n class=\"d-flex a-i-center bg-inherit m-0 flex-grow\"\n [style.max-width]=\"getColumnMaxWidth(node)\"\n >\n <c8y-li-icon\n class=\"p-r-4 p-l-4\"\n [icon]=\"node.property | c8yAssetPropertyIcon\"\n tooltip=\"{{ node.property | c8yAssetPropertyIconTooltip }}\"\n container=\"body\"\n [delay]=\"500\"\n [ngClass]=\"{\n 'p-l-4': config.selectMode !== 'none',\n 'p-l-8': config.selectMode === 'none'\n }\"\n ></c8y-li-icon>\n\n <span class=\"p-r-8 min-width-0 d-flex a-i-center\">\n @if (isContextMismatch(node)) {\n @let tooltipText =\n 'Property configured for a different asset. Reconfigure to match current asset.'\n | translate;\n <button\n class=\"btn-clean m-r-4\"\n [attr.aria-label]=\"tooltipText\"\n [tooltip]=\"tooltipText\"\n placement=\"top\"\n type=\"button\"\n [container]=\"'body'\"\n >\n <i\n class=\"status critical stroked-icon\"\n c8yIcon=\"exclamation-circle\"\n ></i>\n </button>\n }\n\n <div\n class=\"text-truncate\"\n title=\"{{\n node.property.label || node.property.title || node.property.name | translate\n }}\"\n [ngClass]=\"{\n 'text-muted': node.property.temporary,\n 'text-danger': isContextMismatch(node)\n }\"\n >\n {{ node.property.label || node.property.title || node.property.name | translate }}\n </div>\n </span>\n </div>\n @if (config.showKey) {\n <div\n class=\"d-flex a-i-center\"\n [ngClass]=\"{ 'col-3': config.showValue, 'col-6': !config.showValue }\"\n >\n <span\n class=\"d-inline-block tag tag--default a-s-center text-truncate\"\n title=\"{{\n node.property.keyPath?.join('.') || (node.property?.name | translate)\n }}\"\n >\n {{ node.property.keyPath?.join('.') || (node.property?.name | translate) }}\n </span>\n </div>\n }\n @if (asset && config.showValue) {\n <div\n class=\"d-flex a-i-center\"\n [ngClass]=\"{ 'col-3': config.showKey, 'col-6': !config.showKey }\"\n >\n @let value = node.property | c8yAssetPropertyValue: asset | async;\n <span\n class=\"tag tag--info d-inline-block a-s-center text-truncate\"\n title=\"{{ value }}\"\n >\n {{ value }}\n </span>\n </div>\n }\n </div>\n @if (assetPropertyAction || node.property.temporary) {\n <div\n class=\"m-l-8 showOnHover d-flex a-i-center j-c-end asset-property-list__actions\"\n [ngClass]=\"{\n 'p-l-32': !node.property.temporary && config.allowAddingCustomProperties,\n 'has-computed': node.property.computed && node.property.config\n }\"\n >\n @if (node.property.computed && node.property.config) {\n <button\n class=\"btn btn-dot m-l-auto\"\n title=\"{{ 'Configure' | translate }}\"\n (click)=\"editProperty(node.property)\"\n >\n <i [c8yIcon]=\"'cog'\"></i>\n </button>\n }\n @if (node.property.temporary) {\n <button\n class=\"btn btn-dot btn-dot--danger\"\n [attr.aria-label]=\"'Remove' | translate\"\n tooltip=\"{{ 'Remove' | translate }}\"\n container=\"body\"\n type=\"button\"\n [ngClass]=\"{ 'm-l-auto': !node.property.computed || !node.property.config }\"\n [delay]=\"500\"\n (click)=\"removeProperty(node.property)\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n }\n <ng-container\n *ngTemplateOutlet=\"\n assetPropertyAction?.template;\n context: {\n $implicit: node.property\n }\n \"\n ></ng-container>\n </div>\n }\n </div>\n </cdk-tree-node>\n </cdk-tree>\n } @else {\n <c8y-ui-empty-state\n icon=\"list\"\n title=\"{{ 'No properties to display' | translate }}\"\n subtitle=\"{{ 'Select an asset to see the available properties.' | translate }}\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n }\n @if (config.allowAddingCustomProperties) {\n <div class=\"sticky-bottom bg-inherit separator-top p-16\">\n <button\n class=\"btn btn-default btn-sm m-l-8\"\n (click)=\"addProperty()\"\n data-cy=\"asset-property-item-add-button\"\n >\n <i [c8yIcon]=\"'plus'\"></i>\n {{ 'Add property' | translate }}\n </button>\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ListGroupModule }, { kind: "component", type: i2.ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "component", type: i2.ListItemCheckboxComponent, selector: "c8y-list-item-checkbox, c8y-li-checkbox", inputs: ["selected", "indeterminate", "disabled", "displayAsSwitch"], outputs: ["onSelect"] }, { kind: "component", type: i2.ListItemRadioComponent, selector: "c8y-list-item-radio, c8y-li-radio", inputs: ["selected", "name", "disabled", "value"], outputs: ["onSelect"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3.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: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "ngmodule", type: CdkTreeModule }, { kind: "directive", type: i4.CdkTreeNodeDef, selector: "[cdkTreeNodeDef]", inputs: ["cdkTreeNodeDefWhen"] }, { kind: "directive", type: i4.CdkTreeNodePadding, selector: "[cdkTreeNodePadding]", inputs: ["cdkTreeNodePadding", "cdkTreeNodePaddingIndent"] }, { kind: "component", type: i4.CdkTree, selector: "cdk-tree", inputs: ["dataSource", "treeControl", "levelAccessor", "childrenAccessor", "trackBy", "expansionKey"], exportAs: ["cdkTree"] }, { kind: "directive", type: i4.CdkTreeNode, selector: "cdk-tree-node", inputs: ["role", "isExpandable", "isExpanded", "isDisabled", "cdkTreeNodeTypeaheadLabel"], outputs: ["activation", "expandedChange"], exportAs: ["cdkTreeNode"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AssetPropertyValuePipe, name: "c8yAssetPropertyValue" }, { kind: "pipe", type: AssetPropertyIconPipe, name: "c8yAssetPropertyIcon" }, { kind: "pipe", type: AssetPropertyIconTooltipPipe, name: "c8yAssetPropertyIconTooltip" }, { kind: "pipe", type: AssetPropertyCollapseButtonTitlePipe, name: "c8yAssetPropertyCollapseButtonTitle" }] }); }
2587
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AssetPropertyListComponent, isStandalone: true, selector: "c8y-asset-property-list", inputs: { config: "config", asset: "asset", extraProperties: "extraProperties" }, outputs: { selectedProperties: "selectedProperties" }, queries: [{ propertyName: "assetPropertyAction", first: true, predicate: AssetPropertyActionDirective, descendants: true }], viewQueries: [{ propertyName: "tree", first: true, predicate: ["tree"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"tree-container bg-inherit\"\n [attr.aria-label]=\"'Asset property list' | translate\"\n role=\"tree\"\n>\n @if (config.showHeader || config.filterable) {\n <div\n class=\"select-all-container bg-inherit sticky-top\"\n [ngClass]=\"{\n 'separator-bottom': config.filterable || (config.showHeader && dataSource.data.length)\n }\"\n >\n @if (config.filterable) {\n <div\n class=\"form-group m-b-0 p-16 d-flex\"\n [ngClass]=\"{ 'separator-bottom': config.showHeader }\"\n >\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n [attr.aria-label]=\"'Filter properties' | translate\"\n placeholder=\"{{ 'Filter properties' | translate }}\"\n role=\"searchbox\"\n type=\"search\"\n autocomplete=\"off\"\n [(ngModel)]=\"filterText\"\n (input)=\"onFilter()\"\n [disabled]=\"!dataSource.data.length\"\n #filter\n />\n @if (filter.value.length === 0) {\n <span\n class=\"input-group-addon\"\n [attr.aria-hidden]=\"true\"\n >\n <i\n class=\"dlt-c8y-icon-search\"\n [c8yIcon]=\"'search'\"\n ></i>\n </span>\n }\n @if (filter.value.length > 0) {\n <span\n class=\"input-group-addon\"\n [attr.aria-hidden]=\"true\"\n >\n <i\n class=\"text-muted dlt-c8y-icon-times\"\n [c8yIcon]=\"'times'\"\n [attr.aria-label]=\"'Clear filter' | translate\"\n tabindex=\"0\"\n role=\"button\"\n (click)=\"clearFilter()\"\n ></i>\n </span>\n }\n </div>\n </div>\n }\n @if (config.showHeader && dataSource.data.length) {\n <div class=\"d-flex a-i-center overflow-hidden\">\n <div\n class=\"flex-no-shrink d-flex a-i-center\"\n [ngClass]=\"{\n 'p-l-40': !hasExpandableNodes && config.expansionMode !== 'nonCollapsible',\n 'p-r-8': config.selectMode !== 'none' && config.expansionMode === 'nonCollapsible'\n }\"\n >\n @if (config.expansionMode !== 'nonCollapsible' && hasExpandableNodes) {\n @let collapseAllButtonTitle =\n (areAllNodesExpanded ? collapseAllLabel : expandAllLabel) | translate;\n <button\n class=\"collapse-btn btn-dot flex-no-shrink\"\n [title]=\"collapseAllButtonTitle\"\n [attr.aria-label]=\"collapseAllButtonTitle\"\n type=\"button\"\n [ngClass]=\"{ active: areAllNodesExpanded }\"\n (click)=\"toggleExpandCollapseAll()\"\n >\n <i [c8yIcon]=\"'chevron-right'\"></i>\n </button>\n }\n </div>\n @if (config.selectMode === 'multi') {\n <c8y-list-item-checkbox\n class=\"p-l-4 p-r-4\"\n [ngModel]=\"allSelected\"\n [indeterminate]=\"indeterminate\"\n (onSelect)=\"selectAll($event)\"\n ></c8y-list-item-checkbox>\n }\n <div\n class=\"p-t-40\"\n [ngClass]=\"{\n 'p-l-24': config.selectMode === 'single',\n 'p-l-8': config.selectMode === 'none' && config.expansionMode === 'nonCollapsible'\n }\"\n ></div>\n <div class=\"content-flex-30 fit-w m-t-4 m-b-4 m-0\">\n <div class=\"col-6 d-flex a-i-center m-l-0 m-r-0\">\n <span class=\"flex-no-shrink p-l-4 p-r-8\">\n <div class=\"c8y-icon\"></div>\n </span>\n <span class=\"text-medium m-l-8\">\n {{ 'Property' | translate }}\n </span>\n </div>\n @if (config.showKey) {\n <div [ngClass]=\"{ 'col-3': config.showValue, 'col-6': !config.showValue }\">\n <span class=\"text-medium\">{{ 'Key' | translate }}</span>\n </div>\n }\n @if (config.showValue) {\n <div [ngClass]=\"{ 'col-3': config.showKey, 'col-6': !config.showKey }\">\n <span class=\"text-medium\">{{ 'Value' | translate }}</span>\n </div>\n }\n </div>\n @if (assetPropertyAction) {\n <div\n class=\"m-l-8 p-l-24 asset-property-list__actions\"\n [ngClass]=\"{\n 'p-r-40': config.allowAddingCustomProperties,\n 'p-r-8': !config.allowAddingCustomProperties\n }\"\n ></div>\n }\n </div>\n }\n </div>\n }\n\n @if (dataSource.data.length) {\n <cdk-tree\n role=\"presentation\"\n #tree\n [dataSource]=\"dataSource\"\n [levelAccessor]=\"getLevel\"\n cdkDropList\n cdkDropListOrientation=\"vertical\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListDisabled]=\"!config.allowDragAndDrop || dataSource.data.length < 2\"\n >\n <!-- Tree Node Definition -->\n <cdk-tree-node\n class=\"c8y-list__item--dense\"\n [attr.tabindex]=\"0\"\n [attr.aria-level]=\"getLevel(node) + 1\"\n [attr.aria-expanded]=\"hasChild(node) ? isNodeExpanded(node) : null\"\n [attr.aria-selected]=\"config.selectMode !== 'none' ? node.property.active : null\"\n role=\"treeitem\"\n *cdkTreeNodeDef=\"let node\"\n cdkTreeNodePadding\n [cdkTreeNodePaddingIndent]=\"TREE_NODE_INDENT\"\n [ngClass]=\"{\n nonCollapsible: config.expansionMode === 'nonCollapsible',\n nonSelectable: config.selectMode === 'none'\n }\"\n cdkDrag\n cdkDragLockAxis=\"y\"\n [cdkDragDisabled]=\"cdkDragDisabled\"\n >\n <div class=\"d-flex p-relative overflow-visible bg-inherit fit-h\">\n @if (config.allowDragAndDrop && dataSource.data.length > 1) {\n <div\n class=\"drag-handle-wrapper\"\n [ngClass]=\"{ 'drag-handle-disabled': cdkDragDisabled }\"\n >\n <button\n class=\"drag-handle btn-clean\"\n [title]=\"\n (cdkDragDisabled ? dragHandleDisabledLabel : dragHandleEnabledLabel) | translate\n \"\n [attr.aria-label]=\"\n (cdkDragDisabled ? dragHandleDisabledLabel : dragHandleEnabledLabel) | translate\n \"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"cdkDragDisabled\"\n >\n <i [c8yIcon]=\"'drag-reorder'\"></i>\n </button>\n </div>\n }\n <!-- Toggle Button for expandable nodes -->\n @if (config.expansionMode !== 'nonCollapsible' && hasChild(node)) {\n @let collapseButtonTitle =\n isNodeExpanded(node) | c8yAssetPropertyCollapseButtonTitle: node;\n <button\n class=\"collapse-btn btn-dot flex-no-shrink\"\n [title]=\"collapseButtonTitle\"\n [attr.aria-label]=\"collapseButtonTitle\"\n [attr.aria-expanded]=\"isNodeExpanded(node)\"\n type=\"button\"\n (click)=\"toggleNode(node)\"\n [ngClass]=\"{ active: isNodeExpanded(node) }\"\n >\n <i [c8yIcon]=\"'chevron-right'\"></i>\n </button>\n }\n <!-- Placeholder for non-expandable nodes to maintain alignment -->\n @if (!hasChild(node) || config.expansionMode === 'nonCollapsible') {\n <div\n class=\"flex-no-shrink\"\n [ngClass]=\"{\n 'p-r-40': config.expansionMode !== 'nonCollapsible',\n 'p-r-8': config.expansionMode === 'nonCollapsible'\n }\"\n ></div>\n }\n <!-- Selection Controls -->\n @if (config.selectMode !== 'none') {\n <div class=\"d-contents\">\n @if (config.selectMode === 'single') {\n <c8y-list-item-radio\n class=\"p-l-4 p-r-4\"\n type=\"radio\"\n [selected]=\"node.property.active\"\n (onSelect)=\"onSelectSingle($event, node)\"\n ></c8y-list-item-radio>\n } @else if (config.selectMode === 'multi') {\n <c8y-list-item-checkbox\n class=\"p-l-4 p-r-4\"\n [ngModel]=\"node.property.active\"\n [indeterminate]=\"node.indeterminate\"\n (onSelect)=\"onSelectMulti($event, node)\"\n ></c8y-list-item-checkbox>\n }\n </div>\n }\n <div class=\"content-flex-30 fit-w bg-inherit m-0 min-width-0\">\n <div\n class=\"d-flex a-i-center bg-inherit m-0 flex-grow\"\n [style.max-width]=\"getColumnMaxWidth(node)\"\n >\n <c8y-li-icon\n class=\"p-r-4 p-l-4\"\n [icon]=\"node.property | c8yAssetPropertyIcon\"\n tooltip=\"{{ node.property | c8yAssetPropertyIconTooltip }}\"\n container=\"body\"\n [delay]=\"500\"\n [ngClass]=\"{\n 'p-l-4': config.selectMode !== 'none',\n 'p-l-8': config.selectMode === 'none'\n }\"\n ></c8y-li-icon>\n\n <span class=\"p-r-8 min-width-0 d-flex a-i-center\">\n @if (isContextMismatch(node)) {\n @let tooltipText =\n 'Property configured for a different asset. Reconfigure to match current asset.'\n | translate;\n <button\n class=\"btn-clean m-r-4\"\n [attr.aria-label]=\"tooltipText\"\n [tooltip]=\"tooltipText\"\n placement=\"top\"\n type=\"button\"\n [container]=\"'body'\"\n >\n <i\n class=\"status critical stroked-icon\"\n c8yIcon=\"exclamation-circle\"\n ></i>\n </button>\n }\n\n <div\n class=\"text-truncate\"\n title=\"{{\n node.property.label || node.property.title || node.property.name | translate\n }}\"\n [ngClass]=\"{\n 'text-muted': node.property.temporary,\n 'text-danger': isContextMismatch(node)\n }\"\n >\n {{ node.property.label || node.property.title || node.property.name | translate }}\n </div>\n </span>\n </div>\n @if (config.showKey) {\n <div\n class=\"d-flex a-i-center\"\n [ngClass]=\"{ 'col-3': config.showValue, 'col-6': !config.showValue }\"\n >\n <span\n class=\"d-inline-block tag tag--default a-s-center text-truncate\"\n title=\"{{\n node.property.keyPath?.join('.') || (node.property?.name | translate)\n }}\"\n >\n {{ node.property.keyPath?.join('.') || (node.property?.name | translate) }}\n </span>\n </div>\n }\n @if (asset && config.showValue) {\n <div\n class=\"d-flex a-i-center\"\n [ngClass]=\"{ 'col-3': config.showKey, 'col-6': !config.showKey }\"\n >\n @let value = node.property | c8yAssetPropertyValue: asset | async;\n <span\n class=\"tag tag--info d-inline-block a-s-center text-truncate\"\n title=\"{{ value }}\"\n >\n {{ value }}\n </span>\n </div>\n }\n </div>\n @if (assetPropertyAction || node.property.temporary) {\n <div\n class=\"m-l-8 showOnHover d-flex a-i-center j-c-end asset-property-list__actions\"\n [ngClass]=\"{\n 'p-l-32': !node.property.temporary && config.allowAddingCustomProperties,\n 'has-computed': node.property.computed && node.property.config\n }\"\n >\n @if (node.property.computed && node.property.config) {\n <button\n class=\"btn btn-dot m-l-auto\"\n title=\"{{ 'Configure' | translate }}\"\n (click)=\"editProperty(node.property)\"\n >\n <i [c8yIcon]=\"'cog'\"></i>\n </button>\n }\n @if (node.property.temporary) {\n <button\n class=\"btn btn-dot btn-dot--danger\"\n [attr.aria-label]=\"'Remove' | translate\"\n tooltip=\"{{ 'Remove' | translate }}\"\n container=\"body\"\n type=\"button\"\n [ngClass]=\"{ 'm-l-auto': !node.property.computed || !node.property.config }\"\n [delay]=\"500\"\n (click)=\"removeProperty(node.property)\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n }\n <ng-container\n *ngTemplateOutlet=\"\n assetPropertyAction?.template;\n context: {\n $implicit: node.property\n }\n \"\n ></ng-container>\n </div>\n }\n </div>\n </cdk-tree-node>\n </cdk-tree>\n } @else {\n <c8y-ui-empty-state\n icon=\"list\"\n title=\"{{ 'No properties to display' | translate }}\"\n subtitle=\"{{ 'Select an asset to see the available properties.' | translate }}\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n }\n @if (config.allowAddingCustomProperties) {\n <div class=\"sticky-bottom bg-inherit separator-top p-16\">\n <button\n class=\"btn btn-default btn-sm m-l-8\"\n (click)=\"addProperty()\"\n data-cy=\"asset-property-item-add-button\"\n >\n <i [c8yIcon]=\"'plus'\"></i>\n {{ 'Add property' | translate }}\n </button>\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ListGroupModule }, { kind: "component", type: i2.ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "component", type: i2.ListItemCheckboxComponent, selector: "c8y-list-item-checkbox, c8y-li-checkbox", inputs: ["selected", "indeterminate", "disabled", "displayAsSwitch"], outputs: ["onSelect"] }, { kind: "component", type: i2.ListItemRadioComponent, selector: "c8y-list-item-radio, c8y-li-radio", inputs: ["selected", "name", "disabled", "value"], outputs: ["onSelect"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3.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: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "ngmodule", type: CdkTreeModule }, { kind: "directive", type: i4.CdkTreeNodeDef, selector: "[cdkTreeNodeDef]", inputs: ["cdkTreeNodeDefWhen"] }, { kind: "directive", type: i4.CdkTreeNodePadding, selector: "[cdkTreeNodePadding]", inputs: ["cdkTreeNodePadding", "cdkTreeNodePaddingIndent"] }, { kind: "component", type: i4.CdkTree, selector: "cdk-tree", inputs: ["dataSource", "treeControl", "levelAccessor", "childrenAccessor", "trackBy", "expansionKey"], exportAs: ["cdkTree"] }, { kind: "directive", type: i4.CdkTreeNode, selector: "cdk-tree-node", inputs: ["role", "isExpandable", "isExpanded", "isDisabled", "cdkTreeNodeTypeaheadLabel"], outputs: ["activation", "expandedChange"], exportAs: ["cdkTreeNode"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AssetPropertyValuePipe, name: "c8yAssetPropertyValue" }, { kind: "pipe", type: AssetPropertyIconPipe, name: "c8yAssetPropertyIcon" }, { kind: "pipe", type: AssetPropertyIconTooltipPipe, name: "c8yAssetPropertyIconTooltip" }, { kind: "pipe", type: AssetPropertyCollapseButtonTitlePipe, name: "c8yAssetPropertyCollapseButtonTitle" }] }); }
2588
2588
  }
2589
2589
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AssetPropertyListComponent, decorators: [{
2590
2590
  type: Component,
@@ -2606,7 +2606,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
2606
2606
  AssetPropertyCollapseButtonTitlePipe,
2607
2607
  CdkDropList,
2608
2608
  CdkDrag
2609
- ], template: "<div\n class=\"tree-container bg-inherit\"\n [attr.aria-label]=\"'Asset property list' | translate\"\n role=\"tree\"\n>\n @if (config.showHeader || config.filterable) {\n <div class=\"select-all-container bg-inherit sticky-top separator-bottom\">\n @if (config.filterable) {\n <div\n class=\"form-group m-b-0 p-16 d-flex\"\n [ngClass]=\"{ 'separator-bottom': config.showHeader }\"\n >\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n [attr.aria-label]=\"'Filter properties' | translate\"\n placeholder=\"{{ 'Filter properties' | translate }}\"\n role=\"searchbox\"\n type=\"search\"\n autocomplete=\"off\"\n [(ngModel)]=\"filterText\"\n (input)=\"onFilter()\"\n [disabled]=\"!dataSource.data.length\"\n #filter\n />\n @if (filter.value.length === 0) {\n <span\n class=\"input-group-addon\"\n [attr.aria-hidden]=\"true\"\n >\n <i\n class=\"dlt-c8y-icon-search\"\n [c8yIcon]=\"'search'\"\n ></i>\n </span>\n }\n @if (filter.value.length > 0) {\n <span\n class=\"input-group-addon\"\n [attr.aria-hidden]=\"true\"\n >\n <i\n class=\"text-muted dlt-c8y-icon-times\"\n [c8yIcon]=\"'times'\"\n [attr.aria-label]=\"'Clear filter' | translate\"\n tabindex=\"0\"\n role=\"button\"\n (click)=\"clearFilter()\"\n ></i>\n </span>\n }\n </div>\n </div>\n }\n @if (config.showHeader && dataSource.data.length) {\n <div class=\"d-flex a-i-center overflow-hidden\">\n <div\n class=\"flex-no-shrink d-flex a-i-center\"\n [ngClass]=\"{\n 'p-l-40': !hasExpandableNodes && config.expansionMode !== 'nonCollapsible',\n 'p-r-8': config.selectMode !== 'none' && config.expansionMode === 'nonCollapsible'\n }\"\n >\n @if (config.expansionMode !== 'nonCollapsible' && hasExpandableNodes) {\n @let collapseAllButtonTitle =\n (areAllNodesExpanded ? collapseAllLabel : expandAllLabel) | translate;\n <button\n class=\"collapse-btn btn-dot flex-no-shrink\"\n [title]=\"collapseAllButtonTitle\"\n [attr.aria-label]=\"collapseAllButtonTitle\"\n type=\"button\"\n [ngClass]=\"{ active: areAllNodesExpanded }\"\n (click)=\"toggleExpandCollapseAll()\"\n >\n <i [c8yIcon]=\"'chevron-right'\"></i>\n </button>\n }\n </div>\n @if (config.selectMode === 'multi') {\n <c8y-list-item-checkbox\n class=\"p-l-4 p-r-4\"\n [ngModel]=\"allSelected\"\n [indeterminate]=\"indeterminate\"\n (onSelect)=\"selectAll($event)\"\n ></c8y-list-item-checkbox>\n }\n <div\n class=\"p-t-40\"\n [ngClass]=\"{\n 'p-l-24': config.selectMode === 'single',\n 'p-l-8': config.selectMode === 'none' && config.expansionMode === 'nonCollapsible'\n }\"\n ></div>\n <div class=\"content-flex-30 fit-w m-t-4 m-b-4 m-0\">\n <div class=\"col-6 d-flex a-i-center m-l-0 m-r-0\">\n <span class=\"flex-no-shrink p-l-4 p-r-8\">\n <div class=\"c8y-icon\"></div>\n </span>\n <span class=\"text-medium m-l-8\">\n {{ 'Property' | translate }}\n </span>\n </div>\n @if (config.showKey) {\n <div [ngClass]=\"{ 'col-3': config.showValue, 'col-6': !config.showValue }\">\n <span class=\"text-medium\">{{ 'Key' | translate }}</span>\n </div>\n }\n @if (config.showValue) {\n <div [ngClass]=\"{ 'col-3': config.showKey, 'col-6': !config.showKey }\">\n <span class=\"text-medium\">{{ 'Value' | translate }}</span>\n </div>\n }\n </div>\n @if (assetPropertyAction) {\n <div\n class=\"m-l-8 p-l-24 asset-property-list__actions\"\n [ngClass]=\"{\n 'p-r-40': config.allowAddingCustomProperties,\n 'p-r-8': !config.allowAddingCustomProperties\n }\"\n ></div>\n }\n </div>\n }\n </div>\n }\n\n @if (dataSource.data.length) {\n <cdk-tree\n role=\"presentation\"\n #tree\n [dataSource]=\"dataSource\"\n [levelAccessor]=\"getLevel\"\n cdkDropList\n cdkDropListOrientation=\"vertical\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListDisabled]=\"!config.allowDragAndDrop || dataSource.data.length < 2\"\n >\n <!-- Tree Node Definition -->\n <cdk-tree-node\n class=\"c8y-list__item--dense\"\n [attr.tabindex]=\"0\"\n [attr.aria-level]=\"getLevel(node) + 1\"\n [attr.aria-expanded]=\"hasChild(node) ? isNodeExpanded(node) : null\"\n [attr.aria-selected]=\"config.selectMode !== 'none' ? node.property.active : null\"\n role=\"treeitem\"\n *cdkTreeNodeDef=\"let node\"\n cdkTreeNodePadding\n [cdkTreeNodePaddingIndent]=\"TREE_NODE_INDENT\"\n [ngClass]=\"{\n nonCollapsible: config.expansionMode === 'nonCollapsible',\n nonSelectable: config.selectMode === 'none'\n }\"\n cdkDrag\n cdkDragLockAxis=\"y\"\n [cdkDragDisabled]=\"cdkDragDisabled\"\n >\n <div class=\"d-flex p-relative overflow-visible bg-inherit fit-h\">\n @if (config.allowDragAndDrop && dataSource.data.length > 1) {\n <div\n class=\"drag-handle-wrapper\"\n [ngClass]=\"{ 'drag-handle-disabled': cdkDragDisabled }\"\n >\n <button\n class=\"drag-handle btn-clean\"\n [title]=\"\n (cdkDragDisabled ? dragHandleDisabledLabel : dragHandleEnabledLabel) | translate\n \"\n [attr.aria-label]=\"\n (cdkDragDisabled ? dragHandleDisabledLabel : dragHandleEnabledLabel) | translate\n \"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"cdkDragDisabled\"\n >\n <i [c8yIcon]=\"'drag-reorder'\"></i>\n </button>\n </div>\n }\n <!-- Toggle Button for expandable nodes -->\n @if (config.expansionMode !== 'nonCollapsible' && hasChild(node)) {\n @let collapseButtonTitle =\n isNodeExpanded(node) | c8yAssetPropertyCollapseButtonTitle: node;\n <button\n class=\"collapse-btn btn-dot flex-no-shrink\"\n [title]=\"collapseButtonTitle\"\n [attr.aria-label]=\"collapseButtonTitle\"\n [attr.aria-expanded]=\"isNodeExpanded(node)\"\n type=\"button\"\n (click)=\"toggleNode(node)\"\n [ngClass]=\"{ active: isNodeExpanded(node) }\"\n >\n <i [c8yIcon]=\"'chevron-right'\"></i>\n </button>\n }\n <!-- Placeholder for non-expandable nodes to maintain alignment -->\n @if (!hasChild(node) || config.expansionMode === 'nonCollapsible') {\n <div\n class=\"flex-no-shrink\"\n [ngClass]=\"{\n 'p-r-40': config.expansionMode !== 'nonCollapsible',\n 'p-r-8': config.expansionMode === 'nonCollapsible'\n }\"\n ></div>\n }\n <!-- Selection Controls -->\n @if (config.selectMode !== 'none') {\n <div class=\"d-contents\">\n @if (config.selectMode === 'single') {\n <c8y-list-item-radio\n class=\"p-l-4 p-r-4\"\n type=\"radio\"\n [selected]=\"node.property.active\"\n (onSelect)=\"onSelectSingle($event, node)\"\n ></c8y-list-item-radio>\n } @else if (config.selectMode === 'multi') {\n <c8y-list-item-checkbox\n class=\"p-l-4 p-r-4\"\n [ngModel]=\"node.property.active\"\n [indeterminate]=\"node.indeterminate\"\n (onSelect)=\"onSelectMulti($event, node)\"\n ></c8y-list-item-checkbox>\n }\n </div>\n }\n <div class=\"content-flex-30 fit-w bg-inherit m-0 min-width-0\">\n <div\n class=\"d-flex a-i-center bg-inherit m-0 flex-grow\"\n [style.max-width]=\"getColumnMaxWidth(node)\"\n >\n <c8y-li-icon\n class=\"p-r-4 p-l-4\"\n [icon]=\"node.property | c8yAssetPropertyIcon\"\n tooltip=\"{{ node.property | c8yAssetPropertyIconTooltip }}\"\n container=\"body\"\n [delay]=\"500\"\n [ngClass]=\"{\n 'p-l-4': config.selectMode !== 'none',\n 'p-l-8': config.selectMode === 'none'\n }\"\n ></c8y-li-icon>\n\n <span class=\"p-r-8 min-width-0 d-flex a-i-center\">\n @if (isContextMismatch(node)) {\n @let tooltipText =\n 'Property configured for a different asset. Reconfigure to match current asset.'\n | translate;\n <button\n class=\"btn-clean m-r-4\"\n [attr.aria-label]=\"tooltipText\"\n [tooltip]=\"tooltipText\"\n placement=\"top\"\n type=\"button\"\n [container]=\"'body'\"\n >\n <i\n class=\"status critical stroked-icon\"\n c8yIcon=\"exclamation-circle\"\n ></i>\n </button>\n }\n\n <div\n class=\"text-truncate\"\n title=\"{{\n node.property.label || node.property.title || node.property.name | translate\n }}\"\n [ngClass]=\"{\n 'text-muted': node.property.temporary,\n 'text-danger': isContextMismatch(node)\n }\"\n >\n {{ node.property.label || node.property.title || node.property.name | translate }}\n </div>\n </span>\n </div>\n @if (config.showKey) {\n <div\n class=\"d-flex a-i-center\"\n [ngClass]=\"{ 'col-3': config.showValue, 'col-6': !config.showValue }\"\n >\n <span\n class=\"d-inline-block tag tag--default a-s-center text-truncate\"\n title=\"{{\n node.property.keyPath?.join('.') || (node.property?.name | translate)\n }}\"\n >\n {{ node.property.keyPath?.join('.') || (node.property?.name | translate) }}\n </span>\n </div>\n }\n @if (asset && config.showValue) {\n <div\n class=\"d-flex a-i-center\"\n [ngClass]=\"{ 'col-3': config.showKey, 'col-6': !config.showKey }\"\n >\n @let value = node.property | c8yAssetPropertyValue: asset | async;\n <span\n class=\"tag tag--info d-inline-block a-s-center text-truncate\"\n title=\"{{ value }}\"\n >\n {{ value }}\n </span>\n </div>\n }\n </div>\n @if (assetPropertyAction || node.property.temporary) {\n <div\n class=\"m-l-8 showOnHover d-flex a-i-center j-c-end asset-property-list__actions\"\n [ngClass]=\"{\n 'p-l-32': !node.property.temporary && config.allowAddingCustomProperties,\n 'has-computed': node.property.computed && node.property.config\n }\"\n >\n @if (node.property.computed && node.property.config) {\n <button\n class=\"btn btn-dot m-l-auto\"\n title=\"{{ 'Configure' | translate }}\"\n (click)=\"editProperty(node.property)\"\n >\n <i [c8yIcon]=\"'cog'\"></i>\n </button>\n }\n @if (node.property.temporary) {\n <button\n class=\"btn btn-dot btn-dot--danger\"\n [attr.aria-label]=\"'Remove' | translate\"\n tooltip=\"{{ 'Remove' | translate }}\"\n container=\"body\"\n type=\"button\"\n [ngClass]=\"{ 'm-l-auto': !node.property.computed || !node.property.config }\"\n [delay]=\"500\"\n (click)=\"removeProperty(node.property)\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n }\n <ng-container\n *ngTemplateOutlet=\"\n assetPropertyAction?.template;\n context: {\n $implicit: node.property\n }\n \"\n ></ng-container>\n </div>\n }\n </div>\n </cdk-tree-node>\n </cdk-tree>\n } @else {\n <c8y-ui-empty-state\n icon=\"list\"\n title=\"{{ 'No properties to display' | translate }}\"\n subtitle=\"{{ 'Select an asset to see the available properties.' | translate }}\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n }\n @if (config.allowAddingCustomProperties) {\n <div class=\"sticky-bottom bg-inherit separator-top p-16\">\n <button\n class=\"btn btn-default btn-sm m-l-8\"\n (click)=\"addProperty()\"\n data-cy=\"asset-property-item-add-button\"\n >\n <i [c8yIcon]=\"'plus'\"></i>\n {{ 'Add property' | translate }}\n </button>\n </div>\n }\n</div>\n" }]
2609
+ ], template: "<div\n class=\"tree-container bg-inherit\"\n [attr.aria-label]=\"'Asset property list' | translate\"\n role=\"tree\"\n>\n @if (config.showHeader || config.filterable) {\n <div\n class=\"select-all-container bg-inherit sticky-top\"\n [ngClass]=\"{\n 'separator-bottom': config.filterable || (config.showHeader && dataSource.data.length)\n }\"\n >\n @if (config.filterable) {\n <div\n class=\"form-group m-b-0 p-16 d-flex\"\n [ngClass]=\"{ 'separator-bottom': config.showHeader }\"\n >\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n [attr.aria-label]=\"'Filter properties' | translate\"\n placeholder=\"{{ 'Filter properties' | translate }}\"\n role=\"searchbox\"\n type=\"search\"\n autocomplete=\"off\"\n [(ngModel)]=\"filterText\"\n (input)=\"onFilter()\"\n [disabled]=\"!dataSource.data.length\"\n #filter\n />\n @if (filter.value.length === 0) {\n <span\n class=\"input-group-addon\"\n [attr.aria-hidden]=\"true\"\n >\n <i\n class=\"dlt-c8y-icon-search\"\n [c8yIcon]=\"'search'\"\n ></i>\n </span>\n }\n @if (filter.value.length > 0) {\n <span\n class=\"input-group-addon\"\n [attr.aria-hidden]=\"true\"\n >\n <i\n class=\"text-muted dlt-c8y-icon-times\"\n [c8yIcon]=\"'times'\"\n [attr.aria-label]=\"'Clear filter' | translate\"\n tabindex=\"0\"\n role=\"button\"\n (click)=\"clearFilter()\"\n ></i>\n </span>\n }\n </div>\n </div>\n }\n @if (config.showHeader && dataSource.data.length) {\n <div class=\"d-flex a-i-center overflow-hidden\">\n <div\n class=\"flex-no-shrink d-flex a-i-center\"\n [ngClass]=\"{\n 'p-l-40': !hasExpandableNodes && config.expansionMode !== 'nonCollapsible',\n 'p-r-8': config.selectMode !== 'none' && config.expansionMode === 'nonCollapsible'\n }\"\n >\n @if (config.expansionMode !== 'nonCollapsible' && hasExpandableNodes) {\n @let collapseAllButtonTitle =\n (areAllNodesExpanded ? collapseAllLabel : expandAllLabel) | translate;\n <button\n class=\"collapse-btn btn-dot flex-no-shrink\"\n [title]=\"collapseAllButtonTitle\"\n [attr.aria-label]=\"collapseAllButtonTitle\"\n type=\"button\"\n [ngClass]=\"{ active: areAllNodesExpanded }\"\n (click)=\"toggleExpandCollapseAll()\"\n >\n <i [c8yIcon]=\"'chevron-right'\"></i>\n </button>\n }\n </div>\n @if (config.selectMode === 'multi') {\n <c8y-list-item-checkbox\n class=\"p-l-4 p-r-4\"\n [ngModel]=\"allSelected\"\n [indeterminate]=\"indeterminate\"\n (onSelect)=\"selectAll($event)\"\n ></c8y-list-item-checkbox>\n }\n <div\n class=\"p-t-40\"\n [ngClass]=\"{\n 'p-l-24': config.selectMode === 'single',\n 'p-l-8': config.selectMode === 'none' && config.expansionMode === 'nonCollapsible'\n }\"\n ></div>\n <div class=\"content-flex-30 fit-w m-t-4 m-b-4 m-0\">\n <div class=\"col-6 d-flex a-i-center m-l-0 m-r-0\">\n <span class=\"flex-no-shrink p-l-4 p-r-8\">\n <div class=\"c8y-icon\"></div>\n </span>\n <span class=\"text-medium m-l-8\">\n {{ 'Property' | translate }}\n </span>\n </div>\n @if (config.showKey) {\n <div [ngClass]=\"{ 'col-3': config.showValue, 'col-6': !config.showValue }\">\n <span class=\"text-medium\">{{ 'Key' | translate }}</span>\n </div>\n }\n @if (config.showValue) {\n <div [ngClass]=\"{ 'col-3': config.showKey, 'col-6': !config.showKey }\">\n <span class=\"text-medium\">{{ 'Value' | translate }}</span>\n </div>\n }\n </div>\n @if (assetPropertyAction) {\n <div\n class=\"m-l-8 p-l-24 asset-property-list__actions\"\n [ngClass]=\"{\n 'p-r-40': config.allowAddingCustomProperties,\n 'p-r-8': !config.allowAddingCustomProperties\n }\"\n ></div>\n }\n </div>\n }\n </div>\n }\n\n @if (dataSource.data.length) {\n <cdk-tree\n role=\"presentation\"\n #tree\n [dataSource]=\"dataSource\"\n [levelAccessor]=\"getLevel\"\n cdkDropList\n cdkDropListOrientation=\"vertical\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListDisabled]=\"!config.allowDragAndDrop || dataSource.data.length < 2\"\n >\n <!-- Tree Node Definition -->\n <cdk-tree-node\n class=\"c8y-list__item--dense\"\n [attr.tabindex]=\"0\"\n [attr.aria-level]=\"getLevel(node) + 1\"\n [attr.aria-expanded]=\"hasChild(node) ? isNodeExpanded(node) : null\"\n [attr.aria-selected]=\"config.selectMode !== 'none' ? node.property.active : null\"\n role=\"treeitem\"\n *cdkTreeNodeDef=\"let node\"\n cdkTreeNodePadding\n [cdkTreeNodePaddingIndent]=\"TREE_NODE_INDENT\"\n [ngClass]=\"{\n nonCollapsible: config.expansionMode === 'nonCollapsible',\n nonSelectable: config.selectMode === 'none'\n }\"\n cdkDrag\n cdkDragLockAxis=\"y\"\n [cdkDragDisabled]=\"cdkDragDisabled\"\n >\n <div class=\"d-flex p-relative overflow-visible bg-inherit fit-h\">\n @if (config.allowDragAndDrop && dataSource.data.length > 1) {\n <div\n class=\"drag-handle-wrapper\"\n [ngClass]=\"{ 'drag-handle-disabled': cdkDragDisabled }\"\n >\n <button\n class=\"drag-handle btn-clean\"\n [title]=\"\n (cdkDragDisabled ? dragHandleDisabledLabel : dragHandleEnabledLabel) | translate\n \"\n [attr.aria-label]=\"\n (cdkDragDisabled ? dragHandleDisabledLabel : dragHandleEnabledLabel) | translate\n \"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"cdkDragDisabled\"\n >\n <i [c8yIcon]=\"'drag-reorder'\"></i>\n </button>\n </div>\n }\n <!-- Toggle Button for expandable nodes -->\n @if (config.expansionMode !== 'nonCollapsible' && hasChild(node)) {\n @let collapseButtonTitle =\n isNodeExpanded(node) | c8yAssetPropertyCollapseButtonTitle: node;\n <button\n class=\"collapse-btn btn-dot flex-no-shrink\"\n [title]=\"collapseButtonTitle\"\n [attr.aria-label]=\"collapseButtonTitle\"\n [attr.aria-expanded]=\"isNodeExpanded(node)\"\n type=\"button\"\n (click)=\"toggleNode(node)\"\n [ngClass]=\"{ active: isNodeExpanded(node) }\"\n >\n <i [c8yIcon]=\"'chevron-right'\"></i>\n </button>\n }\n <!-- Placeholder for non-expandable nodes to maintain alignment -->\n @if (!hasChild(node) || config.expansionMode === 'nonCollapsible') {\n <div\n class=\"flex-no-shrink\"\n [ngClass]=\"{\n 'p-r-40': config.expansionMode !== 'nonCollapsible',\n 'p-r-8': config.expansionMode === 'nonCollapsible'\n }\"\n ></div>\n }\n <!-- Selection Controls -->\n @if (config.selectMode !== 'none') {\n <div class=\"d-contents\">\n @if (config.selectMode === 'single') {\n <c8y-list-item-radio\n class=\"p-l-4 p-r-4\"\n type=\"radio\"\n [selected]=\"node.property.active\"\n (onSelect)=\"onSelectSingle($event, node)\"\n ></c8y-list-item-radio>\n } @else if (config.selectMode === 'multi') {\n <c8y-list-item-checkbox\n class=\"p-l-4 p-r-4\"\n [ngModel]=\"node.property.active\"\n [indeterminate]=\"node.indeterminate\"\n (onSelect)=\"onSelectMulti($event, node)\"\n ></c8y-list-item-checkbox>\n }\n </div>\n }\n <div class=\"content-flex-30 fit-w bg-inherit m-0 min-width-0\">\n <div\n class=\"d-flex a-i-center bg-inherit m-0 flex-grow\"\n [style.max-width]=\"getColumnMaxWidth(node)\"\n >\n <c8y-li-icon\n class=\"p-r-4 p-l-4\"\n [icon]=\"node.property | c8yAssetPropertyIcon\"\n tooltip=\"{{ node.property | c8yAssetPropertyIconTooltip }}\"\n container=\"body\"\n [delay]=\"500\"\n [ngClass]=\"{\n 'p-l-4': config.selectMode !== 'none',\n 'p-l-8': config.selectMode === 'none'\n }\"\n ></c8y-li-icon>\n\n <span class=\"p-r-8 min-width-0 d-flex a-i-center\">\n @if (isContextMismatch(node)) {\n @let tooltipText =\n 'Property configured for a different asset. Reconfigure to match current asset.'\n | translate;\n <button\n class=\"btn-clean m-r-4\"\n [attr.aria-label]=\"tooltipText\"\n [tooltip]=\"tooltipText\"\n placement=\"top\"\n type=\"button\"\n [container]=\"'body'\"\n >\n <i\n class=\"status critical stroked-icon\"\n c8yIcon=\"exclamation-circle\"\n ></i>\n </button>\n }\n\n <div\n class=\"text-truncate\"\n title=\"{{\n node.property.label || node.property.title || node.property.name | translate\n }}\"\n [ngClass]=\"{\n 'text-muted': node.property.temporary,\n 'text-danger': isContextMismatch(node)\n }\"\n >\n {{ node.property.label || node.property.title || node.property.name | translate }}\n </div>\n </span>\n </div>\n @if (config.showKey) {\n <div\n class=\"d-flex a-i-center\"\n [ngClass]=\"{ 'col-3': config.showValue, 'col-6': !config.showValue }\"\n >\n <span\n class=\"d-inline-block tag tag--default a-s-center text-truncate\"\n title=\"{{\n node.property.keyPath?.join('.') || (node.property?.name | translate)\n }}\"\n >\n {{ node.property.keyPath?.join('.') || (node.property?.name | translate) }}\n </span>\n </div>\n }\n @if (asset && config.showValue) {\n <div\n class=\"d-flex a-i-center\"\n [ngClass]=\"{ 'col-3': config.showKey, 'col-6': !config.showKey }\"\n >\n @let value = node.property | c8yAssetPropertyValue: asset | async;\n <span\n class=\"tag tag--info d-inline-block a-s-center text-truncate\"\n title=\"{{ value }}\"\n >\n {{ value }}\n </span>\n </div>\n }\n </div>\n @if (assetPropertyAction || node.property.temporary) {\n <div\n class=\"m-l-8 showOnHover d-flex a-i-center j-c-end asset-property-list__actions\"\n [ngClass]=\"{\n 'p-l-32': !node.property.temporary && config.allowAddingCustomProperties,\n 'has-computed': node.property.computed && node.property.config\n }\"\n >\n @if (node.property.computed && node.property.config) {\n <button\n class=\"btn btn-dot m-l-auto\"\n title=\"{{ 'Configure' | translate }}\"\n (click)=\"editProperty(node.property)\"\n >\n <i [c8yIcon]=\"'cog'\"></i>\n </button>\n }\n @if (node.property.temporary) {\n <button\n class=\"btn btn-dot btn-dot--danger\"\n [attr.aria-label]=\"'Remove' | translate\"\n tooltip=\"{{ 'Remove' | translate }}\"\n container=\"body\"\n type=\"button\"\n [ngClass]=\"{ 'm-l-auto': !node.property.computed || !node.property.config }\"\n [delay]=\"500\"\n (click)=\"removeProperty(node.property)\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n }\n <ng-container\n *ngTemplateOutlet=\"\n assetPropertyAction?.template;\n context: {\n $implicit: node.property\n }\n \"\n ></ng-container>\n </div>\n }\n </div>\n </cdk-tree-node>\n </cdk-tree>\n } @else {\n <c8y-ui-empty-state\n icon=\"list\"\n title=\"{{ 'No properties to display' | translate }}\"\n subtitle=\"{{ 'Select an asset to see the available properties.' | translate }}\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n }\n @if (config.allowAddingCustomProperties) {\n <div class=\"sticky-bottom bg-inherit separator-top p-16\">\n <button\n class=\"btn btn-default btn-sm m-l-8\"\n (click)=\"addProperty()\"\n data-cy=\"asset-property-item-add-button\"\n >\n <i [c8yIcon]=\"'plus'\"></i>\n {{ 'Add property' | translate }}\n </button>\n </div>\n }\n</div>\n" }]
2610
2610
  }], ctorParameters: () => [], propDecorators: { tree: [{ type: i0.ViewChild, args: ['tree', { isSignal: true }] }], config: [{
2611
2611
  type: Input
2612
2612
  }], asset: [{
@@ -2788,7 +2788,7 @@ class CustomPropertiesDrawerComponent {
2788
2788
  return [...computed, ...simple, ...complex];
2789
2789
  }
2790
2790
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CustomPropertiesDrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2791
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: CustomPropertiesDrawerComponent, isStandalone: true, selector: "c8y-custom-properties-drawer-component", inputs: { title: "title" }, outputs: { savePropertySelection: "savePropertySelection", cancelPropertySelection: "cancelPropertySelection" }, host: { classAttribute: "d-contents" }, ngImport: i0, template: "<div class=\"card-header separator\">\n <span class=\"h4 card-title\">{{ title | translate }}</span>\n</div>\n\n<div class=\"form-group m-b-8 p-16 d-flex\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n [attr.aria-label]=\"'Search properties' | translate\"\n placeholder=\"{{ 'Search properties' | translate }}\"\n role=\"searchbox\"\n type=\"search\"\n autocomplete=\"off\"\n [(ngModel)]=\"inputText\"\n (input)=\"onSearch()\"\n #filter\n />\n <span\n class=\"input-group-addon\"\n [attr.aria-hidden]=\"true\"\n *ngIf=\"filter.value.length === 0\"\n >\n <i\n class=\"dlt-c8y-icon-search\"\n [c8yIcon]=\"'search'\"\n ></i>\n </span>\n <span\n class=\"input-group-addon\"\n [attr.aria-hidden]=\"true\"\n *ngIf=\"filter.value.length > 0\"\n >\n <i\n class=\"text-muted dlt-c8y-icon-times\"\n [c8yIcon]=\"'times'\"\n [attr.aria-label]=\"'Clear search' | translate\"\n tabindex=\"0\"\n role=\"button\"\n (click)=\"clearSearch()\"\n ></i>\n </span>\n </div>\n</div>\n\n<c8y-tabs-outlet\n class=\"elevation-none m-b-16\"\n outletName=\"assetPropertiesDrawerTabs\"\n orientation=\"horizontal\"\n></c8y-tabs-outlet>\n\n<c8y-tab\n [isActive]=\"selectedTab === 'regular'\"\n [tabsOutlet]=\"'assetPropertiesDrawerTabs'\"\n [priority]=\"1000\"\n (onSelect)=\"onTabChange('regular')\"\n>\n <i [c8yIcon]=\"'c8y-css'\"></i>\n <span>\n {{ tabNames.regular | translate }}\n <span aria-live=\"assertive\" class=\"m-l-4 badge badge-default flex-no-shrink\">\n {{ regularCount }}\n </span>\n </span>\n</c8y-tab>\n\n<c8y-tab\n [isActive]=\"selectedTab === 'computed'\"\n [tabsOutlet]=\"'assetPropertiesDrawerTabs'\"\n [priority]=\"900\"\n (onSelect)=\"onTabChange('computed')\"\n>\n <i [c8yIcon]=\"'bolt'\"></i>\n <span>\n {{ tabNames.computed | translate }}\n <span class=\"m-l-4 badge badge-default flex-no-shrink\" aria-live=\"assertive\">\n {{ computedCount }}\n </span>\n </span>\n</c8y-tab>\n\n<div class=\"inner-scroll flex-grow\">\n <c8y-asset-property-list\n class=\"bg-component\"\n [config]=\"config\"\n [extraProperties]=\"displayedProperties\"\n (selectedProperties)=\"onSelectedProperties($event)\"\n ></c8y-asset-property-list>\n <c8y-load-more\n *ngIf=\"selectedTab === 'regular'\"\n [paging]=\"paging\"\n [useIntersection]=\"true\"\n (onLoad)=\"loadMore()\"\n ></c8y-load-more>\n</div>\n\n<div class=\"card-footer text-center p-24 separator flex-no-shrink\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"onCancel()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Select' | translate }}\"\n type=\"button\"\n [disabled]=\"selectIsDisabled()\"\n (click)=\"onSave()\"\n >\n {{ 'Select' | translate }}\n </button>\n</div>\n", dependencies: [{ kind: "ngmodule", type: FormsModule$1 }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AssetPropertyListComponent, selector: "c8y-asset-property-list", inputs: ["config", "asset", "extraProperties"], outputs: ["selectedProperties"] }, { kind: "component", type: LoadMoreComponent, selector: "c8y-load-more", inputs: ["paging", "useIntersection", "hidden", "container", "class", "maxIterations", "noMoreDataHint", "loadingTemplate", "hideNoMoreDataHint", "loadNextLabel", "loadingLabel"], outputs: ["onLoad"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TabComponent, selector: "c8y-tab", inputs: ["path", "label", "icon", "priority", "orientation", "injector", "tabsOutlet", "isActive", "text", "showAlways"], outputs: ["onSelect"] }, { kind: "component", type: TabsOutletComponent, selector: "c8y-tabs-outlet,c8y-ui-tabs", inputs: ["tabs", "orientation", "navigatorOpen", "outletName", "context", "openFirstTab", "hasHeader"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
2791
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: CustomPropertiesDrawerComponent, isStandalone: true, selector: "c8y-custom-properties-drawer-component", inputs: { title: "title" }, outputs: { savePropertySelection: "savePropertySelection", cancelPropertySelection: "cancelPropertySelection" }, host: { classAttribute: "d-contents" }, ngImport: i0, template: "<div class=\"card-header separator\">\n <span class=\"h4 card-title\">{{ title | translate }}</span>\n</div>\n\n<div class=\"form-group m-b-8 p-16 d-flex\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n [attr.aria-label]=\"'Search properties' | translate\"\n placeholder=\"{{ 'Search properties' | translate }}\"\n role=\"searchbox\"\n type=\"search\"\n autocomplete=\"off\"\n [(ngModel)]=\"inputText\"\n (input)=\"onSearch()\"\n #filter\n />\n @if (filter.value.length === 0) {\n <span\n class=\"input-group-addon\"\n [attr.aria-hidden]=\"true\"\n >\n <i\n class=\"dlt-c8y-icon-search\"\n [c8yIcon]=\"'search'\"\n ></i>\n </span>\n }\n @if (filter.value.length > 0) {\n <span\n class=\"input-group-addon\"\n [attr.aria-hidden]=\"true\"\n >\n <i\n class=\"text-muted dlt-c8y-icon-times\"\n [c8yIcon]=\"'times'\"\n [attr.aria-label]=\"'Clear search' | translate\"\n tabindex=\"0\"\n role=\"button\"\n (click)=\"clearSearch()\"\n ></i>\n </span>\n }\n </div>\n</div>\n\n<c8y-tabs-outlet\n class=\"elevation-none m-b-16\"\n outletName=\"assetPropertiesDrawerTabs\"\n orientation=\"horizontal\"\n></c8y-tabs-outlet>\n\n<c8y-tab\n [isActive]=\"selectedTab === 'regular'\"\n [tabsOutlet]=\"'assetPropertiesDrawerTabs'\"\n [priority]=\"1000\"\n (onSelect)=\"onTabChange('regular')\"\n>\n <i [c8yIcon]=\"'new-property'\"></i>\n <span>\n {{ tabNames.regular | translate }}\n <span\n class=\"m-l-4 badge badge-default flex-no-shrink\"\n aria-live=\"assertive\"\n >\n {{ regularCount }}\n </span>\n </span>\n</c8y-tab>\n\n<c8y-tab\n [isActive]=\"selectedTab === 'computed'\"\n [tabsOutlet]=\"'assetPropertiesDrawerTabs'\"\n [priority]=\"900\"\n (onSelect)=\"onTabChange('computed')\"\n>\n <i [c8yIcon]=\"'bolt'\"></i>\n <span>\n {{ tabNames.computed | translate }}\n <span\n class=\"m-l-4 badge badge-default flex-no-shrink\"\n aria-live=\"assertive\"\n >\n {{ computedCount }}\n </span>\n </span>\n</c8y-tab>\n\n<div class=\"inner-scroll flex-grow\">\n <c8y-asset-property-list\n class=\"bg-component\"\n [config]=\"config\"\n [extraProperties]=\"displayedProperties\"\n (selectedProperties)=\"onSelectedProperties($event)\"\n ></c8y-asset-property-list>\n @if (selectedTab === 'regular') {\n <c8y-load-more\n [paging]=\"paging\"\n [useIntersection]=\"true\"\n (onLoad)=\"loadMore()\"\n ></c8y-load-more>\n }\n</div>\n\n<div class=\"card-footer text-center p-24 separator flex-no-shrink\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"onCancel()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Select' | translate }}\"\n type=\"button\"\n [disabled]=\"selectIsDisabled()\"\n (click)=\"onSave()\"\n >\n {{ 'Select' | translate }}\n </button>\n</div>\n", dependencies: [{ kind: "ngmodule", type: FormsModule$1 }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AssetPropertyListComponent, selector: "c8y-asset-property-list", inputs: ["config", "asset", "extraProperties"], outputs: ["selectedProperties"] }, { kind: "component", type: LoadMoreComponent, selector: "c8y-load-more", inputs: ["paging", "useIntersection", "hidden", "container", "class", "maxIterations", "noMoreDataHint", "loadingTemplate", "hideNoMoreDataHint", "loadNextLabel", "loadingLabel"], outputs: ["onLoad"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: TabComponent, selector: "c8y-tab", inputs: ["path", "label", "icon", "priority", "orientation", "injector", "tabsOutlet", "isActive", "text", "showAlways"], outputs: ["onSelect"] }, { kind: "component", type: TabsOutletComponent, selector: "c8y-tabs-outlet,c8y-ui-tabs", inputs: ["tabs", "orientation", "navigatorOpen", "outletName", "context", "openFirstTab", "hasHeader"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
2792
2792
  }
2793
2793
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CustomPropertiesDrawerComponent, decorators: [{
2794
2794
  type: Component,
@@ -2800,10 +2800,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
2800
2800
  AssetPropertyListComponent,
2801
2801
  LoadMoreComponent,
2802
2802
  IconDirective,
2803
- NgIf,
2804
2803
  TabComponent,
2805
2804
  TabsOutletComponent
2806
- ], template: "<div class=\"card-header separator\">\n <span class=\"h4 card-title\">{{ title | translate }}</span>\n</div>\n\n<div class=\"form-group m-b-8 p-16 d-flex\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n [attr.aria-label]=\"'Search properties' | translate\"\n placeholder=\"{{ 'Search properties' | translate }}\"\n role=\"searchbox\"\n type=\"search\"\n autocomplete=\"off\"\n [(ngModel)]=\"inputText\"\n (input)=\"onSearch()\"\n #filter\n />\n <span\n class=\"input-group-addon\"\n [attr.aria-hidden]=\"true\"\n *ngIf=\"filter.value.length === 0\"\n >\n <i\n class=\"dlt-c8y-icon-search\"\n [c8yIcon]=\"'search'\"\n ></i>\n </span>\n <span\n class=\"input-group-addon\"\n [attr.aria-hidden]=\"true\"\n *ngIf=\"filter.value.length > 0\"\n >\n <i\n class=\"text-muted dlt-c8y-icon-times\"\n [c8yIcon]=\"'times'\"\n [attr.aria-label]=\"'Clear search' | translate\"\n tabindex=\"0\"\n role=\"button\"\n (click)=\"clearSearch()\"\n ></i>\n </span>\n </div>\n</div>\n\n<c8y-tabs-outlet\n class=\"elevation-none m-b-16\"\n outletName=\"assetPropertiesDrawerTabs\"\n orientation=\"horizontal\"\n></c8y-tabs-outlet>\n\n<c8y-tab\n [isActive]=\"selectedTab === 'regular'\"\n [tabsOutlet]=\"'assetPropertiesDrawerTabs'\"\n [priority]=\"1000\"\n (onSelect)=\"onTabChange('regular')\"\n>\n <i [c8yIcon]=\"'c8y-css'\"></i>\n <span>\n {{ tabNames.regular | translate }}\n <span aria-live=\"assertive\" class=\"m-l-4 badge badge-default flex-no-shrink\">\n {{ regularCount }}\n </span>\n </span>\n</c8y-tab>\n\n<c8y-tab\n [isActive]=\"selectedTab === 'computed'\"\n [tabsOutlet]=\"'assetPropertiesDrawerTabs'\"\n [priority]=\"900\"\n (onSelect)=\"onTabChange('computed')\"\n>\n <i [c8yIcon]=\"'bolt'\"></i>\n <span>\n {{ tabNames.computed | translate }}\n <span class=\"m-l-4 badge badge-default flex-no-shrink\" aria-live=\"assertive\">\n {{ computedCount }}\n </span>\n </span>\n</c8y-tab>\n\n<div class=\"inner-scroll flex-grow\">\n <c8y-asset-property-list\n class=\"bg-component\"\n [config]=\"config\"\n [extraProperties]=\"displayedProperties\"\n (selectedProperties)=\"onSelectedProperties($event)\"\n ></c8y-asset-property-list>\n <c8y-load-more\n *ngIf=\"selectedTab === 'regular'\"\n [paging]=\"paging\"\n [useIntersection]=\"true\"\n (onLoad)=\"loadMore()\"\n ></c8y-load-more>\n</div>\n\n<div class=\"card-footer text-center p-24 separator flex-no-shrink\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"onCancel()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Select' | translate }}\"\n type=\"button\"\n [disabled]=\"selectIsDisabled()\"\n (click)=\"onSave()\"\n >\n {{ 'Select' | translate }}\n </button>\n</div>\n" }]
2805
+ ], template: "<div class=\"card-header separator\">\n <span class=\"h4 card-title\">{{ title | translate }}</span>\n</div>\n\n<div class=\"form-group m-b-8 p-16 d-flex\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n [attr.aria-label]=\"'Search properties' | translate\"\n placeholder=\"{{ 'Search properties' | translate }}\"\n role=\"searchbox\"\n type=\"search\"\n autocomplete=\"off\"\n [(ngModel)]=\"inputText\"\n (input)=\"onSearch()\"\n #filter\n />\n @if (filter.value.length === 0) {\n <span\n class=\"input-group-addon\"\n [attr.aria-hidden]=\"true\"\n >\n <i\n class=\"dlt-c8y-icon-search\"\n [c8yIcon]=\"'search'\"\n ></i>\n </span>\n }\n @if (filter.value.length > 0) {\n <span\n class=\"input-group-addon\"\n [attr.aria-hidden]=\"true\"\n >\n <i\n class=\"text-muted dlt-c8y-icon-times\"\n [c8yIcon]=\"'times'\"\n [attr.aria-label]=\"'Clear search' | translate\"\n tabindex=\"0\"\n role=\"button\"\n (click)=\"clearSearch()\"\n ></i>\n </span>\n }\n </div>\n</div>\n\n<c8y-tabs-outlet\n class=\"elevation-none m-b-16\"\n outletName=\"assetPropertiesDrawerTabs\"\n orientation=\"horizontal\"\n></c8y-tabs-outlet>\n\n<c8y-tab\n [isActive]=\"selectedTab === 'regular'\"\n [tabsOutlet]=\"'assetPropertiesDrawerTabs'\"\n [priority]=\"1000\"\n (onSelect)=\"onTabChange('regular')\"\n>\n <i [c8yIcon]=\"'new-property'\"></i>\n <span>\n {{ tabNames.regular | translate }}\n <span\n class=\"m-l-4 badge badge-default flex-no-shrink\"\n aria-live=\"assertive\"\n >\n {{ regularCount }}\n </span>\n </span>\n</c8y-tab>\n\n<c8y-tab\n [isActive]=\"selectedTab === 'computed'\"\n [tabsOutlet]=\"'assetPropertiesDrawerTabs'\"\n [priority]=\"900\"\n (onSelect)=\"onTabChange('computed')\"\n>\n <i [c8yIcon]=\"'bolt'\"></i>\n <span>\n {{ tabNames.computed | translate }}\n <span\n class=\"m-l-4 badge badge-default flex-no-shrink\"\n aria-live=\"assertive\"\n >\n {{ computedCount }}\n </span>\n </span>\n</c8y-tab>\n\n<div class=\"inner-scroll flex-grow\">\n <c8y-asset-property-list\n class=\"bg-component\"\n [config]=\"config\"\n [extraProperties]=\"displayedProperties\"\n (selectedProperties)=\"onSelectedProperties($event)\"\n ></c8y-asset-property-list>\n @if (selectedTab === 'regular') {\n <c8y-load-more\n [paging]=\"paging\"\n [useIntersection]=\"true\"\n (onLoad)=\"loadMore()\"\n ></c8y-load-more>\n }\n</div>\n\n<div class=\"card-footer text-center p-24 separator flex-no-shrink\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"onCancel()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Select' | translate }}\"\n type=\"button\"\n [disabled]=\"selectIsDisabled()\"\n (click)=\"onSave()\"\n >\n {{ 'Select' | translate }}\n </button>\n</div>\n" }]
2807
2806
  }], propDecorators: { title: [{
2808
2807
  type: Input
2809
2808
  }], savePropertySelection: [{