mirror of
https://github.com/roleypoly/roleypoly-v1.git
synced 2025-06-16 18:29:08 +00:00
finish redux feature parity
This commit is contained in:
parent
f5220aa6dc
commit
5510d5a1c4
29 changed files with 220 additions and 100 deletions
|
@ -3,6 +3,7 @@ import { combineReducers } from 'redux'
|
|||
import servers from './servers'
|
||||
import user from './user'
|
||||
import rolePicker from './role-picker'
|
||||
import { routerMiddleware } from 'react-router-redux';
|
||||
// import roles from './roles'
|
||||
|
||||
const initialState = {
|
||||
|
@ -25,6 +26,7 @@ const rootReducer = combineReducers({
|
|||
appState,
|
||||
servers,
|
||||
user,
|
||||
router: routerMiddleware,
|
||||
// roles,
|
||||
rolePicker
|
||||
})
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import { Map, Set } from 'immutable'
|
||||
import { Map, OrderedMap } from 'immutable'
|
||||
|
||||
const initialState = Map({
|
||||
hidden: true, // should the view be hidden?
|
||||
emptyRoles: true, // helps derender roles so there's no visible element state change
|
||||
viewMap: Set([]), // roles in categories
|
||||
viewMap: OrderedMap({}), // roles in categories
|
||||
originalRolesSelected: Map({}), // Map<role id, bool> -- original roles for diffing against selected
|
||||
rolesSelected: Map({}) // Map<role id, bool> -- new roles for diffing
|
||||
})
|
||||
|
@ -11,8 +11,8 @@ const initialState = Map({
|
|||
export default (state = initialState, { type, data }) => {
|
||||
switch (type) {
|
||||
case Symbol.for('setup role picker'):
|
||||
return state.merge(data)
|
||||
|
||||
return state.mergeDeep(data)
|
||||
|
||||
case Symbol.for('hide role picker ui'):
|
||||
return {
|
||||
...state,
|
||||
|
@ -24,12 +24,12 @@ export default (state = initialState, { type, data }) => {
|
|||
...state,
|
||||
emptyRoles: data
|
||||
}
|
||||
|
||||
case Symbol.for('zero role picker'):
|
||||
return initialState
|
||||
|
||||
case Symbol.for('update selected roles'):
|
||||
return state.set('rolesSelected', state.get('rolesSelected').set(data.id, data.state))
|
||||
return state.setIn(['rolesSelected', data.id], data.state)
|
||||
|
||||
case Symbol.for('zero role picker'):
|
||||
return initialState
|
||||
|
||||
default:
|
||||
return state
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue