From c5312fd5da8d63637e1bbe2fb69d55f73d655e75 Mon Sep 17 00:00:00 2001 From: ilkin-overleaf <100852799+ilkin-overleaf@users.noreply.github.com> Date: Mon, 21 Mar 2022 16:47:26 +0200 Subject: [PATCH] Merge pull request #7075 from overleaf/ta-mutli-selection-ui-fix Bring Multi-Selection UI Back GitOrigin-RevId: a0e086da98bb1de88cb2e96ddc2acfd5240a01a7 --- .../web/app/views/project/editor/editor-pane.pug | 14 +++++++------- .../web/app/views/project/editor/file-view.pug | 2 +- .../web/frontend/js/ide/editor/EditorManager.js | 1 + .../frontend/js/ide/file-tree/FileTreeManager.js | 4 +++- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/services/web/app/views/project/editor/editor-pane.pug b/services/web/app/views/project/editor/editor-pane.pug index 471fbf7a1e..033103478f 100644 --- a/services/web/app/views/project/editor/editor-pane.pug +++ b/services/web/app/views/project/editor/editor-pane.pug @@ -13,10 +13,16 @@ }" ) + .multi-selection-ongoing( + ng-show="editor.multiSelectedCount > 0" + ) + .multi-selection-message + h4 {{ editor.multiSelectedCount }} #{translate('files_selected')} + include ./file-view .editor-container.full-size( - ng-show="ui.view == 'editor'" + ng-show="ui.view == 'editor' && editor.multiSelectedCount === 0" vertical-resizable-panes="symbol-palette-resizer" vertical-resizable-panes-hidden-externally-on="symbol-palette-toggled" vertical-resizable-panes-hidden-initially="true" @@ -43,12 +49,6 @@ else .toolbar.toolbar-editor - .multi-selection-ongoing( - ng-show="multiSelectedCount > 0" - ) - .multi-selection-message - h4 {{ multiSelectedCount }} #{translate('files_selected')} - div(ng-if="editor.newSourceEditor") if moduleIncludesAvailable('editor:source-editor') != moduleIncludes('editor:source-editor', locals) diff --git a/services/web/app/views/project/editor/file-view.pug b/services/web/app/views/project/editor/file-view.pug index d16be07b50..e3f7f0b3c4 100644 --- a/services/web/app/views/project/editor/file-view.pug +++ b/services/web/app/views/project/editor/file-view.pug @@ -1,7 +1,7 @@ div( ng-controller="FileViewController" ng-show="ui.view == 'file'" - ng-if="openFile" + ng-if="openFile && editor.multiSelectedCount === 0" ) file-view( file='file' diff --git a/services/web/frontend/js/ide/editor/EditorManager.js b/services/web/frontend/js/ide/editor/EditorManager.js index 1ef1f7ea94..9e5da19401 100644 --- a/services/web/frontend/js/ide/editor/EditorManager.js +++ b/services/web/frontend/js/ide/editor/EditorManager.js @@ -57,6 +57,7 @@ export default EditorManager = (function () { ide.$scope.$emit('editor:replace-selection', symbol.command) eventTracking.sendMB('symbol-palette-insert') }, + multiSelectedCount: 0, } window.addEventListener('editor:insert-symbol', event => { diff --git a/services/web/frontend/js/ide/file-tree/FileTreeManager.js b/services/web/frontend/js/ide/file-tree/FileTreeManager.js index 5f13ae62ea..ce766d6371 100644 --- a/services/web/frontend/js/ide/file-tree/FileTreeManager.js +++ b/services/web/frontend/js/ide/file-tree/FileTreeManager.js @@ -38,6 +38,7 @@ export default FileTreeManager = class FileTreeManager { this.$scope.$on('entities:multiSelected', (_event, data) => { this.$scope.$apply(() => { this.$scope.multiSelectedCount = data.count + this.$scope.editor.multiSelectedCount = data.count }) }) @@ -144,7 +145,8 @@ export default FileTreeManager = class FileTreeManager { toggleMultiSelectEntity(entity) { entity.multiSelected = !entity.multiSelected - return (this.$scope.multiSelectedCount = this.multiSelectedCount()) + this.$scope.multiSelectedCount = this.multiSelectedCount() + this.$scope.editor.multiSelectedCount = this.$scope.multiSelectedCount } multiSelectedCount() {