@flatbiz/antd
Version:
51 lines (47 loc) • 1.65 kB
JavaScript
/*! @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