You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by nc...@apache.org on 2015/10/19 15:54:30 UTC
[44/50] [abbrv] ambari git commit: AMBARI-13465. Customize Services
opens the "Advanced" tab by default
AMBARI-13465. Customize Services opens the "Advanced" tab by default
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/823c3b98
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/823c3b98
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/823c3b98
Branch: refs/heads/branch-dev-patch-upgrade
Commit: 823c3b988dad59af5d421ae674fee5ec2c939fc8
Parents: 6d4a931
Author: Alex Antonenko <hi...@gmail.com>
Authored: Mon Oct 19 13:05:26 2015 +0300
Committer: Alex Antonenko <hi...@gmail.com>
Committed: Mon Oct 19 13:05:26 2015 +0300
----------------------------------------------------------------------
ambari-web/app/models/configs/theme/tab.js | 5 +++++
.../configs/service_config_layout_tab_view.js | 2 ++
.../views/common/configs/service_config_view.js | 19 ++++++++++++++++++-
3 files changed, 25 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/823c3b98/ambari-web/app/models/configs/theme/tab.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/configs/theme/tab.js b/ambari-web/app/models/configs/theme/tab.js
index 0940022..cb7aeae 100644
--- a/ambari-web/app/models/configs/theme/tab.js
+++ b/ambari-web/app/models/configs/theme/tab.js
@@ -31,6 +31,11 @@ App.Tab = DS.Model.extend({
isRendered: DS.attr('boolean', {defaultValue: false}),
/**
+ * Determines if all <code>configs</code> were attached to tab.
+ */
+ isConfigsPrepared: DS.attr('boolean', {defaultValue: false}),
+
+ /**
* Number of the errors in all sections in the current tab
* @type {number}
*/
http://git-wip-us.apache.org/repos/asf/ambari/blob/823c3b98/ambari-web/app/views/common/configs/service_config_layout_tab_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/configs/service_config_layout_tab_view.js b/ambari-web/app/views/common/configs/service_config_layout_tab_view.js
index f7a376d..720dd12 100644
--- a/ambari-web/app/views/common/configs/service_config_layout_tab_view.js
+++ b/ambari-web/app/views/common/configs/service_config_layout_tab_view.js
@@ -172,11 +172,13 @@ App.ServiceConfigLayoutTabView = Em.View.extend(App.ConfigOverridable, {
didInsertElement: function () {
this.set('dataIsReady', false);
+ this.set('content.isConfigsPrepared', false);
this._super();
this.prepareConfigProperties();
if (this.get('controller.isCompareMode')) {
this.get('parentView').filterEnhancedConfigs();
}
+ this.set('content.isConfigsPrepared', true);
this.set('dataIsReady', true);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/823c3b98/ambari-web/app/views/common/configs/service_config_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/configs/service_config_view.js b/ambari-web/app/views/common/configs/service_config_view.js
index 5ad5c2e..ad50998 100644
--- a/ambari-web/app/views/common/configs/service_config_view.js
+++ b/ambari-web/app/views/common/configs/service_config_view.js
@@ -31,6 +31,12 @@ App.ServiceConfigView = Em.View.extend({
filter: '',
/**
+ * Determines that active tab is set during view initialize.
+ * @type {boolean}
+ */
+ initalActiveTabIsSet: false,
+
+ /**
* Bound from parent view in the template
* @type {object[]}
*/
@@ -180,11 +186,22 @@ App.ServiceConfigView = Em.View.extend({
advancedTab.set('isRendered', false);
}
this.processTabs(tabs);
- this.pickActiveTab(tabs);
return tabs;
}.property('controller.selectedServiceNameTrigger'),
/**
+ * Set active tab when view attached and configs are linked to tabs.
+ */
+ initialActiveTabObserver: function() {
+ var tabs = this.get('tabs').filterProperty('isAdvanced', false);
+ if (tabs.everyProperty('isConfigsPrepared', true) && !this.get('initalActiveTabIsSet')) {
+ this.get('tabs').setEach('isActive', false);
+ this.pickActiveTab(this.get('tabs'));
+ this.set('tabsWereSet', true);
+ }
+ }.observes('tabs.@each.isConfigsPrepared'),
+
+ /**
* Pick the first non hidden tab and make it active when there is no active tab
* @method pickActiveTab
*/