|
|
|
@ -1,6 +1,7 @@ |
|
|
|
import React, { PureComponent } from 'react'; |
|
|
|
import { Select, message, List, Switch, Divider, Icon } from 'antd'; |
|
|
|
import DrawerMenu from 'rc-drawer'; |
|
|
|
import { CopyToClipboard } from 'react-copy-to-clipboard'; |
|
|
|
import { connect } from 'dva'; |
|
|
|
import styles from './index.less'; |
|
|
|
import ThemeColor from './ThemeColor'; |
|
|
|
@ -145,108 +146,117 @@ class SettingDarwer extends PureComponent { |
|
|
|
}; |
|
|
|
|
|
|
|
render() { |
|
|
|
const { |
|
|
|
setting: { collapse, silderTheme, themeColor, layout, colorWeak }, |
|
|
|
} = this.props; |
|
|
|
const { setting } = this.props; |
|
|
|
const { collapse, silderTheme, themeColor, layout, colorWeak } = setting; |
|
|
|
return ( |
|
|
|
<div className={styles.settingDarwer}> |
|
|
|
<DrawerMenu |
|
|
|
parent={null} |
|
|
|
level={null} |
|
|
|
open={collapse} |
|
|
|
mask={false} |
|
|
|
onHandleClick={this.togglerContent} |
|
|
|
handler={ |
|
|
|
<div className="drawer-handle"> |
|
|
|
{!collapse ? ( |
|
|
|
<Icon |
|
|
|
type="setting" |
|
|
|
style={{ |
|
|
|
color: '#FFF', |
|
|
|
fontSize: 20, |
|
|
|
}} |
|
|
|
/> |
|
|
|
) : ( |
|
|
|
<Icon |
|
|
|
type="close" |
|
|
|
style={{ |
|
|
|
color: '#FFF', |
|
|
|
fontSize: 20, |
|
|
|
}} |
|
|
|
/> |
|
|
|
)} |
|
|
|
</div> |
|
|
|
} |
|
|
|
placement="right" |
|
|
|
width="336px" |
|
|
|
style={{ |
|
|
|
zIndex: 999, |
|
|
|
}} |
|
|
|
onMaskClick={this.togglerContent} |
|
|
|
> |
|
|
|
<div className={styles.content}> |
|
|
|
<Body title="整体风格设置"> |
|
|
|
<BlockChecbox |
|
|
|
list={[ |
|
|
|
{ |
|
|
|
key: 'dark', |
|
|
|
url: 'https://gw.alipayobjects.com/zos/rmsportal/LCkqqYNmvBEbokSDscrm.svg', |
|
|
|
}, |
|
|
|
{ |
|
|
|
key: 'light', |
|
|
|
url: 'https://gw.alipayobjects.com/zos/rmsportal/jpRkZQMyYRryryPNtyIC.svg', |
|
|
|
}, |
|
|
|
]} |
|
|
|
value={silderTheme} |
|
|
|
onChange={value => this.changeSetting('silderTheme', value)} |
|
|
|
<DrawerMenu |
|
|
|
parent={null} |
|
|
|
level={null} |
|
|
|
open={collapse} |
|
|
|
mask={false} |
|
|
|
onHandleClick={this.togglerContent} |
|
|
|
handler={ |
|
|
|
<div className="drawer-handle"> |
|
|
|
{!collapse ? ( |
|
|
|
<Icon |
|
|
|
type="setting" |
|
|
|
style={{ |
|
|
|
color: '#FFF', |
|
|
|
fontSize: 20, |
|
|
|
}} |
|
|
|
/> |
|
|
|
</Body> |
|
|
|
|
|
|
|
<ThemeColor value={themeColor} onChange={this.colorChange} /> |
|
|
|
) : ( |
|
|
|
<Icon |
|
|
|
type="close" |
|
|
|
style={{ |
|
|
|
color: '#FFF', |
|
|
|
fontSize: 20, |
|
|
|
}} |
|
|
|
/> |
|
|
|
)} |
|
|
|
</div> |
|
|
|
} |
|
|
|
placement="right" |
|
|
|
width="336px" |
|
|
|
style={{ |
|
|
|
zIndex: 999, |
|
|
|
}} |
|
|
|
onMaskClick={this.togglerContent} |
|
|
|
> |
|
|
|
<div className={styles.content}> |
|
|
|
<CopyToClipboard |
|
|
|
text={JSON.stringify(setting)} |
|
|
|
onCopy={() => message.success('copy success')} |
|
|
|
> |
|
|
|
<div className={styles.clipboard}> |
|
|
|
<img |
|
|
|
src="https://gw.alipayobjects.com/zos/rmsportal/YuWymXLusbplhCwgZwMT.svg" |
|
|
|
alt="Copy To Clipboard" |
|
|
|
width={18} |
|
|
|
/> |
|
|
|
</div> |
|
|
|
</CopyToClipboard> |
|
|
|
<Body title="整体风格设置"> |
|
|
|
<BlockChecbox |
|
|
|
list={[ |
|
|
|
{ |
|
|
|
key: 'dark', |
|
|
|
url: 'https://gw.alipayobjects.com/zos/rmsportal/LCkqqYNmvBEbokSDscrm.svg', |
|
|
|
}, |
|
|
|
{ |
|
|
|
key: 'light', |
|
|
|
url: 'https://gw.alipayobjects.com/zos/rmsportal/jpRkZQMyYRryryPNtyIC.svg', |
|
|
|
}, |
|
|
|
]} |
|
|
|
value={silderTheme} |
|
|
|
onChange={value => this.changeSetting('silderTheme', value)} |
|
|
|
/> |
|
|
|
</Body> |
|
|
|
|
|
|
|
<Divider /> |
|
|
|
<ThemeColor value={themeColor} onChange={this.colorChange} /> |
|
|
|
|
|
|
|
<Body title="导航设置 "> |
|
|
|
<BlockChecbox |
|
|
|
list={[ |
|
|
|
{ |
|
|
|
key: 'sidemenu', |
|
|
|
url: 'https://gw.alipayobjects.com/zos/rmsportal/JopDzEhOqwOjeNTXkoje.svg', |
|
|
|
}, |
|
|
|
{ |
|
|
|
key: 'topmenu', |
|
|
|
url: 'https://gw.alipayobjects.com/zos/rmsportal/KDNDBbriJhLwuqMoxcAr.svg', |
|
|
|
}, |
|
|
|
]} |
|
|
|
value={layout} |
|
|
|
onChange={value => this.changeSetting('layout', value)} |
|
|
|
/> |
|
|
|
</Body> |
|
|
|
<Divider /> |
|
|
|
|
|
|
|
<List |
|
|
|
split={false} |
|
|
|
dataSource={this.getLayOutSetting()} |
|
|
|
renderItem={item => <List.Item actions={item.action}>{item.title}</List.Item>} |
|
|
|
<Body title="导航设置 "> |
|
|
|
<BlockChecbox |
|
|
|
list={[ |
|
|
|
{ |
|
|
|
key: 'sidemenu', |
|
|
|
url: 'https://gw.alipayobjects.com/zos/rmsportal/JopDzEhOqwOjeNTXkoje.svg', |
|
|
|
}, |
|
|
|
{ |
|
|
|
key: 'topmenu', |
|
|
|
url: 'https://gw.alipayobjects.com/zos/rmsportal/KDNDBbriJhLwuqMoxcAr.svg', |
|
|
|
}, |
|
|
|
]} |
|
|
|
value={layout} |
|
|
|
onChange={value => this.changeSetting('layout', value)} |
|
|
|
/> |
|
|
|
</Body> |
|
|
|
|
|
|
|
<Divider /> |
|
|
|
<List |
|
|
|
split={false} |
|
|
|
dataSource={this.getLayOutSetting()} |
|
|
|
renderItem={item => <List.Item actions={item.action}>{item.title}</List.Item>} |
|
|
|
/> |
|
|
|
|
|
|
|
<Body title="其他设置 "> |
|
|
|
<List.Item |
|
|
|
actions={[ |
|
|
|
<Switch |
|
|
|
size="small" |
|
|
|
checked={!!colorWeak} |
|
|
|
onChange={checked => this.changeSetting('colorWeak', checked)} |
|
|
|
/>, |
|
|
|
]} |
|
|
|
> |
|
|
|
色弱模式 |
|
|
|
</List.Item> |
|
|
|
</Body> |
|
|
|
</div> |
|
|
|
</DrawerMenu> |
|
|
|
</div> |
|
|
|
<Divider /> |
|
|
|
|
|
|
|
<Body title="其他设置 "> |
|
|
|
<List.Item |
|
|
|
actions={[ |
|
|
|
<Switch |
|
|
|
size="small" |
|
|
|
checked={!!colorWeak} |
|
|
|
onChange={checked => this.changeSetting('colorWeak', checked)} |
|
|
|
/>, |
|
|
|
]} |
|
|
|
> |
|
|
|
色弱模式 |
|
|
|
</List.Item> |
|
|
|
</Body> |
|
|
|
</div> |
|
|
|
</DrawerMenu> |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
|