@bigbinary/neeto-form-frontend 1.2.50 → 1.2.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -12,6 +12,7 @@ var ramda = require('ramda');
12
12
  var reactQuery = require('react-query');
13
13
  var i18next = require('i18next');
14
14
  var neetoIcons = require('@bigbinary/neeto-icons');
15
+ var constants = require('@bigbinary/neeto-commons-frontend/constants');
15
16
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
16
17
  var axios = require('axios');
17
18
  var ReactDOM = require('react-dom');
@@ -166,9 +167,9 @@ function _objectWithoutProperties$1(source, excluded) {
166
167
 
167
168
  var _excluded$d = ["size"],
168
169
  _excluded2$2 = ["size"],
169
- _excluded3$1 = ["size"],
170
- _excluded4$2 = ["size"],
171
- _excluded5 = ["size"];
170
+ _excluded3$2 = ["size"],
171
+ _excluded4$1 = ["size"],
172
+ _excluded5$1 = ["size"];
172
173
  var Star = function Star(props) {
173
174
  var _props$size = props.size,
174
175
  size = _props$size === void 0 ? 20 : _props$size,
@@ -208,7 +209,7 @@ var Heart = function Heart(props) {
208
209
  var Zap = function Zap(props) {
209
210
  var _props$size3 = props.size,
210
211
  size = _props$size3 === void 0 ? 20 : _props$size3,
211
- other = _objectWithoutProperties$1(props, _excluded3$1);
212
+ other = _objectWithoutProperties$1(props, _excluded3$2);
212
213
  return /*#__PURE__*/React__default["default"].createElement("svg", _extends$8({
213
214
  fill: "none",
214
215
  height: size,
@@ -226,7 +227,7 @@ var Zap = function Zap(props) {
226
227
  var Crown = function Crown(_ref) {
227
228
  var _ref$size = _ref.size,
228
229
  size = _ref$size === void 0 ? 20 : _ref$size,
229
- otherProps = _objectWithoutProperties$1(_ref, _excluded4$2);
230
+ otherProps = _objectWithoutProperties$1(_ref, _excluded4$1);
230
231
  return /*#__PURE__*/React__default["default"].createElement("svg", _extends$8({
231
232
  fill: "none",
232
233
  height: size,
@@ -248,7 +249,7 @@ var Crown = function Crown(_ref) {
248
249
  var Trophy = function Trophy(_ref2) {
249
250
  var _ref2$size = _ref2.size,
250
251
  size = _ref2$size === void 0 ? 20 : _ref2$size,
251
- otherProps = _objectWithoutProperties$1(_ref2, _excluded5);
252
+ otherProps = _objectWithoutProperties$1(_ref2, _excluded5$1);
252
253
  return /*#__PURE__*/React__default["default"].createElement("svg", _extends$8({
253
254
  fill: "none",
254
255
  height: size,
@@ -537,8 +538,10 @@ var getFormSubmissionsUrl = function getFormSubmissionsUrl(formId) {
537
538
  var getFormSubmissionUrl = function getFormSubmissionUrl(formId, submissionId) {
538
539
  return "".concat(getFormSubmissionsUrl(formId), "/").concat(submissionId);
539
540
  };
540
- var getForms = function getForms() {
541
- return axios__default["default"].get(getFormsUrl());
541
+ var getForms = function getForms(params) {
542
+ return axios__default["default"].get(getFormsUrl(), {
543
+ params: params
544
+ });
542
545
  };
543
546
  var createForm = function createForm(payload) {
544
547
  return axios__default["default"].post(getFormsUrl(), payload);
@@ -619,7 +622,8 @@ var neetoFormApi = {
619
622
 
620
623
  var _excluded$c = ["formId", "preview", "language"],
621
624
  _excluded2$1 = ["formId", "language"],
622
- _excluded4$1 = ["formId", "submissionId"];
625
+ _excluded3$1 = ["page", "pageSize"],
626
+ _excluded5 = ["formId", "submissionId"];
623
627
  function ownKeys$k(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; }
624
628
  function _objectSpread$j(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$k(Object(t), !0).forEach(function (r) { _defineProperty$6(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$k(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
625
629
  var useForm = function useForm(_ref) {
@@ -705,21 +709,32 @@ var useUpdateQuestions = function useUpdateQuestions(options, language) {
705
709
  }
706
710
  }));
707
711
  };
708
- var useForms = function useForms(options) {
709
- return reactQuery.useQuery([QUERY_KEYS.FORMS], neetoFormApi.getForms, _objectSpread$j({
712
+ var useForms = function useForms() {
713
+ var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
714
+ _ref6$page = _ref6.page,
715
+ page = _ref6$page === void 0 ? constants.DEFAULT_PAGE_INDEX : _ref6$page,
716
+ _ref6$pageSize = _ref6.pageSize,
717
+ pageSize = _ref6$pageSize === void 0 ? constants.DEFAULT_PAGE_SIZE : _ref6$pageSize,
718
+ options = _objectWithoutProperties$1(_ref6, _excluded3$1);
719
+ return reactQuery.useQuery([QUERY_KEYS.FORMS, page], function () {
720
+ return neetoFormApi.getForms({
721
+ page: page,
722
+ pageSize: pageSize
723
+ });
724
+ }, _objectSpread$j({
710
725
  keepPreviousData: true
711
726
  }, options));
712
727
  };
713
728
  var useDeleteForm = function useDeleteForm(options) {
714
- return reactUtils.useMutationWithInvalidation(function (_ref6) {
715
- var id = _ref6.id;
729
+ return reactUtils.useMutationWithInvalidation(function (_ref7) {
730
+ var id = _ref7.id;
716
731
  return neetoFormApi.destroyForm(id);
717
732
  }, _objectSpread$j(_objectSpread$j({}, options), {}, {
718
- keysToInvalidate: [[QUERY_KEYS.FORMS], function (_, _ref7) {
719
- var id = _ref7.id;
720
- return [QUERY_KEYS.QUESTIONS, id];
721
- }, function (_, _ref8) {
733
+ keysToInvalidate: [[QUERY_KEYS.FORMS], function (_, _ref8) {
722
734
  var id = _ref8.id;
735
+ return [QUERY_KEYS.QUESTIONS, id];
736
+ }, function (_, _ref9) {
737
+ var id = _ref9.id;
723
738
  return [QUERY_KEYS.QUESTIONS, "preview/".concat(id)];
724
739
  }],
725
740
  onSuccess: function onSuccess() {
@@ -727,10 +742,10 @@ var useDeleteForm = function useDeleteForm(options) {
727
742
  }
728
743
  }));
729
744
  };
730
- var useSubmission = function useSubmission(_ref10) {
731
- var formId = _ref10.formId,
732
- submissionId = _ref10.submissionId,
733
- options = _objectWithoutProperties$1(_ref10, _excluded4$1);
745
+ var useSubmission = function useSubmission(_ref11) {
746
+ var formId = _ref11.formId,
747
+ submissionId = _ref11.submissionId,
748
+ options = _objectWithoutProperties$1(_ref11, _excluded5);
734
749
  return reactQuery.useQuery([QUERY_KEYS.SUBMISSION, formId, submissionId], function () {
735
750
  return neetoFormApi.getPublicSubmission(formId, submissionId);
736
751
  }, _objectSpread$j(_objectSpread$j({}, options), {}, {
@@ -739,9 +754,9 @@ var useSubmission = function useSubmission(_ref10) {
739
754
  };
740
755
  var useCreateSubmission = function useCreateSubmission(options) {
741
756
  var queryClient = reactQuery.useQueryClient();
742
- return reactQuery.useMutation(function (_ref11) {
743
- var formId = _ref11.formId,
744
- values = _ref11.values;
757
+ return reactQuery.useMutation(function (_ref12) {
758
+ var formId = _ref12.formId,
759
+ values = _ref12.values;
745
760
  return neetoFormApi.submitPublicForm(formId, values);
746
761
  }, _objectSpread$j(_objectSpread$j({}, options), {}, {
747
762
  onSuccess: function onSuccess() {
@@ -760,9 +775,9 @@ var useCreateSubmission = function useCreateSubmission(options) {
760
775
  };
761
776
  var useUpdateSubmission = function useUpdateSubmission(options) {
762
777
  var queryClient = reactQuery.useQueryClient();
763
- return reactQuery.useMutation(function (_ref12) {
764
- var formId = _ref12.formId,
765
- values = _ref12.values;
778
+ return reactQuery.useMutation(function (_ref13) {
779
+ var formId = _ref13.formId,
780
+ values = _ref13.values;
766
781
  return neetoFormApi.updatePublicSubmission(formId, values);
767
782
  }, _objectSpread$j(_objectSpread$j({}, options), {}, {
768
783
  onSuccess: function onSuccess() {
@@ -11027,20 +11042,38 @@ var StarRating$3 = function StarRating(_ref) {
11027
11042
  }));
11028
11043
  };
11029
11044
 
11030
- var useUpdateEditorContent = function useUpdateEditorContent(editorRef, fieldName) {
11045
+ var useUpdateEditorContent = function useUpdateEditorContent(editorRef, fieldName, value) {
11046
+ var initialStateRef = React$2.useRef({
11047
+ language: "",
11048
+ value: null
11049
+ });
11031
11050
  var _useBuildFormState = useBuildFormState(),
11032
11051
  formId = _useBuildFormState.formId,
11033
11052
  language = _useBuildFormState.selectedLanguage;
11053
+ var setEditorContent = function setEditorContent(content) {
11054
+ var _editorRef$current$ed;
11055
+ return (_editorRef$current$ed = editorRef.current.editor) === null || _editorRef$current$ed === void 0 || (_editorRef$current$ed = _editorRef$current$ed.commands) === null || _editorRef$current$ed === void 0 ? void 0 : _editorRef$current$ed.setContent(content);
11056
+ };
11057
+ React$2.useEffect(function () {
11058
+ if (initialStateRef.current["language"] !== language) {
11059
+ initialStateRef.current["language"] = language;
11060
+ initialStateRef.current["value"] = null;
11061
+ return;
11062
+ }
11063
+ if (initialStateRef.current["value"] === null && value !== null) {
11064
+ setEditorContent(value);
11065
+ initialStateRef.current["value"] = value;
11066
+ }
11067
+ }, [language, value]);
11034
11068
  useFetchQuestions({
11035
11069
  formId: formId,
11036
11070
  language: language,
11037
11071
  onSuccess: function onSuccess(data) {
11038
- var _editorRef$current$ed;
11039
11072
  var pathArray = fieldName.split(".").map(function (part) {
11040
11073
  var parsedPart = parseInt(part);
11041
11074
  return isNaN(parsedPart) ? part : parsedPart;
11042
11075
  });
11043
- (_editorRef$current$ed = editorRef.current.editor) === null || _editorRef$current$ed === void 0 || (_editorRef$current$ed = _editorRef$current$ed.commands) === null || _editorRef$current$ed === void 0 || _editorRef$current$ed.setContent(ramda.path(pathArray, data));
11076
+ setEditorContent(ramda.path(pathArray, data));
11044
11077
  }
11045
11078
  });
11046
11079
  };
@@ -11052,7 +11085,6 @@ var Terms$1 = function Terms(_ref) {
11052
11085
  editor: {}
11053
11086
  });
11054
11087
  var fieldName = "".concat(name, ".label");
11055
- useUpdateEditorContent(editorRef, fieldName);
11056
11088
  var _useField = formik.useField({
11057
11089
  name: fieldName,
11058
11090
  validate: validateEditorContent(editorRef)
@@ -11061,6 +11093,7 @@ var Terms$1 = function Terms(_ref) {
11061
11093
  value = _useField2[0].value,
11062
11094
  error = _useField2[1].error,
11063
11095
  setValue = _useField2[2].setValue;
11096
+ useUpdateEditorContent(editorRef, fieldName, value);
11064
11097
  return /*#__PURE__*/React__default["default"].createElement("div", {
11065
11098
  className: "w-full cursor-auto"
11066
11099
  }, /*#__PURE__*/React__default["default"].createElement(neetoEditor.Editor, {
@@ -11099,7 +11132,6 @@ var Editor = function Editor(_ref) {
11099
11132
  editor: {}
11100
11133
  });
11101
11134
  var fieldName = "".concat(name, ".label");
11102
- useUpdateEditorContent(editorRef, fieldName);
11103
11135
  var _useField = formik.useField({
11104
11136
  name: fieldName,
11105
11137
  validate: validateEditorContent(editorRef)
@@ -11112,6 +11144,7 @@ var Editor = function Editor(_ref) {
11112
11144
  _useField2$2 = _useField2[2],
11113
11145
  setTouched = _useField2$2.setTouched,
11114
11146
  setValue = _useField2$2.setValue;
11147
+ useUpdateEditorContent(editorRef, fieldName, value);
11115
11148
  return /*#__PURE__*/React__default["default"].createElement("div", {
11116
11149
  className: "w-full cursor-auto"
11117
11150
  }, /*#__PURE__*/React__default["default"].createElement(neetoEditor.Editor, {
@@ -26703,24 +26736,24 @@ var RichTextEditor = function RichTextEditor(_ref) {
26703
26736
  nodeId = question.nodeId;
26704
26737
  var label = fieldWithFallback(question, "label");
26705
26738
  var debouncedPlaceholder = reactUtils.useDebounce(fieldWithFallback(question, "placeholder"), 300);
26739
+ var propsToCompare = preview ? ["debouncedPlaceholder", "error"] : ["debouncedPlaceholder"];
26706
26740
  return /*#__PURE__*/React__default["default"].createElement("div", {
26707
26741
  className: "neeto-form-engine-input__wrapper"
26708
26742
  }, /*#__PURE__*/React__default["default"].createElement("div", {
26709
26743
  className: "neeto-form-engine-input__label-wrapper"
26710
26744
  }, label && /*#__PURE__*/React__default["default"].createElement("label", {
26711
26745
  className: "neeto-form-engine-label"
26712
- }, getLabel(label, isRequired))), /*#__PURE__*/React__default["default"].createElement(formik.FastField, _extends$8({
26746
+ }, getLabel(label, isRequired))), /*#__PURE__*/React__default["default"].createElement(formik.FastField, {
26713
26747
  debouncedPlaceholder: debouncedPlaceholder,
26714
26748
  error: errors[name],
26715
26749
  name: name || nodeId,
26750
+ shouldUpdate: isPropsUnequal(propsToCompare),
26716
26751
  validate: validateFieldValue({
26717
26752
  kind: kind,
26718
26753
  label: label,
26719
26754
  isRequired: isRequired
26720
26755
  })
26721
- }, preview && {
26722
- shouldUpdate: isPropsUnequal(["debouncedPlaceholder", "error"])
26723
- }), function (_ref2) {
26756
+ }, function (_ref2) {
26724
26757
  var field = _ref2.field,
26725
26758
  form = _ref2.form,
26726
26759
  meta = _ref2.meta;