UNPKG

react-floorplanner

Version:

react-floorplanner is a React Component for plans design. Draw a 2D floorplan and navigate it in 3D mode.

87 lines (81 loc) 2.41 kB
import React, {Component} from 'react'; import PropTypes from 'prop-types'; import FormNumberInput from '../../../style/form-number-input'; import FormTextInput from '../../../style/form-text-input'; let tableStyle = { width: '100%' }; let firstTdStyle = { width: '6em' }; let inputStyle = { textAlign: 'left' } export default function ItemAttributesEditor({element, onUpdate, attributeFormData, state, ...rest}, {translator}) { let name = attributeFormData.has('name') ? attributeFormData.get('name') : element.name; let renderedX = attributeFormData.has('x') ? attributeFormData.get('x') : element.x; let renderedY = attributeFormData.has('y') ? attributeFormData.get('y') : element.y; let renderedR = attributeFormData.has('rotation') ? attributeFormData.get('rotation') : element.rotation; return <table style={tableStyle}> <tbody> <tr> <td style={firstTdStyle}>{translator.t('Name')}</td> <td> <FormTextInput value={name} onChange={event => onUpdate('name', event.target.value)} style={inputStyle} /> </td> </tr> <tr> <td style={firstTdStyle}>X</td> <td> <FormNumberInput value={renderedX} onChange={event => onUpdate('x', event.target.value)} style={inputStyle} state={state} configs={{precision: 2}} {...rest} /> </td> </tr> <tr> <td style={firstTdStyle}>Y</td> <td> <FormNumberInput value={renderedY} onChange={event => onUpdate('y', event.target.value)} style={inputStyle} state={state} configs={{precision: 2}} {...rest} /> </td> </tr> <tr> <td style={firstTdStyle}>{translator.t('Rotation')}</td> <td> <FormNumberInput value={renderedR} onChange={event => onUpdate('rotation', event.target.value)} style={inputStyle} state={state} configs={{precision: 2}} {...rest} /> </td> </tr> </tbody> </table>; } ItemAttributesEditor.propTypes = { element: PropTypes.object.isRequired, onUpdate: PropTypes.func.isRequired, attributeFormData: PropTypes.object.isRequired, state: PropTypes.object.isRequired }; ItemAttributesEditor.contextTypes = { translator: PropTypes.object.isRequired, };