UNPKG

@gongt/ts-stl-client

Version:
35 lines 1.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const check_environment_1 = require("@gongt/ts-stl-library/check-environment"); const create_logger_1 = require("@gongt/ts-stl-library/debug/create-logger"); const levels_1 = require("@gongt/ts-stl-library/debug/levels"); const warn = create_logger_1.createLogger(levels_1.LOG_LEVEL.WARN, 'mouse-event'); let listenerInit = false; const list = []; function trapMouseUpEvent(e, callback) { if (check_environment_1.IS_SERVER) { warn('use mouse event on server. there may be some bug.'); return; } // todo: touch events if (!listenerInit) { listenerInit = true; document.addEventListener('mouseup', handleEvent, false); } list.push(callback); } exports.trapMouseUpEvent = trapMouseUpEvent; function handleEvent(e) { for (const cb of list) { try { cb(e); } catch (e) { warn(e.message); } } listenerInit = false; document.removeEventListener('mouseup', handleEvent, false); list.length = 0; } //# sourceMappingURL=mouse-down-trap.js.map