Here's an example of the 5.2 JavaScriptStack api. I used it to load
Datatables (http://www.datatables.net/).


The page:
@Import( stack={"datatable"})
public class PageWithDatatable
{
  void afterRender()
{
        //connect datatable to tml here
}
}

The AppModule:
    public static void
contributeJavaScriptStackSource(MappedConfiguration<String, JavaScriptStack>
configuration)
    {
      configuration.addInstance("jquery", JQueryJavaScriptStack.class);
      configuration.addInstance("datatable",
DatatableJavaScriptStack.class);
    }

DatatableJavaScriptStack.java:

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import org.apache.tapestry5.Asset;
import org.apache.tapestry5.ioc.services.SymbolSource;
import org.apache.tapestry5.services.AssetSource;
import org.apache.tapestry5.services.javascript.JavaScriptStack;
import org.apache.tapestry5.services.javascript.StylesheetLink;

public class DatatableJavaScriptStack implements JavaScriptStack
{
  private final Asset[] js;
  private final StylesheetLink[] css;

  public DatatableJavaScriptStack(SymbolSource symbolSource, AssetSource
assetSource)
  {
    this.js = new Asset[] {
      assetSource.getContextAsset("/js/jquery.dataTables.min.js", null),
      assetSource.getContextAsset("/js/ColVis.js", null),
    };
    this.css = new StylesheetLink[] {
      new StylesheetLink(assetSource.getContextAsset("/css/datatable.css",
null)),
      new StylesheetLink(assetSource.getContextAsset("/css/ColVis.css",
null)),
      new
StylesheetLink(assetSource.getContextAsset("/css/flick/jquery-ui-1.8.5.custom.css",
null)),
    };
  }
 

  public String getInitialization()
  {
    return null;
  }

  public List<Asset> getJavaScriptLibraries()
  {
    return Arrays.asList(js);
  }

  public List<StylesheetLink> getStylesheets()
  {
    return Arrays.asList(css);
  }

  public List<String> getStacks()
  {
    //load jquery stack first
    return Collections.singletonList("jquery");
  }
}


-- 
View this message in context: 
http://tapestry-users.832.n2.nabble.com/JavaScriptStack-demo-tp5941012p5941012.html
Sent from the Tapestry Users mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to