Skip to content

Commit

Permalink
feat: refactor machine dashboard detail panel logic (#244)
Browse files Browse the repository at this point in the history
  • Loading branch information
xigongdaEricyang committed Apr 18, 2023
1 parent d0eb2ec commit 23085e5
Show file tree
Hide file tree
Showing 14 changed files with 119 additions and 646 deletions.
43 changes: 0 additions & 43 deletions src/components/StatusPanel/index.less

This file was deleted.

80 changes: 0 additions & 80 deletions src/components/StatusPanel/index.tsx

This file was deleted.

23 changes: 9 additions & 14 deletions src/pages/MachineDashboard/Detail/CPUDetail.tsx
Original file line number Diff line number Diff line change
@@ -1,19 +1,14 @@
import { connect } from 'react-redux';
import React from 'react';
import Detail from '.';
import { IDispatch, IRootState } from '@/store';
import { SUPPORT_METRICS } from '@/utils/promQL';
import { getMetricsUniqName } from '@/utils/dashboard';
import { MetricScene } from '@/utils/interface';

const mapState = (state: IRootState) => ({
type: 'cpu',
metricOptions: SUPPORT_METRICS.cpu,
dataTypeObj: getMetricsUniqName(MetricScene.CPU),
loading: !!state.loading.effects.machine.asyncGetCPUStatByRange,
});

const mapDispatch: any = (dispatch: IDispatch) => ({
asyncGetDataSourceByRange: dispatch.machine.asyncGetCPUStatByRange,
});

export default connect(mapState, mapDispatch)(Detail);
export default () => (
<Detail
// @ts-ignore
type="cpu"
metricOptions={SUPPORT_METRICS.cpu}
dataTypeObj={getMetricsUniqName(MetricScene.CPU)}
/>
);
26 changes: 9 additions & 17 deletions src/pages/MachineDashboard/Detail/DiskDetail.tsx
Original file line number Diff line number Diff line change
@@ -1,22 +1,14 @@
// export default connect(mapState, mapDispatch)(Detail);
import { connect } from 'react-redux';
import React from 'react';
import Detail from '.';
import { IDispatch, IRootState } from '@/store';
import { SUPPORT_METRICS } from '@/utils/promQL';
import { getMetricsUniqName } from '@/utils/dashboard';
import { MetricScene } from '@/utils/interface';

const mapState = (state: IRootState) => ({
type: 'disk',
instances: state.machine.instanceList,
metricOptions: SUPPORT_METRICS.disk,
dataTypeObj: getMetricsUniqName(MetricScene.DISK),
metricsFilterValues: state.machine.metricsFilterValues,
loading: state.loading.effects.machine.asyncGetDiskStatByRange,
});

const mapDispatch: any = (dispatch: IDispatch) => ({
asyncGetDataSourceByRange: dispatch.machine.asyncGetDiskStatByRange,
});

export default connect(mapState, mapDispatch)(Detail);
export default () => (
<Detail
// @ts-ignore
type="disk"
metricOptions={SUPPORT_METRICS.disk}
dataTypeObj={getMetricsUniqName(MetricScene.DISK)}
/>
);
26 changes: 9 additions & 17 deletions src/pages/MachineDashboard/Detail/LoadDetail.tsx
Original file line number Diff line number Diff line change
@@ -1,22 +1,14 @@
// export default connect(mapState, mapDispatch)(MemoryDetail);
import { connect } from 'react-redux';
import React from 'react';
import Detail from '.';
import { IDispatch, IRootState } from '@/store';
import { SUPPORT_METRICS } from '@/utils/promQL';
import { getMetricsUniqName } from '@/utils/dashboard';
import { MetricScene } from '@/utils/interface';

const mapState = (state: IRootState) => ({
type: 'load',
instances: state.machine.instanceList,
metricOptions: SUPPORT_METRICS.load,
dataTypeObj: getMetricsUniqName(MetricScene.LOAD),
metricsFilterValues: state.machine.metricsFilterValues,
loading: state.loading.effects.machine.asyncGetLoadByRange,
});

const mapDispatch: any = (dispatch: IDispatch) => ({
asyncGetDataSourceByRange: dispatch.machine.asyncGetLoadByRange,
});

export default connect(mapState, mapDispatch)(Detail);
export default () => (
<Detail
// @ts-ignore
type="load"
metricOptions={SUPPORT_METRICS.load}
dataTypeObj={getMetricsUniqName(MetricScene.LOAD)}
/>
);
24 changes: 9 additions & 15 deletions src/pages/MachineDashboard/Detail/MemoryDetail.tsx
Original file line number Diff line number Diff line change
@@ -1,20 +1,14 @@
// export default connect(mapState, mapDispatch)(MemoryDetail);
import { connect } from 'react-redux';
import React from 'react';
import Detail from '.';
import { IDispatch, IRootState } from '@/store';
import { SUPPORT_METRICS } from '@/utils/promQL';
import { getMetricsUniqName } from '@/utils/dashboard';
import { MetricScene } from '@/utils/interface';

const mapState = (state: IRootState) => ({
type: 'memory',
metricOptions: SUPPORT_METRICS.memory,
dataTypeObj: getMetricsUniqName(MetricScene.MEMORY),
loading: state.loading.effects.machine.asyncGetMemoryStatByRange,
});

const mapDispatch: any = (dispatch: IDispatch) => ({
asyncGetDataSourceByRange: dispatch.machine.asyncGetMemoryStatByRange,
});

export default connect(mapState, mapDispatch)(Detail);
export default () => (
<Detail
// @ts-ignore
type="memory"
metricOptions={SUPPORT_METRICS.memory}
dataTypeObj={getMetricsUniqName(MetricScene.MEMORY)}
/>
);
23 changes: 9 additions & 14 deletions src/pages/MachineDashboard/Detail/NetworkDetail.tsx
Original file line number Diff line number Diff line change
@@ -1,19 +1,14 @@
import { connect } from 'react-redux';
import React from 'react';
import Detail from '.';
import { IDispatch, IRootState } from '@/store';
import { SUPPORT_METRICS } from '@/utils/promQL';
import { getMetricsUniqName } from '@/utils/dashboard';
import { MetricScene } from '@/utils/interface';

const mapState = (state: IRootState) => ({
type: 'network',
metricOptions: SUPPORT_METRICS.network,
dataTypeObj: getMetricsUniqName(MetricScene.NETWORK),
loading: state.loading.effects.machine.asyncGetNetworkStatByRange,
});

const mapDispatch: any = (dispatch: IDispatch) => ({
asyncGetDataSourceByRange: dispatch.machine.asyncGetNetworkStatByRange,
});

export default connect(mapState, mapDispatch)(Detail);
export default () => (
<Detail
// @ts-ignore
type="network"
metricOptions={SUPPORT_METRICS.network}
dataTypeObj={getMetricsUniqName(MetricScene.NETWORK)}
/>
);
Loading

0 comments on commit 23085e5

Please sign in to comment.