From 9763ce317f8738779b13f73bc666096ea0b710ed Mon Sep 17 00:00:00 2001 From: "Jingwei.Zhang" Date: Fri, 25 Mar 2022 14:47:41 +0800 Subject: [PATCH] feat: support network qos policy actions in console Support qos policy actions in current project tab in console 1. Support create qos policy in console 2. Support edit qos policy in console 3. Support delete qos policy in console 4. Support create/edit/delete bandwidth in console Change-Id: I3142f9e9386c85fd99438f7277eaebad0d2c2b6b --- .../network/containers/QoSPolicy/QoSPolicy.js | 14 +++++++++++++- .../containers/QoSPolicy/actions/index.jsx | 16 ++++++++++++---- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/pages/network/containers/QoSPolicy/QoSPolicy.js b/src/pages/network/containers/QoSPolicy/QoSPolicy.js index 8ec570db..ace96728 100644 --- a/src/pages/network/containers/QoSPolicy/QoSPolicy.js +++ b/src/pages/network/containers/QoSPolicy/QoSPolicy.js @@ -17,6 +17,7 @@ import Base from 'containers/List'; import { QoSPolicyStore } from 'stores/neutron/qos-policy'; import { getQosPolicyColumns, getQosPolicyFilters } from 'resources/qos-policy'; import { qosEndpoint } from 'client/client/constants'; +import { emptyActionConfig } from 'utils/constants'; import actionConfigs from './actions'; export class QoSPolicy extends Base { @@ -25,6 +26,14 @@ export class QoSPolicy extends Base { this.downloadStore = new QoSPolicyStore(); } + get isProjectTab() { + const tab = this.tabKey; + if (this.isAdminPage) { + return false; + } + return !tab || tab === 'projectQoSPolicy'; + } + updateFetchParamsByPage = (params) => { switch (this.tabKey) { case 'projectQoSPolicy': @@ -62,7 +71,10 @@ export class QoSPolicy extends Base { if (this.isAdminPage) { return actionConfigs.actionConfigs; } - return actionConfigs.consoleActions; + if (this.isProjectTab) { + return actionConfigs.consoleActions; + } + return emptyActionConfig; } get isFilterByBackend() { diff --git a/src/pages/network/containers/QoSPolicy/actions/index.jsx b/src/pages/network/containers/QoSPolicy/actions/index.jsx index aac0614b..8d148f5e 100644 --- a/src/pages/network/containers/QoSPolicy/actions/index.jsx +++ b/src/pages/network/containers/QoSPolicy/actions/index.jsx @@ -45,10 +45,18 @@ const actionConfigs = { const consoleActions = { rowActions: { - firstAction: null, - moreActions: [], + firstAction: Edit, + moreActions: [ + { action: CreateBandwidthLimitRule }, + { action: EditBandwidthEgressRule }, + { action: EditBandwidthIngressRule }, + { action: DeleteBandwidthEgressRules }, + { action: DeleteBandwidthIngressRules }, + { action: DeleteAction }, + ], }, - batchActions: [], - primaryActions: [], + batchActions: [DeleteAction], + primaryActions: [Create], }; + export default { actionConfigs, consoleActions };