@pinuts/bsr-uikit-relaunch 0.0.8 → 0.0.10

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.
@@ -1 +1 @@
1
- {"version":3,"file":"BSRAddressContext.d.ts","sourceRoot":"","sources":["../../../src/items/BSRAddressSelector/BSRAddressContext.js"],"names":[],"mappings":"AAcA,6DAAiD;;AAEjD;;;gBA6EC"}
1
+ {"version":3,"file":"BSRAddressContext.d.ts","sourceRoot":"","sources":["../../../src/items/BSRAddressSelector/BSRAddressContext.js"],"names":[],"mappings":"AAcA,6DAAiD;;AAEjD;;;gBA4JC"}
@@ -26,7 +26,11 @@ const BSRAddressContextProvider = _ref => {
26
26
  children
27
27
  } = _ref;
28
28
  const {
29
- setFieldValue
29
+ setFieldValue,
30
+ values,
31
+ submitForm,
32
+ isSubmitting,
33
+ submitCount
30
34
  } = useFormikContext();
31
35
  const [addressContext, setAddressContext] = (0, _react.useState)({
32
36
  ...defaultAdContext,
@@ -48,25 +52,84 @@ const BSRAddressContextProvider = _ref => {
48
52
  const [selectedOptionId, setSelectedOptionId] = (0, _react.useState)('');
49
53
  const [prevSelection, setPrevSelection] = (0, _react.useState)({});
50
54
  const [triggerCancelCombox, setTriggerCancelCombox] = (0, _react.useState)(false);
51
- const groupKey = addressContext.groupKey;
55
+
56
+ // used in plz and street selector
57
+ const [showNoResultsError, setShowNoResultsError] = (0, _react.useState)(false);
58
+ const [selectedStreetList, setSelectedStreetList] = (0, _react.useState)(null);
59
+
60
+ // used for autoCommit
61
+ const [lastCommitValue, setLastCommitValue] = (0, _react.useState)({
62
+ submitCount: -1,
63
+ value: null
64
+ });
65
+ const fieldKeys = (0, _react.useMemo)(() => {
66
+ const groupKey = addressContext.groupKey;
67
+ return {
68
+ groupKey,
69
+ streetFieldKey: `${groupKey}-streetSelector`,
70
+ streetFieldKeyLabel: `${groupKey}-streetSelectorLabel`,
71
+ houseNumberFieldKey: `${groupKey}-houseNumber`,
72
+ labelKey: `${groupKey}Label`,
73
+ selectedStreetAndNumberKey: `${groupKey}-streedAndNumber`,
74
+ selectedStreetStreetPlz: `${groupKey}-streetPlz`
75
+ };
76
+ }, [addressContext.groupKey]);
77
+ (0, _react.useEffect)(() => {
78
+ const currentStreetAndNumber = values[fieldKeys.selectedStreetAndNumberKey];
79
+ const currentStreet = values[fieldKeys.streetFieldKey];
80
+ const currentHouseNumber = values[fieldKeys.houseNumberFieldKey];
81
+ if (currentStreetAndNumber && currentStreet && currentHouseNumber) {
82
+ if (currentStreetAndNumber !== `${currentStreet}:::${currentHouseNumber}`) {
83
+ setFieldValue(fieldKeys.selectedStreetAndNumberKey, '');
84
+ }
85
+ } else if (currentStreetAndNumber) {
86
+ setFieldValue(fieldKeys.selectedStreetAndNumberKey, '');
87
+ }
88
+ }, [setFieldValue, values, fieldKeys]);
52
89
  const resetContextValues = (0, _react.useCallback)(() => {
53
- const labelKey = `${groupKey}Label`;
54
- const streetFieldKey = `${groupKey}-streetSelector`;
55
- const houseNumberFieldKey = `${groupKey}-houseNumber`;
56
- setFieldValue(labelKey, undefined);
57
- setFieldValue(streetFieldKey, '');
58
- setFieldValue(houseNumberFieldKey, '');
90
+ Object.keys(fieldKeys).forEach(key => {
91
+ setFieldValue(fieldKeys[key], undefined);
92
+ });
59
93
 
60
94
  // rest autocomplete input
61
95
  setSelectedOptionId(' ');
62
96
  setPrevSelection({});
63
97
  setTriggerCancelCombox(true);
64
- }, [groupKey, setFieldValue, setTriggerCancelCombox]);
98
+ setShowNoResultsError(false);
99
+ setSelectedStreetList(null);
100
+ }, [setFieldValue, setTriggerCancelCombox, fieldKeys, setShowNoResultsError]);
65
101
 
66
102
  // AdressePrüfenBtn anzeigen, wenn Straße und Hausnummer gesetzt sind
67
- // const showNextBtn = true;
68
103
 
69
- const paththroughValues = (0, _react.useMemo)(() => {
104
+ const selectedStreetName = values[fieldKeys.streetFieldKey] || '';
105
+ const houseNumber = values[fieldKeys.houseNumberFieldKey] || '';
106
+ const onClickCheckAddressBtn = (0, _react.useCallback)(() => {
107
+ const streetOrHouseNumber = selectedStreetName && houseNumber ? `${selectedStreetName}:::${houseNumber}` : null;
108
+ setFieldValue(fieldKeys.selectedStreetAndNumberKey, streetOrHouseNumber);
109
+ }, [selectedStreetName, houseNumber, setFieldValue, fieldKeys.selectedStreetAndNumberKey]);
110
+ const showNextBtn = values[fieldKeys.streetFieldKey] && values[fieldKeys.houseNumberFieldKey] && !values[fieldKeys.labelKey] && (!selectedStreetList || selectedStreetList.length === 1);
111
+
112
+ // if everything is filled out, then only display the address as read-only
113
+ const dontShowSelector = values[fieldKeys.labelKey] && values[fieldKeys.groupKey];
114
+ const hasNewValueSinceLastCommit = () => {
115
+ const curValue = values[fieldKeys.groupKey];
116
+ if (!curValue) {
117
+ return false;
118
+ }
119
+ return lastCommitValue.submitCount === -1 || lastCommitValue.submitCount !== submitCount && lastCommitValue.value !== curValue;
120
+ };
121
+ if (dontShowSelector && addressContext.doSubmitOnChange && !isSubmitting && hasNewValueSinceLastCommit()) {
122
+ setLastCommitValue({
123
+ submitCount,
124
+ value: values[fieldKeys.groupKey]
125
+ });
126
+ window.setTimeout(() => {
127
+ // need a thread change to wait the form is re-rendered before submitting
128
+ // ==> react-dom.development.js:86 Warning: Cannot update a component (`Vr`) while rendering a different component
129
+ submitForm();
130
+ }, 1);
131
+ }
132
+ const pathThroughValues = (0, _react.useMemo)(() => {
70
133
  return {
71
134
  addressContext,
72
135
  setAdContext,
@@ -77,18 +140,27 @@ const BSRAddressContextProvider = _ref => {
77
140
  setPrevSelection,
78
141
  triggerCancelCombox,
79
142
  setTriggerCancelCombox,
80
- getControllerPath
143
+ getControllerPath,
144
+ showNextBtn,
145
+ onClickCheckAddressBtn,
146
+ showNoResultsError,
147
+ setShowNoResultsError,
148
+ selectedStreetList,
149
+ setSelectedStreetList,
150
+ dontShowSelector,
151
+ fieldKeys
81
152
  };
82
- }, [addressContext, setAdContext, resetContextValues, selectedOptionId, setSelectedOptionId, prevSelection, setPrevSelection, triggerCancelCombox, setTriggerCancelCombox, getControllerPath]);
153
+ }, [addressContext, setAdContext, resetContextValues, selectedOptionId, setSelectedOptionId, prevSelection, setPrevSelection, triggerCancelCombox, setTriggerCancelCombox, getControllerPath, showNextBtn, onClickCheckAddressBtn, showNoResultsError, setShowNoResultsError, selectedStreetList, setSelectedStreetList, dontShowSelector, fieldKeys]);
83
154
  return /*#__PURE__*/_react.default.createElement(BSRAddressContext.Provider, {
84
- value: paththroughValues
155
+ value: pathThroughValues
85
156
  }, children);
86
157
  };
87
158
  BSRAddressContextProvider.propTypes = {
88
159
  initAddressContext: _propTypes.default.shape({
89
160
  groupKey: _propTypes.default.string,
90
161
  restUrl: _propTypes.default.string,
91
- controllerPath: _propTypes.default.string
162
+ controllerPath: _propTypes.default.string,
163
+ doSubmitOnChange: _propTypes.default.bool
92
164
  }),
93
165
  children: _propTypes.default.node.isRequired
94
166
  };
@@ -48,6 +48,12 @@ const FormBuilderAddressResetButton = _ref2 => {
48
48
  config = {},
49
49
  ...otherProps
50
50
  } = _ref2;
51
+ const {
52
+ dontShowSelector
53
+ } = (0, _react.useContext)(_BSRAddressContext.BSRAddressContext);
54
+ if (dontShowSelector) {
55
+ return null;
56
+ }
51
57
  return /*#__PURE__*/_react.default.createElement(BSRAddressResetButton, _extends({}, otherProps, {
52
58
  config: config
53
59
  }));
@@ -55,5 +61,6 @@ const FormBuilderAddressResetButton = _ref2 => {
55
61
  FormBuilderAddressResetButton.propTypes = {
56
62
  config: _propTypes.default.shape(BSRAddressResetButton.propTypes)
57
63
  };
58
- (0, _formBuilder.registerComponent)('BSRAddressResetButton', FormBuilderAddressResetButton);
64
+ (0, _formBuilder.registerComponent)('BSRAddressResetButton', BSRAddressResetButton);
65
+ (0, _formBuilder.registerComponent)('BSRAddressResetButtonSelector', FormBuilderAddressResetButton);
59
66
  var _default = exports.default = BSRAddressResetButton;
@@ -5,6 +5,7 @@ declare function BSRAddressSelector({ config }: {
5
5
  declare namespace BSRAddressSelector {
6
6
  let propTypes: {
7
7
  restUrl: any;
8
+ doSubmitOnChange: any;
8
9
  controllerPath: any;
9
10
  value: any;
10
11
  values: any;
@@ -1 +1 @@
1
- {"version":3,"file":"BSRAddressSelector.d.ts","sourceRoot":"","sources":["../../../src/items/BSRAddressSelector/BSRAddressSelector.jsx"],"names":[],"mappings":";AAqBA;;gBA2EC"}
1
+ {"version":3,"file":"BSRAddressSelector.d.ts","sourceRoot":"","sources":["../../../src/items/BSRAddressSelector/BSRAddressSelector.jsx"],"names":[],"mappings":";AAkBA;;gBAyBC"}
@@ -7,93 +7,53 @@ exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _formBuilder = require("@pinuts/form-builder");
10
- var _reactI18next = require("react-i18next");
11
- var _Button = _interopRequireDefault(require("../Button/Button.jsx"));
12
10
  var _FormFieldChildPropTypes = _interopRequireDefault(require("../FormFieldWrapper/FormFieldChildPropTypes.jsx"));
13
11
  var _BSRAddressContext = _interopRequireDefault(require("./BSRAddressContext.js"));
14
12
  require("./BSRAutocompleteField.jsx");
15
13
  require("./BSRAddressResetButton.jsx");
16
14
  require("./BSRStreetPlzSelector.jsx");
15
+ require("./HouseNumberSelectField.jsx");
17
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
17
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
18
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
- // import { useTranslation } from 'react-i18next';
21
-
22
19
  // form-builder
23
20
 
24
21
  // init sub components
25
22
 
26
23
  const subFormConfigStr = JSON.stringify(require('./BSRAddressSubForm.json'));
27
- const {
28
- useFormikContext
29
- } = _formBuilder.formik;
30
24
  const BSRAddressSelector = _ref => {
31
25
  let {
32
26
  config
33
27
  } = _ref;
34
- const [t] = (0, _reactI18next.useTranslation)();
35
28
  const {
36
29
  controllerPath,
37
- restUrl
30
+ restUrl,
31
+ doSubmitOnChange
38
32
  } = config;
39
- const {
40
- values,
41
- setFieldValue
42
- } = useFormikContext();
43
33
  const groupKey = config.key;
44
34
  const subFormConfig = JSON.parse(subFormConfigStr.replaceAll('{SELID}', groupKey));
45
- const streetFieldKey = `${groupKey}-streetSelector`;
46
- const houseNumberFieldKey = `${groupKey}-houseNumber`;
47
- const selectedStreedAndNumberKey = `${groupKey}-streedAndNumber`;
48
- const [selectedStreetName, setSelectedStreetName] = (0, _react.useState)(null);
49
- const [houseNumber, setHouseNumber] = (0, _react.useState)(null);
50
35
  const initAddressContext = (0, _react.useMemo)(() => {
51
- const ad = {
36
+ const restUrlWithTrailingSlash = restUrl.endsWith('/') ? restUrl : `${restUrl}/`;
37
+ return {
52
38
  groupKey,
53
- restUrl
54
- };
55
- if (controllerPath) {
56
- ad.controllerPath = controllerPath;
57
- }
58
- return ad;
59
- }, [groupKey, controllerPath, restUrl]);
60
- (0, _react.useEffect)(() => {
61
- const newSelectedStreetName = values[streetFieldKey] || '';
62
- const newHouseNumber = values[houseNumberFieldKey] || '';
63
- if (newSelectedStreetName && newHouseNumber) {
64
- if (values[streetFieldKey] !== selectedStreetName) {
65
- setSelectedStreetName((values[streetFieldKey] || '').trim());
66
- }
67
- if (values[houseNumberFieldKey] !== houseNumberFieldKey) {
68
- setHouseNumber((values[houseNumberFieldKey] || '').trim());
69
- }
70
- } else if (values[selectedStreedAndNumberKey]) {
71
- setFieldValue(selectedStreedAndNumberKey, '');
72
- setFieldValue(groupKey, '');
73
- }
74
-
75
- //cleanup
76
- return () => {
77
- setHouseNumber(null);
39
+ restUrl: restUrlWithTrailingSlash,
40
+ doSubmitOnChange,
41
+ ...(controllerPath && {
42
+ controllerPath
43
+ })
78
44
  };
79
- }, [streetFieldKey, houseNumberFieldKey, values, selectedStreedAndNumberKey, selectedStreetName, setFieldValue, groupKey]);
80
- const onClickNextBtn = () => {
81
- const streetOrHouseNumber = selectedStreetName && houseNumber ? `${selectedStreetName}:::${houseNumber}` : null;
82
- setFieldValue(selectedStreedAndNumberKey, streetOrHouseNumber);
83
- };
84
- const showNextBtn = selectedStreetName && houseNumber;
45
+ }, [groupKey, controllerPath, restUrl, doSubmitOnChange]);
85
46
  return /*#__PURE__*/_react.default.createElement(_BSRAddressContext.default, {
86
47
  initAddressContext: initAddressContext
87
48
  }, /*#__PURE__*/_react.default.createElement(_formBuilder.ComponentPopulator, {
88
49
  formId: `${groupKey}-adselctor-wrapper`,
89
50
  components: subFormConfig.components
90
- }), showNextBtn && /*#__PURE__*/_react.default.createElement(_Button.default, {
91
- onClick: onClickNextBtn
92
- }, t('bsrAddressSelector.checkAddress')));
51
+ }));
93
52
  };
94
53
  BSRAddressSelector.propTypes = {
95
54
  ..._FormFieldChildPropTypes.default,
96
55
  restUrl: _propTypes.default.string,
56
+ doSubmitOnChange: _propTypes.default.bool,
97
57
  controllerPath: _propTypes.default.string
98
58
  };
99
59
  (0, _formBuilder.registerComponent)('BSRAddressSelector', BSRAddressSelector);
@@ -1 +1 @@
1
- {"version":3,"file":"BSRAutocompleteField.d.ts","sourceRoot":"","sources":["../../../src/items/BSRAddressSelector/BSRAutocompleteField.jsx"],"names":[],"mappings":";AA+CA;;QAkQC"}
1
+ {"version":3,"file":"BSRAutocompleteField.d.ts","sourceRoot":"","sources":["../../../src/items/BSRAddressSelector/BSRAutocompleteField.jsx"],"names":[],"mappings":";AA+CA;;QA2QC"}
@@ -54,7 +54,6 @@ const BSRAutocompleteField = _ref => {
54
54
  key,
55
55
  viewMode,
56
56
  labelText,
57
- groupKey,
58
57
  disabled,
59
58
  readOnly
60
59
  } = config;
@@ -65,7 +64,9 @@ const BSRAutocompleteField = _ref => {
65
64
  setSelectedOptionId,
66
65
  triggerCancelCombox,
67
66
  setTriggerCancelCombox,
68
- getControllerPath
67
+ getControllerPath,
68
+ dontShowSelector,
69
+ fieldKeys
69
70
  } = (0, _react.useContext)(_BSRAddressContext.BSRAddressContext);
70
71
  const {
71
72
  setFieldValue
@@ -73,6 +74,7 @@ const BSRAutocompleteField = _ref => {
73
74
  const [field,, {
74
75
  setValue
75
76
  }] = useField(key);
77
+ const groupKey = fieldKeys?.groupKey;
76
78
  const labelFieldKey = `${key}Label`;
77
79
  const [labelField] = useField(labelFieldKey);
78
80
  const usedValueLabel = labelField?.value;
@@ -87,10 +89,11 @@ const BSRAutocompleteField = _ref => {
87
89
  const isInvalid = false;
88
90
  const controllerPath = getControllerPath();
89
91
 
90
- // nedd this to reset the combobox from outside
92
+ // need this to reset the combobox from outside
91
93
  (0, _react.useEffect)(() => {
92
94
  if (triggerCancelCombox) {
93
95
  cancelButtonRef.current?.click();
96
+ setSearchInput('');
94
97
  setTriggerCancelCombox(false);
95
98
  }
96
99
  }, [cancelButtonRef, triggerCancelCombox, setTriggerCancelCombox]);
@@ -171,7 +174,11 @@ const BSRAutocompleteField = _ref => {
171
174
  setFieldValue(groupKey, '');
172
175
  setFieldValue(labelFieldKey, undefined);
173
176
  setTimeout(() => {
174
- inputRef.current.select();
177
+ try {
178
+ inputRef.current.select();
179
+ } catch (e) {
180
+ // ignore
181
+ }
175
182
  }, 50);
176
183
  }, [key, setFieldValue, labelFieldKey, groupKey, setSelectedOptionId, setPrevSelection]);
177
184
  const className = (0, _react.useMemo)(() => [_BSRAddressSelectorModule.default.comboboxWrapper, 'ariakit-combobox', 'form-control px-2 py-1', isFocused && 'focused', isInvalid && 'is-invalid'].filter(Boolean).join(' '), [isFocused, isInvalid]);
@@ -181,6 +188,9 @@ const BSRAutocompleteField = _ref => {
181
188
  const getPreviousSelectedItem = (0, _react.useCallback)(() => {
182
189
  return prevSelection?.value ? prevSelection.value : field.value;
183
190
  }, [prevSelection, field.value]);
191
+ if (dontShowSelector) {
192
+ return null;
193
+ }
184
194
  if (viewMode) {
185
195
  return usedValueLabel?.label || '';
186
196
  }
@@ -255,6 +265,12 @@ BSRAutocompleteField.propTypes = {
255
265
  };
256
266
  const HigherOrderAutocompleteField = (0, _withFieldGroup.default)(BSRAutocompleteField);
257
267
  const WrappedAutocompleteField = props => {
268
+ const {
269
+ dontShowSelector
270
+ } = (0, _react.useContext)(_BSRAddressContext.BSRAddressContext);
271
+ if (dontShowSelector) {
272
+ return null;
273
+ }
258
274
  return /*#__PURE__*/_react.default.createElement(_FormFieldWrapper.default, props, /*#__PURE__*/_react.default.createElement(HigherOrderAutocompleteField, props));
259
275
  };
260
276
  (0, _formBuilder.registerComponent)('BSRAutocompleteField', WrappedAutocompleteField);
@@ -1 +1 @@
1
- {"version":3,"file":"BSRStreetPlzSelector.d.ts","sourceRoot":"","sources":["../../../src/items/BSRAddressSelector/BSRStreetPlzSelector.jsx"],"names":[],"mappings":";AA8HA,2EAA6E"}
1
+ {"version":3,"file":"BSRStreetPlzSelector.d.ts","sourceRoot":"","sources":["../../../src/items/BSRAddressSelector/BSRStreetPlzSelector.jsx"],"names":[],"mappings":";AA2JA,2EAA6E"}
@@ -11,6 +11,7 @@ var _reactI18next = require("react-i18next");
11
11
  var _GroupInputField = _interopRequireDefault(require("../GroupInputField/GroupInputField.jsx"));
12
12
  var _withFieldGroup = _interopRequireDefault(require("../../hooks/withFieldGroup.jsx"));
13
13
  var _BSRAddressContext = require("./BSRAddressContext.js");
14
+ var _Button = _interopRequireDefault(require("../Button/Button.jsx"));
14
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -31,18 +32,24 @@ const BSRStreetPlzSelector = props => {
31
32
  setFieldValue
32
33
  } = useFormikContext();
33
34
  const {
34
- getControllerPath
35
+ getControllerPath,
36
+ showNextBtn,
37
+ onClickCheckAddressBtn,
38
+ showNoResultsError,
39
+ setShowNoResultsError,
40
+ selectedStreetList,
41
+ setSelectedStreetList,
42
+ dontShowSelector,
43
+ fieldKeys
35
44
  } = (0, _react.useContext)(_BSRAddressContext.BSRAddressContext);
36
45
  const {
37
46
  config
38
47
  } = props;
39
- const groupKey = config.groupKey;
40
- const labelKey = `${groupKey}Label`;
41
- const selectedStreedAndNumberKey = `${groupKey}-streedAndNumber`;
48
+ const groupKey = fieldKeys?.groupKey;
49
+ const labelKey = fieldKeys?.labelKey;
50
+ const selectedStreedAndNumberKey = fieldKeys?.selectedStreetAndNumberKey;
42
51
  const localFieldKey = config.key;
43
- const [selectedStreetList, setSelectedStreetList] = (0, _react.useState)(null);
44
52
  const [selectedStreedAndNumber, setSelectedStreedAndNumber] = (0, _react.useState)(null);
45
- const [showNoResultsError, setShowNoResultsError] = (0, _react.useState)(false);
46
53
  const [showLoading, setShowLoading] = (0, _react.useState)(false);
47
54
  (0, _react.useEffect)(() => {
48
55
  // set or delete selected street and number, form parent inputs, to state
@@ -54,7 +61,7 @@ const BSRStreetPlzSelector = props => {
54
61
  setFieldValue(groupKey, '');
55
62
  setFieldValue(`${labelKey}`, '');
56
63
  }
57
- }, [selectedStreedAndNumberKey, values, selectedStreedAndNumber, setSelectedStreedAndNumber, groupKey, labelKey, setFieldValue]);
64
+ }, [selectedStreedAndNumberKey, values, selectedStreedAndNumber, setSelectedStreedAndNumber, groupKey, labelKey, setFieldValue, setSelectedStreetList]);
58
65
  (0, _react.useEffect)(() => {
59
66
  const mainFieldValue = values[groupKey];
60
67
  const selectedRadioValue = values[localFieldKey];
@@ -81,6 +88,7 @@ const BSRStreetPlzSelector = props => {
81
88
  if (selectedStreedAndNumber) {
82
89
  const url = getControllerPath() + '/plzSet';
83
90
  setShowLoading(true);
91
+ setSelectedStreetList(null);
84
92
  fetchStreetPLz(url, selectedStreedAndNumber).catch(console.error).then(data => {
85
93
  const list = data || [];
86
94
  setShowNoResultsError(list.length === 0);
@@ -90,16 +98,28 @@ const BSRStreetPlzSelector = props => {
90
98
  const [value, label] = list.length === 1 ? [list[0].value, list[0].label] : ['', ''];
91
99
  setFieldValue(groupKey, value);
92
100
  setFieldValue(labelKey, label);
101
+ if (list.length > 1) {
102
+ setFieldValue(localFieldKey, value);
103
+ }
93
104
  setShowLoading(false);
94
105
  });
95
106
  }
96
- }, [selectedStreedAndNumber, groupKey, labelKey, setFieldValue, getControllerPath]);
97
- if (showNoResultsError) {
98
- return /*#__PURE__*/_react.default.createElement("p", null, t('bsrAddressSelector.addressNotFound'));
107
+ }, [selectedStreedAndNumber, groupKey, labelKey, setFieldValue, getControllerPath, localFieldKey, setShowNoResultsError, setSelectedStreetList]);
108
+ const noResultsError = showNoResultsError ? /*#__PURE__*/_react.default.createElement("p", null, t('bsrAddressSelector.addressNotFound')) : null;
109
+ if (dontShowSelector) {
110
+ return null;
99
111
  }
100
112
  if (showLoading) {
101
113
  return /*#__PURE__*/_react.default.createElement("p", null, t('bsrAddressSelector.loading'));
102
114
  }
115
+ if (showNextBtn) {
116
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, noResultsError, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Button.default, {
117
+ onClick: onClickCheckAddressBtn
118
+ }, t('bsrAddressSelector.checkAddress'))));
119
+ }
120
+ if (showNoResultsError) {
121
+ return noResultsError;
122
+ }
103
123
  if (!selectedStreetList || selectedStreetList.length === 0) {
104
124
  return null;
105
125
  }
@@ -1 +1,3 @@
1
+ export default WrappedHouseNumberSelectField;
2
+ declare function WrappedHouseNumberSelectField(props: any): JSX.Element;
1
3
  //# sourceMappingURL=HouseNumberSelectField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HouseNumberSelectField.d.ts","sourceRoot":"","sources":["../../../src/items/BSRAddressSelector/HouseNumberSelectField.jsx"],"names":[],"mappings":""}
1
+ {"version":3,"file":"HouseNumberSelectField.d.ts","sourceRoot":"","sources":["../../../src/items/BSRAddressSelector/HouseNumberSelectField.jsx"],"names":[],"mappings":";AAWA,wEAYC"}
@@ -1,105 +1,28 @@
1
- // import React, { useEffect, useState } from 'react';
2
- // import PropTypes from 'prop-types';
3
- // import { useTranslation } from 'react-i18next';
4
- //
5
- // // form-builder
6
- // import { registerComponent, formik } from '@pinuts/form-builder';
7
- //
8
- // import useGetOptionList from '../../hooks/useGetOptionList.js';
9
- // import { getFormControlClassNames } from '../../utils/getUikitClassNames.js';
10
- // import FormFieldChildPropTypes from '../FormFieldWrapper/FormFieldChildPropTypes.jsx';
11
- // import FormFieldWrapper from '../FormFieldWrapper/FormFieldWrapper.jsx';
12
- // import withFieldGroup from '../../hooks/withFieldGroup.jsx';
13
- // import styles from '../../styles/form.module.scss';
14
- //
15
- // import SelectField from '../SelectField/SelectField.jsx';
16
- //
17
- // const { useFormikContext } = formik;
18
- //
19
- // const fetchHouseNumbers = async (streetId) => {
20
- // const response = await fetch(`http://localhost:8086/cmsbs/rest/de.bsr.adressen.app/streetNo?streetid=${streetId}`);
21
- // const data = await response.json();
22
- //
23
- // return data;
24
- // };
25
- //
26
- // const HouseNumberSelectField = (config) => {
27
- //
28
- // const [selectedStreetId, setSelectedStreetId] = useState(null);
29
- // const [houseNumberOptions, setHouseNumberOptions] = useState([]);
30
- // const {
31
- // streedFieldKey,
32
- // key,
33
- // } = config.config;
34
- // const { values, setFieldValue } = useFormikContext();
35
- //
36
- // useEffect(() => {
37
- // console.log('values: ' + streedFieldKey, config);
38
- // const streetId = values[streedFieldKey] || '';
39
- //
40
- // console.log('values[streedFieldKey]: ', values[streedFieldKey]);
41
- // setSelectedStreetId(streetId);
42
- //
43
- // // set number label
44
- // if (houseNumberOptions && streetId) {
45
- // const numberLabelFieldKey = `${key}Label`;
46
- // const numberSelectKey = values[key];
47
- // const numberlabel = houseNumberOptions.find(option => option.value === numberSelectKey)?.label;
48
- // if (values[numberLabelFieldKey] !== numberlabel) {
49
- // setFieldValue(numberLabelFieldKey, numberlabel);
50
- // }
51
- // }
52
- // }, [values]);
53
- //
54
- // useEffect(() => {
55
- // if (selectedStreetId) {
56
- // fetchHouseNumbers(selectedStreetId).catch(console.error).then(setHouseNumberOptions);
57
- // } else {
58
- // setHouseNumberOptions([]);
59
- // if (values[key]) {
60
- // setFieldValue(key, '');
61
- // }
62
- // }
63
- // }, [selectedStreetId]);
64
- //
65
- // const newConfig = {
66
- // ...config,
67
- // options: houseNumberOptions,
68
- // };
69
- //
70
- // return (
71
- // <SelectField {...newConfig} />
72
- // );
73
- // };
74
- //
75
- // HouseNumberSelectField.propTypes = {
76
- // ...FormFieldChildPropTypes,
77
- //
78
- // validation: PropTypes.arrayOf(PropTypes.string),
79
- // options: PropTypes.arrayOf(
80
- // PropTypes.oneOfType([
81
- // PropTypes.shape({
82
- // value: PropTypes.oneOfType([
83
- // PropTypes.string,
84
- // PropTypes.number,
85
- // ]),
86
- // label: PropTypes.oneOfType([
87
- // PropTypes.string,
88
- // PropTypes.object,
89
- // ]),
90
- // }),
91
- // PropTypes.string]),
92
- // ).isRequired,
93
- // emptyOptionLabel: PropTypes.string,
94
- // skipOptions: PropTypes.oneOfType([
95
- // PropTypes.arrayOf(PropTypes.string),
96
- // PropTypes.string,
97
- // ]),
98
- // };
99
- //
100
- //
101
- // registerComponent('HouseNumberSelectField', HouseNumberSelectField);
102
- //
103
- //
104
- // export default HouseNumberSelectField;
105
- "use strict";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _formBuilder = require("@pinuts/form-builder");
9
+ var _FormFieldWrapper = _interopRequireDefault(require("../FormFieldWrapper/FormFieldWrapper.jsx"));
10
+ var _TextInputField = _interopRequireDefault(require("../TextInputField/TextInputField.jsx"));
11
+ var _BSRAddressContext = require("./BSRAddressContext.js");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
+ // form-builder
16
+
17
+ // wrap the field label, error message help text and more
18
+ const WrappedHouseNumberSelectField = props => {
19
+ const {
20
+ dontShowSelector
21
+ } = (0, _react.useContext)(_BSRAddressContext.BSRAddressContext);
22
+ if (dontShowSelector) {
23
+ return null;
24
+ }
25
+ return /*#__PURE__*/_react.default.createElement(_FormFieldWrapper.default, props, /*#__PURE__*/_react.default.createElement(_TextInputField.default, props));
26
+ };
27
+ (0, _formBuilder.registerComponent)('HouseNumberSelectField', WrappedHouseNumberSelectField);
28
+ var _default = exports.default = WrappedHouseNumberSelectField;
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=HouseNumberSelectFieldBck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HouseNumberSelectFieldBck.d.ts","sourceRoot":"","sources":["../../../src/items/BSRAddressSelector/HouseNumberSelectFieldBck.jsx"],"names":[],"mappings":""}