diff --git a/src/filemanager.html b/src/filemanager.html
index d056733b7..1728f6522 100644
--- a/src/filemanager.html
+++ b/src/filemanager.html
@@ -200,6 +200,31 @@
+
+
+
diff --git a/src/js/filemanager.js b/src/js/filemanager.js
index a0255dfb9..c25ee5dd2 100644
--- a/src/js/filemanager.js
+++ b/src/js/filemanager.js
@@ -130,13 +130,39 @@ app.controller('FileManagerController', ['$scope', '$timeout', 'Client', functio
return '/' + filePath;
}
+ $scope.extractStatus = {
+ error: null,
+ busy: false,
+ fileName: ''
+ };
+
function extract(entry) {
var filePath = sanitize($scope.cwd + '/' + entry.fileName);
if (entry.isDirectory) return;
+ // prevent it from getting closed
+ $('#extractModal').modal({
+ backdrop: 'static',
+ keyboard: false
+ });
+
+ $scope.extractStatus.fileName = entry.fileName;
+ $scope.extractStatus.error = null;
+ $scope.extractStatus.busy = true;
+
Client.filesExtract($scope.appId, filePath, function (error) {
- if (error) return Client.error(error);
+ $scope.extractStatus.busy = false;
+
+ if (error) {
+ console.error(error);
+ $scope.extractStatus.error = 'Failed to extract: ' + error.message;
+ return;
+ }
+
+ $('#extractModal').modal('hide');
+
+ $scope.refresh();
});
}