@formio/vue 5.0.0 → 6.0.0-rc.1

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 (44) hide show
  1. package/README.md +9 -8
  2. package/dist/components/Form.js +271 -0
  3. package/dist/components/Form.js.map +1 -0
  4. package/dist/components/FormBuilder.js +144 -0
  5. package/dist/components/FormBuilder.js.map +1 -0
  6. package/dist/components/index.js +3 -0
  7. package/dist/components/index.js.map +1 -0
  8. package/dist/composables/useFormioRef.js +11 -0
  9. package/dist/composables/useFormioRef.js.map +1 -0
  10. package/dist/index.d.ts +245 -0
  11. package/dist/index.js +4 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/index.umd.cjs +2091 -0
  14. package/dist/index.umd.cjs.map +1 -0
  15. package/dist/types/index.js +2 -0
  16. package/dist/types/index.js.map +1 -0
  17. package/package.json +22 -14
  18. package/lib/components/Form.d.ts +0 -26
  19. package/lib/components/Form.js +0 -47
  20. package/lib/components/Form.js.map +0 -1
  21. package/lib/components/FormBuilder.d.ts +0 -25
  22. package/lib/components/FormBuilder.js +0 -49
  23. package/lib/components/FormBuilder.js.map +0 -1
  24. package/lib/components/index.d.ts +0 -3
  25. package/lib/components/index.js +0 -11
  26. package/lib/components/index.js.map +0 -1
  27. package/lib/composables/form/useInitializeFormio.d.ts +0 -6
  28. package/lib/composables/form/useInitializeFormio.js +0 -91
  29. package/lib/composables/form/useInitializeFormio.js.map +0 -1
  30. package/lib/composables/formBuilder/useInitializeBuilder.d.ts +0 -6
  31. package/lib/composables/formBuilder/useInitializeBuilder.js +0 -48
  32. package/lib/composables/formBuilder/useInitializeBuilder.js.map +0 -1
  33. package/lib/composables/useFormioRef.d.ts +0 -7
  34. package/lib/composables/useFormioRef.js +0 -14
  35. package/lib/composables/useFormioRef.js.map +0 -1
  36. package/lib/index.d.ts +0 -2
  37. package/lib/index.js +0 -24
  38. package/lib/index.js.map +0 -1
  39. package/lib/intefaces/form/initializeFormOptions.d.ts +0 -5
  40. package/lib/intefaces/form/initializeFormOptions.js +0 -4
  41. package/lib/intefaces/form/initializeFormOptions.js.map +0 -1
  42. package/lib/intefaces/formBuilder/initializeFormBuilderOptions.d.ts +0 -5
  43. package/lib/intefaces/formBuilder/initializeFormBuilderOptions.js +0 -4
  44. package/lib/intefaces/formBuilder/initializeFormBuilderOptions.js.map +0 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # vue-formio
1
+ # @formio/vue
2
2
 
