Repository: ambari
Updated Branches:
  refs/heads/branch-1.6.0.slider 71aa9236d -> 79f3a1a3d


http://git-wip-us.apache.org/repos/asf/ambari/blob/79f3a1a3/contrib/views/slider/src/main/resources/ui/app/assets/data/apptypes/all_fields.json
----------------------------------------------------------------------
diff --git 
a/contrib/views/slider/src/main/resources/ui/app/assets/data/apptypes/all_fields.json
 
b/contrib/views/slider/src/main/resources/ui/app/assets/data/apptypes/all_fields.json
index 56fe759..68fef3c 100644
--- 
a/contrib/views/slider/src/main/resources/ui/app/assets/data/apptypes/all_fields.json
+++ 
b/contrib/views/slider/src/main/resources/ui/app/assets/data/apptypes/all_fields.json
@@ -60,17 +60,6 @@
           "maxInstanceCount" : 0,
           "yarnMemory" : 1024,
           "yarnCpuCores" : 1
-        },
-        {
-          "id" : "ACCUMULO_CLIENT",
-          "name" : "ACCUMULO_CLIENT",
-          "category" : "CLIENT",
-          "displayName" : "ACCUMULO_CLIENT",
-          "priority" : 0,
-          "instanceCount" : 0,
-          "maxInstanceCount" : 0,
-          "yarnMemory" : 1024,
-          "yarnCpuCores" : 1
         }
       ],
       "typeDescription" : "The Apache Accumulo sorted, distributed key/value 
store is a robust,\n        scalable, high performance data storage system that 
features cell-based\n        access control and customizable server-side 
processing. It is based on\n        Google's BigTable design and is built on 
top of Apache Hadoop,\n        Zookeeper, and Thrift.\n        Requirements:\n  
      1. Ensure parent dir for path (accumulo-site/instance.dfs.dir) is 
accessible to the App owner.",
@@ -122,7 +111,7 @@
       }
     },
     {
-      "href" : 
"http://c6401:8080/api/v1/views/SLIDER/versions/1.0.0/instances/SLIDER_1/apptypes/HBASE";,
+      "href" : 
"http://162.216.148.58:8080/api/v1/views/SLIDER/versions/1.0.0/instances/SLIDER_1/apptypes/HBASE";,
       "id" : "HBASE",
       "instance_name" : "SLIDER_1",
       "typeComponents" : [
@@ -147,25 +136,278 @@
           "maxInstanceCount" : 0,
           "yarnMemory" : 1024,
           "yarnCpuCores" : 1
-        },
-        {
-          "id" : "HBASE_CLIENT",
-          "name" : "HBASE_CLIENT",
-          "category" : "CLIENT",
-          "displayName" : "HBASE_CLIENT",
-          "priority" : 0,
-          "instanceCount" : 0,
-          "maxInstanceCount" : 0,
-          "yarnMemory" : 1024,
-          "yarnCpuCores" : 1
         }
       ],
       "typeDescription" : "Apache HBase is the Hadoop database, a distributed, 
scalable, big data store.\n        Requirements:\n        1. Ensure parent dir 
for path (hbase-site/hbase.rootdir) is accessible to the App owner.\n        2. 
Ensure ZK root (hbase-site/zookeeper.znode.parent) is unique for the App 
instance.",
       "typeName" : "HBASE",
-      "typePackageFileName" : "hbase_v096 (1).zip",
+      "typePackageFileName" : "hbase_v096.zip",
       "typeVersion" : "0.96.0.2.1.1",
       "version" : "1.0.0",
       "view_name" : "SLIDER",
