UNPKG

@krowdy-ui/views

Version:

React components that implement Google's Material Design.

101 lines (81 loc) 4.13 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _reactSortableTree = _interopRequireWildcard(require("react-sortable-tree")); var _Theme = _interopRequireDefault(require("./Theme")); var _core = require("@krowdy-ui/core"); var _icons = require("@material-ui/icons"); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } var _ref2 = /*#__PURE__*/_react["default"].createElement(_icons.Close, { fontSize: "small" }); var _ref3 = /*#__PURE__*/_react["default"].createElement(_icons.Edit, { fontSize: "small" }); function FiltersTree(props) { var treeData = props.treeData, _props$onChange = props.onChange, onChange = _props$onChange === void 0 ? function () {} : _props$onChange, _props$onClickEdit = props.onClickEdit, onClickEdit = _props$onClickEdit === void 0 ? function () {} : _props$onClickEdit, dots = props.dots; // const [ treeData, setTreeData ] = React.useState([]) // React.useEffect(() => { // setTreeData(treeDataProps) // eslint-disable-next-line react-hooks/exhaustive-deps // }, [ treeDataProps ]) var _handleUpdateTreeData = function _handleUpdateTreeData(data) { // setTreeData(data) onChange(data); }; var _handleClickDelete = function _handleClickDelete(rowInfo) { return function () { var newTree = (0, _reactSortableTree.removeNodeAtPath)({ getNodeKey: function getNodeKey(_ref) { var treeIndex = _ref.treeIndex; return treeIndex; }, path: rowInfo.path, treeData: treeData }); _handleUpdateTreeData(newTree); }; }; var _handleClickEdit = function _handleClickEdit(rowInfo) { return function () { onClickEdit(rowInfo.node); }; }; return /*#__PURE__*/_react["default"].createElement(_reactSortableTree["default"], { generateNodeProps: function generateNodeProps(rowInfo) { return { buttons: [/*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, { key: rowInfo.node._id }, /*#__PURE__*/_react["default"].createElement(_core.IconButton, { onClick: _handleClickDelete(rowInfo), size: "small" }, _ref2), /*#__PURE__*/_react["default"].createElement(_core.IconButton, { onClick: _handleClickEdit(rowInfo), size: "small" }, _ref3))], dots: dots }; }, isVirtualized: false, onChange: _handleUpdateTreeData, theme: _Theme["default"], treeData: treeData }); } process.env.NODE_ENV !== "production" ? FiltersTree.propTypes = { onChange: _propTypes["default"].func, treeData: _propTypes["default"].array } : void 0; var _default = FiltersTree; exports["default"] = _default;