@c8y/ngx-components 1021.22.54 → 1021.22.58

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 (76) hide show
  1. package/core/common/interval-based-reload.abstract.d.ts +13 -3
  2. package/core/common/interval-based-reload.abstract.d.ts.map +1 -1
  3. package/core/dashboard/widget-auto-refresh-context/auto-refresh-control.component.d.ts +5 -4
  4. package/core/dashboard/widget-auto-refresh-context/auto-refresh-control.component.d.ts.map +1 -1
  5. package/core/dashboard/widget-auto-refresh-context/widget-auto-refresh-context.component.d.ts.map +1 -1
  6. package/core/dashboard/widgets-dashboard-event.service.d.ts +1 -0
  7. package/core/dashboard/widgets-dashboard-event.service.d.ts.map +1 -1
  8. package/core/dashboard/wiget-time-context/widget-time-context.component.d.ts +9 -3
  9. package/core/dashboard/wiget-time-context/widget-time-context.component.d.ts.map +1 -1
  10. package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-fetching.service.d.ts +11 -8
  11. package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-fetching.service.d.ts.map +1 -1
  12. package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.component.d.ts +4 -2
  13. package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.component.d.ts.map +1 -1
  14. package/datapoints-export-selector/datapoints-export-selector.component.d.ts +6 -2
  15. package/datapoints-export-selector/datapoints-export-selector.component.d.ts.map +1 -1
  16. package/datapoints-export-selector/datapoints-export-selector.model.d.ts +17 -0
  17. package/datapoints-export-selector/datapoints-export-selector.model.d.ts.map +1 -1
  18. package/esm2022/core/common/aggregation/aggregation.model.mjs +2 -2
  19. package/esm2022/core/common/interval-based-reload.abstract.mjs +13 -13
  20. package/esm2022/core/dashboard/dashboard-child.component.mjs +3 -3
  21. package/esm2022/core/dashboard/widget-auto-refresh-context/auto-refresh-control.component.mjs +12 -10
  22. package/esm2022/core/dashboard/widget-auto-refresh-context/widget-auto-refresh-context.component.mjs +2 -2
  23. package/esm2022/core/dashboard/widgets-dashboard-event.service.mjs +10 -1
  24. package/esm2022/core/dashboard/widgets-dashboard.component.mjs +3 -3
  25. package/esm2022/core/dashboard/wiget-time-context/widget-time-context-icon-bar/widget-time-context-icon-bar.component.mjs +3 -3
  26. package/esm2022/core/dashboard/wiget-time-context/widget-time-context.component.mjs +37 -15
  27. package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-fetching.service.mjs +22 -27
  28. package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.component.mjs +29 -6
  29. package/esm2022/datapoints-export-selector/datapoints-export-selector.component.mjs +18 -8
  30. package/esm2022/datapoints-export-selector/datapoints-export-selector.model.mjs +18 -1
  31. package/esm2022/interval-picker/interval-picker.model.mjs +5 -1
  32. package/esm2022/widgets/definitions/datapoints-table/index.mjs +3 -2
  33. package/esm2022/widgets/implementations/alarms/alarm-list-widget-view/alarm-list-widget.component.mjs +3 -3
  34. package/esm2022/widgets/implementations/alarms/alarm-widget-alarms-reload.component.mjs +17 -100
  35. package/esm2022/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.component.mjs +45 -41
  36. package/esm2022/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-reload/datapoints-reload.component.mjs +35 -13
  37. package/esm2022/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table/datapoints-table.component.mjs +3 -3
  38. package/esm2022/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.component.mjs +81 -38
  39. package/esm2022/widgets/implementations/datapoints-table/datapoints-table-widget.model.mjs +3 -5
  40. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs +79 -36
  41. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -1
  42. package/fesm2022/c8y-ngx-components-interval-picker.mjs +5 -1
  43. package/fesm2022/c8y-ngx-components-interval-picker.mjs.map +1 -1
  44. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs +2 -1
  45. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs.map +1 -1
  46. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +18 -101
  47. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
  48. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +152 -88
  49. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs.map +1 -1
  50. package/fesm2022/c8y-ngx-components.mjs +75 -42
  51. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  52. package/interval-picker/interval-picker.model.d.ts +6 -0
  53. package/interval-picker/interval-picker.model.d.ts.map +1 -1
  54. package/locales/de.po +60 -62
  55. package/locales/es.po +10 -12
  56. package/locales/fr.po +109 -109
  57. package/locales/ja_JP.po +149 -94
  58. package/locales/ko.po +10 -12
  59. package/locales/locales.pot +3 -4
  60. package/locales/nl.po +11 -13
  61. package/locales/pl.po +11 -13
  62. package/locales/pt_BR.po +9 -11
  63. package/locales/zh_CN.po +9 -11
  64. package/locales/zh_TW.po +11 -13
  65. package/package.json +1 -1
  66. package/widgets/definitions/datapoints-table/index.d.ts.map +1 -1
  67. package/widgets/implementations/alarms/alarm-widget-alarms-reload.component.d.ts +18 -63
  68. package/widgets/implementations/alarms/alarm-widget-alarms-reload.component.d.ts.map +1 -1
  69. package/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.component.d.ts +4 -3
  70. package/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.component.d.ts.map +1 -1
  71. package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-reload/datapoints-reload.component.d.ts +16 -8
  72. package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-reload/datapoints-reload.component.d.ts.map +1 -1
  73. package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.component.d.ts +23 -5
  74. package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.component.d.ts.map +1 -1
  75. package/widgets/implementations/datapoints-table/datapoints-table-widget.model.d.ts +4 -1
  76. package/widgets/implementations/datapoints-table/datapoints-table-widget.model.d.ts.map +1 -1
