2019-08-29 11:22:09 +00:00
|
|
|
import { IWidgetProps } from "../widgets/BaseWidget"
|
2019-02-10 13:06:05 +00:00
|
|
|
import ContainerWidget, {
|
2019-08-29 11:22:09 +00:00
|
|
|
ContainerWidgetProps
|
2019-03-21 12:10:32 +00:00
|
|
|
} from "../widgets/ContainerWidget"
|
2019-08-29 11:22:09 +00:00
|
|
|
import TextWidget, { TextWidgetProps } from "../widgets/TextWidget"
|
2019-03-16 13:08:45 +00:00
|
|
|
import InputGroupWidget, {
|
2019-08-29 11:22:09 +00:00
|
|
|
InputGroupWidgetProps
|
2019-03-21 12:10:32 +00:00
|
|
|
} from "../widgets/InputGroupWidget"
|
2019-08-29 11:22:09 +00:00
|
|
|
import CalloutWidget, { CalloutWidgetProps } from "../widgets/CalloutWidget"
|
|
|
|
|
import IconWidget, { IconWidgetProps } from "../widgets/IconWidget"
|
|
|
|
|
import SpinnerWidget, { SpinnerWidgetProps } from "../widgets/SpinnerWidget"
|
2019-03-21 12:10:32 +00:00
|
|
|
import BreadcrumbsWidget, {
|
2019-08-29 11:22:09 +00:00
|
|
|
BreadcrumbsWidgetProps
|
2019-03-21 12:10:32 +00:00
|
|
|
} from "../widgets/BreadcrumbsWidget"
|
2019-08-29 11:22:09 +00:00
|
|
|
import TagInputWidget, { TagInputWidgetProps } from "../widgets/TagInputWidget"
|
2019-03-21 12:10:32 +00:00
|
|
|
import NumericInputWidget, {
|
2019-08-29 11:22:09 +00:00
|
|
|
NumericInputWidgetProps
|
2019-03-21 12:10:32 +00:00
|
|
|
} from "../widgets/NumericInputWidget"
|
2019-08-29 11:22:09 +00:00
|
|
|
import CheckboxWidget, { CheckboxWidgetProps } from "../widgets/CheckboxWidget"
|
2019-03-21 12:10:32 +00:00
|
|
|
import RadioGroupWidget, {
|
2019-08-29 11:22:09 +00:00
|
|
|
RadioGroupWidgetProps
|
2019-03-21 12:10:32 +00:00
|
|
|
} from "../widgets/RadioGroupWidget"
|
|
|
|
|
import WidgetFactory from "./WidgetFactory"
|
|
|
|
|
import React from "react"
|
2019-08-29 11:22:09 +00:00
|
|
|
import ButtonWidget, { ButtonWidgetProps } from "../widgets/ButtonWidget"
|
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-08-29 11:22:09 +00:00
|
|
|
widgetData: ContainerWidgetProps<IWidgetProps>
|
2019-02-11 18:22:23 +00:00
|
|
|
): JSX.Element {
|
2019-03-21 12:10:32 +00:00
|
|
|
return <ContainerWidget {...widgetData} />
|
2019-02-10 13:21:19 +00:00
|
|
|
}
|
2019-03-21 12:10:32 +00:00
|
|
|
})
|
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-03-21 12:10:32 +00:00
|
|
|
return <TextWidget {...widgetData} />
|
2019-02-10 14:14:58 +00:00
|
|
|
}
|
2019-03-21 12:10:32 +00:00
|
|
|
})
|
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-03-21 12:10:32 +00:00
|
|
|
return <ButtonWidget {...widgetData} />
|
2019-03-18 15:10:30 +00:00
|
|
|
}
|
2019-03-21 12:10:32 +00:00
|
|
|
})
|
2019-03-18 15:10:30 +00:00
|
|
|
|
2019-03-13 15:55:53 +00:00
|
|
|
WidgetFactory.registerWidgetBuilder("CALLOUT_WIDGET", {
|
2019-08-29 11:22:09 +00:00
|
|
|
buildWidget(widgetData: CalloutWidgetProps): JSX.Element {
|
2019-03-21 12:10:32 +00:00
|
|
|
return <CalloutWidget {...widgetData} />
|
2019-03-13 15:55:53 +00:00
|
|
|
}
|
2019-03-21 12:10:32 +00:00
|
|
|
})
|
2019-03-15 12:35:36 +00:00
|
|
|
|
|
|
|
|
WidgetFactory.registerWidgetBuilder("ICON_WIDGET", {
|
2019-08-29 11:22:09 +00:00
|
|
|
buildWidget(widgetData: IconWidgetProps): JSX.Element {
|
2019-03-21 12:10:32 +00:00
|
|
|
return <IconWidget {...widgetData} />
|
2019-03-15 12:35:36 +00:00
|
|
|
}
|
2019-03-21 12:10:32 +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-03-21 12:10:32 +00:00
|
|
|
return <SpinnerWidget {...widgetData} />
|
2019-03-15 12:53:45 +00:00
|
|
|
}
|
2019-03-21 12:10:32 +00:00
|
|
|
})
|
2019-03-16 13:08:45 +00:00
|
|
|
|
|
|
|
|
WidgetFactory.registerWidgetBuilder("INPUT_GROUP_WIDGET", {
|
2019-08-29 11:22:09 +00:00
|
|
|
buildWidget(widgetData: InputGroupWidgetProps): JSX.Element {
|
2019-03-21 12:10:32 +00:00
|
|
|
return <InputGroupWidget {...widgetData} />
|
2019-03-18 13:50:24 +00:00
|
|
|
}
|
2019-03-21 12:10:32 +00:00
|
|
|
})
|
|
|
|
|
|
|
|
|
|
WidgetFactory.registerWidgetBuilder("BREADCRUMBS_WIDGET", {
|
2019-08-29 11:22:09 +00:00
|
|
|
buildWidget(widgetData: BreadcrumbsWidgetProps): JSX.Element {
|
2019-03-21 12:10:32 +00:00
|
|
|
return <BreadcrumbsWidget {...widgetData} />
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
WidgetFactory.registerWidgetBuilder("TAG_INPUT_WIDGET", {
|
2019-08-29 11:22:09 +00:00
|
|
|
buildWidget(widgetData: TagInputWidgetProps): JSX.Element {
|
2019-03-21 12:10:32 +00:00
|
|
|
return <TagInputWidget {...widgetData} />
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
WidgetFactory.registerWidgetBuilder("NUMERIC_INPUT_WIDGET", {
|
2019-08-29 11:22:09 +00:00
|
|
|
buildWidget(widgetData: NumericInputWidgetProps): JSX.Element {
|
2019-03-21 12:10:32 +00:00
|
|
|
return <NumericInputWidget {...widgetData} />
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
WidgetFactory.registerWidgetBuilder("CHECKBOX_WIDGET", {
|
2019-08-29 11:22:09 +00:00
|
|
|
buildWidget(widgetData: CheckboxWidgetProps): JSX.Element {
|
2019-03-21 12:10:32 +00:00
|
|
|
return <CheckboxWidget {...widgetData} />
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
WidgetFactory.registerWidgetBuilder("RADIO_GROUP_WIDGET", {
|
2019-08-29 11:22:09 +00:00
|
|
|
buildWidget(widgetData: RadioGroupWidgetProps): JSX.Element {
|
2019-03-21 12:10:32 +00:00
|
|
|
return <RadioGroupWidget {...widgetData} />
|
|
|
|
|
}
|
|
|
|
|
})
|
2019-08-26 12:41:21 +00:00
|
|
|
|
2019-02-10 13:06:05 +00:00
|
|
|
}
|
2019-02-10 13:21:19 +00:00
|
|
|
}
|
|
|
|
|
|
2019-03-21 12:10:32 +00:00
|
|
|
export default WidgetBuilderRegistry
|