@bigbinary/neeto-form-frontend 3.3.2 → 3.4.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 (62) hide show
  1. package/app/javascript/src/translations/en.json +4 -4
  2. package/dist/BuildForm.js +2378 -0
  3. package/dist/BuildForm.js.map +1 -0
  4. package/dist/ExternalForm.js +658 -0
  5. package/dist/ExternalForm.js.map +1 -0
  6. package/dist/NeetoFormProvider.js +11 -0
  7. package/dist/NeetoFormProvider.js.map +1 -0
  8. package/dist/Submission.js +2700 -0
  9. package/dist/Submission.js.map +1 -0
  10. package/dist/UrlBuilder.js +297 -0
  11. package/dist/UrlBuilder.js.map +1 -0
  12. package/dist/buildForm-4a5a5251.js +35 -0
  13. package/dist/buildForm-4a5a5251.js.map +1 -0
  14. package/dist/buildForm-77b32f08.js +42 -0
  15. package/dist/buildForm-77b32f08.js.map +1 -0
  16. package/dist/cjs/BuildForm.js +2437 -0
  17. package/dist/cjs/BuildForm.js.map +1 -0
  18. package/dist/cjs/ExternalForm.js +699 -0
  19. package/dist/cjs/ExternalForm.js.map +1 -0
  20. package/dist/cjs/NeetoFormProvider.js +13 -0
  21. package/dist/cjs/NeetoFormProvider.js.map +1 -0
  22. package/dist/cjs/Submission.js +2711 -0
  23. package/dist/cjs/Submission.js.map +1 -0
  24. package/dist/cjs/UrlBuilder.js +309 -0
  25. package/dist/cjs/UrlBuilder.js.map +1 -0
  26. package/dist/cjs/hooks.js +34 -0
  27. package/dist/cjs/hooks.js.map +1 -0
  28. package/dist/cjs/index.js +116 -0
  29. package/dist/cjs/index.js.map +1 -0
  30. package/dist/constants-25c02c05.js +486 -0
  31. package/dist/constants-25c02c05.js.map +1 -0
  32. package/dist/constants-8afd221a.js +455 -0
  33. package/dist/constants-8afd221a.js.map +1 -0
  34. package/dist/constants-9310a7c2.js +342 -0
  35. package/dist/constants-9310a7c2.js.map +1 -0
  36. package/dist/constants-f0f38e6f.js +378 -0
  37. package/dist/constants-f0f38e6f.js.map +1 -0
  38. package/dist/hooks.js +20 -0
  39. package/dist/hooks.js.map +1 -0
  40. package/dist/index-2664c3e7.js +39 -0
  41. package/dist/index-2664c3e7.js.map +1 -0
  42. package/dist/index-b6bb805c.js +46 -0
  43. package/dist/index-b6bb805c.js.map +1 -0
  44. package/dist/index.js +95 -9325
  45. package/dist/index.js.map +1 -1
  46. package/dist/main.css +12 -1
  47. package/dist/main.css.map +1 -1
  48. package/dist/useFormApi-ca36173e.js +492 -0
  49. package/dist/useFormApi-ca36173e.js.map +1 -0
  50. package/dist/useFormApi-d733cb8d.js +467 -0
  51. package/dist/useFormApi-d733cb8d.js.map +1 -0
  52. package/dist/useFormSubmission-866195bb.js +24 -0
  53. package/dist/useFormSubmission-866195bb.js.map +1 -0
  54. package/dist/useFormSubmission-f8866b84.js +22 -0
  55. package/dist/useFormSubmission-f8866b84.js.map +1 -0
  56. package/dist/utils-1ab9e83f.js +2158 -0
  57. package/dist/utils-1ab9e83f.js.map +1 -0
  58. package/dist/utils-38cc949e.js +2222 -0
  59. package/dist/utils-38cc949e.js.map +1 -0
  60. package/package.json +19 -7
  61. package/dist/index.cjs.js +0 -9424
  62. package/dist/index.cjs.js.map +0 -1