@@ -19,7 +19,7 @@ import * as i3$1 from 'ngx-bootstrap/popover';
19
19
  import { PopoverModule } from 'ngx-bootstrap/popover';
20
20
  import { isNil, isEmpty, isNumber } from 'lodash-es';
21
21
  import * as i1$1 from 'ngx-bootstrap/modal';
22
- import * as i3$3 from 'ngx-bootstrap/tooltip';
22
+ import * as i4$1 from 'ngx-bootstrap/tooltip';
23
23
  import { TooltipModule } from 'ngx-bootstrap/tooltip';
24
24
 
25
25
  const HAS_ERROR = 'has-error';
@@ -63,6 +63,23 @@ const TIME_RANGE_INTERVAL_UNITS_VALUES = {
63
63
  months: 'months',
64
64
  custom: 'custom'
65
65
  };
66
+ const PRODUCT_EXPERIENCE_DATAPOINTS_EXPORT_SELECTOR = {
67
+ EVENTS: {
68
+ EXPORT_SELECTOR: 'exportSelector'
69
+ },
70
+ COMPONENTS: {
71
+ DATAPOINTS_EXPORT_SELECTOR: 'datapoints-export-selector',
72
+ DATAPOINTS_EXPORT_SELECTOR_FILE_EXPORTER: 'datapoints-export-selector-file-exporter'
73
+ },
74
+ ACTIONS: {
75
+ OPEN_MODAL: 'openModal',
76
+ DOWNLOAD_STARTED: 'downloadStarted'
77
+ },
78
+ EXPORT_CONFIG: {
79
+ FULL_EXPORT_TYPE: 'fullExportType',
80
+ COMPACT_EXPORT_TYPE: 'compactExportType'
81
+ }
82
+ };
66
83
 
