W e s Pro jQuery in Oracle Application Express le THE EXPERT’S VOICE® IN ORACLE y Building on your existing SQL skills, this book teaches you how to apply useful jQuery techniques to applications developed using the Oracle Application Express (APEX) development tool. P r Pro jQuery in o Pro jQuery in Oracle Application Express covers the fundamentals you need to start enhancing your applications, with some practical examples that you’ll want in your own applications jQ tomorrow. jQuery is a framework already utilized by APEX, and by learning the basics of u jQuery you can leverage the flexible dynamic actions provided and see your applications raise e r the bar. Discover why you should embrace HTML5, CSS, and jQuery library capabilities, and y Oracle Application how they can enhance the user experience. i n Oracle Application Express is a mature, browser-based, rapid-development environment with O a strong community base around the #orclapex tag. jQuery is a language for the browser, with r a it you can treat your web page as if it were a database, interacting with a range of features c and functions that can make you into a more constructive, more efficient developer. le Express • Exemplifies how productive APEX, CSS, and jQuery can be A p • Transforms your PL/SQL skills to CSS and jQuery p • Provides jQuery snippets to enhance your application UX l i c a t i o n Practical techniques to enhance your E x p APEX user interface r e s — s Scott Wesley Shelve in: IISSBBNN 99787-81--14-84428-4029-620-9262-2 Databases/Oracle User level: Beginning–Advanced 9 781484 209622 SOURCE CODE ONLINE www.apress.com www.it-ebooks.info Pro jQuery in Oracle Application Express Scott Wesley www.it-ebooks.info Pro jQuery in Oracle Application Express Copyright © 2015 by Scott Wesley This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Exempted from this legal reservation are brief excerpts in connection with reviews or scholarly analysis or material supplied specifically for the purpose of being entered and executed on a computer system, for exclusive use by the purchaser of the work. Duplication of this publication or parts thereof is permitted only under the provisions of the Copyright Law of the Publisher’s location, in its current version, and permission for use must always be obtained from Springer. Permissions for use may be obtained through RightsLink at the Copyright Clearance Center. Violations are liable to prosecution under the respective Copyright Law. ISBN-13 (pbk): 978-1-4842-0962-2 ISBN-13 (electronic): 978-1-4842-0961-5 Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein. Managing Director: Welmoed Spahr Lead Editor: Jonathan Gennick Technical Reviewer: Alex Fatkulin Editorial Board: Steve Anglin, Louise Corrigan, Jim DeWolf, Jonathan Gennick, Robert Hutchinson, Michelle Lowman, James Markham, Susan McDermott, Matthew Moodie, Jeffrey Pepper, Douglas Pundick, Ben Renow-Clarke, Gwenan Spearing Coordinating Editor: Jill Balzano Copy Editor: Ann Dickson Compositor: SPi Global Indexer: SPi Global Artist: SPi Global Cover Designer: Anna Ishchenko Distributed to the book trade worldwide by Springer Science+Business Media New York, 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail [email protected], or visit www.springer.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation. For information on translations, please e-mail [email protected], or visit www.apress.com. Apress and friends of ED books may be purchased in bulk for academic, corporate, or promotional use. eBook versions and licenses are also available for most titles. For more information, reference our Special Bulk Sales–eBook Licensing web page at www.apress.com/bulk-sales. Any source code or other supplementary material referenced by the author in this text is available to readers at www.apress.com. For detailed information about how to locate your book’s source code, go to www.apress.com/source-code/. www.it-ebooks.info I would like to thank all the scientists and visionaries that make modern life possible. www.it-ebooks.info www.it-ebooks.info Contents at a Glance About the Author ����������������������������������������������������������������������������������������������������xix About the Technical Reviewer ��������������������������������������������������������������������������������xxi Acknowledgments ������������������������������������������������������������������������������������������������xxiii Introduction �����������������������������������������������������������������������������������������������������������xxv ■ Part I: Getting Started �������������������������������������������������������������������������1 ■ Chapter 1: CSS—The Secret ����������������������������������������������������������������������������������3 ■ Chapter 2: jQuery Fundamentals �������������������������������������������������������������������������13 ■ Chapter 3: Browser Tools ������������������������������������������������������������������������������������23 ■ Part II: Integrating into APEX ������������������������������������������������������������29 ■ Chapter 4: Enlarging Content�������������������������������������������������������������������������������31 ■ Chapter 5: Firing Dynamic Actions ����������������������������������������������������������������������43 ■ Chapter 6: Implementing jQuery Alternatives �����������������������������������������������������53 ■ Chapter 7: Highlighting Selected Row �����������������������������������������������������������������59 ■ Chapter 8: Adding Buttons to Reports �����������������������������������������������������������������65 ■ Part III: Playing with Processes �������������������������������������������������������75 ■ Chapter 9: Choosing Process Options �����������������������������������������������������������������77 ■ Chapter 10: Link a Check Box to a Collection ������������������������������������������������������89 ■ Chapter 11: Using jQuery Dialogs ������������������������������������������������������������������������99 ■ Chapter 12: Using Modal Forms ������������������������������������������������������������������������107 ■ Chapter 13: Receiving Information from the Database �������������������������������������117 v www.it-ebooks.info ■ Contents at a GlanCe ■ Part IV: Reporting Options ��������������������������������������������������������������129 ■ Chapter 14: Adding Visualization with JSON �����������������������������������������������������131 ■ Chapter 15: Applying jQuery Post Render ���������������������������������������������������������147 ■ Chapter 16: Clicking Entire Rows ����������������������������������������������������������������������155 ■ Chapter 17: Customizing Pagination �����������������������������������������������������������������161 ■ Part V: Diversifying Techniques ������������������������������������������������������167 ■ Chapter 18: Customizing Item Help �������������������������������������������������������������������169 ■ Chapter 19: File Browse Validation �������������������������������������������������������������������179 ■ Chapter 20: CSS Media Queries �������������������������������������������������������������������������191 ■ Chapter 21: Coding for the Future ���������������������������������������������������������������������205 Index ���������������������������������������������������������������������������������������������������������������������217 vi www.it-ebooks.info Contents About the Author ����������������������������������������������������������������������������������������������������xix About the Technical Reviewer ��������������������������������������������������������������������������������xxi Acknowledgments ������������������������������������������������������������������������������������������������xxiii Introduction �����������������������������������������������������������������������������������������������������������xxv ■ Part I: Getting Started �������������������������������������������������������������������������1 ■ Chapter 1: CSS—The Secret ����������������������������������������������������������������������������������3 Understanding the Selector ����������������������������������������������������������������������������������������������3 The Web Page Is Hierarchical Data ���������������������������������������������������������������������������������������������������������3 HTML, CSS & jQuery Syntax Examples ���������������������������������������������������������������������������������������������������5 SQL Analogy ��������������������������������������������������������������������������������������������������������������������������������������������6 Understanding Selectors ��������������������������������������������������������������������������������������������������8 Tags, IDs, and Classes ����������������������������������������������������������������������������������������������������������������������������8 Attributes and Operator ��������������������������������������������������������������������������������������������������������������������������8 Pseudo-Selectors �����������������������������������������������������������������������������������������������������������������������������������9 Browser Feedback ����������������������������������������������������������������������������������������������������������������������������������9 Events �����������������������������������������������������������������������������������������������������������������������������10 Translating PL/SQL to JavaScript �����������������������������������������������������������������������������������11 What’s Available from the Box? ��������������������������������������������������������������������������������������12 Summary ������������������������������������������������������������������������������������������������������������������������12 vii www.it-ebooks.info ■ Contents ■ Chapter 2: jQuery Fundamentals �������������������������������������������������������������������������13 Including jQuery in Your Page�����������������������������������������������������������������������������������������13 Getting and Setting ���������������������������������������������������������������������������������������������������������14 Traversing �����������������������������������������������������������������������������������������������������������������������15 Siblings �������������������������������������������������������������������������������������������������������������������������������������������������15 Ancestry �����������������������������������������������������������������������������������������������������������������������������������������������16 Chaining �������������������������������������������������������������������������������������������������������������������������17 Effects ����������������������������������������������������������������������������������������������������������������������������18 Callbacks ������������������������������������������������������������������������������������������������������������������������19 AJAX Callbacks �������������������������������������������������������������������������������������������������������������������������������������19 Dynamic Actions �����������������������������������������������������������������������������������������������������������������������������������19 Summary ������������������������������������������������������������������������������������������������������������������������21 ■ Chapter 3: Browser Tools ������������������������������������������������������������������������������������23 Chrome vs� the Rest �������������������������������������������������������������������������������������������������������23 Developer Tools ��������������������������������������������������������������������������������������������������������������23 Exploring the Contents of Your Page �����������������������������������������������������������������������������������������������������24 Console �������������������������������������������������������������������������������������������������������������������������������������������������26 Mobile Emulator �����������������������������������������������������������������������������������������������������������������������������������27 Summary ������������������������������������������������������������������������������������������������������������������������28 ■ Part II: Integrating into APEX ������������������������������������������������������������29 ■ Chapter 4: Enlarging Content�������������������������������������������������������������������������������31 APEX Application ������������������������������������������������������������������������������������������������������������31 Enlarging the Region Title ����������������������������������������������������������������������������������������������31 Using Inspect Element to Find the Page Element ���������������������������������������������������������������������������������31 Identifying CSS Selector for jQuery ������������������������������������������������������������������������������������������������������33 Using a Static Region ID �����������������������������������������������������������������������������������������������������������������������34 Inline CSS ���������������������������������������������������������������������������������������������������������������������������������������������35 viii www.it-ebooks.info ■ Contents Increase Font Sizes throughout the Page �����������������������������������������������������������������������38 Enlarging Datepicker Elements ��������������������������������������������������������������������������������������38 Summary ������������������������������������������������������������������������������������������������������������������������41 ■ Chapter 5: Firing Dynamic Actions ����������������������������������������������������������������������43 Creating a New Report Page ������������������������������������������������������������������������������������������43 Refresh Report on Search ����������������������������������������������������������������������������������������������44 Search Field Listener ����������������������������������������������������������������������������������������������������������������������������44 Submit page item ���������������������������������������������������������������������������������������������������������������������������������45 Responding to Row Click ������������������������������������������������������������������������������������������������46 Option A: Invoke Custom Event �������������������������������������������������������������������������������������������������������������47 Option B: Listen for Click Event ������������������������������������������������������������������������������������������������������������50 Summary ������������������������������������������������������������������������������������������������������������������������52 ■ Chapter 6: Implementing jQuery Alternatives �����������������������������������������������������53 jQuery in APEX ����������������������������������������������������������������������������������������������������������������53 Why Not Use Dynamic Actions? ������������������������������������������������������������������������������������������������������������53 Where Do I Put My jQuery Code? ����������������������������������������������������������������������������������������������������������53 Resources ���������������������������������������������������������������������������������������������������������������������������������������������54 Instrumentation ������������������������������������������������������������������������������������������������������������������������������������54 Naming Conventions �����������������������������������������������������������������������������������������������������������������������������55 jQuery Style Key Release �����������������������������������������������������������������������������������������������55 Report Link Event Listener ���������������������������������������������������������������������������������������������56 Simplify Anchor URL �����������������������������������������������������������������������������������������������������������������������������57 Define Row Click Listener ���������������������������������������������������������������������������������������������������������������������57 Summary ������������������������������������������������������������������������������������������������������������������������57 ■ Chapter 7: Highlighting Selected Row �����������������������������������������������������������������59 jQuery Development Pattern ������������������������������������������������������������������������������������������59 Using Inspect Element ����������������������������������������������������������������������������������������������������59 Defining the CSS ������������������������������������������������������������������������������������������������������������61 ix www.it-ebooks.info
Description: