Apparently environmental only available during rendering.

https://www.mail-archive.com/users@tapestry.apache.org/msg56293.html

Yeah. I guess I still doesn't understand how to use Environmental
Correctly. Would try passing it as a parameter instead.

Thanks.



On Sat, Oct 27, 2018 at 6:48 PM Mats Andersson <mats.anders...@ronsoft.se>
wrote:

> What do you think about passing the model as a component argument instead?
> That way you are not depending on the order of the calls. See also:
> http://jumpstart.doublenegative.com.au/jumpstart6/examples/navigation/whatiscalledandwhen
> for an explanation.
>
>
> --
> ---------------------- Mats Andersson | Ronsoft AB | +46(0)73 368 79 82
>
>
> On 2018-10-27 05:00, abangkis wrote:
>
> 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 <abang...@gmail.com> 
> <abang...@gmail.com> wrote:
>
>
> I see. Thanks Dmitry.
>
> On Sat, Oct 27, 2018 at 12:23 AM Dmitry Gusev <dmitry.gu...@gmail.com> 
> <dmitry.gu...@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 <abang...@gmail.com> 
> <abang...@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.gu...@gmail.com> 
> <dmitry.gu...@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 <abang...@gmail.com> 
> <abang...@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/> 
> <http://www.mreunion-labs.net/>
> twitter : @mreunionlabs @abangkis
> page : https://plus.google.com/104168782385184990771
>
>
>
> --
> Dmitry Gusev
>
> AnjLab Teamhttp://anjlab.com
>
>
>
> --http://www.mreunionlabs.net/ <http://www.mreunion-labs.net/> 
> <http://www.mreunion-labs.net/>
> twitter : @mreunionlabs @abangkis
> page : https://plus.google.com/104168782385184990771
>
>
>
> --
> Dmitry Gusev
>
> AnjLab Teamhttp://anjlab.com
>
>
>
> --http://www.mreunionlabs.net/ <http://www.mreunion-labs.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

Reply via email to