diff --git a/internal/web/actions/default/clusters/cluster/boards/index.go b/internal/web/actions/default/clusters/cluster/boards/index.go index ba820170..268168b1 100644 --- a/internal/web/actions/default/clusters/cluster/boards/index.go +++ b/internal/web/actions/default/clusters/cluster/boards/index.go @@ -170,6 +170,7 @@ func (this *IndexAction) RunGet(params struct { "periodUnit": chart.MetricChart.MetricItem.PeriodUnit, "valueType": serverconfigs.FindMetricValueType(chart.MetricChart.MetricItem.Category, chart.MetricChart.MetricItem.Value), "valueTypeName": serverconfigs.FindMetricValueName(chart.MetricChart.MetricItem.Category, chart.MetricChart.MetricItem.Value), + "keys": chart.MetricChart.MetricItem.Keys, }, "stats": statMaps, }) diff --git a/internal/web/actions/default/clusters/cluster/node/boards/index.go b/internal/web/actions/default/clusters/cluster/node/boards/index.go index 34526e35..218a4fd0 100644 --- a/internal/web/actions/default/clusters/cluster/node/boards/index.go +++ b/internal/web/actions/default/clusters/cluster/node/boards/index.go @@ -192,6 +192,7 @@ func (this *IndexAction) RunGet(params struct { "periodUnit": chart.MetricChart.MetricItem.PeriodUnit, "valueType": serverconfigs.FindMetricValueType(chart.MetricChart.MetricItem.Category, chart.MetricChart.MetricItem.Value), "valueTypeName": serverconfigs.FindMetricValueName(chart.MetricChart.MetricItem.Category, chart.MetricChart.MetricItem.Value), + "keys": chart.MetricChart.MetricItem.Keys, }, "stats": statMaps, }) diff --git a/internal/web/actions/default/dashboard/boards/index.go b/internal/web/actions/default/dashboard/boards/index.go index cd07ebea..1b4742ca 100644 --- a/internal/web/actions/default/dashboard/boards/index.go +++ b/internal/web/actions/default/dashboard/boards/index.go @@ -237,6 +237,7 @@ func (this *IndexAction) RunGet(params struct{}) { "periodUnit": chart.MetricChart.MetricItem.PeriodUnit, "valueType": serverconfigs.FindMetricValueType(chart.MetricChart.MetricItem.Category, chart.MetricChart.MetricItem.Value), "valueTypeName": serverconfigs.FindMetricValueName(chart.MetricChart.MetricItem.Category, chart.MetricChart.MetricItem.Value), + "keys": chart.MetricChart.MetricItem.Keys, }, "stats": statMaps, }) diff --git a/internal/web/actions/default/dashboard/index.go b/internal/web/actions/default/dashboard/index.go index 2ae28237..5b434121 100644 --- a/internal/web/actions/default/dashboard/index.go +++ b/internal/web/actions/default/dashboard/index.go @@ -198,6 +198,7 @@ func (this *IndexAction) RunGet(params struct{}) { "periodUnit": chart.MetricChart.MetricItem.PeriodUnit, "valueType": serverconfigs.FindMetricValueType(chart.MetricChart.MetricItem.Category, chart.MetricChart.MetricItem.Value), "valueTypeName": serverconfigs.FindMetricValueName(chart.MetricChart.MetricItem.Category, chart.MetricChart.MetricItem.Value), + "keys": chart.MetricChart.MetricItem.Keys, }, "stats": statMaps, }) diff --git a/internal/web/actions/default/servers/ipbox/index.go b/internal/web/actions/default/servers/ipbox/index.go new file mode 100644 index 00000000..2a8fabf3 --- /dev/null +++ b/internal/web/actions/default/servers/ipbox/index.go @@ -0,0 +1,55 @@ +// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved. + +package ipbox + +import ( + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" + timeutil "github.com/iwind/TeaGo/utils/time" + "time" +) + +type IndexAction struct { + actionutils.ParentAction +} + +func (this *IndexAction) Init() { + this.Nav("", "", "") +} + +func (this *IndexAction) RunGet(params struct { + Ip string +}) { + this.Data["ip"] = params.Ip + + accessLogsResp, err := this.RPC().HTTPAccessLogRPC().ListHTTPAccessLogs(this.AdminContext(), &pb.ListHTTPAccessLogsRequest{ + Day: timeutil.Format("Ymd"), + Keyword: "ip:" + params.Ip, + Size: 10, + }) + if err != nil { + this.ErrorPage(err) + return + } + var accessLogs = accessLogsResp.HttpAccessLogs + if len(accessLogs) == 0 { + // 查询昨天 + accessLogsResp, err = this.RPC().HTTPAccessLogRPC().ListHTTPAccessLogs(this.AdminContext(), &pb.ListHTTPAccessLogsRequest{ + Day: timeutil.Format("Ymd", time.Now().AddDate(0, 0, -1)), + Keyword: "ip:" + params.Ip, + Size: 10, + }) + if err != nil { + this.ErrorPage(err) + return + } + accessLogs = accessLogsResp.HttpAccessLogs + + if len(accessLogs) == 0 { + accessLogs = []*pb.HTTPAccessLog{} + } + } + this.Data["accessLogs"] = accessLogs + + this.Show() +} diff --git a/internal/web/actions/default/servers/ipbox/init.go b/internal/web/actions/default/servers/ipbox/init.go new file mode 100644 index 00000000..54844485 --- /dev/null +++ b/internal/web/actions/default/servers/ipbox/init.go @@ -0,0 +1,19 @@ +// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved. + +package ipbox + +import ( + "github.com/TeaOSLab/EdgeAdmin/internal/configloaders" + "github.com/TeaOSLab/EdgeAdmin/internal/web/helpers" + "github.com/iwind/TeaGo" +) + +func init() { + TeaGo.BeforeStart(func(server *TeaGo.Server) { + server. + Helper(helpers.NewUserMustAuth(configloaders.AdminModuleCodeServer)). + Prefix("/servers/ipbox"). + Get("", new(IndexAction)). + EndAll() + }) +} \ No newline at end of file diff --git a/internal/web/actions/default/servers/server/boards/index.go b/internal/web/actions/default/servers/server/boards/index.go index 6bf67ddf..8afd8b92 100644 --- a/internal/web/actions/default/servers/server/boards/index.go +++ b/internal/web/actions/default/servers/server/boards/index.go @@ -144,6 +144,7 @@ func (this *IndexAction) RunGet(params struct { "periodUnit": chart.MetricChart.MetricItem.PeriodUnit, "valueType": serverconfigs.FindMetricValueType(chart.MetricChart.MetricItem.Category, chart.MetricChart.MetricItem.Value), "valueTypeName": serverconfigs.FindMetricValueName(chart.MetricChart.MetricItem.Category, chart.MetricChart.MetricItem.Value), + "keys": chart.MetricChart.MetricItem.Keys, }, "stats": statMaps, }) diff --git a/internal/web/import.go b/internal/web/import.go index 86aad247..71bfd264 100644 --- a/internal/web/import.go +++ b/internal/web/import.go @@ -60,7 +60,6 @@ import ( _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/components/groups" _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/components/log" _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/components/waf" - _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/iplists" _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/metrics" _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/metrics/charts" _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server" @@ -112,6 +111,10 @@ import ( _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/websocket" _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/stat" + // IP相关 + _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/ipbox" + _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/iplists" + // 设置相关 _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings" _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings/authority" diff --git a/web/public/js/components/server/metric-charts.js b/web/public/js/components/server/metric-charts.js index 69e35786..9cc50aad 100644 --- a/web/public/js/components/server/metric-charts.js +++ b/web/public/js/components/server/metric-charts.js @@ -14,16 +14,20 @@ Vue.component("metric-chart", { return v.value }) if (sum < stats[0].total) { - stats.push({ - keys: ["其他"], - value: stats[0].total - sum, - total: stats[0].total, - time: stats[0].time - }) + if (this.vChart.type == "pie") { + stats.push({ + keys: ["其他"], + value: stats[0].total - sum, + total: stats[0].total, + time: stats[0].time + }) + } } } if (this.vChart.maxItems > 0) { stats = stats.slice(0, this.vChart.maxItems) + } else { + stats = stats.slice(0, 10) } stats.$rsort(function (v1, v2) { @@ -55,6 +59,9 @@ Vue.component("metric-chart", { }, render: function (el) { let chart = echarts.init(el) + window.addEventListener("resize", function () { + chart.resize() + }) switch (this.chart.type) { case "pie": this.renderPie(chart) @@ -271,6 +278,15 @@ Vue.component("metric-chart", { }) break } + let bottom = 24 + let rotate = 0 + let result = teaweb.xRotation(chart, this.stats.map(function (v) { + return v.keys[0] + })) + if (result != null) { + bottom = result[0] + rotate = result[1] + } let that = this chart.setOption({ xAxis: { @@ -278,7 +294,8 @@ Vue.component("metric-chart", { return v.keys[0] }), axisLabel: { - interval: 0 + interval: 0, + rotate: rotate } }, tooltip: { @@ -310,7 +327,7 @@ Vue.component("metric-chart", { left: 40, top: 10, right: 20, - bottom: 25 + bottom: bottom }, series: [ { @@ -327,6 +344,19 @@ Vue.component("metric-chart", { } ] }) + + // IP相关操作 + if (this.item.keys != null && this.item.keys.$contains("${remoteAddr}")) { + let that = this + chart.on("click", function (args) { + let index = that.item.keys.$indexesOf("${remoteAddr}")[0] + let value = that.stats[args.dataIndex].keys[index] + teaweb.popup("/servers/ipbox?ip=" + value, { + width: "50em", + height: "30em" + }) + }) + } }, renderTable: function (chart) { let table = ` diff --git a/web/public/js/utils.js b/web/public/js/utils.js index bca7b3f7..95527608 100644 --- a/web/public/js/utils.js +++ b/web/public/js/utils.js @@ -410,16 +410,24 @@ window.teaweb = { } let click = options.click + let bottom = 24 + let rotate = 0 let chartBox = document.getElementById(chartId) if (chartBox == null) { return } - let chart = echarts.init(chartBox) + let chart = this.initChart(chartBox) + let result = this.xRotation(chart, values.map(xFunc)) + if (result != null) { + bottom = result[0] + rotate = result[1] + } let option = { xAxis: { data: values.map(xFunc), axisLabel: { - interval: 0 + interval: 0, + rotate: rotate } }, yAxis: { @@ -440,7 +448,7 @@ window.teaweb = { left: 40, top: 10, right: 20, - bottom: 24 + bottom: bottom }, series: [ { @@ -478,7 +486,7 @@ window.teaweb = { if (chartBox == null) { return } - let chart = echarts.init(chartBox) + let chart = this.initChart(chartBox) let option = { xAxis: { data: values.map(xFunc), @@ -522,6 +530,25 @@ window.teaweb = { } chart.setOption(option) chart.resize() + }, + xRotation: function (chart, names) { + let chartWidth = chart.getWidth() + let width = 0 + names.forEach(function (name) { + width += name.length * 10 + }) + if (width <= chartWidth) { + return null + } + + return [40, -20] + }, + initChart: function (dom) { + let instance = echarts.init(dom) + window.addEventListener("resize", function () { + instance.resize() + }) + return instance } } @@ -537,4 +564,4 @@ String.prototype.quoteIP = function () { return ip } return "[" + ip + "]" -} \ No newline at end of file +} diff --git a/web/views/@default/clusters/cluster/boards/index.js b/web/views/@default/clusters/cluster/boards/index.js index b1d97963..b4beb0e8 100644 --- a/web/views/@default/clusters/cluster/boards/index.js +++ b/web/views/@default/clusters/cluster/boards/index.js @@ -65,7 +65,7 @@ Tea.context(function () { return Math.max(v.bytes, v.cachedBytes) }) - let chart = echarts.init(chartBox) + let chart = teaweb.initChart(chartBox) let option = { xAxis: { data: stats.map(function (v) { @@ -198,7 +198,7 @@ Tea.context(function () { return Math.max(v.countRequests, v.countCachedRequests) }) - let chart = echarts.init(chartBox) + let chart = teaweb.initChart(chartBox) let option = { xAxis: { data: stats.map(function (v) { diff --git a/web/views/@default/clusters/cluster/node/boards/index.js b/web/views/@default/clusters/cluster/node/boards/index.js index 2774ca6b..ed9fd017 100644 --- a/web/views/@default/clusters/cluster/node/boards/index.js +++ b/web/views/@default/clusters/cluster/node/boards/index.js @@ -111,7 +111,7 @@ Tea.context(function () { return Math.max(v.bytes, v.cachedBytes) }) - let chart = echarts.init(chartBox) + let chart = teaweb.initChart(chartBox) let option = { xAxis: { data: stats.map(function (v) { @@ -247,7 +247,7 @@ Tea.context(function () { return Math.max(v.countRequests, v.countCachedRequests) }) - let chart = echarts.init(chartBox) + let chart = teaweb.initChart(chartBox) let option = { xAxis: { data: stats.map(function (v) { diff --git a/web/views/@default/dashboard/boards/dns.js b/web/views/@default/dashboard/boards/dns.js index 02adeded..d94b8942 100644 --- a/web/views/@default/dashboard/boards/dns.js +++ b/web/views/@default/dashboard/boards/dns.js @@ -68,7 +68,7 @@ Tea.context(function () { return Math.max(v.bytes, v.cachedBytes) }) - let chart = echarts.init(chartBox) + let chart = teaweb.initChart(chartBox) let option = { xAxis: { data: stats.map(function (v) { diff --git a/web/views/@default/dashboard/boards/index.js b/web/views/@default/dashboard/boards/index.js index 4616b9f0..eed64b4f 100644 --- a/web/views/@default/dashboard/boards/index.js +++ b/web/views/@default/dashboard/boards/index.js @@ -6,16 +6,6 @@ Tea.context(function () { this.reloadHourlyRequestsChart() this.reloadTopDomainsChart() this.reloadTopNodesChart() - - let that = this - window.addEventListener("resize", function () { - if (that.trafficTab == "hourly") { - that.resizeHourlyTrafficChart() - } - if (that.trafficTab == "daily") { - that.resizeDailyTrafficChart() - } - }) }) this.selectTrafficTab = function (tab) { @@ -61,25 +51,13 @@ Tea.context(function () { }) } - this.resizeHourlyTrafficChart = function () { - let chartBox = document.getElementById("hourly-traffic-chart-box") - let chart = echarts.init(chartBox) - chart.resize() - } - - this.resizeDailyTrafficChart = function () { - let chartBox = document.getElementById("daily-traffic-chart-box") - let chart = echarts.init(chartBox) - chart.resize() - } - this.reloadTrafficChart = function (chartId, stats, tooltipFunc) { let axis = teaweb.bytesAxis(stats, function (v) { return v.bytes }) let chartBox = document.getElementById(chartId) - let chart = echarts.init(chartBox) + let chart = teaweb.initChart(chartBox) let that = this let option = { xAxis: { @@ -219,7 +197,7 @@ Tea.context(function () { return Math.max(v.countRequests, v.countCachedRequests) }) - let chart = echarts.init(chartBox) + let chart = teaweb.initChart(chartBox) let option = { xAxis: { data: stats.map(function (v) { diff --git a/web/views/@default/dashboard/boards/waf.js b/web/views/@default/dashboard/boards/waf.js index bc58b94c..dedd5dc8 100644 --- a/web/views/@default/dashboard/boards/waf.js +++ b/web/views/@default/dashboard/boards/waf.js @@ -63,7 +63,7 @@ Tea.context(function () { if (chartBox == null) { return } - let chart = echarts.init(chartBox) + let chart = teaweb.initChart(chartBox) let option = { xAxis: { data: stats.map(xFunc) diff --git a/web/views/@default/dashboard/index.js b/web/views/@default/dashboard/index.js index 55458208..7f44b484 100644 --- a/web/views/@default/dashboard/index.js +++ b/web/views/@default/dashboard/index.js @@ -3,16 +3,6 @@ Tea.context(function () { this.$delay(function () { this.reloadHourlyTrafficChart() - - let that = this - window.addEventListener("resize", function () { - if (that.trafficTab == "hourly") { - that.resizeHourlyTrafficChart() - } - if (that.trafficTab == "daily") { - that.resizeDailyTrafficChart() - } - }) }) this.selectTrafficTab = function (tab) { @@ -28,18 +18,12 @@ Tea.context(function () { } } - this.resizeHourlyTrafficChart = function () { - let chartBox = document.getElementById("hourly-traffic-chart-box") - let chart = echarts.init(chartBox) - chart.resize() - } - this.reloadHourlyTrafficChart = function () { let axis = teaweb.bytesAxis(this.hourlyTrafficStats, function (v) { return v.bytes }) let chartBox = document.getElementById("hourly-traffic-chart-box") - let chart = echarts.init(chartBox) + let chart = teaweb.initChart(chartBox) let that = this let option = { xAxis: { @@ -91,18 +75,13 @@ Tea.context(function () { chart.resize() } - this.resizeDailyTrafficChart = function () { - let chartBox = document.getElementById("daily-traffic-chart-box") - let chart = echarts.init(chartBox) - chart.resize() - } - this.reloadDailyTrafficChart = function () { let axis = teaweb.bytesAxis(this.dailyTrafficStats, function (v) { return v.bytes }) let chartBox = document.getElementById("daily-traffic-chart-box") - let chart = echarts.init(chartBox) + let chart = teaweb.initChart(chartBox) + let that = this let option = { xAxis: { diff --git a/web/views/@default/servers/ipbox/index.html b/web/views/@default/servers/ipbox/index.html new file mode 100644 index 00000000..8e436681 --- /dev/null +++ b/web/views/@default/servers/ipbox/index.html @@ -0,0 +1,10 @@ +{$layout "layout_popup"} + +

