X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=root%2Fjs%2Frelationship-readonly.js;h=b34007f329c1d06a404a4aa2ff767d686efdfc7d;hb=8c01174cbb9c9e401a1d7a62ab4c627576799a6d;hp=8efa569f82aee3095d3ab5f766b36cd6c4b84969;hpb=69ac99fc59102911a65d9b21391af7fca3eada00;p=scpubgit%2Fstemmaweb.git diff --git a/root/js/relationship-readonly.js b/root/js/relationship-readonly.js index 8efa569..b34007f 100644 --- a/root/js/relationship-readonly.js +++ b/root/js/relationship-readonly.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 ) { @@ -218,9 +199,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(); $.each( rel_types, function(index, value) { $('#keymaplist').append( $('
  • ').css( "border-color", relation_manager.relation_colors[index] ).text(value) ); @@ -541,39 +521,44 @@ $(document).ready(function () { } }); - // function for reading form dialog should go here; for now hide the element - $('#reading-form').dialog({ - autoOpen: false, - height: 400, - width: 600, - modal: true, - buttons: { - OK: function() { - $( this ).dialog( "close" ); - } - }, - create: function() { - }, - open: function() { - $(".ui-widget-overlay").css("background", "none"); - $("#dialog_overlay").show(); - $('#reading_status').empty(); - $("#dialog_overlay").height( $("#enlargement_container").height() ); - $("#dialog_overlay").width( $("#enlargement_container").innerWidth() ); - $("#dialog_overlay").offset( $("#enlargement_container").offset() ); - $("#reading-form").parent().find('.ui-button').button("enable"); - }, - close: function() { - $("#dialog_overlay").hide(); - } - }).ajaxError( function(event, jqXHR, ajaxSettings, thrownError) { - if( ajaxSettings.url.lastIndexOf( getReadingURL('') ) > -1 - && ajaxSettings.type == 'POST' && jqXHR.status == 403 ) { - var errobj = jQuery.parseJSON( jqXHR.responseText ); - $('#reading_status').append( '

    Error: ' + errobj.error + '

    ' ); - } - $(event.target).parent().find('.ui-button').button("enable"); - }); + // function for reading form dialog should go here; + // just hide the element for now if we don't have morphology + if( can_morphologize ) { + $('#reading-form').dialog({ + autoOpen: false, + width: 450, + modal: true, + buttons: { + OK: function() { + $( this ).dialog( "close" ); + } + }, + create: function() { + // Hide the relemmatize button since it is not allowed + $('#reading_relemmatize').hide(); + }, + open: function() { + $(".ui-widget-overlay").css("background", "none"); + $("#dialog_overlay").show(); + $('#reading_status').empty(); + $("#dialog_overlay").height( $("#enlargement_container").height() ); + $("#dialog_overlay").width( $("#enlargement_container").innerWidth() ); + $("#dialog_overlay").offset( $("#enlargement_container").offset() ); + }, + close: function() { + $("#dialog_overlay").hide(); + } + }).ajaxError( function(event, jqXHR, ajaxSettings, thrownError) { + if( ajaxSettings.url.lastIndexOf( getReadingURL('') ) > -1 + && ajaxSettings.type == 'POST' && jqXHR.status == 403 ) { + var errobj = jQuery.parseJSON( jqXHR.responseText ); + $('#reading_status').append( '

    Error: ' + errobj.error + '

    ' ); + } + $(event.target).parent().find('.ui-button').button("enable"); + }); + } else { + $('#reading-form').hide(); + } // Hide the unused elements $('#dialog-form').hide();