UNPKG

collaborative-ui

Version:

React component library for building real-time collaborative editing applications.

24 lines (23 loc) 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Preview = void 0; const tslib_1 = require("tslib"); const React = tslib_1.__importStar(require("react")); const context_1 = require("../context"); const useBehaviorSubject_1 = require("nice-ui/lib/hooks/useBehaviorSubject"); const JsonCrdtLog_1 = require("../../JsonCrdtLog"); const Code_1 = require("nice-ui/lib/1-inline/Code"); const flexible_input_1 = require("flexible-input"); const DemoDisplay_1 = require("../../DemoDisplay"); const Preview = () => { const state = (0, context_1.useExplorer)(); const file = (0, useBehaviorSubject_1.useBehaviorSubject)(state.file$); if (!file) { return null; } return (React.createElement(JsonCrdtLog_1.JsonCrdtLog, { key: file.id, spacious: true, state: file.logState, log: file.log, view: 'model', filename: file.name, renderDisplay: !file.display ? undefined : (model, readonly) => React.createElement(DemoDisplay_1.DemoDisplay, { comp: file.display, model: model, readonly: readonly }), renderLeftToolbar: () => (React.createElement(Code_1.Code, { gray: true, spacious: true, size: -1 }, React.createElement(flexible_input_1.FlexibleInput, { value: file.name, onChange: (e) => state.rename(file.id, e.target.value) }))) })); }; exports.Preview = Preview;