mirror of
https://github.com/myvesta/vesta
synced 2025-08-20 05:14:10 -07:00
FileManager stuff
This commit is contained in:
parent
5c8e3d3489
commit
7565e8217f
13 changed files with 514 additions and 60 deletions
|
@ -546,7 +546,7 @@ FM.downloadFileFromSubcontext = function(elm) {
|
|||
FM.openFile = function(dir, box, elm) {
|
||||
var tab = FM.getTabLetter(box);
|
||||
|
||||
FM['TAB_'+tab+'_CURRENT_PATH'] = dir;
|
||||
//FM['TAB_'+tab+'_CURRENT_PATH'] = dir;
|
||||
|
||||
var elm = $(elm).hasClass('dir') ? $(elm) : $(elm).closest('.dir');
|
||||
var src = $.parseJSON($(elm).find('.source').val());
|
||||
|
@ -754,11 +754,11 @@ FM.checkBulkStatus = function(bulkStatuses, acc) {
|
|||
|
||||
if (status == true) {
|
||||
$('#popup .results').html(App.Constants.FM_DONE);
|
||||
$('.controls p').replaceWith('<p class="ok" onClick="FM.bulkPopupClose();">close</p>');
|
||||
$('.controls').html('<p class="ok" onClick="FM.bulkPopupClose();">'+App.Constants.FM_DONE+'</p>');
|
||||
}
|
||||
else {
|
||||
$('#popup .results').html(msg);
|
||||
$('.controls p').replaceWith('<p class="ok" onClick="FM.bulkPopupClose();">close</p>');
|
||||
$('.controls').html('<p class="ok" onClick="FM.bulkPopupClose();">'+App.Constants.FM_DONE+'</p>');
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -795,49 +795,47 @@ FM.humanFileSizeUnit = function(size) {
|
|||
}
|
||||
|
||||
|
||||
FM.bulkCopy = function() {
|
||||
FM.bulkCopyDo = function() {
|
||||
var acc = $(FM.CURRENT_TAB).find('.dir.selected');
|
||||
if (acc.length > 0) {
|
||||
//FM.popupClose();
|
||||
|
||||
|
||||
var cfr_html = '';
|
||||
|
||||
var numberOfItems = 0;
|
||||
$.each(acc, function(i, o) {
|
||||
var ref = $(o);
|
||||
var src = $(ref).find('.source').val();
|
||||
src = $.parseJSON(src);
|
||||
|
||||
|
||||
if (!FM.isItemPseudo(o)) {
|
||||
cfr_html += '<div>'+src.name+'</div>';
|
||||
numberOfItems++;
|
||||
}
|
||||
});
|
||||
|
||||
var tpl = Tpl.get('popup_bulk', 'FM');
|
||||
tpl.set(':ACTION', App.Constants.FM_YOU_ARE_COPYING);
|
||||
tpl.set(':TEXT', cfr_html);
|
||||
|
||||
FM.popupOpen(tpl.finalize());
|
||||
|
||||
|
||||
var bulkStatuses = [];
|
||||
$.each(acc, function(i, o) {
|
||||
var ref = $(o);
|
||||
var src = $(ref).find('.source').val();
|
||||
src = $.parseJSON(src);
|
||||
|
||||
/*if (!FM.isItemPseudo(o)) {
|
||||
cfr_html += '<div>'+src.name+'</div>';
|
||||
}*/
|
||||
var tab = FM.getTabLetter(FM.CURRENT_TAB);
|
||||
if (FM.isItemPseudo(src)) {
|
||||
//cfr_html += '<div>'+src.name+'</div>';
|
||||
return;
|
||||
}
|
||||
|
||||
var tab = FM.getTabLetter(FM.CURRENT_TAB);
|
||||
var opposite_tab = 'A';
|
||||
if (tab == 'A') {
|
||||
opposite_tab = 'B';
|
||||
}
|
||||
|
||||
if (FM.isItemPseudo(src)) {
|
||||
return FM.displayError(
|
||||
/*return FM.displayError(
|
||||
App.Constants.FM_NO_FILE_OR_DIRECTORY_SELECTED
|
||||
);
|
||||
);*/
|
||||
return;
|
||||
}
|
||||
|
||||
var dest = FM['TAB_' + opposite_tab + '_CURRENT_PATH' ];
|
||||
|
@ -863,6 +861,106 @@ FM.bulkCopy = function() {
|
|||
bulkStatuses.push(reply.message);
|
||||
}
|
||||
|
||||
FM.checkBulkStatus(bulkStatuses, acc);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
FM.bulkCopy = function() {
|
||||
var acc = $(FM.CURRENT_TAB).find('.dir.selected');
|
||||
if (acc.length > 0) {
|
||||
FM.popupClose();
|
||||
|
||||
var cfr_html = '';
|
||||
var numberOfItems = 0;
|
||||
$.each(acc, function(i, o) {
|
||||
var ref = $(o);
|
||||
var src = $(ref).find('.source').val();
|
||||
src = $.parseJSON(src);
|
||||
|
||||
if (!FM.isItemPseudo(o)) {
|
||||
cfr_html += '<div>'+src.name+'</div>';
|
||||
numberOfItems++;
|
||||
}
|
||||
});
|
||||
|
||||
var tab = FM.getTabLetter(FM.CURRENT_TAB);
|
||||
var opposite_tab = 'A';
|
||||
if (tab == 'A') {
|
||||
opposite_tab = 'B';
|
||||
}
|
||||
var dest = FM['TAB_' + opposite_tab + '_CURRENT_PATH' ];
|
||||
if (dest == '') {
|
||||
dest = GLOBAL.ROOT_DIR;
|
||||
}
|
||||
|
||||
var tpl = Tpl.get('popup_bulk_copy', 'FM');
|
||||
tpl.set(':NUMBER_OF_ITEMS', numberOfItems);
|
||||
tpl.set(':DST_FILENAME', dest);
|
||||
//popup_bulk_copy
|
||||
|
||||
FM.popupOpen(tpl.finalize());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
FM.bulkRemoveDo = function() {
|
||||
var acc = $(FM.CURRENT_TAB).find('.dir.selected');
|
||||
if (acc.length > 0) {
|
||||
//FM.popupClose();
|
||||
|
||||
var cfr_html = '';
|
||||
|
||||
$.each(acc, function(i, o) {
|
||||
var ref = $(o);
|
||||
var src = $(ref).find('.source').val();
|
||||
src = $.parseJSON(src);
|
||||
|
||||
if (!FM.isItemPseudo(o)) {
|
||||
cfr_html += '<div>'+src.name+'</div>';
|
||||
}
|
||||
});
|
||||
|
||||
var bulkStatuses = [];
|
||||
$.each(acc, function(i, o) {
|
||||
var ref = $(o);
|
||||
var src = $(ref).find('.source').val();
|
||||
src = $.parseJSON(src);
|
||||
|
||||
var tab = FM.getTabLetter(FM.CURRENT_TAB);
|
||||
|
||||
var opposite_tab = 'A';
|
||||
if (tab == 'A') {
|
||||
opposite_tab = 'B';
|
||||
}
|
||||
|
||||
if (FM.isItemPseudo(src)) {
|
||||
return;
|
||||
/*return FM.displayError(
|
||||
App.Constants.FM_NO_FILE_OR_DIRECTORY_SELECTED
|
||||
);*/
|
||||
}
|
||||
|
||||
var dest = FM['TAB_' + opposite_tab + '_CURRENT_PATH' ];
|
||||
if (dest == '') {
|
||||
dest = GLOBAL.ROOT_DIR;
|
||||
}
|
||||
|
||||
var params = {
|
||||
item: src.full_path,
|
||||
dir: FM['TAB_' + tab + '_CURRENT_PATH']
|
||||
};
|
||||
|
||||
App.Ajax.request('delete_files', params, function(reply) {
|
||||
if (reply.result == true) {
|
||||
bulkStatuses.push(true);
|
||||
}
|
||||
else {
|
||||
//FM.showError('copy-items', reply.message);
|
||||
bulkStatuses.push(reply.message);
|
||||
}
|
||||
|
||||
FM.checkBulkStatus(bulkStatuses, acc);
|
||||
});
|
||||
});
|
||||
|
@ -871,6 +969,33 @@ FM.bulkCopy = function() {
|
|||
}
|
||||
|
||||
FM.bulkRemove = function() {
|
||||
var acc = $(FM.CURRENT_TAB).find('.dir.selected');
|
||||
if (acc.length > 0) {
|
||||
FM.popupClose();
|
||||
|
||||
var cfr_html = '';
|
||||
var numberOfItems = 0;
|
||||
$.each(acc, function(i, o) {
|
||||
var ref = $(o);
|
||||
var src = $(ref).find('.source').val();
|
||||
src = $.parseJSON(src);
|
||||
|
||||
if (!FM.isItemPseudo(o)) {
|
||||
cfr_html += '<div>'+src.name+'</div>';
|
||||
numberOfItems++;
|
||||
}
|
||||
});
|
||||
|
||||
var tpl = Tpl.get('popup_bulk_remove', 'FM');
|
||||
tpl.set(':NUMBER_OF_ITEMS', numberOfItems);
|
||||
//tpl.set(':DST_FILENAME', dest);
|
||||
|
||||
FM.popupOpen(tpl.finalize());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
FM.bulkRemove11111 = function() {
|
||||
var acc = $(FM.CURRENT_TAB).find('.dir.selected');
|
||||
if (acc.length > 0) {
|
||||
//FM.popupClose();
|
||||
|
@ -907,9 +1032,10 @@ FM.bulkRemove = function() {
|
|||
}
|
||||
|
||||
if (FM.isItemPseudo(src)) {
|
||||
return FM.displayError(
|
||||
return;
|
||||
/*return FM.displayError(
|
||||
App.Constants.FM_NO_FILE_OR_DIRECTORY_SELECTED
|
||||
);
|
||||
);*/
|
||||
}
|
||||
|
||||
var dest = FM['TAB_' + opposite_tab + '_CURRENT_PATH' ];
|
||||
|
@ -1810,6 +1936,7 @@ $(document).ready(function() {
|
|||
shortcut.add("Esc",function() {
|
||||
FM.Env.RELOAD_IN_TIME = false;
|
||||
$('#reload-in-time').remove();
|
||||
$('.shortcuts').hide();
|
||||
if (FM.isPopupOpened()) {
|
||||
return FM.handlePopupCancel();
|
||||
}
|
||||
|
@ -1820,6 +1947,15 @@ $(document).ready(function() {
|
|||
'target': document
|
||||
});
|
||||
|
||||
shortcut.add("h", function(){
|
||||
$('.shortcuts').toggle();
|
||||
}, {
|
||||
'type': 'keydown',
|
||||
'propagate': false,
|
||||
'disable_in_input': true,
|
||||
'target': document
|
||||
});
|
||||
|
||||
shortcut.add("Down",function() {
|
||||
FM.goDown();
|
||||
},{
|
||||
|
@ -2014,6 +2150,7 @@ $(document).ready(function() {
|
|||
'disable_in_input': false,
|
||||
'target': document
|
||||
});
|
||||
|
||||
shortcut.add("a",function() {
|
||||
FM.packItem();
|
||||
},{
|
||||
|
@ -2023,8 +2160,6 @@ $(document).ready(function() {
|
|||
'target': document
|
||||
});
|
||||
|
||||
|
||||
|
||||
shortcut.add("d",function() {
|
||||
FM.downloadFiles();
|
||||
},{
|
||||
|
@ -2098,15 +2233,22 @@ $(document).ready(function() {
|
|||
$('.context-menu.sort-order').on('click', 'span', function(evt){
|
||||
FM.reOrderList($(evt.target));
|
||||
});
|
||||
|
||||
|
||||
$('.warning-box .close').on('click', function(evt){
|
||||
$(evt.target).closest('.warning-box').hide();
|
||||
});
|
||||
|
||||
$('.menu-A .extract-btn').hide();
|
||||
$('.menu-B .extract-btn').hide();
|
||||
|
||||
|
||||
|
||||
|
||||
$('.to-shortcuts').click(function(){
|
||||
$('.shortcuts').toggle();
|
||||
});
|
||||
|
||||
$('.shortcuts .close').click(function(){
|
||||
$('.shortcuts').hide();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
|
|
@ -63,6 +63,7 @@ App.Constants.FM_COPY = '<?=__('Copy') ?>';
|
|||
App.Constants.FM_CANCEL = '<?=__('Cancel')?>';
|
||||
App.Constants.FM_RENAME = '<?=__('Rename')?>';
|
||||
App.Constants.FM_DELETE = '<?=__('Delete')?>';
|
||||
App.Constants.FM_CONFIRM_DELETE_BULK = '<?=__('Delete items')?>';
|
||||
App.Constants.FM_EXTRACT = '<?=__('Extract')?>';
|
||||
App.Constants.FM_CREATE = '<?=__('Create')?>';
|
||||
App.Constants.FM_PACK = '<?=__('Compress')?>';
|
||||
|
@ -71,6 +72,8 @@ App.Constants.FM_OK = '<?=__('OK')?>';
|
|||
App.Constants.FM_YOU_ARE_COPYING = '<?=__('YOU ARE COPYING')?>';
|
||||
App.Constants.FM_YOU_ARE_REMOVING = '<?=__('YOU ARE REMOVING')?>';
|
||||
|
||||
App.Constants.FM_COPY_BULK = '<?=__('Copy files')?>';
|
||||
|
||||
App.Constants.FM_CONFIRM_COPY = '<?=__('Are you sure you want to copy')?>';
|
||||
App.Constants.FM_CONFIRM_DELETE = '<?=__('Are you sure you want to delete')?>';
|
||||
App.Constants.FM_INTO_KEYWORD = '<?=__('into')?>';
|
||||
|
|
|
@ -10,11 +10,11 @@ App.Templates.html = {
|
|||
//
|
||||
|
||||
FM: {
|
||||
reload_in_time: [
|
||||
'<div id="reload-in-time" class="warning-box reload">\
|
||||
<div class="message-small">'+App.Constants.FM_HIT+' <span>F5</span> '+App.Constants.FM_TO_RELOAD_THE_PAGE+'</div>\
|
||||
</div>'
|
||||
],
|
||||
reload_in_time: [
|
||||
'<div id="reload-in-time" class="warning-box reload">\
|
||||
<div class="message-small">'+App.Constants.FM_HIT+' <span>F5</span> '+App.Constants.FM_TO_RELOAD_THE_PAGE+'</div>\
|
||||
</div>'
|
||||
],
|
||||
entry_line: ['<li class="dir">\
|
||||
<span class="marker">\
|
||||
</span>\
|
||||
|
@ -37,14 +37,33 @@ App.Templates.html = {
|
|||
<p class="ok" onClick="FM.popupClose();">'+App.Constants.FM_CLOSE+'</p>\
|
||||
</div>\
|
||||
</div>'],
|
||||
popup_bulk: ['<div class="confirm-box alarm popup-box">\
|
||||
popup_bulk_remove: ['<div class="confirm-box delete popup-box">\
|
||||
<div class="message">'+App.Constants.FM_CONFIRM_DELETE_BULK+' (~!:NUMBER_OF_ITEMS~!)?</div>\
|
||||
<div class="controls">\
|
||||
<p class="cancel" onClick="FM.popupClose();">'+App.Constants.FM_CANCEL+'</p>\
|
||||
<p class="ok" onClick="FM.bulkRemoveDo();">'+App.Constants.FM_DELETE+'</p>\
|
||||
</div>\
|
||||
</div>'],
|
||||
popup_bulk_copy: ['<div class="confirm-box copy popup-box">\
|
||||
<div class="message">'+App.Constants.FM_COPY_BULK+' (~!:NUMBER_OF_ITEMS~!) '+ App.Constants.FM_INTO_KEYWORD +':</div>\
|
||||
<div class="actions">\
|
||||
<input type="text" id="copy_dest" value="~!:DST_FILENAME~!" class="new-title">\
|
||||
</div>\
|
||||
<div class="results"></div>\
|
||||
<div class="message">'+App.Constants.FM_EXISTING_FILES_WILL_BE_REPLACED+'</div>\
|
||||
<div class="controls">\
|
||||
<p class="cancel" onClick="FM.popupClose();">'+App.Constants.FM_CANCEL+'</p>\
|
||||
<p class="ok" onClick="FM.bulkCopyDo();">'+App.Constants.FM_COPY+'</p>\
|
||||
</div>\
|
||||
</div>'],
|
||||
/*popup_bulk: ['<div class="confirm-box alarm popup-box">\
|
||||
<div class="message">~!:ACTION~!: <br />~!:TEXT~!</div>\
|
||||
<div class="results"></div>\
|
||||
<div class="controls">\
|
||||
<!-- p class="ok" onClick="FM.popupClose();">'+App.Constants.FM_CLOSE+'</p -->\
|
||||
<p><img src="/images/in_progress.gif"></p>\
|
||||
</div>\
|
||||
</div>'],
|
||||
</div>'],*/
|
||||
popup_delete: ['<div class="confirm-box delete popup-box">\
|
||||
<div class="message">'+App.Constants.FM_CONFIRM_DELETE+' <span class="title">"~!:FILENAME~!"</span>?</div>\
|
||||
<div class="controls">\
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue