react-planner-viewer
Version:
react-planner-viewer is a React Component for view plans builded with react-planner in 2D mode
76 lines (68 loc) • 6.34 kB
JavaScript
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(_ref) {
var value = _ref.value,
onUpdate = _ref.onUpdate,
onValid = _ref.onValid,
configs = _ref.configs,
sourceElement = _ref.sourceElement,
internalState = _ref.internalState,
state = _ref.state;
var update = function update(val) {
var number = parseFloat(val);
if (isNaN(number)) {
number = 0;
}
if (configs.hook) {
return configs.hook(number, sourceElement, internalState, state).then(function (_val) {
return onUpdate(_val);
});
}
return onUpdate(number);
};
return React.createElement(
'table',
{ className: 'PropertyNumber', style: PropertyStyle.tableStyle },
React.createElement(
'tbody',
null,
React.createElement(
'tr',
null,
React.createElement(
'td',
{ style: PropertyStyle.firstTdStyle },
React.createElement(
FormLabel,
null,
configs.label
)
),
React.createElement(
'td',
null,
React.createElement(FormNumberInput, {
value: value,
onChange: function onChange(event) {
return update(event.target.value);
},
onValid: onValid,
min: configs.min,
max: configs.max })
)
)
)
);
}
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
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jYXRhbG9nL3Byb3BlcnRpZXMvcHJvcGVydHktbnVtYmVyLmpzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlByb3BUeXBlcyIsIkZvcm1MYWJlbCIsIkZvcm1OdW1iZXJJbnB1dCIsIlByb3BlcnR5U3R5bGUiLCJQcm9wZXJ0eU51bWJlciIsInZhbHVlIiwib25VcGRhdGUiLCJvblZhbGlkIiwiY29uZmlncyIsInNvdXJjZUVsZW1lbnQiLCJpbnRlcm5hbFN0YXRlIiwic3RhdGUiLCJ1cGRhdGUiLCJ2YWwiLCJudW1iZXIiLCJwYXJzZUZsb2F0IiwiaXNOYU4iLCJob29rIiwidGhlbiIsIl92YWwiLCJ0YWJsZVN0eWxlIiwiZmlyc3RUZFN0eWxlIiwibGFiZWwiLCJldmVudCIsInRhcmdldCIsIm1pbiIsIm1heCIsInByb3BUeXBlcyIsImFueSIsImlzUmVxdWlyZWQiLCJmdW5jIiwib2JqZWN0Il0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxLQUFQLE1BQWtCLE9BQWxCO0FBQ0EsT0FBT0MsU0FBUCxNQUFzQixZQUF0QjtBQUNBLFNBQVNDLFNBQVQsRUFBb0JDLGVBQXBCLFFBQTJDLCtCQUEzQztBQUNBLE9BQU9DLGFBQVAsTUFBMEIseUJBQTFCOztBQUVBLGVBQWUsU0FBU0MsY0FBVCxPQUFrRztBQUFBLE1BQXpFQyxLQUF5RSxRQUF6RUEsS0FBeUU7QUFBQSxNQUFsRUMsUUFBa0UsUUFBbEVBLFFBQWtFO0FBQUEsTUFBeERDLE9BQXdELFFBQXhEQSxPQUF3RDtBQUFBLE1BQS9DQyxPQUErQyxRQUEvQ0EsT0FBK0M7QUFBQSxNQUF0Q0MsYUFBc0MsUUFBdENBLGFBQXNDO0FBQUEsTUFBdkJDLGFBQXVCLFFBQXZCQSxhQUF1QjtBQUFBLE1BQVJDLEtBQVEsUUFBUkEsS0FBUTs7O0FBRS9HLE1BQUlDLFNBQVMsU0FBVEEsTUFBUyxDQUFDQyxHQUFELEVBQVM7QUFDcEIsUUFBSUMsU0FBU0MsV0FBV0YsR0FBWCxDQUFiOztBQUVBLFFBQUlHLE1BQU1GLE1BQU4sQ0FBSixFQUFtQjtBQUNqQkEsZUFBUyxDQUFUO0FBQ0Q7O0FBRUQsUUFBSU4sUUFBUVMsSUFBWixFQUFrQjtBQUNoQixhQUFPVCxRQUFRUyxJQUFSLENBQWFILE1BQWIsRUFBcUJMLGFBQXJCLEVBQW9DQyxhQUFwQyxFQUFtREMsS0FBbkQsRUFBMERPLElBQTFELENBQStELGdCQUFRO0FBQzVFLGVBQU9aLFNBQVNhLElBQVQsQ0FBUDtBQUNELE9BRk0sQ0FBUDtBQUdEOztBQUVELFdBQU9iLFNBQVNRLE1BQVQsQ0FBUDtBQUNELEdBZEQ7O0FBZ0JBLFNBQ0U7QUFBQTtBQUFBLE1BQU8sV0FBVSxnQkFBakIsRUFBa0MsT0FBT1gsY0FBY2lCLFVBQXZEO0FBQ0U7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0U7QUFBQTtBQUFBLFlBQUksT0FBT2pCLGNBQWNrQixZQUF6QjtBQUF1QztBQUFDLHFCQUFEO0FBQUE7QUFBWWIsb0JBQVFjO0FBQXBCO0FBQXZDLFNBREY7QUFFRTtBQUFBO0FBQUE7QUFDRSw4QkFBQyxlQUFEO0FBQ0UsbUJBQU9qQixLQURUO0FBRUUsc0JBQVU7QUFBQSxxQkFBU08sT0FBT1csTUFBTUMsTUFBTixDQUFhbkIsS0FBcEIsQ0FBVDtBQUFBLGFBRlo7QUFHRSxxQkFBU0UsT0FIWDtBQUlFLGlCQUFLQyxRQUFRaUIsR0FKZjtBQUtFLGlCQUFLakIsUUFBUWtCLEdBTGY7QUFERjtBQUZGO0FBREE7QUFERixHQURGO0FBa0JEOztBQUVEdEIsZUFBZXVCLFNBQWYsR0FBMkI7QUFDekJ0QixTQUFPTCxVQUFVNEIsR0FBVixDQUFjQyxVQURJO0FBRXpCdkIsWUFBVU4sVUFBVThCLElBQVYsQ0FBZUQsVUFGQTtBQUd6QnRCLFdBQVNQLFVBQVU4QixJQUhNO0FBSXpCdEIsV0FBU1IsVUFBVStCLE1BQVYsQ0FBaUJGLFVBSkQ7QUFLekJwQixpQkFBZVQsVUFBVStCLE1BTEE7QUFNekJyQixpQkFBZVYsVUFBVStCLE1BTkE7QUFPekJwQixTQUFPWCxVQUFVK0IsTUFBVixDQUFpQkY7QUFQQyxDQUEzQiIsImZpbGUiOiJwcm9wZXJ0eS1udW1iZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IEZvcm1MYWJlbCwgRm9ybU51bWJlcklucHV0IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zdHlsZS9leHBvcnQnO1xuaW1wb3J0IFByb3BlcnR5U3R5bGUgZnJvbSAnLi9zaGFyZWQtcHJvcGVydHktc3R5bGUnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBQcm9wZXJ0eU51bWJlcih7dmFsdWUsIG9uVXBkYXRlLCBvblZhbGlkLCBjb25maWdzLCBzb3VyY2VFbGVtZW50LCBpbnRlcm5hbFN0YXRlLCBzdGF0ZX0pIHtcblxuICBsZXQgdXBkYXRlID0gKHZhbCkgPT4ge1xuICAgIGxldCBudW1iZXIgPSBwYXJzZUZsb2F0KHZhbCk7XG5cbiAgICBpZiAoaXNOYU4obnVtYmVyKSkge1xuICAgICAgbnVtYmVyID0gMDtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlncy5ob29rKSB7XG4gICAgICByZXR1cm4gY29uZmlncy5ob29rKG51bWJlciwgc291cmNlRWxlbWVudCwgaW50ZXJuYWxTdGF0ZSwgc3RhdGUpLnRoZW4oX3ZhbCA9PiB7XG4gICAgICAgIHJldHVybiBvblVwZGF0ZShfdmFsKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBvblVwZGF0ZShudW1iZXIpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPHRhYmxlIGNsYXNzTmFtZT1cIlByb3BlcnR5TnVtYmVyXCIgc3R5bGU9e1Byb3BlcnR5U3R5bGUudGFibGVTdHlsZX0+XG4gICAgICA8dGJvZHk+XG4gICAgICA8dHI+XG4gICAgICAgIDx0ZCBzdHlsZT17UHJvcGVydHlTdHlsZS5maXJzdFRkU3R5bGV9PjxGb3JtTGFiZWw+e2NvbmZpZ3MubGFiZWx9PC9Gb3JtTGFiZWw+PC90ZD5cbiAgICAgICAgPHRkPlxuICAgICAgICAgIDxGb3JtTnVtYmVySW5wdXRcbiAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtldmVudCA9PiB1cGRhdGUoZXZlbnQudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgIG9uVmFsaWQ9e29uVmFsaWR9XG4gICAgICAgICAgICBtaW49e2NvbmZpZ3MubWlufVxuICAgICAgICAgICAgbWF4PXtjb25maWdzLm1heH0vPlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgKTtcblxufVxuXG5Qcm9wZXJ0eU51bWJlci5wcm9wVHlwZXMgPSB7XG4gIHZhbHVlOiBQcm9wVHlwZXMuYW55LmlzUmVxdWlyZWQsXG4gIG9uVXBkYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBvblZhbGlkOiBQcm9wVHlwZXMuZnVuYyxcbiAgY29uZmlnczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBzb3VyY2VFbGVtZW50OiBQcm9wVHlwZXMub2JqZWN0LFxuICBpbnRlcm5hbFN0YXRlOiBQcm9wVHlwZXMub2JqZWN0LFxuICBzdGF0ZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkXG59O1xuIl19