Хотите создать столбец в панели динамического просмотра, который отображает значок "Избранное"

Я использую панель динамического просмотра и хочу создать столбец "Избранное" в представлении. Базовое представление имеет поле многозначных имен "Избранное", которое содержит всех пользователей, которые пометили документ как избранное. Я хотел бы обработать это преобразование в bean-компоненте "Customizer", где я могу сравнить текущего пользователя с сохраненными значениями в столбце "Favorites" и посмотреть, есть ли они в списке. Если бы они были, я бы представил значок "Зеленая звезда" (не стандартный значок "Примечания"), иначе я бы представил значок пустой звезды. Я также хотел бы сделать значок звездочки живым, чтобы при нажатии на звездочку он включал / выключал значение избранного в базе данных.

Как мне реализовать такую ​​функцию?

  1. Какие методы DominoViewCustomizer мне нужно переопределить? (глядя на afterCreateColumn)
  2. Как мне получить и установить значения столбца? (действительно потерянный здесь)
  3. Как получить столбец для отображения изображения ресурса Notes (мои звезды) или мне нужно сохранить его в каталоге на сервере?
  4. Как сделать значок звездочки кликабельным?
  5. Как мне записать это событие?

Использование Domino v9.0.1

1 ответ

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

Используйте "избранное" документ для каждого пользователя. Содержит один многозначный элемент для хранения идентификаторов заметок всех документов, выбранных пользователем.

Когда пользователь входит в систему, прочитайте содержимое поля с несколькими значениями в переменную sessionScope. Затем в столбце просмотра все, что вам нужно сделать, это проверить, находится ли Note ID текущей строки в переменной sessionScope, и отобразить соответствующий значок.

Для части, когда пользователь нажимает на звездочку, в этом столбце должен быть обработчик событий, который выполняет поиск в избранном документе пользователя (создает его, если он не существует) и добавляет или удаляет Note ID, а затем выполняет частичное обновление вид.

Вы, вероятно, все еще можете сделать это с динамической панелью просмотра, но я не могу говорить о ее деталях, так как я не пользуюсь ею часто.

Другие вопросы по тегам