@c8y/ngx-components 1010.0.17 → 1010.0.21
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/bundles/c8y-ngx-components-reports.umd.js +15 -2
- package/bundles/c8y-ngx-components-reports.umd.js.map +1 -1
- package/bundles/c8y-ngx-components-reports.umd.min.js +2 -2
- package/bundles/c8y-ngx-components-reports.umd.min.js.map +1 -1
- package/bundles/c8y-ngx-components.umd.js +2 -2
- package/bundles/c8y-ngx-components.umd.js.map +1 -1
- package/bundles/c8y-ngx-components.umd.min.js +1 -1
- package/bundles/c8y-ngx-components.umd.min.js.map +1 -1
- package/esm2015/core/range-display/range-display.component.js +3 -3
- package/esm2015/reports/reports.service.js +10 -4
- package/esm5/core/range-display/range-display.component.js +3 -3
- package/esm5/reports/reports.service.js +17 -4
- package/fesm2015/c8y-ngx-components-reports.js +8 -2
- package/fesm2015/c8y-ngx-components-reports.js.map +1 -1
- package/fesm2015/c8y-ngx-components.js +2 -2
- package/fesm2015/c8y-ngx-components.js.map +1 -1
- package/fesm5/c8y-ngx-components-reports.js +15 -2
- package/fesm5/c8y-ngx-components-reports.js.map +1 -1
- package/fesm5/c8y-ngx-components.js +2 -2
- package/fesm5/c8y-ngx-components.js.map +1 -1
- package/package.json +2 -2
- package/reports/c8y-ngx-components-reports.metadata.json +1 -1
- package/reports/reports.service.d.ts +2 -1
|
@@ -14,7 +14,7 @@ let RangeDisplayComponent = class RangeDisplayComponent {
|
|
|
14
14
|
if (!this.config.max) {
|
|
15
15
|
this.config.max = 100;
|
|
16
16
|
}
|
|
17
|
-
if (this.config.fractionSize) {
|
|
17
|
+
if (this.config.fractionSize !== undefined) {
|
|
18
18
|
this.config.current = parseFloat(this.config.current.toFixed(this.config.fractionSize));
|
|
19
19
|
}
|
|
20
20
|
return this.sanitizer.bypassSecurityTrustStyle(`
|
|
@@ -43,7 +43,7 @@ let RangeDisplayComponent = class RangeDisplayComponent {
|
|
|
43
43
|
}
|
|
44
44
|
rulerCalc(index) {
|
|
45
45
|
const num = this.config.min + ((this.config.max - this.config.min) / 10) * index;
|
|
46
|
-
if (this.config.fractionSize) {
|
|
46
|
+
if (this.config.fractionSize !== undefined) {
|
|
47
47
|
return parseFloat(num.toFixed(this.config.fractionSize));
|
|
48
48
|
}
|
|
49
49
|
return parseFloat(num.toFixed(2));
|
|
@@ -79,4 +79,4 @@ RangeDisplayComponent = tslib_1.__decorate([
|
|
|
79
79
|
})
|
|
80
80
|
], RangeDisplayComponent);
|
|
81
81
|
export { RangeDisplayComponent };
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtZGlzcGxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYzh5L25neC1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29yZS9yYW5nZS1kaXNwbGF5L3JhbmdlLWRpc3BsYXkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBT3pELElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXFCO0lBcUNoQyxZQUFvQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBcENsQyxXQUFNLEdBQWlCLEVBQUUsQ0FBQztJQW9DVyxDQUFDO0lBbEMvQyxJQUFJLFdBQVc7UUFDYixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7U0FDckI7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1NBQ3ZCO1FBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUU7WUFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7U0FDekY7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQzVDO3lCQUNtQixJQUFJ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LEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNqRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixNQUFNLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDdkQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsUUFBUTtRQUNqQyxPQUFPLFFBQVEsS0FBSyxDQUFDLElBQUksUUFBUSxLQUFLLENBQUMsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDO0lBQ2xFLENBQUM7Q0FDRixDQUFBOztZQWxDZ0MsWUFBWTs7QUFwQ2xDO0lBQVIsS0FBSyxFQUFFO3FEQUEyQjtBQUVuQztJQURDLFdBQVcsQ0FBQyxZQUFZLENBQUM7d0RBaUN6QjtBQW5DVSxxQkFBcUI7SUFKakMsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLG1CQUFtQjtRQUM3QiwraERBQTZDO0tBQzlDLENBQUM7R0FDVyxxQkFBcUIsQ0F1RWpDO1NBdkVZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFJhbmdlRGlzcGxheSB9IGZyb20gJy4vcmFuZ2UtZGlzcGxheS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1yYW5nZS1kaXNwbGF5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhbmdlLWRpc3BsYXkuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFJhbmdlRGlzcGxheUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNvbmZpZzogUmFuZ2VEaXNwbGF5ID0ge307XG4gIEBIb3N0QmluZGluZygnYXR0ci5zdHlsZScpXG4gIGdldCBpbmxpbmVTdHlsZSgpIHtcbiAgICB0aGlzLmNvbmZpZyA9IHRoaXMuY29uZmlnIHx8IHt9O1xuICAgIGlmICghdGhpcy5jb25maWcubWluKSB7XG4gICAgICB0aGlzLmNvbmZpZy5taW4gPSAwO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuY29uZmlnLm1heCkge1xuICAgICAgdGhpcy5jb25maWcubWF4ID0gMTAwO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb25maWcuZnJhY3Rpb25TaXplICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY29uZmlnLmN1cnJlbnQgPSBwYXJzZUZsb2F0KHRoaXMuY29uZmlnLmN1cnJlbnQudG9GaXhlZCh0aGlzLmNvbmZpZy5mcmFjdGlvblNpemUpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTdHlsZShcbiAgICAgIGBcbiAgICAgICAgICAtLXJhbmdlLW1pbjogJHt0aGlzLmNvbmZpZy5taW59O1xuICAgICAgICAgIC0tcmFuZ2UtbWF4OiAke3RoaXMuY29uZmlnLm1heH07XG4gICAgICAgICAgLS1mdWxsLXJhbmdlOiAke3RoaXMuY29uZmlnLm1heCAtIHRoaXMuY29uZmlnLm1pbn07XG4gICAgICAgICAgLS1tZWFzdXJlbWVudC10YXJnZXQ6ICR7KCh0aGlzLmNvbmZpZy50YXJnZXQgLSB0aGlzLmNvbmZpZy5taW4pICogMTAwKSAvXG4gICAgICAgICAgICAodGhpcy5jb25maWcubWF4IC0gdGhpcy5jb25maWcubWluKX0lO1xuICAgICAgICAgIC0tbWVhc3VyZW1lbnQtY3VycmVudDogJHsoKHRoaXMuY29uZmlnLmN1cnJlbnQgLSB0aGlzLmNvbmZpZy5taW4pICogMTAwKSAvXG4gICAgICAgICAgICAodGhpcy5jb25maWcubWF4IC0gdGhpcy5jb25maWcubWluKX0lO1xuICAgICAgICAgIC0tcmFuZ2UteS1taW46ICR7KCh0aGlzLmNvbmZpZy55ZWxsb3dSYW5nZU1pbiAtIHRoaXMuY29uZmlnLm1pbikgKiAxMDApIC9cbiAgICAgICAgICAgICh0aGlzLmNvbmZpZy5tYXggLSB0aGlzLmNvbmZpZy5taW4pfSU7XG4gICAgICAgICAgLS1yYW5nZS15LW1heDogJHsoKHRoaXMuY29uZmlnLnllbGxvd1JhbmdlTWF4IC0gdGhpcy5jb25maWcubWluKSAvXG4gICAgICAgICAgICAodGhpcy5jb25maWcubWF4IC0gdGhpcy5jb25maWcubWluKSkgKlxuICAgICAgICAgICAgMTAwfSU7XG4gICAgICAgICAgLS1yYW5nZS1yLW1pbjogJHsoKHRoaXMuY29uZmlnLnJlZFJhbmdlTWluIC0gdGhpcy5jb25maWcubWluKSAqIDEwMCkgL1xuICAgICAgICAgICAgKHRoaXMuY29uZmlnLm1heCAtIHRoaXMuY29uZmlnLm1pbil9JTtcbiAgICAgICAgICAtLXJhbmdlLXItbWF4OiAkeygodGhpcy5jb25maWcucmVkUmFuZ2VNYXggLSB0aGlzLmNvbmZpZy5taW4pIC9cbiAgICAgICAgICAgICh0aGlzLmNvbmZpZy5tYXggLSB0aGlzLmNvbmZpZy5taW4pKSAqXG4gICAgICAgICAgICAxMDB9JTtcbiAgICAgICAgYFxuICAgICk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7fVxuXG4gIGNoZWNrVGFyZ2V0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmNvbmZpZy50YXJnZXQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgKHRoaXMuY29uZmlnLnRhcmdldCA+PSB0aGlzLmNvbmZpZy5taW4gJiYgdGhpcy5jb25maWcudGFyZ2V0IDw9IHRoaXMuY29uZmlnLm1heClcbiAgICApO1xuICB9XG5cbiAgcnVsZXJDYWxjKGluZGV4KSB7XG4gICAgY29uc3QgbnVtOiBudW1iZXIgPSB0aGlzLmNvbmZpZy5taW4gKyAoKHRoaXMuY29uZmlnLm1heCAtIHRoaXMuY29uZmlnLm1pbikgLyAxMCkgKiBpbmRleDtcbiAgICBpZiAodGhpcy5jb25maWcuZnJhY3Rpb25TaXplICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBwYXJzZUZsb2F0KG51bS50b0ZpeGVkKHRoaXMuY29uZmlnLmZyYWN0aW9uU2l6ZSkpO1xuICAgIH1cbiAgICByZXR1cm4gcGFyc2VGbG9hdChudW0udG9GaXhlZCgyKSk7XG4gIH1cblxuICB0cmFja0J5SW5kZXgoaW5kZXg6IG51bWJlciwgZWw6IGFueSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgaXNSZWRSYW5nZURpc3BsYXllZCgpIHtcbiAgICBjb25zdCB7IHJlZFJhbmdlTWluLCByZWRSYW5nZU1heCB9ID0gdGhpcy5jb25maWc7XG4gICAgcmV0dXJuIHRoaXMuaXNSYW5nZURpc3BsYXllZChyZWRSYW5nZU1pbiwgcmVkUmFuZ2VNYXgpO1xuICB9XG5cbiAgaXNZZWxsb3dSYW5nZURpc3BsYXllZCgpIHtcbiAgICBjb25zdCB7IHllbGxvd1JhbmdlTWluLCB5ZWxsb3dSYW5nZU1heCB9ID0gdGhpcy5jb25maWc7XG4gICAgcmV0dXJuIHRoaXMuaXNSYW5nZURpc3BsYXllZCh5ZWxsb3dSYW5nZU1pbiwgeWVsbG93UmFuZ2VNYXgpO1xuICB9XG5cbiAgaXNSYW5nZURpc3BsYXllZChyYW5nZU1pbiwgcmFuZ2VNYXgpIHtcbiAgICByZXR1cm4gcmFuZ2VNaW4gPT09IDAgfHwgcmFuZ2VNYXggPT09IDAgfHwgcmFuZ2VNaW4gJiYgcmFuZ2VNYXg7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2,14 +2,14 @@ import * as tslib_1 from "tslib";
|
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
3
|
import { AlertService } from '@c8y/ngx-components';
|
|
4
4
|
import { orderBy, isEqual, remove, some } from 'lodash-es';
|
|
5
|
-
import { InventoryService, IdReference } from '@c8y/client';
|
|
5
|
+
import { InventoryService, IdReference, IManagedObject, IFetchResponse, IIdentified } from '@c8y/client';
|
|
6
6
|
import { FetchClient, IFetchOptions } from '@c8y/client';
|
|
7
7
|
let ReportsService = class ReportsService {
|
|
8
8
|
constructor(alertService, inventoryService, client) {
|
|
9
9
|
this.alertService = alertService;
|
|
10
10
|
this.inventoryService = inventoryService;
|
|
11
11
|
this.client = client;
|
|
12
|
-
this.microserviceUrl = '/service/reporting
|
|
12
|
+
this.microserviceUrl = '/service/reporting';
|
|
13
13
|
this.headers = { 'Content-Type': 'application/json' };
|
|
14
14
|
}
|
|
15
15
|
getExport(exportId) {
|
|
@@ -73,7 +73,7 @@ let ReportsService = class ReportsService {
|
|
|
73
73
|
method: 'PUT',
|
|
74
74
|
headers: this.headers
|
|
75
75
|
};
|
|
76
|
-
const rescheduling = yield this.client.fetch(`${this.microserviceUrl}/${exportId}`, options);
|
|
76
|
+
const rescheduling = yield this.client.fetch(`${this.microserviceUrl}/schedule/${exportId}`, options);
|
|
77
77
|
return rescheduling.status === 200;
|
|
78
78
|
});
|
|
79
79
|
}
|
|
@@ -82,6 +82,12 @@ let ReportsService = class ReportsService {
|
|
|
82
82
|
return yield this.updateSchedules(exportId, [schedule], []);
|
|
83
83
|
});
|
|
84
84
|
}
|
|
85
|
+
removeConfiguration(config) {
|
|
86
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
87
|
+
const url = `${this.microserviceUrl}/config/${config.id}`;
|
|
88
|
+
return yield this.client.fetch(url, { method: 'DELETE' });
|
|
89
|
+
});
|
|
90
|
+
}
|
|
85
91
|
};
|
|
86
92
|
ReportsService.ctorParameters = () => [
|
|
87
93
|
{ type: AlertService },
|
|
@@ -92,4 +98,4 @@ ReportsService = tslib_1.__decorate([
|
|
|
92
98
|
Injectable()
|
|
93
99
|
], ReportsService);
|
|
94
100
|
export { ReportsService };
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy9yZXBvcnRzLyIsInNvdXJjZXMiOlsicmVwb3J0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNELE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDdkcsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHekQsSUFBYSxjQUFjLEdBQTNCLE1BQWEsY0FBYztJQUl6QixZQUNVLFlBQTBCLEVBQzFCLGdCQUFrQyxFQUNsQyxNQUFtQjtRQUZuQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFdBQU0sR0FBTixNQUFNLENBQWE7UUFFM0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxvQkFBb0IsQ0FBQztRQUM1QyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUVLLFNBQVMsQ0FBQyxRQUFxQjs7WUFDbkMsSUFBSSxHQUFXLENBQUM7WUFDaEIsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2xFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsWUFBWSxDQUFDO1lBQ25DLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxH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Q0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxhQUFhLFFBQVEsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3RHLE9BQU8sWUFBWSxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUM7UUFDckMsQ0FBQztLQUFBO0lBRUssY0FBYyxDQUFDLFFBQWtCLEVBQUUsUUFBcUI7O1lBQzVELE9BQU8sTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzlELENBQUM7S0FBQTtJQUVLLG1CQUFtQixDQUFDLE1BQW1COztZQUMzQyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxlQUFlLFdBQVcsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzFELE9BQU8sTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM1RCxDQUFDO0tBQUE7Q0FDRixDQUFBOztZQXBGeUIsWUFBWTtZQUNSLGdCQUFnQjtZQUMxQixXQUFXOztBQVBsQixjQUFjO0lBRDFCLFVBQVUsRUFBRTtHQUNBLGNBQWMsQ0F5RjFCO1NBekZZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFeHBvcnQsIFNjaGVkdWxlIH0gZnJvbSAnLi9leHBvcnQtc2NoZWR1bGVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IG9yZGVyQnksIGlzRXF1YWwsIHJlbW92ZSwgc29tZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge0ludmVudG9yeVNlcnZpY2UsIElkUmVmZXJlbmNlLCBJTWFuYWdlZE9iamVjdCwgSUZldGNoUmVzcG9uc2UsIElJZGVudGlmaWVkfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBGZXRjaENsaWVudCwgSUZldGNoT3B0aW9ucyB9IGZyb20gJ0BjOHkvY2xpZW50JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlcG9ydHNTZXJ2aWNlIHtcbiAgbWljcm9zZXJ2aWNlVXJsOiBzdHJpbmc7XG4gIGhlYWRlcnM6IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW52ZW50b3J5U2VydmljZTogSW52ZW50b3J5U2VydmljZSxcbiAgICBwcml2YXRlIGNsaWVudDogRmV0Y2hDbGllbnRcbiAgKSB7XG4gICAgdGhpcy5taWNyb3NlcnZpY2VVcmwgPSAnL3NlcnZpY2UvcmVwb3J0aW5nJztcbiAgICB0aGlzLmhlYWRlcnMgPSB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfTtcbiAgfVxuXG4gIGFzeW5jIGdldEV4cG9ydChleHBvcnRJZDogSWRSZWZlcmVuY2UpIHtcbiAgICBsZXQgZXhwOiBFeHBvcnQ7XG4gICAgY29uc3QgZXhwb3J0RGV0YWlsID0gYXdhaXQgdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmRldGFpbChleHBvcnRJZCk7XG4gICAgY29uc3QgeyBkYXRhLCByZXMgfSA9IGV4cG9ydERldGFpbDtcbiAgICBpZiAocmVzLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRTZXJ2ZXJGYWlsdXJlKHsgZGF0YSwgcmVzIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBleHAgPSBkYXRhID8gKChkYXRhIGFzIHVua25vd24pIGFzIEV4cG9ydCkgOiAoe30gYXMgRXhwb3J0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZXhwO1xuICB9XG5cbiAgYXN5bmMgZ2V0U2NoZWR1bGVMaXN0KGV4cG9ydElkOiBJZFJlZmVyZW5jZSkge1xuICAgIGNvbnN0IGV4cCA9IGF3YWl0IHRoaXMuZ2V0RXhwb3J0KGV4cG9ydElkKTtcblxuICAgIHJldHVybiB0aGlzLmV4dHJhY3RTY2hlZHVsZUxpc3RGcm9tRXhwb3J0KGV4cCk7XG4gIH1cblxuICBleHRyYWN0U2NoZWR1bGVMaXN0RnJvbUV4cG9ydChleHA6IEV4cG9ydCkge1xuICAgIGxldCBzY2hlZHVsZUxpc3Q6IFNjaGVkdWxlW107XG4gICAgaWYgKGV4cCkge1xuICAgICAgc2NoZWR1bGVMaXN0ID0gZXhwLmM4eV9TY2hlZHVsZUNvbmZpZ3VyYXRpb24gPyBleHAuYzh5X1NjaGVkdWxlQ29uZmlndXJhdGlvbiA6IFtdO1xuICAgIH1cbiAgICByZXR1cm4gb3JkZXJCeShzY2hlZHVsZUxpc3QsIFsndGltZXN0YW1wJ10sIFsnZGVzYyddKTtcbiAgfVxuXG4gIGFzeW5jIGFkZFNjaGVkdWxlKHNjaGVkdWxlOiBTY2hlZHVsZSwgZXhwb3J0SWQ6IElkUmVmZXJlbmNlKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMudXBkYXRlU2NoZWR1bGVzKGV4cG9ydElkLCBbXSwgW3NjaGVkdWxlXSk7XG4gIH1cblxuICBhc3luYyB1cGRhdGVTY2hlZHVsZShvbGRTY2hlZHVsZTogU2NoZWR1bGUsIHNjaGVkdWxlOiBTY2hlZHVsZSwgZXhwb3J0SWQ6IElkUmVmZXJlbmNlKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMudXBkYXRlU2NoZWR1bGVzKGV4cG9ydElkLCBbb2xkU2NoZWR1bGVdLCBbc2NoZWR1bGVdKTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVNjaGVkdWxlcyhcbiAgICBleHBvcnRJZDogSWRSZWZlcmVuY2UsXG4gICAgc2NoZWR1bGVzVG9SZW1vdmU6IFNjaGVkdWxlW10gPSBbXSxcbiAgICBzY2hlZHVsZXNUb0FkZDogU2NoZWR1bGVbXSA9IFtdXG4gICkge1xuICAgIGxldCBzdWNjZXNzOiBib29sZWFuID0gZmFsc2U7XG4gICAgY29uc3QgZXhwID0gYXdhaXQgdGhpcy5nZXRFeHBvcnQoZXhwb3J0SWQpO1xuICAgIGNvbnN0IHNjaGVkdWxlcyA9IHRoaXMuZXh0cmFjdFNjaGVkdWxlTGlzdEZyb21FeHBvcnQoZXhwKTtcblxuICAgIHJlbW92ZShzY2hlZHVsZXMsIChzY2hlZHVsZTogU2NoZWR1bGUpID0+XG4gICAgICBzb21lKHNjaGVkdWxlc1RvUmVtb3ZlLCAoc2NoZWR1bGVUb1JlbW92ZTogU2NoZWR1bGUpID0+IGlzRXF1YWwoc2NoZWR1bGUsIHNjaGVkdWxlVG9SZW1vdmUpKVxuICAgICk7XG4gICAgc2NoZWR1bGVzLnB1c2guYXBwbHkoc2NoZWR1bGVzLCBzY2hlZHVsZXNUb0FkZCk7XG4gICAgZXhwLmM4eV9TY2hlZHVsZUNvbmZpZ3VyYXRpb24gPSBzY2hlZHVsZXM7XG4gICAgY29uc3QgeyBkYXRhLCByZXMgfSA9IGF3YWl0IHRoaXMuaW52ZW50b3J5U2VydmljZS51cGRhdGUoZXhwKTtcbiAgICBpZiAocmVzLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICBzdWNjZXNzID0gYXdhaXQgdGhpcy5yZXNjaGVkdWxlKGV4cG9ydElkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkU2VydmVyRmFpbHVyZSh7IGRhdGEsIHJlcyB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VjY2VzcztcbiAgfVxuXG4gIGFzeW5jIHJlc2NoZWR1bGUoZXhwb3J0SWQ6IElkUmVmZXJlbmNlKSB7XG4gICAgY29uc3Qgb3B0aW9uczogSUZldGNoT3B0aW9ucyA9IHtcbiAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnNcbiAgICB9O1xuICAgIGNvbnN0IHJlc2NoZWR1bGluZyA9IGF3YWl0IHRoaXMuY2xpZW50LmZldGNoKGAke3RoaXMubWljcm9zZXJ2aWNlVXJsfS9zY2hlZHVsZS8ke2V4cG9ydElkfWAsIG9wdGlvbnMpO1xuICAgIHJldHVybiByZXNjaGVkdWxpbmcuc3RhdHVzID09PSAyMDA7XG4gIH1cblxuICBhc3luYyBkZWxldGVTY2hlZHVsZShzY2hlZHVsZTogU2NoZWR1bGUsIGV4cG9ydElkOiBJZFJlZmVyZW5jZSkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnVwZGF0ZVNjaGVkdWxlcyhleHBvcnRJZCwgW3NjaGVkdWxlXSwgW10pO1xuICB9XG5cbiAgYXN5bmMgcmVtb3ZlQ29uZmlndXJhdGlvbihjb25maWc6IElJZGVudGlmaWVkKTogUHJvbWlzZTxJRmV0Y2hSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMubWljcm9zZXJ2aWNlVXJsfS9jb25maWcvJHtjb25maWcuaWR9YDtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jbGllbnQuZmV0Y2godXJsLCB7IG1ldGhvZDogJ0RFTEVURScgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -15,7 +15,7 @@ var RangeDisplayComponent = /** @class */ (function () {
|
|
|
15
15
|
if (!this.config.max) {
|
|
16
16
|
this.config.max = 100;
|
|
17
17
|
}
|
|
18
|
-
if (this.config.fractionSize) {
|
|
18
|
+
if (this.config.fractionSize !== undefined) {
|
|
19
19
|
this.config.current = parseFloat(this.config.current.toFixed(this.config.fractionSize));
|
|
20
20
|
}
|
|
21
21
|
return this.sanitizer.bypassSecurityTrustStyle("\n --range-min: " + this.config.min + ";\n --range-max: " + this.config.max + ";\n --full-range: " + (this.config.max - this.config.min) + ";\n --measurement-target: " + ((this.config.target - this.config.min) * 100) /
|
|
@@ -37,7 +37,7 @@ var RangeDisplayComponent = /** @class */ (function () {
|
|
|
37
37
|
};
|
|
38
38
|
RangeDisplayComponent.prototype.rulerCalc = function (index) {
|
|
39
39
|
var num = this.config.min + ((this.config.max - this.config.min) / 10) * index;
|
|
40
|
-
if (this.config.fractionSize) {
|
|
40
|
+
if (this.config.fractionSize !== undefined) {
|
|
41
41
|
return parseFloat(num.toFixed(this.config.fractionSize));
|
|
42
42
|
}
|
|
43
43
|
return parseFloat(num.toFixed(2));
|
|
@@ -74,4 +74,4 @@ var RangeDisplayComponent = /** @class */ (function () {
|
|
|
74
74
|
return RangeDisplayComponent;
|
|
75
75
|
}());
|
|
76
76
|
export { RangeDisplayComponent };
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtZGlzcGxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYzh5L25neC1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29yZS9yYW5nZS1kaXNwbGF5L3JhbmdlLWRpc3BsYXkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBT3pEO0lBcUNFLCtCQUFvQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBcENsQyxXQUFNLEdBQWlCLEVBQUUsQ0FBQztJQW9DVyxDQUFDO0lBbEMvQyxzQkFBSSw4Q0FBVzthQUFmO1lBQ0UsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQzthQUNyQjtZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO2FBQ3ZCO1lBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUU7Z0JBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO2FBQ3pGO1lBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUM1Qyw4QkFDbUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFH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UUFDUSxJQUFBLGdCQUEwQyxFQUF4Qyw0QkFBVyxFQUFFLDRCQUEyQixDQUFDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsc0RBQXNCLEdBQXRCO1FBQ1EsSUFBQSxnQkFBZ0QsRUFBOUMsa0NBQWMsRUFBRSxrQ0FBOEIsQ0FBQztRQUN2RCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELGdEQUFnQixHQUFoQixVQUFpQixRQUFRLEVBQUUsUUFBUTtRQUNqQyxPQUFPLFFBQVEsS0FBSyxDQUFDLElBQUksUUFBUSxLQUFLLENBQUMsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDO0lBQ2xFLENBQUM7O2dCQWpDOEIsWUFBWTs7SUFwQ2xDO1FBQVIsS0FBSyxFQUFFO3lEQUEyQjtJQUVuQztRQURDLFdBQVcsQ0FBQyxZQUFZLENBQUM7NERBaUN6QjtJQW5DVSxxQkFBcUI7UUFKakMsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QiwraERBQTZDO1NBQzlDLENBQUM7T0FDVyxxQkFBcUIsQ0F1RWpDO0lBQUQsNEJBQUM7Q0FBQSxBQXZFRCxJQXVFQztTQXZFWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBSYW5nZURpc3BsYXkgfSBmcm9tICcuL3JhbmdlLWRpc3BsYXkubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktcmFuZ2UtZGlzcGxheScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yYW5nZS1kaXNwbGF5LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBSYW5nZURpc3BsYXlDb21wb25lbnQge1xuICBASW5wdXQoKSBjb25maWc6IFJhbmdlRGlzcGxheSA9IHt9O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuc3R5bGUnKVxuICBnZXQgaW5saW5lU3R5bGUoKSB7XG4gICAgdGhpcy5jb25maWcgPSB0aGlzLmNvbmZpZyB8fCB7fTtcbiAgICBpZiAoIXRoaXMuY29uZmlnLm1pbikge1xuICAgICAgdGhpcy5jb25maWcubWluID0gMDtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmNvbmZpZy5tYXgpIHtcbiAgICAgIHRoaXMuY29uZmlnLm1heCA9IDEwMDtcbiAgICB9XG4gICAgaWYgKHRoaXMuY29uZmlnLmZyYWN0aW9uU2l6ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNvbmZpZy5jdXJyZW50ID0gcGFyc2VGbG9hdCh0aGlzLmNvbmZpZy5jdXJyZW50LnRvRml4ZWQodGhpcy5jb25maWcuZnJhY3Rpb25TaXplKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoXG4gICAgICBgXG4gICAgICAgICAgLS1yYW5nZS1taW46ICR7dGhpcy5jb25maWcubWlufTtcbiAgICAgICAgICAtLXJhbmdlLW1heDogJHt0aGlzLmNvbmZpZy5tYXh9O1xuICAgICAgICAgIC0tZnVsbC1yYW5nZTogJHt0aGlzLmNvbmZpZy5tYXggLSB0aGlzLmNvbmZpZy5taW59O1xuICAgICAgICAgIC0tbWVhc3VyZW1lbnQtdGFyZ2V0OiAkeygodGhpcy5jb25maWcudGFyZ2V0IC0gdGhpcy5jb25maWcubWluKSAqIDEwMCkgL1xuICAgICAgICAgICAgKHRoaXMuY29uZmlnLm1heCAtIHRoaXMuY29uZmlnLm1pbil9JTtcbiAgICAgICAgICAtLW1lYXN1cmVtZW50LWN1cnJlbnQ6ICR7KCh0aGlzLmNvbmZpZy5jdXJyZW50IC0gdGhpcy5jb25maWcubWluKSAqIDEwMCkgL1xuICAgICAgICAgICAgKHRoaXMuY29uZmlnLm1heCAtIHRoaXMuY29uZmlnLm1pbil9JTtcbiAgICAgICAgICAtLXJhbmdlLXktbWluOiAkeygodGhpcy5jb25maWcueWVsbG93UmFuZ2VNaW4gLSB0aGlzLmNvbmZpZy5taW4pICogMTAwKSAvXG4gICAgICAgICAgICAodGhpcy5jb25maWcubWF4IC0gdGhpcy5jb25maWcubWluKX0lO1xuICAgICAgICAgIC0tcmFuZ2UteS1tYXg6ICR7KCh0aGlzLmNvbmZpZy55ZWxsb3dSYW5nZU1heCAtIHRoaXMuY29uZmlnLm1pbikgL1xuICAgICAgICAgICAgKHRoaXMuY29uZmlnLm1heCAtIHRoaXMuY29uZmlnLm1pbikpICpcbiAgICAgICAgICAgIDEwMH0lO1xuICAgICAgICAgIC0tcmFuZ2Utci1taW46ICR7KCh0aGlzLmNvbmZpZy5yZWRSYW5nZU1pbiAtIHRoaXMuY29uZmlnLm1pbikgKiAxMDApIC9cbiAgICAgICAgICAgICh0aGlzLmNvbmZpZy5tYXggLSB0aGlzLmNvbmZpZy5taW4pfSU7XG4gICAgICAgICAgLS1yYW5nZS1yLW1heDogJHsoKHRoaXMuY29uZmlnLnJlZFJhbmdlTWF4IC0gdGhpcy5jb25maWcubWluKSAvXG4gICAgICAgICAgICAodGhpcy5jb25maWcubWF4IC0gdGhpcy5jb25maWcubWluKSkgKlxuICAgICAgICAgICAgMTAwfSU7XG4gICAgICAgIGBcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuICBjaGVja1RhcmdldCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5jb25maWcudGFyZ2V0ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICh0aGlzLmNvbmZpZy50YXJnZXQgPj0gdGhpcy5jb25maWcubWluICYmIHRoaXMuY29uZmlnLnRhcmdldCA8PSB0aGlzLmNvbmZpZy5tYXgpXG4gICAgKTtcbiAgfVxuXG4gIHJ1bGVyQ2FsYyhpbmRleCkge1xuICAgIGNvbnN0IG51bTogbnVtYmVyID0gdGhpcy5jb25maWcubWluICsgKCh0aGlzLmNvbmZpZy5tYXggLSB0aGlzLmNvbmZpZy5taW4pIC8gMTApICogaW5kZXg7XG4gICAgaWYgKHRoaXMuY29uZmlnLmZyYWN0aW9uU2l6ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gcGFyc2VGbG9hdChudW0udG9GaXhlZCh0aGlzLmNvbmZpZy5mcmFjdGlvblNpemUpKTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcnNlRmxvYXQobnVtLnRvRml4ZWQoMikpO1xuICB9XG5cbiAgdHJhY2tCeUluZGV4KGluZGV4OiBudW1iZXIsIGVsOiBhbnkpOiBudW1iZXIge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIGlzUmVkUmFuZ2VEaXNwbGF5ZWQoKSB7XG4gICAgY29uc3QgeyByZWRSYW5nZU1pbiwgcmVkUmFuZ2VNYXggfSA9IHRoaXMuY29uZmlnO1xuICAgIHJldHVybiB0aGlzLmlzUmFuZ2VEaXNwbGF5ZWQocmVkUmFuZ2VNaW4sIHJlZFJhbmdlTWF4KTtcbiAgfVxuXG4gIGlzWWVsbG93UmFuZ2VEaXNwbGF5ZWQoKSB7XG4gICAgY29uc3QgeyB5ZWxsb3dSYW5nZU1pbiwgeWVsbG93UmFuZ2VNYXggfSA9IHRoaXMuY29uZmlnO1xuICAgIHJldHVybiB0aGlzLmlzUmFuZ2VEaXNwbGF5ZWQoeWVsbG93UmFuZ2VNaW4sIHllbGxvd1JhbmdlTWF4KTtcbiAgfVxuXG4gIGlzUmFuZ2VEaXNwbGF5ZWQocmFuZ2VNaW4sIHJhbmdlTWF4KSB7XG4gICAgcmV0dXJuIHJhbmdlTWluID09PSAwIHx8IHJhbmdlTWF4ID09PSAwIHx8IHJhbmdlTWluICYmIHJhbmdlTWF4O1xuICB9XG59XG4iXX0=
|
|
@@ -2,14 +2,14 @@ import * as tslib_1 from "tslib";
|
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
3
|
import { AlertService } from '@c8y/ngx-components';
|
|
4
4
|
import { orderBy, isEqual, remove, some } from 'lodash-es';
|
|
5
|
-
import { InventoryService, IdReference } from '@c8y/client';
|
|
5
|
+
import { InventoryService, IdReference, IManagedObject, IFetchResponse, IIdentified } from '@c8y/client';
|
|
6
6
|
import { FetchClient, IFetchOptions } from '@c8y/client';
|
|
7
7
|
var ReportsService = /** @class */ (function () {
|
|
8
8
|
function ReportsService(alertService, inventoryService, client) {
|
|
9
9
|
this.alertService = alertService;
|
|
10
10
|
this.inventoryService = inventoryService;
|
|
11
11
|
this.client = client;
|
|
12
|
-
this.microserviceUrl = '/service/reporting
|
|
12
|
+
this.microserviceUrl = '/service/reporting';
|
|
13
13
|
this.headers = { 'Content-Type': 'application/json' };
|
|
14
14
|
}
|
|
15
15
|
ReportsService.prototype.getExport = function (exportId) {
|
|
@@ -116,7 +116,7 @@ var ReportsService = /** @class */ (function () {
|
|
|
116
116
|
method: 'PUT',
|
|
117
117
|
headers: this.headers
|
|
118
118
|
};
|
|
119
|
-
return [4 /*yield*/, this.client.fetch(this.microserviceUrl + "/" + exportId, options)];
|
|
119
|
+
return [4 /*yield*/, this.client.fetch(this.microserviceUrl + "/schedule/" + exportId, options)];
|
|
120
120
|
case 1:
|
|
121
121
|
rescheduling = _a.sent();
|
|
122
122
|
return [2 /*return*/, rescheduling.status === 200];
|
|
@@ -134,6 +134,19 @@ var ReportsService = /** @class */ (function () {
|
|
|
134
134
|
});
|
|
135
135
|
});
|
|
136
136
|
};
|
|
137
|
+
ReportsService.prototype.removeConfiguration = function (config) {
|
|
138
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
139
|
+
var url;
|
|
140
|
+
return tslib_1.__generator(this, function (_a) {
|
|
141
|
+
switch (_a.label) {
|
|
142
|
+
case 0:
|
|
143
|
+
url = this.microserviceUrl + "/config/" + config.id;
|
|
144
|
+
return [4 /*yield*/, this.client.fetch(url, { method: 'DELETE' })];
|
|
145
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
};
|
|
137
150
|
ReportsService.ctorParameters = function () { return [
|
|
138
151
|
{ type: AlertService },
|
|
139
152
|
{ type: InventoryService },
|
|
@@ -145,4 +158,4 @@ var ReportsService = /** @class */ (function () {
|
|
|
145
158
|
return ReportsService;
|
|
146
159
|
}());
|
|
147
160
|
export { ReportsService };
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy9yZXBvcnRzLyIsInNvdXJjZXMiOlsicmVwb3J0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNELE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDdkcsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHekQ7SUFJRSx3QkFDVSxZQUEwQixFQUMxQixnQkFBa0MsRUFDbEMsTUFBbUI7UUFGbkIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxXQUFNLEdBQU4sTUFBTSxDQUFhO1FBRTNCLElBQUksQ0FBQyxlQUFlLEdBQUcsb0JBQW9CLENBQUM7UUFDNUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFSyxrQ0FBUyxHQUFmLFVBQWdCLFFBQXFCOzs7Ozs0QkFFZCxxQkFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFBOzt3QkFBM0QsWUFBWSxHQUFHLFNBQTRDO3dCQUN6RCxJQUFJLEdBQVUsWUFBWSxLQUF0QixFQUFFLEdBQUcsR0FBSyxZQUFZLElBQWpCLENBQWtCO3dCQUNuQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFOzRCQUN0QixJ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c0JBQU8sT0FBTyxFQUFDOzs7O0tBQ2hCO0lBRUssbUNBQVUsR0FBaEIsVUFBaUIsUUFBcUI7Ozs7Ozt3QkFDOUIsT0FBTyxHQUFrQjs0QkFDN0IsTUFBTSxFQUFFLEtBQUs7NEJBQ2IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO3lCQUN0QixDQUFDO3dCQUNtQixxQkFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBSSxJQUFJLENBQUMsZUFBZSxrQkFBYSxRQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUE7O3dCQUEvRixZQUFZLEdBQUcsU0FBZ0Y7d0JBQ3JHLHNCQUFPLFlBQVksQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFDOzs7O0tBQ3BDO0lBRUssdUNBQWMsR0FBcEIsVUFBcUIsUUFBa0IsRUFBRSxRQUFxQjs7Ozs0QkFDckQscUJBQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBQTs0QkFBM0Qsc0JBQU8sU0FBb0QsRUFBQzs7OztLQUM3RDtJQUVLLDRDQUFtQixHQUF6QixVQUEwQixNQUFtQjs7Ozs7O3dCQUNyQyxHQUFHLEdBQU0sSUFBSSxDQUFDLGVBQWUsZ0JBQVcsTUFBTSxDQUFDLEVBQUksQ0FBQzt3QkFDbkQscUJBQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUE7NEJBQXpELHNCQUFPLFNBQWtELEVBQUM7Ozs7S0FDM0Q7O2dCQW5GdUIsWUFBWTtnQkFDUixnQkFBZ0I7Z0JBQzFCLFdBQVc7O0lBUGxCLGNBQWM7UUFEMUIsVUFBVSxFQUFFO09BQ0EsY0FBYyxDQXlGMUI7SUFBRCxxQkFBQztDQUFBLEFBekZELElBeUZDO1NBekZZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFeHBvcnQsIFNjaGVkdWxlIH0gZnJvbSAnLi9leHBvcnQtc2NoZWR1bGVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IG9yZGVyQnksIGlzRXF1YWwsIHJlbW92ZSwgc29tZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge0ludmVudG9yeVNlcnZpY2UsIElkUmVmZXJlbmNlLCBJTWFuYWdlZE9iamVjdCwgSUZldGNoUmVzcG9uc2UsIElJZGVudGlmaWVkfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBGZXRjaENsaWVudCwgSUZldGNoT3B0aW9ucyB9IGZyb20gJ0BjOHkvY2xpZW50JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlcG9ydHNTZXJ2aWNlIHtcbiAgbWljcm9zZXJ2aWNlVXJsOiBzdHJpbmc7XG4gIGhlYWRlcnM6IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW52ZW50b3J5U2VydmljZTogSW52ZW50b3J5U2VydmljZSxcbiAgICBwcml2YXRlIGNsaWVudDogRmV0Y2hDbGllbnRcbiAgKSB7XG4gICAgdGhpcy5taWNyb3NlcnZpY2VVcmwgPSAnL3NlcnZpY2UvcmVwb3J0aW5nJztcbiAgICB0aGlzLmhlYWRlcnMgPSB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfTtcbiAgfVxuXG4gIGFzeW5jIGdldEV4cG9ydChleHBvcnRJZDogSWRSZWZlcmVuY2UpIHtcbiAgICBsZXQgZXhwOiBFeHBvcnQ7XG4gICAgY29uc3QgZXhwb3J0RGV0YWlsID0gYXdhaXQgdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmRldGFpbChleHBvcnRJZCk7XG4gICAgY29uc3QgeyBkYXRhLCByZXMgfSA9IGV4cG9ydERldGFpbDtcbiAgICBpZiAocmVzLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRTZXJ2ZXJGYWlsdXJlKHsgZGF0YSwgcmVzIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBleHAgPSBkYXRhID8gKChkYXRhIGFzIHVua25vd24pIGFzIEV4cG9ydCkgOiAoe30gYXMgRXhwb3J0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZXhwO1xuICB9XG5cbiAgYXN5bmMgZ2V0U2NoZWR1bGVMaXN0KGV4cG9ydElkOiBJZFJlZmVyZW5jZSkge1xuICAgIGNvbnN0IGV4cCA9IGF3YWl0IHRoaXMuZ2V0RXhwb3J0KGV4cG9ydElkKTtcblxuICAgIHJldHVybiB0aGlzLmV4dHJhY3RTY2hlZHVsZUxpc3RGcm9tRXhwb3J0KGV4cCk7XG4gIH1cblxuICBleHRyYWN0U2NoZWR1bGVMaXN0RnJvbUV4cG9ydChleHA6IEV4cG9ydCkge1xuICAgIGxldCBzY2hlZHVsZUxpc3Q6IFNjaGVkdWxlW107XG4gICAgaWYgKGV4cCkge1xuICAgICAgc2NoZWR1bGVMaXN0ID0gZXhwLmM4eV9TY2hlZHVsZUNvbmZpZ3VyYXRpb24gPyBleHAuYzh5X1NjaGVkdWxlQ29uZmlndXJhdGlvbiA6IFtdO1xuICAgIH1cbiAgICByZXR1cm4gb3JkZXJCeShzY2hlZHVsZUxpc3QsIFsndGltZXN0YW1wJ10sIFsnZGVzYyddKTtcbiAgfVxuXG4gIGFzeW5jIGFkZFNjaGVkdWxlKHNjaGVkdWxlOiBTY2hlZHVsZSwgZXhwb3J0SWQ6IElkUmVmZXJlbmNlKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMudXBkYXRlU2NoZWR1bGVzKGV4cG9ydElkLCBbXSwgW3NjaGVkdWxlXSk7XG4gIH1cblxuICBhc3luYyB1cGRhdGVTY2hlZHVsZShvbGRTY2hlZHVsZTogU2NoZWR1bGUsIHNjaGVkdWxlOiBTY2hlZHVsZSwgZXhwb3J0SWQ6IElkUmVmZXJlbmNlKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMudXBkYXRlU2NoZWR1bGVzKGV4cG9ydElkLCBbb2xkU2NoZWR1bGVdLCBbc2NoZWR1bGVdKTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVNjaGVkdWxlcyhcbiAgICBleHBvcnRJZDogSWRSZWZlcmVuY2UsXG4gICAgc2NoZWR1bGVzVG9SZW1vdmU6IFNjaGVkdWxlW10gPSBbXSxcbiAgICBzY2hlZHVsZXNUb0FkZDogU2NoZWR1bGVbXSA9IFtdXG4gICkge1xuICAgIGxldCBzdWNjZXNzOiBib29sZWFuID0gZmFsc2U7XG4gICAgY29uc3QgZXhwID0gYXdhaXQgdGhpcy5nZXRFeHBvcnQoZXhwb3J0SWQpO1xuICAgIGNvbnN0IHNjaGVkdWxlcyA9IHRoaXMuZXh0cmFjdFNjaGVkdWxlTGlzdEZyb21FeHBvcnQoZXhwKTtcblxuICAgIHJlbW92ZShzY2hlZHVsZXMsIChzY2hlZHVsZTogU2NoZWR1bGUpID0+XG4gICAgICBzb21lKHNjaGVkdWxlc1RvUmVtb3ZlLCAoc2NoZWR1bGVUb1JlbW92ZTogU2NoZWR1bGUpID0+IGlzRXF1YWwoc2NoZWR1bGUsIHNjaGVkdWxlVG9SZW1vdmUpKVxuICAgICk7XG4gICAgc2NoZWR1bGVzLnB1c2guYXBwbHkoc2NoZWR1bGVzLCBzY2hlZHVsZXNUb0FkZCk7XG4gICAgZXhwLmM4eV9TY2hlZHVsZUNvbmZpZ3VyYXRpb24gPSBzY2hlZHVsZXM7XG4gICAgY29uc3QgeyBkYXRhLCByZXMgfSA9IGF3YWl0IHRoaXMuaW52ZW50b3J5U2VydmljZS51cGRhdGUoZXhwKTtcbiAgICBpZiAocmVzLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICBzdWNjZXNzID0gYXdhaXQgdGhpcy5yZXNjaGVkdWxlKGV4cG9ydElkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkU2VydmVyRmFpbHVyZSh7IGRhdGEsIHJlcyB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VjY2VzcztcbiAgfVxuXG4gIGFzeW5jIHJlc2NoZWR1bGUoZXhwb3J0SWQ6IElkUmVmZXJlbmNlKSB7XG4gICAgY29uc3Qgb3B0aW9uczogSUZldGNoT3B0aW9ucyA9IHtcbiAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnNcbiAgICB9O1xuICAgIGNvbnN0IHJlc2NoZWR1bGluZyA9IGF3YWl0IHRoaXMuY2xpZW50LmZldGNoKGAke3RoaXMubWljcm9zZXJ2aWNlVXJsfS9zY2hlZHVsZS8ke2V4cG9ydElkfWAsIG9wdGlvbnMpO1xuICAgIHJldHVybiByZXNjaGVkdWxpbmcuc3RhdHVzID09PSAyMDA7XG4gIH1cblxuICBhc3luYyBkZWxldGVTY2hlZHVsZShzY2hlZHVsZTogU2NoZWR1bGUsIGV4cG9ydElkOiBJZFJlZmVyZW5jZSkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnVwZGF0ZVNjaGVkdWxlcyhleHBvcnRJZCwgW3NjaGVkdWxlXSwgW10pO1xuICB9XG5cbiAgYXN5bmMgcmVtb3ZlQ29uZmlndXJhdGlvbihjb25maWc6IElJZGVudGlmaWVkKTogUHJvbWlzZTxJRmV0Y2hSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMubWljcm9zZXJ2aWNlVXJsfS9jb25maWcvJHtjb25maWcuaWR9YDtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jbGllbnQuZmV0Y2godXJsLCB7IG1ldGhvZDogJ0RFTEVURScgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -17,7 +17,7 @@ let ReportsService = class ReportsService {
|
|
|
17
17
|
this.alertService = alertService;
|
|
18
18
|
this.inventoryService = inventoryService;
|
|
19
19
|
this.client = client;
|
|
20
|
-
this.microserviceUrl = '/service/reporting
|
|
20
|
+
this.microserviceUrl = '/service/reporting';
|
|
21
21
|
this.headers = { 'Content-Type': 'application/json' };
|
|
22
22
|
}
|
|
23
23
|
getExport(exportId) {
|
|
@@ -81,7 +81,7 @@ let ReportsService = class ReportsService {
|
|
|
81
81
|
method: 'PUT',
|
|
82
82
|
headers: this.headers
|
|
83
83
|
};
|
|
84
|
-
const rescheduling = yield this.client.fetch(`${this.microserviceUrl}/${exportId}`, options);
|
|
84
|
+
const rescheduling = yield this.client.fetch(`${this.microserviceUrl}/schedule/${exportId}`, options);
|
|
85
85
|
return rescheduling.status === 200;
|
|
86
86
|
});
|
|
87
87
|
}
|
|
@@ -90,6 +90,12 @@ let ReportsService = class ReportsService {
|
|
|
90
90
|
return yield this.updateSchedules(exportId, [schedule], []);
|
|
91
91
|
});
|
|
92
92
|
}
|
|
93
|
+
removeConfiguration(config) {
|
|
94
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
+
const url = `${this.microserviceUrl}/config/${config.id}`;
|
|
96
|
+
return yield this.client.fetch(url, { method: 'DELETE' });
|
|
97
|
+
});
|
|
98
|
+
}
|
|
93
99
|
};
|
|
94
100
|
ReportsService.ctorParameters = () => [
|
|
95
101
|
{ type: AlertService },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-reports.js","sources":["ng://@c8y/ngx-components/reports/reports.service.ts","ng://@c8y/ngx-components/reports/export-schedules.interface.ts","ng://@c8y/ngx-components/reports/cron.service.ts","ng://@c8y/ngx-components/reports/schedule-modal.component.ts","ng://@c8y/ngx-components/reports/export-schedules.component.ts","ng://@c8y/ngx-components/reports/cron.component.ts","ng://@c8y/ngx-components/reports/reports.module.ts","ng://@c8y/ngx-components/reports/ng1/downgraded.components.ts","ng://@c8y/ngx-components/reports/ng1/downgraded.services.ts","ng://@c8y/ngx-components/reports/ng1/index.ts","ng://@c8y/ngx-components/reports/c8y-ngx-components-reports.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Export, Schedule } from './export-schedules.interface';\nimport { AlertService } from '@c8y/ngx-components';\nimport { orderBy, isEqual, remove, some } from 'lodash-es';\nimport { InventoryService, IdReference } from '@c8y/client';\nimport { FetchClient, IFetchOptions } from '@c8y/client';\nimport { gettext } from '@c8y/ngx-components';\n\n@Injectable()\nexport class ReportsService {\n microserviceUrl: string;\n headers: any;\n\n constructor(\n private alertService: AlertService,\n private inventoryService: InventoryService,\n private client: FetchClient\n ) {\n this.microserviceUrl = '/service/reporting/schedule';\n this.headers = { 'Content-Type': 'application/json' };\n }\n\n async getExport(exportId: IdReference) {\n let exp: Export;\n const exportDetail = await this.inventoryService.detail(exportId);\n const { data, res } = exportDetail;\n if (res.status !== 200) {\n this.alertService.addServerFailure({ data, res });\n } else {\n exp = data ? ((data as unknown) as Export) : ({} as Export);\n }\n\n return exp;\n }\n\n async getScheduleList(exportId: IdReference) {\n const exp = await this.getExport(exportId);\n\n return this.extractScheduleListFromExport(exp);\n }\n\n extractScheduleListFromExport(exp: Export) {\n let scheduleList: Schedule[];\n if (exp) {\n scheduleList = exp.c8y_ScheduleConfiguration ? exp.c8y_ScheduleConfiguration : [];\n }\n return orderBy(scheduleList, ['timestamp'], ['desc']);\n }\n\n async addSchedule(schedule: Schedule, exportId: IdReference) {\n return await this.updateSchedules(exportId, [], [schedule]);\n }\n\n async updateSchedule(oldSchedule: Schedule, schedule: Schedule, exportId: IdReference) {\n return await this.updateSchedules(exportId, [oldSchedule], [schedule]);\n }\n\n async updateSchedules(\n exportId: IdReference,\n schedulesToRemove: Schedule[] = [],\n schedulesToAdd: Schedule[] = []\n ) {\n let success: boolean = false;\n const exp = await this.getExport(exportId);\n const schedules = this.extractScheduleListFromExport(exp);\n\n remove(schedules, (schedule: Schedule) =>\n some(schedulesToRemove, (scheduleToRemove: Schedule) => isEqual(schedule, scheduleToRemove))\n );\n schedules.push.apply(schedules, schedulesToAdd);\n exp.c8y_ScheduleConfiguration = schedules;\n const { data, res } = await this.inventoryService.update(exp);\n if (res.status === 200) {\n success = await this.reschedule(exportId);\n } else {\n this.alertService.addServerFailure({ data, res });\n }\n\n return success;\n }\n\n async reschedule(exportId: IdReference) {\n const options: IFetchOptions = {\n method: 'PUT',\n headers: this.headers\n };\n const rescheduling = await this.client.fetch(`${this.microserviceUrl}/${exportId}`, options);\n return rescheduling.status === 200;\n }\n\n async deleteSchedule(schedule: Schedule, exportId: IdReference) {\n return await this.updateSchedules(exportId, [schedule], []);\n }\n}\n","import { IManagedObject } from '@c8y/client';\n\nexport interface Export extends IManagedObject {\n c8y_ScheduleConfiguration: Schedule[];\n}\n\nexport interface Schedule {\n timestamp: number;\n emailConfig: EmailConfig;\n cronConfig: CronConfig;\n}\n\nexport interface EmailConfig {\n to: string[];\n cc: string[];\n bcc: string[];\n replyTo: string;\n text: string;\n subject: string;\n}\n\nexport interface CronConfig {\n month: string;\n hour: string;\n weekday: string;\n day: string;\n minute: string;\n}\n\nexport interface EmittedCron {\n cron: string;\n valid: boolean;\n}\n\nexport interface EmitterPayload {\n success: boolean;\n message: string;\n schedule: Schedule;\n}\n\nexport enum ActionType {\n CREATE = 'create',\n EDIT = 'edit',\n DUPLICATE = 'duplicate'\n}\n\nexport enum Base {\n Initial = 1,\n Hour,\n Day,\n Week,\n Month,\n Year\n}\n","import { Injectable } from '@angular/core';\nimport { CronConfig, Base } from './export-schedules.interface';\nimport { TranslateService } from '@ngx-translate/core';\nimport { formatDate } from '@angular/common';\nimport { gettext } from '@c8y/ngx-components';\n\n@Injectable()\nexport class CronService {\n daysOfWeekPosix: any[] = [];\n daysOfMonth = [\n { value: '1', label: '1.' },\n { value: '2', label: '2.' },\n { value: '3', label: '3.' },\n { value: '4', label: '4.' },\n { value: '5', label: '5.' },\n { value: '6', label: '6.' },\n { value: '7', label: '7.' },\n { value: '8', label: '8.' },\n { value: '9', label: '9.' },\n { value: '10', label: '10.' },\n { value: '11', label: '11.' },\n { value: '12', label: '12.' },\n { value: '13', label: '13.' },\n { value: '14', label: '14.' },\n { value: '15', label: '15.' },\n { value: '16', label: '16.' },\n { value: '17', label: '17.' },\n { value: '18', label: '18.' },\n { value: '19', label: '19.' },\n { value: '20', label: '20.' },\n { value: '21', label: '21.' },\n { value: '22', label: '22.' },\n { value: '23', label: '23.' },\n { value: '24', label: '24.' },\n { value: '25', label: '25.' },\n { value: '26', label: '26.' },\n { value: '27', label: '27.' },\n { value: '28', label: '28.' },\n { value: '29', label: '29.' },\n { value: '30', label: '30.' },\n { value: '31', label: '31.' }\n ];\n months: any[] = [];\n hours: any[] = [];\n minutes: any[] = [];\n intervals = [\n { value: 2, label: gettext('Hour') },\n { value: 3, label: gettext('Day') },\n { value: 4, label: gettext('Week') },\n { value: 5, label: gettext('Month') },\n { value: 6, label: gettext('Year') }\n ];\n constructor(private translateService: TranslateService) {\n for (let x = 0; x < 24; x++) {\n this.hours.push({ value: x.toString(), label: `${x}` });\n }\n for (let x = 0; x < 60; x = x + 5) {\n this.minutes.push({ value: x.toString(), label: `${x}` });\n }\n\n for (let x = 0; x < 7; x++) {\n this.daysOfWeekPosix.push({\n value: x.toString(),\n label: this.getWeekDayName(({ weekday: x } as unknown) as CronConfig)\n });\n }\n\n for (let x = 1; x < 13; x++) {\n this.months.push({\n value: x.toString(),\n label: this.getMonthName(({ month: x } as unknown) as CronConfig)\n });\n }\n }\n\n generateCron(cronConfig: CronConfig) {\n let cron: string = '';\n cron = cronConfig.minute ? `${cronConfig.minute}` : '*';\n cron += cronConfig.hour ? ` ${cronConfig.hour}` : ' *';\n cron += cronConfig.day ? ` ${cronConfig.day}` : ' *';\n cron += cronConfig.month ? ` ${cronConfig.month}` : ' *';\n cron += cronConfig.weekday ? ` ${cronConfig.weekday}` : ' *';\n\n return cron;\n }\n\n generateCronConfig(cron: string) {\n const parts = cron.split(/\\s+/);\n const cronConfig: CronConfig = {\n minute: parts[0],\n hour: parts[1],\n day: parts[2],\n month: parts[3],\n weekday: parts[4]\n };\n\n return cronConfig;\n }\n\n getBase(cronConfig: CronConfig) {\n let base: Base = Base.Initial;\n\n if (\n cronConfig.minute !== '*' &&\n cronConfig.hour === '*' &&\n cronConfig.day === '*' &&\n cronConfig.month === '*' &&\n cronConfig.weekday === '*'\n ) {\n base = Base.Hour;\n } else if (\n cronConfig.minute !== '*' &&\n cronConfig.hour !== '*' &&\n cronConfig.day === '*' &&\n cronConfig.month === '*' &&\n cronConfig.weekday === '*'\n ) {\n base = Base.Day;\n } else if (\n cronConfig.minute !== '*' &&\n cronConfig.hour !== '*' &&\n cronConfig.day === '*' &&\n cronConfig.month === '*' &&\n cronConfig.weekday !== '*'\n ) {\n base = Base.Week;\n } else if (\n cronConfig.minute !== '*' &&\n cronConfig.hour !== '*' &&\n cronConfig.day !== '*' &&\n cronConfig.month === '*' &&\n cronConfig.weekday === '*'\n ) {\n base = Base.Month;\n } else if (\n cronConfig.minute !== '*' &&\n cronConfig.hour !== '*' &&\n cronConfig.day !== '*' &&\n cronConfig.month !== '*' &&\n cronConfig.weekday === '*'\n ) {\n base = Base.Year;\n } else {\n // cronConfig invalid\n }\n\n return base;\n }\n\n validateModels(base: Base, cronConfig: CronConfig) {\n let valid: boolean;\n switch (base) {\n case Base.Initial: // Please select\n valid = false;\n break;\n case Base.Hour:\n if (cronConfig.minute !== '*') {\n valid = true;\n } else {\n valid = false;\n }\n break;\n case Base.Day:\n if (cronConfig.minute !== '*' && cronConfig.hour !== '*') {\n valid = true;\n } else {\n valid = false;\n }\n break;\n case Base.Week:\n if (cronConfig.minute !== '*' && cronConfig.hour !== '*' && cronConfig.weekday !== '*') {\n valid = true;\n } else {\n valid = false;\n }\n break;\n case Base.Month:\n if (cronConfig.minute !== '*' && cronConfig.hour !== '*' && cronConfig.day !== '*') {\n valid = true;\n } else {\n valid = false;\n }\n break;\n case Base.Year:\n if (\n cronConfig.minute !== '*' &&\n cronConfig.hour !== '*' &&\n cronConfig.day !== '*' &&\n cronConfig.month !== '*'\n ) {\n valid = true;\n } else {\n valid = false;\n }\n break;\n default:\n valid = false;\n }\n\n return valid;\n }\n\n clearNextModels(base: Base, cronConfig: CronConfig) {\n if (base === Base.Initial) {\n // please select, delete all\n // cron expression: every minute at second 0\n cronConfig.minute = '*';\n cronConfig.hour = '*';\n cronConfig.day = '*';\n cronConfig.month = '*';\n cronConfig.weekday = '*';\n } else if (base === Base.Hour) {\n // hour, don't delete minutes\n // cron expression: every hour, at whatever minute, at second 0\n cronConfig.minute = cronConfig.minute === '*' ? this.minutes[0].value : cronConfig.minute;\n cronConfig.hour = '*';\n cronConfig.day = '*';\n cronConfig.month = '*';\n cronConfig.weekday = '*';\n } else if (base === Base.Day) {\n // day, don't delete minutes and hours\n // cron expression: every day of every month, at whatever hour and minute, at second 0\n cronConfig.minute = cronConfig.minute === '*' ? this.minutes[0].value : cronConfig.minute;\n cronConfig.hour = cronConfig.hour === '*' ? this.hours[0].value : cronConfig.hour;\n cronConfig.day = '*';\n cronConfig.month = '*';\n cronConfig.weekday = '*';\n } else if (base === Base.Week) {\n // week, delete month and day\n // cron expression: every month, at whatever weekday, hour and minute, at second 0\n cronConfig.minute = cronConfig.minute === '*' ? this.minutes[0].value : cronConfig.minute;\n cronConfig.hour = cronConfig.hour === '*' ? this.hours[0].value : cronConfig.hour;\n cronConfig.day = '*';\n cronConfig.month = '*';\n cronConfig.weekday = cronConfig.weekday === '*' || cronConfig.weekday === '?' ? this.daysOfWeekPosix[0].value : cronConfig.weekday ;\n } else if (base === Base.Month) {\n // month, delete month and weekday\n // cron expression: every month, at whatever day of month, hour and minute, at second 0\n cronConfig.minute = cronConfig.minute === '*' ? this.minutes[0].value : cronConfig.minute;\n cronConfig.hour = cronConfig.hour === '*' ? this.hours[0].value : cronConfig.hour;\n cronConfig.day = cronConfig.day === '*' ? this.daysOfMonth[0].value : cronConfig.day;\n cronConfig.month = '*';\n cronConfig.weekday = '*';\n } else if (base === Base.Year) {\n // year, delete weekday\n // cron expression: every year, at whatever month, day of month, hour and minute, at second 0\n cronConfig.minute = cronConfig.minute === '*' ? this.minutes[0].value : cronConfig.minute;\n cronConfig.hour = cronConfig.hour === '*' ? this.hours[0].value : cronConfig.hour;\n cronConfig.day = cronConfig.day === '*' ? this.daysOfMonth[0].value : cronConfig.day;\n cronConfig.month = cronConfig.month === '*' ? this.months[0].value : cronConfig.month;\n cronConfig.weekday = '*';\n }\n }\n\n getWeekDayName(cronConfig: CronConfig) {\n const date = new Date(0);\n const firstSundayDate = date.getDate() + 3; // because we know date 0 was on Thursday...\n date.setDate(firstSundayDate + parseInt(cronConfig.weekday, 10));\n return formatDate(date, 'EEEE', this.translateService.currentLang);\n }\n\n getMonthDayName(cronConfig: CronConfig) {\n let name = '';\n this.daysOfMonth.forEach(item => {\n if (item.value === cronConfig.day) {\n name = item.label;\n }\n });\n\n return name;\n }\n\n getMonthName(cronConfig: CronConfig) {\n const date = new Date(0);\n date.setMonth(parseInt(cronConfig.month, 10) - 1);\n return formatDate(date, 'LLLL', this.translateService.currentLang);\n }\n}\n","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { Schedule, ActionType } from './export-schedules.interface';\nimport { EmittedCron, EmitterPayload } from './export-schedules.interface';\nimport { CronService } from './cron.service';\nimport { cloneDeep } from 'lodash-es';\nimport { gettext } from '@c8y/ngx-components';\nimport { ReportsService } from './reports.service';\n\n@Component({\n selector: 'schedule-modal',\n templateUrl: './schedule-modal.component.html'\n})\nexport class ScheduleModalComponent implements OnInit {\n schedule: Schedule;\n oldSchedule: Schedule;\n @Output() emitter: EventEmitter<EmitterPayload> = new EventEmitter();\n exportId: number;\n actionType: ActionType;\n ActionType = ActionType;\n cronExpression: string = '* * * * *';\n validCron: boolean = false;\n emitterPayload: EmitterPayload = {\n success: false,\n message: '',\n schedule: { timestamp: undefined, emailConfig: undefined, cronConfig: undefined }\n };\n\n emailTo: string;\n emailCc: string;\n emailBcc: string;\n emailReplyTo: string;\n emailSubject: string;\n emailText: string;\n\n placeholdersInfo = gettext(\n 'Available placeholders: {tenant-domain}, {host}, {binaryId}. Whole link to downloadable file is: {tenant-domain}/inventory/binaries/{binaryId}.'\n );\n\n constructor(\n public reportsService: ReportsService,\n public modalRef: BsModalRef,\n private cronService: CronService\n ) {}\n\n ngOnInit() {\n this.oldSchedule = cloneDeep(this.schedule);\n this.populateEmailFieldsFromSchedule(this.schedule);\n this.cronExpression = this.cronService.generateCron(this.schedule.cronConfig);\n this.validCron = this.cronService.validateModels(\n this.cronService.getBase(this.schedule.cronConfig),\n this.schedule.cronConfig\n );\n }\n\n populateEmailFieldsFromSchedule(schedule: Schedule) {\n if (schedule.emailConfig.to && schedule.emailConfig.to.length) {\n this.emailTo = schedule.emailConfig.to.toString();\n }\n if (schedule.emailConfig.cc && schedule.emailConfig.cc.length) {\n this.emailCc = schedule.emailConfig.cc.toString();\n }\n if (schedule.emailConfig.bcc && schedule.emailConfig.bcc.length) {\n this.emailBcc = schedule.emailConfig.bcc.toString();\n }\n if (schedule.emailConfig.replyTo) {\n this.emailReplyTo = schedule.emailConfig.replyTo;\n }\n if (schedule.emailConfig.subject) {\n this.emailSubject = schedule.emailConfig.subject;\n }\n if (schedule.emailConfig.text) {\n this.emailText = schedule.emailConfig.text;\n }\n }\n\n save() {\n this.populateScheduleFromCronExpression();\n this.populateScheduleFromEmailFields();\n if (this.actionType === ActionType.CREATE || this.actionType === ActionType.DUPLICATE) {\n const date = new Date();\n const timestamp = date.getTime();\n this.schedule.timestamp = timestamp;\n }\n this.emitterPayload.success = true;\n this.emitterPayload.schedule = this.schedule;\n this.modalRef.hide();\n // signal to the parent component to update list\n this.emitter.emit(this.emitterPayload);\n }\n\n cancel() {\n this.modalRef.hide();\n }\n\n getCron(cron: EmittedCron) {\n this.validCron = cron.valid;\n if (cron.valid) {\n this.cronExpression = cron.cron;\n }\n }\n\n populateScheduleFromCronExpression() {\n this.schedule.cronConfig = this.cronService.generateCronConfig(this.cronExpression);\n }\n\n convertStringOfEmailsToArray(stringOfEmails: string) {\n const arr = [];\n if (stringOfEmails) {\n const parts = stringOfEmails.split(',');\n parts.forEach(item => {\n if (item) {\n arr.push(item);\n }\n });\n }\n return arr;\n }\n\n populateScheduleFromEmailFields() {\n this.schedule.emailConfig.to = this.emailTo\n ? this.convertStringOfEmailsToArray(this.emailTo)\n : null;\n this.schedule.emailConfig.cc = this.emailCc\n ? this.convertStringOfEmailsToArray(this.emailCc)\n : null;\n this.schedule.emailConfig.bcc = this.emailBcc\n ? this.convertStringOfEmailsToArray(this.emailBcc)\n : null;\n this.schedule.emailConfig.replyTo = this.emailReplyTo;\n this.schedule.emailConfig.subject = this.emailSubject;\n this.schedule.emailConfig.text = this.emailText;\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\nimport { Export, Schedule, EmitterPayload, ActionType } from './export-schedules.interface';\nimport { ReportsService } from './reports.service';\nimport { BsModalService, BsModalRef, ModalOptions } from 'ngx-bootstrap/modal';\nimport { ScheduleModalComponent } from './schedule-modal.component';\nimport { ConfirmModalComponent, Status, gettext, OptionsService } from '@c8y/ngx-components';\nimport { cloneDeep } from 'lodash-es';\nimport { CronService } from './cron.service';\nimport { IdReference } from '@c8y/client';\nimport { TranslateService } from '@ngx-translate/core';\nimport { UserService } from '@c8y/client';\n@Component({\n selector: 'export-schedules',\n templateUrl: './export-schedules.component.html'\n})\nexport class ExportSchedulesComponent implements OnInit, OnChanges {\n @Input() set exportId(exportId: IdReference) {\n this._exportId = exportId;\n }\n\n @Output() onSchedulesUpdate = new EventEmitter<Schedule[]>();\n\n exp: Export;\n scheduleList: Schedule[] = [];\n initialSchedule: Schedule = {\n timestamp: null,\n emailConfig: {\n to: [],\n cc: [],\n bcc: [],\n replyTo: '',\n text: '',\n subject: ''\n },\n cronConfig: {\n minute: '0',\n hour: '0',\n day: '1',\n month: '1',\n weekday: '?'\n }\n };\n buttonLabels: any;\n listClass: string = 'interact-list';\n loadingStatus: any;\n sortType: string;\n sortReverse: boolean = false;\n isOpen: any = {};\n isFlipped: boolean;\n isEditMenuOpen: boolean = false;\n modalRef: BsModalRef;\n currentUserEmail: string = '';\n hasRequiredRole: boolean = false;\n private _exportId: IdReference;\n private defaultExportEmailTemplate = this.translateService.instant(\n gettext(\n 'File with exported data can be downloaded from {tenant-domain}/inventory/binaries/{binaryId}.'\n )\n );\n\n constructor(\n private reportsService: ReportsService,\n private bsModalService: BsModalService,\n public cronService: CronService,\n private translateService: TranslateService,\n private userService: UserService,\n private optionsService: OptionsService\n ) {\n this.loadingStatus = {\n inProgress: false,\n done: false,\n error: false\n };\n }\n\n async ngOnInit() {\n this.hasRequiredRole = await this.checkRole();\n this.getScheduleList(true);\n const currentUserEmail = await this.getCurrentUserEmail();\n this.initialSchedule.emailConfig.text = await this.optionsService.getTenantOption(\n 'configuration',\n 'export.data.mail.text',\n this.defaultExportEmailTemplate);\n this.initialSchedule.emailConfig.to = currentUserEmail;\n this.exp = await this.reportsService.getExport(this._exportId);\n this.initialSchedule.emailConfig.subject = this.translateService.instant(\n gettext('Export of \"{{expName}}\"'),\n { expName: this.exp.name }\n );\n }\n\n ngOnChanges() {\n this.translateButtonTitles();\n }\n\n translateButtonTitles() {\n this.buttonLabels = {\n edit: this.translateService.instant(gettext('Edit schedule')),\n editNoPermission: this.translateService.instant(gettext('Edit schedule - no permissions')),\n duplicate: this.translateService.instant(gettext('Duplicate schedule')),\n duplicateNoPermission: this.translateService.instant(gettext('Duplicate schedule - no permissions')),\n delete: this.translateService.instant(gettext('Delete schedule')),\n deleteNoPermission: this.translateService.instant(gettext('Delete schedule - no permissions'))\n };\n }\n\n async getCurrentUserEmail() {\n const { data } = await this.userService.current();\n return data && data.email ? [data.email] : [];\n }\n async checkRole() {\n const { data } = await this.userService.current();\n const role = 'ROLE_SCHEDULE_REPORT_ADMIN';\n const hasRole = this.userService.hasRole(data, role);\n return hasRole;\n }\n\n async getScheduleList(withProgress: boolean) {\n if (withProgress) {\n this.loadingStatus.inProgress = true;\n }\n this.scheduleList = await this.reportsService.getScheduleList(this._exportId);\n if (withProgress) {\n this.loadingStatus.inProgress = false;\n }\n }\n\n addSchedule() {\n this.openAddEditModal(this._exportId, this.initialSchedule, ActionType.CREATE);\n }\n\n editSchedule(schedule: Schedule, index: number, event: any) {\n if (this.hasRequiredRole) {\n event.preventDefault();\n this.openAddEditModal(this._exportId, schedule, ActionType.EDIT, index);\n }\n }\n\n duplicateSchedule(schedule: Schedule, event: any) {\n event.preventDefault();\n this.openAddEditModal(this._exportId, schedule, ActionType.DUPLICATE);\n }\n\n openAddEditModal(exportId: IdReference, schedule: Schedule, actionType: ActionType, index?: number) {\n const payload = { actionType, exportId, schedule: cloneDeep(schedule) };\n const modalOptions = { class: 'modal-sm', initialState: payload } as ModalOptions;\n this.modalRef = this.bsModalService.show(ScheduleModalComponent, modalOptions);\n this.modalRef.content.emitter.subscribe((load: EmitterPayload) =>\n this.getMessageFromModal(load, index)\n );\n }\n\n getMessageFromModal(payload: EmitterPayload, index?: number) {\n if (payload.success) {\n if (index !== undefined) {\n this.scheduleList[index] = payload.schedule;\n } else {\n this.scheduleList.push(payload.schedule);\n }\n this.onSchedulesUpdate.emit(this.scheduleList);\n }\n }\n\n removeSchedule(schedule: Schedule, index: number, event: any) {\n event.preventDefault();\n this.scheduleList.splice(index, 1);\n this.onSchedulesUpdate.emit(this.scheduleList);\n }\n}\n","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\nimport { EmittedCron, CronConfig, Base } from './export-schedules.interface';\nimport { CronService } from './cron.service';\n\n@Component({\n selector: 'cron',\n templateUrl: './cron.component.html'\n})\nexport class CronComponent implements OnInit {\n @Input() cronIn: string;\n @Output() emitter: EventEmitter<EmittedCron> = new EventEmitter();\n emittedCron: EmittedCron = {\n valid: false,\n cron: ''\n };\n\n base: Base = Base.Initial;\n cronConfig: CronConfig;\n\n daysOfWeekPosix: any[];\n daysOfMonth: any[];\n months: any[];\n hours: any[];\n minutes: any[];\n intervals: any[];\n\n constructor(private cronService: CronService) {\n //\n }\n\n ngOnInit() {\n this.daysOfWeekPosix = this.cronService.daysOfWeekPosix;\n this.daysOfMonth = this.cronService.daysOfMonth;\n this.months = this.cronService.months;\n this.hours = this.cronService.hours;\n this.minutes = this.cronService.minutes;\n this.intervals = this.cronService.intervals;\n\n this.cronConfig = this.cronService.generateCronConfig(this.cronIn);\n this.base = this.cronService.getBase(this.cronConfig);\n }\n\n onChangeSelect() {\n this.cronService.clearNextModels(this.base, this.cronConfig);\n this.emittedCron.valid = this.cronService.validateModels(this.base, this.cronConfig);\n this.emittedCron.cron = this.cronService.generateCron(this.cronConfig);\n this.emitter.emit(this.emittedCron);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CoreModule, FormsModule } from '@c8y/ngx-components';\nimport { ReportsService } from './reports.service';\nimport { CronService } from './cron.service';\nimport { ExportSchedulesComponent } from './export-schedules.component';\nimport { ScheduleModalComponent } from './schedule-modal.component';\nimport { CronComponent } from './cron.component';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\n\n/**\n * The angular module definition for reports.\n * @exports ExportSchedulesComponent\n * @exports ScheduleModalComponent\n * @exports CronComponent\n */\n@NgModule({\n declarations: [ExportSchedulesComponent, ScheduleModalComponent, CronComponent],\n imports: [CoreModule, FormsModule, BsDropdownModule, TooltipModule],\n entryComponents: [ExportSchedulesComponent, ScheduleModalComponent, CronComponent],\n providers: [ReportsService, CronService],\n exports: [ExportSchedulesComponent, ScheduleModalComponent, CronComponent]\n})\nexport class ReportsModule {}\n","import { downgradeComponent } from '@angular/upgrade/static';\nimport { ExportSchedulesComponent } from '../export-schedules.component';\nexport const exportSchedulesComponent = downgradeComponent({\n component: ExportSchedulesComponent\n});\n","import { downgradeInjectable } from '@angular/upgrade/static';\nimport { ReportsService } from '..';\nexport const reportsService = downgradeInjectable(ReportsService);\n","import * as angular from 'angular';\nimport { registerNgModule } from '@c8y/ng1-modules/core/bootstrap';\nimport { exportSchedulesComponent } from './downgraded.components';\nimport { reportsService } from './downgraded.services';\n\nconst NAME = 'c8y.upgrade.reports';\n\nconst angularJsModule = angular\n .module(NAME, [])\n .directive('c8yExportSchedules', exportSchedulesComponent)\n .service('c8yReportsService', reportsService);\n\nexport const ng1Modules = [NAME];\n\nregisterNgModule(ng1Modules);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["tslib_1.__decorate","angular\n .module"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-reports.js","sources":["ng://@c8y/ngx-components/reports/reports.service.ts","ng://@c8y/ngx-components/reports/export-schedules.interface.ts","ng://@c8y/ngx-components/reports/cron.service.ts","ng://@c8y/ngx-components/reports/schedule-modal.component.ts","ng://@c8y/ngx-components/reports/export-schedules.component.ts","ng://@c8y/ngx-components/reports/cron.component.ts","ng://@c8y/ngx-components/reports/reports.module.ts","ng://@c8y/ngx-components/reports/ng1/downgraded.components.ts","ng://@c8y/ngx-components/reports/ng1/downgraded.services.ts","ng://@c8y/ngx-components/reports/ng1/index.ts","ng://@c8y/ngx-components/reports/c8y-ngx-components-reports.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Export, Schedule } from './export-schedules.interface';\nimport { AlertService } from '@c8y/ngx-components';\nimport { orderBy, isEqual, remove, some } from 'lodash-es';\nimport {InventoryService, IdReference, IManagedObject, IFetchResponse, IIdentified} from '@c8y/client';\nimport { FetchClient, IFetchOptions } from '@c8y/client';\n\n@Injectable()\nexport class ReportsService {\n microserviceUrl: string;\n headers: any;\n\n constructor(\n private alertService: AlertService,\n private inventoryService: InventoryService,\n private client: FetchClient\n ) {\n this.microserviceUrl = '/service/reporting';\n this.headers = { 'Content-Type': 'application/json' };\n }\n\n async getExport(exportId: IdReference) {\n let exp: Export;\n const exportDetail = await this.inventoryService.detail(exportId);\n const { data, res } = exportDetail;\n if (res.status !== 200) {\n this.alertService.addServerFailure({ data, res });\n } else {\n exp = data ? ((data as unknown) as Export) : ({} as Export);\n }\n\n return exp;\n }\n\n async getScheduleList(exportId: IdReference) {\n const exp = await this.getExport(exportId);\n\n return this.extractScheduleListFromExport(exp);\n }\n\n extractScheduleListFromExport(exp: Export) {\n let scheduleList: Schedule[];\n if (exp) {\n scheduleList = exp.c8y_ScheduleConfiguration ? exp.c8y_ScheduleConfiguration : [];\n }\n return orderBy(scheduleList, ['timestamp'], ['desc']);\n }\n\n async addSchedule(schedule: Schedule, exportId: IdReference) {\n return await this.updateSchedules(exportId, [], [schedule]);\n }\n\n async updateSchedule(oldSchedule: Schedule, schedule: Schedule, exportId: IdReference) {\n return await this.updateSchedules(exportId, [oldSchedule], [schedule]);\n }\n\n async updateSchedules(\n exportId: IdReference,\n schedulesToRemove: Schedule[] = [],\n schedulesToAdd: Schedule[] = []\n ) {\n let success: boolean = false;\n const exp = await this.getExport(exportId);\n const schedules = this.extractScheduleListFromExport(exp);\n\n remove(schedules, (schedule: Schedule) =>\n some(schedulesToRemove, (scheduleToRemove: Schedule) => isEqual(schedule, scheduleToRemove))\n );\n schedules.push.apply(schedules, schedulesToAdd);\n exp.c8y_ScheduleConfiguration = schedules;\n const { data, res } = await this.inventoryService.update(exp);\n if (res.status === 200) {\n success = await this.reschedule(exportId);\n } else {\n this.alertService.addServerFailure({ data, res });\n }\n\n return success;\n }\n\n async reschedule(exportId: IdReference) {\n const options: IFetchOptions = {\n method: 'PUT',\n headers: this.headers\n };\n const rescheduling = await this.client.fetch(`${this.microserviceUrl}/schedule/${exportId}`, options);\n return rescheduling.status === 200;\n }\n\n async deleteSchedule(schedule: Schedule, exportId: IdReference) {\n return await this.updateSchedules(exportId, [schedule], []);\n }\n\n async removeConfiguration(config: IIdentified): Promise<IFetchResponse> {\n const url = `${this.microserviceUrl}/config/${config.id}`;\n return await this.client.fetch(url, { method: 'DELETE' });\n }\n}\n","import { IManagedObject } from '@c8y/client';\n\nexport interface Export extends IManagedObject {\n c8y_ScheduleConfiguration: Schedule[];\n}\n\nexport interface Schedule {\n timestamp: number;\n emailConfig: EmailConfig;\n cronConfig: CronConfig;\n}\n\nexport interface EmailConfig {\n to: string[];\n cc: string[];\n bcc: string[];\n replyTo: string;\n text: string;\n subject: string;\n}\n\nexport interface CronConfig {\n month: string;\n hour: string;\n weekday: string;\n day: string;\n minute: string;\n}\n\nexport interface EmittedCron {\n cron: string;\n valid: boolean;\n}\n\nexport interface EmitterPayload {\n success: boolean;\n message: string;\n schedule: Schedule;\n}\n\nexport enum ActionType {\n CREATE = 'create',\n EDIT = 'edit',\n DUPLICATE = 'duplicate'\n}\n\nexport enum Base {\n Initial = 1,\n Hour,\n Day,\n Week,\n Month,\n Year\n}\n","import { Injectable } from '@angular/core';\nimport { CronConfig, Base } from './export-schedules.interface';\nimport { TranslateService } from '@ngx-translate/core';\nimport { formatDate } from '@angular/common';\nimport { gettext } from '@c8y/ngx-components';\n\n@Injectable()\nexport class CronService {\n daysOfWeekPosix: any[] = [];\n daysOfMonth = [\n { value: '1', label: '1.' },\n { value: '2', label: '2.' },\n { value: '3', label: '3.' },\n { value: '4', label: '4.' },\n { value: '5', label: '5.' },\n { value: '6', label: '6.' },\n { value: '7', label: '7.' },\n { value: '8', label: '8.' },\n { value: '9', label: '9.' },\n { value: '10', label: '10.' },\n { value: '11', label: '11.' },\n { value: '12', label: '12.' },\n { value: '13', label: '13.' },\n { value: '14', label: '14.' },\n { value: '15', label: '15.' },\n { value: '16', label: '16.' },\n { value: '17', label: '17.' },\n { value: '18', label: '18.' },\n { value: '19', label: '19.' },\n { value: '20', label: '20.' },\n { value: '21', label: '21.' },\n { value: '22', label: '22.' },\n { value: '23', label: '23.' },\n { value: '24', label: '24.' },\n { value: '25', label: '25.' },\n { value: '26', label: '26.' },\n { value: '27', label: '27.' },\n { value: '28', label: '28.' },\n { value: '29', label: '29.' },\n { value: '30', label: '30.' },\n { value: '31', label: '31.' }\n ];\n months: any[] = [];\n hours: any[] = [];\n minutes: any[] = [];\n intervals = [\n { value: 2, label: gettext('Hour') },\n { value: 3, label: gettext('Day') },\n { value: 4, label: gettext('Week') },\n { value: 5, label: gettext('Month') },\n { value: 6, label: gettext('Year') }\n ];\n constructor(private translateService: TranslateService) {\n for (let x = 0; x < 24; x++) {\n this.hours.push({ value: x.toString(), label: `${x}` });\n }\n for (let x = 0; x < 60; x = x + 5) {\n this.minutes.push({ value: x.toString(), label: `${x}` });\n }\n\n for (let x = 0; x < 7; x++) {\n this.daysOfWeekPosix.push({\n value: x.toString(),\n label: this.getWeekDayName(({ weekday: x } as unknown) as CronConfig)\n });\n }\n\n for (let x = 1; x < 13; x++) {\n this.months.push({\n value: x.toString(),\n label: this.getMonthName(({ month: x } as unknown) as CronConfig)\n });\n }\n }\n\n generateCron(cronConfig: CronConfig) {\n let cron: string = '';\n cron = cronConfig.minute ? `${cronConfig.minute}` : '*';\n cron += cronConfig.hour ? ` ${cronConfig.hour}` : ' *';\n cron += cronConfig.day ? ` ${cronConfig.day}` : ' *';\n cron += cronConfig.month ? ` ${cronConfig.month}` : ' *';\n cron += cronConfig.weekday ? ` ${cronConfig.weekday}` : ' *';\n\n return cron;\n }\n\n generateCronConfig(cron: string) {\n const parts = cron.split(/\\s+/);\n const cronConfig: CronConfig = {\n minute: parts[0],\n hour: parts[1],\n day: parts[2],\n month: parts[3],\n weekday: parts[4]\n };\n\n return cronConfig;\n }\n\n getBase(cronConfig: CronConfig) {\n let base: Base = Base.Initial;\n\n if (\n cronConfig.minute !== '*' &&\n cronConfig.hour === '*' &&\n cronConfig.day === '*' &&\n cronConfig.month === '*' &&\n cronConfig.weekday === '*'\n ) {\n base = Base.Hour;\n } else if (\n cronConfig.minute !== '*' &&\n cronConfig.hour !== '*' &&\n cronConfig.day === '*' &&\n cronConfig.month === '*' &&\n cronConfig.weekday === '*'\n ) {\n base = Base.Day;\n } else if (\n cronConfig.minute !== '*' &&\n cronConfig.hour !== '*' &&\n cronConfig.day === '*' &&\n cronConfig.month === '*' &&\n cronConfig.weekday !== '*'\n ) {\n base = Base.Week;\n } else if (\n cronConfig.minute !== '*' &&\n cronConfig.hour !== '*' &&\n cronConfig.day !== '*' &&\n cronConfig.month === '*' &&\n cronConfig.weekday === '*'\n ) {\n base = Base.Month;\n } else if (\n cronConfig.minute !== '*' &&\n cronConfig.hour !== '*' &&\n cronConfig.day !== '*' &&\n cronConfig.month !== '*' &&\n cronConfig.weekday === '*'\n ) {\n base = Base.Year;\n } else {\n // cronConfig invalid\n }\n\n return base;\n }\n\n validateModels(base: Base, cronConfig: CronConfig) {\n let valid: boolean;\n switch (base) {\n case Base.Initial: // Please select\n valid = false;\n break;\n case Base.Hour:\n if (cronConfig.minute !== '*') {\n valid = true;\n } else {\n valid = false;\n }\n break;\n case Base.Day:\n if (cronConfig.minute !== '*' && cronConfig.hour !== '*') {\n valid = true;\n } else {\n valid = false;\n }\n break;\n case Base.Week:\n if (cronConfig.minute !== '*' && cronConfig.hour !== '*' && cronConfig.weekday !== '*') {\n valid = true;\n } else {\n valid = false;\n }\n break;\n case Base.Month:\n if (cronConfig.minute !== '*' && cronConfig.hour !== '*' && cronConfig.day !== '*') {\n valid = true;\n } else {\n valid = false;\n }\n break;\n case Base.Year:\n if (\n cronConfig.minute !== '*' &&\n cronConfig.hour !== '*' &&\n cronConfig.day !== '*' &&\n cronConfig.month !== '*'\n ) {\n valid = true;\n } else {\n valid = false;\n }\n break;\n default:\n valid = false;\n }\n\n return valid;\n }\n\n clearNextModels(base: Base, cronConfig: CronConfig) {\n if (base === Base.Initial) {\n // please select, delete all\n // cron expression: every minute at second 0\n cronConfig.minute = '*';\n cronConfig.hour = '*';\n cronConfig.day = '*';\n cronConfig.month = '*';\n cronConfig.weekday = '*';\n } else if (base === Base.Hour) {\n // hour, don't delete minutes\n // cron expression: every hour, at whatever minute, at second 0\n cronConfig.minute = cronConfig.minute === '*' ? this.minutes[0].value : cronConfig.minute;\n cronConfig.hour = '*';\n cronConfig.day = '*';\n cronConfig.month = '*';\n cronConfig.weekday = '*';\n } else if (base === Base.Day) {\n // day, don't delete minutes and hours\n // cron expression: every day of every month, at whatever hour and minute, at second 0\n cronConfig.minute = cronConfig.minute === '*' ? this.minutes[0].value : cronConfig.minute;\n cronConfig.hour = cronConfig.hour === '*' ? this.hours[0].value : cronConfig.hour;\n cronConfig.day = '*';\n cronConfig.month = '*';\n cronConfig.weekday = '*';\n } else if (base === Base.Week) {\n // week, delete month and day\n // cron expression: every month, at whatever weekday, hour and minute, at second 0\n cronConfig.minute = cronConfig.minute === '*' ? this.minutes[0].value : cronConfig.minute;\n cronConfig.hour = cronConfig.hour === '*' ? this.hours[0].value : cronConfig.hour;\n cronConfig.day = '*';\n cronConfig.month = '*';\n cronConfig.weekday = cronConfig.weekday === '*' || cronConfig.weekday === '?' ? this.daysOfWeekPosix[0].value : cronConfig.weekday ;\n } else if (base === Base.Month) {\n // month, delete month and weekday\n // cron expression: every month, at whatever day of month, hour and minute, at second 0\n cronConfig.minute = cronConfig.minute === '*' ? this.minutes[0].value : cronConfig.minute;\n cronConfig.hour = cronConfig.hour === '*' ? this.hours[0].value : cronConfig.hour;\n cronConfig.day = cronConfig.day === '*' ? this.daysOfMonth[0].value : cronConfig.day;\n cronConfig.month = '*';\n cronConfig.weekday = '*';\n } else if (base === Base.Year) {\n // year, delete weekday\n // cron expression: every year, at whatever month, day of month, hour and minute, at second 0\n cronConfig.minute = cronConfig.minute === '*' ? this.minutes[0].value : cronConfig.minute;\n cronConfig.hour = cronConfig.hour === '*' ? this.hours[0].value : cronConfig.hour;\n cronConfig.day = cronConfig.day === '*' ? this.daysOfMonth[0].value : cronConfig.day;\n cronConfig.month = cronConfig.month === '*' ? this.months[0].value : cronConfig.month;\n cronConfig.weekday = '*';\n }\n }\n\n getWeekDayName(cronConfig: CronConfig) {\n const date = new Date(0);\n const firstSundayDate = date.getDate() + 3; // because we know date 0 was on Thursday...\n date.setDate(firstSundayDate + parseInt(cronConfig.weekday, 10));\n return formatDate(date, 'EEEE', this.translateService.currentLang);\n }\n\n getMonthDayName(cronConfig: CronConfig) {\n let name = '';\n this.daysOfMonth.forEach(item => {\n if (item.value === cronConfig.day) {\n name = item.label;\n }\n });\n\n return name;\n }\n\n getMonthName(cronConfig: CronConfig) {\n const date = new Date(0);\n date.setMonth(parseInt(cronConfig.month, 10) - 1);\n return formatDate(date, 'LLLL', this.translateService.currentLang);\n }\n}\n","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { Schedule, ActionType } from './export-schedules.interface';\nimport { EmittedCron, EmitterPayload } from './export-schedules.interface';\nimport { CronService } from './cron.service';\nimport { cloneDeep } from 'lodash-es';\nimport { gettext } from '@c8y/ngx-components';\nimport { ReportsService } from './reports.service';\n\n@Component({\n selector: 'schedule-modal',\n templateUrl: './schedule-modal.component.html'\n})\nexport class ScheduleModalComponent implements OnInit {\n schedule: Schedule;\n oldSchedule: Schedule;\n @Output() emitter: EventEmitter<EmitterPayload> = new EventEmitter();\n exportId: number;\n actionType: ActionType;\n ActionType = ActionType;\n cronExpression: string = '* * * * *';\n validCron: boolean = false;\n emitterPayload: EmitterPayload = {\n success: false,\n message: '',\n schedule: { timestamp: undefined, emailConfig: undefined, cronConfig: undefined }\n };\n\n emailTo: string;\n emailCc: string;\n emailBcc: string;\n emailReplyTo: string;\n emailSubject: string;\n emailText: string;\n\n placeholdersInfo = gettext(\n 'Available placeholders: {tenant-domain}, {host}, {binaryId}. Whole link to downloadable file is: {tenant-domain}/inventory/binaries/{binaryId}.'\n );\n\n constructor(\n public reportsService: ReportsService,\n public modalRef: BsModalRef,\n private cronService: CronService\n ) {}\n\n ngOnInit() {\n this.oldSchedule = cloneDeep(this.schedule);\n this.populateEmailFieldsFromSchedule(this.schedule);\n this.cronExpression = this.cronService.generateCron(this.schedule.cronConfig);\n this.validCron = this.cronService.validateModels(\n this.cronService.getBase(this.schedule.cronConfig),\n this.schedule.cronConfig\n );\n }\n\n populateEmailFieldsFromSchedule(schedule: Schedule) {\n if (schedule.emailConfig.to && schedule.emailConfig.to.length) {\n this.emailTo = schedule.emailConfig.to.toString();\n }\n if (schedule.emailConfig.cc && schedule.emailConfig.cc.length) {\n this.emailCc = schedule.emailConfig.cc.toString();\n }\n if (schedule.emailConfig.bcc && schedule.emailConfig.bcc.length) {\n this.emailBcc = schedule.emailConfig.bcc.toString();\n }\n if (schedule.emailConfig.replyTo) {\n this.emailReplyTo = schedule.emailConfig.replyTo;\n }\n if (schedule.emailConfig.subject) {\n this.emailSubject = schedule.emailConfig.subject;\n }\n if (schedule.emailConfig.text) {\n this.emailText = schedule.emailConfig.text;\n }\n }\n\n save() {\n this.populateScheduleFromCronExpression();\n this.populateScheduleFromEmailFields();\n if (this.actionType === ActionType.CREATE || this.actionType === ActionType.DUPLICATE) {\n const date = new Date();\n const timestamp = date.getTime();\n this.schedule.timestamp = timestamp;\n }\n this.emitterPayload.success = true;\n this.emitterPayload.schedule = this.schedule;\n this.modalRef.hide();\n // signal to the parent component to update list\n this.emitter.emit(this.emitterPayload);\n }\n\n cancel() {\n this.modalRef.hide();\n }\n\n getCron(cron: EmittedCron) {\n this.validCron = cron.valid;\n if (cron.valid) {\n this.cronExpression = cron.cron;\n }\n }\n\n populateScheduleFromCronExpression() {\n this.schedule.cronConfig = this.cronService.generateCronConfig(this.cronExpression);\n }\n\n convertStringOfEmailsToArray(stringOfEmails: string) {\n const arr = [];\n if (stringOfEmails) {\n const parts = stringOfEmails.split(',');\n parts.forEach(item => {\n if (item) {\n arr.push(item);\n }\n });\n }\n return arr;\n }\n\n populateScheduleFromEmailFields() {\n this.schedule.emailConfig.to = this.emailTo\n ? this.convertStringOfEmailsToArray(this.emailTo)\n : null;\n this.schedule.emailConfig.cc = this.emailCc\n ? this.convertStringOfEmailsToArray(this.emailCc)\n : null;\n this.schedule.emailConfig.bcc = this.emailBcc\n ? this.convertStringOfEmailsToArray(this.emailBcc)\n : null;\n this.schedule.emailConfig.replyTo = this.emailReplyTo;\n this.schedule.emailConfig.subject = this.emailSubject;\n this.schedule.emailConfig.text = this.emailText;\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\nimport { Export, Schedule, EmitterPayload, ActionType } from './export-schedules.interface';\nimport { ReportsService } from './reports.service';\nimport { BsModalService, BsModalRef, ModalOptions } from 'ngx-bootstrap/modal';\nimport { ScheduleModalComponent } from './schedule-modal.component';\nimport { ConfirmModalComponent, Status, gettext, OptionsService } from '@c8y/ngx-components';\nimport { cloneDeep } from 'lodash-es';\nimport { CronService } from './cron.service';\nimport { IdReference } from '@c8y/client';\nimport { TranslateService } from '@ngx-translate/core';\nimport { UserService } from '@c8y/client';\n@Component({\n selector: 'export-schedules',\n templateUrl: './export-schedules.component.html'\n})\nexport class ExportSchedulesComponent implements OnInit, OnChanges {\n @Input() set exportId(exportId: IdReference) {\n this._exportId = exportId;\n }\n\n @Output() onSchedulesUpdate = new EventEmitter<Schedule[]>();\n\n exp: Export;\n scheduleList: Schedule[] = [];\n initialSchedule: Schedule = {\n timestamp: null,\n emailConfig: {\n to: [],\n cc: [],\n bcc: [],\n replyTo: '',\n text: '',\n subject: ''\n },\n cronConfig: {\n minute: '0',\n hour: '0',\n day: '1',\n month: '1',\n weekday: '?'\n }\n };\n buttonLabels: any;\n listClass: string = 'interact-list';\n loadingStatus: any;\n sortType: string;\n sortReverse: boolean = false;\n isOpen: any = {};\n isFlipped: boolean;\n isEditMenuOpen: boolean = false;\n modalRef: BsModalRef;\n currentUserEmail: string = '';\n hasRequiredRole: boolean = false;\n private _exportId: IdReference;\n private defaultExportEmailTemplate = this.translateService.instant(\n gettext(\n 'File with exported data can be downloaded from {tenant-domain}/inventory/binaries/{binaryId}.'\n )\n );\n\n constructor(\n private reportsService: ReportsService,\n private bsModalService: BsModalService,\n public cronService: CronService,\n private translateService: TranslateService,\n private userService: UserService,\n private optionsService: OptionsService\n ) {\n this.loadingStatus = {\n inProgress: false,\n done: false,\n error: false\n };\n }\n\n async ngOnInit() {\n this.hasRequiredRole = await this.checkRole();\n this.getScheduleList(true);\n const currentUserEmail = await this.getCurrentUserEmail();\n this.initialSchedule.emailConfig.text = await this.optionsService.getTenantOption(\n 'configuration',\n 'export.data.mail.text',\n this.defaultExportEmailTemplate);\n this.initialSchedule.emailConfig.to = currentUserEmail;\n this.exp = await this.reportsService.getExport(this._exportId);\n this.initialSchedule.emailConfig.subject = this.translateService.instant(\n gettext('Export of \"{{expName}}\"'),\n { expName: this.exp.name }\n );\n }\n\n ngOnChanges() {\n this.translateButtonTitles();\n }\n\n translateButtonTitles() {\n this.buttonLabels = {\n edit: this.translateService.instant(gettext('Edit schedule')),\n editNoPermission: this.translateService.instant(gettext('Edit schedule - no permissions')),\n duplicate: this.translateService.instant(gettext('Duplicate schedule')),\n duplicateNoPermission: this.translateService.instant(gettext('Duplicate schedule - no permissions')),\n delete: this.translateService.instant(gettext('Delete schedule')),\n deleteNoPermission: this.translateService.instant(gettext('Delete schedule - no permissions'))\n };\n }\n\n async getCurrentUserEmail() {\n const { data } = await this.userService.current();\n return data && data.email ? [data.email] : [];\n }\n async checkRole() {\n const { data } = await this.userService.current();\n const role = 'ROLE_SCHEDULE_REPORT_ADMIN';\n const hasRole = this.userService.hasRole(data, role);\n return hasRole;\n }\n\n async getScheduleList(withProgress: boolean) {\n if (withProgress) {\n this.loadingStatus.inProgress = true;\n }\n this.scheduleList = await this.reportsService.getScheduleList(this._exportId);\n if (withProgress) {\n this.loadingStatus.inProgress = false;\n }\n }\n\n addSchedule() {\n this.openAddEditModal(this._exportId, this.initialSchedule, ActionType.CREATE);\n }\n\n editSchedule(schedule: Schedule, index: number, event: any) {\n if (this.hasRequiredRole) {\n event.preventDefault();\n this.openAddEditModal(this._exportId, schedule, ActionType.EDIT, index);\n }\n }\n\n duplicateSchedule(schedule: Schedule, event: any) {\n event.preventDefault();\n this.openAddEditModal(this._exportId, schedule, ActionType.DUPLICATE);\n }\n\n openAddEditModal(exportId: IdReference, schedule: Schedule, actionType: ActionType, index?: number) {\n const payload = { actionType, exportId, schedule: cloneDeep(schedule) };\n const modalOptions = { class: 'modal-sm', initialState: payload } as ModalOptions;\n this.modalRef = this.bsModalService.show(ScheduleModalComponent, modalOptions);\n this.modalRef.content.emitter.subscribe((load: EmitterPayload) =>\n this.getMessageFromModal(load, index)\n );\n }\n\n getMessageFromModal(payload: EmitterPayload, index?: number) {\n if (payload.success) {\n if (index !== undefined) {\n this.scheduleList[index] = payload.schedule;\n } else {\n this.scheduleList.push(payload.schedule);\n }\n this.onSchedulesUpdate.emit(this.scheduleList);\n }\n }\n\n removeSchedule(schedule: Schedule, index: number, event: any) {\n event.preventDefault();\n this.scheduleList.splice(index, 1);\n this.onSchedulesUpdate.emit(this.scheduleList);\n }\n}\n","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\nimport { EmittedCron, CronConfig, Base } from './export-schedules.interface';\nimport { CronService } from './cron.service';\n\n@Component({\n selector: 'cron',\n templateUrl: './cron.component.html'\n})\nexport class CronComponent implements OnInit {\n @Input() cronIn: string;\n @Output() emitter: EventEmitter<EmittedCron> = new EventEmitter();\n emittedCron: EmittedCron = {\n valid: false,\n cron: ''\n };\n\n base: Base = Base.Initial;\n cronConfig: CronConfig;\n\n daysOfWeekPosix: any[];\n daysOfMonth: any[];\n months: any[];\n hours: any[];\n minutes: any[];\n intervals: any[];\n\n constructor(private cronService: CronService) {\n //\n }\n\n ngOnInit() {\n this.daysOfWeekPosix = this.cronService.daysOfWeekPosix;\n this.daysOfMonth = this.cronService.daysOfMonth;\n this.months = this.cronService.months;\n this.hours = this.cronService.hours;\n this.minutes = this.cronService.minutes;\n this.intervals = this.cronService.intervals;\n\n this.cronConfig = this.cronService.generateCronConfig(this.cronIn);\n this.base = this.cronService.getBase(this.cronConfig);\n }\n\n onChangeSelect() {\n this.cronService.clearNextModels(this.base, this.cronConfig);\n this.emittedCron.valid = this.cronService.validateModels(this.base, this.cronConfig);\n this.emittedCron.cron = this.cronService.generateCron(this.cronConfig);\n this.emitter.emit(this.emittedCron);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CoreModule, FormsModule } from '@c8y/ngx-components';\nimport { ReportsService } from './reports.service';\nimport { CronService } from './cron.service';\nimport { ExportSchedulesComponent } from './export-schedules.component';\nimport { ScheduleModalComponent } from './schedule-modal.component';\nimport { CronComponent } from './cron.component';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\n\n/**\n * The angular module definition for reports.\n * @exports ExportSchedulesComponent\n * @exports ScheduleModalComponent\n * @exports CronComponent\n */\n@NgModule({\n declarations: [ExportSchedulesComponent, ScheduleModalComponent, CronComponent],\n imports: [CoreModule, FormsModule, BsDropdownModule, TooltipModule],\n entryComponents: [ExportSchedulesComponent, ScheduleModalComponent, CronComponent],\n providers: [ReportsService, CronService],\n exports: [ExportSchedulesComponent, ScheduleModalComponent, CronComponent]\n})\nexport class ReportsModule {}\n","import { downgradeComponent } from '@angular/upgrade/static';\nimport { ExportSchedulesComponent } from '../export-schedules.component';\nexport const exportSchedulesComponent = downgradeComponent({\n component: ExportSchedulesComponent\n});\n","import { downgradeInjectable } from '@angular/upgrade/static';\nimport { ReportsService } from '..';\nexport const reportsService = downgradeInjectable(ReportsService);\n","import * as angular from 'angular';\nimport { registerNgModule } from '@c8y/ng1-modules/core/bootstrap';\nimport { exportSchedulesComponent } from './downgraded.components';\nimport { reportsService } from './downgraded.services';\n\nconst NAME = 'c8y.upgrade.reports';\n\nconst angularJsModule = angular\n .module(NAME, [])\n .directive('c8yExportSchedules', exportSchedulesComponent)\n .service('c8yReportsService', reportsService);\n\nexport const ng1Modules = [NAME];\n\nregisterNgModule(ng1Modules);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["tslib_1.__decorate","angular\n .module"],"mappings":"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"}
|
|
@@ -17586,7 +17586,7 @@ let RangeDisplayComponent = class RangeDisplayComponent {
|
|
|
17586
17586
|
if (!this.config.max) {
|
|
17587
17587
|
this.config.max = 100;
|
|
17588
17588
|
}
|
|
17589
|
-
if (this.config.fractionSize) {
|
|
17589
|
+
if (this.config.fractionSize !== undefined) {
|
|
17590
17590
|
this.config.current = parseFloat(this.config.current.toFixed(this.config.fractionSize));
|
|
17591
17591
|
}
|
|
17592
17592
|
return this.sanitizer.bypassSecurityTrustStyle(`
|
|
@@ -17615,7 +17615,7 @@ let RangeDisplayComponent = class RangeDisplayComponent {
|
|
|
17615
17615
|
}
|
|
17616
17616
|
rulerCalc(index) {
|
|
17617
17617
|
const num = this.config.min + ((this.config.max - this.config.min) / 10) * index;
|
|
17618
|
-
if (this.config.fractionSize) {
|
|
17618
|
+
if (this.config.fractionSize !== undefined) {
|
|
17619
17619
|
return parseFloat(num.toFixed(this.config.fractionSize));
|
|
17620
17620
|
}
|
|
17621
17621
|
return parseFloat(num.toFixed(2));
|