+      "gangliaMetrics" : {
+        "Component" : {
+          "HBASE_MASTER" : {
+            "ClusterId" : {
+              "metric" : 
"Hadoop:service=HBase,name=Master,sub=Server.tag.clusterId",
+              "pointInTime" : true,
+              "temporal" : false,
+              "keyName" : "Hadoop:service=HBase,name=Master,sub=Server",
+              "matchers" : [
+                [
+                  "tag",
+                  "clusterId"
+                ],
+                [
+                  "tag.clusterId"
+                ]
+              ]
+            },
+            "DeadRegionServers" : {
+              "metric" : 
"Hadoop:service=HBase,name=Master,sub=Server.numDeadRegionServers",
+              "pointInTime" : true,
+              "temporal" : false,
+              "keyName" : "Hadoop:service=HBase,name=Master,sub=Server",
+              "matchers" : [
+                [
+                  "numDeadRegionServers"
+                ]
+              ]
+            },
+            "IsActiveMaster" : {
+              "metric" : 
"Hadoop:service=HBase,name=Master,sub=Server.tag.isActiveMaster",
+              "pointInTime" : true,
+              "temporal" : false,
+              "keyName" : "Hadoop:service=HBase,name=Master,sub=Server",
+              "matchers" : [
+                [
+                  "tag",
+                  "isActiveMaster"
+                ],
+                [
+                  "tag.isActiveMaster"
+                ]
+              ]
+            },
+            "MasterActiveTime" : {
+              "metric" : 
"Hadoop:service=HBase,name=Master,sub=Server.masterActiveTime",
+              "pointInTime" : true,
+              "temporal" : false,
+              "keyName" : "Hadoop:service=HBase,name=Master,sub=Server",
+              "matchers" : [
+                [
+                  "masterActiveTime"
+                ]
+              ]
+            },
+            "MasterStartTime" : {
+              "metric" : 
"Hadoop:service=HBase,name=Master,sub=Server.masterStartTime",
+              "pointInTime" : true,
+              "temporal" : false,
+              "keyName" : "Hadoop:service=HBase,name=Master,sub=Server",
+              "matchers" : [
+                [
+                  "masterStartTime"
+                ]
+              ]
+            },
+            "RegionServers" : {
+              "metric" : 
"Hadoop:service=HBase,name=Master,sub=Server.numRegionServers",
+              "pointInTime" : true,
+              "temporal" : false,
+              "keyName" : "Hadoop:service=HBase,name=Master,sub=Server",
+              "matchers" : [
+                [
+                  "numRegionServers"
+                ]
+              ]
+            },
+            "ServerName" : {
+              "metric" : 
"Hadoop:service=HBase,name=Master,sub=Server.tag.serverName",
+              "pointInTime" : true,
+              "temporal" : false,
+              "keyName" : "Hadoop:service=HBase,name=Master,sub=Server",
+              "matchers" : [
+                [
+                  "tag",
+                  "serverName"
+                ],
+                [
+                  "tag.serverName"
+                ]
+              ]
+            },
+            "ZookeeperQuorum" : {
+              "metric" : 
"Hadoop:service=HBase,name=Master,sub=Server.tag.zookeeperQuorum",
+              "pointInTime" : true,
+              "temporal" : false,
+              "keyName" : "Hadoop:service=HBase,name=Master,sub=Server",
+              "matchers" : [
+                [
+                  "tag",
+                  "zookeeperQuorum"
+                ],
+                [
+                  "tag.zookeeperQuorum"
+                ]
+              ]
+            },
+            "cluster_requests" : {
+              "metric" : 
"Hadoop:service=HBase,name=Master,sub=Server.clusterRequests",
+              "pointInTime" : true,
+              "temporal" : false,
+              "keyName" : "Hadoop:service=HBase,name=Master,sub=Server",
+              "matchers" : [
+                [
+                  "clusterRequests"
+                ]
+              ]
+            },
+            "metricAverageLoad" : {
+              "metric" : 
"Hadoop:service=HBase,name=Master,sub=Server.averageLoad",
+              "pointInTime" : true,
+              "temporal" : false,
+              "keyName" : "Hadoop:service=HBase,name=Master,sub=Server",
+              "matchers" : [
+                [
+                  "averageLoad"
+                ]
+              ]
+            }
+          }
+        }
+      },
+      "jmxMetrics" : {
+        "Component" : {
+          "HBASE_MASTER" : {
+            "ClusterId" : {
+              "metric" : 
"Hadoop:service=HBase,name=Master,sub=Server.tag.clusterId",
+              "pointInTime" : true,
+              "temporal" : false,
+              "keyName" : "Hadoop:service=HBase,name=Master,sub=Server",
+              "matchers" : [
+                [
+                  "tag",
+                  "clusterId"
+                ],
+                [
+                  "tag.clusterId"
+                ]
+              ]
+            },
+            "DeadRegionServers" : {
+              "metric" : 
"Hadoop:service=HBase,name=Master,sub=Server.numDeadRegionServers",
+              "pointInTime" : true,
+              "temporal" : false,
+              "keyName" : "Hadoop:service=HBase,name=Master,sub=Server",
+              "matchers" : [
+                [
+                  "numDeadRegionServers"
+                ]
+              ]
+            },
+            "IsActiveMaster" : {
+              "metric" : 
"Hadoop:service=HBase,name=Master,sub=Server.tag.isActiveMaster",
+              "pointInTime" : true,
+              "temporal" : false,
+              "keyName" : "Hadoop:service=HBase,name=Master,sub=Server",
+              "matchers" : [
+                [
+                  "tag",
+                  "isActiveMaster"
+                ],
+                [
+                  "tag.isActiveMaster"
+                ]
+              ]
+            },
+            "MasterActiveTime" : {
+              "metric" : 
"Hadoop:service=HBase,name=Master,sub=Server.masterActiveTime",
+              "pointInTime" : true,
+              "temporal" : false,
+              "keyName" : "Hadoop:service=HBase,name=Master,sub=Server",
+              "matchers" : [
+                [
+                  "masterActiveTime"
+                ]
+              ]
+            },
+            "MasterStartTime" : {
+              "metric" : 
"Hadoop:service=HBase,name=Master,sub=Server.masterStartTime",
+              "pointInTime" : true,
+              "temporal" : false,
+              "keyName" : "Hadoop:service=HBase,name=Master,sub=Server",
+              "matchers" : [
+                [
+                  "masterStartTime"
+                ]
+              ]
+            },
+            "RegionServers" : {
+              "metric" : 
"Hadoop:service=HBase,name=Master,sub=Server.numRegionServers",
+              "pointInTime" : true,
+              "temporal" : false,
+              "keyName" : "Hadoop:service=HBase,name=Master,sub=Server",
+              "matchers" : [
+                [
+                  "numRegionServers"
+                ]
+              ]
+            },
+            "ServerName" : {
+              "metric" : 
"Hadoop:service=HBase,name=Master,sub=Server.tag.serverName",
+              "pointInTime" : true,
+              "temporal" : false,
+              "keyName" : "Hadoop:service=HBase,name=Master,sub=Server",
+              "matchers" : [
+                [
+                  "tag",
+                  "serverName"
+                ],
+                [
+                  "tag.serverName"
+                ]
+              ]
+            },
+            "ZookeeperQuorum" : {
+              "metric" : 
"Hadoop:service=HBase,name=Master,sub=Server.tag.zookeeperQuorum",
+              "pointInTime" : true,
+              "temporal" : false,
+              "keyName" : "Hadoop:service=HBase,name=Master,sub=Server",
+              "matchers" : [
+                [
+                  "tag",
+                  "zookeeperQuorum"
+                ],
+                [
+                  "tag.zookeeperQuorum"
+                ]
+              ]
+            },
+            "cluster_requests" : {
+              "metric" : 
"Hadoop:service=HBase,name=Master,sub=Server.clusterRequests",
+              "pointInTime" : true,
+              "temporal" : false,
+              "keyName" : "Hadoop:service=HBase,name=Master,sub=Server",
+              "matchers" : [
+                [
+                  "clusterRequests"
+                ]
+              ]
+            },
+            "metricAverageLoad" : {
+              "metric" : 
"Hadoop:service=HBase,name=Master,sub=Server.averageLoad",
+              "pointInTime" : true,
+              "temporal" : false,
+              "keyName" : "Hadoop:service=HBase,name=Master,sub=Server",
+              "matchers" : [
+                [
+                  "averageLoad"
+                ]
+              ]
+            }
+          }
+        }
+      },
       "typeConfigs" : {
         "agent.conf" : "/slider/agent/conf/agent.ini",
         "application.def" : "/slider/hbase_v096.zip",
@@ -221,9 +463,11 @@
       }
     },
     {
-      "href" : 
"http://c6401:8080/api/v1/views/SLIDER/versions/1.0.0/instances/SLIDER_1/apptypes/STORM";,
+      "href" : 
"http://162.216.148.58:8080/api/v1/views/SLIDER/versions/1.0.0/instances/SLIDER_1/apptypes/STORM";,
+      "gangliaMetrics" : null,
       "id" : "STORM",
       "instance_name" : "SLIDER_1",
+      "jmxMetrics" : null,
       "typeComponents" : [
         {
           "id" : "NIMBUS",
@@ -393,4 +637,4 @@
       }
     }
   ]
