mirror of
https://github.com/YunoHost-Apps/hubzilla_ynh.git
synced 2024-09-03 19:26:21 +02:00
97 lines
2.6 KiB
JavaScript
97 lines
2.6 KiB
JavaScript
// table-based pages are expected to set 'table' to their name
|
|
var table = null;
|
|
|
|
// sync target's visibility with the state of checkbox
|
|
function sync(cb, target) {
|
|
var checked = cb.attr('checked');
|
|
var displayed = target.css('display') != 'none';
|
|
if (checked != displayed) {
|
|
if (checked)
|
|
target.show();
|
|
else
|
|
target.hide();
|
|
}
|
|
}
|
|
|
|
// sync target's visibility with the inverse of the state of checkbox
|
|
function unsync(cb, target) {
|
|
var checked = cb.attr('checked');
|
|
var displayed = target.css('display') != 'none';
|
|
if (checked == displayed) {
|
|
if (checked)
|
|
target.hide();
|
|
else
|
|
target.show();
|
|
}
|
|
}
|
|
|
|
// associate the state of checkbox with the visibility of target
|
|
function associate(cb, target) {
|
|
sync(cb, target);
|
|
cb.click(function() {
|
|
sync(cb, target);
|
|
});
|
|
}
|
|
|
|
// select the appropriate image based on the options selected
|
|
function syncImage() {
|
|
var implied = $('#implied').attr('checked');
|
|
|
|
$('.diagram').hide();
|
|
|
|
if (table) {
|
|
if (implied && $('#impliedTwoDegreesImg').size() > 0) {
|
|
$('#impliedTwoDegreesImg').show();
|
|
} else {
|
|
var oneDegree = $('#oneDegree').attr('checked');
|
|
|
|
if (oneDegree || $('#twoDegreesImg').size() == 0) {
|
|
$('#oneDegreeImg').show();
|
|
} else {
|
|
$('#twoDegreesImg').show();
|
|
}
|
|
}
|
|
} else {
|
|
var showNonKeys = $('#showNonKeys').attr('checked');
|
|
|
|
if (implied) {
|
|
if (showNonKeys && $('#impliedLargeImg').size() > 0) {
|
|
$('#impliedLargeImg').show();
|
|
} else if ($('#impliedCompactImg').size() > 0) {
|
|
$('#impliedCompactImg').show();
|
|
} else {
|
|
$('#realCompactImg').show();
|
|
}
|
|
} else {
|
|
if (showNonKeys && $('#realLargeImg').size() > 0) {
|
|
$('#realLargeImg').show();
|
|
} else {
|
|
$('#realCompactImg').show();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// our 'ready' handler makes the page consistent
|
|
$(function(){
|
|
associate($('#implied'), $('.impliedRelationship'));
|
|
associate($('#showComments'), $('.comment'));
|
|
associate($('#showLegend'), $('.legend'));
|
|
associate($('#showRelatedCols'), $('.relatedKey'));
|
|
associate($('#showConstNames'), $('.constraint'));
|
|
|
|
syncImage();
|
|
$('#implied,#oneDegree,#twoDegrees,#showNonKeys').click(function() {
|
|
syncImage();
|
|
});
|
|
|
|
unsync($('#implied'), $('.degrees'));
|
|
$('#implied').click(function() {
|
|
unsync($('#implied'), $('.degrees'));
|
|
});
|
|
|
|
unsync($('#removeImpliedOrphans'), $('.impliedNotOrphan'));
|
|
$('#removeImpliedOrphans').click(function() {
|
|
unsync($('#removeImpliedOrphans'), $('.impliedNotOrphan'));
|
|
});
|
|
});
|