diff --git a/apps/web/src/common/pages/AlertPublicDetailPage.vue b/apps/web/src/common/pages/AlertPublicDetailPage.vue
index 9444cc5982..e01b741821 100644
--- a/apps/web/src/common/pages/AlertPublicDetailPage.vue
+++ b/apps/web/src/common/pages/AlertPublicDetailPage.vue
@@ -79,7 +79,6 @@ const tableState = reactive({
{ name: 'triggered_type', label: i18n.t('MONITORING.ALERT.DETAIL.INFO.TRIGGERED_TYPE'), disableCopy: true },
{ name: 'acknowledged_by', label: i18n.t('MONITORING.ALERT.DETAIL.INFO.ACKNOWLEDGED_BY'), disableCopy: true },
{ name: 'resolved_by', label: i18n.t('MONITORING.ALERT.DETAIL.INFO.RESOLVED_BY'), disableCopy: true },
- { name: 'webhook_id', label: i18n.t('MONITORING.ALERT.DETAIL.INFO.WEBHOOK'), disableCopy: true },
];
}
return [
@@ -339,11 +338,18 @@ const handleRouteToSignInWithRedirectPath = () => {
-
{{ state.alertData.triggered_type }}
+
+ {{ state.alertData.triggered_type }}
+
diff --git a/apps/web/src/services/alert-manager/components/AlertsManagementTable.vue b/apps/web/src/services/alert-manager/components/AlertsManagementTable.vue
index 5d1bbed21b..4ea3e1e0f4 100644
--- a/apps/web/src/services/alert-manager/components/AlertsManagementTable.vue
+++ b/apps/web/src/services/alert-manager/components/AlertsManagementTable.vue
@@ -80,6 +80,9 @@ const state = reactive({
refinedAlertList: computed(() => storeState.alertList.map((alert) => ({
...alert,
+ duration: alert.status === ALERT_STATUS.RESOLVED
+ ? calculateTime(alert?.resolved_at, storeState.timezone) || '0m'
+ : calculateTime(alert?.created_at, storeState.timezone) || '0m',
created_at: iso8601Formatter(alert.created_at, storeState.timezone),
}))),
alertStateLabels: getAlertStateI18n(),
@@ -415,11 +418,6 @@ watch(() => storeState.serviceId, async (serviceId) => {
{{ getCreatedByNames(value) }}
-
- {{ item.status === ALERT_STATUS.RESOLVED
- ? calculateTime(item?.resolved_at, storeState.timezone) || '0m'
- : calculateTime(item?.created_at, storeState.timezone) || '0m' }}
-
-import { computed, onUnmounted, reactive } from 'vue';
+import {
+ computed, onUnmounted, reactive, watch,
+} from 'vue';
import { useRoute } from 'vue-router/composables';
import ServiceDetailTabsSettings from '@/services/alert-manager/components/ServiceDetailTabsSettings.vue';
import ServiceDetailTabsSettingsEventRule
from '@/services/alert-manager/components/ServiceDetailTabsSettingsEventRule.vue';
import { useServiceDetailPageStore } from '@/services/alert-manager/stores/service-detail-page-store';
+import type { Service } from '@/services/alert-manager/types/alert-manager-type';
const serviceDetailPageStore = useServiceDetailPageStore();
+const serviceDetailPageGetters = serviceDetailPageStore.getters;
const route = useRoute();
+const storeState = reactive({
+ serviceInfo: computed(() => serviceDetailPageGetters.serviceInfo),
+});
const state = reactive({
isSettingMode: computed(() => route.query?.mode !== 'eventRule'),
});
+watch(() => state.isSettingMode, async (isSettingMode) => {
+ if (!isSettingMode || !storeState.serviceInfo.service_id) return;
+ await serviceDetailPageStore.fetchEventRuleList({
+ service_id: storeState.serviceInfo.service_id,
+ });
+}, { immediate: true });
onUnmounted(() => {
serviceDetailPageStore.setCurrentTab(undefined);
});