Merge from vscode fcf3346a8e9f5ee1e00674461d9e2c2292a14ee3 (#12295)

* Merge from vscode fcf3346a8e9f5ee1e00674461d9e2c2292a14ee3

* Fix test build break

* Update distro

* Fix build errors

* Update distro

* Update REH build file

* Update build task names for REL

* Fix product build yaml

* Fix product REH task name

* Fix type in task name

* Update linux build step

* Update windows build tasks

* Turn off server publish

* Disable REH

* Fix typo

* Bump distro

* Update vscode tests

* Bump distro

* Fix type in disto

* Bump distro

* Turn off docker build

* Remove docker step from release

Co-authored-by: ADS Merger <andresse@microsoft.com>
Co-authored-by: Karl Burtram <karlb@microsoft.com>
This commit is contained in:
Christopher Suh
2020-10-03 14:42:05 -04:00
committed by GitHub
parent 58d02b76db
commit 6ff1e3866b
687 changed files with 10507 additions and 9104 deletions

View File

@@ -13,7 +13,6 @@ import { WIDGETS_CONTAINER, validateWidgetContainerContribution } from 'sql/work
import { GRID_CONTAINER, validateGridContainerContribution } from 'sql/workbench/contrib/dashboard/browser/containers/dashboardGridContainer.contribution';
import { WEBVIEW_CONTAINER } from 'sql/workbench/contrib/dashboard/browser/containers/dashboardWebviewContainer.contribution';
import { values } from 'vs/base/common/collections';
import { find } from 'vs/base/common/arrays';
import { NavSectionConfig } from 'sql/workbench/contrib/dashboard/browser/core/dashboardWidget';
const containerTypes = [
@@ -78,7 +77,7 @@ ExtensionsRegistry.registerExtensionPoint<IDashboardContainerContrib | IDashboar
const containerkey = Object.keys(container)[0];
const containerValue = values(container)[0];
const containerTypeFound = find(containerTypes, c => c === containerkey);
const containerTypeFound = containerTypes.find(c => c === containerkey);
if (!containerTypeFound) {
extension.collector.error(localize('dashboardTab.contribution.unKnownContainerType', "Unknown container type defines in dashboard container for extension."));
return;

View File

@@ -9,7 +9,6 @@ import * as nls from 'vs/nls';
import { generateDashboardGridLayoutSchema } from 'sql/workbench/contrib/dashboard/browser/pages/dashboardPageContribution';
import { registerContainerType, registerNavSectionContainerType } from 'sql/platform/dashboard/common/dashboardContainerRegistry';
import { find } from 'vs/base/common/arrays';
export const GRID_CONTAINER = 'grid-container';
@@ -26,7 +25,7 @@ export function validateGridContainerContribution(extension: IExtensionPointUser
let result = true;
gridConfigs.forEach(widgetConfig => {
const allKeys = Object.keys(widgetConfig);
const widgetOrWebviewKey = find(allKeys, key => key === 'widget' || key === 'webview');
const widgetOrWebviewKey = allKeys.find(key => key === 'widget' || key === 'webview');
if (!widgetOrWebviewKey) {
result = false;
extension.collector.error(nls.localize('gridContainer.invalidInputs', "widgets or webviews are expected inside widgets-container for extension."));

View File

@@ -19,7 +19,6 @@ import * as dashboardHelper from 'sql/workbench/contrib/dashboard/browser/core/d
import { Event, Emitter } from 'vs/base/common/event';
import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
import { ILogService } from 'vs/platform/log/common/log';
import { find } from 'vs/base/common/arrays';
import { values } from 'vs/base/common/collections';
@Component({
@@ -129,7 +128,7 @@ export class DashboardNavSection extends DashboardTab implements OnDestroy, OnCh
}
private addNewTab(tab: TabConfig): void {
const existedTab = find(this.tabs, i => i.id === tab.id);
const existedTab = this.tabs.find(i => i.id === tab.id);
if (!existedTab) {
this.tabs.push(tab);
this._cd.detectChanges();

View File

@@ -9,7 +9,6 @@ import * as nls from 'vs/nls';
import { generateDashboardWidgetSchema } from 'sql/workbench/contrib/dashboard/browser/pages/dashboardPageContribution';
import { registerContainerType, registerNavSectionContainerType } from 'sql/platform/dashboard/common/dashboardContainerRegistry';
import { find } from 'vs/base/common/arrays';
export const WIDGETS_CONTAINER = 'widgets-container';
@@ -26,7 +25,7 @@ export function validateWidgetContainerContribution(extension: IExtensionPointUs
let result = true;
WidgetConfigs.forEach(widgetConfig => {
const allKeys = Object.keys(widgetConfig);
const widgetKey = find(allKeys, key => key === 'widget');
const widgetKey = allKeys.find(key => key === 'widget');
if (!widgetKey) {
result = false;
extension.collector.error(nls.localize('widgetContainer.invalidInputs', "The list of widgets is expected inside widgets-container for extension."));

View File

@@ -21,7 +21,6 @@ import { Event, Emitter } from 'vs/base/common/event';
import { ScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElement';
import { ScrollbarVisibility } from 'vs/base/common/scrollable';
import { getContentHeight, addDisposableListener, EventType } from 'vs/base/browser/dom';
import { find, firstIndex } from 'vs/base/common/arrays';
/**
* Sorting function for dashboard widgets
@@ -209,10 +208,10 @@ export class WidgetContent extends AngularDisposable implements AfterViewInit {
this._grid.enableResize();
this._grid.enableDrag();
this._editDispose.push(this.dashboardService.onDeleteWidget(e => {
let index = firstIndex(this.widgets, i => i.id === e);
let index = this.widgets.findIndex(i => i.id === e);
this.widgets.splice(index, 1);
index = firstIndex(this.originalConfig, i => i.id === e);
index = this.originalConfig.findIndex(i => i.id === e);
this.originalConfig.splice(index, 1);
this._rewriteConfig();
@@ -221,7 +220,7 @@ export class WidgetContent extends AngularDisposable implements AfterViewInit {
this._editDispose.push(subscriptionToDisposable(this._grid.onResizeStop.subscribe((e: NgGridItem) => {
this._onResize.fire();
const event = e.getEventOutput();
const config = find(this.originalConfig, i => i.id === event.payload.id);
const config = this.originalConfig.find(i => i.id === event.payload.id);
if (!config.gridItemConfig) {
config.gridItemConfig = {};
@@ -239,7 +238,7 @@ export class WidgetContent extends AngularDisposable implements AfterViewInit {
this._onResize.fire();
const event = e.getEventOutput();
this._items.forEach(i => {
const config = find(this.originalConfig, j => j.id === i.getEventOutput().payload.id);
const config = this.originalConfig.find(j => j.id === i.getEventOutput().payload.id);
if ((config.gridItemConfig && config.gridItemConfig.col) || config.id === event.payload.id) {
if (!config.gridItemConfig) {
config.gridItemConfig = {};

View File

@@ -11,7 +11,6 @@ import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent';
import { IAngularEventingService, AngularEventType, IAngularEvent } from 'sql/platform/angularEventing/browser/angularEventingService';
import { INewDashboardTabDialogService } from 'sql/workbench/services/dashboard/browser/newDashboardTabDialog';
import { IDashboardTab } from 'sql/workbench/services/dashboard/browser/common/interfaces';
import { find, firstIndex } from 'vs/base/common/arrays';
import { CellContext } from 'sql/workbench/contrib/notebook/browser/cellViews/codeActions';
import { ILogService } from 'vs/platform/log/common/log';
@@ -202,14 +201,14 @@ export class AddFeatureTabAction extends Action {
case AngularEventType.NEW_TABS:
const openedTabs = <IDashboardTab[]>event.payload.dashboardTabs;
openedTabs.forEach(tab => {
const existedTab = find(this._openedTabs, i => i === tab);
const existedTab = this._openedTabs.find(i => i === tab);
if (!existedTab) {
this._openedTabs.push(tab);
}
});
break;
case AngularEventType.CLOSE_TAB:
const index = firstIndex(this._openedTabs, i => i.id === event.payload.id);
const index = this._openedTabs.findIndex(i => i.id === event.payload.id);
this._openedTabs.splice(index, 1);
break;
}

View File

@@ -22,7 +22,6 @@ import { IDashboardContainerRegistry, Extensions as DashboardContainerExtensions
import { SingleConnectionManagementService } from 'sql/workbench/services/bootstrap/browser/commonServiceInterface.service';
import * as Constants from 'sql/platform/connection/common/constants';
import { ILogService } from 'vs/platform/log/common/log';
import { find } from 'vs/base/common/arrays';
const dashboardcontainerRegistry = Registry.as<IDashboardContainerRegistry>(DashboardContainerExtensions.dashboardContainerContributions);
const containerTypes = [
@@ -163,7 +162,7 @@ function hasCompatibleProvider(provider: string | string[], contextKeyService: I
const connectionProvider = contextKeyService.getContextKeyValue<string>(Constants.connectionProviderContextKey);
if (connectionProvider) {
const providers = (provider instanceof Array) ? provider : [provider];
const matchingProvider = find(providers, (p) => p === connectionProvider || p === Constants.anyProviderName);
const matchingProvider = providers.find((p) => p === connectionProvider || p === Constants.anyProviderName);
isCompatible = (matchingProvider !== undefined);
} // Else there's no connection context so skip the check
return isCompatible;
@@ -175,7 +174,7 @@ function hasCompatibleProvider(provider: string | string[], contextKeyService: I
*/
export function getDashboardContainer(container: object, logService: ILogService): { result: boolean, message: string, container: { [key: string]: any } } {
const key = Object.keys(container)[0];
const containerTypeFound = find(containerTypes, c => (c === key));
const containerTypeFound = containerTypes.find(c => (c === key));
if (!containerTypeFound) {
const dashboardContainer = dashboardcontainerRegistry.getRegisteredContainer(key);
if (!dashboardContainer) {

View File

@@ -36,7 +36,6 @@ import Severity from 'vs/base/common/severity';
import { INotificationService } from 'vs/platform/notification/common/notification';
import { IContextKeyService, ContextKeyExpr, RawContextKey, IContextKey } from 'vs/platform/contextkey/common/contextkey';
import { ILogService } from 'vs/platform/log/common/log';
import { firstIndex, find } from 'vs/base/common/arrays';
import { values } from 'vs/base/common/collections';
import { RefreshWidgetAction, ToolbarAction } from 'sql/workbench/contrib/dashboard/browser/core/actions';
import { Taskbar, ITaskbarContent } from 'sql/base/browser/ui/taskbar/taskbar';
@@ -187,7 +186,7 @@ export abstract class DashboardPage extends AngularDisposable implements IConfig
primary.forEach(a => {
if (a instanceof MenuItemAction) {
// Need to ensure that we don't add the same action multiple times
let foundIndex = firstIndex(tasks, act => act.action && act.action.id === a.id);
let foundIndex = tasks.findIndex(act => act.action && act.action.id === a.id);
if (foundIndex < 0) {
tasks.push({ action: a });
}
@@ -318,7 +317,7 @@ export abstract class DashboardPage extends AngularDisposable implements IConfig
this._cd.detectChanges();
this._tabsDispose.push(this.dashboardService.onPinUnpinTab(e => {
const tabConfig = find(this._tabSettingConfigs, i => i.tabId === e.tabId);
const tabConfig = this._tabSettingConfigs.find(i => i.tabId === e.tabId);
if (tabConfig) {
tabConfig.isPinned = e.isPinned;
} else {
@@ -395,7 +394,7 @@ export abstract class DashboardPage extends AngularDisposable implements IConfig
iconClass: 'home-tab-icon'
};
const homeTabIndex = firstIndex(allTabs, (tab) => tab.isHomeTab === true);
const homeTabIndex = allTabs.findIndex(tab => tab.isHomeTab === true);
if (homeTabIndex !== undefined && homeTabIndex > -1) {
// Have a tab: get its information and copy over to the home tab definition
const homeTab = allTabs.splice(homeTabIndex, 1)[0];
@@ -491,7 +490,7 @@ export abstract class DashboardPage extends AngularDisposable implements IConfig
}
private addNewTab(tab: TabConfig): void {
const existedTab = find(this.tabs, i => i.id === tab.id);
const existedTab = this.tabs.find(i => i.id === tab.id);
if (!existedTab) {
if (!tab.iconClass && tab.type !== 'group-header') {
tab.iconClass = 'default-tab-icon';
@@ -553,7 +552,7 @@ export abstract class DashboardPage extends AngularDisposable implements IConfig
}
public handleTabClose(tab: TabComponent): void {
const index = firstIndex(this.tabs, i => i.id === tab.identifier);
const index = this.tabs.findIndex(i => i.id === tab.identifier);
this.tabs.splice(index, 1);
this.angularEventingService.sendAngularEvent(this.dashboardService.getUnderlyingUri(), AngularEventType.CLOSE_TAB, { id: tab.identifier });
}

View File

@@ -12,7 +12,6 @@ import { IExtensionPointUser, ExtensionsRegistry } from 'vs/workbench/services/e
import { DATABASE_DASHBOARD_TABS } from 'sql/workbench/contrib/dashboard/browser/pages/databaseDashboardPage.contribution';
import { SERVER_DASHBOARD_TABS } from 'sql/workbench/contrib/dashboard/browser/pages/serverDashboardPage.contribution';
import { DASHBOARD_CONFIG_ID, DASHBOARD_TABS_KEY_PROPERTY } from 'sql/workbench/contrib/dashboard/browser/pages/dashboardPageContribution';
import { find } from 'vs/base/common/arrays';
import { IDashboardTab, IDashboardTabGroup } from 'sql/workbench/services/dashboard/browser/common/interfaces';
import { ILogService } from 'vs/platform/log/common/log';
@@ -169,7 +168,7 @@ class DashboardRegistry implements IDashboardRegistry {
public registerTab(tab: IDashboardTab): void {
this._tabs.push(tab);
let dashboardConfig = find(this._configurationRegistry.getConfigurations(), c => c.id === DASHBOARD_CONFIG_ID);
let dashboardConfig = this._configurationRegistry.getConfigurations().find(c => c.id === DASHBOARD_CONFIG_ID);
if (dashboardConfig) {
let dashboardDatabaseTabProperty = (<IJSONSchema>dashboardConfig.properties[DATABASE_DASHBOARD_TABS].items).properties[DASHBOARD_TABS_KEY_PROPERTY];