Skip to content

Instantly share code, notes, and snippets.

View danevans's full-sized avatar

Danston danevans

  • Square
  • San Francisco
View GitHub Profile
@danevans
danevans / debounce.cljs
Created June 20, 2015 02:51
Clojurescript function which takes a function as an argument and returns a debounced version of the function. Inspired by http://underscorejs.org/#debounce
(ns util.core
(:import [goog Delay]))
(defn debounce [f interval]
(let [timeout (atom nil)]
(fn [& args]
(when-not (nil? @timeout)
(.disposeInternal @timeout))
(reset! timeout (Delay. #(apply f args)))
(.start @timeout interval))))
import Ember from 'ember';
export default Ember.Controller.extend({
newName: 'Input Tests',
actions: {
updateName(name) {
this.set('newName', name);
}
}
});
import Ember from 'ember';
export default Ember.TextField.extend({
input() {
this.set('value', '');
},
});
import Ember from 'ember';
export default Ember.TextField.extend({
keyDown() {
this.set('priorValue', this.$().val());
},
input() {
Ember.run.next(() => {
if (!this.$().val().match(/^\d+$/)) {
this.set('value', this.get('priorValue'));
import Ember from 'ember';
export default Ember.Component.extend({
classNames: ['internal']
});
import Ember from 'ember';
export default Ember.Component.extend({
click() {
alert(this.$().text());
}
});
@danevans
danevans / README.md
Last active May 22, 2018 01:01
A simple setup for a JavaScript project that doesn't use a web app framework

Getting up and running in JavaScript

Prerequisites

  1. Install yarn
  2. Install node

Steps

  1. yarn init
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember!',
actions: {
more() {
this.get('model').set('name', 'danston');
this.get('model.myList').push('d');
},
@danevans
danevans / controllers.application.js
Created July 25, 2018 01:20
parent child query params
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});