Explorar el Código

Add renamingToName override name for instant apparent renames

James Allen hace 8 años
padre
commit
aa6c16593e

+ 2 - 2
services/web/app/views/project/editor/file-tree.pug

@@ -110,7 +110,7 @@ script(type='text/ng-template', id='entityListItemTemplate')
 				i.fa.fa-fw(ng-if="entity.type != 'folder'", ng-class="'fa-' + iconTypeFromName(entity.name)")
 				i.fa.fa-fw(ng-if="entity.type != 'folder'", ng-class="'fa-' + iconTypeFromName(entity.name)")
 				span(
 				span(
 					ng-hide="entity.renaming"
 					ng-hide="entity.renaming"
-				)  {{ entity.name }}
+				)  {{ entity.renamingToName || entity.name }}
 				span.rename-input
 				span.rename-input
 					input(
 					input(
 						ng-if="permissions.write",
 						ng-if="permissions.write",
@@ -198,7 +198,7 @@ script(type='text/ng-template', id='entityListItemTemplate')
 
 
 					span(
 					span(
 						ng-hide="entity.renaming"
 						ng-hide="entity.renaming"
-					)  {{ entity.name }}
+					)  {{ entity.renamingToName || entity.name }}
 					span.rename-input
 					span.rename-input
 						input(
 						input(
 							ng-if="permissions.write",
 							ng-if="permissions.write",

+ 6 - 4
services/web/public/coffee/ide/file-tree/FileTreeManager.coffee

@@ -362,13 +362,15 @@ define [
 			parent_folder = @getCurrentFolder()
 			parent_folder = @getCurrentFolder()
 			if @existsInThisFolder parent_folder, name
 			if @existsInThisFolder parent_folder, name
 				return @nameExistsError()
 				return @nameExistsError()
-			# We'll wait for the socket.io notification to actually
-			# do the rename for us.
+			entity.renamingToName = name
 			@ide.$http.post("/project/#{@ide.project_id}/#{entity.type}/#{entity.id}/rename", {
 			@ide.$http.post("/project/#{@ide.project_id}/#{entity.type}/#{entity.id}/rename", {
 				name: name,
 				name: name,
 				_csrf: window.csrfToken
 				_csrf: window.csrfToken
-			}).then () ->
-				entity.name = name
+			})
+				.then () ->
+					entity.name = name
+				.finally () ->
+					entity.renamingToName = null
 
 
 		deleteEntity: (entity, callback = (error) ->) ->
 		deleteEntity: (entity, callback = (error) ->) ->
 			# We'll wait for the socket.io notification to
 			# We'll wait for the socket.io notification to