workspaceList.js 505B

12345678910111213141516171819202122232425
  1. import {
  2. WORKSPACE_LIST
  3. } from '../action-creator.sync.js'
  4. export function workspaceList (state = [], action) {
  5. switch (action.type) {
  6. case `Update/${WORKSPACE_LIST}`:
  7. return action.workspaceList.map(ws => ({
  8. ...ws,
  9. isOpen: false
  10. }))
  11. case `Update/${WORKSPACE_LIST}/isOpen`:
  12. return state.map(ws => ws.id === action.workspaceId
  13. ? {...ws, isOpen: action.isOpen}
  14. : ws
  15. )
  16. default:
  17. return state
  18. }
  19. }
  20. export default workspaceList