最近访问日志({{ip}})

+ +

暂时还没有访问日志。

+
+ + + +
\ No newline at end of file diff --git a/web/views/@default/servers/server/boards/index.js b/web/views/@default/servers/server/boards/index.js index 7726ef6f..8d64a725 100644 --- a/web/views/@default/servers/server/boards/index.js +++ b/web/views/@default/servers/server/boards/index.js @@ -73,7 +73,7 @@ Tea.context(function () { return Math.max(v.bytes, v.cachedBytes) }) - let chart = echarts.init(chartBox) + let chart = teaweb.initChart(chartBox) let option = { xAxis: { data: stats.map(function (v) { @@ -209,7 +209,7 @@ Tea.context(function () { return Math.max(v.countRequests, v.countCachedRequests) }) - let chart = echarts.init(chartBox) + let chart = teaweb.initChart(chartBox) let option = { xAxis: { data: stats.map(function (v) { diff --git a/web/views/@default/servers/server/stat/clients.js b/web/views/@default/servers/server/stat/clients.js index 70b33b78..4575ded7 100644 --- a/web/views/@default/servers/server/stat/clients.js +++ b/web/views/@default/servers/server/stat/clients.js @@ -10,9 +10,6 @@ Tea.context(function () { }, function (args) { return that.systemStats[args.dataIndex].system.name + ": " + teaweb.formatNumber(that.systemStats[args.dataIndex].count) }, systemAxis) - window.addEventListener("resize", function () { - that.resizeChart("system-chart") - }) let browserAxis = teaweb.countAxis(this.browserStats, function (v) { return v.count @@ -22,11 +19,6 @@ Tea.context(function () { }, function (args) { return that.browserStats[args.dataIndex].browser.name + ": " + teaweb.formatNumber(that.browserStats[args.dataIndex].count) }, browserAxis) - - window.addEventListener("resize", function () { - that.resizeChart("system-chart") - that.resizeChart("browser-chart") - }) }) this.reloadChart = function (chartId, name, stats, xFunc, tooltipFunc, axis) { @@ -34,7 +26,7 @@ Tea.context(function () { if (chartBox == null) { return } - let chart = echarts.init(chartBox) + let chart = teaweb.initChart(chartBox) let option = { xAxis: { data: stats.map(xFunc), @@ -78,13 +70,4 @@ Tea.context(function () { chart.setOption(option) chart.resize() } - - this.resizeChart = function (chartId) { - let chartBox = document.getElementById(chartId) - if (chartBox == null) { - return - } - let chart = echarts.init(chartBox) - chart.resize() - } }) diff --git a/web/views/@default/servers/server/stat/dailyRequests.js b/web/views/@default/servers/server/stat/dailyRequests.js index 69ad8023..112a200f 100644 --- a/web/views/@default/servers/server/stat/dailyRequests.js +++ b/web/views/@default/servers/server/stat/dailyRequests.js @@ -28,10 +28,6 @@ Tea.context(function () { } return "" }) - window.addEventListener("resize", function () { - that.resizeChart("daily-requests-chart") - that.resizeChart("daily-traffic-chart") - }) }) this.reloadRequestsChart = function (chartId, name, stats, tooltipFunc) { @@ -44,7 +40,7 @@ Tea.context(function () { return Math.max(v.countRequests, v.countCachedRequests) }) - let chart = echarts.init(chartBox) + let chart = teaweb.initChart(chartBox) let option = { xAxis: { data: stats.map(function (v) { @@ -116,7 +112,7 @@ Tea.context(function () { return Math.max(v.bytes, v.cachedBytes) }) - let chart = echarts.init(chartBox) + let chart = teaweb.initChart(chartBox) let option = { xAxis: { data: stats.map(function (v) { @@ -177,13 +173,4 @@ Tea.context(function () { chart.setOption(option) chart.resize() } - - this.resizeChart = function (chartId) { - let chartBox = document.getElementById(chartId) - if (chartBox == null) { - return - } - let chart = echarts.init(chartBox) - chart.resize() - } }) diff --git a/web/views/@default/servers/server/stat/hourlyRequests.js b/web/views/@default/servers/server/stat/hourlyRequests.js index 754db2e5..77c9b04b 100644 --- a/web/views/@default/servers/server/stat/hourlyRequests.js +++ b/web/views/@default/servers/server/stat/hourlyRequests.js @@ -28,10 +28,6 @@ Tea.context(function () { } return "" }) - window.addEventListener("resize", function () { - that.resizeChart("hourly-requests-chart") - that.resizeChart("hourly-traffic-chart") - }) }) this.reloadRequestsChart = function (chartId, name, stats, tooltipFunc) { @@ -44,7 +40,7 @@ Tea.context(function () { return Math.max(v.countRequests, v.countCachedRequests) }) - let chart = echarts.init(chartBox) + let chart = teaweb.initChart(chartBox) let option = { xAxis: { data: stats.map(function (v) { @@ -116,7 +112,7 @@ Tea.context(function () { return Math.max(v.bytes, v.cachedBytes) }) - let chart = echarts.init(chartBox) + let chart = teaweb.initChart(chartBox) let option = { xAxis: { data: stats.map(function (v) { @@ -177,13 +173,4 @@ Tea.context(function () { chart.setOption(option) chart.resize() } - - this.resizeChart = function (chartId) { - let chartBox = document.getElementById(chartId) - if (chartBox == null) { - return - } - let chart = echarts.init(chartBox) - chart.resize() - } }) diff --git a/web/views/@default/servers/server/stat/index.js b/web/views/@default/servers/server/stat/index.js index b7d2de7b..cd6341d3 100644 --- a/web/views/@default/servers/server/stat/index.js +++ b/web/views/@default/servers/server/stat/index.js @@ -28,10 +28,6 @@ Tea.context(function () { } return "" }) - window.addEventListener("resize", function () { - that.resizeChart("minutely-requests-chart") - that.resizeChart("minutely-traffic-chart") - }) }) this.reloadRequestsChart = function (chartId, name, stats, tooltipFunc) { @@ -44,7 +40,7 @@ Tea.context(function () { return Math.max(v.countRequests, v.countCachedRequests) }) - let chart = echarts.init(chartBox) + let chart = teaweb.initChart(chartBox) let option = { xAxis: { data: stats.map(function (v) { @@ -116,7 +112,7 @@ Tea.context(function () { return Math.max(v.bytes, v.cachedBytes) }) - let chart = echarts.init(chartBox) + let chart = teaweb.initChart(chartBox) let option = { xAxis: { data: stats.map(function (v) { @@ -177,13 +173,4 @@ Tea.context(function () { chart.setOption(option) chart.resize() } - - this.resizeChart = function (chartId) { - let chartBox = document.getElementById(chartId) - if (chartBox == null) { - return - } - let chart = echarts.init(chartBox) - chart.resize() - } }) diff --git a/web/views/@default/servers/server/stat/providers.js b/web/views/@default/servers/server/stat/providers.js index 795cd62e..afbf1e28 100644 --- a/web/views/@default/servers/server/stat/providers.js +++ b/web/views/@default/servers/server/stat/providers.js @@ -10,9 +10,6 @@ Tea.context(function () { }, function (args) { return that.providerStats[args.dataIndex].provider.name + ": " + teaweb.formatNumber(that.providerStats[args.dataIndex].count) }, axis) - window.addEventListener("resize", function () { - that.resizeChart("provider-chart") - }) }) this.reloadChart = function (chartId, name, stats, xFunc, tooltipFunc, axis) { @@ -20,7 +17,7 @@ Tea.context(function () { if (chartBox == null) { return } - let chart = echarts.init(chartBox) + let chart = teaweb.initChart(chartBox) let option = { xAxis: { data: stats.map(xFunc), @@ -64,13 +61,4 @@ Tea.context(function () { chart.setOption(option) chart.resize() } - - this.resizeChart = function (chartId) { - let chartBox = document.getElementById(chartId) - if (chartBox == null) { - return - } - let chart = echarts.init(chartBox) - chart.resize() - } }) diff --git a/web/views/@default/servers/server/stat/regions.js b/web/views/@default/servers/server/stat/regions.js index 4edbdd32..cc9735be 100644 --- a/web/views/@default/servers/server/stat/regions.js +++ b/web/views/@default/servers/server/stat/regions.js @@ -31,12 +31,6 @@ Tea.context(function () { }, function (args) { return that.cityStats[args.dataIndex].country.name + ": " + that.cityStats[args.dataIndex].province.name + " " + that.cityStats[args.dataIndex].city.name + " " + teaweb.formatNumber(that.cityStats[args.dataIndex].count) }, cityAxis) - - window.addEventListener("resize", function () { - that.resizeChart("country-chart") - that.resizeChart("province-chart") - that.resizeChart("city-chart") - }) }) this.reloadChart = function (chartId, name, stats, xFunc, tooltipFunc, axis) { @@ -44,7 +38,7 @@ Tea.context(function () { if (chartBox == null) { return } - let chart = echarts.init(chartBox) + let chart = teaweb.initChart(chartBox) let option = { xAxis: { data: stats.map(xFunc), @@ -88,13 +82,4 @@ Tea.context(function () { chart.setOption(option) chart.resize() } - - this.resizeChart = function (chartId) { - let chartBox = document.getElementById(chartId) - if (chartBox == null) { - return - } - let chart = echarts.init(chartBox) - chart.resize() - } }) diff --git a/web/views/@default/servers/server/stat/waf.js b/web/views/@default/servers/server/stat/waf.js index 0bcf3508..ccb181c1 100644 --- a/web/views/@default/servers/server/stat/waf.js +++ b/web/views/@default/servers/server/stat/waf.js @@ -39,11 +39,6 @@ Tea.context(function () { } return that.groupStats[args.dataIndex].group.name + ": " + teaweb.formatNumber(that.groupStats[args.dataIndex].count) + percent }, groupAxis) - - window.addEventListener("resize", function () { - that.resizeChart("daily-chart") - that.resizeChart("group-chart") - }) }) this.reloadLineChart = function (chartId, name, stats, xFunc, tooltipFunc, axis) { @@ -52,7 +47,7 @@ Tea.context(function () { return } let that = this - let chart = echarts.init(chartBox) + let chart = teaweb.initChart(chartBox) let option = { xAxis: { data: stats.map(xFunc) @@ -129,7 +124,7 @@ Tea.context(function () { if (chartBox == null) { return } - let chart = echarts.init(chartBox) + let chart = teaweb.initChart(chartBox) let option = { xAxis: { data: stats.map(xFunc) @@ -170,13 +165,4 @@ Tea.context(function () { chart.setOption(option) chart.resize() } - - this.resizeChart = function (chartId) { - let chartBox = document.getElementById(chartId) - if (chartBox == null) { - return - } - let chart = echarts.init(chartBox) - chart.resize() - } }) \ No newline at end of file