Go to main content
1/59
Contents
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
What's New in This Guide for Release 12c (12.2.1.3.0)
New and Changed Features for Release 12c (12.2.1.3.0)
Other Significant Changes in this Document for Release 12c (12.2.1.3.0)
Part I Getting Started with ADF Faces
1
Introduction to ADF Faces
1.1
About ADF Faces
1.2
ADF Faces Framework
1.3
ADF Faces Components
2
ADF Faces Components Demo Application
2.1
About the ADF Faces Components Demo Application
2.2
Downloading and Installing the ADF Faces Components Demo Application
3
Getting Started with ADF Faces and JDeveloper
3.1
About Developing Declaratively in JDeveloper
3.2
Creating an Application Workspace
3.2.1
How to Create an ADF Faces Application Workspace
3.2.2
What Happens When You Create an Application Workspace
3.3
Defining Page Flows
3.3.1
How to Define a Page Flow
3.3.2
What Happens When You Use the Diagrammer to Create a Page Flow
3.4
Creating a View Page
3.4.1
How to Create JSF Pages
3.4.2
What Happens When You Create a JSF Page
3.4.3
What You May Need to Know About Updating Your Application to Use the Facelets Engine
3.4.4
What You May Need to Know About Automatic Component Binding
3.4.5
How to Add ADF Faces Components to JSF Pages
3.4.6
What Happens When You Add Components to a Page
3.4.7
How to Set Component Attributes
3.4.8
What Happens When You Use the Properties window
3.5
Creating EL Expressions
3.5.1
How to Create an EL Expression
3.5.2
How to Use the EL Format Tags
3.5.3
How to Use EL Expressions Within Managed Beans
3.6
Creating and Using Managed Beans
3.6.1
How to Create a Managed Bean in JDeveloper
3.6.2
What Happens When You Use JDeveloper to Create a Managed Bean
3.6.3
What You May Need to Know About Component Bindings and Managed Beans
3.7
Viewing ADF Faces Javadoc
3.7.1
How to View ADF Faces Source Code and Javadoc
Part II Understanding ADF Faces Architecture
4
Using ADF Faces Client-Side Architecture
4.1
About Using ADF Faces Architecture
4.2
Adding JavaScript to a Page
4.2.1
How to Use Inline JavaScript
4.2.2
How to Import JavaScript Libraries
4.2.3
What You May Need to Know About Accessing Client Event Sources
4.3
Instantiating Client-Side Components
4.3.1
How to Configure a Component to for a Client-Side Instance
4.3.2
What Happens When You Set clientComponent to true
4.4
Listening for Client Events
4.4.1
How to Listen for Client Events
4.4.2
How to Use an ADF Client Listener to Control Navigating Away From a JSF Page
4.5
Accessing Component Properties on the Client
4.5.1
Secure Client Properties
4.5.2
How to Set Property Values on the Client
4.5.3
What Happens at Runtime: How Client Properties Are Set on the Client
4.5.4
How to Unsecure the disabled Property
4.5.5
How to “Unsynchronize" Client and Server Property Values
4.6
Using Bonus Attributes for Client-Side Components
4.6.1
How to Create Bonus Attributes
4.6.2
What You May Need to Know About Marshalling Bonus Attributes
4.7
Understanding Rendering and Visibility
4.7.1
How to Set Visibility Using JavaScript
4.7.2
What You May Need to Know About Visible and the isShowing Function
4.8
Locating a Client Component on a Page
4.8.1
What You May Need to Know About Finding Components in Naming Containers
4.9
JavaScript Library Partitioning
4.9.1
How to Create JavaScript Partitions
4.9.2
What Happens at Runtime: JavaScript Partitioning
5
Using the JSF Lifecycle with ADF Faces
5.1
About Using the JSF Lifecycle and ADF Faces
5.2
Using the Immediate Attribute
5.2.1
How to Use the Immediate Attribute
5.3
Using the Optimized Lifecycle
5.4
Using the Client-Side Lifecycle
5.5
Using Subforms to Create Sections on a Page
5.6
Object Scope Lifecycles
5.7
Passing Values Between Pages
5.7.1
How to Use the pageFlowScope Scope Within Java Code
5.7.2
How to Use the pageFlowScope Scope Without Writing Java Code
5.7.3
What Happens at Runtime: How Values Are Passed
6
Handling Events
6.1
About Events and Event Handling
6.1.1
Events and Partial Page Rendering
6.1.2
Event and Even Root Components
6.1.3
Client-Side Event Model
6.2
Using ADF Faces Server Events
6.2.1
How to Handle Server-Side Events
6.3
Using JavaScript for ADF Faces Client Events
6.3.1
ADF Faces Client-Side Events
6.3.2
How to Use Client-Side Events
6.3.3
How to Return the Original Source of the Event
6.3.4
How to Use Client-Side Attributes for an Event
6.3.5
How to Block UI Input During Event Execution
6.3.6
How to Prevent Events from Propagating to the Server
6.3.7
How to Indicate No Response is Expected
6.3.8
What Happens at Runtime: How Client-Side Events Work
6.3.9
What You May Need to Know About Using Naming Containers
6.4
Sending Custom Events from the Client to the Server
6.4.1
How to Send Custom Events from the Client to the Server
6.4.2
What Happens at Runtime: How Client and Server Listeners Work Together
6.4.3
What You May Need to Know About Marshalling and Unmarshalling Data
6.4.4
Mapping Java to JavaScript
6.5
Executing a Script Within an Event Response
6.6
Using ADF Faces Client Behavior Tags
6.6.1
How to Use the scrollComponentIntoViewBehavior Tag
6.7
Using Polling Events to Update Pages
6.7.1
How to Use the Poll Component
7
Validating and Converting Input
7.1
About ADF Faces Converters and Validators
7.1.1
ADF Faces Converters and Validators Use Cases and Examples
7.1.2
Additional Functionality for ADF Faces Converters and Validators
7.2
Conversion, Validation, and the JSF Lifecycle
7.3
Adding Conversion
7.3.1
How to Add a Converter
7.3.2
How to Specify Multiple Converter Patterns
7.3.3
How to Specify Negative Numbers for Converters
7.3.4
What Happens at Runtime: How Converters Work
7.3.5
What You May Need to Know About Number Converters
7.3.6
What You May Need to Know About Date Time Converters
7.4
Creating Custom ADF Faces Converters
7.4.1
How to Create a Custom ADF Faces Converter
7.4.1.1
Implement Server-Side (Java) Conversion
7.4.1.2
Register ADF Faces Converter in faces-config.xml
7.4.1.3
Create a Client-Side Version of the Converter
7.4.1.4
Modify the Server Converter to Enable Client Conversion
7.4.2
Using Custom ADF Faces Converter on a JSF Page
7.4.3
How to Declaratively Register a Client-Side Only Converter Script
7.5
Adding Validation
7.5.1
How to Add Validation
7.5.1.1
Using Validation Attributes
7.5.1.2
Using ADF Faces Validators
7.5.2
What Happens at Runtime: How Validators Work
7.5.3
What You May Need to Know About Multiple Validators
7.6
Creating Custom JSF Validation
7.6.1
How to Create a Backing Bean Validation Method
7.6.2
What Happens When You Create a Backing Bean Validation Method
7.6.3
How to Create a Custom JSF Validator
7.6.4
What Happens When You Use a Custom JSF Validator
8
Rerendering Partial Page Content
8.1
About Partial Page Rendering
8.2
Using Partial Triggers
8.2.1
How to Use Partial Triggers
8.2.2
What You May Need to Know About Using the Browser Back Button
8.2.3
What You May Need to Know About PPR and Screen Readers
8.3
Using the Target Tag to Execute PPR
8.3.1
How to Use the Target Tag to Enable Partial Page Rendering
8.4
Enabling Partial Page Rendering Programmatically
8.4.1
How to Enable Partial Page Rendering Programmatically
8.5
Using Partial Page Navigation
8.5.1
How to Use Partial Page Navigation
8.5.2
What You May Need to Know About PPR Navigation
Part III Creating Your Layout
9
Organizing Content on Web Pages
9.1
About Organizing Content on Web Pages
9.1.1
ADF Faces Layout Components
9.1.2
Additional Functionality for Layout Components
9.2
Starting to Lay Out a Page
9.2.1
Geometry Management and Component Stretching
9.2.2
Nesting Components Inside Components That Allow Stretching
9.2.3
Using Quick Start Layouts
9.2.4
Tips for Using Geometry-Managed Components
9.2.5
How to Configure the document Tag
9.3
Arranging Content in a Grid
9.3.1
How to Use the panelGridLayout, gridRow, and gridCell Components to Create a Grid-Based Layout
9.3.2
What You May Need to Know About Geometry Management and the panelGridLayout Component
9.3.3
What You May Need to Know About Determining the Structure of Your Grid
9.3.4
What You May Need to Know About Determining Which Layout Component to Use
9.4
Displaying Contents in a Dynamic Grid Using a masonryLayout Component
9.4.1
How to Use a masonryLayout Component
9.5
Achieving Responsive Behavior Using matchMediaBehavior Tag
9.6
Arranging Contents to Stretch Across a Page
9.6.1
How to Use the panelStretchLayout Component
9.6.2
What You May Need to Know About Geometry Management and the panelStretchLayout Component
9.7
Using Splitters to Create Resizable Panes
9.7.1
How to Use the panelSplitter Component
9.7.2
What You May Need to Know About Geometry Management and the panelSplitter Component
9.8
Arranging Page Contents in Predefined Fixed Areas
9.8.1
How to Use the panelBorderLayout Component to Arrange Page Contents in Predefined Fixed Areas
9.9
Arranging Content in Forms
9.9.1
How to Use the panelFormLayout Component
9.9.2
What You May Need to Know About Using the group Component with the panelFormLayout Component
9.10
Arranging Contents in a Dashboard
9.10.1
How to Use the panelDashboard Component
9.10.2
What You May Need to Know About Geometry Management and the panelDashboard Component
9.11
Displaying and Hiding Contents Dynamically
9.11.1
How to Use the showDetail Component
9.11.2
How to Use the showDetailHeader Component
9.11.3
How to Use the panelBox Component
9.11.4
What You May Need to Know About Disclosure Events
9.11.5
What You May Need to Know About Skinning and the showDetail Component
9.11.6
What You May Need to Know About Skinning and the showDetailHeader Component
9.11.7
What You May Need to Know About Skinning and the panelBox Component
9.12
Displaying or Hiding Contents in Panels
9.12.1
How to Use the panelAccordion Component
9.12.2
How to Use the panelTabbed Component
9.12.3
How to Use the panelDrawer Component
9.12.4
How to Use the panelSpringboard Component
9.12.5
What You May Need to Know About Switching Between Grid and Strip Mode
9.12.6
How to Use the showDetailItem Component to Display Content
9.12.7
What You May Need to Know About Geometry Management and the showDetailItem Component
9.12.8
What You May Need to Know About showDetailItem Disclosure Events
9.12.9
What You May Need to Know About Skinning and the panelTabbed Component
9.13
Adding a Transition Between Components
9.13.1
How to Use the Deck Component
9.13.2
What You May Need to Know About Geometry Management and the deck Component
9.14
Displaying Items in a Static Box
9.14.1
How to Use the panelHeader Component
9.14.2
How to Use the decorativeBox Component
9.14.3
What You May Need to Know About Geometry Management and the decorativeBox Component
9.14.4
What You May Need to Know About Skinning and the panelHeader Component
9.14.5
What You May Need to Know About Skinning and the decorativeBox Component
9.15
Displaying a Bulleted List in One or More Columns
9.15.1
How to Use the panelList Component
9.15.2
What You May Need to Know About Creating a List Hierarchy
9.16
Grouping Related Items
9.16.1
How to Use the panelGroupLayout Component
9.16.2
What You May Need to Know About Geometry Management and the panelGroupLayout Component
9.17
Separating Content Using Blank Space or Lines
9.17.1
How to Use the spacer Component
9.17.2
How to Use the Separator Component
10
Creating and Reusing Fragments, Page Templates, and Components
10.1
About Reusable Content
10.1.1
Reusable Components Use Cases and Examples
10.1.2
Additional Functionality for Reusable Components
10.2
Using Page Templates
10.2.1
How to Create a Page Template
10.2.2
What Happens When You Create a Page Template
10.2.3
How to Create JSF Pages Based on Page Templates
10.2.4
What Happens When You Use a Template to Create a Page
10.2.5
What Happens at Runtime: How Page Templates Are Resolved
10.2.6
What You May Need to Know About Page Templates and Naming Containers
10.3
Using Page Fragments
10.3.1
How to Create a Page Fragment
10.3.2
What Happens When You Create a Page Fragment
10.3.3
How to Use a Page Fragment in a JSF Page
10.3.4
What Happens at Runtime: How Page Fragments are Resolved
10.4
Using Declarative Components
10.4.1
How to Create a Declarative Component
10.4.2
What Happens When You Create a Declarative Component
10.4.3
How to Deploy Declarative Components
10.4.4
How to Use Declarative Components in JSF Pages
10.4.5
What Happens When You Use a Declarative Component on a JSF Page
10.4.6
What Happens at Runtime: Declarative Components
10.5
Adding Resources to Pages
10.5.1
How to Add Resources to Page Templates and Declarative Components
10.5.2
What Happens at Runtime: How to Add Resources to the Document Header
Part IV Using Common ADF Faces Components
11
Using Input Components and Defining Forms
11.1
About Input Components and Forms
11.1.1
Input Component Use Cases and Examples
11.1.2
Additional Functionality for Input Components and Forms
11.2
Defining Forms
11.2.1
How to Add a Form to a Page
11.2.2
How to Add a Subform to a Page
11.2.3
How to Add a Button to Reset the Form
11.3
Using the inputText Component
11.3.1
How to Add an inputText Component
11.3.2
How to Add the Ability to Insert Text into an inputText Component
11.4
Using the Input Number Components
11.4.1
How to Add an inputNumberSlider or an inputRangeSlider Component
11.4.2
How to Add an inputNumberSpinbox Component
11.5
Using Color and Date Choosers
11.5.1
How to Add an inputColor Component
11.5.2
How to Add an InputDate Component
11.5.3
What You May Need to Know About Selecting Time Zones Without the inputDate Component
11.5.4
What You May Need to Know About Creating a Custom Time Zone List
11.6
Using Selection Components
11.6.1
How to Use Selection Components
11.6.2
What You May Need to Know About the contentDelivery Attribute on the SelectManyChoice Component
11.7
Using Shuttle Components
11.7.1
How to Add a selectManyShuttle or selectOrderShuttle Component
11.7.2
What You May Need to Know About Using a Client Listener for Selection Events
11.8
Using the richTextEditor Component
11.8.1
How to Add a richTextEditor Component
11.8.2
How to Add the Ability to Insert Text into a richTextEditor Component
11.8.3
How to Customize the Toolbar
11.9
Using File Upload
11.9.1
How to Use the inputFile Component
11.9.2
How to Configure the inputFile Component to Upload Multiple Files
11.9.3
What You May Need to Know About Temporary File Storage
11.9.4
What You May Need to Know About Uploading Multiple Files
11.9.5
What You May Need to Know About Customizing User Interface of inputFile Component
11.10
Using Code Editor
11.10.1
How to Add a codeEditor Component
12
Using Tables, Trees, and Other Collection-Based Components
12.1
About Collection-Based Components
12.1.1
Collection-Based Component Use Cases and Examples
12.1.2
Additional Functionality for Collection-Based Components
12.2
Common Functionality in Collection-Based Components
12.2.1
Displaying Data in Rows and Nodes
12.2.2
Content Delivery
12.2.3
Row Selection
12.2.4
Editing Data in Tables, Trees, and Tree Tables
12.2.5
Using Popup Dialogs in Tables, Trees, and Tree Tables
12.2.6
Accessing Client Collection Components
12.2.7
Geometry Management for the Table, Tree, and Tree Table Components
12.3
Displaying Data in Tables
12.3.1
Columns and Column Data
12.3.2
Formatting Tables
12.3.3
Formatting Columns
12.3.4
How to Display a Table on a Page
12.3.5
What Happens When You Add a Table to a Page
12.3.6
What Happens at Runtime: Data Delivery
12.3.7
What You May Need to Know About Programmatically Enabling Sorting for Table Columns
12.3.8
What You May Need to Know About Performing an Action on Selected Rows in Tables
12.3.9
What You May Need to Know About Dynamically Determining Values for Selection Components in Tables
12.3.10
What You May Need to Know About Read Only Tables
12.4
Adding Hidden Capabilities to a Table
12.4.1
How to Use the detailStamp Facet
12.4.2
What Happens at Runtime: The rowDisclosureEvent
12.5
Enabling Filtering in Tables
12.5.1
How to Add Filtering to a Table
12.6
Displaying Data in Trees
12.6.1
How to Display Data in Trees
12.6.2
What Happens When You Add a Tree to a Page
12.6.3
What Happens at Runtime: Tree Component Events
12.6.4
What You May Need to Know About Programmatically Expanding and Collapsing Nodes
12.6.5
What You May Need to Know About Programmatically Selecting Nodes
12.7
Displaying Data in Tree Tables
12.7.1
How to Display Data in a Tree Table
12.8
Passing a Row as a Value
12.9
Displaying Table Menus, Toolbars, and Status Bars
12.9.1
How to Add a panelCollection with a Table, Tree, or Tree Table
12.10
Displaying a Collection in a List
12.10.1
How to Display a Collection in a List
12.10.2
What You May Need to Know About Scrollbars in a List View
12.11
Displaying Images in a Carousel
12.11.1
How to Create a Carousel
12.11.2
What You May Need to Know About the Carousel Component and Different Browsers
12.12
Exporting Data from Table, Tree, or Tree Tables
12.12.1
How to Export Table, Tree, or Tree Table Data to an External Format
12.12.2
What Happens at Runtime: How Row Selection Affects the Exported Data
12.13
Accessing Selected Values on the Client from Collection-Based Components
12.13.1
How to Access Values from a Selection in Stamped Components.
12.13.2
What You May Need to Know About Accessing Selected Values
13
Using List-of-Values Components
13.1
About List-of-Values Components
13.1.1
Additional Functionality for List-of-Values Components
13.2
Creating the ListOfValues Data Model
13.2.1
How to Create the ListOfValues Data Model
13.3
Using the inputListOfValues Component
13.3.1
How to Use the InputListOfValues Component
13.3.2
What You May Need to Know About Skinning the Search and Select Dialogs in the LOV Components
13.4
Using the InputComboboxListOfValues Component
13.4.1
How to Use the InputComboboxListOfValues Component
14
Using Query Components
14.1
About Query Components
14.1.1
Query Component Use Cases and Examples
14.1.2
Additional Functionality for the Query Components
14.2
Creating the Query Data Model
14.2.1
How to Create the Query Data Model
14.3
Using the quickQuery Component
14.3.1
How to Add the quickQuery Component Using a Model
14.3.2
How to Use a quickQuery Component Without a Model
14.3.3
What Happens at Runtime: How the Framework Renders the quickQuery Component and Executes the Search
14.4
Using the query Component
14.4.1
How to Add the Query Component
15
Using Menus, Toolbars, and Toolboxes
15.1
About Menus, Toolbars, and Toolboxes
15.1.1
Menu Components Use Cases and Examples
15.1.2
Additional Functionality for Menu and Toolbar Components
15.2
Using Menus in a Menu Bar
15.2.1
How to Create and Use Menus in a Menu Bar
15.3
Using Toolbars
15.3.1
How to Create and Use Toolbars
15.3.2
What Happens at Runtime: How the Size of Menu Bars and Toolbars Is Determined
15.3.3
What You May Need to Know About Toolbars
16
Using Popup Dialogs, Menus, and Windows
16.1
About Popup Dialogs, Menus, and Windows
16.1.1
Popup Dialogs, Menus, Windows Use Cases and Examples
16.1.2
Additional Functionality for Popup Dialogs, Menus, and Windows
16.2
Declaratively Creating Popups
16.2.1
How to Create a Dialog
16.2.2
How to Create a Panel Window
16.2.3
How to Create a Context Menu
16.2.4
How to Create a Note Window
16.2.5
What Happens at Runtime: Popup Component Events
16.2.6
What You May Need to Know About Dialog Events
16.2.7
What You May Need to Know About Animation and Popups
16.3
Controlling Display Behavior of Popups
16.3.1
How to Dismiss a Popup Component Automatically
16.3.2
What Happens When a Popup Component is Automatically Dismissed
16.4
Declaratively Invoking a Popup
16.4.1
How to Declaratively Invoke a Popup Using the af:showPopupBehavior Tag
16.4.2
What Happens When You Use af:showPopupBehavior Tag to Invoke a Popup
16.5
Programmatically Invoking a Popup
16.5.1
How to Programmatically Invoke a Popup
16.5.2
What Happens When You Programmatically Invoke a Popup
16.6
Displaying Contextual Information in Popups
16.6.1
How to Create Contextual Information
16.7
Controlling the Automatic Cancellation of Inline Popups
16.7.1
How to Disable the Automatic Cancellation of an Inline Popup
16.7.2
What Happens When You Disable the Automatic Cancellation of an Inline Popup
16.8
Resetting Input Fields in a Popup
16.8.1
How to Reset the Input Fields in a Popup
16.8.2
What Happens When You Configure a Popup to Reset Its Input Fields
17
Using a Calendar Component
17.1
About Creating a Calendar Component
17.1.1
Calendar Use Cases and Examples
17.1.2
Additional Functionality for the Calendar
17.2
Creating the Calendar
17.2.1
Calendar Classes
17.2.2
How to Create a Calendar
17.3
Configuring the Calendar Component
17.3.1
How to Configure the Calendar Component
17.3.2
What Happens at Runtime: Calendar Events and PPR
17.4
Adding Functionality Using Popup Components
17.4.1
How to Add Functionality Using Popup Components
17.5
Customizing the Toolbar
17.5.1
How to Customize the Toolbar
17.6
Styling the Calendar
17.6.1
How to Style Activities
17.6.2
What Happens at Runtime: Activity Styling
17.6.3
How to Customize Dates
18
Using Output Components
18.1
About Output Text, Image, Icon, and Media Components
18.1.1
Output Components Use Case and Examples
18.1.2
Additional Functionality for Output Components
18.2
Displaying Output Text and Formatted Output Text
18.2.1
How to Display Output Text
18.2.2
What You May Need to Know About Allowed Format and Character Codes in the outputFormatted Component
18.3
Displaying Icons
18.3.1
How to Display Icons
18.4
Displaying Images
18.4.1
How to Display Images
18.5
Using Images as Links
18.5.1
How to Use Images as Links
18.6
Displaying Application Status Using Icons
18.7
Playing Video and Audio Clips
18.7.1
How to Allow Playing of Audio and Video Clips
19
Displaying Tips, Messages, and Help
19.1
About Displaying Tips and Messages
19.1.1
Messaging Components Use Cases and Examples
19.1.2
Additional Functionality for Message Components
19.2
Displaying Tips for Components
19.2.1
How to Display Tips for Components
19.3
Displaying Hints and Error Messages for Validation and Conversion
19.3.1
How to Define Custom Validator and Converter Messages for a Component Instance
19.3.2
How to Define Custom Validator and Converter Messages for All Instances of a Component
19.3.3
How to Display Component Messages Inline
19.3.4
How to Display Global Messages Inline
19.3.5
What Happens at Runtime: How Messages Are Displayed
19.4
Grouping Components with a Single Label and Message
19.4.1
How to Group Components with a Single Label and Message
19.5
Displaying Help for Components
19.5.1
How to Create Help Providers
19.5.1.1
How to Create a Resource Bundle-Based Provider
19.5.1.2
How to Create an XLIFF Provider
19.5.1.3
How to Create a Managed Bean Provider
19.5.1.4
How to Create an External URL Help Provider
19.5.1.5
How to Create a Custom Java Class Help Provider
19.5.2
How to Register the Help Provider
19.5.3
How to Access Help Content from a UI Component
19.5.4
How to Use JavaScript to Launch an External Help Window
19.5.5
What You May Need to Know About Skinning and Definition Help
19.6
Combining Different Message Types
20
Working with Navigation Components
20.1
About Navigation Components
20.1.1
Navigation Components Use Cases and Examples
20.1.2
Additional Functionality for Navigation Components
20.2
Common Functionality in Navigation Components
20.3
Using Buttons and Links for Navigation
20.3.1
How to Use Buttons and Links for Navigation and Deliver ActionEvents
20.3.2
How to Use Buttons and Links for Navigation Without Delivering ActionEvents
20.3.3
What You May Need to Know About Using Partial Page Navigation
20.4
Configuring a Browser's Context Menu for Links
20.4.1
How to Configure a Browser's Context Menu for Command Links
20.4.2
What Happens When You Configure a Browser's Context Menu for Command Links
20.5
Using Buttons or Links to Invoke Functionality
20.5.1
How to Use an Action Component to Download Files
20.5.2
How to Use an Action Component to Reset Input Fields
20.6
Using Navigation Items for a Page Hierarchy
20.6.1
How to Create Navigation Cases for a Page Hierarchy
20.7
Using a Menu Model to Create a Page Hierarchy
20.7.1
How to Create the Menu Model Metadata
20.7.2
What Happens When You Use the Create ADF Menu Model Wizard
20.7.3
How to Bind the navigationPane Component to the Menu Model
20.7.4
How to Use the breadCrumbs Component with a Menu Model
20.7.5
How to Use the menuBar Component with a Menu Model
20.7.6
What Happens at Runtime: How the Menu Model Creates a Page Hierarchy
20.7.7
What You May Need to Know About Using Custom Attributes
20.8
Creating a Simple Navigational Hierarchy
20.8.1
How to Create a Simple Page Hierarchy
20.8.2
How to Use the breadCrumbs Component
20.8.3
What You May Need to Know About Removing Navigation Tabs
20.8.4
What You May Need to Know About the Size of Navigation Tabs
20.8.5
What You May Need to Know About Skinning and Navigation Tabs
20.9
Using Train Components to Create Navigation Items for a Multistep Process
20.9.1
How to Create the Train Model
20.9.2
How to Configure Managed Beans for the Train Model
20.9.3
How to Bind to the Train Model in JSF Pages
21
Determining Components at Runtime
21.1
About Determining Components at Runtime
21.2
Creating the Model for a Dynamic Component
21.2.1
How to Create the Model Without Groups
21.2.2
How to Create the Model Using Groups
21.3
Adding a Dynamic Component as a Form to a Page
21.3.1
How to Add a Dynamic Component as a Form without Groups to a Page
21.3.2
How to Add a Dynamic Component as a Form with Groups to a Page
21.4
Adding a Dynamic Component as a Table to a Page
21.4.1
How to Add a Dynamic Component as a Table Without Groups to a Page
21.4.2
How to Add a Dynamic Component as a Table with Groups to a Page
21.5
Using Validation and Conversion with Dynamic Components
21.6
Using Dynamic and Static Components Together
Part V Using ADF Data Visualization Components
22
Introduction to ADF Data Visualization Components
22.1
About ADF Data Visualization Components
22.1.1
Chart Component Use Cases and Examples
22.1.2
Picto Chart Use Cases and Examples
22.1.3
Gauge Component Use Cases and Examples
22.1.4
NBox Use Cases and Examples
22.1.5
Pivot Table Component Use Cases and Examples
22.1.6
Geographic Map Component Use Cases and Examples
22.1.7
Thematic Map Component Use Cases and Examples
22.1.8
Gantt Chart Component Use Cases and Examples
22.1.9
Timeline Component Use Cases and Examples
22.1.10
Hierarchy Viewer Component Use Cases and Examples
22.1.11
Treemap and Sunburst Components Use Cases and Examples
22.1.12
Diagram Use Cases and Examples
22.1.13
Tag Cloud Component Use Cases and Examples
22.1.14
Additional Functionality for Data Visualization Components
22.2
Common Functionality in Data Visualization Components
22.2.1
Content Delivery
22.2.2
Automatic Partial Page Rendering (PPR)
22.2.3
Active Data Support
22.2.4
Text Resources from Application Resource Bundles
22.3
Providing Data for ADF Data Visualization Components
23
Using Chart Components
23.1
About the Chart Component
23.1.1
Chart Component Use Cases and Examples
23.1.2
End User and Presentation Features of Charts
23.1.2.1
Chart Data Labels
23.1.2.2
Chart Element Labels
23.1.2.3
Chart Sizing
23.1.2.4
Chart Legends
23.1.2.5
Chart Styling
23.1.2.6
Chart Series Hiding
23.1.2.7
Chart Reference Objects
23.1.2.8
Chart Series Effects
23.1.2.9
Chart Series Customization
23.1.2.10
Chart Data Cursor
23.1.2.11
Chart Time Axis
23.1.2.12
Chart Categorical Axis
23.1.2.13
Chart Popups and Context Menus
23.1.2.14
Chart Selection Support
23.1.2.15
Chart Zoom and Scroll
23.1.2.16
Legend and Marker Dimming
23.1.2.17
Pie Chart Other Slice Support
23.1.2.18
Exploding Slices in Pie Charts
23.1.2.19
Active Data Support (ADS)
23.1.2.20
Chart Animation
23.1.2.21
Chart Image Formats
23.1.3
Additional Functionality for Chart Components
23.2
Using the Chart Component
23.2.1
Chart Component Data Requirements
23.2.1.1
Area, Bar, and Line Chart Data Requirements
23.2.1.2
Bubble Chart Data Requirements
23.2.1.3
Combination Chart Data Requirements
23.2.1.4
Funnel Chart Data Requirements
23.2.1.5
Pie Chart Data Requirements
23.2.1.6
Scatter Chart Data Requirements
23.2.1.7
Spark Chart Data Requirements
23.2.1.8
Stock Chart Data Requirements
23.2.2
Configuring Charts
23.2.3
How to Add a Chart to a Page
23.2.4
What Happens When You Add a Chart to a Page
23.3
Adding Data to Charts
23.3.1
How to Add Data to Area, Bar, Combination, and Line Charts
23.3.2
How to Add Data to Pie Charts
23.3.3
How to Add Data to Bubble or Scatter Charts
23.3.4
How to Add Data to Funnel Charts
23.3.5
How to Add Data to Stock Charts
23.3.6
How to Add Data to Spark Charts
23.4
Customizing Chart Display Elements
23.4.1
How to Configure Chart Labels
23.4.1.1
How to Configure Chart Data Labels
23.4.1.2
How to Configure Chart Element Labels
23.4.1.3
How to Configure Chart Axis Labels
23.4.2
How to Configure Chart Legends
23.4.3
How to Format Chart Numerical Values
23.4.3.1
How to Format Numeric Values on a Chart's Value, Value Label, or Axis Values
23.4.3.2
How to Format Numeric Values on a Chart's Axis Label
23.4.3.3
How to Specify Numeric Patterns, Currency, or Percent
23.4.4
Customizing a Chart Axis
23.4.4.1
How to Configure a Time Axis
23.4.4.2
How to Customize the Chart Axis
23.4.4.3
Configuring Dual Y-Axis
23.4.5
Adding Reference Objects to a Chart
23.4.5.1
How to Add a Reference Object to a Chart
23.4.5.2
What You May Need to Know About Adding Reference Objects to Charts
23.4.6
How to Configure a Stacked Chart
23.4.7
Customizing Chart Series
23.4.7.1
How to Customize a Chart Series
23.4.7.2
How to Configure Series Fill Effects on All Series in a Chart
23.4.8
Customizing Chart Groups
23.4.8.1
How to Customize a Chart Group
23.4.8.2
How to Configure Hierarchical Labels Using Chart Groups
23.4.9
How to Configure the Pie Chart Other Slice
23.4.10
How to Explode Pie Chart Slices
23.4.11
How to Configure Animation
23.4.12
What You May Need to Know About Skinning and Customizing Chart Display Elements
23.5
Adding Interactive Features to Charts
23.5.1
How to Add a Data Cursor
23.5.2
How to Configure Hide and Show Behavior
23.5.3
How to Configure Legend and Marker Dimming
23.5.4
How to Configure Selection Support
23.5.5
How to Configure Popups and Context Menus
23.5.6
How to Configure Chart Zoom and Scroll
23.5.7
How to Configure Chart Overview Window
24
Using Picto Chart Components
24.1
About the Picto Chart Component
24.1.1
Picto Chart Use Cases and Examples
24.1.2
End User and Presentation Features of Picto Charts
24.1.3
Additional Functionality for Picto Chart Components
24.2
Using the Picto Chart Component
24.2.1
Picto Chart Data Requirements
24.2.2
How to Add a Picto Chart to a Page
24.2.3
What Happens When You Add a Picto Chart to a Page
24.2.4
Configuring Picto Charts
25
Using Gauge Components
25.1
About 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
Active Data Support (ADS)
25.1.2.5
Gauge Animation
25.1.2.6
Gauge Tooltips
25.1.2.7
Gauge Popups and Context Menus
25.1.2.8
Gauge Value Change Support
25.1.2.9
Gauge Reference Lines (Status Meter Gauges)
25.1.3
Additional Functionality of Gauge Components
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.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 the NBox Component
26.1.1
NBox Use Cases and Examples
26.1.2
End User and Presentation Features of NBoxes
26.1.3
Additional Functionality for NBox Components
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
26.2.5
How to Configure NBox Attribute Groups
27
Using Pivot Table Components
27.1
About the Pivot Table Component
27.1.1
Pivot Table and Pivot Filter Bar Component Use Cases and Examples
27.1.2
End User and Presentation Features of Pivot Table Components
27.1.2.1
Pivot Filter Bar
27.1.2.2
Pivoting
27.1.2.3
Editing Data Cells
27.1.2.4
Data and Header Sorting
27.1.2.5
Drilling
27.1.2.6
Scrolling and Page Controls
27.1.2.7
Persistent Header Layers
27.1.2.8
Split View of Large Data Sets
27.1.2.9
Sizing
27.1.2.10
Header Cell Word Wrapping
27.1.2.11
Active Data Support (ADS)
27.1.3
Additional Functionality for the Pivot Table Component
27.2
Using the Pivot Table Component
27.2.1
Pivot Table Data Requirements
27.2.2
Configuring Pivot Tables
27.2.3
How to Add a Pivot Table to a Page
27.2.4
Configuring Pivot Table Display Size and Style
27.2.5
What Happens When You Add a Pivot Table to a Page
27.2.6
What You May Need to Know About Displaying Large Data Sets
27.2.7
What You May Need to Know About Pivot Tables on Touch Devices
27.2.8
What You May Need to Know About Skinning and Customizing the Appearance of Pivot Tables
27.3
Configuring Header and Data Cell Stamps
27.3.1
Using var and varStatus Properties
27.3.2
How to Configure Header and Data Cell Stamps
27.4
Using Pivot Filter Bars
27.4.1
Using a Pivot Filter Bar with a Pivot Table
27.4.2
Using a Pivot Filter Bar with a Graph
27.4.3
What You May Need to Know About Skinning and Customizing the Appearance of Pivot Filter Bars
27.5
Adding Interactivity to Pivot Tables
27.5.1
Using Selection in Pivot Tables
27.5.2
Using Partial Page Rendering
27.5.3
Exporting from a Pivot Table
27.5.4
Displaying Pivot Tables in Printable Pages
27.6
Formatting Pivot Table Cell Content With CellFormat
27.6.1
Using a CellFormat Object for a Data Cell
27.6.2
Specifying a Cell Format
27.6.3
Configuring Stoplight and Conditional Formatting Using CellFormat
28
Using Gantt Chart Components
28.1
About the Gantt Chart Components
28.1.1
Gantt Chart Component Use Cases and Examples
28.1.2
End User and Presentation Features
28.1.2.1
Gantt Chart Regions
28.1.2.2
Information Panel
28.1.2.3
Toolbar
28.1.2.4
Scrolling, Zooming, and Panning
28.1.2.5
Showing Dependencies
28.1.2.6
Context Menus
28.1.2.7
Row Selection
28.1.2.8
Editing Tasks
28.1.2.9
Server-Side Events
28.1.2.10
Printing
28.1.2.11
Content Delivery
28.1.3
Additional Functionality for Gantt Chart Components
28.2
Using the Gantt Chart Components
28.2.1
Data for a Project Gantt Chart
28.2.2
Data for a Resource Utilization Gantt Chart
28.2.3
Data for a Scheduling Gantt Chart
28.2.4
Gantt Chart Tasks and Resources
28.2.5
Configuring Gantt Charts
28.2.6
How to Add a Gantt Chart to a Page
28.2.7
What Happens When You Add a Gantt Chart to a Page
28.3
Customizing Gantt Chart Tasks and Resources
28.3.1
Creating a New Task Type
28.3.2
Configuring Stacked Bars in Resource Utilization Gantt Charts
28.3.3
Configuring a Resource Capacity Line
28.3.4
Displaying Resource Attribute Details
28.3.5
Configuring Background Bars in Scheduling Gantt Charts
28.4
Customizing Gantt Chart Display Elements
28.4.1
Customizing Gantt Chart Toolbars and Menus
28.4.2
Creating Custom Toolbar and Menu Items
28.4.3
Customizing Gantt Chart Context Menus
28.4.4
How to Customize the Time Axis of a Gantt Chart
28.4.5
Creating and Customizing a Gantt Chart Legend
28.4.6
How to Specify Custom Data Filters
28.4.7
Specifying Nonworking Days in a Gantt Chart
28.4.7.1
How to Specify Weekdays as Nonworking Days
28.4.7.2
How to Identify Specific Dates as Nonworking Days
28.4.8
How to Apply Read-Only Values to Gantt Chart Features
28.4.9
What You May Need to Know About Skinning and Customizing the Appearance of Gantt Charts
28.5
Adding Interactive Features to Gantt Charts
28.5.1
Performing an Action on Selected Tasks or Resources
28.5.2
Using Page Controls for a Gantt Chart
28.5.3
Configuring Synchronized Scrolling Between Gantt Charts
28.5.4
Printing a Gantt Chart
28.5.4.1
Print Options
28.5.4.2
Action Listener to Handle the Print Event
28.5.5
Adding a Double-Click Event to a Task Bar
28.5.6
Using Gantt Charts as a Drop Target or Drag Source
29
Using Timeline Components
29.1
About Timeline Components
29.1.1
Timeline Use Cases and Examples
29.1.2
End User and Presentation Features
29.1.2.1
Timeline Overview Options
29.1.2.2
Layout Options
29.1.2.3
Timeline Item Selection
29.1.2.4
Content Delivery
29.1.2.5
Timeline Image Formats
29.1.2.6
Timeline Display in Printable or Emailable Pages
29.1.3
Additional Functionality for Timeline Components
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
Customizing 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
Configuring Timeline Context Menus
30
Using Map Components
30.1
About 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.1.3
Additional Functionality for Map Components
30.2
Using the Geographic Map Component
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
About Hierarchy Viewer Components
31.1.1
Hierarchy Viewer Use Cases and Examples
31.1.2
End User and Presentation Features
31.1.2.1
Layouts
31.1.2.2
Navigation
31.1.2.3
Panning
31.1.2.4
Control Panel
31.1.2.5
Printing
31.1.2.6
Bi-directional Support
31.1.2.7
State Management
31.1.3
Additional Functionality for Hierarchy Viewer Components
31.2
Using Hierarchy Viewer Components
31.2.1
Configuring Hierarchy Viewer Components
31.2.2
How to Add a Hierarchy Viewer to a Page
31.2.3
What Happens When You Add a Hierarchy Viewer to a Page
31.2.4
What You May Need to Know About Hierarchy Viewer Rendering and Image Formats
31.3
Managing Nodes in a Hierarchy Viewer
31.3.1
How to Specify Node Content
31.3.2
How to Configure the Controls on a Node
31.3.3
Specifying a Node Definition for an Accessor
31.3.4
Associating a Node Definition with a Particular Set of Data Rows
31.3.5
How to Specify Ancestor Levels for an Anchor Node
31.4
Using Panel Cards
31.4.1
How to Create a Panel Card
31.4.2
What Happens at Runtime: How the Panel Card Component Is Rendered
31.5
Configuring Navigation 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
Customizing the Appearance of a Hierarchy Viewer
31.6.1
How to Adjust the Display Size and Styles of a Hierarchy Viewer
31.6.2
Including Images in a Hierarchy Viewer
31.6.3
How to Configure the Display of the Control Panel
31.6.4
How to Configure the Display of Links and Labels
31.6.5
How to Disable the Hover Detail Window
31.6.6
What You May Need to Know About Skinning and Customizing the Appearance of a Hierarchy Viewer
31.7
Adding Interactivity to a Hierarchy Viewer Component
31.7.1
How to Configure Node Selection Action
31.7.2
Configuring a Hierarchy Viewer to Invoke a Popup Window
31.7.3
Configuring Hierarchy Viewer Drag and Drop
31.7.3.1
How to Configure Hierarchy Viewer Drag and Drop
31.7.3.2
What You May Need to Know About Configuring Hierarchy Viewer Drag and Drop
31.8
Adding Search to a Hierarchy Viewer
31.8.1
How to Configure Searching in a Hierarchy Viewer
31.8.2
What You May Need to Know About Configuring Search in a Hierarchy Viewer
32
Using Treemap and Sunburst Components
32.1
About the Treemap and Sunburst Components
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.1.3
Additional Functionality for Treemap and Sunburst Components
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.1.3
Additional Functionality for Diagram Components
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.2.6
How to Create Diagram Nodes
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
33.3.4
Designing Simple Client Layouts
34
Using Tag Cloud Components
34.1
About the Tag Cloud Component
34.1.1
Tag Cloud Use Cases and Examples
34.1.2
End User and Presentation Features of Tag Clouds
34.1.3
Additional Functionality for Tag Cloud Components
34.2
Using the Tag Cloud Component
34.2.1
Tag Cloud Data Requirements
34.2.2
How to Add a Tag Cloud to a Page
34.2.3
What Happens When You Add a Tag Cloud to a Page
34.2.4
Configuring Tag Clouds
Part VI Completing Your View
35
Customizing the Appearance Using Styles and Skins
35.1
About Customizing the Appearance Using Styles and Skins
35.1.1
Customizing the Appearance Use Cases and Examples
35.1.2
Additional Functionality for Customizing the Appearance
35.2
Changing the Style Properties of a Component
35.2.1
How to Set an Inline Style
35.2.2
How to Set a Style Class
35.3
Enabling End Users to Change an Application's ADF Skin
35.3.1
How to Enable End Users Change an Application's ADF Skin
35.3.2
What Happens at Runtime: How End Users Change an Application's ADF Skin
35.4
Using Scalar Vector Graphics Image Files
36
Internationalizing and Localizing Pages
36.1
About Internationalizing and Localizing ADF Faces Pages
36.1.1
Internationalizing and Localizing Pages Use Cases and Examples
36.1.2
Additional Functionality for Internationalizing and Localizing Pages
36.2
Using Automatic Resource Bundle Integration in JDeveloper
36.2.1
How to Set Resource Bundle Options
36.2.2
What Happens When You Set Resource Bundle Options
36.2.3
How to Create an Entry in a JDeveloper-Generated Resource Bundle
36.2.4
What Happens When You Create an Entry in a JDeveloper-Generated Resource Bundle
36.3
Manually Defining Resource Bundles and Locales
36.3.1
How to Create a Resource Bundle as a Property File or an XLIFF File
36.3.2
How to Create a Resource Bundle as a Java Class
36.3.3
How to Edit a Resource Bundle File
36.3.4
How to Register a Locale for Your Application
36.3.5
How to Register a Resource Bundle in Your Application
36.3.6
How to Use Resource Bundles in Your Application
36.3.7
What You May Need to Know About ADF Skins and Control Hints
36.3.8
What You May Need to Know About Overriding a Resource Bundle in a Customizable Application
36.4
Configuring Pages for an End User to Specify Locale at Runtime
36.4.1
How to Configure a Page for an End User to Specify Locale
36.4.2
What Happens When You Configure a Page to Specify Locale
36.4.3
What Happens at Runtime: How an End User Specifies a Locale
36.5
Configuring Optional ADF Faces Localization Properties
36.5.1
How to Configure Optional Localization Properties
37
Developing Accessible ADF Faces Pages
37.1
About Accessibility Support In ADF Faces
37.1.1
Additional Information for Accessibility Support in ADF Pages
37.1.2
Accessibility Support Guidelines at Sign-In
37.2
Specifying Component-Level Accessibility Properties
37.2.1
ADF Faces Component Accessibility Guidelines
37.2.2
Using ADF Faces Table Components with a Screen Reader
37.2.3
ADF Data Visualization Components Accessibility Guidelines
37.2.4
How to Define Access Keys for an ADF Faces Component
37.2.5
How to Define Localized Labels and Access Keys
37.3
Creating Accessible Pages
37.3.1
How to Use Partial Page Rendering
37.3.2
How to Use Scripting
37.3.3
How to Use Styles
37.3.4
How to Use Page Structures and Navigation
37.3.5
How to Use Images and Tables
37.3.6
How to Use WAI-ARIA Landmark Regions
37.4
Creating Accessible Active Data Components
37.4.1
How to Customize the Screen Reader Response for Scalar Active Data Components
37.4.2
How to Customize the Screen Reader Response for Collection-Based Active Data Components
37.4.3
What You May Need to Know About Pass-Through Attributes
37.5
Running Accessibility Audit Rules
37.5.1
How to Create an Audit Profile
37.5.2
How to Run Audit Report
38
Allowing User Customization on JSF Pages
38.1
About User Customization
38.1.1
User Customization Use Cases and Examples
38.2
Implementing Session Change Persistence
38.2.1
How to Implement Session Change Persistence
38.2.2
What Happens When You Configure Your Application to Use Change Persistence
38.2.3
What Happens at Runtime: How Changes are Persisted
38.2.4
What You May Need to Know About Using Change Persistence on Templates and Regions
39
Adding Drag and Drop Functionality
39.1
About Drag and Drop Functionality
39.1.1
Additional Functionality for Drag and Drop
39.2
Adding Drag and Drop Functionality for Attributes
39.2.1
How to add Drag and Drop Functionality
39.3
Adding Drag and Drop Functionality for Objects
39.3.1
How to Add Drag and Drop Functionality for a Single Object
39.3.2
What Happens at Runtime: How to Use Keyboard Modifiers
39.3.3
What You May Need to Know About Using the ClientDropListener
39.4
Adding Drag and Drop Functionality for Collections
39.4.1
How to Add Drag and Drop Functionality for Collections
39.4.2
What You May Need to Know About the dragDropEndListener
39.5
Adding Drag and Drop Functionality for Components
39.5.1
How to Add Drag and Drop Functionality for Components
39.6
Adding Drag and Drop Functionality Into and Out of a panelDashboard Component
39.6.1
How to Add Drag and Drop Functionality Into a panelDashboard Component
39.6.2
How to Add Drag and Drop Functionality Out of a panelDashboard Component
39.7
Adding Drag and Drop Functionality to a Calendar
39.7.1
How to Add Drag and Drop Functionality to a Calendar
39.7.2
What You May Need to Know About Dragging and Dropping in a Calendar
39.8
Adding Drag and Drop Functionality for DVT Components
39.8.1
Adding Drop Functionality for DVT Pareto and Stock Graphs
39.8.1.1
How to Add Drop Functionality to Pareto and Stock Graphs
39.8.2
Adding Drag and Drop Functionality for DVT Gantt Charts
39.8.2.1
How to Add Drag and Drop Functionality for a DVT Gantt Component
39.8.3
Adding Drag and Drop Functionality for DVT Hierarchy Viewers, Sunbursts, and Treemaps
39.8.3.1
Drag and Drop Example for DVT Hierarchy Viewers
39.8.3.2
Drag and Drop Example for DVT Sunbursts
39.8.3.3
Drag and Drop Example for DVT Treemaps
39.8.3.4
How to Add Drag and Drop Functionality for a DVT Hierarchy Viewer, Sunburst, or Treemap Component
39.8.4
Adding Drag and Drop Functionality for Timeline Components
40
Using Different Output Modes
40.1
About Using Different Output Modes
40.1.1
Output Mode Use Cases
40.2
Displaying a Page for Print
40.2.1
How to Use the showPrintablePageBehavior Tag
40.3
Creating Emailable Pages
40.3.1
How to Create an Emailable Page
40.3.2
How to Test the Rendering of a Page in an Email Client
40.3.3
What Happens at Runtime: How ADF Faces Converts JSF Pages to Emailable Pages
41
Using the Active Data Service with an Asynchronous Backend
41.1
About the Active Data Service
41.1.1
Active Data Service Use Cases and Examples
41.2
Process Overview for Using Active Data Service
41.3
Implementing the ActiveModel Interface in a Managed Bean
41.4
What You May Need to Know About Maintaining Read Consistency
41.5
What You May Need to Know About Navigating Away From the ADS Enabled Page
41.6
Passing the Event Into the Active Data Service
41.7
Registering the Data Update Event Listener
41.8
Configuring the ADF Component to Display Active Data
Appendices
A
ADF Faces Configuration
A.1
About 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
Enabling the Application for Real User Experience Insight
A.2.3.7
Assertions
A.2.3.8
Dialog Prefix
A.2.3.9
Compression for CSS Class Names
A.2.3.10
Control Caching When You Have Multiple ADF Skins in an Application
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 Rendering
A.2.3.15
Partial Page Navigation
A.2.3.16
Postback Payload Size Optimization
A.2.3.17
JavaScript Partitioning
A.2.3.18
Framebusting
A.2.3.19
Version Number Information
A.2.3.20
Suppressing Auto-Generated Component IDs
A.2.3.21
ADF Faces Caching Filter
A.2.3.22
Configuring Native Browser Context Menus for Command Links
A.2.3.23
Internet Explorer Compatibility View Mode
A.2.3.24
Session Timeout Warning
A.2.3.25
JSP Tag Execution in HTTP Streaming
A.2.3.26
Clean URLs
A.2.3.27
Page Loading Splash Screen
A.2.3.28
Graph and Gauge Image Format
A.2.3.29
Geometry Management for Layout and Table Components
A.2.3.30
Rendering Tables Initially as Read Only
A.2.3.31
Scrollbar Behavior in Tables
A.2.3.32
Production Project Stage
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 Preparing Your Resource Files for CDNs
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
File Uploading
A.6.2.12
Custom File Uploaded Processor
A.6.2.13
Client-Side Validation and Conversion
A.6.3
What You May Need to Know About Configuring a System Property
A.7
Configuration in trinidad-skins.xml
A.8
Using the RequestContext EL Implicit Object
A.9
Performance Tuning
B
Message Keys for Converter and Validator Messages
B.1
About 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
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 Rich Text Editor Component
C.3.6
Shortcut Keys for Table, Tree, and Tree Table Components
C.3.7
Shortcut Keys for ADF Data Visualization Components
C.3.8
Shortcut Keys for Calendar Component
C.4
Default Cursor or Focus Placement
C.5
The Enter Key
D
Creating Web Applications for Touch Devices Using ADF Faces
D.1
About 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
D.4
Support for IE11 and Edge Browser for Touch Events
E
Quick Start Layout Themes
F
Code Samples
F.1
Samples for Chapter 4, "Using ADF Faces Client-Side Architecture"
F.1.1
The adf-js-partitions.xml File
F.2
Samples for Chapter 29, "Using Map Components"
F.2.1
Sample Code for Thematic Map Custom Base Map
F.2.2
Sample Code for Thematic Map Custom Base Map Area Layer
F.3
Samples for Chapter 31, "Using Treemap and Sunburst Components"
F.3.1
Sample Code for Treemap and Sunburst Census Data Example
F.3.2
Code Sample for Sunburst Managed Bean
F.4
Samples for Chapter 32, "Using Diagram Components"
F.4.1
Code Sample for Default Client Layout
F.4.2
Code Sample for Simple Circle Layout
F.4.3
Code Sample for Simple Vertical Layout
G
Troubleshooting ADF Faces
G.1
About Troubleshooting ADF Faces
G.2
Getting Started with Troubleshooting the View Layer of an ADF Application
G.3
Using Test Automation for ADF Faces
G.3.1
Enabling Test Automation for ADF Faces
G.3.2
Simulating Mouse Events in ADF Faces Test Automation
G.4
Resolving Common Problems
G.4.1
Application Displays an Unexpected White Background
G.4.2
Application is Missing Expected Images
G.4.3
ADF Skin Does Not Render Properly
G.4.4
ADF Data Visualization Components Fail to Display as Expected
G.4.5
High Availability Application Displays a NotSerializableException
G.4.6
Unable to Reproduce Problem in All Web Browsers
G.4.7
Application is Missing Content
G.4.8
Browser Displays an ADF_Faces-60098 Error
G.4.9
Browser Displays an HTTP 404 or 500 Error
G.4.10
Browser Fails to Navigate Between Pages
G.5
Using My Oracle Support for Additional Troubleshooting Information
Scripting on this page enhances content navigation, but does not change the content in any way.