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