@tomino/dynamic-form-semantic-ui
Version:
Semantic UI form renderer based on dynamic form generation
38 lines • 2.33 kB
JavaScript
import React from 'react';
import { observer } from 'mobx-react';
import { SplitPane } from 'react-multi-split-pane';
import { EditorContext } from './editor_context';
import { PagesView } from './pages/pages_view';
import { DatasetElements } from './dataset/dataset_elements';
import { ToolBox } from './toolbox/tool_box';
import { DatasetTypes } from './dataset/dataset_types';
import { OutlineView } from './outline/outline_view';
import { List } from './editor_styles';
export const FromEditorLeftPanel = observer(() => {
const context = React.useContext(EditorContext);
let component;
switch (context.project.state.selectedLeftPane) {
case 'pages':
component = React.createElement(PagesView, { form: context.form });
break;
case 'data':
component = (React.createElement(SplitPane, { className: "dataPanes", split: "horizontal", minSize: 100, defaultSizes: JSON.parse(localStorage.getItem('CORPIX.h-split-tools')) || [280], onDragFinished: size => localStorage.setItem('CORPIX.h-split-tools', JSON.stringify(size)) },
React.createElement(DatasetElements, { schema: context.schema, types: context.types, owner: context.data }),
React.createElement(DatasetTypes, { schema: context.schema, types: context.types })));
break;
case 'components':
component = React.createElement(ToolBox, { catalogue: context.editorCatalogue });
break;
case 'outline':
component = React.createElement(OutlineView, null);
break;
case 'all':
component = (React.createElement(SplitPane, { className: "dataPanes", split: "horizontal", minSize: 40, defaultSizes: JSON.parse(localStorage.getItem('CORPIX.all-split')), onDragFinished: size => localStorage.setItem('CORPIX.all-split', JSON.stringify(size)) },
React.createElement(PagesView, { form: context.form }),
React.createElement(OutlineView, null),
React.createElement(DatasetElements, { schema: context.schema, types: context.types, owner: context.data }),
React.createElement(ToolBox, { catalogue: context.editorCatalogue })));
}
return React.createElement(List, null, component);
});
//# sourceMappingURL=form_editor_left_panel.js.map