index.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import dva from 'dva'
  2. import undoable, { includeAction } from 'redux-undo'
  3. import indexRouter from './routes/router'
  4. import mainModel from './models/main'
  5. import chartDesigner from './models/chartDesigner'
  6. import dataSource from './models/dataSource'
  7. import dataConnect from './models/dataConnect'
  8. import dashboard from './models/dashboard'
  9. import chart from './models/chart'
  10. import dashboardDesigner from './models/dashboardDesigner';
  11. import userGroup from './models/userGroup'
  12. import user from './models/user'
  13. import chartPolicy from './models/chartPolicy'
  14. import dataSourcePolicy from './models/dataSourcePolicy'
  15. import dashboardPolicy from './models/dashboardPolicy'
  16. import dataList from './models/dataList'
  17. import './utils/baseUtils'
  18. import './index.less'
  19. import createLoading from 'dva-loading';
  20. // 1. Initialize
  21. const app = dva({
  22. onReducer: reducer => (state, action) => {
  23. const newState = undoable(reducer, {
  24. limit: 10,
  25. filter: includeAction(['chartDesigner/setField', 'chartDesigner/setFields']), // 只对图表编辑界面的部分action生效
  26. })(state, action);
  27. return { ...newState };
  28. },
  29. });
  30. // 2. Plugins
  31. app.use(createLoading());
  32. // 3. Model
  33. app.model(mainModel); // 通用action
  34. app.model(dataConnect); // 数据连接
  35. app.model(dataSource); // 数据源
  36. app.model(chart); // 图表
  37. app.model(chartDesigner); // 图表设计
  38. app.model(dashboard); //报告与看板
  39. app.model(dashboardDesigner); // 看板设计
  40. app.model(userGroup); // 用户组
  41. app.model(user); // 用户
  42. app.model(chartPolicy); // 图表策略
  43. app.model(dataSourcePolicy); // 数据源策略
  44. app.model(dashboardPolicy); // 看板策略
  45. app.model(dataList); // 数据列表
  46. // 4. Router
  47. app.router(indexRouter);
  48. // 5. Start
  49. app.start('#root');