Skip to content

Instantly share code, notes, and snippets.

@poteto
Created July 9, 2016 21:32
Show Gist options
  • Select an option

  • Save poteto/717d4c5f774d0b2822e853d67ef7c3a9 to your computer and use it in GitHub Desktop.

Select an option

Save poteto/717d4c5f774d0b2822e853d67ef7c3a9 to your computer and use it in GitHub Desktop.
helpers should be pure
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
items: [2, 5, 3, 1, 4]
});
import Ember from 'ember';
const { K } = Ember;
const sortMap = {
ascending(a, b) { return a - b; },
descending(a, b) { return b - a; }
};
export function sort([order, items]) {
let sortFn = sortMap[order] || K;
items.sort(sortFn);
return items;
}
export default Ember.Helper.helper(sort);
<h1>Helpers should be pure</h1>
Items: {{items}}
<hr>
Sorted: {{sort "ascending" items}}
<hr>
Items: {{items}}
{
"version": "0.10.1",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "2.6.0",
"ember-data": "2.6.1",
"ember-template-compiler": "2.6.0"
},
"addons": {}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment