Annotation Type PWA


  • @Retention(RUNTIME)
    @Target(TYPE)
    public @interface PWA
    Defines application PWA properties. Annotation activates automatic PWA injecting.

    Only one annotation for application is supported. Annotation must be placed to master layout. Application annotated the annotation will add following capabilities to Flow application:

    • handle manifest.webmanifest
    • handle sw.js (service worker), which will enable simple offline fallback and file caching
    • handle default (static) offline html page
    • handle different versions (sizes) of the given logo
    • inject needed tags to the app's page header
    Any of the handled resources can be explicitly overridden with static file in public resources. For example, if manifest.webmanifest is available in webapp root folder it will be served instead of generated manifest.webmanifest. Same applies for service worker and generated icons. NOTE: PWA Install Prompt feature will be removed in future versions since this feature was only supported by Chromium-based browsers, in favour of a more uniform implementation and experience for all browsers.
    Since:
    1.2
    See Also:
    https://developer.mozilla.org/en-US/Apps/Progressive
    • Element Detail

      • name

        String name
        Name of the application.
        Returns:
        name of the application
      • shortName

        String shortName
        Short name for the application. Maximum of 12 characters.
        Returns:
        short name for the application
      • offlinePath

        String offlinePath
        Path to the static offline html file. Defaults to empty value, meaning that the application shell (`index .html` file) is used offline. If offline file is not found, the browser’s default “unreachable site” message is shown.
        Returns:
        path to the static offline html file
        Default:
        ""
      • manifestPath

        String manifestPath
        Path to the manifest file. Defaults to (relative) manifest.webmanifest with default configuration that is webapp/manifest.webmanifest
        Returns:
        path to the manifest file
        Default:
        "manifest.webmanifest"
      • iconPath

        String iconPath
        Path to the application icon file.

        Defaults to (relative) icons/icon.png with default configuration that is webapp/manifest.webmanifest

        If the specified icon file is not found, the default one will be used. The file is also used to create different sizes of icon.

        Returns:
        path to the application icon file
        Default:
        "icons/icon.png"
      • startPath

        String startPath
        (Root relative) start url, used in web-manifest, property start_url

        Used in manifest as start_url of application. Must be relative to root context. ie. If install address of application would be https://foo.bar.org/sub/ and wanted start url would be https://foo.bar.org/sub/pwa-start then value of startPath would be "pwa-start" (without leading "/").

        Defaults to root of application.

        Returns:
        application start url
        Default:
        "."
      • description

        String description
        Description of the application.
        Returns:
        description of the application
        Default:
        ""
      • themeColor

        String themeColor
        Theme color of the application. The theme color sets the color of the application's tool bar and application's color in the task switcher.
        Returns:
        theme color of the application
        Default:
        "#ffffff"
      • backgroundColor

        String backgroundColor
        Background color of the application. The background color property is used on the splash screen when the application is first launched.
        Returns:
        Background color of the application
        Default:
        "#f2f2f2"
      • display

        String display
        Defines the developers’ preferred display mode for the website. Possible values: fullscreen, standalone, minimal-ui, browser
        Returns:
        display mode of application
        Default:
        "standalone"
      • offlineResources

        String[] offlineResources
        Offline resources to be cached using the service worker.
        Returns:
        offline resources to be cached
        Default:
        {}
      • offline

        boolean offline
        Whether the application should be available offline.

        Defaults to true, which enables the service worker script build. The service worker is required for the application to work offline and will be registered in the browser on the user's first visit.

        Setting to false disables the service worker script build. The active service worker, if one is running in the browser, will be unregistered on the user's next visit.

        Returns:
        whether offline is enabled.
        Default:
        true