fix: Refresh data when database change in monitor

1. Refresh the node list when database change
2. Reset the current selected node when database change

Change-Id: Id12ebb729b44bd01893d20d2f2f91d7450fb3186
This commit is contained in:
xusongfu 2022-03-28 14:58:19 +08:00
parent 81c037de41
commit 981e653148
6 changed files with 27 additions and 10 deletions

View File

@ -36,6 +36,7 @@ const BaseContent = (props) => {
fetchNodesFunc,
defaultNode,
children,
type,
} = props;
const [node, Nodes, setNode, setNodes] = useNodeSelect(defaultNode);
@ -56,7 +57,7 @@ const BaseContent = (props) => {
setIsFetchingNodes(true);
const ret = await fetchNodesFunc();
setNodes(ret);
if (!node) {
if (!node || refresh) {
setNode(ret[0]);
}
//
@ -82,6 +83,10 @@ const BaseContent = (props) => {
handleRefresh();
}, [interval, range]);
useEffect(() => {
handleRefresh(true);
}, [type]);
useEffect(() => {
setIsLoading(true);
setTimeout(() => {

View File

@ -98,6 +98,10 @@ export const chartConfig = {
chartCardList,
};
export default () => (
<BaseContent chartConfig={chartConfig} fetchNodesFunc={getMemcacheNodes} />
export default ({ type }) => (
<BaseContent
type={type}
chartConfig={chartConfig}
fetchNodesFunc={getMemcacheNodes}
/>
);

View File

@ -111,6 +111,10 @@ export const chartConfig = {
chartCardList,
};
export default () => (
<BaseContent chartConfig={chartConfig} fetchNodesFunc={getMysqlNodes} />
export default ({ type }) => (
<BaseContent
type={type}
chartConfig={chartConfig}
fetchNodesFunc={getMysqlNodes}
/>
);

View File

@ -128,6 +128,10 @@ export const chartConfig = {
chartCardList,
};
export default () => (
<BaseContent chartConfig={chartConfig} fetchNodesFunc={getRabbitMQNodes} />
export default ({ type }) => (
<BaseContent
type={type}
chartConfig={chartConfig}
fetchNodesFunc={getRabbitMQNodes}
/>
);

View File

@ -63,7 +63,7 @@ class OtherService extends Component {
Cmp = Mysql;
break;
}
return <Cmp />;
return <Cmp type={type} />;
};
render() {

View File

@ -20,8 +20,8 @@ testFiles:
# identity
- pages/identity/role.spec.js
- pages/identity/domain.spec.js
- pages/identity/user.spec.js
- pages/identity/project.spec.js
# - pages/identity/user.spec.js
# - pages/identity/project.spec.js
- pages/identity/user-group.spec.js
# configuration
- pages/configuration/metadata.spec.js