1
0
mirror of https://github.com/ansible/awx.git synced 2024-11-01 16:51:11 +03:00

Fixes for numerous bootstrap upgrade bugs, uses variables for colors in bootstrap override style file

This commit is contained in:
mabashian 2019-01-14 17:23:52 -05:00
parent 7194338653
commit 66a859872e
8 changed files with 79 additions and 81 deletions

View File

@ -1,8 +1,8 @@
body {
font-family: 'Open Sans', sans-serif;
font-weight: 400;
color: #161B1F;
background-color: #FCFCFC;
color: @default-data-txt;
background-color: @default-secondary-bg;
font-size: 0.88rem;
}
@ -22,22 +22,22 @@ body {
.bs-tooltip-top .arrow::before,
.bs-tooltip-auto[x-placement^="top"] .arrow::before {
border-top-color: #707070;
border-top-color: @default-stdout-txt;
}
.bs-tooltip-bottom .arrow::before,
.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
border-bottom-color: #707070;
border-bottom-color: @default-stdout-txt;
}
.bs-tooltip-left .arrow::before,
.bs-tooltip-auto[x-placement^="left"] .arrow::before {
border-left-color: #707070;
border-left-color: @default-stdout-txt;
}
.bs-tooltip-right .arrow::before,
.bs-tooltip-auto[x-placement^="right"] .arrow::before {
border-right-color: #707070;
border-right-color: @default-stdout-txt;
}
/* this used to exist but was removed */
@ -108,27 +108,27 @@ button, html input[type=button], input[type=reset], input[type=submit] {
}
.bs-popover-auto[x-placement^=right] .arrow::after, .bs-popover-right .arrow::after {
border-right-color: #707070;
border-right-color: @default-stdout-txt;
}
.bs-popover-auto[x-placement^=left] .arrow::after, .bs-popover-left .arrow::after {
border-left-color: #707070;
border-left-color: @default-stdout-txt;
}
.bs-popover-auto[x-placement^=top] .arrow::after, .bs-popover-top .arrow::after {
border-top-color: #707070;
border-top-color: @default-stdout-txt;
}
.bs-popover-auto[x-placement^=bottom] .arrow::after, .bs-popover-bottom .arrow::after {
border-bottom-color: #707070;
border-bottom-color: @default-stdout-txt;
}
a:not([href]):not([tabindex]) {
color: #337AB7;
color: @default-link;
}
a:not([href]):not([tabindex]):hover {
color: #286090;
color: @default-link-hov;
}
.dropdown-menu>li>a {
@ -145,8 +145,8 @@ a:not([href]):not([tabindex]):hover {
.dropdown-menu>li>a:hover,
.dropdown-menu>li>a:focus {
text-decoration: none;
color: #262626;
background-color: #f5f5f5;
color: @default-data-txt;
background-color: @f6grey;
}
.radio-inline+.radio-inline, .checkbox-inline+.checkbox-inline {
@ -162,7 +162,7 @@ label {
}
.form-control {
height: 34px;
height: 30px;
}
.btn-success{

View File

@ -5,7 +5,7 @@
</div>
<div class="tab-pane" id="configuration-panel">
<div ng-cloak id="htmlTemplate" class="Panel">
<div ng-cloak id="htmlTemplate" class="card at-Panel">
<div class="Form-header">
<div class="Form-title Form-title--uppercase" translate>{{ vm.getCurrentFormTitle() }}</div>
</div>

View File

@ -68,7 +68,7 @@ export default ['i18n', function(i18n) {
key: true,
label: i18n._('Name'),
ngClick: "editHost(host.id)",
columnClass: 'col-sm-4 col-xs-7',
columnClass: 'col-sm-4',
dataHostId: "{{ host.id }}",
dataType: "host",
class: 'InventoryManage-breakWord'

View File

@ -1,3 +1,3 @@
.HostSummaryPopover-noSourceSummary {
margin-left: 19px;
margin-left: 15px;
}

View File

@ -45,15 +45,18 @@ export default ['templateUrl', function(templateUrl) {
$scope.hosts = $scope.host_dataset.results;
let hostList = _.cloneDeep(HostsList);
delete hostList.staticColumns;
delete hostList.fields.toggleHost;
delete hostList.fields.active_failures;
delete hostList.fields.name.ngClick;
hostList.fields.name.class += " HostFilterModal-tableRow";
hostList.fields.name.columnClass = 'col-sm-6';
hostList.fields.name.noLink = true;
hostList.well = false;
delete hostList.fields.inventory.ngClick;
hostList.fields.inventory.columnClass = 'col-sm-6';
hostList.fields.inventory.ngBind = 'host.summary_fields.inventory.name';
hostList.emptyListText = 'You must have access to at least one host in order to create a smart inventory host filter';
hostList.layoutClass = 'List-defaultLayout';
let html = GenerateList.build({
list: hostList,
input_type: 'host-filter-modal-body',

View File

@ -142,19 +142,19 @@ export default ['NotificationsList', 'i18n',
key: true,
label: i18n._('User'),
linkBase: 'users',
class: 'col-lg-3 col-md-3 col-sm-3 col-xs-4'
columnClass: 'col-lg-3 col-md-3 col-sm-3 col-xs-4'
},
role: {
label: i18n._('Role'),
type: 'role',
nosort: true,
class: 'col-lg-4 col-md-4 col-sm-4 col-xs-4',
columnClass: 'col-lg-4 col-md-4 col-sm-4 col-xs-4',
},
team_roles: {
label: i18n._('Team Roles'),
type: 'team_roles',
nosort: true,
class: 'col-lg-5 col-md-5 col-sm-5 col-xs-4',
columnClass: 'col-lg-5 col-md-5 col-sm-5 col-xs-4',
}
}
},

View File

@ -17,31 +17,29 @@
</div>
<div class="List-noItems" ng-show="wf_maker_templates.length === 0 && (searchTags | isEmpty)">PLEASE ADD ITEMS TO THIS LIST</div>
<div class="list-table-container" ng-show="wf_maker_templates.length > 0">
<table id="templates_table" class="List-table" is-extended="false">
<thead>
<tr class="List-tableHeaderRow">
<th class="List-tableHeader select-column List-staticColumn--smallStatus" translate=""></th>
<th class="col-md-8" base-path="unified_job_templates" collection="wf_maker_templates" dataset="wf_maker_template_dataset" column-sort="" column-field="name" column-iterator="wf_maker_template" column-no-sort="undefined" column-label="Name" column-custom-class="" query-set="wf_maker_template_queryset">
</th>
<th class="List-tableHeader--info col-md-3" base-path="unified_job_templates" collection="wf_maker_templates" dataset="wf_maker_template_dataset" column-sort="" column-field="info" column-iterator="wf_maker_template" column-no-sort="true" column-label="" column-custom-class="" query-set="wf_maker_template_queryset">
</th>
</tr>
</thead>
<tbody>
<tr ng-class="[template.success_class, {'List-tableRow--selected' : $stateParams['template_id'] == wf_maker_template.id}, {'List-tableRow--disabled': !wf_maker_template.summary_fields.user_capabilities.edit}]" id="{{ wf_maker_template.id }}" class="List-tableRow template_class" disable-row="{{ !wf_maker_template.summary_fields.user_capabilities.edit }}" ng-repeat="wf_maker_template in wf_maker_templates">
<td class="List-tableCell">
<input type="radio" ng-model="wf_maker_template.checked" ng-value="1" ng-false-value="0" name="check_template_{{wf_maker_template.id}}" ng-click="toggle_row(wf_maker_template)" ng-disabled="!wf_maker_template.summary_fields.user_capabilities.edit">
</td>
<td class="List-tableCell name-column col-md-8" ng-click="toggle_row(wf_maker_template)">
<div id="templates_table" class="List-table" is-extended="false">
<div class="List-lookupLayout List-tableHeaderRow">
<div></div>
<div class="d-flex h-100">
<div class="col-md-8" base-path="unified_job_templates" collection="wf_maker_templates" dataset="wf_maker_template_dataset" column-sort="" column-field="name" column-iterator="wf_maker_template" column-no-sort="undefined" column-label="Name" column-custom-class="" query-set="wf_maker_template_queryset"></div>
<div class="List-tableHeader--info col-md-4" base-path="unified_job_templates" collection="wf_maker_templates" dataset="wf_maker_template_dataset" column-sort="" column-field="info" column-iterator="wf_maker_template" column-no-sort="true" column-label="" column-custom-class="" query-set="wf_maker_template_queryset"></div>
</div>
</div>
<div ng-class="[template.success_class, {'List-tableRow--selected' : $stateParams['template_id'] == wf_maker_template.id}, {'List-tableRow--disabled': !wf_maker_template.summary_fields.user_capabilities.edit}]" id="{{ wf_maker_template.id }}" class="List-lookupLayout List-tableRow template_class" disable-row="{{ !wf_maker_template.summary_fields.user_capabilities.edit }}" ng-repeat="wf_maker_template in wf_maker_templates">
<div class="List-centerEnd select-column">
<input type="radio" ng-model="wf_maker_template.checked" ng-value="1" ng-false-value="0" name="check_template_{{wf_maker_template.id}}" ng-click="toggle_row(wf_maker_template)" ng-disabled="!wf_maker_template.summary_fields.user_capabilities.edit">
</div>
<div class="d-flex h-100">
<div class="List-tableCell name-column col-md-8" ng-click="toggle_row(wf_maker_template)">
{{wf_maker_template.name}}
<span class="at-RowItem-tag" ng-show="wf_maker_template.type === 'workflow_job_template'">
{{:: strings.get('workflow_maker.WORKFLOW') }}
</span>
</td>
<td class="col-md-3" ng-include="'/static/partials/job-template-details.html'"></td>
</tr>
</tbody>
</table>
</div>
<div class="col-md-4" ng-include="'/static/partials/job-template-details.html'"></div>
</div>
</div>
</div>
</div>
<paginate base-path="unified_job_templates" collection="wf_maker_templates" dataset="wf_maker_template_dataset" iterator="wf_maker_template" query-set="wf_maker_template_queryset" hide-view-per-page="true" max-visible-pages="5"></paginate>
</div>
@ -56,24 +54,22 @@
</div>
<div class="List-noItems" ng-show="wf_maker_projects.length === 0 && (searchTags | isEmpty)">No Projects Have Been Created</div>
<div class="list-table-container" ng-show="wf_maker_projects.length > 0">
<table id="projects_table" class="List-table" is-extended="false">
<thead>
<tr class="List-tableHeaderRow">
<th class="List-tableHeader select-column List-staticColumn--smallStatus" translate=""></th>
<th base-path="projects" collection="wf_maker_projects" dataset="wf_maker_project_dataset" column-sort="" column-field="name" column-iterator="wf_maker_project" column-no-sort="undefined" column-label="Name" column-custom-class="col-md-8" query-set="wf_maker_project_queryset">
</th>
</tr>
</thead>
<tbody>
<tr ng-class="[wf_maker_project.success_class, {'List-tableRow--selected' : $stateParams['project_id'] == wf_maker_project.id}]" id="{{ wf_maker_project.id }}" class="List-tableRow project_class" ng-repeat="wf_maker_project in wf_maker_projects">
<td class="List-tableCell">
<input type="radio" ng-model="wf_maker_project.checked" ng-value="1" ng-false-value="0" name="check_project_{{wf_maker_project.id}}" ng-click="toggle_row(wf_maker_project)" ng-disabled="undefined">
</td>
<td class="List-tableCell name-column col-md-8" ng-click="toggle_row(wf_maker_project)">
{{ wf_maker_project.name }}</td>
</tr>
</tbody>
</table>
<div id="projects_table" class="List-table" is-extended="false">
<div class="List-lookupLayout List-tableHeaderRow">
<div></div>
<div class="d-flex h-100">
<div base-path="projects" collection="wf_maker_projects" dataset="wf_maker_project_dataset" column-sort="" column-field="name" column-iterator="wf_maker_project" column-no-sort="undefined" column-label="Name" column-custom-class="col-md-12" query-set="wf_maker_project_queryset"></div>
</div>
</div>
<div ng-class="[wf_maker_project.success_class, {'List-tableRow--selected' : $stateParams['project_id'] == wf_maker_project.id}]" id="{{ wf_maker_project.id }}" class="List-lookupLayout List-tableRow project_class" ng-repeat="wf_maker_project in wf_maker_projects">
<div class="List-centerEnd select-column">
<input type="radio" ng-model="wf_maker_project.checked" ng-value="1" ng-false-value="0" name="check_project_{{wf_maker_project.id}}" ng-click="toggle_row(wf_maker_project)" ng-disabled="undefined">
</div>
<div class="d-flex h-100">
<div class="List-tableCell name-column col-md-12" ng-click="toggle_row(wf_maker_project)">{{ wf_maker_project.name }}</div>
</div>
</div>
</div>
</div>
<paginate base-path="projects" collection="wf_maker_projects" dataset="wf_maker_project_dataset" iterator="wf_maker_project" query-set="wf_maker_project_queryset" hide-view-per-page="true" max-visible-pages="5"></paginate>
</div>
@ -88,25 +84,22 @@
</div>
<div class="List-noItems" ng-show="wf_maker_inventory_sources.length === 0 && (searchTags | isEmpty)">PLEASE ADD ITEMS TO THIS LIST</div>
<div class="list-table-container" ng-show="wf_maker_inventory_sources.length > 0">
<table id="workflow_inventory_sources_table" class="List-table" is-extended="false">
<thead>
<tr class="List-tableHeaderRow">
<th class="List-tableHeader select-column List-staticColumn--smallStatus" translate=""></th>
<th base-path="inventory_sources" collection="wf_maker_inventory_sources" dataset="wf_maker_inventory_source_dataset" column-sort="" column-field="name" column-iterator="wf_maker_inventory_source" column-no-sort="undefined" column-label="Name" column-custom-class="" query-set="wf_maker_inventory_source_queryset">
</th>
</tr>
</thead>
<tbody>
<tr ng-class="[wf_maker_inventory_source.success_class, {'List-tableRow--selected' : $stateParams['inventory_source_id'] == wf_maker_inventory_source.id}]" id="{{ wf_maker_inventory_source.id }}" class="List-tableRow inventory_source_class" ng-repeat="wf_maker_inventory_source in wf_maker_inventory_sources">
<td class="List-tableCell">
<input type="radio" ng-model="wf_maker_inventory_source.checked" ng-value="1" ng-false-value="0" name="check_inventory_source_{{wf_maker_inventory_source.id}}" ng-click="toggle_row(wf_maker_inventory_source)" ng-disabled="undefined">
</td>
<td class="List-tableCell name-column col-md-11" ng-click="toggle_row(wf_maker_inventory_source)">
<span aw-tool-tip="Inventory: {{wf_maker_inventory_source.summary_fields.inventory.name}}" data-placement="top">{{ wf_maker_inventory_source.name }}</span>
</td>
</tr>
</tbody>
</table>
<div id="workflow_inventory_sources_table" class="List-table" is-extended="false">
<div class="List-lookupLayout List-tableHeaderRow">
<div></div>
<div class="d-flex h-100">
<div base-path="inventory_sources" collection="wf_maker_inventory_sources" dataset="wf_maker_inventory_source_dataset" column-sort="" column-field="name" column-iterator="wf_maker_inventory_source" column-no-sort="undefined" column-label="Name" column-custom-class="" query-set="wf_maker_inventory_source_queryset"></div>
</div>
</div>
<div ng-class="[wf_maker_inventory_source.success_class, {'List-tableRow--selected' : $stateParams['inventory_source_id'] == wf_maker_inventory_source.id}]" id="{{ wf_maker_inventory_source.id }}" class="List-lookupLayout List-tableRow inventory_source_class" ng-repeat="wf_maker_inventory_source in wf_maker_inventory_sources">
<div class="List-centerEnd select-column">
<input type="radio" ng-model="wf_maker_inventory_source.checked" ng-value="1" ng-false-value="0" name="check_inventory_source_{{wf_maker_inventory_source.id}}" ng-click="toggle_row(wf_maker_inventory_source)" ng-disabled="undefined">
</div>
<div class="d-flex h-100">
<div class="List-tableCell name-column col-md-12" ng-click="toggle_row(wf_maker_inventory_source)">{{ wf_maker_inventory_source.name }}</div>
</div>
</div>
</div>
</div>
<paginate base-path="inventory_sources" collection="wf_maker_inventory_sources" dataset="wf_maker_inventory_source_dataset" iterator="wf_maker_inventory_source" query-set="wf_maker_inventory_source_queryset" hide-view-per-page="true" max-visible-pages="5"></paginate>
</div>

View File

@ -24,7 +24,7 @@ const nodeAdd = "//*[contains(@class, 'WorkflowChart-nodeAddIcon')]";
const nodeRemove = "//*[contains(@class, 'WorkflowChart-nodeRemoveIcon')]";
// one of the jobs or projects or inventories
const testActionsJob = "//td[contains(text(), 'test-actions-job')]";
const testActionsJob = "//div[contains(@class, 'List-tableCell') and contains(text(), 'test-actions-job')]";
const testActionsJobText = 'name.iexact:"test-actions-job-template"';
// search bar for visualizer templates
@ -134,6 +134,7 @@ module.exports = {
});
client
.waitForElementVisible(jobSearchBar)
.clearValue(jobSearchBar)
.setValue(jobSearchBar, [testActionsJobText, client.Keys.ENTER])
.pause(1000)
@ -164,6 +165,7 @@ module.exports = {
// xPathLinkById
leafNodeId = res.value.split('-')[1];
client
.waitForElementVisible(jobSearchBar)
.clearValue(jobSearchBar)
.setValue(jobSearchBar, [testActionsJobText, client.Keys.ENTER])
.pause(1000)