Mailing List Archive

svn commit: r1476766 - in /perl/embperl/trunk/Embperl: Form.pm Form/Control/dynctrl.pm Form/Control/grid.pm Form/Control/tabs.pm Form/ControlMultValue.pm Form/DataSource.pm
Author: richter
Date: Sun Apr 28 13:37:56 2013
New Revision: 1476766

URL: http://svn.apache.org/r1476766
Log:
Embperl::Form: dynctrl enhancements, tabs, datasource caching

Modified:
perl/embperl/trunk/Embperl/Form.pm
perl/embperl/trunk/Embperl/Form/Control/dynctrl.pm
perl/embperl/trunk/Embperl/Form/Control/grid.pm
perl/embperl/trunk/Embperl/Form/Control/tabs.pm
perl/embperl/trunk/Embperl/Form/ControlMultValue.pm
perl/embperl/trunk/Embperl/Form/DataSource.pm

Modified: perl/embperl/trunk/Embperl/Form.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form.pm?rev=1476766&r1=1476765&r2=1476766&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form.pm (original)
+++ perl/embperl/trunk/Embperl/Form.pm Sun Apr 28 13:37:56 2013
@@ -357,6 +357,7 @@ sub new_controls
local $options -> {disable} = $control -> {disables}[$i] ;
my $subform = $class -> sub_new ($subcontrols, $options, $ctlid, $validate_rules, $self -> {formptr}) ;
$subform -> {text} ||= $control -> {options}[$i] if (exists ($control -> {options}) && $control -> {options}[$i]) ;
+ $subform -> {parent_control} = $control ;
push @ids, $ctlid ;
push @obj, $subform ;
$i++ ;
@@ -1026,13 +1027,18 @@ onSubmit="v=doValidate; doValidate=1; re
[.$ sub show_controls_begin ($self, $req, $activeid)

my $parent = $self -> parent_form ;
-my $class = $self -> {options}{classdiv} || ($parent -> {noframe}?'ef-tabs-border-u':'ef-tabs-border') ;
+my $class = $self -> {options}{classdiv} || ($parent -> {noframe}?'ef-tabs-border-u':'ef-tabs-border') ;
+my $parent_control = $self -> {parent_control} ;
$]
+
+[$if $parent_control && $parent_control -> can('show_subform_controls_begin') $]
+[- $parent_control -> show_subform_controls_begin ($self, $req, $activeid) -]
+[$else$]
<div id="[+ $self -> {unique_id} +]_[+ $self->{id} +]" class="ef-tabs-content"
[$if ($activeid && $self->{id} ne $activeid) $] style="display: none" [$endif$]
>
-[$if (!$self -> {noframe}) $]<div class="ef-tabs-separator"> -> [+ $self -> {text} +]</div><table class="[+ $class +]"><tr><td class="ef-tabs-content-cell"> [$endif$]
-
+[$if (!$self -> {noframe}) $]<table class="[+ $class +]"><tr><td class="ef-tabs-content-cell"> [$endif$]
+[$endif$]
[$endsub$]

[# ---------------------------------------------------------------------------
@@ -1040,10 +1046,15 @@ $]
# show_controls_end - output end of form controls area
#]

-[$sub show_controls_end ($self, $req) $]
-
+[.$sub show_controls_end ($self, $req)
+ my $parent_control = $self -> {parent_control} ;
+$]
+[$if $parent_control && $parent_control -> can('show_subform_controls_end') $]
+[- $parent_control -> show_subform_controls_end ($self, $req) -]
+[$else$]
[$ if (!$self -> {noframe}) $]</td></tr></table> [$endif$]
-</div>
+</div>
+[$endif$]

[$ if (@{$self->{bottom_code}}) $]
<script language="javascript">

Modified: perl/embperl/trunk/Embperl/Form/Control/dynctrl.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/dynctrl.pm?rev=1476766&r1=1476765&r2=1476766&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/dynctrl.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/dynctrl.pm Sun Apr 28 13:37:56 2013
@@ -78,7 +78,7 @@ sub create_ctrl
}

