|
|
@@ -1,4 +1,5 @@
|
|
|
import React from "react"
|
|
|
+import { findDOMNode } from 'react-dom'
|
|
|
import "./viewLayout.less"
|
|
|
import ReactGridLayout from 'react-grid-layout'
|
|
|
import { Icon, Modal } from 'antd'
|
|
|
@@ -15,11 +16,11 @@ class ViewLayout extends React.PureComponent {
|
|
|
|
|
|
createElement = (item, isPreview) => {
|
|
|
const { dispatch, editMode } = this.props;
|
|
|
- const { code, title, viewType, layout, chartCode } = item;
|
|
|
+ const { code, name, viewType, layout, chartCode } = item;
|
|
|
return (
|
|
|
<div className={`chartview${editMode ? ' chartview-edit' : ''}`} key={code} data-grid={layout}>
|
|
|
<div className='chartview-toolbar mover'>
|
|
|
- <div className='chart-title'><span>{title}</span></div>
|
|
|
+ <div className='chart-title'><span>{name}</span></div>
|
|
|
<div className='chart-tools'>
|
|
|
{!isPreview && viewType !== 'richText' && <Icon type="arrows-alt" onClick={() => this.showPreviewBox(item)}/>}
|
|
|
{editMode && viewType !== 'richText' && <Icon type='edit' onClick={() => {
|
|
|
@@ -33,7 +34,7 @@ class ViewLayout extends React.PureComponent {
|
|
|
{isPreview && <Icon type="close" onClick={this.hidePreviewBox}/>}
|
|
|
</div>
|
|
|
</div>
|
|
|
- <ChartView editMode={isPreview ? false : editMode} item={{...item}}/>
|
|
|
+ <ChartView itemSize={{ width: '100%', height: isPreview ? '100%' : 50*layout.h }} editMode={isPreview ? false : editMode} item={{...item}}/>
|
|
|
</div>
|
|
|
)
|
|
|
}
|
|
|
@@ -43,7 +44,12 @@ class ViewLayout extends React.PureComponent {
|
|
|
dispatch({ type: 'dashboardDesigner/changeLayout', layout });
|
|
|
setTimeout(() => {
|
|
|
reset();
|
|
|
- }, 200)
|
|
|
+ }, 500)
|
|
|
+ }
|
|
|
+
|
|
|
+ onResize = () => {
|
|
|
+ const { reset, } = this.props;
|
|
|
+ reset();
|
|
|
}
|
|
|
|
|
|
showPreviewBox = (item) => {
|
|
|
@@ -60,12 +66,13 @@ class ViewLayout extends React.PureComponent {
|
|
|
}
|
|
|
|
|
|
render() {
|
|
|
- const { dashboardDesigner, width, editMode } = this.props;
|
|
|
+ const { dashboardDesigner, contentSize, editMode } = this.props;
|
|
|
const { visiblePreviewBox, previewItem } = this.state;
|
|
|
const children = dashboardDesigner.items.map((item) => this.createElement(item));
|
|
|
return (<div>
|
|
|
<ReactGridLayout
|
|
|
- width={width}
|
|
|
+ width={contentSize.width}
|
|
|
+ autoSize={true}
|
|
|
cols={12}
|
|
|
margin = {editMode ? [2, 2] : [0, 0]}
|
|
|
rowHeight = {50}
|
|
|
@@ -73,6 +80,7 @@ class ViewLayout extends React.PureComponent {
|
|
|
isResizable={editMode}
|
|
|
draggableHandle='.mover'
|
|
|
onLayoutChange={this.onLayoutChange}
|
|
|
+ onResize={this.onResize}
|
|
|
onBreakpointChange={this.onBreakpointChange}
|
|
|
verticalCompact={true}
|
|
|
compactType='vertical'
|