Files
flights_web_raw/node_modules/focus-lock/dist/es2015/setFocus.js
T

30 lines
905 B
JavaScript

import { getFocusMerge } from './focusMerge';
export var focusOn = function (target) {
target.focus();
if ('contentWindow' in target && target.contentWindow) {
target.contentWindow.focus();
}
};
var guardCount = 0;
var lockDisabled = false;
export var setFocus = function (topNode, lastNode) {
var focusable = getFocusMerge(topNode, lastNode);
if (lockDisabled) {
return;
}
if (focusable) {
if (guardCount > 2) {
console.error('FocusLock: focus-fighting detected. Only one focus management system could be active. ' +
'See https://github.com/theKashey/focus-lock/#focus-fighting');
lockDisabled = true;
setTimeout(function () {
lockDisabled = false;
}, 1);
return;
}
guardCount++;
focusOn(focusable.node);
guardCount--;
}
};