@pinuts/bsr-uikit-relaunch 0.0.9 → 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 +34 -10
- 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 +11 -8
- package/dist/items/BSRAddressSelector/BSRAutocompleteField.d.ts.map +1 -1
- package/dist/items/BSRAddressSelector/BSRAutocompleteField.js +5 -1
- package/dist/items/BSRAddressSelector/HouseNumberSelectField.d.ts.map +1 -1
- package/dist/items/BSRAddressSelector/HouseNumberSelectField.js +0 -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"}
|
|
@@ -27,7 +27,10 @@ const BSRAddressContextProvider = _ref => {
|
|
|
27
27
|
} = _ref;
|
|
28
28
|
const {
|
|
29
29
|
setFieldValue,
|
|
30
|
-
values
|
|
30
|
+
values,
|
|
31
|
+
submitForm,
|
|
32
|
+
isSubmitting,
|
|
33
|
+
submitCount
|
|
31
34
|
} = useFormikContext();
|
|
32
35
|
const [addressContext, setAddressContext] = (0, _react.useState)({
|
|
33
36
|
...defaultAdContext,
|
|
@@ -53,6 +56,12 @@ const BSRAddressContextProvider = _ref => {
|
|
|
53
56
|
// used in plz and street selector
|
|
54
57
|
const [showNoResultsError, setShowNoResultsError] = (0, _react.useState)(false);
|
|
55
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
|
+
});
|
|
56
65
|
const fieldKeys = (0, _react.useMemo)(() => {
|
|
57
66
|
const groupKey = addressContext.groupKey;
|
|
58
67
|
return {
|
|
@@ -78,13 +87,9 @@ const BSRAddressContextProvider = _ref => {
|
|
|
78
87
|
}
|
|
79
88
|
}, [setFieldValue, values, fieldKeys]);
|
|
80
89
|
const resetContextValues = (0, _react.useCallback)(() => {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
setFieldValue(fieldKeys.streetFieldKeyLabel, '');
|
|
85
|
-
setFieldValue(fieldKeys.houseNumberFieldKey, '');
|
|
86
|
-
setFieldValue(fieldKeys.selectedStreetAndNumberKey, '');
|
|
87
|
-
setFieldValue(fieldKeys.selectedStreetStreetPlz, '');
|
|
90
|
+
Object.keys(fieldKeys).forEach(key => {
|
|
91
|
+
setFieldValue(fieldKeys[key], undefined);
|
|
92
|
+
});
|
|
88
93
|
|
|
89
94
|
// rest autocomplete input
|
|
90
95
|
setSelectedOptionId(' ');
|
|
@@ -104,8 +109,26 @@ const BSRAddressContextProvider = _ref => {
|
|
|
104
109
|
}, [selectedStreetName, houseNumber, setFieldValue, fieldKeys.selectedStreetAndNumberKey]);
|
|
105
110
|
const showNextBtn = values[fieldKeys.streetFieldKey] && values[fieldKeys.houseNumberFieldKey] && !values[fieldKeys.labelKey] && (!selectedStreetList || selectedStreetList.length === 1);
|
|
106
111
|
|
|
107
|
-
//
|
|
112
|
+
// if everything is filled out, then only display the address as read-only
|
|
108
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
|
+
}
|
|
109
132
|
const pathThroughValues = (0, _react.useMemo)(() => {
|
|
110
133
|
return {
|
|
111
134
|
addressContext,
|
|
@@ -136,7 +159,8 @@ BSRAddressContextProvider.propTypes = {
|
|
|
136
159
|
initAddressContext: _propTypes.default.shape({
|
|
137
160
|
groupKey: _propTypes.default.string,
|
|
138
161
|
restUrl: _propTypes.default.string,
|
|
139
|
-
controllerPath: _propTypes.default.string
|
|
162
|
+
controllerPath: _propTypes.default.string,
|
|
163
|
+
doSubmitOnChange: _propTypes.default.bool
|
|
140
164
|
}),
|
|
141
165
|
children: _propTypes.default.node.isRequired
|
|
142
166
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BSRAddressSelector.d.ts","sourceRoot":"","sources":["../../../src/items/BSRAddressSelector/BSRAddressSelector.jsx"],"names":[],"mappings":";AAkBA;;
|
|
1
|
+
{"version":3,"file":"BSRAddressSelector.d.ts","sourceRoot":"","sources":["../../../src/items/BSRAddressSelector/BSRAddressSelector.jsx"],"names":[],"mappings":";AAkBA;;gBAyBC"}
|
|
@@ -27,20 +27,22 @@ const BSRAddressSelector = _ref => {
|
|
|
27
27
|
} = _ref;
|
|
28
28
|
const {
|
|
29
29
|
controllerPath,
|
|
30
|
-
restUrl
|
|
30
|
+
restUrl,
|
|
31
|
+
doSubmitOnChange
|
|
31
32
|
} = config;
|
|
32
33
|
const groupKey = config.key;
|
|
33
34
|
const subFormConfig = JSON.parse(subFormConfigStr.replaceAll('{SELID}', groupKey));
|
|
34
35
|
const initAddressContext = (0, _react.useMemo)(() => {
|
|
35
|
-
const
|
|
36
|
+
const restUrlWithTrailingSlash = restUrl.endsWith('/') ? restUrl : `${restUrl}/`;
|
|
37
|
+
return {
|
|
36
38
|
groupKey,
|
|
37
|
-
restUrl
|
|
39
|
+
restUrl: restUrlWithTrailingSlash,
|
|
40
|
+
doSubmitOnChange,
|
|
41
|
+
...(controllerPath && {
|
|
42
|
+
controllerPath
|
|
43
|
+
})
|
|
38
44
|
};
|
|
39
|
-
|
|
40
|
-
ad.controllerPath = controllerPath;
|
|
41
|
-
}
|
|
42
|
-
return ad;
|
|
43
|
-
}, [groupKey, controllerPath, restUrl]);
|
|
45
|
+
}, [groupKey, controllerPath, restUrl, doSubmitOnChange]);
|
|
44
46
|
return /*#__PURE__*/_react.default.createElement(_BSRAddressContext.default, {
|
|
45
47
|
initAddressContext: initAddressContext
|
|
46
48
|
}, /*#__PURE__*/_react.default.createElement(_formBuilder.ComponentPopulator, {
|
|
@@ -51,6 +53,7 @@ const BSRAddressSelector = _ref => {
|
|
|
51
53
|
BSRAddressSelector.propTypes = {
|
|
52
54
|
..._FormFieldChildPropTypes.default,
|
|
53
55
|
restUrl: _propTypes.default.string,
|
|
56
|
+
doSubmitOnChange: _propTypes.default.bool,
|
|
54
57
|
controllerPath: _propTypes.default.string
|
|
55
58
|
};
|
|
56
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"}
|
|
@@ -174,7 +174,11 @@ const BSRAutocompleteField = _ref => {
|
|
|
174
174
|
setFieldValue(groupKey, '');
|
|
175
175
|
setFieldValue(labelFieldKey, undefined);
|
|
176
176
|
setTimeout(() => {
|
|
177
|
-
|
|
177
|
+
try {
|
|
178
|
+
inputRef.current.select();
|
|
179
|
+
} catch (e) {
|
|
180
|
+
// ignore
|
|
181
|
+
}
|
|
178
182
|
}, 50);
|
|
179
183
|
}, [key, setFieldValue, labelFieldKey, groupKey, setSelectedOptionId, setPrevSelection]);
|
|
180
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]);
|
|
@@ -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"}
|
|
@@ -12,8 +12,6 @@ var _BSRAddressContext = require("./BSRAddressContext.js");
|
|
|
12
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
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
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
|
-
// import PropTypes from 'prop-types';
|
|
16
|
-
|
|
17
15
|
// form-builder
|
|
18
16
|
|
|
19
17
|
// wrap the field label, error message help text and more
|