Routing fixes

* Check if `Backbone.history.start()` has been called before.
* Only call it after routes have been registered.
* Use route for switching between login and register forms
This commit is contained in:
JC Brand 2017-09-28 23:29:37 +02:00
parent 79412215b5
commit 79080b3569
3 changed files with 7 additions and 17 deletions

View File

@ -37,16 +37,15 @@
return _.get(_converse.chatboxviews.get('controlbox'), 'registerpanel');
}, 300)
.then(function () {
var cbview = _converse.chatboxviews.get('controlbox');
test_utils.openControlBox();
var $panels = cbview.$('.controlbox-panes');
var $login = $panels.children().first();
var $registration = $panels.children().last();
var $register_link = cbview.$('a.register-account');
expect($register_link.text()).toBe("Create an account");
$register_link.click();
var register_link = cbview.el.querySelector('a.register-account');
expect(register_link.textContent).toBe("Create an account");
register_link.click();
test_utils.waitUntil(function () {
return $registration.is(':visible');
}, 300).then(function () {

View File

@ -2013,15 +2013,16 @@
this.connection = settings.connection;
}
// TODO: fallback when global history has already been started
Backbone.history.start();
function finishInitialization () {
_converse.initPlugins();
_converse.initConnection();
_converse.setUpXMLLogging();
_converse.logIn();
_converse.registerGlobalEventHandlers();
if (!Backbone.history.started) {
Backbone.history.start();
}
}
if (!_.isUndefined(_converse.connection) &&

View File

@ -81,7 +81,6 @@
ControlBoxView: {
events: {
'click .toggle-register-login': 'switchToRegisterForm',
},
initialize () {
@ -89,15 +88,6 @@
this.model.on('change:active-form', this.showLoginOrRegisterForm.bind(this))
},
switchToRegisterForm (ev) {
ev.preventDefault();
if (this.model.get('active-form') == "register") {
this.model.set('active-form', 'login');
} else {
this.model.set('active-form', 'register');
}
},
showLoginOrRegisterForm () {
const { _converse } = this.__super__;
if (_.isNil(this.registerpanel)) {