UNPKG

doiforms

Version:

A generalized tool for building formatted forms on multiple platforms

27 lines 1.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var __1 = require(".."); var ResetActionHandler_1 = require("../Utilities/ResetActionHandler"); var FormUpdate_1 = require("./FormUpdate"); var outputErrorState_1 = require("./outputErrorState"); function FormReducer(state, action) { switch (action.Action) { case __1.EnumFormAction.NoOp: // do nothing! break; case __1.EnumFormAction.Submit: return { Submitted: true, }; case __1.EnumFormAction.Reset: return ResetActionHandler_1.ResetActionHandler((state.FieldStates || []).map(function (fieldState) { return fieldState.Field; })); case __1.EnumFormAction.HandleError: return outputErrorState_1.outputErrorState(action.Update); case __1.EnumFormAction.Update: return action.Update && action.Update.FieldStates && action.Update.FieldStates.length > 0 ? FormUpdate_1.FormUpdate((state.FieldStates || []), action.Update.FieldStates) : outputErrorState_1.outputErrorState(action.Update); } return {}; } exports.FormReducer = FormReducer; //# sourceMappingURL=FormReducer.js.map