UNPKG

react-floorplanner

Version:

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

53 lines (44 loc) 1.37 kB
import React from 'react'; import PropTypes from 'prop-types'; import { FormLabel, FormNumberInput } from '../../components/style/export'; import PropertyStyle from './shared-property-style'; export default function PropertyNumber({value, onUpdate, onValid, configs, sourceElement, internalState, state}) { let update = (val) => { let number = parseFloat(val); if (isNaN(number)) { number = 0; } if (configs.hook) { return configs.hook(number, sourceElement, internalState, state).then(_val => { return onUpdate(_val); }); } return onUpdate(number); }; return ( <table className="PropertyNumber" style={PropertyStyle.tableStyle}> <tbody> <tr> <td style={PropertyStyle.firstTdStyle}><FormLabel>{configs.label}</FormLabel></td> <td> <FormNumberInput value={value} onChange={event => update(event.target.value)} onValid={onValid} min={configs.min} max={configs.max}/> </td> </tr> </tbody> </table> ); } PropertyNumber.propTypes = { value: PropTypes.any.isRequired, onUpdate: PropTypes.func.isRequired, onValid: PropTypes.func, configs: PropTypes.object.isRequired, sourceElement: PropTypes.object, internalState: PropTypes.object, state: PropTypes.object.isRequired };