mirror of
https://github.com/ZwareBear/awx.git
synced 2026-04-29 03:11:48 -05:00
Add Job Splitting feature to UI
This commit is contained in:
@@ -76,6 +76,22 @@ function ListJobsController (
|
||||
return { icon, link, value };
|
||||
});
|
||||
|
||||
vm.getSplitJobDetails = (details) => {
|
||||
const internalLimitDetails = Object.assign({}, details);
|
||||
|
||||
if (!internalLimitDetails) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const splitJobDetails = internalLimitDetails.shard;
|
||||
|
||||
if (!splitJobDetails) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return `Split Job ${splitJobDetails.offset + 1}/${splitJobDetails.step}`;
|
||||
};
|
||||
|
||||
vm.getSref = ({ type, id }) => {
|
||||
let sref;
|
||||
|
||||
|
||||
@@ -23,7 +23,8 @@
|
||||
status-tip="{{ vm.strings.get('list.STATUS_TOOLTIP', job.status) }}"
|
||||
header-value="{{ job.id }} - {{ job.name }}"
|
||||
header-state="{{ vm.getSref(job) }}"
|
||||
header-tag="{{ vm.jobTypes[job.type] }}">
|
||||
header-tag="{{ vm.jobTypes[job.type] }}"
|
||||
secondary-tag="{{ vm.getSplitJobDetails(job.summary_fields.internal_limit) }}">
|
||||
</at-row-item>
|
||||
<div class="at-Row--inline">
|
||||
<at-row-item
|
||||
|
||||
@@ -126,22 +126,22 @@ function getSourceWorkflowJobDetails () {
|
||||
return { link, tooltip };
|
||||
}
|
||||
|
||||
function getShardDetails () {
|
||||
function getSplitJobDetails () {
|
||||
const internalLimitDetails = resource.model.get('summary_fields.internal_limit');
|
||||
|
||||
if (!internalLimitDetails) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const shardDetails = resource.model.get('summary_fields.internal_limit.shard');
|
||||
const splitJobDetails = resource.model.get('summary_fields.internal_limit.shard');
|
||||
|
||||
if (!shardDetails) {
|
||||
if (!splitJobDetails) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const label = strings.get('labels.SHARD_DETAILS');
|
||||
const offset = `${shardDetails.offset} of ${shardDetails.step} shards`;
|
||||
const tooltip = strings.get('tooltips.SHARD_DETAILS');
|
||||
const label = strings.get('labels.SPLIT_JOB');
|
||||
const offset = `${splitJobDetails.offset + 1}/${splitJobDetails.step}`;
|
||||
const tooltip = strings.get('tooltips.SPLIT_JOB_DETAILS');
|
||||
|
||||
return { label, offset, tooltip };
|
||||
}
|
||||
@@ -691,7 +691,7 @@ function JobDetailsController (
|
||||
vm.jobType = getJobTypeDetails();
|
||||
vm.jobTemplate = getJobTemplateDetails();
|
||||
vm.sourceWorkflowJob = getSourceWorkflowJobDetails();
|
||||
vm.shardDetails = getShardDetails();
|
||||
vm.splitJobDetails = getSplitJobDetails();
|
||||
vm.inventory = getInventoryDetails();
|
||||
vm.project = getProjectDetails();
|
||||
vm.projectUpdate = getProjectUpdateDetails();
|
||||
|
||||
@@ -151,10 +151,10 @@
|
||||
<div class="JobResults-resultRowText">{{ vm.jobType.value }}</div>
|
||||
</div>
|
||||
|
||||
<!-- SHAAAAAARD -->
|
||||
<div class="JobResults-resultRow" ng-if="vm.shardDetails">
|
||||
<label class="JobResults-resultRowLabel">{{ vm.shardDetails.label }}</label>
|
||||
<div class="JobResults-resultRowText">{{ vm.shardDetails.offset }}</div>
|
||||
<!-- SPLIT JOB DETAIL -->
|
||||
<div class="JobResults-resultRow" ng-if="vm.splitJobDetails">
|
||||
<label class="JobResults-resultRowLabel">{{ vm.splitJobDetails.label }}</label>
|
||||
<div class="JobResults-resultRowText">{{ vm.splitJobDetails.offset }}</div>
|
||||
</div>
|
||||
|
||||
<!-- LAUNCHED BY DETAIL -->
|
||||
|
||||
@@ -23,7 +23,7 @@ function OutputStrings (BaseString) {
|
||||
EXTRA_VARS: t.s('Read-only view of extra variables added to the job template'),
|
||||
INVENTORY: t.s('View the Inventory'),
|
||||
JOB_TEMPLATE: t.s('View the Job Template'),
|
||||
SHARD_DETAILS: t.s('Job is one of several shards from a JT that splits on inventory'),
|
||||
SPLIT_JOB_DETAILS: t.s('Job is one of several from a JT that splits on inventory'),
|
||||
PROJECT: t.s('View the Project'),
|
||||
PROJECT_UPDATE: t.s('View Project checkout results'),
|
||||
SCHEDULE: t.s('View the Schedule'),
|
||||
@@ -56,7 +56,7 @@ function OutputStrings (BaseString) {
|
||||
JOB_EXPLANATION: t.s('Explanation'),
|
||||
JOB_TAGS: t.s('Job Tags'),
|
||||
JOB_TEMPLATE: t.s('Job Template'),
|
||||
SHARD_DETAILS: t.s('Shard Details'),
|
||||
SPLIT_JOB: t.s('Split Job'),
|
||||
JOB_TYPE: t.s('Job Type'),
|
||||
LABELS: t.s('Labels'),
|
||||
LAUNCHED_BY: t.s('Launched By'),
|
||||
|
||||
Reference in New Issue
Block a user