瀏覽代碼

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
JC Brand 7 年之前
父節點
當前提交
79080b3569
共有 3 個文件被更改,包括 7 次插入17 次删除
  1. 3 4
      spec/register.js
  2. 4 3
      src/converse-core.js
  3. 0 10
      src/converse-register.js

+ 3 - 4
spec/register.js

@@ -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 () {

+ 4 - 3
src/converse-core.js

@@ -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) &&

+ 0 - 10
src/converse-register.js

@@ -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)) {