t-5.4 - page loading mask bug

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

t-5.4 - page loading mask bug

nhhockeyplayer
Hi Folks,

A new page feature has been added

.pageloading-mask div {
    height: 100%;
    background: url(pageloader-mask.gif) no-repeat center center;
}

and its nice but I have an instance where itas gone out of state and my page is getting stuck on render.

My website demo

http://psinh.ddns.net:9011/psi/home

after logging in administrator/administrator

list Years link on left nav block

and the List.java page gets hung within the pageloadingmask logic

I dont know whats tripping it up

I free'd up my formState=NONE which brought some relief to my gallery images but this bug just started and I am not sure whats causing it.

Here is the list page.

If you spot anything I would sure like to know. THANKS  (it only seems to happen on LIST page only)

------ List.tml ------  List.java below ---------------
<t:layout title="title" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter">

    <h1>${title}</h1>

    <nav class="navbar navbar-default" role="navigation">
        <div class="container-fluid">
        <t:if test="modelSearch.searchable">
            <t:form t:id="fulltextSearch" class="navbar-form navbar-left" role="search">
                <t:zone t:id="termsZone">
                    <div class="form-group">
                        <t:textfield t:id="searchTerms" value="modelSearch.searchTerms" t:mixins="tynamo/zoneUpdater" t:clientEvent="change" t:event="searchTermsChanged" t:zone="termsZone" class="form-control"/>
                    </div>
                    <button type="submit" class="btn btn-default" onclick="$(searchFilterForm).submit()">Search</button>
                    <t:delegate to="resultcountBlock"/>
                </t:zone>
            </t:form>
            <p:else >
                <t:delegate to="resultcountBlock"/>
            </p:else>
        </t:if>
        <div class="container-fluid" style="margin-right:20px">
            <ul class="nav navbar-nav navbar-right">
                <li>
                    <t:pagelink page="Add" context="beanType">
                        <i class="fa fa-plus"></i>
                        ${newlinkMessage}</t:pagelink>
                </li>
            </ul>
        </div>
        </div>
    </nav>

    <t:block t:id="resultcountBlock">
        <t:if test="modelSearch.searchCriteriaSet">
            ${modelSearch.gridDataSource.availableRows} results (<t:actionlink t:id="resetSearchCriteria">${beanCount} total</t:actionlink> )
        </t:if>
    </t:block>

    <br/>
    <br/>

    <t:grid t:id="grid" source="modelSearch.gridDataSource" row="bean" inPlace="true" add="__id__" reorder="__id__" t:mixins="tynamo/BeanModelAdvisor">
    <p:__id__header>
        </p:__id__header>
        <p:__id__cell>
            <t:pagelink t:page="Show" context="showPageContext"><t:tynamo.identifier object="bean"/></t:pagelink>
        </p:__id__cell>
        <p:empty>
            <div class="panel panel-info">
                <div class="panel-heading">
                    <h3 class="panel-title">There is no data to display.</h3>
                </div>
                <div class="panel-body" align="center">
                    There is no data to display. You can <t:pagelink page="Add" context="beanType">add some</t:pagelink>
                </div>
            </div>
        </p:empty>
    </t:grid>


    <br/>
    <br/>
    <div t:id="modelSearch"/>

</t:layout>

-----------------------------------------------------------

package org.tynamo.psi.psi.pages;

import org.apache.tapestry5.Block;
import org.apache.tapestry5.EventConstants;
import org.apache.tapestry5.annotations.Component;
import org.apache.tapestry5.annotations.InjectComponent;
import org.apache.tapestry5.annotations.OnEvent;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.annotations.SetupRender;
import org.apache.tapestry5.corelib.components.Grid;
import org.apache.tapestry5.ioc.Messages;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.Request;
import org.tynamo.hibernate.components.HibernateModelSearch;
import org.tynamo.routing.annotations.At;
import org.tynamo.services.PersistenceService;
import org.tynamo.util.TynamoMessages;
import org.tynamo.util.Utils;

/**
 * Page for listing elements of a given type.
 *
 * @note:
 * When extending this page for customization purposes, it's better to copy & paste code than trying to use inheritance.
 *
 */
