@zengenti/contensis-react-base 3.0.0-beta.75 → 3.0.0-beta.78
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/cjs/forms.js +52 -22
- package/cjs/forms.js.map +1 -1
- package/esm/forms.js +52 -22
- package/esm/forms.js.map +1 -1
- package/package.json +1 -1
package/esm/forms.js
CHANGED
|
@@ -34,7 +34,7 @@ const initialSettings = {
|
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
36
|
const initialStatus = {
|
|
37
|
-
isLoading:
|
|
37
|
+
isLoading: true,
|
|
38
38
|
isSubmitting: false,
|
|
39
39
|
hasSuccess: false,
|
|
40
40
|
successMessage: null,
|
|
@@ -85,6 +85,7 @@ var reducer = produce((state, action) => {
|
|
|
85
85
|
state[formId].groups = groups;
|
|
86
86
|
state[formId].defaultLanguage = defaultLanguage;
|
|
87
87
|
state[formId].status.isSubmitting = false;
|
|
88
|
+
state[formId].status.isLoading = false;
|
|
88
89
|
state[formId].status.hasSuccess = false;
|
|
89
90
|
state[formId].status.hasError = false;
|
|
90
91
|
state[formId].settings = settings;
|
|
@@ -278,30 +279,35 @@ const makeSelectIsLoading = formId => createSelector(selectForms, forms => {
|
|
|
278
279
|
|
|
279
280
|
return (_forms$formId = forms[formId]) === null || _forms$formId === void 0 ? void 0 : _forms$formId.status.isLoading;
|
|
280
281
|
});
|
|
281
|
-
const
|
|
282
|
+
const makeSelectIsSubmitting = formId => createSelector(selectForms, forms => {
|
|
282
283
|
var _forms$formId2;
|
|
283
284
|
|
|
284
|
-
return (_forms$formId2 = forms[formId]) === null || _forms$formId2 === void 0 ? void 0 : _forms$formId2.status.
|
|
285
|
+
return (_forms$formId2 = forms[formId]) === null || _forms$formId2 === void 0 ? void 0 : _forms$formId2.status.isSubmitting;
|
|
285
286
|
});
|
|
286
|
-
const
|
|
287
|
+
const makeSelectHasSuccess = formId => createSelector(selectForms, forms => {
|
|
287
288
|
var _forms$formId3;
|
|
288
289
|
|
|
289
|
-
return (_forms$formId3 = forms[formId]) === null || _forms$formId3 === void 0 ? void 0 : _forms$formId3.
|
|
290
|
+
return (_forms$formId3 = forms[formId]) === null || _forms$formId3 === void 0 ? void 0 : _forms$formId3.status.hasSuccess;
|
|
290
291
|
});
|
|
291
|
-
const
|
|
292
|
+
const makeSelectFormFields = formId => createSelector(selectForms, forms => {
|
|
292
293
|
var _forms$formId4;
|
|
293
294
|
|
|
294
|
-
return (_forms$formId4 = forms[formId]) === null || _forms$formId4 === void 0 ? void 0 : _forms$formId4.
|
|
295
|
+
return (_forms$formId4 = forms[formId]) === null || _forms$formId4 === void 0 ? void 0 : _forms$formId4.fields;
|
|
295
296
|
});
|
|
296
|
-
const
|
|
297
|
+
const makeSelectDefaultLang = formId => createSelector(selectForms, forms => {
|
|
297
298
|
var _forms$formId5;
|
|
298
299
|
|
|
299
|
-
return (_forms$formId5 = forms[formId]) === null || _forms$formId5 === void 0 ? void 0 : _forms$formId5.
|
|
300
|
+
return (_forms$formId5 = forms[formId]) === null || _forms$formId5 === void 0 ? void 0 : _forms$formId5.defaultLanguage;
|
|
300
301
|
});
|
|
301
|
-
const
|
|
302
|
+
const makeSelectFormSuccessMessage = formId => createSelector(selectForms, forms => {
|
|
302
303
|
var _forms$formId6;
|
|
303
304
|
|
|
304
|
-
return (_forms$formId6 = forms[formId]) === null || _forms$formId6 === void 0 ? void 0 : _forms$formId6.
|
|
305
|
+
return (_forms$formId6 = forms[formId]) === null || _forms$formId6 === void 0 ? void 0 : _forms$formId6.status.successMessage;
|
|
306
|
+
});
|
|
307
|
+
const makeSelectFormGroup$1 = formId => createSelector(selectForms, forms => {
|
|
308
|
+
var _forms$formId7;
|
|
309
|
+
|
|
310
|
+
return (_forms$formId7 = forms[formId]) === null || _forms$formId7 === void 0 ? void 0 : _forms$formId7.groups;
|
|
305
311
|
});
|
|
306
312
|
const selectors = {
|
|
307
313
|
selectForms,
|
|
@@ -313,6 +319,7 @@ const selectors = {
|
|
|
313
319
|
makeSelectFormEntries,
|
|
314
320
|
makeSelectFormPostData,
|
|
315
321
|
makeSelectIsLoading,
|
|
322
|
+
makeSelectIsSubmitting,
|
|
316
323
|
makeSelectHasSuccess,
|
|
317
324
|
makeSelectFormFields,
|
|
318
325
|
makeSelectDefaultLang,
|
|
@@ -474,13 +481,15 @@ const isBusinessEmailValid = (field, value) => {
|
|
|
474
481
|
};
|
|
475
482
|
|
|
476
483
|
const MakeFieldType = field => {
|
|
484
|
+
var _field$editor, _field$editor$propert;
|
|
485
|
+
|
|
477
486
|
if (!field) return null;
|
|
478
487
|
|
|
479
488
|
if (field.dataType === 'string' && field.editor && field.editor.id === 'multiline') {
|
|
480
489
|
return 'textarea';
|
|
481
490
|
} else if (field.dataType === 'string' && field.editor && field.editor.id === 'list-dropdown') {
|
|
482
491
|
return 'dropdown';
|
|
483
|
-
} else if (field
|
|
492
|
+
} else if (field !== null && field !== void 0 && (_field$editor = field.editor) !== null && _field$editor !== void 0 && (_field$editor$propert = _field$editor.properties) !== null && _field$editor$propert !== void 0 && _field$editor$propert.readOnly || (field === null || field === void 0 ? void 0 : field.groupId) === 'private' || (field === null || field === void 0 ? void 0 : field.groupId) === 'settings') {
|
|
484
493
|
return 'hidden';
|
|
485
494
|
} else if (field.dataType === 'stringArray' || field.dataType === 'boolean') {
|
|
486
495
|
return 'checkbox';
|
|
@@ -621,7 +630,7 @@ function* fetchForm(action) {
|
|
|
621
630
|
|
|
622
631
|
const formId = action.formId;
|
|
623
632
|
const schema = yield getFormSchema(formId);
|
|
624
|
-
const groups = schema === null || schema === void 0 ? void 0 : (_schema$groups = schema.groups) === null || _schema$groups === void 0 ? void 0 : _schema$groups.filter(group => group.id !== 'private');
|
|
633
|
+
const groups = schema === null || schema === void 0 ? void 0 : (_schema$groups = schema.groups) === null || _schema$groups === void 0 ? void 0 : _schema$groups.filter(group => group.id !== 'private' && group.id !== 'settings');
|
|
625
634
|
|
|
626
635
|
if (formId && schema) {
|
|
627
636
|
var _schema$groups2, _submitButtonText$def;
|
|
@@ -1902,17 +1911,23 @@ FormComposer.propTypes = {
|
|
|
1902
1911
|
setCheckboxValue: PropTypes.func
|
|
1903
1912
|
};
|
|
1904
1913
|
|
|
1905
|
-
const LoadingSpinner = (
|
|
1914
|
+
const LoadingSpinner = ({
|
|
1915
|
+
className,
|
|
1916
|
+
color = '#fff',
|
|
1917
|
+
width = 20,
|
|
1918
|
+
height = 20
|
|
1919
|
+
}) => {
|
|
1906
1920
|
return /*#__PURE__*/React.createElement("svg", {
|
|
1907
|
-
|
|
1908
|
-
|
|
1921
|
+
className: className,
|
|
1922
|
+
width: `${width}px`,
|
|
1923
|
+
height: `${height}px`,
|
|
1909
1924
|
viewBox: "0 0 100 100",
|
|
1910
1925
|
preserveAspectRatio: "xMidYMid"
|
|
1911
1926
|
}, /*#__PURE__*/React.createElement("circle", {
|
|
1912
1927
|
cx: "50",
|
|
1913
1928
|
cy: "50",
|
|
1914
1929
|
fill: "none",
|
|
1915
|
-
stroke:
|
|
1930
|
+
stroke: color,
|
|
1916
1931
|
strokeWidth: "10",
|
|
1917
1932
|
r: "35",
|
|
1918
1933
|
strokeDasharray: "164.93361431346415 56.97787143782138",
|
|
@@ -1959,7 +1974,10 @@ const Button = ({
|
|
|
1959
1974
|
onClick: () => action(),
|
|
1960
1975
|
disabled: loading,
|
|
1961
1976
|
useDefaultTheme: useDefaultTheme
|
|
1962
|
-
}, text, loading && /*#__PURE__*/React.createElement(LoadingSpinner,
|
|
1977
|
+
}, text, loading && /*#__PURE__*/React.createElement(LoadingSpinner, {
|
|
1978
|
+
height: 18,
|
|
1979
|
+
width: 18
|
|
1980
|
+
}));
|
|
1963
1981
|
};
|
|
1964
1982
|
Button.propTypes = {
|
|
1965
1983
|
className: PropTypes.string,
|
|
@@ -2127,7 +2145,7 @@ const Form = ({
|
|
|
2127
2145
|
className: className,
|
|
2128
2146
|
id: formId,
|
|
2129
2147
|
useDefaultTheme: useDefaultTheme
|
|
2130
|
-
}, !status || status &&
|
|
2148
|
+
}, !status || !(status !== null && status !== void 0 && status.hasSuccess) && !(status !== null && status !== void 0 && status.isLoading) ? /*#__PURE__*/React.createElement(React.Fragment, null, pagingInfo.pageIndex > 0 && /*#__PURE__*/React.createElement(Button, {
|
|
2131
2149
|
type: "button",
|
|
2132
2150
|
text: "Go Back",
|
|
2133
2151
|
action: () => _togglePageBack(formId, pagingInfo.pageIndex - 1),
|
|
@@ -2153,13 +2171,19 @@ const Form = ({
|
|
|
2153
2171
|
}), isLastPage && /*#__PURE__*/React.createElement(Button, {
|
|
2154
2172
|
text: (settings === null || settings === void 0 ? void 0 : settings.submitButtonText) || "Submit",
|
|
2155
2173
|
type: "button",
|
|
2174
|
+
loading: status === null || status === void 0 ? void 0 : status.isLoading,
|
|
2156
2175
|
action: () => {
|
|
2157
2176
|
_submitForm(formId);
|
|
2158
2177
|
|
|
2159
2178
|
if (customSubmit) customSubmit();
|
|
2160
2179
|
},
|
|
2161
2180
|
useDefaultTheme: useDefaultTheme
|
|
2162
|
-
}))
|
|
2181
|
+
})) : /*#__PURE__*/React.createElement(LoadingSpinner, {
|
|
2182
|
+
className: "loading",
|
|
2183
|
+
height: 24,
|
|
2184
|
+
width: 24,
|
|
2185
|
+
color: "#333"
|
|
2186
|
+
}), (status === null || status === void 0 ? void 0 : status.hasSuccess) && (status === null || status === void 0 ? void 0 : status.successMessage) && /*#__PURE__*/React.createElement("p", {
|
|
2163
2187
|
className: "success-message"
|
|
2164
2188
|
}, status.successMessage)));
|
|
2165
2189
|
} else {
|
|
@@ -2169,7 +2193,7 @@ const Form = ({
|
|
|
2169
2193
|
className: className,
|
|
2170
2194
|
id: formId,
|
|
2171
2195
|
useDefaultTheme: useDefaultTheme
|
|
2172
|
-
}, !status || status &&
|
|
2196
|
+
}, !status || !(status !== null && status !== void 0 && status.hasSuccess) && !(status !== null && status !== void 0 && status.isLoading) ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormComposer, {
|
|
2173
2197
|
fields: fields,
|
|
2174
2198
|
formId: formId,
|
|
2175
2199
|
setValue: _setValue,
|
|
@@ -2181,6 +2205,7 @@ const Form = ({
|
|
|
2181
2205
|
entries: entries,
|
|
2182
2206
|
setCheckboxValue: _setCheckboxValue
|
|
2183
2207
|
}), /*#__PURE__*/React.createElement(Button, {
|
|
2208
|
+
loading: status === null || status === void 0 ? void 0 : status.isSubmitting,
|
|
2184
2209
|
text: (settings === null || settings === void 0 ? void 0 : settings.submitButtonText) || "Submit",
|
|
2185
2210
|
type: "button",
|
|
2186
2211
|
action: () => {
|
|
@@ -2189,7 +2214,12 @@ const Form = ({
|
|
|
2189
2214
|
if (customSubmit) customSubmit();
|
|
2190
2215
|
},
|
|
2191
2216
|
useDefaultTheme: useDefaultTheme
|
|
2192
|
-
}))
|
|
2217
|
+
})) : /*#__PURE__*/React.createElement(LoadingSpinner, {
|
|
2218
|
+
className: "loading",
|
|
2219
|
+
height: 24,
|
|
2220
|
+
width: 24,
|
|
2221
|
+
color: "#333"
|
|
2222
|
+
}), (status === null || status === void 0 ? void 0 : status.hasSuccess) && (status === null || status === void 0 ? void 0 : status.successMessage) && /*#__PURE__*/React.createElement("p", {
|
|
2193
2223
|
className: "success-message"
|
|
2194
2224
|
}, status.successMessage)));
|
|
2195
2225
|
}
|