]> wagnertech.de Git - kivitendo-erp.git/blobdiff - SL/Presenter/Part.pm
PartPicker: Bessere Beschreibung zum das javascript include
[kivitendo-erp.git] / SL / Presenter / Part.pm
index 9533e1d6c48a669f30cd73d7aff9841b909e925f..a10340727ece69282561d6b73f604fe3fb2750c6 100644 (file)
@@ -40,6 +40,7 @@ sub part_picker {
     join('', map { $params{$_} ? $self->input_tag("", delete $params{$_}, id => "${id}_${_}", type => 'hidden') : '' } qw(column type unit convertible_unit)) .
     $self->input_tag("", (ref $value && $value->can('description')) ? $value->description : '', id => "${id}_name", %params);
 
+  $::request->layout->add_javascripts('autocomplete_part.js');
   $::request->presenter->need_reinit_widgets($id);
 
   $self->html_tag('span', $ret, class => 'part_picker');
@@ -88,7 +89,7 @@ to the corresponding 'edit' action.
 
 =back
 
-=back 
+=back
 
 =over 2
 
@@ -119,8 +120,11 @@ Obsolete parts will by default not displayed for selection. However they are
 accepted as default values and can persist during updates. As with other
 selectors though, they are not selectable once overridden.
 
-Currently you must include C<js/autocomplete_part.js> in your controller, the
-presenter can not do this from the template.
+C<part_picker> will register it's javascript for inclusion in the next header
+rendering. If you write a standard controller that only call C<render> once, it
+will just work.  In case the header is generated in a different render call
+(multiple blocks, ajax, old C<bin/moilla> style controllers) you need to
+include C<js/autocomplete_part.js> yourself.
 
 =back