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 / controllers.application.js
Created June 17, 2019 18:58
Helper#recompute / runloop
import Ember from 'ember';
export default Ember.Controller.extend({
stepRunloop() {
Ember.run.begin();
Ember.run.end();
}
});
@buschtoens
buschtoens / controllers.application.js
Last active January 16, 2019 11:16
empty htmlSafe truthiness
import Ember from 'ember';
export default Ember.Controller.extend({
htmlSafeEmpty: Ember.String.htmlSafe(''),
stringEmpty: '',
arrayEmpty: []
});
import Ember from 'ember';
export default Ember.Controller.extend({
xss: 'color: blue; ">Gotcha!'
});
import EmberObject from '@ember/object';
import { Constructor } from 'ts-std';
type FieldDecorator = PropertyDecorator;
export enum Placement {
Static = 'static',
Prototype = 'prototype',
Own = 'own'
}
/**
* Turns the decorated generator function into a task.
*
* Optionally takes a hash of options that will be applied as modifiers to the
* task. For instance `maxConcurrency`, `on`, `group` or `keepLatest`.
*
* ```js
* import EmberObject from '@ember/object';
* import { task } from 'ember-concurrency-decorators';
*
@buschtoens
buschtoens / router.ts
Last active July 23, 2019 03:43
Engine Router Service
import Ember from 'ember';
import Service from '@ember/service';
import { action, computed } from '@ember/object';
import { getOwner } from '@ember/application';
import { reads } from '@ember/object/computed';
import { assert } from '@ember/debug';
import Evented from '@ember/object/evented';
import CoreObject from '@ember/object/core';
// Import { getEngineParent } from '@ember/engine/lib/engine-parent';
@buschtoens
buschtoens / controllers.application.js
Created August 14, 2018 11:23
Group by first character
import Ember from 'ember';
import groupBy from 'ember-awesome-macros/array/group-by';
import raw from 'ember-macro-helpers/raw';
export default Ember.Controller.extend({
categories: [
{ name: 'Hello' },
{ name: 'Hallo' },
{ name: 'World' },
{ name: 'Welt' }
@buschtoens
buschtoens / controllers.application.js
Last active July 30, 2018 14:30
RouterService: rootURL inconsistencies
import Controller from '@ember/controller';
import { inject as service } from '@ember/service';
import { computed } from '@ember/object';
export default Controller.extend({
router: service(),
urlFor: computed(function() {
return this.router.urlFor(this.router.currentRouteName);
}),
@buschtoens
buschtoens / controllers.application.js
Last active July 24, 2018 15:46
ES5 getters and ember-concurrency = ❤️
import Ember from 'ember';
import { task } from 'ember-concurrency';
export default Ember.Controller.extend({
someTask: task(function*() {
console.log('🔥');
}),
actions: {
performSomeTask() {
@buschtoens
buschtoens / components.wrapper-component.js
Last active July 12, 2018 15:01
Demo of tagless component passing action through
import Ember from 'ember';
export default Ember.Component.extend({
tagName: ''
});