UNPKG

zooid-ui-bluprint-config-builder

Version:
58 lines (46 loc) 1.38 kB
import _ from 'lodash' import React, { PropTypes } from 'react' import DeviceSelector from '../DeviceSelector' import BluprintConfigBuilderItemList from '../BluprintConfigBuilderItemList/' import styles from './styles.css' const propTypes = { node: PropTypes.object, nodeSchema: PropTypes.object, shareDevice: PropTypes.bool, onUpdate: PropTypes.func, onShareDevice: PropTypes.func, } const BluprintDeviceConfigBuilderItem = (props) => { const { node, nodeSchema, shareDevice, onUpdate, onShareDevice, } = props console.log("DeviceConfigBuilderItem",{node,nodeSchema}) if (_.isEmpty(node)) return null if (_.isEmpty(nodeSchema)) return null const onPropertyUpdate = (update) => { const newNodeProperty = `staticMessage.${update.nodeProperty}` const newUpdate = _.defaults({nodeProperty: newNodeProperty}, update) onUpdate(newUpdate) } return ( <div> <div className={styles.nodeName}>{`${node.name} - ${nodeSchema.title}`}</div> <DeviceSelector nodeId={node.id} shareDevice={shareDevice} onUpdate={onShareDevice} /> <BluprintConfigBuilderItemList nodeId={node.id} schema={nodeSchema} onUpdate={onPropertyUpdate} /> </div> ) } BluprintDeviceConfigBuilderItem.propTypes = propTypes export default BluprintDeviceConfigBuilderItem