workspace.js 628B

123456789101112131415161718192021222324252627282930313233
  1. import {
  2. WORKSPACE
  3. } from '../action-creator.sync.js'
  4. const serializeWorkspace = data => ({
  5. id: data.id,
  6. title: data.title,
  7. content: data.content,
  8. ownerId: data.owner_id
  9. })
  10. export default function user (state = {
  11. id: -1,
  12. title: '',
  13. ownerId: '',
  14. content: [],
  15. filter: []
  16. }, action) {
  17. switch (action.type) {
  18. case `Set/${WORKSPACE}`:
  19. return {
  20. ...serializeWorkspace(action.workspace),
  21. filter: action.filterStr ? action.filterStr.split(';') : []
  22. }
  23. case `Update/${WORKSPACE}/Filter`:
  24. return {...state, filter: action.filterList}
  25. default:
  26. return state
  27. }
  28. }