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 {
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 {
height: auto;
overflow-x: scroll;
overflow-x: auto;
overflow-y: hidden;
border: 1px solid @b7grey;
}

View File

@ -282,11 +282,21 @@
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{
height: 30px;
background-color: @field-secondary-bg;
background-color: @field-secondary-bg !important;
border-radius: 5px;
border:1px solid @field-border;
border:1px solid @field-border !important;
color: @field-input-text;
width:100%
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -31,7 +31,9 @@ export default ['i18n', function(i18n){
key: true,
label: i18n._('Name'),
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: {
label: i18n._('Type'),

View File

@ -52,7 +52,11 @@
ng-class="{'OrgCards-card--selected': $stateParams.organization_id == card.id}"
ng-repeat="card in orgCards track by card.id">
<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">
<button class="OrgCards-actionItem
List-actionButton"
@ -80,7 +84,6 @@
</button>
</div>
</div>
<p class="OrgCards-description">{{ card.description || "Place organization description here" }}</p>
<div class="OrgCards-links">
<div class="OrgCards-link" ng-repeat="link in card.links">
<span class="badge List-titleBadge

View File

@ -21,13 +21,10 @@ export default [function() {
name: {
key: true,
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: {

View File

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

View File

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

View File

@ -1,18 +1,26 @@
<div id="portal-container-jobs" class="Panel">
<div class="PortalMode-filterHolder">
<div class="btn-group PortalMode-filter">
<button ng-class="{'btn-primary ': activeFilter == 'user',
'btn-default' : activeFilter != 'user' }"
ng-click='filterUser()' class="btn btn-xs" translate>My Jobs</button>
<button ng-class="{'btn-primary' : activeFilter == 'all',
'btn-default' : activeFilter != 'all'}" ng-click='filterAll()' class="btn btn-xs btn-default" translate>All Jobs</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 class="FormToggle-container">
<div class="btn-group">
<button ng-class="{'btn-primary': activeFilter === 'user', 'Button-primary--hollow': activeFilter !== 'user'}"
ng-click='filterUser()'
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 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>
</div>

View File

@ -6,14 +6,25 @@
<div class="PortalMode-panel--right">
<div id="portal-container-jobs" class="Panel">
<div class="PortalMode-filterHolder">
<div class="btn-group PortalMode-filter">
<button ng-class="{'btn-primary ': activeFilter == 'user',
'btn-default' : activeFilter != 'user' }" ng-click='filterUser()' class="btn btn-xs PortalMode-filterButton--edges" translate>My Jobs</button>
<button ng-class="{'btn-primary' : activeFilter == 'all',
'btn-default' : activeFilter != 'all'}" ng-click='filterAll()' class="btn btn-xs PortalMode-filterButton--edges" translate>All Jobs</button>
<div class="FormToggle-container">
<div class="btn-group">
<button ng-class="{'btn-primary': activeFilter === 'user', 'Button-primary--hollow': activeFilter !== 'user'}"
ng-click='filterUser()'
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 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>
</button>
</div>

View File

@ -35,7 +35,9 @@ export default ['i18n', function(i18n) {
key: true,
label: i18n._('Name'),
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: {
label: i18n._('Type'),

View File

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

View File

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

View File

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

View File

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

View File

@ -23,17 +23,15 @@ export default ['i18n', function(i18n) {
key: true,
label: i18n._('Name'),
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: {
label: i18n._('Type'),
ngBind: 'template.type_label',
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: {
label: i18n._('Activity'),
columnClass: 'List-tableCell col-lg-2 col-md-2 hidden-sm hidden-xs',