+ |
+
@if(in_array($file['extension'], $extensions))
@can('edit-files', $server)
{{ $file['entry'] }}
@@ -81,8 +83,8 @@
{{ $file['entry'] }}
@endif
|
- {{ $file['size'] }} |
- {{ date('m/d/y H:i:s', $file['date']) }} |
+ {{ $file['size'] }} |
+ {{ date('m/d/y H:i:s', $file['date']) }} |
{{--
diff --git a/resources/views/server/js/filemanager/actions.blade.php b/resources/views/server/js/filemanager/actions.blade.php
index d82d4d46..2eae52b0 100644
--- a/resources/views/server/js/filemanager/actions.blade.php
+++ b/resources/views/server/js/filemanager/actions.blade.php
@@ -29,30 +29,55 @@ class FileActions {
this.rightClick();
}
+ makeMenu() {
+ $(document).find('#fileOptionMenu').remove();
+ return $('');
+ }
+
rightClick() {
$('#file_listing > tbody').on('contextmenu', event => {
- event.preventDefault();
- const parent = $(event.target).parent();
- $('#fileOptionMenu').appendTo('body');
- $('#fileOptionMenu').data('invokedOn', $(event.target)).show().css({
+ const parent = $(event.target).parent();
+ const menu = this.makeMenu();
+
+ if (parent.data('type') === 'disabled') return;
+ event.preventDefault();
+
+ menu.appendTo('body');
+ menu.data('invokedOn', $(event.target)).show().css({
position: 'absolute',
left: event.pageX,
top: event.pageY,
});
+ if (parent.data('type') === 'file') {
+ menu.find('li[data-action="download"]').removeClass('hidden');
+ }
+
+ if (_.without(['application/zip', 'application/gzip', 'application/x-gzip'], parent.data('mime')).length < 3) {
+ menu.find('li[data-action="decompress"]').removeClass('hidden');
+ }
+
// Handle Events
var Context = new ContextMenuActions(parent);
- $('#fileOptionMenu li[data-action="move"]').unbind().on('click', e => {
+ menu.find('li[data-action="move"]').unbind().on('click', e => {
Context.move();
});
- $('#fileOptionMenu li[data-action="rename"]').unbind().on('click', e => {
+ menu.find('li[data-action="rename"]').unbind().on('click', e => {
Context.rename();
});
- $(window).click(() => {
- $('#fileOptionMenu').hide();
+ $(window).on('click', () => {
+ menu.remove();
});
});
}
diff --git a/resources/views/server/js/filemanager/index.blade.php b/resources/views/server/js/filemanager/index.blade.php
index 04c3295f..78800c6b 100644
--- a/resources/views/server/js/filemanager/index.blade.php
+++ b/resources/views/server/js/filemanager/index.blade.php
@@ -28,7 +28,7 @@ class FileManager {
$('[data-toggle="tooltip"]').tooltip();
}
- list(path) {
+ list(path, isError) {
if (_.isUndefined(path)) {
path = this.decodeHash();
}
@@ -54,7 +54,7 @@ class FileManager {
title: 'File Error',
text: 'An error occured while attempting to process this request. Please try again.',
});
- this.list('/');
+ if (!isError) this.list('/', true);
console.log(jqXHR);
}).always(() => {
this.loader(false);
|