There are three high-level client side components:
The AJAXTableContainerProvider JavaScript library handles the core logic of the container layout, style and container functionality. This library defines the following JavaScript classes:
Defines methods that constructs the container and handles container functionality.
Defines methods for individual channel control and display. A separate instance of this class is created for each channel on the page.
Defines methods that handle the AJAX network Input and Output.
Defines methods that handle the page preferences module.
Defines methods to preview and add new container content.
Defines methods to modify the container style.
Defines methods to modify the container layout.
Utility methods for other package classes.
Defines methods for drag and drop functionality.
Defines methods for drag and drop functionality.
The AJAXTableContainerProvider ships with three out-of-the-box CSS themes: blue, orange and gray. Each CSS theme has the following directory structure:
styles |---- <css theme name> | |---- PrintableFloatingPane.css | |---- images | | |---- ajaxChannelEdit.png | | |---- ajaxChannelHelp.png | | |---- ajaxChannelMaximize.png | | |---- ajaxChannelMinimize.png | | |---- ajaxChannelRefresh.png | | |---- ajaxChannelRemove.png | | |---- ajaxChannelTitlebarBackground.gif | | |---- ajaxChannelUnmaximize.png | | |---- ajaxChannelUnminimize.png | | |---- preview.png | |---- screen.css
To create a customized theme, developers can copy an existing theme directory and modify the screen.css file, PrintableFloatingPane.css file, and the images to desired design and color. The screen.css file defines all the CSS classes used by the container. The PrintableFloatingPane.css is used by the floating pane widget that is used by some channels in the container.
The AJAXTableContainerProvider uses Dojo, an open source Javascript library, for all the DOM manipulation, network I/O and visual effects. More information about Dojo can be found at http://www.dojotoolkit.org. The Dojo packages & classes used in the container are listed below
dojo.io.* dojo.event.* dojo.html dojo.widget.Toggler dojo.widget.ContentPane dojo.widget.Dialog dojo.dnd.* dojo.fx.html |