From b636a3f64219455ee680bd626c65282c636cfcef Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 07 七月 2021 19:06:13 +0800 Subject: [PATCH] 2021-07-07 --- src/menu/components/tabs/antv-tabs/index.jsx | 50 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 48 insertions(+), 2 deletions(-) diff --git a/src/menu/components/tabs/antv-tabs/index.jsx b/src/menu/components/tabs/antv-tabs/index.jsx index 34c546b..8f64880 100644 --- a/src/menu/components/tabs/antv-tabs/index.jsx +++ b/src/menu/components/tabs/antv-tabs/index.jsx @@ -31,6 +31,7 @@ state = { dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS, + appType: sessionStorage.getItem('appType'), tabs: null, editab: null, labelvisible: false @@ -74,6 +75,7 @@ componentDidMount () { MKEmitter.addListener('submitStyle', this.getStyle) + MKEmitter.addListener('submitSearch', this.getSearch) MKEmitter.addListener('tabsChange', this.handleTabsChange) MKEmitter.addListener('submitComponentStyle', this.updateComponentStyle) } @@ -86,6 +88,7 @@ return } MKEmitter.removeListener('submitStyle', this.getStyle) + MKEmitter.removeListener('submitSearch', this.getSearch) MKEmitter.removeListener('tabsChange', this.handleTabsChange) MKEmitter.removeListener('submitComponentStyle', this.updateComponentStyle) } @@ -215,6 +218,7 @@ this.tabLabelRef.handleConfirm().then(res => { editab.label = res.label editab.icon = res.icon + editab.hasSearch = res.hasSearch || '' editab.blacklist = res.blacklist if (editab.uuid) { @@ -288,6 +292,45 @@ this.props.updateConfig(tabs) } + getSearch = (config) => { + const { tabs } = this.state + + if (tabs.uuid !== config.uuid) return + + let _tabs = fromJS(tabs).toJS() + + _tabs.subtabs = _tabs.subtabs.map(t => { + if (t.uuid === config.tabId) { + t.search = config.search + } + return t + }) + + this.setState({ + tabs: _tabs + }) + this.props.updateConfig(_tabs) + } + + setSearch = (tab) => { + const { tabs } = this.state + let card = { + uuid: tabs.uuid, + tabId: tab.uuid, + search: tab.search + } + + if (!card.search) { + card.search = { + floor: 1, + setting: { type: 'title', field: '', title: '', focus: 'true', btn: 'hidden' }, + groups: [], + fields: [] + } + } + MKEmitter.emit('changeSearch', card) + } + clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() @@ -296,11 +339,11 @@ } render() { - const { tabs, dict, labelvisible, editab } = this.state + const { tabs, dict, labelvisible, editab, appType } = this.state let _style = resetStyle(tabs.style) return ( - <div className="menu-tabs-edit-box" style={_style} onClick={this.clickComponent} id={tabs.uuid}> + <div className={'menu-tabs-edit-box ' + tabs.setting.display} style={_style} onClick={this.clickComponent} id={tabs.uuid}> <DraggableTabs tabPosition={tabs.setting.position} type={tabs.setting.tabStyle} tabsMove={this.moveSwitch}> {tabs.subtabs.map(tab => ( <TabPane tab={ @@ -314,6 +357,8 @@ <span>{tab.icon ? <Icon type={tab.icon} /> : null}{tab.label}</span> </Popover> } key={tab.uuid}> + {appType === 'mob' && tabs.setting.position === 'top' && tabs.setting.display === 'inline-block' && tab.hasSearch === 'icon' ? + <Icon className="search-icon" onDoubleClick={() => this.setSearch(tab)} type="search" /> : null} <TabComponents config={tab} handleList={this.updateTabComponent} deleteCard={this.deleteCard} /> </TabPane> ))} @@ -343,6 +388,7 @@ <TabLabelComponent dict={dict} tab={editab} + setting={tabs.setting} inputSubmit={this.tabLabelSubmit} wrappedComponentRef={(inst) => this.tabLabelRef = inst} /> -- Gitblit v1.8.0