@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/esm/forms.js CHANGED
@@ -34,7 +34,7 @@ const initialSettings = {
34
34
  }
35
35
  };
36
36
  const initialStatus = {
37
- isLoading: false,
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 makeSelectHasSuccess = formId => createSelector(selectForms, forms => {
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.hasSuccess;
285
+ return (_forms$formId2 = forms[formId]) === null || _forms$formId2 === void 0 ? void 0 : _forms$formId2.status.isSubmitting;
285
286
  });
286
- const makeSelectFormFields = formId => createSelector(selectForms, forms => {
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.fields;
290
+ return (_forms$formId3 = forms[formId]) === null || _forms$formId3 === void 0 ? void 0 : _forms$formId3.status.hasSuccess;
290
291
  });
291
- const makeSelectDefaultLang = formId => createSelector(selectForms, forms => {
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.defaultLanguage;
295
+ return (_forms$formId4 = forms[formId]) === null || _forms$formId4 === void 0 ? void 0 : _forms$formId4.fields;
295
296
  });
296
- const makeSelectFormSuccessMessage = formId => createSelector(selectForms, forms => {
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.status.successMessage;
300
+ return (_forms$formId5 = forms[formId]) === null || _forms$formId5 === void 0 ? void 0 : _forms$formId5.defaultLanguage;
300
301
  });
301
- const makeSelectFormGroup$1 = formId => createSelector(selectForms, forms => {
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.groups;
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.editor && field.editor.properties && field.editor.properties.readOnly || field.groupId && field.groupId === 'private') {
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
- width: "20px",
1908
- height: "20px",
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: "#ffffff",
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, null));
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 && !status.isLoading && !status.isSubmitting && !status.hasSuccess && /*#__PURE__*/React.createElement(React.Fragment, null, pagingInfo.pageIndex > 0 && /*#__PURE__*/React.createElement(Button, {
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
- })), status && status.hasSuccess && status.successMessage && /*#__PURE__*/React.createElement("p", {
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 && !status.isLoading && !status.isSubmitting && !status.hasSuccess && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormComposer, {
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
- })), status && status.hasSuccess && status.successMessage && /*#__PURE__*/React.createElement("p", {
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
  }