Skip to content

Instantly share code, notes, and snippets.

@RyanHirsch
Created December 16, 2015 15:15
Show Gist options
  • Select an option

  • Save RyanHirsch/cffbf18c0788ab64f50b to your computer and use it in GitHub Desktop.

Select an option

Save RyanHirsch/cffbf18c0788ab64f50b to your computer and use it in GitHub Desktop.
New Twiddle
import Ember from 'ember';
import hookableSort from 'demo-app/hookable-sort';
export default Ember.Controller.extend({
appName:'Ember Twiddle',
foo: [ 'b', 'a', 'd', 'c' ],
sortedFoo: hookableSort('foo', function() {
// I don't know how to use method
console.log('things be happening');
})
});
<h1>Welcome to {{appName}}</h1>
<br>
<ul>
{{#each sortedFoo as |f|}}
<li>{{f}}</li>
{{/each}}
</ul>
<br>
{{outlet}}
<br>
<br>
import Ember from 'ember';
const {
computed
} = Ember;
export default function hookableSort(arrString, method) {
console.log(this);
console.log(arrString);
console.log(method);
const fn = () => {
const arr = this.get(arrString);
this.triggerStart();
arr.sortBy(args);
this.triggerDone();
return arr;
};
return computed(arrString + '.[]', fn);
}
{
"version": "0.4.17",
"EmberENV": {
"FEATURES": {}
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/2.2.0/ember.debug.js",
"ember-data": "https://cdnjs.cloudflare.com/ajax/libs/ember-data.js/2.2.0/ember-data.js",
"ember-template-compiler": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/2.2.0/ember-template-compiler.js"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment