@c8y/ngx-components 1023.63.0 → 1023.64.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/asset-properties/index.d.ts +2 -1
  2. package/asset-properties/index.d.ts.map +1 -1
  3. package/datapoints-export-selector/index.d.ts +213 -48
  4. package/datapoints-export-selector/index.d.ts.map +1 -1
  5. package/echart/index.d.ts +1 -0
  6. package/echart/index.d.ts.map +1 -1
  7. package/fesm2022/c8y-ngx-components-asset-properties.mjs +22 -5
  8. package/fesm2022/c8y-ngx-components-asset-properties.mjs.map +1 -1
  9. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs +568 -138
  10. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -1
  11. package/fesm2022/c8y-ngx-components-echart.mjs +6 -3
  12. package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
  13. package/fesm2022/c8y-ngx-components-global-context.mjs +36 -1
  14. package/fesm2022/c8y-ngx-components-global-context.mjs.map +1 -1
  15. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-list.mjs +80 -0
  16. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-list.mjs.map +1 -0
  17. package/fesm2022/c8y-ngx-components-widgets-definitions.mjs +1 -0
  18. package/fesm2022/c8y-ngx-components-widgets-definitions.mjs.map +1 -1
  19. package/fesm2022/c8y-ngx-components-widgets-exports.mjs +8 -1
  20. package/fesm2022/c8y-ngx-components-widgets-exports.mjs.map +1 -1
  21. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-list.mjs +702 -0
  22. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-list.mjs.map +1 -0
  23. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +3 -110
  24. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs.map +1 -1
  25. package/fesm2022/c8y-ngx-components.mjs +116 -6
  26. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  27. package/global-context/index.d.ts +2 -0
  28. package/global-context/index.d.ts.map +1 -1
  29. package/index.d.ts +59 -2
  30. package/index.d.ts.map +1 -1
  31. package/locales/de.po +94 -23
  32. package/locales/es.po +96 -23
  33. package/locales/fr.po +95 -23
  34. package/locales/ja_JP.po +82 -23
  35. package/locales/ko.po +97 -23
  36. package/locales/locales.pot +62 -11
  37. package/locales/nl.po +94 -23
  38. package/locales/pl.po +98 -23
  39. package/locales/pt_BR.po +97 -23
  40. package/locales/zh_CN.po +98 -23
  41. package/locales/zh_TW.po +98 -23
  42. package/package.json +1 -1
  43. package/widgets/cockpit-exports/index.d.ts +6 -0
  44. package/widgets/cockpit-exports/index.d.ts.map +1 -1
  45. package/widgets/definitions/datapoints-list/index.d.ts +51 -0
  46. package/widgets/definitions/datapoints-list/index.d.ts.map +1 -0
  47. package/widgets/definitions/index.d.ts +1 -0
  48. package/widgets/definitions/index.d.ts.map +1 -1
  49. package/widgets/device-management-exports/index.d.ts +6 -0
  50. package/widgets/device-management-exports/index.d.ts.map +1 -1
  51. package/widgets/exports/index.d.ts +8 -1
  52. package/widgets/exports/index.d.ts.map +1 -1
  53. package/widgets/implementations/alarms/index.d.ts +2 -0
  54. package/widgets/implementations/alarms/index.d.ts.map +1 -1
  55. package/widgets/implementations/datapoints-list/index.d.ts +286 -0
  56. package/widgets/implementations/datapoints-list/index.d.ts.map +1 -0
  57. package/widgets/implementations/datapoints-table/index.d.ts +5 -66
  58. package/widgets/implementations/datapoints-table/index.d.ts.map +1 -1
