@formio/js 5.0.0-rc.52 → 5.0.0-rc.53
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/formio.embed.js +1 -1
- package/dist/formio.embed.min.js +1 -1
- package/dist/formio.embed.min.js.LICENSE.txt +1 -1
- package/dist/formio.form.js +551 -541
- package/dist/formio.form.min.js +1 -1
- package/dist/formio.form.min.js.LICENSE.txt +3 -1
- package/dist/formio.full.js +553 -543
- package/dist/formio.full.min.js +1 -1
- package/dist/formio.full.min.js.LICENSE.txt +3 -1
- package/dist/formio.js +10 -10
- package/dist/formio.min.js +1 -1
- package/dist/formio.min.js.LICENSE.txt +1 -1
- package/dist/formio.utils.js +14 -4
- package/dist/formio.utils.min.js +1 -1
- package/dist/formio.utils.min.js.LICENSE.txt +3 -1
- package/lib/cjs/Form.d.ts +281 -10
- package/lib/cjs/Form.js +22 -35
- package/lib/cjs/FormBuilder.d.ts +187 -2
- package/lib/cjs/FormBuilder.js +29 -6
- package/lib/cjs/PDF.d.ts +0 -1
- package/lib/cjs/Webform.d.ts +6 -6
- package/lib/cjs/Webform.js +2 -2
- package/lib/cjs/Wizard.d.ts +1 -1
- package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.d.ts +8 -6
- package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.js +6 -4
- package/lib/cjs/components/_classes/field/Field.d.ts +11 -2
- package/lib/cjs/components/_classes/field/Field.js +13 -1
- package/lib/cjs/components/_classes/input/Input.d.ts +4 -3
- package/lib/cjs/components/_classes/input/Input.js +2 -2
- package/lib/cjs/components/_classes/list/ListComponent.form.d.ts +4 -5
- package/lib/cjs/components/_classes/list/ListComponent.form.js +3 -2
- package/lib/cjs/components/_classes/multivalue/Multivalue.d.ts +42 -11
- package/lib/cjs/components/_classes/multivalue/Multivalue.js +37 -3
- package/lib/cjs/components/_classes/nested/NestedComponent.d.ts +127 -33
- package/lib/cjs/components/_classes/nested/NestedComponent.js +133 -15
- package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.d.ts +6 -0
- package/lib/cjs/components/address/Address.d.ts +2 -1
- package/lib/cjs/components/button/Button.d.ts +1 -1
- package/lib/cjs/components/checkbox/Checkbox.d.ts +1 -1
- package/lib/cjs/components/columns/Columns.d.ts +1 -1
- package/lib/cjs/components/container/Container.d.ts +1 -0
- package/lib/cjs/components/datagrid/DataGrid.d.ts +1 -1
- package/lib/cjs/components/day/Day.d.ts +1 -1
- package/lib/cjs/components/editgrid/EditGrid.d.ts +2 -0
- package/lib/cjs/components/file/File.d.ts +2 -2
- package/lib/cjs/components/number/Number.d.ts +1 -1
- package/lib/cjs/components/radio/Radio.d.ts +1 -1
- package/lib/cjs/components/radio/Radio.form.d.ts +1 -3
- package/lib/cjs/components/radio/Radio.js +3 -3
- package/lib/cjs/components/select/Select.d.ts +9 -14
- package/lib/cjs/components/select/Select.form.d.ts +1 -3
- package/lib/cjs/components/select/Select.js +11 -15
- package/lib/cjs/components/selectboxes/SelectBoxes.form.d.ts +1 -3
- package/lib/cjs/components/survey/Survey.d.ts +1 -1
- package/lib/cjs/components/table/Table.d.ts +1 -1
- package/lib/cjs/components/tabs/Tabs.d.ts +1 -1
- package/lib/cjs/components/textfield/TextField.d.ts +1 -1
- package/lib/cjs/providers/address/NominatimAddressProvider.d.ts +1 -1
- package/lib/cjs/providers/address/NominatimAddressProvider.js +5 -1
- package/lib/cjs/providers/processor/fileProcessor.d.ts +7 -1
- package/lib/cjs/providers/processor/fileProcessor.js +6 -0
- package/lib/cjs/providers/storage/azure.d.ts +4 -15
- package/lib/cjs/providers/storage/azure.js +3 -2
- package/lib/cjs/providers/storage/base64.d.ts +3 -7
- package/lib/cjs/providers/storage/base64.js +2 -1
- package/lib/cjs/providers/storage/dropbox.d.ts +4 -6
- package/lib/cjs/providers/storage/dropbox.js +3 -2
- package/lib/cjs/providers/storage/googleDrive.d.ts +4 -6
- package/lib/cjs/providers/storage/googleDrive.js +3 -1
- package/lib/cjs/providers/storage/indexeddb.d.ts +3 -8
- package/lib/cjs/providers/storage/indexeddb.js +2 -1
- package/lib/cjs/providers/storage/s3.d.ts +4 -22
- package/lib/cjs/providers/storage/s3.js +3 -2
- package/lib/cjs/providers/storage/url.d.ts +3 -8
- package/lib/cjs/providers/storage/url.js +4 -3
- package/lib/cjs/providers/storage/util.d.ts +22 -6
- package/lib/cjs/providers/storage/util.js +16 -5
- package/lib/cjs/utils/builder.d.ts +9 -7
- package/lib/cjs/utils/builder.js +10 -5
- package/lib/cjs/utils/calendarUtils.d.ts +6 -10
- package/lib/cjs/utils/calendarUtils.js +7 -11
- package/lib/cjs/utils/formUtils.d.ts +4 -4
- package/lib/cjs/utils/formUtils.js +3 -3
- package/lib/cjs/utils/utils.d.ts +123 -121
- package/lib/cjs/utils/utils.js +99 -94
- package/lib/mjs/Form.d.ts +281 -10
- package/lib/mjs/Form.js +112 -28
- package/lib/mjs/FormBuilder.d.ts +187 -2
- package/lib/mjs/FormBuilder.js +31 -6
- package/lib/mjs/PDF.d.ts +0 -1
- package/lib/mjs/Webform.d.ts +6 -6
- package/lib/mjs/Webform.js +3 -3
- package/lib/mjs/Wizard.d.ts +1 -1
- package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.d.ts +8 -6
- package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.js +6 -4
- package/lib/mjs/components/_classes/field/Field.d.ts +11 -2
- package/lib/mjs/components/_classes/field/Field.js +13 -1
- package/lib/mjs/components/_classes/input/Input.d.ts +4 -3
- package/lib/mjs/components/_classes/input/Input.js +2 -2
- package/lib/mjs/components/_classes/list/ListComponent.form.d.ts +4 -5
- package/lib/mjs/components/_classes/list/ListComponent.form.js +3 -2
- package/lib/mjs/components/_classes/multivalue/Multivalue.d.ts +42 -11
- package/lib/mjs/components/_classes/multivalue/Multivalue.js +37 -3
- package/lib/mjs/components/_classes/nested/NestedComponent.d.ts +127 -33
- package/lib/mjs/components/_classes/nested/NestedComponent.js +133 -15
- package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.d.ts +6 -0
- package/lib/mjs/components/address/Address.d.ts +2 -1
- package/lib/mjs/components/button/Button.d.ts +1 -1
- package/lib/mjs/components/checkbox/Checkbox.d.ts +1 -1
- package/lib/mjs/components/columns/Columns.d.ts +1 -1
- package/lib/mjs/components/container/Container.d.ts +1 -0
- package/lib/mjs/components/datagrid/DataGrid.d.ts +1 -1
- package/lib/mjs/components/day/Day.d.ts +1 -1
- package/lib/mjs/components/editgrid/EditGrid.d.ts +2 -0
- package/lib/mjs/components/file/File.d.ts +2 -2
- package/lib/mjs/components/number/Number.d.ts +1 -1
- package/lib/mjs/components/radio/Radio.d.ts +1 -1
- package/lib/mjs/components/radio/Radio.form.d.ts +1 -3
- package/lib/mjs/components/radio/Radio.js +3 -3
- package/lib/mjs/components/select/Select.d.ts +9 -14
- package/lib/mjs/components/select/Select.form.d.ts +1 -3
- package/lib/mjs/components/select/Select.js +11 -15
- package/lib/mjs/components/selectboxes/SelectBoxes.form.d.ts +1 -3
- package/lib/mjs/components/survey/Survey.d.ts +1 -1
- package/lib/mjs/components/table/Table.d.ts +1 -1
- package/lib/mjs/components/tabs/Tabs.d.ts +1 -1
- package/lib/mjs/components/textfield/TextField.d.ts +1 -1
- package/lib/mjs/providers/address/NominatimAddressProvider.d.ts +1 -1
- package/lib/mjs/providers/address/NominatimAddressProvider.js +5 -1
- package/lib/mjs/providers/processor/fileProcessor.d.ts +7 -1
- package/lib/mjs/providers/processor/fileProcessor.js +6 -0
- package/lib/mjs/providers/storage/azure.d.ts +4 -15
- package/lib/mjs/providers/storage/azure.js +3 -2
- package/lib/mjs/providers/storage/base64.d.ts +3 -7
- package/lib/mjs/providers/storage/base64.js +2 -1
- package/lib/mjs/providers/storage/dropbox.d.ts +4 -6
- package/lib/mjs/providers/storage/dropbox.js +3 -2
- package/lib/mjs/providers/storage/googleDrive.d.ts +4 -6
- package/lib/mjs/providers/storage/googleDrive.js +3 -1
- package/lib/mjs/providers/storage/indexeddb.d.ts +3 -8
- package/lib/mjs/providers/storage/indexeddb.js +2 -1
- package/lib/mjs/providers/storage/s3.d.ts +4 -22
- package/lib/mjs/providers/storage/s3.js +3 -2
- package/lib/mjs/providers/storage/url.d.ts +3 -8
- package/lib/mjs/providers/storage/url.js +4 -3
- package/lib/mjs/providers/storage/util.d.ts +22 -6
- package/lib/mjs/providers/storage/util.js +16 -5
- package/lib/mjs/utils/builder.d.ts +9 -7
- package/lib/mjs/utils/builder.js +10 -5
- package/lib/mjs/utils/calendarUtils.d.ts +6 -10
- package/lib/mjs/utils/calendarUtils.js +7 -11
- package/lib/mjs/utils/formUtils.d.ts +4 -4
- package/lib/mjs/utils/formUtils.js +3 -3
- package/lib/mjs/utils/utils.d.ts +123 -121
- package/lib/mjs/utils/utils.js +99 -94
- package/package.json +10 -10
package/lib/cjs/Webform.d.ts
CHANGED
@@ -89,14 +89,14 @@
|
|
89
89
|
declare class Webform extends NestedDataComponent {
|
90
90
|
/**
|
91
91
|
* Creates a new Form instance.
|
92
|
-
* @param {HTMLElement | object | FormOptions} [elementOrOptions] - The DOM element to render this form within or the options to create this form instance.
|
93
|
-
* @param {FormOptions} [options] - The options to create a new form instance.
|
92
|
+
* @param {HTMLElement | object | import('Form').FormOptions} [elementOrOptions] - The DOM element to render this form within or the options to create this form instance.
|
93
|
+
* @param {import('Form').FormOptions} [options] - The options to create a new form instance.
|
94
94
|
*/
|
95
|
-
constructor(elementOrOptions?: HTMLElement | object | FormOptions, options?:
|
95
|
+
constructor(elementOrOptions?: HTMLElement | object | import('Form').FormOptions, options?: any);
|
96
96
|
/**
|
97
|
-
* @type {FormOptions} - the options for this Webform.
|
97
|
+
* @type {import('Form').FormOptions} - the options for this Webform.
|
98
98
|
*/
|
99
|
-
options:
|
99
|
+
options: any;
|
100
100
|
_src: string;
|
101
101
|
_loading: boolean;
|
102
102
|
_form: {};
|
@@ -359,7 +359,7 @@ declare class Webform extends NestedDataComponent {
|
|
359
359
|
executeFormController(): false | undefined;
|
360
360
|
build(element: any): Promise<any>;
|
361
361
|
getClassName(): string;
|
362
|
-
render():
|
362
|
+
render(): import("./components/_classes/field/Field").default;
|
363
363
|
redraw(): Promise<void> | Promise<boolean>;
|
364
364
|
attach(element: any): Promise<boolean>;
|
365
365
|
hasRequiredFields(): boolean;
|
package/lib/cjs/Webform.js
CHANGED
@@ -140,8 +140,8 @@ function getOptions(options) {
|
|
140
140
|
class Webform extends NestedDataComponent_1.default {
|
141
141
|
/**
|
142
142
|
* Creates a new Form instance.
|
143
|
-
* @param {HTMLElement | object | FormOptions} [elementOrOptions] - The DOM element to render this form within or the options to create this form instance.
|
144
|
-
* @param {FormOptions} [options] - The options to create a new form instance.
|
143
|
+
* @param {HTMLElement | object | import('Form').FormOptions} [elementOrOptions] - The DOM element to render this form within or the options to create this form instance.
|
144
|
+
* @param {import('Form').FormOptions} [options] - The options to create a new form instance.
|
145
145
|
*/
|
146
146
|
constructor(elementOrOptions, options) {
|
147
147
|
let element, formOptions;
|
package/lib/cjs/Wizard.d.ts
CHANGED
@@ -88,7 +88,7 @@ declare class Wizard extends Webform {
|
|
88
88
|
}): any[];
|
89
89
|
findRootPanel(component: any): any;
|
90
90
|
setRootPanelId(component: any): void;
|
91
|
-
establishPages(data?:
|
91
|
+
establishPages(data?: object): any[];
|
92
92
|
updatePages(): void;
|
93
93
|
addComponents(): void;
|
94
94
|
setPage(num: any): Promise<void>;
|
@@ -680,25 +680,26 @@ export default class PasswordStrengthAddon extends FormioAddon {
|
|
680
680
|
};
|
681
681
|
/**
|
682
682
|
* Determines is a password is secure enough to submit
|
683
|
-
* @returns {boolean}
|
683
|
+
* @returns {boolean} - returns TRUE if password is valid, FALSE if it is not.
|
684
684
|
*/
|
685
685
|
isValid(): boolean;
|
686
686
|
/**
|
687
687
|
* Handles the result of check and constructs a new error object or returns an amount of points to add to the current entropy
|
688
688
|
* @param {boolean|number} valid - Determines if the validation was failed or an amount of points if it was passed
|
689
689
|
* @param {*} validation - Validation configuration
|
690
|
-
* @param {string} value - Value which was validated
|
691
690
|
* @param {string} message - Message which should be shown if validation was not passed
|
692
|
-
* @param errors
|
691
|
+
* @param {any[]} errors - The errors array (will be mutated)
|
692
|
+
* @returns {number} - Returns an amount of points to add to the current entropy
|
693
693
|
*/
|
694
|
-
handleRuleCheckResult(valid: boolean | number, validation: any, message: string, errors: any):
|
694
|
+
handleRuleCheckResult(valid: boolean | number, validation: any, message: string, errors: any[]): number;
|
695
695
|
performChecks(value: any): {
|
696
696
|
charactersPoolSize: number;
|
697
697
|
errors: any[];
|
698
698
|
};
|
699
699
|
/**
|
700
700
|
* Performs checks to validate password security
|
701
|
-
* @param {string} value -
|
701
|
+
* @param {string} value - The password value to be checked.
|
702
|
+
* @returns {boolean} - Returns TRUE if password is strong enough, FALSE if it is not.
|
702
703
|
*/
|
703
704
|
checkValidity(value: string): boolean;
|
704
705
|
handleBlackListCheckResult(result: any, errors: any): void;
|
@@ -709,8 +710,9 @@ export default class PasswordStrengthAddon extends FormioAddon {
|
|
709
710
|
/**
|
710
711
|
* Finds the level which one the passed entropy suits
|
711
712
|
* @param {number} entropy - Points of password's security
|
713
|
+
* @returns {object} - Returns the level object
|
712
714
|
*/
|
713
|
-
getLevel(entropy?: number):
|
715
|
+
getLevel(entropy?: number): object;
|
714
716
|
/**
|
715
717
|
* Update the current view of the password's security indicator
|
716
718
|
*/
|
@@ -204,7 +204,7 @@ class PasswordStrengthAddon extends FormioAddon_1.default {
|
|
204
204
|
}
|
205
205
|
/**
|
206
206
|
* Determines is a password is secure enough to submit
|
207
|
-
* @returns {boolean}
|
207
|
+
* @returns {boolean} - returns TRUE if password is valid, FALSE if it is not.
|
208
208
|
*/
|
209
209
|
isValid() {
|
210
210
|
const isValidCheck = this.settings.isValid;
|
@@ -221,9 +221,9 @@ class PasswordStrengthAddon extends FormioAddon_1.default {
|
|
221
221
|
* Handles the result of check and constructs a new error object or returns an amount of points to add to the current entropy
|
222
222
|
* @param {boolean|number} valid - Determines if the validation was failed or an amount of points if it was passed
|
223
223
|
* @param {*} validation - Validation configuration
|
224
|
-
* @param {string} value - Value which was validated
|
225
224
|
* @param {string} message - Message which should be shown if validation was not passed
|
226
|
-
* @param errors
|
225
|
+
* @param {any[]} errors - The errors array (will be mutated)
|
226
|
+
* @returns {number} - Returns an amount of points to add to the current entropy
|
227
227
|
*/
|
228
228
|
handleRuleCheckResult(valid, validation, message, errors) {
|
229
229
|
if (valid !== true) {
|
@@ -263,7 +263,8 @@ class PasswordStrengthAddon extends FormioAddon_1.default {
|
|
263
263
|
}
|
264
264
|
/**
|
265
265
|
* Performs checks to validate password security
|
266
|
-
* @param {string} value -
|
266
|
+
* @param {string} value - The password value to be checked.
|
267
|
+
* @returns {boolean} - Returns TRUE if password is strong enough, FALSE if it is not.
|
267
268
|
*/
|
268
269
|
checkValidity(value) {
|
269
270
|
var _a;
|
@@ -363,6 +364,7 @@ class PasswordStrengthAddon extends FormioAddon_1.default {
|
|
363
364
|
/**
|
364
365
|
* Finds the level which one the passed entropy suits
|
365
366
|
* @param {number} entropy - Points of password's security
|
367
|
+
* @returns {object} - Returns the level object
|
366
368
|
*/
|
367
369
|
getLevel(entropy = this.entropy) {
|
368
370
|
const lowestLevel = this.levels[0];
|
@@ -1,5 +1,14 @@
|
|
1
1
|
export default class Field extends Component {
|
2
|
-
|
3
|
-
|
2
|
+
/**
|
3
|
+
* @param {object} element - The component to create.
|
4
|
+
* @returns {Field} - The created field.
|
5
|
+
*/
|
6
|
+
render(element: object): Field;
|
7
|
+
/**
|
8
|
+
/* Saves current caret position to restore it after the component is redrawn
|
9
|
+
* @param {HTMLElement} element - The element to save the caret position for.
|
10
|
+
* @param {number} index - The index of the element.
|
11
|
+
*/
|
12
|
+
saveCaretPosition(element: HTMLElement, index: number): void;
|
4
13
|
}
|
5
14
|
import Component from '../component/Component';
|
@@ -4,7 +4,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
const Component_1 = __importDefault(require("../component/Component"));
|
7
|
+
/*
|
8
|
+
* Field class is a base class for all fields.
|
9
|
+
* @extends Component
|
10
|
+
*/
|
7
11
|
class Field extends Component_1.default {
|
12
|
+
/**
|
13
|
+
* @param {object} element - The component to create.
|
14
|
+
* @returns {Field} - The created field.
|
15
|
+
*/
|
8
16
|
render(element) {
|
9
17
|
if (this.noField) {
|
10
18
|
return super.render(element);
|
@@ -19,7 +27,11 @@ class Field extends Component_1.default {
|
|
19
27
|
}));
|
20
28
|
}
|
21
29
|
}
|
22
|
-
|
30
|
+
/**
|
31
|
+
/* Saves current caret position to restore it after the component is redrawn
|
32
|
+
* @param {HTMLElement} element - The element to save the caret position for.
|
33
|
+
* @param {number} index - The index of the element.
|
34
|
+
*/
|
23
35
|
saveCaretPosition(element, index) {
|
24
36
|
var _a, _b;
|
25
37
|
if (((_b = (_a = this.root) === null || _a === void 0 ? void 0 : _a.focusedComponent) === null || _b === void 0 ? void 0 : _b.path) === this.path) {
|
@@ -30,13 +30,14 @@ export default class Input extends Multivalue {
|
|
30
30
|
updateValue(value: any, flags: any, index: any): boolean;
|
31
31
|
parseValue(value: any): any;
|
32
32
|
formatValue(value: any): any;
|
33
|
+
attach(element: any): Promise<any>;
|
33
34
|
getWidget(index: any): any;
|
34
35
|
attachElement(element: any, index: any): Promise<void>;
|
35
36
|
/**
|
36
37
|
* Creates an instance of a widget for this component.
|
37
|
-
* @param index
|
38
|
-
* @returns {
|
38
|
+
* @param {number} index - The index of the widget.
|
39
|
+
* @returns {*} - The widget instance.
|
39
40
|
*/
|
40
|
-
createWidget(index:
|
41
|
+
createWidget(index: number): any;
|
41
42
|
}
|
42
43
|
import Multivalue from '../multivalue/Multivalue';
|
@@ -244,8 +244,8 @@ class Input extends Multivalue_1.default {
|
|
244
244
|
}
|
245
245
|
/**
|
246
246
|
* Creates an instance of a widget for this component.
|
247
|
-
* @param index
|
248
|
-
* @returns {
|
247
|
+
* @param {number} index - The index of the widget.
|
248
|
+
* @returns {*} - The widget instance.
|
249
249
|
*/
|
250
250
|
createWidget(index) {
|
251
251
|
var _a, _b;
|
@@ -1,7 +1,6 @@
|
|
1
1
|
/**
|
2
|
-
*
|
3
|
-
* @param {...any} extend
|
2
|
+
* List Component edit form.
|
3
|
+
* @param {...any} extend - The extended schema.
|
4
|
+
* @returns {object} - The List Component edit form.
|
4
5
|
*/
|
5
|
-
export default function _default(...extend: any[]):
|
6
|
-
components: any;
|
7
|
-
};
|
6
|
+
export default function _default(...extend: any[]): object;
|
@@ -6,8 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const Components_1 = __importDefault(require("../../Components"));
|
7
7
|
const ListComponent_edit_data_1 = __importDefault(require("./editForm/ListComponent.edit.data"));
|
8
8
|
/**
|
9
|
-
*
|
10
|
-
* @param {...any} extend
|
9
|
+
* List Component edit form.
|
10
|
+
* @param {...any} extend - The extended schema.
|
11
|
+
* @returns {object} - The List Component edit form.
|
11
12
|
*/
|
12
13
|
function default_1(...extend) {
|
13
14
|
return Components_1.default.baseEditForm([
|
@@ -1,24 +1,55 @@
|
|
1
1
|
export default class Multivalue extends Field {
|
2
2
|
get addAnother(): string;
|
3
3
|
useWrapper(): any;
|
4
|
-
|
4
|
+
/**
|
5
|
+
* @returns {Field} - The created field.
|
6
|
+
*/
|
7
|
+
render(): Field;
|
5
8
|
renderElement(): string;
|
6
|
-
|
7
|
-
|
9
|
+
/**
|
10
|
+
* Renders a single row for multi-value components.
|
11
|
+
* @param {any} value - The value associated with the row to render.
|
12
|
+
* @param {number} index - The index of the row in the multi-value list.
|
13
|
+
* @returns {any} Returns the HTML string representation of the row.
|
14
|
+
*/
|
15
|
+
renderRow(value: any, index: number): any;
|
16
|
+
/**
|
17
|
+
* @param {HTMLElement} dom - The DOM element to which the component will attach.
|
18
|
+
* @returns {Promise} - Promise that resolves when all asynchronous tasks that have finished.
|
19
|
+
*/
|
20
|
+
attach(dom: HTMLElement): Promise<any>;
|
8
21
|
/**
|
9
22
|
* Attach inputs to the element.
|
10
|
-
* @param element
|
11
|
-
* @param index
|
23
|
+
* @param {HTMLElement} element - The element to attach.
|
24
|
+
* @param {number} index - The index of the element to attach.
|
25
|
+
*/
|
26
|
+
attachElement(element: HTMLElement, index: number): void;
|
27
|
+
/**
|
28
|
+
* Event handler for selecting a mask from a dropdown.
|
29
|
+
* @param {Event} event - Event triggered by changing the selected option in mask.
|
30
|
+
*/
|
31
|
+
onSelectMaskHandler(event: Event): void;
|
32
|
+
/**
|
33
|
+
* Retrieves the mask pattern for a given mask name
|
34
|
+
* @param {string} maskName - The name of the mask to retrieve.
|
35
|
+
* @returns {any} The mask pattern associated with the given mask name.
|
12
36
|
*/
|
13
|
-
|
14
|
-
onSelectMaskHandler(event: any): void;
|
15
|
-
getMaskPattern(maskName: any): any;
|
37
|
+
getMaskPattern(maskName: string): any;
|
16
38
|
multiMasks: {} | undefined;
|
17
|
-
|
18
|
-
|
39
|
+
/**
|
40
|
+
* Attaches a selectable mask to an input field based on its configuration.
|
41
|
+
* @param {number} index - The index of the select or input in component array.
|
42
|
+
* @returns {boolean} - Returns true if the mask was successfully attached
|
43
|
+
*/
|
44
|
+
attachMultiMask(index: number): boolean;
|
45
|
+
/**
|
46
|
+
* @param {any} input - The input element on which the mask is to be applied.
|
47
|
+
* @param {string} mask - The mask pattern to apply to the input element. Exit early if no mask.
|
48
|
+
*/
|
49
|
+
updateMask(input: any, mask: string): void;
|
19
50
|
/**
|
20
51
|
* Adds a new empty value to the data array.
|
21
|
-
* @param value
|
52
|
+
* @param {any} value -A value to be added to the data array.
|
22
53
|
*/
|
23
54
|
addNewValue(value: any): void;
|
24
55
|
/**
|
@@ -34,6 +34,9 @@ class Multivalue extends Field_1.default {
|
|
34
34
|
useWrapper() {
|
35
35
|
return this.component.hasOwnProperty('multiple') && this.component.multiple;
|
36
36
|
}
|
37
|
+
/**
|
38
|
+
* @returns {Field} - The created field.
|
39
|
+
*/
|
37
40
|
render() {
|
38
41
|
// If single value field.
|
39
42
|
if (!this.useWrapper()) {
|
@@ -56,6 +59,12 @@ class Multivalue extends Field_1.default {
|
|
56
59
|
renderElement() {
|
57
60
|
return '';
|
58
61
|
}
|
62
|
+
/**
|
63
|
+
* Renders a single row for multi-value components.
|
64
|
+
* @param {any} value - The value associated with the row to render.
|
65
|
+
* @param {number} index - The index of the row in the multi-value list.
|
66
|
+
* @returns {any} Returns the HTML string representation of the row.
|
67
|
+
*/
|
59
68
|
renderRow(value, index) {
|
60
69
|
return this.renderTemplate('multiValueRow', {
|
61
70
|
index,
|
@@ -63,6 +72,10 @@ class Multivalue extends Field_1.default {
|
|
63
72
|
element: `${this.renderElement(value, index)}`,
|
64
73
|
});
|
65
74
|
}
|
75
|
+
/**
|
76
|
+
* @param {HTMLElement} dom - The DOM element to which the component will attach.
|
77
|
+
* @returns {Promise} - Promise that resolves when all asynchronous tasks that have finished.
|
78
|
+
*/
|
66
79
|
attach(dom) {
|
67
80
|
const superAttach = super.attach(dom);
|
68
81
|
this.loadRefs(dom, {
|
@@ -96,6 +109,9 @@ class Multivalue extends Field_1.default {
|
|
96
109
|
return Promise.all(promises);
|
97
110
|
});
|
98
111
|
}
|
112
|
+
/**
|
113
|
+
* Remove all event handlers.
|
114
|
+
*/
|
99
115
|
detach() {
|
100
116
|
if (this.refs.input && this.refs.input.length) {
|
101
117
|
this.refs.input.forEach((input) => {
|
@@ -118,8 +134,8 @@ class Multivalue extends Field_1.default {
|
|
118
134
|
}
|
119
135
|
/**
|
120
136
|
* Attach inputs to the element.
|
121
|
-
* @param element
|
122
|
-
* @param index
|
137
|
+
* @param {HTMLElement} element - The element to attach.
|
138
|
+
* @param {number} index - The index of the element to attach.
|
123
139
|
*/
|
124
140
|
attachElement(element, index) {
|
125
141
|
this.addEventListener(element, this.inputInfo.changeEvent, () => {
|
@@ -181,9 +197,18 @@ class Multivalue extends Field_1.default {
|
|
181
197
|
}
|
182
198
|
}
|
183
199
|
}
|
200
|
+
/**
|
201
|
+
* Event handler for selecting a mask from a dropdown.
|
202
|
+
* @param {Event} event - Event triggered by changing the selected option in mask.
|
203
|
+
*/
|
184
204
|
onSelectMaskHandler(event) {
|
185
205
|
this.updateMask(event.target.maskInput, this.getMaskPattern(event.target.value));
|
186
206
|
}
|
207
|
+
/**
|
208
|
+
* Retrieves the mask pattern for a given mask name
|
209
|
+
* @param {string} maskName - The name of the mask to retrieve.
|
210
|
+
* @returns {any} The mask pattern associated with the given mask name.
|
211
|
+
*/
|
187
212
|
getMaskPattern(maskName) {
|
188
213
|
if (!this.multiMasks) {
|
189
214
|
this.multiMasks = {};
|
@@ -195,6 +220,11 @@ class Multivalue extends Field_1.default {
|
|
195
220
|
this.multiMasks[maskName] = mask ? mask.mask : this.component.inputMasks[0].mask;
|
196
221
|
return this.multiMasks[maskName];
|
197
222
|
}
|
223
|
+
/**
|
224
|
+
* Attaches a selectable mask to an input field based on its configuration.
|
225
|
+
* @param {number} index - The index of the select or input in component array.
|
226
|
+
* @returns {boolean} - Returns true if the mask was successfully attached
|
227
|
+
*/
|
198
228
|
attachMultiMask(index) {
|
199
229
|
if (!(this.isMultipleMasksField && this.component.inputMasks.length && this.refs.input.length)) {
|
200
230
|
return false;
|
@@ -205,6 +235,10 @@ class Multivalue extends Field_1.default {
|
|
205
235
|
this.setInputMask(maskSelect.maskInput, this.component.inputMasks[0].mask);
|
206
236
|
return true;
|
207
237
|
}
|
238
|
+
/**
|
239
|
+
* @param {any} input - The input element on which the mask is to be applied.
|
240
|
+
* @param {string} mask - The mask pattern to apply to the input element. Exit early if no mask.
|
241
|
+
*/
|
208
242
|
updateMask(input, mask) {
|
209
243
|
if (!mask) {
|
210
244
|
return;
|
@@ -214,7 +248,7 @@ class Multivalue extends Field_1.default {
|
|
214
248
|
}
|
215
249
|
/**
|
216
250
|
* Adds a new empty value to the data array.
|
217
|
-
* @param value
|
251
|
+
* @param {any} value -A value to be added to the data array.
|
218
252
|
*/
|
219
253
|
addNewValue(value) {
|
220
254
|
if (value === undefined) {
|
@@ -1,16 +1,96 @@
|
|
1
|
+
/**
|
2
|
+
* NestedComponent class.
|
3
|
+
* @augments Field
|
4
|
+
*/
|
1
5
|
export default class NestedComponent extends Field {
|
2
6
|
constructor(component: any, options: any, data: any);
|
3
7
|
type: string;
|
4
|
-
|
8
|
+
/**
|
9
|
+
* The collapsed state of this NestedComponent.
|
10
|
+
* @type {boolean}
|
11
|
+
* @default false
|
12
|
+
* @private
|
13
|
+
*/
|
14
|
+
private _collapsed;
|
15
|
+
/**
|
16
|
+
* Set collapsed state.
|
17
|
+
* @param {boolean} value - The collapsed state.
|
18
|
+
* @returns {void}
|
19
|
+
*/
|
5
20
|
set collapsed(value: boolean);
|
21
|
+
/**
|
22
|
+
* Get collapsed state.
|
23
|
+
* @returns {boolean} The collapsed state.
|
24
|
+
*/
|
6
25
|
get collapsed(): boolean;
|
7
|
-
|
26
|
+
/**
|
27
|
+
* Set collapsed state.
|
28
|
+
* @param {boolean} value - The collapsed state.
|
29
|
+
* @returns {void}
|
30
|
+
*/
|
31
|
+
collapse(value: boolean): void;
|
32
|
+
/**
|
33
|
+
* Set parent visibility.
|
34
|
+
* @param {boolean} value - The parent visibility.
|
35
|
+
* @returns {void}
|
36
|
+
*/
|
37
|
+
set parentVisible(value: boolean);
|
38
|
+
/**
|
39
|
+
* Get parent visibility.
|
40
|
+
* @returns {boolean} The parent visibility.
|
41
|
+
*/
|
42
|
+
get parentVisible(): boolean;
|
43
|
+
/**
|
44
|
+
* Get ready state from all components.
|
45
|
+
* @returns {Promise<Array>} - The promise that resolves when all components are ready.
|
46
|
+
*/
|
8
47
|
get ready(): Promise<any[]>;
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
48
|
+
/**
|
49
|
+
* Set currentForm object.
|
50
|
+
* @param {object} instance - The current form object.
|
51
|
+
* @returns {void}
|
52
|
+
*/
|
53
|
+
set currentForm(instance: object);
|
54
|
+
/**
|
55
|
+
* Get currentForm object.
|
56
|
+
* @returns {object} - The current form object.
|
57
|
+
*/
|
58
|
+
get currentForm(): object;
|
59
|
+
/**
|
60
|
+
* Set Row Index to row and update each component.
|
61
|
+
* @param {number} value - The row index.
|
62
|
+
* @returns {void}
|
63
|
+
*/
|
64
|
+
set rowIndex(value: number);
|
65
|
+
/**
|
66
|
+
* Get Row Index.
|
67
|
+
* @returns {number} - The row index.
|
68
|
+
*/
|
69
|
+
get rowIndex(): number;
|
70
|
+
_rowIndex: number | undefined;
|
71
|
+
/**
|
72
|
+
* Get Contextual data of the component.
|
73
|
+
* @returns {object} - The contextual data of the component.
|
74
|
+
* @override
|
75
|
+
*/
|
76
|
+
override componentContext(): object;
|
77
|
+
/**
|
78
|
+
* Set the data of the component.
|
79
|
+
* @param {object} value - The data of the component.
|
80
|
+
* @returns {void}
|
81
|
+
*/
|
82
|
+
override set data(value: object);
|
83
|
+
/**
|
84
|
+
* Get the data of the component.
|
85
|
+
* @returns {object} - The data of the component.
|
86
|
+
* @override
|
87
|
+
*/
|
88
|
+
override get data(): object;
|
89
|
+
/**
|
90
|
+
* Get components array.
|
91
|
+
* @returns {Array} - The components array.
|
92
|
+
*/
|
93
|
+
getComponents(): any[];
|
14
94
|
/**
|
15
95
|
* Perform a deep iteration over every component, including those
|
16
96
|
* within other container based components.
|
@@ -18,8 +98,17 @@ export default class NestedComponent extends Field {
|
|
18
98
|
* @param {any} options - The options to include with this everyComponent call.
|
19
99
|
*/
|
20
100
|
everyComponent(fn: Function, options?: any): void;
|
21
|
-
|
22
|
-
|
101
|
+
/**
|
102
|
+
* Check if the component has a component.
|
103
|
+
* @param {import('@formio/core').Component} component - The component to check.
|
104
|
+
* @returns {boolean} - TRUE if the component has a component, FALSE otherwise.
|
105
|
+
*/
|
106
|
+
hasComponent(component: import('@formio/core').Component): boolean;
|
107
|
+
/**
|
108
|
+
* Get the flattened components of this NestedComponent.
|
109
|
+
* @returns {object} - The flattened components of this NestedComponent.
|
110
|
+
*/
|
111
|
+
flattenComponents(): object;
|
23
112
|
/**
|
24
113
|
* Perform an iteration over each component within this container component.
|
25
114
|
* @param {Function} fn - Called for each component
|
@@ -44,13 +133,13 @@ export default class NestedComponent extends Field {
|
|
44
133
|
/**
|
45
134
|
* Create a new component and add it to the components array.
|
46
135
|
* @param {import('@formio/core').Component} component - The component JSON schema to create.
|
47
|
-
* @param {
|
48
|
-
* @param {
|
49
|
-
* @param {
|
50
|
-
* @param {
|
136
|
+
* @param {object} options - The options to create the component with.
|
137
|
+
* @param {import('@formio/core').DataObject} data - The submission data object to house the data for this component.
|
138
|
+
* @param {import('@formio/core').Component} [before] - The component before which to add this component.
|
139
|
+
* @param {import('@formio/core').Component} [replacedComp] - The component to replace with this component.
|
51
140
|
* @returns {any} - The created component instance.
|
52
141
|
*/
|
53
|
-
createComponent(component: import('@formio/core').Component, options:
|
142
|
+
createComponent(component: import('@formio/core').Component, options: object, data: import('@formio/core').DataObject, before?: import("@formio/core").Component | undefined, replacedComp?: import("@formio/core").Component | undefined): any;
|
54
143
|
getContainer(): any;
|
55
144
|
get componentComponents(): any;
|
56
145
|
get nestedKey(): string;
|
@@ -58,31 +147,36 @@ export default class NestedComponent extends Field {
|
|
58
147
|
components: any;
|
59
148
|
/**
|
60
149
|
* Add a new component instance to the components array.
|
61
|
-
* @param {
|
62
|
-
* @param {
|
150
|
+
* @param {import('@formio/core').DataObject} [data] - The Submission data for this component.
|
151
|
+
* @param {object} [options] - The options for this component.
|
63
152
|
*/
|
64
|
-
addComponents(data?:
|
153
|
+
addComponents(data?: import("@formio/core").DataObject | undefined, options?: object | undefined): void;
|
65
154
|
/**
|
66
155
|
* Add a new component to the components array.
|
67
|
-
* @param {
|
156
|
+
* @param {import('@formio/core').Component} component - The component JSON schema to add.
|
68
157
|
* @param {object} data - The submission data object to house the data for this component.
|
69
158
|
* @param {HTMLElement} before - A DOM element to insert this element before.
|
70
159
|
* @param {boolean} [noAdd] - A possibly extraneous boolean flag.
|
71
160
|
* @returns {any} - The created component instance.
|
72
161
|
*/
|
73
|
-
addComponent(component:
|
162
|
+
addComponent(component: import('@formio/core').Component, data?: object, before?: HTMLElement, noAdd?: boolean | undefined): any;
|
74
163
|
beforeFocus(): void;
|
164
|
+
render(children: any): Field;
|
75
165
|
renderComponents(components: any): any;
|
76
166
|
attach(element: any): Promise<[void, void]>;
|
77
|
-
|
167
|
+
/**
|
168
|
+
* Attach the logic to the components.
|
169
|
+
* @param {import('@formio/core').Component[]} components - The components to attach logic to.
|
170
|
+
*/
|
171
|
+
attachComponentsLogic(components: import('@formio/core').Component[]): void;
|
78
172
|
attachComponents(element: any, components: any, container: any): Promise<any>;
|
79
173
|
/**
|
80
174
|
* Remove a component from the components array and from the children object
|
81
|
-
* @param {
|
82
|
-
* @param {
|
175
|
+
* @param {import('@formio/core').Component} component - The component to remove from the components.
|
176
|
+
* @param {import('@formio/core').Component[]} components - An array of components to remove this component from.
|
83
177
|
* @param {boolean} [all] - If set to TRUE will cascade remove all components.
|
84
178
|
*/
|
85
|
-
removeComponent(component:
|
179
|
+
removeComponent(component: import('@formio/core').Component, components: import('@formio/core').Component[], all?: boolean | undefined): void;
|
86
180
|
/**
|
87
181
|
* Removes a component provided the API key of that component.
|
88
182
|
* @param {string} key - The API key of the component to remove.
|
@@ -125,27 +219,27 @@ export default class NestedComponent extends Field {
|
|
125
219
|
}, flags: any): void;
|
126
220
|
/**
|
127
221
|
* Perform a validation on all child components of this nested component.
|
128
|
-
* @param {
|
129
|
-
* @param {
|
130
|
-
* @param {
|
222
|
+
* @param {import('@formio/core').Component[]} components - The components to validate.
|
223
|
+
* @param {import('@formio/core').DataObject} data - The data to validate.
|
224
|
+
* @param {object} flags - The flags to use when validating.
|
131
225
|
* @returns {Promise<Array>|Array} - The errors if any exist.
|
132
226
|
*/
|
133
|
-
validateComponents(components?:
|
227
|
+
validateComponents(components?: import('@formio/core').Component[], data?: import('@formio/core').DataObject, flags?: object): Promise<any[]> | any[];
|
134
228
|
/**
|
135
229
|
* Validate a nested component with data, or its own internal data.
|
136
|
-
* @param {
|
137
|
-
* @param {
|
138
|
-
* @returns {
|
230
|
+
* @param {import('@formio/core').DataObject} data - The data to validate.
|
231
|
+
* @param {object} flags - The flags to use when validating.
|
232
|
+
* @returns {Array} - The errors if any exist.
|
139
233
|
*/
|
140
|
-
validate(data?:
|
234
|
+
validate(data?: import('@formio/core').DataObject, flags?: object): any[];
|
141
235
|
checkComponentValidity(data?: null, dirty?: boolean, row?: null, flags?: {}, allErrors?: any[]): boolean;
|
142
236
|
checkAsyncValidity(data?: null, dirty?: boolean, row?: null, silentCheck?: boolean): Promise<any>;
|
143
237
|
setPristine(pristine: any): void;
|
144
|
-
get
|
145
|
-
get isDirty(): any;
|
238
|
+
get isDirty(): boolean | undefined;
|
146
239
|
destroyComponents(all?: boolean): void;
|
147
240
|
get visibleErrors(): any;
|
148
241
|
get errors(): any;
|
242
|
+
getValue(): object;
|
149
243
|
get dataReady(): Promise<any[]>;
|
150
244
|
setNestedValue(component: any, value: any, flags?: {}): any;
|
151
245
|
setValue(value: any, flags?: {}): any;
|