Vulcan/packages/base-components/lib/routes.jsx

174 lines
4.7 KiB
React
Raw Normal View History

2016-02-19 12:27:58 +09:00
import React from 'react';
2016-03-23 11:46:56 +09:00
import Router from './router.js'
2016-02-19 12:27:58 +09:00
import {mount} from 'react-mounter';
2016-03-27 16:32:29 +09:00
2016-02-17 15:09:49 +09:00
// ------------------------------------- Posts -------------------------------- //
2016-03-23 11:46:56 +09:00
Router.route('/', {
2016-02-18 12:16:32 +09:00
name: 'posts.list',
2016-02-19 12:27:58 +09:00
action(params, queryParams) {
2016-03-27 16:32:29 +09:00
({App, ListContainer, PostList} = Telescope.components);
queryParams = _.isEmpty(queryParams) ? {view: 'new'} : _.clone(queryParams);
({selector, options} = Posts.parameters.get(queryParams));
2016-02-19 12:27:58 +09:00
2016-03-27 16:32:29 +09:00
mount(App, {content:
2016-02-17 17:22:32 +09:00
<ListContainer
collection={Posts}
publication="posts.list"
selector={selector}
options={options}
2016-02-17 17:22:32 +09:00
terms={queryParams}
joins={Posts.getJoins()}
component={PostList}
/>})
2016-02-17 15:09:49 +09:00
}
});
2016-03-23 11:46:56 +09:00
Router.route('/daily/:days?', {
name: 'posts.daily',
2016-03-22 10:22:46 +09:00
action(params, queryParams) {
2016-03-27 16:32:29 +09:00
({App, PostDaily} = Telescope.components);
2016-03-22 10:22:46 +09:00
2016-03-27 16:32:29 +09:00
mount(App, {content: <PostDaily days={params.days}/>})
2016-03-22 10:22:46 +09:00
}
});
Router.route('/posts/:_id/:slug?', {
2016-02-18 12:16:32 +09:00
name: 'posts.single',
2016-02-19 12:27:58 +09:00
action(params, queryParams) {
2016-03-27 16:32:29 +09:00
({App, DocumentContainer, PostPage} = Telescope.components);
mount(App, {content:
2016-03-02 13:54:58 +09:00
<DocumentContainer
collection={Posts}
publication="posts.single"
2016-02-27 10:58:57 +09:00
selector={params}
terms={params}
joins={Posts.getJoins()}
2016-03-25 11:30:01 +09:00
component={PostPage}
/>});
2016-02-17 15:09:49 +09:00
}
});
2016-03-23 11:46:56 +09:00
// Router.route('/posts/:_id/edit', {
2016-02-27 17:46:11 +09:00
// name: 'posts.edit',
// action(params, queryParams) {
2016-03-27 16:32:29 +09:00
// ({App, DocumentContainer} = Telescope.components);
// mount(App, {content: <DocumentContainer
2016-02-27 17:46:11 +09:00
// collection={Posts}
// publication="posts.single"
// selector={{_id: params._id}}
// terms={params}
// component={PostEdit}
2016-03-02 13:54:58 +09:00
// ><PostEdit/></DocumentContainer>});
2016-02-27 17:46:11 +09:00
// }
// });
2016-02-17 15:09:49 +09:00
2016-03-23 11:46:56 +09:00
Router.route('/users/:slug', {
name: 'users.single',
action(params, queryParams) {
2016-03-27 16:32:29 +09:00
({App, DocumentContainer, UserSingle} = Telescope.components);
mount(App, {content:
2016-03-02 13:54:58 +09:00
<DocumentContainer
collection={Users}
publication="users.single"
2016-02-27 10:58:57 +09:00
selector={{'telescope.slug': params.slug}}
terms={{'telescope.slug': params.slug}}
2016-03-25 12:42:25 +09:00
component={UserSingle}
/>});
}
});
2016-02-23 11:34:40 +09:00
2016-03-23 11:46:56 +09:00
Router.route('/account', {
2016-02-23 11:34:40 +09:00
name: 'account',
action(params, queryParams) {
2016-03-27 16:32:29 +09:00
({App, DocumentContainer, UserEdit} = Telescope.components);
mount(App, {content:
2016-03-02 13:54:58 +09:00
<DocumentContainer
2016-02-23 11:34:40 +09:00
collection={Users}
publication="users.single"
2016-02-27 10:58:57 +09:00
selector={{_id: Meteor.userId()}}
2016-02-23 11:34:40 +09:00
terms={{_id: Meteor.userId()}}
2016-03-25 12:42:25 +09:00
component={UserEdit}
/>});
2016-02-23 11:34:40 +09:00
}
});
2016-03-23 11:46:56 +09:00
Router.route('/users/:slug/edit', {
2016-02-23 11:34:40 +09:00
name: 'users.edit',
action(params, queryParams) {
2016-03-27 16:32:29 +09:00
({App, DocumentContainer, UserEdit} = Telescope.components);
mount(App, {content:
2016-03-02 13:54:58 +09:00
<DocumentContainer
2016-02-23 11:34:40 +09:00
collection={Users}
publication="users.single"
2016-02-27 10:58:57 +09:00
selector={params}
2016-02-23 11:34:40 +09:00
terms={params}
2016-03-25 12:42:25 +09:00
component={UserEdit}
/>});
2016-02-23 11:34:40 +09:00
}
});
2016-03-23 11:46:56 +09:00
Router.route('/cheatsheet', {
2016-03-19 10:15:36 +09:00
name: 'cheatsheet',
action() {
2016-03-27 16:32:29 +09:00
({App, Cheatsheet} = Telescope.components);
mount(App, {content: <Cheatsheet/>});
2016-03-19 10:15:36 +09:00
}
});
2016-02-23 11:34:40 +09:00
2016-02-17 15:09:49 +09:00
// ------------------------------------- Comments -------------------------------- //
2016-03-23 11:46:56 +09:00
// Router.route('/comments/:_id', {
2016-02-17 15:09:49 +09:00
// name: "commentPage",
// action: function(params, queryParams) {
// BlazeLayout.render("layout", {main: "comment_controller", commentTemplate: "comment_reply"});
// }
// });
2016-03-23 11:46:56 +09:00
// Router.route('/comments/:_id/edit', {
2016-02-17 15:09:49 +09:00
// name: "commentEdit",
// action: function(params, queryParams) {
// BlazeLayout.render("layout", {main: "comment_controller", commentTemplate: "comment_edit"});
// }
// });
// ------------------------------------- Users -------------------------------- //
// Telescope.adminRoutes.route('/users', {
// name: "adminUsers",
// action: function(params, queryParams) {
// BlazeLayout.render("layout", {main: "admin_wrapper", admin: "users_dashboard"});
// }
// });
2016-03-23 11:46:56 +09:00
// Router.route('/users/:_idOrSlug', {
2016-02-17 15:09:49 +09:00
// name: "userProfile",
// action: function(params, queryParams) {
// BlazeLayout.render("layout", {main: "user_controller", userTemplate: "user_profile"});
// }
// });
2016-03-23 11:46:56 +09:00
// Router.route('/users/:_idOrSlug/edit', {
2016-02-17 15:09:49 +09:00
// name: "userEdit",
// action: function(params, queryParams) {
// BlazeLayout.render("layout", {main: "user_controller", userTemplate: "user_edit"});
// }
// });
2016-03-23 11:46:56 +09:00
// Router.route('/account', {
2016-02-17 15:09:49 +09:00
// name: "userAccountShortcut",
// triggersEnter: [function(context, redirect) {
// redirect("userEdit", {_idOrSlug: Meteor.userId()});
// }]
// });
2016-03-23 11:46:56 +09:00
// Router.route('/sign-out', {
2016-02-17 15:09:49 +09:00
// name: "signOut",
// triggersEnter: [function(context, redirect) {
// AccountsTemplates.logout();
// Messages.flash(i18n.t("you_have_been_logged_out"));
// }]
// });