mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-10 18:22:34 -05:00
* Added Azure Log Analytics resource for generating AAD Token. * Fixed AzureResource * Removed debug code from connectionManagementService * Moved AzureLogAnalytics from AzureResource enum in azdata.d.ts to azdata.proposed.d.ts. Added azureLogAnalyticsResource to all azureSettings in providerSettings.ts * Updated endpoint for generating AAD Token for LogAnalytics for UsGov, UsNat, and China * Initial Commit of Azure Monitor Extension * Added extension name to azuremonitor package strings * Removed azureMonitor resource from germanyCloud in providerSettings * Added logic to exclude menuItems in object explorer for LogAnalytics * Changed exe from AzureMonitor to Kusto * Added if clause for queryName for new queries * Changed queryWindow name from KustoQuery to KQLQuery for Kusto and LogAnalytics. * Added LogAnalytics for setTaskBarContent * Added serialization and telemetry feature classes to AzureMonitor. Added references for azdata and vscode. * Added azure monitor light and dark icons * Added config for Dashboard in package.json * Added workspace information to dashboard * Added language support for LogAnalytics * Added Notebook support * Added Hide flag to package.json for databaseName * Changed providerId from LogAnalytics to LOGANALYTICS * Changed Workspace to Workspace ID in package.nls.json * Added support for Azure Widget browser * Changed fullName to use workspaceId when connecting * Changed providerId from alertsManagement to azureMonitor * Added .gitignore and *.vsix to vscodeignore. * Removed unused devDependencies * Code Review Feedback * Changed tsconfig.json to match Kusto and Sql * Changed package.json to match kusto package. * Changed tsconfig to validate unused params and implictAny. Changed existing code to satisfy build. * Fixed tsconfig to use the correct base class. * Added objectExplorerNodeProvider and all related classes. * Removed unused tmLanguage file * Added logic to to download extension from toolservice * Fixed launchArgs. Removed commented code from extension.ts. Changed config.json to use net5.0 * Added displayName to package.nls.json. Removed hide flag from databaseName. Other code review feedback. * Added readme info to AzureMonitor * Removed unused client-error-handler and ui-references files. Combined outputChannel in azuremonitorServer. Removed TODO from contextProvider. Renamed function in extension.ts. Removed unneeded 'use strict' from cancelableStream.ts. Removed second outputChannel from objectExplorerNodeProvider. * Removed unused files
74 lines
2.9 KiB
TypeScript
74 lines
2.9 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
// TODO: Common file with mssql
|
|
import vscode = require('vscode');
|
|
|
|
export class QuestionTypes {
|
|
public static get input(): string { return 'input'; }
|
|
public static get password(): string { return 'password'; }
|
|
public static get list(): string { return 'list'; }
|
|
public static get confirm(): string { return 'confirm'; }
|
|
public static get checkbox(): string { return 'checkbox'; }
|
|
public static get expand(): string { return 'expand'; }
|
|
}
|
|
|
|
// Question interface to clarify how to use the prompt feature
|
|
// based on Bower Question format: https://github.com/bower/bower/blob/89069784bb46bfd6639b4a75e98a0d7399a8c2cb/packages/bower-logger/README.md
|
|
export interface IQuestion {
|
|
// Type of question (see QuestionTypes)
|
|
type: string;
|
|
// Name of the question for disambiguation
|
|
name: string;
|
|
// Message to display to the user
|
|
message: string;
|
|
// Optional placeHolder to give more detailed information to the user
|
|
placeHolder?: any;
|
|
// Optional default value - this will be used instead of placeHolder
|
|
default?: any;
|
|
// optional set of choices to be used. Can be QuickPickItems or a simple name-value pair
|
|
choices?: Array<vscode.QuickPickItem | INameValueChoice>;
|
|
// Optional validation function that returns an error string if validation fails
|
|
validate?: (value: any) => string;
|
|
// Optional pre-prompt function. Takes in set of answers so far, and returns true if prompt should occur
|
|
shouldPrompt?: (answers: { [id: string]: any }) => boolean;
|
|
// Optional action to take on the question being answered
|
|
onAnswered?: (value: any) => void;
|
|
// Optional set of options to support matching choices.
|
|
matchOptions?: vscode.QuickPickOptions;
|
|
}
|
|
|
|
// Pair used to display simple choices to the user
|
|
export interface INameValueChoice {
|
|
name: string;
|
|
value: any;
|
|
}
|
|
|
|
// Generic object that can be used to define a set of questions and handle the result
|
|
export interface IQuestionHandler {
|
|
// Set of questions to be answered
|
|
questions: IQuestion[];
|
|
// Optional callback, since questions may handle themselves
|
|
callback?: IPromptCallback;
|
|
}
|
|
|
|
export type Answers<T> = { [key: string]: T };
|
|
|
|
export interface IPrompter {
|
|
promptSingle<T>(question: IQuestion, ignoreFocusOut?: boolean): Promise<T | undefined>;
|
|
/**
|
|
* Prompts for multiple questions
|
|
*
|
|
* @returns Map of question IDs to results, or undefined if
|
|
* the user canceled the question session
|
|
*/
|
|
prompt<T>(questions: IQuestion[], ignoreFocusOut?: boolean): Promise<Answers<T> | undefined>;
|
|
promptCallback(questions: IQuestion[], callback: IPromptCallback): void;
|
|
}
|
|
|
|
export interface IPromptCallback {
|
|
(answers: { [id: string]: any }): void;
|
|
}
|