@c8y/ngx-components 1023.67.0 → 1023.68.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.
@@ -2,11 +2,11 @@ import * as i0 from '@angular/core';
2
2
  import { Injector, Type, TemplateRef, ElementRef, ViewContainerRef, OnInit, OnChanges, OnDestroy, EventEmitter, SimpleChanges, InjectionToken } from '@angular/core';
3
3
  import * as _c8y_client from '@c8y/client';
4
4
  import { IIdentified, IManagedObject, IAlarm, IEvent, Paging } from '@c8y/client';
5
+ import { C8yPropertyType, C8yJsonSchema, BottomDrawerRef, ExtensionPointForPlugins, PluginsResolveService, GenericHookType, GenericHookOptions } from '@c8y/ngx-components';
5
6
  import { Observable, BehaviorSubject } from 'rxjs';
6
7
  import { CdkDragDrop } from '@angular/cdk/drag-drop';
7
8
  import { CdkTree } from '@angular/cdk/tree';
8
9
  import { DataSource } from '@angular/cdk/collections';
9
- import { BottomDrawerRef, ExtensionPointForPlugins, PluginsResolveService, GenericHookType, GenericHookOptions } from '@c8y/ngx-components';
10
10
  import { Router } from '@angular/router';
11
11
  import { ControlValueAccessor } from '@angular/forms';
12
12
  import { AssetSelectionChangeEvent } from '@c8y/ngx-components/assets-navigator';
@@ -170,37 +170,6 @@ declare const RESULT_TYPES: {
170
170
  label: "Value, unit and time";
171
171
  };
172
172
  };
