UNPKG

leaflet

Version:

JavaScript library for mobile-friendly interactive maps

514 lines (482 loc) 18.1 kB
<!doctype html> <html> <head> <title>Code coverage report for src/map/handler/Map.ScrollWheelZoom.js</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta http-equiv="content-language" content="en-gb"> <link rel='stylesheet' href='../../../prettify.css'> <style type='text/css'> body, html { margin:0; padding: 0; } body { font-family: "Helvetic Neue", Helvetica,Arial; font-size: 10pt; } div.header, div.footer { background: #eee; padding: 1em; } div.header { z-index: 100; position: fixed; top: 0; border-bottom: 1px solid #666; width: 100%; } div.footer { border-top: 1px solid #666; } div.body { margin-top: 10em; } div.meta { font-size: 90%; text-align: center; } h1, h2, h3 { font-weight: normal; } h1 { font-size: 12pt; } h2 { font-size: 10pt; } pre { font-family: consolas, menlo, monaco, monospace; margin: 0; padding: 0; line-height: 14px; font-size: 14px; } div.path { font-size: 110%; } div.path a:link, div.path a:visited { color: #000; } table.coverage { border-collapse: collapse; margin:0; padding: 0 } table.coverage td { margin: 0; padding: 0; color: #111; vertical-align: top; } table.coverage td.line-count { width: 50px; text-align: right; padding-right: 5px; } table.coverage td.line-coverage { color: #777 !important; text-align: right; border-left: 1px solid #666; border-right: 1px solid #666; } table.coverage td.text { } table.coverage td span.cline-any { display: inline-block; padding: 0 5px; width: 40px; } table.coverage td span.cline-neutral { background: #eee; } table.coverage td span.cline-yes { background: #b5d592; color: #999; } table.coverage td span.cline-no { background: #fc8c84; } .cstat-yes { color: #111; } .cstat-no { background: #fc8c84; color: #111; } .fstat-no { background: #ffc520; color: #111 !important; } .cbranch-no { background: yellow !important; color: #111; } .missing-if-branch { display: inline-block; margin-right: 10px; position: relative; padding: 0 4px; background: black; color: yellow; xtext-decoration: line-through; } .missing-if-branch .typ { color: inherit !important; } .entity, .metric { font-weight: bold; } .metric { display: inline-block; border: 1px solid #333; padding: 0.3em; background: white; } .metric small { font-size: 80%; font-weight: normal; color: #666; } div.coverage-summary table { border-collapse: collapse; margin: 3em; font-size: 110%; } div.coverage-summary td, div.coverage-summary table th { margin: 0; padding: 0.25em 1em; border-top: 1px solid #666; border-bottom: 1px solid #666; } div.coverage-summary th { text-align: left; border: 1px solid #666; background: #eee; font-weight: normal; } div.coverage-summary th.file { border-right: none !important; } div.coverage-summary th.pic { border-left: none !important; text-align: right; } div.coverage-summary th.pct { border-right: none !important; } div.coverage-summary th.abs { border-left: none !important; text-align: right; } div.coverage-summary td.pct { text-align: right; border-left: 1px solid #666; } div.coverage-summary td.abs { text-align: right; font-size: 90%; color: #444; border-right: 1px solid #666; } div.coverage-summary td.file { text-align: right; border-left: 1px solid #666; white-space: nowrap; } div.coverage-summary td.pic { min-width: 120px !important; } div.coverage-summary a:link { text-decoration: none; color: #000; } div.coverage-summary a:visited { text-decoration: none; color: #333; } div.coverage-summary a:hover { text-decoration: underline; } div.coverage-summary tfoot td { border-top: 1px solid #666; } div.coverage-summary .yui3-datatable-sort-indicator, div.coverage-summary .dummy-sort-indicator { height: 10px; width: 7px; display: inline-block; margin-left: 0.5em; } div.coverage-summary .yui3-datatable-sort-indicator { background: url("http://yui.yahooapis.com/3.6.0/build/datatable-sort/assets/skins/sam/sort-arrow-sprite.png") no-repeat scroll 0 0 transparent; } div.coverage-summary .yui3-datatable-sorted .yui3-datatable-sort-indicator { background-position: 0 -20px; } div.coverage-summary .yui3-datatable-sorted-desc .yui3-datatable-sort-indicator { background-position: 0 -10px; } .high { background: #b5d592 !important; } .medium { background: #ffe87c !important; } .low { background: #fc8c84 !important; } span.cover-fill, span.cover-empty { display:inline-block; border:1px solid #444; background: white; height: 12px; } span.cover-fill { background: #ccc; border-right: 1px solid #444; } span.cover-empty { background: white; border-left: none; } span.cover-full { border-right: none !important; } pre.prettyprint { border: none !important; padding: 0 !important; margin: 0 !important; } .com { color: #999 !important; } </style> </head> <body> <div class='header low'> <h1>Code coverage report for <span class='entity'>src/map/handler/Map.ScrollWheelZoom.js</span></h1> <h2> Statements: <span class='metric'>17.86% <small>(5 / 28)</small></span> &nbsp;&nbsp;&nbsp;&nbsp; Branches: <span class='metric'>0% <small>(0 / 6)</small></span> &nbsp;&nbsp;&nbsp;&nbsp; Functions: <span class='metric'>20% <small>(1 / 5)</small></span> &nbsp;&nbsp;&nbsp;&nbsp; Lines: <span class='metric'>18.52% <small>(5 / 27)</small></span> &nbsp;&nbsp;&nbsp;&nbsp; </h2> <div class="path"><a href="../../../index.html">All files</a> &#187; <a href="index.html">src/map/handler/</a> &#187; Map.ScrollWheelZoom.js</div> </div> <div class='body'> <pre><table class="coverage"> <tr><td class="line-count">1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71</td><td class="line-coverage"><span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">50</span> <span class="cline-any cline-yes">50</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/* * L.Handler.ScrollWheelZoom is used by L.Map to enable mouse scroll wheel zoom on the map. */ &nbsp; L.Map.mergeOptions({ scrollWheelZoom: true }); &nbsp; L.Map.ScrollWheelZoom = L.Handler.extend({ addHooks: function () { L.DomEvent.on(this._map._container, 'mousewheel', this._onWheelScroll, this); this._delta = 0; }, &nbsp; removeHooks: <span class="fstat-no" title="function not covered" >function () {</span> <span class="cstat-no" title="statement not covered" > L.DomEvent.off(this._map._container, 'mousewheel', this._onWheelScroll);</span> }, &nbsp; _onWheelScroll: <span class="fstat-no" title="function not covered" >function (e) {</span> <span class="cstat-no" title="statement not covered" > var delta = L.DomEvent.getWheelDelta(e);</span> &nbsp; <span class="cstat-no" title="statement not covered" > this._delta += delta;</span> <span class="cstat-no" title="statement not covered" > this._lastMousePos = this._map.mouseEventToContainerPoint(e);</span> &nbsp; <span class="cstat-no" title="statement not covered" > if (!this._startTime) {</span> <span class="cstat-no" title="statement not covered" > this._startTime = +new Date();</span> } &nbsp; <span class="cstat-no" title="statement not covered" > var left = Math.max(40 - (+new Date() - this._startTime), 0);</span> &nbsp; <span class="cstat-no" title="statement not covered" > clearTimeout(this._timer);</span> <span class="cstat-no" title="statement not covered" > this._timer = setTimeout(L.bind(this._performZoom, this), left);</span> &nbsp; <span class="cstat-no" title="statement not covered" > L.DomEvent.preventDefault(e);</span> <span class="cstat-no" title="statement not covered" > L.DomEvent.stopPropagation(e);</span> }, &nbsp; _performZoom: <span class="fstat-no" title="function not covered" >function () {</span> <span class="cstat-no" title="statement not covered" > var map = this._map,</span> delta = this._delta, zoom = map.getZoom(); &nbsp; <span class="cstat-no" title="statement not covered" > delta = delta &gt; 0 ? Math.ceil(delta) : Math.round(delta);</span> <span class="cstat-no" title="statement not covered" > delta = Math.max(Math.min(delta, 4), -4);</span> <span class="cstat-no" title="statement not covered" > delta = map._limitZoom(zoom + delta) - zoom;</span> &nbsp; <span class="cstat-no" title="statement not covered" > this._delta = 0;</span> &nbsp; <span class="cstat-no" title="statement not covered" > this._startTime = null;</span> &nbsp; <span class="cstat-no" title="statement not covered" > if (!delta) { <span class="cstat-no" title="statement not covered" >return; </span>}</span> &nbsp; <span class="cstat-no" title="statement not covered" > var newZoom = zoom + delta,</span> newCenter = this._getCenterForScrollWheelZoom(newZoom); &nbsp; <span class="cstat-no" title="statement not covered" > map.setView(newCenter, newZoom);</span> }, &nbsp; _getCenterForScrollWheelZoom: <span class="fstat-no" title="function not covered" >function (newZoom) {</span> <span class="cstat-no" title="statement not covered" > var map = this._map,</span> scale = map.getZoomScale(newZoom), viewHalf = map.getSize()._divideBy(2), centerOffset = this._lastMousePos._subtract(viewHalf)._multiplyBy(1 - 1 / scale), newCenterPoint = map._getTopLeftPoint()._add(viewHalf)._add(centerOffset); &nbsp; <span class="cstat-no" title="statement not covered" > return map.unproject(newCenterPoint);</span> } }); &nbsp; L.Map.addInitHook('addHandler', 'scrollWheelZoom', L.Map.ScrollWheelZoom); &nbsp;</pre></td></tr> </table></pre> </div> <div class='footer'> <div class='meta'>Generated by <a href='http://istanbul-js.org' target='_blank'>istanbul</a> at Thu Apr 04 2013 12:16:35 GMT+0300 (EEST)</div> </div> </body> <script src="../../../prettify.js"></script> <script src="http://yui.yahooapis.com/3.6.0/build/yui/yui-min.js"></script> <script> YUI().use('datatable', function (Y) { var formatters = { pct: function (o) { o.className += o.record.get('classes')[o.column.key]; try { return o.value.toFixed(2) + '%'; } catch (ex) { return o.value + '%'; } }, html: function (o) { o.className += o.record.get('classes')[o.column.key]; return o.record.get(o.column.key + '_html'); } }, defaultFormatter = function (o) { o.className += o.record.get('classes')[o.column.key]; return o.value; }; function getColumns(theadNode) { var colNodes = theadNode.all('tr th'), cols = [], col; colNodes.each(function (colNode) { col = { key: colNode.getAttribute('data-col'), label: colNode.get('innerHTML') || ' ', sortable: !colNode.getAttribute('data-nosort'), className: colNode.getAttribute('class'), type: colNode.getAttribute('data-type'), allowHTML: colNode.getAttribute('data-html') === 'true' || colNode.getAttribute('data-fmt') === 'html' }; col.formatter = formatters[colNode.getAttribute('data-fmt')] || defaultFormatter; cols.push(col); }); return cols; } function getRowData(trNode, cols) { var tdNodes = trNode.all('td'), i, row = { classes: {} }, node, name; for (i = 0; i < cols.length; i += 1) { name = cols[i].key; node = tdNodes.item(i); row[name] = node.getAttribute('data-value') || node.get('innerHTML'); row[name + '_html'] = node.get('innerHTML'); row.classes[name] = node.getAttribute('class'); //Y.log('Name: ' + name + '; Value: ' + row[name]); if (cols[i].type === 'number') { row[name] = row[name] * 1; } } //Y.log(row); return row; } function getData(tbodyNode, cols) { var data = []; tbodyNode.all('tr').each(function (trNode) { data.push(getRowData(trNode, cols)); }); return data; } function replaceTable(node) { if (!node) { return; } var cols = getColumns(node.one('thead')), data = getData(node.one('tbody'), cols), table, parent = node.get('parentNode'); table = new Y.DataTable({ columns: cols, data: data, sortBy: 'file' }); parent.set('innerHTML', ''); table.render(parent); } Y.on('domready', function () { replaceTable(Y.one('div.coverage-summary table')); if (typeof prettyPrint === 'function') { prettyPrint(); } }); }); </script> </html>