react-planner
Version:
react-planner is a React Component for plans design. Draw a 2D floorplan and navigate it in 3D mode.
100 lines (80 loc) • 3.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
exports.default = PropertyEnum;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _immutable = require('immutable');
var _export = require('../../components/style/export');
var _sharedPropertyStyle = require('./shared-property-style');
var _sharedPropertyStyle2 = _interopRequireDefault(_sharedPropertyStyle);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function PropertyEnum(_ref) {
var value = _ref.value,
onUpdate = _ref.onUpdate,
configs = _ref.configs,
sourceElement = _ref.sourceElement,
internalState = _ref.internalState,
state = _ref.state;
var update = function update(val) {
if (configs.hook) {
return configs.hook(val, sourceElement, internalState, state).then(function (_val) {
return onUpdate(_val);
});
}
return onUpdate(val);
};
return _react2.default.createElement(
'table',
{ className: 'PropertyEnum', style: _sharedPropertyStyle2.default.tableStyle },
_react2.default.createElement(
'tbody',
null,
_react2.default.createElement(
'tr',
null,
_react2.default.createElement(
'td',
{ style: _sharedPropertyStyle2.default.firstTdStyle },
_react2.default.createElement(
_export.FormLabel,
null,
configs.label
)
),
_react2.default.createElement(
'td',
null,
_react2.default.createElement(
_export.FormSelect,
{ value: value, onChange: function onChange(event) {
return update(event.target.value);
} },
(0, _immutable.Seq)(configs.values).entrySeq().map(function (_ref2) {
var _ref3 = _slicedToArray(_ref2, 2),
key = _ref3[0],
value = _ref3[1];
return _react2.default.createElement(
'option',
{ key: key, value: key },
value
);
})
)
)
)
)
);
}
PropertyEnum.propTypes = {
value: _propTypes2.default.any.isRequired,
onUpdate: _propTypes2.default.func.isRequired,
configs: _propTypes2.default.object.isRequired,
sourceElement: _propTypes2.default.object,
internalState: _propTypes2.default.object,
state: _propTypes2.default.object.isRequired
};