UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

1 lines 9.98 kB
{"version":3,"file":"c8y-ngx-components-widgets-implementations-device-management-welcome.mjs","sources":["../../widgets/implementations/device-management-welcome/welcome.component.ts","../../widgets/implementations/device-management-welcome/welcome.component.html","../../widgets/implementations/device-management-welcome/device-management-welcome-widget.module.ts","../../widgets/implementations/device-management-welcome/c8y-ngx-components-widgets-implementations-device-management-welcome.ts"],"sourcesContent":["import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { DocLink, NavigatorNode, NavigatorService, gettext } from '@c8y/ngx-components';\nimport { Subscription } from 'rxjs';\ntype QuickLink = Pick<DocLink, 'label' | 'click' | 'icon'>;\n\n@Component({\n selector: 'c8y-welcome-to-devicemanagement',\n templateUrl: './welcome.component.html'\n})\nexport class WelcomeToDeviceManagementComponent implements OnInit, OnDestroy {\n quickLinks: QuickLink[] = [];\n isLoading = true;\n\n private navNodes: NavigatorNode[];\n private navSubscription: Subscription;\n\n constructor(\n private router: Router,\n private navigator: NavigatorService\n ) {}\n\n async ngOnInit() {\n this.navSubscription = this.navigator.items$.subscribe(nodes => {\n this.navNodes = nodes;\n this.createAllDevicesQuickLink();\n this.createQuicklinkRegisterDevice();\n this.createQuicklinkAddGroup();\n this.createAddDeviceProfileQuickLink();\n this.createAddSoftwareQuickLink();\n this.createAddFirmwareQuickLink();\n this.isLoading = false;\n });\n }\n\n ngOnDestroy() {\n if (this.navSubscription && !this.navSubscription.closed) {\n this.navSubscription.unsubscribe();\n }\n }\n\n private createAllDevicesQuickLink() {\n this.createQuickLinkToNavNode(['Devices', 'All devices']);\n }\n\n private createQuicklinkRegisterDevice() {\n this.createQuickLinkToNavNode(['Devices', 'Registration'], {\n label: gettext('Register device')\n });\n }\n\n private createQuicklinkAddGroup() {\n this.createQuickLinkToNavNode(['Groups'], {\n label: gettext('Add group'),\n icon: 'c8y-group-add',\n click: async () =>\n await this.router.navigate(['group'], { queryParams: { showAddGroup: true } })\n });\n }\n\n private createAddDeviceProfileQuickLink() {\n this.createQuickLinkToNavNode(['Management', 'Device profiles'], {\n label: gettext('Add device profile')\n });\n }\n\n private createAddSoftwareQuickLink() {\n this.createQuickLinkToNavNode(['Management', 'Software repository'], {\n label: gettext('Add software')\n });\n }\n\n private createAddFirmwareQuickLink() {\n this.createQuickLinkToNavNode(['Management', 'Firmware repository'], {\n label: gettext('Add firmware')\n });\n }\n\n private createQuickLinkToNavNode(\n navNodePathLabels: string[],\n quickLinkOverrides: Partial<DocLink> = {}\n ) {\n const navNode = this.findVisibleNavNode(navNodePathLabels);\n\n if (!navNode) {\n return;\n }\n\n const quickLink = {\n icon: navNode.icon,\n label: navNode.label,\n click: async () => {\n await this.router.navigateByUrl(navNode.path);\n },\n ...quickLinkOverrides\n };\n this.quickLinks.push(quickLink);\n }\n\n private findVisibleNavNode(\n navNodePathLabels: string[],\n navNodes: NavigatorNode[] = this.navNodes\n ): NavigatorNode {\n const currentLabel = navNodePathLabels.shift();\n const navNode = navNodes.find(navNode => !navNode.hidden && navNode.label === currentLabel);\n if (navNode && navNodePathLabels.length > 0) {\n return this.findVisibleNavNode(navNodePathLabels, navNode.children);\n }\n return navNode;\n }\n}\n","<div class=\"welcome-widget\" tabindex=\"0\">\n <div class=\"p-16 text-center\" *ngIf=\"isLoading\">\n <c8y-loading></c8y-loading>\n </div>\n <div class=\"d-flex fit-h\" *ngIf=\"!isLoading\">\n <div class=\"col-xs-12 a-s-stretch col-md-12\">\n <div class=\"card-group interact-grid fit-h\">\n <div *ngFor=\"let link of quickLinks\" class=\"col-xs-4 no-gutter\">\n <button\n class=\"btn-clean card text-pre-normal\"\n [ngClass]=\"{ 'm-b-0': true }\"\n type=\"button\"\n [title]=\"link.label | translate\"\n (click)=\"link.click ? link.click() : false\"\n c8yProductExperience\n [actionName]=\"'welcomeWidgetClicked'\"\n [actionData]=\"{ link: link.label }\"\n data-cy=\"devicemanagement-welcome--quick-link\"\n >\n <c8y-quick-link [icon]=\"link.icon\" [label]=\"link.label\"></c8y-quick-link>\n </button>\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { CoreModule, QuickLinkModule } from '@c8y/ngx-components';\nimport { WelcomeToDeviceManagementComponent } from './welcome.component';\n\n@NgModule({\n imports: [CoreModule, QuickLinkModule, RouterModule],\n declarations: [WelcomeToDeviceManagementComponent]\n})\nexport class DeviceManagementWelcomeWidgetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}