Hi, Dan 

Thanks a lot, your idea worked perfectly, and I'm now able to access the
list in the Breadcrumb model. 

I still have an issue, but I'm not sure if there's a way to go around it
without modifying the original code. 

In my app I have several view models (annotated with @XMLRootElement)
that act as an entry point for objects. Instead of having a menu option
to list and one to create, the view model shows a list, some filters and
the "create" action. It would be very useful to be able to have a
"return to view model" action in my entities. 

The issue is that the BreadcrumbModel implementation specifically
ignores view models, so they're not getting stored in the list of
EntityModels. 

I tried to work around this problem by creating my own implementation of
BreadcrumbModel that doesn't ignore ViewModels, then creating a copy of
AuthenticatedWebSessionForIsis with this new model and finally
overriding getWebSessionClass() in my IsisWicketApplication subclass to
use my new class, but this hack ended up breaking the application with a
"Cannot instantiate the configured sign in page" error, caused by
org.apache.wicket.RestartResponseException. 

Is there another way to plug a custom BreadcrumbModel class or
AuthenticatedWebSession class into Isis so I can have ViewModels stored
in the Breadcrumb list? If it can't be done, I guess I could manually
store the ViewModel in the Scratchpad so the entities can access it and
send the user back to it, but I like how breadcrumbs work automatically
behind the scenes. 

El 2017-05-01 16:12, Dan Haywood escribió:

> Hi Hector, 
> 
> There isn't any formal API, but you could create a little service easily 
> enough.  Take a look at BreadcrumbPanel... 
> 
> Something like 
> 
> public interface RecentObjectService { 
> List<Object> recentObjects(); 
> } 
> 
> @DomainService(nature=DOMAIN) 
> public class RecentObjectServiceUsingWicket implements RecentObjectService { 
> 
> @Programmatic 
> public List<Object> recentObjects() { 
> final BreadcrumbModelProvider session = (BreadcrumbModelProvider) 
> org.apache.wicket.Session.get(); 
> final BreadcrumbModel breadcrumbModel = session.getBreadcrumbModel(); 
> final List<EntityModel> entities = breadcrumbModel.getList(); 
> return entities.stream().map(x -> 
> x.getObject().getObject()).collect(Collectors.toList()) 
> } 
> } 
> 
> HTH 
> Dan 
> 
> On Mon, 1 May 2017 at 21:38 Hector Fabio Meza <[email protected]> 
> wrote: 
> 
>> Hi, 
>> 
>> I was wondering if there's a way to access the "recent objects" list that 
>> appears a a drop-down list in the lower part of the UI. I'd like to place 
>> actions on each screen that allows the user to go back to the screen they 
>> were before the current one (for example in a master-detail kind of 
>> situation). 
>> 
>> I suppose that list is related to the BookmarkService but couldn't find a 
>> method for retrieving the last visited object. 
>> 
>> Thank you. 
>> 
>> -- 
>> Hector Fabio Meza
>> 
>> R&D LEAD SMARTOOLS 
>> (57) 300 2254455 [1] 
>> Skype: hectorf.meza 
>> www.smartools.com.co [2]

-- 
Hector Fabio Meza

R&D LEAD SMARTOOLS 
(57) 300 2254455 [1] 
Skype: hectorf.meza 
www.smartools.com.co [2] 

 

Links:
------
[1] tel:%2857%29%20300%206815404
[2] http://www.smartools.com.co/

Reply via email to