1/48
Contents
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
What's New
Documentation Changes for Release 11.1.1.4.0
Part I Getting Started with ADF Faces
1
Introduction to ADF Faces Rich Client
1.1
Introduction to ADF Faces Rich Client
1.1.1
History of ADF Faces
1.1.2
ADF Faces as Rich Client Components
1.2
Architecture of ADF Faces Components
1.2.1
Client-Side Architecture
1.2.1.1
Client-Side Components
1.2.1.2
JavaScript Library Partitioning
1.2.2
ADF Faces Architectural Features
1.3
ADF Faces Components
1.4
ADF Faces Demonstration Application
1.4.1
How to Download and Install the ADF Faces Demo Application
1.4.2
Using the ADF Faces Demo Application
1.4.3
Overview of the File Explorer Application
1.4.4
Viewing the Source Code In JDeveloper
2
Getting Started with ADF Faces
2.1
Developing Declaratively in JDeveloper
2.2
Creating an Application Workspace
2.2.1
How to Create an Application Workspace
2.2.2
What Happens When You Create an Application Workspace
2.3
Defining Page Flows
2.3.1
How to Define a Page Flow
2.3.2
What Happens When You Use the Diagrammer to Create a Page Flow
2.4
Creating a View Page
2.4.1
How to Create JSF JSP Pages
2.4.2
What Happens When You Create a JSF JSP Page
2.4.3
What You May Need to Know About Automatic Component Binding
2.4.4
How to Create a Facelets XHTML Page
2.4.5
What Happens When You Create a JSF XHTML Page
2.4.6
How to Add ADF Faces Components to JSF Pages
2.4.7
What Happens When You Add Components to a Page
2.4.8
How to Set Component Attributes
2.4.9
What Happens When You Use the Property Inspector
2.5
Creating EL Expressions
2.5.1
How to Create an EL Expression
2.5.2
How to Use EL Expressions Within Managed Beans
2.6
Creating and Using Managed Beans
2.6.1
How to Create a Managed Bean in JDeveloper
2.6.2
What Happens When You Use JDeveloper to Create a Managed Bean
2.6.3
What You May Need to Know About Component Bindings and Managed Beans
2.7
Viewing ADF Faces Source Code and Javadoc
Part II Understanding ADF Faces Architecture
3
Using ADF Faces Architecture
3.1
Introduction to Using ADF Faces Architecture
3.2
Listening for Client Events
3.3
Adding JavaScript to a Page
3.3.1
How to Use Inline JavaScript
3.3.2
How to Import JavaScript Libraries
3.3.3
What You May Need to Know About Accessing Client Event Sources
3.4
Instantiating Client-Side Components
3.5
Locating a Client Component on a Page
3.5.1
What You May Need to Know About Finding Components in Naming Containers
3.6
Accessing Component Properties on the Client
3.6.1
How to Set Property Values on the Client
3.6.2
How to Unsecure the disabled Property
3.6.3
What Happens at Runtime: How Client Properties Are Set on the Client
3.7
Using Bonus Attributes for Client-Side Components
3.7.1
How to Create Bonus Attributes
3.7.2
What You May Need to Know About Marshalling Bonus Attributes
3.8
Understanding Rendering and Visibility
3.8.1
How to Set Visibility Using JavaScript
3.8.2
What You May Need to Know About Visible and the isShowing Function
4
Using the JSF Lifecycle with ADF Faces
4.1
Introduction to the JSF Lifecycle and ADF Faces
4.2
Using the Immediate Attribute
4.3
Using the Optimized Lifecycle
4.3.1
What You May Need to Know About Using the Immediate Attribute and the Optimized Lifecycle
4.3.2
What You May Need to Know About Using an LOV Component and the Optimized Lifecycle
4.4
Using the Client-Side Lifecycle
4.5
Using Subforms to Create Regions on a Page
4.6
Object Scope Lifecycles
4.7
Passing Values Between Pages
4.7.1
How to Use the pageFlowScope Scope Within Java Code
4.7.2
How to Use the pageFlowScope Scope Without Writing Java Code
4.7.3
What Happens at Runtime: Passing Values
5
Handling Events
5.1
Introduction to Events and Event Handling
5.1.1
Events and Partial Page Rendering
5.1.2
Client-Side Event Model
5.2
Using ADF Faces Server Events
5.3
Using JavaScript for ADF Faces Client Events
5.3.1
How to Use Client-Side Events
5.3.2
How to Return the Original Source of the Event
5.3.3
How to Use Client-Side Attributes for an Event
5.3.4
How to Block UI Input During Event Execution
5.3.5
How to Prevent Events from Propagating to the Server
5.3.6
What Happens at Runtime: How Client-Side Events Work
5.3.7
What You May Need to Know About Using Naming Containers
5.4
Sending Custom Events from the Client to the Server
5.4.1
How to Send Custom Events from the Client to the Server
5.4.2
What Happens at Runtime: How Client and Server Listeners Work Together
5.4.3
What You May Need to Know About Marshalling and Unmarshalling Data
5.5
Executing a Script Within an Event Response
5.6
Using Client Behavior Tags
5.6.1
How to Use the scrollComponentIntoViewBehavior Tag
5.7
Using Polling Events to Update Pages
5.7.1
How to Use the Poll Component
6
Validating and Converting Input
6.1
Introduction to ADF Faces Converters and Validators
6.2
Conversion, Validation, and the JSF Lifecycle
6.3
Adding Conversion
6.3.1
How to Add a Standard ADF Faces Converter
6.3.2
How to Set Attributes on a Standard ADF Faces Converter
6.3.3
What Happens at Runtime
6.3.4
How to Add oracle.jbo.domain Converters
6.4
Creating Custom JSF Converters
6.4.1
How to Create a Custom JSF Converter
6.4.2
What Happens When You Use a Custom Converter
6.5
Adding Validation
6.5.1
How to Add Validation
6.5.1.1
Adding ADF Faces Validation
6.5.1.2
Using Validation Attributes
6.5.1.3
Using ADF Faces Validators
6.5.2
What Happens at Runtime
6.5.3
What You May Need to Know About Multiple Validators
6.6
Creating Custom JSF Validation
6.6.1
How to Create a Backing Bean Validation Method
6.6.2
What Happens When You Create a Backing Bean Validation Method
6.6.3
How to Create a Custom JSF Validator
6.6.4
What Happens When You Use a Custom JSF Validator
7
Rerendering Partial Page Content
7.1
Introduction to Partial Page Rendering
7.2
Enabling Partial Page Rendering Declaratively
7.2.1
How to Enable Partial Page Rendering
7.2.2
What You May Need to Know About Using the Browser Back Button
7.2.3
What You May Need to Know About PPR and Screen Readers
7.3
Enabling Partial Page Rendering Programmatically
7.4
Using Partial Page Navigation
7.4.1
How to Use Partial Page Navigation
7.4.2
What You May Need to Know About PPR Navigation
Part III Using ADF Faces Components
8
Organizing Content on Web Pages
8.1
Introduction to Organizing Content on Web Pages
8.2
Starting to Lay Out a Page
8.2.1
Geometry Management and Component Stretching
8.2.2
Nesting Components Inside Components That Allow Stretching
8.2.3
Using Quick Start Layouts
8.2.4
Tips for Using Geometry-Managed Components
8.2.5
How to Configure the document Tag
8.3
Arranging Contents to Stretch Across a Page
8.3.1
How to Use the panelStretchLayout Component
8.3.2
What You May Need to Know About Geometry Management and the panelStretchLayout Component
8.4
Using Splitters to Create Resizable Panes
8.4.1
How to Use the panelSplitter Component
8.4.2
What You May Need to Know About Geometry Management and the panelSplitter Component
8.5
Arranging Page Contents in Predefined Fixed Areas
8.5.1
How to Use the panelBorderLayout Component
8.6
Arranging Content in Forms
8.6.1
How to Use the panelFormLayout Component
8.6.2
What You May Need to Know About Using the group Component with the panelFormLayout Component
8.7
Arranging Contents in a Dashboard
8.7.1
How to Use the panelDashboard Component
8.7.2
What You May Need to Know About Geometry Management and the panelDashboard Component
8.8
Displaying and Hiding Contents Dynamically
8.8.1
How to Use the showDetail Component
8.8.2
How to Use the showDetailHeader Component
8.8.3
How to Use the panelBox Component
8.8.4
What You May Need to Know About Disclosure Events
8.9
Displaying or Hiding Contents in Accordion Panels and Tabbed Panels
8.9.1
How to Use the panelAccordion Component
8.9.2
How to Use the panelTabbed Component
8.9.3
How to Use the showDetailItem Component to Display Content in panelAccordion or panelTabbed Components
8.9.4
What You May Need to Know About Geometry Management and the showDetailItem Component
8.9.5
What You May Need to Know About showDetailItem Disclosure Events
8.10
Displaying Items in a Static Box
8.10.1
How to Use the panelHeader Component
8.10.2
How to Use the decorativeBox Component
8.10.3
What You May Need to Know About Geometry Management and the decorativeBox Component
8.11
Displaying a Bulleted List in One or More Columns
8.11.1
How to Use the panelList Component
8.11.2
What You May Need to Know About Creating a List Hierarchy
8.12
Grouping Related Items
8.12.1
How to Use the panelGroupLayout Component
8.12.2
What You May Need to Know About Geometry Management and the panelGroupLayout Component
8.13
Separating Content Using Blank Space or Lines
8.13.1
How to Use the spacer Component
8.13.2
How to Use the Separator Component
9
Using Input Components and Defining Forms
9.1
Introduction to Input Components and Forms
9.2
Defining Forms
9.2.1
How to Add a Form to a Page
9.2.2
How to Add a Subform to a Page
9.2.3
How to Add a Reset Button to a Form
9.3
Using the inputText Component
9.3.1
How to Add an inputText Component
9.3.2
How to Add the Ability to Insert Text into an inputText Component
9.4
Using the Input Number Components
9.4.1
How to Add an inputNumberSlider or an inputRangeSlider Component
9.4.2
How to Add an inputNumberSpinbox Component
9.5
Using Color and Date Choosers
9.5.1
How to Add an inputColor Component
9.5.2
How to Add an InputDate Component
9.5.3
What You May Need to Know About Selecting Time Zones Without the inputDate Component
9.6
Using Selection Components
9.6.1
How to Use Selection Components
9.7
Using Shuttle Components
9.7.1
How to Add a selectManyShuttle or selectOrderShuttle Component
9.7.2
What You May Need to Know About Using a Client Listener for Selection Events
9.8
Using the richTextEditor Component
9.8.1
How to Add a richTextEditor Component
9.8.2
How to Add the Ability to Insert Text into a richTextEditor Component
9.8.3
How to Customize the Toolbar
9.9
Using File Upload
9.9.1
How to Use the inputFile Component
9.9.2
What You May Need to Know About Temporary File Storage
10
Using Tables and Trees
10.1
Introduction to Tables, Trees, and Tree Tables
10.1.1
Content Delivery
10.1.2
Row Selection
10.1.3
Editing Data in Tables, Trees, and Tree Tables
10.1.4
Using Popup Dialogs in Tables, Trees, and Tree Tables
10.1.5
Accessing Client Table, Tree, and Tree Table Components
10.1.6
Geometry Management and Table, Tree, and Tree Table Components
10.2
Displaying Data in Tables
10.2.1
Columns and Column Data
10.2.2
Formatting Tables
10.2.3
Formatting Columns
10.2.4
How to Display a Table on a Page
10.2.5
What Happens When You Add a Table to a Page
10.2.6
What Happens at Runtime: Data Delivery
10.2.7
What You May Need to Know About Programmatically Enabling Sorting for Table Columns
10.2.8
What You May Need to Know About Performing an Action on Selected Rows in Tables
10.2.9
What You May Need to Know About Dynamically Determining Values for Selection Components in Tables
10.2.10
What You May Need to Know About Using the Iterator Tag
10.3
Adding Hidden Capabilities to a Table
10.3.1
How to Use the detailStamp Facet
10.3.2
What Happens at Runtime: Disclosing Row Data
10.4
Enabling Filtering in Tables
10.4.1
How to Add Filtering to a Table
10.5
Displaying Data in Trees
10.5.1
How to Display Data in Trees
10.5.2
What Happens When You Add a Tree to a Page
10.5.3
What Happens at Runtime: Tree Component Events
10.5.4
What You May Need to Know About Programmatically Expanding and Collapsing Nodes
10.5.5
What You May Need to Know About Programmatically Selecting Nodes
10.6
Displaying Data in Tree Tables
10.6.1
How to Display Data in a Tree Table
10.7
Passing a Row as a Value
10.8
Displaying Table Menus, Toolbars, and Status Bars
10.8.1
How to Add a panelCollection with a Table, Tree, or Tree Table
10.9
Exporting Data from Table, Tree, or Tree Table
10.9.1
How to Export Table, Tree, or Tree Table Data to an External Format
10.9.2
What Happens at Runtime: How Row Selection Affects the Exported Data
10.10
Accessing Selected Values on the Client from Components That Use Stamping
10.10.1
How to Access Values from a Selection in Stamped Components.
10.10.2
What You May Need to Know About Accessing Selected Values
11
Using List-of-Values Components
11.1
Introduction to List-of-Values Components
11.2
Creating the ListOfValues Data Model
11.3
Using the inputListOfValues Component
11.4
Using the InputComboboxListOfValues Component
12
Using Query Components
12.1
Introduction to Query Components
12.2
Implementing the Model for Your Query
12.3
Using the quickQuery Component
12.3.1
How to Add the quickQuery Component Using a Model
12.3.2
How to Use a quickQuery Component Without a Model
12.3.3
What Happens at Runtime: How the Framework Renders the quickQuery Component and Executes the Search
12.4
Using the query Component
12.4.1
How to Add the Query Component
13
Using Popup Dialogs, Menus, and Windows
13.1
Introduction to Using Popup Elements
13.2
Declaratively Creating Popup Elements
13.2.1
How to Create a Dialog
13.2.2
How to Create a Panel Window
13.2.3
How to Create a Context Menu
13.2.4
How to Create a Note Window
13.2.5
What Happens at Runtime: Popup Component Events
13.3
Programmatically Invoking a Popup
13.3.1
How to Programatically Invoke a Popup
13.3.2
What Happens When You Programmatically Invoke a Popup
13.4
Invoking Popup Elements
13.4.1
How to Use the af:showPopupBehavior Tag
13.5
Displaying Contextual Information
13.5.1
How to Create Contextual Information
13.6
Controlling the Automatic Cancellation of Inline Popups
13.6.1
How to Disable the Automatic Cancellation of an Inline Popup
13.6.2
What Happens When You Disable the Automatic Cancellation of an Inline Popup
14
Using Menus, Toolbars, and Toolboxes
14.1
Introduction to Menus, Toolbars, and Toolboxes
14.2
Using Menus in a Menu Bar
14.2.1
How to Create and Use Menus in a Menu Bar
14.3
Using Toolbars
14.3.1
How to Create and Use Toolbars
14.3.2
What Happens at Runtime: Determining the Size of Menu Bars and Toolbars
14.3.3
What You May Need to Know About Toolbars
15
Creating a Calendar Application
15.1
Introduction to Creating a Calendar Application
15.2
Creating the Calendar
15.2.1
Calendar Classes
15.2.2
How to Create a Calendar
15.3
Configuring the Calendar Component
15.3.1
How to Configure the Calendar Component
15.3.2
What Happens at Runtime: Calendar Events and PPR
15.4
Adding Functionality Using Popup Components
15.4.1
How to Add Functionality Using Popup Components
15.5
Customizing the Toolbar
15.5.1
How to Customize the Toolbar
15.6
Styling the Calendar
15.6.1
How to Style Activities
15.6.2
What Happens at Runtime: Activity Styling
15.6.3
How to Customize Dates
16
Using Output Components
16.1
Introduction to Output Text, Image, Icon, and Media Components
16.2
Displaying Output Text and Formatted Output Text
16.2.1
How to Display Output Text
16.2.2
What You May Need to Know About Allowed Format and Character Codes in the outputFormatted Component
16.3
Displaying Icons
16.4
Displaying Images
16.5
Using Images as Links
16.6
Displaying Images in a Carousel
16.6.1
How to Create a Carousel
16.6.2
What You May Need to Know About the Carousel Component and Different Browsers
16.7
Displaying Application Status Using Icons
16.8
Playing Video and Audio Clips
16.8.1
How to Allow Playing of Audio and Video Clips
17
Displaying Tips, Messages, and Help
17.1
Introduction to Displaying Tips and Messages
17.2
Displaying Tips for Components
17.3
Displaying Hints and Error Messages for Validation and Conversion
17.3.1
How to Define Custom Validator and Converter Messages
17.3.2
What You May Need to Know About Overriding Default Messages Globally
17.3.3
How to Display Component Messages Inline
17.3.4
How to Display Global Messages Inline
17.4
Grouping Components with a Single Label and Message
17.5
Displaying Help for Components
17.5.1
How to Create Resource Bundle-Based Help
17.5.2
How to Create XLIFF-Based Help
17.5.3
How to Create Managed Bean Help
17.5.4
How to Use JavaScript to Launch an External Help Window
17.5.5
How to Create a Java Class Help Provider
17.5.6
How to Access Help Content from a UI Component
17.5.7
What You May Need to Know About Combining Different Message Types
18
Working with Navigation Components
18.1
Introduction to Navigation Components
18.2
Using Buttons and Links for Navigation
18.2.1
How to Use Command Buttons and Command Links
18.2.2
How to Use Go Buttons and Go Links
18.3
Configuring a Browser's Context Menu for Command Links
18.3.1
How to Configure a Browser's Context Menu for Command Links
18.3.2
What Happens When You Configure a Browser's Context Menu for Command Links
18.4
Using Buttons or Links to Invoke Functionality
18.4.1
How to Use a Command Component to Download Files
18.4.2
How to Use a Command Component to Reset Input Fields
18.5
Using Navigation Items for a Page Hierarchy
18.6
Using a Menu Model to Create a Page Hierarchy
18.6.1
How to Create the Menu Model Metadata
18.6.2
What Happens When You Use the Create ADF Menu Model Wizard
18.6.3
How to Bind to the XMLMenuModel in the JSF Page
18.6.4
How to Use the breadCrumbs Component
18.6.5
What Happens at Runtime
18.6.6
What You May Need to Know About Using Custom Attributes
18.7
Creating a Simple Navigational Hierarchy
18.7.1
How to Create a Simple Page Hierarchy
18.7.2
How to Use the breadCrumbs Component
18.7.3
What You May Need to Know About Removing Navigation Tabs
18.8
Using Train Components to Create Navigation Items for a Multi-Step Process
18.8.1
How to Create the Train Model
18.8.2
How to Configure Managed Beans for the Train Model
18.8.3
How to Bind to the Train Model in JSF Pages
19
Creating and Reusing Fragments, Page Templates, and Components
19.1
Introduction to Reusable Content
19.2
Using Page Fragments
19.2.1
How to Create a Page Fragment
19.2.2
What Happens When You Create a Page Fragment
19.2.3
How to Use a Page Fragment in a JSF Page
19.2.3.1
Adding a Page Fragment Using the Component Palette
19.2.3.2
Adding a Page Fragment Using the Application Navigator
19.2.4
What Happens at Runtime: Resolving Page Fragments
19.3
Using Page Templates
19.3.1
How to Create a Page Template
19.3.2
What Happens When You Create a Page Template
19.3.3
How to Create JSF Pages Based on Page Templates
19.3.4
What Happens When You Use a Template to Create a Page
19.3.5
What Happens at Runtime: How Page Templates Are Resolved
19.3.6
What You May Need to Know About Page Templates and Naming Containers
19.4
Using Declarative Components
19.4.1
How to Create a Declarative Component
19.4.2
What Happens When You Create a Declarative Component
19.4.3
How to Deploy Declarative Components
19.4.4
How to Use Declarative Components in JSF Pages
19.4.5
What Happens When You Use a Declarative Component on a JSF Page
19.4.6
What Happens at Runtime
19.5
Adding Resources to Pages
19.5.1
How to Add Resources to Page Templates and Declarative Components
19.5.2
What Happens at Runtime: Adding Resources to the Document Header
20
Customizing the Appearance Using Styles and Skins
20.1
Introduction to Skins, Style Selectors, and Style Properties
20.1.1
ADF Faces Skins
20.1.2
Skin Style Selectors
20.1.3
Component Style Properties
20.2
Applying Custom Skins to Applications
20.2.1
How to Add a Custom Skin to an Application
20.2.2
How to Register the XML Schema Definition File for a Custom Skin
20.2.3
How to Register a Custom Skin
20.2.4
How to Configure an Application to Use a Custom Skin
20.3
Defining Skin Style Properties
20.3.1
How to Apply Skins to Text
20.3.2
How to Apply Skins to Icons
20.3.3
How to Apply Skins to Messages
20.3.4
How to Apply Themes to Components
20.3.5
How to Create a Custom Alias
20.3.6
How to Configure a Component for Changing Skins Dynamically
20.4
Changing the Style Properties of a Component
20.4.1
How to Set an Inline Style
20.4.2
How to Set a Style Class
20.5
Referring to URLs in a Skin's CSS File
20.6
Deploying a Custom Skin File in a JAR File
21
Internationalizing and Localizing Pages
21.1
Introduction to Internationalization and Localization of ADF Faces Pages
21.2
Using Automatic Resource Bundle Integration in JDeveloper
21.2.1
How to Set Resource Bundle Options
21.2.2
What Happens When You Set Resource Bundle Options
21.2.3
How to Create an Entry in a JDeveloper-Generated Resource Bundle
21.2.4
What Happens When You Create an Entry in a JDeveloper-Generated Resource Bundle
21.3
Manually Defining Resource Bundles and Locales
21.3.1
How to Define the Base Resource Bundle
21.3.2
How to Edit a Resource Bundle File
21.3.3
How to Register Locales and Resource Bundles in Your Application
21.3.4
How to Use Resource Bundles in Your Application
21.3.5
What You May Need to Know About Custom Skins and Control Hints
21.4
Configuring Pages for an End User to Specify Locale at Runtime
21.4.1
How to Configure a Page for an End User to Specify Locale
21.4.2
What Happens When You Configure a Page to Specify Locale
21.4.3
What Happens at Runtime When an End User Specifies a Locale
21.5
Configuring Optional ADF Faces Localization Properties
21.5.1
How to Configure Optional Localization Properties
22
Developing Accessible ADF Faces Pages
22.1
Introduction to Accessible ADF Faces Pages
22.2
Exposing Accessibility Preferences
22.2.1
How to Configure Accessibility Support in trinidad-config.xml
22.3
Specifying Component-Level Accessibility Properties
22.3.1
ADF Faces Component Accessibility Guidelines
22.3.2
Using ADF Faces Table components in Screen Reader mode
22.3.3
ADF Data Visualization Components Accessibility Guidelines
22.3.4
How to Define Access Keys for an ADF Faces Component
22.3.5
How to Define Localized Labels and Access Keys
22.4
Creating Accessible Pages
22.4.1
How to Use Partial Page Rendering
22.4.2
How to Use Scripting
22.4.3
How to Use Styles
22.4.4
How to Use Page Structures and Navigation
22.4.5
How to Use WAI-ARIA Landmark Regions
22.5
Running Accessibility Audit Rules
Part IV Using ADF Data Visualization Components
23
Introduction to ADF Data Visualization Components
23.1
Introduction to ADF Data Visualization Components
23.2
Defining the ADF Data Visualization Components
23.2.1
Graph
23.2.2
Gauge
23.2.3
Pivot Table
23.2.4
Geographic Map
23.2.5
Gantt Chart
23.2.6
Hierarchy Viewer
23.3
Providing Data for ADF Data Visualization Components
23.4
Downloading Custom Fonts for Flash Images
24
Using ADF Graph Components
24.1
Introduction to the Graph Component
24.2
Understanding the Graph Tags
24.2.1
Graph-Specific Tags
24.2.2
Common Graph Child Tags
24.2.3
Graph-Specific Child Tags
24.2.4
Child Set Tags
24.3
Understanding Data Requirements for Graphs
24.3.1
Area Graphs Data Requirements
24.3.2
Bar Graph Data Requirements
24.3.3
Bubble Graph Data Requirements
24.3.4
Combination Graph Data Requirements
24.3.5
Funnel Graph Data Requirements
24.3.6
Line Graph Data Requirements
24.3.7
Pareto Graph Data Requirements
24.3.8
Pie Graph Data Requirements
24.3.9
Polar Graph Data Requirements
24.3.10
Radar Graph Data Requirements
24.3.11
Scatter Graph Data Requirements
24.3.12
Sparkchart Data Requirements
24.3.13
Stock Graph Data Requirements
24.3.13.1
Stock Graphs: High-Low-Close
24.3.13.2
Stock Graphs: High-Low-Close with Volume
24.3.13.3
Stock Graphs: Open-High-Low-Close
24.3.13.4
Stock Graphs: Open-High-Low-Close with Volume
24.3.13.5
Candle Stock Graphs: Open-Close
24.3.13.6
Candle Stock Graphs: Open-Close with Volume
24.3.13.7
Candle Stock Graphs: Open-High-Low-Close
24.3.13.8
Candle Stock Graphs: Open-High-Low-Close with Volume
24.4
Creating a Graph
24.4.1
How to Create a Graph Using Tabular Data
24.4.1.1
Storing Tabular Data for a Graph in a Managed Bean
24.4.1.2
Creating a Graph Using Tabular Data
24.4.2
What Happens When You Create a Graph Using Tabular Data
24.5
Changing the Graph Type
24.6
Customizing the Appearance of Graphs
24.6.1
Changing the Color, Style, and Display of Graph Data Values
24.6.1.1
How to Specify the Color and Style for Individual Series Items
24.6.1.2
How to Control the Number of Different Colors Used for Series Items
24.6.1.3
How to Enable Hiding and Showing Series Items
24.6.2
Formatting Data Values in Graphs
24.6.2.1
How to Format Categorical Data Values
24.6.2.2
How to Format Numerical Data Values
24.6.2.3
What You May Need to Know About Automatic Scaling and Precision
24.6.3
Formatting Text in Graphs
24.6.3.1
How to Globally Set Graph Font Using a Skin
24.6.4
Changing Graph Size and Style
24.6.4.1
How to Specify the Size of a Graph at Initial Display
24.6.4.2
How to Provide for Dynamic Resizing of a Graph
24.6.4.3
How to Use a Specific Style Sheet for a Graph
24.6.5
Changing Graph Background, Plot Area, and Title
24.6.5.1
How to Customize the Background and Plot Area of a Graph
24.6.5.2
How to Specify Titles and Footnotes in a Graph
24.6.6
Customizing Graph Axes and Labels
24.6.6.1
How to Specify the Title, Appearance, and Scaling of an Axis
24.6.6.2
How to Specify Scrolling on an Axis
24.6.6.3
How to Control the Appearance of Tick Marks and Labels on an Axis
24.6.6.4
How to Format Numbers on an Axis
24.6.6.5
How to Set Minimum and Maximum Values on a Data Axis
24.6.7
Customizing Graph Legends
24.6.8
Customizing Tooltips in Graphs
24.7
Customizing the Appearance of Specific Graph Types
24.7.1
Changing the Appearance of Pie Graphs
24.7.1.1
How to Customize the Overall Appearance of Pie Graphs
24.7.1.2
How to Customize an Exploding Pie Slice
24.7.2
Changing the Appearance of Lines in Graphs
24.7.2.1
How to Display Either Data Lines or Markers in Graphs
24.7.2.2
How to Change the Appearance of Lines in a Graph Series
24.7.3
Customizing Pareto Graphs
24.7.4
Customizing Scatter Graph Series Markers
24.8
Adding Specialized Features to Graphs
24.8.1
Adding Reference Lines or Areas to Graphs
24.8.1.1
How to Create Reference Lines or Areas During Design
24.8.1.2
What Happens When You Create Reference Lines or Areas During Design
24.8.1.3
How to Create Reference Lines or Areas Dynamically
24.8.2
Using Gradient Special Effects in Graphs
24.8.2.1
How to Add Gradient Special Effects to a Graph
24.8.2.2
What Happens When You Add a Gradient Special Effect to a Graph
24.8.3
Specifying Transparent Colors for Parts of a Graph
24.8.4
Providing Interactive Capability for Graphs
24.8.4.1
How to Provide Marker and Legend Dimming
24.8.4.2
How to React to Changes in the Zoom and Scroll Levels
24.8.5
Providing an Interactive Time Axis for Graphs
24.8.5.1
How to Define a Relative Range of Time Data for Display
24.8.5.2
How to Define an Explicit Range of Time Data for Display
24.8.6
Adding Alerts and Annotations to Graphs
24.9
Animating Graphs
24.9.1
How to Configure Graph Components to Display Active Data
24.9.2
How to Specify Animation Effects for Graphs
25
Using ADF Gauge Components
25.1
Introduction to the Gauge Component
25.1.1
Types of Gauges
25.1.2
Gauge Terminology
25.2
Understanding Data Requirements for Gauges
25.3
Creating a Gauge
25.3.1
Creating a Gauge Using Tabular Data
25.3.1.1
Storing Tabular Data for a Gauge in a Managed Bean
25.3.1.2
Structure of the List of Tabular Data
25.3.2
How to Create a Gauge Using Tabular Data
25.3.3
What Happens When You Create a Gauge Using Tabular Data
25.4
Customizing Gauge Type, Layout, and Appearance
25.4.1
How to Change the Type of the Gauge
25.4.2
How to Determine the Layout of Gauges in a Gauge Set
25.4.3
Changing Gauge Size and Style
25.4.3.1
Specifying the Size of a Gauge at Initial Display
25.4.3.2
Providing Dynamic Resizing of a Gauge
25.4.3.3
Using a Custom Style Class for a Gauge
25.4.4
How to Add Thresholds to Gauges
25.4.4.1
Adding Static Thresholds to Gauges
25.4.5
How to Format Numeric Values in Gauges
25.4.5.1
Formatting the Numeric Value in a Gauge Metric Label
25.4.6
What Happens When You Format the Numbers in a Gauge Metric Label
25.4.7
What You May Need to Know About Automatic Scaling and Precision
25.4.8
How to Format Text in Gauges
25.4.9
How to Specify an N-Degree Dial
25.4.10
How to Customize Gauge Labels
25.4.10.1
Controlling the Position of Gauge Labels
25.4.10.2
Customizing the Colors and Borders of Gauge Labels
25.4.11
How to Customize Indicators and Tick Marks
25.4.11.1
Controlling the Appearance of Gauge Indicators
25.4.11.2
Specifying Tick Marks and Labels
25.4.11.3
Creating Exterior Tick Labels
25.4.12
Specifying Transparency for Parts of a Gauge
25.5
Adding Gauge Special Effects and Animation
25.5.1
How to Use Gradient Special Effects in a Gauge
25.5.1.1
Adding Gradient Special Effects to a Gauge
25.5.2
What Happens When You Add a Gradient Special Effect to a Gauge
25.5.3
How to Add Interactivity to Gauges
25.5.4
How to Animate Gauges
25.5.5
How to Animate Gauges with Active Data
25.5.5.1
Configuring Gauge Components to Display Active Data
25.5.5.2
Adding Animation to Gauges
25.6
Using Custom Shapes in Gauges
25.6.1
How to Create a Custom Shapes Graphic File
25.6.2
How to Use a Custom Shapes File
25.6.3
What You May Need to Know About Supported SVG Features
25.6.4
How to Set Custom Shapes Styles
26
Using ADF Pivot Table Components
26.1
Introduction to the ADF Pivot Table Component
26.1.1
Pivot Table Elements and Terminology
26.2
Understanding Data Requirements for a Pivot Table
26.3
Pivoting Layers
26.4
Using Selection in Pivot Tables
26.5
Sorting in a Pivot Table
26.6
Sizing in a Pivot Table
26.6.1
How to Set the Overall Size of a Pivot Table
26.6.2
How to Resize Rows, Columns, and Layers
26.6.3
What You May Need to Know About Resizing Rows, Columns, and Layers
26.7
Updating Pivot Tables with Partial Page Rendering
26.8
Exporting from a Pivot Table
26.9
Customizing the Cell Content of a Pivot Table
26.9.1
How to Create a CellFormat Object for a Data Cell
26.9.2
How to Construct a CellFormat Object
26.9.3
How to Change Format and Text Styles
26.9.4
How to Create Stoplight and Conditional Formatting in a Pivot Table
26.10
Pivot Table Data Cell Stamping and Editing
26.10.1
How to Specify Custom Images for Data Cells
26.10.2
How to Specify Images, Icons, Links, and Read-Only Content in Header Cells
26.11
Using a Pivot Filter Bar with a Pivot Table
26.11.1
How to Associate a Pivot Filter Bar with a Pivot Table
27
Using ADF Geographic Map Components
27.1
Introduction to Geographic Maps
27.1.1
Available Map Themes
27.1.2
Geographic Map Terminology
27.1.3
Geographic Map Component Tags
27.1.3.1
Geographic Map Parent Tags
27.1.3.2
Geographic Map Child Tags
27.1.3.3
Tags for Modifying Map Themes
27.2
Understanding Data Requirements for Geographic Maps
27.3
Customizing Map Size, Zoom Control, and Selection Area Totals
27.3.1
How to Adjust the Map Size
27.3.2
How to Specify Strategy for Map Zoom Control
27.3.3
How to Total Map Selection Values
27.4
Customizing Map Themes
27.4.1
How to Customize Zoom Levels for a Theme
27.4.2
How to Customize the Labels of a Map Theme
27.4.3
How to Customize Color Map Themes
27.4.4
How to Customize Point Images in a Point Theme
27.4.5
What Happens When You Customize the Point Images in a Map
27.4.6
How to Customize the Bars in a Bar Graph Theme
27.4.7
What Happens When You Customize the Bars in a Map Bar Graph Theme
27.4.8
How to Customize the Slices in a Pie Graph Theme
27.4.9
What Happens When You Customize the Slices in a Map Pie Graph Theme
27.5
Adding a Toolbar to a Map
27.5.1
How to Add a Toolbar to a Map
27.5.2
What Happens When You Add a Toolbar to a Map
28
Using ADF Gantt Chart Components
28.1
Introduction to the ADF Gantt Chart Components
28.1.1
Types of Gantt Charts
28.1.2
Functional Areas of a Gantt Chart
28.1.3
Description of Gantt Chart Tasks
28.2
Understanding Gantt Chart Tags and Facets
28.3
Understanding Gantt Chart User Interactivity
28.3.1
Navigating in a Gantt Chart
28.3.1.1
Scrolling and Panning the List Region or the Chart Region
28.3.1.2
How to Navigate to a Specific Date in a Gantt Chart
28.3.1.3
How to Control the Visibility of Columns in the Table Region
28.3.2
How to Display Data in a Hierarchical List or a Flat List
28.3.3
How to Change the Gantt Chart Time Scale
28.4
Understanding Data Requirements for the Gantt Chart
28.4.1
Data for a Project Gantt Chart
28.4.2
Data for a Resource Utilization Gantt Chart
28.4.3
Data for a Scheduling Gantt Chart
28.5
Creating an ADF Gantt Chart
28.6
Customizing Gantt Chart Legends, Toolbars, and Context Menus
28.6.1
How to Customize a Gantt Chart Legend
28.6.2
Customizing Gantt Chart Toolbars
28.6.3
Customizing Gantt Chart Context Menus
28.7
Working with Gantt Chart Tasks and Resources
28.7.1
How to Create a New Task Type
28.7.2
How to Specify Custom Data Filters
28.7.3
How to Add a Double-Click Event to a Task Bar
28.8
Specifying Nonworking Days, Read-Only Features, and Time Axes
28.8.1
Identifying Nonworking Days in a Gantt Chart
28.8.1.1
How to Specify Weekdays as Nonworking Days
28.8.1.2
How to Identify Specific Dates as Nonworking Days
28.8.2
How to Apply Read-Only Values to Gantt Chart Features
28.8.3
Customizing the Time Axis of a Gantt Chart
28.8.3.1
How to Create and Use a Custom Time Axis
28.9
Printing a Gantt Chart
28.9.1
Print Options
28.9.2
Action Listener to Handle the Print Event
28.10
Using Gantt Charts as a Drop Target or Drag Source
29
Using ADF Hierarchy Viewer Components
29.1
Introduction to Hierarchy Viewers
29.1.1
Understanding the Hierarchy Viewer Component
29.1.2
Hierarchy Viewer Elements and Terminology
29.1.3
Available Hierarchy Viewer Layout Options
29.2
Data Requirements for Hierarchy Viewers
29.3
Managing Nodes in a Hierarchy Viewer
29.3.1
How to Specify Node Content
29.3.2
How to Configure the Controls on a Node
29.3.3
How to Specify a Node Definition for an Accessor
29.3.4
How to Associate a Node Definition with a Particular Set of Data Rows
29.3.5
How to Specify Ancestor Levels for an Anchor Node
29.4
Navigating in a Hierarchy Viewer
29.4.1
How to Configure Upward Navigation in a Hierarchy Viewer
29.4.2
How to Configure Same-Level Navigation in a Hierarchy Viewer
29.4.3
What Happens When You Configure Same-Level Navigation in a Hierarchy Viewer
29.5
Adding Interactivity to a Hierarchy Viewer Component
29.5.1
How to Configure 3D Tilt Panning
29.5.2
How to Configure Node Selection Action
29.5.3
How to Configure a Hierarchy Viewer to Invoke a Popup Window
29.5.4
How to Configure a Hierarchy View Node to Invoke a Menu
29.6
Using Panel Cards
29.6.1
How to Create a Panel Card
29.6.2
What Happens at Runtime When a Panel Card Component Is Rendered
29.7
Customizing the Appearance of a Hierarchy Viewer
29.7.1
How to Adjust the Size of a Hierarchy Viewer
29.7.2
How to Include Images in a Hierarchy Viewer
29.7.3
How to Configure the Display of the Control Panel
29.7.4
How to Configure the Display of Links and Labels
29.8
Adding Search to a Hierarchy Viewer
29.8.1
How to Configure Searching in a Hierarchy Viewer
29.8.2
What You May Need to Know About Configuring Search in a Hierarchy Viewer
Part V Advanced Topics
30
Creating Custom ADF Faces Components
30.1
Introduction to Custom ADF Faces Components
30.1.1
Developing a Custom Component with JDeveloper
30.1.2
An Example Custom Component
30.2
Setting Up the Workspace and Starter Files
30.2.1
How to Set Up the JDeveloper Custom Component Environment
30.2.2
How to Add a Faces Configuration File
30.2.3
How to Add a MyFaces Trinidad Skins Configuration File
30.2.4
How to Add a Cascading Style Sheet
30.2.5
How to Add a Resource Kit Loader
30.2.6
How to Add a JavaServer Pages Tag Library Descriptor File
30.2.7
How to Add a JavaScript Library Feature Configuration File
30.2.8
How to Add a Facelets Tag Library Configuration File
30.3
Client-Side Development
30.3.1
How to Create a JavaScript File for a Component
30.3.2
How to Create a Javascript File for an Event
30.3.3
How to Create a JavaScript File for a Peer
30.3.4
How to Add a Custom Component to a JavaScript Library Feature Configuration File
30.4
Server-Side Development
30.4.1
How to Create a Class for an Event Listener
30.4.2
How to Create a Class for an Event
30.4.3
Creating the Component
30.4.4
How to Create a Class for a Component
30.4.5
How to Add the Component to the faces-config.xml File
30.4.6
How to Create a Class for a Resource Bundle
30.4.7
How to Create a Class for a Renderer
30.4.8
How to Add the Renderer to the faces-config.xml File
30.4.9
How to Create JSP Tag Properties
30.4.10
How to Configure the Tag Library Descriptor
30.4.11
How to Create a Resource Loader
30.4.12
How to Create a MyFaces Trinidad Cascading Style Sheet
30.5
Deploying a Component Library
30.6
Adding the Custom Component to an Application
30.6.1
How to Configure the Web Deployment Descriptor
30.6.2
How to Enable JavaScript Logging and Assertions
30.6.3
How to Add a Custom Component to JSF Pages
30.6.4
What You May Need to Know About Using the tagPane Custom Component
31
Allowing User Customization on JSF Pages
31.1
Introduction to User Customization
31.2
Implementing Session Change Persistence
31.2.1
How to Implement Session Change Persistence
31.2.2
What Happens When You Configure Your Application to Use Change Persistence
31.2.3
What Happens at Runtime
31.2.4
What You May Need to Know About Using Change Persistence on Templates and Regions
32
Adding Drag and Drop Functionality
32.1
Introduction to Drag and Drop Functionality
32.2
Adding Drag and Drop Functionality for Attributes
32.3
Adding Drag and Drop Functionality for Objects
32.3.1
How to Add Drag and Drop Functionality for a Single Object
32.3.2
What Happens at Runtime
32.3.3
What You May Need to Know About Using the ClientDropListener
32.4
Adding Drag and Drop Functionality for Collections
32.4.1
How to Add Drag and Drop Functionality for Collections
32.4.2
What You May Need to Know About the dragDropEndListener
32.5
Adding Drag and Drop Functionality for Components
32.5.1
How to Add Drag and Drop Functionality for Components
32.6
Adding Drag and Drop Functionality Into and Out of a panelDashboard Component
32.6.1
How to Add Drag and Drop Functionality Into a panelDashboard Component
32.6.2
How to Add Drag and Drop Functionality Out of a panelDashboard Component
32.7
Adding Drag and Drop Functionality to a Calendar
32.7.1
How to Add Drag and Drop Functionality to a Calendar
32.7.2
What You May Need to Know About Dragging and Dropping in a Calendar
32.8
Adding Drag and Drop Functionality for DVT Graphs
32.8.1
How to Add Drag and Drop Functionality for a DVT Graph
32.9
Adding Drag and Drop Functionality for DVT Gantt Charts
32.9.1
How to Add Drag and Drop Functionality for a DVT Component
33
Using Different Output Modes
33.1
Introduction to Using Different Output Modes
33.2
Displaying a Page for Print
33.2.1
How to Use the showPrintablePageBehavior Tag
33.3
Creating Emailable Pages
33.3.1
How to Create an Emailable Page
33.3.2
How to Test the Rendering of a Page in an Email Client
33.3.3
What Happens at Runtime: How ADF Faces Converts JSF Pages to Emailable Pages
Part VI Appendixes
A
ADF Faces Configuration
A.1
Introduction to Configuring ADF Faces
A.2
Configuration in web.xml
A.2.1
How to Configure for JSF and ADF Faces in web.xml
A.2.2
What You May Need to Know About Required Elements in web.xml
A.2.3
What You May Need to Know About ADF Faces Context Parameters in web.xml
A.2.3.1
State Saving
A.2.3.2
Debugging
A.2.3.3
File Uploading
A.2.3.4
Resource Debug Mode
A.2.3.5
User Customization
A.2.3.6
Assertions
A.2.3.7
Profiling
A.2.3.8
Facelets Support
A.2.3.9
Dialog Prefix
A.2.3.10
Compression for CSS Class Names
A.2.3.11
Test Automation
A.2.3.12
UIViewRoot Caching
A.2.3.13
Themes and Tonal Styles
A.2.3.14
Partial Page Navigation
A.2.3.15
JavaScript Partitioning
A.2.3.16
Framebusting
A.2.3.17
Suppressing Auto-Generated Component IDs
A.2.3.18
ADF Faces Caching Filter
A.2.3.19
Configuring Native Browser Context Menus for Command Links
A.2.3.20
Session Timeout Warning
A.2.3.21
JSP Tag Execution in HTTP Streaming
A.2.4
What You May Need to Know About Other Context Parameters in web.xml
A.3
Configuration in faces-config.xml
A.3.1
How to Configure for ADF Faces in faces-config.xml
A.4
Configuration in adf-config.xml
A.4.1
How to Configure ADF Faces in adf-config.xml
A.4.2
Defining Caching Rules for ADF Faces Caching Filter
A.4.3
Configuring Flash as Component Output Format
A.5
Configuration in adf-settings.xml
A.5.1
How to Configure for ADF Faces in adf-settings.xml
A.5.2
What You May Need to Know About Elements in adf-settings.xml
A.5.2.1
Help System
A.5.2.2
Caching Rules
A.6
Configuration in trinidad-config.xml
A.6.1
How to Configure ADF Faces Features in trinidad-config.xml
A.6.2
What You May Need to Know About Elements in trinidad-config.xml
A.6.2.1
Animation Enabled
A.6.2.2
Skin Family
A.6.2.3
Time Zone and Year
A.6.2.4
Enhanced Debugging Output
A.6.2.5
Page Accessibility Level
A.6.2.6
Language Reading Direction
A.6.2.7
Currency Code and Separators for Number Groups and Decimal Points
A.6.2.8
Formatting Dates and Numbers Locale
A.6.2.9
Output Mode
A.6.2.10
Number of Active PageFlowScope Instances
A.6.2.11
Custom File Uploaded Processor
A.6.2.12
Client-Side Validation and Conversion
A.7
Configuration in trinidad-skins.xml
A.8
Using the RequestContext EL Implicit Object
A.9
Using JavaScript Library Partitioning
A.9.1
How to Create a JavaScript Feature
A.9.2
How to Create JavaScript Partitions
A.9.3
What You May Need to Know About the adf-js-partitions.xml File
A.9.4
What Happens at Runtime: JavaScript Partitioning
B
Message Keys for Converter and Validator Messages
B.1
Introduction to ADF Faces Default Messages
B.2
Message Keys and Setter Methods
B.3
Converter and Validator Message Keys and Setter Methods
B.3.1
af:convertColor
B.3.2
af:convertDateTime
B.3.3
af:convertNumber
B.3.4
af:validateByteLength
B.3.5
af:validateDateRestriction
B.3.6
af:validateDateTimeRange
B.3.7
af:validateDoubleRange
B.3.8
af:validateLength
B.3.9
af:validateRegExp
C
Keyboard Shortcuts
C.1
About Keyboard Shortcuts
C.2
Tab Traversal
C.2.1
Tab Traversal Sequence on a Page
C.2.2
Tab Traversal Sequence in a Table
C.3
Accelerator Keys
C.4
Accelerator Keys for ADF Data Visualization Components
C.5
Access Keys
C.6
Default Cursor or Focus Placement
C.7
The Enter Key
D
Quick Start Layout Themes
Index
Scripting on this page enhances content navigation, but does not change the content in any way.