Skip to content

Commit 6ff495e

Browse files
author
OpenShift Bot
authored
Merge pull request #2003 from spadgett/update-dist
Merged by openshift-bot
2 parents 5709d8a + cf7a218 commit 6ff495e

File tree

6 files changed

+89
-100
lines changed

6 files changed

+89
-100
lines changed

app/scripts/directives/nav.js

+27-10
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ angular.module('openshiftConsole')
77
$filter,
88
$timeout,
99
$rootScope,
10+
$routeParams,
1011
AuthorizationService,
1112
Constants,
1213
HTMLService) {
@@ -27,6 +28,7 @@ angular.module('openshiftConsole')
2728
$scope.sidebar = {};
2829

2930
var updateActive = function() {
31+
$scope.projectName = $routeParams.project;
3032
_.set($scope, 'sidebar.secondaryOpen', false);
3133
_.set($rootScope, 'nav.showMobileNav', false);
3234
$scope.activeSecondary = null;
@@ -260,7 +262,7 @@ angular.module('openshiftConsole')
260262
var options = [];
261263

262264
var updateOptions = function() {
263-
var name = $scope.projectName;
265+
var name = $scope.currentProjectName;
264266
if (!name) {
265267
return;
266268
}
@@ -304,33 +306,48 @@ angular.module('openshiftConsole')
304306
};
305307

306308
$scope.$on('$routeChangeSuccess', function() {
307-
var projectName = $routeParams.project;
308-
if ($scope.projectName === projectName) {
309+
var currentProjectName = $routeParams.project;
310+
if ($scope.currentProjectName === currentProjectName) {
309311
// The project hasn't changed.
310312
return;
311313
}
312314

313-
$scope.projectName = projectName;
315+
$scope.currentProjectName = currentProjectName;
314316
$scope.chromeless = $routeParams.view === "chromeless";
315317

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

328-
$scope.canIAddToProject = AuthorizationService.canIAddToProject(projectName);
330+
$scope.canIAddToProject = AuthorizationService.canIAddToProject(currentProjectName);
329331
});
330332

331333
updateProjects().then(function() {
332-
$scope.projectName = projectName;
333-
$scope.currentProject = _.get(projects, [ projectName ]);
334+
if (!$scope.currentProjectName || !projects) {
335+
return;
336+
}
337+
338+
if (!projects[$scope.currentProjectName]) {
339+
// Make sure there is an entry for the current project in the
340+
// dropdown. If it doesn't actually exist, the controller for
341+
// the current view is responsible for redirecting to an error
342+
// page.
343+
projects[$scope.currentProjectName] = {
344+
metadata: {
345+
name: $scope.currentProjectName
346+
}
347+
};
348+
}
349+
350+
$scope.currentProject = projects[$scope.currentProjectName];
334351
updateOptions();
335352
});
336353
} else {

app/views/directives/header/header.html

+5-5
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<navbar-utility></navbar-utility>
1515
</nav>
1616

17-
<div ng-show="projectName && !chromeless" class="project-bar">
17+
<div ng-show="currentProjectName && !chromeless" class="project-bar">
1818
<div class="toggle-menu">
1919
<button type="button" class="navbar-toggle project-action-btn" ng-click="toggleNav()">
2020
<span class="sr-only">Toggle navigation</span>
@@ -28,14 +28,14 @@
2828
<select class="selectpicker form-control" data-selected-text-format="count>3" id="boostrapSelect" title=""></select>
2929
</div>
3030
<!-- create buttons show at mobile -->
31-
<div class="dropdown add-to-project" ng-show="canIAddToProject" uib-dropdown>
31+
<div class="dropdown add-to-project" ng-if="canIAddToProject" uib-dropdown>
3232
<a class="dropdown-toggle" href="" ng-disabled="currentProject.status.phase != 'Active'" title="Add to Project" uib-dropdown-toggle>
3333
<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>
3434
</a>
3535
<ul role="menu" uib-dropdown-menu class="dropdown-menu dropdown-menu-right">
36-
<li ng-if-start="!catalogLandingPageEnabled" role="menuitem"><a ng-href="project/{{projectName}}/create?tab=fromCatalog">Browse Catalog</a></li>
37-
<li role="menuitem"><a ng-href="project/{{projectName}}/create?tab=deployImage">Deploy Image</a></li>
38-
<li ng-if-end role="menuitem"><a ng-href="project/{{projectName}}/create?tab=fromFile">Import YAML / JSON</a></li>
36+
<li ng-if-start="!catalogLandingPageEnabled" role="menuitem"><a ng-href="project/{{currentProjectName}}/create?tab=fromCatalog">Browse Catalog</a></li>
37+
<li role="menuitem"><a ng-href="project/{{currentProjectName}}/create?tab=deployImage">Deploy Image</a></li>
38+
<li ng-if-end role="menuitem"><a ng-href="project/{{currentProjectName}}/create?tab=fromFile">Import YAML / JSON</a></li>
3939

4040
<li ng-if-start="catalogLandingPageEnabled" role="menuitem"><a href="/">Browse Catalog</a></li>
4141
<li role="menuitem"><a href="" ng-click="showOrderingPanel('deployImage')">Deploy Image</a></li>

dist/scripts/scripts.js

+44-40
Original file line numberDiff line numberDiff line change
@@ -10013,72 +10013,72 @@ apiObject: "<",
1001310013
createBinding: "&"
1001410014
},
1001510015
templateUrl: "views/directives/resource-service-bindings.html"
10016-
}), angular.module("openshiftConsole").directive("sidebar", [ "$location", "$filter", "$timeout", "$rootScope", "AuthorizationService", "Constants", "HTMLService", function(e, t, n, a, r, o, i) {
10017-
var s = function(e, t) {
10016+
}), angular.module("openshiftConsole").directive("sidebar", [ "$location", "$filter", "$timeout", "$rootScope", "$routeParams", "AuthorizationService", "Constants", "HTMLService", function(e, t, n, a, r, o, i, s) {
10017+
var c = function(e, t) {
1001810018
return e.href === t || _.some(e.prefixes, function(e) {
1001910019
return _.startsWith(t, e);
1002010020
});
1002110021
};
1002210022
return {
1002310023
restrict: "E",
1002410024
templateUrl: "views/_sidebar.html",
10025-
controller: [ "$scope", function(c) {
10026-
var l;
10027-
c.navItems = o.PROJECT_NAVIGATION, c.sidebar = {};
10028-
var u = function() {
10029-
_.set(c, "sidebar.secondaryOpen", !1), _.set(a, "nav.showMobileNav", !1), c.activeSecondary = null, c.activePrimary = _.find(c.navItems, function(t) {
10030-
return l = e.path().replace("/project/" + c.projectName, ""), s(t, l) ? (c.activeSecondary = null, !0) : _.some(t.secondaryNavSections, function(e) {
10025+
controller: [ "$scope", function(l) {
10026+
var u;
10027+
l.navItems = i.PROJECT_NAVIGATION, l.sidebar = {};
10028+
var d = function() {
10029+
l.projectName = r.project, _.set(l, "sidebar.secondaryOpen", !1), _.set(a, "nav.showMobileNav", !1), l.activeSecondary = null, l.activePrimary = _.find(l.navItems, function(t) {
10030+
return u = e.path().replace("/project/" + l.projectName, ""), c(t, u) ? (l.activeSecondary = null, !0) : _.some(t.secondaryNavSections, function(e) {
1003110031
var t = _.find(e.items, function(e) {
10032-
return s(e, l);
10032+
return c(e, u);
1003310033
});
10034-
return !!t && (c.activeSecondary = t, !0);
10034+
return !!t && (l.activeSecondary = t, !0);
1003510035
});
1003610036
});
1003710037
};
10038-
u(), c.$on("$routeChangeSuccess", u);
10039-
var d = function() {
10040-
_.each(c.navItems, function(e) {
10038+
d(), l.$on("$routeChangeSuccess", d);
10039+
var m = function() {
10040+
_.each(l.navItems, function(e) {
1004110041
e.isHover = !1;
1004210042
});
1004310043
};
10044-
c.navURL = function(e) {
10045-
return e ? t("isAbsoluteURL")(e) ? e : "project/" + c.projectName + e : "";
10046-
}, c.show = function(e) {
10047-
return !(e.isValid && !e.isValid()) && (!e.canI || r.canI({
10044+
l.navURL = function(e) {
10045+
return e ? t("isAbsoluteURL")(e) ? e : "project/" + l.projectName + e : "";
10046+
}, l.show = function(e) {
10047+
return !(e.isValid && !e.isValid()) && (!e.canI || o.canI({
1004810048
resource: e.canI.resource,
1004910049
group: e.canI.group
10050-
}, e.canI.verb, c.projectName));
10051-
}, c.itemClicked = function(e) {
10052-
if (e.href) return c.nav.showMobileNav = !1, void (c.sidebar.secondaryOpen = !1);
10053-
d(), e.isHover = !0, e.mobileSecondary = c.isMobile, c.sidebar.showMobileSecondary = c.isMobile, c.sidebar.secondaryOpen = !0;
10054-
}, c.onMouseEnter = function(e) {
10050+
}, e.canI.verb, l.projectName));
10051+
}, l.itemClicked = function(e) {
10052+
if (e.href) return l.nav.showMobileNav = !1, void (l.sidebar.secondaryOpen = !1);
10053+
m(), e.isHover = !0, e.mobileSecondary = l.isMobile, l.sidebar.showMobileSecondary = l.isMobile, l.sidebar.secondaryOpen = !0;
10054+
}, l.onMouseEnter = function(e) {
1005510055
_.isEmpty(e.secondaryNavSections) || (e.mouseLeaveTimeout && (n.cancel(e.mouseLeaveTimeout), e.mouseLeaveTimeout = null), e.mouseEnterTimeout = n(function() {
10056-
e.isHover = !0, e.mouseEnterTimeout = null, c.sidebar.secondaryOpen = !0;
10056+
e.isHover = !0, e.mouseEnterTimeout = null, l.sidebar.secondaryOpen = !0;
1005710057
}, 300));
10058-
}, c.onMouseLeave = function(e) {
10058+
}, l.onMouseLeave = function(e) {
1005910059
_.isEmpty(e.secondaryNavSections) || (e.mouseEnterTimeout && (n.cancel(e.mouseEnterTimeout), e.mouseEnterTimeout = null), e.mouseLeaveTimeout = n(function() {
10060-
e.isHover = !1, e.mouseLeaveTimeout = null, c.sidebar.secondaryOpen = _.some(c.navItems, function(e) {
10060+
e.isHover = !1, e.mouseLeaveTimeout = null, l.sidebar.secondaryOpen = _.some(l.navItems, function(e) {
1006110061
return e.isHover && !_.isEmpty(e.secondaryNavSections);
1006210062
});
1006310063
}, 500));
10064-
}, c.closeNav = function() {
10065-
d(), c.nav.showMobileNav = !1, c.sidebar.secondaryOpen = !1;
10066-
}, c.collapseMobileSecondary = function(e, t) {
10064+
}, l.closeNav = function() {
10065+
m(), l.nav.showMobileNav = !1, l.sidebar.secondaryOpen = !1;
10066+
}, l.collapseMobileSecondary = function(e, t) {
1006710067
e.mobileSecondary = !1, t.stopPropagation();
1006810068
};
10069-
var m = function() {
10070-
return i.isWindowBelowBreakpoint(i.WINDOW_SIZE_SM);
10069+
var p = function() {
10070+
return s.isWindowBelowBreakpoint(s.WINDOW_SIZE_SM);
1007110071
};
10072-
c.isMobile = m();
10073-
var p = _.throttle(function() {
10074-
var e = m();
10075-
e !== c.isMobile && c.$evalAsync(function() {
10076-
c.isMobile = e, e || (_.set(a, "nav.showMobileNav", !1), _.each(c.navItems, function(e) {
10072+
l.isMobile = p();
10073+
var f = _.throttle(function() {
10074+
var e = p();
10075+
e !== l.isMobile && l.$evalAsync(function() {
10076+
l.isMobile = e, e || (_.set(a, "nav.showMobileNav", !1), _.each(l.navItems, function(e) {
1007710077
e.mobileSecondary = !1;
1007810078
}));
1007910079
});
1008010080
}, 50);
10081-
$(window).on("resize.verticalnav", p), c.$on("$destroy", function() {
10081+
$(window).on("resize.verticalnav", f), l.$on("$destroy", function() {
1008210082
$(window).off(".verticalnav");
1008310083
});
1008410084
} ]
@@ -10117,7 +10117,7 @@ _.set(r, "ordering.panelName", "");
1011710117
_.set(r, "ordering.panelName", e);
1011810118
}, r.catalogLandingPageEnabled = _.get(i, "ENABLE_TECH_PREVIEW_FEATURE.service_catalog_landing_page");
1011910119
var v = p.find(".selectpicker"), y = [], b = function() {
10120-
var t = r.projectName;
10120+
var t = r.currentProjectName;
1012110121
if (t) {
1012210122
var n = function(e, n) {
1012310123
var a = $("<option>").attr("value", e.metadata.name).attr("selected", e.metadata.name === t);
@@ -10134,10 +10134,14 @@ l = e.by("metadata.name");
1013410134
};
1013510135
r.$on("$routeChangeSuccess", function() {
1013610136
var e = a.project;
10137-
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() {
10138-
r.projectName === e && (r.canIAddToProject = o.canIAddToProject(e));
10137+
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() {
10138+
r.currentProjectName === e && (r.canIAddToProject = o.canIAddToProject(e));
1013910139
}), C().then(function() {
10140-
r.projectName = e, r.currentProject = _.get(l, [ e ]), b();
10140+
r.currentProjectName && l && (l[r.currentProjectName] || (l[r.currentProjectName] = {
10141+
metadata: {
10142+
name: r.currentProjectName
10143+
}
10144+
}), r.currentProject = l[r.currentProjectName], b());
1014110145
})) : _.set(n, "view.hasProject", !1));
1014210146
}), v.selectpicker({
1014310147
iconBase: "fa",

dist/scripts/templates.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -6838,7 +6838,7 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function(
68386838
"</div>\n" +
68396839
"<navbar-utility></navbar-utility>\n" +
68406840
"</nav>\n" +
6841-
"<div ng-show=\"projectName && !chromeless\" class=\"project-bar\">\n" +
6841+
"<div ng-show=\"currentProjectName && !chromeless\" class=\"project-bar\">\n" +
68426842
"<div class=\"toggle-menu\">\n" +
68436843
"<button type=\"button\" class=\"navbar-toggle project-action-btn\" ng-click=\"toggleNav()\">\n" +
68446844
"<span class=\"sr-only\">Toggle navigation</span>\n" +
@@ -6852,14 +6852,14 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function(
68526852
"<select class=\"selectpicker form-control\" data-selected-text-format=\"count>3\" id=\"boostrapSelect\" title=\"\"></select>\n" +
68536853
"</div>\n" +
68546854
"\n" +
6855-
"<div class=\"dropdown add-to-project\" ng-show=\"canIAddToProject\" uib-dropdown>\n" +
6855+
"<div class=\"dropdown add-to-project\" ng-if=\"canIAddToProject\" uib-dropdown>\n" +
68566856
"<a class=\"dropdown-toggle\" href=\"\" ng-disabled=\"currentProject.status.phase != 'Active'\" title=\"Add to Project\" uib-dropdown-toggle>\n" +
68576857
"<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" +
68586858
"</a>\n" +
68596859
"<ul role=\"menu\" uib-dropdown-menu class=\"dropdown-menu dropdown-menu-right\">\n" +
6860-
"<li ng-if-start=\"!catalogLandingPageEnabled\" role=\"menuitem\"><a ng-href=\"project/{{projectName}}/create?tab=fromCatalog\">Browse Catalog</a></li>\n" +
6861-
"<li role=\"menuitem\"><a ng-href=\"project/{{projectName}}/create?tab=deployImage\">Deploy Image</a></li>\n" +
6862-
"<li ng-if-end role=\"menuitem\"><a ng-href=\"project/{{projectName}}/create?tab=fromFile\">Import YAML / JSON</a></li>\n" +
6860+
"<li ng-if-start=\"!catalogLandingPageEnabled\" role=\"menuitem\"><a ng-href=\"project/{{currentProjectName}}/create?tab=fromCatalog\">Browse Catalog</a></li>\n" +
6861+
"<li role=\"menuitem\"><a ng-href=\"project/{{currentProjectName}}/create?tab=deployImage\">Deploy Image</a></li>\n" +
6862+
"<li ng-if-end role=\"menuitem\"><a ng-href=\"project/{{currentProjectName}}/create?tab=fromFile\">Import YAML / JSON</a></li>\n" +
68636863
"<li ng-if-start=\"catalogLandingPageEnabled\" role=\"menuitem\"><a href=\"/\">Browse Catalog</a></li>\n" +
68646864
"<li role=\"menuitem\"><a href=\"\" ng-click=\"showOrderingPanel('deployImage')\">Deploy Image</a></li>\n" +
68656865
"<li ng-if-end role=\"menuitem\"><a href=\"\" ng-click=\"showOrderingPanel('fromFile')\">Import YAML / JSON</a></li>\n" +

0 commit comments

Comments
 (0)