PromucFlow_constructor/app/client/src/utils/WidgetRegistry.tsx

35 lines
1.0 KiB
TypeScript
Raw Normal View History

import BaseWidget, { IWidgetProps } from "../widgets/BaseWidget"
import ContainerWidget, {
IContainerWidgetProps
} from "../widgets/ContainerWidget"
import TextWidget, {
ITextWidgetProps
} from "../widgets/TextWidget"
import { IContainerProps } from "../editorComponents/ContainerComponent"
import WidgetFactory from "./WidgetFactory"
import { ITextComponentProps } from "../editorComponents/TextComponent";
2019-02-10 13:21:19 +00:00
class WidgetBuilderRegistry {
static registerWidgetBuilders() {
2019-02-10 13:21:19 +00:00
WidgetFactory.registerWidgetBuilder("CONTAINER_WIDGET", {
buildWidget(
widgetData: IContainerWidgetProps<IWidgetProps>
): BaseWidget<IContainerWidgetProps<IWidgetProps>, IContainerProps> {
2019-02-10 13:21:19 +00:00
return new ContainerWidget(widgetData)
}
})
WidgetFactory.registerWidgetBuilder("TEXT_WIDGET", {
buildWidget(
widgetData: ITextWidgetProps
): BaseWidget<ITextWidgetProps, ITextComponentProps> {
return new TextWidget(widgetData)
}
})
}
2019-02-10 13:21:19 +00:00
}
export default WidgetBuilderRegistry