@At("/{0}")
public class List
{

    @Inject
    private PersistenceService persistenceService;

    @Inject
    private Messages messages;

    @Property(write = false)
    private Class beanType;

    @Property
    private Object bean;

    @Inject
    @Property
    private Block resultcountBlock;

    @InjectComponent
    private Grid grid;

    @Component(parameters = "beanType=beanType")
    @Property(write = false)
    private HibernateModelSearch modelSearch;

    @OnEvent(EventConstants.ACTIVATE)
    Object onActivate(Class clazz)
    {
        if (clazz == null) return Utils.new404(messages);
        this.beanType = clazz;
        return null;
    }

    @OnEvent(EventConstants.PASSIVATE)
    Object[] passivate()
    {
        return new Object[]{beanType};
    }

    /**
     * This is where you can perform any one-time per-render setup for your component. This is a good place to read
     * component parameters and use them to set temporary instance variables.
     * More info: http://tapestry.apache.org/tapestry5.1/guide/rendering.html
     * {@see org.apache.tapestry5.annotations.SetupRender}
     */
    @SetupRender
    void setupRender()
    {
        //grid.reset();
    }

    public Object[] getShowPageContext()
    {
        return new Object[]{beanType, bean};
    }

    public String getTitle()
    {
        return TynamoMessages.list(messages, beanType);
    }

    public String getNewLinkMessage()
    {
        return TynamoMessages.add(messages, beanType);
    }

    void onActionFromResetSearchCriteria() {
        modelSearch.resetSearchCriteria();
    }

    @Inject
    private Request request;

    void onSearchTermsChanged() {
        String searchTerms = request.getParameter("param");
        if (searchTerms != null) modelSearch.setSearchTerms(searchTerms);
        // return request.isXHR() ? termZone.getBody() : null;
    }

    public int getBeanCount() {
        return persistenceService.count(beanType);
    }

}



     
Best regards and thanks
Ken
Reply | Threaded
Open this post in threaded view
|

Re: t-5.4 - page loading mask bug

Chris Poulsen
you have a javascript error preventing the code that removes the mask to run

On Wed, Jan 14, 2015 at 3:28 AM, nhhockeyplayer nashua <
[hidden email]> wrote:

