2019-09-09 09:08:54 +00:00
|
|
|
import { WidgetProps } from "../widgets/BaseWidget";
|
2019-02-10 13:06:05 +00:00
|
|
|
import ContainerWidget, {
|
2019-09-09 09:08:54 +00:00
|
|
|
ContainerWidgetProps,
|
|
|
|
|
} from "../widgets/ContainerWidget";
|
|
|
|
|
import TextWidget, { TextWidgetProps } from "../widgets/TextWidget";
|
2019-09-13 10:45:49 +00:00
|
|
|
import InputWidget, { InputWidgetProps } from "../widgets/InputWidget";
|
2019-09-09 09:08:54 +00:00
|
|
|
import SpinnerWidget, { SpinnerWidgetProps } from "../widgets/SpinnerWidget";
|
|
|
|
|
import CheckboxWidget, { CheckboxWidgetProps } from "../widgets/CheckboxWidget";
|
2019-03-21 12:10:32 +00:00
|
|
|
import RadioGroupWidget, {
|
2019-09-09 09:08:54 +00:00
|
|
|
RadioGroupWidgetProps,
|
|
|
|
|
} from "../widgets/RadioGroupWidget";
|
|
|
|
|
import WidgetFactory from "./WidgetFactory";
|
|
|
|
|
import React from "react";
|
|
|
|
|
import ButtonWidget, { ButtonWidgetProps } from "../widgets/ButtonWidget";
|
2019-10-31 05:28:11 +00:00
|
|
|
import DropdownWidget, { DropdownWidgetProps } from "../widgets/DropdownWidget";
|
2019-02-10 13:06:05 +00:00
|
|
|
|
2019-02-10 13:21:19 +00:00
|
|
|
class WidgetBuilderRegistry {
|
|
|
|
|
static registerWidgetBuilders() {
|
|
|
|
|
WidgetFactory.registerWidgetBuilder("CONTAINER_WIDGET", {
|
2019-09-09 09:08:54 +00:00
|
|
|
buildWidget(widgetData: ContainerWidgetProps<WidgetProps>): JSX.Element {
|
|
|
|
|
return <ContainerWidget {...widgetData} />;
|
|
|
|
|
},
|
|
|
|
|
});
|
2019-02-10 14:14:58 +00:00
|
|
|
|
|
|
|
|
WidgetFactory.registerWidgetBuilder("TEXT_WIDGET", {
|
2019-08-29 11:22:09 +00:00
|
|
|
buildWidget(widgetData: TextWidgetProps): JSX.Element {
|
2019-09-09 09:08:54 +00:00
|
|
|
return <TextWidget {...widgetData} />;
|
|
|
|
|
},
|
|
|
|
|
});
|
2019-03-18 13:50:24 +00:00
|
|
|
|
2019-03-18 15:10:30 +00:00
|
|
|
WidgetFactory.registerWidgetBuilder("BUTTON_WIDGET", {
|
2019-08-29 11:22:09 +00:00
|
|
|
buildWidget(widgetData: ButtonWidgetProps): JSX.Element {
|
2019-09-09 09:08:54 +00:00
|
|
|
return <ButtonWidget {...widgetData} />;
|
|
|
|
|
},
|
|
|
|
|
});
|
2019-03-18 15:10:30 +00:00
|
|
|
|
2019-03-15 12:53:45 +00:00
|
|
|
WidgetFactory.registerWidgetBuilder("SPINNER_WIDGET", {
|
2019-08-29 11:22:09 +00:00
|
|
|
buildWidget(widgetData: SpinnerWidgetProps): JSX.Element {
|
2019-09-09 09:08:54 +00:00
|
|
|
return <SpinnerWidget {...widgetData} />;
|
|
|
|
|
},
|
|
|
|
|
});
|
2019-03-16 13:08:45 +00:00
|
|
|
|
2019-09-12 08:11:25 +00:00
|
|
|
WidgetFactory.registerWidgetBuilder("INPUT_WIDGET", {
|
|
|
|
|
buildWidget(widgetData: InputWidgetProps): JSX.Element {
|
2019-09-13 10:45:49 +00:00
|
|
|
return <InputWidget {...widgetData} />;
|
2019-09-09 09:08:54 +00:00
|
|
|
},
|
|
|
|
|
});
|
2019-03-21 12:10:32 +00:00
|
|
|
|
|
|
|
|
WidgetFactory.registerWidgetBuilder("CHECKBOX_WIDGET", {
|
2019-08-29 11:22:09 +00:00
|
|
|
buildWidget(widgetData: CheckboxWidgetProps): JSX.Element {
|
2019-09-09 09:08:54 +00:00
|
|
|
return <CheckboxWidget {...widgetData} />;
|
|
|
|
|
},
|
|
|
|
|
});
|
2019-03-21 12:10:32 +00:00
|
|
|
|
2019-10-31 05:28:11 +00:00
|
|
|
WidgetFactory.registerWidgetBuilder("DROP_DOWN_WIDGET", {
|
|
|
|
|
buildWidget(widgetData: DropdownWidgetProps): JSX.Element {
|
|
|
|
|
return <DropdownWidget {...widgetData} />;
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
|
2019-03-21 12:10:32 +00:00
|
|
|
WidgetFactory.registerWidgetBuilder("RADIO_GROUP_WIDGET", {
|
2019-08-29 11:22:09 +00:00
|
|
|
buildWidget(widgetData: RadioGroupWidgetProps): JSX.Element {
|
2019-09-09 09:08:54 +00:00
|
|
|
return <RadioGroupWidget {...widgetData} />;
|
|
|
|
|
},
|
|
|
|
|
});
|
2019-02-10 13:06:05 +00:00
|
|
|
}
|
2019-02-10 13:21:19 +00:00
|
|
|
}
|
|
|
|
|
|
2019-09-09 09:08:54 +00:00
|
|
|
export default WidgetBuilderRegistry;
|