From 0b05f527a1c7db90633da9a8d3635c245ec2d3c5 Mon Sep 17 00:00:00 2001 From: Cindy Lu Date: Thu, 4 Aug 2016 11:56:16 -0700 Subject: [PATCH] allow hiding help-button for first ng workflow step we have merged patch that will hide the help-button on workflow steps if helpUrl is not defined https://review.openstack.org/#/c/299705/ However, it forgot to factor in the 'first' step. With this patch, you can see it used on its parent patch: Create Volume action removed the helpUrl and the helpBtn doesn't show up either. Change-Id: I7e3ee4d03b9f5f1fa924d7f233e4fa4ea4ed12a7 --- .../widgets/wizard/wizard.controller.js | 23 +++++++++++-------- .../framework/widgets/wizard/wizard.spec.js | 2 +- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/horizon/static/framework/widgets/wizard/wizard.controller.js b/horizon/static/framework/widgets/wizard/wizard.controller.js index 52553cd402..11d625e954 100644 --- a/horizon/static/framework/widgets/wizard/wizard.controller.js +++ b/horizon/static/framework/widgets/wizard/wizard.controller.js @@ -78,15 +78,8 @@ from: $scope.currentIndex, to: index }); - /** - * Toggle help icon button if a step's helpUrl is not defined - */ + toggleHelpBtn(index); /*eslint-disable angular/controller-as */ - if (angular.isUndefined(steps[index].helpUrl)) { - $scope.hideHelpBtn = true; - } else { - $scope.hideHelpBtn = false; - } $scope.currentIndex = index; $scope.openHelp = false; /*eslint-enable angular/controller-as*/ @@ -119,12 +112,24 @@ function onInitSuccess() { $scope.$broadcast(wizardEvents.ON_INIT_SUCCESS); + if (steps.length > 0) { + toggleHelpBtn(0); + } } function onInitError() { $scope.$broadcast(wizardEvents.ON_INIT_ERROR); } + function toggleHelpBtn(index) { + // Toggle help icon button if a step's helpUrl is not defined + if (angular.isUndefined(steps[index].helpUrl)) { + $scope.hideHelpBtn = true; + } else { + $scope.hideHelpBtn = false; + } + } + /** * Each step in the workflow can provide an optional `checkReadiness` * method, which should return a promise. When this method is provided @@ -186,7 +191,7 @@ } }); - viewModel.ready = (stepReadyPromises.length === 0); + viewModel.ready = stepReadyPromises.length === 0; return $q.all(stepReadyPromises); } diff --git a/horizon/static/framework/widgets/wizard/wizard.spec.js b/horizon/static/framework/widgets/wizard/wizard.spec.js index 8c91e6ff09..4da0b1e5f1 100644 --- a/horizon/static/framework/widgets/wizard/wizard.spec.js +++ b/horizon/static/framework/widgets/wizard/wizard.spec.js @@ -69,7 +69,7 @@ steps: [ {}, {}, {} ] }; $scope.$apply(); - expect(angular.element(element).find('.help-toggle').hasClass('ng-hide')).toBe(false); + expect(angular.element(element).find('.help-toggle').hasClass('ng-hide')).toBe(true); $scope.workflow.steps[1] = {}; $scope.switchTo(1);