Skip to content

Instantly share code, notes, and snippets.

@jgwhite
jgwhite / application.controller.js
Last active January 11, 2016 11:45
Failure observing nested keys beyond @each
import Ember from 'ember';
const { computed } = Ember;
export default Ember.Controller.extend({
items: [{
name: 'Foo',
isActive: true
}, {
name: 'Bar',
isActive: false
@jgwhite
jgwhite / application.controller.js
Last active January 5, 2016 19:14
ManyArray Glimmer Bug
import Ember from 'ember';
const { computed } = Ember;
export default Ember.Controller.extend({
commentArray: computed('model.comments.[]', function() {
return this.get('model.comments').toArray();
}),
favourites: computed.filterBy('model.comments', 'isFavourite'),
favouritesHack: computed.filterBy('commentArray', 'isFavourite'),
});
@jgwhite
jgwhite / application.route.js
Last active December 15, 2015 14:47
wat-each
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return {
name: 'Tomster',
outfits: [{
name: 'Austin'
}, {
name: 'Munich'
module LoudFoo
def foo
super.upcase
end
end
class Foo
prepend LoudFoo
def foo
@jgwhite
jgwhite / application.controller.js
Created September 2, 2015 07:09
Getting currentRouteName from application controller
import Ember from 'ember';
const { computed } = Ember;
export default Ember.Controller.extend({
needs: ['application'],
appName:'Ember Twiddle',
whereAmI: computed.readOnly('controllers.application.currentRouteName')
});
@jgwhite
jgwhite / controllers.application.js
Last active August 29, 2015 14:26
CP setter without return value misbehaves
import Ember from 'ember';
const { computed } = Ember;
export default Ember.Controller.extend({
goldenRatioWidth: computed('height', {
get(key) {
return this.get('height') * 1.618;
},
set(_, value) {
this.set('height', value / 1.618);
@jgwhite
jgwhite / components.my-component.js
Last active August 29, 2015 14:26
Observation chain breaks
import Ember from 'ember';
const { computed, typeOf } = Ember;
export default Ember.Component.extend({
value: computed({
set(param, value) {
switch(typeOf(value)) {
case "string":
this._value = value === 'foo' ? 'bar' : value;
break;
import Ember from 'ember';
const { computed } = Ember;
export default Ember.Component.extend({
theValue: computed({
get() {
return this._theValue;
},
set(key, newValue) {
@jgwhite
jgwhite / models.thing.js
Last active August 29, 2015 14:25
DS.Errors Test
import DS from 'ember-data';
const { Model, attr } = DS;
export default Model.extend({
name: attr('string'),
age: attr('string')
});
import Ember from 'ember';
import config from 'minutebase/config/environment';
export default Ember.Component.extend({
classNames: "google-static-map",
tagName: "img",
attributeBindings: ["src"],
width: Ember.computed("viewport.width", {
get() {