/** * Copyright (c) OpenSpug Organization. https://github.com/openspug/spug * Copyright (c) * Released under the MIT License. */ import React from 'react'; import { Link } from 'react-router-dom'; import { observer } from 'mobx-react'; import { Modal, Button, Menu, Spin, Icon, Input, Tooltip } from 'antd'; import store from './store'; import styles from './index.module.css'; import envStore from 'pages/config/environment/store'; import lds from 'lodash'; @observer class SelectApp extends React.Component { constructor(props) { super(props); this.state = { env_id: 0, search: '' } } componentDidMount() { store.loadDeploys(); if (envStore.records.length === 0) { envStore.fetchRecords().then(this._initEnv) } else { this._initEnv() } } componentWillUnmount() { store.refs = {} } _initEnv = () => { if (envStore.records.length) { this.setState({env_id: envStore.records[0].id}) } }; handleClick = (deploy) => { store.record = {deploy_id: deploy.id, app_host_ids: deploy.host_ids}; if (deploy.extend === '1') { store.ext1Visible = true } else { store.ext2Visible = true } 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; let records = store.deploys.filter(x => x.env_id === Number(env_id)); if (this.state.search) { records = records.filter(x => x['app_name'].toLowerCase().includes(this.state.search.toLowerCase())) } return ( store.addVisible = false} footer={null}>
this.setState({env_id: selectedKeys[0]})}> {envStore.records.map(item => {item.name})}
{lds.get(envStore.idMap, `${env_id}.name`)}
this.setState({search: e.target.value})}/>
{records.map(item => ( ))} {records.length === 0 &&
该环境下还没有可发布的应用哦,快去应用管理创建应用发布配置吧。
}
) } } export default SelectApp