mirror of
https://github.com/ZwareBear/awx.git
synced 2026-04-24 17:01:49 -05:00
Continuing work on new Jobs page. Increased pop-over width. Added a footer explaning how to close. Added close-on-click behavior in addition to esc key.
This commit is contained in:
@@ -21,31 +21,28 @@ angular.module('CompletedJobsDefinition', [])
|
||||
fields: {
|
||||
id: {
|
||||
label: 'Job ID',
|
||||
linkTo: '/#/jobs/{{ completed_job.id }}',
|
||||
key: true,
|
||||
desc: true,
|
||||
searchType: 'int',
|
||||
columnClass: 'col-lg-1 col-md-2 col-sm-2 col-xs-2'
|
||||
},
|
||||
inventory: {
|
||||
label: 'Inventory ID',
|
||||
searchType: 'int',
|
||||
searchOnly: true
|
||||
},
|
||||
created: {
|
||||
label: 'Create On',
|
||||
modified: {
|
||||
label: 'Completed On',
|
||||
link: false,
|
||||
searchable: false,
|
||||
filter: "date:'MM/dd/yy HH:mm:ss'",
|
||||
columnClass: "hidden-sm hidden-xs"
|
||||
columnClass: "col-md-2 hidden-xs"
|
||||
},
|
||||
job_template: {
|
||||
label: 'Job Template',
|
||||
ngBind: 'completed_job.summary_fields.job_template.name',
|
||||
//ngHref: "{{ '/#/job_templates/?name=' + completed_job.summary_fields.job_template.name }}",
|
||||
ngHref:"{{ '/#/job_templates/' + completed_job.job_template }}",
|
||||
sourceModel: 'job_template',
|
||||
sourceField: 'name',
|
||||
columnClass: 'col-lg-4 col-md-4 col-sm-4 col-xs-3'
|
||||
type: {
|
||||
label: 'Type',
|
||||
link: false,
|
||||
columnClass: "col-md-2 hidden-sm hidden-xs"
|
||||
},
|
||||
name: {
|
||||
label: 'Name',
|
||||
columnClass: 'col-sm-4 col-xs-5',
|
||||
ngHref: 'nameHref'
|
||||
},
|
||||
failed: {
|
||||
label: 'Job failed?',
|
||||
@@ -54,29 +51,6 @@ angular.module('CompletedJobsDefinition', [])
|
||||
searchValue: 'true',
|
||||
searchOnly: true,
|
||||
nosort: true
|
||||
},
|
||||
status: {
|
||||
label: 'Status',
|
||||
"class": 'job-{{ completed_job.status }}',
|
||||
searchType: 'select',
|
||||
linkTo: "{{ completed_job.statusLinkTo }}",
|
||||
searchOptions: [
|
||||
{ name: "new", value: "new" },
|
||||
{ name: "waiting", value: "waiting" },
|
||||
{ name: "pending", value: "pending" },
|
||||
{ name: "running", value: "running" },
|
||||
{ name: "successful", value: "successful" },
|
||||
{ name: "error", value: "error" },
|
||||
{ name: "failed", value: "failed" },
|
||||
{ name: "canceled", value: "canceled" }
|
||||
],
|
||||
badgeIcon: 'fa icon-job-{{ completed_job.status }}',
|
||||
badgePlacement: 'left',
|
||||
badgeToolTip: "{{ completed_job.statusBadgeToolTip }}",
|
||||
badgeTipPlacement: 'top',
|
||||
badgeNgHref: "{{ completed_job.statusLinkTo }}",
|
||||
awToolTip: "{{ completed_job.statusBadgeToolTip }}",
|
||||
dataPlacement: 'top'
|
||||
}
|
||||
},
|
||||
|
||||
@@ -89,16 +63,40 @@ angular.module('CompletedJobsDefinition', [])
|
||||
},
|
||||
|
||||
fieldActions: {
|
||||
status: {
|
||||
mode: 'all',
|
||||
//"class": 'job-{{ completed_job.status }}',
|
||||
//searchType: 'select',
|
||||
//linkTo: "{{ completed_job.statusLinkTo }}",
|
||||
//searchOptions: [
|
||||
// { name: "new", value: "new" },
|
||||
// { name: "waiting", value: "waiting" },
|
||||
// { name: "pending", value: "pending" },
|
||||
// { name: "running", value: "running" },
|
||||
// { name: "successful", value: "successful" },
|
||||
// { name: "error", value: "error" },
|
||||
// { name: "failed", value: "failed" },
|
||||
// { name: "canceled", value: "canceled" }
|
||||
//],
|
||||
iconClass: 'fa icon-job-{{ completed_job.status }}',
|
||||
awToolTip: "{{ completed_job.statusToolTip }}",
|
||||
dataPlacement: 'top'
|
||||
//badgeIcon: 'fa icon-job-{{ completed_job.status }}',
|
||||
//badgePlacement: 'left',
|
||||
//badgeToolTip: "{{ completed_job.statusBadgeToolTip }}",
|
||||
//badgeTipPlacement: 'top',
|
||||
//badgeNgHref: "{{ completed_job.statusLinkTo }}",
|
||||
//awToolTip: "{{ completed_job.statusBadgeToolTip }}",
|
||||
//dataPlacement: 'top'
|
||||
},
|
||||
submit: {
|
||||
label: 'Relaunch',
|
||||
icon: 'icon-rocket',
|
||||
mode: 'all',
|
||||
ngClick: 'submitJob(completed_job.id, completed_job.summary_fields.job_template.name)',
|
||||
awToolTip: 'Start the job',
|
||||
awToolTip: 'Relaunch the job',
|
||||
dataPlacement: 'top'
|
||||
},
|
||||
cancel: {
|
||||
label: 'Stop',
|
||||
mode: 'all',
|
||||
ngClick: 'deleteJob(completed_job.id)',
|
||||
awToolTip: 'Cancel a running or pending job',
|
||||
@@ -106,7 +104,6 @@ angular.module('CompletedJobsDefinition', [])
|
||||
dataPlacement: 'top'
|
||||
},
|
||||
"delete": {
|
||||
label: 'Delete',
|
||||
mode: 'all',
|
||||
ngClick: 'deleteJob(completed_job.id)',
|
||||
awToolTip: 'Delete the job',
|
||||
|
||||
@@ -32,20 +32,21 @@ angular.module('QueuedJobsDefinition', [])
|
||||
searchOnly: true
|
||||
},
|
||||
created: {
|
||||
label: 'Create On',
|
||||
label: 'Created On',
|
||||
link: false,
|
||||
searchable: false,
|
||||
filter: "date:'MM/dd/yy HH:mm:ss'",
|
||||
columnClass: 'hidden-sm hidden-xs'
|
||||
columnClass: 'col-md-2 hidden-xs'
|
||||
},
|
||||
job_template: {
|
||||
label: 'Job Template',
|
||||
ngBind: 'queued_job.summary_fields.job_template.name',
|
||||
//ngHref: "{{ '/#/job_templates/?name=' + queued_job.summary_fields.job_template.name }}",
|
||||
ngHref:"{{ '/#/job_templates/' + queued_job.job_template }}",
|
||||
sourceModel: 'job_template',
|
||||
sourceField: 'name',
|
||||
columnClass: 'col-lg-4 col-md-4 col-sm-4 col-xs-3'
|
||||
type: {
|
||||
label: 'Type',
|
||||
link: false,
|
||||
columnClass: "col-md-2 hidden-sm hidden-xs"
|
||||
},
|
||||
name: {
|
||||
label: 'Name',
|
||||
columnClass: 'col-sm-4 col-xs-5',
|
||||
ngHref: 'nameHref'
|
||||
},
|
||||
failed: {
|
||||
label: 'Job failed?',
|
||||
@@ -54,29 +55,6 @@ angular.module('QueuedJobsDefinition', [])
|
||||
searchValue: 'true',
|
||||
searchOnly: true,
|
||||
nosort: true
|
||||
},
|
||||
status: {
|
||||
label: 'Status',
|
||||
"class": 'job-{{ queued_job.status }}',
|
||||
searchType: 'select',
|
||||
linkTo: "{{ queued_job.statusLinkTo }}",
|
||||
searchOptions: [
|
||||
{ name: "new", value: "new" },
|
||||
{ name: "waiting", value: "waiting" },
|
||||
{ name: "pending", value: "pending" },
|
||||
{ name: "running", value: "running" },
|
||||
{ name: "successful", value: "successful" },
|
||||
{ name: "error", value: "error" },
|
||||
{ name: "failed", value: "failed" },
|
||||
{ name: "canceled", value: "canceled" }
|
||||
],
|
||||
badgeIcon: 'fa icon-job-{{ queued_job.status }}',
|
||||
badgePlacement: 'left',
|
||||
badgeToolTip: "{{ queued_job.statusBadgeToolTip }}",
|
||||
badgeTipPlacement: 'top',
|
||||
badgeNgHref: "{{ queued_job.statusLinkTo }}",
|
||||
awToolTip: "{{ queued_job.statusBadgeToolTip }}",
|
||||
dataPlacement: 'top'
|
||||
}
|
||||
},
|
||||
|
||||
@@ -89,42 +67,24 @@ angular.module('QueuedJobsDefinition', [])
|
||||
},
|
||||
|
||||
fieldActions: {
|
||||
status: {
|
||||
mode: 'all',
|
||||
iconClass: 'fa icon-job-{{ queued_job.status }}',
|
||||
awToolTip: "{{ queued_job.statusToolTip }}",
|
||||
dataPlacement: 'top'
|
||||
},
|
||||
submit: {
|
||||
label: 'Relaunch',
|
||||
icon: 'icon-rocket',
|
||||
mode: 'all',
|
||||
ngClick: 'submitJob(queued_job.id, queued_job.summary_fields.job_template.name)',
|
||||
awToolTip: 'Start the job',
|
||||
awToolTip: 'Launch another instance of the job',
|
||||
dataPlacement: 'top'
|
||||
},
|
||||
cancel: {
|
||||
label: 'Stop',
|
||||
mode: 'all',
|
||||
ngClick: 'deleteJob(queued_job.id)',
|
||||
awToolTip: 'Cancel a running or pending job',
|
||||
ngShow: "queued_job.status == 'pending' || queued_job.status == 'running' || queued_job.status == 'waiting'",
|
||||
awToolTip: 'Cancel the job',
|
||||
dataPlacement: 'top'
|
||||
},
|
||||
"delete": {
|
||||
label: 'Delete',
|
||||
mode: 'all',
|
||||
ngClick: 'deleteJob(queued_job.id)',
|
||||
awToolTip: 'Delete the job',
|
||||
ngShow: "queued_job.status != 'pending' && queued_job.status != 'running' && queued_job.status != 'waiting'",
|
||||
dataPlacement: 'top'
|
||||
},
|
||||
dropdown: {
|
||||
type: 'DropDown',
|
||||
label: 'View',
|
||||
icon: 'fa-search-plus',
|
||||
'class': 'btn-default btn-xs',
|
||||
options: [
|
||||
{ ngClick: 'editJob(queued_job.id, queued_job.summary_fields.job_template.name)', label: 'Status' },
|
||||
{ ngClick: 'viewEvents(queued_job.id, queued_job.summary_fields.job_template.name)', label: 'Events',
|
||||
ngHide: "queued_job.status == 'new'" },
|
||||
{ ngClick: 'viewSummary(queued_job.id, queued_job.summary_fields.job_template.name)', label: 'Host Summary',
|
||||
ngHide: "queued_job.status == 'new'" }
|
||||
]
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -31,21 +31,22 @@ angular.module('RunningJobsDefinition', [])
|
||||
searchType: 'int',
|
||||
searchOnly: true
|
||||
},
|
||||
created: {
|
||||
label: 'Create On',
|
||||
modified: {
|
||||
label: 'Last Updated',
|
||||
link: false,
|
||||
searchable: false,
|
||||
filter: "date:'MM/dd/yy HH:mm:ss'",
|
||||
columnClass: 'hidden-sm hidden-xs'
|
||||
columnClass: "col-md-2 hidden-xs"
|
||||
},
|
||||
job_template: {
|
||||
label: 'Job Template',
|
||||
ngBind: 'running_job.summary_fields.job_template.name',
|
||||
//ngHref: "{{ '/#/job_templates/?name=' + running_job.summary_fields.job_template.name }}",
|
||||
ngHref:"{{ '/#/job_templates/' + running_job.job_template }}",
|
||||
sourceModel: 'job_template',
|
||||
sourceField: 'name',
|
||||
columnClass: 'col-lg-4 col-md-4 col-sm-4 col-xs-3'
|
||||
type: {
|
||||
label: 'Type',
|
||||
link: false,
|
||||
columnClass: "col-md-2 hidden-sm hidden-xs"
|
||||
},
|
||||
name: {
|
||||
label: 'Name',
|
||||
columnClass: 'col-sm-4 col-xs-5',
|
||||
ngHref: 'nameHref'
|
||||
},
|
||||
failed: {
|
||||
label: 'Job failed?',
|
||||
@@ -54,29 +55,6 @@ angular.module('RunningJobsDefinition', [])
|
||||
searchValue: 'true',
|
||||
searchOnly: true,
|
||||
nosort: true
|
||||
},
|
||||
status: {
|
||||
label: 'Status',
|
||||
"class": 'job-{{ running_job.status }}',
|
||||
searchType: 'select',
|
||||
linkTo: "{{ running_job.statusLinkTo }}",
|
||||
searchOptions: [
|
||||
{ name: "new", value: "new" },
|
||||
{ name: "waiting", value: "waiting" },
|
||||
{ name: "pending", value: "pending" },
|
||||
{ name: "running", value: "running" },
|
||||
{ name: "successful", value: "successful" },
|
||||
{ name: "error", value: "error" },
|
||||
{ name: "failed", value: "failed" },
|
||||
{ name: "canceled", value: "canceled" }
|
||||
],
|
||||
badgeIcon: 'fa icon-job-{{ running_job.status }}',
|
||||
badgePlacement: 'left',
|
||||
badgeToolTip: "{{ running_job.statusBadgeToolTip }}",
|
||||
badgeTipPlacement: 'top',
|
||||
badgeNgHref: "{{ running_job.statusLinkTo }}",
|
||||
awToolTip: "{{ running_job.statusBadgeToolTip }}",
|
||||
dataPlacement: 'top'
|
||||
}
|
||||
},
|
||||
|
||||
@@ -89,24 +67,27 @@ angular.module('RunningJobsDefinition', [])
|
||||
},
|
||||
|
||||
fieldActions: {
|
||||
status: {
|
||||
mode: 'all',
|
||||
iconClass: 'fa icon-job-{{ running_job.status }}',
|
||||
awToolTip: "{{ running_job.statusToolTip }}",
|
||||
dataPlacement: 'top'
|
||||
},
|
||||
submit: {
|
||||
label: 'Relaunch',
|
||||
icon: 'icon-rocket',
|
||||
mode: 'all',
|
||||
ngClick: 'submitJob(running_job.id, running_job.summary_fields.job_template.name)',
|
||||
awToolTip: 'Start the job',
|
||||
awToolTip: 'Launch another instance of the job',
|
||||
dataPlacement: 'top'
|
||||
},
|
||||
cancel: {
|
||||
label: 'Stop',
|
||||
mode: 'all',
|
||||
ngClick: 'deleteJob(running_job.id)',
|
||||
awToolTip: 'Cancel a running or pending job',
|
||||
awToolTip: 'Cancel the job',
|
||||
ngShow: "running_job.status == 'pending' || running_job.status == 'running' || running_job.status == 'waiting'",
|
||||
dataPlacement: 'top'
|
||||
},
|
||||
"delete": {
|
||||
label: 'Delete',
|
||||
mode: 'all',
|
||||
ngClick: 'deleteJob(running_job.id)',
|
||||
awToolTip: 'Delete the job',
|
||||
|
||||
Reference in New Issue
Block a user