frc-ui
Version:
React Web UI
75 lines (65 loc) • 2.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createListContainer = createListContainer;
exports.getPosElement = getPosElement;
exports.getWindowSize = getWindowSize;
exports.isExistedListContainer = isExistedListContainer;
exports.isOverFlow = isOverFlow;
exports.listContainer = void 0;
function getWindowSize() {
return {
width: window.innerWidth || document.getElementsByClassName('wrap')[0].clientWidth,
height: window.innerHeight || document.getElementsByClassName('wrap')[0].clientHeight
};
}
function getPosElement(el) {
var rect = el.getBoundingClientRect();
return {
top: rect.top,
left: rect.left,
width: rect.width,
height: rect.height,
right: rect.right,
bottom: rect.bottom
};
}
function isOverFlow(parent) {
var w = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
var h = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
var winSize = getWindowSize();
var overFlowX;
var overFlowY;
var parentPos = getPosElement(parent);
overFlowX = parentPos.left + w > winSize.width;
overFlowY = parentPos.top + parentPos.height + h > winSize.height;
return {
x: overFlowX,
y: overFlowY
};
}
var listContainer = null;
exports.listContainer = listContainer;
function isExistedListContainer() {
var className = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'list-container';
var isExisted = false;
var nodeList = document.body.childNodes;
var len = nodeList.length;
for (var i = 0; i < len; i++) {
var node = nodeList.item(i);
if (node && node.nodeName === 'DIV' && node['className'] === className) {
isExisted = true;
exports.listContainer = listContainer = node;
break;
}
}
return isExisted;
}
function createListContainer() {
var className = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'list-container';
var div = document.createElement('div');
div.className = className;
exports.listContainer = listContainer = div;
document.body.appendChild(listContainer);
}