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-unsubscr...@perl.apache.org For additional commands, e-mail: embperl-cvs-h...@perl.apache.org