From 656d40ac397ae75ec11f790afe2d093a7a5e0a5c Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Thu, 24 May 2018 11:31:50 +0100 Subject: [PATCH] Better view refresh after refreshing linked file --- .../ide/binary-files/BinaryFilesManager.coffee | 14 -------------- .../controllers/BinaryFileController.coffee | 16 ++++++++++++++-- .../coffee/ide/file-tree/FileTreeManager.coffee | 9 --------- 3 files changed, 14 insertions(+), 25 deletions(-) diff --git a/services/web/public/coffee/ide/binary-files/BinaryFilesManager.coffee b/services/web/public/coffee/ide/binary-files/BinaryFilesManager.coffee index fc86208717..ebecf1132e 100644 --- a/services/web/public/coffee/ide/binary-files/BinaryFilesManager.coffee +++ b/services/web/public/coffee/ide/binary-files/BinaryFilesManager.coffee @@ -19,17 +19,3 @@ define [ , 0 , this ) - - openFileById: (id) -> - file = @ide.fileTreeManager.selectEntityById(id) - @$scope.ui.view = "file" - @$scope.openFile = null - @$scope.$apply() - window.setTimeout( - () => - @$scope.openFile = file - @$scope.$apply() - @$scope.$digest() - , 0 - , this - ) diff --git a/services/web/public/coffee/ide/binary-files/controllers/BinaryFileController.coffee b/services/web/public/coffee/ide/binary-files/controllers/BinaryFileController.coffee index 3ccffc9123..6b9c075a29 100644 --- a/services/web/public/coffee/ide/binary-files/controllers/BinaryFileController.coffee +++ b/services/web/public/coffee/ide/binary-files/controllers/BinaryFileController.coffee @@ -47,6 +47,18 @@ define [ else return url + _tryOpenFile = (new_file_id) -> + iterations = 0 + do tryOpen = () -> + if iterations > 10 + return + iterations += 1 + newFile = ide.fileTreeManager.findEntityById(new_file_id) + if newFile? + ide.binaryFilesManager.openFile(newFile) + else + setTimeout(tryOpen, 500) + $scope.refreshFile = (file) -> $scope.refreshing = true $scope.refreshError = null @@ -56,8 +68,8 @@ define [ { new_file_id } = data $timeout( () -> - ide.binaryFilesManager.openFileById(new_file_id) - , 1000 + _tryOpenFile(new_file_id) + , 0 ) $scope.refreshError = null .catch (response) -> diff --git a/services/web/public/coffee/ide/file-tree/FileTreeManager.coffee b/services/web/public/coffee/ide/file-tree/FileTreeManager.coffee index dfaef74edb..d7a428ec80 100644 --- a/services/web/public/coffee/ide/file-tree/FileTreeManager.coffee +++ b/services/web/public/coffee/ide/file-tree/FileTreeManager.coffee @@ -87,15 +87,6 @@ define [ entity.selected = false entity.selected = true - selectEntityById: (entity_id) -> - @selected_entity_id = entity_id # For reselecting after a reconnect - selected_entity = null - @ide.fileTreeManager.forEachEntity (entity) -> - if entity.id == entity_id - selected_entity = entity - entity.selected = true - return selected_entity - toggleMultiSelectEntity: (entity) -> entity.multiSelected = !entity.multiSelected @$scope.multiSelectedCount = @multiSelectedCount()