X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=stemmaweb%2Froot%2Fjs%2Frelationship.js;h=ed43d5dcb395365fb576ef5872eb62ee10b8a5ca;hb=397f3cf456fe5baf57f53a1d352c19dde8a3dac4;hp=a73147434acb9ec9ce8c25aad3e4f4f34aa87cfb;hpb=4aed7cc51a1239fd06e7e85481f0545749dfe75b;p=scpubgit%2Fstemmatology.git diff --git a/stemmaweb/root/js/relationship.js b/stemmaweb/root/js/relationship.js index a731474..ed43d5d 100644 --- a/stemmaweb/root/js/relationship.js +++ b/stemmaweb/root/js/relationship.js @@ -52,8 +52,8 @@ function node_dblclick_listener( evt ) { // Set the easy properties first $('#reading-form').dialog( 'option', 'title', 'Reading information for "' + reading_info['text'] + '"' ); $('#reading_id').val( reading_id ); - $('#reading_is_nonsense').attr( 'checked', reading_info['is_nonsense'] ); - $('#reading_grammar_invalid').attr( 'checked', reading_info['grammar_invalid'] ); + toggle_checkbox( $('#reading_is_nonsense'), reading_info['is_nonsense'] ); + toggle_checkbox( $('#reading_grammar_invalid'), reading_info['grammar_invalid'] ); // Use .text as a backup for .normal_form var normal_form = reading_info['normal_form']; if( !normal_form ) { @@ -71,17 +71,26 @@ function node_dblclick_listener( evt ) { $('#reading-form').dialog("open"); } +function toggle_checkbox( box, value ) { + if( value == null ) { + value = false; + } + box.attr('checked', value ); +} + function morphology_form ( lexlist ) { $('#morphology').empty(); $.each( lexlist, function( idx, lex ) { var morphoptions = []; - $.each( lex['wordform_matchlist'], function( tdx, tag ) { - var tagstr = stringify_wordform( tag ); - morphoptions.push( tagstr ); - }); + 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( lex['form'] ) { + if( 'form' in lex ) { formstr = stringify_wordform( lex['form'] ); } var form_morph_elements = morph_elements( @@ -93,8 +102,11 @@ function morphology_form ( lexlist ) { } function stringify_wordform ( tag ) { - var elements = tag.split(' // '); - return elements[1] + ' // ' + elements[2]; + if( tag ) { + var elements = tag.split(' // '); + return elements[1] + ' // ' + elements[2]; + } + return '' } function morph_elements ( formtag, formtxt, currform, morphoptions ) { @@ -687,7 +699,8 @@ $(document).ready(function () { $("#dialog_overlay").hide(); } }).ajaxError( function(event, jqXHR, ajaxSettings, thrownError) { - if( ( ajaxSettings.type == 'POST' ) && jqXHR.status == 403 ) { + if( ajaxSettings.url == getTextURL('relationships') + && ajaxSettings.type == 'POST' && jqXHR.status == 403 ) { var errobj = jQuery.parseJSON( jqXHR.responseText ); $('#status').append( '

Error: ' + errobj.error + '
The relationship cannot be made.

' ); } @@ -742,6 +755,7 @@ $(document).ready(function () { $( this ).dialog( "close" ); }, Update: function() { + $('#reading_status').empty(); var reading_id = $('#reading_id').val() form_values = { 'id' : reading_id, @@ -776,6 +790,7 @@ $(document).ready(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() ); @@ -783,6 +798,12 @@ $(document).ready(function () { 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 + '

' ); + } });