X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.db-live.git;a=blobdiff_plain;f=yarrg%2Fweb%2Fqtextstring;h=e046c56c3d4f90c7fe4b3034836015ca64e73879;hp=639e9abf25bc3a3db06a091f776138e856c32092;hb=da7ce28baf19eb34178ee4886216ee3fb2c89321;hpb=70f23c42b325a1463fe8a9d76cb967b7df1260df diff --git a/yarrg/web/qtextstring b/yarrg/web/qtextstring index 639e9ab..e046c56 100644 --- a/yarrg/web/qtextstring +++ b/yarrg/web/qtextstring @@ -40,14 +40,18 @@ $qa => $m->caller_args(1)->{'qa'} $dbh $thingstring $emsgstore -$perresult +$onresults $prefix => 'ts'; +$helpref => undef; <%perl> my $stringval= $qa->{$thingstring}; $stringval='' if !defined $stringval; my $p= $prefix.'_'; +my $checker= $m->fetch_comp("check_${thingstring}"); +my $significant_nonempty= $checker->attr_exists('significant_nonempty'); + <&| script &> @@ -57,7 +61,7 @@ my $p= $prefix.'_'; <%$p%>timeout=false; <%$p%>request=false; -<%$p%>done=''; +<%$p%>done=<% $significant_nonempty ? "null" : "''" %>; <%$p%>needed=''; function <%$p%>Later(){ window.clearTimeout(<%$p%>timeout); @@ -93,17 +97,23 @@ function <%$p%>Ready() { register_onload(<%$p%>Needed); +% if (!printable($m)) { content %> id="<% $thingstring %>" name="<% $thingstring %>" onchange="<%$p%>Needed();" onkeyup="<%$p%>Later();" value="<% $stringval |h %>" - > + ><% defined($helpref) ? "[?]" : '' %>
 

+% } else { +<% $stringval |h %> +
+
+% } <%perl> -if (length $thingstring) { - my ($emsg,$canonstring,$results)= $m->comp('qtextstringcheck', +if ($significant_nonempty || length $thingstring) { + my ($emsg,$canonstring,@results)= $m->comp('qtextstringcheck', what => $thingstring, ocean => $qa->{Ocean}, string => $stringval, @@ -113,10 +123,6 @@ if (length $thingstring) { $$emsgstore='' unless defined $$emsgstore; $$emsgstore .= $emsg. ' '; } - - foreach my $entry (@$results) { -#print STDERR "qts entry perresult \`@$entry'\n"; - $perresult->(@$entry); - } + $onresults->(@results); }