X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=stemmaweb%2Froot%2Fjs%2Frelationship.js;h=cd3d867d0ed8ed8d01c2470ff8a913cba3f2cd5f;hb=a1411d50483bfd6cc561d7f8d81941cd6d6f61a9;hp=ac621f2894af3bf92ffaffa2bcb4366a0c75bb6a;hpb=e31609d321f5e5371c20434c8d1e2229c4e25406;p=scpubgit%2Fstemmatology.git diff --git a/stemmaweb/root/js/relationship.js b/stemmaweb/root/js/relationship.js index ac621f2..cd3d867 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').val( reading_info['is_nonsense'] ); - $('#reading_grammar_invalid').val( 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 ) { @@ -66,18 +66,31 @@ function node_dblclick_listener( evt ) { $('#reading_normal_form').attr( 'size', nfboxsize ) $('#reading_normal_form').val( normal_form ); // Now do the morphological properties. + morphology_form( reading_info['lexemes'] ); // and then open the dialog. + $('#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( reading_info['lexemes'], function( idx, lex ) { + $.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; - //forminput.autocomplete('search', ''); var formstr = ''; - if( lex['form'] ) { + if( 'form' in lex ) { formstr = stringify_wordform( lex['form'] ); } var form_morph_elements = morph_elements( @@ -86,11 +99,14 @@ function node_dblclick_listener( evt ) { $('#morphology').append( el ); }); }); - $('#reading-form').dialog("open"); } function stringify_wordform ( tag ) { - return tag['lemma'] + ' // ' + tag['morphology']; + if( tag ) { + var elements = tag.split(' // '); + return elements[1] + ' // ' + elements[2]; + } + return '' } function morph_elements ( formtag, formtxt, currform, morphoptions ) { @@ -101,7 +117,8 @@ function morph_elements ( formtag, formtxt, currform, morphoptions ) { var formlabel = $('