@@ -492,7 +492,7 @@ u.unwatchAll(at), $(window).off(".overview");
492
492
493
493
function ResourceServiceBindings(e, t, n, a, r) {
494
494
var o, i = this, s = e("enableTechPreviewFeature");
495
- i.bindings = [], i.bindableServiceInstances = [], i.serviceClasses = [], i.serviceInstances = [], i.showBindings = a.SERVICE_CATALOG_ENABLED && ("ServiceInstance" === _.get(i, "apiObject.kind") || s("pod_presets") );
495
+ i.bindings = [], i.bindableServiceInstances = [], i.serviceClasses = [], i.serviceInstances = [], i.showBindings = a.SERVICE_CATALOG_ENABLED && s("pod_presets");
496
496
var c = e("isIE")() || e("isEdge")(), l = [], u = e("canI"), d = i.serviceBindingsVersion = t.getPreferredVersion("servicebindings"), m = t.getPreferredVersion("clusterserviceclasses"), p = t.getPreferredVersion("serviceinstances"), f = t.getPreferredVersion("clusterserviceplans"), g = function() {
497
497
i.apiObject && i.bindings && (i.bindings = n.getBindingsForResource(i.bindings, i.apiObject));
498
498
}, v = function() {
@@ -527,6 +527,19 @@ r.unwatchAll(l);
527
527
};
528
528
}
529
529
530
+ function ServiceInstanceBindings(e, t, n) {
531
+ var a = this, r = e("canI"), o = a.serviceBindingsVersion = t.getPreferredVersion("servicebindings"), i = function() {
532
+ a.bindable = r(o, "create") && n.isServiceBindable(a.serviceInstance, a.serviceClass, a.servicePlan);
533
+ };
534
+ a.createBinding = function() {
535
+ a.overlayPanelVisible = !0;
536
+ }, a.closeOverlayPanel = function() {
537
+ a.overlayPanelVisible = !1;
538
+ }, a.$onChanges = function() {
539
+ i();
540
+ };
541
+ }
542
+
530
543
angular.isUndefined(window.OPENSHIFT_CONSTANTS) && (window.OPENSHIFT_CONSTANTS = {}), angular.extend(window.OPENSHIFT_CONSTANTS, {
531
544
HELP_BASE_URL: "https://docs.openshift.org/latest/",
532
545
HELP: {
@@ -6308,46 +6321,49 @@ e.serviceInstances = t.select(e.unfilteredServiceInstances), r();
6308
6321
i.unwatchAll(u);
6309
6322
});
6310
6323
}));
6311
- } ]), angular.module("openshiftConsole").controller("ServiceInstanceController", [ "$scope", "$filter", "$routeParams", "APIService", "DataService", "ProjectsService", "ServiceInstancesService", function(e, t, n, a, r, o, i) {
6324
+ } ]), angular.module("openshiftConsole").controller("ServiceInstanceController", [ "$scope", "$filter", "$routeParams", "APIService", "BindingService", " DataService", "ProjectsService", "ServiceInstancesService", function(e, t, n, a, r, o, i, s ) {
6312
6325
e.alerts = {}, e.projectName = n.project, e.serviceInstance = null, e.serviceClass = null, e.breadcrumbs = [ {
6313
6326
title: "Provisioned Services",
6314
6327
link: "project/" + n.project + "/browse/service-instances"
6315
6328
} ], e.deprovision = function() {
6316
- e.serviceInstance.metadata.deletionTimestamp || i .deprovision(e.serviceInstance);
6329
+ e.serviceInstance.metadata.deletionTimestamp || s .deprovision(e.serviceInstance, e.bindings );
6317
6330
};
6318
- var s = [], c = t("serviceInstanceDisplayName");
6331
+ var c = [], l = t("serviceInstanceDisplayName"), u = a.getPreferredVersion("servicebindings ");
6319
6332
e.serviceInstancesVersion = a.getPreferredVersion("serviceinstances");
6320
- var l, u = function() {
6333
+ var d, m = function() {
6321
6334
e.breadcrumbs.push({
6322
6335
title: e.displayName
6323
6336
});
6324
- }, d = function() {
6325
- e.serviceClass || l || (l = i .fetchServiceClassForInstance(e.serviceInstance).then(function(t) {
6326
- e.serviceClass = t, e.displayName = c (e.serviceInstance, t), u (), l = null;
6337
+ }, p = function() {
6338
+ e.serviceClass || d || (d = s .fetchServiceClassForInstance(e.serviceInstance).then(function(t) {
6339
+ e.serviceClass = t, e.displayName = l (e.serviceInstance, t), m (), d = null;
6327
6340
}));
6328
- }, m = function() {
6329
- i .isCurrentPlan(e.serviceInstance, e.plan) || i .fetchServicePlanForInstance(e.serviceInstance).then(function(t) {
6341
+ }, f = function() {
6342
+ s .isCurrentPlan(e.serviceInstance, e.plan) || s .fetchServicePlanForInstance(e.serviceInstance).then(function(t) {
6330
6343
e.plan = t;
6331
6344
});
6332
- }, p = function(t, n) {
6345
+ }, g = function(t, n) {
6333
6346
e.loaded = !0, e.serviceInstance = t, "DELETED" === n && (e.alerts.deleted = {
6334
6347
type: "warning",
6335
6348
message: "This provisioned service has been deleted."
6336
- }), d (), m ();
6349
+ }), p (), f ();
6337
6350
};
6338
- o .get(n.project).then(_.spread(function(a, o ) {
6339
- e.project = a, e.projectContext = o, r .get(e.serviceInstancesVersion, n.instance, o , {
6351
+ i .get(n.project).then(_.spread(function(a, i ) {
6352
+ e.project = a, e.projectContext = i, o .get(e.serviceInstancesVersion, n.instance, i , {
6340
6353
errorNotification: !1
6341
6354
}).then(function(t) {
6342
- p(t), s.push(r.watchObject(e.serviceInstancesVersion, n.instance, o, p));
6355
+ g(t), c.push(o.watchObject(e.serviceInstancesVersion, n.instance, i, g)), c.push(o.watch(u, i, function(n) {
6356
+ var a = n.by("metadata.name");
6357
+ e.bindings = r.getBindingsForResource(a, t);
6358
+ }));
6343
6359
}, function(n) {
6344
6360
e.loaded = !0, e.alerts.load = {
6345
6361
type: "error",
6346
6362
message: "The provisioned service details could not be loaded.",
6347
6363
details: t("getErrorDetails")(n)
6348
6364
};
6349
6365
}), e.$on("$destroy", function() {
6350
- r .unwatchAll(s );
6366
+ o .unwatchAll(c );
6351
6367
});
6352
6368
}));
6353
6369
} ]), angular.module("openshiftConsole").controller("SecretsController", [ "$routeParams", "$scope", "DataService", "ProjectsService", function(e, t, n, a) {
@@ -10379,6 +10395,18 @@ apiObject: "<",
10379
10395
createBinding: "&"
10380
10396
},
10381
10397
templateUrl: "views/directives/resource-service-bindings.html"
10398
+ }), angular.module("openshiftConsole").component("serviceInstanceBindings", {
10399
+ controller: [ "$filter", "APIService", "BindingService", ServiceInstanceBindings ],
10400
+ controllerAs: "$ctrl",
10401
+ bindings: {
10402
+ showHeader: "<?",
10403
+ project: "<",
10404
+ bindings: "<",
10405
+ serviceInstance: "<",
10406
+ serviceClass: "<",
10407
+ servicePlan: "<"
10408
+ },
10409
+ templateUrl: "views/directives/service-instance-bindings.html"
10382
10410
}), angular.module("openshiftConsole").directive("sidebar", [ "$location", "$filter", "$timeout", "$rootScope", "$routeParams", "AuthorizationService", "Constants", "HTMLService", function(e, t, n, a, r, o, i, s) {
10383
10411
var c = function(e, t) {
10384
10412
return e.href === t || _.some(e.prefixes, function(e) {
0 commit comments