當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript lifecycle.combinedDisposable函數代碼示例

本文整理匯總了TypeScript中vs/base/common/lifecycle.combinedDisposable函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript combinedDisposable函數的具體用法?TypeScript combinedDisposable怎麽用?TypeScript combinedDisposable使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了combinedDisposable函數的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: Menu

				render: (container) => {
					this.menuContainerElement = container;

					let className = delegate.getMenuClassName ? delegate.getMenuClassName() : '';

					if (className) {
						container.className += ' ' + className;
					}

					let menu = new Menu(container, actions, {
						actionItemProvider: delegate.getActionItem,
						context: delegate.getActionsContext ? delegate.getActionsContext() : null,
						actionRunner: this.actionRunner
					});

					let listener1 = menu.addListener(EventType.CANCEL, (e: any) => {
						this.contextViewService.hideContextView(true);
					});

					let listener2 = menu.addListener(EventType.BLUR, (e: any) => {
						this.contextViewService.hideContextView(true);
					});

					menu.focus();

					return combinedDisposable([listener1, listener2, menu]);
				},
開發者ID:SeanKilleen,項目名稱:vscode,代碼行數:27,代碼來源:contextMenuHandler.ts

示例2: ActionRunner

			render: (container) => {
				this.menuContainerElement = container;

				let className = delegate.getMenuClassName ? delegate.getMenuClassName() : '';

				if (className) {
					container.className += ' ' + className;
				}

				const menuDisposables: IDisposable[] = [];

				const actionRunner = delegate.actionRunner || new ActionRunner();
				actionRunner.onDidBeforeRun(this.onActionRun, this, menuDisposables);
				actionRunner.onDidRun(this.onDidActionRun, this, menuDisposables);

				menu = new Menu(container, actions, {
					actionItemProvider: delegate.getActionItem,
					context: delegate.getActionsContext ? delegate.getActionsContext() : null,
					actionRunner,
					getKeyBinding: delegate.getKeyBinding ? delegate.getKeyBinding : action => this.keybindingService.lookupKeybinding(action.id)
				});

				menuDisposables.push(attachMenuStyler(menu, this.themeService));

				menu.onDidCancel(() => this.contextViewService.hideContextView(true), null, menuDisposables);
				menu.onDidBlur(() => this.contextViewService.hideContextView(true), null, menuDisposables);
				domEvent(window, EventType.BLUR)(() => { this.contextViewService.hideContextView(true); }, null, menuDisposables);

				return combinedDisposable([...menuDisposables, menu]);
			},
開發者ID:VishalMadhvani,項目名稱:vscode,代碼行數:30,代碼來源:contextMenuHandler.ts

示例3: createSharedProcessContributions

export function createSharedProcessContributions(service: IInstantiationService): IDisposable {
	return combinedDisposable([
		service.createInstance(NodeCachedDataCleaner),
		service.createInstance(LanguagePackCachedDataCleaner),
		service.createInstance(StorageDataCleaner)
	]);
}
開發者ID:donaldpipowitch,項目名稱:vscode,代碼行數:7,代碼來源:contributions.ts

示例4: ActionRunner

				render: (container) => {
					this.menuContainerElement = container;

					let className = delegate.getMenuClassName ? delegate.getMenuClassName() : '';

					if (className) {
						container.className += ' ' + className;
					}

					const menuDisposables: IDisposable[] = [];

					const actionRunner = delegate.actionRunner || new ActionRunner();
					actionRunner.onDidBeforeRun(this.onActionRun, this, menuDisposables);
					actionRunner.onDidRun(this.onDidActionRun, this, menuDisposables);

					const menu = new Menu(container, actions, {
						actionItemProvider: delegate.getActionItem,
						context: delegate.getActionsContext ? delegate.getActionsContext() : null,
						actionRunner,
						getKeyBinding: delegate.getKeyBinding
					});

					menu.onDidCancel(() => this.contextViewService.hideContextView(true), null, menuDisposables);
					menu.onDidBlur(() => this.contextViewService.hideContextView(true), null, menuDisposables);

					menu.focus(!!delegate.autoSelectFirstItem);

					return combinedDisposable([...menuDisposables, menu]);
				},
開發者ID:developers23,項目名稱:vscode,代碼行數:29,代碼來源:contextMenuHandler.ts

