UNPKG

siesta-lite

Version:

Stress-free JavaScript unit testing and functional testing tool, works in NodeJS and browsers

128 lines (98 loc) 3.85 kB
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>The source code</title> <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" /> <script type="text/javascript" src="../resources/prettify/prettify.js"></script> <style type="text/css"> .highlight { display: block; background-color: #ddd; } </style> <script type="text/javascript"> function highlight() { document.getElementById(location.hash.replace(/#/, "")).className = "highlight"; } </script> </head> <body onload="prettyPrint(); highlight();"> <pre class="prettyprint lang-js">/* Siesta 5.6.1 Copyright(c) 2009-2022 Bryntum AB https://bryntum.com/contact https://bryntum.com/products/siesta/license */ !function () { var ID = 1 Class(&#39;Siesta.Recorder.Event&#39;, { has : { id : function () { return ID++ }, type : null, // Use now instead of event timestamp Firefox / Chrome doesn&#39;t have same or // stable timeStamp implementation (switched to DOMHighResTimeStamp in FF 39, Chrome 49) // https://bugzilla.mozilla.org/show_bug.cgi?id=1186218 // https://googlechrome.github.io/samples/event-timestamp/index.html timestamp : function() { return Date.now(); }, // Alt, ctrl, meta, shift keys options : null, // pageX and pageY - page coordinates x : null, y : null, target : null, charCode : null, keyCode : null, button : null, deltaX : null, deltaY : null, deltaZ : null, rawEvent : null }, methods : { }, my : { has : { HOST : null }, methods : { fromDomEvent : function (e) { var options = {} ;[ &#39;altKey&#39;, &#39;ctrlKey&#39;, &#39;metaKey&#39;, &#39;shiftKey&#39; ].forEach(function (id) { if (e[ id ]) options[ id ] = true; }); var target = e.target var config = { type : e.type, target : target, options : options, rawEvent : e } if (e.type === &#39;wheel&#39;) { config.deltaX = e.deltaX; config.deltaY = e.deltaY; config.deltaZ = e.deltaZ; } if (e.type.match(/^key/)) { config.charCode = e.charCode || e.keyCode; config.keyCode = e.keyCode; } else if (typeof e.clientX === &#39;number&#39;) { var ownerDoc = target &amp;&amp; target.ownerDocument // Overcomplicated due to IE9 var docEl = ownerDoc &amp;&amp; ownerDoc.documentElement; var bodyEl = ownerDoc &amp;&amp; ownerDoc.body; //Chrome Firefox var pageX = bodyEl ? e.clientX + (bodyEl.scrollLeft || docEl.scrollLeft) : e.pageX; var pageY = bodyEl ? e.clientY + (bodyEl.scrollTop || docEl.scrollTop) : e.pageY; config.x = pageX; config.y = pageY; config.button = e.button; } return new this.HOST(config) } } } }); }(); </pre> </body> </html>