Skip to content

Instantly share code, notes, and snippets.

View lennyburdette's full-sized avatar

Lenny Burdette lennyburdette

  • Apollo GraphQL
  • Boston
View GitHub Profile
import Ember from 'ember';
export default Ember.Component.extend({
tagName: '',
didInsertElement() {
this.set('uniqueID', Ember.guidFor(this));
}
});
@lennyburdette
lennyburdette / components.my-component.js
Created August 17, 2018 00:03
Ember Concurrency Memoization
import Ember from 'ember';
import { task, all } from 'ember-concurrency';
const delay = ms => new Promise(r => setTimeout(r, ms));
export default Ember.Component.extend({
loadFast: task(function*() {
if (!this.loadA.isRunning) {
const a = yield this.loadA.perform();
}
import Ember from 'ember';
export default Ember.Controller.extend({
logs: [],
actions: {
log(message, event) {
this.set('logs', [...this.logs, message, `Target: ${event && event.target.outerHTML}`]);
}
}
module.exports = function({ source }, { parse, visit }) {
const ast = parse(source);
return visit(ast, env => {
let { builders: b } = env.syntax;
return {
MustacheStatement() {
return b.mustache(b.path('wat-wat'));
},
@lennyburdette
lennyburdette / controllers.application.js
Created June 21, 2018 19:02
notifyPropertyChange property path
import Ember from 'ember';
export default Ember.Controller.extend({
init() {
this.set('foo', {
bar: 'abc'
});
this.set('baz', Ember.Object.create({
quux: 'def'
@lennyburdette
lennyburdette / application-fixture.js
Last active May 31, 2018 16:08
Ember Addon Build Test Example
/* eslint-env node */
// This is for TEST_APPLICATION_FIXTURE in the next file
module.exports = function() {
return {
application: {
app: {
styles: {
'app.css': ''
},
@lennyburdette
lennyburdette / controllers.application.js
Created February 10, 2018 01:03
form submit on enter test
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
actions: {
formSubmit() {
alert('submitted');
}
}
@lennyburdette
lennyburdette / controllers.application.js
Last active January 14, 2018 01:20
Service Actions
import Ember from 'ember';
export default Ember.Controller.extend({
myService: Ember.inject.service(),
appName: 'Ember Twiddle'
});
@lennyburdette
lennyburdette / debug.log
Created November 7, 2017 19:20
broccoli-persistent-filter DEBUG=* output
file deleted components/x-button.js
broccoli-sane-watcher scheduleBuild: /Users/lenny/Desktop/debug/app/components/x-button.js +5s
broccoli-sane-watcher build: /Users/lenny/Desktop/debug/app/components/x-button.js +103ms
broccoli-sane-watcher { type: 'rebuild', reason: 'watcher', primaryFile: '/Users/lenny/Desktop/debug/app/components/x-button.js', changedFiles: [ '/Users/lenny/Desktop/debug/app/components/x-button.js' ] } +0ms
ember-cli:utilities/attempt-metadata-index-file creating: tmp/.metadata_never_index (to prevent spotlight indexing) +1ms
broccoli-sane-watcher [Funnel: index.html#811 -> WatchedDir#812 -> /Users/lenny/Desktop/debug/app#813] addWatchDir: (not added duplicate) /Users/lenny/Desktop/debug/app +0ms
broccoli-funnel:Funnel: Funnel: index.html build, { in: '1ms', linkedRoots: false, inputPath: '/Users/lenny/Desktop/debug/tmp/funnel-input_base_path-zNxso4mY.tmp', destPath: '/Users/lenny/Desktop/debug/tmp/funnel-output_path-pa9ba32R.tmp' } +1ms
broccoli-sane-watcher [Funnel (config
@lennyburdette
lennyburdette / components.my-component.js
Last active October 13, 2017 16:47
Enter to Submit Form on Arbitrary Element
import Ember from 'ember';
export default Ember.Component.extend({
tagName: 'span',
attributeBindings: ['tabindex'],
tabindex: '0',
keyUp({ key }) {
if (key === 'Enter') {