Skip to content

Instantly share code, notes, and snippets.

View givanse's full-sized avatar
:shipit:
ON A BOAT

Gastón Silva givanse

:shipit:
ON A BOAT
View GitHub Profile
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Computed Promises',
_foobar: Ember.on('init', function() {
Promise.resolve(2)
.then(value => {
let result = value + 1;
this.set('result', result);
@givanse
givanse / components.foo-bar.js
Last active January 24, 2020 15:56
Ember runloop demonstration with a computed property and an observer
import Ember from 'ember';
export default Ember.Component.extend({
firstName: null,
lastName: null,
logs: [],
@givanse
givanse / controllers.application.js
Last active August 16, 2016 17:05
Conditional binding for a computed property
import Ember from 'ember';
let _myComputedProperty = Ember.computed('foobar', function() {
let foobar = this.get('foobar');
console.log('myComputedProperty triggered >', foobar);
return '_' + foobar + '_';
});
export default Ember.Controller.extend({
@givanse
givanse / components.child-c.js
Created August 16, 2016 18:23
Exploring components
import Ember from 'ember';
export default Ember.Component.extend({
classNames: ['child-c'],
classNameBindings: ['dashed'],
dashed: false,
@givanse
givanse / controllers.application.js
Last active August 31, 2016 23:11
Cannot define computed properties on literal objects
import Ember from 'ember';
export default Ember.Controller.extend({
hash: {a: 1, b: 2},
hashComputed: Ember.computed('hash', function() {
console.log('hashComputed triggered');
return JSON.stringify(this.get('hash'));
}),
@givanse
givanse / controllers.application.js
Last active March 10, 2017 05:15
@each two levels deep is not supported
import Ember from 'ember';
function emberFruit(name, price, color) {
let fruit = {
name: name,
price: price,
attrs: {color: color}
};
return Ember.Object.create(fruit);
}
@givanse
givanse / controllers.index.js
Last active August 24, 2016 23:38
Observing nested properties
import Ember from 'ember';
function buildWithAlias(item) {
// add the alias when the item is being created,
// this might also be done inside an Ember Data model
let foo = {
nephew: Ember.computed.alias('parent.child.nephew')
};
item = Object.assign(item, foo);
return Ember.Object.create(item);
@givanse
givanse / components.dialogue-body.js
Last active February 27, 2017 20:55
composing with ember components
import Ember from 'ember';
export default Ember.Component.extend({
classNames: ['dialogue-body']
});
@givanse
givanse / controllers.application.js
Last active October 14, 2016 01:49
Computed properties
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
obj: {},
fi: Ember.computed('obj.fi', function() {
return this.get('obj.fi');
}),
@givanse
givanse / components.foo-bar.js
Created October 24, 2016 22:23
Positional Parameters
import Ember from 'ember';
let FooBar = Ember.Component.extend({
});
FooBar.reopenClass({
positionalParams: ['p1', 'p2']
});
export default FooBar;