infiniteScroll with pagerAddRows, но Timeago работает только для предела повторения, не более

Я использую Timeago для Xpages и пользовательский элемент управления прокрутки inifinite. Если я использую один из них, это хорошо. Но если использовать оба не хорошо. Timeago работает только с записями в repeatlimit. Если я прокручиваю вниз, у другого не будет даты Timeago. Timeago вызывается функцией dojo.addOnLoad. Впервые в порядке. Какое событие или функцию я должен использовать?

1 ответ

Решение

Вы можете использовать сценарий, когда нажата кнопка прокрутки бесконечности, чтобы добавить сценарии для пользовательского элемента управления Timeago.

Я добавил сценарий Timeago в сценарий бесконечной прокрутки, и через 500 мс (время, пока сервер не ответит и не выберет больше строк), он проведет повторный анализ всех классов timeago.

    <xp:scriptBlock id="scriptBlock1">
    <xp:this.value><![CDATA[$(window).scroll(function(){
    if($(window).scrollTop() == $(document).height() - $(window).height()) {
       $(".infiniteScroll ul li a").click();
    setTimeout(function(){ 
        dojo.query(".timeago").forEach( function(el) {
          var timeagoWidget= dijit.getEnclosingWidget(el);
          if(!timeagoWidget){
            timeagoWidget = new timeago.Timeago({}, el);
          }

          //refresh timeago
          timeagoWidget.refresh();
        });
    },500);
    }
});]]></xp:this.value>
  </xp:scriptBlock>

Другой вариант - перехватить частичное обновление и всегда перерисовывать сценарии timeago. Как вы можете похитить это объясняется здесь.

Другие вопросы по тегам