Agent - refresh refactor (#4773)

* refactored refresh views

* removed refresh from jobs view
This commit is contained in:
Aditya Bist
2019-03-29 13:42:02 -07:00
committed by GitHub
parent a064da642d
commit b04ca0fdbd
8 changed files with 28 additions and 40 deletions

View File

@@ -77,7 +77,7 @@ export class AlertsViewComponent extends JobManagementView implements OnInit, On
constructor( constructor(
@Inject(forwardRef(() => ChangeDetectorRef)) private _cd: ChangeDetectorRef, @Inject(forwardRef(() => ChangeDetectorRef)) private _cd: ChangeDetectorRef,
@Inject(forwardRef(() => ElementRef)) private _el: ElementRef, @Inject(forwardRef(() => ElementRef)) private _el: ElementRef,
@Inject(forwardRef(() => AgentViewComponent)) private _agentViewComponent: AgentViewComponent, @Inject(forwardRef(() => AgentViewComponent)) _agentViewComponent: AgentViewComponent,
@Inject(IJobManagementService) private _jobManagementService: IJobManagementService, @Inject(IJobManagementService) private _jobManagementService: IJobManagementService,
@Inject(ICommandService) private _commandService: ICommandService, @Inject(ICommandService) private _commandService: ICommandService,
@Inject(IInstantiationService) instantiationService: IInstantiationService, @Inject(IInstantiationService) instantiationService: IInstantiationService,
@@ -85,7 +85,7 @@ export class AlertsViewComponent extends JobManagementView implements OnInit, On
@Inject(IContextMenuService) contextMenuService: IContextMenuService, @Inject(IContextMenuService) contextMenuService: IContextMenuService,
@Inject(IKeybindingService) keybindingService: IKeybindingService, @Inject(IKeybindingService) keybindingService: IKeybindingService,
@Inject(IDashboardService) _dashboardService: IDashboardService) { @Inject(IDashboardService) _dashboardService: IDashboardService) {
super(commonService, _dashboardService, contextMenuService, keybindingService, instantiationService); super(commonService, _dashboardService, contextMenuService, keybindingService, instantiationService, _agentViewComponent);
this._didTabChange = false; this._didTabChange = false;
this._isCloud = commonService.connectionManagementService.connectionInfo.serverInfo.isCloud; this._isCloud = commonService.connectionManagementService.connectionInfo.serverInfo.isCloud;
let alertsCacheObjectMap = this._jobManagementService.alertsCacheObjectMap; let alertsCacheObjectMap = this._jobManagementService.alertsCacheObjectMap;
@@ -147,6 +147,7 @@ export class AlertsViewComponent extends JobManagementView implements OnInit, On
$(this._gridEl.nativeElement).empty(); $(this._gridEl.nativeElement).empty();
$(this.actionBarContainer.nativeElement).empty(); $(this.actionBarContainer.nativeElement).empty();
this.initActionBar(); this.initActionBar();
this._table = new Table(this._gridEl.nativeElement, { columns }, this.options); this._table = new Table(this._gridEl.nativeElement, { columns }, this.options);
this._table.grid.setData(this.dataView, true); this._table.grid.setData(this.dataView, true);
this._register(this._table.onContextMenu(e => { this._register(this._table.onContextMenu(e => {
@@ -238,8 +239,4 @@ export class AlertsViewComponent extends JobManagementView implements OnInit, On
} }
}); });
} }
private refreshJobs() {
this._agentViewComponent.refresh = true;
}
} }

View File

