Skip to content

Instantly share code, notes, and snippets.

View tyscorp's full-sized avatar

Tyson Cleary tyscorp

View GitHub Profile
{
"name": "signup",
"type": "form",
"fields": [
{
"name": "name",
"type": "text_input",
"label": "Name"
},
{
{
"name": "signup",
"type": "form",
"fields": [
{
"name": "name",
"type": "text_input",
"label": "Name"
},
{
@tyscorp
tyscorp / react-side-effect.jsx
Created March 25, 2018 21:58
react-side-effect using createContext
import React, { Component, PureComponent, createContext } from "react";
import flatten from "lodash/flatten";
function flattenPropsTree(arr) {
return flatten(arr.map(a => [a.props, ...flattenPropsTree(a.children)]));
}
function getPropsTree(arr) {
return arr.map(a => ({
props: a.props,
@tyscorp
tyscorp / overlay.js
Created January 24, 2018 01:10
Overlay patch
import { Utils, Overlay } from '@blueprintjs/core';
import PropTypes from 'prop-types';
import React from 'react';
function handleDocumentClick(e) {
const { isOpen, onClose } = this.props;
const eventTarget = e.target;
const isClickInDescendantOverlay = Array.from(document.querySelectorAll(`[data-overlay-id="${this.overlayId}"]`))
.filter((elem) => elem && elem.contains)
@tyscorp
tyscorp / system.js
Created April 18, 2016 00:09
React HMR SystemJS experiment
'use strict';
exports.translate = function(load) {
var prependText =
`
var __export = eval('_export');
var hotExport = function(name, exported) {
if (!Object.prototype.hasOwnProperty.call(exported, '__source')) {