示例5: _registerWorkbenchCommandFromAction

	private _registerWorkbenchCommandFromAction(descriptor: SyncActionDescriptor, alias: string, category?: string): IDisposable {
		let registrations: IDisposable[] = [];

		// command
		registrations.push(CommandsRegistry.registerCommand(descriptor.id, this._createCommandHandler(descriptor)));

		// keybinding
		const when = descriptor.keybindingContext;
		const weight = (typeof descriptor.keybindingWeight === 'undefined' ? KeybindingsRegistry.WEIGHT.workbenchContrib() : descriptor.keybindingWeight);
		const keybindings = descriptor.keybindings;
		KeybindingsRegistry.registerKeybindingRule({
			id: descriptor.id,
			weight: weight,
			when: when,
			primary: keybindings && keybindings.primary,
			secondary: keybindings && keybindings.secondary,
			win: keybindings && keybindings.win,
			mac: keybindings && keybindings.mac,
			linux: keybindings && keybindings.linux
		});

		// menu item
		// TODO@Rob slightly weird if-check required because of
		// https://github.com/Microsoft/vscode/blob/master/src/vs/workbench/parts/search/electron-browser/search.contribution.ts#L266
		if (descriptor.label) {

			let idx = alias.indexOf(': ');
			let categoryOriginal;
			if (idx > 0) {
				categoryOriginal = alias.substr(0, idx);
				alias = alias.substr(idx + 2);
			}

			const command = {
				id: descriptor.id,
				title: { value: descriptor.label, original: alias },
				category: category && { value: category, original: categoryOriginal }
			};

			MenuRegistry.addCommand(command);

			registrations.push(MenuRegistry.appendMenuItem(MenuId.CommandPalette, { command }));
		}

		// TODO@alex,joh
		// support removal of keybinding rule
		// support removal of command-ui
		return combinedDisposable(registrations);
	}
開發者ID:AlexxNica,項目名稱:sqlopsstudio,代碼行數:49,代碼來源:actions.ts

示例6: registerWindowDriver

export async function registerWindowDriver(
	client: IPCClient,
	windowId: number,
	instantiationService: IInstantiationService
): TPromise<IDisposable> {
	const windowDriver = instantiationService.createInstance(WindowDriver);
	const windowDriverChannel = new WindowDriverChannel(windowDriver);
	client.registerChannel('windowDriver', windowDriverChannel);

	const windowDriverRegistryChannel = client.getChannel('windowDriverRegistry');
	const windowDriverRegistry = new WindowDriverRegistryChannelClient(windowDriverRegistryChannel);

	await windowDriverRegistry.registerWindowDriver(windowId);

	const disposable = toDisposable(() => windowDriverRegistry.reloadWindowDriver(windowId));
	return combinedDisposable([disposable, client]);
}
開發者ID:jumpinjackie,項目名稱:sqlopsstudio,代碼行數:17,代碼來源:driver.ts

示例7: ExtensionManagementChannel

		instantiationService2.invokeFunction(accessor => {

			const extensionManagementService = accessor.get(IExtensionManagementService);
			const channel = new ExtensionManagementChannel(extensionManagementService, () => null);
			server.registerChannel('extensions', channel);

			const localizationsService = accessor.get(ILocalizationsService);
			const localizationsChannel = new LocalizationsChannel(localizationsService);
			server.registerChannel('localizations', localizationsChannel);

			// clean up deprecated extensions
			(extensionManagementService as ExtensionManagementService).removeDeprecatedExtensions();
			// update localizations cache
			(localizationsService as LocalizationsService).update();
			// cache clean ups
			disposables.push(combinedDisposable([
				instantiationService2.createInstance(NodeCachedDataCleaner),
				instantiationService2.createInstance(LanguagePackCachedDataCleaner),
				instantiationService2.createInstance(StorageDataCleaner),
				instantiationService2.createInstance(LogsDataCleaner)
			]));
			disposables.push(extensionManagementService as ExtensionManagementService);
		});
開發者ID:joelday,項目名稱:vscode,代碼行數:23,代碼來源:sharedProcessMain.ts

示例8: onClick

	public onClick(callback: (event: MouseEvent) => void): IDisposable {
		return combinedDisposable([
			dom.addDisposableListener(this.labelDescriptionContainer.element, dom.EventType.CLICK, (e: MouseEvent) => callback(e)),
		]);
	}
開發者ID:sameer-coder,項目名稱:vscode,代碼行數:5,代碼來源:iconLabel.ts


注:本文中的vs/base/common/lifecycle.combinedDisposable函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。