dataList.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. export default {
  2. namespace: 'dataList',
  3. state: {
  4. columns: [],
  5. dataSource: [],
  6. loading: false,
  7. pageSize: 25,
  8. total: 0,
  9. },
  10. reducers: {
  11. setField(state, action) {
  12. const { name, value } = action;
  13. let obj = {};
  14. obj[name] = value;
  15. let newState = Object.assign({}, state, obj);
  16. return Object.assign({}, newState);
  17. },
  18. setFields(state, action) {
  19. const { fields } = action;
  20. let obj = {};
  21. fields.map(f => (obj[f.name] = f.value));
  22. let newState = Object.assign({}, state, obj);
  23. return Object.assign({}, newState);
  24. },
  25. setColumns(state, action) {
  26. const { columns } = action;
  27. return { ...state, columns }
  28. },
  29. setDataSource(state, action) {
  30. const { dataSource } = action;
  31. return { ...state, dataSource }
  32. },
  33. reset(state, action) {
  34. return { ...state, columns: [], dataSource: [] }
  35. }
  36. },
  37. effects: {
  38. },
  39. subscriptions: {
  40. setup({ dispatch, history }) {
  41. return history.listen(({ pathname, query }) => {
  42. })
  43. }
  44. }
  45. };