ソースを参照

AMBARI-5402 Remove classic dashboard view from Ambari. (ababiichuk)

aBabiichuk 11 年 前
コミット
eb6ed77ce6
30 ファイル変更420 行追加837 行削除
  1. 0 61
      ambari-web/app/templates/main/dashboard.hbs
  2. 0 98
      ambari-web/app/templates/main/dashboard/service/flume.hbs
  3. 0 109
      ambari-web/app/templates/main/dashboard/service/hbase.hbs
  4. 0 164
      ambari-web/app/templates/main/dashboard/service/hdfs.hbs
  5. 0 132
      ambari-web/app/templates/main/dashboard/service/mapreduce.hbs
  6. 0 123
      ambari-web/app/templates/main/dashboard/service/yarn.hbs
  7. 6 6
      ambari-web/app/templates/main/service/info/summary.hbs
  8. 67 0
      ambari-web/app/templates/main/service/services/flume.hbs
  9. 59 0
      ambari-web/app/templates/main/service/services/hbase.hbs
  10. 109 0
      ambari-web/app/templates/main/service/services/hdfs.hbs
  11. 0 0
      ambari-web/app/templates/main/service/services/hive.hbs
  12. 81 0
      ambari-web/app/templates/main/service/services/mapreduce.hbs
  13. 0 0
      ambari-web/app/templates/main/service/services/mapreduce2.hbs
  14. 0 0
      ambari-web/app/templates/main/service/services/oozie.hbs
  15. 0 0
      ambari-web/app/templates/main/service/services/storm.hbs
  16. 77 0
      ambari-web/app/templates/main/service/services/yarn.hbs
  17. 0 0
      ambari-web/app/templates/main/service/services/zookeeper.hbs
  18. 11 12
      ambari-web/app/views.js
  19. 0 115
      ambari-web/app/views/main/dashboard.js
  20. 0 7
      ambari-web/app/views/main/service/service.js
  21. 1 1
      ambari-web/app/views/main/service/services/flume.js
  22. 1 1
      ambari-web/app/views/main/service/services/hbase.js
  23. 1 1
      ambari-web/app/views/main/service/services/hdfs.js
  24. 1 1
      ambari-web/app/views/main/service/services/hive.js
  25. 1 1
      ambari-web/app/views/main/service/services/mapreduce.js
  26. 1 1
      ambari-web/app/views/main/service/services/mapreduce2.js
  27. 1 1
      ambari-web/app/views/main/service/services/oozie.js
  28. 1 1
      ambari-web/app/views/main/service/services/storm.js
  29. 1 1
      ambari-web/app/views/main/service/services/yarn.js
  30. 1 1
      ambari-web/app/views/main/service/services/zookeeper.js

+ 0 - 61
ambari-web/app/templates/main/dashboard.hbs

