Home
/
Middleware
/
Oracle Application Development Framework (ADF)
1/56
Contents
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
What's New in This Guide
New and Changed Features for Release 12
c
(12.1.2)
Other Significant Changes in this Document for Release 12
c
(12.1.2)
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 Demo Application
2.1
About the ADF Faces Demonstration Application
2.2
Downloading and Installing the ADF Faces 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.5
Accessing Component Properties on the Client
4.5.1
How to Set Property Values on the Client
4.5.2
What Happens at Runtime: How Client Properties Are Set on the Client
4.5.3
How to Unsecure the disabled Property
4.5.4
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 a JavaScript Feature
4.9.2
How to Create JavaScript Partitions
4.9.3
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
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
How to Use Client-Side Events
6.3.2
How to Return the Original Source of the Event
6.3.3
How to Use Client-Side Attributes for an Event
6.3.4
How to Block UI Input During Event Execution
6.3.5
How to Prevent Events from Propagating to the Server
6.3.6
How to Indicate No Response is Expected
6.3.7
What Happens at Runtime: How Client-Side Events Work
6.3.8
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.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
What Happens at Runtime: How Converters Work
7.3.4
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
Implement Client-Side (Javascript) Conversion
7.4.2
Using Custom ADF Faces Converter on a JSF Page
7.5
Adding Validation
7.5.1
How to Add Validation
7.5.1.1
Adding ADF Faces Validation
7.5.1.2
Using Validation Attributes
7.5.1.3
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
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
Arranging Contents to Stretch Across a Page
9.4.1
How to Use the panelStretchLayout Component
9.4.2
What You May Need to Know About Geometry Management and the panelStretchLayout Component
9.5
Using Splitters to Create Resizable Panes
9.5.1
How to Use the panelSplitter Component
9.5.2
What You May Need to Know About Geometry Management and the panelSplitter Component
9.6
Arranging Page Contents in Predefined Fixed Areas
9.6.1
How to Use the panelBorderLayout Component to Arrange Page Contents in Predefined Fixed Areas
9.7
Arranging Content in Forms
9.7.1
How to Use the panelFormLayout Component
9.7.2
What You May Need to Know About Using the group Component with the panelFormLayout Component
9.8
Arranging Contents in a Dashboard
9.8.1
How to Use the panelDashboard Component
9.8.2
What You May Need to Know About Geometry Management and the panelDashboard Component
9.9
Displaying and Hiding Contents Dynamically
9.9.1
How to Use the showDetail Component
9.9.2
How to Use the showDetailHeader Component
9.9.3
How to Use the panelBox Component
9.9.4
What You May Need to Know About Disclosure Events
9.9.5
What You May Need to Know About Skinning and the showDetail Component
9.9.6
What You May Need to Know About Skinning and the showDetailHeader Component
9.9.7
What You May Need to Know About Skinning and the panelBox Component
9.10
Displaying or Hiding Contents in Panels
9.10.1
How to Use the panelAccordion Component
9.10.2
How to Use the panelTabbed Component
9.10.3
How to Use the panelDrawer Component
9.10.4
How to Use the panelSpringboard Component
9.10.5
What You May Need to Know About Switching Between Grid and Strip Mode
9.10.6
How to Use the showDetailItem Component to Display Content
9.10.7
What You May Need to Know About Geometry Management and the showDetailItem Component
9.10.8
What You May Need to Know About showDetailItem Disclosure Events
9.10.9
What You May Need to Know About Skinning and the panelTabbed Component
9.11
Displaying Items in a Static Box
9.11.1
How to Use the panelHeader Component
9.11.2
How to Use the decorativeBox Component
9.11.3
What You May Need to Know About Geometry Management and the decorativeBox Component
9.11.4
What You May Need to Know About Skinning and the panelHeader Component
9.11.5
What You May Need to Know About Skinning and the decorativeBox Component
9.12
Displaying a Bulleted List in One or More Columns
9.12.1
How to Use the panelList Component
9.12.2
What You May Need to Know About Creating a List Hierarchy
9.13
Grouping Related Items
9.13.1
How to Use the panelGroupLayout Component
9.13.2
What You May Need to Know About Geometry Management and the panelGroupLayout Component
9.14
Separating Content Using Blank Space or Lines
9.14.1
How to Use the spacer Component
9.14.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
Common Functionality in Reusable Components
10.2.1
Page in Request Scope
10.2.2
Access to Child Components for Customization
10.3
Using Page Templates
10.3.1
How to Create a Page Template
10.3.2
What Happens When You Create a Page Template
10.3.3
How to Create JSF Pages Based on Page Templates
10.3.4
What Happens When You Use a Template to Create a Page
10.3.5
What Happens at Runtime: How Page Templates Are Resolved
10.3.6
What You May Need to Know About Page Templates and Naming Containers
10.4
Using Page Fragments
10.4.1
How to Create a Page Fragment
10.4.2
What Happens When You Create a Page Fragment
10.4.3
How to Use a Page Fragment in a JSF Page
10.4.3.1
Adding a Page Fragment Using the Components Window
10.4.3.2
Adding a Page Fragment Using the Applications Window
10.4.4
What Happens at Runtime: How Page Fragments are Resolved
10.5
Using Declarative Components
10.5.1
How to Create a Declarative Component
10.5.2
What Happens When You Create a Declarative Component
10.5.3
How to Deploy Declarative Components
10.5.4
How to Use Declarative Components in JSF Pages
10.5.5
What Happens When You Use a Declarative Component on a JSF Page
10.5.6
What Happens at Runtime: Declarative Components
10.6
Adding Resources to Pages
10.6.1
How to Add Resources to Page Templates and Declarative Components
10.6.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.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.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 Table
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 Popup Dialogs, Menus, and Windows
15.1
About Popup Dialogs, Menus, and Windows
15.1.1
Popup Dialogs, Menus, Windows Use Cases and Examples
15.1.2
Additional Functionality for Popup Dialogs, Menus, and Windows
15.2
Declaratively Creating Popups
15.2.1
How to Create a Dialog
15.2.2
How to Create a Panel Window
15.2.3
How to Create a Context Menu
15.2.4
How to Create a Note Window
15.2.5
What Happens at Runtime: Popup Component Events
15.2.6
What You May Need to Know About Dialog Events
15.3
Declaratively Invoking a Popup
15.3.1
How to Declaratively Invoke a Popup Using the af:showPopupBehavior Tag
15.3.2
What Happens When You Use af:showPopupBehavior Tag to Invoke a Popup
15.4
Programmatically Invoking a Popup
15.4.1
How to Programmatically Invoke a Popup
15.4.2
What Happens When You Programmatically Invoke a Popup
15.5
Displaying Contextual Information in Popups
15.5.1
How to Create Contextual Information
15.6
Controlling the Automatic Cancellation of Inline Popups
15.6.1
How to Disable the Automatic Cancellation of an Inline Popup
15.6.2
What Happens When You Disable the Automatic Cancellation of an Inline Popup
15.7
Resetting Input Fields in a Popup
15.7.1
How to Reset the Input Fields in a Popup
15.7.2
What Happens When You Configure a Popup to Reset Its Input Fields
16
Using Menus, Toolbars, and Toolboxes
16.1
About Menus, Toolbars, and Toolboxes
16.1.1
Menu Components Use Cases and Examples
16.1.2
Additional Functionality for Menu and Toolbar Components
16.2
Using Menus in a Menu Bar
16.2.1
How to Create and Use Menus in a Menu Bar
16.3
Using Toolbars
16.3.1
How to Create and Use Toolbars
16.3.2
What Happens at Runtime: How the Size of Menu Bars and Toolbars Is Determined
16.3.3
What You May Need to Know About Toolbars
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.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 Navigation Tabs in a Compressed Layout
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
Graph Component Use Cases and Examples
22.1.2
Gauge Component Use Cases and Examples
22.1.3
Pivot Table Use Cases and Examples
22.1.4
Geographic Map Use Cases and Examples
22.1.5
Thematic Map Component Use Cases and Examples
22.1.6
Gantt Chart Component Use Cases and Examples
22.1.7
Timeline Component Use Cases and Examples
22.1.8
Hierarchy Viewer Component Use Cases and Examples
22.1.9
Treemap and Sunburst Components Use Cases and Examples
22.1.10
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
Context Menus for Graphs, Gauges, Treemaps, and Sunbursts
22.2.5
Screen Reader Support
22.2.6
Text Resources from Application Resource Bundles
22.3
Providing Data for ADF Data Visualization Components
23
Using Graph Components
23.1
About the Graph Component
23.1.1
Graph Component Use Cases and Examples
23.1.2
End User and Presentation Features
23.1.2.1
Graph Layout
23.1.2.2
Sizing
23.1.2.3
Image Formats
23.1.2.4
Data Marker Selection
23.1.2.5
Context Menus
23.1.2.6
Reference Areas/Line and Alerts
23.1.2.7
Hide and Show Series
23.1.2.8
Drilling
23.1.2.9
Annotations
23.1.2.10
Popup Support
23.1.2.11
Time Selector
23.1.2.12
Bi-directional Support
23.1.2.13
Drag and Drop
23.1.2.14
Screen Reader Support
23.1.3
Additional Functionality for Graph Components
23.2
Using the Graph Component
23.2.1
Graph Type Data Requirements
23.2.2
Configuring Graphs
23.2.3
How to Add a Graph to a Page
23.2.4
What Happens When You Add a Graph to a Page
23.2.5
How to Create a Graph Using Tabular Data
23.2.6
What You May Need to Know About Graph Image Formats
23.2.7
Editing Graphs in the Visual Editor and Properties window
23.3
Customizing Graph Display Elements
23.3.1
Changing Graph Size and Style
23.3.1.1
How to Specify the Size of a Graph at Initial Display
23.3.1.2
How to Provide for Dynamic Resizing of a Graph
23.3.1.3
How to Use a Specific Style Sheet for a Graph
23.3.2
Changing Graph Background, Plot Area, and Title
23.3.2.1
How to Customize the Background and Plot Area of a Graph
23.3.2.2
How to Specify Titles and Footnotes in a Graph
23.3.3
How to Customize Graph Axes and Labels
23.3.3.1
How to Specify the Title, Appearance, and Scaling of an Axis
23.3.3.2
Specifying Scrolling on an Axis
23.3.3.3
How to Control the Appearance of Tick Marks and Labels on an Axis
23.3.3.4
Formatting Numbers on an Axis
23.3.3.5
How to Set Minimum and Maximum Values on a Data Axis
23.3.4
How to Customize Graph Legends
23.3.5
Customizing Tooltips in Graphs
23.4
Formatting Graph Text, Colors, and Data Values
23.4.1
Formatting Text in Graphs
23.4.1.1
How to Globally Set Graph Font Using a Skin
23.4.2
Specifying Transparent Colors for Parts of a Graph
23.4.3
Using Gradient Special Effects in Graphs
23.4.3.1
How to Add Gradient Special Effects to a Graph
23.4.3.2
What Happens When You Add a Gradient Special Effect to a Graph
23.4.4
Formatting Data Values in Graphs
23.4.4.1
How to Format Categorical Data Values
23.4.4.2
How to Format Numerical Data Values
23.4.4.3
What You May Need to Know About Automatic Scaling and Precision
23.5
Customizing the Appearance of Series and Groups of Data
23.5.1
Changing the Color, Style, and Display of Graph Data Values
23.5.1.1
How to Specify the Color and Style for Individual Series Items
23.5.1.2
How to Enable Hiding and Showing Series Items
23.5.2
Changing the Appearance of Pie Graphs
23.5.2.1
How to Customize the Overall Appearance of Pie Graphs
23.5.2.2
How to Customize an Exploding Pie Slice
23.5.3
Changing the Appearance of Lines in Graphs
23.5.3.1
Displaying Either Data Lines or Markers in Graphs
23.5.3.2
Changing the Appearance of Lines in a Graph Series
23.5.4
How to Customize Pareto Graphs
23.5.5
Customizing Scatter Graph Series Marker Data Values
23.5.6
Customizing Graph Marker Shapes
23.5.7
Adding Reference Lines or Areas to Graphs
23.5.7.1
How to Create Reference Lines or Areas During Design
23.5.7.2
What Happens When You Create Reference Lines or Areas During Design
23.5.7.3
How to Create Reference Lines or Areas Dynamically
23.6
Animating Graphs
23.6.1
How to Configure Databound Graph Components to Display Active Data
23.6.2
Specifying Animation Effects for Graphs
23.7
Adding Interactive Features to Graphs
23.7.1
How to Provide Marker and Legend Dimming
23.7.2
How to React to Changes in the Zoom and Scroll Levels
23.7.3
Providing an Interactive Time Axis for Graphs
23.7.3.1
How to Define a Relative Range of Time Data for Display
23.7.3.2
How to Define an Explicit Range of Time Data for Display
23.7.3.3
How to Add a Time Selector to a Graph
23.7.4
Adding Alerts and Annotations to Graphs
23.7.4.1
How to Add Alerts to Graphs
23.7.4.2
Adding Annotations to Graphs
23.7.5
Creating Drillable Graphs
23.7.6
Adding Drag and Drop to Graphs
23.7.6.1
How to Add Drag and Drop to Graphs
23.7.6.2
What You May Need to Know About Adding Drag and Drop to Graphs
23.7.7
How to Add Popups to Graphs
23.7.8
Adding Data Marker Selection Support for Graphs
23.7.8.1
How to Add Selection Support to Graphs
23.7.8.2
What You May Need to Know About Graph Data Marker Selection
23.7.9
Configuring Graph Context Menus
24
Using Gauge Components
24.1
About the Gauge Component
24.1.1
Gauge Component Use Cases and Examples
24.1.2
End User and Presentation Features of Gauge Components
24.1.3
Additional Functionality of Gauge Components
24.2
Using the Gauge Component
24.2.1
Configuring Gauges
24.2.2
How to Add a Gauge to a Page
24.2.3
What Happens When You Add a Gauge to a Page
24.2.4
How to Create a Gauge Using Tabular Data
24.2.5
What You May Need to Know About Gauge Image Formats
24.2.6
How to Add Gauges to Tables
24.3
Configuring Gauge Display Elements
24.3.1
How to Configure Gauge Thresholds
24.3.2
How to Customize Gauge Labels
24.3.3
How to Customize Gauge Indicators and Tick Marks
24.4
Formatting Gauge Style Elements
24.4.1
How to Change Gauge Size and Apply CSS Styles
24.4.2
Specifying Transparency for Gauge Elements
24.4.3
How to Format Gauge Text
24.4.4
How to Specify a Gauge Text Resource
24.4.5
How to Set Gauge Styles Globally Using a Skin
24.5
Formatting Numeric Data Values in Gauges
24.5.1
How to Format Numeric Data Values in Gauges
24.5.2
What You May Need to Know About Automatic Scaling and Precision
24.6
Adding Gauge Special Effects and Animation
24.6.1
How to Add Gradient Special Effects to a Gauge
24.6.2
What Happens When You Add a Gradient Special Effect to a Gauge
24.6.3
How to Add Interactivity to Gauges
24.6.4
Animating Gauges
24.6.5
How to Specify Animation Effects for Gauges
24.6.5.1
What You May Need to Know About Skinning and Gauge Animation Effects
24.6.6
How to Configure Gauges to Display Active Data
24.7
Using Custom Shapes for Gauges
24.7.1
How to Use Prebuilt Custom Shapes Styles
24.7.2
How to Use a Custom Shapes Graphic File
24.7.3
What You May Need to Know About Supported SVG Features
25
Using Pivot Table Components
25.1
About the Pivot Table Component
25.1.1
Pivot Table and Pivot Filter Bar Component Use Cases and Examples
25.1.2
End User and Presentation Features of Pivot Table Components
25.1.2.1
Pivot Filter Bar
25.1.2.2
Pivoting
25.1.2.3
Editing Data Cells
25.1.2.4
Data and Header Sorting
25.1.2.5
Drilling
25.1.2.6
Scrolling and Page Controls
25.1.2.7
Persistent Header Layers
25.1.2.8
Split View of Large Data Sets
25.1.2.9
Sizing
25.1.2.10
Header Cell Word Wrapping
25.1.2.11
Active Data Support (ADS)
25.1.3
Additional Functionality for the Pivot Table Component
25.2
Using the Pivot Table Component
25.2.1
Pivot Table Data Requirements
25.2.2
Configuring Pivot Tables
25.2.3
How to Add a Pivot Table to a Page
25.2.4
Configuring Pivot Table Display Size and Style
25.2.5
What Happens When You Add a Pivot Table to a Page
25.2.6
What You Many Need to Know About Displaying Large Data Sets
25.2.7
What You May Need to Know About Pivot Tables on Touch Devices
25.3
Configuring Header and Data Cell Stamps
25.3.1
Using var and varStatus Properties
25.3.2
How to Configure Header and Data Cell Stamps
25.4
Using Pivot Filter Bars
25.4.1
Using a Pivot Filter Bar with a Pivot Table
25.4.2
Using a Pivot Filter Bar with a Graph
25.5
Adding Interactivity to Pivot Tables
25.5.1
Using Selection in Pivot Tables
25.5.2
Using Partial Page Rendering
25.5.3
Exporting from a Pivot Table
25.5.4
Displaying Pivot Tables in Printable Pages
25.6
Formatting Pivot Table Cell Content With CellFormat
25.6.1
Using a CellFormat Object for a Data Cell
25.6.2
Specifying a Cell Format
25.6.3
Configuring Stoplight and Conditional Formatting Using CellFormat
26
Using Gantt Chart Components
26.1
About the Gantt Chart Components
26.1.1
Gantt Chart Component Use Cases and Examples
26.1.2
End User and Presentation Features
26.1.2.1
Gantt Chart Regions
26.1.2.2
Information Panel
26.1.2.3
Toolbar
26.1.2.4
Scrolling, Zooming, and Panning
26.1.2.5
Showing Dependencies
26.1.2.6
Context Menus
26.1.2.7
Row Selection
26.1.2.8
Editing Tasks
26.1.2.9
Server-Side Events
26.1.2.10
Printing
26.1.2.11
Content Delivery
26.1.3
Additional Functionality for Gantt Chart Components
26.2
Using the Gantt Chart Components
26.2.1
Data for a Project Gantt Chart
26.2.2
Data for a Resource Utilization Gantt Chart
26.2.3
Data for a Scheduling Gantt Chart
26.2.4
Gantt Chart Tasks and Resources
26.2.5
Configuring Gantt Charts
26.2.6
How to Add a Gantt Chart to a Page
26.2.7
What Happens When You Add a Gantt Chart to a Page
26.3
Customizing Gantt Chart Tasks and Resources
26.3.1
Creating a New Task Type
26.3.2
Configuring Stacked Bars in Resource Utilization Gantt Charts
26.3.3
Configuring a Resource Capacity Line
26.3.4
Displaying Resource Attribute Details
26.4
Customizing Gantt Chart Display Elements
26.4.1
Specifying Nonworking Days in a Gantt Chart
26.4.1.1
How to Specify Weekdays as Nonworking Days
26.4.1.2
How to Identify Specific Dates as Nonworking Days
26.4.2
How to Apply Read-Only Values to Gantt Chart Features
26.4.3
How to Customize the Time Axis of a Gantt Chart
26.4.4
Creating and Customizing a Gantt Chart Legend
26.4.5
Customizing Gantt Chart Toolbars
26.4.6
Customizing Gantt Chart Context Menus
26.4.7
How to Specify Custom Data Filters
26.5
Adding Interactive Features to Gantt Charts
26.5.1
Performing an Action on Selected Tasks or Resources
26.5.2
Using Page Controls for a Gantt Chart
26.5.3
Configuring Synchronized Scrolling Between Gantt Charts
26.5.4
Printing a Gantt Chart
26.5.4.1
Print Options
26.5.4.2
Action Listener to Handle the Print Event
26.5.5
Adding a Double-Click Event to a Task Bar
26.5.6
Using Gantt Charts as a Drop Target or Drag Source
27
Using Timeline Components
27.1
About Timeline Components
27.1.1
Timeline Use Cases and Examples
27.1.2
End User and Presentation Features
27.1.2.1
Layout Options
27.1.2.2
Timeline Item Selection
27.1.2.3
Timeline Grouping and Sorting
27.1.2.4
Drag and Drop Support
27.1.2.5
Content Delivery
27.1.2.6
Timeline Image Formats
27.1.2.7
Timeline Display in Printable or Emailable Pages
27.1.3
Additional Functionality for Timeline Components
27.2
Using Timeline Components
27.2.1
Timeline Component Data Requirements
27.2.2
Configuring Timelines
27.2.3
How to Add a Timeline to a Page
27.2.4
What Happens When You Add a Timeline to a Page
27.3
Adding Data to Timeline Components
27.3.1
How to Add Data to a Timeline
27.3.2
What You May Need to Know About Configuring Data for a Dual Timeline
27.3.3
What You May Need to Know About Adding Data to Timelines
27.4
Customizing Timeline Display Elements
27.4.1
Customizing Timeline Items
27.4.2
How to Add a Custom Time Scale to a Timeline
27.5
Adding Interactive Features to Timelines
27.5.1
How to Add Popups to Timeline Items
27.5.2
How to Configure Timeline Context Menus
27.5.3
How to Add Drag and Drop to a Timeline
28
Using Map Components
28.1
About Map Components
28.1.1
Map Component Use Cases and Examples
28.1.2
End User and Presentation Features of Maps
28.1.2.1
Geographic Map End User and Presentation Features
28.1.2.2
Thematic Map End User and Presentation Features
28.1.3
Additional Functionality for Map Components
28.2
Using the Geographic Map Component
28.2.1
Configuring Geographic Map Components
28.2.2
How to Add a Geographic Map to a Page
28.2.3
What Happens When You Add a Geographic Map to a Page
28.2.4
What You May Need to Know About Active Data Support for Map Point Themes
28.3
Customizing Geographic Map Display Attributes
28.3.1
How to Adjust the Map Size
28.3.2
How to Specify Strategy for Map Zoom Control
28.3.3
How to Customize and Use Map Selections
28.3.4
How to Customize the Map Legend
28.4
Customizing Geographic Map Themes
28.4.1
How to Customize Zoom Levels for a Theme
28.4.2
How to Customize the Labels of a Map Theme
28.4.3
How to Customize Color Map Themes
28.4.4
How to Customize Point Images in a Point Theme
28.4.5
What Happens When You Customize the Point Images in a Map
28.4.6
How to Customize the Bars in a Bar Graph Theme
28.4.7
What Happens When You Customize the Bars in a Map Bar Graph Theme
28.4.8
How to Customize the Slices in a Pie Graph Theme
28.4.9
What Happens When You Customize the Slices in a Map Pie Graph Theme
28.5
Adding a Toolbar to a Geographic Map
28.5.1
How to Add a Toolbar to a Map
28.5.2
What Happens When You Add a Toolbar to a Map
28.6
Using Thematic Map Components
28.6.1
Configuring Thematic Maps
28.6.2
What You May Need to Know About Prebuilt Base Maps
28.6.3
Using the Layer Browser
28.6.4
How to Add a Thematic Map to a Page
28.6.5
What Happens When You Add a Thematic Map to a Page
28.6.6
What You May Need to Know About Thematic Map Image Formats
28.7
Customizing Thematic Map Display Attributes
28.7.1
How to Customize Thematic Map Labels
28.7.2
How to Configure Tooltips to Display Data
28.7.3
How to Format Numeric Data Values in Area and Marker Labels
28.8
Adding Interactive Features to Thematic Maps
28.8.1
How to Configure Selection and Action Events in Thematic Maps
28.8.2
How to Add Popups to Thematic Map Areas and Markers
28.8.3
How to Configure Animation Effects
28.8.4
How to Add Drag and Drop to Thematic Map Components
29
Using Hierarchy Viewer Components
29.1
About Hierarchy Viewer Components
29.1.1
Hierarchy Viewer Use Cases and Examples
29.1.2
End User and Presentation Features
29.1.2.1
Layouts
29.1.2.2
Navigation
29.1.2.3
Tilt Panning
29.1.2.4
Control Panel
29.1.2.5
Printing
29.1.2.6
Bi-directional Support
29.1.2.7
State Management
29.1.3
Additional Functionality for Hierarchy Viewer Components
29.2
Using Hierarchy Viewer Components
29.2.1
Configuring Hierarchy Viewer Components
29.2.2
How to Add a Hierarchy Viewer to a Page
29.2.3
What Happens When You Add a Hierarchy Viewer to a Page
29.2.4
What You May Need to Know About Hierarchy Viewer Rendering and HTML
29.3
Managing Nodes in a Hierarchy Viewer
29.3.1
How to Specify Node Content
29.3.2
How to Configure the Controls on a Node
29.3.3
Specifying a Node Definition for an Accessor
29.3.4
Associating a Node Definition with a Particular Set of Data Rows
29.3.5
How to Specify Ancestor Levels for an Anchor Node
29.4
Using Panel Cards
29.4.1
How to Create a Panel Card
29.4.2
What Happens at Runtime: How the Panel Card Component Is Rendered
29.5
Configuring Navigation in a Hierarchy Viewer
29.5.1
How to Configure Upward Navigation in a Hierarchy Viewer
29.5.2
How to Configure Same-Level Navigation in a Hierarchy Viewer
29.5.3
What Happens When You Configure Same-Level Navigation in a Hierarchy Viewer
29.6
Customizing the Appearance of a Hierarchy Viewer
29.6.1
How to Adjust the Display Size and Styles of a Hierarchy Viewer
29.6.1.1
What You May Need to Know About Skinning and the hierarchyViewer Component
29.6.2
Including Images in a Hierarchy Viewer
29.6.3
How to Configure the Display of the Control Panel
29.6.4
How to Configure the Display of Links and Labels
29.6.5
How to Disable the Hover Detail Window
29.7
Adding Interactivity to a Hierarchy Viewer Component
29.7.1
How to Configure Node Selection Action
29.7.2
Configuring a Hierarchy Viewer to Invoke a Popup Window
29.7.3
Configuring Hierarchy Viewer Drag and Drop
29.7.3.1
How to Configure Hierarchy Viewer Drag and Drop
29.7.3.2
What You May Need to Know About Configuring Hierarchy Viewer Drag and Drop
29.8
Adding Search to a Hierarchy Viewer
29.8.1
How to Configure Searching in a Hierarchy Viewer
29.8.2
What You May Need to Know About Configuring Search in a Hierarchy Viewer
30
Using Treemap and Sunburst Components
30.1
About the Treemap and Sunburst Components
30.1.1
Treemap and Sunburst Use Cases and Examples
30.1.2
End User and Presentation Features of Treemaps and Sunbursts
30.1.2.1
Treemap and Sunburst Layouts
30.1.2.2
Attribute Groups
30.1.2.3
Legend Support
30.1.2.4
Pattern Support
30.1.2.5
Node Selection Support
30.1.2.6
Tooltip Support
30.1.2.7
Popup Support
30.1.2.8
Context Menus
30.1.2.9
Drilling Support
30.1.2.10
Other Node Support
30.1.2.11
Drag and Drop Support
30.1.2.12
Sorting Support
30.1.2.13
Treemap and Sunburst Image Formats
30.1.2.14
Advanced Node Content
30.1.2.15
Printing and Email Support
30.1.2.16
Active Data Support (ADS)
30.1.2.17
Isolation Support (Treemap Only)
30.1.2.18
Treemap Group Node Header Customization (Treemap Only)
30.1.3
Additional Functionality for Treemap and Sunburst Components
30.2
Using the Treemap and Sunburst Components
30.2.1
Treemap and Sunburst Data Requirements
30.2.2
Using the Treemap Component
30.2.2.1
Configuring Treemaps
30.2.2.2
How to Add a Treemap to a Page
30.2.2.3
What Happens When You Add a Treemap to a Page
30.2.3
Using the Sunburst Component
30.2.3.1
Configuring Sunbursts
30.2.3.2
How to Add a Sunburst to a Page
30.2.3.3
What Happens When You Add a Sunburst to a Page
30.3
Adding Data to Treemap and Sunburst Components
30.3.1
How to Add Data to Treemap or Sunburst Components
30.3.2
What You May Need to Know about Adding Data to Treemaps and Sunbursts
30.4
Customizing Treemap and Sunburst Display Elements
30.4.1
Configuring Treemap and Sunburst Display Size and Style
30.4.2
Configuring Pattern Display
30.4.3
Configuring Treemap and Sunburst Attribute Groups
30.4.3.1
How to Configure Treemap and Sunburst Discrete Attribute Groups
30.4.3.2
How to Configure Treemap or Sunburst Continuous Attribute Groups
30.4.3.3
What You May Need to Know About Configuring Attribute Groups
30.4.4
How to Configure Treemap and Sunburst Legends
30.4.5
Configuring the Treemap and Sunburst Other Node
30.4.5.1
How to Configure the Treemap and Sunburst Other Node
30.4.5.2
What You May Need to Know About Configuring the Treemap and Sunburst Other Node
30.4.6
Configuring Treemap and Sunburst Sorting
30.4.7
Configuring Treemap and Sunburst Advanced Node Content
30.4.7.1
How to Add Advanced Node Content to a Treemap
30.4.7.2
How to Add Advanced Root Node Content to a Sunburst:
30.4.7.3
What You May Need to Know About Configuring Advanced Node Content on Treemaps
30.4.8
How to Configure Animation in Treemaps and Sunbursts
30.4.9
Configuring Labels in Treemaps and Sunbursts
30.4.9.1
How to Configure Treemap Leaf Node Labels
30.4.9.2
How to Configure Sunburst Node Labels
30.4.10
Configuring Treemap Node Headers and Group Gap Display
30.4.10.1
How to Configure Treemap Node Headers
30.4.10.2
What You May Need to Know About Treemap Node Headers
30.4.10.3
How to Customize Treemap Group Gaps
30.5
Adding Interactive Features to Treemaps and Sunbursts
30.5.1
Configuring Treemap and Sunburst Tooltips
30.5.2
Configuring Treemap and Sunburst Popups
30.5.2.1
How to Add Popups to Treemap and Sunburst Components
30.5.2.2
What You May Need to Know About Adding Popups to Treemaps and Sunburst Components
30.5.3
Configuring Treemap and Sunburst Selection Support
30.5.3.1
How to Add Selection Support to Treemap and Sunburst Components
30.5.3.2
What You May Need to Know About Adding Selection Support to Treemaps and Sunbursts
30.5.4
Configuring Treemap and Sunburst Context Menus
30.5.4.1
How to Configure Treemap and Sunburst Context Menus
30.5.4.2
What You May Need to Know About Configuring Treemap and Sunburst Context Menus
30.5.5
Configuring Treemap and Sunburst Drilling Support
30.5.5.1
How to Configure Treemap and Sunburst Drilling Support
30.5.5.2
What You May Need to Know About Treemaps and Drilling Support
30.5.6
How to Add Drag and Drop to Treemaps and Sunbursts
30.5.7
Configuring Isolation Support (Treemap Only)
30.5.7.1
How to Disable Isolation Support
30.5.7.2
What You May Need to Know About Treemaps and Isolation Support
Part VI Completing Your View
31
Customizing the Appearance Using Styles and Skins
31.1
About Customizing the Appearance Using Styles and Skins
31.1.1
Customizing the Appearance Use Cases and Examples
31.1.2
Additional Functionality for Customizing the Appearance
31.2
Changing the Style Properties of a Component
31.2.1
How to Set an Inline Style
31.2.2
How to Set a Style Class
31.3
Enabling End Users to Change an Application's ADF Skin
31.3.1
How to Enable End Users Change an Application's ADF Skin
31.3.2
What Happens at Runtime: How End Users Change an Application's ADF Skin
32
Internationalizing and Localizing Pages
32.1
About Internationalizing and Localizing ADF Faces Pages
32.1.1
Internationalizing and Localizing Pages Use Cases and Examples
32.1.2
Additional Functionality for Internationalizing and Localizing Pages
32.2
Using Automatic Resource Bundle Integration in JDeveloper
32.2.1
How to Set Resource Bundle Options
32.2.2
What Happens When You Set Resource Bundle Options
32.2.3
How to Create an Entry in a JDeveloper-Generated Resource Bundle
32.2.4
What Happens When You Create an Entry in a JDeveloper-Generated Resource Bundle
32.3
Manually Defining Resource Bundles and Locales
32.3.1
How to Create a Resource Bundle as a Property File or an XLIFF File
32.3.2
How to Create a Resource Bundle as a Java Class
32.3.3
How to Edit a Resource Bundle File
32.3.4
How to Register a Locale for Your Application
32.3.5
How to Register a Resource Bundle in Your Application
32.3.6
How to Use Resource Bundles in Your Application
32.3.7
What You May Need to Know About ADF Skins and Control Hints
32.3.8
What You May Need to Know About Overriding a Resource Bundle in a Customizable Application
32.4
Configuring Pages for an End User to Specify Locale at Runtime
32.4.1
How to Configure a Page for an End User to Specify Locale
32.4.2
What Happens When You Configure a Page to Specify Locale
32.4.3
What Happens at Runtime: How an End User Specifies a Locale
32.5
Configuring Optional ADF Faces Localization Properties
32.5.1
How to Configure Optional Localization Properties
33
Developing Accessible ADF Faces Pages
33.1
About Accessibility Support In ADF Faces
33.1.1
ADF Faces Accessibility Support Use Cases and Examples
33.1.2
Additional Information for Accessibility Support in ADF Pages
33.2
Configuring Accessibility Support In ADF Faces
33.2.1
Accessibility Support Guidelines at Sign-In
33.2.2
How to Configure Accessibility Support in trinidad-config.xml
33.3
Specifying Component-Level Accessibility Properties
33.3.1
ADF Faces Component Accessibility Guidelines
33.3.2
Using ADF Faces Table Components in Screen Reader Mode
33.3.3
ADF Data Visualization Components Accessibility Guidelines
33.3.4
How to Define Access Keys for an ADF Faces Component
33.3.5
How to Define Localized Labels and Access Keys
33.4
Creating Accessible Pages
33.4.1
How to Use Partial Page Rendering
33.4.2
How to Use Scripting
33.4.3
How to Use Styles
33.4.4
How to Use Page Structures and Navigation
33.4.5
How to Use Images and Tables
33.4.6
How to Use WAI-ARIA Landmark Regions
33.5
Running Accessibility Audit Rules
33.5.1
How to Create an Audit Profile
33.5.2
How to Run Audit Report
34
Creating Custom ADF Faces Components
34.1
About Custom ADF Faces Components
34.1.1
Developing a Custom Component with JDeveloper
34.1.2
An Example Custom Component
34.2
Setting Up the Workspace and Starter Files
34.2.1
How to Set Up the JDeveloper Custom Component Environment
34.2.2
How to Add a Faces Configuration File
34.2.3
How to Add a MyFaces Trinidad Skins Configuration File
34.2.4
How to Add a Cascading Style Sheet
34.2.5
How to Add a Resource Kit Loader
34.2.6
How to Add a JavaServer Pages Tag Library Descriptor File
34.2.7
How to Add a JavaScript Library Feature Configuration File
34.2.8
How to Add a Facelets Tag Library Configuration File
34.3
Developing for the Client-Side
34.3.1
How to Create a JavaScript File for a Component
34.3.2
How to Create a Javascript File for an Event
34.3.3
How to Create a JavaScript File for a Peer
34.3.4
How to Add a Custom Component to a JavaScript Library Feature Configuration File
34.4
Developing for the Server-Side
34.4.1
How to Create a Class for an Event Listener
34.4.2
How to Create a Class for an Event
34.4.3
Creating the Component
34.4.4
How to Create a Class for a Component
34.4.5
How to Add the Component to the faces-config.xml File
34.4.6
How to Create a Class for a Resource Bundle
34.4.7
How to Create a Class for a Renderer
34.4.8
How to Add the Renderer to the faces-config.xml File
34.4.9
How to Create JSP Tag Properties
34.4.10
How to Configure the Tag Library Descriptor
34.4.11
How to Create a Resource Loader
34.4.12
How to Create a MyFaces Trinidad Cascading Style Sheet
34.5
Deploying a Component Library
34.5.1
How to Deploy a Component Library
34.6
Adding the Custom Component to an Application
34.6.1
How to Configure the Web Deployment Descriptor
34.6.2
How to Enable JavaScript Logging and Assertions
34.6.3
How to Add a Custom Component to JSF Pages
34.6.4
What You May Need to Know About Using the tagPane Custom Component
35
Allowing User Customization on JSF Pages
35.1
About User Customization
35.1.1
User Customization Use Cases and Examples
35.2
Implementing Session Change Persistence
35.2.1
How to Implement Session Change Persistence
35.2.2
What Happens When You Configure Your Application to Use Change Persistence
35.2.3
What Happens at Runtime: How Changes are Persisted
35.2.4
What You May Need to Know About Using Change Persistence on Templates and Regions
36
Adding Drag and Drop Functionality
36.1
About Drag and Drop Functionality
36.1.1
Additional Functionality for Drag and Drop
36.2
Adding Drag and Drop Functionality for Attributes
36.2.1
How to add Drag and Drop Functionality
36.3
Adding Drag and Drop Functionality for Objects
36.3.1
How to Add Drag and Drop Functionality for a Single Object
36.3.2
What Happens at Runtime: How to Use Keyboard Modifiers
36.3.3
What You May Need to Know About Using the ClientDropListener
36.4
Adding Drag and Drop Functionality for Collections
36.4.1
How to Add Drag and Drop Functionality for Collections
36.4.2
What You May Need to Know About the dragDropEndListener
36.5
Adding Drag and Drop Functionality for Components
36.5.1
How to Add Drag and Drop Functionality for Components
36.6
Adding Drag and Drop Functionality Into and Out of a panelDashboard Component
36.6.1
How to Add Drag and Drop Functionality Into a panelDashboard Component
36.6.2
How to Add Drag and Drop Functionality Out of a panelDashboard Component
36.7
Adding Drag and Drop Functionality to a Calendar
36.7.1
How to Add Drag and Drop Functionality to a Calendar
36.7.2
What You May Need to Know About Dragging and Dropping in a Calendar
36.8
Adding Drag and Drop Functionality for DVT Components
36.8.1
Adding Drag and Drop Functionality for DVT Graphs
36.8.1.1
How to Add Drag and Drop Functionality for a DVT Graph
36.8.2
Adding Drag and Drop Functionality for DVT Gantt Charts
36.8.2.1
How to Add Drag and Drop Functionality for a DVT Gantt Component
36.8.3
Adding Drag and Drop Functionality for DVT Hierarchy Viewers, Sunbursts, and Treemaps
36.8.3.1
Drag and Drop Example for DVT Hierarchy Viewers
36.8.3.2
Drag and Drop Example for DVT Sunbursts
36.8.3.3
Drag and Drop Example for DVT Treemaps
36.8.3.4
How to Add Drag and Drop Functionality for a DVT Hierarchy Viewer, Sunburst, or Treemap Component
36.8.4
Adding Drag and Drop Functionality for Timeline Components
37
Using Different Output Modes
37.1
About Using Different Output Modes
37.1.1
Output Mode Use Cases
37.2
Displaying a Page for Print
37.2.1
How to Use the showPrintablePageBehavior Tag
37.3
Creating Emailable Pages
37.3.1
How to Create an Emailable Page
37.3.2
How to Test the Rendering of a Page in an Email Client
37.3.3
What Happens at Runtime: How ADF Faces Converts JSF Pages to Emailable Pages
38
Using the Active Data Service with an Asynchronous Backend
38.1
About the Active Data Service
38.1.1
Active Data Service Use Cases and Examples
38.2
Process Overview for Using Active Data Service
38.3
Implementing the ActiveModel Interface in a Managed Bean
38.4
What You May Need to Know About Maintaining Read Consistency
38.5
Passing the Event Into the Active Data Service
38.6
Registering the Data Update Event Listener
38.7
Configuring the ADF Component to Display Active Data
Part VII Appendixes
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
Scrollbar Behavior in Tables
A.2.3.31
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 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
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
Sample for Chapter 23, "Using Graph Components"
F.3
Samples for Chapter 30, "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 34, "Creating Custom ADF Faces Components"
F.4.1
Event Code for JavaScript
F.4.2
Example Tag Library Descriptor File Code
F.4.3
Example Component Class Code
F.4.4
Example Renderer Class Code
G
Troubleshooting ADF Faces
G.1
Introduction to Troubleshooting ADF Faces
G.2
Getting Started with Troubleshooting the View Layer of an ADF Application
G.3
Resolving Common Problems
G.3.1
Application Displays an Unexpected White Background
G.3.2
Application is Missing Expected Images
G.3.3
ADF Skin Does Not Render Properly
G.3.4
Data Visualization Components Fail to Display as Expected
G.3.5
High Availability Application Displays a NotSerializableException
G.3.6
Unable to Reproduce Problem in All Web Browsers
G.3.7
Application is Missing Content
G.3.8
Browser Displays an ADF_Faces-60098 Error
G.3.9
Browser Displays an HTTP 404 or 500 Error
G.3.10
Browser Fails to Navigate Between Pages
G.4
Using My Oracle Support for Additional Troubleshooting Information
Scripting on this page enhances content navigation, but does not change the content in any way.