From 5162c8cc5f1f380a9fffb1107374e3919ef847ce Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sven=20Sch=C3=B6ling?= Date: Mon, 13 Feb 2017 16:25:17 +0100 Subject: [PATCH] Part: doku update --- SL/Presenter/Part.pm | 49 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/SL/Presenter/Part.pm b/SL/Presenter/Part.pm index e0f670c62..26f296c7c 100644 --- a/SL/Presenter/Part.pm +++ b/SL/Presenter/Part.pm @@ -220,11 +220,48 @@ accepted as default values and can persist during updates. As with other selectors though, they are not selectable once overridden. C will register it's javascript for inclusion in the next header -rendering. If you write a standard controller that only call C 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 once, it +will just work. In case the header is generated in a different render call (multiple blocks, ajax, old C style controllers) you need to include C yourself. +On pressing the picker will try to commit the current selection, +resulting in one of the following events, whose corresponding callbacks can be +set in C: + +=over 4 + +=item * C + +If exactly one element matches the input, the internal id will set to this id, +the internal state will be set to C and the C even on the +picker will be fired. Additionally, if C contain C +a special event C will be fired which is guaranteed to +contain a complete JSON representation of the part. + +After that the action C will be executed, which defaults to +clicking a button with id C for backward compatibility reasons. + +=item * C + +If more than one element matches the input, the internal state will be set to +undefined. + +After that the action C will be executed, which defaults to +opening a popup dialog for graphical interaction. If C contain +C an alternative popup will be opened, allowing multiple items to be +selected. Note however that this requires an additional callback +C to work. + +=item * C + +If no element matches the input, the internal state will be set to undefined. + +If an action for C 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 @@ -268,6 +305,14 @@ Should not require a feedback/check loop in the common case 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: -- 2.20.1