@@ -16,60 +16,6 @@
 * limitations under the License.
 }}
 {{#if view.isDataLoaded}}
-  {{#if view.isClassicDashboard}}
-    <div class="row">
-      <div class="span6">
-        <div class="row">
-          <div class="span6">
-            <div class="box">
-              <div class="box-header">
-                <h4>{{t dashboard.services}}</h4>
-              </div>
-              <dl class="dl-horizontal services">
-                {{#each item in view.content}}
-                  {{view item.viewName serviceBinding="item.model"}}
-                {{/each}}
-              </dl>
-            </div>
-          </div>
-        </div>
-      </div>
-      <div class="span6">
-        <div class="box">
-          <div class="box-header">
-            <h4>{{t dashboard.clusterMetrics}}</h4>
-              <div class="btn-group">
-                <a class="btn" target="_blank" rel="tooltip" title="Go to Ganglia" {{bindAttr href="view.gangliaUrl"}}><i class="icon-link"></i></a>
-                <a href="javascript:void(null)" class="btn btn-success switch-button" data-toggle="modal" {{action "switchToNew" target="view"}}>
-                  {{t dashboard.button.switchShort}}
-                  <i class="icon-forward"></i>
-                </a>
-              </div>
-          </div>
-          <div class="graphs-container">
-            <table class="graphs">
-              <tr>
-                <td>
-                  {{view App.ChartClusterMetricsNetwork}}
-                </td>
-                <td>
-                  {{view App.ChartClusterMetricsLoad}}
-                </td>
-              </tr>
-              <tr>
-                <td>
-                  {{view App.ChartClusterMetricsMemory}}
-                </td>
-                <td>
-                  {{view App.ChartClusterMetricsCPU}}
-                </td>
-              </tr>
-            </table>
-          </div>
-        </div>
-      </div>
-    </div>
-  {{else}}
     <div class="row-fluid">
       <div class="services-menu well span2" style="padding: 8px 0">
         {{view App.MainServiceMenuView}}
@@ -94,12 +40,6 @@
                         {{t dashboard.button.reset}}
                       </a>
                     </li>
-                    <li>
-                      <a href="#" {{action "switchToClassic" target="view"}}>
-                        <i class="icon-backward"></i>
-                        {{t dashboard.button.switch}}
-                      </a>
-                    </li>
                     <li>
                       <a target="_blank" {{bindAttr href="view.gangliaUrl"}}>
                         <i class="icon-share"></i>
@@ -126,6 +66,5 @@
         </div>
       </div>
     </div>
-  {{/if}}
 {{/if}}
 

+ 0 - 98
ambari-web/app/templates/main/dashboard/service/flume.hbs

@@ -1,98 +0,0 @@
-{{!
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements.  See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership.  The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License.  You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-}}
-
-{{#unless view.showOnlyRows}}
-<div class="clearfix like_pointer" {{action toggleInfoView target="view"}}>
-  <div class="name span2">
-    {{#if view.isCollapsed}}
-    <i class="icon-caret-down pull-left"></i>
-    {{else}}
-    <i class="icon-caret-right pull-left"></i>
-    {{/if}}
-    {{view App.MainDashboardServiceHealthView serviceBinding="view.service"}}
-    <a {{action selectService view.service href=true}}>{{view.service.displayName}}</a>
-    {{#if view.criticalAlertsCount}}
-      <a href="#" class="label label-important" {{action "showAlertsPopup" view.service target="view.parentView"}}>
-        {{view.criticalAlertsCount}}
-      </a>
-    {{/if}}
-  </div>
-  <div class="summary span">
-    {{view.summaryHeader}}
-  </div>
-</div>
-<div class="service-body">
-  <div class="span4">
-    <table class="table no-borders">
-      <tbody>
-    {{/unless}}
-      <!-- Flume Agents -->
-      <tr>
-        <td>{{t dashboard.services.flume.agentsLabel}}</td>
-        <td>
-            <a href="#" {{action filterHosts view.flumeServerComponent}}>{{view.summaryHeader}}</a>
-        </td>
-      </tr>
-      <!-- Channels -->
-      <tr>
-        <td>{{t dashboard.services.flume.channels}}</td>
-        <td>
-          {{view.service.channelsCount}} {{t dashboard.services.flume.channels}}
-          <ul>
-            {{#each view.service.nodes}}
-              {{#if channelsCount}}
-                <li> {{channels}} <a href="#" {{action showDetails host}}>{{host.publicHostName}}</a></li>
-              {{/if}}
-            {{/each}}
-          </ul>
-        </td>
-      </tr>
-      <!-- Sources -->
-      <tr>
-        <td>{{t dashboard.services.flume.sources}}</td>
-        <td>
-          {{view.service.sourcesCount}} {{t dashboard.services.flume.sources}}
-          <ul>
-            {{#each view.service.nodes}}
-              {{#if sourcesCount}}
-                <li> {{sources}} <a href="#" {{action showDetails host}}>{{host.publicHostName}}</a></li>
-              {{/if}}
-            {{/each}}
-          </ul>
-        </td>
-      </tr>
-      <!-- Sinks -->
-      <tr>
-        <td>{{t dashboard.services.flume.sinks}}</td>
-        <td>
-          {{view.service.sinksCount}} {{t dashboard.services.flume.sinks}}
-          <ul>
-            {{#each view.service.nodes}}
-              {{#if sinksCount}}
-                <li> {{sinks}} <a href="#" {{action showDetails host}}>{{host.publicHostName}}</a></li>
-              {{/if}}
-            {{/each}}
-          </ul>
-        </td>
-      </tr>
-    {{#unless view.showOnlyRows}}
-      </tbody>
-    </table>
-  </div>
-</div>
-{{/unless}}

+ 0 - 109
ambari-web/app/templates/main/dashboard/service/hbase.hbs

@@ -1,109 +0,0 @@
-{{!
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements.  See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership.  The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License.  You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-}}
-
-{{#unless view.showOnlyRows}}
-<div class="clearfix like_pointer" {{action toggleInfoView target="view"}}>
-  <div class="name span2">
-    {{#if view.isCollapsed}}
-    <i class="icon-caret-down pull-left"></i>
-    {{else}}
-    <i class="icon-caret-right pull-left"></i>
-    {{/if}}
-    {{view App.MainDashboardServiceHealthView serviceBinding="view.service"}}
-    <a {{action selectService view.service href=true}}>{{view.service.displayName}}</a>
-    {{#if view.criticalAlertsCount}}
-      <a href="#" class="label label-important" {{action "showAlertsPopup" view.service target="view.parentView"}}>
-        {{view.criticalAlertsCount}}
-      </a>
-    {{/if}}
-  </div>
-  <div class="summary span">
-    {{view.summaryHeader}}
-  </div>
-</div>
-<div class="service-body">
-  <div class="span4">
-    <table class="table no-borders">
-      <tbody>
-    {{/unless}}
-      <!-- HBase Master Server -->
-
-      {{view view.dashboardMasterComponentView}}
-
-      <!-- RegionServers -->
-      <tr>
-        <td><a href="#" {{action filterHosts view.regionServerComponent}}>{{t dashboard.services.hbase.regionServers}}</a></td>
-        <td>
-          <span>
-            {{#view view.regionServersLiveTextView}}
-              {{view.liveComponents}}/{{view.totalComponents}}
-            {{/view}}
-          </span> {{t services.service.summary.RegionServersLIVE}}
-        </td>
-      </tr>
-      <!-- Regions in Transition -->
-      <tr>
-        <td>{{t dashboard.services.hbase.regions.transition}}</td>
-        <td>{{view.service.regionsInTransition}}</td>
-      </tr>
-      <!-- HBase Master Started Time -->
-      <tr>
-        <td>{{t dashboard.services.hbase.masterStarted}}</td>
-        <td>{{view.masterStartedTime}}</td>
-      </tr>
-      <!-- HBase Master Activated Time -->
-      <tr>
-        <td>{{t dashboard.services.hbase.masterActivated}}</td>
-        <td>{{view.masterStartedTime}}</td>
-      </tr>
-      <!-- Average Load -->
-      <tr>
-        <td>{{t dashboard.services.hbase.averageLoad}}</td>
-        <td>{{view.averageLoad}}</td>
-      </tr>
-      <!-- Master Server Heap -->
-      <tr>
-        <td>{{t dashboard.services.hbase.masterServerHeap}}</td>
-        <td>{{view.masterServerHeapSummary}}</td>
-      </tr>
-
-    {{#unless view.showOnlyRows}}
-      </tbody>
-    </table>
-  </div>
-<div class="dashboard-mini-chart span2">
-  {{view App.ChartServiceMetricsHBASE_RegionServerReadWriteRequests}}
-  
-  {{#if view.service.quickLinks.length}}
-  {{#view App.QuickViewLinks contentBinding="view.service"}}
-  <div class="btn-group">
-    <a class="btn btn-mini dropdown-toggle" data-toggle="dropdown" href="#">
-      {{t common.quickLinks}}
-      <span class="caret"></span>
-    </a>
-    <ul class="dropdown-menu">
-      {{#each view.quickLinks}}
-        <li><a {{bindAttr href="url"}} target="_blank">{{label}}</a></li>
-      {{/each}}
-    </ul>
-  </div>
-  {{/view}}
-  {{/if}}
-</div>
-</div>
-{{/unless}}

+ 0 - 164
ambari-web/app/templates/main/dashboard/service/hdfs.hbs

@@ -1,164 +0,0 @@
-{{!
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements.  See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership.  The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License.  You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-}}
-
-{{#unless view.showOnlyRows}}
-<div class="clearfix like_pointer" {{action toggleInfoView target="view"}}>
-  <div class="name span2">
-    {{#if view.isCollapsed}}
-    <i class="icon-caret-down pull-left"></i>
-    {{else}}
-    <i class="icon-caret-right pull-left"></i>
-    {{/if}}
-    {{view App.MainDashboardServiceHealthView serviceBinding="view.service"}}
-    <a {{action selectService view.service href=true}}>{{view.service.displayName}}</a>
-    {{#if view.criticalAlertsCount}}
-      <a href="#" class="label label-important" {{action "showAlertsPopup" view.service target="view.parentView"}}>
-        {{view.criticalAlertsCount}}
-      </a>
-    {{/if}}
-  </div>
-  <div class="summary span">
-    {{view.summaryHeader}}
-  </div>
-</div>
-<div class="service-body">
-  <div class="span4">
-    <table class="table no-borders">
-      <tbody>
-    {{/unless}}
-
-      {{view view.dashboardMasterComponentView}}
-      <!-- Data Nodes -->
-      <tr>
-        <td><a href="#" {{action filterHosts view.dataNodeComponent}}>{{t dashboard.services.hdfs.datanodes}}</a></td>
-        <td>
-          <span>
-            {{#view view.dataNodesLiveTextView}}
-              {{view.liveComponents}}/{{view.totalComponents}}
-            {{/view}}
-          </span>  {{t services.service.summary.DataNodesLive}}
-        </td>
-      </tr>
-      <!-- JournalNodes -->
-      {{#if view.showJournalNodes}}
-        <tr>
-          <td><a href="#" {{action filterHosts view.journalNodeComponent}}>{{t dashboard.services.hdfs.journalnodes}}</a></td>
-          <td>
-                <span>
-                  {{#view view.journalNodesLiveTextView}}
-                    {{view.liveComponents}}/{{view.totalComponents}}
-                  {{/view}}
-                </span>  {{t services.service.summary.JournalNodesLive}}
-         </td>
-        </tr>
-      {{/if}}
-      <!-- NameNode Uptime -->
-      <tr>
-        <td>{{t dashboard.services.hdfs.nodes.uptime}}</td>
-        <td>{{view.nodeUptime}}</td>
-      </tr>
-      <!-- NameNode Heap -->
-      <tr>
-        <td>{{t dashboard.services.hdfs.nodes.heap}}</td>
-        <td>{{view.nodeHeap}}</td>
-      </tr>
-      <!-- Data Node Counts -->
-      <tr>
-        <td>{{t dashboard.services.hdfs.datanodecounts}}</td>
-        <td>
-          {{view.dataNodesLive.length}} {{t dashboard.services.hdfs.nodes.live}} /
-          {{view.dataNodesDead.length}} {{t dashboard.services.hdfs.nodes.dead}} /
-          {{view.service.decommissionDataNodes.length}} {{t dashboard.services.hdfs.nodes.decom}}
-        </td>
-      </tr>
-      <!-- HDFS Capacity (Disk Usage)-->
-      <tr>
-        <td>{{t dashboard.services.hdfs.capacity.dfsUsed}}</td>
-        <td>{{view.dfsUsedDisk}}</td>
-      </tr>
-      <tr>
-        <td>{{t dashboard.services.hdfs.capacity.nonDfsUsed}}</td>
-        <td>{{view.nonDfsUsedDisk}}</td>
-      </tr>
-      <tr>
-        <td>{{t dashboard.services.hdfs.capacity.remaining}}</td>
-        <td>{{view.remainingDisk}}</td>
-      </tr>
-      <!-- Blocks Total -->
-      <tr>
-        <td>{{t services.service.summary.blocksTotal}}</td>
-        <td>{{view.dfsTotalBlocks}}</td>
-      </tr>
-      <!-- Block Errors -->
-      <tr>
-        <td>{{t services.service.summary.blockErrors}}</td>
-        <td>
-          {{view.blockErrorsMessage}}
-        </td>
-      </tr>
-      <!-- Total Files And Directories -->
-      <tr>
-        <td>{{t dashboard.services.hdfs.totalFilesAndDirs}}</td>
-        <td>{{view.dfsTotalFiles}}</td>
-      </tr>
-      <!-- Upgrade Status -->
-      <tr>
-        <td>{{t services.service.summary.pendingUpgradeStatus}}</td>
-        <td>
-          {{view.upgradeStatus}}
-        </td>
-      </tr>
-      <!-- Safe Mode Status -->
-      <tr>
-        <td>{{t services.service.summary.safeModeStatus}}</td>
-        <td>
-          {{view.safeModeStatus}}
-        </td>
-      </tr>
-
-    {{#unless view.showOnlyRows}}
-      </tbody>
-    </table>
-  </div>
-<div class="dashboard-mini-chart span2">
-  <div {{bindAttr title="view.capacity"}}>
-    {{view view.Chart serviceBinding="view.service"}}
-  </div>
-  <div class="chartLabel">{{t dashboard.services.hdfs.chart.label}}</div>
-  {{#if view.service.quickLinks.length}}
-    {{#view App.QuickViewLinks contentBinding="view.service"}}
-      <div class="btn-group">
-        <a class="btn btn-mini dropdown-toggle" data-toggle="dropdown" href="#">
-          {{t common.quickLinks}}
-          <span class="caret"></span>
-        </a>
-        <ul class="dropdown-menu">
-          {{#each view.quickLinks}}
-            {{#if disabled}}
-                <li><a class="disabled-hdfs-quick-link">{{label}}</a></li>
-            {{else}}
-                <li><a {{bindAttr href="url"}} target="_blank">{{label}}</a></li>
-            {{/if}}
-          {{/each}}
-        </ul>
-      </div>
-    {{/view}}
-  {{/if}}
-</div>
-</div>
-{{/unless}}

+ 0 - 132
ambari-web/app/templates/main/dashboard/service/mapreduce.hbs

@@ -1,132 +0,0 @@
-{{!
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements.  See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership.  The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License.  You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-}}
-
-{{#unless view.showOnlyRows}}
-<div class="clearfix like_pointer" {{action toggleInfoView target="view"}}>
-  <div class="name span2">
-    {{#if view.isCollapsed}}
-    <i class="icon-caret-down pull-left"></i>
-    {{else}}
-    <i class="icon-caret-right pull-left"></i>
-    {{/if}}
-    {{view App.MainDashboardServiceHealthView serviceBinding="view.service"}}
-    <a {{action selectService view.service href=true}}>{{view.service.displayName}}</a>
-    {{#if view.criticalAlertsCount}}
-      <a href="#" class="label label-important" {{action "showAlertsPopup" view.service target="view.parentView"}}>
-        {{view.criticalAlertsCount}}
-      </a>
-    {{/if}}
-  </div>
-  <div class="summary span">
-    {{view.summaryHeader}}
-  </div>
-</div>
-<div class="service-body">
-  <div class="span4">
-    <table class="table no-borders">
-      <tbody>
-    {{/unless}}
-
-     {{view view.dashboardMasterComponentView}}
-
-      <!-- TaskTrackers -->
-      <tr>
-        <td><a href="#" {{action filterHosts view.taskTrackerComponent}}>{{t dashboard.services.mapreduce.taskTrackers}}</a></td>
-        <td>
-          <span>
-            {{#view view.trackersLiveTextView}}
-              {{view.liveComponents}}/{{view.totalComponents}}
-            {{/view}}
-          </span> {{t services.service.summary.TrackersLive}}
-        </td>
-      </tr>
-      <!-- Job Tracker Uptime -->
-      <tr>
-        <td>{{t dashboard.services.mapreduce.jobTrackerUptime}}</td>
-        <td>{{view.jobTrackerUptime}}</td>
-      </tr>
-      <!-- TaskTracker Counts -->
-      <tr>
-        <td>{{t dashboard.services.mapreduce.taskTrackerCounts}}</td>
-        <td>
-          {{view.service.grayListTrackers.length}} {{t dashboard.services.mapreduce.nodes.blacklist}} /
-          {{view.service.blackListTrackers.length}} {{t dashboard.services.mapreduce.nodes.graylist}} /
-          {{view.service.trackersDecommissioned}} {{t dashboard.services.hdfs.nodes.decom}}
-        </td>
-      </tr>
-      <!-- JobTracker Heap -->
-      <tr>
-        <td>{{t dashboard.services.mapreduce.jobTrackerHeap}}</td>
-        <td>{{view.trackersHeapSummary}}</td>
-      </tr>
-      <!-- Total slots capacity -->
-      <tr>
-        <td>{{t dashboard.services.mapreduce.slotCapacity}}</td>
-        <td>{{view.slotsCapacitySummary}}</td>
-      </tr>
-      <!-- Jobs -->
-      <tr>
-        <td>{{t dashboard.services.mapreduce.jobs}}</td>
-        <td>{{view.jobsSummary}}</td>
-      </tr>
-      <!-- Map Slots -->
-      <tr>
-        <td>{{t dashboard.services.mapreduce.mapSlots}}</td>
-        <td>{{view.mapSlotsSummary}}</td>
-      </tr>
-      <!-- Reduce Slots -->
-      <tr>
-        <td>{{t dashboard.services.mapreduce.reduceSlots}}</td>
-        <td>{{view.reduceSlotsSummary}}</td>
-      </tr>
-      <!-- Tasks:Maps -->
-      <tr>
-        <td>{{t dashboard.services.mapreduce.tasks.maps}}</td>
-        <td>{{view.mapTasksSummary}}</td>
-      </tr>
-      <!-- Tasks:Reduces -->
-      <tr>
-        <td>{{t dashboard.services.mapreduce.tasks.reduces}}</td>
-        <td>{{view.reduceTasksSummary}}</td>
-      </tr>
-
-    {{#unless view.showOnlyRows}}
-      </tbody>
-    </table>
-  </div>
-<div class="dashboard-mini-chart span2">
-  {{view App.ChartServiceMetricsMapReduce_TasksRunningWaiting}}
-  
-  {{#if view.service.quickLinks.length}}
-  {{#view App.QuickViewLinks contentBinding="view.service"}}
-  <div class="btn-group">
-    <a class="btn btn-mini dropdown-toggle" data-toggle="dropdown" href="#">
-      {{t common.quickLinks}}
-      <span class="caret"></span>
-    </a>
-    <ul class="dropdown-menu">
-      {{#each view.quickLinks}}
-      <li><a {{bindAttr href="url"}} target="_blank">{{label}}</a></li>
-      {{/each}}
-    </ul>
-  </div>
-  {{/view}}
-  {{/if}}
-</div>
-</div>
-{{/unless}}

+ 0 - 123
ambari-web/app/templates/main/dashboard/service/yarn.hbs

@@ -1,123 +0,0 @@
-{{!
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements.  See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership.  The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License.  You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-}}
-
-{{#unless view.showOnlyRows}}
-<div class="clearfix like_pointer" {{action toggleInfoView target="view"}}>
-  <div class="name span2">
-    {{#if view.isCollapsed}}
-    <i class="icon-caret-down pull-left"></i>
-    {{else}}
-    <i class="icon-caret-right pull-left"></i>
-    {{/if}}
-    {{view App.MainDashboardServiceHealthView serviceBinding="view.service"}}
-    <a {{action selectService view.service href=true}}>{{view.service.displayName}}</a>
-    {{#if view.criticalAlertsCount}}
-      <a href="#" class="label label-important" {{action "showAlertsPopup" view.service target="view.parentView"}}>
-        {{view.criticalAlertsCount}}
-      </a>
-    {{/if}}
-  </div>
-  <div class="summary span">
-    {{view.summaryHeader}}
-  </div>
-</div>
-<div class="service-body">
-  <div class="span4">
-    <table class="table no-borders">
-      <tbody>
-    {{/unless}}
-
-    {{view view.dashboardMasterComponentView}}
-
-      <!-- NodeManagers -->
-      <tr>
-        <td><a href="#" {{action filterHosts view.nodeManagerComponent}}>{{t dashboard.services.yarn.nodeManagers}}</a></td>
-        <td>
-          <span>
-            {{#view view.nodeManagersLiveTextView}}
-              {{view.liveComponents}}/{{view.totalComponents}}
-            {{/view}}
-          </span>{{t services.service.summary.nodeManagersLive}}
-        </td>
-      </tr>
-      <!-- YARN Clients -->
-      <tr>
-        <td class="summary-label"><a {{action filterHosts view.yarnClientComponent}} href="javascript:void(null)">{{pluralize view.service.yarnClientNodes.length singular="t:dashboard.services.yarn.client" plural="t:dashboard.services.yarn.clients"}}</a></td>
-        <td>
-          <span class="green-live">{{view.service.yarnClientNodes.length}} </span>
-          {{pluralize view.service.yarnClientNodes.length singular="t:dashboard.services.yarn.client" plural="t:dashboard.services.yarn.clients"}} {{t common.installed}}
-        </td>
-      </tr>
-      <!-- ResourceManager Uptime -->
-      <tr>
-        <td>{{t dashboard.services.yarn.resourceManager.uptime}}</td>
-        <td>{{view.nodeUptime}}</td>
-      </tr>
-      <!-- ResourceManager Heap -->
-      <tr>
-        <td>{{t dashboard.services.resourceManager.nodes.heap}}</td>
-        <td>{{view.nodeHeap}}</td>
-      </tr>
-      <!-- NodeManagers status -->
-      <tr>
-        <td>{{t dashboard.services.yarn.nodeManagers.status}}</td>
-        <td>{{view.nodeManagersStatus}}</td>
-      </tr>
-      <!-- Containers -->
-      <tr>
-        <td>{{t dashboard.services.yarn.containers}}</td>
-        <td>{{view.containers}}</td>
-      </tr>
-      <!-- Applications -->
-      <tr>
-        <td>{{t dashboard.services.yarn.apps}}</td>
-        <td>{{view.apps}}</td>
-      </tr>
-      <!-- Memory -->
-      <tr>
-          <td>{{t dashboard.services.yarn.memory}}</td>
-          <td>{{view.memory}}</td>
-      </tr>
-      <!-- Queues -->
-      <tr>
-          <td>{{t dashboard.services.yarn.queues}}</td>
-          <td><span rel="queue-tooltip" class="text-tooltip" {{bindAttr data-original-title="view.service.queueFormatted" }}>{{view.queues}}</span></td>
-      </tr>
-    {{#unless view.showOnlyRows}}
-      </tbody>
-    </table>
-    <div class="dashboard-mini-chart span2">
-      {{#if view.service.quickLinks.length}}
-      {{#view App.QuickViewLinks contentBinding="view.service"}}
-        <div class="btn-group">
-          <a class="btn btn-mini dropdown-toggle" data-toggle="dropdown" href="#">
-            {{t common.quickLinks}}
-            <span class="caret"></span>
-          </a>
-          <ul class="dropdown-menu">
-            {{#each view.quickLinks}}
-              <li><a {{bindAttr href="url"}} target="_blank">{{label}}</a></li>
-            {{/each}}
-          </ul>
-        </div>
-      {{/view}}
-      {{/if}}
-    </div>
-</div>
-</div>
-{{/unless}}

+ 6 - 6
ambari-web/app/templates/main/service/info/summary.hbs

@@ -30,19 +30,19 @@
               {{view view.sumMasterComponentView}}
             {{/if}}
             {{#if view.serviceStatus.hdfs}}
-              {{view App.MainDashboardServiceHdfsView showOnlyRows=true serviceBinding="view.service"}}
+              {{view App.MainDashboardServiceHdfsView serviceBinding="view.service"}}
             {{/if}}
             {{#if view.serviceStatus.mapreduce}}
-              {{view App.MainDashboardServiceMapreduceView showOnlyRows=true serviceBinding="view.service"}}
+              {{view App.MainDashboardServiceMapreduceView serviceBinding="view.service"}}
             {{/if}}
             {{#if view.serviceStatus.yarn}}
-              {{view App.MainDashboardServiceYARNView showOnlyRows=true serviceBinding="view.service"}}
+              {{view App.MainDashboardServiceYARNView serviceBinding="view.service"}}
             {{/if}}
             {{#if view.serviceStatus.mapreduce2}}
               {{template "templates/main/service/info/summary/mapreduce2"}}
             {{/if}}
             {{#if view.serviceStatus.hbase}}
-              {{view App.MainDashboardServiceHbaseView showOnlyRows=true serviceBinding="view.service"}}
+              {{view App.MainDashboardServiceHbaseView serviceBinding="view.service"}}
             {{/if}}
             {{#if view.serviceStatus.zookeeper}}
               {{template "templates/main/service/info/summary/zookeeper"}}
@@ -60,13 +60,13 @@
               {{template "templates/main/service/info/summary/hue"}}
             {{/if}}
             {{#if view.serviceStatus.flume}}
-              {{view App.MainDashboardServiceFlumeView showOnlyRows=true serviceBinding="view.service"}}
+              {{view App.MainDashboardServiceFlumeView serviceBinding="view.service"}}
             {{/if}}
             {{#if view.serviceStatus.falcon}}
               {{template "templates/main/service/info/summary/falcon"}}
             {{/if}}
             {{#if view.serviceStatus.storm}}
-              {{view App.MainDashboardServiceStormView showOnlyRows=true serviceBinding="view.service"}}
+              {{view App.MainDashboardServiceStormView serviceBinding="view.service"}}
             {{/if}}
             {{#if view.serviceStatus.tez}}
               {{template "templates/main/service/info/summary/tez"}}

+ 67 - 0
ambari-web/app/templates/main/service/services/flume.hbs

@@ -0,0 +1,67 @@
+{{!
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+}}
+
+<!-- Flume Agents -->
+<tr>
+  <td>{{t dashboard.services.flume.agentsLabel}}</td>
+  <td>
+    <a href="#" {{action filterHosts view.flumeServerComponent}}>{{view.summaryHeader}}</a>
+  </td>
+</tr>
+<!-- Channels -->
+<tr>
+  <td>{{t dashboard.services.flume.channels}}</td>
+  <td>
+    {{view.service.channelsCount}} {{t dashboard.services.flume.channels}}
+    <ul>
+      {{#each view.service.nodes}}
+        {{#if channelsCount}}
+          <li> {{channels}} <a href="#" {{action showDetails host}}>{{host.publicHostName}}</a></li>
+        {{/if}}
+      {{/each}}
+    </ul>
+  </td>
+</tr>
+<!-- Sources -->
+<tr>
+  <td>{{t dashboard.services.flume.sources}}</td>
+  <td>
+    {{view.service.sourcesCount}} {{t dashboard.services.flume.sources}}
+    <ul>
+      {{#each view.service.nodes}}
+        {{#if sourcesCount}}
+          <li> {{sources}} <a href="#" {{action showDetails host}}>{{host.publicHostName}}</a></li>
+        {{/if}}
+      {{/each}}
+    </ul>
+  </td>
+</tr>
+<!-- Sinks -->
+<tr>
+  <td>{{t dashboard.services.flume.sinks}}</td>
+  <td>
+    {{view.service.sinksCount}} {{t dashboard.services.flume.sinks}}
+    <ul>
+      {{#each view.service.nodes}}
+        {{#if sinksCount}}
+          <li> {{sinks}} <a href="#" {{action showDetails host}}>{{host.publicHostName}}</a></li>
+        {{/if}}
+      {{/each}}
+    </ul>
+  </td>
+</tr>

+ 59 - 0
ambari-web/app/templates/main/service/services/hbase.hbs

@@ -0,0 +1,59 @@
+{{!
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+}}
+
+<!-- HBase Master Server -->
+  {{view view.dashboardMasterComponentView}}
+<!-- RegionServers -->
+<tr>
+  <td><a href="#" {{action filterHosts view.regionServerComponent}}>{{t dashboard.services.hbase.regionServers}}</a>
+  </td>
+  <td>
+    <span>
+      {{#view view.regionServersLiveTextView}}
+        {{view.liveComponents}}/{{view.totalComponents}}
+      {{/view}}
+    </span>
+      {{t services.service.summary.RegionServersLIVE}}
+  </td>
+</tr>
+<!-- Regions in Transition -->
+<tr>
+  <td>{{t dashboard.services.hbase.regions.transition}}</td>
+  <td>{{view.service.regionsInTransition}}</td>
+</tr>
+<!-- HBase Master Started Time -->
+<tr>
+  <td>{{t dashboard.services.hbase.masterStarted}}</td>
+  <td>{{view.masterStartedTime}}</td>
+</tr>
+<!-- HBase Master Activated Time -->
+<tr>
+  <td>{{t dashboard.services.hbase.masterActivated}}</td>
+  <td>{{view.masterStartedTime}}</td>
+</tr>
+<!-- Average Load -->
+<tr>
+  <td>{{t dashboard.services.hbase.averageLoad}}</td>
+  <td>{{view.averageLoad}}</td>
+</tr>
+<!-- Master Server Heap -->
+<tr>
+  <td>{{t dashboard.services.hbase.masterServerHeap}}</td>
+  <td>{{view.masterServerHeapSummary}}</td>
+</tr>
+

+ 109 - 0
ambari-web/app/templates/main/service/services/hdfs.hbs

@@ -0,0 +1,109 @@
+{{!
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+}}
+
+{{view view.dashboardMasterComponentView}}
+<!-- Data Nodes -->
+<tr>
+  <td><a href="#" {{action filterHosts view.dataNodeComponent}}>{{t dashboard.services.hdfs.datanodes}}</a></td>
+  <td>
+    <span>
+      {{#view view.dataNodesLiveTextView}}
+        {{view.liveComponents}}/{{view.totalComponents}}
+      {{/view}}
+    </span>
+      {{t services.service.summary.DataNodesLive}}
+  </td>
+</tr>
+<!-- JournalNodes -->
+{{#if view.showJournalNodes}}
+  <tr>
+    <td><a href="#" {{action filterHosts view.journalNodeComponent}}>{{t dashboard.services.hdfs.journalnodes}}</a>
+    </td>
+    <td>
+      <span>
+        {{#view view.journalNodesLiveTextView}}
+          {{view.liveComponents}}/{{view.totalComponents}}
+        {{/view}}
+      </span>
+        {{t services.service.summary.JournalNodesLive}}
+    </td>
+  </tr>
+{{/if}}
+<!-- NameNode Uptime -->
+<tr>
+  <td>{{t dashboard.services.hdfs.nodes.uptime}}</td>
+  <td>{{view.nodeUptime}}</td>
+</tr>
+<!-- NameNode Heap -->
+<tr>
+  <td>{{t dashboard.services.hdfs.nodes.heap}}</td>
+  <td>{{view.nodeHeap}}</td>
+</tr>
+<!-- Data Node Counts -->
+<tr>
+  <td>{{t dashboard.services.hdfs.datanodecounts}}</td>
+  <td>
+    {{view.dataNodesLive.length}} {{t dashboard.services.hdfs.nodes.live}} /
+    {{view.dataNodesDead.length}} {{t dashboard.services.hdfs.nodes.dead}} /
+    {{view.service.decommissionDataNodes.length}} {{t dashboard.services.hdfs.nodes.decom}}
+  </td>
+</tr>
+<!-- HDFS Capacity (Disk Usage)-->
+<tr>
+  <td>{{t dashboard.services.hdfs.capacity.dfsUsed}}</td>
+  <td>{{view.dfsUsedDisk}}</td>
+</tr>
+<tr>
+  <td>{{t dashboard.services.hdfs.capacity.nonDfsUsed}}</td>
+  <td>{{view.nonDfsUsedDisk}}</td>
+</tr>
+<tr>
+  <td>{{t dashboard.services.hdfs.capacity.remaining}}</td>
+  <td>{{view.remainingDisk}}</td>
+</tr>
+<!-- Blocks Total -->
+<tr>
+  <td>{{t services.service.summary.blocksTotal}}</td>
+  <td>{{view.dfsTotalBlocks}}</td>
+</tr>
+<!-- Block Errors -->
+<tr>
+  <td>{{t services.service.summary.blockErrors}}</td>
+  <td>
+    {{view.blockErrorsMessage}}
+  </td>
+</tr>
+<!-- Total Files And Directories -->
+<tr>
+  <td>{{t dashboard.services.hdfs.totalFilesAndDirs}}</td>
+  <td>{{view.dfsTotalFiles}}</td>
+</tr>
+<!-- Upgrade Status -->
+<tr>
+  <td>{{t services.service.summary.pendingUpgradeStatus}}</td>
+  <td>
+    {{view.upgradeStatus}}
+  </td>
+</tr>
+<!-- Safe Mode Status -->
+<tr>
+  <td>{{t services.service.summary.safeModeStatus}}</td>
+  <td>
+    {{view.safeModeStatus}}
+  </td>
+</tr>

+ 0 - 0
ambari-web/app/templates/main/dashboard/service/hive.hbs → ambari-web/app/templates/main/service/services/hive.hbs


+ 81 - 0
ambari-web/app/templates/main/service/services/mapreduce.hbs

@@ -0,0 +1,81 @@
+{{!
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+}}
+
+{{view view.dashboardMasterComponentView}}
+
+<!-- TaskTrackers -->
+<tr>
+  <td><a href="#" {{action filterHosts view.taskTrackerComponent}}>{{t dashboard.services.mapreduce.taskTrackers}}</a>
+  </td>
+  <td>
+    <span>
+      {{#view view.trackersLiveTextView}}
+        {{view.liveComponents}}/{{view.totalComponents}}
+      {{/view}}
+    </span> {{t services.service.summary.TrackersLive}}
+  </td>
+</tr>
+<!-- Job Tracker Uptime -->
+<tr>
+  <td>{{t dashboard.services.mapreduce.jobTrackerUptime}}</td>
+  <td>{{view.jobTrackerUptime}}</td>
+</tr>
+<!-- TaskTracker Counts -->
+<tr>
+  <td>{{t dashboard.services.mapreduce.taskTrackerCounts}}</td>
+  <td>
+    {{view.service.grayListTrackers.length}} {{t dashboard.services.mapreduce.nodes.blacklist}} /
+    {{view.service.blackListTrackers.length}} {{t dashboard.services.mapreduce.nodes.graylist}} /
+    {{view.service.trackersDecommissioned}} {{t dashboard.services.hdfs.nodes.decom}}
+  </td>
+</tr>
+<!-- JobTracker Heap -->
+<tr>
+  <td>{{t dashboard.services.mapreduce.jobTrackerHeap}}</td>
+  <td>{{view.trackersHeapSummary}}</td>
+</tr>
+<!-- Total slots capacity -->
+<tr>
+  <td>{{t dashboard.services.mapreduce.slotCapacity}}</td>
+  <td>{{view.slotsCapacitySummary}}</td>
+</tr>
+<!-- Jobs -->
+<tr>
+  <td>{{t dashboard.services.mapreduce.jobs}}</td>
+  <td>{{view.jobsSummary}}</td>
+</tr>
+<!-- Map Slots -->
+<tr>
+  <td>{{t dashboard.services.mapreduce.mapSlots}}</td>
+  <td>{{view.mapSlotsSummary}}</td>
+</tr>
+<!-- Reduce Slots -->
+<tr>
+  <td>{{t dashboard.services.mapreduce.reduceSlots}}</td>
+  <td>{{view.reduceSlotsSummary}}</td>
+</tr>
+<!-- Tasks:Maps -->
+<tr>
+  <td>{{t dashboard.services.mapreduce.tasks.maps}}</td>
+  <td>{{view.mapTasksSummary}}</td>
+</tr>
+<!-- Tasks:Reduces -->
+<tr>
+  <td>{{t dashboard.services.mapreduce.tasks.reduces}}</td>
+  <td>{{view.reduceTasksSummary}}</td>
+</tr>

+ 0 - 0
ambari-web/app/templates/main/dashboard/service/mapreduce2.hbs → ambari-web/app/templates/main/service/services/mapreduce2.hbs


+ 0 - 0
ambari-web/app/templates/main/dashboard/service/oozie.hbs → ambari-web/app/templates/main/service/services/oozie.hbs


+ 0 - 0
ambari-web/app/templates/main/dashboard/service/storm.hbs → ambari-web/app/templates/main/service/services/storm.hbs


+ 77 - 0
ambari-web/app/templates/main/service/services/yarn.hbs

@@ -0,0 +1,77 @@
+{{!
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+}}
+{{view view.dashboardMasterComponentView}}
+
+<!-- NodeManagers -->
+<tr>
+  <td><a href="#" {{action filterHosts view.nodeManagerComponent}}>{{t dashboard.services.yarn.nodeManagers}}</a></td>
+  <td>
+    <span>
+      {{#view view.nodeManagersLiveTextView}}
+        {{view.liveComponents}}/{{view.totalComponents}}
+      {{/view}}
+    </span>{{t services.service.summary.nodeManagersLive}}
+  </td>
+</tr>
+<!-- YARN Clients -->
+<tr>
+  <td class="summary-label"><a {{action filterHosts view.yarnClientComponent}}
+      href="javascript:void(null)">{{pluralize view.service.yarnClientNodes.length singular="t:dashboard.services.yarn.client" plural="t:dashboard.services.yarn.clients"}}</a>
+  </td>
+  <td>
+    <span class="green-live">{{view.service.yarnClientNodes.length}} </span>
+    {{pluralize view.service.yarnClientNodes.length singular="t:dashboard.services.yarn.client" plural="t:dashboard.services.yarn.clients"}} {{t common.installed}}
+  </td>
+</tr>
+<!-- ResourceManager Uptime -->
+<tr>
+  <td>{{t dashboard.services.yarn.resourceManager.uptime}}</td>
+  <td>{{view.nodeUptime}}</td>
+</tr>
+<!-- ResourceManager Heap -->
+<tr>
+  <td>{{t dashboard.services.resourceManager.nodes.heap}}</td>
+  <td>{{view.nodeHeap}}</td>
+</tr>
+<!-- NodeManagers status -->
+<tr>
+  <td>{{t dashboard.services.yarn.nodeManagers.status}}</td>
+  <td>{{view.nodeManagersStatus}}</td>
+</tr>
+<!-- Containers -->
+<tr>
+  <td>{{t dashboard.services.yarn.containers}}</td>
+  <td>{{view.containers}}</td>
+</tr>
+<!-- Applications -->
+<tr>
+  <td>{{t dashboard.services.yarn.apps}}</td>
+  <td>{{view.apps}}</td>
+</tr>
+<!-- Memory -->
+<tr>
+  <td>{{t dashboard.services.yarn.memory}}</td>
+  <td>{{view.memory}}</td>
+</tr>
+<!-- Queues -->
+<tr>
+  <td>{{t dashboard.services.yarn.queues}}</td>
+  <td><span rel="queue-tooltip"
+            class="text-tooltip" {{bindAttr data-original-title="view.service.queueFormatted" }}>{{view.queues}}</span>
+  </td>
+</tr>

+ 0 - 0
ambari-web/app/templates/main/dashboard/service/zookeeper.hbs → ambari-web/app/templates/main/service/services/zookeeper.hbs


+ 11 - 12
ambari-web/app/views.js

@@ -101,18 +101,6 @@ require('views/main/admin/security/add/step3');
 require('views/main/admin/security/add/step4');
 
 require('views/main/dashboard');
-require('views/main/dashboard/service');
-require('views/main/dashboard/service/hdfs');
-require('views/main/dashboard/service/yarn');
-require('views/main/dashboard/service/mapreduce');
-require('views/main/dashboard/service/mapreduce2');
-require('views/main/dashboard/service/hbase');
-require('views/main/dashboard/service/hive');
-require('views/main/dashboard/service/zookeeper');
-require('views/main/dashboard/service/oozie');
-require('views/main/dashboard/service/flume');
-require('views/main/dashboard/service/storm');
-
 require('views/main/dashboard/cluster_metrics/cpu');
 require('views/main/dashboard/cluster_metrics/load');
 require('views/main/dashboard/cluster_metrics/memory');
@@ -155,6 +143,17 @@ require('views/main/dashboard/widgets/supervisor_live');
 
 
 require('views/main/service');
+require('views/main/service/service');
+require('views/main/service/services/hdfs');
+require('views/main/service/services/yarn');
+require('views/main/service/services/mapreduce');
+require('views/main/service/services/mapreduce2');
+require('views/main/service/services/hbase');
+require('views/main/service/services/hive');
+require('views/main/service/services/zookeeper');
+require('views/main/service/services/oozie');
+require('views/main/service/services/flume');
+require('views/main/service/services/storm');
 require('views/main/service/all_services_actions');
 require('views/main/service/menu');
 require('views/main/service/item');

+ 0 - 115
ambari-web/app/views/main/dashboard.js

@@ -26,7 +26,6 @@ App.MainDashboardView = Em.View.extend(App.UserPref, App.LocalStorage, {
   templateName:require('templates/main/dashboard'),
 
   didInsertElement:function () {
-    this.loadServices();
     this.setWidgetsDataModel();
     this.setInitPrefObject();
     this.setOnLoadVisibleWidgets();
@@ -45,12 +44,6 @@ App.MainDashboardView = Em.View.extend(App.UserPref, App.LocalStorage, {
    */
   isDataLoaded: false,
 
-  /**
-   * Is Classic Dashboard style used
-   * @type {bool}
-   */
-  isClassicDashboard: false,
-
   /**
    * Make widgets' list sortable on New Dashboard style
    */
@@ -518,114 +511,6 @@ App.MainDashboardView = Em.View.extend(App.UserPref, App.LocalStorage, {
     });
   },
 
-  /**
-   * Use Classic Dashboard style
-   */
-  switchToClassic: function () {
-    this.switchTo('classic');
-  },
-
-  /**
-   * Use New Dashboard style
-   */
-  switchToNew: function () {
-    this.switchTo('new');
-  },
-
-  /**
-   * Switch Dashboard to New or Classic style
-   * @param {string} type
-   */
-  switchTo: function(type) {
-    var oldValue;
-    if(App.testMode) {
-      oldValue = this.get('initPrefObject');
-      oldValue.dashboardVersion = type;
-      this.translateToReal(oldValue);
-    }
-    else {
-      this.getUserPref(this.get('persistKey'));
-      oldValue = this.get('currentPrefObject') || this.getDBProperty(this.get('persistKey'));
-      oldValue.dashboardVersion = type;
-      this.postUserPref(this.get('persistKey'), oldValue);
-      this.setDBProperty(this.get('persistKey'), oldValue);
-      this.didInsertElement();
-    }
-  },
-
-  /**
-   * Update list of services in the <code>content</code>
-   */
-  updateServices: function(){
-    var services = App.Service.find();
-    services.forEach(function (item) {
-      var view;
-      switch (item.get('serviceName')) {
-        case "HDFS":
-          view = this.get('content').filterProperty('viewName', App.MainDashboardServiceHdfsView);
-          view.objectAt(0).set('model', App.HDFSService.find(item.get('id')));
-          break;
-        case "MAPREDUCE":
-          view = this.get('content').filterProperty('viewName', App.MainDashboardServiceMapreduceView);
-          view.objectAt(0).set('model', App.MapReduceService.find(item.get('id')));
-          break;
-        case "HBASE":
-          view = this.get('content').filterProperty('viewName', App.MainDashboardServiceHbaseView);
-          view.objectAt(0).set('model', App.HBaseService.find(item.get('id')));
-      }
-    }, this);
-  }.observes('App.router.updateController.isUpdate'),
-
-  /**
-   * Load Services data to <code>content</code>
-   */
-  loadServices: function () {
-    var services = App.Service.find();
-    if (this.get('content').length > 0) {
-      return;
-    }
-    services.forEach(function (item) {
-      var vName;
-      var item2;
-      switch (item.get('serviceName')) {
-        case "HDFS":
-          vName = App.MainDashboardServiceHdfsView;
-          item2 = App.HDFSService.find(item.get('id'));
-          break;
-        case "YARN":
-          vName = App.MainDashboardServiceYARNView;
-          item2 = App.YARNService.find(item.get('id'));
-          break;
-        case "MAPREDUCE":
-          vName = App.MainDashboardServiceMapreduceView;
-          item2 = App.MapReduceService.find(item.get('id'));
-          break;
-        case "MAPREDUCE2":
-          vName = App.MainDashboardServiceMapreduce2View;
-          break;
-        case "HBASE":
-          vName = App.MainDashboardServiceHbaseView;
-          item2 = App.HBaseService.find(item.get('id'));
-          break;
-        case "HIVE":
-          vName = App.MainDashboardServiceHiveView;
-          break;
-        case "ZOOKEEPER":
-          vName = App.MainDashboardServiceZookeperView;
-          break;
-        case "OOZIE":
-          vName = App.MainDashboardServiceOozieView;
-          break;
-        default:
-          vName = Em.View;
-      }
-      this.get('content').pushObject(Em.Object.create({
-        viewName: vName,
-        model: item2 || item
-      }))
-    }, this);
-  },
-
   /**
    * @type {string}
    */

+ 0 - 7
ambari-web/app/views/main/dashboard/service.js → ambari-web/app/views/main/service/service.js

@@ -34,13 +34,6 @@ App.MainDashboardServiceHealthView = Em.View.extend({
     this.set('data-original-title', this.get('service.toolTipContent'));
   }.observes('service.toolTipContent'),
 
-  /**
-   * When set to true, extending classes should
-   * show only tabular rows as they will be 
-   * embedded into other tables.
-   */
-  showOnlyRows: false,
-
   startBlink: function () {
     this.set('blink', true);
   },

+ 1 - 1
ambari-web/app/views/main/dashboard/service/flume.js → ambari-web/app/views/main/service/services/flume.js

@@ -19,7 +19,7 @@ var App = require('app');
 var date = require('utils/date');
 
 App.MainDashboardServiceFlumeView = App.MainDashboardServiceView.extend({
-  templateName: require('templates/main/dashboard/service/flume'),
+  templateName: require('templates/main/service/services/flume'),
   serviceName: 'flume',
   
   summaryHeader: function () {

+ 1 - 1
ambari-web/app/views/main/dashboard/service/hbase.js → ambari-web/app/views/main/service/services/hbase.js

@@ -20,7 +20,7 @@ var date = require('utils/date');
 var numberUtils = require('utils/number_utils');
 
 App.MainDashboardServiceHbaseView = App.MainDashboardServiceView.extend({
-  templateName: require('templates/main/dashboard/service/hbase'),
+  templateName: require('templates/main/service/services/hbase'),
   serviceName: 'hbase',
   /**
    * All master components

+ 1 - 1
ambari-web/app/views/main/dashboard/service/hdfs.js → ambari-web/app/views/main/service/services/hdfs.js

@@ -20,7 +20,7 @@ var date = require('utils/date');
 var numberUtils = require('utils/number_utils');
 
 App.MainDashboardServiceHdfsView = App.MainDashboardServiceView.extend({
-  templateName: require('templates/main/dashboard/service/hdfs'),
+  templateName: require('templates/main/service/services/hdfs'),
   serviceName: 'HDFS',
   Chart: App.ChartPieView.extend({
     service: null,

+ 1 - 1
ambari-web/app/views/main/dashboard/service/hive.js → ambari-web/app/views/main/service/services/hive.js

@@ -19,7 +19,7 @@
 var App = require('app');
 
 App.MainDashboardServiceHiveView = App.MainDashboardServiceView.extend({
-  templateName: require('templates/main/dashboard/service/hive'),
+  templateName: require('templates/main/service/services/hive'),
   serviceName: 'hive',
 
   titleMasters: function(){

+ 1 - 1
ambari-web/app/views/main/dashboard/service/mapreduce.js → ambari-web/app/views/main/service/services/mapreduce.js

@@ -20,7 +20,7 @@ var date = require('utils/date');
 var numberUtils = require('utils/number_utils');
 
 App.MainDashboardServiceMapreduceView = App.MainDashboardServiceView.extend({
-  templateName: require('templates/main/dashboard/service/mapreduce'),
+  templateName: require('templates/main/service/services/mapreduce'),
   serviceName: 'MAPREDUCE',
   jobTrackerWebUrl: function () {
     return "http://" + (App.singleNodeInstall ? App.singleNodeAlias : this.get('service').get('jobTracker').get('publicHostName')) + ":50030";

+ 1 - 1
ambari-web/app/views/main/dashboard/service/mapreduce2.js → ambari-web/app/views/main/service/services/mapreduce2.js

@@ -18,7 +18,7 @@
 var App = require('app');
 
 App.MainDashboardServiceMapreduce2View = App.MainDashboardServiceView.extend({
-    templateName: require('templates/main/dashboard/service/mapreduce2'),
+    templateName: require('templates/main/service/services/mapreduce2'),
     serviceName: 'MAPREDUCE2',
 
     titleInfo: function(){

+ 1 - 1
ambari-web/app/views/main/dashboard/service/oozie.js → ambari-web/app/views/main/service/services/oozie.js

@@ -20,7 +20,7 @@ var App = require('app');
 
 App.MainDashboardServiceOozieView = App.MainDashboardServiceView.extend({
   serviceName: 'oozie',
-  templateName: require('templates/main/dashboard/service/oozie'),
+  templateName: require('templates/main/service/services/oozie'),
 
   webUi: function () {
     var hostName = App.singleNodeInstall ? App.singleNodeAlias : this.get('service.hostComponents').findProperty('componentName', 'OOZIE_SERVER').get('host.publicHostName');

+ 1 - 1
ambari-web/app/views/main/dashboard/service/storm.js → ambari-web/app/views/main/service/services/storm.js

@@ -20,7 +20,7 @@ var App = require('app');
 var date = require('utils/date');
 
 App.MainDashboardServiceStormView = App.MainDashboardServiceView.extend({
-  templateName: require('templates/main/dashboard/service/storm'),
+  templateName: require('templates/main/service/services/storm'),
   serviceName: 'storm',
 
   superVisorComponents: function() {

+ 1 - 1
ambari-web/app/views/main/dashboard/service/yarn.js → ambari-web/app/views/main/service/services/yarn.js

@@ -20,7 +20,7 @@ var date = require('utils/date');
 var numberUtils = require('utils/number_utils');
 
 App.MainDashboardServiceYARNView = App.MainDashboardServiceView.extend({
-  templateName: require('templates/main/dashboard/service/yarn'),
+  templateName: require('templates/main/service/services/yarn'),
   serviceName: 'YARN',
 
   nodeHeap: function () {

+ 1 - 1
ambari-web/app/views/main/dashboard/service/zookeeper.js → ambari-web/app/views/main/service/services/zookeeper.js

@@ -19,7 +19,7 @@
 var App = require('app');
 
 App.MainDashboardServiceZookeperView = App.MainDashboardServiceView.extend({
-  templateName: require('templates/main/dashboard/service/zookeeper'),
+  templateName: require('templates/main/service/services/zookeeper'),
   serviceName: 'zookeeper',
 
   titleInfo: function(){