Skip to content

Instantly share code, notes, and snippets.

@validkeys
Last active March 26, 2017 19:37
Show Gist options
  • Select an option

  • Save validkeys/1a0eb11cb1d65ff3434e427e7b649de3 to your computer and use it in GitHub Desktop.

Select an option

Save validkeys/1a0eb11cb1d65ff3434e427e7b649de3 to your computer and use it in GitHub Desktop.
New Twiddle
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
sortDir: "asc",
sortProp: "id",
sortKey: Ember.computed('sortDir','sortProp',function(){
return [this.get('sortProp') + ":" + this.get('sortDir')];
}),
collection: Ember.computed.sort('model', 'sortKey'),
actions: {
sortBy: function(field) {
this.setProperties({
sortProp: field,
sortDir: (this.get('sortDir') === "asc") ? "desc" : "asc"
});
}
}
});
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return Ember.A([{id: 1, name: "kyle"}, {id: 2, name: "corban"}]);
}
});
<h1>Welcome to {{appName}}</h1>
<br>
<br>
{{outlet}}
<br>
<br>
<table>
<tr>
<td {{action "sortBy" "id"}}>id</td><td {{action "sortBy" "name"}}>name</td>
</tr>
{{#each collection as |user|}}
<tr>
<td>{{user.id}}</td><td>{{user.name}}</td>
</tr>
{{/each}}
</table>
{
"version": "0.12.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.12.0",
"ember-template-compiler": "2.12.0",
"ember-testing": "2.12.0"
},
"addons": {
"ember-data": "2.12.1"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment