collaborative-ui
Version:
React component library for building real-time collaborative editing applications.
24 lines (23 loc) • 1.35 kB
JavaScript
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;
;