devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
61 lines (59 loc) • 1.95 kB
JavaScript
/**
* DevExtreme (cjs/core/utils/position.js)
* Version: 21.1.4
* Build date: Mon Jun 21 2021
*
* Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
exports.getElementsFromPoint = exports.getDefaultAlignment = exports.getBoundingRect = void 0;
var _config = _interopRequireDefault(require("../config"));
var _dom_adapter = _interopRequireDefault(require("../dom_adapter"));
var _browser = _interopRequireDefault(require("../utils/browser"));
var _type = require("../utils/type");
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
var getDefaultAlignment = function(isRtlEnabled) {
var rtlEnabled = null !== isRtlEnabled && void 0 !== isRtlEnabled ? isRtlEnabled : (0, _config.default)().rtlEnabled;
return rtlEnabled ? "right" : "left"
};
exports.getDefaultAlignment = getDefaultAlignment;
var getElementsFromPoint = function(x, y) {
var document = _dom_adapter.default.getDocument();
if (_browser.default.msie) {
var result = document.msElementsFromPoint(x, y);
if (result) {
return Array.prototype.slice.call(result)
}
return []
}
return document.elementsFromPoint(x, y)
};
exports.getElementsFromPoint = getElementsFromPoint;
var getBoundingRect = function(element) {
if ((0, _type.isWindow)(element)) {
return {
width: element.outerWidth,
height: element.outerHeight
}
}
var rect;
try {
rect = element.getBoundingClientRect()
} catch (e) {
rect = {
width: 0,
height: 0,
bottom: 0,
top: 0,
left: 0,
right: 0
}
}
return rect
};
exports.getBoundingRect = getBoundingRect;