mirror of
https://github.com/smartxworks/sunmao-ui.git
synced 2025-02-17 17:40:31 +08:00
register lib in PreviewModal
This commit is contained in:
parent
16f18772fc
commit
f782e68ae3
@ -5,6 +5,7 @@ import {
|
||||
DIALOG_CONTAINER_ID,
|
||||
initSunmaoUI,
|
||||
watch,
|
||||
SunmaoLib,
|
||||
} from '@sunmao-ui/runtime';
|
||||
import { Box, Tabs, TabList, Tab, TabPanels, TabPanel, Flex } from '@chakra-ui/react';
|
||||
import { observer } from 'mobx-react-lite';
|
||||
@ -33,6 +34,7 @@ type Props = {
|
||||
registry: ReturnOfInit['registry'];
|
||||
stateStore: ReturnOfInit['stateManager']['store'];
|
||||
services: EditorServices;
|
||||
libs: SunmaoLib[];
|
||||
};
|
||||
|
||||
const ApiFormStyle = css`
|
||||
@ -45,7 +47,7 @@ const ApiFormStyle = css`
|
||||
`;
|
||||
|
||||
export const Editor: React.FC<Props> = observer(
|
||||
({ App, registry, stateStore, services }) => {
|
||||
({ App, registry, stateStore, services, libs }) => {
|
||||
const { eventBus, editorStore } = services;
|
||||
const {
|
||||
components,
|
||||
@ -311,7 +313,12 @@ export const Editor: React.FC<Props> = observer(
|
||||
</Box>
|
||||
</Box>
|
||||
{preview && (
|
||||
<PreviewModal onClose={() => setPreview(false)} app={app} modules={modules} />
|
||||
<PreviewModal
|
||||
onClose={() => setPreview(false)}
|
||||
app={app}
|
||||
modules={modules}
|
||||
libs={libs}
|
||||
/>
|
||||
)}
|
||||
</KeyboardEventWrapper>
|
||||
);
|
||||
|
@ -1,7 +1,6 @@
|
||||
import { Box } from '@chakra-ui/react';
|
||||
import { Application, createModule, Module } from '@sunmao-ui/core';
|
||||
import { sunmaoChakraUILib } from '@sunmao-ui/chakra-ui-lib';
|
||||
import { initSunmaoUI } from '@sunmao-ui/runtime';
|
||||
import { initSunmaoUI, SunmaoLib } from '@sunmao-ui/runtime';
|
||||
import React from 'react';
|
||||
import ErrorBoundary from '../ErrorBoundary';
|
||||
import { GeneralModal } from '../GeneralModal';
|
||||
@ -9,13 +8,14 @@ import { GeneralModal } from '../GeneralModal';
|
||||
type Props = {
|
||||
app: Application;
|
||||
modules: Module[];
|
||||
libs: SunmaoLib[];
|
||||
onClose: () => void;
|
||||
};
|
||||
|
||||
export const PreviewModal: React.FC<Props> = ({ app, modules, onClose }) => {
|
||||
export const PreviewModal: React.FC<Props> = ({ app, modules, libs, onClose }) => {
|
||||
const { App, registry } = initSunmaoUI();
|
||||
modules.forEach(m => registry.registerModule(createModule(m)));
|
||||
sunmaoChakraUILib.components?.forEach(c => registry.registerComponent(c));
|
||||
libs.forEach(lib => registry.installLib(lib));
|
||||
|
||||
return (
|
||||
<GeneralModal onClose={onClose} title="Preview Modal">
|
||||
|
@ -91,6 +91,7 @@ export function initSunmaoUIEditor(props: SunmaoUIEditorProps = {}) {
|
||||
registry={registry}
|
||||
stateStore={stateManager.store}
|
||||
services={services}
|
||||
libs={props.libs || []}
|
||||
/>
|
||||
</ChakraProvider>
|
||||
);
|
||||
|
Loading…
Reference in New Issue
Block a user