PromucFlow_constructor/app/client/src/pages/Editor/Canvas.tsx

35 lines
812 B
TypeScript
Raw Normal View History

import React from "react";
import styled from "styled-components";
import WidgetFactory from "../../utils/WidgetFactory";
import { WidgetTypes } from "../../constants/WidgetConstants";
import { useDrop } from "react-dnd";
import { ContainerWidgetProps } from "../../widgets/ContainerWidget";
2019-08-29 11:22:09 +00:00
const ArtBoard = styled.div`
2019-08-29 11:22:09 +00:00
width: 100%;
height: 100%;
position: relative;
2019-08-29 11:22:09 +00:00
overflow: auto;
`;
2019-03-21 17:42:23 +00:00
2019-08-26 12:41:21 +00:00
interface CanvasProps {
2019-08-29 11:22:09 +00:00
pageWidget: ContainerWidgetProps<any>;
addWidget: Function;
}
const Canvas = (props: CanvasProps) => {
2019-09-02 10:58:11 +00:00
const [, drop] = useDrop({
2019-08-26 12:41:21 +00:00
accept: Object.values(WidgetTypes),
});
2019-08-29 11:22:09 +00:00
2019-08-26 12:41:21 +00:00
return (
2019-08-29 11:22:09 +00:00
<React.Fragment>
<ArtBoard ref={drop}>
{props.pageWidget && WidgetFactory.createWidget(props.pageWidget)}
</ArtBoard>
2019-08-29 11:22:09 +00:00
</React.Fragment>
);
};
export default Canvas;