@c8y/ngx-components 1021.2.1 → 1021.4.3
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/assets-navigator/asset-selector/asset-selector-node.component.d.ts +2 -1
- package/assets-navigator/asset-selector/asset-selector-node.component.d.ts.map +1 -1
- package/assets-navigator/asset-selector/asset-selector.component.d.ts +2 -1
- package/assets-navigator/asset-selector/asset-selector.component.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/template-parts/basic-configuration.component.d.ts +1 -0
- package/auth-configuration/sso-configuration/template-parts/basic-configuration.component.d.ts.map +1 -1
- package/cockpit-config/cockpit-config.service.d.ts.map +1 -1
- package/cockpit-config/cockpit-configuration.component.d.ts +1 -0
- package/cockpit-config/cockpit-configuration.component.d.ts.map +1 -1
- package/cockpit-config/root-node-config.component.d.ts +2 -1
- package/cockpit-config/root-node-config.component.d.ts.map +1 -1
- package/context-dashboard/context-dashboard.service.d.ts.map +1 -1
- package/core/common/get-group-icon.pipe.d.ts.map +1 -1
- package/core/common/global-config.service.d.ts +1 -1
- package/core/common/global-config.service.d.ts.map +1 -1
- package/core/login/login.component.d.ts.map +1 -1
- package/core/login/login.service.d.ts +1 -1
- package/core/login/login.service.d.ts.map +1 -1
- package/device-profile/device-profile-list.component.d.ts +31 -14
- package/device-profile/device-profile-list.component.d.ts.map +1 -1
- package/esm2022/assets-navigator/asset-selector/asset-selector-node.component.mjs +6 -3
- package/esm2022/assets-navigator/asset-selector/asset-selector.component.mjs +7 -4
- package/esm2022/assets-navigator/asset-selector/miller-view.component.mjs +1 -1
- package/esm2022/auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-modal.component.mjs +1 -1
- package/esm2022/auth-configuration/sso-configuration/template-parts/basic-configuration.component.mjs +5 -3
- package/esm2022/cockpit-config/cockpit-config.service.mjs +7 -3
- package/esm2022/cockpit-config/cockpit-configuration.component.mjs +6 -3
- package/esm2022/cockpit-config/root-node-config.component.mjs +8 -4
- package/esm2022/cockpit-config/setup/cockpit-setup-step3.component.mjs +1 -1
- package/esm2022/context-dashboard/context-dashboard.service.mjs +3 -2
- package/esm2022/core/common/get-group-icon.pipe.mjs +4 -1
- package/esm2022/core/common/global-config.service.mjs +3 -2
- package/esm2022/core/login/login.component.mjs +8 -3
- package/esm2022/core/login/login.service.mjs +5 -2
- package/esm2022/device-grid/columns/group.filtering-form-renderer.component.mjs +1 -1
- package/esm2022/device-profile/device-profile-list.component.mjs +102 -27
- package/esm2022/protocol-lwm2m/components/configuration/typed-forms/firmware-settings.component.mjs +11 -2
- package/esm2022/repository/shared/repository.model.mjs +2 -1
- package/fesm2022/c8y-ngx-components-assets-navigator.mjs +12 -6
- package/fesm2022/c8y-ngx-components-assets-navigator.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs +5 -3
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-cockpit-config.mjs +19 -9
- package/fesm2022/c8y-ngx-components-cockpit-config.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs +2 -1
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-grid.mjs +1 -1
- package/fesm2022/c8y-ngx-components-device-grid.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-profile.mjs +110 -35
- package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs +10 -1
- package/fesm2022/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-shared.mjs +1 -0
- package/fesm2022/c8y-ngx-components-repository-shared.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +16 -4
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/locales/locales.pot +20 -2
- package/package.json +1 -1
- package/protocol-lwm2m/components/configuration/typed-forms/firmware-settings.component.d.ts +10 -0
- package/protocol-lwm2m/components/configuration/typed-forms/firmware-settings.component.d.ts.map +1 -1
- package/repository/shared/repository.model.d.ts +2 -1
- package/repository/shared/repository.model.d.ts.map +1 -1
- package/repository/shared/repository.service.d.ts +1 -1
|
@@ -390,7 +390,16 @@ class Lwm2mFormFirmwareSettings extends Lwm2mFormWrapperBase {
|
|
|
390
390
|
expressions: {
|
|
391
391
|
hide: 'model.disableFirmwareStateMachine'
|
|
392
392
|
}
|
|
393
|
-
}))
|
|
393
|
+
})),
|
|
394
|
+
{
|
|
395
|
+
key: 'failOnStateAndResultIncompatibility',
|
|
396
|
+
type: 'switch',
|
|
397
|
+
defaultValue: false,
|
|
398
|
+
props: {
|
|
399
|
+
label: gettext('Fail device firmware update on unexpected result'),
|
|
400
|
+
description: gettext('If the configuration is enabled, the firmware update operation will fail if the update result (resource 5) is not as expected based on the LWM2M firmware state machine.')
|
|
401
|
+
}
|
|
402
|
+
}
|
|
394
403
|
]
|
|
395
404
|
}
|
|
396
405
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-protocol-lwm2m-components-configuration.mjs","sources":["../../protocol-lwm2m/components/configuration/lwm2m-configuration.component.ts","../../protocol-lwm2m/components/configuration/lwm2m-configuration.component.html","../../protocol-lwm2m/components/configuration/typed-forms/form-wrapper-base.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/form-wrapper-base.component.html","../../protocol-lwm2m/components/configuration/typed-forms/bootstrap-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/connectivity-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/device-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/firmware-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/single-server-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/create-single-server-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/servers-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/server-settings.component.html","../../protocol-lwm2m/components/configuration/c8y-ngx-components-protocol-lwm2m-components-configuration.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { LWM2MEndpoint, Settings } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { CdkTreeModule } from '@angular/cdk/tree';\nimport { CoreModule, Tab, gettext } from '@c8y/ngx-components';\nimport { IIdentified } from '@c8y/client';\nimport { Lwm2mFormWrapperBase } from './typed-forms';\n\n@Component({\n selector: 'c8y-lwm2m-configuration',\n templateUrl: './lwm2m-configuration.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule, CdkTreeModule, RouterModule],\n standalone: true\n})\nexport class Lwm2mConfigurationComponent {\n tabs: Tab[];\n componentInstance: Lwm2mFormWrapperBase<Settings>;\n\n constructor(\n private lwm2mConfigService: Lwm2mConfigurationService<IIdentified>,\n private route: ActivatedRoute\n ) {\n this.lwm2mConfigService.deviceId = this.route?.snapshot?.parent?.params?.id;\n\n this.tabs = [\n {\n icon: 'cog',\n label: gettext('Device settings'),\n path: this.getPath(LWM2MEndpoint.deviceSettings)\n },\n {\n icon: 'connected',\n label: gettext('Connectivity'),\n path: this.getPath(LWM2MEndpoint.connectivity)\n },\n {\n icon: 'c8y-firmware',\n label: gettext('Firmware update'),\n path: this.getPath(LWM2MEndpoint.firmware)\n },\n {\n icon: 'root-server',\n label: gettext('Bootstrap'),\n path: this.getPath(LWM2MEndpoint.bootstrap)\n },\n {\n icon: 'stack',\n label: gettext('Servers written during bootstrap'),\n path: this.getPath(LWM2MEndpoint.servers)\n }\n ];\n\n this.lwm2mConfigService.getSecurityModes();\n }\n\n onActivate(event) {\n this.componentInstance = event;\n }\n\n private getPath(endpoint: LWM2MEndpoint) {\n const { deviceId } = this.lwm2mConfigService;\n return `/device/${deviceId}/lwm2m-configuration/${endpoint}`;\n }\n}\n","<div class=\"card content-fullpage d-col\">\n <div class=\"card-header p-0\">\n <c8y-ui-tabs\n class=\"card-has-tabs card-tabs\"\n [tabs]=\"tabs\"\n [orientation]=\"'horizontal'\"\n ></c8y-ui-tabs>\n </div>\n <div class=\"inner-scroll bg-level-0 flex-grow\">\n <form class=\"card-block--formly fit-h\">\n <router-outlet (activate)=\"onActivate($event)\"></router-outlet>\n </form>\n </div>\n <div\n class=\"card-footer separator sticky-bottom\"\n *ngIf=\"componentInstance?.fields?.length > 0\"\n >\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"componentInstance.cancel()\"\n [disabled]=\"!componentInstance.form.dirty\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"button\"\n [disabled]=\"componentInstance.form.invalid || !componentInstance.form.dirty\"\n (click)=\"componentInstance.save()\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</div>\n","import { Component, OnDestroy, OnInit, inject } from '@angular/core';\nimport { AlertService, CoreModule, Permissions } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { FormlyFieldConfig, FormlyFormBuilder, FormlyFormOptions } from '@ngx-formly/core';\nimport { LWM2MEndpoint, permissionAlert } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { FormGroup } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-wrapper-base'\n})\nexport abstract class Lwm2mFormWrapperBase<T> implements OnInit, OnDestroy {\n private alertService: AlertService;\n protected abstract endpoint: LWM2MEndpoint;\n protected destroy$: Subject<void> = new Subject();\n\n model = {} as T;\n form = new FormGroup({});\n fields: FormlyFieldConfig[] = [];\n buttons = {};\n options: FormlyFormOptions = {\n formState: { disabled: false }\n };\n\n constructor(protected service: Lwm2mConfigurationService<T>) {\n this.fields = this.createForm();\n\n inject(FormlyFormBuilder)?.buildForm(this.form, this.fields, this.model, this.options);\n\n if (!inject(Permissions)?.hasRole(Permissions.ROLE_INVENTORY_ADMIN)) {\n this.alertService = inject(AlertService);\n this.alertService.info(permissionAlert.text as string);\n this.form.disable();\n this.options.formState.disabled = true;\n }\n }\n\n abstract createForm(): FormlyFieldConfig[];\n\n ngOnInit(): void {\n this.service.settings$.pipe(takeUntil(this.destroy$)).subscribe(next => (this.model = next));\n this.service.getSettingsFor({ endpoint: this.endpoint });\n }\n\n ngOnDestroy(): void {\n this.alertService?.remove(permissionAlert);\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n save() {\n this.form.markAsPristine();\n this.form.markAsUntouched();\n this.service.updateConfig(this.model, this.endpoint);\n }\n\n cancel = () => {\n this.options.resetModel();\n this.service.getSettingsFor({ endpoint: this.endpoint });\n };\n}\n","<formly-form\n *ngIf=\"fields?.length > 0; else empty\"\n [model]=\"model\"\n [form]=\"form\"\n [fields]=\"fields\"\n [options]=\"options\"\n data-cy=\"lwm2m-device-configuration--formly-form\"\n></formly-form>\n<ng-template #empty>\n <c8y-ui-empty-state\n [icon]=\"'c8y-device-protocols'\"\n title=\"{{ 'No configuration selected' | translate }}\"\n subtitle=\"{{ 'Select a configuration on the left' | translate }}\"\n ></c8y-ui-empty-state>\n</ng-template>\n","import { Component } from '@angular/core';\nimport { CoreModule, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { BootstrapSettings, LWM2MEndpoint } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mFormWrapperBase } from './form-wrapper-base.component';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-bootstrap-settings'\n})\nexport class Lwm2mFormBootstrapSettings extends Lwm2mFormWrapperBase<BootstrapSettings> {\n protected endpoint: LWM2MEndpoint = LWM2MEndpoint.bootstrap;\n constructor(protected service: Lwm2mConfigurationService<BootstrapSettings>) {\n super(service);\n }\n\n createForm() {\n return [\n {\n fieldGroup: [\n {\n key: 'bootstrapServerId',\n type: 'number',\n props: {\n label: gettext('Bootstrap Server ID'),\n placeholder: '1',\n min: 0\n }\n },\n {\n key: 'securityInstanceOffset',\n type: 'number',\n props: {\n label: gettext('Security instance offset'),\n placeholder: '1',\n min: 0\n }\n }\n ]\n }\n ];\n }\n}\n","import { Component } from '@angular/core';\nimport { CoreModule, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { ConnectivitySettings, LWM2MEndpoint } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mFormWrapperBase } from './form-wrapper-base.component';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\nimport { delay, map } from 'rxjs';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-connectivity-settings'\n})\nexport class Lwm2mFormConnectivitySettings extends Lwm2mFormWrapperBase<ConnectivitySettings> {\n protected endpoint: LWM2MEndpoint = LWM2MEndpoint.connectivity;\n constructor(protected service: Lwm2mConfigurationService<ConnectivitySettings>) {\n super(service);\n }\n\n createForm() {\n const selects = [\n {\n key: 'bootstrapConnectivity',\n label: gettext('Bootstrap server authentication'),\n options: this.service.securityModesRaw$.pipe(\n map(dictObjs => dictObjs.filter(o => o?.useInBootstrapConnectivity)),\n delay(1)\n )\n },\n {\n key: 'serverConnectivity',\n label: gettext('Server authentication'),\n options: this.service.securityModesRaw$.pipe(\n map(dictObjs => dictObjs.filter(o => o?.useInServerConnectivity)),\n delay(1)\n )\n }\n ];\n\n return [\n {\n fieldGroup: [\n ...selects.map(select => ({\n key: select.key,\n wrappers: ['legend'],\n props: {\n label: select.label\n },\n fieldGroup: [\n {\n type: '#securityMode',\n props: {\n options: select.options\n }\n },\n { type: '#pskId' },\n { type: '#pskKey' }\n ]\n }))\n ]\n }\n ];\n }\n}\n","import { Component } from '@angular/core';\nimport { CoreModule, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport {\n AutoManageAvailabilty,\n BinaryEncoding,\n DeviceSettings,\n LWM2MEndpoint,\n SerializationFormat\n} from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mFormWrapperBase } from './form-wrapper-base.component';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-device-settings'\n})\nexport class Lwm2mFormDeviceSettings extends Lwm2mFormWrapperBase<DeviceSettings> {\n protected endpoint: LWM2MEndpoint = LWM2MEndpoint.deviceSettings;\n constructor(protected service: Lwm2mConfigurationService<DeviceSettings>) {\n super(service);\n }\n\n createForm() {\n return [\n {\n fieldGroup: [\n {\n key: 'endpointId',\n type: 'string',\n props: {\n label: gettext('Endpoint client ID'),\n required: true\n }\n },\n {\n key: 'awakeTime',\n type: 'number',\n props: {\n label: gettext('Awake time registration parameter'),\n description: gettext('in milliseconds, 0 means device is always online'),\n placeholder: '0',\n min: 0\n }\n },\n {\n key: 'requestTimeout',\n type: 'number',\n props: {\n label: gettext('LWM2M request timeout'),\n description: gettext('in milliseconds'),\n placeholder: '180000',\n min: 0\n }\n },\n {\n key: 'binaryEncoding',\n type: 'select',\n defaultValue: BinaryEncoding.OPAQUE,\n props: {\n label: gettext('Binary delivery encoding'),\n options: Object.values(BinaryEncoding).map(value => ({ label: value, value }))\n }\n },\n {\n key: 'serializationFormat',\n type: 'select',\n props: {\n label: gettext('Serialization format'),\n placeholder: gettext('Default device value'),\n options: [\n ...Object.values(SerializationFormat).map(value => ({ label: value, value }))\n ],\n description: gettext(\n 'Indicates the preferred content format for LWM2M Agent to use to communicate with the device.'\n ),\n acceptUndefined: true,\n removeExempliGratia: true\n }\n },\n {\n key: 'useTimestampResources',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Use source timestamp'),\n description: gettext(\n 'LWM2M offers various methods for associating timestamp information with data points, including resources 5518 and 6050, SenML, or resource 5 for the location object (6). When activated, the LWM2M agent utilizes this timestamp data source to generate measurements, events, or alarms. If deactivated, the LWM2M agent resorts to using its local time.'\n )\n }\n },\n {\n key: 'keepOldValuesOnOperationFail',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Keep old values'),\n description: gettext('Keep old values in the objects tab if an operation fails')\n }\n },\n {\n key: 'disableObjectInstanceActions',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Disable default behavior for object instances'),\n description: gettext('Turns off the internal default handling of objects 3, 4 and 6')\n }\n },\n {\n key: 'autoManageAvailabilityRequiredInterval',\n type: 'select',\n defaultValue: null,\n props: {\n label: gettext('Set the required interval automatically'),\n options: [\n { label: gettext('Default'), value: null },\n ...Object.entries(AutoManageAvailabilty).map(entry => {\n return { label: gettext(entry[0]), value: !!+entry[1] };\n })\n ],\n description: gettext(\n 'When enabled, the LWM2M service automatically sets the interval to registration lifetime plus 2 minutes.'\n )\n }\n }\n ]\n }\n ];\n }\n}\n","import { Component } from '@angular/core';\nimport { CoreModule, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport {\n LWM2MEndpoint,\n FWU_DeliveryMethod,\n FWU_ResetMechanism,\n FWU_SupportedDeviceProtocol,\n FirmwareSettings\n} from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mFormWrapperBase } from './form-wrapper-base.component';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-firmware-settings'\n})\nexport class Lwm2mFormFirmwareSettings extends Lwm2mFormWrapperBase<FirmwareSettings> {\n protected endpoint = LWM2MEndpoint.firmware;\n constructor(protected service: Lwm2mConfigurationService<FirmwareSettings>) {\n super(service);\n }\n\n createForm() {\n const selects = [\n {\n key: 'firmwareDeliveryMethod',\n label: gettext('Update`verb` delivery method'),\n _enum: FWU_DeliveryMethod\n },\n {\n key: 'supportedDeviceProtocol',\n label: gettext('Update`verb` supported device protocol'),\n _enum: FWU_SupportedDeviceProtocol\n },\n {\n key: 'resetMethod',\n label: gettext('Update`verb` reset mechanism'),\n _enum: FWU_ResetMechanism\n }\n ];\n return [\n {\n fieldGroup: [\n {\n key: 'disableFirmwareStateMachine',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Disable automated firmware update support'),\n description: gettext('Turns off the internal firmware update state machine')\n }\n },\n {\n key: 'url',\n type: 'string',\n props: {\n label: gettext('Update`noun` URL'),\n placeholder: 'firmware-image-url',\n description: gettext('If not specified, LWM2M Agent generates the URL')\n },\n expressions: {\n hide: 'model.disableFirmwareStateMachine'\n }\n },\n {\n key: 'resetStateMachineOnStart',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Always reset firmware state machine'),\n description: gettext(\n 'Controls if the LWM2M Agent performs an initial state machine reset before it starts a firmware update'\n )\n },\n expressions: {\n hide: 'model.disableFirmwareStateMachine'\n }\n },\n ...selects.map(select => ({\n key: select.key,\n type: 'select',\n props: {\n label: select.label,\n placeholder: gettext('Default device value'),\n options: Object.values(select._enum).map(value => ({ label: value, value })),\n acceptUndefined: true,\n removeExempliGratia: true\n },\n expressions: {\n hide: 'model.disableFirmwareStateMachine'\n }\n }))\n ]\n }\n ];\n }\n}\n","import { Component, OnInit, inject } from '@angular/core';\nimport { AlertService, CoreModule, DroppedFile, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\nimport { FormlyFieldConfig } from '@ngx-formly/core';\nimport {\n BindingMode,\n CertificateUsage,\n LWM2MEndpoint,\n Mode,\n Security,\n ServerSettings,\n ValidationType\n} from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mFormWrapperBase } from './form-wrapper-base.component';\nimport { catchError, delay, filter, map, takeUntil } from 'rxjs/operators';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { of } from 'rxjs';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule, RouterModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-single-server-settings'\n})\nexport class Lwm2mFormSingleServerSettings\n extends Lwm2mFormWrapperBase<ServerSettings>\n implements OnInit\n{\n id: string;\n protected endpoint: LWM2MEndpoint = LWM2MEndpoint.servers;\n protected alert: AlertService;\n private readonly COAP = 'coap://';\n private readonly COAPS = 'coaps://';\n private router: Router;\n private route: ActivatedRoute;\n\n constructor(protected service: Lwm2mConfigurationService<ServerSettings>) {\n super(service);\n this.router = inject(Router);\n this.route = inject(ActivatedRoute);\n this.alert = inject(AlertService);\n }\n\n ngOnInit(): void {\n this.service.settings$.pipe(takeUntil(this.destroy$)).subscribe(data => (this.model = data));\n this.service.getSettingsFor({ endpoint: this.endpoint, id: this.id });\n }\n\n createForm() {\n return [\n {\n wrappers: ['legend'],\n fieldGroup: [\n {\n key: 'bootstrap',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Bootstrap server'),\n description: gettext('This configuration is for a bootstrap server')\n }\n },\n {\n key: 'uri',\n type: 'input-addon',\n props: {\n label: gettext('Server URI'),\n addonLabel: this.COAP,\n required: true,\n placeholder: '<LWM2M-server-domain>:<coap(s)-port>'\n },\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.props.addonLabel = this.COAP;\n return field.options.fieldChanges.pipe(\n filter(\n e => e.type === 'valueChanges' && (e.field === field || e.field.key === 'mode')\n ),\n map(e => {\n if (e.field.key === 'uri')\n field.formControl.setValue(\n ((e.value as string) || '').replace(/^.*:\\/\\//i, '')\n );\n field.props.addonLabel =\n field.model?.security?.mode === Mode.NO_SEC ? this.COAP : this.COAPS;\n return e;\n })\n );\n }\n }\n },\n {\n key: 'security',\n wrappers: ['legend'],\n props: {\n label: 'Security'\n },\n fieldGroup: [\n {\n type: '#securityMode',\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.props.options = this.service.securityModesByScope$.pipe(delay(1));\n this.service.getSecurityModeByScope('useInServerConnectivity');\n return field.options.fieldChanges.pipe(\n filter(e => e.type === 'valueChanges' && e.field.key === 'bootstrap'),\n map(e => {\n if (e.value) {\n this.service.getSecurityModeByScope('useInBootstrapConnectivity');\n if (field.model?.mode === Mode.X509_EST) {\n field.formControl.setValue(Mode.NO_SEC);\n }\n } else {\n this.service.getSecurityModeByScope('useInServerConnectivity');\n }\n return e;\n })\n );\n }\n }\n },\n { type: '#pskId' },\n { type: '#pskKey' },\n {\n key: 'x509ServerCertificateName',\n type: 'select',\n props: {\n label: gettext('Server certificate'),\n placeholder: gettext('Not written`setting`'),\n acceptUndefined: true,\n removeExempliGratia: true,\n options: this.service.certificates$.pipe(\n map(certs => certs.map(value => ({ label: value, value })))\n )\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) =>\n field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return field.model?.mode !== Mode.X509 && field.model?.mode !== Mode.X509_EST;\n }\n }\n },\n {\n key: 'certificateUsage',\n type: 'select',\n props: {\n label: gettext('Certificate usage'),\n placeholder: gettext('Not written`setting`'),\n acceptUndefined: true,\n removeExempliGratia: true,\n options: Object.values(CertificateUsage).map(value => ({ label: value, value }))\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) =>\n field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return field.model?.mode !== Mode.X509 && field.model?.mode !== Mode.X509_EST;\n }\n }\n },\n {\n key: 'certificateDropArea',\n type: 'file',\n props: {\n accept: 'pem',\n label: gettext('Certificate'),\n description: gettext('One .pem file may be uploaded'),\n forceHideList: true,\n dropped: async (files: DroppedFile[]) =>\n this.patchCommonName(\n this.service.cleanUpBase64Data(\n (await files?.pop()?.readAsDataURL()) as string\n )\n )\n },\n expressions: {\n hide: (field: FormlyFieldConfig) => {\n return (\n field.model?.mode !== Mode.X509 || !!field.model?.x509CertificateCommonName\n );\n }\n }\n },\n {\n key: 'x509CertificateCommonName',\n type: 'file-pick-replace',\n props: {\n label: gettext('Certificate Common Name'),\n remove: () => this.removeCertificateAndCommonName(),\n onPick: certificate => this.patchCommonName(certificate)\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) =>\n field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return (\n field.model?.mode !== Mode.X509 || !field.model?.x509CertificateCommonName\n );\n }\n }\n },\n {\n key: 'privateKeyDropArea',\n type: 'file',\n props: {\n accept: 'pem',\n label: gettext('Private key'),\n description: gettext('One .pem file may be uploaded'),\n forceHideList: true,\n disabled: true,\n dropped: async (files: DroppedFile[]) =>\n this.patchFingerprint(\n this.service.cleanUpBase64Data(\n (await files?.pop()?.readAsDataURL()) as string\n )\n )\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) =>\n field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return (\n field.model?.mode !== Mode.X509 || !!field.model?.x509PrivateKeyFingerPrint\n );\n }\n }\n },\n {\n key: 'x509PrivateKeyFingerPrint',\n type: 'file-pick-replace',\n props: {\n label: gettext('Fingerprint of the private key'),\n remove: () => this.removePrivateKeyAndFingerprint(),\n onPick: privateKey => this.patchFingerprint(privateKey)\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) =>\n field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return (\n field.model?.mode !== Mode.X509 || !field.model?.x509PrivateKeyFingerPrint\n );\n }\n }\n }\n ]\n },\n {\n wrappers: ['legend'],\n props: {\n label: gettext('Server object configuration')\n },\n fieldGroup: [\n {\n key: 'storeNotifications',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Store notifications'),\n description: gettext(\n 'LWM2M Client to store notify operations when client is offline or LWM2M Server is disabled. Also used to forward them to the LWM2M Server when the client is able to connect.'\n )\n }\n },\n {\n key: 'shortServerId',\n type: 'number',\n props: {\n label: gettext('Short Server ID'),\n description: gettext('in numbers'),\n placeholder: '1',\n min: 0\n }\n },\n {\n key: 'registrationLifetime',\n type: 'number',\n props: {\n label: gettext('Registration lifetime'),\n description: gettext('in seconds'),\n placeholder: '600',\n min: 0\n }\n },\n {\n key: 'defaultMinPeriod',\n type: 'number',\n props: {\n label: gettext('Default minimum period'),\n description: gettext('in seconds'),\n placeholder: '10',\n min: 0\n }\n },\n {\n key: 'defaultMaxPeriod',\n type: 'number',\n props: {\n label: gettext('Default maximum period'),\n description: gettext('in seconds'),\n placeholder: '60',\n min: 0\n }\n },\n {\n key: 'bindingMode',\n type: 'select',\n defaultValue: BindingMode.U,\n props: {\n label: gettext('Binding mode'),\n options: Object.values(BindingMode).map(value => ({\n label:\n value === BindingMode.U ? gettext('UDP') : gettext('UDP with queue mode'),\n value\n }))\n }\n },\n {\n key: 'disableTimeout',\n type: 'number',\n props: {\n label: gettext('Disable timeout'),\n description: gettext('in seconds'),\n placeholder: '86400',\n min: 0\n }\n }\n ]\n }\n ]\n }\n ];\n }\n\n save() {\n this.service\n .update$({\n ...this.model,\n uri: this.getFullURI(),\n endpoint: LWM2MEndpoint.servers\n })\n .pipe(\n catchError(err => {\n this.alert.addServerFailure(err);\n return of(null);\n })\n )\n .subscribe(_next => this.cancel());\n }\n\n delete() {\n this.service\n .deleteServer$(this.model)\n .pipe(\n catchError(err => {\n this.alert.addServerFailure(err);\n return of(null);\n })\n )\n .subscribe(_next => this.cancel());\n }\n\n cancel = () => this.router.navigate(['../servers'], { relativeTo: this.route });\n\n protected getFullURI() {\n const {\n uri,\n security: { mode = Mode.NO_SEC }\n } = this.model;\n return (mode === Mode.NO_SEC ? this.COAP : this.COAPS).concat(uri);\n }\n\n private patchFingerprint(privateKey: string) {\n if (privateKey?.length > 0) {\n this.service\n .validate(privateKey, ValidationType.PRIVATE_KEY)\n .pipe(takeUntil(this.destroy$))\n .subscribe(\n fingerprint => {\n this.model.security.x509PrivateKey = privateKey;\n this.model.security.x509PrivateKeyFingerPrint = fingerprint;\n this.form.patchValue(this.model);\n this.form.markAsDirty();\n },\n _error => {\n // already catched\n }\n );\n }\n }\n\n private patchCommonName(certificate: string) {\n if (certificate?.length > 0) {\n this.service\n .validate(certificate, ValidationType.X509)\n .pipe(takeUntil(this.destroy$))\n .subscribe(\n commonName => {\n this.model.security.x509Certificate = certificate;\n this.model.security.x509CertificateCommonName = commonName;\n this.form.patchValue(this.model);\n this.form.markAsDirty();\n },\n _error => {\n // already catched\n }\n );\n }\n }\n\n private removePrivateKeyAndFingerprint() {\n this.form.patchValue({\n security: {\n x509PrivateKey: null,\n x509PrivateKeyFingerPrint: null\n } as Partial<Security>\n });\n delete this.model?.security?.x509PrivateKey;\n delete this.model?.security?.x509PrivateKeyFingerPrint;\n this.form.markAsDirty();\n }\n\n private removeCertificateAndCommonName() {\n this.form.patchValue({\n security: {\n x509Certificate: null,\n x509CertificateCommonName: null\n } as Partial<Security>\n });\n delete this.model?.security?.x509CertificateCommonName;\n delete this.model?.security?.x509Certificate;\n this.form.markAsDirty();\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CoreModule } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { ServerSettings } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\nimport { Lwm2mFormSingleServerSettings } from './single-server-settings.component';\nimport { catchError } from 'rxjs/operators';\nimport { of } from 'rxjs';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-create-single-server-settings'\n})\nexport class Lwm2mFormCreateSingleServerSettings\n extends Lwm2mFormSingleServerSettings\n implements OnInit\n{\n constructor(protected service: Lwm2mConfigurationService<ServerSettings>) {\n super(service);\n }\n\n ngOnInit() {\n // override by design\n }\n\n create() {\n this.service\n .createServer$({\n ...this.model,\n uri: this.getFullURI()\n })\n .pipe(\n catchError(err => {\n this.alert.addServerFailure(err);\n return of(null);\n })\n )\n .subscribe(_next => this.cancel());\n }\n}\n","import { Component, ComponentRef, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { CoreModule, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { ServerSettings } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\nimport { Lwm2mFormSingleServerSettings } from './single-server-settings.component';\nimport { map, takeUntil } from 'rxjs/operators';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { Lwm2mFormCreateSingleServerSettings } from './create-single-server-settings.component';\nimport { Subject } from 'rxjs';\n\n@Component({\n templateUrl: './server-settings.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule, Lwm2mFormSingleServerSettings, RouterModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-server-settings'\n})\nexport class Lwm2mFormServerSettings implements OnInit {\n private componentRef: ComponentRef<\n Lwm2mFormSingleServerSettings | Lwm2mFormCreateSingleServerSettings\n >;\n private destroy$: Subject<void> = new Subject();\n @ViewChild('singleServerForm', { read: ViewContainerRef, static: true })\n formContainer: ViewContainerRef;\n cmp: Lwm2mFormSingleServerSettings;\n id: string;\n\n listelements$ = this.service.servers$.pipe(\n map(servers =>\n servers.map(server => ({\n title: server.uri || gettext('Invalid server configuration'),\n icon: 'server',\n id: server.id\n }))\n )\n );\n\n constructor(\n protected service: Lwm2mConfigurationService<ServerSettings>,\n protected route: ActivatedRoute,\n protected router: Router\n ) {}\n\n ngOnInit() {\n this.route.queryParams.pipe(takeUntil(this.destroy$)).subscribe(({ id }) => {\n this.id = id;\n this.service.listServers();\n this.createComponent(id);\n });\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n select(id) {\n this.router.navigate([], {\n relativeTo: this.route,\n queryParams: { id },\n queryParamsHandling: 'merge'\n });\n }\n\n createComponent(id) {\n this.formContainer.clear();\n this.cmp = null;\n\n if (!id) return;\n\n this.componentRef = this.formContainer.createComponent(\n id !== 'create' ? Lwm2mFormSingleServerSettings : Lwm2mFormCreateSingleServerSettings\n );\n this.cmp = this.componentRef?.instance;\n this.cmp.id = id;\n }\n}\n","<div class=\"split-view--5-7 grid__row--1 fit-h\">\n <div class=\"inner-scroll split-view__list\">\n <div class=\"bg-level-1 flex-grow\">\n <ng-container *ngIf=\"listelements$ | async as list\">\n <ng-container *ngIf=\"list.length > 0 || id === 'create'; else empty\">\n <c8y-list-group class=\"c8y-list__group nav c8y-nav-stacked\">\n <c8y-li\n class=\"c8y-stacked-item p-0 active\"\n *ngIf=\"id === 'create'\"\n >\n <c8y-li-icon icon=\"server\"></c8y-li-icon>\n <span title=\"{{ 'New server' | translate }}\">\n {{ 'New server' | translate }}\n </span>\n </c8y-li>\n <c8y-li\n class=\"c8y-stacked-item p-0\"\n [class.active]=\"el.id === id\"\n *ngFor=\"let el of list\"\n (click)=\"select(el.id)\"\n >\n <c8y-li-icon [icon]=\"el.icon\"></c8y-li-icon>\n <span title=\"{{ el.title }}\">\n {{ el.title }}\n </span>\n </c8y-li>\n </c8y-list-group>\n </ng-container>\n <ng-template #empty>\n <div class=\"card-block\">\n <c8y-ui-empty-state\n [icon]=\"'stack'\"\n [title]=\"'No servers found.' | translate\"\n [subtitle]=\"'Click below to add a new server.' | translate\"\n ></c8y-ui-empty-state>\n </div>\n </ng-template>\n </ng-container>\n </div>\n <div class=\"card-footer separator-top\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Add server' | translate }}\"\n [disabled]=\"id === 'create'\"\n (click)=\"select('create')\"\n >\n <i [c8yIcon]=\"'plus-circle'\"></i>\n {{ 'Add server' | translate }}\n </button>\n </div>\n </div>\n <form class=\"d-contents\">\n <div\n class=\"inner-scroll split-view__detail\"\n [ngClass]=\"{ 'split-view__detail--selected': cmp?.fields?.length > 0 }\"\n >\n <div class=\"card-header separator visible-sm visible-xs fit-w sticky-top\">\n <button\n class=\"btn btn-clean text-primary\"\n title=\"{{ 'Back' | translate }}\"\n type=\"button\"\n (click)=\"cmp?.cancel()\"\n >\n <i c8y-icon=\"chevron-left\"></i>\n <span>{{ 'Back' | translate }}</span>\n </button>\n </div>\n <div class=\"card-block flex-grow overflow-visible\">\n <ng-container *ngIf=\"!cmp?.fields?.length\">\n <c8y-ui-empty-state\n [icon]=\"'stack'\"\n title=\"{{ 'No server to display.' | translate }}\"\n subtitle=\"{{ 'Add or select a server.' | translate }}\"\n ></c8y-ui-empty-state>\n <div\n class=\"alert alert-info\"\n role=\"alert\"\n >\n <strong>{{ 'Info' | translate }}</strong>\n {{\n 'Configured servers are written as soon as the device does a bootstrap connection.'\n | translate\n }}\n </div>\n </ng-container>\n <ng-container #singleServerForm></ng-container>\n </div>\n <div\n class=\"card-footer separator sticky-bottom bg-level-0\"\n *ngIf=\"cmp?.fields?.length > 0\"\n >\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"cmp.cancel()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n\n <ng-container *ngIf=\"id !== 'create'; else createServer\">\n <button\n class=\"btn btn-danger\"\n title=\"{{ 'Delete' | translate }}\"\n type=\"button\"\n [disabled]=\"cmp.options?.formState?.disabled || false\"\n (click)=\"cmp.delete()\"\n >\n {{ 'Delete' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"button\"\n [disabled]=\"cmp.form?.invalid || !cmp.form?.dirty\"\n (click)=\"cmp.save()\"\n >\n {{ 'Save' | translate }}\n </button>\n </ng-container>\n <ng-template #createServer>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Create' | translate }}\"\n type=\"button\"\n [disabled]=\"cmp.form?.invalid || !cmp.form?.dirty\"\n (click)=\"cmp.create()\"\n >\n {{ 'Create' | translate }}\n </button>\n </ng-template>\n </div>\n </div>\n </form>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["map","delay","i2","i3","i4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-protocol-lwm2m-components-configuration.mjs","sources":["../../protocol-lwm2m/components/configuration/lwm2m-configuration.component.ts","../../protocol-lwm2m/components/configuration/lwm2m-configuration.component.html","../../protocol-lwm2m/components/configuration/typed-forms/form-wrapper-base.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/form-wrapper-base.component.html","../../protocol-lwm2m/components/configuration/typed-forms/bootstrap-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/connectivity-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/device-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/firmware-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/single-server-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/create-single-server-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/servers-settings.component.ts","../../protocol-lwm2m/components/configuration/typed-forms/server-settings.component.html","../../protocol-lwm2m/components/configuration/c8y-ngx-components-protocol-lwm2m-components-configuration.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { LWM2MEndpoint, Settings } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { CdkTreeModule } from '@angular/cdk/tree';\nimport { CoreModule, Tab, gettext } from '@c8y/ngx-components';\nimport { IIdentified } from '@c8y/client';\nimport { Lwm2mFormWrapperBase } from './typed-forms';\n\n@Component({\n selector: 'c8y-lwm2m-configuration',\n templateUrl: './lwm2m-configuration.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule, CdkTreeModule, RouterModule],\n standalone: true\n})\nexport class Lwm2mConfigurationComponent {\n tabs: Tab[];\n componentInstance: Lwm2mFormWrapperBase<Settings>;\n\n constructor(\n private lwm2mConfigService: Lwm2mConfigurationService<IIdentified>,\n private route: ActivatedRoute\n ) {\n this.lwm2mConfigService.deviceId = this.route?.snapshot?.parent?.params?.id;\n\n this.tabs = [\n {\n icon: 'cog',\n label: gettext('Device settings'),\n path: this.getPath(LWM2MEndpoint.deviceSettings)\n },\n {\n icon: 'connected',\n label: gettext('Connectivity'),\n path: this.getPath(LWM2MEndpoint.connectivity)\n },\n {\n icon: 'c8y-firmware',\n label: gettext('Firmware update'),\n path: this.getPath(LWM2MEndpoint.firmware)\n },\n {\n icon: 'root-server',\n label: gettext('Bootstrap'),\n path: this.getPath(LWM2MEndpoint.bootstrap)\n },\n {\n icon: 'stack',\n label: gettext('Servers written during bootstrap'),\n path: this.getPath(LWM2MEndpoint.servers)\n }\n ];\n\n this.lwm2mConfigService.getSecurityModes();\n }\n\n onActivate(event) {\n this.componentInstance = event;\n }\n\n private getPath(endpoint: LWM2MEndpoint) {\n const { deviceId } = this.lwm2mConfigService;\n return `/device/${deviceId}/lwm2m-configuration/${endpoint}`;\n }\n}\n","<div class=\"card content-fullpage d-col\">\n <div class=\"card-header p-0\">\n <c8y-ui-tabs\n class=\"card-has-tabs card-tabs\"\n [tabs]=\"tabs\"\n [orientation]=\"'horizontal'\"\n ></c8y-ui-tabs>\n </div>\n <div class=\"inner-scroll bg-level-0 flex-grow\">\n <form class=\"card-block--formly fit-h\">\n <router-outlet (activate)=\"onActivate($event)\"></router-outlet>\n </form>\n </div>\n <div\n class=\"card-footer separator sticky-bottom\"\n *ngIf=\"componentInstance?.fields?.length > 0\"\n >\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"componentInstance.cancel()\"\n [disabled]=\"!componentInstance.form.dirty\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"button\"\n [disabled]=\"componentInstance.form.invalid || !componentInstance.form.dirty\"\n (click)=\"componentInstance.save()\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</div>\n","import { Component, OnDestroy, OnInit, inject } from '@angular/core';\nimport { AlertService, CoreModule, Permissions } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { FormlyFieldConfig, FormlyFormBuilder, FormlyFormOptions } from '@ngx-formly/core';\nimport { LWM2MEndpoint, permissionAlert } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { FormGroup } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-wrapper-base'\n})\nexport abstract class Lwm2mFormWrapperBase<T> implements OnInit, OnDestroy {\n private alertService: AlertService;\n protected abstract endpoint: LWM2MEndpoint;\n protected destroy$: Subject<void> = new Subject();\n\n model = {} as T;\n form = new FormGroup({});\n fields: FormlyFieldConfig[] = [];\n buttons = {};\n options: FormlyFormOptions = {\n formState: { disabled: false }\n };\n\n constructor(protected service: Lwm2mConfigurationService<T>) {\n this.fields = this.createForm();\n\n inject(FormlyFormBuilder)?.buildForm(this.form, this.fields, this.model, this.options);\n\n if (!inject(Permissions)?.hasRole(Permissions.ROLE_INVENTORY_ADMIN)) {\n this.alertService = inject(AlertService);\n this.alertService.info(permissionAlert.text as string);\n this.form.disable();\n this.options.formState.disabled = true;\n }\n }\n\n abstract createForm(): FormlyFieldConfig[];\n\n ngOnInit(): void {\n this.service.settings$.pipe(takeUntil(this.destroy$)).subscribe(next => (this.model = next));\n this.service.getSettingsFor({ endpoint: this.endpoint });\n }\n\n ngOnDestroy(): void {\n this.alertService?.remove(permissionAlert);\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n save() {\n this.form.markAsPristine();\n this.form.markAsUntouched();\n this.service.updateConfig(this.model, this.endpoint);\n }\n\n cancel = () => {\n this.options.resetModel();\n this.service.getSettingsFor({ endpoint: this.endpoint });\n };\n}\n","<formly-form\n *ngIf=\"fields?.length > 0; else empty\"\n [model]=\"model\"\n [form]=\"form\"\n [fields]=\"fields\"\n [options]=\"options\"\n data-cy=\"lwm2m-device-configuration--formly-form\"\n></formly-form>\n<ng-template #empty>\n <c8y-ui-empty-state\n [icon]=\"'c8y-device-protocols'\"\n title=\"{{ 'No configuration selected' | translate }}\"\n subtitle=\"{{ 'Select a configuration on the left' | translate }}\"\n ></c8y-ui-empty-state>\n</ng-template>\n","import { Component } from '@angular/core';\nimport { CoreModule, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { BootstrapSettings, LWM2MEndpoint } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mFormWrapperBase } from './form-wrapper-base.component';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-bootstrap-settings'\n})\nexport class Lwm2mFormBootstrapSettings extends Lwm2mFormWrapperBase<BootstrapSettings> {\n protected endpoint: LWM2MEndpoint = LWM2MEndpoint.bootstrap;\n constructor(protected service: Lwm2mConfigurationService<BootstrapSettings>) {\n super(service);\n }\n\n createForm() {\n return [\n {\n fieldGroup: [\n {\n key: 'bootstrapServerId',\n type: 'number',\n props: {\n label: gettext('Bootstrap Server ID'),\n placeholder: '1',\n min: 0\n }\n },\n {\n key: 'securityInstanceOffset',\n type: 'number',\n props: {\n label: gettext('Security instance offset'),\n placeholder: '1',\n min: 0\n }\n }\n ]\n }\n ];\n }\n}\n","import { Component } from '@angular/core';\nimport { CoreModule, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { ConnectivitySettings, LWM2MEndpoint } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mFormWrapperBase } from './form-wrapper-base.component';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\nimport { delay, map } from 'rxjs';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-connectivity-settings'\n})\nexport class Lwm2mFormConnectivitySettings extends Lwm2mFormWrapperBase<ConnectivitySettings> {\n protected endpoint: LWM2MEndpoint = LWM2MEndpoint.connectivity;\n constructor(protected service: Lwm2mConfigurationService<ConnectivitySettings>) {\n super(service);\n }\n\n createForm() {\n const selects = [\n {\n key: 'bootstrapConnectivity',\n label: gettext('Bootstrap server authentication'),\n options: this.service.securityModesRaw$.pipe(\n map(dictObjs => dictObjs.filter(o => o?.useInBootstrapConnectivity)),\n delay(1)\n )\n },\n {\n key: 'serverConnectivity',\n label: gettext('Server authentication'),\n options: this.service.securityModesRaw$.pipe(\n map(dictObjs => dictObjs.filter(o => o?.useInServerConnectivity)),\n delay(1)\n )\n }\n ];\n\n return [\n {\n fieldGroup: [\n ...selects.map(select => ({\n key: select.key,\n wrappers: ['legend'],\n props: {\n label: select.label\n },\n fieldGroup: [\n {\n type: '#securityMode',\n props: {\n options: select.options\n }\n },\n { type: '#pskId' },\n { type: '#pskKey' }\n ]\n }))\n ]\n }\n ];\n }\n}\n","import { Component } from '@angular/core';\nimport { CoreModule, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport {\n AutoManageAvailabilty,\n BinaryEncoding,\n DeviceSettings,\n LWM2MEndpoint,\n SerializationFormat\n} from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mFormWrapperBase } from './form-wrapper-base.component';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-device-settings'\n})\nexport class Lwm2mFormDeviceSettings extends Lwm2mFormWrapperBase<DeviceSettings> {\n protected endpoint: LWM2MEndpoint = LWM2MEndpoint.deviceSettings;\n constructor(protected service: Lwm2mConfigurationService<DeviceSettings>) {\n super(service);\n }\n\n createForm() {\n return [\n {\n fieldGroup: [\n {\n key: 'endpointId',\n type: 'string',\n props: {\n label: gettext('Endpoint client ID'),\n required: true\n }\n },\n {\n key: 'awakeTime',\n type: 'number',\n props: {\n label: gettext('Awake time registration parameter'),\n description: gettext('in milliseconds, 0 means device is always online'),\n placeholder: '0',\n min: 0\n }\n },\n {\n key: 'requestTimeout',\n type: 'number',\n props: {\n label: gettext('LWM2M request timeout'),\n description: gettext('in milliseconds'),\n placeholder: '180000',\n min: 0\n }\n },\n {\n key: 'binaryEncoding',\n type: 'select',\n defaultValue: BinaryEncoding.OPAQUE,\n props: {\n label: gettext('Binary delivery encoding'),\n options: Object.values(BinaryEncoding).map(value => ({ label: value, value }))\n }\n },\n {\n key: 'serializationFormat',\n type: 'select',\n props: {\n label: gettext('Serialization format'),\n placeholder: gettext('Default device value'),\n options: [\n ...Object.values(SerializationFormat).map(value => ({ label: value, value }))\n ],\n description: gettext(\n 'Indicates the preferred content format for LWM2M Agent to use to communicate with the device.'\n ),\n acceptUndefined: true,\n removeExempliGratia: true\n }\n },\n {\n key: 'useTimestampResources',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Use source timestamp'),\n description: gettext(\n 'LWM2M offers various methods for associating timestamp information with data points, including resources 5518 and 6050, SenML, or resource 5 for the location object (6). When activated, the LWM2M agent utilizes this timestamp data source to generate measurements, events, or alarms. If deactivated, the LWM2M agent resorts to using its local time.'\n )\n }\n },\n {\n key: 'keepOldValuesOnOperationFail',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Keep old values'),\n description: gettext('Keep old values in the objects tab if an operation fails')\n }\n },\n {\n key: 'disableObjectInstanceActions',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Disable default behavior for object instances'),\n description: gettext('Turns off the internal default handling of objects 3, 4 and 6')\n }\n },\n {\n key: 'autoManageAvailabilityRequiredInterval',\n type: 'select',\n defaultValue: null,\n props: {\n label: gettext('Set the required interval automatically'),\n options: [\n { label: gettext('Default'), value: null },\n ...Object.entries(AutoManageAvailabilty).map(entry => {\n return { label: gettext(entry[0]), value: !!+entry[1] };\n })\n ],\n description: gettext(\n 'When enabled, the LWM2M service automatically sets the interval to registration lifetime plus 2 minutes.'\n )\n }\n }\n ]\n }\n ];\n }\n}\n","import { Component } from '@angular/core';\nimport { CoreModule, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport {\n LWM2MEndpoint,\n FWU_DeliveryMethod,\n FWU_ResetMechanism,\n FWU_SupportedDeviceProtocol,\n FirmwareSettings\n} from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mFormWrapperBase } from './form-wrapper-base.component';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-firmware-settings'\n})\nexport class Lwm2mFormFirmwareSettings extends Lwm2mFormWrapperBase<FirmwareSettings> {\n protected endpoint = LWM2MEndpoint.firmware;\n constructor(protected service: Lwm2mConfigurationService<FirmwareSettings>) {\n super(service);\n }\n\n createForm() {\n const selects = [\n {\n key: 'firmwareDeliveryMethod',\n label: gettext('Update`verb` delivery method'),\n _enum: FWU_DeliveryMethod\n },\n {\n key: 'supportedDeviceProtocol',\n label: gettext('Update`verb` supported device protocol'),\n _enum: FWU_SupportedDeviceProtocol\n },\n {\n key: 'resetMethod',\n label: gettext('Update`verb` reset mechanism'),\n _enum: FWU_ResetMechanism\n }\n ];\n return [\n {\n fieldGroup: [\n {\n key: 'disableFirmwareStateMachine',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Disable automated firmware update support'),\n description: gettext('Turns off the internal firmware update state machine')\n }\n },\n {\n key: 'url',\n type: 'string',\n props: {\n label: gettext('Update`noun` URL'),\n placeholder: 'firmware-image-url',\n description: gettext('If not specified, LWM2M Agent generates the URL')\n },\n expressions: {\n hide: 'model.disableFirmwareStateMachine'\n }\n },\n {\n key: 'resetStateMachineOnStart',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Always reset firmware state machine'),\n description: gettext(\n 'Controls if the LWM2M Agent performs an initial state machine reset before it starts a firmware update'\n )\n },\n expressions: {\n hide: 'model.disableFirmwareStateMachine'\n }\n },\n ...selects.map(select => ({\n key: select.key,\n type: 'select',\n props: {\n label: select.label,\n placeholder: gettext('Default device value'),\n options: Object.values(select._enum).map(value => ({ label: value, value })),\n acceptUndefined: true,\n removeExempliGratia: true\n },\n expressions: {\n hide: 'model.disableFirmwareStateMachine'\n }\n })),\n {\n key: 'failOnStateAndResultIncompatibility',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Fail device firmware update on unexpected result'),\n description: gettext(\n 'If the configuration is enabled, the firmware update operation will fail if the update result (resource 5) is not as expected based on the LWM2M firmware state machine.'\n )\n }\n }\n ]\n }\n ];\n }\n}\n","import { Component, OnInit, inject } from '@angular/core';\nimport { AlertService, CoreModule, DroppedFile, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\nimport { FormlyFieldConfig } from '@ngx-formly/core';\nimport {\n BindingMode,\n CertificateUsage,\n LWM2MEndpoint,\n Mode,\n Security,\n ServerSettings,\n ValidationType\n} from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mFormWrapperBase } from './form-wrapper-base.component';\nimport { catchError, delay, filter, map, takeUntil } from 'rxjs/operators';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { of } from 'rxjs';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule, RouterModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-single-server-settings'\n})\nexport class Lwm2mFormSingleServerSettings\n extends Lwm2mFormWrapperBase<ServerSettings>\n implements OnInit\n{\n id: string;\n protected endpoint: LWM2MEndpoint = LWM2MEndpoint.servers;\n protected alert: AlertService;\n private readonly COAP = 'coap://';\n private readonly COAPS = 'coaps://';\n private router: Router;\n private route: ActivatedRoute;\n\n constructor(protected service: Lwm2mConfigurationService<ServerSettings>) {\n super(service);\n this.router = inject(Router);\n this.route = inject(ActivatedRoute);\n this.alert = inject(AlertService);\n }\n\n ngOnInit(): void {\n this.service.settings$.pipe(takeUntil(this.destroy$)).subscribe(data => (this.model = data));\n this.service.getSettingsFor({ endpoint: this.endpoint, id: this.id });\n }\n\n createForm() {\n return [\n {\n wrappers: ['legend'],\n fieldGroup: [\n {\n key: 'bootstrap',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Bootstrap server'),\n description: gettext('This configuration is for a bootstrap server')\n }\n },\n {\n key: 'uri',\n type: 'input-addon',\n props: {\n label: gettext('Server URI'),\n addonLabel: this.COAP,\n required: true,\n placeholder: '<LWM2M-server-domain>:<coap(s)-port>'\n },\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.props.addonLabel = this.COAP;\n return field.options.fieldChanges.pipe(\n filter(\n e => e.type === 'valueChanges' && (e.field === field || e.field.key === 'mode')\n ),\n map(e => {\n if (e.field.key === 'uri')\n field.formControl.setValue(\n ((e.value as string) || '').replace(/^.*:\\/\\//i, '')\n );\n field.props.addonLabel =\n field.model?.security?.mode === Mode.NO_SEC ? this.COAP : this.COAPS;\n return e;\n })\n );\n }\n }\n },\n {\n key: 'security',\n wrappers: ['legend'],\n props: {\n label: 'Security'\n },\n fieldGroup: [\n {\n type: '#securityMode',\n hooks: {\n onInit: (field: FormlyFieldConfig) => {\n field.props.options = this.service.securityModesByScope$.pipe(delay(1));\n this.service.getSecurityModeByScope('useInServerConnectivity');\n return field.options.fieldChanges.pipe(\n filter(e => e.type === 'valueChanges' && e.field.key === 'bootstrap'),\n map(e => {\n if (e.value) {\n this.service.getSecurityModeByScope('useInBootstrapConnectivity');\n if (field.model?.mode === Mode.X509_EST) {\n field.formControl.setValue(Mode.NO_SEC);\n }\n } else {\n this.service.getSecurityModeByScope('useInServerConnectivity');\n }\n return e;\n })\n );\n }\n }\n },\n { type: '#pskId' },\n { type: '#pskKey' },\n {\n key: 'x509ServerCertificateName',\n type: 'select',\n props: {\n label: gettext('Server certificate'),\n placeholder: gettext('Not written`setting`'),\n acceptUndefined: true,\n removeExempliGratia: true,\n options: this.service.certificates$.pipe(\n map(certs => certs.map(value => ({ label: value, value })))\n )\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) =>\n field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return field.model?.mode !== Mode.X509 && field.model?.mode !== Mode.X509_EST;\n }\n }\n },\n {\n key: 'certificateUsage',\n type: 'select',\n props: {\n label: gettext('Certificate usage'),\n placeholder: gettext('Not written`setting`'),\n acceptUndefined: true,\n removeExempliGratia: true,\n options: Object.values(CertificateUsage).map(value => ({ label: value, value }))\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) =>\n field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return field.model?.mode !== Mode.X509 && field.model?.mode !== Mode.X509_EST;\n }\n }\n },\n {\n key: 'certificateDropArea',\n type: 'file',\n props: {\n accept: 'pem',\n label: gettext('Certificate'),\n description: gettext('One .pem file may be uploaded'),\n forceHideList: true,\n dropped: async (files: DroppedFile[]) =>\n this.patchCommonName(\n this.service.cleanUpBase64Data(\n (await files?.pop()?.readAsDataURL()) as string\n )\n )\n },\n expressions: {\n hide: (field: FormlyFieldConfig) => {\n return (\n field.model?.mode !== Mode.X509 || !!field.model?.x509CertificateCommonName\n );\n }\n }\n },\n {\n key: 'x509CertificateCommonName',\n type: 'file-pick-replace',\n props: {\n label: gettext('Certificate Common Name'),\n remove: () => this.removeCertificateAndCommonName(),\n onPick: certificate => this.patchCommonName(certificate)\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) =>\n field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return (\n field.model?.mode !== Mode.X509 || !field.model?.x509CertificateCommonName\n );\n }\n }\n },\n {\n key: 'privateKeyDropArea',\n type: 'file',\n props: {\n accept: 'pem',\n label: gettext('Private key'),\n description: gettext('One .pem file may be uploaded'),\n forceHideList: true,\n disabled: true,\n dropped: async (files: DroppedFile[]) =>\n this.patchFingerprint(\n this.service.cleanUpBase64Data(\n (await files?.pop()?.readAsDataURL()) as string\n )\n )\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) =>\n field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return (\n field.model?.mode !== Mode.X509 || !!field.model?.x509PrivateKeyFingerPrint\n );\n }\n }\n },\n {\n key: 'x509PrivateKeyFingerPrint',\n type: 'file-pick-replace',\n props: {\n label: gettext('Fingerprint of the private key'),\n remove: () => this.removePrivateKeyAndFingerprint(),\n onPick: privateKey => this.patchFingerprint(privateKey)\n },\n expressions: {\n 'props.disabled': (field: FormlyFieldConfig) =>\n field?.options?.formState?.disabled,\n hide: (field: FormlyFieldConfig) => {\n return (\n field.model?.mode !== Mode.X509 || !field.model?.x509PrivateKeyFingerPrint\n );\n }\n }\n }\n ]\n },\n {\n wrappers: ['legend'],\n props: {\n label: gettext('Server object configuration')\n },\n fieldGroup: [\n {\n key: 'storeNotifications',\n type: 'switch',\n defaultValue: false,\n props: {\n label: gettext('Store notifications'),\n description: gettext(\n 'LWM2M Client to store notify operations when client is offline or LWM2M Server is disabled. Also used to forward them to the LWM2M Server when the client is able to connect.'\n )\n }\n },\n {\n key: 'shortServerId',\n type: 'number',\n props: {\n label: gettext('Short Server ID'),\n description: gettext('in numbers'),\n placeholder: '1',\n min: 0\n }\n },\n {\n key: 'registrationLifetime',\n type: 'number',\n props: {\n label: gettext('Registration lifetime'),\n description: gettext('in seconds'),\n placeholder: '600',\n min: 0\n }\n },\n {\n key: 'defaultMinPeriod',\n type: 'number',\n props: {\n label: gettext('Default minimum period'),\n description: gettext('in seconds'),\n placeholder: '10',\n min: 0\n }\n },\n {\n key: 'defaultMaxPeriod',\n type: 'number',\n props: {\n label: gettext('Default maximum period'),\n description: gettext('in seconds'),\n placeholder: '60',\n min: 0\n }\n },\n {\n key: 'bindingMode',\n type: 'select',\n defaultValue: BindingMode.U,\n props: {\n label: gettext('Binding mode'),\n options: Object.values(BindingMode).map(value => ({\n label:\n value === BindingMode.U ? gettext('UDP') : gettext('UDP with queue mode'),\n value\n }))\n }\n },\n {\n key: 'disableTimeout',\n type: 'number',\n props: {\n label: gettext('Disable timeout'),\n description: gettext('in seconds'),\n placeholder: '86400',\n min: 0\n }\n }\n ]\n }\n ]\n }\n ];\n }\n\n save() {\n this.service\n .update$({\n ...this.model,\n uri: this.getFullURI(),\n endpoint: LWM2MEndpoint.servers\n })\n .pipe(\n catchError(err => {\n this.alert.addServerFailure(err);\n return of(null);\n })\n )\n .subscribe(_next => this.cancel());\n }\n\n delete() {\n this.service\n .deleteServer$(this.model)\n .pipe(\n catchError(err => {\n this.alert.addServerFailure(err);\n return of(null);\n })\n )\n .subscribe(_next => this.cancel());\n }\n\n cancel = () => this.router.navigate(['../servers'], { relativeTo: this.route });\n\n protected getFullURI() {\n const {\n uri,\n security: { mode = Mode.NO_SEC }\n } = this.model;\n return (mode === Mode.NO_SEC ? this.COAP : this.COAPS).concat(uri);\n }\n\n private patchFingerprint(privateKey: string) {\n if (privateKey?.length > 0) {\n this.service\n .validate(privateKey, ValidationType.PRIVATE_KEY)\n .pipe(takeUntil(this.destroy$))\n .subscribe(\n fingerprint => {\n this.model.security.x509PrivateKey = privateKey;\n this.model.security.x509PrivateKeyFingerPrint = fingerprint;\n this.form.patchValue(this.model);\n this.form.markAsDirty();\n },\n _error => {\n // already catched\n }\n );\n }\n }\n\n private patchCommonName(certificate: string) {\n if (certificate?.length > 0) {\n this.service\n .validate(certificate, ValidationType.X509)\n .pipe(takeUntil(this.destroy$))\n .subscribe(\n commonName => {\n this.model.security.x509Certificate = certificate;\n this.model.security.x509CertificateCommonName = commonName;\n this.form.patchValue(this.model);\n this.form.markAsDirty();\n },\n _error => {\n // already catched\n }\n );\n }\n }\n\n private removePrivateKeyAndFingerprint() {\n this.form.patchValue({\n security: {\n x509PrivateKey: null,\n x509PrivateKeyFingerPrint: null\n } as Partial<Security>\n });\n delete this.model?.security?.x509PrivateKey;\n delete this.model?.security?.x509PrivateKeyFingerPrint;\n this.form.markAsDirty();\n }\n\n private removeCertificateAndCommonName() {\n this.form.patchValue({\n security: {\n x509Certificate: null,\n x509CertificateCommonName: null\n } as Partial<Security>\n });\n delete this.model?.security?.x509CertificateCommonName;\n delete this.model?.security?.x509Certificate;\n this.form.markAsDirty();\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CoreModule } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { ServerSettings } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\nimport { Lwm2mFormSingleServerSettings } from './single-server-settings.component';\nimport { catchError } from 'rxjs/operators';\nimport { of } from 'rxjs';\n\n@Component({\n templateUrl: './form-wrapper-base.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-create-single-server-settings'\n})\nexport class Lwm2mFormCreateSingleServerSettings\n extends Lwm2mFormSingleServerSettings\n implements OnInit\n{\n constructor(protected service: Lwm2mConfigurationService<ServerSettings>) {\n super(service);\n }\n\n ngOnInit() {\n // override by design\n }\n\n create() {\n this.service\n .createServer$({\n ...this.model,\n uri: this.getFullURI()\n })\n .pipe(\n catchError(err => {\n this.alert.addServerFailure(err);\n return of(null);\n })\n )\n .subscribe(_next => this.cancel());\n }\n}\n","import { Component, ComponentRef, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { CoreModule, gettext } from '@c8y/ngx-components';\nimport { Lwm2mUIThemeModule } from '@c8y/ngx-components/protocol-lwm2m/formly';\nimport { ServerSettings } from '@c8y/ngx-components/protocol-lwm2m/model';\nimport { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';\nimport { Lwm2mFormSingleServerSettings } from './single-server-settings.component';\nimport { map, takeUntil } from 'rxjs/operators';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { Lwm2mFormCreateSingleServerSettings } from './create-single-server-settings.component';\nimport { Subject } from 'rxjs';\n\n@Component({\n templateUrl: './server-settings.component.html',\n imports: [CoreModule, Lwm2mUIThemeModule, Lwm2mFormSingleServerSettings, RouterModule],\n standalone: true,\n selector: 'c8y-lwm2m-form-server-settings'\n})\nexport class Lwm2mFormServerSettings implements OnInit {\n private componentRef: ComponentRef<\n Lwm2mFormSingleServerSettings | Lwm2mFormCreateSingleServerSettings\n >;\n private destroy$: Subject<void> = new Subject();\n @ViewChild('singleServerForm', { read: ViewContainerRef, static: true })\n formContainer: ViewContainerRef;\n cmp: Lwm2mFormSingleServerSettings;\n id: string;\n\n listelements$ = this.service.servers$.pipe(\n map(servers =>\n servers.map(server => ({\n title: server.uri || gettext('Invalid server configuration'),\n icon: 'server',\n id: server.id\n }))\n )\n );\n\n constructor(\n protected service: Lwm2mConfigurationService<ServerSettings>,\n protected route: ActivatedRoute,\n protected router: Router\n ) {}\n\n ngOnInit() {\n this.route.queryParams.pipe(takeUntil(this.destroy$)).subscribe(({ id }) => {\n this.id = id;\n this.service.listServers();\n this.createComponent(id);\n });\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n select(id) {\n this.router.navigate([], {\n relativeTo: this.route,\n queryParams: { id },\n queryParamsHandling: 'merge'\n });\n }\n\n createComponent(id) {\n this.formContainer.clear();\n this.cmp = null;\n\n if (!id) return;\n\n this.componentRef = this.formContainer.createComponent(\n id !== 'create' ? Lwm2mFormSingleServerSettings : Lwm2mFormCreateSingleServerSettings\n );\n this.cmp = this.componentRef?.instance;\n this.cmp.id = id;\n }\n}\n","<div class=\"split-view--5-7 grid__row--1 fit-h\">\n <div class=\"inner-scroll split-view__list\">\n <div class=\"bg-level-1 flex-grow\">\n <ng-container *ngIf=\"listelements$ | async as list\">\n <ng-container *ngIf=\"list.length > 0 || id === 'create'; else empty\">\n <c8y-list-group class=\"c8y-list__group nav c8y-nav-stacked\">\n <c8y-li\n class=\"c8y-stacked-item p-0 active\"\n *ngIf=\"id === 'create'\"\n >\n <c8y-li-icon icon=\"server\"></c8y-li-icon>\n <span title=\"{{ 'New server' | translate }}\">\n {{ 'New server' | translate }}\n </span>\n </c8y-li>\n <c8y-li\n class=\"c8y-stacked-item p-0\"\n [class.active]=\"el.id === id\"\n *ngFor=\"let el of list\"\n (click)=\"select(el.id)\"\n >\n <c8y-li-icon [icon]=\"el.icon\"></c8y-li-icon>\n <span title=\"{{ el.title }}\">\n {{ el.title }}\n </span>\n </c8y-li>\n </c8y-list-group>\n </ng-container>\n <ng-template #empty>\n <div class=\"card-block\">\n <c8y-ui-empty-state\n [icon]=\"'stack'\"\n [title]=\"'No servers found.' | translate\"\n [subtitle]=\"'Click below to add a new server.' | translate\"\n ></c8y-ui-empty-state>\n </div>\n </ng-template>\n </ng-container>\n </div>\n <div class=\"card-footer separator-top\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Add server' | translate }}\"\n [disabled]=\"id === 'create'\"\n (click)=\"select('create')\"\n >\n <i [c8yIcon]=\"'plus-circle'\"></i>\n {{ 'Add server' | translate }}\n </button>\n </div>\n </div>\n <form class=\"d-contents\">\n <div\n class=\"inner-scroll split-view__detail\"\n [ngClass]=\"{ 'split-view__detail--selected': cmp?.fields?.length > 0 }\"\n >\n <div class=\"card-header separator visible-sm visible-xs fit-w sticky-top\">\n <button\n class=\"btn btn-clean text-primary\"\n title=\"{{ 'Back' | translate }}\"\n type=\"button\"\n (click)=\"cmp?.cancel()\"\n >\n <i c8y-icon=\"chevron-left\"></i>\n <span>{{ 'Back' | translate }}</span>\n </button>\n </div>\n <div class=\"card-block flex-grow overflow-visible\">\n <ng-container *ngIf=\"!cmp?.fields?.length\">\n <c8y-ui-empty-state\n [icon]=\"'stack'\"\n title=\"{{ 'No server to display.' | translate }}\"\n subtitle=\"{{ 'Add or select a server.' | translate }}\"\n ></c8y-ui-empty-state>\n <div\n class=\"alert alert-info\"\n role=\"alert\"\n >\n <strong>{{ 'Info' | translate }}</strong>\n {{\n 'Configured servers are written as soon as the device does a bootstrap connection.'\n | translate\n }}\n </div>\n </ng-container>\n <ng-container #singleServerForm></ng-container>\n </div>\n <div\n class=\"card-footer separator sticky-bottom bg-level-0\"\n *ngIf=\"cmp?.fields?.length > 0\"\n >\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"cmp.cancel()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n\n <ng-container *ngIf=\"id !== 'create'; else createServer\">\n <button\n class=\"btn btn-danger\"\n title=\"{{ 'Delete' | translate }}\"\n type=\"button\"\n [disabled]=\"cmp.options?.formState?.disabled || false\"\n (click)=\"cmp.delete()\"\n >\n {{ 'Delete' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"button\"\n [disabled]=\"cmp.form?.invalid || !cmp.form?.dirty\"\n (click)=\"cmp.save()\"\n >\n {{ 'Save' | translate }}\n </button>\n </ng-container>\n <ng-template #createServer>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Create' | translate }}\"\n type=\"button\"\n [disabled]=\"cmp.form?.invalid || !cmp.form?.dirty\"\n (click)=\"cmp.create()\"\n >\n {{ 'Create' | translate }}\n </button>\n </ng-template>\n </div>\n </div>\n </form>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["map","delay","i2","i3","i4"],"mappings":"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"}
|
|
@@ -122,6 +122,7 @@ var RepositoryType;
|
|
|
122
122
|
RepositoryType["FIRMWARE"] = "c8y_Firmware";
|
|
123
123
|
RepositoryType["SOFTWARE"] = "c8y_Software";
|
|
124
124
|
RepositoryType["CONFIGURATION"] = "c8y_ConfigurationDump";
|
|
125
|
+
RepositoryType["PROFILE"] = "c8y_Profile";
|
|
125
126
|
})(RepositoryType || (RepositoryType = {}));
|
|
126
127
|
const REPOSITORY_BINARY_TYPES = {
|
|
127
128
|
[RepositoryType.SOFTWARE]: 'c8y_SoftwareBinary',
|