Primefaces: Есть ли получить p: эффект для работы на Glassfish - PullRequest
0 голосов
/ 20 октября 2010

Вот мой код. Когда я нажимаю на ссылку Comment, inputTextarea и commandButton должны появиться

    <h:outputLink id="link" value="javascript:void(0)">
            <h:outputText value="Comment"/>
            <p:effect type="fade" event="click" for="reply">
                <f:param name="mode" value="'show'"/>
            </p:effect>
        </h:outputLink>
        <h:panelGrid id="reply" style="display:none;">
            <h:inputTextarea id="keyword" rows="2" /> &nbsp;                
        </h:panelGrid>
    </h:outputLink>

Когда я нажимаю на ссылку, кажется, ничего не происходит, ничего не появляется. Любая идея. Я запускаю это на Glassfish. Витрина от primeface.org работает под управлением Tomcat.

1 Ответ

2 голосов
/ 22 октября 2010

Есть две проблемы:

Во-первых, согласно Руководство пользователя PrimeFaces эффект appear не поддерживается.

Ниже приведен список эффектов, поддерживаемых PrimeFaces.

  • слепой
  • зажим
  • капля
  • взрываются
  • 1020 * раз *
  • слоеный
  • слайд
  • шкала
  • 1028 * подпрыгивать *
  • изюминкой
  • пульсируют
  • трясти
  • размер
  • перевод

Так что измените p:effect на:

<p:effect type="blind" event="click" for="reply">
    <f:param name="mode" value="'show'" />  
</p:effect>

Во-вторых, сгенерированный источник ссылки сообщает следующее:

<a href="javascript:void(0)">Comment<script type="text/javascript">
YAHOO.util.Event.addListener('j_idt6:j_idt7', 'click', function(e) {
  jQuery(PrimeFaces.escapeClientId('j_idt6:reply')).effect('blind',{mode:'show'},1000);
});</script></a>

Идентификатор клиента j_idt6:j_idt7 не отображается нигде в источнике. Это должна быть сама ссылка. Поэтому добавление id к h:outputLink должно исправить это. Похоже на ошибку в PrimeFaces.

...