mirror of
https://github.com/ansible/awx.git
synced 2026-02-15 18:20:00 -03:30
Merge pull request #714 from mabashian/list-view-and-delete-modal-fixes
List view styling tweaks based on UI/UX feedback
This commit is contained in:
@@ -2012,6 +2012,7 @@ button.dropdown-toggle,
|
|||||||
|
|
||||||
.modal.fade .modal-dialog {
|
.modal.fade .modal-dialog {
|
||||||
transform: translate(0, 0);
|
transform: translate(0, 0);
|
||||||
|
margin: 100px auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-backdrop, .modal-backdrop.fade.in {
|
.modal-backdrop, .modal-backdrop.fade.in {
|
||||||
|
|||||||
@@ -81,12 +81,11 @@ table, tbody {
|
|||||||
.List-actionButton {
|
.List-actionButton {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
width: 30px;
|
min-width: 30px;
|
||||||
color: @list-action-icon;
|
color: @list-action-icon;
|
||||||
background-color: @list-actn-bg;
|
background-color: @list-actn-bg;
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
transition: background-color 0.2s, border-color 0.2s;;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.List-actionButton:hover {
|
.List-actionButton:hover {
|
||||||
@@ -108,6 +107,12 @@ table, tbody {
|
|||||||
color: @list-pagin-text;
|
color: @list-pagin-text;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
height: 22px;
|
height: 22px;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.List-paginationPagerHolder {
|
||||||
|
display: flex;
|
||||||
|
flex: 1 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.List-paginationPager {
|
.List-paginationPager {
|
||||||
@@ -128,13 +133,18 @@ table, tbody {
|
|||||||
background-color: @list-pagin-bg-act!important;
|
background-color: @list-pagin-bg-act!important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.List-paginationItemsOf {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
.List-header {
|
.List-header {
|
||||||
align-items: center;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
height: 34px;
|
height: 34px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.List-title {
|
.List-title {
|
||||||
|
align-items: center;
|
||||||
flex: 1 0 auto;
|
flex: 1 0 auto;
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
@@ -163,7 +173,6 @@ table, tbody {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.List-buttonSubmit {
|
.List-buttonSubmit {
|
||||||
transition: background-color 0.2s;
|
|
||||||
background-color: @submit-button-bg;
|
background-color: @submit-button-bg;
|
||||||
color: @submit-button-text;
|
color: @submit-button-text;
|
||||||
}
|
}
|
||||||
@@ -175,7 +184,6 @@ table, tbody {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.List-buttonDefault {
|
.List-buttonDefault {
|
||||||
transition: background-color 0.2s;
|
|
||||||
background-color: @btn-bg;
|
background-color: @btn-bg;
|
||||||
color: @btn-txt;
|
color: @btn-txt;
|
||||||
border-color: @btn-bord;
|
border-color: @btn-bord;
|
||||||
@@ -235,6 +243,10 @@ table, tbody {
|
|||||||
color: @list-srch-btn-icon;
|
color: @list-srch-btn-icon;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.List-searchNoResults {
|
||||||
|
color: @default-interface-txt;
|
||||||
|
}
|
||||||
|
|
||||||
.List-noItems {
|
.List-noItems {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|||||||
@@ -566,7 +566,7 @@ export function CredentialsEdit($scope, $rootScope, $compile, $location, $log,
|
|||||||
|
|
||||||
Prompt({
|
Prompt({
|
||||||
hdr: 'Delete',
|
hdr: 'Delete',
|
||||||
body: '<div class="Prompt-bodyQuery">Are you sure you want to remove ' + name + ' from ' + $scope.name + ' ' + title + '?</div>',
|
body: '<div class="Prompt-bodyQuery">Are you sure you want to remove the ' + title + ' below from ' + $scope.name + '?</div><div class="Prompt-bodyTarget">' + name + '</div>',
|
||||||
action: action,
|
action: action,
|
||||||
actionText: 'DELETE'
|
actionText: 'DELETE'
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -352,7 +352,7 @@ export function OrganizationsEdit($scope, $rootScope, $compile, $location, $log,
|
|||||||
|
|
||||||
Prompt({
|
Prompt({
|
||||||
hdr: 'Delete',
|
hdr: 'Delete',
|
||||||
body: '<div class="Prompt-bodyQuery">Are you sure you want to remove ' + name + ' from ' + $scope.name + ' ' + title + '?</div>',
|
body: '<div class="Prompt-bodyQuery">Are you sure you want to remove the ' + title + ' below from ' + $scope.name + '?</div><div class="Prompt-bodyTarget">' + name + '</div>',
|
||||||
action: action,
|
action: action,
|
||||||
actionText: 'DELETE'
|
actionText: 'DELETE'
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -796,7 +796,7 @@ export function ProjectsEdit($scope, $rootScope, $compile, $location, $log,
|
|||||||
|
|
||||||
Prompt({
|
Prompt({
|
||||||
hdr: 'Delete',
|
hdr: 'Delete',
|
||||||
body: '<div class="Prompt-bodyQuery">Are you sure you want to remove ' + name + ' from ' + $scope.name + ' ' + title + '?</div>',
|
body: '<div class="Prompt-bodyQuery">Are you sure you want to remove the ' + title + ' below from ' + $scope.name + '?</div><div class="Prompt-bodyTarget">' + name + '</div>',
|
||||||
action: action,
|
action: action,
|
||||||
actionText: 'DELETE'
|
actionText: 'DELETE'
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -429,7 +429,7 @@ export function TeamsEdit($scope, $rootScope, $compile, $location, $log,
|
|||||||
|
|
||||||
Prompt({
|
Prompt({
|
||||||
hdr: 'Delete',
|
hdr: 'Delete',
|
||||||
body: '<div class="Prompt-bodyQuery">Are you sure you want to remove ' + name + ' from ' + $scope.name + ' ' + title + '?</div>',
|
body: '<div class="Prompt-bodyQuery">Are you sure you want to remove the ' + title + ' below from ' + $scope.name + '?</div><div class="Prompt-bodyTarget">' + name + '</div>',
|
||||||
action: action,
|
action: action,
|
||||||
actionText: 'DELETE'
|
actionText: 'DELETE'
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -484,7 +484,7 @@ export function UsersEdit($scope, $rootScope, $compile, $location, $log,
|
|||||||
|
|
||||||
Prompt({
|
Prompt({
|
||||||
hdr: 'Delete',
|
hdr: 'Delete',
|
||||||
body: '<div class="Prompt-bodyQuery">Are you sure you want to remove ' + name + ' from ' + $scope.username + ' ' + title + '?</div>',
|
body: '<div class="Prompt-bodyQuery">Are you sure you want to remove the ' + title + ' below from ' + $scope.username + '?</div><div class="Prompt-bodyTarget">' + name + '</div>',
|
||||||
action: action,
|
action: action,
|
||||||
actionText: 'DELETE'
|
actionText: 'DELETE'
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -127,6 +127,14 @@ export default
|
|||||||
awToolTip: 'Schedule future job template runs',
|
awToolTip: 'Schedule future job template runs',
|
||||||
dataPlacement: 'top',
|
dataPlacement: 'top',
|
||||||
},
|
},
|
||||||
|
copy: {
|
||||||
|
label: 'Copy',
|
||||||
|
ngClick: "copyScanJobTemplate()",
|
||||||
|
"class": 'btn-danger btn-xs',
|
||||||
|
awToolTip: 'Copy template',
|
||||||
|
dataPlacement: 'top',
|
||||||
|
ngHide: 'job_template.summary_fields.can_copy === false'
|
||||||
|
},
|
||||||
edit: {
|
edit: {
|
||||||
label: 'Edit',
|
label: 'Edit',
|
||||||
ngClick: "editScanJob()",
|
ngClick: "editScanJob()",
|
||||||
@@ -140,14 +148,6 @@ export default
|
|||||||
icon: 'icon-trash',
|
icon: 'icon-trash',
|
||||||
"class": 'btn-danger',
|
"class": 'btn-danger',
|
||||||
awToolTip: 'Delete the scan job template'
|
awToolTip: 'Delete the scan job template'
|
||||||
},
|
|
||||||
copy: {
|
|
||||||
label: 'Copy',
|
|
||||||
ngClick: "copyScanJobTemplate()",
|
|
||||||
"class": 'btn-danger btn-xs',
|
|
||||||
awToolTip: 'Copy template',
|
|
||||||
dataPlacement: 'top',
|
|
||||||
ngHide: 'job_template.summary_fields.can_copy === false'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ export default
|
|||||||
},
|
},
|
||||||
"delete": {
|
"delete": {
|
||||||
label: 'Delete',
|
label: 'Delete',
|
||||||
ngClick: "delete('users', user.id, user.username, 'users')",
|
ngClick: "delete('users', user.id, user.username, 'user')",
|
||||||
icon: 'icon-trash',
|
icon: 'icon-trash',
|
||||||
"class": 'btn-danger',
|
"class": 'btn-danger',
|
||||||
awToolTip: 'Remove user'
|
awToolTip: 'Remove user'
|
||||||
@@ -133,7 +133,7 @@ export default
|
|||||||
},
|
},
|
||||||
"delete": {
|
"delete": {
|
||||||
label: 'Delete',
|
label: 'Delete',
|
||||||
ngClick: "delete('admins', admin.id, admin.username, 'administrators')",
|
ngClick: "delete('admins', admin.id, admin.username, 'administrator')",
|
||||||
icon: 'icon-trash',
|
icon: 'icon-trash',
|
||||||
"class": 'btn-danger',
|
"class": 'btn-danger',
|
||||||
awToolTip: 'Remove administrator'
|
awToolTip: 'Remove administrator'
|
||||||
|
|||||||
@@ -261,7 +261,7 @@ angular.module('ProjectFormDefinition', ['SchedulesListDefinition'])
|
|||||||
},
|
},
|
||||||
"delete": {
|
"delete": {
|
||||||
label: 'Delete',
|
label: 'Delete',
|
||||||
ngClick: "delete('organizations', organization.id, organization.name, 'organizations')",
|
ngClick: "delete('organizations', organization.id, organization.name, 'organization')",
|
||||||
icon: 'icon-trash',
|
icon: 'icon-trash',
|
||||||
"class": 'btn-danger',
|
"class": 'btn-danger',
|
||||||
awToolTip: 'Delete the organization'
|
awToolTip: 'Delete the organization'
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ export default
|
|||||||
},
|
},
|
||||||
"delete": {
|
"delete": {
|
||||||
label: 'Delete',
|
label: 'Delete',
|
||||||
ngClick: "delete('credentials', credential.id, credential.name, 'credentials')",
|
ngClick: "delete('credentials', credential.id, credential.name, 'credential')",
|
||||||
icon: 'icon-trash',
|
icon: 'icon-trash',
|
||||||
"class": 'btn-danger',
|
"class": 'btn-danger',
|
||||||
awToolTip: 'Remove the credential'
|
awToolTip: 'Remove the credential'
|
||||||
@@ -157,7 +157,7 @@ export default
|
|||||||
|
|
||||||
"delete": {
|
"delete": {
|
||||||
label: 'Delete',
|
label: 'Delete',
|
||||||
ngClick: "delete('permissions', permission.id, permission.name, 'permissions')",
|
ngClick: "delete('permissions', permission.id, permission.name, 'permission')",
|
||||||
icon: 'icon-trash',
|
icon: 'icon-trash',
|
||||||
"class": 'btn-danger',
|
"class": 'btn-danger',
|
||||||
awToolTip: 'Delete the permission',
|
awToolTip: 'Delete the permission',
|
||||||
@@ -203,7 +203,7 @@ export default
|
|||||||
},
|
},
|
||||||
"delete": {
|
"delete": {
|
||||||
label: 'Delete',
|
label: 'Delete',
|
||||||
ngClick: "delete('projects', project.id, project.name, 'projects')",
|
ngClick: "delete('projects', project.id, project.name, 'project')",
|
||||||
icon: 'icon-trash',
|
icon: 'icon-trash',
|
||||||
"class": 'btn-danger',
|
"class": 'btn-danger',
|
||||||
awToolTip: 'Remove the project'
|
awToolTip: 'Remove the project'
|
||||||
@@ -251,7 +251,7 @@ export default
|
|||||||
},
|
},
|
||||||
"delete": {
|
"delete": {
|
||||||
label: 'Delete',
|
label: 'Delete',
|
||||||
ngClick: "delete('users', user.id, user.username, 'users')",
|
ngClick: "delete('users', user.id, user.username, 'user')",
|
||||||
icon: 'icon-terash',
|
icon: 'icon-terash',
|
||||||
"class": 'btn-danger',
|
"class": 'btn-danger',
|
||||||
awToolTip: 'Remove user'
|
awToolTip: 'Remove user'
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ export default
|
|||||||
},
|
},
|
||||||
"delete": {
|
"delete": {
|
||||||
label: 'Delete',
|
label: 'Delete',
|
||||||
ngClick: "delete('credentials', credential.id, credential.name, 'credentials')",
|
ngClick: "delete('credentials', credential.id, credential.name, 'credential')",
|
||||||
icon: 'icon-trash',
|
icon: 'icon-trash',
|
||||||
"class": 'btn-danger',
|
"class": 'btn-danger',
|
||||||
awToolTip: 'Delete the credential'
|
awToolTip: 'Delete the credential'
|
||||||
@@ -212,7 +212,7 @@ export default
|
|||||||
|
|
||||||
"delete": {
|
"delete": {
|
||||||
label: 'Delete',
|
label: 'Delete',
|
||||||
ngClick: "delete('permissions', permission.id, permission.name, 'permissions')",
|
ngClick: "delete('permissions', permission.id, permission.name, 'permission')",
|
||||||
icon: 'icon-trash',
|
icon: 'icon-trash',
|
||||||
"class": 'btn-danger',
|
"class": 'btn-danger',
|
||||||
awToolTip: 'Delete the permission',
|
awToolTip: 'Delete the permission',
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -476,11 +476,11 @@ export default
|
|||||||
if (job.status === 'pending' || job.status === 'running' || job.status === 'waiting') {
|
if (job.status === 'pending' || job.status === 'running' || job.status === 'waiting') {
|
||||||
url = job.related.cancel;
|
url = job.related.cancel;
|
||||||
action_label = 'cancel';
|
action_label = 'cancel';
|
||||||
hdr = 'Cancel Job';
|
hdr = 'Cancel';
|
||||||
} else {
|
} else {
|
||||||
url = job.url;
|
url = job.url;
|
||||||
action_label = 'delete';
|
action_label = 'delete';
|
||||||
hdr = 'Delete Job';
|
hdr = 'Delete';
|
||||||
}
|
}
|
||||||
|
|
||||||
action = function () {
|
action = function () {
|
||||||
@@ -537,11 +537,11 @@ export default
|
|||||||
scope.removeCancelJob();
|
scope.removeCancelJob();
|
||||||
}
|
}
|
||||||
scope.removeCancelJob = scope.$on('CancelJob', function() {
|
scope.removeCancelJob = scope.$on('CancelJob', function() {
|
||||||
var body;
|
var cancelBody = "<div class=\"Prompt-bodyQuery\">Submit the request to cancel?</div>";
|
||||||
body = (action_label === 'cancel' || job.status === 'new') ? "Submit the request to cancel" : "Delete";
|
var deleteBody = "<div class=\"Prompt-bodyQuery\">Are you sure you want to delete the job below?</div><div class=\"Prompt-bodyTarget\">#" + id + " " + job.name + "</div>";
|
||||||
Prompt({
|
Prompt({
|
||||||
hdr: hdr,
|
hdr: hdr,
|
||||||
body: "<div class=\"Prompt-bodyQuery\">" + body + " job #" + id + " " + job.name + "?</div>",
|
body: (action_label === 'cancel' || job.status === 'new') ? cancelBody : deleteBody,
|
||||||
action: action,
|
action: action,
|
||||||
actionText: (action_label === 'cancel' || job.status === 'new') ? "YES" : "DELETE"
|
actionText: (action_label === 'cancel' || job.status === 'new') ? "YES" : "DELETE"
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ export default
|
|||||||
},
|
},
|
||||||
status: {
|
status: {
|
||||||
label: 'Status',
|
label: 'Status',
|
||||||
columnClass: 'col-lg-2 col-md-2 col-sm-2 col-xs-2',
|
columnClass: 'col-lg-2 col-md-2 col-sm-2 col-xs-3',
|
||||||
awToolTip: "{{ all_job.status_tip }}",
|
awToolTip: "{{ all_job.status_tip }}",
|
||||||
awTipPlacement: "top",
|
awTipPlacement: "top",
|
||||||
dataTitle: "{{ all_job.status_popover_title }}",
|
dataTitle: "{{ all_job.status_popover_title }}",
|
||||||
@@ -50,7 +50,7 @@ export default
|
|||||||
noLink: true,
|
noLink: true,
|
||||||
searchable: false,
|
searchable: false,
|
||||||
filter: "longDate",
|
filter: "longDate",
|
||||||
columnClass: "col-lg-2 col-md-2 hidden-xs",
|
columnClass: "col-lg-2 col-md-2 col-sm-2 hidden-xs",
|
||||||
key: true,
|
key: true,
|
||||||
desc: true
|
desc: true
|
||||||
},
|
},
|
||||||
@@ -66,7 +66,7 @@ export default
|
|||||||
},
|
},
|
||||||
name: {
|
name: {
|
||||||
label: 'Name',
|
label: 'Name',
|
||||||
columnClass: 'col-md-3 col-sm-4 col-xs-4',
|
columnClass: 'col-lg-3 col-md-3 col-sm-3 col-xs-3',
|
||||||
ngClick: "viewJobLog(all_job.id, all_job.nameHref)",
|
ngClick: "viewJobLog(all_job.id, all_job.nameHref)",
|
||||||
defaultSearchField: true,
|
defaultSearchField: true,
|
||||||
awToolTip: "{{ all_job.name | sanitize }}",
|
awToolTip: "{{ all_job.name | sanitize }}",
|
||||||
@@ -86,8 +86,15 @@ export default
|
|||||||
|
|
||||||
fieldActions: {
|
fieldActions: {
|
||||||
|
|
||||||
columnClass: 'col-lg-2 col-md-3 col-sm-4 col-xs-4',
|
columnClass: 'col-lg-2 col-md-2 col-sm-3 col-xs-4',
|
||||||
|
|
||||||
|
stdout: {
|
||||||
|
mode: 'all',
|
||||||
|
href: '/#/jobs/{{ all_job.id }}/stdout',
|
||||||
|
awToolTip: 'View standard output',
|
||||||
|
dataPlacement: 'top',
|
||||||
|
ngShow: "all_job.type == 'job'"
|
||||||
|
},
|
||||||
submit: {
|
submit: {
|
||||||
icon: 'icon-rocket',
|
icon: 'icon-rocket',
|
||||||
mode: 'all',
|
mode: 'all',
|
||||||
@@ -109,13 +116,6 @@ export default
|
|||||||
awToolTip: 'Delete the job',
|
awToolTip: 'Delete the job',
|
||||||
dataPlacement: 'top',
|
dataPlacement: 'top',
|
||||||
ngShow: "all_job.status !== 'running' && all_job.status !== 'waiting' && all_job.status !== 'pending'"
|
ngShow: "all_job.status !== 'running' && all_job.status !== 'waiting' && all_job.status !== 'pending'"
|
||||||
},
|
|
||||||
stdout: {
|
|
||||||
mode: 'all',
|
|
||||||
href: '/#/jobs/{{ all_job.id }}/stdout',
|
|
||||||
awToolTip: 'View standard output',
|
|
||||||
dataPlacement: 'top',
|
|
||||||
ngShow: "all_job.type == 'job'"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* All Rights Reserved
|
* All Rights Reserved
|
||||||
*************************************************/
|
*************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -86,6 +86,13 @@ export default
|
|||||||
actions: { },
|
actions: { },
|
||||||
|
|
||||||
fieldActions: {
|
fieldActions: {
|
||||||
|
stdout: {
|
||||||
|
mode: 'all',
|
||||||
|
href: '/#/jobs/{{ completed_job.id }}/stdout',
|
||||||
|
awToolTip: 'View standard output',
|
||||||
|
dataPlacement: 'top',
|
||||||
|
ngShow: "completed_job.type == 'job'"
|
||||||
|
},
|
||||||
submit: {
|
submit: {
|
||||||
icon: 'icon-rocket',
|
icon: 'icon-rocket',
|
||||||
mode: 'all',
|
mode: 'all',
|
||||||
@@ -99,19 +106,12 @@ export default
|
|||||||
ngClick: 'deleteJob(completed_job.id)',
|
ngClick: 'deleteJob(completed_job.id)',
|
||||||
awToolTip: 'Delete the job',
|
awToolTip: 'Delete the job',
|
||||||
dataPlacement: 'top'
|
dataPlacement: 'top'
|
||||||
},
|
}
|
||||||
// job_details: {
|
// job_details: {
|
||||||
// mode: 'all',
|
// mode: 'all',
|
||||||
// ngClick: "viewJobLog(completed_job.id)",
|
// ngClick: "viewJobLog(completed_job.id)",
|
||||||
// awToolTip: 'View job details',
|
// awToolTip: 'View job details',
|
||||||
// dataPlacement: 'top'
|
// dataPlacement: 'top'
|
||||||
// },
|
// }
|
||||||
stdout: {
|
|
||||||
mode: 'all',
|
|
||||||
href: '/#/jobs/{{ completed_job.id }}/stdout',
|
|
||||||
awToolTip: 'View standard output',
|
|
||||||
dataPlacement: 'top',
|
|
||||||
ngShow: "completed_job.type == 'job'"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -154,13 +154,6 @@ export default
|
|||||||
"|| group.status == 'updating'",
|
"|| group.status == 'updating'",
|
||||||
dataPlacement: "top"
|
dataPlacement: "top"
|
||||||
},
|
},
|
||||||
edit: {
|
|
||||||
//label: 'Edit',
|
|
||||||
mode: 'all',
|
|
||||||
ngClick: "editGroup(group.id)",
|
|
||||||
awToolTip: 'Edit group',
|
|
||||||
dataPlacement: "top"
|
|
||||||
},
|
|
||||||
copy: {
|
copy: {
|
||||||
mode: 'all',
|
mode: 'all',
|
||||||
ngClick: "copyGroup(group.id)",
|
ngClick: "copyGroup(group.id)",
|
||||||
@@ -168,6 +161,13 @@ export default
|
|||||||
ngShow: "group.id > 0",
|
ngShow: "group.id > 0",
|
||||||
dataPlacement: "top"
|
dataPlacement: "top"
|
||||||
},
|
},
|
||||||
|
edit: {
|
||||||
|
//label: 'Edit',
|
||||||
|
mode: 'all',
|
||||||
|
ngClick: "editGroup(group.id)",
|
||||||
|
awToolTip: 'Edit group',
|
||||||
|
dataPlacement: "top"
|
||||||
|
},
|
||||||
"delete": {
|
"delete": {
|
||||||
//label: 'Delete',
|
//label: 'Delete',
|
||||||
mode: 'all',
|
mode: 'all',
|
||||||
|
|||||||
@@ -60,6 +60,12 @@ export default
|
|||||||
iconClass: "{{ 'fa icon-job-' + host.active_failures }}",
|
iconClass: "{{ 'fa icon-job-' + host.active_failures }}",
|
||||||
id: 'active-failutes-action'
|
id: 'active-failutes-action'
|
||||||
},
|
},
|
||||||
|
copy: {
|
||||||
|
mode: 'all',
|
||||||
|
ngClick: "copyHost(host.id)",
|
||||||
|
awToolTip: 'Copy or move host to another group',
|
||||||
|
dataPlacement: "top"
|
||||||
|
},
|
||||||
edit: {
|
edit: {
|
||||||
//label: 'Edit',
|
//label: 'Edit',
|
||||||
ngClick: "editHost(host.id)",
|
ngClick: "editHost(host.id)",
|
||||||
@@ -67,12 +73,6 @@ export default
|
|||||||
awToolTip: 'Edit host',
|
awToolTip: 'Edit host',
|
||||||
dataPlacement: 'top'
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
copy: {
|
|
||||||
mode: 'all',
|
|
||||||
ngClick: "copyHost(host.id)",
|
|
||||||
awToolTip: 'Copy or move host to another group',
|
|
||||||
dataPlacement: "top"
|
|
||||||
},
|
|
||||||
"delete": {
|
"delete": {
|
||||||
//label: 'Delete',
|
//label: 'Delete',
|
||||||
ngClick: "deleteHost(host.id, host.name)",
|
ngClick: "deleteHost(host.id, host.name)",
|
||||||
|
|||||||
@@ -69,6 +69,14 @@ export default
|
|||||||
awToolTip: 'Schedule future job template runs',
|
awToolTip: 'Schedule future job template runs',
|
||||||
dataPlacement: 'top',
|
dataPlacement: 'top',
|
||||||
},
|
},
|
||||||
|
copy: {
|
||||||
|
label: 'Copy',
|
||||||
|
ngClick: "copyJobTemplate(job_template.id, job_template.name)",
|
||||||
|
"class": 'btn-danger btn-xs',
|
||||||
|
awToolTip: 'Copy template',
|
||||||
|
dataPlacement: 'top',
|
||||||
|
ngHide: 'job_template.summary_fields.can_copy===false'
|
||||||
|
},
|
||||||
edit: {
|
edit: {
|
||||||
label: 'Edit',
|
label: 'Edit',
|
||||||
ngClick: "editJobTemplate(job_template.id)",
|
ngClick: "editJobTemplate(job_template.id)",
|
||||||
@@ -82,14 +90,6 @@ export default
|
|||||||
"class": 'btn-danger btn-xs',
|
"class": 'btn-danger btn-xs',
|
||||||
awToolTip: 'Delete template',
|
awToolTip: 'Delete template',
|
||||||
dataPlacement: 'top',
|
dataPlacement: 'top',
|
||||||
},
|
|
||||||
copy: {
|
|
||||||
label: 'Copy',
|
|
||||||
ngClick: "copyJobTemplate(job_template.id, job_template.name)",
|
|
||||||
"class": 'btn-danger btn-xs',
|
|
||||||
awToolTip: 'Copy template',
|
|
||||||
dataPlacement: 'top',
|
|
||||||
ngHide: 'job_template.summary_fields.can_copy===false'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* All Rights Reserved
|
* All Rights Reserved
|
||||||
*************************************************/
|
*************************************************/
|
||||||
|
|
||||||
|
|
||||||
export default
|
export default
|
||||||
angular.module('JobsListDefinition', [])
|
angular.module('JobsListDefinition', [])
|
||||||
@@ -74,6 +74,13 @@ export default
|
|||||||
actions: { },
|
actions: { },
|
||||||
|
|
||||||
fieldActions: {
|
fieldActions: {
|
||||||
|
stdout: {
|
||||||
|
mode: 'all',
|
||||||
|
href: '/#/jobs/{{ job.id }}/stdout',
|
||||||
|
awToolTip: 'View standard output',
|
||||||
|
dataPlacement: 'top',
|
||||||
|
ngShow: "job.type == 'job'"
|
||||||
|
},
|
||||||
submit: {
|
submit: {
|
||||||
mode: 'all',
|
mode: 'all',
|
||||||
icon: 'icon-rocket',
|
icon: 'icon-rocket',
|
||||||
@@ -95,13 +102,6 @@ export default
|
|||||||
awToolTip: 'Delete the job',
|
awToolTip: 'Delete the job',
|
||||||
dataPlacement: 'top',
|
dataPlacement: 'top',
|
||||||
ngShow: "job.status != 'running'"
|
ngShow: "job.status != 'running'"
|
||||||
},
|
|
||||||
stdout: {
|
|
||||||
mode: 'all',
|
|
||||||
href: '/#/jobs/{{ job.id }}/stdout',
|
|
||||||
awToolTip: 'View standard output',
|
|
||||||
dataPlacement: 'top',
|
|
||||||
ngShow: "job.type == 'job'"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -56,6 +56,15 @@ export default
|
|||||||
awToolTip: 'Schedule future job template runs',
|
awToolTip: 'Schedule future job template runs',
|
||||||
dataPlacement: 'top',
|
dataPlacement: 'top',
|
||||||
},
|
},
|
||||||
|
copy: {
|
||||||
|
label: 'Copy',
|
||||||
|
ngClick: "copyJobTemplate(job_template.id, job_template.name)",
|
||||||
|
"class": 'btn-danger btn-xs',
|
||||||
|
awToolTip: 'Copy template',
|
||||||
|
dataPlacement: 'top',
|
||||||
|
ngHide: 'job_template.summary_fields.can_copy===false'
|
||||||
|
|
||||||
|
},
|
||||||
edit: {
|
edit: {
|
||||||
label: 'Edit',
|
label: 'Edit',
|
||||||
ngClick: "editJobTemplate(job_template.id)",
|
ngClick: "editJobTemplate(job_template.id)",
|
||||||
@@ -69,15 +78,6 @@ export default
|
|||||||
"class": 'btn-danger btn-xs',
|
"class": 'btn-danger btn-xs',
|
||||||
awToolTip: 'Delete template',
|
awToolTip: 'Delete template',
|
||||||
dataPlacement: 'top',
|
dataPlacement: 'top',
|
||||||
},
|
|
||||||
copy: {
|
|
||||||
label: 'Copy',
|
|
||||||
ngClick: "copyJobTemplate(job_template.id, job_template.name)",
|
|
||||||
"class": 'btn-danger btn-xs',
|
|
||||||
awToolTip: 'Copy template',
|
|
||||||
dataPlacement: 'top',
|
|
||||||
ngHide: 'job_template.summary_fields.can_copy===false'
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* All Rights Reserved
|
* All Rights Reserved
|
||||||
*************************************************/
|
*************************************************/
|
||||||
|
|
||||||
|
|
||||||
export default
|
export default
|
||||||
angular.module('ScheduledJobsDefinition', ['sanitizeFilter'])
|
angular.module('ScheduledJobsDefinition', ['sanitizeFilter'])
|
||||||
@@ -32,7 +32,7 @@ export default
|
|||||||
label: 'Next Run',
|
label: 'Next Run',
|
||||||
noLink: true,
|
noLink: true,
|
||||||
searchable: false,
|
searchable: false,
|
||||||
columnClass: "col-lg-2 col-md-2 hidden-xs",
|
columnClass: "col-lg-3 col-md-2 col-sm-3 hidden-xs",
|
||||||
filter: "longDate",
|
filter: "longDate",
|
||||||
key: true
|
key: true
|
||||||
},
|
},
|
||||||
@@ -55,7 +55,7 @@ export default
|
|||||||
},
|
},
|
||||||
name: {
|
name: {
|
||||||
label: 'Name',
|
label: 'Name',
|
||||||
columnClass: 'col-md-3 col-sm-4 col-xs-4',
|
columnClass: 'col-lg-3 col-md-3 col-sm-3 col-xs-5',
|
||||||
sourceModel: 'unified_job_template',
|
sourceModel: 'unified_job_template',
|
||||||
sourceField: 'name',
|
sourceField: 'name',
|
||||||
ngClick: "editSchedule(schedule.id)",
|
ngClick: "editSchedule(schedule.id)",
|
||||||
@@ -68,6 +68,9 @@ export default
|
|||||||
actions: { },
|
actions: { },
|
||||||
|
|
||||||
fieldActions: {
|
fieldActions: {
|
||||||
|
|
||||||
|
columnClass: 'col-lg-3 col-md-3 col-sm-3 col-xs-5',
|
||||||
|
|
||||||
"play": {
|
"play": {
|
||||||
mode: "all",
|
mode: "all",
|
||||||
ngClick: "toggleSchedule($event, schedule.id)",
|
ngClick: "toggleSchedule($event, schedule.id)",
|
||||||
|
|||||||
@@ -1675,7 +1675,7 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
|
|||||||
|
|
||||||
// Message for when a search returns no results. This should only get shown after a search is executed with no results.
|
// Message for when a search returns no results. This should only get shown after a search is executed with no results.
|
||||||
html += "<div class=\"row\" ng-show=\"" + collection.iterator + "Loading == false && " + collection.iterator + "_active_search == true && " + itm + ".length == 0\">\n";
|
html += "<div class=\"row\" ng-show=\"" + collection.iterator + "Loading == false && " + collection.iterator + "_active_search == true && " + itm + ".length == 0\">\n";
|
||||||
html += "<div class=\"col-lg-12\">No records matched your search.</div>\n";
|
html += "<div class=\"col-lg-12 List-searchNoResults\">No records matched your search.</div>\n";
|
||||||
html += "</div>\n";
|
html += "</div>\n";
|
||||||
|
|
||||||
// Show the "no items" box when loading is done and the user isn't actively searching and there are no results
|
// Show the "no items" box when loading is done and the user isn't actively searching and there are no results
|
||||||
|
|||||||
@@ -705,8 +705,8 @@ angular.module('GeneratorHelpers', [systemStatus.name])
|
|||||||
set = params.set,
|
set = params.set,
|
||||||
html = '';
|
html = '';
|
||||||
html += "<!-- Paginate Widget -->\n";
|
html += "<!-- Paginate Widget -->\n";
|
||||||
html += "<div id=\"" + iterator + "-pagination\" class=\"List-pagination row page-row\">\n";
|
html += "<div id=\"" + iterator + "-pagination\" class=\"List-pagination page-row\">\n";
|
||||||
html += "<div class=\"col-lg-8 col-md-8\">\n";
|
html += "<div class=\"List-paginationPagerHolder\">";
|
||||||
html += "<div class=\"List-paginationPager\" ng-hide=\"" + iterator + "HidePaginator || " + iterator + "_num_pages <= 1\">";
|
html += "<div class=\"List-paginationPager\" ng-hide=\"" + iterator + "HidePaginator || " + iterator + "_num_pages <= 1\">";
|
||||||
html += "<ul id=\"pagination-links\" class=\"pagination\">\n";
|
html += "<ul id=\"pagination-links\" class=\"pagination\">\n";
|
||||||
html += "<li class=\"List-paginationPager--item\" ng-hide=\"" + iterator + "_page -5 <= 1 \"><a href id=\"first-page-set\" ng-click=\"getPage(1,'" + set + "','" + iterator + "')\">" +
|
html += "<li class=\"List-paginationPager--item\" ng-hide=\"" + iterator + "_page -5 <= 1 \"><a href id=\"first-page-set\" ng-click=\"getPage(1,'" + set + "','" + iterator + "')\">" +
|
||||||
@@ -729,8 +729,7 @@ angular.module('GeneratorHelpers', [systemStatus.name])
|
|||||||
html += "</ul>\n";
|
html += "</ul>\n";
|
||||||
html += "<span class=\"List-paginationPager--pageof\">Page <span id=\"current-page\">{{ " + iterator + "_page }}</span> of <span id=\"total-pages\">{{ " + iterator + "_num_pages }}</span></span>";
|
html += "<span class=\"List-paginationPager--pageof\">Page <span id=\"current-page\">{{ " + iterator + "_page }}</span> of <span id=\"total-pages\">{{ " + iterator + "_num_pages }}</span></span>";
|
||||||
html += "</div>";
|
html += "</div>";
|
||||||
html += "</div>\n";
|
html += "</div>";
|
||||||
html += "<div class=\"col-lg-4 col-md-4\" ng-hide=\"" + iterator + "_mode == 'lookup'\">\n";
|
|
||||||
html += "<div id=\"pagination-labels\" class=\"page-label\" ng-hide=\"(" + iterator + "_total_rows | number:0) < 1\">\n";
|
html += "<div id=\"pagination-labels\" class=\"page-label\" ng-hide=\"(" + iterator + "_total_rows | number:0) < 1\">\n";
|
||||||
html += "<span id=\"total-items\">ITEMS ";
|
html += "<span id=\"total-items\">ITEMS ";
|
||||||
html += "<span>{{ (" + iterator + "_total_rows | number:0) < 1 ? 0 : (" + iterator + "_page-1)*" + iterator + "_page_size+1}}</span>";
|
html += "<span>{{ (" + iterator + "_total_rows | number:0) < 1 ? 0 : (" + iterator + "_page-1)*" + iterator + "_page_size+1}}</span>";
|
||||||
@@ -740,7 +739,6 @@ angular.module('GeneratorHelpers', [systemStatus.name])
|
|||||||
html += "</span>";
|
html += "</span>";
|
||||||
html += "</div>\n";
|
html += "</div>\n";
|
||||||
html += "</div>\n";
|
html += "</div>\n";
|
||||||
html += "</div>\n";
|
|
||||||
|
|
||||||
return html;
|
return html;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -382,7 +382,7 @@ export default ['$location', '$compile', '$rootScope', 'SearchWidget', 'Paginate
|
|||||||
|
|
||||||
// Message for when a search returns no results. This should only get shown after a search is executed with no results.
|
// Message for when a search returns no results. This should only get shown after a search is executed with no results.
|
||||||
html += "<div class=\"row\" ng-show=\"" + list.iterator + "Loading == false && " + list.iterator + "_active_search == true && " + list.name + ".length == 0\">\n";
|
html += "<div class=\"row\" ng-show=\"" + list.iterator + "Loading == false && " + list.iterator + "_active_search == true && " + list.name + ".length == 0\">\n";
|
||||||
html += "<div class=\"col-lg-12\">No records matched your search.</div>\n";
|
html += "<div class=\"col-lg-12 List-searchNoResults\">No records matched your search.</div>\n";
|
||||||
html += "</div>\n";
|
html += "</div>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,11 +5,15 @@
|
|||||||
flex-wrap:wrap;
|
flex-wrap:wrap;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
padding: 15px 20px;
|
padding: 15px 20px;
|
||||||
|
-webkit-box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.25);
|
||||||
|
-moz-box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.25);
|
||||||
|
box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.25);
|
||||||
}
|
}
|
||||||
|
|
||||||
.Prompt-header {
|
.Prompt-header {
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
margin-bottom: 25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.Prompt-title {
|
.Prompt-title {
|
||||||
@@ -33,13 +37,12 @@
|
|||||||
height:20px;
|
height:20px;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
background-color:@default-bg;
|
background-color:@default-bg;
|
||||||
color:@default-second-border;
|
color:@default-icon;
|
||||||
transition: color 0.2s;
|
|
||||||
line-height:1;
|
line-height:1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.Prompt-exit:hover{
|
.Prompt-exit:hover{
|
||||||
color:@default-icon;
|
color:@default-icon-hov;
|
||||||
}
|
}
|
||||||
|
|
||||||
.Prompt-body {
|
.Prompt-body {
|
||||||
@@ -47,7 +50,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.Prompt-bodyQuery {
|
.Prompt-bodyQuery {
|
||||||
padding: 15px 0px;
|
margin-bottom: 20px;
|
||||||
color: @default-interface-txt;
|
color: @default-interface-txt;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,7 +61,7 @@
|
|||||||
.Prompt-footer {
|
.Prompt-footer {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
padding-top: 20px;
|
margin-top: 20px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,6 +96,10 @@
|
|||||||
color: @btn-txt-sel;
|
color: @btn-txt-sel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.Prompt-footerButton {
|
||||||
|
padding: 4px 8px;
|
||||||
|
}
|
||||||
|
|
||||||
.Prompt-footerButton + .Prompt-footerButton {
|
.Prompt-footerButton + .Prompt-footerButton {
|
||||||
margin-left: 20px;
|
margin-left: 20px;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user