AMP pages with Tapestry

2016-11-29 Thread Carlos Montero Canabal
Hello Tapestry users,

I would like to create an amp version of my pages into a tapestry5.4 webapp. 
According to https://www.ampproject.org/docs/reference/spec#required-markup 
 the root html 
only would be:



Tapestry5 make a xhtml compilation for the .tml, so I ask you if there is any 
method to:

1. Exclude de xhtml compilation for this pages
2. Intercept the result and modify it to eliminate additional tags added by 
Tapestry.
3. Create a MarkupModel for AMPHtml?

What would be the best solution?

Best regards

Carlos Montero

Re: Recommended way to instantiate EventContext

2016-11-29 Thread Adam X
Thanks Chris. I got it all working.

On Mon, Nov 28, 2016 at 7:32 PM, Chris Poulsen  wrote:
> Normally you would return an Object[] from passivate and tapestry will
> coerce it into the correct result.
>
> --
> Chris
>
> On Mon, Nov 28, 2016 at 6:41 PM, Adam X  wrote:
>
>> Okay, I tried @Persist(FLASH) EventContext ec storing it in activation
>> and simply returning in passivation and it works.
>>
>> This came up as I was trying to solve a different problem which is
>> still haunting me. Essentially, I did a modal feature just like in the
>> jumpstart and it all works very nice:
>>
>> http://jumpstart.doublenegative.com.au/jumpstart7/examples/
>> javascript/modal/1
>>
>> The problem is that my modal zone lives in the Layout component
>> (imagine a switch login context feature or something similar, not
>> important). Like I said, the modal form works okay, but the problem is
>> (and I think it's because it's inside Layout) when zone is updated it
>> reloads entire page anyway. That is actually a desired behavior for me
>> except that it seems to forget whatever URL context was on the page
>> and it reloads the faw url.
>>
>> So if I invoke my modal form on a transaction listing page:
>>
>> /transactionlist/fromdate/untildate
>>
>> where fromdate and untildate are url contexts, the zone reloads page with
>> this:
>>
>> /transactionlist
>>
>> and I can't seem to figure out how to tell it to reload whatever URL was
>> there.
>>
>> Adam
>>
>> On Mon, Nov 28, 2016 at 6:23 PM, Adam X  wrote:
>> > I'm trying to passivate large number (and dynamic) contexts. The
>> > signature of my activation looks like this:
>> >
>> > @OnEvent(value=EventConstants.ACTIVATE)
>> > void parseContext(EventContext ec) {
>> >
>> > and there is a lot going on in there as far as parsing the context. So
>> > I'm trying to do this to passivate:
>> >
>> > @OnEvent(value=EventConstants.PASSIVATE)
>> > Object restoreContext() {
>> >
>> > trying to return an instance of EventContext but I see there are only
>> > two implementations of this interface, both in the internal package
>> > which Tapestry discourages from using.
>> >
>> > Adam
>> >
>> > On Mon, Nov 28, 2016 at 6:18 PM, Peter Hvass 
>> wrote:
>> >> Hey again!
>> >>
>> >> Are you trying to pass a value to the context parameter of an eventlink
>> by
>> >> any chance?
>> >>
>> >> You can just use any old properties in Java classes - either the
>> Tapestry
>> >> way with an @Property attached to a field or a public getter of any old
>> >> type. If it's anything beyond standard Java types (i.e.: string, int,
>> >> double etc.) then you'll need to provide a bit of extra code to pass it
>> in
>> >> as context. For multiple context items you would use square brackets.
>> >>
>> >> i.e.:
>> >> @Property
>> >> private String somevalue;
>> >>
>> >> Foo
>> >>
>> >> void onFoo(String someValue) {
>> >>
>> >> }
>> >>
>> >> or-
>> >>
>> >> @Property
>> >> private String bar;
>> >>
>> >> @Property
>> >> private Integer baz;
>> >>
>> >> Foo
>> >>
>> >> void onFoo(String bar, Integer baz) {
>> >>
>> >> }
>> >>
>> >> Is that sort of what you're looking for?
>> >>
>> >> Thanks,
>> >> Peter
>> >>
>> >>
>> >>
>> >> On 28 November 2016 at 19:13, Adam X  wrote:
>> >>
>> >>> Howdy again!
>> >>>
>> >>> So what's the approved Tapestry way to create an instance of this
>> >>> interface?
>> >>>
>> >>> Adam
>> >>>
>> >>> -
>> >>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> >>> For additional commands, e-mail: users-h...@tapestry.apache.org
>> >>>
>> >>>
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>
>>

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



Re: Get page name inside Dispatcher

2016-11-29 Thread Nathan Quirynen

Indeed exactly what I need!
Thanks Thiago.

Nathan


On 25/11/16 19:02, Thiago H. de Paula Figueiredo wrote:

On Fri, Nov 25, 2016 at 2:23 PM, Nathan Quirynen <
nat...@pensionarchitects.be> wrote:


Hi,


Hi!

I made an implementation of Dispatcher. I want to get the page name from

the request path. Is there any service I can use to achieve this?

I know in a ComponentRequestFilter for example I can use
PageRenderRequestParameters..getActivePageName(), but how can I do the
same inside a Dispatcher implementation?


Inject the ComponentEventLinkencoder service into your dispatcher and use
its decodePageRenderRequest(Request) method, which is exactly the same
Tapestry uses internally. It returns a PageRenderRequestParameters object,
which contains a getLogicalPageName() method which is exactly what you need.




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