X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=root%2Fjs%2Frelationship-full.js;h=78475716b30b0ed05570a133762f4e13d51ae1a8;hb=487674b92f431087bfd5cd66cffd35fcfc705548;hp=cd3d867d0ed8ed8d01c2470ff8a913cba3f2cd5f;hpb=20198e59252d42dcb5d8371426fb4d750870cb20;p=scpubgit%2Fstemmaweb.git diff --git a/root/js/relationship-full.js b/root/js/relationship-full.js index cd3d867..7847571 100644 --- a/root/js/relationship-full.js +++ b/root/js/relationship-full.js @@ -5,36 +5,12 @@ var start_element_height = 0; var reltypes = {}; var readingdata = {}; -function getTextPath() { - var currpath = window.location.pathname; - // Get rid of trailing slash - if( currpath.lastIndexOf('/') == currpath.length - 1 ) { - currpath = currpath.slice( 0, currpath.length - 1) - }; - // Get rid of query parameters - if( currpath.lastIndexOf('?') != -1 ) { - currpath = currpath.slice( 0, currpath.lastIndexOf('?') ); - }; - var path_elements = currpath.split('/'); - var textid = path_elements.pop(); - var basepath = path_elements.join( '/' ); - var path_parts = [ basepath, textid ]; - return path_parts; -} - -function getRelativePath() { - var path_parts = getTextPath(); - return path_parts[0]; -} - function getTextURL( which ) { - var path_parts = getTextPath(); - return path_parts[0] + '/' + path_parts[1] + '/' + which; + return basepath + textid + '/' + which; } function getReadingURL( reading_id ) { - var path_parts = getTextPath(); - return path_parts[0] + '/' + path_parts[1] + '/reading/' + reading_id; + return basepath + textid + '/reading/' + reading_id; } // Make an XML ID into a valid selector @@ -79,26 +55,31 @@ function toggle_checkbox( box, value ) { } function morphology_form ( lexlist ) { - $('#morphology').empty(); - $.each( lexlist, function( idx, lex ) { - var morphoptions = []; - if( 'wordform_matchlist' in lex ) { - $.each( lex['wordform_matchlist'], function( tdx, tag ) { - var tagstr = stringify_wordform( tag ); - morphoptions.push( tagstr ); + if( lexlist.length ) { + $('#morph_outer').show(); + $('#morphology').empty(); + $.each( lexlist, function( idx, lex ) { + var morphoptions = []; + if( 'wordform_matchlist' in lex ) { + $.each( lex['wordform_matchlist'], function( tdx, tag ) { + var tagstr = stringify_wordform( tag ); + morphoptions.push( tagstr ); + }); + } + var formtag = 'morphology_' + idx; + var formstr = ''; + if( 'form' in lex ) { + formstr = stringify_wordform( lex['form'] ); + } + var form_morph_elements = morph_elements( + formtag, lex['string'], formstr, morphoptions ); + $.each( form_morph_elements, function( idx, el ) { + $('#morphology').append( el ); }); - } - var formtag = 'morphology_' + idx; - var formstr = ''; - if( 'form' in lex ) { - formstr = stringify_wordform( lex['form'] ); - } - var form_morph_elements = morph_elements( - formtag, lex['string'], formstr, morphoptions ); - $.each( form_morph_elements, function( idx, el ) { - $('#morphology').append( el ); }); - }); + } else { + $('#morph_outer').hide(); + } } function stringify_wordform ( tag ) { @@ -220,9 +201,8 @@ function svgEnlargementLoaded() { } function add_relations( callback_fn ) { - var basepath = getRelativePath(); var textrelpath = getTextURL( 'relationships' ); - $.getJSON( basepath + '/definitions', function(data) { + $.getJSON( basepath + 'definitions', function(data) { var rel_types = data.types.sort(); $.getJSON( textrelpath, function(data) { @@ -677,8 +657,7 @@ $(document).ready(function () { create: function(event, ui) { $(this).data( 'relation_drawn', false ); //TODO? Err handling? - var basepath = getRelativePath(); - var jqjson = $.getJSON( basepath + '/definitions', function(data) { + var jqjson = $.getJSON( basepath + 'definitions', function(data) { var types = data.types.sort(); $.each( types, function(index, value) { $('#rel_type').append( $('