We apologize for untranslated text, you can use the Google Translation button to get an automatic translation of the web page in the language of your choice.

créer des portlets qui se charge chacune a part

manel · on 11/18/19 at 8:35 AM
Je suis en  train de communiquer avec une autre app dans chaque portlet mais le chargement de portail jsp collection est tres lent 
16 pts
Kevin Bransard - on 11/18/19 at 8:50 AM
Best answer

Vous pouvez utiliser ajax-refresh pour déclencher le chargement de la portlet en deux temps.

Cela donnerait le code suivant : 

<div class="ajax-refresh-div ajax-lazy" data-jalios-ajax-refresh-url="types/PortletMyPlugin/doMyPortletPluginFullDisplay.jsp">
  <% if (jcmsContext.isAjaxRequest()) { %>
    <!-- After lazy load - Show real content -->
    <% for (MyContent itContent : myHandler.getResults()) { %>  
      <%= itContent %>
    <% } %>
  <% } else { %>
    <!-- Before first load - Show loading animation or loading skeleton -->
    https://css-tricks.com/building-skeleton-screens-css-custom-properties/
  <% } %>
</div>

La classe ajax-lazy présente sur la DIV permet de déclencher une requête ajax sur l'url disponible en data-attribute après que le DOM soit ready.

Voir l'exemple à ce propos : https://docs.jalios.com/jplatform10/jcms/fr/front-end/javascript/ajax-refresh/ajax-refresh-lazy-load-76235

#1

A noter qu'une issue dans notre backlog permettra de faire du lazy load de portlets directement en option dans un jportal : https://issues.jalios.com/browse/JCMS-7420

Kevin Bransard · on 11/18/19 at 8:56 AM
10 pts
Olivier Jaquemet · on 11/18/19 at 8:42 AM

Bonjour,

Vous pouvez modifier vos portlet pour qu'elles se chargent en différés en utilisant la mécanique d'ajax-lazy : 

https://docs.jalios.com/jplatform10/jcms/fr/front-end/javascript/ajax-refresh/ajax-refresh-lazy-load-76235

0 pts