#vaadin #vaadin20
Вопрос:
Я пытаюсь включить пользовательские значки, как описано в этом сообщении. Но я больше не могу найти @HtmlImport
аннотацию (Flow V. 20). Эта аннотация широко использовалась, если бы ее заменили, я бы ожидал найти хотя бы какую-то документацию.
PS Я тоже пробовал @StyleSheet("./styles/iconexp-iconset-svg.html")
, немного жалуется:
Couldn't find route for 'styles/iconexp-iconset-svg.html'
Ответ №1:
Bower устарел в пользу импорта npm и HTML в пользу модулей ES в Vaadin 14. Я не помню, когда они были удалены, но они больше не поддерживаются в Vaadin 20.
Вы можете ознакомиться с инструкциями по миграции здесь: https://vaadin.com/docs/v14/guide/upgrading/v10-13/#migration-steps
Ответ №2:
Основываясь на Jouni, вот пример использования @JsModule
.
(1) Определите свой набор значков в файле JavaScript.
import '@polymer/iron-iconset-svg/iron-iconset-svg';
const templateElem = document.createElement('template');
templateElem.innerHTML = `
<iron-iconset-svg name="namespace"><svg><defs>
<g id="iconname">...</g>
...
</defs></svg></iron-iconset-svg>
`;
document.head.appendChild(templateElem.content);
(2) Импортируйте файл в свой корневой класс макета.
@JsModule("./icons.js")
public class RootLayout...
Комментарии:
1. Действительно, большое вам спасибо. Я попробую это как можно скорее.