настраиваемая загрузка загружаемого изображения для ajax-вызовов фильтрации столбцов

Вопрос:

Я использую primefaces datatable с помощью фильтрации столбцов и глобальной фильтрации.
В нашем приложении мы используем пользовательский <p:ajaxStatus> чтобы уловить все вызовы ajax и показать сообщение "Please wait.." до тех пор, пока запрос не будет завершен. Это блокирует полный пользовательский интерфейс.
Это идеально соответствует всем сценариям, кроме тех, которые я буду описывать.
Я хочу выполнить фильтрацию столбцов в datatable, и если я введу какой-то текст, вызов ajax будет запущен, а экран заблокирован настраиваемым диалоговым окном ajax с сообщением "Please wait.."
Но я не хочу, чтобы эти конкретные вызовы ajax были захвачены глобальным ajax. если мы используем атрибут global="false" то он не будет выполнять глобальный ajax.
Но в datatable я не могу дать global="false" в <p:column > как свойство.
В этом случае я просто хочу показать ему загрузочное изображение в правом нижнем углу, как и все связанные с фильмом фильтрации. проверьте следующую ссылку, как я хочу реализовать.

Диспетчер данных

В приведенном выше примере код не указан. Итак, как я могу это реализовать?
Любая идея высоко ценится.

Лучший ответ:

Чтобы уловить все запросы ajax, мы определили <p:ajaxStatus> на главной странице макета.
Который захватывает все запросы ajax.
Поэтому, чтобы преодолеть это, я определил одну и ту же страницу макета на моей включенной странице и удалил специально определенный <p:ajaxStatus> который блокирует полный пользовательский интерфейс. Проблемный код на странице макета:

<div id="container">
        <div id="content">
            <ui:insert name="content" />
        </div>
        <ui:insert name="dialog">
        </ui:insert>
    </div>  

в включенной странице мы определяем контент как

<ui:define name="content">
        <h1>Test Application</h1>
</ui:define>  

Решение

 <p:ajaxStatus style="width:64px;height:64px;position:fixed;right:5px;bottom:5px">  
    <f:facet name="start">  
        <p:graphicImage name="loading.gif" library="images"></p:graphicImage>
    </f:facet>  

    <f:facet name="complete">  
        <h:outputText value="" />  
    </f:facet>  
</p:ajaxStatus>
    <div id="container">
        <div id="content">
            <ui:insert name="content" >
                     <h1> Test Application </h1>
           </ui:insert>
       </div>
  </div>  

Таким образом, здесь любой запрос ajax с этой страницы будет зависеть от настроек, определенных на этой странице. Это очень помогло мне.
Надеюсь, поможет

Оцените статью
TechArks.Ru
Добавить комментарий