diff --git a/app/index.html b/app/index.html index 912993a330..6a3a338b86 100644 --- a/app/index.html +++ b/app/index.html @@ -328,7 +328,7 @@

JavaScript Required

- + diff --git a/app/scripts/controllers/configMap.js b/app/scripts/controllers/configMap.js index 502138e0a3..f28270d694 100644 --- a/app/scripts/controllers/configMap.js +++ b/app/scripts/controllers/configMap.js @@ -37,9 +37,20 @@ angular.module('openshiftConsole') } }; + $scope.addToApplicationVisible = false; + + $scope.addToApplication = function() { + $scope.addToApplicationVisible = true; + }; + + $scope.closeAddToApplication = function() { + $scope.addToApplicationVisible = false; + }; + ProjectsService .get($routeParams.project) .then(_.spread(function(project, context) { + $scope.project = project; DataService .get("configmaps", $routeParams.configMap, context, { errorNotification: false }) .then(function(configMap) { diff --git a/app/scripts/directives/addSecretToApplication.js b/app/scripts/directives/addConfigToApplication.js similarity index 72% rename from app/scripts/directives/addSecretToApplication.js rename to app/scripts/directives/addConfigToApplication.js index 15a569b3d9..1cd4cf7927 100644 --- a/app/scripts/directives/addSecretToApplication.js +++ b/app/scripts/directives/addConfigToApplication.js @@ -1,6 +1,6 @@ "use strict"; (function() { - angular.module("openshiftConsole").component('addSecretToApplication', { + angular.module("openshiftConsole").component('addConfigToApplication', { controller: [ '$filter', '$scope', @@ -10,19 +10,19 @@ 'Navigate', 'NotificationsService', 'StorageService', - AddSecretToApplication + AddConfigToApplication ], controllerAs: 'ctrl', bindings: { project: '<', - secret: '<', + apiObject: '<', onComplete: '<', onCancel: '<' }, - templateUrl: 'views/directives/add-secret-to-application.html' + templateUrl: 'views/directives/add-config-to-application.html' }); - function AddSecretToApplication($filter, $scope, APIService, ApplicationsService, DataService, Navigate, NotificationsService, StorageService) { + function AddConfigToApplication($filter, $scope, APIService, ApplicationsService, DataService, Navigate, NotificationsService, StorageService) { var ctrl = this; var getApplications = function() { @@ -41,8 +41,8 @@ getApplications(); - var keyValidator = new RegExp("^[A-Za-z_]{1}[A-Za-z0-9_]*$"); - ctrl.hasInvalidEnvVars = _.some(ctrl.secret.data, function(value, key) { + var keyValidator = new RegExp("^[A-Za-z_][A-Za-z0-9_]*$"); + ctrl.hasInvalidEnvVars = _.some(ctrl.apiObject.data, function(value, key) { return !keyValidator.test(key); }); }; @@ -70,11 +70,19 @@ ctrl.disableInputs = true; if (ctrl.addType === 'env') { - var newEnvFrom = { - secretRef: { - name: ctrl.secret.metadata.name - } - }; + var newEnvFrom = {}; + switch (ctrl.apiObject.kind) { + case 'Secret': + newEnvFrom.secretRef = { + name: ctrl.apiObject.metadata.name + }; + break; + case 'ConfigMap': + newEnvFrom.configMapRef = { + name: ctrl.apiObject.metadata.name + }; + break; + } // For each container, add the new volume mount. _.each(podTemplate.spec.containers, function(container) { @@ -85,7 +93,7 @@ }); } else { var generateName = $filter('generateName'); - var name = generateName(ctrl.secret.metadata.name + '-'); + var name = generateName(ctrl.apiObject.metadata.name + '-'); var newVolumeMount = { name: name, mountPath: ctrl.mountVolume, @@ -101,18 +109,28 @@ }); var newVolume = { - name: name, - secret: { - secretName: ctrl.secret.metadata.name - } + name: name }; + switch (ctrl.apiObject.kind) { + case 'Secret': + newVolume.secret = { + secretName: ctrl.apiObject.metadata.name + }; + break; + case 'ConfigMap': + newVolume.configMap = { + name: ctrl.apiObject.metadata.name + }; + break; + } + podTemplate.spec.volumes = podTemplate.spec.volumes || []; podTemplate.spec.volumes.push(newVolume); } var humanizeKind = $filter('humanizeKind'); - var sourceKind = humanizeKind(ctrl.secret.kind); + var sourceKind = humanizeKind(ctrl.apiObject.kind); var targetKind = humanizeKind(applicationToUpdate.kind); var context = { namespace: ctrl.project.metadata.name @@ -122,7 +140,7 @@ function() { NotificationsService.addNotification({ type: "success", - message: "Successfully added " + sourceKind + " " + ctrl.secret.metadata.name + " to " + targetKind + " " + applicationToUpdate.metadata.name + ".", + message: "Successfully added " + sourceKind + " " + ctrl.apiObject.metadata.name + " to " + targetKind + " " + applicationToUpdate.metadata.name + ".", links: [{ href: Navigate.resourceURL(applicationToUpdate), label: "View " + humanizeKind(applicationToUpdate.kind, true) @@ -137,7 +155,7 @@ NotificationsService.addNotification({ type: "error", - message: "An error occurred adding " + sourceKind + " " + ctrl.secret.metadata.name + " to " + targetKind + " " + applicationToUpdate.metadata.name + ". " + + message: "An error occurred adding " + sourceKind + " " + ctrl.apiObject.metadata.name + " to " + targetKind + " " + applicationToUpdate.metadata.name + ". " + getErrorDetails(result) }); }).finally(function() { diff --git a/app/styles/_add-config-to-application.less b/app/styles/_add-config-to-application.less new file mode 100644 index 0000000000..98b81d3b66 --- /dev/null +++ b/app/styles/_add-config-to-application.less @@ -0,0 +1,69 @@ +.add-config-to-application { + .catalogs-overlay-panel { + max-width: 600px; + } + + .container-options { + margin-left: 20px; + .select-container { + max-height: 200px; + overflow-y: auto; + .checkbox:first-of-type { + margin-top: 0; + } + } + } + + .dialog-title { + border-bottom: 1px solid @color-pf-black-300; + + h3 { + margin: 18px 0; + padding-left: 15px; + } + } + + .dialog-body { + padding: 20px; + + .add-choice { + margin-bottom: 10px; + } + .button-group { + .btn { + margin-left: 10px; + &:first-of-type { + margin-left: 0; + } + } + } + legend { + border-bottom: 0; + font-size: @font-size-base + 1; + font-weight: 600; + margin-bottom: 10px; + } + .radio { + margin-top: 0; + } + } + + .env-warning { + margin-left: 20px; + } + + .updating { + background-color: @color-pf-white; + bottom: 55px; + left: 0; + padding-top: 60px; + position: absolute; + right: 0; + top: 55px; + z-index: 1000; + } + + .volume-options { + margin-left: 20px; + } +} diff --git a/app/styles/_secrets.less b/app/styles/_secrets.less index d05c85412d..2904c384ad 100644 --- a/app/styles/_secrets.less +++ b/app/styles/_secrets.less @@ -1,73 +1,3 @@ -.add-secret-to-application { - .catalogs-overlay-panel { - max-width: 600px; - } - - .container-options { - margin-left: 20px; - .select-container { - max-height: 200px; - overflow-y: auto; - .checkbox:first-of-type { - margin-top: 0; - } - } - } - - .dialog-title { - border-bottom: 1px solid @color-pf-black-300; - - h3 { - margin: 18px 0; - padding-left: 15px; - } - } - - .dialog-body { - padding: 20px; - - .add-choice { - margin-bottom: 10px; - } - .button-group { - .btn { - margin-left: 10px; - &:first-of-type { - margin-left: 0; - } - } - } - legend { - border-bottom: 0; - font-size: @font-size-base + 1; - font-weight: 600; - margin-bottom: 10px; - } - .radio { - margin-top: 0; - } - } - - .env-warning { - margin-left: 20px; - } - - .updating { - background-color: @color-pf-white; - bottom: 55px; - left: 0; - padding-top: 60px; - position: absolute; - right: 0; - top: 55px; - z-index: 1000; - } - - .volume-options { - margin-left: 20px; - } -} - .osc-secrets-form { .advanced-secrets, .basic-secrets { diff --git a/app/styles/main.less b/app/styles/main.less index 2f5a21780d..bdd3073466 100644 --- a/app/styles/main.less +++ b/app/styles/main.less @@ -65,3 +65,4 @@ @import "_wizard.less"; @import "_builds.less"; @import "_editor.less"; +@import "_add-config-to-application.less"; diff --git a/app/views/browse/config-map.html b/app/views/browse/config-map.html index 31ccf95351..42bf172a6a 100644 --- a/app/views/browse/config-map.html +++ b/app/views/browse/config-map.html @@ -10,15 +10,31 @@

The config map could not be loaded.

-

+ + + diff --git a/app/views/browse/secret.html b/app/views/browse/secret.html index a576e435df..e0176b3443 100644 --- a/app/views/browse/secret.html +++ b/app/views/browse/secret.html @@ -11,18 +11,28 @@

The secret details could not be loaded.

- - + + diff --git a/app/views/directives/add-secret-to-application.html b/app/views/directives/add-config-to-application.html similarity index 87% rename from app/views/directives/add-secret-to-application.html rename to app/views/directives/add-config-to-application.html index 37d548ce08..ebc1675fb1 100644 --- a/app/views/directives/add-secret-to-application.html +++ b/app/views/directives/add-config-to-application.html @@ -5,7 +5,7 @@

Add to Application

- Add this secret to application: + Add this {{ctrl.apiObject | humanizeKind}} to application:
@@ -23,7 +23,7 @@

Add to Application

- Add secret as: + Add {{ctrl.apiObject | humanizeKind}} as:
@@ -33,7 +33,10 @@

Add to Application

- Some of the keys for secret {{ctrl.secret.metadata.name}} are not valid environment variable names and will not be added. + Some of the keys for {{ctrl.apiObject | humanizeKind}} + {{ctrl.apiObject.metadata.name}} are not + valid environment variable names and will not be + added.
@@ -60,7 +63,9 @@

Add to Application

spellcheck="false">
- Mount Path for the volume. A file will be created in this director for each key from the secret. The file contents will be the value of the key. + Mount Path for the volume. A file will be created in this + director for each key from the {{ctrl.apiObject | humanizeKind}}. + The file contents will be the value of the key.
@@ -78,7 +83,7 @@

Add to Application

Containers:
- The secret will be added to all containers. You can + The {{ctrl.apiObject | humanizeKind}} will be added to all containers. You can select specific containers instead.
@@ -88,7 +93,7 @@

Add to Application

ng-model="ctrl.attachContainers" pod-template="ctrl.application.spec.template" ng-required="true" - help-text="Add the secret to the selected containers."> + help-text="Add the {{ctrl.apiObject | humanizeKind}} to the selected containers.">
diff --git a/dist/scripts/scripts.js b/dist/scripts/scripts.js index 731c808ed9..8e593eb1f5 100644 --- a/dist/scripts/scripts.js +++ b/dist/scripts/scripts.js @@ -6169,8 +6169,12 @@ type: "warning", message: "This config map has been deleted." }); }; -r.get(t.project).then(_.spread(function(n, r) { -a.get("configmaps", t.configMap, r, { +e.addToApplicationVisible = !1, e.addToApplication = function() { +e.addToApplicationVisible = !0; +}, e.closeAddToApplication = function() { +e.addToApplicationVisible = !1; +}, r.get(t.project).then(_.spread(function(n, r) { +e.project = n, a.get("configmaps", t.configMap, r, { errorNotification: !1 }).then(function(e) { i(e), o.push(a.watchObject("configmaps", t.configMap, r, i)); @@ -10599,7 +10603,7 @@ showAction: "=?" templateUrl: "views/directives/action-chip.html" }; }), function() { -angular.module("openshiftConsole").component("addSecretToApplication", { +angular.module("openshiftConsole").component("addConfigToApplication", { controller: [ "$filter", "$scope", "APIService", "ApplicationsService", "DataService", "Navigate", "NotificationsService", "StorageService", function(e, t, n, a, r, o, i, s) { var c = this, l = function() { var e = { @@ -10611,8 +10615,8 @@ c.applications = e, c.updating = !1; }; c.$onInit = function() { c.addType = "env", c.disableInputs = !1, l(); -var e = new RegExp("^[A-Za-z_]{1}[A-Za-z0-9_]*$"); -c.hasInvalidEnvVars = _.some(c.secret.data, function(t, n) { +var e = new RegExp("^[A-Za-z_][A-Za-z0-9_]*$"); +c.hasInvalidEnvVars = _.some(c.apiObject.data, function(t, n) { return !e.test(n); }); }; @@ -10629,16 +10633,24 @@ c.existingMountPaths = s.getMountPaths(e), c.attachAllContainers = !0; }, c.addToApplication = function() { var t = angular.copy(c.application), a = _.get(t, "spec.template"); if (c.disableInputs = !0, "env" === c.addType) { -var s = { -secretRef: { -name: c.secret.metadata.name -} +var s = {}; +switch (c.apiObject.kind) { +case "Secret": +s.secretRef = { +name: c.apiObject.metadata.name }; +break; + +case "ConfigMap": +s.configMapRef = { +name: c.apiObject.metadata.name +}; +} _.each(a.spec.containers, function(e) { u(e) && (e.envFrom = e.envFrom || [], e.envFrom.push(s)); }); } else { -var l = e("generateName")(c.secret.metadata.name + "-"), d = { +var l = e("generateName")(c.apiObject.metadata.name + "-"), d = { name: l, mountPath: c.mountVolume, readOnly: !0 @@ -10647,20 +10659,29 @@ _.each(a.spec.containers, function(e) { u(e) && (e.volumeMounts = e.volumeMounts || [], e.volumeMounts.push(d)); }); var m = { -name: l, -secret: { -secretName: c.secret.metadata.name -} +name: l +}; +switch (c.apiObject.kind) { +case "Secret": +m.secret = { +secretName: c.apiObject.metadata.name +}; +break; + +case "ConfigMap": +m.configMap = { +name: c.apiObject.metadata.name }; +} a.spec.volumes = a.spec.volumes || [], a.spec.volumes.push(m); } -var p = e("humanizeKind"), f = p(c.secret.kind), g = p(t.kind), h = { +var p = e("humanizeKind"), f = p(c.apiObject.kind), g = p(t.kind), h = { namespace: c.project.metadata.name }; r.update(n.kindToResource(t.kind), t.metadata.name, t, h).then(function() { i.addNotification({ type: "success", -message: "Successfully added " + f + " " + c.secret.metadata.name + " to " + g + " " + t.metadata.name + ".", +message: "Successfully added " + f + " " + c.apiObject.metadata.name + " to " + g + " " + t.metadata.name + ".", links: [ { href: o.resourceURL(t), label: "View " + p(t.kind, !0) @@ -10670,7 +10691,7 @@ label: "View " + p(t.kind, !0) var a = e("getErrorDetails"); i.addNotification({ type: "error", -message: "An error occurred adding " + f + " " + c.secret.metadata.name + " to " + g + " " + t.metadata.name + ". " + a(n) +message: "An error occurred adding " + f + " " + c.apiObject.metadata.name + " to " + g + " " + t.metadata.name + ". " + a(n) }); }).finally(function() { c.disableInputs = !1; @@ -10680,11 +10701,11 @@ c.disableInputs = !1; controllerAs: "ctrl", bindings: { project: "<", -secret: "<", +apiObject: "<", onComplete: "<", onCancel: "<" }, -templateUrl: "views/directives/add-secret-to-application.html" +templateUrl: "views/directives/add-config-to-application.html" }); }(), angular.module("openshiftConsole").directive("templateOptions", function() { return { diff --git a/dist/scripts/templates.js b/dist/scripts/templates.js index edf5e2d277..e43259343f 100644 --- a/dist/scripts/templates.js +++ b/dist/scripts/templates.js @@ -2161,13 +2161,21 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function( "
\n" + "
\n" + "

\n" + - "
\n" + - "\n" + + "\n" + - "Actions\n" + + "\n" + + "Actions\n" + "
    \n" + + "
  • \n" + + "Add to Application\n" + + "
  • \n" + "
  • \n" + "Edit\n" + "
  • \n" + @@ -2200,7 +2208,7 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function( "\n" + "{{prop}}\n" + "\n" + - "\n" + + "\n" + "\n" + "\n" + "\n" + @@ -2211,6 +2219,9 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function( "
\n" + "

\n" + "
\n" + + "\n" + + "\n" + + "\n" + "
\n" + "" ); @@ -3588,16 +3599,18 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function( "
\n" + "

\n" + "
\n" + - "\n" + "\n" + - "Actions\n" + + "\n" + + "Actions\n" + "
    \n" + - "
  • \n" + + "
  • \n" + "Add to Application\n" + "
  • \n" + "
  • \n" + @@ -3652,8 +3665,8 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function( "
\n" + "

\n" + "\n" + - "\n" + - "\n" + + "\n" + + "\n" + "\n" + "\n" + "" @@ -5556,7 +5569,7 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function( ); - $templateCache.put('views/directives/add-secret-to-application.html', + $templateCache.put('views/directives/add-config-to-application.html', "
\n" + "
\n" + "

Add to Application

\n" + @@ -5564,7 +5577,7 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function( "
\n" + "\n" + "
\n" + - "Add this secret to application:\n" + + "Add this {{ctrl.apiObject | humanizeKind}} to application:\n" + "
\n" + "
\n" + "\n" + @@ -5580,7 +5593,7 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function( "\n" + "
\n" + "
\n" + - "Add secret as:\n" + + "Add {{ctrl.apiObject | humanizeKind}} as:\n" + "
\n" + "
\n" + "
\n" + @@ -5590,7 +5603,8 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function( "\n" + "
\n" + "\n" + - "Some of the keys for secret {{ctrl.secret.metadata.name}} are not valid environment variable names and will not be added.\n" + + "Some of the keys for {{ctrl.apiObject | humanizeKind}}\n" + + "{{ctrl.apiObject.metadata.name}} are not valid environment variable names and will not be added.\n" + "
\n" + "
\n" + "
\n" + @@ -5604,7 +5618,7 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function( "\n" + "
\n" + "
\n" + - "Mount Path for the volume. A file will be created in this director for each key from the secret. The file contents will be the value of the key.\n" + + "Mount Path for the volume. A file will be created in this director for each key from the {{ctrl.apiObject | humanizeKind}}. The file contents will be the value of the key.\n" + "
\n" + "
\n" + "\n" + @@ -5622,13 +5636,13 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function( " 1\">Containers:\n" + "
\n" + "
\n" + - "The secret will be added to all containers. You can\n" + + "The {{ctrl.apiObject | humanizeKind}} will be added to all containers. You can\n" + "select specific containers\n" + "instead.\n" + "
\n" + "
\n" + "\n" + - "\n" + + "\n" + "\n" + "
\n" + "
\n" + diff --git a/dist/styles/main.css b/dist/styles/main.css index adb8241cfe..b87237715e 100644 --- a/dist/styles/main.css +++ b/dist/styles/main.css @@ -3,7 +3,6 @@ body,figure{margin:0} .text-left,caption,th{text-align:left} .navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.pre-scrollable{max-height:340px} .c3 svg,html{-webkit-tap-highlight-color:transparent} -.list-view-pf-top-align .list-view-pf-actions,.list-view-pf-top-align .list-view-pf-checkbox{align-self:flex-start} .fa,.font-icon,.glyphicon{-moz-osx-font-smoothing:grayscale} @font-face{font-family:"Open Sans";font-style:normal;font-weight:300;src:url(../styles/fonts/OpenSans-Light-webfont.eot);src:local("Open Sans Light"),local("OpenSans-Light"),url(../styles/fonts/OpenSans-Light-webfont.eot?#iefix) format("embedded-opentype"),url(../styles/fonts/OpenSans-Light-webfont.woff2) format("woff2"),url(../styles/fonts/OpenSans-Light-webfont.woff) format("woff"),url(../styles/fonts/OpenSans-Light-webfont.ttf) format("truetype"),url(../styles/fonts/OpenSans-Light-webfont.svg#OpenSans) format("svg")} @font-face{font-family:"Open Sans";font-style:normal;font-weight:400;src:url(../styles/fonts/OpenSans-Regular-webfont.eot);src:local("Open Sans"),local("OpenSans"),url(../styles/fonts/OpenSans-Regular-webfont.eot?#iefix) format("embedded-opentype"),url(../styles/fonts/OpenSans-Regular-webfont.woff2) format("woff2"),url(../styles/fonts/OpenSans-Regular-webfont.woff) format("woff"),url(../styles/fonts/OpenSans-Regular-webfont.ttf) format("truetype"),url(../styles/fonts/OpenSans-Regular-webfont.svg#OpenSans) format("svg")} @@ -767,7 +766,6 @@ select[multiple].input-lg,textarea.input-lg{height:auto} .form-horizontal .form-group-sm .control-label{padding-top:3px;font-size:11px} } .btn{display:inline-block;margin-bottom:0;font-weight:600;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:2px 6px;font-size:13px;line-height:1.66666667;border-radius:1px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} -.bootstrap-switch,.datepicker table{-webkit-user-select:none;-moz-user-select:none} .btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:dotted thin!important;outline:-webkit-focus-ring-color auto 5px!important;outline-offset:-2px!important} .btn.focus,.btn:focus,.btn:hover{color:#4d5258;text-decoration:none} .btn.active,.btn:active{outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)} @@ -952,7 +950,7 @@ select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.i .navbar-collapse.in{overflow-y:visible} .navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0} } -.carousel-inner,.embed-responsive,.modal,.modal-open,.progress{overflow:hidden} +.embed-responsive,.modal,.modal-open,.progress{overflow:hidden} @media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px} } .membership .ui-select-bootstrap>.ui-select-choices,.typeahead-long{max-height:300px} @@ -1338,7 +1336,7 @@ button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance .popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff} .popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#bbb} .popover.left>.arrow:after{right:1px;border-right-width:0;border-left-color:#fff} -.carousel-inner{width:100%} +.carousel-inner{overflow:hidden;width:100%} .carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left} @media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-moz-transition:-moz-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px} .carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0} @@ -2376,7 +2374,7 @@ td>.progress:first-child:last-child{margin-bottom:0;margin-top:3px} .datepicker-dropdown.datepicker-orient-bottom:after{top:-6px} .datepicker-dropdown.datepicker-orient-top:before{bottom:-7px;border-bottom:0;border-top:7px solid #bbb} .datepicker-dropdown.datepicker-orient-top:after{bottom:-6px;border-bottom:0;border-top:6px solid #fff} -.datepicker table{margin:0;-webkit-touch-callout:none;-khtml-user-select:none;-ms-user-select:none;user-select:none} +.datepicker table{margin:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} .datepicker table tr td,.datepicker table tr th{text-align:center;width:30px;height:30px;border:none} .datepicker table tr td.new,.datepicker table tr td.old{color:#9c9c9c} .datepicker table tr td.day:hover,.datepicker table tr td.focused{background:#f1f1f1;cursor:pointer} @@ -2512,8 +2510,7 @@ select.bs-select-hidden,select.selectpicker{display:none!important} .bs-donebutton .btn-group button{width:100%} .bs-searchbox+.bs-actionsbox{padding:0 8px 4px} .bs-searchbox .form-control{margin-bottom:0;width:100%;float:none} -.bootstrap-switch{display:inline-block;direction:ltr;cursor:pointer;border-radius:1px;border:1px solid #bbb;position:relative;text-align:left;overflow:hidden;line-height:8px;z-index:0;-ms-user-select:none;user-select:none;vertical-align:middle;-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s} -.c3 text,.log-line-number{-moz-user-select:none;-webkit-user-select:none} +.bootstrap-switch{display:inline-block;direction:ltr;cursor:pointer;border-radius:1px;border:1px solid #bbb;position:relative;text-align:left;overflow:hidden;line-height:8px;z-index:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s} .bootstrap-switch .bootstrap-switch-container{display:inline-block;top:0;border-radius:1px;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)} .bootstrap-switch .bootstrap-switch-handle-off,.bootstrap-switch .bootstrap-switch-handle-on,.bootstrap-switch .bootstrap-switch-label{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block!important;height:100%;padding:2px 6px;font-size:13px;line-height:21px} .ie9.layout-pf-alt-fixed .nav-pf-vertical-alt,.ie9.layout-pf-fixed .nav-pf-secondary-nav,.ie9.layout-pf-fixed .nav-pf-tertiary-nav,.ie9.layout-pf-fixed .nav-pf-vertical,.list-group-item-header{box-sizing:content-box} @@ -2547,7 +2544,7 @@ select.bs-select-hidden,select.selectpicker{display:none!important} .bootstrap-touchspin .input-group-btn-vertical i{position:absolute;font-weight:400} .c3 svg{font:10px sans-serif} .c3 line,.c3 path{fill:none;stroke:#000} -.c3 text{user-select:none} +.c3 text{-webkit-user-select:none;-moz-user-select:none;user-select:none} .c3-bars path,.c3-event-rect,.c3-legend-item-tile,.c3-xgrid-focus,.c3-ygrid{shape-rendering:crispEdges} .c3-chart-arc text{fill:#fff;font-size:13px} .c3-grid text{fill:#aaa} @@ -3132,6 +3129,7 @@ a.disabled{color:#8b8d8f;cursor:not-allowed;text-decoration:none} } .list-view-pf-actions{float:right;margin-bottom:20px;margin-left:20px;margin-top:20px;order:2} .list-view-pf-actions .dropdown-kebab-pf,.list-view-pf-actions button,.list-view-pf-actions>a{margin-left:10px} +.list-view-pf-top-align .list-view-pf-actions{align-self:flex-start} .list-view-pf-additional-info{align-items:center;display:flex;flex-wrap:wrap} @media (min-width:992px){.list-view-pf-additional-info{flex:1 0 auto;float:left;width:50%} } @@ -3146,6 +3144,7 @@ a.disabled{color:#8b8d8f;cursor:not-allowed;text-decoration:none} @media (min-width:992px){.list-view-pf-body{align-items:center;display:flex;flex-direction:row} } .list-view-pf-checkbox{border-right:1px solid #d1d1d1;float:left;margin-right:15px;padding:3px 10px 3px 0} +.list-view-pf-top-align .list-view-pf-checkbox{align-self:flex-start} .list-view-pf-stacked .list-view-pf-description{display:block;flex:none} @media (min-width:992px){.list-view-pf-description{align-items:center;display:flex;float:left;width:50%} } @@ -5324,20 +5323,6 @@ td.visible-print,th.visible-print{display:table-cell!important} .landing::-webkit-scrollbar-track{background-color:#042e43} .landing-side-bar::-webkit-scrollbar-track{background-color:#21272e} .project-bar ::-webkit-scrollbar-track{background-color:#050505} -.add-secret-to-application .catalogs-overlay-panel{max-width:600px} -.add-secret-to-application .container-options{margin-left:20px} -.add-secret-to-application .container-options .select-container{max-height:200px;overflow-y:auto} -.add-secret-to-application .container-options .select-container .checkbox:first-of-type{margin-top:0} -.add-secret-to-application .dialog-title{border-bottom:1px solid #d1d1d1} -.add-secret-to-application .dialog-title h3{margin:18px 0;padding-left:15px} -.add-secret-to-application .dialog-body{padding:20px} -.add-secret-to-application .dialog-body .add-choice{margin-bottom:10px} -.add-secret-to-application .dialog-body .button-group .btn{margin-left:10px} -.add-secret-to-application .dialog-body .button-group .btn:first-of-type{margin-left:0} -.add-secret-to-application .env-warning,.add-secret-to-application .volume-options{margin-left:20px} -.add-secret-to-application .dialog-body legend{border-bottom:0;font-size:14px;font-weight:600;margin-bottom:10px} -.add-secret-to-application .dialog-body .radio{margin-top:0} -.add-secret-to-application .updating{background-color:#fff;bottom:55px;left:0;padding-top:60px;position:absolute;right:0;top:55px;z-index:1000} .osc-secrets-form .advanced-secrets .help-blocks,.osc-secrets-form .advanced-secrets .input-labels,.osc-secrets-form .basic-secrets .help-blocks,.osc-secrets-form .basic-secrets .input-labels{display:table;padding-right:30px;position:relative;width:100%} .osc-secrets-form .advanced-secrets .help-blocks .help-block,.osc-secrets-form .advanced-secrets .help-blocks .input-label,.osc-secrets-form .advanced-secrets .input-labels .help-block,.osc-secrets-form .advanced-secrets .input-labels .input-label,.osc-secrets-form .basic-secrets .help-blocks .help-block,.osc-secrets-form .basic-secrets .help-blocks .input-label,.osc-secrets-form .basic-secrets .input-labels .help-block,.osc-secrets-form .basic-secrets .input-labels .input-label{width:100%;float:left;padding-right:5px} .osc-secrets-form .advanced-secrets .secret-row,.osc-secrets-form .basic-secrets .secret-row{display:table;padding-right:30px;position:relative;width:100%;margin-bottom:15px} @@ -5694,7 +5679,7 @@ alerts+.chromeless .log-loading-msg{margin-top:130px} .log-line{color:#d1d1d1} .log-line:hover{background-color:#22262b;color:#ededed} .log-line-number:before{content:attr(data-line-number)} -.log-line-number{-ms-user-select:none;border-right:1px #272b30 solid;padding-right:10px;vertical-align:top;white-space:nowrap;width:60px;color:#72767b} +.log-line-number{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;border-right:1px #272b30 solid;padding-right:10px;vertical-align:top;white-space:nowrap;width:60px;color:#72767b} .log-line-text{padding:0 10px;white-space:pre-wrap;width:100%} .appended-icon,.project-date [am-time-ago],.projects-list [am-time-ago]{white-space:nowrap} .log-line-text::-moz-selection{color:#101214;background:#e5e5e5} @@ -5950,4 +5935,18 @@ notification-drawer-wrapper .expanded-notification.unread .drawer-pf-notificatio } .edit-yaml .ace_editor.editor .ace_gutter{color:#8b8d8f} .edit-yaml h1{line-height:1.3} -.edit-yaml-errors{font-size:84%;height:2em;text-align:right} \ No newline at end of file +.edit-yaml-errors{font-size:84%;height:2em;text-align:right} +.add-config-to-application .catalogs-overlay-panel{max-width:600px} +.add-config-to-application .container-options{margin-left:20px} +.add-config-to-application .container-options .select-container{max-height:200px;overflow-y:auto} +.add-config-to-application .container-options .select-container .checkbox:first-of-type{margin-top:0} +.add-config-to-application .dialog-title{border-bottom:1px solid #d1d1d1} +.add-config-to-application .dialog-title h3{margin:18px 0;padding-left:15px} +.add-config-to-application .dialog-body{padding:20px} +.add-config-to-application .dialog-body .add-choice{margin-bottom:10px} +.add-config-to-application .dialog-body .button-group .btn{margin-left:10px} +.add-config-to-application .dialog-body .button-group .btn:first-of-type{margin-left:0} +.add-config-to-application .env-warning,.add-config-to-application .volume-options{margin-left:20px} +.add-config-to-application .dialog-body legend{border-bottom:0;font-size:14px;font-weight:600;margin-bottom:10px} +.add-config-to-application .dialog-body .radio{margin-top:0} +.add-config-to-application .updating{background-color:#fff;bottom:55px;left:0;padding-top:60px;position:absolute;right:0;top:55px;z-index:1000} \ No newline at end of file