context.js 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  3. var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
  4. Object.defineProperty(exports, "__esModule", {
  5. value: true
  6. });
  7. exports.default = void 0;
  8. exports.usePanelRef = usePanelRef;
  9. var React = _interopRequireWildcard(require("react"));
  10. var _useEvent = _interopRequireDefault(require("rc-util/lib/hooks/useEvent"));
  11. function voidFunc() {}
  12. const WatermarkContext = /*#__PURE__*/React.createContext({
  13. add: voidFunc,
  14. remove: voidFunc
  15. });
  16. function usePanelRef(panelSelector) {
  17. const watermark = React.useContext(WatermarkContext);
  18. const panelEleRef = React.useRef(null);
  19. const panelRef = (0, _useEvent.default)(ele => {
  20. if (ele) {
  21. const innerContentEle = panelSelector ? ele.querySelector(panelSelector) : ele;
  22. watermark.add(innerContentEle);
  23. panelEleRef.current = innerContentEle;
  24. } else {
  25. watermark.remove(panelEleRef.current);
  26. }
  27. });
  28. return panelRef;
  29. }
  30. var _default = exports.default = WatermarkContext;