ResourceStore
A store holding all the resources to be rendered into a Scheduler Pro.
This store only accepts a model class inheriting from ResourceModel.
A ResourceStore is usually connected to a project, which binds it to other related stores (EventStore, AssignmentStore and DependencyStore). The project also handles references (assignments, events) to related records for the records in the store.
Resolving the references happens async, records are not guaranteed to have up to date references until calculations are finished. To be certain that references are resolved, call await project.commitAsync() after store actions. Or use one of the xxAsync functions, such as loadDataAsync().
Using commitAsync():
resourceStore.data = [{ id }, ...];
// references (assignments, events) not resolved yet
await resourceStore.project.commitAsync();
// now they are
Using loadDataAsync():
await resourceStore.loadDataAsync([{ id }, ...]);
// references (assignments, events) are resolved
See also
- ResourceModel — The model class used for records in this store
- EventStore — Store of events that can be assigned to resources
- AssignmentStore — Store of assignments linking resources to events
- ProjectModel — The project that binds all related stores together
Configs
Configs are options you supply in a configuration object when creating an instance of this class-
Commit changes automatically
Has a corresponding runtime autoCommit property.
-
The timeout in milliseconds to wait before persisting changes to the server. Used when autoCommit is set to
true. -
True to initiate a load when the store is instantiated
-
Initial groupers, specify to have store grouped automatically after initially setting data
Has a corresponding runtime groupers property.
-
Store's unique identifier. When set the store is added to a store map accessible through
Store.getStore(id).Has a corresponding runtime id property.
-
Set to
falseto not record transaction duringapplyChangesetcallHas a corresponding runtime ignoreRemoteChangesInSTM property.
-
Prevent dynamically subclassing the modelClass. It does so by default to not pollute it when exposing properties. Should rarely need to be used.
-
Reference to STM manager
-
A Collection, or Collection config object to use to contain this Store's constituent records.
-
Internal listeners, that cannot be removed by the user.
-
Specify
trueto reapply filters when a record is added to or moved within the store. This includes tree node operations like indent/outdent in Gantt, or any move operation that changes a node's parent. -
Specify
trueto reapply filters when a record is updated in the store. You can also provide an array of field names, to only re-filter when certain data fields are updated.- fields : String[]
Fields
- fields : String[]
-
An EventStore instance or a config object.
Has a corresponding runtime taskStore property.
-
The name of the parameter to use when requesting pages of data using the zero based index of the required page's starting record.
-
The name of the parameter to use when requesting pages of data, representing the configured pageSize value.
-
The name of the parameter to use when requesting pages of data using the one based page number required.
-
An object containing key/value pairs that are passed on the request query string, or in the request body if HTTP method allows. See paramsInBody config.
Has a corresponding runtime params property.
-
When this config is enabled, the params of "read" request are placed in the request body instead of the query string, if the HTTP method allows.
-
The name of the HTTP parameter passed to this Store's readUrl to indicate the node
idto load when loading child nodes on demand if the node being expanded was created with data containingchildren: true. -
Specify
trueto send payloads as form data,falseto send as regular JSON. -
Set to ´true´ to use restful httpMethods
-
Specify
trueto send all model fields when committing modified records (as opposed to just the modified fields) -
CrudManager must load stores in the correct order. Lowest first.
-
CrudManager must sync stores in the correct order. Lowest first.
-
Specify true to sort this store after records are added.
-
When set to
true, restores the expanded states of tree nodes when reloading data. -
Automatically detect from set data if used as tree store or flat store. If tree is explicitly set to
false, then this value will be overruled and no tree detection performed. -
Set to
trueto fire a 'remove' event when moving a node (to mimic the behavior of versions < 6.0). -
trueto act as a tree store.
Properties
Properties are getters/setters or publicly accessible variables on this class-
Identifies an object as an instance of Events class, or subclass thereof.
-
Identifies an object as an instance of PartOfProject class, or subclass thereof.
-
Identifies an object as an instance of ResourceStore class, or subclass thereof.
-
Identifies an object as an instance of ResourceStoreMixin class, or subclass thereof.
-
Identifies an object as an instance of StoreCRUD class, or subclass thereof.
-
Identifies an object as an instance of StoreChained class, or subclass thereof.
-
Identifies an object as an instance of StoreChanges class, or subclass thereof.
-
Identifies an object as an instance of StoreFilter class, or subclass thereof.
-
Identifies an object as an instance of StoreGroup class, or subclass thereof.
-
Identifies an object as an instance of StorePaging class, or subclass thereof.
-
Identifies an object as an instance of StoreRelation class, or subclass thereof.
-
Identifies an object as an instance of StoreSearch class, or subclass thereof.
-
Identifies an object as an instance of StoreSort class, or subclass thereof.
-
Identifies an object as an instance of StoreSparseIndex class, or subclass thereof.
-
Identifies an object as an instance of StoreState class, or subclass thereof.
-
Identifies an object as an instance of StoreStm class, or subclass thereof.
-
Identifies an object as an instance of StoreSum class, or subclass thereof.
-
Identifies an object as an instance of StoreSync class, or subclass thereof.
-
Identifies an object as an instance of StoreTree class, or subclass thereof.
-
A class property getter for the default values of internal properties for this class.
-
Get all registered stores
-
Store's unique identifier.
Has a corresponding id config.
-
Returns the root store in the chain — the store that is not itself chained. For a store chained off another chained store, this walks up the full chain. Returns
thisif the store is not chained. -
Set to
falseto not record transaction duringapplyChangesetcallHas a corresponding ignoreRemoteChangesInSTM config.
-
Is this a chained store?
-
Returns
trueif the data in this store depends on a remote data source. That is this Store is an AjaxStore, or uses requestData, or is chained off an AjaxStore. -
An empty array that can be used as a default value.
-
An empty object that can be used as a default value.
-
Returns true if the Store is currently committing
-
Identifies an object as an instance of AjaxStore class, or subclass thereof.
-
Identifies an object as an instance of ResourceStore class, or subclass thereof.
-
Identifies an object as an instance of Store class, or subclass thereof.
-
Returns a copy of the full configuration which was used to configure this object.
-
This property is set to
truebefore theconstructorreturns. -
This property is set to
trueon entry to the destroy method. It remains on the objects after returning fromdestroy(). If isDestroyed istrue, this property will also betrue, so there is no need to test for both (for example,comp.isDestroying || comp.isDestroyed). -
Returns the assignment store of the project this entity belongs to.
-
Returns the calendar manager store of the project this entity belongs to.
-
Returns the dependency store of the project this entity belongs to.
-
Returns the task store of the project this entity belongs to.
-
Returns the resource store of the project this entity belongs to.
-
Yields
trueif this Store is loaded page by page. See the remotePaging config. -
If the store is paged, yields the highest page number in the dataset as calculated from the 'total' returned in the last page data block loaded.
-
Returns the project this entity belongs to.
-
Returns all locally available records from the store, ignoring any filters and including grouping headers / footers.
-
Setting
autoCommittotrueautomatically commits changes to records.Has a corresponding autoCommit config.
-
Get the first record locally available in the store.
-
Get the last record locally available in the store.
-
Class used to represent records. Defaults to class Model.
Has a corresponding modelClass config.
-
Returns all locally available "visible" records. Note: The returned value may not be mutated!
-
Yields the complete dataset size, ignoring filtering and grouping. If the store is paged, it returns the
totalvalue provided in the page load request response, or manually set. -
An object containing key/value pairs that are passed on the request query string, or in the request body if HTTP method allows. See paramsInBody config.
Has a corresponding params config.
-
Currently applied filters. A collection of CollectionFilter instances.
Has a corresponding filters config.
-
Currently used groupers. To set groupers when remote sorting is enabled by sortParamName you should use setGroupers instead to be able to wait for the operation to finish.
Has a corresponding groupers config.
-
Check if store is filtered
-
Is store currently grouped?
-
Is store sorted?
-
Currently applied sorters
Has a corresponding sorters config.
-
Pretty printed version of json
-
Returns all the group header records
-
If the store is paged, yields the current page number.
-
The sorter function for sorting records in the store.
-
trueif this Store is configured to handle tree data (withtree : true) or if this is a chained store and the master store is a tree store. -
Returns all leaf records in a tree store
-
The invisible root node of this tree.
Functions
Functions are methods available for calling on the class-
This optional class method is called when a class is mixed in using the mixin() method.
-
Registers this class type with its Factory
Only available if the store is configured as lazyLoad.
For a flat Store, calling this method will remove the provided records from the store and reload them the next time they are rendered.
For a tree Store, calling this method will remove all child nodes of the provided parent nodes and reload the parent nodes the next time they are rendered or expanded.
Clears store data. Used by removeAll, separate function for using with chained stores.
Updates records available in a chained store by filtering the master store records using chainedFilterFn
Internal function used to hook destroy() calls when using thisObj
Internal function used restore hooked destroy() calls when using thisObj
Auto detaches listeners registered from start, if set as detachable
Internal function used to run a callback function after an event is triggered
Removes all listeners registered to this object by the application.
Resumes automatic commits upon store changes. Will trigger commit if the internal counter is 0.
Suspends automatic commits upon store changes. Can be called multiple times (it uses an internal counter).
Accepts all changes, resets the modification tracking:
- Clears change tracking for all records
- Clears added
- Clears modified
- Clears removed Leaves the store in an "unmodified" state.
Handles changes in master stores data. Updates the chained store accordingly
Handles refresh events from the master store. During batch operations, individual change events are suppressed and only a refresh event with
action: 'batch'fires afterendBatch(). This ensures the chained store stays in sync after batch operations.Relays some function calls to the master store
Initialized relations, called from constructor
Updates relationCache for all records.
Sets a collection of related records. Will updated the related store and trigger events from it. Not to be called directly, called from Model setter.
Updates relation cache and foreign key value when a related objects id is changed.