ModelSync.Local Class
An extension which provides a sync implementation through locally stored key value pairs, either through the HTML localStorage API or falling back onto an in-memory cache, that can be mixed into a Model or ModelList subclass.
A group of Models/ModelLists is serialized in localStorage by either its class name, or a specified 'root' that is provided.
var User = Y.Base.create('user', Y.Model, [Y.ModelSync.Local], {
    root: 'user'
});
var Users = Y.Base.create('users', Y.ModelList, [Y.ModelSync.Local], {
    model: User,
});
Item Index
Properties
Methods
_destroy
    
        ()
    
    
    
    
        protected
    
    
    
    
    
    
    Sync method correlating to the "delete" operation. Deletes the data from the in-memory object, and saves into localStorage if available.
_index
    
        ()
    
    
        
            Object[]
        
    
    
    
        protected
    
    
    
    
    
    
    Sync method correlating to the "read" operation, for a Model List
Returns:
Array of objects found for that root key
_save
    
        ()
    
    
    
    
        protected
    
    
    
    
    
    
    Saves the current in-memory store into a localStorage key/value pair if localStorage is available; otherwise, does nothing.
_show
    
        ()
    
    
        
            Object
        
    
    
    
        protected
    
    
    
    
    
    
    Sync method correlating to the "read" operation, for a Model
Returns:
Object found for that root key and model ID
_show
    
        ()
    
    
        
            Object
        
    
    
    
        protected
    
    
    
    
    
    
    Sync method correlating to the "create" operation
Returns:
The new object created.
_update
    
        ()
    
    
        
            Object
        
    
    
    
        protected
    
    
    
    
    
    
    Sync method correlating to the "update" operation
Returns:
The updated object.
generateID
    
        - 
                    
                        
pre 
Generate a random GUID for our Models. This can be overriden if you have another method of generating different IDs.
Parameters:
- 
                    
                        
preStringOptional GUID prefix
 
sync
    
        - 
                    
                        
action - 
                    
                        
[options] - 
                    
                        
[callback] 
Creates a synchronization layer with the localStorage API, if available. Otherwise, falls back to a in-memory data store.
This method is called internally by load(), save(), and destroy().
Parameters:
- 
                    
                        
actionStringSync action to perform. May be one of the following:
- create: Store a newly-created model for the first time.
 - read : Load an existing model.
 - update: Update an existing model.
 - delete: Delete an existing model.
 
 - 
                    
                        
[options]Object optionalSync options
 - 
                    
                        
[callback]Function optionalCalled when the sync operation finishes.
- 
                                
                                    
errError | NullIf an error occurred, this parameter will contain the error. If the sync operation succeeded, err will be falsey.
 - 
                                
                                    
[response]Any optionalThe response from our sync. This value will be passed to the parse() method, which is expected to parse it and return an attribute hash.
 
 - 
                                
                                    
 
Properties
_hasLocalStorage
    Boolean
    
    
        private
    
    
    
    
    Feature testing for localStorage availability.
Will return falsey for browsers with localStorage, but that don't
actually work, such as iOS Safari in private browsing mode.
_NON_ATTRS_CFG
    Array
    
    
        protected
    
    
    
        static
    
    
    Properties that shouldn't be turned into ad-hoc attributes when passed to a Model or ModelList constructor.
Default: ['root']
storage
    Storage
    
    
    
    
    
    Shortcut for access to localStorage.
Default: null
