Sort router.js
This commit is contained in:
parent
9c46e69b7a
commit
9b4ff768ca
1 changed files with 139 additions and 139 deletions
|
|
@ -2,35 +2,35 @@
|
|||
|
||||
app.Router = Backbone.Router.extend({
|
||||
routes: {
|
||||
"help/:section": "help",
|
||||
"help/": "help",
|
||||
"help": "help",
|
||||
"getting_started": "gettingStarted",
|
||||
"contacts": "contacts",
|
||||
"community_spotlight": "spotlight",
|
||||
"conversations": "conversations",
|
||||
"user/edit": "settings",
|
||||
"users/sign_up": "registration",
|
||||
"profile/edit": "settings",
|
||||
"admins/dashboard": "adminDashboard",
|
||||
"admin/pods": "adminPods",
|
||||
"posts/:id": "singlePost",
|
||||
"p/:id": "singlePost",
|
||||
"activity": "stream",
|
||||
"stream": "stream",
|
||||
"admin/pods": "adminPods",
|
||||
"admins/dashboard": "adminDashboard",
|
||||
"aspects": "aspects",
|
||||
"commented": "stream",
|
||||
"community_spotlight": "spotlight",
|
||||
"contacts": "contacts",
|
||||
"conversations": "conversations",
|
||||
"followed_tags": "followed_tags",
|
||||
"getting_started": "gettingStarted",
|
||||
"help": "help",
|
||||
"help/": "help",
|
||||
"help/:section": "help",
|
||||
"liked": "stream",
|
||||
"mentions": "stream",
|
||||
"public": "stream",
|
||||
"followed_tags": "followed_tags",
|
||||
"tags/:name": "followed_tags",
|
||||
"people/:id/photos": "photos",
|
||||
"people/:id/contacts": "profile",
|
||||
"people": "pageWithAspectMembershipDropdowns",
|
||||
"notifications": "notifications",
|
||||
"p/:id": "singlePost",
|
||||
"people": "pageWithAspectMembershipDropdowns",
|
||||
"people/:id": "profile",
|
||||
"u/:name": "profile"
|
||||
"people/:id/contacts": "profile",
|
||||
"people/:id/photos": "photos",
|
||||
"posts/:id": "singlePost",
|
||||
"profile/edit": "settings",
|
||||
"public": "stream",
|
||||
"stream": "stream",
|
||||
"tags/:name": "followed_tags",
|
||||
"u/:name": "profile",
|
||||
"user/edit": "settings",
|
||||
"users/sign_up": "registration"
|
||||
},
|
||||
|
||||
initialize: function() {
|
||||
|
|
@ -40,12 +40,6 @@ app.Router = Backbone.Router.extend({
|
|||
this.route(/^bookmarklet(?:\?(.*))?/, "bookmarklet");
|
||||
},
|
||||
|
||||
help: function(section) {
|
||||
app.help = new app.views.Help();
|
||||
$("#help").prepend(app.help.el);
|
||||
app.help.render(section);
|
||||
},
|
||||
|
||||
adminDashboard: function() {
|
||||
app.page = new app.pages.AdminDashboard();
|
||||
},
|
||||
|
|
@ -58,107 +52,6 @@ app.Router = Backbone.Router.extend({
|
|||
});
|
||||
},
|
||||
|
||||
contacts: function() {
|
||||
app.aspect = new app.models.Aspect(gon.preloads.aspect);
|
||||
this._loadContacts();
|
||||
|
||||
var stream = new app.views.ContactStream({
|
||||
collection: app.contacts,
|
||||
el: $(".stream.contacts #contact_stream")
|
||||
});
|
||||
|
||||
app.page = new app.pages.Contacts({stream: stream});
|
||||
},
|
||||
|
||||
gettingStarted: function() {
|
||||
this.renderPage(function() {
|
||||
return new app.pages.GettingStarted({inviter: new app.models.Person(app.parsePreload("inviter"))});
|
||||
});
|
||||
},
|
||||
|
||||
conversations: function() {
|
||||
app.conversations = new app.views.Conversations();
|
||||
},
|
||||
|
||||
notifications: function() {
|
||||
this._loadContacts();
|
||||
this.renderAspectMembershipDropdowns($(document));
|
||||
new app.views.Notifications({el: "#notifications_container"});
|
||||
},
|
||||
|
||||
registration: function() {
|
||||
app.page = new app.pages.Registration();
|
||||
},
|
||||
|
||||
settings: function() {
|
||||
app.page = new app.pages.Settings();
|
||||
},
|
||||
|
||||
singlePost: function(id) {
|
||||
this.renderPage(function() { return new app.pages.SinglePostViewer({id: id}); });
|
||||
},
|
||||
|
||||
spotlight: function() {
|
||||
$("#invitations-button").click(function() {
|
||||
app.helpers.showModal("#invitationsModal");
|
||||
});
|
||||
},
|
||||
|
||||
renderPage: function(pageConstructor) {
|
||||
// old page might mutate global events $(document).keypress, so unbind before creating
|
||||
app.page && app.page.unbind && app.page.unbind();
|
||||
// create new page after the world is clean (like that will ever happen)
|
||||
app.page = pageConstructor();
|
||||
app.page.render();
|
||||
|
||||
if (!$.contains(document, app.page.el)) {
|
||||
// view element isn"t already attached to the DOM, insert it
|
||||
$("#container").empty().append(app.page.el);
|
||||
}
|
||||
},
|
||||
|
||||
stream: function() {
|
||||
app.stream = new app.models.Stream();
|
||||
app.stream.fetch();
|
||||
this._initializeStreamView();
|
||||
},
|
||||
|
||||
photos: function(guid) {
|
||||
this._loadContacts();
|
||||
this.renderPage(function() {
|
||||
return new app.pages.Profile({
|
||||
/* eslint-disable camelcase */
|
||||
person_id: guid,
|
||||
/* eslint-enable camelcase */
|
||||
el: $("body > #profile_container"),
|
||||
streamCollection: app.collections.Photos,
|
||||
streamView: app.views.Photos
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
/* eslint-disable camelcase */
|
||||
followed_tags: function(name) {
|
||||
/* eslint-enable camelcase */
|
||||
this.stream();
|
||||
|
||||
app.tagFollowings = new app.collections.TagFollowings();
|
||||
this.followedTagsView = new app.views.TagFollowingList({collection: app.tagFollowings});
|
||||
$("#tags_list").replaceWith(this.followedTagsView.render().el);
|
||||
this.followedTagsView.setupAutoSuggest();
|
||||
|
||||
app.tagFollowings.reset(gon.preloads.tagFollowings);
|
||||
|
||||
if (name) {
|
||||
var followedTagsAction = new app.views.TagFollowingAction(
|
||||
{tagText: decodeURIComponent(name).toLowerCase()}
|
||||
);
|
||||
$("#author_info").prepend(followedTagsAction.render().el);
|
||||
app.tags = new app.views.Tags({hashtagName: name});
|
||||
}
|
||||
this._hideInactiveStreamLists();
|
||||
},
|
||||
|
||||
aspects: function() {
|
||||
app.aspectSelections = app.aspectSelections ||
|
||||
new app.collections.AspectSelections(app.currentUser.get("aspects"));
|
||||
|
|
@ -188,6 +81,76 @@ app.Router = Backbone.Router.extend({
|
|||
).render();
|
||||
},
|
||||
|
||||
contacts: function() {
|
||||
app.aspect = new app.models.Aspect(gon.preloads.aspect);
|
||||
this._loadContacts();
|
||||
|
||||
var stream = new app.views.ContactStream({
|
||||
collection: app.contacts,
|
||||
el: $(".stream.contacts #contact_stream")
|
||||
});
|
||||
|
||||
app.page = new app.pages.Contacts({stream: stream});
|
||||
},
|
||||
|
||||
conversations: function() {
|
||||
app.conversations = new app.views.Conversations();
|
||||
},
|
||||
|
||||
/* eslint-disable camelcase */
|
||||
followed_tags: function(name) {
|
||||
/* eslint-enable camelcase */
|
||||
this.stream();
|
||||
|
||||
app.tagFollowings = new app.collections.TagFollowings();
|
||||
this.followedTagsView = new app.views.TagFollowingList({collection: app.tagFollowings});
|
||||
$("#tags_list").replaceWith(this.followedTagsView.render().el);
|
||||
this.followedTagsView.setupAutoSuggest();
|
||||
|
||||
app.tagFollowings.reset(gon.preloads.tagFollowings);
|
||||
|
||||
if (name) {
|
||||
var followedTagsAction = new app.views.TagFollowingAction(
|
||||
{tagText: decodeURIComponent(name).toLowerCase()}
|
||||
);
|
||||
$("#author_info").prepend(followedTagsAction.render().el);
|
||||
app.tags = new app.views.Tags({hashtagName: name});
|
||||
}
|
||||
this._hideInactiveStreamLists();
|
||||
},
|
||||
|
||||
gettingStarted: function() {
|
||||
this.renderPage(function() {
|
||||
return new app.pages.GettingStarted({inviter: new app.models.Person(app.parsePreload("inviter"))});
|
||||
});
|
||||
},
|
||||
|
||||
help: function(section) {
|
||||
app.help = new app.views.Help();
|
||||
$("#help").prepend(app.help.el);
|
||||
app.help.render(section);
|
||||
},
|
||||
|
||||
notifications: function() {
|
||||
this._loadContacts();
|
||||
this.renderAspectMembershipDropdowns($(document));
|
||||
new app.views.Notifications({el: "#notifications_container"});
|
||||
},
|
||||
|
||||
photos: function(guid) {
|
||||
this._loadContacts();
|
||||
this.renderPage(function() {
|
||||
return new app.pages.Profile({
|
||||
/* eslint-disable camelcase */
|
||||
person_id: guid,
|
||||
/* eslint-enable camelcase */
|
||||
el: $("body > #profile_container"),
|
||||
streamCollection: app.collections.Photos,
|
||||
streamView: app.views.Photos
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
profile: function() {
|
||||
this._loadContacts();
|
||||
this.renderPage(function() {
|
||||
|
|
@ -197,23 +160,30 @@ app.Router = Backbone.Router.extend({
|
|||
});
|
||||
},
|
||||
|
||||
pageWithAspectMembershipDropdowns: function() {
|
||||
this._loadContacts();
|
||||
this.renderAspectMembershipDropdowns($(document));
|
||||
registration: function() {
|
||||
app.page = new app.pages.Registration();
|
||||
},
|
||||
|
||||
_loadContacts: function() {
|
||||
app.contacts = new app.collections.Contacts(app.parsePreload("contacts"));
|
||||
settings: function() {
|
||||
app.page = new app.pages.Settings();
|
||||
},
|
||||
|
||||
renderAspectMembershipDropdowns: function($context) {
|
||||
$context.find(".aspect_membership_dropdown.placeholder").each(function() {
|
||||
var personId = $(this).data("personId");
|
||||
var view = new app.views.AspectMembership({person: app.contacts.findWhere({"person_id": personId}).person});
|
||||
$(this).html(view.render().$el);
|
||||
singlePost: function(id) {
|
||||
this.renderPage(function() { return new app.pages.SinglePostViewer({id: id}); });
|
||||
},
|
||||
|
||||
spotlight: function() {
|
||||
$("#invitations-button").click(function() {
|
||||
app.helpers.showModal("#invitationsModal");
|
||||
});
|
||||
},
|
||||
|
||||
stream: function() {
|
||||
app.stream = new app.models.Stream();
|
||||
app.stream.fetch();
|
||||
this._initializeStreamView();
|
||||
},
|
||||
|
||||
_hideInactiveStreamLists: function() {
|
||||
if (this.aspectsList && Backbone.history.fragment !== "aspects") {
|
||||
this.aspectsList.hideAspectsList();
|
||||
|
|
@ -238,6 +208,36 @@ app.Router = Backbone.Router.extend({
|
|||
|
||||
$("#main_stream").html(app.page.render().el);
|
||||
this._hideInactiveStreamLists();
|
||||
},
|
||||
|
||||
_loadContacts: function() {
|
||||
app.contacts = new app.collections.Contacts(app.parsePreload("contacts"));
|
||||
},
|
||||
|
||||
pageWithAspectMembershipDropdowns: function() {
|
||||
this._loadContacts();
|
||||
this.renderAspectMembershipDropdowns($(document));
|
||||
},
|
||||
|
||||
renderAspectMembershipDropdowns: function($context) {
|
||||
$context.find(".aspect_membership_dropdown.placeholder").each(function() {
|
||||
var personId = $(this).data("personId");
|
||||
var view = new app.views.AspectMembership({person: app.contacts.findWhere({"person_id": personId}).person});
|
||||
$(this).html(view.render().$el);
|
||||
});
|
||||
},
|
||||
|
||||
renderPage: function(pageConstructor) {
|
||||
// old page might mutate global events $(document).keypress, so unbind before creating
|
||||
app.page && app.page.unbind && app.page.unbind();
|
||||
// create new page after the world is clean (like that will ever happen)
|
||||
app.page = pageConstructor();
|
||||
app.page.render();
|
||||
|
||||
if (!$.contains(document, app.page.el)) {
|
||||
// view element isn"t already attached to the DOM, insert it
|
||||
$("#container").empty().append(app.page.el);
|
||||
}
|
||||
}
|
||||
});
|
||||
// @license-end
|
||||
|
|
|
|||
Loading…
Reference in a new issue