67
84
  class UtilsService {
68
85
  transformDataStructure(data) {
@@ -302,6 +319,27 @@ class DataFetchingService {
302
319
  const fetchedSources = await Promise.all(fetchedDataPromises);
303
320
  return fetchedSources.filter((source) => source !== null);
304
321
  }
322
+ /**
323
+ * Adjusts the given date by adding the specified number of minutes and setting seconds to 0.
324
+ *
325
+ * @param date - The date to be adjusted in string format.
326
+ * @param minutes - The number of minutes to add to the date.
327
+ * @param roundSeconds - Whether to round the seconds or not.
328
+ * If true, the seconds will be rounded to 0.
329
+ * If false, the seconds will be displayed as they are.
330
+ * @returns The adjusted date in ISO string format.
331
+ */
332
+ adjustDate(date, minutes, roundSeconds = true) {
333
+ const dateTime = new Date(date);
334
+ if (isNaN(dateTime.getTime())) {
335
+ throw new Error('Invalid date');
336
+ }
337
+ dateTime.setUTCMinutes(dateTime.getUTCMinutes() + minutes);
338
+ if (roundSeconds) {
339
+ dateTime.setUTCSeconds(0, 0);
340
+ }
341
+ return dateTime.toISOString();
342
+ }
305
343
  /**
306
344
  * Fetches and prepares measurement data for preview.
307
345
  *
@@ -326,8 +364,6 @@ class DataFetchingService {
326
364
  let measurements;
327
365
  const filter = this.prepareMeasurementsFilter(details, exportConfig, MEASUREMENTS_PREVIEW_ITEMS_LIMIT);
328
366
  try {
329
- // TODO: consider adding a cache mechanism -> MTM-60289
330
- // When user switches between report types, and rest of the settings are the same, then the data should not be fetched again?
331
367
  measurements = await this.measurementService.list(filter);
332
368
  }
333
369
  catch (error) {
@@ -471,30 +507,6 @@ class DataFetchingService {
471
507
  };
472
508
  });
473
509
  }
474
- /**
475
- * Adjusts the given date by adding the specified number of minutes and setting seconds to 0.
476
- *
477
- * @param date - The date to be adjusted in string format.
478
- * @param minutes - The number of minutes to add to the date.
479
- * @returns The adjusted date in the format 'YYYY-MM-DDTHH:mm:ss+HH:MM'.
480
- */
481
- adjustDate(date, minutes) {
482
- const dateTime = new Date(date);
483
- dateTime.setMinutes(dateTime.getMinutes() + minutes);
484
- dateTime.setSeconds(0);
485
- const offset = -dateTime.getTimezoneOffset();
486
- const offsetSign = offset >= 0 ? '+' : '-';
487
- const pad = (num) => (num < 10 ? '0' + num : num.toString());
488
- const offsetHours = pad(Math.floor(Math.abs(offset) / 60));
489
- const offsetMinutes = pad(Math.abs(offset) % 60);
490
- const year = dateTime.getFullYear();
491
- const month = pad(dateTime.getMonth() + 1);
492
- const day = pad(dateTime.getDate());
493
- const hours = pad(dateTime.getHours());
494
- const minutesString = pad(dateTime.getMinutes());
495
- const seconds = '00';
496
- return `${year}-${month}-${day}T${hours}:${minutesString}:${seconds}${offsetSign}${offsetHours}:${offsetMinutes}`;
497
- }
498
510
  /**
499
511
  * Trims the given HTML message by removing list items that correspond to zero counts.
500
512
  *
@@ -1230,12 +1242,13 @@ const dateRangeValidator = (control) => {
1230
1242
  return null;
1231
1243
  };
1232
1244
  class DatapointsExportSelectorFileExporterComponent {
1233
- constructor(datapointsExportModalService, datapointsExportSelectorService, datapointsExportSelectorFileExporterService, formBuilder, generators) {
1245
+ constructor(datapointsExportModalService, datapointsExportSelectorService, datapointsExportSelectorFileExporterService, formBuilder, generators, gainsightService) {
1234
1246
  this.datapointsExportModalService = datapointsExportModalService;
1235
1247
  this.datapointsExportSelectorService = datapointsExportSelectorService;
1236
1248
  this.datapointsExportSelectorFileExporterService = datapointsExportSelectorFileExporterService;
1237
1249
  this.formBuilder = formBuilder;
1238
1250
  this.generators = generators;
1251
+ this.gainsightService = gainsightService;
1239
1252
  this.onDownloadButtonStateChange = new EventEmitter();
1240
1253
  /**
1241
1254
  * Represents aggregation selector options that are disabled.
@@ -1330,6 +1343,7 @@ class DatapointsExportSelectorFileExporterComponent {
1330
1343
  zipName: value.zipName
1331
1344
  }));
1332
1345
  const selectedFileExports = this.getOnlySelectedFileExports(fileExports);
1346
+ this.triggerGainsightDownloadEvent(selectedFileExports);
1333
1347
  await Promise.all(selectedFileExports.map(async ({ fileType, zipName }) => {
1334
1348
  const blob = await this.exportFile(fileType);
1335
1349
  await this.downloadFile(blob, fileType, zipName);
@@ -1625,7 +1639,28 @@ class DatapointsExportSelectorFileExporterComponent {
1625
1639
  });
1626
1640
  return initialSelection;
1627
1641
  }
1628
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DatapointsExportSelectorFileExporterComponent, deps: [{ token: DataProcessingService }, { token: DataFetchingService }, { token: DatapointsExportSelectorFileExporterService }, { token: i3$2.FormBuilder }, { token: FILE_GENERATORS }], target: i0.ɵɵFactoryTarget.Component }); }
1642
+ triggerGainsightDownloadEvent(selectedFileExports) {
1643
+ const commonEventData = {
1644
+ action: PRODUCT_EXPERIENCE_DATAPOINTS_EXPORT_SELECTOR.ACTIONS.DOWNLOAD_STARTED,
1645
+ component: PRODUCT_EXPERIENCE_DATAPOINTS_EXPORT_SELECTOR.COMPONENTS
1646
+ .DATAPOINTS_EXPORT_SELECTOR_FILE_EXPORTER,
1647
+ selectedFileType: selectedFileExports.map(item => item.fileType)
1648
+ };
1649
+ if (this.isFullTypeOfExport) {
1650
+ this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE_DATAPOINTS_EXPORT_SELECTOR.EVENTS.EXPORT_SELECTOR, {
1651
+ ...commonEventData,
1652
+ selectedExportType: PRODUCT_EXPERIENCE_DATAPOINTS_EXPORT_SELECTOR.EXPORT_CONFIG.FULL_EXPORT_TYPE
1653
+ });
1654
+ }
1655
+ else {
1656
+ this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE_DATAPOINTS_EXPORT_SELECTOR.EVENTS.EXPORT_SELECTOR, {
1657
+ ...commonEventData,
1658
+ selectedExportType: PRODUCT_EXPERIENCE_DATAPOINTS_EXPORT_SELECTOR.EXPORT_CONFIG.COMPACT_EXPORT_TYPE,
1659
+ selectedAggregation: this.exportConfig.aggregation ?? AGGREGATION_VALUES.none
1660
+ });
1661
+ }
1662
+ }
1663
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DatapointsExportSelectorFileExporterComponent, deps: [{ token: DataProcessingService }, { token: DataFetchingService }, { token: DatapointsExportSelectorFileExporterService }, { token: i3$2.FormBuilder }, { token: FILE_GENERATORS }, { token: i1.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
1629
1664
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DatapointsExportSelectorFileExporterComponent, isStandalone: true, selector: "c8y-datapoints-export-selector-file-exporter", inputs: { exportConfig: "exportConfig" }, outputs: { onDownloadButtonStateChange: "onDownloadButtonStateChange" }, ngImport: i0, template: "<div class=\"p-b-16\">\n <ng-container *ngIf=\"hasPermissionToReadAnyMeasurements; else hasNoRoleToReadAnyMeasurements\">\n <div class=\"p-16 text-center separator-bottom sticky-top bg-component\">\n <p class=\"text-medium text-16\">\n {{ 'Configure export' | translate }}\n </p>\n </div>\n <div\n class=\"p-t-24 p-r-16 p-l-16 gap-8 p-b-16 flex-wrap\"\n [ngClass]=\"{ 'separator-bottom': isFullTypeOfExport }\"\n >\n <div class=\"row\">\n <div class=\"col-md-4\">\n <c8y-datapoints-export-selector-time-range\n *ngIf=\"this.hasPermissionToReadAnyMeasurements\"\n [formGroup]=\"formGroup\"\n (onDateFromChange)=\"onDateFromChange($event)\"\n (onDateToChange)=\"onDateToChange($event)\"\n ></c8y-datapoints-export-selector-time-range>\n </div>\n <div class=\"col-md-4\">\n <c8y-datapoints-export-selector-data-scope\n *ngIf=\"this.hasPermissionToReadAnyMeasurements\"\n [disabledAggregationOptions]=\"disabledAggregationOptions\"\n [formGroup]=\"formGroup\"\n (onAggregationChange)=\"onAggregationChange($event)\"\n (onExportTypeChange)=\"onExportTypeChange($event)\"\n ></c8y-datapoints-export-selector-data-scope>\n </div>\n <div class=\"col-md-4\">\n <c8y-datapoints-export-selector-file-types\n *ngIf=\"this.hasPermissionToReadAnyMeasurements\"\n [dynamicFilesTypeMetadata]=\"dynamicFilesTypeMetadata\"\n [formGroup]=\"formGroup\"\n ></c8y-datapoints-export-selector-file-types>\n </div>\n </div>\n </div>\n <ng-container\n *ngIf=\"!isFullTypeOfExport && !hasFetchedDataAnyValuesToExport && !isPreviewLoading\"\n >\n <div class=\"p-t-24 p-r-16 p-l-16 p-b-16 separator-bottom d-flex\">\n <div\n class=\"alert alert-warning center-block\"\n role=\"alert\"\n data-cy=\"file-exporter--no-data-available\"\n translate\n >\n No data available.\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"datapointsExceedingBrowserDownloadLimit.length > 0\">\n <div class=\"p-t-24 p-r-16 p-l-16 p-b-16 separator-bottom d-flex\">\n <div\n [class]=\"\n hasNoExportableData\n ? 'alert alert-warning center-block'\n : 'alert alert-info center-block'\n \"\n role=\"alert\"\n [innerHTML]=\"limitExceededMessage\"\n ></div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"isFullTypeOfExport\">\n <c8y-datapoints-export-selector-preview\n *ngIf=\"this.hasPermissionToReadAnyMeasurements\"\n [hasFetchedDataAnyValuesToExport]=\"hasFetchedDataAnyValuesToExport\"\n [isPreviewLoading]=\"isPreviewLoading\"\n [previewTableData]=\"previewTableData\"\n ></c8y-datapoints-export-selector-preview>\n </ng-container>\n </ng-container>\n <ng-template #hasNoRoleToReadAnyMeasurements>\n <div class=\"p-t-24 p-r-16 p-l-16 p-b-16 d-flex\">\n <div\n class=\"alert alert-info center-block\"\n role=\"alert\"\n translate\n >\n <p>To export data, you must meet at least one of these criteria:</p>\n <ul>\n <li>\n Have\n <b>READ permission for \"Measurements\" permission type</b>\n (either as a global role or for the specific source)\n </li>\n <li>\n Be the\n <b>owner of the source</b>\n you want to export data from\n </li>\n </ul>\n <p>Don't meet these requirements? Contact your system administrator for assistance.</p>\n </div>\n </div>\n </ng-template>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }, { kind: "directive", type: i1.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: DataPointsExportSelectorDataScopeComponent, selector: "c8y-datapoints-export-selector-data-scope", inputs: ["disabledAggregationOptions", "formGroup"], outputs: ["onAggregationChange", "onExportTypeChange"] }, { kind: "component", type: DataPointsExportSelectorFileTypesComponent, selector: "c8y-datapoints-export-selector-file-types", inputs: ["dynamicFilesTypeMetadata", "formGroup"] }, { kind: "component", type: DataPointsExportSelectorPreviewComponent, selector: "c8y-datapoints-export-selector-preview", inputs: ["hasFetchedDataAnyValuesToExport", "isPreviewLoading", "previewTableData"] }, { kind: "component", type: DataPointsExportSelectorTimeRangeComponent, selector: "c8y-datapoints-export-selector-time-range", inputs: ["formGroup"], outputs: ["onDateFromChange", "onDateToChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
1630
1665
  }
1631
1666
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DatapointsExportSelectorFileExporterComponent, decorators: [{
@@ -1642,7 +1677,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1642
1677
  }], ctorParameters: () => [{ type: DataProcessingService }, { type: DataFetchingService }, { type: DatapointsExportSelectorFileExporterService }, { type: i3$2.FormBuilder }, { type: undefined, decorators: [{
1643
1678
  type: Inject,
1644
1679
  args: [FILE_GENERATORS]
1645
- }] }], propDecorators: { exportConfig: [{
1680
+ }] }, { type: i1.GainsightService }], propDecorators: { exportConfig: [{
1646
1681
  type: Input
1647
1682
  }], onDownloadButtonStateChange: [{
1648
1683
  type: Output
@@ -1888,11 +1923,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1888
1923
  }] } });
1889
1924
 
1890
1925
  class DatapointsExportSelectorComponent {
1891
- constructor(bsModalService) {
1926
+ constructor(bsModalService, gainsightService) {
1892
1927
  this.bsModalService = bsModalService;
1928
+ this.gainsightService = gainsightService;
1893
1929
  this.isOpen = new EventEmitter();
1930
+ this.DEFAULT_CSS_STYLE = 'd-flex p-t-4 p-b-4';
1894
1931
  }
1895
1932
  async openExportModal() {
1933
+ this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE_DATAPOINTS_EXPORT_SELECTOR.EVENTS.EXPORT_SELECTOR, {
1934
+ action: PRODUCT_EXPERIENCE_DATAPOINTS_EXPORT_SELECTOR.ACTIONS.OPEN_MODAL,
1935
+ component: PRODUCT_EXPERIENCE_DATAPOINTS_EXPORT_SELECTOR.COMPONENTS.DATAPOINTS_EXPORT_SELECTOR
1936
+ });
1896
1937
  const exportConfig = this.exportConfig;
1897
1938
  const initialState = {
1898
1939
  exportConfig
@@ -1908,13 +1949,15 @@ class DatapointsExportSelectorComponent {
1908
1949
  // Result will be 'false' on modal close or dismiss
1909
1950
  this.isOpen.emit(await modalRef.result);
1910
1951
  }
1911
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DatapointsExportSelectorComponent, deps: [{ token: i1$1.BsModalService }], target: i0.ɵɵFactoryTarget.Component }); }
1912
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DatapointsExportSelectorComponent, isStandalone: true, selector: "c8y-datapoints-export-selector", inputs: { exportConfig: "exportConfig" }, outputs: { isOpen: "isOpen" }, ngImport: i0, template: "<div class=\"input-group p-t-4 p-b-4 max-width-fit m-l-auto\">\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Generate export' | translate\"\n tooltip=\"{{ 'Generate export' | translate }}\"\n container=\"body\"\n type=\"button\"\n (click)=\"openExportModal()\"\n [adaptivePosition]=\"false\"\n [disabled]=\"!exportConfig\"\n [delay]=\"500\"\n >\n <i\n class=\"icon-14\"\n c8yIcon=\"data-export\"\n ></i>\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3$3.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }] }); }
1952
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DatapointsExportSelectorComponent, deps: [{ token: i1$1.BsModalService }, { token: i1.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
1953
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DatapointsExportSelectorComponent, isStandalone: true, selector: "c8y-datapoints-export-selector", inputs: { containerClass: "containerClass", exportConfig: "exportConfig" }, outputs: { isOpen: "isOpen" }, ngImport: i0, template: "<div [ngClass]=\"containerClass || DEFAULT_CSS_STYLE\">\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Generate export' | translate\"\n tooltip=\"{{ 'Generate export' | translate }}\"\n container=\"body\"\n type=\"button\"\n (click)=\"openExportModal()\"\n [adaptivePosition]=\"false\"\n [disabled]=\"!exportConfig\"\n [delay]=\"500\"\n >\n <i\n class=\"icon-14\"\n c8yIcon=\"data-export\"\n ></i>\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4$1.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }] }); }
1913
1954
  }
1914
1955
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DatapointsExportSelectorComponent, decorators: [{
1915
1956
  type: Component,
1916
- args: [{ selector: 'c8y-datapoints-export-selector', standalone: true, imports: [CommonModule, TooltipModule], template: "<div class=\"input-group p-t-4 p-b-4 max-width-fit m-l-auto\">\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Generate export' | translate\"\n tooltip=\"{{ 'Generate export' | translate }}\"\n container=\"body\"\n type=\"button\"\n (click)=\"openExportModal()\"\n [adaptivePosition]=\"false\"\n [disabled]=\"!exportConfig\"\n [delay]=\"500\"\n >\n <i\n class=\"icon-14\"\n c8yIcon=\"data-export\"\n ></i>\n </button>\n </div>\n</div>\n" }]
1917
- }], ctorParameters: () => [{ type: i1$1.BsModalService }], propDecorators: { exportConfig: [{
1957
+ args: [{ selector: 'c8y-datapoints-export-selector', standalone: true, imports: [CommonModule, TooltipModule], template: "<div [ngClass]=\"containerClass || DEFAULT_CSS_STYLE\">\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Generate export' | translate\"\n tooltip=\"{{ 'Generate export' | translate }}\"\n container=\"body\"\n type=\"button\"\n (click)=\"openExportModal()\"\n [adaptivePosition]=\"false\"\n [disabled]=\"!exportConfig\"\n [delay]=\"500\"\n >\n <i\n class=\"icon-14\"\n c8yIcon=\"data-export\"\n ></i>\n </button>\n </div>\n</div>\n" }]
1958
+ }], ctorParameters: () => [{ type: i1$1.BsModalService }, { type: i1.GainsightService }], propDecorators: { containerClass: [{
1959
+ type: Input
1960
+ }], exportConfig: [{
1918
1961
  type: Input
1919
1962
  }], isOpen: [{
1920
1963
  type: Output
@@ -1924,5 +1967,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1924
1967
  * Generated bundle index. Do not edit.
1925
1968
  */
1926
1969
 
1927
- 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, SERIES_DATA_MERGED_FILE_NAME, TIME_RANGE_INTERVAL_UNITS_VALUES, UtilsService, dateRangeValidator };
1970
+ 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, TIME_RANGE_INTERVAL_UNITS_VALUES, UtilsService, dateRangeValidator };
1928
1971
  //# sourceMappingURL=c8y-ngx-components-datapoints-export-selector.mjs.map