@krowdy-ui/views
Version:
React components that implement Google's Material Design.
101 lines (81 loc) • 4.13 kB
JavaScript
;
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;