@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 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,
@@ -484,13 +491,15 @@ const isBusinessEmailValid = (field, value) => {
484
491
  };
485
492
 
486
493
  const MakeFieldType = field => {
494
+ var _field$editor, _field$editor$propert;
495
+
487
496
  if (!field) return null;
488
497
 
489
498
  if (field.dataType === 'string' && field.editor && field.editor.id === 'multiline') {
490
499
  return 'textarea';
491
500
  } else if (field.dataType === 'string' && field.editor && field.editor.id === 'list-dropdown') {
492
501
  return 'dropdown';
493
- } else if (field.editor && field.editor.properties && field.editor.properties.readOnly || field.groupId && field.groupId === 'private') {
502
+ } 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') {
494
503
  return 'hidden';
495
504
  } else if (field.dataType === 'stringArray' || field.dataType === 'boolean') {
496
505
  return 'checkbox';
@@ -631,7 +640,7 @@ function* fetchForm(action) {
631
640
 
632
641
  const formId = action.formId;
633
642
  const schema = yield getFormSchema(formId);
634
- 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');
635
644
 
636
645
  if (formId && schema) {
637
646
  var _schema$groups2, _submitButtonText$def;
@@ -1912,17 +1921,23 @@ FormComposer.propTypes = {
1912
1921
  setCheckboxValue: PropTypes__default["default"].func
1913
1922
  };
1914
1923
 
1915
- const LoadingSpinner = () => {
1924
+ const LoadingSpinner = ({
1925
+ className,
1926
+ color = '#fff',
1927
+ width = 20,
1928
+ height = 20
1929
+ }) => {
1916
1930
  return /*#__PURE__*/React__default["default"].createElement("svg", {
1917
- width: "20px",
1918
- height: "20px",
1931
+ className: className,
1932
+ width: `${width}px`,
1933
+ height: `${height}px`,
1919
1934
  viewBox: "0 0 100 100",
1920
1935
  preserveAspectRatio: "xMidYMid"
1921
1936
  }, /*#__PURE__*/React__default["default"].createElement("circle", {
1922
1937
  cx: "50",
1923
1938
  cy: "50",
1924
1939
  fill: "none",
1925
- stroke: "#ffffff",
1940
+ stroke: color,
1926
1941
  strokeWidth: "10",
1927
1942
  r: "35",
1928
1943
  strokeDasharray: "164.93361431346415 56.97787143782138",
@@ -1969,7 +1984,10 @@ const Button = ({
1969
1984
  onClick: () => action(),
1970
1985
  disabled: loading,
1971
1986
  useDefaultTheme: useDefaultTheme
1972
- }, 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
+ }));
1973
1991
  };
1974
1992
  Button.propTypes = {
1975
1993
  className: PropTypes__default["default"].string,
@@ -2137,7 +2155,7 @@ const Form = ({
2137
2155
  className: className,
2138
2156
  id: formId,
2139
2157
  useDefaultTheme: useDefaultTheme
2140
- }, !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, {
2141
2159
  type: "button",
2142
2160
  text: "Go Back",
2143
2161
  action: () => _togglePageBack(formId, pagingInfo.pageIndex - 1),
@@ -2163,13 +2181,19 @@ const Form = ({
2163
2181
  }), isLastPage && /*#__PURE__*/React__default["default"].createElement(Button, {
2164
2182
  text: (settings === null || settings === void 0 ? void 0 : settings.submitButtonText) || "Submit",
2165
2183
  type: "button",
2184
+ loading: status === null || status === void 0 ? void 0 : status.isLoading,
2166
2185
  action: () => {
2167
2186
  _submitForm(formId);
2168
2187
 
2169
2188
  if (customSubmit) customSubmit();
2170
2189
  },
2171
2190
  useDefaultTheme: useDefaultTheme
2172
- })), 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", {
2173
2197
  className: "success-message"
2174
2198
  }, status.successMessage)));
2175
2199
  } else {
@@ -2179,7 +2203,7 @@ const Form = ({
2179
2203
  className: className,
2180
2204
  id: formId,
2181
2205
  useDefaultTheme: useDefaultTheme
2182
- }, !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, {
2183
2207
  fields: fields,
2184
2208
  formId: formId,
2185
2209
  setValue: _setValue,
@@ -2191,6 +2215,7 @@ const Form = ({
2191
2215
  entries: entries,
2192
2216
  setCheckboxValue: _setCheckboxValue
2193
2217
  }), /*#__PURE__*/React__default["default"].createElement(Button, {
2218
+ loading: status === null || status === void 0 ? void 0 : status.isSubmitting,
2194
2219
  text: (settings === null || settings === void 0 ? void 0 : settings.submitButtonText) || "Submit",
2195
2220
  type: "button",
2196
2221
  action: () => {
@@ -2199,7 +2224,12 @@ const Form = ({
2199
2224
  if (customSubmit) customSubmit();
2200
2225
  },
2201
2226
  useDefaultTheme: useDefaultTheme
2202
- })), 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", {
2203
2233
  className: "success-message"
2204
2234
  }, status.successMessage)));
2205
2235
  }