mirror of
https://github.com/Relintai/sdl2_frt.git
synced 2024-12-25 09:17:12 +01:00
24c86b5501
since the window system doesn't do it for us like other platforms. This prevents sticky keys and missed keys when going in and out of focus, for example Alt would appear to stick if switching away from an SDL app with Alt-Tab and had to be pressed again. CR: Sam
98 lines
2.9 KiB
JavaScript
Executable File
98 lines
2.9 KiB
JavaScript
Executable File
function toggleVisibility(linkObj)
|
|
{
|
|
var base = $(linkObj).attr('id');
|
|
var summary = $('#'+base+'-summary');
|
|
var content = $('#'+base+'-content');
|
|
var trigger = $('#'+base+'-trigger');
|
|
var src=$(trigger).attr('src');
|
|
if (content.is(':visible')===true) {
|
|
content.hide();
|
|
summary.show();
|
|
$(linkObj).addClass('closed').removeClass('opened');
|
|
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
|
|
} else {
|
|
content.show();
|
|
summary.hide();
|
|
$(linkObj).removeClass('closed').addClass('opened');
|
|
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function updateStripes()
|
|
{
|
|
$('table.directory tr').
|
|
removeClass('even').filter(':visible:even').addClass('even');
|
|
}
|
|
function toggleLevel(level)
|
|
{
|
|
$('table.directory tr').each(function(){
|
|
var l = this.id.split('_').length-1;
|
|
var i = $('#img'+this.id.substring(3));
|
|
var a = $('#arr'+this.id.substring(3));
|
|
if (l<level+1) {
|
|
i.attr('src','ftv2folderopen.png');
|
|
a.attr('src','ftv2mnode.png');
|
|
$(this).show();
|
|
} else if (l==level+1) {
|
|
i.attr('src','ftv2folderclosed.png');
|
|
a.attr('src','ftv2pnode.png');
|
|
$(this).show();
|
|
} else {
|
|
$(this).hide();
|
|
}
|
|
});
|
|
updateStripes();
|
|
}
|
|
|
|
function toggleFolder(id)
|
|
{
|
|
//The clicked row
|
|
var currentRow = $('#row_'+id);
|
|
var currentRowImages = currentRow.find("img");
|
|
|
|
//All rows after the clicked row
|
|
var rows = currentRow.nextAll("tr");
|
|
|
|
//Only match elements AFTER this one (can't hide elements before)
|
|
var childRows = rows.filter(function() {
|
|
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
|
|
return this.id.match(re);
|
|
});
|
|
|
|
//First row is visible we are HIDING
|
|
if (childRows.filter(':first').is(':visible')===true) {
|
|
currentRowImages.filter("[id^=arr]").attr('src', 'ftv2pnode.png');
|
|
currentRowImages.filter("[id^=img]").attr('src', 'ftv2folderclosed.png');
|
|
rows.filter("[id^=row_"+id+"]").hide();
|
|
} else { //We are SHOWING
|
|
//All sub images
|
|
var childImages = childRows.find("img");
|
|
var childImg = childImages.filter("[id^=img]");
|
|
var childArr = childImages.filter("[id^=arr]");
|
|
|
|
currentRow.find("[id^=arr]").attr('src', 'ftv2mnode.png'); //open row
|
|
currentRow.find("[id^=img]").attr('src', 'ftv2folderopen.png'); //open row
|
|
childImg.attr('src','ftv2folderclosed.png'); //children closed
|
|
childArr.attr('src','ftv2pnode.png'); //children closed
|
|
childRows.show(); //show all children
|
|
}
|
|
updateStripes();
|
|
}
|
|
|
|
|
|
function toggleInherit(id)
|
|
{
|
|
var rows = $('tr.inherit.'+id);
|
|
var img = $('tr.inherit_header.'+id+' img');
|
|
var src = $(img).attr('src');
|
|
if (rows.filter(':first').is(':visible')===true) {
|
|
rows.css('display','none');
|
|
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
|
|
} else {
|
|
rows.css('display','table-row'); // using show() causes jump in firefox
|
|
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
|
|
}
|
|
}
|
|
|