X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FPresenter%2FTag.pm;h=ace040afa1a310dd2893406a2670de2ee6191718;hb=b2017499569196a0c5e76dbf685fa23e10e7a378;hp=0c2dff2d42f512adde80be8b440a87246a9dfab5;hpb=dc48be1ca22433a40ee8b24d9976d067c6dab022;p=kivitendo-erp.git diff --git a/SL/Presenter/Tag.pm b/SL/Presenter/Tag.pm index 0c2dff2d4..ace040afa 100644 --- a/SL/Presenter/Tag.pm +++ b/SL/Presenter/Tag.pm @@ -7,7 +7,7 @@ use SL::HTML::Restrict; use parent qw(Exporter); use Exporter qw(import); -our @EXPORT = qw(html_tag input_tag hidden_tag javascript man_days_tag name_to_id select_tag checkbox_tag button_tag submit_tag ajax_submit_tag stringify_attributes restricted_html); +our @EXPORT = qw(html_tag input_tag hidden_tag javascript man_days_tag name_to_id select_tag checkbox_tag button_tag submit_tag ajax_submit_tag input_number_tag stringify_attributes restricted_html link); use Carp; @@ -257,6 +257,27 @@ sub ajax_submit_tag { return $self->button_tag($onclick, $text, %attributes); } +sub input_number_tag { + my ($self, $name, $value, %params) = @_; + + _set_id_attribute(\%params, $name); + my @onchange = $params{onchange} ? (onChange => delete $params{onchange}) : (); + my @classes = ('numeric'); + push @classes, delete($params{class}) if $params{class}; + my %class = @classes ? (class => join(' ', @classes)) : (); + + $::request->layout->add_javascripts('kivi.Validator.js'); + $::request->presenter->need_reinit_widgets($params{id}); + + return $self->input_tag( + $name, $::form->foramt_amount(\%::myconfig, $value), + "data-validate" => "number", + %params, + %class, @onchange, + ); +} + + sub javascript { my ($self, $data) = @_; return $self->html_tag('script', $data, type => 'text/javascript'); @@ -282,6 +303,14 @@ sub restricted_html { return $html_restricter->process($value); } +sub link { + my ($self, $href, $content, %params) = @_; + + $href ||= '#'; + + return $self->html_tag('a', $content, %params, href => $href); +} + 1; __END__ @@ -417,6 +446,26 @@ makes it possible to write statements like e.g. The attribute C can be used to set the text input's size. It defaults to 5. +=item C + +Creates a HTML 'input type=hidden' tag named C<$name> with the value +C<$value> and with arbitrary HTML attributes from C<%attributes>. The +tag's C defaults to C. + +=item C + +Creates a HTML 'input type=checkbox' tag named C<$name> with arbitrary +HTML attributes from C<%attributes>. The tag's C defaults to +C. The tag's C defaults to C<1>. + +If C<%attributes> contains a key C