mobx-react-form
Version:
Reactive MobX Form State Management
128 lines (125 loc) • 3.59 kB
text/typescript
import { FieldPropsEnum, FieldPropsOccurrence, SeparatedPropsMode } from "./models/FieldProps";
export interface PropsGroupsInterface {
editable: string[];
handlers: string[];
computed: string[];
functions: string[];
validation: string[];
separated: string[];
occurrences: {
[index: string]: FieldPropsOccurrence;
};
}
export const props: PropsGroupsInterface = {
editable: [
FieldPropsEnum.type,
FieldPropsEnum.value,
FieldPropsEnum.initial,
FieldPropsEnum.default,
FieldPropsEnum.label,
FieldPropsEnum.placeholder,
FieldPropsEnum.related,
FieldPropsEnum.options,
FieldPropsEnum.extra,
FieldPropsEnum.bindings,
FieldPropsEnum.hooks,
FieldPropsEnum.handlers,
FieldPropsEnum.deleted,
FieldPropsEnum.disabled,
FieldPropsEnum.autoFocus,
FieldPropsEnum.inputMode,
FieldPropsEnum.ref,
FieldPropsEnum.nullable,
FieldPropsEnum.autoComplete,
],
handlers: [
FieldPropsEnum.onChange,
FieldPropsEnum.onToggle,
FieldPropsEnum.onFocus,
FieldPropsEnum.onBlur,
FieldPropsEnum.onDrop,
FieldPropsEnum.onSubmit,
FieldPropsEnum.onReset,
FieldPropsEnum.onClear,
FieldPropsEnum.onAdd,
FieldPropsEnum.onDel,
],
computed: [
FieldPropsEnum.error,
FieldPropsEnum.hasError,
FieldPropsEnum.isValid,
FieldPropsEnum.isDirty,
FieldPropsEnum.isPristine,
FieldPropsEnum.isDefault,
FieldPropsEnum.isEmpty,
FieldPropsEnum.focused,
FieldPropsEnum.touched,
FieldPropsEnum.changed,
FieldPropsEnum.validating,
FieldPropsEnum.submitting,
FieldPropsEnum.resetting,
FieldPropsEnum.clearing,
FieldPropsEnum.blurred,
FieldPropsEnum.deleted,
FieldPropsEnum.disabled,
],
separated: [
SeparatedPropsMode.computed,
SeparatedPropsMode.values,
SeparatedPropsMode.labels,
SeparatedPropsMode.placeholders,
SeparatedPropsMode.defaults,
SeparatedPropsMode.initials,
SeparatedPropsMode.disabled,
SeparatedPropsMode.deleted,
SeparatedPropsMode.types,
SeparatedPropsMode.related,
SeparatedPropsMode.rules,
SeparatedPropsMode.options,
SeparatedPropsMode.bindings,
SeparatedPropsMode.extra,
SeparatedPropsMode.hooks,
SeparatedPropsMode.handlers,
SeparatedPropsMode.validatedWith,
SeparatedPropsMode.validators,
SeparatedPropsMode.observers,
SeparatedPropsMode.interceptors,
SeparatedPropsMode.converters,
SeparatedPropsMode.input,
SeparatedPropsMode.output,
SeparatedPropsMode.autoFocus,
SeparatedPropsMode.inputMode,
SeparatedPropsMode.refs,
SeparatedPropsMode.classes,
SeparatedPropsMode.nullable,
SeparatedPropsMode.autoComplete,
],
functions: [
FieldPropsEnum.computed,
FieldPropsEnum.observers,
FieldPropsEnum.interceptors,
FieldPropsEnum.converter,
FieldPropsEnum.input,
FieldPropsEnum.output,
],
validation: [
FieldPropsEnum.rules,
FieldPropsEnum.validators,
FieldPropsEnum.validatedWith,
],
occurrences: {
isDirty: FieldPropsOccurrence.some,
isPristine: FieldPropsOccurrence.every,
isDefault: FieldPropsOccurrence.every,
isValid: FieldPropsOccurrence.every,
isEmpty: FieldPropsOccurrence.every,
hasError: FieldPropsOccurrence.some,
focused: FieldPropsOccurrence.some,
blurred: FieldPropsOccurrence.some,
touched: FieldPropsOccurrence.some,
deleted: FieldPropsOccurrence.every,
disabled: FieldPropsOccurrence.every,
clearing: FieldPropsOccurrence.every,
resetting: FieldPropsOccurrence.every,
},
};