@zengenti/contensis-react-base 3.0.2-beta.18 → 3.0.2-beta.19

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
@@ -36,7 +36,8 @@ const SET_FIELD_ERROR = `${ACTION_PREFIX}SET_FIELD_ERROR`;
36
36
  const SET_DATE_RANGE_VALUES = `${ACTION_PREFIX}SET_DATE_RANGE_VALUES`;
37
37
  const SET_FORM_ENTRIES = `${ACTION_PREFIX}SET_FORM_ENTRIES`;
38
38
  const SET_SUCCESS_MESSAGE = `${ACTION_PREFIX}SET_SUCCESS_MESSAGE`;
39
- const SET_CHECKBOX_VALUE = `${ACTION_PREFIX}SET_CHECKBOX_VALUE`;
39
+ const SET_MULTIPLE_CHECKBOX_VALUE = `${ACTION_PREFIX}SET_MULTIPLE_CHECKBOX_VALUE`;
40
+ const SET_SINGLE_CHECKBOX_VALUE = `${ACTION_PREFIX}SET_SINGLE_CHECKBOX_VALUE`;
40
41
 
41
42
  const initialSettings = {
42
43
  recaptcha: {
@@ -140,19 +141,26 @@ var reducer = immer.produce((state, action) => {
140
141
  };
141
142
  return;
142
143
  }
143
- case SET_CHECKBOX_VALUE:
144
+ case SET_SINGLE_CHECKBOX_VALUE:
144
145
  {
145
146
  const {
146
147
  formId,
147
148
  id,
148
- value,
149
- isChecked
149
+ value
150
150
  } = action || {};
151
- let values = state[formId].data[id] || [];
152
- if (isChecked) state[formId].data[id] = {
153
- ...values,
151
+ state[formId].data[id] = value;
152
+ return;
153
+ }
154
+ case SET_MULTIPLE_CHECKBOX_VALUE:
155
+ {
156
+ const {
157
+ formId,
158
+ id,
159
+ label,
154
160
  value
155
- };else state[formId].data[id] = values.filter(v => v !== value);
161
+ } = action || {};
162
+ const checked = state[formId].data[id] || [];
163
+ if (value) state[formId].data[id] = [...checked, label];else state[formId].data[id] = checked.filter(v => v !== label);
156
164
  return;
157
165
  }
158
166
  case SET_DATE_RANGE_VALUES:
@@ -808,11 +816,16 @@ const setValue = (formId, id, value) => action(SET_FIELD_VALUE, {
808
816
  id,
809
817
  value
810
818
  });
811
- const setCheckboxValue = (formId, id, value, isChecked) => action(SET_CHECKBOX_VALUE, {
819
+ const setSingleCheckboxValue = (formId, id, value) => action(SET_SINGLE_CHECKBOX_VALUE, {
812
820
  formId,
813
821
  id,
814
- value,
815
- isChecked
822
+ value
823
+ });
824
+ const setMultipleCheckboxValue = (formId, id, label, value) => action(SET_MULTIPLE_CHECKBOX_VALUE, {
825
+ formId,
826
+ id,
827
+ label,
828
+ value
816
829
  });
817
830
  const setDateRangeValues = (formId, id, dateType, value) => action(SET_DATE_RANGE_VALUES, {
818
831
  formId,
@@ -837,8 +850,8 @@ const actions = {
837
850
  onSubmit,
838
851
  setFormId,
839
852
  setValue,
840
- setCheckboxValue,
841
- setDateRangeValues,
853
+ setSingleCheckboxValue,
854
+ setMultipleCheckboxValue,
842
855
  onValidateField,
843
856
  doTogglePageForward,
844
857
  doTogglePageBack
@@ -1279,7 +1292,6 @@ const CheckboxStyled = styled__default["default"].div.withConfig({
1279
1292
  const Checkbox = ({
1280
1293
  className,
1281
1294
  formId,
1282
- setCheckboxValue,
1283
1295
  id,
1284
1296
  type,
1285
1297
  label,
@@ -1292,14 +1304,15 @@ const Checkbox = ({
1292
1304
  // NF change rules of hooks
1293
1305
  let isDefaultChecked = defaultValue && defaultValue[defaultLanguage];
1294
1306
  const [isChecked, setIsChecked] = React.useState(isDefaultChecked || '');
1307
+ const dispatch = reactRedux.useDispatch();
1295
1308
  switch (type) {
1296
1309
  case 'multiple':
1297
1310
  {
1298
1311
  if (!validations) return null;
1299
1312
  const isRequired = validations && validations.required ? true : false;
1300
1313
  const cbValues = validations && validations.allowedValues && validations.allowedValues.values;
1301
- const _handleChange = (value, isChecked) => {
1302
- setCheckboxValue(formId, id, value, isChecked);
1314
+ const _handleChange = (label, value) => {
1315
+ dispatch(setMultipleCheckboxValue(formId, id, label, value));
1303
1316
  };
1304
1317
  if (!cbValues || cbValues.length < 1) return null;
1305
1318
  return /*#__PURE__*/React__default["default"].createElement(CheckboxStyled, {
@@ -1330,9 +1343,9 @@ const Checkbox = ({
1330
1343
  }
1331
1344
  case 'single':
1332
1345
  {
1333
- const _handleChange = isChecked => {
1334
- setIsChecked(isChecked);
1335
- setCheckboxValue(formId, id, isChecked);
1346
+ const _handleChange = value => {
1347
+ setIsChecked(value);
1348
+ dispatch(setSingleCheckboxValue(formId, id, value));
1336
1349
  };
1337
1350
  return /*#__PURE__*/React__default["default"].createElement(CheckboxStyled, {
1338
1351
  className: `checkbox-container`,
@@ -1361,7 +1374,6 @@ Checkbox.propTypes = {
1361
1374
  id: PropTypes__default["default"].string,
1362
1375
  type: PropTypes__default["default"].string,
1363
1376
  label: PropTypes__default["default"].string,
1364
- setCheckboxValue: PropTypes__default["default"].func,
1365
1377
  validations: PropTypes__default["default"].object,
1366
1378
  defaultLanguage: PropTypes__default["default"].string,
1367
1379
  name: PropTypes__default["default"].object,
@@ -1709,8 +1721,7 @@ const FormComposer = ({
1709
1721
  defaultLanguage,
1710
1722
  errors,
1711
1723
  useDefaultTheme,
1712
- entries,
1713
- setCheckboxValue
1724
+ entries
1714
1725
  }) => {
1715
1726
  if (!fields || fields.length < 1) return null;
1716
1727
  return fields.map((field, idx) => {
@@ -1782,8 +1793,7 @@ const FormComposer = ({
1782
1793
  formId: formId,
1783
1794
  defaultValue: formData && formData[field.id] || field.default,
1784
1795
  type: field.dataType === 'boolean' ? 'single' : 'multiple',
1785
- useDefaultTheme: useDefaultTheme,
1786
- setCheckboxValue: setCheckboxValue
1796
+ useDefaultTheme: useDefaultTheme
1787
1797
  });
1788
1798
  }
1789
1799
  case 'radio':
@@ -1866,8 +1876,7 @@ FormComposer.propTypes = {
1866
1876
  setDateRangeValues: PropTypes__default["default"].func,
1867
1877
  defaultLanguage: PropTypes__default["default"].string,
1868
1878
  errors: PropTypes__default["default"].array,
1869
- useDefaultTheme: PropTypes__default["default"].bool,
1870
- setCheckboxValue: PropTypes__default["default"].func
1879
+ useDefaultTheme: PropTypes__default["default"].bool
1871
1880
  };
1872
1881
 
1873
1882
  const Loader = ({
@@ -1978,7 +1987,6 @@ const Form = ({
1978
1987
  const dispatch = reactRedux.useDispatch();
1979
1988
  const _setFormId = formId => dispatch(setFormId(formId));
1980
1989
  const _setValue = (formId, id, value) => dispatch(setValue(formId, id, value));
1981
- const _setCheckboxValue = (formId, id, value, isChecked) => dispatch(setCheckboxValue(formId, id, value, isChecked));
1982
1990
  const _setDateRangeValues = (formId, id, dateType, value) => dispatch(setDateRangeValues(formId, id, dateType, value));
1983
1991
  const _onValidateField = (formId, id, value) => dispatch(onValidateField(formId, id, value));
1984
1992
  const _doTogglePageForward = (formId, pageIndex) => dispatch(doTogglePageForward(formId, pageIndex));
@@ -2022,8 +2030,7 @@ const Form = ({
2022
2030
  pagingInfo: pagingInfo,
2023
2031
  useDefaultTheme: useDefaultTheme,
2024
2032
  entries: entries,
2025
- setDateRangeValues: _setDateRangeValues,
2026
- setCheckboxValue: _setCheckboxValue
2033
+ setDateRangeValues: _setDateRangeValues
2027
2034
  }), pagingInfo.pageIndex > 0 && /*#__PURE__*/React__default["default"].createElement(Button, {
2028
2035
  className: "form__btn--prev",
2029
2036
  type: "button",
@@ -2081,8 +2088,7 @@ const Form = ({
2081
2088
  defaultLanguage: defaultLanguage,
2082
2089
  errors: errors,
2083
2090
  useDefaultTheme: useDefaultTheme,
2084
- entries: entries,
2085
- setCheckboxValue: _setCheckboxValue
2091
+ entries: entries
2086
2092
  }), /*#__PURE__*/React__default["default"].createElement(Button, {
2087
2093
  className: "form__btn--submit",
2088
2094
  loading: status === null || status === void 0 ? void 0 : status.isSubmitting,