tapestry-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From abangkis <abang...@gmail.com>
Subject Re: Get link to the page that contains custom component
Date Sat, 27 Oct 2018 03:00:28 GMT
Sorry, still having some problems with custom component. I need to pass a
logged in user object to the component.

So I push the wrapper class from the page to the environment

@BeginRender
void beginRender() {
  LoanBundleModel model = new LoanBundleModel();
  model.setUserId(getCurrentUser().getId());
  environment.push(LoanBundleModel.class, model);
}
And then retrieve it in the component by using environmental

@Environmental
private LoanBundleModel model;

And use it in a method like this:
@CommitAfter
@OnEvent("DeleteDoc")
void deleteDoc(Long loanDocumentId) {
  User user = userManager.get(model.getUserId());
  String message =
loanDocumentService.deleteLoanApplicationDoc(loanDocumentId, user);
    if (message != null) {
      validationTracker.recordError(message);
    }
}

But i keep getting. No object of type
net.mreunionlabs.gri.server.compmodel.gri.LoanBundleModel is available from
the Environment.

What did I do wrong?

Thanks

On Sat, Oct 27, 2018 at 7:02 AM abangkis <abangkis@gmail.com> wrote:

> I see. Thanks Dmitry.
>
> On Sat, Oct 27, 2018 at 12:23 AM Dmitry Gusev <dmitry.gusev@gmail.com>
> wrote:
>
>> For forms you can use:
>>
>>     @Environmental
>>     private ValidationTracker validationTracker;
>>
>> and then
>>
>>     validationTracker.recordError(...)
>>
>>
>> On Fri, Oct 26, 2018 at 6:45 PM abangkis <abangkis@gmail.com> wrote:
>>
>> > Thanks a lot Dmitry. It's working great.
>> >
>> > There's another thing. If the custom component inside a form and like to
>> > set some error message.
>> > If it's a page we can do something like:
>> >
>> > @InjectComponent
>> > private Form form;
>> >
>> > form.recordError(message);
>> >
>> > How to do something like that in a component?
>> >
>> > Thanks a lot.
>> >
>> >
>> >
>> > On Fri, Oct 26, 2018 at 7:59 PM Dmitry Gusev <dmitry.gusev@gmail.com>
>> > wrote:
>> >
>> > > Hi,
>> > >
>> > > I would try something like this:
>> > >
>> > > @Inject ComponentResources resources;
>> > >
>> > > and then
>> > >
>> > > pageRenderLinkSource.createPageRenderLink(resources.getPageName());
>> > >
>> > > On Fri, Oct 26, 2018 at 2:07 PM abangkis <abangkis@gmail.com> wrote:
>> > >
>> > > > Hi guys. I'm moving parts of of my page to a custom component. In
>> the
>> > > page
>> > > > there's a method that will go to another page and go back to the
>> > original
>> > > > page when finished. Here's the code:
>> > > >
>> > > > @OnEvent("AddDoc")
>> > > > Object addDoc() {
>> > > > Link thisPage =
>> > > pageRenderLinkSource.createPageRenderLink(this.getClass());
>> > > > addLoanDocPage.setLoanApplicationId(loanApplication.getId());
>> > > > addLoanDocPage.setLinkBack(thisPage);
>> > > > return addLoanDocPage;
>> > > > }
>> > > >
>> > > > I'm moving that method to the custom component. How can  the
>> component
>> > > > generate the Link to the page that contains it?
>> > > >
>> > > > Thanks
>> > > >
>> > > > --
>> > > > http://www.mreunionlabs.net/ <http://www.mreunion-labs.net/>
>> > > > twitter : @mreunionlabs @abangkis
>> > > > page : https://plus.google.com/104168782385184990771
>> > > >
>> > >
>> > >
>> > > --
>> > > Dmitry Gusev
>> > >
>> > > AnjLab Team
>> > > http://anjlab.com
>> > >
>> >
>> >
>> > --
>> > http://www.mreunionlabs.net/ <http://www.mreunion-labs.net/>
>> > twitter : @mreunionlabs @abangkis
>> > page : https://plus.google.com/104168782385184990771
>> >
>>
>>
>> --
>> Dmitry Gusev
>>
>> AnjLab Team
>> http://anjlab.com
>>
>
>
> --
> http://www.mreunionlabs.net/ <http://www.mreunion-labs.net/>
> twitter : @mreunionlabs @abangkis
> page : https://plus.google.com/104168782385184990771
>


-- 
http://www.mreunionlabs.net/ <http://www.mreunion-labs.net/>
twitter : @mreunionlabs @abangkis
page : https://plus.google.com/104168782385184990771

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message