@makeen.io/material-ui-kit
Version:
Makeen UI components kit. Based on material-ui.
30 lines • 1.99 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";import React from "react";
import { Datepicker, Input, Radio, Select } from "../../atoms";
import _ from "lodash";
import validateFn from "../../utils/dynamicForm/validators/validatorFn";
import ImagePicker from "../ImagePicker";
import Uploader from "../Uploader";
var components = {
date: Datepicker,
imagepicker: ImagePicker,
number: Input,
radio: Radio,
select: Select,
text: Input,
textarea: Input,
uploader: Uploader
};
export default (function (_ref) {var props = _ref.props,component = _ref.component,formRegister = _ref.formRegister,formModel = _ref.formModel,setFormValue = _ref.setFormValue,formErrors = _ref.formErrors,formInitialValue = _ref.formInitialValue,rest = _objectWithoutProperties(_ref, ["props", "component", "formRegister", "formModel", "setFormValue", "formErrors", "formInitialValue"]);
var FormComponent = components[component];
var control = _.get(_extends({}, props, rest), "control");
var schemaPath = _.get(control, "schemaPath");
var message = _.get(control, "message");
var validation = _.get(message, "validation");
var schema = _.get(formModel, schemaPath);
if (!FormComponent) {
console.error("No component definition exists for ".concat(component));
return null;
}
return /*#__PURE__*/React.createElement(FormComponent, { id: props.id, name: props.name, type: props.type, setFormValue: setFormValue, setFormRegister: formRegister, style: props.style || {}, showHelperText: props.showHelperText, defaultValue: _.get(formInitialValue, props.name), error: _.get(formErrors, props.name), schema: schema, validation: validation, label: "".concat(props.label, " ").concat(schema && schema.minOcc > 0 ? "*" : ""), options: props.options, register: validation && formRegister(validateFn({ schema: schema, validation: validation })) });
});
//# sourceMappingURL=index.js.map