import { ReactNode, Component, FunctionComponent } from "react"; import { Theme } from "@Component/Theme/Theme"; import { Localization } from "@Component/Localization/Localization"; import { RenderView } from "./RenderView/RenderView"; interface IPanelInfo { nameKey: string; introKay: string; class: (new (...p: any) => Component) | FunctionComponent; hidePadding?: boolean; hideScrollBar?: boolean; option?: Record; } type PanelId = "" | "RenderView" // 主渲染器 ; const PanelInfoMap = new Map(); PanelInfoMap.set("RenderView", { nameKey: "Panel.Title.Render.View", introKay: "Panel.Info.Render.View", class: RenderView, hidePadding: true, hideScrollBar: true }); function getPanelById(panelId: PanelId): ReactNode { switch (panelId) { default: let info = PanelInfoMap.get(panelId); if (info) { const C = info.class; return } else return } } function getPanelInfoById(panelId: PanelId): IPanelInfo | undefined { return PanelInfoMap.get(panelId); } export { PanelId, getPanelById, getPanelInfoById}