Skip to content

Instantly share code, notes, and snippets.

@chrism
chrism / components.file-chooser.js
Created May 23, 2016 10:39
File Chooser Tests Working Ember 2.5.1
import Ember from 'ember';
// this doesn't work in Ember Twiddle
// import { testing } = Ember;
export default Ember.Component.extend({
actions: {
filesSelected(event) {
// this doesn't work in Ember Twiddle
// const files = testing ? event.testingFiles : event.target.files;
@chrism
chrism / file-chooser.js
Created May 23, 2016 10:08
Working Ember 2.4.3
import Ember from 'ember';
const {
run: {
bind
}
} = Ember;
export default Ember.Component.extend({
label: 'choose a file',
@chrism
chrism / components.file-chooser.js
Last active May 22, 2016 19:00
File Chooser Tests Native Events - Ember 2.5.1
import Ember from 'ember';
export default Ember.Component.extend({
change(event) {
const files = event.target.files;
if (files.length === 0) {
Ember.Logger.log('you must add a file');
} else if (files.length > 0) {
this.sendAction('action', files);
}
@chrism
chrism / components.file-chooser.js
Last active May 22, 2016 14:33
File Chooser Tests - Ember 2.5.1
import Ember from 'ember';
const {
run: {
bind
}
} = Ember;
export default Ember.Component.extend({
label: 'choose a file',
@chrism
chrism / components.file-chooser.js
Last active May 22, 2016 17:17
File Chooser Tests - Ember 2.4.5
import Ember from 'ember';
const {
run: {
bind
}
} = Ember;
export default Ember.Component.extend({
label: 'choose a file',
@chrism
chrism / controllers.application.js
Last active May 22, 2016 13:26
Ember-Ajax Error Handling
import Ember from 'ember';
import { isAjaxError, isUnauthorizedError } from 'ember-ajax/errors';
export default Ember.Controller.extend({
ajax: Ember.inject.service(),
message: null,
actions: {
loadAjax(url) {
@chrism
chrism / mirage.config.js
Created May 14, 2016 13:05
Mirage hasMany belongsTo
export default function() {
this.get('/videos', (schema) => {
return schema.videos.all();
});
this.get('/users/:id', (schema, request) => {
const id = request.params.id;
return schema.users.find(id);
});
}
import DS from "ember-data";
export default DS.JSONAPIAdapter.extend();
@chrism
chrism / models_route.js
Created May 9, 2016 11:10
Final working route
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return this.store.createRecord('model').subset().then( response => {
this.store.pushPayload(response);
// we must also manually loop through items and return them as an array
// or use the ds-pushpayload-return feature flag until
// https://github.com/emberjs/data/pull/4110 is enabled by default
@chrism
chrism / models_model.js
Last active May 9, 2016 10:49
Model using ember-api-actions
import DS from 'ember-data';
import Ember from 'ember';
import { memberAction, collectionAction } from 'ember-api-actions';
export default DS.Model.extend({
subset: collectionAction({ path: 'subset', type: 'get' })
});