clickable-json
Version:
Interactive JSON and JSON CRDT viewer and editor
25 lines • 1.19 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.JsonCrdtObjectLayout = void 0;
const tslib_1 = require("tslib");
const React = require("react");
const ObjectLayout_1 = require("../ObjectLayout");
const style_1 = require("../context/style");
const focus_1 = require("../context/focus");
const utils_1 = require("./utils");
const JsonCrdtObjectLayout = (_a) => {
var { node } = _a, rest = tslib_1.__rest(_a, ["node"]);
const { collapsed: startsCollapsed } = (0, style_1.useStyles)();
const { focused } = (0, focus_1.useFocus)();
const [collapsed, setCollapsed] = React.useState(startsCollapsed);
const handleBracketClick = () => {
if (!collapsed && (0, utils_1.id)(node) === focused)
setCollapsed(true);
};
return (React.createElement(ObjectLayout_1.ObjectLayout, Object.assign({ collapsed: collapsed, onCollapserClick: () => setCollapsed(!collapsed), onBracketClick: handleBracketClick, onCollapsedClick: () => {
if (collapsed)
setCollapsed(false);
} }, rest)));
};
exports.JsonCrdtObjectLayout = JsonCrdtObjectLayout;
//# sourceMappingURL=JsonCrdtObjectLayout.js.map
;