You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by yu...@apache.org on 2012/12/09 14:22:36 UTC
svn commit: r1418938 [3/3] - in
/incubator/ambari/branches/AMBARI-666/ambari-web: ./ app/
app/assets/data/apps/ app/assets/data/clusters/ app/assets/data/users/
app/controllers/ app/controllers/global/ app/controllers/main/
app/controllers/main/admin/ ...
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/admin/user/row.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/admin/user/row.hbs?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/admin/user/row.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/admin/user/row.hbs Sun Dec 9 13:22:27 2012
@@ -19,6 +19,7 @@
<tr>
<td>{{user.userName}}</td>
<td>{{view Ember.Checkbox disabledBinding="view.disableCheckBoxes" checkedBinding="user.admin"}}</td>
+ <td>{{user.type}}</td>
<td>
<a href="#" {{action gotoEditUser user on="click"}}>{{t admin.users.edit}}</a>
<a href="#" {{action deleteRecord user target="App.router.mainAdminUserController" }}>{{t admin.users.delete}}</a>
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/apps.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/apps.hbs?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/apps.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/apps.hbs Sun Dec 9 13:22:27 2012
@@ -78,16 +78,16 @@
<th>Run Date</th>
</tr>
<tr>
- <th>{{view view.starFilterView viewName="starFilterViewInstance"}}</th>
- <th>{{view view.appidFilterView}}</th>
- <th>{{view view.nameFilterView}}</th>
- <th>{{view view.typeSelectView}}</th>
- <th>{{view view.userFilterView}}<input id="user_filter" type="hidden"></th>
- <th>{{view view.jobsFilterView}}</th>
- <th>{{view view.inputFilterView}}</th>
- <th>{{view view.outputFilterView}}</th>
- <th>{{view view.durationFilterView}}</th>
- <th>{{view view.rundateSelectView}}</th>
+ <th class="notActive"><div class="view-wrapper">{{view view.starFilterView viewName="starFilterViewInstance"}}</div></th>
+ <th class="notActive"><div class="view-wrapper">{{view view.appidFilterView viewName="appidFilterViewInstance"}}</div> <a href="#" {{action "clearFilterButtonClick" target="view"}} id="view_appidFilterViewInstance" class="ui-icon ui-icon-circle-close ui-appid"></a></th>
+ <th class="notActive"><div class="view-wrapper">{{view view.nameFilterView viewName="nameFilterViewInstance"}}</div> <a href="#" {{action "clearFilterButtonClick" target="view"}} id="view_nameFilterViewInstance" class="ui-icon ui-icon-circle-close ui-name"></a></th>
+ <th class="notActive"><div class="view-wrapper">{{view view.typeSelectView viewName="typeSelectViewInstance"}}</div> <a href="#" {{action "clearFilterButtonClick" target="view"}} id="view_typeSelectViewInstance" class="ui-icon ui-icon-circle-close ui-type"></a></th>
+ <th class="notActive"><div class="view-wrapper">{{view view.userFilterView viewName="userFilterViewInstance"}}</div> <a href="#" {{action "clearFilterButtonClick" target="view"}} id="view_userFilterViewInstance" class="ui-icon ui-icon-circle-close ui-user"></a><input id="user_filter" type="hidden"></th>
+ <th class="notActive"><div class="view-wrapper">{{view view.jobsFilterView viewName="jobsFilterViewInstance"}}</div> <a href="#" {{action "clearFilterButtonClick" target="view"}} id="view_jobsFilterViewInstance" class="ui-icon ui-icon-circle-close ui-jobs"></a></th>
+ <th class="notActive"><div class="view-wrapper">{{view view.inputFilterView viewName="inputFilterViewInstance"}}</div> <a href="#" {{action "clearFilterButtonClick" target="view"}} id="view_inputFilterViewInstance" class="ui-icon ui-icon-circle-close ui-input"></a></th>
+ <th class="notActive"><div class="view-wrapper">{{view view.outputFilterView viewName="outputFilterViewInstance"}}</div> <a href="#" {{action "clearFilterButtonClick" target="view"}} id="view_outputFilterViewInstance" class="ui-icon ui-icon-circle-close ui-output"></a></th>
+ <th class="notActive"><div class="view-wrapper">{{view view.durationFilterView viewName="durationFilterViewInstance"}}</div> <a href="#" {{action "clearFilterButtonClick" target="view"}} id="view_durationFilterViewInstance" class="ui-icon ui-icon-circle-close ui-duration"></a></th>
+ <th class="notActive"><div class="view-wrapper">{{view view.rundateSelectView viewName="rundateSelectViewInstance"}}</div> <a href="#" {{action "clearFilterButtonClick" target="view"}} id="view_rundateSelectViewInstance" class="ui-icon ui-icon-circle-close ui-rundate"></a></th>
</tr>
</thead>
<tbody>
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/apps/list_row.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/apps/list_row.hbs?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/apps/list_row.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/apps/list_row.hbs Sun Dec 9 13:22:27 2012
@@ -25,4 +25,4 @@
<td>{{unbound run.inputFormatted}}</td>
<td>{{unbound run.outputFormatted}}</td>
<td>{{unbound run.duration}}</td>
-<td>{{unbound run.lastUpdateTimeFormatted}} {{#if run.isRunning}}<b class='red'>*</b>{{/if}}</td>
\ No newline at end of file
+<td>{{unbound run.lastUpdateTimeFormatted}} {{#if run.isRunning}}<b class='red'>*</b>{{/if}}</td>
\ No newline at end of file
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard.hbs?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard.hbs Sun Dec 9 13:22:27 2012
@@ -25,12 +25,9 @@
<h4>{{t dashboard.services}}</h4>
</div>
<dl class="dl-horizontal services">
- {{view App.MainDashboardServiceHdfsView controllerBinding="controller"}}
- {{view App.MainDashboardServiceMapreduceView controllerBinding="controller"}}
- {{view App.MainDashboardServiceHbaseView controllerBinding="controller"}}
- {{view App.MainDashboardServiceHiveView controllerBinding="controller"}}
- {{view App.MainDashboardServiceZookeperView controllerBinding="controller"}}
- {{view App.MainDashboardServiceOozieView controllerBinding="controller"}}
+ {{#each item in view.content}}
+ {{view item.viewName serviceBinding="item.model"}}
+ {{/each}}
</dl>
</div>
</div>
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/hbase.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/hbase.hbs?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/hbase.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/hbase.hbs Sun Dec 9 13:22:27 2012
@@ -70,7 +70,7 @@
</tr>
</tbody>
</table>
-<div class="chart">
+<div class="dashboard-mini-chart">
{{view view.Chart}}
<div class="chartLabel">{{t dashboard.services.hbase.chart.label}}</div>
{{#if view.service.quickLinks.length}}
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/hdfs.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/hdfs.hbs?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/hdfs.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/hdfs.hbs Sun Dec 9 13:22:27 2012
@@ -120,7 +120,7 @@
</tr>
</tbody>
</table>
-<div class="chart">
+<div class="dashboard-mini-chart">
{{view view.Chart}}
<div class="chartLabel">{{t dashboard.services.hdfs.chart.label}}</div>
{{#if view.service.quickLinks.length}}
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/mapreduce.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/mapreduce.hbs?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/mapreduce.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/mapreduce.hbs Sun Dec 9 13:22:27 2012
@@ -67,7 +67,8 @@
<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.blackListTrackers.length}} {{t dashboard.services.mapreduce.nodes.graylist}} /
+ {{view.service.trackersDecommisioned}} {{t dashboard.services.hdfs.nodes.decom}}
</td>
</tr>
<!-- JobTracker Heap -->
@@ -107,7 +108,7 @@
</tr>
</tbody>
</table>
-<div class="chart">
+<div class="dashboard-mini-chart">
{{view App.ChartServiceMetricsMapReduce_JobsRunningWaiting}}
{{#if view.service.quickLinks.length}}
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/host.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/host.hbs?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/host.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/host.hbs Sun Dec 9 13:22:27 2012
@@ -62,7 +62,7 @@
<th>Load Avg</th>
<th>
<div {{bindAttr class="view.btnGroupClass"}} >
- <button class="btn btn-info" {{action "clickFilterButton" target="view"}}>
+ <button class="btn btn-info single-btn-group" {{action "clickFilterButton" target="view"}}>
Components
<span class="caret"></span>
</button>
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/host/summary.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/host/summary.hbs?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/host/summary.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/host/summary.hbs Sun Dec 9 13:22:27 2012
@@ -17,7 +17,7 @@
}}
<div class="row">
- <div class="span5 host-configuration">
+ <div class="span6 host-configuration">
<div class="box">
<div class="box-header">
<h4>Summary</h4>
@@ -26,9 +26,9 @@
<dl class="dl-horizontal">
<dt>IP:</dt><dd>{{view.content.ip}}</dd>
<dt>CPU:</dt><dd>{{view.content.cpu}}</dd>
- <dt>OS:</dt><dd>type</dd>
- <dt>Disk Usage:</dt><dd>{{view.content.diskUsage}}</dd>
- <dt>Memory:</dt><dd>{{view.content.memory}}</dd>
+ <dt>OS:</dt><dd>{{view.content.osType}} ({{view.content.osArch}})</dd>
+ <dt>Disk Usage:</dt><dd>{{view.content.diskUsage}}</dd>
+ <dt>Memory:</dt><dd>{{view.content.memoryFormatted}}</dd>
<dt>Load Avg:</dt><dd>{{view.content.loadAvg}}</dd>
<dt>Agent:</dt><dd>running</dd>
</dl>
@@ -39,10 +39,17 @@
<div class="span3 host-components pull-right">
{{#each component in view.content.components}}
{{#view view.ComponentButtonView contentBinding="component"}}
- <div {{bindAttr class=":btn-group view.positionButton:pull-right:pull-left"}}>
- <button {{bindAttr class=":component-operation-button :btn :btn-success :dropdown-toggle view.disabledClass"}} data-toggle="dropdown">
+ {{#if view.isClient}}
+ <div class="btn-group pull-left">
+ <button class="btn">
+ {{unbound view.content.displayName}}
+ </button>
+ </div>
+ {{else}}
+ <div {{bindAttr class=":btn-group :pull-left"}}>
+ <button {{bindAttr class=":component-operation-button :btn :dropdown-toggle view.disabledClass"}} data-toggle="dropdown">
<span {{bindAttr class=":components-health view.indicatorClass"}}></span>
- {{unbound view.content.componentName}}
+ {{unbound view.content.displayName}}
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
@@ -70,6 +77,7 @@
</li>
</ul>
</div>
+ {{/if}}
{{/view}}
{{/each}}
</div>
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/service/menu_item.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/service/menu_item.hbs?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/service/menu_item.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/service/menu_item.hbs Sun Dec 9 13:22:27 2012
@@ -18,9 +18,9 @@
<a href="#/main/services/{{unbound view.content.id}}/summary">
{{view App.MainDashboardServiceHealthView class="service-health" serviceBinding="view.content"}} <span>{{unbound view.content.displayName}}</span>
- {{#if view.serviceOperationsCount}}
- <span class="label operations-count" {{action "showPopup" target="App.router.backgroundOperationsController"}}>
- {{view.serviceOperationsCount}}
+ {{#if view.alertsCount}}
+ <span class="label operations-count">
+ {{view.alertsCount}}
</span>
{{/if}}
</a>
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/step5.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/step5.hbs?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/step5.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/step5.hbs Sun Dec 9 13:22:27 2012
@@ -36,6 +36,7 @@
selectedHostBinding="selectedHost"
serviceNameBinding="display_name"
zIdBinding="zId"
+ disabledBinding="isInstalled"
}}
{{#if showAddControl}}
{{view App.AddControlView
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/step6.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/step6.hbs?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/step6.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/step6.hbs Sun Dec 9 13:22:27 2012
@@ -66,7 +66,7 @@
{{#each hosts}}
<tr>
{{#view App.WizardStep6HostView hostBinding = "this" }}
- {{hostname}}
+ {{hostName}}
{{#if isMaster}}
<i class=icon-asterisks>✵</i>
{{/if}}
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/utils/data_table.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/utils/data_table.js?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/utils/data_table.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/utils/data_table.js Sun Dec 9 13:22:27 2012
@@ -322,9 +322,8 @@ jQuery.extend($.fn.dataTableExt.afnFilte
break;
case '=':
if (compareValue == rowValue) match = true;
- break;
default:
- match = false;
+ if (rangeExp == rowValue) match = true;
}
}
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/utils/date.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/utils/date.js?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/utils/date.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/utils/date.js Sun Dec 9 13:22:27 2012
@@ -77,7 +77,7 @@ module.exports = {
dateUnformatInterval: function(formattedDate) {
var d = formattedDate.split(':');
for (var k in d) {
- d[k] = parseInt(d[k]);
+ d[k] = parseInt(d[k], 10);
}
return d[0]*3600+d[1]*60+d[2];
}
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/utils/db.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/utils/db.js?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/utils/db.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/utils/db.js Sun Dec 9 13:22:27 2012
@@ -50,7 +50,10 @@ App.db.cleanUp = function () {
'app': {
'loginName': '',
'authenticated': false
- }
+ },
+ 'Installer' : {},
+ 'AddHost' : {},
+ 'AddService' : {}
};
console.log("In cleanup./..");
localStorage.setObject('ambari', App.db.data);
@@ -80,7 +83,10 @@ App.db.setAmbariStacks = function (stack
localStorage.setObject('ambari', App.db.data);
};
-// that works incorrectly
+/**
+ * Set user model to db
+ * @param user
+ */
App.db.setUser = function (user) {
console.log('TRACE: Entering db:setUser function');
App.db.data = localStorage.getObject('ambari');
@@ -100,106 +106,45 @@ App.db.setAuthenticated = function (auth
console.log('Now present value of authentication is: ' + App.db.data.app.authenticated);
};
-App.db.setSection = function (section) {
- console.log('TRACE: Entering db:setSection function');
- App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- if (App.db.data[user] == undefined) {
- App.db.data[user] = {'name': user};
- }
- if (App.db.data[user].ClusterName == undefined) {
- App.db.data[user].ClusterName = {};
- }
- App.db.data[user].section = section;
- localStorage.setObject('ambari', App.db.data);
-};
-
-App.db.setInstallerCurrentStep = function (currentStep, completed) {
- console.log('TRACE: Entering db:setInstallerCurrentStep function');
- App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- if (App.db.data[user] == undefined) {
- console.log('In data[user] condition');
- App.db.data[user] = {'name': user};
- console.log('value of data[user].name: ' + App.db.data[user].name);
- }
- if (App.db.data[user].Installer == undefined) {
- App.db.data[user].Installer = {};
- console.log('');
- }
- App.db.data[user].Installer.currentStep = currentStep;
- App.db.data[user].Installer.completed = completed;
- localStorage.setObject('ambari', App.db.data);
-};
-
App.db.setClusterName = function (name) {
console.log('TRACE: Entering db:setClusterName function');
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- // all information from Installer.ClusterName will be transferred to clusters[ClusterName] when app migrates from installer to main
- if (App.db.data[user] == undefined) {
- App.db.data[user] = {'name': user};
- }
- if (App.db.data[user].clusters == undefined) {
- App.db.data[user].clusters = {};
- }
-
- if (App.db.data[user].Installer == undefined) {
- App.db.data[user].Installer = {};
- }
- App.db.data[user].Installer.ClusterName = name;
+ App.db.data.Installer.ClusterName = name;
localStorage.setObject('ambari', App.db.data);
};
App.db.setAllHostNames = function (hostNames) {
console.log('TRACE: Entering db:setAllHostNames function');
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- if (App.db.data[user] == undefined) {
- App.db.data[user] = {'name': user};
- }
- App.db.data[user].Installer.hostNames = hostNames;
+ App.db.data.Installer.hostNames = hostNames;
localStorage.setObject('ambari', App.db.data);
};
App.db.setHosts = function (hostInfo) {
console.log('TRACE: Entering db:setHosts function');
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- if (App.db.data[user] == undefined) {
- App.db.data[user] = {'name': user};
- }
- App.db.data[user].Installer.hostInfo = hostInfo;
+ App.db.data.Installer.hostInfo = hostInfo;
localStorage.setObject('ambari', App.db.data);
};
App.db.setInstallType = function (installType) {
console.log('TRACE: Entering db:setInstallType function');
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- if (App.db.data[user] == undefined) {
- App.db.data[user] = {'name': user};
- }
- App.db.data[user].Installer.installType = installType;
+ App.db.data.Installer.installType = installType;
localStorage.setObject('ambari', App.db.data);
};
App.db.setSoftRepo = function (softRepo) {
console.log('TRACE: Entering db:setSoftRepo function');
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- if (App.db.data[user] == undefined) {
- App.db.data[user] = {'name': user};
- }
- App.db.data[user].Installer.softRepo = softRepo;
+ App.db.data.Installer.softRepo = softRepo;
localStorage.setObject('ambari', App.db.data);
};
App.db.setBootStatus = function (status) {
console.log('TRACE: Entering db:setBootStatus function');
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- App.db.data[user].Installer.bootStatus = status;
+ App.db.data.Installer.bootStatus = status;
localStorage.setObject('ambari', App.db.data);
};
@@ -216,87 +161,89 @@ App.db.removeHosts = function (hostInfo)
App.db.setService = function (serviceInfo) {
console.log('TRACE: Entering db:setService function');
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- App.db.data[user].Installer.serviceInfo = serviceInfo;
+ App.db.data.Installer.serviceInfo = serviceInfo;
localStorage.setObject('ambari', App.db.data);
};
App.db.setSelectedServiceNames = function (serviceNames) {
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- App.db.data[user].Installer.selectedServiceNames = serviceNames;
+ App.db.data.Installer.selectedServiceNames = serviceNames;
localStorage.setObject('ambari', App.db.data);
};
App.db.setClientsForSelectedServices = function (clientInfo) {
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- App.db.data[user].Installer.clientInfo = clientInfo;
+ App.db.data.Installer.clientInfo = clientInfo;
localStorage.setObject('ambari', App.db.data);
};
App.db.setMasterComponentHosts = function (masterComponentHosts) {
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- App.db.data[user].Installer.masterComponentHosts = masterComponentHosts;
- localStorage.setObject('ambari', App.db.data);
-};
-
-App.db.setHostToMasterComponent = function (hostToMasterComponent) {
- App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- App.db.data[user].Installer.hostToMasterComponent = hostToMasterComponent;
+ App.db.data.Installer.masterComponentHosts = masterComponentHosts;
localStorage.setObject('ambari', App.db.data);
};
App.db.setHostSlaveComponents = function (hostSlaveComponents) {
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- App.db.data[user].Installer.hostSlaveComponents = hostSlaveComponents;
+ App.db.data.Installer.hostSlaveComponents = hostSlaveComponents;
localStorage.setObject('ambari', App.db.data);
};
App.db.setSlaveComponentHosts = function (slaveComponentHosts) {
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- App.db.data[user].Installer.slaveComponentHosts = slaveComponentHosts;
+ App.db.data.Installer.slaveComponentHosts = slaveComponentHosts;
localStorage.setObject('ambari', App.db.data);
};
App.db.setServiceConfigs = function (serviceConfigs) {
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- App.db.data[user].Installer.serviceConfigs = serviceConfigs;
+ App.db.data.Installer.serviceConfigs = serviceConfigs;
localStorage.setObject('ambari', App.db.data);
};
App.db.setAdvancedServiceConfig = function(serviceConfigs) {
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- App.db.data[user].Installer.advanceServiceConfigs = serviceConfigs;
+ App.db.data.Installer.advanceServiceConfigs = serviceConfigs;
localStorage.setObject('ambari', App.db.data);
};
App.db.setServiceConfigProperties = function (configProperties) {
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- App.db.data[user].Installer.configProperties = configProperties;
+ App.db.data.Installer.configProperties = configProperties;
localStorage.setObject('ambari', App.db.data);
};
App.db.setClusterStatus = function (status) {
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- App.db.data[user].clusterStatus = status;
+ App.db.data.Installer.clusterStatus = status;
console.log('db.setClusterStatus called: ' + JSON.stringify(status));
localStorage.setObject('ambari', App.db.data);
};
+/**
+ * Set current step value for specified Wizard Type
+ * @param wizardType
+ * @param currentStep
+ * @param completed
+ */
+App.db.setWizardCurrentStep = function (wizardType, currentStep, completed) {
+ console.log('TRACE: Entering db:setWizardCurrentStep function');
+
+ App.db.data[wizardType.capitalize()].currentStep = currentStep;
+ App.db.data[wizardType.capitalize()].completed = completed;
+
+ localStorage.setObject('ambari', App.db.data);
+};
+
+
/*
* getter methods
*/
-// that works incorrectly
+/**
+ * Get user model from db
+ * @return {*}
+ */
App.db.getUser = function () {
console.log('TRACE: Entering db:getUser function');
App.db.data = localStorage.getObject('ambari');
@@ -315,25 +262,10 @@ App.db.getAuthenticated = function () {
return App.db.data.app.authenticated;
};
-App.db.getSection = function () {
- console.log('Trace: Entering db:getSection function');
- App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName
- if (App.db.data[user] == undefined || App.db.data[user] == '') {
- return 0;
- }
- return App.db.data[user].section;
-}
-
App.db.getClusterName = function () {
console.log('Trace: Entering db:getClusterName function');
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- if (user && App.db.data[user] && App.db.data[user].Installer) {
- return App.db.data[user].Installer.ClusterName;
- } else {
- return null;
- }
+ return App.db.data.Installer.ClusterName;
};
App.db.getAmbariStacks = function () {
@@ -349,162 +281,97 @@ App.db.getAmbariStacks = function () {
*/
App.db.getWizardCurrentStep = function (wizardType) {
console.log('Trace: Entering db:getWizardCurrentStep function for ', wizardType);
- var user = this.getUser();
- if (App.db.data[user] && App.db.data[user][wizardType.capitalize()]) {
- return App.db.data[user][wizardType.capitalize()].currentStep;
+ if (App.db.data[wizardType.capitalize()]) {
+ return App.db.data[wizardType.capitalize()].currentStep;
}
return 0;
};
-/**
- * Set current step value for specified Wizard Type
- * @param wizardType
- * @param currentStep
- * @param completed
- */
-App.db.setWizardCurrentStep = function (wizardType, currentStep, completed) {
- console.log('TRACE: Entering db:setWizardCurrentStep function');
-
- var user = this.getUser();
- if (!App.db.data[user]) {
- App.db.data[user] = {name: user};
- console.log('value of data[user].name: ' + App.db.data[user].name);
- }
- App.db.data[user][wizardType.capitalize()] = {
- currentStep: currentStep,
- completed: completed
- };
- localStorage.setObject('ambari', App.db.data);
-};
-
-App.db.getInstallerCurrentStep = function () {
- console.log('Trace: Entering db:getInstallerCurrentStep function');
- App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- if (App.db.data[user] == undefined || App.db.data[user] == '') {
- return 0;
- }
- return App.db.data[user].Installer.currentStep;
-};
-
App.db.getAllHostNames = function () {
console.log('TRACE: Entering db:getHostNames function');
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- return App.db.data[user].Installer.hostNames;
+ return App.db.data.Installer.hostNames;
};
App.db.getInstallType = function () {
console.log('TRACE: Entering db:getHostNames function');
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- return App.db.data[user].Installer.installType;
+ return App.db.data.Installer.installType;
};
App.db.getSoftRepo = function () {
console.log('TRACE: Entering db:getSoftRepo function');
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- return App.db.data[user].Installer.softRepo;
+ return App.db.data.Installer.softRepo;
};
App.db.isCompleted = function () {
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- return App.db.data[user].Installer.completed;
+ return App.db.data.Installer.completed;
};
App.db.getHosts = function () {
console.log('TRACE: Entering db:getHosts function');
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- if (App.db.data[user] == undefined || App.db.data[user] == '') {
- console.log('ERROR: loginName required for storing host info');
- return 0;
- }
- return App.db.data[user].Installer.hostInfo;
+ return App.db.data.Installer.hostInfo;
};
App.db.getBootStatus = function () {
console.log('TRACE: Entering db:getBootStatus function');
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- return App.db.data[user].Installer.bootStatus;
+ return App.db.data.Installer.bootStatus;
};
App.db.getService = function () {
console.log('TRACE: Entering db:getService function');
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- return App.db.data[user].Installer.serviceInfo;
+ return App.db.data.Installer.serviceInfo;
};
App.db.getSelectedServiceNames = function () {
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- return App.db.data[user].Installer.selectedServiceNames;
+ return App.db.data.Installer.selectedServiceNames;
};
App.db.getClientsForSelectedServices = function () {
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- return App.db.data[user].Installer.clientInfo;
+ return App.db.data.Installer.clientInfo;
};
App.db.getMasterComponentHosts = function () {
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- return App.db.data[user].Installer.masterComponentHosts;
+ return App.db.data.Installer.masterComponentHosts;
};
-App.db.getHostToMasterComponent = function () {
- App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- return App.db.data[user].Installer.hostToMasterComponent;
-}
-
App.db.getHostSlaveComponents = function () {
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- return App.db.data[user].Installer.hostSlaveComponents;
+ return App.db.data.Installer.hostSlaveComponents;
};
App.db.getSlaveComponentHosts = function () {
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- if (App.db.data[user] && App.db.data[user].Installer) {
- return App.db.data[user].Installer.slaveComponentHosts;
- }
- return null;
+ return App.db.data.Installer.slaveComponentHosts;
};
App.db.getServiceConfigs = function () {
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- return App.db.data[user].Installer.serviceConfigs;
+ return App.db.data.Installer.serviceConfigs;
};
App.db.getAdvancedServiceConfig = function() {
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- return App.db.data[user].Installer.advanceServiceConfigs;
+ return App.db.data.Installer.advanceServiceConfigs;
};
App.db.getServiceConfigProperties = function () {
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- return App.db.data[user].Installer.configProperties;
+ return App.db.data.Installer.configProperties;
};
App.db.getClusterStatus = function () {
console.log('TRACE: Entering db:getClusterStatus function');
App.db.data = localStorage.getObject('ambari');
- var user = App.db.data.app.loginName;
- if (App.db.data[user] && App.db.data[user].clusterStatus) {
- return App.db.data[user].clusterStatus;
- } else {
- return null;
- }
+ return App.db.data.Installer.clusterStatus;
};
module.exports = App.db;
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/admin/menu.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/admin/menu.js?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/admin/menu.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/admin/menu.js Sun Dec 9 13:22:27 2012
@@ -23,11 +23,11 @@ App.MainAdminMenuView = Em.CollectionVie
{
route:'user',
label:'Users'
- },
+ }/*,
{
route:'authentication',
label:'Authentication'
- }/*,
+ },
{
route:'security',
label:'Security'
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/admin/user/edit.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/admin/user/edit.js?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/admin/user/edit.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/admin/user/edit.js Sun Dec 9 13:22:27 2012
@@ -25,12 +25,16 @@ App.MainAdminUserEditView = Em.View.exte
var form = this.get("userForm");
if(form.isValid()) {
var controller = this.get('controller');
- var roles="user";
- if(form.getValues().admin=="") roles="admin";
+ if(form.getValues().admin === "" || form.getValues().admin == true) {
+ form.field.roles.set('value',"admin");
+ form.field.admin.set('value',"true");
+ } else{
+ form.field.roles.set('value',"user");
+ }
controller.sendCommandToServer('/users/' + form.getValues().userName, {
Users: {
password: form.getValues().password,
- roles: roles
+ roles: form.getValues().roles
}
}, function (requestId) {
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps/item/dag_view.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps/item/dag_view.js?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps/item/dag_view.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps/item/dag_view.js Sun Dec 9 13:22:27 2012
@@ -92,6 +92,14 @@ App.MainAppsItemDagView = Em.View.extend
null
]
});
+
+ // Hard reset filter settings
+ innerTable.fnSettings().aiDisplay = innerTable.fnSettings().aiDisplayMaster.slice();
+ // Redraw table
+ innerTable.fnDraw(false);
+ innerTable.fnSettings().oFeatures.bFilter = false;
+
+ console.log(innerTable.fnSettings());
var dagSchema = this.get('controller.content.workflowContext');
var jobs = this.get('jobs');
var graph = new DagViewer(false, 'dag_viewer')
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps_view.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps_view.js?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps_view.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps_view.js Sun Dec 9 13:22:27 2012
@@ -232,7 +232,6 @@ App.MainAppsView = Em.View.extend({
this.get('oTable').fnPageChange(Math.floor(rowIndex / perPage));
}
var d = this.get('oTable').fnGetData();
- console.log(this.get('oTable').fnSettings()['aiDisplay']);
}.observes('controller.lastStarClicked'),
/**
* Flush all starred runs
@@ -254,13 +253,24 @@ App.MainAppsView = Em.View.extend({
$('#dataTable .icon-star').removeClass('stared');
$('a.icon-star.a').removeClass('active');
this.get('starFilterViewInstance').set('value', '');
- $('#dataTable tbody tr').each(function(index) {
+ /*$('#dataTable tbody tr').each(function(index) {
var td = $(this).find('td:eq(0)');
self.get('oTable').fnUpdate( td.html(), index, 0);
- });
+ });*/
+ this.updateStars();
}
}.observes('controller.staredRunsLength'),
/**
+ * Update stars data in dataTable. data taken from page
+ * Experimental. Need to be tested.
+ */
+ updateStars: function() {
+ var self = this;
+ $('#dataTable tbody tr').each(function(index) {
+ self.get('oTable').fnUpdate( $('#dataTable tbody tr:eq(' + index + ') td:eq(0)').html(), self.get('oTable').fnSettings()['aiDisplay'][index], 0);
+ });
+ },
+ /**
* Reset filters and "turn off" stars
*/
showAll: function() {
@@ -271,6 +281,7 @@ App.MainAppsView = Em.View.extend({
* Display only stared rows
*/
showStared: function() {
+ this.updateStars();
this.get('starFilterViewInstance').set('value', 'stared');
this.set('whatAvgShow', false);
$('a.icon-star.a').addClass('active');
@@ -291,7 +302,6 @@ App.MainAppsView = Em.View.extend({
$(element).addClass('selected');
}
});
- console.log(viewType);
switch(viewType) {
case 'all':
table.fnSettings().oFeatures.bFilter = false;
@@ -397,6 +407,24 @@ App.MainAppsView = Em.View.extend({
this.setFilteredRuns(this.get('oTable')._('tr', {"filter":"applied"}));
},
/**
+ * Clear selected filter
+ * @param event
+ */
+ clearFilterButtonClick: function(event) {
+ var viewName = event.target.id.replace('view_', '');
+ var elementId = this.get(viewName).get('elementId');
+ if(this.get(viewName).get('tagName') === 'input') {
+ this.get(viewName).set('value', '');
+ }
+ if(this.get(viewName).get('tagName') === 'select') {
+ this.get(viewName).set('value', 'Any');
+ this.get(viewName).change();
+ }
+ if(this.get(viewName).get('multiple')) {
+ this.get(viewName).get('clearFilter')(this.get(viewName));
+ }
+ },
+ /**
* apply each filter to dataTable
*
* @param {parentView}
@@ -427,9 +455,12 @@ App.MainAppsView = Em.View.extend({
content:['Any', 'Pig', 'Hive', 'mapReduce'],
change:function(event){
if(this.get('selection') === 'Any') {
+ this.$().closest('th').addClass('notActive');
this.get('parentView').get('oTable').fnFilter('', 3);
- } else {
- this.get('parentView').get('oTable').fnFilter(this.get('selection'), 3);
+ }
+ else {
+ this.$().closest('th').removeClass('notActive');
+ this.get('parentView').get('oTable').fnFilter(this.get('selection'), 3);
}
this.get('parentView').set('filtered',this.get('parentView').get('oTable').fnSettings().fnRecordsDisplay());
}
@@ -446,6 +477,12 @@ App.MainAppsView = Em.View.extend({
classNames:['input-medium'],
elementId: 'rundate_filter',
change:function(event) {
+ if (this.get('selection') == 'Any') {
+ this.$().closest('th').addClass('notActive');
+ }
+ else {
+ this.$().closest('th').removeClass('notActive');
+ }
this.get('parentView').get('applyFilter')(this.get('parentView'), 9);
}
}),
@@ -465,11 +502,17 @@ App.MainAppsView = Em.View.extend({
* Filter-field for AppId
*/
appidFilterView: Em.TextField.extend({
- classNames:['input-small'],
+ classNames:['input-medium'],
type:'text',
placeholder: 'Any ID',
elementId:'appid_filter',
filtering:function() {
+ if (this.get('value') == '') {
+ this.$().closest('th').addClass('notActive');
+ }
+ else {
+ this.$().closest('th').removeClass('notActive');
+ }
this.get('parentView').get('applyFilter')(this.get('parentView'), 1, this.get('value'));
}.observes('value')
}),
@@ -481,6 +524,12 @@ App.MainAppsView = Em.View.extend({
type:'text',
placeholder: 'Any Name',
filtering:function(){
+ if (this.get('value') == '') {
+ this.$().closest('th').addClass('notActive');
+ }
+ else {
+ this.$().closest('th').removeClass('notActive');
+ }
this.get('parentView').get('applyFilter')(this.get('parentView'), 2, this.get('value'));
}.observes('value')
}),
@@ -493,6 +542,12 @@ App.MainAppsView = Em.View.extend({
placeholder: 'Any ',
elementId:'jobs_filter',
filtering:function(){
+ if (this.get('value') == '') {
+ this.$().closest('th').addClass('notActive');
+ }
+ else {
+ this.$().closest('th').removeClass('notActive');
+ }
this.get('parentView').get('applyFilter')(this.get('parentView'), 5);
}.observes('value')
}),
@@ -505,6 +560,12 @@ App.MainAppsView = Em.View.extend({
placeholder: 'Any ',
elementId: 'input_filter',
filtering:function(){
+ if (this.get('value') == '') {
+ this.$().closest('th').addClass('notActive');
+ }
+ else {
+ this.$().closest('th').removeClass('notActive');
+ }
this.get('parentView').get('applyFilter')(this.get('parentView'), 6);
}.observes('value')
}),
@@ -517,7 +578,13 @@ App.MainAppsView = Em.View.extend({
placeholder: 'Any ',
elementId: 'output_filter',
filtering:function(){
- this.get('parentView').get('applyFilter')(this.get('parentView'), 7);
+ if (this.get('value') == '') {
+ this.$().closest('th').addClass('notActive');
+ }
+ else {
+ this.$().closest('th').removeClass('notActive');
+ }
+ this.get('parentView').get('applyFilter')(this.get('parentView'), 7);
}.observes('value')
}),
/**
@@ -529,6 +596,12 @@ App.MainAppsView = Em.View.extend({
placeholder: 'Any ',
elementId: 'duration_filter',
filtering:function(){
+ if (this.get('value') == '') {
+ this.$().closest('th').addClass('notActive');
+ }
+ else {
+ this.$().closest('th').removeClass('notActive');
+ }
this.get('parentView').get('applyFilter')(this.get('parentView'), 8);
}.observes('value')
}),
@@ -540,7 +613,6 @@ App.MainAppsView = Em.View.extend({
classNameBindings: ['open'],
multiple:true,
open: false,
- isApplyDisabled:true,
users:function(){
var users = [];
for(var i = 0; i < this.get('parentView').get('users').length; i++)
@@ -551,7 +623,7 @@ App.MainAppsView = Em.View.extend({
return users;
}.property('parentView.users'),
template: Ember.Handlebars.compile(
- '<button class="btn btn-info" '+
+ '<button class="btn btn-info single-btn-group"'+
'{{action "clickFilterButton" target="view"}}>'+
'User <span class="caret"></span></button>'+
'<ul class="dropdown-menu filter-components">'+
@@ -559,10 +631,13 @@ App.MainAppsView = Em.View.extend({
'{{view Ember.Checkbox checkedBinding="view.allComponentsChecked"}} All</label></li>'+
'{{#each user in view.users}}<li><label class="checkbox">' +
'{{view Ember.Checkbox checkedBinding="user.checked"}}{{user.name}}'+
- '</label></li>{{/each}}</ul>'+
- '<button {{bindAttr disabled="view.isApplyDisabled"}}'+
- 'class="btn" {{action "applyFilter" target="view"}}>'+
- 'Apply</button>'
+ '</label></li>{{/each}}'+
+ '<li>' +
+ '<button class="btn" {{action "closeFilter" target="view"}}>' +
+ 'Cancel</button>' +
+ '<button class="btn btn-primary" {{action "applyFilter" target="view"}}>'+
+ 'Apply</button>'+
+ '</li></ul>'
),
allComponentsChecked:false,
toggleAllComponents: function() {
@@ -573,23 +648,31 @@ App.MainAppsView = Em.View.extend({
}.observes('allComponentsChecked'),
clickFilterButton:function(event) {
this.set('open', !this.get('open'));
- this.set('isApplyDisabled', !this.get('isApplyDisabled'));
},
clearFilter:function(self) {
self.set('allComponentsChecked', true);
self.set('allComponentsChecked', false);
jQuery('#user_filter').val([]);
self.get('parentView').get('oTable').fnFilter('', 3);
+ jQuery('#user_filter').closest('th').addClass('notActive');
+ },
+ closeFilter: function(){
+ this.set('open', false);
},
applyFilter:function() {
var chosenUsers = new Array();
this.set('open', !this.get('open'));
- this.set('isApplyDisabled', !this.get('isApplyDisabled'));
this.get('users').forEach(function(item){
if(item.get('checked')) chosenUsers.push(item.get('name'));
});
jQuery('#user_filter').val(chosenUsers);
this.get('parentView').get('applyFilter')(this.get('parentView'), 3);
+ if (chosenUsers.length == 0) {
+ this.$().closest('th').addClass('notActive');
+ }
+ else {
+ this.$().closest('th').removeClass('notActive');
+ }
}
}),
/**
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard.js?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard.js Sun Dec 9 13:22:27 2012
@@ -19,5 +19,42 @@
var App = require('app');
App.MainDashboardView = Em.View.extend({
- templateName: require('templates/main/dashboard')
+ templateName: require('templates/main/dashboard'),
+ content : [],
+ services:function(){
+ var services = App.Service.find();
+ 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 "MAPREDUCE":
+ vName = App.MainDashboardServiceMapreduceView;
+ item2 = App.MapReduceService.find(item.get('id'));
+ break;
+ case "HBASE":
+ vName = App.MainDashboardServiceHbaseView;
+ 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({
+ viewName : vName,
+ model: item2 || item
+ })
+ }, this);
+
+ }.observes('App.router.clusterController.dataLoadList.services')
});
\ No newline at end of file
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/service.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/service.js?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/service.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/service.js Sun Dec 9 13:22:27 2012
@@ -79,23 +79,9 @@ App.MainDashboardServiceView = Em.View.e
return this.get('controller.data.' + this.get('serviceName'));
}.property('controller.data'),
- service: function () {
- var services = this.get('controller.services');
- if (services) {
- return services.findProperty('serviceName', this.get('serviceName'));
- }
- }.property('controller.services'),
-
criticalAlertsCount: function () {
- var alerts = this.get('service.alerts');
- var count = 0;
-
- if (alerts) {
- alerts.forEach(function (alert) {
- count += (alert.get('status') == App.AlertStatus.negative);
- });
- }
- return count;
+ var alerts = this.get('controller.alerts');
+ return alerts.filterProperty('serviceType', this.get('service.id')).filterProperty('status', '1').length;
}.property('service.alerts')
});
\ No newline at end of file
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/service/hdfs.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/service/hdfs.js?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/service/hdfs.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/service/hdfs.js Sun Dec 9 13:22:27 2012
@@ -34,22 +34,18 @@ App.MainDashboardServiceHdfsView = App.M
return this.t('dashboard.services.uptime').format(formatted.d, formatted.h, formatted.m);
}.property("service.nameNodeStartTime"),
- service: function(){
- return App.HDFSService.find().objectAt(0);
- }.property('App.router.clusterController.dataLoadList.services'),
-
nodeWebUrl: function(){
return "http://"+this.get('service').get('nameNode').get('hostName')+":50070";
}.property('service.nameNode'),
nodeHeap:function () {
-
- var percent = this.get('data.namenode_heap_total') > 0 ? 100 * this.get('data.namenode_heap_used') / this.get('data.namenode_heap_total') : 0;
-
+ var memUsed = this.get('service').get('jvmMemoryHeapUsed')*1000000;
+ var memCommitted = this.get('service').get('jvmMemoryHeapCommitted')*1000000;
+ var percent = memCommitted>0 ? ((100*memUsed)/memCommitted) : 0;
return this.t('dashboard.services.hdfs.nodes.heapUsed').format(
- (this.get('service').get('jvmMemoryHeapUsed')*1000000).bytesToSize(1, 'parseFloat'),
- (this.get('service').get('jvmMemoryHeapCommitted')*1000000).bytesToSize(1, 'parseFloat')
- , percent.toFixed(1));
+ memUsed.bytesToSize(1, 'parseFloat'),
+ memCommitted.bytesToSize(1, 'parseFloat'),
+ percent.toFixed(1));
}.property('service'),
@@ -74,5 +70,5 @@ App.MainDashboardServiceHdfsView = App.M
dataNodeComponent: function(){
return App.Component.find().findProperty('componentName', 'DATANODE');
- }.property('components')
+ }.property('+')
});
\ No newline at end of file
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/service/mapreduce.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/service/mapreduce.js?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/service/mapreduce.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/service/mapreduce.js Sun Dec 9 13:22:27 2012
@@ -20,11 +20,6 @@ var App = require('app');
App.MainDashboardServiceMapreduceView = App.MainDashboardServiceView.extend({
templateName: require('templates/main/dashboard/service/mapreduce'),
serviceName: 'MAPREDUCE',
-
- service: function () {
- return App.MapReduceService.find().objectAt(0);
- }.property('App.router.clusterController.dataLoadList.services'),
-
jobTrackerWebUrl: function () {
return "http://" + this.get('service').get('jobTracker').get('hostName') + ":50030";
}.property('service.nameNode'),
@@ -60,31 +55,40 @@ App.MainDashboardServiceMapreduceView =
}.property('service'),
trackersHeapSummary: function () {
- var heapUsed = this.get('service').get('jobTrackerHeapUsed');
- var heapMax = this.get('service').get('jobTrackerHeapMax');
+ var heapUsed = this.get('service').get('jobTrackerHeapUsed') || 90;
+ var heapMax = this.get('service').get('jobTrackerHeapMax') || 90;
var percent = heapMax > 0 ? 100 * heapUsed / heapMax : 0;
return this.t('dashboard.services.mapreduce.jobTrackerHeapSummary').format(heapUsed.bytesToSize(1, "parseFloat"), heapMax.bytesToSize(1, "parseFloat"), percent.toFixed(1));
}.property('service'),
jobsSummary: function () {
+ var svc = this.get('service');
var template = this.t('dashboard.services.mapreduce.jobsSummary');
- return template.format(0, 0, 0);
+ return template.format(svc.get('jobsSubmitted'), svc.get('jobsCompleted'));
}.property('service'),
mapSlotsSummary: function () {
- return this.t('dashboard.services.mapreduce.mapSlotsSummary').format(0,0);
+ var svc = this.get('service');
+ var template = this.t('dashboard.services.mapreduce.mapSlotsSummary');
+ return template.format(svc.get('mapSlotsOccupied'), svc.get('mapSlotsReserved'));
}.property('service'),
reduceSlotsSummary: function () {
- return this.t('dashboard.services.mapreduce.reduceSlotsSummary').format(0,0);
+ var svc = this.get('service');
+ var template = this.t('dashboard.services.mapreduce.reduceSlotsSummary');
+ return template.format(svc.get('reduceSlotsOccupied'), svc.get('reduceSlotsReserved'));
}.property('service'),
mapTasksSummary: function () {
- return this.t('dashboard.services.mapreduce.tasksSummary').format(0,0);
+ var svc = this.get('service');
+ var template = this.t('dashboard.services.mapreduce.tasksSummary');
+ return template.format(svc.get('mapsRunning'), svc.get('mapsWaiting'));
}.property('service'),
reduceTasksSummary: function () {
- return this.t('dashboard.services.mapreduce.tasksSummary').format(0,0);
+ var svc = this.get('service');
+ var template = this.t('dashboard.services.mapreduce.tasksSummary');
+ return template.format(svc.get('reducesRunning'), svc.get('reducesWaiting'));
}.property('service'),
slotsCapacitySummary: function () {
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/summary.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/summary.js?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/summary.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/summary.js Sun Dec 9 13:22:27 2012
@@ -82,6 +82,12 @@ App.MainHostSummaryView = Em.View.extend
*/
isDataNode: function() {
return this.get('content.componentName') === 'DataNode';
+ }.property('content'),
+ /**
+ * Shows whether we need to show health status
+ */
+ isClient: function() {
+ return this.get('content.componentName').substr(-7) === '_CLIENT';
}.property('content')
})
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/service/menu.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/service/menu.js?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/service/menu.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/service/menu.js Sun Dec 9 13:22:27 2012
@@ -53,10 +53,14 @@ App.MainServiceMenuView = Em.CollectionV
active: function(){
return this.get('content.id') == this.get('parentView.activeServiceId') ? 'active' : '';
}.property('parentView.activeServiceId'),
- serviceOperationsCount: function () {
- var operations = App.router.get('backgroundOperationsController').getOperationsFor(this.get('content.serviceName'));
- return operations.length;
- }.property('App.router.backgroundOperationsController.serviceOperationsChangeTime'),
+ alertsCount: function () {
+ var allAlerts = App.router.get('clusterController.alerts');
+ var serviceId = this.get('content.serviceName');
+ if (serviceId) {
+ return allAlerts.filterProperty('serviceType', serviceId).length;
+ }
+ return 0;
+ }.property('App.router.clusterController.alerts'),
templateName: require('templates/main/service/menu_item')
})
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/wizard/step5_view.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/wizard/step5_view.js?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/wizard/step5_view.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/wizard/step5_view.js Sun Dec 9 13:22:27 2012
@@ -43,6 +43,7 @@ App.SelectHostView = Em.Select.extend({
zId: null,
selectedHost: null,
serviceName: null,
+ attributeBindings: ['disabled'],
change: function () {
this.get('controller').assignHostToMaster(this.get("serviceName"), this.get("value"), this.get("zId"));
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/wizard/step9_view.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/wizard/step9_view.js?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/wizard/step9_view.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/wizard/step9_view.js Sun Dec 9 13:22:27 2012
@@ -27,6 +27,7 @@ App.WizardStep9View = Em.View.extend({
didInsertElement: function () {
var controller = this.get('controller');
+ this.get('controller.hosts').setEach('status', 'info');
this.onStatus();
controller.navigateStep();
},
@@ -55,7 +56,6 @@ App.WizardStep9View = Em.View.extend({
this.set('resultMsgColor', 'alert-success');
}
}.observes('controller.status')
-
});
App.HostStatusView = Em.View.extend({
@@ -77,15 +77,21 @@ App.HostStatusView = Em.View.extend({
this.set('barColor', 'progress-info');
} else if (this.get('obj.status') === 'warning') {
this.set('barColor', 'progress-warning');
- this.set('obj.message', Em.I18n.t('installer.step9.host.status.warning'));
+ if (this.get('obj.progress') === '100') {
+ this.set('obj.message', Em.I18n.t('installer.step9.host.status.warning'));
+ }
} else if (this.get('obj.status') === 'failed') {
this.set('barColor', 'progress-danger');
- this.set('obj.message', Em.I18n.t('installer.step9.host.status.failed'));
+ if (this.get('obj.progress') === '100') {
+ this.set('obj.message', Em.I18n.t('installer.step9.host.status.failed'));
+ }
} else if (this.get('obj.status') === 'success') {
this.set('barColor', 'progress-success');
- this.set('obj.message', Em.I18n.t('installer.step9.host.status.success'));
+ if (this.get('obj.progress') === '100') {
+ this.set('obj.message', Em.I18n.t('installer.step9.host.status.success'));
+ }
}
- }.observes('obj.status'),
+ }.observes('obj.status', 'obj.progress'),
isFailed: function () {
if (this.get('controller.isStepCompleted') === true && this.get('obj.status') === 'failed') {
@@ -127,7 +133,7 @@ App.HostStatusView = Em.View.extend({
return this.get('parentView.obj');
}.property('parentView.obj'),
- startedTasks: [], // initialized in didInsertElement
+ startedTasks: [], // initialized in didInsertElement
task: null, // set in showTaskLog; contains task info including stdout and stderr
@@ -175,13 +181,13 @@ App.HostStatusView = Em.View.extend({
url: url,
dataType: 'text',
timeout: 10000,
- success: function(data) {
+ success: function (data) {
var task = $.parseJSON(data);
taskInfo.set('stdout', task.Tasks.stdout);
taskInfo.set('stderr', task.Tasks.stderr);
taskInfo.set('isLogHidden', false);
},
- error: function() {
+ error: function () {
alert('Failed to retrieve task log');
}
});
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/package.json
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/package.json?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/package.json (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/package.json Sun Dec 9 13:22:27 2012
@@ -26,7 +26,6 @@
"chai":"1.2.0",
"sinon":"1.4.2",
"sinon-chai":"2.1.2",
- "express":"2.5.8",
- "jsdom":"0.2.19"
+ "express":"2.5.8"
}
}
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/pom.xml
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/pom.xml?rev=1418938&r1=1418937&r2=1418938&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/pom.xml (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/pom.xml Sun Dec 9 13:22:27 2012
@@ -69,9 +69,11 @@
</goals>
<configuration>
<target name="ambari-web-test">
+ <!--
<exec dir="${basedir}" executable="brunch" failonerror="false">
<arg value="test"/>
</exec>
+ -->
</target>
</configuration>
</execution>