@ng-formworks/core 19.5.8 → 19.6.2

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.
@@ -63,6 +63,7 @@ export declare class JsonSchemaFormComponent implements ControlValueAccessor, On
63
63
  formData: any;
64
64
  loadExternalAssets: boolean;
65
65
  debug: boolean;
66
+ ajvOptions: any;
66
67
  };
67
68
  readonly schema: import("@angular/core").InputSignal<any>;
68
69
  readonly layout: import("@angular/core").InputSignal<any[]>;
@@ -80,6 +81,8 @@ export declare class JsonSchemaFormComponent implements ControlValueAccessor, On
80
81
  readonly loadExternalAssets: import("@angular/core").InputSignal<boolean>;
81
82
  readonly debug: import("@angular/core").InputSignal<boolean>;
82
83
  readonly theme: import("@angular/core").InputSignal<string>;
84
+ readonly ajvOptions: import("@angular/core").InputSignal<any>;
85
+ private ajvInstanceName;
83
86
  get value(): any;
84
87
  set value(value: any);
85
88
  readonly onChanges: import("@angular/core").OutputEmitterRef<any>;
@@ -134,6 +137,12 @@ export declare class JsonSchemaFormComponent implements ControlValueAccessor, On
134
137
  * the Angular formGroup used to control the reactive form.
135
138
  */
136
139
  initializeForm(initialData?: any): void;
140
+ /**
141
+ * 'initializeAjv' function
142
+ *
143
+ * Initialize ajv from 'ajvOptions'
144
+ */
145
+ private initializeAjv;
137
146
  /**
138
147
  * 'initializeOptions' function
139
148
  *
@@ -212,5 +221,5 @@ export declare class JsonSchemaFormComponent implements ControlValueAccessor, On
212
221
  */
213
222
  private activateForm;
214
223
  static ɵfac: i0.ɵɵFactoryDeclaration<JsonSchemaFormComponent, never>;
