From 7556af6421401b3353eb64d4e22cc3c95935f5cb Mon Sep 17 00:00:00 2001 From: James Allen Date: Sun, 22 Jun 2014 20:21:31 +0100 Subject: [PATCH] Listen for rename changes from server --- .../app/views/project/editor/file-tree.jade | 51 +++++++++---------- .../app/ide/file-tree/FileTreeManager.coffee | 7 ++- .../FileTreeEntityController.coffee | 6 +++ .../FileTreeFolderController.coffee | 9 ---- 4 files changed, 36 insertions(+), 37 deletions(-) delete mode 100644 services/web/public/coffee/app/ide/file-tree/controllers/FileTreeFolderController.coffee diff --git a/services/web/app/views/project/editor/file-tree.jade b/services/web/app/views/project/editor/file-tree.jade index d876c5e6bc..cee28837b0 100644 --- a/services/web/app/views/project/editor/file-tree.jade +++ b/services/web/app/views/project/editor/file-tree.jade @@ -45,14 +45,30 @@ script(type='text/ng-template', id='entityListItemTemplate') ng-class="{ 'selected': entity.selected }", ng-controller="FileTreeEntityController" ) - .entity(ng-if="entity.type == 'doc'") + .entity .entity-name( ng-click="select()" ng-dblclick="startRenaming()" ) //- Just a spacer to align with folders - i.fa.fa-fw.toggle - i.fa.fa-fw.fa-file + i.fa.fa-fw.toggle(ng-if="entity.type != 'folder'") + i.fa.fa-fw.toggle( + ng-if="entity.type == 'folder'" + ng-class="{'fa-chevron-right': !expanded, 'fa-chevron-down': expanded}" + ng-click="toggleExpanded()" + ) + + i.fa.fa-fw.fa-file(ng-if="entity.type == 'doc'") + i.fa.fa-fw.fa-image(ng-if="entity.type == 'file'") + i.fa.fa-fw( + ng-if="entity.type == 'folder'" + ng-class="{\ + 'fa-folder': !expanded, \ + 'fa-folder-open': expanded \ + }" + ng-click="select()" + ) + span( ng-hide="entity.renaming" ) {{ entity.name }} @@ -64,31 +80,12 @@ script(type='text/ng-template', id='entityListItemTemplate') on-enter="finishRenaming()" ) - .entity(ng-if="entity.type == 'file'") - .entity-name(ng-click="select()") - i.fa.fa-fw.toggle - i.fa.fa-fw.fa-image - | {{ entity.name }} - - .entity(ng-if="entity.type == 'folder'", ng-controller="FileTreeFolderController") - .entity-name - i.fa.fa-fw.toggle( - ng-class="{'fa-chevron-right': !expanded, 'fa-chevron-down': expanded}" - ng-click="toggleExpanded()" - ) - - i.fa.fa-fw( - ng-class="{\ - 'fa-folder': !expanded, \ - 'fa-folder-open': expanded \ - }" - ng-click="select()" - ) - span(ng-click="select()") {{ entity.name }} - - ul.list-unstyled(ng-show="expanded") + ul.list-unstyled( + ng-if="entity.type == 'folder'" + ng-show="expanded" + ) file-entity(entity="child", ng-repeat="child in entity.children | orderBy:[orderByFoldersFirst, 'name']") - + script(type='text/ng-template', id='newDocModalTemplate') .modal-header h3 New File diff --git a/services/web/public/coffee/app/ide/file-tree/FileTreeManager.coffee b/services/web/public/coffee/app/ide/file-tree/FileTreeManager.coffee index c1aace3508..fb1aa0d155 100644 --- a/services/web/public/coffee/app/ide/file-tree/FileTreeManager.coffee +++ b/services/web/public/coffee/app/ide/file-tree/FileTreeManager.coffee @@ -1,7 +1,6 @@ define [ "ide/file-tree/directives/fileEntity" "ide/file-tree/controllers/FileTreeController" - "ide/file-tree/controllers/FileTreeFolderController" "ide/file-tree/controllers/FileTreeEntityController" ], () -> class FileTreeManager @@ -40,6 +39,12 @@ define [ children: [] } + @ide.socket.on "reciveEntityRename", (entity_id, name) => + entity = @findEntityById(entity_id) + return if !entity? + @$scope.$apply () -> + entity.name = name + findEntityById: (id) -> @_findEntityByIdInFolder @$scope.rootFolder, id diff --git a/services/web/public/coffee/app/ide/file-tree/controllers/FileTreeEntityController.coffee b/services/web/public/coffee/app/ide/file-tree/controllers/FileTreeEntityController.coffee index a0bd84c32f..e96721b212 100644 --- a/services/web/public/coffee/app/ide/file-tree/controllers/FileTreeEntityController.coffee +++ b/services/web/public/coffee/app/ide/file-tree/controllers/FileTreeEntityController.coffee @@ -19,4 +19,10 @@ define [ $scope.$on "rename:selected", () -> $scope.startRenaming() if $scope.entity.selected + + if $scope.entity.type == "folder" + $scope.expanded = false + + $scope.toggleExpanded = () -> + $scope.expanded = !$scope.expanded ] \ No newline at end of file diff --git a/services/web/public/coffee/app/ide/file-tree/controllers/FileTreeFolderController.coffee b/services/web/public/coffee/app/ide/file-tree/controllers/FileTreeFolderController.coffee deleted file mode 100644 index cd41fed59a..0000000000 --- a/services/web/public/coffee/app/ide/file-tree/controllers/FileTreeFolderController.coffee +++ /dev/null @@ -1,9 +0,0 @@ -define [ - "base" -], (App) -> - App.controller "FileTreeFolderController", ["$scope", ($scope) -> - $scope.expanded = false - - $scope.toggleExpanded = () -> - $scope.expanded = !$scope.expanded - ] \ No newline at end of file