3
- A [Vue.js](http://vue.js/) component for rendering out forms based on the [Form.io](https://www.form.io) platform.
3
+ A [Vue.js](https://vuejs.org/) component for rendering out forms based on the [Form.io](https://www.form.io) platform.
4
4
 
5
5
  ## Install
6
6
 
@@ -11,7 +11,7 @@ npm-compatible packaging system such as [Browserify](http://browserify.org/) or
11
11
  [webpack](http://webpack.github.io/).
12
12
 
13
13
  ```
14
- npm install vue-formio --save
14
+ npm install @formio/vue --save
15
15
  ```
16
16
 
17
17
  ## Basic Usage
@@ -28,7 +28,7 @@ HTML inside of Vue template file:
28
28
  Javascript inside of Vue template file.
29
29
  ```
30
30
  <script>
31
- import { Form } from 'vue-formio';
31
+ import { Form } from '@formio/vue';
32
32
  export default {
33
33
  name: 'app',
34
34
  components: { formio: Form },
@@ -41,7 +41,7 @@ Javascript inside of Vue template file.
41
41
 
42
42
  The form API source from [form.io](https://www.form.io) or your custom formio server.
43
43
 
44
- See the [Creating a form](http://help.form.io/userguide/#new-form)
44
+ See the [Creating a form](https://help.form.io/userguide/forms/form-creation#creating-a-form)
45
45
  for where to set the API Path for your form.
46
46
 
47
47
  You can also pass in the submission url as the `src` and the form will render with the data populated from the submission.
@@ -64,11 +64,11 @@ An object representing the default data for the form.
64
64
 
65
65
  ### `options`: `object`
66
66
 
67
- An object with the formio.js options that is passed through. See [Form.io Options](https://github.com/formio/formio.js/wiki/Form-Renderer#options).
67
+ An object with the formio.js options that is passed through. See [Form.io Options](https://help.form.io/developers/form-development/form-renderer#form-renderer-options).
68
68
 
69
69
  ## Events
70
70
 
71
- All events triggered from the form are available via the v-on property. See [Form.io Events](https://github.com/formio/formio.js/wiki/Form-Renderer#events) for all the available events.
71
+ All events triggered from the form are available via the v-on property. See [Form.io Events](https://help.form.io/developers/form-development/form-renderer#form-events) for all the available events.
72
72
 
73
73
  Then on the form set `<formio src="myform" v-on:submit="doSomething" />`
74
74
 
@@ -86,7 +86,7 @@ HTML inside of Vue template file:
86
86
  Javascript inside of Vue template file.
87
87
  ```
88
88
  <script>
89
- import { FormBuilder } from 'vue-formio';
89
+ import { FormBuilder } from '@formio/vue';
90
90
  export default {
91
91
  name: 'app',
92
92
  components: { FormBuilder },
@@ -114,3 +114,4 @@ All methods are available here https://help.form.io/developers/form-renderer#for
114
114
 
115
115
  ## License
116
116
  Released under the [MIT License](http://www.opensource.org/licenses/MIT).
117
+ touch
@@ -0,0 +1,271 @@
1
+ import { defineComponent, ref, onMounted, onBeforeUnmount, watch, toRaw } from 'vue';
2
+ import { EventEmitter, Form as FormClass } from '@formio/js';
3
+ import structuredClone from '@ungap/structured-clone';
4
+ import useFormioRef from '../composables/useFormioRef';
5
+ const getDefaultEmitter = () => {
6
+ return new EventEmitter({
7
+ wildcard: false,
8
+ maxListeners: 0,
9
+ });
10
+ };
11
+ const onAnyEvent = (handlers, ...args) => {
12
+ const [event, ...outputArgs] = args;
13
+ if (event.startsWith('formio.')) {
14
+ const funcName = `on${event.charAt(7).toUpperCase()}${event.slice(8)}`;
15
+ switch (funcName) {
16
+ case 'onPrevPage':
17
+ if (handlers.onPrevPage)
18
+ handlers.onPrevPage(outputArgs[0], outputArgs[1]);
19
+ break;
20
+ case 'onNextPage':
21
+ if (handlers.onNextPage)
22
+ handlers.onNextPage(outputArgs[0], outputArgs[1]);
23
+ break;
24
+ case 'onCancelSubmit':
25
+ if (handlers.onCancelSubmit)
26
+ handlers.onCancelSubmit();
27
+ break;
28
+ case 'onCancelComponent':
29
+ if (handlers.onCancelComponent)
30
+ handlers.onCancelComponent(outputArgs[0]);
31
+ break;
32
+ case 'onChange':
33
+ if (handlers.onChange)
34
+ handlers.onChange(outputArgs[0], outputArgs[1], outputArgs[2]);
35
+ break;
36
+ case 'onCustomEvent':
37
+ if (handlers.onCustomEvent)
38
+ handlers.onCustomEvent(outputArgs[0]);
39
+ break;
40
+ case 'onComponentChange':
41
+ if (handlers.onComponentChange)
42
+ handlers.onComponentChange(outputArgs[0]);
43
+ break;
44
+ case 'onSubmit':
45
+ if (handlers.onSubmit)
46
+ handlers.onSubmit(outputArgs[0], outputArgs[1]);
47
+ break;
48
+ case 'onSubmitDone':
49
+ if (handlers.onSubmitDone)
50
+ handlers.onSubmitDone(outputArgs[0]);
51
+ break;
52
+ case 'onSubmitError':
53
+ if (handlers.onSubmitError)
54
+ handlers.onSubmitError(outputArgs[0]);
55
+ break;
56
+ case 'onFormLoad':
57
+ if (handlers.onFormLoad)
58
+ handlers.onFormLoad(outputArgs[0]);
59
+ break;
60
+ case 'onError':
61
+ if (handlers.onError)
62
+ handlers.onError(outputArgs[0]);
63
+ break;
64
+ case 'onRender':
65
+ if (handlers.onRender)
66
+ handlers.onRender(outputArgs[0]);
67
+ break;
68
+ case 'onAttach':
69
+ if (handlers.onAttach)
70
+ handlers.onAttach(outputArgs[0]);
71
+ break;
72
+ case 'onBuild':
73
+ if (handlers.onBuild)
74
+ handlers.onBuild(outputArgs[0]);
75
+ break;
76
+ case 'onFocus':
77
+ if (handlers.onFocus)
78
+ handlers.onFocus(outputArgs[0]);
79
+ break;
80
+ case 'onBlur':
81
+ if (handlers.onBlur)
82
+ handlers.onBlur(outputArgs[0]);
83
+ break;
84
+ case 'onInitialized':
85
+ if (handlers.onInitialized)
86
+ handlers.onInitialized();
87
+ break;
88
+ case 'onLanguageChanged':
89
+ if (handlers.onLanguageChanged)
90
+ handlers.onLanguageChanged();
91
+ break;
92
+ case 'onBeforeSetSubmission':
93
+ if (handlers.onBeforeSetSubmission)
94
+ handlers.onBeforeSetSubmission(outputArgs[0]);
95
+ break;
96
+ case 'onSaveDraftBegin':
97
+ if (handlers.onSaveDraftBegin)
98
+ handlers.onSaveDraftBegin();
99
+ break;
100
+ case 'onSaveDraft':
101
+ if (handlers.onSaveDraft)
102
+ handlers.onSaveDraft(outputArgs[0]);
103
+ break;
104
+ case 'onRestoreDraft':
105
+ if (handlers.onRestoreDraft)
106
+ handlers.onRestoreDraft(outputArgs[0]);
107
+ break;
108
+ case 'onSubmissionDeleted':
109
+ if (handlers.onSubmissionDeleted)
110
+ handlers.onSubmissionDeleted(outputArgs[0]);
111
+ break;
112
+ case 'onRequestDone':
113
+ if (handlers.onRequestDone)
114
+ handlers.onRequestDone();
115
+ break;
116
+ default:
117
+ break;
118
+ }
119
+ }
120
+ if (handlers.otherEvents && handlers.otherEvents[event]) {
121
+ handlers.otherEvents[event](...outputArgs);
122
+ }
123
+ };
124
+ const createWebformInstance = async (FormConstructor, formSource, element, options = {}) => {
125
+ if (!options?.events) {
126
+ options.events = getDefaultEmitter();
127
+ }
128
+ if (typeof formSource !== 'string') {
129
+ formSource = structuredClone(toRaw(formSource));
130
+ }
131
+ const promise = FormConstructor
132
+ ? new FormConstructor(element, formSource, options)
133
+ : new FormClass(element, formSource, options);
134
+ const instance = await promise.ready;
135
+ return instance;
136
+ };
137
+ const getEffectiveProps = (props) => {
138
+ const { FormClass, formioform, form, src, formReady, onFormReady } = props;
139
+ const formConstructor = FormClass !== undefined ? FormClass : formioform;
140
+ const formSource = form !== undefined ? form : src;
141
+ const formReadyCallback = onFormReady !== undefined ? onFormReady : formReady;
142
+ return { formConstructor, formSource, formReadyCallback };
143
+ };
144
+ export const Form = defineComponent({
145
+ name: 'FormComponent',
146
+ props: {
147
+ className: String,
148
+ style: Object,
149
+ src: [String, Object],
150
+ url: String,
151
+ form: Object,
152
+ submission: Object,
153
+ options: Object,
154
+ formioform: Object,
155
+ FormClass: Object,
156
+ formReady: Function,
157
+ onFormReady: Function,
158
+ onPrevPage: Function,
159
+ onNextPage: Function,
160
+ onCancelSubmit: Function,
161
+ onCancelComponent: Function,
162
+ onChange: Function,
163
+ onCustomEvent: Function,
164
+ onComponentChange: Function,
165
+ onSubmit: Function,
166
+ onSubmitDone: Function,
167
+ onSubmitError: Function,
168
+ onFormLoad: Function,
169
+ onError: Function,
170
+ onRender: Function,
171
+ onAttach: Function,
172
+ onBuild: Function,
173
+ onFocus: Function,
174
+ onBlur: Function,
175
+ onInitialized: Function,
176
+ onLanguageChanged: Function,
177
+ onBeforeSetSubmission: Function,
178
+ onSaveDraftBegin: Function,
179
+ onSaveDraft: Function,
180
+ onRestoreDraft: Function,
181
+ onSubmissionDeleted: Function,
182
+ onRequestDone: Function,
183
+ otherEvents: Object,
184
+ },
185
+ setup(props, context) {
186
+ const { formioRef, render } = useFormioRef();
187
+ const formInstance = ref(null);
188
+ const instanceIsReady = ref(false);
189
+ const { src, form, submission, url, options, formioform, formReady, FormClass, style, className, ...handlers } = props;
190
+ const createInstance = async () => {
191
+ const { formConstructor, formSource, formReadyCallback } = getEffectiveProps(props);
192
+ if (formioRef.value === null) {
193
+ console.warn('Form element not found');
194
+ return;
195
+ }
196
+ if (typeof formSource === 'undefined') {
197
+ console.warn('Form source not found');
198
+ return;
199
+ }
200
+ const instance = await createWebformInstance(formConstructor, formSource, formioRef.value, props.options);
201
+ if (instance) {
202
+ if (typeof formSource === 'string') {
203
+ instance.src = formSource;
204
+ }
205
+ else if (typeof formSource === 'object') {
206
+ instance.form = formSource;
207
+ if (props.url) {
208
+ instance.url = props.url;
209
+ }
210
+ }
211
+ formReadyCallback?.(instance);
212
+ formInstance.value = instance;
213
+ instanceIsReady.value = true;
214
+ }
215
+ else {
216
+ console.warn('Failed to create form instance');
217
+ }
218
+ };
219
+ const cleanupInstance = () => {
220
+ instanceIsReady.value = false;
221
+ if (formInstance.value) {
222
+ formInstance.value.destroy(true);
223
+ }
224
+ };
225
+ onMounted(() => {
226
+ createInstance();
227
+ });
228
+ onBeforeUnmount(() => {
229
+ cleanupInstance();
230
+ });
231
+ watch(() => [
232
+ props.FormClass,
233
+ props.formioform,
234
+ props.onFormReady,
235
+ props.formReady,
236
+ props.form,
237
+ props.src,
238
+ props.options,
239
+ props.url,
240
+ ], () => {
241
+ if (instanceIsReady.value) {
242
+ cleanupInstance();
243
+ }
244
+ createInstance();
245
+ });
246
+ watch(() => [
247
+ instanceIsReady.value,
248
+ props.submission
249
+ ], () => {
250
+ if (instanceIsReady.value && formInstance.value && props.submission) {
251
+ formInstance.value.submission = props.submission;
252
+ }
253
+ });
254
+ watch(() => [
255
+ instanceIsReady.value,
256
+ handlers,
257
+ ], (newValue, oldValue, onCleanup) => {
258
+ if (instanceIsReady.value && formInstance.value && Object.keys(handlers).length > 0) {
259
+ formInstance.value.onAny((...args) => onAnyEvent(handlers, ...args));
260
+ }
261
+ onCleanup(() => {
262
+ if (instanceIsReady.value && formInstance.value && Object.keys(handlers).length > 0) {
263
+ formInstance.value.offAny((...args) => onAnyEvent(handlers, ...args));
264
+ }
265
+ });
266
+ }, { immediate: true });
267
+ context.expose({ formio: formInstance });
268
+ return render;
269
+ }
270
+ });
271
+ //# sourceMappingURL=Form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.js","sourceRoot":"","sources":["../../src/components/Form.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAyC,KAAK,EAAE,MAAM,KAAK,CAAC;AAC5H,OAAO,EAAE,YAAY,EAAE,IAAI,IAAI,SAAS,EAAW,MAAM,YAAY,CAAC;AACtE,OAAO,eAAe,MAAM,yBAAyB,CAAC;AAEtD,OAAO,YAAY,MAAM,6BAA6B,CAAC;AAEvD,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC7B,OAAO,IAAI,YAAY,CAAC;QACtB,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,CAAC;KAChB,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CACjB,QAAsB,EACtB,GAAG,IAAwB,EAC3B,EAAE;IACF,MAAM,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC;IACpC,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,YAAY;gBACf,IAAI,QAAQ,CAAC,UAAU;oBAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3E,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,QAAQ,CAAC,UAAU;oBAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3E,MAAM;YACR,KAAK,gBAAgB;gBACnB,IAAI,QAAQ,CAAC,cAAc;oBAAE,QAAQ,CAAC,cAAc,EAAE,CAAC;gBACvD,MAAM;YACR,KAAK,mBAAmB;gBACtB,IAAI,QAAQ,CAAC,iBAAiB;oBAAE,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1E,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,QAAQ,CAAC,QAAQ;oBAAE,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtF,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,QAAQ,CAAC,aAAa;oBAAE,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClE,MAAM;YACR,KAAK,mBAAmB;gBACtB,IAAI,QAAQ,CAAC,iBAAiB;oBAAE,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1E,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,QAAQ,CAAC,QAAQ;oBAAE,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvE,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,QAAQ,CAAC,YAAY;oBAAE,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChE,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,QAAQ,CAAC,aAAa;oBAAE,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClE,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,QAAQ,CAAC,UAAU;oBAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5D,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,QAAQ,CAAC,OAAO;oBAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,QAAQ,CAAC,QAAQ;oBAAE,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,QAAQ,CAAC,QAAQ;oBAAE,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,QAAQ,CAAC,OAAO;oBAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,QAAQ,CAAC,OAAO;oBAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,QAAQ,CAAC,MAAM;oBAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,QAAQ,CAAC,aAAa;oBAAE,QAAQ,CAAC,aAAa,EAAE,CAAC;gBACrD,MAAM;YACR,KAAK,mBAAmB;gBACtB,IAAI,QAAQ,CAAC,iBAAiB;oBAAE,QAAQ,CAAC,iBAAiB,EAAE,CAAC;gBAC7D,MAAM;YACR,KAAK,uBAAuB;gBAC1B,IAAI,QAAQ,CAAC,qBAAqB;oBAAE,QAAQ,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClF,MAAM;YACR,KAAK,kBAAkB;gBACrB,IAAI,QAAQ,CAAC,gBAAgB;oBAAE,QAAQ,CAAC,gBAAgB,EAAE,CAAC;gBAC3D,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,QAAQ,CAAC,WAAW;oBAAE,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9D,MAAM;YACR,KAAK,gBAAgB;gBACnB,IAAI,QAAQ,CAAC,cAAc;oBAAE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpE,MAAM;YACR,KAAK,qBAAqB;gBACxB,IAAI,QAAQ,CAAC,mBAAmB;oBAAE,QAAQ,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9E,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,QAAQ,CAAC,aAAa;oBAAE,QAAQ,CAAC,aAAa,EAAE,CAAC;gBACrD,MAAM;YACR;gBACE,MAAM;QACV,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,KAAK,EACjC,eAA4C,EAC5C,UAAsB,EACtB,OAAuB,EACvB,UAAgC,EAAE,EAClC,EAAE;IACF,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACvC,CAAC;IACD,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,OAAO,GAAG,eAAe;QAC7B,CAAC,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC;QACnD,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC;IACrC,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,KAAgB,EAAE,EAAE;IAC7C,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC3E,MAAM,eAAe,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IACzE,MAAM,UAAU,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IACnD,MAAM,iBAAiB,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,eAAe,CAAC;IAClC,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE;QACL,SAAS,EAAE,MAA0C;QACrD,KAAK,EAAE,MAAsC;QAC7C,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAA+B;QACnD,GAAG,EAAE,MAAoC;QACzC,IAAI,EAAE,MAAqC;QAC3C,UAAU,EAAE,MAA2C;QACvD,OAAO,EAAE,MAAwC;QACjD,UAAU,EAAE,MAA2C;QACvD,SAAS,EAAE,MAA0C;QACrD,SAAS,EAAE,QAA4C;QACvD,WAAW,EAAE,QAA8C;QAC3D,UAAU,EAAE,QAA6C;QACzD,UAAU,EAAE,QAA6C;QACzD,cAAc,EAAE,QAAiD;QACjE,iBAAiB,EAAE,QAAoD;QACvE,QAAQ,EAAE,QAA2C;QACrD,aAAa,EAAE,QAAgD;QAC/D,iBAAiB,EAAE,QAAoD;QACvE,QAAQ,EAAE,QAA2C;QACrD,YAAY,EAAE,QAA+C;QAC7D,aAAa,EAAE,QAAgD;QAC/D,UAAU,EAAE,QAA6C;QACzD,OAAO,EAAE,QAA0C;QACnD,QAAQ,EAAE,QAA2C;QACrD,QAAQ,EAAE,QAA2C;QACrD,OAAO,EAAE,QAA0C;QACnD,OAAO,EAAE,QAA0C;QACnD,MAAM,EAAE,QAAyC;QACjD,aAAa,EAAE,QAAgD;QAC/D,iBAAiB,EAAE,QAAoD;QACvE,qBAAqB,EAAE,QAAwD;QAC/E,gBAAgB,EAAE,QAAmD;QACrE,WAAW,EAAE,QAA8C;QAC3D,cAAc,EAAE,QAAiD;QACjE,mBAAmB,EAAE,QAAsD;QAC3E,aAAa,EAAE,QAAgD;QAC/D,WAAW,EAAE,MAA4C;KAC1D;IACD,KAAK,CAAC,KAAK,EAAE,OAAO;QAClB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,GAAG,CAAiB,IAAI,CAAC,CAAC;QAC/C,MAAM,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;QAEnC,MAAM,EACJ,GAAG,EACH,IAAI,EACJ,UAAU,EACV,GAAG,EACH,OAAO,EACP,UAAU,EACV,SAAS,EACT,SAAS,EACT,KAAK,EACL,SAAS,EACT,GAAG,QAAQ,EACZ,GAAG,KAAK,CAAC;QAEV,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;YAChC,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAEpF,IAAI,SAAS,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC7B,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBACvC,OAAO;YACT,CAAC;YACD,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,eAAe,EAAE,UAAU,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1G,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;oBACnC,QAAQ,CAAC,GAAG,GAAG,UAAU,CAAC;gBAC5B,CAAC;qBAAM,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;oBAC1C,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;oBAC3B,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;wBACd,QAAQ,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;oBAC3B,CAAC;gBACH,CAAC;gBACD,iBAAiB,EAAE,CAAC,QAAQ,CAAC,CAAC;gBAC9B,YAAY,CAAC,KAAK,GAAG,QAAQ,CAAC;gBAC9B,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,GAAG,EAAE;YAC3B,eAAe,CAAC,KAAK,GAAG,KAAK,CAAC;YAC9B,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;gBACvB,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC;QAEF,SAAS,CAAC,GAAG,EAAE;YACb,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,eAAe,CAAC,GAAG,EAAE;YACnB,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,KAAK,CACH,GAAG,EAAE,CAAC;YACJ,KAAK,CAAC,SAAS;YACf,KAAK,CAAC,UAAU;YAChB,KAAK,CAAC,WAAW;YACjB,KAAK,CAAC,SAAS;YACf,KAAK,CAAC,IAAI;YACV,KAAK,CAAC,GAAG;YACT,KAAK,CAAC,OAAO;YACb,KAAK,CAAC,GAAG;SACV,EACD,GAAG,EAAE;YACH,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC;gBAC1B,eAAe,EAAE,CAAC;YACpB,CAAC;YACD,cAAc,EAAE,CAAC;QACnB,CAAC,CACF,CAAC;QAEF,KAAK,CACH,GAAG,EAAE,CAAC;YACJ,eAAe,CAAC,KAAK;YACrB,KAAK,CAAC,UAAU;SACjB,EACD,GAAG,EAAE;YACH,IAAI,eAAe,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACpE,YAAY,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YACnD,CAAC;QACH,CAAC,CACF,CAAC;QAEF,KAAK,CACH,GAAG,EAAE,CAAC;YACJ,eAAe,CAAC,KAAK;YACrB,QAAQ;SACT,EACD,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;YAChC,IAAI,eAAe,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpF,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,IAAwB,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YAC3F,CAAC;YACD,SAAS,CAAC,GAAG,EAAE;gBACb,IAAI,eAAe,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpF,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,IAAwB,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;gBAC5F,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EACD,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;QAEF,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QAEzC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,144 @@
1
+ import { defineComponent, onMounted, onBeforeUnmount, ref, watch, toRaw } from 'vue';
2
+ import { FormBuilder as FormioFormBuilder } from '@formio/js';
3
+ import structuredClone from '@ungap/structured-clone';
4
+ import useFormioRef from '../composables/useFormioRef';
5
+ const toggleEventHandlers = (builder, handlers, shouldAttach = true) => {
6
+ const fn = shouldAttach ? 'on' : 'off';
7
+ const { onSaveComponent, onEditComponent, onUpdateComponent, onDeleteComponent, onChange, } = handlers;
8
+ builder.instance[fn]('saveComponent', (component, original, parent, path, index, isNew, originalComponentSchema) => {
9
+ onSaveComponent?.(component, original, parent, path, index, isNew, originalComponentSchema);
10
+ onChange?.(structuredClone(toRaw(builder.instance.form)));
11
+ });
12
+ builder.instance[fn]('updateComponent', (component) => {
13
+ onUpdateComponent?.(component);
14
+ onChange?.(structuredClone(toRaw(builder.instance.form)));
15
+ });
16
+ builder.instance[fn]('removeComponent', (component, parent, path, index) => {
17
+ onDeleteComponent?.(component, parent, path, index);
18
+ onChange?.(structuredClone(toRaw(builder.instance.form)));
19
+ });
20
+ builder.instance[fn]('cancelComponent', (component) => {
21
+ onUpdateComponent?.(component);
22
+ onChange?.(structuredClone(toRaw(builder.instance.form)));
23
+ });
24
+ builder.instance[fn]('editComponent', (component) => {
25
+ onEditComponent?.(component);
26
+ onChange?.(structuredClone(toRaw(builder.instance.form)));
27
+ });
28
+ builder.instance[fn]('addComponent', () => {
29
+ onChange?.(structuredClone(toRaw(builder.instance.form)));
30
+ });
31
+ builder.instance[fn]('pdfUploaded', () => {
32
+ onChange?.(structuredClone(toRaw(builder.instance.form)));
33
+ });
34
+ };
35
+ const createBuilderInstance = async (element, form = { display: 'form', components: [] }, options = {}) => {
36
+ options = Object.assign({}, options);
37
+ form = Object.assign({}, form);
38
+ const instance = new FormioFormBuilder(element, form, options);
39
+ await instance.ready;
40
+ return instance;
41
+ };
42
+ const DEFAULT_FORM = { display: 'form', components: [] };
43
+ export const FormBuilder = defineComponent({
44
+ name: 'FormBuilder',
45
+ props: {
46
+ options: Object,
47
+ initialForm: {
48
+ type: Object,
49
+ default: () => DEFAULT_FORM,
50
+ },
51
+ onBuilderReady: Function,
52
+ onChange: Function,
53
+ onSaveComponent: Function,
54
+ onEditComponent: Function,
55
+ onUpdateComponent: Function,
56
+ onDeleteComponent: Function,
57
+ },
58
+ setup(props, context) {
59
+ const { formioRef, render } = useFormioRef();
60
+ const builder = ref(null);
61
+ const instanceIsReady = ref(false);
62
+ const createInstance = async () => {
63
+ if (!formioRef.value) {
64
+ console.warn('FormBuilder render element not found, cannot render builder.');
65
+ return;
66
+ }
67
+ const instance = await createBuilderInstance(formioRef.value, structuredClone(props.initialForm), props.options);
68
+ if (instance) {
69
+ if (props.onBuilderReady) {
70
+ props.onBuilderReady(instance);
71
+ }
72
+ builder.value = instance;
73
+ instanceIsReady.value = true;
74
+ }
75
+ else {
76
+ console.warn('Failed to create FormBuilder instance');
77
+ }
78
+ };
79
+ const cleanupInstance = () => {
80
+ instanceIsReady.value = false;
81
+ if (builder.value) {
82
+ builder.value.instance.destroy(true);
83
+ }
84
+ };
85
+ watch(() => [
86
+ props.initialForm,
87
+ props.options,
88
+ props.onBuilderReady,
89
+ ], () => {
90
+ if (instanceIsReady.value) {
91
+ cleanupInstance();
92
+ }
93
+ createInstance();
94
+ });
95
+ onMounted(() => {
96
+ createInstance();
97
+ });
98
+ onBeforeUnmount(() => {
99
+ cleanupInstance();
100
+ });
101
+ watch(() => [
102
+ props.initialForm,
103
+ props.options,
104
+ props.onBuilderReady,
105
+ ], () => {
106
+ if (instanceIsReady.value) {
107
+ cleanupInstance();
108
+ }
109
+ createInstance();
110
+ });
111
+ watch(() => [
112
+ instanceIsReady.value,
113
+ props.onChange,
114
+ props.onDeleteComponent,
115
+ props.onEditComponent,
116
+ props.onSaveComponent,
117
+ props.onUpdateComponent,
118
+ ], (newValues, oldValues, onCleanup) => {
119
+ if (instanceIsReady.value && builder.value) {
120
+ toggleEventHandlers(builder.value, {
121
+ onChange: props.onChange,
122
+ onDeleteComponent: props.onDeleteComponent,
123
+ onEditComponent: props.onEditComponent,
124
+ onSaveComponent: props.onSaveComponent,
125
+ onUpdateComponent: props.onUpdateComponent,
126
+ });
127
+ }
128
+ onCleanup(() => {
129
+ if (instanceIsReady.value && builder.value) {
130
+ toggleEventHandlers(builder.value, {
131
+ onChange: props.onChange,
132
+ onDeleteComponent: props.onDeleteComponent,
133
+ onEditComponent: props.onEditComponent,
134
+ onSaveComponent: props.onSaveComponent,
135
+ onUpdateComponent: props.onUpdateComponent,
136
+ }, false);
137
+ }
138
+ });
139
+ }, { immediate: true });
140
+ context.expose({ builder });
141
+ return render;
142
+ },
143
+ });
144
+ //# sourceMappingURL=FormBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormBuilder.js","sourceRoot":"","sources":["../../src/components/FormBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './Form';
2
+ export * from './FormBuilder';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { ref, h } from 'vue';
2
+ export default function useFormioRef() {
3
+ const formioRef = ref();
4
+ const render = () => h('div', { ref: formioRef });
5
+ return {
6
+ formioRef,
7
+ render,
8
+ };
9
+ }
10
+ ;
11
+ //# sourceMappingURL=useFormioRef.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFormioRef.js","sourceRoot":"","sources":["../../src/composables/useFormioRef.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAO,CAAC,EAAE,MAAM,KAAK,CAAC;AAElC,MAAM,CAAC,OAAO,UAAU,YAAY;IAClC,MAAM,SAAS,GAAG,GAAG,EAAyB,CAAC;IAE/C,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;IAElD,OAAO;QACL,SAAS;QACT,MAAM;KACP,CAAC;AACJ,CAAC;AAAA,CAAC"}