Browse Source

Inject misago configuration into all controllers.

Rafał Pitoń 10 years ago
parent
commit
6c8cffe8be

+ 15 - 0
misago/static/misago/js/application.js

@@ -1,3 +1,18 @@
 window.Misago = Ember.Application.create({
   rootElement: '#main'
 });
+
+Ember.Application.initializer({
+  name: 'misago-env',
+
+  initialize: function(container, application) {
+    application.register('misago-env:static', MisagoPreloadStore.get('staticUrl'), { instantiate: false });
+    application.inject('controller', 'staticUrl', 'misago-env:static');
+
+    application.register('misago-env:media', MisagoPreloadStore.get('mediaUrl'), { instantiate: false });
+    application.inject('controller', 'mediaUrl', 'misago-env:media');
+
+    application.register('misago-env:settings', MisagoPreloadStore.get('misago_settings'), { instantiate: false });
+    application.inject('controller', 'settings', 'misago-env:settings');
+  }
+});

+ 0 - 18
misago/static/misago/js/controllers/application.js

@@ -1,18 +0,0 @@
-Misago.ApplicationController = Ember.Controller.extend({
-  staticUrl: MisagoPreloadStore.get('staticUrl'),
-  mediaUrl: MisagoPreloadStore.get('mediaUrl'),
-  settings: MisagoPreloadStore.get('misago_settings'),
-
-  // footer nav
-  showFooterTermsLink: function() {
-    return this.get('settings.terms_of_service') || this.get('settings.terms_of_service_link');
-  }.property('settings'),
-
-  showFooterPrivacyLink: function() {
-    return this.get('settings.privacy_policy') || this.get('settings.privacy_policy_link');
-  }.property('settings'),
-
-  showFooterNav: function() {
-    return this.get('showFooterTermsLink') || this.get('showFooterPrivacyLink');
-  }.property('showFooterTermsLink', 'showFooterPrivacyLink')
-});

+ 13 - 0
misago/static/misago/js/controllers/footer.js

@@ -0,0 +1,13 @@
+Misago.FooterController = Ember.Controller.extend({
+  showFooterTermsLink: function() {
+    return this.get('settings.terms_of_service') || this.get('settings.terms_of_service_link');
+  }.property('settings'),
+
+  showFooterPrivacyLink: function() {
+    return this.get('settings.privacy_policy') || this.get('settings.privacy_policy_link');
+  }.property('settings'),
+
+  showFooterNav: function() {
+    return this.get('showFooterTermsLink') || this.get('showFooterPrivacyLink');
+  }.property('showFooterTermsLink', 'showFooterPrivacyLink')
+});

+ 1 - 0
misago/static/misago/js/controllers/navbar.js

@@ -0,0 +1 @@
+

+ 2 - 2
misago/static/misago/js/templates/application.hbs

@@ -1,5 +1,5 @@
-{{partial "navbar"}}
+{{render "navbar"}}
 
 {{outlet}}
 
-{{partial "footer"}}
+{{render "footer"}}