package t5.webresources.services; import org.apache.tapestry5.SymbolConstants; import org.apache.tapestry5.ioc.MappedConfiguration; import org.apache.tapestry5.ioc.OrderedConfiguration; import org.apache.tapestry5.ioc.annotations.Contribute; import org.apache.tapestry5.ioc.annotations.ImportModule; import org.apache.tapestry5.ioc.services.ApplicationDefaults; import org.apache.tapestry5.ioc.services.SymbolProvider; import org.apache.tapestry5.services.Core; import org.apache.tapestry5.services.compatibility.Compatibility; import org.apache.tapestry5.services.compatibility.Trait; import org.apache.tapestry5.services.javascript.JavaScriptStack; import org.apache.tapestry5.services.javascript.JavaScriptAggregationStrategy; import org.apache.tapestry5.services.javascript.StackExtension; import org.apache.tapestry5.services.javascript.StackExtensionType; import org.apache.tapestry5.webresources.modules.WebResourcesModule; @ImportModule(WebResourcesModule.class) public class AppModule { @Contribute(Compatibility.class) public static void disableOldStuff(MappedConfiguration<Trait, Boolean> configuration) { configuration.add(Trait.INITIALIZERS, false); configuration.add(Trait.SCRIPTACULOUS, false); } @Contribute(SymbolProvider.class) @ApplicationDefaults public static void setupEnvironment(MappedConfiguration<String, Object> configuration) { configuration.add(SymbolConstants.JAVASCRIPT_INFRASTRUCTURE_PROVIDER, "jquery"); configuration.add(SymbolConstants.MINIFICATION_ENABLED, true); configuration.add(SymbolConstants.BOOTSTRAP_ROOT, "context:bootstrap"); } @Contribute(JavaScriptStack.class) @Core public static void overrideBootstrapCSS(OrderedConfiguration<StackExtension> configuration) { // configuration.add("ForTestingOnly", StackExtension.javascriptAggregation(JavaScriptAggregationStrategy.DO_NOTHING)); configuration.override("bootstrap.css", new StackExtension(StackExtensionType.STYLESHEET, "context:bootstrap/less/bootstrap.less"), "before:tapestry.css"); } }