Skip to content

Instantly share code, notes, and snippets.

View buschtoens's full-sized avatar
🏳️‍🌈
Open Source

Jan Buschtöns buschtoens

🏳️‍🌈
Open Source
View GitHub Profile
@buschtoens
buschtoens / diff-attrs.js
Last active September 4, 2020 17:56
This mixin can be used dry up the diffing of attrs in Ember Components.
import Ember from 'ember';
const EMPTY_OBJECT = Object.freeze(Object.create(null));
const EMPTY_ARRAY = Object.freeze([]);
/**
* @class DiffAttrsMixin
*/
export default Ember.Mixin.create({
/**
import Ember from 'ember';
export default Ember.Component.extend({
didInsertElement() {
this._super(...arguments);
throw new Error("lol");
}
});
@buschtoens
buschtoens / components.my-component.js
Created April 25, 2017 07:23
computed property diffing
import Ember from 'ember';
export default Ember.Component.extend({
lastUpdate: null,
didReceiveAttrs() {
this._super(...arguments);
this.set('lastUpdate', Date.now());
}
import Ember from 'ember';
export default Ember.Component.extend({
classNames: 'my-component',
didReceiveAttrs() {
this._updateVariables();
},
didInsertElement() {
This file has been truncated, but you can view the full file.
window.EmberENV = {"FEATURES":{},"EXTEND_PROTOTYPES":{"Date":false}};
var runningTests = false;
;var loader, define, requireModule, require, requirejs;
(function (global) {
'use strict';
import Ember from 'ember';
export default Ember.Controller.extend({
arr: []
});
import Ember from 'ember';
export default Ember.Controller.extend({
queryParams: ['year'],
year: null,
});
import Ember from 'ember';
export default Ember.Component.extend({
});
@buschtoens
buschtoens / components.inner-component.js
Last active June 23, 2017 10:51
didRender bubbling
import Ember from 'ember';
export default Ember.Component.extend({
clickCounter: 0,
didRender() {
console.log('inner-component: didRender');
},
click() {
import Ember from 'ember';
export default Ember.Component.extend({
didInsertElement() {
this._super(...arguments);
this.set('timestamp', Date.now());
}
});