From 083dc329e5793cc441cfea5093326fe148ff6d22 Mon Sep 17 00:00:00 2001 From: Paul Duncan Date: Sun, 17 Jul 2016 10:48:53 -0400 Subject: add file delete --- data/assets/js/admin/tabs/files.js | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) (limited to 'data') diff --git a/data/assets/js/admin/tabs/files.js b/data/assets/js/admin/tabs/files.js index d7021a3..6fcdde7 100644 --- a/data/assets/js/admin/tabs/files.js +++ b/data/assets/js/admin/tabs/files.js @@ -56,6 +56,10 @@ jQuery(function($) { "", "", ], + + delete_confirm: [ + "Are you sure you want to delete \"%{name|h}\"?", + ], }); function get_crumbs(path) { @@ -161,20 +165,41 @@ jQuery(function($) { }); $('#file-actions').on('click', 'a', function() { - var data = $(this).data(); + var action_id = $(this).data('id'); // hide dropdown $('body').trigger('click'); - if (data.id == 'download') { + if (action_id == 'download') { // alert('TODO: download file'); var url = $('#files .active').data('url'); if (url) location.href = url; - } else if (data.id == 'move') { + } else if (action_id == 'move') { alert('TODO: move file'); - } else if (data.id == 'delete') { - alert('TODO: delete file'); + } else if (action_id == 'delete') { + var data = $('#files .active').data(); + + if (confirm(TEMPLATES.run('delete_confirm', data))) { + send('file/delete', { + path: data.path, + }).always(function() { + // TODO: need loading handler + }).fail(function(r) { + var error = r.responseText; + + try { + var data = $.parseJSON(r.responseText); + if (data.error) + error = data.error; + } catch (e) {} + + alert("Error: " + error); + }).done(function() { + // reload file list + reload(); + }); + } } // stop event -- cgit v1.2.3