Skip to content

Instantly share code, notes, and snippets.

@ryanto
ryanto / gist:5736586
Last active December 18, 2015 05:59
AMD Container Resolver
var classify = Ember.String.classify,
decamelize = Ember.String.decamelize,
assert = Ember.assert;
var resolveFactory = function(namespace) {
return function(parsedName) {
var className = classify(parsedName.name) + classify(parsedName.type),
moduleName = namespace + '/' + parsedName.type + 's/' + parsedName.name,
factory;
@ryanto
ryanto / controllers.application.js
Last active August 24, 2016 23:36
commentable-base
import Ember from 'ember';
export default Ember.Controller.extend({
model: null,
text: '',
actions: {
addComment() {
let text = this.get('text');
let comment = this.store.createRecord('comment', { text });
@ryanto
ryanto / controllers.application.js
Last active August 24, 2016 23:46
commentable-mixin
import Ember from 'ember';
export default Ember.Controller.extend({
model: null,
text: '',
actions: {
addComment() {
let text = this.get('text');
let comment = this.store.createRecord('comment', { text });
import Ember from 'ember';
export default Ember.Component.extend({
});
@ryanto
ryanto / components.my-component.js
Last active February 2, 2017 21:52
one way mutable value that resets
import Ember from 'ember';
export default Ember.Component.extend({
didReceiveAttrs() {
this._super(...arguments);
this.set('downstream', this.get('upstream'));
}
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
import Ember from 'ember';
export default Ember.Controller.extend({
posts: Ember.A([
Ember.Object.create({ author: { name: 'steve' } }),
Ember.Object.create({ author: { name: 'jill' } }),
Ember.Object.create({ author: { name: 'andy' } })
]),
authors: Ember.computed.mapBy('posts', 'author'),
import Ember from 'ember';
export default Ember.Component.extend({
tagName: 'button'
});
// The home page needs to load a lot of data for a feed of events.
// This would block initial rendering of the application, so what
// we do is make a pathless child route called feed that loads the
// data.
// Since our home route doesn't load data anymore it renders
// immediately. It has an {{outlet}}, and while 'home.feed' is
// fetching data 'home.loading' will be rendered into the
// outlet. Once feed's model hook fulfills the feed template
// is rendered to the outlet.
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'x'
});