diff --git a/nezha-fronted/src/components/chart/chart/legend.vue b/nezha-fronted/src/components/chart/chart/legend.vue
index 5f87d3ae6..5bd9f8ac3 100644
--- a/nezha-fronted/src/components/chart/chart/legend.vue
+++ b/nezha-fronted/src/components/chart/chart/legend.vue
@@ -5,7 +5,10 @@
{
this.$refs['chart' + item.id][0] && this.$refs['chart' + item.id][0].$refs.chart && this.$refs['chart' + item.id][0].$refs.chart.$refs['chart' + item.id] && this.$refs['chart' + item.id][0].$refs.chart.$refs['chart' + item.id].$refs.chartList.onScroll(scrollTop, top)
- },100)
- return
+ },300)
}
if (item.loaded) {
return
diff --git a/nezha-fronted/src/components/charts/chart-table.vue b/nezha-fronted/src/components/charts/chart-table.vue
index a7ff38b7f..331ab727b 100644
--- a/nezha-fronted/src/components/charts/chart-table.vue
+++ b/nezha-fronted/src/components/charts/chart-table.vue
@@ -495,7 +495,7 @@ export default {
})
break
}
- case 'average': {
+ case 'avg': {
result = classifies.map(group => {
const groupData = group.map(t => parseFloat(t.data[1]))
const sum = eval(groupData.join('+'))
diff --git a/nezha-fronted/src/components/charts/chartPreview.vue b/nezha-fronted/src/components/charts/chartPreview.vue
index c98efa7d4..ee10650c8 100644
--- a/nezha-fronted/src/components/charts/chartPreview.vue
+++ b/nezha-fronted/src/components/charts/chartPreview.vue
@@ -1449,7 +1449,7 @@ export default {
})
break
}
- case 'average': {
+ case 'avg': {
result = classifies.map(group => {
const groupData = group.map(t => parseFloat(t.data[1]))
const sum = eval(groupData.join('+'))
diff --git a/nezha-fronted/src/components/common/js/constants.js b/nezha-fronted/src/components/common/js/constants.js
index dbf2632ee..2993480b2 100644
--- a/nezha-fronted/src/components/common/js/constants.js
+++ b/nezha-fronted/src/components/common/js/constants.js
@@ -212,7 +212,7 @@ export const alertMessage = {
export const statisticsList = [
{ value: 'min', label: i18n.t('dashboard.panel.chartForm.statisticsVal.min') },
{ value: 'max', label: i18n.t('dashboard.panel.chartForm.statisticsVal.max') },
- { value: 'average', label: i18n.t('dashboard.panel.chartForm.statisticsVal.average') },
+ { value: 'avg', label: i18n.t('dashboard.panel.chartForm.statisticsVal.average') },
{ value: 'total', label: i18n.t('dashboard.panel.chartForm.statisticsVal.total') },
{ value: 'first', label: i18n.t('dashboard.panel.chartForm.statisticsVal.first') },
{ value: 'last', label: i18n.t('dashboard.panel.chartForm.statisticsVal.last') },
diff --git a/nezha-fronted/src/components/common/js/tools.js b/nezha-fronted/src/components/common/js/tools.js
index 0a15184cf..25f955a6e 100644
--- a/nezha-fronted/src/components/common/js/tools.js
+++ b/nezha-fronted/src/components/common/js/tools.js
@@ -13,7 +13,7 @@ export const clickoutside = {
let oldValue
try {
oldValue = JSON.parse(JSON.stringify(binding.value.obj))
- el.__oldValue__ = oldValue
+ el.__newValue__ = oldValue
} catch (e) {
}
@@ -37,8 +37,8 @@ export const clickoutside = {
return false
}
if (oldValue) {
- const newValue = JSON.parse(JSON.stringify(binding.value.obj))
- if (unsavedChange == 'on' && !isEqual(oldValue, newValue)) {
+ // const newValue = JSON.parse(JSON.stringify(binding.value.obj))
+ if (unsavedChange == 'on' && !isEqual(oldValue, el.__newValue__)) {
MessageBox.confirm(i18n.t('tip.confirmCancel'), {
confirmButtonText: i18n.t('tip.yes'),
cancelButtonText: i18n.t('tip.no'),
@@ -68,59 +68,7 @@ export const clickoutside = {
document.addEventListener('mousedown', documentHandler)
},
update (el, binding, vnode) {
- if (!binding.expression) return
- const oldValue = el.__oldValue__
- const unsavedChange = localStorage.getItem('nz-unnsaved-change')
- document.removeEventListener('mousedown', el.__vueClickOutside__)
- function documentHandler (e) {
- if (el.contains(e.target)) {
- return false
- } else {
- let flag = true
- const path = e.path || (e.composedPath && e.composedPath())
- // eslint-disable-next-line no-labels
- top: for (let i = 0; i < path.length; i++) {
- for (let j = 0; j < exceptClassName.length; j++) {
- if (path[i].className && path[i].className.indexOf && path[i].className.indexOf(exceptClassName[j]) !== -1) {
- flag = false
- // eslint-disable-next-line no-labels
- break top
- }
- }
- }
- if (!flag) {
- return false
- }
- if (oldValue) {
- const newValue = JSON.parse(JSON.stringify(binding.value.obj))
- if (unsavedChange == 'on' && !isEqual(oldValue, newValue)) {
- MessageBox.confirm(i18n.t('tip.confirmCancel'), {
- confirmButtonText: i18n.t('tip.yes'),
- cancelButtonText: i18n.t('tip.no'),
- type: 'warning'
- }).then(() => {
- if (binding.value.func) {
- binding.value.func()
- }
- })
- } else {
- binding.value.func()
- }
- } else {
- if (binding.arg) {
- binding.value(e, binding.arg)
- } else {
- if (binding.value) {
- binding.value(e)
- }
- }
- }
- }
- }
-
- // 给当前元素绑定个私有变量,方便在unbind中可以解除事件监听
- el.__vueClickOutside__ = documentHandler
- document.addEventListener('mousedown', documentHandler)
+ el.__newValue__ = binding.value.obj
},
unbind (el, binding) {
// 解除事件监听
@@ -922,7 +870,7 @@ export function getMetricTypeValue (queryItem, type) {
const max = copy.sort((x, y) => { return parseFloat(y[1]) - parseFloat(x[1]) })[0][1]
return max
}
- case 'average': {
+ case 'avg': {
copy = copy.map(t => parseFloat(t[1]))
const sum = eval(copy.join('+'))
const avg = sum / copy.length
diff --git a/nezha-fronted/src/components/common/language/cn.js b/nezha-fronted/src/components/common/language/cn.js
index d9e416f57..4bde619de 100644
--- a/nezha-fronted/src/components/common/language/cn.js
+++ b/nezha-fronted/src/components/common/language/cn.js
@@ -349,7 +349,7 @@ const cn = {
statisticsVal: {
min: 'Min',
max: 'Max',
- average: 'Average',
+ avg: 'Avg',
total: 'Total',
first: 'First',
last: 'Last',
diff --git a/nezha-fronted/src/components/common/language/en.js b/nezha-fronted/src/components/common/language/en.js
index 55f9f9965..5838b26bd 100644
--- a/nezha-fronted/src/components/common/language/en.js
+++ b/nezha-fronted/src/components/common/language/en.js
@@ -365,7 +365,7 @@ const en = {
statisticsVal: {
min: 'Min',
max: 'Max',
- average: 'Average',
+ avg: 'Avg',
total: 'Total',
first: 'First',
last: 'Last',
diff --git a/nezha-fronted/src/libs/bus.js b/nezha-fronted/src/libs/bus.js
index ebf8af8da..3805dd341 100644
--- a/nezha-fronted/src/libs/bus.js
+++ b/nezha-fronted/src/libs/bus.js
@@ -192,7 +192,7 @@ export default new Vue({
statisticsRlt = dataArray.reduce(function (a, b) {
return b > a ? b : a
})
- } else if (statistics === 'average') { // average:平均值
+ } else if (statistics === 'avg') { // avg:平均值
let sum = 0
dataArray.forEach((item) => {
sum = Number(sum) + Number(item)