UNPKG

clickable-json

Version:

Interactive JSON and JSON CRDT viewer and editor

32 lines 1.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.JsonCrdtValNode = void 0; const React = require("react"); const css = require("../../css"); const NodeRef_1 = require("../NodeRef"); const context_1 = require("../context"); const JsonCrdtRegion_1 = require("../JsonCrdtRegion"); const JsonCrdtProperty_1 = require("../JsonCrdtProperty"); const JsonCrdtObjectLayout_1 = require("../JsonCrdtObjectLayout"); const JsonAtom_1 = require("../../JsonAtom"); const hooks_1 = require("../hooks"); const JsonCrdtValNode = ({ node }) => { const { render } = (0, context_1.useJsonCrdt)(); (0, hooks_1.useRerenderModel)(); const childNode = node.node.node(); if (!childNode) return null; const childNodeRef = (0, NodeRef_1.nodeRef)(childNode, node, ''); if (!childNodeRef) return null; const child = React.createElement("span", { className: css.line }, render(childNodeRef)); let collapsedView = '…'; if (childNode.name() === 'con') { const view = childNode.view(); collapsedView = React.createElement(JsonAtom_1.JsonAtom, { value: view }); } return (React.createElement(JsonCrdtRegion_1.JsonCrdtRegion, { node: node }, React.createElement(JsonCrdtObjectLayout_1.JsonCrdtObjectLayout, { node: node, property: React.createElement(JsonCrdtProperty_1.JsonCrdtProperty, { node: node }), collapsedView: collapsedView, brackets: ['(', ')'] }, child))); }; exports.JsonCrdtValNode = JsonCrdtValNode; //# sourceMappingURL=JsonCrdtValNode.js.map