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


TypeScript ActionBar.push方法代碼示例

本文整理匯總了TypeScript中vs/base/browser/ui/actionbar/actionbar.ActionBar.push方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript ActionBar.push方法的具體用法?TypeScript ActionBar.push怎麽用?TypeScript ActionBar.push使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在vs/base/browser/ui/actionbar/actionbar.ActionBar的用法示例。


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

示例1: constructor

	constructor(container: HTMLElement, actions: IAction[], options: IMenuOptions = {}) {
		$(container).addClass('monaco-menu-container');

		let $menu = $('.monaco-menu').appendTo(container);

		this.actionBar = new ActionBar($menu, {
			orientation: ActionsOrientation.VERTICAL,
			actionItemProvider: options.actionItemProvider,
			context: options.context,
			actionRunner: options.actionRunner,
			isMenu: true
		});

		this.actionBar.push(actions, { icon: true, label: true });
	}
開發者ID:JarnoNijboer,項目名稱:vscode,代碼行數:15,代碼來源:menu.ts

示例2: constructor

	constructor(container: HTMLElement, actions: IAction[], options: IMenuOptions = {}) {
		addClass(container, 'monaco-menu-container');

		let menuContainer = document.createElement('div');
		addClass(menuContainer, 'monaco-menu');
		container.appendChild(menuContainer);

		this.actionBar = new ActionBar(menuContainer, {
			orientation: ActionsOrientation.VERTICAL,
			actionItemProvider: options.actionItemProvider,
			context: options.context,
			actionRunner: options.actionRunner,
			isMenu: true
		});

		this.actionBar.push(actions, { icon: true, label: true });
	}
開發者ID:AllureFer,項目名稱:vscode,代碼行數:17,代碼來源:menu.ts

示例3: resolve


//.........這裏部分代碼省略.........

			clearNode(this.buttonsContainer);

			let focusedButton = 0;
			this.buttonGroup = new ButtonGroup(this.buttonsContainer, this.buttons.length, { title: true });
			this.buttonGroup.buttons.forEach((button, index) => {
				button.label = mnemonicButtonLabel(this.buttons[index], true);

				this._register(button.onDidClick(e => {
					EventHelper.stop(e);
					resolve(index);
				}));
			});

			this._register(domEvent(window, 'keydown', true)((e: KeyboardEvent) => {
				const evt = new StandardKeyboardEvent(e);
				if (evt.equals(KeyCode.Enter) || evt.equals(KeyCode.Space)) {
					return;
				}

				let eventHandled = false;
				if (this.buttonGroup) {
					if (evt.equals(KeyMod.Shift | KeyCode.Tab) || evt.equals(KeyCode.LeftArrow)) {
						focusedButton = focusedButton + this.buttonGroup.buttons.length - 1;
						focusedButton = focusedButton % this.buttonGroup.buttons.length;
						this.buttonGroup.buttons[focusedButton].focus();
						eventHandled = true;
					} else if (evt.equals(KeyCode.Tab) || evt.equals(KeyCode.RightArrow)) {
						focusedButton++;
						focusedButton = focusedButton % this.buttonGroup.buttons.length;
						this.buttonGroup.buttons[focusedButton].focus();
						eventHandled = true;
					}
				}

				if (eventHandled) {
					EventHelper.stop(e, true);
				} else if (this.options.keyEventProcessor) {
					this.options.keyEventProcessor(evt);
				}
			}));

			this._register(domEvent(window, 'keyup', true)((e: KeyboardEvent) => {
				EventHelper.stop(e, true);
				const evt = new StandardKeyboardEvent(e);

				if (evt.equals(KeyCode.Escape)) {
					resolve(this.options.cancelId || 0);
				}
			}));

			this._register(domEvent(this.element, 'focusout', false)((e: FocusEvent) => {
				if (!!e.relatedTarget && !!this.element) {
					if (!isAncestor(e.relatedTarget as HTMLElement, this.element)) {
						this.focusToReturn = e.relatedTarget as HTMLElement;

						if (e.target) {
							(e.target as HTMLElement).focus();
							EventHelper.stop(e, true);
						}
					}
				}
			}));

			removeClasses(this.iconElement, 'icon-error', 'icon-warning', 'icon-info');

			switch (this.options.type) {
				case 'error':
					addClass(this.iconElement, 'icon-error');
					break;
				case 'warning':
					addClass(this.iconElement, 'icon-warning');
					break;
				case 'pending':
					addClass(this.iconElement, 'icon-pending');
					break;
				case 'none':
				case 'info':
				case 'question':
				default:
					addClass(this.iconElement, 'icon-info');
					break;
			}

			const actionBar = new ActionBar(this.toolbarContainer, {});

			const action = new Action('dialog.close', nls.localize('dialogClose', "Close Dialog"), 'dialog-close-action', true, () => {
				resolve(this.options.cancelId || 0);
				return Promise.resolve();
			});

			actionBar.push(action, { icon: true, label: false, });

			this.applyStyles();

			show(this.element);

			// Focus first element
			this.buttonGroup.buttons[focusedButton].focus();
		});
開發者ID:fly-fisher,項目名稱:vscode,代碼行數:101,代碼來源:dialog.ts


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