Skip to content

Instantly share code, notes, and snippets.

@samselikoff
Forked from rldleblanc/adapters.application.js
Last active July 27, 2018 20:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save samselikoff/be4470c37d1d82237e26e8f310eaa131 to your computer and use it in GitHub Desktop.
Save samselikoff/be4470c37d1d82237e26e8f310eaa131 to your computer and use it in GitHub Desktop.
Mirage Issue #1011 - sorting data
import DS from 'ember-data';
export default DS.JSONAPIAdapter.extend({
namespace: 'api/v1',
});
import Ember from 'ember';
export default Ember.Component.extend({
tagName: 'ul',
classNames: ['column-list'],
sortedItems: Ember.computed.sort('items', 'sortBy'),
didReceiveAttrs() {
if (this.get('sortBy')) {
this.set('sortBy', [ this.get('sortBy') ]);
} else {
this.set('sortBy', []);
}
}
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Mirage Sort Issue'
});
export default function() {
window.server = this;
this.namespace = '/api/v1';
this.get('/categories');
this.get('/categories/:id');
}
export default [
{
id: 'main-dishes',
title: 'Main Dishes',
}, {
id: 'cakes-pies-and-sweets',
title: 'Cakes, Pies & Sweets',
}, {
id: 'langappie',
title: 'Langappie',
}, {
id: 'dips-and-sauces',
title: 'Dips & Sauces',
}, {
id: 'meat-dishes',
title: 'Meat Dishes',
}, {
id: 'vegetable',
title: 'Vegetable',
}, {
id: 'seafood-dishes',
title: 'Seafood Dishes',
}, {
id: 'bread-and-cereals',
title: 'Bread & Cereals',
}
];
import { Model, hasMany } from 'ember-cli-mirage';
export default Model.extend({
});
export default function(server) {
server.loadFixtures();
}
import Model from "ember-data/model";
import attr from "ember-data/attr";
import { belongsTo, hasMany } from "ember-data/relationships";
export default Model.extend({
title: DS.attr(),
});
import Ember from 'ember';
export default Ember.Route.extend({
model(){
return this.get('store').findAll('category');
}
});
<h1>{{appName}}</h1>
<br>
{{#column-list class="categories" link="index" items=model as |i|}}
{{i.title}}
{{/column-list}}
<br>
{{outlet}}
<br>
<br>
{{#each sortedItems as |item|}}
<li>
{{#if link}}
{{#link-to link }}
{{yield item}}
{{/link-to}}
{{else}}
{{yield item}}
{{/if}}
</li>
{{/each}}
{
"version": "0.11.0",
"ENV": {
"ember-cli-mirage": {
"enabled": true
}
},
"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.10.2",
"ember-data": "2.11.0",
"ember-template-compiler": "2.10.2",
"ember-testing": "2.10.2"
},
"addons": {
"ember-cli-mirage": "0.3.0-beta.4"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment