/
WidgetEmbed.js
42 lines (37 loc) · 1.1 KB
/
WidgetEmbed.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import React from 'react'
import R from 'ramda'
import WidgetSelectInput from '../../../components/inputs/selects/WidgetSelectInput'
import { FormInput } from '../../../components/inputs'
import WidgetFields from '../../../components/WidgetFields'
import Panel from '../../../components/Panel'
function WidgetEmbedComponent(props) {
function updateWidgetField(fieldName, fieldValue) {
props.updateField('data', R.assoc(fieldName, fieldValue, props.data.data))
}
return (
<div className='o-embed o-embed--widget'>
<Panel title='Widget'>
<FormInput>
<WidgetSelectInput
zoneId='embed'
selected={props.data.widget_id}
update={widgetId => props.updateField('widget_id', widgetId)} />
</FormInput>
</Panel>
<Panel title='Fields'>
<WidgetFields
updateField={updateWidgetField}
widgetId = {props.data.widget_id}
data = {props.data.data} />
</Panel>
</div>
)
}
export default {
type: 'widget',
component: WidgetEmbedComponent,
defaultData: {
widget_id: null,
data: {}
}
}