Skip to content

Instantly share code, notes, and snippets.

@hammerhead5778
Forked from ErikCH/controllers.application.js
Last active October 17, 2017 00:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save hammerhead5778/63e16c2309c5fe23cd6b8901b82d9298 to your computer and use it in GitHub Desktop.
Save hammerhead5778/63e16c2309c5fe23cd6b8901b82d9298 to your computer and use it in GitHub Desktop.
filter_buttons
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
//actions go here or in component?
actions:{
active(){
this.status.set("active");
},
closed(){
this.status.set("closed");
}
}
});
import Ember from 'ember';
const {get} = Ember;
export default Ember.Component.extend({
activeList: Ember.computed.filter('list', function(item) {
return item.status === get(this,'status');
})
});
<h1>Unfiltered</h1>
{{#each list as |item|}}
<strong> {{item.someInfo}} {{item.status}}<br/></strong>
{{/each}}
<h1>Filtered</h1>
{{#each activeList as |item|}}
<strong> {{item.someInfo}} {{item.status}}<br/></strong>
{{/each}}
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return [
{someInfo: 'info1', status: 'active'},
{someInfo: 'info2', status: 'closed'},
{someInfo: 'info3', status: 'closed'},
{someInfo: 'info4', status: 'active'}
];
}
});
<h1>Welcome to {{appName}}</h1>
<br>
<br>
{{outlet}}
{{my-list-component list=model status=status }}
<p>Filter by:</p>
{{my-list-component list=model status=status }}
<p>
<button class="filter-button" {{action (mut status "active")}}>ACTIVE</button>
<button class="filter-button" {{action (mut status "closed")}}>CLOSED</button>
</p>
{
"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