diff --git a/src/filemanager.html b/src/filemanager.html index 4a8cd795d..028b2f453 100644 --- a/src/filemanager.html +++ b/src/filemanager.html @@ -99,6 +99,33 @@ + + +

@@ -146,6 +173,7 @@ {{ entry.size | prettyDiskSize }} {{ entry.uid | prettyOwner }} + diff --git a/src/js/client.js b/src/js/client.js index acc175eaf..6d64f97b9 100644 --- a/src/js/client.js +++ b/src/js/client.js @@ -2404,7 +2404,7 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout }; Client.prototype.filesRename = function (appId, path, newPath, callback) { - put('/api/v1/apps/' + appId + '/files/' + path, { newFilePath: newPath }, function (error, data, status) { + put('/api/v1/apps/' + appId + '/files/' + path, { newFilePath: newPath }, {}, function (error, data, status) { if (error) return callback(error); if (status !== 200) return callback(new ClientError(status, data)); diff --git a/src/js/filemanager.js b/src/js/filemanager.js index 2632f622a..59751e7e5 100644 --- a/src/js/filemanager.js +++ b/src/js/filemanager.js @@ -113,10 +113,44 @@ app.controller('FileManagerController', ['$scope', 'Client', function ($scope, C } }; + $scope.renameEntry = { + busy: false, + error: null, + entry: null, + newName: '', + + show: function (entry) { + $scope.renameEntry.error = null; + $scope.renameEntry.entry = entry; + $scope.renameEntry.newName = entry.filePath; + $scope.renameEntry.busy = false; + + $('#renameEntryModal').modal('show'); + }, + + submit: function () { + $scope.renameEntry.busy = true; + + var oldFilePath = sanitize($scope.cwd + '/' + $scope.renameEntry.entry.filePath); + var newFilePath = sanitize($scope.cwd + '/' + $scope.renameEntry.newName); + + Client.filesRename($scope.appId, oldFilePath, newFilePath, function (error, result) { + $scope.renameEntry.busy = false; + if (error) return Client.error(error); + + console.log('rename', result); + + $scope.refresh(); + + $('#renameEntryModal').modal('hide'); + }); + } + }; + $scope.entryRemove = { busy: false, error: null, - entry: {}, + entry: null, show: function (entry) { $scope.entryRemove.error = null;