12345678910111213141516171819202122232425262728293031323334353637383940 |
- if(!Package['meteorhacks:fast-render']) {
- return;
- }
- FastRender = Package['meteorhacks:fast-render'].FastRender;
- // hack to run after eveything else on startup
- Meteor.startup(function () {
- Meteor.startup(function () {
- setupFastRender();
- });
- });
- function setupFastRender () {
- _.each(FlowRouter._routes, function (route) {
- FastRender.route(route.pathDef, function (routeParams, path) {
- var self = this;
- // anyone using Meteor.subscribe for something else?
- var original = Meteor.subscribe;
- Meteor.subscribe = function () {
- return _.toArray(arguments);
- };
- route._subsMap = {};
- FlowRouter.subscriptions.call(route, path);
- if(route.subscriptions) {
- var queryParams = routeParams.query;
- var params = _.omit(routeParams, 'query');
- route.subscriptions(params, queryParams);
- }
- _.each(route._subsMap, function (args) {
- self.subscribe.apply(self, args);
- });
- // restore Meteor.subscribe, ... on server side
- Meteor.subscribe = original;
- });
- });
- }
|