UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

1 lines 9.54 kB
{"version":3,"file":"c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs","sources":["../../protocol-lwm2m/components/post-registration-operations/lwm2m-post-operations.component.ts","../../protocol-lwm2m/components/post-registration-operations/lwm2m-post-operations.component.html","../../protocol-lwm2m/components/post-registration-operations/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.ts"],"sourcesContent":["import { Component, OnInit, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { gettext } from '@c8y/ngx-components';\nimport { LWM2MPostOperationsParametersService } from '@c8y/ngx-components/protocol-lwm2m/services';\nimport { AlertService, CoreModule, CommonModule } from '@c8y/ngx-components';\nimport { LWM2MPostOperationsParameters } from '@c8y/ngx-components/protocol-lwm2m/model';\n\n@Component({\n selector: 'lwm2m-post-operations',\n templateUrl: './lwm2m-post-operations.component.html',\n standalone: true,\n imports: [CommonModule, CoreModule]\n})\nexport class LWM2MPostOperationsComponent implements OnInit {\n @ViewChild('commandsForm') commandsForm: NgForm;\n\n exampleCommands = [\n {\n command: 'discover',\n resource: '<objectId>',\n description: gettext('Discover all resources of Object 3300, the generic sensor.')\n },\n {\n command: 'read',\n resource: '<objectId>/<objectInstanceId>/<resourceId>',\n description: gettext('Read maximum sensor value')\n },\n {\n command: 'write',\n resource: '<objectId>/<objectInstanceId>/<resourceId> <applicationType>',\n description: gettext('Write application type \"CO2\" to device')\n },\n {\n command: 'execute',\n resource: '<objectId>/<objectInstanceId>/<resourceId>',\n description: gettext('Reset min and max values')\n },\n {\n command: 'observe',\n resource: '<objectId>/<objectInstanceId>/<resourceId>',\n description: gettext('Observe sensor value. Causes device to send every new sensor value')\n },\n {\n command: 'writeattr',\n resource: '<objectId>/<objectInstanceId>/<resourceId> greater=<value>',\n description: gettext('Only send observations if sensor value is higher than 100')\n }\n ];\n\n operations: LWM2MPostOperationsParameters = {\n commands: '',\n type: '',\n id: ''\n };\n\n constructor(\n private lwm2mPostOperationsSvc: LWM2MPostOperationsParametersService,\n private alertService: AlertService\n ) {}\n\n async ngOnInit() {\n this.operations = (await this.getPostOperationsParameters()) as LWM2MPostOperationsParameters;\n }\n\n async save(operations: LWM2MPostOperationsParameters) {\n try {\n await this.lwm2mPostOperationsSvc.put(operations);\n this.alertService.success(gettext('Post-operations saved'));\n this.commandsForm.form.markAsPristine();\n } catch (error) {\n this.alertService.addServerFailure(error);\n }\n }\n\n async getPostOperationsParameters() {\n try {\n const res = await this.lwm2mPostOperationsSvc.get();\n return (await res.json()) as LWM2MPostOperationsParameters;\n } catch (error) {\n this.alertService.addServerFailure(error);\n return {};\n }\n }\n}\n","<c8y-title>{{ 'LWM2M post-operations' | translate }}</c8y-title>\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [label]=\"'Device types' | translate\"\n [icon]=\"'c8y-device-protocols'\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item [label]=\"'LWM2M post-operations' | translate\"></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<div class=\"card content-fullpage card--grid grid__col--7-5--md grid__row--auto-min-content\">\n <div class=\"inner-scroll bg-component\">\n <div class=\"card-header large-padding separator sticky-top\">\n <div class=\"h4 m-r-16\" id=\"commands\">\n {{ 'Commands' | translate }}\n </div>\n </div>\n <div class=\"card-block large-padding\">\n <form\n #commandsForm=\"ngForm\"\n id=\"commandsForm\"\n class=\"d-flex d-col flex-grow fit-h\"\n (ngSubmit)=\"save(operations)\"\n >\n <div class=\"form-group\">\n <textarea\n [(ngModel)]=\"operations.commands\"\n class=\"form-control\"\n aria-labelledby=\"commands\"\n name=\"commands\"\n rows=\"20\"\n ></textarea>\n </div>\n </form>\n </div>\n </div>\n\n <div class=\"inner-scroll bg-level-1\" tabindex=\"0\">\n <div class=\"card-block large-padding\">\n <p class=\"m-b-16\">\n <i class=\"text-info m-r-4 text-14\" c8yIcon=\"info-circle\"></i>\n {{\n 'You can enter a set of LWM2M shell commands. Each command will be sent to every newly registered LWM2M device. Each command must be entered in a new line. Use the following syntax for specifying post-registration actions:'\n | translate\n }}\n </p>\n <pre class=\"bg-level-0 text-pre-normal m-b-0\">\n <ul class=\"list-unstyled m-b-0\">\n <li class=\"m-16\" *ngFor=\"let c of exampleCommands\">\n <p class=\"text-muted\"># {{c.description | translate}}</p>\n <span class=\"text-danger\">{{c.command}}</span>\n <span class=\"text-muted\">{{c.resource}}</span>\n </li>\n </ul>\n </pre>\n </div>\n </div>\n\n <div class=\"card-footer large-padding separator grid__col--fullspan\">\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"submit\"\n form=\"commandsForm\"\n [disabled]=\"commandsForm.valid && !commandsForm.dirty\"\n [attr.aria-label]=\"'Save' | translate\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}