DS.AdapterPopulatedRecordArray Class addon/-private/system/record-arrays/adapter-populated-record-array.js:11


Represents an ordered list of records whose order and membership is determined by the adapter. For example, a query sent to the adapter may trigger a search on the server, whose results would be loaded into an instance of the AdapterPopulatedRecordArray.


If you want to update the array and get the latest records from the adapter, you can invoke update():

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// GET /users?isAdmin=true
var admins = store.query('user', { isAdmin: true });

admins.then(function() {
  console.log(admins.get("length")); // 42
});

// somewhere later in the app code, when new admins have been created
// in the meantime
//
// GET /users?isAdmin=true
admins.update().then(function() {
  admins.get('isUpdating'); // false
  console.log(admins.get("length")); // 123
});

admins.get('isUpdating'); // true
Show:

_setInternalModels

(internalModels, payload) private

Parameters:

internalModels Array
payload Object
normalized payload

_unregisterFromManager

private

addInternalModel

(internalModel) private

Adds an internal model to the RecordArray without duplicates

Parameters:

internalModel InternalModel

objectAtContent

(index) DS.Model private

Retrieves an object from the content by index.

Parameters:

index Number

Returns:

DS.Model
record

removeInternalModel

(internalModel) private

Removes an internalModel to the RecordArray.

Parameters:

internalModel InternalModel

save

DS.PromiseArray

Saves all of the records in the RecordArray.

Example

1
2
3
4
5
var messages = store.peekAll('message');
messages.forEach(function(message) {
  message.set('hasBeenSeen', true);
});
messages.save();

Returns:

DS.PromiseArray
promise

update

Used to get the latest version of all of the records in this array from the adapter.

Example

1
2
3
4
5
6
7
8
var people = store.peekAll('person');
people.get('isUpdating'); // false

people.update().then(function() {
  people.get('isUpdating'); // false
});

people.get('isUpdating'); // true

Show:

content

Ember.Array private

The array of client ids backing the record array. When a record is requested from the record array, the record for the client id at the same index is materialized, if necessary, by the store.

isLoaded

Boolean

The flag to signal a RecordArray is finished loading data.

Example

1
2
var people = store.peekAll('person');
people.get('isLoaded'); // true

isUpdating

Boolean

The flag to signal a RecordArray is currently loading data.

Example

1
2
3
4
var people = store.peekAll('person');
people.get('isUpdating'); // false
people.update();
people.get('isUpdating'); // true

store

DS.Store private

The store that created this record array.

type

DS.Model

The modelClass represented by this record array.