From cf9a70ddcafbd5680543f327113aa444854d367f Mon Sep 17 00:00:00 2001 From: Dane Everitt Date: Mon, 3 Oct 2016 16:36:12 -0400 Subject: [PATCH] Add file deletion support, fix renaming deleting URL hash --- .../server/js/filemanager/actions.blade.php | 40 +++++++++++++++++++ .../js/filemanager/contextmenu.blade.php | 8 +++- .../server/js/filemanager/index.blade.php | 4 -- 3 files changed, 47 insertions(+), 5 deletions(-) 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();