@formio/js 5.0.0-rc.90 → 5.0.0-rc.91
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 +8 -8
- package/dist/formio.form.min.js +1 -1
- package/dist/formio.form.min.js.LICENSE.txt +1 -1
- package/dist/formio.full.js +8 -8
- 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 +1 -1
- package/dist/formio.utils.min.js +1 -1
- package/dist/formio.utils.min.js.LICENSE.txt +1 -1
- package/lib/cjs/components/Components.js +3 -0
- package/lib/cjs/components/_classes/component/Component.js +2 -2
- package/lib/cjs/components/select/Select.js +12 -4
- package/lib/mjs/components/Components.js +4 -1
- package/lib/mjs/components/_classes/component/Component.js +2 -2
- package/lib/mjs/components/select/Select.js +12 -4
- package/package.json +3 -3
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
/*! @license DOMPurify 3.1.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.6/LICENSE */
|
22
22
|
|
23
|
-
/*! formiojs v5.0.0-rc.
|
23
|
+
/*! formiojs v5.0.0-rc.91 | https://unpkg.com/formiojs@5.0.0-rc.91/LICENSE.txt */
|
24
24
|
|
25
25
|
/**
|
26
26
|
* @license
|
@@ -70,6 +70,9 @@ class Components {
|
|
70
70
|
const rowIndex = component.row;
|
71
71
|
const rowIndexPath = rowIndex && !['container'].includes(thisPath.component.type) ? `[${Number.parseInt(rowIndex)}]` : '';
|
72
72
|
path = `${thisPath.path}${rowIndexPath}.`;
|
73
|
+
if (rowIndexPath && (0, utils_2.getModelType)(thisPath) === 'nestedDataArray') {
|
74
|
+
path = `${path}data.`;
|
75
|
+
}
|
73
76
|
path += componentKey;
|
74
77
|
return lodash_1.default.trim(path, '.');
|
75
78
|
}
|
@@ -2937,8 +2937,8 @@ class Component extends Element_1.default {
|
|
2937
2937
|
if (this.options.alwaysDirty) {
|
2938
2938
|
flags.dirty = true;
|
2939
2939
|
}
|
2940
|
-
if (flags.fromSubmission && this.hasValue(data)
|
2941
|
-
flags.dirty = true;
|
2940
|
+
if (flags.fromSubmission && this.hasValue(data)) {
|
2941
|
+
flags.dirty = this.pristine && this.component.protected ? false : true;
|
2942
2942
|
}
|
2943
2943
|
this.setDirty(flags.dirty);
|
2944
2944
|
return this.setComponentValidity(errors, flags.dirty, flags.silentCheck, flags.fromSubmission);
|
@@ -247,7 +247,11 @@ class SelectComponent extends ListComponent_1.default {
|
|
247
247
|
const value = (typeof itemLabel === 'string') ? this.t(itemLabel, { _userInput: true }) : itemLabel;
|
248
248
|
return this.sanitize(value, this.shouldSanitizeValue);
|
249
249
|
}
|
250
|
-
|
250
|
+
// Inside DataTable component won't have dataValue set
|
251
|
+
const shouldUseSelectData = (this.component.multiple && lodash_1.default.isArray(this.dataValue)
|
252
|
+
? this.dataValue.find((val) => this.normalizeSingleValue(value) === val)
|
253
|
+
: (this.dataValue === this.normalizeSingleValue(value))) || this.inDataTable;
|
254
|
+
if (shouldUseSelectData) {
|
251
255
|
const selectData = this.selectData;
|
252
256
|
if (selectData) {
|
253
257
|
const templateValue = this.component.reference && (value === null || value === void 0 ? void 0 : value._id) ? value._id.toString() : value;
|
@@ -1214,7 +1218,7 @@ class SelectComponent extends ListComponent_1.default {
|
|
1214
1218
|
// Check to see if we need to save off the template data into our metadata.
|
1215
1219
|
const templateValue = this.component.reference && (value === null || value === void 0 ? void 0 : value._id) ? value._id.toString() : value;
|
1216
1220
|
const shouldSaveData = !valueIsObject || this.component.reference;
|
1217
|
-
if (templateValue && shouldSaveData && this.templateData && this.templateData[templateValue] && ((_a = this.root) === null || _a === void 0 ? void 0 : _a.submission)) {
|
1221
|
+
if (!lodash_1.default.isNil(templateValue) && shouldSaveData && this.templateData && this.templateData[templateValue] && ((_a = this.root) === null || _a === void 0 ? void 0 : _a.submission)) {
|
1218
1222
|
const submission = this.root.submission;
|
1219
1223
|
if (!submission.metadata) {
|
1220
1224
|
submission.metadata = {};
|
@@ -1469,8 +1473,12 @@ class SelectComponent extends ListComponent_1.default {
|
|
1469
1473
|
asString(value, options = {}) {
|
1470
1474
|
var _a;
|
1471
1475
|
value = value !== null && value !== void 0 ? value : this.getValue();
|
1472
|
-
if (options.modalPreview) {
|
1473
|
-
|
1476
|
+
if (options.modalPreview || this.inDataTable) {
|
1477
|
+
if (this.inDataTable) {
|
1478
|
+
value = this.undoValueTyping(value);
|
1479
|
+
}
|
1480
|
+
const templateValue = (this.isEntireObjectDisplay() && !lodash_1.default.isObject(value.data)) ? { data: value } : value;
|
1481
|
+
const template = this.itemTemplate(templateValue, value, options);
|
1474
1482
|
return template;
|
1475
1483
|
}
|
1476
1484
|
//need to convert values to strings to be able to compare values with available options that are strings
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import Component from './_classes/component/Component';
|
2
2
|
import EditFormUtils from './_classes/component/editForm/utils';
|
3
3
|
import BaseEditForm from './_classes/component/Component.form';
|
4
|
-
import { getComponentKey } from '../utils/utils';
|
4
|
+
import { getComponentKey, getModelType } from '../utils/utils';
|
5
5
|
import _ from 'lodash';
|
6
6
|
export default class Components {
|
7
7
|
static _editFormUtils = EditFormUtils;
|
@@ -66,6 +66,9 @@ export default class Components {
|
|
66
66
|
const rowIndex = component.row;
|
67
67
|
const rowIndexPath = rowIndex && !['container'].includes(thisPath.component.type) ? `[${Number.parseInt(rowIndex)}]` : '';
|
68
68
|
path = `${thisPath.path}${rowIndexPath}.`;
|
69
|
+
if (rowIndexPath && getModelType(thisPath) === 'nestedDataArray') {
|
70
|
+
path = `${path}data.`;
|
71
|
+
}
|
69
72
|
path += componentKey;
|
70
73
|
return _.trim(path, '.');
|
71
74
|
}
|
@@ -2904,8 +2904,8 @@ export default class Component extends Element {
|
|
2904
2904
|
if (this.options.alwaysDirty) {
|
2905
2905
|
flags.dirty = true;
|
2906
2906
|
}
|
2907
|
-
if (flags.fromSubmission && this.hasValue(data)
|
2908
|
-
flags.dirty = true;
|
2907
|
+
if (flags.fromSubmission && this.hasValue(data)) {
|
2908
|
+
flags.dirty = this.pristine && this.component.protected ? false : true;
|
2909
2909
|
}
|
2910
2910
|
this.setDirty(flags.dirty);
|
2911
2911
|
return this.setComponentValidity(errors, flags.dirty, flags.silentCheck, flags.fromSubmission);
|
@@ -247,7 +247,11 @@ export default class SelectComponent extends ListComponent {
|
|
247
247
|
const value = (typeof itemLabel === 'string') ? this.t(itemLabel, { _userInput: true }) : itemLabel;
|
248
248
|
return this.sanitize(value, this.shouldSanitizeValue);
|
249
249
|
}
|
250
|
-
|
250
|
+
// Inside DataTable component won't have dataValue set
|
251
|
+
const shouldUseSelectData = (this.component.multiple && _.isArray(this.dataValue)
|
252
|
+
? this.dataValue.find((val) => this.normalizeSingleValue(value) === val)
|
253
|
+
: (this.dataValue === this.normalizeSingleValue(value))) || this.inDataTable;
|
254
|
+
if (shouldUseSelectData) {
|
251
255
|
const selectData = this.selectData;
|
252
256
|
if (selectData) {
|
253
257
|
const templateValue = this.component.reference && value?._id ? value._id.toString() : value;
|
@@ -1242,7 +1246,7 @@ export default class SelectComponent extends ListComponent {
|
|
1242
1246
|
// Check to see if we need to save off the template data into our metadata.
|
1243
1247
|
const templateValue = this.component.reference && value?._id ? value._id.toString() : value;
|
1244
1248
|
const shouldSaveData = !valueIsObject || this.component.reference;
|
1245
|
-
if (templateValue && shouldSaveData && this.templateData && this.templateData[templateValue] && this.root?.submission) {
|
1249
|
+
if (!_.isNil(templateValue) && shouldSaveData && this.templateData && this.templateData[templateValue] && this.root?.submission) {
|
1246
1250
|
const submission = this.root.submission;
|
1247
1251
|
if (!submission.metadata) {
|
1248
1252
|
submission.metadata = {};
|
@@ -1496,8 +1500,12 @@ export default class SelectComponent extends ListComponent {
|
|
1496
1500
|
}
|
1497
1501
|
asString(value, options = {}) {
|
1498
1502
|
value = value ?? this.getValue();
|
1499
|
-
if (options.modalPreview) {
|
1500
|
-
|
1503
|
+
if (options.modalPreview || this.inDataTable) {
|
1504
|
+
if (this.inDataTable) {
|
1505
|
+
value = this.undoValueTyping(value);
|
1506
|
+
}
|
1507
|
+
const templateValue = (this.isEntireObjectDisplay() && !_.isObject(value.data)) ? { data: value } : value;
|
1508
|
+
const template = this.itemTemplate(templateValue, value, options);
|
1501
1509
|
return template;
|
1502
1510
|
}
|
1503
1511
|
//need to convert values to strings to be able to compare values with available options that are strings
|
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.91",
|
4
4
|
"description": "JavaScript powered Forms with JSON Form Builder",
|
5
5
|
"main": "lib/cjs/index.js",
|
6
6
|
"exports": {
|
@@ -79,9 +79,9 @@
|
|
79
79
|
},
|
80
80
|
"homepage": "https://github.com/formio/formio.js#readme",
|
81
81
|
"dependencies": {
|
82
|
-
"@formio/bootstrap": "3.0.0-rc.
|
82
|
+
"@formio/bootstrap": "3.0.0-rc.38",
|
83
83
|
"@formio/choices.js": "^10.2.1",
|
84
|
-
"@formio/core": "2.3.0-rc.
|
84
|
+
"@formio/core": "2.3.0-rc.10",
|
85
85
|
"@formio/text-mask-addons": "^3.8.0-formio.2",
|
86
86
|
"@formio/vanilla-text-mask": "^5.1.1-formio.1",
|
87
87
|
"abortcontroller-polyfill": "^1.7.5",
|