@zengenti/contensis-react-base 3.0.0-beta.76 → 3.0.0-beta.79

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 CHANGED
@@ -44,7 +44,7 @@ const initialSettings = {
44
44
  }
45
45
  };
46
46
  const initialStatus = {
47
- isLoading: false,
47
+ isLoading: true,
48
48
  isSubmitting: false,
49
49
  hasSuccess: false,
50
50
  successMessage: null,
@@ -95,6 +95,7 @@ var reducer = immer.produce((state, action) => {
95
95
  state[formId].groups = groups;
96
96
  state[formId].defaultLanguage = defaultLanguage;
97
97
  state[formId].status.isSubmitting = false;
98
+ state[formId].status.isLoading = false;
98
99
  state[formId].status.hasSuccess = false;
99
100
  state[formId].status.hasError = false;
100
101
  state[formId].settings = settings;
@@ -288,30 +289,35 @@ const makeSelectIsLoading = formId => reselect.createSelector(selectForms, forms
288
289
 
289
290
  return (_forms$formId = forms[formId]) === null || _forms$formId === void 0 ? void 0 : _forms$formId.status.isLoading;
290
291
  });
291
- const makeSelectHasSuccess = formId => reselect.createSelector(selectForms, forms => {
292
+ const makeSelectIsSubmitting = formId => reselect.createSelector(selectForms, forms => {
292
293
  var _forms$formId2;
293
294
 
294
- return (_forms$formId2 = forms[formId]) === null || _forms$formId2 === void 0 ? void 0 : _forms$formId2.status.hasSuccess;
295
+ return (_forms$formId2 = forms[formId]) === null || _forms$formId2 === void 0 ? void 0 : _forms$formId2.status.isSubmitting;
295
296
  });
296
- const makeSelectFormFields = formId => reselect.createSelector(selectForms, forms => {
297
+ const makeSelectHasSuccess = formId => reselect.createSelector(selectForms, forms => {
297
298
  var _forms$formId3;
298
299
 
299
- return (_forms$formId3 = forms[formId]) === null || _forms$formId3 === void 0 ? void 0 : _forms$formId3.fields;
300
+ return (_forms$formId3 = forms[formId]) === null || _forms$formId3 === void 0 ? void 0 : _forms$formId3.status.hasSuccess;
300
301
  });
301
- const makeSelectDefaultLang = formId => reselect.createSelector(selectForms, forms => {
302
+ const makeSelectFormFields = formId => reselect.createSelector(selectForms, forms => {
302
303
  var _forms$formId4;
303
304
 
304
- return (_forms$formId4 = forms[formId]) === null || _forms$formId4 === void 0 ? void 0 : _forms$formId4.defaultLanguage;
305
+ return (_forms$formId4 = forms[formId]) === null || _forms$formId4 === void 0 ? void 0 : _forms$formId4.fields;
305
306
  });
306
- const makeSelectFormSuccessMessage = formId => reselect.createSelector(selectForms, forms => {
307
+ const makeSelectDefaultLang = formId => reselect.createSelector(selectForms, forms => {
307
308
  var _forms$formId5;
308
309
 
309
- return (_forms$formId5 = forms[formId]) === null || _forms$formId5 === void 0 ? void 0 : _forms$formId5.status.successMessage;
310
+ return (_forms$formId5 = forms[formId]) === null || _forms$formId5 === void 0 ? void 0 : _forms$formId5.defaultLanguage;
310
311
  });
311
- const makeSelectFormGroup$1 = formId => reselect.createSelector(selectForms, forms => {
312
+ const makeSelectFormSuccessMessage = formId => reselect.createSelector(selectForms, forms => {
312
313
  var _forms$formId6;
313
314
 
314
- return (_forms$formId6 = forms[formId]) === null || _forms$formId6 === void 0 ? void 0 : _forms$formId6.groups;
315
+ return (_forms$formId6 = forms[formId]) === null || _forms$formId6 === void 0 ? void 0 : _forms$formId6.status.successMessage;
316
+ });
317
+ const makeSelectFormGroup$1 = formId => reselect.createSelector(selectForms, forms => {
318
+ var _forms$formId7;
319
+
320
+ return (_forms$formId7 = forms[formId]) === null || _forms$formId7 === void 0 ? void 0 : _forms$formId7.groups;
315
321
  });
316
322
  const selectors = {
317
323
  selectForms,
@@ -323,6 +329,7 @@ const selectors = {
323
329
  makeSelectFormEntries,
324
330
  makeSelectFormPostData,
325
331
  makeSelectIsLoading,
332
+ makeSelectIsSubmitting,
326
333
  makeSelectHasSuccess,
327
334
  makeSelectFormFields,
328
335
  makeSelectDefaultLang,
@@ -633,7 +640,7 @@ function* fetchForm(action) {
633
640
 
634
641
  const formId = action.formId;
635
642
  const schema = yield getFormSchema(formId);
636
- 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');
643
+ 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');
637
644
 
638
645
  if (formId && schema) {
639
646
  var _schema$groups2, _submitButtonText$def;
@@ -1914,17 +1921,23 @@ FormComposer.propTypes = {
1914
1921
  setCheckboxValue: PropTypes__default["default"].func
1915
1922
  };
1916
1923
 
1917
- const LoadingSpinner = () => {
1924
+ const LoadingSpinner = ({
1925
+ className,
1926
+ color = '#fff',
1927
+ width = 20,
1928
+ height = 20
1929
+ }) => {
1918
1930
  return /*#__PURE__*/React__default["default"].createElement("svg", {
1919
- width: "20px",
1920
- height: "20px",
1931
+ className: className,
1932
+ width: `${width}px`,
1933
+ height: `${height}px`,
1921
1934
  viewBox: "0 0 100 100",
1922
1935
  preserveAspectRatio: "xMidYMid"
1923
1936
  }, /*#__PURE__*/React__default["default"].createElement("circle", {
1924
1937
  cx: "50",
1925
1938
  cy: "50",
1926
1939
  fill: "none",
1927
- stroke: "#ffffff",
1940
+ stroke: color,
1928
1941
  strokeWidth: "10",
1929
1942
  r: "35",
1930
1943
  strokeDasharray: "164.93361431346415 56.97787143782138",
@@ -1971,7 +1984,10 @@ const Button = ({
1971
1984
  onClick: () => action(),
1972
1985
  disabled: loading,
1973
1986
  useDefaultTheme: useDefaultTheme
1974
- }, text, loading && /*#__PURE__*/React__default["default"].createElement(LoadingSpinner, null));
1987
+ }, text, loading && /*#__PURE__*/React__default["default"].createElement(LoadingSpinner, {
1988
+ height: 18,
1989
+ width: 18
1990
+ }));
1975
1991
  };
1976
1992
  Button.propTypes = {
1977
1993
  className: PropTypes__default["default"].string,
@@ -2139,7 +2155,7 @@ const Form = ({
2139
2155
  className: className,
2140
2156
  id: formId,
2141
2157
  useDefaultTheme: useDefaultTheme
2142
- }, !status || status && !status.isLoading && !status.isSubmitting && !status.hasSuccess && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, pagingInfo.pageIndex > 0 && /*#__PURE__*/React__default["default"].createElement(Button, {
2158
+ }, !status || !(status !== null && status !== void 0 && status.hasSuccess) && !(status !== null && status !== void 0 && status.isLoading) ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, pagingInfo.pageIndex > 0 && /*#__PURE__*/React__default["default"].createElement(Button, {
2143
2159
  type: "button",
2144
2160
  text: "Go Back",
2145
2161
  action: () => _togglePageBack(formId, pagingInfo.pageIndex - 1),
@@ -2165,13 +2181,19 @@ const Form = ({
2165
2181
  }), isLastPage && /*#__PURE__*/React__default["default"].createElement(Button, {
2166
2182
  text: (settings === null || settings === void 0 ? void 0 : settings.submitButtonText) || "Submit",
2167
2183
  type: "button",
2184
+ loading: status === null || status === void 0 ? void 0 : status.isLoading,
2168
2185
  action: () => {
2169
2186
  _submitForm(formId);
2170
2187
 
2171
2188
  if (customSubmit) customSubmit();
2172
2189
  },
2173
2190
  useDefaultTheme: useDefaultTheme
2174
- })), status && status.hasSuccess && status.successMessage && /*#__PURE__*/React__default["default"].createElement("p", {
2191
+ })) : /*#__PURE__*/React__default["default"].createElement(LoadingSpinner, {
2192
+ className: "loading",
2193
+ height: 24,
2194
+ width: 24,
2195
+ color: "#333"
2196
+ }), (status === null || status === void 0 ? void 0 : status.hasSuccess) && (status === null || status === void 0 ? void 0 : status.successMessage) && /*#__PURE__*/React__default["default"].createElement("p", {
2175
2197
  className: "success-message"
2176
2198
  }, status.successMessage)));
2177
2199
  } else {
@@ -2181,7 +2203,7 @@ const Form = ({
2181
2203
  className: className,
2182
2204
  id: formId,
2183
2205
  useDefaultTheme: useDefaultTheme
2184
- }, !status || status && !status.isLoading && !status.isSubmitting && !status.hasSuccess && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(FormComposer, {
2206
+ }, !status || !(status !== null && status !== void 0 && status.hasSuccess) && !(status !== null && status !== void 0 && status.isLoading) ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(FormComposer, {
2185
2207
  fields: fields,
2186
2208
  formId: formId,
2187
2209
  setValue: _setValue,
@@ -2193,6 +2215,7 @@ const Form = ({
2193
2215
  entries: entries,
2194
2216
  setCheckboxValue: _setCheckboxValue
2195
2217
  }), /*#__PURE__*/React__default["default"].createElement(Button, {
2218
+ loading: status === null || status === void 0 ? void 0 : status.isSubmitting,
2196
2219
  text: (settings === null || settings === void 0 ? void 0 : settings.submitButtonText) || "Submit",
2197
2220
  type: "button",
2198
2221
  action: () => {
@@ -2201,7 +2224,12 @@ const Form = ({
2201
2224
  if (customSubmit) customSubmit();
2202
2225
  },
2203
2226
  useDefaultTheme: useDefaultTheme
2204
- })), status && status.hasSuccess && status.successMessage && /*#__PURE__*/React__default["default"].createElement("p", {
2227
+ })) : /*#__PURE__*/React__default["default"].createElement(LoadingSpinner, {
2228
+ className: "loading",
2229
+ height: 24,
2230
+ width: 24,
2231
+ color: "#333"
2232
+ }), (status === null || status === void 0 ? void 0 : status.hasSuccess) && (status === null || status === void 0 ? void 0 : status.successMessage) && /*#__PURE__*/React__default["default"].createElement("p", {
2205
2233
  className: "success-message"
2206
2234
  }, status.successMessage)));
2207
2235
  }