> Hi Folks,
>
> A new page feature has been added
>
> .pageloading-mask div {
>     height: 100%;
>     background: url(pageloader-mask.gif) no-repeat center center;
> }
>
> and its nice but I have an instance where itas gone out of state and my
> page is getting stuck on render.
>
> My website demo
>
> http://psinh.ddns.net:9011/psi/home
>
> after logging in administrator/administrator
>
> list Years link on left nav block
>
> and the List.java page gets hung within the pageloadingmask logic
>
> I dont know whats tripping it up
>
> I free'd up my formState=NONE which brought some relief to my gallery
> images but this bug just started and I am not sure whats causing it.
>
> Here is the list page.
>
> If you spot anything I would sure like to know. THANKS  (it only seems to
> happen on LIST page only)
>
> ------ List.tml ------  List.java below ---------------
> <t:layout title="title" xmlns:t="
> http://tapestry.apache.org/schema/tapestry_5_3.xsd"
> xmlns:p="tapestry:parameter">
>
>     <h1>${title}</h1>
>
>     <nav class="navbar navbar-default" role="navigation">
>         <div class="container-fluid">
>         <t:if test="modelSearch.searchable">
>             <t:form t:id="fulltextSearch" class="navbar-form navbar-left"
> role="search">
>                 <t:zone t:id="termsZone">
>                     <div class="form-group">
>                         <t:textfield t:id="searchTerms"
> value="modelSearch.searchTerms" t:mixins="tynamo/zoneUpdater"
> t:clientEvent="change" t:event="searchTermsChanged" t:zone="termsZone"
> class="form-control"/>
>                     </div>
>                     <button type="submit" class="btn btn-default"
> onclick="$(searchFilterForm).submit()">Search</button>
>                     <t:delegate to="resultcountBlock"/>
>                 </t:zone>
>             </t:form>
>             <p:else >
>                 <t:delegate to="resultcountBlock"/>
>             </p:else>
>         </t:if>
>         <div class="container-fluid" style="margin-right:20px">
>             <ul class="nav navbar-nav navbar-right">
>                 <li>
>                     <t:pagelink page="Add" context="beanType">
>                         <i class="fa fa-plus"></i>
>                         ${newlinkMessage}</t:pagelink>
>                 </li>
>             </ul>
>         </div>
>         </div>
>     </nav>
>
>     <t:block t:id="resultcountBlock">
>         <t:if test="modelSearch.searchCriteriaSet">
>             ${modelSearch.gridDataSource.availableRows} results
> (<t:actionlink t:id="resetSearchCriteria">${beanCount} total</t:actionlink>
> )
>         </t:if>
>     </t:block>
>
>     <br/>
>     <br/>
>
>     <t:grid t:id="grid" source="modelSearch.gridDataSource" row="bean"
> inPlace="true" add="__id__" reorder="__id__"
> t:mixins="tynamo/BeanModelAdvisor">
>     <p:__id__header>
>         </p:__id__header>
>         <p:__id__cell>
>             <t:pagelink t:page="Show"
> context="showPageContext"><t:tynamo.identifier object="bean"/></t:pagelink>
>         </p:__id__cell>
>         <p:empty>
>             <div class="panel panel-info">
>                 <div class="panel-heading">
>                     <h3 class="panel-title">There is no data to
> display.</h3>
>                 </div>
>                 <div class="panel-body" align="center">
>                     There is no data to display. You can <t:pagelink
> page="Add" context="beanType">add some</t:pagelink>
>                 </div>
>             </div>
>         </p:empty>
>     </t:grid>
>
>
>     <br/>
>     <br/>
>     <div t:id="modelSearch"/>
>
> </t:layout>
>
> -----------------------------------------------------------
>
> package org.tynamo.psi.psi.pages;
>
> import org.apache.tapestry5.Block;
> import org.apache.tapestry5.EventConstants;
> import org.apache.tapestry5.annotations.Component;
> import org.apache.tapestry5.annotations.InjectComponent;
> import org.apache.tapestry5.annotations.OnEvent;
> import org.apache.tapestry5.annotations.Property;
> import org.apache.tapestry5.annotations.SetupRender;
> import org.apache.tapestry5.corelib.components.Grid;
> import org.apache.tapestry5.ioc.Messages;
> import org.apache.tapestry5.ioc.annotations.Inject;
> import org.apache.tapestry5.services.Request;
> import org.tynamo.hibernate.components.HibernateModelSearch;
> import org.tynamo.routing.annotations.At;
> import org.tynamo.services.PersistenceService;
> import org.tynamo.util.TynamoMessages;
> import org.tynamo.util.Utils;
>
> /**
>  * Page for listing elements of a given type.
>  *
>  * @note:
>  * When extending this page for customization purposes, it's better to
> copy & paste code than trying to use inheritance.
>  *
>  */
> @At("/{0}")
> public class List
> {
>
>     @Inject
>     private PersistenceService persistenceService;
>
>     @Inject
>     private Messages messages;
>
>     @Property(write = false)
>     private Class beanType;
>
>     @Property
>     private Object bean;
>
>     @Inject
>     @Property
>     private Block resultcountBlock;
>
>     @InjectComponent
>     private Grid grid;
>
>     @Component(parameters = "beanType=beanType")
>     @Property(write = false)
>     private HibernateModelSearch modelSearch;
>
>     @OnEvent(EventConstants.ACTIVATE)
>     Object onActivate(Class clazz)
>     {
>         if (clazz == null) return Utils.new404(messages);
>         this.beanType = clazz;
>         return null;
>     }
>
>     @OnEvent(EventConstants.PASSIVATE)
>     Object[] passivate()
>     {
>         return new Object[]{beanType};
>     }
>
>     /**
>      * This is where you can perform any one-time per-render setup for
> your component. This is a good place to read
>      * component parameters and use them to set temporary instance
> variables.
>      * More info:
> http://tapestry.apache.org/tapestry5.1/guide/rendering.html
>      * {@see org.apache.tapestry5.annotations.SetupRender}
>      */
>     @SetupRender
>     void setupRender()
>     {
>         //grid.reset();
>     }
>
>     public Object[] getShowPageContext()
>     {
>         return new Object[]{beanType, bean};
>     }
>
>     public String getTitle()
>     {
>         return TynamoMessages.list(messages, beanType);
>     }
>
>     public String getNewLinkMessage()
>     {
>         return TynamoMessages.add(messages, beanType);
>     }
>
>     void onActionFromResetSearchCriteria() {
>         modelSearch.resetSearchCriteria();
>     }
>
>     @Inject
>     private Request request;
>
>     void onSearchTermsChanged() {
>         String searchTerms = request.getParameter("param");
>         if (searchTerms != null) modelSearch.setSearchTerms(searchTerms);
>         // return request.isXHR() ? termZone.getBody() : null;
>     }
>
>     public int getBeanCount() {
>         return persistenceService.count(beanType);
>     }
>
> }
>
>
>
>
Reply | Threaded
Open this post in threaded view
|

