mirror of
https://github.com/didi/KnowStreaming.git
synced 2026-01-03 19:38:20 +08:00
@@ -2,8 +2,8 @@ import React from 'react';
|
|||||||
import { BrowserRouter as Router, Redirect, Switch } from 'react-router-dom';
|
import { BrowserRouter as Router, Redirect, Switch } from 'react-router-dom';
|
||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
import './constants/axiosConfig';
|
import './constants/axiosConfig';
|
||||||
import dantdZhCN from 'knowdesign/lib/locale/zh_CN';
|
import dantdZhCN from 'knowdesign/es/locale/zh_CN';
|
||||||
import dantdEnUS from 'knowdesign/lib/locale/en_US';
|
import dantdEnUS from 'knowdesign/es/locale/en_US';
|
||||||
import intlZhCN from './locales/zh';
|
import intlZhCN from './locales/zh';
|
||||||
import intlEnUS from './locales/en';
|
import intlEnUS from './locales/en';
|
||||||
import { AppContainer, RouteGuard, DProLayout } from 'knowdesign';
|
import { AppContainer, RouteGuard, DProLayout } from 'knowdesign';
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { DownOutlined } from '@ant-design/icons';
|
import { DownOutlined } from '@ant-design/icons';
|
||||||
import { Popover } from 'knowdesign';
|
import { Popover } from 'knowdesign';
|
||||||
import { TooltipPlacement } from 'knowdesign/lib/basic/tooltip';
|
import { TooltipPlacement } from 'knowdesign/es/basic/tooltip';
|
||||||
import React, { useState, useRef, useEffect } from 'react';
|
import React, { useState, useRef, useEffect } from 'react';
|
||||||
import './index.less';
|
import './index.less';
|
||||||
|
|
||||||
@@ -90,8 +90,9 @@ export default (props: PropsType) => {
|
|||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
key={i}
|
key={i}
|
||||||
className={`container-item ${curState.calculated ? (curState.isHideExpandNode ? 'show' : i >= curState.endI ? 'hide' : 'show') : ''
|
className={`container-item ${
|
||||||
}`}
|
curState.calculated ? (curState.isHideExpandNode ? 'show' : i >= curState.endI ? 'hide' : 'show') : ''
|
||||||
|
}`}
|
||||||
>
|
>
|
||||||
{item}
|
{item}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ const RoleDetailAndUpdate = forwardRef((props, ref): JSX.Element => {
|
|||||||
|
|
||||||
const onSubmit = () => {
|
const onSubmit = () => {
|
||||||
form.validateFields().then((formData) => {
|
form.validateFields().then((formData) => {
|
||||||
|
formData.permissionIdList = formData.permissionIdList.filter((l) => l);
|
||||||
formData.permissionIdList.forEach((arr, i) => {
|
formData.permissionIdList.forEach((arr, i) => {
|
||||||
// 如果分配的系统下的子权限,自动赋予该系统的权限
|
// 如果分配的系统下的子权限,自动赋予该系统的权限
|
||||||
if (arr !== null && arr.length) {
|
if (arr !== null && arr.length) {
|
||||||
@@ -212,7 +213,7 @@ const RoleDetailAndUpdate = forwardRef((props, ref): JSX.Element => {
|
|||||||
rules={[
|
rules={[
|
||||||
() => ({
|
() => ({
|
||||||
validator(_, value) {
|
validator(_, value) {
|
||||||
if (Array.isArray(value) && value.some((item) => !!item.length)) {
|
if (Array.isArray(value) && value.some((item) => !!item?.length)) {
|
||||||
return Promise.resolve();
|
return Promise.resolve();
|
||||||
}
|
}
|
||||||
return Promise.reject(new Error('请为角色至少分配一项权限'));
|
return Promise.reject(new Error('请为角色至少分配一项权限'));
|
||||||
|
|||||||
@@ -86,12 +86,12 @@ class CoverHtmlWebpackPlugin {
|
|||||||
|
|
||||||
assetJson.reverse().forEach((item) => {
|
assetJson.reverse().forEach((item) => {
|
||||||
if (/\.js$/.test(item)) {
|
if (/\.js$/.test(item)) {
|
||||||
// if (item.includes('vendor~')) {
|
if (item.includes('vendor~')) {
|
||||||
// vendors += `<script async src="${item}"></script>`;
|
vendors += `<script async src="${item}"></script>`;
|
||||||
// } else {
|
} else {
|
||||||
// TODO: entry 只有一个
|
// TODO: entry 只有一个
|
||||||
portalMap['@portal/layout'] = item;
|
portalMap['@portal/layout'] = item;
|
||||||
// }
|
}
|
||||||
} else if (/\.css$/.test(item)) {
|
} else if (/\.css$/.test(item)) {
|
||||||
links += `<link href="${item}" rel="stylesheet">`;
|
links += `<link href="${item}" rel="stylesheet">`;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ const TerserJSPlugin = require('terser-webpack-plugin');
|
|||||||
const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
|
const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
|
||||||
const theme = require('./theme');
|
const theme = require('./theme');
|
||||||
const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
|
const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
|
||||||
const HardSourceWebpackPlugin = require('hard-source-webpack-plugin');
|
|
||||||
|
|
||||||
const isProd = process.env.NODE_ENV === 'production';
|
const isProd = process.env.NODE_ENV === 'production';
|
||||||
const babelOptions = {
|
const babelOptions = {
|
||||||
@@ -43,7 +42,6 @@ const babelOptions = {
|
|||||||
module.exports = () => {
|
module.exports = () => {
|
||||||
const cssFileName = isProd ? '[name]-[chunkhash].css' : '[name].css';
|
const cssFileName = isProd ? '[name]-[chunkhash].css' : '[name].css';
|
||||||
const plugins = [
|
const plugins = [
|
||||||
// !isProd && new HardSourceWebpackPlugin(),
|
|
||||||
new CoverHtmlWebpackPlugin(),
|
new CoverHtmlWebpackPlugin(),
|
||||||
new ProgressBarPlugin(),
|
new ProgressBarPlugin(),
|
||||||
new CaseSensitivePathsPlugin(),
|
new CaseSensitivePathsPlugin(),
|
||||||
@@ -150,23 +148,21 @@ module.exports = () => {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
optimization: Object.assign(
|
optimization: Object.assign(
|
||||||
// {
|
|
||||||
// splitChunks: {
|
|
||||||
// cacheGroups: {
|
|
||||||
// vendor: {
|
|
||||||
// test: /[\\/]node_modules[\\/]/,
|
|
||||||
// chunks: 'all',
|
|
||||||
// name: 'vendor',
|
|
||||||
// priority: 10,
|
|
||||||
// enforce: true,
|
|
||||||
// minChunks: 1,
|
|
||||||
// maxSize: 3500000,
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
isProd
|
isProd
|
||||||
? {
|
? {
|
||||||
|
splitChunks: {
|
||||||
|
cacheGroups: {
|
||||||
|
vendor: {
|
||||||
|
test: /[\\/]node_modules[\\/]/,
|
||||||
|
chunks: 'all',
|
||||||
|
name: 'vendor',
|
||||||
|
priority: 10,
|
||||||
|
enforce: true,
|
||||||
|
minChunks: 1,
|
||||||
|
maxSize: 3000000,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
minimizer: [
|
minimizer: [
|
||||||
new TerserJSPlugin({
|
new TerserJSPlugin({
|
||||||
cache: true,
|
cache: true,
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import React, { useState, useEffect, useLayoutEffect } from 'react';
|
|||||||
import { BrowserRouter, Switch, Route, useLocation, useHistory } from 'react-router-dom';
|
import { BrowserRouter, Switch, Route, useLocation, useHistory } from 'react-router-dom';
|
||||||
import { get as lodashGet } from 'lodash';
|
import { get as lodashGet } from 'lodash';
|
||||||
import { DProLayout, AppContainer, IconFont, Menu, Utils, Page403, Page404, Page500, Modal } from 'knowdesign';
|
import { DProLayout, AppContainer, IconFont, Menu, Utils, Page403, Page404, Page500, Modal } from 'knowdesign';
|
||||||
import dantdZhCN from 'knowdesign/lib/locale/zh_CN';
|
import dantdZhCN from 'knowdesign/es/locale/zh_CN';
|
||||||
import dantdEnUS from 'knowdesign/lib/locale/en_US';
|
import dantdEnUS from 'knowdesign/es/locale/en_US';
|
||||||
import { DotChartOutlined } from '@ant-design/icons';
|
import { DotChartOutlined } from '@ant-design/icons';
|
||||||
import { licenseEventBus } from './constants/axiosConfig';
|
import { licenseEventBus } from './constants/axiosConfig';
|
||||||
import intlZhCN from './locales/zh';
|
import intlZhCN from './locales/zh';
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { DownOutlined } from '@ant-design/icons';
|
import { DownOutlined } from '@ant-design/icons';
|
||||||
import { Popover } from 'knowdesign';
|
import { Popover } from 'knowdesign';
|
||||||
import { TooltipPlacement } from 'knowdesign/lib/basic/tooltip';
|
import { TooltipPlacement } from 'knowdesign/es/basic/tooltip';
|
||||||
import React, { useState, useRef, useEffect } from 'react';
|
import React, { useState, useRef, useEffect } from 'react';
|
||||||
import './index.less';
|
import './index.less';
|
||||||
|
|
||||||
@@ -93,8 +93,9 @@ export default (props: PropsType) => {
|
|||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
key={i}
|
key={i}
|
||||||
className={`container-item ${curState.calculated ? (curState.isHideExpandNode ? 'show' : i >= curState.endI ? 'hide' : 'show') : ''
|
className={`container-item ${
|
||||||
}`}
|
curState.calculated ? (curState.isHideExpandNode ? 'show' : i >= curState.endI ? 'hide' : 'show') : ''
|
||||||
|
}`}
|
||||||
>
|
>
|
||||||
{item}
|
{item}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import API from '../../api';
|
|||||||
import { getControllerChangeLogListColumns, defaultPagination } from './config';
|
import { getControllerChangeLogListColumns, defaultPagination } from './config';
|
||||||
import BrokerDetail from '../BrokerDetail';
|
import BrokerDetail from '../BrokerDetail';
|
||||||
import BrokerHealthCheck from '@src/components/CardBar/BrokerHealthCheck';
|
import BrokerHealthCheck from '@src/components/CardBar/BrokerHealthCheck';
|
||||||
import DBreadcrumb from 'knowdesign/lib/extend/d-breadcrumb';
|
import DBreadcrumb from 'knowdesign/es/extend/d-breadcrumb';
|
||||||
import './index.less';
|
import './index.less';
|
||||||
|
|
||||||
const { request } = Utils;
|
const { request } = Utils;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import React from 'react';
|
|||||||
import { MetricType } from '@src/api';
|
import { MetricType } from '@src/api';
|
||||||
import BrokerHealthCheck from '@src/components/CardBar/BrokerHealthCheck';
|
import BrokerHealthCheck from '@src/components/CardBar/BrokerHealthCheck';
|
||||||
import DashboardDragChart from '@src/components/DashboardDragChart';
|
import DashboardDragChart from '@src/components/DashboardDragChart';
|
||||||
import DBreadcrumb from 'knowdesign/lib/extend/d-breadcrumb';
|
import DBreadcrumb from 'knowdesign/es/extend/d-breadcrumb';
|
||||||
import { AppContainer } from 'knowdesign';
|
import { AppContainer } from 'knowdesign';
|
||||||
|
|
||||||
const BrokerDashboard = (): JSX.Element => {
|
const BrokerDashboard = (): JSX.Element => {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import { dealTableRequestParams } from '../../constants/common';
|
|||||||
import BrokerDetail from '../BrokerDetail';
|
import BrokerDetail from '../BrokerDetail';
|
||||||
import CardBar from '@src/components/CardBar';
|
import CardBar from '@src/components/CardBar';
|
||||||
import BrokerHealthCheck from '@src/components/CardBar/BrokerHealthCheck';
|
import BrokerHealthCheck from '@src/components/CardBar/BrokerHealthCheck';
|
||||||
import DBreadcrumb from 'knowdesign/lib/extend/d-breadcrumb';
|
import DBreadcrumb from 'knowdesign/es/extend/d-breadcrumb';
|
||||||
import './index.less';
|
import './index.less';
|
||||||
const { request } = Utils;
|
const { request } = Utils;
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import { getOperatingStateListParams } from './interface';
|
|||||||
import { useParams } from 'react-router-dom';
|
import { useParams } from 'react-router-dom';
|
||||||
import ConsumerGroupDetail from './ConsumerGroupDetail';
|
import ConsumerGroupDetail from './ConsumerGroupDetail';
|
||||||
import ConsumerGroupHealthCheck from '@src/components/CardBar/ConsumerGroupHealthCheck';
|
import ConsumerGroupHealthCheck from '@src/components/CardBar/ConsumerGroupHealthCheck';
|
||||||
import DBreadcrumb from 'knowdesign/lib/extend/d-breadcrumb';
|
import DBreadcrumb from 'knowdesign/es/extend/d-breadcrumb';
|
||||||
import { hashDataParse } from '@src/constants/common';
|
import { hashDataParse } from '@src/constants/common';
|
||||||
|
|
||||||
const { Option } = Select;
|
const { Option } = Select;
|
||||||
|
|||||||
@@ -19,9 +19,9 @@ export const jobType = [
|
|||||||
},
|
},
|
||||||
process.env.BUSSINESS_VERSION
|
process.env.BUSSINESS_VERSION
|
||||||
? {
|
? {
|
||||||
label: '集群均衡',
|
label: '集群均衡',
|
||||||
value: 2,
|
value: 2,
|
||||||
}
|
}
|
||||||
: undefined,
|
: undefined,
|
||||||
].filter((t) => t);
|
].filter((t) => t);
|
||||||
|
|
||||||
@@ -75,6 +75,7 @@ export const getJobsListColumns = (arg?: any) => {
|
|||||||
title: '任务ID',
|
title: '任务ID',
|
||||||
dataIndex: 'id',
|
dataIndex: 'id',
|
||||||
key: 'id',
|
key: 'id',
|
||||||
|
width: 70,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '任务类型',
|
title: '任务类型',
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { ProTable, Drawer, Utils, AppContainer, Form, Select, Input, Button, mes
|
|||||||
import API from '../../api';
|
import API from '../../api';
|
||||||
import { getJobsListColumns, defaultPagination, runningStatus, jobType } from './config';
|
import { getJobsListColumns, defaultPagination, runningStatus, jobType } from './config';
|
||||||
import JobsCheck from '@src/components/CardBar/JobsCheck';
|
import JobsCheck from '@src/components/CardBar/JobsCheck';
|
||||||
import DBreadcrumb from 'knowdesign/lib/extend/d-breadcrumb';
|
import DBreadcrumb from 'knowdesign/es/extend/d-breadcrumb';
|
||||||
import { ViewJobsProgress } from './ViewJobsProgress';
|
import { ViewJobsProgress } from './ViewJobsProgress';
|
||||||
import './index.less';
|
import './index.less';
|
||||||
import ReplicaChange from '@src/components/TopicJob/ReplicaChange';
|
import ReplicaChange from '@src/components/TopicJob/ReplicaChange';
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import React, { useState, useEffect, useRef } from 'react';
|
|||||||
import { Select, Form, Utils, AppContainer, Input, Button, ProTable, Badge, Tag, SearchInput } from 'knowdesign';
|
import { Select, Form, Utils, AppContainer, Input, Button, ProTable, Badge, Tag, SearchInput } from 'knowdesign';
|
||||||
import BalanceDrawer from './BalanceDrawer';
|
import BalanceDrawer from './BalanceDrawer';
|
||||||
import HistoryDrawer from './HistoryDrawer';
|
import HistoryDrawer from './HistoryDrawer';
|
||||||
import DBreadcrumb from 'knowdesign/lib/extend/d-breadcrumb';
|
import DBreadcrumb from 'knowdesign/es/extend/d-breadcrumb';
|
||||||
import { getSizeAndUnit } from '../../constants/common';
|
import { getSizeAndUnit } from '../../constants/common';
|
||||||
import api from '../../api';
|
import api from '../../api';
|
||||||
import './index.less';
|
import './index.less';
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
/* eslint-disable react/display-name */
|
|
||||||
|
|
||||||
import { Button, Divider, Drawer, Form, Input, InputNumber, message, Radio, Select, Spin, Space, Utils } from 'knowdesign';
|
import { Button, Divider, Drawer, Form, Input, InputNumber, message, Radio, Select, Spin, Space, Utils } from 'knowdesign';
|
||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import { useIntl } from 'react-intl';
|
import { useIntl } from 'react-intl';
|
||||||
@@ -16,10 +14,9 @@ const clientPropertiesPlaceholder = `用于创建Kafka客户端进行信息获
|
|||||||
{
|
{
|
||||||
"security.protocol": "SASL_PLAINTEXT",
|
"security.protocol": "SASL_PLAINTEXT",
|
||||||
"sasl.mechanism": "SCRAM-SHA-256",
|
"sasl.mechanism": "SCRAM-SHA-256",
|
||||||
"sasl.jaas.config":
|
"sasl.jaas.config": "org.apache.kafka.common.security.
|
||||||
"org.apache.kafka.common.security.scram.
|
scram.ScramLoginModule required username=\\"xxxxxx\\" pass
|
||||||
ScramLoginModule required username="xxxxxx"
|
word=\\"xxxxxx\\";"
|
||||||
password="xxxxxx";"
|
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
|||||||
@@ -93,7 +93,10 @@ const MultiClusterPage = () => {
|
|||||||
setVersionLoading(true);
|
setVersionLoading(true);
|
||||||
Utils.request(API.getClustersVersion)
|
Utils.request(API.getClustersVersion)
|
||||||
.then((versions: string[]) => {
|
.then((versions: string[]) => {
|
||||||
setExistKafkaVersion(versions || []);
|
if (!Array.isArray(versions)) {
|
||||||
|
versions = [];
|
||||||
|
}
|
||||||
|
setExistKafkaVersion(versions.sort().reverse() || []);
|
||||||
setVersionLoading(false);
|
setVersionLoading(false);
|
||||||
setCheckedKafkaVersions(versions || []);
|
setCheckedKafkaVersions(versions || []);
|
||||||
})
|
})
|
||||||
@@ -299,7 +302,9 @@ const MultiClusterPage = () => {
|
|||||||
<div className="test-modal-23"></div>
|
<div className="test-modal-23"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<Spin spinning={clusterLoading}>{renderList}</Spin>
|
<div className="multi-cluster-page-dashboard">
|
||||||
|
<Spin spinning={clusterLoading}>{renderList}</Spin>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -147,9 +147,9 @@ const ListScroll = (props: { loadMoreData: any; list: any; pagination: any; getP
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{[
|
{[
|
||||||
['BytesIn', loadReBalanceEnable && loadReBalanceNwIn],
|
['BytesIn', loadReBalanceNwIn === 1],
|
||||||
['BytesOut', loadReBalanceEnable && loadReBalanceNwOut],
|
['BytesOut', loadReBalanceNwOut === 1],
|
||||||
['Disk', loadReBalanceEnable && loadReBalanceDisk],
|
['Disk', loadReBalanceDisk === 1],
|
||||||
].map(([name, isBalanced]) => {
|
].map(([name, isBalanced]) => {
|
||||||
return isBalanced ? (
|
return isBalanced ? (
|
||||||
<div className="balance-box balanced">{name} 已均衡</div>
|
<div className="balance-box balanced">{name} 已均衡</div>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { FormItemType, IFormItem } from 'knowdesign/lib/extend/x-form';
|
import { FormItemType, IFormItem } from 'knowdesign/es/extend/x-form';
|
||||||
|
|
||||||
export const bootstrapServersErrCodes = [10, 11, 12];
|
export const bootstrapServersErrCodes = [10, 11, 12];
|
||||||
export const zkErrCodes = [20, 21];
|
export const zkErrCodes = [20, 21];
|
||||||
|
|||||||
@@ -329,6 +329,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
&-dashboard {
|
||||||
|
& > .dcloud-spin-nested-loading > .dcloud-spin-container::after {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.multi-cluster-list {
|
.multi-cluster-list {
|
||||||
box-sizing: content-box;
|
box-sizing: content-box;
|
||||||
|
|||||||
@@ -201,6 +201,8 @@ const DetailChart = (props: { children: JSX.Element }): JSX.Element => {
|
|||||||
if (Number.isNaN(parsedValue)) {
|
if (Number.isNaN(parsedValue)) {
|
||||||
parsedValue = values.MessagesIn;
|
parsedValue = values.MessagesIn;
|
||||||
} else {
|
} else {
|
||||||
|
// 为避免出现过小的数字影响图表展示效果,图表值统一只保留到小数点后三位
|
||||||
|
parsedValue = parseFloat(parsedValue.toFixed(3));
|
||||||
if (maxValue < parsedValue) maxValue = parsedValue;
|
if (maxValue < parsedValue) maxValue = parsedValue;
|
||||||
}
|
}
|
||||||
const valuesWithUnit = Object.entries(values).map(([key, value]) => {
|
const valuesWithUnit = Object.entries(values).map(([key, value]) => {
|
||||||
@@ -287,8 +289,8 @@ const DetailChart = (props: { children: JSX.Element }): JSX.Element => {
|
|||||||
checkboxProps: (record: MetricInfo) => {
|
checkboxProps: (record: MetricInfo) => {
|
||||||
return record.name === DEFAULT_METRIC
|
return record.name === DEFAULT_METRIC
|
||||||
? {
|
? {
|
||||||
disabled: true,
|
disabled: true,
|
||||||
}
|
}
|
||||||
: {};
|
: {};
|
||||||
},
|
},
|
||||||
submitCallback: indicatorChangeCallback,
|
submitCallback: indicatorChangeCallback,
|
||||||
|
|||||||
@@ -165,9 +165,9 @@ const LeftSider = () => {
|
|||||||
<div className="tag default">{clusterInfo?.kafkaVersion ?? '-'}</div>
|
<div className="tag default">{clusterInfo?.kafkaVersion ?? '-'}</div>
|
||||||
{clusterMetrics?.LoadReBalanceEnable !== undefined &&
|
{clusterMetrics?.LoadReBalanceEnable !== undefined &&
|
||||||
[
|
[
|
||||||
['BytesIn', clusterMetrics?.LoadReBalanceEnable && clusterMetrics?.LoadReBalanceNwIn],
|
['BytesIn', clusterMetrics?.LoadReBalanceNwIn === 1],
|
||||||
['BytesOut', clusterMetrics?.LoadReBalanceEnable && clusterMetrics?.LoadReBalanceNwOut],
|
['BytesOut', clusterMetrics?.LoadReBalanceNwOut === 1],
|
||||||
['Disk', clusterMetrics?.LoadReBalanceEnable && clusterMetrics?.LoadReBalanceDisk],
|
['Disk', clusterMetrics?.LoadReBalanceDisk === 1],
|
||||||
].map(([name, isBalanced]) => {
|
].map(([name, isBalanced]) => {
|
||||||
return isBalanced ? (
|
return isBalanced ? (
|
||||||
<div className="tag balanced">{name} 已均衡</div>
|
<div className="tag balanced">{name} 已均衡</div>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import DBreadcrumb from 'knowdesign/lib/extend/d-breadcrumb';
|
import DBreadcrumb from 'knowdesign/es/extend/d-breadcrumb';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import TourGuide, { ClusterDetailSteps } from '@src/components/TourGuide';
|
import TourGuide, { ClusterDetailSteps } from '@src/components/TourGuide';
|
||||||
import './index.less';
|
import './index.less';
|
||||||
|
|||||||
@@ -192,8 +192,10 @@ const ConsumeClientTest = () => {
|
|||||||
// 过滤出消费数量不足设定值的partition
|
// 过滤出消费数量不足设定值的partition
|
||||||
const filtersPartition = _partitionList.filter((item: any) => item.recordCount < untilMsgNum);
|
const filtersPartition = _partitionList.filter((item: any) => item.recordCount < untilMsgNum);
|
||||||
curPartitionList.current = filtersPartition; // 用作下一次请求的入参
|
curPartitionList.current = filtersPartition; // 用作下一次请求的入参
|
||||||
setIsStop(filtersPartition.length < 1);
|
if (!isStop) {
|
||||||
isStopStatus.current = filtersPartition.length < 1;
|
setIsStop(filtersPartition.length < 1);
|
||||||
|
isStopStatus.current = filtersPartition.length < 1;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 'max size':
|
case 'max size':
|
||||||
setIsStop(+recordSizeCur.current >= unitMsgSize);
|
setIsStop(+recordSizeCur.current >= unitMsgSize);
|
||||||
@@ -202,8 +204,10 @@ const ConsumeClientTest = () => {
|
|||||||
case 'max size per partition':
|
case 'max size per partition':
|
||||||
// 过滤出消费size不足设定值的partition
|
// 过滤出消费size不足设定值的partition
|
||||||
const filters = partitionConsumedList.filter((item: any) => item.recordSizeUnitB < unitMsgSize);
|
const filters = partitionConsumedList.filter((item: any) => item.recordSizeUnitB < unitMsgSize);
|
||||||
setIsStop(filters.length < 1);
|
if (!isStop) {
|
||||||
isStopStatus.current = filters.length < 1;
|
setIsStop(filters.length < 1);
|
||||||
|
isStopStatus.current = filters.length < 1;
|
||||||
|
}
|
||||||
curPartitionList.current = filters;
|
curPartitionList.current = filters;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { Button, XForm } from 'knowdesign';
|
import { Button, XForm } from 'knowdesign';
|
||||||
import { IFormItem } from 'knowdesign/lib/extend/x-form';
|
import { IFormItem } from 'knowdesign/es/extend/x-form';
|
||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import './style/form.less';
|
import './style/form.less';
|
||||||
import { useIntl } from 'react-intl';
|
import { useIntl } from 'react-intl';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { FormItemType, IFormItem } from 'knowdesign/lib/extend/x-form';
|
import { FormItemType, IFormItem } from 'knowdesign/es/extend/x-form';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { timeFormat } from '../../constants/common';
|
import { timeFormat } from '../../constants/common';
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { AppContainer } from 'knowdesign';
|
import { AppContainer } from 'knowdesign';
|
||||||
import DBreadcrumb from 'knowdesign/lib/extend/d-breadcrumb';
|
import DBreadcrumb from 'knowdesign/es/extend/d-breadcrumb';
|
||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import { useParams } from 'react-router-dom';
|
import { useParams } from 'react-router-dom';
|
||||||
import TaskTabs from './component/TaskTabs';
|
import TaskTabs from './component/TaskTabs';
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { Button, Col, Form, Row } from 'knowdesign';
|
import { Button, Col, Form, Row } from 'knowdesign';
|
||||||
import { FormItemType, handleFormItem, IFormItem, renderFormItem } from 'knowdesign/lib/extend/x-form';
|
import { FormItemType, handleFormItem, IFormItem, renderFormItem } from 'knowdesign/es/extend/x-form';
|
||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import './style/form.less';
|
import './style/form.less';
|
||||||
import EditTable from './EditTable';
|
import EditTable from './EditTable';
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { QuestionCircleOutlined } from '@ant-design/icons';
|
import { QuestionCircleOutlined } from '@ant-design/icons';
|
||||||
import { IconFont, Switch, Tooltip } from 'knowdesign';
|
import { IconFont, Switch, Tooltip } from 'knowdesign';
|
||||||
import { FormItemType, IFormItem } from 'knowdesign/lib/extend/x-form';
|
import { FormItemType, IFormItem } from 'knowdesign/es/extend/x-form';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { timeFormat, getRandomStr } from '@src/constants/common';
|
import { timeFormat, getRandomStr } from '@src/constants/common';
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import * as React from 'react';
|
|||||||
import ProduceClientTest from './Produce';
|
import ProduceClientTest from './Produce';
|
||||||
import './index.less';
|
import './index.less';
|
||||||
import TaskTabs from '../TestingConsumer/component/TaskTabs';
|
import TaskTabs from '../TestingConsumer/component/TaskTabs';
|
||||||
import DBreadcrumb from 'knowdesign/lib/extend/d-breadcrumb';
|
import DBreadcrumb from 'knowdesign/es/extend/d-breadcrumb';
|
||||||
import { useParams } from 'react-router-dom';
|
import { useParams } from 'react-router-dom';
|
||||||
|
|
||||||
const Produce = () => {
|
const Produce = () => {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { MetricType } from '@src/api';
|
|||||||
import TopicHealthCheck from '@src/components/CardBar/TopicHealthCheck';
|
import TopicHealthCheck from '@src/components/CardBar/TopicHealthCheck';
|
||||||
import DashboardDragChart from '@src/components/DashboardDragChart';
|
import DashboardDragChart from '@src/components/DashboardDragChart';
|
||||||
import { AppContainer } from 'knowdesign';
|
import { AppContainer } from 'knowdesign';
|
||||||
import DBreadcrumb from 'knowdesign/lib/extend/d-breadcrumb';
|
import DBreadcrumb from 'knowdesign/es/extend/d-breadcrumb';
|
||||||
|
|
||||||
const TopicDashboard = () => {
|
const TopicDashboard = () => {
|
||||||
const [global] = AppContainer.useGlobalValue();
|
const [global] = AppContainer.useGlobalValue();
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import TopicHealthCheck from '@src/components/CardBar/TopicHealthCheck';
|
|||||||
import TopicDetail from '../TopicDetail';
|
import TopicDetail from '../TopicDetail';
|
||||||
import Delete from './Delete';
|
import Delete from './Delete';
|
||||||
import { ClustersPermissionMap } from '../CommonConfig';
|
import { ClustersPermissionMap } from '../CommonConfig';
|
||||||
import DBreadcrumb from 'knowdesign/lib/extend/d-breadcrumb';
|
import DBreadcrumb from 'knowdesign/es/extend/d-breadcrumb';
|
||||||
import ReplicaChange from '@src/components/TopicJob/ReplicaChange';
|
import ReplicaChange from '@src/components/TopicJob/ReplicaChange';
|
||||||
import SmallChart from '@src/components/SmallChart';
|
import SmallChart from '@src/components/SmallChart';
|
||||||
import ReplicaMove from '@src/components/TopicJob/ReplicaMove';
|
import ReplicaMove from '@src/components/TopicJob/ReplicaMove';
|
||||||
|
|||||||
Reference in New Issue
Block a user