If the view implements CanConfirmNavigation or ProvidesConfirmNavigation, Brix installs a history interceptor on activation to prompt before leaving when isConfirmNavigation() is true.
public class ConfirmingView extends BrixView<Element, FormHandlers>
implements CanConfirmNavigation {
private boolean dirty;
@Override public boolean isConfirmNavigation() { return dirty; }
@Override
public void confirmNavigation(ConfirmNavigationHandlers handlers) {
if (window.confirm("Discard changes?")) handlers.onConfirmed();
else handlers.onCanceled();
}
}
confirmNavigation decides whether to continue.onConfirmed() / onCanceled() handlers to control navigation.