Skip to content

Instantly share code, notes, and snippets.

View lennyburdette's full-sized avatar

Lenny Burdette lennyburdette

  • Apollo GraphQL
  • Boston
View GitHub Profile
@lennyburdette
lennyburdette / components.my-component.js
Created September 13, 2017 20:48
ember.textfield change event
import Ember from 'ember';
export default Ember.TextField.extend({
});
import Ember from 'ember';
export default Ember.Component.extend({
classNameBindings: ['caret'],
click() {
const prop = this.get('prop');
const currentDirection = (this.get('sortKey').find(k => k.startsWith(prop)) || '').split(':')[1];
const newKey = `${prop}:${currentDirection === 'asc' ? 'desc' : 'asc'}`;
@lennyburdette
lennyburdette / loader.instrument.js
Created June 23, 2017 22:40
loader.js babel6 comparison
var loader, define, requireModule, require, requirejs;
(function (global) {
'use strict';
var heimdall = global.heimdall;
var _heimdall$registerMon = heimdall.registerMonitor('loaderjs', 'define', 'require', 'reify', 'findDeps', 'modules', 'exports', 'resolve', 'resolveRelative', 'findModule', 'pendingQueueLength'),
__define = _heimdall$registerMon.define,
__require = _heimdall$registerMon.require,
import Ember from 'ember';
function timeoutAfter2s(promise) {
return new Ember.RSVP.Promise((resolve, reject) => {
promise.then(resolve, reject);
Ember.run.later(() => reject('timeout'), 2000);
});
}
@lennyburdette
lennyburdette / components.my-component.js
Last active May 5, 2017 01:00
ff select options debugging
import Ember from 'ember';
export default Ember.Component.extend({
change(e) {
this.sendAction('action', this.get(`options.${e.target.selectedIndex}`));
},
didReceiveAttrs() {
Ember.run.scheduleOnce('afterRender', () => {
this.$('select')[0].value = this.get('options').indexOf(this.get('value'));
import Ember from 'ember';
export default Ember.Component.extend({
tagName: ''
});
import Ember from 'ember';
export default Ember.Component.extend({
didInsertElement() {
this.draggie = new Draggabilly(this.element, {
// options...
});
},
willDestroyElement() {
@lennyburdette
lennyburdette / components.more-item.js
Created April 7, 2017 21:30
menu item contextual components
import Ember from 'ember';
export default Ember.Component.extend({
});
@lennyburdette
lennyburdette / components.my-component.js
Last active April 5, 2017 23:12
sq-field-input-searchable additive
import Ember from 'ember';
function wrap(options) {
return options.map(value => ({ value }));
}
export default Ember.Component.extend({
allowNew: false,
_filter: null,
@lennyburdette
lennyburdette / components.my-component.js
Created April 5, 2017 05:35
sq-field-input-searchable filtering
import Ember from 'ember';
function defaultFilter(options, input) {
return options.filter(v => v.startsWith(input));
}
export default Ember.Component.extend({
didReceiveAttrs() {
this.set('filteredOptions', this.get('options').slice());
},