215
- static ɵcmp: i0.ɵɵComponentDeclaration<JsonSchemaFormComponent, "json-schema-form", never, { "schema": { "alias": "schema"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "framework": { "alias": "framework"; "required": false; "isSignal": true; }; "widgets": { "alias": "widgets"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "model": { "alias": "model"; "required": false; "isSignal": true; }; "JSONSchema": { "alias": "JSONSchema"; "required": false; "isSignal": true; }; "UISchema": { "alias": "UISchema"; "required": false; "isSignal": true; }; "formData": { "alias": "formData"; "required": false; "isSignal": true; }; "ngModel": { "alias": "ngModel"; "required": false; "isSignal": true; }; "language": { "alias": "language"; "required": false; "isSignal": true; }; "loadExternalAssets": { "alias": "loadExternalAssets"; "required": false; "isSignal": true; }; "debug": { "alias": "debug"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; }; }, { "onChanges": "onChanges"; "onSubmit": "onSubmit"; "isValid": "isValid"; "validationErrors": "validationErrors"; "formSchema": "formSchema"; "formLayout": "formLayout"; "dataChange": "dataChange"; "modelChange": "modelChange"; "formDataChange": "formDataChange"; "ngModelChange": "ngModelChange"; }, never, never, false, never>;
224
+ static ɵcmp: i0.ɵɵComponentDeclaration<JsonSchemaFormComponent, "json-schema-form", never, { "schema": { "alias": "schema"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "framework": { "alias": "framework"; "required": false; "isSignal": true; }; "widgets": { "alias": "widgets"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "model": { "alias": "model"; "required": false; "isSignal": true; }; "JSONSchema": { "alias": "JSONSchema"; "required": false; "isSignal": true; }; "UISchema": { "alias": "UISchema"; "required": false; "isSignal": true; }; "formData": { "alias": "formData"; "required": false; "isSignal": true; }; "ngModel": { "alias": "ngModel"; "required": false; "isSignal": true; }; "language": { "alias": "language"; "required": false; "isSignal": true; }; "loadExternalAssets": { "alias": "loadExternalAssets"; "required": false; "isSignal": true; }; "debug": { "alias": "debug"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "ajvOptions": { "alias": "ajvOptions"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; }; }, { "onChanges": "onChanges"; "onSubmit": "onSubmit"; "isValid": "isValid"; "validationErrors": "validationErrors"; "formSchema": "formSchema"; "formLayout": "formLayout"; "dataChange": "dataChange"; "modelChange": "modelChange"; "formDataChange": "formDataChange"; "ngModelChange": "ngModelChange"; }, never, never, false, never>;
216
225
  }
@@ -1,6 +1,6 @@
1
1
  import { OnDestroy, Signal } from '@angular/core';
2
2
  import { AbstractControl, UntypedFormArray, UntypedFormGroup } from '@angular/forms';
3
- import { ErrorObject, Options } from 'ajv/dist/2019';
3
+ import Ajv2019, { ErrorObject, Options, ValidateFunction } from 'ajv/dist/2019';
4
4
  import { Subject, Subscription } from 'rxjs';
5
5
  import * as i0 from "@angular/core";
6
6
  export type WidgetContext = {
@@ -14,6 +14,13 @@ export type WidgetContext = {
14
14
  controlName?: string;
15
15
  controlDisabled?: boolean;
16
16
  };
17
+ export type AJVRegistryItem = {
18
+ [name: string]: {
19
+ name: string;
20
+ ajvInstance: Ajv2019;
21
+ ajvValidator: ValidateFunction;
22
+ };
23
+ };
17
24
  export interface TitleMapItem {
18
25
  name?: string;
19
26
  value?: any;
@@ -70,6 +77,15 @@ export declare class JsonSchemaFormService implements OnDestroy {
70
77
  private sortableOptionsSubject;
71
78
  sortableOptions$: import("rxjs").Observable<any>;
72
79
  setSortableOptions(value: any): void;
80
+ createAjvInstance(ajvOptions: any): Ajv2019;
81
+ createAndRegisterAjvInstance(ajvOptions: any, name?: string): {
82
+ name: string;
83
+ ajvInstance: Ajv2019;
84
+ ajvValidator: ValidateFunction;
85
+ };
86
+ ajvRegistry: AJVRegistryItem;
87
+ getAjvInstance(name?: string): Ajv2019;
88
+ getAjvValidator(name?: string): ValidateFunction<unknown>;
73
89
  constructor();
74
90
  ngOnDestroy(): void;
75
91
  setLanguage(language?: string): void;
@@ -97,12 +113,12 @@ export declare class JsonSchemaFormService implements OnDestroy {
97
113
  * //{ErrorMessages} errors
98
114
  */
99
115
  buildRemoteError(errors: ErrorMessages): void;
100
- validateData(newValue: any, updateSubscriptions?: boolean): void;
116
+ validateData(newValue: any, updateSubscriptions?: boolean, ajvInstanceName?: string): void;
101
117
  buildFormGroupTemplate(formValues?: any, setValues?: boolean): void;
102
- buildFormGroup(): void;
118
+ buildFormGroup(ajvInstanceName?: string): void;
103
119
  buildLayout(widgetLibrary: any): void;
104
120
  setOptions(newOptions: any): void;
105
- compileAjvSchema(): void;
121
+ compileAjvSchema(ajvInstanceName?: string): void;
106
122
  buildSchemaFromData(data?: any, requireAllFields?: boolean): any;
107
123
  buildSchemaFromLayout(layout?: any): any;
108
124
  setTpldata(newTpldata?: any): void;
@@ -115,7 +131,9 @@ export declare class JsonSchemaFormService implements OnDestroy {
115
131
  formatErrors(errors: any, validationMessages?: any): string;
116
132
  updateValue(ctx: WidgetContext, value: any): void;
117
133
  updateArrayCheckboxList(ctx: WidgetContext, checkboxList: TitleMapItem[]): void;
134
+ updateArrayMultiSelectList(ctx: WidgetContext, selectList: TitleMapItem[]): void;
118
135
  getFormControl(ctx: WidgetContext): AbstractControl;
136
+ setFormControl(ctx: WidgetContext, control: AbstractControl): AbstractControl;
119
137
  getFormControlValue(ctx: WidgetContext): AbstractControl;
120
138
  getFormControlGroup(ctx: WidgetContext): UntypedFormArray | UntypedFormGroup;
121
139
  getFormControlName(ctx: WidgetContext): string;
@@ -1,5 +1,14 @@
1
1
  import { AbstractControl } from '@angular/forms';
2
2
  import { Pointer } from './jsonpointer.functions';
3
+ /**
4
+ * path2ControlKey takes a datapointer path like /some/pointer/path
5
+ * and returns something like $some$pointer$path
6
+ * used mainly to convert paths so it can be used as keys in FormGroups
7
+ * fot ITE scenarios
8
+ * @param path
9
+ * @returns string
10
+ */
11
+ export declare function path2ControlKey(path: string): string;
3
12
  /**
4
13
  * FormGroup function library:
5
14
  *
@@ -39,6 +48,7 @@ export declare function buildFormGroupTemplate(jsf: any, nodeValue?: any, setVal
39
48
  controlType: string;
40
49
  controls: any;
41
50
  validators: any;
51
+ schemaPointer: string;
42
52
  value?: undefined;
43
53
  } | {
44
54
  controlType: string;
@@ -47,6 +57,7 @@ export declare function buildFormGroupTemplate(jsf: any, nodeValue?: any, setVal
47
57
  disabled: any;
48
58
  };
49
59
  validators: any;
60
+ schemaPointer: string;
50
61
  controls?: undefined;
51
62
  };
52
63
  /**
@@ -96,5 +107,22 @@ export declare function formatFormData(formData: any, dataMap: Map<string, any>,
96
107
  * // {Pointer} dataPointer - JSON Pointer (string or array)
97
108
  * // {boolean = false} returnGroup - If true, return group containing control
98
109
  * // {group} - Located value (or null, if no control found)
110
+ * // {string} schemaPointer - string used for conditional controls coming from schema if/then/else
111
+ */
112
+ export declare function getControl(formGroup: any, dataPointer: Pointer, returnGroup?: boolean, schemaPointer?: string): any;
113
+ /**
114
+ * 'setControl' function
115
+ *
116
+ * Uses a JSON Pointer for a data object to retrieve a control from
117
+ * an Angular formGroup or formGroup template. (Note: though a formGroup
118
+ * template is much simpler, its basic structure is idential to a formGroup).
119
+ *
120
+ * If the optional third parameter 'returnGroup' is set to TRUE, the group
121
+ * containing the control is returned, rather than the control itself.
122
+ *
123
+ * // {FormGroup} formGroup - Angular FormGroup to get value from
124
+ * // {Pointer} dataPointer - JSON Pointer (string or array)
125
+ * // {AbstractControl} control - control used to replace existing or add
126
+ * // {targetKey} - optional string used as the new key-not implemented as yet
99
127
  */
100
- export declare function getControl(formGroup: any, dataPointer: Pointer, returnGroup?: boolean): any;
128
+ export declare function setControl(formGroup: any, dataPointer: Pointer, control: AbstractControl, targetKey?: string): any;
@@ -14,6 +14,7 @@ export declare const jsonSchemaFormatTests: {
14
14
  color: RegExp;
15
15
  'json-pointer': RegExp;
16
16
  'relative-json-pointer': RegExp;
17
+ duration: RegExp;
17
18
  regex: (str: any) => boolean;
18
19
  };
19
- export type JsonSchemaFormatNames = 'date' | 'time' | 'date-time' | 'email' | 'hostname' | 'ipv4' | 'ipv6' | 'uri' | 'uri-reference' | 'uri-template' | 'url' | 'uuid' | 'color' | 'json-pointer' | 'relative-json-pointer' | 'regex';
20
+ export type JsonSchemaFormatNames = 'date' | 'time' | 'date-time' | 'email' | 'hostname' | 'ipv4' | 'ipv6' | 'uri' | 'uri-reference' | 'uri-template' | 'url' | 'uuid' | 'color' | 'json-pointer' | 'relative-json-pointer' | 'duration' | 'regex';
@@ -1,9 +1,9 @@
1
- export { _executeValidators, _executeAsyncValidators, _mergeObjects, _mergeErrors, isDefined, hasValue, isEmpty, isString, isNumber, isInteger, isBoolean, isFunction, isObject, isArray, isDate, isMap, isSet, isPromise, isObservable, getType, isType, isPrimitive, toJavaScriptType, toSchemaType, _toPromise, toObservable, inArray, xor, SchemaPrimitiveType, SchemaType, JavaScriptPrimitiveType, JavaScriptType, PrimitiveValue, PlainObject, IValidatorFn, AsyncIValidatorFn } from './validator.functions';
2
- export { addClasses, copy, forEach, forEachCopy, hasOwn, mergeFilteredObject, uniqueItems, commonItems, fixTitle, toTitleCase } from './utility.functions';
3
- export { Pointer, JsonPointer } from './jsonpointer.functions';
1
+ export { _executeAsyncValidators, _executeValidators, _mergeErrors, _mergeObjects, _toPromise, AsyncIValidatorFn, getType, hasValue, inArray, isArray, isBoolean, isDate, isDefined, isEmpty, isFunction, isInteger, isMap, isNumber, isObject, isObservable, isPrimitive, isPromise, isSet, isString, isType, IValidatorFn, JavaScriptPrimitiveType, JavaScriptType, PlainObject, PrimitiveValue, SchemaPrimitiveType, SchemaType, toJavaScriptType, toObservable, toSchemaType, xor } from './validator.functions';
2
+ export { addClasses, commonItems, copy, fixTitle, forEach, forEachCopy, hasNonNullValue, hasOwn, mergeFilteredObject, toTitleCase, uniqueItems } from './utility.functions';
3
+ export { JsonPointer, Pointer } from './jsonpointer.functions';
4
4
  export { JsonValidators } from './json.validators';
5
- export { buildSchemaFromLayout, buildSchemaFromData, getFromSchema, removeRecursiveReferences, getInputType, checkInlineType, isInputRequired, updateInputOptions, getTitleMapFromOneOf, getControlValidators, resolveSchemaReferences, getSubSchema, combineAllOf, fixRequiredArrayProperties } from './json-schema.functions';
5
+ export { buildSchemaFromData, buildSchemaFromLayout, checkInlineType, combineAllOf, fixRequiredArrayProperties, getControlValidators, getFromSchema, getInputType, getSubSchema, getTitleMapFromOneOf, isInputRequired, removeRecursiveReferences, resolveSchemaReferences, updateInputOptions } from './json-schema.functions';
6
6
  export { convertSchemaToDraft6 } from './convert-schema-to-draft6.function';
7
7
  export { mergeSchemas } from './merge-schemas.function';
8
- export { buildFormGroupTemplate, buildFormGroup, formatFormData, getControl, setRequiredFields } from './form-group.functions';
9
- export { buildLayout, buildLayoutFromSchema, mapLayout, getLayoutNode, buildTitleMap } from './layout.functions';
8
+ export { buildFormGroup, buildFormGroupTemplate, formatFormData, getControl, path2ControlKey, setControl, setRequiredFields } from './form-group.functions';
9
+ export { buildLayout, buildLayoutFromSchema, buildTitleMap, getLayoutNode, mapLayout } from './layout.functions';
@@ -171,6 +171,8 @@ export declare function resolveSchemaReferences(schema: any, schemaRefLibrary: a
171
171
  * //
172
172
  */
173
173
  export declare function getSubSchema(schema: any, pointer: any, schemaRefLibrary?: any, schemaRecursiveRefMap?: Map<string, string>, usedPointers?: string[]): any;
174
+ export declare function omitKeys<T extends object>(objects: T[], keysToOmit: (keyof T)[]): Omit<T, keyof T>[];
175
+ export declare function combineAllOfITE(schema: any): void;
174
176
  /**
175
177
  * 'combineAllOf' function
176
178
  *
@@ -191,3 +193,23 @@ export declare function combineAllOf(schema: any): any;
191
193
  * // - converted schema object
192
194
  */
193
195
  export declare function fixRequiredArrayProperties(schema: any): any;
196
+ /**
197
+ * 'convertJSONSchemaIfToCondition' function
198
+ * converts something like
199
+ * "if": {
200
+ * "properties": {
201
+ * "animal": {
202
+ * "const": "Cat"
203
+ * },
204
+ * "habitat":{
205
+ * "const": "City"
206
+ * }
207
+ * }
208
+ * }
209
+ * to "model.animal=='Cat' && habitat=='City" contion
210
+ * @param schema:any
211
+ * @param negate:boolean=false
212
+ * @returns
213
+
214
+ */
215
+ export declare function convertJSONSchemaIfToCondition(schema: any, layoutNode: any, negate?: boolean): {};
@@ -1,6 +1,6 @@
1
- import { AsyncIValidatorFn, IValidatorFn, SchemaPrimitiveType } from './validator.functions';
2
1
  import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';
3
2
  import { JsonSchemaFormatNames } from './format-regex.constants';
3
+ import { AsyncIValidatorFn, IValidatorFn, SchemaPrimitiveType } from './validator.functions';
4
4
  /**
5
5
  * 'JsonValidators' class
6
6
  *
@@ -200,7 +200,7 @@ export declare class JsonValidators {
200
200
  * This validator currently checks the following formsts:
201
201
  * date, time, date-time, email, hostname, ipv4, ipv6,
202
202
  * uri, uri-reference, uri-template, url, uuid, color,
203
- * json-pointer, relative-json-pointer, regex
203
+ * json-pointer, relative-json-pointer,duration, regex
204
204
  *
205
205
  * Fast format regular expressions copied from AJV:
206
206
  * https://github.com/epoberezkin/ajv/blob/master/lib/compile/formats.js
@@ -36,7 +36,7 @@ export declare function buildLayout(jsf: any, widgetLibrary: any): any[];
36
36
  * // { string = '' } dataPointerPrefix -
37
37
  * //
38
38
  */
39
- export declare function buildLayoutFromSchema(jsf: any, widgetLibrary: any, nodeValue?: any, schemaPointer?: string, dataPointer?: string, arrayItem?: boolean, arrayItemType?: string, removable?: boolean, forRefLibrary?: boolean, dataPointerPrefix?: string): any;
39
+ export declare function buildLayoutFromSchema(jsf: any, widgetLibrary: any, nodeValue?: any, schemaPointer?: string, dataPointer?: string, arrayItem?: boolean, arrayItemType?: string, removable?: boolean, forRefLibrary?: boolean, dataPointerPrefix?: string, jsonSchema?: any): any;
40
40
  /**
41
41
  * 'mapLayout' function
42
42
  *
@@ -163,3 +163,18 @@ export declare function fixTitle(name: string): string;
163
163
  * // {string} -
164
164
  */
165
165
  export declare function toTitleCase(input: string, forceWords?: string | string[]): string;
166
+ /**
167
+ * Recursively checks if at least one property of the given object (including nested objects)
168
+ * has a non-null and non-undefined value.
169
+ *
170
+ * @param obj - The object to check.
171
+ * @returns `true` if at least one property has a non-null and non-undefined value, otherwise `false`.
172
+ *
173
+ * @example
174
+ * const testObj = { a: null, b: { b1: null, b2: undefined } };
175
+ * console.log(hasNonNullValue(testObj)); // Output: false
176
+ *
177
+ * const testObj2 = { a: 1, b: { b1: null, b2: undefined } };
178
+ * console.log(hasNonNullValue(testObj2)); // Output: true
179
+ */
180
+ export declare function hasNonNullValue(obj: Record<string, any>): boolean;
@@ -1,7 +1,7 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
1
2
  import { AbstractControl } from '@angular/forms';
2
- import { OnInit } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
- export declare class ButtonComponent implements OnInit {
4
+ export declare class ButtonComponent implements OnInit, OnDestroy {
5
5
  private jsf;
6
6
  formControl: AbstractControl;
7
7
  controlName: string;
@@ -14,6 +14,7 @@ export declare class ButtonComponent implements OnInit {
14
14
  readonly dataIndex: import("@angular/core").InputSignal<number[]>;
15
15
  ngOnInit(): void;
16
16
  updateValue(event: any): void;
17
+ ngOnDestroy(): void;
17
18
  static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
18
19
  static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "button-widget", never, { "layoutNode": { "alias": "layoutNode"; "required": false; "isSignal": true; }; "layoutIndex": { "alias": "layoutIndex"; "required": false; "isSignal": true; }; "dataIndex": { "alias": "dataIndex"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
19
20
  }
@@ -1,7 +1,7 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
1
2
  import { AbstractControl } from '@angular/forms';
2
- import { OnInit } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
- export declare class CheckboxComponent implements OnInit {
4
+ export declare class CheckboxComponent implements OnInit, OnDestroy {
5
5
  private jsf;
6
6
  formControl: AbstractControl;
7
7
  controlName: string;
@@ -17,6 +17,7 @@ export declare class CheckboxComponent implements OnInit {
17
17
  ngOnInit(): void;
18
18
  updateValue(event: any): void;
19
19
  get isChecked(): boolean;
20
+ ngOnDestroy(): void;
20
21
  static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxComponent, never>;
21
22
  static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxComponent, "checkbox-widget", never, { "layoutNode": { "alias": "layoutNode"; "required": false; "isSignal": true; }; "layoutIndex": { "alias": "layoutIndex"; "required": false; "isSignal": true; }; "dataIndex": { "alias": "dataIndex"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
22
23
  }
@@ -1,8 +1,8 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
1
2
  import { AbstractControl } from '@angular/forms';
2
- import { OnInit } from '@angular/core';
3
3
  import { TitleMapItem } from '../json-schema-form.service';
4
4
  import * as i0 from "@angular/core";
5
- export declare class CheckboxesComponent implements OnInit {
5
+ export declare class CheckboxesComponent implements OnInit, OnDestroy {
6
6
  private jsf;
7
7
  formControl: AbstractControl;
8
8
  controlName: string;
@@ -18,6 +18,7 @@ export declare class CheckboxesComponent implements OnInit {
18
18
  readonly dataIndex: import("@angular/core").InputSignal<number[]>;
19
19
  ngOnInit(): void;
20
20
  updateValue(event: any): void;
21
+ ngOnDestroy(): void;
21
22
  static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxesComponent, never>;
22
23
  static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxesComponent, "checkboxes-widget", never, { "layoutNode": { "alias": "layoutNode"; "required": false; "isSignal": true; }; "layoutIndex": { "alias": "layoutIndex"; "required": false; "isSignal": true; }; "dataIndex": { "alias": "dataIndex"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
23
24
  }
@@ -1,7 +1,7 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
1
2
  import { AbstractControl } from '@angular/forms';
2
- import { OnInit } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
- export declare class FileComponent implements OnInit {
4
+ export declare class FileComponent implements OnInit, OnDestroy {
5
5
  private jsf;
6
6
  formControl: AbstractControl;
7
7
  controlName: string;
@@ -14,6 +14,7 @@ export declare class FileComponent implements OnInit {
14
14
  readonly dataIndex: import("@angular/core").InputSignal<number[]>;
15
15
  ngOnInit(): void;
16
16
  updateValue(event: any): void;
17
+ ngOnDestroy(): void;
17
18
  static ɵfac: i0.ɵɵFactoryDeclaration<FileComponent, never>;
18
19
  static ɵcmp: i0.ɵɵComponentDeclaration<FileComponent, "file-widget", never, { "layoutNode": { "alias": "layoutNode"; "required": false; "isSignal": true; }; "layoutIndex": { "alias": "layoutIndex"; "required": false; "isSignal": true; }; "dataIndex": { "alias": "dataIndex"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
19
20
  }
@@ -1,7 +1,7 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
1
2
  import { AbstractControl } from '@angular/forms';
2
- import { OnInit } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
- export declare class HiddenComponent implements OnInit {
4
+ export declare class HiddenComponent implements OnInit, OnDestroy {
5
5
  private jsf;
6
6
  formControl: AbstractControl;
7
7
  controlName: string;
@@ -12,6 +12,7 @@ export declare class HiddenComponent implements OnInit {
12
12
  readonly layoutIndex: import("@angular/core").InputSignal<number[]>;
13
13
  readonly dataIndex: import("@angular/core").InputSignal<number[]>;
14
14
  ngOnInit(): void;
15
+ ngOnDestroy(): void;
15
16
  static ɵfac: i0.ɵɵFactoryDeclaration<HiddenComponent, never>;
16
17
  static ɵcmp: i0.ɵɵComponentDeclaration<HiddenComponent, "hidden-widget", never, { "layoutNode": { "alias": "layoutNode"; "required": false; "isSignal": true; }; "layoutIndex": { "alias": "layoutIndex"; "required": false; "isSignal": true; }; "dataIndex": { "alias": "dataIndex"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
17
18
  }
@@ -1,7 +1,7 @@
1
- import { OnInit } from '@angular/core';
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
2
  import { AbstractControl } from '@angular/forms';
3
3
  import * as i0 from "@angular/core";
4
- export declare class InputComponent implements OnInit {
4
+ export declare class InputComponent implements OnInit, OnDestroy {
5
5
  private jsf;
6
6
  formControl: AbstractControl;
7
7
  controlName: string;
@@ -16,6 +16,7 @@ export declare class InputComponent implements OnInit {
16
16
  get inputAttributes(): any;
17
17
  ngOnInit(): void;
18
18
  updateValue(event: any): void;
19
+ ngOnDestroy(): void;
19
20
  static ɵfac: i0.ɵɵFactoryDeclaration<InputComponent, never>;
20
21
  static ɵcmp: i0.ɵɵComponentDeclaration<InputComponent, "input-widget", never, { "layoutNode": { "alias": "layoutNode"; "required": false; "isSignal": true; }; "layoutIndex": { "alias": "layoutIndex"; "required": false; "isSignal": true; }; "dataIndex": { "alias": "dataIndex"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
21
22
  }
@@ -1,7 +1,7 @@
1
- import { ElementRef, OnInit } from '@angular/core';
1
+ import { ElementRef, OnDestroy, OnInit } from '@angular/core';
2
2
  import { AbstractControl } from '@angular/forms';
3
3
  import * as i0 from "@angular/core";
4
- export declare class NumberComponent implements OnInit {
4
+ export declare class NumberComponent implements OnInit, OnDestroy {
5
5
  private jsf;
6
6
  formControl: AbstractControl;
7
7
  controlName: string;
@@ -21,6 +21,7 @@ export declare class NumberComponent implements OnInit {
21
21
  div: ElementRef;
22
22
  ngOnInit(): void;
23
23
  updateValue(event: any): void;
24
+ ngOnDestroy(): void;
24
25
  static ɵfac: i0.ɵɵFactoryDeclaration<NumberComponent, never>;
25
26
  static ɵcmp: i0.ɵɵComponentDeclaration<NumberComponent, "number-widget", never, { "layoutNode": { "alias": "layoutNode"; "required": false; "isSignal": true; }; "layoutIndex": { "alias": "layoutIndex"; "required": false; "isSignal": true; }; "dataIndex": { "alias": "dataIndex"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
26
27
  }
@@ -1,7 +1,7 @@
1
- import { OnInit } from '@angular/core';
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
2
  import { AbstractControl } from '@angular/forms';
3
3
  import * as i0 from "@angular/core";
4
- export declare class OneOfComponent implements OnInit {
4
+ export declare class OneOfComponent implements OnInit, OnDestroy {
5
5
  private jsf;
6
6
  formControl: AbstractControl;
7
7
  controlName: string;
@@ -13,7 +13,9 @@ export declare class OneOfComponent implements OnInit {
13
13
  readonly layoutIndex: import("@angular/core").InputSignal<number[]>;
14
14
  readonly dataIndex: import("@angular/core").InputSignal<number[]>;
15
15
  ngOnInit(): void;
16
+ findSelectedTab(): number;
16
17
  updateValue(event: any): void;
18
+ ngOnDestroy(): void;
17
19
  static ɵfac: i0.ɵɵFactoryDeclaration<OneOfComponent, never>;
18
20
  static ɵcmp: i0.ɵɵComponentDeclaration<OneOfComponent, "one-of-widget", never, { "layoutNode": { "alias": "layoutNode"; "required": false; "isSignal": true; }; "layoutIndex": { "alias": "layoutIndex"; "required": false; "isSignal": true; }; "dataIndex": { "alias": "dataIndex"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
19
21
  }
@@ -1,7 +1,7 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
1
2
  import { AbstractControl } from '@angular/forms';
2
- import { OnInit } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
- export declare class RadiosComponent implements OnInit {
4
+ export declare class RadiosComponent implements OnInit, OnDestroy {
5
5
  private jsf;
6
6
  formControl: AbstractControl;
7
7
  controlName: string;
@@ -16,6 +16,7 @@ export declare class RadiosComponent implements OnInit {
16
16
  readonly dataIndex: import("@angular/core").InputSignal<number[]>;
17
17
  ngOnInit(): void;
18
18
  updateValue(event: any): void;
19
+ ngOnDestroy(): void;
19
20
  static ɵfac: i0.ɵɵFactoryDeclaration<RadiosComponent, never>;
20
21
  static ɵcmp: i0.ɵɵComponentDeclaration<RadiosComponent, "radios-widget", never, { "layoutNode": { "alias": "layoutNode"; "required": false; "isSignal": true; }; "layoutIndex": { "alias": "layoutIndex"; "required": false; "isSignal": true; }; "dataIndex": { "alias": "dataIndex"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
21
22
  }
@@ -13,6 +13,7 @@ export declare class RootComponent implements OnInit, OnDestroy {
13
13
  private sortableOptionsSubscription;
14
14
  sortableInit(sortable: any): void;
15
15
  isDraggable(node: any): boolean;
16
+ isFixed(node: any): boolean;
16
17
  getFlexAttribute(node: any, attribute: string): any;
17
18
  showWidget(layoutNode: any): boolean;
18
19
  ngOnInit(): void;
@@ -1,8 +1,8 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
1
2
  import { AbstractControl } from '@angular/forms';
2
3
  import { isArray } from '../shared';
3
- import { OnInit } from '@angular/core';
4
4
  import * as i0 from "@angular/core";
5
- export declare class SelectComponent implements OnInit {
5
+ export declare class SelectComponent implements OnInit, OnDestroy {
6
6
  private jsf;
7
7
  formControl: AbstractControl;
8
8
  controlName: string;
@@ -11,12 +11,15 @@ export declare class SelectComponent implements OnInit {
11
11
  boundControl: boolean;
12
12
  options: any;
13
13
  selectList: any[];
14
+ selectListFlatGroup: any[];
14
15
  isArray: typeof isArray;
15
16
  readonly layoutNode: import("@angular/core").InputSignal<any>;
16
17
  readonly layoutIndex: import("@angular/core").InputSignal<number[]>;
17
18
  readonly dataIndex: import("@angular/core").InputSignal<number[]>;
18
19
  ngOnInit(): void;
20
+ deselectAll(): void;
19
21
  updateValue(event: any): void;
22
+ ngOnDestroy(): void;
20
23
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectComponent, never>;
21
24
  static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent, "select-widget", never, { "layoutNode": { "alias": "layoutNode"; "required": false; "isSignal": true; }; "layoutIndex": { "alias": "layoutIndex"; "required": false; "isSignal": true; }; "dataIndex": { "alias": "dataIndex"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
22
25
  }
@@ -1,7 +1,7 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
1
2
  import { AbstractControl } from '@angular/forms';
2
- import { OnInit } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
- export declare class TextareaComponent implements OnInit {
4
+ export declare class TextareaComponent implements OnInit, OnDestroy {
5
5
  private jsf;
6
6
  formControl: AbstractControl;
7
7
  controlName: string;
@@ -14,6 +14,7 @@ export declare class TextareaComponent implements OnInit {
14
14
  readonly dataIndex: import("@angular/core").InputSignal<number[]>;
15
15
  ngOnInit(): void;
16
16
  updateValue(event: any): void;
17
+ ngOnDestroy(): void;
17
18
  static ɵfac: i0.ɵɵFactoryDeclaration<TextareaComponent, never>;
18
19
  static ɵcmp: i0.ɵɵComponentDeclaration<TextareaComponent, "textarea-widget", never, { "layoutNode": { "alias": "layoutNode"; "required": false; "isSignal": true; }; "layoutIndex": { "alias": "layoutIndex"; "required": false; "isSignal": true; }; "dataIndex": { "alias": "dataIndex"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
19
20
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ng-formworks/core",
3
- "version": "19.5.8",
3
+ "version": "19.6.2",
4
4
  "description": "Angular ng-formworks - JSON Schema Form builder core",
5
5
  "author": "https://github.com/zahmo/ng-formworks/graphs/contributors",
6
6
  "keywords": [