Properties
info
Here are valuable properties of the Collection Class
listed.
agileInstance
The agileInstance
to which the Collection belongs.
MY_COLLECTION.agileInstance(); // Returns a Agile Instance
Be aware that the agileInstance
property is of the type function
,
to avoid endless deep classes.
📄 Return
Agile
key
The current key/name
of the Collection,
which is used for a unique identification.
const MY_COLLECTION = createCollection({key: 'jeffKey'});
MY_COLLECTION.key; // Returns 'jeffKey'
Besides accessing the key
, we can also assign a new key
using this property.
MY_COLLECTION.key = "myCoolCollection";
MY_COLLECTION.key; // Returns 'myCoolCollection'
📄 Return
string | number
size
Returns how many Items the Collection currently stores.
MY_COLLECTION.collect({id: 1, name: "jeff"});
MY_COLLECTION.collect({id: 5, name: "frank"});
MY_COLLECTION.size; // Returns '2'
Placeholder Items don't get counted.
📄 Return
number
data
In the data
object all Items of the Collection are stored.
MY_COLLECTION.collect({id: 1, name: "jeff"});
MY_COLLECTION.collect({id: 5, name: "frank"});
MY_COLLECTION.data; // Returns (see below)
// {
// 1: Item({id: 1, name: "jeff"}),
// 5: Item({id: 5, name: "frank"})
// }
It is best not to touch the data
object at all
and use the functions provided by the Collection to mutate and get access to it instead.
For example, to get one specific Item, we should use the getItem()
method.
MY_COLLECTION.getItem(1); // Good pattern
MY_COLLECTION.data[1]; // Bad pattern
📄 Return
{ [key: string]: Item<DataType> }
isPersisted
If the Collection value
is stored in an external Storage like the Local Storage.
MY_COLLECTION.isPersisted; // Returns 'false'
MY_COLLECTION.persist();
MY_COLLECTION.isPersisted; // Returns 'true' if the persist was successful
The value
of the Collection includes:
default
Group- all Items
All other Instances that refer to the Collection have to be persisted separately if desired.
MY_COOL_GROUP.persist();
📄 Return
boolean
groups
In the groups
object all Groups of the Collection are stored.
MY_COLLECTION.createGroup("group1", [1, 2, 3]);
MY_COLLECTION.createGroup("group2", [1, 7, 4]);
MY_COLLECTION.groups; // Returns (see below)
// {
// group1: Group([1, 2, 3]),
// group2: Group([1, 7, 4])
// }
It is best not to touch the groups
object at all
and use the functions provided by the Collection to mutate and get access to it instead.
For example, to get one specific Group, we should use the getGroup()
method.
MY_COLLECTION.getGroup(1); // Good pattern
MY_COLLECTION.groups[1]; // Bad pattern
📄 Return
{ [key: string]: Group<DataType> }
selectors
In the selectors
object all Selectors of the Collection are stored.
MY_COLLECTION.createSelector("selector1", 1);
MY_COLLECTION.createSelector("selector2", 7);
MY_COLLECTION.selectors; // Returns (see below)
// {
// selector1: Selector(1),
// selector2: Selector(7)
// }
It is best not to touch the selectors
object at all
and use the functions provided by the Collection to mutate and get access to it instead.
For example, to get one specific Selector, we should use the getSelector()
method.
MY_COLLECTION.getSelector(1); // Good pattern
MY_COLLECTION.selectors[1]; // Bad pattern
📄 Return
{ [key: string]: Selector<DataType> }