Quiero integrar en mi proyecto Vaadin 13 y Polymer (template), bootstrap fontawesone jquery. Hago los imports mediante la anotación @JavaScript@StyleSheet, pero no lo esta aplicando en la template y tampoco esta conservando el orden importación.
Y no se como se puede hacer para que los js se situen el final del body.
The loading order of imported dependencies is only guaranteed for one file type, in one class. There are no other loading-order guarantees. Specifically, loading order is not guaranteed between classes or files types.
De todas maneras se menciona un workaround:
You can control the load order of dependencies of different file types, by adding imports within an HTML import.
Example: Ensuring htmlimport4.html runs before htmlimport4-js.js.
Con respecto a que no aplica los estilos a los templates, depende de como esté hecho el template. Recuerda que los WebComponents protejen el template para que no apliquen los estilos globales al contenido del shadow-dom.
Finalmente con respecto a como hacer para que los imports aparezcan al final, algo que podrías hacer es crear una clase para renderizar un tag de esta manera:
@Tag("script")
public class Script extends Component {
public Script(String src) {
this.getElement().setAttribute("type", "text/javascript");
this.getElement().setAttribute("src", src);
}
}
Y asegurarte de que se agregue al final del body.
Otra opción es usar la anotación @Javascript de esta manera:
con esto se aplica y en cada sytle de los html incluirlo se aplica.
Para JavaScript el final en el java cree el codigo para que se ejecutará el momento de crear el compomente
Estoy acostumbrado a trabajar con Angular2 pero veo que se comportan de formas distintas, y por lo que pude ir revisando JQuery no funciona en Polymer. Y supongo que por eso no me funciona el javascript que queria aplicar.
Tendre buscar alternativa para poder crear el componente que quiero para la aplicación y los efectos de menu para mostrar una sidebar con el evento mouseover.