XF 2.2 Расширение метода в JS

Версия XenForo
2.2.1

ArtiOnMoon

Проверенные
Сообщения
63
Реакции
36
Баллы
715
Добрый день. Подскажите, пожалуйста, поясните более подробно как расширять методы в js.
Прочитал эту статью и впал в ступор. Я собираюсь расширять core.js (а именно метод updateVisitorCounts) и не понимаю к какому объекту мне обращаться в файле расширения?

JavaScript:
$.extend(XF, {
updateVisitorCounts: function(visitor, isForegroundUpdate, sourceTime)
        {
            if (!visitor || XF.getApp() != 'public')
            {
                return;
            }

            XF.badgeCounterUpdate($('.js-badge--conversations'), visitor.conversations_unread);
            XF.badgeCounterUpdate($('.js-badge--alerts'), visitor.alerts_unread);

            if (XF.config.visitorCounts['title_count'])
            {
                XF.pageTitleCounterUpdate(visitor.total_unread);
            }

            if (XF.config.visitorCounts['icon_indicator'])
            {
                XF.faviconUpdate(visitor.total_unread);
            }

            if (isForegroundUpdate)
            {
                XF.CrossTab.trigger('visitorCounts', visitor);

                XF.LocalStorage.setJson('visitorCounts', {
                    time: sourceTime || (Math.floor(new Date().getTime() / 1000) - 1),
                    conversations_unread: visitor.conversations_unread,
                    alerts_unread: visitor.alerts_unread,
                    total_unread: visitor.total_unread
                });
            }

            // TODO: Stack alerts?
        },
}

JavaScript:
$.extend(XF, {
updateVisitorCounts: function(visitor, isForegroundUpdate, sourceTime)
        {
           METHOD...

           XF.badgeCounterUpdate($('.js-badge--total'), visitor.total_unread);
            // TODO: Stack alerts?
        },
}

JavaScript:
var ColapseVisitorTab = window.ColapseVisitorTab || {}

!function($, window, document, _undefined)
{
  "use strict";

  ColapseVisitorTab.updateVisitorCounts = XF.extend(XF.updateVisitorCounts, {
      __backup: {
          'addString': '_addStringColapseVisitorTab'
      },

      addString: function(e, data)
      {
          this.addStringColapseVisitorTab(e, data);
         XF.badgeCounterUpdate($('.js-badge--total'), total.alerts_unread);

      
      }
  });

  return addString;
}
(jQuery, window, document);
 
Последнее редактирование:
Современный облачный хостинг провайдер | Aéza

Похожие темы

Назад
Сверху Снизу