diff options
author | Haakon Meland Eriksen <haakon.eriksen@far.no> | 2015-11-06 17:26:04 +0100 |
---|---|---|
committer | Haakon Meland Eriksen <haakon.eriksen@far.no> | 2015-11-06 17:26:04 +0100 |
commit | c40f6060da9c014135e70f165fa7adbfb127bcf2 (patch) | |
tree | 9c69bf46a9868f035dc340dc771eb8f63ea16ad7 /hubzilla_er/schemaSpy.js | |
parent | 5776af30e84356dade6b644a56dce2094ecb99eb (diff) | |
download | volse-hubzilla-c40f6060da9c014135e70f165fa7adbfb127bcf2.tar.gz volse-hubzilla-c40f6060da9c014135e70f165fa7adbfb127bcf2.tar.bz2 volse-hubzilla-c40f6060da9c014135e70f165fa7adbfb127bcf2.zip |
Hubzilla report created by schemaSpy using zot.meta.xml to imply relationships
Diffstat (limited to 'hubzilla_er/schemaSpy.js')
-rw-r--r-- | hubzilla_er/schemaSpy.js | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/hubzilla_er/schemaSpy.js b/hubzilla_er/schemaSpy.js new file mode 100644 index 000000000..d1a739d4e --- /dev/null +++ b/hubzilla_er/schemaSpy.js @@ -0,0 +1,97 @@ +// 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'));
+ });
+});
|