@formio/js 5.0.0-dev.5586.9e84922 → 5.0.0-dev.5589.fd575d0

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.
Files changed (55) hide show
  1. package/Changelog.md +8 -0
  2. package/dist/formio.form.js +18 -8
  3. package/dist/formio.form.min.js +1 -1
  4. package/dist/formio.form.min.js.LICENSE.txt +2 -0
  5. package/dist/formio.full.js +20 -10
  6. package/dist/formio.full.min.js +1 -1
  7. package/dist/formio.full.min.js.LICENSE.txt +2 -0
  8. package/dist/formio.utils.js +13 -3
  9. package/dist/formio.utils.min.js +1 -1
  10. package/dist/formio.utils.min.js.LICENSE.txt +2 -0
  11. package/lib/cjs/Webform.js +1 -1
  12. package/lib/cjs/WebformBuilder.js +1 -6
  13. package/lib/cjs/components/_classes/component/Component.d.ts +5 -3
  14. package/lib/cjs/components/_classes/component/Component.js +3 -4
  15. package/lib/cjs/components/form/Form.js +5 -1
  16. package/lib/cjs/components/form/fixtures/comp7.d.ts +36 -0
  17. package/lib/cjs/components/form/fixtures/comp7.js +37 -0
  18. package/lib/cjs/components/form/fixtures/comp8.d.ts +26 -0
  19. package/lib/cjs/components/form/fixtures/comp8.js +29 -0
  20. package/lib/cjs/components/form/fixtures/index.d.ts +3 -1
  21. package/lib/cjs/components/form/fixtures/index.js +5 -1
  22. package/lib/cjs/components/recaptcha/editForm/ReCaptcha.edit.display.d.ts +5 -0
  23. package/lib/cjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +3 -0
  24. package/lib/cjs/components/select/Select.js +2 -1
  25. package/lib/cjs/components/select/fixtures/comp23.d.ts +47 -0
  26. package/lib/cjs/components/select/fixtures/comp23.js +40 -0
  27. package/lib/cjs/components/select/fixtures/index.d.ts +2 -1
  28. package/lib/cjs/components/select/fixtures/index.js +3 -1
  29. package/lib/cjs/translations/en.d.ts +1 -0
  30. package/lib/cjs/translations/en.js +1 -0
  31. package/lib/cjs/utils/utils.d.ts +6 -0
  32. package/lib/cjs/utils/utils.js +16 -2
  33. package/lib/mjs/Webform.js +1 -1
  34. package/lib/mjs/WebformBuilder.js +1 -5
  35. package/lib/mjs/components/_classes/component/Component.d.ts +5 -3
  36. package/lib/mjs/components/_classes/component/Component.js +4 -5
  37. package/lib/mjs/components/form/Form.js +5 -1
  38. package/lib/mjs/components/form/fixtures/comp7.d.ts +36 -0
  39. package/lib/mjs/components/form/fixtures/comp7.js +35 -0
  40. package/lib/mjs/components/form/fixtures/comp8.d.ts +26 -0
  41. package/lib/mjs/components/form/fixtures/comp8.js +27 -0
  42. package/lib/mjs/components/form/fixtures/index.d.ts +3 -1
  43. package/lib/mjs/components/form/fixtures/index.js +3 -1
  44. package/lib/mjs/components/recaptcha/editForm/ReCaptcha.edit.display.d.ts +5 -0
  45. package/lib/mjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +3 -0
  46. package/lib/mjs/components/select/Select.js +2 -1
  47. package/lib/mjs/components/select/fixtures/comp23.d.ts +47 -0
  48. package/lib/mjs/components/select/fixtures/comp23.js +38 -0
  49. package/lib/mjs/components/select/fixtures/index.d.ts +2 -1
  50. package/lib/mjs/components/select/fixtures/index.js +2 -1
  51. package/lib/mjs/translations/en.d.ts +1 -0
  52. package/lib/mjs/translations/en.js +1 -0
  53. package/lib/mjs/utils/utils.d.ts +6 -0
  54. package/lib/mjs/utils/utils.js +13 -0
  55. package/package.json +3 -3
