# Package org.apache.tapestry5.services.javascript

Support for Javascript (and CSS), including dynamically-added JavaScript and services that manage dynamically-added links to JavaScript (and CSS) assets.

- Interface Summary
  Interface | Description
  --- | ---
  Initialization | Provided by `JavaScriptSupport.require(String)` to allow additional, optional, details of the module-based page initialization to be configured.
  JavaScriptStack | A high level description of a group of related JavaScript libraries and stylesheets.
  JavaScriptStackSource | Manages the available `JavaScriptStack`s, each of which has a unique name.
  JavaScriptSupport | The JavaScriptSupport environmental is very stateful, accumulating JavaScript stacks, libraries and initialization code until the end of the main page render; it then updates the rendered DOM (adding <script> tags to the <head> and <body>) before the document is streamed to the client.
  ModuleConfigurationCallback | Used to change the configuration object which will be used to configure RequireJS; callbacks can modify and override the configuration after it was created by the `ModuleManager` service based on contributed `JavaScriptModuleConfiguration`s.
  ModuleManager | Responsible for managing access to the JavaScript modules.

- Class Summary
  Class | Description
  --- | ---
  AMDWrapper | Used to wrap plain JavaScript libraries as AMD modules.
  DataConstants | Constants related to client-side behaviors; generally, these are attributes added to elements on the server side to trigger behaviors on the client-side.
  ExtensibleJavaScriptStack | An extensible implementation of `JavaScriptStack` that can be used as the implementation of a service.
  JavaScriptModuleConfiguration | Used to define a module shim, used to adapt non-AMD JavaScript libraries to operate like proper modules.
  StackExtension | A contribution to an extensible `JavaScriptStack`.
  StylesheetLink | Captures the information needed to create a stylesheet link in the final `Document`, or as part of a JSON partial page render response.
  StylesheetOptions | Provides options to describe options associated with importing a stylesheet onto a page.

- Enum Summary
  Enum | Description
  --- | ---
  InitializationPriority | Sets the priority for JavaScript initialization scripting.
  JavaScriptAggregationStrategy | Used with `JavaScriptStack` to identify how libraries and modules within the stack can be aggregated.
  StackExtensionType | Defines the types of extensions to a JavaScript stack that can be contributed to an extensible JavaScript stack.