@c8y/ngx-components 1010.0.33 → 1010.0.35
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-operations-bulk-operations-list.umd.js +18 -10
- package/bundles/c8y-ngx-components-operations-bulk-operations-list.umd.js.map +1 -1
- package/bundles/c8y-ngx-components-operations-bulk-operations-list.umd.min.js +1 -1
- package/bundles/c8y-ngx-components-operations-bulk-operations-list.umd.min.js.map +1 -1
- package/esm2015/operations/bulk-operations-list/bulk-operation-list-item.component.js +4 -3
- package/esm2015/operations/bulk-operations-list/bulk-operation-list-item.model.js +16 -9
- package/esm5/operations/bulk-operations-list/bulk-operation-list-item.component.js +5 -4
- package/esm5/operations/bulk-operations-list/bulk-operation-list-item.model.js +16 -9
- package/fesm2015/c8y-ngx-components-operations-bulk-operations-list.js +17 -9
- package/fesm2015/c8y-ngx-components-operations-bulk-operations-list.js.map +1 -1
- package/fesm5/c8y-ngx-components-operations-bulk-operations-list.js +18 -10
- package/fesm5/c8y-ngx-components-operations-bulk-operations-list.js.map +1 -1
- package/locales/locales.pot +3 -0
- package/operations/bulk-operations-list/bulk-operation-list-item.model.d.ts +2 -0
- package/package.json +2 -2
|
@@ -6,7 +6,7 @@ import { assign, cloneDeep } from 'lodash-es';
|
|
|
6
6
|
import { BsModalRef, BsModalService, ModalOptions } from 'ngx-bootstrap/modal';
|
|
7
7
|
import { BulkOperationsService } from '@c8y/ngx-components/operations/bulk-operations-service';
|
|
8
8
|
import { BulkOperationsRescheduleModalComponent } from './modals/bulk-operations-reschedule-modal.component';
|
|
9
|
-
import { BULK_OPERATION_STATUS_OPTIONS } from './bulk-operation-list-item.model';
|
|
9
|
+
import { BULK_OPERATION_FALLBACK_STATUS_ICON, BULK_OPERATION_STATUS_OPTIONS } from './bulk-operation-list-item.model';
|
|
10
10
|
var BulkOperationListItemComponent = /** @class */ (function () {
|
|
11
11
|
function BulkOperationListItemComponent(bulkOperationsService, modal, alert, bsModalService) {
|
|
12
12
|
this.bulkOperationsService = bulkOperationsService;
|
|
@@ -37,9 +37,10 @@ var BulkOperationListItemComponent = /** @class */ (function () {
|
|
|
37
37
|
};
|
|
38
38
|
BulkOperationListItemComponent.prototype.getIconClass = function () {
|
|
39
39
|
var _this = this;
|
|
40
|
-
|
|
40
|
+
var statusOptions = this.bulkOperationStatusOptions.find(function (statusOption) {
|
|
41
41
|
return statusOption.generalStatus.includes(_this.bulkOperation.generalStatus);
|
|
42
|
-
})
|
|
42
|
+
});
|
|
43
|
+
return statusOptions ? statusOptions.iconClass : BULK_OPERATION_FALLBACK_STATUS_ICON;
|
|
43
44
|
};
|
|
44
45
|
BulkOperationListItemComponent.prototype.calculateFinishDateMs = function () {
|
|
45
46
|
var startDateMs = new Date(this.bulkOperation.startDate).getTime();
|
|
@@ -211,4 +212,4 @@ var BulkOperationListItemComponent = /** @class */ (function () {
|
|
|
211
212
|
return BulkOperationListItemComponent;
|
|
212
213
|
}());
|
|
213
214
|
export { BulkOperationListItemComponent };
|
|
214
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1vcGVyYXRpb24tbGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BjOHkvbmd4LWNvbXBvbmVudHMvb3BlcmF0aW9ucy9idWxrLW9wZXJhdGlvbnMtbGlzdC8iLCJzb3VyY2VzIjpbImJ1bGstb3BlcmF0aW9uLWxpc3QtaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBa0IsMEJBQTBCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekUsT0FBTyxFQUNMLFlBQVksRUFDWixPQUFPLEVBQ1AsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixNQUFNLEVBQ1AsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUUvRixPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQU1qRjtJQXVCRSx3Q0FDVSxxQkFBNEMsRUFDNUMsS0FBbUIsRUFDbkIsS0FBbUIsRUFDbkIsY0FBOEI7UUFIOUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25CLFVBQUssR0FBTCxLQUFLLENBQWM7UUFDbkIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBdkJ4QyxxQkFBZ0IsR0FBWSxJQUFJLENBQUM7UUFFakMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUNo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LE1BQU0sQ0FBQztJQUNyRixDQUFDOztnQkExS2dDLHFCQUFxQjtnQkFDckMsWUFBWTtnQkFDWixZQUFZO2dCQUNILGNBQWM7O0lBekJ4QztRQURDLEtBQUssRUFBRTt5RUFDK0I7SUFFdkM7UUFEQyxLQUFLLEVBQUU7NEVBQ3lCO0lBRWpDO1FBREMsS0FBSyxFQUFFO29FQUNrQjtJQUNoQjtRQUFULE1BQU0sRUFBRTsrRUFBMEM7SUFDekM7UUFBVCxNQUFNLEVBQUU7a0VBQWdEO0lBQ2hCO1FBQXhDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7b0VBQTZCO0lBVDFELDhCQUE4QjtRQUoxQyxTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsOEJBQThCO1lBQ3hDLHVtS0FBd0Q7U0FDekQsQ0FBQztPQUNXLDhCQUE4QixDQW1NMUM7SUFBRCxxQ0FBQztDQUFBLEFBbk1ELElBbU1DO1NBbk1ZLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSU9wZXJhdGlvbkJ1bGssIE9wZXJhdGlvbkJ1bGtHZW5lcmFsU3RhdHVzIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHtcbiAgQWxlcnRTZXJ2aWNlLFxuICBnZXR0ZXh0LFxuICBMaXN0SXRlbUNvbXBvbmVudCxcbiAgTW9kYWxTZXJ2aWNlLFxuICBTdGF0dXNcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBhc3NpZ24sIGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCc01vZGFsUmVmLCBCc01vZGFsU2VydmljZSwgTW9kYWxPcHRpb25zIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBCdWxrT3BlcmF0aW9uc1NlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL29wZXJhdGlvbnMvYnVsay1vcGVyYXRpb25zLXNlcnZpY2UnO1xuaW1wb3J0IHsgSVN0YXR1c09wdGlvbiB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvb3BlcmF0aW9ucy9zdGF0dXMtZmlsdGVyJztcbmltcG9ydCB7IEJ1bGtPcGVyYXRpb25zUmVzY2hlZHVsZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbHMvYnVsay1vcGVyYXRpb25zLXJlc2NoZWR1bGUtbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IEJVTEtfT1BFUkFUSU9OX1NUQVRVU19PUFRJT05TIH0gZnJvbSAnLi9idWxrLW9wZXJhdGlvbi1saXN0LWl0ZW0ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktYnVsay1vcGVyYXRpb24tbGlzdC1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1bGstb3BlcmF0aW9uLWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQnVsa09wZXJhdGlvbkxpc3RJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICBidWxrT3BlcmF0aW9uOiBQYXJ0aWFsPElPcGVyYXRpb25CdWxrPjtcbiAgQElucHV0KClcbiAgZGV0YWlsc0NvbGxhcHNlZDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpXG4gIHJlYWRPbmx5OiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBzaG93RmFpbGVkT3BlcmF0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcmVsb2FkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQFZpZXdDaGlsZCgnbGlzdEl0ZW0nLCB7IHN0YXRpYzogdHJ1ZSB9KSBsaXN0SXRlbTogTGlzdEl0ZW1Db21wb25lbnQ7XG4gIGljb25DbGFzczogc3RyaW5nO1xuICBmaW5pc2hEYXRlOiBudW1iZXI7XG4gIHJlZnJlc2hMb2FkaW5nID0gZmFsc2U7XG4gIGJ1bGtPcGVyYXRpb25HZW5lcmFsU3RhdHVzID0gT3BlcmF0aW9uQnVsa0dlbmVyYWxTdGF0dXM7XG4gIGJ1bGtPcGVyYXRpb25TdGF0dXNPcHRpb25zOiBJU3RhdHVzT3B0aW9uW10gPSBCVUxLX09QRVJBVElPTl9TVEFUVVNfT1BUSU9OUztcbiAgYnNNb2RhbFJlZjogQnNNb2RhbFJlZjtcbiAgZmluaXNoRGF0ZVBvcG92ZXJUZXh0OiBzdHJpbmcgPSBnZXR0ZXh0KFxuICAgICdBcHByb3hpbWF0ZSBkYXRlLCBlc3RpbWF0ZWQgYmFzZWQgb24gdGhlIGJ1bGsgb3BlcmF0aW9uIHNldHRpbmdzLidcbiAgKTtcbiAgcHJvZ3Jlc3NCYXJDbGFzczogc3RyaW5nID0gJ3Byb2dyZXNzJztcbiAgcHJvZ3Jlc3NCYXJDb2xvcjogc3RyaW5nO1xuICBwcm9ncmVzc0JhclN0YXR1czogbnVtYmVyID0gMDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGJ1bGtPcGVyYXRpb25zU2VydmljZTogQnVsa09wZXJhdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9kYWw6IE1vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0OiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBic01vZGFsU2VydmljZTogQnNNb2RhbFNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaWNvbkNsYXNzID0gdGhpcy5nZXRJY29uQ2xhc3MoKTtcbiAgICB0aGlzLmZpbmlzaERhdGUgPSB0aGlzLmNhbGN1bGF0ZUZpbmlzaERhdGVNcygpO1xuICAgIHRoaXMuc2V0UHJvZ3Jlc3NCYXIoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5idWxrT3BlcmF0aW9uICYmICFjaGFuZ2VzLmJ1bGtPcGVyYXRpb24uZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHRoaXMuaWNvbkNsYXNzID0gdGhpcy5nZXRJY29uQ2xhc3MoKTtcbiAgICAgIHRoaXMuc2V0UHJvZ3Jlc3NCYXIoKTtcbiAgICB9XG4gIH1cblxuICBnZXRJY29uQ2xhc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuYnVsa09wZXJhdGlvblN0YXR1c09wdGlvbnMuZmluZChzdGF0dXNPcHRpb24gPT5cbiAgICAgIHN0YXR1c09wdGlvbi5nZW5lcmFsU3RhdHVzLmluY2x1ZGVzKHRoaXMuYnVsa09wZXJhdGlvbi5nZW5lcmFsU3RhdHVzKVxuICAgICkuaWNvbkNsYXNzO1xuICB9XG5cbiAgY2FsY3VsYXRlRmluaXNoRGF0ZU1zKCk6IG51bWJlciB7XG4gICAgY29uc3Qgc3RhcnREYXRlTXM6IG51bWJlciA9IG5ldyBEYXRlKHRoaXMuYnVsa09wZXJhdGlvbi5zdGFydERhdGUpLmdldFRpbWUoKTtcbiAgICBjb25zdCBjcmVhdGlvblJhbXBNczogbnVtYmVyID0gdGhpcy5idWxrT3BlcmF0aW9uLmNyZWF0aW9uUmFtcCAqIDEwMDA7XG5cbiAgICByZXR1cm4gc3RhcnREYXRlTXMgKyBjcmVhdGlvblJhbXBNcyAqIHRoaXMuYnVsa09wZXJhdGlvbi5wcm9ncmVzcy5hbGw7XG4gIH1cblxuICBwcm9ncmVzc0JhclByb2dyZXNzRm4oKSB7XG4gICAgcmV0dXJuIChcbiAgICAgICgodGhpcy5idWxrT3BlcmF0aW9uLnByb2dyZXNzLnN1Y2Nlc3NmdWwgKyB0aGlzLmJ1bGtPcGVyYXRpb24ucHJvZ3Jlc3MuZmFpbGVkKSAvXG4gICAgICAgIHRoaXMuYnVsa09wZXJhdGlvbi5wcm9ncmVzcy5hbGwpICpcbiAgICAgIDEwMFxuICAgICk7XG4gIH1cblxuICBzZXRQcm9ncmVzc0JhcigpIHtcbiAgICBjb25zdCBzdGF0aWNDb250ZW50T2ZDbGFzcyA9ICdwcm9ncmVzcy1iYXIgcHJvZ3Jlc3Mtc3RyaXBlZCBhY3RpdmUgcHJvZ3Jlc3MtYmFyJztcblxuICAgIGNvbnN0IHByb2dyZXNzQmFyU3RhdGUgPSB7XG4gICAgICBFWEVDVVRJTkc6IHtcbiAgICAgICAgcHJvZ3Jlc3NCYXJDbGFzczogJ3Byb2dyZXNzIHByb2dyZXNzLXN0cmlwZWQgYWN0aXZlJyxcbiAgICAgICAgcHJvZ3Jlc3NCYXJDb2xvcjogYCR7c3RhdGljQ29udGVudE9mQ2xhc3N9LXByaW1hcnlgLFxuICAgICAgICBwcm9ncmVzc0JhclN0YXR1czogdGhpcy5wcm9ncmVzc0JhclByb2dyZXNzRm4oKVxuICAgICAgfSxcbiAgICAgIEVYRUNVVElOR19XSVRIX0VSUk9SOiB7XG4gICAgICAgIHByb2dyZXNzQmFyQ2xhc3M6ICdwcm9ncmVzcyBwcm9ncmVzcy1zdHJpcGVkIGFjdGl2ZScsXG4gICAgICAgIHByb2dyZXNzQmFyQ29sb3I6IGAke3N0YXRpY0NvbnRlbnRPZkNsYXNzfS1kYW5nZXJgLFxuICAgICAgICBwcm9ncmVzc0JhclN0YXR1czogdGhpcy5wcm9ncmVzc0JhclByb2dyZXNzRm4oKVxuICAgICAgfSxcbiAgICAgIEZBSUxFRDoge1xuICAgICAgICBwcm9ncmVzc0JhckNsYXNzOiAncHJvZ3Jlc3MnLFxuICAgICAgICBwcm9ncmVzc0JhckNvbG9yOiBgJHtzdGF0aWNDb250ZW50T2ZDbGFzc30tZGFuZ2VyYCxcbiAgICAgICAgcHJvZ3Jlc3NCYXJTdGF0dXM6IDEwMFxuICAgICAgfSxcbiAgICAgIFNVQ0NFU1NGVUw6IHtcbiAgICAgICAgcHJvZ3Jlc3NCYXJDbGFzczogJ3Byb2dyZXNzJyxcbiAgICAgICAgcHJvZ3Jlc3NCYXJDb2xvcjogYCR7c3RhdGljQ29udGVudE9mQ2xhc3N9LXN1Y2Nlc3NgLFxuICAgICAgICBwcm9ncmVzc0JhclN0YXR1czogMTAwXG4gICAgICB9XG4gICAgfTtcblxuICAgIGFzc2lnbih0aGlzLCBwcm9ncmVzc0JhclN0YXRlW3RoaXMuYnVsa09wZXJhdGlvbi5nZW5lcmFsU3RhdHVzXSk7XG4gIH1cblxuICBlZGl0U2NoZWR1bGUoKSB7XG4gICAgY29uc3QgcmVzY2hlZHVsZWRPcGVyYXRpb24gPSBjbG9uZURlZXAodGhpcy5idWxrT3BlcmF0aW9uKTtcbiAgICBjb25zdCBpbml0aWFsU3RhdGUgPSB7XG4gICAgICBidWxrT3BlcmF0aW9uOiByZXNjaGVkdWxlZE9wZXJhdGlvblxuICAgIH07XG4gICAgY29uc3QgbW9kYWxPcHRpb25zID0geyBpbml0aWFsU3RhdGUsIGNsYXNzOiAnbW9kYWwtc20nLCBiYWNrZHJvcDogJ3N0YXRpYycgfSBhcyBNb2RhbE9wdGlvbnM7XG4gICAgdGhpcy5ic01vZGFsUmVmID0gdGhpcy5ic01vZGFsU2VydmljZS5zaG93KFxuICAgICAgQnVsa09wZXJhdGlvbnNSZXNjaGVkdWxlTW9kYWxDb21wb25lbnQsXG4gICAgICBtb2RhbE9wdGlvbnNcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgY2FuY2VsQnVsa09wZXJhdGlvbigpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5tb2RhbC5jb25maXJtKFxuICAgICAgICBnZXR0ZXh0KCdDYW5jZWwgYnVsayBvcGVyYXRpb24nKSxcbiAgICAgICAgZ2V0dGV4dCgnWW91IGFyZSBhYm91dCB0byBjYW5jZWwgdGhlIGJ1bGsgb3BlcmF0aW9uLiBEbyB5b3Ugd2FudCB0byBwcm9jZWVkPycpLFxuICAgICAgICBTdGF0dXMuREFOR0VSXG4gICAgICApO1xuICAgICAgYXdhaXQgdGhpcy5idWxrT3BlcmF0aW9uc1NlcnZpY2UuZGVsZXRlQnVsa09wZXJhdGlvbih0aGlzLmJ1bGtPcGVyYXRpb24uaWQpO1xuICAgICAgdGhpcy5yZWxvYWQuZW1pdCgpO1xuICAgICAgdGhpcy5hbGVydC5zdWNjZXNzKGdldHRleHQoJ09wZXJhdGlvbiBjYW5jZWxlZC4nKSk7XG4gICAgfSBjYXRjaCAoZXIpIHtcbiAgICAgIHRoaXMuYWxlcnQuYWRkU2VydmVyRmFpbHVyZShlcik7XG4gICAgfVxuICB9XG5cbiAgcmV0cnlGYWlsZWRPcGVyYXRpb24oKSB7XG4gICAgY29uc3QgY2xvbmVkQnVsayA9IGNsb25lRGVlcCh0aGlzLmJ1bGtPcGVyYXRpb24pO1xuXG4gICAgLy8gY2hhbmdlIHRoZSBpZCB0byBmYWlsZWRwYXJlbnRJZCBzaW1pbGFyIHRvIHRoZSBsb2dpYyBpbiBkZXZpY2VCdWxrQ29udHJvbC5zZXJ2aWNlLmpzXG4gICAgZGVsZXRlIGNsb25lZEJ1bGsuZ3JvdXBJZDtcbiAgICBjbG9uZWRCdWxrLmZhaWxlZFBhcmVudElkID0gdGhpcy5idWxrT3BlcmF0aW9uLmlkO1xuXG4gICAgLy8gc2hvdyByZXNjaGRlZHVsZSBtb2RhbDpcbiAgICBjb25zdCBpbml0aWFsU3RhdGUgPSB7XG4gICAgICBidWxrT3BlcmF0aW9uOiBjbG9uZWRCdWxrLFxuICAgICAgaXNSZXRyeU9wZXJhdGlvbjogdHJ1ZVxuICAgIH07XG4gICAgY29uc3QgbW9kYWxPcHRpb25zID0geyBpbml0aWFsU3RhdGUsIGNsYXNzOiAnbW9kYWwtc20nLCBiYWNrZHJvcDogJ3N0YXRpYycgfSBhcyBNb2RhbE9wdGlvbnM7XG4gICAgdGhpcy5ic01vZGFsUmVmID0gdGhpcy5ic01vZGFsU2VydmljZS5zaG93KFxuICAgICAgQnVsa09wZXJhdGlvbnNSZXNjaGVkdWxlTW9kYWxDb21wb25lbnQsXG4gICAgICBtb2RhbE9wdGlvbnNcbiAgICApO1xuICAgIHRoaXMuYnNNb2RhbFJlZi5jb250ZW50LmNsb3NlU3ViamVjdC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5yZWxvYWQuZW1pdCgpO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgc2V0VG9TdWNjZXNzZnVsKCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLm1vZGFsLmNvbmZpcm0oXG4gICAgICAgIGdldHRleHQoJ1NldCBtYW51YWxseSBidWxrIG9wZXJhdGlvbiB0byBTVUNDRVNTRlVMJyksXG4gICAgICAgIGdldHRleHQoXG4gICAgICAgICAgJ1lvdSBhcmUgYWJvdXQgdG8gY2hhbmdlIHRoZSBidWxrIG9wZXJhdGlvbiBzdGF0dXMgdG8gU1VDQ0VTU0ZVTC4gRG8geW91IHdhbnQgdG8gcHJvY2VlZD8nXG4gICAgICAgICksXG4gICAgICAgIFN0YXR1cy5EQU5HRVJcbiAgICAgICk7XG5cbiAgICAgIGF3YWl0IHRoaXMuYnVsa09wZXJhdGlvbnNTZXJ2aWNlLnVwZGF0ZUJ1bGtPcGVyYXRpb24oe1xuICAgICAgICBpZDogdGhpcy5idWxrT3BlcmF0aW9uLmlkLFxuICAgICAgICBnZW5lcmFsU3RhdHVzOiBPcGVyYXRpb25CdWxrR2VuZXJhbFN0YXR1cy5TVUNDRVNTRlVMXG4gICAgICB9KTtcbiAgICAgIHRoaXMucmVsb2FkLmVtaXQoKTtcbiAgICAgIHRoaXMuYWxlcnQuc3VjY2VzcyhnZXR0ZXh0KCdPcGVyYXRpb24gc3RhdHVzIGNoYW5nZWQgdG8gU1VDQ0VTU0ZVTC4nKSk7XG4gICAgfSBjYXRjaCAoZXIpIHtcbiAgICAgIHRoaXMuYWxlcnQuYWRkU2VydmVyRmFpbHVyZShlcik7XG4gICAgfVxuICB9XG5cbiAgb3BlbkZhaWxlZE9wZXJhdGlvbihmYWlsZWRQYXJlbnRJZCkge1xuICAgIHRoaXMuc2hvd0ZhaWxlZE9wZXJhdGlvbi5lbWl0KGZhaWxlZFBhcmVudElkKTtcbiAgfVxuXG4gIGlzU3RhdHVzU2NoZWR1bGVkKCkge1xuICAgIHJldHVybiB0aGlzLmJ1bGtPcGVyYXRpb24uZ2VuZXJhbFN0YXR1cyA9PT0gdGhpcy5idWxrT3BlcmF0aW9uR2VuZXJhbFN0YXR1cy5TQ0hFRFVMRUQ7XG4gIH1cblxuICBpc1N0YXR1c0V4ZWN1dGluZ09yRXhlY3V0aW5nV2l0aEVycm9yKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmJ1bGtPcGVyYXRpb24uZ2VuZXJhbFN0YXR1cyA9PT0gdGhpcy5idWxrT3BlcmF0aW9uR2VuZXJhbFN0YXR1cy5FWEVDVVRJTkcgfHxcbiAgICAgIHRoaXMuYnVsa09wZXJhdGlvbi5nZW5lcmFsU3RhdHVzID09PSB0aGlzLmJ1bGtPcGVyYXRpb25HZW5lcmFsU3RhdHVzLkVYRUNVVElOR19XSVRIX0VSUk9SXG4gICAgKTtcbiAgfVxuXG4gIGFsbE9wZXJhdGlvbnNDcmVhdGVkKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmJ1bGtPcGVyYXRpb24ucHJvZ3Jlc3MuYWxsID09PVxuICAgICAgdGhpcy5idWxrT3BlcmF0aW9uLnByb2dyZXNzLmV4ZWN1dGluZyArXG4gICAgICAgIHRoaXMuYnVsa09wZXJhdGlvbi5wcm9ncmVzcy5mYWlsZWQgK1xuICAgICAgICB0aGlzLmJ1bGtPcGVyYXRpb24ucHJvZ3Jlc3MucGVuZGluZyArXG4gICAgICAgIHRoaXMuYnVsa09wZXJhdGlvbi5wcm9ncmVzcy5zdWNjZXNzZnVsXG4gICAgKTtcbiAgfVxuXG4gIGlzU3RhdHVzQ2FuY2VsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYnVsa09wZXJhdGlvbi5nZW5lcmFsU3RhdHVzID09PSB0aGlzLmJ1bGtPcGVyYXRpb25HZW5lcmFsU3RhdHVzLkNBTkNFTEVEO1xuICB9XG5cbiAgaXNTdGF0dXNGYWlsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYnVsa09wZXJhdGlvbi5nZW5lcmFsU3RhdHVzID09PSB0aGlzLmJ1bGtPcGVyYXRpb25HZW5lcmFsU3RhdHVzLkZBSUxFRDtcbiAgfVxufVxuIl19
|
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1vcGVyYXRpb24tbGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BjOHkvbmd4LWNvbXBvbmVudHMvb3BlcmF0aW9ucy9idWxrLW9wZXJhdGlvbnMtbGlzdC8iLCJzb3VyY2VzIjpbImJ1bGstb3BlcmF0aW9uLWxpc3QtaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBa0IsMEJBQTBCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekUsT0FBTyxFQUNMLFlBQVksRUFDWixPQUFPLEVBQ1AsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixNQUFNLEVBQ1AsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUUvRixPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQU10SDtJQXVCRSx3Q0FDVSxxQkFBNEMsRUFDNUMsS0FBbUIsRUFDbkIsS0FBbUIsRUFDbkIsY0FBOEI7UUFIOUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25CLFVBQUssR0FBTCxLQUFLLENBQWM7UUFDbkIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBdkJ4QyxxQkFBZ0IsR0FBWSxJQUFJLENBQUM7UUFFakMsYUFBUSxHQUFZLEtB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dkYsQ0FBQztJQUVELHVEQUFjLEdBQWQ7UUFDRSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQUM7SUFDckYsQ0FBQzs7Z0JBM0tnQyxxQkFBcUI7Z0JBQ3JDLFlBQVk7Z0JBQ1osWUFBWTtnQkFDSCxjQUFjOztJQXpCeEM7UUFEQyxLQUFLLEVBQUU7eUVBQytCO0lBRXZDO1FBREMsS0FBSyxFQUFFOzRFQUN5QjtJQUVqQztRQURDLEtBQUssRUFBRTtvRUFDa0I7SUFDaEI7UUFBVCxNQUFNLEVBQUU7K0VBQTBDO0lBQ3pDO1FBQVQsTUFBTSxFQUFFO2tFQUFnRDtJQUNoQjtRQUF4QyxTQUFTLENBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO29FQUE2QjtJQVQxRCw4QkFBOEI7UUFKMUMsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLDhCQUE4QjtZQUN4Qyx1bUtBQXdEO1NBQ3pELENBQUM7T0FDVyw4QkFBOEIsQ0FvTTFDO0lBQUQscUNBQUM7Q0FBQSxBQXBNRCxJQW9NQztTQXBNWSw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElPcGVyYXRpb25CdWxrLCBPcGVyYXRpb25CdWxrR2VuZXJhbFN0YXR1cyB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7XG4gIEFsZXJ0U2VydmljZSxcbiAgZ2V0dGV4dCxcbiAgTGlzdEl0ZW1Db21wb25lbnQsXG4gIE1vZGFsU2VydmljZSxcbiAgU3RhdHVzXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgYXNzaWduLCBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQnNNb2RhbFJlZiwgQnNNb2RhbFNlcnZpY2UsIE1vZGFsT3B0aW9ucyB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgQnVsa09wZXJhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9vcGVyYXRpb25zL2J1bGstb3BlcmF0aW9ucy1zZXJ2aWNlJztcbmltcG9ydCB7IElTdGF0dXNPcHRpb24gfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL29wZXJhdGlvbnMvc3RhdHVzLWZpbHRlcic7XG5pbXBvcnQgeyBCdWxrT3BlcmF0aW9uc1Jlc2NoZWR1bGVNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWxzL2J1bGstb3BlcmF0aW9ucy1yZXNjaGVkdWxlLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCVUxLX09QRVJBVElPTl9GQUxMQkFDS19TVEFUVVNfSUNPTiwgQlVMS19PUEVSQVRJT05fU1RBVFVTX09QVElPTlMgfSBmcm9tICcuL2J1bGstb3BlcmF0aW9uLWxpc3QtaXRlbS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1idWxrLW9wZXJhdGlvbi1saXN0LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnVsay1vcGVyYXRpb24tbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBCdWxrT3BlcmF0aW9uTGlzdEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIGJ1bGtPcGVyYXRpb246IFBhcnRpYWw8SU9wZXJhdGlvbkJ1bGs+O1xuICBASW5wdXQoKVxuICBkZXRhaWxzQ29sbGFwc2VkOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KClcbiAgcmVhZE9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQE91dHB1dCgpIHNob3dGYWlsZWRPcGVyYXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSByZWxvYWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAVmlld0NoaWxkKCdsaXN0SXRlbScsIHsgc3RhdGljOiB0cnVlIH0pIGxpc3RJdGVtOiBMaXN0SXRlbUNvbXBvbmVudDtcbiAgaWNvbkNsYXNzOiBzdHJpbmc7XG4gIGZpbmlzaERhdGU6IG51bWJlcjtcbiAgcmVmcmVzaExvYWRpbmcgPSBmYWxzZTtcbiAgYnVsa09wZXJhdGlvbkdlbmVyYWxTdGF0dXMgPSBPcGVyYXRpb25CdWxrR2VuZXJhbFN0YXR1cztcbiAgYnVsa09wZXJhdGlvblN0YXR1c09wdGlvbnM6IElTdGF0dXNPcHRpb25bXSA9IEJVTEtfT1BFUkFUSU9OX1NUQVRVU19PUFRJT05TO1xuICBic01vZGFsUmVmOiBCc01vZGFsUmVmO1xuICBmaW5pc2hEYXRlUG9wb3ZlclRleHQ6IHN0cmluZyA9IGdldHRleHQoXG4gICAgJ0FwcHJveGltYXRlIGRhdGUsIGVzdGltYXRlZCBiYXNlZCBvbiB0aGUgYnVsayBvcGVyYXRpb24gc2V0dGluZ3MuJ1xuICApO1xuICBwcm9ncmVzc0JhckNsYXNzOiBzdHJpbmcgPSAncHJvZ3Jlc3MnO1xuICBwcm9ncmVzc0JhckNvbG9yOiBzdHJpbmc7XG4gIHByb2dyZXNzQmFyU3RhdHVzOiBudW1iZXIgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYnVsa09wZXJhdGlvbnNTZXJ2aWNlOiBCdWxrT3BlcmF0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBtb2RhbDogTW9kYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnQ6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIGJzTW9kYWxTZXJ2aWNlOiBCc01vZGFsU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pY29uQ2xhc3MgPSB0aGlzLmdldEljb25DbGFzcygpO1xuICAgIHRoaXMuZmluaXNoRGF0ZSA9IHRoaXMuY2FsY3VsYXRlRmluaXNoRGF0ZU1zKCk7XG4gICAgdGhpcy5zZXRQcm9ncmVzc0JhcigpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmJ1bGtPcGVyYXRpb24gJiYgIWNoYW5nZXMuYnVsa09wZXJhdGlvbi5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5pY29uQ2xhc3MgPSB0aGlzLmdldEljb25DbGFzcygpO1xuICAgICAgdGhpcy5zZXRQcm9ncmVzc0JhcigpO1xuICAgIH1cbiAgfVxuXG4gIGdldEljb25DbGFzcygpIHtcbiAgICBjb25zdCBzdGF0dXNPcHRpb25zID0gdGhpcy5idWxrT3BlcmF0aW9uU3RhdHVzT3B0aW9ucy5maW5kKHN0YXR1c09wdGlvbiA9PlxuICAgICAgc3RhdHVzT3B0aW9uLmdlbmVyYWxTdGF0dXMuaW5jbHVkZXModGhpcy5idWxrT3BlcmF0aW9uLmdlbmVyYWxTdGF0dXMpXG4gICAgKTtcbiAgICByZXR1cm4gc3RhdHVzT3B0aW9ucyA/IHN0YXR1c09wdGlvbnMuaWNvbkNsYXNzIDogQlVMS19PUEVSQVRJT05fRkFMTEJBQ0tfU1RBVFVTX0lDT047XG4gIH1cblxuICBjYWxjdWxhdGVGaW5pc2hEYXRlTXMoKTogbnVtYmVyIHtcbiAgICBjb25zdCBzdGFydERhdGVNczogbnVtYmVyID0gbmV3IERhdGUodGhpcy5idWxrT3BlcmF0aW9uLnN0YXJ0RGF0ZSkuZ2V0VGltZSgpO1xuICAgIGNvbnN0IGNyZWF0aW9uUmFtcE1zOiBudW1iZXIgPSB0aGlzLmJ1bGtPcGVyYXRpb24uY3JlYXRpb25SYW1wICogMTAwMDtcblxuICAgIHJldHVybiBzdGFydERhdGVNcyArIGNyZWF0aW9uUmFtcE1zICogdGhpcy5idWxrT3BlcmF0aW9uLnByb2dyZXNzLmFsbDtcbiAgfVxuXG4gIHByb2dyZXNzQmFyUHJvZ3Jlc3NGbigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgKCh0aGlzLmJ1bGtPcGVyYXRpb24ucHJvZ3Jlc3Muc3VjY2Vzc2Z1bCArIHRoaXMuYnVsa09wZXJhdGlvbi5wcm9ncmVzcy5mYWlsZWQpIC9cbiAgICAgICAgdGhpcy5idWxrT3BlcmF0aW9uLnByb2dyZXNzLmFsbCkgKlxuICAgICAgMTAwXG4gICAgKTtcbiAgfVxuXG4gIHNldFByb2dyZXNzQmFyKCkge1xuICAgIGNvbnN0IHN0YXRpY0NvbnRlbnRPZkNsYXNzID0gJ3Byb2dyZXNzLWJhciBwcm9ncmVzcy1zdHJpcGVkIGFjdGl2ZSBwcm9ncmVzcy1iYXInO1xuXG4gICAgY29uc3QgcHJvZ3Jlc3NCYXJTdGF0ZSA9IHtcbiAgICAgIEVYRUNVVElORzoge1xuICAgICAgICBwcm9ncmVzc0JhckNsYXNzOiAncHJvZ3Jlc3MgcHJvZ3Jlc3Mtc3RyaXBlZCBhY3RpdmUnLFxuICAgICAgICBwcm9ncmVzc0JhckNvbG9yOiBgJHtzdGF0aWNDb250ZW50T2ZDbGFzc30tcHJpbWFyeWAsXG4gICAgICAgIHByb2dyZXNzQmFyU3RhdHVzOiB0aGlzLnByb2dyZXNzQmFyUHJvZ3Jlc3NGbigpXG4gICAgICB9LFxuICAgICAgRVhFQ1VUSU5HX1dJVEhfRVJST1I6IHtcbiAgICAgICAgcHJvZ3Jlc3NCYXJDbGFzczogJ3Byb2dyZXNzIHByb2dyZXNzLXN0cmlwZWQgYWN0aXZlJyxcbiAgICAgICAgcHJvZ3Jlc3NCYXJDb2xvcjogYCR7c3RhdGljQ29udGVudE9mQ2xhc3N9LWRhbmdlcmAsXG4gICAgICAgIHByb2dyZXNzQmFyU3RhdHVzOiB0aGlzLnByb2dyZXNzQmFyUHJvZ3Jlc3NGbigpXG4gICAgICB9LFxuICAgICAgRkFJTEVEOiB7XG4gICAgICAgIHByb2dyZXNzQmFyQ2xhc3M6ICdwcm9ncmVzcycsXG4gICAgICAgIHByb2dyZXNzQmFyQ29sb3I6IGAke3N0YXRpY0NvbnRlbnRPZkNsYXNzfS1kYW5nZXJgLFxuICAgICAgICBwcm9ncmVzc0JhclN0YXR1czogMTAwXG4gICAgICB9LFxuICAgICAgU1VDQ0VTU0ZVTDoge1xuICAgICAgICBwcm9ncmVzc0JhckNsYXNzOiAncHJvZ3Jlc3MnLFxuICAgICAgICBwcm9ncmVzc0JhckNvbG9yOiBgJHtzdGF0aWNDb250ZW50T2ZDbGFzc30tc3VjY2Vzc2AsXG4gICAgICAgIHByb2dyZXNzQmFyU3RhdHVzOiAxMDBcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgYXNzaWduKHRoaXMsIHByb2dyZXNzQmFyU3RhdGVbdGhpcy5idWxrT3BlcmF0aW9uLmdlbmVyYWxTdGF0dXNdKTtcbiAgfVxuXG4gIGVkaXRTY2hlZHVsZSgpIHtcbiAgICBjb25zdCByZXNjaGVkdWxlZE9wZXJhdGlvbiA9IGNsb25lRGVlcCh0aGlzLmJ1bGtPcGVyYXRpb24pO1xuICAgIGNvbnN0IGluaXRpYWxTdGF0ZSA9IHtcbiAgICAgIGJ1bGtPcGVyYXRpb246IHJlc2NoZWR1bGVkT3BlcmF0aW9uXG4gICAgfTtcbiAgICBjb25zdCBtb2RhbE9wdGlvbnMgPSB7IGluaXRpYWxTdGF0ZSwgY2xhc3M6ICdtb2RhbC1zbScsIGJhY2tkcm9wOiAnc3RhdGljJyB9IGFzIE1vZGFsT3B0aW9ucztcbiAgICB0aGlzLmJzTW9kYWxSZWYgPSB0aGlzLmJzTW9kYWxTZXJ2aWNlLnNob3coXG4gICAgICBCdWxrT3BlcmF0aW9uc1Jlc2NoZWR1bGVNb2RhbENvbXBvbmVudCxcbiAgICAgIG1vZGFsT3B0aW9uc1xuICAgICk7XG4gIH1cblxuICBhc3luYyBjYW5jZWxCdWxrT3BlcmF0aW9uKCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLm1vZGFsLmNvbmZpcm0oXG4gICAgICAgIGdldHRleHQoJ0NhbmNlbCBidWxrIG9wZXJhdGlvbicpLFxuICAgICAgICBnZXR0ZXh0KCdZb3UgYXJlIGFib3V0IHRvIGNhbmNlbCB0aGUgYnVsayBvcGVyYXRpb24uIERvIHlvdSB3YW50IHRvIHByb2NlZWQ/JyksXG4gICAgICAgIFN0YXR1cy5EQU5HRVJcbiAgICAgICk7XG4gICAgICBhd2FpdCB0aGlzLmJ1bGtPcGVyYXRpb25zU2VydmljZS5kZWxldGVCdWxrT3BlcmF0aW9uKHRoaXMuYnVsa09wZXJhdGlvbi5pZCk7XG4gICAgICB0aGlzLnJlbG9hZC5lbWl0KCk7XG4gICAgICB0aGlzLmFsZXJ0LnN1Y2Nlc3MoZ2V0dGV4dCgnT3BlcmF0aW9uIGNhbmNlbGVkLicpKTtcbiAgICB9IGNhdGNoIChlcikge1xuICAgICAgdGhpcy5hbGVydC5hZGRTZXJ2ZXJGYWlsdXJlKGVyKTtcbiAgICB9XG4gIH1cblxuICByZXRyeUZhaWxlZE9wZXJhdGlvbigpIHtcbiAgICBjb25zdCBjbG9uZWRCdWxrID0gY2xvbmVEZWVwKHRoaXMuYnVsa09wZXJhdGlvbik7XG5cbiAgICAvLyBjaGFuZ2UgdGhlIGlkIHRvIGZhaWxlZHBhcmVudElkIHNpbWlsYXIgdG8gdGhlIGxvZ2ljIGluIGRldmljZUJ1bGtDb250cm9sLnNlcnZpY2UuanNcbiAgICBkZWxldGUgY2xvbmVkQnVsay5ncm91cElkO1xuICAgIGNsb25lZEJ1bGsuZmFpbGVkUGFyZW50SWQgPSB0aGlzLmJ1bGtPcGVyYXRpb24uaWQ7XG5cbiAgICAvLyBzaG93IHJlc2NoZGVkdWxlIG1vZGFsOlxuICAgIGNvbnN0IGluaXRpYWxTdGF0ZSA9IHtcbiAgICAgIGJ1bGtPcGVyYXRpb246IGNsb25lZEJ1bGssXG4gICAgICBpc1JldHJ5T3BlcmF0aW9uOiB0cnVlXG4gICAgfTtcbiAgICBjb25zdCBtb2RhbE9wdGlvbnMgPSB7IGluaXRpYWxTdGF0ZSwgY2xhc3M6ICdtb2RhbC1zbScsIGJhY2tkcm9wOiAnc3RhdGljJyB9IGFzIE1vZGFsT3B0aW9ucztcbiAgICB0aGlzLmJzTW9kYWxSZWYgPSB0aGlzLmJzTW9kYWxTZXJ2aWNlLnNob3coXG4gICAgICBCdWxrT3BlcmF0aW9uc1Jlc2NoZWR1bGVNb2RhbENvbXBvbmVudCxcbiAgICAgIG1vZGFsT3B0aW9uc1xuICAgICk7XG4gICAgdGhpcy5ic01vZGFsUmVmLmNvbnRlbnQuY2xvc2VTdWJqZWN0LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlbG9hZC5lbWl0KCk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBzZXRUb1N1Y2Nlc3NmdWwoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMubW9kYWwuY29uZmlybShcbiAgICAgICAgZ2V0dGV4dCgnU2V0IG1hbnVhbGx5IGJ1bGsgb3BlcmF0aW9uIHRvIFNVQ0NFU1NGVUwnKSxcbiAgICAgICAgZ2V0dGV4dChcbiAgICAgICAgICAnWW91IGFyZSBhYm91dCB0byBjaGFuZ2UgdGhlIGJ1bGsgb3BlcmF0aW9uIHN0YXR1cyB0byBTVUNDRVNTRlVMLiBEbyB5b3Ugd2FudCB0byBwcm9jZWVkPydcbiAgICAgICAgKSxcbiAgICAgICAgU3RhdHVzLkRBTkdFUlxuICAgICAgKTtcblxuICAgICAgYXdhaXQgdGhpcy5idWxrT3BlcmF0aW9uc1NlcnZpY2UudXBkYXRlQnVsa09wZXJhdGlvbih7XG4gICAgICAgIGlkOiB0aGlzLmJ1bGtPcGVyYXRpb24uaWQsXG4gICAgICAgIGdlbmVyYWxTdGF0dXM6IE9wZXJhdGlvbkJ1bGtHZW5lcmFsU3RhdHVzLlNVQ0NFU1NGVUxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5yZWxvYWQuZW1pdCgpO1xuICAgICAgdGhpcy5hbGVydC5zdWNjZXNzKGdldHRleHQoJ09wZXJhdGlvbiBzdGF0dXMgY2hhbmdlZCB0byBTVUNDRVNTRlVMLicpKTtcbiAgICB9IGNhdGNoIChlcikge1xuICAgICAgdGhpcy5hbGVydC5hZGRTZXJ2ZXJGYWlsdXJlKGVyKTtcbiAgICB9XG4gIH1cblxuICBvcGVuRmFpbGVkT3BlcmF0aW9uKGZhaWxlZFBhcmVudElkKSB7XG4gICAgdGhpcy5zaG93RmFpbGVkT3BlcmF0aW9uLmVtaXQoZmFpbGVkUGFyZW50SWQpO1xuICB9XG5cbiAgaXNTdGF0dXNTY2hlZHVsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYnVsa09wZXJhdGlvbi5nZW5lcmFsU3RhdHVzID09PSB0aGlzLmJ1bGtPcGVyYXRpb25HZW5lcmFsU3RhdHVzLlNDSEVEVUxFRDtcbiAgfVxuXG4gIGlzU3RhdHVzRXhlY3V0aW5nT3JFeGVjdXRpbmdXaXRoRXJyb3IoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuYnVsa09wZXJhdGlvbi5nZW5lcmFsU3RhdHVzID09PSB0aGlzLmJ1bGtPcGVyYXRpb25HZW5lcmFsU3RhdHVzLkVYRUNVVElORyB8fFxuICAgICAgdGhpcy5idWxrT3BlcmF0aW9uLmdlbmVyYWxTdGF0dXMgPT09IHRoaXMuYnVsa09wZXJhdGlvbkdlbmVyYWxTdGF0dXMuRVhFQ1VUSU5HX1dJVEhfRVJST1JcbiAgICApO1xuICB9XG5cbiAgYWxsT3BlcmF0aW9uc0NyZWF0ZWQoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuYnVsa09wZXJhdGlvbi5wcm9ncmVzcy5hbGwgPT09XG4gICAgICB0aGlzLmJ1bGtPcGVyYXRpb24ucHJvZ3Jlc3MuZXhlY3V0aW5nICtcbiAgICAgICAgdGhpcy5idWxrT3BlcmF0aW9uLnByb2dyZXNzLmZhaWxlZCArXG4gICAgICAgIHRoaXMuYnVsa09wZXJhdGlvbi5wcm9ncmVzcy5wZW5kaW5nICtcbiAgICAgICAgdGhpcy5idWxrT3BlcmF0aW9uLnByb2dyZXNzLnN1Y2Nlc3NmdWxcbiAgICApO1xuICB9XG5cbiAgaXNTdGF0dXNDYW5jZWxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5idWxrT3BlcmF0aW9uLmdlbmVyYWxTdGF0dXMgPT09IHRoaXMuYnVsa09wZXJhdGlvbkdlbmVyYWxTdGF0dXMuQ0FOQ0VMRUQ7XG4gIH1cblxuICBpc1N0YXR1c0ZhaWxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5idWxrT3BlcmF0aW9uLmdlbmVyYWxTdGF0dXMgPT09IHRoaXMuYnVsa09wZXJhdGlvbkdlbmVyYWxTdGF0dXMuRkFJTEVEO1xuICB9XG59XG4iXX0=
|
|
@@ -5,36 +5,43 @@ export var BULK_OPERATION_STATUS_LABELS = {
|
|
|
5
5
|
EXECUTING: gettext('Executing'),
|
|
6
6
|
CANCELED: gettext('Canceled'),
|
|
7
7
|
FAILED: gettext('Completed with failures'),
|
|
8
|
-
SUCCESSFUL: gettext('Completed successfully')
|
|
8
|
+
SUCCESSFUL: gettext('Completed successfully'),
|
|
9
|
+
DELETED: gettext('Deleted'),
|
|
9
10
|
};
|
|
10
11
|
export var BULK_OPERATION_STATUS_OPTIONS = [
|
|
11
12
|
{
|
|
12
13
|
label: BULK_OPERATION_STATUS_LABELS.SCHEDULED,
|
|
13
14
|
generalStatus: [OperationBulkGeneralStatus.SCHEDULED],
|
|
14
|
-
iconClass: 'dlt-c8y-icon-calendar text-info'
|
|
15
|
+
iconClass: 'dlt-c8y-icon-calendar text-info',
|
|
15
16
|
},
|
|
16
17
|
{
|
|
17
18
|
label: BULK_OPERATION_STATUS_LABELS.EXECUTING,
|
|
18
19
|
generalStatus: [
|
|
19
20
|
OperationBulkGeneralStatus.EXECUTING,
|
|
20
|
-
OperationBulkGeneralStatus.EXECUTING_WITH_ERROR
|
|
21
|
+
OperationBulkGeneralStatus.EXECUTING_WITH_ERROR,
|
|
21
22
|
],
|
|
22
|
-
iconClass: 'dlt-c8y-icon-refresh text-primary'
|
|
23
|
+
iconClass: 'dlt-c8y-icon-refresh text-primary',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
label: BULK_OPERATION_STATUS_LABELS.DELETED,
|
|
27
|
+
generalStatus: [OperationBulkGeneralStatus.DELETED],
|
|
28
|
+
iconClass: 'dlt-c8y-icon-delete-document text-muted',
|
|
23
29
|
},
|
|
24
30
|
{
|
|
25
31
|
label: BULK_OPERATION_STATUS_LABELS.CANCELED,
|
|
26
32
|
generalStatus: [OperationBulkGeneralStatus.CANCELED],
|
|
27
|
-
iconClass: 'dlt-c8y-icon-ban text-muted'
|
|
33
|
+
iconClass: 'dlt-c8y-icon-ban text-muted',
|
|
28
34
|
},
|
|
29
35
|
{
|
|
30
36
|
label: BULK_OPERATION_STATUS_LABELS.FAILED,
|
|
31
37
|
generalStatus: [OperationBulkGeneralStatus.FAILED],
|
|
32
|
-
iconClass: 'dlt-c8y-icon-exclamation-triangle text-danger'
|
|
38
|
+
iconClass: 'dlt-c8y-icon-exclamation-triangle text-danger',
|
|
33
39
|
},
|
|
34
40
|
{
|
|
35
41
|
label: BULK_OPERATION_STATUS_LABELS.SUCCESSFUL,
|
|
36
42
|
generalStatus: [OperationBulkGeneralStatus.SUCCESSFUL],
|
|
37
|
-
iconClass: 'dlt-c8y-icon-check-circle text-success'
|
|
38
|
-
}
|
|
43
|
+
iconClass: 'dlt-c8y-icon-check-circle text-success',
|
|
44
|
+
},
|
|
39
45
|
];
|
|
40
|
-
|
|
46
|
+
export var BULK_OPERATION_FALLBACK_STATUS_ICON = 'dlt-c8y-icon-ask-question text-muted';
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1vcGVyYXRpb24tbGlzdC1pdGVtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy9vcGVyYXRpb25zL2J1bGstb3BlcmF0aW9ucy1saXN0LyIsInNvdXJjZXMiOlsiYnVsay1vcGVyYXRpb24tbGlzdC1pdGVtLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHOUMsTUFBTSxDQUFDLElBQU0sNEJBQTRCLEdBQUc7SUFDMUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFDL0IsU0FBUyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFDL0IsUUFBUSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDN0IsTUFBTSxFQUFFLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQztJQUMxQyxVQUFVLEVBQUUsT0FBTyxDQUFDLHdCQUF3QixDQUFDO0lBQzdDLE9BQU8sRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDO0NBQzVCLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSw2QkFBNkIsR0FBb0I7SUFDNUQ7UUFDRSxLQUFLLEVBQUUsNEJBQTRCLENBQUMsU0FBUztRQUM3QyxhQUFhLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxTQUFTLENBQUM7UUFDckQsU0FBUyxFQUFFLGlDQUFpQztLQUM3QztJQUNEO1FBQ0UsS0FBSyxFQUFFLDRCQUE0QixDQUFDLFNBQVM7UUFDN0MsYUFBYSxFQUFFO1lBQ2IsMEJBQTBCLENBQUMsU0FBUztZQUNwQywwQkFBMEIsQ0FBQyxvQkFBb0I7U0FDaEQ7UUFDRCxTQUFTLEVBQUUsbUNBQW1DO0tBQy9DO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsNEJBQTRCLENBQUMsT0FBTztRQUMzQyxhQUFhLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUM7UUFDbkQsU0FBUyxFQUFFLHlDQUF5QztLQUNyRDtJQUNEO1FBQ0UsS0FBSyxFQUFFLDRCQUE0QixDQUFDLFFBQVE7UUFDNUMsYUFBYSxFQUFFLENBQUMsMEJBQTBCLENBQUMsUUFBUSxDQUFDO1FBQ3BELFNBQVMsRUFBRSw2QkFBNkI7S0FDekM7SUFDRDtRQUNFLEtBQUssRUFBRSw0QkFBNEIsQ0FBQyxNQUFNO1FBQzFDLGFBQWEsRUFBRSxDQUFDLDBCQUEwQixDQUFDLE1BQU0sQ0FBQztRQUNsRCxTQUFTLEVBQUUsK0NBQStDO0tBQzNEO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsNEJBQTRCLENBQUMsVUFBVTtRQUM5QyxhQUFhLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxVQUFVLENBQUM7UUFDdEQsU0FBUyxFQUFFLHdDQUF3QztLQUNwRDtDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSxtQ0FBbUMsR0FBRyxzQ0FBc0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wZXJhdGlvbkJ1bGtHZW5lcmFsU3RhdHVzIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgZ2V0dGV4dCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgSVN0YXR1c09wdGlvbiB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvb3BlcmF0aW9ucy9zdGF0dXMtZmlsdGVyJztcblxuZXhwb3J0IGNvbnN0IEJVTEtfT1BFUkFUSU9OX1NUQVRVU19MQUJFTFMgPSB7XG4gIFNDSEVEVUxFRDogZ2V0dGV4dCgnU2NoZWR1bGVkJyksXG4gIEVYRUNVVElORzogZ2V0dGV4dCgnRXhlY3V0aW5nJyksXG4gIENBTkNFTEVEOiBnZXR0ZXh0KCdDYW5jZWxlZCcpLFxuICBGQUlMRUQ6IGdldHRleHQoJ0NvbXBsZXRlZCB3aXRoIGZhaWx1cmVzJyksXG4gIFNVQ0NFU1NGVUw6IGdldHRleHQoJ0NvbXBsZXRlZCBzdWNjZXNzZnVsbHknKSxcbiAgREVMRVRFRDogZ2V0dGV4dCgnRGVsZXRlZCcpLFxufTtcblxuZXhwb3J0IGNvbnN0IEJVTEtfT1BFUkFUSU9OX1NUQVRVU19PUFRJT05TOiBJU3RhdHVzT3B0aW9uW10gPSBbXG4gIHtcbiAgICBsYWJlbDogQlVMS19PUEVSQVRJT05fU1RBVFVTX0xBQkVMUy5TQ0hFRFVMRUQsXG4gICAgZ2VuZXJhbFN0YXR1czogW09wZXJhdGlvbkJ1bGtHZW5lcmFsU3RhdHVzLlNDSEVEVUxFRF0sXG4gICAgaWNvbkNsYXNzOiAnZGx0LWM4eS1pY29uLWNhbGVuZGFyIHRleHQtaW5mbycsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogQlVMS19PUEVSQVRJT05fU1RBVFVTX0xBQkVMUy5FWEVDVVRJTkcsXG4gICAgZ2VuZXJhbFN0YXR1czogW1xuICAgICAgT3BlcmF0aW9uQnVsa0dlbmVyYWxTdGF0dXMuRVhFQ1VUSU5HLFxuICAgICAgT3BlcmF0aW9uQnVsa0dlbmVyYWxTdGF0dXMuRVhFQ1VUSU5HX1dJVEhfRVJST1IsXG4gICAgXSxcbiAgICBpY29uQ2xhc3M6ICdkbHQtYzh5LWljb24tcmVmcmVzaCB0ZXh0LXByaW1hcnknLFxuICB9LFxuICB7XG4gICAgbGFiZWw6IEJVTEtfT1BFUkFUSU9OX1NUQVRVU19MQUJFTFMuREVMRVRFRCxcbiAgICBnZW5lcmFsU3RhdHVzOiBbT3BlcmF0aW9uQnVsa0dlbmVyYWxTdGF0dXMuREVMRVRFRF0sXG4gICAgaWNvbkNsYXNzOiAnZGx0LWM4eS1pY29uLWRlbGV0ZS1kb2N1bWVudCB0ZXh0LW11dGVkJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiBCVUxLX09QRVJBVElPTl9TVEFUVVNfTEFCRUxTLkNBTkNFTEVELFxuICAgIGdlbmVyYWxTdGF0dXM6IFtPcGVyYXRpb25CdWxrR2VuZXJhbFN0YXR1cy5DQU5DRUxFRF0sXG4gICAgaWNvbkNsYXNzOiAnZGx0LWM4eS1pY29uLWJhbiB0ZXh0LW11dGVkJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiBCVUxLX09QRVJBVElPTl9TVEFUVVNfTEFCRUxTLkZBSUxFRCxcbiAgICBnZW5lcmFsU3RhdHVzOiBbT3BlcmF0aW9uQnVsa0dlbmVyYWxTdGF0dXMuRkFJTEVEXSxcbiAgICBpY29uQ2xhc3M6ICdkbHQtYzh5LWljb24tZXhjbGFtYXRpb24tdHJpYW5nbGUgdGV4dC1kYW5nZXInLFxuICB9LFxuICB7XG4gICAgbGFiZWw6IEJVTEtfT1BFUkFUSU9OX1NUQVRVU19MQUJFTFMuU1VDQ0VTU0ZVTCxcbiAgICBnZW5lcmFsU3RhdHVzOiBbT3BlcmF0aW9uQnVsa0dlbmVyYWxTdGF0dXMuU1VDQ0VTU0ZVTF0sXG4gICAgaWNvbkNsYXNzOiAnZGx0LWM4eS1pY29uLWNoZWNrLWNpcmNsZSB0ZXh0LXN1Y2Nlc3MnLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IEJVTEtfT1BFUkFUSU9OX0ZBTExCQUNLX1NUQVRVU19JQ09OID0gJ2RsdC1jOHktaWNvbi1hc2stcXVlc3Rpb24gdGV4dC1tdXRlZCc7XG4iXX0=
|
|
@@ -177,38 +177,45 @@ const BULK_OPERATION_STATUS_LABELS = {
|
|
|
177
177
|
EXECUTING: gettext('Executing'),
|
|
178
178
|
CANCELED: gettext('Canceled'),
|
|
179
179
|
FAILED: gettext('Completed with failures'),
|
|
180
|
-
SUCCESSFUL: gettext('Completed successfully')
|
|
180
|
+
SUCCESSFUL: gettext('Completed successfully'),
|
|
181
|
+
DELETED: gettext('Deleted'),
|
|
181
182
|
};
|
|
182
183
|
const BULK_OPERATION_STATUS_OPTIONS = [
|
|
183
184
|
{
|
|
184
185
|
label: BULK_OPERATION_STATUS_LABELS.SCHEDULED,
|
|
185
186
|
generalStatus: [OperationBulkGeneralStatus.SCHEDULED],
|
|
186
|
-
iconClass: 'dlt-c8y-icon-calendar text-info'
|
|
187
|
+
iconClass: 'dlt-c8y-icon-calendar text-info',
|
|
187
188
|
},
|
|
188
189
|
{
|
|
189
190
|
label: BULK_OPERATION_STATUS_LABELS.EXECUTING,
|
|
190
191
|
generalStatus: [
|
|
191
192
|
OperationBulkGeneralStatus.EXECUTING,
|
|
192
|
-
OperationBulkGeneralStatus.EXECUTING_WITH_ERROR
|
|
193
|
+
OperationBulkGeneralStatus.EXECUTING_WITH_ERROR,
|
|
193
194
|
],
|
|
194
|
-
iconClass: 'dlt-c8y-icon-refresh text-primary'
|
|
195
|
+
iconClass: 'dlt-c8y-icon-refresh text-primary',
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
label: BULK_OPERATION_STATUS_LABELS.DELETED,
|
|
199
|
+
generalStatus: [OperationBulkGeneralStatus.DELETED],
|
|
200
|
+
iconClass: 'dlt-c8y-icon-delete-document text-muted',
|
|
195
201
|
},
|
|
196
202
|
{
|
|
197
203
|
label: BULK_OPERATION_STATUS_LABELS.CANCELED,
|
|
198
204
|
generalStatus: [OperationBulkGeneralStatus.CANCELED],
|
|
199
|
-
iconClass: 'dlt-c8y-icon-ban text-muted'
|
|
205
|
+
iconClass: 'dlt-c8y-icon-ban text-muted',
|
|
200
206
|
},
|
|
201
207
|
{
|
|
202
208
|
label: BULK_OPERATION_STATUS_LABELS.FAILED,
|
|
203
209
|
generalStatus: [OperationBulkGeneralStatus.FAILED],
|
|
204
|
-
iconClass: 'dlt-c8y-icon-exclamation-triangle text-danger'
|
|
210
|
+
iconClass: 'dlt-c8y-icon-exclamation-triangle text-danger',
|
|
205
211
|
},
|
|
206
212
|
{
|
|
207
213
|
label: BULK_OPERATION_STATUS_LABELS.SUCCESSFUL,
|
|
208
214
|
generalStatus: [OperationBulkGeneralStatus.SUCCESSFUL],
|
|
209
|
-
iconClass: 'dlt-c8y-icon-check-circle text-success'
|
|
210
|
-
}
|
|
215
|
+
iconClass: 'dlt-c8y-icon-check-circle text-success',
|
|
216
|
+
},
|
|
211
217
|
];
|
|
218
|
+
const BULK_OPERATION_FALLBACK_STATUS_ICON = 'dlt-c8y-icon-ask-question text-muted';
|
|
212
219
|
|
|
213
220
|
let BulkOperationListItemComponent = class BulkOperationListItemComponent {
|
|
214
221
|
constructor(bulkOperationsService, modal, alert, bsModalService) {
|
|
@@ -239,7 +246,8 @@ let BulkOperationListItemComponent = class BulkOperationListItemComponent {
|
|
|
239
246
|
}
|
|
240
247
|
}
|
|
241
248
|
getIconClass() {
|
|
242
|
-
|
|
249
|
+
const statusOptions = this.bulkOperationStatusOptions.find(statusOption => statusOption.generalStatus.includes(this.bulkOperation.generalStatus));
|
|
250
|
+
return statusOptions ? statusOptions.iconClass : BULK_OPERATION_FALLBACK_STATUS_ICON;
|
|
243
251
|
}
|
|
244
252
|
calculateFinishDateMs() {
|
|
245
253
|
const startDateMs = new Date(this.bulkOperation.startDate).getTime();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-operations-bulk-operations-list.js","sources":["ng://@c8y/ngx-components/operations/bulk-operations-list/bulk-operation-wrapper.component.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/bulk-operation-details.service.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/modals/bulk-operations-modal.component.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/modals/bulk-operation-modals.service.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/modals/bulk-operations-reschedule-modal.component.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/bulk-operation-list-item.model.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/bulk-operation-list-item.component.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/bulk-operations-list.component.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/bulk-operation-details-tabs.component.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/bulk-operation-details.component.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/single-operation-item.model.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/single-operations-list.component.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/single-operation-item.component.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/type-list/bulk-operation-type-list.component.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/bulk-operations-list.module.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/c8y-ngx-components-operations-bulk-operations-list.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\nimport { IOperationBulk } from '@c8y/client';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { BulkOperationDetailsService } from './bulk-operation-details.service';\n\n@Component({\n selector: 'c8y-bulk-operations-wrapper',\n templateUrl: './bulk-operation-wrapper.component.html'\n})\nexport class BulkOperationWrapperComponent {\n @Input() bulkOperation: Partial<IOperationBulk>;\n\n constructor(\n public bulkOperationDetailsService: BulkOperationDetailsService,\n public modalRef: BsModalRef\n ) {}\n}\n","import { Injectable } from '@angular/core';\nimport { IOperationBulk } from '@c8y/client';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { BulkOperationsService } from '@c8y/ngx-components/operations/bulk-operations-service';\nimport { BulkOperationWrapperComponent } from './bulk-operation-wrapper.component';\n\n@Injectable()\nexport class BulkOperationDetailsService {\n constructor(\n private bulkOperationsService: BulkOperationsService,\n private modalService: BsModalService\n ) {}\n\n async openDetails(bulkOperationId) {\n const bulkOperation: IOperationBulk = (await this.bulkOperationsService.getBulkOperationById(\n bulkOperationId\n )).data;\n const initialState = { bulkOperation };\n this.modalService.show(BulkOperationWrapperComponent, {\n initialState,\n class: 'modal-lg'\n });\n }\n}\n","import { Component, ViewContainerRef, ViewChild, ComponentFactoryResolver } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { OperationType } from '@c8y/ngx-components/operations/bulk-operations-service';\n\n@Component({\n selector: 'c8y-bulk-operations-modal',\n templateUrl: 'bulk-operations-modal.component.html'\n})\nexport class BulkOperationsModalComponent {\n @ViewChild('container', { static: false, read: ViewContainerRef }) container;\n showComponent: boolean = false;\n constructor(private bsModalRef: BsModalRef, private resolver: ComponentFactoryResolver) {}\n\n cancel() {\n this.bsModalRef.hide();\n }\n\n createComponent(item: OperationType) {\n if (item && item.component) {\n this.showComponent = true;\n const factory = this.resolver.resolveComponentFactory(item.component);\n this.container.createComponent(factory);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\nimport { BulkOperationsModalComponent } from './bulk-operations-modal.component';\n\n@Injectable()\nexport class BulkOperationModalsService {\n private bsModalRef: BsModalRef;\n\n constructor(private bsModalService: BsModalService) {}\n\n showNewBulkOperationModal() {\n this.bsModalRef = this.bsModalService.show(BulkOperationsModalComponent, {\n backdrop: 'static',\n class: 'modal-sm'\n });\n }\n\n hideNewBulkOperationModal() {\n if (this.bsModalRef) {\n this.bsModalRef.hide();\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { IOperationBulk } from '@c8y/client';\nimport { AlertService, gettext } from '@c8y/ngx-components';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { Subject } from 'rxjs';\nimport { OperationSchedule } from '@c8y/ngx-components/operations/bulk-operation-scheduler';\nimport { BulkOperationsService } from '@c8y/ngx-components/operations/bulk-operations-service';\n\n@Component({\n selector: 'c8y-bulk-operations-reschedule-modal',\n templateUrl: 'bulk-operations-reschedule-modal.component.html'\n})\nexport class BulkOperationsRescheduleModalComponent implements OnInit {\n closeSubject: Subject<IOperationBulk> = new Subject();\n dateAndDelay: OperationSchedule;\n bulkOperation: Partial<IOperationBulk>;\n isRetryOperation: boolean;\n modalTitle: string;\n\n constructor(\n public bsModalRef: BsModalRef,\n private bulkOperationsService: BulkOperationsService,\n private alert: AlertService\n ) {}\n\n ngOnInit() {\n this.modalTitle = this.getTitle();\n }\n\n onDateAndDelaySelect($event) {\n this.dateAndDelay = $event;\n }\n\n getTitle() {\n return this.isRetryOperation ? gettext('Retry operation') : gettext('Edit schedule');\n }\n\n onCancel() {\n this.bsModalRef.hide();\n }\n\n async onSave() {\n let newBulkOperation;\n this.bulkOperation.startDate = this.dateAndDelay.scheduledDate.toISOString();\n this.bulkOperation.creationRamp = this.dateAndDelay.delayInSeconds;\n\n if (this.isRetryOperation) {\n try {\n newBulkOperation = await this.bulkOperationsService.createBulkOperation(this.bulkOperation);\n this.alert.success(gettext('Successfully rescheduled for a retry.'));\n } catch (er) {\n this.alert.addServerFailure(er);\n }\n } else {\n try {\n newBulkOperation = await this.bulkOperationsService.updateBulkOperation(this.bulkOperation);\n this.alert.success(gettext('Successfully rescheduled.'));\n } catch (er) {\n this.alert.addServerFailure(er);\n }\n }\n\n // send back to component from which modal was called\n this.closeSubject.next(newBulkOperation.data);\n this.bsModalRef.hide();\n }\n}\n","import { OperationBulkGeneralStatus } from '@c8y/client';\nimport { gettext } from '@c8y/ngx-components';\nimport { IStatusOption } from '@c8y/ngx-components/operations/status-filter';\n\nexport const BULK_OPERATION_STATUS_LABELS = {\n SCHEDULED: gettext('Scheduled'),\n EXECUTING: gettext('Executing'),\n CANCELED: gettext('Canceled'),\n FAILED: gettext('Completed with failures'),\n SUCCESSFUL: gettext('Completed successfully')\n};\n\nexport const BULK_OPERATION_STATUS_OPTIONS: IStatusOption[] = [\n {\n label: BULK_OPERATION_STATUS_LABELS.SCHEDULED,\n generalStatus: [OperationBulkGeneralStatus.SCHEDULED],\n iconClass: 'dlt-c8y-icon-calendar text-info'\n },\n {\n label: BULK_OPERATION_STATUS_LABELS.EXECUTING,\n generalStatus: [\n OperationBulkGeneralStatus.EXECUTING,\n OperationBulkGeneralStatus.EXECUTING_WITH_ERROR\n ],\n iconClass: 'dlt-c8y-icon-refresh text-primary'\n },\n {\n label: BULK_OPERATION_STATUS_LABELS.CANCELED,\n generalStatus: [OperationBulkGeneralStatus.CANCELED],\n iconClass: 'dlt-c8y-icon-ban text-muted'\n },\n {\n label: BULK_OPERATION_STATUS_LABELS.FAILED,\n generalStatus: [OperationBulkGeneralStatus.FAILED],\n iconClass: 'dlt-c8y-icon-exclamation-triangle text-danger'\n },\n {\n label: BULK_OPERATION_STATUS_LABELS.SUCCESSFUL,\n generalStatus: [OperationBulkGeneralStatus.SUCCESSFUL],\n iconClass: 'dlt-c8y-icon-check-circle text-success'\n }\n];\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { IOperationBulk, OperationBulkGeneralStatus } from '@c8y/client';\nimport {\n AlertService,\n gettext,\n ListItemComponent,\n ModalService,\n Status\n} from '@c8y/ngx-components';\nimport { assign, cloneDeep } from 'lodash-es';\nimport { BsModalRef, BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\nimport { BulkOperationsService } from '@c8y/ngx-components/operations/bulk-operations-service';\nimport { IStatusOption } from '@c8y/ngx-components/operations/status-filter';\nimport { BulkOperationsRescheduleModalComponent } from './modals/bulk-operations-reschedule-modal.component';\nimport { BULK_OPERATION_STATUS_OPTIONS } from './bulk-operation-list-item.model';\n\n@Component({\n selector: 'c8y-bulk-operation-list-item',\n templateUrl: './bulk-operation-list-item.component.html'\n})\nexport class BulkOperationListItemComponent implements OnInit, OnChanges {\n @Input()\n bulkOperation: Partial<IOperationBulk>;\n @Input()\n detailsCollapsed: boolean = true;\n @Input()\n readOnly: boolean = false;\n @Output() showFailedOperation = new EventEmitter();\n @Output() reload: EventEmitter<any> = new EventEmitter();\n @ViewChild('listItem', { static: true }) listItem: ListItemComponent;\n iconClass: string;\n finishDate: number;\n refreshLoading = false;\n bulkOperationGeneralStatus = OperationBulkGeneralStatus;\n bulkOperationStatusOptions: IStatusOption[] = BULK_OPERATION_STATUS_OPTIONS;\n bsModalRef: BsModalRef;\n finishDatePopoverText: string = gettext(\n 'Approximate date, estimated based on the bulk operation settings.'\n );\n progressBarClass: string = 'progress';\n progressBarColor: string;\n progressBarStatus: number = 0;\n\n constructor(\n private bulkOperationsService: BulkOperationsService,\n private modal: ModalService,\n private alert: AlertService,\n private bsModalService: BsModalService\n ) {}\n\n ngOnInit() {\n this.iconClass = this.getIconClass();\n this.finishDate = this.calculateFinishDateMs();\n this.setProgressBar();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.bulkOperation && !changes.bulkOperation.firstChange) {\n this.iconClass = this.getIconClass();\n this.setProgressBar();\n }\n }\n\n getIconClass() {\n return this.bulkOperationStatusOptions.find(statusOption =>\n statusOption.generalStatus.includes(this.bulkOperation.generalStatus)\n ).iconClass;\n }\n\n calculateFinishDateMs(): number {\n const startDateMs: number = new Date(this.bulkOperation.startDate).getTime();\n const creationRampMs: number = this.bulkOperation.creationRamp * 1000;\n\n return startDateMs + creationRampMs * this.bulkOperation.progress.all;\n }\n\n progressBarProgressFn() {\n return (\n ((this.bulkOperation.progress.successful + this.bulkOperation.progress.failed) /\n this.bulkOperation.progress.all) *\n 100\n );\n }\n\n setProgressBar() {\n const staticContentOfClass = 'progress-bar progress-striped active progress-bar';\n\n const progressBarState = {\n EXECUTING: {\n progressBarClass: 'progress progress-striped active',\n progressBarColor: `${staticContentOfClass}-primary`,\n progressBarStatus: this.progressBarProgressFn()\n },\n EXECUTING_WITH_ERROR: {\n progressBarClass: 'progress progress-striped active',\n progressBarColor: `${staticContentOfClass}-danger`,\n progressBarStatus: this.progressBarProgressFn()\n },\n FAILED: {\n progressBarClass: 'progress',\n progressBarColor: `${staticContentOfClass}-danger`,\n progressBarStatus: 100\n },\n SUCCESSFUL: {\n progressBarClass: 'progress',\n progressBarColor: `${staticContentOfClass}-success`,\n progressBarStatus: 100\n }\n };\n\n assign(this, progressBarState[this.bulkOperation.generalStatus]);\n }\n\n editSchedule() {\n const rescheduledOperation = cloneDeep(this.bulkOperation);\n const initialState = {\n bulkOperation: rescheduledOperation\n };\n const modalOptions = { initialState, class: 'modal-sm', backdrop: 'static' } as ModalOptions;\n this.bsModalRef = this.bsModalService.show(\n BulkOperationsRescheduleModalComponent,\n modalOptions\n );\n }\n\n async cancelBulkOperation() {\n try {\n await this.modal.confirm(\n gettext('Cancel bulk operation'),\n gettext('You are about to cancel the bulk operation. Do you want to proceed?'),\n Status.DANGER\n );\n await this.bulkOperationsService.deleteBulkOperation(this.bulkOperation.id);\n this.reload.emit();\n this.alert.success(gettext('Operation canceled.'));\n } catch (er) {\n this.alert.addServerFailure(er);\n }\n }\n\n retryFailedOperation() {\n const clonedBulk = cloneDeep(this.bulkOperation);\n\n // change the id to failedparentId similar to the logic in deviceBulkControl.service.js\n delete clonedBulk.groupId;\n clonedBulk.failedParentId = this.bulkOperation.id;\n\n // show reschdedule modal:\n const initialState = {\n bulkOperation: clonedBulk,\n isRetryOperation: true\n };\n const modalOptions = { initialState, class: 'modal-sm', backdrop: 'static' } as ModalOptions;\n this.bsModalRef = this.bsModalService.show(\n BulkOperationsRescheduleModalComponent,\n modalOptions\n );\n this.bsModalRef.content.closeSubject.subscribe(() => {\n this.reload.emit();\n });\n }\n\n async setToSuccessful() {\n try {\n await this.modal.confirm(\n gettext('Set manually bulk operation to SUCCESSFUL'),\n gettext(\n 'You are about to change the bulk operation status to SUCCESSFUL. Do you want to proceed?'\n ),\n Status.DANGER\n );\n\n await this.bulkOperationsService.updateBulkOperation({\n id: this.bulkOperation.id,\n generalStatus: OperationBulkGeneralStatus.SUCCESSFUL\n });\n this.reload.emit();\n this.alert.success(gettext('Operation status changed to SUCCESSFUL.'));\n } catch (er) {\n this.alert.addServerFailure(er);\n }\n }\n\n openFailedOperation(failedParentId) {\n this.showFailedOperation.emit(failedParentId);\n }\n\n isStatusScheduled() {\n return this.bulkOperation.generalStatus === this.bulkOperationGeneralStatus.SCHEDULED;\n }\n\n isStatusExecutingOrExecutingWithError() {\n return (\n this.bulkOperation.generalStatus === this.bulkOperationGeneralStatus.EXECUTING ||\n this.bulkOperation.generalStatus === this.bulkOperationGeneralStatus.EXECUTING_WITH_ERROR\n );\n }\n\n allOperationsCreated() {\n return (\n this.bulkOperation.progress.all ===\n this.bulkOperation.progress.executing +\n this.bulkOperation.progress.failed +\n this.bulkOperation.progress.pending +\n this.bulkOperation.progress.successful\n );\n }\n\n isStatusCanceled() {\n return this.bulkOperation.generalStatus === this.bulkOperationGeneralStatus.CANCELED;\n }\n\n isStatusFailed() {\n return this.bulkOperation.generalStatus === this.bulkOperationGeneralStatus.FAILED;\n }\n}\n","import { Component, OnInit, QueryList, ViewChild, ViewChildren } from '@angular/core';\nimport { IOperationBulk, IResultList } from '@c8y/client';\nimport { OperationBulkRealtimeService, DatePickerComponent } from '@c8y/ngx-components';\nimport { flatten } from 'lodash-es';\nimport { BehaviorSubject, Observable, combineLatest, pipe } from 'rxjs';\nimport { map, tap, switchMap, withLatestFrom, shareReplay } from 'rxjs/operators';\nimport { StatusFilterComponent, IStatusOption } from '@c8y/ngx-components/operations/status-filter';\nimport {\n BulkOperationsService,\n OperationType\n} from '@c8y/ngx-components/operations/bulk-operations-service';\nimport { BulkOperationModalsService } from './modals/bulk-operation-modals.service';\nimport { BulkOperationListItemComponent } from './bulk-operation-list-item.component';\nimport { BULK_OPERATION_STATUS_OPTIONS } from './bulk-operation-list-item.model';\n@Component({\n selector: 'c8y-bulk-operations',\n templateUrl: './bulk-operations-list.component.html',\n providers: [OperationBulkRealtimeService]\n})\nexport class BulkOperationsListComponent implements OnInit {\n bulkTypes: OperationType[] = [];\n selectedTypeFilters = this.getTypeFilters();\n bulkOperationStatusOptions: IStatusOption[] = BULK_OPERATION_STATUS_OPTIONS;\n\n filterPipe;\n refreshLoading: boolean = false;\n statusFilter$: BehaviorSubject<IStatusOption[]> = new BehaviorSubject(null);\n typeFilter$: BehaviorSubject<OperationType[]> = new BehaviorSubject(null);\n timeFilter$: BehaviorSubject<any> = new BehaviorSubject(null);\n reload$: BehaviorSubject<void> = new BehaviorSubject(null);\n @ViewChildren(BulkOperationListItemComponent) listItems: QueryList<\n BulkOperationListItemComponent\n >;\n @ViewChild('statusFilter', { static: true }) statusFilter: StatusFilterComponent;\n @ViewChild(DatePickerComponent, { static: true }) datePicker: DatePickerComponent;\n\n bulkOperations$: Observable<IResultList<IOperationBulk>> = combineLatest(\n this.statusFilter$,\n this.timeFilter$,\n this.typeFilter$,\n this.reload$\n ).pipe(\n tap(() => {\n this.refreshLoading = true;\n }),\n switchMap(([statusFilters, timeFilters]) => this.filter(statusFilters, timeFilters)),\n withLatestFrom(this.typeFilter$),\n map(([result, typeFilter]: [IResultList<IOperationBulk>, OperationType[]]) => {\n this.filterPipe = pipe(map((data: []) => this.filterByType(data, typeFilter)));\n return { ...result, data: this.filterByType(result.data, typeFilter) };\n }),\n tap(() => {\n this.refreshLoading = false;\n }),\n shareReplay(1)\n );\n\n private allFilterFragments: string[];\n\n constructor(\n public realtime: OperationBulkRealtimeService,\n private bulkOperationsService: BulkOperationsService,\n private bulkOperationModalsService: BulkOperationModalsService\n ) {\n this.allFilterFragments = this.flattenFilterFragments(this.getTypeFilters());\n }\n\n ngOnInit() {\n this.bulkTypes = this.bulkOperationsService.getBulkTypes();\n }\n\n filterByType(bulkOperations: IOperationBulk[], typeFilter) {\n const flattenedFragments: string[] = this.flattenFilterFragments(typeFilter);\n if (\n // return data unfiltered if no filters selected...\n !flattenedFragments.length ||\n // ...or when all filters are selected\n this.allFilterFragments.every(fragment => flattenedFragments.includes(fragment))\n ) {\n return bulkOperations;\n }\n\n const filteredData = bulkOperations.filter(item => {\n return Object.keys(item.operationPrototype).some(key => flattenedFragments.includes(key));\n });\n\n return filteredData;\n }\n\n resetFilter() {\n this.statusFilter$.next(null);\n this.timeFilter$.next(null);\n this.typeFilter$.next(null);\n\n this.datePicker.clearFilter();\n this.selectedTypeFilters = this.getTypeFilters();\n this.statusFilter.reset();\n }\n\n isFilterApplied() {\n return (\n this.statusFilter$.getValue() || this.typeFilter$.getValue() || this.timeFilter$.getValue()\n );\n }\n\n filter(statusFilters, timeFilter) {\n const status =\n statusFilters && statusFilters.length > 0\n ? {\n generalStatus: flatten(statusFilters.map(statusFilter => statusFilter.generalStatus))\n }\n : {};\n\n const time = timeFilter\n ? {\n ...(timeFilter.dateFrom && {\n dateFrom: timeFilter.dateFrom.toISOString()\n }),\n ...(timeFilter.dateTo && {\n dateTo: timeFilter.dateTo.toISOString()\n })\n }\n : {};\n return this.getBulkOperations({ ...status, ...time });\n }\n\n getBulkOperations(filter?) {\n return this.bulkOperationsService.getBulkOperations(filter);\n }\n\n getTypeFilters() {\n return this.bulkOperationsService.getBulkTypes();\n }\n\n addBulkOperation() {\n this.bulkOperationModalsService.showNewBulkOperationModal();\n }\n\n openFailedOperation(failedParentId) {\n this.listItems.forEach(item => {\n if (item.bulkOperation.id === failedParentId) {\n item.listItem.collapsed = false;\n item.listItem.element.nativeElement.scrollIntoView({ behavior: 'smooth', block: 'center' });\n }\n });\n }\n\n compareOperations(operationA: IOperationBulk, operationB: IOperationBulk): number {\n return new Date(operationA.startDate).getTime() - new Date(operationB.startDate).getTime();\n }\n\n private flattenFilterFragments(filters: OperationType[]): string[] {\n return (filters || []).reduce((flattened, current) => flattened.concat(current.fragments), []);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { IOperationBulk } from '@c8y/client';\nimport { gettext, Tab } from '@c8y/ngx-components';\n\n@Component({\n selector: 'c8y-bulk-operation-details-tabs',\n templateUrl: './bulk-operation-details-tabs.component.html'\n})\nexport class BulkOperationDetailsTabsComponent implements OnInit {\n @Input()\n bulkOperation: Partial<IOperationBulk>;\n @Input()\n readOnly: boolean = false;\n @Output() onRetryFailedOperations: EventEmitter<Partial<IOperationBulk>> = new EventEmitter();\n @Output() showFailedOperation: EventEmitter<number> = new EventEmitter();\n\n @ViewChild('details', { static: true }) detailsTemplate: any;\n @ViewChild('audit', { static: true }) auditTemplate: any;\n\n tabs: Tab[] = [];\n template: ViewContainerRef;\n\n ngOnInit(): void {\n this.template = this.detailsTemplate;\n\n this.tabs = [\n {\n label: gettext('Details'),\n path: null,\n icon: 'asterisk',\n template: this.detailsTemplate\n },\n {\n label: gettext('History of changes'),\n path: null,\n icon: 'archive',\n template: this.auditTemplate\n }\n ];\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { IManagedObject, IOperationBulk } from '@c8y/client';\n\n@Component({\n selector: 'c8y-bulk-operation-details',\n templateUrl: './bulk-operation-details.component.html'\n})\nexport class BulkOperationDetailsComponent {\n allFilterIsSelected: boolean = false;\n collapsed: boolean;\n device: IManagedObject;\n\n @Input()\n bulkOperation: Partial<IOperationBulk>;\n @Input()\n readOnly: boolean = false;\n @Output() showFailedOperation: EventEmitter<number> = new EventEmitter();\n\n scrollToRetriedFromOperation(failedOperationId) {\n this.showFailedOperation.emit(failedOperationId);\n }\n}\n","import { gettext } from '@c8y/ngx-components';\n\nexport const SINGLE_OP_STATUS_NAMES = {\n PENDING: gettext('Pending'),\n EXECUTING: gettext('Executing'),\n FAILED: gettext('Failed'),\n SUCCESSFUL: gettext('Successful'),\n ALL: gettext('All')\n};\n\nexport const SINGLE_OP_STATUS_PROPERTIES = [\n {\n label: SINGLE_OP_STATUS_NAMES.PENDING,\n iconClass: 'dlt-c8y-icon-clock-o text-info',\n selected: false\n },\n {\n label: SINGLE_OP_STATUS_NAMES.EXECUTING,\n iconClass: 'dlt-c8y-icon-refresh text-info',\n selected: false\n },\n {\n label: SINGLE_OP_STATUS_NAMES.SUCCESSFUL,\n iconClass: 'dlt-c8y-icon-check-circle text-success',\n selected: false\n },\n {\n label: SINGLE_OP_STATUS_NAMES.FAILED,\n iconClass: 'dlt-c8y-icon-exclamation-circle text-danger',\n selected: false\n }\n];\n","import {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { IOperation, IOperationBulk, IResultList } from '@c8y/client';\nimport { StatusFilterComponent, IStatusOption } from '@c8y/ngx-components/operations/status-filter';\nimport { BulkOperationsService } from '@c8y/ngx-components/operations/bulk-operations-service';\nimport { SINGLE_OP_STATUS_NAMES, SINGLE_OP_STATUS_PROPERTIES } from './single-operation-item.model';\n\n@Component({\n selector: 'c8y-single-operations-list',\n templateUrl: './single-operations-list.component.html'\n})\nexport class SingleOperationsListComponent implements AfterViewInit, OnChanges {\n @Input()\n bulkOperation: Partial<IOperationBulk>;\n @Input()\n readOnly: boolean = false;\n @Output() onRetryFailedOperations: EventEmitter<Partial<IOperationBulk>> = new EventEmitter();\n\n @ViewChild(StatusFilterComponent, { static: false })\n statusFilter: StatusFilterComponent;\n\n singleOperationStatusProperties = SINGLE_OP_STATUS_PROPERTIES;\n singleOperationStatusNames = SINGLE_OP_STATUS_NAMES;\n singleOperations: IResultList<IOperation>;\n\n constructor(private bulkOperationsService: BulkOperationsService) {}\n\n async ngAfterViewInit() {\n if (this.statusFilter) {\n this.filterOperationsByType();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.bulkOperation && !changes.bulkOperation.firstChange) {\n this.filterOperationsByType();\n }\n }\n\n filterOperationsByType() {\n if (this.statusFilter) {\n const typeFilter = this.getFilterTypeOfSingleOperations();\n\n this.statusFilter.preset(\n typeFilter === this.singleOperationStatusNames.ALL\n ? []\n : [{ label: typeFilter } as IStatusOption]\n );\n } else {\n setTimeout(this.filterOperationsByType.bind(this));\n }\n }\n\n getFilterTypeOfSingleOperations() {\n const progress = this.bulkOperation.progress;\n\n if (progress.failed > 0) {\n return this.singleOperationStatusNames.FAILED;\n } else if (progress.failed === 0 && progress.successful === 0 && progress.pending === 0) {\n return this.singleOperationStatusNames.EXECUTING;\n } else if (progress.failed === 0 && progress.successful === 0 && progress.executing === 0) {\n return this.singleOperationStatusNames.PENDING;\n } else if (progress.failed === 0 && progress.pending === 0 && progress.executing === 0) {\n return this.singleOperationStatusNames.SUCCESSFUL;\n }\n\n return this.singleOperationStatusNames.ALL;\n }\n\n async getOperationsByStatus(filter: IStatusOption[]) {\n this.singleOperations = await this.bulkOperationsService.getSingleOperationsByStatus(\n filter[0] && filter[0].label,\n this.bulkOperation.id\n );\n }\n\n retryBulkOperation() {\n this.onRetryFailedOperations.emit(this.bulkOperation);\n }\n}\n","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { IOperation } from '@c8y/client';\nimport { AlertService, gettext } from '@c8y/ngx-components';\nimport { BulkOperationsService } from '@c8y/ngx-components/operations/bulk-operations-service';\nimport { omit } from 'lodash-es';\nimport { SINGLE_OP_STATUS_NAMES, SINGLE_OP_STATUS_PROPERTIES } from './single-operation-item.model';\n\n@Component({\n selector: 'c8y-single-operation-item',\n templateUrl: './single-operation-item.component.html'\n})\nexport class SingleOperationItemComponent {\n device = {};\n showIfTextTruncated = false;\n singleOperationStatusNames = SINGLE_OP_STATUS_NAMES;\n singleOperationsStatusProperties = SINGLE_OP_STATUS_PROPERTIES;\n iconClass: string;\n @Input()\n operation: IOperation;\n @Input()\n readOnly: boolean = false;\n @ViewChild('failureReason', { static: true }) failureReasonRef: ElementRef;\n\n constructor(\n private bulkOperationsService: BulkOperationsService,\n private alertService: AlertService\n ) {}\n\n async ngOnInit() {\n this.iconClass = this.getIconClass();\n this.device = await this.getDeviceMO(this.operation.deviceId);\n }\n\n ngAfterViewInit() {\n this.isTextTruncated();\n }\n\n async retrySingleOperation(singleOperation) {\n const operationToCreate = omit(singleOperation, [\n 'id',\n 'self',\n 'status',\n 'failureReason',\n 'creationTime',\n 'delivery'\n ]);\n\n try {\n await this.bulkOperationsService.createSingleOperation(operationToCreate);\n this.alertService.success(gettext('Operation created.'));\n } catch (er) {\n this.alertService.addServerFailure(er);\n }\n }\n\n getIconClass() {\n return this.singleOperationsStatusProperties.find(\n operationProperties => operationProperties.label.toUpperCase() === this.operation.status\n ).iconClass;\n }\n\n private async getDeviceMO(deviceId) {\n const inventoryMO = await this.bulkOperationsService.getManagedObject(deviceId);\n if (inventoryMO) {\n return inventoryMO.data;\n }\n }\n\n private isTextTruncated() {\n if (this.operation.failureReason) {\n const el = this.failureReasonRef.nativeElement;\n this.showIfTextTruncated = el.offsetWidth < el.scrollWidth ? true : false;\n }\n }\n}\n","import { Component, EventEmitter, Output, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport {\n BulkOperationsService,\n OperationType\n} from '@c8y/ngx-components/operations/bulk-operations-service';\nimport { BulkOperationModalsService } from '../modals/bulk-operation-modals.service';\n\n@Component({\n selector: 'c8y-bulk-operation-type-list',\n templateUrl: './bulk-operation-type-list.component.html'\n})\nexport class BulkOperationTypeListComponent implements OnInit {\n @Output() onCustomType: EventEmitter<OperationType> = new EventEmitter();\n bulkList: OperationType[] = [];\n\n constructor(\n private router: Router,\n private bulkOperationsService: BulkOperationsService,\n private bulkOperationModalsService: BulkOperationModalsService\n ) {}\n\n ngOnInit() {\n this.bulkList = this.bulkOperationsService.getBulkTypes();\n }\n\n handleClick(item: OperationType) {\n if (item.path) {\n this.bulkOperationModalsService.hideNewBulkOperationModal();\n this.router.navigateByUrl(item.path);\n } else if (item.component) {\n this.onCustomType.emit(item);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\n\nimport { CoreModule, Route } from '@c8y/ngx-components';\nimport { StatusFilterModule } from '@c8y/ngx-components/operations/status-filter';\nimport { OperationSummaryModule } from '@c8y/ngx-components/operations/operation-summary';\nimport { BulkOperationSchedulerModule } from '@c8y/ngx-components/operations/bulk-operation-scheduler';\n\nimport { BulkOperationDetailsService } from './bulk-operation-details.service';\nimport { BulkOperationsListComponent } from './bulk-operations-list.component';\nimport { BulkOperationListItemComponent } from './bulk-operation-list-item.component';\nimport { BulkOperationDetailsTabsComponent } from './bulk-operation-details-tabs.component';\nimport { BulkOperationDetailsComponent } from './bulk-operation-details.component';\nimport { SingleOperationsListComponent } from './single-operations-list.component';\nimport { SingleOperationItemComponent } from './single-operation-item.component';\nimport { BulkOperationWrapperComponent } from './bulk-operation-wrapper.component';\nimport { BulkOperationTypeListComponent } from './type-list/bulk-operation-type-list.component';\nimport { BulkOperationModalsService } from './modals/bulk-operation-modals.service';\nimport { BulkOperationsModalComponent } from './modals/bulk-operations-modal.component';\nimport { BulkOperationsRescheduleModalComponent } from './modals/bulk-operations-reschedule-modal.component';\n\nexport const bulkOperationListRoutes: Route[] = [\n {\n path: 'devicecontrol/bulk',\n component: BulkOperationsListComponent\n }\n];\n\n/**\n * This module allows for displaying the list of bulk operations and their details.\n */\n@NgModule({\n imports: [\n CoreModule,\n PopoverModule,\n TooltipModule,\n StatusFilterModule,\n OperationSummaryModule,\n BulkOperationSchedulerModule,\n RouterModule.forChild(bulkOperationListRoutes)\n ],\n providers: [BulkOperationDetailsService, BulkOperationModalsService],\n declarations: [\n BulkOperationsListComponent,\n BulkOperationListItemComponent,\n BulkOperationDetailsTabsComponent,\n BulkOperationDetailsComponent,\n SingleOperationsListComponent,\n SingleOperationItemComponent,\n BulkOperationWrapperComponent,\n BulkOperationTypeListComponent,\n BulkOperationsModalComponent,\n BulkOperationsRescheduleModalComponent\n ],\n entryComponents: [\n BulkOperationsListComponent,\n BulkOperationListItemComponent,\n BulkOperationDetailsTabsComponent,\n BulkOperationDetailsComponent,\n SingleOperationsListComponent,\n SingleOperationItemComponent,\n BulkOperationWrapperComponent,\n BulkOperationTypeListComponent,\n BulkOperationsModalComponent,\n BulkOperationsRescheduleModalComponent\n ],\n exports: [\n BulkOperationsListComponent,\n BulkOperationListItemComponent,\n BulkOperationDetailsTabsComponent,\n BulkOperationDetailsComponent,\n SingleOperationsListComponent,\n SingleOperationItemComponent,\n BulkOperationWrapperComponent,\n BulkOperationTypeListComponent,\n BulkOperationsModalComponent,\n BulkOperationsRescheduleModalComponent\n ]\n})\nexport class BulkOperationsListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["tslib_1.__decorate"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-operations-bulk-operations-list.js","sources":["ng://@c8y/ngx-components/operations/bulk-operations-list/bulk-operation-wrapper.component.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/bulk-operation-details.service.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/modals/bulk-operations-modal.component.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/modals/bulk-operation-modals.service.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/modals/bulk-operations-reschedule-modal.component.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/bulk-operation-list-item.model.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/bulk-operation-list-item.component.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/bulk-operations-list.component.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/bulk-operation-details-tabs.component.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/bulk-operation-details.component.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/single-operation-item.model.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/single-operations-list.component.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/single-operation-item.component.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/type-list/bulk-operation-type-list.component.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/bulk-operations-list.module.ts","ng://@c8y/ngx-components/operations/bulk-operations-list/c8y-ngx-components-operations-bulk-operations-list.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\nimport { IOperationBulk } from '@c8y/client';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { BulkOperationDetailsService } from './bulk-operation-details.service';\n\n@Component({\n selector: 'c8y-bulk-operations-wrapper',\n templateUrl: './bulk-operation-wrapper.component.html'\n})\nexport class BulkOperationWrapperComponent {\n @Input() bulkOperation: Partial<IOperationBulk>;\n\n constructor(\n public bulkOperationDetailsService: BulkOperationDetailsService,\n public modalRef: BsModalRef\n ) {}\n}\n","import { Injectable } from '@angular/core';\nimport { IOperationBulk } from '@c8y/client';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { BulkOperationsService } from '@c8y/ngx-components/operations/bulk-operations-service';\nimport { BulkOperationWrapperComponent } from './bulk-operation-wrapper.component';\n\n@Injectable()\nexport class BulkOperationDetailsService {\n constructor(\n private bulkOperationsService: BulkOperationsService,\n private modalService: BsModalService\n ) {}\n\n async openDetails(bulkOperationId) {\n const bulkOperation: IOperationBulk = (await this.bulkOperationsService.getBulkOperationById(\n bulkOperationId\n )).data;\n const initialState = { bulkOperation };\n this.modalService.show(BulkOperationWrapperComponent, {\n initialState,\n class: 'modal-lg'\n });\n }\n}\n","import { Component, ViewContainerRef, ViewChild, ComponentFactoryResolver } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { OperationType } from '@c8y/ngx-components/operations/bulk-operations-service';\n\n@Component({\n selector: 'c8y-bulk-operations-modal',\n templateUrl: 'bulk-operations-modal.component.html'\n})\nexport class BulkOperationsModalComponent {\n @ViewChild('container', { static: false, read: ViewContainerRef }) container;\n showComponent: boolean = false;\n constructor(private bsModalRef: BsModalRef, private resolver: ComponentFactoryResolver) {}\n\n cancel() {\n this.bsModalRef.hide();\n }\n\n createComponent(item: OperationType) {\n if (item && item.component) {\n this.showComponent = true;\n const factory = this.resolver.resolveComponentFactory(item.component);\n this.container.createComponent(factory);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\nimport { BulkOperationsModalComponent } from './bulk-operations-modal.component';\n\n@Injectable()\nexport class BulkOperationModalsService {\n private bsModalRef: BsModalRef;\n\n constructor(private bsModalService: BsModalService) {}\n\n showNewBulkOperationModal() {\n this.bsModalRef = this.bsModalService.show(BulkOperationsModalComponent, {\n backdrop: 'static',\n class: 'modal-sm'\n });\n }\n\n hideNewBulkOperationModal() {\n if (this.bsModalRef) {\n this.bsModalRef.hide();\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { IOperationBulk } from '@c8y/client';\nimport { AlertService, gettext } from '@c8y/ngx-components';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { Subject } from 'rxjs';\nimport { OperationSchedule } from '@c8y/ngx-components/operations/bulk-operation-scheduler';\nimport { BulkOperationsService } from '@c8y/ngx-components/operations/bulk-operations-service';\n\n@Component({\n selector: 'c8y-bulk-operations-reschedule-modal',\n templateUrl: 'bulk-operations-reschedule-modal.component.html'\n})\nexport class BulkOperationsRescheduleModalComponent implements OnInit {\n closeSubject: Subject<IOperationBulk> = new Subject();\n dateAndDelay: OperationSchedule;\n bulkOperation: Partial<IOperationBulk>;\n isRetryOperation: boolean;\n modalTitle: string;\n\n constructor(\n public bsModalRef: BsModalRef,\n private bulkOperationsService: BulkOperationsService,\n private alert: AlertService\n ) {}\n\n ngOnInit() {\n this.modalTitle = this.getTitle();\n }\n\n onDateAndDelaySelect($event) {\n this.dateAndDelay = $event;\n }\n\n getTitle() {\n return this.isRetryOperation ? gettext('Retry operation') : gettext('Edit schedule');\n }\n\n onCancel() {\n this.bsModalRef.hide();\n }\n\n async onSave() {\n let newBulkOperation;\n this.bulkOperation.startDate = this.dateAndDelay.scheduledDate.toISOString();\n this.bulkOperation.creationRamp = this.dateAndDelay.delayInSeconds;\n\n if (this.isRetryOperation) {\n try {\n newBulkOperation = await this.bulkOperationsService.createBulkOperation(this.bulkOperation);\n this.alert.success(gettext('Successfully rescheduled for a retry.'));\n } catch (er) {\n this.alert.addServerFailure(er);\n }\n } else {\n try {\n newBulkOperation = await this.bulkOperationsService.updateBulkOperation(this.bulkOperation);\n this.alert.success(gettext('Successfully rescheduled.'));\n } catch (er) {\n this.alert.addServerFailure(er);\n }\n }\n\n // send back to component from which modal was called\n this.closeSubject.next(newBulkOperation.data);\n this.bsModalRef.hide();\n }\n}\n","import { OperationBulkGeneralStatus } from '@c8y/client';\nimport { gettext } from '@c8y/ngx-components';\nimport { IStatusOption } from '@c8y/ngx-components/operations/status-filter';\n\nexport const BULK_OPERATION_STATUS_LABELS = {\n SCHEDULED: gettext('Scheduled'),\n EXECUTING: gettext('Executing'),\n CANCELED: gettext('Canceled'),\n FAILED: gettext('Completed with failures'),\n SUCCESSFUL: gettext('Completed successfully'),\n DELETED: gettext('Deleted'),\n};\n\nexport const BULK_OPERATION_STATUS_OPTIONS: IStatusOption[] = [\n {\n label: BULK_OPERATION_STATUS_LABELS.SCHEDULED,\n generalStatus: [OperationBulkGeneralStatus.SCHEDULED],\n iconClass: 'dlt-c8y-icon-calendar text-info',\n },\n {\n label: BULK_OPERATION_STATUS_LABELS.EXECUTING,\n generalStatus: [\n OperationBulkGeneralStatus.EXECUTING,\n OperationBulkGeneralStatus.EXECUTING_WITH_ERROR,\n ],\n iconClass: 'dlt-c8y-icon-refresh text-primary',\n },\n {\n label: BULK_OPERATION_STATUS_LABELS.DELETED,\n generalStatus: [OperationBulkGeneralStatus.DELETED],\n iconClass: 'dlt-c8y-icon-delete-document text-muted',\n },\n {\n label: BULK_OPERATION_STATUS_LABELS.CANCELED,\n generalStatus: [OperationBulkGeneralStatus.CANCELED],\n iconClass: 'dlt-c8y-icon-ban text-muted',\n },\n {\n label: BULK_OPERATION_STATUS_LABELS.FAILED,\n generalStatus: [OperationBulkGeneralStatus.FAILED],\n iconClass: 'dlt-c8y-icon-exclamation-triangle text-danger',\n },\n {\n label: BULK_OPERATION_STATUS_LABELS.SUCCESSFUL,\n generalStatus: [OperationBulkGeneralStatus.SUCCESSFUL],\n iconClass: 'dlt-c8y-icon-check-circle text-success',\n },\n];\n\nexport const BULK_OPERATION_FALLBACK_STATUS_ICON = 'dlt-c8y-icon-ask-question text-muted';\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { IOperationBulk, OperationBulkGeneralStatus } from '@c8y/client';\nimport {\n AlertService,\n gettext,\n ListItemComponent,\n ModalService,\n Status\n} from '@c8y/ngx-components';\nimport { assign, cloneDeep } from 'lodash-es';\nimport { BsModalRef, BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\nimport { BulkOperationsService } from '@c8y/ngx-components/operations/bulk-operations-service';\nimport { IStatusOption } from '@c8y/ngx-components/operations/status-filter';\nimport { BulkOperationsRescheduleModalComponent } from './modals/bulk-operations-reschedule-modal.component';\nimport { BULK_OPERATION_FALLBACK_STATUS_ICON, BULK_OPERATION_STATUS_OPTIONS } from './bulk-operation-list-item.model';\n\n@Component({\n selector: 'c8y-bulk-operation-list-item',\n templateUrl: './bulk-operation-list-item.component.html'\n})\nexport class BulkOperationListItemComponent implements OnInit, OnChanges {\n @Input()\n bulkOperation: Partial<IOperationBulk>;\n @Input()\n detailsCollapsed: boolean = true;\n @Input()\n readOnly: boolean = false;\n @Output() showFailedOperation = new EventEmitter();\n @Output() reload: EventEmitter<any> = new EventEmitter();\n @ViewChild('listItem', { static: true }) listItem: ListItemComponent;\n iconClass: string;\n finishDate: number;\n refreshLoading = false;\n bulkOperationGeneralStatus = OperationBulkGeneralStatus;\n bulkOperationStatusOptions: IStatusOption[] = BULK_OPERATION_STATUS_OPTIONS;\n bsModalRef: BsModalRef;\n finishDatePopoverText: string = gettext(\n 'Approximate date, estimated based on the bulk operation settings.'\n );\n progressBarClass: string = 'progress';\n progressBarColor: string;\n progressBarStatus: number = 0;\n\n constructor(\n private bulkOperationsService: BulkOperationsService,\n private modal: ModalService,\n private alert: AlertService,\n private bsModalService: BsModalService\n ) {}\n\n ngOnInit() {\n this.iconClass = this.getIconClass();\n this.finishDate = this.calculateFinishDateMs();\n this.setProgressBar();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.bulkOperation && !changes.bulkOperation.firstChange) {\n this.iconClass = this.getIconClass();\n this.setProgressBar();\n }\n }\n\n getIconClass() {\n const statusOptions = this.bulkOperationStatusOptions.find(statusOption =>\n statusOption.generalStatus.includes(this.bulkOperation.generalStatus)\n );\n return statusOptions ? statusOptions.iconClass : BULK_OPERATION_FALLBACK_STATUS_ICON;\n }\n\n calculateFinishDateMs(): number {\n const startDateMs: number = new Date(this.bulkOperation.startDate).getTime();\n const creationRampMs: number = this.bulkOperation.creationRamp * 1000;\n\n return startDateMs + creationRampMs * this.bulkOperation.progress.all;\n }\n\n progressBarProgressFn() {\n return (\n ((this.bulkOperation.progress.successful + this.bulkOperation.progress.failed) /\n this.bulkOperation.progress.all) *\n 100\n );\n }\n\n setProgressBar() {\n const staticContentOfClass = 'progress-bar progress-striped active progress-bar';\n\n const progressBarState = {\n EXECUTING: {\n progressBarClass: 'progress progress-striped active',\n progressBarColor: `${staticContentOfClass}-primary`,\n progressBarStatus: this.progressBarProgressFn()\n },\n EXECUTING_WITH_ERROR: {\n progressBarClass: 'progress progress-striped active',\n progressBarColor: `${staticContentOfClass}-danger`,\n progressBarStatus: this.progressBarProgressFn()\n },\n FAILED: {\n progressBarClass: 'progress',\n progressBarColor: `${staticContentOfClass}-danger`,\n progressBarStatus: 100\n },\n SUCCESSFUL: {\n progressBarClass: 'progress',\n progressBarColor: `${staticContentOfClass}-success`,\n progressBarStatus: 100\n }\n };\n\n assign(this, progressBarState[this.bulkOperation.generalStatus]);\n }\n\n editSchedule() {\n const rescheduledOperation = cloneDeep(this.bulkOperation);\n const initialState = {\n bulkOperation: rescheduledOperation\n };\n const modalOptions = { initialState, class: 'modal-sm', backdrop: 'static' } as ModalOptions;\n this.bsModalRef = this.bsModalService.show(\n BulkOperationsRescheduleModalComponent,\n modalOptions\n );\n }\n\n async cancelBulkOperation() {\n try {\n await this.modal.confirm(\n gettext('Cancel bulk operation'),\n gettext('You are about to cancel the bulk operation. Do you want to proceed?'),\n Status.DANGER\n );\n await this.bulkOperationsService.deleteBulkOperation(this.bulkOperation.id);\n this.reload.emit();\n this.alert.success(gettext('Operation canceled.'));\n } catch (er) {\n this.alert.addServerFailure(er);\n }\n }\n\n retryFailedOperation() {\n const clonedBulk = cloneDeep(this.bulkOperation);\n\n // change the id to failedparentId similar to the logic in deviceBulkControl.service.js\n delete clonedBulk.groupId;\n clonedBulk.failedParentId = this.bulkOperation.id;\n\n // show reschdedule modal:\n const initialState = {\n bulkOperation: clonedBulk,\n isRetryOperation: true\n };\n const modalOptions = { initialState, class: 'modal-sm', backdrop: 'static' } as ModalOptions;\n this.bsModalRef = this.bsModalService.show(\n BulkOperationsRescheduleModalComponent,\n modalOptions\n );\n this.bsModalRef.content.closeSubject.subscribe(() => {\n this.reload.emit();\n });\n }\n\n async setToSuccessful() {\n try {\n await this.modal.confirm(\n gettext('Set manually bulk operation to SUCCESSFUL'),\n gettext(\n 'You are about to change the bulk operation status to SUCCESSFUL. Do you want to proceed?'\n ),\n Status.DANGER\n );\n\n await this.bulkOperationsService.updateBulkOperation({\n id: this.bulkOperation.id,\n generalStatus: OperationBulkGeneralStatus.SUCCESSFUL\n });\n this.reload.emit();\n this.alert.success(gettext('Operation status changed to SUCCESSFUL.'));\n } catch (er) {\n this.alert.addServerFailure(er);\n }\n }\n\n openFailedOperation(failedParentId) {\n this.showFailedOperation.emit(failedParentId);\n }\n\n isStatusScheduled() {\n return this.bulkOperation.generalStatus === this.bulkOperationGeneralStatus.SCHEDULED;\n }\n\n isStatusExecutingOrExecutingWithError() {\n return (\n this.bulkOperation.generalStatus === this.bulkOperationGeneralStatus.EXECUTING ||\n this.bulkOperation.generalStatus === this.bulkOperationGeneralStatus.EXECUTING_WITH_ERROR\n );\n }\n\n allOperationsCreated() {\n return (\n this.bulkOperation.progress.all ===\n this.bulkOperation.progress.executing +\n this.bulkOperation.progress.failed +\n this.bulkOperation.progress.pending +\n this.bulkOperation.progress.successful\n );\n }\n\n isStatusCanceled() {\n return this.bulkOperation.generalStatus === this.bulkOperationGeneralStatus.CANCELED;\n }\n\n isStatusFailed() {\n return this.bulkOperation.generalStatus === this.bulkOperationGeneralStatus.FAILED;\n }\n}\n","import { Component, OnInit, QueryList, ViewChild, ViewChildren } from '@angular/core';\nimport { IOperationBulk, IResultList } from '@c8y/client';\nimport { OperationBulkRealtimeService, DatePickerComponent } from '@c8y/ngx-components';\nimport { flatten } from 'lodash-es';\nimport { BehaviorSubject, Observable, combineLatest, pipe } from 'rxjs';\nimport { map, tap, switchMap, withLatestFrom, shareReplay } from 'rxjs/operators';\nimport { StatusFilterComponent, IStatusOption } from '@c8y/ngx-components/operations/status-filter';\nimport {\n BulkOperationsService,\n OperationType\n} from '@c8y/ngx-components/operations/bulk-operations-service';\nimport { BulkOperationModalsService } from './modals/bulk-operation-modals.service';\nimport { BulkOperationListItemComponent } from './bulk-operation-list-item.component';\nimport { BULK_OPERATION_STATUS_OPTIONS } from './bulk-operation-list-item.model';\n@Component({\n selector: 'c8y-bulk-operations',\n templateUrl: './bulk-operations-list.component.html',\n providers: [OperationBulkRealtimeService]\n})\nexport class BulkOperationsListComponent implements OnInit {\n bulkTypes: OperationType[] = [];\n selectedTypeFilters = this.getTypeFilters();\n bulkOperationStatusOptions: IStatusOption[] = BULK_OPERATION_STATUS_OPTIONS;\n\n filterPipe;\n refreshLoading: boolean = false;\n statusFilter$: BehaviorSubject<IStatusOption[]> = new BehaviorSubject(null);\n typeFilter$: BehaviorSubject<OperationType[]> = new BehaviorSubject(null);\n timeFilter$: BehaviorSubject<any> = new BehaviorSubject(null);\n reload$: BehaviorSubject<void> = new BehaviorSubject(null);\n @ViewChildren(BulkOperationListItemComponent) listItems: QueryList<\n BulkOperationListItemComponent\n >;\n @ViewChild('statusFilter', { static: true }) statusFilter: StatusFilterComponent;\n @ViewChild(DatePickerComponent, { static: true }) datePicker: DatePickerComponent;\n\n bulkOperations$: Observable<IResultList<IOperationBulk>> = combineLatest(\n this.statusFilter$,\n this.timeFilter$,\n this.typeFilter$,\n this.reload$\n ).pipe(\n tap(() => {\n this.refreshLoading = true;\n }),\n switchMap(([statusFilters, timeFilters]) => this.filter(statusFilters, timeFilters)),\n withLatestFrom(this.typeFilter$),\n map(([result, typeFilter]: [IResultList<IOperationBulk>, OperationType[]]) => {\n this.filterPipe = pipe(map((data: []) => this.filterByType(data, typeFilter)));\n return { ...result, data: this.filterByType(result.data, typeFilter) };\n }),\n tap(() => {\n this.refreshLoading = false;\n }),\n shareReplay(1)\n );\n\n private allFilterFragments: string[];\n\n constructor(\n public realtime: OperationBulkRealtimeService,\n private bulkOperationsService: BulkOperationsService,\n private bulkOperationModalsService: BulkOperationModalsService\n ) {\n this.allFilterFragments = this.flattenFilterFragments(this.getTypeFilters());\n }\n\n ngOnInit() {\n this.bulkTypes = this.bulkOperationsService.getBulkTypes();\n }\n\n filterByType(bulkOperations: IOperationBulk[], typeFilter) {\n const flattenedFragments: string[] = this.flattenFilterFragments(typeFilter);\n if (\n // return data unfiltered if no filters selected...\n !flattenedFragments.length ||\n // ...or when all filters are selected\n this.allFilterFragments.every(fragment => flattenedFragments.includes(fragment))\n ) {\n return bulkOperations;\n }\n\n const filteredData = bulkOperations.filter(item => {\n return Object.keys(item.operationPrototype).some(key => flattenedFragments.includes(key));\n });\n\n return filteredData;\n }\n\n resetFilter() {\n this.statusFilter$.next(null);\n this.timeFilter$.next(null);\n this.typeFilter$.next(null);\n\n this.datePicker.clearFilter();\n this.selectedTypeFilters = this.getTypeFilters();\n this.statusFilter.reset();\n }\n\n isFilterApplied() {\n return (\n this.statusFilter$.getValue() || this.typeFilter$.getValue() || this.timeFilter$.getValue()\n );\n }\n\n filter(statusFilters, timeFilter) {\n const status =\n statusFilters && statusFilters.length > 0\n ? {\n generalStatus: flatten(statusFilters.map(statusFilter => statusFilter.generalStatus))\n }\n : {};\n\n const time = timeFilter\n ? {\n ...(timeFilter.dateFrom && {\n dateFrom: timeFilter.dateFrom.toISOString()\n }),\n ...(timeFilter.dateTo && {\n dateTo: timeFilter.dateTo.toISOString()\n })\n }\n : {};\n return this.getBulkOperations({ ...status, ...time });\n }\n\n getBulkOperations(filter?) {\n return this.bulkOperationsService.getBulkOperations(filter);\n }\n\n getTypeFilters() {\n return this.bulkOperationsService.getBulkTypes();\n }\n\n addBulkOperation() {\n this.bulkOperationModalsService.showNewBulkOperationModal();\n }\n\n openFailedOperation(failedParentId) {\n this.listItems.forEach(item => {\n if (item.bulkOperation.id === failedParentId) {\n item.listItem.collapsed = false;\n item.listItem.element.nativeElement.scrollIntoView({ behavior: 'smooth', block: 'center' });\n }\n });\n }\n\n compareOperations(operationA: IOperationBulk, operationB: IOperationBulk): number {\n return new Date(operationA.startDate).getTime() - new Date(operationB.startDate).getTime();\n }\n\n private flattenFilterFragments(filters: OperationType[]): string[] {\n return (filters || []).reduce((flattened, current) => flattened.concat(current.fragments), []);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { IOperationBulk } from '@c8y/client';\nimport { gettext, Tab } from '@c8y/ngx-components';\n\n@Component({\n selector: 'c8y-bulk-operation-details-tabs',\n templateUrl: './bulk-operation-details-tabs.component.html'\n})\nexport class BulkOperationDetailsTabsComponent implements OnInit {\n @Input()\n bulkOperation: Partial<IOperationBulk>;\n @Input()\n readOnly: boolean = false;\n @Output() onRetryFailedOperations: EventEmitter<Partial<IOperationBulk>> = new EventEmitter();\n @Output() showFailedOperation: EventEmitter<number> = new EventEmitter();\n\n @ViewChild('details', { static: true }) detailsTemplate: any;\n @ViewChild('audit', { static: true }) auditTemplate: any;\n\n tabs: Tab[] = [];\n template: ViewContainerRef;\n\n ngOnInit(): void {\n this.template = this.detailsTemplate;\n\n this.tabs = [\n {\n label: gettext('Details'),\n path: null,\n icon: 'asterisk',\n template: this.detailsTemplate\n },\n {\n label: gettext('History of changes'),\n path: null,\n icon: 'archive',\n template: this.auditTemplate\n }\n ];\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { IManagedObject, IOperationBulk } from '@c8y/client';\n\n@Component({\n selector: 'c8y-bulk-operation-details',\n templateUrl: './bulk-operation-details.component.html'\n})\nexport class BulkOperationDetailsComponent {\n allFilterIsSelected: boolean = false;\n collapsed: boolean;\n device: IManagedObject;\n\n @Input()\n bulkOperation: Partial<IOperationBulk>;\n @Input()\n readOnly: boolean = false;\n @Output() showFailedOperation: EventEmitter<number> = new EventEmitter();\n\n scrollToRetriedFromOperation(failedOperationId) {\n this.showFailedOperation.emit(failedOperationId);\n }\n}\n","import { gettext } from '@c8y/ngx-components';\n\nexport const SINGLE_OP_STATUS_NAMES = {\n PENDING: gettext('Pending'),\n EXECUTING: gettext('Executing'),\n FAILED: gettext('Failed'),\n SUCCESSFUL: gettext('Successful'),\n ALL: gettext('All')\n};\n\nexport const SINGLE_OP_STATUS_PROPERTIES = [\n {\n label: SINGLE_OP_STATUS_NAMES.PENDING,\n iconClass: 'dlt-c8y-icon-clock-o text-info',\n selected: false\n },\n {\n label: SINGLE_OP_STATUS_NAMES.EXECUTING,\n iconClass: 'dlt-c8y-icon-refresh text-info',\n selected: false\n },\n {\n label: SINGLE_OP_STATUS_NAMES.SUCCESSFUL,\n iconClass: 'dlt-c8y-icon-check-circle text-success',\n selected: false\n },\n {\n label: SINGLE_OP_STATUS_NAMES.FAILED,\n iconClass: 'dlt-c8y-icon-exclamation-circle text-danger',\n selected: false\n }\n];\n","import {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { IOperation, IOperationBulk, IResultList } from '@c8y/client';\nimport { StatusFilterComponent, IStatusOption } from '@c8y/ngx-components/operations/status-filter';\nimport { BulkOperationsService } from '@c8y/ngx-components/operations/bulk-operations-service';\nimport { SINGLE_OP_STATUS_NAMES, SINGLE_OP_STATUS_PROPERTIES } from './single-operation-item.model';\n\n@Component({\n selector: 'c8y-single-operations-list',\n templateUrl: './single-operations-list.component.html'\n})\nexport class SingleOperationsListComponent implements AfterViewInit, OnChanges {\n @Input()\n bulkOperation: Partial<IOperationBulk>;\n @Input()\n readOnly: boolean = false;\n @Output() onRetryFailedOperations: EventEmitter<Partial<IOperationBulk>> = new EventEmitter();\n\n @ViewChild(StatusFilterComponent, { static: false })\n statusFilter: StatusFilterComponent;\n\n singleOperationStatusProperties = SINGLE_OP_STATUS_PROPERTIES;\n singleOperationStatusNames = SINGLE_OP_STATUS_NAMES;\n singleOperations: IResultList<IOperation>;\n\n constructor(private bulkOperationsService: BulkOperationsService) {}\n\n async ngAfterViewInit() {\n if (this.statusFilter) {\n this.filterOperationsByType();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.bulkOperation && !changes.bulkOperation.firstChange) {\n this.filterOperationsByType();\n }\n }\n\n filterOperationsByType() {\n if (this.statusFilter) {\n const typeFilter = this.getFilterTypeOfSingleOperations();\n\n this.statusFilter.preset(\n typeFilter === this.singleOperationStatusNames.ALL\n ? []\n : [{ label: typeFilter } as IStatusOption]\n );\n } else {\n setTimeout(this.filterOperationsByType.bind(this));\n }\n }\n\n getFilterTypeOfSingleOperations() {\n const progress = this.bulkOperation.progress;\n\n if (progress.failed > 0) {\n return this.singleOperationStatusNames.FAILED;\n } else if (progress.failed === 0 && progress.successful === 0 && progress.pending === 0) {\n return this.singleOperationStatusNames.EXECUTING;\n } else if (progress.failed === 0 && progress.successful === 0 && progress.executing === 0) {\n return this.singleOperationStatusNames.PENDING;\n } else if (progress.failed === 0 && progress.pending === 0 && progress.executing === 0) {\n return this.singleOperationStatusNames.SUCCESSFUL;\n }\n\n return this.singleOperationStatusNames.ALL;\n }\n\n async getOperationsByStatus(filter: IStatusOption[]) {\n this.singleOperations = await this.bulkOperationsService.getSingleOperationsByStatus(\n filter[0] && filter[0].label,\n this.bulkOperation.id\n );\n }\n\n retryBulkOperation() {\n this.onRetryFailedOperations.emit(this.bulkOperation);\n }\n}\n","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { IOperation } from '@c8y/client';\nimport { AlertService, gettext } from '@c8y/ngx-components';\nimport { BulkOperationsService } from '@c8y/ngx-components/operations/bulk-operations-service';\nimport { omit } from 'lodash-es';\nimport { SINGLE_OP_STATUS_NAMES, SINGLE_OP_STATUS_PROPERTIES } from './single-operation-item.model';\n\n@Component({\n selector: 'c8y-single-operation-item',\n templateUrl: './single-operation-item.component.html'\n})\nexport class SingleOperationItemComponent {\n device = {};\n showIfTextTruncated = false;\n singleOperationStatusNames = SINGLE_OP_STATUS_NAMES;\n singleOperationsStatusProperties = SINGLE_OP_STATUS_PROPERTIES;\n iconClass: string;\n @Input()\n operation: IOperation;\n @Input()\n readOnly: boolean = false;\n @ViewChild('failureReason', { static: true }) failureReasonRef: ElementRef;\n\n constructor(\n private bulkOperationsService: BulkOperationsService,\n private alertService: AlertService\n ) {}\n\n async ngOnInit() {\n this.iconClass = this.getIconClass();\n this.device = await this.getDeviceMO(this.operation.deviceId);\n }\n\n ngAfterViewInit() {\n this.isTextTruncated();\n }\n\n async retrySingleOperation(singleOperation) {\n const operationToCreate = omit(singleOperation, [\n 'id',\n 'self',\n 'status',\n 'failureReason',\n 'creationTime',\n 'delivery'\n ]);\n\n try {\n await this.bulkOperationsService.createSingleOperation(operationToCreate);\n this.alertService.success(gettext('Operation created.'));\n } catch (er) {\n this.alertService.addServerFailure(er);\n }\n }\n\n getIconClass() {\n return this.singleOperationsStatusProperties.find(\n operationProperties => operationProperties.label.toUpperCase() === this.operation.status\n ).iconClass;\n }\n\n private async getDeviceMO(deviceId) {\n const inventoryMO = await this.bulkOperationsService.getManagedObject(deviceId);\n if (inventoryMO) {\n return inventoryMO.data;\n }\n }\n\n private isTextTruncated() {\n if (this.operation.failureReason) {\n const el = this.failureReasonRef.nativeElement;\n this.showIfTextTruncated = el.offsetWidth < el.scrollWidth ? true : false;\n }\n }\n}\n","import { Component, EventEmitter, Output, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport {\n BulkOperationsService,\n OperationType\n} from '@c8y/ngx-components/operations/bulk-operations-service';\nimport { BulkOperationModalsService } from '../modals/bulk-operation-modals.service';\n\n@Component({\n selector: 'c8y-bulk-operation-type-list',\n templateUrl: './bulk-operation-type-list.component.html'\n})\nexport class BulkOperationTypeListComponent implements OnInit {\n @Output() onCustomType: EventEmitter<OperationType> = new EventEmitter();\n bulkList: OperationType[] = [];\n\n constructor(\n private router: Router,\n private bulkOperationsService: BulkOperationsService,\n private bulkOperationModalsService: BulkOperationModalsService\n ) {}\n\n ngOnInit() {\n this.bulkList = this.bulkOperationsService.getBulkTypes();\n }\n\n handleClick(item: OperationType) {\n if (item.path) {\n this.bulkOperationModalsService.hideNewBulkOperationModal();\n this.router.navigateByUrl(item.path);\n } else if (item.component) {\n this.onCustomType.emit(item);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\n\nimport { CoreModule, Route } from '@c8y/ngx-components';\nimport { StatusFilterModule } from '@c8y/ngx-components/operations/status-filter';\nimport { OperationSummaryModule } from '@c8y/ngx-components/operations/operation-summary';\nimport { BulkOperationSchedulerModule } from '@c8y/ngx-components/operations/bulk-operation-scheduler';\n\nimport { BulkOperationDetailsService } from './bulk-operation-details.service';\nimport { BulkOperationsListComponent } from './bulk-operations-list.component';\nimport { BulkOperationListItemComponent } from './bulk-operation-list-item.component';\nimport { BulkOperationDetailsTabsComponent } from './bulk-operation-details-tabs.component';\nimport { BulkOperationDetailsComponent } from './bulk-operation-details.component';\nimport { SingleOperationsListComponent } from './single-operations-list.component';\nimport { SingleOperationItemComponent } from './single-operation-item.component';\nimport { BulkOperationWrapperComponent } from './bulk-operation-wrapper.component';\nimport { BulkOperationTypeListComponent } from './type-list/bulk-operation-type-list.component';\nimport { BulkOperationModalsService } from './modals/bulk-operation-modals.service';\nimport { BulkOperationsModalComponent } from './modals/bulk-operations-modal.component';\nimport { BulkOperationsRescheduleModalComponent } from './modals/bulk-operations-reschedule-modal.component';\n\nexport const bulkOperationListRoutes: Route[] = [\n {\n path: 'devicecontrol/bulk',\n component: BulkOperationsListComponent\n }\n];\n\n/**\n * This module allows for displaying the list of bulk operations and their details.\n */\n@NgModule({\n imports: [\n CoreModule,\n PopoverModule,\n TooltipModule,\n StatusFilterModule,\n OperationSummaryModule,\n BulkOperationSchedulerModule,\n RouterModule.forChild(bulkOperationListRoutes)\n ],\n providers: [BulkOperationDetailsService, BulkOperationModalsService],\n declarations: [\n BulkOperationsListComponent,\n BulkOperationListItemComponent,\n BulkOperationDetailsTabsComponent,\n BulkOperationDetailsComponent,\n SingleOperationsListComponent,\n SingleOperationItemComponent,\n BulkOperationWrapperComponent,\n BulkOperationTypeListComponent,\n BulkOperationsModalComponent,\n BulkOperationsRescheduleModalComponent\n ],\n entryComponents: [\n BulkOperationsListComponent,\n BulkOperationListItemComponent,\n BulkOperationDetailsTabsComponent,\n BulkOperationDetailsComponent,\n SingleOperationsListComponent,\n SingleOperationItemComponent,\n BulkOperationWrapperComponent,\n BulkOperationTypeListComponent,\n BulkOperationsModalComponent,\n BulkOperationsRescheduleModalComponent\n ],\n exports: [\n BulkOperationsListComponent,\n BulkOperationListItemComponent,\n BulkOperationDetailsTabsComponent,\n BulkOperationDetailsComponent,\n SingleOperationsListComponent,\n SingleOperationItemComponent,\n BulkOperationWrapperComponent,\n BulkOperationTypeListComponent,\n BulkOperationsModalComponent,\n BulkOperationsRescheduleModalComponent\n ]\n})\nexport class BulkOperationsListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["tslib_1.__decorate"],"mappings":";;;;;;;;;;;;;;;;IASa,6BAA6B,GAA1C,MAAa,6BAA6B;IAGxC,YACS,2BAAwD,EACxD,QAAoB;QADpB,gCAA2B,GAA3B,2BAA2B,CAA6B;QACxD,aAAQ,GAAR,QAAQ,CAAY;KACzB;CACL,CAAA;;YAHuC,2BAA2B;YAC9C,UAAU;;AAJpBA;IAAR,KAAK,EAAE;oEAAwC;AADrC,6BAA6B;IAJzC,SAAS,CAAC;QACT,QAAQ,EAAE,6BAA6B;QACvC,+oBAAsD;KACvD,CAAC;GACW,6BAA6B,CAOzC;;ICTY,2BAA2B,GAAxC,MAAa,2BAA2B;IACtC,YACU,qBAA4C,EAC5C,YAA4B;QAD5B,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,iBAAY,GAAZ,YAAY,CAAgB;KAClC;IAEE,WAAW,CAAC,eAAe;;YAC/B,MAAM,aAAa,GAAmB,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,oBAAoB,CAC1F,eAAe,CAChB,EAAE,IAAI,CAAC;YACR,MAAM,YAAY,GAAG,EAAE,aAAa,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,6BAA6B,EAAE;gBACpD,YAAY;gBACZ,KAAK,EAAE,UAAU;aAClB,CAAC,CAAC;SACJ;KAAA;CACF,CAAA;;YAdkC,qBAAqB;YAC9B,cAAc;;AAH3B,2BAA2B;IADvC,UAAU,EAAE;GACA,2BAA2B,CAgBvC;;ICfY,4BAA4B,GAAzC,MAAa,4BAA4B;IAGvC,YAAoB,UAAsB,EAAU,QAAkC;QAAlE,eAAU,GAAV,UAAU,CAAY;QAAU,aAAQ,GAAR,QAAQ,CAA0B;QADtF,kBAAa,GAAY,KAAK,CAAC;KAC2D;IAE1F,MAAM;QACJ,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;KACxB;IAED,eAAe,CAAC,IAAmB;QACjC,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;YAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;SACzC;KACF;CACF,CAAA;;YAbiC,UAAU;YAAoB,wBAAwB;;AAFnBA;IAAlE,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;+DAAW;AADlE,4BAA4B;IAJxC,SAAS,CAAC;QACT,QAAQ,EAAE,2BAA2B;QACrC,2lCAAmD;KACpD,CAAC;GACW,4BAA4B,CAgBxC;;ICnBY,0BAA0B,GAAvC,MAAa,0BAA0B;IAGrC,YAAoB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;KAAI;IAEtD,yBAAyB;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,4BAA4B,EAAE;YACvE,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,UAAU;SAClB,CAAC,CAAC;KACJ;IAED,yBAAyB;QACvB,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;SACxB;KACF;CACF,CAAA;;YAdqC,cAAc;;AAHvC,0BAA0B;IADtC,UAAU,EAAE;GACA,0BAA0B,CAiBtC;;ICVY,sCAAsC,GAAnD,MAAa,sCAAsC;IAOjD,YACS,UAAsB,EACrB,qBAA4C,EAC5C,KAAmB;QAFpB,eAAU,GAAV,UAAU,CAAY;QACrB,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,UAAK,GAAL,KAAK,CAAc;QAT7B,iBAAY,GAA4B,IAAI,OAAO,EAAE,CAAC;KAUlD;IAEJ,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;KACnC;IAED,oBAAoB,CAAC,MAAM;QACzB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;KAC5B;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;KACtF;IAED,QAAQ;QACN,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;KACxB;IAEK,MAAM;;YACV,IAAI,gBAAgB,CAAC;YACrB,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YAC7E,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC;YAEnE,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACzB,IAAI;oBACF,gBAAgB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAC5F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC;iBACtE;gBAAC,OAAO,EAAE,EAAE;oBACX,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;iBACjC;aACF;iBAAM;gBACL,IAAI;oBACF,gBAAgB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAC5F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC;iBAC1D;gBAAC,OAAO,EAAE,EAAE;oBACX,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;iBACjC;aACF;;YAGD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;SACxB;KAAA;CACF,CAAA;;YA9CsB,UAAU;YACE,qBAAqB;YACrC,YAAY;;AAVlB,sCAAsC;IAJlD,SAAS,CAAC;QACT,QAAQ,EAAE,sCAAsC;QAChD,ysCAA8D;KAC/D,CAAC;GACW,sCAAsC,CAsDlD;;AC9DM,MAAM,4BAA4B,GAAG;IAC1C,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC;IAC1C,UAAU,EAAE,OAAO,CAAC,wBAAwB,CAAC;IAC7C,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,AAAO,MAAM,6BAA6B,GAAoB;IAC5D;QACE,KAAK,EAAE,4BAA4B,CAAC,SAAS;QAC7C,aAAa,EAAE,CAAC,0BAA0B,CAAC,SAAS,CAAC;QACrD,SAAS,EAAE,iCAAiC;KAC7C;IACD;QACE,KAAK,EAAE,4BAA4B,CAAC,SAAS;QAC7C,aAAa,EAAE;YACb,0BAA0B,CAAC,SAAS;YACpC,0BAA0B,CAAC,oBAAoB;SAChD;QACD,SAAS,EAAE,mCAAmC;KAC/C;IACD;QACE,KAAK,EAAE,4BAA4B,CAAC,OAAO;QAC3C,aAAa,EAAE,CAAC,0BAA0B,CAAC,OAAO,CAAC;QACnD,SAAS,EAAE,yCAAyC;KACrD;IACD;QACE,KAAK,EAAE,4BAA4B,CAAC,QAAQ;QAC5C,aAAa,EAAE,CAAC,0BAA0B,CAAC,QAAQ,CAAC;QACpD,SAAS,EAAE,6BAA6B;KACzC;IACD;QACE,KAAK,EAAE,4BAA4B,CAAC,MAAM;QAC1C,aAAa,EAAE,CAAC,0BAA0B,CAAC,MAAM,CAAC;QAClD,SAAS,EAAE,+CAA+C;KAC3D;IACD;QACE,KAAK,EAAE,4BAA4B,CAAC,UAAU;QAC9C,aAAa,EAAE,CAAC,0BAA0B,CAAC,UAAU,CAAC;QACtD,SAAS,EAAE,wCAAwC;KACpD;CACF,CAAC;AAEF,AAAO,MAAM,mCAAmC,GAAG,sCAAsC,CAAC;;ICpB7E,8BAA8B,GAA3C,MAAa,8BAA8B;IAuBzC,YACU,qBAA4C,EAC5C,KAAmB,EACnB,KAAmB,EACnB,cAA8B;QAH9B,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,UAAK,GAAL,KAAK,CAAc;QACnB,UAAK,GAAL,KAAK,CAAc;QACnB,mBAAc,GAAd,cAAc,CAAgB;QAvBxC,qBAAgB,GAAY,IAAI,CAAC;QAEjC,aAAQ,GAAY,KAAK,CAAC;QAChB,wBAAmB,GAAG,IAAI,YAAY,EAAE,CAAC;QACzC,WAAM,GAAsB,IAAI,YAAY,EAAE,CAAC;QAIzD,mBAAc,GAAG,KAAK,CAAC;QACvB,+BAA0B,GAAG,0BAA0B,CAAC;QACxD,+BAA0B,GAAoB,6BAA6B,CAAC;QAE5E,0BAAqB,GAAW,OAAO,CACrC,mEAAmE,CACpE,CAAC;QACF,qBAAgB,GAAW,UAAU,CAAC;QAEtC,sBAAiB,GAAW,CAAC,CAAC;KAO1B;IAEJ,QAAQ;QACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,WAAW,CAAC,OAAsB;QAChC,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE;YAC/D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACrC,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;KACF;IAED,YAAY;QACV,MAAM,aAAa,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,YAAY,IACrE,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CACtE,CAAC;QACF,OAAO,aAAa,GAAG,aAAa,CAAC,SAAS,GAAG,mCAAmC,CAAC;KACtF;IAED,qBAAqB;QACnB,MAAM,WAAW,GAAW,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QAC7E,MAAM,cAAc,GAAW,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC;QAEtE,OAAO,WAAW,GAAG,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC;KACvE;IAED,qBAAqB;QACnB,QACE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM;YAC3E,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG;YACjC,GAAG,EACH;KACH;IAED,cAAc;QACZ,MAAM,oBAAoB,GAAG,mDAAmD,CAAC;QAEjF,MAAM,gBAAgB,GAAG;YACvB,SAAS,EAAE;gBACT,gBAAgB,EAAE,kCAAkC;gBACpD,gBAAgB,EAAE,GAAG,oBAAoB,UAAU;gBACnD,iBAAiB,EAAE,IAAI,CAAC,qBAAqB,EAAE;aAChD;YACD,oBAAoB,EAAE;gBACpB,gBAAgB,EAAE,kCAAkC;gBACpD,gBAAgB,EAAE,GAAG,oBAAoB,SAAS;gBAClD,iBAAiB,EAAE,IAAI,CAAC,qBAAqB,EAAE;aAChD;YACD,MAAM,EAAE;gBACN,gBAAgB,EAAE,UAAU;gBAC5B,gBAAgB,EAAE,GAAG,oBAAoB,SAAS;gBAClD,iBAAiB,EAAE,GAAG;aACvB;YACD,UAAU,EAAE;gBACV,gBAAgB,EAAE,UAAU;gBAC5B,gBAAgB,EAAE,GAAG,oBAAoB,UAAU;gBACnD,iBAAiB,EAAE,GAAG;aACvB;SACF,CAAC;QAEF,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;KAClE;IAED,YAAY;QACV,MAAM,oBAAoB,GAAG,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG;YACnB,aAAa,EAAE,oBAAoB;SACpC,CAAC;QACF,MAAM,YAAY,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAkB,CAAC;QAC7F,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CACxC,sCAAsC,EACtC,YAAY,CACb,CAAC;KACH;IAEK,mBAAmB;;YACvB,IAAI;gBACF,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CACtB,OAAO,CAAC,uBAAuB,CAAC,EAChC,OAAO,CAAC,qEAAqE,CAAC,EAC9E,MAAM,CAAC,MAAM,CACd,CAAC;gBACF,MAAM,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC5E,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;aACpD;YAAC,OAAO,EAAE,EAAE;gBACX,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;aACjC;SACF;KAAA;IAED,oBAAoB;QAClB,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;;QAGjD,OAAO,UAAU,CAAC,OAAO,CAAC;QAC1B,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;;QAGlD,MAAM,YAAY,GAAG;YACnB,aAAa,EAAE,UAAU;YACzB,gBAAgB,EAAE,IAAI;SACvB,CAAC;QACF,MAAM,YAAY,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAkB,CAAC;QAC7F,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CACxC,sCAAsC,EACtC,YAAY,CACb,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SACpB,CAAC,CAAC;KACJ;IAEK,eAAe;;YACnB,IAAI;gBACF,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CACtB,OAAO,CAAC,2CAA2C,CAAC,EACpD,OAAO,CACL,0FAA0F,CAC3F,EACD,MAAM,CAAC,MAAM,CACd,CAAC;gBAEF,MAAM,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC;oBACnD,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE;oBACzB,aAAa,EAAE,0BAA0B,CAAC,UAAU;iBACrD,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,CAAC;aACxE;YAAC,OAAO,EAAE,EAAE;gBACX,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;aACjC;SACF;KAAA;IAED,mBAAmB,CAAC,cAAc;QAChC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAC/C;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,KAAK,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC;KACvF;IAED,qCAAqC;QACnC,QACE,IAAI,CAAC,aAAa,CAAC,aAAa,KAAK,IAAI,CAAC,0BAA0B,CAAC,SAAS;YAC9E,IAAI,CAAC,aAAa,CAAC,aAAa,KAAK,IAAI,CAAC,0BAA0B,CAAC,oBAAoB,EACzF;KACH;IAED,oBAAoB;QAClB,QACE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG;YAC/B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS;gBACnC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM;gBAClC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO;gBACnC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,EACxC;KACH;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,KAAK,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC;KACtF;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,KAAK,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC;KACpF;CACF,CAAA;;YA5KkC,qBAAqB;YACrC,YAAY;YACZ,YAAY;YACH,cAAc;;AAzBxCA;IADC,KAAK,EAAE;qEAC+B;AAEvCA;IADC,KAAK,EAAE;wEACyB;AAEjCA;IADC,KAAK,EAAE;gEACkB;AAChBA;IAAT,MAAM,EAAE;2EAA0C;AACzCA;IAAT,MAAM,EAAE;8DAAgD;AAChBA;IAAxC,SAAS,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gEAA6B;AAT1D,8BAA8B;IAJ1C,SAAS,CAAC;QACT,QAAQ,EAAE,8BAA8B;QACxC,umKAAwD;KACzD,CAAC;GACW,8BAA8B,CAoM1C;;IC9MY,2BAA2B,GAAxC,MAAa,2BAA2B;IAwCtC,YACS,QAAsC,EACrC,qBAA4C,EAC5C,0BAAsD;QAFvD,aAAQ,GAAR,QAAQ,CAA8B;QACrC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,+BAA0B,GAA1B,0BAA0B,CAA4B;QA1ChE,cAAS,GAAoB,EAAE,CAAC;QAChC,wBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5C,+BAA0B,GAAoB,6BAA6B,CAAC;QAG5E,mBAAc,GAAY,KAAK,CAAC;QAChC,kBAAa,GAAqC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAC5E,gBAAW,GAAqC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1E,gBAAW,GAAyB,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAC9D,YAAO,GAA0B,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAO3D,oBAAe,GAA4C,aAAa,CACtE,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,OAAO,CACb,CAAC,IAAI,CACJ,GAAG,CAAC;YACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B,CAAC,EACF,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,WAAW,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,EACpF,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAChC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAiD;YACvE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAQ,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;YAC/E,yBAAY,MAAM,IAAE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAG;SACxE,CAAC,EACF,GAAG,CAAC;YACF,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B,CAAC,EACF,WAAW,CAAC,CAAC,CAAC,CACf,CAAC;QASA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;KAC9E;IAED,QAAQ;QACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC;KAC5D;IAED,YAAY,CAAC,cAAgC,EAAE,UAAU;QACvD,MAAM,kBAAkB,GAAa,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAC7E;;QAEE,CAAC,kBAAkB,CAAC,MAAM;;YAE1B,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,IAAI,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAChF;YACA,OAAO,cAAc,CAAC;SACvB;QAED,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI;YAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;SAC3F,CAAC,CAAC;QAEH,OAAO,YAAY,CAAC;KACrB;IAED,WAAW;QACT,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5B,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;KAC3B;IAED,eAAe;QACb,QACE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAC3F;KACH;IAED,MAAM,CAAC,aAAa,EAAE,UAAU;QAC9B,MAAM,MAAM,GACV,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;cACrC;gBACE,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,IAAI,YAAY,CAAC,aAAa,CAAC,CAAC;aACtF;cACD,EAAE,CAAC;QAET,MAAM,IAAI,GAAG,UAAU;iCAEb,UAAU,CAAC,QAAQ,IAAI;gBACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE;aAC5C,IACG,UAAU,CAAC,MAAM,IAAI;gBACvB,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE;aACxC,KAEH,EAAE,CAAC;QACP,OAAO,IAAI,CAAC,iBAAiB,mBAAM,MAAM,EAAK,IAAI,EAAG,CAAC;KACvD;IAED,iBAAiB,CAAC,MAAO;QACvB,OAAO,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;KAC7D;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC;KAClD;IAED,gBAAgB;QACd,IAAI,CAAC,0BAA0B,CAAC,yBAAyB,EAAE,CAAC;KAC7D;IAED,mBAAmB,CAAC,cAAc;QAChC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI;YACzB,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,cAAc,EAAE;gBAC5C,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;aAC7F;SACF,CAAC,CAAC;KACJ;IAED,iBAAiB,CAAC,UAA0B,EAAE,UAA0B;QACtE,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;KAC5F;IAEO,sBAAsB,CAAC,OAAwB;QACrD,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,SAAS,EAAE,OAAO,KAAK,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;KAChG;CACF,CAAA;;YA9FoB,4BAA4B;YACd,qBAAqB;YAChB,0BAA0B;;AAhClBA;IAA7C,YAAY,CAAC,8BAA8B,CAAC;8DAE3C;AAC2CA;IAA5C,SAAS,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;iEAAqC;AAC/BA;IAAjD,SAAS,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;+DAAiC;AAfvE,2BAA2B;IALvC,SAAS,CAAC;QACT,QAAQ,EAAE,qBAAqB;QAC/B,+3IAAoD;QACpD,SAAS,EAAE,CAAC,4BAA4B,CAAC;KAC1C,CAAC;GACW,2BAA2B,CAuIvC;;IC1IY,iCAAiC,GAA9C,MAAa,iCAAiC;IAJ9C;QAQE,aAAQ,GAAY,KAAK,CAAC;QAChB,4BAAuB,GAA0C,IAAI,YAAY,EAAE,CAAC;QACpF,wBAAmB,GAAyB,IAAI,YAAY,EAAE,CAAC;QAKzE,SAAI,GAAU,EAAE,CAAC;KAqBlB;IAlBC,QAAQ;QACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;QAErC,IAAI,CAAC,IAAI,GAAG;YACV;gBACE,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC;gBACzB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI,CAAC,eAAe;aAC/B;YACD;gBACE,KAAK,EAAE,OAAO,CAAC,oBAAoB,CAAC;gBACpC,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,IAAI,CAAC,aAAa;aAC7B;SACF,CAAC;KACH;CACF,CAAA;AA9BCA;IADC,KAAK,EAAE;wEAC+B;AAEvCA;IADC,KAAK,EAAE;mEACkB;AAChBA;IAAT,MAAM,EAAE;kFAAqF;AACpFA;IAAT,MAAM,EAAE;8EAAgE;AAEjCA;IAAvC,SAAS,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;0EAAsB;AACvBA;IAArC,SAAS,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;wEAAoB;AAT9C,iCAAiC;IAJ7C,SAAS,CAAC;QACT,QAAQ,EAAE,iCAAiC;QAC3C,mjCAA2D;KAC5D,CAAC;GACW,iCAAiC,CAgC7C;;ICzCY,6BAA6B,GAA1C,MAAa,6BAA6B;IAJ1C;QAKE,wBAAmB,GAAY,KAAK,CAAC;QAOrC,aAAQ,GAAY,KAAK,CAAC;QAChB,wBAAmB,GAAyB,IAAI,YAAY,EAAE,CAAC;KAK1E;IAHC,4BAA4B,CAAC,iBAAiB;QAC5C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KAClD;CACF,CAAA;AARCA;IADC,KAAK,EAAE;oEAC+B;AAEvCA;IADC,KAAK,EAAE;+DACkB;AAChBA;IAAT,MAAM,EAAE;0EAAgE;AAT9D,6BAA6B;IAJzC,SAAS,CAAC;QACT,QAAQ,EAAE,4BAA4B;QACtC,syIAAsD;KACvD,CAAC;GACW,6BAA6B,CAczC;;ACnBM,MAAM,sBAAsB,GAAG;IACpC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC;IAC/B,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC;IACjC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC;CACpB,CAAC;AAEF,AAAO,MAAM,2BAA2B,GAAG;IACzC;QACE,KAAK,EAAE,sBAAsB,CAAC,OAAO;QACrC,SAAS,EAAE,gCAAgC;QAC3C,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,KAAK,EAAE,sBAAsB,CAAC,SAAS;QACvC,SAAS,EAAE,gCAAgC;QAC3C,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,KAAK,EAAE,sBAAsB,CAAC,UAAU;QACxC,SAAS,EAAE,wCAAwC;QACnD,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,KAAK,EAAE,sBAAsB,CAAC,MAAM;QACpC,SAAS,EAAE,6CAA6C;QACxD,QAAQ,EAAE,KAAK;KAChB;CACF,CAAC;;ICZW,6BAA6B,GAA1C,MAAa,6BAA6B;IAcxC,YAAoB,qBAA4C;QAA5C,0BAAqB,GAArB,qBAAqB,CAAuB;QAVhE,aAAQ,GAAY,KAAK,CAAC;QAChB,4BAAuB,GAA0C,IAAI,YAAY,EAAE,CAAC;QAK9F,oCAA+B,GAAG,2BAA2B,CAAC;QAC9D,+BAA0B,GAAG,sBAAsB,CAAC;KAGgB;IAE9D,eAAe;;YACnB,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,IAAI,CAAC,sBAAsB,EAAE,CAAC;aAC/B;SACF;KAAA;IAED,WAAW,CAAC,OAAsB;QAChC,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE;YAC/D,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;KACF;IAED,sBAAsB;QACpB,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,MAAM,UAAU,GAAG,IAAI,CAAC,+BAA+B,EAAE,CAAC;YAE1D,IAAI,CAAC,YAAY,CAAC,MAAM,CACtB,UAAU,KAAK,IAAI,CAAC,0BAA0B,CAAC,GAAG;kBAC9C,EAAE;kBACF,CAAC,EAAE,KAAK,EAAE,UAAU,EAAmB,CAAC,CAC7C,CAAC;SACH;aAAM;YACL,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACpD;KACF;IAED,+BAA+B;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;QAE7C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC;SAC/C;aAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,UAAU,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC,EAAE;YACvF,OAAO,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC;SAClD;aAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,UAAU,KAAK,CAAC,IAAI,QAAQ,CAAC,SAAS,KAAK,CAAC,EAAE;YACzF,OAAO,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC;SAChD;aAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC,IAAI,QAAQ,CAAC,SAAS,KAAK,CAAC,EAAE;YACtF,OAAO,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC;SACnD;QAED,OAAO,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC;KAC5C;IAEK,qBAAqB,CAAC,MAAuB;;YACjD,IAAI,CAAC,gBAAgB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,2BAA2B,CAClF,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAC5B,IAAI,CAAC,aAAa,CAAC,EAAE,CACtB,CAAC;SACH;KAAA;IAED,kBAAkB;QAChB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KACvD;CACF,CAAA;;YAtD4C,qBAAqB;;AAZhEA;IADC,KAAK,EAAE;oEAC+B;AAEvCA;IADC,KAAK,EAAE;+DACkB;AAChBA;IAAT,MAAM,EAAE;8EAAqF;AAG9FA;IADC,SAAS,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;mEAChB;AARzB,6BAA6B;IAJzC,SAAS,CAAC;QACT,QAAQ,EAAE,4BAA4B;QACtC,q4DAAsD;KACvD,CAAC;GACW,6BAA6B,CAoEzC;;IC5EY,4BAA4B,GAAzC,MAAa,4BAA4B;IAYvC,YACU,qBAA4C,EAC5C,YAA0B;QAD1B,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,iBAAY,GAAZ,YAAY,CAAc;QAbpC,WAAM,GAAG,EAAE,CAAC;QACZ,wBAAmB,GAAG,KAAK,CAAC;QAC5B,+BAA0B,GAAG,sBAAsB,CAAC;QACpD,qCAAgC,GAAG,2BAA2B,CAAC;QAK/D,aAAQ,GAAY,KAAK,CAAC;KAMtB;IAEE,QAAQ;;YACZ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SAC/D;KAAA;IAED,eAAe;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;IAEK,oBAAoB,CAAC,eAAe;;YACxC,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,EAAE;gBAC9C,IAAI;gBACJ,MAAM;gBACN,QAAQ;gBACR,eAAe;gBACf,cAAc;gBACd,UAAU;aACX,CAAC,CAAC;YAEH,IAAI;gBACF,MAAM,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;gBAC1E,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;aAC1D;YAAC,OAAO,EAAE,EAAE;gBACX,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;aACxC;SACF;KAAA;IAED,YAAY;QACV,OAAO,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAC/C,mBAAmB,IAAI,mBAAmB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CACzF,CAAC,SAAS,CAAC;KACb;IAEa,WAAW,CAAC,QAAQ;;YAChC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAChF,IAAI,WAAW,EAAE;gBACf,OAAO,WAAW,CAAC,IAAI,CAAC;aACzB;SACF;KAAA;IAEO,eAAe;QACrB,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE;YAChC,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;YAC/C,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,GAAG,IAAI,GAAG,KAAK,CAAC;SAC3E;KACF;CACF,CAAA;;YAlDkC,qBAAqB;YAC9B,YAAY;;AAPpCA;IADC,KAAK,EAAE;+DACc;AAEtBA;IADC,KAAK,EAAE;8DACkB;AACoBA;IAA7C,SAAS,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;sEAA8B;AAVhE,4BAA4B;IAJxC,SAAS,CAAC;QACT,QAAQ,EAAE,2BAA2B;QACrC,utDAAqD;KACtD,CAAC;GACW,4BAA4B,CA+DxC;;IC9DY,8BAA8B,GAA3C,MAAa,8BAA8B;IAIzC,YACU,MAAc,EACd,qBAA4C,EAC5C,0BAAsD;QAFtD,WAAM,GAAN,MAAM,CAAQ;QACd,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,+BAA0B,GAA1B,0BAA0B,CAA4B;QANtD,iBAAY,GAAgC,IAAI,YAAY,EAAE,CAAC;QACzE,aAAQ,GAAoB,EAAE,CAAC;KAM3B;IAEJ,QAAQ;QACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC;KAC3D;IAED,WAAW,CAAC,IAAmB;QAC7B,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,0BAA0B,CAAC,yBAAyB,EAAE,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACtC;aAAM,IAAI,IAAI,CAAC,SAAS,EAAE;YACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC9B;KACF;CACF,CAAA;;YAjBmB,MAAM;YACS,qBAAqB;YAChB,0BAA0B;;AANtDA;IAAT,MAAM,EAAE;oEAAgE;AAD9D,8BAA8B;IAJ1C,SAAS,CAAC;QACT,QAAQ,EAAE,8BAA8B;QACxC,ymBAAwD;KACzD,CAAC;GACW,8BAA8B,CAsB1C;;MCXY,uBAAuB,GAAY;IAC9C;QACE,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,2BAA2B;KACvC;CACF,CAAC;;;;AAqDF,IAAa,wBAAwB,GAArC,MAAa,wBAAwB;CAAG,CAAA;AAA3B,wBAAwB;IAhDpC,QAAQ,CAAC;QACR,OAAO,EAAE;YACP,UAAU;YACV,aAAa;YACb,aAAa;YACb,kBAAkB;YAClB,sBAAsB;YACtB,4BAA4B;YAC5B,YAAY,CAAC,QAAQ,CAAC,uBAAuB,CAAC;SAC/C;QACD,SAAS,EAAE,CAAC,2BAA2B,EAAE,0BAA0B,CAAC;QACpE,YAAY,EAAE;YACZ,2BAA2B;YAC3B,8BAA8B;YAC9B,iCAAiC;YACjC,6BAA6B;YAC7B,6BAA6B;YAC7B,4BAA4B;YAC5B,6BAA6B;YAC7B,8BAA8B;YAC9B,4BAA4B;YAC5B,sCAAsC;SACvC;QACD,eAAe,EAAE;YACf,2BAA2B;YAC3B,8BAA8B;YAC9B,iCAAiC;YACjC,6BAA6B;YAC7B,6BAA6B;YAC7B,4BAA4B;YAC5B,6BAA6B;YAC7B,8BAA8B;YAC9B,4BAA4B;YAC5B,sCAAsC;SACvC;QACD,OAAO,EAAE;YACP,2BAA2B;YAC3B,8BAA8B;YAC9B,iCAAiC;YACjC,6BAA6B;YAC7B,6BAA6B;YAC7B,4BAA4B;YAC5B,6BAA6B;YAC7B,8BAA8B;YAC9B,4BAA4B;YAC5B,sCAAsC;SACvC;KACF,CAAC;GACW,wBAAwB,CAAG;;ACjFxC;;GAEG;;;;"}
|
|
@@ -204,38 +204,45 @@ var BULK_OPERATION_STATUS_LABELS = {
|
|
|
204
204
|
EXECUTING: gettext('Executing'),
|
|
205
205
|
CANCELED: gettext('Canceled'),
|
|
206
206
|
FAILED: gettext('Completed with failures'),
|
|
207
|
-
SUCCESSFUL: gettext('Completed successfully')
|
|
207
|
+
SUCCESSFUL: gettext('Completed successfully'),
|
|
208
|
+
DELETED: gettext('Deleted'),
|
|
208
209
|
};
|
|
209
210
|
var BULK_OPERATION_STATUS_OPTIONS = [
|
|
210
211
|
{
|
|
211
212
|
label: BULK_OPERATION_STATUS_LABELS.SCHEDULED,
|
|
212
213
|
generalStatus: [OperationBulkGeneralStatus.SCHEDULED],
|
|
213
|
-
iconClass: 'dlt-c8y-icon-calendar text-info'
|
|
214
|
+
iconClass: 'dlt-c8y-icon-calendar text-info',
|
|
214
215
|
},
|
|
215
216
|
{
|
|
216
217
|
label: BULK_OPERATION_STATUS_LABELS.EXECUTING,
|
|
217
218
|
generalStatus: [
|
|
218
219
|
OperationBulkGeneralStatus.EXECUTING,
|
|
219
|
-
OperationBulkGeneralStatus.EXECUTING_WITH_ERROR
|
|
220
|
+
OperationBulkGeneralStatus.EXECUTING_WITH_ERROR,
|
|
220
221
|
],
|
|
221
|
-
iconClass: 'dlt-c8y-icon-refresh text-primary'
|
|
222
|
+
iconClass: 'dlt-c8y-icon-refresh text-primary',
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
label: BULK_OPERATION_STATUS_LABELS.DELETED,
|
|
226
|
+
generalStatus: [OperationBulkGeneralStatus.DELETED],
|
|
227
|
+
iconClass: 'dlt-c8y-icon-delete-document text-muted',
|
|
222
228
|
},
|
|
223
229
|
{
|
|
224
230
|
label: BULK_OPERATION_STATUS_LABELS.CANCELED,
|
|
225
231
|
generalStatus: [OperationBulkGeneralStatus.CANCELED],
|
|
226
|
-
iconClass: 'dlt-c8y-icon-ban text-muted'
|
|
232
|
+
iconClass: 'dlt-c8y-icon-ban text-muted',
|
|
227
233
|
},
|
|
228
234
|
{
|
|
229
235
|
label: BULK_OPERATION_STATUS_LABELS.FAILED,
|
|
230
236
|
generalStatus: [OperationBulkGeneralStatus.FAILED],
|
|
231
|
-
iconClass: 'dlt-c8y-icon-exclamation-triangle text-danger'
|
|
237
|
+
iconClass: 'dlt-c8y-icon-exclamation-triangle text-danger',
|
|
232
238
|
},
|
|
233
239
|
{
|
|
234
240
|
label: BULK_OPERATION_STATUS_LABELS.SUCCESSFUL,
|
|
235
241
|
generalStatus: [OperationBulkGeneralStatus.SUCCESSFUL],
|
|
236
|
-
iconClass: 'dlt-c8y-icon-check-circle text-success'
|
|
237
|
-
}
|
|
242
|
+
iconClass: 'dlt-c8y-icon-check-circle text-success',
|
|
243
|
+
},
|
|
238
244
|
];
|
|
245
|
+
var BULK_OPERATION_FALLBACK_STATUS_ICON = 'dlt-c8y-icon-ask-question text-muted';
|
|
239
246
|
|
|
240
247
|
var BulkOperationListItemComponent = /** @class */ (function () {
|
|
241
248
|
function BulkOperationListItemComponent(bulkOperationsService, modal, alert, bsModalService) {
|
|
@@ -267,9 +274,10 @@ var BulkOperationListItemComponent = /** @class */ (function () {
|
|
|
267
274
|
};
|
|
268
275
|
BulkOperationListItemComponent.prototype.getIconClass = function () {
|
|
269
276
|
var _this = this;
|
|
270
|
-
|
|
277
|
+
var statusOptions = this.bulkOperationStatusOptions.find(function (statusOption) {
|
|
271
278
|
return statusOption.generalStatus.includes(_this.bulkOperation.generalStatus);
|
|
272
|
-
})
|
|
279
|
+
});
|
|
280
|
+
return statusOptions ? statusOptions.iconClass : BULK_OPERATION_FALLBACK_STATUS_ICON;
|
|
273
281
|
};
|
|
274
282
|
BulkOperationListItemComponent.prototype.calculateFinishDateMs = function () {
|
|
275
283
|
var startDateMs = new Date(this.bulkOperation.startDate).getTime();
|