-}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/79f3a1a3/contrib/views/slider/src/main/resources/ui/app/controllers/slider_app_controller.js
----------------------------------------------------------------------
diff --git 
a/contrib/views/slider/src/main/resources/ui/app/controllers/slider_app_controller.js
 
b/contrib/views/slider/src/main/resources/ui/app/controllers/slider_app_controller.js
index 06af9f3..77bf0a0 100644
--- 
a/contrib/views/slider/src/main/resources/ui/app/controllers/slider_app_controller.js
+++ 
b/contrib/views/slider/src/main/resources/ui/app/controllers/slider_app_controller.js
@@ -105,7 +105,6 @@ App.SliderAppController = Ember.ObjectController.extend({
   },
 
   /**
-   * Do request to delete current slider's app
    * Do request to <strong>freeze</strong> current slider's app
    * @returns {$.ajax}
    * @method freeze

http://git-wip-us.apache.org/repos/asf/ambari/blob/79f3a1a3/contrib/views/slider/src/main/resources/ui/app/helpers/ajax.js
----------------------------------------------------------------------
diff --git a/contrib/views/slider/src/main/resources/ui/app/helpers/ajax.js 
b/contrib/views/slider/src/main/resources/ui/app/helpers/ajax.js
index 66b97bd..64c8385 100644
--- a/contrib/views/slider/src/main/resources/ui/app/helpers/ajax.js
+++ b/contrib/views/slider/src/main/resources/ui/app/helpers/ajax.js
@@ -102,7 +102,28 @@ var urls = {
         data: JSON.stringify(data.data)
       }
     }
+  },
+
+  'metrics': {
+    real: 'apps/{id}/metrics/{metric}',
+    mock: '/data/metrics/metric.json'
+  },
+
+  'metrics2': {
+    real: 'apps/{id}/metrics/{metric}',
+    mock: '/data/metrics/metric2.json'
+  },
+
+  'metrics3': {
+    real: 'apps/{id}/metrics/{metric}',
+    mock: '/data/metrics/metric3.json'
+  },
+
+  'metrics4': {
+    real: 'apps/{id}/metrics/{metric}',
+    mock: '/data/metrics/metric4.json'
   }
+
 };
 /**
  * Replace data-placeholders to its values

http://git-wip-us.apache.org/repos/asf/ambari/blob/79f3a1a3/contrib/views/slider/src/main/resources/ui/app/helpers/helper.js
----------------------------------------------------------------------
diff --git a/contrib/views/slider/src/main/resources/ui/app/helpers/helper.js 
b/contrib/views/slider/src/main/resources/ui/app/helpers/helper.js
index 75323c2..bfa0a68 100644
--- a/contrib/views/slider/src/main/resources/ui/app/helpers/helper.js
+++ b/contrib/views/slider/src/main/resources/ui/app/helpers/helper.js
@@ -24,4 +24,45 @@ String.prototype.format = function () {
   });
 };
 
+/**
+ * Helper function for bound property helper registration
+ * @memberof App
+ * @method registerBoundHelper
+ * @param name {String} name of helper
+ * @param view {Em.View} view
+ */
+App.registerBoundHelper = function(name, view) {
+  Ember.Handlebars.registerHelper(name, function(property, options) {
+    options.hash.contentBinding = property;
+    return Ember.Handlebars.helpers.view.call(this, view, options);
+  });
+};
+
+
+/**
+ * Return formatted string with inserted <code>wbr</code>-tag after each dot
+ *
+ * @param {String} content
+ *
+ * Examples:
+ *
+ * returns 'apple'
+ * {{formatWordBreak 'apple'}}
+ *
+ * returns 'apple.<wbr />banana'
+ * {{formatWordBreak 'apple.banana'}}
+ *
+ * returns 'apple.<wbr />banana.<wbr />uranium'
+ * {{formatWordBreak 'apple.banana.uranium'}}
+ */
+App.registerBoundHelper('formatWordBreak', Em.View.extend({
+  tagName: 'span',
+  template: Ember.Handlebars.compile('{{{view.result}}}'),
 
+  /**
+   * @type {string}
+   */
+  result: function() {
+    return this.get('content') && this.get('content').replace(/\//g, '/<wbr 
/>');
+  }.property('content')
+}));
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/79f3a1a3/contrib/views/slider/src/main/resources/ui/app/mappers/slider_apps_mapper.js
----------------------------------------------------------------------
diff --git 
a/contrib/views/slider/src/main/resources/ui/app/mappers/slider_apps_mapper.js 
b/contrib/views/slider/src/main/resources/ui/app/mappers/slider_apps_mapper.js
index 5194c99..4f69ba2 100644
--- 
a/contrib/views/slider/src/main/resources/ui/app/mappers/slider_apps_mapper.js
+++ 
b/contrib/views/slider/src/main/resources/ui/app/mappers/slider_apps_mapper.js
@@ -112,6 +112,13 @@ App.SliderAppsMapper = 
App.Mapper.createWithMixins(App.RunPeriodically, {
     return quickLinks.mapProperty('id');
   },
 
+  parseObject: function(o) {
+    if (Ember.typeOf(o) !== 'object') return [];
+    return Ember.keys(o).map(function(key) {
+      return {key: key, value: o[key]};
+    });
+  },
+
   /**
    * Parse loaded data
    * Load <code>App.SliderApp</code> model
@@ -124,8 +131,9 @@ App.SliderAppsMapper = 
App.Mapper.createWithMixins(App.RunPeriodically, {
 
     data.items.forEach(function(app) {
       var componentsId = app.components ? self.parseComponents(app) : [],
-      configs = app.configs ? self.parseConfigs(app) : {};
-      quickLinks = self.parseQuickLinks(app);
+      configs = app.configs ? self.parseConfigs(app) : {},
+      quickLinks = self.parseQuickLinks(app),
+      jmx = self.parseObject(app.jmx);
 
       apps.push(
         Ember.Object.create({
@@ -141,6 +149,7 @@ App.SliderAppsMapper = 
App.Mapper.createWithMixins(App.RunPeriodically, {
           components: componentsId,
           quickLinks: quickLinks,
           configs: configs,
+          jmx: jmx,
           runtimeProperties: app.configs
         })
       );

http://git-wip-us.apache.org/repos/asf/ambari/blob/79f3a1a3/contrib/views/slider/src/main/resources/ui/app/models/slider_app.js
----------------------------------------------------------------------
diff --git 
a/contrib/views/slider/src/main/resources/ui/app/models/slider_app.js 
b/contrib/views/slider/src/main/resources/ui/app/models/slider_app.js
index 14c4a32..f82adcf 100644
--- a/contrib/views/slider/src/main/resources/ui/app/models/slider_app.js
+++ b/contrib/views/slider/src/main/resources/ui/app/models/slider_app.js
@@ -92,6 +92,8 @@ App.SliderApp = DS.Model.extend({
    */
   configs: DS.attr('object'),
 
+  jmx: DS.attr('object'),
+
   /**
    * Global configs
    * @type {{key: string, value: *}[]}
@@ -99,7 +101,7 @@ App.SliderApp = DS.Model.extend({
   globals: function() {
     var c = this.get('configs.global');
     return this.mapObject(c);
-  }.property('configs.global'),
+  }.property('configs.@each'),
 
   /**
    * HBase-Site configs
@@ -108,7 +110,7 @@ App.SliderApp = DS.Model.extend({
   hbaseSite: function() {
     var c = this.get('configs.hbase-site');
     return this.mapObject(c);
-  }.property('configs.hbase-site'),
+  }.property('configs.@each'),
 
   /**
    * Configs which are not in global or hbase-site
@@ -124,7 +126,15 @@ App.SliderApp = DS.Model.extend({
       ret = ret.concat(self.mapObject(c[key]));
     });
     return ret;
-  }.property('configs'),
+  }.property('configs.@each'),
+
+  /**
+   * Display metrics only for running apps
+   * @type {boolean}
+   */
+  showMetrics: function() {
+    return App.SliderApp.Status.running === this.get('status');
+  }.property('status'),
 
   /**
    * Map object to array
@@ -151,4 +161,4 @@ App.SliderApp.Status = {
     new_saving: "NEW_SAVING",
     running: "RUNNING" ,
     submitted:"SUBMITTED"
-};
\ No newline at end of file
+};

http://git-wip-us.apache.org/repos/asf/ambari/blob/79f3a1a3/contrib/views/slider/src/main/resources/ui/app/routes/main.js
----------------------------------------------------------------------
diff --git a/contrib/views/slider/src/main/resources/ui/app/routes/main.js 
b/contrib/views/slider/src/main/resources/ui/app/routes/main.js
index f875ffa..07babda 100644
--- a/contrib/views/slider/src/main/resources/ui/app/routes/main.js
+++ b/contrib/views/slider/src/main/resources/ui/app/routes/main.js
@@ -18,6 +18,10 @@
 
 App.IndexRoute = Ember.Route.extend({
 
+  model: function () {
+    return this.modelFor('sliderApps');
+  },
+
   redirect: function () {
     this.transitionTo('slider_apps');
   }
@@ -40,7 +44,7 @@ App.SliderAppsRoute = Ember.Route.extend({
 App.SliderAppRoute = Ember.Route.extend({
 
   model: function(params) {
-    return this.store.find('sliderApp', params.slider_app_id);
+    return this.store.all('sliderApp', params.slider_app_id);
   }
 
 });
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/79f3a1a3/contrib/views/slider/src/main/resources/ui/app/styles/application.less
----------------------------------------------------------------------
diff --git 
a/contrib/views/slider/src/main/resources/ui/app/styles/application.less 
b/contrib/views/slider/src/main/resources/ui/app/styles/application.less
index cbf466c..a4347b9 100644
--- a/contrib/views/slider/src/main/resources/ui/app/styles/application.less
+++ b/contrib/views/slider/src/main/resources/ui/app/styles/application.less
@@ -504,4 +504,94 @@ a {
 }
 .modal-backdrop.in {
   opacity:0;
-}
\ No newline at end of file
+}
+
+/**
+ * App Summary Page
+ */
+.app_summary {
+  .container {
+    padding-left: 0;
+  }
+}
+
+
+.chart-container {
+  cursor: default;
+
+  position: relative;
+  margin: 20px 15px 0px 15px;
+
+  .chart {
+    position: relative;
+    z-index: 1;
+  }
+  .chart-y-axis {
+    position: absolute;
+    top: 0;
+    bottom: 0px;
+    width: 100px;
+    z-index: 2;
+    margin-top: 15px;
+  }
+  .chart-x-axis {
+    position: absolute;
+    top: 180px;
+    left: 35%;
+    width: 30%;
+    z-index: 2;
+  }
+  .x_tick {
+    margin-top: 5px;
+    .title {
+      padding: 0 2px 0 2px;
+      opacity: 1 !important;
+      top: 148px;
+    }
+  }
+  svg {
+    g {
+      g:nth-child(1) {
+        display: none;
+      }
+    }
+  }
+  text {
+    font-weight: 700;
+    opacity: 1 !important;
+  }
+  .chart-legend {
+    font-family: 'Courier New';
+    position: absolute;
+    top: 180px;
+    z-index: 3;
+  }
+  .rickshaw_legend {
+    background-color: #999 !important;
+    li:hover {
+      background-color: #999 !important;
+    }
+  }
+  .rickshaw_legend:empty {
+    padding: 0;
+  }
+  .rickshaw_graph {
+    .x_tick {
+      .title {
+        bottom: -6px;
+        opacity: 0.75;
+      }
+    }
+  }
+  .chart-overlay {
+    position: absolute;
+    top: 0;
+    bottom: 0;
+    width: 100%;
+    z-index: 5;
+  }
+  .chart-title {
+    text-align: center;
+    margin-top: 20px;
+  }
+}

http://git-wip-us.apache.org/repos/asf/ambari/blob/79f3a1a3/contrib/views/slider/src/main/resources/ui/app/templates/slider_app/configs.hbs
----------------------------------------------------------------------
diff --git 
a/contrib/views/slider/src/main/resources/ui/app/templates/slider_app/configs.hbs
 
b/contrib/views/slider/src/main/resources/ui/app/templates/slider_app/configs.hbs
index 5e07e57..520ed45 100644
--- 
a/contrib/views/slider/src/main/resources/ui/app/templates/slider_app/configs.hbs
+++ 
b/contrib/views/slider/src/main/resources/ui/app/templates/slider_app/configs.hbs
@@ -29,7 +29,7 @@
         {{#each model.otherConfigs}}
         <tr>
           <td>{{key}}</td>
-          <td>{{value}}</td>
+          <td>{{formatWordBreak value}}</td>
         </tr>
         {{/each}}
       </tbody>
@@ -50,7 +50,7 @@
         {{#each model.globals}}
           <tr>
             <td>{{key}}</td>
-            <td>{{value}}</td>
+            <td>{{formatWordBreak value}}</td>
           </tr>
         {{/each}}
       </tbody>
@@ -71,10 +71,10 @@
         {{#each model.hbaseSite}}
         <tr>
           <td>{{key}}</td>
-          <td>{{value}}</td>
+          <td>{{formatWordBreak value}}</td>
         </tr>
         {{/each}}
       </tbody>
     </table>
   {{/bs-panel}}
-{{/if}}
\ No newline at end of file
+{{/if}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/79f3a1a3/contrib/views/slider/src/main/resources/ui/app/templates/slider_app/summary.hbs
----------------------------------------------------------------------
diff --git 
a/contrib/views/slider/src/main/resources/ui/app/templates/slider_app/summary.hbs
 
b/contrib/views/slider/src/main/resources/ui/app/templates/slider_app/summary.hbs
index fab5ea8..dbf6f62 100644
--- 
a/contrib/views/slider/src/main/resources/ui/app/templates/slider_app/summary.hbs
+++ 
b/contrib/views/slider/src/main/resources/ui/app/templates/slider_app/summary.hbs
@@ -15,6 +15,27 @@
 * See the License for the specific language governing permissions and
 * limitations under the License.
 }}
-Summary
 
-{{model.id}}
\ No newline at end of file
+<div class="container">
+  <div class="row">
+    <div class="col-md-6">
+      {{#bs-panel heading="Summary"}}
+      {{/bs-panel}}
+    </div>
+    <div class="col-md-6">
+      {{#bs-panel heading="Components"}}
+      {{/bs-panel}}
+    </div>
+  </div>
+  {{#if controller.model.showMetrics}}
+    {{#bs-panel heading="Metrics"}}
+      {{#each graphs in view.parentView.graphs}}
+        <div class="row">
+          {{#each graph in graphs}}
+            <div class="col-md-3">{{view graph}}</div>
+          {{/each}}
+        </div>
+      {{/each}}
+    {{/bs-panel}}
+  {{/if}}
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/79f3a1a3/contrib/views/slider/src/main/resources/ui/config.js
----------------------------------------------------------------------
diff --git a/contrib/views/slider/src/main/resources/ui/config.js 
b/contrib/views/slider/src/main/resources/ui/config.js
index 8ba0087..978d984 100755
--- a/contrib/views/slider/src/main/resources/ui/config.js
+++ b/contrib/views/slider/src/main/resources/ui/config.js
@@ -28,8 +28,15 @@ exports.config = {
       },
       order: {
         before: [
+          'vendor/scripts/common/d3.v2.js',
+          'vendor/scripts/common/cubism.v1.js',
+          'vendor/scripts/common/rickshaw.js',
           'vendor/scripts/common/console-polyfill.js',
           'vendor/scripts/common/jquery.js',
+          'vendor/scripts/common/jquery.ui.core.js',
+          'vendor/scripts/common/jquery.ui.widget.js',
+          'vendor/scripts/common/jquery.ui.mouse.js',
+          'vendor/scripts/common/jquery.ui.sortable.js',
           'vendor/scripts/common/handlebars.js',
           'vendor/scripts/development/ember.js',
           'vendor/scripts/production/ember-data.js',
@@ -49,6 +56,8 @@ exports.config = {
       },
       order: {
         before: [
+          'vendor/styles/cubism.css',
+          'vendor/styles/rickshaw.css',
           'vendor/styles/bootstrap.css',
           'vendor/styles/font-awesome.css',
           'vendor/styles/font-awesome-ie7.css'
@@ -75,6 +84,9 @@ exports.config = {
           },
           order: {
             before: [
+              'vendor/scripts/common/d3.v2.js',
+              'vendor/scripts/common/cubism.v1.js',
+              'vendor/scripts/common/rickshaw.js',
               'vendor/scripts/common/console-polyfill.js',
               'vendor/scripts/common/jquery.js',
               'vendor/scripts/common/handlebars.js',

http://git-wip-us.apache.org/repos/asf/ambari/blob/79f3a1a3/contrib/views/slider/src/main/resources/ui/package.json
----------------------------------------------------------------------
diff --git a/contrib/views/slider/src/main/resources/ui/package.json 
b/contrib/views/slider/src/main/resources/ui/package.json
index 2d2ea16..daf0943 100755
--- a/contrib/views/slider/src/main/resources/ui/package.json
+++ b/contrib/views/slider/src/main/resources/ui/package.json
@@ -26,7 +26,6 @@
     "stylus-brunch": "~1.7.0",
     "uglify-js-brunch": "~1.7.0",
     "clean-css-brunch": "~1.7.0",
-    "auto-reload-brunch": "~1.7.0",
     "ember-handlebars-brunch": 
"git://github.com/fuseelements/ember-handlebars-brunch#fix/ember-1.3.0"
   },
   "devDependencies": {

Reply via email to