Skip to content

Instantly share code, notes, and snippets.

View mjuniper's full-sized avatar

Mike Juniper mjuniper

View GitHub Profile
@mjuniper
mjuniper / controllers.application.js
Last active March 1, 2019 21:27
Ember Objects and CPs
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember',
fullName: Ember.computed('model.{firstName,lastName}', function () {
return `${this.model.firstName} ${this.model.lastName}`;
}),
@mjuniper
mjuniper / components.my-component.js
Last active March 21, 2017 18:00
checked attribute binding
import Ember from 'ember';
export default Ember.Component.extend({
checked: Ember.computed('model.id', 'itemsToAdd.[]', function () {
const itemsToAdd = this.get('itemsToAdd');
return !!itemsToAdd.findBy('id', this.get('model.id'));
}),
});
@mjuniper
mjuniper / application.route.js
Last active March 29, 2017 21:53
page-layout
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return {
sections: [
{
rows: [
{
className: '',
import Ember from 'ember';
export default Ember.Controller.extend({
myService: Ember.inject.service()
});
@mjuniper
mjuniper / components.my-component.js
Created May 31, 2017 18:48
didInsertElement-has-dom
import Ember from 'ember';
export default Ember.Component.extend({
didInsertElement () {
const hasDom = this.$('h1.wtf').length;
this.set('hasDom', hasDom);
}
});
import Ember from 'ember';
export default Ember.Controller.extend({
myService: Ember.inject.service(),
init () {
this._super(...arguments);
const sampleTextFromService = this.get('myService').myObjectMethod();
this.set('sampleTextFromService', sampleTextFromService);
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
foo: null,
propUsingGetWithDefault: Ember.computed('foo', function () {
return this.getWithDefault('foo', 'foo');
}),
propUsingTernary: Ember.computed('foo', function () {
return this.get('foo') || 'foo';
import Ember from 'ember';
export default Ember.Controller.extend({
obj: {
appName: 'Ember Twiddle'
},
actions: {
doSomething () {
Ember.setProperties(this.get('obj'), {
@mjuniper
mjuniper / controllers.application.js
Last active October 12, 2018 16:45
Error route model with reject from model hook
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
@mjuniper
mjuniper / components.my-component.js
Created December 7, 2017 23:50
unintended shared state
import Ember from 'ember';
export default Ember.Component.extend({
model: [ 1 ],
actions: {
pushOne () {
const model = this.get('model');
const next = model[model.length-1];
model.pushObject(next+1);
}