
richter at apache
Dec 30, 2011, 6:36 AM
Post #1 of 1
(224 views)
Permalink
|
|
svn commit: r1225835 - in /perl/embperl/trunk/Embperl: Form.pm Form/Control/datetime.pm Form/Control/grid.pm Form/Control/mult.pm Form/Control/selectdyn.pm Form/Control/tabs.pm
|
|
Author: richter Date: Fri Dec 30 14:36:02 2011 New Revision: 1225835 URL: http://svn.apache.org/viewvc?rev=1225835&view=rev Log: Support multiple forms in one html document Modified: perl/embperl/trunk/Embperl/Form.pm perl/embperl/trunk/Embperl/Form/Control/datetime.pm perl/embperl/trunk/Embperl/Form/Control/grid.pm perl/embperl/trunk/Embperl/Form/Control/mult.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?rev=1225835&r1=1225834&r2=1225835&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form.pm (original) +++ perl/embperl/trunk/Embperl/Form.pm Fri Dec 30 14:36:02 2011 @@ -906,7 +906,7 @@ onSubmit="v=doValidate; doValidate=1; re my $parent = $self -> parent_form ; my $class = $self -> {options}{classdiv} || ($parent -> {noframe}?'ef-tabs-border-u':'ef-tabs-border') ; $] -<div id="[+ $self -> {unique_id} +]_[+ $self->{id} +]" +<div id="[+ $self -> {unique_id} +]_[+ $self->{id} +]" class="ef-tabs-content" [$if ($activeid && $self->{id} ne $activeid) $] style="display: none" [$endif$] > [$if (!$self -> {noframe}) $]<table class="[+ $class +]"><tr><td class="ef-tabs-content-cell"> [$endif$] Modified: perl/embperl/trunk/Embperl/Form/Control/datetime.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/datetime.pm?rev=1225835&r1=1225834&r2=1225835&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/datetime.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/datetime.pm Fri Dec 30 14:36:02 2011 @@ -159,23 +159,16 @@ __EMBPERL__ $self -> {size} ||= 80 / ($self -> {width} || 2) ; my $class = $self -> {class} ||= '' ; -my $nsprefix = $self -> form -> {jsnamespace} ; +my $fullid = $self -> form -> {unique_id} . '_' . $self ->{id} ; $] -<input type="text" name="[+ $self -> {force_name} || $self -> {name} +]" [.+ do { local $escmode = 0 ; $self -> get_std_control_attr() } +] +<input type="text" name="[+ $self -> {force_name} || $self -> {name} +]" [.+ do { local $escmode = 0 ; $self -> get_std_control_attr($fullid) } +] [$if $self -> {size} $]size="[+ $self->{size} +]"[$endif$] [$if $self -> {maxlength} $]maxlength="[+ $self->{maxlength} +]"[$endif$] > -[#<xxscript type="text/javascript"> - [+ $nsprefix +]Calendar.setup( - { - inputField : document.getElementById('[+ $self -> {id} +]'), // ID of the input field - ifFormat : "%d.%m.%Y", // the date format - //button : "trigger" // ID of the button - } - ); -</xxscript> -#] +<script type="text/javascript"> + $('#[+ $fullid +]').datepicker ({ showWeek: true }) ; +</script> [$endsub$] Modified: perl/embperl/trunk/Embperl/Form/Control/grid.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/grid.pm?rev=1225835&r1=1225834&r2=1225835&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/grid.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/grid.pm Fri Dec 30 14:36:02 2011 @@ -247,34 +247,32 @@ __EMBPERL__ my $name = $self -> {name} ; my $span = ($self->{width_percent}) ; my $nsprefix = $self -> form -> {jsnamespace} ; - my $jsname = $name ; - $jsname =~ s/[^a-zA-Z0-9]/_/g ; - $jsname .= 'Grid' ; my $max = $fdat{"__${name}_max"} ; my $on_grid_change = $self -> {on_grid_change} ; + $self -> {fullid} = $self -> form -> {unique_id} . '_' . $self -> {id} ; $]<table class="ef-element ef-element-width-[+ $self -> {width_percent} +]"> <tr> <td class="ui-label-box" colspan="[+ $span +]"> [.- $fdat{$name} = $self -> {default} if ($fdat{$name} eq '' && exists ($self -> {default})) ; my $span = 0 ; - $self -> show_grid_title ($jsname); + $self -> show_grid_title (); -] - <input type="hidden" name="__[+ $self -> {name} +]_max" id="__[+ $self -> {id} +]_max"> - <table class="cGridTable cBase" id="[+ $self -> {id} +]"> + <input type="hidden" name="__[+ $self -> {name} +]_max" id="__[+ $self -> {fullid} +]_max"> + <table class="cGridTable cBase" id="[+ $self -> {fullid} +]"> [- $self -> show_grid_header ($req); -] [- $self -> show_grid_table ($req) ; -] </table> - [.- $self -> show_grid_title ($jsname) + [.- $self -> show_grid_title () if ($max > $self -> {header_bottom}) -] - <table id="__[+ $self -> {id} +]_newrow" style="display: none"> + <table id="__[+ $self -> {fullid} +]_newrow" style="display: none"> [.- local $req -> {epf_no_script} = 1 ; $self -> show_grid_table_row ($req, '%row%') ; -] </table> <script> - $('#[+ $self -> {id} +]').eplgrid ([$if $on_grid_change $]{'onchange': [+ $on_grid_change +] }[$endif$]) ; + $('#[+ $self -> {fullid} +]').eplgrid ([$if $on_grid_change $]{'onchange': [+ $on_grid_change +] }[$endif$]) ; </script> </td> </tr> @@ -287,26 +285,19 @@ $]<table class="ef-element ef-element-wi # show_grid_title - Zeigt den Titel der Tabelle an #] -[$ sub show_grid_title ($self, $jsname) +[$ sub show_grid_title ($self) $] <table class="cBase cGridTitle"> <tr class="cTableRow"> <td class="cBase cGridLabelBox">[+ $self -> form -> convert_label ($self) +]</td> [$if !($self -> {readonly}) $] <td class="cBase cGridControlBox"> - [# - <img src="[+ $self -> {imagedir} +]/btn_up.gif" id="[+ $self -> {id} +]-up" title="Zeile Hoch"> - <img src="[+ $self -> {imagedir} +]/btn_down.gif" id="[+ $self -> {id} +]-down" title="Zeile runter"> - <img src="[+ $self -> {imagedir} +]/btn_add.gif" id="[+ $self -> {id} +]-add" title="Zeile Hinzufügen Alt-NUM+" > - <img src="[+ $self -> {imagedir} +]/btn_del.gif" id="[+ $self -> {id} +]-del" title="Markierte Zeile Löschen Alt-NUM-" > - #] - <div> - <span class="ui-icon ui-icon-circle-triangle-n ef-icon" id="[+ $self -> {id} +]-up" title="Zeile Hoch"></span> - <span class="ui-icon ui-icon-circle-triangle-s ef-icon" id="[+ $self -> {id} +]-down" title="Zeile Runter"></span> - <span class="ui-icon ui-icon-circle-plus ef-icon" id="[+ $self -> {id} +]-add" title="Zeile Hinzufügen"></span> - <span class="ui-icon ui-icon-circle-minus ef-icon" id="[+ $self -> {id} +]-del" title="Markierte Zeile Löschen"></span> - </div> - + <div> + <span class="ui-icon ui-icon-circle-triangle-n ef-icon" id="[+ $self -> {fullid} +]-up" title="Zeile Hoch"></span> + <span class="ui-icon ui-icon-circle-triangle-s ef-icon" id="[+ $self -> {fullid} +]-down" title="Zeile Runter"></span> + <span class="ui-icon ui-icon-circle-plus ef-icon" id="[+ $self -> {fullid} +]-add" title="Zeile Hinzufügen"></span> + <span class="ui-icon ui-icon-circle-minus ef-icon" id="[+ $self -> {fullid} +]-del" title="Markierte Zeile Löschen"></span> + </div> </td> [$endif$] </tr> @@ -340,7 +331,7 @@ $] my $fields = $self -> {fields} ; my $line2 = $self -> {line2} ; - my $id = $self -> {id}; + my $id = $self -> {fullid}; my $name = $self -> {name} ; my $n = 0 ; my $gridro = $self -> is_readonly () ; @@ -392,7 +383,7 @@ $] [.$ sub show_grid_table ($self, $req) my $name = $self->{name} ; my $fields = $self -> {fields} ; - my $id = $self -> {id}; + my $id = $self -> {fullid}; my $i = 0 ; my $max = $fdat{"__${name}_max"} || 1 ; $] Modified: perl/embperl/trunk/Embperl/Form/Control/mult.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/mult.pm?rev=1225835&r1=1225834&r2=1225835&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/mult.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/mult.pm Fri Dec 30 14:36:02 2011 @@ -112,7 +112,12 @@ sub prepare_fdat } } -sub show { Embperl::Form::Control::show (@_) } +sub show + { + $_[0] -> {fullid} = $_[0] -> form -> {unique_id} . '_' . $_[0] -> {id} ; + Embperl::Form::Control::show (@_) + } + sub show_control_readonly { my $self = shift ; $self -> show_control (@_) } 1 ; @@ -150,11 +155,11 @@ $] my $span = 0 ; -] <div [.+ do { local $escmode = 0 ; $self -> get_std_control_attr() } +]> - <input type="hidden" name="__[+ $self -> {name} +]_max" id="__[+ $self -> {id} +]_max"> - <table class="ef-control-mult-table" id="[+ $self -> {id} +]"> + <input type="hidden" name="__[+ $self -> {name} +]_max" id="__[+ $self -> {fullid} +]_max"> + <table class="ef-control-mult-table" id="[+ $self -> {fullid} +]"> [- $self -> show_grid_table ($req) ; -] </table> - <table id="__[+ $self -> {id} +]_newrow" style="display: none"> + <table id="__[+ $self -> {fullid} +]_newrow" style="display: none"> [.- local $req -> {epf_no_script} = 1 ; $self -> show_grid_table_row ($req, '%row%') ; @@ -164,7 +169,7 @@ $] [$if (! $self -> is_readonly ()) $] <[$if $noscript $]x-[$endif$]script> - $('#[+ $self -> {id} +]').eplgrid ([$if $on_grid_change $]{'onchange': [+ $on_grid_change +] }[$endif$]) ; + $('#[+ $self -> {fullid} +]').eplgrid ([$if $on_grid_change $]{'onchange': [+ $on_grid_change +] }[$endif$]) ; </[$if $noscript $]x-[$endif$]script> [$endif$] [$endif$] @@ -180,7 +185,7 @@ $] [.$ sub show_grid_table_row ($self, $req, $i) $field = $self -> {fields}[0] ; - $id = $self -> {id}; + $id = $self -> {fullid}; $name = $self -> {name} ; my $jsname = $name ; $jsname =~ s/[^a-zA-Z0-9]/_/g ; @@ -216,13 +221,8 @@ $] $] [$if (! $self -> is_readonly ()) $] - [# - <img src="[+ $self -> {imagedir} +]/btn_plus.gif" id="[+ $self -> {id} +]-add" title="Zeile Hinzufügen"> - <img src="[+ $self -> {imagedir} +]/btn_minus.gif" id="[+ $self -> {id} +]-del" title="Zeile Löschen"> - #] - - <span class="ui-icon ui-icon-circle-plus ef-icon" id="[+ $self -> {id} +]-add" title="Zeile Hinzufügen"></span> - <span class="ui-icon ui-icon-circle-minus ef-icon" id="[+ $self -> {id} +]-del" title="Zeile Löschen"></span> + <span class="ui-icon ui-icon-circle-plus ef-icon" id="[+ $self -> {fullid} +]-add" title="Zeile Hinzufügen"></span> + <span class="ui-icon ui-icon-circle-minus ef-icon" id="[+ $self -> {fullid} +]-del" title="Zeile Löschen"></span> [$endif$] [$endsub$] @@ -235,7 +235,7 @@ $] [.$ sub show_grid_table ($self, $req) my $name = $self->{name} ; my $fields = $self -> {fields} ; - my $id = $self -> {id}; + my $id = $self -> {fullid}; my $i = 0 ; my $max = $fdat{"__${name}_max"} || 1 ; $] Modified: perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm?rev=1225835&r1=1225834&r2=1225835&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm Fri Dec 30 14:36:02 2011 @@ -22,37 +22,6 @@ use base 'Embperl::Form::ControlMultValu use Embperl::Inline ; -# --------------------------------------------------------------------------- -# -# show_control_readonly - output readonly control -# - -sub xshow_control_readonly - { - my ($self, $req) = @_ ; - - my $name = $self -> {name} ; - - my ($values, $options) = $self -> get_values ($req) ; - my $initval ; - my $fdatval = $fdat{$name} ; - - my $i = 0 ; - foreach (@$values) - { - if ($_ eq $fdatval) - { - $initval = $options->[$i] ; - last ; - } - $i++ ; - } - - $self -> {value} = $initval ; - $self -> SUPER::show_control_readonly ($req, undef, 'cControlReadonlyLink') ; - $self -> show_hidden ($req) ; - } - # --------------------------------------------------------------------------- @@ -62,8 +31,6 @@ sub show_control_addons } - - 1 ; @@ -104,7 +71,7 @@ control_link_setup($( "#_inp_[+ $self -> #my $addbottom= $self -> {addbottom} || [] ; my $noscript = $req -> {epf_no_script} ; my $nsprefix = $self -> form -> {jsnamespace} ; - my $jsname = $name ; + my $jsname = $self -> form -> {unique_id} . '_' . $name ; if ($noscript) { $jsname =~ s/[^a-zA-Z0-9%]/_/g ; @@ -155,111 +122,6 @@ autocomplete_setup($( "#_inp_[+ $jsname [$endsub$] -[# --------------------------------------------------------------------------- -# -# show_control - output the control -#] - -[.$ sub xshow_control ($self, $req, $filter) - - my ($values, $options) = $self -> get_values ($req) ; - my $name = $self -> {name} ; - #$filter ||= $self -> {filter} ; - #my $addtop = $self -> {addtop} || [] ; - #my $addbottom= $self -> {addbottom} || [] ; - my $noscript = $req -> {epf_no_script} ; - my $nsprefix = $self -> form -> {jsnamespace} ; - my $jsname = $name ; - if ($noscript) - { - $jsname =~ s/[^a-zA-Z0-9%]/_/g ; - } - else - { - $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++ ; - } - $target = '' ; - $target = "parent.frames.$self->{link_target}." if ($self -> {link_target}) ; - $showurl = $self -> {showurl} ||= 'ldapTreeData.epl?-id=' ; - $datasrcurl = $self -> {datasrcurl} ||= '/epfctrl/datasrc.exml' ; - $datasrcparam = $self -> {datasrcparam} ||= '/epfctrl/datasrc.exml' ; -$] - -<div class="cAutoCompDiv"> - -[# --- Popup --- #] -<div class="cPopupMenu" id="_menu_[+ $jsname +]" -style="display:none; position: absolute; top: 15px; z-index: 99; margin: 0px; padding: 0px; -border: 2px grey outset; background: white; text-align: left;" -> - -<a href="#" onClick="[+ $target +]location.href='[.+ do { local $escmode = 0 ; $showurl } +]' + encodeURIComponent([+ $jsname +]Popup.idval)">Anzeigen</a> - -[.* - my $datasrc_ctrls = $self -> get_datasource_controls ($req) ; -*] -[$if $datasrc_ctrls $] -[$foreach my $ctrl (@$datasrc_ctrls) $] -<a href="[.+ do { local $escmode = 0 ; $ctrl->{href} } +]" target="[+ $self->{link_target} +]" onClick="[+ $ctrl->{onclick} +]">[+ $ctrl -> {text} +]</a> -[#<a class="cControlAddonA" href="[+ $ctrl->{href} +]" onClick="[+ $ctrl->{onclick} +]">[$if $ctrl -> {icon} $]<img class="cControlAddonImg" src="[+ $ctrl -> {icon} +]" title="[+ $ctrl -> {text} +]" alt="[+ $ctrl -> {text} +]">[$else$][+ $ctrl -> {text} +][$endif$]</a>#] -[$endforeach$] -[$endif$] - - -[# -<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"> -</div> - -[# --- input --- #] -<input class="cBase cControl cAutoCompInput cControlWidthSelectDyn" id="_inp_[+ $jsname +]" type="text" -[$if $self -> {size} $]size="[+ $self->{size} +]"[$endif$] -value="[+ $initval +]" -onDblClick="u='[.+ do { local $escmode = 0 ; $showurl } +]' + encodeURIComponent(document.getElementById('[+ $name +]').value);[+ $target +]location.href=u;" -onContextMenu="[+ $jsname +]Popup.showPopup(); return false ;" -> -[# -<div class="cAutoCompArrow" onclick="[+ $jsname +]Popup.showPopup()" -> </div> -#] -<input type="hidden" name="[+ $name +]" id="[+ $name +]" > -</div> - -[# --- interface --- #] -<[$if $noscript $]x-[$endif$]script type="text/javascript"> - - [+ $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 +]'), - '[.+ do { local $escmode = 0 ; $datasrcurl } +]', {paramName: "query", parameters: "datasrc=[+ $self -> {datasrc} +]", frequency: 0.3, update: document.getElementById('[+ $name +]')}) ; - [+ $jsname +]AutoComp.updateChoices ; - -</[$if $noscript $]x-[$endif$]script> - -[$endsub$] __END__ , afterUpdateElement: [+ $jsname +]savevalue Modified: perl/embperl/trunk/Embperl/Form/Control/tabs.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/tabs.pm?rev=1225835&r1=1225834&r2=1225835&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/tabs.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/tabs.pm Fri Dec 30 14:36:02 2011 @@ -120,7 +120,7 @@ __EMBPERL__ my $line = 0 ; $] -<td class="ef-tabs-content-cell" colspan="[+ $span +]"> +<div class="ef-tabs-content-cell" colspan="[+ $span +]" id="[+ $fullname +]"> [$ while ($more) $] <table class="ef-tabs-selector" ><tr class="ef-tabs-selector-row"> [* @@ -144,10 +144,11 @@ $] my $js = join (';', @switch_code) ; my $fullid = $uid . '_' . $id ; *] - <td class="[+ $cellclass +]"><div class="[+ $divclass +]" + <td class="[+ $cellclass +]"><div class="ef-tabs-div [+ $divclass +]" [$ if $i - $start_i == 0 $]style="border-left: black 1px solid" [$endif$] - id="__tabs_[+ $fullid +]"> - <a href="#" onClick="[+ $nsprefix +]tab_selected(document, '[+ $fullid +]','[+ $fullname +]'); [.+ do { local $escmode = 0 ; $js } +]" style="color:black; text-decoration: none;">[+ $options ->[$i] || $val +]</a></div></td> + id="__tabs_[+ $fullid +]">[+ $options ->[$i] || $val +] + [#<a href="#" onClick="[+ $nsprefix +]tab_selected(document, '[+ $fullid +]','[+ $fullname +]'); [.+ do { local $escmode = 0 ; $js } +]" style="color:black; text-decoration: none;">[+ $options ->[$i] || $val +]</a>#] + </div></td> [.* $i++ ; if ($i - $start_i >= $tabs && @$values > $i) { @@ -160,8 +161,9 @@ $] [$if ($i == @$values) $]<td class="ef-tabs-cell-blank"> </td>[$endif$] </tr></table> [$endwhile$] - <input type="hidden" name="[+ $name +]" id="[+ $fullname +]" value="[+ $uid +]_[+ $activeid +]"> -</td> + [#<input type="hidden" name="[+ $name +]" id="[+ $fullname +]" class="ef-field-tab_select" value="[+ $uid +]_[+ $activeid +]">#] +</div> +<script >$('#[+ $fullname +]').ef_tabs ()</script> [$endsub$] __END__ --------------------------------------------------------------------- To unsubscribe, e-mail: embperl-cvs-unsubscribe [at] perl For additional commands, e-mail: embperl-cvs-help [at] perl
|