AMBARI-7030. Config History: integrate the current label for each config group.(xiwang)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/f77e9e81 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/f77e9e81 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/f77e9e81 Branch: refs/heads/branch-alerts-dev Commit: f77e9e818614582d9fbcead4fa781076388b3358 Parents: f23e09d Author: Xi Wang <[email protected]> Authored: Wed Aug 27 15:01:51 2014 -0700 Committer: Xi Wang <[email protected]> Committed: Wed Aug 27 15:05:57 2014 -0700 ---------------------------------------------------------------------- .../main/dashboard/config_history_controller.js | 28 +++----------------- .../controllers/main/service/info/configs.js | 15 ++++++----- .../mappers/service_config_version_mapper.js | 3 +-- ambari-web/app/utils/ajax/ajax.js | 2 +- .../views/common/configs/config_history_flow.js | 13 ++++++--- 5 files changed, 24 insertions(+), 37 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f77e9e81/ambari-web/app/controllers/main/dashboard/config_history_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/dashboard/config_history_controller.js b/ambari-web/app/controllers/main/dashboard/config_history_controller.js index d8a4722..a747017 100644 --- a/ambari-web/app/controllers/main/dashboard/config_history_controller.js +++ b/ambari-web/app/controllers/main/dashboard/config_history_controller.js @@ -31,7 +31,7 @@ App.MainConfigHistoryController = Em.ArrayController.extend(App.TableServerMixin filteredCount: 0, mockUrl: '/data/configurations/service_versions.json', realUrl: function () { - return App.apiPrefix + '/clusters/' + App.get('clusterName') + '/configurations/service_config_versions?<parameters>fields=service_config_version,user,group_id,group_name,createtime,service_name,service_config_version_note&minimal_response=true'; + return App.apiPrefix + '/clusters/' + App.get('clusterName') + '/configurations/service_config_versions?<parameters>fields=service_config_version,user,group_id,group_name,is_current,createtime,service_name,service_config_version_note&minimal_response=true'; }.property('App.clusterName'), /** @@ -154,13 +154,9 @@ App.MainConfigHistoryController = Em.ArrayController.extend(App.TableServerMixin */ load: function () { var dfd = $.Deferred(); - var self = this; - this.updateTotalCounter(); - this.loadCurrentVersions().complete(function () { - self.loadConfigVersionsToModel().done(function () { - dfd.resolve(); - }); + this.loadConfigVersionsToModel().done(function () { + dfd.resolve(); }); return dfd.promise(); }, @@ -181,24 +177,6 @@ App.MainConfigHistoryController = Em.ArrayController.extend(App.TableServerMixin return dfd.promise(); }, - loadCurrentVersions: function () { - return App.ajax.send({ - name: 'service.serviceConfigVersions.get.current', - sender: this, - data: {}, - success: 'loadCurrentVersionsSuccess' - }) - }, - - loadCurrentVersionsSuccess: function (data, opt, params) { - var currentConfigVersions = {}; - - for (var service in data.Clusters.desired_service_config_versions) { - currentConfigVersions[service + '_' + data.Clusters.desired_service_config_versions[service][0].service_config_version] = true; - } - App.cache['currentConfigVersions'] = currentConfigVersions; - }, - updateTotalCounter: function () { return App.ajax.send({ name: 'service.serviceConfigVersions.get.total', http://git-wip-us.apache.org/repos/asf/ambari/blob/f77e9e81/ambari-web/app/controllers/main/service/info/configs.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/service/info/configs.js b/ambari-web/app/controllers/main/service/info/configs.js index ab7afeb..78c9b53 100644 --- a/ambari-web/app/controllers/main/service/info/configs.js +++ b/ambari-web/app/controllers/main/service/info/configs.js @@ -288,21 +288,24 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM /** * load current service config version number - * set currentVersion + * set currentVersion (current version for default group) * @param data * @param opt * @param params */ loadCurrentVersionsSuccess: function (data, opt, params) { - var currentConfigVersions = {}; var self = this; for (var service in data.Clusters.desired_service_config_versions) { - currentConfigVersions[service + '_' + data.Clusters.desired_service_config_versions[service][0].service_config_version] = true; if (self.get('content.serviceName') == service) { - self.set('currentVersion', data.Clusters.desired_service_config_versions[service][0].service_config_version); + //current version of default config group + data.Clusters.desired_service_config_versions[service].forEach (function(version) { + if (version.group_id == null) { + self.set('currentVersion', version.service_config_version); + } + }); } } - App.cache['currentConfigVersions'] = currentConfigVersions; + }, /** @@ -324,7 +327,7 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM success: 'loadSelectedVersionSuccess' }).complete(function () { self.loadServiceTagsAndGroups(); - }); + }); }, /** http://git-wip-us.apache.org/repos/asf/ambari/blob/f77e9e81/ambari-web/app/mappers/service_config_version_mapper.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/mappers/service_config_version_mapper.js b/ambari-web/app/mappers/service_config_version_mapper.js index f3cca6c..11a1d25 100644 --- a/ambari-web/app/mappers/service_config_version_mapper.js +++ b/ambari-web/app/mappers/service_config_version_mapper.js @@ -35,12 +35,11 @@ App.serviceConfigVersionsMapper = App.QuickDataMapper.create({ map: function (json) { var result = []; var itemIds = {}; - var currentConfigVersions = App.cache['currentConfigVersions']; + if (json && json.items) { json.items.forEach(function (item, index) { var parsedItem = this.parseIt(item, this.get('config')); parsedItem.id = parsedItem.service_name + '_' + parsedItem.version; - parsedItem.is_current = !!currentConfigVersions[parsedItem.id]; parsedItem.is_requested = true; itemIds[parsedItem.id] = true; parsedItem.index = index; http://git-wip-us.apache.org/repos/asf/ambari/blob/f77e9e81/ambari-web/app/utils/ajax/ajax.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/utils/ajax/ajax.js b/ambari-web/app/utils/ajax/ajax.js index 7d0c23c..fa7dc72 100644 --- a/ambari-web/app/utils/ajax/ajax.js +++ b/ambari-web/app/utils/ajax/ajax.js @@ -1894,7 +1894,7 @@ var urls = { } }, 'service.serviceConfigVersions.get': { - real: '/clusters/{clusterName}/configurations/service_config_versions?service_name={serviceName}&fields=service_config_version,user,group_id,group_name,createtime,service_name,service_config_version_note&minimal_response=true', + real: '/clusters/{clusterName}/configurations/service_config_versions?service_name={serviceName}&fields=service_config_version,user,group_id,group_name,is_current,createtime,service_name,service_config_version_note&minimal_response=true', mock: '/data/configurations/service_versions.json' }, 'service.serviceConfigVersions.get.current': { http://git-wip-us.apache.org/repos/asf/ambari/blob/f77e9e81/ambari-web/app/views/common/configs/config_history_flow.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/common/configs/config_history_flow.js b/ambari-web/app/views/common/configs/config_history_flow.js index 280c674..8c81f42 100644 --- a/ambari-web/app/views/common/configs/config_history_flow.js +++ b/ambari-web/app/views/common/configs/config_history_flow.js @@ -141,8 +141,15 @@ App.ConfigHistoryFlowView = Em.View.extend({ var startIndex = 0; serviceVersions.setEach('isDisplayed', false); - if (serviceVersions.findProperty('isCurrent')) { - serviceVersions.findProperty('isCurrent').set('isDisplayed', true); + //set the correct version to display + var allCurrent = serviceVersions.filterProperty('isCurrent'); + if (this.get('isDefaultConfigGroupSelected')) { + // display current in default group + allCurrent.findProperty('groupName', null).set('isDisplayed', true); + }else { + // display current in selected group + var current = allCurrent.findProperty('groupName', this.get('selectedConfigGroupName')); + current ? current.set('isDisplayed', true) : allCurrent.findProperty('groupName', null).set('isDisplayed', true); } if (serviceVersions.length > 0) { @@ -152,7 +159,7 @@ App.ConfigHistoryFlowView = Em.View.extend({ this.set('startIndex', startIndex); this.adjustFlowView(); } - this.keepInfoBarAtTop() + this.keepInfoBarAtTop(); }, /**
