Skip to content

Commit ac5246b

Browse files
author
OpenShift Bot
authored
Merge pull request #2172 from benjaminapetersen/bpetersen/trello/api-groups/image
Merged by openshift-bot
2 parents 3c27b2c + b8c169d commit ac5246b

File tree

7 files changed

+102
-80
lines changed

7 files changed

+102
-80
lines changed

app/scripts/controllers/image.js

+11-7
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,14 @@
77
* Controller of the openshiftConsole
88
*/
99
angular.module('openshiftConsole')
10-
.controller('ImageController', function ($scope,
10+
.controller('ImageController', function ($filter,
11+
$scope,
1112
$routeParams,
13+
APIService,
1214
DataService,
13-
ProjectsService,
14-
$filter,
1515
ImageStreamsService,
16-
imageLayers) {
16+
imageLayers,
17+
ProjectsService) {
1718
$scope.projectName = $routeParams.project;
1819
$scope.imageStream = null;
1920
$scope.image = null;
@@ -37,11 +38,14 @@ angular.module('openshiftConsole')
3738
}
3839
];
3940

41+
var imageStreamTagsVersion = APIService.getPreferredVersion('imagestreamtags');
42+
var imageStreamsVersion = APIService.getPreferredVersion('imagestreams');
43+
4044
var watches = [];
4145

4246
var fetchImageStreamTag = _.debounce(function(tagData, context) {
4347
var name = $routeParams.imagestream + ":" + $routeParams.tag;
44-
DataService.get("imagestreamtags", name, context).then(
48+
DataService.get(imageStreamTagsVersion, name, context).then(
4549
// success
4650
function(imageStreamTag) {
4751
$scope.loaded = true;
@@ -95,10 +99,10 @@ angular.module('openshiftConsole')
9599
.then(_.spread(function(project, context) {
96100
$scope.project = project;
97101
DataService
98-
.get("imagestreams", $routeParams.imagestream, context, { errorNotification: false })
102+
.get(imageStreamsVersion, $routeParams.imagestream, context, { errorNotification: false })
99103
.then(function(imageStream) {
100104
imageStreamResolved(imageStream, context);
101-
watches.push(DataService.watchObject("imagestreams", $routeParams.imagestream, context, function(imageStream, action) {
105+
watches.push(DataService.watchObject(imageStreamsVersion, $routeParams.imagestream, context, function(imageStream, action) {
102106
imageStreamResolved(imageStream, context, action);
103107
}));
104108
}, function(e) {

app/scripts/controllers/images.js

+12-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,15 @@
88
* Controller of the openshiftConsole
99
*/
1010
angular.module('openshiftConsole')
11-
.controller('ImagesController', function ($routeParams, $scope, DataService, ProjectsService, $filter, LabelFilter, Logger) {
11+
.controller('ImagesController', function (
12+
$filter,
13+
$routeParams,
14+
$scope,
15+
APIService,
16+
DataService,
17+
LabelFilter,
18+
Logger,
19+
ProjectsService) {
1220
$scope.projectName = $routeParams.project;
1321
$scope.imageStreams = {};
1422
$scope.unfilteredImageStreams = {};
@@ -18,13 +26,15 @@ angular.module('openshiftConsole')
1826
$scope.alerts = $scope.alerts || {};
1927
$scope.emptyMessage = "Loading...";
2028

29+
var imageStreamsVersion = APIService.getPreferredVersion('imagestreams');
30+
2131
var watches = [];
2232

2333
ProjectsService
2434
.get($routeParams.project)
2535
.then(_.spread(function(project, context) {
2636
$scope.project = project;
27-
watches.push(DataService.watch("imagestreams", context, function(imageStreams) {
37+
watches.push(DataService.watch(imageStreamsVersion, context, function(imageStreams) {
2838
$scope.unfilteredImageStreams = imageStreams.by("metadata.name");
2939
LabelFilter.addLabelSuggestionsFromResources($scope.unfilteredImageStreams, $scope.labelSuggestions);
3040
LabelFilter.setLabelSuggestions($scope.labelSuggestions);

app/scripts/controllers/imagestream.js

+13-3
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,15 @@
77
* Controller of the openshiftConsole
88
*/
99
angular.module('openshiftConsole')
10-
.controller('ImageStreamController', function ($scope, $routeParams, DataService, ProjectsService, $filter, ImageStreamsService, Navigate) {
10+
.controller('ImageStreamController', function (
11+
$filter,
12+
$routeParams,
13+
$scope,
14+
APIService,
15+
DataService,
16+
ImageStreamsService,
17+
Navigate,
18+
ProjectsService) {
1119
$scope.projectName = $routeParams.project;
1220
$scope.imageStream = null;
1321
$scope.tags = [];
@@ -26,21 +34,23 @@ angular.module('openshiftConsole')
2634
];
2735
$scope.emptyMessage = "Loading...";
2836

37+
$scope.imageStreamsVersion = APIService.getPreferredVersion('imagestreams');
38+
2939
var watches = [];
3040

3141
ProjectsService
3242
.get($routeParams.project)
3343
.then(_.spread(function(project, context) {
3444
$scope.project = project;
35-
DataService.get("imagestreams", $routeParams.imagestream, context, { errorNotification: false }).then(
45+
DataService.get($scope.imageStreamsVersion, $routeParams.imagestream, context, { errorNotification: false }).then(
3646
// success
3747
function(imageStream) {
3848
$scope.loaded = true;
3949
$scope.imageStream = imageStream;
4050
$scope.emptyMessage = "No tags to show";
4151

4252
// If we found the item successfully, watch for changes on it
43-
watches.push(DataService.watchObject("imagestreams", $routeParams.imagestream, context, function(imageStream, action) {
53+
watches.push(DataService.watchObject($scope.imageStreamsVersion, $routeParams.imagestream, context, function(imageStream, action) {
4454
if (action === "DELETED") {
4555
$scope.alerts["deleted"] = {
4656
type: "warning",

app/scripts/filters/canI.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ angular
3131
{group: 'autoscaling', resource: 'horizontalpodautoscalers', verbs: ['update', 'delete']}
3232
],
3333
'imageStreams': [
34-
{group: '', resource: 'imagestreams', verbs: ['update', 'delete']}
34+
_.assign({}, APIService.getPreferredVersion('imagestreams'), {verbs: ['update', 'delete']})
3535
],
3636
'serviceInstances': [
3737
{group: 'servicecatalog.k8s.io', resource: 'serviceinstances', verbs: ['update', 'delete']}

app/views/browse/imagestream.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ <h1 class="contains-actions">
1515
class="dropdown-toggle actions-dropdown-kebab visible-xs-inline"
1616
data-toggle="dropdown"><i class="fa fa-ellipsis-v"></i><span class="sr-only">Actions</span></a>
1717
<ul class="dropdown-menu dropdown-menu-right actions action-button">
18-
<li ng-if="'imagestreams' | canI : 'update'">
18+
<li ng-if="imageStreamsVersion | canI : 'update'">
1919
<a ng-href="{{imageStream | editYamlURL}}" role="button">Edit YAML</a>
2020
</li>
21-
<li ng-if="'imagestreams' | canI : 'delete'">
21+
<li ng-if="imageStreamsVersion | canI : 'delete'">
2222
<delete-link
2323
kind="ImageStream"
2424
resource-name="{{imageStream.metadata.name}}"

dist/scripts/scripts.js

+61-63
Original file line numberDiff line numberDiff line change
@@ -5470,66 +5470,66 @@ i.showJenkinsfileExamples();
54705470
o.unwatchAll(d);
54715471
});
54725472
}));
5473-
} ]), angular.module("openshiftConsole").controller("ImageController", [ "$scope", "$routeParams", "DataService", "ProjectsService", "$filter", "ImageStreamsService", "imageLayers", function(e, t, n, a, r, o, i) {
5474-
function s(n, a) {
5475-
var r = o.tagsByName(n);
5476-
e.imageStream = n, e.tagsByName = r, e.tagName = t.tag;
5477-
var i = r[t.tag];
5478-
i ? (delete e.alerts.load, l(i, a)) : e.alerts.load = {
5473+
} ]), angular.module("openshiftConsole").controller("ImageController", [ "$filter", "$scope", "$routeParams", "APIService", "DataService", "ImageStreamsService", "imageLayers", "ProjectsService", function(e, t, n, a, r, o, i, s) {
5474+
function c(e, a) {
5475+
var r = o.tagsByName(e);
5476+
t.imageStream = e, t.tagsByName = r, t.tagName = n.tag;
5477+
var i = r[n.tag];
5478+
i ? (delete t.alerts.load, p(i, a)) : t.alerts.load = {
54795479
type: "error",
54805480
message: "The image tag was not found in the stream."
54815481
};
54825482
}
5483-
e.projectName = t.project, e.imageStream = null, e.image = null, e.layers = null, e.tagsByName = {}, e.alerts = {}, e.renderOptions = e.renderOptions || {}, e.renderOptions.hideFilterWidget = !0, e.breadcrumbs = [ {
5483+
t.projectName = n.project, t.imageStream = null, t.image = null, t.layers = null, t.tagsByName = {}, t.alerts = {}, t.renderOptions = t.renderOptions || {}, t.renderOptions.hideFilterWidget = !0, t.breadcrumbs = [ {
54845484
title: "Image Streams",
5485-
link: "project/" + t.project + "/browse/images"
5485+
link: "project/" + n.project + "/browse/images"
54865486
}, {
5487-
title: t.imagestream,
5488-
link: "project/" + t.project + "/browse/images/" + t.imagestream
5487+
title: n.imagestream,
5488+
link: "project/" + n.project + "/browse/images/" + n.imagestream
54895489
}, {
5490-
title: ":" + t.tag
5490+
title: ":" + n.tag
54915491
} ];
5492-
var c = [], l = _.debounce(function(a, o) {
5493-
var s = t.imagestream + ":" + t.tag;
5494-
n.get("imagestreamtags", s, o).then(function(t) {
5495-
e.loaded = !0, e.image = t.image, e.layers = i(e.image);
5496-
}, function(t) {
5497-
e.loaded = !0, e.alerts.load = {
5492+
var l = a.getPreferredVersion("imagestreamtags"), u = a.getPreferredVersion("imagestreams"), d = [], p = _.debounce(function(a, o) {
5493+
var s = n.imagestream + ":" + n.tag;
5494+
r.get(l, s, o).then(function(e) {
5495+
t.loaded = !0, t.image = e.image, t.layers = i(t.image);
5496+
}, function(n) {
5497+
t.loaded = !0, t.alerts.load = {
54985498
type: "error",
54995499
message: "The image details could not be loaded.",
5500-
details: r("getErrorDetails")(t)
5500+
details: e("getErrorDetails")(n)
55015501
};
55025502
});
5503-
}, 200), u = function(t, n, a) {
5504-
s(t, n), "DELETED" === a && (e.alerts.deleted = {
5503+
}, 200), m = function(e, n, a) {
5504+
c(e, n), "DELETED" === a && (t.alerts.deleted = {
55055505
type: "warning",
55065506
message: "This image stream has been deleted."
55075507
});
55085508
};
5509-
a.get(t.project).then(_.spread(function(a, o) {
5510-
e.project = a, n.get("imagestreams", t.imagestream, o, {
5509+
s.get(n.project).then(_.spread(function(a, o) {
5510+
t.project = a, r.get(u, n.imagestream, o, {
55115511
errorNotification: !1
55125512
}).then(function(e) {
5513-
u(e, o), c.push(n.watchObject("imagestreams", t.imagestream, o, function(e, t) {
5514-
u(e, o, t);
5513+
m(e, o), d.push(r.watchObject(u, n.imagestream, o, function(e, t) {
5514+
m(e, o, t);
55155515
}));
5516-
}, function(t) {
5517-
e.loaded = !0, e.alerts.load = {
5516+
}, function(n) {
5517+
t.loaded = !0, t.alerts.load = {
55185518
type: "error",
55195519
message: "The image stream details could not be loaded.",
5520-
details: r("getErrorDetails")(t)
5520+
details: e("getErrorDetails")(n)
55215521
};
5522-
}), e.$on("$destroy", function() {
5523-
n.unwatchAll(c);
5522+
}), t.$on("$destroy", function() {
5523+
r.unwatchAll(d);
55245524
});
55255525
}));
5526-
} ]), angular.module("openshiftConsole").controller("ImagesController", [ "$routeParams", "$scope", "DataService", "ProjectsService", "$filter", "LabelFilter", "Logger", function(e, t, n, a, r, o, i) {
5527-
t.projectName = e.project, t.imageStreams = {}, t.unfilteredImageStreams = {}, t.missingStatusTagsByImageStream = {}, t.builds = {}, t.labelSuggestions = {}, t.alerts = t.alerts || {}, t.emptyMessage = "Loading...";
5528-
var s = [];
5529-
a.get(e.project).then(_.spread(function(e, a) {
5530-
function r() {
5531-
angular.forEach(t.unfilteredImageStreams, function(e, n) {
5532-
var a = t.missingStatusTagsByImageStream[n] = {};
5526+
} ]), angular.module("openshiftConsole").controller("ImagesController", [ "$filter", "$routeParams", "$scope", "APIService", "DataService", "LabelFilter", "Logger", "ProjectsService", function(e, t, n, a, r, o, i, s) {
5527+
n.projectName = t.project, n.imageStreams = {}, n.unfilteredImageStreams = {}, n.missingStatusTagsByImageStream = {}, n.builds = {}, n.labelSuggestions = {}, n.alerts = n.alerts || {}, n.emptyMessage = "Loading...";
5528+
var c = a.getPreferredVersion("imagestreams"), l = [];
5529+
s.get(t.project).then(_.spread(function(e, t) {
5530+
function a() {
5531+
angular.forEach(n.unfilteredImageStreams, function(e, t) {
5532+
var a = n.missingStatusTagsByImageStream[t] = {};
55335533
if (e.spec && e.spec.tags) {
55345534
var r = {};
55355535
e.status && e.status.tags && angular.forEach(e.status.tags, function(e) {
@@ -5540,50 +5540,50 @@ r[e.name] || (a[e.name] = e);
55405540
}
55415541
});
55425542
}
5543-
function c() {
5544-
o.getLabelSelector().isEmpty() || !$.isEmptyObject(t.imageStreams) || $.isEmptyObject(t.unfilteredImageStreams) ? delete t.alerts.imageStreams : t.alerts.imageStreams = {
5543+
function s() {
5544+
o.getLabelSelector().isEmpty() || !$.isEmptyObject(n.imageStreams) || $.isEmptyObject(n.unfilteredImageStreams) ? delete n.alerts.imageStreams : n.alerts.imageStreams = {
55455545
type: "warning",
55465546
details: "The active filters are hiding all image streams."
55475547
};
55485548
}
5549-
t.project = e, s.push(n.watch("imagestreams", a, function(e) {
5550-
t.unfilteredImageStreams = e.by("metadata.name"), o.addLabelSuggestionsFromResources(t.unfilteredImageStreams, t.labelSuggestions), o.setLabelSuggestions(t.labelSuggestions), t.imageStreams = o.getLabelSelector().select(t.unfilteredImageStreams), t.emptyMessage = "No image streams to show", r(), c(), i.log("image streams (subscribe)", t.imageStreams);
5549+
n.project = e, l.push(r.watch(c, t, function(e) {
5550+
n.unfilteredImageStreams = e.by("metadata.name"), o.addLabelSuggestionsFromResources(n.unfilteredImageStreams, n.labelSuggestions), o.setLabelSuggestions(n.labelSuggestions), n.imageStreams = o.getLabelSelector().select(n.unfilteredImageStreams), n.emptyMessage = "No image streams to show", a(), s(), i.log("image streams (subscribe)", n.imageStreams);
55515551
})), o.onActiveFiltersChanged(function(e) {
5552-
t.$apply(function() {
5553-
t.imageStreams = e.select(t.unfilteredImageStreams), c();
5552+
n.$apply(function() {
5553+
n.imageStreams = e.select(n.unfilteredImageStreams), s();
55545554
});
5555-
}), t.$on("$destroy", function() {
5556-
n.unwatchAll(s);
5555+
}), n.$on("$destroy", function() {
5556+
r.unwatchAll(l);
55575557
});
55585558
}));
5559-
} ]), angular.module("openshiftConsole").controller("ImageStreamController", [ "$scope", "$routeParams", "DataService", "ProjectsService", "$filter", "ImageStreamsService", "Navigate", function(e, t, n, a, r, o, i) {
5560-
e.projectName = t.project, e.imageStream = null, e.tags = [], e.tagShowOlder = {}, e.alerts = {}, e.renderOptions = e.renderOptions || {}, e.renderOptions.hideFilterWidget = !0, e.breadcrumbs = [ {
5559+
} ]), angular.module("openshiftConsole").controller("ImageStreamController", [ "$filter", "$routeParams", "$scope", "APIService", "DataService", "ImageStreamsService", "Navigate", "ProjectsService", function(e, t, n, a, r, o, i, s) {
5560+
n.projectName = t.project, n.imageStream = null, n.tags = [], n.tagShowOlder = {}, n.alerts = {}, n.renderOptions = n.renderOptions || {}, n.renderOptions.hideFilterWidget = !0, n.breadcrumbs = [ {
55615561
title: "Image Streams",
55625562
link: "project/" + t.project + "/browse/images"
55635563
}, {
55645564
title: t.imagestream
5565-
} ], e.emptyMessage = "Loading...";
5566-
var s = [];
5567-
a.get(t.project).then(_.spread(function(a, i) {
5568-
e.project = a, n.get("imagestreams", t.imagestream, i, {
5565+
} ], n.emptyMessage = "Loading...", n.imageStreamsVersion = a.getPreferredVersion("imagestreams");
5566+
var c = [];
5567+
s.get(t.project).then(_.spread(function(a, i) {
5568+
n.project = a, r.get(n.imageStreamsVersion, t.imagestream, i, {
55695569
errorNotification: !1
5570-
}).then(function(a) {
5571-
e.loaded = !0, e.imageStream = a, e.emptyMessage = "No tags to show", s.push(n.watchObject("imagestreams", t.imagestream, i, function(t, n) {
5572-
"DELETED" === n && (e.alerts.deleted = {
5570+
}).then(function(e) {
5571+
n.loaded = !0, n.imageStream = e, n.emptyMessage = "No tags to show", c.push(r.watchObject(n.imageStreamsVersion, t.imagestream, i, function(e, t) {
5572+
"DELETED" === t && (n.alerts.deleted = {
55735573
type: "warning",
55745574
message: "This image stream has been deleted."
5575-
}), e.imageStream = t, e.tags = _.toArray(o.tagsByName(e.imageStream));
5575+
}), n.imageStream = e, n.tags = _.toArray(o.tagsByName(n.imageStream));
55765576
}));
55775577
}, function(t) {
5578-
e.loaded = !0, e.alerts.load = {
5578+
n.loaded = !0, n.alerts.load = {
55795579
type: "error",
55805580
message: "The image stream details could not be loaded.",
5581-
details: r("getErrorDetails")(t)
5581+
details: e("getErrorDetails")(t)
55825582
};
5583-
}), e.$on("$destroy", function() {
5584-
n.unwatchAll(s);
5583+
}), n.$on("$destroy", function() {
5584+
r.unwatchAll(c);
55855585
});
5586-
})), e.imagestreamPath = function(e, t) {
5586+
})), n.imagestreamPath = function(e, t) {
55875587
if (!t.status) return "";
55885588
var n = i.resourceURL(e.metadata.name, "ImageStream", e.metadata.namespace);
55895589
return t && (n += "/" + t.name), n;
@@ -15269,11 +15269,9 @@ group: "autoscaling",
1526915269
resource: "horizontalpodautoscalers",
1527015270
verbs: [ "update", "delete" ]
1527115271
} ],
15272-
imageStreams: [ {
15273-
group: "",
15274-
resource: "imagestreams",
15272+
imageStreams: [ _.assign({}, e.getPreferredVersion("imagestreams"), {
1527515273
verbs: [ "update", "delete" ]
15276-
} ],
15274+
}) ],
1527715275
serviceInstances: [ {
1527815276
group: "servicecatalog.k8s.io",
1527915277
resource: "serviceinstances",

dist/scripts/templates.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -2920,10 +2920,10 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function(
29202920
"</button>\n" +
29212921
"<a href=\"\" class=\"dropdown-toggle actions-dropdown-kebab visible-xs-inline\" data-toggle=\"dropdown\"><i class=\"fa fa-ellipsis-v\"></i><span class=\"sr-only\">Actions</span></a>\n" +
29222922
"<ul class=\"dropdown-menu dropdown-menu-right actions action-button\">\n" +
2923-
"<li ng-if=\"'imagestreams' | canI : 'update'\">\n" +
2923+
"<li ng-if=\"imageStreamsVersion | canI : 'update'\">\n" +
29242924
"<a ng-href=\"{{imageStream | editYamlURL}}\" role=\"button\">Edit YAML</a>\n" +
29252925
"</li>\n" +
2926-
"<li ng-if=\"'imagestreams' | canI : 'delete'\">\n" +
2926+
"<li ng-if=\"imageStreamsVersion | canI : 'delete'\">\n" +
29272927
"<delete-link kind=\"ImageStream\" resource-name=\"{{imageStream.metadata.name}}\" project-name=\"{{imageStream.metadata.namespace}}\" alerts=\"alerts\">\n" +
29282928
"</delete-link>\n" +
29292929
"</li>\n" +

0 commit comments

Comments
 (0)