Use ProgressiveDisplay component?
http://tapestry.apache.org/tapestry5.1/tapestry-core/ref/org/apache/tapestry5/corelib/components/ProgressiveDisplay.html

see example  
http://lombok.demon.co.uk/tapestry5Demo/test/core/progressivedisplaydemosource

or from tapestry test case
http://tapestry-test.appspot.com/progressivedemo
with the related src at
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ProgressiveDemo.java?view=markup

François


2011/4/15 David Woods <dwood...@gmail.com>:
> Hi, I'm just getting started with Tapestry5, and very impressed so far.
>
> I have a zone on my page containing a grid component that takes about 20
> seconds to calculate the contents of.  I don't want the loading of the page
> to hang while this occurs, so I initially have the contents of the zone
> hidden by an "if" component associated with a boolean property for the
> visibility, and have the "get" method for the grid contents conditionally
> returning null when the property is set to false.  To calculate the contents
> and display the zone I have an actionlink that changes the boolean property
> and returns the zone body.
>
> The toggling works fine, but what I would like to do is display a message on
> the page as soon as the actionlink is clicked saying that the load is in
> progress (at the moment there is no visible change for 20s), and then this
> message should go away when the zone appears.  Is there a way to do this?
>  Also, I would appreciate any insights into whether there is a better way to
> do this...
>
> From the tml:
>
>    <t:actionlink t:id="toggleDomains"
> zone="domainsZone">Domains</t:actionlink>
>
>    <t:zone t:id="domainsZone">
>
>        <t:if test="domainsVisible">
>
>            <t:grid source="domains" rowsPerPage="15"/>
>
>        </t:if>
>
>    </t:zone>
>
>
> From the page class:
>
>
>     @Persist
>
>    @Property
>
>    private boolean domainsVisible;
>
>
>
>    @InjectComponent
>
>    private Zone domainsZone;
>
>
>
>    Zone onActionFromToggleDomains() {
>
>        domainsVisible = domainsVisible ? false : true;
>
>        return domainsZone;
>
>    }
>
>
>
>    public List<Domain> getDomains() {
>
>        if(domainsVisible) {
>
>            return retrieveDomainList();
>
>        }
>
>        else {
>
>            return null;
>
>        }
>
>    }
>
>
> Thanks for all the interesting discussion and tips.
>
>
> David
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to