diaspora/public/javascripts/diaspora.js
Raphael Sofaer bad0d9f4ea Merge branch 'master' of github.com:diaspora/diaspora
Conflicts:
	public/javascripts/keycodes.js
2011-04-21 12:49:49 -07:00

57 lines
1.4 KiB
JavaScript

/* Copyright (c) 2010, Diaspora Inc. This file is
* licensed under the Affero General Public License version 3 or later. See
* the COPYRIGHT file.
*/
(function() {
if(typeof window.Diaspora !== "undefined") {
return;
}
var Diaspora = { };
vara = 5;
Diaspora.WidgetCollection = function() {
this.initialized = false;
this.collection = { };
this.eventsContainer = $({});
};
Diaspora.WidgetCollection.prototype.add = function(widgetId, widget) {
this[widgetId] = this.collection[widgetId] = new widget();
if(this.initialized) {
this.collection[widgetId].start();
}
};
Diaspora.WidgetCollection.prototype.remove = function(widgetId) {
delete this.collection[widgetId];
};
Diaspora.WidgetCollection.prototype.init = function() {
this.initialized = true;
for(var widgetId in this.collection) {
if(this.collection[widgetId].hasOwnProperty("start")
|| this.collection[widgetId].__proto__.hasOwnProperty("start")) {
this.collection[widgetId].start();
}
}
};
Diaspora.WidgetCollection.prototype.subscribe = function(id, callback) {
this.eventsContainer.bind(id, callback);
};
Diaspora.WidgetCollection.prototype.publish = function(id) {
this.eventsContainer.trigger(id);
};
Diaspora.widgets = new Diaspora.WidgetCollection();
window.Diaspora = Diaspora;
})();
$(document).ready(function() { Diaspora.widgets.init(); });