1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/didiopensource-KnowStreaming

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
version-management.tsx 3.1 КБ
Копировать Редактировать Исходные данные Просмотреть построчно История
zengqiao Отправлено 4 лет назад 447a575
import { observer } from 'mobx-react';
import * as React from 'react';
import { Table, Button, Spin } from 'component/antd';
import { SearchAndFilterContainer } from 'container/search-filter';
import { IUploadFile } from 'types/base-type';
import { version } from 'store/version';
import { pagination } from 'constants/table';
import { getVersionColumns } from './config';
import { showUploadModal } from 'container/modal/admin';
import { tableFilter } from 'lib/utils';
import { admin } from 'store/admin';
@observer
export class VersionManagement extends SearchAndFilterContainer {
public state = {
searchKey: '',
filterClusterNameVisible: false,
filterConfigTypeVisible: false,
};
public async componentDidMount() {
if (!version.fileTypeList.length) {
await version.getFileTypeList();
}
if (!version.fileList.length) {
version.getFileList();
}
if (!admin.metaList.length) {
admin.getMetaData(false);
}
}
public getColumns = () => {
const columns = getVersionColumns();
const clusterName = Object.assign({
title: '集群名称',
dataIndex: 'clusterName',
key: 'clusterName',
filters: tableFilter<any>(this.getData(version.fileList), 'clusterName'),
onFilter: (value: string, record: IUploadFile) => record.clusterName === value,
}, this.renderColumnsFilter('filterClusterNameVisible'));
const configType = Object.assign({
title: '配置类型',
dataIndex: 'configType',
key: 'configType',
filters: tableFilter<any>(this.getData(version.fileList), 'configType'),
onFilter: (value: string, record: IUploadFile) => record.configType === value,
}, this.renderColumnsFilter('filterConfigTypeVisible'));
const col = columns.splice(1, 0, clusterName, configType);
return columns;
}
public getData<T extends IUploadFile>(origin: T[]) {
let data: T[] = origin;
let { searchKey } = this.state;
searchKey = (searchKey + '').trim().toLowerCase();
if (searchKey) {
data = origin.filter((item: IUploadFile) => item.id + '' === searchKey
|| ((item.fileName !== undefined && item.fileName !== null) && item.fileName.toLowerCase().includes(searchKey as string)));
}
return data;
}
public renderTable() {
return (
<Spin spinning={version.loading}>
<Table
rowKey="key"
columns={this.getColumns()}
dataSource={this.getData(version.fileList)}
pagination={pagination}
/>
</Spin>
);
}
public renderOperationPanel() {
return (
<ul>
{this.renderSearch('', '请输入ID或文件名')}
<li className="right-btn-1">
<Button type="primary" onClick={() => showUploadModal()}>上传配置</Button>
</li>
</ul>
);
}
public render() {
const currentFileType = version.currentFileType;
const acceptFileMap = version.acceptFileMap;
return (
<div className="container">
<div className="table-operation-panel">
{this.renderOperationPanel()}
</div>
<div className="table-wrapper">
{this.renderTable()}
</div>
</div>
);
}
}

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/didiopensource-KnowStreaming.git
git@gitlife.ru:oschina-mirror/didiopensource-KnowStreaming.git
oschina-mirror
didiopensource-KnowStreaming
didiopensource-KnowStreaming
v2.2.0