diff --git a/src/sql/parts/jobManagement/views/jobHistory.component.html b/src/sql/parts/jobManagement/views/jobHistory.component.html
index 173ffd319a..adad1aadf2 100644
--- a/src/sql/parts/jobManagement/views/jobHistory.component.html
+++ b/src/sql/parts/jobManagement/views/jobHistory.component.html
@@ -154,7 +154,7 @@
-
+
No Steps Available
diff --git a/src/sql/parts/jobManagement/views/jobHistory.component.ts b/src/sql/parts/jobManagement/views/jobHistory.component.ts
index c482747e9d..2e4a44b44c 100644
--- a/src/sql/parts/jobManagement/views/jobHistory.component.ts
+++ b/src/sql/parts/jobManagement/views/jobHistory.component.ts
@@ -174,10 +174,12 @@ export class JobHistoryComponent extends JobManagementView implements OnInit {
if (self.agentJobHistoryInfo) {
self.agentJobHistoryInfo.runDate = self.formatTime(self.agentJobHistoryInfo.runDate);
if (self.agentJobHistoryInfo.steps) {
+ let jobStepStatus = this.didJobFail(self.agentJobHistoryInfo);
self._stepRows = self.agentJobHistoryInfo.steps.map(step => {
let stepViewRow = new JobStepsViewRow();
stepViewRow.message = step.message;
- stepViewRow.runStatus = JobManagementUtilities.convertToStatusString(step.runStatus);
+ stepViewRow.runStatus = jobStepStatus ? JobManagementUtilities.convertToStatusString(0) :
+ JobManagementUtilities.convertToStatusString(step.runStatus);
self._runStatus = JobManagementUtilities.convertToStatusString(self.agentJobHistoryInfo.runStatus);
stepViewRow.stepName = step.stepName;
stepViewRow.stepID = step.stepId.toString();
@@ -191,6 +193,15 @@ export class JobHistoryComponent extends JobManagementView implements OnInit {
}
}
+ private didJobFail(job: sqlops.AgentJobHistoryInfo): boolean {
+ for (let i = 0; i < job.steps.length; i++) {
+ if (job.steps[i].runStatus === 0) {
+ return true;
+ }
+ }
+ return false;
+ }
+
private buildHistoryTree(self: any, jobHistories: sqlops.AgentJobHistoryInfo[]) {
self._treeController.jobHistories = jobHistories;
self._jobCacheObject.setJobHistory(self._agentViewComponent.jobId, jobHistories);
diff --git a/src/sql/parts/jobManagement/views/jobHistoryTree.ts b/src/sql/parts/jobManagement/views/jobHistoryTree.ts
index 7149531ea2..e4215f216c 100644
--- a/src/sql/parts/jobManagement/views/jobHistoryTree.ts
+++ b/src/sql/parts/jobManagement/views/jobHistoryTree.ts
@@ -104,7 +104,6 @@ export interface IListTemplate {
}
export class JobHistoryRenderer implements tree.IRenderer {
- private _statusIcon: HTMLElement;
public getHeight(tree: tree.ITree, element: JobHistoryRow): number {
return 30;
@@ -121,11 +120,10 @@ export class JobHistoryRenderer implements tree.IRenderer {
public renderTemplate(tree: tree.ITree, templateId: string, container: HTMLElement): IListTemplate {
let row = DOM.$('.list-row');
let label = DOM.$('.label');
- this._statusIcon = this.createStatusIcon();
- row.appendChild(this._statusIcon);
+ let statusIcon = this.createStatusIcon();
+ row.appendChild(statusIcon);
row.appendChild(label);
container.appendChild(row);
- let statusIcon = this._statusIcon;
return { statusIcon, label };
}
@@ -133,13 +131,13 @@ export class JobHistoryRenderer implements tree.IRenderer {
templateData.label.innerHTML = element.runDate + ' ' + element.runStatus;
let statusClass: string;
if (element.runStatus === 'Succeeded') {
- statusClass = ' job-passed';
+ statusClass = 'status-icon job-passed';
} else if (element.runStatus === 'Failed') {
- statusClass = ' job-failed';
+ statusClass = 'status-icon job-failed';
} else {
- statusClass = ' job-unknown';
+ statusClass = 'status-icon job-unknown';
}
- this._statusIcon.className += statusClass;
+ templateData.statusIcon.className = statusClass;
}
public disposeTemplate(tree: tree.ITree, templateId: string, templateData: IListTemplate): void {
@@ -148,7 +146,6 @@ export class JobHistoryRenderer implements tree.IRenderer {
private createStatusIcon(): HTMLElement {
let statusIcon: HTMLElement = DOM.$('div');
- statusIcon.className += ' status-icon';
return statusIcon;
}
}
diff --git a/src/sql/parts/jobManagement/views/jobStepsView.component.ts b/src/sql/parts/jobManagement/views/jobStepsView.component.ts
index b93074c58b..a3f448850b 100644
--- a/src/sql/parts/jobManagement/views/jobStepsView.component.ts
+++ b/src/sql/parts/jobManagement/views/jobStepsView.component.ts
@@ -88,15 +88,6 @@ export class JobStepsViewComponent extends JobManagementView implements OnInit,
}
public layout() {
- let jobsViewToolbar = $('jobhistory-component .actionbar-container').get(0);
- let statusBar = $('.part.statusbar').get(0);
- if (jobsViewToolbar && statusBar) {
- let toolbarBottom = jobsViewToolbar.getBoundingClientRect().bottom;
- let statusTop = statusBar.getBoundingClientRect().top;
- this._table.layout(new dom.Dimension(
- dom.getContentWidth(this._tableContainer.nativeElement),
- statusTop - toolbarBottom));
- }
}
}