Repository: ambari Updated Branches: refs/heads/trunk c3690fecf -> a1b19ea27
AMBARI-11061. Select stacks page : Next button is disabled forever (onechiporenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a1b19ea2 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a1b19ea2 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a1b19ea2 Branch: refs/heads/trunk Commit: a1b19ea27f9d1cdf7999f1ce079efd29fd907b4a Parents: c3690fe Author: Oleg Nechiporenko <[email protected]> Authored: Tue May 12 15:09:56 2015 +0300 Committer: Oleg Nechiporenko <[email protected]> Committed: Tue May 12 15:09:56 2015 +0300 ---------------------------------------------------------------------- ambari-web/app/controllers/installer.js | 16 +++++++---- ambari-web/app/mappers/stack_mapper.js | 4 +-- ambari-web/app/views/wizard/step1_view.js | 34 ++++++++++++----------- ambari-web/test/mappers/stack_mapper_test.js | 1 + 4 files changed, 31 insertions(+), 24 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/a1b19ea2/ambari-web/app/controllers/installer.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/installer.js b/ambari-web/app/controllers/installer.js index bf11c09..92fb2f0 100644 --- a/ambari-web/app/controllers/installer.js +++ b/ambari-web/app/controllers/installer.js @@ -515,9 +515,11 @@ App.InstallerController = App.WizardController.extend({ selectedStack.get('operatingSystems').forEach(function (os) { if (os.get('isSelected')) { os.get('repositories').forEach(function (repo) { - repo.set('errorTitle', ''); - repo.set('errorContent', ''); - repo.set('validation', App.Repository.validation['INPROGRESS']); + repo.setProperties({ + errorTitle: '', + errorContent: '', + validation: App.Repository.validation['INPROGRESS'] + }); this.set('content.isCheckInProgress', true); App.ajax.send({ name: 'wizard.advanced_repositories.valid_url', @@ -575,9 +577,11 @@ App.InstallerController = App.WizardController.extend({ var os = selectedStack.get('operatingSystems').findProperty('id', params.osId); var repo = os.get('repositories').findProperty('repoId', params.repoId); if (repo) { - repo.set('validation', App.Repository.validation['INVALID']); - repo.set('errorTitle', request.status + ":" + request.statusText); - repo.set('errorContent', $.parseJSON(request.responseText) ? $.parseJSON(request.responseText).message : ""); + repo.setProperties({ + validation: App.Repository.validation['INVALID'], + errorTitle: request.status + ":" + request.statusText, + errorContent: $.parseJSON(request.responseText) ? $.parseJSON(request.responseText).message : "" + }); } } this.set('content.isCheckInProgress', false); http://git-wip-us.apache.org/repos/asf/ambari/blob/a1b19ea2/ambari-web/app/mappers/stack_mapper.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/mappers/stack_mapper.js b/ambari-web/app/mappers/stack_mapper.js index df6f8f4..eb64ef6 100644 --- a/ambari-web/app/mappers/stack_mapper.js +++ b/ambari-web/app/mappers/stack_mapper.js @@ -85,8 +85,8 @@ App.stackMapper = App.QuickDataMapper.create({ var repositoriesArray = []; ops.repositories.forEach(function(repo) { - repo.Repositories.id = repo.Repositories.os_type + "-" + repo.Repositories.repo_id; - repo.Repositories.os_id = repo.Repositories.stack_name + "-" + repo.Repositories.stack_version + "-" + repo.Repositories.os_type; + repo.Repositories.id = [repo.Repositories.stack_name, repo.Repositories.stack_version, repo.Repositories.os_type, repo.Repositories.repo_id].join('-'); + repo.Repositories.os_id = [repo.Repositories.stack_name, repo.Repositories.stack_version, repo.Repositories.os_type].join('-'); resultRepo.push(this.parseIt(repo.Repositories, this.get('configRepository'))); repositoriesArray.pushObject(repo.Repositories); }, this); http://git-wip-us.apache.org/repos/asf/ambari/blob/a1b19ea2/ambari-web/app/views/wizard/step1_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/wizard/step1_view.js b/ambari-web/app/views/wizard/step1_view.js index 60725f1..76174a0 100644 --- a/ambari-web/app/views/wizard/step1_view.js +++ b/ambari-web/app/views/wizard/step1_view.js @@ -49,10 +49,7 @@ App.WizardStep1View = Em.View.extend({ operatingSystems: function () { var selectedStack = this.get('controller.selectedStack'); - var result = []; - if (!!selectedStack) - result = selectedStack.get('operatingSystems'); - return result; + return Em.isNone(selectedStack) ? [] : selectedStack.get('operatingSystems'); }.property('controller.selectedStack'), /** @@ -65,10 +62,7 @@ App.WizardStep1View = Em.View.extend({ */ allRepositories: function () { var selectedStack = this.get('controller.selectedStack'); - var result = []; - if (!!selectedStack) - result = selectedStack.get('repositories'); - return result; + return Em.isNone(selectedStack) ? [] : selectedStack.get('repositories'); }.property('controller.selectedStack'), /** @@ -186,8 +180,10 @@ App.WizardStep1View = Em.View.extend({ operatingSystems.forEach(function (os) { if (!os.get('isSelected')) { os.get('repositories').forEach(function (repository) { - repository.set('baseUrl', repository.get('latestBaseUrl')); - repository.set('validation', App.Repository.validation['PENDING']); + repository.setProperties({ + baseUrl: repository.get('latestBaseUrl'), + validation: App.Repository.validation['PENDING'] + }); }); } else { os.get('repositories').forEach(function (repository) { @@ -206,8 +202,10 @@ App.WizardStep1View = Em.View.extend({ * @param {object} event */ undoGroupLocalRepository: function (event) { - event.context.set('baseUrl', event.context.get('latestBaseUrl')); - event.context.set('validation', App.Repository.validation['PENDING']); + event.context.setProperties({ + baseUrl: event.context.get('latestBaseUrl'), + validation: App.Repository.validation['PENDING'] + }); }, /** @@ -219,8 +217,10 @@ App.WizardStep1View = Em.View.extend({ if (!event.context.get('isSelected')) { return; } - event.context.set('baseUrl', ''); - event.context.set('validation', App.Repository.validation['PENDING']); + event.context.setProperties({ + baseUrl: '', + validation: App.Repository.validation['PENDING'] + }); }, /** @@ -232,8 +232,10 @@ App.WizardStep1View = Em.View.extend({ var repositories = this.get('allRepositories'); repositories.forEach(function (repository) { if (repository.get('lastBaseUrl') != repository.get('baseUrl')) { - repository.set('lastBaseUrl', repository.get('baseUrl')); - repository.set('validation', App.Repository.validation['PENDING']); + repository.setProperties({ + lastBaseUrl: repository.get('baseUrl'), + validation: App.Repository.validation['PENDING'] + }); } }, this); }.observes('[email protected]') http://git-wip-us.apache.org/repos/asf/ambari/blob/a1b19ea2/ambari-web/test/mappers/stack_mapper_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/mappers/stack_mapper_test.js b/ambari-web/test/mappers/stack_mapper_test.js index 0e09179..d67098c 100644 --- a/ambari-web/test/mappers/stack_mapper_test.js +++ b/ambari-web/test/mappers/stack_mapper_test.js @@ -284,6 +284,7 @@ describe('App.stackMapper', function () { it ('should map Repository data', function() { App.stackMapper.map(test_data); expect(App.Repository.find().get('length')).to.equal(8); + expect(App.Repository.find().mapProperty('id')).to.eql(["HDP-2.1-redhat5-HDP-2.1", "HDP-2.1-redhat5-HDP-UTILS-1.1.0.17", "HDP-2.1-redhat6-HDP-2.1", "HDP-2.1-redhat6-HDP-UTILS-1.1.0.17", "HDP-1.3-redhat5-HDP-1.3", "HDP-1.3-redhat5-HDP-UTILS-1.1.0.16", "HDP-1.3-redhat6-HDP-1.3", "HDP-1.3-redhat6-HDP-UTILS-1.1.0.16"]); }); }); });
