File tree Expand file tree Collapse file tree 1 file changed +46
-0
lines changed Expand file tree Collapse file tree 1 file changed +46
-0
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * Backbone.js plugin
3+ *
4+ * Patches Backbone.Events callbacks.
5+ */
6+ ; ( function ( window , Raven , Backbone ) {
7+ 'use strict' ;
8+
9+ // quit if Backbone isn't on the page
10+ if ( ! Backbone ) {
11+ return ;
12+ }
13+
14+ // We're too late to catch all of these by simply patching Backbone.Events.on
15+ var affectedObjects = [
16+ Backbone . Events ,
17+ Backbone ,
18+ Backbone . Model . prototype ,
19+ Backbone . Collection . prototype ,
20+ Backbone . View . prototype ,
21+ Backbone . Router . prototype ,
22+ Backbone . History . prototype
23+ ] ;
24+
25+ for ( var i = 0 ; i < affectedObjects . length ; i ++ ) {
26+ var affected = affectedObjects [ i ] ;
27+
28+ var _oldOn = affected . on ;
29+ affected . on = function BackboneEventsOn ( name , callback , context ) {
30+ var _callback ;
31+ if ( callback . _callback ) {
32+ _callback = callback . _callback ;
33+ } else {
34+ _callback = callback ;
35+ }
36+
37+ callback = Raven . wrap ( callback ) ;
38+ callback . _callback = _callback ;
39+
40+ return _oldOn . call ( this , name , callback , context ) ;
41+ } ;
42+
43+ affected . bind = affected . on ;
44+ }
45+
46+ } ( this , Raven , window . Backbone ) ) ;
You can’t perform that action at this time.
0 commit comments