Go to main content
1/55
Contents
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
What's New in This Guide for Release 11.1.1.9.1
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
How to Locate a Client Component Using its Absolute ID
3.5.2
How to Locate a Client Component Relative to Another Component
3.5.3
How to Locate a Client Component When You Don't Know the Absolute ID
3.6
Determining the User's Current Location
3.6.1
How to Determine the User's Current Location
3.7
Accessing Component Properties on the Client
3.7.1
How to Set Property Values on the Client
3.7.2
How to Unsecure the disabled Property
3.7.3
What Happens at Runtime: How Client Properties Are Set on the Client
3.8
Using Bonus Attributes for Client-Side Components
3.8.1
How to Create Bonus Attributes
3.8.2
What You May Need to Know About Marshalling Bonus Attributes
3.9
Understanding Rendering and Visibility
3.9.1
How to Set Visibility Using JavaScript
3.9.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.2.1
How to Use the Immediate Attribute
4.2.2
What You May Need to Know About Using the immediate Attribute for Action and Input Components in the Same Form
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: How Converters Work
6.3.4
What You May Need to Know About Rounding Behavior of Number Converters
6.3.5
What You May Need to Know About Date Converters
6.3.6
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: How Validators Work
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 Content in a Grid
8.5.1
How to Use the panelGridLayout, gridRow, and gridCell Components to Create a Grid-Based Layout
8.5.2
What You May Need to Know About Geometry Management and the panelGridLayout Component
8.6
Arranging Page Contents in Predefined Fixed Areas
8.6.1
How to Use the panelBorderLayout Component
8.7
Arranging Content in Forms
8.7.1
How to Use the panelFormLayout Component
8.7.2
What You May Need to Know About Using the group Component with the panelFormLayout Component
8.8
Arranging Contents in a Dashboard
8.8.1
How to Use the panelDashboard Component
8.8.2
What You May Need to Know About Geometry Management and the panelDashboard Component
8.9
Displaying Contents in a Dynamic Grid
8.9.1
How to Use a masonryLayout Component
8.10
Displaying and Hiding Contents Dynamically
8.10.1
How to Use the showDetail Component
8.10.2
How to Use the showDetailHeader Component
8.10.3
How to Use the panelBox Component
8.10.4
What You May Need to Know About Disclosure Events
8.11
Displaying or Hiding Contents in Panels
8.11.1
How to Use the panelAccordion Component
8.11.2
How to Use the panelTabbed Component
8.11.3
How to Use the panelDrawer Component
8.11.4
How to Use the panelSpringboard Component
8.11.5
What You May Need to Know About Switching Between Grid and Strip Mode
8.11.6
How to Use the showDetailItem Component to Display Content in Panels
8.11.7
What You May Need to Know About Geometry Management and the showDetailItem Component
8.11.8
What You May Need to Know About showDetailItem Disclosure Events
8.11.9
What You May Need to Know About Skinning and the panelTabbed Component
8.12
Adding a Transition Between Components
8.12.1
How to Use the Deck Component
8.12.2
What You May Need to Know About Geometry Management and the deck Component
8.13
Displaying Items in a Static Box
8.13.1
How to Use the panelHeader Component
8.13.2
How to Use the decorativeBox Component
8.13.3
What You May Need to Know About Geometry Management and the decorativeBox Component
8.14
Displaying a Bulleted List in One or More Columns
8.14.1
How to Use the panelList Component
8.14.2
What You May Need to Know About Creating a List Hierarchy
8.15
Displaying Components in a Scrollable Bar
8.15.1
How to Use the conveyorBelt
8.16
Grouping Related Items
8.16.1
How to Use the panelGroupLayout Component
8.16.2
What You May Need to Know About Geometry Management and the panelGroupLayout Component
8.17
Separating Content Using Blank Space or Lines
8.17.1
How to Use the spacer Component
8.17.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.6.2
What You May Need to Know About the contentDelivery Attribute on the SelectManyChoice Component
9.6.3
What You May Need to Know About Passing an Empty Value From the SelectOneChoice Component
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.8.4
About richTextEditor for UIWebView User-Agent
9.9
Using File Upload
9.9.1
How to Use the inputFile Component
9.9.2
How to Configure the inputFile Component to Upload Multiple Files
9.9.3
What You May Need to Know About Temporary File Storage
9.9.4
What You May Need to Know About Uploading Multiple Files
9.10
Using Code Editor
9.10.1
How to Add a codeEditor Component
10
Using Tables, Trees, and Other Collection-Based Components
10.1
Introduction to Using Collection-Based Components
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 Collection Components
10.1.6
Geometry Management for 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
Displaying Table Menus, Toolbars, and Status Bars
10.7.1
How to Add a panelCollection with a Table, Tree, or Tree Table
10.8
Displaying a Collection in a List
10.8.1
How to Display a Collection in a List
10.9
Displaying Images in a Carousel
10.9.1
How to Create a Carousel
10.9.2
What You May Need to Know About the Carousel Component and Different Browsers
10.10
Passing a Row as a Value
10.11
Exporting Data from Table, Tree, or Tree Table
10.11.1
How to Export Table, Tree, or Tree Table Data to an External Format
10.11.2
What Happens at Runtime: How Row Selection Affects the Exported Data
10.12
Accessing Selected Values on the Client from Collection-Based Components
10.12.1
How to Access Values from a Selection in Stamped Components.
10.12.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.2.1
How to Create the ListOfValues Data Model
11.3
Using the inputListOfValues Component
11.3.1
How to Add the InputListOfValues Component
11.3.2
What You May Need to Know About Skinning the Search and Select Dialogs in the LOV Components
11.4
Using the InputComboboxListOfValues Component
11.4.1
How to Add 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.2.6
What You May Need to Know About Animation and Popups
13.3
Controlling Display Behavior of Popups
13.3.1
How to Dismiss a Popup Component Automatically
13.3.2
What Happens When a Popup Component is Automatically Dismissed
13.4
Programmatically Invoking a Popup
13.4.1
How to Programatically Invoke a Popup
13.4.2
What Happens When You Programmatically Invoke a Popup
13.5
Invoking Popup Elements
13.5.1
How to Use the af:showPopupBehavior Tag
13.6
Displaying Contextual Information
13.6.1
How to Create Contextual Information
13.7
Controlling the Automatic Cancellation of Inline Popups
13.7.1
How to Disable the Automatic Cancellation of an Inline Popup
13.7.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 Application Status Using Icons
16.7
Playing Video and Audio Clips
16.7.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
17.5.8
What You May Need to Know About Skinning and Definition Help
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.7.4
What You May Need to Know About Skinning and 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.2.5
What You May Need to Know About Using a Skin in an Oracle BI User Interface
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
Versioning Custom Skins
20.6.1
How to Version a Custom Skin
20.6.2
What Happens When You Version Custom Skins
20.7
Deploying a Custom Skin File in a JAR File
20.8
Using Scalar Vector Graphics Image Files
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.3.6
What You May Need to Know About Overriding a Resource Bundle in a Customizable Application
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 the ADF Data Visualization Components
23.2
Defining the ADF Data Visualization Components
23.2.1
Chart Component Use Cases and Examples
23.2.2
Gauge Component Use Cases and Examples
23.2.3
Pivot Table Use Cases and Examples
23.2.4
Geographic Map Use Cases and Examples
23.2.5
Thematic Map Use Cases and Examples
23.2.6
Gantt Chart Use Cases and Examples
23.2.7
Timeline Use Cases and Examples
23.2.8
Hierarchy Viewer Use Cases and Examples
23.2.9
Treemap and Sunburst Use Cases and Examples
23.3
Common Functionality in Data Visualization Components
23.3.1
Content Delivery
23.3.2
Automatic Partial Page Rendering (PPR)
23.3.3
Active Data Support
23.3.4
Text Resources from Application Resource Bundles
23.4
Providing Data for ADF Data Visualization Components
24
Using Chart Components
24.1
Introduction to the Chart Component
24.1.1
Chart Component Use Cases and Examples
24.1.2
End User and Presentation Features of Charts
24.1.2.1
Chart Data Labels
24.1.2.2
Chart Element Labels
24.1.2.3
Chart Sizing
24.1.2.4
Chart Legends
24.1.2.5
Chart Styling
24.1.2.6
Chart Series Hiding
24.1.2.7
Chart Reference Objects
24.1.2.8
Chart Series Effects
24.1.2.9
Chart Series Customization
24.1.2.10
Chart Data Cursor
24.1.2.11
Chart Time Axis
24.1.2.12
Chart Popups and Context Menus
24.1.2.13
Chart Selection Support
24.1.2.14
Chart Zoom and Scroll
24.1.2.15
Legend and Marker Dimming
24.1.2.16
Pie Chart Other Slice Support
24.1.2.17
Exploding Slices in Pie Charts
24.1.2.18
Chart Animation
24.1.2.19
Chart Image Formats
24.2
Using the Chart Component
24.2.1
Chart Component Data Requirements
24.2.1.1
Area, Bar, and Line Chart Data Requirements
24.2.1.2
Bubble Chart Data Requirements
24.2.1.3
Combination Chart Data Requirements
24.2.1.4
Funnel Chart Data Requirements
24.2.1.5
Pie Chart Data Requirements
24.2.1.6
Scatter Chart Data Requirements
24.2.1.7
Spark Chart Data Requirements
24.2.2
Configuring Charts
24.2.3
How to Add a Chart to a Page
24.2.4
What Happens When You Add a Chart to a Page
24.3
Adding Data to Charts
24.3.1
How to Add Data to Area, Bar, Combination, and Line Charts
24.3.2
How to Add Data to Pie Charts
24.3.3
How to Add Data to Bubble or Scatter Charts
24.3.4
How to Add Data to Funnel Charts
24.3.5
How to Add Data to Spark Charts
24.4
Customizing Chart Display Elements
24.4.1
How to Configure Chart Labels
24.4.1.1
How to Configure Chart Data Labels
24.4.1.2
How to Configure Chart Element Labels
24.4.2
How to Configure Chart Legends
24.4.3
How to Format Chart Numerical Values
24.4.4
Customizing a Chart Axis
24.4.4.1
How to Configure a Time Axis
24.4.4.2
How to Customize the Chart Axis
24.4.4.3
Configuring Dual Y-Axis
24.4.5
Adding Reference Objects to a Chart
24.4.5.1
How to Add a Reference Object to a Chart
24.4.5.2
What You May Need to Know About Adding Reference Objects to Charts
24.4.6
How to Configure a Stacked Chart
24.4.7
Customizing Chart Series
24.4.7.1
How to Customize a Chart Series
24.4.7.2
How to Configure Series Fill Effects on All Series in a Chart
24.4.8
How to Configure the Pie Chart Other Slice
24.4.9
How to Explode Pie Chart Slices
24.4.10
How to Configure Animation
24.4.11
What You May Need to Know About Skinning and Customizing Chart Display Elements
24.5
Adding Interactive Features to Charts
24.5.1
How to Add a Data Cursor
24.5.2
How to Configure Hide and Show Behavior
24.5.3
How to Configure Legend and Marker Dimming
24.5.4
How to Configure Selection Support
24.5.5
How to Configure Popups and Context Menus
24.5.6
How to Configure Chart Zoom and Scroll
25
Using Gauge Components
25.1
Introduction to the Gauge Component
25.1.1
Gauge Component Use Cases and Examples
25.1.2
End User and Presentation Features of Gauge Components
25.1.2.1
Gauge Shape Variations
25.1.2.2
Gauge Thresholds
25.1.2.3
Gauge Visual Effects
25.1.2.4
Gauge Animation
25.1.2.5
Gauge Tooltips
25.1.2.6
Gauge Popups and Context Menus
25.1.2.7
Gauge Value Change Support
25.1.2.8
Gauge Reference Lines (Status Meter Gauges)
25.2
Using the Gauge Component
25.2.1
Gauge Component Data Requirements
25.2.2
How to Add a Gauge to a Page
25.2.3
What Happens When You Add a Gauge to a Page
25.2.4
How to Add Data to Gauges
25.2.5
Configuring Gauges
25.2.5.1
Configuring Dial Gauges
25.2.5.2
Configuring LED Gauges
25.2.5.3
Configuring Rating Gauges
25.2.5.4
Configuring Status Meter Gauges
25.2.6
How to Add Gauges to Tables
25.3
Customizing Gauge Display Elements
25.3.1
How to Configure Gauge Thresholds
25.3.2
Formatting Gauge Style Elements
25.3.2.1
How to Change Gauge Size and Apply CSS Styles
25.3.2.2
How to Format Gauge Text
25.3.2.3
What You May Need to Know About Skinning and Formatting Gauge Style Elements
25.3.3
How to Format Numeric Data Values in Gauges
25.3.4
How to Disable Gauge Visual Effects
25.3.5
How to Configure Gauge Animation
25.3.6
How to Configure Status Meter Gauge Reference Lines
25.4
Adding Interactivity to Gauges
25.4.1
How to Configure Gauge Tooltips
25.4.2
How to Add a Popup or Context Menu to a Gauge
25.4.3
How to Configure Value Change Support for a Gauge
26
Using NBox Components
26.1
About ADF Data Visualization NBox Components
26.1.1
NBox Use Cases and Examples
26.1.2
End User and Presentation Features of NBoxes
26.2
Using the NBox Component
26.2.1
NBox Data Requirements
26.2.2
Configuring NBoxes
26.2.3
How to Add an NBox to a Page
26.2.4
What Happens When You Add an NBox to a Page
27
Using ADF Pivot Table Components
27.1
Introduction to Pivot Tables
27.1.1
Pivot Table Elements and Terminology
27.2
Understanding Data Requirements for a Pivot Table
27.2.1
Active Data Support (ADS)
27.3
Pivoting Layers
27.4
Displaying Large Data Sets in Pivot Tables
27.5
Using Selection in Pivot Tables
27.6
Sorting in a Pivot Table
27.7
Sizing in a Pivot Table
27.7.1
How to Set the Overall Size of a Pivot Table
27.7.2
How to Resize Rows, Columns, and Layers
27.7.3
What You May Need to Know About Resizing Rows, Columns, and Layers
27.8
Updating Pivot Tables with Partial Page Rendering
27.9
Exporting from a Pivot Table
27.10
Displaying Pivot Tables in Printable Pages
27.11
Customizing the Cell Content of a Pivot Table
27.11.1
How to Create a CellFormat Object for a Data Cell
27.11.2
How to Construct a CellFormat Object
27.11.3
How to Change Format and Text Styles
27.11.4
How to Create Stoplight and Conditional Formatting in a Pivot Table
27.12
Pivot Table Data Cell Stamping and Editing
27.12.1
How to Specify Custom Images for Data Cells
27.12.2
How to Specify Images, Icons, Links, and Read-Only Content in Header Cells
27.12.3
What You May Need to Know About Skinning and Customizing the Appearance of Pivot Tables
27.13
Using a Pivot Filter Bar with a Pivot Table
27.13.1
How to Associate a Pivot Filter Bar with a Pivot Table
28
Using Gantt Chart Components
28.1
Introduction to Gantt Charts
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.5.1
How to Add a Gantt Chart to a Page
28.5.2
What Happens When You Add a Gantt Chart to a Page
28.5.3
What You May Need to Know About Performing an Action on Selected Tasks or Resources
28.5.4
What You May Need to Know About Skinning and Customizing the Appearance of Gantt Charts
28.6
Customizing Gantt Chart Tasks and Resources
28.6.1
Creating a New Task Type
28.6.2
Configuring Stacked Bars in Resource Utilization Gantt Charts
28.6.3
Configuring a Resource Capacity Line
28.6.4
Configuring Custom Data Filters
28.6.5
Adding a Double-Click Event to a Task Bar
28.7
Customizing Gantt Chart Legends, Toolbars, and Context Menus
28.7.1
How to Customize a Gantt Chart Legend
28.7.2
Customizing Gantt Chart Toolbars
28.7.3
Customizing Gantt Chart Context Menus
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
Adding Interactive Features to Gantt Charts
28.9.1
Configuring Page Controls in Gantt Charts
28.9.2
Configuring Synchronized Scrolling Between Gantt Charts
28.9.3
Exporting Gantt Chart Data to External Formats
28.10
Printing a Gantt Chart
28.10.1
Print Options
28.10.2
Action Listener to Handle the Print Event
28.11
Using Gantt Charts as a Drop Target or Drag Source
29
Using Timeline Components
29.1
Introduction to the Timeline Component
29.1.1
Timeline Use Cases and Examples
29.1.2
End User and Presentation Features
29.1.2.1
Layout Options
29.1.2.2
Timeline Item Selection
29.1.2.3
Timeline Grouping and Sorting
29.1.2.4
Drag and Drop Support
29.1.2.5
Content Delivery
29.1.2.6
Timeline Image Formats
29.1.2.7
Timeline Display in Printable or Emailable Modes
29.1.2.8
Active Data Support (ADS)
29.2
Using Timeline Components
29.2.1
Timeline Component Data Requirements
29.2.2
Configuring Timelines
29.2.3
How to Add a Timeline to a Page
29.2.4
What Happens When You Add a Timeline to a Page
29.3
Adding Data to Timeline Components
29.3.1
How to Add Data to a Timeline
29.3.2
What You May Need to Know About Configuring Data for a Dual Timeline
29.3.3
What You May Need to Know About Adding Data to Timelines
29.4
Customizing Timeline Display Elements
29.4.1
Configuring Timeline Items
29.4.2
Configuring a Timeline Item Duration
29.4.3
How to Add a Custom Time Scale to a Timeline
29.4.4
What You May Need to Know About Skinning and Customizing the Appearance of Timelines
29.5
Adding Interactive Features to Timelines
29.5.1
How to Add Popups to Timeline Items
29.5.2
How to Configure Timeline Context Menus
29.5.3
How to Add Drag and Drop to a Timeline
30
Using Map Components
30.1
Introduction to Map Components
30.1.1
Map Component Use Cases and Examples
30.1.2
End User and Presentation Features of Maps
30.1.2.1
Geographic Map End User and Presentation Features
30.1.2.2
Thematic Map End User and Presentation Features
30.2
Using Geographic Map Components
30.2.1
Configuring Geographic Map Components
30.2.2
How to Add a Geographic Map to a Page
30.2.3
What Happens When You Add a Geographic Map to a Page
30.2.4
What You May Need to Know About Active Data Support for Map Point Themes
30.3
Customizing Geographic Map Display Attributes
30.3.1
How to Adjust the Map Size
30.3.2
How to Specify Strategy for Map Zoom Control
30.3.3
How to Customize and Use Map Selections
30.3.4
How to Customize the Map Legend
30.3.5
What You May Need to Know About Skinning and Customizing the Appearance of Geographic Maps
30.4
Customizing Geographic Map Themes
30.4.1
How to Customize Zoom Levels for a Theme
30.4.2
How to Customize the Labels of a Map Theme
30.4.3
How to Customize Color Map Themes
30.4.4
How to Customize Point Images in a Point Theme
30.4.5
What Happens When You Customize the Point Images in a Map
30.4.6
How to Customize the Bars in a Bar Graph Theme
30.4.7
What Happens When You Customize the Bars in a Map Bar Graph Theme
30.4.8
How to Customize the Slices in a Pie Graph Theme
30.4.9
What Happens When You Customize the Slices in a Map Pie Graph Theme
30.5
Adding a Toolbar to a Geographic Map
30.5.1
How to Add a Toolbar to a Map
30.5.2
What Happens When You Add a Toolbar to a Map
30.6
Using Thematic Map Components
30.6.1
Configuring Thematic Maps
30.6.2
Using the Layer Browser
30.6.3
How to Add a Thematic Map to a Page
30.6.4
What Happens When You Add a Thematic Map to a Page
30.6.5
What You May Need to Know About Thematic Map Image Formats
30.7
Defining Thematic Map Base Maps
30.7.1
Using Prebuilt Base Maps
30.7.2
Defining a Custom Base Map Using Map Provider APIs
30.7.3
Defining a Custom Base Map Using Image Files
30.8
Customizing Thematic Map Display Attributes
30.8.1
How to Customize Thematic Map Labels
30.8.2
How to Configure Tooltips to Display Data
30.8.3
How to Format Numeric Data Values in Area and Marker Labels
30.8.4
How to Configure Thematic Map Data Zooming
30.8.5
How to Configure Invisible Area Layers
30.8.6
What You May Need to Know About Skinning and Customizing the Appearance of a Thematic Map
30.9
Adding Interactive Features to Thematic Maps
30.9.1
How to Configure Selection and Action Events in Thematic Maps
30.9.2
How to Add Popups to Thematic Map Areas and Markers
30.9.3
How to Configure Animation Effects
30.9.4
How to Add Drag and Drop to Thematic Map Components
31
Using Hierarchy Viewer Components
31.1
Introduction to Hierarchy Viewers
31.1.1
Understanding the Hierarchy Viewer Component
31.1.2
Hierarchy Viewer Elements and Terminology
31.1.3
Available Hierarchy Viewer Layout Options
31.1.4
What You May Need to Know About Hierarchy Viewer Rendering and Image Formats
31.2
Data Requirements for Hierarchy Viewers
31.3
Creating a Hierarchy Viewer
31.3.1
How to Add a Hierarchy Viewer to a Page
31.4
Managing Nodes in a Hierarchy Viewer
31.4.1
How to Specify Node Content
31.4.2
How to Configure the Controls on a Node
31.4.3
How to Specify a Node Definition for an Accessor
31.4.4
How to Associate a Node Definition with a Particular Set of Data Rows
31.4.5
How to Specify Ancestor Levels for an Anchor Node
31.5
Navigating in a Hierarchy Viewer
31.5.1
How to Configure Upward Navigation in a Hierarchy Viewer
31.5.2
How to Configure Same-Level Navigation in a Hierarchy Viewer
31.5.3
What Happens When You Configure Same-Level Navigation in a Hierarchy Viewer
31.6
Adding Interactivity to a Hierarchy Viewer Component
31.6.1
How to Configure Panning
31.6.2
How to Configure Node Selection Action
31.6.3
Configuring a Hierarchy Viewer to Invoke a Popup Window
31.6.4
Configuring Hierarchy Viewer Drag and Drop
31.6.4.1
How to Configure Hierarchy Viewer Drag and Drop
31.6.4.2
What You May Need to Know About Configuring Hierarchy Viewer Drag and Drop
31.7
Using Panel Cards
31.7.1
How to Create a Panel Card
31.7.2
What Happens at Runtime When a Panel Card Component Is Rendered
31.8
Customizing the Appearance of a Hierarchy Viewer
31.8.1
How to Adjust the Size of a Hierarchy Viewer
31.8.2
How to Include Images in a Hierarchy Viewer
31.8.3
How to Configure the Display of the Control Panel
31.8.4
How to Configure the Display of Links and Labels
31.8.5
How to Disable the Hover Detail Window
31.8.6
What You May Need to Know About Skinning and Customizing the Appearance of a Hierarchy Viewer
31.9
Adding Search to a Hierarchy Viewer
31.9.1
How to Configure Searching in a Hierarchy Viewer
31.9.2
What You May Need to Know About Configuring Search in a Hierarchy Viewer
32
Using Treemap and Sunburst Components
32.1
Introduction to Treemaps and Sunbursts
32.1.1
Treemap and Sunburst Use Cases and Examples
32.1.2
End User and Presentation Features of Treemaps and Sunbursts
32.1.2.1
Treemap and Sunburst Layouts
32.1.2.2
Attribute Groups
32.1.2.3
Legend Support
32.1.2.4
Pattern Support
32.1.2.5
Node Selection Support
32.1.2.6
Tooltip Support
32.1.2.7
Popup Support
32.1.2.8
Context Menus
32.1.2.9
Drilling Support
32.1.2.10
Other Node Support
32.1.2.11
Drag and Drop Support
32.1.2.12
Sorting Support
32.1.2.13
Treemap and Sunburst Image Formats
32.1.2.14
Advanced Node Content
32.1.2.15
Printing and Email Support
32.1.2.16
Active Data Support (ADS)
32.1.2.17
Isolation Support (Treemap Only)
32.1.2.18
Treemap Group Node Header Customization (Treemap Only)
32.2
Using the Treemap and Sunburst Components
32.2.1
Treemap and Sunburst Data Requirements
32.2.2
Using the Treemap Component
32.2.2.1
Configuring Treemaps
32.2.2.2
How to Add a Treemap to a Page
32.2.2.3
What Happens When You Add a Treemap to a Page
32.2.3
Using the Sunburst Component
32.2.3.1
Configuring Sunbursts
32.2.3.2
How to Add a Sunburst to a Page
32.2.3.3
What Happens When You Add a Sunburst to a Page
32.3
Adding Data to Treemap and Sunburst Components
32.3.1
How to Add Data to Treemap or Sunburst Components
32.3.2
What You May Need to Know about Adding Data to Treemaps and Sunbursts
32.4
Customizing Treemap and Sunburst Display Elements
32.4.1
Configuring Treemap and Sunburst Display Size and Style
32.4.1.1
What You May Need to Know About Skinning and Configuring Treemap and Sunburst Display Size and Style
32.4.2
Configuring Pattern Display
32.4.3
Configuring Treemap and Sunburst Attribute Groups
32.4.3.1
How to Configure Treemap and Sunburst Discrete Attribute Groups
32.4.3.2
How to Configure Treemap or Sunburst Continuous Attribute Groups
32.4.3.3
What You May Need to Know About Configuring Attribute Groups
32.4.4
How to Configure Treemap and Sunburst Legends
32.4.5
Configuring the Treemap and Sunburst Other Node
32.4.5.1
How to Configure the Treemap and Sunburst Other Node
32.4.5.2
What You May Need to Know About Configuring the Treemap and Sunburst Other Node
32.4.6
Configuring Treemap and Sunburst Sorting
32.4.7
Configuring Treemap and Sunburst Advanced Node Content
32.4.7.1
How to Add Advanced Node Content to a Treemap
32.4.7.2
How to Add Advanced Root Node Content to a Sunburst:
32.4.7.3
What You May Need to Know About Configuring Advanced Node Content on Treemaps
32.4.8
How to Configure Animation in Treemaps and Sunbursts
32.4.9
Configuring Labels in Treemaps and Sunbursts
32.4.9.1
How to Configure Treemap Leaf Node Labels
32.4.9.2
How to Configure Sunburst Node Labels
32.4.10
Configuring Sunburst Node Radius
32.4.10.1
How to Configure a Sunburst Node Radius
32.4.10.2
What You May Need to Know about Configuring the Sunburst Node Radius
32.4.11
Configuring Treemap Node Headers and Group Gap Display
32.4.11.1
How to Configure Treemap Node Headers
32.4.11.2
What You May Need to Know About Treemap Node Headers
32.4.11.3
How to Customize Treemap Group Gaps
32.5
Adding Interactive Features to Treemaps and Sunbursts
32.5.1
Configuring Treemap and Sunburst Tooltips
32.5.2
Configuring Treemap and Sunburst Popups
32.5.2.1
How to Add Popups to Treemap and Sunburst Components
32.5.2.2
What You May Need to Know About Adding Popups to Treemaps and Sunburst Components
32.5.3
Configuring Treemap and Sunburst Selection Support
32.5.3.1
How to Add Selection Support to Treemap and Sunburst Components
32.5.3.2
What You May Need to Know About Adding Selection Support to Treemaps and Sunbursts
32.5.4
Configuring Treemap and Sunburst Context Menus
32.5.4.1
How to Configure Treemap and Sunburst Context Menus
32.5.4.2
What You May Need to Know About Configuring Treemap and Sunburst Context Menus
32.5.5
Configuring Treemap and Sunburst Drilling Support
32.5.5.1
How to Configure Treemap and Sunburst Drilling Support
32.5.5.2
What You May Need to Know About Treemaps and Drilling Support
32.5.6
How to Add Drag and Drop to Treemaps and Sunbursts
32.5.7
Configuring Isolation Support (Treemap Only)
32.5.7.1
How to Disable Isolation Support
32.5.7.2
What You May Need to Know About Treemaps and Isolation Support
33
Using Diagram Components
33.1
About the Diagram Component
33.1.1
Diagram Use Cases and Examples
33.1.2
End User and Presentation Features of Diagrams
33.2
Using the Diagram Component
33.2.1
Diagram Data Requirements
33.2.2
Configuring Diagrams
33.2.3
What You May Need to Know About Using the Default Diagram Layout
33.2.4
How to Add a Diagram to a Page
33.2.5
What Happens When You Add a Diagram to a Page
33.3
Using the Diagram Layout Framework
33.3.1
Layout Requirements and Processing
33.3.2
Configuring Diagram Layouts
33.3.3
How to Register a Custom Layout
Part V Advanced Topics
34
Allowing User Customization on JSF Pages
34.1
Introduction to User Customization
34.2
Implementing Session Change Persistence
34.2.1
How to Implement Session Change Persistence
34.2.2
What Happens When You Configure Your Application to Use Change Persistence
34.2.3
What Happens at Runtime
34.2.4
What You May Need to Know About Using Change Persistence on Templates and Regions
35
Adding Drag and Drop Functionality
35.1
Introduction to Drag and Drop Functionality
35.2
Adding Drag and Drop Functionality for Attributes
35.3
Adding Drag and Drop Functionality for Objects
35.3.1
How to Add Drag and Drop Functionality for a Single Object
35.3.2
What Happens at Runtime
35.3.3
What You May Need to Know About Using the ClientDropListener
35.4
Adding Drag and Drop Functionality for Collections
35.4.1
How to Add Drag and Drop Functionality for Collections
35.4.2
What You May Need to Know About the dragDropEndListener
35.5
Adding Drag and Drop Functionality for Components
35.5.1
How to Add Drag and Drop Functionality for Components
35.6
Adding Drag and Drop Functionality Into and Out of a panelDashboard Component
35.6.1
How to Add Drag and Drop Functionality Into a panelDashboard Component
35.6.2
How to Add Drag and Drop Functionality Out of a panelDashboard Component
35.7
Adding Drag and Drop Functionality to a Calendar
35.7.1
How to Add Drag and Drop Functionality to a Calendar
35.7.2
What You May Need to Know About Dragging and Dropping in a Calendar
35.8
Adding Drop Functionality for DVT Pareto and Stock Graphs
35.8.1
How to Add Drop Functionality to Pareto and Stock Graphs
35.9
Adding Drag and Drop Functionality for DVT Gantt Charts
35.9.1
How to Add Drag and Drop Functionality for a DVT Gantt Component
35.10
Adding Drag and Drop Functionality for DVT Hierarchy Viewers, Sunbursts, and Treemaps
35.10.1
Drag and Drop Example for DVT Hierarchy Viewers
35.10.2
Drag and Drop Example for DVT Sunbursts
35.10.3
Drag and Drop Example for DVT Treemaps
35.10.4
How to Add Drag and Drop Functionality for a DVT Hierarchy Viewer, Sunburst, or Treemap Component
36
Using Different Output Modes
36.1
Introduction to Using Different Output Modes
36.2
Displaying a Page for Print
36.2.1
How to Use the showPrintablePageBehavior Tag
36.3
Creating Emailable Pages
36.3.1
How to Create an Emailable Page
36.3.2
How to Test the Rendering of a Page in an Email Client
36.3.3
What Happens at Runtime: How ADF Faces Converts JSF Pages to Emailable Pages
37
Using the Active Data Service with an Asynchronous Backend
37.1
Introduction to Using the Active Data Service
37.2
Process Overview for Using Active Data Service
37.3
Implement the ActiveModel Interface in a Managed Bean
37.3.1
What You May Need to Know About Read Consistency
37.4
Pass the Event Into the Active Data Service
37.5
Register the Data Update Event Listener
37.6
Configure the ADF Component to Display Active Data
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
Assertions
A.2.3.6
Enabling the Application for Real User Experience Insight
A.2.3.7
Facelets Support
A.2.3.8
Dialog Prefix
A.2.3.9
Compression for CSS Class Names
A.2.3.10
Test Automation
A.2.3.11
UIViewRoot Caching
A.2.3.12
Themes and Tonal Styles
A.2.3.13
Partial Page Navigation
A.2.3.14
JavaScript Partitioning
A.2.3.15
Framebusting
A.2.3.16
Version Number Information
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
Internet Explorer Compatibility View Mode
A.2.3.21
Session Timeout Warning
A.2.3.22
JSP Tag Execution in HTTP Streaming
A.2.3.23
Splash Screen
A.2.3.24
Graph and Gauge Image Format
A.2.3.25
Geometry Management for Layout and Table Components
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.4.4
Using Content Delivery Networks
A.4.4.1
What You May Need to Know About Skin Style Sheets and CDN
A.4.4.2
What You May Need to Know About JavaScript and CDN
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 JavaScript Partitions
A.9.2
What You May Need to Know About the adf-js-partitions.xml File
A.9.3
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
Introduction to 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
Shortcut Keys
C.3.1
Accelerator Keys
C.3.2
Access Keys
C.3.3
Shortcut Keys for Common Components
C.3.4
Shortcut Keys for Widgets
C.3.5
Shortcut Keys for Screen Reader Mode
C.3.6
Shortcut Keys for Rich Text Editor Component
C.3.7
Shortcut Keys for Table, Tree, and Tree Table Components
C.3.8
Shortcut Keys for Table, Tree, and Tree Table Components in Screen Reader Mode
C.3.9
Shortcut Keys for ADF Data Visualization Components
C.3.10
Shortcut Keys for Calendar Component
C.3.11
Shortcut Keys for Calendar Component in Screen Reader Mode
C.4
Default Cursor or Focus Placement
C.5
The Enter Key
D
Creating Web Applications for Touch Devices Using ADF Faces
D.1
Introduction to Creating Web Applications for Touch Devices Using ADF Faces
D.2
How ADF Faces Behaves in Mobile Browsers on Touch Devices
D.3
Best Practices When Using ADF Faces Components in a Mobile Browser
E
Quick Start Layout Themes
F
Troubleshooting ADF Faces
F.1
Introduction to Troubleshooting ADF Faces
F.2
Getting Started with Troubleshooting the View Layer of an ADF Application
F.3
Resolving Common Problems
F.3.1
Application Displays an Unexpected White Background
F.3.2
Application is Missing Expected Images
F.3.3
Data Visualization Components Fail to Display as Expected
F.3.4
High Availability Application Displays a NotSerializableException
F.3.5
Unable to Reproduce Problem in All Web Browsers
F.3.6
Application is Missing Content
F.3.7
Browser Displays an ADF_Faces-60098 Error
F.3.8
Browser Displays an HTTP 404 or 500 Error
F.3.9
Browser Fails to Navigate Between Pages
F.4
Using Test Automation for ADF Faces
F.5
Using My Oracle Support for Additional Troubleshooting Information
G
Code Samples
G.1
Samples for Chapter 30, "Using Map Components"
G.1.1
Sample Code for Thematic Map Custom Base Map
G.1.2
Sample Code for Thematic Map Custom Base Map Area Layer
G.2
Samples for Chapter 32, "Using Treemap and Sunburst Components"
G.2.1
Sample Code for Treemap and Sunburst Census Data Example
G.2.2
Code Sample for Sunburst Managed Bean
G.3
Samples for Chapter 33, "Using Diagram Components"
G.3.1
Code Sample for Default Client Layout
G.3.2
Code Sample for Simple Circle Layout
G.3.3
Code Sample for Simple Vertical Layout
H
Using Graph Components
H.1
Introduction to the Graph Component
H.1.1
Graph Component Use Cases and Examples
H.1.2
End User and Presentation Features
H.1.2.1
Graph Layout
H.1.2.2
Sizing
H.1.2.3
Image Formats
H.1.2.4
Data Marker Selection
H.1.2.5
Context Menus
H.1.2.6
Reference Areas/Line and Alerts
H.1.2.7
Hide and Show Series
H.1.2.8
Annotations
H.1.2.9
Popup Support
H.1.2.10
Time Selector
H.1.2.11
Bi-directional Support
H.1.2.12
Drag and Drop
H.1.2.13
Screen Reader Support
H.2
Using the Graph Component
H.2.1
Graph Type Data Requirements
H.2.2
Configuring Graphs
H.2.3
How to Add a Graph to a Page
H.2.4
What Happens When You Add a Graph to a Page
H.2.5
How to Create a Graph Using Tabular Data
H.2.6
What You May Need to Know About Graph Image Formats
H.2.7
Editing Graphs in the Visual Editor and Property Inspector
H.3
Customizing Graph Display Elements
H.3.1
Changing Graph Size and Style
H.3.1.1
How to Specify the Size of a Graph at Initial Display
H.3.1.2
How to Provide for Dynamic Resizing of a Graph
H.3.1.3
How to Use a Specific Style Sheet for a Graph
H.3.2
Changing Graph Background, Plot Area, and Title
H.3.2.1
How to Customize the Background and Plot Area of a Graph
H.3.2.2
How to Specify Titles and Footnotes in a Graph
H.3.3
How to Customize Graph Axes and Labels
H.3.3.1
How to Specify the Title, Appearance, and Scaling of an Axis
H.3.3.2
Specifying Scrolling on an Axis
H.3.3.3
How to Control the Appearance of Tick Marks and Labels on an Axis
H.3.3.4
Formatting Numbers on an Axis
H.3.3.5
How to Set Minimum and Maximum Values on a Data Axis
H.3.4
How to Customize Graph Legends
H.3.5
Customizing Tooltips in Graphs
H.4
Formatting Graph Text, Colors, and Data Values
H.4.1
Formatting Text in Graphs
H.4.1.1
What You May Need to Know About Skinning and Formatting Text in Graphs
H.4.2
Specifying Transparent Colors for Parts of a Graph
H.4.3
Using Gradient Special Effects in Graphs
H.4.3.1
How to Add Gradient Special Effects to a Graph
H.4.3.2
What Happens When You Add a Gradient Special Effect to a Graph
H.4.4
Formatting Data Values in Graphs
H.4.4.1
How to Format Categorical Data Values
H.4.4.2
How to Format Numerical Data Values
H.4.4.3
What You May Need to Know About Automatic Scaling and Precision
H.5
Customizing the Appearance of Series and Groups of Data
H.5.1
Changing the Color, Style, and Display of Graph Data Values
H.5.1.1
How to Specify the Color and Style for Individual Series Items
H.5.1.2
How to Enable Hiding and Showing Series Items
H.5.2
Changing the Appearance of Lines in Graphs
H.5.2.1
Displaying Either Data Lines or Markers in Graphs
H.5.2.2
Changing the Appearance of Lines in a Graph Series
H.5.3
How to Customize Pareto Graphs
H.5.4
Adding Reference Lines or Areas to Graphs
H.5.4.1
How to Create Reference Lines or Areas During Design
H.5.4.2
What Happens When You Create Reference Lines or Areas During Design
H.5.4.3
How to Create Reference Lines or Areas Dynamically
H.6
Animating Graphs
H.6.1
Specifying Animation Effects for Graphs
H.7
Adding Special Effects to Graphs
H.7.1
How to Provide Marker and Legend Dimming
H.7.2
How to React to Changes in the Zoom and Scroll Levels
H.7.3
Providing an Interactive Time Axis for Graphs
H.7.3.1
How to Define a Relative Range of Time Data for Display
H.7.3.2
How to Define an Explicit Range of Time Data for Display
H.7.3.3
How to Add a Time Selector to a Graph
H.7.4
Adding Alerts and Annotations to Graphs
H.7.4.1
How to Add Alerts to Graphs
H.7.4.2
Adding Annotations to Graphs
H.7.5
How to Add Drop Functionality to Pareto and Stock Graphs
H.7.6
How to Add Popups to Graphs
H.7.7
Adding Data Marker Selection Support for Graphs
H.7.7.1
How to Add Selection Support to Graphs
H.7.7.2
What You May Need to Know About Graph Data Marker Selection
H.7.8
Configuring Graph Context Menus
H.7.8.1
What You Many Need to Know About Configuring Graph Context Menus
Scripting on this page enhances content navigation, but does not change the content in any way.