Annotation Type JavaScript


  • @Retention(RUNTIME)
    @Target(TYPE)
    public @interface JavaScript
    If this annotation is present on a ClientConnector class, the framework ensures the referenced JavaScript files are loaded before the init method for the corresponding client-side connector is invoked.

    Absolute URLs including protocol and host are used as is on the client-side. Relative URLs are mapped to APP/PUBLISHED/[url] which are by default served from the classpath relative to the class where the annotation is defined.

    The file is only loaded if it has not already been loaded, determined as follows:

    • For absolute URLs, the URL is considered loaded if the same URL has previously been loaded using @JavaScript or if a script tag loaded from the same URL was present in the DOM when the Vaadin client-side was initialized.
    • For relative URLs, the URL is considered loaded if another file with the same name has already been loaded using @JavaScript, even if that file was loaded from a different folder.

    Example: @JavaScript({"http://host.com/file1.js", "file2.js"}) on the class com.example.MyConnector would load the file http://host.com/file1.js as is and file2.js from /com/example/file2.js on the server's classpath using the ClassLoader that was used to load com.example.MyConnector.

    Since:
    7.0.0
    Author:
    Vaadin Ltd
    • Required Element Summary

      Required Elements 
      Modifier and Type Required Element Description
      String[] value
      JavaScript files to load before initializing the client-side connector.
    • Element Detail

      • value

        String[] value
        JavaScript files to load before initializing the client-side connector.
        Returns:
        an array of JavaScript file urls