UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

52 lines 12.4 kB
import { Component, EventEmitter, Input, Output } from '@angular/core'; import { CommonModule, GainsightService } from '@c8y/ngx-components'; import { BsModalService } from 'ngx-bootstrap/modal'; import { TooltipModule } from 'ngx-bootstrap/tooltip'; import { DatapointsExportSelectorModalComponent } from './datapoints-export-selector-modal/datapoints-export-selector-modal.component'; import { PRODUCT_EXPERIENCE_DATAPOINTS_EXPORT_SELECTOR } from './datapoints-export-selector.model'; import * as i0 from "@angular/core"; import * as i1 from "ngx-bootstrap/modal"; import * as i2 from "@c8y/ngx-components"; import * as i3 from "@angular/common"; import * as i4 from "ngx-bootstrap/tooltip"; export class DatapointsExportSelectorComponent { constructor(bsModalService, gainsightService) { this.bsModalService = bsModalService; this.gainsightService = gainsightService; this.isOpen = new EventEmitter(); this.DEFAULT_CSS_STYLE = 'd-flex p-t-4 p-b-4'; } async openExportModal() { this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE_DATAPOINTS_EXPORT_SELECTOR.EVENTS.EXPORT_SELECTOR, { action: PRODUCT_EXPERIENCE_DATAPOINTS_EXPORT_SELECTOR.ACTIONS.OPEN_MODAL, component: PRODUCT_EXPERIENCE_DATAPOINTS_EXPORT_SELECTOR.COMPONENTS.DATAPOINTS_EXPORT_SELECTOR }); const exportConfig = this.exportConfig; const initialState = { exportConfig }; this.isOpen.emit(true); const modalRef = this.bsModalService.show(DatapointsExportSelectorModalComponent, { class: 'modal-lg', ariaDescribedby: 'modal-body', ariaLabelledBy: 'modal-title', initialState, ignoreBackdropClick: true }).content; // Result will be 'false' on modal close or dismiss this.isOpen.emit(await modalRef.result); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatapointsExportSelectorComponent, deps: [{ token: i1.BsModalService }, { token: i2.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DatapointsExportSelectorComponent, isStandalone: true, selector: "c8y-datapoints-export-selector", inputs: { containerClass: "containerClass", exportConfig: "exportConfig" }, outputs: { isOpen: "isOpen" }, ngImport: i0, template: "<ng-container *ngIf=\"containerClass !== 'd-contents'; else actionBarBtn\">\n <div\n class=\"input-group-btn\"\n [ngClass]=\"containerClass || DEFAULT_CSS_STYLE\"\n >\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Generate export' | translate\"\n tooltip=\"{{ 'Generate export' | translate }}\"\n container=\"body\"\n type=\"button\"\n data-cy=\"datapoints-export-selector--open-export-button\"\n (click)=\"openExportModal()\"\n [adaptivePosition]=\"false\"\n [disabled]=\"!exportConfig\"\n [delay]=\"500\"\n >\n <i\n class=\"icon-14\"\n c8yIcon=\"data-export\"\n ></i>\n </button>\n </div>\n</ng-container>\n\n<ng-template #actionBarBtn>\n <button\n class=\"btn btn-link\"\n type=\"button\"\n (click)=\"openExportModal()\"\n [disabled]=\"!exportConfig\"\n >\n <i c8yIcon=\"data-export\"></i>\n {{ 'Generate export' | translate }}\n </button>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatapointsExportSelectorComponent, decorators: [{ type: Component, args: [{ selector: 'c8y-datapoints-export-selector', standalone: true, imports: [CommonModule, TooltipModule], template: "<ng-container *ngIf=\"containerClass !== 'd-contents'; else actionBarBtn\">\n <div\n class=\"input-group-btn\"\n [ngClass]=\"containerClass || DEFAULT_CSS_STYLE\"\n >\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Generate export' | translate\"\n tooltip=\"{{ 'Generate export' | translate }}\"\n container=\"body\"\n type=\"button\"\n data-cy=\"datapoints-export-selector--open-export-button\"\n (click)=\"openExportModal()\"\n [adaptivePosition]=\"false\"\n [disabled]=\"!exportConfig\"\n [delay]=\"500\"\n >\n <i\n class=\"icon-14\"\n c8yIcon=\"data-export\"\n ></i>\n </button>\n </div>\n</ng-container>\n\n<ng-template #actionBarBtn>\n <button\n class=\"btn btn-link\"\n type=\"button\"\n (click)=\"openExportModal()\"\n [disabled]=\"!exportConfig\"\n >\n <i c8yIcon=\"data-export\"></i>\n {{ 'Generate export' | translate }}\n </button>\n</ng-template>\n" }] }], ctorParameters: () => [{ type: i1.BsModalService }, { type: i2.GainsightService }], propDecorators: { containerClass: [{ type: Input }], exportConfig: [{ type: Input }], isOpen: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXBvaW50cy1leHBvcnQtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZGF0YXBvaW50cy1leHBvcnQtc2VsZWN0b3IvZGF0YXBvaW50cy1leHBvcnQtc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZGF0YXBvaW50cy1leHBvcnQtc2VsZWN0b3IvZGF0YXBvaW50cy1leHBvcnQtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUN2SSxPQUFPLEVBRUwsNkNBQTZDLEVBQzlDLE1BQU0sb0NBQW9DLENBQUM7Ozs7OztBQVE1QyxNQUFNLE9BQU8saUNBQWlDO0lBTzVDLFlBQ1UsY0FBOEIsRUFDOUIsZ0JBQWtDO1FBRGxDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBTmxDLFdBQU0sR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUU3RCxzQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQztJQUsvQyxDQUFDO0lBRUosS0FBSyxDQUFDLGVBQWU7UUFDbkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FDaEMsNkNBQTZDLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFDcEU7WUFDRSxNQUFNLEVBQUUsNkNBQTZDLENBQUMsT0FBTyxDQUFDLFVBQVU7WUFDeEUsU0FBUyxFQUNQLDZDQUE2QyxDQUFDLFVBQVUsQ0FBQywwQkFBMEI7U0FDdEYsQ0FDRixDQUFDO1FBRUYsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN2QyxNQUFNLFlBQVksR0FBaUU7WUFDakYsWUFBWTtTQUNiLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsRUFBRTtZQUNoRixLQUFLLEVBQUUsVUFBVTtZQUNqQixlQUFlLEVBQUUsWUFBWTtZQUM3QixjQUFjLEVBQUUsYUFBYTtZQUM3QixZQUFZO1lBQ1osbUJBQW1CLEVBQUUsSUFBSTtTQUMxQixDQUFDLENBQUMsT0FBaUQsQ0FBQztRQUNyRCxtREFBbUQ7UUFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsQ0FBQzsrR0FyQ1UsaUNBQWlDO21HQUFqQyxpQ0FBaUMscU1DaEI5Qyw2OUJBb0NBLDJDRHRCWSxZQUFZLDJYQUFFLGFBQWE7OzRGQUUxQixpQ0FBaUM7a0JBTjdDLFNBQVM7K0JBQ0UsZ0NBQWdDLGNBRTlCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7a0hBRzdCLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBHYWluc2lnaHRTZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBCc01vZGFsU2VydmljZSB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvdG9vbHRpcCc7XG5pbXBvcnQgeyBEYXRhcG9pbnRzRXhwb3J0U2VsZWN0b3JNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vZGF0YXBvaW50cy1leHBvcnQtc2VsZWN0b3ItbW9kYWwvZGF0YXBvaW50cy1leHBvcnQtc2VsZWN0b3ItbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEV4cG9ydENvbmZpZyxcbiAgUFJPRFVDVF9FWFBFUklFTkNFX0RBVEFQT0lOVFNfRVhQT1JUX1NFTEVDVE9SXG59IGZyb20gJy4vZGF0YXBvaW50cy1leHBvcnQtc2VsZWN0b3IubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktZGF0YXBvaW50cy1leHBvcnQtc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YXBvaW50cy1leHBvcnQtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUb29sdGlwTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRhcG9pbnRzRXhwb3J0U2VsZWN0b3JDb21wb25lbnQge1xuICBASW5wdXQoKSBjb250YWluZXJDbGFzczogc3RyaW5nO1xuICBASW5wdXQoKSBleHBvcnRDb25maWc6IEV4cG9ydENvbmZpZztcbiAgQE91dHB1dCgpIGlzT3BlbjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHJlYWRvbmx5IERFRkFVTFRfQ1NTX1NUWUxFID0gJ2QtZmxleCBwLXQtNCBwLWItNCc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBic01vZGFsU2VydmljZTogQnNNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBnYWluc2lnaHRTZXJ2aWNlOiBHYWluc2lnaHRTZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBvcGVuRXhwb3J0TW9kYWwoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLnRyaWdnZXJFdmVudChcbiAgICAgIFBST0RVQ1RfRVhQRVJJRU5DRV9EQVRBUE9JTlRTX0VYUE9SVF9TRUxFQ1RPUi5FVkVOVFMuRVhQT1JUX1NFTEVDVE9SLFxuICAgICAge1xuICAgICAgICBhY3Rpb246IFBST0RVQ1RfRVhQRVJJRU5DRV9EQVRBUE9JTlRTX0VYUE9SVF9TRUxFQ1RPUi5BQ1RJT05TLk9QRU5fTU9EQUwsXG4gICAgICAgIGNvbXBvbmVudDpcbiAgICAgICAgICBQUk9EVUNUX0VYUEVSSUVOQ0VfREFUQVBPSU5UU19FWFBPUlRfU0VMRUNUT1IuQ09NUE9ORU5UUy5EQVRBUE9JTlRTX0VYUE9SVF9TRUxFQ1RPUlxuICAgICAgfVxuICAgICk7XG5cbiAgICBjb25zdCBleHBvcnRDb25maWcgPSB0aGlzLmV4cG9ydENvbmZpZztcbiAgICBjb25zdCBpbml0aWFsU3RhdGU6IFBpY2s8RGF0YXBvaW50c0V4cG9ydFNlbGVjdG9yTW9kYWxDb21wb25lbnQsICdleHBvcnRDb25maWcnPiA9IHtcbiAgICAgIGV4cG9ydENvbmZpZ1xuICAgIH07XG5cbiAgICB0aGlzLmlzT3Blbi5lbWl0KHRydWUpO1xuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5ic01vZGFsU2VydmljZS5zaG93KERhdGFwb2ludHNFeHBvcnRTZWxlY3Rvck1vZGFsQ29tcG9uZW50LCB7XG4gICAgICBjbGFzczogJ21vZGFsLWxnJyxcbiAgICAgIGFyaWFEZXNjcmliZWRieTogJ21vZGFsLWJvZHknLFxuICAgICAgYXJpYUxhYmVsbGVkQnk6ICdtb2RhbC10aXRsZScsXG4gICAgICBpbml0aWFsU3RhdGUsXG4gICAgICBpZ25vcmVCYWNrZHJvcENsaWNrOiB0cnVlXG4gICAgfSkuY29udGVudCBhcyBEYXRhcG9pbnRzRXhwb3J0U2VsZWN0b3JNb2RhbENvbXBvbmVudDtcbiAgICAvLyBSZXN1bHQgd2lsbCBiZSAnZmFsc2UnIG9uIG1vZGFsIGNsb3NlIG9yIGRpc21pc3NcbiAgICB0aGlzLmlzT3Blbi5lbWl0KGF3YWl0IG1vZGFsUmVmLnJlc3VsdCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjb250YWluZXJDbGFzcyAhPT0gJ2QtY29udGVudHMnOyBlbHNlIGFjdGlvbkJhckJ0blwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJpbnB1dC1ncm91cC1idG5cIlxuICAgIFtuZ0NsYXNzXT1cImNvbnRhaW5lckNsYXNzIHx8IERFRkFVTFRfQ1NTX1NUWUxFXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0dlbmVyYXRlIGV4cG9ydCcgfCB0cmFuc2xhdGVcIlxuICAgICAgdG9vbHRpcD1cInt7ICdHZW5lcmF0ZSBleHBvcnQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIGNvbnRhaW5lcj1cImJvZHlcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBkYXRhLWN5PVwiZGF0YXBvaW50cy1leHBvcnQtc2VsZWN0b3ItLW9wZW4tZXhwb3J0LWJ1dHRvblwiXG4gICAgICAoY2xpY2spPVwib3BlbkV4cG9ydE1vZGFsKClcIlxuICAgICAgW2FkYXB0aXZlUG9zaXRpb25dPVwiZmFsc2VcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFleHBvcnRDb25maWdcIlxuICAgICAgW2RlbGF5XT1cIjUwMFwiXG4gICAgPlxuICAgICAgPGlcbiAgICAgICAgY2xhc3M9XCJpY29uLTE0XCJcbiAgICAgICAgYzh5SWNvbj1cImRhdGEtZXhwb3J0XCJcbiAgICAgID48L2k+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjYWN0aW9uQmFyQnRuPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJidG4gYnRuLWxpbmtcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJvcGVuRXhwb3J0TW9kYWwoKVwiXG4gICAgW2Rpc2FibGVkXT1cIiFleHBvcnRDb25maWdcIlxuICA+XG4gICAgPGkgYzh5SWNvbj1cImRhdGEtZXhwb3J0XCI+PC9pPlxuICAgIHt7ICdHZW5lcmF0ZSBleHBvcnQnIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==