UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

1 lines 7.47 kB
{"version":3,"file":"c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-Dz3efcEU.mjs","sources":["../../computed-asset-properties/configuration-snapshot/configuration-snapshot-config.component.ts","../../computed-asset-properties/configuration-snapshot/configuration-snapshot-config.component.html"],"sourcesContent":["import { Component, DestroyRef, inject, Input, OnInit } from '@angular/core';\nimport {\n ControlContainer,\n FormBuilder,\n NgForm,\n ReactiveFormsModule,\n Validators\n} from '@angular/forms';\nimport { C8yTranslatePipe, CommonModule, CoreModule } from '@c8y/ngx-components';\nimport { Observable, startWith } from 'rxjs';\nimport { ConfigurationSnapshotConfig } from './configuration-snapshot.model';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'c8y-configuration-snapshot-config',\n templateUrl: './configuration-snapshot-config.component.html',\n imports: [CoreModule, CommonModule, C8yTranslatePipe, ReactiveFormsModule],\n viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]\n})\nexport class ConfigurationSnapshotConfigComponent implements OnInit {\n @Input() config?: ConfigurationSnapshotConfig;\n formGroup: ReturnType<ConfigurationSnapshotConfigComponent['createForm']>;\n\n private formBuilder = inject(FormBuilder);\n private form = inject(NgForm);\n private destroyRef = inject(DestroyRef);\n\n ngOnInit() {\n this.initForm();\n this.setupLegacyToggle();\n }\n\n onBeforeSave(\n config?: ConfigurationSnapshotConfig\n ): boolean | Promise<boolean> | Observable<boolean> {\n if (this.formGroup.valid) {\n Object.assign(config, this.formGroup.value);\n return true;\n }\n return false;\n }\n\n private initForm(): void {\n this.formGroup = this.createForm();\n this.form.form.addControl('config', this.formGroup);\n this.formGroup.patchValue(this.config);\n }\n\n private createForm() {\n return this.formBuilder.group({\n legacy: [true, [Validators.required]],\n type: ['', []]\n });\n }\n\n private setupLegacyToggle(): void {\n this.formGroup\n .get('legacy')\n ?.valueChanges.pipe(startWith(this.isLegacy), takeUntilDestroyed(this.destroyRef))\n .subscribe(isLegacy => {\n this.updateTypeControlBasedOnLegacy(isLegacy);\n });\n }\n\n private updateTypeControlBasedOnLegacy(isLegacy: boolean): void {\n const typeControl = this.formGroup.get('type');\n\n if (isLegacy) {\n typeControl?.setValue(null);\n typeControl?.clearValidators();\n typeControl?.setErrors(null);\n } else {\n typeControl?.setValidators([Validators.required]);\n }\n\n typeControl?.updateValueAndValidity();\n }\n\n get isLegacy(): boolean {\n return this.formGroup.get('legacy')?.value;\n }\n}\n","<form [formGroup]=\"formGroup\">\n <c8y-form-group class=\"m-b-8\">\n <label\n class=\"c8y-switch\"\n [title]=\"'Legacy configuration' | translate\"\n >\n <input\n type=\"checkbox\"\n formControlName=\"legacy\"\n />\n <span></span>\n <span>{{ 'Legacy configuration' | translate }}</span>\n <span class=\"sr-only\">{{ 'Legacy configuration' | translate }}</span>\n </label>\n </c8y-form-group>\n\n <c8y-form-group\n class=\"form-group-sm m-b-16\"\n *ngIf=\"!isLegacy\"\n >\n <label\n [title]=\"'Configuration type' | translate\"\n translate\n >\n Configuration type\n </label>\n <input\n class=\"form-control\"\n name=\"type\"\n type=\"text\"\n formControlName=\"type\"\n />\n <c8y-messages\n [show]=\"formGroup.controls?.type?.touched && formGroup?.controls?.type?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n</form>\n"],"names":["i3"],"mappings":"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"}