app-base-react
Version:
react development common base package.
79 lines (59 loc) • 2.87 kB
JavaScript
;
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
})
);
}