UNPKG

app-base-react

Version:
79 lines (59 loc) 2.87 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); exports.default = GlobalSettings; var _formRender = require('../../../form-render'); var _formRender2 = _interopRequireDefault(_formRender); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _settings = require('../../settings'); var _hooks = require('../../utils/hooks'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function GlobalSettings(_ref) { var widgets = _ref.widgets; var form = (0, _formRender.useForm)(); var _useState = (0, _react.useState)(false), _useState2 = _slicedToArray(_useState, 2), innerUpdate = _useState2[0], setInnerUpdate = _useState2[1]; var _useStore = (0, _hooks.useStore)(), globalWidgets = _useStore.widgets, frProps = _useStore.frProps, _useStore$userProps = _useStore.userProps, userProps = _useStore$userProps === undefined ? {} : _useStore$userProps, mapping = _useStore.mapping; var setGlobal = (0, _hooks.useGlobal)(); var globalSettings = userProps.globalSettings || _settings.defaultGlobalSettings; var onDataChange = function onDataChange(value) { setInnerUpdate(!!Object.keys(value).length); setGlobal({ frProps: value }); }; (0, _react.useEffect)(function () { if (innerUpdate) { setInnerUpdate(false); } else { form.setValues(frProps); } }, [frProps]); (0, _react.useEffect)(function () { setGlobal({ settingsForm: form }); }, []); return _react2.default.createElement( 'div', { style: { paddingRight: 24 } }, _react2.default.createElement(_formRender2.default, { form: form, schema: globalSettings, watch: { '#': function _(v) { return onDataChange(v); } }, widgets: _extends({}, globalWidgets, widgets), mapping: mapping }) ); }