DS.FilteredRecordArray Class addon/-private/system/record-arrays/filtered-record-array.js:10


Represents a list of records whose membership is determined by the store. As records are created, loaded, or modified, the store evaluates them to determine if they should be part of the record array.

Show:

_unregisterFromManager

private

addInternalModel

(internalModel) private

Adds an internal model to the RecordArray without duplicates

Parameters:

internalModel InternalModel

filterFunction

(record) Boolean

The filterFunction is a function used to test records from the store to determine if they should be part of the record array.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
var allPeople = store.peekAll('person');
allPeople.mapBy('name'); // ["Tom Dale", "Yehuda Katz", "Trek Glowacki"]

var people = store.filter('person', function(person) {
  if (person.get('name').match(/Katz$/)) { return true; }
});
people.mapBy('name'); // ["Yehuda Katz"]

var notKatzFilter = function(person) {
  return !person.get('name').match(/Katz$/);
};
people.set('filterFunction', notKatzFilter);
people.mapBy('name'); // ["Tom Dale", "Trek Glowacki"]

Parameters:

record DS.Model

Returns:

Boolean
`true` if the record should be in the array

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

updateFilter

private

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 model type contained by this record array.