
richter at apache
Jan 16, 2007, 11:22 PM
Post #1 of 1
(2314 views)
Permalink
|
|
svn commit: r496949 - in /perl/embperl/trunk/Embperl: Form.pm Form/Control/addremove.pm Form/Control/checkbox.pm Form/Control/grid.pm Form/Control/radio.pm Form/Control/select.pm Form/Control/selectdyn.pm Form/Control/tabs.pm
|
|
Author: richter Date: Tue Jan 16 23:22:19 2007 New Revision: 496949 URL: http://svn.apache.org/viewvc?view=rev&rev=496949 Log: Update Embperl::Form Modified: perl/embperl/trunk/Embperl/Form.pm perl/embperl/trunk/Embperl/Form/Control/addremove.pm perl/embperl/trunk/Embperl/Form/Control/checkbox.pm perl/embperl/trunk/Embperl/Form/Control/grid.pm perl/embperl/trunk/Embperl/Form/Control/radio.pm perl/embperl/trunk/Embperl/Form/Control/select.pm perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm perl/embperl/trunk/Embperl/Form/Control/tabs.pm Modified: perl/embperl/trunk/Embperl/Form.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form.pm?view=diff&rev=496949&r1=496948&r2=496949 ============================================================================== --- perl/embperl/trunk/Embperl/Form.pm (original) +++ perl/embperl/trunk/Embperl/Form.pm Tue Jan 16 23:22:19 2007 @@ -58,7 +58,9 @@ $self -> {validate_rules} = [] ; $self -> {toplevel} = $toplevel ; $self -> {valign} = $options -> {valign} || 'top' ; - + $self -> {jsnamespace} = $options -> {jsnamespace} || '' ; + $self -> {jsnamespace} .= '.' if ($self -> {jsnamespace}) ; + bless $self, $class if (!ref $class); $Embperl::FormData::forms{"$self"} = $self ; @@ -455,7 +457,7 @@ # --------------------------------------------------------------------------- # -# init_data - +# init_data - # sub init_data @@ -842,6 +844,16 @@ =item * valign valign for control cells. Defaults to 'top' . + +=item * jsnamespace + +Give the JavaScript Namespace. This allows to load js Files in +a top frame or different frame, which will speed up page loading, +because the browser does not need to reload the js code on every load. + +Example: + + jsnamespace => 'top' =back Modified: perl/embperl/trunk/Embperl/Form/Control/addremove.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/addremove.pm?view=diff&rev=496949&r1=496948&r2=496949 ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/addremove.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/addremove.pm Tue Jan 16 23:22:19 2007 @@ -32,10 +32,10 @@ { my ($class, $args) = @_ ; - + my $self = Embperl::Form::Control -> new($args) ; bless $self, $class ; - + $self -> {removesource} ||= 0 ; $self -> form -> add_code_at_bottom("addremoveInitOptions (document.getElementById('$self->{src}'), document.getElementById('$self->{dest}'), document.getElementById('$self->{name}'), $self->{removesource})") ; return $self ; @@ -46,27 +46,29 @@ 1 ; __EMBPERL__ - + [# --------------------------------------------------------------------------- # # show - output the control #] -[.$ sub show ($self) +[.$ sub show ($self) my $span = $self->{width_percent} ; my $name = $self->{name} ; -$] + my $nsprefix = $self -> form -> {jsnamespace} ; + +$] <td class="cBase cControlBox" colspan="[+ $span +]"> <input type="hidden" id="[+ $name +]" name="[+ $name +]"> -<img src="toleft.gif" title="Hinzufügen" onClick="addremoveAddOption (document.getElementById('[+ $self->{src} +]'), document.getElementById('[+ $self->{dest} +]'), document.getElementById('[+ $name +]'), [+ $self->{removesource} +])"> +<img src="toleft.gif" title="Hinzufügen" onClick="[+ $nsprefix +]addremoveAddOption (document, document.getElementById('[+ $self->{src} +]'), document.getElementById('[+ $self->{dest} +]'), document.getElementById('[+ $name +]'), [+ $self->{removesource} +])"> <br> -<img src="toright.gif" title="Entfernen" onClick="addremoveRemoveOption (document.getElementById('[+ $self->{src} +]'), document.getElementById('[+ $self->{dest} +]'), document.getElementById('[+ $name +]'), [+ $self->{removesource} +])"> +<img src="toright.gif" title="Entfernen" onClick="[+ $nsprefix +]addremoveRemoveOption (document, document.getElementById('[+ $self->{src} +]'), document.getElementById('[+ $self->{dest} +]'), document.getElementById('[+ $name +]'), [+ $self->{removesource} +])"> [# - print "<input class="cStandardButton" type=button value="Hinzufügen" onClick="addremoveAddOption (this.form.elements['$self->{src}'], this.form.elements['$self->{dest}'], this.form.elements['$self->{name}'], $self->{removesource})">\n" ; - print "<input class="cStandardButton" type=button value="Entfernen" onClick="addremoveRemoveOption (this.form.elements['$self->{src}'], this.form.elements['$self->{dest}'], this.form.elements['$self->{name}'], $self->{removesource})">\n" ; + print "<input class="cStandardButton" type=button value="Hinzufügen" onClick="[+ $nsprefix +]addremoveAddOption (document, this.form.elements['$self->{src}'], this.form.elements['$self->{dest}'], this.form.elements['$self->{name}'], $self->{removesource})">\n" ; + print "<input class="cStandardButton" type=button value="Entfernen" onClick="[+ $nsprefix +]addremoveRemoveOption (document, this.form.elements['$self->{src}'], this.form.elements['$self->{dest}'], this.form.elements['$self->{name}'], $self->{removesource})">\n" ; #] </td> [$endsub$] @@ -82,12 +84,12 @@ =head1 SYNOPSIS - { + { type => 'addremove', name => 'foo', - src => 'src_select_name', - dest => 'dest_select_name', - removesource => 1, + src => 'src_select_name', + dest => 'dest_select_name', + removesource => 1, } =head1 DESCRIPTION @@ -115,7 +117,7 @@ =head3 removesource -If set to a true value the items will be removed from the source select box and +If set to a true value the items will be removed from the source select box and move to the destionation box. If set to false, the items will be copied. =head1 Author Modified: perl/embperl/trunk/Embperl/Form/Control/checkbox.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/checkbox.pm?view=diff&rev=496949&r1=496948&r2=496949 ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/checkbox.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/checkbox.pm Tue Jan 16 23:22:19 2007 @@ -44,21 +44,22 @@ 1 ; __EMBPERL__ - + [# --------------------------------------------------------------------------- # # show_control - output the control #] -[.$ sub show_control ($self) +[.$ sub show_control ($self) my $name = $self -> {name} ; my $val = $self -> {value} || 1 ; + my $nsprefix = $self -> form -> {jsnamespace} ; push @{$self -> form -> {fields2empty}}, $name ; -$] +$] <input type="checkbox" class="cBase cControlCheckbox" name="[+ $name +]" value="[+ $val +]" -[$if ($self -> {sublines} || $self -> {subobjects}) $] OnClick="show_checked(this)" [$endif$] +[$if ($self -> {sublines} || $self -> {subobjects}) $] OnClick="[+ $nsprefix +]show_checked(document, this)" [$endif$] > [$endsub$] @@ -73,9 +74,9 @@ =head1 SYNOPSIS - { + { type => 'checkbox', - text => 'blabla', + text => 'blabla', name => 'foo', value => 'bar' } @@ -95,7 +96,7 @@ Specifies the name of the checkbox control -=head3 text +=head3 text Will be used as label for the checkbox control Modified: perl/embperl/trunk/Embperl/Form/Control/grid.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/grid.pm?view=diff&rev=496949&r1=496948&r2=496949 ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/grid.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/grid.pm Tue Jan 16 23:22:19 2007 @@ -33,10 +33,10 @@ { my ($class, $args) = @_ ; - + my $self = Embperl::Form::ControlMultValue -> new($args) ; bless $self, $class ; - + $self -> {width} = 1 ; return $self ; } @@ -44,48 +44,48 @@ # --------------------------------------------------------------------------- # -# get_on_show_code +# get_on_show_code # # retuns js code that should be excuted when form becomes visible # -sub get_on_show_code +sub get_on_show_code { my ($self) = @_ ; return "switch_grid('$self->{id}')"; } # --------------------------------------------------------------------------- - + sub get_object { my $self = shift; return 'grid-entry'; - } + } -# -------------------------------------------------------------------------------------- ---- +# -------------------------------------------------------------------------------------- ---- sub gridname { return 'cGridSimple'; - } - -# ------------------------------------------------------------------------------------------ + } + +# ------------------------------------------------------------------------------------------ sub prepare_fdat { my $self = shift; - + my %list; my $gridname = $self->gridname; - my $ldap = $epreq->{ldap}; - + my $ldap = $epreq->{ldap}; + foreach my $entry (keys %fdat) { next if ($entry !~ /_($gridname)_/); - + if( $entry =~ /^_grid_[^_]+_([^_]+)_(\d+)/ ) { @@ -95,19 +95,19 @@ $list{$index}->{$name} = $value; delete $fdat{$entry}; } - } - + } + my @entries; - + foreach my $index (keys %list) { my $entry = $list{$index}; $entry->{address} =~ s/^--(.*)--$//; - $entry->{param} =~ s/^--(.*)--$//; + $entry->{param} =~ s/^--(.*)--$//; my $attr = $ldap->joinAttrValue([$index,$entry->{active},$entry->{param}]); push @entries,$attr; - } - + } + $fdat{$self->get_object} = join ("\t",@entries); } @@ -118,39 +118,39 @@ sub get_data { my $self = shift; - my $ldap = $epreq->{ldap}; - my @data; + my $ldap = $epreq->{ldap}; + my @data; my @create = ( { - param => '-- Bitte Daten eintragen --', + param => '-- Bitte Daten eintragen --', active => 0, } ) ; - + my @entries = split("\t",$fdat{$self->get_object}); - + foreach my $entry (@entries) { - my ($index,$active,$param) = $ldap->splitAttrValue($entry); + my ($index,$active,$param) = $ldap->splitAttrValue($entry); my $field = {}; $param ||= $self->empty_line; $field->{active} = $active; - $field->{param} = $param; - + $field->{param} = $param; + push @data,$field; - } - - @data = @create if (! @data); - + } + + @data = @create if (! @data); + return (\@data, \@create) ; } - + sub init { - my ($self) = @_; - $self -> {gridname} = $self -> gridname ; - ($self -> {data}, $self -> {create}) = $self -> get_data ; + my ($self) = @_; + $self -> {gridname} = $self -> gridname ; + ($self -> {data}, $self -> {create}) = $self -> get_data ; } sub trclass { 'cGridData' } @@ -205,20 +205,20 @@ #print STDERR Data::Dumper::Dumper($attr2write); return $attr2write; } - + 1 ; __EMBPERL__ - + [# --------------------------------------------------------------------------- # # show - output the control #] -[.$ sub show ($self) +[$ sub show ($self) my $span = ($self->{width_percent}) ; $] @@ -255,7 +255,7 @@ my ($self,$hidden) = @_; if($hidden) - { + { $grid_data = $self -> {create}; $trclass = $self -> hiddentrclass ; } @@ -282,7 +282,7 @@ $epreq -> $method ($field); } - -] + -] [$if($field->{'type'} eq 'checkbox')$] <TD id="[+$domid+]" class="cGrid[+ ucfirst(lc($field->{'type'}))+]"><input name="[+$domid+]" type="checkbox" value="1" [$if($val)$]checked[$endif$]></TD> @@ -311,12 +311,12 @@ </TR> [- $id++;-] [$endforeach$] - [-$self->{currentid} = $id;-] + [-$self->{currentid} = $id;-] [$ endsub $] [# #--- draw_grid_table ----# #] [.# ################################################################################################ - draw_grid_control Erzeugt die Buttons zur Grid Steuerung + draw_grid_control Erzeugt die Buttons zur Grid Steuerung ################################################################################################ #] [$ sub draw_grid_control $] [.- @@ -325,16 +325,16 @@ <table class="control" align="center" cellpadding=0 cellspacing=0 border=0 rules="none" > <TR class="control"> <TD colspan="[+self->{'control_colspan'}+]" align="center"> - <input class="cStandardButton" type="button" id="cmdAdd" name="-add" value="Hinzufügen" onclick="appendRow('[+$self->{'appendline_for_js'}+]')" title="Hinzufügen"> - <input class="cStandardButton" type="button" id="cmdDelete" name="-delete" value="Löschen" onclick="delete_from_form('[+$self->{'appendline_for_js'}+]')" title="Löschen"> + <input class="cStandardButton" type="button" id="cmdAdd" name="-add" value="Hinzufügen" onclick="[+ $nsprefix +]appendRow('[+$self->{'appendline_for_js'}+]')" title="Hinzufügen"> + <input class="cStandardButton" type="button" id="cmdDelete" name="-delete" value="Löschen" onclick="[+ $nsprefix +]delete_from_form('[+$self->{'appendline_for_js'}+]')" title="Löschen"> </TD> </TR> - </table> + </table> [$ endsub $] [# #--- draw_grid_control ----# #] [.# ################################################################################################ - draw_grid_header Erzeugt den Tabellenkopf + draw_grid_header Erzeugt den Tabellenkopf ################################################################################################ #] [$ sub draw_grid_header $] [- @@ -346,7 +346,7 @@ [$if ($gridfields->[$i]->{text} )$]<TD class="cGridHeader" [$ if ($gridfields->[$i]->{sorted})$]axis="sorted"[$endif$] [$if($width = $gridfields->[$i]->{width})$]width="[+$width+]"[$endif$]>[+$gridfields->[$i]->{text}+]</TD>[$endif$] [* } *] </TR> -[$ endsub $] +[$ endsub $] [# #--- draw_grid_header ----# #] [# ----------------------------------------------------------------------------- @@ -355,23 +355,23 @@ #] [$ sub show_grid_title $] -[- +[- ($self) = @_; -] <table class="cBase cGridTitle"> <tr class="cTableRow"> - <td class="cBase cGridLabelBox">[+ $self->{text} +]</td> + <td class="cBase cGridLabelBox">[+ $self->{text} +]</td> <td class="cBase cGridControlBox"> - <img src="button_neu.gif" id="cmdAdd" name="-add" title="Zeile Hinzufügen" onclick="appendRow('[+$self->{'appendline_for_js'}+]')"> - <img src="button_loeschen.gif" id="cmdDelete" name="-delete" title="Markierte Zeile Löschen" onclick="delete_from_form('[+$self->{'appendline_for_js'}+]')"> - </td> + <img src="button_neu.gif" id="cmdAdd" name="-add" title="Zeile Hinzufügen" onclick="[+ $nsprefix +]appendRow('[+$self->{'appendline_for_js'}+]')"> + <img src="button_loeschen.gif" id="cmdDelete" name="-delete" title="Markierte Zeile Löschen" onclick="[+ $nsprefix +]delete_from_form('[+$self->{'appendline_for_js'}+]')"> + </td> </tr> -</table> +</table> [$ endsub $] [.# ################################################################################################ - draw_table_id Zeigt die DOM Id der Tabelle an - ################################################################################################ #] + draw_table_id Zeigt die DOM Id der Tabelle an + ################################################################################################ #] [$ sub draw_table_id $][- ($self) = @_;-][+$self -> {id} +][$ endsub $] [# #--- draw_title ----# #] @@ -379,34 +379,29 @@ [.# ################################################################################################ - show Erzeugt eine dynamische Tabelle - + show Erzeugt eine dynamische Tabelle + in objektspezifische Grid-Daten Struktur : - + gridfields = Felder der Grid-Tabelle (angelehnt an das fields Format) griddata = Datensatz mit den Werten der Tabelle initdata = Datensatz mit den initialen Werten der Tabelle names2display = (optional) Arrayref mit den Titeln des Tabellenkopfes title = Titel der Grid-Tabelle trclass = css Klasse der Tabellenzeilen - hiddentrclass = (optional) css Klasse für versteckte Tabellenfelder + hiddentrclass = (optional) css Klasse für versteckte Tabellenfelder ################################################################################################ #] - + [$ sub showgrid $] [.- ($self) = @_; $self -> init() ; -$epreq -> {'onSubmitLdapData'} = $self -> onSubmit ; +$epreq -> {'onSubmitLdapData'} = $self -> onSubmit ; +$nsprefix = $self -> form -> {jsnamespace} ; -] -[.# -<link rel="stylesheet" type="text/css" href="/grid.css"> -<link rel="stylesheet" type="text/css" href="/base.css"> -<SCRIPT src="/js/TableCtrl.js"></SCRIPT> -#] - [- $self->show_grid_title; -] <table class="cBase cGridTable" id="[- $self->draw_table_id; -]" name="[- $self->draw_table_id; -]"> [- $self->draw_grid_header; -] @@ -427,7 +422,7 @@ </div> <SCRIPT language="javascript"> -init('[- $self->draw_table_id; -]'); +[+ $nsprefix +]init('[- $self->draw_table_id; -]'); </SCRIPT> [$endsub$] Modified: perl/embperl/trunk/Embperl/Form/Control/radio.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/radio.pm?view=diff&rev=496949&r1=496948&r2=496949 ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/radio.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/radio.pm Tue Jan 16 23:22:19 2007 @@ -38,20 +38,20 @@ my $set = !defined ($fdat{$name})?1:0 ; my $filter = $self -> {filter} ; - my $val ; + my $val ; my $i = 0 ; if ($set) { - foreach $val ((@$addtop, @$values, @$addbottom)) + foreach $val ((@$addtop, @$values, @$addbottom)) { if (!defined ($filter) || (ref $val?$val -> [0]:$val =~ /$filter/i)) { - $fdat{$name} = ref $val?$val -> [0]:$val ; + $fdat{$name} = ref $val?$val -> [0]:$val ; last ; } } - } + } $self -> show_control ($req, "^\Q$fdat{$name}\\E\$", $values, $options) ; } @@ -74,6 +74,7 @@ my $addbottom= $self -> {addbottom} || [] ; my $max = @$values ; my $set = !defined ($fdat{$name})?1:0 ; + my $nsprefix = $self -> form -> {jsnamespace} ; my $val ; my $i = 0 ; @@ -106,7 +107,7 @@ [$if !defined ($filter) || ($val =~ /$filter/i) $] [.- $fdat{$name} = $val, $set = 0 if ($set) ; -] [+ do { local $escmode = 0 ; $tr }+]<td><input type="radio" name="[+ $name +]" value="[+ $val +]" - [$if ($self -> {sublines} || $self -> {subobjects}) $] OnClick="show_radio_checked(this,[+ $i +],[+ $max +])" [$endif$] + [$if ($self -> {sublines} || $self -> {subobjects}) $] OnClick="[+ $nsprefix +]show_radio_checked(document, this,[+ $i +],[+ $max +])" [$endif$] ></td><td>[+ $options ->[$i] || $val +]</td>[+ do { local $escmode = 0 ; $trend }+] [$endif$] [* $i++ ; *] Modified: perl/embperl/trunk/Embperl/Form/Control/select.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/select.pm?view=diff&rev=496949&r1=496948&r2=496949 ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/select.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/select.pm Tue Jan 16 23:22:19 2007 @@ -53,11 +53,12 @@ $filter ||= $self -> {filter} ; my $addtop = $self -> {addtop} || [] ; my $addbottom= $self -> {addbottom} || [] ; + my $nsprefix = $self -> form -> {jsnamespace} ; my $val ; my $i = 0 ; $] <select class="cBase cControl" name="[+ $name +]" id="[+ $name +]" -[$if ($self -> {sublines} || $self -> {subobjects}) $] OnChange="show_selected(this)" [$endif$] +[$if ($self -> {sublines} || $self -> {subobjects}) $] OnChange="[+ $nsprefix +]show_selected(document, this)" [$endif$] [$if ($self -> {rows}) $] size="[+ $self->{rows} +]" [$endif$] > [$ foreach $val (@$addtop) $] Modified: perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm?view=diff&rev=496949&r1=496948&r2=496949 ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm Tue Jan 16 23:22:19 2007 @@ -50,56 +50,63 @@ my ($values, $options) = $self -> get_values ($req) ; my $name = $self -> {name} ; - $filter ||= $self -> {filter} ; - my $addtop = $self -> {addtop} || [] ; - my $addbottom= $self -> {addbottom} || [] ; - my $val ; - my $i = 0 ; + #$filter ||= $self -> {filter} ; + #my $addtop = $self -> {addtop} || [] ; + #my $addbottom= $self -> {addbottom} || [] ; + my $nsprefix = $self -> form -> {jsnamespace} ; my $jsname = $name ; $jsname =~ s/[^a-zA-Z0-9]/_/g ; $self -> {size} ||= 75 / ($self -> {width} || 2) ; my $initval ; + my $fdatval = $fdat{$name} ; + my $i = 0 ; + foreach (@$values) + { + if ($_ eq $fdatval) + { + $initval = $options->[$i] ; + last ; + } + $i++ ; + } + $] -<script type="text/javascript" src="/js/prototype.js"></script> -<script type="text/javascript" src="/js/effects.js"></script> -<script type="text/javascript" src="/js/controls.js"></script> <div class="cAutoCompDiv"> + +[# --- Popup --- #] +<div class="cPopupMenu" id="_menu_[+ $jsname +]" +style="display:none; position: absolute; top: 16px; z-index: 99; margin: 0px; padding: 0px; +border: 2px grey outset; background: white; text-align: center;" +> + +<a href="#" onClick="location.href='ldapTreeData.epl?-id=' + encodeURIComponent([+ $jsname +]Popup.idval)">Anzeigen</a> +<a href="#" onClick="alert('ldapTreeData.epl?-id=' + [+ $jsname +]Popup.idval)">Durchsuchen</a> +<a href="ldapTreeData?-id=">Neu</a> + +<div class="cPopupContainer" id="_info_[+ $jsname +]" style="margin: 0px; padding: 0px;"> +</div> +</div> + +[# --- Autocomplete --- #] <div class="cAutoCompContainer" id="_cont_[+ $jsname +]" style="display:none"> -[$ foreach $val (@$values) $] - <li id='[+ $val +]'>[+ $options->[$i] || $val +]</li> - [* - $initval = $options->[$i] if ($val eq $fdat{$name}) ; - $i++ ; - *] -[$endforeach$] </div> + +[# --- input --- #] <input class="cBase cControl cAutoCompInput" id="_inp_[+ $jsname +]" type="text" [$if $self -> {size} $]size="[+ $self->{size} +]"[$endif$] value="[+ $initval +]" > -<div class="cAutoCompArrow" onclick="[+ $jsname +]onClickArrow()"> </div> +<div class="cAutoCompArrow" onclick="[+ $jsname +]Popup.showPopup()" +> </div> <input type="hidden" name="[+ $name +]" id="[+ $name +]" > </div> - <script type="text/javascript"> - function [+ $jsname +]onClickArrow(id,obj) - { - i = document.getElementById ('_inp_[+ $jsname +]') ; - if (i.value == '') - i.value = '*' ; - c = document.getElementById ('_cont_[+ $jsname +]') ; - if (c.style.display == 'none') - { - [+ $jsname +]AutoComp.render(); - } - else - [+ $jsname +]AutoComp.hide(); - i.focus() ; - } +[# --- interface --- #] +<script type="text/javascript"> + function [+ $jsname +]savevalue(inputelem, lielem) { f = document.getElementById ('[+ $name +]') ; - //alert (inputelem.value + ' , ' + lielem.value) ; if (!lielem || inputelem.value == '' || lielem.value == '') { f.value = '' ; @@ -107,17 +114,18 @@ } else f.value = lielem.id ; - //alert (lielem.value + ' = ' + lielem.id) ; } - [+ $jsname +]AutoComp = new Ajax.Autocompleter('_inp_[+ $jsname +]','_cont_[+ $jsname +]', + [+ $jsname +]Popup = new [+ $nsprefix +]Popup (document.getElementById('_menu_[+ $jsname +]'), + document.getElementById('[+ $name +]'), + document.getElementById('_info_[+ $jsname +]'), + document.getElementById('_inp_[+ $jsname +]')) ; + + [+ $jsname +]AutoComp = new [+ $nsprefix +]Ajax.Autocompleter(document.getElementById('_inp_[+ $jsname +]'),document.getElementById('_cont_[+ $jsname +]'), '/ebos/datasrc.exml', {paramName: "query", parameters: "datasrc=[+ $self -> {datasrc} +]", frequency: 0.3, afterUpdateElement: [+ $jsname +]savevalue}) ; [+ $jsname +]AutoComp.updateChoices ; - </script> - - - +</script> [$endsub$] Modified: perl/embperl/trunk/Embperl/Form/Control/tabs.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/tabs.pm?view=diff&rev=496949&r1=496948&r2=496949 ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/tabs.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/tabs.pm Tue Jan 16 23:22:19 2007 @@ -100,6 +100,7 @@ my $name = $self -> {name} ; my $dataval = $fdat{$name} || $values -> [0] ; my $activeid = $self -> get_active_id ; + my $nsprefix = $self -> form -> {jsnamespace} ; my $val ; my $i = 0 ; @@ -124,7 +125,7 @@ my $js = join (';', @switch_code) ; *] <td class="cBase [+ $cellclass +]"><div class="cBase [+ $divclass +]" id="__tabs_[+ $id +]"> - <a href="#" onClick="tab_selected('[+ $id +]','[+ $name +]'); [.+ do { local $escmode = 0 ; $js } +]" style="color:black; text-decoration: none;">[+ $options ->[$i] || $val +]</a></div></td> + <a href="#" onClick="[+ $nsprefix +]tab_selected(document, '[+ $id +]','[+ $name +]'); [.+ do { local $escmode = 0 ; $js } +]" style="color:black; text-decoration: none;">[+ $options ->[$i] || $val +]</a></div></td> [* $i++ *] [$endforeach $] <td class="cBase cTabCellBlank"> </td> --------------------------------------------------------------------- To unsubscribe, e-mail: embperl-cvs-unsubscribe [at] perl For additional commands, e-mail: embperl-cvs-help [at] perl
|