@@ -10158,7 +10158,7 @@ if (a.spec.resources.requests.storage = c.claim.amount + b, c.claim.selectedLabe
10158
10158
var d = j.mapEntries(j.compactEntries(c.claim.selectedLabels));
10159
10159
_.isEmpty(d) || _.set(a, "spec.selector.matchLabels", d);
10160
10160
}
10161
- return c.claim.storageClass && (a.metadata.annotations["volume.beta.kubernetes.io/storage-class"] = c.claim.storageClass.metadata.name), a;
10161
+ return c.claim.storageClass && "No Storage Class" !== c.claim.storageClass.metadata.name && (a.metadata.annotations["volume.beta.kubernetes.io/storage-class"] = c.claim.storageClass.metadata.name), a;
10162
10162
}
10163
10163
return c.project = e, c.breadcrumbs[0].title = a("displayName")(e), f.canI("persistentvolumeclaims", "create", b.project) ? void (c.createPersistentVolumeClaim = function() {
10164
10164
if (c.createPersistentVolumeClaimForm.$valid) {
@@ -11349,7 +11349,7 @@ projectName:"="
11349
11349
templateUrl:"views/directives/osc-persistent-volume-claim.html",
11350
11350
link:function(e) {
11351
11351
var f = a("amountAndUnit"), g = a("usageValue");
11352
- e.storageClasses = [], e.claim.unit = "Gi", e.units = [ {
11352
+ e.storageClasses = [], e.defaultStorageClass = "", e. claim.unit = "Gi", e.units = [ {
11353
11353
value:"Mi",
11354
11354
label:"MiB"
11355
11355
}, {
@@ -11390,8 +11390,24 @@ a && b && (d = a >= b), a && c && (f = a <= c), e.persistentVolumeClaimForm.capa
11390
11390
b.list({
11391
11391
group:"storage.k8s.io",
11392
11392
resource:"storageclasses"
11393
- }, {}, function(a) {
11394
- e.storageClasses = a.by("metadata.name");
11393
+ }, {}, function(b) {
11394
+ var c = b.by("metadata.name");
11395
+ e.storageClasses = _.sortBy(c, "metadata.name");
11396
+ var d = a("annotation");
11397
+ if (e.defaultStorageClass = _.find(e.storageClasses, function(a) {
11398
+ return "true" === d(a, "storageclass.beta.kubernetes.io/is-default-class");
11399
+ }), e.defaultStorageClass) e.claim.storageClass = e.defaultStorageClass; else {
11400
+ var f = {
11401
+ metadata:{
11402
+ name:"No Storage Class",
11403
+ labels:{},
11404
+ annotations:{
11405
+ description:"No storage class will be assigned"
11406
+ }
11407
+ }
11408
+ };
11409
+ e.storageClasses.unshift(f);
11410
+ }
11395
11411
}, {
11396
11412
errorNotification:!1
11397
11413
}), b.list("limitranges", {
@@ -23633,31 +23649,34 @@ var _scriptsTemplatesJs = []byte(`angular.module('openshiftConsoleTemplates', []
23633
23649
"<fieldset ng-disabled=\"claimDisabled\">\n" +
23634
23650
"<div ng-show=\"storageClasses | hashSize\" class=\"form-group\">\n" +
23635
23651
"\n" +
23636
- "<label class=\"required\">Storage Classes</label>\n" +
23637
- "<div id=\"claim-storage-class-help\" class=\"help-block mar-bottom-lg\">\n" +
23638
- "Storage classes are set by the administrator to define types of storage the users can select.\n" +
23639
- "<div class=\"learn-more-block\">\n" +
23640
- "<a ng-href=\"{{'storage_classes' | helpLink}}\" target=\"_blank\">Learn More <i class=\"fa fa-external-link\" aria-hidden=\"true\"></i></a>\n" +
23641
- "</div>\n" +
23642
- "</div>\n" +
23643
- "<div ng-repeat=\"sclass in storageClasses track by (sclass | uid)\" id=\"storageclass-{{sclass.metadata.name}}\">\n" +
23644
- "<div class=\"radio\">\n" +
23645
- "<label>\n" +
23646
- "<input type=\"radio\" name=\"storageClass\" ng-value=\"sclass\" ng-model=\"claim.storageClass\">\n" +
23647
- "{{sclass.metadata.name}}\n" +
23648
- "</label>\n" +
23652
+ "<label>Storage Class</label>\n" +
23653
+ "<div>\n" +
23654
+ "<ui-select ng-if=\"storageClasses\" ng-model=\"claim.storageClass\" theme=\"bootstrap\" search-enabled=\"true\" title=\"Select a storage class\" class=\"select-role\">\n" +
23655
+ "<ui-select-match placeholder=\"Select a storage class\">\n" +
23656
+ "<span>\n" +
23657
+ "{{$select.selected.metadata.name}}\n" +
23658
+ "</span>\n" +
23659
+ "</ui-select-match>\n" +
23660
+ "<ui-select-choices repeat=\"sclass as sclass in storageClasses | toArray | filter : { metadata: { name: $select.search } } \">\n" +
23661
+ "<div>\n" +
23662
+ "<span ng-bind-html=\"sclass.metadata.name | highlight : $select.search\"></span>\n" +
23663
+ "<span ng-if=\"sclass | annotation : 'description'\" class=\"text-muted\">\n" +
23664
+ "<small>–\n" +
23665
+ "<span ng-if=\"sclass.parameters.type\">Type: {{sclass.parameters.type}} | </span>\n" +
23666
+ "<span ng-if=\"sclass.parameters.zone\">Zone: {{sclass.parameters.zone}} | </span>\n" +
23667
+ "{{sclass | annotation : 'description'}}\n" +
23668
+ "</small>\n" +
23669
+ "</span>\n" +
23649
23670
"</div>\n" +
23650
- "<div class=\"help-block\">\n" +
23651
- "Type: {{sclass.parameters.type}} | Zone: {{sclass.parameters.zone}}\n" +
23652
- "<span ng-if=\"sclass.metadata.annotations.description\"> | {{sclass.metadata.annotations.description}}</span>\n" +
23671
+ "</ui-select-choices>\n" +
23672
+ "</ui-select>\n" +
23653
23673
"</div>\n" +
23674
+ "<div id=\"claim-storage-class-help\" class=\"help-block\">\n" +
23675
+ "Storage classes are set by the administrator to define types of storage the users can select.\n" +
23676
+ "<span ng-if=\"defaultStorageClass\"> If another storage class is not chosen, the default storage class <var>{{defaultStorageClass.metadata.name}}</var> will be used.</span>\n" +
23677
+ "<div class=\"learn-more-block\">\n" +
23678
+ "<a ng-href=\"{{'storage_classes' | helpLink}}\" target=\"_blank\">Learn More <i class=\"fa fa-external-link\" aria-hidden=\"true\"> </i></a>\n" +
23654
23679
"</div>\n" +
23655
- "<div class=\"radio\">\n" +
23656
- "<label>\n" +
23657
- "<input type=\"radio\" name=\"storageClass\" ng-model=\"claim.storageClass\">\n" +
23658
- "No Storage Class\n" +
23659
- "<div class=\"help-block\">No storage class will be assigned unless a default class has been assigned by the system administrator.</div>\n" +
23660
- "</label>\n" +
23661
23680
"</div>\n" +
23662
23681
"</div>\n" +
23663
23682
"\n" +
0 commit comments