flying-squid/lib/cancelEvent.js
2015-09-06 12:57:34 -07:00

21 lines
No EOL
585 B
JavaScript

module.exports = emit;
function emit(target, eventName, args, defaultFunc) {
var hiddenCancelled = false;
var cancelled = false;
var cancel = function(hidden) { // Hidden shouldn't be used often but it's not hard to implement so meh
if (hidden) hiddenCancelled = true;
else cancelled = true;
}
target.emit(eventName + '_cancel', args, cancel);
target.emit(eventName, args, cancelled);
if (!hiddenCancelled && !cancelled) {
if (defaultFunc) defaultFunc();
return true;
} else {
return false
}
}