UNPKG

zoapp-ui

Version:

Javascript ES7 React UI Material Components extensions

91 lines (78 loc) 2.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _react = require("react"); var _react2 = _interopRequireDefault(_react); var _propTypes = require("prop-types"); var _propTypes2 = _interopRequireDefault(_propTypes); var _zrmc = require("zrmc"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var ListComponent = function ListComponent(_ref) { var items = _ref.items, selectedItem = _ref.selectedItem, onSelect = _ref.onSelect, className = _ref.className, style = _ref.style; return _react2.default.createElement( _zrmc.List, { className: className, style: style }, items.map(function (item, index) { var content = item.name; var imgSrc = void 0; var icon = void 0; if (item.icon) { var color = item.color; if (!color) { color = "gray"; } if (item.icon.endsWith(".svg")) { imgSrc = item.icon; } else if (item.icon.endsWith(".png")) { imgSrc = item.icon; } else { icon = item.icon; } } var cn = "selectableListItem"; if (selectedItem === index) { cn = "selectedListItem"; } return _react2.default.createElement( _zrmc.ListItem, { imgSrc: imgSrc, icon: icon, key: item.id, onClick: function onClick(e) { e.preventDefault(); onSelect(index); }, className: cn }, content ); }) ); }; /** * 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. */ ListComponent.defaultProps = { className: null, style: null }; ListComponent.propTypes = { items: _propTypes2.default.arrayOf(_propTypes2.default.shape({ id: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]), name: _propTypes2.default.string, icon: _propTypes2.default.string })).isRequired, selectedItem: _propTypes2.default.number.isRequired, onSelect: _propTypes2.default.func.isRequired, className: _propTypes2.default.string, style: _propTypes2.default.objectOf(_propTypes2.default.string) }; exports.default = ListComponent;