From 5be97a41d8c440669c223fca63f1d3e0c57b184e Mon Sep 17 00:00:00 2001 From: zombieJ Date: Fri, 14 Apr 2017 13:09:50 +0800 Subject: [PATCH] fix chart component not handle event when force refresh --- .../webapp/app/apps/jpm/ctrl/statisticCtrl.js | 9 +++- .../app/dev/public/js/components/chart.js | 42 ++++++++++--------- 2 files changed, 30 insertions(+), 21 deletions(-) diff --git a/eagle-jpm/eagle-jpm-web/src/main/webapp/app/apps/jpm/ctrl/statisticCtrl.js b/eagle-jpm/eagle-jpm-web/src/main/webapp/app/apps/jpm/ctrl/statisticCtrl.js index e74a22c265..10b6c5cf45 100644 --- a/eagle-jpm/eagle-jpm-web/src/main/webapp/app/apps/jpm/ctrl/statisticCtrl.js +++ b/eagle-jpm/eagle-jpm-web/src/main/webapp/app/apps/jpm/ctrl/statisticCtrl.js @@ -303,7 +303,7 @@ $scope.topUserJobCountTrendSeries = []; JPM.aggMetricsToEntities( JPM.groups("JobExecutionService", {site: $scope.site, currentState: $scope.distributionSelectedType}, ["user"], "count desc", intervalMin, startTime, endTime, 10, 1000000) - )._promise.then(function (list) { + , [0])._promise.then(function (list) { $scope.topUserJobCountTrendSeries = $.map(list, function (subList) { return JPM.metricsToSeries(subList[0].tags.user, subList, { stack: "user", @@ -321,7 +321,7 @@ $scope.topTypeJobCountTrendSeries = []; JPM.aggMetricsToEntities( JPM.groups("JobExecutionService", {site: $scope.site, currentState: $scope.distributionSelectedType}, ["jobType"], "count desc", intervalMin, startTime, endTime, 10, 1000000) - )._promise.then(function (list) { + , [0])._promise.then(function (list) { $scope.topTypeJobCountTrendSeries = $.map(list, function (subList) { return JPM.metricsToSeries(subList[0].tags.jobType, subList, { stack: "type", @@ -377,6 +377,11 @@ }); } + // UI refresh + setTimeout(function () { + $(window).resize(); + }, 100); + return true; }; diff --git a/eagle-server/src/main/webapp/app/dev/public/js/components/chart.js b/eagle-server/src/main/webapp/app/dev/public/js/components/chart.js index 63855b6c82..0093ce52f6 100644 --- a/eagle-server/src/main/webapp/app/dev/public/js/components/chart.js +++ b/eagle-server/src/main/webapp/app/dev/public/js/components/chart.js @@ -87,6 +87,8 @@ wrapChart(); }; + + refreshEventHandler(); } function refreshChart() { @@ -170,29 +172,31 @@ // Event handle var chartClick = false; - chart.on("click", function (e) { - if($scope.click) { - if($scope.click(e)) { - refreshChart(); + function refreshEventHandler() { + chart.on("click", function (e) { + if($scope.click) { + if($scope.click(e)) { + refreshChart(); + } } - } - chartClick = true; - }); + chartClick = true; + }); - chart.getZr().on('click', function () { - if(!chartClick && $scope.click) { - if($scope.click($.extend({ - componentType: "tooltip" - }, lastTooltipEvent))) { - refreshChart(); + chart.getZr().on('click', function () { + if(!chartClick && $scope.click) { + if($scope.click($.extend({ + componentType: "tooltip" + }, lastTooltipEvent))) { + refreshChart(); + } } - } - chartClick = false; - }); + chartClick = false; + }); - chart.on('showtip', function (e) { - lastTooltipEvent = e; - }); + chart.on('showtip', function (e) { + lastTooltipEvent = e; + }); + } // Insert chart object to parent scope if($attrs.chart) {