Repository: ambari Updated Branches: refs/heads/trunk 56bcfce3d -> 3b52cbc60
AMBARI-19326. Install Wizard needs to scroll back up to top on step transitions (onechiporenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/3b52cbc6 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/3b52cbc6 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/3b52cbc6 Branch: refs/heads/trunk Commit: 3b52cbc60830ebdefd24e823c9c8ff838e1fb858 Parents: 56bcfce Author: Oleg Nechiporenko <[email protected]> Authored: Fri Dec 30 14:00:49 2016 +0200 Committer: Oleg Nechiporenko <[email protected]> Committed: Fri Dec 30 14:00:49 2016 +0200 ---------------------------------------------------------------------- ambari-web/app/routes/installer.js | 22 ++++++++++++++++++++++ ambari-web/app/utils/ember_reopen.js | 5 +++++ 2 files changed, 27 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/3b52cbc6/ambari-web/app/routes/installer.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/routes/installer.js b/ambari-web/app/routes/installer.js index b4aa799..1048e8e 100644 --- a/ambari-web/app/routes/installer.js +++ b/ambari-web/app/routes/installer.js @@ -92,10 +92,12 @@ module.exports = Em.Route.extend(App.RouterRedirections, { route: '/step0', connectOutlets: function (router) { console.time('step0 connectOutlets'); + var self = this; var controller = router.get('installerController'); controller.setCurrentStep('0'); controller.loadAllPriorSteps().done(function () { controller.connectOutlet('wizardStep0', controller.get('content')); + self.scrollTop(); console.timeEnd('step0 connectOutlets'); }); }, @@ -146,10 +148,12 @@ module.exports = Em.Route.extend(App.RouterRedirections, { route: '/step1', connectOutlets: function (router) { console.time('step1 connectOutlets'); + var self = this; var controller = router.get('installerController'); controller.setCurrentStep('1'); controller.loadAllPriorSteps().done(function () { controller.connectOutlet('wizardStep1', controller.get('content')); + self.scrollTop(); console.timeEnd('step1 connectOutlets'); }); }, @@ -178,11 +182,13 @@ module.exports = Em.Route.extend(App.RouterRedirections, { route: '/step2', connectOutlets: function (router, context) { console.time('step2 connectOutlets'); + var self = this; router.setNavigationFlow('step2'); var controller = router.get('installerController'); controller.setCurrentStep('2'); controller.loadAllPriorSteps().done(function () { + self.scrollTop(); controller.connectOutlet('wizardStep2', controller.get('content')); console.timeEnd('step2 connectOutlets'); }); @@ -206,12 +212,14 @@ module.exports = Em.Route.extend(App.RouterRedirections, { route: '/step3', connectOutlets: function (router) { console.time('step3 connectOutlets'); + var self = this; var controller = router.get('installerController'); controller.setCurrentStep('3'); controller.loadAllPriorSteps().done(function () { var wizardStep3Controller = router.get('wizardStep3Controller'); wizardStep3Controller.set('wizardController', controller); controller.connectOutlet('wizardStep3', controller.get('content')); + self.scrollTop(); console.timeEnd('step3 connectOutlets'); }); }, @@ -255,6 +263,7 @@ module.exports = Em.Route.extend(App.RouterRedirections, { route: '/step4', connectOutlets: function (router, context) { console.time('step4 connectOutlets'); + var self = this; router.setNavigationFlow('step4'); var controller = router.get('installerController'); controller.setCurrentStep('4'); @@ -262,6 +271,7 @@ module.exports = Em.Route.extend(App.RouterRedirections, { var wizardStep4Controller = router.get('wizardStep4Controller'); wizardStep4Controller.set('wizardController', controller); controller.connectOutlet('wizardStep4', App.StackService.find().filterProperty('isInstallable', true)); + self.scrollTop(); console.timeEnd('step4 connectOutlets'); }); }, @@ -294,6 +304,7 @@ module.exports = Em.Route.extend(App.RouterRedirections, { route: '/step5', connectOutlets: function (router, context) { console.time('step5 connectOutlets'); + var self = this; router.setNavigationFlow('step5'); var controller = router.get('installerController'); @@ -305,6 +316,7 @@ module.exports = Em.Route.extend(App.RouterRedirections, { controller.setCurrentStep('5'); controller.loadAllPriorSteps().done(function () { controller.connectOutlet('wizardStep5', controller.get('content')); + self.scrollTop(); console.timeEnd('step5 connectOutlets'); }); }, @@ -334,6 +346,7 @@ module.exports = Em.Route.extend(App.RouterRedirections, { route: '/step6', connectOutlets: function (router, context) { console.time('step6 connectOutlets'); + var self = this; router.setNavigationFlow('step6'); var controller = router.get('installerController'); @@ -341,6 +354,7 @@ module.exports = Em.Route.extend(App.RouterRedirections, { controller.setCurrentStep('6'); controller.loadAllPriorSteps().done(function () { controller.connectOutlet('wizardStep6', controller.get('content')); + self.scrollTop(); console.timeEnd('step6 connectOutlets'); }); }, @@ -387,12 +401,14 @@ module.exports = Em.Route.extend(App.RouterRedirections, { connectOutlets: function (router, context) { console.time('step7 connectOutlets'); + var self = this; var controller = router.get('installerController'); router.get('preInstallChecksController').loadStep(); var wizardStep7Controller = router.get('wizardStep7Controller'); controller.loadAllPriorSteps().done(function () { wizardStep7Controller.set('wizardController', controller); controller.connectOutlet('wizardStep7', controller.get('content')); + self.scrollTop(); console.timeEnd('step7 connectOutlets'); }); }, @@ -437,11 +453,13 @@ module.exports = Em.Route.extend(App.RouterRedirections, { connectOutlets: function (router, context) { console.time('step8 connectOutlets'); var controller = router.get('installerController'); + var self = this; controller.setCurrentStep('8'); controller.loadAllPriorSteps().done(function () { var wizardStep8Controller = router.get('wizardStep8Controller'); wizardStep8Controller.set('wizardController', controller); controller.connectOutlet('wizardStep8', controller.get('content')); + self.scrollTop(); console.timeEnd('step8 connectOutlets'); }); }, @@ -473,6 +491,7 @@ module.exports = Em.Route.extend(App.RouterRedirections, { route: '/step9', connectOutlets: function (router, context) { console.time('step9 connectOutlets'); + var self = this; var controller = router.get('installerController'), wizardStep9Controller = router.get('wizardStep9Controller'); controller.loadAllPriorSteps().done(function () { @@ -483,6 +502,7 @@ module.exports = Em.Route.extend(App.RouterRedirections, { } wizardStep9Controller.set('wizardController', controller); controller.connectOutlet('wizardStep9', controller.get('content')); + self.scrollTop(); console.timeEnd('step9 connectOutlets'); }); }); @@ -534,6 +554,7 @@ module.exports = Em.Route.extend(App.RouterRedirections, { step10: Em.Route.extend({ route: '/step10', connectOutlets: function (router, context) { + var self = this; var controller = router.get('installerController'); controller.loadAllPriorSteps().done(function () { if (!App.get('testMode')) { @@ -541,6 +562,7 @@ module.exports = Em.Route.extend(App.RouterRedirections, { controller.setLowerStepsDisable(10); } controller.connectOutlet('wizardStep10', controller.get('content')); + self.scrollTop(); }); }, back: Em.Router.transitionTo('step9'), http://git-wip-us.apache.org/repos/asf/ambari/blob/3b52cbc6/ambari-web/app/utils/ember_reopen.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/utils/ember_reopen.js b/ambari-web/app/utils/ember_reopen.js index 4fd7cd4..ef996fc 100644 --- a/ambari-web/app/utils/ember_reopen.js +++ b/ambari-web/app/utils/ember_reopen.js @@ -302,7 +302,12 @@ Ember.Route.reopen({ var controller = router.get(controllerName); controller.set('serializedQuery', parseQueryParams(params ? params.query : '')); return params || { query: ''}; + }, + + scrollTop() { + window.scrollTo(0, 0); } + }); Ember.Router.reopen({
