add a basepage that is instantiated on all pages. remove meaningless pages

This commit is contained in:
Dan Hansen 2011-08-26 12:30:09 -05:00
parent d75ef8d020
commit 07beb3c1fb
18 changed files with 20 additions and 122 deletions

View file

@ -37,8 +37,6 @@
Diaspora.BaseWidget = {
instantiate: function(Widget, element) {
if(typeof Diaspora.Widgets[Widget] === "undefined") { throw new Error("Widget " + Widget + " does not exist"); }
$.extend(Diaspora.Widgets[Widget].prototype, Diaspora.EventBroker.extend(Diaspora.BaseWidget));
var widget = new Diaspora.Widgets[Widget](),
@ -50,7 +48,6 @@
},
globalSubscribe: function(eventName, callback, context) {
if(typeof callback === "undefined") { throw new Error("Callback must be defined for event: " + eventName); }
Diaspora.page.subscribe(eventName, callback, context);
},
@ -59,6 +56,18 @@
}
};
Diaspora.BasePage = function(body) {
$.extend(this, Diaspora.BaseWidget);
$.extend(this, {
backToTop: this.instantiate("BackToTop", body.find("#back-to-top")),
directionDetector: this.instantiate("DirectionDetector"),
flashMessages: this.instantiate("FlashMessages"),
header: this.instantiate("Header", body.find("header")),
hoverCard: this.instantiate("HoverCard", body.find("#hovercard")),
timeAgo: this.instantiate("TimeAgo", "abbr.timeago")
});
};
window.Diaspora = Diaspora;
})();
@ -66,12 +75,13 @@
$(function() {
if (typeof Diaspora.Pages[Diaspora.Page] === "undefined") {
Diaspora.page = Diaspora.EventBroker.extend(Diaspora.BaseWidget);
return;
} else {
var Page = Diaspora.Pages[Diaspora.Page];
$.extend(Page.prototype, Diaspora.EventBroker.extend(Diaspora.BaseWidget));
Diaspora.page = new Page();
}
var Page = Diaspora.Pages[Diaspora.Page];
$.extend(Page.prototype, Diaspora.EventBroker.extend(Diaspora.BaseWidget));
Diaspora.page = new Page();
$.extend(Diaspora.page, new Diaspora.BasePage($(document.body)));
Diaspora.page.publish("page/ready", [$(document.body)])
});

View file

@ -1,9 +0,0 @@
Diaspora.Pages.AdminsUserSearch= function() {
var self = this;
this.subscribe("page/ready", function(evt, document) {
self.instantiate("Header", document.find("header"));
self.directionDetector = self.instantiate("DirectionDetector");
self.flashMessages = self.instantiate("FlashMessages");
});
};

View file

@ -3,13 +3,6 @@ Diaspora.Pages.AspectsIndex = function() {
this.subscribe("page/ready", function(evt, document) {
self.stream = self.instantiate("Stream", document.find("#aspect_stream_container"));
self.header = self.instantiate("Header", document.find("header"));
self.backToTop = self.instantiate("BackToTop", document.find("#back-to-top"));
self.hoverCard = self.instantiate("HoverCard", document.find("#hovercard"));
self.infiniteScroll = self.instantiate("InfiniteScroll");
self.timeAgo = self.instantiate("TimeAgo", "abbr.timeago");
self.directionDetector = self.instantiate("DirectionDetector");
self.flashMessages = self.instantiate("FlashMessages");
});
};

View file

@ -1,9 +0,0 @@
Diaspora.Pages.AuthorizationsIndex = function() {
var self = this;
this.subscribe("page/ready", function(evt, document) {
self.instantiate("Header", document.find("header"));
self.directionDetector = self.instantiate("DirectionDetector");
self.flashMessages = self.instantiate("FlashMessages");
});
};

View file

@ -2,12 +2,6 @@ Diaspora.Pages.ContactsIndex = function() {
var self = this;
this.subscribe("page/ready", function(evt, document) {
self.instantiate("Header", document.find("header"));
self.hoverCard = self.instantiate("HoverCard", document.find("#hovercard"));
self.infiniteScroll = self.instantiate("InfiniteScroll");
self.timeAgo = self.instantiate("TimeAgo", "abbr.timeago");
self.directionDetector = self.instantiate("DirectionDetector");
self.flashMessages = self.instantiate("FlashMessages");
});
};

View file

@ -1,8 +0,0 @@
Diaspora.Pages.ConversationsIndex = function() {
var self = this;
this.subscribe("page/ready", function(evt, body) {
self.header = self.instantiate("Header", body.find("header"));
self.directionDetector = self.instantiate("DirectionDetector");
});
};

View file

