@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
37 lines • 10.1 kB
JavaScript
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { PackageType, PluginsService } 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/ecosystem/shared";
export class PluginListItemComponent {
constructor(pluginService) {
this.pluginService = pluginService;
this.hideSource = false;
this.isItemSelected = new EventEmitter();
this.packageType = PackageType.UNKNOWN;
this.PACKAGE_TYPE = PackageType;
}
ngOnInit() {
this.packageType = this.pluginService.getPackageType(this.plugin.originApp);
}
onChange(event) {
this.plugin.selected = !this.plugin.selected;
this.isItemSelected.next(event);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PluginListItemComponent, deps: [{ token: i1.PluginsService }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PluginListItemComponent, selector: "c8y-plugin-list-item", inputs: { plugin: "plugin", selectable: "selectable", hideSource: "hideSource" }, outputs: { isItemSelected: "isItemSelected" }, ngImport: i0, template: "<c8y-li-checkbox\n class=\"p-r-16 p-l-0\"\n (change)=\"onChange($event.target.checked)\"\n *ngIf=\"selectable\"\n [disabled]=\"plugin.installed\"\n [selected]=\"plugin.selected\"\n></c8y-li-checkbox>\n<c8y-li-icon class=\"p-l-0 text-center\">\n <i class=\"c8y-plugin-icon\">\n <span>{{ plugin.name?.substr(0, 2) }}</span>\n </i>\n</c8y-li-icon>\n<div class=\"p-relative\">\n <div [ngClass]=\"{ 'p-r-8': selectable }\">\n <p>\n <span class=\"text-medium\">{{ plugin.name }}</span>\n <em class=\"text-muted small m-l-8\">{{ plugin.version }}</em>\n <span *ngIf=\"plugin.installed\">\n <i\n class=\"text-success\"\n [c8yIcon]=\"'check-circle'\"\n ></i>\n <em\n class=\"text-muted small\"\n translate\n >\n Installed`plugins`\n </em>\n </span>\n </p>\n <p class=\"small l-h-tight\">{{ plugin.description }}</p>\n </div>\n\n <span\n class=\"tag tag--info a-s-start m-t-8\"\n *ngIf=\"selectable && !hideSource\"\n >\n {{ plugin.contextPath }}\n </span>\n\n <span\n class=\"tag a-s-start m-t-8 m-l-4\"\n [ngClass]=\"{\n 'tag--default': packageType === PACKAGE_TYPE.COMMUNITY,\n 'tag--primary': packageType === PACKAGE_TYPE.OFFICIAL\n }\"\n >\n {{ plugin.originApp?.label || plugin.originApp?.manifest?.label | translatePackageLabel }}\n </span>\n</div>\n", dependencies: [{ kind: "directive", type: i1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i1.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "component", type: i1.ListItemCheckboxComponent, selector: "c8y-list-item-checkbox, c8y-li-checkbox", inputs: ["selected", "indeterminate", "disabled", "displayAsSwitch"], outputs: ["onSelect"] }, { kind: "pipe", type: i3.TranslatePackageLabelPipe, name: "translatePackageLabel" }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PluginListItemComponent, decorators: [{
type: Component,
args: [{ selector: 'c8y-plugin-list-item', template: "<c8y-li-checkbox\n class=\"p-r-16 p-l-0\"\n (change)=\"onChange($event.target.checked)\"\n *ngIf=\"selectable\"\n [disabled]=\"plugin.installed\"\n [selected]=\"plugin.selected\"\n></c8y-li-checkbox>\n<c8y-li-icon class=\"p-l-0 text-center\">\n <i class=\"c8y-plugin-icon\">\n <span>{{ plugin.name?.substr(0, 2) }}</span>\n </i>\n</c8y-li-icon>\n<div class=\"p-relative\">\n <div [ngClass]=\"{ 'p-r-8': selectable }\">\n <p>\n <span class=\"text-medium\">{{ plugin.name }}</span>\n <em class=\"text-muted small m-l-8\">{{ plugin.version }}</em>\n <span *ngIf=\"plugin.installed\">\n <i\n class=\"text-success\"\n [c8yIcon]=\"'check-circle'\"\n ></i>\n <em\n class=\"text-muted small\"\n translate\n >\n Installed`plugins`\n </em>\n </span>\n </p>\n <p class=\"small l-h-tight\">{{ plugin.description }}</p>\n </div>\n\n <span\n class=\"tag tag--info a-s-start m-t-8\"\n *ngIf=\"selectable && !hideSource\"\n >\n {{ plugin.contextPath }}\n </span>\n\n <span\n class=\"tag a-s-start m-t-8 m-l-4\"\n [ngClass]=\"{\n 'tag--default': packageType === PACKAGE_TYPE.COMMUNITY,\n 'tag--primary': packageType === PACKAGE_TYPE.OFFICIAL\n }\"\n >\n {{ plugin.originApp?.label || plugin.originApp?.manifest?.label | translatePackageLabel }}\n </span>\n</div>\n" }]
}], ctorParameters: () => [{ type: i1.PluginsService }], propDecorators: { plugin: [{
type: Input
}], selectable: [{
type: Input
}], hideSource: [{
type: Input
}], isItemSelected: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWxpc3QtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9lY29zeXN0ZW0vYXBwbGljYXRpb24tcGx1Z2lucy9wbHVnaW4tbGlzdC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2Vjb3N5c3RlbS9hcHBsaWNhdGlvbi1wbHVnaW5zL3BsdWdpbi1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQXFCLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFNckYsTUFBTSxPQUFPLHVCQUF1QjtJQVVsQyxZQUFvQixhQUE2QjtRQUE3QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFQeEMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNsQixtQkFBYyxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXJFLGdCQUFXLEdBQWdCLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFFdEMsaUJBQVksR0FBRyxXQUFXLENBQUM7SUFFZ0IsQ0FBQztJQUVyRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBSztRQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDN0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQzsrR0FuQlUsdUJBQXVCO21HQUF2Qix1QkFBdUIsNkxDUHBDLCszQ0FrREE7OzRGRDNDYSx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0Usc0JBQXNCO21GQUl2QixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblBsdWdpbiwgUGFja2FnZVR5cGUsIFBsdWdpbnNTZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1wbHVnaW4tbGlzdC1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BsdWdpbi1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBsdWdpbkxpc3RJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcGx1Z2luOiBBcHBsaWNhdGlvblBsdWdpbjtcbiAgQElucHV0KCkgc2VsZWN0YWJsZTogYm9vbGVhbjtcbiAgQElucHV0KCkgaGlkZVNvdXJjZSA9IGZhbHNlO1xuICBAT3V0cHV0KCkgaXNJdGVtU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwYWNrYWdlVHlwZTogUGFja2FnZVR5cGUgPSBQYWNrYWdlVHlwZS5VTktOT1dOO1xuXG4gIHJlYWRvbmx5IFBBQ0tBR0VfVFlQRSA9IFBhY2thZ2VUeXBlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGx1Z2luU2VydmljZTogUGx1Z2luc1NlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wYWNrYWdlVHlwZSA9IHRoaXMucGx1Z2luU2VydmljZS5nZXRQYWNrYWdlVHlwZSh0aGlzLnBsdWdpbi5vcmlnaW5BcHApO1xuICB9XG5cbiAgb25DaGFuZ2UoZXZlbnQpIHtcbiAgICB0aGlzLnBsdWdpbi5zZWxlY3RlZCA9ICF0aGlzLnBsdWdpbi5zZWxlY3RlZDtcbiAgICB0aGlzLmlzSXRlbVNlbGVjdGVkLm5leHQoZXZlbnQpO1xuICB9XG59XG4iLCI8Yzh5LWxpLWNoZWNrYm94XG4gIGNsYXNzPVwicC1yLTE2IHAtbC0wXCJcbiAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQudGFyZ2V0LmNoZWNrZWQpXCJcbiAgKm5nSWY9XCJzZWxlY3RhYmxlXCJcbiAgW2Rpc2FibGVkXT1cInBsdWdpbi5pbnN0YWxsZWRcIlxuICBbc2VsZWN0ZWRdPVwicGx1Z2luLnNlbGVjdGVkXCJcbj48L2M4eS1saS1jaGVja2JveD5cbjxjOHktbGktaWNvbiBjbGFzcz1cInAtbC0wIHRleHQtY2VudGVyXCI+XG4gIDxpIGNsYXNzPVwiYzh5LXBsdWdpbi1pY29uXCI+XG4gICAgPHNwYW4+e3sgcGx1Z2luLm5hbWU/LnN1YnN0cigwLCAyKSB9fTwvc3Bhbj5cbiAgPC9pPlxuPC9jOHktbGktaWNvbj5cbjxkaXYgY2xhc3M9XCJwLXJlbGF0aXZlXCI+XG4gIDxkaXYgW25nQ2xhc3NdPVwieyAncC1yLTgnOiBzZWxlY3RhYmxlIH1cIj5cbiAgICA8cD5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1tZWRpdW1cIj57eyBwbHVnaW4ubmFtZSB9fTwvc3Bhbj5cbiAgICAgIDxlbSBjbGFzcz1cInRleHQtbXV0ZWQgc21hbGwgbS1sLThcIj57eyBwbHVnaW4udmVyc2lvbiB9fTwvZW0+XG4gICAgICA8c3BhbiAqbmdJZj1cInBsdWdpbi5pbnN0YWxsZWRcIj5cbiAgICAgICAgPGlcbiAgICAgICAgICBjbGFzcz1cInRleHQtc3VjY2Vzc1wiXG4gICAgICAgICAgW2M4eUljb25dPVwiJ2NoZWNrLWNpcmNsZSdcIlxuICAgICAgICA+PC9pPlxuICAgICAgICA8ZW1cbiAgICAgICAgICBjbGFzcz1cInRleHQtbXV0ZWQgc21hbGxcIlxuICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICA+XG4gICAgICAgICAgSW5zdGFsbGVkYHBsdWdpbnNgXG4gICAgICAgIDwvZW0+XG4gICAgICA8L3NwYW4+XG4gICAgPC9wPlxuICAgIDxwIGNsYXNzPVwic21hbGwgbC1oLXRpZ2h0XCI+e3sgcGx1Z2luLmRlc2NyaXB0aW9uIH19PC9wPlxuICA8L2Rpdj5cblxuICA8c3BhblxuICAgIGNsYXNzPVwidGFnIHRhZy0taW5mbyBhLXMtc3RhcnQgbS10LThcIlxuICAgICpuZ0lmPVwic2VsZWN0YWJsZSAmJiAhaGlkZVNvdXJjZVwiXG4gID5cbiAgICB7eyBwbHVnaW4uY29udGV4dFBhdGggfX1cbiAgPC9zcGFuPlxuXG4gIDxzcGFuXG4gICAgY2xhc3M9XCJ0YWcgYS1zLXN0YXJ0IG0tdC04IG0tbC00XCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAndGFnLS1kZWZhdWx0JzogcGFja2FnZVR5cGUgPT09IFBBQ0tBR0VfVFlQRS5DT01NVU5JVFksXG4gICAgICAndGFnLS1wcmltYXJ5JzogcGFja2FnZVR5cGUgPT09IFBBQ0tBR0VfVFlQRS5PRkZJQ0lBTFxuICAgIH1cIlxuICA+XG4gICAge3sgcGx1Z2luLm9yaWdpbkFwcD8ubGFiZWwgfHwgcGx1Z2luLm9yaWdpbkFwcD8ubWFuaWZlc3Q/LmxhYmVsIHwgdHJhbnNsYXRlUGFja2FnZUxhYmVsIH19XG4gIDwvc3Bhbj5cbjwvZGl2PlxuIl19