diff --git a/resources/views/server/js/filemanager/actions.blade.php b/resources/views/server/js/filemanager/actions.blade.php
index ae0af8883..3da9215ff 100644
--- a/resources/views/server/js/filemanager/actions.blade.php
+++ b/resources/views/server/js/filemanager/actions.blade.php
@@ -116,4 +116,44 @@ class ActionsClass {
});
});
}
+
+ delete() {
+ const nameBlock = $(this.element).find('td[data-identifier="name"]');
+ const delPath = decodeURIComponent(nameBlock.data('path'));
+ const delName = decodeURIComponent(nameBlock.data('name'));
+
+ swal({
+ type: 'warning',
+ title: '',
+ text: 'Are you sure you want to delete ' + delName + '
? There is no reversing this action.',
+ html: true,
+ showCancelButton: true,
+ showConfirmButton: true,
+ closeOnConfirm: false,
+ showLoaderOnConfirm: true
+ }, () => {
+ $.ajax({
+ type: 'DELETE',
+ url: `{{ $node->scheme }}://{{ $node->fqdn }}:{{ $node->daemonListen }}/server/file/${delPath}${delName}`,
+ headers: {
+ 'X-Access-Token': '{{ $server->daemonSecret }}',
+ 'X-Access-Server': '{{ $server->uuid }}'
+ }
+ }).done(data => {
+ // nameBlock.parent().addClass('warning').delay(200).fadeOut();
+ swal({
+ type: 'success',
+ title: 'File Deleted'
+ });
+ }).fail(jqXHR => {
+ console.error(jqXHR);
+ swal({
+ type: 'error',
+ title: 'Whoops!',
+ html: true,
+ text: 'An error occured while attempting to delete this file. Please try again.',
+ });
+ });
+ });
+ }
}
diff --git a/resources/views/server/js/filemanager/contextmenu.blade.php b/resources/views/server/js/filemanager/contextmenu.blade.php
index ec7fd1a93..1ca934d41 100644
--- a/resources/views/server/js/filemanager/contextmenu.blade.php
+++ b/resources/views/server/js/filemanager/contextmenu.blade.php
@@ -77,10 +77,12 @@ class ContextMenuClass {
// Handle Events
const Actions = new ActionsClass(parent, menu);
$(menu).find('li[data-action="move"]').unbind().on('click', e => {
+ e.preventDefault();
Actions.move();
});
$(menu).find('li[data-action="rename"]').unbind().on('click', e => {
+ e.preventDefault();
Actions.rename();
});
@@ -89,6 +91,11 @@ class ContextMenuClass {
Actions.download();
});
+ $(menu).find('li[data-action="delete"]').unbind().on('click', e => {
+ e.preventDefault();
+ Actions.delete();
+ });
+
$(window).on('click', () => {
$(menu).remove();
if(!_.isNull(this.activeLine)) this.activeLine.removeClass('active');
@@ -103,7 +110,6 @@ class ContextMenuClass {
const path = $(this).parent().data('path') || '';
const name = $(this).parent().data('name') || '';
- console.log('changing hash');
window.location.hash = encodeURIComponent(path + name);
Files.list();
});
diff --git a/resources/views/server/js/filemanager/index.blade.php b/resources/views/server/js/filemanager/index.blade.php
index 37008d21d..e5386c016 100644
--- a/resources/views/server/js/filemanager/index.blade.php
+++ b/resources/views/server/js/filemanager/index.blade.php
@@ -24,10 +24,6 @@ class FileManager {
this.list(this.decodeHash());
}
- reload() {
- $('[data-toggle="tooltip"]').tooltip();
- }
-
list(path, isError) {
if (_.isUndefined(path)) {
path = this.decodeHash();