Как добавить всплывающую подсказку (или тег заголовка) в строки сетки гобеленов?

#tapestry

#tapestry

Вопрос:

Как добавить всплывающую подсказку (или тег заголовка) в строки сетки tapestry? Я хочу показать конфиденциальную информацию о строке во всплывающей подсказке. Я мог бы сделать это в t:loop , но мне нужно использовать t:grid . Мне не нужен дополнительный столбец в сетке.

Я использую версию tapestry 5.0.18.

Ответ №1:

Я написал GridDecorator mixin, который применяет декораторы к строкам и ячейкам после отображения компонента сетки. У декораторов есть ссылка на элемент DOM и компонент, который использовался для рисования строки сетки. Таким образом, вы можете украсить DOM так, как вам нравится (например, добавив контекстное меню к каждой строке, специфичной для данной строки).

Демонстрация / Код здесь:

Ответ №2:

Я также задал этот вопрос в группе пользователей tapestry здесь. Как я понимаю из ответов, прямого способа сделать это нет.

Но у меня был некоторый успех в приведенном ниже методе.

Сетки Tapestry преобразуются в таблицу на отображаемой HTML-странице. Используя Java script, мы можем прикрепить тег заголовка к каждой строке.

 jQuery('td.rowtitle').attr('width', '12%').attr('title', '${message:yourMessage}');
  

Ответ №3:

Спасибо за вопрос. Я узнал, что искал, из ответа Хеннинга, но этот синтаксис устарел в Tapestry 5.3 и не будет работать (если, возможно, я не перенастрою Tapestry, чтобы игнорировать устаревшие версии). Вот «современная» версия примера Хеннинга

 <t:grid ...>
    <p:lastNameHeader>
        <!-- your content -->
    </p:lastNameHeader>
<t:grid>
  

Ответ №4:

Вы можете переопределить заголовки и ячейки таблицы по умолчанию и заполнить их чем угодно:

 <table t:type="Grid" ...>
    <t:parameter name="lastNameHeader">
        <!-- Your content -->
    </t:parameter>
</table>
  

Имя параметров — «$ {nameOfRow} Заголовок» для заголовка и «$ {nameOfRow} Ячейка» для ячеек.

Также взгляните на ссылку на компонент сетки.