initial commit

This commit is contained in:
Fedor Katurov 2023-04-24 19:13:40 +06:00
commit 9a4eb6ef58
23 changed files with 2490 additions and 0 deletions

View file

@ -0,0 +1,32 @@
import { DockviewReact, IDockviewPanelProps } from "dockview";
import { useGridLayoutPersistance } from "./hooks/useGridLayoutPersistance";
import { FC, createElement, useMemo } from "react";
import { GridLayoutComponentProps } from "../../types";
export interface GridLayoutProps {
component: FC<GridLayoutComponentProps>;
}
export const GridLayout: FC<GridLayoutProps> = ({ component }) => {
const { onReady } = useGridLayoutPersistance();
const components = useMemo(
() => ({
default: (props: IDockviewPanelProps<{ title: string }>) => {
return createElement(component, {
id: props.api.id,
title: props.params.title,
});
},
}),
[component]
);
return (
<DockviewReact
components={components}
onReady={onReady}
className="dockview-theme-abyss"
/>
);
};