Fix minor UX/UI form inconsistencies across project

This commit is contained in:
gconsidine
2017-04-10 14:59:35 -04:00
parent 2631e6ab9f
commit c287c4797e
24 changed files with 108 additions and 82 deletions

View File

@@ -2330,3 +2330,15 @@ html input[disabled] {
input[disabled].ui-spinner-input { input[disabled].ui-spinner-input {
background-color: @egrey; background-color: @egrey;
} }
.CodeMirror-scroll {
margin-bottom: 0;
padding-bottom: 0;
margin-right: 0;
overflow: auto !important;
overflow-y: auto !important;
}
.CodeMirror-lines {
margin-bottom: 20px;
}

View File

@@ -9,7 +9,7 @@
.CodeMirror { .CodeMirror {
height: auto; height: auto;
overflow-x: scroll; overflow-x: auto;
overflow-y: hidden; overflow-y: hidden;
border: 1px solid @b7grey; border: 1px solid @b7grey;
} }

View File

@@ -282,11 +282,21 @@
color: @login-notice-text; color: @login-notice-text;
} }
.Button-primary--hollow {
border: 1px solid @default-link;
color: @default-link;
background: @default-bg;
}
.Button-primary--hollow:hover {
color: @default-link-hov;
border: 1px solid @default-link-hov;
}
.ui-spinner{ .ui-spinner{
height: 30px; height: 30px;
background-color: @field-secondary-bg; background-color: @field-secondary-bg !important;
border-radius: 5px; border-radius: 5px;
border:1px solid @field-border; border:1px solid @field-border !important;
color: @field-input-text; color: @field-input-text;
width:100% width:100%
} }

View File

