Flat, round, designer-friendly pseudo-3D engine for canvas & SVG
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

๐Ÿž check for browser window #49 #85 #86

Addresses `this = window` mismatch with Webpack, Parcel, Gatsby.

+21 -15
+21 -15
js/dragger.js
··· 6 6 // module definition 7 7 if ( typeof module == 'object' && module.exports ) { 8 8 // CommonJS 9 - module.exports = factory( root ); 9 + module.exports = factory(); 10 10 } else { 11 11 // browser global 12 - root.Zdog.Dragger = factory( root ); 12 + root.Zdog.Dragger = factory(); 13 13 } 14 - }( this, function factory( window ) { 14 + }( this, function factory() { 15 15 16 16 // quick & dirty drag event stuff 17 17 // messes up if multiple pointers/touches 18 18 19 + // check for browser window #85 20 + var hasWindow = typeof window != 'undefined'; 19 21 // event support, default to mouse events 20 22 var downEvent = 'mousedown'; 21 23 var moveEvent = 'mousemove'; 22 24 var upEvent = 'mouseup'; 23 - if ( window.PointerEvent ) { 24 - // PointerEvent, Chrome 25 - downEvent = 'pointerdown'; 26 - moveEvent = 'pointermove'; 27 - upEvent = 'pointerup'; 28 - } else if ( 'ontouchstart' in window ) { 29 - // Touch Events, iOS Safari 30 - downEvent = 'touchstart'; 31 - moveEvent = 'touchmove'; 32 - upEvent = 'touchend'; 25 + if ( hasWindow ) { 26 + if ( window.PointerEvent ) { 27 + // PointerEvent, Chrome 28 + downEvent = 'pointerdown'; 29 + moveEvent = 'pointermove'; 30 + upEvent = 'pointerup'; 31 + } else if ( 'ontouchstart' in window ) { 32 + // Touch Events, iOS Safari 33 + downEvent = 'touchstart'; 34 + moveEvent = 'touchmove'; 35 + upEvent = 'touchend'; 36 + } 33 37 } 34 38 35 39 function noop() {} ··· 84 88 event.preventDefault(); 85 89 this.dragStartX = pointer.pageX; 86 90 this.dragStartY = pointer.pageY; 87 - window.addEventListener( moveEvent, this ); 88 - window.addEventListener( upEvent, this ); 91 + if ( hasWindow ) { 92 + window.addEventListener( moveEvent, this ); 93 + window.addEventListener( upEvent, this ); 94 + } 89 95 this.onDragStart( pointer ); 90 96 }; 91 97