Заголовок commandButton PrimeFaces 6.2 не работает, когда кнопка command отключена - PullRequest
0 голосов
/ 10 мая 2018

Среда: JSF 2.2.14, PrimeFaces 6.2

Моя командная кнопка настроена, как показано ниже, когда кнопка отключена, заголовок будет отображаться (при наведении курсора) в PF6.1, но выигралне отображается в PF6.2

<p:commandButton id="removeCmd" icon="fa fa-times" 
             actionListener="#{controller.remove()}" 
             update="@form"
             disabled="#{ontroller.isCommandDisabled()}"                                                          
             style="width: 20px; height:20px;margin-left: 5px;"
             title="#{controller.isCommandDisabled() ? 'Command disabled due to user privilege' : 'remove selected item'}"
             onstart="PF('bui').show(); PF('bar').show();" 
             oncomplete="PF('bui').hide(); PF('bar').hide();"
             styleClass="removeCmd"/>

Название отображается нормально, когда кнопка не отключена.

Кто-нибудь сталкивался с такой же проблемой?Я также попытался обернуть p: commandButton внутри h: panelGrid и использовать p: tooltip с ним, тоже не работает.

UPDATE : проблема, созданная на github: https://github.com/primefaces/primefaces/issues/3656

1 Ответ

0 голосов
/ 11 мая 2018

По натуре мне любопытно (и я немного слежу за изменениями в PrimeFaces). Если название кнопки больше не работает между 6.1 и 6.2, я начинаю немного анализировать. Сгенерированный HTML для кнопки в обеих версиях PrimeFaces идентичен . Это заставляет меня задуматься, перестал ли он работать и для других компонентов. Итак, я создал простую страницу

<p:inputText title="myInput enabled" />
<p:inputText title="myInput disabled" disabled="true"/>

И изменение поведения между использованием PrimeFaces 6.1 и 6.2 было таким же. Название работает как для 6.1, так и только для первого в 6.2. Поскольку в PrimeFaces 6.1 и 6.2 произошли серьезные изменения в jquery, я разместил в Google «подсказку jquery show title для отключенных входов и кнопок».

Один из хитов был: Показать подсказку для отключенных предметов

В нем была ссылка на некий css (!), Который отключает события dom и, следовательно, не отображает заголовки.

pointer-events: none;

Я открыл свой инструмент разработчика браузера и в части фильтра на вкладке css поставил «указатель». При использовании 6.1 там ничего не было, а в 6.2 было.

.ui-state-disabled {
    cursor: default !important;
    pointer-events: none;
}

Который, кажется, исходит из файла component.css (согласно моему инструменту разработчика браузера). Это не файл, который существует в репозитории PrimeFaces, а файл, который создается при сборке релиза PrimeFaces через maven:

Один из файлов, который здесь включен, является jquery-ui.css , и в нем есть фрагмент CSS, указанный выше.

Когда я отключил соответствующий pointer-events: none в инструменте разработчика браузера, названия стали видны как для ввода, так и для кнопки.

Так что, если вы хотите переопределить это, установите для этого параметра значение «все» (или любое другое значение по вашему вкусу).

html .ui-state-disabled {
    pointer-events: all;
}

См. Также

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...