PUBLIC
Extends: EmberObject
Defined in: packages/ember-extension-support/lib/data_adapter.js:20
Module: ember-extension-support
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:
getFilters detect columnsForType getRecords getRecordColumnValues getRecordKeywords getRecordFilterValues getRecordColor observeRecord
The adapter will need to be registered in the application's container as dataAdapter:main.
Example:
Application.initializer({
name: "data-adapter",
initialize: function(application) {
application.register('data-adapter:main', DS.DataAdapter);
}
});
_getObjectsOnNamespacesArrayprivate
Defined in packages/ember-extension-support/lib/data_adapter.js:374
Loops over all namespaces and all objects attached to them.
Returns:
-
Array
- Array of model type strings.
columnsForType (type) Arrayprivate
Defined in packages/ember-extension-support/lib/data_adapter.js:266
Get the columns for a given model type.
Parameters:
-
type
Class
- The model type.
Returns:
-
Array
- An array of columns of the following format: name: {String} The name of the column. desc: {String} Humanized description (what would show in a table column name).
detect (klass) private
Defined in packages/ember-extension-support/lib/data_adapter.js:251
Detect whether a class is a model.
Test that against the model class of your persistence library.
Parameters:
-
klass
Class
- The class to test.
Returns:
- boolean Whether the class is a model class or not.
getFiltersArraypublic
Defined in packages/ember-extension-support/lib/data_adapter.js:115
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:
-
Array
- List of objects defining filters. The object should have a `name` and `desc` property.
getModelTypesArrayprivate
Defined in packages/ember-extension-support/lib/data_adapter.js:345
Fetches all models defined in the application.
Returns:
-
Array
- Array of model types.
getRecordColor (record) Stringprivate
Defined in packages/ember-extension-support/lib/data_adapter.js:472
Each record can have a color that represents its state.
Parameters:
-
record
Object
- The record instance
Returns:
-
String
- The records color. Possible options: black, red, blue, green.
getRecordColumnValuesObjectprivate
Defined in packages/ember-extension-support/lib/data_adapter.js:437
Gets the values for each column.
Returns:
-
Object
- Keys should match column names defined by the model type.
getRecordFilterValues (record) Objectprivate
Defined in packages/ember-extension-support/lib/data_adapter.js:460
Returns the values of filters defined by getFilters.
Parameters:
-
record
Object
- The record instance.
Returns:
-
Object
- The filter values.
getRecordKeywordsArrayprivate
Defined in packages/ember-extension-support/lib/data_adapter.js:449
Returns keywords to match when searching records.
Returns:
-
Array
- Relevant keywords for search.
getRecordsArrayprivate
Defined in packages/ember-extension-support/lib/data_adapter.js:403
Fetches all loaded records for a given type.
Returns:
-
Array
- An array of records. This array will be observed for changes, so it should update when new records are added/removed.
observeModelType (modelName, typesUpdated) Functionprivate
Defined in packages/ember-extension-support/lib/data_adapter.js:280
Adds observers to a model type class.
Parameters:
-
modelName
String
- The model type name.
-
typesUpdated
Function
- Called when a type is modified.
Returns:
-
Function
- The function to call to remove observers.
observerRecord (record, recordUpdated) Functionprivate
Defined in packages/ember-extension-support/lib/data_adapter.js:485
Observes all relevant properties and re-sends the wrapped record when a change occurs.
Parameters:
-
record
Object
- The record instance.
-
recordUpdated
Function
- The callback to call when a record is updated.
Returns:
-
Function
- The function to call to remove all observers.
watchModelTypes (typesAdded, typesUpdated) Functionpublic
Defined in packages/ember-extension-support/lib/data_adapter.js:129
Fetch the model types and observe them for changes.
Parameters:
-
typesAdded
Function
- Callback to call to add types. Takes an array of objects containing wrapped types (returned from `wrapModelType`).
-
typesUpdated
Function
- Callback to call when a type has changed. Takes an array of objects containing wrapped types.
Returns:
-
Function
- Method to call to remove all observers
watchRecords (modelName, recordsAdded, recordsUpdated, recordsRemoved) Functionpublic
Defined in packages/ember-extension-support/lib/data_adapter.js:174
Fetch the records of a given type and observe them for changes.
Parameters:
-
modelName
String
- The model name.
-
recordsAdded
Function
- Callback to call to add records. Takes an array of objects containing wrapped records. The object should have the following properties: columnValues: {Object} The key and value of a table cell. object: {Object} The actual record object.
-
recordsUpdated
Function
- Callback to call when a record has changed. Takes an array of objects containing wrapped records.
-
recordsRemoved
Function
- Callback 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:
-
Function
- Method to call to remove all observers.
willDestroyprivate
Defined in packages/ember-extension-support/lib/data_adapter.js:241
Clear all observers before destruction
wrapModelType (klass, modelName) Objectprivate
Defined in packages/ember-extension-support/lib/data_adapter.js:313
Wraps a given model type and observes changes to it.
Parameters:
-
klass
Class
- A model class.
-
modelName
String
- Name of the class.
Returns:
-
Object
- 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} The name of the type. count: {Integer} The number of records available. columns: {Columns} An array of columns to describe the record. object: {Class} The actual Model type class. release: {Function} The function to remove observers.
wrapRecord (record) Objectprivate
Defined in packages/ember-extension-support/lib/data_adapter.js:416
Wraps a record and observers changes to it.
Parameters:
-
record
Object
- The record instance.
Returns:
-
Object
- The wrapped record. Format: columnValues: {Array} searchKeywords: {Array}
acceptsModelNamepublic
Defined in packages/ember-extension-support/lib/data_adapter.js:91
Ember Data > v1.0.0-beta.18 requires string model names to be passed around instead of the actual factories.
This is a stamp for the Ember Inspector to differentiate between the versions to be able to support older versions too.
attributeLimitprivate
Defined in packages/ember-extension-support/lib/data_adapter.js:79
Available since 1.3.0
The number of attributes to send as columns. (Enough to make the record identifiable).
Default: 3
containerDebugAdapterpublic
Defined in packages/ember-extension-support/lib/data_adapter.js:68
Available since 1.5.0
The container-debug-adapter which is used to list all models.
Default: undefined
releaseMethodsprivate
Defined in packages/ember-extension-support/lib/data_adapter.js:105
Available since 1.3.0
Stores all methods that clear observers. These methods will be called on destruction.