173
- type C8yPropertyType = 'string' | 'number' | 'integer' | 'boolean' | 'object' | 'array' | 'null' | 'date' | 'enum' | 'file' | 'c8y_JsonSchema' | ['string', 'null'] | Array<C8yPropertyType>;
174
- type C8yPropertyFormat = 'datetime' | 'hidden' | 'textarea';
175
- interface C8yJsonSchemaProperty {
176
- type: C8yPropertyType;
177
- title?: string;
178
- label?: string;
179
- description?: string;
180
- key?: string;
181
- name?: string;
182
- minimum?: number;
183
- maximum?: number;
184
- minLength?: number;
185
- maxLength?: number;
186
- pattern?: string;
187
- required?: boolean;
188
- readOnly?: boolean;
189
- printFormat?: C8yPropertyFormat;
190
- 'x-schema-form'?: {
191
- type: string;
192
- };
193
- properties?: Record<string, C8yJsonSchemaProperty>;
194
- items?: C8yJsonSchemaProperty;
195
- 'x-show-if-any-available'?: {
196
- contextPath: string;
197
- }[];
198
- [key: string]: any;
199
- }
200
- interface C8yJsonSchema {
201
- properties: Record<string, C8yJsonSchemaProperty>;
202
- required?: string[];
203
- }
204
173
  interface BaseProperty {
205
174
  name: string;
206
175
  label: string;
@@ -233,11 +202,14 @@ type AssetPropertyTab = keyof Required<HiddenTabs>;
233
202
  */
234
203
  declare class AssetPropertiesService {
235
204
  private readonly FRAGMENTS_TO_OMIT;
205
+ private readonly MODEL_API_FEATURE_KEY;
236
206
  private inventoryService;
237
207
  private assetTypesRealtimeService;
238
208
  private groupService;
239
209
  private alert;
240
210
  private computedPropertiesService;
211
+ private featureCacheService;
212
+ private assetDefinitionsService;
241
213
  /**
242
214
  * Filters added properties to only include those compatible with the given asset.
243
215
  * Currently only checks compatibility for computed properties.
@@ -247,11 +219,13 @@ declare class AssetPropertiesService {
247
219
  */
248
220
  filterCompatibleProperties(allAddedProperties: AssetPropertyType[], asset: IManagedObject): Promise<AssetPropertyType[]>;
249
221
  /**
250
- * Retrieves properties for an asset from asset library.
222
+ * Retrieves properties for an asset.
223
+ * First, it tries to get properties from definitions API (if enabled),
224
+ * then falls back to asset library.
251
225
  * @param asset The asset for which to retrieve custom properties.
252
226
  * @returns A promise resolving to the list of custom properties.
253
227
  */
254
- requestAssetProperties(asset: IManagedObject): Promise<IManagedObject[]>;
228
+ getAssetProperties(asset: IManagedObject): Promise<AssetPropertyType[]>;
255
229
  /**
256
230
  * Retrieves the initial set of properties for an asset, based on its type.
257
231
  * @param asset The asset for which to retrieve properties.
@@ -270,18 +244,12 @@ declare class AssetPropertiesService {
270
244
  * @returns A promise resolving to the list of group properties.
271
245
  */
272
246
  getGroupProperties(asset: IManagedObject): Promise<AssetPropertyType[]>;
273
- /**
274
- * Retrieves properties for a regular asset.
275
- * @param asset The asset for which to retrieve properties.
276
- * @returns A promise resolving to the list of asset properties.
277
- */
278
- getAssetProperties(asset: IManagedObject): Promise<AssetPropertyType[]>;
279
247
  /**
280
248
  * Categorizes custom properties into simple and complex types.
281
249
  * @param properties The custom properties to categorize.
282
250
  * @returns The categorized custom properties.
283
251
  */
284
- categorizeCustomProperties(properties: IManagedObject[]): AssetPropertyType[];
252
+ categorizeCustomProperties(properties: IManagedObject[] | AssetPropertyType[]): AssetPropertyType[];
285
253
  /**
286
254
  * Categorizes and flattens hierarchical properties into simple and complex types.
287
255
  * @param properties The hierarchical properties to categorize and flatten.
@@ -329,6 +297,12 @@ declare class AssetPropertiesService {
329
297
  private extractFragments;
330
298
  private shouldSkipFragment;
331
299
  private addPropertyItem;
300
+ /**
301
+ * Converts asset definition from model API into AssetPropertyType array.
302
+ * @param assetDefinition The asset definition to convert.
303
+ * @returns The converted custom properties.
304
+ */
305
+ private categorizePropertiesFromDefinition;
332
306
  static ɵfac: i0.ɵɵFactoryDeclaration<AssetPropertiesService, never>;
333
307
  static ɵprov: i0.ɵɵInjectableDeclaration<AssetPropertiesService>;
334
308
  }
@@ -978,5 +952,5 @@ declare class AssetPropertySelectorComponent implements OnInit, ControlValueAcce
978
952
  }
979
953
 
980
954
  export { AssetPropertiesService, AssetPropertyActionDirective, AssetPropertyListComponent, AssetPropertySelectorComponent, AssetPropertySelectorDrawerComponent, AssetPropertyTabsComponent, ComputedPropertiesService, CustomPropertiesDrawerService, HOOK_COMPUTED_PROPERTY, RESULT_TYPES, defaultAssetProperties, defaultAssetPropertyListConfig, hookComputedProperty };
981
- export type { AssetPropertyListConfig, AssetPropertyTab, AssetPropertyType, BaseProperty, C8yJsonSchema, C8yJsonSchemaProperty, C8yPropertyType, ComputedPropertyComponent, ComputedPropertyContextType, ComputedPropertyContextValue, ComputedPropertyDefinition, HiddenTabs, NestedPropertyFields, ValueCallbackMetadata };
955
+ export type { AssetPropertyListConfig, AssetPropertyTab, AssetPropertyType, BaseProperty, ComputedPropertyComponent, ComputedPropertyContextType, ComputedPropertyContextValue, ComputedPropertyDefinition, HiddenTabs, NestedPropertyFields, ValueCallbackMetadata };
982
956
  //# 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","../../asset-properties/asset-property-tabs/asset-property-tabs.component.ts","../../asset-properties/asset-property-selector/asset-property-selector.component.ts"],"sourcesContent":[null,null,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","../../asset-properties/asset-property-tabs/asset-property-tabs.component.ts","../../asset-properties/asset-property-selector/asset-property-selector.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
