mirror of https://github.com/openspug/spug
U 优化创建发布申请应用名称过长时气泡显示完整名称
parent
b5e3e0121c
commit
18ce12667c
|
@ -6,7 +6,7 @@
|
|||
import React from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
import { observer } from 'mobx-react';
|
||||
import { Modal, Button, Menu, Spin, Icon } from 'antd';
|
||||
import { Modal, Button, Menu, Spin, Icon, Tooltip } from 'antd';
|
||||
import store from './store';
|
||||
import styles from './index.module.css';
|
||||
import envStore from 'pages/config/environment/store';
|
||||
|
@ -30,6 +30,10 @@ class SelectApp extends React.Component {
|
|||
}
|
||||
}
|
||||
|
||||
componentWillUnmount() {
|
||||
store.refs = {}
|
||||
}
|
||||
|
||||
_initEnv = () => {
|
||||
if (envStore.records.length) {
|
||||
this.setState({env_id: envStore.records[0].id})
|
||||
|
@ -46,6 +50,12 @@ class SelectApp extends React.Component {
|
|||
store.addVisible = false
|
||||
};
|
||||
|
||||
handleRef = (el, id) => {
|
||||
if (el && !store.refs.hasOwnProperty(id)) {
|
||||
setTimeout(() => store.refs[id] = el.scrollWidth > el.clientWidth, 200)
|
||||
}
|
||||
};
|
||||
|
||||
render() {
|
||||
const {env_id} = this.state;
|
||||
const records = store.deploys.filter(x => x.env_id === Number(env_id));
|
||||
|
@ -75,12 +85,15 @@ class SelectApp extends React.Component {
|
|||
<Spin spinning={store.isLoading}>
|
||||
<div className={styles.title}>{lds.get(envStore.idMap, `${env_id}.name`)}</div>
|
||||
{records.map(item => (
|
||||
<Button key={item.id} type="primary" className={styles.appBlock} onClick={() => this.handleClick(item)}>
|
||||
<div style={{width: 135, overflow: 'hidden', textOverflow: 'ellipsis'}}>
|
||||
<Icon type={item.extend === '1' ? 'ordered-list' : 'build'}
|
||||
style={{marginRight: 10}}/>{item['app_name']}
|
||||
</div>
|
||||
</Button>
|
||||
<Tooltip key={item.id} title={store.refs[item.id] ? item['app_name'] : null}>
|
||||
<Button type="primary" className={styles.appBlock} onClick={() => this.handleClick(item)}>
|
||||
<div ref={el => this.handleRef(el, item.id)}
|
||||
style={{width: 135, overflow: 'hidden', textOverflow: 'ellipsis'}}>
|
||||
<Icon type={item.extend === '1' ? 'ordered-list' : 'build'}
|
||||
style={{marginRight: 10}}/>{item['app_name']}
|
||||
</div>
|
||||
</Button>
|
||||
</Tooltip>
|
||||
))}
|
||||
{records.length === 0 &&
|
||||
<div className={styles.tips}>该环境下还没有可发布的应用哦,快去<Link to="/deploy/app">应用管理</Link>创建应用发布配置吧。</div>}
|
||||
|
|
|
@ -11,6 +11,7 @@ class Store {
|
|||
@observable deploys = [];
|
||||
@observable types = [];
|
||||
@observable record = {};
|
||||
@observable refs = {};
|
||||
@observable isLoading = false;
|
||||
@observable isFetching = false;
|
||||
@observable addVisible = false;
|
||||
|
|
Loading…
Reference in New Issue