Skip to content

Instantly share code, notes, and snippets.

@onechiporenko
Created October 18, 2016 18:52
Show Gist options
  • Save onechiporenko/ab3b1886dd3bd0e9e9afdfe3a3b46bf1 to your computer and use it in GitHub Desktop.
Save onechiporenko/ab3b1886dd3bd0e9e9afdfe3a3b46bf1 to your computer and use it in GitHub Desktop.
Models Table. Custom filter function example
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Models Table. Custom filter function example'
});
import Ember from 'ember';
export default Ember.Controller.extend({
columns: [
{
propertyName: 'book.name',
title:'Title'
},
{
propertyName: 'book.editor.name',
title: 'Editor'
},
{
propertyName: 'book.year',
title: 'Year'
},
{
template: 'custom/languages',
title: 'Text Language',
propertyName: 'languages',
filterFunction(cell, neededStr, obj) {
return !!obj.languages.filter(({name}) => name.includes(neededStr)).length;
}
}
]
});
import Ember from 'ember';
import config from './config/environment';
const Router = Ember.Router.extend({
location: 'none',
rootURL: config.rootURL
});
Router.map(function() {
this.route('my-route');
});
export default Router;
import Ember from 'ember';
export default Ember.Route.extend({
beforeModel() {
return this.transitionTo('my-route');
}
});
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return [
{
book: {
id: 1,
name: 'My book',
year: 2016,
editor: {
name: 'me'
}
},
languages: [
{name: 'ru'},
{name: 'en'}
]
},
{
book: {
id: 2,
name: 'My book 2',
year: 2017,
editor: {
name: 'not me'
}
},
languages: [
{name: 'ru'}
]
}
];
}
});
<h1>{{appName}}</h1>
{{outlet}}
<ul class="csv"> {{#each record.languages as |language|}} <li>{{language.name}}</li> {{/each}} </ul>
{{models-table
data=model
columns=columns
showColumnsDropdown=false
filteringIgnoreCase=true
showTableFooter=false
}}
{
"version": "0.10.6",
"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.8.0",
"ember-data": "2.8.0",
"ember-template-compiler": "2.8.0",
"ember-testing": "2.8.0"
},
"addons": {
"ember-models-table": "1.9.0"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment