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:
parent
7194338653
commit
66a859872e
@ -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{
|
||||
|
@ -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>
|
||||
|
@ -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'
|
||||
|
@ -1,3 +1,3 @@
|
||||
.HostSummaryPopover-noSourceSummary {
|
||||
margin-left: 19px;
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
@ -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',
|
||||
|
@ -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',
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -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>
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user