From b52116021db4b3e7700a2540c5f7a3fa7756a25b Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Tue, 3 Mar 2020 08:45:40 +0100 Subject: [PATCH] sort by category only once, #91900 --- .../contrib/bulkEdit/browser/bulkEditPreview.ts | 11 +++++++++++ .../contrib/bulkEdit/browser/bulkEditTree.ts | 17 ----------------- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/src/vs/workbench/contrib/bulkEdit/browser/bulkEditPreview.ts b/src/vs/workbench/contrib/bulkEdit/browser/bulkEditPreview.ts index cfc36c26499..c7916e7de2d 100644 --- a/src/vs/workbench/contrib/bulkEdit/browser/bulkEditPreview.ts +++ b/src/vs/workbench/contrib/bulkEdit/browser/bulkEditPreview.ts @@ -260,6 +260,17 @@ export class BulkFileOperations { } } + // sort (once) categories atop which have unconfirmed edits + this.categories.sort((a, b) => { + if (a.metadata.needsConfirmation === b.metadata.needsConfirmation) { + return a.metadata.label.localeCompare(b.metadata.label); + } else if (a.metadata.needsConfirmation) { + return -1; + } else { + return 1; + } + }); + return this; } diff --git a/src/vs/workbench/contrib/bulkEdit/browser/bulkEditTree.ts b/src/vs/workbench/contrib/bulkEdit/browser/bulkEditTree.ts index 39b04d94db9..7ea17f7b949 100644 --- a/src/vs/workbench/contrib/bulkEdit/browser/bulkEditTree.ts +++ b/src/vs/workbench/contrib/bulkEdit/browser/bulkEditTree.ts @@ -259,19 +259,6 @@ export class BulkEditDataSource implements IAsyncDataSource { compare(a: BulkEditElement, b: BulkEditElement): number { - if (a instanceof CategoryElement && b instanceof CategoryElement) { - // - const aConfirm = BulkEditSorter._needsConfirmation(a.category); - const bConfirm = BulkEditSorter._needsConfirmation(b.category); - if (aConfirm === bConfirm) { - return a.category.metadata.label.localeCompare(b.category.metadata.label); - } else if (aConfirm) { - return -1; - } else { - return 1; - } - } - if (a instanceof FileElement && b instanceof FileElement) { return compare(a.edit.uri.toString(), b.edit.uri.toString()); } @@ -282,10 +269,6 @@ export class BulkEditSorter implements ITreeSorter { return 0; } - - private static _needsConfirmation(a: BulkCategory): boolean { - return Iterable.some(a.fileOperations, ops => ops.needsConfirmation()); - } } // --- ACCESSI -- GitLab