O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Oracle Application Express 4.0 with Ext JS

Book Description

Deliver rich desktop-styled Oracle APEX applications using the powerful Ext JS JavaScript library

  • Build robust, feature-rich web applications using Oracle APEX and Ext JS
  • Add more sophisticated components and functionality to an Oracle APEX application using Ext JS
  • Build your own themes based on Ext JS into APEX - developing templates for regions, labels, and lists
  • Create plug-ins in your application workspace to enhance the existing built-in functionality of your APEX applications
  • Extend native APEX functionality using Ext JS Widgets and Components through Plug-ins and Dynamic Actions
  • Written in clear, plain English, this book is packed with working examples and innovative tips

In Detail

Modern web-based applications are moving rapidly away from simple HTML pages, with users expecting desktop styled rich internet applications. Oracle Application Express includes multiple built-in interfaces especially designed for adding JavaScript libraries and components. Ext JS is a polished, high performance set of customizable UI widgets with a well designed and extensible Component model. Combining Ext JS components with the well engineered server side processing provided by Oracle APEX is a recipe for success.

Written by Oracle ACE, Mark Lancaster, this book is a complete practical guide to building robust desktop-styled web applications using Oracle Application Express and the powerful Ext JS JavaScript library

This book starts off by setting up a productive environment for Oracle APEX and Ext JS, preparing you to get ready to code, and then gradually introducing you to the Ext JS API. You then create a theme based on Ext JS into APEX from scratch, starting with integrating the Ext JS library into the page template, then covering all the template types.

You further enrich your interface by integrating Ext JS form components and Ext JS layout elements. You are shown how to integrate components including tab panels, toolbars and menus. Existing components are also enhanced, transforming select lists into auto-completing combo boxes and text-areas auto-sizing as you type.

Using exciting new Plug-ins feature, you will learn how to develop custom APEX components that can be used declaritively. This book extends native APEX functionality by integrating Ext JS widgets and components with integrated server-side JavaScript generation, AJAX processing and validation.

The book then covers integrating Plug-ins with APEX provided Dynamic Actions JavaScript. You proceed further to build advanced interactive components using AJAX enabled trees and grids.

Then you will see how to use the iFrames component along with page templates to build a multi-page interface and also deal with JavaScript communication between iFrames.

Finally, you will integrate Ext JS with jQuery using the Ext jQuery adaptor. This book also covers examples of jQuery functionality interacting with Ext JS. By the end of this book you will also learn to improve the performance of your JavaScripts.

Build feature rich, browser independent APEX applications using an advanced JavaScript application development framework—Ext. JS

