@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
36 lines • 10.8 kB
JavaScript
import { Component, ContentChildren, ElementRef, Input, QueryList, ViewChild } from '@angular/core';
import { PreviewBlockDirective } from './preview-block.directive';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "@c8y/ngx-components";
export class PreviewSelectionFrameComponent {
constructor() {
this.showType = false;
}
set _type(type) {
this.type = type;
this.showType = true;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PreviewSelectionFrameComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PreviewSelectionFrameComponent, selector: "c8y-preview-selection-frame", inputs: { header: "header", name: "name", description: "description", _type: ["type", "_type"] }, queries: [{ propertyName: "previewBlocks", predicate: PreviewBlockDirective }], viewQueries: [{ propertyName: "listRef", first: true, predicate: ["list"], descendants: true }], ngImport: i0, template: "<div class=\"card-block p-t-0 flex-no-shrink separator-bottom col-xs-12\">\n <div class=\"d-flex p-b-8 p-t-4 j-c-center\">\n <div>\n <h4 class=\"text-center text-normal\">{{ header | translate }}</h4>\n <p *ngIf=\"name || description\" class=\"text-center p-t-16 p-b-8 text-truncate\">\n <strong *ngIf=\"name\" [title]=\"name\">{{ name }}</strong\n ><br />\n <small *ngIf=\"description\" [title]=\"description\">{{ description }}</small>\n </p>\n <p class=\"text-center\" *ngIf=\"showType\">\n <span class=\"label label-primary\" *ngIf=\"type; else noType\">\n {{ type }}\n </span>\n <ng-template #noType>\n <span class=\"label label-default\">\n {{ 'Undefined' | translate }}\n </span>\n </ng-template>\n </p>\n </div>\n </div>\n</div>\n<div *ngIf=\"previewBlocks?.length\" class=\"col-xs-12 flex-grow no-gutter\">\n <div class=\"card-inner-scroll fit-h\">\n <div class=\"card-block\">\n <ng-container *ngFor=\"let block of previewBlocks\">\n <div *ngIf=\"block.show\" class=\"d-flex p-b-8 j-c-center\">\n <div class=\"col-xs-12 col-sm-6\">\n <div class=\"text-truncate\" [title]=\"block.label | translate\">\n <span class=\"legend form-block\">{{ block.label | translate }}</span>\n <ng-container *ngTemplateOutlet=\"block.templateRef\"></ng-container>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n<div [style.display]=\"listRef?.nativeElement?.children?.length ? 'contents' : 'none'\">\n <div class=\"col-xs-12 flex-grow no-gutter\">\n <div class=\"card-inner-scroll fit-h\">\n <div #list class=\"card-block p-t-0 p-b-0\">\n <ng-content select=\"[list]\"> </ng-content>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PreviewSelectionFrameComponent, decorators: [{
type: Component,
args: [{ selector: 'c8y-preview-selection-frame', template: "<div class=\"card-block p-t-0 flex-no-shrink separator-bottom col-xs-12\">\n <div class=\"d-flex p-b-8 p-t-4 j-c-center\">\n <div>\n <h4 class=\"text-center text-normal\">{{ header | translate }}</h4>\n <p *ngIf=\"name || description\" class=\"text-center p-t-16 p-b-8 text-truncate\">\n <strong *ngIf=\"name\" [title]=\"name\">{{ name }}</strong\n ><br />\n <small *ngIf=\"description\" [title]=\"description\">{{ description }}</small>\n </p>\n <p class=\"text-center\" *ngIf=\"showType\">\n <span class=\"label label-primary\" *ngIf=\"type; else noType\">\n {{ type }}\n </span>\n <ng-template #noType>\n <span class=\"label label-default\">\n {{ 'Undefined' | translate }}\n </span>\n </ng-template>\n </p>\n </div>\n </div>\n</div>\n<div *ngIf=\"previewBlocks?.length\" class=\"col-xs-12 flex-grow no-gutter\">\n <div class=\"card-inner-scroll fit-h\">\n <div class=\"card-block\">\n <ng-container *ngFor=\"let block of previewBlocks\">\n <div *ngIf=\"block.show\" class=\"d-flex p-b-8 j-c-center\">\n <div class=\"col-xs-12 col-sm-6\">\n <div class=\"text-truncate\" [title]=\"block.label | translate\">\n <span class=\"legend form-block\">{{ block.label | translate }}</span>\n <ng-container *ngTemplateOutlet=\"block.templateRef\"></ng-container>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n<div [style.display]=\"listRef?.nativeElement?.children?.length ? 'contents' : 'none'\">\n <div class=\"col-xs-12 flex-grow no-gutter\">\n <div class=\"card-inner-scroll fit-h\">\n <div #list class=\"card-block p-t-0 p-b-0\">\n <ng-content select=\"[list]\"> </ng-content>\n </div>\n </div>\n </div>\n</div>\n" }]
}], propDecorators: { header: [{
type: Input
}], name: [{
type: Input
}], description: [{
type: Input
}], _type: [{
type: Input,
args: ['type']
}], listRef: [{
type: ViewChild,
args: ['list']
}], previewBlocks: [{
type: ContentChildren,
args: [PreviewBlockDirective]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy1zZWxlY3Rpb24tZnJhbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vb3BlcmF0aW9ucy9zdGVwcGVyLWZyYW1lcy9wcmV2aWV3LXNlbGVjdGlvbi1mcmFtZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9vcGVyYXRpb25zL3N0ZXBwZXItZnJhbWVzL3ByZXZpZXctc2VsZWN0aW9uLWZyYW1lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQU1sRSxNQUFNLE9BQU8sOEJBQThCO0lBSjNDO1FBMkJFLGFBQVEsR0FBRyxLQUFLLENBQUM7S0FDbEI7SUFkQyxJQUNJLEtBQUssQ0FBQyxJQUFZO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7K0dBZFUsOEJBQThCO21HQUE5Qiw4QkFBOEIsbU1BbUJ4QixxQkFBcUIsOEhDMUJ4Qyx5MURBK0NBOzs0RkR4Q2EsOEJBQThCO2tCQUoxQyxTQUFTOytCQUNFLDZCQUE2Qjs4QkFLdkMsTUFBTTtzQkFETCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSUYsS0FBSztzQkFEUixLQUFLO3VCQUFDLE1BQU07Z0JBT2IsT0FBTztzQkFETixTQUFTO3VCQUFDLE1BQU07Z0JBSWpCLGFBQWE7c0JBRFosZUFBZTt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgSW5wdXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcmV2aWV3QmxvY2tEaXJlY3RpdmUgfSBmcm9tICcuL3ByZXZpZXctYmxvY2suZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LXByZXZpZXctc2VsZWN0aW9uLWZyYW1lJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ByZXZpZXctc2VsZWN0aW9uLWZyYW1lLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQcmV2aWV3U2VsZWN0aW9uRnJhbWVDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBoZWFkZXI6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBuYW1lOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgZGVzY3JpcHRpb246IHN0cmluZztcblxuICBASW5wdXQoJ3R5cGUnKVxuICBzZXQgX3R5cGUodHlwZTogc3RyaW5nKSB7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLnNob3dUeXBlID0gdHJ1ZTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2xpc3QnKVxuICBsaXN0UmVmOiBFbGVtZW50UmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihQcmV2aWV3QmxvY2tEaXJlY3RpdmUpXG4gIHByZXZpZXdCbG9ja3M6IFF1ZXJ5TGlzdDxQcmV2aWV3QmxvY2tEaXJlY3RpdmU+O1xuXG4gIHR5cGU6IHN0cmluZztcbiAgc2hvd1R5cGUgPSBmYWxzZTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrIHAtdC0wIGZsZXgtbm8tc2hyaW5rIHNlcGFyYXRvci1ib3R0b20gY29sLXhzLTEyXCI+XG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggcC1iLTggcC10LTQgai1jLWNlbnRlclwiPlxuICAgIDxkaXY+XG4gICAgICA8aDQgY2xhc3M9XCJ0ZXh0LWNlbnRlciB0ZXh0LW5vcm1hbFwiPnt7IGhlYWRlciB8IHRyYW5zbGF0ZSB9fTwvaDQ+XG4gICAgICA8cCAqbmdJZj1cIm5hbWUgfHwgZGVzY3JpcHRpb25cIiBjbGFzcz1cInRleHQtY2VudGVyIHAtdC0xNiBwLWItOCB0ZXh0LXRydW5jYXRlXCI+XG4gICAgICAgIDxzdHJvbmcgKm5nSWY9XCJuYW1lXCIgW3RpdGxlXT1cIm5hbWVcIj57eyBuYW1lIH19PC9zdHJvbmdcbiAgICAgICAgPjxiciAvPlxuICAgICAgICA8c21hbGwgKm5nSWY9XCJkZXNjcmlwdGlvblwiIFt0aXRsZV09XCJkZXNjcmlwdGlvblwiPnt7IGRlc2NyaXB0aW9uIH19PC9zbWFsbD5cbiAgICAgIDwvcD5cbiAgICAgIDxwIGNsYXNzPVwidGV4dC1jZW50ZXJcIiAqbmdJZj1cInNob3dUeXBlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwgbGFiZWwtcHJpbWFyeVwiICpuZ0lmPVwidHlwZTsgZWxzZSBub1R5cGVcIj5cbiAgICAgICAgICB7eyB0eXBlIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNub1R5cGU+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbCBsYWJlbC1kZWZhdWx0XCI+XG4gICAgICAgICAgICB7eyAnVW5kZWZpbmVkJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCJwcmV2aWV3QmxvY2tzPy5sZW5ndGhcIiBjbGFzcz1cImNvbC14cy0xMiBmbGV4LWdyb3cgbm8tZ3V0dGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJjYXJkLWlubmVyLXNjcm9sbCBmaXQtaFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBibG9jayBvZiBwcmV2aWV3QmxvY2tzXCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJibG9jay5zaG93XCIgY2xhc3M9XCJkLWZsZXggcC1iLTggai1jLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtMTIgY29sLXNtLTZcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXRydW5jYXRlXCIgW3RpdGxlXT1cImJsb2NrLmxhYmVsIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGVnZW5kIGZvcm0tYmxvY2tcIj57eyBibG9jay5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJsb2NrLnRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgW3N0eWxlLmRpc3BsYXldPVwibGlzdFJlZj8ubmF0aXZlRWxlbWVudD8uY2hpbGRyZW4/Lmxlbmd0aCA/ICdjb250ZW50cycgOiAnbm9uZSdcIj5cbiAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBmbGV4LWdyb3cgbm8tZ3V0dGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImNhcmQtaW5uZXItc2Nyb2xsIGZpdC1oXCI+XG4gICAgICA8ZGl2ICNsaXN0IGNsYXNzPVwiY2FyZC1ibG9jayBwLXQtMCBwLWItMFwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbGlzdF1cIj4gPC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=