chart.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import { fakeChartData } from '../services/api';
  2. export default {
  3. namespace: 'chart',
  4. state: {
  5. visitData: [],
  6. salesData: [],
  7. searchData: [],
  8. offlineData: [],
  9. offlineChartData: [],
  10. salesTypeData: [],
  11. salesTypeDataOnline: [],
  12. salesTypeDataOffline: [],
  13. radarData: [],
  14. },
  15. effects: {
  16. *fetch(_, { call, put }) {
  17. const response = yield call(fakeChartData);
  18. yield put({
  19. type: 'save',
  20. payload: response,
  21. });
  22. },
  23. *fetchSalesData(_, { call, put }) {
  24. const response = yield call(fakeChartData);
  25. yield put({
  26. type: 'save',
  27. payload: {
  28. salesData: response.salesData,
  29. },
  30. });
  31. },
  32. },
  33. reducers: {
  34. save(state, { payload }) {
  35. return {
  36. ...state,
  37. ...payload,
  38. };
  39. },
  40. setter(state, { payload }) {
  41. return {
  42. ...state,
  43. ...payload,
  44. };
  45. },
  46. clear() {
  47. return {
  48. visitData: [],
  49. salesData: [],
  50. searchData: [],
  51. offlineData: [],
  52. offlineChartData: [],
  53. salesTypeData: [],
  54. salesTypeDataOnline: [],
  55. salesTypeDataOffline: [],
  56. radarData: [],
  57. };
  58. },
  59. },
  60. };