From cc7222106f950266fedf7631153b9b8ff3ebed52 Mon Sep 17 00:00:00 2001 From: "Jingwei.Zhang" Date: Sat, 18 Sep 2021 10:32:56 +0800 Subject: [PATCH] feat: Refactor admin overview codes Refactor overview admin codes Change-Id: I33dfd8a96ff17b9dac33d53e60dc19a498af4a91 --- .../AdminOverview/components/PlatformInfo.jsx | 8 +++- .../components/ResourceOverview.jsx | 16 +++++-- .../components/VirtualResource.jsx | 14 +++++-- .../base/containers/AdminOverview/index.jsx | 42 ++++++++++++------- 4 files changed, 56 insertions(+), 24 deletions(-) diff --git a/src/pages/base/containers/AdminOverview/components/PlatformInfo.jsx b/src/pages/base/containers/AdminOverview/components/PlatformInfo.jsx index 5668dbec..6809c7cd 100644 --- a/src/pages/base/containers/AdminOverview/components/PlatformInfo.jsx +++ b/src/pages/base/containers/AdminOverview/components/PlatformInfo.jsx @@ -24,7 +24,7 @@ import { import { Link } from 'react-router-dom'; import styles from '../style.less'; -const actions = [ +export const actions = [ { key: 'projectNum', label: t('Project Num'), @@ -53,6 +53,10 @@ export class ProjectInfo extends Component { this.props.store.getProjectInfoData(); } + get actions() { + return this.props.actions || actions; + } + render() { const { projectInfoLoading, platformNum } = this.props.store; return ( @@ -65,7 +69,7 @@ export class ProjectInfo extends Component {
- {actions.map((item) => ( + {this.actions.map((item) => ( diff --git a/src/pages/base/containers/AdminOverview/components/ResourceOverview.jsx b/src/pages/base/containers/AdminOverview/components/ResourceOverview.jsx index bab8638c..329476d3 100644 --- a/src/pages/base/containers/AdminOverview/components/ResourceOverview.jsx +++ b/src/pages/base/containers/AdminOverview/components/ResourceOverview.jsx @@ -25,7 +25,7 @@ import adminSecurityGroup from 'asset/image/admin-security-group.svg'; import adminRouter from 'asset/image/admin-router.svg'; import styles from '../style.less'; -const card = [ +export const card = [ { key: 'serviceNum', label: t('Instance'), @@ -40,7 +40,7 @@ const card = [ }, ]; -const smallCard = [ +export const smallCard = [ { key: 'networkNum', label: t('Network'), @@ -86,6 +86,14 @@ export class virtualResourceInfo extends Component { this.props.store.getVirtualResource(); } + get card() { + return this.props.card || card; + } + + get smallCard() { + return this.props.smallCard || smallCard; + } + renderStatusColor(resource, resourceKey) { let colors = null; switch (resourceKey) { @@ -109,7 +117,7 @@ export class virtualResourceInfo extends Component { const { virtualResource } = this.props.store; return ( - {card.map((item) => ( + {this.card.map((item) => ( @@ -150,7 +158,7 @@ export class virtualResourceInfo extends Component { const { virtualResource } = this.props.store; return ( - {smallCard.map((item) => ( + {this.smallCard.map((item) => ( diff --git a/src/pages/base/containers/AdminOverview/components/VirtualResource.jsx b/src/pages/base/containers/AdminOverview/components/VirtualResource.jsx index 554f9f56..f18b5d90 100644 --- a/src/pages/base/containers/AdminOverview/components/VirtualResource.jsx +++ b/src/pages/base/containers/AdminOverview/components/VirtualResource.jsx @@ -18,7 +18,7 @@ import { inject, observer } from 'mobx-react'; import globalHypervisorStore from 'stores/nova/hypervisor'; import styles from '../style.less'; -const resourceCircle = [ +export const resourceCircle = [ { resource: 'vcpus', used: 'vcpus_used', @@ -47,6 +47,14 @@ export class ResourceCircle extends Component { this.store.getOverview(); } + get resourceCircle() { + return this.props.resourceCircle || resourceCircle; + } + + get resourceCircleSpan() { + return this.props.resourceCircleSpan || 12; + } + renderCircle = (item, index) => { const { overview } = this.store; const resource = overview[item.resource]; @@ -63,7 +71,7 @@ export class ResourceCircle extends Component { } return ( @@ -117,7 +125,7 @@ export class ResourceCircle extends Component {
- {resourceCircle.map((item, index) => { + {this.resourceCircle.map((item, index) => { return this.renderCircle(item, index); })} diff --git a/src/pages/base/containers/AdminOverview/index.jsx b/src/pages/base/containers/AdminOverview/index.jsx index 7eb27e6a..9fc78683 100644 --- a/src/pages/base/containers/AdminOverview/index.jsx +++ b/src/pages/base/containers/AdminOverview/index.jsx @@ -14,7 +14,6 @@ import React, { Component } from 'react'; import { observer } from 'mobx-react'; -// import cssModules from 'react-css-modules'; import { Row, Col } from 'antd'; import OverviewAdminStore from 'stores/overview-admin'; import styles from './style.less'; @@ -24,37 +23,50 @@ import NetworkService from './components/NetworkService'; import VirtualResource from './components/VirtualResource'; import ResourceOverview from './components/ResourceOverview'; -@observer -class Overview extends Component { +export class Overview extends Component { constructor(props) { super(props); this.adminStore = new OverviewAdminStore(); } + renderPlatformInfo() { + return ; + } + + renderVirutalResource() { + return ; + } + + renderResourceOverview() { + return ; + } + + renderComputeService() { + return ; + } + + renderNetworkService() { + return ; + } + render() { return (
- - - + {this.renderPlatformInfo()} - - - + {this.renderVirutalResource()} - - - + {this.renderResourceOverview()} - + {this.renderComputeService()} - + {this.renderNetworkService()}
@@ -62,4 +74,4 @@ class Overview extends Component { } } -export default Overview; +export default observer(Overview);