Skip to content

Commit 4b8b74b

Browse files
author
OpenShift Bot
authored
Merge pull request #1152 from jwforres/statefulset-filter
Merged by openshift-bot
2 parents c8051e9 + bee75d3 commit 4b8b74b

File tree

4 files changed

+56
-11
lines changed

4 files changed

+56
-11
lines changed

Diff for: app/scripts/controllers/statefulSets.js

+27-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
'use strict';
22

33
angular.module('openshiftConsole')
4-
.controller('StatefulSetsController', function($scope, $routeParams, AlertMessageService, DataService, ProjectsService) {
4+
.controller('StatefulSetsController', function($scope, $routeParams, AlertMessageService, DataService, ProjectsService, LabelFilter) {
55
$scope.projectName = $routeParams.project;
66
$scope.alerts = $scope.alerts || {};
7+
$scope.labelSuggestions = {};
78
$scope.emptyMessage = "Loading...";
89

910
// get and clear any alerts
@@ -25,10 +26,34 @@ angular.module('openshiftConsole')
2526
}, context, function(statefulSets) {
2627
angular.extend($scope, {
2728
loaded: true,
28-
statefulSets: statefulSets.by('metadata.name')
29+
unfilteredStatefulSets: statefulSets.by('metadata.name')
2930
});
31+
$scope.statefulSets = LabelFilter.getLabelSelector().select($scope.unfilteredStatefulSets);
32+
LabelFilter.addLabelSuggestionsFromResources($scope.unfilteredStatefulSets, $scope.labelSuggestions);
33+
LabelFilter.setLabelSuggestions($scope.labelSuggestions);
34+
updateFilterWarning();
3035
}));
3136

37+
function updateFilterWarning() {
38+
if (!LabelFilter.getLabelSelector().isEmpty() && $.isEmptyObject($scope.statefulSets) && !$.isEmptyObject($scope.unfilteredStatefulSets)) {
39+
$scope.alerts["statefulsets"] = {
40+
type: "warning",
41+
details: "The active filters are hiding all stateful sets."
42+
};
43+
}
44+
else {
45+
delete $scope.alerts["statefulsets"];
46+
}
47+
}
48+
49+
LabelFilter.onActiveFiltersChanged(function(labelSelector) {
50+
// trigger a digest loop
51+
$scope.$apply(function() {
52+
$scope.statefulSets = labelSelector.select($scope.unfilteredStatefulSets);
53+
updateFilterWarning();
54+
});
55+
});
56+
3257
$scope.$on('$destroy', function(){
3358
DataService.unwatchAll(watches);
3459
});

Diff for: app/views/browse/stateful-sets.html

+6-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
<div class="middle-header header-toolbar">
88
<div class="container-fluid">
99
<breadcrumbs breadcrumbs="breadcrumbs"></breadcrumbs>
10-
<alerts alerts="alerts"></alerts>
1110
<div class="page-header page-header-bleed-right page-header-bleed-left">
1211
<h1>
1312
Stateful Sets
@@ -20,11 +19,17 @@ <h1>
2019
-->
2120
</h1>
2221
</div>
22+
<div ng-if="!renderOptions.showGetStarted" class="data-toolbar">
23+
<div class="data-toolbar-filter">
24+
<project-filter></project-filter>
25+
</div>
26+
</div>
2327
</div>
2428
</div>
2529

2630
<div class="middle-content" persist-tab-state>
2731
<div class="container-fluid">
32+
<alerts alerts="alerts"></alerts>
2833
<div ng-if="!loaded">Loading...</div>
2934
<div class="row" ng-if="loaded">
3035
<div class="col-md-12">

Diff for: dist/scripts/scripts.js

+17-7
Original file line numberDiff line numberDiff line change
@@ -6483,23 +6483,33 @@ e.then(g);
64836483
g.unwatchAll(w);
64846484
});
64856485
}));
6486-
} ]), angular.module("openshiftConsole").controller("StatefulSetsController", [ "$scope", "$routeParams", "AlertMessageService", "DataService", "ProjectsService", function(a, b, c, d, e) {
6487-
a.projectName = b.project, a.alerts = a.alerts || {}, a.emptyMessage = "Loading...", c.getAlerts().forEach(function(b) {
6486+
} ]), angular.module("openshiftConsole").controller("StatefulSetsController", [ "$scope", "$routeParams", "AlertMessageService", "DataService", "ProjectsService", "LabelFilter", function(a, b, c, d, e, f) {
6487+
a.projectName = b.project, a.alerts = a.alerts || {}, a.labelSuggestions = {}, a.emptyMessage = "Loading...", c.getAlerts().forEach(function(b) {
64886488
a.alerts[b.name] = b.data;
64896489
}), c.clearAlerts();
6490-
var f = [];
6490+
var g = [];
64916491
e.get(b.project).then(_.spread(function(b, c) {
6492-
a.project = b, f.push(d.watch({
6492+
function e() {
6493+
f.getLabelSelector().isEmpty() || !$.isEmptyObject(a.statefulSets) || $.isEmptyObject(a.unfilteredStatefulSets) ? delete a.alerts.statefulsets :a.alerts.statefulsets = {
6494+
type:"warning",
6495+
details:"The active filters are hiding all stateful sets."
6496+
};
6497+
}
6498+
a.project = b, g.push(d.watch({
64936499
resource:"statefulsets",
64946500
group:"apps",
64956501
version:"v1beta1"
64966502
}, c, function(b) {
64976503
angular.extend(a, {
64986504
loaded:!0,
6499-
statefulSets:b.by("metadata.name")
6505+
unfilteredStatefulSets:b.by("metadata.name")
6506+
}), a.statefulSets = f.getLabelSelector().select(a.unfilteredStatefulSets), f.addLabelSuggestionsFromResources(a.unfilteredStatefulSets, a.labelSuggestions), f.setLabelSuggestions(a.labelSuggestions), e();
6507+
})), f.onActiveFiltersChanged(function(b) {
6508+
a.$apply(function() {
6509+
a.statefulSets = b.select(a.unfilteredStatefulSets), e();
65006510
});
6501-
})), a.$on("$destroy", function() {
6502-
d.unwatchAll(f);
6511+
}), a.$on("$destroy", function() {
6512+
d.unwatchAll(g);
65036513
});
65046514
}));
65056515
} ]), angular.module("openshiftConsole").controller("StatefulSetController", [ "$filter", "$scope", "$routeParams", "AlertMessageService", "BreadcrumbsService", "DataService", "MetricsService", "ProjectsService", function(a, b, c, d, e, f, g, h) {

Diff for: dist/scripts/templates.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -4179,17 +4179,22 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function(
41794179
"<div class=\"middle-header header-toolbar\">\n" +
41804180
"<div class=\"container-fluid\">\n" +
41814181
"<breadcrumbs breadcrumbs=\"breadcrumbs\"></breadcrumbs>\n" +
4182-
"<alerts alerts=\"alerts\"></alerts>\n" +
41834182
"<div class=\"page-header page-header-bleed-right page-header-bleed-left\">\n" +
41844183
"<h1>\n" +
41854184
"Stateful Sets\n" +
41864185
"\n" +
41874186
"</h1>\n" +
41884187
"</div>\n" +
4188+
"<div ng-if=\"!renderOptions.showGetStarted\" class=\"data-toolbar\">\n" +
4189+
"<div class=\"data-toolbar-filter\">\n" +
4190+
"<project-filter></project-filter>\n" +
4191+
"</div>\n" +
4192+
"</div>\n" +
41894193
"</div>\n" +
41904194
"</div>\n" +
41914195
"<div class=\"middle-content\" persist-tab-state>\n" +
41924196
"<div class=\"container-fluid\">\n" +
4197+
"<alerts alerts=\"alerts\"></alerts>\n" +
41934198
"<div ng-if=\"!loaded\">Loading...</div>\n" +
41944199
"<div class=\"row\" ng-if=\"loaded\">\n" +
41954200
"<div class=\"col-md-12\">\n" +

0 commit comments

Comments
 (0)