diff options
Diffstat (limited to 'data/assets/js/admin')
-rw-r--r-- | data/assets/js/admin/tabs/files.js | 35 |
1 files changed, 30 insertions, 5 deletions
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($) { "</a>", "</div><!-- btn-group -->", ], + + 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 |