@tomino/dynamic-form-semantic-ui
Version:
Semantic UI form renderer based on dynamic form generation
41 lines • 2.88 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const react_1 = tslib_1.__importDefault(require("react"));
const mobx_react_1 = require("mobx-react");
const react_multi_split_pane_1 = require("react-multi-split-pane");
const editor_context_1 = require("./editor_context");
const pages_view_1 = require("./pages/pages_view");
const dataset_elements_1 = require("./dataset/dataset_elements");
const tool_box_1 = require("./toolbox/tool_box");
const dataset_types_1 = require("./dataset/dataset_types");
const outline_view_1 = require("./outline/outline_view");
const editor_styles_1 = require("./editor_styles");
exports.FromEditorLeftPanel = mobx_react_1.observer(() => {
const context = react_1.default.useContext(editor_context_1.EditorContext);
let component;
switch (context.project.state.selectedLeftPane) {
case 'pages':
component = react_1.default.createElement(pages_view_1.PagesView, { form: context.form });
break;
case 'data':
component = (react_1.default.createElement(react_multi_split_pane_1.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_1.default.createElement(dataset_elements_1.DatasetElements, { schema: context.schema, types: context.types, owner: context.data }),
react_1.default.createElement(dataset_types_1.DatasetTypes, { schema: context.schema, types: context.types })));
break;
case 'components':
component = react_1.default.createElement(tool_box_1.ToolBox, { catalogue: context.editorCatalogue });
break;
case 'outline':
component = react_1.default.createElement(outline_view_1.OutlineView, null);
break;
case 'all':
component = (react_1.default.createElement(react_multi_split_pane_1.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_1.default.createElement(pages_view_1.PagesView, { form: context.form }),
react_1.default.createElement(outline_view_1.OutlineView, null),
react_1.default.createElement(dataset_elements_1.DatasetElements, { schema: context.schema, types: context.types, owner: context.data }),
react_1.default.createElement(tool_box_1.ToolBox, { catalogue: context.editorCatalogue })));
}
return react_1.default.createElement(editor_styles_1.List, null, component);
});
//# sourceMappingURL=form_editor_left_panel.js.map