X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=stemmaweb%2Froot%2Fjs%2Frelationship.js;h=3fa40d1bc41b2eec15c8310eff4bc0bbb165d3a5;hb=a7f4020a1a1fd72aba6e25dc0a8f8aa9a1891202;hp=7f6ed879c165b0ffb576158468bdcc9fe7cb1dfd;hpb=1301020e6ec9c61107d9db02744303fbd2f7aca6;p=scpubgit%2Fstemmatology.git diff --git a/stemmaweb/root/js/relationship.js b/stemmaweb/root/js/relationship.js index 7f6ed87..3fa40d1 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'] ); + $('#reading_is_nonsense').attr( 'checked', reading_info['is_nonsense'] ); + $('#reading_grammar_invalid').attr( 'checked', reading_info['grammar_invalid'] ); // Use .text as a backup for .normal_form var normal_form = reading_info['normal_form']; if( !normal_form ) { @@ -66,46 +66,96 @@ 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 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; - var form_morph_elements = morph_elements( formtag ); - form_morph_elements[0].text( lex['string'] + ': ' ); - form_morph_elements[1].autocomplete({ - source: morphoptions, - minLength: 0 - }); - //forminput.autocomplete('search', ''); - if( lex['form'] ) { - var formstr = stringify_wordform( lex['form'] ); - form_morph_elements[1].val( formstr ); + 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 ); }); }); - $('#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 ) { +function morph_elements ( formtag, formtxt, currform, morphoptions ) { + var clicktag = '(Click to select)'; + if ( !currform ) { + currform = clicktag; + } var formlabel = $('