@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,113 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { from } from 'rxjs';
|
|
3
|
-
import { OperationService } from '@c8y/client';
|
|
4
|
-
import { AlertService, gettext } from '@c8y/ngx-components';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@c8y/client";
|
|
7
|
-
import * as i2 from "@c8y/ngx-components";
|
|
8
|
-
export class ServiceCommandService {
|
|
9
|
-
constructor(operationService, alertService) {
|
|
10
|
-
this.operationService = operationService;
|
|
11
|
-
this.alertService = alertService;
|
|
12
|
-
this.DEFAULT_COMMANDS = ['START', 'STOP', 'RESTART'];
|
|
13
|
-
this.commandIcons = {
|
|
14
|
-
START: 'play-circle',
|
|
15
|
-
STOP: 'stop-circle',
|
|
16
|
-
RESTART: 'refresh'
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Check if the service supports service commands.
|
|
21
|
-
* @param service The service object containing supported operations.
|
|
22
|
-
* @returns boolean indicating if the service supports service commands.
|
|
23
|
-
*/
|
|
24
|
-
isServiceCommandSupported(service) {
|
|
25
|
-
return service.c8y_SupportedOperations?.includes('c8y_ServiceCommand');
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Get the list of supported service commands for the given service object.
|
|
29
|
-
* @param service The service object containing the c8y_SupportedServiceCommands fragment.
|
|
30
|
-
* @returns Array of supported commands.
|
|
31
|
-
*/
|
|
32
|
-
getSupportedCommands(service) {
|
|
33
|
-
return service.c8y_SupportedServiceCommands || this.DEFAULT_COMMANDS;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Check if a specific command is supported for the given service.
|
|
37
|
-
* @param service The service object.
|
|
38
|
-
* @param command The command to check (e.g., START, STOP).
|
|
39
|
-
* @returns boolean indicating if the command is supported.
|
|
40
|
-
*/
|
|
41
|
-
isCommandSupported(service, command) {
|
|
42
|
-
const supportedCommands = this.getSupportedCommands(service);
|
|
43
|
-
return supportedCommands.includes(command);
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Get all supported commands for a list of services.
|
|
47
|
-
* @param services The list of service objects to evaluate.
|
|
48
|
-
* @returns Array of all unique supported commands.
|
|
49
|
-
*/
|
|
50
|
-
getAllSupportedCommands(services) {
|
|
51
|
-
const allCommands = services
|
|
52
|
-
.filter(service => this.isServiceCommandSupported(service))
|
|
53
|
-
.flatMap(service => this.getSupportedCommands(service));
|
|
54
|
-
return Array.from(new Set(allCommands));
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Create an operation for the selected service command.
|
|
58
|
-
* @param service The service object the operation should target.
|
|
59
|
-
* @param command The command to execute (e.g., START, STOP).
|
|
60
|
-
* @returns Observable of the created operation.
|
|
61
|
-
*/
|
|
62
|
-
createOperation({ id, name, serviceType }, command) {
|
|
63
|
-
const operation = {
|
|
64
|
-
deviceId: id,
|
|
65
|
-
c8y_ServiceCommand: {
|
|
66
|
-
command,
|
|
67
|
-
serviceName: name,
|
|
68
|
-
serviceType: serviceType
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
return from(this.operationService.create(operation));
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Generate a static list of action controls.
|
|
75
|
-
* The specific logic for each service is handled dynamically in showIf and callback.
|
|
76
|
-
* @returns Array of ActionControl objects.
|
|
77
|
-
*/
|
|
78
|
-
generateActionControls(commands) {
|
|
79
|
-
return commands.map(command => ({
|
|
80
|
-
type: command.toLowerCase(),
|
|
81
|
-
icon: this.getCommandIcon(command),
|
|
82
|
-
text: command,
|
|
83
|
-
showIf: (service) => this.isServiceCommandSupported(service) && this.isCommandSupported(service, command),
|
|
84
|
-
callback: async (service) => {
|
|
85
|
-
try {
|
|
86
|
-
await this.createOperation(service, command).toPromise();
|
|
87
|
-
this.alertService.success(gettext('Operation created.'));
|
|
88
|
-
}
|
|
89
|
-
catch (error) {
|
|
90
|
-
const alertMessage = gettext('Could not create operaion.');
|
|
91
|
-
this.alertService.danger(alertMessage, error);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}));
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Get the icon for a specific command.
|
|
98
|
-
* @param command The command name.
|
|
99
|
-
* @returns Icon string for the command.
|
|
100
|
-
*/
|
|
101
|
-
getCommandIcon(command) {
|
|
102
|
-
return this.commandIcons[command] || 'console';
|
|
103
|
-
}
|
|
104
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ServiceCommandService, deps: [{ token: i1.OperationService }, { token: i2.AlertService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
105
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ServiceCommandService, providedIn: 'root' }); }
|
|
106
|
-
}
|
|
107
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ServiceCommandService, decorators: [{
|
|
108
|
-
type: Injectable,
|
|
109
|
-
args: [{
|
|
110
|
-
providedIn: 'root'
|
|
111
|
-
}]
|
|
112
|
-
}], ctorParameters: () => [{ type: i1.OperationService }, { type: i2.AlertService }] });
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1jb21tYW5kLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zZXJ2aWNlcy9zZXJ2aWNlcy1kZXZpY2UtdGFiL3NlcnZpY2UtY29tbWFuZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQXVCLE1BQU0sYUFBYSxDQUFDO0FBQ3BFLE9BQU8sRUFBaUIsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBTTNFLE1BQU0sT0FBTyxxQkFBcUI7SUFRaEMsWUFDVSxnQkFBa0MsRUFDbEMsWUFBMEI7UUFEMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQVRuQixxQkFBZ0IsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDekQsaUJBQVksR0FBOEI7WUFDaEQsS0FBSyxFQUFFLGFBQWE7WUFDcEIsSUFBSSxFQUFFLGFBQWE7WUFDbkIsT0FBTyxFQUFFLFNBQVM7U0FDbkIsQ0FBQztJQUtDLENBQUM7SUFFSjs7OztPQUlHO0lBQ0gseUJBQXlCLENBQUMsT0FBZ0I7UUFDeEMsT0FBTyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxvQkFBb0IsQ0FBQyxPQUFnQjtRQUNuQyxPQUFPLE9BQU8sQ0FBQyw0QkFBNEIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDdkUsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsa0JBQWtCLENBQUMsT0FBZ0IsRUFBRSxPQUFlO1FBQ2xELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdELE9BQU8saUJBQWlCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsdUJBQXVCLENBQUMsUUFBbUI7UUFDekMsTUFBTSxXQUFXLEdBQUcsUUFBUTthQUN6QixNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDMUQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFFMUQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsZUFBZSxDQUNiLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQVcsRUFDbEMsT0FBZTtRQUVmLE1BQU0sU0FBUyxHQUFlO1lBQzVCLFFBQVEsRUFBRSxFQUFFO1lBQ1osa0JBQWtCLEVBQUU7Z0JBQ2xCLE9BQU87Z0JBQ1AsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLFdBQVcsRUFBRSxXQUFXO2FBQ3pCO1NBQ0YsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILHNCQUFzQixDQUFDLFFBQWtCO1FBQ3ZDLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDOUIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUU7WUFDM0IsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO1lBQ2xDLElBQUksRUFBRSxPQUFPO1lBQ2IsTUFBTSxFQUFFLENBQUMsT0FBZ0IsRUFBRSxFQUFFLENBQzNCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQztZQUN0RixRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQWdCLEVBQUUsRUFBRTtnQkFDbkMsSUFBSSxDQUFDO29CQUNILE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ3pELElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7Z0JBQzNELENBQUM7Z0JBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztvQkFDZixNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsNEJBQTRCLENBQUMsQ0FBQztvQkFDM0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNoRCxDQUFDO1lBQ0gsQ0FBQztTQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxjQUFjLENBQUMsT0FBZTtRQUNwQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksU0FBUyxDQUFDO0lBQ2pELENBQUM7OEdBNUdVLHFCQUFxQjtrSEFBckIscUJBQXFCLGNBRnBCLE1BQU07OzJGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPcGVyYXRpb25TZXJ2aWNlLCBJT3BlcmF0aW9uLCBJUmVzdWx0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgQWN0aW9uQ29udHJvbCwgQWxlcnRTZXJ2aWNlLCBnZXR0ZXh0IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlLWRldmljZS10YWIubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTZXJ2aWNlQ29tbWFuZFNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfQ09NTUFORFMgPSBbJ1NUQVJUJywgJ1NUT1AnLCAnUkVTVEFSVCddO1xuICBwcml2YXRlIGNvbW1hbmRJY29uczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICBTVEFSVDogJ3BsYXktY2lyY2xlJyxcbiAgICBTVE9QOiAnc3RvcC1jaXJjbGUnLFxuICAgIFJFU1RBUlQ6ICdyZWZyZXNoJ1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgb3BlcmF0aW9uU2VydmljZTogT3BlcmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlXG4gICkge31cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlIHNlcnZpY2Ugc3VwcG9ydHMgc2VydmljZSBjb21tYW5kcy5cbiAgICogQHBhcmFtIHNlcnZpY2UgVGhlIHNlcnZpY2Ugb2JqZWN0IGNvbnRhaW5pbmcgc3VwcG9ydGVkIG9wZXJhdGlvbnMuXG4gICAqIEByZXR1cm5zIGJvb2xlYW4gaW5kaWNhdGluZyBpZiB0aGUgc2VydmljZSBzdXBwb3J0cyBzZXJ2aWNlIGNvbW1hbmRzLlxuICAgKi9cbiAgaXNTZXJ2aWNlQ29tbWFuZFN1cHBvcnRlZChzZXJ2aWNlOiBTZXJ2aWNlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHNlcnZpY2UuYzh5X1N1cHBvcnRlZE9wZXJhdGlvbnM/LmluY2x1ZGVzKCdjOHlfU2VydmljZUNvbW1hbmQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIHNlcnZpY2UgY29tbWFuZHMgZm9yIHRoZSBnaXZlbiBzZXJ2aWNlIG9iamVjdC5cbiAgICogQHBhcmFtIHNlcnZpY2UgVGhlIHNlcnZpY2Ugb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGM4eV9TdXBwb3J0ZWRTZXJ2aWNlQ29tbWFuZHMgZnJhZ21lbnQuXG4gICAqIEByZXR1cm5zIEFycmF5IG9mIHN1cHBvcnRlZCBjb21tYW5kcy5cbiAgICovXG4gIGdldFN1cHBvcnRlZENvbW1hbmRzKHNlcnZpY2U6IFNlcnZpY2UpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHNlcnZpY2UuYzh5X1N1cHBvcnRlZFNlcnZpY2VDb21tYW5kcyB8fCB0aGlzLkRFRkFVTFRfQ09NTUFORFM7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYSBzcGVjaWZpYyBjb21tYW5kIGlzIHN1cHBvcnRlZCBmb3IgdGhlIGdpdmVuIHNlcnZpY2UuXG4gICAqIEBwYXJhbSBzZXJ2aWNlIFRoZSBzZXJ2aWNlIG9iamVjdC5cbiAgICogQHBhcmFtIGNvbW1hbmQgVGhlIGNvbW1hbmQgdG8gY2hlY2sgKGUuZy4sIFNUQVJULCBTVE9QKS5cbiAgICogQHJldHVybnMgYm9vbGVhbiBpbmRpY2F0aW5nIGlmIHRoZSBjb21tYW5kIGlzIHN1cHBvcnRlZC5cbiAgICovXG4gIGlzQ29tbWFuZFN1cHBvcnRlZChzZXJ2aWNlOiBTZXJ2aWNlLCBjb21tYW5kOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBzdXBwb3J0ZWRDb21tYW5kcyA9IHRoaXMuZ2V0U3VwcG9ydGVkQ29tbWFuZHMoc2VydmljZSk7XG4gICAgcmV0dXJuIHN1cHBvcnRlZENvbW1hbmRzLmluY2x1ZGVzKGNvbW1hbmQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgc3VwcG9ydGVkIGNvbW1hbmRzIGZvciBhIGxpc3Qgb2Ygc2VydmljZXMuXG4gICAqIEBwYXJhbSBzZXJ2aWNlcyBUaGUgbGlzdCBvZiBzZXJ2aWNlIG9iamVjdHMgdG8gZXZhbHVhdGUuXG4gICAqIEByZXR1cm5zIEFycmF5IG9mIGFsbCB1bmlxdWUgc3VwcG9ydGVkIGNvbW1hbmRzLlxuICAgKi9cbiAgZ2V0QWxsU3VwcG9ydGVkQ29tbWFuZHMoc2VydmljZXM6IFNlcnZpY2VbXSk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBhbGxDb21tYW5kcyA9IHNlcnZpY2VzXG4gICAgICAuZmlsdGVyKHNlcnZpY2UgPT4gdGhpcy5pc1NlcnZpY2VDb21tYW5kU3VwcG9ydGVkKHNlcnZpY2UpKVxuICAgICAgLmZsYXRNYXAoc2VydmljZSA9PiB0aGlzLmdldFN1cHBvcnRlZENvbW1hbmRzKHNlcnZpY2UpKTtcblxuICAgIHJldHVybiBBcnJheS5mcm9tKG5ldyBTZXQoYWxsQ29tbWFuZHMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gb3BlcmF0aW9uIGZvciB0aGUgc2VsZWN0ZWQgc2VydmljZSBjb21tYW5kLlxuICAgKiBAcGFyYW0gc2VydmljZSBUaGUgc2VydmljZSBvYmplY3QgdGhlIG9wZXJhdGlvbiBzaG91bGQgdGFyZ2V0LlxuICAgKiBAcGFyYW0gY29tbWFuZCBUaGUgY29tbWFuZCB0byBleGVjdXRlIChlLmcuLCBTVEFSVCwgU1RPUCkuXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgdGhlIGNyZWF0ZWQgb3BlcmF0aW9uLlxuICAgKi9cbiAgY3JlYXRlT3BlcmF0aW9uKFxuICAgIHsgaWQsIG5hbWUsIHNlcnZpY2VUeXBlIH06IFNlcnZpY2UsXG4gICAgY29tbWFuZDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8SVJlc3VsdDxJT3BlcmF0aW9uPj4ge1xuICAgIGNvbnN0IG9wZXJhdGlvbjogSU9wZXJhdGlvbiA9IHtcbiAgICAgIGRldmljZUlkOiBpZCxcbiAgICAgIGM4eV9TZXJ2aWNlQ29tbWFuZDoge1xuICAgICAgICBjb21tYW5kLFxuICAgICAgICBzZXJ2aWNlTmFtZTogbmFtZSxcbiAgICAgICAgc2VydmljZVR5cGU6IHNlcnZpY2VUeXBlXG4gICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiBmcm9tKHRoaXMub3BlcmF0aW9uU2VydmljZS5jcmVhdGUob3BlcmF0aW9uKSk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgYSBzdGF0aWMgbGlzdCBvZiBhY3Rpb24gY29udHJvbHMuXG4gICAqIFRoZSBzcGVjaWZpYyBsb2dpYyBmb3IgZWFjaCBzZXJ2aWNlIGlzIGhhbmRsZWQgZHluYW1pY2FsbHkgaW4gc2hvd0lmIGFuZCBjYWxsYmFjay5cbiAgICogQHJldHVybnMgQXJyYXkgb2YgQWN0aW9uQ29udHJvbCBvYmplY3RzLlxuICAgKi9cbiAgZ2VuZXJhdGVBY3Rpb25Db250cm9scyhjb21tYW5kczogc3RyaW5nW10pOiBBY3Rpb25Db250cm9sW10ge1xuICAgIHJldHVybiBjb21tYW5kcy5tYXAoY29tbWFuZCA9PiAoe1xuICAgICAgdHlwZTogY29tbWFuZC50b0xvd2VyQ2FzZSgpLFxuICAgICAgaWNvbjogdGhpcy5nZXRDb21tYW5kSWNvbihjb21tYW5kKSxcbiAgICAgIHRleHQ6IGNvbW1hbmQsXG4gICAgICBzaG93SWY6IChzZXJ2aWNlOiBTZXJ2aWNlKSA9PlxuICAgICAgICB0aGlzLmlzU2VydmljZUNvbW1hbmRTdXBwb3J0ZWQoc2VydmljZSkgJiYgdGhpcy5pc0NvbW1hbmRTdXBwb3J0ZWQoc2VydmljZSwgY29tbWFuZCksXG4gICAgICBjYWxsYmFjazogYXN5bmMgKHNlcnZpY2U6IFNlcnZpY2UpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBhd2FpdCB0aGlzLmNyZWF0ZU9wZXJhdGlvbihzZXJ2aWNlLCBjb21tYW5kKS50b1Byb21pc2UoKTtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKGdldHRleHQoJ09wZXJhdGlvbiBjcmVhdGVkLicpKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBjb25zdCBhbGVydE1lc3NhZ2UgPSBnZXR0ZXh0KCdDb3VsZCBub3QgY3JlYXRlIG9wZXJhaW9uLicpO1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmRhbmdlcihhbGVydE1lc3NhZ2UsIGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGljb24gZm9yIGEgc3BlY2lmaWMgY29tbWFuZC5cbiAgICogQHBhcmFtIGNvbW1hbmQgVGhlIGNvbW1hbmQgbmFtZS5cbiAgICogQHJldHVybnMgSWNvbiBzdHJpbmcgZm9yIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRDb21tYW5kSWNvbihjb21tYW5kOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbW1hbmRJY29uc1tjb21tYW5kXSB8fCAnY29uc29sZSc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const SERVICE_FRAGMENT = 'c8y_Service';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1kZXZpY2UtdGFiLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc2VydmljZXMvc2VydmljZXMtZGV2aWNlLXRhYi9zZXJ2aWNlLWRldmljZS10YWIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFNFUlZJQ0VfRlJBR01FTlQgPSAnYzh5X1NlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2Uge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHNlcnZpY2VUeXBlOiBzdHJpbmc7XG4gIHN0YXR1czogc3RyaW5nO1xuICBjOHlfU3VwcG9ydGVkT3BlcmF0aW9ucz86IHN0cmluZ1tdO1xuICBjOHlfU3VwcG9ydGVkU2VydmljZUNvbW1hbmRzPzogc3RyaW5nW107XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cbiJdfQ==
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { AGGREGATION_VALUES } from '@c8y/ngx-components';
|
|
3
|
-
import { TIME_RANGE_INTERVAL_UNITS_VALUES } from '@c8y/ngx-components/datapoints-export-selector';
|
|
4
|
-
import { INTERVALS } from '@c8y/ngx-components/interval-picker';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class DatapointsTableConfigService {
|
|
7
|
-
/**
|
|
8
|
-
* Determines the interval between two dates.
|
|
9
|
-
*
|
|
10
|
-
* @param dateFrom - The starting date in ISO 8601 string format.
|
|
11
|
-
* @param dateTo - The ending date in ISO 8601 string format.
|
|
12
|
-
* @returns The time range interval unit.
|
|
13
|
-
*/
|
|
14
|
-
// TODO same method is in datapoints export component. Consider moving it to a shared service, or reuse it here
|
|
15
|
-
// when DPT will be integrating with MTM-59689.
|
|
16
|
-
// Integration task: MTM-60221
|
|
17
|
-
// tests are already added in MTM-60217
|
|
18
|
-
determineInterval(dateFrom, dateTo) {
|
|
19
|
-
const from = new Date(dateFrom);
|
|
20
|
-
const to = new Date(dateTo);
|
|
21
|
-
const differenceInMilliseconds = to.getTime() - from.getTime();
|
|
22
|
-
const [minutes, hours, days, weeks, months, custom] = INTERVALS;
|
|
23
|
-
const intervals = [
|
|
24
|
-
{ value: minutes.timespanInMs, id: minutes.id }, // milliseconds in one minute
|
|
25
|
-
{ value: hours.timespanInMs, id: hours.id }, // milliseconds in one hour
|
|
26
|
-
{ value: days.timespanInMs, id: days.id }, // milliseconds in one day
|
|
27
|
-
{ value: weeks.timespanInMs, id: weeks.id }, // milliseconds in one week
|
|
28
|
-
{ value: months.timespanInMs, id: months.id } // approximation for milliseconds in one month
|
|
29
|
-
];
|
|
30
|
-
const interval = intervals.find(interval => differenceInMilliseconds <= interval.value);
|
|
31
|
-
return interval ? interval.id : custom.id;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Updates the disabled state of aggregation options based on the current value of the time interval form control.
|
|
35
|
-
*
|
|
36
|
-
* This method:
|
|
37
|
-
* - Retrieves the current date range from the form controls.
|
|
38
|
-
* - Determines the current time interval based on the date range.
|
|
39
|
-
* - Sets the disabled state for each aggregation option based on predefined conditions.
|
|
40
|
-
*
|
|
41
|
-
* The disabled state is stored in the `disabledAggregationOptions` object,
|
|
42
|
-
* where the key is the aggregation value and the value is a boolean indicating whether the option should be disabled.
|
|
43
|
-
*
|
|
44
|
-
* The `disabledConditions` object defines the conditions under which each aggregation option should be disabled.
|
|
45
|
-
*
|
|
46
|
-
* @param dateFrom - The starting date of the range.
|
|
47
|
-
* @param dateTo - The ending date of the range.
|
|
48
|
-
* @param aggregationValuesArr - An array of aggregation options.
|
|
49
|
-
* @returns An object containing the disabled state of each aggregation option.
|
|
50
|
-
*/
|
|
51
|
-
// TODO similar method is in datapoints export component. Consider moving it to a shared service when DPT will be integrating with MTM-59689.
|
|
52
|
-
// Integration task: MTM-60221
|
|
53
|
-
// tests are already added in MTM-60217
|
|
54
|
-
updateDisabledStateOfAggregationOptionEntries(dateFrom, dateTo, aggregationValuesArr) {
|
|
55
|
-
const currentInterval = this.determineInterval(dateFrom, dateTo);
|
|
56
|
-
const disabledConditions = {
|
|
57
|
-
[AGGREGATION_VALUES.daily]: [
|
|
58
|
-
TIME_RANGE_INTERVAL_UNITS_VALUES.minutes,
|
|
59
|
-
TIME_RANGE_INTERVAL_UNITS_VALUES.hours,
|
|
60
|
-
TIME_RANGE_INTERVAL_UNITS_VALUES.days
|
|
61
|
-
],
|
|
62
|
-
[AGGREGATION_VALUES.hourly]: [
|
|
63
|
-
TIME_RANGE_INTERVAL_UNITS_VALUES.minutes,
|
|
64
|
-
TIME_RANGE_INTERVAL_UNITS_VALUES.hours
|
|
65
|
-
],
|
|
66
|
-
[AGGREGATION_VALUES.minutely]: [TIME_RANGE_INTERVAL_UNITS_VALUES.minutes]
|
|
67
|
-
};
|
|
68
|
-
const disabledAggregationOptions = {};
|
|
69
|
-
for (const aggregationValue of aggregationValuesArr) {
|
|
70
|
-
disabledAggregationOptions[aggregationValue] =
|
|
71
|
-
disabledConditions[aggregationValue]?.includes(currentInterval) ?? false;
|
|
72
|
-
}
|
|
73
|
-
return disabledAggregationOptions;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Determines the new aggregation value based on the current value and disabled options.
|
|
77
|
-
*
|
|
78
|
-
* Goal is to switch to the next available aggregation option if the current one is disabled.
|
|
79
|
-
* - If the current option is disabled, sets the control to the first available (non-disabled) option based on the following order:
|
|
80
|
-
* - If the current value is `DAILY`, it switches to `HOURLY` if it's not disabled, otherwise to `MINUTELY` if `HOURLY` is also disabled.
|
|
81
|
-
* - If the current value is `HOURLY`, it switches to `MINUTELY` if it's not disabled.
|
|
82
|
-
* - If all options are disabled, it sets the value to `NONE`.
|
|
83
|
-
*
|
|
84
|
-
* @param currentValue - The current aggregation option.
|
|
85
|
-
* @param disabledOptions - An object containing disabled options.
|
|
86
|
-
* @returns The new aggregation option.
|
|
87
|
-
*/
|
|
88
|
-
determineNewAggregationValue(currentValue, disabledOptions) {
|
|
89
|
-
const { daily, hourly, minutely, none } = AGGREGATION_VALUES;
|
|
90
|
-
if (!disabledOptions[currentValue]) {
|
|
91
|
-
return currentValue; // Return the current value if it's not disabled
|
|
92
|
-
}
|
|
93
|
-
if (currentValue === daily) {
|
|
94
|
-
return !disabledOptions[hourly] ? hourly : !disabledOptions[minutely] ? minutely : none;
|
|
95
|
-
}
|
|
96
|
-
if (currentValue === hourly) {
|
|
97
|
-
return !disabledOptions[minutely] ? minutely : none;
|
|
98
|
-
}
|
|
99
|
-
return none; // Fallback to 'none' if all else fails
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Determines the aggregation value based on the provided interval.
|
|
103
|
-
*
|
|
104
|
-
* @param interval - The time range interval.
|
|
105
|
-
* @returns The corresponding aggregation value.
|
|
106
|
-
*/
|
|
107
|
-
determineAggregationValue(interval) {
|
|
108
|
-
const aggregationMap = {
|
|
109
|
-
[TIME_RANGE_INTERVAL_UNITS_VALUES.minutes]: AGGREGATION_VALUES.none,
|
|
110
|
-
[TIME_RANGE_INTERVAL_UNITS_VALUES.hours]: AGGREGATION_VALUES.minutely,
|
|
111
|
-
[TIME_RANGE_INTERVAL_UNITS_VALUES.days]: AGGREGATION_VALUES.hourly
|
|
112
|
-
};
|
|
113
|
-
return aggregationMap[interval] || AGGREGATION_VALUES.daily;
|
|
114
|
-
}
|
|
115
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DatapointsTableConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
116
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DatapointsTableConfigService, providedIn: 'root' }); }
|
|
117
|
-
}
|
|
118
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DatapointsTableConfigService, decorators: [{
|
|
119
|
-
type: Injectable,
|
|
120
|
-
args: [{
|
|
121
|
-
providedIn: 'root'
|
|
122
|
-
}]
|
|
123
|
-
}] });
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXBvaW50cy10YWJsZS1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3dpZGdldHMvaW1wbGVtZW50YXRpb25zL2RhdGFwb2ludHMtdGFibGUvZGF0YXBvaW50cy10YWJsZS1jb25maWcvZGF0YXBvaW50cy10YWJsZS1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFDTCxrQkFBa0IsRUFHbkIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQ0wsZ0NBQWdDLEVBRWpDLE1BQU0sZ0RBQWdELENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQUtoRSxNQUFNLE9BQU8sNEJBQTRCO0lBQ3ZDOzs7Ozs7T0FNRztJQUNILCtHQUErRztJQUMvRywrQ0FBK0M7SUFDL0MsOEJBQThCO0lBQzlCLHVDQUF1QztJQUN2QyxpQkFBaUIsQ0FBQyxRQUFnQixFQUFFLE1BQWM7UUFDaEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEMsTUFBTSxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUIsTUFBTSx3QkFBd0IsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRS9ELE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUVoRSxNQUFNLFNBQVMsR0FBRztZQUNoQixFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsWUFBWSxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsNkJBQTZCO1lB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QXVDO0lBQ3RELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILHlCQUF5QixDQUFDLFFBQTJCO1FBQ25ELE1BQU0sY0FBYyxHQUFHO1lBQ3JCLENBQUMsZ0NBQWdDLENBQUMsT0FBTyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsSUFBSTtZQUNuRSxDQUFDLGdDQUFnQyxDQUFDLEtBQUssQ0FBQyxFQUFFLGtCQUFrQixDQUFDLFFBQVE7WUFDckUsQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO1NBQ25FLENBQUM7UUFFRixPQUFPLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7SUFDOUQsQ0FBQzs4R0FuSVUsNEJBQTRCO2tIQUE1Qiw0QkFBNEIsY0FGM0IsTUFBTTs7MkZBRVAsNEJBQTRCO2tCQUh4QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFHR1JFR0FUSU9OX1ZBTFVFUyxcbiAgQWdncmVnYXRpb25PcHRpb24sXG4gIEFnZ3JlZ2F0aW9uT3B0aW9uU3RhdHVzXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHtcbiAgVElNRV9SQU5HRV9JTlRFUlZBTF9VTklUU19WQUxVRVMsXG4gIFRpbWVSYW5nZUludGVydmFsXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvZGF0YXBvaW50cy1leHBvcnQtc2VsZWN0b3InO1xuaW1wb3J0IHsgSU5URVJWQUxTIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9pbnRlcnZhbC1waWNrZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEYXRhcG9pbnRzVGFibGVDb25maWdTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIERldGVybWluZXMgdGhlIGludGVydmFsIGJldHdlZW4gdHdvIGRhdGVzLlxuICAgKlxuICAgKiBAcGFyYW0gZGF0ZUZyb20gLSBUaGUgc3RhcnRpbmcgZGF0ZSBpbiBJU08gODYwMSBzdHJpbmcgZm9ybWF0LlxuICAgKiBAcGFyYW0gZGF0ZVRvIC0gVGhlIGVuZGluZyBkYXRlIGluIElTTyA4NjAxIHN0cmluZyBmb3JtYXQuXG4gICAqIEByZXR1cm5zIFRoZSB0aW1lIHJhbmdlIGludGVydmFsIHVuaXQuXG4gICAqL1xuICAvLyBUT0RPIHNhbWUgbWV0aG9kIGlzIGluIGRhdGFwb2ludHMgZXhwb3J0IGNvbXBvbmVudC4gQ29uc2lkZXIgbW92aW5nIGl0IHRvIGEgc2hhcmVkIHNlcnZpY2UsIG9yIHJldXNlIGl0IGhlcmVcbiAgLy8gd2hlbiBEUFQgd2lsbCBiZSBpbnRlZ3JhdGluZyB3aXRoIE1UTS01OTY4OS5cbiAgLy8gSW50ZWdyYXRpb24gdGFzazogTVRNLTYwMjIxXG4gIC8vIHRlc3RzIGFyZSBhbHJlYWR5IGFkZGVkIGluIE1UTS02MDIxN1xuICBkZXRlcm1pbmVJbnRlcnZhbChkYXRlRnJvbTogc3RyaW5nLCBkYXRlVG86IHN0cmluZyk6IFRpbWVSYW5nZUludGVydmFsIHtcbiAgICBjb25zdCBmcm9tID0gbmV3IERhdGUoZGF0ZUZyb20pO1xuICAgIGNvbnN0IHRvID0gbmV3IERhdGUoZGF0ZVRvKTtcbiAgICBjb25zdCBkaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMgPSB0by5nZXRUaW1lKCkgLSBmcm9tLmdldFRpbWUoKTtcblxuICAgIGNvbnN0IFttaW51dGVzLCBob3VycywgZGF5cywgd2Vla3MsIG1vbnRocywgY3VzdG9tXSA9IElOVEVSVkFMUztcblxuICAgIGNvbnN0IGludGVydmFscyA9IFtcbiAgICAgIHsgdmFsdWU6IG1pbnV0ZXMudGltZXNwYW5Jbk1zLCBpZDogbWludXRlcy5pZCB9LCAvLyBtaWxsaXNlY29uZHMgaW4gb25lIG1pbnV0ZVxuICAgICAgeyB2YWx1ZTogaG91cnMudGltZXNwYW5Jbk1zLCBpZDogaG91cnMuaWQgfSwgLy8gbWlsbGlzZWNvbmRzIGluIG9uZSBob3VyXG4gICAgICB7IHZhbHVlOiBkYXlzLnRpbWVzcGFuSW5NcywgaWQ6IGRheXMuaWQgfSwgLy8gbWlsbGlzZWNvbmRzIGluIG9uZSBkYXlcbiAgICAgIHsgdmFsdWU6IHdlZWtzLnRpbWVzcGFuSW5NcywgaWQ6IHdlZWtzLmlkIH0sIC8vIG1pbGxpc2Vjb25kcyBpbiBvbmUgd2Vla1xuICAgICAgeyB2YWx1ZTogbW9udGhzLnRpbWVzcGFuSW5NcywgaWQ6IG1vbnRocy5pZCB9IC8vIGFwcHJveGltYXRpb24gZm9yIG1pbGxpc2Vjb25kcyBpbiBvbmUgbW9udGhcbiAgICBdO1xuXG4gICAgY29uc3QgaW50ZXJ2YWwgPSBpbnRlcnZhbHMuZmluZChpbnRlcnZhbCA9PiBkaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMgPD0gaW50ZXJ2YWwudmFsdWUpO1xuXG4gICAgcmV0dXJuIGludGVydmFsID8gaW50ZXJ2YWwuaWQgOiBjdXN0b20uaWQ7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgYWdncmVnYXRpb24gb3B0aW9ucyBiYXNlZCBvbiB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgdGltZSBpbnRlcnZhbCBmb3JtIGNvbnRyb2wuXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kOlxuICAgKiAtIFJldHJpZXZlcyB0aGUgY3VycmVudCBkYXRlIHJhbmdlIGZyb20gdGhlIGZvcm0gY29udHJvbHMuXG4gICAqIC0gRGV0ZXJtaW5lcyB0aGUgY3VycmVudCB0aW1lIGludGVydmFsIGJhc2VkIG9uIHRoZSBkYXRlIHJhbmdlLlxuICAgKiAtIFNldHMgdGhlIGRpc2FibGVkIHN0YXRlIGZvciBlYWNoIGFnZ3JlZ2F0aW9uIG9wdGlvbiBiYXNlZCBvbiBwcmVkZWZpbmVkIGNvbmRpdGlvbnMuXG4gICAqXG4gICAqIFRoZSBkaXNhYmxlZCBzdGF0ZSBpcyBzdG9yZWQgaW4gdGhlIGBkaXNhYmxlZEFnZ3JlZ2F0aW9uT3B0aW9uc2Agb2JqZWN0LFxuICAgKiB3aGVyZSB0aGUga2V5IGlzIHRoZSBhZ2dyZWdhdGlvbiB2YWx1ZSBhbmQgdGhlIHZhbHVlIGlzIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIG9wdGlvbiBzaG91bGQgYmUgZGlzYWJsZWQuXG4gICAqXG4gICAqIFRoZSBgZGlzYWJsZWRDb25kaXRpb25zYCBvYmplY3QgZGVmaW5lcyB0aGUgY29uZGl0aW9ucyB1bmRlciB3aGljaCBlYWNoIGFnZ3JlZ2F0aW9uIG9wdGlvbiBzaG91bGQgYmUgZGlzYWJsZWQuXG4gICAqXG4gICAqIEBwYXJhbSBkYXRlRnJvbSAtIFRoZSBzdGFydGluZyBkYXRlIG9mIHRoZSByYW5nZS5cbiAgICogQHBhcmFtIGRhdGVUbyAtIFRoZSBlbmRpbmcgZGF0ZSBvZiB0aGUgcmFuZ2UuXG4gICAqIEBwYXJhbSBhZ2dyZWdhdGlvblZhbHVlc0FyciAtIEFuIGFycmF5IG9mIGFnZ3JlZ2F0aW9uIG9wdGlvbnMuXG4gICAqIEByZXR1cm5zIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiBlYWNoIGFnZ3JlZ2F0aW9uIG9wdGlvbi5cbiAgICovXG4gIC8vIFRPRE8gc2ltaWxhciBtZXRob2QgaXMgaW4gZGF0YXBvaW50cyBleHBvcnQgY29tcG9uZW50LiBDb25zaWRlciBtb3ZpbmcgaXQgdG8gYSBzaGFyZWQgc2VydmljZSB3aGVuIERQVCB3aWxsIGJlIGludGVncmF0aW5nIHdpdGggTVRNLTU5Njg5LlxuICAvLyBJbnRlZ3JhdGlvbiB0YXNrOiBNVE0tNjAyMjFcbiAgLy8gdGVzdHMgYXJlIGFscmVhZHkgYWRkZWQgaW4gTVRNLTYwMjE3XG4gIHVwZGF0ZURpc2FibGVkU3RhdGVPZkFnZ3JlZ2F0aW9uT3B0aW9uRW50cmllcyhcbiAgICBkYXRlRnJvbTogc3RyaW5nLFxuICAgIGRhdGVUbzogc3RyaW5nLFxuICAgIGFnZ3JlZ2F0aW9uVmFsdWVzQXJyOiByZWFkb25seSBBZ2dyZWdhdGlvbk9wdGlvbltdXG4gICk6IEFnZ3JlZ2F0aW9uT3B0aW9uU3RhdHVzIHtcbiAgICBjb25zdCBjdXJyZW50SW50ZXJ2YWwgPSB0aGlzLmRldGVybWluZUludGVydmFsKGRhdGVGcm9tLCBkYXRlVG8pO1xuXG4gICAgY29uc3QgZGlzYWJsZWRDb25kaXRpb25zID0ge1xuICAgICAgW0FHR1JFR0FUSU9OX1ZBTFVFUy5kYWlseV06IFtcbiAgICAgICAgVElNRV9SQU5HRV9JTlRFUlZBTF9VTklUU19WQUxVRVMubWludXRlcyxcbiAgICAgICAgVElNRV9SQU5HRV9JTlRFUlZBTF9VTklUU19WQUxVRVMuaG91cnMsXG4gICAgICAgIFRJTUVfUkFOR0VfSU5URVJWQUxfVU5JVFNfVkFMVUVTLmRheXNcbiAgICAgIF0sXG4gICAgICBbQUdHUkVHQVRJT05fVkFMVUVTLmhvdXJseV06IFtcbiAgICAgICAgVElNRV9SQU5HRV9JTlRFUlZBTF9VTklUU19WQUxVRVMubWludXRlcyxcbiAgICAgICAgVElNRV9SQU5HRV9JTlRFUlZBTF9VTklUU19WQUxVRVMuaG91cnNcbiAgICAgIF0sXG4gICAgICBbQUdHUkVHQVRJT05fVkFMVUVTLm1pbnV0ZWx5XTogW1RJTUVfUkFOR0VfSU5URVJWQUxfVU5JVFNfVkFMVUVTLm1pbnV0ZXNdXG4gICAgfTtcblxuICAgIGNvbnN0IGRpc2FibGVkQWdncmVnYXRpb25PcHRpb25zID0ge307XG5cbiAgICBmb3IgKGNvbnN0IGFnZ3JlZ2F0aW9uVmFsdWUgb2YgYWdncmVnYXRpb25WYWx1ZXNBcnIpIHtcbiAgICAgIGRpc2FibGVkQWdncmVnYXRpb25PcHRpb25zW2FnZ3JlZ2F0aW9uVmFsdWVdID1cbiAgICAgICAgZGlzYWJsZWRDb25kaXRpb25zW2FnZ3JlZ2F0aW9uVmFsdWVdPy5pbmNsdWRlcyhjdXJyZW50SW50ZXJ2YWwpID8/IGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiBkaXNhYmxlZEFnZ3JlZ2F0aW9uT3B0aW9ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHRoZSBuZXcgYWdncmVnYXRpb24gdmFsdWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdmFsdWUgYW5kIGRpc2FibGVkIG9wdGlvbnMuXG4gICAqXG4gICAqIEdvYWwgaXMgdG8gc3dpdGNoIHRvIHRoZSBuZXh0IGF2YWlsYWJsZSBhZ2dyZWdhdGlvbiBvcHRpb24gaWYgdGhlIGN1cnJlbnQgb25lIGlzIGRpc2FibGVkLlxuICAgKiAtIElmIHRoZSBjdXJyZW50IG9wdGlvbiBpcyBkaXNhYmxlZCwgc2V0cyB0aGUgY29udHJvbCB0byB0aGUgZmlyc3QgYXZhaWxhYmxlIChub24tZGlzYWJsZWQpIG9wdGlvbiBiYXNlZCBvbiB0aGUgZm9sbG93aW5nIG9yZGVyOlxuICAgKiAgIC0gSWYgdGhlIGN1cnJlbnQgdmFsdWUgaXMgYERBSUxZYCwgaXQgc3dpdGNoZXMgdG8gYEhPVVJMWWAgaWYgaXQncyBub3QgZGlzYWJsZWQsIG90aGVyd2lzZSB0byBgTUlOVVRFTFlgIGlmIGBIT1VSTFlgIGlzIGFsc28gZGlzYWJsZWQuXG4gICAqICAgLSBJZiB0aGUgY3VycmVudCB2YWx1ZSBpcyBgSE9VUkxZYCwgaXQgc3dpdGNoZXMgdG8gYE1JTlVURUxZYCBpZiBpdCdzIG5vdCBkaXNhYmxlZC5cbiAgICogICAtIElmIGFsbCBvcHRpb25zIGFyZSBkaXNhYmxlZCwgaXQgc2V0cyB0aGUgdmFsdWUgdG8gYE5PTkVgLlxuICAgKlxuICAgKiBAcGFyYW0gY3VycmVudFZhbHVlIC0gVGhlIGN1cnJlbnQgYWdncmVnYXRpb24gb3B0aW9uLlxuICAgKiBAcGFyYW0gZGlzYWJsZWRPcHRpb25zIC0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgZGlzYWJsZWQgb3B0aW9ucy5cbiAgICogQHJldHVybnMgVGhlIG5ldyBhZ2dyZWdhdGlvbiBvcHRpb24uXG4gICAqL1xuICBkZXRlcm1pbmVOZXdBZ2dyZWdhdGlvblZhbHVlKFxuICAgIGN1cnJlbnRWYWx1ZTogQWdncmVnYXRpb25PcHRpb24sXG4gICAgZGlzYWJsZWRPcHRpb25zOiBBZ2dyZWdhdGlvbk9wdGlvblN0YXR1c1xuICApOiBBZ2dyZWdhdGlvbk9wdGlvbiB7XG4gICAgY29uc3QgeyBkYWlseSwgaG91cmx5LCBtaW51dGVseSwgbm9uZSB9ID0gQUdHUkVHQVRJT05fVkFMVUVTO1xuXG4gICAgaWYgKCFkaXNhYmxlZE9wdGlvbnNbY3VycmVudFZhbHVlXSkge1xuICAgICAgcmV0dXJuIGN1cnJlbnRWYWx1ZTsgLy8gUmV0dXJuIHRoZSBjdXJyZW50IHZhbHVlIGlmIGl0J3Mgbm90IGRpc2FibGVkXG4gICAgfVxuXG4gICAgaWYgKGN1cnJlbnRWYWx1ZSA9PT0gZGFpbHkpIHtcbiAgICAgIHJldHVybiAhZGlzYWJsZWRPcHRpb25zW2hvdXJseV0gPyBob3VybHkgOiAhZGlzYWJsZWRPcHRpb25zW21pbnV0ZWx5XSA/IG1pbnV0ZWx5IDogbm9uZTtcbiAgICB9XG5cbiAgICBpZiAoY3VycmVudFZhbHVlID09PSBob3VybHkpIHtcbiAgICAgIHJldHVybiAhZGlzYWJsZWRPcHRpb25zW21pbnV0ZWx5XSA/IG1pbnV0ZWx5IDogbm9uZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbm9uZTsgLy8gRmFsbGJhY2sgdG8gJ25vbmUnIGlmIGFsbCBlbHNlIGZhaWxzXG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB0aGUgYWdncmVnYXRpb24gdmFsdWUgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGludGVydmFsLlxuICAgKlxuICAgKiBAcGFyYW0gaW50ZXJ2YWwgLSBUaGUgdGltZSByYW5nZSBpbnRlcnZhbC5cbiAgICogQHJldHVybnMgVGhlIGNvcnJlc3BvbmRpbmcgYWdncmVnYXRpb24gdmFsdWUuXG4gICAqL1xuICBkZXRlcm1pbmVBZ2dyZWdhdGlvblZhbHVlKGludGVydmFsOiBUaW1lUmFuZ2VJbnRlcnZhbCk6IEFnZ3JlZ2F0aW9uT3B0aW9uIHtcbiAgICBjb25zdCBhZ2dyZWdhdGlvbk1hcCA9IHtcbiAgICAgIFtUSU1FX1JBTkdFX0lOVEVSVkFMX1VOSVRTX1ZBTFVFUy5taW51dGVzXTogQUdHUkVHQVRJT05fVkFMVUVTLm5vbmUsXG4gICAgICBbVElNRV9SQU5HRV9JTlRFUlZBTF9VTklUU19WQUxVRVMuaG91cnNdOiBBR0dSRUdBVElPTl9WQUxVRVMubWludXRlbHksXG4gICAgICBbVElNRV9SQU5HRV9JTlRFUlZBTF9VTklUU19WQUxVRVMuZGF5c106IEFHR1JFR0FUSU9OX1ZBTFVFUy5ob3VybHlcbiAgICB9O1xuXG4gICAgcmV0dXJuIGFnZ3JlZ2F0aW9uTWFwW2ludGVydmFsXSB8fCBBR0dSRUdBVElPTl9WQUxVRVMuZGFpbHk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service-command.service.d.ts","sourceRoot":"","sources":["../../../services/services-device-tab/service-command.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAQ,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAW,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;;AAErD,qBAGa,qBAAqB;IAS9B,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,YAAY;IATtB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgC;IACjE,OAAO,CAAC,YAAY,CAIlB;gBAGQ,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,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAalC;;;;OAIG;IACH,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE;IAmB3D;;;;OAIG;IACH,OAAO,CAAC,cAAc;yCA1GX,qBAAqB;6CAArB,qBAAqB;CA6GjC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export declare const SERVICE_FRAGMENT = "c8y_Service";
|
|
2
|
-
export interface Service {
|
|
3
|
-
id: string;
|
|
4
|
-
name: string;
|
|
5
|
-
serviceType: string;
|
|
6
|
-
status: string;
|
|
7
|
-
c8y_SupportedOperations?: string[];
|
|
8
|
-
c8y_SupportedServiceCommands?: string[];
|
|
9
|
-
[key: string]: any;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=service-device-tab.model.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service-device-tab.model.d.ts","sourceRoot":"","sources":["../../../services/services-device-tab/service-device-tab.model.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAE9C,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,GAAG,CAAC;CACpB"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { AggregationOption, AggregationOptionStatus } from '@c8y/ngx-components';
|
|
2
|
-
import { TimeRangeInterval } from '@c8y/ngx-components/datapoints-export-selector';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class DatapointsTableConfigService {
|
|
5
|
-
/**
|
|
6
|
-
* Determines the interval between two dates.
|
|
7
|
-
*
|
|
8
|
-
* @param dateFrom - The starting date in ISO 8601 string format.
|
|
9
|
-
* @param dateTo - The ending date in ISO 8601 string format.
|
|
10
|
-
* @returns The time range interval unit.
|
|
11
|
-
*/
|
|
12
|
-
determineInterval(dateFrom: string, dateTo: string): TimeRangeInterval;
|
|
13
|
-
/**
|
|
14
|
-
* Updates the disabled state of aggregation options based on the current value of the time interval form control.
|
|
15
|
-
*
|
|
16
|
-
* This method:
|
|
17
|
-
* - Retrieves the current date range from the form controls.
|
|
18
|
-
* - Determines the current time interval based on the date range.
|
|
19
|
-
* - Sets the disabled state for each aggregation option based on predefined conditions.
|
|
20
|
-
*
|
|
21
|
-
* The disabled state is stored in the `disabledAggregationOptions` object,
|
|
22
|
-
* where the key is the aggregation value and the value is a boolean indicating whether the option should be disabled.
|
|
23
|
-
*
|
|
24
|
-
* The `disabledConditions` object defines the conditions under which each aggregation option should be disabled.
|
|
25
|
-
*
|
|
26
|
-
* @param dateFrom - The starting date of the range.
|
|
27
|
-
* @param dateTo - The ending date of the range.
|
|
28
|
-
* @param aggregationValuesArr - An array of aggregation options.
|
|
29
|
-
* @returns An object containing the disabled state of each aggregation option.
|
|
30
|
-
*/
|
|
31
|
-
updateDisabledStateOfAggregationOptionEntries(dateFrom: string, dateTo: string, aggregationValuesArr: readonly AggregationOption[]): AggregationOptionStatus;
|
|
32
|
-
/**
|
|
33
|
-
* Determines the new aggregation value based on the current value and disabled options.
|
|
34
|
-
*
|
|
35
|
-
* Goal is to switch to the next available aggregation option if the current one is disabled.
|
|
36
|
-
* - If the current option is disabled, sets the control to the first available (non-disabled) option based on the following order:
|
|
37
|
-
* - If the current value is `DAILY`, it switches to `HOURLY` if it's not disabled, otherwise to `MINUTELY` if `HOURLY` is also disabled.
|
|
38
|
-
* - If the current value is `HOURLY`, it switches to `MINUTELY` if it's not disabled.
|
|
39
|
-
* - If all options are disabled, it sets the value to `NONE`.
|
|
40
|
-
*
|
|
41
|
-
* @param currentValue - The current aggregation option.
|
|
42
|
-
* @param disabledOptions - An object containing disabled options.
|
|
43
|
-
* @returns The new aggregation option.
|
|
44
|
-
*/
|
|
45
|
-
determineNewAggregationValue(currentValue: AggregationOption, disabledOptions: AggregationOptionStatus): AggregationOption;
|
|
46
|
-
/**
|
|
47
|
-
* Determines the aggregation value based on the provided interval.
|
|
48
|
-
*
|
|
49
|
-
* @param interval - The time range interval.
|
|
50
|
-
* @returns The corresponding aggregation value.
|
|
51
|
-
*/
|
|
52
|
-
determineAggregationValue(interval: TimeRangeInterval): AggregationOption;
|
|
53
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DatapointsTableConfigService, never>;
|
|
54
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<DatapointsTableConfigService>;
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=datapoints-table-config.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"datapoints-table-config.service.d.ts","sourceRoot":"","sources":["../../../../../widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.service.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,iBAAiB,EAClB,MAAM,gDAAgD,CAAC;;AAGxD,qBAGa,4BAA4B;IACvC;;;;;;OAMG;IAKH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,iBAAiB;IAoBtE;;;;;;;;;;;;;;;;;OAiBG;IAIH,6CAA6C,CAC3C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,SAAS,iBAAiB,EAAE,GACjD,uBAAuB;IA0B1B;;;;;;;;;;;;OAYG;IACH,4BAA4B,CAC1B,YAAY,EAAE,iBAAiB,EAC/B,eAAe,EAAE,uBAAuB,GACvC,iBAAiB;IAkBpB;;;;;OAKG;IACH,yBAAyB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,iBAAiB;yCA3H9D,4BAA4B;6CAA5B,4BAA4B;CAoIxC"}
|
|
File without changes
|