55946: Multi-list object select support

This commit is contained in:
Kristof De Langhe
2018-11-16 13:55:00 +01:00
parent 08063154e7
commit 8d396f3832
6 changed files with 41 additions and 31 deletions

View File

@@ -37,11 +37,11 @@ export function objectSelectionReducer(state = initialState, action: ObjectSelec
case ObjectSelectionActionTypes.INITIAL_SELECT: {
if (isEmpty(state) || isEmpty(state[action.key]) || isEmpty(state[action.key][action.id])) {
return Object.assign({}, state, {
[action.key]: {
[action.key]: Object.assign({}, state[action.key], {
[action.id]: {
checked: true
}
}
})
});
}
return state;
@@ -50,11 +50,11 @@ export function objectSelectionReducer(state = initialState, action: ObjectSelec
case ObjectSelectionActionTypes.INITIAL_DESELECT: {
if (isEmpty(state) || isEmpty(state[action.key]) || isEmpty(state[action.key][action.id])) {
return Object.assign({}, state, {
[action.key]: {
[action.key]: Object.assign({}, state[action.key], {
[action.id]: {
checked: false
}
}
})
});
}
return state;
@@ -62,31 +62,31 @@ export function objectSelectionReducer(state = initialState, action: ObjectSelec
case ObjectSelectionActionTypes.SELECT: {
return Object.assign({}, state, {
[action.key]: {
[action.key]: Object.assign({}, state[action.key], {
[action.id]: {
checked: true
}
}
})
});
}
case ObjectSelectionActionTypes.DESELECT: {
return Object.assign({}, state, {
[action.key]: {
[action.key]: Object.assign({}, state[action.key], {
[action.id]: {
checked: false
}
}
})
});
}
case ObjectSelectionActionTypes.SWITCH: {
return Object.assign({}, state, {
[action.key]: {
[action.key]: Object.assign({}, state[action.key], {
[action.id]: {
checked: (isEmpty(state) || isEmpty(state[action.key]) || isEmpty(state[action.key][action.id])) ? true : !state[action.key][action.id].checked
}
}
})
});
}