UNPKG

@e-group/material-lab

Version:

EGroup Team Lab - Incubator for EGroup Team experimental React components.

160 lines (129 loc) 5.39 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _FormControlEditor = _interopRequireDefault(require("../FormControlEditor")); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } const FormControlEditorField = props => { const input = props.input, _props$meta = props.meta, touched = _props$meta.touched, error = _props$meta.error, invalid = _props$meta.invalid, errorProp = props.error, helperText = props.helperText, EditorProps = props.EditorProps, other = (0, _objectWithoutProperties2.default)(props, ["input", "meta", "error", "helperText", "EditorProps"]); const _ref = EditorProps || {}, onChange = _ref.onChange, handleReturnProp = _ref.handleReturn, handleKeyCommandProp = _ref.handleKeyCommand, handleBeforeInputProp = _ref.handleBeforeInput, handlePastedTextProp = _ref.handlePastedText, handlePastedFilesProp = _ref.handlePastedFiles, handleDroppedFilesProp = _ref.handleDroppedFiles, handleDropProp = _ref.handleDrop, otherEditorProps = (0, _objectWithoutProperties2.default)(_ref, ["onChange", "handleReturn", "handleKeyCommand", "handleBeforeInput", "handlePastedText", "handlePastedFiles", "handleDroppedFiles", "handleDrop"]); const isError = touched && invalid; const handleChange = editorState => { input.onChange(editorState); if (onChange) { onChange(editorState); } }; const getHandleReturn = () => { if (handleReturnProp) { return (e, editorState) => handleReturnProp(e, editorState, { input, meta: props.meta }); } return undefined; }; const getHandleKeyCommand = () => { if (handleKeyCommandProp) { return (command, editorState) => handleKeyCommandProp(command, editorState, { input, meta: props.meta }); } return undefined; }; const getHandleBeforeInput = () => { if (handleBeforeInputProp) { return (chars, editorState, eventTimeStamp) => handleBeforeInputProp(chars, editorState, eventTimeStamp, { input, meta: props.meta }); } return undefined; }; const getHandlePastedText = () => { if (handlePastedTextProp) { return (text, html, editorState) => handlePastedTextProp(text, html, editorState, { input, meta: props.meta }); } return undefined; }; const getHandlePastedFiles = () => { if (handlePastedFilesProp) { return files => handlePastedFilesProp(files, { input, meta: props.meta }); } return undefined; }; const getHandleDroppedFiles = () => { if (handleDroppedFilesProp) { return (selection, files) => handleDroppedFilesProp(selection, files, { input, meta: props.meta }); } return undefined; }; const getHandleDrop = () => { if (handleDropProp) { return (selection, dataTransfer, isInternal) => handleDropProp(selection, dataTransfer, isInternal, { input, meta: props.meta }); } return undefined; }; return /*#__PURE__*/_react.default.createElement(_FormControlEditor.default, (0, _extends2.default)({ EditorProps: _objectSpread({ editorState: input.value, onChange: handleChange, handleReturn: getHandleReturn(), handleKeyCommand: getHandleKeyCommand(), handleBeforeInput: getHandleBeforeInput(), handlePastedText: getHandlePastedText(), handlePastedFiles: getHandlePastedFiles(), handleDroppedFiles: getHandleDroppedFiles(), handleDrop: getHandleDrop() }, otherEditorProps), error: isError, helperText: isError ? error : helperText }, other)); }; FormControlEditorField.propTypes = { /** * redux from props */ input: _propTypes.default.object.isRequired, meta: _propTypes.default.object.isRequired }; var _default = FormControlEditorField; exports.default = _default;