RE: t-5.4 - page loading mask bug

nhhockeyplayer
In reply to this post by nhhockeyplayer
This is reproducible.

Just click on a nav block entity that has none yet (no rows in db table)

for my app, since there is 1 YEAR entity, the tapestry page hangs
for my app, since there is 0 COMMENTS or 0 INQUIRY entity, the tapestry page renders fine

I summary, the pageloading-mask logic hangs when this tynamo searchable model grid tries to render any table of models.

Since this tynamo grid was developed as a searchable grid, it would be nice to get a workaorund or patch for this or suggestion to try to get it to stop hanging on pages with no entities.
I would be happy to troubleshoot this internally if anyone can suggest where to look or what area I should be focusing on.


Best regards
and thanks... KEN
         
Best regards and thanks
Ken
Reply | Threaded
Open this post in threaded view
|

Re: t-5.4 - page loading mask bug

Howard Lewis Ship
The mask is configurable, that is, it can be disabled. That being said,
perhaps it should dismiss after a fixed period of time (a couple of
seconds) or even if any initializations throw an exception.

On Wed, Jan 14, 2015 at 12:48 AM, nhhockeyplayer nashua <
[hidden email]> wrote:

> This is reproducible.
>
> Just click on a nav block entity that has none yet (no rows in db table)
>
> for my app, since there is 1 YEAR entity, the tapestry page hangs
> for my app, since there is 0 COMMENTS or 0 INQUIRY entity, the tapestry
> page renders fine
>
> I summary, the pageloading-mask logic hangs when this tynamo searchable
> model grid tries to render any table of models.
>
> Since this tynamo grid was developed as a searchable grid, it would be
> nice to get a workaorund or patch for this or suggestion to try to get it
> to stop hanging on pages with no entities.
> I would be happy to troubleshoot this internally if anyone can suggest
> where to look or what area I should be focusing on.
>
>
> Best regards
> and thanks... KEN
>
>




--
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com
@hlship
Reply | Threaded
Open this post in threaded view
|

RE: t-5.4 - page loading mask bug

nhhockeyplayer
In reply to this post by nhhockeyplayer
I would like to fix but I still see no steps to take.

yes there is an error... the only KIND of error is red </INPUT> near the end of the body tag definition this is  tapestry attempt to embellish the body tag but I dont know how to tell tapestry to stop doing that or do it in a different way that would not cause an error... its the only markup that shows up red in the editor and my runtime is clean in the ie debugger

my javascript has no errors

can someone elaborate on how to disable or influence this ?

the body tag and the page loading mask
its really pinning me down
thanks
     
Best regards and thanks
Ken
Reply | Threaded
Open this post in threaded view
|

RE: t-5.4 - page loading mask bug

nhhockeyplayer
ok I found it after checking out the t-5.4 source

SymbolConstants.JAVA
    public static final String ENABLE_PAGELOADING_MASK = "tapestry.enable-pageloading-mask";

I gather you set it to boolean

With regard to the actual javascript error... thats happening from tapestry doing some hidden body tag embellishment...

for some reason <input> tags are being picky

someone might want to doublecheck the markup being output for that and repair it. Its the only red text that javascript editor flags when I view-source on the page
     
