@c8y/ngx-components 1023.14.70 → 1023.14.76

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 (38) hide show
  1. package/asset-properties/index.d.ts +20 -2
  2. package/asset-properties/index.d.ts.map +1 -1
  3. package/cockpit-config/index.d.ts.map +1 -1
  4. package/echart/index.d.ts.map +1 -1
  5. package/fesm2022/c8y-ngx-components-asset-properties.mjs +36 -12
  6. package/fesm2022/c8y-ngx-components-asset-properties.mjs.map +1 -1
  7. package/fesm2022/c8y-ngx-components-cockpit-config.mjs +7 -7
  8. package/fesm2022/c8y-ngx-components-cockpit-config.mjs.map +1 -1
  9. package/fesm2022/c8y-ngx-components-echart.mjs +44 -14
  10. package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
  11. package/fesm2022/c8y-ngx-components-services.mjs +2 -2
  12. package/fesm2022/c8y-ngx-components-services.mjs.map +1 -1
  13. package/fesm2022/c8y-ngx-components-tenants.mjs +2 -2
  14. package/fesm2022/c8y-ngx-components-tenants.mjs.map +1 -1
  15. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs +3 -3
  16. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs.map +1 -1
  17. package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs.map +1 -1
  18. package/fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs +4 -0
  19. package/fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs.map +1 -1
  20. package/fesm2022/c8y-ngx-components.mjs +23 -4
  21. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  22. package/index.d.ts +8 -2
  23. package/index.d.ts.map +1 -1
  24. package/locales/de.po +316 -26
  25. package/locales/es.po +289 -7
  26. package/locales/fr.po +289 -7
  27. package/locales/ja_JP.po +289 -7
  28. package/locales/ko.po +289 -7
  29. package/locales/locales.pot +4 -4
  30. package/locales/nl.po +289 -7
  31. package/locales/pl.po +289 -7
  32. package/locales/pt_BR.po +289 -7
  33. package/locales/zh_CN.po +289 -7
  34. package/locales/zh_TW.po +289 -7
  35. package/package.json +1 -1
  36. package/widgets/implementations/html-widget/index.d.ts +2 -2
  37. package/widgets/implementations/html-widget/index.d.ts.map +1 -1
  38. package/widgets/implementations/three-d-rotation/index.d.ts.map +1 -1
@@ -139,6 +139,11 @@ type AssetPropertyListConfig = {
139
139
  * Enable or disable drag and drop functionality for reordering properties.
140
140
  */
141
141
  allowDragAndDrop?: boolean;
142
+ /**
143
+ * Tabs to hide in the custom properties drawer.
144
+ * At most one tab can be hidden at a time.
145
+ */
146
+ hiddenTabs?: HiddenTabs;
142
147
  };
143
148
  declare const defaultAssetPropertyListConfig: AssetPropertyListConfig;
144
149
  declare const defaultAssetProperties: Array<BaseProperty>;
@@ -210,6 +215,17 @@ interface NestedPropertyFields extends BaseProperty {
210
215
  keyPath: string[];
211
216
  }
212
217
  type AssetPropertyType = BaseProperty | NestedPropertyFields;
218
+ type HiddenTabs = {
219
+ regular: true;
220
+ computed?: false;
221
+ } | {
222
+ computed: true;
223
+ regular?: false;
224
+ } | {
225
+ regular?: false;
226
+ computed?: false;
227
+ };
228
+ type AssetPropertyTab = keyof Required<HiddenTabs>;
213
229
 
214
230
  /**
215
231
  * Service for managing asset properties.
@@ -320,7 +336,9 @@ declare class AssetPropertiesService {
320
336
  */
