mobx-react-form
Version:
Reactive MobX Form State Management
3 lines (2 loc) • 3.51 kB
JavaScript
!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports):"function"==typeof define&&define.amd?define(["exports"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self).MobxReactFormComposer={})}(this,function(e){"use strict";var o,t,s,a;!function(e){e.key="key",e.id="id",e.path="path",e.name="name",e.fields="fields",e.ref="ref",e.type="type",e.computed="computed",e.value="value",e.initial="initial",e.default="default",e.checked="checked",e.label="label",e.placeholder="placeholder",e.error="error",e.validatedWith="validatedWith",e.validators="validators",e.rules="rules",e.related="related",e.options="options",e.extra="extra",e.bindings="bindings",e.hooks="hooks",e.handlers="handlers",e.converter="converter",e.input="input",e.output="output",e.interceptors="interceptors",e.observers="observers",e.disabled="disabled",e.deleted="deleted",e.blurred="blurred",e.validating="validating",e.submitting="submitting",e.clearing="clearing",e.resetting="resetting",e.changed="changed",e.touched="touched",e.focused="focused",e.isEmpty="isEmpty",e.isDefault="isDefault",e.isPristine="isPristine",e.isDirty="isDirty",e.isValid="isValid",e.hasError="hasError",e.onInit="onInit",e.onSync="onSync",e.onChange="onChange",e.onBlur="onBlur",e.onFocus="onFocus",e.onToggle="onToggle",e.onDrop="onDrop",e.onSubmit="onSubmit",e.onReset="onReset",e.onClear="onClear",e.onAdd="onAdd",e.onDel="onDel",e.autoFocus="autoFocus",e.inputMode="inputMode",e.onKeyDown="onKeyDown",e.onKeyUp="onKeyUp",e.class="class",e.nullable="nullable",e.autoComplete="autoComplete"}(o||(o={})),function(e){e.computed="computed",e.observable="observable",e.editable="editable",e.all="all"}(t||(t={})),function(e){e.some="some",e.every="every"}(s||(s={})),function(e){e.computed="computed",e.values="values",e.labels="labels",e.placeholders="placeholders",e.defaults="defaults",e.initials="initials",e.disabled="disabled",e.deleted="deleted",e.types="types",e.related="related",e.rules="rules",e.options="options",e.bindings="bindings",e.extra="extra",e.hooks="hooks",e.handlers="handlers",e.validatedWith="validatedWith",e.validators="validators",e.observers="observers",e.interceptors="interceptors",e.converters="converters",e.input="input",e.output="output",e.autoFocus="autoFocus",e.inputMode="inputMode",e.refs="refs",e.classes="classes",e.nullable="nullable",e.autoComplete="autoComplete"}(a||(a={}));const r=e=>{const t=o=>Object.entries(e).reduce((e,t)=>Object.assign(e,{[t[0]]:t[1].check(o)}),{}),s=o=>Object.entries(e).reduce((e,t)=>Object.assign(e,{[t[0]]:t[1].get(o)}),{}),a=()=>Object.values(t(o.isValid)).every(e=>!0===e),l=()=>Object.values(t(o.hasError)).some(e=>!0===e);return{instances:()=>e,select:o=>e[o],check:t,get:s,validate:({showErrors:o=!0}={showErrors:!0})=>Promise.all(Object.values(e).map(e=>e.validate({showErrors:o}))).then(()=>({composer:r(e),valid:a(),error:l(),errors:s("error"),values:s("value")})),submit:({validate:o=!0,execOnSubmitHook:t=!1,execValidationHooks:i=!1}={validate:!0,execOnSubmitHook:!1,execValidationHooks:!1})=>Promise.all(Object.values(e).map(e=>e.submit({},{execOnSubmitHook:t,execValidationHooks:i,validate:o}))).then(()=>({composer:r(e),valid:a(),error:l(),errors:s("error"),values:s("value")})),clear:({deep:o=!0,execHook:t=!1}={deep:!0,execHook:!1})=>Object.values(e).map(e=>e.clear(o,t)),reset:({deep:o=!0,execHook:t=!1}={deep:!0,execHook:!1})=>Object.values(e).map(e=>e.reset(o,t))}};e.composer=r});
//# sourceMappingURL=MobxReactFormComposer.umd.min.js.map