You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Moritz Gmelin <mo...@gmx.de> on 2011/05/12 22:53:22 UTC

Portlets and Tapestry-Javascript issues

Hi,

my tapestry/portlets project is advancing quite a bit. I'm currently stuck at a page that contains 3 portlets, each being generate from one tapestry page.
One of the portlets contains a form that does some default tapestry javascript form validation (checking whether an integer form really contains an integer value).
This validation fails if tapestry includes its javascript default libraries in one of the other portlets. If the other portlets do not contain javascript it works fine. I can also work around this if I move my form portlet to some other location in the page. 
I think that it always works if the form-containing portlet is the last in the html code of the rendered portal page.

Now my question is: can anybody image what is causing these cross-portlet issues? Can I automatically get this fixed my "separating" the javascript scope on the page? 
Can I manually disable the tapestry-javascript inclusion in my pages with an annotation? (Then of course I would have to make sure that one of the portlets on the page actually does the inclusion).

Thanks for any help

Moritz


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


Re: Portlets and Tapestry-Javascript issues

Posted by Moritz Gmelin <mo...@gmx.de>.
Sorry for responding so late. I can reproduce the same problem with a very simple .tml without the portlet environment

The error happens when adding the core.js script after the <body>. Then the form validation is broken.
Now in my Portal-Pages, the core.js script is added for every tapestry-portlet that has some javascript magic included. Question is whether I can force tapestry NOT to include core.js for certain pages (portlets).

Regards

Moritz


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
<body>
 <br/>
 <br/>
 <br/>
 <br/>
 <t:form t:id="myform" >
	Integer  <t:textField value="testValue"/>
  <t:submit/>
 </t:form>
</body>
 <script src="/taptest/assets/4bf3d49e5d3682aa/stack/de/core.js" type="text/javascript"/>
</html>

The class file for this demo only contains a @Property @Persist private Integer testValue;


Am 13.05.2011 um 00:54 schrieb Josh Canfield:

> I guess it depends on how your portal is rendering the portlets? If
> it's true that your form works if it's the last thing loaded then
> you're probably getting some variables trounced as each portlet loads.
> You could also possibly have element id collisions? Hard to tell
> without your code.
> 
> Can you break it down to the simplest portal page that has the problem
> then post the html that gets generated? By simplest I mean don't
> include all your form variables just the one that fails etc.
> 
> Josh
> 
> 
> On Thu, May 12, 2011 at 1:53 PM, Moritz Gmelin <mo...@gmx.de> wrote:
>> Hi,
>> 
>> my tapestry/portlets project is advancing quite a bit. I'm currently stuck at a page that contains 3 portlets, each being generate from one tapestry page.
>> One of the portlets contains a form that does some default tapestry javascript form validation (checking whether an integer form really contains an integer value).
>> This validation fails if tapestry includes its javascript default libraries in one of the other portlets. If the other portlets do not contain javascript it works fine. I can also work around this if I move my form portlet to some other location in the page.
>> I think that it always works if the form-containing portlet is the last in the html code of the rendered portal page.
>> 
>> Now my question is: can anybody image what is causing these cross-portlet issues? Can I automatically get this fixed my "separating" the javascript scope on the page?
>> Can I manually disable the tapestry-javascript inclusion in my pages with an annotation? (Then of course I would have to make sure that one of the portlets on the page actually does the inclusion).
>> 
>> Thanks for any help
>> 
>> Moritz
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>> 
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
> 


Re: Portlets and Tapestry-Javascript issues

Posted by Josh Canfield <jo...@gmail.com>.
I guess it depends on how your portal is rendering the portlets? If
it's true that your form works if it's the last thing loaded then
you're probably getting some variables trounced as each portlet loads.
You could also possibly have element id collisions? Hard to tell
without your code.

Can you break it down to the simplest portal page that has the problem
then post the html that gets generated? By simplest I mean don't
include all your form variables just the one that fails etc.

Josh


On Thu, May 12, 2011 at 1:53 PM, Moritz Gmelin <mo...@gmx.de> wrote:
> Hi,
>
> my tapestry/portlets project is advancing quite a bit. I'm currently stuck at a page that contains 3 portlets, each being generate from one tapestry page.
> One of the portlets contains a form that does some default tapestry javascript form validation (checking whether an integer form really contains an integer value).
> This validation fails if tapestry includes its javascript default libraries in one of the other portlets. If the other portlets do not contain javascript it works fine. I can also work around this if I move my form portlet to some other location in the page.
> I think that it always works if the form-containing portlet is the last in the html code of the rendered portal page.
>
> Now my question is: can anybody image what is causing these cross-portlet issues? Can I automatically get this fixed my "separating" the javascript scope on the page?
> Can I manually disable the tapestry-javascript inclusion in my pages with an annotation? (Then of course I would have to make sure that one of the portlets on the page actually does the inclusion).
>
> Thanks for any help
>
> Moritz
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

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