VersionStore
A store that holds the list of saved project versions (snapshots), managed by the Versions feature. Each record is a VersionModel containing a complete snapshot of the project data at the time of capture along with a reference to the changelog entries recorded since the previous version.
This store works together with the ChangeLogStore to provide full version history and change tracking for the project. You can provide a custom subclass of VersionModel using the versionModelClass config.
const schedulerPro = new SchedulerPro({
features : {
versions : true
}
});
// Access the version store via the Versions feature
const { versionStore } = schedulerPro.features.versions;
// List saved versions
versionStore.forEach(version => {
console.log(version.name, version.savedAt);
});
See also
- VersionModel — The model class representing a saved project version
- ChangeLogStore — Store of changelog transactions between versions
- Versions — Feature that manages version tracking and change history
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.
-
For a non-AjaxStore, the autoLoad config will only take effect if the store is configured as lazyLoad, remoteSort, remoteFilter or remotePaging. In these cases, it will immediately after creation, perform a request by calling the requestData function.
-
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[]
-
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.
-
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 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.
-
Identifies an object as an instance of VersionStore 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.
-
Identifies an object as an instance of Store class, or subclass thereof.
-
Identifies an object as an instance of VersionStore 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). -
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 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. -
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
-
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.