mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-06-22 03:15:09 -04:00
Renable Strict TSLint (#5018)
* removes more builder references * remove builder from profiler * formatting * fix profiler dailog * remove builder from oatuhdialog * remove the rest of builder references * formatting * add more strict null checks to base * enable strict tslint rules * fix formatting * fix compile error * fix the rest of the hygeny issues and add pipeline step * fix pipeline files
This commit is contained in:
108
src/sql/azdata.proposed.d.ts
vendored
108
src/sql/azdata.proposed.d.ts
vendored
@@ -60,8 +60,8 @@ declare module 'azdata' {
|
||||
export namespace credentials {
|
||||
/**
|
||||
* Register a credential provider to handle credential requests.
|
||||
* @param {CredentialProvider} provider The provider to register
|
||||
* @return {Disposable} Handle to the provider for disposal
|
||||
* @param provider The provider to register
|
||||
* @return Handle to the provider for disposal
|
||||
*/
|
||||
export function registerProvider(provider: CredentialProvider): vscode.Disposable;
|
||||
|
||||
@@ -69,8 +69,8 @@ declare module 'azdata' {
|
||||
* Retrieves a provider from the extension host if one has been registered. Any credentials
|
||||
* accessed with the returned provider will have the namespaceId appended to credential ID
|
||||
* to prevent extensions from trampling over each others' credentials.
|
||||
* @param {string} namespaceId ID that will be appended to credential IDs.
|
||||
* @return {Thenable<CredentialProvider>} Promise that returns the namespaced provider
|
||||
* @param namespaceId ID that will be appended to credential IDs.
|
||||
* @return Promise that returns the namespaced provider
|
||||
*/
|
||||
export function getProvider(namespaceId: string): Thenable<CredentialProvider>;
|
||||
}
|
||||
@@ -98,14 +98,14 @@ declare module 'azdata' {
|
||||
|
||||
/**
|
||||
* Get the credentials for an active connection
|
||||
* @param {string} connectionId The id of the connection
|
||||
* @returns {{ [name: string]: string}} A dictionary containing the credentials as they would be included in the connection's options dictionary
|
||||
* @param connectionId The id of the connection
|
||||
* @returns A dictionary containing the credentials as they would be included in the connection's options dictionary
|
||||
*/
|
||||
export function getCredentials(connectionId: string): Thenable<{ [name: string]: string }>;
|
||||
|
||||
/**
|
||||
* Get ServerInfo for a connectionId
|
||||
* @param {string} connectionId The id of the connection
|
||||
* @param connectionId The id of the connection
|
||||
* @returns ServerInfo
|
||||
*/
|
||||
export function getServerInfo(connectionId: string): Thenable<ServerInfo>;
|
||||
@@ -134,35 +134,35 @@ declare module 'azdata' {
|
||||
* Get an Object Explorer node corresponding to the given connection and path. If no path
|
||||
* is given, it returns the top-level node for the given connection. If there is no node at
|
||||
* the given path, it returns undefined.
|
||||
* @param {string} connectionId The id of the connection that the node exists on
|
||||
* @param {string?} nodePath The path of the node to get
|
||||
* @returns {ObjectExplorerNode} The node corresponding to the given connection and path,
|
||||
* @param connectionId The id of the connection that the node exists on
|
||||
* @param nodePath The path of the node to get
|
||||
* @returns The node corresponding to the given connection and path,
|
||||
* or undefined if no such node exists.
|
||||
*/
|
||||
export function getNode(connectionId: string, nodePath?: string): Thenable<ObjectExplorerNode>;
|
||||
|
||||
/**
|
||||
* Get all active Object Explorer connection nodes
|
||||
* @returns {ObjectExplorerNode[]} The Object Explorer nodes for each saved connection
|
||||
* @returns The Object Explorer nodes for each saved connection
|
||||
*/
|
||||
export function getActiveConnectionNodes(): Thenable<ObjectExplorerNode[]>;
|
||||
|
||||
/**
|
||||
* Find Object Explorer nodes that match the given information
|
||||
* @param {string} connectionId The id of the connection that the node exists on
|
||||
* @param {string} type The type of the object to retrieve
|
||||
* @param {string} schema The schema of the object, if applicable
|
||||
* @param {string} name The name of the object
|
||||
* @param {string} database The database the object exists under, if applicable
|
||||
* @param {string[]} parentObjectNames A list of names of parent objects in the tree, ordered from highest to lowest level
|
||||
* @param connectionId The id of the connection that the node exists on
|
||||
* @param type The type of the object to retrieve
|
||||
* @param schema The schema of the object, if applicable
|
||||
* @param name The name of the object
|
||||
* @param database The database the object exists under, if applicable
|
||||
* @param parentObjectNames A list of names of parent objects in the tree, ordered from highest to lowest level
|
||||
* (for example when searching for a table's column, provide the name of its parent table for this argument)
|
||||
*/
|
||||
export function findNodes(connectionId: string, type: string, schema: string, name: string, database: string, parentObjectNames: string[]): Thenable<ObjectExplorerNode[]>;
|
||||
|
||||
/**
|
||||
* Get connectionProfile from sessionId
|
||||
* *@param {string} sessionId The id of the session that the node exists on
|
||||
* @returns {IConnectionProfile} The IConnecitonProfile for the session
|
||||
* @param sessionId The id of the session that the node exists on
|
||||
* @returns The IConnecitonProfile for the session
|
||||
*/
|
||||
export function getSessionConnectionProfile(sessionId: string): Thenable<IConnectionProfile>;
|
||||
|
||||
@@ -2047,11 +2047,7 @@ declare module 'azdata' {
|
||||
* Launches a flyout dialog that will display the information on how to complete device
|
||||
* code OAuth login to the user. Only one flyout can be opened at once and each must be closed
|
||||
* by calling {@link endAutoOAuthDeviceCode}.
|
||||
* @param {string} providerId ID of the provider that's requesting the flyout be opened
|
||||
* @param {string} title
|
||||
* @param {string} message
|
||||
* @param {string} userCode
|
||||
* @param {string} uri
|
||||
* @param providerId ID of the provider that's requesting the flyout be opened
|
||||
*/
|
||||
export function beginAutoOAuthDeviceCode(providerId: string, title: string, message: string, userCode: string, uri: string): Thenable<void>;
|
||||
|
||||
@@ -2063,21 +2059,21 @@ declare module 'azdata' {
|
||||
/**
|
||||
* Notifies the account management service that an account has updated (usually due to the
|
||||
* account going stale).
|
||||
* @param {Account} updatedAccount Account object with updated properties
|
||||
* @param updatedAccount Account object with updated properties
|
||||
*/
|
||||
export function accountUpdated(updatedAccount: Account): void;
|
||||
|
||||
/**
|
||||
* Gets all added accounts.
|
||||
* @returns {Thenable<Account>} Promise to return the accounts
|
||||
* @returns Promise to return the accounts
|
||||
*/
|
||||
export function getAllAccounts(): Thenable<Account[]>;
|
||||
|
||||
/**
|
||||
* Generates a security token by asking the account's provider
|
||||
* @param {Account} account Account to generate security token for (defaults to
|
||||
* @param account Account to generate security token for (defaults to
|
||||
* AzureResource.ResourceManagement if not given)
|
||||
* @return {Thenable<{}>} Promise to return the security token
|
||||
* @return Promise to return the security token
|
||||
*/
|
||||
export function getSecurityToken(account: Account, resource?: AzureResource): Thenable<{}>;
|
||||
|
||||
@@ -2211,16 +2207,16 @@ declare module 'azdata' {
|
||||
export interface AccountProvider {
|
||||
/**
|
||||
* Initializes the account provider with the accounts restored from the memento,
|
||||
* @param {Account[]} storedAccounts Accounts restored from the memento
|
||||
* @return {Thenable<Account[]>} Account objects after being rehydrated (if necessary)
|
||||
* @param storedAccounts Accounts restored from the memento
|
||||
* @return Account objects after being rehydrated (if necessary)
|
||||
*/
|
||||
initialize(storedAccounts: Account[]): Thenable<Account[]>;
|
||||
|
||||
/**
|
||||
* Generates a security token for the provided account
|
||||
* @param {Account} account The account to generate a security token for
|
||||
* @param {AzureResource} resource The resource to get the token for
|
||||
* @return {Thenable<{}>} Promise to return a security token object
|
||||
* @param account The account to generate a security token for
|
||||
* @param resource The resource to get the token for
|
||||
* @return Promise to return a security token object
|
||||
*/
|
||||
getSecurityToken(account: Account, resource: AzureResource): Thenable<{}>;
|
||||
|
||||
@@ -2444,7 +2440,6 @@ declare module 'azdata' {
|
||||
/**
|
||||
* Supports defining a model that can be instantiated as a view in the UI
|
||||
* @export
|
||||
* @interface ModelBuilder
|
||||
*/
|
||||
export interface ModelBuilder {
|
||||
navContainer(): ContainerBuilder<NavContainer, any, any>;
|
||||
@@ -2554,7 +2549,7 @@ declare module 'azdata' {
|
||||
* Creates a collection of child components and adds them all to this container
|
||||
*
|
||||
* @param formComponents the definitions
|
||||
* @param {*} [itemLayout] Optional layout for the child items
|
||||
* @param [itemLayout] Optional layout for the child items
|
||||
*/
|
||||
addFormItems(formComponents: Array<FormComponent | FormComponentGroup>, itemLayout?: FormItemLayout): void;
|
||||
|
||||
@@ -2562,7 +2557,7 @@ declare module 'azdata' {
|
||||
* Creates a child component and adds it to this container.
|
||||
*
|
||||
* @param formComponent the component to be added
|
||||
* @param {*} [itemLayout] Optional layout for this child item
|
||||
* @param [itemLayout] Optional layout for this child item
|
||||
*/
|
||||
addFormItem(formComponent: FormComponent | FormComponentGroup, itemLayout?: FormItemLayout): void;
|
||||
|
||||
@@ -2576,7 +2571,6 @@ declare module 'azdata' {
|
||||
|
||||
/**
|
||||
* Removes a from item from the from
|
||||
* @param formComponent
|
||||
*/
|
||||
removeFormItem(formComponent: FormComponent | FormComponentGroup): boolean;
|
||||
}
|
||||
@@ -2587,18 +2581,16 @@ declare module 'azdata' {
|
||||
/**
|
||||
* Sends any updated properties of the component to the UI
|
||||
*
|
||||
* @returns {Thenable<void>} Thenable that completes once the update
|
||||
* @returns Thenable that completes once the update
|
||||
* has been applied in the UI
|
||||
* @memberof Component
|
||||
*/
|
||||
updateProperties(properties: { [key: string]: any }): Thenable<void>;
|
||||
|
||||
/**
|
||||
* Sends an updated property of the component to the UI
|
||||
*
|
||||
* @returns {Thenable<void>} Thenable that completes once the update
|
||||
* @returns Thenable that completes once the update
|
||||
* has been applied in the UI
|
||||
* @memberof Component
|
||||
*/
|
||||
updateProperty(key: string, value: any): Thenable<void>;
|
||||
|
||||
@@ -2665,7 +2657,7 @@ declare module 'azdata' {
|
||||
* Creates a collection of child components and adds them all to this container
|
||||
*
|
||||
* @param itemConfigs the definitions
|
||||
* @param {*} [itemLayout] Optional layout for the child items
|
||||
* @param [itemLayout] Optional layout for the child items
|
||||
*/
|
||||
addItems(itemConfigs: Array<Component>, itemLayout?: TItemLayout): void;
|
||||
|
||||
@@ -2673,8 +2665,8 @@ declare module 'azdata' {
|
||||
* Creates a child component and adds it to this container.
|
||||
* Adding component to multiple containers is not supported
|
||||
*
|
||||
* @param {Component} component the component to be added
|
||||
* @param {*} [itemLayout] Optional layout for this child item
|
||||
* @param component the component to be added
|
||||
* @param [itemLayout] Optional layout for this child item
|
||||
*/
|
||||
addItem(component: Component, itemLayout?: TItemLayout): void;
|
||||
|
||||
@@ -2683,7 +2675,7 @@ declare module 'azdata' {
|
||||
* Adding component to multiple containers is not supported
|
||||
* @param component the component to be added
|
||||
* @param index the index to insert the component to
|
||||
* @param {*} [itemLayout] Optional layout for this child item
|
||||
* @param [itemLayout] Optional layout for this child item
|
||||
*/
|
||||
insertItem(component: Component, index: number, itemLayout?: TItemLayout): void;
|
||||
|
||||
@@ -2696,7 +2688,7 @@ declare module 'azdata' {
|
||||
/**
|
||||
* Defines the layout for this container
|
||||
*
|
||||
* @param {TLayout} layout object
|
||||
* @param layout object
|
||||
*/
|
||||
setLayout(layout: TLayout): void;
|
||||
}
|
||||
@@ -2834,8 +2826,8 @@ declare module 'azdata' {
|
||||
|
||||
export interface DivContainer extends Container<DivLayout, DivItemLayout>, DivContainerProperties {
|
||||
/**
|
||||
* An event called when the div is clicked
|
||||
*/
|
||||
* An event called when the div is clicked
|
||||
*/
|
||||
onDidClick: vscode.Event<any>;
|
||||
}
|
||||
|
||||
@@ -3371,9 +3363,8 @@ declare module 'azdata' {
|
||||
|
||||
export namespace window {
|
||||
/**
|
||||
* creates a web view dialog
|
||||
* @param title
|
||||
*/
|
||||
* creates a web view dialog
|
||||
*/
|
||||
export function createWebViewDialog(title: string): ModalDialog;
|
||||
|
||||
/**
|
||||
@@ -3736,14 +3727,14 @@ declare module 'azdata' {
|
||||
|
||||
/**
|
||||
* Make connection for the query editor
|
||||
* @param {string} fileUri file URI for the query editor
|
||||
* @param {string} connectionId connection ID
|
||||
* @param fileUri file URI for the query editor
|
||||
* @param connectionId connection ID
|
||||
*/
|
||||
export function connect(fileUri: string, connectionId: string): Thenable<void>;
|
||||
|
||||
/**
|
||||
* Run query if it is a query editor and it is already opened.
|
||||
* @param {string} fileUri file URI for the query editor
|
||||
* @param fileUri file URI for the query editor
|
||||
*/
|
||||
export function runQuery(fileUri: string, options?: Map<string, string>): void;
|
||||
|
||||
@@ -3752,7 +3743,7 @@ declare module 'azdata' {
|
||||
*/
|
||||
export function registerQueryEventListener(listener: queryeditor.QueryEventListener): void;
|
||||
|
||||
export function getQueryDocument(fileUri: string): queryeditor.QueryDocument
|
||||
export function getQueryDocument(fileUri: string): queryeditor.QueryDocument;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3944,8 +3935,8 @@ declare module 'azdata' {
|
||||
export namespace connection {
|
||||
/**
|
||||
* List the databases that can be accessed from the given connection
|
||||
* @param {string} connectionId The ID of the connection
|
||||
* @returns {string[]} An list of names of databases
|
||||
* @param connectionId The ID of the connection
|
||||
* @returns An list of names of databases
|
||||
*/
|
||||
export function listDatabases(connectionId: string): Thenable<string[]>;
|
||||
|
||||
@@ -3960,7 +3951,6 @@ declare module 'azdata' {
|
||||
/**
|
||||
* Opens the connection dialog, calls the callback with the result. If connection was successful
|
||||
* returns the connection otherwise returns undefined
|
||||
* @param callback
|
||||
*/
|
||||
export function openConnectionDialog(providers?: string[], initialConnectionProfile?: IConnectionProfile, connectionCompletionOptions?: IConnectionCompletionOptions): Thenable<connection.Connection>;
|
||||
|
||||
@@ -3974,8 +3964,6 @@ declare module 'azdata' {
|
||||
export namespace nb {
|
||||
/**
|
||||
* All notebook documents currently known to the system.
|
||||
*
|
||||
* @readonly
|
||||
*/
|
||||
export let notebookDocuments: NotebookDocument[];
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
.custom-checkbox.sql-checkbox {
|
||||
.custom-checkbox.sql-checkbox {
|
||||
margin-right: 5px;
|
||||
margin-top: 2px;
|
||||
width: 12px;
|
||||
|
||||
@@ -107,7 +107,7 @@ export class Dropdown extends Disposable {
|
||||
super();
|
||||
this._contextView = new ContextView(layoutService.container);
|
||||
this._options = opt || Object.create(null);
|
||||
mixin(this._options, defaults, false) as IDropdownOptions;
|
||||
mixin(this._options, defaults, false);
|
||||
this._el = DOM.append(container, DOM.$('.monaco-dropdown'));
|
||||
this._el.style.width = '100%';
|
||||
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
.labelOnTopContainer {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.labelOnLeftContainer {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
margin-right: 5px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
/*
|
||||
IMPORTANT:
|
||||
In order to preserve the uniform grid appearance, all cell styles need to have padding, margin and border sizes.
|
||||
No built-in (selected, editable, highlight, flashing, invalid, loading, :focus) or user-specified CSS
|
||||
classes should alter those!
|
||||
*/
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
.slick-header.ui-state-default, .slick-headerrow.ui-state-default, .slick-footerrow.ui-state-default {
|
||||
width: 100%;
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
/* grid styling */
|
||||
|
||||
.vs slick-grid.active .grid .slick-cell.active {
|
||||
border-color: var(--color-cell-border-active);
|
||||
border-color: var(--color-cell-border-active);
|
||||
}
|
||||
|
||||
.vs slick-grid.active .grid .slick-cell.selected {
|
||||
@@ -202,7 +202,7 @@
|
||||
/* grid styling */
|
||||
|
||||
.vs-dark slick-grid.active .grid .slick-cell.active {
|
||||
border-color: var(--color-cell-border-active);
|
||||
border-color: var(--color-cell-border-active);
|
||||
}
|
||||
|
||||
.vs-dark slick-grid.active .grid .slick-cell.selected {
|
||||
@@ -348,7 +348,7 @@
|
||||
/* grid styling */
|
||||
|
||||
.hc-black slick-grid.active .grid .slick-cell.active {
|
||||
border-color: var(--color-cell-border-active);
|
||||
border-color: var(--color-cell-border-active);
|
||||
}
|
||||
|
||||
.hc-black slick-grid.active .grid .slick-cell.selected {
|
||||
|
||||
@@ -35,129 +35,129 @@
|
||||
}
|
||||
|
||||
.slick-header-menubutton {
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
bottom: 0;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 0;
|
||||
width: 18px;
|
||||
background-image: url('down.svg');
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
bottom: 0;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 0;
|
||||
width: 18px;
|
||||
background-image: url('down.svg');
|
||||
}
|
||||
|
||||
.vs-dark .slick-header-menubutton,
|
||||
.hc-black .slick-header-menubutton {
|
||||
background-image: url('down-inverse.svg');
|
||||
background-image: url('down-inverse.svg');
|
||||
}
|
||||
|
||||
.slick-header-menubutton.filtered {
|
||||
background-image: url('filter.svg');
|
||||
background-image: url('filter.svg');
|
||||
}
|
||||
|
||||
.vs-dark .slick-header-menubutton.filtered,
|
||||
.hc-black .slick-header-menubutton.filtered {
|
||||
background-image: url('filter_inverse.svg');
|
||||
background-image: url('filter_inverse.svg');
|
||||
}
|
||||
|
||||
.slick-header-menu {
|
||||
background: none repeat scroll 0 0 white;
|
||||
border: 1px solid #BFBDBD;
|
||||
min-width: 175px;
|
||||
padding: 4px;
|
||||
z-index: 100000;
|
||||
cursor: default;
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
background: none repeat scroll 0 0 white;
|
||||
border: 1px solid #BFBDBD;
|
||||
min-width: 175px;
|
||||
padding: 4px;
|
||||
z-index: 100000;
|
||||
cursor: default;
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.vs-dark .slick-header-menu {
|
||||
background: none repeat scroll 0 0 #333333;
|
||||
background: none repeat scroll 0 0 #333333;
|
||||
}
|
||||
|
||||
.hc-black .slick-header-menu {
|
||||
background: none repeat scroll 0 0 #000000;
|
||||
background: none repeat scroll 0 0 #000000;
|
||||
}
|
||||
|
||||
.slick-header-menu a.monaco-button.monaco-text-button {
|
||||
width: 60px;
|
||||
margin: 6px 6px 6px 6px;
|
||||
padding: 4px;
|
||||
width: 60px;
|
||||
margin: 6px 6px 6px 6px;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.slick-header-menu .filter
|
||||
{
|
||||
border: 1px solid #BFBDBD;
|
||||
font-size: 8pt;
|
||||
height: 250px;
|
||||
margin-top: 6px;
|
||||
overflow: scroll;
|
||||
padding: 4px;
|
||||
white-space: nowrap;
|
||||
width: 200px;
|
||||
border: 1px solid #BFBDBD;
|
||||
font-size: 8pt;
|
||||
height: 250px;
|
||||
margin-top: 6px;
|
||||
overflow: scroll;
|
||||
padding: 4px;
|
||||
white-space: nowrap;
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
.monaco-table label {
|
||||
display: block;
|
||||
margin-bottom: 5px;
|
||||
display: block;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.slick-header-menuitem
|
||||
{
|
||||
border: 1px solid transparent;
|
||||
padding: 2px 4px;
|
||||
cursor: pointer;
|
||||
list-style: none outside none;
|
||||
margin: 0;
|
||||
border: 1px solid transparent;
|
||||
padding: 2px 4px;
|
||||
cursor: pointer;
|
||||
list-style: none outside none;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.slick-header-menuicon
|
||||
{
|
||||
display: inline-block;
|
||||
height: 16px;
|
||||
margin-right: 4px;
|
||||
vertical-align: middle;
|
||||
width: 16px;
|
||||
display: inline-block;
|
||||
height: 16px;
|
||||
margin-right: 4px;
|
||||
vertical-align: middle;
|
||||
width: 16px;
|
||||
}
|
||||
|
||||
.slick-header-menuicon.ascending {
|
||||
background: url('sort-asc.gif');
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
background: url('sort-asc.gif');
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.slick-header-menuicon.descending {
|
||||
background: url('sort-desc.gif');
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
background: url('sort-desc.gif');
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.slick-header-menucontent {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.slick-header-menuitem:hover {
|
||||
border-color: #BFBDBD;
|
||||
border-color: #BFBDBD;
|
||||
}
|
||||
|
||||
.header-overlay, .cell-overlay, .selection-cell-overlay {
|
||||
display: block;
|
||||
position: absolute;
|
||||
z-index: 999;
|
||||
display: block;
|
||||
position: absolute;
|
||||
z-index: 999;
|
||||
}
|
||||
|
||||
.vs-dark .slick-header-menu > input.input {
|
||||
color: #4a4a4a;
|
||||
color: #4a4a4a;
|
||||
}
|
||||
|
||||
.hc-black .slick-header-menu > input.input {
|
||||
color: #000000;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.vs-dark .slick-header-menu,
|
||||
.hc-black .slick-header-menu {
|
||||
color: #FFFFFF;
|
||||
}
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { mixin } from 'vs/base/common/objects';
|
||||
|
||||
const defaultOptions: ICellRangeSelectorOptions = {
|
||||
|
||||
@@ -48,12 +48,12 @@
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0% 50%;
|
||||
padding-left: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
.carbon-taskbar .action-item-label {
|
||||
.carbon-taskbar .action-item-label {
|
||||
display: flex;
|
||||
padding-right: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.listDatabasesSelectBox {
|
||||
padding-left: 2px;
|
||||
@@ -64,7 +64,7 @@
|
||||
.configuration.select-container .select-box {
|
||||
margin-top: 4px;
|
||||
margin-top: 3px;
|
||||
}
|
||||
}
|
||||
|
||||
.taskbarSeparator {
|
||||
width: 1px;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
export function log(...args: any[]): void {
|
||||
console.log(`\x1b[90m[main ${new Date().toLocaleTimeString()}]\x1b[0m`, ...args);
|
||||
|
||||
@@ -10,26 +10,26 @@ import * as editorCommon from 'vs/editor/common/editorCommon';
|
||||
* @param lineChanges The line changes to be reversed
|
||||
*/
|
||||
export function reverseLineChanges(lineChanges: editorCommon.ILineChange[]): editorCommon.ILineChange[] {
|
||||
let reversedLineChanges = lineChanges.map(linechange => {
|
||||
return {
|
||||
modifiedStartLineNumber: linechange.originalStartLineNumber,
|
||||
modifiedEndLineNumber: linechange.originalEndLineNumber,
|
||||
originalStartLineNumber: linechange.modifiedStartLineNumber,
|
||||
originalEndLineNumber: linechange.modifiedEndLineNumber,
|
||||
charChanges: (linechange.charChanges) ?
|
||||
linechange.charChanges.map(charchange => {
|
||||
return {
|
||||
originalStartColumn: charchange.modifiedStartColumn,
|
||||
originalEndColumn: charchange.modifiedEndColumn,
|
||||
modifiedStartColumn: charchange.originalStartColumn,
|
||||
modifiedEndColumn: charchange.originalEndColumn,
|
||||
modifiedStartLineNumber: charchange.originalStartLineNumber,
|
||||
modifiedEndLineNumber: charchange.originalEndLineNumber,
|
||||
originalStartLineNumber: charchange.modifiedStartLineNumber,
|
||||
originalEndLineNumber: charchange.modifiedEndLineNumber,
|
||||
};
|
||||
}) : undefined
|
||||
};
|
||||
});
|
||||
return reversedLineChanges;
|
||||
}
|
||||
let reversedLineChanges = lineChanges.map(linechange => {
|
||||
return {
|
||||
modifiedStartLineNumber: linechange.originalStartLineNumber,
|
||||
modifiedEndLineNumber: linechange.originalEndLineNumber,
|
||||
originalStartLineNumber: linechange.modifiedStartLineNumber,
|
||||
originalEndLineNumber: linechange.modifiedEndLineNumber,
|
||||
charChanges: (linechange.charChanges) ?
|
||||
linechange.charChanges.map(charchange => {
|
||||
return {
|
||||
originalStartColumn: charchange.modifiedStartColumn,
|
||||
originalEndColumn: charchange.modifiedEndColumn,
|
||||
modifiedStartColumn: charchange.originalStartColumn,
|
||||
modifiedEndColumn: charchange.originalEndColumn,
|
||||
modifiedStartLineNumber: charchange.originalStartLineNumber,
|
||||
modifiedEndLineNumber: charchange.originalEndLineNumber,
|
||||
originalStartLineNumber: charchange.modifiedStartLineNumber,
|
||||
originalEndLineNumber: charchange.modifiedEndLineNumber,
|
||||
};
|
||||
}) : undefined
|
||||
};
|
||||
});
|
||||
return reversedLineChanges;
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
/* Activity Bar - explore */
|
||||
.monaco-workbench > .activitybar > .content .monaco-action-bar .action-label.explore {
|
||||
-webkit-mask: url('icons/file_inverse.svg') no-repeat 50% 50%;
|
||||
-webkit-mask: url('icons/file_inverse.svg') no-repeat 50% 50%;
|
||||
-webkit-mask-size: 25px 25px;
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
/* Activity Bar - search */
|
||||
.monaco-workbench > .activitybar > .content .monaco-action-bar .action-label.search {
|
||||
-webkit-mask: url('icons/search_inverse.svg') no-repeat 50% 50%;
|
||||
-webkit-mask: url('icons/search_inverse.svg') no-repeat 50% 50%;
|
||||
-webkit-mask-size: 25px 25px;
|
||||
}
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
.vs .icon.error,
|
||||
.vs-dark .icon.error,
|
||||
.hc-black .icon.error {
|
||||
background: url("globalerror_red.svg") center center no-repeat;
|
||||
background: url("globalerror_red.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.file {
|
||||
|
||||
@@ -24,634 +24,634 @@
|
||||
.vs .icon.aggregatefunction,
|
||||
.vs-dark .icon.aggregatefunction,
|
||||
.hc-black .icon.aggregatefunction {
|
||||
background: url("AggregateFunction.svg") center center no-repeat;
|
||||
background: url("AggregateFunction.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.aggregatefunctionparameter_input,
|
||||
.vs-dark .icon.aggregatefunctionparameter_input,
|
||||
.hc-black .icon.aggregatefunctionparameter_input {
|
||||
background: url("AggregateFunctionParameter_Input.svg") center center no-repeat;
|
||||
background: url("AggregateFunctionParameter_Input.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.aggregatefunctionparameter_output,
|
||||
.vs-dark .icon.aggregatefunctionparameter_output,
|
||||
.hc-black .icon.aggregatefunctionparameter_output {
|
||||
background: url("AggregateFunctionParameter_Output.svg") center center no-repeat;
|
||||
background: url("AggregateFunctionParameter_Output.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.aggregatefunctionparameter_return,
|
||||
.vs-dark .icon.aggregatefunctionparameter_return,
|
||||
.hc-black .icon.aggregatefunctionparameter_return {
|
||||
background: url("AggregateFunctionParameter_Return.svg") center center no-repeat;
|
||||
background: url("AggregateFunctionParameter_Return.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.applicationrole,
|
||||
.vs-dark .icon.applicationrole,
|
||||
.hc-black .icon.applicationrole {
|
||||
background: url("ApplicationRole.svg") center center no-repeat;
|
||||
background: url("ApplicationRole.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.assembly,
|
||||
.vs-dark .icon.assembly,
|
||||
.hc-black .icon.assembly {
|
||||
background: url("Assembly.svg") center center no-repeat;
|
||||
background: url("Assembly.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.asymmetrickey,
|
||||
.vs-dark .icon.asymmetrickey,
|
||||
.hc-black .icon.asymmetrickey {
|
||||
background: url("AsymmetricKey.svg") center center no-repeat;
|
||||
background: url("AsymmetricKey.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.brokerpriority,
|
||||
.vs-dark .icon.brokerpriority,
|
||||
.hc-black .icon.brokerpriority {
|
||||
background: url("BrokerPriority.svg") center center no-repeat;
|
||||
background: url("BrokerPriority.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.certificate,
|
||||
.vs-dark .icon.certificate,
|
||||
.hc-black .icon.certificate {
|
||||
background: url("Certificate.svg") center center no-repeat;
|
||||
background: url("Certificate.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.column,
|
||||
.vs-dark .icon.column,
|
||||
.hc-black .icon.column {
|
||||
background: url("Column.svg") center center no-repeat;
|
||||
background: url("Column.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.columnencryptionkey,
|
||||
.vs-dark .icon.columnencryptionkey,
|
||||
.hc-black .icon.columnencryptionkey {
|
||||
background: url("ColumnEncryptionKey.svg") center center no-repeat;
|
||||
background: url("ColumnEncryptionKey.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.columnmasterkey,
|
||||
.vs-dark .icon.columnmasterkey,
|
||||
.hc-black .icon.columnmasterkey {
|
||||
background: url("ColumnMasterKey.svg") center center no-repeat;
|
||||
background: url("ColumnMasterKey.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.constraint,
|
||||
.vs-dark .icon.constraint,
|
||||
.hc-black .icon.constraint {
|
||||
background: url("Constraint.svg") center center no-repeat;
|
||||
background: url("Constraint.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.contract,
|
||||
.vs-dark .icon.contract,
|
||||
.hc-black .icon.contract {
|
||||
background: url("Contract.svg") center center no-repeat;
|
||||
background: url("Contract.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.database,
|
||||
.vs-dark .icon.database,
|
||||
.hc-black .icon.database {
|
||||
background: url("Database.svg") center center no-repeat;
|
||||
background: url("Database.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.database_unavailable,
|
||||
.vs-dark .icon.database_unavailable,
|
||||
.hc-black .icon.database_unavailable {
|
||||
background: url("Database_Unavailable.svg") center center no-repeat;
|
||||
background: url("Database_Unavailable.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.databaseandqueueeventnotification,
|
||||
.vs-dark .icon.databaseandqueueeventnotification,
|
||||
.hc-black .icon.databaseandqueueeventnotification {
|
||||
background: url("DatabaseAndQueueEventNotification.svg") center center no-repeat;
|
||||
background: url("DatabaseAndQueueEventNotification.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.databaseauditspecification,
|
||||
.vs-dark .icon.databaseauditspecification,
|
||||
.hc-black .icon.databaseauditspecification {
|
||||
background: url("DatabaseAuditSpecification.svg") center center no-repeat;
|
||||
background: url("DatabaseAuditSpecification.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.databaseencryptionkey,
|
||||
.vs-dark .icon.databaseencryptionkey,
|
||||
.hc-black .icon.databaseencryptionkey {
|
||||
background: url("DatabaseEncryptionKey.svg") center center no-repeat;
|
||||
background: url("DatabaseEncryptionKey.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.databaserole,
|
||||
.vs-dark .icon.databaserole,
|
||||
.hc-black .icon.databaserole {
|
||||
background: url("DatabaseRole.svg") center center no-repeat;
|
||||
background: url("DatabaseRole.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.databasescopedcredential,
|
||||
.vs-dark .icon.databasescopedcredential,
|
||||
.hc-black .icon.databasescopedcredential {
|
||||
background: url("DatabaseScopedCredential.svg") center center no-repeat;
|
||||
background: url("DatabaseScopedCredential.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.databasetrigger,
|
||||
.vs-dark .icon.databasetrigger,
|
||||
.hc-black .icon.databasetrigger {
|
||||
background: url("DatabaseTrigger.svg") center center no-repeat;
|
||||
background: url("DatabaseTrigger.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.defaulticon,
|
||||
.vs-dark .icon.defaulticon,
|
||||
.hc-black .icon.defaulticon {
|
||||
background: url("DefaultIcon.svg") center center no-repeat;
|
||||
background: url("DefaultIcon.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.externaldatasource,
|
||||
.vs-dark .icon.externaldatasource,
|
||||
.hc-black .icon.externaldatasource {
|
||||
background: url("ExternalDataSource.svg") center center no-repeat;
|
||||
background: url("ExternalDataSource.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.externalfileformat,
|
||||
.vs-dark .icon.externalfileformat,
|
||||
.hc-black .icon.externalfileformat {
|
||||
background: url("ExternalFileFormat.svg") center center no-repeat;
|
||||
background: url("ExternalFileFormat.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.filegroupfile,
|
||||
.vs-dark .icon.filegroupfile,
|
||||
.hc-black .icon.filegroupfile {
|
||||
background: url("FileGroupFile.svg") center center no-repeat;
|
||||
background: url("FileGroupFile.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.folder,
|
||||
.vs-dark .icon.folder,
|
||||
.hc-black .icon.folder {
|
||||
background: url("Folder.svg") center center no-repeat;
|
||||
background: url("Folder.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.fulltextcatalog,
|
||||
.vs-dark .icon.fulltextcatalog,
|
||||
.hc-black .icon.fulltextcatalog {
|
||||
background: url("FullTextCatalog.svg") center center no-repeat;
|
||||
background: url("FullTextCatalog.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.fulltextstoplist,
|
||||
.vs-dark .icon.fulltextstoplist,
|
||||
.hc-black .icon.fulltextstoplist {
|
||||
background: url("FullTextStopList.svg") center center no-repeat;
|
||||
background: url("FullTextStopList.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.hdfsfolder,
|
||||
.vs-dark .icon.hdfsfolder,
|
||||
.hc-black .icon.hdfsfolder {
|
||||
background: url("HDFSFolder.svg") center center no-repeat;
|
||||
background: url("HDFSFolder.svg") center center no-repeat;
|
||||
}
|
||||
.vs .icon.index,
|
||||
.vs-dark .icon.index,
|
||||
.hc-black .icon.index {
|
||||
background: url("Index.svg") center center no-repeat;
|
||||
background: url("Index.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.key_foreignkey,
|
||||
.vs-dark .icon.key_foreignkey,
|
||||
.hc-black .icon.key_foreignkey {
|
||||
background: url("Key_ForeignKey.svg") center center no-repeat;
|
||||
background: url("Key_ForeignKey.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.key_primarykey,
|
||||
.vs-dark .icon.key_primarykey,
|
||||
.hc-black .icon.key_primarykey {
|
||||
background: url("Key_PrimaryKey.svg") center center no-repeat;
|
||||
background: url("Key_PrimaryKey.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.index_primarykey,
|
||||
.vs-dark .icon.index_primarykey,
|
||||
.hc-black .icon.index_primarykey {
|
||||
background: url("Key_PrimaryKey.svg") center center no-repeat;
|
||||
background: url("Key_PrimaryKey.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.key_uniquekey,
|
||||
.vs-dark .icon.key_uniquekey,
|
||||
.hc-black .icon.key_uniquekey {
|
||||
background: url("Key_UniqueKey.svg") center center no-repeat;
|
||||
background: url("Key_UniqueKey.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.index_uniquekey,
|
||||
.vs-dark .icon.index_uniquekey,
|
||||
.hc-black .icon.index_uniquekey {
|
||||
background: url("Key_UniqueKey.svg") center center no-repeat;
|
||||
background: url("Key_UniqueKey.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.masterkey,
|
||||
.vs-dark .icon.masterkey,
|
||||
.hc-black .icon.masterkey {
|
||||
background: url("MasterKey.svg") center center no-repeat;
|
||||
background: url("MasterKey.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.messagetype,
|
||||
.vs-dark .icon.messagetype,
|
||||
.hc-black .icon.messagetype {
|
||||
background: url("MessageType.svg") center center no-repeat;
|
||||
background: url("MessageType.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.objecttypes.css,
|
||||
.vs-dark .icon.objecttypes.css,
|
||||
.hc-black .icon.objecttypes.css {
|
||||
background: url("objecttypes.css") center center no-repeat;
|
||||
background: url("objecttypes.css") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.partitionfunction,
|
||||
.vs-dark .icon.partitionfunction,
|
||||
.hc-black .icon.partitionfunction {
|
||||
background: url("PartitionFunction.svg") center center no-repeat;
|
||||
background: url("PartitionFunction.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.partitionscheme,
|
||||
.vs-dark .icon.partitionscheme,
|
||||
.hc-black .icon.partitionscheme {
|
||||
background: url("PartitionScheme.svg") center center no-repeat;
|
||||
background: url("PartitionScheme.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.queue,
|
||||
.vs-dark .icon.queue,
|
||||
.hc-black .icon.queue {
|
||||
background: url("Queue.svg") center center no-repeat;
|
||||
background: url("Queue.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.remoteservicebinding,
|
||||
.vs-dark .icon.remoteservicebinding,
|
||||
.hc-black .icon.remoteservicebinding {
|
||||
background: url("RemoteServiceBinding.svg") center center no-repeat;
|
||||
background: url("RemoteServiceBinding.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.route,
|
||||
.vs-dark .icon.route,
|
||||
.hc-black .icon.route {
|
||||
background: url("Route.svg") center center no-repeat;
|
||||
background: url("Route.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.scalarvaluedfunction,
|
||||
.vs-dark .icon.scalarvaluedfunction,
|
||||
.hc-black .icon.scalarvaluedfunction {
|
||||
background: url("ScalarValuedFunction.svg") center center no-repeat;
|
||||
background: url("ScalarValuedFunction.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.scalarvaluedfunctionparameter_input,
|
||||
.vs-dark .icon.scalarvaluedfunctionparameter_input,
|
||||
.hc-black .icon.scalarvaluedfunctionparameter_input {
|
||||
background: url("ScalarValuedFunctionParameter_Input.svg") center center no-repeat;
|
||||
background: url("ScalarValuedFunctionParameter_Input.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.scalarvaluedfunctionparameter_output,
|
||||
.vs-dark .icon.scalarvaluedfunctionparameter_output,
|
||||
.hc-black .icon.scalarvaluedfunctionparameter_output {
|
||||
background: url("ScalarValuedFunctionParameter_Output.svg") center center no-repeat;
|
||||
background: url("ScalarValuedFunctionParameter_Output.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.scalarvaluedfunctionparameter_return,
|
||||
.vs-dark .icon.scalarvaluedfunctionparameter_return,
|
||||
.hc-black .icon.scalarvaluedfunctionparameter_return {
|
||||
background: url("ScalarValuedFunctionParameter_Return.svg") center center no-repeat;
|
||||
background: url("ScalarValuedFunctionParameter_Return.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.schema,
|
||||
.vs-dark .icon.schema,
|
||||
.hc-black .icon.schema {
|
||||
background: url("Schema.svg") center center no-repeat;
|
||||
background: url("Schema.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.searchpropertylist,
|
||||
.vs-dark .icon.searchpropertylist,
|
||||
.hc-black .icon.searchpropertylist {
|
||||
background: url("SearchPropertyList.svg") center center no-repeat;
|
||||
background: url("SearchPropertyList.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.securitypolicy,
|
||||
.vs-dark .icon.securitypolicy,
|
||||
.hc-black .icon.securitypolicy {
|
||||
background: url("SecurityPolicy.svg") center center no-repeat;
|
||||
background: url("SecurityPolicy.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.sequence,
|
||||
.vs-dark .icon.sequence,
|
||||
.hc-black .icon.sequence {
|
||||
background: url("Sequence.svg") center center no-repeat;
|
||||
background: url("Sequence.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.server,
|
||||
.vs-dark .icon.server,
|
||||
.hc-black .icon.server {
|
||||
background: url("Server.svg") center center no-repeat;
|
||||
background: url("Server.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevelcredential,
|
||||
.vs-dark .icon.serverlevelcredential,
|
||||
.hc-black .icon.serverlevelcredential {
|
||||
background: url("ServerLevelCredential.svg") center center no-repeat;
|
||||
background: url("ServerLevelCredential.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevelcryptographicprovider,
|
||||
.vs-dark .icon.serverlevelcryptographicprovider,
|
||||
.hc-black .icon.serverlevelcryptographicprovider {
|
||||
background: url("ServerLevelCryptographicProvider.svg") center center no-repeat;
|
||||
background: url("ServerLevelCryptographicProvider.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevelendpoint,
|
||||
.vs-dark .icon.serverlevelendpoint,
|
||||
.hc-black .icon.serverlevelendpoint {
|
||||
background: url("ServerLevelEndpoint.svg") center center no-repeat;
|
||||
background: url("ServerLevelEndpoint.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevellinkedserver,
|
||||
.vs-dark .icon.serverlevellinkedserver,
|
||||
.hc-black .icon.serverlevellinkedserver {
|
||||
background: url("ServerLevelLinkedServer.svg") center center no-repeat;
|
||||
background: url("ServerLevelLinkedServer.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevellinkedserverlogin,
|
||||
.vs-dark .icon.serverlevellinkedserverlogin,
|
||||
.hc-black .icon.serverlevellinkedserverlogin {
|
||||
background: url("ServerLevelLinkedServerLogin.svg") center center no-repeat;
|
||||
background: url("ServerLevelLinkedServerLogin.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevellinkedserverlogin_disabled,
|
||||
.vs-dark .icon.serverlevellinkedserverlogin_disabled,
|
||||
.hc-black .icon.serverlevellinkedserverlogin_disabled {
|
||||
background: url("ServerLevelLinkedServerLogin_Disabled.svg") center center no-repeat;
|
||||
background: url("ServerLevelLinkedServerLogin_Disabled.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevellogin,
|
||||
.vs-dark .icon.serverlevellogin,
|
||||
.hc-black .icon.serverlevellogin {
|
||||
background: url("ServerLevelLogin.svg") center center no-repeat;
|
||||
background: url("ServerLevelLogin.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevellogin_disabled,
|
||||
.vs-dark .icon.serverlevellogin_disabled,
|
||||
.hc-black .icon.serverlevellogin_disabled {
|
||||
background: url("ServerLevelLogin_Disabled.svg") center center no-repeat;
|
||||
background: url("ServerLevelLogin_Disabled.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevelserveraudit,
|
||||
.vs-dark .icon.serverlevelserveraudit,
|
||||
.hc-black .icon.serverlevelserveraudit {
|
||||
background: url("ServerLevelServerAudit.svg") center center no-repeat;
|
||||
background: url("ServerLevelServerAudit.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevelserverauditspecification,
|
||||
.vs-dark .icon.serverlevelserverauditspecification,
|
||||
.hc-black .icon.serverlevelserverauditspecification {
|
||||
background: url("ServerLevelServerAuditSpecification.svg") center center no-repeat;
|
||||
background: url("ServerLevelServerAuditSpecification.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevelserverrole,
|
||||
.vs-dark .icon.serverlevelserverrole,
|
||||
.hc-black .icon.serverlevelserverrole {
|
||||
background: url("ServerLevelServerRole.svg") center center no-repeat;
|
||||
background: url("ServerLevelServerRole.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevelservertrigger,
|
||||
.vs-dark .icon.serverlevelservertrigger,
|
||||
.hc-black .icon.serverlevelservertrigger {
|
||||
background: url("ServerLevelServerTrigger.svg") center center no-repeat;
|
||||
background: url("ServerLevelServerTrigger.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.service,
|
||||
.vs-dark .icon.service,
|
||||
.hc-black .icon.service {
|
||||
background: url("Service.svg") center center no-repeat;
|
||||
background: url("Service.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.sqllogfile,
|
||||
.vs-dark .icon.sqllogfile,
|
||||
.hc-black .icon.sqllogfile {
|
||||
background: url("SqlLogFile.svg") center center no-repeat;
|
||||
background: url("SqlLogFile.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.statistic,
|
||||
.vs-dark .icon.statistic,
|
||||
.hc-black .icon.statistic {
|
||||
background: url("Statistic.svg") center center no-repeat;
|
||||
background: url("Statistic.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.storedprocedure,
|
||||
.vs-dark .icon.storedprocedure,
|
||||
.hc-black .icon.storedprocedure {
|
||||
background: url("StoredProcedure.svg") center center no-repeat;
|
||||
background: url("StoredProcedure.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.storedprocedureparameter_input,
|
||||
.vs-dark .icon.storedprocedureparameter_input,
|
||||
.hc-black .icon.storedprocedureparameter_input {
|
||||
background: url("StoredProcedureParameter_Input.svg") center center no-repeat;
|
||||
background: url("StoredProcedureParameter_Input.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.storedprocedureparameter_output,
|
||||
.vs-dark .icon.storedprocedureparameter_output,
|
||||
.hc-black .icon.storedprocedureparameter_output {
|
||||
background: url("StoredProcedureParameter_Output.svg") center center no-repeat;
|
||||
background: url("StoredProcedureParameter_Output.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.storedprocedureparameter_return,
|
||||
.vs-dark .icon.storedprocedureparameter_return,
|
||||
.hc-black .icon.storedprocedureparameter_return {
|
||||
background: url("StoredProcedureParameter_Return.svg") center center no-repeat;
|
||||
background: url("StoredProcedureParameter_Return.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.symmetrickey,
|
||||
.vs-dark .icon.symmetrickey,
|
||||
.hc-black .icon.symmetrickey {
|
||||
background: url("SymmetricKey.svg") center center no-repeat;
|
||||
background: url("SymmetricKey.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.synonym,
|
||||
.vs-dark .icon.synonym,
|
||||
.hc-black .icon.synonym {
|
||||
background: url("Synonym.svg") center center no-repeat;
|
||||
background: url("Synonym.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemapproximatenumeric,
|
||||
.vs-dark .icon.systemapproximatenumeric,
|
||||
.hc-black .icon.systemapproximatenumeric {
|
||||
background: url("SystemApproximateNumeric.svg") center center no-repeat;
|
||||
background: url("SystemApproximateNumeric.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systembinarystring,
|
||||
.vs-dark .icon.systembinarystring,
|
||||
.hc-black .icon.systembinarystring {
|
||||
background: url("SystemBinaryString.svg") center center no-repeat;
|
||||
background: url("SystemBinaryString.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemcharacterstring,
|
||||
.vs-dark .icon.systemcharacterstring,
|
||||
.hc-black .icon.systemcharacterstring {
|
||||
background: url("SystemCharacterString.svg") center center no-repeat;
|
||||
background: url("SystemCharacterString.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemclrdatatype,
|
||||
.vs-dark .icon.systemclrdatatype,
|
||||
.hc-black .icon.systemclrdatatype {
|
||||
background: url("SystemClrDataType.svg") center center no-repeat;
|
||||
background: url("SystemClrDataType.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemcontract,
|
||||
.vs-dark .icon.systemcontract,
|
||||
.hc-black .icon.systemcontract {
|
||||
background: url("SystemContract.svg") center center no-repeat;
|
||||
background: url("SystemContract.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemdateandtime,
|
||||
.vs-dark .icon.systemdateandtime,
|
||||
.hc-black .icon.systemdateandtime {
|
||||
background: url("SystemDateAndTime.svg") center center no-repeat;
|
||||
background: url("SystemDateAndTime.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemexactnumeric,
|
||||
.vs-dark .icon.systemexactnumeric,
|
||||
.hc-black .icon.systemexactnumeric {
|
||||
background: url("SystemExactNumeric.svg") center center no-repeat;
|
||||
background: url("SystemExactNumeric.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemmessagetype,
|
||||
.vs-dark .icon.systemmessagetype,
|
||||
.hc-black .icon.systemmessagetype {
|
||||
background: url("SystemMessageType.svg") center center no-repeat;
|
||||
background: url("SystemMessageType.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemotherdatatype,
|
||||
.vs-dark .icon.systemotherdatatype,
|
||||
.hc-black .icon.systemotherdatatype {
|
||||
background: url("SystemOtherDataType.svg") center center no-repeat;
|
||||
background: url("SystemOtherDataType.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemqueue,
|
||||
.vs-dark .icon.systemqueue,
|
||||
.hc-black .icon.systemqueue {
|
||||
background: url("SystemQueue.svg") center center no-repeat;
|
||||
background: url("SystemQueue.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemservice,
|
||||
.vs-dark .icon.systemservice,
|
||||
.hc-black .icon.systemservice {
|
||||
background: url("SystemService.svg") center center no-repeat;
|
||||
background: url("SystemService.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemspatialdatatype,
|
||||
.vs-dark .icon.systemspatialdatatype,
|
||||
.hc-black .icon.systemspatialdatatype {
|
||||
background: url("SystemSpatialDataType.svg") center center no-repeat;
|
||||
background: url("SystemSpatialDataType.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemunicodecharacterstring,
|
||||
.vs-dark .icon.systemunicodecharacterstring,
|
||||
.hc-black .icon.systemunicodecharacterstring {
|
||||
background: url("SystemUnicodeCharacterString.svg") center center no-repeat;
|
||||
background: url("SystemUnicodeCharacterString.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.tablevaluedfunction,
|
||||
.vs-dark .icon.tablevaluedfunction,
|
||||
.hc-black .icon.tablevaluedfunction {
|
||||
background: url("TableValuedFunction.svg") center center no-repeat;
|
||||
background: url("TableValuedFunction.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.tablevaluedfunctionparameter_input,
|
||||
.vs-dark .icon.tablevaluedfunctionparameter_input,
|
||||
.hc-black .icon.tablevaluedfunctionparameter_input {
|
||||
background: url("TableValuedFunctionParameter_Input.svg") center center no-repeat;
|
||||
background: url("TableValuedFunctionParameter_Input.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.tablevaluedfunctionparameter_output,
|
||||
.vs-dark .icon.tablevaluedfunctionparameter_output,
|
||||
.hc-black .icon.tablevaluedfunctionparameter_output {
|
||||
background: url("TableValuedFunctionParameter_Output.svg") center center no-repeat;
|
||||
background: url("TableValuedFunctionParameter_Output.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.tablevaluedfunctionparameter_return,
|
||||
.vs-dark .icon.tablevaluedfunctionparameter_return,
|
||||
.hc-black .icon.tablevaluedfunctionparameter_return {
|
||||
background: url("TableValuedFunctionParameter_Return.svg") center center no-repeat;
|
||||
background: url("TableValuedFunctionParameter_Return.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.table_temporal,
|
||||
.vs-dark .icon.table_temporal,
|
||||
.hc-black .icon.table_temporal {
|
||||
background: url("Table_Temporal.svg") center center no-repeat;
|
||||
background: url("Table_Temporal.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.trigger,
|
||||
.vs-dark .icon.trigger,
|
||||
.hc-black .icon.trigger {
|
||||
background: url("Trigger.svg") center center no-repeat;
|
||||
background: url("Trigger.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.trigger_disabled,
|
||||
.vs-dark .icon.trigger_disabled,
|
||||
.hc-black .icon.trigger_disabled {
|
||||
background: url("Trigger_Disabled.svg") center center no-repeat;
|
||||
background: url("Trigger_Disabled.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.user,
|
||||
.vs-dark .icon.user,
|
||||
.hc-black .icon.user {
|
||||
background: url("User.svg") center center no-repeat;
|
||||
background: url("User.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.user_disabled,
|
||||
.vs-dark .icon.user_disabled,
|
||||
.hc-black .icon.user_disabled {
|
||||
background: url("User_Disabled.svg") center center no-repeat;
|
||||
background: url("User_Disabled.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.userdefineddatatype,
|
||||
.vs-dark .icon.userdefineddatatype,
|
||||
.hc-black .icon.userdefineddatatype {
|
||||
background: url("UserDefinedDataType.svg") center center no-repeat;
|
||||
background: url("UserDefinedDataType.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.userdefinedtabletype,
|
||||
.vs-dark .icon.userdefinedtabletype,
|
||||
.hc-black .icon.userdefinedtabletype {
|
||||
background: url("UserDefinedTableType.svg") center center no-repeat;
|
||||
background: url("UserDefinedTableType.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.userdefinedtabletypecolumn,
|
||||
.vs-dark .icon.userdefinedtabletypecolumn,
|
||||
.hc-black .icon.userdefinedtabletypecolumn {
|
||||
background: url("UserDefinedTableTypeColumn.svg") center center no-repeat;
|
||||
background: url("UserDefinedTableTypeColumn.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.userdefinedtabletypeconstraint,
|
||||
.vs-dark .icon.userdefinedtabletypeconstraint,
|
||||
.hc-black .icon.userdefinedtabletypeconstraint {
|
||||
background: url("UserDefinedTableTypeConstraint.svg") center center no-repeat;
|
||||
background: url("UserDefinedTableTypeConstraint.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.userdefinedtype,
|
||||
.vs-dark .icon.userdefinedtype,
|
||||
.hc-black .icon.userdefinedtype {
|
||||
background: url("UserDefinedType.svg") center center no-repeat;
|
||||
background: url("UserDefinedType.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.view,
|
||||
.vs-dark .icon.view,
|
||||
.hc-black .icon.view {
|
||||
background: url("View.svg") center center no-repeat;
|
||||
background: url("View.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.xmlschemacollection,
|
||||
.vs-dark .icon.xmlschemacollection,
|
||||
.hc-black .icon.xmlschemacollection {
|
||||
background: url("XmlSchemaCollection.svg") center center no-repeat;
|
||||
background: url("XmlSchemaCollection.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.filegroup,
|
||||
.vs-dark .icon.filegroup,
|
||||
.hc-black .icon.filegroup {
|
||||
background: url("DefaultIcon.svg") center center no-repeat;
|
||||
background: url("DefaultIcon.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.securitypolicie,
|
||||
.vs-dark .icon.securitypolicie,
|
||||
.hc-black .icon.securitypolicie {
|
||||
background: url("DefaultIcon.svg") center center no-repeat;
|
||||
background: url("DefaultIcon.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.historytable,
|
||||
.vs-dark .icon.historytable,
|
||||
.hc-black .icon.historytable {
|
||||
background: url("DefaultIcon.svg") center center no-repeat;
|
||||
background: url("DefaultIcon.svg") center center no-repeat;
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import 'vs/css!sql/parts/disasterRecovery/backup/media/backupDialog';
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import {
|
||||
ApplicationRef, ComponentFactoryResolver, NgModule,
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
.backup-path-list {
|
||||
overflow-x: auto;
|
||||
}
|
||||
@@ -34,8 +35,8 @@
|
||||
}
|
||||
|
||||
.backup-dialog input[type="radio"] {
|
||||
margin-top: -2px;
|
||||
vertical-align: middle;
|
||||
margin-top: -2px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.backup-dialog .indent {
|
||||
|
||||
@@ -715,8 +715,8 @@ export class RestoreDialog extends Modal {
|
||||
|
||||
public dispose(): void {
|
||||
super.dispose();
|
||||
for (var key in this._optionsMap) {
|
||||
var widget: Widget = this._optionsMap[key];
|
||||
for (let key in this._optionsMap) {
|
||||
let widget: Widget = this._optionsMap[key];
|
||||
widget.dispose();
|
||||
delete this._optionsMap[key];
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
import * as azdata from 'azdata';
|
||||
import * as DialogHelper from 'sql/workbench/browser/modal/dialogHelper';
|
||||
import * as types from 'vs/base/common/types';
|
||||
@@ -189,7 +188,7 @@ export class RestoreViewModel {
|
||||
*/
|
||||
public updateOptionWithPlanDetail(planDetails: { [key: string]: azdata.RestorePlanDetailInfo }): void {
|
||||
if (planDetails) {
|
||||
for (var key in planDetails) {
|
||||
for (let key in planDetails) {
|
||||
let optionElement = this._optionsMap[key];
|
||||
if (optionElement) {
|
||||
let planDetailInfo = planDetails[key];
|
||||
@@ -219,7 +218,7 @@ export class RestoreViewModel {
|
||||
this.defaultBackupFolder = configInfo['defaultBackupFolder'];
|
||||
}
|
||||
|
||||
for (var key in configInfo) {
|
||||
for (let key in configInfo) {
|
||||
let optionElement = this._optionsMap[key];
|
||||
if (optionElement) {
|
||||
let planDetailInfo = configInfo[key];
|
||||
@@ -258,7 +257,7 @@ export class RestoreViewModel {
|
||||
this.updateLastBackupTaken('');
|
||||
this.databaseList = [];
|
||||
this.selectedBackupSets = null;
|
||||
for (var key in this._optionsMap) {
|
||||
for (let key in this._optionsMap) {
|
||||
this._optionsMap[key].defaultValue = this.getDisplayValue(this._optionsMap[key].optionMetadata, this._optionsMap[key].optionMetadata.defaultValue);
|
||||
this._optionsMap[key].currentValue = this._optionsMap[key].defaultValue;
|
||||
this._onSetRestoreOption.fire({ optionName: key, value: this._optionsMap[key].defaultValue, isReadOnly: false });
|
||||
@@ -296,4 +295,4 @@ export class RestoreViewModel {
|
||||
this.targetDatabaseName = value;
|
||||
this._onSetTargetDatabaseName.fire(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as DOM from 'vs/base/browser/dom';
|
||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
|
||||
@@ -1,39 +1,44 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
.detailView-toggle
|
||||
{
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
}
|
||||
.detailView-toggle.expand
|
||||
{
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
background: url(../images/arrow-right.gif) no-repeat center center;
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
background: url(../images/arrow-right.gif) no-repeat center center;
|
||||
}
|
||||
|
||||
.detailView-toggle.collapse
|
||||
{
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
background: url(../images/sort-desc.gif) no-repeat center center;
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
background: url(../images/sort-desc.gif) no-repeat center center;
|
||||
}
|
||||
.dynamic-cell-detail
|
||||
{
|
||||
z-index: 10000;
|
||||
position: absolute;
|
||||
background-color: #dae5e8;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
overflow: auto;
|
||||
z-index: 10000;
|
||||
position: absolute;
|
||||
background-color: #dae5e8;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.dynamic-cell-detail > :first-child
|
||||
{
|
||||
vertical-align: middle;
|
||||
line-height: 13px;
|
||||
vertical-align: middle;
|
||||
line-height: 13px;
|
||||
}
|
||||
|
||||
.dynamic-cell-detail > .detail-container {
|
||||
overflow: auto;
|
||||
display: block !important;
|
||||
overflow: auto;
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
agentview-component {
|
||||
agentview-component {
|
||||
height: 100%;
|
||||
width : 100%;
|
||||
display: block;
|
||||
@@ -22,23 +22,23 @@ jobhistory-component {
|
||||
}
|
||||
|
||||
.job-heading-container {
|
||||
height: 50px;
|
||||
border-bottom: 3px solid #f4f4f4;
|
||||
display: -webkit-box;
|
||||
height: 50px;
|
||||
border-bottom: 3px solid #f4f4f4;
|
||||
display: -webkit-box;
|
||||
}
|
||||
|
||||
.vs-dark .job-heading-container {
|
||||
border-bottom: 3px solid #444444;
|
||||
border-bottom: 3px solid #444444;
|
||||
}
|
||||
|
||||
.hc-black .job-heading-container {
|
||||
border-bottom: 3px solid #2b56f2;
|
||||
border-bottom: 3px solid #2b56f2;
|
||||
}
|
||||
|
||||
.jobview-grid {
|
||||
height: calc(100% - 75px);
|
||||
height: calc(100% - 75px);
|
||||
width : 100%;
|
||||
display: block;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.vs-dark #agentViewDiv .slick-header-column {
|
||||
@@ -47,134 +47,134 @@ jobhistory-component {
|
||||
|
||||
#agentViewDiv .slick-header-column {
|
||||
background-color: transparent !important;
|
||||
border: 0px !important;
|
||||
font-weight: bold;
|
||||
border: 0px !important;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.hc-black #jobsDiv jobsview-component .jobview-grid .grid-canvas .ui-widget-content.slick-row .slick-cell {
|
||||
border: 1px solid #2b56f2;
|
||||
border: 1px solid #2b56f2;
|
||||
}
|
||||
|
||||
#jobsDiv jobsview-component .jobview-grid .grid-canvas .ui-widget-content.slick-row .slick-cell {
|
||||
border-right: transparent !important;
|
||||
border-left: transparent !important;
|
||||
line-height: 33px !important;
|
||||
border-right: transparent !important;
|
||||
border-left: transparent !important;
|
||||
line-height: 33px !important;
|
||||
}
|
||||
|
||||
#jobsDiv .jobview-joblist {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#jobsDiv .jobview-jobnametable {
|
||||
border: 0px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border: 0px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#jobsDiv .jobview-jobnameindicatorsuccess {
|
||||
width: 5px;
|
||||
background: green;
|
||||
width: 5px;
|
||||
background: green;
|
||||
}
|
||||
|
||||
#jobsDiv .slick-cell.l1.r1 .jobview-jobnameindicatorfailure {
|
||||
width: 5px;
|
||||
background: red;
|
||||
width: 5px;
|
||||
background: red;
|
||||
}
|
||||
|
||||
#jobsDiv .jobview-jobnameindicatorcancel {
|
||||
width: 5px;
|
||||
background: orange;
|
||||
width: 5px;
|
||||
background: orange;
|
||||
}
|
||||
|
||||
#jobsDiv .jobview-grid .jobview-jobnameindicatorunknown {
|
||||
width: 5px;
|
||||
background: grey;
|
||||
width: 5px;
|
||||
background: grey;
|
||||
}
|
||||
|
||||
#jobsDiv .jobview-grid .slick-cell.l1.r1.error-row .jobview-jobnametext {
|
||||
width: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#jobsDiv .jobview-grid .slick-cell.l1.r1 .jobview-jobnametext {
|
||||
text-overflow: ellipsis;
|
||||
width: 250px;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
display: inline-block;
|
||||
text-overflow: ellipsis;
|
||||
width: 250px;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#operatorsDiv .joboperatorsview-grid .slick-cell.l1.r1 .operatorview-operatornametext,
|
||||
#alertsDiv .jobalertsview-grid .slick-cell.l1.r1 .alertview-alertnametext,
|
||||
#proxiesDiv .jobproxiesview-grid .slick-cell.l1.r1 .proxyview-proxynametext {
|
||||
text-overflow: ellipsis;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
display: inline-block;
|
||||
text-overflow: ellipsis;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#jobsDiv .job-with-error {
|
||||
border-bottom: none;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.jobview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row .slick-cell.l1.r1.error-row {
|
||||
width: 100%;
|
||||
opacity: 1;
|
||||
font-weight: 700;
|
||||
color: orangered;
|
||||
width: 100%;
|
||||
opacity: 1;
|
||||
font-weight: 700;
|
||||
color: orangered;
|
||||
}
|
||||
|
||||
.jobview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row .slick-cell._detail_selector.error-row {
|
||||
opacity: 1;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#jobsDiv .jobview-splitter {
|
||||
height: 1px;
|
||||
width: 100%;
|
||||
background-color: gray;
|
||||
height: 1px;
|
||||
width: 100%;
|
||||
background-color: gray;
|
||||
}
|
||||
|
||||
#jobsDiv .jobview-jobitem {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: nowrap;
|
||||
flex-flow: row wrap;
|
||||
white-space: nowrap;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: nowrap;
|
||||
flex-flow: row wrap;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
#jobsDiv .jobview-label {
|
||||
padding-bottom: 10px;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
#jobsDiv .jobview-highlight-none {
|
||||
width: 5px;
|
||||
margin-right: 10px;
|
||||
width: 5px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
#jobsDiv .detail-container {
|
||||
max-height: 100px !important;
|
||||
line-height: 20px;
|
||||
max-height: 100px !important;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
#jobsDiv .detail {
|
||||
padding: 5px
|
||||
padding: 5px
|
||||
}
|
||||
|
||||
#jobsDiv .preload {
|
||||
font-size: 13px;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
#jobsDiv .dynamic-cell-detail > :first-child {
|
||||
vertical-align: middle;
|
||||
line-height: 13px;
|
||||
padding: 10px;
|
||||
margin-left: 20px;
|
||||
vertical-align: middle;
|
||||
line-height: 13px;
|
||||
padding: 10px;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.jobsview-icon {
|
||||
background-image: url('./job.svg');
|
||||
background-image: url('./job.svg');
|
||||
}
|
||||
|
||||
.vs-dark .jobsview-icon,
|
||||
@@ -183,7 +183,7 @@ jobhistory-component {
|
||||
}
|
||||
|
||||
.alertsview-icon {
|
||||
background-image: url('./alert.svg');
|
||||
background-image: url('./alert.svg');
|
||||
}
|
||||
|
||||
.vs-dark .alertsview-icon,
|
||||
@@ -192,7 +192,7 @@ jobhistory-component {
|
||||
}
|
||||
|
||||
.proxiesview-icon {
|
||||
background-image: url('./proxy.svg');
|
||||
background-image: url('./proxy.svg');
|
||||
}
|
||||
|
||||
.vs-dark .proxiesview-icon,
|
||||
@@ -201,7 +201,7 @@ jobhistory-component {
|
||||
}
|
||||
|
||||
.operatorsview-icon {
|
||||
background-image: url('./operator.svg');
|
||||
background-image: url('./operator.svg');
|
||||
}
|
||||
|
||||
.vs-dark .operatorsview-icon,
|
||||
@@ -211,88 +211,88 @@ jobhistory-component {
|
||||
|
||||
agentview-component .jobview-grid .grid-canvas > .ui-widget-content.slick-row.even > .slick-cell,
|
||||
agentview-component .jobview-grid .grid-canvas > .ui-widget-content.slick-row.odd > .slick-cell {
|
||||
cursor: pointer;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.vs-dark .jobview-grid > .monaco-table .slick-header-columns .slick-resizable-handle {
|
||||
border-left: 1px dotted white;
|
||||
border-left: 1px dotted white;
|
||||
}
|
||||
|
||||
.hc-black .jobview-grid > .monaco-table .slick-header-columns .slick-resizable-handle {
|
||||
border-left: 1px dotted #2b56f2;
|
||||
border-left: 1px dotted #2b56f2;
|
||||
}
|
||||
|
||||
.jobview-grid > .monaco-table .slick-header-columns .slick-resizable-handle {
|
||||
border-left: 1px dotted #444444;
|
||||
border-left: 1px dotted #444444;
|
||||
}
|
||||
|
||||
.job-heading-container > .icon.in-progress {
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
padding-top: 16px;
|
||||
padding-left: 15px;
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
padding-top: 16px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
#jobsDiv jobsview-component .jobview-grid .slick-cell.l1.r1.error-row td.jobview-jobnameindicatorfailure {
|
||||
width: 0;
|
||||
background: none;
|
||||
width: 0;
|
||||
background: none;
|
||||
}
|
||||
|
||||
#jobsDiv .jobview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row:hover > .slick-cell,
|
||||
#jobsDiv .jobview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row.hovered > .slick-cell,
|
||||
#jobsDiv .jobview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row> .slick-cell.hovered {
|
||||
background: #dcdcdc !important;
|
||||
background: #dcdcdc !important;
|
||||
}
|
||||
|
||||
.vs-dark #jobsDiv .jobview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row:hover > .slick-cell,
|
||||
.vs-dark #jobsDiv .jobview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row > .slick-cell.hovered,
|
||||
.vs-dark #jobsDiv .jobview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row.hovered > .slick-cell {
|
||||
background: #444444 !important;
|
||||
background: #444444 !important;
|
||||
}
|
||||
|
||||
.hc-black #jobsDiv .jobview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row:hover > .slick-cell,
|
||||
.hc-black #jobsDiv .jobview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row > .slick-cell.hovered,
|
||||
.hc-black #jobsDiv .jobview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row.hovered > .slick-cell {
|
||||
background: none !important;
|
||||
background: none !important;
|
||||
}
|
||||
|
||||
table.jobprevruns div.bar0, table.jobprevruns div.bar1, table.jobprevruns div.bar2,
|
||||
table.jobprevruns div.bar3, table.jobprevruns div.bar4, table.jobprevruns div.bar5 {
|
||||
padding-top: 3px;
|
||||
padding-left: 5px;
|
||||
padding-top: 3px;
|
||||
padding-left: 5px;
|
||||
width: 10px;
|
||||
}
|
||||
|
||||
.jobview-grid .slick-cell.l10.r10 {
|
||||
text-align: center;
|
||||
display: inline-flex;
|
||||
text-align: center;
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
table.jobprevruns {
|
||||
height: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
table.jobprevruns > tbody {
|
||||
vertical-align: bottom;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
#alertsDiv .jobalertsview-grid {
|
||||
height: calc(100% - 75px);
|
||||
height: calc(100% - 75px);
|
||||
width : 100%;
|
||||
display: block;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#operatorsDiv .joboperatorsview-grid {
|
||||
height: calc(100% - 75px);
|
||||
height: calc(100% - 75px);
|
||||
width : 100%;
|
||||
display: block;
|
||||
overflow: scroll;
|
||||
display: block;
|
||||
overflow: scroll;
|
||||
}
|
||||
|
||||
#proxiesDiv .jobproxiesview-grid {
|
||||
height: calc(100% - 75px);
|
||||
height: calc(100% - 75px);
|
||||
width : 100%;
|
||||
display: block;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.vs .action-label.icon.refreshIcon {
|
||||
@@ -309,108 +309,108 @@ table.jobprevruns > tbody {
|
||||
}
|
||||
|
||||
jobsview-component .jobview-grid .slick-cell.error-row {
|
||||
opacity: 0;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
#alertsDiv jobalertsview-component .jobalertsview-grid .grid-canvas .ui-widget-content.slick-row .slick-cell {
|
||||
border-right: transparent !important;
|
||||
border-left: transparent !important;
|
||||
line-height: 33px !important;
|
||||
border-right: transparent !important;
|
||||
border-left: transparent !important;
|
||||
line-height: 33px !important;
|
||||
}
|
||||
|
||||
#alertsDiv .jobalertsview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row:hover > .slick-cell,
|
||||
#alertsDiv .jobalertsview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row.hovered > .slick-cell,
|
||||
#alertsDiv .jobalertsview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row> .slick-cell.hovered {
|
||||
background: #dcdcdc !important;
|
||||
background: #dcdcdc !important;
|
||||
}
|
||||
|
||||
.vs-dark #alertsDiv .jobalertsview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row:hover > .slick-cell,
|
||||
.vs-dark #alertsDiv .jobalertsview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row > .slick-cell.hovered,
|
||||
.vs-dark #alertsDiv .jobalertsview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row.hovered > .slick-cell {
|
||||
background: #444444 !important;
|
||||
background: #444444 !important;
|
||||
}
|
||||
|
||||
.vs-dark .jobalertsview-grid > .monaco-table .slick-header-columns .slick-resizable-handle {
|
||||
border-left: 1px dotted white;
|
||||
border-left: 1px dotted white;
|
||||
}
|
||||
|
||||
.jobalertsview-grid > .monaco-table .slick-header-columns .slick-resizable-handle {
|
||||
border-left: 1px dotted #444444;
|
||||
border-left: 1px dotted #444444;
|
||||
}
|
||||
|
||||
#operatorsDiv joboperatorsview-component .joboperatorsview-grid .grid-canvas .ui-widget-content.slick-row .slick-cell {
|
||||
border-right: transparent !important;
|
||||
border-left: transparent !important;
|
||||
line-height: 33px !important;
|
||||
border-right: transparent !important;
|
||||
border-left: transparent !important;
|
||||
line-height: 33px !important;
|
||||
}
|
||||
|
||||
#operatorsDiv .joboperatorsview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row:hover > .slick-cell,
|
||||
#operatorsDiv .joboperatorsview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row.hovered > .slick-cell,
|
||||
#operatorsDiv .joboperatorsview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row> .slick-cell.hovered {
|
||||
background: #dcdcdc !important;
|
||||
background: #dcdcdc !important;
|
||||
}
|
||||
|
||||
.vs-dark #operatorsDiv .joboperatorsview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row:hover > .slick-cell,
|
||||
.vs-dark #operatorsDiv .joboperatorsview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row > .slick-cell.hovered,
|
||||
.vs-dark #operatorsDiv .joboperatorsview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row.hovered > .slick-cell {
|
||||
background: #444444 !important;
|
||||
background: #444444 !important;
|
||||
}
|
||||
|
||||
.vs-dark .joboperatorsview-grid > .monaco-table .slick-header-columns .slick-resizable-handle {
|
||||
border-left: 1px dotted white;
|
||||
border-left: 1px dotted white;
|
||||
}
|
||||
|
||||
.joboperatorsview-grid > .monaco-table .slick-header-columns .slick-resizable-handle {
|
||||
border-left: 1px dotted #444444;
|
||||
border-left: 1px dotted #444444;
|
||||
}
|
||||
|
||||
#proxiesDiv jobproxiesview-component .jobproxiesview-grid .grid-canvas .ui-widget-content.slick-row .slick-cell {
|
||||
border-right: transparent !important;
|
||||
border-left: transparent !important;
|
||||
line-height: 33px !important;
|
||||
border-right: transparent !important;
|
||||
border-left: transparent !important;
|
||||
line-height: 33px !important;
|
||||
}
|
||||
|
||||
#proxiesDiv .jobproxiesview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row:hover > .slick-cell,
|
||||
#proxiesDiv .jobproxiesview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row.hovered > .slick-cell,
|
||||
#proxiesDiv .jobproxiesview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row> .slick-cell.hovered {
|
||||
background: #dcdcdc !important;
|
||||
background: #dcdcdc !important;
|
||||
}
|
||||
|
||||
.vs-dark #proxiesDiv .jobproxiesview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row:hover > .slick-cell,
|
||||
.vs-dark #proxiesDiv .jobproxiesview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row > .slick-cell.hovered,
|
||||
.vs-dark #proxiesDiv .jobproxiesview-grid > .monaco-table .slick-viewport > .grid-canvas > .ui-widget-content.slick-row.hovered > .slick-cell {
|
||||
background: #444444 !important;
|
||||
background: #444444 !important;
|
||||
}
|
||||
|
||||
.vs-dark .jobproxiesview-grid > .monaco-table .slick-header-columns .slick-resizable-handle {
|
||||
border-left: 1px dotted white;
|
||||
border-left: 1px dotted white;
|
||||
}
|
||||
|
||||
.jobproxiesview-grid > .monaco-table .slick-header-columns .slick-resizable-handle {
|
||||
border-left: 1px dotted #444444;
|
||||
border-left: 1px dotted #444444;
|
||||
}
|
||||
|
||||
.overview-container > .overview-tab > label {
|
||||
margin-bottom: 0px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
#operatorsDiv .operatorview-operatornameindicatorenabled,
|
||||
#alertsDiv .alertview-alertnameindicatorenabled,
|
||||
#proxiesDiv .proxyview-proxynameindicatorenabled {
|
||||
width: 5px;
|
||||
background: green;
|
||||
width: 5px;
|
||||
background: green;
|
||||
}
|
||||
|
||||
#operatorsDiv .operatorview-operatornameindicatordisabled,
|
||||
#alertsDiv .alertview-alertnameindicatordisabled,
|
||||
#proxiesDiv .proxyview-proxynameindicatordisabled {
|
||||
width: 5px;
|
||||
background: red;
|
||||
width: 5px;
|
||||
background: red;
|
||||
}
|
||||
|
||||
#jobsDiv jobsview-component .monaco-toolbar.carbon-taskbar,
|
||||
#operatorsDiv joboperatorsview-component .monaco-toolbar.carbon-taskbar,
|
||||
#alertsDiv jobalertsview-component .monaco-toolbar.carbon-taskbar,
|
||||
#proxiesDiv jobproxiesview-component .monaco-toolbar.carbon-taskbar {
|
||||
margin: 10px 0px 10px 0px;
|
||||
margin: 10px 0px 10px 0px;
|
||||
}
|
||||
@@ -5,28 +5,28 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
-->
|
||||
<div class="jobhistory-heading-container">
|
||||
<h1 class="job-heading">Jobs | {{this._agentJobInfo?.name}} </h1>
|
||||
<div class="icon in-progress" *ngIf="showProgressWheel()"></div>
|
||||
<h1 class="job-heading">Jobs | {{this._agentJobInfo?.name}} </h1>
|
||||
<div class="icon in-progress" *ngIf="showProgressWheel()"></div>
|
||||
</div>
|
||||
|
||||
<!-- Back -->
|
||||
<div class="all-jobs">
|
||||
<!-- Back -->
|
||||
<div class="all-jobs">
|
||||
<div class="back-button-icon" (click)="goToJobs()"></div>All Jobs
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Actions -->
|
||||
<div #actionbarContainer class="agent-actionbar-container"></div>
|
||||
|
||||
<!-- Overview -->
|
||||
<div class="overview-container">
|
||||
<div class="overview-tab" (click)='toggleCollapse()' tabindex="0">
|
||||
<input id="accordion" type="checkbox">
|
||||
<label for="accordion">
|
||||
<div class="resultsViewCollapsible collapsed" (click)='toggleCollapse()'></div>
|
||||
Overview
|
||||
</label>
|
||||
<div class="accordion-content">
|
||||
<table align='left'>
|
||||
<div class="overview-container">
|
||||
<div class="overview-tab" (click)='toggleCollapse()' tabindex="0">
|
||||
<input id="accordion" type="checkbox">
|
||||
<label for="accordion">
|
||||
<div class="resultsViewCollapsible collapsed" (click)='toggleCollapse()'></div>
|
||||
Overview
|
||||
</label>
|
||||
<div class="accordion-content">
|
||||
<table align='left'>
|
||||
<tr>
|
||||
<td id='col1'>
|
||||
Category:
|
||||
@@ -69,9 +69,9 @@
|
||||
{{this._agentJobInfo?.nextRun}}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Job History details -->
|
||||
@@ -161,4 +161,4 @@
|
||||
</div>
|
||||
<h3 *ngIf="showSteps === false">No Steps Available</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -96,7 +96,7 @@ export abstract class JobManagementView extends TabChild implements AfterContent
|
||||
}
|
||||
|
||||
protected _keybindingFor(action: IAction): ResolvedKeybinding {
|
||||
var [kb] = this._keybindingService.lookupKeybindings(action.id);
|
||||
let [kb] = this._keybindingService.lookupKeybindings(action.id);
|
||||
return kb;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
.model-card {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
|
||||
@@ -72,7 +72,7 @@ export abstract class ComponentBase extends Disposable implements IComponent, On
|
||||
|
||||
abstract setLayout(layout: any): void;
|
||||
|
||||
getHtml(): any{
|
||||
getHtml(): any {
|
||||
return this._el.nativeElement;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
.declarative-table {
|
||||
padding: 5px 30px 0px 30px;
|
||||
@@ -5,9 +9,6 @@
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.declarative-table-row {
|
||||
}
|
||||
|
||||
.declarative-table-header {
|
||||
padding: 5px;
|
||||
border: 1px solid gray;
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
.divContainer {
|
||||
display: block;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
modelview-editor-component {
|
||||
modelview-editor-component {
|
||||
height: 100%;
|
||||
width : 100%;
|
||||
display: block;
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
.flexContainer {
|
||||
display: flex;
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
.form-table {
|
||||
display: table;
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
.modelview-group-container {
|
||||
display: table;
|
||||
|
||||
@@ -12,7 +12,6 @@ import { IDisposable } from 'vs/base/common/lifecycle';
|
||||
* An instance of a model-backed component. This will be a UI element
|
||||
*
|
||||
* @export
|
||||
* @interface IComponent
|
||||
*/
|
||||
export interface IComponent extends IDisposable {
|
||||
descriptor: IComponentDescriptor;
|
||||
@@ -44,7 +43,6 @@ export interface IComponentConfig {
|
||||
* world to the frontend UI;
|
||||
*
|
||||
* @export
|
||||
* @interface IComponentDescriptor
|
||||
*/
|
||||
export interface IComponentDescriptor {
|
||||
/**
|
||||
@@ -91,9 +89,8 @@ export interface IModelStore {
|
||||
* Runs on a component immediately if the component exists, or runs on
|
||||
* registration of the component otherwise
|
||||
*
|
||||
* @param {string} componentId unique identifier of the component
|
||||
* @param {(component: IComponent) => void} action some action to perform
|
||||
* @memberof IModelStore
|
||||
* @param componentId unique identifier of the component
|
||||
* @param action some action to perform
|
||||
*/
|
||||
eventuallyRunOnComponent<T>(componentId: string, action: (component: IComponent) => T): Promise<T>;
|
||||
/**
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
.modelview-loadingComponent-container {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
modelview-dom-component {
|
||||
modelview-dom-component {
|
||||
font-family: "Segoe WPC", "Segoe UI", "SFUIText-Light", "HelveticaNeue-Light", sans-serif, "Droid Sans Fallback";
|
||||
font-size: 14px;
|
||||
padding: 0 26px;
|
||||
|
||||
@@ -1,21 +1,12 @@
|
||||
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
|
||||
import { Registry } from 'vs/platform/registry/common/platform';
|
||||
|
||||
import * as azdata from 'azdata';
|
||||
import { IModelStore, IComponentDescriptor, IComponent } from './interfaces';
|
||||
import { Extensions, IComponentRegistry } from 'sql/platform/dashboard/common/modelComponentRegistry';
|
||||
import { Deferred } from 'sql/base/common/promise';
|
||||
import { entries } from 'sql/base/common/objects';
|
||||
|
||||
const componentRegistry = <IComponentRegistry>Registry.as(Extensions.ComponentContribution);
|
||||
|
||||
|
||||
class ComponentDescriptor implements IComponentDescriptor {
|
||||
constructor(public readonly id: string, public readonly type: string) {
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// import 'vs/css!./modelViewContent';
|
||||
|
||||
import { Component, forwardRef, Input, OnInit, Inject, ChangeDetectorRef } from '@angular/core';
|
||||
|
||||
@@ -104,7 +104,7 @@ export class QueryTextEditor extends BaseTextEditor {
|
||||
return nls.localize('queryTextEditorAriaLabel', 'modelview code editor for view model.');
|
||||
}
|
||||
|
||||
public layout(dimension?: DOM.Dimension){
|
||||
public layout(dimension?: DOM.Dimension) {
|
||||
if (dimension) {
|
||||
this._dimension = dimension;
|
||||
}
|
||||
@@ -175,11 +175,11 @@ export class QueryTextEditor extends BaseTextEditor {
|
||||
this.setHeight(editorHeightUsingMinHeight);
|
||||
}
|
||||
|
||||
public setMinimumHeight(height: number) : void {
|
||||
public setMinimumHeight(height: number): void {
|
||||
this._minHeight = height;
|
||||
}
|
||||
|
||||
public setMaximumHeight(height: number) : void {
|
||||
public setMaximumHeight(height: number): void {
|
||||
this._maxHeight = height;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
.modelview-radiobutton-container {
|
||||
align-items: flex-start;
|
||||
}
|
||||
@@ -5,7 +10,3 @@
|
||||
.modelview-radiobutton-item {
|
||||
align-self: flex-start ;
|
||||
}
|
||||
|
||||
.modelview-radiobutton-title {
|
||||
|
||||
}
|
||||
@@ -5,15 +5,14 @@
|
||||
import 'vs/css!./flexContainer';
|
||||
|
||||
import {
|
||||
Component, Input, Inject, ChangeDetectorRef, forwardRef, ComponentFactoryResolver,
|
||||
ViewChild, ViewChildren, ElementRef, Injector, OnDestroy, QueryList,
|
||||
Component, Input, Inject, ChangeDetectorRef, forwardRef, ElementRef, OnDestroy,
|
||||
} from '@angular/core';
|
||||
|
||||
import { IComponent, IComponentDescriptor, IModelStore } from 'sql/parts/modelComponents/interfaces';
|
||||
import { FlexItemLayout, SplitViewLayout } from 'azdata';
|
||||
import { FlexItem } from './flexContainer.component';
|
||||
import { ContainerBase, ComponentBase } from 'sql/parts/modelComponents/componentBase';
|
||||
import { Event, Emitter } from 'vs/base/common/event';
|
||||
import { Event } from 'vs/base/common/event';
|
||||
import { SplitView, Orientation, Sizing, IView } from 'vs/base/browser/ui/splitview/splitview';
|
||||
|
||||
class SplitPane implements IView {
|
||||
@@ -91,7 +90,7 @@ export default class SplitViewContainer extends ContainerBase<FlexItemLayout> im
|
||||
let basicView: SplitPane = new SplitPane();
|
||||
basicView.orientation = orientation;
|
||||
basicView.element = c.getHtml(),
|
||||
basicView.component = c;
|
||||
basicView.component = c;
|
||||
basicView.minimumSize = 50;
|
||||
basicView.maximumSize = Number.MAX_VALUE;
|
||||
return basicView;
|
||||
@@ -113,7 +112,7 @@ export default class SplitViewContainer extends ContainerBase<FlexItemLayout> im
|
||||
|
||||
if (this._componentWrappers) {
|
||||
this._componentWrappers.forEach(item => {
|
||||
var component = item.modelStore.getComponent(item.descriptor.id);
|
||||
let component = item.modelStore.getComponent(item.descriptor.id);
|
||||
item.modelStore.validate(component).then(value => {
|
||||
if (value === true) {
|
||||
let view = this.GetCorrespondingView(component, this._orientation);
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
.tree-component-node-tile {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
|
||||
import { ChangeDetectorRef } from '@angular/core';
|
||||
|
||||
import { Registry } from 'vs/platform/registry/common/platform';
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
modelview-webview-component {
|
||||
modelview-webview-component {
|
||||
height: 100%;
|
||||
width : 100%;
|
||||
display: block;
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
.profiler-filter-dialog {
|
||||
|
||||
.profiler-filter-dialog {
|
||||
height: 300px;
|
||||
padding: 10px;
|
||||
overflow-y: scroll;
|
||||
|
||||
@@ -263,7 +263,7 @@ export class ProfilerFilterDialog extends Modal {
|
||||
case NotStartsWith:
|
||||
return ProfilerFilterClauseOperator.NotStartsWith;
|
||||
default:
|
||||
throw `Not a valid operator: ${operator}`;
|
||||
throw new Error(`Not a valid operator: ${operator}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -294,7 +294,7 @@ export class ProfilerFilterDialog extends Modal {
|
||||
case ProfilerFilterClauseOperator.NotStartsWith:
|
||||
return NotStartsWith;
|
||||
default:
|
||||
throw `Not a valid operator: ${operator}`;
|
||||
throw new Error(`Not a valid operator: ${operator}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,8 +27,8 @@ function matches(item: any, clauses: ProfilerFilterClause[]): boolean {
|
||||
let expectedValueString: string = expectedValue === undefined ? undefined : expectedValue.toLocaleLowerCase();
|
||||
let actualValueDate = new Date(actualValue).valueOf();
|
||||
let expectedValueDate = new Date(expectedValue).valueOf();
|
||||
let actualValueNumber = new Number(actualValue).valueOf();
|
||||
let expectedValueNumber = new Number(expectedValue).valueOf();
|
||||
let actualValueNumber = Number(actualValue).valueOf();
|
||||
let expectedValueNumber = Number(expectedValue).valueOf();
|
||||
|
||||
if (isValidNumber(actualValue) && isValidNumber(expectedValue)) {
|
||||
actualValue = actualValueNumber;
|
||||
@@ -79,7 +79,7 @@ function matches(item: any, clauses: ProfilerFilterClause[]): boolean {
|
||||
match = !actualValueString || !actualValueString.startsWith(expectedValueString);
|
||||
break;
|
||||
default:
|
||||
throw `Not a valid operator: ${clause.operator}`;
|
||||
throw new Error(`Not a valid operator: ${clause.operator}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,7 +93,7 @@ function matches(item: any, clauses: ProfilerFilterClause[]): boolean {
|
||||
}
|
||||
|
||||
function isValidNumber(value: string): boolean {
|
||||
let num = new Number(value);
|
||||
let num = Number(value);
|
||||
return value !== undefined && !isNaN(num.valueOf()) && value.replace(' ', '') !== '';
|
||||
}
|
||||
|
||||
|
||||
@@ -173,7 +173,7 @@ export class QueryInput extends EditorInput implements IEncodingSupport, IConnec
|
||||
let profile = this._connectionManagementService.getConnectionProfile(this.uri);
|
||||
let title = '';
|
||||
if (this._description && this._description !== '') {
|
||||
title = this._description + ' ';
|
||||
title = this._description + ' ';
|
||||
}
|
||||
if (profile) {
|
||||
if (profile.userName) {
|
||||
@@ -184,7 +184,7 @@ export class QueryInput extends EditorInput implements IEncodingSupport, IConnec
|
||||
} else {
|
||||
title += localize('disconnected', 'disconnected');
|
||||
}
|
||||
return this._sql.getName() + (longForm ? (' - ' + title) : ` - ${trimTitle(title)}`);
|
||||
return this._sql.getName() + (longForm ? (' - ' + title) : ` - ${trimTitle(title)}`);
|
||||
} else {
|
||||
return this._sql.getName();
|
||||
}
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import { Action } from 'vs/base/common/actions';
|
||||
import { localize } from 'vs/nls';
|
||||
import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService';
|
||||
@@ -150,8 +147,7 @@ export class CopyAllMessagesAction extends Action {
|
||||
|
||||
constructor(
|
||||
private tree: ITree,
|
||||
@IClipboardService private clipboardService: IClipboardService)
|
||||
{
|
||||
@IClipboardService private clipboardService: IClipboardService) {
|
||||
super(CopyAllMessagesAction.ID, CopyAllMessagesAction.LABEL);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,14 +3,11 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import { IPanelTab } from 'sql/base/browser/ui/panel/panel';
|
||||
import { ChartView } from './chartView';
|
||||
import QueryRunner from 'sql/platform/query/common/queryRunner';
|
||||
|
||||
import { localize } from 'vs/nls';
|
||||
import { generateUuid } from 'vs/base/common/uuid';
|
||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
|
||||
export class ChartTab implements IPanelTab {
|
||||
@@ -18,7 +15,7 @@ export class ChartTab implements IPanelTab {
|
||||
public readonly identifier = 'ChartTab';
|
||||
public readonly view: ChartView;
|
||||
|
||||
constructor( @IInstantiationService instantiationService: IInstantiationService) {
|
||||
constructor(@IInstantiationService instantiationService: IInstantiationService) {
|
||||
this.view = instantiationService.createInstance(ChartView);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import { Chart as ChartJs } from 'chart.js';
|
||||
|
||||
import { mixin } from 'sql/base/common/objects';
|
||||
@@ -303,7 +301,7 @@ export class Graph implements IInsight {
|
||||
* color functionality
|
||||
*/
|
||||
|
||||
const defaultColors = [
|
||||
const defaultColors: Array<Color> = [
|
||||
[255, 99, 132],
|
||||
[54, 162, 235],
|
||||
[255, 206, 86],
|
||||
@@ -318,42 +316,71 @@ const defaultColors = [
|
||||
[77, 83, 96]
|
||||
];
|
||||
|
||||
type Color = [number, number, number];
|
||||
|
||||
function rgba(colour, alpha) {
|
||||
interface ILineColor {
|
||||
backgroundColor: string;
|
||||
borderColor: string;
|
||||
pointBackgroundColor: string;
|
||||
pointBorderColor: string;
|
||||
pointHoverBackgroundColor: string;
|
||||
pointHoverBorderColor: string;
|
||||
}
|
||||
|
||||
interface IBarColor {
|
||||
backgroundColor: string;
|
||||
borderColor: string;
|
||||
hoverBackgroundColor: string;
|
||||
hoverBorderColor: string;
|
||||
}
|
||||
|
||||
interface IPieColors {
|
||||
backgroundColor: Array<string>;
|
||||
borderColor: Array<string>;
|
||||
pointBackgroundColor: Array<string>;
|
||||
pointBorderColor: Array<string>;
|
||||
pointHoverBackgroundColor: Array<string>;
|
||||
pointHoverBorderColor: Array<string>;
|
||||
}
|
||||
|
||||
interface IPolarAreaColors {
|
||||
backgroundColor: Array<string>;
|
||||
borderColor: Array<string>;
|
||||
hoverBackgroundColor: Array<string>;
|
||||
hoverBorderColor: Array<string>;
|
||||
}
|
||||
|
||||
function rgba(colour: Color, alpha: number): string {
|
||||
return 'rgba(' + colour.concat(alpha).join(',') + ')';
|
||||
}
|
||||
|
||||
function getRandomInt(min, max) {
|
||||
function getRandomInt(min: number, max: number): number {
|
||||
return Math.floor(Math.random() * (max - min + 1)) + min;
|
||||
}
|
||||
|
||||
function getRandomColor() {
|
||||
function getRandomColor(): Color {
|
||||
return [getRandomInt(0, 255), getRandomInt(0, 255), getRandomInt(0, 255)];
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate colors for line|bar charts
|
||||
* @param index
|
||||
* @returns {number[]|Color}
|
||||
*/
|
||||
function generateColor(index) {
|
||||
function generateColor(index: number): Color {
|
||||
return defaultColors[index] || getRandomColor();
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate colors for pie|doughnut charts
|
||||
* @param count
|
||||
* @returns {Colors}
|
||||
*/
|
||||
function generateColors(count) {
|
||||
var colorsArr = new Array(count);
|
||||
for (var i = 0; i < count; i++) {
|
||||
function generateColors(count: number): Array<Color> {
|
||||
const colorsArr = new Array(count);
|
||||
for (let i = 0; i < count; i++) {
|
||||
colorsArr[i] = defaultColors[i] || getRandomColor();
|
||||
}
|
||||
return colorsArr;
|
||||
}
|
||||
|
||||
function formatLineColor(colors) {
|
||||
function formatLineColor(colors: Color): ILineColor {
|
||||
return {
|
||||
backgroundColor: rgba(colors, 0.4),
|
||||
borderColor: rgba(colors, 1),
|
||||
@@ -364,7 +391,7 @@ function formatLineColor(colors) {
|
||||
};
|
||||
}
|
||||
|
||||
function formatBarColor(colors) {
|
||||
function formatBarColor(colors: Color): IBarColor {
|
||||
return {
|
||||
backgroundColor: rgba(colors, 0.6),
|
||||
borderColor: rgba(colors, 1),
|
||||
@@ -373,34 +400,30 @@ function formatBarColor(colors) {
|
||||
};
|
||||
}
|
||||
|
||||
function formatPieColors(colors) {
|
||||
function formatPieColors(colors: Array<Color>): IPieColors {
|
||||
return {
|
||||
backgroundColor: colors.map(function (color) { return rgba(color, 0.6); }),
|
||||
borderColor: colors.map(function () { return '#fff'; }),
|
||||
pointBackgroundColor: colors.map(function (color) { return rgba(color, 1); }),
|
||||
pointBorderColor: colors.map(function () { return '#fff'; }),
|
||||
pointHoverBackgroundColor: colors.map(function (color) { return rgba(color, 1); }),
|
||||
pointHoverBorderColor: colors.map(function (color) { return rgba(color, 1); })
|
||||
backgroundColor: colors.map(color => rgba(color, 0.6)),
|
||||
borderColor: colors.map(() => '#fff'),
|
||||
pointBackgroundColor: colors.map(color => rgba(color, 1)),
|
||||
pointBorderColor: colors.map(() => '#fff'),
|
||||
pointHoverBackgroundColor: colors.map(color => rgba(color, 1)),
|
||||
pointHoverBorderColor: colors.map(color => rgba(color, 1))
|
||||
};
|
||||
}
|
||||
|
||||
function formatPolarAreaColors(colors) {
|
||||
function formatPolarAreaColors(colors: Array<Color>): IPolarAreaColors {
|
||||
return {
|
||||
backgroundColor: colors.map(function (color) { return rgba(color, 0.6); }),
|
||||
borderColor: colors.map(function (color) { return rgba(color, 1); }),
|
||||
hoverBackgroundColor: colors.map(function (color) { return rgba(color, 0.8); }),
|
||||
hoverBorderColor: colors.map(function (color) { return rgba(color, 1); })
|
||||
backgroundColor: colors.map(color => rgba(color, 0.6)),
|
||||
borderColor: colors.map(color => rgba(color, 1)),
|
||||
hoverBackgroundColor: colors.map(color => rgba(color, 0.8)),
|
||||
hoverBorderColor: colors.map(color => rgba(color, 1))
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate colors by chart type
|
||||
* @param chartType
|
||||
* @param index
|
||||
* @param count
|
||||
* @returns {Color}
|
||||
*/
|
||||
function getColors(chartType, index, count) {
|
||||
function getColors(chartType: string, index: number, count: number): Color | ILineColor | IBarColor | IPieColors | IPolarAreaColors {
|
||||
if (chartType === 'pie' || chartType === 'doughnut') {
|
||||
return formatPieColors(generateColors(count));
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
import { Dimension } from 'vs/base/browser/dom';
|
||||
|
||||
import { IInsightData } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces';
|
||||
@@ -35,7 +34,7 @@ export interface IInsight {
|
||||
}
|
||||
|
||||
export interface IInsightCtor {
|
||||
new (container: HTMLElement, options: IInsightOptions, ...services: { _serviceBrand: any; }[]): IInsight;
|
||||
new(container: HTMLElement, options: IInsightOptions, ...services: { _serviceBrand: any; }[]): IInsight;
|
||||
readonly types: Array<InsightType | ChartType>;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
/* Disable repl hover highlight in tree. */
|
||||
.monaco-workbench .message-tree .monaco-tree .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) {
|
||||
@@ -7,10 +11,10 @@
|
||||
/* Disable repl hover highlight in tree. */
|
||||
.monaco-workbench .message-tree .monaco-tree .monaco-tree-row > .content {
|
||||
line-height: 18px;
|
||||
user-select: text;
|
||||
word-wrap: break-word;
|
||||
/* white-space: pre-wrap; */
|
||||
word-break: break-all;
|
||||
user-select: text;
|
||||
word-wrap: break-word;
|
||||
/* white-space: pre-wrap; */
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
.monaco-workbench .message-tree .monaco-tree .monaco-tree-rows>.monaco-tree-row {
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
.databaseListDropdown {
|
||||
min-width: 150px;
|
||||
}
|
||||
@@ -121,7 +121,7 @@ export class QueryEditor extends BaseEditor {
|
||||
// PROPERTIES //////////////////////////////////////////////////////////
|
||||
/**
|
||||
* Returns the URI of this editor if it is connected.
|
||||
* @returns {string} URI of the editor if connected, undefined otherwise
|
||||
* @returns URI of the editor if connected, undefined otherwise
|
||||
*/
|
||||
public get connectedUri(): string {
|
||||
return this._connectionManagementService.isConnected(this.uri)
|
||||
@@ -131,7 +131,7 @@ export class QueryEditor extends BaseEditor {
|
||||
|
||||
/**
|
||||
* Returns the URI of this editor if an input is associated with it
|
||||
* @return {string} URI of this if input is associated, undefined otherwise
|
||||
* @return URI of this if input is associated, undefined otherwise
|
||||
*/
|
||||
get uri(): string {
|
||||
let input: QueryInput = <QueryInput>this.input;
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
|
||||
import { QueryResultsInput, ResultsViewState } from 'sql/parts/query/common/queryResultsInput';
|
||||
import { TabbedPanel, IPanelTab, IPanelView } from 'sql/base/browser/ui/panel/panel';
|
||||
@@ -55,7 +54,7 @@ class ResultsView extends Disposable implements IPanelView {
|
||||
if (this.state && this.state.gridPanelSize) {
|
||||
panelSize = this.state.gridPanelSize;
|
||||
} else if (this.currentDimension) {
|
||||
panelSize = Math.round(this.currentDimension.height * .7);
|
||||
panelSize = Math.round(this.currentDimension.height * 0.7);
|
||||
} else {
|
||||
panelSize = 200;
|
||||
this.needsGridResize = true;
|
||||
@@ -68,7 +67,7 @@ class ResultsView extends Disposable implements IPanelView {
|
||||
if (this.state && this.state.gridPanelSize) {
|
||||
panelSize = this.state.gridPanelSize;
|
||||
} else if (this.currentDimension) {
|
||||
panelSize = Math.round(this.currentDimension.height * .7);
|
||||
panelSize = Math.round(this.currentDimension.height * 0.7);
|
||||
} else {
|
||||
panelSize = 200;
|
||||
this.needsGridResize = true;
|
||||
@@ -108,7 +107,7 @@ class ResultsView extends Disposable implements IPanelView {
|
||||
}
|
||||
this.currentDimension = dimension;
|
||||
if (this.needsGridResize) {
|
||||
this.panelViewlet.resizePanel(this.gridPanel, this.state.gridPanelSize || Math.round(this.currentDimension.height * .7));
|
||||
this.panelViewlet.resizePanel(this.gridPanel, this.state.gridPanelSize || Math.round(this.currentDimension.height * 0.7));
|
||||
// we have the right scroll position saved as part of gridPanel state, use this to re-position scrollbar
|
||||
this.gridPanel.resetScrollPosition();
|
||||
}
|
||||
|
||||
@@ -266,9 +266,7 @@ export class RunQueryShortcutAction extends Action {
|
||||
* Runs one of the optionally registered query shortcuts. This will lookup the shortcut's stored procedure
|
||||
* reference from the settings, and if found will execute it plus any
|
||||
*
|
||||
* @param {QueryEditor} editor
|
||||
* @param {number} shortcutIndex which shortcut should be run?
|
||||
* @memberof RunQueryShortcutAction
|
||||
* @param shortcutIndex which shortcut should be run?
|
||||
*/
|
||||
public runQueryShortcut(editor: QueryEditor, shortcutIndex: number): Thenable<void> {
|
||||
if (!editor) {
|
||||
|
||||
@@ -75,5 +75,5 @@
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import { Dimension } from 'vs/base/browser/dom';
|
||||
import { Disposable } from 'vs/base/common/lifecycle';
|
||||
import { Event, Emitter } from 'vs/base/common/event';
|
||||
import { IHorizontalSashLayoutProvider, IVerticalSashLayoutProvider,
|
||||
ISashEvent, Orientation, Sash } from 'vs/base/browser/ui/sash/sash';
|
||||
import {
|
||||
IHorizontalSashLayoutProvider, IVerticalSashLayoutProvider,
|
||||
ISashEvent, Orientation, Sash
|
||||
} from 'vs/base/browser/ui/sash/sash';
|
||||
// There is no need to import the sash CSS - 'vs/base/browser/ui/sash/sash' already includes it
|
||||
|
||||
/**
|
||||
|
||||
@@ -74,7 +74,7 @@ export class AccountPickerListRenderer implements IListRenderer<azdata.Account,
|
||||
if (account.displayInfo.userId && account.displayInfo.displayName) {
|
||||
templateData.displayName.innerText = account.displayInfo.displayName + ' (' + account.displayInfo.userId + ')';
|
||||
} else {
|
||||
templateData.displayName.innerText = account.displayInfo.displayName ;
|
||||
templateData.displayName.innerText = account.displayInfo.displayName;
|
||||
}
|
||||
|
||||
if (account.isStale) {
|
||||
|
||||
@@ -33,7 +33,7 @@ export class AccountPickerViewModel {
|
||||
// PUBLIC METHODS //////////////////////////////////////////////////////
|
||||
/**
|
||||
* Loads an initial list of accounts from the account management service
|
||||
* @return {Thenable<Account[]>} Promise to return the list of accounts
|
||||
* @return Promise to return the list of accounts
|
||||
*/
|
||||
public initialize(): Thenable<azdata.Account[]> {
|
||||
// Load a baseline of the accounts for the provider
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as azdata from 'azdata';
|
||||
import { AccountAdditionResult } from 'sql/platform/accounts/common/eventTypes';
|
||||
|
||||
@@ -50,21 +50,21 @@ export enum AzureResource {
|
||||
export interface IAccountStore {
|
||||
/**
|
||||
* Adds the provided account if the account doesn't exist. Updates the account if it already exists
|
||||
* @param {Account} account Account to add/update
|
||||
* @return {Thenable<AccountAdditionResult>} Results of the add/update operation
|
||||
* @param account Account to add/update
|
||||
* @return Results of the add/update operation
|
||||
*/
|
||||
addOrUpdate(account: azdata.Account): Thenable<AccountAdditionResult>;
|
||||
|
||||
/**
|
||||
* Retrieves all accounts, filtered by provider ID
|
||||
* @param {string} providerId ID of the provider to filter by
|
||||
* @return {Thenable<Account[]>} Promise to return all accounts that belong to the provided provider
|
||||
* @param providerId ID of the provider to filter by
|
||||
* @return Promise to return all accounts that belong to the provided provider
|
||||
*/
|
||||
getAccountsByProvider(providerId: string): Thenable<azdata.Account[]>;
|
||||
|
||||
/**
|
||||
* Retrieves all accounts in the store. Returns empty array if store is not initialized
|
||||
* @return {Thenable<Account[]>} Promise to return all accounts
|
||||
* @return Promise to return all accounts
|
||||
*/
|
||||
getAllAccounts(): Thenable<azdata.Account[]>;
|
||||
|
||||
|
||||
@@ -34,7 +34,6 @@ export interface IAngularEventingService {
|
||||
* Adds a listener for the dashboard to send events, should only be called once for each dashboard by the dashboard itself
|
||||
* @param uri Uri of the dashboard
|
||||
* @param cb Listening function
|
||||
* @returns
|
||||
*/
|
||||
onAngularEvent(uri: string, cb: (event: IAngularEvent) => void): Subscription;
|
||||
|
||||
|
||||
@@ -143,7 +143,6 @@ export class CapabilitiesService extends Disposable implements ICapabilitiesServ
|
||||
|
||||
/**
|
||||
* Register the capabilities provider and query the provider for its capabilities
|
||||
* @param provider
|
||||
*/
|
||||
public registerProvider(provider: azdata.CapabilitiesProvider): void {
|
||||
// request the capabilities from server
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService';
|
||||
import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile';
|
||||
import { ConnectionProfileGroup, IConnectionProfileGroup } from 'sql/platform/connection/common/connectionProfileGroup';
|
||||
@@ -69,7 +68,7 @@ export class ConnectionConfig implements IConnectionConfig {
|
||||
let newProfile = ConnectionProfile.convertToProfileStore(this._capabilitiesService, connectionProfile);
|
||||
|
||||
// Remove the profile if already set
|
||||
var sameProfileInList = profiles.find(value => {
|
||||
let sameProfileInList = profiles.find(value => {
|
||||
let providerConnectionProfile = ConnectionProfile.createFromStoredProfile(value, this._capabilitiesService);
|
||||
return providerConnectionProfile.matches(connectionProfile);
|
||||
});
|
||||
@@ -100,7 +99,6 @@ export class ConnectionConfig implements IConnectionConfig {
|
||||
|
||||
/**
|
||||
*Returns group id
|
||||
* @param groupName
|
||||
*/
|
||||
public addGroupFromProfile(profile: IConnectionProfile): Promise<string> {
|
||||
if (profile.groupId && profile.groupId !== Utils.defaultGroupId) {
|
||||
@@ -116,7 +114,6 @@ export class ConnectionConfig implements IConnectionConfig {
|
||||
|
||||
/**
|
||||
*Returns group id
|
||||
* @param groupName
|
||||
*/
|
||||
public addGroup(profileGroup: IConnectionProfileGroup): Promise<string> {
|
||||
if (profileGroup.id) {
|
||||
@@ -159,13 +156,12 @@ export class ConnectionConfig implements IConnectionConfig {
|
||||
|
||||
/**
|
||||
* Replace duplicate ids with new ones. Sets id for the profiles without id
|
||||
* @param profiles
|
||||
*/
|
||||
private fixConnectionIds(profiles: IConnectionProfileStore[]): boolean {
|
||||
let idsCache: { [label: string]: boolean } = {};
|
||||
let changed: boolean = false;
|
||||
for (var index = 0; index < profiles.length; index++) {
|
||||
var profile = profiles[index];
|
||||
for (let index = 0; index < profiles.length; index++) {
|
||||
let profile = profiles[index];
|
||||
if (!profile.id) {
|
||||
profile.id = generateUuid();
|
||||
changed = true;
|
||||
|
||||
@@ -3,17 +3,14 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import * as interfaces from 'sql/platform/connection/common/interfaces';
|
||||
|
||||
/**
|
||||
* Sets sensible defaults for key connection properties, especially
|
||||
* if connection to Azure
|
||||
*
|
||||
* @export connectionInfo/fixupConnectionCredentials
|
||||
* @param {interfaces.IConnectionCredentials} connCreds connection to be fixed up
|
||||
* @returns {interfaces.IConnectionCredentials} the updated connection
|
||||
* @param connCreds connection to be fixed up
|
||||
* @returns the updated connection
|
||||
*/
|
||||
export function fixupConnectionCredentials(connCreds: interfaces.IConnectionProfile): interfaces.IConnectionProfile {
|
||||
if (!connCreds.serverName) {
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { Event } from 'vs/base/common/event';
|
||||
import * as azdata from 'azdata';
|
||||
@@ -221,18 +219,15 @@ export interface IConnectionManagementService {
|
||||
* Sends a notification that the language flavor for a given URI has changed.
|
||||
* For SQL, this would be the specific SQL implementation being used.
|
||||
*
|
||||
* @param {string} uri the URI of the resource whose language has changed
|
||||
* @param {string} language the base language
|
||||
* @param {string} flavor the specific language flavor that's been set
|
||||
*
|
||||
* @memberof IConnectionManagementService
|
||||
* @param uri the URI of the resource whose language has changed
|
||||
* @param language the base language
|
||||
* @param flavor the specific language flavor that's been set
|
||||
*/
|
||||
doChangeLanguageFlavor(uri: string, language: string, flavor: string): void;
|
||||
|
||||
/**
|
||||
* Ensures that a default language flavor is set for a URI, if none has already been defined.
|
||||
* @param {string} uri document identifier
|
||||
* @memberof ConnectionManagementService
|
||||
* @param uri document identifier
|
||||
*/
|
||||
ensureDefaultLanguageFlavor(uri: string): void;
|
||||
|
||||
@@ -243,22 +238,22 @@ export interface IConnectionManagementService {
|
||||
|
||||
/**
|
||||
* Get a copy of the connection profile with its passwords removed
|
||||
* @param {IConnectionProfile} profile The connection profile to remove passwords from
|
||||
* @returns {IConnectionProfile} A copy of the connection profile with passwords removed
|
||||
* @param profile The connection profile to remove passwords from
|
||||
* @returns A copy of the connection profile with passwords removed
|
||||
*/
|
||||
removeConnectionProfileCredentials(profile: IConnectionProfile): IConnectionProfile;
|
||||
|
||||
/**
|
||||
* Get the credentials for a connected connection profile, as they would appear in the options dictionary
|
||||
* @param {string} profileId The id of the connection profile to get the password for
|
||||
* @returns {{ [name: string]: string }} A dictionary containing the credentials as they would be included
|
||||
* @param profileId The id of the connection profile to get the password for
|
||||
* @returns A dictionary containing the credentials as they would be included
|
||||
* in the connection profile's options dictionary, or undefined if the profile is not connected
|
||||
*/
|
||||
getActiveConnectionCredentials(profileId: string): { [name: string]: string };
|
||||
|
||||
/**
|
||||
* Get the ServerInfo for a connected connection profile
|
||||
* @param {string} profileId The id of the connection profile to get the password for
|
||||
* @param profileId The id of the connection profile to get the password for
|
||||
* @returns ServerInfo
|
||||
*/
|
||||
getServerInfo(profileId: string): azdata.ServerInfo;
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile';
|
||||
import * as azdata from 'azdata';
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
|
||||
import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile';
|
||||
import * as WorkbenchUtils from 'sql/workbench/common/sqlWorkbenchUtils';
|
||||
@@ -703,8 +702,6 @@ export class ConnectionManagementService extends Disposable implements IConnecti
|
||||
/**
|
||||
* Returns a formatted URI in case the database field is empty for the original
|
||||
* URI, which happens when the connected database is master or the default database
|
||||
* @param uri
|
||||
* @param connectionProfile
|
||||
*/
|
||||
public getFormattedUri(uri: string, connectionProfile: IConnectionProfile): string {
|
||||
if (this._connectionStatusManager.isDefaultTypeUri(uri)) {
|
||||
@@ -718,11 +715,10 @@ export class ConnectionManagementService extends Disposable implements IConnecti
|
||||
* Sends a notification that the language flavor for a given URI has changed.
|
||||
* For SQL, this would be the specific SQL implementation being used.
|
||||
*
|
||||
* @param {string} uri the URI of the resource whose language has changed
|
||||
* @param {string} language the base language
|
||||
* @param {string} flavor the specific language flavor that's been set
|
||||
* @param uri the URI of the resource whose language has changed
|
||||
* @param language the base language
|
||||
* @param flavor the specific language flavor that's been set
|
||||
* @throws {Error} if the provider is not in the list of registered providers
|
||||
* @memberof ConnectionManagementService
|
||||
*/
|
||||
public doChangeLanguageFlavor(uri: string, language: string, provider: string): void {
|
||||
if (this._providers.has(provider)) {
|
||||
@@ -738,8 +734,7 @@ export class ConnectionManagementService extends Disposable implements IConnecti
|
||||
|
||||
/**
|
||||
* Ensures that a default language flavor is set for a URI, if none has already been defined.
|
||||
* @param {string} uri document identifier
|
||||
* @memberof ConnectionManagementService
|
||||
* @param uri document identifier
|
||||
*/
|
||||
public ensureDefaultLanguageFlavor(uri: string): void {
|
||||
if (!this.getProviderIdFromUri(uri)) {
|
||||
@@ -973,7 +968,7 @@ export class ConnectionManagementService extends Disposable implements IConnecti
|
||||
return new Promise<boolean>((resolve, reject) => {
|
||||
// If the URI is connected, disconnect it and the editor
|
||||
if (self.isConnected(owner.uri)) {
|
||||
var connection = self.getConnectionProfile(owner.uri);
|
||||
let connection = self.getConnectionProfile(owner.uri);
|
||||
owner.onDisconnect();
|
||||
resolve(self.doDisconnect(owner.uri, connection));
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
|
||||
import { ConnectionManagementInfo } from 'sql/platform/connection/common/connectionManagementInfo';
|
||||
import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService';
|
||||
@@ -16,7 +15,7 @@ export class ConnectionStatusManager {
|
||||
|
||||
private _connections: { [id: string]: ConnectionManagementInfo };
|
||||
|
||||
constructor( @ICapabilitiesService private _capabilitiesService: ICapabilitiesService) {
|
||||
constructor(@ICapabilitiesService private _capabilitiesService: ICapabilitiesService) {
|
||||
this._connections = {};
|
||||
}
|
||||
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import * as Constants from 'sql/platform/connection/common/constants';
|
||||
import * as ConnInfo from 'sql/platform/connection/common/connectionInfo';
|
||||
import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile';
|
||||
@@ -24,7 +22,6 @@ const MAX_CONNECTIONS_DEFAULT = 25;
|
||||
* Manages the connections list including saved profiles and the most recently used connections
|
||||
*
|
||||
* @export
|
||||
* @class ConnectionStore
|
||||
*/
|
||||
export class ConnectionStore {
|
||||
private _memento: any;
|
||||
@@ -65,10 +62,9 @@ export class ConnectionStore {
|
||||
/**
|
||||
* Creates a formatted credential usable for uniquely identifying a SQL Connection.
|
||||
* This string can be decoded but is not optimized for this.
|
||||
* @static
|
||||
* @param {IConnectionProfile} connectionProfile connection profile - require
|
||||
* @param {string} itemType type of the item (MRU or Profile) - optional
|
||||
* @returns {string} formatted string with server, DB and username
|
||||
* @param connectionProfile connection profile - require
|
||||
* @param itemType type of the item (MRU or Profile) - optional
|
||||
* @returns formatted string with server, DB and username
|
||||
*/
|
||||
public formatCredentialId(connectionProfile: IConnectionProfile, itemType?: string): string {
|
||||
let connectionProfileInstance: ConnectionProfile = ConnectionProfile.fromIConnectionProfile(
|
||||
@@ -120,9 +116,9 @@ export class ConnectionStore {
|
||||
}
|
||||
resolve({ profile: credentialsItem, savedCred: !!savedCred });
|
||||
},
|
||||
reason => {
|
||||
reject(reason);
|
||||
});
|
||||
reason => {
|
||||
reject(reason);
|
||||
});
|
||||
} else {
|
||||
// No need to look up the password
|
||||
resolve({ profile: credentialsItem, savedCred: credentialsItem.savePassword });
|
||||
@@ -134,9 +130,9 @@ export class ConnectionStore {
|
||||
* Saves a connection profile to the user settings.
|
||||
* Password values are stored to a separate credential store if the "savePassword" option is true
|
||||
*
|
||||
* @param {IConnectionProfile} profile the profile to save
|
||||
* @param {forceWritePlaintextPassword} whether the plaintext password should be written to the settings file
|
||||
* @returns {Promise<IConnectionProfile>} a Promise that returns the original profile, for help in chaining calls
|
||||
* @param profile the profile to save
|
||||
* @param whether the plaintext password should be written to the settings file
|
||||
* @returns a Promise that returns the original profile, for help in chaining calls
|
||||
*/
|
||||
public saveProfile(profile: IConnectionProfile, forceWritePlaintextPassword?: boolean): Promise<IConnectionProfile> {
|
||||
const self = this;
|
||||
@@ -172,8 +168,8 @@ export class ConnectionStore {
|
||||
/**
|
||||
* Saves a connection profile group to the user settings.
|
||||
*
|
||||
* @param {IConnectionProfileGroup} profile the profile group to save
|
||||
* @returns {Promise<string>} a Promise that returns the id of connection group
|
||||
* @param profile the profile group to save
|
||||
* @returns a Promise that returns the id of connection group
|
||||
*/
|
||||
public saveProfileGroup(profile: IConnectionProfileGroup): Promise<string> {
|
||||
const self = this;
|
||||
@@ -205,7 +201,7 @@ export class ConnectionStore {
|
||||
* Gets the list of recently used connections. These will not include the password - a separate call to
|
||||
* {addSavedPassword} is needed to fill that before connecting
|
||||
*
|
||||
* @returns {azdata.ConnectionInfo} the array of connections, empty if none are found
|
||||
* @returns the array of connections, empty if none are found
|
||||
*/
|
||||
public getRecentlyUsedConnections(providers?: string[]): ConnectionProfile[] {
|
||||
let configValues: IConnectionProfile[] = this._memento[Constants.recentConnections];
|
||||
@@ -245,7 +241,7 @@ export class ConnectionStore {
|
||||
* Gets the list of active connections. These will not include the password - a separate call to
|
||||
* {addSavedPassword} is needed to fill that before connecting
|
||||
*
|
||||
* @returns {azdata.ConnectionInfo} the array of connections, empty if none are found
|
||||
* @returns the array of connections, empty if none are found
|
||||
*/
|
||||
public getActiveConnections(): ConnectionProfile[] {
|
||||
let configValues: IConnectionProfile[] = this._memento[Constants.activeConnections];
|
||||
@@ -272,9 +268,9 @@ export class ConnectionStore {
|
||||
* Connection is only added if there are no other connections with the same connection ID in the list.
|
||||
* Password values are stored to a separate credential store if the "savePassword" option is true
|
||||
*
|
||||
* @param {IConnectionCredentials} conn the connection to add
|
||||
* @param {boolean} addToMru Whether to add this connection to the MRU
|
||||
* @returns {Promise<void>} a Promise that returns when the connection was saved
|
||||
* @param conn the connection to add
|
||||
* @param addToMru Whether to add this connection to the MRU
|
||||
* @returns a Promise that returns when the connection was saved
|
||||
*/
|
||||
public async addActiveConnection(conn: IConnectionProfile, addToMru: boolean): Promise<void> {
|
||||
if (addToMru) {
|
||||
@@ -459,7 +455,7 @@ export class ConnectionStore {
|
||||
this.addGroupFullNameToMap(group.id, connectionGroup.fullName);
|
||||
if (connections) {
|
||||
let connectionsForGroup = connections.filter(conn => conn.groupId === connectionGroup.id);
|
||||
var conns = [];
|
||||
let conns = [];
|
||||
connectionsForGroup.forEach((conn) => {
|
||||
conn.groupFullName = connectionGroup.fullName;
|
||||
conns.push(conn);
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import { IConnectionProfile } from 'sql/platform/connection/common/interfaces';
|
||||
import { IConnectionProfileGroup, ConnectionProfileGroup } from 'sql/platform/connection/common/connectionProfileGroup';
|
||||
import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile';
|
||||
@@ -13,7 +11,6 @@ import { ConnectionProfile } from 'sql/platform/connection/common/connectionProf
|
||||
* Interface for a configuration file that stores connection profiles.
|
||||
*
|
||||
* @export
|
||||
* @interface IConnectionConfig
|
||||
*/
|
||||
export interface IConnectionConfig {
|
||||
addConnection(profile: IConnectionProfile): Promise<IConnectionProfile>;
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import { Disposable } from 'vs/base/common/lifecycle';
|
||||
import { isString } from 'vs/base/common/types';
|
||||
|
||||
@@ -228,7 +226,7 @@ export class ProviderConnectionInfo extends Disposable implements azdata.Connect
|
||||
idNames.sort();
|
||||
|
||||
let idValues: string[] = [];
|
||||
for (var index = 0; index < idNames.length; index++) {
|
||||
for (let index = 0; index < idNames.length; index++) {
|
||||
let value = this.options[idNames[index]];
|
||||
value = value ? value : '';
|
||||
idValues.push(`${idNames[index]}${ProviderConnectionInfo.nameValueSeparator}${value}`);
|
||||
|
||||
@@ -3,12 +3,9 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import { OptionsDialog } from 'sql/workbench/browser/modal/optionsDialog';
|
||||
import { DialogModal } from 'sql/platform/dialog/dialogModal';
|
||||
import { WizardModal } from 'sql/platform/dialog/wizardModal';
|
||||
import { Dialog, Wizard, DialogTab } from 'sql/platform/dialog/dialogTypes';
|
||||
import { Dialog, Wizard } from 'sql/platform/dialog/dialogTypes';
|
||||
import { IModalOptions } from 'sql/workbench/browser/modal/modal';
|
||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
|
||||
@@ -19,7 +16,7 @@ export class CustomDialogService {
|
||||
private _dialogModals = new Map<Dialog, DialogModal>();
|
||||
private _wizardModals = new Map<Wizard, WizardModal>();
|
||||
|
||||
constructor( @IInstantiationService private _instantiationService: IInstantiationService) { }
|
||||
constructor(@IInstantiationService private _instantiationService: IInstantiationService) { }
|
||||
|
||||
public showDialog(dialog: Dialog, dialogName?: string, options?: IModalOptions): void {
|
||||
let name = dialogName ? dialogName : 'CustomDialog';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
|
||||
@@ -75,5 +75,5 @@
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ export class FileBrowserService implements IFileBrowserService {
|
||||
&& fileBrowserOpenedParams.fileTree.rootNode
|
||||
&& fileBrowserOpenedParams.fileTree.selectedNode
|
||||
) {
|
||||
var fileTree = this.convertFileTree(null, fileBrowserOpenedParams.fileTree.rootNode, fileBrowserOpenedParams.fileTree.selectedNode.fullPath, fileBrowserOpenedParams.ownerUri);
|
||||
let fileTree = this.convertFileTree(null, fileBrowserOpenedParams.fileTree.rootNode, fileBrowserOpenedParams.fileTree.selectedNode.fullPath, fileBrowserOpenedParams.ownerUri);
|
||||
this._onAddFileTree.fire({ rootNode: fileTree.rootNode, selectedNode: fileTree.selectedNode, expandedNodes: fileTree.expandedNodes });
|
||||
} else {
|
||||
let genericErrorMessage = localize('fileBrowserErrorMessage', 'An error occured while loading the file browser.');
|
||||
@@ -84,7 +84,7 @@ export class FileBrowserService implements IFileBrowserService {
|
||||
const provider = this.getProvider(fileNode.ownerUri);
|
||||
if (provider) {
|
||||
provider.expandFolderNode(fileNode.ownerUri, fileNode.fullPath).then(result => {
|
||||
var mapKey = self.generateResolveMapKey(fileNode.ownerUri, fileNode.fullPath);
|
||||
let mapKey = self.generateResolveMapKey(fileNode.ownerUri, fileNode.fullPath);
|
||||
self._expandResolveMap[mapKey] = resolve;
|
||||
}, error => {
|
||||
reject(error);
|
||||
@@ -96,12 +96,12 @@ export class FileBrowserService implements IFileBrowserService {
|
||||
}
|
||||
|
||||
public onFolderNodeExpanded(handle: number, fileBrowserExpandedParams: azdata.FileBrowserExpandedParams) {
|
||||
var mapKey = this.generateResolveMapKey(fileBrowserExpandedParams.ownerUri, fileBrowserExpandedParams.expandPath);
|
||||
var expandResolve = this._expandResolveMap[mapKey];
|
||||
let mapKey = this.generateResolveMapKey(fileBrowserExpandedParams.ownerUri, fileBrowserExpandedParams.expandPath);
|
||||
let expandResolve = this._expandResolveMap[mapKey];
|
||||
if (expandResolve) {
|
||||
if (fileBrowserExpandedParams.succeeded === true) {
|
||||
// get the expanded folder node
|
||||
var expandedNode = this._pathToFileNodeMap[fileBrowserExpandedParams.expandPath];
|
||||
let expandedNode = this._pathToFileNodeMap[fileBrowserExpandedParams.expandPath];
|
||||
if (expandedNode) {
|
||||
if (fileBrowserExpandedParams.children && fileBrowserExpandedParams.children.length > 0) {
|
||||
expandedNode.children = this.convertChildren(expandedNode, fileBrowserExpandedParams.children, fileBrowserExpandedParams.ownerUri);
|
||||
@@ -158,9 +158,9 @@ export class FileBrowserService implements IFileBrowserService {
|
||||
|
||||
private convertFileTree(parentNode: FileNode, fileTreeNode: azdata.FileTreeNode, expandPath: string, ownerUri: string): FileBrowserTree {
|
||||
FileBrowserService.fileNodeId += 1;
|
||||
var expandedNodes: FileNode[] = [];
|
||||
var selectedNode: FileNode;
|
||||
var fileNode = new FileNode(FileBrowserService.fileNodeId.toString(),
|
||||
let expandedNodes: FileNode[] = [];
|
||||
let selectedNode: FileNode;
|
||||
let fileNode = new FileNode(FileBrowserService.fileNodeId.toString(),
|
||||
fileTreeNode.name,
|
||||
fileTreeNode.fullPath,
|
||||
fileTreeNode.isFile,
|
||||
@@ -174,9 +174,9 @@ export class FileBrowserService implements IFileBrowserService {
|
||||
}
|
||||
|
||||
if (fileTreeNode.children) {
|
||||
var convertedChildren = [];
|
||||
for (var i = 0; i < fileTreeNode.children.length; i++) {
|
||||
var convertedFileTree: FileBrowserTree = this.convertFileTree(fileNode, fileTreeNode.children[i], expandPath, ownerUri);
|
||||
let convertedChildren = [];
|
||||
for (let i = 0; i < fileTreeNode.children.length; i++) {
|
||||
let convertedFileTree: FileBrowserTree = this.convertFileTree(fileNode, fileTreeNode.children[i], expandPath, ownerUri);
|
||||
convertedChildren.push(convertedFileTree.rootNode);
|
||||
|
||||
if (convertedFileTree.expandedNodes.length > 0) {
|
||||
@@ -206,11 +206,11 @@ export class FileBrowserService implements IFileBrowserService {
|
||||
}
|
||||
|
||||
private convertChildren(expandedNode: FileNode, childrenToConvert: azdata.FileTreeNode[], ownerUri: string): FileNode[] {
|
||||
var childrenNodes = [];
|
||||
let childrenNodes = [];
|
||||
|
||||
for (var i = 0; i < childrenToConvert.length; i++) {
|
||||
for (let i = 0; i < childrenToConvert.length; i++) {
|
||||
FileBrowserService.fileNodeId += 1;
|
||||
var childNode = new FileNode(FileBrowserService.fileNodeId.toString(),
|
||||
let childNode = new FileNode(FileBrowserService.fileNodeId.toString(),
|
||||
childrenToConvert[i].name,
|
||||
childrenToConvert[i].fullPath,
|
||||
childrenToConvert[i].isFile,
|
||||
|
||||
@@ -104,7 +104,7 @@ export class RunJobAction extends Action {
|
||||
return new Promise<boolean>((resolve, reject) => {
|
||||
this.jobManagementService.jobAction(ownerUri, jobName, JobActions.Run).then(result => {
|
||||
if (result.success) {
|
||||
var startMsg = nls.localize('jobSuccessfullyStarted', ': The job was successfully started.');
|
||||
let startMsg = nls.localize('jobSuccessfullyStarted', ': The job was successfully started.');
|
||||
this.notificationService.info(jobName + startMsg);
|
||||
refreshAction.run(context);
|
||||
resolve(true);
|
||||
@@ -140,7 +140,7 @@ export class StopJobAction extends Action {
|
||||
this.jobManagementService.jobAction(ownerUri, jobName, JobActions.Stop).then(result => {
|
||||
if (result.success) {
|
||||
refreshAction.run(context);
|
||||
var stopMsg = nls.localize('jobSuccessfullyStopped', ': The job was successfully stopped.');
|
||||
let stopMsg = nls.localize('jobSuccessfullyStopped', ': The job was successfully stopped.');
|
||||
this.notificationService.info(jobName + stopMsg);
|
||||
resolve(true);
|
||||
} else {
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import { IDisposable, dispose } from 'vs/base/common/lifecycle';
|
||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement';
|
||||
@@ -39,7 +37,7 @@ export class MetadataService implements IMetadataService {
|
||||
|
||||
private _providers: { [handle: string]: azdata.MetadataProvider; } = Object.create(null);
|
||||
|
||||
constructor( @IConnectionManagementService private _connectionService: IConnectionManagementService) {
|
||||
constructor(@IConnectionManagementService private _connectionService: IConnectionManagementService) {
|
||||
}
|
||||
|
||||
public getMetadata(connectionUri: string): Thenable<azdata.ProviderMetadata> {
|
||||
|
||||
@@ -396,14 +396,14 @@ export class ResultSerializer {
|
||||
|
||||
this._editorService.openEditor(input, { pinned: true })
|
||||
.then(
|
||||
(success) => {
|
||||
},
|
||||
(error: any) => {
|
||||
this._notificationService.notify({
|
||||
severity: Severity.Error,
|
||||
message: error
|
||||
});
|
||||
}
|
||||
(success) => {
|
||||
},
|
||||
(error: any) => {
|
||||
this._notificationService.notify({
|
||||
severity: Severity.Error,
|
||||
message: error
|
||||
});
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||
|
||||
export const ISqlOAuthService = createDecorator<ISqlOAuthService>('sqlOAuthService');
|
||||
@@ -19,16 +17,16 @@ export interface ISqlOAuthService {
|
||||
|
||||
/**
|
||||
* Sends request to main thread to handle OAuth request
|
||||
* @param {string} eventId Unique ID of the request to return upon completion
|
||||
* @param {string} url URL to load to do OAuth
|
||||
* @param {boolean} silent Whether or not to show the OAuth window
|
||||
* @return {Thenable<string>} Promise to return an authorization code
|
||||
* @param eventId Unique ID of the request to return upon completion
|
||||
* @param url URL to load to do OAuth
|
||||
* @param silent Whether or not to show the OAuth window
|
||||
* @return Promise to return an authorization code
|
||||
*/
|
||||
performOAuthAuthorization(eventId: string, url: string, silent: boolean): void;
|
||||
|
||||
/**
|
||||
* Registers a handler for the oauth-reply event on the IPC channel
|
||||
* @param {(event, args) => void} handler Handler to call when the event is triggered
|
||||
* @param handler Handler to call when the event is triggered
|
||||
*/
|
||||
registerOAuthCallback(handler: (event, args) => void): void;
|
||||
}
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import * as electron from 'electron';
|
||||
import { ISqlOAuthService } from 'sql/platform/oAuth/common/sqlOAuthService';
|
||||
|
||||
@@ -18,10 +16,10 @@ export class SqlOAuthService implements ISqlOAuthService {
|
||||
|
||||
/**
|
||||
* Sends request to main thread to handle OAuth request
|
||||
* @param {string} eventId Unique ID of the request to return upon completion
|
||||
* @param {string} url URL to load to do OAuth
|
||||
* @param {boolean} silent Whether or not to show the OAuth window
|
||||
* @return {Thenable<string>} Promise to return an authorization code
|
||||
* @param eventId Unique ID of the request to return upon completion
|
||||
* @param url URL to load to do OAuth
|
||||
* @param silent Whether or not to show the OAuth window
|
||||
* @return Promise to return an authorization code
|
||||
*/
|
||||
performOAuthAuthorization(eventId: string, url: string, silent: boolean): void {
|
||||
// Setup the args and send the IPC call
|
||||
@@ -37,7 +35,7 @@ export class SqlOAuthService implements ISqlOAuthService {
|
||||
|
||||
/**
|
||||
* Registers a handler for the oauth-reply event on the IPC channel
|
||||
* @param {(event, args) => void} handler Handler to call when the event is triggered
|
||||
* @param handler Handler to call when the event is triggered
|
||||
*/
|
||||
registerOAuthCallback(handler: (event, args) => void): void {
|
||||
electron.ipcRenderer.on('oauth-reply', handler);
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import { IDisposable, dispose } from 'vs/base/common/lifecycle';
|
||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement';
|
||||
@@ -50,14 +48,10 @@ export class ScriptingService implements IScriptingService {
|
||||
private _providers: { [handle: string]: azdata.ScriptingProvider; } = Object.create(null);
|
||||
|
||||
private failedScriptingOperations: { [operationId: string]: azdata.ScriptingCompleteResult } = {};
|
||||
constructor( @IConnectionManagementService private _connectionService: IConnectionManagementService) { }
|
||||
constructor(@IConnectionManagementService private _connectionService: IConnectionManagementService) { }
|
||||
|
||||
/**
|
||||
* Call the service for scripting based on provider and scripting operation
|
||||
* @param connectionUri
|
||||
* @param metadata
|
||||
* @param operation
|
||||
* @param paramDetails
|
||||
*/
|
||||
public script(connectionUri: string, metadata: azdata.ObjectMetadata, operation: ScriptOperation, paramDetails: azdata.ScriptingParamDetails): Thenable<azdata.ScriptingResult> {
|
||||
let providerId: string = this._connectionService.getProviderIdFromUri(connectionUri);
|
||||
@@ -73,8 +67,6 @@ export class ScriptingService implements IScriptingService {
|
||||
|
||||
/**
|
||||
* Callback method for when scripting is complete
|
||||
* @param handle
|
||||
* @param scriptingCompleteResult
|
||||
*/
|
||||
public onScriptingComplete(handle: number, scriptingCompleteResult: azdata.ScriptingCompleteResult): void {
|
||||
if (scriptingCompleteResult && scriptingCompleteResult.hasError && scriptingCompleteResult.errorMessage) {
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
import * as azdata from 'azdata';
|
||||
import { TaskNode, TaskStatus, TaskExecutionMode } from 'sql/workbench/parts/taskHistory/common/taskNode';
|
||||
import { IQueryEditorService } from 'sql/workbench/services/queryEditor/common/queryEditorService';
|
||||
@@ -192,7 +191,7 @@ export class TaskService implements ITaskService {
|
||||
}
|
||||
|
||||
public handleTaskComplete(eventArgs: TaskStatusChangeArgs): void {
|
||||
var task = this.getTaskInQueue(eventArgs.taskId);
|
||||
let task = this.getTaskInQueue(eventArgs.taskId);
|
||||
if (task) {
|
||||
task.status = eventArgs.status;
|
||||
if (eventArgs.message) {
|
||||
@@ -240,7 +239,7 @@ export class TaskService implements ITaskService {
|
||||
|
||||
public getNumberOfInProgressTasks(): number {
|
||||
if (this._taskQueue.hasChildren) {
|
||||
var inProgressTasks = this._taskQueue.children.filter(x => x.status === TaskStatus.InProgress);
|
||||
let inProgressTasks = this._taskQueue.children.filter(x => x.status === TaskStatus.InProgress);
|
||||
return inProgressTasks ? inProgressTasks.length : 0;
|
||||
}
|
||||
return 0;
|
||||
@@ -249,4 +248,4 @@ export class TaskService implements ITaskService {
|
||||
public getAllTasks(): TaskNode {
|
||||
return this._taskQueue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ export class SqlTelemetryContribution extends Disposable implements IWorkbenchCo
|
||||
|
||||
|
||||
/* send monthly uses once the user launches on a day that's in a month
|
||||
after the last time we sent a monthly usage count */
|
||||
after the last time we sent a monthly usage count */
|
||||
const monthlyUseCount: number = storageService.getNumber('telemetry.monthlyUseCount', StorageScope.GLOBAL, 0);
|
||||
if (this.didMonthChange(monthlyLastUseDate)) {
|
||||
telemetryService.publicLog('telemetry.monthlyUse', { monthlyFirstUse: true });
|
||||
@@ -136,9 +136,9 @@ export class SqlTelemetryContribution extends Disposable implements IWorkbenchCo
|
||||
}
|
||||
|
||||
/**
|
||||
Growth Metrics
|
||||
Active here means opened app atleast 1 time in a month
|
||||
*/
|
||||
* Growth Metrics
|
||||
* Active here means opened app atleast 1 time in a month
|
||||
*/
|
||||
export enum UserGrowthType {
|
||||
// first time opening app
|
||||
NewUser = 1,
|
||||
|
||||
39
src/sql/sqlops.d.ts
vendored
39
src/sql/sqlops.d.ts
vendored
@@ -54,8 +54,8 @@ declare module 'sqlops' {
|
||||
export namespace credentials {
|
||||
/**
|
||||
* Register a credential provider to handle credential requests.
|
||||
* @param {CredentialProvider} provider The provider to register
|
||||
* @return {Disposable} Handle to the provider for disposal
|
||||
* @param provider The provider to register
|
||||
* @return Handle to the provider for disposal
|
||||
*/
|
||||
export function registerProvider(provider: CredentialProvider): vscode.Disposable;
|
||||
|
||||
@@ -63,8 +63,8 @@ declare module 'sqlops' {
|
||||
* Retrieves a provider from the extension host if one has been registered. Any credentials
|
||||
* accessed with the returned provider will have the namespaceId appended to credential ID
|
||||
* to prevent extensions from trampling over each others' credentials.
|
||||
* @param {string} namespaceId ID that will be appended to credential IDs.
|
||||
* @return {Thenable<CredentialProvider>} Promise that returns the namespaced provider
|
||||
* @param namespaceId ID that will be appended to credential IDs.
|
||||
* @return Promise that returns the namespaced provider
|
||||
*/
|
||||
export function getProvider(namespaceId: string): Thenable<CredentialProvider>;
|
||||
}
|
||||
@@ -97,14 +97,14 @@ declare module 'sqlops' {
|
||||
|
||||
/**
|
||||
* Get the credentials for an active connection
|
||||
* @param {string} connectionId The id of the connection
|
||||
* @returns {{ [name: string]: string}} A dictionary containing the credentials as they would be included in the connection's options dictionary
|
||||
* @param connectionId The id of the connection
|
||||
* @returns A dictionary containing the credentials as they would be included in the connection's options dictionary
|
||||
*/
|
||||
export function getCredentials(connectionId: string): Thenable<{ [name: string]: string }>;
|
||||
|
||||
/**
|
||||
* Get ServerInfo for a connectionId
|
||||
* @param {string} connectionId The id of the connection
|
||||
* @param connectionId The id of the connection
|
||||
* @returns ServerInfo
|
||||
*/
|
||||
export function getServerInfo(connectionId: string): Thenable<ServerInfo>;
|
||||
@@ -133,35 +133,35 @@ declare module 'sqlops' {
|
||||
* Get an Object Explorer node corresponding to the given connection and path. If no path
|
||||
* is given, it returns the top-level node for the given connection. If there is no node at
|
||||
* the given path, it returns undefined.
|
||||
* @param {string} connectionId The id of the connection that the node exists on
|
||||
* @param {string?} nodePath The path of the node to get
|
||||
* @returns {ObjectExplorerNode} The node corresponding to the given connection and path,
|
||||
* @param connectionId The id of the connection that the node exists on
|
||||
* @param nodePath The path of the node to get
|
||||
* @returns The node corresponding to the given connection and path,
|
||||
* or undefined if no such node exists.
|
||||
*/
|
||||
export function getNode(connectionId: string, nodePath?: string): Thenable<ObjectExplorerNode>;
|
||||
|
||||
/**
|
||||
* Get all active Object Explorer connection nodes
|
||||
* @returns {ObjectExplorerNode[]} The Object Explorer nodes for each saved connection
|
||||
* @returns The Object Explorer nodes for each saved connection
|
||||
*/
|
||||
export function getActiveConnectionNodes(): Thenable<ObjectExplorerNode[]>;
|
||||
|
||||
/**
|
||||
* Find Object Explorer nodes that match the given information
|
||||
* @param {string} connectionId The id of the connection that the node exists on
|
||||
* @param {string} type The type of the object to retrieve
|
||||
* @param {string} schema The schema of the object, if applicable
|
||||
* @param {string} name The name of the object
|
||||
* @param {string} database The database the object exists under, if applicable
|
||||
* @param {string[]} parentObjectNames A list of names of parent objects in the tree, ordered from highest to lowest level
|
||||
* @param connectionId The id of the connection that the node exists on
|
||||
* @param type The type of the object to retrieve
|
||||
* @param schema The schema of the object, if applicable
|
||||
* @param name The name of the object
|
||||
* @param database The database the object exists under, if applicable
|
||||
* @param parentObjectNames A list of names of parent objects in the tree, ordered from highest to lowest level
|
||||
* (for example when searching for a table's column, provide the name of its parent table for this argument)
|
||||
*/
|
||||
export function findNodes(connectionId: string, type: string, schema: string, name: string, database: string, parentObjectNames: string[]): Thenable<ObjectExplorerNode[]>;
|
||||
|
||||
/**
|
||||
* Get connectionProfile from sessionId
|
||||
* *@param {string} sessionId The id of the session that the node exists on
|
||||
* @returns {IConnectionProfile} The IConnecitonProfile for the session
|
||||
* @param sessionId The id of the session that the node exists on
|
||||
* @returns The IConnecitonProfile for the session
|
||||
*/
|
||||
export function getSessionConnectionProfile(sessionId: string): Thenable<IConnectionProfile>;
|
||||
|
||||
@@ -1718,7 +1718,6 @@ declare module 'sqlops' {
|
||||
export namespace window {
|
||||
/**
|
||||
* @deprecated this method has been deprecated and will be removed in a future release, please use sqlops.window.createWebViewDialog instead.
|
||||
* @param title
|
||||
*/
|
||||
export function createDialog(
|
||||
title: string
|
||||
|
||||
39
src/sql/sqlops.proposed.d.ts
vendored
39
src/sql/sqlops.proposed.d.ts
vendored
@@ -13,7 +13,6 @@ declare module 'sqlops' {
|
||||
/**
|
||||
* Supports defining a model that can be instantiated as a view in the UI
|
||||
* @export
|
||||
* @interface ModelBuilder
|
||||
*/
|
||||
export interface ModelBuilder {
|
||||
navContainer(): ContainerBuilder<NavContainer, any, any>;
|
||||
@@ -117,7 +116,7 @@ declare module 'sqlops' {
|
||||
* Creates a collection of child components and adds them all to this container
|
||||
*
|
||||
* @param formComponents the definitions
|
||||
* @param {*} [itemLayout] Optional layout for the child items
|
||||
* @param [itemLayout] Optional layout for the child items
|
||||
*/
|
||||
addFormItems(formComponents: Array<FormComponent | FormComponentGroup>, itemLayout?: FormItemLayout): void;
|
||||
|
||||
@@ -125,7 +124,7 @@ declare module 'sqlops' {
|
||||
* Creates a child component and adds it to this container.
|
||||
*
|
||||
* @param formComponent the component to be added
|
||||
* @param {*} [itemLayout] Optional layout for this child item
|
||||
* @param [itemLayout] Optional layout for this child item
|
||||
*/
|
||||
addFormItem(formComponent: FormComponent | FormComponentGroup, itemLayout?: FormItemLayout): void;
|
||||
|
||||
@@ -139,7 +138,6 @@ declare module 'sqlops' {
|
||||
|
||||
/**
|
||||
* Removes a from item from the from
|
||||
* @param formComponent
|
||||
*/
|
||||
removeFormItem(formComponent: FormComponent | FormComponentGroup): boolean;
|
||||
}
|
||||
@@ -150,18 +148,16 @@ declare module 'sqlops' {
|
||||
/**
|
||||
* Sends any updated properties of the component to the UI
|
||||
*
|
||||
* @returns {Thenable<void>} Thenable that completes once the update
|
||||
* @returns henable that completes once the update
|
||||
* has been applied in the UI
|
||||
* @memberof Component
|
||||
*/
|
||||
updateProperties(properties: { [key: string]: any }): Thenable<void>;
|
||||
|
||||
/**
|
||||
* Sends an updated property of the component to the UI
|
||||
*
|
||||
* @returns {Thenable<void>} Thenable that completes once the update
|
||||
* @returns Thenable that completes once the update
|
||||
* has been applied in the UI
|
||||
* @memberof Component
|
||||
*/
|
||||
updateProperty(key: string, value: any): Thenable<void>;
|
||||
|
||||
@@ -227,7 +223,7 @@ declare module 'sqlops' {
|
||||
* Creates a collection of child components and adds them all to this container
|
||||
*
|
||||
* @param itemConfigs the definitions
|
||||
* @param {*} [itemLayout] Optional layout for the child items
|
||||
* @param [itemLayout] Optional layout for the child items
|
||||
*/
|
||||
addItems(itemConfigs: Array<Component>, itemLayout?: TItemLayout): void;
|
||||
|
||||
@@ -235,8 +231,8 @@ declare module 'sqlops' {
|
||||
* Creates a child component and adds it to this container.
|
||||
* Adding component to multiple containers is not supported
|
||||
*
|
||||
* @param {Component} component the component to be added
|
||||
* @param {*} [itemLayout] Optional layout for this child item
|
||||
* @param component the component to be added
|
||||
* @param [itemLayout] Optional layout for this child item
|
||||
*/
|
||||
addItem(component: Component, itemLayout?: TItemLayout): void;
|
||||
|
||||
@@ -245,7 +241,7 @@ declare module 'sqlops' {
|
||||
* Adding component to multiple containers is not supported
|
||||
* @param component the component to be added
|
||||
* @param index the index to insert the component to
|
||||
* @param {*} [itemLayout] Optional layout for this child item
|
||||
* @param [itemLayout] Optional layout for this child item
|
||||
*/
|
||||
insertItem(component: Component, index: number, itemLayout?: TItemLayout): void;
|
||||
|
||||
@@ -258,7 +254,7 @@ declare module 'sqlops' {
|
||||
/**
|
||||
* Defines the layout for this container
|
||||
*
|
||||
* @param {TLayout} layout object
|
||||
* @param layout object
|
||||
*/
|
||||
setLayout(layout: TLayout): void;
|
||||
}
|
||||
@@ -1193,9 +1189,8 @@ declare module 'sqlops' {
|
||||
}
|
||||
|
||||
/**
|
||||
* creates a web view dialog
|
||||
* @param title
|
||||
*/
|
||||
* creates a web view dialog
|
||||
*/
|
||||
export function createWebViewDialog(title: string): ModalDialog;
|
||||
|
||||
/**
|
||||
@@ -1533,14 +1528,14 @@ declare module 'sqlops' {
|
||||
|
||||
/**
|
||||
* Make connection for the query editor
|
||||
* @param {string} fileUri file URI for the query editor
|
||||
* @param {string} connectionId connection ID
|
||||
* @param fileUri file URI for the query editor
|
||||
* @param connectionId connection ID
|
||||
*/
|
||||
export function connect(fileUri: string, connectionId: string): Thenable<void>;
|
||||
|
||||
/**
|
||||
* Run query if it is a query editor and it is already opened.
|
||||
* @param {string} fileUri file URI for the query editor
|
||||
* @param fileUri file URI for the query editor
|
||||
*/
|
||||
export function runQuery(fileUri: string): void;
|
||||
}
|
||||
@@ -1723,8 +1718,8 @@ declare module 'sqlops' {
|
||||
export namespace connection {
|
||||
/**
|
||||
* List the databases that can be accessed from the given connection
|
||||
* @param {string} connectionId The ID of the connection
|
||||
* @returns {string[]} An list of names of databases
|
||||
* @param connectionId The ID of the connection
|
||||
* @returns An list of names of databases
|
||||
*/
|
||||
export function listDatabases(connectionId: string): Thenable<string[]>;
|
||||
|
||||
@@ -1739,7 +1734,6 @@ declare module 'sqlops' {
|
||||
/**
|
||||
* Opens the connection dialog, calls the callback with the result. If connection was successful
|
||||
* returns the connection otherwise returns undefined
|
||||
* @param callback
|
||||
*/
|
||||
export function openConnectionDialog(providers?: string[], initialConnectionProfile?: IConnectionProfile, connectionCompletionOptions?: IConnectionCompletionOptions): Thenable<connection.Connection>;
|
||||
|
||||
@@ -1754,7 +1748,6 @@ declare module 'sqlops' {
|
||||
/**
|
||||
* All notebook documents currently known to the system.
|
||||
*
|
||||
* @readonly
|
||||
*/
|
||||
export let notebookDocuments: NotebookDocument[];
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
|
||||
import { nb, IConnectionProfile } from 'azdata';
|
||||
import * as vsExtTypes from 'vs/workbench/api/common/extHostTypes';
|
||||
@@ -555,12 +554,12 @@ export enum SchemaUpdateAction {
|
||||
Add = 2
|
||||
}
|
||||
|
||||
export enum SchemaDifferenceType {
|
||||
export enum SchemaDifferenceType {
|
||||
Object = 0,
|
||||
Property = 1
|
||||
}
|
||||
|
||||
export enum SchemaCompareEndpointType {
|
||||
export enum SchemaCompareEndpointType {
|
||||
database = 0,
|
||||
dacpac = 1
|
||||
}
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
|
||||
import { extHostNamedCustomer } from 'vs/workbench/api/common/extHostCustomers';
|
||||
import { SqlMainContext, MainThreadDashboardShape, ExtHostDashboardShape, SqlExtHostContext } from 'sql/workbench/api/node/sqlExtHost.protocol';
|
||||
import { IExtHostContext } from 'vs/workbench/api/common/extHost.protocol';
|
||||
@@ -15,14 +14,14 @@ export class MainThreadDashboard implements MainThreadDashboardShape {
|
||||
|
||||
constructor(
|
||||
context: IExtHostContext,
|
||||
@IDashboardService private _dashboardService: IDashboardService
|
||||
@IDashboardService dashboardService: IDashboardService
|
||||
) {
|
||||
this._proxy = context.getProxy(SqlExtHostContext.ExtHostDashboard);
|
||||
_dashboardService.onDidChangeToDashboard(e => {
|
||||
dashboardService.onDidChangeToDashboard(e => {
|
||||
this._proxy.$onDidChangeToDashboard(e);
|
||||
});
|
||||
|
||||
_dashboardService.onDidOpenDashboard(e => {
|
||||
dashboardService.onDidOpenDashboard(e => {
|
||||
this._proxy.$onDidOpenDashboard(e);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import * as azdata from 'azdata';
|
||||
import { Disposable } from 'vs/workbench/api/common/extHostTypes';
|
||||
import {
|
||||
@@ -143,7 +141,7 @@ export class ExtHostAccountManagement extends ExtHostAccountManagementShape {
|
||||
|
||||
/**
|
||||
* This method is for testing only, it is not exposed via the shape.
|
||||
* @return {number} Number of providers that are currently registered
|
||||
* @return Number of providers that are currently registered
|
||||
*/
|
||||
public getProviderCount(): number {
|
||||
return Object.keys(this._providers).length;
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
|
||||
import { IMainContext } from 'vs/workbench/api/common/extHost.protocol';
|
||||
import { SqlMainContext, MainThreadCredentialManagementShape, ExtHostCredentialManagementShape } from 'sql/workbench/api/node/sqlExtHost.protocol';
|
||||
@@ -93,7 +92,7 @@ export class ExtHostCredentialManagement extends ExtHostCredentialManagementShap
|
||||
|
||||
/**
|
||||
* Helper method for tests. Not exposed via shape.
|
||||
* @return {number} Number of providers registered
|
||||
* @return Number of providers registered
|
||||
*/
|
||||
public getProviderCount(): number {
|
||||
return Object.keys(this._adapter).length;
|
||||
|
||||
@@ -358,11 +358,11 @@ export class ExtHostDataProtocol extends ExtHostDataProtocolShape {
|
||||
}
|
||||
|
||||
public $expandObjectExplorerNode(handle: number, nodeInfo: azdata.ExpandNodeInfo): Thenable<boolean> {
|
||||
return this._resolveProvider<azdata.ObjectExplorerProviderBase> (handle).expandNode(nodeInfo);
|
||||
return this._resolveProvider<azdata.ObjectExplorerProviderBase>(handle).expandNode(nodeInfo);
|
||||
}
|
||||
|
||||
public $refreshObjectExplorerNode(handle: number, nodeInfo: azdata.ExpandNodeInfo): Thenable<boolean> {
|
||||
return this._resolveProvider<azdata.ObjectExplorerProviderBase> (handle).refreshNode(nodeInfo);
|
||||
return this._resolveProvider<azdata.ObjectExplorerProviderBase>(handle).refreshNode(nodeInfo);
|
||||
}
|
||||
|
||||
public $closeObjectExplorerSession(handle: number, closeSessionInfo: azdata.ObjectExplorerCloseSessionInfo): Thenable<azdata.ObjectExplorerCloseSessionResponse> {
|
||||
|
||||
@@ -99,15 +99,15 @@ export class ExtHostTreeView<T> extends vsTreeExt.ExtHostTreeView<T> {
|
||||
console.error(`No tree item with id \'${parentHandle}\' found.`);
|
||||
}
|
||||
|
||||
this._onNodeCheckedChanged.fire({element: parentElement, checked: checked});
|
||||
this._onNodeCheckedChanged.fire({ element: parentElement, checked: checked });
|
||||
}
|
||||
|
||||
onNodeSelectedChanged(parentHandles?: vsTreeExt.TreeItemHandle[]): void {
|
||||
if (parentHandles) {
|
||||
let nodes = parentHandles.map(parentHandle => {
|
||||
return parentHandle ? this.getExtensionElement(parentHandle) : void 0;
|
||||
return parentHandle ? this.getExtensionElement(parentHandle) : void 0;
|
||||
});
|
||||
this._onChangeSelection.fire({ selection: nodes});
|
||||
this._onChangeSelection.fire({ selection: nodes });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
|
||||
import * as azdata from 'azdata';
|
||||
import * as vscode from 'vscode';
|
||||
@@ -99,7 +98,7 @@ export class ExtHostNotebook implements ExtHostNotebookShape {
|
||||
};
|
||||
return details;
|
||||
} catch (error) {
|
||||
throw typeof(error) === 'string' ? new Error(error) : error;
|
||||
throw typeof (error) === 'string' ? new Error(error) : error;
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -231,7 +230,7 @@ export class ExtHostNotebook implements ExtHostNotebookShape {
|
||||
}
|
||||
|
||||
private findManagerForUri(uriString: string): NotebookManagerAdapter {
|
||||
for(let manager of this.getAdapters(NotebookManagerAdapter)) {
|
||||
for (let manager of this.getAdapters(NotebookManagerAdapter)) {
|
||||
if (manager.uriString === uriString) {
|
||||
return manager;
|
||||
}
|
||||
@@ -279,7 +278,7 @@ export class ExtHostNotebook implements ExtHostNotebookShape {
|
||||
let value = await callback(manager);
|
||||
return value;
|
||||
} catch (error) {
|
||||
throw typeof(error) === 'string' ? new Error(error) : error;
|
||||
throw typeof (error) === 'string' ? new Error(error) : error;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
|
||||
import * as azdata from 'azdata';
|
||||
|
||||
@@ -91,7 +90,7 @@ export class ExtHostNotebookDocumentData implements IDisposable {
|
||||
}
|
||||
|
||||
private _validateIndex(index: number): number {
|
||||
if (typeof(index) !== 'number') {
|
||||
if (typeof (index) !== 'number') {
|
||||
throw new Error('Invalid argument');
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
|
||||
import * as azdata from 'azdata';
|
||||
import * as vscode from 'vscode';
|
||||
@@ -70,7 +69,7 @@ export class NotebookEditorEdit {
|
||||
private getAsRange(location: number | CellRange): CellRange {
|
||||
let range: CellRange = null;
|
||||
if (typeof (location) === 'number') {
|
||||
range = new CellRange(location, location+1);
|
||||
range = new CellRange(location, location + 1);
|
||||
}
|
||||
else if (location instanceof CellRange) {
|
||||
range = location;
|
||||
@@ -81,7 +80,7 @@ export class NotebookEditorEdit {
|
||||
return range;
|
||||
}
|
||||
|
||||
insertCell(value: Partial<azdata.nb.ICellContents>, location?: number): void {
|
||||
insertCell(value: Partial<azdata.nb.ICellContents>, location?: number): void {
|
||||
if (location === null || location === undefined) {
|
||||
// If not specified, assume adding to end of list
|
||||
location = this._document.cells.length;
|
||||
@@ -92,11 +91,11 @@ export class NotebookEditorEdit {
|
||||
deleteCell(index: number): void {
|
||||
let range: CellRange = null;
|
||||
|
||||
if (typeof(index) === 'number') {
|
||||
if (typeof (index) === 'number') {
|
||||
// Currently only allowing single-cell deletion.
|
||||
// Do this by saying the range extends over 1 cell so on the main thread
|
||||
// we can delete that cell, then handle insertions
|
||||
range = new CellRange(index, index+1);
|
||||
range = new CellRange(index, index + 1);
|
||||
} else {
|
||||
throw new Error('Unrecognized index');
|
||||
}
|
||||
@@ -104,7 +103,7 @@ export class NotebookEditorEdit {
|
||||
this._pushEdit(range, null, true);
|
||||
}
|
||||
|
||||
private _pushEdit(range: azdata.nb.CellRange, cell: Partial<azdata.nb.ICellContents>, forceMoveMarkers: boolean): void {
|
||||
private _pushEdit(range: azdata.nb.CellRange, cell: Partial<azdata.nb.ICellContents>, forceMoveMarkers: boolean): void {
|
||||
let validRange = this._document.validateCellRange(range);
|
||||
this._collectedEdits.push({
|
||||
range: validRange,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user