mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-16 17:22:29 -05:00
* Fixed a connect to Server typo * Added upgrade tab with description and title. Table is still stuck loading. * Renamed backups to upgrades. * Removed loading icon * Table appearing and not stuck loading * Saving for now to upgrade arc and azcli versions * Added upgrade confirmation dialog, populated dummy data and added upgrade apis. * Added parsing of versions and current version from listupgrades * Upgrade itself not working, but added upgrade as a part of azure cli api. * Table now populating with release dates and version numbers. Upgrade button only shows for appropriate cells. Upgrade done but no release version column. * Changed text using PM advice * Removed comments from controllerUpgrades.ts * Replaced code in upgradecontroller.ts and made refresh work * Removed one call to handleTablesUpdated * Removed some code in upgradeControllers.ts and it still works * removing more code for pitr refresh from upgradeController.ts * Created and used UpgradeModel even though it is empty * Added upgrademodel * PR comments addressed Co-authored-by: Candice Ye <canye@microsoft.com>
188 lines
6.6 KiB
TypeScript
188 lines
6.6 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 * as vscode from 'vscode';
|
|
|
|
export const refreshActionId = 'arc.refresh';
|
|
|
|
export const credentialNamespace = 'arcCredentials';
|
|
|
|
export const controllerTroubleshootDocsUrl = 'https://aka.ms/arc-data-tsg';
|
|
export const miaaTroubleshootDocsUrl = 'https://aka.ms/miaa-tsg';
|
|
|
|
export interface IconPath {
|
|
dark: string;
|
|
light: string;
|
|
}
|
|
|
|
export class IconPathHelper {
|
|
private static context: vscode.ExtensionContext;
|
|
|
|
public static add: IconPath;
|
|
public static edit: IconPath;
|
|
public static delete: IconPath;
|
|
public static openInTab: IconPath;
|
|
public static copy: IconPath;
|
|
public static collapseUp: IconPath;
|
|
public static collapseDown: IconPath;
|
|
public static postgres: IconPath;
|
|
public static extensions: IconPath;
|
|
public static computeStorage: IconPath;
|
|
public static connection: IconPath;
|
|
public static backup: IconPath;
|
|
public static properties: IconPath;
|
|
public static networking: IconPath;
|
|
public static pitr: IconPath;
|
|
public static refresh: IconPath;
|
|
public static reset: IconPath;
|
|
public static support: IconPath;
|
|
public static wrench: IconPath;
|
|
public static miaa: IconPath;
|
|
public static controller: IconPath;
|
|
public static health: IconPath;
|
|
public static success: IconPath;
|
|
public static save: IconPath;
|
|
public static discard: IconPath;
|
|
public static fail: IconPath;
|
|
public static information: IconPath;
|
|
public static gearBlue: IconPath;
|
|
public static gearGray: IconPath;
|
|
|
|
public static setExtensionContext(context: vscode.ExtensionContext) {
|
|
IconPathHelper.context = context;
|
|
IconPathHelper.add = {
|
|
light: IconPathHelper.context.asAbsolutePath('images/add.svg'),
|
|
dark: IconPathHelper.context.asAbsolutePath('images/add.svg')
|
|
};
|
|
IconPathHelper.edit = {
|
|
light: IconPathHelper.context.asAbsolutePath('images/edit.svg'),
|
|
dark: IconPathHelper.context.asAbsolutePath('images/edit.svg')
|
|
};
|
|
IconPathHelper.delete = {
|
|
light: IconPathHelper.context.asAbsolutePath('images/delete.svg'),
|
|
dark: IconPathHelper.context.asAbsolutePath('images/delete.svg')
|
|
};
|
|
IconPathHelper.openInTab = {
|
|
light: IconPathHelper.context.asAbsolutePath('images/open-in-tab.svg'),
|
|
dark: IconPathHelper.context.asAbsolutePath('images/open-in-tab.svg')
|
|
};
|
|
IconPathHelper.copy = {
|
|
light: IconPathHelper.context.asAbsolutePath('images/copy.svg'),
|
|
dark: IconPathHelper.context.asAbsolutePath('images/copy.svg')
|
|
};
|
|
IconPathHelper.postgres = {
|
|
light: IconPathHelper.context.asAbsolutePath('images/postgres.svg'),
|
|
dark: IconPathHelper.context.asAbsolutePath('images/postgres.svg')
|
|
};
|
|
IconPathHelper.extensions = {
|
|
light: IconPathHelper.context.asAbsolutePath('images/extensions.svg'),
|
|
dark: IconPathHelper.context.asAbsolutePath('images/extensions.svg')
|
|
};
|
|
IconPathHelper.computeStorage = {
|
|
light: context.asAbsolutePath('images/billing.svg'),
|
|
dark: context.asAbsolutePath('images/billing.svg')
|
|
};
|
|
IconPathHelper.connection = {
|
|
light: context.asAbsolutePath('images/connections.svg'),
|
|
dark: context.asAbsolutePath('images/connections.svg')
|
|
};
|
|
IconPathHelper.backup = {
|
|
light: context.asAbsolutePath('images/migrate.svg'),
|
|
dark: context.asAbsolutePath('images/migrate.svg')
|
|
};
|
|
IconPathHelper.properties = {
|
|
light: context.asAbsolutePath('images/properties.svg'),
|
|
dark: context.asAbsolutePath('images/properties.svg')
|
|
};
|
|
IconPathHelper.networking = {
|
|
light: context.asAbsolutePath('images/security.svg'),
|
|
dark: context.asAbsolutePath('images/security.svg')
|
|
};
|
|
IconPathHelper.refresh = {
|
|
light: context.asAbsolutePath('images/refresh.svg'),
|
|
dark: context.asAbsolutePath('images/refresh.svg')
|
|
};
|
|
IconPathHelper.reset = {
|
|
light: context.asAbsolutePath('images/reset.svg'),
|
|
dark: context.asAbsolutePath('images/reset.svg')
|
|
};
|
|
IconPathHelper.support = {
|
|
light: context.asAbsolutePath('images/support.svg'),
|
|
dark: context.asAbsolutePath('images/support.svg')
|
|
};
|
|
IconPathHelper.wrench = {
|
|
light: context.asAbsolutePath('images/wrench.svg'),
|
|
dark: context.asAbsolutePath('images/wrench.svg')
|
|
};
|
|
IconPathHelper.miaa = {
|
|
light: context.asAbsolutePath('images/miaa.svg'),
|
|
dark: context.asAbsolutePath('images/miaa.svg'),
|
|
};
|
|
IconPathHelper.controller = {
|
|
light: context.asAbsolutePath('images/data_controller.svg'),
|
|
dark: context.asAbsolutePath('images/data_controller.svg'),
|
|
};
|
|
IconPathHelper.health = {
|
|
light: context.asAbsolutePath('images/health.svg'),
|
|
dark: context.asAbsolutePath('images/health.svg'),
|
|
};
|
|
IconPathHelper.success = {
|
|
light: context.asAbsolutePath('images/success.svg'),
|
|
dark: context.asAbsolutePath('images/success.svg'),
|
|
};
|
|
IconPathHelper.save = {
|
|
light: context.asAbsolutePath('images/save.svg'),
|
|
dark: context.asAbsolutePath('images/save.svg'),
|
|
};
|
|
IconPathHelper.discard = {
|
|
light: context.asAbsolutePath('images/discard.svg'),
|
|
dark: context.asAbsolutePath('images/discard.svg'),
|
|
};
|
|
IconPathHelper.fail = {
|
|
light: context.asAbsolutePath('images/fail.svg'),
|
|
dark: context.asAbsolutePath('images/fail.svg'),
|
|
};
|
|
IconPathHelper.information = {
|
|
light: context.asAbsolutePath('images/information.svg'),
|
|
dark: context.asAbsolutePath('images/information.svg'),
|
|
};
|
|
IconPathHelper.gearBlue = {
|
|
light: context.asAbsolutePath('images/gear-colored-blue.svg'),
|
|
dark: context.asAbsolutePath('images/gear-colored-blue.svg'),
|
|
};
|
|
IconPathHelper.gearGray = {
|
|
light: context.asAbsolutePath('images/gear-colored-gray.svg'),
|
|
dark: context.asAbsolutePath('images/gear-colored-gray.svg'),
|
|
};
|
|
IconPathHelper.pitr = {
|
|
light: context.asAbsolutePath('images/pitr.svg'),
|
|
dark: context.asAbsolutePath('images/pitr.svg'),
|
|
};
|
|
}
|
|
}
|
|
|
|
|
|
export const enum Endpoints {
|
|
mgmtproxy = 'mgmtproxy',
|
|
logsui = 'logsui',
|
|
metricsui = 'metricsui',
|
|
controller = 'controller'
|
|
}
|
|
|
|
export const enum ConnectionMode {
|
|
direct = 'direct',
|
|
indirect = 'indirect'
|
|
}
|
|
|
|
export namespace cssStyles {
|
|
export const text = { 'user-select': 'text', 'cursor': 'text' };
|
|
export const code = { 'user-select': 'text', 'cursor': 'text', 'font-style': 'italic' };
|
|
export const title = { ...text, 'font-weight': 'bold', 'font-size': '14px' };
|
|
export const tableHeader = { ...text, 'text-align': 'left', 'border': 'none' };
|
|
export const tableRow = { ...text, 'border-top': 'solid 1px #ccc', 'border-bottom': 'solid 1px #ccc', 'border-left': 'none', 'border-right': 'none' };
|
|
}
|
|
|
|
export const iconSize = '20px';
|