@@ -0,0 +1,35 @@
1
+ export default {
2
+ _id: '66051dae494c977c47028fac',
3
+ title: 'test draft parent',
4
+ name: 'testDraftParent',
5
+ path: 'testdraftparent',
6
+ type: 'form',
7
+ display: 'form',
8
+ components: [
9
+ {
10
+ label: 'Parent Form Field',
11
+ tableView: true,
12
+ key: 'parent',
13
+ type: 'textfield',
14
+ input: true,
15
+ },
16
+ {
17
+ label: 'Form',
18
+ tableView: true,
19
+ src: 'http://localhost:3000/idwqwhclwioyqbw/testdraftnested',
20
+ key: 'form',
21
+ type: 'form',
22
+ input: true,
23
+ },
24
+ {
25
+ type: 'button',
26
+ label: 'Submit',
27
+ key: 'submit',
28
+ disableOnInvalid: true,
29
+ input: true,
30
+ tableView: false,
31
+ },
32
+ ],
33
+ project: '63cead09be0090345b109e22',
34
+ machineName: 'idwqwhclwioyqbw:testdraftparent'
35
+ };
@@ -0,0 +1,26 @@
1
+ declare namespace _default {
2
+ let _id: string;
3
+ let title: string;
4
+ let name: string;
5
+ let path: string;
6
+ let type: string;
7
+ let display: string;
8
+ let components: ({
9
+ label: string;
10
+ tableView: boolean;
11
+ key: string;
12
+ type: string;
13
+ input: boolean;
14
+ disableOnInvalid?: undefined;
15
+ } | {
16
+ type: string;
17
+ label: string;
18
+ key: string;
19
+ disableOnInvalid: boolean;
20
+ input: boolean;
21
+ tableView: boolean;
22
+ })[];
23
+ let project: string;
24
+ let machineName: string;
25
+ }
26
+ export default _default;
@@ -0,0 +1,27 @@
1
+ export default {
2
+ _id: '63e4deda12b88c4f05c125cf',
3
+ title: 'test draft nested',
4
+ name: 'testDraftNested',
5
+ path: 'testdraftnested',
6
+ type: 'form',
7
+ display: 'form',
8
+ components: [
9
+ {
10
+ label: 'Nested Form Field',
11
+ tableView: true,
12
+ key: 'nested',
13
+ type: 'textfield',
14
+ input: true,
15
+ },
16
+ {
17
+ type: 'button',
18
+ label: 'Submit',
19
+ key: 'submit',
20
+ disableOnInvalid: true,
21
+ input: true,
22
+ tableView: false,
23
+ },
24
+ ],
25
+ project: '63cead09be0090345b109e22',
26
+ machineName: 'idwqwhclwioyqbw:testdraftparent'
27
+ };
@@ -5,4 +5,6 @@ import comp3 from './comp3';
5
5
  import comp4 from './comp4';
6
6
  import comp5 from './comp5';
7
7
  import comp6 from './comp6';
8
- export { formModalEdit, comp1, comp2, comp3, comp4, comp5, comp6 };
8
+ import comp7 from './comp7';
9
+ import comp8 from './comp8';
10
+ export { formModalEdit, comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8 };
@@ -5,4 +5,6 @@ import comp3 from './comp3';
5
5
  import comp4 from './comp4';
6
6
  import comp5 from './comp5';
7
7
  import comp6 from './comp6';
