AnonSec Shell
Server IP : 213.186.33.4  /  Your IP : 216.73.216.193
Web Server : Apache
System : Linux webm006.cluster103.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : awebpaca ( 35430)
PHP Version : 8.5.0
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/a/w/e/awebpaca/piwik/plugins/TagManager/Template/Trigger/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/a/w/e/awebpaca/piwik/plugins/TagManager/Template/Trigger/ScrollReachTrigger.web.js
(function () {
    return function (parameters, TagManager) {

        var self = this;
        var numTriggers = 0;

        this.setUp = function (triggerEvent) {
            var scrollType = parameters.get('scrollType');
            var pixels = parameters.get('pixels', 1000);
            var percentage = parameters.get('percentage', 50);

            if (!scrollType) {
                return;
            }
            this.scrollIndex = TagManager.window.onScroll(function (event) {
                var hasReachedScrollPosition = false;
                var dom = TagManager.dom;

                var lastScrollTop = parseInt(dom.getScrollTop(), 10) + TagManager.window.getViewportHeight();
                var lastScrollLeft = parseInt(dom.getScrollLeft(), 10) + TagManager.window.getViewportWidth();
                var docHeight = dom.getDocumentHeight();
                var docWidth = dom.getDocumentWidth();
                var scrollPercentageVertical = (lastScrollTop / docHeight) * 100;
                var scrollPercentageHorizontal = (lastScrollLeft / docWidth) * 100;
                var eventType = event && event.type ? event.type : '';

                switch (scrollType) {
                    case 'verticalpixel':
                        if (lastScrollTop > pixels) {
                            hasReachedScrollPosition = true;
                        }
                        break;
                    case 'horizontalpixel':
                        if (lastScrollLeft > pixels) {
                            hasReachedScrollPosition = true;
                        }
                        break;
                    case 'verticalpercentage':
                        if (scrollPercentageVertical >= percentage) {
                            hasReachedScrollPosition = true;
                        }
                        break;
                    case 'horizontalpercentage':
                        if (scrollPercentageHorizontal >= percentage) {
                            hasReachedScrollPosition = true;
                        }
                        break;
                }

                if (hasReachedScrollPosition) {
                    if (!numTriggers) {
                        // ensure it won't be executed twice even if there is some race condition

                        numTriggers++;
                        triggerEvent({
                            event: 'mtm.ScrollReach',
                            'mtm.scrollSource': eventType,
                            'mtm.scrollLeftPx': lastScrollLeft,
                            'mtm.scrollTopPx': lastScrollTop,
                            'mtm.scrollVerticalPercentage': Math.round(scrollPercentageVertical * 100) / 100,
                            'mtm.scrollHorizontalPercentage': Math.round(scrollPercentageHorizontal * 100) / 100,
                            'mtm.scrollDocumentHeightPx': docHeight,
                            'mtm.scrollDocumentWidthPx': docWidth,
                        });
                    }

                    if (self.scrollIndex !== null) {
                        TagManager.window.offScroll(self.scrollIndex);
                        self.scrollIndex = null;
                    }
                }
            });
        };
    };
})();

Anon7 - 2022
AnonSec Team