2019-02-10 13:06:05 +00:00
|
|
|
import React, { Component } from "react"
|
|
|
|
|
import { connect } from "react-redux"
|
|
|
|
|
import { AppState } from "../../reducers"
|
|
|
|
|
import WidgetFactory from "../../utils/WidgetFactory"
|
2019-04-01 07:08:00 +00:00
|
|
|
import CanvasWidgetsNormalizer, {
|
|
|
|
|
widgetSchema
|
|
|
|
|
} from "../../normalizers/CanvasWidgetsNormalizer"
|
|
|
|
|
import { IContainerWidgetProps } from "../../widgets/ContainerWidget"
|
|
|
|
|
import { fetchPage } from "../../actions/pageActions"
|
|
|
|
|
import { RenderModes } from "../../constants/WidgetConstants"
|
|
|
|
|
import DraggableWidget from "../../widgets/DraggableWidget";
|
2019-03-21 17:42:23 +00:00
|
|
|
|
2019-04-01 07:08:00 +00:00
|
|
|
class Canvas extends Component<{
|
|
|
|
|
pageWidget: IContainerWidgetProps<any>
|
|
|
|
|
fetchPage: Function
|
|
|
|
|
}> {
|
2019-03-21 17:42:23 +00:00
|
|
|
componentDidMount() {
|
2019-03-30 12:30:42 +00:00
|
|
|
this.props.fetchPage("123")
|
2019-03-21 17:42:23 +00:00
|
|
|
}
|
2019-02-07 05:07:09 +00:00
|
|
|
|
|
|
|
|
render() {
|
2019-03-21 17:42:23 +00:00
|
|
|
const pageWidget = this.props.pageWidget
|
2019-03-18 15:45:53 +00:00
|
|
|
return (
|
|
|
|
|
<div>
|
2019-04-01 07:08:00 +00:00
|
|
|
{pageWidget ? WidgetFactory.createWidget(pageWidget) : undefined}
|
2019-03-18 15:45:53 +00:00
|
|
|
</div>
|
|
|
|
|
)
|
2019-02-07 05:07:09 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2019-02-10 13:06:05 +00:00
|
|
|
const mapStateToProps = (state: AppState, props: any) => {
|
2019-04-01 07:08:00 +00:00
|
|
|
const pageWidget = CanvasWidgetsNormalizer.denormalize(
|
|
|
|
|
state.ui.canvas.pageWidgetId,
|
|
|
|
|
state.entities
|
|
|
|
|
)
|
2019-02-10 13:06:05 +00:00
|
|
|
return {
|
2019-03-21 17:42:23 +00:00
|
|
|
pageWidget: pageWidget
|
2019-02-10 13:06:05 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const mapDispatchToProps = (dispatch: any) => {
|
2019-03-21 17:42:23 +00:00
|
|
|
return {
|
2019-03-30 12:30:42 +00:00
|
|
|
fetchPage: (pageId: string) => {
|
|
|
|
|
return dispatch(fetchPage(pageId, RenderModes.CANVAS))
|
|
|
|
|
}
|
2019-03-21 17:42:23 +00:00
|
|
|
}
|
2019-02-10 13:06:05 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default connect(
|
|
|
|
|
mapStateToProps,
|
|
|
|
|
mapDispatchToProps
|
|
|
|
|
)(Canvas)
|