@@ -4116,35 +4116,48 @@ _.each(e, function(d) {
4116
4116
h(d, c) && (b[d.id] = b[d.id] || [], b[d.id].push(a), f = !0);
4117
4117
}), f || (b[""] = b[""] || [], b[""].push(a));
4118
4118
}), b;
4119
- }, k = a("displayName"), l = function(a, b) {
4119
+ }, k = function(a) {
4120
+ return a.from && "ImageStreamTag" === a.from.kind && a.from.name.indexOf(":") === -1 && !a.from.namespace;
4121
+ }, l = a("displayName"), m = function(a, b) {
4120
4122
if (!b.length) return a;
4121
4123
var c = [];
4122
4124
return _.each(a, function(a) {
4123
- var d = _.get(a, "metadata.name", ""), e = k(a, !0), f = _.indexBy(a.spec.tags, "name");
4124
- _.each(b, function(b) {
4125
- b.test(d) || e && b.test(e) || _.each(a.spec.tags, function(a) {
4126
- var c = _.get(a, "annotations.tags", "");
4127
- if (!/\bbuilder\b/.test(c) || /\bhidden\b/.test(c)) return void delete f[a.name];
4128
- if (!b.test(a.name)) {
4129
- var d = _.get(a, "annotations.description");
4130
- d && b.test(d) || delete f[a.name];
4125
+ var d = _.get(a, "metadata.name", ""), e = l(a, !0), f = [], g = {}, h = {};
4126
+ _.each(a.spec.tags, function(a) {
4127
+ return k(a) ? (g[a.name] = a.from.name, h[a.from.name] = h[a.from.name] || [], void h[a.from.name].push(a.name)) :void f.push(a);
4128
+ });
4129
+ var i = _.indexBy(f, "name");
4130
+ _.each(b, function(a) {
4131
+ a.test(d) || e && a.test(e) || _.each(f, function(b) {
4132
+ var c = _.get(b, "annotations.tags", "");
4133
+ if (!/\bbuilder\b/.test(c) || /\bhidden\b/.test(c)) return void delete i[b.name];
4134
+ if (!a.test(b.name)) {
4135
+ var d = function(b) {
4136
+ return a.test(b);
4137
+ };
4138
+ if (!_.some(h[b.name], d)) {
4139
+ var e = _.get(b, "annotations.description");
4140
+ e && a.test(e) || delete i[b.name];
4141
+ }
4131
4142
}
4132
4143
});
4133
4144
});
4134
- var g;
4135
- _.isEmpty(f) || (g = angular.copy(a), g.status.tags = _.filter(g.status.tags, function(a) {
4136
- return f[a.tag];
4137
- }), c.push(g));
4145
+ var j;
4146
+ _.isEmpty(i) || (j = angular.copy(a), j.status.tags = _.filter(j.status.tags, function(a) {
4147
+ var b = g[a.tag];
4148
+ return b ? i[b] :i[a.tag];
4149
+ }), c.push(j));
4138
4150
}), c;
4139
- }, m = [ "metadata.name", 'metadata.annotations["openshift.io/display-name"]', "metadata.annotations.description" ], n = function(a, b) {
4140
- return c.filterForKeywords(a, m , b);
4151
+ }, n = [ "metadata.name", 'metadata.annotations["openshift.io/display-name"]', "metadata.annotations.description" ], o = function(a, b) {
4152
+ return c.filterForKeywords(a, n , b);
4141
4153
};
4142
4154
return {
4143
4155
getCategoryItem:f,
4144
4156
categorizeImageStreams:i,
4145
4157
categorizeTemplates:j,
4146
- filterImageStreams:l,
4147
- filterTemplates:n
4158
+ referencesSameImageStream:k,
4159
+ filterImageStreams:m,
4160
+ filterTemplates:o
4148
4161
};
4149
4162
} ]), angular.module("openshiftConsole").factory("ModalsService", [ "$uibModal", function(a) {
4150
4163
return {
@@ -11701,7 +11714,7 @@ keyword:""
11701
11714
}, b.$watch("filter.keyword", e), b.$watchGroup([ "openshiftImageStreams", "projectImageStreams" ], g), b.$watchGroup([ "openshiftTemplates", "projectTemplates" ], i);
11702
11715
}
11703
11716
};
11704
- } ]), angular.module("openshiftConsole").directive("catalogImage", [ "$filter", function(a) {
11717
+ } ]), angular.module("openshiftConsole").directive("catalogImage", [ "$filter", "CatalogService", function(a, b ) {
11705
11718
return {
11706
11719
restrict:"E",
11707
11720
replace:!0,
@@ -11713,25 +11726,25 @@ isBuilder:"=?",
11713
11726
keywords:"="
11714
11727
},
11715
11728
templateUrl:"views/catalog/_image.html",
11716
- link:function(b ) {
11717
- var c = a("imageStreamTagTags"), d = {};
11718
- b .referencedBy = {};
11719
- var e = _.get(b , "imageStream.spec.tags", []), f = {};
11720
- _.each(e , function(a) {
11721
- f [a.name] = c(b .imageStream, a.name), a.from && "ImageStreamTag" === a.from.kind && a.from.name.indexOf(":") === -1 && !a.from.namespace && (d [a.name] = !0, b .referencedBy[a.from.name] = b .referencedBy[a.from.name] || [], b .referencedBy[a.from.name].push(a.name));
11729
+ link:function(c ) {
11730
+ var d = a("imageStreamTagTags"), e = {};
11731
+ c .referencedBy = {};
11732
+ var f = _.get(c , "imageStream.spec.tags", []), g = {};
11733
+ _.each(f , function(a) {
11734
+ g [a.name] = d(c .imageStream, a.name), b.referencesSameImageStream(a) && (e [a.name] = !0, c .referencedBy[a.from.name] = c .referencedBy[a.from.name] || [], c .referencedBy[a.from.name].push(a.name));
11722
11735
});
11723
- var g = function(a) {
11724
- var b = _.get(f , [ a ], []);
11736
+ var h = function(a) {
11737
+ var b = _.get(g , [ a ], []);
11725
11738
return _.includes(b, "builder") && !_.includes(b, "hidden");
11726
11739
};
11727
- b .$watch("imageStream.status.tags", function(a) {
11728
- b .tags = _.filter(a, function(a) {
11729
- return g (a.tag) && !d [a.tag];
11740
+ c .$watch("imageStream.status.tags", function(a) {
11741
+ c .tags = _.filter(a, function(a) {
11742
+ return h (a.tag) && !e [a.tag];
11730
11743
});
11731
- var c = _.get(b , "is.tag.tag");
11732
- c && _.some(b .tags, {
11733
- tag:c
11734
- }) || _.set(b , "is.tag", _.head(b .tags));
11744
+ var b = _.get(c , "is.tag.tag");
11745
+ b && _.some(c .tags, {
11746
+ tag:b
11747
+ }) || _.set(c , "is.tag", _.head(c .tags));
11735
11748
});
11736
11749
}
11737
11750
};
0 commit comments