@c8y/ngx-components 1017.0.369 → 1017.0.375
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/protocol-lwm2m/post-registration-operations/lwm2m-post-operations.component.mjs +2 -3
- package/fesm2015/c8y-ngx-components-protocol-lwm2m-post-registration-operations.mjs +7 -8
- package/fesm2015/c8y-ngx-components-protocol-lwm2m-post-registration-operations.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-protocol-lwm2m.mjs +7 -8
- package/fesm2015/c8y-ngx-components-protocol-lwm2m.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-protocol-lwm2m-post-registration-operations.mjs +7 -8
- package/fesm2020/c8y-ngx-components-protocol-lwm2m-post-registration-operations.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-protocol-lwm2m.mjs +7 -8
- package/fesm2020/c8y-ngx-components-protocol-lwm2m.mjs.map +1 -1
- package/package.json +2 -2
package/esm2020/protocol-lwm2m/post-registration-operations/lwm2m-post-operations.component.mjs
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Component, ViewChild } from '@angular/core';
|
|
2
2
|
import { NgForm } from '@angular/forms';
|
|
3
|
-
import { gettext } from '@c8y/client/src/gettext';
|
|
4
3
|
import { LWM2MPostOperationsParametersService } from './lwm2m-post-operations.service';
|
|
5
|
-
import { AlertService } from '@c8y/ngx-components';
|
|
4
|
+
import { gettext, AlertService } from '@c8y/ngx-components';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
import * as i1 from "./lwm2m-post-operations.service";
|
|
8
7
|
import * as i2 from "@c8y/ngx-components";
|
|
@@ -83,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
83
82
|
type: ViewChild,
|
|
84
83
|
args: ['commandsForm']
|
|
85
84
|
}] } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHdtMm0tcG9zdC1vcGVyYXRpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb3RvY29sLWx3bTJtL3Bvc3QtcmVnaXN0cmF0aW9uLW9wZXJhdGlvbnMvbHdtMm0tcG9zdC1vcGVyYXRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb3RvY29sLWx3bTJtL3Bvc3QtcmVnaXN0cmF0aW9uLW9wZXJhdGlvbnMvbHdtMm0tcG9zdC1vcGVyYXRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RixPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7QUFNNUQsTUFBTSxPQUFPLDRCQUE0QjtJQTBDdkMsWUFDVSxzQkFBNEQsRUFDNUQsWUFBMEI7UUFEMUIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUFzQztRQUM1RCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQXpDcEMsb0JBQWUsR0FBRztZQUNoQjtnQkFDRSxPQUFPLEVBQUUsVUFBVTtnQkFDbkIsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLFdBQVcsRUFBRSxPQUFPLENBQUMsNERBQTRELENBQUM7YUFDbkY7WUFDRDtnQkFDRSxPQUFPLEVBQUUsTUFBTTtnQkFDZixRQUFRLEVBQUUsNENBQTRDO2dCQUN0RCxXQUFXLEVBQUUsT0FBTyxDQUFDLDJCQUEyQixDQUFDO2FBQ2xEO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLFFBQVEsRUFBRSw4REFBOEQ7Z0JBQ3hFLFdBQVcsRUFBRSxPQUFPLENBQUMsd0NBQXdDLENBQUM7YUFDL0Q7WUFDRDtnQkFDRSxPQUFPLEVBQUUsU0FBUztnQkFDbEIsUUFBUSxFQUFFLDRDQUE0QztnQkFDdEQsV0FBVyxFQUFFLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQzthQUNqRDtZQUNEO2dCQUNFLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixRQUFRLEVBQUUsNENBQTRDO2dCQUN0RCxXQUFXLEVBQUUsT0FBTyxDQUFDLG9FQUFvRSxDQUFDO2FBQzNGO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLFdBQVc7Z0JBQ3BCLFFBQVEsRUFBRSw0REFBNEQ7Z0JBQ3RFLFdBQVcsRUFBRSxPQUFPLENBQUMsMkRBQTJELENBQUM7YUFDbEY7U0FDRixDQUFDO1FBRUYsZUFBVSxHQUFrQztZQUMxQyxRQUFRLEVBQUUsRUFBRTtZQUNaLElBQUksRUFBRSxFQUFFO1lBQ1IsRUFBRSxFQUFFLEVBQUU7U0FDUCxDQUFDO0lBS0MsQ0FBQztJQUVKLEtBQUssQ0FBQyxRQUFRO1FBQ1osSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQWtDLENBQUM7SUFDaEcsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBeUM7UUFDbEQsSUFBSTtZQUNGLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3pDO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQywyQkFBMkI7UUFDL0IsSUFBSTtZQUNGLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3BELE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBa0MsQ0FBQztTQUM1RDtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQyxPQUFPLEVBQUUsQ0FBQztTQUNYO0lBQ0gsQ0FBQzs7eUhBckVVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLDJLQ1Z6QyxrK0VBc0VBOzJGRDVEYSw0QkFBNEI7a0JBSnhDLFNBQVM7K0JBQ0UsdUJBQXVCO3NKQUlOLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IExXTTJNUG9zdE9wZXJhdGlvbnNQYXJhbWV0ZXJzIH0gZnJvbSAnLi9sd20ybS1wb3N0LW9wZXJhdGlvbnMubW9kZWwnO1xuaW1wb3J0IHsgTFdNMk1Qb3N0T3BlcmF0aW9uc1BhcmFtZXRlcnNTZXJ2aWNlIH0gZnJvbSAnLi9sd20ybS1wb3N0LW9wZXJhdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBnZXR0ZXh0LCBBbGVydFNlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHdtMm0tcG9zdC1vcGVyYXRpb25zJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2x3bTJtLXBvc3Qtb3BlcmF0aW9ucy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTFdNMk1Qb3N0T3BlcmF0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2NvbW1hbmRzRm9ybScpIGNvbW1hbmRzRm9ybTogTmdGb3JtO1xuXG4gIGV4YW1wbGVDb21tYW5kcyA9IFtcbiAgICB7XG4gICAgICBjb21tYW5kOiAnZGlzY292ZXInLFxuICAgICAgcmVzb3VyY2U6ICc8b2JqZWN0SWQ+JyxcbiAgICAgIGRlc2NyaXB0aW9uOiBnZXR0ZXh0KCdEaXNjb3ZlciBhbGwgcmVzb3VyY2VzIG9mIE9iamVjdCAzMzAwLCB0aGUgZ2VuZXJpYyBzZW5zb3IuJylcbiAgICB9LFxuICAgIHtcbiAgICAgIGNvbW1hbmQ6ICdyZWFkJyxcbiAgICAgIHJlc291cmNlOiAnPG9iamVjdElkPi88b2JqZWN0SW5zdGFuY2VJZD4vPHJlc291cmNlSWQ+JyxcbiAgICAgIGRlc2NyaXB0aW9uOiBnZXR0ZXh0KCdSZWFkIG1heGltdW0gc2Vuc29yIHZhbHVlJylcbiAgICB9LFxuICAgIHtcbiAgICAgIGNvbW1hbmQ6ICd3cml0ZScsXG4gICAgICByZXNvdXJjZTogJzxvYmplY3RJZD4vPG9iamVjdEluc3RhbmNlSWQ+LzxyZXNvdXJjZUlkPiA8YXBwbGljYXRpb25UeXBlPicsXG4gICAgICBkZXNjcmlwdGlvbjogZ2V0dGV4dCgnV3JpdGUgYXBwbGljYXRpb24gdHlwZSBcIkNPMlwiIHRvIGRldmljZScpXG4gICAgfSxcbiAgICB7XG4gICAgICBjb21tYW5kOiAnZXhlY3V0ZScsXG4gICAgICByZXNvdXJjZTogJzxvYmplY3RJZD4vPG9iamVjdEluc3RhbmNlSWQ+LzxyZXNvdXJjZUlkPicsXG4gICAgICBkZXNjcmlwdGlvbjogZ2V0dGV4dCgnUmVzZXQgbWluIGFuZCBtYXggdmFsdWVzJylcbiAgICB9LFxuICAgIHtcbiAgICAgIGNvbW1hbmQ6ICdvYnNlcnZlJyxcbiAgICAgIHJlc291cmNlOiAnPG9iamVjdElkPi88b2JqZWN0SW5zdGFuY2VJZD4vPHJlc291cmNlSWQ+JyxcbiAgICAgIGRlc2NyaXB0aW9uOiBnZXR0ZXh0KCdPYnNlcnZlIHNlbnNvciB2YWx1ZS4gQ2F1c2VzIGRldmljZSB0byBzZW5kIGV2ZXJ5IG5ldyBzZW5zb3IgdmFsdWUnKVxuICAgIH0sXG4gICAge1xuICAgICAgY29tbWFuZDogJ3dyaXRlYXR0cicsXG4gICAgICByZXNvdXJjZTogJzxvYmplY3RJZD4vPG9iamVjdEluc3RhbmNlSWQ+LzxyZXNvdXJjZUlkPiBncmVhdGVyPTx2YWx1ZT4nLFxuICAgICAgZGVzY3JpcHRpb246IGdldHRleHQoJ09ubHkgc2VuZCBvYnNlcnZhdGlvbnMgaWYgc2Vuc29yIHZhbHVlIGlzIGhpZ2hlciB0aGFuIDEwMCcpXG4gICAgfVxuICBdO1xuXG4gIG9wZXJhdGlvbnM6IExXTTJNUG9zdE9wZXJhdGlvbnNQYXJhbWV0ZXJzID0ge1xuICAgIGNvbW1hbmRzOiAnJyxcbiAgICB0eXBlOiAnJyxcbiAgICBpZDogJydcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGx3bTJtUG9zdE9wZXJhdGlvbnNTdmM6IExXTTJNUG9zdE9wZXJhdGlvbnNQYXJhbWV0ZXJzU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm9wZXJhdGlvbnMgPSAoYXdhaXQgdGhpcy5nZXRQb3N0T3BlcmF0aW9uc1BhcmFtZXRlcnMoKSkgYXMgTFdNMk1Qb3N0T3BlcmF0aW9uc1BhcmFtZXRlcnM7XG4gIH1cblxuICBhc3luYyBzYXZlKG9wZXJhdGlvbnM6IExXTTJNUG9zdE9wZXJhdGlvbnNQYXJhbWV0ZXJzKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMubHdtMm1Qb3N0T3BlcmF0aW9uc1N2Yy5wdXQob3BlcmF0aW9ucyk7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKGdldHRleHQoJ1Bvc3Qgb3BlcmF0aW9ucyBzYXZlZCcpKTtcbiAgICAgIHRoaXMuY29tbWFuZHNGb3JtLmZvcm0ubWFya0FzUHJpc3RpbmUoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkU2VydmVyRmFpbHVyZShlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZ2V0UG9zdE9wZXJhdGlvbnNQYXJhbWV0ZXJzKCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmx3bTJtUG9zdE9wZXJhdGlvbnNTdmMuZ2V0KCk7XG4gICAgICByZXR1cm4gKGF3YWl0IHJlcy5qc29uKCkpIGFzIExXTTJNUG9zdE9wZXJhdGlvbnNQYXJhbWV0ZXJzO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRTZXJ2ZXJGYWlsdXJlKGVycm9yKTtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gIH1cbn1cbiIsIjxjOHktdGl0bGU+e3sgJ0xXTTJNIHBvc3Qtb3BlcmF0aW9ucycgfCB0cmFuc2xhdGUgfX08L2M4eS10aXRsZT5cbjxjOHktYnJlYWRjcnVtYj5cbiAgPGM4eS1icmVhZGNydW1iLWl0ZW1cbiAgICBbbGFiZWxdPVwiJ0RldmljZSB0eXBlcycgfCB0cmFuc2xhdGVcIlxuICAgIFtpY29uXT1cIidjOHktZGV2aWNlLXByb3RvY29scydcIlxuICA+PC9jOHktYnJlYWRjcnVtYi1pdGVtPlxuICA8Yzh5LWJyZWFkY3J1bWItaXRlbSBbbGFiZWxdPVwiJ0xXTTJNIHBvc3Qtb3BlcmF0aW9ucycgfCB0cmFuc2xhdGVcIj48L2M4eS1icmVhZGNydW1iLWl0ZW0+XG48L2M4eS1icmVhZGNydW1iPlxuXG48ZGl2IGNsYXNzPVwiY2FyZCBjb250ZW50LWZ1bGxwYWdlIGNhcmQtLWdyaWQgZ3JpZF9fY29sLS03LTUtLW1kIGdyaWRfX3Jvdy0tYXV0by1taW4tY29udGVudFwiPlxuICA8ZGl2IGNsYXNzPVwiaW5uZXItc2Nyb2xsIGJnLXdoaXRlXCI+XG4gICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGxhcmdlLXBhZGRpbmcgc2VwYXJhdG9yIHN0aWNreS10b3BcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJoNCBtLXItMTZcIiBpZD1cImNvbW1hbmRzXCI+XG4gICAgICAgIHt7ICdDb21tYW5kcycgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrIGxhcmdlLXBhZGRpbmdcIj5cbiAgICAgIDxmb3JtXG4gICAgICAgICNjb21tYW5kc0Zvcm09XCJuZ0Zvcm1cIlxuICAgICAgICBpZD1cImNvbW1hbmRzRm9ybVwiXG4gICAgICAgIGNsYXNzPVwiZC1mbGV4IGQtY29sIGZsZXgtZ3JvdyBmaXQtaFwiXG4gICAgICAgIChuZ1N1Ym1pdCk9XCJzYXZlKG9wZXJhdGlvbnMpXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwib3BlcmF0aW9ucy5jb21tYW5kc1wiXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJjb21tYW5kc1wiXG4gICAgICAgICAgICBuYW1lPVwiY29tbWFuZHNcIlxuICAgICAgICAgICAgcm93cz1cIjIwXCJcbiAgICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Zvcm0+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJpbm5lci1zY3JvbGwgYmctbGV2ZWwtMVwiIHRhYmluZGV4PVwiMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrIGxhcmdlLXBhZGRpbmdcIj5cbiAgICAgIDxwIGNsYXNzPVwibS1iLTE2XCI+XG4gICAgICAgIDxpIGNsYXNzPVwidGV4dC1pbmZvIG0tci00IHRleHQtMTRcIiBjOHlJY29uPVwiaW5mby1jaXJjbGVcIj48L2k+XG4gICAgICAgIHt7XG4gICAgICAgICAgJ1lvdSBjYW4gZW50ZXIgYSBzZXQgb2YgTFdNMk0gc2hlbGwgY29tbWFuZHMuIEVhY2ggY29tbWFuZCB3aWxsIGJlIHNlbnQgdG8gZXZlcnkgbmV3bHkgcmVnaXN0ZXJlZCBMV00yTSBkZXZpY2UuIEVhY2ggY29tbWFuZCBtdXN0IGJlIGVudGVyZWQgaW4gYSBuZXcgbGluZS4gVXNlIHRoZSBmb2xsb3dpbmcgc3ludGF4IGZvciBzcGVjaWZ5aW5nIHBvc3QtcmVnaXN0cmF0aW9uIGFjdGlvbnM6J1xuICAgICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgfX1cbiAgICAgIDwvcD5cbiAgICAgIDxwcmUgY2xhc3M9XCJiZy1sZXZlbC0wIHRleHQtcHJlLW5vcm1hbCBtLWItMFwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJsaXN0LXVuc3R5bGVkIG0tYi0wXCI+XG4gICAgICAgICAgPGxpIGNsYXNzPVwibS0xNlwiICpuZ0Zvcj1cImxldCBjIG9mIGV4YW1wbGVDb21tYW5kc1wiPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+IyB7e2MuZGVzY3JpcHRpb24gfCB0cmFuc2xhdGV9fTwvcD5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1kYW5nZXJcIj57e2MuY29tbWFuZH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LW11dGVkXCI+e3tjLnJlc291cmNlfX08L3NwYW4+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICAgIDwvcHJlPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgbGFyZ2UtcGFkZGluZyBzZXBhcmF0b3IgZ3JpZF9fY29sLS1mdWxsc3BhblwiPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcbiAgICAgIHRpdGxlPVwie3sgJ1NhdmUnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgZm9ybT1cImNvbW1hbmRzRm9ybVwiXG4gICAgICBbZGlzYWJsZWRdPVwiY29tbWFuZHNGb3JtLnZhbGlkICYmICFjb21tYW5kc0Zvcm0uZGlydHlcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInU2F2ZScgfCB0cmFuc2xhdGVcIlxuICAgID5cbiAgICAgIHt7ICdTYXZlJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -3,7 +3,6 @@ import { Injectable, Component, ViewChild, NgModule } from '@angular/core';
|
|
|
3
3
|
import * as i2 from '@c8y/ngx-components';
|
|
4
4
|
import { NavigatorNode, gettext, CoreModule, CommonModule, hookRoute, hookNavigator } from '@c8y/ngx-components';
|
|
5
5
|
import { __awaiter } from 'tslib';
|
|
6
|
-
import { gettext as gettext$1 } from '@c8y/client/src/gettext';
|
|
7
6
|
import { Lwm2mClientService, SharedLwm2mModule } from '@c8y/ngx-components/protocol-lwm2m/shared';
|
|
8
7
|
import * as i1 from '@c8y/client';
|
|
9
8
|
import * as i3 from '@angular/common';
|
|
@@ -85,32 +84,32 @@ class LWM2MPostOperationsComponent {
|
|
|
85
84
|
{
|
|
86
85
|
command: 'discover',
|
|
87
86
|
resource: '<objectId>',
|
|
88
|
-
description: gettext
|
|
87
|
+
description: gettext('Discover all resources of Object 3300, the generic sensor.')
|
|
89
88
|
},
|
|
90
89
|
{
|
|
91
90
|
command: 'read',
|
|
92
91
|
resource: '<objectId>/<objectInstanceId>/<resourceId>',
|
|
93
|
-
description: gettext
|
|
92
|
+
description: gettext('Read maximum sensor value')
|
|
94
93
|
},
|
|
95
94
|
{
|
|
96
95
|
command: 'write',
|
|
97
96
|
resource: '<objectId>/<objectInstanceId>/<resourceId> <applicationType>',
|
|
98
|
-
description: gettext
|
|
97
|
+
description: gettext('Write application type "CO2" to device')
|
|
99
98
|
},
|
|
100
99
|
{
|
|
101
100
|
command: 'execute',
|
|
102
101
|
resource: '<objectId>/<objectInstanceId>/<resourceId>',
|
|
103
|
-
description: gettext
|
|
102
|
+
description: gettext('Reset min and max values')
|
|
104
103
|
},
|
|
105
104
|
{
|
|
106
105
|
command: 'observe',
|
|
107
106
|
resource: '<objectId>/<objectInstanceId>/<resourceId>',
|
|
108
|
-
description: gettext
|
|
107
|
+
description: gettext('Observe sensor value. Causes device to send every new sensor value')
|
|
109
108
|
},
|
|
110
109
|
{
|
|
111
110
|
command: 'writeattr',
|
|
112
111
|
resource: '<objectId>/<objectInstanceId>/<resourceId> greater=<value>',
|
|
113
|
-
description: gettext
|
|
112
|
+
description: gettext('Only send observations if sensor value is higher than 100')
|
|
114
113
|
}
|
|
115
114
|
];
|
|
116
115
|
this.operations = {
|
|
@@ -128,7 +127,7 @@ class LWM2MPostOperationsComponent {
|
|
|
128
127
|
return __awaiter(this, void 0, void 0, function* () {
|
|
129
128
|
try {
|
|
130
129
|
yield this.lwm2mPostOperationsSvc.put(operations);
|
|
131
|
-
this.alertService.success(gettext
|
|
130
|
+
this.alertService.success(gettext('Post operations saved'));
|
|
132
131
|
this.commandsForm.form.markAsPristine();
|
|
133
132
|
}
|
|
134
133
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-protocol-lwm2m-post-registration-operations.mjs","sources":["../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.guard.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.factory.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.service.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.component.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.component.html","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.module.ts","../../protocol-lwm2m/post-registration-operations/c8y-ngx-components-protocol-lwm2m-post-registration-operations.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { TenantUiService } from '@c8y/ngx-components';\n\n@Injectable()\nexport class LWM2MPostOperationsGuard implements CanActivate {\n constructor(private tenantService: TenantUiService) {}\n\n canActivate() {\n return this.tenantService.isMicroserviceSubscribedInCurrentTenant('lwm2m-agent');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { gettext, NavigatorNode, NavigatorNodeFactory } from '@c8y/ngx-components';\nimport { LWM2MPostOperationsGuard } from './lwm2m-post-operations.guard';\n\n@Injectable()\nexport class LWM2MPostOpertaionsNavigationFactory implements NavigatorNodeFactory {\n navs: NavigatorNode[] = [];\n\n constructor(private guard: LWM2MPostOperationsGuard) {}\n\n get() {\n if (this.guard.canActivate()) {\n this.navs.push(\n new NavigatorNode({\n label: gettext('LWM2M post-operations'),\n path: 'post-operations',\n icon: 'terminal',\n parent: {\n label: gettext('Device types'),\n icon: 'exchange'\n },\n priority: 0\n })\n );\n }\n return this.navs;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FetchClient, IFetchResponse } from '@c8y/client';\nimport { Lwm2mClientService } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { LWM2MPostOperationsParameters } from './lwm2m-post-operations.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LWM2MPostOperationsParametersService extends Lwm2mClientService<LWM2MPostOperationsParameters> {\n private readonly detailUrl: string = '/postRegistrationOptions';\n\n constructor(client: FetchClient) {\n super(client);\n }\n\n get(): Promise<IFetchResponse> {\n return super.fetch(this.detailUrl);\n }\n\n put(data: LWM2MPostOperationsParameters) {\n const headers = { 'content-type': 'application/json', accept: 'application/json' };\n return super.fetch(this.detailUrl, {\n method: 'PUT',\n body: JSON.stringify(data),\n headers: headers\n });\n }\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { gettext } from '@c8y/client/src/gettext';\nimport { LWM2MPostOperationsParameters } from './lwm2m-post-operations.model';\nimport { LWM2MPostOperationsParametersService } from './lwm2m-post-operations.service';\nimport { AlertService } from '@c8y/ngx-components';\n\n@Component({\n selector: 'lwm2m-post-operations',\n templateUrl: './lwm2m-post-operations.component.html'\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-white\">\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","import { NgModule } from '@angular/core';\nimport { CoreModule, CommonModule, hookRoute, hookNavigator } from '@c8y/ngx-components';\nimport { LWM2MPostOperationsComponent } from './lwm2m-post-operations.component';\nimport { LWM2MPostOperationsGuard } from './lwm2m-post-operations.guard';\nimport { LWM2MPostOperationsParametersService } from './lwm2m-post-operations.service';\nimport { SharedLwm2mModule } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { LWM2MPostOpertaionsNavigationFactory } from './lwm2m-post-operations.factory';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\n\n@NgModule({\n imports: [CoreModule, CommonModule, SharedLwm2mModule, PopoverModule],\n declarations: [LWM2MPostOperationsComponent],\n providers: [\n LWM2MPostOperationsParametersService,\n LWM2MPostOperationsGuard,\n hookRoute({\n path: 'post-operations',\n component: LWM2MPostOperationsComponent,\n icon: 'terminal',\n priority: 2000,\n canActivate: [LWM2MPostOperationsGuard]\n }),\n hookNavigator(LWM2MPostOpertaionsNavigationFactory)\n ]\n})\nexport class LWM2MPostOperationsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.LWM2MPostOperationsGuard","gettext","i1.LWM2MPostOperationsParametersService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-protocol-lwm2m-post-registration-operations.mjs","sources":["../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.guard.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.factory.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.service.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.component.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.component.html","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.module.ts","../../protocol-lwm2m/post-registration-operations/c8y-ngx-components-protocol-lwm2m-post-registration-operations.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { TenantUiService } from '@c8y/ngx-components';\n\n@Injectable()\nexport class LWM2MPostOperationsGuard implements CanActivate {\n constructor(private tenantService: TenantUiService) {}\n\n canActivate() {\n return this.tenantService.isMicroserviceSubscribedInCurrentTenant('lwm2m-agent');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { gettext, NavigatorNode, NavigatorNodeFactory } from '@c8y/ngx-components';\nimport { LWM2MPostOperationsGuard } from './lwm2m-post-operations.guard';\n\n@Injectable()\nexport class LWM2MPostOpertaionsNavigationFactory implements NavigatorNodeFactory {\n navs: NavigatorNode[] = [];\n\n constructor(private guard: LWM2MPostOperationsGuard) {}\n\n get() {\n if (this.guard.canActivate()) {\n this.navs.push(\n new NavigatorNode({\n label: gettext('LWM2M post-operations'),\n path: 'post-operations',\n icon: 'terminal',\n parent: {\n label: gettext('Device types'),\n icon: 'exchange'\n },\n priority: 0\n })\n );\n }\n return this.navs;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FetchClient, IFetchResponse } from '@c8y/client';\nimport { Lwm2mClientService } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { LWM2MPostOperationsParameters } from './lwm2m-post-operations.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LWM2MPostOperationsParametersService extends Lwm2mClientService<LWM2MPostOperationsParameters> {\n private readonly detailUrl: string = '/postRegistrationOptions';\n\n constructor(client: FetchClient) {\n super(client);\n }\n\n get(): Promise<IFetchResponse> {\n return super.fetch(this.detailUrl);\n }\n\n put(data: LWM2MPostOperationsParameters) {\n const headers = { 'content-type': 'application/json', accept: 'application/json' };\n return super.fetch(this.detailUrl, {\n method: 'PUT',\n body: JSON.stringify(data),\n headers: headers\n });\n }\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { LWM2MPostOperationsParameters } from './lwm2m-post-operations.model';\nimport { LWM2MPostOperationsParametersService } from './lwm2m-post-operations.service';\nimport { gettext, AlertService } from '@c8y/ngx-components';\n\n@Component({\n selector: 'lwm2m-post-operations',\n templateUrl: './lwm2m-post-operations.component.html'\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-white\">\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","import { NgModule } from '@angular/core';\nimport { CoreModule, CommonModule, hookRoute, hookNavigator } from '@c8y/ngx-components';\nimport { LWM2MPostOperationsComponent } from './lwm2m-post-operations.component';\nimport { LWM2MPostOperationsGuard } from './lwm2m-post-operations.guard';\nimport { LWM2MPostOperationsParametersService } from './lwm2m-post-operations.service';\nimport { SharedLwm2mModule } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { LWM2MPostOpertaionsNavigationFactory } from './lwm2m-post-operations.factory';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\n\n@NgModule({\n imports: [CoreModule, CommonModule, SharedLwm2mModule, PopoverModule],\n declarations: [LWM2MPostOperationsComponent],\n providers: [\n LWM2MPostOperationsParametersService,\n LWM2MPostOperationsGuard,\n hookRoute({\n path: 'post-operations',\n component: LWM2MPostOperationsComponent,\n icon: 'terminal',\n priority: 2000,\n canActivate: [LWM2MPostOperationsGuard]\n }),\n hookNavigator(LWM2MPostOpertaionsNavigationFactory)\n ]\n})\nexport class LWM2MPostOperationsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.LWM2MPostOperationsGuard","i1.LWM2MPostOperationsParametersService"],"mappings":"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"}
|
|
@@ -9,7 +9,6 @@ import * as i4$1 from '@angular/forms';
|
|
|
9
9
|
import { FormGroup } from '@angular/forms';
|
|
10
10
|
import * as i2 from '@ngx-formly/core';
|
|
11
11
|
import * as i4 from '@angular/router';
|
|
12
|
-
import { gettext as gettext$1 } from '@c8y/client/src/gettext';
|
|
13
12
|
import * as i3 from '@angular/common';
|
|
14
13
|
import { PopoverModule } from 'ngx-bootstrap/popover';
|
|
15
14
|
|
|
@@ -468,32 +467,32 @@ class LWM2MPostOperationsComponent {
|
|
|
468
467
|
{
|
|
469
468
|
command: 'discover',
|
|
470
469
|
resource: '<objectId>',
|
|
471
|
-
description: gettext
|
|
470
|
+
description: gettext('Discover all resources of Object 3300, the generic sensor.')
|
|
472
471
|
},
|
|
473
472
|
{
|
|
474
473
|
command: 'read',
|
|
475
474
|
resource: '<objectId>/<objectInstanceId>/<resourceId>',
|
|
476
|
-
description: gettext
|
|
475
|
+
description: gettext('Read maximum sensor value')
|
|
477
476
|
},
|
|
478
477
|
{
|
|
479
478
|
command: 'write',
|
|
480
479
|
resource: '<objectId>/<objectInstanceId>/<resourceId> <applicationType>',
|
|
481
|
-
description: gettext
|
|
480
|
+
description: gettext('Write application type "CO2" to device')
|
|
482
481
|
},
|
|
483
482
|
{
|
|
484
483
|
command: 'execute',
|
|
485
484
|
resource: '<objectId>/<objectInstanceId>/<resourceId>',
|
|
486
|
-
description: gettext
|
|
485
|
+
description: gettext('Reset min and max values')
|
|
487
486
|
},
|
|
488
487
|
{
|
|
489
488
|
command: 'observe',
|
|
490
489
|
resource: '<objectId>/<objectInstanceId>/<resourceId>',
|
|
491
|
-
description: gettext
|
|
490
|
+
description: gettext('Observe sensor value. Causes device to send every new sensor value')
|
|
492
491
|
},
|
|
493
492
|
{
|
|
494
493
|
command: 'writeattr',
|
|
495
494
|
resource: '<objectId>/<objectInstanceId>/<resourceId> greater=<value>',
|
|
496
|
-
description: gettext
|
|
495
|
+
description: gettext('Only send observations if sensor value is higher than 100')
|
|
497
496
|
}
|
|
498
497
|
];
|
|
499
498
|
this.operations = {
|
|
@@ -511,7 +510,7 @@ class LWM2MPostOperationsComponent {
|
|
|
511
510
|
return __awaiter(this, void 0, void 0, function* () {
|
|
512
511
|
try {
|
|
513
512
|
yield this.lwm2mPostOperationsSvc.put(operations);
|
|
514
|
-
this.alertService.success(gettext
|
|
513
|
+
this.alertService.success(gettext('Post operations saved'));
|
|
515
514
|
this.commandsForm.form.markAsPristine();
|
|
516
515
|
}
|
|
517
516
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-protocol-lwm2m.mjs","sources":["../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.service.ts","../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.guard.ts","../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.model.ts","../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.component.ts","../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.component.html","../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.module.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.service.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.component.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.component.html","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.guard.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.factory.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.module.ts","../../protocol-lwm2m/lwm2m.module.ts","../../protocol-lwm2m/c8y-ngx-components-protocol-lwm2m.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { FetchClient, IResult } from '@c8y/client';\nimport { Lwm2mClientService } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { Lwm2mBootstrapParameters } from './lwm2m-bootstrap-parameters.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Lwm2mBootstrapParametersService extends Lwm2mClientService<Lwm2mBootstrapParameters> {\n constructor(client: FetchClient) {\n super(client);\n }\n\n detail(id: string): Promise<IResult<Lwm2mBootstrapParameters | any>> {\n return super.detail(id);\n }\n\n update(entity: Lwm2mBootstrapParameters): Promise<IResult<Lwm2mBootstrapParameters | any>> {\n return super.update(entity);\n }\n\n onBeforeUpdate(entity: Lwm2mBootstrapParameters): Lwm2mBootstrapParameters {\n delete entity.id;\n return entity;\n }\n\n getDetailUrl(entity: Lwm2mBootstrapParameters): string {\n return `${this.listUrl}/${super.getEntityId(entity)}/bootstrapParams`;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { TenantUiService, Permissions } from '@c8y/ngx-components';\nimport { Lwm2mManagedObject } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { Lwm2mBootstrapParametersService } from './lwm2m-bootstrap-parameters.service';\n\n@Injectable()\nexport class Lwm2mBootstrapParametersGuard implements CanActivate {\n constructor(\n private tenantService: TenantUiService,\n private permissions: Permissions,\n private lwm2mService: Lwm2mBootstrapParametersService\n ) {}\n\n canActivate(route: ActivatedRouteSnapshot) {\n const contextData =\n ((route.data as any).contextData as Lwm2mManagedObject) ||\n ((route.parent.data as any).contextData as Lwm2mManagedObject);\n\n return (\n this.lwm2mService.isLwm2mDevice(contextData) &&\n this.tenantService.isMicroserviceSubscribedInCurrentTenant('lwm2m-agent') &&\n this.permissions.hasRole('ROLE_INVENTORY_READ')\n );\n }\n}\n","export interface Lwm2mBootstrapParameters {\n bindingMode?: BindingMode;\n bootstrapId?: string;\n bootstrapKey?: string;\n bootstrapShortServerId?: number;\n defaultMaximumPeriod?: number;\n defaultMinimumPeriod?: number;\n securityMode?: SecurityMode;\n endpoint?: string;\n generateBootstrapServerConfig?: boolean;\n lwm2mShortServerId?: number;\n serverUri?: string;\n registrationLifeTime?: number;\n serverPublicKey?: string;\n securityInstanceOffset?: number;\n publicKeyOrId?: string;\n secretKey?: string;\n id?: string;\n}\n\nexport enum SecurityMode {\n NO_SEC = 'NO_SEC',\n PSK = 'PSK'\n}\n\nexport enum BindingMode {\n U = 'U',\n UQ = 'UQ'\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { gettext, AlertService, Permissions, Alert } from '@c8y/ngx-components';\nimport { FormlyFieldConfig, FormlyFormBuilder, FormlyFormOptions } from '@ngx-formly/core';\nimport { Lwm2mBootstrapParametersService } from './lwm2m-bootstrap-parameters.service';\nimport {\n BindingMode,\n Lwm2mBootstrapParameters,\n SecurityMode\n} from './lwm2m-bootstrap-parameters.model';\n\n@Component({\n selector: 'c8y-lwm2m-bootstrap-parameters',\n templateUrl: './lwm2m-bootstrap-parameters.component.html'\n})\nexport class Lwm2mBootstrapParametersComponent implements OnInit, OnDestroy {\n fields: FormlyFieldConfig[];\n form: FormGroup = new FormGroup({});\n model = {};\n options: FormlyFormOptions = {\n formState: {\n disabled: false,\n mainModel: this.model\n }\n };\n\n private readonly writePermissionMissingAlert: Alert = {\n text: gettext('You do not have write permissions. This form is read-only.'),\n type: 'info'\n };\n\n private readonly DISABLED_HINT_TEXT: string = gettext(\n 'Change the security mode to enable this field.'\n );\n private readonly pattern: RegExp = /^([a-fA-F0-9]{2})+$/;\n private deviceId: string;\n\n constructor(\n private alertService: AlertService,\n private permissions: Permissions,\n private builder: FormlyFormBuilder,\n private lwm2mBootstrapParametersSvc: Lwm2mBootstrapParametersService,\n private route: ActivatedRoute\n ) {\n this.deviceId = this.route?.snapshot?.parent?.params?.id;\n }\n\n async ngOnInit() {\n const parameters: Lwm2mBootstrapParameters = await this.getBootstrapParameters();\n const {\n bindingMode,\n bootstrapId,\n bootstrapKey,\n bootstrapShortServerId,\n defaultMaximumPeriod,\n defaultMinimumPeriod,\n securityMode,\n endpoint,\n generateBootstrapServerConfig,\n lwm2mShortServerId,\n serverUri,\n registrationLifeTime,\n serverPublicKey,\n securityInstanceOffset,\n publicKeyOrId,\n secretKey\n }: Lwm2mBootstrapParameters = parameters;\n\n const leftFields: FormlyFieldConfig[] = [\n {\n key: 'endpoint',\n id: 'bs-endpoint',\n type: 'string',\n defaultValue: endpoint,\n templateOptions: {\n label: gettext('Endpoint'),\n placeholder: 'urn:imei:012345678901234',\n readonly: true\n }\n },\n {\n key: 'securityMode',\n id: 'bs-securityMode',\n type: 'select',\n defaultValue: securityMode || SecurityMode.NO_SEC,\n templateOptions: {\n label: gettext('Security mode'),\n options: [\n { label: SecurityMode.NO_SEC, value: SecurityMode.NO_SEC },\n { label: SecurityMode.PSK, value: SecurityMode.PSK }\n ],\n required: true\n }\n },\n {\n key: 'bootstrapId',\n id: 'bs-bootstrapId',\n type: 'string',\n templateOptions: {\n label: gettext('Bootstrap PSK ID'),\n description: this.DISABLED_HINT_TEXT,\n required: true\n },\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.formControl.patchValue(bootstrapId);\n }\n },\n expressionProperties: {\n 'templateOptions.disabled': (model: any, formState: any, field: FormlyFieldConfig) =>\n this.disablePSKField(formState, field)\n }\n },\n {\n key: 'bootstrapKey',\n id: 'bs-bootstrapKey',\n type: 'string',\n templateOptions: {\n label: gettext('Bootstrap pre-shared key'),\n description: this.DISABLED_HINT_TEXT,\n placeholder: '0123456789abcdef',\n required: true,\n pattern: this.pattern\n },\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.formControl.patchValue(bootstrapKey);\n }\n },\n expressionProperties: {\n 'templateOptions.disabled': (model: any, formState: any, field: FormlyFieldConfig) =>\n this.disablePSKField(formState, field)\n }\n },\n {\n key: 'securityInstanceOffset',\n id: 'bs-securityInstanceOffset',\n type: 'number',\n defaultValue: securityInstanceOffset,\n templateOptions: {\n label: gettext('Security instance offset'),\n placeholder: '0',\n min: 0\n }\n },\n {\n key: 'bootstrapShortServerId',\n id: 'bs-bootstrapShortServerId',\n type: 'number',\n defaultValue: bootstrapShortServerId,\n templateOptions: {\n label: gettext('LWM2M bootstrap short server ID'),\n placeholder: '0',\n min: 0\n }\n },\n {\n key: 'registrationLifeTime',\n id: 'bs-registrationLifeTime',\n type: 'number',\n defaultValue: registrationLifeTime,\n templateOptions: {\n label: gettext('Registration lifetime'),\n description: gettext('in seconds'),\n placeholder: '600',\n min: 0\n }\n },\n {\n key: 'bindingMode',\n id: 'bs-bindingMode',\n type: 'select',\n defaultValue: bindingMode || BindingMode.U,\n templateOptions: {\n label: gettext('Binding mode'),\n options: [\n { label: gettext('UDP'), value: BindingMode.U },\n { label: gettext('UDP with queue mode'), value: BindingMode.UQ }\n ]\n }\n }\n ];\n\n const rightFields: FormlyFieldConfig[] = [\n {\n key: 'serverPublicKey',\n id: 'bs-serverPublicKey',\n type: 'string',\n defaultValue: serverPublicKey,\n templateOptions: {\n label: gettext('Server public key'),\n placeholder: 'AAAAB3NzaC1yc2E…'\n }\n },\n {\n key: 'serverUri',\n id: 'bs-serverUri',\n type: 'string',\n defaultValue: serverUri,\n templateOptions: {\n label: gettext('LWM2M server URI'),\n placeholder: 'coaps://<LWM2M-server-domain>:<coaps-port>'\n }\n },\n {\n key: 'publicKeyOrId',\n id: 'bs-publicKeyOrId',\n type: 'string',\n templateOptions: {\n label: gettext('LWM2M PSK ID'),\n description: this.DISABLED_HINT_TEXT,\n required: true\n },\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.formControl.patchValue(publicKeyOrId);\n }\n },\n expressionProperties: {\n 'templateOptions.disabled': (model: any, formState: any, field: FormlyFieldConfig) =>\n this.disablePSKField(formState, field)\n }\n },\n {\n key: 'secretKey',\n id: 'bs-secretKey',\n type: 'string',\n templateOptions: {\n label: gettext('LWM2M pre-shared key'),\n description: this.DISABLED_HINT_TEXT,\n placeholder: '0123456789abcdef',\n required: true,\n pattern: this.pattern\n },\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.formControl.patchValue(secretKey);\n }\n },\n expressionProperties: {\n 'templateOptions.disabled': (model: any, formState: any, field: FormlyFieldConfig) =>\n this.disablePSKField(formState, field)\n }\n },\n {\n key: 'lwm2mShortServerId',\n id: 'bs-lwm2mShortServerId',\n type: 'number',\n defaultValue: lwm2mShortServerId,\n templateOptions: {\n label: gettext('LWM2M short server ID'),\n placeholder: '0',\n min: 0\n }\n },\n {\n key: 'generateBootstrapServerConfig',\n id: 'bs-generateBootstrapServerConfig',\n type: 'select',\n defaultValue: generateBootstrapServerConfig || false,\n templateOptions: {\n label: gettext('Generate bootstrap server config'),\n options: [\n { label: gettext('Yes'), value: true },\n { label: gettext('No'), value: false }\n ]\n }\n },\n {\n key: 'defaultMinimumPeriod',\n id: 'bs-defaultMinimumPeriod',\n type: 'number',\n defaultValue: defaultMinimumPeriod,\n templateOptions: {\n label: gettext('Default minimum period'),\n description: gettext('in seconds'),\n placeholder: '10',\n min: 0\n }\n },\n {\n key: 'defaultMaximumPeriod',\n id: 'bs-defaultMaximumPeriod',\n type: 'number',\n defaultValue: defaultMaximumPeriod,\n templateOptions: {\n label: gettext('Default maximum period'),\n description: gettext('in seconds'),\n placeholder: '60',\n min: 0\n }\n }\n ];\n\n this.fields = [\n {\n fieldGroupClassName: 'card-block d-grid grid__col--6-6',\n fieldGroup: [\n {\n fieldGroupClassName: 'form-group p-24 p-t-8 p-b-8 m-b-0',\n fieldGroup: leftFields\n },\n {\n fieldGroupClassName: 'form-group p-24 p-t-8 p-b-8 m-b-0',\n fieldGroup: rightFields\n }\n ]\n }\n ];\n\n this.builder.buildForm(this.form, this.fields, this.model, this.options);\n\n const userHasWritePermission = this.permissions.hasRole('ROLE_INVENTORY_ADMIN');\n\n if (Object.keys(parameters).length === 0 || !userHasWritePermission) {\n this.form.disable();\n\n this.options.formState.disabled = true;\n }\n\n if (!userHasWritePermission) {\n this.alertService.info(this.writePermissionMissingAlert.text as string);\n }\n }\n\n ngOnDestroy() {\n // alertService checks if given alert exists.\n // save to remove it without additional checks\n this.alertService.remove(this.writePermissionMissingAlert);\n }\n\n disablePSKField(\n formState: { disabled: boolean; mainModel: Lwm2mBootstrapParameters },\n field: FormlyFieldConfig\n ) {\n if (formState.disabled) {\n delete field.templateOptions.description;\n return true;\n } else if (\n !formState.mainModel.securityMode ||\n formState.mainModel.securityMode === SecurityMode.NO_SEC\n ) {\n field.templateOptions.description = this.DISABLED_HINT_TEXT;\n field.formControl.patchValue(null);\n return true;\n }\n delete field.templateOptions.description;\n return false;\n }\n\n async save() {\n try {\n await this.lwm2mBootstrapParametersSvc.update({ ...this.model, ...{ id: this.deviceId } });\n this.alertService.success(gettext('Bootstrap parameters updated'));\n // disables save button\n this.form.markAsPristine();\n this.form.updateValueAndValidity();\n } catch (error) {\n this.alertService.addServerFailure({ ...error });\n }\n }\n\n async getBootstrapParameters(): Promise<Lwm2mBootstrapParameters> {\n try {\n return (await this.lwm2mBootstrapParametersSvc.detail(this.deviceId))\n .data as Lwm2mBootstrapParameters;\n } catch (error) {\n this.alertService.addServerFailure({ ...error });\n return {};\n }\n }\n}\n","<form (ngSubmit)=\"save()\">\n <div class=\"card content-fullpage fit-h\">\n <div class=\"card-header separator grid__col--fullspan\">\n <h1 class=\"card-title\">{{ 'LWM2M bootstrap parameters' | translate }}</h1>\n </div>\n <div class=\"inner-scroll\">\n <formly-form\n [form]=\"form\"\n [fields]=\"fields\"\n [model]=\"model\"\n [options]=\"options\"\n ></formly-form>\n </div>\n <div\n [hidden]=\"options.formState.disabled\"\n class=\"card-footer separator grid__col--fullspan sticky-bottom\"\n >\n <button\n title=\"{{ 'Save' | translate }}\"\n type=\"submit\"\n class=\"btn btn-primary\"\n [disabled]=\"form.invalid || !form.dirty\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n </div>\n</form>\n","import { NgModule } from '@angular/core';\nimport { CommonModule, CoreModule, gettext, hookRoute, ViewContext } from '@c8y/ngx-components';\nimport { Lwm2mBootstrapParametersGuard } from './lwm2m-bootstrap-parameters.guard';\nimport { Lwm2mBootstrapParametersComponent } from './lwm2m-bootstrap-parameters.component';\nimport { Lwm2mBootstrapParametersService } from './lwm2m-bootstrap-parameters.service';\nimport { SharedLwm2mModule } from '@c8y/ngx-components/protocol-lwm2m/shared';\n\n@NgModule({\n imports: [CommonModule, CoreModule, SharedLwm2mModule],\n declarations: [Lwm2mBootstrapParametersComponent],\n providers: [\n Lwm2mBootstrapParametersService,\n Lwm2mBootstrapParametersGuard,\n hookRoute({\n path: 'lwm2m-bootstrap-parameters',\n context: ViewContext.Device,\n component: Lwm2mBootstrapParametersComponent,\n label: gettext('LWM2M bootstrap parameters'),\n icon: 'c8y-device-protocols',\n canActivate: [Lwm2mBootstrapParametersGuard]\n })\n ]\n})\nexport class Lwm2mBootstrapParametersModule {}\n","import { Injectable } from '@angular/core';\nimport { FetchClient, IFetchResponse } from '@c8y/client';\nimport { Lwm2mClientService } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { LWM2MPostOperationsParameters } from './lwm2m-post-operations.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LWM2MPostOperationsParametersService extends Lwm2mClientService<LWM2MPostOperationsParameters> {\n private readonly detailUrl: string = '/postRegistrationOptions';\n\n constructor(client: FetchClient) {\n super(client);\n }\n\n get(): Promise<IFetchResponse> {\n return super.fetch(this.detailUrl);\n }\n\n put(data: LWM2MPostOperationsParameters) {\n const headers = { 'content-type': 'application/json', accept: 'application/json' };\n return super.fetch(this.detailUrl, {\n method: 'PUT',\n body: JSON.stringify(data),\n headers: headers\n });\n }\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { gettext } from '@c8y/client/src/gettext';\nimport { LWM2MPostOperationsParameters } from './lwm2m-post-operations.model';\nimport { LWM2MPostOperationsParametersService } from './lwm2m-post-operations.service';\nimport { AlertService } from '@c8y/ngx-components';\n\n@Component({\n selector: 'lwm2m-post-operations',\n templateUrl: './lwm2m-post-operations.component.html'\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-white\">\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","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { TenantUiService } from '@c8y/ngx-components';\n\n@Injectable()\nexport class LWM2MPostOperationsGuard implements CanActivate {\n constructor(private tenantService: TenantUiService) {}\n\n canActivate() {\n return this.tenantService.isMicroserviceSubscribedInCurrentTenant('lwm2m-agent');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { gettext, NavigatorNode, NavigatorNodeFactory } from '@c8y/ngx-components';\nimport { LWM2MPostOperationsGuard } from './lwm2m-post-operations.guard';\n\n@Injectable()\nexport class LWM2MPostOpertaionsNavigationFactory implements NavigatorNodeFactory {\n navs: NavigatorNode[] = [];\n\n constructor(private guard: LWM2MPostOperationsGuard) {}\n\n get() {\n if (this.guard.canActivate()) {\n this.navs.push(\n new NavigatorNode({\n label: gettext('LWM2M post-operations'),\n path: 'post-operations',\n icon: 'terminal',\n parent: {\n label: gettext('Device types'),\n icon: 'exchange'\n },\n priority: 0\n })\n );\n }\n return this.navs;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CoreModule, CommonModule, hookRoute, hookNavigator } from '@c8y/ngx-components';\nimport { LWM2MPostOperationsComponent } from './lwm2m-post-operations.component';\nimport { LWM2MPostOperationsGuard } from './lwm2m-post-operations.guard';\nimport { LWM2MPostOperationsParametersService } from './lwm2m-post-operations.service';\nimport { SharedLwm2mModule } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { LWM2MPostOpertaionsNavigationFactory } from './lwm2m-post-operations.factory';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\n\n@NgModule({\n imports: [CoreModule, CommonModule, SharedLwm2mModule, PopoverModule],\n declarations: [LWM2MPostOperationsComponent],\n providers: [\n LWM2MPostOperationsParametersService,\n LWM2MPostOperationsGuard,\n hookRoute({\n path: 'post-operations',\n component: LWM2MPostOperationsComponent,\n icon: 'terminal',\n priority: 2000,\n canActivate: [LWM2MPostOperationsGuard]\n }),\n hookNavigator(LWM2MPostOpertaionsNavigationFactory)\n ]\n})\nexport class LWM2MPostOperationsModule {}\n","import { NgModule } from '@angular/core';\nimport { Lwm2mBootstrapParametersModule } from './bootstrap-parameters/lwm2m-bootstrap-parameters.module';\nimport { LWM2MPostOperationsModule } from './post-registration-operations/lwm2m-post-operations.module';\n\n@NgModule({\n imports: [Lwm2mBootstrapParametersModule, LWM2MPostOperationsModule]\n})\nexport class Lwm2mModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.Lwm2mBootstrapParametersService","i3.Lwm2mBootstrapParametersService","i5","gettext","i1.LWM2MPostOperationsParametersService","i2","i4","i1.LWM2MPostOperationsGuard"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-protocol-lwm2m.mjs","sources":["../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.service.ts","../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.guard.ts","../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.model.ts","../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.component.ts","../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.component.html","../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.module.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.service.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.component.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.component.html","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.guard.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.factory.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.module.ts","../../protocol-lwm2m/lwm2m.module.ts","../../protocol-lwm2m/c8y-ngx-components-protocol-lwm2m.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { FetchClient, IResult } from '@c8y/client';\nimport { Lwm2mClientService } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { Lwm2mBootstrapParameters } from './lwm2m-bootstrap-parameters.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Lwm2mBootstrapParametersService extends Lwm2mClientService<Lwm2mBootstrapParameters> {\n constructor(client: FetchClient) {\n super(client);\n }\n\n detail(id: string): Promise<IResult<Lwm2mBootstrapParameters | any>> {\n return super.detail(id);\n }\n\n update(entity: Lwm2mBootstrapParameters): Promise<IResult<Lwm2mBootstrapParameters | any>> {\n return super.update(entity);\n }\n\n onBeforeUpdate(entity: Lwm2mBootstrapParameters): Lwm2mBootstrapParameters {\n delete entity.id;\n return entity;\n }\n\n getDetailUrl(entity: Lwm2mBootstrapParameters): string {\n return `${this.listUrl}/${super.getEntityId(entity)}/bootstrapParams`;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { TenantUiService, Permissions } from '@c8y/ngx-components';\nimport { Lwm2mManagedObject } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { Lwm2mBootstrapParametersService } from './lwm2m-bootstrap-parameters.service';\n\n@Injectable()\nexport class Lwm2mBootstrapParametersGuard implements CanActivate {\n constructor(\n private tenantService: TenantUiService,\n private permissions: Permissions,\n private lwm2mService: Lwm2mBootstrapParametersService\n ) {}\n\n canActivate(route: ActivatedRouteSnapshot) {\n const contextData =\n ((route.data as any).contextData as Lwm2mManagedObject) ||\n ((route.parent.data as any).contextData as Lwm2mManagedObject);\n\n return (\n this.lwm2mService.isLwm2mDevice(contextData) &&\n this.tenantService.isMicroserviceSubscribedInCurrentTenant('lwm2m-agent') &&\n this.permissions.hasRole('ROLE_INVENTORY_READ')\n );\n }\n}\n","export interface Lwm2mBootstrapParameters {\n bindingMode?: BindingMode;\n bootstrapId?: string;\n bootstrapKey?: string;\n bootstrapShortServerId?: number;\n defaultMaximumPeriod?: number;\n defaultMinimumPeriod?: number;\n securityMode?: SecurityMode;\n endpoint?: string;\n generateBootstrapServerConfig?: boolean;\n lwm2mShortServerId?: number;\n serverUri?: string;\n registrationLifeTime?: number;\n serverPublicKey?: string;\n securityInstanceOffset?: number;\n publicKeyOrId?: string;\n secretKey?: string;\n id?: string;\n}\n\nexport enum SecurityMode {\n NO_SEC = 'NO_SEC',\n PSK = 'PSK'\n}\n\nexport enum BindingMode {\n U = 'U',\n UQ = 'UQ'\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { gettext, AlertService, Permissions, Alert } from '@c8y/ngx-components';\nimport { FormlyFieldConfig, FormlyFormBuilder, FormlyFormOptions } from '@ngx-formly/core';\nimport { Lwm2mBootstrapParametersService } from './lwm2m-bootstrap-parameters.service';\nimport {\n BindingMode,\n Lwm2mBootstrapParameters,\n SecurityMode\n} from './lwm2m-bootstrap-parameters.model';\n\n@Component({\n selector: 'c8y-lwm2m-bootstrap-parameters',\n templateUrl: './lwm2m-bootstrap-parameters.component.html'\n})\nexport class Lwm2mBootstrapParametersComponent implements OnInit, OnDestroy {\n fields: FormlyFieldConfig[];\n form: FormGroup = new FormGroup({});\n model = {};\n options: FormlyFormOptions = {\n formState: {\n disabled: false,\n mainModel: this.model\n }\n };\n\n private readonly writePermissionMissingAlert: Alert = {\n text: gettext('You do not have write permissions. This form is read-only.'),\n type: 'info'\n };\n\n private readonly DISABLED_HINT_TEXT: string = gettext(\n 'Change the security mode to enable this field.'\n );\n private readonly pattern: RegExp = /^([a-fA-F0-9]{2})+$/;\n private deviceId: string;\n\n constructor(\n private alertService: AlertService,\n private permissions: Permissions,\n private builder: FormlyFormBuilder,\n private lwm2mBootstrapParametersSvc: Lwm2mBootstrapParametersService,\n private route: ActivatedRoute\n ) {\n this.deviceId = this.route?.snapshot?.parent?.params?.id;\n }\n\n async ngOnInit() {\n const parameters: Lwm2mBootstrapParameters = await this.getBootstrapParameters();\n const {\n bindingMode,\n bootstrapId,\n bootstrapKey,\n bootstrapShortServerId,\n defaultMaximumPeriod,\n defaultMinimumPeriod,\n securityMode,\n endpoint,\n generateBootstrapServerConfig,\n lwm2mShortServerId,\n serverUri,\n registrationLifeTime,\n serverPublicKey,\n securityInstanceOffset,\n publicKeyOrId,\n secretKey\n }: Lwm2mBootstrapParameters = parameters;\n\n const leftFields: FormlyFieldConfig[] = [\n {\n key: 'endpoint',\n id: 'bs-endpoint',\n type: 'string',\n defaultValue: endpoint,\n templateOptions: {\n label: gettext('Endpoint'),\n placeholder: 'urn:imei:012345678901234',\n readonly: true\n }\n },\n {\n key: 'securityMode',\n id: 'bs-securityMode',\n type: 'select',\n defaultValue: securityMode || SecurityMode.NO_SEC,\n templateOptions: {\n label: gettext('Security mode'),\n options: [\n { label: SecurityMode.NO_SEC, value: SecurityMode.NO_SEC },\n { label: SecurityMode.PSK, value: SecurityMode.PSK }\n ],\n required: true\n }\n },\n {\n key: 'bootstrapId',\n id: 'bs-bootstrapId',\n type: 'string',\n templateOptions: {\n label: gettext('Bootstrap PSK ID'),\n description: this.DISABLED_HINT_TEXT,\n required: true\n },\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.formControl.patchValue(bootstrapId);\n }\n },\n expressionProperties: {\n 'templateOptions.disabled': (model: any, formState: any, field: FormlyFieldConfig) =>\n this.disablePSKField(formState, field)\n }\n },\n {\n key: 'bootstrapKey',\n id: 'bs-bootstrapKey',\n type: 'string',\n templateOptions: {\n label: gettext('Bootstrap pre-shared key'),\n description: this.DISABLED_HINT_TEXT,\n placeholder: '0123456789abcdef',\n required: true,\n pattern: this.pattern\n },\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.formControl.patchValue(bootstrapKey);\n }\n },\n expressionProperties: {\n 'templateOptions.disabled': (model: any, formState: any, field: FormlyFieldConfig) =>\n this.disablePSKField(formState, field)\n }\n },\n {\n key: 'securityInstanceOffset',\n id: 'bs-securityInstanceOffset',\n type: 'number',\n defaultValue: securityInstanceOffset,\n templateOptions: {\n label: gettext('Security instance offset'),\n placeholder: '0',\n min: 0\n }\n },\n {\n key: 'bootstrapShortServerId',\n id: 'bs-bootstrapShortServerId',\n type: 'number',\n defaultValue: bootstrapShortServerId,\n templateOptions: {\n label: gettext('LWM2M bootstrap short server ID'),\n placeholder: '0',\n min: 0\n }\n },\n {\n key: 'registrationLifeTime',\n id: 'bs-registrationLifeTime',\n type: 'number',\n defaultValue: registrationLifeTime,\n templateOptions: {\n label: gettext('Registration lifetime'),\n description: gettext('in seconds'),\n placeholder: '600',\n min: 0\n }\n },\n {\n key: 'bindingMode',\n id: 'bs-bindingMode',\n type: 'select',\n defaultValue: bindingMode || BindingMode.U,\n templateOptions: {\n label: gettext('Binding mode'),\n options: [\n { label: gettext('UDP'), value: BindingMode.U },\n { label: gettext('UDP with queue mode'), value: BindingMode.UQ }\n ]\n }\n }\n ];\n\n const rightFields: FormlyFieldConfig[] = [\n {\n key: 'serverPublicKey',\n id: 'bs-serverPublicKey',\n type: 'string',\n defaultValue: serverPublicKey,\n templateOptions: {\n label: gettext('Server public key'),\n placeholder: 'AAAAB3NzaC1yc2E…'\n }\n },\n {\n key: 'serverUri',\n id: 'bs-serverUri',\n type: 'string',\n defaultValue: serverUri,\n templateOptions: {\n label: gettext('LWM2M server URI'),\n placeholder: 'coaps://<LWM2M-server-domain>:<coaps-port>'\n }\n },\n {\n key: 'publicKeyOrId',\n id: 'bs-publicKeyOrId',\n type: 'string',\n templateOptions: {\n label: gettext('LWM2M PSK ID'),\n description: this.DISABLED_HINT_TEXT,\n required: true\n },\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.formControl.patchValue(publicKeyOrId);\n }\n },\n expressionProperties: {\n 'templateOptions.disabled': (model: any, formState: any, field: FormlyFieldConfig) =>\n this.disablePSKField(formState, field)\n }\n },\n {\n key: 'secretKey',\n id: 'bs-secretKey',\n type: 'string',\n templateOptions: {\n label: gettext('LWM2M pre-shared key'),\n description: this.DISABLED_HINT_TEXT,\n placeholder: '0123456789abcdef',\n required: true,\n pattern: this.pattern\n },\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.formControl.patchValue(secretKey);\n }\n },\n expressionProperties: {\n 'templateOptions.disabled': (model: any, formState: any, field: FormlyFieldConfig) =>\n this.disablePSKField(formState, field)\n }\n },\n {\n key: 'lwm2mShortServerId',\n id: 'bs-lwm2mShortServerId',\n type: 'number',\n defaultValue: lwm2mShortServerId,\n templateOptions: {\n label: gettext('LWM2M short server ID'),\n placeholder: '0',\n min: 0\n }\n },\n {\n key: 'generateBootstrapServerConfig',\n id: 'bs-generateBootstrapServerConfig',\n type: 'select',\n defaultValue: generateBootstrapServerConfig || false,\n templateOptions: {\n label: gettext('Generate bootstrap server config'),\n options: [\n { label: gettext('Yes'), value: true },\n { label: gettext('No'), value: false }\n ]\n }\n },\n {\n key: 'defaultMinimumPeriod',\n id: 'bs-defaultMinimumPeriod',\n type: 'number',\n defaultValue: defaultMinimumPeriod,\n templateOptions: {\n label: gettext('Default minimum period'),\n description: gettext('in seconds'),\n placeholder: '10',\n min: 0\n }\n },\n {\n key: 'defaultMaximumPeriod',\n id: 'bs-defaultMaximumPeriod',\n type: 'number',\n defaultValue: defaultMaximumPeriod,\n templateOptions: {\n label: gettext('Default maximum period'),\n description: gettext('in seconds'),\n placeholder: '60',\n min: 0\n }\n }\n ];\n\n this.fields = [\n {\n fieldGroupClassName: 'card-block d-grid grid__col--6-6',\n fieldGroup: [\n {\n fieldGroupClassName: 'form-group p-24 p-t-8 p-b-8 m-b-0',\n fieldGroup: leftFields\n },\n {\n fieldGroupClassName: 'form-group p-24 p-t-8 p-b-8 m-b-0',\n fieldGroup: rightFields\n }\n ]\n }\n ];\n\n this.builder.buildForm(this.form, this.fields, this.model, this.options);\n\n const userHasWritePermission = this.permissions.hasRole('ROLE_INVENTORY_ADMIN');\n\n if (Object.keys(parameters).length === 0 || !userHasWritePermission) {\n this.form.disable();\n\n this.options.formState.disabled = true;\n }\n\n if (!userHasWritePermission) {\n this.alertService.info(this.writePermissionMissingAlert.text as string);\n }\n }\n\n ngOnDestroy() {\n // alertService checks if given alert exists.\n // save to remove it without additional checks\n this.alertService.remove(this.writePermissionMissingAlert);\n }\n\n disablePSKField(\n formState: { disabled: boolean; mainModel: Lwm2mBootstrapParameters },\n field: FormlyFieldConfig\n ) {\n if (formState.disabled) {\n delete field.templateOptions.description;\n return true;\n } else if (\n !formState.mainModel.securityMode ||\n formState.mainModel.securityMode === SecurityMode.NO_SEC\n ) {\n field.templateOptions.description = this.DISABLED_HINT_TEXT;\n field.formControl.patchValue(null);\n return true;\n }\n delete field.templateOptions.description;\n return false;\n }\n\n async save() {\n try {\n await this.lwm2mBootstrapParametersSvc.update({ ...this.model, ...{ id: this.deviceId } });\n this.alertService.success(gettext('Bootstrap parameters updated'));\n // disables save button\n this.form.markAsPristine();\n this.form.updateValueAndValidity();\n } catch (error) {\n this.alertService.addServerFailure({ ...error });\n }\n }\n\n async getBootstrapParameters(): Promise<Lwm2mBootstrapParameters> {\n try {\n return (await this.lwm2mBootstrapParametersSvc.detail(this.deviceId))\n .data as Lwm2mBootstrapParameters;\n } catch (error) {\n this.alertService.addServerFailure({ ...error });\n return {};\n }\n }\n}\n","<form (ngSubmit)=\"save()\">\n <div class=\"card content-fullpage fit-h\">\n <div class=\"card-header separator grid__col--fullspan\">\n <h1 class=\"card-title\">{{ 'LWM2M bootstrap parameters' | translate }}</h1>\n </div>\n <div class=\"inner-scroll\">\n <formly-form\n [form]=\"form\"\n [fields]=\"fields\"\n [model]=\"model\"\n [options]=\"options\"\n ></formly-form>\n </div>\n <div\n [hidden]=\"options.formState.disabled\"\n class=\"card-footer separator grid__col--fullspan sticky-bottom\"\n >\n <button\n title=\"{{ 'Save' | translate }}\"\n type=\"submit\"\n class=\"btn btn-primary\"\n [disabled]=\"form.invalid || !form.dirty\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n </div>\n</form>\n","import { NgModule } from '@angular/core';\nimport { CommonModule, CoreModule, gettext, hookRoute, ViewContext } from '@c8y/ngx-components';\nimport { Lwm2mBootstrapParametersGuard } from './lwm2m-bootstrap-parameters.guard';\nimport { Lwm2mBootstrapParametersComponent } from './lwm2m-bootstrap-parameters.component';\nimport { Lwm2mBootstrapParametersService } from './lwm2m-bootstrap-parameters.service';\nimport { SharedLwm2mModule } from '@c8y/ngx-components/protocol-lwm2m/shared';\n\n@NgModule({\n imports: [CommonModule, CoreModule, SharedLwm2mModule],\n declarations: [Lwm2mBootstrapParametersComponent],\n providers: [\n Lwm2mBootstrapParametersService,\n Lwm2mBootstrapParametersGuard,\n hookRoute({\n path: 'lwm2m-bootstrap-parameters',\n context: ViewContext.Device,\n component: Lwm2mBootstrapParametersComponent,\n label: gettext('LWM2M bootstrap parameters'),\n icon: 'c8y-device-protocols',\n canActivate: [Lwm2mBootstrapParametersGuard]\n })\n ]\n})\nexport class Lwm2mBootstrapParametersModule {}\n","import { Injectable } from '@angular/core';\nimport { FetchClient, IFetchResponse } from '@c8y/client';\nimport { Lwm2mClientService } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { LWM2MPostOperationsParameters } from './lwm2m-post-operations.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LWM2MPostOperationsParametersService extends Lwm2mClientService<LWM2MPostOperationsParameters> {\n private readonly detailUrl: string = '/postRegistrationOptions';\n\n constructor(client: FetchClient) {\n super(client);\n }\n\n get(): Promise<IFetchResponse> {\n return super.fetch(this.detailUrl);\n }\n\n put(data: LWM2MPostOperationsParameters) {\n const headers = { 'content-type': 'application/json', accept: 'application/json' };\n return super.fetch(this.detailUrl, {\n method: 'PUT',\n body: JSON.stringify(data),\n headers: headers\n });\n }\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { LWM2MPostOperationsParameters } from './lwm2m-post-operations.model';\nimport { LWM2MPostOperationsParametersService } from './lwm2m-post-operations.service';\nimport { gettext, AlertService } from '@c8y/ngx-components';\n\n@Component({\n selector: 'lwm2m-post-operations',\n templateUrl: './lwm2m-post-operations.component.html'\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-white\">\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","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { TenantUiService } from '@c8y/ngx-components';\n\n@Injectable()\nexport class LWM2MPostOperationsGuard implements CanActivate {\n constructor(private tenantService: TenantUiService) {}\n\n canActivate() {\n return this.tenantService.isMicroserviceSubscribedInCurrentTenant('lwm2m-agent');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { gettext, NavigatorNode, NavigatorNodeFactory } from '@c8y/ngx-components';\nimport { LWM2MPostOperationsGuard } from './lwm2m-post-operations.guard';\n\n@Injectable()\nexport class LWM2MPostOpertaionsNavigationFactory implements NavigatorNodeFactory {\n navs: NavigatorNode[] = [];\n\n constructor(private guard: LWM2MPostOperationsGuard) {}\n\n get() {\n if (this.guard.canActivate()) {\n this.navs.push(\n new NavigatorNode({\n label: gettext('LWM2M post-operations'),\n path: 'post-operations',\n icon: 'terminal',\n parent: {\n label: gettext('Device types'),\n icon: 'exchange'\n },\n priority: 0\n })\n );\n }\n return this.navs;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CoreModule, CommonModule, hookRoute, hookNavigator } from '@c8y/ngx-components';\nimport { LWM2MPostOperationsComponent } from './lwm2m-post-operations.component';\nimport { LWM2MPostOperationsGuard } from './lwm2m-post-operations.guard';\nimport { LWM2MPostOperationsParametersService } from './lwm2m-post-operations.service';\nimport { SharedLwm2mModule } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { LWM2MPostOpertaionsNavigationFactory } from './lwm2m-post-operations.factory';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\n\n@NgModule({\n imports: [CoreModule, CommonModule, SharedLwm2mModule, PopoverModule],\n declarations: [LWM2MPostOperationsComponent],\n providers: [\n LWM2MPostOperationsParametersService,\n LWM2MPostOperationsGuard,\n hookRoute({\n path: 'post-operations',\n component: LWM2MPostOperationsComponent,\n icon: 'terminal',\n priority: 2000,\n canActivate: [LWM2MPostOperationsGuard]\n }),\n hookNavigator(LWM2MPostOpertaionsNavigationFactory)\n ]\n})\nexport class LWM2MPostOperationsModule {}\n","import { NgModule } from '@angular/core';\nimport { Lwm2mBootstrapParametersModule } from './bootstrap-parameters/lwm2m-bootstrap-parameters.module';\nimport { LWM2MPostOperationsModule } from './post-registration-operations/lwm2m-post-operations.module';\n\n@NgModule({\n imports: [Lwm2mBootstrapParametersModule, LWM2MPostOperationsModule]\n})\nexport class Lwm2mModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.Lwm2mBootstrapParametersService","i3.Lwm2mBootstrapParametersService","i5","i1.LWM2MPostOperationsParametersService","i2","i4","i1.LWM2MPostOperationsGuard"],"mappings":"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"}
|
|
@@ -3,7 +3,6 @@ import { Injectable, Component, ViewChild, NgModule } from '@angular/core';
|
|
|
3
3
|
import * as i2 from '@c8y/ngx-components';
|
|
4
4
|
import { NavigatorNode, gettext, CoreModule, CommonModule, hookRoute, hookNavigator } from '@c8y/ngx-components';
|
|
5
5
|
import * as i4 from '@angular/forms';
|
|
6
|
-
import { gettext as gettext$1 } from '@c8y/client/src/gettext';
|
|
7
6
|
import * as i1 from '@c8y/client';
|
|
8
7
|
import { Lwm2mClientService, SharedLwm2mModule } from '@c8y/ngx-components/protocol-lwm2m/shared';
|
|
9
8
|
import * as i3 from '@angular/common';
|
|
@@ -84,32 +83,32 @@ class LWM2MPostOperationsComponent {
|
|
|
84
83
|
{
|
|
85
84
|
command: 'discover',
|
|
86
85
|
resource: '<objectId>',
|
|
87
|
-
description: gettext
|
|
86
|
+
description: gettext('Discover all resources of Object 3300, the generic sensor.')
|
|
88
87
|
},
|
|
89
88
|
{
|
|
90
89
|
command: 'read',
|
|
91
90
|
resource: '<objectId>/<objectInstanceId>/<resourceId>',
|
|
92
|
-
description: gettext
|
|
91
|
+
description: gettext('Read maximum sensor value')
|
|
93
92
|
},
|
|
94
93
|
{
|
|
95
94
|
command: 'write',
|
|
96
95
|
resource: '<objectId>/<objectInstanceId>/<resourceId> <applicationType>',
|
|
97
|
-
description: gettext
|
|
96
|
+
description: gettext('Write application type "CO2" to device')
|
|
98
97
|
},
|
|
99
98
|
{
|
|
100
99
|
command: 'execute',
|
|
101
100
|
resource: '<objectId>/<objectInstanceId>/<resourceId>',
|
|
102
|
-
description: gettext
|
|
101
|
+
description: gettext('Reset min and max values')
|
|
103
102
|
},
|
|
104
103
|
{
|
|
105
104
|
command: 'observe',
|
|
106
105
|
resource: '<objectId>/<objectInstanceId>/<resourceId>',
|
|
107
|
-
description: gettext
|
|
106
|
+
description: gettext('Observe sensor value. Causes device to send every new sensor value')
|
|
108
107
|
},
|
|
109
108
|
{
|
|
110
109
|
command: 'writeattr',
|
|
111
110
|
resource: '<objectId>/<objectInstanceId>/<resourceId> greater=<value>',
|
|
112
|
-
description: gettext
|
|
111
|
+
description: gettext('Only send observations if sensor value is higher than 100')
|
|
113
112
|
}
|
|
114
113
|
];
|
|
115
114
|
this.operations = {
|
|
@@ -124,7 +123,7 @@ class LWM2MPostOperationsComponent {
|
|
|
124
123
|
async save(operations) {
|
|
125
124
|
try {
|
|
126
125
|
await this.lwm2mPostOperationsSvc.put(operations);
|
|
127
|
-
this.alertService.success(gettext
|
|
126
|
+
this.alertService.success(gettext('Post operations saved'));
|
|
128
127
|
this.commandsForm.form.markAsPristine();
|
|
129
128
|
}
|
|
130
129
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-protocol-lwm2m-post-registration-operations.mjs","sources":["../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.guard.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.factory.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.service.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.component.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.component.html","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.module.ts","../../protocol-lwm2m/post-registration-operations/c8y-ngx-components-protocol-lwm2m-post-registration-operations.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { TenantUiService } from '@c8y/ngx-components';\n\n@Injectable()\nexport class LWM2MPostOperationsGuard implements CanActivate {\n constructor(private tenantService: TenantUiService) {}\n\n canActivate() {\n return this.tenantService.isMicroserviceSubscribedInCurrentTenant('lwm2m-agent');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { gettext, NavigatorNode, NavigatorNodeFactory } from '@c8y/ngx-components';\nimport { LWM2MPostOperationsGuard } from './lwm2m-post-operations.guard';\n\n@Injectable()\nexport class LWM2MPostOpertaionsNavigationFactory implements NavigatorNodeFactory {\n navs: NavigatorNode[] = [];\n\n constructor(private guard: LWM2MPostOperationsGuard) {}\n\n get() {\n if (this.guard.canActivate()) {\n this.navs.push(\n new NavigatorNode({\n label: gettext('LWM2M post-operations'),\n path: 'post-operations',\n icon: 'terminal',\n parent: {\n label: gettext('Device types'),\n icon: 'exchange'\n },\n priority: 0\n })\n );\n }\n return this.navs;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FetchClient, IFetchResponse } from '@c8y/client';\nimport { Lwm2mClientService } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { LWM2MPostOperationsParameters } from './lwm2m-post-operations.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LWM2MPostOperationsParametersService extends Lwm2mClientService<LWM2MPostOperationsParameters> {\n private readonly detailUrl: string = '/postRegistrationOptions';\n\n constructor(client: FetchClient) {\n super(client);\n }\n\n get(): Promise<IFetchResponse> {\n return super.fetch(this.detailUrl);\n }\n\n put(data: LWM2MPostOperationsParameters) {\n const headers = { 'content-type': 'application/json', accept: 'application/json' };\n return super.fetch(this.detailUrl, {\n method: 'PUT',\n body: JSON.stringify(data),\n headers: headers\n });\n }\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { gettext } from '@c8y/client/src/gettext';\nimport { LWM2MPostOperationsParameters } from './lwm2m-post-operations.model';\nimport { LWM2MPostOperationsParametersService } from './lwm2m-post-operations.service';\nimport { AlertService } from '@c8y/ngx-components';\n\n@Component({\n selector: 'lwm2m-post-operations',\n templateUrl: './lwm2m-post-operations.component.html'\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-white\">\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","import { NgModule } from '@angular/core';\nimport { CoreModule, CommonModule, hookRoute, hookNavigator } from '@c8y/ngx-components';\nimport { LWM2MPostOperationsComponent } from './lwm2m-post-operations.component';\nimport { LWM2MPostOperationsGuard } from './lwm2m-post-operations.guard';\nimport { LWM2MPostOperationsParametersService } from './lwm2m-post-operations.service';\nimport { SharedLwm2mModule } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { LWM2MPostOpertaionsNavigationFactory } from './lwm2m-post-operations.factory';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\n\n@NgModule({\n imports: [CoreModule, CommonModule, SharedLwm2mModule, PopoverModule],\n declarations: [LWM2MPostOperationsComponent],\n providers: [\n LWM2MPostOperationsParametersService,\n LWM2MPostOperationsGuard,\n hookRoute({\n path: 'post-operations',\n component: LWM2MPostOperationsComponent,\n icon: 'terminal',\n priority: 2000,\n canActivate: [LWM2MPostOperationsGuard]\n }),\n hookNavigator(LWM2MPostOpertaionsNavigationFactory)\n ]\n})\nexport class LWM2MPostOperationsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.LWM2MPostOperationsGuard","gettext","i1.LWM2MPostOperationsParametersService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-protocol-lwm2m-post-registration-operations.mjs","sources":["../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.guard.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.factory.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.service.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.component.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.component.html","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.module.ts","../../protocol-lwm2m/post-registration-operations/c8y-ngx-components-protocol-lwm2m-post-registration-operations.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { TenantUiService } from '@c8y/ngx-components';\n\n@Injectable()\nexport class LWM2MPostOperationsGuard implements CanActivate {\n constructor(private tenantService: TenantUiService) {}\n\n canActivate() {\n return this.tenantService.isMicroserviceSubscribedInCurrentTenant('lwm2m-agent');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { gettext, NavigatorNode, NavigatorNodeFactory } from '@c8y/ngx-components';\nimport { LWM2MPostOperationsGuard } from './lwm2m-post-operations.guard';\n\n@Injectable()\nexport class LWM2MPostOpertaionsNavigationFactory implements NavigatorNodeFactory {\n navs: NavigatorNode[] = [];\n\n constructor(private guard: LWM2MPostOperationsGuard) {}\n\n get() {\n if (this.guard.canActivate()) {\n this.navs.push(\n new NavigatorNode({\n label: gettext('LWM2M post-operations'),\n path: 'post-operations',\n icon: 'terminal',\n parent: {\n label: gettext('Device types'),\n icon: 'exchange'\n },\n priority: 0\n })\n );\n }\n return this.navs;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FetchClient, IFetchResponse } from '@c8y/client';\nimport { Lwm2mClientService } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { LWM2MPostOperationsParameters } from './lwm2m-post-operations.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LWM2MPostOperationsParametersService extends Lwm2mClientService<LWM2MPostOperationsParameters> {\n private readonly detailUrl: string = '/postRegistrationOptions';\n\n constructor(client: FetchClient) {\n super(client);\n }\n\n get(): Promise<IFetchResponse> {\n return super.fetch(this.detailUrl);\n }\n\n put(data: LWM2MPostOperationsParameters) {\n const headers = { 'content-type': 'application/json', accept: 'application/json' };\n return super.fetch(this.detailUrl, {\n method: 'PUT',\n body: JSON.stringify(data),\n headers: headers\n });\n }\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { LWM2MPostOperationsParameters } from './lwm2m-post-operations.model';\nimport { LWM2MPostOperationsParametersService } from './lwm2m-post-operations.service';\nimport { gettext, AlertService } from '@c8y/ngx-components';\n\n@Component({\n selector: 'lwm2m-post-operations',\n templateUrl: './lwm2m-post-operations.component.html'\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-white\">\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","import { NgModule } from '@angular/core';\nimport { CoreModule, CommonModule, hookRoute, hookNavigator } from '@c8y/ngx-components';\nimport { LWM2MPostOperationsComponent } from './lwm2m-post-operations.component';\nimport { LWM2MPostOperationsGuard } from './lwm2m-post-operations.guard';\nimport { LWM2MPostOperationsParametersService } from './lwm2m-post-operations.service';\nimport { SharedLwm2mModule } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { LWM2MPostOpertaionsNavigationFactory } from './lwm2m-post-operations.factory';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\n\n@NgModule({\n imports: [CoreModule, CommonModule, SharedLwm2mModule, PopoverModule],\n declarations: [LWM2MPostOperationsComponent],\n providers: [\n LWM2MPostOperationsParametersService,\n LWM2MPostOperationsGuard,\n hookRoute({\n path: 'post-operations',\n component: LWM2MPostOperationsComponent,\n icon: 'terminal',\n priority: 2000,\n canActivate: [LWM2MPostOperationsGuard]\n }),\n hookNavigator(LWM2MPostOpertaionsNavigationFactory)\n ]\n})\nexport class LWM2MPostOperationsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.LWM2MPostOperationsGuard","i1.LWM2MPostOperationsParametersService"],"mappings":"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"}
|
|
@@ -8,7 +8,6 @@ import * as i4$1 from '@angular/forms';
|
|
|
8
8
|
import { FormGroup } from '@angular/forms';
|
|
9
9
|
import * as i4 from '@angular/router';
|
|
10
10
|
import * as i2 from '@ngx-formly/core';
|
|
11
|
-
import { gettext as gettext$1 } from '@c8y/client/src/gettext';
|
|
12
11
|
import * as i3 from '@angular/common';
|
|
13
12
|
import { PopoverModule } from 'ngx-bootstrap/popover';
|
|
14
13
|
|
|
@@ -460,32 +459,32 @@ class LWM2MPostOperationsComponent {
|
|
|
460
459
|
{
|
|
461
460
|
command: 'discover',
|
|
462
461
|
resource: '<objectId>',
|
|
463
|
-
description: gettext
|
|
462
|
+
description: gettext('Discover all resources of Object 3300, the generic sensor.')
|
|
464
463
|
},
|
|
465
464
|
{
|
|
466
465
|
command: 'read',
|
|
467
466
|
resource: '<objectId>/<objectInstanceId>/<resourceId>',
|
|
468
|
-
description: gettext
|
|
467
|
+
description: gettext('Read maximum sensor value')
|
|
469
468
|
},
|
|
470
469
|
{
|
|
471
470
|
command: 'write',
|
|
472
471
|
resource: '<objectId>/<objectInstanceId>/<resourceId> <applicationType>',
|
|
473
|
-
description: gettext
|
|
472
|
+
description: gettext('Write application type "CO2" to device')
|
|
474
473
|
},
|
|
475
474
|
{
|
|
476
475
|
command: 'execute',
|
|
477
476
|
resource: '<objectId>/<objectInstanceId>/<resourceId>',
|
|
478
|
-
description: gettext
|
|
477
|
+
description: gettext('Reset min and max values')
|
|
479
478
|
},
|
|
480
479
|
{
|
|
481
480
|
command: 'observe',
|
|
482
481
|
resource: '<objectId>/<objectInstanceId>/<resourceId>',
|
|
483
|
-
description: gettext
|
|
482
|
+
description: gettext('Observe sensor value. Causes device to send every new sensor value')
|
|
484
483
|
},
|
|
485
484
|
{
|
|
486
485
|
command: 'writeattr',
|
|
487
486
|
resource: '<objectId>/<objectInstanceId>/<resourceId> greater=<value>',
|
|
488
|
-
description: gettext
|
|
487
|
+
description: gettext('Only send observations if sensor value is higher than 100')
|
|
489
488
|
}
|
|
490
489
|
];
|
|
491
490
|
this.operations = {
|
|
@@ -500,7 +499,7 @@ class LWM2MPostOperationsComponent {
|
|
|
500
499
|
async save(operations) {
|
|
501
500
|
try {
|
|
502
501
|
await this.lwm2mPostOperationsSvc.put(operations);
|
|
503
|
-
this.alertService.success(gettext
|
|
502
|
+
this.alertService.success(gettext('Post operations saved'));
|
|
504
503
|
this.commandsForm.form.markAsPristine();
|
|
505
504
|
}
|
|
506
505
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-protocol-lwm2m.mjs","sources":["../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.service.ts","../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.guard.ts","../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.model.ts","../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.component.ts","../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.component.html","../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.module.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.service.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.component.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.component.html","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.guard.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.factory.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.module.ts","../../protocol-lwm2m/lwm2m.module.ts","../../protocol-lwm2m/c8y-ngx-components-protocol-lwm2m.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { FetchClient, IResult } from '@c8y/client';\nimport { Lwm2mClientService } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { Lwm2mBootstrapParameters } from './lwm2m-bootstrap-parameters.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Lwm2mBootstrapParametersService extends Lwm2mClientService<Lwm2mBootstrapParameters> {\n constructor(client: FetchClient) {\n super(client);\n }\n\n detail(id: string): Promise<IResult<Lwm2mBootstrapParameters | any>> {\n return super.detail(id);\n }\n\n update(entity: Lwm2mBootstrapParameters): Promise<IResult<Lwm2mBootstrapParameters | any>> {\n return super.update(entity);\n }\n\n onBeforeUpdate(entity: Lwm2mBootstrapParameters): Lwm2mBootstrapParameters {\n delete entity.id;\n return entity;\n }\n\n getDetailUrl(entity: Lwm2mBootstrapParameters): string {\n return `${this.listUrl}/${super.getEntityId(entity)}/bootstrapParams`;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { TenantUiService, Permissions } from '@c8y/ngx-components';\nimport { Lwm2mManagedObject } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { Lwm2mBootstrapParametersService } from './lwm2m-bootstrap-parameters.service';\n\n@Injectable()\nexport class Lwm2mBootstrapParametersGuard implements CanActivate {\n constructor(\n private tenantService: TenantUiService,\n private permissions: Permissions,\n private lwm2mService: Lwm2mBootstrapParametersService\n ) {}\n\n canActivate(route: ActivatedRouteSnapshot) {\n const contextData =\n ((route.data as any).contextData as Lwm2mManagedObject) ||\n ((route.parent.data as any).contextData as Lwm2mManagedObject);\n\n return (\n this.lwm2mService.isLwm2mDevice(contextData) &&\n this.tenantService.isMicroserviceSubscribedInCurrentTenant('lwm2m-agent') &&\n this.permissions.hasRole('ROLE_INVENTORY_READ')\n );\n }\n}\n","export interface Lwm2mBootstrapParameters {\n bindingMode?: BindingMode;\n bootstrapId?: string;\n bootstrapKey?: string;\n bootstrapShortServerId?: number;\n defaultMaximumPeriod?: number;\n defaultMinimumPeriod?: number;\n securityMode?: SecurityMode;\n endpoint?: string;\n generateBootstrapServerConfig?: boolean;\n lwm2mShortServerId?: number;\n serverUri?: string;\n registrationLifeTime?: number;\n serverPublicKey?: string;\n securityInstanceOffset?: number;\n publicKeyOrId?: string;\n secretKey?: string;\n id?: string;\n}\n\nexport enum SecurityMode {\n NO_SEC = 'NO_SEC',\n PSK = 'PSK'\n}\n\nexport enum BindingMode {\n U = 'U',\n UQ = 'UQ'\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { gettext, AlertService, Permissions, Alert } from '@c8y/ngx-components';\nimport { FormlyFieldConfig, FormlyFormBuilder, FormlyFormOptions } from '@ngx-formly/core';\nimport { Lwm2mBootstrapParametersService } from './lwm2m-bootstrap-parameters.service';\nimport {\n BindingMode,\n Lwm2mBootstrapParameters,\n SecurityMode\n} from './lwm2m-bootstrap-parameters.model';\n\n@Component({\n selector: 'c8y-lwm2m-bootstrap-parameters',\n templateUrl: './lwm2m-bootstrap-parameters.component.html'\n})\nexport class Lwm2mBootstrapParametersComponent implements OnInit, OnDestroy {\n fields: FormlyFieldConfig[];\n form: FormGroup = new FormGroup({});\n model = {};\n options: FormlyFormOptions = {\n formState: {\n disabled: false,\n mainModel: this.model\n }\n };\n\n private readonly writePermissionMissingAlert: Alert = {\n text: gettext('You do not have write permissions. This form is read-only.'),\n type: 'info'\n };\n\n private readonly DISABLED_HINT_TEXT: string = gettext(\n 'Change the security mode to enable this field.'\n );\n private readonly pattern: RegExp = /^([a-fA-F0-9]{2})+$/;\n private deviceId: string;\n\n constructor(\n private alertService: AlertService,\n private permissions: Permissions,\n private builder: FormlyFormBuilder,\n private lwm2mBootstrapParametersSvc: Lwm2mBootstrapParametersService,\n private route: ActivatedRoute\n ) {\n this.deviceId = this.route?.snapshot?.parent?.params?.id;\n }\n\n async ngOnInit() {\n const parameters: Lwm2mBootstrapParameters = await this.getBootstrapParameters();\n const {\n bindingMode,\n bootstrapId,\n bootstrapKey,\n bootstrapShortServerId,\n defaultMaximumPeriod,\n defaultMinimumPeriod,\n securityMode,\n endpoint,\n generateBootstrapServerConfig,\n lwm2mShortServerId,\n serverUri,\n registrationLifeTime,\n serverPublicKey,\n securityInstanceOffset,\n publicKeyOrId,\n secretKey\n }: Lwm2mBootstrapParameters = parameters;\n\n const leftFields: FormlyFieldConfig[] = [\n {\n key: 'endpoint',\n id: 'bs-endpoint',\n type: 'string',\n defaultValue: endpoint,\n templateOptions: {\n label: gettext('Endpoint'),\n placeholder: 'urn:imei:012345678901234',\n readonly: true\n }\n },\n {\n key: 'securityMode',\n id: 'bs-securityMode',\n type: 'select',\n defaultValue: securityMode || SecurityMode.NO_SEC,\n templateOptions: {\n label: gettext('Security mode'),\n options: [\n { label: SecurityMode.NO_SEC, value: SecurityMode.NO_SEC },\n { label: SecurityMode.PSK, value: SecurityMode.PSK }\n ],\n required: true\n }\n },\n {\n key: 'bootstrapId',\n id: 'bs-bootstrapId',\n type: 'string',\n templateOptions: {\n label: gettext('Bootstrap PSK ID'),\n description: this.DISABLED_HINT_TEXT,\n required: true\n },\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.formControl.patchValue(bootstrapId);\n }\n },\n expressionProperties: {\n 'templateOptions.disabled': (model: any, formState: any, field: FormlyFieldConfig) =>\n this.disablePSKField(formState, field)\n }\n },\n {\n key: 'bootstrapKey',\n id: 'bs-bootstrapKey',\n type: 'string',\n templateOptions: {\n label: gettext('Bootstrap pre-shared key'),\n description: this.DISABLED_HINT_TEXT,\n placeholder: '0123456789abcdef',\n required: true,\n pattern: this.pattern\n },\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.formControl.patchValue(bootstrapKey);\n }\n },\n expressionProperties: {\n 'templateOptions.disabled': (model: any, formState: any, field: FormlyFieldConfig) =>\n this.disablePSKField(formState, field)\n }\n },\n {\n key: 'securityInstanceOffset',\n id: 'bs-securityInstanceOffset',\n type: 'number',\n defaultValue: securityInstanceOffset,\n templateOptions: {\n label: gettext('Security instance offset'),\n placeholder: '0',\n min: 0\n }\n },\n {\n key: 'bootstrapShortServerId',\n id: 'bs-bootstrapShortServerId',\n type: 'number',\n defaultValue: bootstrapShortServerId,\n templateOptions: {\n label: gettext('LWM2M bootstrap short server ID'),\n placeholder: '0',\n min: 0\n }\n },\n {\n key: 'registrationLifeTime',\n id: 'bs-registrationLifeTime',\n type: 'number',\n defaultValue: registrationLifeTime,\n templateOptions: {\n label: gettext('Registration lifetime'),\n description: gettext('in seconds'),\n placeholder: '600',\n min: 0\n }\n },\n {\n key: 'bindingMode',\n id: 'bs-bindingMode',\n type: 'select',\n defaultValue: bindingMode || BindingMode.U,\n templateOptions: {\n label: gettext('Binding mode'),\n options: [\n { label: gettext('UDP'), value: BindingMode.U },\n { label: gettext('UDP with queue mode'), value: BindingMode.UQ }\n ]\n }\n }\n ];\n\n const rightFields: FormlyFieldConfig[] = [\n {\n key: 'serverPublicKey',\n id: 'bs-serverPublicKey',\n type: 'string',\n defaultValue: serverPublicKey,\n templateOptions: {\n label: gettext('Server public key'),\n placeholder: 'AAAAB3NzaC1yc2E…'\n }\n },\n {\n key: 'serverUri',\n id: 'bs-serverUri',\n type: 'string',\n defaultValue: serverUri,\n templateOptions: {\n label: gettext('LWM2M server URI'),\n placeholder: 'coaps://<LWM2M-server-domain>:<coaps-port>'\n }\n },\n {\n key: 'publicKeyOrId',\n id: 'bs-publicKeyOrId',\n type: 'string',\n templateOptions: {\n label: gettext('LWM2M PSK ID'),\n description: this.DISABLED_HINT_TEXT,\n required: true\n },\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.formControl.patchValue(publicKeyOrId);\n }\n },\n expressionProperties: {\n 'templateOptions.disabled': (model: any, formState: any, field: FormlyFieldConfig) =>\n this.disablePSKField(formState, field)\n }\n },\n {\n key: 'secretKey',\n id: 'bs-secretKey',\n type: 'string',\n templateOptions: {\n label: gettext('LWM2M pre-shared key'),\n description: this.DISABLED_HINT_TEXT,\n placeholder: '0123456789abcdef',\n required: true,\n pattern: this.pattern\n },\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.formControl.patchValue(secretKey);\n }\n },\n expressionProperties: {\n 'templateOptions.disabled': (model: any, formState: any, field: FormlyFieldConfig) =>\n this.disablePSKField(formState, field)\n }\n },\n {\n key: 'lwm2mShortServerId',\n id: 'bs-lwm2mShortServerId',\n type: 'number',\n defaultValue: lwm2mShortServerId,\n templateOptions: {\n label: gettext('LWM2M short server ID'),\n placeholder: '0',\n min: 0\n }\n },\n {\n key: 'generateBootstrapServerConfig',\n id: 'bs-generateBootstrapServerConfig',\n type: 'select',\n defaultValue: generateBootstrapServerConfig || false,\n templateOptions: {\n label: gettext('Generate bootstrap server config'),\n options: [\n { label: gettext('Yes'), value: true },\n { label: gettext('No'), value: false }\n ]\n }\n },\n {\n key: 'defaultMinimumPeriod',\n id: 'bs-defaultMinimumPeriod',\n type: 'number',\n defaultValue: defaultMinimumPeriod,\n templateOptions: {\n label: gettext('Default minimum period'),\n description: gettext('in seconds'),\n placeholder: '10',\n min: 0\n }\n },\n {\n key: 'defaultMaximumPeriod',\n id: 'bs-defaultMaximumPeriod',\n type: 'number',\n defaultValue: defaultMaximumPeriod,\n templateOptions: {\n label: gettext('Default maximum period'),\n description: gettext('in seconds'),\n placeholder: '60',\n min: 0\n }\n }\n ];\n\n this.fields = [\n {\n fieldGroupClassName: 'card-block d-grid grid__col--6-6',\n fieldGroup: [\n {\n fieldGroupClassName: 'form-group p-24 p-t-8 p-b-8 m-b-0',\n fieldGroup: leftFields\n },\n {\n fieldGroupClassName: 'form-group p-24 p-t-8 p-b-8 m-b-0',\n fieldGroup: rightFields\n }\n ]\n }\n ];\n\n this.builder.buildForm(this.form, this.fields, this.model, this.options);\n\n const userHasWritePermission = this.permissions.hasRole('ROLE_INVENTORY_ADMIN');\n\n if (Object.keys(parameters).length === 0 || !userHasWritePermission) {\n this.form.disable();\n\n this.options.formState.disabled = true;\n }\n\n if (!userHasWritePermission) {\n this.alertService.info(this.writePermissionMissingAlert.text as string);\n }\n }\n\n ngOnDestroy() {\n // alertService checks if given alert exists.\n // save to remove it without additional checks\n this.alertService.remove(this.writePermissionMissingAlert);\n }\n\n disablePSKField(\n formState: { disabled: boolean; mainModel: Lwm2mBootstrapParameters },\n field: FormlyFieldConfig\n ) {\n if (formState.disabled) {\n delete field.templateOptions.description;\n return true;\n } else if (\n !formState.mainModel.securityMode ||\n formState.mainModel.securityMode === SecurityMode.NO_SEC\n ) {\n field.templateOptions.description = this.DISABLED_HINT_TEXT;\n field.formControl.patchValue(null);\n return true;\n }\n delete field.templateOptions.description;\n return false;\n }\n\n async save() {\n try {\n await this.lwm2mBootstrapParametersSvc.update({ ...this.model, ...{ id: this.deviceId } });\n this.alertService.success(gettext('Bootstrap parameters updated'));\n // disables save button\n this.form.markAsPristine();\n this.form.updateValueAndValidity();\n } catch (error) {\n this.alertService.addServerFailure({ ...error });\n }\n }\n\n async getBootstrapParameters(): Promise<Lwm2mBootstrapParameters> {\n try {\n return (await this.lwm2mBootstrapParametersSvc.detail(this.deviceId))\n .data as Lwm2mBootstrapParameters;\n } catch (error) {\n this.alertService.addServerFailure({ ...error });\n return {};\n }\n }\n}\n","<form (ngSubmit)=\"save()\">\n <div class=\"card content-fullpage fit-h\">\n <div class=\"card-header separator grid__col--fullspan\">\n <h1 class=\"card-title\">{{ 'LWM2M bootstrap parameters' | translate }}</h1>\n </div>\n <div class=\"inner-scroll\">\n <formly-form\n [form]=\"form\"\n [fields]=\"fields\"\n [model]=\"model\"\n [options]=\"options\"\n ></formly-form>\n </div>\n <div\n [hidden]=\"options.formState.disabled\"\n class=\"card-footer separator grid__col--fullspan sticky-bottom\"\n >\n <button\n title=\"{{ 'Save' | translate }}\"\n type=\"submit\"\n class=\"btn btn-primary\"\n [disabled]=\"form.invalid || !form.dirty\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n </div>\n</form>\n","import { NgModule } from '@angular/core';\nimport { CommonModule, CoreModule, gettext, hookRoute, ViewContext } from '@c8y/ngx-components';\nimport { Lwm2mBootstrapParametersGuard } from './lwm2m-bootstrap-parameters.guard';\nimport { Lwm2mBootstrapParametersComponent } from './lwm2m-bootstrap-parameters.component';\nimport { Lwm2mBootstrapParametersService } from './lwm2m-bootstrap-parameters.service';\nimport { SharedLwm2mModule } from '@c8y/ngx-components/protocol-lwm2m/shared';\n\n@NgModule({\n imports: [CommonModule, CoreModule, SharedLwm2mModule],\n declarations: [Lwm2mBootstrapParametersComponent],\n providers: [\n Lwm2mBootstrapParametersService,\n Lwm2mBootstrapParametersGuard,\n hookRoute({\n path: 'lwm2m-bootstrap-parameters',\n context: ViewContext.Device,\n component: Lwm2mBootstrapParametersComponent,\n label: gettext('LWM2M bootstrap parameters'),\n icon: 'c8y-device-protocols',\n canActivate: [Lwm2mBootstrapParametersGuard]\n })\n ]\n})\nexport class Lwm2mBootstrapParametersModule {}\n","import { Injectable } from '@angular/core';\nimport { FetchClient, IFetchResponse } from '@c8y/client';\nimport { Lwm2mClientService } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { LWM2MPostOperationsParameters } from './lwm2m-post-operations.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LWM2MPostOperationsParametersService extends Lwm2mClientService<LWM2MPostOperationsParameters> {\n private readonly detailUrl: string = '/postRegistrationOptions';\n\n constructor(client: FetchClient) {\n super(client);\n }\n\n get(): Promise<IFetchResponse> {\n return super.fetch(this.detailUrl);\n }\n\n put(data: LWM2MPostOperationsParameters) {\n const headers = { 'content-type': 'application/json', accept: 'application/json' };\n return super.fetch(this.detailUrl, {\n method: 'PUT',\n body: JSON.stringify(data),\n headers: headers\n });\n }\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { gettext } from '@c8y/client/src/gettext';\nimport { LWM2MPostOperationsParameters } from './lwm2m-post-operations.model';\nimport { LWM2MPostOperationsParametersService } from './lwm2m-post-operations.service';\nimport { AlertService } from '@c8y/ngx-components';\n\n@Component({\n selector: 'lwm2m-post-operations',\n templateUrl: './lwm2m-post-operations.component.html'\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-white\">\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","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { TenantUiService } from '@c8y/ngx-components';\n\n@Injectable()\nexport class LWM2MPostOperationsGuard implements CanActivate {\n constructor(private tenantService: TenantUiService) {}\n\n canActivate() {\n return this.tenantService.isMicroserviceSubscribedInCurrentTenant('lwm2m-agent');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { gettext, NavigatorNode, NavigatorNodeFactory } from '@c8y/ngx-components';\nimport { LWM2MPostOperationsGuard } from './lwm2m-post-operations.guard';\n\n@Injectable()\nexport class LWM2MPostOpertaionsNavigationFactory implements NavigatorNodeFactory {\n navs: NavigatorNode[] = [];\n\n constructor(private guard: LWM2MPostOperationsGuard) {}\n\n get() {\n if (this.guard.canActivate()) {\n this.navs.push(\n new NavigatorNode({\n label: gettext('LWM2M post-operations'),\n path: 'post-operations',\n icon: 'terminal',\n parent: {\n label: gettext('Device types'),\n icon: 'exchange'\n },\n priority: 0\n })\n );\n }\n return this.navs;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CoreModule, CommonModule, hookRoute, hookNavigator } from '@c8y/ngx-components';\nimport { LWM2MPostOperationsComponent } from './lwm2m-post-operations.component';\nimport { LWM2MPostOperationsGuard } from './lwm2m-post-operations.guard';\nimport { LWM2MPostOperationsParametersService } from './lwm2m-post-operations.service';\nimport { SharedLwm2mModule } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { LWM2MPostOpertaionsNavigationFactory } from './lwm2m-post-operations.factory';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\n\n@NgModule({\n imports: [CoreModule, CommonModule, SharedLwm2mModule, PopoverModule],\n declarations: [LWM2MPostOperationsComponent],\n providers: [\n LWM2MPostOperationsParametersService,\n LWM2MPostOperationsGuard,\n hookRoute({\n path: 'post-operations',\n component: LWM2MPostOperationsComponent,\n icon: 'terminal',\n priority: 2000,\n canActivate: [LWM2MPostOperationsGuard]\n }),\n hookNavigator(LWM2MPostOpertaionsNavigationFactory)\n ]\n})\nexport class LWM2MPostOperationsModule {}\n","import { NgModule } from '@angular/core';\nimport { Lwm2mBootstrapParametersModule } from './bootstrap-parameters/lwm2m-bootstrap-parameters.module';\nimport { LWM2MPostOperationsModule } from './post-registration-operations/lwm2m-post-operations.module';\n\n@NgModule({\n imports: [Lwm2mBootstrapParametersModule, LWM2MPostOperationsModule]\n})\nexport class Lwm2mModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.Lwm2mBootstrapParametersService","i3.Lwm2mBootstrapParametersService","i5","gettext","i1.LWM2MPostOperationsParametersService","i2","i4","i1.LWM2MPostOperationsGuard"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-protocol-lwm2m.mjs","sources":["../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.service.ts","../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.guard.ts","../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.model.ts","../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.component.ts","../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.component.html","../../protocol-lwm2m/bootstrap-parameters/lwm2m-bootstrap-parameters.module.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.service.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.component.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.component.html","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.guard.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.factory.ts","../../protocol-lwm2m/post-registration-operations/lwm2m-post-operations.module.ts","../../protocol-lwm2m/lwm2m.module.ts","../../protocol-lwm2m/c8y-ngx-components-protocol-lwm2m.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { FetchClient, IResult } from '@c8y/client';\nimport { Lwm2mClientService } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { Lwm2mBootstrapParameters } from './lwm2m-bootstrap-parameters.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Lwm2mBootstrapParametersService extends Lwm2mClientService<Lwm2mBootstrapParameters> {\n constructor(client: FetchClient) {\n super(client);\n }\n\n detail(id: string): Promise<IResult<Lwm2mBootstrapParameters | any>> {\n return super.detail(id);\n }\n\n update(entity: Lwm2mBootstrapParameters): Promise<IResult<Lwm2mBootstrapParameters | any>> {\n return super.update(entity);\n }\n\n onBeforeUpdate(entity: Lwm2mBootstrapParameters): Lwm2mBootstrapParameters {\n delete entity.id;\n return entity;\n }\n\n getDetailUrl(entity: Lwm2mBootstrapParameters): string {\n return `${this.listUrl}/${super.getEntityId(entity)}/bootstrapParams`;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate } from '@angular/router';\nimport { TenantUiService, Permissions } from '@c8y/ngx-components';\nimport { Lwm2mManagedObject } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { Lwm2mBootstrapParametersService } from './lwm2m-bootstrap-parameters.service';\n\n@Injectable()\nexport class Lwm2mBootstrapParametersGuard implements CanActivate {\n constructor(\n private tenantService: TenantUiService,\n private permissions: Permissions,\n private lwm2mService: Lwm2mBootstrapParametersService\n ) {}\n\n canActivate(route: ActivatedRouteSnapshot) {\n const contextData =\n ((route.data as any).contextData as Lwm2mManagedObject) ||\n ((route.parent.data as any).contextData as Lwm2mManagedObject);\n\n return (\n this.lwm2mService.isLwm2mDevice(contextData) &&\n this.tenantService.isMicroserviceSubscribedInCurrentTenant('lwm2m-agent') &&\n this.permissions.hasRole('ROLE_INVENTORY_READ')\n );\n }\n}\n","export interface Lwm2mBootstrapParameters {\n bindingMode?: BindingMode;\n bootstrapId?: string;\n bootstrapKey?: string;\n bootstrapShortServerId?: number;\n defaultMaximumPeriod?: number;\n defaultMinimumPeriod?: number;\n securityMode?: SecurityMode;\n endpoint?: string;\n generateBootstrapServerConfig?: boolean;\n lwm2mShortServerId?: number;\n serverUri?: string;\n registrationLifeTime?: number;\n serverPublicKey?: string;\n securityInstanceOffset?: number;\n publicKeyOrId?: string;\n secretKey?: string;\n id?: string;\n}\n\nexport enum SecurityMode {\n NO_SEC = 'NO_SEC',\n PSK = 'PSK'\n}\n\nexport enum BindingMode {\n U = 'U',\n UQ = 'UQ'\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { gettext, AlertService, Permissions, Alert } from '@c8y/ngx-components';\nimport { FormlyFieldConfig, FormlyFormBuilder, FormlyFormOptions } from '@ngx-formly/core';\nimport { Lwm2mBootstrapParametersService } from './lwm2m-bootstrap-parameters.service';\nimport {\n BindingMode,\n Lwm2mBootstrapParameters,\n SecurityMode\n} from './lwm2m-bootstrap-parameters.model';\n\n@Component({\n selector: 'c8y-lwm2m-bootstrap-parameters',\n templateUrl: './lwm2m-bootstrap-parameters.component.html'\n})\nexport class Lwm2mBootstrapParametersComponent implements OnInit, OnDestroy {\n fields: FormlyFieldConfig[];\n form: FormGroup = new FormGroup({});\n model = {};\n options: FormlyFormOptions = {\n formState: {\n disabled: false,\n mainModel: this.model\n }\n };\n\n private readonly writePermissionMissingAlert: Alert = {\n text: gettext('You do not have write permissions. This form is read-only.'),\n type: 'info'\n };\n\n private readonly DISABLED_HINT_TEXT: string = gettext(\n 'Change the security mode to enable this field.'\n );\n private readonly pattern: RegExp = /^([a-fA-F0-9]{2})+$/;\n private deviceId: string;\n\n constructor(\n private alertService: AlertService,\n private permissions: Permissions,\n private builder: FormlyFormBuilder,\n private lwm2mBootstrapParametersSvc: Lwm2mBootstrapParametersService,\n private route: ActivatedRoute\n ) {\n this.deviceId = this.route?.snapshot?.parent?.params?.id;\n }\n\n async ngOnInit() {\n const parameters: Lwm2mBootstrapParameters = await this.getBootstrapParameters();\n const {\n bindingMode,\n bootstrapId,\n bootstrapKey,\n bootstrapShortServerId,\n defaultMaximumPeriod,\n defaultMinimumPeriod,\n securityMode,\n endpoint,\n generateBootstrapServerConfig,\n lwm2mShortServerId,\n serverUri,\n registrationLifeTime,\n serverPublicKey,\n securityInstanceOffset,\n publicKeyOrId,\n secretKey\n }: Lwm2mBootstrapParameters = parameters;\n\n const leftFields: FormlyFieldConfig[] = [\n {\n key: 'endpoint',\n id: 'bs-endpoint',\n type: 'string',\n defaultValue: endpoint,\n templateOptions: {\n label: gettext('Endpoint'),\n placeholder: 'urn:imei:012345678901234',\n readonly: true\n }\n },\n {\n key: 'securityMode',\n id: 'bs-securityMode',\n type: 'select',\n defaultValue: securityMode || SecurityMode.NO_SEC,\n templateOptions: {\n label: gettext('Security mode'),\n options: [\n { label: SecurityMode.NO_SEC, value: SecurityMode.NO_SEC },\n { label: SecurityMode.PSK, value: SecurityMode.PSK }\n ],\n required: true\n }\n },\n {\n key: 'bootstrapId',\n id: 'bs-bootstrapId',\n type: 'string',\n templateOptions: {\n label: gettext('Bootstrap PSK ID'),\n description: this.DISABLED_HINT_TEXT,\n required: true\n },\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.formControl.patchValue(bootstrapId);\n }\n },\n expressionProperties: {\n 'templateOptions.disabled': (model: any, formState: any, field: FormlyFieldConfig) =>\n this.disablePSKField(formState, field)\n }\n },\n {\n key: 'bootstrapKey',\n id: 'bs-bootstrapKey',\n type: 'string',\n templateOptions: {\n label: gettext('Bootstrap pre-shared key'),\n description: this.DISABLED_HINT_TEXT,\n placeholder: '0123456789abcdef',\n required: true,\n pattern: this.pattern\n },\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.formControl.patchValue(bootstrapKey);\n }\n },\n expressionProperties: {\n 'templateOptions.disabled': (model: any, formState: any, field: FormlyFieldConfig) =>\n this.disablePSKField(formState, field)\n }\n },\n {\n key: 'securityInstanceOffset',\n id: 'bs-securityInstanceOffset',\n type: 'number',\n defaultValue: securityInstanceOffset,\n templateOptions: {\n label: gettext('Security instance offset'),\n placeholder: '0',\n min: 0\n }\n },\n {\n key: 'bootstrapShortServerId',\n id: 'bs-bootstrapShortServerId',\n type: 'number',\n defaultValue: bootstrapShortServerId,\n templateOptions: {\n label: gettext('LWM2M bootstrap short server ID'),\n placeholder: '0',\n min: 0\n }\n },\n {\n key: 'registrationLifeTime',\n id: 'bs-registrationLifeTime',\n type: 'number',\n defaultValue: registrationLifeTime,\n templateOptions: {\n label: gettext('Registration lifetime'),\n description: gettext('in seconds'),\n placeholder: '600',\n min: 0\n }\n },\n {\n key: 'bindingMode',\n id: 'bs-bindingMode',\n type: 'select',\n defaultValue: bindingMode || BindingMode.U,\n templateOptions: {\n label: gettext('Binding mode'),\n options: [\n { label: gettext('UDP'), value: BindingMode.U },\n { label: gettext('UDP with queue mode'), value: BindingMode.UQ }\n ]\n }\n }\n ];\n\n const rightFields: FormlyFieldConfig[] = [\n {\n key: 'serverPublicKey',\n id: 'bs-serverPublicKey',\n type: 'string',\n defaultValue: serverPublicKey,\n templateOptions: {\n label: gettext('Server public key'),\n placeholder: 'AAAAB3NzaC1yc2E…'\n }\n },\n {\n key: 'serverUri',\n id: 'bs-serverUri',\n type: 'string',\n defaultValue: serverUri,\n templateOptions: {\n label: gettext('LWM2M server URI'),\n placeholder: 'coaps://<LWM2M-server-domain>:<coaps-port>'\n }\n },\n {\n key: 'publicKeyOrId',\n id: 'bs-publicKeyOrId',\n type: 'string',\n templateOptions: {\n label: gettext('LWM2M PSK ID'),\n description: this.DISABLED_HINT_TEXT,\n required: true\n },\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.formControl.patchValue(publicKeyOrId);\n }\n },\n expressionProperties: {\n 'templateOptions.disabled': (model: any, formState: any, field: FormlyFieldConfig) =>\n this.disablePSKField(formState, field)\n }\n },\n {\n key: 'secretKey',\n id: 'bs-secretKey',\n type: 'string',\n templateOptions: {\n label: gettext('LWM2M pre-shared key'),\n description: this.DISABLED_HINT_TEXT,\n placeholder: '0123456789abcdef',\n required: true,\n pattern: this.pattern\n },\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.formControl.patchValue(secretKey);\n }\n },\n expressionProperties: {\n 'templateOptions.disabled': (model: any, formState: any, field: FormlyFieldConfig) =>\n this.disablePSKField(formState, field)\n }\n },\n {\n key: 'lwm2mShortServerId',\n id: 'bs-lwm2mShortServerId',\n type: 'number',\n defaultValue: lwm2mShortServerId,\n templateOptions: {\n label: gettext('LWM2M short server ID'),\n placeholder: '0',\n min: 0\n }\n },\n {\n key: 'generateBootstrapServerConfig',\n id: 'bs-generateBootstrapServerConfig',\n type: 'select',\n defaultValue: generateBootstrapServerConfig || false,\n templateOptions: {\n label: gettext('Generate bootstrap server config'),\n options: [\n { label: gettext('Yes'), value: true },\n { label: gettext('No'), value: false }\n ]\n }\n },\n {\n key: 'defaultMinimumPeriod',\n id: 'bs-defaultMinimumPeriod',\n type: 'number',\n defaultValue: defaultMinimumPeriod,\n templateOptions: {\n label: gettext('Default minimum period'),\n description: gettext('in seconds'),\n placeholder: '10',\n min: 0\n }\n },\n {\n key: 'defaultMaximumPeriod',\n id: 'bs-defaultMaximumPeriod',\n type: 'number',\n defaultValue: defaultMaximumPeriod,\n templateOptions: {\n label: gettext('Default maximum period'),\n description: gettext('in seconds'),\n placeholder: '60',\n min: 0\n }\n }\n ];\n\n this.fields = [\n {\n fieldGroupClassName: 'card-block d-grid grid__col--6-6',\n fieldGroup: [\n {\n fieldGroupClassName: 'form-group p-24 p-t-8 p-b-8 m-b-0',\n fieldGroup: leftFields\n },\n {\n fieldGroupClassName: 'form-group p-24 p-t-8 p-b-8 m-b-0',\n fieldGroup: rightFields\n }\n ]\n }\n ];\n\n this.builder.buildForm(this.form, this.fields, this.model, this.options);\n\n const userHasWritePermission = this.permissions.hasRole('ROLE_INVENTORY_ADMIN');\n\n if (Object.keys(parameters).length === 0 || !userHasWritePermission) {\n this.form.disable();\n\n this.options.formState.disabled = true;\n }\n\n if (!userHasWritePermission) {\n this.alertService.info(this.writePermissionMissingAlert.text as string);\n }\n }\n\n ngOnDestroy() {\n // alertService checks if given alert exists.\n // save to remove it without additional checks\n this.alertService.remove(this.writePermissionMissingAlert);\n }\n\n disablePSKField(\n formState: { disabled: boolean; mainModel: Lwm2mBootstrapParameters },\n field: FormlyFieldConfig\n ) {\n if (formState.disabled) {\n delete field.templateOptions.description;\n return true;\n } else if (\n !formState.mainModel.securityMode ||\n formState.mainModel.securityMode === SecurityMode.NO_SEC\n ) {\n field.templateOptions.description = this.DISABLED_HINT_TEXT;\n field.formControl.patchValue(null);\n return true;\n }\n delete field.templateOptions.description;\n return false;\n }\n\n async save() {\n try {\n await this.lwm2mBootstrapParametersSvc.update({ ...this.model, ...{ id: this.deviceId } });\n this.alertService.success(gettext('Bootstrap parameters updated'));\n // disables save button\n this.form.markAsPristine();\n this.form.updateValueAndValidity();\n } catch (error) {\n this.alertService.addServerFailure({ ...error });\n }\n }\n\n async getBootstrapParameters(): Promise<Lwm2mBootstrapParameters> {\n try {\n return (await this.lwm2mBootstrapParametersSvc.detail(this.deviceId))\n .data as Lwm2mBootstrapParameters;\n } catch (error) {\n this.alertService.addServerFailure({ ...error });\n return {};\n }\n }\n}\n","<form (ngSubmit)=\"save()\">\n <div class=\"card content-fullpage fit-h\">\n <div class=\"card-header separator grid__col--fullspan\">\n <h1 class=\"card-title\">{{ 'LWM2M bootstrap parameters' | translate }}</h1>\n </div>\n <div class=\"inner-scroll\">\n <formly-form\n [form]=\"form\"\n [fields]=\"fields\"\n [model]=\"model\"\n [options]=\"options\"\n ></formly-form>\n </div>\n <div\n [hidden]=\"options.formState.disabled\"\n class=\"card-footer separator grid__col--fullspan sticky-bottom\"\n >\n <button\n title=\"{{ 'Save' | translate }}\"\n type=\"submit\"\n class=\"btn btn-primary\"\n [disabled]=\"form.invalid || !form.dirty\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n </div>\n</form>\n","import { NgModule } from '@angular/core';\nimport { CommonModule, CoreModule, gettext, hookRoute, ViewContext } from '@c8y/ngx-components';\nimport { Lwm2mBootstrapParametersGuard } from './lwm2m-bootstrap-parameters.guard';\nimport { Lwm2mBootstrapParametersComponent } from './lwm2m-bootstrap-parameters.component';\nimport { Lwm2mBootstrapParametersService } from './lwm2m-bootstrap-parameters.service';\nimport { SharedLwm2mModule } from '@c8y/ngx-components/protocol-lwm2m/shared';\n\n@NgModule({\n imports: [CommonModule, CoreModule, SharedLwm2mModule],\n declarations: [Lwm2mBootstrapParametersComponent],\n providers: [\n Lwm2mBootstrapParametersService,\n Lwm2mBootstrapParametersGuard,\n hookRoute({\n path: 'lwm2m-bootstrap-parameters',\n context: ViewContext.Device,\n component: Lwm2mBootstrapParametersComponent,\n label: gettext('LWM2M bootstrap parameters'),\n icon: 'c8y-device-protocols',\n canActivate: [Lwm2mBootstrapParametersGuard]\n })\n ]\n})\nexport class Lwm2mBootstrapParametersModule {}\n","import { Injectable } from '@angular/core';\nimport { FetchClient, IFetchResponse } from '@c8y/client';\nimport { Lwm2mClientService } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { LWM2MPostOperationsParameters } from './lwm2m-post-operations.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LWM2MPostOperationsParametersService extends Lwm2mClientService<LWM2MPostOperationsParameters> {\n private readonly detailUrl: string = '/postRegistrationOptions';\n\n constructor(client: FetchClient) {\n super(client);\n }\n\n get(): Promise<IFetchResponse> {\n return super.fetch(this.detailUrl);\n }\n\n put(data: LWM2MPostOperationsParameters) {\n const headers = { 'content-type': 'application/json', accept: 'application/json' };\n return super.fetch(this.detailUrl, {\n method: 'PUT',\n body: JSON.stringify(data),\n headers: headers\n });\n }\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { LWM2MPostOperationsParameters } from './lwm2m-post-operations.model';\nimport { LWM2MPostOperationsParametersService } from './lwm2m-post-operations.service';\nimport { gettext, AlertService } from '@c8y/ngx-components';\n\n@Component({\n selector: 'lwm2m-post-operations',\n templateUrl: './lwm2m-post-operations.component.html'\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-white\">\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","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { TenantUiService } from '@c8y/ngx-components';\n\n@Injectable()\nexport class LWM2MPostOperationsGuard implements CanActivate {\n constructor(private tenantService: TenantUiService) {}\n\n canActivate() {\n return this.tenantService.isMicroserviceSubscribedInCurrentTenant('lwm2m-agent');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { gettext, NavigatorNode, NavigatorNodeFactory } from '@c8y/ngx-components';\nimport { LWM2MPostOperationsGuard } from './lwm2m-post-operations.guard';\n\n@Injectable()\nexport class LWM2MPostOpertaionsNavigationFactory implements NavigatorNodeFactory {\n navs: NavigatorNode[] = [];\n\n constructor(private guard: LWM2MPostOperationsGuard) {}\n\n get() {\n if (this.guard.canActivate()) {\n this.navs.push(\n new NavigatorNode({\n label: gettext('LWM2M post-operations'),\n path: 'post-operations',\n icon: 'terminal',\n parent: {\n label: gettext('Device types'),\n icon: 'exchange'\n },\n priority: 0\n })\n );\n }\n return this.navs;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CoreModule, CommonModule, hookRoute, hookNavigator } from '@c8y/ngx-components';\nimport { LWM2MPostOperationsComponent } from './lwm2m-post-operations.component';\nimport { LWM2MPostOperationsGuard } from './lwm2m-post-operations.guard';\nimport { LWM2MPostOperationsParametersService } from './lwm2m-post-operations.service';\nimport { SharedLwm2mModule } from '@c8y/ngx-components/protocol-lwm2m/shared';\nimport { LWM2MPostOpertaionsNavigationFactory } from './lwm2m-post-operations.factory';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\n\n@NgModule({\n imports: [CoreModule, CommonModule, SharedLwm2mModule, PopoverModule],\n declarations: [LWM2MPostOperationsComponent],\n providers: [\n LWM2MPostOperationsParametersService,\n LWM2MPostOperationsGuard,\n hookRoute({\n path: 'post-operations',\n component: LWM2MPostOperationsComponent,\n icon: 'terminal',\n priority: 2000,\n canActivate: [LWM2MPostOperationsGuard]\n }),\n hookNavigator(LWM2MPostOpertaionsNavigationFactory)\n ]\n})\nexport class LWM2MPostOperationsModule {}\n","import { NgModule } from '@angular/core';\nimport { Lwm2mBootstrapParametersModule } from './bootstrap-parameters/lwm2m-bootstrap-parameters.module';\nimport { LWM2MPostOperationsModule } from './post-registration-operations/lwm2m-post-operations.module';\n\n@NgModule({\n imports: [Lwm2mBootstrapParametersModule, LWM2MPostOperationsModule]\n})\nexport class Lwm2mModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.Lwm2mBootstrapParametersService","i3.Lwm2mBootstrapParametersService","i5","i1.LWM2MPostOperationsParametersService","i2","i4","i1.LWM2MPostOperationsGuard"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@c8y/ngx-components",
|
|
3
|
-
"version": "1017.0.
|
|
3
|
+
"version": "1017.0.375",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"author": "Cumulocity",
|
|
6
6
|
"description": "Angular modules for Cumulocity IoT applications",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"rxjs": "~6.6.3"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@c8y/client": "1017.0.
|
|
25
|
+
"@c8y/client": "1017.0.375",
|
|
26
26
|
"@ngx-translate/core": "14.0.0",
|
|
27
27
|
"@ngx-translate/http-loader": "7.0.0",
|
|
28
28
|
"@ngx-formly/core": "5.10.13",
|