@@ -309,9 +309,10 @@ declare class AssetPropertiesService {
309
309
  * Checks if two properties match for selection purposes.
310
310
  * @param property1 First property to compare.
311
311
  * @param property2 Second property to compare.
312
+ * @param omitProperties Optional list of property keys to omit from comparison (e.g., ['instanceId','configuredAssetId']).
312
313
  * @returns True if properties match.
313
314
  */
314
- propertiesMatch(property1: AssetPropertyType, property2: AssetPropertyType): boolean;
315
+ propertiesMatch(property1: AssetPropertyType, property2: AssetPropertyType, omitProperties?: (keyof AssetPropertyType)[]): boolean;
315
316
  /**
316
317
  * Retrieves custom properties from the properties library, optionally filtered by search text.
317
318
  * @param searchText Optional search text to filter properties.
@@ -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":";;;;;;;;;;;;;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;;;;;;AAMG;;AAEH;;;;;AAKG;AACH;AACA;;;AAGG;;AAEH;;AAEG;;AAEH;;;AAGG;;AAEH;;;;AAIG;AACH;AACA;;AAEG;;AAEH;;;;;AAKG;AACH;AACA;;AAEG;;AAEH;;AAEG;;AAEH;;AAEG;;;AAIL;AAaA;AAwnBA;;;;;;;;;;;;;;;;;AAKM;AAeN;;;;;;;;;;;;;;;;AAiBE;;;;;AAKA;;AAAmD;AACnD;AACD;;AAGC;AACA;AACD;;;;;;;;;;;;;AAcC;AACD;AAEK;;;;AAIL;;AAIK;;;;;AAEA;;ACl2BN;;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;;;;;;AAMG;AACH;AAgBA;;;;AAIG;AACG;;;;;AA2CN;AAYA;AAoCA;AAIA;AAqCA;AASA;;;AAYD;;ACpZD;;AAEG;AACH;;AAMQ;;AAEiC;;;AAiBxC;;;;;;;;ACxBC;;AAEG;;AAEJ;AAED;;;AAOE;AAIA;AAIA;AAIA;AAGD;;ACpCD;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;AAcA;;;AAGG;AACH;AAiBA;;;;AAIG;AACH;AAsBA;;;;AAIG;AACH;AAyBA;;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;;AAgDH;AA+CA;;AAEG;;AAQH;;;;AAIG;AACH;AAcA;;;;;AAKG;AACH;AAWA;;AAEG;AACH;AAeA;;AAEG;AACH;AAsDA;;AAEG;AACH;AAgCA;;AAEG;AACH;AAoCA;;;AAGG;AACH;AAqBA;;AAEG;AACH;AAiBA;;;;AAIG;AACH;AAsBA;;;AAGG;AACH;AAuDA;;;;AAIG;AACH;;;AAOD;;AC/kCD;;;AAGG;AACH;AAUE;;AAEG;AACM;AACT;;AAEG;;AAEH;;AAEG;;AAEH;;AAEG;;AAEH;;AAEG;;AAEH;;AAEG;AACH;AACA;;AAEK;AACL;AACA;;AAEG;AACH;AACA;;AAEG;AACH;AAEA;;AAEG;AACH;AACA;;AAEG;AACH;AAIA;;AAEG;;AAEH;;AAEG;;AAGH;AAIA;;;AAGG;AACH;AAIA;;AAEG;AACH;AAKA;;AAEG;AACH;AAKA;;;AAGG;AACH;;;AAKD;;ACtFD;AAIA;AAOA;AAQI;;;AAOF;;;;AAIG;AACH;;;;AA0CA;AAoBA;;;AAOD;;AChGD;;;AAGG;AACH;AAkBE;;AAEG;;AAEH;;AAEG;;AAUH;;AAEG;;AAEH;;AAEG;;AAEH;;AAEG;AACM;AACT;;AAEG;AACM;AAET;;AAEG;AACO;AAEV;AAKA;AACA;;AAGA;AAGA;;AAKA;AAGA;;AAKA;AAGA;;;AAMA;AACA;AACA;;;;;;;;AAsBA;AACA;;;;;;;AAwDA;;;AAGG;AACH;;;AAgCA;;;;;AAsGA;AAWA;;AAEG;AACH;AAcA;;AAEG;AACH;AAkDA;;;;AAIG;AACH;AAQA;;;AASD;;ACvaD;;;AAGG;AACH;AA4BE;;AAEG;;AAEH;;AAEG;;AAEH;;AAEG;;AAEH;;AAEG;AACM;AACT;;AAEG;AACM;AACT;;AAEG;AACM;AACT;;AAEG;AACM;AAET;;AAEG;;AAEH;;AAEG;AACH;;;;;;;;AAWA;AAUA;;AAEG;AACH;AAIA;;AAEG;;AAKH;;AAEG;AACH;AAIA;;;AAGG;;AAcH;;;AAGG;AACH;AASA;;;AAGG;AACH;AAMA;;;AAGG;;AAaH;;;AAGG;AACH;AAOA;;AAEG;AACH;AAKA;;AAEG;AACH;AAMA;;AAEG;AACH;AAOA;;;;AAIG;;AAoFH;;;;;AAKG;AACH;AAmBA;;;;;AAKG;;;;AAaJ;;;"}
@@ -1,9 +1,10 @@
1
1
  import { MeasurementService, IFetchResponse, IMeasurementFilter, IMeasurement, ISeriesFilter, IResult, ISeries } from '@c8y/client';
2
2
  import { AggregationOption, AlertService, AggregationOptionStatus, AggregationService, GainsightService, ModalLabels } from '@c8y/ngx-components';
3
3
  import { TranslateService } from '@ngx-translate/core';
4
- import * as i0 from '@angular/core';
5
- import { OnInit, OnDestroy, EventEmitter, InjectionToken } from '@angular/core';
4
+ import * as _angular_core from '@angular/core';
5
+ import { OnInit, OnDestroy, ChangeDetectorRef, InjectionToken } from '@angular/core';
6
6
  import { SupportedIconsSuggestions } from '@c8y/ngx-components/icon-selector/icons';
7
+ import * as _angular_forms from '@angular/forms';
7
8
  import { FormBuilder, ValidatorFn } from '@angular/forms';
8
9
  import * as packages_client_lib from 'packages/client/lib';
9
10
  import { AggregationOptionStatus as AggregationOptionStatus$1, AggregationOption as AggregationOption$1 } from '@c8y/ngx-components/global-context';
@@ -60,8 +61,8 @@ declare class UtilsService {
60
61
  * ```
61
62
  */
62
63
  getFormattedDateRange(fromDate: string, toDate: string): string;
63
- static ɵfac: i0.ɵɵFactoryDeclaration<UtilsService, never>;
64
- static ɵprov: i0.ɵɵInjectableDeclaration<UtilsService>;
64
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<UtilsService, never>;
65
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<UtilsService>;
65
66
  }
66
67
 
67
68
  declare const HAS_ERROR = "has-error";
@@ -102,6 +103,7 @@ interface IDataTransformer {
102
103
  }
