Skip to content

Commit

Permalink
projectName -> currentProjectName
Browse files Browse the repository at this point in the history
  • Loading branch information
spadgett committed Sep 5, 2017
1 parent 9728869 commit b8f4b9b
Show file tree
Hide file tree
Showing 5 changed files with 67 additions and 63 deletions.
28 changes: 15 additions & 13 deletions app/scripts/directives/nav.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ angular.module('openshiftConsole')
$filter,
$timeout,
$rootScope,
$routeParams,
AuthorizationService,
Constants,
HTMLService) {
Expand All @@ -27,6 +28,7 @@ angular.module('openshiftConsole')
$scope.sidebar = {};

var updateActive = function() {
$scope.projectName = $routeParams.project;
_.set($scope, 'sidebar.secondaryOpen', false);
_.set($rootScope, 'nav.showMobileNav', false);
$scope.activeSecondary = null;
Expand Down Expand Up @@ -260,7 +262,7 @@ angular.module('openshiftConsole')
var options = [];

var updateOptions = function() {
var name = $scope.projectName;
var name = $scope.currentProjectName;
if (!name) {
return;
}
Expand Down Expand Up @@ -304,48 +306,48 @@ angular.module('openshiftConsole')
};

$scope.$on('$routeChangeSuccess', function() {
var projectName = $routeParams.project;
if ($scope.projectName === projectName) {
var currentProjectName = $routeParams.project;
if ($scope.currentProjectName === currentProjectName) {
// The project hasn't changed.
return;
}

$scope.projectName = projectName;
$scope.currentProjectName = currentProjectName;
$scope.chromeless = $routeParams.view === "chromeless";

if (projectName && !$scope.chromeless) {
if (currentProjectName && !$scope.chromeless) {
_.set($rootScope, 'view.hasProject', true);
// Check if the user can add to project after switching projects.
// Assume false until the request completes.
$scope.canIAddToProject = false;
// Make sure we have project rules before we check canIAddToProject or we get the wrong value.
AuthorizationService.getProjectRules(projectName).then(function() {
AuthorizationService.getProjectRules(currentProjectName).then(function() {
// Make sure the user hasn't switched projects while the request was still in flight.
if ($scope.projectName !== projectName) {
if ($scope.currentProjectName !== currentProjectName) {
return;
}

$scope.canIAddToProject = AuthorizationService.canIAddToProject(projectName);
$scope.canIAddToProject = AuthorizationService.canIAddToProject(currentProjectName);
});

updateProjects().then(function() {
if (!$scope.projectName || !projects) {
if (!$scope.currentProjectName || !projects) {
return;
}

if (!projects[$scope.projectName]) {
if (!projects[$scope.currentProjectName]) {
// Make sure there is an entry for the current project in the
// dropdown. If it doesn't actually exist, the controller for
// the current view is responsible for redirecting to an error
// page.
projects[$scope.projectName] = {
projects[$scope.currentProjectName] = {
metadata: {
name: $scope.projectName
name: $scope.currentProjectName
}
};
}

$scope.currentProject = projects[$scope.projectName];
$scope.currentProject = projects[$scope.currentProjectName];
updateOptions();
});
} else {
Expand Down
8 changes: 4 additions & 4 deletions app/views/directives/header/header.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<navbar-utility></navbar-utility>
</nav>

<div ng-show="projectName && !chromeless" class="project-bar">
<div ng-show="currentProjectName && !chromeless" class="project-bar">
<div class="toggle-menu">
<button type="button" class="navbar-toggle project-action-btn" ng-click="toggleNav()">
<span class="sr-only">Toggle navigation</span>
Expand All @@ -33,9 +33,9 @@
<i class="fa fa-plus visible-xs-inline-block" aria-hidden="true" title="Add to Project"></i><span class="hidden-xs">Add to Project</span><span class="hidden-xs caret" aria-hidden="true" title="Add to Project"></span>
</a>
<ul role="menu" uib-dropdown-menu class="dropdown-menu dropdown-menu-right">
<li ng-if-start="!catalogLandingPageEnabled" role="menuitem"><a ng-href="project/{{projectName}}/create?tab=fromCatalog">Browse Catalog</a></li>
<li role="menuitem"><a ng-href="project/{{projectName}}/create?tab=deployImage">Deploy Image</a></li>
<li ng-if-end role="menuitem"><a ng-href="project/{{projectName}}/create?tab=fromFile">Import YAML / JSON</a></li>
<li ng-if-start="!catalogLandingPageEnabled" role="menuitem"><a ng-href="project/{{currentProjectName}}/create?tab=fromCatalog">Browse Catalog</a></li>
<li role="menuitem"><a ng-href="project/{{currentProjectName}}/create?tab=deployImage">Deploy Image</a></li>
<li ng-if-end role="menuitem"><a ng-href="project/{{currentProjectName}}/create?tab=fromFile">Import YAML / JSON</a></li>

<li ng-if-start="catalogLandingPageEnabled" role="menuitem"><a href="/">Browse Catalog</a></li>
<li role="menuitem"><a href="" ng-click="showOrderingPanel('deployImage')">Deploy Image</a></li>
Expand Down
84 changes: 42 additions & 42 deletions dist/scripts/scripts.js
Original file line number Diff line number Diff line change
Expand Up @@ -10013,72 +10013,72 @@ apiObject: "<",
createBinding: "&"
},
templateUrl: "views/directives/resource-service-bindings.html"
}), angular.module("openshiftConsole").directive("sidebar", [ "$location", "$filter", "$timeout", "$rootScope", "AuthorizationService", "Constants", "HTMLService", function(e, t, n, a, r, o, i) {
var s = function(e, t) {
}), angular.module("openshiftConsole").directive("sidebar", [ "$location", "$filter", "$timeout", "$rootScope", "$routeParams", "AuthorizationService", "Constants", "HTMLService", function(e, t, n, a, r, o, i, s) {
var c = function(e, t) {
return e.href === t || _.some(e.prefixes, function(e) {
return _.startsWith(t, e);
});
};
return {
restrict: "E",
templateUrl: "views/_sidebar.html",
controller: [ "$scope", function(c) {
var l;
c.navItems = o.PROJECT_NAVIGATION, c.sidebar = {};
var u = function() {
_.set(c, "sidebar.secondaryOpen", !1), _.set(a, "nav.showMobileNav", !1), c.activeSecondary = null, c.activePrimary = _.find(c.navItems, function(t) {
return l = e.path().replace("/project/" + c.projectName, ""), s(t, l) ? (c.activeSecondary = null, !0) : _.some(t.secondaryNavSections, function(e) {
controller: [ "$scope", function(l) {
var u;
l.navItems = i.PROJECT_NAVIGATION, l.sidebar = {};
var d = function() {
l.projectName = r.project, _.set(l, "sidebar.secondaryOpen", !1), _.set(a, "nav.showMobileNav", !1), l.activeSecondary = null, l.activePrimary = _.find(l.navItems, function(t) {
return u = e.path().replace("/project/" + l.projectName, ""), c(t, u) ? (l.activeSecondary = null, !0) : _.some(t.secondaryNavSections, function(e) {
var t = _.find(e.items, function(e) {
return s(e, l);
return c(e, u);
});
return !!t && (c.activeSecondary = t, !0);
return !!t && (l.activeSecondary = t, !0);
});
});
};
u(), c.$on("$routeChangeSuccess", u);
var d = function() {
_.each(c.navItems, function(e) {
d(), l.$on("$routeChangeSuccess", d);
var m = function() {
_.each(l.navItems, function(e) {
e.isHover = !1;
});
};
c.navURL = function(e) {
return e ? t("isAbsoluteURL")(e) ? e : "project/" + c.projectName + e : "";
}, c.show = function(e) {
return !(e.isValid && !e.isValid()) && (!e.canI || r.canI({
l.navURL = function(e) {
return e ? t("isAbsoluteURL")(e) ? e : "project/" + l.projectName + e : "";
}, l.show = function(e) {
return !(e.isValid && !e.isValid()) && (!e.canI || o.canI({
resource: e.canI.resource,
group: e.canI.group
}, e.canI.verb, c.projectName));
}, c.itemClicked = function(e) {
if (e.href) return c.nav.showMobileNav = !1, void (c.sidebar.secondaryOpen = !1);
d(), e.isHover = !0, e.mobileSecondary = c.isMobile, c.sidebar.showMobileSecondary = c.isMobile, c.sidebar.secondaryOpen = !0;
}, c.onMouseEnter = function(e) {
}, e.canI.verb, l.projectName));
}, l.itemClicked = function(e) {
if (e.href) return l.nav.showMobileNav = !1, void (l.sidebar.secondaryOpen = !1);
m(), e.isHover = !0, e.mobileSecondary = l.isMobile, l.sidebar.showMobileSecondary = l.isMobile, l.sidebar.secondaryOpen = !0;
}, l.onMouseEnter = function(e) {
_.isEmpty(e.secondaryNavSections) || (e.mouseLeaveTimeout && (n.cancel(e.mouseLeaveTimeout), e.mouseLeaveTimeout = null), e.mouseEnterTimeout = n(function() {
e.isHover = !0, e.mouseEnterTimeout = null, c.sidebar.secondaryOpen = !0;
e.isHover = !0, e.mouseEnterTimeout = null, l.sidebar.secondaryOpen = !0;
}, 300));
}, c.onMouseLeave = function(e) {
}, l.onMouseLeave = function(e) {
_.isEmpty(e.secondaryNavSections) || (e.mouseEnterTimeout && (n.cancel(e.mouseEnterTimeout), e.mouseEnterTimeout = null), e.mouseLeaveTimeout = n(function() {
e.isHover = !1, e.mouseLeaveTimeout = null, c.sidebar.secondaryOpen = _.some(c.navItems, function(e) {
e.isHover = !1, e.mouseLeaveTimeout = null, l.sidebar.secondaryOpen = _.some(l.navItems, function(e) {
return e.isHover && !_.isEmpty(e.secondaryNavSections);
});
}, 500));
}, c.closeNav = function() {
d(), c.nav.showMobileNav = !1, c.sidebar.secondaryOpen = !1;
}, c.collapseMobileSecondary = function(e, t) {
}, l.closeNav = function() {
m(), l.nav.showMobileNav = !1, l.sidebar.secondaryOpen = !1;
}, l.collapseMobileSecondary = function(e, t) {
e.mobileSecondary = !1, t.stopPropagation();
};
var m = function() {
return i.isWindowBelowBreakpoint(i.WINDOW_SIZE_SM);
var p = function() {
return s.isWindowBelowBreakpoint(s.WINDOW_SIZE_SM);
};
c.isMobile = m();
var p = _.throttle(function() {
var e = m();
e !== c.isMobile && c.$evalAsync(function() {
c.isMobile = e, e || (_.set(a, "nav.showMobileNav", !1), _.each(c.navItems, function(e) {
l.isMobile = p();
var f = _.throttle(function() {
var e = p();
e !== l.isMobile && l.$evalAsync(function() {
l.isMobile = e, e || (_.set(a, "nav.showMobileNav", !1), _.each(l.navItems, function(e) {
e.mobileSecondary = !1;
}));
});
}, 50);
$(window).on("resize.verticalnav", p), c.$on("$destroy", function() {
$(window).on("resize.verticalnav", f), l.$on("$destroy", function() {
$(window).off(".verticalnav");
});
} ]
Expand Down Expand Up @@ -10117,7 +10117,7 @@ _.set(r, "ordering.panelName", "");
_.set(r, "ordering.panelName", e);
}, r.catalogLandingPageEnabled = _.get(i, "ENABLE_TECH_PREVIEW_FEATURE.service_catalog_landing_page");
var v = p.find(".selectpicker"), y = [], b = function() {
var t = r.projectName;
var t = r.currentProjectName;
if (t) {
var n = function(e, n) {
var a = $("<option>").attr("value", e.metadata.name).attr("selected", e.metadata.name === t);
Expand All @@ -10134,14 +10134,14 @@ l = e.by("metadata.name");
};
r.$on("$routeChangeSuccess", function() {
var e = a.project;
r.projectName !== e && (r.projectName = e, r.chromeless = "chromeless" === a.view, e && !r.chromeless ? (_.set(n, "view.hasProject", !0), r.canIAddToProject = !1, o.getProjectRules(e).then(function() {
r.projectName === e && (r.canIAddToProject = o.canIAddToProject(e));
r.currentProjectName !== e && (r.currentProjectName = e, r.chromeless = "chromeless" === a.view, e && !r.chromeless ? (_.set(n, "view.hasProject", !0), r.canIAddToProject = !1, o.getProjectRules(e).then(function() {
r.currentProjectName === e && (r.canIAddToProject = o.canIAddToProject(e));
}), C().then(function() {
r.projectName && l && (l[r.projectName] || (l[r.projectName] = {
r.currentProjectName && l && (l[r.currentProjectName] || (l[r.currentProjectName] = {
metadata: {
name: r.projectName
name: r.currentProjectName
}
}), r.currentProject = l[r.projectName], b());
}), r.currentProject = l[r.currentProjectName], b());
})) : _.set(n, "view.hasProject", !1));
}), v.selectpicker({
iconBase: "fa",
Expand Down
8 changes: 4 additions & 4 deletions dist/scripts/templates.js
Original file line number Diff line number Diff line change
Expand Up @@ -6838,7 +6838,7 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function(
"</div>\n" +
"<navbar-utility></navbar-utility>\n" +
"</nav>\n" +
"<div ng-show=\"projectName && !chromeless\" class=\"project-bar\">\n" +
"<div ng-show=\"currentProjectName && !chromeless\" class=\"project-bar\">\n" +
"<div class=\"toggle-menu\">\n" +
"<button type=\"button\" class=\"navbar-toggle project-action-btn\" ng-click=\"toggleNav()\">\n" +
"<span class=\"sr-only\">Toggle navigation</span>\n" +
Expand All @@ -6857,9 +6857,9 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function(
"<i class=\"fa fa-plus visible-xs-inline-block\" aria-hidden=\"true\" title=\"Add to Project\"></i><span class=\"hidden-xs\">Add to Project</span><span class=\"hidden-xs caret\" aria-hidden=\"true\" title=\"Add to Project\"></span>\n" +
"</a>\n" +
"<ul role=\"menu\" uib-dropdown-menu class=\"dropdown-menu dropdown-menu-right\">\n" +
"<li ng-if-start=\"!catalogLandingPageEnabled\" role=\"menuitem\"><a ng-href=\"project/{{projectName}}/create?tab=fromCatalog\">Browse Catalog</a></li>\n" +
"<li role=\"menuitem\"><a ng-href=\"project/{{projectName}}/create?tab=deployImage\">Deploy Image</a></li>\n" +
"<li ng-if-end role=\"menuitem\"><a ng-href=\"project/{{projectName}}/create?tab=fromFile\">Import YAML / JSON</a></li>\n" +
"<li ng-if-start=\"!catalogLandingPageEnabled\" role=\"menuitem\"><a ng-href=\"project/{{currentProjectName}}/create?tab=fromCatalog\">Browse Catalog</a></li>\n" +
"<li role=\"menuitem\"><a ng-href=\"project/{{currentProjectName}}/create?tab=deployImage\">Deploy Image</a></li>\n" +
"<li ng-if-end role=\"menuitem\"><a ng-href=\"project/{{currentProjectName}}/create?tab=fromFile\">Import YAML / JSON</a></li>\n" +
"<li ng-if-start=\"catalogLandingPageEnabled\" role=\"menuitem\"><a href=\"/\">Browse Catalog</a></li>\n" +
"<li role=\"menuitem\"><a href=\"\" ng-click=\"showOrderingPanel('deployImage')\">Deploy Image</a></li>\n" +
"<li ng-if-end role=\"menuitem\"><a href=\"\" ng-click=\"showOrderingPanel('fromFile')\">Import YAML / JSON</a></li>\n" +
Expand Down
2 changes: 2 additions & 0 deletions test/integration/page-objects/overview.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,10 @@ class OverviewPage extends Page {
}
clickAddToProject() {
let button = element(by.cssContainingText('.add-to-project .dropdown-toggle', 'Add to Project'));
h.waitForElem(button);
button.click();
let menuItem = element(by.cssContainingText('.dropdown-menu a', 'Browse Catalog'));
h.waitForElem(menuItem);
menuItem.click();
// lazy load to avoid future circular dependencies
let CatalogPage = require('./catalog').CatalogPage;
Expand Down

0 comments on commit b8f4b9b

Please sign in to comment.