UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

54 lines (50 loc) 1.57 kB
import _defineProperty from "@babel/runtime/helpers/defineProperty"; import React from 'react'; // Ignored via go/ees005 // eslint-disable-next-line import/no-namespace import ChromeCollapsed from '../ui/ChromeCollapsed'; // eslint-disable-next-line @typescript-eslint/no-explicit-any // Ignored via go/ees005 // eslint-disable-next-line @repo/internal/react/no-class-components export default class CollapsedEditor extends React.Component { constructor(...args) { super(...args); _defineProperty(this, "state", { editorModules: CollapsedEditor.editorModules }); } componentDidMount() { if (!this.state.editorModules) { this.loadEditorModules(); } } loadEditorModules() { import( /* webpackChunkName:"@atlaskit-internal_editor-core-async" */'../').then(modules => { CollapsedEditor.editorModules = modules; this.setState({ editorModules: modules }); }); } render() { if (!this.props.isExpanded) { return /*#__PURE__*/React.createElement(ChromeCollapsed, { onFocus: this.props.onClickToExpand, text: this.props.placeholder }); } if (!this.state.editorModules) { // Ignored via go/ees007 // eslint-disable-next-line @atlaskit/editor/enforce-todo-comment-format // TODO: Proper loading state return /*#__PURE__*/React.createElement(ChromeCollapsed, { text: "Loading..." }); } const { Editor, ...rest } = this.state.editorModules; return this.props.renderEditor(Editor, rest); } }