clickable-json
Version:
Interactive JSON and JSON CRDT viewer and editor
25 lines • 983 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.JsonObjectInsert = void 0;
const React = require("react");
const json_pointer_1 = require("@jsonjoy.com/json-pointer");
const context_1 = require("./context");
const ObjectInsert_1 = require("../inserts/ObjectInsert");
const JsonObjectInsert = ({ pointer, visible }) => {
const { onChange } = React.useContext(context_1.context);
if (!onChange)
return null;
const onSubmit = (property, value) => {
let newValue;
try {
newValue = JSON.parse(value);
}
catch (_a) {
newValue = String(value);
}
onChange([{ op: 'add', path: pointer + '/' + (0, json_pointer_1.escapeComponent)(property), value: newValue }]);
};
return React.createElement(ObjectInsert_1.ObjectInsert, { visible: visible, onSubmit: onSubmit });
};
exports.JsonObjectInsert = JsonObjectInsert;
//# sourceMappingURL=JsonObjectInsert.js.map
;