History API support for navigable AJAX pages/components?

2014-12-29 Thread Hendy Irawan
Hi friends,

Continuing the discussion on
https://issues.apache.org/jira/browse/WICKET-5290 /
http://apache-wicket.1842946.n4.nabble.com/Wicket7-History-API-support-for-navigable-AJAX-pages-components-td4660502.html,
I made a simple working experiment:

final DropdownSizePanel dropdownSizePanel = new
DropdownSizePanel(dropdownSize, selectedSizeModel) {
@Override
protected void onSizeChanged(AjaxRequestTarget target) {
target.add(productGrid);
final PageParameters newParams = new
PageParameters(getPage().getPageParameters());
newParams.set(selectedSize,
Optional.ofNullable(selectedSizeModel.getObject()).map(Term::getQName).orElse(null));
final String newUri = urlFor(getPage().getPageClass(),
newParams).toString();
target.appendJavaScript(window.history.pushState(null, null,  
+
JSONObject.quote(newUri) + ););
}
};
add(dropdownSizePanel);

This works brilliantly with a caveat: Even after the browser URI is updated,
next AJAX calls still use the old URI.

So this is a missing piece, how do I change Wicket's client-side URI
variable? So next AJAX calls will use the new URI.

Thank you.

Hendy

--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/History-API-support-for-navigable-AJAX-pages-components-tp4668897.html
Sent from the Users forum mailing list archive at Nabble.com.

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: History API support for navigable AJAX pages/components?

2014-12-29 Thread Hendy Irawan
I tried to do this:

protected void onSizeChanged(AjaxRequestTarget target) {
target.add(productGrid);
final PageParameters newParams = new
PageParameters(getPage().getPageParameters());
newParams.set(selectedSize,
Optional.ofNullable(selectedSizeModel.getObject()).map(Term::getQName).orElse(null));
final String newUri = urlFor(getPage().getPageClass(),
newParams).toString();
final String absoluteNewUri =
RequestUtils.toAbsolutePath(getRequest().getUrl().toString(), newUri);
target.appendJavaScript(window.history.pushState(null, null,  +
JSONObject.quote(newUri) + ););
target.appendJavaScript(Wicket.Ajax.baseUrl =  +
JSONObject.quote(StringUtils.removeStart(absoluteNewUri, /)) + ;);
}

but although Wicket.Ajax.baseUrl does change in the client, but seems to
have no effect.

--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/History-API-support-for-navigable-AJAX-pages-components-tp4668897p4668898.html
Sent from the Users forum mailing list archive at Nabble.com.

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org