Add "Schedule Picker" dialog (#1759)

* Merge master

* Add pick schedule dialog 1

* Add Pick Schedule button to create job dialog

* Cleanup Pick Schedule dialog

* Hook-up onClose event for Pick Schedule

* Code review feedback
This commit is contained in:
Karl Burtram
2018-06-27 13:42:08 -07:00
committed by GitHub
parent 472233d9a7
commit 0de94ff8a4
11 changed files with 446 additions and 36 deletions

78
src/sql/sqlops.d.ts vendored
View File

@@ -1060,13 +1060,40 @@ declare module 'sqlops' {
wmiEvent = 4
}
export enum JobCompletionActionCondition{
export enum JobCompletionActionCondition {
Never = 0,
OnSuccess = 1,
OnFailure = 2,
Always = 3
}
export enum FrequencyTypes {
Unknown ,
OneTime = 1 << 1,
Daily = 1 << 2,
Weekly = 1 << 3,
Monthly = 1 << 4,
MonthlyRelative = 1 << 5,
AutoStart = 1 << 6,
OnIdle = 1 << 7
}
export enum FrequencySubDayTypes {
Unknown = 0,
Once = 1,
Second = 2,
Minute = 4,
Hour = 8
}
export enum FrequencyRelativeIntervals {
First = 1,
Second = 2,
Third = 4,
Fourth = 8,
Last = 16
}
export interface AgentJobInfo {
name: string;
owner: string;
@@ -1097,7 +1124,23 @@ declare module 'sqlops' {
}
export interface AgentJobScheduleInfo {
id: number;
name: string;
jobName: string;
isEnabled: boolean;
frequencyTypes: FrequencyTypes;
frequencySubDayTypes: FrequencySubDayTypes;
frequencySubDayInterval: number;
frequencyRelativeIntervals; FrequencyRelativeIntervals;
frequencyRecurrenceFactor: number;
frequencyInterval: number;
dateCreated: string;
activeStartTimeOfDay: string;
activeStartDate: string;
activeEndTimeOfDay: string;
jobCount: number;
activeEndDate: string;
scheduleUid: string;
}
export interface AgentJobStep {
@@ -1232,6 +1275,17 @@ declare module 'sqlops' {
job: AgentJobInfo;
}
export interface AgentJobCategory
{
id: string;
name: string;
}
export interface AgentJobDefaultsResult extends ResultStatus {
owner: string;
categories: AgentJobCategory[];
}
export interface CreateAgentJobStepResult extends ResultStatus {
step: AgentJobStepInfo;
}
@@ -1284,6 +1338,18 @@ declare module 'sqlops' {
operator: AgentOperatorInfo;
}
export interface AgentJobSchedulesResult extends ResultStatus {
schedules: AgentJobScheduleInfo[];
}
export interface CreateAgentJobScheduleResult extends ResultStatus {
schedule: AgentJobScheduleInfo;
}
export interface UpdateAgentJobScheduleResult extends ResultStatus {
schedule: AgentJobScheduleInfo;
}
export interface AgentServicesProvider extends DataProvider {
// Job management methods
getJobs(ownerUri: string): Thenable<AgentJobsResult>;
@@ -1292,6 +1358,7 @@ declare module 'sqlops' {
createJob(ownerUri: string, jobInfo: AgentJobInfo): Thenable<CreateAgentJobResult>;
updateJob(ownerUri: string, originalJobName: string, jobInfo: AgentJobInfo): Thenable<UpdateAgentJobResult>;
deleteJob(ownerUri: string, jobInfo: AgentJobInfo): Thenable<ResultStatus>;
getJobDefaults(ownerUri: string): Thenable<AgentJobDefaultsResult>;
// Job Step management methods
createJobStep(ownerUri: string, jobInfo: AgentJobStepInfo): Thenable<CreateAgentJobStepResult>;
@@ -1315,6 +1382,13 @@ declare module 'sqlops' {
createProxy(ownerUri: string, proxyInfo: AgentProxyInfo): Thenable<CreateAgentOperatorResult>;
updateProxy(ownerUri: string, originalProxyName: string, proxyInfo: AgentProxyInfo): Thenable<UpdateAgentOperatorResult>;
deleteProxy(ownerUri: string, proxyInfo: AgentProxyInfo): Thenable<ResultStatus>;
// Job Schedule management methods
getJobSchedules(ownerUri: string): Thenable<AgentJobSchedulesResult>;
createJobSchedule(ownerUri: string, scheduleInfo: AgentJobScheduleInfo): Thenable<CreateAgentJobScheduleResult>;
updateJobSchedule(ownerUri: string, originalScheduleName: string, scheduleInfo: AgentJobScheduleInfo): Thenable<UpdateAgentJobScheduleResult>;
deleteJobSchedule(ownerUri: string, scheduleInfo: AgentJobScheduleInfo): Thenable<ResultStatus>;
}
// Task service interfaces ----------------------------------------------------------------------------