Ember.DataAdapter Class
The DataAdapter helps a data persistence library
interface with tools that debug Ember such
as the Ember Extension
for Chrome and Firefox.
This class will be extended by a persistence library which will override some of the methods with library-specific code.
The methods likely to be overridden are:
getFiltersdetectcolumnsForTypegetRecordsgetRecordColumnValuesgetRecordKeywordsgetRecordFilterValuesgetRecordColorobserveRecord
The adapter will need to be registered
in the application's container as dataAdapter:main
Example:
Application.initializer({
  name: "data-adapter",
  initialize: function(container, application) {
    application.register('data-adapter:main', DS.DataAdapter);
  }
});
Item Index
Methods
Methods
_getObjectsOnNamespaces
        ()
        
            Array
        
        private
    
    Loops over all namespaces and all objects attached to them
Returns:
Array of model type strings
columnsForType
        - 
                        
type 
Get the columns for a given model type.
Parameters:
- 
                        
typeClassThe model type
 
Returns:
An array of columns of the following format: name: {String} name of the column desc: {String} Humanized description (what would show in a table column name)
detect
        - 
                        
klass 
Detect whether a class is a model.
Test that against the model class of your persistence library
Parameters:
- 
                        
klassClassThe class to test
 
Returns:
boolean Whether the class is a model class or not
getFilters
        ()
        
            Array
        
        public
    
    Specifies how records can be filtered.
Records returned will need to have a filterValues
property with a key for every name in the returned array.
Returns:
List of objects defining filters.
The object should have a name and desc property.
getModelTypes
        ()
        
            Array
        
        private
    
    Fetches all models defined in the application.
Returns:
Array of model types
getRecordColor
        - 
                        
record 
Each record can have a color that represents its state.
Parameters:
- 
                        
recordObjectThe record instance
 
Returns:
The record's color Possible options: black, red, blue, green
getRecordColumnValues
        ()
        
            Object
        
        private
    
    Gets the values for each column.
Returns:
Keys should match column names defined by the model type.
getRecordFilterValues
        - 
                        
record 
Returns the values of filters defined by getFilters.
Parameters:
- 
                        
recordObjectThe record instance
 
Returns:
The filter values
getRecordKeywords
        ()
        
            Array
        
        private
    
    Returns keywords to match when searching records.
Returns:
Relevant keywords for search.
getRecords
        ()
        
            Array
        
        private
    
    Fetches all loaded records for a given type.
Returns:
An array of records. This array will be observed for changes, so it should update when new records are added/removed.
observeModelType
        - 
                        
type - 
                        
typesUpdated 
Adds observers to a model type class.
Parameters:
- 
                        
typeClassThe model type class
 - 
                        
typesUpdatedFunctionCalled when a type is modified.
 
Returns:
The function to call to remove observers
observerRecord
        - 
                        
record - 
                        
recordUpdated 
Observes all relevant properties and re-sends the wrapped record when a change occurs.
Parameters:
- 
                        
recordObjectThe record instance
 - 
                        
recordUpdatedFunctionThe callback to call when a record is updated.
 
Returns:
The function to call to remove all observers.
watchModelTypes
        - 
                        
typesAdded - 
                        
typesUpdated 
Fetch the model types and observe them for changes.
Parameters:
Returns:
Method to call to remove all observers
watchRecords
        - 
                        
recordsAdded - 
                        
recordsUpdated - 
                        
recordsRemoved 
Fetch the records of a given type and observe them for changes.
Parameters:
- 
                        
recordsAddedFunctionCallback to call to add records. Takes an array of objects containing wrapped records. The object should have the following properties: columnValues: {Object} key and value of a table cell object: {Object} the actual record object
 - 
                        
recordsUpdatedFunctionCallback to call when a record has changed. Takes an array of objects containing wrapped records.
 - 
                        
recordsRemovedFunctionCallback to call when a record has removed. Takes the following parameters: index: the array index where the records were removed count: the number of records removed
 
Returns:
Method to call to remove all observers
willDestroy
        ()
        private
    
    Clear all observers before destruction
wrapModelType
        - 
                        
type - 
                        
Optional 
Wraps a given model type and observes changes to it.
Parameters:
- 
                        
typeClassA model class
 - 
                        
OptionalStringname of the class
 
Returns:
contains the wrapped type and the function to remove observers Format: type: {Object} the wrapped type The wrapped type has the following format: name: {String} name of the type count: {Integer} number of records available columns: {Columns} array of columns to describe the record object: {Class} the actual Model type class release: {Function} The function to remove observers
wrapRecord
        - 
                        
record 
Wraps a record and observers changes to it.
Parameters:
- 
                        
recordObjectThe record instance.
 
Returns:
The wrapped record. Format: columnValues: {Array} searchKeywords: {Array}
Properties
attributeLimit
    Unknown
        private
    
    Number of attributes to send as columns. (Enough to make the record identifiable).
Default: 3
container
    Unknown
    
    The container of the application being debugged. This property will be injected on creation.
Default: null
containerDebugAdapter
    Unknown
    
    The container-debug-adapter which is used to list all models.
Default: undefined
releaseMethods
    Unknown
        private
    
    Stores all methods that clear observers. These methods will be called on destruction.
