very final fixes for FM

This commit is contained in:
Serghey Rodin 2015-11-06 00:44:17 +02:00
parent 99994dc865
commit c9c8697f28

View file

@ -161,34 +161,16 @@ FM.setActive = function(index, box) {
$(box + ' .active').removeClass('active'); $(box + ' .active').removeClass('active');
$(box).find('li.dir:eq('+index+')').addClass('active'); $(box).find('li.dir:eq('+index+')').addClass('active');
//$(box).find('li:eq('+index+')').addClass('selected');
//var w_h = $(window).height() - 100;
var w_offset = $(box).scrollTop(); var w_offset = $(box).scrollTop();
var w_height = $(box).height() var w_height = $(box).height()
var pos = $(box).find('li.selected').position(); var pos = $(box).find('li.selected').position();
//console.log(w_height);
//console.log(w_offset);
//console.log(pos);
var wwh = w_height - w_offset + pos.top; var wwh = w_height - w_offset + pos.top;
//console.info(wwh);
//console.info((pos.top + w_offset) + ' > ' + w_height);
//console.log((pos.top + w_offset) > w_height);
/* if (pos.top > w_height) {
var cur_elm = $(box).find('li.selected').position();
var cur_elm_height = $(box).find('li.selected').height();
//$(box).scrollTo(wwh - 350);
$(box).scrollTo(w_offset + cur_elm.top - w_height/2 + cur_elm_height/2);
}
else {*/
var cur_elm = $(box).find('li.selected').position();
var cur_elm_height = $(box).find('li.selected').height();
$(box).scrollTo(w_offset + cur_elm.top - w_height/2 + cur_elm_height/2); var cur_elm = $(box).find('li.selected').position();
var cur_elm_height = $(box).find('li.selected').height();
//} $(box).scrollTo(w_offset + cur_elm.top - w_height/2 + cur_elm_height/2);
FM['CURRENT_' + tab + '_LINE'] = index; FM['CURRENT_' + tab + '_LINE'] = index;
@ -215,7 +197,6 @@ FM.setActive = function(index, box) {
} }
FM.setSecondInactive = function(index, box) { FM.setSecondInactive = function(index, box) {
//$(box + ' .active').removeClass('selected-inactive');
$(box).find('li:eq('+index+')').addClass('selected-inactive'); $(box).find('li:eq('+index+')').addClass('selected-inactive');
FM.BG_LINE = index; FM.BG_LINE = index;
@ -286,9 +267,7 @@ FM.goDown = function() {
var tab = FM.getTabLetter(FM.CURRENT_TAB); var tab = FM.getTabLetter(FM.CURRENT_TAB);
var index = FM['CURRENT_' + tab + '_LINE']; var index = FM['CURRENT_' + tab + '_LINE'];
index += 1; index += 1;
/*if (index > ($(FM.CURRENT_TAB).find('li.dir').length - 1)) {
index = 0;
}*/
if (index > ($(FM.CURRENT_TAB).find('li.dir').length - 1)) { if (index > ($(FM.CURRENT_TAB).find('li.dir').length - 1)) {
index = $(FM.CURRENT_TAB).find('li.dir').length - 1; index = $(FM.CURRENT_TAB).find('li.dir').length - 1;
} }
@ -298,7 +277,7 @@ FM.goDown = function() {
// reloads provided tab // reloads provided tab
// reloads opposite tab if its needed // reloads opposite tab if its needed
FM.openAndSync = function(dir, box, callback) { FM.openAndSync = function(dir, box, callback, forceOppositeSync) {
var tab = FM.getTabLetter(box); var tab = FM.getTabLetter(box);
var opposite_tab = 'A'; var opposite_tab = 'A';
@ -312,6 +291,9 @@ FM.openAndSync = function(dir, box, callback) {
oppositeSyncNeeded = true; oppositeSyncNeeded = true;
} }
if ('undefined' != typeof forceOppositeSync) {
oppositeSyncNeeded = forceOppositeSync;
}
if (oppositeSyncNeeded) { if (oppositeSyncNeeded) {
FM.open(dir, FM['TAB_' + opposite_tab], callback); FM.open(dir, FM['TAB_' + opposite_tab], callback);
@ -365,11 +347,16 @@ FM.updateTopLevelPathBar = function(box, tab, path) {
path = path.replace(FM.ROOT_DIR, ''); path = path.replace(FM.ROOT_DIR, '');
formattedPath.push('<a href="javascript:void(0)" onClick="FM.open(\''+FM.ROOT_DIR+'\', \''+box+'\')">'+FM.ROOT_DIR+'</span>'); formattedPath.push('<a href="javascript:void(0)" onClick="FM.open(\''+FM.ROOT_DIR+'\', \''+box+'\')">'+FM.ROOT_DIR+'</span>');
var fullDirPath = FM.ROOT_DIR;
$.each(path.split('/'), function(i, part) { $.each(path.split('/'), function(i, part) {
if (part.trim() == '') { if (part.trim() == '') {
return; return;
} }
formattedPath.push('<a href="javascript:void(0)" onClick="FM.open(\''+part+'\', \''+box+'\')">'+part+'</span>'); fullDirPath += '/' + part;
fullDirPath = fullDirPath.replace(/\/\//g, '/');
formattedPath.push('<a href="javascript:void(0)" onClick="FM.open(\''+fullDirPath+'\', \''+box+'\')">'+part+'</span>');
}); });
$('.pwd-tab-' + tab).html(formattedPath.join(' / ')); $('.pwd-tab-' + tab).html(formattedPath.join(' / '));
@ -403,6 +390,7 @@ FM.sortItems = function(items, box) {
$.each(items, function(i, o) { $.each(items, function(i, o) {
if (i > 0) { // i == 0 means first .. element in list if (i > 0) { // i == 0 means first .. element in list
if (FM.isItemFile(o) || FM.isItemLink(o)) { if (FM.isItemFile(o) || FM.isItemLink(o)) {
o.filetype = FM.getFileType(o.name);
files.push(o); files.push(o);
} }
else { else {
@ -411,7 +399,6 @@ FM.sortItems = function(items, box) {
} }
}); });
// var sort_type = $(box).parents('.window').find('.menu').find('.sort-by-v').val();
var sort_type = FM.ORDER_TAB_A; var sort_type = FM.ORDER_TAB_A;
if($(box).closest('.window').find('.menu').hasClass('menu-right')){ if($(box).closest('.window').find('.menu').hasClass('menu-right')){
sort_type = FM.ORDER_TAB_B; sort_type = FM.ORDER_TAB_B;
@ -420,7 +407,7 @@ FM.sortItems = function(items, box) {
switch (sort_type) { switch (sort_type) {
case 'type_asc': case 'type_asc':
files.sort(function (a, b) { files.sort(function (a, b) {
return a.name.localeCompare( b.name ); return a.filetype.localeCompare( b.filetype );
}); });
dirs.sort(function (a, b) { dirs.sort(function (a, b) {
return a.name.localeCompare( b.name ); return a.name.localeCompare( b.name );
@ -429,7 +416,7 @@ FM.sortItems = function(items, box) {
break; break;
case 'type_desc': case 'type_desc':
files.sort(function (a, b) { files.sort(function (a, b) {
return a.name.localeCompare( b.name ); return b.filetype.localeCompare( a.filetype );
}); });
dirs.sort(function (a, b) { dirs.sort(function (a, b) {
return a.name.localeCompare( b.name ); return a.name.localeCompare( b.name );
@ -555,8 +542,6 @@ FM.downloadFileFromSubcontext = function(elm) {
FM.openFile = function(dir, box, elm) { FM.openFile = function(dir, box, elm) {
var tab = FM.getTabLetter(box); var tab = FM.getTabLetter(box);
//FM['TAB_'+tab+'_CURRENT_PATH'] = dir;
var elm = $(elm).hasClass('dir') ? $(elm) : $(elm).closest('.dir'); var elm = $(elm).hasClass('dir') ? $(elm) : $(elm).closest('.dir');
var src = $.parseJSON($(elm).find('.source').val()); var src = $.parseJSON($(elm).find('.source').val());
@ -769,19 +754,16 @@ FM.checkBulkStatus = function(bulkStatuses, acc) {
} }
if (status == true) { if (status == true) {
//$('#popup .results').html(App.Constants.FM_DONE);
//$('.controls').html('<p class="ok" onClick="FM.bulkPopupClose();">'+App.Constants.FM_DONE+'</p>');
FM.popupClose(); FM.popupClose();
var box = FM['TAB_' + tab];
var tab = FM.getTabLetter(FM.CURRENT_TAB);
FM.openAndSync(FM['TAB_' + tab + '_CURRENT_PATH'], box);
} }
else { else {
$('#popup .results').show().html(msg); $('#popup .results').show().html(msg);
//$('.controls').html('<p class="ok" onClick="FM.bulkPopupClose();">'+App.Constants.FM_DONE+'</p>');
$('#popup .ok').hide(); $('#popup .ok').hide();
} }
var box = FM['TAB_' + tab];
var tab = FM.getTabLetter(FM.CURRENT_TAB);
FM.openAndSync(FM['TAB_' + tab + '_CURRENT_PATH'], box, function(){}, true);
} }
FM.bulkPopupClose = function() { FM.bulkPopupClose = function() {
@ -901,7 +883,7 @@ FM.bulkCopy = function() {
var src = $(ref).find('.source').val(); var src = $(ref).find('.source').val();
src = $.parseJSON(src); src = $.parseJSON(src);
if (!FM.isItemPseudo(o)) { if (!FM.isItemPseudo(src)) {
cfr_html += '<div>'+src.name+'</div>'; cfr_html += '<div>'+src.name+'</div>';
numberOfItems++; numberOfItems++;
} }
@ -1002,7 +984,7 @@ FM.bulkRemove = function() {
var src = $(ref).find('.source').val(); var src = $(ref).find('.source').val();
src = $.parseJSON(src); src = $.parseJSON(src);
if (!FM.isItemPseudo(o)) { if (!FM.isItemPseudo(src)) {
cfr_html += '<div>'+src.name+'</div>'; cfr_html += '<div>'+src.name+'</div>';
numberOfItems++; numberOfItems++;
} }
@ -1355,7 +1337,7 @@ FM.setTabActive = function(box, action) {
FM.confirmRename = function() { FM.confirmRename = function() {
var tab = FM.getTabLetter(FM.CURRENT_TAB); var tab = FM.getTabLetter(FM.CURRENT_TAB);
var box = FM['TAB_' + tab]; var box = FM['TAB_' + tab];
var selected = $(FM['TAB_' + tab] ).find('.dir.selected'); var selected = $(FM['TAB_' + tab] ).find('.dir.active');
if (!selected) { if (!selected) {
return FM.displayError( return FM.displayError(
App.Constants.FM_NO_FILE_OR_DIRECTORY_SELECTED App.Constants.FM_NO_FILE_OR_DIRECTORY_SELECTED
@ -1531,7 +1513,7 @@ FM.confirmUnpackItem = function () {
FM.confirmPackItem = function () { FM.confirmPackItem = function () {
var tab = FM.getTabLetter(FM.CURRENT_TAB); var tab = FM.getTabLetter(FM.CURRENT_TAB);
var box = FM['TAB_' + tab]; var box = FM['TAB_' + tab];
var selected = $(FM['TAB_' + tab] ).find('.dir.selected'); var selected = $(FM['TAB_' + tab] ).find('.dir.active');
if (selected.length == 0) { if (selected.length == 0) {
return FM.displayError( return FM.displayError(
App.Constants.FM_NO_FILE_OR_DIRECTORY_SELECTED App.Constants.FM_NO_FILE_OR_DIRECTORY_SELECTED