[chore/frogend] Restructure form data default values / update from Query data (#1422)

* eslint: set console use to error to catch debug littering in CI

* remove debug logging

* some form field restructuring, fixes submitted updates not being reflected

* more form field restructuring

* remove debug logger

* simplify field updates

* fix react state set during render when submitting import file

* className instead of class

* show Select hints again
This commit is contained in:
f0x52
2023-02-06 09:19:56 +01:00
committed by GitHub
parent 0a9874329d
commit 47daddc10c
19 changed files with 153 additions and 86 deletions

View File

@ -81,13 +81,13 @@ const { reducer, actions } = createSlice({
}
});
function initialState({ entries, uniqueKey, defaultValue }) {
function initialState({ entries, uniqueKey, initialValue }) {
const selectedEntries = new Set();
return {
entries: syncpipe(entries, [
(_) => _.map((entry) => {
let key = entry[uniqueKey];
let checked = entry.checked ?? defaultValue;
let checked = entry.checked ?? initialValue;
if (checked) {
selectedEntries.add(key);
@ -110,9 +110,9 @@ function initialState({ entries, uniqueKey, defaultValue }) {
};
}
module.exports = function useCheckListInput({ name }, { entries, uniqueKey = "key", defaultValue = false }) {
module.exports = function useCheckListInput({ name }, { entries, uniqueKey = "key", initialValue = false }) {
const [state, dispatch] = React.useReducer(reducer, null,
() => initialState({ entries, uniqueKey, defaultValue }) // initial state
() => initialState({ entries, uniqueKey, initialValue }) // initial state
);
const toggleAllRef = React.useRef(null);
@ -132,8 +132,8 @@ module.exports = function useCheckListInput({ name }, { entries, uniqueKey = "ke
}, [state.selectedEntries]);
const reset = React.useCallback(
() => dispatch(actions.updateAll(defaultValue)),
[defaultValue]
() => dispatch(actions.updateAll(initialValue)),
[initialValue]
);
const onChange = React.useCallback(