mirror of
https://github.com/logseq/logseq.git
synced 2026-04-30 08:56:29 +00:00
refactor: remove web
This commit is contained in:
56
src/main/frontend/utils.js
Normal file
56
src/main/frontend/utils.js
Normal file
@@ -0,0 +1,56 @@
|
||||
// Copy from https://github.com/primetwig/react-nestable/blob/dacea9dc191399a3520f5dc7623f5edebc83e7b7/dist/utils.js
|
||||
export var closest = function closest(target, selector) {
|
||||
// closest(e.target, '.field')
|
||||
while (target) {
|
||||
if (target.matches && target.matches(selector)) return target;
|
||||
target = target.parentNode;
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
export var getOffsetRect = function getOffsetRect(elem) {
|
||||
// (1)
|
||||
var box = elem.getBoundingClientRect();
|
||||
|
||||
var body = document.body;
|
||||
var docElem = document.documentElement;
|
||||
|
||||
// (2)
|
||||
var scrollTop = window.pageYOffset || docElem.scrollTop || body.scrollTop;
|
||||
var scrollLeft = window.pageXOffset || docElem.scrollLeft || body.scrollLeft;
|
||||
|
||||
// (3)
|
||||
var clientTop = docElem.clientTop || body.clientTop || 0;
|
||||
var clientLeft = docElem.clientLeft || body.clientLeft || 0;
|
||||
|
||||
// (4)
|
||||
var top = box.top + scrollTop - clientTop;
|
||||
var left = box.left + scrollLeft - clientLeft;
|
||||
|
||||
return { top: Math.round(top), left: Math.round(left) };
|
||||
};
|
||||
|
||||
// jquery focus
|
||||
export var focus = function( elem ) {
|
||||
return elem === document.activeElement &&
|
||||
document.hasFocus() &&
|
||||
!!( elem.type || elem.href || ~elem.tabIndex );
|
||||
}
|
||||
|
||||
// copied from https://stackoverflow.com/a/32180863
|
||||
export var timeConversion = function (millisec) {
|
||||
var seconds = (millisec / 1000).toFixed(0);
|
||||
var minutes = (millisec / (1000 * 60)).toFixed(0);
|
||||
var hours = (millisec / (1000 * 60 * 60)).toFixed(1);
|
||||
var days = (millisec / (1000 * 60 * 60 * 24)).toFixed(1);
|
||||
|
||||
if (seconds < 60) {
|
||||
return seconds + "s";
|
||||
} else if (minutes < 60) {
|
||||
return minutes + "m";
|
||||
} else if (hours < 24) {
|
||||
return hours + "h";
|
||||
} else {
|
||||
return days + "d"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user