Fork me on GitHub

Web Components

Thx Chart.js for documentation template.

Web Resource Compiler

LESS

For main.less:

Maven Project
    pom.xml
        src
            main
                java
                resources
                    styles
                        form.less
                        main.less
            test
                ...

use:

<link rel="stylesheet" type="text/css" href="resources/styles/main.less">

CoffeScript

For utils.coffee:

Maven Project
    pom.xml
        src
            main
                java
                    resources
                        coffee
                            utils.coffee
            test
                ...

use:

<script type="text/javascript" src="resources/coffee/utils.coffee"></script>

Jade Template

For form.jade:

Maven Project
    pom.xml
        src
            main
                java
                    resources
                        jade
                            form.jade
            test
                ...

use:

<script type="text/javascript" src="resources/jade/form.jade"></script>

For rendering Jade Template as HTML page use parameter asHTML=true.

<a href="http://localhost/resources/presentation/index.jade?asHTML=true">Presentation Page</a>

For assign template runtime script to variable use assignTo=variable_name.

<script type="text/javascript" src="resources/jade/form.jade?assignTo=window.templates"></script>

For compile multiple templates use multiple=regex.

<script type="text/javascript" src="resources/jade/form.jade?assignTo=window.templates;multiple=/components/.*\\.jade"></script>

Localization

Localized texts are served from package localization. For next dir-structure serve files app.properties, app_cs_CZ.properties, user.properties and user_cs_CZ.properties.

Maven Project
    pom.xml
    src
        main
            java
            resources
                localization
                    app.properties
                    app_cs_CZ.properties
                    entity
                        user.properties
                        user_cs_CZ.properties
        test
            ...

API

pathapi/localization

Parameters

assignToname of variable to assign (http://www.example.com/api/localization?assignTo=window.localeValues)

Data

{
    "app.title":"This is awesome App",
    "app.description":"Description of App"
}

Include localization.js

<!-- Development version -->
<script src="resources/lib/components/Localization.coffee" type="text/javascript"></script>

<!-- Production version -->
<script src="resources/lib/components/Localization.min.coffee" type="text/javascript"></script>

By key

Components.Localization.get 'app.name' # => 'Localized Application Name'

Maven

Require Servlet 3.0 container which serving static content from dependency.

Dependency

<dependency>
    <groupId>com.github.bednar</groupId>
    <artifactId>components</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

Repository

<repository>
    <id>public</id>
    <name>Public</name>
    <url>http://nexus-bednar.rhcloud.com/nexus/content/groups/public/</url>
</repository>