adui
Version:
<div> <img src="https://wxa.wxs.qq.com/mpweb/delivery/legacy/wxadtouch/upload/t1/od834zef_52939fc6.png" style="margin:40px 0 0 -8px; background-color: #fcfcfc; box-shadow: none;" /> </div>
61 lines (60 loc) • 6.76 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.FocusManager = void 0;
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
var TAB_KEY_CODE = 9;
var FocusManager = exports.FocusManager = function () {
function FocusManager(container, className) {
var _this = this;
_classCallCheck(this, FocusManager);
this.container = void 0;
this.className = void 0;
this.isRunning = false;
this.handleKeyDown = function (e) {
if (e.which === TAB_KEY_CODE) {
_this.reset();
_this.container.addEventListener("mousedown", _this.handleMouseDown);
}
};
this.handleMouseDown = function () {
_this.reset();
_this.container.classList.add(_this.className);
_this.container.addEventListener("keydown", _this.handleKeyDown);
};
this.container = container;
this.className = className;
}
return _createClass(FocusManager, [{
key: "isActive",
value: function isActive() {
return this.isRunning;
}
}, {
key: "start",
value: function start() {
this.container.addEventListener("mousedown", this.handleMouseDown);
this.isRunning = true;
}
}, {
key: "stop",
value: function stop() {
this.reset();
this.isRunning = false;
}
}, {
key: "reset",
value: function reset() {
this.container.classList.remove(this.className);
this.container.removeEventListener("keydown", this.handleKeyDown);
this.container.removeEventListener("mousedown", this.handleMouseDown);
}
}]);
}();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUQUJfS0VZX0NPREUiLCJGb2N1c01hbmFnZXIiLCJleHBvcnRzIiwiY29udGFpbmVyIiwiY2xhc3NOYW1lIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2siLCJpc1J1bm5pbmciLCJoYW5kbGVLZXlEb3duIiwiZSIsIndoaWNoIiwicmVzZXQiLCJhZGRFdmVudExpc3RlbmVyIiwiaGFuZGxlTW91c2VEb3duIiwiY2xhc3NMaXN0IiwiYWRkIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJpc0FjdGl2ZSIsInN0YXJ0Iiwic3RvcCIsInJlbW92ZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiXSwic291cmNlcyI6WyIuLi8uLi9jb21wb25lbnRzL191dGlsL2ZvY3VzTWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBUQUJfS0VZX0NPREUgPSA5XG5cbmV4cG9ydCBjbGFzcyBGb2N1c01hbmFnZXIge1xuICBwdWJsaWMgY29udGFpbmVyOiBFbGVtZW50XG5cbiAgcHVibGljIGNsYXNzTmFtZTogc3RyaW5nXG5cbiAgcHJpdmF0ZSBpc1J1bm5pbmcgPSBmYWxzZVxuXG4gIGNvbnN0cnVjdG9yKGNvbnRhaW5lcjogRWxlbWVudCwgY2xhc3NOYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbnRhaW5lciA9IGNvbnRhaW5lclxuICAgIHRoaXMuY2xhc3NOYW1lID0gY2xhc3NOYW1lXG4gIH1cblxuICBwdWJsaWMgaXNBY3RpdmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNSdW5uaW5nXG4gIH1cblxuICBwdWJsaWMgc3RhcnQoKSB7XG4gICAgdGhpcy5jb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLCB0aGlzLmhhbmRsZU1vdXNlRG93bilcbiAgICB0aGlzLmlzUnVubmluZyA9IHRydWVcbiAgfVxuXG4gIHB1YmxpYyBzdG9wKCkge1xuICAgIHRoaXMucmVzZXQoKVxuICAgIHRoaXMuaXNSdW5uaW5nID0gZmFsc2VcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXQoKSB7XG4gICAgdGhpcy5jb250YWluZXIuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLmNsYXNzTmFtZSlcbiAgICB0aGlzLmNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCB0aGlzLmhhbmRsZUtleURvd24pXG4gICAgdGhpcy5jb250YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLCB0aGlzLmhhbmRsZU1vdXNlRG93bilcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlS2V5RG93biA9IChlOiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgaWYgKGUud2hpY2ggPT09IFRBQl9LRVlfQ09ERSkge1xuICAgICAgdGhpcy5yZXNldCgpXG4gICAgICB0aGlzLmNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIHRoaXMuaGFuZGxlTW91c2VEb3duKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTW91c2VEb3duID0gKCkgPT4ge1xuICAgIHRoaXMucmVzZXQoKVxuICAgIHRoaXMuY29udGFpbmVyLmNsYXNzTGlzdC5hZGQodGhpcy5jbGFzc05hbWUpXG4gICAgdGhpcy5jb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5oYW5kbGVLZXlEb3duKVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLElBQU1BLFlBQVksR0FBRyxDQUFDO0FBQUEsSUFFVEMsWUFBWSxHQUFBQyxPQUFBLENBQUFELFlBQUE7RUFPdkIsU0FBQUEsYUFBWUUsU0FBa0IsRUFBRUMsU0FBaUIsRUFBRTtJQUFBLElBQUFDLEtBQUE7SUFBQUMsZUFBQSxPQUFBTCxZQUFBO0lBQUEsS0FONUNFLFNBQVM7SUFBQSxLQUVUQyxTQUFTO0lBQUEsS0FFUkcsU0FBUyxHQUFHLEtBQUs7SUFBQSxLQTJCakJDLGFBQWEsR0FBRyxVQUFDQyxDQUFnQixFQUFLO01BQzVDLElBQUlBLENBQUMsQ0FBQ0MsS0FBSyxLQUFLVixZQUFZLEVBQUU7UUFDNUJLLEtBQUksQ0FBQ00sS0FBSyxDQUFDLENBQUM7UUFDWk4sS0FBSSxDQUFDRixTQUFTLENBQUNTLGdCQUFnQixDQUFDLFdBQVcsRUFBRVAsS0FBSSxDQUFDUSxlQUFlLENBQUM7TUFDcEU7SUFDRixDQUFDO0lBQUEsS0FFT0EsZUFBZSxHQUFHLFlBQU07TUFDOUJSLEtBQUksQ0FBQ00sS0FBSyxDQUFDLENBQUM7TUFDWk4sS0FBSSxDQUFDRixTQUFTLENBQUNXLFNBQVMsQ0FBQ0MsR0FBRyxDQUFDVixLQUFJLENBQUNELFNBQVMsQ0FBQztNQUM1Q0MsS0FBSSxDQUFDRixTQUFTLENBQUNTLGdCQUFnQixDQUFDLFNBQVMsRUFBRVAsS0FBSSxDQUFDRyxhQUFhLENBQUM7SUFDaEUsQ0FBQztJQW5DQyxJQUFJLENBQUNMLFNBQVMsR0FBR0EsU0FBUztJQUMxQixJQUFJLENBQUNDLFNBQVMsR0FBR0EsU0FBUztFQUM1QjtFQUFDLE9BQUFZLFlBQUEsQ0FBQWYsWUFBQTtJQUFBZ0IsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBT0MsUUFBUUEsQ0FBQSxFQUFHO01BQ2hCLE9BQU8sSUFBSSxDQUFDWixTQUFTO0lBQ3ZCO0VBQUM7SUFBQVUsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBT0UsS0FBS0EsQ0FBQSxFQUFHO01BQ2IsSUFBSSxDQUFDakIsU0FBUyxDQUFDUyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDQyxlQUFlLENBQUM7TUFDbEUsSUFBSSxDQUFDTixTQUFTLEdBQUcsSUFBSTtJQUN2QjtFQUFDO0lBQUFVLEdBQUE7SUFBQUMsS0FBQSxFQUVELFNBQU9HLElBQUlBLENBQUEsRUFBRztNQUNaLElBQUksQ0FBQ1YsS0FBSyxDQUFDLENBQUM7TUFDWixJQUFJLENBQUNKLFNBQVMsR0FBRyxLQUFLO0lBQ3hCO0VBQUM7SUFBQVUsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBUVAsS0FBS0EsQ0FBQSxFQUFHO01BQ2QsSUFBSSxDQUFDUixTQUFTLENBQUNXLFNBQVMsQ0FBQ1EsTUFBTSxDQUFDLElBQUksQ0FBQ2xCLFNBQVMsQ0FBQztNQUMvQyxJQUFJLENBQUNELFNBQVMsQ0FBQ29CLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUNmLGFBQWEsQ0FBQztNQUNqRSxJQUFJLENBQUNMLFNBQVMsQ0FBQ29CLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUNWLGVBQWUsQ0FBQztJQUN2RTtFQUFDO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
;