$()

in themes/docsy/assets/js/event-popup.js [1:116]


$(function () {
    var $popup = $('.sky-event-popup')
    var key = 'SkyWalkingPopupClosedTime';

    if (!$popup || isShowed(key)) {
        return;
    }
    var $items = $popup.find('.item');
    var $pic = $popup.find('.pic');

    init()

    function init() {
        var count = getActiveCount()
        if (!count) {
            return;
        }
        showPopover(count)
        bindClick()
    }

    function getActiveCount() {
        var count = 0;
        $.each($items, function (index, item) {
            var startTime = $(item).data('starttime');
            var endTime = $(item).data('endtime');
            if (isDuringTime(startTime, endTime)) {
                $(item).show()
                count++
            }
        })
        return count
    }

    function showPopover(count) {
        var src;
        var posterSrc;
        var link;
        var $contentBox = $popup.find('.content-box');
        if (count === 1) {
            $contentBox.addClass('one')
            src = $items.eq(0).data('img')
            posterSrc = $items.eq(0).data('poster')
            link = $items.eq(0).data('link')
        } else {
            $items.sort(function (a, b) {
                var aDate = new Date($(a).data('endtime'))
                var bDate = new Date($(b).data('endtime'))
                return aDate.getTime() - bDate.getTime()
            })
            $.each($items, function (index, item) {
                var img = $(item).data('img')
                var poster = $(item).data('poster')
                if (poster) {
                    posterSrc = poster;
                    link = $(item).data('link');
                    return false
                }
                if (img) {
                    src = img;
                    return false
                }
            })
            $contentBox.html($items)
        }
        if (posterSrc && document.body.clientWidth >= 440) {
            $pic.attr('src', posterSrc);
            $pic.on('click', function () {
                window.location.href = link;
                $popup.find('.fa-window-close').trigger('click')
            })
            $('.pic-wrapper').addClass('poster')
            $('.fa-window-close').css('color', '#8797ac')
            $contentBox.hide()
        } else {
            if (!src) {
                src = $pic.data('img')
                $pic.css('height', 'auto')
            }
            $pic.attr('src', src)
        }

        setTimeout(function () {
            $popup.show()
        }, 1000)
    }

    function bindClick() {
        $popup.find('.fa-window-close').on('click', function () {
            localStorage.setItem(key, new Date());
            $popup.hide()
        })
    }


    function isShowed(key) {
        var storageTime = formatTime(localStorage.getItem(key));
        var now = formatTime(new Date());
        return storageTime === now;
    }

    function formatTime(time) {
        var date = new Date(time);
        return (
            date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate()
        );
    }

    function isDuringTime(startTimeStr, endTimeStr) {
        var currTime = new Date();
        var startTime = new Date(startTimeStr);
        var endTime = new Date(endTimeStr);
        return currTime <= endTime && (currTime >= startTime || !startTimeStr)
    }

})