import React from 'react'
import { Input, Icon, Button, Popconfirm, Switch } from 'antd'
import { connect } from 'dva'
import './header.less'
import SettingBox from './settingBox';
class Header extends React.Component {
constructor(props) {
super(props);
this.state = {
visibleConfirm: false,
visibleSettingBox: false
}
}
handleVisibleChange = (visible) => {
this.setState({ visibleConfirm: visible });
}
isOwner = () => {
const { dashboardDesigner, main } = this.props;
const { creatorCode } = dashboardDesigner;
const { currentUser } = main;
return currentUser.code === creatorCode;
}
render() {
const { dashboardDesigner, dispatch } = this.props;
const { editMode } = dashboardDesigner;
return (
{this.isOwner() &&
{
this.setState({
visibleConfirm: false
});
try {
await dispatch({ type: 'dashboardDesigner/saveWithThumbnail' });
}catch(e){
return e
}
dispatch({ type: 'main/redirect', path: '/dashboard' });
}}
onCancel={() => {
this.setState({
visibleConfirm: false
});
dispatch({ type: 'main/redirect', path: '/dashboard' });
}}
okText="保存"
cancelText="不保存"
>
}
{!this.isOwner() &&
}
{this.isOwner() &&
}
{
const input = e.currentTarget.parentElement.parentElement.getElementsByTagName('input')[0];
input && input.focus()
}}
/> : null}
onChange={(e) => {
dispatch({ type: 'dashboardDesigner/setField', name: 'name', value: e.target.value });
}}
/>
{this.isOwner() && {
dispatch({ type: 'dashboardDesigner/setEditMode', checked });
// 主动触发一次window的resize事件
window.setTimeout(() => {
var e = document.createEvent("Event");
e.initEvent("resize", true, true);
window.dispatchEvent(e);
}, 300);
}}
/>}
);
}
}
export default connect(({ present: { main, dashboardDesigner } }) => ({ main, dashboardDesigner }))(Header);