@@ -72,7 +72,7 @@ export class JobHistoryComponent extends JobManagementView implements OnInit {
@Inject(forwardRef(() => ElementRef)) el: ElementRef, @Inject(forwardRef(() => ElementRef)) el: ElementRef,
@Inject(forwardRef(() => ChangeDetectorRef)) private _cd: ChangeDetectorRef, @Inject(forwardRef(() => ChangeDetectorRef)) private _cd: ChangeDetectorRef,
@Inject(forwardRef(() => CommonServiceInterface)) commonService: CommonServiceInterface, @Inject(forwardRef(() => CommonServiceInterface)) commonService: CommonServiceInterface,
@Inject(forwardRef(() => AgentViewComponent)) private _agentViewComponent: AgentViewComponent, @Inject(forwardRef(() => AgentViewComponent)) _agentViewComponent: AgentViewComponent,
@Inject(IWorkbenchThemeService) private themeService: IWorkbenchThemeService, @Inject(IWorkbenchThemeService) private themeService: IWorkbenchThemeService,
@Inject(IInstantiationService) private instantiationService: IInstantiationService, @Inject(IInstantiationService) private instantiationService: IInstantiationService,
@Inject(IContextMenuService) private contextMenuService: IContextMenuService, @Inject(IContextMenuService) private contextMenuService: IContextMenuService,
@@ -81,7 +81,7 @@ export class JobHistoryComponent extends JobManagementView implements OnInit {
@Inject(IDashboardService) dashboardService: IDashboardService, @Inject(IDashboardService) dashboardService: IDashboardService,
@Inject(ITelemetryService) private _telemetryService: ITelemetryService @Inject(ITelemetryService) private _telemetryService: ITelemetryService
) { ) {
super(commonService, dashboardService, contextMenuService, keybindingService, instantiationService); super(commonService, dashboardService, contextMenuService, keybindingService, instantiationService, _agentViewComponent);
this._treeController = new JobHistoryController(); this._treeController = new JobHistoryController();
this._treeDataSource = new JobHistoryDataSource(); this._treeDataSource = new JobHistoryDataSource();
this._treeRenderer = new JobHistoryRenderer(); this._treeRenderer = new JobHistoryRenderer();
@@ -331,10 +331,6 @@ export class JobHistoryComponent extends JobManagementView implements OnInit {
} }
} }
public refreshJobs() {
this._agentViewComponent.refresh = true;
}
protected initActionBar() { protected initActionBar() {
let runJobAction = this.instantiationService.createInstance(RunJobAction); let runJobAction = this.instantiationService.createInstance(RunJobAction);
let stopJobAction = this.instantiationService.createInstance(StopJobAction); let stopJobAction = this.instantiationService.createInstance(StopJobAction);
@@ -351,7 +347,7 @@ export class JobHistoryComponent extends JobManagementView implements OnInit {
let refreshAction = this.instantiationService.createInstance(JobsRefreshAction); let refreshAction = this.instantiationService.createInstance(JobsRefreshAction);
let taskbar = <HTMLElement>this.actionBarContainer.nativeElement; let taskbar = <HTMLElement>this.actionBarContainer.nativeElement;
this._actionBar = new Taskbar(taskbar, this.contextMenuService); this._actionBar = new Taskbar(taskbar, this.contextMenuService);
this._actionBar.context = { targetObject: this._agentJobInfo, ownerUri: this.ownerUri, jobHistoryComponent: this }; this._actionBar.context = { targetObject: this._agentJobInfo, ownerUri: this.ownerUri, component: this };
this._actionBar.setContent([ this._actionBar.setContent([
{ action: runJobAction }, { action: runJobAction },
{ action: stopJobAction }, { action: stopJobAction },

View File

@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import * as azdata from 'azdata'; import * as azdata from 'azdata';
import { ElementRef, AfterContentChecked, ViewChild } from '@angular/core'; import { ElementRef, AfterContentChecked, ViewChild, forwardRef, Inject } from '@angular/core';
import { Table } from 'sql/base/browser/ui/table/table'; import { Table } from 'sql/base/browser/ui/table/table';
import { AgentViewComponent } from 'sql/parts/jobManagement/agent/agentView.component'; import { AgentViewComponent } from 'sql/parts/jobManagement/agent/agentView.component';
import { CommonServiceInterface } from 'sql/services/common/commonServiceInterface.service'; import { CommonServiceInterface } from 'sql/services/common/commonServiceInterface.service';
@@ -14,7 +14,7 @@ import { IContextMenuService } from 'vs/platform/contextview/browser/contextView
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { Taskbar } from '../../../base/browser/ui/taskbar/taskbar'; import { Taskbar } from '../../../base/browser/ui/taskbar/taskbar';
import { JobsRefreshAction } from 'sql/platform/jobManagement/common/jobActions'; import { JobsRefreshAction, IJobActionInfo } from 'sql/platform/jobManagement/common/jobActions';
import { TabChild } from 'sql/base/browser/ui/panel/tab.component'; import { TabChild } from 'sql/base/browser/ui/panel/tab.component';
import { IDashboardService } from 'sql/platform/dashboard/browser/dashboardService'; import { IDashboardService } from 'sql/platform/dashboard/browser/dashboardService';
@@ -37,7 +37,8 @@ export abstract class JobManagementView extends TabChild implements AfterContent
protected _dashboardService: IDashboardService, protected _dashboardService: IDashboardService,
protected _contextMenuService: IContextMenuService, protected _contextMenuService: IContextMenuService,
protected _keybindingService: IKeybindingService, protected _keybindingService: IKeybindingService,
protected _instantiationService: IInstantiationService) { protected _instantiationService: IInstantiationService,
protected _agentViewComponent: AgentViewComponent) {
super(); super();
let self = this; let self = this;
@@ -111,11 +112,15 @@ export abstract class JobManagementView extends TabChild implements AfterContent
let newAction: Action = this._instantiationService.createInstance(this.contextAction); let newAction: Action = this._instantiationService.createInstance(this.contextAction);
let taskbar = <HTMLElement>this.actionBarContainer.nativeElement; let taskbar = <HTMLElement>this.actionBarContainer.nativeElement;
this._actionBar = new Taskbar(taskbar, this._contextMenuService); this._actionBar = new Taskbar(taskbar, this._contextMenuService);
this._actionBar.context = this;
this._actionBar.setContent([ this._actionBar.setContent([
{ action: refreshAction }, { action: refreshAction },
{ action: newAction } { action: newAction }
]); ]);
this._actionBar.context = { component: this };
}
public refreshJobs() {
this._agentViewComponent.refresh = true;
} }
} }

View File

@@ -55,7 +55,7 @@ export class JobStepsViewComponent extends JobManagementView implements OnInit,
@Inject(IDashboardService) dashboardService: IDashboardService, @Inject(IDashboardService) dashboardService: IDashboardService,
@Inject(ITelemetryService) private _telemetryService: ITelemetryService @Inject(ITelemetryService) private _telemetryService: ITelemetryService
) { ) {
super(commonService, dashboardService, contextMenuService, keybindingService, instantiationService); super(commonService, dashboardService, contextMenuService, keybindingService, instantiationService, undefined);
} }
ngAfterContentChecked() { ngAfterContentChecked() {

View File

@@ -21,7 +21,7 @@ import { Table } from 'sql/base/browser/ui/table/table';
import { AgentViewComponent } from 'sql/parts/jobManagement/agent/agentView.component'; import { AgentViewComponent } from 'sql/parts/jobManagement/agent/agentView.component';
import { RowDetailView } from 'sql/base/browser/ui/table/plugins/rowdetailview'; import { RowDetailView } from 'sql/base/browser/ui/table/plugins/rowdetailview';
import { JobCacheObject } from 'sql/platform/jobManagement/common/jobManagementService'; import { JobCacheObject } from 'sql/platform/jobManagement/common/jobManagementService';
import { EditJobAction, DeleteJobAction, NewJobAction } from 'sql/platform/jobManagement/common/jobActions'; import { EditJobAction, DeleteJobAction, NewJobAction, IJobActionInfo } from 'sql/platform/jobManagement/common/jobActions';
import { JobManagementUtilities } from 'sql/platform/jobManagement/common/jobManagementUtilities'; import { JobManagementUtilities } from 'sql/platform/jobManagement/common/jobManagementUtilities';
import { HeaderFilter } from 'sql/base/browser/ui/table/plugins/headerFilter.plugin'; import { HeaderFilter } from 'sql/base/browser/ui/table/plugins/headerFilter.plugin';
import { IJobManagementService } from 'sql/platform/jobManagement/common/interfaces'; import { IJobManagementService } from 'sql/platform/jobManagement/common/interfaces';
@@ -99,7 +99,7 @@ export class JobsViewComponent extends JobManagementView implements OnInit, OnDe
@Inject(forwardRef(() => CommonServiceInterface)) commonService: CommonServiceInterface, @Inject(forwardRef(() => CommonServiceInterface)) commonService: CommonServiceInterface,
@Inject(forwardRef(() => ChangeDetectorRef)) private _cd: ChangeDetectorRef, @Inject(forwardRef(() => ChangeDetectorRef)) private _cd: ChangeDetectorRef,
@Inject(forwardRef(() => ElementRef)) private _el: ElementRef, @Inject(forwardRef(() => ElementRef)) private _el: ElementRef,
@Inject(forwardRef(() => AgentViewComponent)) private _agentViewComponent: AgentViewComponent, @Inject(forwardRef(() => AgentViewComponent)) _agentViewComponent: AgentViewComponent,
@Inject(IJobManagementService) private _jobManagementService: IJobManagementService, @Inject(IJobManagementService) private _jobManagementService: IJobManagementService,
@Inject(IWorkbenchThemeService) private _themeService: IWorkbenchThemeService, @Inject(IWorkbenchThemeService) private _themeService: IWorkbenchThemeService,
@Inject(ICommandService) private _commandService: ICommandService, @Inject(ICommandService) private _commandService: ICommandService,
@@ -109,7 +109,7 @@ export class JobsViewComponent extends JobManagementView implements OnInit, OnDe
@Inject(IDashboardService) _dashboardService: IDashboardService, @Inject(IDashboardService) _dashboardService: IDashboardService,
@Inject(ITelemetryService) private _telemetryService: ITelemetryService @Inject(ITelemetryService) private _telemetryService: ITelemetryService
) { ) {
super(commonService, _dashboardService, contextMenuService, keybindingService, instantiationService); super(commonService, _dashboardService, contextMenuService, keybindingService, instantiationService, _agentViewComponent);
let jobCacheObjectMap = this._jobManagementService.jobCacheObjectMap; let jobCacheObjectMap = this._jobManagementService.jobCacheObjectMap;
let jobCache = jobCacheObjectMap[this._serverName]; let jobCache = jobCacheObjectMap[this._serverName];
if (jobCache) { if (jobCache) {
@@ -952,8 +952,4 @@ export class JobsViewComponent extends JobManagementView implements OnInit, OnDe
let ownerUri: string = this._commonService.connectionManagementService.connectionInfo.ownerUri; let ownerUri: string = this._commonService.connectionManagementService.connectionInfo.ownerUri;
this._commandService.executeCommand('agent.openJobDialog', ownerUri); this._commandService.executeCommand('agent.openJobDialog', ownerUri);
} }
public refreshJobs() {
this._agentViewComponent.refresh = true;
}
} }

View File

@@ -76,7 +76,7 @@ export class OperatorsViewComponent extends JobManagementView implements OnInit,
constructor( constructor(
@Inject(forwardRef(() => ChangeDetectorRef)) private _cd: ChangeDetectorRef, @Inject(forwardRef(() => ChangeDetectorRef)) private _cd: ChangeDetectorRef,
@Inject(forwardRef(() => ElementRef)) private _el: ElementRef, @Inject(forwardRef(() => ElementRef)) private _el: ElementRef,
@Inject(forwardRef(() => AgentViewComponent)) private _agentViewComponent: AgentViewComponent, @Inject(forwardRef(() => AgentViewComponent)) _agentViewComponent: AgentViewComponent,
@Inject(IJobManagementService) private _jobManagementService: IJobManagementService, @Inject(IJobManagementService) private _jobManagementService: IJobManagementService,
@Inject(ICommandService) private _commandService: ICommandService, @Inject(ICommandService) private _commandService: ICommandService,
@Inject(IInstantiationService) instantiationService: IInstantiationService, @Inject(IInstantiationService) instantiationService: IInstantiationService,
@@ -85,7 +85,7 @@ export class OperatorsViewComponent extends JobManagementView implements OnInit,
@Inject(IKeybindingService) keybindingService: IKeybindingService, @Inject(IKeybindingService) keybindingService: IKeybindingService,
@Inject(IDashboardService) _dashboardService: IDashboardService @Inject(IDashboardService) _dashboardService: IDashboardService
) { ) {
super(commonService, _dashboardService, contextMenuService, keybindingService, instantiationService); super(commonService, _dashboardService, contextMenuService, keybindingService, instantiationService, _agentViewComponent);
this._isCloud = commonService.connectionManagementService.connectionInfo.serverInfo.isCloud; this._isCloud = commonService.connectionManagementService.connectionInfo.serverInfo.isCloud;
let operatorsCacheObject = this._jobManagementService.operatorsCacheObjectMap; let operatorsCacheObject = this._jobManagementService.operatorsCacheObjectMap;
let operatorsCache = operatorsCacheObject[this._serverName]; let operatorsCache = operatorsCacheObject[this._serverName];
@@ -226,8 +226,4 @@ export class OperatorsViewComponent extends JobManagementView implements OnInit,
let ownerUri: string = this._commonService.connectionManagementService.connectionInfo.ownerUri; let ownerUri: string = this._commonService.connectionManagementService.connectionInfo.ownerUri;
this._commandService.executeCommand('agent.openOperatorDialog', ownerUri); this._commandService.executeCommand('agent.openOperatorDialog', ownerUri);
} }
private refreshJobs() {
this._agentViewComponent.refresh = true;
}
} }

