| | |
| | | import React, {Component} from 'react' |
| | | import PropTypes from 'prop-types' |
| | | import { is, fromJS } from 'immutable' |
| | | import { Form, Select } from 'antd' |
| | | import { Form, Select, Input } from 'antd' |
| | | |
| | | import asyncComponent from '@/utils/asyncComponent' |
| | | import './index.scss' |
| | |
| | | } |
| | | |
| | | state = { |
| | | background: '', |
| | | backgroundColor: '', |
| | | backgroundImage: '', |
| | | backgroundSize: '', |
| | |
| | | } |
| | | |
| | | this.setState({ |
| | | background: config.style.background || '', |
| | | backgroundColor: config.style.backgroundColor, |
| | | backgroundImage: bgImg, |
| | | backgroundSize: config.style.backgroundSize || '100%', |
| | |
| | | this.props.updateConfig(config) |
| | | } |
| | | |
| | | changeBackground = (val) => { |
| | | this.setState({ |
| | | background: val, |
| | | }) |
| | | |
| | | if (!val || /(^linear-gradient|^radial-gradient)\(.*\)$/.test(val)) { |
| | | let config = fromJS(this.props.config).toJS() |
| | | config.style.background = val |
| | | |
| | | delete config.style.backgroundColor |
| | | delete config.style.backgroundImage |
| | | |
| | | if (!val) { |
| | | delete config.style.background |
| | | } |
| | | |
| | | this.setState({ |
| | | backgroundImage: '', |
| | | backgroundColor: '' |
| | | }) |
| | | |
| | | this.props.updateConfig(config) |
| | | } |
| | | } |
| | | |
| | | render () { |
| | | const { backgroundColor, backgroundImage, backgroundSize, backgroundRepeat } = this.state |
| | | const { backgroundColor, backgroundImage, backgroundSize, backgroundRepeat, background } = this.state |
| | | const formItemLayout = { |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | |
| | | <Form.Item className="color-control" colon={false} label="颜色"> |
| | | <ColorSketch value={backgroundColor} onChange={this.changeBackgroundColor} /> |
| | | </Form.Item> |
| | | {window.develop === true ? <Form.Item colon={false} label="颜色"> |
| | | <Input value={background} onChange={(e) => this.changeBackground(e.target.value)} /> |
| | | </Form.Item> : null} |
| | | <Form.Item colon={false} label="图片"> |
| | | <SourceComponent value={backgroundImage} type="" placement="right" onChange={this.imgChange}/> |
| | | </Form.Item> |