Skip to content

Instantly share code, notes, and snippets.

View malerba118's full-sized avatar

Austin Malerba malerba118

View GitHub Profile
This file has been truncated, but you can view the full file.
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('react-dom'), require('prop-types')) :
typeof define === 'function' && define.amd ? define(['exports', 'react', 'react-dom', 'prop-types'], factory) :
(factory((global['react-sandbox-editor'] = {}),global.React,global.require$$10,global.PropTypes));
}(this, (function (exports,React,require$$10,PropTypes) { 'use strict';
React = React && React.hasOwnProperty('default') ? React['default'] : React;
require$$10 = require$$10 && require$$10.hasOwnProperty('default') ? require$$10['default'] : require$$10;
PropTypes = PropTypes && PropTypes.hasOwnProperty('default') ? PropTypes['default'] : PropTypes;
This file has been truncated, but you can view the full file.
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('react-dom'), require('prop-types')) :
typeof define === 'function' && define.amd ? define(['exports', 'react', 'react-dom', 'prop-types'], factory) :
(factory((global['react-sandbox-editor'] = {}),global.React,global.ReactDOM,global.PropTypes));
}(this, (function (exports,React,require$$10,PropTypes) { 'use strict';
React = React && React.hasOwnProperty('default') ? React['default'] : React;
require$$10 = require$$10 && require$$10.hasOwnProperty('default') ? require$$10['default'] : require$$10;
PropTypes = PropTypes && PropTypes.hasOwnProperty('default') ? PropTypes['default'] : PropTypes;
import React from "react"
import PropTypes from 'prop-types'
import { PromiseButtonBase } from 'components/Universal'
import { PulseLoader } from 'react-spinners'
class PromiseButton extends React.Component {
render() {
const {
children,
import React from "react"
import PropTypes from 'prop-types'
import Button from '@material-ui/core/Button'
class PromiseButtonBase extends React.Component {
state = {
promiseState: 'before'
}
const form = useForm({
onSubmit,
});
const usernameField = useField("username", form, {
defaultValue: "",
validations: [
async formData => {
await timeout(2000);
return formData.username.length < 6 && "Username already exists";
// Skipping some boilerplate: imports, ReactDOM, etc.
export const useField = (name, form, { defaultValue } = {}) => {
let [value, setValue] = useState(defaultValue);
let field = {
name,
value,
onChange: e => {
setValue(e.target.value);
export const useField = (
name,
form,
{ defaultValue, validations = [] } = {}
) => {
let [value, setValue] = useState(defaultValue);
let [errors, setErrors] = useState([]);
const validate = async () => {
let formData = form.getFormData();
export const useField = (
name,
form,
{ defaultValue, validations = [], fieldsToValidateOnChange = [name] } = {}
) => {
let [value, setValue] = useState(defaultValue);
let [errors, setErrors] = useState([]);
let [pristine, setPristine] = useState(true);
let [validating, setValidating] = useState(false);
let validateCounter = useRef(0);
@malerba118
malerba118 / customizer.js
Created February 16, 2019 22:07
react-use-database default mergeEntities customizer
// default implementation of customizer when calling db.mergeEntities(entitiesPatch)
((objValue, srcValue) => {
if (isArray(objValue) || isArray(srcValue) || isSet(objValue) || isSet(srcValue)) {
return srcValue
}
})
@malerba118
malerba118 / create-database.js
Created February 17, 2019 00:23
Creating the Database
import { schema } from "normalizr";
import createDB from "react-use-database";
let TodoSchema = new schema.Entity("Todo");
let models = [TodoSchema];
let [ DatabaseProvider, useDB ] = createDB(
models,
{