From 31bc69939cd2a9ddb3a45ad7e782c45bbca7f8bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=87=AA=E5=B8=A6=E5=A4=A7=E4=BD=AC=E6=B0=94=E5=9C=BA?= <188633308@qq.com> Date: Tue, 29 Jun 2021 13:26:09 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E9=A2=9C=E8=89=B2=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web-react/package.json | 1 + web-react/src/assets/style/app.less | 1 + .../src/assets/style/lib/color-selector.less | 18 ++++++ .../src/components/color-selector/index.jsx | 55 +++++++++++++++++++ web-react/src/components/index.js | 1 + web-react/src/pages/system/app/form.jsx | 6 +- web-react/src/pages/system/app/index.jsx | 27 +++++++++ web-react/yarn.lock | 44 ++++++++++++++- 8 files changed, 149 insertions(+), 4 deletions(-) create mode 100644 web-react/src/assets/style/lib/color-selector.less create mode 100644 web-react/src/components/color-selector/index.jsx diff --git a/web-react/package.json b/web-react/package.json index 8de0070..8f2e44b 100644 --- a/web-react/package.json +++ b/web-react/package.json @@ -19,6 +19,7 @@ "nprogress": "^0.2.0", "photoswipe": "^4.1.3", "react": "^17.0.2", + "react-color": "^2.19.3", "react-dom": "^17.0.2", "react-json-view": "^1.21.3", "react-monaco-editor": "^0.43.0", diff --git a/web-react/src/assets/style/app.less b/web-react/src/assets/style/app.less index f4849cc..1e27ce4 100644 --- a/web-react/src/assets/style/app.less +++ b/web-react/src/assets/style/app.less @@ -35,6 +35,7 @@ @import './lib/tree-layout.less'; @import './lib/authority-view.less'; @import './lib/icon-selector.less'; +@import './lib/color-selector.less'; @import './lib/anchor.less'; @import './lib/disabled.less'; @import './theme/primary.less'; diff --git a/web-react/src/assets/style/lib/color-selector.less b/web-react/src/assets/style/lib/color-selector.less new file mode 100644 index 0000000..e030c16 --- /dev/null +++ b/web-react/src/assets/style/lib/color-selector.less @@ -0,0 +1,18 @@ +@import (reference) '../extend.less'; +.ant-select-dropdown { + .chrome-picker { + width: auto !important; + margin: -@padding-xxs 0; + + border-radius: 0 !important; + background: transparent !important; + box-shadow: none !important; + } +} +.color-selector--palette { + width: 32px; + height: 32px; + + border-radius: @border-radius-base; + box-shadow: inset 0 0 0 @border-width-base @border-color-base, inset 0 0 0 3px @white; +} diff --git a/web-react/src/components/color-selector/index.jsx b/web-react/src/components/color-selector/index.jsx new file mode 100644 index 0000000..3d67ab9 --- /dev/null +++ b/web-react/src/components/color-selector/index.jsx @@ -0,0 +1,55 @@ +import React, { Component } from 'react' +import { Col, Row, Select } from 'antd' +import { ChromePicker } from 'react-color' + +export default class index extends Component { + select = React.createRef() + + state = { + color: null, + } + + onChange(color) { + this.setState({ color: color.hex }) + } + + onChangeComplete(color) { + this.props.onChange && this.props.onChange(color.hex) + } + + render() { + const { color } = this.state + + const { value } = this.props + + return ( + + +