103
104
  interface FileGenerator {
104
105
  generateMerged?: (exportData: ExportData[], mergedExportDetails: MergedExportDetails) => BlobPart;
106
+ generateList?: (listData: ListExportDatapoint[], columns: ExportColumnConfig[]) => Promise<Blob>;
105
107
  getFileExtension(): string;
106
108
  getMimeType(): string;
107
109
  getLabel(): string;
@@ -147,6 +149,8 @@ interface DatapointDetails {
147
149
  source: string | number;
148
150
  valueFragmentSeries: string;
149
151
  valueFragmentType: string;
152
+ target?: number;
153
+ label?: string;
150
154
  }
151
155
  /**
152
156
  * Represents the data structure, which is used to be
@@ -168,10 +172,50 @@ interface DataToExportWithBackendCreatedFile {
168
172
  valueFragmentType: string;
169
173
  fetchedMeasurementsBlobFile: Blob;
170
174
  }
175
+ /**
176
+ * Represents a single datapoint row in latestWithDetails exports
177
+ * Contains latest measurement with extended datapoint information (current, target, diff, etc.)
178
+ */
179
+ interface ListExportDatapoint extends DatapointDetails {
180
+ label: string;
181
+ target: number | null;
182
+ current: number | null;
183
+ diff: number | null;
184
+ diffPercent: number | null;
185
+ unit?: string;
186
+ }
187
+ /**
188
+ * Export type to distinguish between different widget data structures
189
+ * - timeSeries: Timeline of measurements (one or many timestamps per datapoint)
190
+ * - latestWithDetails: Latest measurement with datapoint details (single entry per datapoint with metadata)
191
+ */
192
+ type ExportType = 'timeSeries' | 'latestWithDetails';
193
+ /**
194
+ * Column configuration for latestWithDetails exports
195
+ */
196
+ interface ExportColumnConfig {
197
+ id: string;
198
+ label: string;
199
+ visible: boolean;
200
+ order: number;
201
+ }
171
202
  /**
172
203
  * Base configuration for the export process.
173
204
  */
174
205
  interface ExportConfig {
206
+ /**
207
+ * Type of export - determines data structure and available options
208
+ * - 'timeSeries': Timeline of measurements with Data Scope options (Compact/Full modes)
209
+ * - 'latestWithDetails': Latest measurement with datapoint details, exports as displayed
210
+ * Defaults to 'timeSeries' for backward compatibility
211
+ */
212
+ exportType?: ExportType;
213
+ /**
214
+ * Column configuration for latestWithDetails exports
215
+ * Specifies which columns to export and their order
216
+ * Only applicable when exportType is 'latestWithDetails'
217
+ */
218
+ columns?: ExportColumnConfig[];
175
219
  aggregation?: AggregationOption;
176
220
  datapointDetails: DatapointDetails[];
177
221
  dateFrom: string;
@@ -400,6 +444,13 @@ declare class DataFetchingService {
400
444
  * @returns A promise that resolves to series data wrapped in result object.
401
445
  */
402
446
  fetchSeriesData(rawFilter: ISeriesFilter, roundSeconds?: boolean): Promise<IResult<ISeries>> | undefined;
447
+ /**
448
+ * Fetches snapshot data for list-type exports
449
+ * Gets the latest measurement for each datapoint within the date range
450
+ * @param exportConfig - The export configuration with list type
451
+ * @returns Promise with array of ListExportDatapoint objects
452
+ */
453
+ fetchAndPrepareListExportData(exportConfig: ExportConfig): Promise<ListExportDatapoint[]>;
403
454
  /**
404
455
  * Fetches and prepares measurement data for preview.
405
456
  *
@@ -415,8 +466,8 @@ declare class DataFetchingService {
415
466
  private fetchMeasurementDataForPreview;
416
467
  private fetchAndPrepareSeriesDataToExport;
417
468
  private prepareSeriesFilter;
418
- static ɵfac: i0.ɵɵFactoryDeclaration<DataFetchingService, never>;
419
- static ɵprov: i0.ɵɵInjectableDeclaration<DataFetchingService>;
469
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataFetchingService, never>;
470
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<DataFetchingService>;
420
471
  }
421
472
 
422
473
  declare class DataProcessingService {
@@ -447,6 +498,14 @@ declare class DataProcessingService {
447
498
  * @returns Provides an array of up to 5 ExportData elements (no more is needed for a preview) or an empty array,
448
499
  */
449
500
  transformToExportFileStructureForPreview(dataToExport: DataToExport[]): ExportData[];
501
+ /**
502
+ * Transforms list export data into a structured format for preview.
503
+ *
504
+ * @param listData - Array of list datapoints with snapshot values
505
+ * @param columns - Column configuration for ordering
506
+ * @returns Provides an array of up to 5 ExportData elements for preview
507
+ */
508
+ transformListDataToPreview(listData: ListExportDatapoint[], columns: ExportColumnConfig[]): ExportData[];
450
509
  /**
451
510
  * Processes a single dataToExport and transforms it into an array of ExportData.
452
511
  *
@@ -492,6 +551,26 @@ declare class DataProcessingService {
492
551
  */
493
552
  exportSeriesData(params: SeriesExportParams): Promise<Blob>;
494
553
  createFileName(source: string | number, fragmentSeries: string, fileExtension: string): string;
554
+ /**
555
+ * Generates list export blob (CSV or Excel) for snapshot data
556
+ * @param fileType - Type of file (csv or excel)
557
+ * @param listData - Array of datapoints with current values
558
+ * @param columns - Column configuration
559
+ * @param dateRange - Date range for filename generation
560
+ * @returns Promise with Blob containing the exported file
561
+ */
562
+ generateListExport(fileType: string, listData: ListExportDatapoint[], columns: ExportColumnConfig[], dateRange: {
563
+ dateFrom: string;
564
+ dateTo: string;
565
+ }): Promise<Blob>;
566
+ /**
567
+ * Processes list datapoints and transforms them into an array of ExportData.
568
+ *
569
+ * @param listData - Array of list datapoints with snapshot values
570
+ * @param columns - Column configuration for ordering
571
+ * @returns An array of ExportData representing the processed list datapoints
572
+ */
573
+ private processListDataToExport;
495
574
  /**
496
575
  * Generates a zip blob using the provided zip object.
497
576
  *
@@ -502,8 +581,8 @@ declare class DataProcessingService {
502
581
  * @returns A Promise that resolves to a Blob containing the generated zip file.
503
582
  */
504
583
  private generateZipBlob;
505
- static ɵfac: i0.ɵɵFactoryDeclaration<DataProcessingService, never>;
506
- static ɵprov: i0.ɵɵInjectableDeclaration<DataProcessingService>;
584
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataProcessingService, never>;
585
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<DataProcessingService>;
507
586
  }
508
587
 
509
588
  declare class DatapointsExportSelectorFileExporterService {
@@ -522,6 +601,18 @@ declare class DatapointsExportSelectorFileExporterService {
522
601
  getMeasurementExportedDataBlob(extension: string, dataToExport: DataToExportWithBackendCreatedFile[]): Promise<Blob | null>;
523
602
  getSeriesExportedDataBlob(fileType: string, dataToExport: DataToExport[], mergedExportDetails: MergedExportDetails): Promise<Blob | null>;
524
603
  cleanupCachedData(): void;
604
+ /**
605
+ * Generates a blob for list-type exports (snapshot data)
606
+ * @param fileType - The type of file to generate (csv or excel)
607
+ * @param listData - Array of datapoints with current values
608
+ * @param columns - Column configuration for export
609
+ * @param dateRange - Date range for the export header
610
+ * @returns Promise with Blob or null on error
611
+ */
612
+ getListExportedDataBlob(fileType: string, listData: ListExportDatapoint[], columns: ExportColumnConfig[], dateRange: {
613
+ dateFrom: string;
614
+ dateTo: string;
615
+ }): Promise<Blob | null>;
525
616
  private showZipCreationErrorAlert;
526
617
  private getMeasurementDataZipBlob;
527
618
  private createRawMeasurementExportedFiles;
@@ -537,22 +628,25 @@ declare class DatapointsExportSelectorFileExporterService {
537
628
  */
538
629
  private getSeriesDataBlob;
539
630
  private transformSeriesDataToExportableFileStructure;
540
- static ɵfac: i0.ɵɵFactoryDeclaration<DatapointsExportSelectorFileExporterService, never>;
541
- static ɵprov: i0.ɵɵInjectableDeclaration<DatapointsExportSelectorFileExporterService>;
631
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatapointsExportSelectorFileExporterService, never>;
632
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<DatapointsExportSelectorFileExporterService>;
542
633
  }
543
634
 
544
635
  declare const FILE_GENERATORS: InjectionToken<FileGenerator[]>;
545
636
  declare const dateRangeValidator: ValidatorFn;
546
637
  declare class DatapointsExportSelectorFileExporterComponent implements OnInit, OnDestroy {
547
638
  private aggregationService;
639
+ private cdr;
548
640
  private datapointsExportModalService;
549
641
  private datapointsExportSelectorFileExporterService;
550
642
  private dataFetchingService;
551
643
  private formBuilder;
552
644
  private generators;
553
645
  private gainsightService;
554
- exportConfig: ExportConfig;
555
- onDownloadButtonStateChange: EventEmitter<boolean>;
646
+ exportConfig: _angular_core.InputSignal<ExportConfig>;
647
+ onDownloadButtonStateChange: _angular_core.OutputEmitterRef<boolean>;
648
+ previewAvailabilityChange: _angular_core.OutputEmitterRef<boolean>;
649
+ previewLoadingChange: _angular_core.OutputEmitterRef<boolean>;
556
650
  /**
557
651
  * Represents aggregation selector options that are disabled.
558
652
  * This state is determined based on the current date range.
@@ -574,13 +668,26 @@ declare class DatapointsExportSelectorFileExporterComponent implements OnInit, O
574
668
  */
575
669
  hasNoExportableData: boolean;
576
670
  hasPermissionToReadAnyMeasurements: boolean;
577
- isPreviewLoading: boolean;
671
+ isCheckingPermissions: boolean;
672
+ private _isPreviewLoading;
673
+ get isPreviewLoading(): boolean;
674
+ set isPreviewLoading(value: boolean);
578
675
  /**
579
676
  * Indicates whether the full or compact type of export is selected.
580
677
  * Full type of export is based on measurement API data.
581
678
  * Compact type of export is based on series API data.
582
679
  */
583
680
  isFullTypeOfExport: boolean;
681
+ /**
682
+ * Indicates whether list-type export is selected.
683
+ * List type of export is a snapshot of current datapoints values.
684
+ */
685
+ isListTypeOfExport: boolean;
686
+ /**
687
+ * Indicates whether the Data Scope component should be visible.
688
+ * Hidden for list-type exports, visible for table-type exports.
689
+ */
690
+ isDataScopeVisible: boolean;
584
691
  previewTableData: ExportData[];
585
692
  limitExceededMessage: string;
586
693
  /**
@@ -634,7 +741,7 @@ declare class DatapointsExportSelectorFileExporterComponent implements OnInit, O
634
741
  dynamicFilesTypeMetadata: {
635
742
  [key: string]: FileTypeMetadata;
636
743
  };
637
- constructor(aggregationService: AggregationService, datapointsExportModalService: DataProcessingService, datapointsExportSelectorFileExporterService: DatapointsExportSelectorFileExporterService, dataFetchingService: DataFetchingService, formBuilder: FormBuilder, generators: FileGenerator[], gainsightService: GainsightService);
744
+ constructor(aggregationService: AggregationService, cdr: ChangeDetectorRef, datapointsExportModalService: DataProcessingService, datapointsExportSelectorFileExporterService: DatapointsExportSelectorFileExporterService, dataFetchingService: DataFetchingService, formBuilder: FormBuilder, generators: FileGenerator[], gainsightService: GainsightService);
638
745
  setFilesType(generators: FileGenerator[]): void;
639
746
  ngOnInit(): Promise<void>;
640
747
  ngOnDestroy(): void;
@@ -668,11 +775,22 @@ declare class DatapointsExportSelectorFileExporterComponent implements OnInit, O
668
775
  * @returns A Promise that resolves to a Blob representing the exported file.
669
776
  */
670
777
  exportSeriesFile(fileType: string): Promise<Blob>;
778
+ /**
779
+ * Exports list-type data (snapshot of datapoints with current values)
780
+ * @param fileType - The type of file to export (csv or excel)
781
+ * @returns Promise resolving to a Blob with the exported file
782
+ */
783
+ exportListFile(fileType: string): Promise<Blob>;
671
784
  onAggregationChange(newAggregation: AggregationOption): Promise<void>;
672
785
  onDateFromChange(updatedDate: string): void;
673
786
  onDateToChange(updatedDate: string): void;
674
787
  updateDateAndFetchData(dateType: 'dateFrom' | 'dateTo', dateInfo: DateFetchConfig): Promise<void>;
675
788
  onExportTypeChange(exportType: string): Promise<void>;
789
+ /**
790
+ * Prepares preview for list-type exports
791
+ * @param listData - Array of list datapoints
792
+ */
793
+ private prepareListPreview;
676
794
  private updateDisabledAggregationOptions;
677
795
  private createForm;
678
796
  private preparePreview;
@@ -688,7 +806,10 @@ declare class DatapointsExportSelectorFileExporterComponent implements OnInit, O
688
806
  private storeInitialChangeableConfig;
689
807
  private loadInitialChangeableConfig;
690
808
  private loadExportData;
809
+ private loadListExportData;
810
+ private loadTableExportData;
691
811
  private updateDownloadButtonState;
812
+ private emitPreviewAvailability;
692
813
  private resetFullExportRelatedProperties;
693
814
  private getInitialSelection;
694
815
  /**
@@ -711,24 +832,44 @@ declare class DatapointsExportSelectorFileExporterComponent implements OnInit, O
711
832
  */
712
833
  private update;
713
834
  private triggerGainsightDownloadEvent;
714
- static ɵfac: i0.ɵɵFactoryDeclaration<DatapointsExportSelectorFileExporterComponent, never>;
715
- static ɵcmp: i0.ɵɵComponentDeclaration<DatapointsExportSelectorFileExporterComponent, "c8y-datapoints-export-selector-file-exporter", never, { "exportConfig": { "alias": "exportConfig"; "required": false; }; }, { "onDownloadButtonStateChange": "onDownloadButtonStateChange"; }, never, never, true, never>;
835
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatapointsExportSelectorFileExporterComponent, never>;
836
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatapointsExportSelectorFileExporterComponent, "c8y-datapoints-export-selector-file-exporter", never, { "exportConfig": { "alias": "exportConfig"; "required": true; "isSignal": true; }; }, { "onDownloadButtonStateChange": "onDownloadButtonStateChange"; "previewAvailabilityChange": "previewAvailabilityChange"; "previewLoadingChange": "previewLoadingChange"; }, never, never, true, never>;
716
837
  }
717
838
 
718
839
  declare class DataPointsExportSelectorPreviewComponent {
719
- hasFetchedDataAnyValuesToExport: boolean;
720
- isPreviewLoading: boolean;
721
- previewTableData: ExportData[];
840
+ columns: _angular_core.InputSignal<ExportColumnConfig[]>;
841
+ hasFetchedDataAnyValuesToExport: _angular_core.InputSignal<boolean>;
842
+ isPreviewLoading: _angular_core.InputSignal<boolean>;
843
+ previewTableData: _angular_core.InputSignal<ExportData[]>;
722
844
  readonly MEASUREMENTS_PREVIEW_ITEMS_LIMIT = 5;
723
- static ɵfac: i0.ɵɵFactoryDeclaration<DataPointsExportSelectorPreviewComponent, never>;
724
- static ɵcmp: i0.ɵɵComponentDeclaration<DataPointsExportSelectorPreviewComponent, "c8y-datapoints-export-selector-preview", never, { "hasFetchedDataAnyValuesToExport": { "alias": "hasFetchedDataAnyValuesToExport"; "required": false; }; "isPreviewLoading": { "alias": "isPreviewLoading"; "required": false; }; "previewTableData": { "alias": "previewTableData"; "required": false; }; }, {}, never, never, true, never>;
845
+ isListPreview: _angular_core.Signal<boolean>;
846
+ listHeaders: _angular_core.Signal<string[]>;
847
+ previewRows: _angular_core.Signal<{
848
+ rowValues: string[];
849
+ time?: string | null;
850
+ source: string | number;
851
+ device_name: string;
852
+ fragment_series: string;
853
+ value?: number | null;
854
+ value_min?: number | null;
855
+ value_max?: number | null;
856
+ unit?: string | null;
857
+ }[]>;
858
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataPointsExportSelectorPreviewComponent, never>;
859
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataPointsExportSelectorPreviewComponent, "c8y-datapoints-export-selector-preview", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "hasFetchedDataAnyValuesToExport": { "alias": "hasFetchedDataAnyValuesToExport"; "required": false; "isSignal": true; }; "isPreviewLoading": { "alias": "isPreviewLoading"; "required": false; "isSignal": true; }; "previewTableData": { "alias": "previewTableData"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
725
860
  }
726
861
 
727
862
  declare class DataPointsExportSelectorDataScopeComponent {
728
- disabledAggregationOptions: AggregationOptionStatus$1;
729
- formGroup: ReturnType<DatapointsExportSelectorFileExporterComponent['createForm']>;
730
- onAggregationChange: EventEmitter<AggregationOption$1>;
731
- onExportTypeChange: EventEmitter<string>;
863
+ disabledAggregationOptions: _angular_core.InputSignal<AggregationOptionStatus$1>;
864
+ formGroup: _angular_core.InputSignal<_angular_forms.FormGroup<{
865
+ dateFrom: _angular_forms.FormControl<string>;
866
+ dateTo: _angular_forms.FormControl<string>;
867
+ aggregation: _angular_forms.FormControl<"NONE" | "MINUTELY" | "HOURLY" | "DAILY">;
868
+ exportMode: _angular_forms.FormControl<"COMPACT">;
869
+ fileTypes: _angular_forms.FormGroup<{}>;
870
+ }>>;
871
+ onAggregationChange: _angular_core.OutputEmitterRef<AggregationOption$1>;
872
+ onExportTypeChange: _angular_core.OutputEmitterRef<string>;
732
873
  readonly AGGREGATION_LABELS: {
733
874
  readonly NONE: string;
734
875
  readonly MINUTELY: string;
@@ -743,23 +884,35 @@ declare class DataPointsExportSelectorDataScopeComponent {
743
884
  readonly EXPORT_MODE_VALUES_ARR: readonly ["FULL", "COMPACT"];
744
885
  emitAggregationChange(aggregation: AggregationOption$1): void;
745
886
  emitExportTypeChange(exportType: string): void;
746
- static ɵfac: i0.ɵɵFactoryDeclaration<DataPointsExportSelectorDataScopeComponent, never>;
747
- static ɵcmp: i0.ɵɵComponentDeclaration<DataPointsExportSelectorDataScopeComponent, "c8y-datapoints-export-selector-data-scope", never, { "disabledAggregationOptions": { "alias": "disabledAggregationOptions"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; }, { "onAggregationChange": "onAggregationChange"; "onExportTypeChange": "onExportTypeChange"; }, never, never, true, never>;
887
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataPointsExportSelectorDataScopeComponent, never>;
888
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataPointsExportSelectorDataScopeComponent, "c8y-datapoints-export-selector-data-scope", never, { "disabledAggregationOptions": { "alias": "disabledAggregationOptions"; "required": true; "isSignal": true; }; "formGroup": { "alias": "formGroup"; "required": true; "isSignal": true; }; }, { "onAggregationChange": "onAggregationChange"; "onExportTypeChange": "onExportTypeChange"; }, never, never, true, never>;
748
889
  }
749
890
 
750
891
  declare class DataPointsExportSelectorFileTypesComponent {
751
- dynamicFilesTypeMetadata: {
892
+ dynamicFilesTypeMetadata: _angular_core.InputSignal<{
752
893
  [key: string]: FileTypeMetadata;
753
- };
754
- formGroup: ReturnType<DatapointsExportSelectorFileExporterComponent['createForm']>;
755
- static ɵfac: i0.ɵɵFactoryDeclaration<DataPointsExportSelectorFileTypesComponent, never>;
756
- static ɵcmp: i0.ɵɵComponentDeclaration<DataPointsExportSelectorFileTypesComponent, "c8y-datapoints-export-selector-file-types", never, { "dynamicFilesTypeMetadata": { "alias": "dynamicFilesTypeMetadata"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; }, {}, never, never, true, never>;
894
+ }>;
895
+ formGroup: _angular_core.InputSignal<_angular_forms.FormGroup<{
896
+ dateFrom: _angular_forms.FormControl<string>;
897
+ dateTo: _angular_forms.FormControl<string>;
898
+ aggregation: _angular_forms.FormControl<"NONE" | "MINUTELY" | "HOURLY" | "DAILY">;
899
+ exportMode: _angular_forms.FormControl<"COMPACT">;
900
+ fileTypes: _angular_forms.FormGroup<{}>;
901
+ }>>;
902
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataPointsExportSelectorFileTypesComponent, never>;
903
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataPointsExportSelectorFileTypesComponent, "c8y-datapoints-export-selector-file-types", never, { "dynamicFilesTypeMetadata": { "alias": "dynamicFilesTypeMetadata"; "required": false; "isSignal": true; }; "formGroup": { "alias": "formGroup"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
757
904
  }
758
905
 
759
906
  declare class DataPointsExportSelectorTimeRangeComponent implements OnInit, OnDestroy {
760
- formGroup: ReturnType<DatapointsExportSelectorFileExporterComponent['createForm']>;
761
- onDateFromChange: EventEmitter<string>;
762
- onDateToChange: EventEmitter<string>;
907
+ formGroup: _angular_core.InputSignal<_angular_forms.FormGroup<{
908
+ dateFrom: _angular_forms.FormControl<string>;
909
+ dateTo: _angular_forms.FormControl<string>;
910
+ aggregation: _angular_forms.FormControl<"NONE" | "MINUTELY" | "HOURLY" | "DAILY">;
911
+ exportMode: _angular_forms.FormControl<"COMPACT">;
912
+ fileTypes: _angular_forms.FormGroup<{}>;
913
+ }>>;
914
+ onDateFromChange: _angular_core.OutputEmitterRef<string>;
915
+ onDateToChange: _angular_core.OutputEmitterRef<string>;
763
916
  private destroy$;
764
917
  readonly DATE_FROM = "dateFrom";
765
918
  readonly DATE_TO = "dateTo";
@@ -772,8 +925,8 @@ declare class DataPointsExportSelectorTimeRangeComponent implements OnInit, OnDe
772
925
  readonly TO_DATE: "To`date`";
773
926
  ngOnInit(): void;
774
927
  ngOnDestroy(): void;
775
- static ɵfac: i0.ɵɵFactoryDeclaration<DataPointsExportSelectorTimeRangeComponent, never>;
776
- static ɵcmp: i0.ɵɵComponentDeclaration<DataPointsExportSelectorTimeRangeComponent, "c8y-datapoints-export-selector-time-range", never, { "formGroup": { "alias": "formGroup"; "required": false; }; }, { "onDateFromChange": "onDateFromChange"; "onDateToChange": "onDateToChange"; }, never, never, true, never>;
928
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataPointsExportSelectorTimeRangeComponent, never>;
929
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataPointsExportSelectorTimeRangeComponent, "c8y-datapoints-export-selector-time-range", never, { "formGroup": { "alias": "formGroup"; "required": true; "isSignal": true; }; }, { "onDateFromChange": "onDateFromChange"; "onDateToChange": "onDateToChange"; }, never, never, true, never>;
777
930
  }
778
931
 
779
932
  declare const CSVGeneratorAdapter: FileGenerator;
@@ -788,42 +941,54 @@ declare const ExcelGeneratorAdapter: FileGenerator;
788
941
 
789
942
  declare class DatapointsExportSelectorModalComponent {
790
943
  private bsModalRef;
791
- private datapointsExportSelectorFileExporterComponent;
944
+ private bsModalService;
945
+ private readonly fileExporter;
792
946
  exportConfig: ExportConfig;
793
947
  isDownloadEnabled: boolean;
948
+ isPreviewAvailable: boolean;
949
+ isPreviewLoading: boolean;
794
950
  labels: ModalLabels;
795
951
  result: Promise<boolean>;
796
952
  private _close;
797
- constructor(bsModalRef: BsModalRef);
953
+ private isPreviewModalOpen;
954
+ constructor(bsModalRef: BsModalRef, bsModalService: BsModalService);
798
955
  handleKeyboardEvent(event: KeyboardEvent): void;
799
956
  dismiss(): void;
800
957
  exportAndDownload(): Promise<void>;
958
+ openPreviewModal(): void;
801
959
  changeDownloadButtonState(isEnabled: boolean): void;
802
- static ɵfac: i0.ɵɵFactoryDeclaration<DatapointsExportSelectorModalComponent, never>;
803
- static ɵcmp: i0.ɵɵComponentDeclaration<DatapointsExportSelectorModalComponent, "c8y-datapoints-export-selector-modal", never, {}, {}, never, never, true, never>;
960
+ changePreviewAvailability(isAvailable: boolean): void;
961
+ changePreviewLoading(isLoading: boolean): void;
962
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatapointsExportSelectorModalComponent, never>;
963
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatapointsExportSelectorModalComponent, "c8y-datapoints-export-selector-modal", never, {}, {}, never, never, true, never>;
804
964
  }
805
965
 
806
966
  declare class DatapointsExportSelectorComponent {
807
967
  private bsModalService;
808
968
  private gainsightService;
809
- displayMode: 'default' | 'icon-only';
969
+ displayMode: _angular_core.InputSignal<"default" | "icon-only">;
810
970
  /**
811
971
  * CSS class for the container element.
812
972
  * Defaults to 'd-flex p-t-4 p-b-4' if not provided.
813
973
  */
814
- containerClass: string;
974
+ containerClass: _angular_core.InputSignal<string>;
815
975
  /**
816
976
  * Configuration for the export selector modal.
817
977
  */
818
- exportConfig: ExportConfig;
819
- isOpen: EventEmitter<boolean>;
978
+ exportConfig: _angular_core.InputSignal<ExportConfig>;
979
+ isOpen: _angular_core.OutputEmitterRef<boolean>;
820
980
  readonly DEFAULT_CSS_STYLE = "d-flex";
981
+ /**
982
+ * Check if export button should be disabled
983
+ * Disabled when: no config provided or no datapoints configured
984
+ */
985
+ isExportDisabled: _angular_core.Signal<boolean>;
821
986
  constructor(bsModalService: BsModalService, gainsightService: GainsightService);
822
987
  openExportModal(): Promise<void>;
823
- static ɵfac: i0.ɵɵFactoryDeclaration<DatapointsExportSelectorComponent, never>;
824
- static ɵcmp: i0.ɵɵComponentDeclaration<DatapointsExportSelectorComponent, "c8y-datapoints-export-selector", never, { "displayMode": { "alias": "displayMode"; "required": false; }; "containerClass": { "alias": "containerClass"; "required": false; }; "exportConfig": { "alias": "exportConfig"; "required": false; }; }, { "isOpen": "isOpen"; }, never, never, true, never>;
988
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatapointsExportSelectorComponent, never>;
989
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatapointsExportSelectorComponent, "c8y-datapoints-export-selector", never, { "displayMode": { "alias": "displayMode"; "required": false; "isSignal": true; }; "containerClass": { "alias": "containerClass"; "required": false; "isSignal": true; }; "exportConfig": { "alias": "exportConfig"; "required": false; "isSignal": true; }; }, { "isOpen": "isOpen"; }, never, never, true, never>;
825
990
  }
826
991
 
827
992
  export { CSVGeneratorAdapter, DataFetchingService, DataPointsExportSelectorDataScopeComponent, DataPointsExportSelectorFileTypesComponent, DataPointsExportSelectorPreviewComponent, DataPointsExportSelectorTimeRangeComponent, DataProcessingService, DatapointsExportSelectorComponent, DatapointsExportSelectorFileExporterComponent, DatapointsExportSelectorFileExporterService, DatapointsExportSelectorModalComponent, EXPORT_MODE_LABELS, EXPORT_MODE_VALUES, ExcelDataTransformer, ExcelGeneratorAdapter, FILE_COMPRESSION_TYPES_VALUES, FILE_GENERATORS, HAS_ERROR, MEASUREMENTS_PREVIEW_ITEMS_LIMIT, PRODUCT_EXPERIENCE_DATAPOINTS_EXPORT_SELECTOR, SERIES_DATA_MERGED_FILE_NAME, UtilsService, dateRangeValidator };
828
- export type { ColumnValueMap, DataToExport, DataToExportWithBackendCreatedFile, DatapointCounts, DatapointDetails, DatapointsExceedingLimit, DatapointsValuesDataMap, DateFetchConfig, ExportConfig, ExportData, ExportedFile, FileCompressionTypes, FileExportConfig, FileGenerator, FileTypeConfig, FileTypeMetadata, IDataTransformer, Measurement, MeasurementFileConfig, MergedExportDetails, MinMaxValues, ReadingValue, SeriesExportParams, SeriesInfo, SourceData, SourceId, SourceItem, TimeSeriesColumnData, TimeSeriesData, TimeStamp, TransformedData, TransformedSeries, TransformedSource };
993
+ export type { ColumnValueMap, DataToExport, DataToExportWithBackendCreatedFile, DatapointCounts, DatapointDetails, DatapointsExceedingLimit, DatapointsValuesDataMap, DateFetchConfig, ExportColumnConfig, ExportConfig, ExportData, ExportType, ExportedFile, FileCompressionTypes, FileExportConfig, FileGenerator, FileTypeConfig, FileTypeMetadata, IDataTransformer, ListExportDatapoint, Measurement, MeasurementFileConfig, MergedExportDetails, MinMaxValues, ReadingValue, SeriesExportParams, SeriesInfo, SourceData, SourceId, SourceItem, TimeSeriesColumnData, TimeSeriesData, TimeStamp, TransformedData, TransformedSeries, TransformedSource };
829
994
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/utils.service.ts","../../datapoints-export-selector/datapoints-export-selector.model.ts","../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-fetching.service.ts","../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-processing.service.ts","../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.service.ts","../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.component.ts","../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-preview/datapoints-export-selector-preview.component.ts","../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-exports-selector-data-scope/datapoints-exports-selector-data-scope.component.ts","../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-exports-selector-file-types/datapoints-exports-selector-file-types.component.ts","../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-exports-selector-time-range/datapoints-exports-selector-time-range.component.ts","../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/generators/csv-generator.ts","../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/generators/excel-generator.ts","../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-modal.component.ts","../../datapoints-export-selector/datapoints-export-selector.component.ts"],"sourcesContent":[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":["../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/utils.service.ts","../../datapoints-export-selector/datapoints-export-selector.model.ts","../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-fetching.service.ts","../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-processing.service.ts","../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.service.ts","../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.component.ts","../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-preview/datapoints-export-selector-preview.component.ts","../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-exports-selector-data-scope/datapoints-exports-selector-data-scope.component.ts","../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-exports-selector-file-types/datapoints-exports-selector-file-types.component.ts","../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-exports-selector-time-range/datapoints-exports-selector-time-range.component.ts","../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/generators/csv-generator.ts","../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/generators/excel-generator.ts","../../datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-modal.component.ts","../../datapoints-export-selector/datapoints-export-selector.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
package/echart/index.d.ts CHANGED
@@ -268,6 +268,7 @@ declare class ChartsComponent implements OnChanges, OnInit, OnDestroy {
268
268
  CHART_VIEW_CONTEXT: typeof CHART_VIEW_CONTEXT;
269
269
  readonly AGGREGATION_INTERVAL_MAP: Record<aggregationType, string>;
270
270
  private configChangedSubject;
271
+ private destroyRef;
271
272
  private readonly measurementService;
272
273
  private readonly echartsOptionsService;
273
274
  private readonly chartRealtimeService;
@@ -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;;;;;;;;;;;ACwDA;AA4BE;;AAEA;;;;;;;;AAQA;;;;;;AAMK;AACK;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEV;;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AAoDA;;;;;AAqKuB;;;AAA4B;AAiDnD;AAOA;AAIA;AAwBA;AA6BA;AAWA;;;;AAIG;AACH;AAcA;;;;;AAKG;AACH;AAgCA;AAeA;AA0BA;;AA8DA;;;AAiNA;AAiEA;AAsDA;AAkBA;AAWA;AAYA;;;AA6BD;;ACvgCD;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;;;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;;;;AAIG;AACH;AAcA;;;;;AAKG;AACH;AAgCA;AAeA;AA0BA;;AA8DA;;;AAiNA;AAiEA;AAsDA;AAkBA;AAWA;AAYA;;;AA6BD;;AC3gCD;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;;;"}
@@ -934,11 +934,12 @@ class AssetPropertiesService {
934
934
  * Checks if two properties match for selection purposes.
935
935
  * @param property1 First property to compare.
936
936
  * @param property2 Second property to compare.
937
+ * @param omitProperties Optional list of property keys to omit from comparison (e.g., ['instanceId','configuredAssetId']).
937
938
  * @returns True if properties match.
938
939
  */
939
- propertiesMatch(property1, property2) {
940
+ propertiesMatch(property1, property2, omitProperties = []) {
940
941
  if (property1.name === property2.name) {
941
- const propertiesToOmit = ['active'];
942
+ const propertiesToOmit = ['active', ...omitProperties];
942
943
  const areEqual = isEqual(omit(property1, propertiesToOmit), omit(property2, propertiesToOmit));
943
944
  return areEqual;
944
945
  }
@@ -2078,6 +2079,10 @@ class AssetPropertyListComponent {
2078
2079
  * @param node The node to select.
2079
2080
  */
2080
2081
  onSelectSingle(selected, node, emit = true) {
2082
+ const matchingNode = this.allNodesComplete.find(n => n === node);
2083
+ if (matchingNode && matchingNode.property.active === selected) {
2084
+ return;
2085
+ }
2081
2086
  this.allNodesComplete.forEach(n => {
2082
2087
  n.property.active = false;
2083
2088
  });
@@ -2282,7 +2287,11 @@ class AssetPropertyListComponent {
2282
2287
  if (this.config.selectMode === 'single') {
2283
2288
  selectedPropertiesToApply = this.config.selectedProperties.slice(0, 1);
2284
2289
  // For single mode, find the matching node and only call onSelectSingle once
2285
- const nodeToSelect = this.dataSource.data.find(node => selectedPropertiesToApply.some(configProperty => this.assetPropertiesService.propertiesMatch(node.property, configProperty)));
2290
+ const nodeToSelect = this.dataSource.data.find(node => selectedPropertiesToApply.some(configProperty => this.assetPropertiesService.propertiesMatch(node.property, configProperty, [
2291
+ 'instanceId',
2292
+ 'configuredAssetId',
2293
+ 'config'
2294
+ ])));
2286
2295
  if (nodeToSelect) {
2287
2296
  this.onSelectSingle(true, nodeToSelect, false);
2288
2297
  }
@@ -2772,6 +2781,11 @@ class AssetPropertyTabsComponent {
2772
2781
  * @param properties The selected properties.
2773
2782
  */
2774
2783
  onSelectedProperties(properties) {
2784
+ if (this.config.selectMode === 'single') {
2785
+ this.selectedAssetProperties = [];
2786
+ this.selectedRegularProperties = [];
2787
+ this.selectedComputedProperties = [];
2788
+ }
2775
2789
  // Update the selected properties for the current tab
2776
2790
  if (this.selectedTab === 'asset') {
2777
2791
  this.selectedAssetProperties = cloneDeep(properties);
@@ -3169,7 +3183,7 @@ class AssetPropertySelectorComponent {
3169
3183
  /**
3170
3184
  * Flag to hide the selection panel.
3171
3185
  */
3172
- this.hideSelection = true;
3186
+ this.hideSelection = false;
3173
3187
  /**
3174
3188
  * Flag to allow search in asset selector.
3175
3189
  */
@@ -3219,6 +3233,9 @@ class AssetPropertySelectorComponent {
3219
3233
  */
3220
3234
  async onSelectedProperties(properties) {
3221
3235
  this.markAsTouched();
3236
+ if (this.config.selectMode === 'single') {
3237
+ this.selectedProperties = [];
3238
+ }
3222
3239
  // Handle computed properties configuration
3223
3240
  const configuredProperties = await this.handleComputedPropertiesConfiguration(properties);
3224
3241
  this.selectedProperties = cloneDeep(configuredProperties);
@@ -3468,7 +3485,7 @@ class AssetPropertySelectorDrawerComponent {
3468
3485
  /**
3469
3486
  * Flag to hide the selection
3470
3487
  * */
3471
- this.hideSelection = true;
3488
+ this.hideSelection = false;
3472
3489
  /**
3473
3490
  * Flag to allow selecting properties from multiple assets (if context change is allowed).
3474
3491
  */