From 47a5fd18f8bb660cea7fe1ec018d648d9590a309 Mon Sep 17 00:00:00 2001
From: chenjinsong <523037378@qq.com>
Date: Fri, 25 Sep 2020 20:17:29 +0800
Subject: [PATCH] =?UTF-8?q?perf:=20echarts=E6=80=A7=E8=83=BD=E4=BC=98?=
=?UTF-8?q?=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/components/charts/chart-detail.vue | 2 +-
.../src/components/charts/chart-list.vue | 12 ++---
.../src/components/charts/chartDataFormat.js | 4 +-
.../components/charts/line-chart-block.vue | 54 ++++---------------
.../src/components/common/js/tools.js | 26 +++++----
5 files changed, 28 insertions(+), 70 deletions(-)
diff --git a/nezha-fronted/src/components/charts/chart-detail.vue b/nezha-fronted/src/components/charts/chart-detail.vue
index e47f38431..efc74ffb5 100644
--- a/nezha-fronted/src/components/charts/chart-detail.vue
+++ b/nezha-fronted/src/components/charts/chart-detail.vue
@@ -389,7 +389,7 @@
show:true,
}
});
- console.info(labels);
+ //console.info(labels);
return labels;
},
replaceSplit(key){
diff --git a/nezha-fronted/src/components/charts/chart-list.vue b/nezha-fronted/src/components/charts/chart-list.vue
index 7f45d8c41..f8a37f40a 100644
--- a/nezha-fronted/src/components/charts/chart-list.vue
+++ b/nezha-fronted/src/components/charts/chart-list.vue
@@ -1119,14 +1119,10 @@
}
},
computeDistance:function(str){
- var width = 0;
- var html = document.createElement('span');
- html.innerText = str;
- html.className = 'getTextWidth';
- document.querySelector('body').appendChild(html);
- width = document.querySelector('.getTextWidth').offsetWidth;
- document.querySelector('.getTextWidth').remove();
- return Number('-'+(width+5));
+ let span = document.querySelector(".temp-dom");
+ span.textContent = str;
+ let txtWidth = parseFloat(window.getComputedStyle(span).width);
+ return Number('-'+(txtWidth+5));
},
modelStaticData(chartInfo, filterType) {
let series = [];
diff --git a/nezha-fronted/src/components/charts/chartDataFormat.js b/nezha-fronted/src/components/charts/chartDataFormat.js
index 9133d0de1..44a9481d4 100644
--- a/nezha-fronted/src/components/charts/chartDataFormat.js
+++ b/nezha-fronted/src/components/charts/chartDataFormat.js
@@ -649,9 +649,9 @@ export default {
while(value<1){
pow++;
value=value*10;
- console.log(value);
+ //console.log(value);
}
- console.log( Math.floor(value+1)/Math.pow(10,pow));
+ //console.log( Math.floor(value+1)/Math.pow(10,pow));
return Math.floor(value+1)/Math.pow(10,pow);
}
if(type ==='Time'){
diff --git a/nezha-fronted/src/components/charts/line-chart-block.vue b/nezha-fronted/src/components/charts/line-chart-block.vue
index 053bfff86..81157e9ae 100644
--- a/nezha-fronted/src/components/charts/line-chart-block.vue
+++ b/nezha-fronted/src/components/charts/line-chart-block.vue
@@ -433,22 +433,6 @@
return '';
}
//计算宽度
- /*var span = document.createElement("span");
- var result = {};
- result.width = span.offsetWidth;
- result.height = span.offsetHeight;
- span.style.visibility = "hidden";
- span.style.fontSize = 14;
- span.style.fontFamily = "Arial";
- span.style.display = "inline-block";
- document.body.appendChild(span);
- if(typeof span.textContent != "undefined"){
- span.textContent = name;
- }else{
- span.innerText = name;
- }
- var txtWidth = parseFloat(window.getComputedStyle(span).width) - result.width;
- document.body.removeChild(span);*/
let span = document.querySelector(".temp-dom");
span.textContent = name;
let txtWidth = parseFloat(window.getComputedStyle(span).width) - this.tempDom.width;
@@ -618,9 +602,7 @@
}
},
formatter:function(params){
- //display:inline-block;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis;
let str = `
`;
- //let str = `
`;
let sum = 0;
params.forEach((item, i) => {
let tip=legend[item.seriesIndex];
@@ -1031,23 +1013,9 @@
return '';
}
//计算宽度
- var span = document.createElement("span");
- var result = {};
- result.width = span.offsetWidth;
- result.height = span.offsetHeight;
- span.style.visibility = "hidden";
- span.style.fontSize = 14;
- span.style.fontFamily = "Arial";
- span.style.display = "inline-block";
- document.body.appendChild(span);
- if(typeof span.textContent != "undefined"){
- span.textContent = str;
- }else{
- span.innerText = str;
- }
- var txtWidth = parseFloat(window.getComputedStyle(span).width) - result.width;
- document.body.removeChild(span);
-
+ let span = document.querySelector(".temp-dom");
+ span.textContent = name;
+ let txtWidth = parseFloat(window.getComputedStyle(span).width) - this.tempDom.width;
if(txtWidth < chartWidth){
return str;
}else {
@@ -1418,14 +1386,10 @@
});
},
computeDistance:function(str){
- var width = 0;
- var html = document.createElement('span');
- html.innerText = str;
- html.className = 'getTextWidth';
- document.querySelector('body').appendChild(html);
- width = document.querySelector('.getTextWidth').offsetWidth;
- document.querySelector('.getTextWidth').remove();
- return Number('-'+(width+5));
+ let span = document.querySelector(".temp-dom");
+ span.textContent = str;
+ let txtWidth = parseFloat(window.getComputedStyle(span).width);
+ return Number('-'+(txtWidth+5));
},
showLoad(chartItem) {
//设置高度
@@ -1482,8 +1446,8 @@
loadMore(){
this.seriesItemArr=this.seriesItem;
this.legendListMore=this.legendList;
- console.log(this.seriesItem,'irate(mysql_global_status_commands_total[5m])>0');
- console.log(this.data);
+ //console.log(this.seriesItem,'irate(mysql_global_status_commands_total[5m])>0');
+ //console.log(this.data);
let chartInfo=this.data;
let dataArg=this.seriesItem;
let maxValueCopies = this.getMaxValue(dataArg,chartInfo);
diff --git a/nezha-fronted/src/components/common/js/tools.js b/nezha-fronted/src/components/common/js/tools.js
index 98479203e..3fbc55181 100644
--- a/nezha-fronted/src/components/common/js/tools.js
+++ b/nezha-fronted/src/components/common/js/tools.js
@@ -103,13 +103,13 @@ export const scrollBar = {
const { arg } = binding;
if (arg === "el-table") {
el = el.querySelector(".el-table__body-wrapper");
- !el && console.warn("未发现className为el-table__body-wrapper的dom");
+ //!el && console.warn("未发现className为el-table__body-wrapper的dom");
} else if (arg === "el-dropdown") {
el = document.querySelector(".el-dropdown-menu");
- !el && console.warn("未发现className为el-dropdown-menu的dom");
+ //!el && console.warn("未发现className为el-dropdown-menu的dom");
} else if (arg == "legend") {
el = el.querySelector(".legend-container");
- !el && console.warn("未发现className为legend-container的dom");
+ //!el && console.warn("未发现className为legend-container的dom");
}
// 启用x轴后不让原生滚动条出来作乱
@@ -117,11 +117,11 @@ export const scrollBar = {
vnode.context.$nextTick(() => {
if (arg === "xterm") {
el = el.querySelector(".xterm-viewport");
- !el && console.warn("未发现className为xterm-viewport的dom");
+ //!el && console.warn("未发现className为xterm-viewport的dom");
}
if(arg==="metric-label-cascader"){
el = el.querySelector(".el-cascader__tags");
- !el && console.warn("未发现className为el-cascader__tags的dom");
+ //!el && console.warn("未发现className为el-cascader__tags的dom");
}
el.classList.add("ps");
el.addEventListener("ps-scroll-y", () => {
@@ -134,30 +134,30 @@ export const scrollBar = {
el_scrollBar(el);
});
- const rules = ["fixed", "absolute", "relative"];
+ /*const rules = ["fixed", "absolute", "relative"];
if (!rules.includes(window.getComputedStyle(el, null).position)) {
console.error(
`perfect-scrollbar所在的容器的position属性必须是以下之一:${rules.join(
"、"
)}`
);
- }
+ }*/
}
},
componentUpdated(el, binding, vnode, oldVnode) {
const { arg, value } = binding;
if (arg === "el-table") {
el = el.querySelector(".el-table__body-wrapper");
- !el && console.warn("未发现className为el-table__body-wrapper的dom");
+ //!el && console.warn("未发现className为el-table__body-wrapper的dom");
} else if (arg === "el-dropdown") {
el = document.querySelector(".el-dropdown-menu");
- !el && console.warn("未发现className为el-dropdown-menu的dom");
+ //!el && console.warn("未发现className为el-dropdown-menu的dom");
}else if (arg === "xterm") {
el = el.querySelector(".xterm-viewport");
- !el && console.warn("未发现className为xterm-viewport的dom");
+ //!el && console.warn("未发现className为xterm-viewport的dom");
}else if(arg==="metric-label-cascader"){
el = el.querySelector(".el-cascader__tags");
- !el && console.warn("未发现className为el-cascader__tags的dom");
+ //!el && console.warn("未发现className为el-cascader__tags的dom");
}
setTimeout(() => {
el.classList.add("ps");
@@ -201,8 +201,7 @@ export const bottomBoxWindow = {
let subInitialHeight = subListDom.offsetHeight+resizeBarHeight;
mainModalDom.style.display = "block";
- resizeModalDom.style.height = `${subInitialHeight}px`;
- resizeModalDom.style.display = "block";
+ resizeModalDom.style.cssText = `height: ${subInitialHeight}px; display: block;`;
resizeBarDom.style.display = "none";
let resizeModalEndHeight;
//点击时鼠标的Y轴位置
@@ -292,7 +291,6 @@ export const bottomBoxWindow = {
},
showSubListWatch(vm, n) {
vm.bottomBox.inTransform = n;
- console.info(vm.bottomBox.inTransform)
if (!n) {
vm.mainTableHeight = vm.$tableHeight.normal; //重置table的高度
vm.tools.toTopBtnTop = vm.$tableHeight.toTopBtnTop;