321
337
  declare class CustomPropertiesDrawerService {
322
338
  private bottomDrawerService;
323
- getCustomProperties(asset: IManagedObject): Promise<AssetPropertyType[]>;
339
+ getCustomProperties(asset: IManagedObject, options?: {
340
+ hiddenTabs?: HiddenTabs;
341
+ }): Promise<AssetPropertyType[]>;
324
342
  static ɵfac: i0.ɵɵFactoryDeclaration<CustomPropertiesDrawerService, never>;
325
343
  static ɵprov: i0.ɵɵInjectableDeclaration<CustomPropertiesDrawerService>;
326
344
  }
@@ -726,5 +744,5 @@ declare class ComputedPropertiesService extends ExtensionPointForPlugins<Compute
726
744
  }
727
745
 
728
746
  export { AssetPropertiesService, AssetPropertyActionDirective, AssetPropertyListComponent, AssetPropertySelectorDrawerComponent, ComputedPropertiesService, CustomPropertiesDrawerService, HOOK_COMPUTED_PROPERTY, RESULT_TYPES, defaultAssetProperties, defaultAssetPropertyListConfig, deviceAssetProperties, hookComputedProperty };
729
- export type { AssetPropertyListConfig, AssetPropertyType, BaseProperty, C8yJsonSchema, C8yJsonSchemaProperty, C8yPropertyType, ComputedPropertyComponent, ComputedPropertyContextType, ComputedPropertyContextValue, ComputedPropertyDefinition, NestedPropertyFields, ValueCallbackMetadata };
747
+ export type { AssetPropertyListConfig, AssetPropertyTab, AssetPropertyType, BaseProperty, C8yJsonSchema, C8yJsonSchemaProperty, C8yPropertyType, ComputedPropertyComponent, ComputedPropertyContextType, ComputedPropertyContextValue, ComputedPropertyDefinition, HiddenTabs, NestedPropertyFields, ValueCallbackMetadata };
730
748
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../asset-properties/asset-properties.model.ts","../../asset-properties/asset-properties.service.ts","../../asset-properties/custom-properties-drawer.service.ts","../../asset-properties/asset-property-list/tree-data-source.ts","../../asset-properties/asset-property-list/asset-property-action.directive.ts","../../asset-properties/asset-property-list/asset-property-list.component.ts","../../asset-properties/asset-property-selector-drawer/asset-property-selector-drawer.component.ts","../../asset-properties/computed-properties.service.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../asset-properties/asset-properties.model.ts","../../asset-properties/asset-properties.service.ts","../../asset-properties/custom-properties-drawer.service.ts","../../asset-properties/asset-property-list/tree-data-source.ts","../../asset-properties/asset-property-list/asset-property-action.directive.ts","../../asset-properties/asset-property-list/asset-property-list.component.ts","../../asset-properties/asset-property-selector-drawer/asset-property-selector-drawer.component.ts","../../asset-properties/computed-properties.service.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;AAKA;AACE;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACD;AAEK;AACJ;;;;AAIG;AACH;AACA;;;;;AAKG;AACH;;AAGI;AACA;AAGN;;;;;;AAaI;;;;;AAME;;;;AAUE;;;;;AAMD;AAGD;AACJ;;;AAGG;;AAEH;;AAEG;;;AAIC;AACJ;;AAEG;AACH;AACA;;;AAGG;;AAEH;;;;;AAKG;AACH;AACA;;;;;AAKG;AACH;AACA;;;AAGG;;AAEH;;AAEG;;AAEH;;;AAGG;;AAEH;;;;AAIG;AACH;AACA;;AAEG;;AAEH;;;;;AAKG;AACH;AACA;;AAEG;;AAEH;;;AAGG;;;AAIL;AAaA;AAoDA;AAukBA;;;;;;;;;;;;;;;;;AAKM;AAeN;;;;;;;;;;;;;;;;AAiBE;;;;;AAKA;;AAAmD;AACnD;AACD;;AAGC;AACA;AACD;;;;;;;;;;;;AAaC;AACD;AAEK;;;;AAIL;;AAIK;;;;;;;;;;AAKA;;ACh2BN;;AAEG;AACH;AAIE;;;;;;AAuBA;;;;;;AAMG;AACG;AA6BN;;;;AAIG;;AAiBH;;;;AAIG;;AAcH;;;;AAIG;;AAKH;;;;AAIG;;AAKH;;;;AAIG;;AAOH;;;;AAIG;AACH;AAiBA;;;;AAIG;AACH;;;;AAIC;AAwBD;;;;AAIG;AACH;AAOA;;;;;AAKG;AACG;AAcN;;;;;AAKG;;AAuBH;;;;AAIG;AACG;;;;;AA2CN;AAYA;AAoCA;AAIA;AAqCA;AASA;;;AAYD;;AC5ZD;;AAEG;AACH;;AAMQ;;AAEiC;;;AAiBxC;;;;;;;;;ACvBA;AAED;;;AAOE;AAIA;AAIA;AAIA;AAGD;;ACjCD;AAMW;AACA;AACA;AAFA;;;AAIV;;ACqCD;;AAEG;AACH;AAyBE;;AAEG;AACH;AACA;;AAEG;;AAEH;;AAEG;;AAEH;;AAEG;;AAEH;;AAEG;AACO;AACV;;AAEG;;AAEH;;AAEG;AACH;AACA;;AAEG;AACH;AACA;;AAEG;AACH;AACA;;AAEG;AACH;AACA;;AAEG;AACH;AACA;;AAEG;;;;AAKH;AACA;AACA;AACA;AACA;;AAKA;;AAEG;;AAEH;;AAEG;;AAEH;;AAEG;;AAEH;;AAEG;;AAEH;;AAEG;;AAEH;;AAEG;;AAEH;;AAEG;;;;;;AAOH;;AAEG;;;;;;AA6CH;;;AAGG;AACG;AAeN;;AAEG;;AAkEH;;;;;AAKG;AACH;AAkBA;;;;;AAKG;AACG;AAaN;;;AAGG;;;AAsDH;AAIA;;;;AAIG;AACH;AAOA;;;;AAIG;AACH;AAIA;;;;AAIG;AACH;AAWA;;;;AAIG;AACH;AAQA;;;AAGG;AACH;AAaA;;;AAGG;AACH;AAiBA;;;;AAIG;;AAmBH;;;;AAIG;;AAwBH;;AAEG;AACH;AAIA;;AAEG;AACH;AAKA;AAwBA;;AAEG;AACH;AAUA;;;;AAIG;AACH;AAOA;;;;AAIG;AACH;AAWA;;AAEG;AACH;AAaA;;AAEG;AACH;AASA;;AAEG;AACH;AASA;;;;AAIG;;AA8CH;AAwBA;;AAEG;;AAQH;;;;AAIG;AACH;AAcA;;;;;AAKG;AACH;AAWA;;AAEG;AACH;AAeA;;AAEG;AACH;AAmDA;;AAEG;AACH;AAgCA;;AAEG;AACH;AAoCA;;;AAGG;AACH;AAqBA;;AAEG;AACH;AAiBA;;;;AAIG;AACH;AAsBA;;;AAGG;AACH;AAuDA;;;;AAIG;AACH;;;AAOD;;AC5iCD;;AAEG;AACH;AAUE;;AAEG;AACM;AACT;;AAEG;;AAEH;;AAEG;;AAEH;;AAEG;;AAEH;;AAEG;AACO;AACV;;AAEG;AACO;AACV;;AAEG;;AAEH;;AAEG;AACH;AACA;;AAEG;AACH;AAIA;;AAEG;;AAEH;;AAEG;;AAEH;;;AAGG;AACH;AAIA;;AAEG;AACH;AAKA;;AAEG;AACH;AAKA;;;AAGG;AACH;;;AAGD;;ACrED;AAIA;AAOA;AAQI;;;AAOF;;;;AAIG;AACH;;;;AA0CA;AAoBA;;;AAOD;;;"}
@@ -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":["../../echart/models/datapoints-graph-widget.model.ts","../../echart/models/chart.model.ts","../../echart/models/svg-icons.model.ts","../../echart/charts.component.ts","../../echart/services/chart-alarms.service.ts","../../echart/services/chart-events.service.ts","../../echart/services/chart-helpers.service.ts","../../echart/select-aggregated-datapoint/select-aggregated-datapoint.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;AAmBM;;;;AAKA;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;AAOA;;AAEA;AACA;AACA;AACA;;;AAGA;;;;;;;;;AAUI;;;;;;;;;;AAUJ;;AAGI;;AAEJ;AACA;;AAGI;;;AAIN;;AAEG;;AAGG;AAIN;AACE;AACA;AACD;AAED;AACM;;AAEL;AAED;;;;AAIM;;;;;;;AAQL;AAED;;;;;AAUE;;;;;AAGD;;AAGC;;AAEA;;AAEE;;AAEF;;;AACD;;;;;;;AAQC;AACA;AACD;AAEK;AACA;AAEA;AAEA;AAEN;;;;AAKA;;;;;;;;;;;;;AAcM;AACA;AAEA;;;;AAKA;;;;;;;;;;;AAYL;AAED;;;;;;;;AAUE;AACA;AACD;;AC9MD;;;;;;AAMG;AACH;AACE;;;;AAIA;;;AACD;;;AAIA;;;AAIA;AAEK;AACA;AACJ;AACE;AACD;AACF;;AAGC;AACA;AACD;AAED;AACE;AACA;AACA;AACD;;AC3CD;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAED;;;;;;;;;;;ACwDA;AA4BE;;AAEA;;;;;;;;AAQA;;;;;;AAMK;AACK;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEV;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AAgDA;;;;;AAmIuB;;;AAA4B;AAiDnD;AAOA;AAIA;AAwBA;AA6BA;AAWA;;;AAGG;AACH;AAcA;;;AAGG;AACH;AAmBA;AAeA;AA0BA;;AA8DA;;;AA8MA;AA0DA;AA0CA;AAkBA;AAWA;AAYA;;;AA6BD;;ACt7BD;AAEc;AAAQ;AAEpB;;;;;AAKG;AACG;;;AAqCP;;AC/CD;AAEc;AAAQ;AAEpB;;;;;AAKG;AACG;;;AAuBP;;AChCD;AAEE;;;;AAIG;;;;;;;;;;;AAcH;AAcA;;;AAGD;;ACtBD;;AAqBW;AACC;AAEV;;AAGA;;;AAiBA;;;AAgBD;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../echart/models/datapoints-graph-widget.model.ts","../../echart/models/chart.model.ts","../../echart/models/svg-icons.model.ts","../../echart/charts.component.ts","../../echart/services/chart-alarms.service.ts","../../echart/services/chart-events.service.ts","../../echart/services/chart-helpers.service.ts","../../echart/select-aggregated-datapoint/select-aggregated-datapoint.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;AAmBM;;;;AAKA;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;AAOA;;AAEA;AACA;AACA;AACA;;;AAGA;;;;;;;;;AAUI;;;;;;;;;;AAUJ;;AAGI;;AAEJ;AACA;;AAGI;;;AAIN;;AAEG;;AAGG;AAIN;AACE;AACA;AACD;AAED;AACM;;AAEL;AAED;;;;AAIM;;;;;;;AAQL;AAED;;;;;AAUE;;;;;AAGD;;AAGC;;AAEA;;AAEE;;AAEF;;;AACD;;;;;;;AAQC;AACA;AACD;AAEK;AACA;AAEA;AAEA;AAEN;;;;AAKA;;;;;;;;;;;;;AAcM;AACA;AAEA;;;;AAKA;;;;;;;;;;;AAYL;AAED;;;;;;;;AAUE;AACA;AACD;;AC9MD;;;;;;AAMG;AACH;AACE;;;;AAIA;;;AACD;;;AAIA;;;AAIA;AAEK;AACA;AACJ;AACE;AACD;AACF;;AAGC;AACA;AACD;AAED;AACE;AACA;AACA;AACD;;AC3CD;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAED;;;;;;;;;;;ACwDA;AA4BE;;AAEA;;;;;;;;AAQA;;;;;;AAMK;AACK;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEV;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AAgDA;;;;;AA2IuB;;;AAA4B;AAiDnD;AAOA;AAIA;AAwBA;AA6BA;AAWA;;;AAGG;AACH;AAcA;;;AAGG;AACH;AAmBA;AAeA;AA0BA;;AA8DA;;;AA8MA;AA0DA;AA0CA;AAkBA;AAWA;AAYA;;;AA6BD;;AC97BD;AAEc;AAAQ;AAEpB;;;;;AAKG;AACG;;;AAqCP;;AC/CD;AAEc;AAAQ;AAEpB;;;;;AAKG;AACG;;;AAuBP;;AChCD;AAEE;;;;AAIG;;;;;;;;;;;AAcH;AAcA;;;AAGD;;ACtBD;;AAqBW;AACC;AAEV;;AAGA;;;AAiBA;;;AAgBD;;;"}
@@ -1868,7 +1868,7 @@ class AssetPropertyListComponent {
1868
1868
  * Opens the drawer to add new custom properties.
1869
1869
  */
1870
1870
  async addProperty() {
1871
- const propertiesToAdd = await this.customPropertiesDrawerService.getCustomProperties(this.asset);
1871
+ const propertiesToAdd = await this.customPropertiesDrawerService.getCustomProperties(this.asset, { hiddenTabs: this.config.hiddenTabs });
1872
1872
  if (!propertiesToAdd || propertiesToAdd.length === 0) {
1873
1873
  return;
1874
1874
  }
@@ -2676,6 +2676,7 @@ class CustomPropertiesDrawerComponent {
2676
2676
  this.regularCount = 0;
2677
2677
  this.computedCount = 0;
2678
2678
  this.allComputedProperties = [];
2679
+ this.hiddenTabs = {};
2679
2680
  this.searchSubject$ = new BehaviorSubject('');
2680
2681
  /**
2681
2682
  * Subject for handling component destruction.
@@ -2684,9 +2685,23 @@ class CustomPropertiesDrawerComponent {
2684
2685
  this.assetPropertiesService = inject(AssetPropertiesService);
2685
2686
  this.computedPropertiesService = inject(ComputedPropertiesService);
2686
2687
  }
2688
+ get showRegular() {
2689
+ return !this.hiddenTabs.regular;
2690
+ }
2691
+ get showComputed() {
2692
+ return !this.hiddenTabs.computed;
2693
+ }
2694
+ get showTabBar() {
2695
+ return this.showRegular && this.showComputed;
2696
+ }
2687
2697
  async ngOnInit() {
2688
- const computedPropsResult = await this.computedPropertiesService.getByContext(this.asset);
2689
- this.allComputedProperties = computedPropsResult.map(({ prop }) => prop);
2698
+ if (!this.showRegular) {
2699
+ this.selectedTab = 'computed';
2700
+ }
2701
+ if (this.showComputed) {
2702
+ const computedPropsResult = await this.computedPropertiesService.getByContext(this.asset);
2703
+ this.allComputedProperties = computedPropsResult.map(({ prop }) => prop);
2704
+ }
2690
2705
  await this.updateProperties();
2691
2706
  this.searchSubject$
2692
2707
  .pipe(takeUntil(this.destroy$), debounceTime(350))
@@ -2759,10 +2774,18 @@ class CustomPropertiesDrawerComponent {
2759
2774
  return this.selectedProperties?.every(({ active }) => !active);
2760
2775
  }
2761
2776
  async updateProperties() {
2762
- const { propertiesFromLibrary, paging } = await this.assetPropertiesService.getPropertiesFromPropertiesLibrary(this.inputText);
2763
- this.paging = paging;
2764
- const filteredComputedProperties = this.allComputedProperties.filter(prop => prop.label.toLowerCase().includes(this.inputText?.trim().toLowerCase() || ''));
2765
- const filteredDefaultProperties = defaultAssetProperties.filter(prop => prop.label.toLowerCase().includes(this.inputText?.trim().toLowerCase() || ''));
2777
+ let propertiesFromLibrary = [];
2778
+ let filteredDefaultProperties = [];
2779
+ if (this.showRegular) {
2780
+ const result = await this.assetPropertiesService.getPropertiesFromPropertiesLibrary(this.inputText);
2781
+ propertiesFromLibrary = result.propertiesFromLibrary;
2782
+ this.paging = result.paging;
2783
+ filteredDefaultProperties = defaultAssetProperties.filter(prop => prop.label.toLowerCase().includes(this.inputText?.trim().toLowerCase() || ''));
2784
+ }
2785
+ let filteredComputedProperties = [];
2786
+ if (this.showComputed) {
2787
+ filteredComputedProperties = this.allComputedProperties.filter(prop => prop.label.toLowerCase().includes(this.inputText?.trim().toLowerCase() || ''));
2788
+ }
2766
2789
  const allProperties = this.categorizeAndFlattenHierarchicalProperties([
2767
2790
  ...filteredComputedProperties,
2768
2791
  ...propertiesFromLibrary,
@@ -2770,7 +2793,7 @@ class CustomPropertiesDrawerComponent {
2770
2793
  ]);
2771
2794
  this.regularProperties = allProperties.filter(prop => !prop.computed);
2772
2795
  this.computedProperties = allProperties.filter(prop => prop.computed);
2773
- this.regularCount = (paging.totalElements || 0) + filteredDefaultProperties.length;
2796
+ this.regularCount = (this.paging?.totalElements || 0) + filteredDefaultProperties.length;
2774
2797
  this.computedCount = filteredComputedProperties.length;
2775
2798
  this.updateDisplayedProperties();
2776
2799
  }
@@ -2788,7 +2811,7 @@ class CustomPropertiesDrawerComponent {
2788
2811
  return [...computed, ...simple, ...complex];
2789
2812
  }
2790
2813
  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: "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" }] }); }
2814
+ 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@if (showTabBar) {\n <c8y-tabs-outlet\n class=\"elevation-none m-b-16\"\n outletName=\"assetPropertiesDrawerTabs\"\n orientation=\"horizontal\"\n ></c8y-tabs-outlet>\n\n @if (showRegular) {\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\n @if (showComputed) {\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}\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
2815
  }
2793
2816
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CustomPropertiesDrawerComponent, decorators: [{
2794
2817
  type: Component,
@@ -2802,7 +2825,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
2802
2825
  IconDirective,
2803
2826
  TabComponent,
2804
2827
  TabsOutletComponent
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" }]
2828
+ ], 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@if (showTabBar) {\n <c8y-tabs-outlet\n class=\"elevation-none m-b-16\"\n outletName=\"assetPropertiesDrawerTabs\"\n orientation=\"horizontal\"\n ></c8y-tabs-outlet>\n\n @if (showRegular) {\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\n @if (showComputed) {\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}\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" }]
2806
2829
  }], propDecorators: { title: [{
2807
2830
  type: Input
2808
2831
  }], savePropertySelection: [{
@@ -2818,11 +2841,12 @@ class CustomPropertiesDrawerService {
2818
2841
  constructor() {
2819
2842
  this.bottomDrawerService = inject(BottomDrawerService);
2820
2843
  }
2821
- async getCustomProperties(asset) {
2844
+ async getCustomProperties(asset, options) {
2822
2845
  const drawer = this.bottomDrawerService.openDrawer(CustomPropertiesDrawerComponent, {
2823
2846
  disableClickOutside: true,
2824
2847
  initialState: {
2825
- asset
2848
+ asset,
2849
+ hiddenTabs: options?.hiddenTabs ?? {}
2826
2850
  }
2827
2851
  });
2828
2852
  try {