Mailing List Archive

svn commit: r1637051 - in /perl/embperl/trunk/Embperl: Form.pm Form/Control.pm Form/Control/grid.pm Form/Control/selectdyn.pm Form/ControlMultValue.pm
Author: richter
Date: Thu Nov 6 08:41:11 2014
New Revision: 1637051

URL: http://svn.apache.org/r1637051
Log:
Fix tooltip & readonly

Modified:
perl/embperl/trunk/Embperl/Form.pm
perl/embperl/trunk/Embperl/Form/Control.pm
perl/embperl/trunk/Embperl/Form/Control/grid.pm
perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm
perl/embperl/trunk/Embperl/Form/ControlMultValue.pm

Modified: perl/embperl/trunk/Embperl/Form.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form.pm?rev=1637051&r1=1637050&r2=1637051&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form.pm (original)
+++ perl/embperl/trunk/Embperl/Form.pm Thu Nov 6 08:41:11 2014
@@ -629,7 +629,7 @@ sub init_data
}
foreach my $control (@{$self -> {init_data}})
{
- $control -> init_data ($req) if (!$control -> is_disabled ($req) && !$control -> is_readonly ($req)) ;
+ $control -> init_data ($req) if ($control -> should_init_data ($req)) ;
}
}


Modified: perl/embperl/trunk/Embperl/Form/Control.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control.pm?rev=1637051&r1=1637050&r2=1637051&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control.pm Thu Nov 6 08:41:11 2014
@@ -87,10 +87,13 @@ sub is_disabled
{
my ($self, $req) = @_ ;

- my $disable = $self -> {disable} || $req -> {form_options_masks}{$self->{name}}{disable} || $req -> {form_options_masks}{'*'}{disable} ;
- $disable = &{$disable}($self, $req) if (ref ($disable) eq 'CODE') ;
-
- return $disable ;
+ foreach my $disable ($self -> {disable}, $req -> {form_options_masks}{$self->{name}}{disable}, $req -> {form_options_masks}{'*'}{disable})
+ {
+ $disable = &{$disable}($self, $req) if (ref ($disable) eq 'CODE') ;
+ return 1 if ($disable) ;
+ }
+
+ return ;
}

# ---------------------------------------------------------------------------
@@ -103,10 +106,12 @@ sub is_blanked
{
my ($self, $req) = @_ ;

- my $disable = $self -> {blank} || $req -> {form_options_masks}{$self->{name}}{blank} || $req -> {form_options_masks}{'*'}{blank} ;
- $disable = &{$disable}($self, $req) if (ref ($disable) eq 'CODE') ;
-
- return $disable ;
+ foreach my $blank ($self -> {blank}, $req -> {form_options_masks}{$self->{name}}{blank}, $req -> {form_options_masks}{'*'}{blank})
+ {
+ $blank = &{$blank}($self, $req) if (ref ($blank) eq 'CODE') ;
+ return 1 if ($blank) ;
+ }
+ return ;
}

# ---------------------------------------------------------------------------
@@ -119,10 +124,12 @@ sub is_readonly
{
my ($self, $req) = @_ ;

- my $readonly = $self -> {readonly} || $req -> {form_options_masks}{$self->{name}}{readonly} || $req -> {form_options_masks}{'*'}{readonly} ;
- $readonly = &{$readonly}($self, $req) if (ref ($readonly) eq 'CODE') ;
-
- return $readonly ;
+ foreach my $readonly ($self -> {readonly}, $req -> {form_options_masks}{$self->{name}}{readonly}, $req -> {form_options_masks}{'*'}{readonly})
+ {
+ $readonly = &{$readonly}($self, $req) if (ref ($readonly) eq 'CODE') ;
+ return 1 if ($readonly) ;
+ }
+ return ;
}

# ---------------------------------------------------------------------------
@@ -153,6 +160,21 @@ sub is_hidden

# ---------------------------------------------------------------------------
#
+# should_init_data - returns true if init_data should be called for this control
+#
+
+sub should_init_data
+
+ {
+ my ($self, $req) = @_ ;
+
+ return !$self -> is_disabled ($req) && !$self -> is_readonly ($req) ;
+ }
+
+
+
+# ---------------------------------------------------------------------------
+#
# has_code_refs - returns true if is_readonly or is_disabled are coderefs
#


Modified: perl/embperl/trunk/Embperl/Form/Control/grid.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/grid.pm?rev=1637051&r1=1637050&r2=1637051&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/grid.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/grid.pm Thu Nov 6 08:41:11 2014
@@ -166,6 +166,7 @@ sub init_data
}
}

+ my $gridro = $self -> is_readonly ($req) ;
my $coloffset = defined ($self -> {coloffset})?$self -> {coloffset}:1 ;
my $data;
my $i = 0 ;
@@ -200,7 +201,7 @@ sub init_data
local $field->{name} = "__${name}_${j}_$i" ;
local $field -> {fullid} = "$self->{fullid}_${j}_$i" ;
local $field->{dataprefix} ;
- $field -> init_data ($req, $self) ;
+ $field -> init_data ($req, $self) if (!$gridro && $field -> should_init_data($req)) ;
}
$j++ ;
}
@@ -246,6 +247,19 @@ sub init_markup
}
}

