UNPKG

@flatbiz/antd

Version:
51 lines (47 loc) 1.65 kB
/*! @flatjs/forge MIT @flatbiz/antd */ import _CloseCircleFilled from '@ant-design/icons/es/icons/CloseCircleFilled.js'; import _DeleteOutlined from '@ant-design/icons/es/icons/DeleteOutlined.js'; import { a as _slicedToArray } from './_rollupPluginBabelHelpers-BspM60Sw.js'; import { useState, useRef, Fragment } from 'react'; import { useDebounceFn } from 'ahooks'; import { I as IconWrapper } from './icon-wrapper-DE97bI14.js'; import { jsx } from 'react/jsx-runtime'; var DeleteNode = function DeleteNode(props) { var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), status = _useState2[0], setStatus = _useState2[1]; var timeoutRef = useRef(); var _useDebounceFn = useDebounceFn(function (event) { event.stopPropagation(); if (!status) { setStatus(true); timeoutRef.current = setTimeout(function () { setStatus(false); }, 3000); } else { clearTimeout(timeoutRef.current); setStatus(false); props.onDelete(); } }, { wait: 300, leading: true, trailing: false }), onClick = _useDebounceFn.run; if (props.hidden) return /*#__PURE__*/jsx(Fragment, {}); return /*#__PURE__*/jsx(IconWrapper, { className: props.className, style: props.style, icon: !status ? props.icon ? props.icon : /*#__PURE__*/jsx(_DeleteOutlined, {}) : props.confirmIcon ? props.confirmIcon : /*#__PURE__*/jsx(_CloseCircleFilled, { style: { color: 'red' } }), onClick: onClick, size: "small" }); }; export { DeleteNode as D }; //# sourceMappingURL=delete-node-CZGAVBTY.js.map