clickable-json
Version:
Interactive JSON and JSON CRDT viewer and editor
20 lines • 955 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.InsertElement = void 0;
const React = require("react");
const ArrayInsert_1 = require("../../../inserts/ArrayInsert");
const focus_1 = require("../../../context/focus");
const utils_1 = require("../../utils");
const context_1 = require("../../context");
const InsertElement = ({ node, index }) => {
const { model } = (0, context_1.useJsonCrdt)();
const isFocused = (0, focus_1.useIsFocused)((0, utils_1.id)(node));
const handleSubmit = React.useCallback((json, type) => {
const valueId = (0, utils_1.createValue)(model, json, type);
const nodeApi = model.api.wrap(node.node);
nodeApi.ins(index, [valueId]);
}, [node.node]);
return React.createElement(ArrayInsert_1.ArrayInsert, { withType: true, visible: isFocused, onSubmit: handleSubmit });
};
exports.InsertElement = InsertElement;
//# sourceMappingURL=InsertElement.js.map
;