@formio/js 5.0.0-rc.46 → 5.0.0-rc.48
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.
- 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 +11 -11
- package/dist/formio.form.min.js +1 -1
- package/dist/formio.form.min.js.LICENSE.txt +1 -1
- package/dist/formio.full.js +11 -11
- package/dist/formio.full.min.js +1 -1
- package/dist/formio.full.min.js.LICENSE.txt +1 -1
- package/dist/formio.js +2 -2
- package/dist/formio.min.js +1 -1
- package/dist/formio.min.js.LICENSE.txt +1 -1
- package/dist/formio.utils.js +2 -2
- package/dist/formio.utils.min.js +1 -1
- package/dist/formio.utils.min.js.LICENSE.txt +1 -1
- package/lib/cjs/Webform.d.ts +11 -1
- package/lib/cjs/Webform.js +3 -1
- package/lib/cjs/components/_classes/component/Component.d.ts +4 -4
- package/lib/cjs/components/_classes/component/Component.js +5 -7
- package/lib/cjs/components/_classes/nested/NestedComponent.d.ts +5 -6
- package/lib/cjs/components/_classes/nested/NestedComponent.js +5 -5
- package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.d.ts +1 -1
- package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +1 -1
- package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.d.ts +1 -1
- package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +1 -1
- package/lib/cjs/components/day/Day.d.ts +1 -0
- package/lib/cjs/components/html/HTML.js +2 -2
- package/lib/cjs/components/select/Select.d.ts +4 -1
- package/lib/cjs/components/select/Select.js +57 -34
- package/lib/cjs/components/select/fixtures/comp22.d.ts +51 -0
- package/lib/cjs/components/select/fixtures/comp22.js +43 -0
- package/lib/cjs/components/select/fixtures/index.d.ts +2 -1
- package/lib/cjs/components/select/fixtures/index.js +3 -1
- package/lib/cjs/utils/Evaluator.d.ts +1 -3
- package/lib/cjs/utils/Evaluator.js +1 -5
- package/lib/mjs/Webform.d.ts +11 -1
- package/lib/mjs/Webform.js +3 -1
- package/lib/mjs/components/_classes/component/Component.d.ts +4 -4
- package/lib/mjs/components/_classes/component/Component.js +5 -7
- package/lib/mjs/components/_classes/nested/NestedComponent.d.ts +5 -6
- package/lib/mjs/components/_classes/nested/NestedComponent.js +5 -5
- package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.d.ts +1 -1
- package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +1 -1
- package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.d.ts +1 -1
- package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +1 -1
- package/lib/mjs/components/day/Day.d.ts +1 -0
- package/lib/mjs/components/html/HTML.js +2 -2
- package/lib/mjs/components/select/Select.d.ts +4 -1
- package/lib/mjs/components/select/Select.js +56 -33
- package/lib/mjs/components/select/fixtures/comp22.d.ts +51 -0
- package/lib/mjs/components/select/fixtures/comp22.js +41 -0
- package/lib/mjs/components/select/fixtures/index.d.ts +2 -1
- package/lib/mjs/components/select/fixtures/index.js +2 -1
- package/lib/mjs/utils/Evaluator.d.ts +1 -3
- package/lib/mjs/utils/Evaluator.js +1 -5
- package/package.json +2 -2
@@ -275,14 +275,14 @@ declare class Component extends Element {
|
|
275
275
|
getFormattedAttribute(attr: any): any;
|
276
276
|
getFormattedTooltip(tooltipValue: any): any;
|
277
277
|
isHtmlRenderMode(): boolean;
|
278
|
-
renderTemplate(name: any, data
|
278
|
+
renderTemplate(name: any, data?: {}, modeOption?: string): any;
|
279
279
|
/**
|
280
280
|
* Sanitize an html string.
|
281
281
|
*
|
282
282
|
* @param string
|
283
283
|
* @returns {*}
|
284
284
|
*/
|
285
|
-
sanitize(dirty: any, forceSanitize
|
285
|
+
sanitize(dirty: any, forceSanitize?: boolean, options?: {}): any;
|
286
286
|
/**
|
287
287
|
* Render a template string into html.
|
288
288
|
*
|
@@ -761,7 +761,7 @@ declare class Component extends Element {
|
|
761
761
|
* @param {*} silentCheck
|
762
762
|
* @returns
|
763
763
|
*/
|
764
|
-
checkValidity(data
|
764
|
+
checkValidity(data?: any, dirty?: any, row?: any, silentCheck?: any, errors?: any[]): boolean;
|
765
765
|
checkAsyncValidity(data: any, dirty: any, row: any, silentCheck: any, errors?: any[]): boolean;
|
766
766
|
/**
|
767
767
|
* Check the conditions, calculations, and validity of a single component and triggers an update if
|
@@ -828,7 +828,7 @@ declare class Component extends Element {
|
|
828
828
|
};
|
829
829
|
autofocus(): void;
|
830
830
|
scrollIntoView(element?: any): void;
|
831
|
-
focus(index
|
831
|
+
focus(index?: number): void;
|
832
832
|
/**
|
833
833
|
* Get `Formio` instance for working with files
|
834
834
|
*/
|
@@ -822,7 +822,7 @@ export default class Component extends Element {
|
|
822
822
|
isHtmlRenderMode() {
|
823
823
|
return this.options.renderMode === 'html';
|
824
824
|
}
|
825
|
-
renderTemplate(name, data = {}, modeOption) {
|
825
|
+
renderTemplate(name, data = {}, modeOption = '') {
|
826
826
|
// Need to make this fall back to form if renderMode is not found similar to how we search templates.
|
827
827
|
const mode = modeOption || this.options.renderMode || 'form';
|
828
828
|
data.component = this.component;
|
@@ -866,7 +866,7 @@ export default class Component extends Element {
|
|
866
866
|
* @param string
|
867
867
|
* @returns {*}
|
868
868
|
*/
|
869
|
-
sanitize(dirty, forceSanitize, options) {
|
869
|
+
sanitize(dirty, forceSanitize = false, options = {}) {
|
870
870
|
if (!this.shouldSanitizeValue && !forceSanitize) {
|
871
871
|
return dirty;
|
872
872
|
}
|
@@ -2750,7 +2750,7 @@ export default class Component extends Element {
|
|
2750
2750
|
* @param {*} silentCheck
|
2751
2751
|
* @returns
|
2752
2752
|
*/
|
2753
|
-
checkValidity(data, dirty, row, silentCheck, errors = []) {
|
2753
|
+
checkValidity(data = null, dirty = false, row = null, silentCheck = false, errors = []) {
|
2754
2754
|
data = data || this.rootValue;
|
2755
2755
|
row = row || this.data;
|
2756
2756
|
console.log('Deprecation warning: Component.checkValidity() will be deprecated in 6.x version of renderer. Use Component.validateComponent instead.');
|
@@ -3155,14 +3155,12 @@ export default class Component extends Element {
|
|
3155
3155
|
const { left, top } = element.getBoundingClientRect();
|
3156
3156
|
window.scrollTo(left + window.scrollX, top + window.scrollY);
|
3157
3157
|
}
|
3158
|
-
focus(index) {
|
3158
|
+
focus(index = (this.refs.input.length - 1)) {
|
3159
3159
|
if ('beforeFocus' in this.parent) {
|
3160
3160
|
this.parent.beforeFocus(this);
|
3161
3161
|
}
|
3162
3162
|
if (this.refs.input?.length) {
|
3163
|
-
const focusingInput =
|
3164
|
-
? this.refs.input[index]
|
3165
|
-
: this.refs.input[this.refs.input.length - 1];
|
3163
|
+
const focusingInput = this.refs.input[index];
|
3166
3164
|
if (this.component.widget?.type === 'calendar') {
|
3167
3165
|
const sibling = focusingInput.nextSibling;
|
3168
3166
|
if (sibling) {
|
@@ -17,7 +17,7 @@ export default class NestedComponent extends Field {
|
|
17
17
|
*
|
18
18
|
* @param {function} fn - Called for every component.
|
19
19
|
*/
|
20
|
-
everyComponent(fn: Function, options
|
20
|
+
everyComponent(fn: Function, options?: {}): void;
|
21
21
|
hasComponent(component: any): boolean;
|
22
22
|
flattenComponents(): {};
|
23
23
|
/**
|
@@ -43,7 +43,7 @@ export default class NestedComponent extends Field {
|
|
43
43
|
* @param {function} fn - Called with the component once it is retrieved.
|
44
44
|
* @return {Object} - The component retrieved.
|
45
45
|
*/
|
46
|
-
getComponentById(id: string, fn
|
46
|
+
getComponentById(id: string, fn?: Function): Object;
|
47
47
|
/**
|
48
48
|
* Create a new component and add it to the components array.
|
49
49
|
*
|
@@ -70,7 +70,7 @@ export default class NestedComponent extends Field {
|
|
70
70
|
* @param {HTMLElement} before - A DOM element to insert this element before.
|
71
71
|
* @return {Component} - The created component instance.
|
72
72
|
*/
|
73
|
-
addComponent(component: Object, data
|
73
|
+
addComponent(component: Object, data?: Object, before?: HTMLElement, noAdd?: boolean): Component;
|
74
74
|
beforeFocus(): void;
|
75
75
|
renderComponents(components: any): any;
|
76
76
|
attach(element: any): Promise<[void, void]>;
|
@@ -90,7 +90,7 @@ export default class NestedComponent extends Field {
|
|
90
90
|
* @param {function} fn - Called once the component is removed.
|
91
91
|
* @return {null}
|
92
92
|
*/
|
93
|
-
removeComponentByKey(key: string, fn
|
93
|
+
removeComponentByKey(key: string, fn?: Function): null;
|
94
94
|
/**
|
95
95
|
* Removes a component provided the Id of the component.
|
96
96
|
*
|
@@ -98,7 +98,7 @@ export default class NestedComponent extends Field {
|
|
98
98
|
* @param {function} fn - Called when the component is removed.
|
99
99
|
* @return {null}
|
100
100
|
*/
|
101
|
-
removeComponentById(id: string, fn
|
101
|
+
removeComponentById(id: string, fn?: Function): null;
|
102
102
|
updateValue(value: any, flags?: {}): any;
|
103
103
|
shouldSkipValidation(data: any, row: any, flags: any): boolean;
|
104
104
|
checkData(data: any, flags: any, row: any, components: any): true | undefined;
|
@@ -136,7 +136,6 @@ export default class NestedComponent extends Field {
|
|
136
136
|
*/
|
137
137
|
validate(data: any, flags?: any): any;
|
138
138
|
checkComponentValidity(data: any, dirty: any, row: any, flags?: {}, allErrors?: any[]): boolean;
|
139
|
-
checkValidity(data: any, dirty: any, row: any, silentCheck: any, childErrors?: any[]): boolean;
|
140
139
|
checkAsyncValidity(data: any, dirty: any, row: any, silentCheck: any): Promise<any>;
|
141
140
|
setPristine(pristine: any): void;
|
142
141
|
get isPristine(): any;
|
@@ -138,7 +138,7 @@ export default class NestedComponent extends Field {
|
|
138
138
|
*
|
139
139
|
* @param {function} fn - Called for every component.
|
140
140
|
*/
|
141
|
-
everyComponent(fn, options) {
|
141
|
+
everyComponent(fn, options = {}) {
|
142
142
|
const components = this.getComponents();
|
143
143
|
_.each(components, (component, index) => {
|
144
144
|
if (fn(component, components, index) === false) {
|
@@ -240,7 +240,7 @@ export default class NestedComponent extends Field {
|
|
240
240
|
* @param {function} fn - Called with the component once it is retrieved.
|
241
241
|
* @return {Object} - The component retrieved.
|
242
242
|
*/
|
243
|
-
getComponentById(id, fn) {
|
243
|
+
getComponentById(id, fn = null) {
|
244
244
|
let comp = null;
|
245
245
|
this.everyComponent((component, components) => {
|
246
246
|
if (component.id === id) {
|
@@ -343,7 +343,7 @@ export default class NestedComponent extends Field {
|
|
343
343
|
* @param {HTMLElement} before - A DOM element to insert this element before.
|
344
344
|
* @return {Component} - The created component instance.
|
345
345
|
*/
|
346
|
-
addComponent(component, data, before, noAdd) {
|
346
|
+
addComponent(component, data = null, before = null, noAdd = false) {
|
347
347
|
data = data || this.data;
|
348
348
|
this.components = this.components || [];
|
349
349
|
component = this.hook('addComponent', component, data, before, noAdd);
|
@@ -452,7 +452,7 @@ export default class NestedComponent extends Field {
|
|
452
452
|
* @param {function} fn - Called once the component is removed.
|
453
453
|
* @return {null}
|
454
454
|
*/
|
455
|
-
removeComponentByKey(key, fn) {
|
455
|
+
removeComponentByKey(key, fn = null) {
|
456
456
|
const comp = this.getComponent(key, (component, components) => {
|
457
457
|
this.removeComponent(component, components);
|
458
458
|
if (fn) {
|
@@ -473,7 +473,7 @@ export default class NestedComponent extends Field {
|
|
473
473
|
* @param {function} fn - Called when the component is removed.
|
474
474
|
* @return {null}
|
475
475
|
*/
|
476
|
-
removeComponentById(id, fn) {
|
476
|
+
removeComponentById(id, fn = null) {
|
477
477
|
const comp = this.getComponentById(id, (component, components) => {
|
478
478
|
this.removeComponent(component, components);
|
479
479
|
if (fn) {
|
@@ -11,7 +11,7 @@ export default class NestedArrayComponent extends NestedDataComponent {
|
|
11
11
|
processRow(method: any, data: any, opts: any, row: any, components: any, silentCheck: any): any;
|
12
12
|
hasAddButton(): any;
|
13
13
|
getComponent(path: any, fn: any, originalPath: any): any;
|
14
|
-
everyComponent(fn: any, rowIndex: any, options
|
14
|
+
everyComponent(fn: any, rowIndex: any, options?: {}): void;
|
15
15
|
getComponents(rowIndex: any): any;
|
16
16
|
}
|
17
17
|
import NestedDataComponent from '../nesteddata/NestedDataComponent';
|
@@ -125,7 +125,7 @@ export default class NestedArrayComponent extends NestedDataComponent {
|
|
125
125
|
}
|
126
126
|
return result;
|
127
127
|
}
|
128
|
-
everyComponent(fn, rowIndex, options) {
|
128
|
+
everyComponent(fn, rowIndex, options = {}) {
|
129
129
|
if (_.isObject(rowIndex)) {
|
130
130
|
options = rowIndex;
|
131
131
|
rowIndex = null;
|
@@ -5,7 +5,7 @@ export default class NestedDataComponent extends NestedComponent {
|
|
5
5
|
get emptyValue(): {};
|
6
6
|
getValueAsString(value: any, options: any): string;
|
7
7
|
getDataValueAsTable(value: any, options: any): string;
|
8
|
-
everyComponent(fn: any, options
|
8
|
+
everyComponent(fn: any, options?: {}): void;
|
9
9
|
updateValue(value: any, flags?: {}): boolean;
|
10
10
|
setValue(value: any, flags?: {}): boolean;
|
11
11
|
}
|
@@ -86,8 +86,8 @@ export default class HTMLComponent extends Component {
|
|
86
86
|
attach(element) {
|
87
87
|
this.loadRefs(element, { html: 'single' });
|
88
88
|
this.dataReady.then(() => {
|
89
|
-
if (this.
|
90
|
-
this.setContent(this.
|
89
|
+
if (this.refs.html) {
|
90
|
+
this.setContent(this.refs.html, this.content);
|
91
91
|
}
|
92
92
|
});
|
93
93
|
return super.attach(element);
|
@@ -59,6 +59,7 @@ export default class SelectComponent extends ListComponent {
|
|
59
59
|
get itemsFromUrl(): boolean;
|
60
60
|
get isInfiniteScrollProvided(): boolean;
|
61
61
|
get shouldInitialLoad(): any;
|
62
|
+
get selectMetadata(): any;
|
62
63
|
isEntireObjectDisplay(): boolean;
|
63
64
|
selectValueAndLabel(data: any): {
|
64
65
|
value: any;
|
@@ -119,7 +120,9 @@ export default class SelectComponent extends ListComponent {
|
|
119
120
|
* @param {Array} items
|
120
121
|
*/
|
121
122
|
addCurrentChoices(values: any, items: any[], keyValue: any): any;
|
122
|
-
normalizeSingleValue(value: any
|
123
|
+
normalizeSingleValue(value: any): any;
|
124
|
+
setMetadata(value: any): any;
|
125
|
+
updateValue(value: any, flags: any): boolean;
|
123
126
|
setValue(value: any, flags?: {}): boolean;
|
124
127
|
lazyLoadInit: boolean | undefined;
|
125
128
|
isInitApiCallNeeded(hasValue: any): any;
|
@@ -215,8 +215,11 @@ export default class SelectComponent extends ListComponent {
|
|
215
215
|
}
|
216
216
|
return super.shouldLoad;
|
217
217
|
}
|
218
|
+
get selectMetadata() {
|
219
|
+
return super.selectData;
|
220
|
+
}
|
218
221
|
get selectData() {
|
219
|
-
return this.component.selectData ||
|
222
|
+
return this.component.selectData || this.selectMetadata;
|
220
223
|
}
|
221
224
|
isEntireObjectDisplay() {
|
222
225
|
return this.component.dataSrc === 'resource' && this.valueProperty === 'data';
|
@@ -1163,7 +1166,7 @@ export default class SelectComponent extends ListComponent {
|
|
1163
1166
|
this.triggerUpdate();
|
1164
1167
|
return done;
|
1165
1168
|
}
|
1166
|
-
normalizeSingleValue(value
|
1169
|
+
normalizeSingleValue(value) {
|
1167
1170
|
if (_.isNil(value)) {
|
1168
1171
|
return;
|
1169
1172
|
}
|
@@ -1172,33 +1175,6 @@ export default class SelectComponent extends ListComponent {
|
|
1172
1175
|
if (valueIsObject && Object.keys(value).length === 0) {
|
1173
1176
|
return value;
|
1174
1177
|
}
|
1175
|
-
// Check to see if we need to save off the template data into our metadata.
|
1176
|
-
if (retainObject) {
|
1177
|
-
const templateValue = this.component.reference && value?._id ? value._id.toString() : value;
|
1178
|
-
const shouldSaveData = !valueIsObject || this.component.reference;
|
1179
|
-
if (templateValue && shouldSaveData && (this.templateData && this.templateData[templateValue]) && this.root?.submission) {
|
1180
|
-
const submission = this.root.submission;
|
1181
|
-
if (!submission.metadata) {
|
1182
|
-
submission.metadata = {};
|
1183
|
-
}
|
1184
|
-
if (!submission.metadata.selectData) {
|
1185
|
-
submission.metadata.selectData = {};
|
1186
|
-
}
|
1187
|
-
let templateData = this.templateData[templateValue];
|
1188
|
-
if (this.component.multiple) {
|
1189
|
-
templateData = {};
|
1190
|
-
const dataValue = this.dataValue;
|
1191
|
-
if (dataValue && _.isArray(dataValue) && dataValue.length) {
|
1192
|
-
dataValue.forEach((dataValueItem) => {
|
1193
|
-
const dataValueItemValue = this.component.reference ? dataValueItem._id.toString() : dataValueItem;
|
1194
|
-
templateData[dataValueItemValue] = this.templateData[dataValueItemValue];
|
1195
|
-
});
|
1196
|
-
}
|
1197
|
-
templateData[value] = this.templateData[value];
|
1198
|
-
}
|
1199
|
-
_.set(submission.metadata.selectData, this.path, templateData);
|
1200
|
-
}
|
1201
|
-
}
|
1202
1178
|
const dataType = this.component.dataType || 'auto';
|
1203
1179
|
const normalize = {
|
1204
1180
|
value,
|
@@ -1251,16 +1227,63 @@ export default class SelectComponent extends ListComponent {
|
|
1251
1227
|
*/
|
1252
1228
|
normalizeValue(value) {
|
1253
1229
|
if (this.component.multiple && Array.isArray(value)) {
|
1254
|
-
return value.map((singleValue) => this.normalizeSingleValue(singleValue
|
1230
|
+
return value.map((singleValue) => this.normalizeSingleValue(singleValue));
|
1231
|
+
}
|
1232
|
+
return super.normalizeValue(this.normalizeSingleValue(value));
|
1233
|
+
}
|
1234
|
+
setMetadata(value) {
|
1235
|
+
if (_.isNil(value)) {
|
1236
|
+
return;
|
1237
|
+
}
|
1238
|
+
const valueIsObject = _.isObject(value);
|
1239
|
+
//check if value equals to default emptyValue
|
1240
|
+
if (valueIsObject && Object.keys(value).length === 0) {
|
1241
|
+
return value;
|
1242
|
+
}
|
1243
|
+
// Check to see if we need to save off the template data into our metadata.
|
1244
|
+
const templateValue = this.component.reference && value?._id ? value._id.toString() : value;
|
1245
|
+
const shouldSaveData = !valueIsObject || this.component.reference;
|
1246
|
+
if (templateValue && shouldSaveData && this.templateData && this.templateData[templateValue] && this.root?.submission) {
|
1247
|
+
const submission = this.root.submission;
|
1248
|
+
if (!submission.metadata) {
|
1249
|
+
submission.metadata = {};
|
1250
|
+
}
|
1251
|
+
if (!submission.metadata.selectData) {
|
1252
|
+
submission.metadata.selectData = {};
|
1253
|
+
}
|
1254
|
+
let templateData = this.templateData[templateValue];
|
1255
|
+
if (this.component.multiple) {
|
1256
|
+
templateData = {};
|
1257
|
+
const dataValue = this.dataValue;
|
1258
|
+
if (dataValue && _.isArray(dataValue) && dataValue.length) {
|
1259
|
+
dataValue.forEach((dataValueItem) => {
|
1260
|
+
const dataValueItemValue = this.component.reference ? dataValueItem._id.toString() : dataValueItem;
|
1261
|
+
templateData[dataValueItemValue] = this.templateData[dataValueItemValue];
|
1262
|
+
});
|
1263
|
+
}
|
1264
|
+
templateData[value] = this.templateData[value];
|
1265
|
+
}
|
1266
|
+
_.set(submission.metadata.selectData, this.path, templateData);
|
1255
1267
|
}
|
1256
|
-
|
1268
|
+
}
|
1269
|
+
updateValue(value, flags) {
|
1270
|
+
const changed = super.updateValue(value, flags);
|
1271
|
+
if (changed || !this.selectMetadata) {
|
1272
|
+
if (this.component.multiple && Array.isArray(this.dataValue)) {
|
1273
|
+
this.dataValue.forEach(singleValue => this.setMetadata(singleValue));
|
1274
|
+
}
|
1275
|
+
else {
|
1276
|
+
this.setMetadata(this.dataValue);
|
1277
|
+
}
|
1278
|
+
}
|
1279
|
+
return changed;
|
1257
1280
|
}
|
1258
1281
|
setValue(value, flags = {}) {
|
1259
1282
|
const previousValue = this.dataValue;
|
1283
|
+
const changed = this.updateValue(value, flags);
|
1260
1284
|
if (this.component.widget === 'html5' && (_.isEqual(value, previousValue) || _.isEqual(previousValue, {}) && _.isEqual(flags, {})) && !flags.fromSubmission) {
|
1261
1285
|
return false;
|
1262
1286
|
}
|
1263
|
-
const changed = this.updateValue(value, flags);
|
1264
1287
|
value = this.dataValue;
|
1265
1288
|
const hasPreviousValue = !this.isEmpty(previousValue);
|
1266
1289
|
const hasValue = !this.isEmpty(value);
|
@@ -1375,7 +1398,7 @@ export default class SelectComponent extends ListComponent {
|
|
1375
1398
|
if (values) {
|
1376
1399
|
if (_.isObject(value)) {
|
1377
1400
|
const compareComplexValues = (optionValue) => {
|
1378
|
-
const normalizedOptionValue = this.normalizeSingleValue(optionValue
|
1401
|
+
const normalizedOptionValue = this.normalizeSingleValue(optionValue);
|
1379
1402
|
if (!_.isObject(normalizedOptionValue)) {
|
1380
1403
|
return false;
|
1381
1404
|
}
|
@@ -0,0 +1,51 @@
|
|
1
|
+
declare namespace _default {
|
2
|
+
let title: string;
|
3
|
+
let name: string;
|
4
|
+
let path: string;
|
5
|
+
let type: string;
|
6
|
+
let display: string;
|
7
|
+
let components: ({
|
8
|
+
label: string;
|
9
|
+
widget: string;
|
10
|
+
tableView: boolean;
|
11
|
+
dataSrc: string;
|
12
|
+
data: {
|
13
|
+
url: string;
|
14
|
+
headers: {
|
15
|
+
key: string;
|
16
|
+
value: string;
|
17
|
+
}[];
|
18
|
+
};
|
19
|
+
valueProperty: string;
|
20
|
+
validateWhenHidden: boolean;
|
21
|
+
key: string;
|
22
|
+
type: string;
|
23
|
+
input: boolean;
|
24
|
+
defaultValue: string;
|
25
|
+
selectValues: string;
|
26
|
+
disableLimit: boolean;
|
27
|
+
noRefreshOnScroll: boolean;
|
28
|
+
selectData: {
|
29
|
+
label: string;
|
30
|
+
};
|
31
|
+
disableOnInvalid?: undefined;
|
32
|
+
} | {
|
33
|
+
type: string;
|
34
|
+
label: string;
|
35
|
+
key: string;
|
36
|
+
disableOnInvalid: boolean;
|
37
|
+
input: boolean;
|
38
|
+
tableView: boolean;
|
39
|
+
widget?: undefined;
|
40
|
+
dataSrc?: undefined;
|
41
|
+
data?: undefined;
|
42
|
+
valueProperty?: undefined;
|
43
|
+
validateWhenHidden?: undefined;
|
44
|
+
defaultValue?: undefined;
|
45
|
+
selectValues?: undefined;
|
46
|
+
disableLimit?: undefined;
|
47
|
+
noRefreshOnScroll?: undefined;
|
48
|
+
selectData?: undefined;
|
49
|
+
})[];
|
50
|
+
}
|
51
|
+
export default _default;
|
@@ -0,0 +1,41 @@
|
|
1
|
+
export default {
|
2
|
+
title: 'FIO-8091',
|
3
|
+
name: 'fio8091',
|
4
|
+
path: 'fio8091',
|
5
|
+
type: 'form',
|
6
|
+
display: 'form',
|
7
|
+
components: [{
|
8
|
+
label: 'Select',
|
9
|
+
widget: 'choicesjs',
|
10
|
+
tableView: true,
|
11
|
+
dataSrc: 'url',
|
12
|
+
data: {
|
13
|
+
url: 'https://fake_url',
|
14
|
+
headers: [
|
15
|
+
{
|
16
|
+
key: '',
|
17
|
+
value: ''
|
18
|
+
},
|
19
|
+
],
|
20
|
+
},
|
21
|
+
valueProperty: 'value',
|
22
|
+
validateWhenHidden: false,
|
23
|
+
key: 'select',
|
24
|
+
type: 'select',
|
25
|
+
input: true,
|
26
|
+
defaultValue: 'value1',
|
27
|
+
selectValues: 'data',
|
28
|
+
disableLimit: false,
|
29
|
+
noRefreshOnScroll: false,
|
30
|
+
selectData: {
|
31
|
+
label: 'Label 1'
|
32
|
+
},
|
33
|
+
}, {
|
34
|
+
type: 'button',
|
35
|
+
label: 'Submit',
|
36
|
+
key: 'submit',
|
37
|
+
disableOnInvalid: true,
|
38
|
+
input: true,
|
39
|
+
tableView: false,
|
40
|
+
}],
|
41
|
+
};
|
@@ -18,5 +18,6 @@ import comp18 from './comp18';
|
|
18
18
|
import comp19 from './comp19';
|
19
19
|
import comp20 from './comp20';
|
20
20
|
import comp21 from './comp21';
|
21
|
-
|
21
|
+
import comp22 from './comp22';
|
22
|
+
export { comp1, comp2, comp4, comp5, comp6, comp7, comp8, comp9, comp10, comp11, comp12, comp13, comp14, comp15, comp16, comp17, comp18, comp19, comp20, comp21, comp22 };
|
22
23
|
export { multiSelect, multiSelectOptions } from "./comp3";
|
@@ -19,4 +19,5 @@ import comp18 from './comp18';
|
|
19
19
|
import comp19 from './comp19';
|
20
20
|
import comp20 from './comp20';
|
21
21
|
import comp21 from './comp21';
|
22
|
-
|
22
|
+
import comp22 from './comp22';
|
23
|
+
export { comp1, comp2, comp4, comp5, comp6, comp7, comp8, comp9, comp10, comp11, comp12, comp13, comp14, comp15, comp16, comp17, comp18, comp19, comp20, comp21, comp22 };
|
@@ -1,10 +1,8 @@
|
|
1
1
|
export class Evaluator {
|
2
2
|
static cache: {};
|
3
3
|
static protectedEval: boolean;
|
4
|
+
static noeval: boolean;
|
4
5
|
static template(template: any, hash: any): any;
|
5
6
|
static interpolate(rawTemplate: any, data: any, _options: any): any;
|
6
7
|
static evaluate(func: any, args: any): any;
|
7
8
|
}
|
8
|
-
export namespace Evaluator {
|
9
|
-
function registerEvaluator(evaluator: any): void;
|
10
|
-
}
|
@@ -4,6 +4,7 @@ import { Evaluator as CoreEvaluator } from '@formio/core/utils';
|
|
4
4
|
export class Evaluator extends CoreEvaluator {
|
5
5
|
static cache = {};
|
6
6
|
static protectedEval = false;
|
7
|
+
static noeval = false;
|
7
8
|
static template(template, hash) {
|
8
9
|
hash = hash || stringHash(template);
|
9
10
|
if (Evaluator.cache[hash]) {
|
@@ -53,8 +54,3 @@ export class Evaluator extends CoreEvaluator {
|
|
53
54
|
return Array.isArray(args) ? func(...args) : func(args);
|
54
55
|
}
|
55
56
|
}
|
56
|
-
Evaluator.registerEvaluator = (evaluator) => {
|
57
|
-
Object.keys(evaluator).forEach((key) => {
|
58
|
-
Evaluator[key] = evaluator[key];
|
59
|
-
});
|
60
|
-
};
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@formio/js",
|
3
|
-
"version": "5.0.0-rc.
|
3
|
+
"version": "5.0.0-rc.48",
|
4
4
|
"description": "JavaScript powered Forms with JSON Form Builder",
|
5
5
|
"main": "lib/cjs/index.js",
|
6
6
|
"exports": {
|
@@ -77,7 +77,7 @@
|
|
77
77
|
"dependencies": {
|
78
78
|
"@formio/bootstrap": "^3.0.0-rc.24",
|
79
79
|
"@formio/choices.js": "^10.2.1",
|
80
|
-
"@formio/core": "^2.1.0-dev.tt.
|
80
|
+
"@formio/core": "^2.1.0-dev.tt.4",
|
81
81
|
"@formio/text-mask-addons": "^3.8.0-formio.2",
|
82
82
|
"@formio/vanilla-text-mask": "^5.1.1-formio.1",
|
83
83
|
"abortcontroller-polyfill": "^1.7.5",
|