@tomino/dynamic-form-semantic-ui
Version:
Semantic UI form renderer based on dynamic form generation
17 lines • 1.19 kB
JavaScript
import React from 'react';
import { css, names } from '../common';
import { EditorContext } from './editor_context';
import { DragDrop } from '../layouts/drag_drop';
import { SingleDropCell } from './layouts_common_editor';
import { processor } from './editor_common';
import { dragDropHandler } from './drag_drop_form_control';
const extraPad = css `
padding-top: 1px;
`;
export const DropComponentEditor = props => {
const context = React.useContext(EditorContext);
const dropHandler = React.useCallback(dragDropHandler(context, props.formElement), [context.dragItem, props.formElement]);
const drag = React.useMemo(() => new DragDrop(props.layout, props.formElement, processor, `color: ${context.theme.textColor}!important;`, 'editor', dropHandler, null, false, 35, context), [context, dropHandler, props.formElement, props.layout]);
return (React.createElement(props.Component, Object.assign({}, props, drag.props(), { className: names(props.className, extraPad), "data-editor": "isEditor", EmptyCell: (props) => (React.createElement(SingleDropCell, Object.assign({ id: "0" }, props, { editorState: context }))) })));
};
//# sourceMappingURL=droppable_editor.js.map