content.jsx 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import React from 'react';
  2. import { Layout, Collapse, Form, Select, Input, Tabs } from 'antd';
  3. const { Header, Sider, Content } = Layout;
  4. const CollapsePanel = Collapse.Panel;
  5. const { TabPane } = Tabs;
  6. const { FormItem } = Form;
  7. const { Option } = Select;
  8. import BaseConfigForm from './sections/baseConfigForm';
  9. import PreparingForm from './sections/preparingForm';
  10. import AggregateTableConfigForm from './sections/aggregateTableConfigForm';
  11. import DataViewConfigForm from './sections/dataViewConfigForm';
  12. import BarConfigForm from './sections/barConfigForm';
  13. import LineConfigForm from './sections/lineConfigForm';
  14. import TableView from './charts/table';
  15. import EchartsView from './charts/echartsView';
  16. import StyleEditor from './sections/styleEditor';
  17. import ToolBar from './sections/toolBar';
  18. import './content.less';
  19. import { connect } from 'dva';
  20. import chartDesigner from '../../models/chartDesigner';
  21. import chartOption from '../../data/charts/option/bar.json';
  22. class ChartDesignerContent extends React.Component {
  23. render() {
  24. const { baseConfig } = this.props.chartDesigner;
  25. const { viewType } = baseConfig;
  26. const formItemLayout = {
  27. labelCol: { span: 8 },
  28. wrapperCol: { span: 16 },
  29. };
  30. let configForm, chartView;
  31. if(viewType.key == 'aggregateTable') {
  32. configForm = (<AggregateTableConfigForm formItemLayout={formItemLayout}/>);
  33. chartView = (<TableView />);
  34. }else if(viewType.key == 'dataView') {
  35. configForm = (<DataViewConfigForm formItemLayout={formItemLayout}/>);
  36. chartView = (<TableView />);
  37. }else if(viewType.key == 'line') {
  38. // configForm = (<DataViewConfigForm formItemLayout={formItemLayout}/>);
  39. // chartView = (<EchartsView option={chartOption}/>);
  40. }else if(viewType.key == 'bar') {
  41. configForm = (<BarConfigForm formItemLayout={formItemLayout}/>);
  42. chartView = (<EchartsView />);
  43. }else if(viewType.key == 'pie') {
  44. // configForm = (<LineConfigForm formItemLayout={formItemLayout}/>);
  45. // chartView = (<EchartsView option={chartOption}/>);
  46. }
  47. return (
  48. <Layout>
  49. <Sider className='sider-left' width={300}>
  50. <Tabs calssName='content-tabs'>
  51. <TabPane className='chartconfig' tab='图表设置' key='1'>
  52. <BaseConfigForm formItemLayout={formItemLayout}/>
  53. { configForm }
  54. <PreparingForm formItemLayout={formItemLayout}/>
  55. </TabPane>
  56. <TabPane className='otherconfig' tab='其他设置' key='2'>
  57. <StyleEditor formItemLayout={formItemLayout}/>
  58. </TabPane>
  59. </Tabs>
  60. </Sider>
  61. <Content>
  62. <Layout>
  63. <Header className='content-header'>
  64. <ToolBar className='header-toolbar'/>
  65. </Header>
  66. <Content>
  67. { chartView }
  68. </Content>
  69. </Layout>
  70. </Content>
  71. </Layout>
  72. )
  73. }
  74. }
  75. function mapStateToProps({ present: { chartDesigner } }) {
  76. return { chartDesigner: chartDesigner }
  77. }
  78. export default connect(mapStateToProps)(ChartDesignerContent);