UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

57 lines 12.4 kB
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core'; import { AuditRecordType } from '@c8y/client'; import { gettext } from '@c8y/ngx-components'; import * as i0 from "@angular/core"; import * as i1 from "@c8y/ngx-components"; import * as i2 from "@angular/common"; import * as i3 from "@c8y/ngx-components/operations/bulk-single-operations-list"; import * as i4 from "./operation-details.component"; export class OperationDetailsTabsComponent { constructor() { this.AuditRecordType = AuditRecordType; this.readOnly = false; this.onRetryFailedOperations = new EventEmitter(); this.showFailedOperation = new EventEmitter(); this.tabs = []; } ngOnInit() { this.template = this.detailsTemplate; this.tabs = [ { label: gettext('Details'), path: null, icon: 'asterisk', template: this.detailsTemplate }, { label: gettext('History of changes'), path: null, icon: 'archive', template: this.auditTemplate } ]; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OperationDetailsTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OperationDetailsTabsComponent, selector: "c8y-operation-details-tabs", inputs: { operation: "operation", readOnly: "readOnly", bulkOperationModalDetailsService: "bulkOperationModalDetailsService" }, outputs: { onRetryFailedOperations: "onRetryFailedOperations", showFailedOperation: "showFailedOperation" }, viewQueries: [{ propertyName: "detailsTemplate", first: true, predicate: ["details"], descendants: true, static: true }, { propertyName: "auditTemplate", first: true, predicate: ["audit"], descendants: true, static: true }], ngImport: i0, template: "<div\n class=\"tabContainer\"\n #container\n>\n <ul class=\"nav nav-tabs nav-tabsc8y\">\n <li\n [ngClass]=\"{ active: tab.template === template }\"\n *ngFor=\"let tab of tabs\"\n >\n <button\n class=\"btn\"\n [title]=\"tab.label | translate\"\n (click)=\"template = tab.template\"\n >\n <i [c8yIcon]=\"tab.icon\"></i>\n <span class=\"txt\">{{ tab.label | translate }}</span>\n </button>\n </li>\n </ul>\n</div>\n\n<ng-container *ngTemplateOutlet=\"template\"></ng-container>\n\n<ng-template #details>\n <c8y-operation-li-details\n [operation]=\"operation\"\n (showFailedOperation)=\"showFailedOperation.emit($event)\"\n [bulkOperationModalDetailsService]=\"bulkOperationModalDetailsService\"\n ></c8y-operation-li-details>\n</ng-template>\n\n<ng-template #audit>\n <c8y-audit-log\n [source]=\"operation.id\"\n [type]=\"\n !!operation.operationPrototype ? AuditRecordType.BULK_OPERATION : AuditRecordType.OPERATION\n \"\n ></c8y-audit-log>\n</ng-template>\n\n<c8y-single-operations-list\n class=\"d-flex d-col\"\n *ngIf=\"operation.operationPrototype\"\n [bulkOperation]=\"operation\"\n [readOnly]=\"readOnly\"\n (onRetryFailedOperations)=\"onRetryFailedOperations.emit($event)\"\n></c8y-single-operations-list>\n", dependencies: [{ kind: "component", type: i1.AuditLogComponent, selector: "c8y-audit-log", inputs: ["source", "type"] }, { kind: "directive", type: i1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.SingleOperationsListComponent, selector: "c8y-single-operations-list", inputs: ["bulkOperation", "readOnly"], outputs: ["onRetryFailedOperations"] }, { kind: "component", type: i4.OperationListItemDetailsComponent, selector: "c8y-operation-li-details", inputs: ["operation", "bulkOperationModalDetailsService"], outputs: ["showFailedOperation"] }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OperationDetailsTabsComponent, decorators: [{ type: Component, args: [{ selector: 'c8y-operation-details-tabs', template: "<div\n class=\"tabContainer\"\n #container\n>\n <ul class=\"nav nav-tabs nav-tabsc8y\">\n <li\n [ngClass]=\"{ active: tab.template === template }\"\n *ngFor=\"let tab of tabs\"\n >\n <button\n class=\"btn\"\n [title]=\"tab.label | translate\"\n (click)=\"template = tab.template\"\n >\n <i [c8yIcon]=\"tab.icon\"></i>\n <span class=\"txt\">{{ tab.label | translate }}</span>\n </button>\n </li>\n </ul>\n</div>\n\n<ng-container *ngTemplateOutlet=\"template\"></ng-container>\n\n<ng-template #details>\n <c8y-operation-li-details\n [operation]=\"operation\"\n (showFailedOperation)=\"showFailedOperation.emit($event)\"\n [bulkOperationModalDetailsService]=\"bulkOperationModalDetailsService\"\n ></c8y-operation-li-details>\n</ng-template>\n\n<ng-template #audit>\n <c8y-audit-log\n [source]=\"operation.id\"\n [type]=\"\n !!operation.operationPrototype ? AuditRecordType.BULK_OPERATION : AuditRecordType.OPERATION\n \"\n ></c8y-audit-log>\n</ng-template>\n\n<c8y-single-operations-list\n class=\"d-flex d-col\"\n *ngIf=\"operation.operationPrototype\"\n [bulkOperation]=\"operation\"\n [readOnly]=\"readOnly\"\n (onRetryFailedOperations)=\"onRetryFailedOperations.emit($event)\"\n></c8y-single-operations-list>\n" }] }], propDecorators: { operation: [{ type: Input }], readOnly: [{ type: Input }], bulkOperationModalDetailsService: [{ type: Input }], onRetryFailedOperations: [{ type: Output }], showFailedOperation: [{ type: Output }], detailsTemplate: [{ type: ViewChild, args: ['details', { static: true }] }], auditTemplate: [{ type: ViewChild, args: ['audit', { static: true }] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0aW9uLWRldGFpbHMtdGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9vcGVyYXRpb25zL29wZXJhdGlvbnMtbGlzdC1pdGVtLWRldGFpbHMvb3BlcmF0aW9uLWRldGFpbHMtdGFicy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9vcGVyYXRpb25zL29wZXJhdGlvbnMtbGlzdC1pdGVtLWRldGFpbHMvb3BlcmF0aW9uLWRldGFpbHMtdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUE4QixNQUFNLGFBQWEsQ0FBQztBQUMxRSxPQUFPLEVBQUUsT0FBTyxFQUFPLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQU9uRCxNQUFNLE9BQU8sNkJBQTZCO0lBSjFDO1FBS0Usb0JBQWUsR0FBRyxlQUFlLENBQUM7UUFLbEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUlQLDRCQUF1QixHQUEwQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BGLHdCQUFtQixHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBS3pFLFNBQUksR0FBVSxFQUFFLENBQUM7S0FxQmxCO0lBbEJDLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFFckMsSUFBSSxDQUFDLElBQUksR0FBRztZQUNWO2dCQUNFLEtBQUssRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDO2dCQUN6QixJQUFJLEVBQUUsSUFBSTtnQkFDVixJQUFJLEVBQUUsVUFBVTtnQkFDaEIsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlO2FBQy9CO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQztnQkFDcEMsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhO2FBQzdCO1NBQ0YsQ0FBQztJQUNKLENBQUM7K0dBcENVLDZCQUE2QjttR0FBN0IsNkJBQTZCLGdoQkNqQjFDLHV5Q0ErQ0E7OzRGRDlCYSw2QkFBNkI7a0JBSnpDLFNBQVM7K0JBQ0UsNEJBQTRCOzhCQU90QyxTQUFTO3NCQURSLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLGdDQUFnQztzQkFEL0IsS0FBSztnQkFFSSx1QkFBdUI7c0JBQWhDLE1BQU07Z0JBQ0csbUJBQW1CO3NCQUE1QixNQUFNO2dCQUVpQyxlQUFlO3NCQUF0RCxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0EsYUFBYTtzQkFBbEQsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXVkaXRSZWNvcmRUeXBlLCBJT3BlcmF0aW9uLCBJT3BlcmF0aW9uQnVsayB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IGdldHRleHQsIFRhYiB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQnVsa09wZXJhdGlvbk1vZGFsRGV0YWlsc1NlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL29wZXJhdGlvbnMvYnVsay1vcGVyYXRpb24tbW9kYWwtZGV0YWlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1vcGVyYXRpb24tZGV0YWlscy10YWJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL29wZXJhdGlvbi1kZXRhaWxzLXRhYnMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE9wZXJhdGlvbkRldGFpbHNUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQXVkaXRSZWNvcmRUeXBlID0gQXVkaXRSZWNvcmRUeXBlO1xuXG4gIEBJbnB1dCgpXG4gIG9wZXJhdGlvbjogUGFydGlhbDxJT3BlcmF0aW9uICYgSU9wZXJhdGlvbkJ1bGs+O1xuICBASW5wdXQoKVxuICByZWFkT25seSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGJ1bGtPcGVyYXRpb25Nb2RhbERldGFpbHNTZXJ2aWNlOiBCdWxrT3BlcmF0aW9uTW9kYWxEZXRhaWxzU2VydmljZTtcbiAgQE91dHB1dCgpIG9uUmV0cnlGYWlsZWRPcGVyYXRpb25zOiBFdmVudEVtaXR0ZXI8UGFydGlhbDxJT3BlcmF0aW9uQnVsaz4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgc2hvd0ZhaWxlZE9wZXJhdGlvbjogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZCgnZGV0YWlscycsIHsgc3RhdGljOiB0cnVlIH0pIGRldGFpbHNUZW1wbGF0ZTogYW55O1xuICBAVmlld0NoaWxkKCdhdWRpdCcsIHsgc3RhdGljOiB0cnVlIH0pIGF1ZGl0VGVtcGxhdGU6IGFueTtcblxuICB0YWJzOiBUYWJbXSA9IFtdO1xuICB0ZW1wbGF0ZTogVmlld0NvbnRhaW5lclJlZjtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRlbXBsYXRlID0gdGhpcy5kZXRhaWxzVGVtcGxhdGU7XG5cbiAgICB0aGlzLnRhYnMgPSBbXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdEZXRhaWxzJyksXG4gICAgICAgIHBhdGg6IG51bGwsXG4gICAgICAgIGljb246ICdhc3RlcmlzaycsXG4gICAgICAgIHRlbXBsYXRlOiB0aGlzLmRldGFpbHNUZW1wbGF0ZVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6IGdldHRleHQoJ0hpc3Rvcnkgb2YgY2hhbmdlcycpLFxuICAgICAgICBwYXRoOiBudWxsLFxuICAgICAgICBpY29uOiAnYXJjaGl2ZScsXG4gICAgICAgIHRlbXBsYXRlOiB0aGlzLmF1ZGl0VGVtcGxhdGVcbiAgICAgIH1cbiAgICBdO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwidGFiQ29udGFpbmVyXCJcbiAgI2NvbnRhaW5lclxuPlxuICA8dWwgY2xhc3M9XCJuYXYgbmF2LXRhYnMgbmF2LXRhYnNjOHlcIj5cbiAgICA8bGlcbiAgICAgIFtuZ0NsYXNzXT1cInsgYWN0aXZlOiB0YWIudGVtcGxhdGUgPT09IHRlbXBsYXRlIH1cIlxuICAgICAgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzXCJcbiAgICA+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYnRuXCJcbiAgICAgICAgW3RpdGxlXT1cInRhYi5sYWJlbCB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIChjbGljayk9XCJ0ZW1wbGF0ZSA9IHRhYi50ZW1wbGF0ZVwiXG4gICAgICA+XG4gICAgICAgIDxpIFtjOHlJY29uXT1cInRhYi5pY29uXCI+PC9pPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInR4dFwiPnt7IHRhYi5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbGk+XG4gIDwvdWw+XG48L2Rpdj5cblxuPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZGV0YWlscz5cbiAgPGM4eS1vcGVyYXRpb24tbGktZGV0YWlsc1xuICAgIFtvcGVyYXRpb25dPVwib3BlcmF0aW9uXCJcbiAgICAoc2hvd0ZhaWxlZE9wZXJhdGlvbik9XCJzaG93RmFpbGVkT3BlcmF0aW9uLmVtaXQoJGV2ZW50KVwiXG4gICAgW2J1bGtPcGVyYXRpb25Nb2RhbERldGFpbHNTZXJ2aWNlXT1cImJ1bGtPcGVyYXRpb25Nb2RhbERldGFpbHNTZXJ2aWNlXCJcbiAgPjwvYzh5LW9wZXJhdGlvbi1saS1kZXRhaWxzPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNhdWRpdD5cbiAgPGM4eS1hdWRpdC1sb2dcbiAgICBbc291cmNlXT1cIm9wZXJhdGlvbi5pZFwiXG4gICAgW3R5cGVdPVwiXG4gICAgICAhIW9wZXJhdGlvbi5vcGVyYXRpb25Qcm90b3R5cGUgPyBBdWRpdFJlY29yZFR5cGUuQlVMS19PUEVSQVRJT04gOiBBdWRpdFJlY29yZFR5cGUuT1BFUkFUSU9OXG4gICAgXCJcbiAgPjwvYzh5LWF1ZGl0LWxvZz5cbjwvbmctdGVtcGxhdGU+XG5cbjxjOHktc2luZ2xlLW9wZXJhdGlvbnMtbGlzdFxuICBjbGFzcz1cImQtZmxleCBkLWNvbFwiXG4gICpuZ0lmPVwib3BlcmF0aW9uLm9wZXJhdGlvblByb3RvdHlwZVwiXG4gIFtidWxrT3BlcmF0aW9uXT1cIm9wZXJhdGlvblwiXG4gIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gIChvblJldHJ5RmFpbGVkT3BlcmF0aW9ucyk9XCJvblJldHJ5RmFpbGVkT3BlcmF0aW9ucy5lbWl0KCRldmVudClcIlxuPjwvYzh5LXNpbmdsZS1vcGVyYXRpb25zLWxpc3Q+XG4iXX0=