@ -2,13 +2,6 @@ Diaspora.Pages.NotificationsIndex = function() {
var self = this;
this.subscribe("page/ready", function(evt, document) {
self.instantiate("Header", document.find("header"));
self.hoverCard = self.instantiate("HoverCard", document.find("#hovercard"));
self.infiniteScroll = self.instantiate("InfiniteScroll");
self.timeAgo = self.instantiate("TimeAgo", "abbr.timeago");
self.directionDetector = self.instantiate("DirectionDetector");
self.flashMessages = self.instantiate("FlashMessages");
});
};

View file

@ -1,12 +0,0 @@
Diaspora.Pages.PeopleFeaturedUsers = function() {
var self = this;
this.subscribe("page/ready", function(evt, document) {
self.instantiate("Header", document.find("header"));
self.hoverCard = self.instantiate("HoverCard", document.find("#hovercard"));
self.directionDetector = self.instantiate("DirectionDetector");
self.flashMessages = self.instantiate("FlashMessages");
});
};

View file

@ -1,7 +0,0 @@
Diaspora.Pages.PeopleIndex = function() {
var self = this;
this.subscribe("page/ready", function(evt, body) {
self.header = self.instantiate("Header", body.find("header"));
});
};

View file

@ -2,13 +2,7 @@ Diaspora.Pages.PeopleShow = function() {
var self = this;
this.subscribe("page/ready", function(evt, document) {
self.header = self.instantiate("Header", document.find("header"));
self.stream = self.instantiate("Stream", document.find("#main_stream"));
self.hoverCard = self.instantiate("HoverCard", document.find("#hovercard"));
self.infiniteScroll = self.instantiate("InfiniteScroll");
self.timeAgo = self.instantiate("TimeAgo", "abbr.timeago");
self.directionDetector = self.instantiate("DirectionDetector");
self.flashMessages = self.instantiate("FlashMessages");
});
};

View file

@ -2,7 +2,6 @@ Diaspora.Pages.PostsShow = function() {
var self = this;
this.subscribe("page/ready", function(evt, body) {
self.header = self.instantiate("Header", body.find("header"));
self.stream = self.instantiate("Stream", body.find("#main_stream"));
});
};

View file

@ -1,9 +0,0 @@
Diaspora.Pages.ProfilesEdit = function() {
var self = this;
this.subscribe("page/ready", function(evt, body) {
self.header = self.instantiate("Header", body.find("header"));
// self.peopleSearch = self.instantiate("Search", body.find("#update_profile_form"));
});
};

View file

@ -2,13 +2,6 @@ Diaspora.Pages.ServicesFinder = function() {
var self = this;
this.subscribe("page/ready", function(evt, document) {
self.instantiate("Header", document.find("header"));
self.hoverCard = self.instantiate("HoverCard", document.find("#hovercard"));
self.infiniteScroll = self.instantiate("InfiniteScroll");
self.timeAgo = self.instantiate("TimeAgo", "abbr.timeago");
self.directionDetector = self.instantiate("DirectionDetector");
self.flashMessages = self.instantiate("FlashMessages");
});
};

View file

@ -1,9 +0,0 @@
Diaspora.Pages.ServicesIndex= function() {
var self = this;
this.subscribe("page/ready", function(evt, document) {
self.instantiate("Header", document.find("header"));
self.directionDetector = self.instantiate("DirectionDetector");
self.flashMessages = self.instantiate("FlashMessages");
});
};

View file

@ -1,14 +1,7 @@
Diaspora.Pages.TagsShow = function() {
var self = this;
this.subscribe("page/ready", function(evt, document) {
self.instantiate("Header", document.find("header"));
self.hoverCard = self.instantiate("HoverCard", document.find("#hovercard"));
this.subscribe("page/ready", function() {
self.infiniteScroll = self.instantiate("InfiniteScroll");
self.timeAgo = self.instantiate("TimeAgo", "abbr.timeago");
self.directionDetector = self.instantiate("DirectionDetector");
self.flashMessages = self.instantiate("FlashMessages");
});
};

View file

@ -1,7 +0,0 @@
Diaspora.Pages.UsersEdit = function() {
var self = this;
this.subscribe("page/ready", function(evt, body) {
self.header = self.instantiate("Header", body.find("header"));
});
};

View file

@ -2,8 +2,6 @@ Diaspora.Pages.UsersGettingStarted = function() {
var self = this;
this.subscribe("page/ready", function(evt, body) {
self.header = self.instantiate("Header", body.find("header"));
self.peopleSearch = self.instantiate("Search", body.find("form.people.search_form"));
self.tagSearch = self.instantiate("Search", body.find("form.tag.search_form"));
});

View file

@ -29,6 +29,7 @@ var View = {
$(this.search.selector)
.blur(this.search.blur)
.focus(this.search.focus)
/* Submit the form when the user hits enter */
.keypress(this.search.keyPress);