Re: Recommended way to instantiate EventContext

Adam X <[email protected]>
Newsgroups gmane.comp.java.tapestry.user
Message-ID <CAL4U7iE3Yo9LgbvJdbX5btU=t1g8WbE4mVDDk8-Rbu1f+CtmRA@mail.gmail.com>
Thanks Chris. I got it all working.

On Mon, Nov 28, 2016 at 7:32 PM, Chris Poulsen <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]>
>> 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;
>> >>
>> >> <t:eventlink event="foo" context="somevalue">Foo</t:eventlink>
>> >>
>> >> void onFoo(String someValue) {
>> >>
>> >> }
>> >>
>> >> ----or-----
>> >>
>> >> @Property
>> >> private String bar;
>> >>
>> >> @Property
>> >> private Integer baz;
>> >>
>> >> <t:eventlink event="foo" context="[bar, baz]">Foo</t:eventlink>
>> >>
>> >> 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 <[email protected]> wrote:
>> >>
>> >>> Howdy again!
>> >>>
>> >>> So what's the approved Tapestry way to create an instance of this
>> >>> interface?
>> >>>
>> >>> Adam
>> >>>
>> >>> ---------------------------------------------------------------------
>> >>> To unsubscribe, e-mail: [email protected]
>> >>> For additional commands, e-mail: [email protected]
>> >>>
>> >>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.