cosmo-ui
Version:
Common React components
48 lines • 1.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var data_1 = require("../data");
var reducers_1 = require("../reducers");
/**
* Return all the data in a named form
*
* @param state
* @param formKey
*/
exports.getForm = function (state, formKey) {
return state[reducers_1.FORM_REDUCER_KEY][formKey] || {};
};
/**
* Get the data for a single form field
*
* @param state
* @param formKey
* @param fieldKey
*/
exports.getFormField = function (state, formKey, fieldKey) {
var form = state[reducers_1.FORM_REDUCER_KEY][formKey];
if (form) {
return form[fieldKey] || {};
}
else {
return state[reducers_1.FORM_REDUCER_KEY][fieldKey] || {};
}
};
/**
* Either return an existing form field
* Or initialize a new one via a custom function
*
* @param state
* @param ownProps
* @param initializeField
*/
exports.mapStateToField = function (state, ownProps, initializeField) {
if (initializeField === void 0) { initializeField = data_1.createDefaultFormField; }
if (ownProps.formName) {
// eg. state.forms.formName.fieldName
var form = state[ownProps.formName];
return form ? form[ownProps.name] : initializeField(ownProps);
}
// eg state.forms.fieldName
return state[ownProps.name] ? state[ownProps.name] : initializeField(ownProps);
};
//# sourceMappingURL=forms.js.map