Skip to content
This repository was archived by the owner on Aug 23, 2022. It is now read-only.

Commit fcbb0bc

Browse files
committed
Separating out utilities getField, making track default export, adding initialFieldState to constants
1 parent e51bbc5 commit fcbb0bc

12 files changed

+48
-49
lines changed

src/components/control-component.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import validityKeys from '../constants/validity-keys';
2323
import { dispatchBatchIfNeeded } from '../actions/batch-actions';
2424
import resolveModel from '../utils/resolve-model';
2525
import isNative from '../utils/is-native';
26-
import { initialFieldState } from '../reducers/form-reducer';
26+
import initialFieldState from '../constants/initial-field-state';
2727

2828
const findDOMNode = !isNative
2929
? require('react-dom').findDOMNode

src/components/errors-component.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import getFieldFromState from '../utils/get-field-from-state';
1313
import getModel from '../utils/get-model';
1414
import isValid from '../form/is-valid';
1515
import resolveModel from '../utils/resolve-model';
16-
import { initialFieldState } from '../reducers/form-reducer';
16+
import initialFieldState from '../constants/initial-field-state';
1717

1818
function showErrors(field, form, show = true) {
1919
if (typeof show === 'function') {

src/components/field-component.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import shallowCompareWithoutChildren from '../utils/shallow-compare-without-chil
1515
import getModel from '../utils/get-model';
1616
import getFieldFromState from '../utils/get-field-from-state';
1717
import resolveModel from '../utils/resolve-model';
18-
import { initialFieldState } from '../reducers/form-reducer';
18+
import initialFieldState from '../constants/initial-field-state';
1919

2020
const fieldPropTypes = {
2121
model: PropTypes.oneOfType([

src/components/form-component.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import invertValidity from '../utils/invert-validity';
1313
import invertValidators from '../utils/invert-validators';
1414
import getForm from '../utils/get-form';
1515
import getModel from '../utils/get-model';
16-
import { getField } from '../reducers/form-reducer';
16+
import getField from '../utils/get-field';
1717
import isValid from '../form/is-valid';
1818
import deepCompareChildren from '../utils/deep-compare-children';
1919

src/constants/initial-field-state.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
const initialFieldState = {
2+
focus: false,
3+
pending: false,
4+
pristine: true,
5+
submitted: false,
6+
submitFailed: false,
7+
retouched: false,
8+
touched: false,
9+
valid: true,
10+
validating: false,
11+
validated: false,
12+
validity: {},
13+
errors: {},
14+
};
15+
16+
export default initialFieldState;

src/index.js

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,14 @@ import controlPropsMap from './constants/control-props-map';
1212
import modeled from './enhancers/modeled-enhancer';
1313
import batched from './enhancers/batched-enhancer';
1414

15-
import formReducer, {
16-
initialFieldState,
17-
getField,
18-
} from './reducers/form-reducer';
15+
import formReducer from './reducers/form-reducer';
16+
import initialFieldState from './constants/initial-field-state';
1917
import combineForms from './reducers/forms-reducer';
2018

2119
import modelReducer from './reducers/model-reducer';
2220

23-
import {
24-
track,
25-
} from './utils/track';
21+
import track from './utils/track';
22+
import getField from './utils/get-field';
2623

2724
import form from './form';
2825

src/reducers/form-reducer.js

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import mapValues from '../utils/map-values';
77
import toPath from '../utils/to-path';
88
import composeReducers from '../utils/compose-reducers';
99
import createBatchReducer from '../enhancers/batched-enhancer';
10+
import initialFieldState from '../constants/initial-field-state';
1011

1112
import changeActionReducer from './form/change-action-reducer';
1213
import setValidityActionReducer from './form/set-validity-action-reducer';
@@ -21,40 +22,6 @@ import submittedActionReducer from './form/submitted-action-reducer';
2122
import submitFailedActionReducer from './form/submit-failed-action-reducer';
2223
import resetActionReducer from './form/reset-action-reducer';
2324

24-
export const initialFieldState = {
25-
focus: false,
26-
pending: false,
27-
pristine: true,
28-
submitted: false,
29-
submitFailed: false,
30-
retouched: false,
31-
touched: false,
32-
valid: true,
33-
validating: false,
34-
validated: false,
35-
validity: {},
36-
errors: {},
37-
};
38-
39-
export function getField(state, path) {
40-
if (process.env.NODE_ENV !== 'production') {
41-
if (!isPlainObject(state)) {
42-
throw new Error(`Could not retrieve field '${path}' `
43-
+ 'from an invalid/empty form state.');
44-
}
45-
}
46-
47-
if (!path.length && state.$form) {
48-
return state.$form;
49-
}
50-
51-
const result = _get(state, path, initialFieldState);
52-
53-
if ('$form' in result) return result.$form;
54-
55-
return result;
56-
}
57-
5825
function getSubModelString(model, subModel) {
5926
if (!model) return subModel;
6027

src/reducers/form/change-action-reducer.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ import shallowEqual from '../../utils/shallow-equal';
55
import isPlainObject from 'lodash/isPlainObject';
66
import compact from 'lodash/compact';
77
import mapValues from '../../utils/map-values';
8-
import { initialFieldState, createInitialState } from '../form-reducer';
8+
import { createInitialState } from '../form-reducer';
9+
import initialFieldState from '../../constants/initial-field-state';
910

1011

1112
function updateFieldValue(field, action) {

src/reducers/form/reset-action-reducer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import actionTypes from '../../action-types';
22
import updateField from '../../utils/update-field';
3-
import { initialFieldState } from '../form-reducer';
3+
import initialFieldState from '../../constants/initial-field-state';
44

55
export default function resetActionReducer(state, action, localPath) {
66
if (action.type !== actionTypes.RESET

src/reducers/form/reset-validity-action-reducer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import actionTypes from '../../action-types';
22
import updateField from '../../utils/update-field';
3-
import { initialFieldState } from '../form-reducer';
3+
import initialFieldState from '../../constants/initial-field-state';
44

55
export default function resetValidityActionReducer(state, action, localPath) {
66
if (action.type !== actionTypes.RESET_VALIDITY) {

0 commit comments

Comments
 (0)