View File

@@ -80,7 +80,7 @@ export class ProxiesViewComponent extends JobManagementView implements OnInit, O
constructor( constructor(
@Inject(forwardRef(() => ChangeDetectorRef)) private _cd: ChangeDetectorRef, @Inject(forwardRef(() => ChangeDetectorRef)) private _cd: ChangeDetectorRef,
@Inject(forwardRef(() => ElementRef)) private _el: ElementRef, @Inject(forwardRef(() => ElementRef)) private _el: ElementRef,
@Inject(forwardRef(() => AgentViewComponent)) private _agentViewComponent: AgentViewComponent, @Inject(forwardRef(() => AgentViewComponent)) _agentViewComponent: AgentViewComponent,
@Inject(IJobManagementService) private _jobManagementService: IJobManagementService, @Inject(IJobManagementService) private _jobManagementService: IJobManagementService,
@Inject(ICommandService) private _commandService: ICommandService, @Inject(ICommandService) private _commandService: ICommandService,
@Inject(IInstantiationService) instantiationService: IInstantiationService, @Inject(IInstantiationService) instantiationService: IInstantiationService,
@@ -89,7 +89,7 @@ export class ProxiesViewComponent extends JobManagementView implements OnInit, O
@Inject(IKeybindingService) keybindingService: IKeybindingService, @Inject(IKeybindingService) keybindingService: IKeybindingService,
@Inject(IDashboardService) _dashboardService: IDashboardService @Inject(IDashboardService) _dashboardService: IDashboardService
) { ) {
super(commonService, _dashboardService, contextMenuService, keybindingService, instantiationService); super(commonService, _dashboardService, contextMenuService, keybindingService, instantiationService, _agentViewComponent);
this._isCloud = commonService.connectionManagementService.connectionInfo.serverInfo.isCloud; this._isCloud = commonService.connectionManagementService.connectionInfo.serverInfo.isCloud;
let proxiesCacheObjectMap = this._jobManagementService.proxiesCacheObjectMap; let proxiesCacheObjectMap = this._jobManagementService.proxiesCacheObjectMap;
let proxiesCacheObject = proxiesCacheObjectMap[this._serverName]; let proxiesCacheObject = proxiesCacheObjectMap[this._serverName];
@@ -234,8 +234,4 @@ export class ProxiesViewComponent extends JobManagementView implements OnInit, O
} }
}); });
} }
private refreshJobs() {
this._agentViewComponent.refresh = true;
}
} }