8
- export { formModalEdit, comp1, comp2, comp3, comp4, comp5, comp6 };
8
+ import comp7 from './comp7';
9
+ import comp8 from './comp8';
10
+ export { formModalEdit, comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8 };
@@ -7,6 +7,9 @@ declare const _default: ({
7
7
  label: string;
8
8
  value: string;
9
9
  }[];
10
+ validate: {
11
+ required: boolean;
12
+ };
10
13
  weight: number;
11
14
  input?: undefined;
12
15
  dataSrc?: undefined;
@@ -28,6 +31,7 @@ declare const _default: ({
28
31
  custom(context: any): any[];
29
32
  };
30
33
  values?: undefined;
34
+ validate?: undefined;
31
35
  ignore?: undefined;
32
36
  } | {
33
37
  key: string;
@@ -36,6 +40,7 @@ declare const _default: ({
36
40
  tooltip?: undefined;
37
41
  type?: undefined;
38
42
  values?: undefined;
43
+ validate?: undefined;
39
44
  weight?: undefined;
40
45
  input?: undefined;
41
46
  dataSrc?: undefined;
@@ -15,6 +15,9 @@ export default [
15
15
  value: 'buttonClick'
16
16
  }
17
17
  ],
18
+ validate: {
19
+ required: true
20
+ },
18
21
  weight: 650
19
22
  },
20
23
  {
@@ -226,9 +226,10 @@ export default class SelectComponent extends ListComponent {
226
226
  }
227
227
  selectValueAndLabel(data) {
228
228
  const value = this.getOptionValue((this.isEntireObjectDisplay() && !this.itemValue(data)) ? data : this.itemValue(data));
229
+ const readOnlyResourceLabelData = this.options.readOnly && (this.component.dataSrc === 'resource' || this.component.dataSrc === 'url') && this.selectData;
229
230
  return {
230
231
  value,
231
- label: this.itemTemplate((this.isEntireObjectDisplay() && !_.isObject(data.data)) ? { data: data } : data, value)
232
+ label: this.itemTemplate((this.isEntireObjectDisplay() && !_.isObject(data.data)) ? { data: data } : readOnlyResourceLabelData || data, value)
232
233
  };
233
234
  }
234
235
  itemTemplate(data, value) {
@@ -0,0 +1,47 @@
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
+ resource: string;
14
+ };
15
+ template: string;
16
+ validate: {
17
+ select: boolean;
18
+ };
19
+ key: string;
20
+ type: string;
21
+ searchField: string;
22
+ input: boolean;
23
+ noRefreshOnScroll: boolean;
24
+ addResource: boolean;
25
+ reference: boolean;
26
+ valueProperty: string;
27
+ disableOnInvalid?: undefined;
28
+ } | {
29
+ type: string;
30
+ label: string;
31
+ key: string;
32
+ disableOnInvalid: boolean;
33
+ input: boolean;
34
+ tableView: boolean;
35
+ widget?: undefined;
36
+ dataSrc?: undefined;
37
+ data?: undefined;
38
+ template?: undefined;
39
+ validate?: undefined;
40
+ searchField?: undefined;
41
+ noRefreshOnScroll?: undefined;
42
+ addResource?: undefined;
43
+ reference?: undefined;
44
+ valueProperty?: undefined;
45
+ })[];
46
+ }
47
+ export default _default;
@@ -0,0 +1,38 @@
1
+ export default {
2
+ title: 'FIO-8234',
3
+ name: 'fio8234',
4
+ path: 'fio8234',
5
+ type: 'form',
6
+ display: 'form',
7
+ components: [
8
+ {
9
+ label: 'Select',
10
+ widget: 'choicesjs',
11
+ tableView: true,
12
+ dataSrc: 'resource',
13
+ data: {
14
+ resource: '665446284c9b0163c3e0c7e6',
15
+ },
16
+ template: '<span>{{ item.data.textField1 }}</span>',
17
+ validate: {
18
+ select: false,
19
+ },
20
+ key: 'select',
21
+ type: 'select',
22
+ searchField: 'data.textField2__regex',
23
+ input: true,
24
+ noRefreshOnScroll: false,
25
+ addResource: false,
26
+ reference: false,
27
+ valueProperty: 'data.textField2',
28
+ },
29
+ {
30
+ type: 'button',
31
+ label: 'Submit',
32
+ key: 'submit',
33
+ disableOnInvalid: true,
34
+ input: true,
35
+ tableView: false,
36
+ },
37
+ ],
38
+ };
@@ -19,5 +19,6 @@ 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
+ import comp23 from './comp23';
23
+ export { comp1, comp2, comp4, comp5, comp6, comp7, comp8, comp9, comp10, comp11, comp12, comp13, comp14, comp15, comp16, comp17, comp18, comp19, comp20, comp21, comp22, comp23 };
23
24
  export { multiSelect, multiSelectOptions } from "./comp3";
