mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-30 17:23:29 -05:00
Task context + schema (#849)
* commting .d.ts changes * added serverinfo to .d.ts * maybe its working? * works * updated contrib * remove unnecessary code * fix compile errors * update task schema and add the ability to specifiy a when clause * update defaults for tasks widget * add when to restore and back up tasks to not show up for cloud servers * formatting * fixing engine * add restore to server page
This commit is contained in:
@@ -6,8 +6,10 @@ import { IInsightsConfig } from 'sql/parts/dashboard/widgets/insights/interfaces
|
||||
|
||||
import * as platform from 'vs/platform/registry/common/platform';
|
||||
import { IJSONSchema, IJSONSchemaMap } from 'vs/base/common/jsonSchema';
|
||||
import { IJSONContributionRegistry, Extensions as JSONExtensions } from 'vs/platform/jsonschemas/common/jsonContributionRegistry';
|
||||
import * as nls from 'vs/nls';
|
||||
import { deepClone } from 'vs/base/common/objects';
|
||||
|
||||
const contributionRegistry = platform.Registry.as<IJSONContributionRegistry>(JSONExtensions.JSONContribution);
|
||||
|
||||
export type WidgetIdentifier = string;
|
||||
|
||||
@@ -89,15 +91,15 @@ class DashboardWidgetRegistry implements IDashboardWidgetRegistry {
|
||||
}
|
||||
|
||||
public get databaseWidgetSchema(): CustomIJSONSchema {
|
||||
return deepClone(this._dashboardWidgetSchema);
|
||||
return this._dashboardWidgetSchema;
|
||||
}
|
||||
|
||||
public get serverWidgetSchema(): CustomIJSONSchema {
|
||||
return deepClone(this._serverWidgetSchema);
|
||||
return this._serverWidgetSchema;
|
||||
}
|
||||
|
||||
public get allSchema(): CustomIJSONSchema {
|
||||
return deepClone(this._allSchema);
|
||||
return this._allSchema;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ import { Action } from 'vs/base/common/actions';
|
||||
import { IConstructorSignature3, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
|
||||
import * as nls from 'vs/nls';
|
||||
import { ILocalizedString, IMenuItem, MenuRegistry, ICommandAction } from 'vs/platform/actions/common/actions';
|
||||
import Event from 'vs/base/common/event';
|
||||
import Event, { Emitter } from 'vs/base/common/event';
|
||||
import { IDisposable } from 'vs/base/common/lifecycle';
|
||||
import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
|
||||
import { IConnectionProfile } from 'sql/parts/connection/common/interfaces';
|
||||
@@ -96,11 +96,14 @@ export interface ITaskRegistry {
|
||||
registerTask(id: string, command: ITaskHandler): IDisposable;
|
||||
registerTask(command: ITask): IDisposable;
|
||||
getTasks(): string[];
|
||||
onTaskRegistered: Event<string>;
|
||||
}
|
||||
|
||||
export const TaskRegistry: ITaskRegistry = new class implements ITaskRegistry {
|
||||
|
||||
private _tasks = new Array<string>();
|
||||
private _onTaskRegistered = new Emitter<string>();
|
||||
public readonly onTaskRegistered: Event<string> = this._onTaskRegistered.event;
|
||||
|
||||
registerTask(idOrTask: string | ITask, handler?: ITaskHandler): IDisposable {
|
||||
let disposable: IDisposable;
|
||||
@@ -114,6 +117,7 @@ export const TaskRegistry: ITaskRegistry = new class implements ITaskRegistry {
|
||||
}
|
||||
|
||||
this._tasks.push(id);
|
||||
this._onTaskRegistered.fire(id);
|
||||
|
||||
return {
|
||||
dispose: () => {
|
||||
|
||||
Reference in New Issue
Block a user