Best regards and thanks
Ken
Reply | Threaded
Open this post in threaded view
|

RE: t-5.4 - page loading mask bug

nhhockeyplayer
Just so folks in future can cut/paste

This is what I had to do

    @Inject
    @Symbol(SymbolConstants.ENABLE_PAGELOADING_MASK)
    @Property(write = false)
    private static boolean ENABLE_PAGELOADING_MASK;

    @Contribute(SymbolProvider.class)
    @FactoryDefaults
    public static void factoryDefaults(
            MappedConfiguration<String, Object> configuration) {

        configuration.override(SymbolConstants.ENABLE_PAGELOADING_MASK, ENABLE_PAGELOADING_MASK);
    }

Hope it wasnt overkill

I can click link to my List.java page and if there are entities in that collection they get rendered.

To recap, this bug is reproducible if pageloading-mask is enabled and your trying to render a list page of entities in a grid. It hangs the page stuck in loading-mask state

If the collection of entities is empty, nothign gets rendered to the grid and the pageloading-mask follows thru fine.

its either in tynamo or tapestry... the issue.

I dont know if this hidden <INPUT> markup is inducing this bug or not
But here is the markup as it is currently seen from my demo site

http://psinh.ddns.net:9011/psi/home

it seems the input tag error has gone from the body tag to the form for the tynamo List modelsearch pags

ok thanks
<body data-page-initialized="false" ng-controller="MainCtrl" ng-app="MainApp" style="border:0px solid black"><title> FullStack CRUD....</title>
<a href="/edit/adminlayout/1"><!-- header segment #1 -->
<div id="header">
<!-- The image for this divider is defined in CSS t:parameters="prop:{'id':'1'}"  --></div></a><h1>List</h1><nav><a href="/aboutfrommenu">About</a> |
<a href="/psi/add/inquiry">New Inquiry</a> |
<a href="/splashfrommenu">Splash</a> |
<a href="/contactfrommenu">Contact Us</a></nav><div style="bo
<br/>
<div style="border:5px groove; border-color:red;" id="main_box">
<div data-dismiss-url="/list.layout.alerts:dismiss?t:ac=year" data-show-dismiss-all="true" data-container-type="alerts">
</div>
<h1>List</h1><nav role="navigation" class="navbar navbar-default">

<div class="container-fluid">

<form class="navbar-form navbar-left" role="search" data-validate="submit" action="/list.fulltextsearch" method="post" id="fulltextSearch">

<input value="year" name="t:ac" type="hidden">
</input>

<input value="8jEvHdjz9E3HgUy4f7ONLsiTYjQ=:H4sIAAAAAAAAAFvzloEVAN3OqfcEAAAA" name="t:formdata" type="hidden">
</input>
<div data-zone-parameters="{
  &quot;t:formid&quot; : &quot;fulltextSearch&quot;,
  &quot;t:formcomponentid&quot; : &quot;List:fulltextsearch&quot;
}" data-container-type="zone" id="termsZone">
<div class="form-group"><input value="mMKc8dkEUtHqUzUDGK1xqISZllk=:H4sIAAAAAAAAAFvzloG1XJhBwCezuMSqODWxKDmjJLUot5ihuIjBNL8oXS+xIDE5I1WvJLEgtbikqNJULzm/KDUnM0kvKbE4Vc8xCSiYmFzilpmak6ISnFpSWqAaepj7oejxP0wMjD4M3Mn5eSVF+Tl+ibmpJQxCPlmJZYn6OYl56frBJUWZeenWFQUlDNwQe0NA9uJyiyOpbgkoyk9OLS4OLk3KzSwuzszPO7wuxSTt27xzTAwMFQUAc58is/cAAAA=" name="t:formdata" type="hidden">
</input>
     
Best regards and thanks
Ken
Reply | Threaded
Open this post in threaded view
|

Re: t-5.4 - page loading mask bug

JumpStart
Chris suggested earlier that you must check for javascript errors. You still have one. "SyntaxError: Unexpected token ')'". All it takes is one javascript error to stop the rest from working. From the console of my browser:


