@c8y/ngx-components 1021.49.12 → 1021.51.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.
- package/core/aggregation/aggregation.model.d.ts.map +1 -0
- package/core/aggregation/aggregation.service.d.ts +44 -0
- package/core/aggregation/aggregation.service.d.ts.map +1 -0
- package/core/aggregation/index.d.ts +3 -0
- package/core/aggregation/index.d.ts.map +1 -0
- package/core/common/index.d.ts +0 -2
- package/core/common/index.d.ts.map +1 -1
- package/core/dashboard/wiget-time-context/aggregation-picker/aggregation-picker.component.d.ts +2 -2
- package/core/dashboard/wiget-time-context/aggregation-picker/aggregation-picker.component.d.ts.map +1 -1
- package/core/dashboard/wiget-time-context/widget-time-context-icon-bar/widget-time-context-icon-bar.component.d.ts +1 -1
- package/core/dashboard/wiget-time-context/widget-time-context-icon-bar/widget-time-context-icon-bar.component.d.ts.map +1 -1
- package/core/dashboard/wiget-time-context/widget-time-context.component.d.ts +1 -1
- package/core/dashboard/wiget-time-context/widget-time-context.component.d.ts.map +1 -1
- package/core/i18n/pattern-messages.data.d.ts +18 -0
- package/core/i18n/pattern-messages.data.d.ts.map +1 -1
- package/core/index.d.ts +1 -0
- package/core/index.d.ts.map +1 -1
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-fetching.service.d.ts +54 -42
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-fetching.service.d.ts.map +1 -1
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.component.d.ts +28 -8
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.component.d.ts.map +1 -1
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.service.d.ts +3 -52
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.service.d.ts.map +1 -1
- package/datapoints-export-selector/datapoints-export-selector.model.d.ts +5 -14
- package/datapoints-export-selector/datapoints-export-selector.model.d.ts.map +1 -1
- package/device-grid/device-grid.component.d.ts.map +1 -1
- package/device-grid/device-grid.service.d.ts +2 -0
- package/device-grid/device-grid.service.d.ts.map +1 -1
- package/esm2022/alarms/alarms-type-filter.component.mjs +3 -3
- package/esm2022/core/aggregation/aggregation.model.mjs +46 -0
- package/esm2022/core/aggregation/aggregation.service.mjs +76 -0
- package/esm2022/core/aggregation/index.mjs +3 -0
- package/esm2022/core/common/index.mjs +1 -3
- package/esm2022/core/dashboard/wiget-time-context/aggregation-picker/aggregation-picker.component.mjs +2 -2
- package/esm2022/core/dashboard/wiget-time-context/widget-time-context-icon-bar/widget-time-context-icon-bar.component.mjs +2 -2
- package/esm2022/core/dashboard/wiget-time-context/widget-time-context.component.mjs +4 -4
- package/esm2022/core/i18n/pattern-messages.data.mjs +19 -1
- package/esm2022/core/index.mjs +2 -1
- package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-fetching.service.mjs +166 -164
- package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.component.mjs +82 -48
- package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.service.mjs +5 -95
- package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-exports-selector-data-scope/datapoints-exports-selector-data-scope.component.mjs +3 -3
- package/esm2022/datapoints-export-selector/datapoints-export-selector.component.mjs +3 -3
- package/esm2022/datapoints-export-selector/datapoints-export-selector.model.mjs +1 -9
- package/esm2022/device-grid/device-grid.component.mjs +3 -3
- package/esm2022/device-grid/device-grid.service.mjs +16 -1
- package/esm2022/device-list/add-smart-group.component.mjs +3 -3
- package/esm2022/interval-picker/interval-picker.model.mjs +5 -1
- package/esm2022/operations/bulk-operation-list-item/bulk-operation-list-item.service.mjs +5 -4
- package/esm2022/operations/operation-details/operation-details.module.mjs +7 -7
- package/esm2022/operations/operations-list/device-control.feature.mjs +20 -0
- package/esm2022/operations/operations-list/index.mjs +4 -3
- package/esm2022/operations/operations-list/operations-list-item.component.mjs +11 -9
- package/esm2022/operations/operations-list/operations-list.component.mjs +15 -10
- package/esm2022/operations/operations-list/operations-list.module.mjs +16 -41
- package/esm2022/operations/operations-list/operations-list.service.mjs +4 -3
- package/esm2022/operations/operations.module.mjs +21 -14
- package/esm2022/operations/shared/operations.service.mjs +4 -3
- package/esm2022/services/index.mjs +14 -3
- package/esm2022/services/service-command-tab/c8y-ngx-components-services-service-command-tab.mjs +5 -0
- package/esm2022/services/service-command-tab/index.mjs +3 -0
- package/esm2022/services/service-command-tab/service-command-tab.component.mjs +33 -0
- package/esm2022/services/service-command-tab/service-command.feature.mjs +14 -0
- package/esm2022/services/services-device-tab/index.mjs +9 -3
- package/esm2022/services/services-device-tab/services-device-tab.component.mjs +3 -4
- package/esm2022/services/services-device-tab/services-device-tab.guard.mjs +2 -2
- package/esm2022/services/services-device-tab/services.breadcrumb-factory.mjs +13 -1
- package/esm2022/services/services.module.mjs +4 -2
- package/esm2022/services/shared/c8y-ngx-components-services-shared.mjs +5 -0
- package/esm2022/services/shared/index.mjs +3 -0
- package/esm2022/services/shared/service-command.service.mjs +118 -0
- package/esm2022/services/shared/services.model.mjs +23 -0
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.component.mjs +25 -41
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-reload/datapoints-reload.component.mjs +3 -3
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.component.mjs +55 -49
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.service.mjs +25 -73
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table-widget.model.mjs +20 -20
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table.service.mjs +19 -19
- package/fesm2022/c8y-ngx-components-alarms.mjs +2 -2
- package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs +248 -308
- package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-grid.mjs +17 -2
- package/fesm2022/c8y-ngx-components-device-grid.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-list.mjs +2 -2
- package/fesm2022/c8y-ngx-components-device-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-interval-picker.mjs +5 -1
- package/fesm2022/c8y-ngx-components-interval-picker.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs +3 -2
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-operation-details.mjs +5 -5
- package/fesm2022/c8y-ngx-components-operations-operation-details.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-operations-list.mjs +57 -52
- package/fesm2022/c8y-ngx-components-operations-operations-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-shared.mjs +3 -2
- package/fesm2022/c8y-ngx-components-operations-shared.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations.mjs +42 -35
- package/fesm2022/c8y-ngx-components-operations.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-services-service-command-tab.mjs +49 -0
- package/fesm2022/c8y-ngx-components-services-service-command-tab.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-services-shared.mjs +145 -0
- package/fesm2022/c8y-ngx-components-services-shared.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-services.mjs +20 -113
- package/fesm2022/c8y-ngx-components-services.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +1075 -1253
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +136 -76
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/interval-picker/interval-picker.model.d.ts +6 -0
- package/interval-picker/interval-picker.model.d.ts.map +1 -1
- package/locales/de.po +52 -41
- package/locales/es.po +52 -41
- package/locales/fr.po +51 -40
- package/locales/ja_JP.po +53 -43
- package/locales/ko.po +51 -34
- package/locales/locales.pot +42 -31
- package/locales/nl.po +52 -41
- package/locales/pl.po +52 -40
- package/locales/pt_BR.po +51 -40
- package/locales/zh_CN.po +50 -33
- package/locales/zh_TW.po +50 -33
- package/operations/bulk-operation-list-item/bulk-operation-list-item.service.d.ts +2 -2
- package/operations/bulk-operation-list-item/bulk-operation-list-item.service.d.ts.map +1 -1
- package/operations/operation-details/operation-details.module.d.ts +1 -1
- package/operations/operations-list/device-control.feature.d.ts +4 -0
- package/operations/operations-list/device-control.feature.d.ts.map +1 -0
- package/operations/operations-list/index.d.ts +3 -2
- package/operations/operations-list/index.d.ts.map +1 -1
- package/operations/operations-list/operations-list-item.component.d.ts +1 -1
- package/operations/operations-list/operations-list-item.component.d.ts.map +1 -1
- package/operations/operations-list/operations-list.component.d.ts +3 -1
- package/operations/operations-list/operations-list.component.d.ts.map +1 -1
- package/operations/operations-list/operations-list.module.d.ts +3 -9
- package/operations/operations-list/operations-list.module.d.ts.map +1 -1
- package/operations/operations.module.d.ts +1 -2
- package/operations/operations.module.d.ts.map +1 -1
- package/package.json +1 -1
- package/services/index.d.ts +13 -2
- package/services/index.d.ts.map +1 -1
- package/services/service-command-tab/c8y-ngx-components-services-service-command-tab.d.ts.map +1 -0
- package/services/service-command-tab/index.d.ts +3 -0
- package/services/service-command-tab/index.d.ts.map +1 -0
- package/services/service-command-tab/service-command-tab.component.d.ts +12 -0
- package/services/service-command-tab/service-command-tab.component.d.ts.map +1 -0
- package/services/service-command-tab/service-command.feature.d.ts +3 -0
- package/services/service-command-tab/service-command.feature.d.ts.map +1 -0
- package/services/services-device-tab/index.d.ts +8 -2
- package/services/services-device-tab/index.d.ts.map +1 -1
- package/services/services-device-tab/services-device-tab.component.d.ts +2 -2
- package/services/services-device-tab/services-device-tab.component.d.ts.map +1 -1
- package/services/services-device-tab/services.breadcrumb-factory.d.ts.map +1 -1
- package/services/services.module.d.ts.map +1 -1
- package/services/shared/c8y-ngx-components-services-shared.d.ts.map +1 -0
- package/services/shared/index.d.ts +3 -0
- package/services/shared/index.d.ts.map +1 -0
- package/services/{services-device-tab → shared}/service-command.service.d.ts +10 -7
- package/services/shared/service-command.service.d.ts.map +1 -0
- package/services/shared/services.model.d.ts +31 -0
- package/services/shared/services.model.d.ts.map +1 -0
- package/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.component.d.ts +3 -5
- package/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.component.d.ts.map +1 -1
- package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.component.d.ts +7 -2
- package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.component.d.ts.map +1 -1
- package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.service.d.ts +7 -27
- package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.service.d.ts.map +1 -1
- package/widgets/implementations/datapoints-table/datapoints-table-widget.model.d.ts +4 -3
- package/widgets/implementations/datapoints-table/datapoints-table-widget.model.d.ts.map +1 -1
- package/widgets/implementations/datapoints-table/datapoints-table.service.d.ts +5 -5
- package/widgets/implementations/datapoints-table/datapoints-table.service.d.ts.map +1 -1
- package/core/common/aggregation/aggregation.model.d.ts.map +0 -1
- package/core/common/aggregation/aggregation.service.d.ts +0 -17
- package/core/common/aggregation/aggregation.service.d.ts.map +0 -1
- package/esm2022/core/common/aggregation/aggregation.model.mjs +0 -46
- package/esm2022/core/common/aggregation/aggregation.service.mjs +0 -34
- package/esm2022/services/services-device-tab/service-command.service.mjs +0 -113
- package/esm2022/services/services-device-tab/service-device-tab.model.mjs +0 -2
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.service.mjs +0 -124
- package/services/services-device-tab/service-command.service.d.ts.map +0 -1
- package/services/services-device-tab/service-device-tab.model.d.ts +0 -11
- package/services/services-device-tab/service-device-tab.model.d.ts.map +0 -1
- package/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.service.d.ts +0 -56
- package/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.service.d.ts.map +0 -1
- /package/core/{common/aggregation → aggregation}/aggregation.model.d.ts +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { EventEmitter } from '@angular/core';
|
|
2
2
|
import { ActivatedRoute } from '@angular/router';
|
|
3
3
|
import { InventoryService } from '@c8y/client';
|
|
4
|
-
import { Column, DataGridService, DataSourceModifier,
|
|
4
|
+
import { ActionControl, Column, DataGridService, DataSourceModifier, ServerSideDataResult } from '@c8y/ngx-components';
|
|
5
|
+
import { ServiceCommandService } from '@c8y/ngx-components/services/shared';
|
|
5
6
|
import { StatusOptionsService } from '../status-options';
|
|
6
|
-
import { ServiceCommandService } from './service-command.service';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export declare class ServicesDeviceTabComponent {
|
|
9
9
|
private route;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services-device-tab.component.d.ts","sourceRoot":"","sources":["../../../services/services-device-tab/services-device-tab.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAkB,gBAAgB,EAA4B,MAAM,aAAa,CAAC;AACzF,OAAO,EACL,MAAM,EACN,eAAe,EACf,kBAAkB,
|
|
1
|
+
{"version":3,"file":"services-device-tab.component.d.ts","sourceRoot":"","sources":["../../../services/services-device-tab/services-device-tab.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAkB,gBAAgB,EAA4B,MAAM,aAAa,CAAC;AACzF,OAAO,EACL,aAAa,EACb,MAAM,EACN,eAAe,EACf,kBAAkB,EAElB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,qBAAqB,EACtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;;AAQzD,qBAIa,0BAA0B;IA6BnC,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,oBAAoB;IAC5B,OAAO,CAAC,cAAc;IAhCxB,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAkD;IAE3E,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,eAAe,UAAS;IAExB,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,CAAsB;IAClD,UAAU;;;MAGR;IAEF,cAAc,EAAE,aAAa,EAAE,CAAM;IACrC,OAAO,EAAE,MAAM,EAAE,CAKf;IAEF,sBAAsB,EAAE,GAAG,CAAC;IAE5B,gBAAgB,2BAAqC;IACrD,aAAa,4BAAsC;IACnD,iBAAiB,qDAA+D;IAEhF,OAAO,CAAC,WAAW,CAAkC;gBAG3C,KAAK,EAAE,cAAc,EACrB,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,eAAe,EAC5B,oBAAoB,EAAE,oBAAoB,EAC1C,cAAc,EAAE,qBAAqB;IAezC,oBAAoB,CACxB,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC,oBAAoB,CAAC;IA6ChC,WAAW,CAAC,MAAM,KAAA,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;yCA/FhC,0BAA0B;2CAA1B,0BAA0B;CAkGtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.breadcrumb-factory.d.ts","sourceRoot":"","sources":["../../../services/services-device-tab/services.breadcrumb-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAW,MAAM,aAAa,CAAC;AACxD,OAAO,EACL,UAAU,EACV,iBAAiB,EAIlB,MAAM,qBAAqB,CAAC;;AAE7B,qBACa,yBAA0B,YAAW,iBAAiB;IAGrD,OAAO,CAAC,gBAAgB;IAFpC,OAAO,CAAC,WAAW,CAAC;gBAEA,gBAAgB,EAAE,gBAAgB;IAEhD,GAAG,CAAC,KAAK,EAAE,cAAc;yCALpB,yBAAyB;6CAAzB,yBAAyB;
|
|
1
|
+
{"version":3,"file":"services.breadcrumb-factory.d.ts","sourceRoot":"","sources":["../../../services/services-device-tab/services.breadcrumb-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAW,MAAM,aAAa,CAAC;AACxD,OAAO,EACL,UAAU,EACV,iBAAiB,EAIlB,MAAM,qBAAqB,CAAC;;AAE7B,qBACa,yBAA0B,YAAW,iBAAiB;IAGrD,OAAO,CAAC,gBAAgB;IAFpC,OAAO,CAAC,WAAW,CAAC;gBAEA,gBAAgB,EAAE,gBAAgB;IAEhD,GAAG,CAAC,KAAK,EAAE,cAAc;yCALpB,yBAAyB;6CAAzB,yBAAyB;CAwDrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.module.d.ts","sourceRoot":"","sources":["../../services/services.module.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"services.module.d.ts","sourceRoot":"","sources":["../../services/services.module.ts"],"names":[],"mappings":";;;AAKA,qBAIa,cAAc;yCAAd,cAAc;0CAAd,cAAc;0CAAd,cAAc;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-services-shared.d.ts","sourceRoot":"","sources":["../../../services/shared/c8y-ngx-components-services-shared.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../services/shared/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { OperationService, IOperation, IResult } from '@c8y/client';
|
|
1
|
+
import { IOperation, IResult, OperationService } from '@c8y/client';
|
|
3
2
|
import { ActionControl, AlertService } from '@c8y/ngx-components';
|
|
4
|
-
import { Service } from './
|
|
3
|
+
import { Service } from './services.model';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
export declare class ServiceCommandService {
|
|
7
6
|
private operationService;
|
|
8
7
|
private alertService;
|
|
9
|
-
private readonly DEFAULT_COMMANDS;
|
|
10
|
-
private commandIcons;
|
|
11
8
|
constructor(operationService: OperationService, alertService: AlertService);
|
|
12
9
|
/**
|
|
13
10
|
* Check if the service supports service commands.
|
|
@@ -38,9 +35,9 @@ export declare class ServiceCommandService {
|
|
|
38
35
|
* Create an operation for the selected service command.
|
|
39
36
|
* @param service The service object the operation should target.
|
|
40
37
|
* @param command The command to execute (e.g., START, STOP).
|
|
41
|
-
* @returns
|
|
38
|
+
* @returns Promise of the created operation.
|
|
42
39
|
*/
|
|
43
|
-
createOperation({ id, name, serviceType }: Service, command: string):
|
|
40
|
+
createOperation({ id, name, serviceType }: Service, command: string): Promise<IResult<IOperation>>;
|
|
44
41
|
/**
|
|
45
42
|
* Generate a static list of action controls.
|
|
46
43
|
* The specific logic for each service is handled dynamically in showIf and callback.
|
|
@@ -53,6 +50,12 @@ export declare class ServiceCommandService {
|
|
|
53
50
|
* @returns Icon string for the command.
|
|
54
51
|
*/
|
|
55
52
|
private getCommandIcon;
|
|
53
|
+
/**
|
|
54
|
+
* Get the icon class for a specific command.
|
|
55
|
+
* @param command The command name.
|
|
56
|
+
* @returns Icon class string for the command.
|
|
57
|
+
*/
|
|
58
|
+
private getCommandIconClass;
|
|
56
59
|
static ɵfac: i0.ɵɵFactoryDeclaration<ServiceCommandService, never>;
|
|
57
60
|
static ɵprov: i0.ɵɵInjectableDeclaration<ServiceCommandService>;
|
|
58
61
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-command.service.d.ts","sourceRoot":"","sources":["../../../services/shared/service-command.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAW,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EAAE,OAAO,EAAwB,MAAM,kBAAkB,CAAC;;AAEjE,qBAGa,qBAAqB;IAE9B,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,YAAY;gBADZ,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY;IAGpC;;;;OAIG;IACH,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAIpD;;;;OAIG;IACH,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE;IAIhD;;;;;OAKG;IACH,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IAK9D;;;;OAIG;IACH,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE;IAQtD;;;;;OAKG;IACH,eAAe,CACb,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,OAAO,EAClC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAc/B;;;;OAIG;IACH,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE;IAoB3D;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAItB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;yCA9GhB,qBAAqB;6CAArB,qBAAqB;CAiHjC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export declare const SERVICE_FRAGMENT = "c8y_Service";
|
|
2
|
+
export declare const SERVICE_COMMANDS_MAP: {
|
|
3
|
+
START: {
|
|
4
|
+
label: "Start";
|
|
5
|
+
command: string;
|
|
6
|
+
icon: string;
|
|
7
|
+
styleClass: string;
|
|
8
|
+
};
|
|
9
|
+
STOP: {
|
|
10
|
+
label: "Stop";
|
|
11
|
+
command: string;
|
|
12
|
+
icon: string;
|
|
13
|
+
styleClass: string;
|
|
14
|
+
};
|
|
15
|
+
RESTART: {
|
|
16
|
+
label: "Restart";
|
|
17
|
+
command: string;
|
|
18
|
+
icon: string;
|
|
19
|
+
styleClass: string;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export interface Service {
|
|
23
|
+
id: string;
|
|
24
|
+
name: string;
|
|
25
|
+
serviceType: string;
|
|
26
|
+
status: string;
|
|
27
|
+
c8y_SupportedOperations?: string[];
|
|
28
|
+
c8y_SupportedServiceCommands?: string[];
|
|
29
|
+
[key: string]: unknown;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=services.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"services.model.d.ts","sourceRoot":"","sources":["../../../services/shared/services.model.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAE9C,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;CAmBhC,CAAC;AAEF,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,4BAA4B,CAAC,EAAE,MAAM,EAAE,CAAC;IACxC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
2
|
import { FormBuilder, NgForm, ValidatorFn } from '@angular/forms';
|
|
3
|
-
import { AggregationOptionStatus } from '@c8y/ngx-components';
|
|
3
|
+
import { AggregationOptionStatus, AggregationService } from '@c8y/ngx-components';
|
|
4
4
|
import { WidgetConfigComponent } from '@c8y/ngx-components/context-dashboard';
|
|
5
5
|
import { DatapointAttributesFormConfig, DatapointSelectorModalOptions } from '@c8y/ngx-components/datapoint-selector';
|
|
6
6
|
import { DatapointsTableConfig } from '../datapoints-table-widget.model';
|
|
7
7
|
import { DatapointsTableService } from '../datapoints-table.service';
|
|
8
|
-
import { DatapointsTableConfigService } from './datapoints-table-config.service';
|
|
9
8
|
import * as i0 from "@angular/core";
|
|
10
9
|
export declare function minOneDatapointActive(): ValidatorFn;
|
|
11
10
|
export declare class DatapointsTableWidgetConfigComponent implements OnInit, OnDestroy {
|
|
11
|
+
private aggregationService;
|
|
12
12
|
private datapointsTableService;
|
|
13
|
-
private datapointsTableConfigService;
|
|
14
13
|
private formBuilder;
|
|
15
14
|
private form;
|
|
16
15
|
private widgetConfig;
|
|
@@ -63,7 +62,7 @@ export declare class DatapointsTableWidgetConfigComponent implements OnInit, OnD
|
|
|
63
62
|
*/
|
|
64
63
|
private isIntervalSelectorChangedProgrammatically;
|
|
65
64
|
private destroy$;
|
|
66
|
-
constructor(
|
|
65
|
+
constructor(aggregationService: AggregationService, datapointsTableService: DatapointsTableService, formBuilder: FormBuilder, form: NgForm, widgetConfig: WidgetConfigComponent);
|
|
67
66
|
ngOnInit(): void;
|
|
68
67
|
ngOnDestroy(): void;
|
|
69
68
|
onBeforeSave(config?: DatapointsTableConfig): void;
|
|
@@ -71,7 +70,6 @@ export declare class DatapointsTableWidgetConfigComponent implements OnInit, OnD
|
|
|
71
70
|
private updateTimeContext;
|
|
72
71
|
private initForm;
|
|
73
72
|
private createForm;
|
|
74
|
-
private determineGlobalDateSelectorValue;
|
|
75
73
|
private isAutoRefershDisabled;
|
|
76
74
|
/**
|
|
77
75
|
* Handles changes to the auto-refresh toggle control and updates the aggregation control accordingly.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datapoints-table-config.component.d.ts","sourceRoot":"","sources":["../../../../../widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAEL,WAAW,EAEX,MAAM,EAGN,WAAW,EAEZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAKL,uBAAuB,
|
|
1
|
+
{"version":3,"file":"datapoints-table-config.component.d.ts","sourceRoot":"","sources":["../../../../../widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAEL,WAAW,EAEX,MAAM,EAGN,WAAW,EAEZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAKL,uBAAuB,EACvB,kBAAkB,EAEnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,EAG9B,MAAM,wCAAwC,CAAC;AAKhD,OAAO,EACL,qBAAqB,EAStB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;;AAGrE,wBAAgB,qBAAqB,IAAI,WAAW,CAenD;AAED,qBAYa,oCAAqC,YAAW,MAAM,EAAE,SAAS;IAmD1E,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,YAAY;IAtDtB;;OAEG;IACM,MAAM,EAAE,qBAAqB,CAAC;IAEvC,QAAQ,CAAC,kBAAkB;;;;;MAAsB;IACjD,QAAQ,CAAC,qBAAqB;;;;MAAyB;IAGvD,QAAQ,CAAC,2BAA2B,WAAgC;IACpE,QAAQ,CAAC,sBAAsB,UAAyB;IACxD,QAAQ,CAAC,0BAA0B;;;;;;;MAA8B;IAEjE,QAAQ,CAAC,sBAAsB,uLAA0B;IACzD,QAAQ,CAAC,yBAAyB,yCAA6B;IAC/D,QAAQ,CAAC,mBAAmB,qEAAuB;IACnD,QAAQ,CAAC,2BAA2B,WAA+B;IAEnE,wBAAwB,EAAE,OAAO,CAAC,6BAA6B,CAAC,CAAM;IACtE,0BAA0B,EAAE,uBAAuB,CAAM;IACzD,kBAAkB,EAAE,OAAO,CAAC,6BAA6B,CAAC,CAKxD;IACF,SAAS,EAAE,UAAU,CAAC,oCAAoC,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1E,iCAAiC,EAAE,OAAO,CAAC;IAE3C,OAAO,CAAC,aAAa,CAGV;IAEX;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,yCAAyC,CAAS;IAC1D,OAAO,CAAC,QAAQ,CAAuB;gBAG7B,kBAAkB,EAAE,kBAAkB,EACtC,sBAAsB,EAAE,sBAAsB,EAC9C,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,qBAAqB;IAG7C,QAAQ,IAAI,IAAI;IAoBhB,WAAW,IAAI,IAAI;IAKnB,YAAY,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,IAAI;IAalD,4BAA4B,IAAI,IAAI;IAMpC,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,UAAU;IAwClB,OAAO,CAAC,qBAAqB;IAqB7B;;;;;;;OAOG;IACH,OAAO,CAAC,8BAA8B;IActC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAarC,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,gCAAgC;IAOxC,OAAO,CAAC,sCAAsC;IAO9C,OAAO,CAAC,mBAAmB;IAO3B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IASjC,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,8BAA8B;IAItC,OAAO,CAAC,mBAAmB;IAI3B;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAcvC,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,uCAAuC;IAI/C,OAAO,CAAC,4BAA4B;IASpC;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,kEAAkE;yCAzX/D,oCAAoC;2CAApC,oCAAoC;CAsYhD"}
|
|
@@ -2,13 +2,14 @@ import { OnDestroy, OnInit } from '@angular/core';
|
|
|
2
2
|
import { FormBuilder } from '@angular/forms';
|
|
3
3
|
import { DynamicComponentAlertAggregator } from '@c8y/ngx-components';
|
|
4
4
|
import { KPIDetails } from '@c8y/ngx-components/datapoint-selector';
|
|
5
|
+
import { DataFetchingService, ExportConfig, SourceId } from '@c8y/ngx-components/datapoints-export-selector';
|
|
5
6
|
import { TranslateService } from '@ngx-translate/core';
|
|
6
|
-
import { SourceId } from '@c8y/ngx-components/datapoints-export-selector';
|
|
7
7
|
import { DatapointWithValues, DatapointsTableConfig, GroupedDatapointTableItem, TableColumnHeader } from '../datapoints-table-widget.model';
|
|
8
8
|
import { DatapointsTableService } from '../datapoints-table.service';
|
|
9
9
|
import { DatapointsTableViewService } from './datapoints-table-view.service';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
export declare class DatapointsTableViewWidgetComponent implements OnInit, OnDestroy {
|
|
12
|
+
private dataFetchingService;
|
|
12
13
|
private datapointsTableConfigService;
|
|
13
14
|
private datapointsTableViewService;
|
|
14
15
|
private formBuilder;
|
|
@@ -36,6 +37,7 @@ export declare class DatapointsTableViewWidgetComponent implements OnInit, OnDes
|
|
|
36
37
|
/**
|
|
37
38
|
* Represents a configuration options used by a c8y-datapoints-export-selector.
|
|
38
39
|
*/
|
|
40
|
+
exportConfig: ExportConfig;
|
|
39
41
|
formGroup: ReturnType<DatapointsTableViewWidgetComponent['createForm']>;
|
|
40
42
|
/**
|
|
41
43
|
* Indicates whether there is more than one data point.
|
|
@@ -65,7 +67,7 @@ export declare class DatapointsTableViewWidgetComponent implements OnInit, OnDes
|
|
|
65
67
|
* The message is only displayed when a component is initialized.
|
|
66
68
|
*/
|
|
67
69
|
private isMissingAnyPermissionAlertShown;
|
|
68
|
-
constructor(datapointsTableConfigService: DatapointsTableService, datapointsTableViewService: DatapointsTableViewService, formBuilder: FormBuilder, translateService: TranslateService);
|
|
70
|
+
constructor(dataFetchingService: DataFetchingService, datapointsTableConfigService: DatapointsTableService, datapointsTableViewService: DatapointsTableViewService, formBuilder: FormBuilder, translateService: TranslateService);
|
|
69
71
|
ngOnInit(): Promise<void>;
|
|
70
72
|
ngOnDestroy(): void;
|
|
71
73
|
onDateChange(data: {
|
|
@@ -117,6 +119,9 @@ export declare class DatapointsTableViewWidgetComponent implements OnInit, OnDes
|
|
|
117
119
|
private getActiveDatapointsSeriesDataMap;
|
|
118
120
|
private handleMissingAnyPermissionErrorMessage;
|
|
119
121
|
private getMissingPermissionsMessage;
|
|
122
|
+
private updateExportConfigDateRange;
|
|
123
|
+
private adjustTargetDateBasedOnConditionTime;
|
|
124
|
+
private syncExportConfigDates;
|
|
120
125
|
static ɵfac: i0.ɵɵFactoryDeclaration<DatapointsTableViewWidgetComponent, never>;
|
|
121
126
|
static ɵcmp: i0.ɵɵComponentDeclaration<DatapointsTableViewWidgetComponent, "c8y-datapoints-table-view", never, { "config": { "alias": "config"; "required": false; }; }, {}, never, never, true, never>;
|
|
122
127
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datapoints-table-view.component.d.ts","sourceRoot":"","sources":["../../../../../widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,EAAU,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAoC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"datapoints-table-view.component.d.ts","sourceRoot":"","sources":["../../../../../widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ISeries } from '@c8y/client';
|
|
2
2
|
import { KPIDetails } from '@c8y/ngx-components/datapoint-selector';
|
|
3
|
-
import { DatapointsValuesDataMap, MinMaxValues, SourceId
|
|
3
|
+
import { DataFetchingService, DatapointsValuesDataMap, MinMaxValues, SourceId } from '@c8y/ngx-components/datapoints-export-selector';
|
|
4
|
+
import { Interval } from '@c8y/ngx-components/interval-picker';
|
|
4
5
|
import { DataPointsTableMap, DatapointTableItem, DatapointWithValues, DatapointsSeriesDataMap, DatapointsTableConfig, GroupedDatapointTableItem, TableColumnHeader, Value } from '../datapoints-table-widget.model';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export declare class DatapointsTableViewService {
|
|
7
|
-
private
|
|
8
|
-
constructor(
|
|
8
|
+
private dataFetchingService;
|
|
9
|
+
constructor(dataFetchingService: DataFetchingService);
|
|
9
10
|
/**
|
|
10
11
|
* Filters out inactive data points from the given array.
|
|
11
12
|
*
|
|
@@ -49,28 +50,6 @@ export declare class DatapointsTableViewService {
|
|
|
49
50
|
* @returns A Promise that resolves to a Map object with data point IDs as keys and DataObject as values or undefined when all series has forbidden access.
|
|
50
51
|
*/
|
|
51
52
|
getAllActiveSeriesDataMap(datapointsValuesDataMap: DatapointsValuesDataMap, config: DatapointsTableConfig, roundSeconds: boolean): Promise<Map<string | number, ISeries>>;
|
|
52
|
-
/**
|
|
53
|
-
* Asynchronously loads series data based on the provided parameters.
|
|
54
|
-
*
|
|
55
|
-
* This method constructs a filter for retrieving series data within a specified date range,
|
|
56
|
-
* from a specific source, and optionally applying an aggregation type.
|
|
57
|
-
*
|
|
58
|
-
* @param params - The parameters for loading series data, including date range, source, series names, and aggregation type.
|
|
59
|
-
* @param roundSeconds - Indicates whether to round the seconds in the date range to the nearest whole number.
|
|
60
|
-
* @returns A promise that resolves to series data wrapped in result object.
|
|
61
|
-
*/
|
|
62
|
-
loadSeriesData(params: ISeriesFilter, roundSeconds: boolean): Promise<IResult<ISeries>>;
|
|
63
|
-
/**
|
|
64
|
-
* Adjusts the given date by adding the specified number of minutes and setting seconds to 0.
|
|
65
|
-
*
|
|
66
|
-
* @param date - The date to be adjusted in string format.
|
|
67
|
-
* @param minutes - The number of minutes to add to the date.
|
|
68
|
-
* @param roundSeconds - Whether to round the seconds or not.
|
|
69
|
-
* If true, the seconds will be rounded to 0.
|
|
70
|
-
* If false, the seconds will be displayed as they are.
|
|
71
|
-
* @returns The adjusted date in ISO string format.
|
|
72
|
-
*/
|
|
73
|
-
adjustDate(date: string | Date, minutes: number, roundSeconds?: boolean): string;
|
|
74
53
|
/**
|
|
75
54
|
* Creates an array of DatapointsWithValues based on the provided datapoints and datapointsSeriesDataMap.
|
|
76
55
|
*
|
|
@@ -143,7 +122,7 @@ export declare class DatapointsTableViewService {
|
|
|
143
122
|
* @param interval - The selected interval type.
|
|
144
123
|
* @returns An object containing the `dateFrom` and `dateTo` in ISO string format.
|
|
145
124
|
*/
|
|
146
|
-
prepareTimeRange(interval:
|
|
125
|
+
prepareTimeRange(interval: Interval['id'], dateFromInput: string, dateToInput: string): {
|
|
147
126
|
dateFrom: string;
|
|
148
127
|
dateTo: string;
|
|
149
128
|
};
|
|
@@ -160,6 +139,7 @@ export declare class DatapointsTableViewService {
|
|
|
160
139
|
key: SourceId;
|
|
161
140
|
value: string[];
|
|
162
141
|
}[];
|
|
142
|
+
hasSecondsAndMillisecondsEqualZero(timeString: string): boolean;
|
|
163
143
|
/**
|
|
164
144
|
* Converts a date string to ISO format.
|
|
165
145
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datapoints-table-view.service.d.ts","sourceRoot":"","sources":["../../../../../widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.service.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"datapoints-table-view.service.d.ts","sourceRoot":"","sources":["../../../../../widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,OAAO,EAAkC,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,QAAQ,EACT,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAmB,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,EAElB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EAErB,yBAAyB,EAGzB,iBAAiB,EACjB,KAAK,EACN,MAAM,kCAAkC,CAAC;;AAS1C,qBAGa,0BAA0B;IACzB,OAAO,CAAC,mBAAmB;gBAAnB,mBAAmB,EAAE,mBAAmB;IAE5D;;;;;OAKG;IACH,2BAA2B,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE;IAInE,qBAAqB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,OAAO;IAKxD;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,qBAAqB,CAAC,gBAAgB,EAAE,UAAU,EAAE,GAAG,uBAAuB;IAY9E;;;;;;;;;OASG;IACG,yBAAyB,CAC7B,uBAAuB,EAAE,uBAAuB,EAChD,MAAM,EAAE,qBAAqB,EAC7B,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC;IAiCzC;;;;;;;;OAQG;IACH,uBAAuB,CACrB,UAAU,EAAE,UAAU,EAAE,EACxB,uBAAuB,EAAE,uBAAuB,GAC/C,mBAAmB,EAAE;IA4BxB;;;;;OAKG;IACH,gBAAgB,CAAC,oBAAoB,EAAE,UAAU,EAAE,GAAG,iBAAiB,EAAE;IAQzE,6BAA6B,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,GAAG,kBAAkB,EAAE;IA6BhG;;;;;;;;;;;;;;;OAeG;IACH,gBAAgB,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,KAAK,GAAG,IAAI;IAoB3D;;;;;;OAMG;IACH,oBAAoB,CAClB,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,UAAU,EAAE,iBAAiB,EAAE,GAC9B,yBAAyB,EAAE;IAK9B;;;;;;;;;;;OAWG;IACH,oBAAoB,CAClB,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,wBAAwB,EAAE,iBAAiB,EAAE,GAC5C,kBAAkB;IA6BrB;;;;;OAKG;IACH,eAAe,CAAC,GAAG,EAAE,kBAAkB,GAAG,yBAAyB,EAAE;IAmBrE,wBAAwB,CAAC,IAAI,EAAE,yBAAyB,EAAE,GAAG,yBAAyB,EAAE;IAMxF;;;;;;;OAOG;IACH,gBAAgB,CACd,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,EACxB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAClB;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAqBvC;;;;;;;OAOG;IACH,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAuB5D,gCAAgC,CAC9B,0BAA0B,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACrE,6BAA6B,EAAE,uBAAuB,GACrD;QAAE,GAAG,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE;IAcvC,kCAAkC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAa/D;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,uCAAuC;IAQ/C,OAAO,CAAC,0BAA0B;IAclC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;;;;OAKG;IACH,OAAO,CAAC,2BAA2B;yCA1cxB,0BAA0B;6CAA1B,0BAA0B;CA6ctC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { IFetchResponse, ISeries } from '@c8y/client';
|
|
2
2
|
import { AggregationOption } from '@c8y/ngx-components';
|
|
3
3
|
import { KPIDetails } from '@c8y/ngx-components/datapoint-selector';
|
|
4
|
-
import { MinMaxValues, SourceId,
|
|
5
|
-
|
|
4
|
+
import { MinMaxValues, SourceId, TimeStamp } from '@c8y/ngx-components/datapoints-export-selector';
|
|
5
|
+
import { Interval } from '@c8y/ngx-components/interval-picker';
|
|
6
|
+
export declare const DEFAULT_DPT_REFRESH_INTERVAL_VALUE = 30000;
|
|
6
7
|
export type DatapointTableMapKey = `${TimeStamp}_${DeviceName}`;
|
|
7
8
|
/**
|
|
8
9
|
* Represents a mapping where the key is a datapoint identifier containing the date and device name, and the value is an array of data point table items or null.
|
|
@@ -131,7 +132,7 @@ export interface DatapointsTableConfig {
|
|
|
131
132
|
globalRealtimeContext: boolean;
|
|
132
133
|
globalAggregationContext: boolean;
|
|
133
134
|
};
|
|
134
|
-
interval:
|
|
135
|
+
interval: Interval['id'];
|
|
135
136
|
isAutoRefreshEnabled: boolean;
|
|
136
137
|
realtime: boolean;
|
|
137
138
|
refreshInterval?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datapoints-table-widget.model.d.ts","sourceRoot":"","sources":["../../../../widgets/implementations/datapoints-table/datapoints-table-widget.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAW,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,
|
|
1
|
+
{"version":3,"file":"datapoints-table-widget.model.d.ts","sourceRoot":"","sources":["../../../../widgets/implementations/datapoints-table/datapoints-table-widget.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { DataFetchingService } from '@c8y/ngx-components/datapoints-export-selector';
|
|
2
|
+
import { Interval } from '@c8y/ngx-components/interval-picker';
|
|
3
3
|
import { DateRange } from './datapoints-table-widget.model';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class DatapointsTableService {
|
|
6
|
-
private
|
|
7
|
-
constructor(
|
|
8
|
-
calculateDateRange(interval:
|
|
6
|
+
private dataFetchingService;
|
|
7
|
+
constructor(dataFetchingService: DataFetchingService);
|
|
8
|
+
calculateDateRange(interval: Interval['id']): DateRange;
|
|
9
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<DatapointsTableService, never>;
|
|
10
10
|
static ɵprov: i0.ɵɵInjectableDeclaration<DatapointsTableService>;
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datapoints-table.service.d.ts","sourceRoot":"","sources":["../../../../widgets/implementations/datapoints-table/datapoints-table.service.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"datapoints-table.service.d.ts","sourceRoot":"","sources":["../../../../widgets/implementations/datapoints-table/datapoints-table.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAmB,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;;AAE5D,qBAGa,sBAAsB;IACrB,OAAO,CAAC,mBAAmB;gBAAnB,mBAAmB,EAAE,mBAAmB;IAE5D,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS;yCAH5C,sBAAsB;6CAAtB,sBAAsB;CAuClC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"aggregation.model.d.ts","sourceRoot":"","sources":["../../../../core/common/aggregation/aggregation.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI9C,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,eAAe,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,WAAW,EAKrC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;CAI9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,eAAe,GAAG,WAAW,EAAE,MAAM,CAK3E,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,eAAe,GAAG,WAAW,GAAG,UAAU,EAAE,MAAM,CAMxF,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;CAKrB,CAAC;AAEX,eAAO,MAAM,sBAAsB,4FAKzB,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;;CAKrB,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,kBAAkB,CAAC,IAAI,GAAG,GAAG,eAAe,EAAE,CAAC;AACtF;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG;KACnC,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,OAAO;CACrC,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { AggregationOptionStatus } from './aggregation.model';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class AggregationService {
|
|
4
|
-
/**
|
|
5
|
-
* Determines which aggregation options should be disabled based on the time range between two dates.
|
|
6
|
-
* It calculates the time difference and checks against predefined time spans to decide if daily,
|
|
7
|
-
* hourly, or minutely aggregations should be disabled.
|
|
8
|
-
*
|
|
9
|
-
* @param dateFrom - The start date of the time range, as a `Date` object or an ISO date string.
|
|
10
|
-
* @param dateTo - The end date of the time range, as a `Date` object or an ISO date string.
|
|
11
|
-
* @returns An `AggregationOptionStatus` object indicating the disabled state of each aggregation option.
|
|
12
|
-
*/
|
|
13
|
-
getDisabledAggregationOptions(dateFrom: Date | string, dateTo: Date | string): AggregationOptionStatus;
|
|
14
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AggregationService, never>;
|
|
15
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<AggregationService>;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=aggregation.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"aggregation.service.d.ts","sourceRoot":"","sources":["../../../../core/common/aggregation/aggregation.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;;AAGlF,qBAGa,kBAAkB;IAC7B;;;;;;;;OAQG;IACH,6BAA6B,CAC3B,QAAQ,EAAE,IAAI,GAAG,MAAM,EACvB,MAAM,EAAE,IAAI,GAAG,MAAM,GACpB,uBAAuB;yCAbf,kBAAkB;6CAAlB,kBAAkB;CAyB9B"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { aggregationType } from '@c8y/client';
|
|
2
|
-
import { gettext } from '../../i18n';
|
|
3
|
-
import { TimeSpanInMs } from '@c8y/ngx-components/interval-picker';
|
|
4
|
-
export const AGGREGATIONS = [
|
|
5
|
-
{ id: null, title: gettext('None') },
|
|
6
|
-
{ id: aggregationType.MINUTELY, title: gettext('Minutely') },
|
|
7
|
-
{ id: aggregationType.HOURLY, title: gettext('Hourly') },
|
|
8
|
-
{ id: aggregationType.DAILY, title: gettext('Daily') }
|
|
9
|
-
];
|
|
10
|
-
export const AGGREGATION_LIMITS = {
|
|
11
|
-
MINUTELY_LIMIT: TimeSpanInMs.MINUTE * 10,
|
|
12
|
-
HOURLY_LIMIT: TimeSpanInMs.DAY * 1,
|
|
13
|
-
DAILY_LIMIT: TimeSpanInMs.DAY * 4
|
|
14
|
-
};
|
|
15
|
-
export const AGGREGATION_ICONS = {
|
|
16
|
-
undefined: 'line-chart',
|
|
17
|
-
MINUTELY: 'hourglass',
|
|
18
|
-
HOURLY: 'clock-o',
|
|
19
|
-
DAILY: 'calendar-o'
|
|
20
|
-
};
|
|
21
|
-
export const AGGREGATION_TEXTS = {
|
|
22
|
-
disabled: gettext('No aggregation with realtime enabled'),
|
|
23
|
-
undefined: gettext('No aggregation'),
|
|
24
|
-
MINUTELY: gettext('Minutely aggregation'),
|
|
25
|
-
HOURLY: gettext('Hourly aggregation'),
|
|
26
|
-
DAILY: gettext('Daily aggregation')
|
|
27
|
-
};
|
|
28
|
-
export const AGGREGATION_VALUES = {
|
|
29
|
-
none: 'NONE',
|
|
30
|
-
minutely: aggregationType.MINUTELY,
|
|
31
|
-
hourly: aggregationType.HOURLY,
|
|
32
|
-
daily: aggregationType.DAILY
|
|
33
|
-
};
|
|
34
|
-
export const AGGREGATION_VALUES_ARR = [
|
|
35
|
-
AGGREGATION_VALUES.none,
|
|
36
|
-
AGGREGATION_VALUES.minutely,
|
|
37
|
-
AGGREGATION_VALUES.hourly,
|
|
38
|
-
AGGREGATION_VALUES.daily
|
|
39
|
-
];
|
|
40
|
-
export const AGGREGATION_LABELS = {
|
|
41
|
-
NONE: AGGREGATIONS[0].title,
|
|
42
|
-
[aggregationType.MINUTELY]: AGGREGATIONS[1].title,
|
|
43
|
-
[aggregationType.HOURLY]: AGGREGATIONS[2].title,
|
|
44
|
-
[aggregationType.DAILY]: AGGREGATIONS[3].title
|
|
45
|
-
};
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9jb3JlL2NvbW1vbi9hZ2dyZWdhdGlvbi9hZ2dyZWdhdGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBT25FLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBa0I7SUFDekMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7SUFDcEMsRUFBRSxFQUFFLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO0lBQzVELEVBQUUsRUFBRSxFQUFFLGVBQWUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtJQUN4RCxFQUFFLEVBQUUsRUFBRSxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7Q0FDdkQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQ2hDLGNBQWMsRUFBRSxZQUFZLENBQUMsTUFBTSxHQUFHLEVBQUU7SUFDeEMsWUFBWSxFQUFFLFlBQVksQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUNsQyxXQUFXLEVBQUUsWUFBWSxDQUFDLEdBQUcsR0FBRyxDQUFDO0NBQ2xDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBa0Q7SUFDOUUsU0FBUyxFQUFFLFlBQVk7SUFDdkIsUUFBUSxFQUFFLFdBQVc7SUFDckIsTUFBTSxFQUFFLFNBQVM7SUFDakIsS0FBSyxFQUFFLFlBQVk7Q0FDcEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUErRDtJQUMzRixRQUFRLEVBQUUsT0FBTyxDQUFDLHNDQUFzQyxDQUFDO0lBQ3pELFNBQVMsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUM7SUFDcEMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQztJQUN6QyxNQUFNLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixDQUFDO0lBQ3JDLEtBQUssRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUM7Q0FDcEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQ2hDLElBQUksRUFBRSxNQUFNO0lBQ1osUUFBUSxFQUFFLGVBQWUsQ0FBQyxRQUFRO0lBQ2xDLE1BQU0sRUFBRSxlQUFlLENBQUMsTUFBTTtJQUM5QixLQUFLLEVBQUUsZUFBZSxDQUFDLEtBQUs7Q0FDcEIsQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHO0lBQ3BDLGtCQUFrQixDQUFDLElBQUk7SUFDdkIsa0JBQWtCLENBQUMsUUFBUTtJQUMzQixrQkFBa0IsQ0FBQyxNQUFNO0lBQ3pCLGtCQUFrQixDQUFDLEtBQUs7Q0FDaEIsQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQ2hDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztJQUMzQixDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztJQUNqRCxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztJQUMvQyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztDQUN0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWdncmVnYXRpb25UeXBlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgZ2V0dGV4dCB9IGZyb20gJy4uLy4uL2kxOG4nO1xuaW1wb3J0IHsgVGltZVNwYW5Jbk1zIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9pbnRlcnZhbC1waWNrZXInO1xuXG5leHBvcnQgdHlwZSBBZ2dyZWdhdGlvbiA9IHtcbiAgaWQ6IGFnZ3JlZ2F0aW9uVHlwZSB8IG51bGw7XG4gIHRpdGxlOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY29uc3QgQUdHUkVHQVRJT05TOiBBZ2dyZWdhdGlvbltdID0gW1xuICB7IGlkOiBudWxsLCB0aXRsZTogZ2V0dGV4dCgnTm9uZScpIH0sXG4gIHsgaWQ6IGFnZ3JlZ2F0aW9uVHlwZS5NSU5VVEVMWSwgdGl0bGU6IGdldHRleHQoJ01pbnV0ZWx5JykgfSxcbiAgeyBpZDogYWdncmVnYXRpb25UeXBlLkhPVVJMWSwgdGl0bGU6IGdldHRleHQoJ0hvdXJseScpIH0sXG4gIHsgaWQ6IGFnZ3JlZ2F0aW9uVHlwZS5EQUlMWSwgdGl0bGU6IGdldHRleHQoJ0RhaWx5JykgfVxuXTtcblxuZXhwb3J0IGNvbnN0IEFHR1JFR0FUSU9OX0xJTUlUUyA9IHtcbiAgTUlOVVRFTFlfTElNSVQ6IFRpbWVTcGFuSW5Ncy5NSU5VVEUgKiAxMCxcbiAgSE9VUkxZX0xJTUlUOiBUaW1lU3BhbkluTXMuREFZICogMSxcbiAgREFJTFlfTElNSVQ6IFRpbWVTcGFuSW5Ncy5EQVkgKiA0XG59O1xuXG5leHBvcnQgY29uc3QgQUdHUkVHQVRJT05fSUNPTlM6IFJlY29yZDxhZ2dyZWdhdGlvblR5cGUgfCAndW5kZWZpbmVkJywgc3RyaW5nPiA9IHtcbiAgdW5kZWZpbmVkOiAnbGluZS1jaGFydCcsXG4gIE1JTlVURUxZOiAnaG91cmdsYXNzJyxcbiAgSE9VUkxZOiAnY2xvY2stbycsXG4gIERBSUxZOiAnY2FsZW5kYXItbydcbn07XG5cbmV4cG9ydCBjb25zdCBBR0dSRUdBVElPTl9URVhUUzogUmVjb3JkPGFnZ3JlZ2F0aW9uVHlwZSB8ICd1bmRlZmluZWQnIHwgJ2Rpc2FibGVkJywgc3RyaW5nPiA9IHtcbiAgZGlzYWJsZWQ6IGdldHRleHQoJ05vIGFnZ3JlZ2F0aW9uIHdpdGggcmVhbHRpbWUgZW5hYmxlZCcpLFxuICB1bmRlZmluZWQ6IGdldHRleHQoJ05vIGFnZ3JlZ2F0aW9uJyksXG4gIE1JTlVURUxZOiBnZXR0ZXh0KCdNaW51dGVseSBhZ2dyZWdhdGlvbicpLFxuICBIT1VSTFk6IGdldHRleHQoJ0hvdXJseSBhZ2dyZWdhdGlvbicpLFxuICBEQUlMWTogZ2V0dGV4dCgnRGFpbHkgYWdncmVnYXRpb24nKVxufTtcblxuZXhwb3J0IGNvbnN0IEFHR1JFR0FUSU9OX1ZBTFVFUyA9IHtcbiAgbm9uZTogJ05PTkUnLFxuICBtaW51dGVseTogYWdncmVnYXRpb25UeXBlLk1JTlVURUxZLFxuICBob3VybHk6IGFnZ3JlZ2F0aW9uVHlwZS5IT1VSTFksXG4gIGRhaWx5OiBhZ2dyZWdhdGlvblR5cGUuREFJTFlcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBBR0dSRUdBVElPTl9WQUxVRVNfQVJSID0gW1xuICBBR0dSRUdBVElPTl9WQUxVRVMubm9uZSxcbiAgQUdHUkVHQVRJT05fVkFMVUVTLm1pbnV0ZWx5LFxuICBBR0dSRUdBVElPTl9WQUxVRVMuaG91cmx5LFxuICBBR0dSRUdBVElPTl9WQUxVRVMuZGFpbHlcbl0gYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBBR0dSRUdBVElPTl9MQUJFTFMgPSB7XG4gIE5PTkU6IEFHR1JFR0FUSU9OU1swXS50aXRsZSxcbiAgW2FnZ3JlZ2F0aW9uVHlwZS5NSU5VVEVMWV06IEFHR1JFR0FUSU9OU1sxXS50aXRsZSxcbiAgW2FnZ3JlZ2F0aW9uVHlwZS5IT1VSTFldOiBBR0dSRUdBVElPTlNbMl0udGl0bGUsXG4gIFthZ2dyZWdhdGlvblR5cGUuREFJTFldOiBBR0dSRUdBVElPTlNbM10udGl0bGVcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgYXZhaWxhYmxlIGFnZ3JlZ2F0aW9uIG9wdGlvbnMuXG4gKiBBZ2dyZWdhdGlvbiAnbm9uZScgaXMgbm90IGhhbmRsZWQgYnkgb3VyIGJhY2tlbmQuXG4gKi9cbmV4cG9ydCB0eXBlIEFnZ3JlZ2F0aW9uT3B0aW9uID0gdHlwZW9mIEFHR1JFR0FUSU9OX1ZBTFVFUy5ub25lIHwgYCR7YWdncmVnYXRpb25UeXBlfWA7XG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHN0YXR1cyBvZiBhZ2dyZWdhdGlvbiBvcHRpb25zLlxuICogVXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggYWdncmVnYXRpb24gb3B0aW9ucyBzaG91bGQgYmUgZGlzYWJsZWQuXG4gKi9cbmV4cG9ydCB0eXBlIEFnZ3JlZ2F0aW9uT3B0aW9uU3RhdHVzID0ge1xuICBba2V5IGluIEFnZ3JlZ2F0aW9uT3B0aW9uXT86IGJvb2xlYW47XG59O1xuIl19
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { AGGREGATION_VALUES } from './aggregation.model';
|
|
3
|
-
import { TimeSpanInMs } from '@c8y/ngx-components/interval-picker';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class AggregationService {
|
|
6
|
-
/**
|
|
7
|
-
* Determines which aggregation options should be disabled based on the time range between two dates.
|
|
8
|
-
* It calculates the time difference and checks against predefined time spans to decide if daily,
|
|
9
|
-
* hourly, or minutely aggregations should be disabled.
|
|
10
|
-
*
|
|
11
|
-
* @param dateFrom - The start date of the time range, as a `Date` object or an ISO date string.
|
|
12
|
-
* @param dateTo - The end date of the time range, as a `Date` object or an ISO date string.
|
|
13
|
-
* @returns An `AggregationOptionStatus` object indicating the disabled state of each aggregation option.
|
|
14
|
-
*/
|
|
15
|
-
getDisabledAggregationOptions(dateFrom, dateTo) {
|
|
16
|
-
const fromDate = typeof dateFrom === 'string' ? new Date(dateFrom) : dateFrom;
|
|
17
|
-
const toDate = typeof dateTo === 'string' ? new Date(dateTo) : dateTo;
|
|
18
|
-
const timeRangeInMs = toDate.valueOf() - fromDate.valueOf();
|
|
19
|
-
const disabledAggregationOptions = {};
|
|
20
|
-
disabledAggregationOptions[AGGREGATION_VALUES.daily] = timeRangeInMs <= TimeSpanInMs.DAY;
|
|
21
|
-
disabledAggregationOptions[AGGREGATION_VALUES.hourly] = timeRangeInMs <= TimeSpanInMs.HOUR;
|
|
22
|
-
disabledAggregationOptions[AGGREGATION_VALUES.minutely] = timeRangeInMs <= TimeSpanInMs.MINUTE;
|
|
23
|
-
return disabledAggregationOptions;
|
|
24
|
-
}
|
|
25
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AggregationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
26
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AggregationService, providedIn: 'root' }); }
|
|
27
|
-
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AggregationService, decorators: [{
|
|
29
|
-
type: Injectable,
|
|
30
|
-
args: [{
|
|
31
|
-
providedIn: 'root'
|
|
32
|
-
}]
|
|
33
|
-
}] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NvcmUvY29tbW9uL2FnZ3JlZ2F0aW9uL2FnZ3JlZ2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQTJCLE1BQU0scUJBQXFCLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQUtuRSxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCOzs7Ozs7OztPQVFHO0lBQ0gsNkJBQTZCLENBQzNCLFFBQXVCLEVBQ3ZCLE1BQXFCO1FBRXJCLE1BQU0sUUFBUSxHQUFHLE9BQU8sUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUM5RSxNQUFNLE1BQU0sR0FBRyxPQUFPLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDdEUsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUU1RCxNQUFNLDBCQUEwQixHQUE0QixFQUFFLENBQUM7UUFDL0QsMEJBQTBCLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEdBQUcsYUFBYSxJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUM7UUFDekYsMEJBQTBCLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEdBQUcsYUFBYSxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDM0YsMEJBQTBCLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLEdBQUcsYUFBYSxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFFL0YsT0FBTywwQkFBMEIsQ0FBQztJQUNwQyxDQUFDOzhHQXhCVSxrQkFBa0I7a0hBQWxCLGtCQUFrQixjQUZqQixNQUFNOzsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQUdHUkVHQVRJT05fVkFMVUVTLCBBZ2dyZWdhdGlvbk9wdGlvblN0YXR1cyB9IGZyb20gJy4vYWdncmVnYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgVGltZVNwYW5Jbk1zIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9pbnRlcnZhbC1waWNrZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBZ2dyZWdhdGlvblNlcnZpY2Uge1xuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGljaCBhZ2dyZWdhdGlvbiBvcHRpb25zIHNob3VsZCBiZSBkaXNhYmxlZCBiYXNlZCBvbiB0aGUgdGltZSByYW5nZSBiZXR3ZWVuIHR3byBkYXRlcy5cbiAgICogSXQgY2FsY3VsYXRlcyB0aGUgdGltZSBkaWZmZXJlbmNlIGFuZCBjaGVja3MgYWdhaW5zdCBwcmVkZWZpbmVkIHRpbWUgc3BhbnMgdG8gZGVjaWRlIGlmIGRhaWx5LFxuICAgKiBob3VybHksIG9yIG1pbnV0ZWx5IGFnZ3JlZ2F0aW9ucyBzaG91bGQgYmUgZGlzYWJsZWQuXG4gICAqXG4gICAqIEBwYXJhbSBkYXRlRnJvbSAtIFRoZSBzdGFydCBkYXRlIG9mIHRoZSB0aW1lIHJhbmdlLCBhcyBhIGBEYXRlYCBvYmplY3Qgb3IgYW4gSVNPIGRhdGUgc3RyaW5nLlxuICAgKiBAcGFyYW0gZGF0ZVRvIC0gVGhlIGVuZCBkYXRlIG9mIHRoZSB0aW1lIHJhbmdlLCBhcyBhIGBEYXRlYCBvYmplY3Qgb3IgYW4gSVNPIGRhdGUgc3RyaW5nLlxuICAgKiBAcmV0dXJucyBBbiBgQWdncmVnYXRpb25PcHRpb25TdGF0dXNgIG9iamVjdCBpbmRpY2F0aW5nIHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiBlYWNoIGFnZ3JlZ2F0aW9uIG9wdGlvbi5cbiAgICovXG4gIGdldERpc2FibGVkQWdncmVnYXRpb25PcHRpb25zKFxuICAgIGRhdGVGcm9tOiBEYXRlIHwgc3RyaW5nLFxuICAgIGRhdGVUbzogRGF0ZSB8IHN0cmluZ1xuICApOiBBZ2dyZWdhdGlvbk9wdGlvblN0YXR1cyB7XG4gICAgY29uc3QgZnJvbURhdGUgPSB0eXBlb2YgZGF0ZUZyb20gPT09ICdzdHJpbmcnID8gbmV3IERhdGUoZGF0ZUZyb20pIDogZGF0ZUZyb207XG4gICAgY29uc3QgdG9EYXRlID0gdHlwZW9mIGRhdGVUbyA9PT0gJ3N0cmluZycgPyBuZXcgRGF0ZShkYXRlVG8pIDogZGF0ZVRvO1xuICAgIGNvbnN0IHRpbWVSYW5nZUluTXMgPSB0b0RhdGUudmFsdWVPZigpIC0gZnJvbURhdGUudmFsdWVPZigpO1xuXG4gICAgY29uc3QgZGlzYWJsZWRBZ2dyZWdhdGlvbk9wdGlvbnM6IEFnZ3JlZ2F0aW9uT3B0aW9uU3RhdHVzID0ge307XG4gICAgZGlzYWJsZWRBZ2dyZWdhdGlvbk9wdGlvbnNbQUdHUkVHQVRJT05fVkFMVUVTLmRhaWx5XSA9IHRpbWVSYW5nZUluTXMgPD0gVGltZVNwYW5Jbk1zLkRBWTtcbiAgICBkaXNhYmxlZEFnZ3JlZ2F0aW9uT3B0aW9uc1tBR0dSRUdBVElPTl9WQUxVRVMuaG91cmx5XSA9IHRpbWVSYW5nZUluTXMgPD0gVGltZVNwYW5Jbk1zLkhPVVI7XG4gICAgZGlzYWJsZWRBZ2dyZWdhdGlvbk9wdGlvbnNbQUdHUkVHQVRJT05fVkFMVUVTLm1pbnV0ZWx5XSA9IHRpbWVSYW5nZUluTXMgPD0gVGltZVNwYW5Jbk1zLk1JTlVURTtcblxuICAgIHJldHVybiBkaXNhYmxlZEFnZ3JlZ2F0aW9uT3B0aW9ucztcbiAgfVxufVxuIl19
|