View File

@@ -19,6 +19,7 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import * as TelemetryKeys from 'sql/common/telemetryKeys'; import * as TelemetryKeys from 'sql/common/telemetryKeys';
import { IErrorMessageService } from 'sql/platform/errorMessage/common/errorMessageService'; import { IErrorMessageService } from 'sql/platform/errorMessage/common/errorMessageService';
import { JobManagementView } from 'sql/parts/jobManagement/views/jobManagementView';
export const successLabel: string = nls.localize('jobaction.successLabel', 'Success'); export const successLabel: string = nls.localize('jobaction.successLabel', 'Success');
export const errorLabel: string = nls.localize('jobaction.faillabel', 'Error'); export const errorLabel: string = nls.localize('jobaction.faillabel', 'Error');
@@ -31,8 +32,7 @@ export enum JobActions {
export class IJobActionInfo { export class IJobActionInfo {
ownerUri: string; ownerUri: string;
targetObject: any; targetObject: any;
jobHistoryComponent?: JobHistoryComponent; component: JobManagementView;
jobViewComponent?: JobsViewComponent;
} }
// Job actions // Job actions
@@ -49,7 +49,9 @@ export class JobsRefreshAction extends Action {
public run(context: IJobActionInfo): Promise<boolean> { public run(context: IJobActionInfo): Promise<boolean> {
return new Promise<boolean>((resolve, reject) => { return new Promise<boolean>((resolve, reject) => {
if (context) { if (context) {
context.jobHistoryComponent.refreshJobs(); if (context.component) {
context.component.refreshJobs();
}
resolve(true); resolve(true);
} else { } else {
reject(false); reject(false);