Сообщения из messages.properties игнорируют переносы строк в уведомлениях и подсказках

Здравствуйте!

Возникла проблема с отображением переносов строк в уведомлениях io.jmix.flowui.Notifications и подсказках (tooltip) при использовании текста из файлов сообщений.

Конфигурация:

  • Jmix версия 2.4.5
  • Файл messages_ru.properties содержит:
    passwordValidator.invalid=Не соблюдены требования к паролю: \n Тест1 \n Тест2 \u000A Тест3

Проблема:
Система корректно загружает текст (как видно на скриншоте), но игнорирует переносы строк при отображении через Notifications и tooltip. Все символы (\n, \u000A) отображаются как обычные пробелы.
image

Вопрос:
Как правильно реализовать многострочные сообщения в уведомлениях и подсказках при использовании messages.properties?

А вы точно используете специальный класс LumoUtility.Whitespace.PRE_LINE для отображения многострочного уведомления?

С ним перевод строки в содержимом через \n.

Пример из документации:

notifications.create("First line\nSecond line")
        .withClassName(LumoUtility.Whitespace.PRE_LINE)
        .withDuration(5000)
        .show();

Да, действительно, не знал, что нужно указывать параметр отдельный

А на счет переносов в tooltip вы, случайно, не знаете? Можно ли там настроить такой перенос?

На 1.6 мы такое делали через HTHL контент.
Попробуйте ему скормить в таком виде: tooltip().setText(new Html("Hello<br>World"))

К сожалению, принимает только String и других подходящих методов нет :sweat_smile:

Возможно Vaadin пока не умеет так: https://stackoverflow.com/questions/75675020/is-it-possible-to-render-html-in-vaadin-tooltip-component

На англоязычном рекомендуют d tooltip через CSS: Tooltip Multiline Text Formatting Issue in Flow UI - Support - Jmix

Действительно работает, спасибо!