You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by xi...@apache.org on 2013/10/31 00:56:16 UTC
git commit: AMBARI-3054. User Preference to show 'Background
Operations'. (xiwang)
Updated Branches:
refs/heads/trunk 0dba52dfc -> 68f77e653
AMBARI-3054. User Preference to show 'Background Operations'. (xiwang)
Project: http://git-wip-us.apache.org/repos/asf/incubator-ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ambari/commit/68f77e65
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ambari/tree/68f77e65
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ambari/diff/68f77e65
Branch: refs/heads/trunk
Commit: 68f77e6536cb1293b58aefc32300395305795792
Parents: 0dba52d
Author: Xi Wang <xi...@apache.org>
Authored: Wed Oct 30 16:56:05 2013 -0700
Committer: Xi Wang <xi...@apache.org>
Committed: Wed Oct 30 16:56:05 2013 -0700
----------------------------------------------------------------------
ambari-web/app/controllers.js | 1 +
.../global/background_operations_controller.js | 4 ++-
ambari-web/app/controllers/main/host/details.js | 32 ++++++++++++++------
ambari-web/app/controllers/main/service.js | 4 ++-
ambari-web/app/controllers/main/service/item.js | 16 +++++++---
ambari-web/app/messages.js | 4 +++
ambari-web/app/routes/main.js | 8 ++++-
ambari-web/app/styles/application.less | 15 +++++++++
ambari-web/app/utils/host_progress_popup.js | 11 +++++++
ambari-web/app/views.js | 1 +
ambari-web/app/views/common/modal_popup.js | 2 ++
ambari-web/app/views/main/admin.js | 5 +++
12 files changed, 87 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/68f77e65/ambari-web/app/controllers.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers.js b/ambari-web/app/controllers.js
index 80bfac9..78a5f45 100644
--- a/ambari-web/app/controllers.js
+++ b/ambari-web/app/controllers.js
@@ -44,6 +44,7 @@ require('controllers/main/admin/rollbackHA/step2_controller');
require('controllers/main/admin/rollbackHA/step3_controller');
require('controllers/main/admin/rollbackHA/rollback_wizard_controller');
require('controllers/main/admin/cluster');
+require('controllers/main/admin/user_settings');
require('controllers/main/admin/stack_upgrade_controller');
require('controllers/main/admin/user');
require('controllers/main/admin/misc_controller');
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/68f77e65/ambari-web/app/controllers/global/background_operations_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/global/background_operations_controller.js b/ambari-web/app/controllers/global/background_operations_controller.js
index dc54cd1..f5d6623 100644
--- a/ambari-web/app/controllers/global/background_operations_controller.js
+++ b/ambari-web/app/controllers/global/background_operations_controller.js
@@ -192,7 +192,9 @@ App.BackgroundOperationsController = Em.Controller.extend({
*/
showPopup: function(){
App.updater.immediateRun('requestMostRecent');
- if(this.get('popupView') && App.HostPopup.get('isBackgroundOperations')){
+
+ if(this.get('popupView') && App.HostPopup.get('isBackgroundOperations') && App.HostPopup.get('showServices')){
+ this.set ('popupView.isNotShowBgChecked', !App.router.get('mainAdminUserSettingsController').loadShowBgChecked());
this.set('popupView.isOpen', true);
$(this.get('popupView.element')).appendTo('#wrapper');
} else {
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/68f77e65/ambari-web/app/controllers/main/host/details.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/host/details.js b/ambari-web/app/controllers/main/host/details.js
index d5bbfa5..81b95fa 100644
--- a/ambari-web/app/controllers/main/host/details.js
+++ b/ambari-web/app/controllers/main/host/details.js
@@ -239,7 +239,7 @@ App.MainHostDetailsController = Em.Controller.extend({
deleted = {xhr: xhr, url: url, method: 'DELETE'};
},
statusCode: require('data/statusCodes')
- });
+ });
return deleted;
},
@@ -278,7 +278,9 @@ App.MainHostDetailsController = Em.Controller.extend({
App.router.get('clusterController').loadUpdatedStatusDelayed(500);
}
- App.router.get('backgroundOperationsController').showPopup();
+ if (App.router.get('mainAdminUserSettingsController').loadShowBgChecked()) {
+ App.router.get('backgroundOperationsController').showPopup();
+ }
});
});
@@ -349,10 +351,14 @@ App.MainHostDetailsController = Em.Controller.extend({
component.set('workStatus', App.HostComponentStatus.stopped);
},App.testModeDelayForActions);
}
+
} else {
App.router.get('clusterController').loadUpdatedStatusDelayed(500);
}
- App.router.get('backgroundOperationsController').showPopup();
+
+ if (App.router.get('mainAdminUserSettingsController').loadShowBgChecked()) {
+ App.router.get('backgroundOperationsController').showPopup();
+ }
});
},
@@ -465,8 +471,9 @@ App.MainHostDetailsController = Em.Controller.extend({
App.router.get('clusterController').loadUpdatedStatusDelayed(500);
}
- App.router.get('backgroundOperationsController').showPopup();
-
+ if (App.router.get('mainAdminUserSettingsController').loadShowBgChecked()) {
+ App.router.get('backgroundOperationsController').showPopup();
+ }
});
});
},
@@ -520,7 +527,9 @@ App.MainHostDetailsController = Em.Controller.extend({
App.router.get('clusterController').loadUpdatedStatusDelayed(500);
}
- App.router.get('backgroundOperationsController').showPopup();
+ if (App.router.get('mainAdminUserSettingsController').loadShowBgChecked()) {
+ App.router.get('backgroundOperationsController').showPopup();
+ }
});
}
@@ -548,7 +557,9 @@ App.MainHostDetailsController = Em.Controller.extend({
}
self.doDatanodeDecommission(decommissionHostNames, true);
}
- App.router.get('backgroundOperationsController').showPopup();
+ if (App.router.get('mainAdminUserSettingsController').loadShowBgChecked()) {
+ App.router.get('backgroundOperationsController').showPopup();
+ }
});
},
@@ -650,7 +661,9 @@ App.MainHostDetailsController = Em.Controller.extend({
decommissionHostNames.splice(index, 1);
self.doDatanodeDecommission(decommissionHostNames, false);
}
- App.router.get('backgroundOperationsController').showPopup();
+ if (App.router.get('mainAdminUserSettingsController').loadShowBgChecked()) {
+ App.router.get('backgroundOperationsController').showPopup();
+ }
});
},
@@ -859,4 +872,5 @@ App.MainHostDetailsController = Em.Controller.extend({
});
}
-});
\ No newline at end of file
+});
+
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/68f77e65/ambari-web/app/controllers/main/service.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/service.js b/ambari-web/app/controllers/main/service.js
index 570409f..4bc3601 100644
--- a/ambari-web/app/controllers/main/service.js
+++ b/ambari-web/app/controllers/main/service.js
@@ -110,7 +110,9 @@ App.MainServiceController = Em.ArrayController.extend({
var requestId = data.Requests.id;
console.log('requestId is: ' + requestId);
- App.router.get('backgroundOperationsController').showPopup();
+ if (App.router.get('mainAdminUserSettingsController').loadShowBgChecked()) {
+ App.router.get('backgroundOperationsController').showPopup();
+ }
},
allServicesCallErrorCallback: function() {
console.log("ERROR");
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/68f77e65/ambari-web/app/controllers/main/service/item.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/service/item.js b/ambari-web/app/controllers/main/service/item.js
index 64fb843..5c9b7dd 100644
--- a/ambari-web/app/controllers/main/service/item.js
+++ b/ambari-web/app/controllers/main/service/item.js
@@ -76,7 +76,9 @@ App.MainServiceItemController = Em.Controller.extend({
else {
App.router.get('clusterController').loadUpdatedStatusDelayed(500);// @todo check working without param 500
}
- App.router.get('backgroundOperationsController').showPopup();
+ if (App.router.get('mainAdminUserSettingsController').loadShowBgChecked()) {
+ App.router.get('backgroundOperationsController').showPopup();
+ }
},
/**
* Confirmation popup for start/stop services
@@ -140,7 +142,9 @@ App.MainServiceItemController = Em.Controller.extend({
var self = this;
App.showConfirmationPopup(function() {
self.content.set('runRebalancer', true);
- App.router.get('backgroundOperationsController').showPopup();
+ if (App.router.get('mainAdminUserSettingsController').loadShowBgChecked()) {
+ App.router.get('backgroundOperationsController').showPopup();
+ }
});
},
@@ -152,7 +156,9 @@ App.MainServiceItemController = Em.Controller.extend({
var self = this;
App.showConfirmationPopup(function() {
self.content.set('runCompaction', true);
- App.router.get('backgroundOperationsController').showPopup();
+ if (App.router.get('mainAdminUserSettingsController').loadShowBgChecked()) {
+ App.router.get('backgroundOperationsController').showPopup();
+ }
});
},
@@ -186,7 +192,9 @@ App.MainServiceItemController = Em.Controller.extend({
runSmokeTestSuccessCallBack: function(data) {
if (data.Requests.id) {
- App.router.get('backgroundOperationsController').showPopup();
+ if (App.router.get('mainAdminUserSettingsController').loadShowBgChecked()) {
+ App.router.get('backgroundOperationsController').showPopup();
+ }
}
else {
console.warn('error during runSmokeTestSuccessCallBack');
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/68f77e65/ambari-web/app/messages.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index 8c9568e..2ae1691 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -133,6 +133,7 @@ Em.I18n.translations = {
'common.stats':'Stats',
'common.abort': 'Abort',
'common.misc': 'Misc',
+ 'common.userSettings': 'User Settings',
'common.operations': 'Operations',
'common.reinstall': 'Re-Install',
'common.errorPopup.header': 'An error has been encountered',
@@ -869,6 +870,9 @@ Em.I18n.translations = {
'admin.cluster.upgradeAvailable':'Upgrade available',
'admin.cluster.upgradeUnavailable':'Upgrade unavailable',
+ 'admin.userSettings.header': 'Customize User Settings',
+ 'admin.userSettings.showBgOperations': 'Show background operations dialog when an operation is started',
+ 'admin.userSettings.notShowBgOperations': 'Do not show this dialog again when starting a background operation',
'admin.misc.header': 'Service Users and Groups',
'admin.misc.nothingToShow': 'No user accounts to display',
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/68f77e65/ambari-web/app/routes/main.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/routes/main.js b/ambari-web/app/routes/main.js
index f0e1670..ec2dd9a 100644
--- a/ambari-web/app/routes/main.js
+++ b/ambari-web/app/routes/main.js
@@ -793,7 +793,13 @@ module.exports = Em.Route.extend({
router.get('mainAdminController').connectOutlet('mainAdminAdvanced');
}
}),
-
+ adminUserSettings: Em.Route.extend({
+ route: '/userSettings',
+ connectOutlets: function (router) {
+ router.set('mainAdminController.category', "userSettings");
+ router.get('mainAdminController').connectOutlet('mainAdminUserSettings');
+ }
+ }),
adminMisc: Em.Route.extend({
route: '/misc',
connectOutlets: function (router) {
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/68f77e65/ambari-web/app/styles/application.less
----------------------------------------------------------------------
diff --git a/ambari-web/app/styles/application.less b/ambari-web/app/styles/application.less
index 6568d9b..49c985e 100644
--- a/ambari-web/app/styles/application.less
+++ b/ambari-web/app/styles/application.less
@@ -1053,6 +1053,16 @@ a:focus {
overflow: auto;
width: 100%;
}
+ .modal-footer {
+ #footer-checkbox {
+ text-align: left;
+ padding-top: 3px;
+ margin-left: 22px;
+ .checkbox {
+ margin: 0px;
+ }
+ }
+ }
.modal-body {
@@ -3080,6 +3090,11 @@ table.graphs {
}
}
+.admin-user-settings {
+ .checkbox {
+ margin: 0px;
+ }
+}
/*End Admin*/
/*assign masters*/
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/68f77e65/ambari-web/app/utils/host_progress_popup.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/host_progress_popup.js b/ambari-web/app/utils/host_progress_popup.js
index 9b3006f..5930ed3 100644
--- a/ambari-web/app/utils/host_progress_popup.js
+++ b/ambari-web/app/utils/host_progress_popup.js
@@ -479,6 +479,17 @@ App.HostPopup = Em.Object.create({
template: Ember.Handlebars.compile('{{popupHeaderName}}')
}),
classNames: ['sixty-percent-width-modal'],
+ // for the checkbox: do not show this dialog again
+ hasFooterCheckbox: true,
+ isNotShowBgChecked : null,
+ updateNotShowBgChecked: function () {
+ var curVal = !this.get('isNotShowBgChecked');
+ var key = App.router.get('mainAdminUserSettingsController').persistKey();
+ if (!App.testMode) {
+ App.router.get('mainAdminUserSettingsController').postUserPref(key, curVal);
+ }
+ }.observes('isNotShowBgChecked'),
+
autoHeight: false,
closeModelPopup: function () {
this.set('isOpen', false);
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/68f77e65/ambari-web/app/views.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views.js b/ambari-web/app/views.js
index c7980cb..16be05b 100644
--- a/ambari-web/app/views.js
+++ b/ambari-web/app/views.js
@@ -72,6 +72,7 @@ require('views/main/admin/rollbackHA/step3_view');
require('views/main/admin/rollbackHA/rollback_wizard_view');
require('views/main/admin/cluster');
require('views/main/admin/misc_view');
+require('views/main/admin/user_settings');
require('views/main/admin/stack_upgrade');
require('views/main/admin/advanced');
require('views/main/admin/advanced/password');
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/68f77e65/ambari-web/app/views/common/modal_popup.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/modal_popup.js b/ambari-web/app/views/common/modal_popup.js
index ecb8b5e..f231965 100644
--- a/ambari-web/app/views/common/modal_popup.js
+++ b/ambari-web/app/views/common/modal_popup.js
@@ -39,6 +39,8 @@ App.ModalPopup = Ember.View.extend({
'{{#if footerClass}}{{view footerClass}}',
'{{else}}',
'<div class="modal-footer">',
+ '{{#if view.hasFooterCheckbox}} <label id="footer-checkbox" class="span8"> {{view Ember.Checkbox classNames="checkbox" checkedBinding="view.isNotShowBgChecked"}} ' +
+ '{{t admin.userSettings.notShowBgOperations}}</label> {{/if}}',
'{{#if view.secondary}}<a class="btn" {{action onSecondary target="view"}}>{{view.secondary}}</a>{{/if}}',
'{{#if view.primary}}<a {{bindAttr class="view.enablePrimary::disabled :btn :btn-success"}} {{action onPrimary target="view"}}>{{view.primary}}</a>{{/if}}',
'</div>',
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/68f77e65/ambari-web/app/views/main/admin.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/admin.js b/ambari-web/app/views/main/admin.js
index 0d6ec6c..33479a5 100644
--- a/ambari-web/app/views/main/admin.js
+++ b/ambari-web/app/views/main/admin.js
@@ -47,6 +47,11 @@ App.MainAdminView = Em.View.extend({
label: Em.I18n.t('common.cluster')
});
items.push({
+ name: 'userSettings',
+ url: 'adminUserSettings',
+ label: Em.I18n.t('common.userSettings')
+ });
+ items.push({
name: 'misc',
url: 'adminMisc',
label: Em.I18n.t('common.misc')