From 76a4300654a18d228838c3f27455dc8e7a8cd616 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 15 一月 2021 17:04:42 +0800 Subject: [PATCH] Merge branch 'master' into bms --- src/menu/components/card/cardcellcomponent/index.jsx | 56 +++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 43 insertions(+), 13 deletions(-) diff --git a/src/menu/components/card/cardcellcomponent/index.jsx b/src/menu/components/card/cardcellcomponent/index.jsx index 7388b7d..1eb0989 100644 --- a/src/menu/components/card/cardcellcomponent/index.jsx +++ b/src/menu/components/card/cardcellcomponent/index.jsx @@ -59,6 +59,7 @@ MKEmitter.addListener('cardAddElement', this.cardAddElement) MKEmitter.addListener('submitStyle', this.getStyle) MKEmitter.addListener('submitModal', this.handleSave) + MKEmitter.addListener('submitComponentStyle', this.updateComponentStyle) } shouldComponentUpdate (nextProps, nextState) { @@ -87,6 +88,28 @@ MKEmitter.removeListener('cardAddElement', this.cardAddElement) MKEmitter.removeListener('submitStyle', this.getStyle) MKEmitter.removeListener('submitModal', this.handleSave) + MKEmitter.removeListener('submitComponentStyle', this.updateComponentStyle) + } + + updateComponentStyle = (parentId, keys, style) => { + const { cardCell } = this.props + + if (!cardCell || cardCell.uuid !== parentId) return + + const { elements } = this.state + + let _elements = elements.map(item => { + if (keys.includes(item.uuid)) { + return this.resetCardStyle(item, {...item.style, ...style}) + } + return item + }) + + this.setState({ + elements: _elements + }, () => { + this.props.updateElement(_elements) + }) } cardAddElement = (ids, element) => { @@ -132,6 +155,21 @@ if (comIds.length !== 3 || comIds[0] !== cards.uuid || comIds[1] !== cardCell.uuid) return + let _card = this.resetCardStyle(card, style) + + let _elements = elements.map(cell => { + if (cell.uuid === _card.uuid) return _card + return cell + }) + + this.setState({ + elements: _elements + }, () => { + this.props.updateElement(_elements) + }) + } + + resetCardStyle = (card, style) => { let _card = fromJS(card).toJS() if (_card.eleType === 'text' || _card.eleType === 'number') { @@ -205,16 +243,7 @@ _card.style = style } - let _elements = elements.map(cell => { - if (cell.uuid === _card.uuid) return _card - return cell - }) - - this.setState({ - elements: _elements - }, () => { - this.props.updateElement(_elements) - }) + return _card } /** @@ -471,12 +500,12 @@ const { cards } = this.props let btn = fromJS(item).toJS() - if (btn.eleType !== 'button') return + if (btn.eleType !== 'button' || (sessionStorage.getItem('style-control') && sessionStorage.getItem('style-control') !== 'false')) return if (btn.OpenType === 'pop') { if (!btn.modal) { btn.modal = { - setting: { title: btn.label, width: 60, cols: '2', container: 'tab', focus: '', finish: 'close', clickouter: 'unclose', display: 'modal' }, + setting: { title: btn.label, width: 60, cols: '2', container: 'view', focus: '', finish: 'close', clickouter: 'unclose', display: 'modal' }, tables: [], groups: [], fields: [] @@ -549,13 +578,14 @@ } render() { - const { cards } = this.props + const { cards, cardCell } = this.props const { elements, visible, actvisible, profVisible, card, dict } = this.state return ( <div className="model-menu-card-cell-list"> <DragElement list={elements} + parent={{...cardCell, components: elements}} fields={cards.columns} updateMarks={this.updateMarks} handleList={this.handleList} -- Gitblit v1.8.0