Skip to content

Template helpers for meteorhacks:flow-router, pathFor, subsReady, urlFor, queryParam

License

Notifications You must be signed in to change notification settings

arillo/meteor-flow-router-helpers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Helpers for FlowRouter

THIS PROJECT IS DEPRECATING and not mantained anymore. If you are interested in mainting it just send us an e-mail.

Template helpers for kadira:flow-router

  • subsReady
  • isSubReady (deprecated)
  • pathFor
  • urlFor
  • param
  • queryParam
  • currentRouteName
  • currentRouteOption

Content blocks

  • linkTo

See zimme:active-route for using the following helpers

  • isActiveRoute
  • isActivePath
  • isNotActiveRoute
  • isNotActivePath

On the server it exports FlowRouterHelpers, with:

  • urlFor
  • pathFor

Install

meteor add arillo:flow-router-helpers

Demo

https://flowrouterhelpers.meteor.com

Examples

https://github.com/arillo/meteor-flow-router-helpers-example

Usage subsReady

If you call subsReady without parameters it will check for all flow-router subscriptions to be ready. (It will not take into account the template level subscriptions you define)

If you pass parameters it will just check for this specific flow-router subscriptions to be ready. The parameters would be the subscription names you used when registering them on FlowRouter, like:

FlowRouter.route('/posts', {
    subscriptions: function(params, queryParams) {
        this.register('posts', Meteor.subscribe('posts'));
        this.register('items', Meteor.subscribe('items'));
    }
});
{{#if subsReady 'items' 'posts'}}
  <ul>
  {{#each items}}
    <li>{{title}}</li>
  {{/each}}
  </ul>
  <ul>
  {{#each posts}}
    <li>{{title}}</li>
  {{/each}}
  </ul>
{{/if}}

Usage isSubReady (deprecated)

Checks whether your subscription is ready. If you don't pass a subscription name it will check for all subscriptions.

{{#if isSubReady 'items'}}
  <ul>
  {{#each items}}
    <li>{{title}}</li>
  {{/each}}
  </ul>
{{/if}}

Usage pathFor

Used to build a path to your route. First parameter can be either the path definition or, since version 1.2.0 of flow-router, the name you assigned the route. After that you can pass the params needed to construct the path. Query parameters can be passed with the query parameter.

Notice: To deparameterize the query string we are currently using the not yet official accessor for the query lib in page.js via FlowRouter._qs

<a href="{{pathFor '/post/:id' id=_id}}">Link to post</a>
<a href="{{pathFor 'postRouteName' id=_id}}">Link to post</a>
<a href="{{pathFor '/post/:id/comments/:cid' id=_id cid=comment._id}}">Link to comment in post</a>
<a href="{{pathFor '/post/:id/comments/:cid' id=_id cid=comment._id query='back=yes&more=true'}}">Link to comment in post with query params</a>

Server side it can be used like this: FlowRouterHelpers.pathFor('/post/:id',{ id:'12345' })

Usage urlFor

Same as pathFor, returns absolute URL.

{{urlFor '/post/:id' id=_id}}

Usage linkTo

Custom content block for creating a link

{{#linkTo '/posts/'}}
  Go to posts
{{/linkTo}}

will return <a href="/posts/">Go to posts</a>

Usage param

Returns the value for a url parameter

<div>ID of this post is <em>{{param 'id'}}</em></div>

Usage queryParam

Returns the value for a query parameter

<input placeholder="Search" value="{{queryParam 'query'}}">

Usage currentRouteName

Returns the name of the current route

<div class={{currentRouteName}}>
  ...
</div>

Usage currentRouteOption

This adds support to get options from flow router

FlowRouter.route("name", {
  name: "yourRouteName",
  action() {
    BlazeLayout.render("layoutTemplate", {main: "main"});
  },
  coolOption: "coolOptionValue"
});
<div class={{currentRouteOption 'customRouteOption'}}>
  ...
</div>

Changelog:

0.5.2 - Add currentRouteOption
0.5.0 - Add linkTo custom content block. Allow use of pathFor & urlFor on the server
0.4.6 - Add hashbang option to pathFor
0.4.4 - added currentRouteName helper
0.4.3 - added param helper
0.4.0 - updated to use kadira:flow-router
0.3.0 - changed isSubReady in favor of subsReady

About

Template helpers for meteorhacks:flow-router, pathFor, subsReady, urlFor, queryParam

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published