Hi Martin, many thanks for this - I will have a look (just got back from a trip hence delay!)
On Sun, Jul 17, 2016 at 9:05 AM, Martin Grigorov <[email protected]> wrote: > Hi, > > You might be also interested in Wicketstuff UrlFragment project ( > > https://github.com/wicketstuff/core/blob/723bf245a7a9619c670fa493d541fcd9feae92bd/urlfragment-parent/README.md > ) > > Martin Grigorov > Wicket Training and Consulting > https://twitter.com/mtgrigorov > > On Sat, Jul 16, 2016 at 10:31 PM, Martin Grigorov <[email protected]> > wrote: > > > Hi, > > > > Here is a small demo application: > > https://github.com/martin-g/blogs/tree/master/ajax-history > > It uses HTML5 History API directly, so it won't work on old Internet > > Explorers! > > If you need to support old IE, good luck finding a decent JS library. > > AFAIK https://github.com/browserstate/history.js is one of the best out > > there, but looking at the number of open issues and PRs I wouldn't use it > > in my applications. > > > > The demo application shows how to support Ajax history for "Ajax menu" > use > > case from the earlier mails in this thread. In the past I have used > > something similar for Ajax pagination functionality. > > The menu items show how to change the url's path, query string and/or > > fragment > > The impl just triggers the respective JS event on the respective Ajax > > component for the history event. The rest is normal Wicket Ajax request. > As > > noted in the previous mail by clicking the browser's back button you will > > not ask Wicket to load an old version of the page! From Wicket point of > > view the navigation in the page always goes forward! > > > > This implementation is not in Wicket itself because I am sure it is not > > generic enough for everyone's use cases (and because History API is not > > available in old IEs!). > > if you need help with a use case that doesn't work with this impl then > > please create a demo application and I'll try to help! > > If one day the implementation is generic enough it may land in Wicket! > > > > Have fun! > > > > Martin Grigorov > > Wicket Training and Consulting > > https://twitter.com/mtgrigorov > > > > On Wed, Jul 13, 2016 at 10:55 AM, Wayne W <[email protected]> > > wrote: > > > >> Hi, > >> > >> On Thu, Jul 7, 2016 at 11:28 PM, Martin Grigorov < > >> [email protected]> > >> wrote: > >> > >> > Hi, > >> > > >> > It seems you use Wicket for several years now and you have no idea how > >> to > >> > use it! > >> > > >> > >> > >> Yes perhaps Martin, I do try but there's a lot too it. > >> > >> > >> > > >> > I have done this for a client of mine 4 years ago. > >> > And I have explained how to do it few times in the mailing lists. > >> > You could use HTML5 History API to manipulate the browser url on each > >> Ajax > >> > call. If you need to support old browsers (why?! almost no one does > >> these > >> > days) then you should use some JS library that falls back to using the > >> > location fragment/hash. > >> > The support of "back/forward" buttons is just registering an > >> > AjaxEventBehavior that listens for "popState"/"hashchange" event. > >> > > >> > > >> I did some extensive searching and only found a couple of threads about > >> this: > >> > >> > >> > http://apache-wicket.1842946.n4.nabble.com/Wicket7-History-API-support-for-navigable-AJAX-pages-components-td4660502.html > >> > >> > >> The main issue seems that the page map is not updated (just overriden) > for > >> ajax requests from my reading before. I came to the conclusion trying to > >> get wicket to support the back button would be difficult and somewhat > >> hacky. It seems we'd end up with unknown behaviour and issues possibly > >> occurring and therefore too much of a risk. Hence this thread. > >> > >> > >> > >> > > >> > I will try to find time to write a blog article with a demo app at > >> > wicketinaction.com soon. > >> > > >> > > >> > >> That would be great. > >> > >> > >> > >> > >> > > >> > > >> > > > > >
