apollo-form
Version:
Form state manager
20 lines (19 loc) • 940 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importDefault(require("react"));
const useFormCtx_1 = __importDefault(require("../hooks/useFormCtx"));
function Submit(props) {
const Component = props.children;
const apolloForm = useFormCtx_1.default();
const { isValid, existsChanges, loading, isSubmitted } = apolloForm.useState(s => ({
isValid: s.isValid,
loading: s.loading,
existsChanges: s.existsChanges,
isSubmitted: s.isSubmitted,
}));
return (react_1.default.createElement(Component, { disabled: (!isValid && isSubmitted) || loading || !existsChanges, isValid: isValid, loading: loading, existsChanges: existsChanges, isSubmitted: isSubmitted, form: apolloForm }));
}
exports.default = Submit;