@@ -20,6 +20,7 @@ table, tbody {
.List-table{ .List-table{
width: 100%; width: 100%;
margin-top: 20px;
table-layout: fixed; table-layout: fixed;
} }
@@ -129,7 +130,7 @@ table, tbody {
.List-titleBadge { .List-titleBadge {
font-size: 11px; font-size: 11px;
font-weight: normal; font-weight: normal;
padding: 1px 10px; padding: 2px 10px;
height: 14px; height: 14px;
margin: 3px 0; margin: 3px 0;
background-color: @list-title-badge; background-color: @list-title-badge;

View File

@@ -21,7 +21,7 @@ body {
padding-bottom: 50px; padding-bottom: 50px;
position: relative; position: relative;
background-color: @default-secondary-bg; background-color: @default-secondary-bg;
padding-top: 96px; padding-top: 100px;
} }
.container-fluid { .container-fluid {

View File

@@ -26,12 +26,9 @@ export default ['i18n', function(i18n) {
key: true, key: true,
label: i18n._('Name'), label: i18n._('Name'),
columnClass: 'col-md-3 col-sm-9 col-xs-9', columnClass: 'col-md-3 col-sm-9 col-xs-9',
modalColumnClass: 'col-md-11' modalColumnClass: 'col-md-11',
}, awToolTip: '{{credential.description}}',
description: { dataPlacement: 'top'
label: i18n._('Description'),
excludeModal: true,
columnClass: 'col-md-3 hidden-sm hidden-xs'
}, },
kind: { kind: {
label: i18n._('Type'), label: i18n._('Type'),

View File

@@ -33,8 +33,6 @@
.DashboardGraphs-graphSection { .DashboardGraphs-graphSection {
display: block; display: block;
flex: 1; flex: 1;
padding-top:20px;
margin-bottom: -20px;
} }
.DashboardGraphs-graphContainer { .DashboardGraphs-graphContainer {

View File

@@ -20,12 +20,12 @@ function AutoSizeModule($window) {
function adjustSize() { function adjustSize() {
if (attrs.graphType === "hostStatus") { if (attrs.graphType === "hostStatus") {
if (element.parent().width() > 596) { if (element.parent().width() > 596) {
element.height(320);//596); element.height(285);//596);
} else { } else {
element.height(element.parent().width()); element.height(element.parent().width());
} }
} else { } else {
element.height(320); element.height(285);
} }
} }

View File

@@ -44,7 +44,9 @@ export default ['i18n', function(i18n) {
label: i18n._('Name'), label: i18n._('Name'),
columnClass: 'col-md-5 col-sm-5 col-xs-8 List-staticColumnAdjacent', columnClass: 'col-md-5 col-sm-5 col-xs-8 List-staticColumnAdjacent',
modalColumnClass: 'col-md-11', modalColumnClass: 'col-md-11',
linkTo: '/#/inventories/{{inventory.id}}/manage' linkTo: '/#/inventories/{{inventory.id}}/manage',
awToolTip: "{{ inventory.description }}",
awTipPlacement: "top"
}, },
organization: { organization: {
label: i18n._('Organization'), label: i18n._('Organization'),

View File

@@ -19,12 +19,9 @@ export default ['i18n', function(i18n){
key: true, key: true,
label: i18n._('Name'), label: i18n._('Name'),
columnClass: 'col-md-3 col-sm-9 col-xs-9', columnClass: 'col-md-3 col-sm-9 col-xs-9',
modalColumnClass: 'col-md-8' modalColumnClass: 'col-md-8',
}, awToolTip: '{{inventory_script.description}}',
description: { dataPlacement: 'top'
label: i18n._('Description'),
excludeModal: true,
columnClass: 'col-md-4 hidden-sm hidden-xs'
}, },
organization: { organization: {
label: i18n._('Organization'), label: i18n._('Organization'),

View File

@@ -15,11 +15,9 @@ export default function(){
fields: { fields: {
name: { name: {
label: 'Name', label: 'Name',
columnClass: 'col-sm-4 col-xs-4' columnClass: 'col-sm-4 col-xs-4',
}, awToolTip: '{{configure_job.description}}',
description: { dataPlacement: 'top'
label: 'Description',
columnClass: 'col-sm-6 col-xs-6 hidden-sm hidden-xs'
} }
}, },
actions: { actions: {

View File

@@ -31,7 +31,9 @@ export default ['i18n', function(i18n){
key: true, key: true,
label: i18n._('Name'), label: i18n._('Name'),
columnClass: 'col-md-3 col-sm-9 col-xs-9', columnClass: 'col-md-3 col-sm-9 col-xs-9',
linkTo: '/#/notification_templates/{{notification_template.id}}' linkTo: '/#/notification_templates/{{notification_template.id}}',
awToolTip: '{{notification_template.description}}',
dataPlacement: 'top'
}, },
notification_type: { notification_type: {
label: i18n._('Type'), label: i18n._('Type'),

View File

@@ -52,7 +52,11 @@
ng-class="{'OrgCards-card--selected': $stateParams.organization_id == card.id}" ng-class="{'OrgCards-card--selected': $stateParams.organization_id == card.id}"
ng-repeat="card in orgCards track by card.id"> ng-repeat="card in orgCards track by card.id">
<div class="OrgCards-header"> <div class="OrgCards-header">
<h3 class="OrgCards-label">{{ card.name }}</h3> <h3 class="OrgCards-label"
aw-tool-tip="{{ card.description || 'Place organization description here' }}"
aw-tip-placement="top">
{{ card.name }}
</h3>
<div class="OrgCards-actionItems"> <div class="OrgCards-actionItems">
<button class="OrgCards-actionItem <button class="OrgCards-actionItem
List-actionButton" List-actionButton"
@@ -80,7 +84,6 @@
</button> </button>
</div> </div>
</div> </div>
<p class="OrgCards-description">{{ card.description || "Place organization description here" }}</p>
<div class="OrgCards-links"> <div class="OrgCards-links">
<div class="OrgCards-link" ng-repeat="link in card.links"> <div class="OrgCards-link" ng-repeat="link in card.links">
<span class="badge List-titleBadge <span class="badge List-titleBadge

View File

@@ -21,13 +21,10 @@ export default [function() {
name: { name: {
key: true, key: true,
label: 'Name', label: 'Name',
columnClass: 'col-lg-4 col-md-6 col-sm-8 col-xs-8' columnClass: 'col-lg-4 col-md-6 col-sm-8 col-xs-8',
awToolTip: '{{organization.description}}',
dataPlacement: 'top'
}, },
description: {
label: 'Description',
columnClass: 'hidden-sm hidden-xs',
excludeModal: true
}
}, },
actions: { actions: {

View File

@@ -37,7 +37,6 @@
border: 1px solid @default-border; border: 1px solid @default-border;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
align-items: baseline;
margin-top: 20px; margin-top: 20px;
width: ~"calc(33.333% - 20px)"; width: ~"calc(33.333% - 20px)";
margin-left: 10px; margin-left: 10px;
@@ -52,7 +51,6 @@
.OrgCards-header { .OrgCards-header {
display: flex; display: flex;
flex-wrap: nowrap; flex-wrap: nowrap;
align-items: baseline;
width: 100%; width: 100%;
} }
@@ -66,6 +64,7 @@
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
align-items: baseline;
} }
.OrgCards-actionItems { .OrgCards-actionItems {

View File

@@ -21,11 +21,9 @@ export default ['i18n', function(i18n) {
key: true, key: true,
label: i18n._('Name'), label: i18n._('Name'),
columnClass: 'col-lg-5 col-md-5 col-sm-9 col-xs-8', columnClass: 'col-lg-5 col-md-5 col-sm-9 col-xs-8',
linkTo: '/#/templates/{{job_template.id}}' linkTo: '/#/templates/{{job_template.id}}',
}, awToolTip: '{{job_template.description}}',
description: { dataPlacement: 'top'
label: i18n._('Description'),
columnClass: 'col-lg-4 col-md-4 hidden-sm hidden-xs'
} }
}, },

View File

@@ -1,18 +1,26 @@
<div id="portal-container-jobs" class="Panel"> <div id="portal-container-jobs" class="Panel">
<div class="PortalMode-filterHolder"> <div class="FormToggle-container">
<div class="btn-group PortalMode-filter"> <div class="btn-group">
<button ng-class="{'btn-primary ': activeFilter == 'user', <button ng-class="{'btn-primary': activeFilter === 'user', 'Button-primary--hollow': activeFilter !== 'user'}"
'btn-default' : activeFilter != 'user' }" ng-click='filterUser()'
ng-click='filterUser()' class="btn btn-xs" translate>My Jobs</button> class="btn btn-xs"
<button ng-class="{'btn-primary' : activeFilter == 'all', translate>
'btn-default' : activeFilter != 'all'}" ng-click='filterAll()' class="btn btn-xs btn-default" translate>All Jobs</button> My Jobs
</div> </button>
<div class="PortalMode-refresh"> <button ng-class="{'btn-primary': activeFilter === 'all', 'Button-primary--hollow': activeFilter !== 'all'}"
<button id="refresh_btn" aw-tool-tip="Refresh the page" data-placement="top" class="btn List-buttonDefault" ng-click="refresh()" ng-show="socketStatus == 'error'"> ng-click='filterAll()'
<span translate>REFRESH</span> class="btn btn-xs"
</button> translate>
</div> All Jobs
</div> </button>
</div>
<div class="PortalMode-refresh">
<button id="refresh_btn" aw-tool-tip="Refresh the page" data-placement="top" class="btn List-buttonDefault"
ng-click="refresh()" ng-show="socketStatus == 'error'">
<span translate>REFRESH</span>
</button>
</div>
</div>
<div id="portal-jobs"> <div id="portal-jobs">
</div> </div>
</div> </div>

View File

@@ -6,14 +6,25 @@
<div class="PortalMode-panel--right"> <div class="PortalMode-panel--right">
<div id="portal-container-jobs" class="Panel"> <div id="portal-container-jobs" class="Panel">
<div class="PortalMode-filterHolder"> <div class="PortalMode-filterHolder">
<div class="btn-group PortalMode-filter"> <div class="FormToggle-container">
<button ng-class="{'btn-primary ': activeFilter == 'user', <div class="btn-group">
'btn-default' : activeFilter != 'user' }" ng-click='filterUser()' class="btn btn-xs PortalMode-filterButton--edges" translate>My Jobs</button> <button ng-class="{'btn-primary': activeFilter === 'user', 'Button-primary--hollow': activeFilter !== 'user'}"
<button ng-class="{'btn-primary' : activeFilter == 'all', ng-click='filterUser()'
'btn-default' : activeFilter != 'all'}" ng-click='filterAll()' class="btn btn-xs PortalMode-filterButton--edges" translate>All Jobs</button> class="btn btn-xs"
translate>
My Jobs
</button>
<button ng-class="{'btn-primary': activeFilter === 'all', 'Button-primary--hollow': activeFilter !== 'all'}"
ng-click='filterAll()'
class="btn btn-xs"
translate>
All Jobs
</button>
</div>
</div> </div>
<div class="PortalMode-refresh"> <div class="PortalMode-refresh">
<button id="refresh_btn" aw-tool-tip="Refresh the page" data-placement="top" class="btn List-buttonDefault" ng-click="refresh()" ng-show="socketStatus == 'error'"> <button id="refresh_btn" aw-tool-tip="Refresh the page" data-placement="top" class="btn List-buttonDefault"
ng-click="refresh()" ng-show="socketStatus == 'error'">
<span>REFRESH</span> <span>REFRESH</span>
</button> </button>
</div> </div>

View File

@@ -35,7 +35,9 @@ export default ['i18n', function(i18n) {
key: true, key: true,
label: i18n._('Name'), label: i18n._('Name'),
columnClass: "col-lg-4 col-md-4 col-sm-5 col-xs-7 List-staticColumnAdjacent", columnClass: "col-lg-4 col-md-4 col-sm-5 col-xs-7 List-staticColumnAdjacent",
modalColumnClass: 'col-md-8' modalColumnClass: 'col-md-8',
awToolTip: '{{project.description}}',
dataPlacement: 'top'
}, },
scm_type: { scm_type: {
label: i18n._('Type'), label: i18n._('Type'),

View File

@@ -663,7 +663,7 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
let parseTypeName = field.parseTypeName || 'parseType'; let parseTypeName = field.parseTypeName || 'parseType';
let getToggleClass = (primary, secondary) => `{ let getToggleClass = (primary, secondary) => `{
'btn-primary': ${parseTypeName} === '${primary}', 'btn-primary': ${parseTypeName} === '${primary}',
'btn-default' : ${parseTypeName} === '${secondary}' 'Button-primary--hollow' : ${parseTypeName} === '${secondary}'
}`; }`;
let toggleLeftClass = getToggleClass('yaml', 'json'); let toggleLeftClass = getToggleClass('yaml', 'json');
let toggleRightClass = getToggleClass('json', 'yaml'); let toggleRightClass = getToggleClass('json', 'yaml');
@@ -674,7 +674,7 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
<label ng-class="${toggleLeftClass}" class="btn btn-xs"> <label ng-class="${toggleLeftClass}" class="btn btn-xs">
<input type="radio" value="yaml" ng-model="${parseTypeName}" ng-change="parseTypeChange('${parseTypeName}', '${fld}')" />YAML <input type="radio" value="yaml" ng-model="${parseTypeName}" ng-change="parseTypeChange('${parseTypeName}', '${fld}')" />YAML
</label> </label>
<label ng-class="${toggleRightClass}" class="btn btn-xs btn-default"> <label ng-class="${toggleRightClass}" class="btn btn-xs">
<input type="radio" value="json" ng-model="${parseTypeName}" ng-change="parseTypeChange('${parseTypeName}', '${fld}')" />JSON <input type="radio" value="json" ng-model="${parseTypeName}" ng-change="parseTypeChange('${parseTypeName}', '${fld}')" />JSON
</label> </label>
</div> </div>

View File

@@ -23,7 +23,6 @@
font-size: 12px !important; font-size: 12px !important;
color: @list-pagin-text; color: @list-pagin-text;
text-transform: uppercase; text-transform: uppercase;
height: 22px;
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
} }

View File

@@ -1,7 +1,5 @@
@import "../branding/colors.default.less"; @import "../branding/colors.default.less";
.SmartSearch { .SmartSearch {
margin-bottom: 10px;
min-height: 45px;
padding-left: 15px; padding-left: 15px;
padding-right: 15px; padding-right: 15px;
} }
@@ -14,9 +12,7 @@
display: flex; display: flex;
padding: 0; padding: 0;
font-size: 12px; font-size: 12px;
height: 35px;
align-items: stretch; align-items: stretch;
margin-bottom: 10px;
line-height: 20px; line-height: 20px;
width: 50%; width: 50%;
} }
@@ -42,6 +38,7 @@
display: flex; display: flex;
background-color: @default-bg; background-color: @default-bg;
position: relative; position: relative;
height: 34px;
} }
.SmartSearch-searchTermContainer.is-open { .SmartSearch-searchTermContainer.is-open {

View File

@@ -22,12 +22,9 @@ export default ['i18n', function(i18n) {
key: true, key: true,
label: i18n._('Name'), label: i18n._('Name'),
columnClass: 'col-lg-3 col-md-4 col-sm-9 col-xs-9', columnClass: 'col-lg-3 col-md-4 col-sm-9 col-xs-9',
modalColumnClass: 'col-md-8' modalColumnClass: 'col-md-8',
}, awToolTip: '{{team.description}}',
description: { dataPlacement: 'top'
label: i18n._('Description'),
columnClass: 'col-lg-3 col-md-3 hidden-sm hidden-xs',
excludeModal: true
}, },
organization: { organization: {
label: i18n._('Organization'), label: i18n._('Organization'),

View File

@@ -23,17 +23,15 @@ export default ['i18n', function(i18n) {
key: true, key: true,
label: i18n._('Name'), label: i18n._('Name'),
columnClass: 'col-lg-2 col-md-2 col-sm-4 col-xs-9', columnClass: 'col-lg-2 col-md-2 col-sm-4 col-xs-9',
ngHref: '#/templates/{{template.type}}/{{template.id}}' ngHref: '#/templates/{{template.type}}/{{template.id}}',
awToolTip: '{{template.description}}',
dataPlacement: 'top'
}, },
type: { type: {
label: i18n._('Type'), label: i18n._('Type'),
ngBind: 'template.type_label', ngBind: 'template.type_label',
columnClass: 'col-lg-2 col-md-2 col-sm-4 hidden-xs' columnClass: 'col-lg-2 col-md-2 col-sm-4 hidden-xs'
}, },
description: {
label: i18n._('Description'),
columnClass: 'col-lg-2 hidden-md hidden-sm hidden-xs'
},
smart_status: { smart_status: {
label: i18n._('Activity'), label: i18n._('Activity'),
columnClass: 'List-tableCell col-lg-2 col-md-2 hidden-sm hidden-xs', columnClass: 'List-tableCell col-lg-2 col-md-2 hidden-sm hidden-xs',