Skip to content

Instantly share code, notes, and snippets.

@ykaragol
Last active October 16, 2019 22:17
Show Gist options
  • Save ykaragol/a166853bfd85edb66bba8196eae7681e to your computer and use it in GitHub Desktop.
Save ykaragol/a166853bfd85edb66bba8196eae7681e to your computer and use it in GitHub Desktop.
SO#56099819
import Ember from 'ember';
const linkList = [
{link: '#about', name: 'About'},
{link: '#base', name: 'Base'},
{link: '#blog', name: 'Blog'},
{link: '#contact', name: 'Contact'},
{link: '#custom', name: 'Custom'},
{link: '#support', name: 'Support'},
{link: '#tools', name: 'Tools'}
];
export default Ember.Component.extend({
filter: null,
filteredLinkList: Ember.computed('filter', function() {
const filter = this.get('filter');
if(!filter) {
return linkList;
}
const upperCaseFilter = filter.toUpperCase();
return linkList.filter((item) => {
return item.name.toUpperCase().indexOf(upperCaseFilter) >= 0;
});
}),
actions: {
filterChanged(filter) {
this.set('filter', filter);
}
}
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
<h1>Welcome to {{appName}}</h1>
<br>
<br>
{{menu-component}}
<br>
<br>
{{input type="text" placeholder="Search.." id="myInput" key-up=(action 'filterChanged')}}
<br><br>
{{#each filteredLinkList as |item|}}
<a href={{item.link}}>{{item.name}}</a>
{{/each}}
{
"version": "0.15.1",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js",
"ember": "3.4.3",
"ember-template-compiler": "3.4.3",
"ember-testing": "3.4.3"
},
"addons": {
"ember-data": "3.4.2"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment