mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-17 02:51:36 -05:00
Hygiene linting for extensions + new rule (#7843)
* linting for extensions + new rule * Remove unneeded array * Fix spelling mistake * Fix bad merge
This commit is contained in:
@@ -197,7 +197,33 @@ const tslintBaseFilter = [
|
||||
'!extensions/big-data-cluster/src/bigDataCluster/controller/tokenApiGenerated.ts' // {{SQL CARBON EDIT}},
|
||||
];
|
||||
|
||||
const sqlFilter = ['src/sql/**']; // {{SQL CARBON EDIT}}
|
||||
// {{SQL CARBON EDIT}}
|
||||
const sqlFilter = [
|
||||
'src/sql/**',
|
||||
'extensions/**',
|
||||
// Ignore VS Code extensions
|
||||
'!extensions/bat/**',
|
||||
'!extensions/configuration-editing/**',
|
||||
'!extensions/docker/**',
|
||||
'!extensions/extension-editing/**',
|
||||
'!extensions/git/**',
|
||||
'!extensions/git-ui/**',
|
||||
'!extensions/image-preview/**',
|
||||
'!extensions/insights-default/**',
|
||||
'!extensions/json/**',
|
||||
'!extensions/json-language-features/**',
|
||||
'!extensions/markdown-basics/**',
|
||||
'!extensions/markdown-language-features/**',
|
||||
'!extensions/merge-conflict/**',
|
||||
'!extensions/powershell/**',
|
||||
'!extensions/python/**',
|
||||
'!extensions/r/**',
|
||||
'!extensions/theme-*/**',
|
||||
'!extensions/vscode-*/**',
|
||||
'!extensions/xml/**',
|
||||
'!extensions/xml-language-features/**',
|
||||
'!extensions/yarml/**',
|
||||
];
|
||||
|
||||
const tslintCoreFilter = [
|
||||
'src/**/*.ts',
|
||||
@@ -379,6 +405,7 @@ function hygiene(some) {
|
||||
input = some;
|
||||
}
|
||||
|
||||
// {{SQL CARBON EDIT}} Linting for SQL
|
||||
const tslintSqlConfiguration = tslint.Configuration.findConfiguration('tslint-sql.json', '.');
|
||||
const tslintSqlOptions = { fix: false, formatter: 'json' };
|
||||
const sqlTsLinter = new tslint.Linter(tslintSqlOptions);
|
||||
@@ -407,8 +434,8 @@ function hygiene(some) {
|
||||
if (!process.argv.some(arg => arg === '--skip-tslint')) {
|
||||
typescript = typescript.pipe(tsl);
|
||||
typescript = typescript
|
||||
.pipe(filter(sqlFilter))
|
||||
.pipe(sqlTsl); // {{SQL CARBON EDIT}}
|
||||
.pipe(filter(sqlFilter)) // {{SQL CARBON EDIT}}
|
||||
.pipe(sqlTsl);
|
||||
}
|
||||
|
||||
const javascript = result
|
||||
|
||||
@@ -48,9 +48,7 @@ class DoubleQuotedStringArgRuleWalker extends Lint.RuleWalker {
|
||||
const argText = arg.getText();
|
||||
const doubleQuotedArg = argText.length >= 2 && argText[0] === DoubleQuotedStringArgRuleWalker.DOUBLE_QUOTE && argText[argText.length - 1] === DoubleQuotedStringArgRuleWalker.DOUBLE_QUOTE;
|
||||
if (!doubleQuotedArg) {
|
||||
const fix = [
|
||||
Lint.Replacement.replaceFromTo(arg.getStart(), arg.getWidth(), `"${arg.getText().slice(1, arg.getWidth() - 2)}"`),
|
||||
];
|
||||
const fix = Lint.Replacement.replaceFromTo(arg.getStart(), arg.getEnd(), `"${arg.getText().slice(1, arg.getWidth() - 1)}"`);
|
||||
this.addFailure(this.createFailure(arg.getStart(), arg.getWidth(), `Argument ${this.argIndex + 1} to '${functionName}' must be double quoted.`, fix));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -68,9 +68,7 @@ class DoubleQuotedStringArgRuleWalker extends Lint.RuleWalker {
|
||||
const doubleQuotedArg = argText.length >= 2 && argText[0] === DoubleQuotedStringArgRuleWalker.DOUBLE_QUOTE && argText[argText.length - 1] === DoubleQuotedStringArgRuleWalker.DOUBLE_QUOTE;
|
||||
|
||||
if (!doubleQuotedArg) {
|
||||
const fix = [
|
||||
Lint.Replacement.replaceFromTo(arg.getStart(), arg.getWidth(), `"${arg.getText().slice(1, arg.getWidth() - 2)}"`),
|
||||
];
|
||||
const fix = Lint.Replacement.replaceFromTo(arg.getStart(), arg.getEnd(), `"${arg.getText().slice(1, arg.getWidth() - 1)}"`);
|
||||
this.addFailure(this.createFailure(
|
||||
arg.getStart(), arg.getWidth(),
|
||||
`Argument ${this.argIndex! + 1} to '${functionName}' must be double quoted.`, fix));
|
||||
|
||||
49
build/lib/tslint/noUnderscoreInLocalizeKeysRule.js
Normal file
49
build/lib/tslint/noUnderscoreInLocalizeKeysRule.js
Normal file
@@ -0,0 +1,49 @@
|
||||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const ts = require("typescript");
|
||||
const Lint = require("tslint");
|
||||
/**
|
||||
* Implementation of the no-localize-keys-with-underscore rule which verifies that keys to the localize
|
||||
* calls don't contain underscores (_) since those break the localization process.
|
||||
*/
|
||||
class Rule extends Lint.Rules.AbstractRule {
|
||||
apply(sourceFile) {
|
||||
return this.applyWithWalker(new NoLocalizeKeysWithUnderscore(sourceFile, this.getOptions()));
|
||||
}
|
||||
}
|
||||
exports.Rule = Rule;
|
||||
const signatures = [
|
||||
"localize",
|
||||
"nls.localize"
|
||||
];
|
||||
class NoLocalizeKeysWithUnderscore extends Lint.RuleWalker {
|
||||
constructor(file, opts) {
|
||||
super(file, opts);
|
||||
}
|
||||
visitCallExpression(node) {
|
||||
this.checkCallExpression(node);
|
||||
super.visitCallExpression(node);
|
||||
}
|
||||
checkCallExpression(node) {
|
||||
// If this isn't one of the localize functions then continue on
|
||||
const functionName = node.expression.getText();
|
||||
if (functionName && !signatures.some(s => s === functionName)) {
|
||||
return;
|
||||
}
|
||||
const arg = node && node.arguments && node.arguments.length > 0 ? node.arguments[0] : undefined; // The key is the first element
|
||||
// Ignore if the arg isn't a string - we expect the compiler to warn if that's an issue
|
||||
if (arg && ts.isStringLiteral(arg)) {
|
||||
if (arg.getText().indexOf('_') >= 0) {
|
||||
const fix = [
|
||||
Lint.Replacement.replaceFromTo(arg.getStart(), arg.getEnd(), `${arg.getText().replace(/_/g, '.')}`),
|
||||
];
|
||||
this.addFailure(this.createFailure(arg.getStart(), arg.getWidth(), `Keys for localize calls must not contain underscores. Use periods (.) instead.`, fix));
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
55
build/lib/tslint/noUnderscoreInLocalizeKeysRule.ts
Normal file
55
build/lib/tslint/noUnderscoreInLocalizeKeysRule.ts
Normal file
@@ -0,0 +1,55 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as ts from 'typescript';
|
||||
import * as Lint from 'tslint';
|
||||
|
||||
/**
|
||||
* Implementation of the no-localize-keys-with-underscore rule which verifies that keys to the localize
|
||||
* calls don't contain underscores (_) since those break the localization process.
|
||||
*/
|
||||
export class Rule extends Lint.Rules.AbstractRule {
|
||||
public apply(sourceFile: ts.SourceFile): Lint.RuleFailure[] {
|
||||
return this.applyWithWalker(new NoLocalizeKeysWithUnderscore(sourceFile, this.getOptions()));
|
||||
}
|
||||
}
|
||||
|
||||
const signatures = [
|
||||
"localize",
|
||||
"nls.localize"
|
||||
];
|
||||
|
||||
class NoLocalizeKeysWithUnderscore extends Lint.RuleWalker {
|
||||
|
||||
constructor(file: ts.SourceFile, opts: Lint.IOptions) {
|
||||
super(file, opts);
|
||||
}
|
||||
|
||||
protected visitCallExpression(node: ts.CallExpression): void {
|
||||
this.checkCallExpression(node);
|
||||
super.visitCallExpression(node);
|
||||
}
|
||||
|
||||
private checkCallExpression(node: ts.CallExpression): void {
|
||||
// If this isn't one of the localize functions then continue on
|
||||
const functionName = node.expression.getText();
|
||||
if (functionName && !signatures.some(s => s === functionName)) {
|
||||
return;
|
||||
}
|
||||
const arg = node && node.arguments && node.arguments.length > 0 ? node.arguments[0] : undefined; // The key is the first element
|
||||
// Ignore if the arg isn't a string - we expect the compiler to warn if that's an issue
|
||||
if(arg && ts.isStringLiteral(arg)) {
|
||||
if (arg.getText().indexOf('_') >= 0) {
|
||||
const fix = [
|
||||
Lint.Replacement.replaceFromTo(arg.getStart(), arg.getEnd(), `${arg.getText().replace(/_/g, '.')}`),
|
||||
];
|
||||
this.addFailure(this.createFailure(
|
||||
arg.getStart(), arg.getWidth(),
|
||||
`Keys for localize calls must not contain underscores. Use periods (.) instead.`, fix));
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -99,7 +99,7 @@ function registerCommands(context: vscode.ExtensionContext): void {
|
||||
async function handleLaunchSsmsMinPropertiesDialogCommand(connectionContext?: azdata.ObjectExplorerContext): Promise<void> {
|
||||
if (!connectionContext) {
|
||||
TelemetryReporter.sendErrorEvent(TelemetryViews.SsmsMinProperties, 'NoConnectionContext');
|
||||
vscode.window.showErrorMessage(localize('adminToolExtWin.noConnectionContextForProp', 'No ConnectionContext provided for handleLaunchSsmsMinPropertiesDialogCommand'));
|
||||
vscode.window.showErrorMessage(localize('adminToolExtWin.noConnectionContextForProp', "No ConnectionContext provided for handleLaunchSsmsMinPropertiesDialogCommand"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ async function handleLaunchSsmsMinPropertiesDialogCommand(connectionContext?: az
|
||||
nodeType = connectionContext.nodeInfo.nodeType;
|
||||
} else {
|
||||
TelemetryReporter.sendErrorEvent(TelemetryViews.SsmsMinProperties, 'NoOENode');
|
||||
vscode.window.showErrorMessage(localize('adminToolExtWin.noOENode', 'Could not determine Object Explorer node from connectionContext : {0}', JSON.stringify(connectionContext)));
|
||||
vscode.window.showErrorMessage(localize('adminToolExtWin.noOENode', "Could not determine Object Explorer node from connectionContext : {0}", JSON.stringify(connectionContext)));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -128,7 +128,7 @@ async function handleLaunchSsmsMinGswDialogCommand(connectionContext?: azdata.Ob
|
||||
const action = 'GenerateScripts';
|
||||
if (!connectionContext) {
|
||||
TelemetryReporter.sendErrorEvent(TelemetryViews.SsmsMinGsw, 'NoConnectionContext');
|
||||
vscode.window.showErrorMessage(localize('adminToolExtWin.noConnectionContextForGsw', 'No ConnectionContext provided for handleLaunchSsmsMinPropertiesDialogCommand'));
|
||||
vscode.window.showErrorMessage(localize('adminToolExtWin.noConnectionContextForGsw', "No ConnectionContext provided for handleLaunchSsmsMinPropertiesDialogCommand"));
|
||||
}
|
||||
|
||||
launchSsmsDialog(
|
||||
@@ -145,7 +145,7 @@ async function handleLaunchSsmsMinGswDialogCommand(connectionContext?: azdata.Ob
|
||||
async function launchSsmsDialog(action: string, connectionContext: azdata.ObjectExplorerContext): Promise<void> {
|
||||
if (!connectionContext.connectionProfile) {
|
||||
TelemetryReporter.sendErrorEvent(TelemetryViews.SsmsMinDialog, 'NoConnectionProfile');
|
||||
vscode.window.showErrorMessage(localize('adminToolExtWin.noConnectionProfile', 'No connectionProfile provided from connectionContext : {0}', JSON.stringify(connectionContext)));
|
||||
vscode.window.showErrorMessage(localize('adminToolExtWin.noConnectionProfile', "No connectionProfile provided from connectionContext : {0}", JSON.stringify(connectionContext)));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -159,7 +159,7 @@ async function launchSsmsDialog(action: string, connectionContext: azdata.Object
|
||||
}
|
||||
else {
|
||||
TelemetryReporter.sendErrorEvent(TelemetryViews.SsmsMinDialog, 'NoOENode');
|
||||
vscode.window.showErrorMessage(localize('adminToolExtWin.noOENode', 'Could not determine Object Explorer node from connectionContext : {0}', JSON.stringify(connectionContext)));
|
||||
vscode.window.showErrorMessage(localize('adminToolExtWin.noOENode', "Could not determine Object Explorer node from connectionContext : {0}", JSON.stringify(connectionContext)));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -191,7 +191,7 @@ async function launchSsmsDialog(action: string, connectionContext: azdata.Object
|
||||
}).withConnectionInfo(connectionContext.connectionProfile)
|
||||
.send();
|
||||
|
||||
vscode.window.setStatusBarMessage(localize('adminToolExtWin.launchingDialogStatus', 'Launching dialog...'), 3000);
|
||||
vscode.window.setStatusBarMessage(localize('adminToolExtWin.launchingDialogStatus', "Launching dialog..."), 3000);
|
||||
|
||||
// This will be an async call since we pass in the callback
|
||||
const proc: ChildProcess = exec(
|
||||
@@ -212,7 +212,7 @@ async function launchSsmsDialog(action: string, connectionContext: azdata.Object
|
||||
if (err !== '') {
|
||||
vscode.window.showErrorMessage(localize(
|
||||
'adminToolExtWin.ssmsMinError',
|
||||
'Error calling SsmsMin with args \'{0}\' - {1}', args, err));
|
||||
"Error calling SsmsMin with args \'{0}\' - {1}", args, err));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -14,9 +14,9 @@ import { JobData } from './jobData';
|
||||
const localize = nls.loadMessageBundle();
|
||||
|
||||
export class AlertData implements IAgentDialogData {
|
||||
public static readonly AlertTypeSqlServerEventString: string = localize('alertData.DefaultAlertTypString', 'SQL Server event alert');
|
||||
public static readonly AlertTypePerformanceConditionString: string = localize('alertDialog.PerformanceCondition', 'SQL Server performance condition alert');
|
||||
public static readonly AlertTypeWmiEventString: string = localize('alertDialog.WmiEvent', 'WMI event alert');
|
||||
public static readonly AlertTypeSqlServerEventString: string = localize('alertData.DefaultAlertTypString', "SQL Server event alert");
|
||||
public static readonly AlertTypePerformanceConditionString: string = localize('alertDialog.PerformanceCondition', "SQL Server performance condition alert");
|
||||
public static readonly AlertTypeWmiEventString: string = localize('alertDialog.WmiEvent', "WMI event alert");
|
||||
public static readonly DefaultAlertTypeString: string = AlertData.AlertTypeSqlServerEventString;
|
||||
|
||||
ownerUri: string;
|
||||
|
||||
@@ -14,12 +14,12 @@ const localize = nls.loadMessageBundle();
|
||||
|
||||
export class JobData implements IAgentDialogData {
|
||||
|
||||
private readonly JobCompletionActionCondition_Always: string = localize('jobData.whenJobCompletes', 'When the job completes');
|
||||
private readonly JobCompletionActionCondition_OnFailure: string = localize('jobData.whenJobFails', 'When the job fails');
|
||||
private readonly JobCompletionActionCondition_OnSuccess: string = localize('jobData.whenJobSucceeds', 'When the job succeeds');
|
||||
private readonly JobCompletionActionCondition_Always: string = localize('jobData.whenJobCompletes', "When the job completes");
|
||||
private readonly JobCompletionActionCondition_OnFailure: string = localize('jobData.whenJobFails', "When the job fails");
|
||||
private readonly JobCompletionActionCondition_OnSuccess: string = localize('jobData.whenJobSucceeds', "When the job succeeds");
|
||||
|
||||
// Error Messages
|
||||
private readonly CreateJobErrorMessage_NameIsEmpty = localize('jobData.jobNameRequired', 'Job name must be provided');
|
||||
private readonly CreateJobErrorMessage_NameIsEmpty = localize('jobData.jobNameRequired', "Job name must be provided");
|
||||
|
||||
private _ownerUri: string;
|
||||
private _jobCategories: string[];
|
||||
|
||||
@@ -17,8 +17,8 @@ const localize = nls.loadMessageBundle();
|
||||
export class JobStepData implements IAgentDialogData {
|
||||
|
||||
// Error Messages
|
||||
private static readonly CreateStepErrorMessage_JobNameIsEmpty = localize('stepData.jobNameRequired', 'Job name must be provided');
|
||||
private static readonly CreateStepErrorMessage_StepNameIsEmpty = localize('stepData.stepNameRequired', 'Step name must be provided');
|
||||
private static readonly CreateStepErrorMessage_JobNameIsEmpty = localize('stepData.jobNameRequired', "Job name must be provided");
|
||||
private static readonly CreateStepErrorMessage_StepNameIsEmpty = localize('stepData.stepNameRequired', "Step name must be provided");
|
||||
|
||||
public dialogMode: AgentDialogMode;
|
||||
public ownerUri: string;
|
||||
|
||||
@@ -13,17 +13,17 @@ import { IAgentDialogData, AgentDialogMode } from '../interfaces';
|
||||
import { NotebookDialogOptions } from '../dialogs/notebookDialog';
|
||||
|
||||
const localize = nls.loadMessageBundle();
|
||||
const NotebookCompletionActionCondition_Always: string = localize('notebookData.whenJobCompletes', 'When the notebook completes');
|
||||
const NotebookCompletionActionCondition_OnFailure: string = localize('notebookData.whenJobFails', 'When the notebook fails');
|
||||
const NotebookCompletionActionCondition_OnSuccess: string = localize('notebookData.whenJobSucceeds', 'When the notebook succeeds');
|
||||
const NotebookCompletionActionCondition_Always: string = localize('notebookData.whenJobCompletes', "When the notebook completes");
|
||||
const NotebookCompletionActionCondition_OnFailure: string = localize('notebookData.whenJobFails', "When the notebook fails");
|
||||
const NotebookCompletionActionCondition_OnSuccess: string = localize('notebookData.whenJobSucceeds', "When the notebook succeeds");
|
||||
|
||||
// Error Messages
|
||||
const CreateNotebookErrorMessage_NameIsEmpty = localize('notebookData.jobNameRequired', 'Notebook name must be provided');
|
||||
const TemplatePathEmptyErrorMessage = localize('notebookData.templatePathRequired', 'Template path must be provided');
|
||||
const InvalidNotebookPathErrorMessage = localize('notebookData.invalidNotebookPath', 'Invalid notebook path');
|
||||
const SelectStorageDatabaseErrorMessage = localize('notebookData.selectStorageDatabase', 'Select storage database');
|
||||
const SelectExecutionDatabaseErrorMessage = localize('notebookData.selectExecutionDatabase', 'Select execution database');
|
||||
const JobWithSameNameExistsErrorMessage = localize('notebookData.jobExists', 'Job with similar name already exists');
|
||||
const CreateNotebookErrorMessage_NameIsEmpty = localize('notebookData.jobNameRequired', "Notebook name must be provided");
|
||||
const TemplatePathEmptyErrorMessage = localize('notebookData.templatePathRequired', "Template path must be provided");
|
||||
const InvalidNotebookPathErrorMessage = localize('notebookData.invalidNotebookPath', "Invalid notebook path");
|
||||
const SelectStorageDatabaseErrorMessage = localize('notebookData.selectStorageDatabase', "Select storage database");
|
||||
const SelectExecutionDatabaseErrorMessage = localize('notebookData.selectExecutionDatabase', "Select execution database");
|
||||
const JobWithSameNameExistsErrorMessage = localize('notebookData.jobExists', "Job with similar name already exists");
|
||||
|
||||
export class NotebookData implements IAgentDialogData {
|
||||
|
||||
|
||||
@@ -13,8 +13,8 @@ const localize = nls.loadMessageBundle();
|
||||
|
||||
export abstract class AgentDialog<T extends IAgentDialogData> {
|
||||
|
||||
private static readonly OkButtonText: string = localize('agentDialog.OK', 'OK');
|
||||
private static readonly CancelButtonText: string = localize('agentDialog.Cancel', 'Cancel');
|
||||
private static readonly OkButtonText: string = localize('agentDialog.OK', "OK");
|
||||
private static readonly CancelButtonText: string = localize('agentDialog.Cancel', "Cancel");
|
||||
|
||||
protected _onSuccess: vscode.EventEmitter<T> = new vscode.EventEmitter<T>();
|
||||
protected _isOpen: boolean = false;
|
||||
|
||||
@@ -19,48 +19,48 @@ const localize = nls.loadMessageBundle();
|
||||
export class AlertDialog extends AgentDialog<AlertData> {
|
||||
|
||||
// Top level
|
||||
private static readonly CreateDialogTitle: string = localize('alertDialog.createAlert', 'Create Alert');
|
||||
private static readonly EditDialogTitle: string = localize('alertDialog.editAlert', 'Edit Alert');
|
||||
private static readonly GeneralTabText: string = localize('alertDialog.General', 'General');
|
||||
private static readonly ResponseTabText: string = localize('alertDialog.Response', 'Response');
|
||||
private static readonly OptionsTabText: string = localize('alertDialog.Options', 'Options');
|
||||
private static readonly EventAlertText: string = localize('alertDialog.eventAlert', 'Event alert definition');
|
||||
private static readonly CreateDialogTitle: string = localize('alertDialog.createAlert', "Create Alert");
|
||||
private static readonly EditDialogTitle: string = localize('alertDialog.editAlert', "Edit Alert");
|
||||
private static readonly GeneralTabText: string = localize('alertDialog.General', "General");
|
||||
private static readonly ResponseTabText: string = localize('alertDialog.Response', "Response");
|
||||
private static readonly OptionsTabText: string = localize('alertDialog.Options', "Options");
|
||||
private static readonly EventAlertText: string = localize('alertDialog.eventAlert', "Event alert definition");
|
||||
|
||||
// General tab strings
|
||||
private static readonly NameLabel: string = localize('alertDialog.Name', 'Name');
|
||||
private static readonly TypeLabel: string = localize('alertDialog.Type', 'Type');
|
||||
private static readonly EnabledCheckboxLabel: string = localize('alertDialog.Enabled', 'Enabled');
|
||||
private static readonly DatabaseLabel: string = localize('alertDialog.DatabaseName', 'Database name');
|
||||
private static readonly ErrorNumberLabel: string = localize('alertDialog.ErrorNumber', 'Error number');
|
||||
private static readonly SeverityLabel: string = localize('alertDialog.Severity', 'Severity');
|
||||
private static readonly RaiseIfMessageContainsLabel: string = localize('alertDialog.RaiseAlertContains', 'Raise alert when message contains');
|
||||
private static readonly MessageTextLabel: string = localize('alertDialog.MessageText', 'Message text');
|
||||
private static readonly AlertSeverity001Label: string = localize('alertDialog.Severity001', '001 - Miscellaneous System Information');
|
||||
private static readonly AlertSeverity002Label: string = localize('alertDialog.Severity002', '002 - Reserved');
|
||||
private static readonly AlertSeverity003Label: string = localize('alertDialog.Severity003', '003 - Reserved');
|
||||
private static readonly AlertSeverity004Label: string = localize('alertDialog.Severity004', '004 - Reserved');
|
||||
private static readonly AlertSeverity005Label: string = localize('alertDialog.Severity005', '005 - Reserved');
|
||||
private static readonly AlertSeverity006Label: string = localize('alertDialog.Severity006', '006 - Reserved');
|
||||
private static readonly AlertSeverity007Label: string = localize('alertDialog.Severity007', '007 - Notification: Status Information');
|
||||
private static readonly AlertSeverity008Label: string = localize('alertDialog.Severity008', '008 - Notification: User Intervention Required');
|
||||
private static readonly AlertSeverity009Label: string = localize('alertDialog.Severity009', '009 - User Defined');
|
||||
private static readonly AlertSeverity010Label: string = localize('alertDialog.Severity010', '010 - Information');
|
||||
private static readonly AlertSeverity011Label: string = localize('alertDialog.Severity011', '011 - Specified Database Object Not Found');
|
||||
private static readonly AlertSeverity012Label: string = localize('alertDialog.Severity012', '012 - Unused');
|
||||
private static readonly AlertSeverity013Label: string = localize('alertDialog.Severity013', '013 - User Transaction Syntax Error');
|
||||
private static readonly AlertSeverity014Label: string = localize('alertDialog.Severity014', '014 - Insufficient Permission');
|
||||
private static readonly AlertSeverity015Label: string = localize('alertDialog.Severity015', '015 - Syntax Error in SQL Statements');
|
||||
private static readonly AlertSeverity016Label: string = localize('alertDialog.Severity016', '016 - Miscellaneous User Error');
|
||||
private static readonly AlertSeverity017Label: string = localize('alertDialog.Severity017', '017 - Insufficient Resources');
|
||||
private static readonly AlertSeverity018Label: string = localize('alertDialog.Severity018', '018 - Nonfatal Internal Error');
|
||||
private static readonly AlertSeverity019Label: string = localize('alertDialog.Severity019', '019 - Fatal Error in Resource');
|
||||
private static readonly AlertSeverity020Label: string = localize('alertDialog.Severity020', '020 - Fatal Error in Current Process');
|
||||
private static readonly AlertSeverity021Label: string = localize('alertDialog.Severity021', '021 - Fatal Error in Database Processes');
|
||||
private static readonly AlertSeverity022Label: string = localize('alertDialog.Severity022', '022 - Fatal Error: Table Integrity Suspect');
|
||||
private static readonly AlertSeverity023Label: string = localize('alertDialog.Severity023', '023 - Fatal Error: Database Integrity Suspect');
|
||||
private static readonly AlertSeverity024Label: string = localize('alertDialog.Severity024', '024 - Fatal Error: Hardware Error');
|
||||
private static readonly AlertSeverity025Label: string = localize('alertDialog.Severity025', '025 - Fatal Error');
|
||||
private static readonly AllDatabases: string = localize('alertDialog.AllDatabases', '<all databases>');
|
||||
private static readonly NameLabel: string = localize('alertDialog.Name', "Name");
|
||||
private static readonly TypeLabel: string = localize('alertDialog.Type', "Type");
|
||||
private static readonly EnabledCheckboxLabel: string = localize('alertDialog.Enabled', "Enabled");
|
||||
private static readonly DatabaseLabel: string = localize('alertDialog.DatabaseName', "Database name");
|
||||
private static readonly ErrorNumberLabel: string = localize('alertDialog.ErrorNumber', "Error number");
|
||||
private static readonly SeverityLabel: string = localize('alertDialog.Severity', "Severity");
|
||||
private static readonly RaiseIfMessageContainsLabel: string = localize('alertDialog.RaiseAlertContains', "Raise alert when message contains");
|
||||
private static readonly MessageTextLabel: string = localize('alertDialog.MessageText', "Message text");
|
||||
private static readonly AlertSeverity001Label: string = localize('alertDialog.Severity001', "001 - Miscellaneous System Information");
|
||||
private static readonly AlertSeverity002Label: string = localize('alertDialog.Severity002', "002 - Reserved");
|
||||
private static readonly AlertSeverity003Label: string = localize('alertDialog.Severity003', "003 - Reserved");
|
||||
private static readonly AlertSeverity004Label: string = localize('alertDialog.Severity004', "004 - Reserved");
|
||||
private static readonly AlertSeverity005Label: string = localize('alertDialog.Severity005', "005 - Reserved");
|
||||
private static readonly AlertSeverity006Label: string = localize('alertDialog.Severity006', "006 - Reserved");
|
||||
private static readonly AlertSeverity007Label: string = localize('alertDialog.Severity007', "007 - Notification: Status Information");
|
||||
private static readonly AlertSeverity008Label: string = localize('alertDialog.Severity008', "008 - Notification: User Intervention Required");
|
||||
private static readonly AlertSeverity009Label: string = localize('alertDialog.Severity009', "009 - User Defined");
|
||||
private static readonly AlertSeverity010Label: string = localize('alertDialog.Severity010', "010 - Information");
|
||||
private static readonly AlertSeverity011Label: string = localize('alertDialog.Severity011', "011 - Specified Database Object Not Found");
|
||||
private static readonly AlertSeverity012Label: string = localize('alertDialog.Severity012', "012 - Unused");
|
||||
private static readonly AlertSeverity013Label: string = localize('alertDialog.Severity013', "013 - User Transaction Syntax Error");
|
||||
private static readonly AlertSeverity014Label: string = localize('alertDialog.Severity014', "014 - Insufficient Permission");
|
||||
private static readonly AlertSeverity015Label: string = localize('alertDialog.Severity015', "015 - Syntax Error in SQL Statements");
|
||||
private static readonly AlertSeverity016Label: string = localize('alertDialog.Severity016', "016 - Miscellaneous User Error");
|
||||
private static readonly AlertSeverity017Label: string = localize('alertDialog.Severity017', "017 - Insufficient Resources");
|
||||
private static readonly AlertSeverity018Label: string = localize('alertDialog.Severity018', "018 - Nonfatal Internal Error");
|
||||
private static readonly AlertSeverity019Label: string = localize('alertDialog.Severity019', "019 - Fatal Error in Resource");
|
||||
private static readonly AlertSeverity020Label: string = localize('alertDialog.Severity020', "020 - Fatal Error in Current Process");
|
||||
private static readonly AlertSeverity021Label: string = localize('alertDialog.Severity021', "021 - Fatal Error in Database Processes");
|
||||
private static readonly AlertSeverity022Label: string = localize('alertDialog.Severity022', "022 - Fatal Error: Table Integrity Suspect");
|
||||
private static readonly AlertSeverity023Label: string = localize('alertDialog.Severity023', "023 - Fatal Error: Database Integrity Suspect");
|
||||
private static readonly AlertSeverity024Label: string = localize('alertDialog.Severity024', "024 - Fatal Error: Hardware Error");
|
||||
private static readonly AlertSeverity025Label: string = localize('alertDialog.Severity025', "025 - Fatal Error");
|
||||
private static readonly AllDatabases: string = localize('alertDialog.AllDatabases', "<all databases>");
|
||||
|
||||
private static readonly AlertTypes: string[] = [
|
||||
AlertData.AlertTypeSqlServerEventString,
|
||||
@@ -98,23 +98,23 @@ export class AlertDialog extends AgentDialog<AlertData> {
|
||||
];
|
||||
|
||||
// Response tab strings
|
||||
private static readonly ExecuteJobCheckBoxLabel: string = localize('alertDialog.ExecuteJob', 'Execute Job');
|
||||
private static readonly ExecuteJobTextBoxLabel: string = localize('alertDialog.ExecuteJobName', 'Job Name');
|
||||
private static readonly NotifyOperatorsTextBoxLabel: string = localize('alertDialog.NotifyOperators', 'Notify Operators');
|
||||
private static readonly NewJobButtonLabel: string = localize('alertDialog.NewJob', 'New Job');
|
||||
private static readonly OperatorListLabel: string = localize('alertDialog.OperatorList', 'Operator List');
|
||||
private static readonly OperatorNameColumnLabel: string = localize('alertDialog.OperatorName', 'Operator');
|
||||
private static readonly OperatorEmailColumnLabel: string = localize('alertDialog.OperatorEmail', 'E-mail');
|
||||
private static readonly OperatorPagerColumnLabel: string = localize('alertDialog.OperatorPager', 'Pager');
|
||||
private static readonly NewOperatorButtonLabel: string = localize('alertDialog.NewOperator', 'New Operator');
|
||||
private static readonly ExecuteJobCheckBoxLabel: string = localize('alertDialog.ExecuteJob', "Execute Job");
|
||||
private static readonly ExecuteJobTextBoxLabel: string = localize('alertDialog.ExecuteJobName', "Job Name");
|
||||
private static readonly NotifyOperatorsTextBoxLabel: string = localize('alertDialog.NotifyOperators', "Notify Operators");
|
||||
private static readonly NewJobButtonLabel: string = localize('alertDialog.NewJob', "New Job");
|
||||
private static readonly OperatorListLabel: string = localize('alertDialog.OperatorList', "Operator List");
|
||||
private static readonly OperatorNameColumnLabel: string = localize('alertDialog.OperatorName', "Operator");
|
||||
private static readonly OperatorEmailColumnLabel: string = localize('alertDialog.OperatorEmail', "E-mail");
|
||||
private static readonly OperatorPagerColumnLabel: string = localize('alertDialog.OperatorPager', "Pager");
|
||||
private static readonly NewOperatorButtonLabel: string = localize('alertDialog.NewOperator', "New Operator");
|
||||
|
||||
// Options tab strings
|
||||
private static readonly IncludeErrorInEmailCheckBoxLabel: string = localize('alertDialog.IncludeErrorInEmail', 'Include alert error text in e-mail');
|
||||
private static readonly IncludeErrorInPagerCheckBoxLabel: string = localize('alertDialog.IncludeErrorInPager', 'Include alert error text in pager');
|
||||
private static readonly AdditionalMessageTextBoxLabel: string = localize('alertDialog.AdditionalNotification', 'Additional notification message to send');
|
||||
private static readonly DelayBetweenResponsesTextBoxLabel: string = localize('alertDialog.DelayBetweenResponse', 'Delay between responses');
|
||||
private static readonly DelayMinutesTextBoxLabel: string = localize('alertDialog.DelayMinutes', 'Delay Minutes');
|
||||
private static readonly DelaySecondsTextBoxLabel: string = localize('alertDialog.DelaySeconds', 'Delay Seconds');
|
||||
private static readonly IncludeErrorInEmailCheckBoxLabel: string = localize('alertDialog.IncludeErrorInEmail', "Include alert error text in e-mail");
|
||||
private static readonly IncludeErrorInPagerCheckBoxLabel: string = localize('alertDialog.IncludeErrorInPager', "Include alert error text in pager");
|
||||
private static readonly AdditionalMessageTextBoxLabel: string = localize('alertDialog.AdditionalNotification', "Additional notification message to send");
|
||||
private static readonly DelayBetweenResponsesTextBoxLabel: string = localize('alertDialog.DelayBetweenResponse', "Delay between responses");
|
||||
private static readonly DelayMinutesTextBoxLabel: string = localize('alertDialog.DelayMinutes', "Delay Minutes");
|
||||
private static readonly DelaySecondsTextBoxLabel: string = localize('alertDialog.DelaySeconds', "Delay Seconds");
|
||||
|
||||
// Event Name strings
|
||||
private readonly NewAlertDialog = 'NewAlertDialogOpen';
|
||||
|
||||
@@ -19,54 +19,54 @@ export class JobDialog extends AgentDialog<JobData> {
|
||||
|
||||
// TODO: localize
|
||||
// Top level
|
||||
private static readonly CreateDialogTitle: string = localize('jobDialog.newJob', 'New Job');
|
||||
private static readonly EditDialogTitle: string = localize('jobDialog.editJob', 'Edit Job');
|
||||
private readonly GeneralTabText: string = localize('jobDialog.general', 'General');
|
||||
private readonly StepsTabText: string = localize('jobDialog.steps', 'Steps');
|
||||
private readonly SchedulesTabText: string = localize('jobDialog.schedules', 'Schedules');
|
||||
private readonly AlertsTabText: string = localize('jobDialog.alerts', 'Alerts');
|
||||
private readonly NotificationsTabText: string = localize('jobDialog.notifications', 'Notifications');
|
||||
private readonly BlankJobNameErrorText: string = localize('jobDialog.blankJobNameError', 'The name of the job cannot be blank.');
|
||||
private static readonly CreateDialogTitle: string = localize('jobDialog.newJob', "New Job");
|
||||
private static readonly EditDialogTitle: string = localize('jobDialog.editJob', "Edit Job");
|
||||
private readonly GeneralTabText: string = localize('jobDialog.general', "General");
|
||||
private readonly StepsTabText: string = localize('jobDialog.steps', "Steps");
|
||||
private readonly SchedulesTabText: string = localize('jobDialog.schedules', "Schedules");
|
||||
private readonly AlertsTabText: string = localize('jobDialog.alerts', "Alerts");
|
||||
private readonly NotificationsTabText: string = localize('jobDialog.notifications', "Notifications");
|
||||
private readonly BlankJobNameErrorText: string = localize('jobDialog.blankJobNameError', "The name of the job cannot be blank.");
|
||||
|
||||
// General tab strings
|
||||
private readonly NameTextBoxLabel: string = localize('jobDialog.name', 'Name');
|
||||
private readonly OwnerTextBoxLabel: string = localize('jobDialog.owner', 'Owner');
|
||||
private readonly CategoryDropdownLabel: string = localize('jobDialog.category', 'Category');
|
||||
private readonly DescriptionTextBoxLabel: string = localize('jobDialog.description', 'Description');
|
||||
private readonly EnabledCheckboxLabel: string = localize('jobDialog.enabled', 'Enabled');
|
||||
private readonly NameTextBoxLabel: string = localize('jobDialog.name', "Name");
|
||||
private readonly OwnerTextBoxLabel: string = localize('jobDialog.owner', "Owner");
|
||||
private readonly CategoryDropdownLabel: string = localize('jobDialog.category', "Category");
|
||||
private readonly DescriptionTextBoxLabel: string = localize('jobDialog.description', "Description");
|
||||
private readonly EnabledCheckboxLabel: string = localize('jobDialog.enabled', "Enabled");
|
||||
|
||||
// Steps tab strings
|
||||
private readonly JobStepsTopLabelString: string = localize('jobDialog.jobStepList', 'Job step list');
|
||||
private readonly StepsTable_StepColumnString: string = localize('jobDialog.step', 'Step');
|
||||
private readonly StepsTable_NameColumnString: string = localize('jobDialog.name', 'Name');
|
||||
private readonly StepsTable_TypeColumnString: string = localize('jobDialog.type', 'Type');
|
||||
private readonly StepsTable_SuccessColumnString: string = localize('jobDialog.onSuccess', 'On Success');
|
||||
private readonly StepsTable_FailureColumnString: string = localize('jobDialog.onFailure', 'On Failure');
|
||||
private readonly NewStepButtonString: string = localize('jobDialog.new', 'New Step');
|
||||
private readonly EditStepButtonString: string = localize('jobDialog.edit', 'Edit Step');
|
||||
private readonly DeleteStepButtonString: string = localize('jobDialog.delete', 'Delete Step');
|
||||
private readonly MoveStepUpButtonString: string = localize('jobDialog.moveUp', 'Move Step Up');
|
||||
private readonly MoveStepDownButtonString: string = localize('jobDialog.moveDown', 'Move Step Down');
|
||||
private readonly StartStepDropdownString: string = localize('jobDialog.startStepAt', 'Start step');
|
||||
private readonly JobStepsTopLabelString: string = localize('jobDialog.jobStepList', "Job step list");
|
||||
private readonly StepsTable_StepColumnString: string = localize('jobDialog.step', "Step");
|
||||
private readonly StepsTable_NameColumnString: string = localize('jobDialog.name', "Name");
|
||||
private readonly StepsTable_TypeColumnString: string = localize('jobDialog.type', "Type");
|
||||
private readonly StepsTable_SuccessColumnString: string = localize('jobDialog.onSuccess', "On Success");
|
||||
private readonly StepsTable_FailureColumnString: string = localize('jobDialog.onFailure', "On Failure");
|
||||
private readonly NewStepButtonString: string = localize('jobDialog.new', "New Step");
|
||||
private readonly EditStepButtonString: string = localize('jobDialog.edit', "Edit Step");
|
||||
private readonly DeleteStepButtonString: string = localize('jobDialog.delete', "Delete Step");
|
||||
private readonly MoveStepUpButtonString: string = localize('jobDialog.moveUp', "Move Step Up");
|
||||
private readonly MoveStepDownButtonString: string = localize('jobDialog.moveDown', "Move Step Down");
|
||||
private readonly StartStepDropdownString: string = localize('jobDialog.startStepAt', "Start step");
|
||||
|
||||
// Notifications tab strings
|
||||
private readonly NotificationsTabTopLabelString: string = localize('jobDialog.notificationsTabTop', 'Actions to perform when the job completes');
|
||||
private readonly EmailCheckBoxString: string = localize('jobDialog.email', 'Email');
|
||||
private readonly PagerCheckBoxString: string = localize('jobDialog.page', 'Page');
|
||||
private readonly EventLogCheckBoxString: string = localize('jobDialog.eventLogCheckBoxLabel', 'Write to the Windows Application event log');
|
||||
private readonly DeleteJobCheckBoxString: string = localize('jobDialog.deleteJobLabel', 'Automatically delete job');
|
||||
private readonly NotificationsTabTopLabelString: string = localize('jobDialog.notificationsTabTop', "Actions to perform when the job completes");
|
||||
private readonly EmailCheckBoxString: string = localize('jobDialog.email', "Email");
|
||||
private readonly PagerCheckBoxString: string = localize('jobDialog.page', "Page");
|
||||
private readonly EventLogCheckBoxString: string = localize('jobDialog.eventLogCheckBoxLabel', "Write to the Windows Application event log");
|
||||
private readonly DeleteJobCheckBoxString: string = localize('jobDialog.deleteJobLabel', "Automatically delete job");
|
||||
|
||||
// Schedules tab strings
|
||||
private readonly SchedulesTopLabelString: string = localize('jobDialog.schedulesaLabel', 'Schedules list');
|
||||
private readonly PickScheduleButtonString: string = localize('jobDialog.pickSchedule', 'Pick Schedule');
|
||||
private readonly ScheduleNameLabelString: string = localize('jobDialog.scheduleNameLabel', 'Schedule Name');
|
||||
private readonly SchedulesTopLabelString: string = localize('jobDialog.schedulesaLabel', "Schedules list");
|
||||
private readonly PickScheduleButtonString: string = localize('jobDialog.pickSchedule', "Pick Schedule");
|
||||
private readonly ScheduleNameLabelString: string = localize('jobDialog.scheduleNameLabel', "Schedule Name");
|
||||
|
||||
// Alerts tab strings
|
||||
private readonly AlertsTopLabelString: string = localize('jobDialog.alertsList', 'Alerts list');
|
||||
private readonly NewAlertButtonString: string = localize('jobDialog.newAlert', 'New Alert');
|
||||
private readonly AlertNameLabelString: string = localize('jobDialog.alertNameLabel', 'Alert Name');
|
||||
private readonly AlertEnabledLabelString: string = localize('jobDialog.alertEnabledLabel', 'Enabled');
|
||||
private readonly AlertTypeLabelString: string = localize('jobDialog.alertTypeLabel', 'Type');
|
||||
private readonly AlertsTopLabelString: string = localize('jobDialog.alertsList', "Alerts list");
|
||||
private readonly NewAlertButtonString: string = localize('jobDialog.newAlert', "New Alert");
|
||||
private readonly AlertNameLabelString: string = localize('jobDialog.alertNameLabel', "Alert Name");
|
||||
private readonly AlertEnabledLabelString: string = localize('jobDialog.alertEnabledLabel', "Enabled");
|
||||
private readonly AlertTypeLabelString: string = localize('jobDialog.alertTypeLabel', "Type");
|
||||
|
||||
// Event Name strings
|
||||
private readonly NewJobDialogEvent: string = 'NewJobDialogOpened';
|
||||
|
||||
@@ -20,63 +20,63 @@ export class JobStepDialog extends AgentDialog<JobStepData> {
|
||||
// TODO: localize
|
||||
// Top level
|
||||
//
|
||||
private static readonly NewDialogTitle: string = localize('jobStepDialog.newJobStep', 'New Job Step');
|
||||
private static readonly EditDialogTitle: string = localize('jobStepDialog.editJobStep', 'Edit Job Step');
|
||||
private readonly FileBrowserDialogTitle: string = localize('jobStepDialog.fileBrowserTitle', 'Locate Database Files - ');
|
||||
private readonly OkButtonText: string = localize('jobStepDialog.ok', 'OK');
|
||||
private readonly CancelButtonText: string = localize('jobStepDialog.cancel', 'Cancel');
|
||||
private readonly GeneralTabText: string = localize('jobStepDialog.general', 'General');
|
||||
private readonly AdvancedTabText: string = localize('jobStepDialog.advanced', 'Advanced');
|
||||
private readonly OpenCommandText: string = localize('jobStepDialog.open', 'Open...');
|
||||
private readonly ParseCommandText: string = localize('jobStepDialog.parse', 'Parse');
|
||||
private readonly SuccessfulParseText: string = localize('jobStepDialog.successParse', 'The command was successfully parsed.');
|
||||
private readonly FailureParseText: string = localize('jobStepDialog.failParse', 'The command failed.');
|
||||
private readonly BlankStepNameErrorText: string = localize('jobStepDialog.blankStepName', 'The step name cannot be left blank');
|
||||
private readonly ProcessExitCodeText: string = localize('jobStepDialog.processExitCode', 'Process exit code of a successful command:');
|
||||
private static readonly NewDialogTitle: string = localize('jobStepDialog.newJobStep', "New Job Step");
|
||||
private static readonly EditDialogTitle: string = localize('jobStepDialog.editJobStep', "Edit Job Step");
|
||||
private readonly FileBrowserDialogTitle: string = localize('jobStepDialog.fileBrowserTitle', "Locate Database Files - ");
|
||||
private readonly OkButtonText: string = localize('jobStepDialog.ok', "OK");
|
||||
private readonly CancelButtonText: string = localize('jobStepDialog.cancel', "Cancel");
|
||||
private readonly GeneralTabText: string = localize('jobStepDialog.general', "General");
|
||||
private readonly AdvancedTabText: string = localize('jobStepDialog.advanced', "Advanced");
|
||||
private readonly OpenCommandText: string = localize('jobStepDialog.open', "Open...");
|
||||
private readonly ParseCommandText: string = localize('jobStepDialog.parse', "Parse");
|
||||
private readonly SuccessfulParseText: string = localize('jobStepDialog.successParse', "The command was successfully parsed.");
|
||||
private readonly FailureParseText: string = localize('jobStepDialog.failParse', "The command failed.");
|
||||
private readonly BlankStepNameErrorText: string = localize('jobStepDialog.blankStepName', "The step name cannot be left blank");
|
||||
private readonly ProcessExitCodeText: string = localize('jobStepDialog.processExitCode', "Process exit code of a successful command:");
|
||||
|
||||
// General Control Titles
|
||||
private readonly StepNameLabelString: string = localize('jobStepDialog.stepNameLabel', 'Step Name');
|
||||
private readonly TypeLabelString: string = localize('jobStepDialog.typeLabel', 'Type');
|
||||
private readonly RunAsLabelString: string = localize('jobStepDialog.runAsLabel', 'Run as');
|
||||
private readonly DatabaseLabelString: string = localize('jobStepDialog.databaseLabel', 'Database');
|
||||
private readonly CommandLabelString: string = localize('jobStepDialog.commandLabel', 'Command');
|
||||
private readonly StepNameLabelString: string = localize('jobStepDialog.stepNameLabel', "Step Name");
|
||||
private readonly TypeLabelString: string = localize('jobStepDialog.typeLabel', "Type");
|
||||
private readonly RunAsLabelString: string = localize('jobStepDialog.runAsLabel', "Run as");
|
||||
private readonly DatabaseLabelString: string = localize('jobStepDialog.databaseLabel', "Database");
|
||||
private readonly CommandLabelString: string = localize('jobStepDialog.commandLabel', "Command");
|
||||
|
||||
// Advanced Control Titles
|
||||
private readonly SuccessActionLabel: string = localize('jobStepDialog.successAction', 'On success action');
|
||||
private readonly FailureActionLabel: string = localize('jobStepDialog.failureAction', 'On failure action');
|
||||
private readonly RunAsUserLabel: string = localize('jobStepDialog.runAsUser', 'Run as user');
|
||||
private readonly RetryAttemptsLabel: string = localize('jobStepDialog.retryAttempts', 'Retry Attempts');
|
||||
private readonly RetryIntervalLabel: string = localize('jobStepDialog.retryInterval', 'Retry Interval (minutes)');
|
||||
private readonly LogToTableLabel: string = localize('jobStepDialog.logToTable', 'Log to table');
|
||||
private readonly AppendExistingTableEntryLabel: string = localize('jobStepDialog.appendExistingTableEntry', 'Append output to exisiting entry in table');
|
||||
private readonly IncludeStepOutputHistoryLabel: string = localize('jobStepDialog.includeStepOutputHistory', 'Include step output in history');
|
||||
private readonly OutputFileNameLabel: string = localize('jobStepDialog.outputFile', 'Output File');
|
||||
private readonly AppendOutputToFileLabel: string = localize('jobStepDialog.appendOutputToFile', 'Append output to existing file');
|
||||
private readonly SuccessActionLabel: string = localize('jobStepDialog.successAction', "On success action");
|
||||
private readonly FailureActionLabel: string = localize('jobStepDialog.failureAction', "On failure action");
|
||||
private readonly RunAsUserLabel: string = localize('jobStepDialog.runAsUser', "Run as user");
|
||||
private readonly RetryAttemptsLabel: string = localize('jobStepDialog.retryAttempts', "Retry Attempts");
|
||||
private readonly RetryIntervalLabel: string = localize('jobStepDialog.retryInterval', "Retry Interval (minutes)");
|
||||
private readonly LogToTableLabel: string = localize('jobStepDialog.logToTable', "Log to table");
|
||||
private readonly AppendExistingTableEntryLabel: string = localize('jobStepDialog.appendExistingTableEntry', "Append output to exisiting entry in table");
|
||||
private readonly IncludeStepOutputHistoryLabel: string = localize('jobStepDialog.includeStepOutputHistory', "Include step output in history");
|
||||
private readonly OutputFileNameLabel: string = localize('jobStepDialog.outputFile', "Output File");
|
||||
private readonly AppendOutputToFileLabel: string = localize('jobStepDialog.appendOutputToFile', "Append output to existing file");
|
||||
|
||||
// File Browser Control Titles
|
||||
private readonly SelectedPathLabelString: string = localize('jobStepDialog.selectedPath', 'Selected path');
|
||||
private readonly FilesOfTypeLabelString: string = localize('jobStepDialog.filesOfType', 'Files of type');
|
||||
private readonly FileNameLabelString: string = localize('jobStepDialog.fileName', 'File name');
|
||||
private readonly AllFilesLabelString: string = localize('jobStepDialog.allFiles', 'All Files (*)');
|
||||
private readonly SelectedPathLabelString: string = localize('jobStepDialog.selectedPath', "Selected path");
|
||||
private readonly FilesOfTypeLabelString: string = localize('jobStepDialog.filesOfType', "Files of type");
|
||||
private readonly FileNameLabelString: string = localize('jobStepDialog.fileName', "File name");
|
||||
private readonly AllFilesLabelString: string = localize('jobStepDialog.allFiles', "All Files (*)");
|
||||
|
||||
// Dropdown options
|
||||
public static readonly TSQLScript: string = localize('jobStepDialog.TSQL', 'Transact-SQL script (T-SQL)');
|
||||
public static readonly Powershell: string = localize('jobStepDialog.powershell', 'PowerShell');
|
||||
public static readonly CmdExec: string = localize('jobStepDialog.CmdExec', 'Operating system (CmdExec)');
|
||||
public static readonly ReplicationDistributor: string = localize('jobStepDialog.replicationDistribution', 'Replication Distributor');
|
||||
public static readonly ReplicationMerge: string = localize('jobStepDialog.replicationMerge', 'Replication Merge');
|
||||
public static readonly ReplicationQueueReader: string = localize('jobStepDialog.replicationQueueReader', 'Replication Queue Reader');
|
||||
public static readonly ReplicationSnapshot: string = localize('jobStepDialog.replicationSnapshot', 'Replication Snapshot');
|
||||
public static readonly ReplicationTransactionLogReader: string = localize('jobStepDialog.replicationTransactionLogReader', 'Replication Transaction-Log Reader');
|
||||
public static readonly AnalysisServicesCommand: string = localize('jobStepDialog.analysisCommand', 'SQL Server Analysis Services Command');
|
||||
public static readonly AnalysisServicesQuery: string = localize('jobStepDialog.analysisQuery', 'SQL Server Analysis Services Query');
|
||||
public static readonly ServicesPackage: string = localize('jobStepDialog.servicesPackage', 'SQL Server Integration Service Package');
|
||||
public static readonly TSQLScript: string = localize('jobStepDialog.TSQL', "Transact-SQL script (T-SQL)");
|
||||
public static readonly Powershell: string = localize('jobStepDialog.powershell', "PowerShell");
|
||||
public static readonly CmdExec: string = localize('jobStepDialog.CmdExec', "Operating system (CmdExec)");
|
||||
public static readonly ReplicationDistributor: string = localize('jobStepDialog.replicationDistribution', "Replication Distributor");
|
||||
public static readonly ReplicationMerge: string = localize('jobStepDialog.replicationMerge', "Replication Merge");
|
||||
public static readonly ReplicationQueueReader: string = localize('jobStepDialog.replicationQueueReader', "Replication Queue Reader");
|
||||
public static readonly ReplicationSnapshot: string = localize('jobStepDialog.replicationSnapshot', "Replication Snapshot");
|
||||
public static readonly ReplicationTransactionLogReader: string = localize('jobStepDialog.replicationTransactionLogReader', "Replication Transaction-Log Reader");
|
||||
public static readonly AnalysisServicesCommand: string = localize('jobStepDialog.analysisCommand', "SQL Server Analysis Services Command");
|
||||
public static readonly AnalysisServicesQuery: string = localize('jobStepDialog.analysisQuery', "SQL Server Analysis Services Query");
|
||||
public static readonly ServicesPackage: string = localize('jobStepDialog.servicesPackage', "SQL Server Integration Service Package");
|
||||
|
||||
|
||||
public static readonly AgentServiceAccount: string = localize('jobStepDialog.agentServiceAccount', 'SQL Server Agent Service Account');
|
||||
public static readonly NextStep: string = localize('jobStepDialog.nextStep', 'Go to the next step');
|
||||
public static readonly QuitJobReportingSuccess: string = localize('jobStepDialog.quitJobSuccess', 'Quit the job reporting success');
|
||||
public static readonly QuitJobReportingFailure: string = localize('jobStepDialog.quitJobFailure', 'Quit the job reporting failure');
|
||||
public static readonly AgentServiceAccount: string = localize('jobStepDialog.agentServiceAccount', "SQL Server Agent Service Account");
|
||||
public static readonly NextStep: string = localize('jobStepDialog.nextStep', "Go to the next step");
|
||||
public static readonly QuitJobReportingSuccess: string = localize('jobStepDialog.quitJobSuccess', "Quit the job reporting success");
|
||||
public static readonly QuitJobReportingFailure: string = localize('jobStepDialog.quitJobFailure', "Quit the job reporting failure");
|
||||
|
||||
// Event Name strings
|
||||
private readonly NewStepDialog = 'NewStepDialogOpened';
|
||||
|
||||
@@ -228,20 +228,20 @@ export class NotebookDialog extends AgentDialog<NotebookData> {
|
||||
component: notebookPathFlexBox,
|
||||
title: TemplateNotebookTextBoxLabel,
|
||||
layout: {
|
||||
info: localize('notebookDialog.templatePath', 'Select a notebook to schedule from PC')
|
||||
info: localize('notebookDialog.templatePath', "Select a notebook to schedule from PC")
|
||||
}
|
||||
},
|
||||
{
|
||||
component: this.targetDatabaseDropDown,
|
||||
title: TargetDatabaseDropdownLabel,
|
||||
layout: {
|
||||
info: localize('notebookDialog.targetDatabaseInfo', 'Select a database to store all notebook job metadata and results')
|
||||
info: localize('notebookDialog.targetDatabaseInfo', "Select a database to store all notebook job metadata and results")
|
||||
}
|
||||
}, {
|
||||
component: this.executeDatabaseDropDown,
|
||||
title: ExecuteDatabaseDropdownLabel,
|
||||
layout: {
|
||||
info: localize('notebookDialog.executionDatabaseInfo', 'Select a database against which notebook queries will run')
|
||||
info: localize('notebookDialog.executionDatabaseInfo', "Select a database against which notebook queries will run")
|
||||
}
|
||||
}],
|
||||
title: NotebookDetailsSeparatorTitle
|
||||
|
||||
@@ -16,32 +16,32 @@ const localize = nls.loadMessageBundle();
|
||||
export class OperatorDialog extends AgentDialog<OperatorData> {
|
||||
|
||||
// Top level
|
||||
private static readonly CreateDialogTitle: string = localize('createOperator.createOperator', 'Create Operator');
|
||||
private static readonly EditDialogTitle: string = localize('createOperator.editOperator', 'Edit Operator');
|
||||
private static readonly GeneralTabText: string = localize('createOperator.General', 'General');
|
||||
private static readonly NotificationsTabText: string = localize('createOperator.Notifications', 'Notifications');
|
||||
private static readonly CreateDialogTitle: string = localize('createOperator.createOperator', "Create Operator");
|
||||
private static readonly EditDialogTitle: string = localize('createOperator.editOperator', "Edit Operator");
|
||||
private static readonly GeneralTabText: string = localize('createOperator.General', "General");
|
||||
private static readonly NotificationsTabText: string = localize('createOperator.Notifications', "Notifications");
|
||||
|
||||
// General tab strings
|
||||
private static readonly NameLabel: string = localize('createOperator.Name', 'Name');
|
||||
private static readonly EnabledCheckboxLabel: string = localize('createOperator.Enabled', 'Enabled');
|
||||
private static readonly EmailNameTextLabel: string = localize('createOperator.EmailName', 'E-mail Name');
|
||||
private static readonly PagerEmailNameTextLabel: string = localize('createOperator.PagerEmailName', 'Pager E-mail Name');
|
||||
private static readonly PagerMondayCheckBoxLabel: string = localize('createOperator.PagerMondayCheckBox', 'Monday');
|
||||
private static readonly PagerTuesdayCheckBoxLabel: string = localize('createOperator.PagerTuesdayCheckBox', 'Tuesday');
|
||||
private static readonly PagerWednesdayCheckBoxLabel: string = localize('createOperator.PagerWednesdayCheckBox', 'Wednesday');
|
||||
private static readonly PagerThursdayCheckBoxLabel: string = localize('createOperator.PagerThursdayCheckBox', 'Thursday');
|
||||
private static readonly PagerFridayCheckBoxLabel: string = localize('createOperator.PagerFridayCheckBox', 'Friday ');
|
||||
private static readonly PagerSaturdayCheckBoxLabel: string = localize('createOperator.PagerSaturdayCheckBox', 'Saturday');
|
||||
private static readonly PagerSundayCheckBoxLabel: string = localize('createOperator.PagerSundayCheckBox', 'Sunday');
|
||||
private static readonly WorkdayBeginLabel: string = localize('createOperator.workdayBegin', 'Workday begin');
|
||||
private static readonly WorkdayEndLabel: string = localize('createOperator.workdayEnd', 'Workday end');
|
||||
private static readonly PagerDutyScheduleLabel: string = localize('createOperator.PagerDutySchedule', 'Pager on duty schedule');
|
||||
private static readonly NameLabel: string = localize('createOperator.Name', "Name");
|
||||
private static readonly EnabledCheckboxLabel: string = localize('createOperator.Enabled', "Enabled");
|
||||
private static readonly EmailNameTextLabel: string = localize('createOperator.EmailName', "E-mail Name");
|
||||
private static readonly PagerEmailNameTextLabel: string = localize('createOperator.PagerEmailName', "Pager E-mail Name");
|
||||
private static readonly PagerMondayCheckBoxLabel: string = localize('createOperator.PagerMondayCheckBox', "Monday");
|
||||
private static readonly PagerTuesdayCheckBoxLabel: string = localize('createOperator.PagerTuesdayCheckBox', "Tuesday");
|
||||
private static readonly PagerWednesdayCheckBoxLabel: string = localize('createOperator.PagerWednesdayCheckBox', "Wednesday");
|
||||
private static readonly PagerThursdayCheckBoxLabel: string = localize('createOperator.PagerThursdayCheckBox', "Thursday");
|
||||
private static readonly PagerFridayCheckBoxLabel: string = localize('createOperator.PagerFridayCheckBox', "Friday ");
|
||||
private static readonly PagerSaturdayCheckBoxLabel: string = localize('createOperator.PagerSaturdayCheckBox', "Saturday");
|
||||
private static readonly PagerSundayCheckBoxLabel: string = localize('createOperator.PagerSundayCheckBox', "Sunday");
|
||||
private static readonly WorkdayBeginLabel: string = localize('createOperator.workdayBegin', "Workday begin");
|
||||
private static readonly WorkdayEndLabel: string = localize('createOperator.workdayEnd', "Workday end");
|
||||
private static readonly PagerDutyScheduleLabel: string = localize('createOperator.PagerDutySchedule', "Pager on duty schedule");
|
||||
|
||||
// Notifications tab strings
|
||||
private static readonly AlertsTableLabel: string = localize('createOperator.AlertListHeading', 'Alert list');
|
||||
private static readonly AlertNameColumnLabel: string = localize('createOperator.AlertNameColumnLabel', 'Alert name');
|
||||
private static readonly AlertEmailColumnLabel: string = localize('createOperator.AlertEmailColumnLabel', 'E-mail');
|
||||
private static readonly AlertPagerColumnLabel: string = localize('createOperator.AlertPagerColumnLabel', 'Pager');
|
||||
private static readonly AlertsTableLabel: string = localize('createOperator.AlertListHeading', "Alert list");
|
||||
private static readonly AlertNameColumnLabel: string = localize('createOperator.AlertNameColumnLabel', "Alert name");
|
||||
private static readonly AlertEmailColumnLabel: string = localize('createOperator.AlertEmailColumnLabel', "E-mail");
|
||||
private static readonly AlertPagerColumnLabel: string = localize('createOperator.AlertPagerColumnLabel', "Pager");
|
||||
|
||||
// Event strings
|
||||
private readonly NewOperatorDialog = 'NewOperatorDialogOpened';
|
||||
|
||||
@@ -15,13 +15,13 @@ export class PickScheduleDialog {
|
||||
|
||||
// TODO: localize
|
||||
// Top level
|
||||
private readonly DialogTitle: string = localize('pickSchedule.jobSchedules', 'Job Schedules');
|
||||
private readonly OkButtonText: string = localize('pickSchedule.ok', 'OK');
|
||||
private readonly CancelButtonText: string = localize('pickSchedule.cancel', 'Cancel');
|
||||
private readonly SchedulesLabelText: string = localize('pickSchedule.availableSchedules', 'Available Schedules:');
|
||||
public static readonly ScheduleNameLabelText: string = localize('pickSchedule.scheduleName', 'Name');
|
||||
public static readonly SchedulesIDText: string = localize('pickSchedule.scheduleID', 'ID');
|
||||
public static readonly ScheduleDescription: string = localize('pickSchedule.description', 'Description');
|
||||
private readonly DialogTitle: string = localize('pickSchedule.jobSchedules', "Job Schedules");
|
||||
private readonly OkButtonText: string = localize('pickSchedule.ok', "OK");
|
||||
private readonly CancelButtonText: string = localize('pickSchedule.cancel', "Cancel");
|
||||
private readonly SchedulesLabelText: string = localize('pickSchedule.availableSchedules', "Available Schedules:");
|
||||
public static readonly ScheduleNameLabelText: string = localize('pickSchedule.scheduleName', "Name");
|
||||
public static readonly SchedulesIDText: string = localize('pickSchedule.scheduleID', "ID");
|
||||
public static readonly ScheduleDescription: string = localize('pickSchedule.description', "Description");
|
||||
|
||||
|
||||
// UI Components
|
||||
|
||||
@@ -15,26 +15,26 @@ const localize = nls.loadMessageBundle();
|
||||
export class ProxyDialog extends AgentDialog<ProxyData> {
|
||||
|
||||
// Top level
|
||||
private static readonly CreateDialogTitle: string = localize('createProxy.createProxy', 'Create Proxy');
|
||||
private static readonly EditDialogTitle: string = localize('createProxy.editProxy', 'Edit Proxy');
|
||||
private static readonly GeneralTabText: string = localize('createProxy.General', 'General');
|
||||
private static readonly CreateDialogTitle: string = localize('createProxy.createProxy', "Create Proxy");
|
||||
private static readonly EditDialogTitle: string = localize('createProxy.editProxy', "Edit Proxy");
|
||||
private static readonly GeneralTabText: string = localize('createProxy.General', "General");
|
||||
|
||||
// General tab strings
|
||||
private static readonly ProxyNameTextBoxLabel: string = localize('createProxy.ProxyName', 'Proxy name');
|
||||
private static readonly CredentialNameTextBoxLabel: string = localize('createProxy.CredentialName', 'Credential name');
|
||||
private static readonly DescriptionTextBoxLabel: string = localize('createProxy.Description', 'Description');
|
||||
private static readonly SubsystemLabel: string = localize('createProxy.SubsystemName', 'Subsystem');
|
||||
private static readonly OperatingSystemLabel: string = localize('createProxy.OperatingSystem', 'Operating system (CmdExec)');
|
||||
private static readonly ReplicationSnapshotLabel: string = localize('createProxy.ReplicationSnapshot', 'Replication Snapshot');
|
||||
private static readonly ReplicationTransactionLogLabel: string = localize('createProxy.ReplicationTransactionLog', 'Replication Transaction-Log Reader');
|
||||
private static readonly ReplicationDistributorLabel: string = localize('createProxy.ReplicationDistributor', 'Replication Distributor');
|
||||
private static readonly ReplicationMergeLabel: string = localize('createProxy.ReplicationMerge', 'Replication Merge');
|
||||
private static readonly ReplicationQueueReaderLabel: string = localize('createProxy.ReplicationQueueReader', 'Replication Queue Reader');
|
||||
private static readonly SSASQueryLabel: string = localize('createProxy.SSASQueryLabel', 'SQL Server Analysis Services Query');
|
||||
private static readonly SSASCommandLabel: string = localize('createProxy.SSASCommandLabel', 'SQL Server Analysis Services Command');
|
||||
private static readonly SSISPackageLabel: string = localize('createProxy.SSISPackage', 'SQL Server Integration Services Package');
|
||||
private static readonly PowerShellLabel: string = localize('createProxy.PowerShell', 'PowerShell');
|
||||
private static readonly SubSystemHeadingLabel: string = localize('createProxy.subSystemHeading', 'Active to the following subsytems');
|
||||
private static readonly ProxyNameTextBoxLabel: string = localize('createProxy.ProxyName', "Proxy name");
|
||||
private static readonly CredentialNameTextBoxLabel: string = localize('createProxy.CredentialName', "Credential name");
|
||||
private static readonly DescriptionTextBoxLabel: string = localize('createProxy.Description', "Description");
|
||||
private static readonly SubsystemLabel: string = localize('createProxy.SubsystemName', "Subsystem");
|
||||
private static readonly OperatingSystemLabel: string = localize('createProxy.OperatingSystem', "Operating system (CmdExec)");
|
||||
private static readonly ReplicationSnapshotLabel: string = localize('createProxy.ReplicationSnapshot', "Replication Snapshot");
|
||||
private static readonly ReplicationTransactionLogLabel: string = localize('createProxy.ReplicationTransactionLog', "Replication Transaction-Log Reader");
|
||||
private static readonly ReplicationDistributorLabel: string = localize('createProxy.ReplicationDistributor', "Replication Distributor");
|
||||
private static readonly ReplicationMergeLabel: string = localize('createProxy.ReplicationMerge', "Replication Merge");
|
||||
private static readonly ReplicationQueueReaderLabel: string = localize('createProxy.ReplicationQueueReader', "Replication Queue Reader");
|
||||
private static readonly SSASQueryLabel: string = localize('createProxy.SSASQueryLabel', "SQL Server Analysis Services Query");
|
||||
private static readonly SSASCommandLabel: string = localize('createProxy.SSASCommandLabel', "SQL Server Analysis Services Command");
|
||||
private static readonly SSISPackageLabel: string = localize('createProxy.SSISPackage', "SQL Server Integration Services Package");
|
||||
private static readonly PowerShellLabel: string = localize('createProxy.PowerShell', "PowerShell");
|
||||
private static readonly SubSystemHeadingLabel: string = localize('createProxy.subSystemHeading', "Active to the following subsytems");
|
||||
|
||||
private readonly NewProxyDialog = 'NewProxyDialogOpened';
|
||||
private readonly EditProxyDialog = 'EditProxyDialogOpened';
|
||||
|
||||
@@ -14,11 +14,11 @@ const localize = nls.loadMessageBundle();
|
||||
export class ScheduleDialog {
|
||||
|
||||
// Top level
|
||||
private readonly DialogTitle: string = localize('scheduleDialog.newSchedule', 'New Schedule');
|
||||
private readonly OkButtonText: string = localize('scheduleDialog.ok', 'OK');
|
||||
private readonly CancelButtonText: string = localize('scheduleDialog.cancel', 'Cancel');
|
||||
private readonly ScheduleNameText: string = localize('scheduleDialog.scheduleName', 'Schedule Name');
|
||||
private readonly SchedulesLabelText: string = localize('scheduleDialog.schedules', 'Schedules');
|
||||
private readonly DialogTitle: string = localize('scheduleDialog.newSchedule', "New Schedule");
|
||||
private readonly OkButtonText: string = localize('scheduleDialog.ok', "OK");
|
||||
private readonly CancelButtonText: string = localize('scheduleDialog.cancel', "Cancel");
|
||||
private readonly ScheduleNameText: string = localize('scheduleDialog.scheduleName', "Schedule Name");
|
||||
private readonly SchedulesLabelText: string = localize('scheduleDialog.schedules', "Schedules");
|
||||
|
||||
// UI Components
|
||||
private dialog: azdata.window.Dialog;
|
||||
|
||||
@@ -105,10 +105,10 @@ export class MainController {
|
||||
AgentUtils.getAgentService().then(async (agentService) => {
|
||||
let result = await agentService.updateNotebook(templateMap.ownerUri, templateMap.notebookInfo.name, templateMap.notebookInfo, templateMap.tempPath);
|
||||
if (result.success) {
|
||||
vscode.window.showInformationMessage(localize('agent.templateUploadSuccessful', 'Template updated successfully'));
|
||||
vscode.window.showInformationMessage(localize('agent.templateUploadSuccessful', "Template updated successfully"));
|
||||
}
|
||||
else {
|
||||
vscode.window.showInformationMessage(localize('agent.templateUploadError', 'Template update failure'));
|
||||
vscode.window.showInformationMessage(localize('agent.templateUploadError', "Template update failure"));
|
||||
}
|
||||
});
|
||||
|
||||
@@ -170,7 +170,7 @@ export class MainController {
|
||||
let path: string;
|
||||
if (!ownerUri) {
|
||||
if (azdata.nb.activeNotebookEditor.document.isDirty || azdata.nb.activeNotebookEditor.document.isUntitled) {
|
||||
vscode.window.showErrorMessage(localize('agent.unsavedFileSchedulingError', 'The notebook must be saved before being scheduled. Please save and then retry scheduling again.'), { modal: true });
|
||||
vscode.window.showErrorMessage(localize('agent.unsavedFileSchedulingError', "The notebook must be saved before being scheduled. Please save and then retry scheduling again."), { modal: true });
|
||||
return;
|
||||
}
|
||||
path = azdata.nb.activeNotebookEditor.document.fileName;
|
||||
@@ -218,10 +218,10 @@ export class MainController {
|
||||
connectionNames.push(connections[i]);
|
||||
connectionDisplayString.push(currentConnectionString);
|
||||
}
|
||||
connectionDisplayString.push(localize('agent.AddNewConnection', 'Add new connection'));
|
||||
let connectionName = await vscode.window.showQuickPick(connectionDisplayString, { placeHolder: localize('agent.selectConnection', 'Select a connection') });
|
||||
connectionDisplayString.push(localize('agent.AddNewConnection', "Add new connection"));
|
||||
let connectionName = await vscode.window.showQuickPick(connectionDisplayString, { placeHolder: localize('agent.selectConnection', "Select a connection") });
|
||||
if (connectionDisplayString.indexOf(connectionName) !== -1) {
|
||||
if (connectionName === localize('agent.AddNewConnection', 'Add new connection')) {
|
||||
if (connectionName === localize('agent.AddNewConnection', "Add new connection")) {
|
||||
connection = await azdata.connection.openConnectionDialog();
|
||||
}
|
||||
else {
|
||||
@@ -229,7 +229,7 @@ export class MainController {
|
||||
}
|
||||
}
|
||||
else {
|
||||
vscode.window.showErrorMessage(localize('agent.selectValidConnection', 'Please select a valid connection'), { modal: true });
|
||||
vscode.window.showErrorMessage(localize('agent.selectValidConnection', "Please select a valid connection"), { modal: true });
|
||||
}
|
||||
}
|
||||
return connection;
|
||||
|
||||
@@ -150,7 +150,7 @@ export class AzureAccountProvider implements azdata.AccountProvider {
|
||||
private doIfInitialized<T>(op: () => Promise<T>): Promise<T> {
|
||||
return this._isInitialized
|
||||
? op()
|
||||
: Promise.reject(localize('accountProviderNotInitialized', 'Account provider not initialized, cannot perform action'));
|
||||
: Promise.reject(localize('accountProviderNotInitialized', "Account provider not initialized, cannot perform action"));
|
||||
}
|
||||
|
||||
private getAccessTokens(account: AzureAccount, resource: azdata.AzureResource): Promise<AzureAccountSecurityTokenCollection> {
|
||||
@@ -235,8 +235,8 @@ export class AzureAccountProvider implements azdata.AccountProvider {
|
||||
// 2) Begin the acquiring token polling
|
||||
// 3) When that completes via callback, close the auto oauth
|
||||
let title = isAddAccount ?
|
||||
localize('addAccount', 'Add {0} account', self._metadata.displayName) :
|
||||
localize('refreshAccount', 'Refresh {0} account', self._metadata.displayName);
|
||||
localize('addAccount', "Add {0} account", self._metadata.displayName) :
|
||||
localize('refreshAccount', "Refresh {0} account", self._metadata.displayName);
|
||||
return azdata.accounts.beginAutoOAuthDeviceCode(self._metadata.id, title, oAuth.userCodeInfo.message, oAuth.userCodeInfo.userCode, oAuth.userCodeInfo.verificationUrl)
|
||||
.then(() => {
|
||||
return new Promise<adal.TokenResponse | azdata.PromptFailedResult>((resolve, reject) => {
|
||||
@@ -293,7 +293,7 @@ export class AzureAccountProvider implements azdata.AccountProvider {
|
||||
userId: userId,
|
||||
displayName: tenantDetails.length && tenantDetails[0].displayName
|
||||
? tenantDetails[0].displayName
|
||||
: localize('azureWorkAccountDisplayName', 'Work or school account')
|
||||
: localize('azureWorkAccountDisplayName', "Work or school account")
|
||||
};
|
||||
});
|
||||
});
|
||||
@@ -410,7 +410,7 @@ export class AzureAccountProvider implements azdata.AccountProvider {
|
||||
|
||||
// Calculate the home tenant display name to use for the contextual display name
|
||||
let contextualDisplayName = msa
|
||||
? localize('microsoftAccountDisplayName', 'Microsoft Account')
|
||||
? localize('microsoftAccountDisplayName', "Microsoft Account")
|
||||
: tenants[0].displayName;
|
||||
|
||||
// Calculate the account type
|
||||
|
||||
@@ -78,11 +78,11 @@ export class AzureAccountProviderService implements vscode.Disposable {
|
||||
return Promise.all(promises)
|
||||
.then(
|
||||
() => {
|
||||
let message = localize('clearTokenCacheSuccess', 'Token cache successfully cleared');
|
||||
let message = localize('clearTokenCacheSuccess', "Token cache successfully cleared");
|
||||
vscode.window.showInformationMessage(`${constants.extensionName}: ${message}`);
|
||||
},
|
||||
err => {
|
||||
let message = localize('clearTokenCacheFailure', 'Failed to clear token cache');
|
||||
let message = localize('clearTokenCacheFailure', "Failed to clear token cache");
|
||||
vscode.window.showErrorMessage(`${constants.extensionName}: ${message}: ${err}`);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ const localize = nls.loadMessageBundle();
|
||||
const publicAzureSettings: ProviderSettings = {
|
||||
configKey: 'enablePublicCloud',
|
||||
metadata: {
|
||||
displayName: localize('publicCloudDisplayName', 'Azure'),
|
||||
displayName: localize('publicCloudDisplayName', "Azure"),
|
||||
id: 'azurePublicCloud',
|
||||
settings: {
|
||||
host: 'https://login.microsoftonline.com/',
|
||||
|
||||
@@ -43,7 +43,7 @@ export function registerAzureResourceCommands(appContext: AppContext, tree: Azur
|
||||
subscriptions.push(...await subscriptionService.getSubscriptions(accountNode.account, new TokenCredentials(token, tokenType)));
|
||||
}
|
||||
} catch (error) {
|
||||
throw new AzureResourceCredentialError(localize('azure.resource.selectsubscriptions.credentialError', 'Failed to get credential for account {0}. Please refresh the account.', this.account.key.accountId), error);
|
||||
throw new AzureResourceCredentialError(localize('azure.resource.selectsubscriptions.credentialError', "Failed to get credential for account {0}. Please refresh the account.", this.account.key.accountId), error);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -101,5 +101,5 @@ export class AzureResourceDatabaseTreeDataProvider implements azureResource.IAzu
|
||||
private _extensionContext: ExtensionContext = undefined;
|
||||
|
||||
private static readonly containerId = 'azure.resource.providers.database.treeDataProvider.databaseContainer';
|
||||
private static readonly containerLabel = localize('azure.resource.providers.database.treeDataProvider.databaseContainerLabel', 'SQL Databases');
|
||||
private static readonly containerLabel = localize('azure.resource.providers.database.treeDataProvider.databaseContainerLabel', "SQL Databases");
|
||||
}
|
||||
|
||||
@@ -101,5 +101,5 @@ export class AzureResourceDatabaseServerTreeDataProvider implements azureResourc
|
||||
private _extensionContext: ExtensionContext = undefined;
|
||||
|
||||
private static readonly containerId = 'azure.resource.providers.databaseServer.treeDataProvider.databaseServerContainer';
|
||||
private static readonly containerLabel = localize('azure.resource.providers.databaseServer.treeDataProvider.databaseServerContainerLabel', 'SQL Servers');
|
||||
private static readonly containerLabel = localize('azure.resource.providers.databaseServer.treeDataProvider.databaseServerContainerLabel', "SQL Servers");
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ export class AzureResourceResourceTreeNode extends TreeNode {
|
||||
const children = await this._resourceService.getChildren(this.resourceNodeWithProviderId.resourceProviderId, this.resourceNodeWithProviderId.resourceNode);
|
||||
|
||||
if (children.length === 0) {
|
||||
return [AzureResourceMessageTreeNode.create(localize('azure.resource.resourceTreeNode.noResourcesLabel', 'No Resources found'), this)];
|
||||
return [AzureResourceMessageTreeNode.create(localize('azure.resource.resourceTreeNode.noResourcesLabel', "No Resources found"), this)];
|
||||
} else {
|
||||
return children.map((child) => {
|
||||
// To make tree node's id unique, otherwise, treeModel.js would complain 'item already registered'
|
||||
|
||||
@@ -47,5 +47,5 @@ export class AzureResourceAccountNotSignedInTreeNode extends TreeNode {
|
||||
return 'message_accountNotSignedIn';
|
||||
}
|
||||
|
||||
private static readonly signInLabel = localize('azure.resource.tree.accountNotSignedInTreeNode.signInLabel', 'Sign in to Azure...');
|
||||
private static readonly signInLabel = localize('azure.resource.tree.accountNotSignedInTreeNode.signInLabel', "Sign in to Azure...");
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ export class AzureResourceAccountTreeNode extends AzureResourceContainerTreeNode
|
||||
subscriptions.push(...(await this._subscriptionService.getSubscriptions(this.account, new TokenCredentials(token, tokenType)) || <azureResource.AzureResourceSubscription[]>[]));
|
||||
}
|
||||
} catch (error) {
|
||||
throw new AzureResourceCredentialError(localize('azure.resource.tree.accountTreeNode.credentialError', 'Failed to get credential for account {0}. Please refresh the account.', this.account.key.accountId), error);
|
||||
throw new AzureResourceCredentialError(localize('azure.resource.tree.accountTreeNode.credentialError', "Failed to get credential for account {0}. Please refresh the account.", this.account.key.accountId), error);
|
||||
}
|
||||
|
||||
this.updateCache<azureResource.AzureResourceSubscription[]>(subscriptions);
|
||||
@@ -162,5 +162,5 @@ export class AzureResourceAccountTreeNode extends AzureResourceContainerTreeNode
|
||||
private _totalSubscriptionCount = 0;
|
||||
private _selectedSubscriptionCount = 0;
|
||||
|
||||
private static readonly noSubscriptionsLabel = localize('azure.resource.tree.accountTreeNode.noSubscriptionsLabel', 'No Subscriptions found.');
|
||||
private static readonly noSubscriptionsLabel = localize('azure.resource.tree.accountTreeNode.noSubscriptionsLabel', "No Subscriptions found.");
|
||||
}
|
||||
@@ -91,5 +91,5 @@ export class AzureResourceSubscriptionTreeNode extends AzureResourceContainerTre
|
||||
|
||||
private _id: string = undefined;
|
||||
|
||||
private static readonly noResourcesLabel = localize('azure.resource.tree.subscriptionTreeNode.noResourcesLabel', 'No Resources found.');
|
||||
private static readonly noResourcesLabel = localize('azure.resource.tree.subscriptionTreeNode.noResourcesLabel', "No Resources found.");
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ export class AzureResourceTreeProvider implements TreeDataProvider<TreeNode>, IA
|
||||
if (!this.loadingAccountsPromise) {
|
||||
this.loadingAccountsPromise = this.loadAccounts();
|
||||
}
|
||||
return [AzureResourceMessageTreeNode.create(localize('azure.resource.tree.treeProvider.loadingLabel', 'Loading ...'), undefined)];
|
||||
return [AzureResourceMessageTreeNode.create(localize('azure.resource.tree.treeProvider.loadingLabel', "Loading ..."), undefined)];
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
@@ -14,7 +14,7 @@ export function getErrorMessage(error: Error | string): string {
|
||||
|
||||
export class AzureResourceErrorMessageUtil {
|
||||
public static getErrorMessage(error: Error | string): string {
|
||||
return localize('azure.resource.error', 'Error: {0}', getErrorMessage(error));
|
||||
return localize('azure.resource.error', "Error: {0}", getErrorMessage(error));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -14,4 +14,4 @@ export enum BuiltInCommands {
|
||||
SetContext = 'setContext'
|
||||
}
|
||||
|
||||
export const extensionName = localize('extensionName', 'Azure Accounts');
|
||||
export const extensionName = localize('extensionName', "Azure Accounts");
|
||||
|
||||
@@ -117,13 +117,13 @@ export class AddControllerDialog {
|
||||
}
|
||||
|
||||
private createDialog(): void {
|
||||
this.dialog = azdata.window.createModelViewDialog(localize('textAddNewController', 'Add New Controller'));
|
||||
this.dialog = azdata.window.createModelViewDialog(localize('textAddNewController', "Add New Controller"));
|
||||
this.dialog.registerContent(async view => {
|
||||
this.uiModelBuilder = view.modelBuilder;
|
||||
|
||||
this.urlInputBox = this.uiModelBuilder.inputBox()
|
||||
.withProperties<azdata.InputBoxProperties>({
|
||||
placeHolder: localize('textUrlLower', 'url'),
|
||||
placeHolder: localize('textUrlLower', "url"),
|
||||
value: this.model.prefilledUrl
|
||||
}).component();
|
||||
this.authDropdown = this.uiModelBuilder.dropDown().withProperties({
|
||||
@@ -134,19 +134,19 @@ export class AddControllerDialog {
|
||||
this.authDropdown.onValueChanged(e => this.onAuthChanged());
|
||||
this.usernameInputBox = this.uiModelBuilder.inputBox()
|
||||
.withProperties<azdata.InputBoxProperties>({
|
||||
placeHolder: localize('textUsernameLower', 'username'),
|
||||
placeHolder: localize('textUsernameLower', "username"),
|
||||
value: this.model.prefilledUsername
|
||||
}).component();
|
||||
this.passwordInputBox = this.uiModelBuilder.inputBox()
|
||||
.withProperties<azdata.InputBoxProperties>({
|
||||
placeHolder: localize('textPasswordLower', 'password'),
|
||||
placeHolder: localize('textPasswordLower', "password"),
|
||||
inputType: 'password',
|
||||
value: this.model.prefilledPassword
|
||||
})
|
||||
.component();
|
||||
this.rememberPwCheckBox = this.uiModelBuilder.checkBox()
|
||||
.withProperties<azdata.CheckBoxProperties>({
|
||||
label: localize('textRememberPassword', 'Remember Password'),
|
||||
label: localize('textRememberPassword', "Remember Password"),
|
||||
checked: this.model.prefilledRememberPassword
|
||||
}).component();
|
||||
|
||||
@@ -155,19 +155,19 @@ export class AddControllerDialog {
|
||||
components: [
|
||||
{
|
||||
component: this.urlInputBox,
|
||||
title: localize('textUrlCapital', 'URL'),
|
||||
title: localize('textUrlCapital', "URL"),
|
||||
required: true
|
||||
}, {
|
||||
component: this.authDropdown,
|
||||
title: localize('textAuthCapital', 'Authentication type'),
|
||||
title: localize('textAuthCapital', "Authentication type"),
|
||||
required: true
|
||||
}, {
|
||||
component: this.usernameInputBox,
|
||||
title: localize('textUsernameCapital', 'Username'),
|
||||
title: localize('textUsernameCapital', "Username"),
|
||||
required: false
|
||||
}, {
|
||||
component: this.passwordInputBox,
|
||||
title: localize('textPasswordCapital', 'Password'),
|
||||
title: localize('textPasswordCapital', "Password"),
|
||||
required: false
|
||||
}, {
|
||||
component: this.rememberPwCheckBox,
|
||||
@@ -182,8 +182,8 @@ export class AddControllerDialog {
|
||||
|
||||
this.dialog.registerCloseValidator(async () => await this.validate());
|
||||
this.dialog.cancelButton.onClick(async () => await this.cancel());
|
||||
this.dialog.okButton.label = localize('textAdd', 'Add');
|
||||
this.dialog.cancelButton.label = localize('textCancel', 'Cancel');
|
||||
this.dialog.okButton.label = localize('textAdd', "Add");
|
||||
this.dialog.cancelButton.label = localize('textCancel', "Cancel");
|
||||
}
|
||||
|
||||
private get authValue(): AuthType {
|
||||
|
||||
@@ -125,7 +125,7 @@ export class BdcDashboard {
|
||||
|
||||
// Overview nav item - this will be the initial page
|
||||
const overviewNavItemDiv = modelView.modelBuilder.divContainer().withLayout({ width: navWidth, height: '30px' }).withProperties({ clickable: true }).component();
|
||||
const overviewNavItemText = modelView.modelBuilder.text().withProperties({ value: localize('bdc.dashboard.overviewNavTitle', 'Big data cluster overview') }).component();
|
||||
const overviewNavItemText = modelView.modelBuilder.text().withProperties({ value: localize('bdc.dashboard.overviewNavTitle', "Big data cluster overview") }).component();
|
||||
overviewNavItemText.updateCssStyles(selectedTabCss);
|
||||
overviewNavItemDiv.addItem(overviewNavItemText, { CSSStyles: { 'user-select': 'text' } });
|
||||
const overviewPage = new BdcDashboardOverviewPage(this, this.model).create(modelView);
|
||||
@@ -145,7 +145,7 @@ export class BdcDashboard {
|
||||
});
|
||||
this.navContainer.addItem(overviewNavItemDiv, { flex: '0 0 auto' });
|
||||
|
||||
const clusterDetailsHeader = modelView.modelBuilder.text().withProperties({ value: localize('bdc.dashboard.clusterDetails', 'Cluster Details'), CSSStyles: { 'margin-block-end': '0px' } }).component();
|
||||
const clusterDetailsHeader = modelView.modelBuilder.text().withProperties({ value: localize('bdc.dashboard.clusterDetails', "Cluster Details"), CSSStyles: { 'margin-block-end': '0px' } }).component();
|
||||
this.navContainer.addItem(clusterDetailsHeader, { CSSStyles: { 'user-select': 'none', 'font-weight': 'bold', 'border-bottom': 'solid 1px #ccc', 'margin-bottom': '10px' } });
|
||||
|
||||
await modelView.initializeModel(rootContainer);
|
||||
|
||||
@@ -28,7 +28,7 @@ export class AddControllerNode extends TreeNode {
|
||||
public getTreeItem(): vscode.TreeItem {
|
||||
let item = new vscode.TreeItem(this.label, vscode.TreeItemCollapsibleState.None);
|
||||
item.command = {
|
||||
title: localize('textConnectToController', 'Connect to Controller'),
|
||||
title: localize('textConnectToController', "Connect to Controller"),
|
||||
command: 'bigDataClusters.command.addController',
|
||||
arguments: [this]
|
||||
};
|
||||
|
||||
@@ -158,12 +158,12 @@ async function deleteBdcController(treeDataProvider: ControllerTreeDataProvider,
|
||||
let controllerNode = node as ControllerNode;
|
||||
|
||||
let choices: { [id: string]: boolean } = {};
|
||||
choices[localize('textYes', 'Yes')] = true;
|
||||
choices[localize('textNo', 'No')] = false;
|
||||
choices[localize('textYes', "Yes")] = true;
|
||||
choices[localize('textNo', "No")] = false;
|
||||
|
||||
let options = {
|
||||
ignoreFocusOut: false,
|
||||
placeHolder: localize('textConfirmDeleteController', 'Are you sure you want to delete \'{0}\'?', controllerNode.label)
|
||||
placeHolder: localize('textConfirmDeleteController', "Are you sure you want to delete \'{0}\'?", controllerNode.label)
|
||||
};
|
||||
|
||||
let result = await vscode.window.showQuickPick(Object.keys(choices), options);
|
||||
|
||||
@@ -44,7 +44,7 @@ export function registerCmsServerCommand(appContext: AppContext, tree: CmsResour
|
||||
tree.notifyNodeChanged(undefined);
|
||||
} else {
|
||||
// error out for same server name
|
||||
let errorText = localize('cms.errors.sameCmsServerName', 'Central Management Server Group already has a Registered Server with the name {0}', registeredCmsServerName);
|
||||
let errorText = localize('cms.errors.sameCmsServerName', "Central Management Server Group already has a Registered Server with the name {0}", registeredCmsServerName);
|
||||
appContext.apiWrapper.showErrorMessage(errorText);
|
||||
throw new Error(errorText);
|
||||
}
|
||||
@@ -85,10 +85,10 @@ export function deleteRegisteredServerCommand(appContext: AppContext, tree: CmsR
|
||||
return;
|
||||
}
|
||||
let result = await appContext.apiWrapper.showWarningMessage(
|
||||
`${localize('cms.confirmDeleteServer', 'Are you sure you want to delete')} ${node.name}?`,
|
||||
localize('cms.yes', 'Yes'),
|
||||
localize('cms.no', 'No'));
|
||||
if (result && result === localize('cms.yes', 'Yes')) {
|
||||
`${localize('cms.confirmDeleteServer', "Are you sure you want to delete")} ${node.name}?`,
|
||||
localize('cms.yes', "Yes"),
|
||||
localize('cms.no', "No"));
|
||||
if (result && result === localize('cms.yes', "Yes")) {
|
||||
await appContext.cmsUtils.removeRegisteredServer(node.name, node.relativePath, node.ownerUri);
|
||||
tree.notifyNodeChanged(node.parent);
|
||||
}
|
||||
@@ -102,10 +102,10 @@ export function addServerGroupCommand(appContext: AppContext, tree: CmsResourceT
|
||||
return;
|
||||
}
|
||||
// add a dialog for adding a group
|
||||
let title = localize('cms.AddServerGroup', 'Add Server Group');
|
||||
let title = localize('cms.AddServerGroup', "Add Server Group");
|
||||
let dialog = azdata.window.createModelViewDialog(title, 'cms.addServerGroup');
|
||||
dialog.okButton.label = localize('cms.OK', 'OK');
|
||||
dialog.cancelButton.label = localize('cms.Cancel', 'Cancel');
|
||||
dialog.okButton.label = localize('cms.OK', "OK");
|
||||
dialog.cancelButton.label = localize('cms.Cancel', "Cancel");
|
||||
let mainTab = azdata.window.createTab(title);
|
||||
let serverGroupName: string = null;
|
||||
let serverDescription: string = null;
|
||||
@@ -126,10 +126,10 @@ export function addServerGroupCommand(appContext: AppContext, tree: CmsResourceT
|
||||
let formModel = view.modelBuilder.formContainer()
|
||||
.withFormItems([{
|
||||
component: nameTextBox,
|
||||
title: localize('cms.ServerGroupName', 'Server Group Name')
|
||||
title: localize('cms.ServerGroupName', "Server Group Name")
|
||||
}, {
|
||||
component: descriptionTextBox,
|
||||
title: localize('cms.ServerGroupDescription', 'Server Group Description')
|
||||
title: localize('cms.ServerGroupDescription', "Server Group Description")
|
||||
}]).withLayout({ width: '100%' }).component();
|
||||
await view.initializeModel(formModel);
|
||||
});
|
||||
@@ -146,7 +146,7 @@ export function addServerGroupCommand(appContext: AppContext, tree: CmsResourceT
|
||||
tree.notifyNodeChanged(node);
|
||||
} else {
|
||||
// error out for same server group
|
||||
const errorText = localize('cms.errors.sameServerGroupName', '{0} already has a Server Group with the name {1}', node.name, serverGroupName);
|
||||
const errorText = localize('cms.errors.sameServerGroupName', "{0} already has a Server Group with the name {1}", node.name, serverGroupName);
|
||||
appContext.apiWrapper.showErrorMessage(errorText);
|
||||
throw new Error(errorText);
|
||||
}
|
||||
@@ -161,10 +161,10 @@ export function deleteServerGroupCommand(appContext: AppContext, tree: CmsResour
|
||||
return;
|
||||
}
|
||||
let result = await appContext.apiWrapper.showWarningMessage(
|
||||
`${localize('cms.confirmDeleteGroup', 'Are you sure you want to delete')} ${node.name}?`,
|
||||
localize('cms.yes', 'Yes'),
|
||||
localize('cms.no', 'No'));
|
||||
if (result && result === localize('cms.yes', 'Yes')) {
|
||||
`${localize('cms.confirmDeleteGroup', "Are you sure you want to delete")} ${node.name}?`,
|
||||
localize('cms.yes', "Yes"),
|
||||
localize('cms.no', "No"));
|
||||
if (result && result === localize('cms.yes', "Yes")) {
|
||||
await appContext.cmsUtils.removeServerGroup(node.name, node.relativePath, node.ownerUri);
|
||||
tree.notifyNodeChanged(node.parent);
|
||||
}
|
||||
|
||||
@@ -47,5 +47,5 @@ export class CmsResourceEmptyTreeNode extends TreeNode {
|
||||
return 'message_cmsTreeNode';
|
||||
}
|
||||
|
||||
private static readonly addCmsServerLabel = localize('cms.resource.tree.CmsTreeNode.addCmsServerLabel', 'Add Central Management Server...');
|
||||
private static readonly addCmsServerLabel = localize('cms.resource.tree.CmsTreeNode.addCmsServerLabel', "Add Central Management Server...");
|
||||
}
|
||||
|
||||
@@ -128,5 +128,5 @@ export class CmsResourceTreeNode extends CmsResourceTreeNodeBase {
|
||||
return this._serverGroupNodes;
|
||||
}
|
||||
|
||||
public static readonly noResourcesLabel = localize('cms.resource.cmsResourceTreeNode.noResourcesLabel', 'No resources found');
|
||||
public static readonly noResourcesLabel = localize('cms.resource.cmsResourceTreeNode.noResourcesLabel', "No resources found");
|
||||
}
|
||||
|
||||
@@ -98,5 +98,5 @@ export class CmsResourceTreeProvider implements TreeDataProvider<TreeNode>, ICms
|
||||
public isSystemInitialized: boolean = false;
|
||||
private _onDidChangeTreeData = new EventEmitter<TreeNode>();
|
||||
|
||||
private static readonly loadingLabel = localize('cms.resource.tree.treeProvider.loadingLabel', 'Loading ...');
|
||||
private static readonly loadingLabel = localize('cms.resource.tree.treeProvider.loadingLabel', "Loading ...");
|
||||
}
|
||||
|
||||
@@ -191,7 +191,7 @@ export class CmsUtils {
|
||||
if (connection && connection.options) {
|
||||
if (connection.options.server === parentServerName) {
|
||||
// error out for same server registration
|
||||
let errorText = localize('cms.errors.sameServerUnderCms', 'You cannot add a shared registered server with the same name as the Configuration Server');
|
||||
let errorText = localize('cms.errors.sameServerUnderCms', "You cannot add a shared registered server with the same name as the Configuration Server");
|
||||
this.showErrorMessage(errorText);
|
||||
throw new Error(errorText);
|
||||
} else {
|
||||
|
||||
@@ -74,7 +74,7 @@ export abstract class BasePage {
|
||||
let srv = c.options.server;
|
||||
|
||||
if (!usr) {
|
||||
usr = localize('basePage.defaultUser', 'default');
|
||||
usr = localize('basePage.defaultUser', "default");
|
||||
}
|
||||
|
||||
let finalName = `${srv} (${usr})`;
|
||||
|
||||
@@ -110,13 +110,13 @@ export class DataTierApplicationWizard {
|
||||
this.model.serverId = this.connection.connectionId;
|
||||
|
||||
this.wizard = azdata.window.createWizard('Data-tier Application Wizard');
|
||||
let selectOperationWizardPage = azdata.window.createWizardPage(localize('dacFx.selectOperationPageName', 'Select an Operation'));
|
||||
let deployConfigWizardPage = azdata.window.createWizardPage(localize('dacFx.deployConfigPageName', 'Select Deploy Dacpac Settings'));
|
||||
let deployPlanWizardPage = azdata.window.createWizardPage(localize('dacFx.deployPlanPage', 'Review the deploy plan'));
|
||||
let summaryWizardPage = azdata.window.createWizardPage(localize('dacFx.summaryPageName', 'Summary'));
|
||||
let extractConfigWizardPage = azdata.window.createWizardPage(localize('dacFx.extractConfigPageName', 'Select Extract Dacpac Settings'));
|
||||
let importConfigWizardPage = azdata.window.createWizardPage(localize('dacFx.importConfigPageName', 'Select Import Bacpac Settings'));
|
||||
let exportConfigWizardPage = azdata.window.createWizardPage(localize('dacFx.exportConfigPageName', 'Select Export Bacpac Settings'));
|
||||
let selectOperationWizardPage = azdata.window.createWizardPage(localize('dacFx.selectOperationPageName', "Select an Operation"));
|
||||
let deployConfigWizardPage = azdata.window.createWizardPage(localize('dacFx.deployConfigPageName', "Select Deploy Dacpac Settings"));
|
||||
let deployPlanWizardPage = azdata.window.createWizardPage(localize('dacFx.deployPlanPage', "Review the deploy plan"));
|
||||
let summaryWizardPage = azdata.window.createWizardPage(localize('dacFx.summaryPageName', "Summary"));
|
||||
let extractConfigWizardPage = azdata.window.createWizardPage(localize('dacFx.extractConfigPageName', "Select Extract Dacpac Settings"));
|
||||
let importConfigWizardPage = azdata.window.createWizardPage(localize('dacFx.importConfigPageName', "Select Import Bacpac Settings"));
|
||||
let exportConfigWizardPage = azdata.window.createWizardPage(localize('dacFx.exportConfigPageName', "Select Export Bacpac Settings"));
|
||||
|
||||
this.pages.set(PageName.selectOperation, new Page(selectOperationWizardPage));
|
||||
this.pages.set(PageName.deployConfig, new Page(deployConfigWizardPage));
|
||||
@@ -201,27 +201,27 @@ export class DataTierApplicationWizard {
|
||||
public setDoneButton(operation: Operation): void {
|
||||
switch (operation) {
|
||||
case Operation.deploy: {
|
||||
this.wizard.doneButton.label = localize('dacFx.deployButton', 'Deploy');
|
||||
this.wizard.doneButton.label = localize('dacFx.deployButton', "Deploy");
|
||||
this.selectedOperation = Operation.deploy;
|
||||
break;
|
||||
}
|
||||
case Operation.extract: {
|
||||
this.wizard.doneButton.label = localize('dacFx.extractButton', 'Extract');
|
||||
this.wizard.doneButton.label = localize('dacFx.extractButton', "Extract");
|
||||
this.selectedOperation = Operation.extract;
|
||||
break;
|
||||
}
|
||||
case Operation.import: {
|
||||
this.wizard.doneButton.label = localize('dacFx.importButton', 'Import');
|
||||
this.wizard.doneButton.label = localize('dacFx.importButton', "Import");
|
||||
this.selectedOperation = Operation.import;
|
||||
break;
|
||||
}
|
||||
case Operation.export: {
|
||||
this.wizard.doneButton.label = localize('dacFx.exportButton', 'Export');
|
||||
this.wizard.doneButton.label = localize('dacFx.exportButton', "Export");
|
||||
this.selectedOperation = Operation.export;
|
||||
break;
|
||||
}
|
||||
case Operation.generateDeployScript: {
|
||||
this.wizard.doneButton.label = localize('dacFx.generateScriptButton', 'Generate Script');
|
||||
this.wizard.doneButton.label = localize('dacFx.generateScriptButton', "Generate Script");
|
||||
this.selectedOperation = Operation.generateDeployScript;
|
||||
break;
|
||||
}
|
||||
@@ -305,7 +305,7 @@ export class DataTierApplicationWizard {
|
||||
const service = await DataTierApplicationWizard.getService(msSqlProvider);
|
||||
const ownerUri = await azdata.connection.getUriForConnection(this.model.server.connectionId);
|
||||
this.wizard.message = {
|
||||
text: localize('dacfx.scriptGeneratingMessage', 'You can view the status of script generation in the Tasks View once the wizard is closed. The generated script will open when complete.'),
|
||||
text: localize('dacfx.scriptGeneratingMessage', "You can view the status of script generation in the Tasks View once the wizard is closed. The generated script will open when complete."),
|
||||
level: azdata.window.MessageLevel.Information,
|
||||
description: ''
|
||||
};
|
||||
|
||||
@@ -33,7 +33,7 @@ export class DacFxSummaryPage extends BasePage {
|
||||
|
||||
async start(): Promise<boolean> {
|
||||
this.table = this.view.modelBuilder.table().withProperties({
|
||||
title: localize('dacfx.summaryTableTitle', 'Summary of settings')
|
||||
title: localize('dacfx.summaryTableTitle', "Summary of settings")
|
||||
}).component();
|
||||
this.loader = this.view.modelBuilder.loadingComponent().withItem(this.table).component();
|
||||
this.form = this.view.modelBuilder.formContainer().withFormItems(
|
||||
@@ -76,11 +76,11 @@ export class DacFxSummaryPage extends BasePage {
|
||||
|
||||
private populateTable() {
|
||||
let data = [];
|
||||
let targetServer = localize('dacfx.targetServerName', 'Target Server');
|
||||
let targetDatabase = localize('dacfx.targetDatabaseName', 'Target Database');
|
||||
let sourceServer = localize('dacfx.sourceServerName', 'Source Server');
|
||||
let sourceDatabase = localize('dacfx.sourceDatabaseName', 'Source Database');
|
||||
let fileLocation = localize('dacfx.fileLocation', 'File Location');
|
||||
let targetServer = localize('dacfx.targetServerName', "Target Server");
|
||||
let targetDatabase = localize('dacfx.targetDatabaseName', "Target Database");
|
||||
let sourceServer = localize('dacfx.sourceServerName', "Source Server");
|
||||
let sourceDatabase = localize('dacfx.sourceDatabaseName', "Source Database");
|
||||
let fileLocation = localize('dacfx.fileLocation', "File Location");
|
||||
|
||||
switch (this.instance.selectedOperation) {
|
||||
case Operation.deploy: {
|
||||
@@ -94,7 +94,7 @@ export class DacFxSummaryPage extends BasePage {
|
||||
data = [
|
||||
[sourceServer, this.model.serverName],
|
||||
[sourceDatabase, this.model.database],
|
||||
[localize('dacfxExtract.version', 'Version'), this.model.version],
|
||||
[localize('dacfxExtract.version', "Version"), this.model.version],
|
||||
[fileLocation, this.model.filePath]];
|
||||
break;
|
||||
}
|
||||
@@ -125,11 +125,11 @@ export class DacFxSummaryPage extends BasePage {
|
||||
data: data,
|
||||
columns: [
|
||||
{
|
||||
value: localize('dacfx.settingColumn', 'Setting'),
|
||||
value: localize('dacfx.settingColumn', "Setting"),
|
||||
cssClass: 'align-with-header'
|
||||
},
|
||||
{
|
||||
value: localize('dacfx.valueColumn', 'Value'),
|
||||
value: localize('dacfx.valueColumn', "Value"),
|
||||
cssClass: 'align-with-header'
|
||||
}],
|
||||
width: 700,
|
||||
|
||||
@@ -37,7 +37,7 @@ export class DeployConfigPage extends DacFxConfigPage {
|
||||
let fileBrowserComponent = await this.createFileBrowser();
|
||||
this.databaseComponent = await this.createDatabaseTextBox(localize('dacFx.databaseNameTextBox', "Database Name"));
|
||||
this.databaseDropdownComponent = await this.createDeployDatabaseDropdown();
|
||||
this.databaseDropdownComponent.title = localize('dacFx.databaseNameDropdown', 'Database Name');
|
||||
this.databaseDropdownComponent.title = localize('dacFx.databaseNameDropdown', "Database Name");
|
||||
let radioButtons = await this.createRadiobuttons();
|
||||
|
||||
this.formBuilder = this.view.modelBuilder.formContainer()
|
||||
@@ -73,7 +73,7 @@ export class DeployConfigPage extends DacFxConfigPage {
|
||||
canSelectFolders: false,
|
||||
canSelectMany: false,
|
||||
defaultUri: vscode.Uri.file(this.getRootPath()),
|
||||
openLabel: localize('dacFxDeploy.openFile', 'Open'),
|
||||
openLabel: localize('dacFxDeploy.openFile', "Open"),
|
||||
filters: {
|
||||
'dacpac Files': ['dacpac'],
|
||||
}
|
||||
@@ -99,7 +99,7 @@ export class DeployConfigPage extends DacFxConfigPage {
|
||||
|
||||
return {
|
||||
component: this.fileTextBox,
|
||||
title: localize('dacFxDeploy.fileTextboxTitle', 'File Location'),
|
||||
title: localize('dacFxDeploy.fileTextboxTitle', "File Location"),
|
||||
actions: [this.fileButton]
|
||||
};
|
||||
}
|
||||
@@ -108,13 +108,13 @@ export class DeployConfigPage extends DacFxConfigPage {
|
||||
let upgradeRadioButton = this.view.modelBuilder.radioButton()
|
||||
.withProperties({
|
||||
name: 'updateExisting',
|
||||
label: localize('dacFx.upgradeRadioButtonLabel', 'Upgrade Existing Database'),
|
||||
label: localize('dacFx.upgradeRadioButtonLabel', "Upgrade Existing Database"),
|
||||
}).component();
|
||||
|
||||
let newRadioButton = this.view.modelBuilder.radioButton()
|
||||
.withProperties({
|
||||
name: 'updateExisting',
|
||||
label: localize('dacFx.newRadioButtonLabel', 'New Database'),
|
||||
label: localize('dacFx.newRadioButtonLabel', "New Database"),
|
||||
}).component();
|
||||
|
||||
upgradeRadioButton.onDidClick(() => {
|
||||
@@ -158,7 +158,7 @@ export class DeployConfigPage extends DacFxConfigPage {
|
||||
|
||||
return {
|
||||
component: flexRadioButtonsModel,
|
||||
title: localize('dacFx.targetDatabaseRadioButtonsTitle', 'Target Database')
|
||||
title: localize('dacFx.targetDatabaseRadioButtonsTitle', "Target Database")
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -106,7 +106,7 @@ export class DeployPlanPage extends DacFxConfigPage {
|
||||
if (result.dataLossAlerts.size > 0) {
|
||||
// update message to list how many operations could result in data loss
|
||||
this.dataLossText.updateProperties({
|
||||
value: localize('dacfx.dataLossTextWithCount', '{0} of the deploy actions listed may result in data loss. Please ensure you have a backup or snapshot available in the event of an issue with the deployment.', result.dataLossAlerts.size)
|
||||
value: localize('dacfx.dataLossTextWithCount', "{0} of the deploy actions listed may result in data loss. Please ensure you have a backup or snapshot available in the event of an issue with the deployment.", result.dataLossAlerts.size)
|
||||
});
|
||||
this.dataLossCheckbox.enabled = true;
|
||||
} else {
|
||||
@@ -121,7 +121,7 @@ export class DeployPlanPage extends DacFxConfigPage {
|
||||
this.dataLossCheckbox = this.view.modelBuilder.checkBox()
|
||||
.withValidation(component => component.checked === true)
|
||||
.withProperties({
|
||||
label: localize('dacFx.dataLossCheckbox', 'Proceed despite possible data loss'),
|
||||
label: localize('dacFx.dataLossCheckbox', "Proceed despite possible data loss"),
|
||||
}).component();
|
||||
|
||||
return {
|
||||
@@ -134,7 +134,7 @@ export class DeployPlanPage extends DacFxConfigPage {
|
||||
private async createNoDataLossText(): Promise<azdata.FormComponent> {
|
||||
let noDataLossText = this.view.modelBuilder.text()
|
||||
.withProperties({
|
||||
value: localize('dacfx.noDataLossText', 'No data loss will occur from the listed deploy actions.')
|
||||
value: localize('dacfx.noDataLossText', "No data loss will occur from the listed deploy actions.")
|
||||
}).component();
|
||||
|
||||
return {
|
||||
@@ -147,7 +147,7 @@ export class DeployPlanPage extends DacFxConfigPage {
|
||||
let dataLossComponent = await this.createDataLossCheckbox();
|
||||
this.dataLossText = this.view.modelBuilder.text()
|
||||
.withProperties({
|
||||
value: localize('dacfx.dataLossText', 'The deploy actions may result in data loss. Please ensure you have a backup or snapshot available in the event of an issue with the deployment.')
|
||||
value: localize('dacfx.dataLossText', "The deploy actions may result in data loss. Please ensure you have a backup or snapshot available in the event of an issue with the deployment.")
|
||||
}).component();
|
||||
|
||||
return {
|
||||
@@ -180,31 +180,31 @@ export class DeployPlanPage extends DacFxConfigPage {
|
||||
private getTableColumns(dataloss: boolean): azdata.TableColumn[] {
|
||||
let columns: azdata.TableColumn[] = [
|
||||
{
|
||||
value: localize('dacfx.operationColumn', 'Operation'),
|
||||
value: localize('dacfx.operationColumn', "Operation"),
|
||||
width: 75,
|
||||
cssClass: 'align-with-header',
|
||||
toolTip: localize('dacfx.operationTooltip', 'Operation(Create, Alter, Delete) that will occur during deployment')
|
||||
toolTip: localize('dacfx.operationTooltip', "Operation(Create, Alter, Delete) that will occur during deployment")
|
||||
},
|
||||
{
|
||||
value: localize('dacfx.typeColumn', 'Type'),
|
||||
value: localize('dacfx.typeColumn', "Type"),
|
||||
width: 100,
|
||||
cssClass: 'align-with-header',
|
||||
toolTip: localize('dacfx.typeTooltip', 'Type of object that will be affected by deployment')
|
||||
toolTip: localize('dacfx.typeTooltip', "Type of object that will be affected by deployment")
|
||||
},
|
||||
{
|
||||
value: localize('dacfx.objectColumn', 'Object'),
|
||||
value: localize('dacfx.objectColumn', "Object"),
|
||||
width: 300,
|
||||
cssClass: 'align-with-header',
|
||||
toolTip: localize('dacfx.objecTooltip', 'Name of object that will be affected by deployment')
|
||||
toolTip: localize('dacfx.objecTooltip', "Name of object that will be affected by deployment")
|
||||
}];
|
||||
|
||||
if (dataloss) {
|
||||
columns.unshift(
|
||||
{
|
||||
value: localize('dacfx.dataLossColumn', 'Data Loss'),
|
||||
value: localize('dacfx.dataLossColumn', "Data Loss"),
|
||||
width: 50,
|
||||
cssClass: 'center-align',
|
||||
toolTip: localize('dacfx.dataLossTooltip', 'Operations that may result in data loss are marked with a warning sign')
|
||||
toolTip: localize('dacfx.dataLossTooltip', "Operations that may result in data loss are marked with a warning sign")
|
||||
});
|
||||
}
|
||||
return columns;
|
||||
|
||||
@@ -78,7 +78,7 @@ export class ExportConfigPage extends DacFxConfigPage {
|
||||
let fileUri = await vscode.window.showSaveDialog(
|
||||
{
|
||||
defaultUri: vscode.Uri.file(this.fileTextBox.value),
|
||||
saveLabel: localize('dacfxExport.saveFile', 'Save'),
|
||||
saveLabel: localize('dacfxExport.saveFile', "Save"),
|
||||
filters: {
|
||||
'bacpac Files': ['bacpac'],
|
||||
}
|
||||
@@ -99,7 +99,7 @@ export class ExportConfigPage extends DacFxConfigPage {
|
||||
|
||||
return {
|
||||
component: this.fileTextBox,
|
||||
title: localize('dacFxExport.fileTextboxTitle', 'File Location'),
|
||||
title: localize('dacFxExport.fileTextboxTitle', "File Location"),
|
||||
actions: [this.fileButton]
|
||||
};
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ export class ExtractConfigPage extends DacFxConfigPage {
|
||||
let fileUri = await vscode.window.showSaveDialog(
|
||||
{
|
||||
defaultUri: vscode.Uri.file(this.fileTextBox.value),
|
||||
saveLabel: localize('dacfxExtract.saveFile', 'Save'),
|
||||
saveLabel: localize('dacfxExtract.saveFile', "Save"),
|
||||
filters: {
|
||||
'dacpac Files': ['dacpac'],
|
||||
}
|
||||
@@ -101,7 +101,7 @@ export class ExtractConfigPage extends DacFxConfigPage {
|
||||
|
||||
return {
|
||||
component: this.fileTextBox,
|
||||
title: localize('dacFxExtract.fileTextboxTitle', 'File Location'),
|
||||
title: localize('dacFxExtract.fileTextboxTitle', "File Location"),
|
||||
actions: [this.fileButton]
|
||||
};
|
||||
}
|
||||
@@ -109,7 +109,7 @@ export class ExtractConfigPage extends DacFxConfigPage {
|
||||
private async createVersionTextBox(): Promise<azdata.FormComponent> {
|
||||
this.versionTextBox = this.view.modelBuilder.inputBox().withProperties({
|
||||
required: true,
|
||||
ariaLabel: localize('dacFxExtract.versionTextBoxAriaLabel', 'Version')
|
||||
ariaLabel: localize('dacFxExtract.versionTextBoxAriaLabel', "Version")
|
||||
}).component();
|
||||
|
||||
// default version
|
||||
@@ -122,7 +122,7 @@ export class ExtractConfigPage extends DacFxConfigPage {
|
||||
|
||||
return {
|
||||
component: this.versionTextBox,
|
||||
title: localize('dacFxExtract.versionTextboxTitle', 'Version (use x.x.x.x where x is a number)'),
|
||||
title: localize('dacFxExtract.versionTextboxTitle', "Version (use x.x.x.x where x is a number)"),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ export class ImportConfigPage extends DacFxConfigPage {
|
||||
canSelectFolders: false,
|
||||
canSelectMany: false,
|
||||
defaultUri: vscode.Uri.file(this.getRootPath()),
|
||||
openLabel: localize('dacFxImport.openFile', 'Open'),
|
||||
openLabel: localize('dacFxImport.openFile', "Open"),
|
||||
filters: {
|
||||
'bacpac Files': ['bacpac'],
|
||||
}
|
||||
@@ -89,7 +89,7 @@ export class ImportConfigPage extends DacFxConfigPage {
|
||||
|
||||
return {
|
||||
component: this.fileTextBox,
|
||||
title: localize('dacFxImport.fileTextboxTitle', 'File Location'),
|
||||
title: localize('dacFxImport.fileTextboxTitle', "File Location"),
|
||||
actions: [this.fileButton]
|
||||
};
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ export class SelectOperationPage extends BasePage {
|
||||
this.deployRadioButton = this.view.modelBuilder.radioButton()
|
||||
.withProperties({
|
||||
name: 'selectedOperation',
|
||||
label: localize('dacFx.deployRadioButtonLabel', 'Deploy a data-tier application .dacpac file to an instance of SQL Server [Deploy Dacpac]'),
|
||||
label: localize('dacFx.deployRadioButtonLabel', "Deploy a data-tier application .dacpac file to an instance of SQL Server [Deploy Dacpac]"),
|
||||
}).component();
|
||||
|
||||
this.deployRadioButton.onDidClick(() => {
|
||||
@@ -94,7 +94,7 @@ export class SelectOperationPage extends BasePage {
|
||||
this.extractRadioButton = this.view.modelBuilder.radioButton()
|
||||
.withProperties({
|
||||
name: 'selectedOperation',
|
||||
label: localize('dacFx.extractRadioButtonLabel', 'Extract a data-tier application from an instance of SQL Server to a .dacpac file [Extract Dacpac]'),
|
||||
label: localize('dacFx.extractRadioButtonLabel', "Extract a data-tier application from an instance of SQL Server to a .dacpac file [Extract Dacpac]"),
|
||||
}).component();
|
||||
|
||||
this.extractRadioButton.onDidClick(() => {
|
||||
@@ -119,7 +119,7 @@ export class SelectOperationPage extends BasePage {
|
||||
this.importRadioButton = this.view.modelBuilder.radioButton()
|
||||
.withProperties({
|
||||
name: 'selectedOperation',
|
||||
label: localize('dacFx.importRadioButtonLabel', 'Create a database from a .bacpac file [Import Bacpac]'),
|
||||
label: localize('dacFx.importRadioButtonLabel', "Create a database from a .bacpac file [Import Bacpac]"),
|
||||
}).component();
|
||||
|
||||
this.importRadioButton.onDidClick(() => {
|
||||
@@ -144,7 +144,7 @@ export class SelectOperationPage extends BasePage {
|
||||
this.exportRadioButton = this.view.modelBuilder.radioButton()
|
||||
.withProperties({
|
||||
name: 'selectedOperation',
|
||||
label: localize('dacFx.exportRadioButtonLabel', 'Export the schema and data from a database to the logical .bacpac file format [Export Bacpac]'),
|
||||
label: localize('dacFx.exportRadioButtonLabel', "Export the schema and data from a database to the logical .bacpac file format [Export Bacpac]"),
|
||||
}).component();
|
||||
|
||||
this.exportRadioButton.onDidClick(() => {
|
||||
|
||||
@@ -33,9 +33,9 @@ export class LanguageClientErrorHandler {
|
||||
showOnErrorPrompt(): void {
|
||||
// TODO add telemetry
|
||||
// Telemetry.sendTelemetryEvent('SqlToolsServiceCrash');
|
||||
let crashButtonText = localize('import.serviceCrashButton', 'Give Feedback');
|
||||
let crashButtonText = localize('import.serviceCrashButton', "Give Feedback");
|
||||
vscode.window.showErrorMessage(
|
||||
localize('serviceCrashMessage', 'service component could not start'),
|
||||
localize('serviceCrashMessage', "service component could not start"),
|
||||
crashButtonText
|
||||
).then(action => {
|
||||
if (action && action === crashButtonText) {
|
||||
|
||||
@@ -42,18 +42,18 @@ export class FlatFileWizard {
|
||||
|
||||
let connections = await azdata.connection.getActiveConnections();
|
||||
if (!connections || connections.length === 0) {
|
||||
vscode.window.showErrorMessage(localize('import.needConnection', 'Please connect to a server before using this wizard.'));
|
||||
vscode.window.showErrorMessage(localize('import.needConnection', "Please connect to a server before using this wizard."));
|
||||
return;
|
||||
}
|
||||
|
||||
let currentConnection = await azdata.connection.getCurrentConnection();
|
||||
model.serverId = currentConnection.connectionId;
|
||||
|
||||
this.wizard = azdata.window.createWizard(localize('flatFileImport.wizardName', 'Import flat file wizard'));
|
||||
let page1 = azdata.window.createWizardPage(localize('flatFileImport.page1Name', 'Specify Input File'));
|
||||
let page2 = azdata.window.createWizardPage(localize('flatFileImport.page2Name', 'Preview Data'));
|
||||
let page3 = azdata.window.createWizardPage(localize('flatFileImport.page3Name', 'Modify Columns'));
|
||||
let page4 = azdata.window.createWizardPage(localize('flatFileImport.page4Name', 'Summary'));
|
||||
this.wizard = azdata.window.createWizard(localize('flatFileImport.wizardName', "Import flat file wizard"));
|
||||
let page1 = azdata.window.createWizardPage(localize('flatFileImport.page1Name', "Specify Input File"));
|
||||
let page2 = azdata.window.createWizardPage(localize('flatFileImport.page2Name', "Preview Data"));
|
||||
let page3 = azdata.window.createWizardPage(localize('flatFileImport.page3Name', "Modify Columns"));
|
||||
let page4 = azdata.window.createWizardPage(localize('flatFileImport.page4Name', "Summary"));
|
||||
|
||||
let fileConfigPage: FileConfigPage;
|
||||
|
||||
@@ -89,7 +89,7 @@ export class FlatFileWizard {
|
||||
});
|
||||
|
||||
|
||||
this.importAnotherFileButton = azdata.window.createButton(localize('flatFileImport.importNewFile', 'Import new file'));
|
||||
this.importAnotherFileButton = azdata.window.createButton(localize('flatFileImport.importNewFile', "Import new file"));
|
||||
this.importAnotherFileButton.onClick(() => {
|
||||
//TODO replace this with proper cleanup for all the pages
|
||||
this.wizard.close();
|
||||
|
||||
@@ -97,7 +97,7 @@ export class FileConfigPage extends ImportPage {
|
||||
|
||||
return {
|
||||
component: this.serverDropdown,
|
||||
title: localize('flatFileImport.serverDropdownTitle', 'Server the database is in')
|
||||
title: localize('flatFileImport.serverDropdownTitle', "Server the database is in")
|
||||
};
|
||||
}
|
||||
|
||||
@@ -132,7 +132,7 @@ export class FileConfigPage extends ImportPage {
|
||||
|
||||
return {
|
||||
component: this.databaseLoader,
|
||||
title: localize('flatFileImport.databaseDropdownTitle', 'Database the table is created in')
|
||||
title: localize('flatFileImport.databaseDropdownTitle', "Database the table is created in")
|
||||
};
|
||||
}
|
||||
|
||||
@@ -164,7 +164,7 @@ export class FileConfigPage extends ImportPage {
|
||||
required: true
|
||||
}).component();
|
||||
this.fileButton = this.view.modelBuilder.button().withProperties({
|
||||
label: localize('flatFileImport.browseFiles', 'Browse'),
|
||||
label: localize('flatFileImport.browseFiles', "Browse"),
|
||||
}).component();
|
||||
|
||||
this.fileButton.onDidClick(async (click) => {
|
||||
@@ -173,7 +173,7 @@ export class FileConfigPage extends ImportPage {
|
||||
canSelectFiles: true,
|
||||
canSelectFolders: false,
|
||||
canSelectMany: false,
|
||||
openLabel: localize('flatFileImport.openFile', 'Open'),
|
||||
openLabel: localize('flatFileImport.openFile', "Open"),
|
||||
filters: {
|
||||
'CSV/TXT Files': ['csv', 'txt'],
|
||||
'All Files': ['*']
|
||||
@@ -213,7 +213,7 @@ export class FileConfigPage extends ImportPage {
|
||||
|
||||
return {
|
||||
component: this.fileTextBox,
|
||||
title: localize('flatFileImport.fileTextboxTitle', 'Location of the file to be imported'),
|
||||
title: localize('flatFileImport.fileTextboxTitle', "Location of the file to be imported"),
|
||||
actions: [this.fileButton]
|
||||
};
|
||||
}
|
||||
@@ -242,7 +242,7 @@ export class FileConfigPage extends ImportPage {
|
||||
|
||||
return {
|
||||
component: this.tableNameTextBox,
|
||||
title: localize('flatFileImport.tableTextboxTitle', 'New table name'),
|
||||
title: localize('flatFileImport.tableTextboxTitle', "New table name"),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -260,7 +260,7 @@ export class FileConfigPage extends ImportPage {
|
||||
|
||||
return {
|
||||
component: this.schemaLoader,
|
||||
title: localize('flatFileImport.schemaTextboxTitle', 'Table schema'),
|
||||
title: localize('flatFileImport.schemaTextboxTitle', "Table schema"),
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -107,20 +107,20 @@ export class ModifyColumnsPage extends ImportPage {
|
||||
async onPageEnter(): Promise<boolean> {
|
||||
this.loading.loading = true;
|
||||
await this.populateTable();
|
||||
this.instance.changeNextButtonLabel(localize('flatFileImport.importData', 'Import Data'));
|
||||
this.instance.changeNextButtonLabel(localize('flatFileImport.importData', "Import Data"));
|
||||
this.loading.loading = false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
async onPageLeave(): Promise<boolean> {
|
||||
this.instance.changeNextButtonLabel(localize('flatFileImport.next', 'Next'));
|
||||
this.instance.changeNextButtonLabel(localize('flatFileImport.next', "Next"));
|
||||
return undefined;
|
||||
}
|
||||
|
||||
async cleanup(): Promise<boolean> {
|
||||
delete this.model.proseColumns;
|
||||
this.instance.changeNextButtonLabel(localize('flatFileImport.next', 'Next'));
|
||||
this.instance.changeNextButtonLabel(localize('flatFileImport.next', "Next"));
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -141,23 +141,23 @@ export class ModifyColumnsPage extends ImportPage {
|
||||
this.table.updateProperties({
|
||||
height: 400,
|
||||
columns: [{
|
||||
displayName: localize('flatFileImport.columnName', 'Column Name'),
|
||||
displayName: localize('flatFileImport.columnName', "Column Name"),
|
||||
valueType: azdata.DeclarativeDataType.string,
|
||||
width: '150px',
|
||||
isReadOnly: false
|
||||
}, {
|
||||
displayName: localize('flatFileImport.dataType', 'Data Type'),
|
||||
displayName: localize('flatFileImport.dataType', "Data Type"),
|
||||
valueType: azdata.DeclarativeDataType.editableCategory,
|
||||
width: '150px',
|
||||
isReadOnly: false,
|
||||
categoryValues: this.categoryValues
|
||||
}, {
|
||||
displayName: localize('flatFileImport.primaryKey', 'Primary Key'),
|
||||
displayName: localize('flatFileImport.primaryKey', "Primary Key"),
|
||||
valueType: azdata.DeclarativeDataType.boolean,
|
||||
width: '100px',
|
||||
isReadOnly: false
|
||||
}, {
|
||||
displayName: localize('flatFileImport.allowNulls', 'Allow Nulls'),
|
||||
displayName: localize('flatFileImport.allowNulls', "Allow Nulls"),
|
||||
valueType: azdata.DeclarativeDataType.boolean,
|
||||
isReadOnly: false,
|
||||
width: '100px'
|
||||
|
||||
@@ -17,8 +17,8 @@ const localize = nls.loadMessageBundle();
|
||||
|
||||
export class ProsePreviewPage extends ImportPage {
|
||||
|
||||
private readonly successTitle: string = localize('flatFileImport.prosePreviewMessage', 'This operation analyzed the input file structure to generate the preview below for up to the first 50 rows.');
|
||||
private readonly failureTitle: string = localize('flatFileImport.prosePreviewMessageFail', 'This operation was unsuccessful. Please try a different input file.');
|
||||
private readonly successTitle: string = localize('flatFileImport.prosePreviewMessage', "This operation analyzed the input file structure to generate the preview below for up to the first 50 rows.");
|
||||
private readonly failureTitle: string = localize('flatFileImport.prosePreviewMessageFail', "This operation was unsuccessful. Please try a different input file.");
|
||||
|
||||
private table: azdata.TableComponent;
|
||||
private loading: azdata.LoadingComponent;
|
||||
@@ -38,7 +38,7 @@ export class ProsePreviewPage extends ImportPage {
|
||||
forceFitColumns: azdata.ColumnSizingMode.AutoFit
|
||||
}).component();
|
||||
this.refresh = this.view.modelBuilder.button().withProperties({
|
||||
label: localize('flatFileImport.refresh', 'Refresh'),
|
||||
label: localize('flatFileImport.refresh', "Refresh"),
|
||||
isFile: false
|
||||
}).component();
|
||||
|
||||
|
||||
@@ -33,11 +33,11 @@ export class SummaryPage extends ImportPage {
|
||||
[
|
||||
{
|
||||
component: this.table,
|
||||
title: localize('flatFileImport.importInformation', 'Import information')
|
||||
title: localize('flatFileImport.importInformation', "Import information")
|
||||
},
|
||||
{
|
||||
component: this.loading,
|
||||
title: localize('flatFileImport.importStatus', 'Import status')
|
||||
title: localize('flatFileImport.importStatus', "Import status")
|
||||
}
|
||||
]
|
||||
).component();
|
||||
@@ -70,11 +70,11 @@ export class SummaryPage extends ImportPage {
|
||||
private populateTable() {
|
||||
this.table.updateProperties({
|
||||
data: [
|
||||
[localize('flatFileImport.serverName', 'Server name'), this.model.server.providerName],
|
||||
[localize('flatFileImport.databaseName', 'Database name'), this.model.database],
|
||||
[localize('flatFileImport.tableName', 'Table name'), this.model.table],
|
||||
[localize('flatFileImport.tableSchema', 'Table schema'), this.model.schema],
|
||||
[localize('flatFileImport.fileImport', 'File to be imported'), this.model.filePath]],
|
||||
[localize('flatFileImport.serverName', "Server name"), this.model.server.providerName],
|
||||
[localize('flatFileImport.databaseName', "Database name"), this.model.database],
|
||||
[localize('flatFileImport.tableName', "Table name"), this.model.table],
|
||||
[localize('flatFileImport.tableSchema', "Table schema"), this.model.schema],
|
||||
[localize('flatFileImport.fileImport', "File to be imported"), this.model.filePath]],
|
||||
columns: ['Object type', 'Name'],
|
||||
width: 600,
|
||||
height: 200
|
||||
@@ -118,7 +118,7 @@ export class SummaryPage extends ImportPage {
|
||||
// TODO: When sql statements are in, implement this.
|
||||
//let rows = await this.getCountRowsInserted();
|
||||
//if (rows < 0) {
|
||||
updateText = localize('flatFileImport.success.norows', '✔ You have successfully inserted the data into a table.');
|
||||
updateText = localize('flatFileImport.success.norows', "✔ You have successfully inserted the data into a table.");
|
||||
//} else {
|
||||
//updateText = localize('flatFileImport.success.rows', '✔ You have successfully inserted {0} rows.', rows);
|
||||
//}
|
||||
|
||||
@@ -7,7 +7,7 @@ import * as nls from 'vscode-nls';
|
||||
const localize = nls.loadMessageBundle();
|
||||
|
||||
// HDFS Constants //////////////////////////////////////////////////////////
|
||||
export const msgMissingNodeContext = localize('msgMissingNodeContext', 'Node Command called without any node passed');
|
||||
export const msgMissingNodeContext = localize('msgMissingNodeContext', "Node Command called without any node passed");
|
||||
|
||||
// HDFS Manage Access Dialog Constants ////////////////////////////////////
|
||||
|
||||
@@ -37,16 +37,16 @@ export const applyRecursivelyText = localize('mssql.applyRecursively', "Apply Re
|
||||
export function errorApplyingAclChanges(errMsg: string): string { return localize('mssql.errorApplyingAclChanges', "Unexpected error occurred while applying changes : {0}", errMsg); }
|
||||
|
||||
// Spark Job Submission Constants //////////////////////////////////////////
|
||||
export const sparkLocalFileDestinationHint = localize('sparkJobSubmission.LocalFileDestinationHint', 'Local file will be uploaded to HDFS. ');
|
||||
export const sparkJobSubmissionEndMessage = localize('sparkJobSubmission.SubmissionEndMessage', '.......................... Submit Spark Job End ............................');
|
||||
export function sparkJobSubmissionPrepareUploadingFile(localPath: string, clusterFolder: string): string { return localize('sparkJobSubmission.PrepareUploadingFile', 'Uploading file from local {0} to HDFS folder: {1}', localPath, clusterFolder); }
|
||||
export const sparkJobSubmissionUploadingFileSucceeded = localize('sparkJobSubmission.UploadingFileSucceeded', 'Upload file to cluster Succeeded!');
|
||||
export function sparkJobSubmissionUploadingFileFailed(err: string): string { return localize('sparkJobSubmission.UploadingFileFailed', 'Upload file to cluster Failed. {0}', err); }
|
||||
export function sparkJobSubmissionPrepareSubmitJob(jobName: string): string { return localize('sparkJobSubmission.PrepareSubmitJob', 'Submitting job {0} ... ', jobName); }
|
||||
export const sparkJobSubmissionSparkJobHasBeenSubmitted = localize('sparkJobSubmission.SubmitJobFinished', 'The Spark Job has been submitted.');
|
||||
export function sparkJobSubmissionSubmitJobFailed(err: string): string { return localize('sparkJobSubmission.SubmitJobFailed', 'Spark Job Submission Failed. {0} ', err); }
|
||||
export function sparkJobSubmissionYarnUIMessage(yarnUIURL: string): string { return localize('sparkJobSubmission.YarnUIMessage', 'YarnUI Url: {0} ', yarnUIURL); }
|
||||
export function sparkJobSubmissionSparkHistoryLinkMessage(sparkHistoryLink: string): string { return localize('sparkJobSubmission.SparkHistoryLinkMessage', 'Spark History Url: {0} ', sparkHistoryLink); }
|
||||
export function sparkJobSubmissionGetApplicationIdFailed(err: string): string { return localize('sparkJobSubmission.GetApplicationIdFailed', 'Get Application Id Failed. {0}', err); }
|
||||
export function sparkJobSubmissionLocalFileNotExisted(path: string): string { return localize('sparkJobSubmission.LocalFileNotExisted', 'Local file {0} does not existed. ', path); }
|
||||
export const sparkJobSubmissionNoSqlBigDataClusterFound = localize('sparkJobSubmission.NoSqlBigDataClusterFound', 'No SQL Server Big Data Cluster found.');
|
||||
export const sparkLocalFileDestinationHint = localize('sparkJobSubmission.LocalFileDestinationHint', "Local file will be uploaded to HDFS. ");
|
||||
export const sparkJobSubmissionEndMessage = localize('sparkJobSubmission.SubmissionEndMessage', ".......................... Submit Spark Job End ............................");
|
||||
export function sparkJobSubmissionPrepareUploadingFile(localPath: string, clusterFolder: string): string { return localize('sparkJobSubmission.PrepareUploadingFile', "Uploading file from local {0} to HDFS folder: {1}", localPath, clusterFolder); }
|
||||
export const sparkJobSubmissionUploadingFileSucceeded = localize('sparkJobSubmission.UploadingFileSucceeded', "Upload file to cluster Succeeded!");
|
||||
export function sparkJobSubmissionUploadingFileFailed(err: string): string { return localize('sparkJobSubmission.UploadingFileFailed', "Upload file to cluster Failed. {0}", err); }
|
||||
export function sparkJobSubmissionPrepareSubmitJob(jobName: string): string { return localize('sparkJobSubmission.PrepareSubmitJob', "Submitting job {0} ... ", jobName); }
|
||||
export const sparkJobSubmissionSparkJobHasBeenSubmitted = localize('sparkJobSubmission.SubmitJobFinished', "The Spark Job has been submitted.");
|
||||
export function sparkJobSubmissionSubmitJobFailed(err: string): string { return localize('sparkJobSubmission.SubmitJobFailed', "Spark Job Submission Failed. {0} ", err); }
|
||||
export function sparkJobSubmissionYarnUIMessage(yarnUIURL: string): string { return localize('sparkJobSubmission.YarnUIMessage', "YarnUI Url: {0} ", yarnUIURL); }
|
||||
export function sparkJobSubmissionSparkHistoryLinkMessage(sparkHistoryLink: string): string { return localize('sparkJobSubmission.SparkHistoryLinkMessage', "Spark History Url: {0} ", sparkHistoryLink); }
|
||||
export function sparkJobSubmissionGetApplicationIdFailed(err: string): string { return localize('sparkJobSubmission.GetApplicationIdFailed', "Get Application Id Failed. {0}", err); }
|
||||
export function sparkJobSubmissionLocalFileNotExisted(path: string): string { return localize('sparkJobSubmission.LocalFileNotExisted', "Local file {0} does not existed. ", path); }
|
||||
export const sparkJobSubmissionNoSqlBigDataClusterFound = localize('sparkJobSubmission.NoSqlBigDataClusterFound', "No SQL Server Big Data Cluster found.");
|
||||
|
||||
@@ -33,7 +33,7 @@ import { IconPathHelper } from './iconHelper';
|
||||
import * as nls from 'vscode-nls';
|
||||
|
||||
const localize = nls.loadMessageBundle();
|
||||
const msgSampleCodeDataFrame = localize('msgSampleCodeDataFrame', 'This sample code loads the file into a data frame and shows the first 10 results.');
|
||||
const msgSampleCodeDataFrame = localize('msgSampleCodeDataFrame', "This sample code loads the file into a data frame and shows the first 10 results.");
|
||||
|
||||
export async function activate(context: vscode.ExtensionContext): Promise<IExtension> {
|
||||
// lets make sure we support this platform first
|
||||
@@ -180,7 +180,7 @@ async function handleNewNotebookTask(oeContext?: azdata.ObjectExplorerContext, p
|
||||
}
|
||||
|
||||
async function handleOpenNotebookTask(profile: azdata.IConnectionProfile): Promise<void> {
|
||||
let notebookFileTypeName = localize('notebookFileType', 'Notebooks');
|
||||
let notebookFileTypeName = localize('notebookFileType', "Notebooks");
|
||||
let filter = {};
|
||||
filter[notebookFileTypeName] = 'ipynb';
|
||||
let uris = await vscode.window.showOpenDialog({
|
||||
@@ -193,7 +193,7 @@ async function handleOpenNotebookTask(profile: azdata.IConnectionProfile): Promi
|
||||
// Verify this is a .ipynb file since this isn't actually filtered on Mac/Linux
|
||||
if (path.extname(fileUri.fsPath) !== '.ipynb') {
|
||||
// in the future might want additional supported types
|
||||
vscode.window.showErrorMessage(localize('unsupportedFileType', 'Only .ipynb Notebooks are supported'));
|
||||
vscode.window.showErrorMessage(localize('unsupportedFileType', "Only .ipynb Notebooks are supported"));
|
||||
} else {
|
||||
await azdata.nb.showNotebookDocument(fileUri, {
|
||||
connectionProfile: profile,
|
||||
|
||||
@@ -18,7 +18,7 @@ export class CancelableStream extends Transform {
|
||||
|
||||
public _transform(chunk: any, encoding: string, callback: Function): void {
|
||||
if (this.cancelationToken && this.cancelationToken.token.isCancellationRequested) {
|
||||
callback(new Error(localize('streamCanceled', 'Stream operation canceled by the user')));
|
||||
callback(new Error(localize('streamCanceled', "Stream operation canceled by the user")));
|
||||
} else {
|
||||
this.push(chunk);
|
||||
callback();
|
||||
|
||||
@@ -140,7 +140,7 @@ export abstract class ProgressCommand extends Command {
|
||||
const tokenSource = new vscode.CancellationTokenSource();
|
||||
const statusBarItem = this.apiWrapper.createStatusBarItem(vscode.StatusBarAlignment.Left);
|
||||
disposables.push(vscode.Disposable.from(statusBarItem));
|
||||
statusBarItem.text = localize('progress', '$(sync~spin) {0}...', label);
|
||||
statusBarItem.text = localize('progress', "$(sync~spin) {0}...", label);
|
||||
if (isCancelable) {
|
||||
const cancelCommandId = `cancelProgress${ProgressCommand.progressId++}`;
|
||||
disposables.push(this.apiWrapper.registerCommand(cancelCommandId, async () => {
|
||||
@@ -148,7 +148,7 @@ export abstract class ProgressCommand extends Command {
|
||||
tokenSource.cancel();
|
||||
}
|
||||
}));
|
||||
statusBarItem.tooltip = localize('cancelTooltip', 'Cancel');
|
||||
statusBarItem.tooltip = localize('cancelTooltip', "Cancel");
|
||||
statusBarItem.command = cancelCommandId;
|
||||
}
|
||||
statusBarItem.show();
|
||||
@@ -170,7 +170,7 @@ export abstract class ProgressCommand extends Command {
|
||||
private async confirmCancel(): Promise<boolean> {
|
||||
return await this.prompter.promptSingle<boolean>(<IQuestion>{
|
||||
type: QuestionTypes.confirm,
|
||||
message: localize('cancel', 'Cancel operation?'),
|
||||
message: localize('cancel', "Cancel operation?"),
|
||||
default: true
|
||||
});
|
||||
}
|
||||
@@ -179,7 +179,7 @@ export abstract class ProgressCommand extends Command {
|
||||
export function registerSearchServerCommand(appContext: AppContext): void {
|
||||
appContext.apiWrapper.registerCommand('mssql.searchServers', () => {
|
||||
vscode.window.showInputBox({
|
||||
placeHolder: localize('mssql.searchServers', 'Search Server Names')
|
||||
placeHolder: localize('mssql.searchServers', "Search Server Names")
|
||||
}).then((stringSearch) => {
|
||||
if (stringSearch) {
|
||||
vscode.commands.executeCommand('registeredServers.searchServer', (stringSearch));
|
||||
|
||||
@@ -84,15 +84,15 @@ export class SqlClusterConnection {
|
||||
|
||||
private validate(connectionInfo: azdata.ConnectionInfo): void {
|
||||
if (!connectionInfo) {
|
||||
throw new Error(localize('connectionInfoUndefined', 'ConnectionInfo is undefined.'));
|
||||
throw new Error(localize('connectionInfoUndefined', "ConnectionInfo is undefined."));
|
||||
}
|
||||
if (!connectionInfo.options) {
|
||||
throw new Error(localize('connectionInfoOptionsUndefined', 'ConnectionInfo.options is undefined.'));
|
||||
throw new Error(localize('connectionInfoOptionsUndefined', "ConnectionInfo.options is undefined."));
|
||||
}
|
||||
let missingProperties: string[] = this.getMissingProperties(connectionInfo);
|
||||
if (missingProperties && missingProperties.length > 0) {
|
||||
throw new Error(localize('connectionInfoOptionsMissingProperties',
|
||||
'Some missing properties in connectionInfo.options: {0}',
|
||||
"Some missing properties in connectionInfo.options: {0}",
|
||||
missingProperties.join(', ')));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ export class UploadFilesCommand extends ProgressCommand {
|
||||
canSelectFiles: true,
|
||||
canSelectFolders: false,
|
||||
canSelectMany: true,
|
||||
openLabel: localize('lblUploadFiles', 'Upload'),
|
||||
openLabel: localize('lblUploadFiles', "Upload"),
|
||||
filters: filter
|
||||
};
|
||||
let fileUris: vscode.Uri[] = await this.apiWrapper.showOpenDialog(options);
|
||||
@@ -86,8 +86,8 @@ export class UploadFilesCommand extends ProgressCommand {
|
||||
let files: IFile[] = await Promise.all(fileUris.map(uri => uri.fsPath).map(this.mapPathsToFiles()));
|
||||
await this.executeWithProgress(
|
||||
(cancelToken: vscode.CancellationTokenSource) => this.writeFiles(files, folderNode, cancelToken),
|
||||
localize('uploading', 'Uploading files to HDFS'), true,
|
||||
() => this.apiWrapper.showInformationMessage(localize('uploadCanceled', 'Upload operation was canceled')));
|
||||
localize('uploading', "Uploading files to HDFS"), true,
|
||||
() => this.apiWrapper.showInformationMessage(localize('uploadCanceled', "Upload operation was canceled")));
|
||||
if (context.type === constants.ObjectExplorerService) {
|
||||
let objectExplorerNode = await azdata.objectexplorer.getNode(context.explorerContext.connectionProfile.id, folderNode.getNodeInfo().nodePath);
|
||||
await objectExplorerNode.refresh();
|
||||
@@ -96,7 +96,7 @@ export class UploadFilesCommand extends ProgressCommand {
|
||||
}
|
||||
} catch (err) {
|
||||
this.apiWrapper.showErrorMessage(
|
||||
localize('uploadError', 'Error uploading files: {0}', utils.getErrorMessage(err, true)));
|
||||
localize('uploadError', "Error uploading files: {0}", utils.getErrorMessage(err, true)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -152,8 +152,8 @@ export class MkDirCommand extends ProgressCommand {
|
||||
if (fileName && fileName.length > 0) {
|
||||
await this.executeWithProgress(
|
||||
async (cancelToken: vscode.CancellationTokenSource) => this.mkDir(fileName, folderNode, cancelToken),
|
||||
localize('makingDir', 'Creating directory'), true,
|
||||
() => this.apiWrapper.showInformationMessage(localize('mkdirCanceled', 'Operation was canceled')));
|
||||
localize('makingDir', "Creating directory"), true,
|
||||
() => this.apiWrapper.showInformationMessage(localize('mkdirCanceled', "Operation was canceled")));
|
||||
if (context.type === constants.ObjectExplorerService) {
|
||||
let objectExplorerNode = await azdata.objectexplorer.getNode(context.explorerContext.connectionProfile.id, folderNode.getNodeInfo().nodePath);
|
||||
await objectExplorerNode.refresh();
|
||||
@@ -162,7 +162,7 @@ export class MkDirCommand extends ProgressCommand {
|
||||
}
|
||||
} catch (err) {
|
||||
this.apiWrapper.showErrorMessage(
|
||||
localize('mkDirError', 'Error on making directory: {0}', utils.getErrorMessage(err, true)));
|
||||
localize('mkDirError', "Error on making directory: {0}", utils.getErrorMessage(err, true)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -170,7 +170,7 @@ export class MkDirCommand extends ProgressCommand {
|
||||
return await this.prompter.promptSingle(<IQuestion>{
|
||||
type: QuestionTypes.input,
|
||||
name: 'enterDirName',
|
||||
message: localize('enterDirName', 'Enter directory name'),
|
||||
message: localize('enterDirName', "Enter directory name"),
|
||||
default: ''
|
||||
}).then(confirmed => <string>confirmed);
|
||||
}
|
||||
@@ -220,7 +220,7 @@ export class DeleteFilesCommand extends Command {
|
||||
}
|
||||
} catch (err) {
|
||||
this.apiWrapper.showErrorMessage(
|
||||
localize('deleteError', 'Error on deleting files: {0}', utils.getErrorMessage(err, true)));
|
||||
localize('deleteError', "Error on deleting files: {0}", utils.getErrorMessage(err, true)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -234,7 +234,7 @@ export class DeleteFilesCommand extends Command {
|
||||
|
||||
private async deleteFolder(node: FolderNode): Promise<void> {
|
||||
if (node) {
|
||||
let confirmed = await this.confirmDelete(localize('msgDeleteFolder', 'Are you sure you want to delete this folder and its contents?'));
|
||||
let confirmed = await this.confirmDelete(localize('msgDeleteFolder', "Are you sure you want to delete this folder and its contents?"));
|
||||
if (confirmed) {
|
||||
// TODO prompt for recursive delete if non-empty?
|
||||
await node.delete(true);
|
||||
@@ -244,7 +244,7 @@ export class DeleteFilesCommand extends Command {
|
||||
|
||||
private async deleteFile(node: FileNode): Promise<void> {
|
||||
if (node) {
|
||||
let confirmed = await this.confirmDelete(localize('msgDeleteFile', 'Are you sure you want to delete this file?'));
|
||||
let confirmed = await this.confirmDelete(localize('msgDeleteFile', "Are you sure you want to delete this file?"));
|
||||
if (confirmed) {
|
||||
await node.delete();
|
||||
}
|
||||
@@ -273,15 +273,15 @@ export class SaveFileCommand extends ProgressCommand {
|
||||
if (fileUri) {
|
||||
await this.executeWithProgress(
|
||||
(cancelToken: vscode.CancellationTokenSource) => this.doSaveAndOpen(fileUri, fileNode, cancelToken),
|
||||
localize('saving', 'Saving HDFS Files'), true,
|
||||
() => this.apiWrapper.showInformationMessage(localize('saveCanceled', 'Save operation was canceled')));
|
||||
localize('saving', "Saving HDFS Files"), true,
|
||||
() => this.apiWrapper.showInformationMessage(localize('saveCanceled', "Save operation was canceled")));
|
||||
}
|
||||
} else {
|
||||
this.apiWrapper.showErrorMessage(LocalizedConstants.msgMissingNodeContext);
|
||||
}
|
||||
} catch (err) {
|
||||
this.apiWrapper.showErrorMessage(
|
||||
localize('saveError', 'Error on saving file: {0}', utils.getErrorMessage(err, true)));
|
||||
localize('saveError', "Error on saving file: {0}", utils.getErrorMessage(err, true)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -324,14 +324,14 @@ export class PreviewFileCommand extends ProgressCommand {
|
||||
await this.showNotebookDocument(fileName, connectionProfile, contents);
|
||||
}
|
||||
},
|
||||
localize('previewing', 'Generating preview'),
|
||||
localize('previewing', "Generating preview"),
|
||||
false);
|
||||
} else {
|
||||
this.apiWrapper.showErrorMessage(LocalizedConstants.msgMissingNodeContext);
|
||||
}
|
||||
} catch (err) {
|
||||
this.apiWrapper.showErrorMessage(
|
||||
localize('previewError', 'Error on previewing file: {0}', utils.getErrorMessage(err, true)));
|
||||
localize('previewError', "Error on previewing file: {0}", utils.getErrorMessage(err, true)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -388,7 +388,7 @@ export class CopyPathCommand extends Command {
|
||||
}
|
||||
} catch (err) {
|
||||
this.apiWrapper.showErrorMessage(
|
||||
localize('copyPathError', 'Error on copying path: {0}', utils.getErrorMessage(err, true)));
|
||||
localize('copyPathError', "Error on copying path: {0}", utils.getErrorMessage(err, true)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,7 +140,7 @@ export class FolderNode extends HdfsFileSourceNode {
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
this.children = [ErrorNode.create(localize('errorExpanding', 'Error: {0}', utils.getErrorMessage(error)), this, error.statusCode)];
|
||||
this.children = [ErrorNode.create(localize('errorExpanding', "Error: {0}", utils.getErrorMessage(error)), this, error.statusCode)];
|
||||
}
|
||||
}
|
||||
return this.children;
|
||||
@@ -242,7 +242,7 @@ export class ConnectionNode extends FolderNode {
|
||||
}
|
||||
|
||||
public async delete(): Promise<void> {
|
||||
throw new Error(localize('errDeleteConnectionNode', 'Cannot delete a connection. Only subfolders and files can be deleted.'));
|
||||
throw new Error(localize('errDeleteConnectionNode', "Cannot delete a connection. Only subfolders and files can be deleted."));
|
||||
}
|
||||
|
||||
async getTreeItem(): Promise<vscode.TreeItem> {
|
||||
|
||||
@@ -99,7 +99,7 @@ export class OpenSparkJobSubmissionDialogCommand extends Command {
|
||||
}
|
||||
}
|
||||
|
||||
let errorMsg = localize('sparkJobSubmission.NoSqlSelected', 'No SQL Server is selected.');
|
||||
let errorMsg = localize('sparkJobSubmission.NoSqlSelected', "No SQL Server is selected.");
|
||||
if (!selectedHost) { throw new Error(errorMsg); }
|
||||
|
||||
let sqlConnection = connectionMap.get(selectedHost);
|
||||
@@ -135,7 +135,7 @@ export class OpenSparkJobSubmissionDialogFromFileCommand extends Command {
|
||||
return;
|
||||
}
|
||||
} catch (err) {
|
||||
this.apiWrapper.showErrorMessage(localize('sparkJobSubmission.GetFilePathFromSelectedNodeFailed', 'Error Get File Path: {0}', err));
|
||||
this.apiWrapper.showErrorMessage(localize('sparkJobSubmission.GetFilePathFromSelectedNodeFailed', "Error Get File Path: {0}", err));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ export class SparkAdvancedTab {
|
||||
}
|
||||
|
||||
constructor(private appContext: AppContext) {
|
||||
this._tab = this.apiWrapper.createTab(localize('sparkJobSubmission.AdvancedTabName', 'ADVANCED'));
|
||||
this._tab = this.apiWrapper.createTab(localize('sparkJobSubmission.AdvancedTabName', "ADVANCED"));
|
||||
|
||||
this._tab.registerContent(async (modelView) => {
|
||||
let builder = modelView.modelBuilder;
|
||||
@@ -37,35 +37,35 @@ export class SparkAdvancedTab {
|
||||
this._referenceJARFilesInputBox = builder.inputBox().component();
|
||||
formContainer.addFormItem({
|
||||
component: this._referenceJARFilesInputBox,
|
||||
title: localize('sparkJobSubmission.ReferenceJarList', 'Reference Jars')
|
||||
title: localize('sparkJobSubmission.ReferenceJarList', "Reference Jars")
|
||||
},
|
||||
Object.assign(
|
||||
{
|
||||
info: localize('sparkJobSubmission.ReferenceJarListToolTip',
|
||||
'Jars to be placed in executor working directory. The Jar path needs to be an HDFS Path. Multiple paths should be split by semicolon (;)')
|
||||
"Jars to be placed in executor working directory. The Jar path needs to be an HDFS Path. Multiple paths should be split by semicolon (;)")
|
||||
},
|
||||
parentLayout));
|
||||
|
||||
this._referencePyFilesInputBox = builder.inputBox().component();
|
||||
formContainer.addFormItem({
|
||||
component: this._referencePyFilesInputBox,
|
||||
title: localize('sparkJobSubmission.ReferencePyList', 'Reference py Files')
|
||||
title: localize('sparkJobSubmission.ReferencePyList', "Reference py Files")
|
||||
},
|
||||
Object.assign(
|
||||
{
|
||||
info: localize('sparkJobSubmission.ReferencePyListTooltip',
|
||||
'Py Files to be placed in executor working directory. The file path needs to be an HDFS Path. Multiple paths should be split by semicolon(;)')
|
||||
"Py Files to be placed in executor working directory. The file path needs to be an HDFS Path. Multiple paths should be split by semicolon(;)")
|
||||
},
|
||||
parentLayout));
|
||||
|
||||
this._referenceFilesInputBox = builder.inputBox().component();
|
||||
formContainer.addFormItem({
|
||||
component: this._referenceFilesInputBox,
|
||||
title: localize('sparkJobSubmission.ReferenceFilesList', 'Reference Files')
|
||||
title: localize('sparkJobSubmission.ReferenceFilesList', "Reference Files")
|
||||
},
|
||||
Object.assign({
|
||||
info: localize('sparkJobSubmission.ReferenceFilesListTooltip',
|
||||
'Files to be placed in executor working directory. The file path needs to be an HDFS Path. Multiple paths should be split by semicolon(;)')
|
||||
"Files to be placed in executor working directory. The file path needs to be an HDFS Path. Multiple paths should be split by semicolon(;)")
|
||||
}, parentLayout));
|
||||
|
||||
await modelView.initializeModel(formContainer.component());
|
||||
|
||||
@@ -41,7 +41,7 @@ export class SparkConfigurationTab {
|
||||
|
||||
// If path is specified, means the default source setting for this tab is HDFS file, otherwise, it would be local file.
|
||||
constructor(private _dataModel: SparkJobSubmissionModel, private appContext: AppContext, private _path?: string) {
|
||||
this._tab = this.apiWrapper.createTab(localize('sparkJobSubmission.GeneralTabName', 'GENERAL'));
|
||||
this._tab = this.apiWrapper.createTab(localize('sparkJobSubmission.GeneralTabName', "GENERAL"));
|
||||
|
||||
this._tab.registerContent(async (modelView) => {
|
||||
let builder = modelView.modelBuilder;
|
||||
@@ -53,13 +53,13 @@ export class SparkConfigurationTab {
|
||||
let formContainer = builder.formContainer();
|
||||
|
||||
this._jobNameInputBox = builder.inputBox().withProperties({
|
||||
placeHolder: localize('sparkJobSubmission.JobNamePlaceHolder', 'Enter a name ...'),
|
||||
placeHolder: localize('sparkJobSubmission.JobNamePlaceHolder', "Enter a name ..."),
|
||||
value: (this._path) ? fspath.basename(this._path) : ''
|
||||
}).component();
|
||||
|
||||
formContainer.addFormItem({
|
||||
component: this._jobNameInputBox,
|
||||
title: localize('sparkJobSubmission.JobName', 'Job Name'),
|
||||
title: localize('sparkJobSubmission.JobName', "Job Name"),
|
||||
required: true
|
||||
}, parentLayout);
|
||||
|
||||
@@ -68,7 +68,7 @@ export class SparkConfigurationTab {
|
||||
}).component();
|
||||
formContainer.addFormItem({
|
||||
component: this._sparkContextLabel,
|
||||
title: localize('sparkJobSubmission.SparkCluster', 'Spark Cluster')
|
||||
title: localize('sparkJobSubmission.SparkCluster', "Spark Cluster")
|
||||
}, parentLayout);
|
||||
|
||||
this._fileSourceDropDown = builder.dropDown().withProperties<azdata.DropDownProperties>({
|
||||
@@ -102,7 +102,7 @@ export class SparkConfigurationTab {
|
||||
|
||||
this._sparkSourceFileInputBox = builder.inputBox().withProperties({
|
||||
required: true,
|
||||
placeHolder: localize('sparkJobSubmission.FilePathPlaceHolder', 'Path to a .jar or .py file'),
|
||||
placeHolder: localize('sparkJobSubmission.FilePathPlaceHolder', "Path to a .jar or .py file"),
|
||||
value: (this._path) ? this._path : ''
|
||||
}).component();
|
||||
this._sparkSourceFileInputBox.onTextChanged(text => {
|
||||
@@ -111,7 +111,7 @@ export class SparkConfigurationTab {
|
||||
if (this._localUploadDestinationLabel) {
|
||||
if (text) {
|
||||
this._localUploadDestinationLabel.value = localize('sparkJobSubmission.LocalFileDestinationHintWithPath',
|
||||
'The selected local file will be uploaded to HDFS: {0}', this._dataModel.hdfsSubmitFilePath);
|
||||
"The selected local file will be uploaded to HDFS: {0}", this._dataModel.hdfsSubmitFilePath);
|
||||
} else {
|
||||
this._localUploadDestinationLabel.value = LocalizedConstants.sparkLocalFileDestinationHint;
|
||||
}
|
||||
@@ -167,24 +167,24 @@ export class SparkConfigurationTab {
|
||||
|
||||
formContainer.addFormItem({
|
||||
component: this._sourceFlexContainerWithHint,
|
||||
title: localize('sparkJobSubmission.MainFilePath', 'JAR/py File'),
|
||||
title: localize('sparkJobSubmission.MainFilePath', "JAR/py File"),
|
||||
required: true
|
||||
}, parentLayout);
|
||||
|
||||
this._mainClassInputBox = builder.inputBox().component();
|
||||
formContainer.addFormItem({
|
||||
component: this._mainClassInputBox,
|
||||
title: localize('sparkJobSubmission.MainClass', 'Main Class'),
|
||||
title: localize('sparkJobSubmission.MainClass', "Main Class"),
|
||||
required: true
|
||||
}, parentLayout);
|
||||
|
||||
this._argumentsInputBox = builder.inputBox().component();
|
||||
formContainer.addFormItem({
|
||||
component: this._argumentsInputBox,
|
||||
title: localize('sparkJobSubmission.Arguments', 'Arguments')
|
||||
title: localize('sparkJobSubmission.Arguments', "Arguments")
|
||||
},
|
||||
Object.assign(
|
||||
{ info: localize('sparkJobSubmission.ArgumentsTooltip', 'Command line arguments used in your main class, multiple arguments should be split by space.') },
|
||||
{ info: localize('sparkJobSubmission.ArgumentsTooltip', "Command line arguments used in your main class, multiple arguments should be split by space.") },
|
||||
parentLayout));
|
||||
|
||||
await modelView.initializeModel(formContainer.component());
|
||||
@@ -193,7 +193,7 @@ export class SparkConfigurationTab {
|
||||
|
||||
public async validate(): Promise<boolean> {
|
||||
if (!this._jobNameInputBox.value) {
|
||||
this._dataModel.showDialogError(localize('sparkJobSubmission.NotSpecifyJobName', 'Property Job Name is not specified.'));
|
||||
this._dataModel.showDialogError(localize('sparkJobSubmission.NotSpecifyJobName', "Property Job Name is not specified."));
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -202,7 +202,7 @@ export class SparkConfigurationTab {
|
||||
this._dataModel.isMainSourceFromLocal = true;
|
||||
this._dataModel.updateModelByLocalPath(this._sparkSourceFileInputBox.value);
|
||||
} else {
|
||||
this._dataModel.showDialogError(localize('sparkJobSubmission.NotSpecifyJARPYPath', 'Property JAR/py File is not specified.'));
|
||||
this._dataModel.showDialogError(localize('sparkJobSubmission.NotSpecifyJARPYPath', "Property JAR/py File is not specified."));
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
@@ -210,13 +210,13 @@ export class SparkConfigurationTab {
|
||||
this._dataModel.isMainSourceFromLocal = false;
|
||||
this._dataModel.hdfsSubmitFilePath = this._sparkSourceFileInputBox.value;
|
||||
} else {
|
||||
this._dataModel.showDialogError(localize('sparkJobSubmission.NotSpecifyJARPYPath', 'Property JAR/py File is not specified.'));
|
||||
this._dataModel.showDialogError(localize('sparkJobSubmission.NotSpecifyJARPYPath', "Property JAR/py File is not specified."));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (this._dataModel.isJarFile() && !this._mainClassInputBox.value) {
|
||||
this._dataModel.showDialogError(localize('sparkJobSubmission.NotSpecifyMainClass', 'Property Main Class is not specified.'));
|
||||
this._dataModel.showDialogError(localize('sparkJobSubmission.NotSpecifyMainClass', "Property Main Class is not specified."));
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -231,11 +231,11 @@ export class SparkConfigurationTab {
|
||||
try {
|
||||
let isFileExisted = await this._dataModel.isClusterFileExisted(this._dataModel.hdfsSubmitFilePath);
|
||||
if (!isFileExisted) {
|
||||
this._dataModel.showDialogError(localize('sparkJobSubmission.HDFSFileNotExistedWithPath', '{0} does not exist in Cluster or exception thrown. ', this._dataModel.hdfsSubmitFilePath));
|
||||
this._dataModel.showDialogError(localize('sparkJobSubmission.HDFSFileNotExistedWithPath', "{0} does not exist in Cluster or exception thrown. ", this._dataModel.hdfsSubmitFilePath));
|
||||
return false;
|
||||
}
|
||||
} catch (error) {
|
||||
this._dataModel.showDialogError(localize('sparkJobSubmission.HDFSFileNotExisted', 'The specified HDFS file does not exist. '));
|
||||
this._dataModel.showDialogError(localize('sparkJobSubmission.HDFSFileNotExisted', "The specified HDFS file does not exist. "));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -261,7 +261,7 @@ export class SparkConfigurationTab {
|
||||
canSelectFiles: true,
|
||||
canSelectFolders: false,
|
||||
canSelectMany: false,
|
||||
openLabel: localize('sparkSelectLocalFile', 'Select'),
|
||||
openLabel: localize('sparkSelectLocalFile', "Select"),
|
||||
filters: filter
|
||||
};
|
||||
|
||||
@@ -272,7 +272,7 @@ export class SparkConfigurationTab {
|
||||
|
||||
return undefined;
|
||||
} catch (err) {
|
||||
this.apiWrapper.showErrorMessage(localize('sparkJobSubmission.SelectFileError', 'Error in locating the file due to Error: {0}', utils.getErrorMessage(err)));
|
||||
this.apiWrapper.showErrorMessage(localize('sparkJobSubmission.SelectFileError', "Error in locating the file due to Error: {0}", utils.getErrorMessage(err)));
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,12 +36,12 @@ export class SparkJobSubmissionDialog {
|
||||
private outputChannel: vscode.OutputChannel) {
|
||||
if (!this.sqlClusterConnection || !this.appContext || !this.outputChannel) {
|
||||
throw new Error(localize('sparkJobSubmission.SparkJobSubmissionDialogInitializeError',
|
||||
'Parameters for SparkJobSubmissionDialog is illegal'));
|
||||
"Parameters for SparkJobSubmissionDialog is illegal"));
|
||||
}
|
||||
}
|
||||
|
||||
public async openDialog(path?: string): Promise<void> {
|
||||
this._dialog = this.apiWrapper.createDialog(localize('sparkJobSubmission.DialogTitleNewJob', 'New Job'));
|
||||
this._dialog = this.apiWrapper.createDialog(localize('sparkJobSubmission.DialogTitleNewJob', "New Job"));
|
||||
|
||||
this._dataModel = new SparkJobSubmissionModel(this.sqlClusterConnection, this._dialog, this.appContext);
|
||||
|
||||
@@ -50,9 +50,9 @@ export class SparkJobSubmissionDialog {
|
||||
|
||||
this._dialog.content = [this._sparkConfigTab.tab, this._sparkAdvancedTab.tab];
|
||||
|
||||
this._dialog.cancelButton.label = localize('sparkJobSubmission.DialogCancelButton', 'Cancel');
|
||||
this._dialog.cancelButton.label = localize('sparkJobSubmission.DialogCancelButton', "Cancel");
|
||||
|
||||
this._dialog.okButton.label = localize('sparkJobSubmission.DialogSubmitButton', 'Submit');
|
||||
this._dialog.okButton.label = localize('sparkJobSubmission.DialogSubmitButton', "Submit");
|
||||
this._dialog.okButton.onClick(() => this.onClickOk());
|
||||
|
||||
this._dialog.registerCloseValidator(() => this.handleValidate());
|
||||
@@ -61,7 +61,7 @@ export class SparkJobSubmissionDialog {
|
||||
}
|
||||
|
||||
private onClickOk(): void {
|
||||
let jobName = localize('sparkJobSubmission.SubmitSparkJob', '{0} Spark Job Submission:',
|
||||
let jobName = localize('sparkJobSubmission.SubmitSparkJob', "{0} Spark Job Submission:",
|
||||
this._sparkConfigTab.getInputValues()[0]);
|
||||
this.apiWrapper.startBackgroundOperation(
|
||||
{
|
||||
@@ -80,7 +80,7 @@ export class SparkJobSubmissionDialog {
|
||||
try {
|
||||
this.outputChannel.show();
|
||||
let msg = localize('sparkJobSubmission.SubmissionStartMessage',
|
||||
'.......................... Submit Spark Job Start ..........................');
|
||||
".......................... Submit Spark Job Start ..........................");
|
||||
this.outputChannel.appendLine(msg);
|
||||
// 1. Upload local file to HDFS for local source.
|
||||
if (this._dataModel.isMainSourceFromLocal) {
|
||||
|
||||
@@ -42,7 +42,7 @@ export class SparkJobSubmissionModel {
|
||||
|
||||
if (!this._sqlClusterConnection || !this._dialog || !this._appContext) {
|
||||
throw new Error(localize('sparkJobSubmission.SparkJobSubmissionModelInitializeError',
|
||||
'Parameters for SparkJobSubmissionModel is illegal'));
|
||||
"Parameters for SparkJobSubmissionModel is illegal"));
|
||||
}
|
||||
|
||||
this._dialogService = new SparkJobSubmissionService(requestService);
|
||||
@@ -89,7 +89,7 @@ export class SparkJobSubmissionModel {
|
||||
public async submitBatchJobByLivy(submissionArgs: SparkJobSubmissionInput): Promise<string> {
|
||||
try {
|
||||
if (!submissionArgs) {
|
||||
return Promise.reject(localize('sparkJobSubmission.submissionArgsIsInvalid', 'submissionArgs is invalid. '));
|
||||
return Promise.reject(localize('sparkJobSubmission.submissionArgsIsInvalid', "submissionArgs is invalid. "));
|
||||
}
|
||||
|
||||
submissionArgs.setSparkClusterInfo(this._sqlClusterConnection);
|
||||
@@ -104,11 +104,11 @@ export class SparkJobSubmissionModel {
|
||||
// TODO: whether set timeout as 15000ms
|
||||
try {
|
||||
if (!submissionArgs) {
|
||||
return Promise.reject(localize('sparkJobSubmission.submissionArgsIsInvalid', 'submissionArgs is invalid. '));
|
||||
return Promise.reject(localize('sparkJobSubmission.submissionArgsIsInvalid', "submissionArgs is invalid. "));
|
||||
}
|
||||
|
||||
if (!utils.isValidNumber(livyBatchId)) {
|
||||
return Promise.reject(new Error(localize('sparkJobSubmission.LivyBatchIdIsInvalid', 'livyBatchId is invalid. ')));
|
||||
return Promise.reject(new Error(localize('sparkJobSubmission.LivyBatchIdIsInvalid', "livyBatchId is invalid. ")));
|
||||
}
|
||||
|
||||
if (!retryTime) {
|
||||
@@ -125,7 +125,7 @@ export class SparkJobSubmissionModel {
|
||||
} while (response.appId === '' && timeOutCount < retryTime);
|
||||
|
||||
if (response.appId === '') {
|
||||
return Promise.reject(localize('sparkJobSubmission.GetApplicationIdTimeOut', 'Get Application Id time out. {0}[Log] {1}', os.EOL, response.log));
|
||||
return Promise.reject(localize('sparkJobSubmission.GetApplicationIdTimeOut', "Get Application Id time out. {0}[Log] {1}", os.EOL, response.log));
|
||||
} else {
|
||||
return response.appId;
|
||||
}
|
||||
@@ -137,7 +137,7 @@ export class SparkJobSubmissionModel {
|
||||
public async uploadFile(localFilePath: string, hdfsFolderPath: string): Promise<void> {
|
||||
try {
|
||||
if (!localFilePath || !hdfsFolderPath) {
|
||||
return Promise.reject(localize('sparkJobSubmission.localFileOrFolderNotSpecified.', 'Property localFilePath or hdfsFolderPath is not specified. '));
|
||||
return Promise.reject(localize('sparkJobSubmission.localFileOrFolderNotSpecified.', "Property localFilePath or hdfsFolderPath is not specified. "));
|
||||
}
|
||||
|
||||
if (!(await utils.exists(localFilePath))) {
|
||||
@@ -154,7 +154,7 @@ export class SparkJobSubmissionModel {
|
||||
public async isClusterFileExisted(path: string): Promise<boolean> {
|
||||
try {
|
||||
if (!path) {
|
||||
return Promise.reject(localize('sparkJobSubmission.PathNotSpecified.', 'Property Path is not specified. '));
|
||||
return Promise.reject(localize('sparkJobSubmission.PathNotSpecified.', "Property Path is not specified. "));
|
||||
}
|
||||
|
||||
let fileSource: IFileSource = await this._sqlClusterConnection.createHdfsFileSource();
|
||||
|
||||
@@ -87,7 +87,7 @@ export class SparkJobSubmissionService {
|
||||
}
|
||||
|
||||
return Promise.reject(new Error(localize('sparkJobSubmission.LivyNoBatchIdReturned',
|
||||
'No Spark job batch id is returned from response.{0}[Error] {1}', os.EOL, JSON.stringify(response))));
|
||||
"No Spark job batch id is returned from response.{0}[Error] {1}", os.EOL, JSON.stringify(response))));
|
||||
} catch (error) {
|
||||
return Promise.reject(error);
|
||||
}
|
||||
@@ -125,7 +125,7 @@ export class SparkJobSubmissionService {
|
||||
}
|
||||
|
||||
return Promise.reject(localize('sparkJobSubmission.LivyNoLogReturned',
|
||||
'No log is returned within response.{0}[Error] {1}', os.EOL, JSON.stringify(response)));
|
||||
"No log is returned within response.{0}[Error] {1}", os.EOL, JSON.stringify(response)));
|
||||
} catch (error) {
|
||||
return Promise.reject(error);
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ export function shellWhichResolving(cmd: string): Promise<string> {
|
||||
export async function mkDir(dirPath: string, outputChannel?: vscode.OutputChannel): Promise<void> {
|
||||
if (!await fs.exists(dirPath)) {
|
||||
if (outputChannel) {
|
||||
outputChannel.appendLine(localize('mkdirOutputMsg', '... Creating {0}', dirPath));
|
||||
outputChannel.appendLine(localize('mkdirOutputMsg', "... Creating {0}", dirPath));
|
||||
}
|
||||
await fs.ensureDir(dirPath);
|
||||
}
|
||||
@@ -126,7 +126,7 @@ export function executeStreamedCommand(cmd: string, outputChannel?: vscode.Outpu
|
||||
if (code === 0) {
|
||||
resolve();
|
||||
} else {
|
||||
reject(localize('executeCommandProcessExited', 'Process exited with code {0}', code));
|
||||
reject(localize('executeCommandProcessExited', "Process exited with code {0}", code));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -9,8 +9,8 @@ import * as nls from 'vscode-nls';
|
||||
const localize = nls.loadMessageBundle();
|
||||
|
||||
// General Constants ///////////////////////////////////////////////////////
|
||||
export const msgYes = localize('msgYes', 'Yes');
|
||||
export const msgNo = localize('msgNo', 'No');
|
||||
export const msgYes = localize('msgYes', "Yes");
|
||||
export const msgNo = localize('msgNo', "No");
|
||||
|
||||
// Jupyter Constants ///////////////////////////////////////////////////////
|
||||
export const msgSampleCodeDataFrame = localize('msgSampleCodeDataFrame', 'This sample code loads the file into a data frame and shows the first 10 results.');
|
||||
export const msgSampleCodeDataFrame = localize('msgSampleCodeDataFrame', "This sample code loads the file into a data frame and shows the first 10 results.");
|
||||
|
||||
@@ -22,7 +22,7 @@ export function getLivyUrl(serverName: string, port: string): string {
|
||||
export async function mkDir(dirPath: string, outputChannel?: vscode.OutputChannel): Promise<void> {
|
||||
if (!await fs.pathExists(dirPath)) {
|
||||
if (outputChannel) {
|
||||
outputChannel.appendLine(localize('mkdirOutputMsg', '... Creating {0}', dirPath));
|
||||
outputChannel.appendLine(localize('mkdirOutputMsg', "... Creating {0}", dirPath));
|
||||
}
|
||||
await fs.ensureDir(dirPath);
|
||||
}
|
||||
@@ -71,7 +71,7 @@ export function executeStreamedCommand(cmd: string, options: childProcess.SpawnO
|
||||
if (code === 0) {
|
||||
resolve();
|
||||
} else {
|
||||
reject(localize('executeCommandProcessExited', 'Process exited with code {0}', code));
|
||||
reject(localize('executeCommandProcessExited', "Process exited with code {0}", code));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -152,7 +152,7 @@ export class InstalledPackagesTab {
|
||||
this.uninstallPackageButton.updateProperties({ enabled: false });
|
||||
let doUninstall = await this.prompter.promptSingle<boolean>(<IQuestion>{
|
||||
type: QuestionTypes.confirm,
|
||||
message: localize('managePackages.confirmUninstall', 'Are you sure you want to uninstall the specified packages?'),
|
||||
message: localize('managePackages.confirmUninstall', "Are you sure you want to uninstall the specified packages?"),
|
||||
default: false
|
||||
});
|
||||
|
||||
|
||||
@@ -119,7 +119,7 @@ export class JupyterController implements vscode.Disposable {
|
||||
}
|
||||
|
||||
private async handleOpenNotebookTask(profile: azdata.IConnectionProfile): Promise<void> {
|
||||
let notebookFileTypeName = localize('notebookFileType', 'Notebooks');
|
||||
let notebookFileTypeName = localize('notebookFileType', "Notebooks");
|
||||
let filter: { [key: string]: Array<string> } = {};
|
||||
filter[notebookFileTypeName] = ['ipynb'];
|
||||
let uris = await this.apiWrapper.showOpenDialog({
|
||||
@@ -132,7 +132,7 @@ export class JupyterController implements vscode.Disposable {
|
||||
// Verify this is a .ipynb file since this isn't actually filtered on Mac/Linux
|
||||
if (path.extname(fileUri.fsPath) !== '.ipynb') {
|
||||
// in the future might want additional supported types
|
||||
this.apiWrapper.showErrorMessage(localize('unsupportedFileType', 'Only .ipynb Notebooks are supported'));
|
||||
this.apiWrapper.showErrorMessage(localize('unsupportedFileType', "Only .ipynb Notebooks are supported"));
|
||||
} else {
|
||||
await azdata.nb.showNotebookDocument(fileUri, {
|
||||
connectionProfile: profile,
|
||||
@@ -191,7 +191,7 @@ export class JupyterController implements vscode.Disposable {
|
||||
private async confirmReinstall(): Promise<boolean> {
|
||||
return await this.prompter.promptSingle<boolean>(<IQuestion>{
|
||||
type: QuestionTypes.confirm,
|
||||
message: localize('confirmReinstall', 'Are you sure you want to reinstall?'),
|
||||
message: localize('confirmReinstall', "Are you sure you want to reinstall?"),
|
||||
default: true
|
||||
});
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ export class JupyterNotebookProvider implements nb.NotebookProvider {
|
||||
|
||||
public getNotebookManager(notebookUri: vscode.Uri): Thenable<nb.NotebookManager> {
|
||||
if (!notebookUri) {
|
||||
return Promise.reject(localize('errNotebookUriMissing', 'A notebook path is required'));
|
||||
return Promise.reject(localize('errNotebookUriMissing', "A notebook path is required"));
|
||||
}
|
||||
return Promise.resolve(this.doGetNotebookManager(notebookUri));
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@ export class LocalJupyterServerManager implements nb.ServerManager, vscode.Dispo
|
||||
public dispose(): void {
|
||||
this.stopServer().catch(err => {
|
||||
let msg = utils.getErrorMessage(err);
|
||||
this._apiWrapper.showErrorMessage(localize('shutdownError', 'Shutdown of Notebook server failed: {0}', msg));
|
||||
this._apiWrapper.showErrorMessage(localize('shutdownError', "Shutdown of Notebook server failed: {0}", msg));
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -120,7 +120,7 @@ export class JupyterSessionManager implements nb.SessionManager {
|
||||
public async startNew(options: nb.ISessionOptions, skipSettingEnvironmentVars?: boolean): Promise<nb.ISession> {
|
||||
if (!this._isReady) {
|
||||
// no-op
|
||||
return Promise.reject(new Error(localize('errorStartBeforeReady', 'Cannot start a session, the manager is not yet initialized')));
|
||||
return Promise.reject(new Error(localize('errorStartBeforeReady', "Cannot start a session, the manager is not yet initialized")));
|
||||
}
|
||||
let sessionImpl = await this._sessionManager.startNew(options);
|
||||
let jupyterSession = new JupyterSession(sessionImpl, skipSettingEnvironmentVars);
|
||||
|
||||
@@ -69,7 +69,7 @@ export class JupyterSettingWriter {
|
||||
value = `set([${setting.value}])`;
|
||||
break;
|
||||
default:
|
||||
throw new Error(localize('UnexpectedSettingType', 'Unexpected setting type {0}', setting.type));
|
||||
throw new Error(localize('UnexpectedSettingType', "Unexpected setting type {0}", setting.type));
|
||||
}
|
||||
return `c.${setting.key} = ${value}`;
|
||||
}
|
||||
|
||||
@@ -168,7 +168,7 @@ export class PerFolderServerInstance implements IServerInstance {
|
||||
}
|
||||
} catch (error) {
|
||||
// For now, we don't care as this is non-critical
|
||||
this.notify(this.options.install, localize('serverStopError', 'Error stopping Notebook Server: {0}', utils.getErrorMessage(error)));
|
||||
this.notify(this.options.install, localize('serverStopError', "Error stopping Notebook Server: {0}", utils.getErrorMessage(error)));
|
||||
} finally {
|
||||
this._isStarted = false;
|
||||
this.utils.ensureProcessEnded(this.childProcess);
|
||||
@@ -260,7 +260,7 @@ export class PerFolderServerInstance implements IServerInstance {
|
||||
let onErrorBeforeStartup = (err: any) => reject(err);
|
||||
let onExitBeforeStart = (err: any) => {
|
||||
if (!this.isStarted) {
|
||||
reject(localize('notebookStartProcessExitPremature', 'Notebook process exited prematurely with error: {0}, StdErr Output: {1}', err, stdErrLog));
|
||||
reject(localize('notebookStartProcessExitPremature', "Notebook process exited prematurely with error: {0}, StdErr Output: {1}", err, stdErrLog));
|
||||
}
|
||||
};
|
||||
this.childProcess.on('error', onErrorBeforeStartup);
|
||||
@@ -309,7 +309,7 @@ export class PerFolderServerInstance implements IServerInstance {
|
||||
private handleConnectionError(error: Error): void {
|
||||
let action = this.errorHandler.handleError(error);
|
||||
if (action === ErrorAction.Shutdown) {
|
||||
this.notify(this.options.install, localize('jupyterError', 'Error sent from Jupyter: {0}', utils.getErrorMessage(error)));
|
||||
this.notify(this.options.install, localize('jupyterError', "Error sent from Jupyter: {0}", utils.getErrorMessage(error)));
|
||||
this.stop();
|
||||
}
|
||||
}
|
||||
@@ -349,14 +349,14 @@ export class PerFolderServerInstance implements IServerInstance {
|
||||
}
|
||||
|
||||
private notifyStarted(install: JupyterServerInstallation, jupyterUri: string): void {
|
||||
install.outputChannel.appendLine(localize('jupyterOutputMsgStartSuccessful', '... Jupyter is running at {0}', jupyterUri));
|
||||
install.outputChannel.appendLine(localize('jupyterOutputMsgStartSuccessful', "... Jupyter is running at {0}", jupyterUri));
|
||||
}
|
||||
private notify(install: JupyterServerInstallation, message: string): void {
|
||||
install.outputChannel.appendLine(message);
|
||||
}
|
||||
|
||||
private notifyStarting(install: JupyterServerInstallation, startCommand: string): void {
|
||||
install.outputChannel.appendLine(localize('jupyterOutputMsgStart', '... Starting Notebook server'));
|
||||
install.outputChannel.appendLine(localize('jupyterOutputMsgStart', "... Starting Notebook server"));
|
||||
install.outputChannel.appendLine(` > ${startCommand}`);
|
||||
}
|
||||
|
||||
|
||||
@@ -13,9 +13,9 @@ const localize = nls.loadMessageBundle();
|
||||
|
||||
export class CreateSessionDialog {
|
||||
// Top level
|
||||
private readonly CancelButtonText: string = localize('createSessionDialog.cancel', 'Cancel');
|
||||
private readonly CreateButtonText: string = localize('createSessionDialog.create', 'Start');
|
||||
private readonly DialogTitleText: string = localize('createSessionDialog.title', 'Start New Profiler Session');
|
||||
private readonly CancelButtonText: string = localize('createSessionDialog.cancel', "Cancel");
|
||||
private readonly CreateButtonText: string = localize('createSessionDialog.create', "Start");
|
||||
private readonly DialogTitleText: string = localize('createSessionDialog.title', "Start New Profiler Session");
|
||||
|
||||
// UI Components
|
||||
private dialog: azdata.window.Dialog;
|
||||
|
||||
@@ -23,7 +23,7 @@ export function activate(context: vscode.ExtensionContext) {
|
||||
const resourceTypes = resourceTypeService.getResourceTypes();
|
||||
const validationFailures = resourceTypeService.validateResourceTypes(resourceTypes);
|
||||
if (validationFailures.length !== 0) {
|
||||
const errorMessage = localize('resourceDeployment.FailedToLoadExtension', 'Failed to load extension: {0}, Error detected in the resource type definition in package.json, check debug console for details.', context.extensionPath);
|
||||
const errorMessage = localize('resourceDeployment.FailedToLoadExtension', "Failed to load extension: {0}, Error detected in the resource type definition in package.json, check debug console for details.", context.extensionPath);
|
||||
vscode.window.showErrorMessage(errorMessage);
|
||||
validationFailures.forEach(message => console.error(message));
|
||||
return;
|
||||
@@ -31,7 +31,7 @@ export function activate(context: vscode.ExtensionContext) {
|
||||
const openDialog = (resourceTypeName: string) => {
|
||||
const filtered = resourceTypes.filter(resourceType => resourceType.name === resourceTypeName);
|
||||
if (filtered.length !== 1) {
|
||||
vscode.window.showErrorMessage(localize('resourceDeployment.UnknownResourceType', 'The resource type: {0} is not defined', resourceTypeName));
|
||||
vscode.window.showErrorMessage(localize('resourceDeployment.UnknownResourceType', "The resource type: {0} is not defined", resourceTypeName));
|
||||
} else {
|
||||
const dialog = new ResourceTypePickerDialog(toolsService, resourceTypeService, filtered[0]);
|
||||
dialog.open();
|
||||
|
||||
@@ -54,7 +54,7 @@ export class DeployClusterWizard extends WizardBase<DeployClusterWizard, DeployC
|
||||
super(DeployClusterWizard.getTitle(wizardInfo.type), new DeployClusterWizardModel(wizardInfo.type));
|
||||
this._saveConfigButton = azdata.window.createButton(localize('deployCluster.SaveConfigFiles', "Save config files"), 'left');
|
||||
this._saveConfigButton.hidden = true;
|
||||
this._scriptToNotebookButton = azdata.window.createButton(localize('deployCluster.ScriptToNotebook', 'Script to Notebook'), 'left');
|
||||
this._scriptToNotebookButton = azdata.window.createButton(localize('deployCluster.ScriptToNotebook', "Script to Notebook"), 'left');
|
||||
this._scriptToNotebookButton.hidden = true;
|
||||
this.addButton(this._saveConfigButton);
|
||||
this.addButton(this._scriptToNotebookButton);
|
||||
|
||||
@@ -66,7 +66,7 @@ export class TargetClusterContextPage extends WizardPageBase<DeployClusterWizard
|
||||
let clusterSelected = this.wizard.model.getStringValue(ClusterContext_VariableName) !== undefined;
|
||||
if (!clusterSelected) {
|
||||
this.wizard.wizardObject.message = {
|
||||
text: localize('deployCluster.ClusterContextNotSelectedMessage', 'Please select a cluster context.'),
|
||||
text: localize('deployCluster.ClusterContextNotSelectedMessage', "Please select a cluster context."),
|
||||
level: azdata.window.MessageLevel.Error
|
||||
};
|
||||
}
|
||||
@@ -83,17 +83,17 @@ export class TargetClusterContextPage extends WizardPageBase<DeployClusterWizard
|
||||
private initExistingClusterControl(): void {
|
||||
let self = this;
|
||||
const labelWidth = '150px';
|
||||
let configFileLabel = this.view!.modelBuilder.text().withProperties({ value: localize('deployCluster.kubeConfigFileLabelText', 'Kube config file path') }).component();
|
||||
let configFileLabel = this.view!.modelBuilder.text().withProperties({ value: localize('deployCluster.kubeConfigFileLabelText', "Kube config file path") }).component();
|
||||
configFileLabel.width = labelWidth;
|
||||
this.configFileInput = this.view!.modelBuilder.inputBox().withProperties({ width: '300px' }).component();
|
||||
this.configFileInput.enabled = false;
|
||||
this.browseFileButton = this.view!.modelBuilder.button().withProperties({ label: localize('deployCluster.browseText', 'Browse'), width: '100px' }).component();
|
||||
this.browseFileButton = this.view!.modelBuilder.button().withProperties({ label: localize('deployCluster.browseText', "Browse"), width: '100px' }).component();
|
||||
let configFileContainer = this.view!.modelBuilder.flexContainer()
|
||||
.withLayout({ flexFlow: 'row', alignItems: 'baseline' })
|
||||
.withItems([configFileLabel, this.configFileInput, this.browseFileButton], { CSSStyles: { 'margin-right': '10px' } }).component();
|
||||
this.clusterContextsLabel = this.view!.modelBuilder.text().withProperties({ value: localize('deployCluster.clusterContextsLabelText', 'Cluster Contexts') }).component();
|
||||
this.clusterContextsLabel = this.view!.modelBuilder.text().withProperties({ value: localize('deployCluster.clusterContextsLabelText', "Cluster Contexts") }).component();
|
||||
this.clusterContextsLabel.width = labelWidth;
|
||||
this.errorLoadingClustersLabel = this.view!.modelBuilder.text().withProperties({ value: localize('deployCluster.errorLoadingClustersText', 'No cluster information is found in the config file or an error ocurred while loading the config file') }).component();
|
||||
this.errorLoadingClustersLabel = this.view!.modelBuilder.text().withProperties({ value: localize('deployCluster.errorLoadingClustersText', "No cluster information is found in the config file or an error ocurred while loading the config file") }).component();
|
||||
this.clusterContextList = this.view!.modelBuilder.divContainer().component();
|
||||
this.clusterContextLoadingComponent = this.view!.modelBuilder.loadingComponent().withItem(this.clusterContextList).component();
|
||||
this.existingClusterControl = this.view!.modelBuilder.divContainer().withProperties<azdata.DivContainerProperties>({ clickable: false }).component();
|
||||
@@ -113,7 +113,7 @@ export class TargetClusterContextPage extends WizardPageBase<DeployClusterWizard
|
||||
canSelectFolders: false,
|
||||
canSelectMany: false,
|
||||
defaultUri: vscode.Uri.file(os.homedir()),
|
||||
openLabel: localize('deployCluster.selectKubeConfigFileText', 'Select'),
|
||||
openLabel: localize('deployCluster.selectKubeConfigFileText', "Select"),
|
||||
filters: {
|
||||
'Config Files': ['*'],
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ export class DeploymentInputDialog extends DialogBase {
|
||||
constructor(private notebookService: INotebookService,
|
||||
private dialogInfo: DialogInfo) {
|
||||
super(dialogInfo.title, dialogInfo.name, false);
|
||||
this._dialogObject.okButton.label = localize('deploymentDialog.OKButtonText', 'Open Notebook');
|
||||
this._dialogObject.okButton.label = localize('deploymentDialog.OKButtonText', "Open Notebook");
|
||||
}
|
||||
|
||||
protected initialize() {
|
||||
|
||||
@@ -15,23 +15,23 @@ import { getEndpointName, getRootPath } from '../utils';
|
||||
import * as mssql from '../../../mssql';
|
||||
|
||||
const localize = nls.loadMessageBundle();
|
||||
const OkButtonText: string = localize('schemaCompareDialog.ok', 'OK');
|
||||
const CancelButtonText: string = localize('schemaCompareDialog.cancel', 'Cancel');
|
||||
const SourceTitle: string = localize('schemaCompareDialog.SourceTitle', 'Source');
|
||||
const TargetTitle: string = localize('schemaCompareDialog.TargetTitle', 'Target');
|
||||
const FileTextBoxLabel: string = localize('schemaCompareDialog.fileTextBoxLabel', 'File');
|
||||
const DacpacRadioButtonLabel: string = localize('schemaCompare.dacpacRadioButtonLabel', 'Data-tier Application File (.dacpac)');
|
||||
const DatabaseRadioButtonLabel: string = localize('schemaCompare.databaseButtonLabel', 'Database');
|
||||
const RadioButtonsLabel: string = localize('schemaCompare.radioButtonsLabel', 'Type');
|
||||
const ServerDropdownLabel: string = localize('schemaCompareDialog.serverDropdownTitle', 'Server');
|
||||
const DatabaseDropdownLabel: string = localize('schemaCompareDialog.databaseDropdownTitle', 'Database');
|
||||
const NoActiveConnectionsLabel: string = localize('schemaCompare.noActiveConnectionsText', 'No active connections');
|
||||
const SchemaCompareLabel: string = localize('schemaCompare.dialogTitle', 'Schema Compare');
|
||||
const differentSourceMessage: string = localize('schemaCompareDialog.differentSourceMessage', 'A different source schema has been selected. Compare to see the comparison?');
|
||||
const differentTargetMessage: string = localize('schemaCompareDialog.differentTargetMessage', 'A different target schema has been selected. Compare to see the comparison?');
|
||||
const differentSourceTargetMessage: string = localize('schemaCompareDialog.differentSourceTargetMessage', 'Different source and target schemas have been selected. Compare to see the comparison?');
|
||||
const YesButtonText: string = localize('schemaCompareDialog.Yes', 'Yes');
|
||||
const NoButtonText: string = localize('schemaCompareDialog.No', 'No');
|
||||
const OkButtonText: string = localize('schemaCompareDialog.ok', "OK");
|
||||
const CancelButtonText: string = localize('schemaCompareDialog.cancel', "Cancel");
|
||||
const SourceTitle: string = localize('schemaCompareDialog.SourceTitle', "Source");
|
||||
const TargetTitle: string = localize('schemaCompareDialog.TargetTitle', "Target");
|
||||
const FileTextBoxLabel: string = localize('schemaCompareDialog.fileTextBoxLabel', "File");
|
||||
const DacpacRadioButtonLabel: string = localize('schemaCompare.dacpacRadioButtonLabel', "Data-tier Application File (.dacpac)");
|
||||
const DatabaseRadioButtonLabel: string = localize('schemaCompare.databaseButtonLabel', "Database");
|
||||
const RadioButtonsLabel: string = localize('schemaCompare.radioButtonsLabel', "Type");
|
||||
const ServerDropdownLabel: string = localize('schemaCompareDialog.serverDropdownTitle', "Server");
|
||||
const DatabaseDropdownLabel: string = localize('schemaCompareDialog.databaseDropdownTitle', "Database");
|
||||
const NoActiveConnectionsLabel: string = localize('schemaCompare.noActiveConnectionsText', "No active connections");
|
||||
const SchemaCompareLabel: string = localize('schemaCompare.dialogTitle', "Schema Compare");
|
||||
const differentSourceMessage: string = localize('schemaCompareDialog.differentSourceMessage', "A different source schema has been selected. Compare to see the comparison?");
|
||||
const differentTargetMessage: string = localize('schemaCompareDialog.differentTargetMessage', "A different target schema has been selected. Compare to see the comparison?");
|
||||
const differentSourceTargetMessage: string = localize('schemaCompareDialog.differentSourceTargetMessage', "Different source and target schemas have been selected. Compare to see the comparison?");
|
||||
const YesButtonText: string = localize('schemaCompareDialog.Yes', "Yes");
|
||||
const NoButtonText: string = localize('schemaCompareDialog.No', "No");
|
||||
const titleFontSize: number = 13;
|
||||
|
||||
async function exists(path: string): Promise<boolean> {
|
||||
@@ -323,7 +323,7 @@ export class SchemaCompareDialog {
|
||||
canSelectFolders: false,
|
||||
canSelectMany: false,
|
||||
defaultUri: vscode.Uri.file(defaultUri),
|
||||
openLabel: localize('schemaCompare.openFile', 'Open'),
|
||||
openLabel: localize('schemaCompare.openFile', "Open"),
|
||||
filters: {
|
||||
'dacpac Files': ['dacpac'],
|
||||
}
|
||||
@@ -556,7 +556,7 @@ export class SchemaCompareDialog {
|
||||
let srv = c.options.server;
|
||||
|
||||
if (!usr) {
|
||||
usr = localize('schemaCompareDialog.defaultUser', 'default');
|
||||
usr = localize('schemaCompareDialog.defaultUser', "default");
|
||||
}
|
||||
|
||||
let finalName = `${srv} (${usr})`;
|
||||
|
||||
@@ -17,237 +17,237 @@ export class SchemaCompareOptionsDialog {
|
||||
|
||||
//#region Localized strings
|
||||
|
||||
private static readonly OkButtonText: string = localize('SchemaCompareOptionsDialog.Ok', 'OK');
|
||||
private static readonly CancelButtonText: string = localize('SchemaCompareOptionsDialog.Cancel', 'Cancel');
|
||||
private static readonly ResetButtonText: string = localize('SchemaCompareOptionsDialog.Reset', 'Reset');
|
||||
private static readonly YesButtonText: string = localize('SchemaCompareOptionsDialog.Yes', 'Yes');
|
||||
private static readonly NoButtonText: string = localize('SchemaCompareOptionsDialog.No', 'No');
|
||||
private static readonly OptionsChangedMessage: string = localize('schemaCompareOptions.RecompareMessage', 'Options have changed. Recompare to see the comparison?');
|
||||
private static readonly OptionsLabel: string = localize('SchemaCompare.SchemaCompareOptionsDialogLabel', 'Schema Compare Options');
|
||||
private static readonly GeneralOptionsLabel: string = localize('SchemaCompare.GeneralOptionsLabel', 'General Options');
|
||||
private static readonly ObjectTypesOptionsLabel: string = localize('SchemaCompare.ObjectTypesOptionsLabel', 'Include Object Types');
|
||||
private static readonly OkButtonText: string = localize('SchemaCompareOptionsDialog.Ok', "OK");
|
||||
private static readonly CancelButtonText: string = localize('SchemaCompareOptionsDialog.Cancel', "Cancel");
|
||||
private static readonly ResetButtonText: string = localize('SchemaCompareOptionsDialog.Reset', "Reset");
|
||||
private static readonly YesButtonText: string = localize('SchemaCompareOptionsDialog.Yes', "Yes");
|
||||
private static readonly NoButtonText: string = localize('SchemaCompareOptionsDialog.No', "No");
|
||||
private static readonly OptionsChangedMessage: string = localize('schemaCompareOptions.RecompareMessage', "Options have changed. Recompare to see the comparison?");
|
||||
private static readonly OptionsLabel: string = localize('SchemaCompare.SchemaCompareOptionsDialogLabel', "Schema Compare Options");
|
||||
private static readonly GeneralOptionsLabel: string = localize('SchemaCompare.GeneralOptionsLabel', "General Options");
|
||||
private static readonly ObjectTypesOptionsLabel: string = localize('SchemaCompare.ObjectTypesOptionsLabel', "Include Object Types");
|
||||
|
||||
private static readonly IgnoreTableOptions: string = localize('SchemaCompare.IgnoreTableOptions', 'Ignore Table Options');
|
||||
private static readonly IgnoreSemicolonBetweenStatements: string = localize('SchemaCompare.IgnoreSemicolonBetweenStatements', 'Ignore Semicolon Between Statements');
|
||||
private static readonly IgnoreRouteLifetime: string = localize('SchemaCompare.IgnoreRouteLifetime', 'Ignore Route Lifetime');
|
||||
private static readonly IgnoreRoleMembership: string = localize('SchemaCompare.IgnoreRoleMembership', 'Ignore Role Membership');
|
||||
private static readonly IgnoreQuotedIdentifiers: string = localize('SchemaCompare.IgnoreQuotedIdentifiers', 'Ignore Quoted Identifiers');
|
||||
private static readonly IgnorePermissions: string = localize('SchemaCompare.IgnorePermissions', 'Ignore Permissions');
|
||||
private static readonly IgnorePartitionSchemes: string = localize('SchemaCompare.IgnorePartitionSchemes', 'Ignore Partition Schemes');
|
||||
private static readonly IgnoreObjectPlacementOnPartitionScheme: string = localize('SchemaCompare.IgnoreObjectPlacementOnPartitionScheme', 'Ignore Object Placement On Partition Scheme');
|
||||
private static readonly IgnoreNotForReplication: string = localize('SchemaCompare.IgnoreNotForReplication', 'Ignore Not For Replication');
|
||||
private static readonly IgnoreLoginSids: string = localize('SchemaCompare.IgnoreLoginSids', 'Ignore Login Sids');
|
||||
private static readonly IgnoreLockHintsOnIndexes: string = localize('SchemaCompare.IgnoreLockHintsOnIndexes', 'Ignore Lock Hints On Indexes');
|
||||
private static readonly IgnoreKeywordCasing: string = localize('SchemaCompare.IgnoreKeywordCasing', 'Ignore Keyword Casing');
|
||||
private static readonly IgnoreIndexPadding: string = localize('SchemaCompare.IgnoreIndexPadding', 'Ignore Index Padding');
|
||||
private static readonly IgnoreIndexOptions: string = localize('SchemaCompare.IgnoreIndexOptions', 'Ignore Index Options');
|
||||
private static readonly IgnoreIncrement: string = localize('SchemaCompare.IgnoreIncrement', 'Ignore Increment');
|
||||
private static readonly IgnoreIdentitySeed: string = localize('SchemaCompare.IgnoreIdentitySeed', 'Ignore Identity Seed');
|
||||
private static readonly IgnoreUserSettingsObjects: string = localize('SchemaCompare.IgnoreUserSettingsObjects', 'Ignore User Settings Objects');
|
||||
private static readonly IgnoreFullTextCatalogFilePath: string = localize('SchemaCompare.IgnoreFullTextCatalogFilePath', 'Ignore Full Text Catalog FilePath');
|
||||
private static readonly IgnoreWhitespace: string = localize('SchemaCompare.IgnoreWhitespace', 'Ignore Whitespace');
|
||||
private static readonly IgnoreWithNocheckOnForeignKeys: string = localize('SchemaCompare.IgnoreWithNocheckOnForeignKeys', 'Ignore With Nocheck On ForeignKeys');
|
||||
private static readonly VerifyCollationCompatibility: string = localize('SchemaCompare.VerifyCollationCompatibility', 'Verify Collation Compatibility');
|
||||
private static readonly UnmodifiableObjectWarnings: string = localize('SchemaCompare.UnmodifiableObjectWarnings', 'Unmodifiable Object Warnings');
|
||||
private static readonly TreatVerificationErrorsAsWarnings: string = localize('SchemaCompare.TreatVerificationErrorsAsWarnings', 'Treat Verification Errors As Warnings');
|
||||
private static readonly ScriptRefreshModule: string = localize('SchemaCompare.ScriptRefreshModule', 'Script Refresh Module');
|
||||
private static readonly ScriptNewConstraintValidation: string = localize('SchemaCompare.ScriptNewConstraintValidation', 'Script New Constraint Validation');
|
||||
private static readonly ScriptFileSize: string = localize('SchemaCompare.ScriptFileSize', 'Script File Size');
|
||||
private static readonly ScriptDeployStateChecks: string = localize('SchemaCompare.ScriptDeployStateChecks', 'Script Deploy StateChecks');
|
||||
private static readonly ScriptDatabaseOptions: string = localize('SchemaCompare.ScriptDatabaseOptions', 'Script Database Options');
|
||||
private static readonly ScriptDatabaseCompatibility: string = localize('SchemaCompare.ScriptDatabaseCompatibility', 'Script Database Compatibility');
|
||||
private static readonly ScriptDatabaseCollation: string = localize('SchemaCompare.ScriptDatabaseCollation', 'Script Database Collation');
|
||||
private static readonly RunDeploymentPlanExecutors: string = localize('SchemaCompare.RunDeploymentPlanExecutors', 'Run Deployment Plan Executors');
|
||||
private static readonly RegisterDataTierApplication: string = localize('SchemaCompare.RegisterDataTierApplication', 'Register DataTier Application');
|
||||
private static readonly PopulateFilesOnFileGroups: string = localize('SchemaCompare.PopulateFilesOnFileGroups', 'Populate Files On File Groups');
|
||||
private static readonly NoAlterStatementsToChangeClrTypes: string = localize('SchemaCompare.NoAlterStatementsToChangeClrTypes', 'No Alter Statements To Change Clr Types');
|
||||
private static readonly IncludeTransactionalScripts: string = localize('SchemaCompare.IncludeTransactionalScripts', 'Include Transactional Scripts');
|
||||
private static readonly IncludeCompositeObjects: string = localize('SchemaCompare.IncludeCompositeObjects', 'Include Composite Objects');
|
||||
private static readonly AllowUnsafeRowLevelSecurityDataMovement: string = localize('SchemaCompare.AllowUnsafeRowLevelSecurityDataMovement', 'Allow Unsafe Row Level Security Data Movement');
|
||||
private static readonly IgnoreWithNocheckOnCheckConstraints: string = localize('SchemaCompare.IgnoreWithNocheckOnCheckConstraints', 'Ignore With No check On Check Constraints');
|
||||
private static readonly IgnoreFillFactor: string = localize('SchemaCompare.IgnoreFillFactor', 'Ignore Fill Factor');
|
||||
private static readonly IgnoreFileSize: string = localize('SchemaCompare.IgnoreFileSize', 'Ignore File Size');
|
||||
private static readonly IgnoreFilegroupPlacement: string = localize('SchemaCompare.IgnoreFilegroupPlacement', 'Ignore Filegroup Placement');
|
||||
private static readonly DoNotAlterReplicatedObjects: string = localize('SchemaCompare.DoNotAlterReplicatedObjects', 'Do Not Alter Replicated Objects');
|
||||
private static readonly DoNotAlterChangeDataCaptureObjects: string = localize('SchemaCompare.DoNotAlterChangeDataCaptureObjects', 'Do Not Alter Change Data Capture Objects');
|
||||
private static readonly DisableAndReenableDdlTriggers: string = localize('SchemaCompare.DisableAndReenableDdlTriggers', 'Disable And Reenable Ddl Triggers');
|
||||
private static readonly DeployDatabaseInSingleUserMode: string = localize('SchemaCompare.DeployDatabaseInSingleUserMode', 'Deploy Database In Single User Mode');
|
||||
private static readonly CreateNewDatabase: string = localize('SchemaCompare.CreateNewDatabase', 'Create New Database');
|
||||
private static readonly CompareUsingTargetCollation: string = localize('SchemaCompare.CompareUsingTargetCollation', 'Compare Using Target Collation');
|
||||
private static readonly CommentOutSetVarDeclarations: string = localize('SchemaCompare.CommentOutSetVarDeclarations', 'Comment Out Set Var Declarations');
|
||||
private static readonly BlockWhenDriftDetected: string = localize('SchemaCompare.BlockWhenDriftDetected', 'Block When Drift Detected');
|
||||
private static readonly BlockOnPossibleDataLoss: string = localize('SchemaCompare.BlockOnPossibleDataLoss', 'Block On Possible Data Loss');
|
||||
private static readonly BackupDatabaseBeforeChanges: string = localize('SchemaCompare.BackupDatabaseBeforeChanges', 'Backup Database Before Changes');
|
||||
private static readonly AllowIncompatiblePlatform: string = localize('SchemaCompare.AllowIncompatiblePlatform', 'Allow Incompatible Platform');
|
||||
private static readonly AllowDropBlockingAssemblies: string = localize('SchemaCompare.AllowDropBlockingAssemblies', 'Allow Drop Blocking Assemblies');
|
||||
private static readonly DropConstraintsNotInSource: string = localize('SchemaCompare.DropConstraintsNotInSource', 'Drop Constraints Not In Source');
|
||||
private static readonly DropDmlTriggersNotInSource: string = localize('SchemaCompare.DropDmlTriggersNotInSource', 'Drop Dml Triggers Not In Source');
|
||||
private static readonly DropExtendedPropertiesNotInSource: string = localize('SchemaCompare.DropExtendedPropertiesNotInSource', 'Drop Extended Properties Not In Source');
|
||||
private static readonly DropIndexesNotInSource: string = localize('SchemaCompare.DropIndexesNotInSource', 'Drop Indexes Not In Source');
|
||||
private static readonly IgnoreFileAndLogFilePath: string = localize('SchemaCompare.IgnoreFileAndLogFilePath', 'Ignore File And Log File Path');
|
||||
private static readonly IgnoreExtendedProperties: string = localize('SchemaCompare.IgnoreExtendedProperties', 'Ignore Extended Properties');
|
||||
private static readonly IgnoreDmlTriggerState: string = localize('SchemaCompare.IgnoreDmlTriggerState', 'Ignore Dml Trigger State');
|
||||
private static readonly IgnoreDmlTriggerOrder: string = localize('SchemaCompare.IgnoreDmlTriggerOrder', 'Ignore Dml Trigger Order');
|
||||
private static readonly IgnoreDefaultSchema: string = localize('SchemaCompare.IgnoreDefaultSchema', 'Ignore Default Schema');
|
||||
private static readonly IgnoreDdlTriggerState: string = localize('SchemaCompare.IgnoreDdlTriggerState', 'Ignore Ddl Trigger State');
|
||||
private static readonly IgnoreDdlTriggerOrder: string = localize('SchemaCompare.IgnoreDdlTriggerOrder', 'Ignore Ddl Trigger Order');
|
||||
private static readonly IgnoreCryptographicProviderFilePath: string = localize('SchemaCompare.IgnoreCryptographicProviderFilePath', 'Ignore Cryptographic Provider FilePath');
|
||||
private static readonly VerifyDeployment: string = localize('SchemaCompare.VerifyDeployment', 'Verify Deployment');
|
||||
private static readonly IgnoreComments: string = localize('SchemaCompare.IgnoreComments', 'Ignore Comments');
|
||||
private static readonly IgnoreColumnCollation: string = localize('SchemaCompare.IgnoreColumnCollation', 'Ignore Column Collation');
|
||||
private static readonly IgnoreAuthorizer: string = localize('SchemaCompare.IgnoreAuthorizer', 'Ignore Authorizer');
|
||||
private static readonly IgnoreAnsiNulls: string = localize('SchemaCompare.IgnoreAnsiNulls', 'Ignore AnsiNulls');
|
||||
private static readonly GenerateSmartDefaults: string = localize('SchemaCompare.GenerateSmartDefaults', 'Generate SmartDefaults');
|
||||
private static readonly DropStatisticsNotInSource: string = localize('SchemaCompare.DropStatisticsNotInSource', 'Drop Statistics Not In Source');
|
||||
private static readonly DropRoleMembersNotInSource: string = localize('SchemaCompare.DropRoleMembersNotInSource', 'Drop Role Members Not In Source');
|
||||
private static readonly DropPermissionsNotInSource: string = localize('SchemaCompare.DropPermissionsNotInSource', 'Drop Permissions Not In Source');
|
||||
private static readonly DropObjectsNotInSource: string = localize('SchemaCompare.DropObjectsNotInSource', 'Drop Objects Not In Source');
|
||||
private static readonly IgnoreColumnOrder: string = localize('SchemaCompare.IgnoreColumnOrder', 'Ignore Column Order');
|
||||
private static readonly IgnoreTableOptions: string = localize('SchemaCompare.IgnoreTableOptions', "Ignore Table Options");
|
||||
private static readonly IgnoreSemicolonBetweenStatements: string = localize('SchemaCompare.IgnoreSemicolonBetweenStatements', "Ignore Semicolon Between Statements");
|
||||
private static readonly IgnoreRouteLifetime: string = localize('SchemaCompare.IgnoreRouteLifetime', "Ignore Route Lifetime");
|
||||
private static readonly IgnoreRoleMembership: string = localize('SchemaCompare.IgnoreRoleMembership', "Ignore Role Membership");
|
||||
private static readonly IgnoreQuotedIdentifiers: string = localize('SchemaCompare.IgnoreQuotedIdentifiers', "Ignore Quoted Identifiers");
|
||||
private static readonly IgnorePermissions: string = localize('SchemaCompare.IgnorePermissions', "Ignore Permissions");
|
||||
private static readonly IgnorePartitionSchemes: string = localize('SchemaCompare.IgnorePartitionSchemes', "Ignore Partition Schemes");
|
||||
private static readonly IgnoreObjectPlacementOnPartitionScheme: string = localize('SchemaCompare.IgnoreObjectPlacementOnPartitionScheme', "Ignore Object Placement On Partition Scheme");
|
||||
private static readonly IgnoreNotForReplication: string = localize('SchemaCompare.IgnoreNotForReplication', "Ignore Not For Replication");
|
||||
private static readonly IgnoreLoginSids: string = localize('SchemaCompare.IgnoreLoginSids', "Ignore Login Sids");
|
||||
private static readonly IgnoreLockHintsOnIndexes: string = localize('SchemaCompare.IgnoreLockHintsOnIndexes', "Ignore Lock Hints On Indexes");
|
||||
private static readonly IgnoreKeywordCasing: string = localize('SchemaCompare.IgnoreKeywordCasing', "Ignore Keyword Casing");
|
||||
private static readonly IgnoreIndexPadding: string = localize('SchemaCompare.IgnoreIndexPadding', "Ignore Index Padding");
|
||||
private static readonly IgnoreIndexOptions: string = localize('SchemaCompare.IgnoreIndexOptions', "Ignore Index Options");
|
||||
private static readonly IgnoreIncrement: string = localize('SchemaCompare.IgnoreIncrement', "Ignore Increment");
|
||||
private static readonly IgnoreIdentitySeed: string = localize('SchemaCompare.IgnoreIdentitySeed', "Ignore Identity Seed");
|
||||
private static readonly IgnoreUserSettingsObjects: string = localize('SchemaCompare.IgnoreUserSettingsObjects', "Ignore User Settings Objects");
|
||||
private static readonly IgnoreFullTextCatalogFilePath: string = localize('SchemaCompare.IgnoreFullTextCatalogFilePath', "Ignore Full Text Catalog FilePath");
|
||||
private static readonly IgnoreWhitespace: string = localize('SchemaCompare.IgnoreWhitespace', "Ignore Whitespace");
|
||||
private static readonly IgnoreWithNocheckOnForeignKeys: string = localize('SchemaCompare.IgnoreWithNocheckOnForeignKeys', "Ignore With Nocheck On ForeignKeys");
|
||||
private static readonly VerifyCollationCompatibility: string = localize('SchemaCompare.VerifyCollationCompatibility', "Verify Collation Compatibility");
|
||||
private static readonly UnmodifiableObjectWarnings: string = localize('SchemaCompare.UnmodifiableObjectWarnings', "Unmodifiable Object Warnings");
|
||||
private static readonly TreatVerificationErrorsAsWarnings: string = localize('SchemaCompare.TreatVerificationErrorsAsWarnings', "Treat Verification Errors As Warnings");
|
||||
private static readonly ScriptRefreshModule: string = localize('SchemaCompare.ScriptRefreshModule', "Script Refresh Module");
|
||||
private static readonly ScriptNewConstraintValidation: string = localize('SchemaCompare.ScriptNewConstraintValidation', "Script New Constraint Validation");
|
||||
private static readonly ScriptFileSize: string = localize('SchemaCompare.ScriptFileSize', "Script File Size");
|
||||
private static readonly ScriptDeployStateChecks: string = localize('SchemaCompare.ScriptDeployStateChecks', "Script Deploy StateChecks");
|
||||
private static readonly ScriptDatabaseOptions: string = localize('SchemaCompare.ScriptDatabaseOptions', "Script Database Options");
|
||||
private static readonly ScriptDatabaseCompatibility: string = localize('SchemaCompare.ScriptDatabaseCompatibility', "Script Database Compatibility");
|
||||
private static readonly ScriptDatabaseCollation: string = localize('SchemaCompare.ScriptDatabaseCollation', "Script Database Collation");
|
||||
private static readonly RunDeploymentPlanExecutors: string = localize('SchemaCompare.RunDeploymentPlanExecutors', "Run Deployment Plan Executors");
|
||||
private static readonly RegisterDataTierApplication: string = localize('SchemaCompare.RegisterDataTierApplication', "Register DataTier Application");
|
||||
private static readonly PopulateFilesOnFileGroups: string = localize('SchemaCompare.PopulateFilesOnFileGroups', "Populate Files On File Groups");
|
||||
private static readonly NoAlterStatementsToChangeClrTypes: string = localize('SchemaCompare.NoAlterStatementsToChangeClrTypes', "No Alter Statements To Change Clr Types");
|
||||
private static readonly IncludeTransactionalScripts: string = localize('SchemaCompare.IncludeTransactionalScripts', "Include Transactional Scripts");
|
||||
private static readonly IncludeCompositeObjects: string = localize('SchemaCompare.IncludeCompositeObjects', "Include Composite Objects");
|
||||
private static readonly AllowUnsafeRowLevelSecurityDataMovement: string = localize('SchemaCompare.AllowUnsafeRowLevelSecurityDataMovement', "Allow Unsafe Row Level Security Data Movement");
|
||||
private static readonly IgnoreWithNocheckOnCheckConstraints: string = localize('SchemaCompare.IgnoreWithNocheckOnCheckConstraints', "Ignore With No check On Check Constraints");
|
||||
private static readonly IgnoreFillFactor: string = localize('SchemaCompare.IgnoreFillFactor', "Ignore Fill Factor");
|
||||
private static readonly IgnoreFileSize: string = localize('SchemaCompare.IgnoreFileSize', "Ignore File Size");
|
||||
private static readonly IgnoreFilegroupPlacement: string = localize('SchemaCompare.IgnoreFilegroupPlacement', "Ignore Filegroup Placement");
|
||||
private static readonly DoNotAlterReplicatedObjects: string = localize('SchemaCompare.DoNotAlterReplicatedObjects', "Do Not Alter Replicated Objects");
|
||||
private static readonly DoNotAlterChangeDataCaptureObjects: string = localize('SchemaCompare.DoNotAlterChangeDataCaptureObjects', "Do Not Alter Change Data Capture Objects");
|
||||
private static readonly DisableAndReenableDdlTriggers: string = localize('SchemaCompare.DisableAndReenableDdlTriggers', "Disable And Reenable Ddl Triggers");
|
||||
private static readonly DeployDatabaseInSingleUserMode: string = localize('SchemaCompare.DeployDatabaseInSingleUserMode', "Deploy Database In Single User Mode");
|
||||
private static readonly CreateNewDatabase: string = localize('SchemaCompare.CreateNewDatabase', "Create New Database");
|
||||
private static readonly CompareUsingTargetCollation: string = localize('SchemaCompare.CompareUsingTargetCollation', "Compare Using Target Collation");
|
||||
private static readonly CommentOutSetVarDeclarations: string = localize('SchemaCompare.CommentOutSetVarDeclarations', "Comment Out Set Var Declarations");
|
||||
private static readonly BlockWhenDriftDetected: string = localize('SchemaCompare.BlockWhenDriftDetected', "Block When Drift Detected");
|
||||
private static readonly BlockOnPossibleDataLoss: string = localize('SchemaCompare.BlockOnPossibleDataLoss', "Block On Possible Data Loss");
|
||||
private static readonly BackupDatabaseBeforeChanges: string = localize('SchemaCompare.BackupDatabaseBeforeChanges', "Backup Database Before Changes");
|
||||
private static readonly AllowIncompatiblePlatform: string = localize('SchemaCompare.AllowIncompatiblePlatform', "Allow Incompatible Platform");
|
||||
private static readonly AllowDropBlockingAssemblies: string = localize('SchemaCompare.AllowDropBlockingAssemblies', "Allow Drop Blocking Assemblies");
|
||||
private static readonly DropConstraintsNotInSource: string = localize('SchemaCompare.DropConstraintsNotInSource', "Drop Constraints Not In Source");
|
||||
private static readonly DropDmlTriggersNotInSource: string = localize('SchemaCompare.DropDmlTriggersNotInSource', "Drop Dml Triggers Not In Source");
|
||||
private static readonly DropExtendedPropertiesNotInSource: string = localize('SchemaCompare.DropExtendedPropertiesNotInSource', "Drop Extended Properties Not In Source");
|
||||
private static readonly DropIndexesNotInSource: string = localize('SchemaCompare.DropIndexesNotInSource', "Drop Indexes Not In Source");
|
||||
private static readonly IgnoreFileAndLogFilePath: string = localize('SchemaCompare.IgnoreFileAndLogFilePath', "Ignore File And Log File Path");
|
||||
private static readonly IgnoreExtendedProperties: string = localize('SchemaCompare.IgnoreExtendedProperties', "Ignore Extended Properties");
|
||||
private static readonly IgnoreDmlTriggerState: string = localize('SchemaCompare.IgnoreDmlTriggerState', "Ignore Dml Trigger State");
|
||||
private static readonly IgnoreDmlTriggerOrder: string = localize('SchemaCompare.IgnoreDmlTriggerOrder', "Ignore Dml Trigger Order");
|
||||
private static readonly IgnoreDefaultSchema: string = localize('SchemaCompare.IgnoreDefaultSchema', "Ignore Default Schema");
|
||||
private static readonly IgnoreDdlTriggerState: string = localize('SchemaCompare.IgnoreDdlTriggerState', "Ignore Ddl Trigger State");
|
||||
private static readonly IgnoreDdlTriggerOrder: string = localize('SchemaCompare.IgnoreDdlTriggerOrder', "Ignore Ddl Trigger Order");
|
||||
private static readonly IgnoreCryptographicProviderFilePath: string = localize('SchemaCompare.IgnoreCryptographicProviderFilePath', "Ignore Cryptographic Provider FilePath");
|
||||
private static readonly VerifyDeployment: string = localize('SchemaCompare.VerifyDeployment', "Verify Deployment");
|
||||
private static readonly IgnoreComments: string = localize('SchemaCompare.IgnoreComments', "Ignore Comments");
|
||||
private static readonly IgnoreColumnCollation: string = localize('SchemaCompare.IgnoreColumnCollation', "Ignore Column Collation");
|
||||
private static readonly IgnoreAuthorizer: string = localize('SchemaCompare.IgnoreAuthorizer', "Ignore Authorizer");
|
||||
private static readonly IgnoreAnsiNulls: string = localize('SchemaCompare.IgnoreAnsiNulls', "Ignore AnsiNulls");
|
||||
private static readonly GenerateSmartDefaults: string = localize('SchemaCompare.GenerateSmartDefaults', "Generate SmartDefaults");
|
||||
private static readonly DropStatisticsNotInSource: string = localize('SchemaCompare.DropStatisticsNotInSource', "Drop Statistics Not In Source");
|
||||
private static readonly DropRoleMembersNotInSource: string = localize('SchemaCompare.DropRoleMembersNotInSource', "Drop Role Members Not In Source");
|
||||
private static readonly DropPermissionsNotInSource: string = localize('SchemaCompare.DropPermissionsNotInSource', "Drop Permissions Not In Source");
|
||||
private static readonly DropObjectsNotInSource: string = localize('SchemaCompare.DropObjectsNotInSource', "Drop Objects Not In Source");
|
||||
private static readonly IgnoreColumnOrder: string = localize('SchemaCompare.IgnoreColumnOrder', "Ignore Column Order");
|
||||
|
||||
private static readonly Aggregates: string = localize('SchemaCompare.Aggregates', 'Aggregates');
|
||||
private static readonly ApplicationRoles: string = localize('SchemaCompare.ApplicationRoles', 'Application Roles');
|
||||
private static readonly Assemblies: string = localize('SchemaCompare.Assemblies', 'Assemblies');
|
||||
private static readonly AssemblyFiles: string = localize('SchemaCompare.AssemblyFiles', 'Assembly Files');
|
||||
private static readonly AsymmetricKeys: string = localize('SchemaCompare.AsymmetricKeys', 'Asymmetric Keys');
|
||||
private static readonly BrokerPriorities: string = localize('SchemaCompare.BrokerPriorities', 'Broker Priorities');
|
||||
private static readonly Certificates: string = localize('SchemaCompare.Certificates', 'Certificates');
|
||||
private static readonly ColumnEncryptionKeys: string = localize('SchemaCompare.ColumnEncryptionKeys', 'Column Encryption Keys');
|
||||
private static readonly ColumnMasterKeys: string = localize('SchemaCompare.ColumnMasterKeys', 'Column Master Keys');
|
||||
private static readonly Contracts: string = localize('SchemaCompare.Contracts', 'Contracts');
|
||||
private static readonly DatabaseOptions: string = localize('SchemaCompare.DatabaseOptions', 'Database Options');
|
||||
private static readonly DatabaseRoles: string = localize('SchemaCompare.DatabaseRoles', 'Database Roles');
|
||||
private static readonly DatabaseTriggers: string = localize('SchemaCompare.DatabaseTriggers', 'DatabaseTriggers');
|
||||
private static readonly Defaults: string = localize('SchemaCompare.Defaults', 'Defaults');
|
||||
private static readonly ExtendedProperties: string = localize('SchemaCompare.ExtendedProperties', 'Extended Properties');
|
||||
private static readonly ExternalDataSources: string = localize('SchemaCompare.ExternalDataSources', 'External Data Sources');
|
||||
private static readonly ExternalFileFormats: string = localize('SchemaCompare.ExternalFileFormats', 'External File Formats');
|
||||
private static readonly ExternalTables: string = localize('SchemaCompare.ExternalTables', 'External Tables');
|
||||
private static readonly Filegroups: string = localize('SchemaCompare.Filegroups', 'Filegroups');
|
||||
private static readonly Files: string = localize('SchemaCompare.Files', 'Files');
|
||||
private static readonly FileTables: string = localize('SchemaCompare.FileTables', 'File Tables');
|
||||
private static readonly FullTextCatalogs: string = localize('SchemaCompare.FullTextCatalogs', 'Full Text Catalogs');
|
||||
private static readonly FullTextStoplists: string = localize('SchemaCompare.FullTextStoplists', 'Full Text Stoplists');
|
||||
private static readonly MessageTypes: string = localize('SchemaCompare.MessageTypes', 'Message Types');
|
||||
private static readonly PartitionFunctions: string = localize('SchemaCompare.PartitionFunctions', 'Partition Functions');
|
||||
private static readonly PartitionSchemes: string = localize('SchemaCompare.PartitionSchemes', 'Partition Schemes');
|
||||
private static readonly Permissions: string = localize('SchemaCompare.Permissions', 'Permissions');
|
||||
private static readonly Queues: string = localize('SchemaCompare.Queues', 'Queues');
|
||||
private static readonly RemoteServiceBindings: string = localize('SchemaCompare.RemoteServiceBindings', 'Remote Service Bindings');
|
||||
private static readonly RoleMembership: string = localize('SchemaCompare.RoleMembership', 'Role Membership');
|
||||
private static readonly Rules: string = localize('SchemaCompare.Rules', 'Rules');
|
||||
private static readonly ScalarValuedFunctions: string = localize('SchemaCompare.ScalarValuedFunctions', 'Scalar Valued Functions');
|
||||
private static readonly SearchPropertyLists: string = localize('SchemaCompare.SearchPropertyLists', 'Search Property Lists');
|
||||
private static readonly SecurityPolicies: string = localize('SchemaCompare.SecurityPolicies', 'Security Policies');
|
||||
private static readonly Sequences: string = localize('SchemaCompare.Sequences', 'Sequences');
|
||||
private static readonly Services: string = localize('SchemaCompare.Services', 'Services');
|
||||
private static readonly Signatures: string = localize('SchemaCompare.Signatures', 'Signatures');
|
||||
private static readonly StoredProcedures: string = localize('SchemaCompare.StoredProcedures', 'StoredProcedures');
|
||||
private static readonly SymmetricKeys: string = localize('SchemaCompare.SymmetricKeys', 'SymmetricKeys');
|
||||
private static readonly Synonyms: string = localize('SchemaCompare.Synonyms', 'Synonyms');
|
||||
private static readonly Tables: string = localize('SchemaCompare.Tables', 'Tables');
|
||||
private static readonly TableValuedFunctions: string = localize('SchemaCompare.TableValuedFunctions', 'Table Valued Functions');
|
||||
private static readonly UserDefinedDataTypes: string = localize('SchemaCompare.UserDefinedDataTypes', 'User Defined Data Types');
|
||||
private static readonly UserDefinedTableTypes: string = localize('SchemaCompare.UserDefinedTableTypes', 'User Defined Table Types');
|
||||
private static readonly ClrUserDefinedTypes: string = localize('SchemaCompare.ClrUserDefinedTypes', 'Clr User Defined Types');
|
||||
private static readonly Users: string = localize('SchemaCompare.Users', 'Users');
|
||||
private static readonly Views: string = localize('SchemaCompare.Views', 'Views');
|
||||
private static readonly XmlSchemaCollections: string = localize('SchemaCompare.XmlSchemaCollections', 'Xml Schema Collections');
|
||||
private static readonly Audits: string = localize('SchemaCompare.Audits', 'Audits');
|
||||
private static readonly Credentials: string = localize('SchemaCompare.Credentials', 'Credentials');
|
||||
private static readonly CryptographicProviders: string = localize('SchemaCompare.CryptographicProviders', 'Cryptographic Providers');
|
||||
private static readonly DatabaseAuditSpecifications: string = localize('SchemaCompare.DatabaseAuditSpecifications', 'Database Audit Specifications');
|
||||
private static readonly DatabaseEncryptionKeys: string = localize('SchemaCompare.DatabaseEncryptionKeys', 'Database Encryption Keys');
|
||||
private static readonly DatabaseScopedCredentials: string = localize('SchemaCompare.DatabaseScopedCredentials', 'Database Scoped Credentials');
|
||||
private static readonly Endpoints: string = localize('SchemaCompare.Endpoints', 'Endpoints');
|
||||
private static readonly ErrorMessages: string = localize('SchemaCompare.ErrorMessages', 'Error Messages');
|
||||
private static readonly EventNotifications: string = localize('SchemaCompare.EventNotifications', 'Event Notifications');
|
||||
private static readonly EventSessions: string = localize('SchemaCompare.EventSessions', 'Event Sessions');
|
||||
private static readonly LinkedServerLogins: string = localize('SchemaCompare.LinkedServerLogins', 'Linked Server Logins');
|
||||
private static readonly LinkedServers: string = localize('SchemaCompare.LinkedServers', 'Linked Servers');
|
||||
private static readonly Logins: string = localize('SchemaCompare.Logins', 'Logins');
|
||||
private static readonly MasterKeys: string = localize('SchemaCompare.MasterKeys', 'Master Keys');
|
||||
private static readonly Routes: string = localize('SchemaCompare.Routes', 'Routes');
|
||||
private static readonly ServerAuditSpecifications: string = localize('SchemaCompare.ServerAuditSpecifications', 'Server Audit Specifications');
|
||||
private static readonly ServerRoleMembership: string = localize('SchemaCompare.ServerRoleMembership', 'Server Role Membership');
|
||||
private static readonly ServerRoles: string = localize('SchemaCompare.ServerRoles', 'Server Roles');
|
||||
private static readonly ServerTriggers: string = localize('SchemaCompare.ServerTriggers', 'Server Triggers');
|
||||
private static readonly Aggregates: string = localize('SchemaCompare.Aggregates', "Aggregates");
|
||||
private static readonly ApplicationRoles: string = localize('SchemaCompare.ApplicationRoles', "Application Roles");
|
||||
private static readonly Assemblies: string = localize('SchemaCompare.Assemblies', "Assemblies");
|
||||
private static readonly AssemblyFiles: string = localize('SchemaCompare.AssemblyFiles', "Assembly Files");
|
||||
private static readonly AsymmetricKeys: string = localize('SchemaCompare.AsymmetricKeys', "Asymmetric Keys");
|
||||
private static readonly BrokerPriorities: string = localize('SchemaCompare.BrokerPriorities', "Broker Priorities");
|
||||
private static readonly Certificates: string = localize('SchemaCompare.Certificates', "Certificates");
|
||||
private static readonly ColumnEncryptionKeys: string = localize('SchemaCompare.ColumnEncryptionKeys', "Column Encryption Keys");
|
||||
private static readonly ColumnMasterKeys: string = localize('SchemaCompare.ColumnMasterKeys', "Column Master Keys");
|
||||
private static readonly Contracts: string = localize('SchemaCompare.Contracts', "Contracts");
|
||||
private static readonly DatabaseOptions: string = localize('SchemaCompare.DatabaseOptions', "Database Options");
|
||||
private static readonly DatabaseRoles: string = localize('SchemaCompare.DatabaseRoles', "Database Roles");
|
||||
private static readonly DatabaseTriggers: string = localize('SchemaCompare.DatabaseTriggers', "DatabaseTriggers");
|
||||
private static readonly Defaults: string = localize('SchemaCompare.Defaults', "Defaults");
|
||||
private static readonly ExtendedProperties: string = localize('SchemaCompare.ExtendedProperties', "Extended Properties");
|
||||
private static readonly ExternalDataSources: string = localize('SchemaCompare.ExternalDataSources', "External Data Sources");
|
||||
private static readonly ExternalFileFormats: string = localize('SchemaCompare.ExternalFileFormats', "External File Formats");
|
||||
private static readonly ExternalTables: string = localize('SchemaCompare.ExternalTables', "External Tables");
|
||||
private static readonly Filegroups: string = localize('SchemaCompare.Filegroups', "Filegroups");
|
||||
private static readonly Files: string = localize('SchemaCompare.Files', "Files");
|
||||
private static readonly FileTables: string = localize('SchemaCompare.FileTables', "File Tables");
|
||||
private static readonly FullTextCatalogs: string = localize('SchemaCompare.FullTextCatalogs', "Full Text Catalogs");
|
||||
private static readonly FullTextStoplists: string = localize('SchemaCompare.FullTextStoplists', "Full Text Stoplists");
|
||||
private static readonly MessageTypes: string = localize('SchemaCompare.MessageTypes', "Message Types");
|
||||
private static readonly PartitionFunctions: string = localize('SchemaCompare.PartitionFunctions', "Partition Functions");
|
||||
private static readonly PartitionSchemes: string = localize('SchemaCompare.PartitionSchemes', "Partition Schemes");
|
||||
private static readonly Permissions: string = localize('SchemaCompare.Permissions', "Permissions");
|
||||
private static readonly Queues: string = localize('SchemaCompare.Queues', "Queues");
|
||||
private static readonly RemoteServiceBindings: string = localize('SchemaCompare.RemoteServiceBindings', "Remote Service Bindings");
|
||||
private static readonly RoleMembership: string = localize('SchemaCompare.RoleMembership', "Role Membership");
|
||||
private static readonly Rules: string = localize('SchemaCompare.Rules', "Rules");
|
||||
private static readonly ScalarValuedFunctions: string = localize('SchemaCompare.ScalarValuedFunctions', "Scalar Valued Functions");
|
||||
private static readonly SearchPropertyLists: string = localize('SchemaCompare.SearchPropertyLists', "Search Property Lists");
|
||||
private static readonly SecurityPolicies: string = localize('SchemaCompare.SecurityPolicies', "Security Policies");
|
||||
private static readonly Sequences: string = localize('SchemaCompare.Sequences', "Sequences");
|
||||
private static readonly Services: string = localize('SchemaCompare.Services', "Services");
|
||||
private static readonly Signatures: string = localize('SchemaCompare.Signatures', "Signatures");
|
||||
private static readonly StoredProcedures: string = localize('SchemaCompare.StoredProcedures', "StoredProcedures");
|
||||
private static readonly SymmetricKeys: string = localize('SchemaCompare.SymmetricKeys', "SymmetricKeys");
|
||||
private static readonly Synonyms: string = localize('SchemaCompare.Synonyms', "Synonyms");
|
||||
private static readonly Tables: string = localize('SchemaCompare.Tables', "Tables");
|
||||
private static readonly TableValuedFunctions: string = localize('SchemaCompare.TableValuedFunctions', "Table Valued Functions");
|
||||
private static readonly UserDefinedDataTypes: string = localize('SchemaCompare.UserDefinedDataTypes', "User Defined Data Types");
|
||||
private static readonly UserDefinedTableTypes: string = localize('SchemaCompare.UserDefinedTableTypes', "User Defined Table Types");
|
||||
private static readonly ClrUserDefinedTypes: string = localize('SchemaCompare.ClrUserDefinedTypes', "Clr User Defined Types");
|
||||
private static readonly Users: string = localize('SchemaCompare.Users', "Users");
|
||||
private static readonly Views: string = localize('SchemaCompare.Views', "Views");
|
||||
private static readonly XmlSchemaCollections: string = localize('SchemaCompare.XmlSchemaCollections', "Xml Schema Collections");
|
||||
private static readonly Audits: string = localize('SchemaCompare.Audits', "Audits");
|
||||
private static readonly Credentials: string = localize('SchemaCompare.Credentials', "Credentials");
|
||||
private static readonly CryptographicProviders: string = localize('SchemaCompare.CryptographicProviders', "Cryptographic Providers");
|
||||
private static readonly DatabaseAuditSpecifications: string = localize('SchemaCompare.DatabaseAuditSpecifications', "Database Audit Specifications");
|
||||
private static readonly DatabaseEncryptionKeys: string = localize('SchemaCompare.DatabaseEncryptionKeys', "Database Encryption Keys");
|
||||
private static readonly DatabaseScopedCredentials: string = localize('SchemaCompare.DatabaseScopedCredentials', "Database Scoped Credentials");
|
||||
private static readonly Endpoints: string = localize('SchemaCompare.Endpoints', "Endpoints");
|
||||
private static readonly ErrorMessages: string = localize('SchemaCompare.ErrorMessages', "Error Messages");
|
||||
private static readonly EventNotifications: string = localize('SchemaCompare.EventNotifications', "Event Notifications");
|
||||
private static readonly EventSessions: string = localize('SchemaCompare.EventSessions', "Event Sessions");
|
||||
private static readonly LinkedServerLogins: string = localize('SchemaCompare.LinkedServerLogins', "Linked Server Logins");
|
||||
private static readonly LinkedServers: string = localize('SchemaCompare.LinkedServers', "Linked Servers");
|
||||
private static readonly Logins: string = localize('SchemaCompare.Logins', "Logins");
|
||||
private static readonly MasterKeys: string = localize('SchemaCompare.MasterKeys', "Master Keys");
|
||||
private static readonly Routes: string = localize('SchemaCompare.Routes', "Routes");
|
||||
private static readonly ServerAuditSpecifications: string = localize('SchemaCompare.ServerAuditSpecifications', "Server Audit Specifications");
|
||||
private static readonly ServerRoleMembership: string = localize('SchemaCompare.ServerRoleMembership', "Server Role Membership");
|
||||
private static readonly ServerRoles: string = localize('SchemaCompare.ServerRoles', "Server Roles");
|
||||
private static readonly ServerTriggers: string = localize('SchemaCompare.ServerTriggers', "Server Triggers");
|
||||
|
||||
private static readonly descriptionIgnoreTableOptions: string = localize('SchemaCompare.Description.IgnoreTableOptions', 'Specifies whether differences in the table options will be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreSemicolonBetweenStatements: string = localize('SchemaCompare.Description.IgnoreSemicolonBetweenStatements', 'Specifies whether differences in the semi-colons between T-SQL statements will be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreRouteLifetime: string = localize('SchemaCompare.Description.IgnoreRouteLifetime', 'Specifies whether differences in the amount of time that SQL Server retains the route in the routing table should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreRoleMembership: string = localize('SchemaCompare.Description.IgnoreRoleMembership', 'Specifies whether differences in the role membership of logins should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreQuotedIdentifiers: string = localize('SchemaCompare.Description.IgnoreQuotedIdentifiers', 'Specifies whether differences in the quoted identifiers setting should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnorePermissions: string = localize('SchemaCompare.Description.IgnorePermissions', 'Specifies whether permissions should be ignored.');
|
||||
private static readonly descriptionIgnorePartitionSchemes: string = localize('SchemaCompare.Description.IgnorePartitionSchemes', 'Specifies whether differences in partition schemes and functions should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreObjectPlacementOnPartitionScheme: string = localize('SchemaCompare.Description.IgnoreObjectPlacementOnPartitionScheme', 'Specifies whether an object\'s placement on a partition scheme should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreNotForReplication: string = localize('SchemaCompare.Description.IgnoreNotForReplication', 'Specifies whether the not for replication settings should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreLoginSids: string = localize('SchemaCompare.Description.IgnoreLoginSids', 'Specifies whether differences in the security identification number (SID) should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreLockHintsOnIndexes: string = localize('SchemaCompare.Description.IgnoreLockHintsOnIndexes', 'Specifies whether differences in the lock hints on indexes should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreKeywordCasing: string = localize('SchemaCompare.Description.IgnoreKeywordCasing', 'Specifies whether differences in the casing of keywords should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreIndexPadding: string = localize('SchemaCompare.Description.IgnoreIndexPadding', 'Specifies whether differences in the index padding should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreIndexOptions: string = localize('SchemaCompare.Description.IgnoreIndexOptions', 'Specifies whether differences in the index options should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreIncrement: string = localize('SchemaCompare.Description.IgnoreIncrement', 'Specifies whether differences in the increment for an identity column should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreIdentitySeed: string = localize('SchemaCompare.Description.IgnoreIdentitySeed', 'Specifies whether differences in the seed for an identity column should be ignored or updated when you publish updates to a database.');
|
||||
private static readonly descriptionIgnoreUserSettingsObjects: string = localize('SchemaCompare.Description.IgnoreUserSettingsObjects', 'Specifies whether differences in the user settings objects will be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreFullTextCatalogFilePath: string = localize('SchemaCompare.Description.IgnoreFullTextCatalogFilePath', 'Specifies whether differences in the file path for the full-text catalog should be ignored or whether a warning should be issued when you publish to a database.');
|
||||
private static readonly descriptionIgnoreWhitespace: string = localize('SchemaCompare.Description.IgnoreWhitespace', 'Specifies whether differences in white space will be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreWithNocheckOnForeignKeys: string = localize('SchemaCompare.Description.IgnoreWithNocheckOnForeignKeys', 'Specifies whether differences in the value of the WITH NOCHECK clause for foreign keys will be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionVerifyCollationCompatibility: string = localize('SchemaCompare.Description.VerifyCollationCompatibility', 'Specifies whether collation compatibility is verified.');
|
||||
private static readonly descriptionUnmodifiableObjectWarnings: string = localize('SchemaCompare.Description.UnmodifiableObjectWarnings', 'Specifies whether warnings should be generated when differences are found in objects that cannot be modified, for example, if the file size or file paths were different for a file.');
|
||||
private static readonly descriptionTreatVerificationErrorsAsWarnings: string = localize('SchemaCompare.Description.TreatVerificationErrorsAsWarnings', 'Specifies whether errors encountered during publish verification should be treated as warnings. The check is performed against the generated deployment plan before the plan is executed against your target database. Plan verification detects problems such as the loss of target-only objects (such as indexes) that must be dropped to make a change. Verification will also detect situations where dependencies (such as a table or view) exist because of a reference to a composite project, but do not exist in the target database. You might choose to do this to get a complete list of all issues, instead of having the publish action stop on the first error.');
|
||||
private static readonly descriptionScriptRefreshModule: string = localize('SchemaCompare.Description.ScriptRefreshModule', 'Include refresh statements at the end of the publish script.');
|
||||
private static readonly descriptionScriptNewConstraintValidation: string = localize('SchemaCompare.Description.ScriptNewConstraintValidation', 'At the end of publish all of the constraints will be verified as one set, avoiding data errors caused by a check or foreign key constraint in the middle of publish. If set to False, your constraints will be published without checking the corresponding data.');
|
||||
private static readonly descriptionScriptFileSize: string = localize('SchemaCompare.Description.ScriptFileSize', 'Controls whether size is specified when adding a file to a filegroup.');
|
||||
private static readonly descriptionScriptDeployStateChecks: string = localize('SchemaCompare.Description.ScriptDeployStateChecks', 'Specifies whether statements are generated in the publish script to verify that the database name and server name match the names specified in the database project.');
|
||||
private static readonly descriptionScriptDatabaseOptions: string = localize('SchemaCompare.Description.ScriptDatabaseOptions', 'Specifies whether target database properties should be set or updated as part of the publish action.');
|
||||
private static readonly descriptionScriptDatabaseCompatibility: string = localize('SchemaCompare.Description.ScriptDatabaseCompatibility', 'Specifies whether differences in the database compatibility should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionScriptDatabaseCollation: string = localize('SchemaCompare.Description.ScriptDatabaseCollation', 'Specifies whether differences in the database collation should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionRunDeploymentPlanExecutors: string = localize('SchemaCompare.Description.RunDeploymentPlanExecutors', 'Specifies whether DeploymentPlanExecutor contributors should be run when other operations are executed.');
|
||||
private static readonly descriptionRegisterDataTierApplication: string = localize('SchemaCompare.Description.RegisterDataTierApplication', 'Specifies whether the schema is registered with the database server.');
|
||||
private static readonly descriptionPopulateFilesOnFileGroups: string = localize('SchemaCompare.Description.PopulateFilesOnFileGroups', 'Specifies whether a new file is also created when a new FileGroup is created in the target database.');
|
||||
private static readonly descriptionNoAlterStatementsToChangeClrTypes: string = localize('SchemaCompare.Description.NoAlterStatementsToChangeClrTypes', 'Specifies that publish should always drop and re-create an assembly if there is a difference instead of issuing an ALTER ASSEMBLY statement');
|
||||
private static readonly descriptionIncludeTransactionalScripts: string = localize('SchemaCompare.Description.IncludeTransactionalScripts', 'Specifies whether transactional statements should be used where possible when you publish to a database.');
|
||||
private static readonly descriptionIncludeCompositeObjects: string = localize('SchemaCompare.Description.IncludeCompositeObjects', 'Include all composite elements as part of a single publish operation.');
|
||||
private static readonly descriptionAllowUnsafeRowLevelSecurityDataMovement: string = localize('SchemaCompare.Description.AllowUnsafeRowLevelSecurityDataMovement', 'Do not block data motion on a table which has Row Level Security if this property is set to true. Default is false.');
|
||||
private static readonly descriptionIgnoreWithNocheckOnCheckConstraints: string = localize('SchemaCompare.Description.IgnoreWithNocheckOnCheckConstraints', 'Specifies whether differences in the value of the WITH NOCHECK clause for check constraints will be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreFillFactor: string = localize('SchemaCompare.Description.IgnoreFillFactor', 'Specifies whether differences in the fill factor for index storage should be ignored or whether a warning should be issued when you publish to a database.');
|
||||
private static readonly descriptionIgnoreFileSize: string = localize('SchemaCompare.Description.IgnoreFileSize', 'Specifies whether differences in the file sizes should be ignored or whether a warning should be issued when you publish to a database.');
|
||||
private static readonly descriptionIgnoreFilegroupPlacement: string = localize('SchemaCompare.Description.IgnoreFilegroupPlacement', 'Specifies whether differences in the placement of objects in FILEGROUPs should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionDoNotAlterReplicatedObjects: string = localize('SchemaCompare.Description.DoNotAlterReplicatedObjects', 'Specifies whether objects that are replicated are identified during verification.');
|
||||
private static readonly descriptionDoNotAlterChangeDataCaptureObjects: string = localize('SchemaCompare.Description.DoNotAlterChangeDataCaptureObjects', 'If true, Change Data Capture objects are not altered.');
|
||||
private static readonly descriptionDisableAndReenableDdlTriggers: string = localize('SchemaCompare.Description.DisableAndReenableDdlTriggers', 'Specifies whether Data Definition Language (DDL) triggers are disabled at the beginning of the publish process and re-enabled at the end of the publish action.');
|
||||
private static readonly descriptionDeployDatabaseInSingleUserMode: string = localize('SchemaCompare.Description.DeployDatabaseInSingleUserMode', 'If true, the database is set to Single User Mode before deploying.');
|
||||
private static readonly descriptionCreateNewDatabase: string = localize('SchemaCompare.Description.CreateNewDatabase', 'Specifies whether the target database should be updated or whether it should be dropped and re-created when you publish to a database.');
|
||||
private static readonly descriptionCompareUsingTargetCollation: string = localize('SchemaCompare.Description.CompareUsingTargetCollation', 'This setting dictates how the database\'s collation is handled during deployment; by default the target database\'s collation will be updated if it does not match the collation specified by the source. When this option is set, the target database\'s (or server\'s) collation should be used.');
|
||||
private static readonly descriptionCommentOutSetVarDeclarations: string = localize('SchemaCompare.Description.CommentOutSetVarDeclarations', 'Specifies whether the declaration of SETVAR variables should be commented out in the generated publish script. You might choose to do this if you plan to specify the values on the command line when you publish by using a tool such as SQLCMD.EXE.');
|
||||
private static readonly descriptionBlockWhenDriftDetected: string = localize('SchemaCompare.Description.BlockWhenDriftDetected', 'Specifies whether to block updating a database whose schema no longer matches its registration or is unregistered.');
|
||||
private static readonly descriptionBlockOnPossibleDataLoss: string = localize('SchemaCompare.Description.BlockOnPossibleDataLoss', 'Specifies that the publish episode should be terminated if there is a possibility of data loss resulting from the publish operation.');
|
||||
private static readonly descriptionBackupDatabaseBeforeChanges: string = localize('SchemaCompare.Description.BackupDatabaseBeforeChanges', 'Backups the database before deploying any changes.');
|
||||
private static readonly descriptionAllowIncompatiblePlatform: string = localize('SchemaCompare.Description.AllowIncompatiblePlatform', 'Specifies whether to attempt the action despite incompatible SQL Server platforms.');
|
||||
private static readonly descriptionAllowDropBlockingAssemblies: string = localize('SchemaCompare.Description.AllowDropBlockingAssemblies', 'This property is used by SqlClr deployment to cause any blocking assemblies to be dropped as part of the deployment plan. By default, any blocking/referencing assemblies will block an assembly update if the referencing assembly needs to be dropped.');
|
||||
private static readonly descriptionDropConstraintsNotInSource: string = localize('SchemaCompare.Description.DropConstraintsNotInSource', 'Specifies whether constraints that do not exist in the database snapshot (.dacpac) file will be dropped from the target database when you publish to a database.');
|
||||
private static readonly descriptionDropDmlTriggersNotInSource: string = localize('SchemaCompare.Description.DropDmlTriggersNotInSource', 'Specifies whether DML triggers that do not exist in the database snapshot (.dacpac) file will be dropped from the target database when you publish to a database.');
|
||||
private static readonly descriptionDropExtendedPropertiesNotInSource: string = localize('SchemaCompare.Description.DropExtendedPropertiesNotInSource', 'Specifies whether extended properties that do not exist in the database snapshot (.dacpac) file will be dropped from the target database when you publish to a database.');
|
||||
private static readonly descriptionDropIndexesNotInSource: string = localize('SchemaCompare.Description.DropIndexesNotInSource', 'Specifies whether indexes that do not exist in the database snapshot (.dacpac) file will be dropped from the target database when you publish to a database.');
|
||||
private static readonly descriptionIgnoreFileAndLogFilePath: string = localize('SchemaCompare.Description.IgnoreFileAndLogFilePath', 'Specifies whether differences in the paths for files and log files should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreExtendedProperties: string = localize('SchemaCompare.Description.IgnoreExtendedProperties', 'Specifies whether extended properties should be ignored.');
|
||||
private static readonly descriptionIgnoreDmlTriggerState: string = localize('SchemaCompare.Description.IgnoreDmlTriggerState', 'Specifies whether differences in the enabled or disabled state of DML triggers should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreDmlTriggerOrder: string = localize('SchemaCompare.Description.IgnoreDmlTriggerOrder', 'Specifies whether differences in the order of Data Manipulation Language (DML) triggers should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreDefaultSchema: string = localize('SchemaCompare.Description.IgnoreDefaultSchema', 'Specifies whether differences in the default schema should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreDdlTriggerState: string = localize('SchemaCompare.Description.IgnoreDdlTriggerState', 'Specifies whether differences in the enabled or disabled state of Data Definition Language (DDL) triggers should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreDdlTriggerOrder: string = localize('SchemaCompare.Description.IgnoreDdlTriggerOrder', 'Specifies whether differences in the order of Data Definition Language (DDL) triggers should be ignored or updated when you publish to a database or server.');
|
||||
private static readonly descriptionIgnoreCryptographicProviderFilePath: string = localize('SchemaCompare.Description.IgnoreCryptographicProviderFilePath', 'Specifies whether differences in the file path for the cryptographic provider should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionVerifyDeployment: string = localize('SchemaCompare.Description.VerifyDeployment', 'Specifies whether checks should be performed before publishing that will stop the publish action if issues are present that might block successful publishing. For example, your publish action might stop if you have foreign keys on the target database that do not exist in the database project, and that will cause errors when you publish.');
|
||||
private static readonly descriptionIgnoreComments: string = localize('SchemaCompare.Description.IgnoreComments', 'Specifies whether differences in the comments should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreColumnCollation: string = localize('SchemaCompare.Description.IgnoreColumnCollation', 'Specifies whether differences in the column collations should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreAuthorizer: string = localize('SchemaCompare.Description.IgnoreAuthorizer', 'Specifies whether differences in the Authorizer should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreAnsiNulls: string = localize('SchemaCompare.Description.IgnoreAnsiNulls', 'Specifies whether differences in the ANSI NULLS setting should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionGenerateSmartDefaults: string = localize('SchemaCompare.Description.GenerateSmartDefaults', 'Automatically provides a default value when updating a table that contains data with a column that does not allow null values.');
|
||||
private static readonly descriptionDropStatisticsNotInSource: string = localize('SchemaCompare.Description.DropStatisticsNotInSource', 'Specifies whether statistics that do not exist in the database snapshot (.dacpac) file will be dropped from the target database when you publish to a database.');
|
||||
private static readonly descriptionDropRoleMembersNotInSource: string = localize('SchemaCompare.Description.DropRoleMembersNotInSource', 'Specifies whether role members that are not defined in the database snapshot (.dacpac) file will be dropped from the target database when you publish updates to a database.</');
|
||||
private static readonly descriptionDropPermissionsNotInSource: string = localize('SchemaCompare.Description.DropPermissionsNotInSource', 'Specifies whether permissions that do not exist in the database snapshot (.dacpac) file will be dropped from the target database when you publish updates to a database.');
|
||||
private static readonly descriptionDropObjectsNotInSource: string = localize('SchemaCompare.Description.DropObjectsNotInSource', 'Specifies whether objects that do not exist in the database snapshot (.dacpac) file will be dropped from the target database when you publish to a database. This value takes precedence over DropExtendedProperties.');
|
||||
private static readonly descriptionIgnoreColumnOrder: string = localize('SchemaCompare.Description.IgnoreColumnOrder', 'Specifies whether differences in table column order should be ignored or updated when you publish to a database.');
|
||||
private static readonly descriptionIgnoreTableOptions: string = localize('SchemaCompare.Description.IgnoreTableOptions', "Specifies whether differences in the table options will be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreSemicolonBetweenStatements: string = localize('SchemaCompare.Description.IgnoreSemicolonBetweenStatements', "Specifies whether differences in the semi-colons between T-SQL statements will be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreRouteLifetime: string = localize('SchemaCompare.Description.IgnoreRouteLifetime', "Specifies whether differences in the amount of time that SQL Server retains the route in the routing table should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreRoleMembership: string = localize('SchemaCompare.Description.IgnoreRoleMembership', "Specifies whether differences in the role membership of logins should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreQuotedIdentifiers: string = localize('SchemaCompare.Description.IgnoreQuotedIdentifiers', "Specifies whether differences in the quoted identifiers setting should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnorePermissions: string = localize('SchemaCompare.Description.IgnorePermissions', "Specifies whether permissions should be ignored.");
|
||||
private static readonly descriptionIgnorePartitionSchemes: string = localize('SchemaCompare.Description.IgnorePartitionSchemes', "Specifies whether differences in partition schemes and functions should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreObjectPlacementOnPartitionScheme: string = localize('SchemaCompare.Description.IgnoreObjectPlacementOnPartitionScheme', "Specifies whether an object\'s placement on a partition scheme should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreNotForReplication: string = localize('SchemaCompare.Description.IgnoreNotForReplication', "Specifies whether the not for replication settings should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreLoginSids: string = localize('SchemaCompare.Description.IgnoreLoginSids', "Specifies whether differences in the security identification number (SID) should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreLockHintsOnIndexes: string = localize('SchemaCompare.Description.IgnoreLockHintsOnIndexes', "Specifies whether differences in the lock hints on indexes should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreKeywordCasing: string = localize('SchemaCompare.Description.IgnoreKeywordCasing', "Specifies whether differences in the casing of keywords should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreIndexPadding: string = localize('SchemaCompare.Description.IgnoreIndexPadding', "Specifies whether differences in the index padding should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreIndexOptions: string = localize('SchemaCompare.Description.IgnoreIndexOptions', "Specifies whether differences in the index options should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreIncrement: string = localize('SchemaCompare.Description.IgnoreIncrement', "Specifies whether differences in the increment for an identity column should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreIdentitySeed: string = localize('SchemaCompare.Description.IgnoreIdentitySeed', "Specifies whether differences in the seed for an identity column should be ignored or updated when you publish updates to a database.");
|
||||
private static readonly descriptionIgnoreUserSettingsObjects: string = localize('SchemaCompare.Description.IgnoreUserSettingsObjects', "Specifies whether differences in the user settings objects will be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreFullTextCatalogFilePath: string = localize('SchemaCompare.Description.IgnoreFullTextCatalogFilePath', "Specifies whether differences in the file path for the full-text catalog should be ignored or whether a warning should be issued when you publish to a database.");
|
||||
private static readonly descriptionIgnoreWhitespace: string = localize('SchemaCompare.Description.IgnoreWhitespace', "Specifies whether differences in white space will be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreWithNocheckOnForeignKeys: string = localize('SchemaCompare.Description.IgnoreWithNocheckOnForeignKeys', "Specifies whether differences in the value of the WITH NOCHECK clause for foreign keys will be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionVerifyCollationCompatibility: string = localize('SchemaCompare.Description.VerifyCollationCompatibility', "Specifies whether collation compatibility is verified.");
|
||||
private static readonly descriptionUnmodifiableObjectWarnings: string = localize('SchemaCompare.Description.UnmodifiableObjectWarnings', "Specifies whether warnings should be generated when differences are found in objects that cannot be modified, for example, if the file size or file paths were different for a file.");
|
||||
private static readonly descriptionTreatVerificationErrorsAsWarnings: string = localize('SchemaCompare.Description.TreatVerificationErrorsAsWarnings', "Specifies whether errors encountered during publish verification should be treated as warnings. The check is performed against the generated deployment plan before the plan is executed against your target database. Plan verification detects problems such as the loss of target-only objects (such as indexes) that must be dropped to make a change. Verification will also detect situations where dependencies (such as a table or view) exist because of a reference to a composite project, but do not exist in the target database. You might choose to do this to get a complete list of all issues, instead of having the publish action stop on the first error.");
|
||||
private static readonly descriptionScriptRefreshModule: string = localize('SchemaCompare.Description.ScriptRefreshModule', "Include refresh statements at the end of the publish script.");
|
||||
private static readonly descriptionScriptNewConstraintValidation: string = localize('SchemaCompare.Description.ScriptNewConstraintValidation', "At the end of publish all of the constraints will be verified as one set, avoiding data errors caused by a check or foreign key constraint in the middle of publish. If set to False, your constraints will be published without checking the corresponding data.");
|
||||
private static readonly descriptionScriptFileSize: string = localize('SchemaCompare.Description.ScriptFileSize', "Controls whether size is specified when adding a file to a filegroup.");
|
||||
private static readonly descriptionScriptDeployStateChecks: string = localize('SchemaCompare.Description.ScriptDeployStateChecks', "Specifies whether statements are generated in the publish script to verify that the database name and server name match the names specified in the database project.");
|
||||
private static readonly descriptionScriptDatabaseOptions: string = localize('SchemaCompare.Description.ScriptDatabaseOptions', "Specifies whether target database properties should be set or updated as part of the publish action.");
|
||||
private static readonly descriptionScriptDatabaseCompatibility: string = localize('SchemaCompare.Description.ScriptDatabaseCompatibility', "Specifies whether differences in the database compatibility should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionScriptDatabaseCollation: string = localize('SchemaCompare.Description.ScriptDatabaseCollation', "Specifies whether differences in the database collation should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionRunDeploymentPlanExecutors: string = localize('SchemaCompare.Description.RunDeploymentPlanExecutors', "Specifies whether DeploymentPlanExecutor contributors should be run when other operations are executed.");
|
||||
private static readonly descriptionRegisterDataTierApplication: string = localize('SchemaCompare.Description.RegisterDataTierApplication', "Specifies whether the schema is registered with the database server.");
|
||||
private static readonly descriptionPopulateFilesOnFileGroups: string = localize('SchemaCompare.Description.PopulateFilesOnFileGroups', "Specifies whether a new file is also created when a new FileGroup is created in the target database.");
|
||||
private static readonly descriptionNoAlterStatementsToChangeClrTypes: string = localize('SchemaCompare.Description.NoAlterStatementsToChangeClrTypes', "Specifies that publish should always drop and re-create an assembly if there is a difference instead of issuing an ALTER ASSEMBLY statement");
|
||||
private static readonly descriptionIncludeTransactionalScripts: string = localize('SchemaCompare.Description.IncludeTransactionalScripts', "Specifies whether transactional statements should be used where possible when you publish to a database.");
|
||||
private static readonly descriptionIncludeCompositeObjects: string = localize('SchemaCompare.Description.IncludeCompositeObjects', "Include all composite elements as part of a single publish operation.");
|
||||
private static readonly descriptionAllowUnsafeRowLevelSecurityDataMovement: string = localize('SchemaCompare.Description.AllowUnsafeRowLevelSecurityDataMovement', "Do not block data motion on a table which has Row Level Security if this property is set to true. Default is false.");
|
||||
private static readonly descriptionIgnoreWithNocheckOnCheckConstraints: string = localize('SchemaCompare.Description.IgnoreWithNocheckOnCheckConstraints', "Specifies whether differences in the value of the WITH NOCHECK clause for check constraints will be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreFillFactor: string = localize('SchemaCompare.Description.IgnoreFillFactor', "Specifies whether differences in the fill factor for index storage should be ignored or whether a warning should be issued when you publish to a database.");
|
||||
private static readonly descriptionIgnoreFileSize: string = localize('SchemaCompare.Description.IgnoreFileSize', "Specifies whether differences in the file sizes should be ignored or whether a warning should be issued when you publish to a database.");
|
||||
private static readonly descriptionIgnoreFilegroupPlacement: string = localize('SchemaCompare.Description.IgnoreFilegroupPlacement', "Specifies whether differences in the placement of objects in FILEGROUPs should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionDoNotAlterReplicatedObjects: string = localize('SchemaCompare.Description.DoNotAlterReplicatedObjects', "Specifies whether objects that are replicated are identified during verification.");
|
||||
private static readonly descriptionDoNotAlterChangeDataCaptureObjects: string = localize('SchemaCompare.Description.DoNotAlterChangeDataCaptureObjects', "If true, Change Data Capture objects are not altered.");
|
||||
private static readonly descriptionDisableAndReenableDdlTriggers: string = localize('SchemaCompare.Description.DisableAndReenableDdlTriggers', "Specifies whether Data Definition Language (DDL) triggers are disabled at the beginning of the publish process and re-enabled at the end of the publish action.");
|
||||
private static readonly descriptionDeployDatabaseInSingleUserMode: string = localize('SchemaCompare.Description.DeployDatabaseInSingleUserMode', "If true, the database is set to Single User Mode before deploying.");
|
||||
private static readonly descriptionCreateNewDatabase: string = localize('SchemaCompare.Description.CreateNewDatabase', "Specifies whether the target database should be updated or whether it should be dropped and re-created when you publish to a database.");
|
||||
private static readonly descriptionCompareUsingTargetCollation: string = localize('SchemaCompare.Description.CompareUsingTargetCollation', "This setting dictates how the database\'s collation is handled during deployment; by default the target database\'s collation will be updated if it does not match the collation specified by the source. When this option is set, the target database\'s (or server\'s) collation should be used.");
|
||||
private static readonly descriptionCommentOutSetVarDeclarations: string = localize('SchemaCompare.Description.CommentOutSetVarDeclarations', "Specifies whether the declaration of SETVAR variables should be commented out in the generated publish script. You might choose to do this if you plan to specify the values on the command line when you publish by using a tool such as SQLCMD.EXE.");
|
||||
private static readonly descriptionBlockWhenDriftDetected: string = localize('SchemaCompare.Description.BlockWhenDriftDetected', "Specifies whether to block updating a database whose schema no longer matches its registration or is unregistered.");
|
||||
private static readonly descriptionBlockOnPossibleDataLoss: string = localize('SchemaCompare.Description.BlockOnPossibleDataLoss', "Specifies that the publish episode should be terminated if there is a possibility of data loss resulting from the publish operation.");
|
||||
private static readonly descriptionBackupDatabaseBeforeChanges: string = localize('SchemaCompare.Description.BackupDatabaseBeforeChanges', "Backups the database before deploying any changes.");
|
||||
private static readonly descriptionAllowIncompatiblePlatform: string = localize('SchemaCompare.Description.AllowIncompatiblePlatform', "Specifies whether to attempt the action despite incompatible SQL Server platforms.");
|
||||
private static readonly descriptionAllowDropBlockingAssemblies: string = localize('SchemaCompare.Description.AllowDropBlockingAssemblies', "This property is used by SqlClr deployment to cause any blocking assemblies to be dropped as part of the deployment plan. By default, any blocking/referencing assemblies will block an assembly update if the referencing assembly needs to be dropped.");
|
||||
private static readonly descriptionDropConstraintsNotInSource: string = localize('SchemaCompare.Description.DropConstraintsNotInSource', "Specifies whether constraints that do not exist in the database snapshot (.dacpac) file will be dropped from the target database when you publish to a database.");
|
||||
private static readonly descriptionDropDmlTriggersNotInSource: string = localize('SchemaCompare.Description.DropDmlTriggersNotInSource', "Specifies whether DML triggers that do not exist in the database snapshot (.dacpac) file will be dropped from the target database when you publish to a database.");
|
||||
private static readonly descriptionDropExtendedPropertiesNotInSource: string = localize('SchemaCompare.Description.DropExtendedPropertiesNotInSource', "Specifies whether extended properties that do not exist in the database snapshot (.dacpac) file will be dropped from the target database when you publish to a database.");
|
||||
private static readonly descriptionDropIndexesNotInSource: string = localize('SchemaCompare.Description.DropIndexesNotInSource', "Specifies whether indexes that do not exist in the database snapshot (.dacpac) file will be dropped from the target database when you publish to a database.");
|
||||
private static readonly descriptionIgnoreFileAndLogFilePath: string = localize('SchemaCompare.Description.IgnoreFileAndLogFilePath', "Specifies whether differences in the paths for files and log files should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreExtendedProperties: string = localize('SchemaCompare.Description.IgnoreExtendedProperties', "Specifies whether extended properties should be ignored.");
|
||||
private static readonly descriptionIgnoreDmlTriggerState: string = localize('SchemaCompare.Description.IgnoreDmlTriggerState', "Specifies whether differences in the enabled or disabled state of DML triggers should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreDmlTriggerOrder: string = localize('SchemaCompare.Description.IgnoreDmlTriggerOrder', "Specifies whether differences in the order of Data Manipulation Language (DML) triggers should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreDefaultSchema: string = localize('SchemaCompare.Description.IgnoreDefaultSchema', "Specifies whether differences in the default schema should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreDdlTriggerState: string = localize('SchemaCompare.Description.IgnoreDdlTriggerState', "Specifies whether differences in the enabled or disabled state of Data Definition Language (DDL) triggers should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreDdlTriggerOrder: string = localize('SchemaCompare.Description.IgnoreDdlTriggerOrder', "Specifies whether differences in the order of Data Definition Language (DDL) triggers should be ignored or updated when you publish to a database or server.");
|
||||
private static readonly descriptionIgnoreCryptographicProviderFilePath: string = localize('SchemaCompare.Description.IgnoreCryptographicProviderFilePath', "Specifies whether differences in the file path for the cryptographic provider should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionVerifyDeployment: string = localize('SchemaCompare.Description.VerifyDeployment', "Specifies whether checks should be performed before publishing that will stop the publish action if issues are present that might block successful publishing. For example, your publish action might stop if you have foreign keys on the target database that do not exist in the database project, and that will cause errors when you publish.");
|
||||
private static readonly descriptionIgnoreComments: string = localize('SchemaCompare.Description.IgnoreComments', "Specifies whether differences in the comments should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreColumnCollation: string = localize('SchemaCompare.Description.IgnoreColumnCollation', "Specifies whether differences in the column collations should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreAuthorizer: string = localize('SchemaCompare.Description.IgnoreAuthorizer', "Specifies whether differences in the Authorizer should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionIgnoreAnsiNulls: string = localize('SchemaCompare.Description.IgnoreAnsiNulls', "Specifies whether differences in the ANSI NULLS setting should be ignored or updated when you publish to a database.");
|
||||
private static readonly descriptionGenerateSmartDefaults: string = localize('SchemaCompare.Description.GenerateSmartDefaults', "Automatically provides a default value when updating a table that contains data with a column that does not allow null values.");
|
||||
private static readonly descriptionDropStatisticsNotInSource: string = localize('SchemaCompare.Description.DropStatisticsNotInSource', "Specifies whether statistics that do not exist in the database snapshot (.dacpac) file will be dropped from the target database when you publish to a database.");
|
||||
private static readonly descriptionDropRoleMembersNotInSource: string = localize('SchemaCompare.Description.DropRoleMembersNotInSource', "Specifies whether role members that are not defined in the database snapshot (.dacpac) file will be dropped from the target database when you publish updates to a database.</");
|
||||
private static readonly descriptionDropPermissionsNotInSource: string = localize('SchemaCompare.Description.DropPermissionsNotInSource', "Specifies whether permissions that do not exist in the database snapshot (.dacpac) file will be dropped from the target database when you publish updates to a database.");
|
||||
private static readonly descriptionDropObjectsNotInSource: string = localize('SchemaCompare.Description.DropObjectsNotInSource', "Specifies whether objects that do not exist in the database snapshot (.dacpac) file will be dropped from the target database when you publish to a database. This value takes precedence over DropExtendedProperties.");
|
||||
private static readonly descriptionIgnoreColumnOrder: string = localize('SchemaCompare.Description.IgnoreColumnOrder', "Specifies whether differences in table column order should be ignored or updated when you publish to a database.");
|
||||
|
||||
//#endregion
|
||||
|
||||
|
||||
@@ -15,13 +15,13 @@ import { getTelemetryErrorType, getEndpointName, verifyConnectionAndGetOwnerUri,
|
||||
import { SchemaCompareDialog } from './dialogs/schemaCompareDialog';
|
||||
import { isNullOrUndefined } from 'util';
|
||||
const localize = nls.loadMessageBundle();
|
||||
const diffEditorTitle = localize('schemaCompare.CompareDetailsTitle', 'Compare Details');
|
||||
const applyConfirmation = localize('schemaCompare.ApplyConfirmation', 'Are you sure you want to update the target?');
|
||||
const reCompareToRefeshMessage = localize('schemaCompare.RecompareToRefresh', 'Press Compare to refresh the comparison.');
|
||||
const generateScriptEnabledMessage = localize('schemaCompare.generateScriptEnabledButton', 'Generate script to deploy changes to target');
|
||||
const generateScriptNoChangesMessage = localize('schemaCompare.generateScriptNoChanges', 'No changes to script');
|
||||
const applyEnabledMessage = localize('schemaCompare.applyButtonEnabledTitle', 'Apply changes to target');
|
||||
const applyNoChangesMessage = localize('schemaCompare.applyNoChanges', 'No changes to apply');
|
||||
const diffEditorTitle = localize('schemaCompare.CompareDetailsTitle', "Compare Details");
|
||||
const applyConfirmation = localize('schemaCompare.ApplyConfirmation', "Are you sure you want to update the target?");
|
||||
const reCompareToRefeshMessage = localize('schemaCompare.RecompareToRefresh', "Press Compare to refresh the comparison.");
|
||||
const generateScriptEnabledMessage = localize('schemaCompare.generateScriptEnabledButton', "Generate script to deploy changes to target");
|
||||
const generateScriptNoChangesMessage = localize('schemaCompare.generateScriptNoChanges', "No changes to script");
|
||||
const applyEnabledMessage = localize('schemaCompare.applyButtonEnabledTitle', "Apply changes to target");
|
||||
const applyNoChangesMessage = localize('schemaCompare.applyNoChanges', "No changes to apply");
|
||||
// Do not localize this, this is used to decide the icon for the editor.
|
||||
// TODO : In future icon should be decided based on language id (scmp) and not resource name
|
||||
const schemaCompareResourceName = 'Schema Compare';
|
||||
@@ -75,11 +75,11 @@ export class SchemaCompareMainWindow {
|
||||
|
||||
constructor(private schemaCompareService?: mssql.ISchemaCompareService, private extensionContext?: vscode.ExtensionContext) {
|
||||
this.SchemaCompareActionMap = new Map<Number, string>();
|
||||
this.SchemaCompareActionMap[mssql.SchemaUpdateAction.Delete] = localize('schemaCompare.deleteAction', 'Delete');
|
||||
this.SchemaCompareActionMap[mssql.SchemaUpdateAction.Change] = localize('schemaCompare.changeAction', 'Change');
|
||||
this.SchemaCompareActionMap[mssql.SchemaUpdateAction.Add] = localize('schemaCompare.addAction', 'Add');
|
||||
this.SchemaCompareActionMap[mssql.SchemaUpdateAction.Delete] = localize('schemaCompare.deleteAction', "Delete");
|
||||
this.SchemaCompareActionMap[mssql.SchemaUpdateAction.Change] = localize('schemaCompare.changeAction', "Change");
|
||||
this.SchemaCompareActionMap[mssql.SchemaUpdateAction.Add] = localize('schemaCompare.addAction', "Add");
|
||||
|
||||
this.editor = azdata.workspace.createModelViewEditor(localize('schemaCompare.Title', 'Schema Compare'), { retainContextWhenHidden: true, supportsSave: true, resourceName: schemaCompareResourceName });
|
||||
this.editor = azdata.workspace.createModelViewEditor(localize('schemaCompare.Title', "Schema Compare"), { retainContextWhenHidden: true, supportsSave: true, resourceName: schemaCompareResourceName });
|
||||
}
|
||||
|
||||
public async start(context: any) {
|
||||
@@ -159,17 +159,17 @@ export class SchemaCompareMainWindow {
|
||||
}]);
|
||||
|
||||
let sourceLabel = view.modelBuilder.text().withProperties({
|
||||
value: localize('schemaCompare.sourceLabel', 'Source'),
|
||||
value: localize('schemaCompare.sourceLabel', "Source"),
|
||||
CSSStyles: { 'margin-bottom': '0px' }
|
||||
}).component();
|
||||
|
||||
let targetLabel = view.modelBuilder.text().withProperties({
|
||||
value: localize('schemaCompare.targetLabel', 'Target'),
|
||||
value: localize('schemaCompare.targetLabel', "Target"),
|
||||
CSSStyles: { 'margin-bottom': '0px' }
|
||||
}).component();
|
||||
|
||||
let arrowLabel = view.modelBuilder.text().withProperties({
|
||||
value: localize('schemaCompare.switchLabel', '➔')
|
||||
value: localize('schemaCompare.switchLabel', "➔")
|
||||
}).component();
|
||||
|
||||
this.sourceName = getEndpointName(this.sourceEndpointInfo);
|
||||
@@ -204,15 +204,15 @@ export class SchemaCompareMainWindow {
|
||||
|
||||
this.loader = view.modelBuilder.loadingComponent().component();
|
||||
this.waitText = view.modelBuilder.text().withProperties({
|
||||
value: localize('schemaCompare.waitText', 'Initializing Comparison. This might take a moment.')
|
||||
value: localize('schemaCompare.waitText', "Initializing Comparison. This might take a moment.")
|
||||
}).component();
|
||||
|
||||
this.startText = view.modelBuilder.text().withProperties({
|
||||
value: localize('schemaCompare.startText', 'To compare two schemas, first select a source schema and target schema, then press Compare.')
|
||||
value: localize('schemaCompare.startText', "To compare two schemas, first select a source schema and target schema, then press Compare.")
|
||||
}).component();
|
||||
|
||||
this.noDifferencesLabel = view.modelBuilder.text().withProperties({
|
||||
value: localize('schemaCompare.noDifferences', 'No schema differences were found.')
|
||||
value: localize('schemaCompare.noDifferences', "No schema differences were found.")
|
||||
}).component();
|
||||
|
||||
this.flexModel = view.modelBuilder.flexContainer().component();
|
||||
@@ -298,29 +298,29 @@ export class SchemaCompareMainWindow {
|
||||
data: data,
|
||||
columns: [
|
||||
{
|
||||
value: localize('schemaCompare.typeColumn', 'Type'),
|
||||
value: localize('schemaCompare.typeColumn', "Type"),
|
||||
cssClass: 'align-with-header',
|
||||
width: 50
|
||||
},
|
||||
{
|
||||
value: localize('schemaCompare.sourceNameColumn', 'Source Name'),
|
||||
value: localize('schemaCompare.sourceNameColumn', "Source Name"),
|
||||
cssClass: 'align-with-header',
|
||||
width: 90
|
||||
},
|
||||
{
|
||||
value: localize('schemaCompare.includeColumnName', 'Include'),
|
||||
value: localize('schemaCompare.includeColumnName', "Include"),
|
||||
cssClass: 'align-with-header',
|
||||
width: 60,
|
||||
type: azdata.ColumnType.checkBox,
|
||||
options: { actionOnCheckbox: azdata.ActionOnCellCheckboxCheck.customAction }
|
||||
},
|
||||
{
|
||||
value: localize('schemaCompare.actionColumn', 'Action'),
|
||||
value: localize('schemaCompare.actionColumn', "Action"),
|
||||
cssClass: 'align-with-header',
|
||||
width: 30
|
||||
},
|
||||
{
|
||||
value: localize('schemaCompare.targetNameColumn', 'Target Name'),
|
||||
value: localize('schemaCompare.targetNameColumn', "Target Name"),
|
||||
cssClass: 'align-with-header',
|
||||
width: 150
|
||||
}
|
||||
@@ -348,8 +348,8 @@ export class SchemaCompareMainWindow {
|
||||
this.generateScriptButton.enabled = true;
|
||||
this.applyButton.enabled = true;
|
||||
} else {
|
||||
this.generateScriptButton.title = localize('schemaCompare.generateScriptButtonDisabledTitle', 'Generate script is enabled when the target is a database');
|
||||
this.applyButton.title = localize('schemaCompare.applyButtonDisabledTitle', 'Apply is enabled when the target is a database');
|
||||
this.generateScriptButton.title = localize('schemaCompare.generateScriptButtonDisabledTitle', "Generate script is enabled when the target is a database");
|
||||
this.applyButton.title = localize('schemaCompare.applyButtonDisabledTitle', "Apply is enabled when the target is a database");
|
||||
}
|
||||
} else {
|
||||
this.flexModel.addItem(this.noDifferencesLabel, { CSSStyles: { 'margin': 'auto' } });
|
||||
@@ -541,12 +541,12 @@ export class SchemaCompareMainWindow {
|
||||
|
||||
private createCompareButton(view: azdata.ModelView): void {
|
||||
this.compareButton = view.modelBuilder.button().withProperties({
|
||||
label: localize('schemaCompare.compareButton', 'Compare'),
|
||||
label: localize('schemaCompare.compareButton', "Compare"),
|
||||
iconPath: {
|
||||
light: path.join(this.extensionContext.extensionPath, 'media', 'compare.svg'),
|
||||
dark: path.join(this.extensionContext.extensionPath, 'media', 'compare-inverse.svg')
|
||||
},
|
||||
title: localize('schemaCompare.compareButtonTitle', 'Compare')
|
||||
title: localize('schemaCompare.compareButtonTitle', "Compare")
|
||||
}).component();
|
||||
|
||||
this.compareButton.onDidClick(async (click) => {
|
||||
@@ -556,12 +556,12 @@ export class SchemaCompareMainWindow {
|
||||
|
||||
private createCancelButton(view: azdata.ModelView): void {
|
||||
this.cancelCompareButton = view.modelBuilder.button().withProperties({
|
||||
label: localize('schemaCompare.cancelCompareButton', 'Stop'),
|
||||
label: localize('schemaCompare.cancelCompareButton', "Stop"),
|
||||
iconPath: {
|
||||
light: path.join(this.extensionContext.extensionPath, 'media', 'stop.svg'),
|
||||
dark: path.join(this.extensionContext.extensionPath, 'media', 'stop-inverse.svg')
|
||||
},
|
||||
title: localize('schemaCompare.cancelCompareButtonTitle', 'Stop')
|
||||
title: localize('schemaCompare.cancelCompareButtonTitle', "Stop")
|
||||
}).component();
|
||||
|
||||
this.cancelCompareButton.onDidClick(async (click) => {
|
||||
@@ -604,7 +604,7 @@ export class SchemaCompareMainWindow {
|
||||
|
||||
private createGenerateScriptButton(view: azdata.ModelView): void {
|
||||
this.generateScriptButton = view.modelBuilder.button().withProperties({
|
||||
label: localize('schemaCompare.generateScriptButton', 'Generate script'),
|
||||
label: localize('schemaCompare.generateScriptButton', "Generate script"),
|
||||
iconPath: {
|
||||
light: path.join(this.extensionContext.extensionPath, 'media', 'generate-script.svg'),
|
||||
dark: path.join(this.extensionContext.extensionPath, 'media', 'generate-script-inverse.svg')
|
||||
@@ -635,12 +635,12 @@ export class SchemaCompareMainWindow {
|
||||
|
||||
private createOptionsButton(view: azdata.ModelView) {
|
||||
this.optionsButton = view.modelBuilder.button().withProperties({
|
||||
label: localize('schemaCompare.optionsButton', 'Options'),
|
||||
label: localize('schemaCompare.optionsButton', "Options"),
|
||||
iconPath: {
|
||||
light: path.join(this.extensionContext.extensionPath, 'media', 'options.svg'),
|
||||
dark: path.join(this.extensionContext.extensionPath, 'media', 'options-inverse.svg')
|
||||
},
|
||||
title: localize('schemaCompare.optionsButtonTitle', 'Options')
|
||||
title: localize('schemaCompare.optionsButtonTitle', "Options")
|
||||
}).component();
|
||||
|
||||
this.optionsButton.onDidClick(async (click) => {
|
||||
@@ -655,7 +655,7 @@ export class SchemaCompareMainWindow {
|
||||
private createApplyButton(view: azdata.ModelView) {
|
||||
|
||||
this.applyButton = view.modelBuilder.button().withProperties({
|
||||
label: localize('schemaCompare.updateButton', 'Apply'),
|
||||
label: localize('schemaCompare.updateButton', "Apply"),
|
||||
iconPath: {
|
||||
light: path.join(this.extensionContext.extensionPath, 'media', 'start.svg'),
|
||||
dark: path.join(this.extensionContext.extensionPath, 'media', 'start-inverse.svg')
|
||||
@@ -663,7 +663,7 @@ export class SchemaCompareMainWindow {
|
||||
}).component();
|
||||
|
||||
// need only yes button - since the modal dialog has a default cancel
|
||||
const yesString = localize('schemaCompare.ApplyYes', 'Yes');
|
||||
const yesString = localize('schemaCompare.ApplyYes', "Yes");
|
||||
this.applyButton.onDidClick(async (click) => {
|
||||
|
||||
vscode.window.showWarningMessage(applyConfirmation, { modal: true }, yesString).then(async (result) => {
|
||||
@@ -762,12 +762,12 @@ export class SchemaCompareMainWindow {
|
||||
|
||||
private createSwitchButton(view: azdata.ModelView): void {
|
||||
this.switchButton = view.modelBuilder.button().withProperties({
|
||||
label: localize('schemaCompare.switchDirectionButton', 'Switch direction'),
|
||||
label: localize('schemaCompare.switchDirectionButton', "Switch direction"),
|
||||
iconPath: {
|
||||
light: path.join(this.extensionContext.extensionPath, 'media', 'switch-directions.svg'),
|
||||
dark: path.join(this.extensionContext.extensionPath, 'media', 'switch-directions-inverse.svg')
|
||||
},
|
||||
title: localize('schemaCompare.switchButtonTitle', 'Switch source and target')
|
||||
title: localize('schemaCompare.switchButtonTitle', "Switch source and target")
|
||||
}).component();
|
||||
|
||||
this.switchButton.onDidClick(async (click) => {
|
||||
@@ -835,12 +835,12 @@ export class SchemaCompareMainWindow {
|
||||
|
||||
private createOpenScmpButton(view: azdata.ModelView) {
|
||||
this.openScmpButton = view.modelBuilder.button().withProperties({
|
||||
label: localize('schemaCompare.openScmpButton', 'Open .scmp file'),
|
||||
label: localize('schemaCompare.openScmpButton', "Open .scmp file"),
|
||||
iconPath: {
|
||||
light: path.join(this.extensionContext.extensionPath, 'media', 'open-scmp.svg'),
|
||||
dark: path.join(this.extensionContext.extensionPath, 'media', 'open-scmp-inverse.svg')
|
||||
},
|
||||
title: localize('schemaCompare.openScmpButtonTitle', 'Load source, target, and options saved in an .scmp file')
|
||||
title: localize('schemaCompare.openScmpButtonTitle', "Load source, target, and options saved in an .scmp file")
|
||||
}).component();
|
||||
|
||||
this.openScmpButton.onDidClick(async (click) => {
|
||||
@@ -852,7 +852,7 @@ export class SchemaCompareMainWindow {
|
||||
canSelectFolders: false,
|
||||
canSelectMany: false,
|
||||
defaultUri: vscode.Uri.file(rootPath),
|
||||
openLabel: localize('schemaCompare.openFile', 'Open'),
|
||||
openLabel: localize('schemaCompare.openFile', "Open"),
|
||||
filters: {
|
||||
'scmp Files': ['scmp'],
|
||||
}
|
||||
@@ -932,12 +932,12 @@ export class SchemaCompareMainWindow {
|
||||
|
||||
private createSaveScmpButton(view: azdata.ModelView): void {
|
||||
this.saveScmpButton = view.modelBuilder.button().withProperties({
|
||||
label: localize('schemaCompare.saveScmpButton', 'Save .scmp file'),
|
||||
label: localize('schemaCompare.saveScmpButton', "Save .scmp file"),
|
||||
iconPath: {
|
||||
light: path.join(this.extensionContext.extensionPath, 'media', 'save-scmp.svg'),
|
||||
dark: path.join(this.extensionContext.extensionPath, 'media', 'save-scmp-inverse.svg')
|
||||
},
|
||||
title: localize('schemaCompare.saveScmpButtonTitle', 'Save source and target, options, and excluded elements'),
|
||||
title: localize('schemaCompare.saveScmpButtonTitle', "Save source and target, options, and excluded elements"),
|
||||
enabled: false
|
||||
}).component();
|
||||
|
||||
@@ -946,7 +946,7 @@ export class SchemaCompareMainWindow {
|
||||
const filePath = await vscode.window.showSaveDialog(
|
||||
{
|
||||
defaultUri: vscode.Uri.file(rootPath),
|
||||
saveLabel: localize('schemaCompare.saveFile', 'Save'),
|
||||
saveLabel: localize('schemaCompare.saveFile', "Save"),
|
||||
filters: {
|
||||
'scmp Files': ['scmp'],
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ export class DashboardErrorContainer extends DashboardTab implements AfterViewIn
|
||||
|
||||
ngAfterViewInit() {
|
||||
const errorMessage = this._errorMessageContainer.nativeElement as HTMLElement;
|
||||
errorMessage.innerText = nls.localize('dashboardNavSection_loadTabError', "The \"{0}\" section has invalid content. Please contact extension owner.", this.tab.title);
|
||||
errorMessage.innerText = nls.localize('dashboardNavSection.loadTabError', "The \"{0}\" section has invalid content. Please contact extension owner.", this.tab.title);
|
||||
}
|
||||
|
||||
public get id(): string {
|
||||
|
||||
@@ -102,12 +102,12 @@ export function validateNavSectionContributionAndRegisterIcon(extension: IExtens
|
||||
navSectionConfigs.forEach(section => {
|
||||
if (!section.title) {
|
||||
result = false;
|
||||
extension.collector.error(nls.localize('navSection.missingTitle_error', "No title in nav section specified for extension."));
|
||||
extension.collector.error(nls.localize('navSection.missingTitle.error', "No title in nav section specified for extension."));
|
||||
}
|
||||
|
||||
if (!section.container) {
|
||||
result = false;
|
||||
extension.collector.error(nls.localize('navSection.missingContainer_error', "No container in nav section specified for extension."));
|
||||
extension.collector.error(nls.localize('navSection.missingContainer.error', "No container in nav section specified for extension."));
|
||||
}
|
||||
|
||||
if (Object.keys(section.container).length !== 1) {
|
||||
@@ -131,7 +131,7 @@ export function validateNavSectionContributionAndRegisterIcon(extension: IExtens
|
||||
break;
|
||||
case NAV_SECTION:
|
||||
result = false;
|
||||
extension.collector.error(nls.localize('navSection.invalidContainer_error', "NAV_SECTION within NAV_SECTION is an invalid container for extension."));
|
||||
extension.collector.error(nls.localize('navSection.invalidContainer.error', "NAV_SECTION within NAV_SECTION is an invalid container for extension."));
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,8 @@
|
||||
},
|
||||
"use-isnan": {
|
||||
"severity": "error"
|
||||
}
|
||||
},
|
||||
"no-underscore-in-localize-keys": true
|
||||
},
|
||||
"linterOptions": {
|
||||
"exclude": [
|
||||
|
||||
Reference in New Issue
Block a user