2019-03-13 15:05:24 +00:00
|
|
|
import BaseWidget, { IWidgetProps } from "../widgets/BaseWidget";
|
2019-02-10 13:06:05 +00:00
|
|
|
import ContainerWidget, {
|
|
|
|
|
IContainerWidgetProps
|
2019-03-13 15:05:24 +00:00
|
|
|
} from "../widgets/ContainerWidget";
|
|
|
|
|
import TextWidget, { ITextWidgetProps } from "../widgets/TextWidget";
|
|
|
|
|
import InputTextWidget, {
|
|
|
|
|
IInputTextWidgetProps
|
|
|
|
|
} from "../widgets/InputTextWidget";
|
2019-03-13 15:55:53 +00:00
|
|
|
import CalloutWidget, { ICalloutWidgetProps } from "../widgets/CalloutWidget";
|
2019-03-15 12:35:36 +00:00
|
|
|
import IconWidget, { IIconWidgetProps } from "../widgets/IconWidget";
|
2019-03-13 15:05:24 +00:00
|
|
|
import WidgetFactory from "./WidgetFactory";
|
|
|
|
|
import React from "react";
|
2019-02-10 13:06:05 +00:00
|
|
|
|
2019-02-10 13:21:19 +00:00
|
|
|
class WidgetBuilderRegistry {
|
|
|
|
|
static registerWidgetBuilders() {
|
|
|
|
|
WidgetFactory.registerWidgetBuilder("CONTAINER_WIDGET", {
|
|
|
|
|
buildWidget(
|
2019-02-10 16:39:09 +00:00
|
|
|
widgetData: IContainerWidgetProps<IWidgetProps>
|
2019-02-11 18:22:23 +00:00
|
|
|
): JSX.Element {
|
2019-03-13 15:05:24 +00:00
|
|
|
return <ContainerWidget {...widgetData} />;
|
2019-02-10 13:21:19 +00:00
|
|
|
}
|
2019-03-13 15:05:24 +00:00
|
|
|
});
|
2019-02-10 14:14:58 +00:00
|
|
|
|
|
|
|
|
WidgetFactory.registerWidgetBuilder("TEXT_WIDGET", {
|
2019-03-13 15:05:24 +00:00
|
|
|
buildWidget(widgetData: ITextWidgetProps): JSX.Element {
|
|
|
|
|
return <TextWidget {...widgetData} />;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
WidgetFactory.registerWidgetBuilder("INPUT_TEXT_WIDGET", {
|
|
|
|
|
buildWidget(widgetData: IInputTextWidgetProps): JSX.Element {
|
|
|
|
|
return <InputTextWidget {...widgetData} />;
|
2019-02-10 14:14:58 +00:00
|
|
|
}
|
2019-03-13 15:05:24 +00:00
|
|
|
});
|
2019-03-13 15:55:53 +00:00
|
|
|
|
|
|
|
|
WidgetFactory.registerWidgetBuilder("CALLOUT_WIDGET", {
|
|
|
|
|
buildWidget(widgetData: ICalloutWidgetProps): JSX.Element {
|
|
|
|
|
return <CalloutWidget {...widgetData} />;
|
|
|
|
|
}
|
|
|
|
|
});
|
2019-03-15 12:35:36 +00:00
|
|
|
|
|
|
|
|
WidgetFactory.registerWidgetBuilder("ICON_WIDGET", {
|
|
|
|
|
buildWidget(widgetData: IIconWidgetProps): JSX.Element {
|
|
|
|
|
return <IconWidget {...widgetData} />;
|
|
|
|
|
}
|
|
|
|
|
});
|
2019-02-10 13:06:05 +00:00
|
|
|
}
|
2019-02-10 13:21:19 +00:00
|
|
|
}
|
|
|
|
|
|
2019-03-13 15:05:24 +00:00
|
|
|
export default WidgetBuilderRegistry;
|