package/echart/index.d.ts CHANGED
@@ -65,6 +65,7 @@ type GraphDisplayOptions = {
65
65
  sliderPositionMode?: 'compact' | 'default';
66
66
  smoothLines?: boolean;
67
67
  };
68
+ declare const CHART_DISPLAY_OPTION_DEFAULTS: Required<Pick<GraphDisplayOptions, 'displayMarkedLine' | 'displayMarkedPoint' | 'mergeMatchingDatapoints' | 'forceMergeDatapoints' | 'setYaxisStartToZero' | 'showLabelAndUnit' | 'showSlider' | 'smoothLines' | 'numberOfDecimalPlaces'>>;
68
69
  type AlarmDetailsExtended = AlarmDetails & {
69
70
  __hidden?: boolean;
70
71
  __severity?: SeverityType[];
@@ -313,6 +314,7 @@ declare class ChartsComponent implements OnChanges, OnInit, OnDestroy {
313
314
  * @param alarmOrEvent - The alarm or event to toggle visibility for.
314
315
  */
315
316
  toggleAlarmEventSeriesVisibility(alarmOrEvent: AlarmOrEventExtended): void;
317
+ private get displayOptions();
316
318
  private getDefaultChartOptions;
317
319
  private getMarkedAreaData;
318
320
  private getMarkedLineData;
@@ -403,6 +405,6 @@ declare class SelectAggregatedDatapointComponent implements OnChanges {
403
405
  static ɵcmp: i0.ɵɵComponentDeclaration<SelectAggregatedDatapointComponent, "c8y-select-aggregated-datapoint", never, { "activeDatapoints": { "alias": "activeDatapoints"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
404
406
  }
405
407
 
406
- export { CHART_VIEW_CONTEXT, ChartAlarmsService, ChartAlertsComponent, ChartEventsService, ChartHelpersService, ChartsComponent, DATE_SELECTION_EXTENDED, ICONS_MAP, LEGEND_DISPLAY_OPTIONS, PRODUCT_EXPERIENCE_DATA_EXPLORER_AND_GRAPH, REALTIME_TEXTS, SEVERITY_LABELS, SelectAggregatedDatapointComponent };
408
+ export { CHART_DISPLAY_OPTION_DEFAULTS, CHART_VIEW_CONTEXT, ChartAlarmsService, ChartAlertsComponent, ChartEventsService, ChartHelpersService, ChartsComponent, DATE_SELECTION_EXTENDED, ICONS_MAP, LEGEND_DISPLAY_OPTIONS, PRODUCT_EXPERIENCE_DATA_EXPLORER_AND_GRAPH, REALTIME_TEXTS, SEVERITY_LABELS, SelectAggregatedDatapointComponent };
407
409
  export type { AlarmDetailsExtended, AlarmOrEventExtended, CustomSeriesOptions, DatapointAxisType, DatapointChartRenderType, DatapointLineType, DatapointRealtimeMeasurements, DatapointsGraphKPIDetails, DatapointsGraphWidgetConfig, DatapointsGraphWidgetTimeProps, DateString, DpValuesItem, DpWithValues, EchartsCustomOptions, EchartsSeriesOptions, EventDetailsExtended, GraphDisplayOptions, LegendDisplayOptionItem, MarkLineData, MarkPointData, MeasurementSeries, SelectableDatapoint, SeriesDatapointInfo, SeriesValue, SeverityType, TimeContextProps, YAxisOptions, customSeriesMarkLineData, customSeriesMarkPointData };
408
410
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../echart/models/datapoints-graph-widget.model.ts","../../echart/models/chart.model.ts","../../echart/models/svg-icons.model.ts","../../echart/charts.component.ts","../../echart/services/chart-alarms.service.ts","../../echart/services/chart-events.service.ts","../../echart/services/chart-helpers.service.ts","../../echart/chart-alerts/chart-alerts.component.ts","../../echart/select-aggregated-datapoint/select-aggregated-datapoint.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;AAmBM;;;;AAKA;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;AAOA;;AAEA;AACA;AACA;AACA;;;AAGA;;;;;;;;;;AAWI;;;;;;;;;;AAUJ;;;AAII;;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;;AChND;;;;;;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;;;;;;;;;;;AC0DA;AA4BE;;AAEA;;;;;;;;AAQA;;;;;;AAMK;AACK;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEV;;;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AAsDA;;;;;AAoKuB;;;AAA4B;AAiDnD;AAOA;AAIA;AAwBA;AA6BA;AAWA;;;;;;AAMG;AACH;AAoCA;;;;;AAKG;AACH;AA4BA;AAeA;AA0BA;;AA8DA;;;AAmOA;AAiEA;AAsDA;AAkBA;AAWA;AAYA;;;AA6BD;;ACjjCD;AAEc;AAAQ;AAEpB;;;;;AAKG;AACG;;;AAqCP;;AC/CD;AAEc;AAAQ;AAEpB;;;;;AAKG;AACG;;;AAuBP;;AChCD;AAEE;;;;AAIG;;;;;;;;;;;AAcH;AAcA;;;AAGD;;AC9BD;;AAQmC;AAEjC;;;;AAQD;;ACVD;;AAqBW;AACC;AAEV;;AAGA;;;AAiBA;;;AAgBD;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../echart/models/datapoints-graph-widget.model.ts","../../echart/models/chart.model.ts","../../echart/models/svg-icons.model.ts","../../echart/charts.component.ts","../../echart/services/chart-alarms.service.ts","../../echart/services/chart-events.service.ts","../../echart/services/chart-helpers.service.ts","../../echart/chart-alerts/chart-alerts.component.ts","../../echart/select-aggregated-datapoint/select-aggregated-datapoint.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;AAmBM;;;;AAKA;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;AAOA;;AAEA;AACA;AACA;AACA;;;AAGA;;;;;;;;;;AAWI;;;;;;;;;;AAUJ;;;AAIF;AAyBM;;AAEJ;AACA;;AAGI;;;AAIN;;AAEG;;AAGG;AAIN;AACE;AACA;AACD;AAED;AACM;;AAEL;AAED;;;;AAIM;;;;;;;AAQL;AAED;;;;;AAUE;;;;;AAGD;;AAGC;;AAEA;;AAEE;;AAEF;;;AACD;;;;;;;AAQC;AACA;AACD;AAEK;AACA;AAEA;AAEA;AAEN;;;;AAKA;;;;;;;;;;;;;AAcM;AACA;AAEA;;;;AAKA;;;;;;;;;;;AAYL;AAED;;;;;;;;AAUE;AACA;AACD;;ACzOD;;;;;;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;;;;;;;;;;;AC4DA;AA4BE;;AAEA;;;;;;;;AAQA;;;;;;AAMK;AACK;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEV;;;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AAsDA;;;;;AA2JuB;;;AAA4B;AAiDnD;AAOA;AAIA;AAwBA;AA6BA;AAWA;;;;;;AAMG;AACH;AAoCA;;;;;AAKG;AACH;;AA6CA;AAeA;AA0BA;;AA8DA;;;AA6MA;AAiEA;AAsDA;AAkBA;AAWA;AAYA;;;AA6BD;;ACriCD;AAEc;AAAQ;AAEpB;;;;;AAKG;AACG;;;AAqCP;;AC/CD;AAEc;AAAQ;AAEpB;;;;;AAKG;AACG;;;AAuBP;;AChCD;AAEE;;;;AAIG;;;;;;;;;;;AAcH;AAcA;;;AAGD;;AC9BD;;AAQmC;AAEjC;;;;AAQD;;ACVD;;AAqBW;AACC;AAEV;;AAGA;;;AAiBA;;;AAgBD;;;"}
@@ -58,6 +58,7 @@ type GraphDisplayOptions = {
58
58
  sliderPositionMode?: 'compact' | 'default';
59
59
  smoothLines?: boolean;
60
60
  };
61
+ declare const CHART_DISPLAY_OPTION_DEFAULTS: Required<Pick<GraphDisplayOptions, 'displayMarkedLine' | 'displayMarkedPoint' | 'mergeMatchingDatapoints' | 'forceMergeDatapoints' | 'setYaxisStartToZero' | 'showLabelAndUnit' | 'showSlider' | 'smoothLines' | 'numberOfDecimalPlaces'>>;
61
62
  type AlarmDetailsExtended = AlarmDetails & {
62
63
  __hidden?: boolean;
63
64
  __severity?: SeverityType[];
@@ -232,6 +233,6 @@ declare const ICONS_MAP: {
232
233
  WARNING: ICONS;
233
234
  };
234
235
 
235
- export { CHART_VIEW_CONTEXT, DATE_SELECTION_EXTENDED, ICONS_MAP, LEGEND_DISPLAY_OPTIONS, PRODUCT_EXPERIENCE_DATA_EXPLORER_AND_GRAPH, REALTIME_TEXTS, SEVERITY_LABELS };
236
+ export { CHART_DISPLAY_OPTION_DEFAULTS, CHART_VIEW_CONTEXT, DATE_SELECTION_EXTENDED, ICONS_MAP, LEGEND_DISPLAY_OPTIONS, PRODUCT_EXPERIENCE_DATA_EXPLORER_AND_GRAPH, REALTIME_TEXTS, SEVERITY_LABELS };
236
237
  export type { AlarmDetailsExtended, AlarmOrEventExtended, CustomSeriesOptions, DatapointAxisType, DatapointChartRenderType, DatapointLineType, DatapointRealtimeMeasurements, DatapointsGraphKPIDetails, DatapointsGraphWidgetConfig, DatapointsGraphWidgetTimeProps, DateString, DpValuesItem, DpWithValues, EchartsCustomOptions, EchartsSeriesOptions, EventDetailsExtended, GraphDisplayOptions, LegendDisplayOptionItem, MarkLineData, MarkPointData, MeasurementSeries, SelectableDatapoint, SeriesDatapointInfo, SeriesValue, SeverityType, TimeContextProps, YAxisOptions, customSeriesMarkLineData, customSeriesMarkPointData };
237
238
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../../echart/models/datapoints-graph-widget.model.ts","../../../echart/models/chart.model.ts","../../../echart/models/svg-icons.model.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":";;;;;;;;AAmBM;;;;AAKA;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;AAOA;;AAEA;AACA;AACA;AACA;;;AAGA;;;;;;;;;;AAWI;;;;;;;;;;AAUJ;;;AAII;;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;;AChND;;;;;;AAMG;AACH;AACE;;;;AAIA;;;AACD;;;AAIA;;;AAIA;AAEK;AACA;AACJ;AACE;AACD;AACF;;AAGC;AACA;AACD;AAED;AACE;AACA;AACA;AACD;;AC3CD;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAED;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../../echart/models/datapoints-graph-widget.model.ts","../../../echart/models/chart.model.ts","../../../echart/models/svg-icons.model.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":";;;;;;;;AAmBM;;;;AAKA;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;AAOA;;AAEA;AACA;AACA;AACA;;;AAGA;;;;;;;;;;AAWI;;;;;;;;;;AAUJ;;;AAIF;AAyBM;;AAEJ;AACA;;AAGI;;;AAIN;;AAEG;;AAGG;AAIN;AACE;AACA;AACD;AAED;AACM;;AAEL;AAED;;;;AAIM;;;;;;;AAQL;AAED;;;;;AAUE;;;;;AAGD;;AAGC;;AAEA;;AAEE;;AAEF;;;AACD;;;;;;;AAQC;AACA;AACD;AAEK;AACA;AAEA;AAEA;AAEN;;;;AAKA;;;;;;;;;;;;;AAcM;AACA;AAEA;;;;AAKA;;;;;;;;;;;AAYL;AAED;;;;;;;;AAUE;AACA;AACD;;ACzOD;;;;;;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;;;;;;;;;;;;"}
@@ -3,7 +3,7 @@ import * as i0 from '@angular/core';
3
3
  import { InjectionToken, inject, Injectable, Directive, Injector, runInInjectionContext, Pipe, viewChildren, ViewContainerRef, effect, reflectComponentType, Input, Component, viewChild, EventEmitter, ContentChild, Output, forwardRef } from '@angular/core';
4
4
  import { InventoryService } from '@c8y/client';
5
5
  import * as i2 from '@c8y/ngx-components';
6
- import { hookGeneric, ExtensionPointForPlugins, GroupService, fromTriggerOnce, getInjectedHooks, stateToFactory, AssetTypesRealtimeService, AlertService, isPromise, IconDirective, C8yTranslatePipe, ListGroupModule, EmptyStateComponent, FormsModule as FormsModule$1, LoadMoreComponent, TabComponent, TabsOutletComponent, BottomDrawerRef, BottomDrawerService } from '@c8y/ngx-components';
6
+ import { hookGeneric, ExtensionPointForPlugins, GroupService, fromTriggerOnce, getInjectedHooks, stateToFactory, AssetTypesRealtimeService, AlertService, FeatureCacheService, AssetDefinitionsService, isPromise, IconDirective, C8yTranslatePipe, ListGroupModule, EmptyStateComponent, FormsModule as FormsModule$1, LoadMoreComponent, TabComponent, TabsOutletComponent, BottomDrawerRef, BottomDrawerService } from '@c8y/ngx-components';
7
7
  import { isEqual, omit, 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';
@@ -767,11 +767,14 @@ class AssetPropertiesService {
767
767
  'c8y_Kpi_Migrated',
768
768
  /^c8y_Dashboard!\d+/
769
769
  ];
770
+ this.MODEL_API_FEATURE_KEY = 'dtm.asset-api';
770
771
  this.inventoryService = inject(InventoryService);
771
772
  this.assetTypesRealtimeService = inject(AssetTypesRealtimeService);
772
773
  this.groupService = inject(GroupService);
773
774
  this.alert = inject(AlertService);
774
775
  this.computedPropertiesService = inject(ComputedPropertiesService);
776
+ this.featureCacheService = inject(FeatureCacheService);
777
+ this.assetDefinitionsService = inject(AssetDefinitionsService);
775
778
  }
776
779
  /**
777
780
  * Filters added properties to only include those compatible with the given asset.
@@ -799,22 +802,39 @@ class AssetPropertiesService {
799
802
  return compatibleProperties;
800
803
  }
801
804
  /**
802
- * Retrieves properties for an asset from asset library.
805
+ * Retrieves properties for an asset.
806
+ * First, it tries to get properties from definitions API (if enabled),
807
+ * then falls back to asset library.
803
808
  * @param asset The asset for which to retrieve custom properties.
804
809
  * @returns A promise resolving to the list of custom properties.
805
810
  */
806
- async requestAssetProperties(asset) {
807
- if (asset && asset.type) {
808
- const assetType = await firstValueFrom(this.assetTypesRealtimeService.getAssetTypeByName$(asset.type));
809
- if (assetType) {
810
- const { data } = await this.inventoryService.childAdditionsList(assetType, {
811
- pageSize: 2000,
812
- query: "$filter=(has('c8y_IsAssetProperty'))"
813
- });
814
- return data;
811
+ async getAssetProperties(asset) {
812
+ if (!asset?.type) {
813
+ return [];
814
+ }
815
+ const isModelApiEnabled = await firstValueFrom(this.featureCacheService.getFeatureState(this.MODEL_API_FEATURE_KEY));
816
+ if (isModelApiEnabled) {
817
+ try {
818
+ const assetDefinition = await this.assetDefinitionsService.getByIdentifier(asset.type);
819
+ if (assetDefinition) {
820
+ return this.categorizePropertiesFromDefinition(assetDefinition);
821
+ }
822
+ }
823
+ catch {
824
+ // do nothing- fallback to asset library
815
825
  }
816
826
  }
817
- return [];
827
+ const assetType = await firstValueFrom(this.assetTypesRealtimeService.getAssetTypeByName$(asset.type));
828
+ if (assetType) {
829
+ const { data } = await this.inventoryService.childAdditionsList(assetType, {
830
+ pageSize: 2000,
831
+ query: "$filter=(has('c8y_IsAssetProperty'))"
832
+ });
833
+ return this.categorizeCustomProperties(data);
834
+ }
835
+ else {
836
+ return [];
837
+ }
818
838
  }
819
839
  /**
820
840
  * Retrieves the initial set of properties for an asset, based on its type.
@@ -852,15 +872,6 @@ class AssetPropertiesService {
852
872
  async getGroupProperties(asset) {
853
873
  return this.getManagedObjectProperties(asset);
854
874
  }
855
- /**
856
- * Retrieves properties for a regular asset.
857
- * @param asset The asset for which to retrieve properties.
858
- * @returns A promise resolving to the list of asset properties.
859
- */
860
- async getAssetProperties(asset) {
861
- const customProperties = this.categorizeCustomProperties(await this.requestAssetProperties(asset)) || [];
862
- return customProperties;
863
- }
864
875
  /**
865
876
  * Categorizes custom properties into simple and complex types.
866
877
  * @param properties The custom properties to categorize.
@@ -1071,6 +1082,41 @@ class AssetPropertiesService {
1071
1082
  }
1072
1083
  });
1073
1084
  }
1085
+ /**
1086
+ * Converts asset definition from model API into AssetPropertyType array.
1087
+ * @param assetDefinition The asset definition to convert.
1088
+ * @returns The converted custom properties.
1089
+ */
1090
+ categorizePropertiesFromDefinition(assetDefinition) {
1091
+ if (!assetDefinition?.jsonSchema?.properties) {
1092
+ return [];
1093
+ }
1094
+ const { properties, definitions } = assetDefinition.jsonSchema;
1095
+ const propertyObjects = [];
1096
+ for (const [propertyName, propertySchema] of Object.entries(properties)) {
1097
+ let resolvedSchema = propertySchema;
1098
+ // Resolve $ref if present
1099
+ if (propertySchema.$ref && definitions) {
1100
+ const refPath = propertySchema.$ref.replace('#/definitions/', '');
1101
+ resolvedSchema = definitions[refPath] || propertySchema;
1102
+ }
1103
+ if (!resolvedSchema || !resolvedSchema.type) {
1104
+ continue;
1105
+ }
1106
+ const propertyObject = {
1107
+ name: propertyName,
1108
+ label: resolvedSchema.title || propertyName,
1109
+ c8y_JsonSchema: {
1110
+ properties: {
1111
+ [propertyName]: resolvedSchema
1112
+ }
1113
+ },
1114
+ type: resolvedSchema.type
1115
+ };
1116
+ propertyObjects.push(propertyObject);
1117
+ }
1118
+ return this.categorizeCustomProperties(propertyObjects);
1119
+ }
1074
1120
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AssetPropertiesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1075
1121
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AssetPropertiesService, providedIn: 'root' }); }
1076
1122
  }