+ \$(function() {
+ \$( "${selector}" ).sortable({ ${attr_str} })
+ });
+
+JAVASCRIPT
+
+ return $code;
+}
+
+sub online_help_tag {
+ my ($self, $tag, @slurp) = @_;
+ my %params = _hashify(@slurp);
+ my $cc = $::myconfig{countrycode};
+ my $file = "doc/online/$cc/$tag.html";
+ my $text = $params{text} || $::locale->text('Help');
+
+ die 'malformed help tag' unless $tag =~ /^[a-zA-Z0-9_]+$/;
+ return unless -f $file;
+ return $self->html_tag('a', $text, href => $file, target => '_blank');
+}
+
+sub dump {
+ my $self = shift;
+ require Data::Dumper;
+ return '' . Data::Dumper::Dumper(@_) . '
';
+}
+
1;
__END__
@@ -486,6 +603,13 @@ tag for each file name parameter passed. Each file name will be
postfixed with '.js' if it isn't already and prefixed with 'js/' if it
doesn't contain a slash.
+=item C
+
+Creates a HTML 'Elink rel="text/stylesheet" href="..."E' tag
+for each file name parameter passed. Each file name will be postfixed
+with '.css' if it isn't already and prefixed with 'css/' if it doesn't
+contain a slash.
+
=item C $align_code, %attributes>
Creates a date input field, with an attached javascript that will open a
@@ -516,6 +640,108 @@ include C for rendering a minimum of rows if a textarea is displayed.
You can force input by setting rows to 1, and you can force textarea by setting
rows to anything >1.
+=item C
+
+Creates a JavaScript snippet calling the jQuery function
+C on the select control with the ID C<$id>. The
+select itself is not created. C<%params> can contain the following
+entries:
+
+=over 2
+
+=item C
+
+The label of the list of available options. Defaults to the
+translation of 'Available'.
+
+=item C
+
+The label of the list of selected options. Defaults to the
+translation of 'Selected'.
+
+=back
+
+=item C
+
+Makes the children of the DOM element C<$selector> (a jQuery selector)
+sortable with the I library. The children can be
+dragged & dropped around. After dropping an element an URL can be
+postet to with the element IDs of the sorted children.
+
+If this is used then the JavaScript file C must be
+included manually as well as it isn't loaded via C<$::form-gt;header>.
+
+C<%params> can contain the following entries:
+
+=over 2
+
+=item C
+
+The URL to POST an AJAX request to after a dragged element has been
+dropped. The AJAX request's return value is ignored. If given then
+C<$params{with}> must be given as well.
+
+=item C
+
+A string that is interpreted as the prefix of the children's ID. Upon
+POSTing the result each child whose ID starts with C<$params{with}> is
+considered. The prefix and the following "_" is removed from the
+ID. The remaining parts of the IDs of those children are posted as a
+single array parameter. The array parameter's name is either
+C<$params{as}> or, missing that, C<$params{with}>.
+
+=item C
+
+Sets the POST parameter name for AJAX request after dropping an
+element (see C<$params{with}>).
+
+=item C
+
+An optional jQuery selector specifying which part of the child element
+is dragable. If the parameter is not given then it defaults to
+C<.dragdrop> matching DOM elements with the class C. If the
+parameter is set and empty then the whole child element is dragable,
+and clicks through to underlying elements like inputs or links might
+not work.
+
+=item C
+
+If trueish then the children will not be recolored. The default is to
+recolor the children by setting the class C on odd and
+C on even entries.
+
+=back
+
+Example:
+
+
+
+
+
+ | This | That |
+
+
+ | stuff | more stuff |
+ | stuff | more stuff |
+ | stuff | more stuff |
+
+
+
+ [% L.sortable_element('#thing_list tbody',
+ url => 'controller.pl?action=SystemThings/reorder',
+ with => 'thingy',
+ as => 'thing_ids',
+ recolor_rows => 1) %]
+
+After dropping e.g. the third element at the top of the list a POST
+request would be made to the C action of the C
+controller with a single parameter called C -- an array
+containing the values C<[ 6, 2, 15 ]>.
+
+=item C
+
+Dumps the Argument using L into a EpreE block.
+
=back
=head2 CONVERSION FUNCTIONS
@@ -564,6 +790,10 @@ C) will be used as the first element. The title to display for
this element can be set with the option C and defaults to
an empty string.
+The option C can be either a scalar or an array reference
+containing the values of the options which should be set to be
+selected.
+
=item C
Creates a tab for C. The description will be used as displayed name.