Skip to content

Instantly share code, notes, and snippets.

View vitch's full-sized avatar

Kelvin Luck vitch

View GitHub Profile
@vitch
vitch / application.controller.js
Created November 3, 2015 11:33
yielding actions
import Ember from 'ember';
const { Controller, computed } = Ember;
export default Controller.extend({
items: computed(function() {
return ['Item1', 'Item2', 'Item3'];
})
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName:'Ember Twiddle',
actions: {
handler() {
window.alert('You clicked me!');
}
}
});
import Ember from 'ember';
export default Ember.Controller.extend({
sections: [1,2,3,4,5],
currentSection: 0,
isLastSection: Ember.computed('currentSection', function() {
return this.get('currentSection') === this.get('sections.length') - 1;
}),
sectionClassName: Ember.computed('currentSection', function() {
return 'section-' + this.get('currentSection');
@vitch
vitch / controllers.application.js
Last active August 29, 2015 14:28
container lookup
import Ember from 'ember';
import ExampleObject from '../util/example';
export default Ember.Controller.extend({
appName:'Ember Twiddle',
exampleObject:Ember.computed(function() {
return ExampleObject.create();
}),
myProp: Ember.computed.alias('exampleObject.serviceProp')
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName:'input demo',
myValue: 'Write',
myInitialValue: Ember.computed.defaultTo('myValue')
});
import Ember from 'ember';
export default Ember.Controller.extend({
openBrackets: '{{',
closeBrackets: '}}',
'crazy-property': 'this'
});
@vitch
vitch / controllers.application.js
Last active August 29, 2015 14:26
New Twiddle
import Ember from 'ember';
export default Ember.Controller.extend({
openBrackets: '{{',
closeBrackets: '}}',
'crazy-property': 'this'
});
@vitch
vitch / controllers.application.js
Last active August 29, 2015 14:26 — forked from jgwhite/controllers.application.js
CP setter without return value misbehaves
import Ember from 'ember';
const { computed } = Ember;
export default Ember.Controller.extend({
goldenRatioWidth: Ember.computed('height', {
get(key) {
return this.get('height') * 1.618;
},
set(key, value) {
this.set('height', value / 1.618);
@vitch
vitch / 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,setter,previousValue) {
console.log('VALUE: CP setter value: %o. Previous value had been: %o', setter, previousValue);
switch(typeOf(setter)) {
case "string":
// returns a string but can pass back different outcome than what sent in
Verifying that +vitch is my openname (Bitcoin username). https://onename.com/vitch