MCPcopy Index your code
hub / github.com/angular-ui/ui-grid / eventHandler

Function eventHandler

lib/test/angular/1.7.0/angular.js:3728–3771  ·  view source on GitHub ↗
(event, type)

Source from the content-addressed store, hash-verified

3726
3727function createEventHandler(element, events) {
3728 var eventHandler = function(event, type) {
3729 // jQuery specific api
3730 event.isDefaultPrevented = function() {
3731 return event.defaultPrevented;
3732 };
3733
3734 var eventFns = events[type || event.type];
3735 var eventFnsLength = eventFns ? eventFns.length : 0;
3736
3737 if (!eventFnsLength) return;
3738
3739 if (isUndefined(event.immediatePropagationStopped)) {
3740 var originalStopImmediatePropagation = event.stopImmediatePropagation;
3741 event.stopImmediatePropagation = function() {
3742 event.immediatePropagationStopped = true;
3743
3744 if (event.stopPropagation) {
3745 event.stopPropagation();
3746 }
3747
3748 if (originalStopImmediatePropagation) {
3749 originalStopImmediatePropagation.call(event);
3750 }
3751 };
3752 }
3753
3754 event.isImmediatePropagationStopped = function() {
3755 return event.immediatePropagationStopped === true;
3756 };
3757
3758 // Some events have special handlers that wrap the real handler
3759 var handlerWrapper = eventFns.specialHandlerWrapper || defaultHandlerWrapper;
3760
3761 // Copy event handlers in case event handlers array is modified during execution.
3762 if ((eventFnsLength > 1)) {
3763 eventFns = shallowCopy(eventFns);
3764 }
3765
3766 for (var i = 0; i < eventFnsLength; i++) {
3767 if (!event.isImmediatePropagationStopped()) {
3768 handlerWrapper(element, event, eventFns[i]);
3769 }
3770 }
3771 };
3772
3773 // TODO: this is a hack for angularMocks/clearDataCache that makes it possible to deregister all
3774 // events on `element`

Callers 1

callEventHandlerFunction · 0.70

Calls 2

isUndefinedFunction · 0.70
shallowCopyFunction · 0.70

Tested by

no test coverage detected