@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.
- package/asset-properties/index.d.ts +16 -42
- package/asset-properties/index.d.ts.map +1 -1
- package/echart/index.d.ts +3 -1
- package/echart/index.d.ts.map +1 -1
- package/echart/models/index.d.ts +2 -1
- package/echart/models/index.d.ts.map +1 -1
- package/fesm2022/c8y-ngx-components-asset-properties.mjs +67 -21
- package/fesm2022/c8y-ngx-components-asset-properties.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-echart-models.mjs +12 -1
- package/fesm2022/c8y-ngx-components-echart-models.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-echart.mjs +32 -38
- package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +36 -27
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +29 -1
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/index.d.ts +65 -2
- package/index.d.ts.map +1 -1
- package/locales/de.po +3 -0
- package/locales/es.po +3 -0
- package/locales/fr.po +3 -0
- package/locales/ja_JP.po +3 -0
- package/locales/ko.po +3 -0
- package/locales/nl.po +3 -0
- package/locales/pl.po +3 -0
- package/locales/pt_BR.po +3 -0
- package/locales/zh_CN.po +3 -0
- package/locales/zh_TW.po +3 -0
- package/package.json +1 -1
- package/widgets/implementations/datapoints-graph/index.d.ts +1 -0
- package/widgets/implementations/datapoints-graph/index.d.ts.map +1 -1
|
@@ -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
|
|
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
|
-
|
|
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,
|
|
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":";;;;;;;;;;;;;
|
|
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
|
package/echart/index.d.ts.map
CHANGED
|
@@ -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;;;
|
|
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;;;"}
|
package/echart/models/index.d.ts
CHANGED
|
@@ -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;;;
|
|
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
|
|
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
|
|
807
|
-
if (asset
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
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
|
-
|
|
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
|
}
|