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 828e8901b2..7238827deb 100644 --- a/services/web/public/coffee/app/ide/file-tree/FileTreeManager.coffee +++ b/services/web/public/coffee/app/ide/file-tree/FileTreeManager.coffee @@ -156,69 +156,39 @@ define [ failure: (error) -> callback(error) } - createFolderInCurrentFolder: (name, callback = (error, doc) ->) -> + createFolderInCurrentFolder: (name) -> # We'll wait for the socket.io notification to actually # add the folder for us. parent_folder = @getCurrentFolder() - $.ajax { - url: "/project/#{@ide.project_id}/folder" - type: "POST" - contentType: "application/json; charset=utf-8" - data: JSON.stringify { - name: name, - parent_folder_id: parent_folder?.id - _csrf: window.csrfToken - } - dataType: "json" - success: (folder) -> - callback(null, folder) - failure: (error) -> callback(error) + return @ide.$http.post "/project/#{@ide.project_id}/folder", { + name: name, + parent_folder_id: parent_folder?.id + _csrf: window.csrfToken } renameEntity: (entity, name, callback = (error) ->) -> return if entity.name == name entity.name = name - $.ajax { - url: "/project/#{@ide.project_id}/#{entity.type}/#{entity.id}/rename" - type: "POST" - contentType: "application/json; charset=utf-8" - data: JSON.stringify { - name: name, - _csrf: window.csrfToken - } - dataType: "json" - success: () -> callback() - failure: (error) -> callback(error) + return @ide.$http.post "/project/#{@ide.project_id}/#{entity.type}/#{entity.id}/rename", { + name: name, + _csrf: window.csrfToken } deleteEntity: (entity, callback = (error) ->) -> # We'll wait for the socket.io notification to # delete from scope. - $.ajax { - url: "/project/#{@ide.project_id}/#{entity.type}/#{entity.id}" - type: "DELETE" - contentType: "application/json; charset=utf-8" + return @ide.$http { + method: "DELETE" + url: "/project/#{@ide.project_id}/#{entity.type}/#{entity.id}" headers: "X-Csrf-Token": window.csrfToken - dataType: "json" - success: () -> callback() - failure: (error) -> callback(error) } moveEntity: (entity, parent_folder, callback = (error) ->) -> @_moveEntityInScope(entity, parent_folder) - $.ajax { - url: "/project/#{@ide.project_id}/#{entity.type}/#{entity.id}/move" - type: "POST" - contentType: "application/json; charset=utf-8" - headers: - "X-Csrf-Token": window.csrfToken - data: JSON.stringify { - folder_id: parent_folder.id - } - dataType: "json" - success: () -> callback() - failure: (error) -> callback(error) + return @ide.$http.post "/project/#{@ide.project_id}/#{entity.type}/#{entity.id}/move", { + folder_id: parent_folder.id + _csrf: window.csrfToken } _deleteEntityFromScope: (entity) -> diff --git a/services/web/public/coffee/app/ide/file-tree/controllers/FileTreeController.coffee b/services/web/public/coffee/app/ide/file-tree/controllers/FileTreeController.coffee index 1c68c21bed..3f938b2c43 100644 --- a/services/web/public/coffee/app/ide/file-tree/controllers/FileTreeController.coffee +++ b/services/web/public/coffee/app/ide/file-tree/controllers/FileTreeController.coffee @@ -47,9 +47,11 @@ define [ $scope.create = () -> $scope.state.inflight = true - ide.fileTreeManager.createDocInCurrentFolder $scope.inputs.name, (error, doc) -> - $scope.state.inflight = false - $modalInstance.close() + ide.fileTreeManager + .createDocInCurrentFolder($scope.inputs.name) + .success () -> + $scope.state.inflight = false + $modalInstance.close() $scope.cancel = () -> $modalInstance.dismiss('cancel') @@ -70,9 +72,11 @@ define [ $scope.create = () -> $scope.state.inflight = true - ide.fileTreeManager.createFolderInCurrentFolder $scope.inputs.name, (error, doc) -> - $scope.state.inflight = false - $modalInstance.close() + ide.fileTreeManager + .createFolderInCurrentFolder($scope.inputs.name) + .success () -> + $scope.state.inflight = false + $modalInstance.close() $scope.cancel = () -> $modalInstance.dismiss('cancel') 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 75e04d4331..bb1fa34645 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 @@ -39,8 +39,9 @@ define [ $scope.delete = () -> $scope.state.inflight = true - ide.fileTreeManager.deleteEntity $scope.entity, (error) -> - $scope.$apply () -> + ide.fileTreeManager + .deleteEntity($scope.entity) + .success () -> $scope.state.inflight = false $modalInstance.close() diff --git a/services/web/public/coffee/app/ide/services/ide.coffee b/services/web/public/coffee/app/ide/services/ide.coffee index 2a3b448370..5d1fa7fa77 100644 --- a/services/web/public/coffee/app/ide/services/ide.coffee +++ b/services/web/public/coffee/app/ide/services/ide.coffee @@ -3,5 +3,9 @@ define [ ], (App) -> # We create and provide this as service so that we can access the global ide # from within other parts of the angular app. - App.factory "ide", () -> - return {} + App.factory "ide", ["$http", ($http) -> + ide = {} + ide.$http = $http + + return ide + ]