@@ -0,0 +1,492 @@
1
+ 'use strict';
2
+
3
+ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
4
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
6
+ var reactQuery = require('@tanstack/react-query');
7
+ var i18next = require('i18next');
8
+ var neetoCist = require('@bigbinary/neeto-cist');
9
+ var constants = require('@bigbinary/neeto-commons-frontend/constants');
10
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
11
+ var ramda = require('ramda');
12
+ var axios = require('axios');
13
+ var utils = require('@bigbinary/neeto-commons-frontend/utils');
14
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
15
+
16
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
+
18
+ var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
19
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
20
+ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
21
+ var i18next__default = /*#__PURE__*/_interopDefaultLegacy(i18next);
22
+ var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
23
+ var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
24
+
25
+ var BASE_URL = "/form";
26
+ var QUERY_KEYS = {
27
+ QUESTIONS: "neetoFormQuestions",
28
+ SUBMISSIONS: "neetoFormSubmissions",
29
+ SUBMISSION: "neetoFormSubmission",
30
+ FORMS: "neetoFormForms",
31
+ FORM: "neetoFormForm",
32
+ FORMIK: "neetoFormFormik"
33
+ };
34
+ var DIRECT_UPLOAD_URL = "/api/direct_uploads";
35
+ var FORMS_URL = "".concat(BASE_URL, "/api/v1/forms");
36
+ var FORM_URL = "".concat(FORMS_URL, "/:formId");
37
+ var QUESTIONS_URL = "".concat(FORM_URL, "/questions");
38
+ var QUESTION_URL = "".concat(QUESTIONS_URL, "/:questionId");
39
+ var PUBLIC_QUESTIONS_URL = "".concat(FORM_URL, "/public/questions");
40
+ var REORDER_QUESTIONS_URL = "".concat(QUESTIONS_URL, "/reorder");
41
+ var QUESTION_RESPONSES_URL = "".concat(FORM_URL, "/question_responses");
42
+ var PUBLIC_QUESTION_RESPONSES_URL = "".concat(FORM_URL, "/public/question_responses");
43
+ var SUBMISSIONS_URL = "".concat(FORM_URL, "/submissions");
44
+ var SUBMISSION_URL = "".concat(SUBMISSIONS_URL, "/:submissionId");
45
+ var PUBLIC_SUBMISSION_URL = "".concat(FORM_URL, "/public/submissions/:submissionId");
46
+
47
+ var getForms = function getForms(params) {
48
+ return axios__default["default"].get(FORMS_URL, {
49
+ params: params
50
+ });
51
+ };
52
+ var createForm = function createForm(payload) {
53
+ return axios__default["default"].post(FORMS_URL, payload);
54
+ };
55
+ var updateForm = function updateForm(formId, payload) {
56
+ return axios__default["default"].patch(utils.buildUrl(FORM_URL, {
57
+ formId: formId
58
+ }), payload);
59
+ };
60
+ var destroyForm = function destroyForm(formId) {
61
+ return axios__default["default"]["delete"](utils.buildUrl(FORM_URL, {
62
+ formId: formId
63
+ }));
64
+ };
65
+ var getQuestions = function getQuestions(formId) {
66
+ var language = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : i18next__default["default"].resolvedLanguage;
67
+ return axios__default["default"].get(utils.buildUrl(QUESTIONS_URL, {
68
+ formId: formId
69
+ }), {
70
+ params: {
71
+ language: language
72
+ }
73
+ });
74
+ };
75
+ var getPublicQuestions = function getPublicQuestions(formId) {
76
+ var language = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : i18next__default["default"].resolvedLanguage;
77
+ return axios__default["default"].get(utils.buildUrl(PUBLIC_QUESTIONS_URL, {
78
+ formId: formId
79
+ }), {
80
+ params: {
81
+ language: language
82
+ }
83
+ });
84
+ };
85
+ var createQuestion = function createQuestion(formId, payload) {
86
+ return axios__default["default"].post(utils.buildUrl(QUESTIONS_URL, {
87
+ formId: formId
88
+ }), payload);
89
+ };
90
+ var updateQuestion = function updateQuestion(_ref) {
91
+ var formId = _ref.formId,
92
+ questionId = _ref.questionId,
93
+ payload = _ref.payload;
94
+ return axios__default["default"].patch(utils.buildUrl(QUESTION_URL, {
95
+ formId: formId,
96
+ questionId: questionId
97
+ }), payload);
98
+ };
99
+ var deleteQuestion = function deleteQuestion(formId, questionId) {
100
+ return axios__default["default"]["delete"](utils.buildUrl(QUESTION_URL, {
101
+ formId: formId,
102
+ questionId: questionId
103
+ }));
104
+ };
105
+ var reorderQuestions = function reorderQuestions(formId, payload) {
106
+ return axios__default["default"].post(utils.buildUrl(REORDER_QUESTIONS_URL, {
107
+ formId: formId
108
+ }), payload);
109
+ };
110
+ var submitPublicForm = function submitPublicForm(formId, payload) {
111
+ return axios__default["default"].post(utils.buildUrl(PUBLIC_QUESTION_RESPONSES_URL, {
112
+ formId: formId
113
+ }), payload);
114
+ };
115
+ var updatePublicSubmission = function updatePublicSubmission(formId, payload) {
116
+ return axios__default["default"].put(utils.buildUrl(PUBLIC_QUESTION_RESPONSES_URL, {
117
+ formId: formId
118
+ }), payload);
119
+ };
120
+ var getPublicSubmission = function getPublicSubmission(formId, submissionId) {
121
+ var language = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : i18next__default["default"].resolvedLanguage;
122
+ return axios__default["default"].get(utils.buildUrl(PUBLIC_SUBMISSION_URL, {
123
+ formId: formId,
124
+ submissionId: submissionId
125
+ }), {
126
+ params: {
127
+ language: language
128
+ }
129
+ });
130
+ };
131
+ var getSubmissions = function getSubmissions(formId) {
132
+ var language = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : i18next__default["default"].resolvedLanguage;
133
+ return axios__default["default"].get(utils.buildUrl(SUBMISSIONS_URL, {
134
+ formId: formId
135
+ }), {
136
+ params: {
137
+ language: language
138
+ }
139
+ });
140
+ };
141
+ var getSubmission = function getSubmission(formId, submissionId) {
142
+ var language = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : i18next__default["default"].resolvedLanguage;
143
+ return axios__default["default"].get(utils.buildUrl(SUBMISSION_URL, {
144
+ formId: formId,
145
+ submissionId: submissionId
146
+ }), {
147
+ params: {
148
+ language: language
149
+ }
150
+ });
151
+ };
152
+ var updateSubmission = function updateSubmission(formId, payload) {
153
+ return axios__default["default"].put(utils.buildUrl(QUESTION_RESPONSES_URL, {
154
+ formId: formId
155
+ }), payload);
156
+ };
157
+ var neetoFormApi = {
158
+ getForms: getForms,
159
+ createForm: createForm,
160
+ updateForm: updateForm,
161
+ destroyForm: destroyForm,
162
+ getQuestions: getQuestions,
163
+ getPublicQuestions: getPublicQuestions,
164
+ createQuestion: createQuestion,
165
+ updateQuestion: updateQuestion,
166
+ deleteQuestion: deleteQuestion,
167
+ reorderQuestions: reorderQuestions,
168
+ submitPublicForm: submitPublicForm,
169
+ getSubmissions: getSubmissions,
170
+ getSubmission: getSubmission,
171
+ getPublicSubmission: getPublicSubmission,
172
+ updateSubmission: updateSubmission,
173
+ updatePublicSubmission: updatePublicSubmission
174
+ };
175
+
176
+ var handleQuestionMutationSuccess = function handleQuestionMutationSuccess(_ref) {
177
+ var args = _ref.args,
178
+ formId = _ref.formId,
179
+ language = _ref.language,
180
+ queryClient = _ref.queryClient,
181
+ onSuccess = _ref.onSuccess;
182
+ var _args = _slicedToArray__default["default"](args, 1),
183
+ data = _args[0];
184
+ queryClient.invalidateQueries({
185
+ queryKey: [QUERY_KEYS.QUESTIONS, formId]
186
+ });
187
+ queryClient.invalidateQueries({
188
+ queryKey: [QUERY_KEYS.QUESTIONS, "preview/".concat(formId)]
189
+ });
190
+ queryClient.setQueryData([QUERY_KEYS.QUESTIONS, formId, language], ramda.assoc("questions", data.questions));
191
+ queryClient.setQueryData([QUERY_KEYS.QUESTIONS, "preview/".concat(formId), language], ramda.assoc("questions", data.questions));
192
+ onSuccess === null || onSuccess === void 0 || onSuccess.apply(void 0, _toConsumableArray__default["default"](args));
193
+ };
194
+
195
+ var _excluded = ["formId", "preview", "language"],
196
+ _excluded2 = ["formId", "language"],
197
+ _excluded3 = ["page", "pageSize"],
198
+ _excluded5 = ["formId", "submissionId", "fetchPublicSubmission"];
199
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
200
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
201
+ var useForm = function useForm(_ref) {
202
+ var formId = _ref.formId,
203
+ _ref$preview = _ref.preview,
204
+ preview = _ref$preview === void 0 ? null : _ref$preview,
205
+ _ref$language = _ref.language,
206
+ language = _ref$language === void 0 ? i18next__default["default"].resolvedLanguage : _ref$language,
207
+ options = _objectWithoutProperties__default["default"](_ref, _excluded);
208
+ return reactQuery.useQuery(_objectSpread({
209
+ queryKey: [QUERY_KEYS.QUESTIONS, preview ? "preview/".concat(formId) : formId, language],
210
+ queryFn: function queryFn() {
211
+ return neetoFormApi.getPublicQuestions(formId, language);
212
+ },
213
+ placeholderData: reactQuery.keepPreviousData
214
+ }, options));
215
+ };
216
+ var useFetchQuestions = function useFetchQuestions(_ref2) {
217
+ var formId = _ref2.formId,
218
+ _ref2$language = _ref2.language,
219
+ language = _ref2$language === void 0 ? i18next__default["default"].resolvedLanguage : _ref2$language,
220
+ options = _objectWithoutProperties__default["default"](_ref2, _excluded2);
221
+ return reactQuery.useQuery(_objectSpread({
222
+ queryKey: [QUERY_KEYS.QUESTIONS, formId, language],
223
+ queryFn: function queryFn() {
224
+ return neetoFormApi.getQuestions(formId, language);
225
+ },
226
+ placeholderData: reactQuery.keepPreviousData
227
+ }, options));
228
+ };
229
+ var useCreateForm = function useCreateForm(options) {
230
+ var language = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : i18next__default["default"].resolvedLanguage;
231
+ var queryClient = reactQuery.useQueryClient();
232
+ return reactQuery.useMutation(_objectSpread(_objectSpread({
233
+ mutationFn: neetoFormApi.createForm
234
+ }, options), {}, {
235
+ onSuccess: function onSuccess(form) {
236
+ var _options$onSuccess;
237
+ queryClient.setQueryData([QUERY_KEYS.QUESTIONS], function (forms) {
238
+ return forms && [].concat(_toConsumableArray__default["default"](forms), [form]);
239
+ });
240
+ queryClient.setQueryData([QUERY_KEYS.QUESTIONS, form.id, language], form);
241
+ queryClient.setQueryData([QUERY_KEYS.QUESTIONS, "preview/".concat(form.id), language], form);
242
+ queryClient.invalidateQueries({
243
+ queryKey: [QUERY_KEYS.FORMS]
244
+ });
245
+ options === null || options === void 0 || (_options$onSuccess = options.onSuccess) === null || _options$onSuccess === void 0 || _options$onSuccess.call(options, form);
246
+ }
247
+ }));
248
+ };
249
+ var useUpdateForm = function useUpdateForm(options) {
250
+ var language = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : i18next__default["default"].resolvedLanguage;
251
+ var queryClient = reactQuery.useQueryClient();
252
+ return reactQuery.useMutation(_objectSpread(_objectSpread({
253
+ mutationFn: function mutationFn(_ref3) {
254
+ var id = _ref3.id,
255
+ values = _ref3.values;
256
+ return neetoFormApi.updateForm(id, values);
257
+ }
258
+ }, options), {}, {
259
+ onSuccess: function onSuccess(data, _ref4) {
260
+ var id = _ref4.id;
261
+ queryClient.setQueryData([QUERY_KEYS.QUESTIONS, id, language], ramda.assoc("title", data.title));
262
+ queryClient.setQueryData([QUERY_KEYS.QUESTIONS, "preview/".concat(id), language], ramda.mergeLeft({
263
+ questions: data.questions,
264
+ title: data.title
265
+ }));
266
+ queryClient.invalidateQueries({
267
+ queryKey: [QUERY_KEYS.FORMS]
268
+ });
269
+ queryClient.invalidateQueries({
270
+ queryKey: [QUERY_KEYS.QUESTIONS, id]
271
+ });
272
+ queryClient.invalidateQueries({
273
+ queryKey: [QUERY_KEYS.QUESTIONS, "preview/".concat(id)]
274
+ });
275
+ options.onSuccess && options.onSuccess(data);
276
+ }
277
+ }));
278
+ };
279
+ var useCreateQuestion = function useCreateQuestion(formId, language) {
280
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
281
+ var queryClient = reactQuery.useQueryClient();
282
+ return reactQuery.useMutation(_objectSpread(_objectSpread({
283
+ mutationFn: function mutationFn(payload) {
284
+ return neetoFormApi.createQuestion(formId, neetoCist.filterNonNull(payload));
285
+ }
286
+ }, options), {}, {
287
+ onSuccess: function onSuccess() {
288
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
289
+ args[_key] = arguments[_key];
290
+ }
291
+ return handleQuestionMutationSuccess({
292
+ args: args,
293
+ formId: formId,
294
+ language: language,
295
+ queryClient: queryClient,
296
+ onSuccess: options.onSuccess
297
+ });
298
+ }
299
+ }));
300
+ };
301
+ var useUpdateQuestion = function useUpdateQuestion(formId, language) {
302
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
303
+ var queryClient = reactQuery.useQueryClient();
304
+ return reactQuery.useMutation(_objectSpread(_objectSpread({
305
+ mutationFn: function mutationFn(_ref5) {
306
+ var questionId = _ref5.questionId,
307
+ payload = _ref5.payload;
308
+ return neetoFormApi.updateQuestion({
309
+ formId: formId,
310
+ questionId: questionId,
311
+ payload: neetoCist.filterNonNull(payload)
312
+ });
313
+ }
314
+ }, options), {}, {
315
+ onSuccess: function onSuccess() {
316
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
317
+ args[_key2] = arguments[_key2];
318
+ }
319
+ return handleQuestionMutationSuccess({
320
+ args: args,
321
+ formId: formId,
322
+ language: language,
323
+ queryClient: queryClient,
324
+ onSuccess: options.onSuccess
325
+ });
326
+ }
327
+ }));
328
+ };
329
+ var useDeleteQuestion = function useDeleteQuestion(formId, language) {
330
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
331
+ var queryClient = reactQuery.useQueryClient();
332
+ return reactQuery.useMutation(_objectSpread(_objectSpread({
333
+ mutationFn: function mutationFn(questionId) {
334
+ return neetoFormApi.deleteQuestion(formId, questionId);
335
+ }
336
+ }, options), {}, {
337
+ onSuccess: function onSuccess() {
338
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
339
+ args[_key3] = arguments[_key3];
340
+ }
341
+ return handleQuestionMutationSuccess({
342
+ args: args,
343
+ formId: formId,
344
+ language: language,
345
+ queryClient: queryClient,
346
+ onSuccess: options.onSuccess
347
+ });
348
+ }
349
+ }));
350
+ };
351
+ var useReorderQuestions = function useReorderQuestions(formId, language) {
352
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
353
+ var queryClient = reactQuery.useQueryClient();
354
+ return reactQuery.useMutation(_objectSpread(_objectSpread({
355
+ mutationFn: function mutationFn(payload) {
356
+ return neetoFormApi.reorderQuestions(formId, neetoCist.filterNonNull(payload));
357
+ }
358
+ }, options), {}, {
359
+ onSuccess: function onSuccess() {
360
+ for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
361
+ args[_key4] = arguments[_key4];
362
+ }
363
+ return handleQuestionMutationSuccess({
364
+ args: args,
365
+ formId: formId,
366
+ language: language,
367
+ queryClient: queryClient,
368
+ onSuccess: options.onSuccess
369
+ });
370
+ }
371
+ }));
372
+ };
373
+ var useForms = function useForms() {
374
+ var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
375
+ _ref6$page = _ref6.page,
376
+ page = _ref6$page === void 0 ? constants.DEFAULT_PAGE_INDEX : _ref6$page,
377
+ _ref6$pageSize = _ref6.pageSize,
378
+ pageSize = _ref6$pageSize === void 0 ? constants.DEFAULT_PAGE_SIZE : _ref6$pageSize,
379
+ options = _objectWithoutProperties__default["default"](_ref6, _excluded3);
380
+ return reactQuery.useQuery(_objectSpread({
381
+ queryKey: [QUERY_KEYS.FORMS, page],
382
+ queryFn: function queryFn() {
383
+ return neetoFormApi.getForms({
384
+ page: page,
385
+ pageSize: pageSize
386
+ });
387
+ },
388
+ placeholderData: reactQuery.keepPreviousData
389
+ }, options));
390
+ };
391
+ var useDeleteForm = function useDeleteForm(options) {
392
+ return reactUtils.useMutationWithInvalidation(function (_ref7) {
393
+ var id = _ref7.id;
394
+ return neetoFormApi.destroyForm(id);
395
+ }, _objectSpread(_objectSpread({}, options), {}, {
396
+ keysToInvalidate: [[QUERY_KEYS.FORMS], function (_, _ref8) {
397
+ var id = _ref8.id;
398
+ return [QUERY_KEYS.QUESTIONS, id];
399
+ }, function (_, _ref9) {
400
+ var id = _ref9.id;
401
+ return [QUERY_KEYS.QUESTIONS, "preview/".concat(id)];
402
+ }],
403
+ onSuccess: function onSuccess() {
404
+ options.onSuccess && options.onSuccess.apply(options, arguments);
405
+ }
406
+ }));
407
+ };
408
+ var useSubmission = function useSubmission(_ref11) {
409
+ var formId = _ref11.formId,
410
+ submissionId = _ref11.submissionId,
411
+ _ref11$fetchPublicSub = _ref11.fetchPublicSubmission,
412
+ fetchPublicSubmission = _ref11$fetchPublicSub === void 0 ? true : _ref11$fetchPublicSub,
413
+ options = _objectWithoutProperties__default["default"](_ref11, _excluded5);
414
+ return reactQuery.useQuery(_objectSpread({
415
+ queryKey: [QUERY_KEYS.SUBMISSION, formId, submissionId],
416
+ queryFn: function queryFn() {
417
+ return fetchPublicSubmission ? neetoFormApi.getPublicSubmission(formId, submissionId) : neetoFormApi.getSubmission(formId, submissionId);
418
+ },
419
+ placeholderData: reactQuery.keepPreviousData
420
+ }, options));
421
+ };
422
+ var useCreateSubmission = function useCreateSubmission(options) {
423
+ var queryClient = reactQuery.useQueryClient();
424
+ return reactQuery.useMutation(_objectSpread(_objectSpread({
425
+ mutationFn: function mutationFn(_ref12) {
426
+ var formId = _ref12.formId,
427
+ values = _ref12.values;
428
+ return neetoFormApi.submitPublicForm(formId, values);
429
+ }
430
+ }, options), {}, {
431
+ onSuccess: function onSuccess() {
432
+ var _data$submission, _data$submission2;
433
+ for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
434
+ args[_key5] = arguments[_key5];
435
+ }
436
+ var data = args[0],
437
+ formId = args[1].formId;
438
+ queryClient.invalidateQueries({
439
+ queryKey: [QUERY_KEYS.SUBMISSIONS, formId]
440
+ });
441
+ queryClient.setQueryData([QUERY_KEYS.SUBMISSION, formId, data === null || data === void 0 || (_data$submission = data.submission) === null || _data$submission === void 0 ? void 0 : _data$submission.id], data === null || data === void 0 ? void 0 : data.submission);
442
+ queryClient.invalidateQueries({
443
+ queryKey: [QUERY_KEYS.SUBMISSION, formId, data === null || data === void 0 || (_data$submission2 = data.submission) === null || _data$submission2 === void 0 ? void 0 : _data$submission2.id]
444
+ });
445
+ options.onSuccess && options.onSuccess.apply(options, args);
446
+ }
447
+ }));
448
+ };
449
+ var useUpdateSubmission = function useUpdateSubmission(options) {
450
+ var queryClient = reactQuery.useQueryClient();
451
+ return reactQuery.useMutation(_objectSpread(_objectSpread({
452
+ mutationFn: function mutationFn(_ref13) {
453
+ var formId = _ref13.formId,
454
+ values = _ref13.values;
455
+ return neetoFormApi.updatePublicSubmission(formId, values);
456
+ }
457
+ }, options), {}, {
458
+ onSuccess: function onSuccess() {
459
+ var _data$submission3;
460
+ for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
461
+ args[_key6] = arguments[_key6];
462
+ }
463
+ var data = args[0],
464
+ formId = args[1].formId;
465
+ queryClient.invalidateQueries({
466
+ queryKey: [[QUERY_KEYS.SUBMISSIONS, formId]]
467
+ });
468
+ queryClient.setQueryData([QUERY_KEYS.SUBMISSION, formId, data === null || data === void 0 || (_data$submission3 = data.submission) === null || _data$submission3 === void 0 ? void 0 : _data$submission3.id], data === null || data === void 0 ? void 0 : data.submission);
469
+ queryClient.invalidateQueries({
470
+ queryKey: [[QUERY_KEYS.SUBMISSION, formId, data.submission.id]]
471
+ });
472
+ options.onSuccess && options.onSuccess.apply(options, args);
473
+ }
474
+ }));
475
+ };
476
+
477
+ exports.DIRECT_UPLOAD_URL = DIRECT_UPLOAD_URL;
478
+ exports.QUERY_KEYS = QUERY_KEYS;
479
+ exports.useCreateForm = useCreateForm;
480
+ exports.useCreateQuestion = useCreateQuestion;
481
+ exports.useCreateSubmission = useCreateSubmission;
482
+ exports.useDeleteForm = useDeleteForm;
483
+ exports.useDeleteQuestion = useDeleteQuestion;
484
+ exports.useFetchQuestions = useFetchQuestions;
485
+ exports.useForm = useForm;
486
+ exports.useForms = useForms;
487
+ exports.useReorderQuestions = useReorderQuestions;
488
+ exports.useSubmission = useSubmission;
489
+ exports.useUpdateForm = useUpdateForm;
490
+ exports.useUpdateQuestion = useUpdateQuestion;
491
+ exports.useUpdateSubmission = useUpdateSubmission;
492
+ //# sourceMappingURL=useFormApi-ca36173e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFormApi-ca36173e.js","sources":["../app/javascript/src/common/constants.js","../app/javascript/src/apis/neeto_form.js","../app/javascript/src/hooks/utils.js","../app/javascript/src/hooks/useFormApi.js"],"sourcesContent":["export const STRING_FILTER_OPTIONS = [\n { value: \"cont\", label: \"Contains\" },\n { value: \"eq\", label: \"Equals\" },\n { value: \"not_eq\", label: \"Not Equals\" },\n { value: \"start\", label: \"Starts With\" },\n { value: \"end\", label: \"Ends With\" },\n];\nexport const BASE_URL = \"/form\";\n\nexport const QUERY_KEYS = {\n QUESTIONS: \"neetoFormQuestions\",\n SUBMISSIONS: \"neetoFormSubmissions\",\n SUBMISSION: \"neetoFormSubmission\",\n FORMS: \"neetoFormForms\",\n FORM: \"neetoFormForm\",\n FORMIK: \"neetoFormFormik\",\n};\n\nexport const DIRECT_UPLOAD_URL = \"/api/direct_uploads\";\n\nexport const FORMS_URL = `${BASE_URL}/api/v1/forms`;\nexport const FORM_URL = `${FORMS_URL}/:formId`;\n\nexport const QUESTIONS_URL = `${FORM_URL}/questions`;\nexport const QUESTION_URL = `${QUESTIONS_URL}/:questionId`;\nexport const PUBLIC_QUESTIONS_URL = `${FORM_URL}/public/questions`;\nexport const REORDER_QUESTIONS_URL = `${QUESTIONS_URL}/reorder`;\n\nexport const QUESTION_RESPONSES_URL = `${FORM_URL}/question_responses`;\nexport const PUBLIC_QUESTION_RESPONSES_URL = `${FORM_URL}/public/question_responses`;\n\nexport const SUBMISSIONS_URL = `${FORM_URL}/submissions`;\nexport const SUBMISSION_URL = `${SUBMISSIONS_URL}/:submissionId`;\nexport const PUBLIC_SUBMISSION_URL = `${FORM_URL}/public/submissions/:submissionId`;\n","import axios from \"axios\";\nimport i18next from \"i18next\";\nimport { buildUrl } from \"neetocommons/utils\";\n\nimport {\n FORMS_URL,\n FORM_URL,\n PUBLIC_QUESTIONS_URL,\n PUBLIC_QUESTION_RESPONSES_URL,\n PUBLIC_SUBMISSION_URL,\n QUESTIONS_URL,\n QUESTION_RESPONSES_URL,\n QUESTION_URL,\n REORDER_QUESTIONS_URL,\n SUBMISSIONS_URL,\n SUBMISSION_URL,\n} from \"src/common/constants\";\n\nconst getForms = params => axios.get(FORMS_URL, { params });\nconst createForm = payload => axios.post(FORMS_URL, payload);\nconst updateForm = (formId, payload) =>\n axios.patch(buildUrl(FORM_URL, { formId }), payload);\nconst destroyForm = formId => axios.delete(buildUrl(FORM_URL, { formId }));\n\nconst getQuestions = (formId, language = i18next.resolvedLanguage) =>\n axios.get(buildUrl(QUESTIONS_URL, { formId }), { params: { language } });\n\nconst getPublicQuestions = (formId, language = i18next.resolvedLanguage) =>\n axios.get(buildUrl(PUBLIC_QUESTIONS_URL, { formId }), {\n params: { language },\n });\n\nconst createQuestion = (formId, payload) =>\n axios.post(buildUrl(QUESTIONS_URL, { formId }), payload);\n\nconst updateQuestion = ({ formId, questionId, payload }) =>\n axios.patch(buildUrl(QUESTION_URL, { formId, questionId }), payload);\n\nconst deleteQuestion = (formId, questionId) =>\n axios.delete(buildUrl(QUESTION_URL, { formId, questionId }));\n\nconst reorderQuestions = (formId, payload) =>\n axios.post(buildUrl(REORDER_QUESTIONS_URL, { formId }), payload);\n\nconst submitPublicForm = (formId, payload) =>\n axios.post(buildUrl(PUBLIC_QUESTION_RESPONSES_URL, { formId }), payload);\n\nconst updatePublicSubmission = (formId, payload) =>\n axios.put(buildUrl(PUBLIC_QUESTION_RESPONSES_URL, { formId }), payload);\n\nconst getPublicSubmission = (\n formId,\n submissionId,\n language = i18next.resolvedLanguage\n) =>\n axios.get(buildUrl(PUBLIC_SUBMISSION_URL, { formId, submissionId }), {\n params: { language },\n });\n\nconst getSubmissions = (formId, language = i18next.resolvedLanguage) =>\n axios.get(buildUrl(SUBMISSIONS_URL, { formId }), {\n params: { language },\n });\n\nconst getSubmission = (\n formId,\n submissionId,\n language = i18next.resolvedLanguage\n) =>\n axios.get(buildUrl(SUBMISSION_URL, { formId, submissionId }), {\n params: { language },\n });\n\nconst updateSubmission = (formId, payload) =>\n axios.put(buildUrl(QUESTION_RESPONSES_URL, { formId }), payload);\n\nconst neetoFormApi = {\n getForms,\n createForm,\n updateForm,\n destroyForm,\n getQuestions,\n getPublicQuestions,\n createQuestion,\n updateQuestion,\n deleteQuestion,\n reorderQuestions,\n submitPublicForm,\n getSubmissions,\n getSubmission,\n getPublicSubmission,\n updateSubmission,\n updatePublicSubmission,\n};\n\nexport default neetoFormApi;\n","import { assoc } from \"ramda\";\n\nimport { QUERY_KEYS } from \"src/common/constants\";\n\nexport const handleQuestionMutationSuccess = ({\n args,\n formId,\n language,\n queryClient,\n onSuccess,\n}) => {\n const [data] = args;\n\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.QUESTIONS, formId],\n });\n\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.QUESTIONS, `preview/${formId}`],\n });\n\n queryClient.setQueryData(\n [QUERY_KEYS.QUESTIONS, formId, language],\n assoc(\"questions\", data.questions)\n );\n\n queryClient.setQueryData(\n [QUERY_KEYS.QUESTIONS, `preview/${formId}`, language],\n assoc(\"questions\", data.questions)\n );\n\n onSuccess?.(...args);\n};\n","import {\n useQuery,\n useMutation,\n useQueryClient,\n keepPreviousData,\n} from \"@tanstack/react-query\";\nimport i18next from \"i18next\";\nimport { filterNonNull } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { assoc, mergeLeft } from \"ramda\";\n\nimport neetoFormApi from \"apis/neeto_form\";\nimport { QUERY_KEYS } from \"common/constants\";\n\nimport { handleQuestionMutationSuccess } from \"./utils\";\n\nexport const useForm = ({\n formId,\n preview = null,\n language = i18next.resolvedLanguage,\n ...options\n}) =>\n useQuery({\n queryKey: [\n QUERY_KEYS.QUESTIONS,\n preview ? `preview/${formId}` : formId,\n language,\n ],\n queryFn: () => neetoFormApi.getPublicQuestions(formId, language),\n placeholderData: keepPreviousData,\n ...options,\n });\n\nexport const useFetchQuestions = ({\n formId,\n language = i18next.resolvedLanguage,\n ...options\n}) =>\n useQuery({\n queryKey: [QUERY_KEYS.QUESTIONS, formId, language],\n queryFn: () => neetoFormApi.getQuestions(formId, language),\n placeholderData: keepPreviousData,\n ...options,\n });\n\nexport const useCreateForm = (options, language = i18next.resolvedLanguage) => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: neetoFormApi.createForm,\n ...options,\n onSuccess: form => {\n queryClient.setQueryData(\n [QUERY_KEYS.QUESTIONS],\n forms => forms && [...forms, form]\n );\n queryClient.setQueryData([QUERY_KEYS.QUESTIONS, form.id, language], form);\n queryClient.setQueryData(\n [QUERY_KEYS.QUESTIONS, `preview/${form.id}`, language],\n form\n );\n queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.FORMS] });\n options?.onSuccess?.(form);\n },\n });\n};\n\nexport const useUpdateForm = (options, language = i18next.resolvedLanguage) => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({ id, values }) => neetoFormApi.updateForm(id, values),\n ...options,\n onSuccess: (data, { id }) => {\n queryClient.setQueryData(\n [QUERY_KEYS.QUESTIONS, id, language],\n assoc(\"title\", data.title)\n );\n\n queryClient.setQueryData(\n [QUERY_KEYS.QUESTIONS, `preview/${id}`, language],\n mergeLeft({ questions: data.questions, title: data.title })\n );\n queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.FORMS] });\n queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.QUESTIONS, id] });\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.QUESTIONS, `preview/${id}`],\n });\n\n options.onSuccess && options.onSuccess(data);\n },\n });\n};\n\nexport const useCreateQuestion = (formId, language, options = {}) => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: payload =>\n neetoFormApi.createQuestion(formId, filterNonNull(payload)),\n ...options,\n onSuccess: (...args) =>\n handleQuestionMutationSuccess({\n args,\n formId,\n language,\n queryClient,\n onSuccess: options.onSuccess,\n }),\n });\n};\n\nexport const useUpdateQuestion = (formId, language, options = {}) => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({ questionId, payload }) =>\n neetoFormApi.updateQuestion({\n formId,\n questionId,\n payload: filterNonNull(payload),\n }),\n ...options,\n onSuccess: (...args) =>\n handleQuestionMutationSuccess({\n args,\n formId,\n language,\n queryClient,\n onSuccess: options.onSuccess,\n }),\n });\n};\n\nexport const useDeleteQuestion = (formId, language, options = {}) => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: questionId => neetoFormApi.deleteQuestion(formId, questionId),\n ...options,\n onSuccess: (...args) =>\n handleQuestionMutationSuccess({\n args,\n formId,\n language,\n queryClient,\n onSuccess: options.onSuccess,\n }),\n });\n};\n\nexport const useReorderQuestions = (formId, language, options = {}) => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: payload =>\n neetoFormApi.reorderQuestions(formId, filterNonNull(payload)),\n ...options,\n onSuccess: (...args) =>\n handleQuestionMutationSuccess({\n args,\n formId,\n language,\n queryClient,\n onSuccess: options.onSuccess,\n }),\n });\n};\n\nexport const useForms = ({\n page = DEFAULT_PAGE_INDEX,\n pageSize = DEFAULT_PAGE_SIZE,\n ...options\n} = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.FORMS, page],\n queryFn: () => neetoFormApi.getForms({ page, pageSize }),\n placeholderData: keepPreviousData,\n ...options,\n });\n\nexport const useDeleteForm = options =>\n useMutationWithInvalidation(({ id }) => neetoFormApi.destroyForm(id), {\n ...options,\n keysToInvalidate: [\n [QUERY_KEYS.FORMS],\n (_, { id }) => [QUERY_KEYS.QUESTIONS, id],\n (_, { id }) => [QUERY_KEYS.QUESTIONS, `preview/${id}`],\n ],\n onSuccess: (...args) => {\n options.onSuccess && options.onSuccess(...args);\n },\n });\n\nexport const useSubmissions = ({ formId, ...options }) =>\n useQuery({\n queryKey: [QUERY_KEYS.SUBMISSIONS, formId],\n queryFn: () => neetoFormApi.getPublicSubmissions(formId),\n placeholderData: keepPreviousData,\n ...options,\n });\n\nexport const useSubmission = ({\n formId,\n submissionId,\n fetchPublicSubmission = true,\n ...options\n}) =>\n useQuery({\n queryKey: [QUERY_KEYS.SUBMISSION, formId, submissionId],\n queryFn: () =>\n fetchPublicSubmission\n ? neetoFormApi.getPublicSubmission(formId, submissionId)\n : neetoFormApi.getSubmission(formId, submissionId),\n placeholderData: keepPreviousData,\n ...options,\n });\n\nexport const useCreateSubmission = options => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({ formId, values }) =>\n neetoFormApi.submitPublicForm(formId, values),\n ...options,\n onSuccess: (...args) => {\n const [data, { formId }] = args;\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.SUBMISSIONS, formId],\n });\n\n queryClient.setQueryData(\n [QUERY_KEYS.SUBMISSION, formId, data?.submission?.id],\n data?.submission\n );\n\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.SUBMISSION, formId, data?.submission?.id],\n });\n options.onSuccess && options.onSuccess(...args);\n },\n });\n};\n\nexport const useUpdateSubmission = options => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({ formId, values }) =>\n neetoFormApi.updatePublicSubmission(formId, values),\n ...options,\n onSuccess: (...args) => {\n const [data, { formId }] = args;\n queryClient.invalidateQueries({\n queryKey: [[QUERY_KEYS.SUBMISSIONS, formId]],\n });\n\n queryClient.setQueryData(\n [QUERY_KEYS.SUBMISSION, formId, data?.submission?.id],\n data?.submission\n );\n\n queryClient.invalidateQueries({\n queryKey: [[QUERY_KEYS.SUBMISSION, formId, data.submission.id]],\n });\n options.onSuccess && options.onSuccess(...args);\n },\n });\n};\n"],"names":["BASE_URL","QUERY_KEYS","QUESTIONS","SUBMISSIONS","SUBMISSION","FORMS","FORM","FORMIK","DIRECT_UPLOAD_URL","FORMS_URL","concat","FORM_URL","QUESTIONS_URL","QUESTION_URL","PUBLIC_QUESTIONS_URL","REORDER_QUESTIONS_URL","QUESTION_RESPONSES_URL","PUBLIC_QUESTION_RESPONSES_URL","SUBMISSIONS_URL","SUBMISSION_URL","PUBLIC_SUBMISSION_URL","getForms","params","axios","get","createForm","payload","post","updateForm","formId","patch","buildUrl","destroyForm","getQuestions","language","arguments","length","undefined","i18next","resolvedLanguage","getPublicQuestions","createQuestion","updateQuestion","_ref","questionId","deleteQuestion","reorderQuestions","submitPublicForm","updatePublicSubmission","put","getPublicSubmission","submissionId","getSubmissions","getSubmission","updateSubmission","neetoFormApi","handleQuestionMutationSuccess","args","queryClient","onSuccess","_args","_slicedToArray","data","invalidateQueries","queryKey","setQueryData","assoc","questions","apply","_toConsumableArray","useForm","_ref$preview","preview","_ref$language","options","_objectWithoutProperties","_excluded","useQuery","_objectSpread","queryFn","placeholderData","keepPreviousData","useFetchQuestions","_ref2","_ref2$language","_excluded2","useCreateForm","useQueryClient","useMutation","mutationFn","form","_options$onSuccess","forms","id","call","useUpdateForm","_ref3","values","_ref4","title","mergeLeft","useCreateQuestion","filterNonNull","_len","Array","_key","useUpdateQuestion","_ref5","_len2","_key2","useDeleteQuestion","_len3","_key3","useReorderQuestions","_len4","_key4","useForms","_ref6","_ref6$page","page","DEFAULT_PAGE_INDEX","_ref6$pageSize","pageSize","DEFAULT_PAGE_SIZE","_excluded3","useDeleteForm","useMutationWithInvalidation","_ref7","keysToInvalidate","_","_ref8","_ref9","useSubmission","_ref11","_ref11$fetchPublicSub","fetchPublicSubmission","_excluded5","useCreateSubmission","_ref12","_data$submission","_data$submission2","_len5","_key5","submission","useUpdateSubmission","_ref13","_data$submission3","_len6","_key6"],"mappings":"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"}