Repository: incubator-griffin
Updated Branches:
  refs/heads/master d597575a3 -> a5058fce7


[GRIFFIN-153]

Fix bugs: Can not render accuracy chart on UI

Author: dodobel <[email protected]>

Closes #273 from dodobel/button.


Project: http://git-wip-us.apache.org/repos/asf/incubator-griffin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-griffin/commit/a5058fce
Tree: http://git-wip-us.apache.org/repos/asf/incubator-griffin/tree/a5058fce
Diff: http://git-wip-us.apache.org/repos/asf/incubator-griffin/diff/a5058fce

Branch: refs/heads/master
Commit: a5058fce71323031b4e1029d0f15fef0a141c51d
Parents: d597575
Author: dodobel <[email protected]>
Authored: Wed May 2 09:40:55 2018 +0800
Committer: Lionel Liu <[email protected]>
Committed: Wed May 2 09:40:55 2018 +0800

----------------------------------------------------------------------
 ui/angular/src/app/health/health.component.ts   | 13 +++++++++++--
 ui/angular/src/app/metric/metric.component.ts   | 16 ++++++++++++----
 ui/angular/src/app/service/chart.service.ts     | 11 ++---------
 ui/angular/src/app/sidebar/sidebar.component.ts | 13 +++++++++++--
 4 files changed, 36 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/a5058fce/ui/angular/src/app/health/health.component.ts
----------------------------------------------------------------------
diff --git a/ui/angular/src/app/health/health.component.ts 
b/ui/angular/src/app/health/health.component.ts
index a2c99b4..8ea6c55 100644
--- a/ui/angular/src/app/health/health.component.ts
+++ b/ui/angular/src/app/health/health.component.ts
@@ -167,15 +167,24 @@ export class HealthComponent implements OnInit {
     this.resizeTreeMap();
     this.chartOption = option;
   }
+  
+  checkvalue(job){
+    return job.metricValues.length === 0;
+  }
 
   renderData() {
     let url_dashboard = this.serviceService.config.uri.dashboard;
     this.http.get(url_dashboard).subscribe(data => {
       this.mesWithJob = JSON.parse(JSON.stringify(data));
+      for(let i=0;i<this.mesWithJob.length;i++) {
+        if(this.mesWithJob[i].some(this.checkvalue)){
+          this.mesWithJob[i].splice(i,1);
+        }
+      }
       for (let mesName in this.mesWithJob) {
-        var metricData = this.mesWithJob[mesName][0];
+        var jobs = this.mesWithJob[mesName];
         if (
-          metricData.metricValues[0] != undefined && metricData.type == 
"accuracy"
+          jobs.length > 0 && jobs[0].type == "accuracy"
         ) {
           var jobs = this.mesWithJob[mesName];
           var node = null;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/a5058fce/ui/angular/src/app/metric/metric.component.ts
----------------------------------------------------------------------
diff --git a/ui/angular/src/app/metric/metric.component.ts 
b/ui/angular/src/app/metric/metric.component.ts
index 63bc8ae..ab67797 100644
--- a/ui/angular/src/app/metric/metric.component.ts
+++ b/ui/angular/src/app/metric/metric.component.ts
@@ -50,16 +50,24 @@ export class MetricComponent implements OnInit {
     this.renderData();
   }
 
+  checkvalue(job){
+    return job.metricValues.length === 0;
+  }
+
   renderData() {
     let url_dashboard = this.serviceService.config.uri.dashboard;
     this.http.get(url_dashboard).subscribe(data => {
       this.mesWithJob = JSON.parse(JSON.stringify(data));
+      for(let i=0;i<this.mesWithJob.length;i++) {
+        if(this.mesWithJob[i].some(this.checkvalue)){
+          this.mesWithJob[i].splice(i,1);
+        }
+      }
       for (let mesName in this.mesWithJob) {
-        var metricData = this.mesWithJob[mesName][0];
+        var jobs = this.mesWithJob[mesName];
         if (
-          metricData.metricValues[0] != undefined && metricData.type == 
"accuracy"
-        ) {
-          var jobs = this.mesWithJob[mesName];
+          jobs.length > 0 && jobs[0].type == "accuracy"
+        ) {  
           var node = null;
           node = new Object();
           node.name = mesName;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/a5058fce/ui/angular/src/app/service/chart.service.ts
----------------------------------------------------------------------
diff --git a/ui/angular/src/app/service/chart.service.ts 
b/ui/angular/src/app/service/chart.service.ts
index 1f45096..c1a41bf 100644
--- a/ui/angular/src/app/service/chart.service.ts
+++ b/ui/angular/src/app/service/chart.service.ts
@@ -187,18 +187,11 @@ export class ChartService {
 
   getOptionThum(metric) {
     var data = this.getMetricData(metric);
-    // if(isNaN(data[0][1])){
-    //   let _chartId = "#" + chartId;
-    //   var divs = $(_chartId);
-    //   var i = document.createElement('i');
-    //   var code = "<div><div style='text-align:center;'>"+metric.name+
-    //     "</div><div style='text-align:center;'>Click to see 
details</div></div>";
-    //   $(divs).html(code);
-    // }else{
+    var trail = '...';
     var self = this;
     var option = {
       title: {
-        text: metric.name,
+        text: metric.name.length > 10 ? metric.name.substring(0, 10) + trail : 
metric.name,
         left: "center",
         textStyle: {
           fontWeight: "normal",

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/a5058fce/ui/angular/src/app/sidebar/sidebar.component.ts
----------------------------------------------------------------------
diff --git a/ui/angular/src/app/sidebar/sidebar.component.ts 
b/ui/angular/src/app/sidebar/sidebar.component.ts
index 8a6fef5..3021e30 100644
--- a/ui/angular/src/app/sidebar/sidebar.component.ts
+++ b/ui/angular/src/app/sidebar/sidebar.component.ts
@@ -97,15 +97,24 @@ export class SidebarComponent implements OnInit {
   getOption(parent, i) {
     return this.chartOption.get("chart" + parent + "-" + i);
   }
+  
+  checkvalue(job){
+    return job.metricValues.length === 0;
+  }
 
   sideBarList(sysName) {
     let url_dashboard = this.serviceService.config.uri.dashboard;
     this.http.get(url_dashboard).subscribe(data => {
       this.mesWithJob = JSON.parse(JSON.stringify(data));
+      for(let i=0;i<this.mesWithJob.length;i++) {
+        if(this.mesWithJob[i].some(this.checkvalue)){
+          this.mesWithJob[i].splice(i,1);
+        }
+      }
       for (let mesName in this.mesWithJob) {
-        var metricData = this.mesWithJob[mesName][0];
+        var jobs = this.mesWithJob[mesName];
         if (
-         metricData.metricValues[0] != undefined && metricData.type == 
"accuracy"
+          jobs.length > 0 && jobs[0].type == "accuracy"
         ) {
           var jobs = this.mesWithJob[mesName];
           var node = null;

Reply via email to