mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-03-30 00:30:29 -04:00
Merge from vscode ada4bddb8edc69eea6ebaaa0e88c5f903cbd43d8 (#5529)
This commit is contained in:
@@ -253,9 +253,9 @@ export class ExtensionEditor extends BaseEditor {
|
||||
const extensionActions = append(details, $('.actions'));
|
||||
this.extensionActionBar = new ActionBar(extensionActions, {
|
||||
animated: false,
|
||||
actionItemProvider: (action: Action) => {
|
||||
actionViewItemProvider: (action: Action) => {
|
||||
if (action instanceof ExtensionEditorDropDownAction) {
|
||||
return action.createActionItem();
|
||||
return action.createActionViewItem();
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
@@ -565,7 +565,7 @@ export class ExtensionEditor extends BaseEditor {
|
||||
this.contentDisposables.push(webviewElement.onDidFocus(() => this.fireOnDidFocus()));
|
||||
const removeLayoutParticipant = arrays.insert(this.layoutParticipants, webviewElement);
|
||||
this.contentDisposables.push(toDisposable(removeLayoutParticipant));
|
||||
webviewElement.contents = body;
|
||||
webviewElement.html = body;
|
||||
|
||||
this.contentDisposables.push(webviewElement.onDidClickLink(link => {
|
||||
if (!link) {
|
||||
|
||||
@@ -10,7 +10,7 @@ import { Delayer } from 'vs/base/common/async';
|
||||
import * as DOM from 'vs/base/browser/dom';
|
||||
import { Event } from 'vs/base/common/event';
|
||||
import * as json from 'vs/base/common/json';
|
||||
import { ActionItem, Separator, IActionItemOptions } from 'vs/base/browser/ui/actionbar/actionbar';
|
||||
import { ActionViewItem, Separator, IActionViewItemOptions } from 'vs/base/browser/ui/actionbar/actionbar';
|
||||
import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
|
||||
import { IDisposable, dispose, Disposable } from 'vs/base/common/lifecycle';
|
||||
// {{SQL CARBON EDIT}}
|
||||
@@ -650,15 +650,15 @@ export class UpdateAction extends ExtensionAction {
|
||||
}
|
||||
}
|
||||
|
||||
interface IExtensionActionItemOptions extends IActionItemOptions {
|
||||
interface IExtensionActionViewItemOptions extends IActionViewItemOptions {
|
||||
tabOnlyOnFocus?: boolean;
|
||||
}
|
||||
|
||||
export class ExtensionActionItem extends ActionItem {
|
||||
export class ExtensionActionViewItem extends ActionViewItem {
|
||||
|
||||
protected options: IExtensionActionItemOptions;
|
||||
protected options: IExtensionActionViewItemOptions;
|
||||
|
||||
constructor(context: any, action: IAction, options: IExtensionActionItemOptions = {}) {
|
||||
constructor(context: any, action: IAction, options: IExtensionActionViewItemOptions = {}) {
|
||||
super(context, action, options);
|
||||
}
|
||||
|
||||
@@ -701,15 +701,15 @@ export abstract class ExtensionDropDownAction extends ExtensionAction {
|
||||
super(id, label, cssClass, enabled);
|
||||
}
|
||||
|
||||
private _actionItem: DropDownMenuActionItem;
|
||||
createActionItem(): DropDownMenuActionItem {
|
||||
this._actionItem = this.instantiationService.createInstance(DropDownMenuActionItem, this, this.tabOnlyOnFocus);
|
||||
return this._actionItem;
|
||||
private _actionViewItem: DropDownMenuActionViewItem;
|
||||
createActionViewItem(): DropDownMenuActionViewItem {
|
||||
this._actionViewItem = this.instantiationService.createInstance(DropDownMenuActionViewItem, this, this.tabOnlyOnFocus);
|
||||
return this._actionViewItem;
|
||||
}
|
||||
|
||||
public run({ actionGroups, disposeActionsOnHide }: { actionGroups: IAction[][], disposeActionsOnHide: boolean }): Promise<any> {
|
||||
if (this._actionItem) {
|
||||
this._actionItem.showMenu(actionGroups, disposeActionsOnHide);
|
||||
if (this._actionViewItem) {
|
||||
this._actionViewItem.showMenu(actionGroups, disposeActionsOnHide);
|
||||
}
|
||||
return Promise.resolve();
|
||||
}
|
||||
@@ -720,7 +720,7 @@ export abstract class ExtensionDropDownAction extends ExtensionAction {
|
||||
}
|
||||
}
|
||||
|
||||
export class DropDownMenuActionItem extends ExtensionActionItem {
|
||||
export class DropDownMenuActionViewItem extends ExtensionActionViewItem {
|
||||
|
||||
private disposables: IDisposable[] = [];
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ import { IPagedRenderer } from 'vs/base/browser/ui/list/listPaging';
|
||||
import { Event } from 'vs/base/common/event';
|
||||
import { domEvent } from 'vs/base/browser/event';
|
||||
import { IExtension, ExtensionContainers, ExtensionState, IExtensionsWorkbenchService } from 'vs/workbench/contrib/extensions/common/extensions';
|
||||
import { InstallAction, UpdateAction, ManageExtensionAction, ReloadAction, MaliciousStatusLabelAction, ExtensionActionItem, StatusLabelAction, RemoteInstallAction, SystemDisabledWarningAction, DisabledLabelAction, LocalInstallAction } from 'vs/workbench/contrib/extensions/electron-browser/extensionsActions';
|
||||
import { InstallAction, UpdateAction, ManageExtensionAction, ReloadAction, MaliciousStatusLabelAction, ExtensionActionViewItem, StatusLabelAction, RemoteInstallAction, SystemDisabledWarningAction, DisabledLabelAction, LocalInstallAction } from 'vs/workbench/contrib/extensions/electron-browser/extensionsActions';
|
||||
import { areSameExtensions } from 'vs/platform/extensionManagement/common/extensionManagementUtil';
|
||||
import { Label, RatingsWidget, InstallCountWidget, RecommendationWidget, RemoteBadgeWidget, TooltipWidget } from 'vs/workbench/contrib/extensions/electron-browser/extensionsWidgets';
|
||||
import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions';
|
||||
@@ -81,11 +81,11 @@ export class Renderer implements IPagedRenderer<IExtension, ITemplateData> {
|
||||
const author = append(footer, $('.author.ellipsis'));
|
||||
const actionbar = new ActionBar(footer, {
|
||||
animated: false,
|
||||
actionItemProvider: (action: Action) => {
|
||||
actionViewItemProvider: (action: Action) => {
|
||||
if (action.id === ManageExtensionAction.ID) {
|
||||
return (<ManageExtensionAction>action).createActionItem();
|
||||
return (<ManageExtensionAction>action).createActionViewItem();
|
||||
}
|
||||
return new ExtensionActionItem(null, action, actionOptions);
|
||||
return new ExtensionActionViewItem(null, action, actionOptions);
|
||||
}
|
||||
});
|
||||
actionbar.onDidRun(({ error }) => error && this.notificationService.error(error));
|
||||
@@ -192,13 +192,13 @@ export class Renderer implements IPagedRenderer<IExtension, ITemplateData> {
|
||||
|
||||
this.extensionViewState.onFocus(e => {
|
||||
if (areSameExtensions(extension.identifier, e.identifier)) {
|
||||
data.actionbar.items.forEach(item => (<ExtensionActionItem>item).setFocus(true));
|
||||
data.actionbar.viewItems.forEach(item => (<ExtensionActionViewItem>item).setFocus(true));
|
||||
}
|
||||
}, this, data.extensionDisposables);
|
||||
|
||||
this.extensionViewState.onBlur(e => {
|
||||
if (areSameExtensions(extension.identifier, e.identifier)) {
|
||||
data.actionbar.items.forEach(item => (<ExtensionActionItem>item).setFocus(false));
|
||||
data.actionbar.viewItems.forEach(item => (<ExtensionActionViewItem>item).setFocus(false));
|
||||
}
|
||||
}, this, data.extensionDisposables);
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ import { IEnvironmentService } from 'vs/platform/environment/common/environment'
|
||||
import { ExtensionType } from 'vs/platform/extensions/common/extensions';
|
||||
import { Registry } from 'vs/platform/registry/common/platform';
|
||||
import { ViewContainerViewlet } from 'vs/workbench/browser/parts/views/viewsViewlet';
|
||||
import { RemoteAuthorityContext } from 'vs/workbench/common/contextkeys';
|
||||
import { RemoteAuthorityContext } from 'vs/workbench/browser/contextkeys';
|
||||
import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
|
||||
import { REMOTE_HOST_SCHEME } from 'vs/platform/remote/common/remoteHosts';
|
||||
import { ILabelService } from 'vs/platform/label/common/label';
|
||||
|
||||
Reference in New Issue
Block a user