fixes
This commit is contained in:
parent
0c71adce91
commit
6e0871299b
@ -14,7 +14,7 @@
|
||||
/// limitations under the License.
|
||||
///
|
||||
|
||||
import { Component, forwardRef } from '@angular/core';
|
||||
import { AfterViewInit, Component, forwardRef } from '@angular/core';
|
||||
import {
|
||||
ControlValueAccessor,
|
||||
NG_VALIDATORS,
|
||||
@ -60,7 +60,7 @@ import { MatDialog } from '@angular/material/dialog';
|
||||
}
|
||||
]
|
||||
})
|
||||
export class CalculatedFieldTestArgumentsComponent extends PageComponent implements ControlValueAccessor, Validator {
|
||||
export class CalculatedFieldTestArgumentsComponent extends PageComponent implements ControlValueAccessor, Validator, AfterViewInit {
|
||||
|
||||
argumentsFormArray = this.fb.array<FormGroup>([]);
|
||||
|
||||
@ -78,6 +78,10 @@ export class CalculatedFieldTestArgumentsComponent extends PageComponent impleme
|
||||
.subscribe(() => this.propagateChange(this.getValue()));
|
||||
}
|
||||
|
||||
ngAfterViewInit(): void {
|
||||
this.argumentsFormArray.updateValueAndValidity();
|
||||
}
|
||||
|
||||
registerOnChange(propagateChange: (value: CalculatedFieldEventArguments) => void): void {
|
||||
this.propagateChange = propagateChange;
|
||||
}
|
||||
@ -91,8 +95,8 @@ export class CalculatedFieldTestArgumentsComponent extends PageComponent impleme
|
||||
const value = { ...argumentsObj[key], argumentName: key } as CalculatedFieldArgumentEventValue;
|
||||
this.argumentsFormArray.push((value).type === ArgumentType.Rolling
|
||||
? this.getRollingArgumentFormGroup(value as CalculatedFieldRollingTelemetryArgumentValue)
|
||||
: this.getSimpleArgumentFormGroup(value as CalculatedFieldSingleArgumentValue),
|
||||
{emitEvent: false});
|
||||
: this.getSimpleArgumentFormGroup(value as CalculatedFieldSingleArgumentValue)
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
@ -100,24 +104,6 @@ export class CalculatedFieldTestArgumentsComponent extends PageComponent impleme
|
||||
return this.argumentsFormArray.valid ? null : { arguments: { valid: false } };
|
||||
}
|
||||
|
||||
private getSimpleArgumentFormGroup({ argumentName, type, ts, value }: CalculatedFieldSingleArgumentValue): FormGroup {
|
||||
return this.fb.group({
|
||||
argumentName: [{ value: argumentName, disabled: true}],
|
||||
type: [{ value: type , disabled: true }],
|
||||
ts: [ts],
|
||||
value: [value]
|
||||
}) as FormGroup;
|
||||
}
|
||||
|
||||
private getRollingArgumentFormGroup({ argumentName, type, timewindow, values }: CalculatedFieldRollingTelemetryArgumentValue): FormGroup {
|
||||
return this.fb.group({
|
||||
...timewindow ?? {},
|
||||
argumentName: [{ value: argumentName, disabled: true }],
|
||||
type: [{ value: type , disabled: true }],
|
||||
values: [values]
|
||||
}) as FormGroup;
|
||||
}
|
||||
|
||||
openEditJSONDialog(group: FormGroup): void {
|
||||
this.dialog.open<JsonObjectEditDialogComponent, JsonObjectEditDialogData, CalculatedFieldArgumentEventValue>(JsonObjectEditDialogComponent, {
|
||||
disableClose: true,
|
||||
@ -136,10 +122,28 @@ export class CalculatedFieldTestArgumentsComponent extends PageComponent impleme
|
||||
: group.patchValue({ ts: (result as CalculatedFieldSingleArgumentValue).ts, value: (result as CalculatedFieldSingleArgumentValue).value }) );
|
||||
}
|
||||
|
||||
private getSimpleArgumentFormGroup({ argumentName, type, ts, value }: CalculatedFieldSingleArgumentValue): FormGroup {
|
||||
return this.fb.group({
|
||||
argumentName: [{ value: argumentName, disabled: true}],
|
||||
type: [{ value: type , disabled: true }],
|
||||
ts: [ts],
|
||||
value: [value]
|
||||
}) as FormGroup;
|
||||
}
|
||||
|
||||
private getRollingArgumentFormGroup({ argumentName, type, timewindow, values }: CalculatedFieldRollingTelemetryArgumentValue): FormGroup {
|
||||
return this.fb.group({
|
||||
...timewindow ?? {},
|
||||
argumentName: [{ value: argumentName, disabled: true }],
|
||||
type: [{ value: type , disabled: true }],
|
||||
values: [values]
|
||||
}) as FormGroup;
|
||||
}
|
||||
|
||||
private getValue(): CalculatedFieldEventArguments {
|
||||
return this.argumentsFormArray.getRawValue().reduce((acc, rowItem) => {
|
||||
const { argumentName, type, ...value } = rowItem;
|
||||
acc[argumentName] = { ...value };
|
||||
acc[argumentName] = value;
|
||||
return acc;
|
||||
}, {});
|
||||
}
|
||||
|
||||
@ -81,7 +81,7 @@ export class CalculatedFieldScriptTestDialogComponent extends DialogComponent<Ca
|
||||
beautifyJs(this.data.expression, {indent_size: 4}).pipe(filter(Boolean), takeUntilDestroyed()).subscribe(
|
||||
(res) => this.calculatedFieldScriptTestFormGroup.get('expression').patchValue(res, {emitEvent: false})
|
||||
);
|
||||
this.calculatedFieldScriptTestFormGroup.get('arguments').patchValue(this.data.arguments, {emitEvent: false});
|
||||
this.calculatedFieldScriptTestFormGroup.get('arguments').patchValue(this.data.arguments);
|
||||
}
|
||||
|
||||
ngAfterViewInit(): void {
|
||||
|
||||
@ -149,7 +149,7 @@ export interface CalculatedFieldDebugDialogData {
|
||||
}
|
||||
|
||||
export interface CalculatedFieldTestScriptInputParams {
|
||||
arguments: Record<string, unknown>,
|
||||
arguments: CalculatedFieldEventArguments,
|
||||
expression: string;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user