Index
A
- $and operator / $and
- acceptance validator
- about / Using built-in validators
- add() method / How to do it...
- add event / Using built-in events
- advanced mapping
- performing / There's more...
- deeply nested attributes, mapping / Mapping deeply nested attributes
- function, using / Use a function to map the models
- Advanced REST client
- installing / Getting ready...
- advanced validation
- using, in model / Using advanced validation in a model
- built-in validators / Using built-in validators
- Airbnb
- about / Introduction
- append() method / How to do it...
- Asynchronous Module Definition (AMD) technique / Organizing a project structure with Require.js
- asyncTest() function / How it works...
- at() method
- using / How to do it...
- attrs parameter / How to do it...
B
- Backbone
- collections / Introduction
- Zepto, using with / Using Zepto as a faster alternative to jQuery
- used, for building RESTful frontend / Building a RESTful frontend with Backbone
- backbone-mongodb extension
- downloading / Getting ready...
- Backbone.Chosen extension / Storing models of various types in the same collection
- Backbone.Collection object / How to do it...
- Backbone.Events
- managing / Managing events in Backbone.js
- Backbone.HasMany
- about / How to do it...
- Backbone.history
- about / How it works...
- Backbone.js
- about / Introduction, Contributing to the Backbone project
- usage examples / Introduction
- downloading / How to do it...
- improvements / How to do it...
- issue queue, working on / How to do it...
- code, contributing / How to do it...
- documentation, working on / How to do it...
- events, managing / Managing events in Backbone.js, How to do it...
- Backbone.js documentation
- reference link / How to do it...
- Backbone.js extension
- creating, with Grunt / Creating a Backbone.js extension with Grunt, How to do it..., How it works...
- tests, writing with QUnit / Writing tests for a Backbone extension with QUnit, How to do it..., How it works...
- Backbone.LayoutManager
- about / Assembling layouts with LayoutManager
- used, for assembling layouts / Assembling layouts with LayoutManager
- downloading / Getting ready
- Backbone.LayoutManager object / How it works...
- Backbone.Memento extension
- downloading / Getting ready
- Backbone.Mousetrap extension
- Backbone.QueryCollection / How it works...
- Backbone.Relational
- about / Getting ready
- Backbone.RelationalModel
- about / How it works...
- Backbone.Router
- used, for switching views / Switching views using Backbone.Router, How to do it..., How it works...
- Backbone.Router object
- about / How it works..., How it works...
- Backbone.stickit extension
- used, for bi-directional binding / Bidirectional binding with Backbone.stickit, How to do it..., How it works...
- advanced usage / There's more...
- model getters/setters, overriding / Overriding model getters and setters
- view element updates, overriding / Overriding view element updates
- specific HTML event, listening to / Listening to a specific HTML event
- Backbone.sync() method / Working with local storage
- Backbone.Validation extension / How it works...
- about / Validating an HTML form
- Backbone.View / How it works...
- Backbone.View object
- about / How it works...
- Backbone application
- typical workflow diagrammatic representation / Modeling an application's behavior with views and a router
- typical workflow / Modeling an application's behavior with views and a router
- basic views, defining / How to do it...
- router, defining / How to do it...
- wireframes, creating / How to do it...
- Preview Invoice page / How to do it...
- views, spilting into subviews / How to do it...
- structure, creating from scratch / Creating an application structure from scratch, How to do it...
- writing / Writing your first Backbone application, How to do it...
- model, defining / How to do it...
- model instance, creating / How to do it...
- view, defining / How to do it...
- view, rendering / How to do it...
- starting / How to do it...
- URL routing, implementing / Implementing URL routing in your application, How to do it...
- parameters, parsing in URL / Parsing parameters in a URL
- extending, with plugins / Extending an application with plugins, How to do it...
- memory leak, avoiding / Avoiding memory leaks in a Backbone application
- Backbone dependencies
- downloading / How to do it...
- Backbone localStorage adapter
- downloading / Getting ready...
- Backbone objects
- events, handling / Handling events of Backbone objects, How to do it..., There's more...
- using, with mixins / Using mixins with Backbone objects, How to do it...
- Backbone Query
- about / Running No SQL queries on a collection
- downloading / Getting ready
- Backbone relational extension
- downloading / Getting ready
- Backgrid.Grid / How it works...
- Backgrid documentation
- URL / See also
- Backgrid example / Building a semantic and an easily styleable data grid
- Backgrid extension / See also
- bi-directional binding
- performing, with Backbone.stickit / Bidirectional binding with Backbone.stickit, How to do it...
- Billing Application
- designing, MVC pattern used / Designing an application with the MVC pattern, How to do it...
- business logic, designing / Defining business logic with models and collections
- Bootstrap framework
- used, for customizing form / Customizing a form with the Bootstrap framework, Getting ready
- downloading / Getting ready
- built-in events
- about / Using built-in events
- change / Using built-in events
- change*[attribute] / Using built-in events
- destroy / Using built-in events
- invalid / Using built-in events
- error / Using built-in events
- sync / Using built-in events
- add / Using built-in events
- remove / Using built-in events
- reset / Using built-in events
- sort / Using built-in events
- route / Using built-in events
- route*[name] event / Using built-in events
- built-in validators
- using / Using built-in validators
- required / Using built-in validators
- acceptance / Using built-in validators
- min / Using built-in validators
- max / Using built-in validators
- range / Using built-in validators
- length / Using built-in validators
- minLength / Using built-in validators
- maxLength / Using built-in validators
- rangeLength / Using built-in validators
- oneOf / Using built-in validators
- equalTo / Using built-in validators
- pattern / Using built-in validators
- bulk operations
- performing, on grid models / Performing bulk operations on grid models
- business logic, for Billing Application
- designing, with models and collections / Defining business logic with models and collections, How to do it..., How it works...
- BuyerModel properties, defining / How to do it...
- SellerModel properties, defining / How to do it...
- BankAccountModel properties, defining / How to do it...
- InvoiceItemModel properties, defining / How to do it...
- InvoiceItemModel methods, defining / How to do it...
- InvoiceModel properties, defining / How to do it...
- InvoiceModel methods, defining / How to do it...
C
- callbacks
- binding, to transition events / Binding callbacks to transition events
- Cascading Style Sheets (CSS) / Splitting a view into subviews
- chain() method / How it works...
- change*[attribute] event / Using built-in events
- changedAttributes() method / How to do it...
- change event / Using built-in events
- changePage() method / How to do it...
- changeView() method / How it works...
- clear() method / How to do it...
- clone() method / Cloning a model, Getting an independent copy of a model
- CoffeeScript / How it works...
- collection
- common operations / Introduction
- model, getting from by index / Getting a model from a collection by its index
- model, getting from by ID / Getting a model from a collection by its ID, How it works...
- model, adding / Adding a model to a collection
- multiple models, adding / Adding multiple models
- existing models, adding / Adding existing models
- model, removing / Removing a model from a collection, How it works...
- working, as stack / Working with a collection as a stack or as a queue
- working, as queue / How to do it...
- sorting / Sorting a collection, How it works...
- models, filtering / Filtering models in a collection
- iterating through / Iterating through a collection
- chaining / Chaining a collection, How to do it…
- No SQL queries, running / Running No SQL queries on a collection, How to do it...
- various types model, storing / Storing models of various types in the same collection, How to do it...
- one-to-many relationship, implementing / Implementing a one-to-many relationship, How to do it..., How it works...
- rendering, in view / Rendering a collection in a view, How to do it..., See also
- binding, to view / Binding a collection to a view, How to do it...
- binding, to select list / Binding a model and a collection to a select list, How to do it..., How it works...
- collection model
- index, getting / Getting an index of a collection model
- collection of models
- creating / Creating a collection of models
- collections
- about / Introduction
- combining operators, No SQL operators
- commit() method / How it works...
- comparator
- about / How it works...
- model pair, comparing / Comparing a pair of models in the comparator
- compatibility
- ensuring, search engine used / Ensuring compatibility with search engines, Getting ready..., How it works...
- compiled templates
- using / Using compiled templates
- Cross-site scripting
- enabling / How to do it...
D
- data
- fetching, polling technique used / Using the polling technique to fetch data, How to do it..., How it works...
- data grid
- deepEqual() / How it works...
- delegateEvents() method / Delegating and undelegating events manually
- destroy() method / How to do it..., How it works...
- destroy event / Using built-in events
- Document Object Model (DOM) / How to do it...
- DOM
- DOM events
- handling, in view / Handling Document Object Model (DOM) events in a view, How to do it..., How it works...
E
- $equal operator / $equal
- $exists operator / $exists or $has
- each() method / How to do it...
- Ender.js / How it works...
- equal() / How it works...
- equalTo validator
- about / Using built-in validators
- error event / Using built-in events
- error messages
- customizing / Customizing error messages
- events
- delegating, manually / Delegating and undelegating events manually
- undelegating, manually / Delegating and undelegating events manually
- managing / Managing events in Backbone.js, How to do it...
- callback, unbinding / Unbinding callback from the event
- listening, on objects / Listening to events on other objects
- events, Backbone objects
- handling / Handling events of Backbone objects, How to do it...
- event triggering
- avoiding, while working with objects / Avoiding event triggering when working with Backbone objects
- every() method / Checking every model to match a specific condition
- executePolling() method / How it works...
- extend() method / How to do it..., How it works...
F
- fetch() method / How to do it..., Mocking up a RESTful service with jQuery Mockjax in asynchronous tests
- form
- defining / Defining a form, Getting ready, How to do it...
- using without model / Using a form without a model
- validation, adding / Adding validation to a form, How it works...
- customizing, Bootstrap framework used / Customizing a form with the Bootstrap framework, Getting ready
- form events
- handling / Handling form events, How to do it..., How it works...
- form templates
- overriding / Overriding form templates
- Foursquare
- about / Introduction
G
- get() method / How to do it...
- using / How to do it...
- getContext() method / How it works...
- getters or setters
- overriding / Overriding getters and setters, How to do it...
- getters or setters, of existing attribute
- GitHub / Creating a Backbone.js extension with Grunt
- Google Boot / How to do it...
- Googlebot / How it works...
- Google Chrome Heap Profiler
- using, to detect memory leak / Getting ready..., How to do it…
- Groupon Now!
- about / Introduction
- Grunt
- used, for creating Backbone.js extension / Creating a Backbone.js extension with Grunt, How to do it..., How it works...
H
- $has operator / $exists or $has
- HTML 5 canvas
- reference link / See also
- HTML5 canvas
- drawing on / Drawing on the HTML5 canvas, Getting ready, How to do it..., How it works...
- HTML element
- HTML form
- validating / Validating an HTML form, How it works..., There's more...
I
- $in operator / $in
- includeInJSON property
- about / Exporting related models to JSON
- independent copy, collection model
- retrieving / Getting an independent copy of a model
- length, getting / Getting the length of a collection
- indexOf() method / Getting an index of a collection model
- IndividualContactModel / How to do it...
- initialize() method / Setting default attribute values with a multiline expression, How it works..., How to do it..., How to do it...
- invalid event / Using built-in events
- InvoiceItemModel object / Getting ready...
- InvoiceItemsTableView instance / How to do it…
- invoiceList() / How to do it...
- iOS-inspired theme
- downloading / Getting ready...
- iOS/Android app
- building, with PhoneGap / Building an iOS/Android app with PhoneGap, How to do it...
- iteration methods, collection
- about / There's more...
- model, checking for specific condition / Checking every model to match a specific condition
- any model, checking for specific condition / Checking any model to match a specific condition
- attribute, getting from model / Getting the attribute from each model in a collection
- specific calculations, performing / Performing specific calculations to each model in a collection
- models, boiling down / Boiling down models in a collection into a single value
J
- JavaScript Garbage Collector
- URL / See also
- jQuery
- about / Introduction, Dealing with a view element using jQuery
- dealing, with view element / How to do it..., How it works...
- URL, for documentation / See also
- URL, for events / See also...
- jQuery.ajax() method / How it works...
- jQuery Mobile / Introduction
- jQuery Mobile library
- downloading / Getting ready...
- jQuery Mockjax extension
- downloading / Getting ready...
- JS files
- optimizing, with r.js / Optimizing JS files with r.js
- JSON
- model, exporting to / Exporting related models to JSON
K
- keyboard shortcuts
- handling, in view / Handling keyboard shortcuts in a view, How it works...
L
- layouts
- assembling, LayoutManager used / Assembling layouts with LayoutManager, Getting ready, How to do it...
- length() method / Getting the length of a collection
- length validator
- about / Using built-in validators
- LIFO (last in, first out) data structure / How it works...
- LinkedIn mobile
- about / Introduction
- listenTo() method / Listening to events on other objects, How to do it…
- local storage
- working with / Working with local storage, How it works...
M
- many-to-many relationship
- implementing / Implementing a many-to-many relationship
- map() method / Performing specific calculations to each model in a collection
- maxLength validator
- about / Using built-in validators
- max validator
- about / Using built-in validators
- memento stack
- working with / Working with the Memento stack
- first state, restoring from / Restoring from the first state in the stack
- memory leak
- about / Avoiding memory leaks in a Backbone application
- by closure / Avoiding memory leaks in a Backbone application
- detecting, Google Chrome Heap Profiler used / Getting ready..., How to do it…
- in JavaScript, URL / See also
- minLength validator
- about / Using built-in validators
- min validator
- about / Using built-in validators
- mixins
- using, with Backbone objects / Using mixins with Backbone objects, How to do it...
- mobile application
- developing, with jQuery Mobile / Developing a mobile application with jQuery Mobile, Getting ready..., How to do it...
- model
- about / Introduction
- creating / Creating a model
- cloning / Cloning a model
- default attribute values, setting / Setting default attribute values
- default attribute values, setting with multiline expression / Setting default attribute values with a multiline expression
- checking, for attribute / Checking if a model has an attribute
- HTML escaped attribute value, getting / Getting HTML escaped attribute value
- advanced validation, using / Using advanced validation in a model, How to do it...
- nested attributes, working with / Working with nested attributes in a model, How to do it...
- getting from collection, at specific index / Getting a model from a collection by its index
- getting from collection, by ID / Getting a model from a collection by its ID, How it works...
- adding, to collection / Adding a model to a collection
- adding, to collection at specific position / Adding a model at a specific position
- multiple models, adding / Adding multiple models
- existing models, adding / Adding existing models
- removing, from collection / Removing a model from a collection, How it works...
- filtering, in collection / Filtering models in a collection
- exporting, to JSON / Exporting related models to JSON
- rendering, in view / Rendering a model in a view, How it works...
- binding, to view / Binding a model to a view, How to do it...
- binding, to select list / Binding a model and a collection to a select list, How to do it...
- model attributes
- operating / Operating with model attributes
- validating / Validating model attributes, How it works...
- validation errors, handling / Handling validation errors
- validation, triggering manually / Triggering validation manually
- model getters/setters
- overriding, Backbone.stickit used / Overriding model getters and setters
- model identifier
- operating / Operating with the model identifier, How it works...
- models
- about / Introduction
- models, of various types
- storing, in collection / Storing models of various types in the same collection, How to do it..., How it works...
- models and collections
- synchronizing, RESTful service used / Synchronizing models and collections with a RESTful service, How to do it...
- model states
- managing / Creating undo points to store/restore a model's state
- operating / How to do it..., How it works...
- model validation
- performing / Performing a model validation
- mod_proxy module / Ensuring compatibility with search engines
- mod_proxy_http module / Ensuring compatibility with search engines
- mod_rewrite module / Ensuring compatibility with search engines
- MongoDB Extended JSON
- handling / Handling MongoDB Extended JSON
- about / Creating a Backbone.js extension with Grunt
- MongoLab
- MongoLab database
- creating / How to do it...
- Moustrap library
- about / Getting ready
- Mustache
- about / Using Mustache templates
- downloading / Getting ready
- Mustache.compilePartial() function / Using partials
- Mustache.render() / How it works...
- Mustache templates
- using / How it works...
- Mustche.js syntax
- URL / See also
- mutators attribute / How to do it...
- mutators events
- handling / Handling mutators events
- MVC pattern
- about / Introduction, Designing an application with the MVC pattern
- Model / Designing an application with the MVC pattern
- View / Designing an application with the MVC pattern
- Controller / Designing an application with the MVC pattern
- benefits / Designing an application with the MVC pattern
- designing, for Billing Application / How to do it...
N
- $ne operator / $ne
- $nin operator / $nin
- $nor operator / $nor
- $not operator / $not
- name() method / How to do it...
- nested array
- working with / Working with a nested array of attributes
- nested attributes, model
- working with / Working with nested attributes in a model, How to do it...
- nested array, working with / Working with a nested array of attributes
- elements, adding to nested array / Adding/removing elements to/from a nested array
- elements, removing from nested array / Adding/removing elements to/from a nested array
- callbacks, binding to events / Binding callbacks to an events
- No SQL operators
- standard operators / Using standard operators
- combining operators / Combining queries
- No SQL query
- performing, to collection / How to do it...
- multiple queries, performing on same key / Multiple queries on the same key
- results, sorting / Sorting query results
- results, paging / Paging query results
- results, caching / Caching results
- notDeepEqual() / How it works...
- notEqual() / How it works...
- notStrictEqual() / How it works...
O
- $or operator / $or
- off() method / Unbinding callback from the event
- ok() / How it works...
- on() function / How it works...
- on() method / How to do it..., How it works...
- once() method / How to do it...
- onclick callback / Avoiding memory leaks in a Backbone application
- one-to-many relationship
- implementing / Implementing a one-to-many relationship, How to do it..., How it works...
- one-to-one relationship
- implementing / Implementing a one-to-one relationship, How to do it..., How it works...
- oneOf validator
- about / Using built-in validators
- onFetch() method / How it works...
- OrganizationContactModel / How to do it...
P
- parameters
- parsing, in URL / Parsing parameters in a URL
- parse() method / Handling MongoDB Extended JSON
- partials
- using / Using partials
- pattern validator
- about / Using built-in validators
- Phantom.js docs / See also
- PhoneGap Build / Building an iOS/Android app with PhoneGap
- pluck() method / Getting the attribute from each model in a collection
- plugins
- used, for extending application / Extending an application with plugins, How to do it...
- polling technique
- used, for fetching data / Using the polling technique to fetch data, How to do it..., How it works...
- pop() method / How to do it...
- previous() method / How to do it...
- previousAttributes() method / How to do it...
- project directory structure, Backbone application
- creating / How to do it...
- project structure
- organizing, with Require.js / Organizing a project structure with Require.js, How to do it...
- push() method / How to do it...
Q
- queue
- collection, working as / How to do it...
- QUnit
- used, for writing tests / Writing tests for a Backbone extension with QUnit
- about / Writing tests for a Backbone extension with QUnit
- working / How it works...
R
- R.js
- about / Optimizing JS files with r.js
- rangeLength validator
- about / Using built-in validators
- range validator
- about / Using built-in validators
- records filtering
- performing / Performing records filtering
- reduce() method / Boiling down models in a collection into a single value
- remove() method / How to do it..., Removing a view, How to do it…
- remove event / Using built-in events
- render() method / How it works..., How it works..., How to do it..., How it works...
- Rendr
- about / Introduction
- require.config() function / How it works...
- Require.js file
- downloading / Getting ready...
- required validator
- about / Using built-in validators
- requirejs() function / How to do it..., How it works...
- reset() method / There's more...
- reset event / Using built-in events
- resource URI
- about / How it works...
- REST
- REST API
- architecting / Architecting the REST API for the backend
- RESTful backend
- prototyping, with MongoLab / Prototyping a RESTful backend with MongoLab
- RESTful frontend
- building, with Backbone / Building a RESTful frontend with Backbone, Getting ready..., How to do it..., How it works...
- RESTful service
- mocking up, with jQuery Mockjax / Mocking up a RESTful service with jQuery Mockjax in asynchronous tests, How to do it..., How it works...
- restore() method / How to do it...
- route*[name] event / Using built-in events
- route event / Using built-in events
- router parameter / How it works...
- route parameter / How it works...
- params parameter / How it works...
- router events
- handling / Handling router events, How to do it..., There's more...
S
- save() method / How to do it..., How to do it...
- schema definition
- URL / See also
- search engines
- used, for ensuring compatibility / Ensuring compatibility with search engines, How to do it...
- Seoserver / Ensuring compatibility with search engines
- Seoserver source repository
- URL / See also
- set() method / How to do it...
- setElement() method / Changing the view element dynamically, See also, See also
- setTemplates() method / Overriding form templates
- setup() function / How it works...
- setup() method
- about / How to do it...
- shift() method / How to do it...
- showDialog() method / How to do it...
- Social Mobile Application / Organizing a project structure with Require.js
- some() method / Checking any model to match a specific condition
- sort() method
- about / How it works...
- sort event / Using built-in events
- specific HTML event
- listening to, Backbone.stickit used / Listening to a specific HTML event
- stack
- collection, working as / How to do it...
- about / How it works...
- standard operators, No SQL operators
- about / There's more...
- $equal / $equal
- $ne / $ne
- $in / $in
- $nin / $nin
- $exists / $exists or $has
- $has / $exists or $has
- start() function / How it works...
- start() method / How to do it...
- stickit() method / How it works...
- store() method / How to do it...
- strictEqual() / How it works...
- subviews
- view, splitting into / Splitting a view into subviews, How to do it..., How it works...
- switchPane() method / How to do it...
- sync() method / How it works...
- sync event / Using built-in events
T
- teardown() method
- about / How to do it...
- template loader
- implementing / Implementing a template loader, How to do it...
- templates
- using, in view / Using templates in a view, How to do it...
- splitting, into partials / Splitting a template into partials
- test() function / How it works...
- tests, for Backbone extension
- writing, QUnit used / Writing tests for a Backbone extension with QUnit, How to do it...
- throws() / How it works...
- toJSON() method / How it works..., Handling MongoDB Extended JSON, Mocking up a RESTful service with jQuery Mockjax in asynchronous tests
- about / Exporting related models to JSON
- trigger() method / How to do it...
- triggered event
- handling / Using built-in events
- triggerEvent() method / How to do it...
U
- undelegateEvents()
- about / How it works...
- undelegateEvents() method / Delegating and undelegating events manually
- unset() method / How to do it...
- unshift() method / How to do it...
- url() method / How to do it...
- URL routing
- implementing, in Backbone application / Implementing URL routing in your application, How to do it..., How it works...
- usage examples, Backbone.js
- Groupon Now! / Introduction
- Foursquare / Introduction
- LinkedIn mobile / Introduction
- WordPress.com / Introduction
- Airbnb / Introduction
- reference link / Introduction
V
- validate() method / How to do it...
- validation
- adding, to form / Adding validation to a form, How it works...
- validation errors
- handling / Handling validation errors
- value() method / How it works...
- view
- about / Introduction
- creating, steps / How to do it...
- rendering / How to do it...
- removing / Removing a view
- model, rendering in / Rendering a model in a view, How it works...
- collection, rendering in / Rendering a collection in a view, How it works..., See also
- splitting, into subviews / Splitting a view into subviews, How to do it..., How it works...
- DOM events, handling / Handling Document Object Model (DOM) events in a view, How to do it..., How it works...
- templates, using / Using templates in a view, How to do it...
- view element
- modifying, dynamically / Changing the view element dynamically
- dealing with / How to do it..., How it works...
- view element updates
- overriding, Backbone.stickit used / Overriding view element updates
- views
- switching, Backbone.Router used / Switching views using Backbone.Router, How to do it..., How it works...
W
- where() method / How to do it...
- WordPress.com
- about / Introduction
- workflow, model
- creating / How to do it...
- workflow.js extension
- downloading / Getting ready
Z
- Zepto
- about / Introduction, Using Zepto as a faster alternative to jQuery
- using, with Backbone / Using Zepto as a faster alternative to jQuery