Просмотр исходного кода

Listen for rename changes from server

James Allen 12 лет назад
Родитель
Сommit
7556af6421

+ 23 - 26
services/web/app/views/project/editor/file-tree.jade

@@ -45,50 +45,47 @@ 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
-				span(
-					ng-hide="entity.renaming"
-				)  {{ entity.name }}
-				input(
-					ng-show="entity.renaming",
-					ng-model="inputs.name",
-					ng-blur="finishRenaming()",
-					focus-input="entity.renaming",
-					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-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-click="select()")  {{ entity.name }}
 
-			ul.list-unstyled(ng-show="expanded")
-				file-entity(entity="child", ng-repeat="child in entity.children | orderBy:[orderByFoldersFirst, 'name']")
+				span(
+					ng-hide="entity.renaming"
+				)  {{ entity.name }}
+				input(
+					ng-show="entity.renaming",
+					ng-model="inputs.name",
+					ng-blur="finishRenaming()",
+					focus-input="entity.renaming",
+					on-enter="finishRenaming()"
+				)
 
+			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

+ 6 - 1
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
 

+ 6 - 0
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
 	]

+ 0 - 9
services/web/public/coffee/app/ide/file-tree/controllers/FileTreeFolderController.coffee

@@ -1,9 +0,0 @@
-define [
-	"base"
-], (App) ->
-	App.controller "FileTreeFolderController", ["$scope", ($scope) ->
-		$scope.expanded = false
-
-		$scope.toggleExpanded = () ->
-			$scope.expanded = !$scope.expanded
-	]