PageSourceSearch

https://usebaratao.com.br/wp-content/plugins/device-wrapper-premium/src/js/dragscroll.js

js usebaratao.com.br collected 2026-10-02 13:20:14 UTC 3,204 bytes, 92 lines download raw bytes

1/**
2 * @fileoverview dragscroll - scroll area by dragging
3 * @version 0.0.8
4 * 
5 * @license MIT, see http://github.com/asvd/dragscroll
6 * @copyright 2015 asvd <[email protected]> 
7 */
8
9
10(function (root, factory) {
11    if (typeof define === 'function' && define.amd) {
12        define(['exports'], factory);
13    } else if (typeof exports !== 'undefined') {
14        factory(exports);
15    } else {
16        factory((root.dragscroll = {}));
17    }
18}(this, function (exports) {
19    var _window = window;
20    var _document = document;
21    var mousemove = 'mousemove';
22    var mouseup = 'mouseup';
23    var mousedown = 'mousedown';
24    var EventListener = 'EventListener';
25    var addEventListener = 'add'+EventListener;
26    var removeEventListener = 'remove'+EventListener;
27    var newScrollX, newScrollY;
28
29    var dragged = [];
30    var reset = function(i, el) {
31        for (i = 0; i < dragged.length;) {
32            el = dragged[i++];
33            el = el.container || el;
34            el[removeEventListener](mousedown, el.md, 0);
35            _window[removeEventListener](mouseup, el.mu, 0);
36            _window[removeEventListener](mousemove, el.mm, 0);
37        }
38
39        // cloning into array since HTMLCollection is updated dynamically
40        dragged = [].slice.call(_document.getElementsByClassName('dragscroll'));
41        for (i = 0; i < dragged.length;) {
42            (function(el, lastClientX, lastClientY, pushed, scroller, cont){
43                (cont = el.container || el)[addEventListener](
44                    mousedown,
45                    cont.md = function(e) {
46                        if (!el.hasAttribute('nochilddrag') ||
47                            _document.elementFromPoint(
48                                e.pageX, e.pageY
49                            ) == cont
50                        ) {
51                            pushed = 1;
52                            lastClientX = e.clientX;
53                            lastClientY = e.clientY;
54
55                            e.preventDefault();
56                        }
57                    }, 0
58                );
59
60                _window[addEventListener](
61                    mouseup, cont.mu = function() {pushed = 0;}, 0
62                );
63
64                _window[addEventListener](
65                    mousemove,
66                    cont.mm = function(e) {
67                        if (pushed) {
68                            (scroller = el.scroller||el).scrollLeft -=
69                                newScrollX = (- lastClientX + (lastClientX=e.clientX));
70                            scroller.scrollTop -=
71                                newScrollY = (- lastClientY + (lastClientY=e.clientY));
72                            if (el == _document.body) {
73                                (scroller = _document.documentElement).scrollLeft -= newScrollX;
74                                scroller.scrollTop -= newScrollY;
75                            }
76                        }
77                    }, 0
78                );
79             })(dragged[i++]);
80        }
81    }
82
83      
84    if (_document.readyState == 'complete') {
85        reset();
86    } else {
87        _window[addEventListener]('load', reset, 0);
88    }
89
90    exports.reset = reset;
91}));
92

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.