Disable AutoFocuser on non-TV layouts

This commit is contained in:
Dmitry Lyzo 2019-11-14 18:33:31 +03:00
parent 3962dcf58e
commit e588edbcca

View File

@ -1,4 +1,4 @@
define(["focusManager"], function (focusManager) {
define(["focusManager", "layoutManager"], function (focusManager, layoutManager) {
"use strict";
/**
@ -6,10 +6,21 @@ define(["focusManager"], function (focusManager) {
*/
var activeElement;
/**
* Returns true if AutoFocuser is enabled.
*/
function isEnabled() {
return layoutManager.tv;
};
/**
* Start AutoFocuser
*/
function enable() {
if (!isEnabled()) {
return;
}
window.addEventListener("focusin", function (e) {
activeElement = e.target;
});
@ -21,6 +32,10 @@ define(["focusManager"], function (focusManager) {
* Set focus on a suitable element, taking into account the previously selected.
*/
function autoFocus(container) {
if (!isEnabled()) {
return;
}
container = container || document.body;
var candidates = [];
@ -67,6 +82,7 @@ define(["focusManager"], function (focusManager) {
}
return {
isEnabled: isEnabled,
enable: enable,
autoFocus: autoFocus
};