@formio/js 5.1.0-rc.29 → 5.1.0-rc.30

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.
@@ -20,7 +20,7 @@
20
20
 
21
21
  /*! @license DOMPurify 3.2.4 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.4/LICENSE */
22
22
 
23
- /*! formiojs v5.1.0-rc.29 | https://unpkg.com/formiojs@5.1.0-rc.29/LICENSE.txt */
23
+ /*! formiojs v5.1.0-rc.30 | https://unpkg.com/formiojs@5.1.0-rc.30/LICENSE.txt */
24
24
 
25
25
  /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
26
26
 
@@ -20,7 +20,7 @@
20
20
 
21
21
  /*! @license DOMPurify 3.2.4 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.4/LICENSE */
22
22
 
23
- /*! formiojs v5.1.0-rc.29 | https://unpkg.com/formiojs@5.1.0-rc.29/LICENSE.txt */
23
+ /*! formiojs v5.1.0-rc.30 | https://unpkg.com/formiojs@5.1.0-rc.30/LICENSE.txt */
24
24
 
25
25
  /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
26
26
 
package/lib/cjs/Embed.js CHANGED
@@ -418,7 +418,7 @@ Formio.formioReady = new Promise((ready, reject) => {
418
418
  _a._formioReady = ready;
419
419
  _a._formioReadyReject = reject;
420
420
  });
421
- Formio.version = '5.1.0-rc.29';
421
+ Formio.version = '5.1.0-rc.30';
422
422
  // Create a report.
