remove results serializer dependency on node (#6202)

This commit is contained in:
Anthony Dresser
2019-07-02 18:00:14 -07:00
committed by GitHub
parent 708461eab5
commit 8c4f6f9e5f
5 changed files with 17 additions and 17 deletions

View File

@@ -4,7 +4,6 @@
*--------------------------------------------------------------------------------------------*/
import { normalize, join, dirname } from 'vs/base/common/path';
import * as os from 'os';
import { URI } from 'vs/base/common/uri';
import { IWorkspaceContextService, WorkbenchState } from 'vs/platform/workspace/common/workspace';
@@ -12,7 +11,7 @@ import { Schemas } from 'vs/base/common/network';
export const FILE_SCHEMA: string = 'file';
export function resolveCurrentDirectory(uri: string, rootPath: string): string {
export function resolveCurrentDirectory(uri: string, rootPath: string): string | undefined {
let sqlUri = URI.parse(uri);
let currentDirectory: string;
@@ -24,9 +23,6 @@ export function resolveCurrentDirectory(uri: string, rootPath: string): string {
let root = rootPath;
if (root) {
currentDirectory = root;
} else {
// use temp directory
currentDirectory = os.tmpdir();
}
} else {
currentDirectory = dirname(sqlUri.path);

View File

@@ -12,7 +12,7 @@ import * as Utils from 'sql/platform/connection/common/utils';
import { SaveFormat } from 'sql/workbench/parts/grid/common/interfaces';
import { Deferred } from 'sql/base/common/promise';
import { IQueryPlanInfo } from 'sql/platform/query/common/queryModel';
import { ResultSerializer } from 'sql/platform/node/resultSerializer';
import { ResultSerializer } from 'sql/workbench/parts/query/common/resultSerializer';
import Severity from 'vs/base/common/severity';
import * as nls from 'vs/nls';

View File

@@ -7,7 +7,7 @@ import { IInsightOptions, IInsight } from './interfaces';
import { Graph } from './graphInsight';
import { IClipboardService } from 'sql/platform/clipboard/common/clipboardService';
import { IInsightsConfig } from 'sql/workbench/parts/dashboard/widgets/insights/interfaces';
import { resolveCurrentDirectory, getRootPath } from 'sql/platform/node/pathUtilities';
import { resolveCurrentDirectory, getRootPath } from 'sql/platform/common/pathUtilities';
import { localize } from 'vs/nls';
import { Action } from 'vs/base/common/actions';

View File

@@ -9,7 +9,7 @@ import { Observer } from 'rxjs/Observer';
import { EditUpdateCellResult, EditSubsetResult, EditCreateRowResult } from 'azdata';
import { IQueryModelService } from 'sql/platform/query/common/queryModel';
import { ResultSerializer } from 'sql/platform/node/resultSerializer';
import { ResultSerializer } from 'sql/workbench/parts/query/common/resultSerializer';
import { ISaveRequest } from 'sql/workbench/parts/grid/common/interfaces';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';

View File

@@ -12,7 +12,7 @@ import { IQueryManagementService } from 'sql/platform/query/common/queryManageme
import { ISaveRequest, SaveFormat } from 'sql/workbench/parts/grid/common/interfaces';
import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
import { IWindowsService, IWindowService, FileFilter } from 'vs/platform/windows/common/windows';
import { IWindowsService, FileFilter } from 'vs/platform/windows/common/windows';
import { Registry } from 'vs/platform/registry/common/platform';
import { URI } from 'vs/base/common/uri';
import * as path from 'vs/base/common/path';
@@ -23,9 +23,10 @@ import { INotificationService } from 'vs/platform/notification/common/notificati
import { getBaseLabel } from 'vs/base/common/labels';
import { ShowFileInFolderAction, OpenFileInFolderAction } from 'sql/workbench/common/workspaceActions';
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
import { getRootPath, resolveCurrentDirectory, resolveFilePath } from 'sql/platform/node/pathUtilities';
import { getRootPath, resolveCurrentDirectory, resolveFilePath } from 'sql/platform/common/pathUtilities';
import { IOutputService, IOutputChannelRegistry, IOutputChannel, Extensions as OutputExtensions } from 'vs/workbench/contrib/output/common/output';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { IFileDialogService } from 'vs/platform/dialogs/common/dialogs';
let prevSavePath: string;
@@ -45,7 +46,7 @@ export class ResultSerializer {
@IEditorService private _editorService: IEditorService,
@IWorkspaceContextService private _contextService: IWorkspaceContextService,
@IWindowsService private _windowsService: IWindowsService,
@IWindowService private _windowService: IWindowService,
@IFileDialogService private readonly fileDialogService: IFileDialogService,
@INotificationService private _notificationService: INotificationService
) { }
@@ -88,15 +89,18 @@ export class ResultSerializer {
}
private promptForFilepath(saveRequest: ISaveRequest): Thenable<string> {
let filepathPlaceHolder = (prevSavePath) ? path.dirname(prevSavePath) : resolveCurrentDirectory(this._uri, this.rootPath);
filepathPlaceHolder = path.join(filepathPlaceHolder, this.getResultsDefaultFilename(saveRequest));
return this._windowService.showSaveDialog({
let filepathPlaceHolder = prevSavePath ? path.dirname(prevSavePath) : resolveCurrentDirectory(this._uri, this.rootPath);
if (filepathPlaceHolder) {
filepathPlaceHolder = path.join(filepathPlaceHolder, this.getResultsDefaultFilename(saveRequest));
}
return this.fileDialogService.showSaveDialog({
title: nls.localize('resultsSerializer.saveAsFileTitle', 'Choose Results File'),
defaultPath: path.normalize(filepathPlaceHolder),
defaultUri: filepathPlaceHolder ? URI.file(filepathPlaceHolder) : undefined,
filters: this.getResultsFileExtension(saveRequest)
}).then(filePath => {
prevSavePath = filePath;
return Promise.resolve(filePath);
prevSavePath = filePath.fsPath;
return filePath.fsPath;
});
}