[Warning] Unexpected CSS token: middle (home, line 112)
[Warning] Unexpected CSS token: : (bootstrap.css, line 3285)
[Warning] Unexpected CSS token: : (bootstrap.css, line 5937)
[Warning] Unexpected CSS token: : (bootstrap.css, line 5947)
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (logo-default.png, line 0)
[Error] Failed to load resource: the server responded with a status of 500 (Internal Server Error) (usahockey.ico.jpg, line 0)
[Error] Failed to load resource: the server responded with a status of 500 (Internal Server Error) (nhl.jpg, line 0)
[Error] Failed to load resource: the server responded with a status of 500 (Internal Server Error) (bruins.png, line 0)
[Error] Failed to load resource: the server responded with a status of 500 (Internal Server Error) (monster.jpg, line 0)
[Error] Failed to load resource: the server responded with a status of 500 (Internal Server Error) (tapestry.png, line 0)
[Error] Failed to load resource: the server responded with a status of 500 (Internal Server Error) (tynamo-logo-transparentbg.png, line 0)
[Debug] Loading 14 libraries (console.js, line 104)
[Debug] Loading library /psi/assets/meta/psi/z2fafab53/mixins/date-time.js (console.js, line 104)
[Debug] Loading library /psi/assets/meta/psi/za8067c2b/app.js (console.js, line 104)
[Error] SyntaxError: Unexpected token ')'
        (anonymous function) (app.js, line 48)
[Debug] Loading library /psi/assets/meta/z8c24aeca/js/bower_components/bootstrap/js/bootstrap.js (console.js, line 104)
[Debug] Loading library /psi/assets/meta/z4d846000/js/bower_components/angular-cookies/angular-cookies.js (console.js, line 104)
[Error] TypeError: undefined is not an object (evaluating 'angular.module')
        (anonymous function) (angular-cookies.js, line 25)
        global code (angular-cookies.js, line 206)
[Debug] Loading library /psi/assets/meta/z62fa7458/js/bower_components/angular-mocks/angular-mocks.js (console.js, line 104)
[Error] TypeError: Attempted to assign to readonly property.
        (anonymous function) (angular-mocks.js, line 17)
        global code (angular-mocks.js, line 2171)
[Debug] Loading library /psi/assets/meta/z4ba9064e/js/bower_components/angular-resource/angular-resource.js (console.js, line 104)
[Error] TypeError: undefined is not an object (evaluating 'angular.$$minErr')
        (anonymous function) (angular-resource.js, line 8)
        global code (angular-resource.js, line 619)
[Debug] Loading library /psi/assets/meta/z97f0edc9/js/bower_components/angular-route/angular-route.js (console.js, line 104)
[Error] TypeError: undefined is not an object (evaluating 'angular.module')
        (anonymous function) (angular-route.js, line 24)
        global code (angular-route.js, line 927)
[Debug] Loading library /psi/assets/meta/z1ccb7eb9/js/bower_components/angular-scenario/angular-scenario.js (console.js, line 104)
[Debug] Loading library /psi/assets/meta/ze32e99de/js/bower_components/angular-translate/angular-translate.js (console.js, line 104)
[Debug] Loading library /psi/assets/meta/z4cd0a7c9/js/bower_components/angular-translate-loader-static-files/angular-translate-loader-static-files.js (console.js, line 104)
[Debug] Loading library /psi/assets/meta/z70475bfa/js/bower_components/angular-translate-storage-cookie/angular-translate-storage-cookie.js (console.js, line 104)
[Debug] Loading library /psi/assets/meta/za0803954/js/bower_components/angular/angular.min.js (console.js, line 104)
[Log] WARNING: Tried to load angular more than once. (angular.min.js, line 212)
[Debug] Loading library /psi/assets/meta/psi/z3636d550/mixins/ngscripts/partialmodal.js (console.js, line 104)
[Debug] Loading library /psi/assets/meta/1/js/bootstrap.js (console.js, line 104)
[Debug] Executing 2 inits (console.js, line 104)
[Debug] Invoking t5/core/pageinit:evalJavaScript("Tapestry.DEBUG_ENABLED = true;") (console.js, line 104)
[Debug] Evaluating: Tapestry.DEBUG_ENABLED = true; (console.js, line 104)
[Debug] Invoking t5/core/pageinit:focus("itemsPerPageSelect") (console.js, line 104)
[Debug] All inits executed (console.js, line 104)



