feat: update policy list

This commit is contained in:
Fine 2023-05-20 18:12:16 +08:00
parent e876010975
commit b4bf447a51
6 changed files with 46 additions and 8 deletions

View File

@ -388,5 +388,7 @@ const msg = {
elasticsearch: "Elasticsearch",
mq: "MQ",
rabbitMQ: "RabbitMQ",
save: "Save",
editStrategy: "Edit Policies",
};
export default msg;

View File

@ -387,5 +387,7 @@ const msg = {
elasticsearch: "Elasticsearch",
mq: "MQ",
rabbitMQ: "RabbitMQ",
save: "Salvar",
editStrategy: "Estrategia editorial",
};
export default msg;

View File

@ -385,5 +385,7 @@ const msg = {
elasticsearch: "Elasticsearch",
mq: "消息队列",
rabbitMQ: "RabbitMQ",
save: "保存",
editStrategy: "编辑策略",
};
export default msg;

View File

@ -140,9 +140,13 @@ export const continousProfilingStore = defineStore({
if (res.data.errors) {
return res.data;
}
this.strategyList = res.data.data.queryEBPFTasks || [];
this.selectedStrategyTask = this.strategyList[0] || {};
this.setSelectedStrategyTask(this.selectedStrategyTask);
this.strategyList = (res.data.data.strategyList || []).map((d: StrategyItem, index: number) => {
return {
...d,
id: index,
};
});
this.setSelectedStrategyTask(this.strategyList[0] || {});
if (!this.strategyList.length) {
this.nodes = [];
this.calls = [];

View File

@ -15,7 +15,7 @@ limitations under the License. -->
<template>
<div class="flex-h content">
<div class="list flex-v">
<div>strategies</div>
<StrategyList />
<div>tasks</div>
</div>
<div>graph</div>
@ -24,6 +24,7 @@ limitations under the License. -->
<script lang="ts" setup>
import type { PropType } from "vue";
import { useI18n } from "vue-i18n";
import StrategyList from "./components/StrategyList.vue";
/*global defineProps */
defineProps({
config: {

View File

@ -25,13 +25,36 @@ limitations under the License. -->
<div class="no-data" v-show="!continousProfilingStore.strategyList.length">
{{ t("noData") }}
</div>
<div>data</div>
<table class="profile-t">
<tr
class="profile-tr cp"
v-for="(i, index) in continousProfilingStore.strategyList"
@click="changePolicy(i)"
:key="index"
>
<td
class="profile-td"
:class="{
selected: continousProfilingStore.selectedStrategyTask.id === i.id,
}"
>
<div class="ell">
<span class="mr-10 sm">
{{ i.type }}
</span>
<span class="mr-10 sm">
{{ policyItem(i.checkItems) }}
</span>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
<el-dialog
v-model="updateStrategies"
:title="t('editStrategies')"
:title="t('editStrategy')"
:destroy-on-close="true"
fullscreen
@closed="updateStrategies = false"
@ -56,8 +79,12 @@ limitations under the License. -->
fetchStrategyList();
async function changeStrategy(item: StrategyItem) {
continousProfilingStore.setSelectedNetworkTask(item);
function policyItem(items: CheckItems[]) {
return items.map((d: CheckItems) => d.type).join(";");
}
async function changePolicy(item: StrategyItem) {
continousProfilingStore.setSelectedStrategyTask(item);
}
function setStrategies() {