@flexis/ui
Version:
Styleless React Components
30 lines (23 loc) • 1.58 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
_Object$defineProperty(exports, "__esModule", {
value: true
});
exports.subscribeEvent = subscribeEvent;
var _bind = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/bind"));
/**
* Subscribe to UI event.
* @param element - Target element.
* @param eventName - Event name to subscribe.
* @param listener - Event listener.
* @param useCapture - Capture phase or bubble.
* @return Unsubscribe from event.
*/
function subscribeEvent(element, eventName, listener) {
var _context;
var useCapture = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
element.addEventListener(eventName, listener, useCapture);
return (0, _bind.default)(_context = element.removeEventListener).call(_context, element, eventName, listener, useCapture);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzL3N1YnNjcmliZUV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7Ozs7O0FBUU0sU0FBVSxjQUFWLENBQ0wsT0FESyxFQUVMLFNBRkssRUFHTCxRQUhLLEVBSWE7QUFBQTs7QUFBQSxNQUFsQixVQUFrQix1RUFBTCxLQUFLO0FBR2xCLEVBQUEsT0FBTyxDQUFDLGdCQUFSLENBQXlCLFNBQXpCLEVBQW9DLFFBQXBDLEVBQThDLFVBQTlDO0FBRUEsU0FBTyw4QkFBQSxPQUFPLENBQUMsbUJBQVIsaUJBQWlDLE9BQWpDLEVBQTBDLFNBQTFDLEVBQXFELFFBQXJELEVBQStELFVBQS9ELENBQVA7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==