@@ -20,4 +20,5 @@ 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 };
23
+ import comp23 from './comp23';
24
+ export { comp1, comp2, comp4, comp5, comp6, comp7, comp8, comp9, comp10, comp11, comp12, comp13, comp14, comp15, comp16, comp17, comp18, comp19, comp20, comp21, comp22, comp23 };
@@ -71,5 +71,6 @@ declare namespace _default {
71
71
  let submitButtonAriaLabel: string;
72
72
  let reCaptchaTokenValidationError: string;
73
73
  let reCaptchaTokenNotSpecifiedError: string;
74
+ let apiKey: string;
74
75
  }
75
76
  export default _default;
@@ -71,4 +71,5 @@ export default {
71
71
  submitButtonAriaLabel: 'Submit Form button. Click to submit the form',
72
72
  reCaptchaTokenValidationError: 'ReCAPTCHA: Token validation error',
73
73
  reCaptchaTokenNotSpecifiedError: 'ReCAPTCHA: Token is not specified in submission',
74
+ apiKey: 'API Key is not unique: {{key}}'
74
75
  };
@@ -27,6 +27,12 @@ export function getElementRect(element: any): {
27
27
  width: string;
28
28
  height: string;
29
29
  };
30
+ /**
31
+ * Get non HTMLElement property in the window object
32
+ * @param {String} property
33
+ * @return {any || undefined}
34
+ */
35
+ export function getScriptPlugin(property: string): any;
30
36
  /**
31
37
  * Determines the boolean value of a setting.
32
38
  *
@@ -131,6 +131,19 @@ export function getElementRect(element) {
131
131
  height: getPropertyValue(style, 'height')
132
132
  };
133
133
  }
134
+ /**
135
+ * Get non HTMLElement property in the window object
136
+ * @param {String} property
137
+ * @return {any || undefined}
138
+ */
139
+ export function getScriptPlugin(property) {
140
+ const obj = window[property];
141
+ if (typeof HTMLElement === 'object' ? obj instanceof HTMLElement : //DOM2
142
+ obj && typeof obj === 'object' && true && obj.nodeType === 1 && typeof obj.nodeName === 'string') {
143
+ return undefined;
144
+ }
145
+ return obj;
146
+ }
134
147
  /**
135
148
  * Determines the boolean value of a setting.
136
149
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formio/js",
3
- "version": "5.0.0-dev.5586.9e84922",
3
+ "version": "5.0.0-dev.5589.fd575d0",
4
4
  "description": "JavaScript powered Forms with JSON Form Builder",
5
5
  "main": "lib/cjs/index.js",
6
6
  "exports": {
@@ -89,7 +89,7 @@
89
89
  "core-js": "^3.37.0",
90
90
  "dialog-polyfill": "^0.5.6",
91
91
  "dom-autoscroller": "^2.3.4",
92
- "dompurify": "^3.1.0",
92
+ "dompurify": "^3.1.1",
93
93
  "downloadjs": "^1.4.7",
94
94
  "dragula": "^3.7.3",
95
95
  "eventemitter3": "^5.0.1",
@@ -105,7 +105,7 @@
105
105
  "lodash": "^4.17.21",
106
106
  "moment": "^2.29.4",
107
107
  "moment-timezone": "^0.5.44",
108
- "quill": "^2.0.0-rc.4",
108
+ "quill": "^2.0.0",
109
109
  "signature_pad": "^4.2.0",
110
110
  "string-hash": "^1.1.3",
111
111
  "tippy.js": "^6.3.7",