mirror of
https://github.com/didi/KnowStreaming.git
synced 2026-01-03 02:52:08 +08:00
79 lines
2.7 KiB
TypeScript
79 lines
2.7 KiB
TypeScript
import * as React from 'react';
|
||
import { Table, Modal, Tooltip, Icon, message, notification, Alert } from 'component/antd';
|
||
import { app } from 'store/app';
|
||
import { getApplyOnlineColumns } from 'container/topic/config';
|
||
import { observer } from 'mobx-react';
|
||
import { modal } from 'store/modal';
|
||
import { users } from 'store/users';
|
||
import { urlPrefix } from 'constants/left-menu';
|
||
import { region } from 'store';
|
||
|
||
@observer
|
||
export class ConnectAppList extends React.Component {
|
||
|
||
public componentDidMount() {
|
||
app.getAppsConnections(modal.params);
|
||
}
|
||
|
||
public handleCancel = () => {
|
||
app.setAppsConnections([]);
|
||
modal.close();
|
||
}
|
||
|
||
public handleSubmit = () => {
|
||
const connectionList = app.appsConnections;
|
||
if (connectionList && connectionList.length) {
|
||
return message.warning('存在连接信息,无法申请下线!');
|
||
}
|
||
const offlineParams = {
|
||
type: 11,
|
||
applicant: users.currentUser.username,
|
||
description: '',
|
||
extensions: JSON.stringify({ appId: modal.params }),
|
||
};
|
||
app.applyAppOffline(offlineParams).then((data: any) => {
|
||
notification.success({ message: '申请下线成功' });
|
||
window.location.href = `${urlPrefix}/user/order-detail/?orderId=${data.id}®ion=${region.currentRegion}`;
|
||
});
|
||
modal.close();
|
||
}
|
||
|
||
public render() {
|
||
return (
|
||
<>
|
||
<Modal
|
||
visible={true}
|
||
className="stream-debug-modal"
|
||
title={
|
||
<span>
|
||
申请下线
|
||
<Tooltip placement="right" title={'如若有连接信息,则表示资源正处于使用中,禁止下线操作。如需下线,烦请关闭连接信息中的Kafka发送/消费客户端后再进行下线。'} >
|
||
<Icon className="question-icon" type="question-circle" />
|
||
</Tooltip>
|
||
</span>
|
||
}
|
||
maskClosable={false}
|
||
onCancel={this.handleCancel}
|
||
onOk={this.handleSubmit}
|
||
okText="确认"
|
||
cancelText="取消"
|
||
okButtonProps={{ disabled: app.connectLoading || !!app.appsConnections.length }}
|
||
width={700}
|
||
>
|
||
<Table
|
||
rowKey="key"
|
||
title={() => '连接信息'}
|
||
loading={app.connectLoading}
|
||
scroll={{ x: 450, y: 260 }}
|
||
dataSource={app.appsConnections}
|
||
columns={getApplyOnlineColumns()}
|
||
pagination={false}
|
||
bordered={true}
|
||
/>
|
||
<Alert message="如若有连接信息,则表示资源正处于使用中,禁止下线操作。如需下线,烦请关闭连接信息中的Kafka发送/消费客户端后再进行下线。" type="error" showIcon />
|
||
</Modal>
|
||
</>
|
||
);
|
||
}
|
||
}
|