Package org.apache.tapestry5.modules
Class JavaScriptModule
- java.lang.Object
 - 
- org.apache.tapestry5.modules.JavaScriptModule
 
 
- 
public class JavaScriptModule extends Object
Defines the services related to JavaScript andJavaScriptStacks.- Since:
 - 5.4
 
 
- 
- 
Constructor Summary
Constructors Constructor Description JavaScriptModule(Environment environment, EnvironmentalShadowBuilder environmentalBuilder) 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidbind(ServiceBinder binder)JavaScriptSupportbuildJavaScriptSupport()Builds a proxy to the currentJavaScriptSupportinside this thread'sEnvironment.voidexposeJavaScriptSupportForFullPageRenders(OrderedConfiguration<MarkupRendererFilter> configuration, JavaScriptStackSource javascriptStackSource, JavaScriptStackPathConstructor javascriptStackPathConstructor, Request request)Adds page render filters, each of which provides anEnvironmentalservice.voidexposeJavaScriptSupportForPartialPageRender(OrderedConfiguration<PartialMarkupRendererFilter> configuration, JavaScriptStackSource javascriptStackSource, JavaScriptStackPathConstructor javascriptStackPathConstructor, Request request)ContributesPartialMarkupRendererFilters used when rendering a partial Ajax response.static voidoverrideGlyphiconWithFontAwesomeIfNeeded(MappedConfiguration<Class,Class> configuration, Compatibility compatibility)Overrides theGlyphiconcomponent withFontAwesomeIconif Bootstrap 3 isn't enabled.static voidprepareHTMLPageOnRender(OrderedConfiguration<MarkupRendererFilter> configuration)Contributes 'ConfigureHTMLElement', which writes the attributes into the HTML tag to describe locale, etc.static voidprovideBuiltinJavaScriptStacks(MappedConfiguration<String,JavaScriptStack> configuration, JavaScriptStack coreStack, JavaScriptStack internalStack)Contributes the "core" and "internal"JavaScriptStacksstatic voidsetupApplicationCatalogModules(MappedConfiguration<String,Object> configuration, LocalizationSetter localizationSetter, ComponentMessagesSource messagesSource, ResourceChangeTracker resourceChangeTracker, boolean compactJSON)static voidsetupBaseModules(MappedConfiguration<String,Object> configuration, Resource underscoreShim, Resource jqueryShim, Resource typeahead, Resource moment, Resource transition, Resource bootstrapUtil, Compatibility compatibility)static voidsetupCompatibilityDefaults(MappedConfiguration<Trait,Boolean> configuration)static voidsetupCoreJavaScriptStack(OrderedConfiguration<StackExtension> configuration, Compatibility compatibility, String provider)The core JavaScriptStack has a number of entries: requirejs The RequireJS AMD JavaScript library scriptaculous.js, effects.js Optional JavaScript libraries in compatibility mode (seeTrait.SCRIPTACULOUS) t53-compatibility.js Optional JavaScript library (seeTrait.INITIALIZERS) underscore-library, underscore-module The Underscore JavaScript library, and the shim that allows underscore to be injected t5/core/init Optional module related to t53-compatibility.js jquery-library The jQuery library jquery-noconflict Switches jQuery to no-conflict mode (only present when the infrastructure is "prototype"). jquery A module shim that allows jQuery to be injected (and also switches jQuery to no-conflict mode) bootstrap.css, tapestry.css, exception-frame.css, tapestry-console.css, tree.css CSS files t5/core/[...] Additional JavaScript modules jquery Added if the infrastructure provider is "jquery". User modules may replace or extend this list.static voidsetupFactoryDefaults(MappedConfiguration<String,Object> configuration)static voidsetupFoundationFramework(MappedConfiguration<String,Object> configuration, String provider, Resource domPrototype, Resource domJQuery)static voidsetupInternalJavaScriptStack(OrderedConfiguration<StackExtension> configuration)static voidsetupModuleDispatchers(OrderedConfiguration<Dispatcher> configuration, ModuleManager moduleManager, OperationTracker tracker, ResourceStreamer resourceStreamer, PathConstructor pathConstructor, JavaScriptStackSource javaScriptStackSource, JavaScriptStackPathConstructor javaScriptStackPathConstructor, LocalizationSetter localizationSetter, String modulePathPrefix, String assetPathPrefix) 
 - 
 
- 
- 
Constructor Detail
- 
JavaScriptModule
public JavaScriptModule(Environment environment, EnvironmentalShadowBuilder environmentalBuilder)
 
 - 
 
- 
Method Detail
- 
bind
public static void bind(ServiceBinder binder)
 
- 
provideBuiltinJavaScriptStacks
@Contribute(JavaScriptStackSource.class) public static void provideBuiltinJavaScriptStacks(MappedConfiguration<String,JavaScriptStack> configuration, @Core JavaScriptStack coreStack, @Internal JavaScriptStack internalStack)
Contributes the "core" and "internal"JavaScriptStacks- Since:
 - 5.2.0
 
 
