[Laszlo-dev] API enhancement proposal for <handler>
Rami Ojares
rami.ojares at archon.fi
Wed Feb 17 13:59:17 PST 2010
Would it also be possible to change dynamically the value of the
reference attribute.
(Causing deregistering/registering the delegate).
And would it be also possible to register the handler to many event
souces (= having multiple values for reference attribute).
Just asking this because without these features handler tag can not
replace Delegate class.
- rami
> Recent discussions motivate being able to dynamically specify the event that a handler is attached to and being able to dynamically enable/disable handlers[1]. Currently, handlers can only be declaratively attached to events by:
>
> <handler name="eventname" ...
>
> We propose to add two new attributes to the<handler> tag:
>
> 1.<attribute name="event" type="expression" />
>
> If supplied, the handler will be registered to handle the event that is the value of `event`, or if `event` is null, the handler will not be registered to handle any events (it will have to be registered in script). When `event` is supplied, `name` is optional, but if supplied, will be the name by which the handler can be referenced in script. E.g.:
>
> <handler name="startCheck" event="null">
> ... startCheck body ...
> </handler>
> <handler name="hideTip" event="null">
> ... hideTip body ...
> </handler>
> <handler name="oninit">
> startCheck.register(parent, 'onmouseover');
> hideTip.register(parent, 'onmouseout');
> hideTip.register(parent, 'onclick');
> </handler>
>
> 2.<attribute name="enabled" type="boolean" />
>
> If supplied, this attribute controls whether or not the handler is enabled (will react to the events it is registered on). This can be more efficient than unregistering/reregistering events. E.g.:
>
> <window>
> <handler reference="lz.keys" name="onkeydown" enabled="classroot.haswindowfocus">[*]
> ... will only execute on key down when this window has focus ...
> </handler>
> ...
>
> Your comments are solicited.
>
> ---
>
> [1] See http://jira.openlaszlo.org/jira/browse/LPP-7816
>
More information about the Laszlo-dev
mailing list