+# ---------------------------------------------------------------------------
+#
+# should_init_data - returns true if init_data should be called for this control
+#
+
+sub should_init_data
+
+ {
+ my ($self, $req) = @_ ;
+
+ return !$self -> is_disabled ($req) ;
+ }
+
# ------------------------------------------------------------------------------------------
#
# prepare_fdat_sub - wird aufgerufen nachdem die einzelen Controls abgearbeitet sind abd
@@ -395,6 +409,10 @@ sub get_display_text
my $field ;
my $text ;
my @value ;
+ my $coloffset = defined ($self -> {coloffset})?$self -> {coloffset}:1 ;
+ my $col ;
+ my $colval ;
+ my $val ;
@value = (ref ($value) eq 'HASH')?init_data_hash (1, $value, $fields):@$value ;
foreach my $rowval (@value)
{
@@ -404,7 +422,17 @@ sub get_display_text
$j = $allfields -> {$fieldname} ;
$field = $fields -> [$j] ;
next if $field -> is_hidden ;
- $text = $field -> get_display_text ($req, $rowval -> [$j+1], 1) ;
+ $col = exists $field -> {col}?$field -> {col}:$j ;
+ if ($colval = $field -> {colval})
+ {
+ $val = $rowval->[$col+$coloffset] =~ /\Q$colval\E/?1:0 ;
+ }
+ else
+ {
+ $val = $rowval->[$col+$coloffset] ;
+ }
+
+ $text = $field -> get_display_text ($req, $val, 1) ;
push @row, $text if ($text ne '') ;
}
push @rows, join (', ', @row) if (@row) ;

Modified: perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm?rev=1637051&r1=1637050&r2=1637051&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm Thu Nov 6 08:41:11 2014
@@ -104,7 +104,7 @@ my $class = $self -> {class} ;

my $doctypes ;
my $datasrc = $self -> {datasrc} ;
-if ($datasrc)
+if ($datasrc && !$self -> {no_new})
{
my %doctypes ;
my $datasource = CouchDB::AppServ::DataSource -> get_datasource ($datasrc) ;
@@ -114,14 +114,13 @@ if ($datasrc)
my $docclass = CouchDB::AppServ::Docclass -> find_docclass ($doctype) ;
next if (!$docclass || $docclass -> abstract_doctype eq ref $docclass) ;
#next if ($subclass -> is_allowed ('new', $reqdata, $reqdata -> {document}) != 1) ;
- $doctypes{$docclass -> title ($reqdata -> {i18n})} = $docclass -> doctype ;
+ $doctypes{$docclass -> title ($req -> {i18n})} = $docclass -> doctype ;
}
$doctypes = join (',', map {( $doctypes{$_}, $_) } sort keys %doctypes) ;
}

$]
-
-<input name="_opt_[+ $name +]" [.+ do { local $escmode = 0 ; $self -> get_std_control_attr($req, undef, undef, 'ef-context-menu') } +]
+<input name="_opt_[+ $name +]" [.+ do { local $escmode = 0 ; $self -> get_std_control_attr($req, undef, undef, 'ef-context-menu ' . ($self -> {no_button}?'':'ef-control-selectdyn-has-ctrl' )) } +]
type="text" _ef_attach="ef_selectdyn"
[$if $self -> {size} $]size="[+ $self->{size} +]" [$endif$]
[$if $self -> {showurl} $]_ef_show_url="[+ $self -> {showurl} +]" [$endif$]
@@ -135,7 +134,7 @@ type="text" _ef_attach="ef_selectdyn"
[$if $self -> {show_on_select} $]_ef_show_on_select="[+ $self -> {show_on_select}?'1':'' +]" [$endif$]
[$if $doctypes $]_ef_doctypes="[+ $doctypes +]" [$endif$]
>
-[$if !$self -> {no_button} $]<span class="ui-icon ui-icon-triangle-1-s ef-icon ef-control-selectdyn-ctrl ef-context-menu"></span>[$endif$]
+[$if !$self -> {no_button} $]<span class="ui-icon ui-icon-triangle-1-s ef-icon ef-control-selectdyn-ctrl ef-context-menu [+ $self -> {state} +]"></span>[$endif$]
<input type="hidden" name="[+ $name +]">
<input type="hidden" name="_id_[+ $name +]">
[$endsub$]
@@ -245,6 +244,14 @@ If true show the selected item as soon a
If set to an id of an html element, documents that are loaded via showurl
are fetch via ajax into this html container, instead of fetching a whole page.

+=head3 no_button
+
+Do not show button right of input to select all entries
+
+=head3 no_new
+
+Do add "New" to context menu
+
=head3 $fdat{-init-<name>}

If set this value is used to prefill the input box, if not set get_values

Modified: perl/embperl/trunk/Embperl/Form/ControlMultValue.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/ControlMultValue.pm?rev=1637051&r1=1637050&r2=1637051&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/ControlMultValue.pm (original)
+++ perl/embperl/trunk/Embperl/Form/ControlMultValue.pm Thu Nov 6 08:41:11 2014
@@ -386,8 +386,10 @@ sub init_markup
{
my $name = $self -> {name} ;
my $fdat = $req -> {docdata} || \%Embperl::fdat ;
- $fdat -> {'_opt_' . $name} = $self -> get_display_text ($req, $val) ;
- $fdat -> {'_id_' . $name} = $self -> get_id_from_value ($val, $req) ;
+ my $opt = $self -> get_display_text ($req, $val) ;
+ my $id = $self -> get_id_from_value ($val, $req) ;
+ $fdat -> {'_opt_' . $name} = $opt if ($opt ne '') ;
+ $fdat -> {'_id_' . $name} = $id if ($id ne '') ;
}
}




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