UNPKG

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>

66 lines (53 loc) 5.65 kB
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } var TAB_KEY_CODE = 9; export var 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; } _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); } }]); return FocusManager; }(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUQUJfS0VZX0NPREUiLCJGb2N1c01hbmFnZXIiLCJjb250YWluZXIiLCJjbGFzc05hbWUiLCJpc1J1bm5pbmciLCJoYW5kbGVLZXlEb3duIiwiZSIsIndoaWNoIiwicmVzZXQiLCJhZGRFdmVudExpc3RlbmVyIiwiaGFuZGxlTW91c2VEb3duIiwiY2xhc3NMaXN0IiwiYWRkIiwicmVtb3ZlIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciJdLCJzb3VyY2VzIjpbIi4uLy4uL2NvbXBvbmVudHMvX3V0aWwvZm9jdXNNYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IFRBQl9LRVlfQ09ERSA9IDlcblxuZXhwb3J0IGNsYXNzIEZvY3VzTWFuYWdlciB7XG4gIHB1YmxpYyBjb250YWluZXI6IEVsZW1lbnRcblxuICBwdWJsaWMgY2xhc3NOYW1lOiBzdHJpbmdcblxuICBwcml2YXRlIGlzUnVubmluZyA9IGZhbHNlXG5cbiAgY29uc3RydWN0b3IoY29udGFpbmVyOiBFbGVtZW50LCBjbGFzc05hbWU6IHN0cmluZykge1xuICAgIHRoaXMuY29udGFpbmVyID0gY29udGFpbmVyXG4gICAgdGhpcy5jbGFzc05hbWUgPSBjbGFzc05hbWVcbiAgfVxuXG4gIHB1YmxpYyBpc0FjdGl2ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5pc1J1bm5pbmdcbiAgfVxuXG4gIHB1YmxpYyBzdGFydCgpIHtcbiAgICB0aGlzLmNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIHRoaXMuaGFuZGxlTW91c2VEb3duKVxuICAgIHRoaXMuaXNSdW5uaW5nID0gdHJ1ZVxuICB9XG5cbiAgcHVibGljIHN0b3AoKSB7XG4gICAgdGhpcy5yZXNldCgpXG4gICAgdGhpcy5pc1J1bm5pbmcgPSBmYWxzZVxuICB9XG5cbiAgcHJpdmF0ZSByZXNldCgpIHtcbiAgICB0aGlzLmNvbnRhaW5lci5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuY2xhc3NOYW1lKVxuICAgIHRoaXMuY29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIHRoaXMuaGFuZGxlS2V5RG93bilcbiAgICB0aGlzLmNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIHRoaXMuaGFuZGxlTW91c2VEb3duKVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVLZXlEb3duID0gKGU6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICBpZiAoZS53aGljaCA9PT0gVEFCX0tFWV9DT0RFKSB7XG4gICAgICB0aGlzLnJlc2V0KClcbiAgICAgIHRoaXMuY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgdGhpcy5oYW5kbGVNb3VzZURvd24pXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVNb3VzZURvd24gPSAoKSA9PiB7XG4gICAgdGhpcy5yZXNldCgpXG4gICAgdGhpcy5jb250YWluZXIuY2xhc3NMaXN0LmFkZCh0aGlzLmNsYXNzTmFtZSlcbiAgICB0aGlzLmNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCB0aGlzLmhhbmRsZUtleURvd24pXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBTUEsWUFBWSxHQUFHLENBQXJCO0FBRUEsV0FBYUMsWUFBYjtFQU9FLHNCQUFZQyxTQUFaLEVBQWdDQyxTQUFoQyxFQUFtRDtJQUFBOztJQUFBOztJQUFBLEtBTjVDRCxTQU00QztJQUFBLEtBSjVDQyxTQUk0QztJQUFBLEtBRjNDQyxTQUUyQyxHQUYvQixLQUUrQjs7SUFBQSxLQXlCM0NDLGFBekIyQyxHQXlCM0IsVUFBQ0MsQ0FBRCxFQUFzQjtNQUM1QyxJQUFJQSxDQUFDLENBQUNDLEtBQUYsS0FBWVAsWUFBaEIsRUFBOEI7UUFDNUIsS0FBSSxDQUFDUSxLQUFMOztRQUNBLEtBQUksQ0FBQ04sU0FBTCxDQUFlTyxnQkFBZixDQUFnQyxXQUFoQyxFQUE2QyxLQUFJLENBQUNDLGVBQWxEO01BQ0Q7SUFDRixDQTlCa0Q7O0lBQUEsS0FnQzNDQSxlQWhDMkMsR0FnQ3pCLFlBQU07TUFDOUIsS0FBSSxDQUFDRixLQUFMOztNQUNBLEtBQUksQ0FBQ04sU0FBTCxDQUFlUyxTQUFmLENBQXlCQyxHQUF6QixDQUE2QixLQUFJLENBQUNULFNBQWxDOztNQUNBLEtBQUksQ0FBQ0QsU0FBTCxDQUFlTyxnQkFBZixDQUFnQyxTQUFoQyxFQUEyQyxLQUFJLENBQUNKLGFBQWhEO0lBQ0QsQ0FwQ2tEOztJQUNqRCxLQUFLSCxTQUFMLEdBQWlCQSxTQUFqQjtJQUNBLEtBQUtDLFNBQUwsR0FBaUJBLFNBQWpCO0VBQ0Q7O0VBVkg7SUFBQTtJQUFBLE9BWUUsb0JBQWtCO01BQ2hCLE9BQU8sS0FBS0MsU0FBWjtJQUNEO0VBZEg7SUFBQTtJQUFBLE9BZ0JFLGlCQUFlO01BQ2IsS0FBS0YsU0FBTCxDQUFlTyxnQkFBZixDQUFnQyxXQUFoQyxFQUE2QyxLQUFLQyxlQUFsRDtNQUNBLEtBQUtOLFNBQUwsR0FBaUIsSUFBakI7SUFDRDtFQW5CSDtJQUFBO0lBQUEsT0FxQkUsZ0JBQWM7TUFDWixLQUFLSSxLQUFMO01BQ0EsS0FBS0osU0FBTCxHQUFpQixLQUFqQjtJQUNEO0VBeEJIO0lBQUE7SUFBQSxPQTBCRSxpQkFBZ0I7TUFDZCxLQUFLRixTQUFMLENBQWVTLFNBQWYsQ0FBeUJFLE1BQXpCLENBQWdDLEtBQUtWLFNBQXJDO01BQ0EsS0FBS0QsU0FBTCxDQUFlWSxtQkFBZixDQUFtQyxTQUFuQyxFQUE4QyxLQUFLVCxhQUFuRDtNQUNBLEtBQUtILFNBQUwsQ0FBZVksbUJBQWYsQ0FBbUMsV0FBbkMsRUFBZ0QsS0FBS0osZUFBckQ7SUFDRDtFQTlCSDs7RUFBQTtBQUFBIn0=