@bigbinary/neeto-form-frontend 1.2.46 → 1.2.47
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 +23 -11
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +24 -12
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -76,6 +76,16 @@ The engine adds setup for form on backend and allows us to attach forms to any m
|
|
|
76
76
|
has_one :form, class_name: "::NeetoFormEngine::Form", as: :attachable
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
+
### Customizability
|
|
80
|
+
The engine supports customizing the default behavior of `Questions::UpdateService`. The supported methods/constants can be overridden by defining them in the concern `NeetoFormEngine::Customizable::Questions::Updateable`
|
|
81
|
+
|
|
82
|
+
#### Available methods:
|
|
83
|
+
1. `create_question!`: This takes 2 arguments: `params` and `question`. The `params` argument contains the question parameters passed from the front-end, and the `question` argument contains the current question. This argument is required if you need translation support.
|
|
84
|
+
2. `additional_question_params`: If you want to include additional attributes while creating questions, you can specify them using this method. It takes one argument `params` which will be the question parameters passed from the front-end.
|
|
85
|
+
|
|
86
|
+
#### Available constants:
|
|
87
|
+
1. `EXCLUDED_UPDATE_PARAMS`: If you have included extra parameters other than `kind` for additional use cases that are not valid entity attributes, they need to be specified as `EXCLUDED_UPDATE_PARAMS`.
|
|
88
|
+
|
|
79
89
|
## Frontend package
|
|
80
90
|
The frontend package allows us to create forms across neeto products.
|
|
81
91
|
|
package/dist/index.cjs.js
CHANGED
|
@@ -9842,14 +9842,15 @@ var useBuildFormState = function useBuildFormState() {
|
|
|
9842
9842
|
};
|
|
9843
9843
|
|
|
9844
9844
|
var ChangeLanguageDropdown = function ChangeLanguageDropdown(_ref) {
|
|
9845
|
-
var
|
|
9845
|
+
var _findBy;
|
|
9846
|
+
var currentLanguage = _ref.currentLanguage,
|
|
9846
9847
|
languages = _ref.languages,
|
|
9847
9848
|
onChange = _ref.onChange;
|
|
9848
9849
|
var _useState = React$2.useState(false),
|
|
9849
9850
|
_useState2 = _slicedToArray$3(_useState, 2),
|
|
9850
9851
|
isUnsavedChangesAlertOpen = _useState2[0],
|
|
9851
9852
|
setIsUnsavedChangesAlertOpen = _useState2[1];
|
|
9852
|
-
var _useState3 = React$2.useState(
|
|
9853
|
+
var _useState3 = React$2.useState(currentLanguage),
|
|
9853
9854
|
_useState4 = _slicedToArray$3(_useState3, 2),
|
|
9854
9855
|
selectedLanguage = _useState4[0],
|
|
9855
9856
|
setSelectedLanguage = _useState4[1];
|
|
@@ -9865,17 +9866,24 @@ var ChangeLanguageDropdown = function ChangeLanguageDropdown(_ref) {
|
|
|
9865
9866
|
setSelectedLanguage(code);
|
|
9866
9867
|
setIsUnsavedChangesAlertOpen(true);
|
|
9867
9868
|
};
|
|
9869
|
+
var selectedLanguageName = (_findBy = neetoCist.findBy({
|
|
9870
|
+
code: currentLanguage
|
|
9871
|
+
}, languages)) === null || _findBy === void 0 ? void 0 : _findBy.name;
|
|
9868
9872
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
|
|
9869
9873
|
content: t("neetoForm.questions.changeLanguage")
|
|
9870
9874
|
}, /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, {
|
|
9875
|
+
buttonProps: {
|
|
9876
|
+
iconPosition: "left"
|
|
9877
|
+
},
|
|
9871
9878
|
buttonStyle: "text",
|
|
9872
9879
|
icon: neetoIcons.Globe,
|
|
9880
|
+
label: selectedLanguageName,
|
|
9873
9881
|
position: "top-start"
|
|
9874
9882
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown.Menu, null, languages.map(function (_ref2) {
|
|
9875
9883
|
var code = _ref2.code,
|
|
9876
9884
|
name = _ref2.name;
|
|
9877
9885
|
return /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown.MenuItem.Button, {
|
|
9878
|
-
isActive:
|
|
9886
|
+
isActive: currentLanguage === code,
|
|
9879
9887
|
key: code,
|
|
9880
9888
|
onClick: function onClick() {
|
|
9881
9889
|
return languageChangeHandler(code);
|
|
@@ -9912,7 +9920,7 @@ var Overview = function Overview(_ref) {
|
|
|
9912
9920
|
style: "h4",
|
|
9913
9921
|
weight: "semibold"
|
|
9914
9922
|
}, title), availableLanguages.length > 1 && /*#__PURE__*/React__default["default"].createElement(ChangeLanguageDropdown, {
|
|
9915
|
-
|
|
9923
|
+
currentLanguage: selectedLanguage,
|
|
9916
9924
|
languages: availableLanguages,
|
|
9917
9925
|
onChange: onLanguageChange
|
|
9918
9926
|
})), description);
|
|
@@ -12047,7 +12055,8 @@ var BuildForm = function BuildForm(_ref) {
|
|
|
12047
12055
|
className: "flex h-full w-full items-center justify-center py-6"
|
|
12048
12056
|
}, /*#__PURE__*/React__default["default"].createElement(PageLoader__default["default"], null));
|
|
12049
12057
|
}
|
|
12050
|
-
var handleSubmit = function handleSubmit(payload) {
|
|
12058
|
+
var handleSubmit = function handleSubmit(payload, _ref2) {
|
|
12059
|
+
var setSubmitting = _ref2.setSubmitting;
|
|
12051
12060
|
updateQuestions({
|
|
12052
12061
|
id: id,
|
|
12053
12062
|
values: _objectSpread$e({
|
|
@@ -12055,7 +12064,10 @@ var BuildForm = function BuildForm(_ref) {
|
|
|
12055
12064
|
neetoFormQuestion: payload
|
|
12056
12065
|
}, buildRequestArgs)
|
|
12057
12066
|
}, {
|
|
12058
|
-
onSuccess: refetch
|
|
12067
|
+
onSuccess: refetch,
|
|
12068
|
+
onSettled: function onSettled() {
|
|
12069
|
+
return setSubmitting(false);
|
|
12070
|
+
}
|
|
12059
12071
|
});
|
|
12060
12072
|
};
|
|
12061
12073
|
var onValueChange = function onValueChange(questions) {
|
|
@@ -12068,8 +12080,8 @@ var BuildForm = function BuildForm(_ref) {
|
|
|
12068
12080
|
var isDeletable = isQuestionDeletable !== null && isQuestionDeletable !== void 0 ? isQuestionDeletable : function (question) {
|
|
12069
12081
|
return !nonRemovableFields.includes(question.kind);
|
|
12070
12082
|
};
|
|
12071
|
-
var isRequiredField = isFieldRequired !== null && isFieldRequired !== void 0 ? isFieldRequired : function (
|
|
12072
|
-
var kind =
|
|
12083
|
+
var isRequiredField = isFieldRequired !== null && isFieldRequired !== void 0 ? isFieldRequired : function (_ref3) {
|
|
12084
|
+
var kind = _ref3.kind;
|
|
12073
12085
|
return requiredFields.includes(kind);
|
|
12074
12086
|
};
|
|
12075
12087
|
var isDisabledFieldLabel = isFieldLabelDisabled !== null && isFieldLabelDisabled !== void 0 ? isFieldLabelDisabled : function () {
|
|
@@ -12087,9 +12099,9 @@ var BuildForm = function BuildForm(_ref) {
|
|
|
12087
12099
|
},
|
|
12088
12100
|
validationSchema: formValidationSchema,
|
|
12089
12101
|
onSubmit: handleSubmit
|
|
12090
|
-
}, function (
|
|
12091
|
-
var errors =
|
|
12092
|
-
setFieldError =
|
|
12102
|
+
}, function (_ref4) {
|
|
12103
|
+
var errors = _ref4.errors,
|
|
12104
|
+
setFieldError = _ref4.setFieldError;
|
|
12093
12105
|
return /*#__PURE__*/React__default["default"].createElement(Form, _extends$8({}, _objectSpread$e(_objectSpread$e({}, formDomProps), {}, {
|
|
12094
12106
|
availableLanguages: availableLanguages,
|
|
12095
12107
|
cancelButtonProps: cancelButtonProps,
|