Skip to content

Instantly share code, notes, and snippets.

View mike-north's full-sized avatar
Wish I had more time to work on OSS

Mike North mike-north

Wish I had more time to work on OSS
View GitHub Profile
@mike-north
mike-north / controllers.application.js
Last active October 11, 2018 14:45
EmberLearn - Ember.Object - SOLUTION
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
@mike-north
mike-north / controllers.application.js
Last active October 11, 2018 14:39
EL - helper - SOLUTION
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
@mike-north
mike-north / controllers.application.js
Created March 27, 2017 17:32
EL - Computed - SOLUTION
import Ember from 'ember';
import hexColor from '../utils/hex-color';
const {
Controller,
computed
} = Ember;
export default Controller.extend({
/**
@mike-north
mike-north / components.x-input.js
Created March 27, 2017 17:45
EL - Component - SOLUTION
import Ember from 'ember';
const { Component, computed } = Ember;
export default Component.extend({
classNames: 'x-input',
tagName: 'p',
attributeBindings: ['_lowerName:data-field-name'],
_lowerName: computed('label', function() {
return (this.get('label') || '').dasherize();
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
@mike-north
mike-north / components.my-component.js
Created April 6, 2017 19:31
Components for async data
import Ember from 'ember';
export default Ember.Component.extend({
didInsertElement() {
this._super(...arguments);
this.get('pr').then(this._handleDataResponse.bind(this));
},
_handleDataResponse(jsonData) {
if (this.isDestoyed || this.isDestroying) {
return; // too late!
document.write('<canvas id="canvas"></canvas>');
window.navigator.mediaDevices.getUserMedia({ video: "camera" }).then(stream => {
capturer = new ImageCapture(stream.getVideoTracks()[0]);
capturer.grabFrame().then(bitmap => {
let canvas = document.getElementById("canvas");
canvas.height = bitmap.height / bitmap.width * canvas.width;
let ctx = canvas.getContext("2d");
ctx.drawImage(bitmap, 0, 0,
@mike-north
mike-north / ember-typescript.md
Created December 29, 2017 17:14
TypeScript type information for popular ember addons
@mike-north
mike-north / outer_closure.ex
Created February 28, 2018 17:45
Elixir: Re-binding a variable in an outer closure
outer = -1
IO.puts "BEGIN: outer=#{outer}"
[1, 2, 3]
|> Enum.each fn i ->
IO.puts "BEFORE: i=#{i}, outer=#{outer}"
outer = i
IO.puts "AFTER: i=#{i}, outer=#{outer}"
end
IO.puts "END: outer=#{outer}"
@mike-north
mike-north / controllers.application.js
Created February 28, 2018 18:16
Observing an array
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
init() {
this._super(...arguments);
this.set('myArray', []);
this.set('x', 3);
this.set('arraySum1InvocationCount', 0);
this.set('arraySum2InvocationCount', 0);