Skip to content

Instantly share code, notes, and snippets.

@mikemorris
Forked from burin/each_with_index.coffee
Created September 28, 2012 17:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mikemorris/3800980 to your computer and use it in GitHub Desktop.
Save mikemorris/3800980 to your computer and use it in GitHub Desktop.
each_with_index handlebars helper, adds an {{index}} prop accessible from within the block
// <ul data-length="{{records.length}}">
// {{#each_with_index records}}
// <li class="legend_item{{this.index}}" z-index="{{this.reverse}}"><span></span>{{this.name}}</li>
// {{/each_with_index}}
// </ul>
Handlebars.registerHelper("each_with_index", function(array, options) {
var buffer = "";
for (var i = 0, j = array.length; i < j; i++) {
var item = array[i];
// stick an index property onto the item, starting with 1, may make configurable later
item.index = i+1;
item.reverse = j-i;
// show the inside of the block
buffer += options.fn(item);
}
// return the finished buffer
return buffer;
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment