Books & Videos

Table of Contents

  1. Chapter 1 Loading Modules

    1. Loading Rollups and Modules

    2. Loading SimpleYUI

    3. Identifying and Loading Individual Modules

    4. Loading a Different Default Skin

    5. Loading Gallery Modules

    6. Loading a YUI 2 Widget

    7. Loading Locally Hosted Builds

    8. Creating Your Own Modules

    9. Creating a Module with Dependencies

    10. Creating Truly Reusable Modules

    11. Defining Groups of Custom Modules

    12. Reusing a YUI Configuration

    13. Defining Your Own Rollups

    14. Loading jQuery as a YUI Module

    15. Loading Modules Based on Browser Capabilities

    16. Monkeypatching YUI

    17. Loading Modules on Demand

    18. Enabling Predictive Module Loading on User Interaction

    19. Binding a YUI Instance to an iframe

    20. Implementing Static Loading

  2. Chapter 2 DOM Manipulation

    1. Getting Element References

    2. Manipulating CSS Classes

    3. Getting and Setting DOM Properties

    4. Changing an Element’s Inner Content

    5. Working with Element Collections

    6. Creating New Elements

    7. Adding Custom Methods to Nodes

    8. Adding Custom Properties to Nodes

  3. Chapter 3 UI Effects and Interactions

    1. Hiding an Element

    2. Fading an Element

    3. Moving an Element

    4. Creating a Series of Transitions

    5. Defining Your Own Canned Transitions

    6. Creating an Infinite Scroll Effect

    7. Dragging an Element

    8. Creating a Resizable Node

    9. Implementing a Reorderable Drag-and-Drop Table

  4. Chapter 4 Events

    1. Responding to Mouseovers, Clicks, and Other User Actions

    2. Responding to Element and Page Lifecycle Events

    3. Controlling Event Propagation and Bubbling

    4. Preventing Default Behavior

    5. Delegating Events

    6. Firing and Capturing Custom Events

    7. Driving Applications with Custom Events

    8. Using Object Methods as Event Handlers

    9. Detaching Event Subscriptions

    10. Controlling the Order of Event Handler Execution

    11. Creating Synthetic DOM Events

    12. Responding to a Method Call with Another Method

  5. Chapter 5 Ajax

    1. Fetching and Displaying XHR Data

    2. Handling Errors During Data Transport

    3. Loading Content Directly into a Node

    4. Submitting Form Data with XHR

    5. Uploading a File with XHR

    6. Getting JSON Data Using Script Nodes (JSONP)

    7. Fetching and Displaying Data with YQL

    8. Scraping HTML with YQL

    9. Querying Data Using DataSource

    10. Normalizing DataSource Responses with a DataSchema

  6. Chapter 6 CSS

    1. Normalizing Browser Style Inconsistencies

    2. Rebuilding Uniform Base Styles

    3. Applying Consistent Fonts

    4. Laying Out Content with Grids

    5. Using Grids for Responsive Design

    6. Creating Consistent Buttons

  7. Chapter 7 Infrastructure

    1. Managing State with Attributes

    2. Creating Base Components with Y.extend()

    3. Creating Base Components with Y.Base.create()

    4. Creating a Basic Widget

    5. Creating a Widget That Uses Progressive Enhancement

    6. Rendering Remote Data with a Widget

    7. Creating a Simple Plugin

    8. Creating a Plugin That Alters Host Behavior

    9. Bundling CSS with a Widget as a CSS Module

    10. Bundling CSS with a Widget as a Skin

    11. Representing Data with a Model

    12. Persisting Model Data with a Sync Layer

    13. Managing Models with a Syncing ModelList

    14. Rendering HTML with a View

    15. Rendering a Model with a View

    16. Rendering a ModelList with a View

    17. Saving State Changes in the URL

    18. Defining and Executing Routes

  8. Chapter 8 Using Widgets

    1. Instantiating, Rendering, and Configuring Widgets

    2. Creating an Overlay

    3. Aligning and Centering an Overlay

    4. Making an Overlay Draggable

    5. Creating a Simple, Styled Information Panel

    6. Creating a Modal Dialog or Form

    7. Creating a Tooltip from an Overlay

    8. Creating a Lightbox from an Overlay

    9. Creating a Slider

    10. Creating a Tabview

    11. Creating a Basic DataTable

    12. Formatting a DataTable’s Appearance

    13. Displaying a Remote JSON DataSource in a DataTable

    14. Plotting Data in a Chart

    15. Choosing Dates with a Calendar

    16. Defining Calendar Rules

    17. Creating a Basic AutoComplete

    18. Highlighting and Filtering AutoComplete Results

    19. Using AutoComplete with Remote Data

    20. Customizing the AutoComplete Result List

  9. Chapter 9 Utilities

    1. Determining a Variable’s Type

    2. Iterating Over Arrays and Objects

    3. Filtering an Array

    4. Merging Objects

    5. Composing and Inheriting from Other Objects

    6. Automatically Caching Function Call Results

    7. Templating with Simple String Substitution

    8. Formatting Numbers

    9. Formatting Dates

    10. Parsing Arbitrary XML

    11. Converting Color Values

    12. Managing History and the Back Button

    13. Escaping User Input

    14. Assigning Special Behavior to a Checkbox Group

    15. Implementing Easy Keyboard Actions and Navigation

    16. Reliably Detecting Input Field Changes

    17. Managing and Validating Forms

  10. Chapter 10 Server-Side YUI

    1. Installing and Running YUI on the Server

    2. Loading Modules Synchronously on the Server

    3. Using YUI on the Command Line

    4. Calling YQL on the Server

    5. Using the YUI REPL

    6. Constructing and Serving a Page with YUI, YQL, and Handlebars

  11. Chapter 11 Universal Access

    1. Preventing the Flash of Unstyled Content

    2. Adding ARIA to Form Error Messages

    3. Building a Widget with ARIA

    4. Retrofitting a Widget with an ARIA Plugin

    5. Defining Translated Strings

    6. Internationalizing a Widget

  12. Chapter 12 Professional Tools

    1. Enabling Debug Logging

    2. Rendering Debug Log Output in the Page

    3. Writing Unit Tests

    4. Organizing Unit Tests into Suites

    5. Testing Event Handlers by Simulating Events

    6. Mocking Objects

    7. Testing Asynchronously Using wait()

    8. Collecting and Posting Test Results

    9. Precommit Testing in Multiple Browsers

    10. Testing on Mobile Devices

    11. Testing Server-Side JavaScript

    12. Minifying Your Code

    13. Documenting Your Code

  1. Colophon