Skip to content

Instantly share code, notes, and snippets.

@simenbrekken
simenbrekken / 00-README.md
Last active August 29, 2015 14:15
Dokku v0.3.15 Installation
var TodosStore = Reflux.createStore({
listenables: TodoActions,
init() {
this._todos = null;
this._loaded = false;
},
isLoaded() {
return this._loaded;
@simenbrekken
simenbrekken / waitFor.js
Created December 1, 2014 07:42
Promise based "taking too long" state switcher.
var waitFor = lodash.debounce(function(promise) {
/*
You could short circuit this here if you had access to synchonous inspection.
Bluebird:
if (!promise.isPending()) return
Q/when.js:
@simenbrekken
simenbrekken / Frontpage.jsx
Created November 30, 2014 18:35
React-router server-side data fetching with nested routes
var Frontpage = React.createClass({
getAsyncState: function() {
var params = this.getParams()
var query = this.getQuery()
var getAsyncState = this.constructor.getAsyncState
if (getAsyncState) {
var asyncState = getAsyncState(params, query, this.setAsyncState)
return resolveAsyncState(asyncState, this.setAsyncState)
@simenbrekken
simenbrekken / README.md
Last active August 29, 2015 14:10
React in the Real World
@simenbrekken
simenbrekken / promise-task-scheduler.js
Created November 20, 2014 08:48
Promise Task Scheduler
var Promise = require('bluebird')
var lodash = require('lodash')
var _queue = {}
function addTask(key, promiseFactory, leading, wait) {
if (!key) {
throw new Error('Missing key: ' + key)
}
@simenbrekken
simenbrekken / Brands.jsx
Created November 8, 2014 11:10
Empty route handler
var React = require('react')
var Brands = React.createClass({
render: function() {
var activeRouteHandler = this.props.activeRouteHandler
return (
<main className="brands-section">
<activeRouteHandler />
</main>
@simenbrekken
simenbrekken / CategoryActions.js
Last active May 9, 2020 16:25
Category Actions
'use strict';
var createAsyncActions = require('./createAsyncActions')
var CategoryAPI = require('../api/CategoryAPI')
var CategoryActions = createAsyncActions({
create: function(category) {
CategoryAPI
.create(category)
@simenbrekken
simenbrekken / .gitconfig
Last active August 29, 2015 14:07
Simple aliases for a better Git life
[alias]
start = checkout -b
stop = "!export feature_branch=`git rev-parse --abbrev-ref HEAD`; [[ $feature_branch == 'master' ]] && echo 'Cannot merge master' && exit 1; git checkout master && git merge --no-ff $feature_branch"
resume = "!git checkout $1 && git rebase master"
finish = "!export feature_branch=`git rev-parse --abbrev-ref HEAD`; git stop && git branch -d $feature_branch"
@simenbrekken
simenbrekken / eventually.js
Created October 2, 2014 17:57
Eventually – Debounce for promises
'use strict';
var Promise = require('bluebird')
function eventually(callback, wait, leading) {
var timer
return function() {
var context = this
var args = arguments