@formio/js 5.1.0-dev.6040.debc859 → 5.1.0-dev.6042.603237d
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/Changelog.md +99 -310
- package/README.md +7 -0
- package/dist/formio.builder.css +1 -0
- package/dist/formio.builder.min.css +1 -1
- package/dist/formio.form.css +1 -0
- package/dist/formio.form.js +661 -672
- package/dist/formio.form.min.css +1 -1
- package/dist/formio.form.min.js +1 -1
- package/dist/formio.form.min.js.LICENSE.txt +3 -1
- package/dist/formio.full.css +1 -0
- package/dist/formio.full.js +688 -699
- package/dist/formio.full.min.css +1 -1
- package/dist/formio.full.min.js +1 -1
- package/dist/formio.full.min.js.LICENSE.txt +3 -1
- package/dist/formio.js +90 -68
- package/dist/formio.min.js +1 -1
- package/dist/formio.utils.js +103 -81
- package/dist/formio.utils.min.js +1 -1
- package/dist/formio.utils.min.js.LICENSE.txt +3 -1
- package/lib/cjs/Element.d.ts +2 -1
- package/lib/cjs/Element.js +18 -39
- package/lib/cjs/EventEmitter.js +2 -25
- package/lib/cjs/Form.js +2 -25
- package/lib/cjs/PDF.js +1 -1
- package/lib/cjs/PDFBuilder.js +4 -5
- package/lib/cjs/Webform.d.ts +2 -2
- package/lib/cjs/Webform.js +14 -15
- package/lib/cjs/WebformBuilder.d.ts +1 -0
- package/lib/cjs/WebformBuilder.js +44 -14
- package/lib/cjs/Wizard.d.ts +2 -2
- package/lib/cjs/Wizard.js +41 -27
- package/lib/cjs/WizardBuilder.js +1 -1
- package/lib/cjs/components/_classes/component/Component.d.ts +49 -15
- package/lib/cjs/components/_classes/component/Component.js +188 -125
- package/lib/cjs/components/_classes/component/editForm/Component.edit.conditional.js +1 -1
- package/lib/cjs/components/_classes/component/editForm/Component.edit.data.js +19 -0
- package/lib/cjs/components/_classes/component/editForm/Component.edit.logic.js +1 -1
- package/lib/cjs/components/_classes/component/editForm/utils.js +1 -1
- package/lib/cjs/components/_classes/componentModal/ComponentModal.js +1 -1
- package/lib/cjs/components/_classes/input/Input.js +1 -1
- package/lib/cjs/components/_classes/list/ListComponent.js +3 -3
- package/lib/cjs/components/_classes/nested/NestedComponent.d.ts +0 -1
- package/lib/cjs/components/_classes/nested/NestedComponent.form.js +13 -0
- package/lib/cjs/components/_classes/nested/NestedComponent.js +17 -25
- package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +1 -1
- package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.d.ts +0 -2
- package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +1 -12
- package/lib/cjs/components/address/Address.d.ts +9 -0
- package/lib/cjs/components/address/Address.js +32 -9
- package/lib/cjs/components/address/editForm/Address.edit.display.d.ts +4 -0
- package/lib/cjs/components/address/editForm/Address.edit.display.js +1 -0
- package/lib/cjs/components/address/editForm/Address.edit.provider.js +8 -8
- package/lib/cjs/components/alert/Alert.js +1 -1
- package/lib/cjs/components/button/Button.d.ts +1 -1
- package/lib/cjs/components/button/Button.js +7 -11
- package/lib/cjs/components/checkbox/Checkbox.js +1 -1
- package/lib/cjs/components/container/Container.js +1 -1
- package/lib/cjs/components/content/editForm/Content.edit.display.js +8 -0
- package/lib/cjs/components/currency/Currency.js +1 -1
- package/lib/cjs/components/currency/editForm/Currency.edit.display.js +12 -0
- package/lib/cjs/components/datagrid/DataGrid.js +5 -4
- package/lib/cjs/components/datamap/DataMap.js +2 -6
- package/lib/cjs/components/datetime/DateTime.d.ts +1 -1
- package/lib/cjs/components/datetime/DateTime.js +15 -13
- package/lib/cjs/components/datetime/editForm/DateTime.edit.validation.d.ts +66 -15
- package/lib/cjs/components/datetime/editForm/DateTime.edit.validation.js +68 -47
- package/lib/cjs/components/day/Day.js +2 -2
- package/lib/cjs/components/day/editForm/Day.edit.display.js +8 -0
- package/lib/cjs/components/editgrid/EditGrid.js +4 -14
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.display.js +1 -1
- package/lib/cjs/components/email/editForm/Email.edit.display.js +12 -0
- package/lib/cjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -0
- package/lib/cjs/components/file/File.js +6 -2
- package/lib/cjs/components/file/editForm/File.edit.file.d.ts +13 -0
- package/lib/cjs/components/file/editForm/File.edit.file.js +1 -0
- package/lib/cjs/components/form/Form.d.ts +0 -1
- package/lib/cjs/components/form/Form.js +32 -24
- package/lib/cjs/components/form/editForm/Form.edit.form.js +4 -3
- package/lib/cjs/components/hidden/editForm/Hidden.edit.display.js +8 -0
- package/lib/cjs/components/html/HTML.js +1 -2
- package/lib/cjs/components/html/editForm/HTML.edit.display.js +8 -0
- package/lib/cjs/components/number/Number.js +1 -1
- package/lib/cjs/components/number/editForm/Number.edit.display.js +12 -0
- package/lib/cjs/components/panel/Panel.js +1 -1
- package/lib/cjs/components/password/editForm/Password.edit.display.js +13 -1
- package/lib/cjs/components/phonenumber/PhoneNumber.form.js +9 -1
- package/lib/cjs/components/radio/Radio.d.ts +8 -0
- package/lib/cjs/components/radio/Radio.js +17 -7
- package/lib/cjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +1 -1
- package/lib/cjs/components/select/Select.d.ts +1 -0
- package/lib/cjs/components/select/Select.js +21 -5
- package/lib/cjs/components/select/editForm/Select.edit.data.d.ts +68 -110
- package/lib/cjs/components/select/editForm/Select.edit.data.js +3 -38
- package/lib/cjs/components/selectboxes/SelectBoxes.d.ts +6 -0
- package/lib/cjs/components/selectboxes/SelectBoxes.js +7 -1
- package/lib/cjs/components/signature/Signature.js +1 -1
- package/lib/cjs/components/survey/Survey.js +2 -2
- package/lib/cjs/components/tabs/Tabs.js +1 -0
- package/lib/cjs/components/tabs/editForm/Tabs.edit.display.js +8 -0
- package/lib/cjs/components/tags/Tags.js +1 -1
- package/lib/cjs/components/textarea/TextArea.js +10 -2
- package/lib/cjs/components/textarea/editForm/TextArea.edit.display.js +12 -0
- package/lib/cjs/components/textfield/TextField.js +9 -32
- package/lib/cjs/components/time/Time.js +1 -1
- package/lib/cjs/components/unknown/Unknown.form.d.ts +2 -1
- package/lib/cjs/components/unknown/Unknown.form.js +13 -9
- package/lib/cjs/components/url/editForm/Url.edit.display.js +12 -0
- package/lib/cjs/components/well/editForm/Well.edit.display.js +8 -0
- package/lib/cjs/formio.form.js +5 -5
- package/lib/cjs/providers/storage/uploadAdapter.js +8 -6
- package/lib/cjs/translations/en.d.ts +1 -234
- package/lib/cjs/translations/en.js +4 -2
- package/lib/cjs/utils/Evaluator.d.ts +20 -6
- package/lib/cjs/utils/Evaluator.js +38 -15
- package/lib/cjs/utils/builder.js +5 -5
- package/lib/cjs/utils/conditionOperators/IsEqualTo.js +3 -3
- package/lib/cjs/utils/formUtils.d.ts +2 -2
- package/lib/cjs/utils/index.d.ts +169 -2
- package/lib/cjs/utils/index.js +22 -2
- package/lib/cjs/utils/utils.d.ts +31 -45
- package/lib/cjs/utils/utils.js +80 -156
- package/lib/cjs/widgets/CalendarWidget.d.ts +1 -8
- package/lib/cjs/widgets/CalendarWidget.js +19 -40
- package/lib/mjs/Element.d.ts +2 -1
- package/lib/mjs/Element.js +11 -9
- package/lib/mjs/EventEmitter.js +2 -2
- package/lib/mjs/Form.js +1 -1
- package/lib/mjs/PDF.js +1 -1
- package/lib/mjs/PDFBuilder.js +1 -2
- package/lib/mjs/Webform.d.ts +2 -2
- package/lib/mjs/Webform.js +12 -13
- package/lib/mjs/WebformBuilder.d.ts +1 -0
- package/lib/mjs/WebformBuilder.js +37 -8
- package/lib/mjs/Wizard.d.ts +2 -2
- package/lib/mjs/Wizard.js +39 -25
- package/lib/mjs/WizardBuilder.js +1 -1
- package/lib/mjs/components/_classes/component/Component.d.ts +49 -15
- package/lib/mjs/components/_classes/component/Component.js +161 -75
- package/lib/mjs/components/_classes/component/editForm/Component.edit.conditional.js +1 -1
- package/lib/mjs/components/_classes/component/editForm/Component.edit.data.js +19 -0
- package/lib/mjs/components/_classes/component/editForm/Component.edit.logic.js +1 -1
- package/lib/mjs/components/_classes/component/editForm/utils.js +1 -1
- package/lib/mjs/components/_classes/componentModal/ComponentModal.js +1 -1
- package/lib/mjs/components/_classes/input/Input.js +1 -1
- package/lib/mjs/components/_classes/list/ListComponent.js +3 -3
- package/lib/mjs/components/_classes/nested/NestedComponent.d.ts +0 -1
- package/lib/mjs/components/_classes/nested/NestedComponent.form.js +13 -0
- package/lib/mjs/components/_classes/nested/NestedComponent.js +17 -25
- package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +1 -1
- package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.d.ts +0 -2
- package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +1 -12
- package/lib/mjs/components/address/Address.d.ts +9 -0
- package/lib/mjs/components/address/Address.js +32 -9
- package/lib/mjs/components/address/editForm/Address.edit.display.d.ts +4 -0
- package/lib/mjs/components/address/editForm/Address.edit.display.js +1 -0
- package/lib/mjs/components/address/editForm/Address.edit.provider.js +8 -8
- package/lib/mjs/components/alert/Alert.js +1 -1
- package/lib/mjs/components/button/Button.d.ts +1 -1
- package/lib/mjs/components/button/Button.js +7 -10
- package/lib/mjs/components/checkbox/Checkbox.js +1 -1
- package/lib/mjs/components/container/Container.js +1 -1
- package/lib/mjs/components/content/editForm/Content.edit.display.js +8 -0
- package/lib/mjs/components/currency/Currency.js +1 -1
- package/lib/mjs/components/currency/editForm/Currency.edit.display.js +12 -0
- package/lib/mjs/components/datagrid/DataGrid.js +5 -4
- package/lib/mjs/components/datamap/DataMap.js +2 -6
- package/lib/mjs/components/datetime/DateTime.d.ts +1 -1
- package/lib/mjs/components/datetime/DateTime.js +15 -13
- package/lib/mjs/components/datetime/editForm/DateTime.edit.validation.d.ts +66 -15
- package/lib/mjs/components/datetime/editForm/DateTime.edit.validation.js +68 -47
- package/lib/mjs/components/day/Day.js +2 -2
- package/lib/mjs/components/day/editForm/Day.edit.display.js +8 -0
- package/lib/mjs/components/editgrid/EditGrid.js +4 -13
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.display.js +1 -1
- package/lib/mjs/components/email/editForm/Email.edit.display.js +12 -0
- package/lib/mjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -0
- package/lib/mjs/components/file/File.js +6 -2
- package/lib/mjs/components/file/editForm/File.edit.file.d.ts +13 -0
- package/lib/mjs/components/file/editForm/File.edit.file.js +1 -0
- package/lib/mjs/components/form/Form.d.ts +0 -1
- package/lib/mjs/components/form/Form.js +31 -24
- package/lib/mjs/components/form/editForm/Form.edit.form.js +3 -2
- package/lib/mjs/components/hidden/editForm/Hidden.edit.display.js +8 -0
- package/lib/mjs/components/html/HTML.js +1 -2
- package/lib/mjs/components/html/editForm/HTML.edit.display.js +8 -0
- package/lib/mjs/components/number/Number.js +1 -1
- package/lib/mjs/components/number/editForm/Number.edit.display.js +12 -0
- package/lib/mjs/components/panel/Panel.js +1 -1
- package/lib/mjs/components/password/editForm/Password.edit.display.js +13 -1
- package/lib/mjs/components/phonenumber/PhoneNumber.form.js +9 -1
- package/lib/mjs/components/radio/Radio.d.ts +8 -0
- package/lib/mjs/components/radio/Radio.js +17 -7
- package/lib/mjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +1 -1
- package/lib/mjs/components/select/Select.d.ts +1 -0
- package/lib/mjs/components/select/Select.js +21 -5
- package/lib/mjs/components/select/editForm/Select.edit.data.d.ts +68 -110
- package/lib/mjs/components/select/editForm/Select.edit.data.js +3 -38
- package/lib/mjs/components/selectboxes/SelectBoxes.d.ts +6 -0
- package/lib/mjs/components/selectboxes/SelectBoxes.js +7 -1
- package/lib/mjs/components/signature/Signature.js +1 -1
- package/lib/mjs/components/survey/Survey.js +2 -2
- package/lib/mjs/components/tabs/Tabs.js +1 -0
- package/lib/mjs/components/tabs/editForm/Tabs.edit.display.js +8 -0
- package/lib/mjs/components/tags/Tags.js +1 -1
- package/lib/mjs/components/textarea/TextArea.js +10 -2
- package/lib/mjs/components/textarea/editForm/TextArea.edit.display.js +12 -0
- package/lib/mjs/components/textfield/TextField.js +3 -3
- package/lib/mjs/components/time/Time.js +1 -1
- package/lib/mjs/components/unknown/Unknown.form.d.ts +2 -1
- package/lib/mjs/components/unknown/Unknown.form.js +13 -9
- package/lib/mjs/components/url/editForm/Url.edit.display.js +12 -0
- package/lib/mjs/components/well/editForm/Well.edit.display.js +8 -0
- package/lib/mjs/formio.form.js +3 -3
- package/lib/mjs/providers/storage/uploadAdapter.js +8 -6
- package/lib/mjs/translations/en.d.ts +1 -234
- package/lib/mjs/translations/en.js +6 -47
- package/lib/mjs/utils/Evaluator.d.ts +20 -6
- package/lib/mjs/utils/Evaluator.js +31 -13
- package/lib/mjs/utils/builder.js +1 -1
- package/lib/mjs/utils/conditionOperators/IsEqualTo.js +1 -1
- package/lib/mjs/utils/formUtils.d.ts +2 -2
- package/lib/mjs/utils/index.d.ts +169 -2
- package/lib/mjs/utils/index.js +18 -1
- package/lib/mjs/utils/utils.d.ts +31 -45
- package/lib/mjs/utils/utils.js +72 -129
- package/lib/mjs/widgets/CalendarWidget.d.ts +1 -8
- package/lib/mjs/widgets/CalendarWidget.js +19 -40
- package/package.json +8 -6
- package/lib/cjs/i18n.d.ts +0 -13
- package/lib/cjs/i18n.js +0 -19
- package/lib/cjs/utils/i18n.d.ts +0 -19
- package/lib/cjs/utils/i18n.js +0 -120
- package/lib/mjs/i18n.d.ts +0 -13
- package/lib/mjs/i18n.js +0 -14
- package/lib/mjs/utils/i18n.d.ts +0 -19
- package/lib/mjs/utils/i18n.js +0 -112
@@ -9,6 +9,18 @@ exports.default = [
|
|
9
9
|
key: 'allowMultipleMasks',
|
10
10
|
ignore: true
|
11
11
|
},
|
12
|
+
{
|
13
|
+
key: 'inputMasks',
|
14
|
+
ignore: true
|
15
|
+
},
|
16
|
+
{
|
17
|
+
key: 'widget.type',
|
18
|
+
ignore: true
|
19
|
+
},
|
20
|
+
{
|
21
|
+
key: 'widget',
|
22
|
+
ignore: true
|
23
|
+
},
|
12
24
|
{
|
13
25
|
key: 'showWordCount',
|
14
26
|
ignore: true
|
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
const lodash_1 = __importDefault(require("lodash"));
|
7
7
|
const NestedArrayComponent_1 = __importDefault(require("../_classes/nestedarray/NestedArrayComponent"));
|
8
|
-
const utils_1 = require("../../utils
|
8
|
+
const utils_1 = require("../../utils");
|
9
9
|
class DataGridComponent extends NestedArrayComponent_1.default {
|
10
10
|
static schema(...extend) {
|
11
11
|
return NestedArrayComponent_1.default.schema({
|
@@ -492,6 +492,10 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
492
492
|
options.row = `${rowIndex}-${colIndex}`;
|
493
493
|
options.rowIndex = rowIndex;
|
494
494
|
options.onChange = (flags, changed, modified) => {
|
495
|
+
if (changed.component.type === 'form') {
|
496
|
+
const formComp = (0, utils_1.getComponent)(this.component.components, changed.component.key);
|
497
|
+
lodash_1.default.set(formComp, 'components', changed.component.components);
|
498
|
+
}
|
495
499
|
this.triggerChange({ modified });
|
496
500
|
};
|
497
501
|
let columnComponent;
|
@@ -613,9 +617,6 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
613
617
|
this.updateOnChange(flags, changed);
|
614
618
|
return changed;
|
615
619
|
}
|
616
|
-
restoreComponentsContext() {
|
617
|
-
this.rows.forEach((row, index) => lodash_1.default.forIn(row, (component) => component.data = this.dataValue[index]));
|
618
|
-
}
|
619
620
|
toggleGroup(element, index) {
|
620
621
|
element.classList.toggle('collapsed');
|
621
622
|
lodash_1.default.each(this.refs.chunks[index], row => {
|
@@ -73,14 +73,10 @@ class DataMapComponent extends DataGrid_1.default {
|
|
73
73
|
return {};
|
74
74
|
}
|
75
75
|
get dataValue() {
|
76
|
-
if (!this.key
|
77
|
-
(this.conditionallyHidden && this.component.clearOnHide)) {
|
76
|
+
if (!this.key) {
|
78
77
|
return this.emptyValue;
|
79
78
|
}
|
80
|
-
|
81
|
-
this.dataValue = this.emptyValue;
|
82
|
-
}
|
83
|
-
return lodash_1.default.get(this.data, this.key);
|
79
|
+
return lodash_1.default.get(this.data, this.key, this.emptyValue);
|
84
80
|
}
|
85
81
|
set dataValue(value) {
|
86
82
|
super.dataValue = value;
|
@@ -17,7 +17,7 @@ export default class DateTimeComponent extends Input {
|
|
17
17
|
};
|
18
18
|
static savedValueTypes(schema: any): string[];
|
19
19
|
get emptyValue(): string;
|
20
|
-
get
|
20
|
+
get dayjsFormat(): string;
|
21
21
|
createWrapper(): boolean;
|
22
22
|
checkValidity(data: any, dirty: any, rowData: any): boolean;
|
23
23
|
getValueAsString(value: any, options: any): any;
|
@@ -4,9 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
const lodash_1 = __importDefault(require("lodash"));
|
7
|
-
const
|
7
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
8
8
|
const utils_1 = __importDefault(require("../../utils"));
|
9
|
-
const utils_2 = require("../../utils
|
9
|
+
const utils_2 = require("../../utils");
|
10
10
|
const Input_1 = __importDefault(require("../_classes/input/Input"));
|
11
11
|
class DateTimeComponent extends Input_1.default {
|
12
12
|
static schema(...extend) {
|
@@ -123,8 +123,8 @@ class DateTimeComponent extends Input_1.default {
|
|
123
123
|
get emptyValue() {
|
124
124
|
return '';
|
125
125
|
}
|
126
|
-
get
|
127
|
-
return utils_1.default.
|
126
|
+
get dayjsFormat() {
|
127
|
+
return utils_1.default.convertFormatToDayjs(this.component.format);
|
128
128
|
}
|
129
129
|
isEmpty(value = this.dataValue) {
|
130
130
|
if (value && (value.toString() === 'Invalid Date')) {
|
@@ -133,12 +133,14 @@ class DateTimeComponent extends Input_1.default {
|
|
133
133
|
return super.isEmpty(value);
|
134
134
|
}
|
135
135
|
formatValue(input) {
|
136
|
-
|
137
|
-
|
136
|
+
if ((0, dayjs_1.default)(input).isValid()) {
|
137
|
+
return dayjs_1.default.utc(input).toISOString();
|
138
|
+
}
|
139
|
+
return input;
|
138
140
|
}
|
139
141
|
isEqual(valueA, valueB = this.dataValue) {
|
140
142
|
return (this.isEmpty(valueA) && this.isEmpty(valueB))
|
141
|
-
||
|
143
|
+
|| dayjs_1.default.utc(valueA).format(this.dayjsFormat) === dayjs_1.default.utc(valueB).format(this.dayjsFormat);
|
142
144
|
}
|
143
145
|
createWrapper() {
|
144
146
|
return false;
|
@@ -154,19 +156,19 @@ class DateTimeComponent extends Input_1.default {
|
|
154
156
|
return super.checkValidity(data, dirty, rowData);
|
155
157
|
}
|
156
158
|
getValueAsString(value, options) {
|
157
|
-
let format = utils_1.default.
|
158
|
-
format += format.match(/z$/) ? '' : ' z';
|
159
|
+
let format = utils_1.default.convertFormatToDayjs(this.component.format);
|
159
160
|
const timezone = this.timezone;
|
160
161
|
if (value && !this.attached && timezone) {
|
162
|
+
format += format.match(/z$/) ? '' : ' z';
|
161
163
|
if (Array.isArray(value) && this.component.multiple) {
|
162
|
-
return value.map(item => lodash_1.default.trim(utils_1.default.
|
164
|
+
return value.map(item => lodash_1.default.trim(utils_1.default.dayjsDate(item, format, timezone, options).format(format))).join(', ');
|
163
165
|
}
|
164
|
-
return lodash_1.default.trim(utils_1.default.
|
166
|
+
return lodash_1.default.trim(utils_1.default.dayjsDate(value, format, timezone, options).format(format));
|
165
167
|
}
|
166
168
|
if (Array.isArray(value) && this.component.multiple) {
|
167
|
-
return value.map(item => lodash_1.default.trim((0,
|
169
|
+
return value.map(item => lodash_1.default.trim((0, dayjs_1.default)(item).format(format))).join(', ');
|
168
170
|
}
|
169
|
-
return (value ? lodash_1.default.trim((0,
|
171
|
+
return (value ? lodash_1.default.trim((0, dayjs_1.default)(value).format(format)) : value) || '';
|
170
172
|
}
|
171
173
|
}
|
172
174
|
exports.default = DateTimeComponent;
|
@@ -6,36 +6,87 @@ declare const _default: ({
|
|
6
6
|
persistent: boolean;
|
7
7
|
weight: number;
|
8
8
|
tooltip: string;
|
9
|
+
applyMaskOn?: undefined;
|
10
|
+
logic?: undefined;
|
9
11
|
skipMerge?: undefined;
|
10
|
-
|
12
|
+
tableView?: undefined;
|
13
|
+
validateWhenHidden?: undefined;
|
11
14
|
enableTime?: undefined;
|
12
15
|
} | {
|
16
|
+
label: string;
|
17
|
+
tooltip: string;
|
18
|
+
applyMaskOn: string;
|
19
|
+
key: string;
|
20
|
+
logic: ({
|
21
|
+
name: string;
|
22
|
+
trigger: {
|
23
|
+
type: string;
|
24
|
+
javascript: string;
|
25
|
+
event?: undefined;
|
26
|
+
};
|
27
|
+
actions: {
|
28
|
+
name: string;
|
29
|
+
type: string;
|
30
|
+
schemaDefinition: string;
|
31
|
+
}[];
|
32
|
+
} | {
|
33
|
+
name: string;
|
34
|
+
trigger: {
|
35
|
+
type: string;
|
36
|
+
event: string;
|
37
|
+
javascript?: undefined;
|
38
|
+
};
|
39
|
+
actions: {
|
40
|
+
name: string;
|
41
|
+
type: string;
|
42
|
+
customAction: string;
|
43
|
+
}[];
|
44
|
+
})[];
|
13
45
|
type: string;
|
14
46
|
input: boolean;
|
15
|
-
key: string;
|
16
|
-
label: string;
|
17
47
|
skipMerge: boolean;
|
18
48
|
weight: number;
|
19
|
-
tooltip: string;
|
20
|
-
customConditional({ data, component }: {
|
21
|
-
data: any;
|
22
|
-
component: any;
|
23
|
-
}): boolean;
|
24
49
|
persistent?: undefined;
|
50
|
+
tableView?: undefined;
|
51
|
+
validateWhenHidden?: undefined;
|
25
52
|
enableTime?: undefined;
|
26
53
|
} | {
|
54
|
+
label: string;
|
55
|
+
tooltip: string;
|
56
|
+
applyMaskOn: string;
|
57
|
+
tableView: boolean;
|
58
|
+
validateWhenHidden: boolean;
|
59
|
+
key: string;
|
60
|
+
logic: ({
|
61
|
+
name: string;
|
62
|
+
trigger: {
|
63
|
+
type: string;
|
64
|
+
javascript: string;
|
65
|
+
event?: undefined;
|
66
|
+
};
|
67
|
+
actions: {
|
68
|
+
name: string;
|
69
|
+
type: string;
|
70
|
+
schemaDefinition: string;
|
71
|
+
}[];
|
72
|
+
} | {
|
73
|
+
name: string;
|
74
|
+
trigger: {
|
75
|
+
type: string;
|
76
|
+
event: string;
|
77
|
+
javascript?: undefined;
|
78
|
+
};
|
79
|
+
actions: {
|
80
|
+
name: string;
|
81
|
+
type: string;
|
82
|
+
customAction: string;
|
83
|
+
}[];
|
84
|
+
})[];
|
27
85
|
type: string;
|
28
86
|
input: boolean;
|
29
87
|
enableTime: boolean;
|
30
|
-
key: string;
|
31
88
|
skipMerge: boolean;
|
32
|
-
label: string;
|
33
89
|
weight: number;
|
34
|
-
tooltip: string;
|
35
|
-
customConditional({ data, component }: {
|
36
|
-
data: any;
|
37
|
-
component: any;
|
38
|
-
}): any;
|
39
90
|
persistent?: undefined;
|
40
91
|
})[];
|
41
92
|
export default _default;
|
@@ -11,35 +11,44 @@ exports.default = [
|
|
11
11
|
tooltip: 'Enables to use input for moment functions instead of calendar.'
|
12
12
|
},
|
13
13
|
{
|
14
|
-
|
15
|
-
|
14
|
+
label: 'Minimum Date',
|
15
|
+
tooltip: "The minimum date that can be picked. You can also use Moment.js functions. For example: moment().subtract(10, 'days')",
|
16
|
+
applyMaskOn: 'change',
|
16
17
|
key: 'datePicker.minDate',
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
18
|
+
logic: [
|
19
|
+
{
|
20
|
+
name: 'check input mode',
|
21
|
+
trigger: {
|
22
|
+
type: 'javascript',
|
23
|
+
javascript: "if (component.datePicker && component.datePicker.minDate && component.datePicker.minDate.indexOf('moment') !== -1) {\r\n result = false;\r\n}\r\nelse {\r\n result = !data.enableMinDateInput;\r\n}",
|
24
|
+
},
|
25
|
+
actions: [
|
26
|
+
{
|
27
|
+
name: 'change component',
|
28
|
+
type: 'mergeComponentSchema',
|
29
|
+
schemaDefinition: "schema = {\n type: 'datetime',\n label: 'Use calendar to set minDate',\n enableDate: true,\n enableTime: true,\n tooltip: 'Enables to use calendar to set date.',\n widget: {\n type: 'calendar',\n displayInTimezone: 'viewer',\n locale: 'en',\n useLocaleSettings: false,\n allowInput: true,\n mode: 'single',\n enableTime: true,\n noCalendar: false,\n format: 'yyyy-MM-dd hh:mm a',\n hourIncrement: 1,\n minuteIncrement: 1,\n time_24hr: false,\n disableWeekends: false,\n disableWeekdays: false,\n maxDate: null,\n },\n};",
|
30
|
+
},
|
31
|
+
],
|
32
|
+
},
|
33
|
+
{
|
34
|
+
name: 'clear value',
|
35
|
+
trigger: {
|
36
|
+
type: 'event',
|
37
|
+
event: 'componentChange',
|
38
|
+
},
|
39
|
+
actions: [
|
40
|
+
{
|
41
|
+
name: 'reset value',
|
42
|
+
type: 'customAction',
|
43
|
+
customAction: "var isDateInput = instance.component?.type === 'datetime';\nvar enableInput = data.enableMinDateInput;\nvar allowReset = result[0].component && result[0].component.key === 'enableMinDateInput' && !result[0].flags?.fromSubmission;\nif(((enableInput && isDateInput) || (!enableInput && !isDateInput)) && allowReset) {\n instance.resetValue()\n}\n",
|
44
|
+
},
|
45
|
+
],
|
46
|
+
},
|
47
|
+
],
|
29
48
|
type: 'textfield',
|
30
49
|
input: true,
|
31
|
-
enableTime: false,
|
32
|
-
key: 'datePicker.minDate',
|
33
50
|
skipMerge: true,
|
34
|
-
label: 'Minimum Date',
|
35
51
|
weight: 10,
|
36
|
-
tooltip: 'The minimum date that can be picked. You can also use Moment.js functions. For example: \n \n moment().subtract(10, \'days\')',
|
37
|
-
customConditional({ data, component }) {
|
38
|
-
if (component.datePicker && component.datePicker.minDate && component.datePicker.minDate.indexOf('moment') !== -1) {
|
39
|
-
return true;
|
40
|
-
}
|
41
|
-
return data.enableMinDateInput;
|
42
|
-
},
|
43
52
|
},
|
44
53
|
{
|
45
54
|
type: 'checkbox',
|
@@ -51,34 +60,46 @@ exports.default = [
|
|
51
60
|
tooltip: 'Enables to use input for moment functions instead of calendar.'
|
52
61
|
},
|
53
62
|
{
|
54
|
-
|
55
|
-
|
63
|
+
label: 'Maximum Date',
|
64
|
+
tooltip: "The maximum date that can be picked. You can also use Moment.js functions. For example: moment().add(10, 'days')",
|
65
|
+
applyMaskOn: 'change',
|
66
|
+
tableView: true,
|
67
|
+
validateWhenHidden: false,
|
56
68
|
key: 'datePicker.maxDate',
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
+
logic: [
|
70
|
+
{
|
71
|
+
name: 'check input mode',
|
72
|
+
trigger: {
|
73
|
+
type: 'javascript',
|
74
|
+
javascript: "if (component.datePicker && component.datePicker.maxDate && component.datePicker.maxDate.indexOf('moment') !== -1) {\r\n result = false;\r\n}\r\nelse {\r\n result = !data.enableMaxDateInput;\r\n}",
|
75
|
+
},
|
76
|
+
actions: [
|
77
|
+
{
|
78
|
+
name: 'change component',
|
79
|
+
type: 'mergeComponentSchema',
|
80
|
+
schemaDefinition: "schema = {\n type: 'datetime',\n label: 'Use calendar to set maxDate',\n enableDate: true,\n enableTime: true,\n tooltip: 'Enables to use calendar to set date.',\n widget: {\n type: 'calendar',\n displayInTimezone: 'viewer',\n locale: 'en',\n useLocaleSettings: false,\n allowInput: true,\n mode: 'single',\n enableTime: true,\n noCalendar: false,\n format: 'yyyy-MM-dd hh:mm a',\n hourIncrement: 1,\n minuteIncrement: 1,\n time_24hr: false,\n disableWeekends: false,\n disableWeekdays: false,\n maxDate: null,\n },\n};",
|
81
|
+
},
|
82
|
+
],
|
83
|
+
},
|
84
|
+
{
|
85
|
+
name: 'clear value',
|
86
|
+
trigger: {
|
87
|
+
type: 'event',
|
88
|
+
event: 'componentChange',
|
89
|
+
},
|
90
|
+
actions: [
|
91
|
+
{
|
92
|
+
name: 'reset value',
|
93
|
+
type: 'customAction',
|
94
|
+
customAction: "var isDateInput = instance.component?.type === 'datetime';\nvar enableInput = data.enableMaxDateInput;\nvar allowReset = result[0].component && result[0].component.key === 'enableMaxDateInput' && !result[0].flags?.fromSubmission;\nif(((enableInput && isDateInput) || (!enableInput && !isDateInput)) && allowReset) {\n instance.resetValue()\n}\n",
|
95
|
+
},
|
96
|
+
],
|
97
|
+
},
|
98
|
+
],
|
69
99
|
type: 'textfield',
|
70
100
|
input: true,
|
71
101
|
enableTime: false,
|
72
|
-
key: 'datePicker.maxDate',
|
73
102
|
skipMerge: true,
|
74
|
-
label: 'Maximum Date',
|
75
|
-
tooltip: 'The maximum date that can be picked. You can also use Moment.js functions. For example: \n \n moment().add(10, \'days\')',
|
76
103
|
weight: 20,
|
77
|
-
customConditional({ data, component }) {
|
78
|
-
if (component.datePicker && component.datePicker.maxDate && component.datePicker.maxDate.indexOf('moment') !== -1) {
|
79
|
-
return true;
|
80
|
-
}
|
81
|
-
return data.enableMaxDateInput;
|
82
|
-
},
|
83
104
|
}
|
84
105
|
];
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const lodash_1 = __importDefault(require("lodash"));
|
7
7
|
const moment_1 = __importDefault(require("moment"));
|
8
8
|
const Field_1 = __importDefault(require("../_classes/field/Field"));
|
9
|
-
const utils_1 = require("../../utils
|
9
|
+
const utils_1 = require("../../utils");
|
10
10
|
const core_1 = require("@formio/core");
|
11
11
|
class DayComponent extends Field_1.default {
|
12
12
|
static schema(...extend) {
|
@@ -53,7 +53,7 @@ class DayComponent extends Field_1.default {
|
|
53
53
|
return (0, utils_1.getComponentSavedTypes)(schema) || [utils_1.componentValueTypes.string];
|
54
54
|
}
|
55
55
|
constructor(component, options, data) {
|
56
|
-
if (!options.inFormBuilder && !options.building) {
|
56
|
+
if (options && !options.inFormBuilder && !options.building) {
|
57
57
|
if (component.maxDate && component.maxDate.indexOf('moment(') === -1) {
|
58
58
|
component.maxDate = (0, moment_1.default)(component.maxDate, 'YYYY-MM-DD').toISOString();
|
59
59
|
}
|
@@ -9,7 +9,7 @@ const components_1 = require("@formio/bootstrap/components");
|
|
9
9
|
const NestedArrayComponent_1 = __importDefault(require("../_classes/nestedarray/NestedArrayComponent"));
|
10
10
|
const Component_1 = __importDefault(require("../_classes/component/Component"));
|
11
11
|
const Alert_1 = __importDefault(require("../alert/Alert"));
|
12
|
-
const utils_1 = require("../../utils
|
12
|
+
const utils_1 = require("../../utils");
|
13
13
|
const EditRowState = {
|
14
14
|
New: 'new',
|
15
15
|
Editing: 'editing',
|
@@ -553,14 +553,6 @@ class EditGridComponent extends NestedArrayComponent_1.default {
|
|
553
553
|
}
|
554
554
|
});
|
555
555
|
}
|
556
|
-
restoreComponentsContext() {
|
557
|
-
this.getComponents().forEach((component) => {
|
558
|
-
var _a;
|
559
|
-
const rowData = this.dataValue[component.rowIndex];
|
560
|
-
const editRowData = (_a = this.editRows[component.rowIndex]) === null || _a === void 0 ? void 0 : _a.data;
|
561
|
-
component.data = rowData || editRowData;
|
562
|
-
});
|
563
|
-
}
|
564
556
|
flattenComponents(rowIndex) {
|
565
557
|
const result = {};
|
566
558
|
this.everyComponent((component) => {
|
@@ -1115,7 +1107,9 @@ class EditGridComponent extends NestedArrayComponent_1.default {
|
|
1115
1107
|
errors.push(...this._errors);
|
1116
1108
|
return false;
|
1117
1109
|
}
|
1118
|
-
|
1110
|
+
// TODO: this is the only place invalidMessage gets called, and it's not clear why it's needed - we already validate the editGrid
|
1111
|
+
// component above with super.checkComponentValidity
|
1112
|
+
const message = this.invalid || this.invalidMessage(data, dirty, false, row, options);
|
1119
1113
|
if (allRowErrors.length && ((_b = this.root) === null || _b === void 0 ? void 0 : _b.submitted) && !message) {
|
1120
1114
|
this._errors = this.setCustomValidity(message, dirty);
|
1121
1115
|
errors.push(...this._errors);
|
@@ -1159,9 +1153,6 @@ class EditGridComponent extends NestedArrayComponent_1.default {
|
|
1159
1153
|
}
|
1160
1154
|
}
|
1161
1155
|
const changed = this.hasChanged(value, this.dataValue);
|
1162
|
-
if (this.parent) {
|
1163
|
-
this.parent.checkComponentConditions();
|
1164
|
-
}
|
1165
1156
|
this.dataValue = value;
|
1166
1157
|
// Refresh editRow data when data changes.
|
1167
1158
|
this.dataValue.forEach((row, rowIndex) => {
|
@@ -1192,7 +1183,6 @@ class EditGridComponent extends NestedArrayComponent_1.default {
|
|
1192
1183
|
this.editRows = this.editRows.slice(0, dataLength);
|
1193
1184
|
this.openWhenEmpty();
|
1194
1185
|
this.updateOnChange(flags, changed);
|
1195
|
-
this.checkData();
|
1196
1186
|
this.changeState(changed, flags);
|
1197
1187
|
return changed;
|
1198
1188
|
}
|
@@ -9,6 +9,18 @@ exports.default = [
|
|
9
9
|
key: 'allowMultipleMasks',
|
10
10
|
ignore: true,
|
11
11
|
},
|
12
|
+
{
|
13
|
+
key: 'inputMasks',
|
14
|
+
ignore: true
|
15
|
+
},
|
16
|
+
{
|
17
|
+
key: 'widget.type',
|
18
|
+
ignore: true
|
19
|
+
},
|
20
|
+
{
|
21
|
+
key: 'widget',
|
22
|
+
ignore: true
|
23
|
+
},
|
12
24
|
{
|
13
25
|
key: 'showWordCount',
|
14
26
|
ignore: true
|
@@ -13,7 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
13
13
|
};
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
15
15
|
const Field_1 = __importDefault(require("../_classes/field/Field"));
|
16
|
-
const utils_1 = require("../../utils
|
16
|
+
const utils_1 = require("../../utils");
|
17
17
|
const downloadjs_1 = __importDefault(require("downloadjs"));
|
18
18
|
const lodash_1 = __importDefault(require("lodash"));
|
19
19
|
const fileProcessor_1 = __importDefault(require("../../providers/processor/fileProcessor"));
|
@@ -907,7 +907,9 @@ class FileComponent extends Field_1.default {
|
|
907
907
|
return __awaiter(this, void 0, void 0, function* () {
|
908
908
|
return yield this.fileService.uploadFile(fileToSync.storage, fileToSync.file, fileToSync.name, fileToSync.dir,
|
909
909
|
// Progress callback
|
910
|
-
this.updateProgress.bind(this, fileToSync), fileToSync.url, fileToSync.options, fileToSync.fileKey, fileToSync.groupPermissions, fileToSync.groupResourceId, () => {
|
910
|
+
this.updateProgress.bind(this, fileToSync), fileToSync.url, fileToSync.options, fileToSync.fileKey, fileToSync.groupPermissions, fileToSync.groupResourceId, () => {
|
911
|
+
this.emit('fileUploadingStart');
|
912
|
+
},
|
911
913
|
// Abort upload callback
|
912
914
|
(abort) => this.abortUploads.push({
|
913
915
|
id: fileToSync.id,
|
@@ -934,6 +936,7 @@ class FileComponent extends Field_1.default {
|
|
934
936
|
fileToSync.message = this.t('succefullyUploaded');
|
935
937
|
fileInfo.originalName = fileToSync.originalName;
|
936
938
|
fileInfo.hash = fileToSync.hash;
|
939
|
+
this.emit('fileUploadingEnd');
|
937
940
|
}
|
938
941
|
catch (response) {
|
939
942
|
fileToSync.status = 'error';
|
@@ -943,6 +946,7 @@ class FileComponent extends Field_1.default {
|
|
943
946
|
: response.type === 'abort'
|
944
947
|
? this.t('Request was aborted')
|
945
948
|
: response.toString();
|
949
|
+
this.emit('fileUploadingEnd');
|
946
950
|
this.emit('fileUploadError', {
|
947
951
|
fileToSync,
|
948
952
|
response,
|
@@ -16,6 +16,7 @@ declare const _default: ({
|
|
16
16
|
components?: undefined;
|
17
17
|
rows?: undefined;
|
18
18
|
editor?: undefined;
|
19
|
+
as?: undefined;
|
19
20
|
optionsLabelPosition?: undefined;
|
20
21
|
inline?: undefined;
|
21
22
|
defaultValue?: undefined;
|
@@ -45,6 +46,7 @@ declare const _default: ({
|
|
45
46
|
components?: undefined;
|
46
47
|
rows?: undefined;
|
47
48
|
editor?: undefined;
|
49
|
+
as?: undefined;
|
48
50
|
optionsLabelPosition?: undefined;
|
49
51
|
inline?: undefined;
|
50
52
|
defaultValue?: undefined;
|
@@ -91,6 +93,7 @@ declare const _default: ({
|
|
91
93
|
data?: undefined;
|
92
94
|
rows?: undefined;
|
93
95
|
editor?: undefined;
|
96
|
+
as?: undefined;
|
94
97
|
optionsLabelPosition?: undefined;
|
95
98
|
inline?: undefined;
|
96
99
|
defaultValue?: undefined;
|
@@ -120,6 +123,7 @@ declare const _default: ({
|
|
120
123
|
components?: undefined;
|
121
124
|
rows?: undefined;
|
122
125
|
editor?: undefined;
|
126
|
+
as?: undefined;
|
123
127
|
optionsLabelPosition?: undefined;
|
124
128
|
inline?: undefined;
|
125
129
|
defaultValue?: undefined;
|
@@ -149,6 +153,7 @@ declare const _default: ({
|
|
149
153
|
components?: undefined;
|
150
154
|
rows?: undefined;
|
151
155
|
editor?: undefined;
|
156
|
+
as?: undefined;
|
152
157
|
optionsLabelPosition?: undefined;
|
153
158
|
inline?: undefined;
|
154
159
|
defaultValue?: undefined;
|
@@ -160,6 +165,7 @@ declare const _default: ({
|
|
160
165
|
tooltip: string;
|
161
166
|
rows: number;
|
162
167
|
editor: string;
|
168
|
+
as: string;
|
163
169
|
input: boolean;
|
164
170
|
weight: number;
|
165
171
|
placeholder: string;
|
@@ -207,6 +213,7 @@ declare const _default: ({
|
|
207
213
|
components?: undefined;
|
208
214
|
rows?: undefined;
|
209
215
|
editor?: undefined;
|
216
|
+
as?: undefined;
|
210
217
|
optionsLabelPosition?: undefined;
|
211
218
|
inline?: undefined;
|
212
219
|
defaultValue?: undefined;
|
@@ -227,6 +234,7 @@ declare const _default: ({
|
|
227
234
|
components?: undefined;
|
228
235
|
rows?: undefined;
|
229
236
|
editor?: undefined;
|
237
|
+
as?: undefined;
|
230
238
|
optionsLabelPosition?: undefined;
|
231
239
|
inline?: undefined;
|
232
240
|
defaultValue?: undefined;
|
@@ -247,6 +255,7 @@ declare const _default: ({
|
|
247
255
|
components?: undefined;
|
248
256
|
rows?: undefined;
|
249
257
|
editor?: undefined;
|
258
|
+
as?: undefined;
|
250
259
|
optionsLabelPosition?: undefined;
|
251
260
|
inline?: undefined;
|
252
261
|
defaultValue?: undefined;
|
@@ -276,6 +285,7 @@ declare const _default: ({
|
|
276
285
|
components?: undefined;
|
277
286
|
rows?: undefined;
|
278
287
|
editor?: undefined;
|
288
|
+
as?: undefined;
|
279
289
|
optionsLabelPosition?: undefined;
|
280
290
|
inline?: undefined;
|
281
291
|
defaultValue?: undefined;
|
@@ -305,6 +315,7 @@ declare const _default: ({
|
|
305
315
|
components?: undefined;
|
306
316
|
rows?: undefined;
|
307
317
|
editor?: undefined;
|
318
|
+
as?: undefined;
|
308
319
|
optionsLabelPosition?: undefined;
|
309
320
|
inline?: undefined;
|
310
321
|
defaultValue?: undefined;
|
@@ -332,6 +343,7 @@ declare const _default: ({
|
|
332
343
|
components?: undefined;
|
333
344
|
rows?: undefined;
|
334
345
|
editor?: undefined;
|
346
|
+
as?: undefined;
|
335
347
|
} | {
|
336
348
|
type: string;
|
337
349
|
input: boolean;
|
@@ -353,6 +365,7 @@ declare const _default: ({
|
|
353
365
|
tableView?: undefined;
|
354
366
|
rows?: undefined;
|
355
367
|
editor?: undefined;
|
368
|
+
as?: undefined;
|
356
369
|
optionsLabelPosition?: undefined;
|
357
370
|
inline?: undefined;
|
358
371
|
defaultValue?: undefined;
|