From ba9a787556abddca94d5978b4f7382820be22fd1 Mon Sep 17 00:00:00 2001 From: Fine Date: Tue, 3 Jun 2025 19:43:33 +0800 Subject: [PATCH] update --- src/store/data.ts | 16 +++ src/store/modules/settings.ts | 17 ++- src/views/settings/components/TTL.vue | 6 +- .../{DoubleHeaderTable.vue => TTLTable.vue} | 12 +- src/views/settings/data.ts | 115 ++++++------------ 5 files changed, 75 insertions(+), 91 deletions(-) rename src/views/settings/components/{DoubleHeaderTable.vue => TTLTable.vue} (69%) diff --git a/src/store/data.ts b/src/store/data.ts index 760e1107..f40dfa25 100644 --- a/src/store/data.ts +++ b/src/store/data.ts @@ -15,6 +15,7 @@ * limitations under the License. */ import { WidgetType } from "@/views/dashboard/data"; +import { HotAndWarmOpt } from "@/views/settings/data"; export const NewControl = { x: 0, @@ -58,3 +59,18 @@ export enum EBPFProfilingTriggerType { } export const EndpointsTopNDefault = 20; + +export const TTLTypes = { + HotAndWarm: "Hot / Warm", + Cold: "Cold", +}; +export const TTLColdMap: Indexable = { + coldDay: HotAndWarmOpt[0], + coldHour: HotAndWarmOpt[1], + coldMinute: HotAndWarmOpt[2], + coldNormal: HotAndWarmOpt[3], + coldTrace: HotAndWarmOpt[4], + coldZipkinTrace: HotAndWarmOpt[5], + coldLog: HotAndWarmOpt[6], + coldBrowserErrorLog: HotAndWarmOpt[7], +}; diff --git a/src/store/modules/settings.ts b/src/store/modules/settings.ts index e9dd3708..4341a1da 100644 --- a/src/store/modules/settings.ts +++ b/src/store/modules/settings.ts @@ -18,6 +18,8 @@ import { defineStore } from "pinia"; import { store } from "@/store"; import fetchQuery from "@/graphql/http"; import type { ClusterNode, ConfigTTL } from "@/types/settings"; +import { HotAndWarmOpt } from "@/views/settings/data"; +import { TTLTypes, TTLColdMap } from "../data"; interface SettingsState { clusterNodes: ClusterNode[]; @@ -46,7 +48,20 @@ export const settingsStore = defineStore({ method: "get", path: "ConfigTTL", }); - this.configTTL = response; + for (const item of Object.keys(response)) { + const rows = []; + const row: Indexable = { type: TTLTypes.HotAndWarm }; + const rowCold: Indexable = { type: TTLTypes.Cold }; + for (const key of Object.keys(response[item])) { + if (HotAndWarmOpt.includes(key)) { + row[key] = response[item][key]; + } else { + rowCold[TTLColdMap[key] as string] = response[item][key]; + } + } + rows.push(row, rowCold); + this.configTTL[item] = rows; + } return response; }, async getDebuggingConfigDump() { diff --git a/src/views/settings/components/TTL.vue b/src/views/settings/components/TTL.vue index 227ce225..bca4b77c 100644 --- a/src/views/settings/components/TTL.vue +++ b/src/views/settings/components/TTL.vue @@ -15,16 +15,16 @@ limitations under the License. -->