X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FTemplate%2FPlugin%2FL.pm;h=e0631b863c8c6365896f77bb7b14de2114ddd740;hb=0389fbc606e78cdacea36f4bf385e75f879443a2;hp=2299a66b1c47cc4e4611222ec66d013dc01bbeb2;hpb=c574ecd33acd23af72ffbd2982bbebd22c048792;p=kivitendo-erp.git diff --git a/SL/Template/Plugin/L.pm b/SL/Template/Plugin/L.pm index 2299a66b1..e0631b863 100644 --- a/SL/Template/Plugin/L.pm +++ b/SL/Template/Plugin/L.pm @@ -106,6 +106,7 @@ sub checkbox_tag { $attributes{id} ||= $self->name_to_id($name); $attributes{value} = 1 unless defined $attributes{value}; my $label = delete $attributes{label}; + my $checkall = delete $attributes{checkall}; if ($attributes{checked}) { $attributes{checked} = 'checked'; @@ -115,6 +116,7 @@ sub checkbox_tag { my $code = $self->html_tag('input', undef, %attributes, name => $name, type => 'checkbox'); $code .= $self->html_tag('label', $label, for => $attributes{id}) if $label; + $code .= $self->javascript(qq|\$('#$attributes{id}').checkall('$checkall');|) if $checkall; return $code; } @@ -396,6 +398,64 @@ EOCODE return $code; } +sub sortable_element { + my ($self, $selector, @slurp) = @_; + my %params = _hashify(@slurp); + + my %attributes = ( distance => 5, + helper => <<'JAVASCRIPT' ); + function(event, ui) { + ui.children().each(function() { + $(this).width($(this).width()); + }); + return ui; + } +JAVASCRIPT + + my $stop_event = ''; + + if ($params{url} && $params{with}) { + my $as = $params{as} || $params{with}; + my $filter = ".filter(function(idx) { return this.substr(0, " . length($params{with}) . ") == '$params{with}'; })"; + $filter .= ".map(function(idx, str) { return str.replace('$params{with}_', ''); })"; + + $stop_event = <*:odd').removeClass('listrow1').removeClass('listrow0').addClass('listrow0'); + \$('${selector}>*:even').removeClass('listrow1').removeClass('listrow0').addClass('listrow1'); +JAVASCRIPT + } + + if ($stop_event) { + $attributes{stop} = < + \$(function() { + \$( "${selector}" ).sortable({ ${attr_str} }) + }); + +JAVASCRIPT + + return $code; +} + sub online_help_tag { my ($self, $tag, @slurp) = @_; my %params = _hashify(@slurp); @@ -520,6 +580,10 @@ If C<%attributes> contains a key C