| | |
| | | import React, {Component} from 'react' |
| | | import PropTypes from 'prop-types' |
| | | import { fromJS } from 'immutable' |
| | | import { Modal, Form, Icon, Tabs } from 'antd' |
| | | import { Modal, Tabs } from 'antd' |
| | | import { EditOutlined } from '@ant-design/icons' |
| | | |
| | | import { getBaseForm } from './formconfig' |
| | | import asyncComponent from '@/utils/asyncComponent' |
| | | import './index.scss' |
| | | // import './index.scss' |
| | | |
| | | const { TabPane } = Tabs |
| | | const NormalForm = asyncComponent(() => import('@/menu/components/share/normalform')) |
| | | const ModalForm = asyncComponent(() => import('@/components/normalform/modalform')) |
| | | const CodeMirror = asyncComponent(() => import('@/templates/zshare/codemirror')) |
| | | |
| | | class CustomChartDrawerForm extends Component { |
| | | static propTpyes = { |
| | | dict: PropTypes.object, |
| | | plot: PropTypes.object, |
| | | config: PropTypes.object, |
| | | plotchange: PropTypes.func |
| | |
| | | } |
| | | |
| | | render() { |
| | | const { config } = this.props |
| | | const { view, visible, baseFormlist, plot } = this.state |
| | | |
| | | return ( |
| | | <> |
| | | <Icon type="edit" style={{color: '#1890ff'}} title="编辑" onClick={this.showDrawer} /> |
| | | <EditOutlined style={{color: '#1890ff'}} title="编辑" onClick={this.showDrawer} /> |
| | | <Modal |
| | | wrapClassName="popview-modal custom-chart-edit-modal" |
| | | title="图表编辑" |
| | | wrapClassName="mk-pop-modal" |
| | | visible={visible} |
| | | width={950} |
| | | maskClosable={false} |
| | |
| | | onCancel={() => { this.setState({ visible: false }) }} |
| | | destroyOnClose |
| | | > |
| | | {config.name ? <div className="mk-com-name">{config.name} - 编辑</div> : null} |
| | | <Tabs activeKey={view} onChange={this.changeTab}> |
| | | <TabPane tab="组件设置" key="base"> |
| | | <NormalForm dict={this.props.dict} formlist={baseFormlist} inputSubmit={this.onSubmit} wrappedComponentRef={(inst) => this.baseRef = inst}/> |
| | | <ModalForm formlist={baseFormlist} inputSubmit={this.onSubmit} wrappedComponentRef={(inst) => this.baseRef = inst}/> |
| | | </TabPane> |
| | | {plot ? <TabPane tab="JS" key="JS"> |
| | | {plot.chartType === 'antv' ? <div>入参:Chart、 DataSet、 wrap(dom节点)、data、 config</div> : <div>入参:echarts、 DataSet、 wrap(dom节点)、 data、 config</div>} |
| | | {plot.chartType === 'antv' ? <div>入参:Chart、 chartId(dom节点id)、data、 config</div> : <div>入参:echarts、 chartId(dom节点id)、 data、 config</div>} |
| | | <CodeMirror mode="text/javascript" theme="cobalt" value={plot.script} onChange={this.onChange} /> |
| | | </TabPane> : null} |
| | | </Tabs> |
| | |
| | | } |
| | | } |
| | | |
| | | export default Form.create()(CustomChartDrawerForm) |
| | | export default CustomChartDrawerForm |