X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?a=blobdiff_plain;f=yarrg%2Fweb%2Fqtextstring;h=16aa372bd6794caad89992d6d7b2f2a976d519c2;hb=f6d7a4d627f3ecc0624649bb895dbf8e59afcf47;hp=400716f119556e6bc0c893c82b5314ba6ac6206c;hpb=3766fb8d851fe463a5b8b469cf148c28efb1c578;p=ypp-sc-tools.db-live.git diff --git a/yarrg/web/qtextstring b/yarrg/web/qtextstring index 400716f..16aa372 100644 --- a/yarrg/web/qtextstring +++ b/yarrg/web/qtextstring @@ -29,20 +29,27 @@ sponsored by Three Rings. - This Mason component handles `live' analysis of text string entries. + This Mason component handles analysis of text string entries, including + both the AJAX calls from web page javascript and the entry validation + and processing calls from other components. <%args> -$thingstring $qa => $m->caller_args(1)->{'qa'} +$dbh +$thingstring +$emsgstore +$perresult - -Enter route (islands, or archipelagoes, separated by |s or commas; - abbreviations are OK):
+<%perl> +my $stringval= $qa->{$thingstring}; +$stringval='' if !defined $stringval; + <&| script &> -ts_uri= "check_<% $thingstring %>?format=json&type=text/xml" +ts_uri= "qtextstringcheck?format=application/json&ctype=text/xml" + + "&what=<% $thingstring %>" + "&ocean=<% uri_escape($qa->{Ocean}) %>"; ts_timeout=false; @@ -86,7 +93,23 @@ window.onload= ts_Needed; content %> id="<% $thingstring %>" name="<% $thingstring %>" onchange="ts_Needed();" onkeyup="ts_Later();" - value="<% $qa->{$thingstring} |h %>" + value="<% $stringval |h %>" >
 

+ +<%perl> +if (length $thingstring) { + my ($emsg,$canonstring,$results)= $m->comp('qtextstringcheck', + what => $thingstring, + ocean => $qa->{Ocean}, + string => $stringval, + format => 'return' + ); + $$emsgstore= $emsg; + + foreach my $entry (@$results) { + $perresult->(@$entry); + } +} +