Вход Регистрация
Файл: js/xenforo/full/news_feed.js
Строк: 122
<?php
/** @param {jQuery} $ jQuery Object */
!function($, windowdocument_undefined)
{
    
/**
     * Loads and displays the next batch of news feed items from the server.
     *
     * @param jQuery Link to click in order to initiate loading
     */
    
XenForo.NewsFeedLoader = function($link) { this.__construct($link); };
    
XenForo.NewsFeedLoader.prototype =
    {
        
__construct: function($link)
        {
            
this.$link $link.click($.context(this'load'));

            
this.xhr null;
        },

        
/**
         * Loads up the next x news feed items from the server
         *
         * @param Event e
         *
         * @return boolean false
         */
        
load: function(e)
        {
            
e.preventDefault();
            
e.target.blur();

            if (
this.xhr === null && this.$link.attr('href'))
            {
                
this.xhr XenForo.ajax(
                    
this.$link.attr('href'),
                    { 
news_feed_idthis.$link.data('oldestitemid') },
                    $.
context(this'display')
                );
            }

            return 
false;
        },

        
/**
         * Handles the AJAX response from load() and displays any returned news feed items.
         *
         * @param object JSON data from AJAX
         * @param string textStatus
         */
        
display: function(ajaxDatatextStatus)
        {
            
this.xhr null;

            if (
XenForo.hasResponseError(ajaxData))
            {
                return 
false;
            }

            
this.$link.data('oldestitemid'ajaxData.oldestItemId);

            if (
XenForo.hasTemplateHtml(ajaxData))
            {
                var 
$html = $(ajaxData.templateHtml);

                if (
$html.length)
                {
                    
$html.xfInsert('insertBefore'this.$link.closest('.NewsFeedEnd'), 'xfSlideDown'XenForo.speed.slow);
                }
            }

            if (
ajaxData.feedEnds)
            {
                
this.$link.closest('.NewsFeedEnd').xfFadeOut();
            }
        }
    };

    
// *********************************************************************

    /**
     * Hides an individual news feed item
     *
     * @param jQuery Link to click in order to hide a news feed item
     */
    
XenForo.NewsFeedItemHider = function($link) { this.__construct($link); };
    
XenForo.NewsFeedItemHider.prototype =
    {
        
__construct: function($link)
        {
            
this.$link $link.click($.context(this'requestHide'));
        },

        
/**
         * Sends an AJAX request to the server, requesting that a news feed item be hidden
         *
         * @param Event e
         *
         * @return boolean false
         */
        
requestHide: function(e)
        {
            
e.preventDefault();

            
// hide immediately, assume success
            
$(this.$link.closest('.NewsFeedItem')).xfRemove();

            
XenForo.ajax(
                
this.$link.attr('href'),
                
'',
                $.
context(this'hide')
            );
        },

        
/**
         * Receives the AJAX response from requestHide() and does the actual hiding.
         *
         * @param object JSON data from AJAX
         * @param string textStatus
         */
        
hide: function(ajaxDatatextStatus)
        {
            if (
XenForo.hasResponseError(ajaxData))
            {
                return 
false;
            }

            
// nothing else to do now.
        
}
    };

    
// *********************************************************************

    
XenForo.register('a.NewsFeedLoader''XenForo.NewsFeedLoader');

    
XenForo.register('a.NewsFeedItemHider''XenForo.NewsFeedItemHider');
}
(
jQuerythisdocument);
?>
Онлайн: 1
Реклама