zoapp-ui
Version:
Javascript ES7 React UI Material Components extensions
124 lines (92 loc) • 3.88 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _objectWithoutProperties2 = require("babel-runtime/helpers/objectWithoutProperties");
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require("babel-runtime/helpers/createClass");
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require("babel-runtime/helpers/possibleConstructorReturn");
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require("babel-runtime/helpers/inherits");
var _inherits3 = _interopRequireDefault(_inherits2);
var _dec, _class; /**
* Copyright (c) 2015-present, CWB SAS
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
var _propTypes = require("prop-types");
var _propTypes2 = _interopRequireDefault(_propTypes);
var _zrmc = require("zrmc");
var _reactDnd = require("react-dnd");
var _reactDndHtml5Backend = require("react-dnd-html5-backend");
var _reactDndHtml5Backend2 = _interopRequireDefault(_reactDndHtml5Backend);
var _listDragItem = require("./listDragItem");
var _listDragItem2 = _interopRequireDefault(_listDragItem);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var ListDragComponent = (_dec = (0, _reactDnd.DragDropContext)(_reactDndHtml5Backend2.default), _dec(_class = function (_Component) {
(0, _inherits3.default)(ListDragComponent, _Component);
function ListDragComponent() {
(0, _classCallCheck3.default)(this, ListDragComponent);
return (0, _possibleConstructorReturn3.default)(this, (ListDragComponent.__proto__ || Object.getPrototypeOf(ListDragComponent)).apply(this, arguments));
}
(0, _createClass3.default)(ListDragComponent, [{
key: "render",
value: function render() {
var _props = this.props,
items = _props.items,
selectedItem = _props.selectedItem,
onSelect = _props.onSelect,
onMove = _props.onMove,
onDrop = _props.onDrop,
otherProps = (0, _objectWithoutProperties3.default)(_props, ["items", "selectedItem", "onSelect", "onMove", "onDrop"]);
return _react2.default.createElement(
_zrmc.List,
otherProps,
items.map(function (item, index) {
var cn = "selectableListItem";
if (selectedItem === index) {
cn = "selectedListItem";
}
return _react2.default.createElement(
_listDragItem2.default,
{
index: index,
id: item.id,
key: item.id,
onMove: onMove,
onDrop: onDrop,
icon: item.icon,
onClick: function onClick(e) {
e.preventDefault();
onSelect(index);
},
className: cn
},
item.name
);
})
);
}
}]);
return ListDragComponent;
}(_react.Component)) || _class);
ListDragComponent.defaultProps = {
className: null,
onMove: null,
onDrop: null
};
ListDragComponent.propTypes = {
items: _propTypes2.default.arrayOf(_propTypes2.default.shape({})).isRequired,
selectedItem: _propTypes2.default.number.isRequired,
onSelect: _propTypes2.default.func.isRequired,
className: _propTypes2.default.string,
onMove: _propTypes2.default.func,
onDrop: _propTypes2.default.func
};
exports.default = ListDragComponent;