Support for automatic registering of initializers from plugins.

This commit is contained in:
Robin Ward
2014-05-15 17:01:01 -04:00
parent ba8b45792c
commit 63bf03ba5b
6 changed files with 47 additions and 37 deletions

View File

@ -114,6 +114,16 @@ window.Discourse = Ember.Application.createWithMixins(Discourse.Ajax, {
@method start
**/
start: function() {
// Load any ES6 initializers
Ember.keys(requirejs._eak_seen).filter(function(key) {
return (/\/initializers\//).test(key);
}).forEach(function(moduleName) {
var module = require(moduleName, null, null, true);
if (!module) { throw new Error(moduleName + ' must export an initializer.'); }
Discourse.initializer(module.default);
});
var initializers = this.initializers;
if (initializers) {
var self = this;
@ -127,6 +137,7 @@ window.Discourse = Ember.Application.createWithMixins(Discourse.Ajax, {
}
});
}
},
requiresRefresh: function(){
@ -164,10 +175,3 @@ window.Discourse = Ember.Application.createWithMixins(Discourse.Ajax, {
}.property("isReadOnly")
});
Discourse.initializer({
name: "register-discourse-location",
initialize: function(container, application) {
application.register('location:discourse-location', Ember.DiscourseLocation);
}
});