# ----------------------------------------------------------------------------
-
+
sub init_markup
{
my ($self, $req, $grid, $method) = @_ ;

Modified: perl/embperl/trunk/Embperl/Form/Control/grid.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/grid.pm?rev=1476766&r1=1476765&r2=1476766&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/grid.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/grid.pm Sun Apr 28 13:37:56 2013
@@ -182,7 +182,7 @@ sub init_markup
my $fields = $self -> {fields} ;
my $line2 = $self -> {line2} ;

- for ($i = 0; $i <= $max; $i++)
+ foreach $i (0..$max, '%row%')
{
$j = 0 ;
foreach my $field ((@$fields, ($line2?($line2):())))

Modified: perl/embperl/trunk/Embperl/Form/Control/tabs.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/tabs.pm?rev=1476766&r1=1476765&r2=1476766&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/tabs.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/tabs.pm Sun Apr 28 13:37:56 2013
@@ -94,6 +94,41 @@ sub get_active_id

__EMBPERL__

+[$ syntax EmbperlBlocks $]
+
+[. ---------------------------------------------------------------------------
+#
+# show_controls_begin - output begin of form controls area
+#]
+
+[.$ sub show_subform_controls_begin ($self, $form, $req, $activeid)
+
+my $parent = $form -> parent_form ;
+my $class = $parent -> {noframe}?'ef-tabs-border-u':'ef-tabs-border' ;
+$]
+
+<div _ef_name="[+ $form->{id} +]" class="ef-tabs-content"
+[$if ($activeid && $form->{id} ne $activeid) $] style="display: none" [$endif$]
+>
+
+[$if (!$form -> {noframe}) $]<div class="ef-tabs-separator ui-accordion-header ui-helper-reset ui-state-default ui-accordion-icons ui-corner-top"><span class="ui-accordion-header-icon ui-icon ui-icon-triangle-1-s ef-icon" title="Verstecken/Anzeigen"></span><span class="ef-tabs-separator-header-text">[+ $form -> {text} +]</span></div><table class="[+ $class +]"><tr><td class="ef-tabs-content-cell"> [$endif$]
+
+[$endsub$]
+
+[.# ---------------------------------------------------------------------------
+#
+# show_controls_end - output end of form controls area
+#]
+
+[$sub show_subform_controls_end ($self, $form, $req)
+ $]
+
+[$ if (!$form -> {noframe}) $]</td></tr></table> [$endif$]
+</div>
+[$endsub$]
+
+
+
[# ---------------------------------------------------------------------------
#
# show - output the control

Modified: perl/embperl/trunk/Embperl/Form/ControlMultValue.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/ControlMultValue.pm?rev=1476766&r1=1476765&r2=1476766&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/ControlMultValue.pm (original)
+++ perl/embperl/trunk/Embperl/Form/ControlMultValue.pm Sun Apr 28 13:37:56 2013
@@ -49,7 +49,6 @@ sub init
return $self ;
}

-
# ---------------------------------------------------------------------------
#
# get_all_values - returns all values and options, including addtop and addbottom
@@ -69,6 +68,7 @@ sub get_all_values

my $values ;
my $options ;
+ my $nocache = 0 ;

if ($self -> {datasrcobj})
{
@@ -81,7 +81,8 @@ sub get_all_values
{
($values, $options) = $self -> {datasrcobj} -> get_values ($req, $self) ;
$options ||= $values ;
- $req -> {$key} = [$values, $options] ;
+ $nocache = $self -> {datasrcobj} -> values_no_cache ;
+ $req -> {$key} = [$values, $options] if (!$nocache) ;
}
}
else
@@ -117,7 +118,7 @@ sub get_all_values
push @options, map { $_ -> [1] } @$addbottom ;
}

- $req -> {$key} = [\@values, \@options] ;
+ $req -> {$key} = [\@values, \@options] if (!$nocache) ;
return (\@values, \@options) ;
}


Modified: perl/embperl/trunk/Embperl/Form/DataSource.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/DataSource.pm?rev=1476766&r1=1476765&r2=1476766&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/DataSource.pm (original)
+++ perl/embperl/trunk/Embperl/Form/DataSource.pm Sun Apr 28 13:37:56 2013
@@ -51,6 +51,13 @@ sub init
return $self ;
}

+# ---------------------------------------------------------------------------
+#
+# values_no_cache - returns true to inhibit cacheing of values during one request
+#
+
+sub values_no_cache { 0 }
+
# ---------------------------------------------------------------------------
#
# get_values - returns the values and options



---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-cvs-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-cvs-help@perl.apache.org