Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 5162c8cc

Von Sven Schöling vor etwa 8 Jahren hinzugefügt

  • ID 5162c8cc5f1f380a9fffb1107374e3919ef847ce
  • Vorgänger 030d7f5a
  • Nachfolger 972b8771

Part: doku update

Unterschiede anzeigen:

SL/Presenter/Part.pm
selectors though, they are not selectable once overridden.
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
rendering. If you write a standard controller that only calls C<render> once, it
will just work. In case the header is generated in a different render call
(multiple blocks, ajax, old C<bin/mozilla> style controllers) you need to
include C<kivi.Part.js> yourself.
On pressing <enter> the picker will try to commit the current selection,
resulting in one of the following events, whose corresponding callbacks can be
set in C<params.actions>:
=over 4
=item * C<commit_one>
If exactly one element matches the input, the internal id will set to this id,
the internal state will be set to C<PICKED> and the C<change> even on the
picker will be fired. Additionally, if C<params> contain C<fat_set_item>
a special event C<set_item:PartPicker> will be fired which is guaranteed to
contain a complete JSON representation of the part.
After that the action C<commit_one> will be executed, which defaults to
clicking a button with id C<update_button> for backward compatibility reasons.
=item * C<commit_many>
If more than one element matches the input, the internal state will be set to
undefined.
After that the action C<commit_one> will be executed, which defaults to
opening a popup dialog for graphical interaction. If C<params> contain
C<multiple> an alternative popup will be opened, allowing multiple items to be
selected. Note however that this requires an additional callback
C<set_multi_items> to work.
=item * C<commit_none>
If no element matches the input, the internal state will be set to undefined.
If an action for C<commit_none> exists, it will be called with the picker
object and current term. The caller can then implement creation of new parts.
=back
=back
=head1 PART PICKER SPECIFICATION
......
Should not be constrained to exact matches
=item *
Must be atomic
=item *
Action should be overridable
=back
The implementation consists of the following parts which will be referenced later:

Auch abrufbar als: Unified diff