@tomino/dynamic-form-semantic-ui
Version:
Semantic UI form renderer based on dynamic form generation
20 lines • 1.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const react_1 = tslib_1.__importDefault(require("react"));
const common_1 = require("../common");
const editor_context_1 = require("./editor_context");
const drag_drop_1 = require("../layouts/drag_drop");
const layouts_common_editor_1 = require("./layouts_common_editor");
const editor_common_1 = require("./editor_common");
const drag_drop_form_control_1 = require("./drag_drop_form_control");
const extraPad = common_1.css `
padding-top: 1px;
`;
exports.DropComponentEditor = props => {
const context = react_1.default.useContext(editor_context_1.EditorContext);
const dropHandler = react_1.default.useCallback(drag_drop_form_control_1.dragDropHandler(context, props.formElement), [context.dragItem, props.formElement]);
const drag = react_1.default.useMemo(() => new drag_drop_1.DragDrop(props.layout, props.formElement, editor_common_1.processor, `color: ${context.theme.textColor}!important;`, 'editor', dropHandler, null, false, 35, context), [context, dropHandler, props.formElement, props.layout]);
return (react_1.default.createElement(props.Component, Object.assign({}, props, drag.props(), { className: common_1.names(props.className, extraPad), "data-editor": "isEditor", EmptyCell: (props) => (react_1.default.createElement(layouts_common_editor_1.SingleDropCell, Object.assign({ id: "0" }, props, { editorState: context }))) })));
};
//# sourceMappingURL=droppable_editor.js.map