UNPKG

maycur-business

Version:

maycur business react components of web

48 lines (36 loc) 1.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = mountPopper; var _globals = require("./globals"); var _followCursorHandler = _interopRequireDefault(require("./followCursorHandler")); var _createPopperInstance = _interopRequireDefault(require("./createPopperInstance")); var _prefix = _interopRequireDefault(require("../utils/prefix")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } /** * Appends the popper and creates a popper instance if one does not exist * Also updates its position if need be and enables event listeners * @param {Object} data - the element/popper reference data */ function mountPopper(data) { var el = data.el, popper = data.popper, _data$settings = data.settings, appendTo = _data$settings.appendTo, followCursor = _data$settings.followCursor; // Already on the DOM if (appendTo.contains(popper)) return; appendTo.appendChild(popper); if (!data.popperInstance) { data.popperInstance = (0, _createPopperInstance["default"])(data); } else { data.popperInstance.update(); if (!followCursor || _globals.Browser.touch) { data.popperInstance.enableEventListeners(); } } // Since touch is determined dynamically, followCursor is set on mount if (followCursor && !_globals.Browser.touch) { el.addEventListener('mousemove', _followCursorHandler["default"]); data.popperInstance.disableEventListeners(); } }