[OpenAjaxGadgets] Request a widget mode

Rich Thompson richt2 at us.ibm.com
Mon Apr 13 05:45:15 PDT 2009


We have had a number of use cases come to light recently where the 
preferred user experience is achieved by the following loading sequence:

1. onLoad -> informs the widget to initialize itself
2. any and all queued events are delivered to the widget (could have been 
sourced by the container or other widgets)
3. onModeChanged -> widget renders itself

This keeps the screen from going through a visual state where all of the 
widgets appear uncoordinated followed by an immediate shift into a 
coordinated state.

That is a bit of an aside (though related) to the original thread, but I 
would prefer a getMode() over having both the container and the widget 
remember the current mode.

Rich Thompson




From:
Howard Weingram <weingram at tibco.com>
To:
Jon Ferraiolo/Menlo Park/IBM at IBMUS
Cc:
"gadgets at openajax.org" <gadgets at openajax.org>
Date:
04/10/2009 03:58 PM
Subject:
Re: [OpenAjaxGadgets] Request a widget mode



Hi, Jon.

Thanks for the comment.

There is no onModeChanged at the time of the widget constructor or at the
time of onLoad, when the widget is first rendering. A mode change may 
occur
later, but it may be much later.

Unless onLoad must always be followed immediately by modeChanged (which is 
a
poor approach), I'll add getMode().

Regards,
Howard


On 4/10/09 12:00 PM, "Jon Ferraiolo" <jferrai at us.ibm.com> wrote:

> 
> I'm OK with adding getMode(), but I'll point out that a widget has 
enough
> information now to figure out what mode it's in due to the onModeChanged
> event. But it would be convenient to have getMode() so that the widget
> wouldn't have to store away some sort of _mode private variable.
> 
> Jon
> 
> 
> 
> 
> 
>              Howard Weingram
>              <weingram at tibco.c
>              om> To
>                                        Howard Weingram
>              04/10/2009 11:32          <weingram at tibco.com>, Jon
>              AM                        Ferraiolo/Menlo Park/IBM at IBMUS
> cc
>                                        "gadgets at openajax.org"
>                                        <gadgets at openajax.org>
> Subject
>                                        Re: [OpenAjaxGadgets] Request a
>                                        widget mode
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> (Specifically because widget.xml allows the same content to be used for
> multiple modes; so how does such a widget know its mode when 1st 
rendered?)
> 
> Regards,
> Howard
> 
> 
> On 4/10/09 9:42 AM, "Howard Weingram" <weingram at tibco.com> wrote:
> 
>> Do we need a function:
>> 
>>     getMode()
>> 
>> ?
>> 
>> Regards,
>> Howard
>> 
>> 
>> On 4/10/09 7:31 AM, "Jon Ferraiolo" <jferrai at us.ibm.com> wrote:
>> 
>>> 
>>> +1
>>> 
>>> Jon
>>> 
>>> 
>>> 
>>> 
>>> 
>>>              Howard Weingram
>>>              <weingram at tibco.c
>>>              om>
> To
>>>              Sent by:                  "gadgets at openajax.org"
>>>              gadgets-bounces at o         <gadgets at openajax.org>
>>>              penajax.org
> cc
>>> 
>>> 
> Subject
>>>              04/09/2009 06:31          [OpenAjaxGadgets] Request a
> widget
>>>              PM                        mode
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> I would like to add a function that allows a widget to request
> transition
>>> to
>>> a different mode. The only indication of success would be a 
modeChanged
>>> event delivered to the widget at some future time.
>>> 
>>>     /**
>>>      * @param {String} newMode
>>>      *      The name of the mode to which the widget is
>>>      *      requesting transition
>>>      */
>>>     OpenAjax.widget.Adapter.prototype.requestMode(newMode) {}
>>> 
>>> 
>>> Use Case
>>> 
>>> For example, a Help mode screen may contain a button that sends the
> widget
>>> back to View mode. This button is INSIDE the widget rather than 
outside
> in
>>> the container. This could simply transition the widget, but then any
>>> container buttons would be out of sync because the container does not
> know
>>> about the change.
>>> 
>>> With the requestMode, the button would not actually switch modes; it
> would
>>> call requestMode('view') and this would tell the container to switch 
the
>>> mode.
>>> 
>>> 
>>> Compatibility with Other Standards
>>> 
>>> This behavior would be comparable to that of javax.portlet, which
> specifies
>>> that a portlet can "programmatically change [its] portlet mode when
>>> processing an action request."
>>> 
>>> In other words, in the portlet world, there is a standard way for a
> portlet
>>> to request that the portlet container execute a mode change.
>>> 
>>> The portlet spec allows the portlet container to ignore or override 
the
>>> mode-change request. It is only a request.
>>> 
>>> 
>>> Regards,
>>> Howard
>>> 
>>> --
>>> Howard Weingram      650.846.1000
>>> Principal Architect  TIBCO Software Inc.
>>> 
>>> TIBCO PageBus(TM) delivers ultra-lightweight
>>> publish-subscribe messaging for mash-ups.
>>> Learn more at http://www.pagebus.org
>>> 
>>> _______________________________________________
>>> gadgets mailing list
>>> gadgets at openajax.org
>>> http://openajax.org/mailman/listinfo/gadgets
>> 
>> 
>> 
>> --
>> Howard Weingram      650.846.1000
>> Principal Architect  TIBCO Software Inc.
>> 
>> TIBCO PageBus(TM) delivers ultra-lightweight
>> publish-subscribe messaging for mash-ups.
>> Learn more at http://www.pagebus.org
>> 
>> _______________________________________________
>> gadgets mailing list
>> gadgets at openajax.org
>> http://openajax.org/mailman/listinfo/gadgets
> 
> 
> 
> --
> Howard Weingram      650.846.1000
> Principal Architect  TIBCO Software Inc.
> 
> TIBCO PageBus(TM) delivers ultra-lightweight
> publish-subscribe messaging for mash-ups.
> Learn more at http://www.pagebus.org
> 



--
Howard Weingram      650.846.1000
Principal Architect  TIBCO Software Inc.

TIBCO PageBus(TM) delivers ultra-lightweight
publish-subscribe messaging for mash-ups.
Learn more at http://www.pagebus.org

_______________________________________________
gadgets mailing list
gadgets at openajax.org
http://openajax.org/mailman/listinfo/gadgets


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://openajax.org/pipermail/gadgets/attachments/20090413/dc6edc36/attachment-0001.html 


More information about the gadgets mailing list