Closes #159 "Manage comment in rule regexp"

This commit is contained in:
Xavier Guimard 2010-10-23 22:07:17 +00:00
parent f13f6fd011
commit 0aa81a5355
3 changed files with 44 additions and 8 deletions

View File

@ -176,10 +176,25 @@ function setlmdata(id,v){
$('#text_'+id).attr('value',escape(v)); $('#text_'+id).attr('value',escape(v));
} }
function setlminputdata(id,input){ function setlminputdata(id,input){
var inputname=$(input).attr('id'); //var inputname=$(input).attr('id');
var inputvalue=$(input).attr('value'); var inputvalue=$(input).attr('value');
setlmdata(id,inputvalue); setlmdata(id,inputvalue);
} }
function setlmrule(id,c,r,v){
c=$(c).attr('value');
r=$(r).attr('value');
v=$(v).attr('value');
var re=r;
var text=r;
if(c.length>0){
c=c.replace(/\)/g,']').replace(/\(/g,'[');
re='(?#'+c+')'+r;
text=c;
}
setlmdata(id,v);
$('#text_'+id).attr('name',re);
$('#text_'+id).text(text);
}
function setlmfile(id,input){ function setlmfile(id,input){
var inputname=$(input).attr('id'); var inputname=$(input).attr('id');
if($(input).attr('value').length==0){ if($(input).attr('value').length==0){
@ -657,12 +672,19 @@ function delvh(id){
function rules(id){ function rules(id){
currentId=id; currentId=id;
var t=lmtext(id); var t=lmtext(id);
$('#rulKey').attr('value',lmtext(id)); var b=t.match(/^(?:\(\?#(.*?)\))?(.*)/);
if(typeof(b[1])=='undefined')b[1]='';
$('#rulComment').attr('value',b[1]);
$('#rulKey').attr('value',b[2]);
$('#rulValue').attr('value',lmdata(id)); $('#rulValue').attr('value',lmdata(id));
display('rules',lmtext(lmparent(id))); display('rules',lmtext(lmparent(id)));
if(t=='default'){$('#rulKey').attr('readonly','readonly')} if(t=='default'){
$('#rulKey').attr('readonly','readonly');
$('#rulCommentDiv').css('display','none');
}
else{ else{
$('#rulKey').attr('readonly',''); $('#rulKey').attr('readonly','');
$('#rulCommentDiv').css('display','block');
$('#delkb').show(); $('#delkb').show();
} }
$('#newrb').show(); $('#newrb').show();

View File

@ -321,9 +321,20 @@
<!-- Rule --> <!-- Rule -->
<div id="content_rules" class="hidden"> <div id="content_rules" class="hidden">
<textarea id="rulKey" cols="30" rows="2"></textarea>&nbsp;<textarea id="rulValue" cols="50" rows="2"></textarea> <table border="0"><tbody><tr><td>
<div id="rulCommentDiv">
<lang en="Comment" fr="Commentaire" /><br/>
<input type='text' id="rulComment" size="30" />
</div>
<lang en="Expression" fr="Expression" /><br/>
<textarea id="rulKey" cols="30" rows="2"></textarea>
</td>
<td>
<lang en="Rule" fr="Règle" /><br/>
<textarea id="rulValue" cols="50" rows="4"></textarea>
</td></tr></tbody></table>
<br /> <br />
<button onclick="setlminputtext(currentId,rulKey);setlminputdata(currentId,rulValue);return false;" class="ui-state-default ui-corner-all"> <button onclick="setlmrule(currentId,rulComment,rulKey,rulValue);return false;" class="ui-state-default ui-corner-all">
<lang en="Apply" fr="Appliquer" /> <lang en="Apply" fr="Appliquer" />
</button> </button>
</div> </div>

View File

@ -166,12 +166,15 @@ sub confNode {
my $id = "$target/$_"; my $id = "$target/$_";
$id =~ s/=*$//; $id =~ s/=*$//;
# Here, "notranslate" is set to true : hash values must not be # 1. Here, "notranslate" is set to true : hash values must not
# translated # be translated
# 2. if a regexp comment exists, it is set as text
my $text = ( /^\(\?#(.*)\)/ ? $1 : $_ );
$res .= $self->li($id) $res .= $self->li($id)
. $self->span( . $self->span(
id => $id, id => $id,
text => "$_", text => $text,
name => $_,
data => $h->{$_}, data => $h->{$_},
js => $js, js => $js,
help => $help, help => $help,