423
423
  Formio.Report = {
424
424
  create: (element, submission, options = {}) => __awaiter(void 0, void 0, void 0, function* () {
package/lib/cjs/Formio.js CHANGED
@@ -11,7 +11,7 @@ const CDN_1 = __importDefault(require("./CDN"));
11
11
  const providers_1 = __importDefault(require("./providers"));
12
12
  sdk_1.Formio.cdn = new CDN_1.default();
13
13
  sdk_1.Formio.Providers = providers_1.default;
14
- sdk_1.Formio.version = '5.1.0-rc.29';
14
+ sdk_1.Formio.version = '5.1.0-rc.30';
15
15
  CDN_1.default.defaultCDN = sdk_1.Formio.version.includes('rc') ? 'https://cdn.test-form.io' : 'https://cdn.form.io';
16
16
  const isNil = (val) => val === null || val === undefined;
17
17
  sdk_1.Formio.prototype.uploadFile = function (storage, file, fileName, dir, progressCallback, url, options, fileKey, groupPermissions, groupId, uploadStartCallback, abortCallback, multipartOptions) {
@@ -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
- customConditional?: undefined;
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
- type: 'datetime',
15
- input: true,
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
- label: 'Use calendar to set minDate',
18
- skipMerge: true,
19
- weight: 10,
20
- tooltip: 'Enables to use calendar to set date.',
21
- customConditional({ data, component }) {
22
- if (component.datePicker && component.datePicker.minDate && component.datePicker.minDate.indexOf('moment') !== -1) {
23
- return false;
24
- }
25
- return !data.enableMinDateInput;
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
- type: 'datetime',
55
- input: true,
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
- skipMerge: true,
58
- label: 'Use calendar to set maxDate',
59
- weight: 20,
60
- tooltip: 'Enables to use calendar to set date.',
61
- customConditional({ data, component }) {
62
- if (component.datePicker && component.datePicker.maxDate && component.datePicker.maxDate.indexOf('moment') !== -1) {
63
- return false;
64
- }
65
- return !data.enableMaxDateInput;
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
  ];
package/lib/mjs/Embed.js CHANGED
@@ -14,7 +14,7 @@ export class Formio {
14
14
  Formio._formioReady = ready;
15
15
  Formio._formioReadyReject = reject;
16
16
  });
17
- static version = '5.1.0-rc.29';
17
+ static version = '5.1.0-rc.30';
18
18
  static setLicense(license, norecurse = false) {
19
19
  Formio.license = license;
20
20
  if (!norecurse && Formio.FormioClass) {
package/lib/mjs/Formio.js CHANGED
@@ -4,7 +4,7 @@ import CDN from './CDN';
4
4
  import Providers from './providers';
5
5
  FormioCore.cdn = new CDN();
6
6
  FormioCore.Providers = Providers;
7
- FormioCore.version = '5.1.0-rc.29';
7
+ FormioCore.version = '5.1.0-rc.30';
8
8
  CDN.defaultCDN = FormioCore.version.includes('rc') ? 'https://cdn.test-form.io' : 'https://cdn.form.io';
9
9
  const isNil = (val) => val === null || val === undefined;
10
10
  FormioCore.prototype.uploadFile = function (storage, file, fileName, dir, progressCallback, url, options, fileKey, groupPermissions, groupId, uploadStartCallback, abortCallback, multipartOptions) {
@@ -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
- customConditional?: undefined;
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;
@@ -9,35 +9,44 @@ export default [
9
9
  tooltip: 'Enables to use input for moment functions instead of calendar.'
10
10
  },
11
11
  {
12
- type: 'datetime',
13
- input: true,
12
+ label: 'Minimum Date',
13
+ tooltip: "The minimum date that can be picked. You can also use Moment.js functions. For example: moment().subtract(10, 'days')",
14
+ applyMaskOn: 'change',
14
15
  key: 'datePicker.minDate',
15
- label: 'Use calendar to set minDate',
16
- skipMerge: true,
17
- weight: 10,
18
- tooltip: 'Enables to use calendar to set date.',
19
- customConditional({ data, component }) {
20
- if (component.datePicker && component.datePicker.minDate && component.datePicker.minDate.indexOf('moment') !== -1) {
21
- return false;
22
- }
23
- return !data.enableMinDateInput;
24
- },
25
- },
26
- {
16
+ logic: [
17
+ {
18
+ name: 'check input mode',
19
+ trigger: {
20
+ type: 'javascript',
21
+ 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}",
22
+ },
23
+ actions: [
24
+ {
25
+ name: 'change component',
26
+ type: 'mergeComponentSchema',
27
+ 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};",
28
+ },
29
+ ],
30
+ },
31
+ {
32
+ name: 'clear value',
33
+ trigger: {
34
+ type: 'event',
35
+ event: 'componentChange',
36
+ },
37
+ actions: [
38
+ {
39
+ name: 'reset value',
40
+ type: 'customAction',
41
+ 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",
42
+ },
43
+ ],
44
+ },
45
+ ],
27
46
  type: 'textfield',
28
47
  input: true,
29
- enableTime: false,
30
- key: 'datePicker.minDate',
31
48
  skipMerge: true,
32
- label: 'Minimum Date',
33
49
  weight: 10,
34
- tooltip: 'The minimum date that can be picked. You can also use Moment.js functions. For example: \n \n moment().subtract(10, \'days\')',
35
- customConditional({ data, component }) {
36
- if (component.datePicker && component.datePicker.minDate && component.datePicker.minDate.indexOf('moment') !== -1) {
37
- return true;
38
- }
39
- return data.enableMinDateInput;
40
- },
41
50
  },
42
51
  {
43
52
  type: 'checkbox',
@@ -49,34 +58,46 @@ export default [
49
58
  tooltip: 'Enables to use input for moment functions instead of calendar.'
50
59
  },
51
60
  {
52
- type: 'datetime',
53
- input: true,
61
+ label: 'Maximum Date',
62
+ tooltip: "The maximum date that can be picked. You can also use Moment.js functions. For example: moment().add(10, 'days')",
63
+ applyMaskOn: 'change',
64
+ tableView: true,
65
+ validateWhenHidden: false,
54
66
  key: 'datePicker.maxDate',
55
- skipMerge: true,
56
- label: 'Use calendar to set maxDate',
57
- weight: 20,
58
- tooltip: 'Enables to use calendar to set date.',
59
- customConditional({ data, component }) {
60
- if (component.datePicker && component.datePicker.maxDate && component.datePicker.maxDate.indexOf('moment') !== -1) {
61
- return false;
62
- }
63
- return !data.enableMaxDateInput;
64
- },
65
- },
66
- {
67
+ logic: [
68
+ {
69
+ name: 'check input mode',
70
+ trigger: {
71
+ type: 'javascript',
72
+ 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}",
73
+ },
74
+ actions: [
75
+ {
76
+ name: 'change component',
77
+ type: 'mergeComponentSchema',
78
+ 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};",
79
+ },
80
+ ],
81
+ },
82
+ {
83
+ name: 'clear value',
84
+ trigger: {
85
+ type: 'event',
86
+ event: 'componentChange',
87
+ },
88
+ actions: [
89
+ {
90
+ name: 'reset value',
91
+ type: 'customAction',
92
+ 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",
93
+ },
94
+ ],
95
+ },
96
+ ],
67
97
  type: 'textfield',
68
98
  input: true,
69
99
  enableTime: false,
70
- key: 'datePicker.maxDate',
71
100
  skipMerge: true,
72
- label: 'Maximum Date',
73
- tooltip: 'The maximum date that can be picked. You can also use Moment.js functions. For example: \n \n moment().add(10, \'days\')',
74
101
  weight: 20,
75
- customConditional({ data, component }) {
76
- if (component.datePicker && component.datePicker.maxDate && component.datePicker.maxDate.indexOf('moment') !== -1) {
77
- return true;
78
- }
79
- return data.enableMaxDateInput;
80
- },
81
102
  }
82
103
  ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formio/js",
3
- "version": "5.1.0-rc.29",
3
+ "version": "5.1.0-rc.30",
4
4
  "description": "JavaScript powered Forms with JSON Form Builder",
5
5
  "main": "lib/cjs/index.js",
6
6
  "exports": {