@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.
- package/dist/index.js +1 -1
- package/dist/items/BSRAddressSelector/BSRAddressContext.d.ts.map +1 -1
- package/dist/items/BSRAddressSelector/BSRAddressContext.js +87 -15
- package/dist/items/BSRAddressSelector/BSRAddressResetButton.js +8 -1
- package/dist/items/BSRAddressSelector/BSRAddressSelector.d.ts +1 -0
- package/dist/items/BSRAddressSelector/BSRAddressSelector.d.ts.map +1 -1
- package/dist/items/BSRAddressSelector/BSRAddressSelector.js +13 -53
- package/dist/items/BSRAddressSelector/BSRAutocompleteField.d.ts.map +1 -1
- package/dist/items/BSRAddressSelector/BSRAutocompleteField.js +20 -4
- package/dist/items/BSRAddressSelector/BSRStreetPlzSelector.d.ts.map +1 -1
- package/dist/items/BSRAddressSelector/BSRStreetPlzSelector.js +30 -10
- package/dist/items/BSRAddressSelector/HouseNumberSelectField.d.ts +2 -0
- package/dist/items/BSRAddressSelector/HouseNumberSelectField.d.ts.map +1 -1
- package/dist/items/BSRAddressSelector/HouseNumberSelectField.js +28 -105
- package/dist/items/BSRAddressSelector/HouseNumberSelectFieldBck.d.ts +1 -0
- package/dist/items/BSRAddressSelector/HouseNumberSelectFieldBck.d.ts.map +1 -0
- package/dist/items/BSRAddressSelector/HouseNumberSelectFieldBck.js +105 -0
- package/dist/items/Button/Button.d.ts.map +1 -1
- package/dist/items/Button/Button.js +6 -3
- package/dist/items/Button/SubmitButton.d.ts.map +1 -1
- package/dist/items/Button/SubmitButton.js +5 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BSRAddressContext.d.ts","sourceRoot":"","sources":["../../../src/items/BSRAddressSelector/BSRAddressContext.js"],"names":[],"mappings":"AAcA,6DAAiD;;AAEjD;;;
|
|
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
|
-
|
|
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
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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
|
-
|
|
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
|
|
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:
|
|
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',
|
|
64
|
+
(0, _formBuilder.registerComponent)('BSRAddressResetButton', BSRAddressResetButton);
|
|
65
|
+
(0, _formBuilder.registerComponent)('BSRAddressResetButtonSelector', FormBuilderAddressResetButton);
|
|
59
66
|
var _default = exports.default = BSRAddressResetButton;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BSRAddressSelector.d.ts","sourceRoot":"","sources":["../../../src/items/BSRAddressSelector/BSRAddressSelector.jsx"],"names":[],"mappings":";
|
|
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
|
|
36
|
+
const restUrlWithTrailingSlash = restUrl.endsWith('/') ? restUrl : `${restUrl}/`;
|
|
37
|
+
return {
|
|
52
38
|
groupKey,
|
|
53
|
-
restUrl
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|
-
}, [
|
|
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
|
-
})
|
|
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;;
|
|
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
|
-
//
|
|
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
|
-
|
|
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":";
|
|
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 =
|
|
40
|
-
const labelKey =
|
|
41
|
-
const selectedStreedAndNumberKey =
|
|
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
|
-
|
|
98
|
-
|
|
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 @@
|
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
//
|
|
16
|
-
|
|
17
|
-
//
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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":""}
|