clickable-json
Version:
Interactive JSON and JSON CRDT viewer and editor
24 lines • 1.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.JsonCrdtExtNode = void 0;
const React = require("react");
const use_t_1 = require("use-t");
const JsonCrdtRegion_1 = require("../../JsonCrdtRegion");
const JsonCrdtProperty_1 = require("../../JsonCrdtProperty");
const JsonCrdtObjectLayout_1 = require("../../JsonCrdtObjectLayout");
const hooks_1 = require("../../hooks");
const JsonCrdtConstant_1 = require("../../JsonCrdtConstant");
const utils_1 = require("../../utils");
const JsonAtom_1 = require("../../../JsonAtom");
const SwitchAction_1 = require("../../../buttons/Action/SwitchAction");
const JsonCrdtExtNode = ({ node, onViewChange }) => {
const [t] = (0, use_t_1.useT)();
(0, hooks_1.useRerenderModel)();
const vec = node.node;
const view = vec.view();
return (React.createElement(JsonCrdtRegion_1.JsonCrdtRegion, { node: node, extension: true, toolbar: React.createElement(SwitchAction_1.SwitchAction, { onClick: onViewChange, tooltip: t('Show "vec" node') }) },
React.createElement(JsonCrdtObjectLayout_1.JsonCrdtObjectLayout, { node: node, property: React.createElement(JsonCrdtProperty_1.JsonCrdtProperty, { node: node }), collapsedView: React.createElement(JsonAtom_1.JsonAtom, { value: view }), brackets: ['(', ')'] },
React.createElement(JsonCrdtConstant_1.JsonCrdtConstant, { id: (0, utils_1.id)(node), view: view }))));
};
exports.JsonCrdtExtNode = JsonCrdtExtNode;
//# sourceMappingURL=JsonCrdtExtNode.js.map