From fc65bc28bedbb7fc6dbd093c3be292e616b429f6 Mon Sep 17 00:00:00 2001 From: Robin Ward <robin.ward@gmail.com> Date: Tue, 15 Apr 2014 11:45:45 -0400 Subject: [PATCH] FIX: Use the container to register Discourse's custom location handler --- app/assets/javascripts/discourse.js | 7 ++++++- .../javascripts/discourse/routes/discourse_location.js | 2 -- app/views/common/_discourse_javascript.html.erb | 1 + 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/discourse.js b/app/assets/javascripts/discourse.js index 34f87e4c318..7dc277f258a 100644 --- a/app/assets/javascripts/discourse.js +++ b/app/assets/javascripts/discourse.js @@ -165,4 +165,9 @@ window.Discourse = Ember.Application.createWithMixins(Discourse.Ajax, { }); -Discourse.Router = Discourse.Router.reopen({ location: 'discourse_location' }); +Discourse.initializer({ + name: "register-discourse-location", + initialize: function(container, application) { + application.register('location:discourse-location', Ember.DiscourseLocation); + } +}); diff --git a/app/assets/javascripts/discourse/routes/discourse_location.js b/app/assets/javascripts/discourse/routes/discourse_location.js index 2f8b56da684..0693a65d8dd 100644 --- a/app/assets/javascripts/discourse/routes/discourse_location.js +++ b/app/assets/javascripts/discourse/routes/discourse_location.js @@ -255,8 +255,6 @@ Ember.DiscourseLocation = Ember.Object.extend({ }); -Ember.Location.registerImplementation('discourse_location', Ember.DiscourseLocation); - /** Since we're using pushState/replaceState let's add extra hooks to cloakedView to eject itself when the popState occurs. This results in better back button diff --git a/app/views/common/_discourse_javascript.html.erb b/app/views/common/_discourse_javascript.html.erb index c6c174e6c33..41f259dea2a 100644 --- a/app/views/common/_discourse_javascript.html.erb +++ b/app/views/common/_discourse_javascript.html.erb @@ -35,6 +35,7 @@ Discourse.BaseUri = '<%= Discourse::base_uri "/" %>'; Discourse.Environment = '<%= Rails.env %>'; Discourse.SiteSettings = PreloadStore.get('siteSettings'); + Discourse.Router = Ember.Router.extend({ location: 'discourse-location' }); Discourse.Router.map(function() { Discourse.routeBuilder.call(this); }); Discourse.start(); Discourse.set('assetVersion','<%= Discourse.assets_digest %>');