UNPKG

informed

Version:

A lightweight framework and utility for building powerful forms in React applications

47 lines (41 loc) 1.42 kB
import { slicedToArray as _slicedToArray } from '../_virtual/_rollupPluginBabelHelpers.js'; import { useEffect } from 'react'; import { useFormController } from '../hooks/useFormController.js'; import { Debug } from '../debug.js'; var logger = Debug('informed:FormField' + '\t'); var UpdateFields = function UpdateFields(_ref) { var schema = _ref.schema; var formController = useFormController(); // When we render add props useEffect(function () { // Example schema // schema = { // product: { // oneOf: [ // { const: '', title: '- Select -' }, // { const: 'modelS', title: 'Model S' }, // { const: 'modelX', title: 'Model X' }, // { const: 'model3', title: 'Model 3' } // ] // } // } Object.entries(schema).forEach(function (_ref2) { var _ref3 = _slicedToArray(_ref2, 2), key = _ref3[0], value = _ref3[1]; logger("update-combine ".concat(key), value); formController.emitter.emit('update-combine', key, value); }); // When we unmount take away props return function () { Object.entries(schema).forEach(function (_ref4) { var _ref5 = _slicedToArray(_ref4, 1), key = _ref5[0]; logger("update-remove ".concat(key)); formController.emitter.emit('update-remove', key); }); }; }, []); return null; }; export { UpdateFields };