EVOLUTION-MANAGER
Edit File: extensions.min.js
(function(){if(!window.Djblets){window.Djblets={}}Djblets.Extension=Backbone.Model.extend({defaults:{id:null,name:null,settings:{}},initialize:function(){this.hooks=[]}});Djblets.ExtensionHook=Backbone.Model.extend({hookPoint:null,defaults:{extension:null},initialize:function(){var extension=this.get("extension");console.assert(this.hookPoint,"This ExtensionHook subclass must define hookPoint");console.assert(extension,"An Extension instance must be passed to ExtensionHook");extension.hooks.push(this);this.hookPoint.addHook(this);this.setUpHook()},setUpHook:function(){}},{each:function(cb,context){_.each(this.prototype.hookPoint.hooks,cb,context)}});Djblets.ExtensionHookPoint=Backbone.Model.extend({initialize:function(){this.hooks=[]},addHook:function(hook){this.hooks.push(hook)}})}).call(this);