From f17de328a65550d5b84ed62bd84aeb08d915ca6f Mon Sep 17 00:00:00 2001 From: Qiuxia Fan Date: Wed, 1 Jun 2022 16:11:52 +0800 Subject: [PATCH] add timmer --- src/locales/lang/en.ts | 4 ++- src/locales/lang/es.ts | 4 ++- src/locales/lang/zh.ts | 4 ++- .../dashboard/related/demand-log/Header.vue | 28 ++++++++++++++++--- 4 files changed, 33 insertions(+), 7 deletions(-) diff --git a/src/locales/lang/en.ts b/src/locales/lang/en.ts index c5d4444e..7749d634 100644 --- a/src/locales/lang/en.ts +++ b/src/locales/lang/en.ts @@ -140,7 +140,9 @@ const msg = { limit: "Limit", page: "Page", interval: "Refresh Interval", - namespace: "Namespace", + pause: "Pause", + begin: "Start", + seconds: "Seconds", hourTip: "Select Hour", minuteTip: "Select Minute", secondTip: "Select Second", diff --git a/src/locales/lang/es.ts b/src/locales/lang/es.ts index f09aa095..c5c8a58e 100644 --- a/src/locales/lang/es.ts +++ b/src/locales/lang/es.ts @@ -140,7 +140,9 @@ const msg = { processSelect: "Click para seleccionar proceso", page: "Página", interval: "Intervalo de actualización", - namespace: "Espacio de nombres", + pause: "Pausa", + begin: "Inicio", + seconds: "Segundos", hourTip: "Seleccione Hora", minuteTip: "Seleccione Minuto", secondTip: "Seleccione Segundo", diff --git a/src/locales/lang/zh.ts b/src/locales/lang/zh.ts index 6dd3b242..10d8837a 100644 --- a/src/locales/lang/zh.ts +++ b/src/locales/lang/zh.ts @@ -138,7 +138,9 @@ const msg = { limit: "范围", page: "页面", interval: "刷新间隔时间", - namespace: "命名空间", + pause: "暂停", + begin: "开始", + seconds: "秒", hourTip: "选择小时", minuteTip: "选择分钟", secondTip: "选择秒数", diff --git a/src/views/dashboard/related/demand-log/Header.vue b/src/views/dashboard/related/demand-log/Header.vue index 0d6163f0..5c810f3b 100644 --- a/src/views/dashboard/related/demand-log/Header.vue +++ b/src/views/dashboard/related/demand-log/Header.vue @@ -67,7 +67,7 @@ limitations under the License. --> controls-position="right" @change="changeField('interval', $event)" /> - Seconds + {{ t("seconds") }}
@@ -124,10 +124,10 @@ limitations under the License. --> class="search-btn mt-10" size="small" type="primary" - @click="searchLogs" + @click="runInterval" > - - {{ t("search") }} + + {{ intervalFn ? t("pause") : t("start") }}
@@ -160,6 +160,8 @@ const state = reactive({ container: { value: "", label: "None" }, duration: { label: "Last 30 min", value: 1800 }, }); +/*global Nullable */ +const intervalFn = ref>(null); const rangeTime = computed(() => { const times = { start: getLocalTime( @@ -205,6 +207,16 @@ async function getInstances() { } state.instance = demandLogStore.instances[0]; } +function runInterval() { + if (intervalFn.value) { + clearInterval(intervalFn.value); + return; + } + intervalFn.value = setInterval(searchLogs, intervalTime.value * 1000); + setTimeout(() => { + clearInterval(intervalFn.value); + }, state.duration * 1000); +} function searchLogs() { let instance = ""; if (dashboardStore.entity === EntityType[3].value) { @@ -226,6 +238,7 @@ async function queryLogs() { } } function changeField(type: string, opt: any) { + clearInterval(intervalFn.value); if (["limit", "interval"].includes(type)) { state[type] = opt; return; @@ -239,6 +252,7 @@ function removeContent(index: number) { keywordsOfContent: keywordsOfContentList, }); contentStr.value = ""; + clearInterval(intervalFn.value); } function addLabels(type: string) { if (type === "keywordsOfContent" && !contentStr.value) { @@ -260,6 +274,7 @@ function addLabels(type: string) { }); excludingContentStr.value = ""; } + clearInterval(intervalFn.value); } function removeExcludeContent(index: number) { excludingKeywordsOfContent.value.splice(index, 1); @@ -267,6 +282,7 @@ function removeExcludeContent(index: number) { excludingKeywordsOfContent: excludingKeywordsOfContent.value, }); excludingContentStr.value = ""; + clearInterval(intervalFn.value); } watch( () => selectorStore.currentService, @@ -354,4 +370,8 @@ watch( .btn-row { justify-content: flex-end; } + +.reload { + margin-right: 3px; +}