From 0b5614ad1c157015e7ca3f6ef8490baca879530c Mon Sep 17 00:00:00 2001 From: Doug Bell Date: Tue, 21 Dec 2010 14:32:03 -0600 Subject: [PATCH] fix tabs and tabsets in FormBuilder --- lib/WebGUI/FormBuilder.pm | 32 ++++++++++++++++---------------- lib/WebGUI/FormBuilder/Tabset.pm | 26 ++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 16 deletions(-) diff --git a/lib/WebGUI/FormBuilder.pm b/lib/WebGUI/FormBuilder.pm index 77ee52c61..36a3c3890 100644 --- a/lib/WebGUI/FormBuilder.pm +++ b/lib/WebGUI/FormBuilder.pm @@ -257,26 +257,26 @@ sub toTemplateVars { push @{$fieldsetLoop}, $props; } } - # $prefix_tabloop + # $prefix_tabsetloop # name - # label - # fieldloop - # ... - # fieldsetloop - # ... # tabloop - # ... - # $prefix_tab_$tabName - if ( @{$self->tabs} ) { - my $tabLoop = []; - $var->{ "${prefix}_tabLoop" } = $tabLoop; - for my $tab ( @{$self->tabs} ) { - my $name = $tab->name; - my $props = $tab->toTemplateVars; + # fieldloop + # ... + # fieldsetloop + # ... + # tabsetloop + # ... + # $prefix_tabset_$tabsetName + if ( @{$self->tabsets} ) { + my $tabsetLoop = []; + $var->{ "${prefix}_tabsetLoop" } = $tabsetLoop; + for my $tabset ( @{$self->tabsets} ) { + my $name = $tabset->name; + my $props = $tabset->toTemplateVars; for my $key ( keys %{$props} ) { - $var->{ "${prefix}_tab_${name}_${key}" } = $props->{key}; + $var->{ "${prefix}_tabset_${name}_${key}" } = $props->{key}; } - push @{$tabLoop}, $props; + push @{$tabsetLoop}, $props; } } diff --git a/lib/WebGUI/FormBuilder/Tabset.pm b/lib/WebGUI/FormBuilder/Tabset.pm index f3ab4fb2b..e5e966ab7 100644 --- a/lib/WebGUI/FormBuilder/Tabset.pm +++ b/lib/WebGUI/FormBuilder/Tabset.pm @@ -139,4 +139,30 @@ sub toHtml { return $html; } +#---------------------------------------------------------------------------- + +=head2 toTemplateVars ( ) + +Return a hashref of template vars to re-create this tabset + +=cut + +sub toTemplateVars { + my ( $self ) = @_; + my $var = {}; + + $var->{ tabs } = []; + for my $tab ( $self->tabs ) { + my $name = $tab->name; + my $props = $tab->toTemplateVars; + $var->{ "tabs_${name}" } = $tab->toHtml; + push @{$var->{tabs}}, $props; + for my $key ( %$props ) { + $var->{ "tabs_${name}_${key}" } = $props->{$key}; + } + } + + return $var; +} + 1;