@formio/js 5.0.0-rc.51 → 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 +561 -721
- package/dist/formio.form.min.js +1 -1
- package/dist/formio.form.min.js.LICENSE.txt +3 -49
- package/dist/formio.full.js +563 -693
- package/dist/formio.full.min.js +1 -1
- package/dist/formio.full.min.js.LICENSE.txt +3 -49
- package/dist/formio.js +11 -11
- package/dist/formio.min.js +1 -1
- package/dist/formio.min.js.LICENSE.txt +1 -1
- package/dist/formio.utils.js +34 -194
- package/dist/formio.utils.min.js +1 -1
- package/dist/formio.utils.min.js.LICENSE.txt +11 -49
- 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 +11 -11
package/lib/cjs/FormBuilder.js
CHANGED
@@ -7,6 +7,13 @@ const Formio_1 = require("./Formio");
|
|
7
7
|
const builders_1 = __importDefault(require("./builders"));
|
8
8
|
const Form_1 = __importDefault(require("./Form"));
|
9
9
|
class FormBuilder extends Form_1.default {
|
10
|
+
/**
|
11
|
+
* Creates a new form builder.
|
12
|
+
* @param {HTMLElement} element - The HTML element to place the form builder.
|
13
|
+
* @param {string | object} form - The form to pass to the builder
|
14
|
+
* @param {FormBuilderOptions} options - The options to create this builder.
|
15
|
+
* @returns {FormBuilder} - The form builder instance.
|
16
|
+
*/
|
10
17
|
constructor(element, form, options) {
|
11
18
|
form = form || {};
|
12
19
|
options = options || {};
|
@@ -22,17 +29,33 @@ class FormBuilder extends Form_1.default {
|
|
22
29
|
}
|
23
30
|
}
|
24
31
|
}
|
32
|
+
/**
|
33
|
+
* @typedef FormBuilderOptions
|
34
|
+
* @property {string[]} [disabled] - An array of "keys" of components that should be disabled within the form builder. Example: ['firstName', 'lastName']
|
35
|
+
* @property {boolean} [noNewEdit] - When set to TRUE no modal is shown when a component is dragged onto the form.
|
36
|
+
* @property {boolean} [noDefaultSubmitButton] - Set to TRUE to not include the default submit button in Webforms.
|
37
|
+
* @property {boolean} [alwaysConfirmComponentRemoval] - Set to TRUE to always require confirmation before removing a component.
|
38
|
+
* @property {object} [formConfig] - Form configurations to apply to forms being created. These configurations are added to the "config" property of the form object.
|
39
|
+
* @property {string} [resourceTag] - The tag to use to query for the "Existing Resource Fields" section of the builder.
|
40
|
+
* @property {import('./Form').FormOptions} [editForm] - The options to apply to the Edit Form (the form that shows inside the modal when you edit a component).
|
41
|
+
* @property {string} [language] - The language to load into the form builder.
|
42
|
+
* @property {object} [builder] - The builder options to pass to the builder.
|
43
|
+
* @property {'form'|'wizard'|'pdf'} [display] - The display mode of the builder.
|
44
|
+
* @property {string} [resourceFilter] - Filter applied to the resources that appear in the builder's Existing Resource Fields.
|
45
|
+
* @property {boolean} [noSource] - When set to TRUE, the resource ID in the builder's Existing Resource Fields will not be linked.
|
46
|
+
* @property {boolean} [showFullJsonSchema] - When set to TRUE, the full JSON schema will be displayed in the JSON edit menu.
|
47
|
+
*/
|
48
|
+
/** @type {FormBuilderOptions} */
|
25
49
|
FormBuilder.options = {};
|
26
50
|
exports.default = FormBuilder;
|
27
51
|
/**
|
28
52
|
* Factory that creates a new form builder based on the form parameter.
|
29
|
-
* @param
|
30
|
-
* @param
|
31
|
-
* @param
|
32
|
-
* @param {...any} args
|
53
|
+
* @param {HTMLElement} element - The HTML Element to add this form to.
|
54
|
+
* @param {string|object} form - The src of the form, or a form object.
|
55
|
+
* @param {object} options - The options to create this form.
|
33
56
|
* @returns {Promise} - When the form is instance is ready.
|
34
57
|
*/
|
35
|
-
Formio_1.Formio.builder = (
|
36
|
-
return (new FormBuilder(
|
58
|
+
Formio_1.Formio.builder = (element, form, options) => {
|
59
|
+
return (new FormBuilder(element, form, options)).ready;
|
37
60
|
};
|
38
61
|
Formio_1.Formio.FormBuilder = FormBuilder;
|
package/lib/cjs/PDF.d.ts
CHANGED
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) {
|