@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
68 lines • 13.8 kB
JavaScript
import { Component } from '@angular/core';
import { DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER, DATA_GRID_CONFIGURATION_STRATEGY, UserPreferencesConfigurationStrategy } from '@c8y/ngx-components';
import { DeviceGridService } from '@c8y/ngx-components/device-grid';
import { BsModalService } from 'ngx-bootstrap/modal';
import { AddSmartGroupComponent } from './add-smart-group.component';
import { DeviceListExtensionService } from './device-list-extension.service';
import * as i0 from "@angular/core";
import * as i1 from "@c8y/ngx-components/device-grid";
import * as i2 from "ngx-bootstrap/modal";
import * as i3 from "./device-list-extension.service";
import * as i4 from "@c8y/ngx-components";
import * as i5 from "@angular/common";
export class DeviceListComponent {
constructor(deviceGridService, bsModalService, deviceListExtensionService) {
this.deviceGridService = deviceGridService;
this.bsModalService = bsModalService;
this.GRID_CONFIG_KEY = 'device-grid-all';
this.count$ = this.deviceGridService.getTotal({});
this.columns$ = deviceListExtensionService.items$;
}
getGridConfigContext() {
return {
key: this.GRID_CONFIG_KEY,
defaultColumns: this.deviceGridService.getDefaultColumns(),
legacyConfigKey: 'all-devices-columns-meta_',
legacyFilterKey: 'all-devices-columns-config'
};
}
async createSmartGroup() {
const initialState = {
configKey: this.GRID_CONFIG_KEY,
deviceQuery: this.deviceQueryStringOutput
};
this.bsModalService.show(AddSmartGroupComponent, {
class: 'modal-sm',
ariaDescribedby: 'modal-body',
ariaLabelledBy: 'modal-title',
ignoreBackdropClick: true,
keyboard: false,
initialState
});
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceListComponent, deps: [{ token: i1.DeviceGridService }, { token: i2.BsModalService }, { token: i3.DeviceListExtensionService }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DeviceListComponent, selector: "c8y-device-list", providers: [
{
provide: DATA_GRID_CONFIGURATION_STRATEGY,
useClass: UserPreferencesConfigurationStrategy
},
{
provide: DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER,
useExisting: DeviceListComponent
}
], ngImport: i0, template: "<c8y-title>\n {{ 'All devices' | translate }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'exchange'\"\n [label]=\"'Devices' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-device-management'\"\n [label]=\"'All devices' | translate\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Add smart group' | translate }}\"\n (click)=\"createSmartGroup()\"\n >\n <i c8yIcon=\"c8y-group-smart\"></i>\n {{ 'Add smart group' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help\n src=\"/docs/device-management-application/viewing-all-devices/#viewing-all-devices\"\n></c8y-help>\n\n<div class=\"content-fullpage border-top border-bottom\">\n <c8y-device-grid\n [columns]=\"columns$ | async\"\n [infiniteScroll]=\"(count$ | async) === undefined ? 'auto' : undefined\"\n (onDeviceQueryStringChange)=\"deviceQueryStringOutput = $event\"\n c8yProductExperience\n [actionName]=\"'allDevices'\"\n ></c8y-device-grid>\n</div>\n", dependencies: [{ kind: "component", type: i4.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "component", type: i4.BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: i4.BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "directive", type: i4.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: i4.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "directive", type: i4.ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit", "suppressDataOverriding"] }, { kind: "component", type: i4.HelpComponent, selector: "c8y-help", inputs: ["src", "isCollapsed", "priority", "icon"] }, { kind: "component", type: i1.DeviceGridComponent, selector: "c8y-device-grid", inputs: ["dataCallback", "refresh", "title", "loadMoreItemsLabel", "loadingItemsLabel", "legacyConfigKey", "legacyFilterKey", "columns", "pagination", "infiniteScroll", "actionControls", "selectable", "singleSelection", "baseQuery", "bulkActionControls", "headerActionControls", "childDeviceGrid", "parentDeviceId", "withChildren", "showSearch", "activeClassName"], outputs: ["onColumnsChange", "onFilterChange", "onDeviceQueryStringChange", "itemsSelect"] }, { kind: "pipe", type: i4.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceListComponent, decorators: [{
type: Component,
args: [{ selector: 'c8y-device-list', providers: [
{
provide: DATA_GRID_CONFIGURATION_STRATEGY,
useClass: UserPreferencesConfigurationStrategy
},
{
provide: DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER,
useExisting: DeviceListComponent
}
], template: "<c8y-title>\n {{ 'All devices' | translate }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'exchange'\"\n [label]=\"'Devices' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-device-management'\"\n [label]=\"'All devices' | translate\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Add smart group' | translate }}\"\n (click)=\"createSmartGroup()\"\n >\n <i c8yIcon=\"c8y-group-smart\"></i>\n {{ 'Add smart group' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help\n src=\"/docs/device-management-application/viewing-all-devices/#viewing-all-devices\"\n></c8y-help>\n\n<div class=\"content-fullpage border-top border-bottom\">\n <c8y-device-grid\n [columns]=\"columns$ | async\"\n [infiniteScroll]=\"(count$ | async) === undefined ? 'auto' : undefined\"\n (onDeviceQueryStringChange)=\"deviceQueryStringOutput = $event\"\n c8yProductExperience\n [actionName]=\"'allDevices'\"\n ></c8y-device-grid>\n</div>\n" }]
}], ctorParameters: () => [{ type: i1.DeviceGridService }, { type: i2.BsModalService }, { type: i3.DeviceListExtensionService }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZGV2aWNlLWxpc3QvZGV2aWNlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZGV2aWNlLWxpc3QvZGV2aWNlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBRUwsd0NBQXdDLEVBQ3hDLGdDQUFnQyxFQUVoQyxvQ0FBb0MsRUFFckMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFckQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7QUFnQjdFLE1BQU0sT0FBTyxtQkFBbUI7SUFROUIsWUFDWSxpQkFBb0MsRUFDdEMsY0FBOEIsRUFDdEMsMEJBQXNEO1FBRjVDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDdEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBVC9CLG9CQUFlLEdBQUcsaUJBQWlCLENBQUM7UUFFN0MsV0FBTSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFVM0MsSUFBSSxDQUFDLFFBQVEsR0FBRywwQkFBMEIsQ0FBQyxNQUFNLENBQUM7SUFDcEQsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixPQUFPO1lBQ0wsR0FBRyxFQUFFLElBQUksQ0FBQyxlQUFlO1lBQ3pCLGNBQWMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUU7WUFDMUQsZUFBZSxFQUFFLDJCQUEyQjtZQUM1QyxlQUFlLEVBQUUsNEJBQTRCO1NBQzlDLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQjtRQUNwQixNQUFNLFlBQVksR0FBRztZQUNuQixTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDL0IsV0FBVyxFQUFFLElBQUksQ0FBQyx1QkFBdUI7U0FDMUMsQ0FBQztRQUVGLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQy9DLEtBQUssRUFBRSxVQUFVO1lBQ2pCLGVBQWUsRUFBRSxZQUFZO1lBQzdCLGNBQWMsRUFBRSxhQUFhO1lBQzdCLG1CQUFtQixFQUFFLElBQUk7WUFDekIsUUFBUSxFQUFFLEtBQUs7WUFDZixZQUFZO1NBQ2IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F2Q1UsbUJBQW1CO21HQUFuQixtQkFBbUIsMENBWG5CO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGdDQUFnQztnQkFDekMsUUFBUSxFQUFFLG9DQUFvQzthQUMvQztZQUNEO2dCQUNFLE9BQU8sRUFBRSx3Q0FBd0M7Z0JBQ2pELFdBQVcsRUFBRSxtQkFBbUI7YUFDakM7U0FDRiwwQkMzQkgscW1DQXVDQTs7NEZEVmEsbUJBQW1CO2tCQWQvQixTQUFTOytCQUNFLGlCQUFpQixhQUVoQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsZ0NBQWdDOzRCQUN6QyxRQUFRLEVBQUUsb0NBQW9DO3lCQUMvQzt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsd0NBQXdDOzRCQUNqRCxXQUFXLHFCQUFxQjt5QkFDakM7cUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbHVtbixcbiAgREFUQV9HUklEX0NPTkZJR1VSQVRJT05fQ09OVEVYVF9QUk9WSURFUixcbiAgREFUQV9HUklEX0NPTkZJR1VSQVRJT05fU1RSQVRFR1ksXG4gIEdyaWRDb25maWdDb250ZXh0UHJvdmlkZXIsXG4gIFVzZXJQcmVmZXJlbmNlc0NvbmZpZ3VyYXRpb25TdHJhdGVneSxcbiAgVXNlclByZWZlcmVuY2VzR3JpZENvbmZpZ0NvbnRleHRcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBEZXZpY2VHcmlkU2VydmljZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvZGV2aWNlLWdyaWQnO1xuaW1wb3J0IHsgQnNNb2RhbFNlcnZpY2UgfSBmcm9tICduZ3gtYm9vdHN0cmFwL21vZGFsJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFkZFNtYXJ0R3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2FkZC1zbWFydC1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGV2aWNlTGlzdEV4dGVuc2lvblNlcnZpY2UgfSBmcm9tICcuL2RldmljZS1saXN0LWV4dGVuc2lvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWRldmljZS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RldmljZS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogREFUQV9HUklEX0NPTkZJR1VSQVRJT05fU1RSQVRFR1ksXG4gICAgICB1c2VDbGFzczogVXNlclByZWZlcmVuY2VzQ29uZmlndXJhdGlvblN0cmF0ZWd5XG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBEQVRBX0dSSURfQ09ORklHVVJBVElPTl9DT05URVhUX1BST1ZJREVSLFxuICAgICAgdXNlRXhpc3Rpbmc6IERldmljZUxpc3RDb21wb25lbnRcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGV2aWNlTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIEdyaWRDb25maWdDb250ZXh0UHJvdmlkZXIge1xuICByZWFkb25seSBHUklEX0NPTkZJR19LRVkgPSAnZGV2aWNlLWdyaWQtYWxsJztcblxuICBjb3VudCQgPSB0aGlzLmRldmljZUdyaWRTZXJ2aWNlLmdldFRvdGFsKHt9KTtcblxuICBjb2x1bW5zJDogT2JzZXJ2YWJsZTxDb2x1bW5bXT47XG4gIGRldmljZVF1ZXJ5U3RyaW5nT3V0cHV0OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGRldmljZUdyaWRTZXJ2aWNlOiBEZXZpY2VHcmlkU2VydmljZSxcbiAgICBwcml2YXRlIGJzTW9kYWxTZXJ2aWNlOiBCc01vZGFsU2VydmljZSxcbiAgICBkZXZpY2VMaXN0RXh0ZW5zaW9uU2VydmljZTogRGV2aWNlTGlzdEV4dGVuc2lvblNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5jb2x1bW5zJCA9IGRldmljZUxpc3RFeHRlbnNpb25TZXJ2aWNlLml0ZW1zJDtcbiAgfVxuXG4gIGdldEdyaWRDb25maWdDb250ZXh0KCk6IFVzZXJQcmVmZXJlbmNlc0dyaWRDb25maWdDb250ZXh0IHtcbiAgICByZXR1cm4ge1xuICAgICAga2V5OiB0aGlzLkdSSURfQ09ORklHX0tFWSxcbiAgICAgIGRlZmF1bHRDb2x1bW5zOiB0aGlzLmRldmljZUdyaWRTZXJ2aWNlLmdldERlZmF1bHRDb2x1bW5zKCksXG4gICAgICBsZWdhY3lDb25maWdLZXk6ICdhbGwtZGV2aWNlcy1jb2x1bW5zLW1ldGFfJyxcbiAgICAgIGxlZ2FjeUZpbHRlcktleTogJ2FsbC1kZXZpY2VzLWNvbHVtbnMtY29uZmlnJ1xuICAgIH07XG4gIH1cblxuICBhc3luYyBjcmVhdGVTbWFydEdyb3VwKCkge1xuICAgIGNvbnN0IGluaXRpYWxTdGF0ZSA9IHtcbiAgICAgIGNvbmZpZ0tleTogdGhpcy5HUklEX0NPTkZJR19LRVksXG4gICAgICBkZXZpY2VRdWVyeTogdGhpcy5kZXZpY2VRdWVyeVN0cmluZ091dHB1dFxuICAgIH07XG5cbiAgICB0aGlzLmJzTW9kYWxTZXJ2aWNlLnNob3coQWRkU21hcnRHcm91cENvbXBvbmVudCwge1xuICAgICAgY2xhc3M6ICdtb2RhbC1zbScsXG4gICAgICBhcmlhRGVzY3JpYmVkYnk6ICdtb2RhbC1ib2R5JyxcbiAgICAgIGFyaWFMYWJlbGxlZEJ5OiAnbW9kYWwtdGl0bGUnLFxuICAgICAgaWdub3JlQmFja2Ryb3BDbGljazogdHJ1ZSxcbiAgICAgIGtleWJvYXJkOiBmYWxzZSxcbiAgICAgIGluaXRpYWxTdGF0ZVxuICAgIH0pO1xuICB9XG59XG4iLCI8Yzh5LXRpdGxlPlxuICB7eyAnQWxsIGRldmljZXMnIHwgdHJhbnNsYXRlIH19XG48L2M4eS10aXRsZT5cblxuPGM4eS1icmVhZGNydW1iPlxuICA8Yzh5LWJyZWFkY3J1bWItaXRlbVxuICAgIFtpY29uXT1cIidleGNoYW5nZSdcIlxuICAgIFtsYWJlbF09XCInRGV2aWNlcycgfCB0cmFuc2xhdGVcIlxuICA+PC9jOHktYnJlYWRjcnVtYi1pdGVtPlxuICA8Yzh5LWJyZWFkY3J1bWItaXRlbVxuICAgIFtpY29uXT1cIidjOHktZGV2aWNlLW1hbmFnZW1lbnQnXCJcbiAgICBbbGFiZWxdPVwiJ0FsbCBkZXZpY2VzJyB8IHRyYW5zbGF0ZVwiXG4gID48L2M4eS1icmVhZGNydW1iLWl0ZW0+XG48L2M4eS1icmVhZGNydW1iPlxuXG48Yzh5LWFjdGlvbi1iYXItaXRlbSBbcGxhY2VtZW50XT1cIidyaWdodCdcIj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCJcbiAgICB0aXRsZT1cInt7ICdBZGQgc21hcnQgZ3JvdXAnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAoY2xpY2spPVwiY3JlYXRlU21hcnRHcm91cCgpXCJcbiAgPlxuICAgIDxpIGM4eUljb249XCJjOHktZ3JvdXAtc21hcnRcIj48L2k+XG4gICAge3sgJ0FkZCBzbWFydCBncm91cCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG48L2M4eS1hY3Rpb24tYmFyLWl0ZW0+XG5cbjxjOHktaGVscFxuICBzcmM9XCIvZG9jcy9kZXZpY2UtbWFuYWdlbWVudC1hcHBsaWNhdGlvbi92aWV3aW5nLWFsbC1kZXZpY2VzLyN2aWV3aW5nLWFsbC1kZXZpY2VzXCJcbj48L2M4eS1oZWxwPlxuXG48ZGl2IGNsYXNzPVwiY29udGVudC1mdWxscGFnZSBib3JkZXItdG9wIGJvcmRlci1ib3R0b21cIj5cbiAgPGM4eS1kZXZpY2UtZ3JpZFxuICAgIFtjb2x1bW5zXT1cImNvbHVtbnMkIHwgYXN5bmNcIlxuICAgIFtpbmZpbml0ZVNjcm9sbF09XCIoY291bnQkIHwgYXN5bmMpID09PSB1bmRlZmluZWQgPyAnYXV0bycgOiB1bmRlZmluZWRcIlxuICAgIChvbkRldmljZVF1ZXJ5U3RyaW5nQ2hhbmdlKT1cImRldmljZVF1ZXJ5U3RyaW5nT3V0cHV0ID0gJGV2ZW50XCJcbiAgICBjOHlQcm9kdWN0RXhwZXJpZW5jZVxuICAgIFthY3Rpb25OYW1lXT1cIidhbGxEZXZpY2VzJ1wiXG4gID48L2M4eS1kZXZpY2UtZ3JpZD5cbjwvZGl2PlxuIl19