@bigbinary/neeto-form-frontend 1.2.46 → 1.2.48
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/README.md +10 -0
- package/dist/index.cjs.js +61 -33
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +62 -34
- package/dist/index.js.map +1 -1
- package/package.json +10 -10
- package/types.d.ts +2 -0
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React$2 from 'react';
|
|
2
2
|
import React__default, { useState, useRef, useEffect, useContext, useLayoutEffect as useLayoutEffect$1, forwardRef, useImperativeHandle, Fragment, useReducer, useCallback as useCallback$1, useMemo as useMemo$1, createContext, createElement } from 'react';
|
|
3
3
|
import { useFormikContext, useField, FieldArray, Form as Form$1, Formik, Field, FastField } from 'formik';
|
|
4
|
-
import { noop as noop$4, slugify, filterBy,
|
|
4
|
+
import { noop as noop$4, findBy, slugify, filterBy, isNotEmpty, truncate, humanize, removeBy, isPresent as isPresent$1, isNotPresent, findById, notEqualsDeep } from '@bigbinary/neeto-cist';
|
|
5
5
|
import { withEventTargetValue, showThumbsUpToastr, getQueryParams, dateFormat } from '@bigbinary/neeto-commons-frontend/utils';
|
|
6
6
|
import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
|
|
7
7
|
import { Tooltip, Dropdown as Dropdown$2, Alert, Typography, Button as Button$1, Label, Checkbox as Checkbox$1, Toastr, MultiEmailInput, DatePicker, Radio as Radio$1, Select, Textarea as Textarea$1, Input as Input$2, Spinner as Spinner$2 } from '@bigbinary/neetoui';
|
|
@@ -677,19 +677,22 @@ var useDeleteForm = function useDeleteForm(options) {
|
|
|
677
677
|
var id = _ref6.id;
|
|
678
678
|
return neetoFormApi.destroyForm(id);
|
|
679
679
|
}, _objectSpread$j(_objectSpread$j({}, options), {}, {
|
|
680
|
-
keysToInvalidate: function
|
|
680
|
+
keysToInvalidate: [[QUERY_KEYS.FORMS], function (_, _ref7) {
|
|
681
681
|
var id = _ref7.id;
|
|
682
|
-
return [QUERY_KEYS.
|
|
683
|
-
},
|
|
682
|
+
return [QUERY_KEYS.QUESTIONS, id];
|
|
683
|
+
}, function (_, _ref8) {
|
|
684
|
+
var id = _ref8.id;
|
|
685
|
+
return [QUERY_KEYS.QUESTIONS, "preview/".concat(id)];
|
|
686
|
+
}],
|
|
684
687
|
onSuccess: function onSuccess() {
|
|
685
688
|
options.onSuccess && options.onSuccess.apply(options, arguments);
|
|
686
689
|
}
|
|
687
690
|
}));
|
|
688
691
|
};
|
|
689
|
-
var useSubmission = function useSubmission(
|
|
690
|
-
var formId =
|
|
691
|
-
submissionId =
|
|
692
|
-
options = _objectWithoutProperties$1(
|
|
692
|
+
var useSubmission = function useSubmission(_ref10) {
|
|
693
|
+
var formId = _ref10.formId,
|
|
694
|
+
submissionId = _ref10.submissionId,
|
|
695
|
+
options = _objectWithoutProperties$1(_ref10, _excluded4$1);
|
|
693
696
|
return useQuery([QUERY_KEYS.SUBMISSION, formId, submissionId], function () {
|
|
694
697
|
return neetoFormApi.getPublicSubmission(formId, submissionId);
|
|
695
698
|
}, _objectSpread$j(_objectSpread$j({}, options), {}, {
|
|
@@ -698,9 +701,9 @@ var useSubmission = function useSubmission(_ref9) {
|
|
|
698
701
|
};
|
|
699
702
|
var useCreateSubmission = function useCreateSubmission(options) {
|
|
700
703
|
var queryClient = useQueryClient();
|
|
701
|
-
return useMutation(function (
|
|
702
|
-
var formId =
|
|
703
|
-
values =
|
|
704
|
+
return useMutation(function (_ref11) {
|
|
705
|
+
var formId = _ref11.formId,
|
|
706
|
+
values = _ref11.values;
|
|
704
707
|
return neetoFormApi.submitPublicForm(formId, values);
|
|
705
708
|
}, _objectSpread$j(_objectSpread$j({}, options), {}, {
|
|
706
709
|
onSuccess: function onSuccess() {
|
|
@@ -719,9 +722,9 @@ var useCreateSubmission = function useCreateSubmission(options) {
|
|
|
719
722
|
};
|
|
720
723
|
var useUpdateSubmission = function useUpdateSubmission(options) {
|
|
721
724
|
var queryClient = useQueryClient();
|
|
722
|
-
return useMutation(function (
|
|
723
|
-
var formId =
|
|
724
|
-
values =
|
|
725
|
+
return useMutation(function (_ref12) {
|
|
726
|
+
var formId = _ref12.formId,
|
|
727
|
+
values = _ref12.values;
|
|
725
728
|
return neetoFormApi.updatePublicSubmission(formId, values);
|
|
726
729
|
}, _objectSpread$j(_objectSpread$j({}, options), {}, {
|
|
727
730
|
onSuccess: function onSuccess() {
|
|
@@ -744,6 +747,11 @@ var DEFAULT_AVAILABLE_LANGUAGES = [{
|
|
|
744
747
|
name: "English"
|
|
745
748
|
}];
|
|
746
749
|
var QUESTIONS_WITHOUT_FIELD_CODE = ["paragraph", "termsandcondition", "condition", "file_upload"];
|
|
750
|
+
var QUESTIONS_INITIAL_VALUE = {
|
|
751
|
+
enabled: false,
|
|
752
|
+
questions: [],
|
|
753
|
+
title: ""
|
|
754
|
+
};
|
|
747
755
|
var RESERVED_FIELD_CODES = ["month", "date", "time"];
|
|
748
756
|
|
|
749
757
|
function _arrayWithHoles$3(arr) {
|
|
@@ -9792,7 +9800,9 @@ var useBuildFormStore = create$1(withImmutableActions(function (set) {
|
|
|
9792
9800
|
submitForm: noop$4,
|
|
9793
9801
|
resetForm: noop$4,
|
|
9794
9802
|
selectedLanguage: i18next.resolvedLanguage,
|
|
9795
|
-
formId: null
|
|
9803
|
+
formId: null,
|
|
9804
|
+
enabled: false,
|
|
9805
|
+
title: ""
|
|
9796
9806
|
},
|
|
9797
9807
|
setFormData: function setFormData(payload) {
|
|
9798
9808
|
return set(assoc("formState", payload));
|
|
@@ -9804,14 +9814,15 @@ var useBuildFormState = function useBuildFormState() {
|
|
|
9804
9814
|
};
|
|
9805
9815
|
|
|
9806
9816
|
var ChangeLanguageDropdown = function ChangeLanguageDropdown(_ref) {
|
|
9807
|
-
var
|
|
9817
|
+
var _findBy;
|
|
9818
|
+
var currentLanguage = _ref.currentLanguage,
|
|
9808
9819
|
languages = _ref.languages,
|
|
9809
9820
|
onChange = _ref.onChange;
|
|
9810
9821
|
var _useState = useState(false),
|
|
9811
9822
|
_useState2 = _slicedToArray$3(_useState, 2),
|
|
9812
9823
|
isUnsavedChangesAlertOpen = _useState2[0],
|
|
9813
9824
|
setIsUnsavedChangesAlertOpen = _useState2[1];
|
|
9814
|
-
var _useState3 = useState(
|
|
9825
|
+
var _useState3 = useState(currentLanguage),
|
|
9815
9826
|
_useState4 = _slicedToArray$3(_useState3, 2),
|
|
9816
9827
|
selectedLanguage = _useState4[0],
|
|
9817
9828
|
setSelectedLanguage = _useState4[1];
|
|
@@ -9827,17 +9838,24 @@ var ChangeLanguageDropdown = function ChangeLanguageDropdown(_ref) {
|
|
|
9827
9838
|
setSelectedLanguage(code);
|
|
9828
9839
|
setIsUnsavedChangesAlertOpen(true);
|
|
9829
9840
|
};
|
|
9841
|
+
var selectedLanguageName = (_findBy = findBy({
|
|
9842
|
+
code: currentLanguage
|
|
9843
|
+
}, languages)) === null || _findBy === void 0 ? void 0 : _findBy.name;
|
|
9830
9844
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Tooltip, {
|
|
9831
9845
|
content: t("neetoForm.questions.changeLanguage")
|
|
9832
9846
|
}, /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(Dropdown$2, {
|
|
9847
|
+
buttonProps: {
|
|
9848
|
+
iconPosition: "left"
|
|
9849
|
+
},
|
|
9833
9850
|
buttonStyle: "text",
|
|
9834
9851
|
icon: Globe,
|
|
9852
|
+
label: selectedLanguageName,
|
|
9835
9853
|
position: "top-start"
|
|
9836
9854
|
}, /*#__PURE__*/React__default.createElement(Dropdown$2.Menu, null, languages.map(function (_ref2) {
|
|
9837
9855
|
var code = _ref2.code,
|
|
9838
9856
|
name = _ref2.name;
|
|
9839
9857
|
return /*#__PURE__*/React__default.createElement(Dropdown$2.MenuItem.Button, {
|
|
9840
|
-
isActive:
|
|
9858
|
+
isActive: currentLanguage === code,
|
|
9841
9859
|
key: code,
|
|
9842
9860
|
onClick: function onClick() {
|
|
9843
9861
|
return languageChangeHandler(code);
|
|
@@ -9874,7 +9892,7 @@ var Overview = function Overview(_ref) {
|
|
|
9874
9892
|
style: "h4",
|
|
9875
9893
|
weight: "semibold"
|
|
9876
9894
|
}, title), availableLanguages.length > 1 && /*#__PURE__*/React__default.createElement(ChangeLanguageDropdown, {
|
|
9877
|
-
|
|
9895
|
+
currentLanguage: selectedLanguage,
|
|
9878
9896
|
languages: availableLanguages,
|
|
9879
9897
|
onChange: onLanguageChange
|
|
9880
9898
|
})), description);
|
|
@@ -11641,7 +11659,7 @@ var List = function List(_ref) {
|
|
|
11641
11659
|
})))));
|
|
11642
11660
|
};
|
|
11643
11661
|
|
|
11644
|
-
var _excluded$6 = ["questionKinds", "showAddQuestionDivider", "onValueChange", "showActionBlock", "formId", "isDeletable", "isRequiredField", "submitButtonProps", "cancelButtonProps", "isKindAlreadyActive", "getActiveKindDetails", "kindUniqueOn", "isDisabledFieldLabel", "disabledAddButtonTooltipProps", "enableFieldCode", "formTitle", "formDescription", "selectedLanguage", "availableLanguages", "onLanguageChange"];
|
|
11662
|
+
var _excluded$6 = ["questionKinds", "showAddQuestionDivider", "onValueChange", "showActionBlock", "formId", "isDeletable", "isRequiredField", "submitButtonProps", "cancelButtonProps", "isKindAlreadyActive", "getActiveKindDetails", "kindUniqueOn", "isDisabledFieldLabel", "disabledAddButtonTooltipProps", "enableFieldCode", "isFormEnabled", "savedTitle", "formTitle", "formDescription", "selectedLanguage", "availableLanguages", "onLanguageChange"];
|
|
11645
11663
|
function ownKeys$f(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; }
|
|
11646
11664
|
function _objectSpread$f(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$f(Object(t), !0).forEach(function (r) { _defineProperty$6(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$f(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11647
11665
|
var Form = function Form(_ref) {
|
|
@@ -11660,6 +11678,8 @@ var Form = function Form(_ref) {
|
|
|
11660
11678
|
isDisabledFieldLabel = _ref.isDisabledFieldLabel,
|
|
11661
11679
|
disabledAddButtonTooltipProps = _ref.disabledAddButtonTooltipProps,
|
|
11662
11680
|
enableFieldCode = _ref.enableFieldCode,
|
|
11681
|
+
isFormEnabled = _ref.isFormEnabled,
|
|
11682
|
+
savedTitle = _ref.savedTitle,
|
|
11663
11683
|
formTitle = _ref.formTitle,
|
|
11664
11684
|
formDescription = _ref.formDescription,
|
|
11665
11685
|
selectedLanguage = _ref.selectedLanguage,
|
|
@@ -11689,6 +11709,8 @@ var Form = function Form(_ref) {
|
|
|
11689
11709
|
useEffect(function () {
|
|
11690
11710
|
setFormData({
|
|
11691
11711
|
formId: formId,
|
|
11712
|
+
enabled: isFormEnabled,
|
|
11713
|
+
title: savedTitle,
|
|
11692
11714
|
values: values,
|
|
11693
11715
|
dirty: dirty,
|
|
11694
11716
|
isSubmitting: isSubmitting,
|
|
@@ -11698,7 +11720,7 @@ var Form = function Form(_ref) {
|
|
|
11698
11720
|
resetForm: resetForm,
|
|
11699
11721
|
selectedLanguage: selectedLanguage
|
|
11700
11722
|
});
|
|
11701
|
-
}, [formId, setFormData, values, dirty, isSubmitting, isValid, errors, submitForm, resetForm, selectedLanguage]);
|
|
11723
|
+
}, [formId, isFormEnabled, savedTitle, setFormData, values, dirty, isSubmitting, isValid, errors, submitForm, resetForm, selectedLanguage]);
|
|
11702
11724
|
var questions = values.questions;
|
|
11703
11725
|
useEffect(function () {
|
|
11704
11726
|
onValueChange === null || onValueChange === void 0 || onValueChange(questions);
|
|
@@ -11996,12 +12018,11 @@ var BuildForm = function BuildForm(_ref) {
|
|
|
11996
12018
|
}
|
|
11997
12019
|
}),
|
|
11998
12020
|
_useFetchQuestions$da = _useFetchQuestions.data,
|
|
11999
|
-
_useFetchQuestions$da2 = _useFetchQuestions$da === void 0 ?
|
|
12000
|
-
|
|
12001
|
-
|
|
12002
|
-
} : _useFetchQuestions$da,
|
|
12003
|
-
questions = _useFetchQuestions$da2.questions,
|
|
12021
|
+
_useFetchQuestions$da2 = _useFetchQuestions$da === void 0 ? QUESTIONS_INITIAL_VALUE : _useFetchQuestions$da,
|
|
12022
|
+
isFormEnabled = _useFetchQuestions$da2.enabled,
|
|
12023
|
+
savedTitle = _useFetchQuestions$da2.title,
|
|
12004
12024
|
isQuestionsLoading = _useFetchQuestions$da2.isQuestionsLoading,
|
|
12025
|
+
questions = _useFetchQuestions$da2.questions,
|
|
12005
12026
|
isLoading = _useFetchQuestions.isLoading,
|
|
12006
12027
|
refetch = _useFetchQuestions.refetch;
|
|
12007
12028
|
if (isLoading || showLoader && isQuestionsLoading) {
|
|
@@ -12009,7 +12030,8 @@ var BuildForm = function BuildForm(_ref) {
|
|
|
12009
12030
|
className: "flex h-full w-full items-center justify-center py-6"
|
|
12010
12031
|
}, /*#__PURE__*/React__default.createElement(PageLoader, null));
|
|
12011
12032
|
}
|
|
12012
|
-
var handleSubmit = function handleSubmit(payload) {
|
|
12033
|
+
var handleSubmit = function handleSubmit(payload, _ref2) {
|
|
12034
|
+
var setSubmitting = _ref2.setSubmitting;
|
|
12013
12035
|
updateQuestions({
|
|
12014
12036
|
id: id,
|
|
12015
12037
|
values: _objectSpread$e({
|
|
@@ -12017,7 +12039,10 @@ var BuildForm = function BuildForm(_ref) {
|
|
|
12017
12039
|
neetoFormQuestion: payload
|
|
12018
12040
|
}, buildRequestArgs)
|
|
12019
12041
|
}, {
|
|
12020
|
-
onSuccess: refetch
|
|
12042
|
+
onSuccess: refetch,
|
|
12043
|
+
onSettled: function onSettled() {
|
|
12044
|
+
return setSubmitting(false);
|
|
12045
|
+
}
|
|
12021
12046
|
});
|
|
12022
12047
|
};
|
|
12023
12048
|
var onValueChange = function onValueChange(questions) {
|
|
@@ -12030,8 +12055,8 @@ var BuildForm = function BuildForm(_ref) {
|
|
|
12030
12055
|
var isDeletable = isQuestionDeletable !== null && isQuestionDeletable !== void 0 ? isQuestionDeletable : function (question) {
|
|
12031
12056
|
return !nonRemovableFields.includes(question.kind);
|
|
12032
12057
|
};
|
|
12033
|
-
var isRequiredField = isFieldRequired !== null && isFieldRequired !== void 0 ? isFieldRequired : function (
|
|
12034
|
-
var kind =
|
|
12058
|
+
var isRequiredField = isFieldRequired !== null && isFieldRequired !== void 0 ? isFieldRequired : function (_ref3) {
|
|
12059
|
+
var kind = _ref3.kind;
|
|
12035
12060
|
return requiredFields.includes(kind);
|
|
12036
12061
|
};
|
|
12037
12062
|
var isDisabledFieldLabel = isFieldLabelDisabled !== null && isFieldLabelDisabled !== void 0 ? isFieldLabelDisabled : function () {
|
|
@@ -12049,9 +12074,9 @@ var BuildForm = function BuildForm(_ref) {
|
|
|
12049
12074
|
},
|
|
12050
12075
|
validationSchema: formValidationSchema,
|
|
12051
12076
|
onSubmit: handleSubmit
|
|
12052
|
-
}, function (
|
|
12053
|
-
var errors =
|
|
12054
|
-
setFieldError =
|
|
12077
|
+
}, function (_ref4) {
|
|
12078
|
+
var errors = _ref4.errors,
|
|
12079
|
+
setFieldError = _ref4.setFieldError;
|
|
12055
12080
|
return /*#__PURE__*/React__default.createElement(Form, _extends$8({}, _objectSpread$e(_objectSpread$e({}, formDomProps), {}, {
|
|
12056
12081
|
availableLanguages: availableLanguages,
|
|
12057
12082
|
cancelButtonProps: cancelButtonProps,
|
|
@@ -12062,11 +12087,13 @@ var BuildForm = function BuildForm(_ref) {
|
|
|
12062
12087
|
getActiveKindDetails: getActiveKindDetails,
|
|
12063
12088
|
isDeletable: isDeletable,
|
|
12064
12089
|
isDisabledFieldLabel: isDisabledFieldLabel,
|
|
12090
|
+
isFormEnabled: isFormEnabled,
|
|
12065
12091
|
isKindAlreadyActive: isKindAlreadyActive,
|
|
12066
12092
|
isRequiredField: isRequiredField,
|
|
12067
12093
|
kindUniqueOn: kindUniqueOn,
|
|
12068
12094
|
onLanguageChange: onLanguageChange,
|
|
12069
12095
|
onValueChange: onValueChange,
|
|
12096
|
+
savedTitle: savedTitle,
|
|
12070
12097
|
selectedLanguage: selectedLanguage,
|
|
12071
12098
|
showActionBlock: showActionBlock,
|
|
12072
12099
|
showAddQuestionDivider: showAddQuestionDivider,
|
|
@@ -27219,7 +27246,8 @@ var ExternalForm = function ExternalForm(_ref) {
|
|
|
27219
27246
|
}, /*#__PURE__*/React__default.createElement(PageLoader, null));
|
|
27220
27247
|
}
|
|
27221
27248
|
var title = form.title,
|
|
27222
|
-
questions = form.questions
|
|
27249
|
+
_form$questions = form.questions,
|
|
27250
|
+
questions = _form$questions === void 0 ? [] : _form$questions;
|
|
27223
27251
|
var renderedQuestions = preview ? questions.filter(function (_ref4) {
|
|
27224
27252
|
var _destroy = _ref4._destroy;
|
|
27225
27253
|
return !_destroy;
|