mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-18 09:35:39 -05:00
* Merge from vscode 64980ea1f3f532c82bb6c28d27bba9ef2c5b4463 * fix config changes * fix strictnull checks
47 lines
1.5 KiB
TypeScript
47 lines
1.5 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
|
import { Subscription } from 'rxjs/Subscription';
|
|
|
|
const ANGULAREVENTING_SERVICE_ID = 'angularEventingService';
|
|
export const IAngularEventingService = createDecorator<IAngularEventingService>(ANGULAREVENTING_SERVICE_ID);
|
|
|
|
export enum AngularEventType {
|
|
NAV_DATABASE,
|
|
NAV_SERVER,
|
|
DELETE_WIDGET,
|
|
PINUNPIN_TAB,
|
|
NEW_TABS,
|
|
CLOSE_TAB,
|
|
COLLAPSE_WIDGET
|
|
}
|
|
|
|
export interface IDeleteWidgetPayload {
|
|
id: string;
|
|
}
|
|
|
|
export interface IAngularEvent {
|
|
event: AngularEventType;
|
|
payload: any;
|
|
}
|
|
|
|
export interface IAngularEventingService {
|
|
_serviceBrand: undefined;
|
|
/**
|
|
* Adds a listener for the dashboard to send events, should only be called once for each dashboard by the dashboard itself
|
|
* @param uri Uri of the dashboard
|
|
* @param cb Listening function
|
|
*/
|
|
onAngularEvent(uri: string, cb: (event: IAngularEvent) => void): Subscription;
|
|
|
|
/**
|
|
* Send an event to the dashboard; no op if the dashboard has not started listening yet
|
|
* @param uri Uri of the dashboard to send the event to
|
|
* @param event event to send
|
|
*/
|
|
sendAngularEvent(uri: string, event: AngularEventType, payload?: any): void;
|
|
}
|