- 
setupCoreJavaScriptStack
@Contribute(JavaScriptStack.class) @Core public static void setupCoreJavaScriptStack(OrderedConfiguration<StackExtension> configuration, Compatibility compatibility, @Symbol("tapestry.javascript-infrastructure-provider") String provider)
The core JavaScriptStack has a number of entries:- requirejs
 - The RequireJS AMD JavaScript library
 - scriptaculous.js, effects.js
 - Optional JavaScript libraries in compatibility mode (see 
Trait.SCRIPTACULOUS) - t53-compatibility.js
 - Optional JavaScript library (see 
Trait.INITIALIZERS) - underscore-library, underscore-module
 - The Underscore JavaScript library, and the shim that allows underscore to be injected
 - t5/core/init
 - Optional module related to t53-compatibility.js
 - jquery-library
 - The jQuery library
 - jquery-noconflict
 - Switches jQuery to no-conflict mode (only present when the infrastructure is "prototype").
 - jquery
 - A module shim that allows jQuery to be injected (and also switches jQuery to no-conflict mode)
 - bootstrap.css, tapestry.css, exception-frame.css, tapestry-console.css, tree.css
 - CSS files
 - t5/core/[...]
 - Additional JavaScript modules
 - jquery
 - Added if the infrastructure provider is "jquery".
 
 
- 
setupCompatibilityDefaults
@Contribute(Compatibility.class) public static void setupCompatibilityDefaults(MappedConfiguration<Trait,Boolean> configuration)
 
- 
setupInternalJavaScriptStack
@Contribute(JavaScriptStack.class) @Internal public static void setupInternalJavaScriptStack(OrderedConfiguration<StackExtension> configuration)
 
- 
buildJavaScriptSupport
public JavaScriptSupport buildJavaScriptSupport()
Builds a proxy to the currentJavaScriptSupportinside this thread'sEnvironment.- Since:
 - 5.2.0
 
 
- 
setupModuleDispatchers
@Contribute(Dispatcher.class) @Primary public static void setupModuleDispatchers(OrderedConfiguration<Dispatcher> configuration, ModuleManager moduleManager, OperationTracker tracker, ResourceStreamer resourceStreamer, PathConstructor pathConstructor, JavaScriptStackSource javaScriptStackSource, JavaScriptStackPathConstructor javaScriptStackPathConstructor, LocalizationSetter localizationSetter, @Symbol("tapestry.module-path-prefix") String modulePathPrefix, @Symbol("tapestry.asset-path-prefix") String assetPathPrefix)
 
- 
exposeJavaScriptSupportForFullPageRenders
@Contribute(MarkupRenderer.class) public void exposeJavaScriptSupportForFullPageRenders(OrderedConfiguration<MarkupRendererFilter> configuration, JavaScriptStackSource javascriptStackSource, JavaScriptStackPathConstructor javascriptStackPathConstructor, Request request)
Adds page render filters, each of which provides anEnvironmentalservice. Filters often provideEnvironmentalservices needed by components as they render.- JavascriptSupport
 - Provides 
JavaScriptSupport 
 
- 
exposeJavaScriptSupportForPartialPageRender
@Contribute(PartialMarkupRenderer.class) public void exposeJavaScriptSupportForPartialPageRender(OrderedConfiguration<PartialMarkupRendererFilter> configuration, JavaScriptStackSource javascriptStackSource, JavaScriptStackPathConstructor javascriptStackPathConstructor, Request request)
ContributesPartialMarkupRendererFilters used when rendering a partial Ajax response.- JavaScriptSupport
 - Provides 
JavaScriptSupport 
 
- 
setupBaseModules
@Contribute(ModuleManager.class) public static void setupBaseModules(MappedConfiguration<String,Object> configuration, @Path("${tapestry.asset.root}/underscore-shim.js") Resource underscoreShim, @Path("${tapestry.asset.root}/jquery-shim.js") Resource jqueryShim, @Path("${tapestry.asset.root}/typeahead.js") Resource typeahead, @Path("${tapestry.asset.root}/moment-2.15.1.js") Resource moment, @Path("${tapestry.asset.root}/bootstrap/js/transition.js") Resource transition, @Path("${tapestry.asset.root}/bootstrap4/js/bootstrap-util.js") Resource bootstrapUtil, Compatibility compatibility)
 
- 
setupFactoryDefaults
@Contribute(SymbolProvider.class) @FactoryDefaults public static void setupFactoryDefaults(MappedConfiguration<String,Object> configuration)
 
- 
setupFoundationFramework
@Contribute(ModuleManager.class) public static void setupFoundationFramework(MappedConfiguration<String,Object> configuration, @Symbol("tapestry.javascript-infrastructure-provider") String provider, @Path("classpath:org/apache/tapestry5/t5-core-dom-prototype.js") Resource domPrototype, @Path("classpath:org/apache/tapestry5/t5-core-dom-jquery.js") Resource domJQuery)
 
- 
setupApplicationCatalogModules
@Contribute(ModuleManager.class) public static void setupApplicationCatalogModules(MappedConfiguration<String,Object> configuration, LocalizationSetter localizationSetter, ComponentMessagesSource messagesSource, ResourceChangeTracker resourceChangeTracker, @Symbol("tapestry.compact-json") boolean compactJSON)
 
- 
prepareHTMLPageOnRender
@Contribute(MarkupRenderer.class) public static void prepareHTMLPageOnRender(OrderedConfiguration<MarkupRendererFilter> configuration)
Contributes 'ConfigureHTMLElement', which writes the attributes into the HTML tag to describe locale, etc. Contributes 'AddBrowserCompatibilityStyles', which writes<style/>elements into the<head/>element that modifies the page loading mask to work on IE 8 and IE 9. 
- 
overrideGlyphiconWithFontAwesomeIfNeeded
@Contribute(ComponentOverride.class) public static void overrideGlyphiconWithFontAwesomeIfNeeded(MappedConfiguration<Class,Class> configuration, Compatibility compatibility)
Overrides theGlyphiconcomponent withFontAwesomeIconif Bootstrap 3 isn't enabled.- See Also:
 Trait.BOOTSTRAP_3,Compatibility
 
 - 
 
 -