On 15 Jan 2015, at 7:49 am, nhhockeyplayer nashua <[hidden email]> wrote:

> Just so folks in future can cut/paste
>
> This is what I had to do
>
>    @Inject
>    @Symbol(SymbolConstants.ENABLE_PAGELOADING_MASK)
>    @Property(write = false)
>    private static boolean ENABLE_PAGELOADING_MASK;
>
>    @Contribute(SymbolProvider.class)
>    @FactoryDefaults
>    public static void factoryDefaults(
>            MappedConfiguration<String, Object> configuration) {
>
>        configuration.override(SymbolConstants.ENABLE_PAGELOADING_MASK, ENABLE_PAGELOADING_MASK);
>    }
>
> Hope it wasnt overkill
>
> I can click link to my List.java page and if there are entities in that collection they get rendered.
>
> To recap, this bug is reproducible if pageloading-mask is enabled and your trying to render a list page of entities in a grid. It hangs the page stuck in loading-mask state
>
> If the collection of entities is empty, nothign gets rendered to the grid and the pageloading-mask follows thru fine.
>
> its either in tynamo or tapestry... the issue.
>
> I dont know if this hidden <INPUT> markup is inducing this bug or not
> But here is the markup as it is currently seen from my demo site
>
> http://psinh.ddns.net:9011/psi/home
>
> it seems the input tag error has gone from the body tag to the form for the tynamo List modelsearch pags
>
> ok thanks
> <body data-page-initialized="false" ng-controller="MainCtrl" ng-app="MainApp" style="border:0px solid black"><title> FullStack CRUD....</title>
> <a href="/edit/adminlayout/1"><!-- header segment #1 -->
> <div id="header">
> <!-- The image for this divider is defined in CSS t:parameters="prop:{'id':'1'}"  --></div></a><h1>List</h1><nav><a href="/aboutfrommenu">About</a> |
> <a href="/psi/add/inquiry">New Inquiry</a> |
> <a href="/splashfrommenu">Splash</a> |
> <a href="/contactfrommenu">Contact Us</a></nav><div style="bo
> <br/>
> <div style="border:5px groove; border-color:red;" id="main_box">
> <div data-dismiss-url="/list.layout.alerts:dismiss?t:ac=year" data-show-dismiss-all="true" data-container-type="alerts">
> </div>
> <h1>List</h1><nav role="navigation" class="navbar navbar-default">
>
> <div class="container-fluid">
>
> <form class="navbar-form navbar-left" role="search" data-validate="submit" action="/list.fulltextsearch" method="post" id="fulltextSearch">
>
> <input value="year" name="t:ac" type="hidden">
> </input>
>
> <input value="8jEvHdjz9E3HgUy4f7ONLsiTYjQ=:H4sIAAAAAAAAAFvzloEVAN3OqfcEAAAA" name="t:formdata" type="hidden">
> </input>
> <div data-zone-parameters="{
>  &quot;t:formid&quot; : &quot;fulltextSearch&quot;,
>  &quot;t:formcomponentid&quot; : &quot;List:fulltextsearch&quot;
> }" data-container-type="zone" id="termsZone">
> <div class="form-group"><input value="mMKc8dkEUtHqUzUDGK1xqISZllk=:H4sIAAAAAAAAAFvzloG1XJhBwCezuMSqODWxKDmjJLUot5ihuIjBNL8oXS+xIDE5I1WvJLEgtbikqNJULzm/KDUnM0kvKbE4Vc8xCSiYmFzilpmak6ISnFpSWqAaepj7oejxP0wMjD4M3Mn5eSVF+Tl+ibmpJQxCPlmJZYn6OYl56frBJUWZeenWFQUlDNwQe0NA9uJyiyOpbgkoyk9OLS4OLk3KzSwuzszPO7wuxSTt27xzTAwMFQUAc58is/cAAAA=" name="t:formdata" type="hidden">
> </input>
>      


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]