Table of Contents

  1. Oracle Application Express 4.0 with Ext JS
    1. Oracle Application Express 4.0 with Ext JS
    2. Credits
    3. About the Author
    4. About the Reviewer
    5. www.PacktPub.com
      1. Support files, eBooks, discount offers and more
      2. Why Subscribe?
      3. Free Access for Packt account holders
      4. Instant Updates on New Packt Books
    6. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Errata
        3. Piracy
        4. Questions
    7. 1. Setting up an Oracle APEX and Ext JS Environment
      1. Setting up for success
      2. Installing Oracle APEX
      3. Downloading Ext JS
      4. Which web server to use?
        1. Storing your web assets
        2. Customizing application builder files
      5. Oracle HTTP Server
        1. Loading Ext JS onto the Oracle HTTP Server
      6. Embedded PL/SQL Gateway
        1. Loading Ext JS onto the Embedded PL/SQL Gateway
      7. Oracle APEX listener
        1. Loading Ext JS for the Oracle APEX listener
      8. Overviewing the production setup
      9. Using Ext JS in a hosted APEX environment
      10. Installing a source code repository
      11. Automating the build process
        1. Configuring and using APEXExport
        2. More ideas for automating the build process
      12. Setting up a local web server
      13. Summary
    8. 2. Getting Acquainted with Ext
      1. Building a sandbox
      2. Cross-browser DOM manipulation with Ext.Element
        1. Heavyweight versus flyweight
        2. Sizing and positioning
        3. CSS classes and styling
        4. DOM traversal
        5. Selecting multiple elements
        6. DOM manipulation
      3. Defining event handlers
        1. Using event delegation to reduce memory consumption
        2. One-off events
      4. Parameter passing using object notation
        1. Old-school parameters
        2. Using object notation
        3. Basic syntax
      5. Use namespacing to avoid collisions
        1. Ext.namespace
      6. Ext.BLANK_IMAGE_URL
      7. Summary
    9. 3. Building a Ext JS Theme into APEX
      1. Theme basics
        1. Separation of concerns
        2. Standard themes
      2. Creating a theme
      3. Building a Viewport Page template
        1. Starting with a standalone template
        2. Loading the page template into APEX
      4. Issue when input items are outside the form
        1. Ensuring that input items always remain with the form
      5. Summary
    10. 4. Ext Themed Regions, Labels, and Lists
      1. Region templates
        1. Report Region
        2. Form Region
        3. Additional region templates
      2. Label templates
        1. Optional label
          1. QuickTips for error messages
        2. Optional label with help
        3. Mandatory label
        4. Mandatory label with help
        5. Hidden label
      3. List templates
        1. Vertical unordered list without bullets
        2. Vertical unordered list with bullets
        3. Building an Ext JS tree template using lists
          1. APEX 4.0 tree template
          2. Prior APEX versions tree template
          3. Highlighting the current node
          4. Customizing individual nodes
      4. Summary
    11. 5. Ext Themed Buttons, Popups, Calendars, and Reports
      1. Button templates
        1. Sliding doors meet CSS sprites
          1. APEX sliding door CSS sprite button template
        2. Building a hideous Ext.Button
        3. Converting our buttons
      2. Popup List of Values template
      3. Breadcrumb templates
        1. Benefits of using breadcrumbs
        2. When not to use breadcrumbs
        3. Basic horizontal breadcrumb template
      4. Report templates
        1. It's a classic
          1. A better sorting indicator
          2. CSS for the standard report
      5. Calendar templates
        1. Removing unused templates quickly
      6. Publishing your theme
      7. Summary
    12. 6. Adding Ext Layout Elements
      1. Speed dating with a Date Picker
        1. Converting Classic Dates to the Ext.DatePicker
      2. Resizable text areas
      3. Auto-sizing text areas
      4. Auto-completing text fields
        1. Adding auto-complete to select lists
      5. Building tab panels using subregions
        1. Building the tab panel template
        2. Configuring the tab panel template
      6. Toolbars and menus
        1. Attaching the toolbar to the center panel
      7. Summary
    13. 7. Working with Plug-ins and Dynamic Actions
      1. A home for your plug-ins and dynamic actions
      2. Building a better Number Field
        1. Creating a plug-in item
        2. Defining the plug-in Callback functions
        3. Creating a page item based on the Number Field plug-in
        4. Render functionality for the Number Field plug-in
        5. Validation functionality for the Number Field plug-in
      3. Summary
    14. 8. Data Stores, AJAX-enabled Plug-ins, and Dynamic Actions
      1. Storing data on the browser client
        1. Using Data Stores with large datasets
      2. Building a ComboBox plug-in
        1. Defining the ComboBox plug-in
        2. Defining the ComboBox plug-in callback functions
        3. Rendering functionality for the ComboBox plug-in
        4. AJAX functionality for the ComboBox plug-in
        5. Using the Ext.XTemplate to provide enhanced formatting
        6. Validation functionality for the ComboBox plug-in
      3. Mixing ComboBoxes with Dynamic Actions
        1. Integrating plugins with the Dynamic Action framework
        2. Defining custom events for the ComboBox
      4. Summary
    15. 9. Getting Interactive with GridPanels
      1. Components making up a GridPanel
        1. Defining the Data Store
        2. Configuring the Column Model
        3. Defining the GridView
        4. Defining the Selection Model
        5. Built-in features
      2. Getting the GridPanel into APEX
        1. Testing the concepts first
          1. Converting APEX-generated table into a GridPanel
            1. Idea: Use APEX report table as local Data Store
          2. GridPanel pagination using APEX Partial Page Refreshes
      3. GridPanel as a region plug-in
        1. Plug-in definition
        2. Plug-in package
        3. Render functionality for the GridPanel plug-in
          1. Minor pagination issue
        4. AJAX functionality for the GridPanel plug-in
        5. Building a custom DataReader
        6. Creating a custom TableGrid component
        7. Making the TableGrid Stateful
      4. Using the TableGrid
        1. TableGrid template
        2. Convert Classic Reports to TableGrids
      5. Summary
    16. 10. IFrame Tabs, Panels, and Popup Windows
      1. Embedding pages using iFrame panels
        1. Reusable iFrameComponent
        2. Resizable iFrame panel
        3. Pre-configured components using the factory pattern
        4. IFrame panel factory pattern
      2. IFrame panel plug-in
        1. Plug-in package
        2. Render functionality for the iFrame panel plug-in
      3. Modal popup windows
        1. Modal iFramed window
        2. Popup window component
        3. Ext.apex.PopupWindow example
          1. Link Column settings
            1. Classic Report link settings
          2. Create Button settings
          3. Closing the PopupWindow
          4. Cancel Button functionality
          5. Apply Changes functionality
      4. Creating a tabbed document interface
        1. Examining the HTML page
        2. Examining the JavaScript
        3. Adding the tabbed document interface to APEX
      5. Summary
    17. 11. Performance Tuning Your JavaScript
      1. Best practices for JavaScript and CSS
        1. HTTP compression
        2. Externalize JavaScript and CSS
        3. Combining JavaScript and CSS files
        4. Minifying JavaScript and CSS files
        5. Ordering CSS and JavaScript files
      2. JSBuilder2 installation and usage
        1. Installation
        2. JSBuilder2 usage
        3. JSB2 file format
      3. Eliminating unused Ext JS library components
        1. Removing duplicate functionality
        2. Removing unused components
      4. Minimizing Application JavaScript
      5. Summary