#JQueryStore
定义jQuery的数据存储统一对象,最初是为解决在Domino环境下 Readviewentires URL命令返回的DXL格式数据,后来参考Dojo的Store 设计重新对Store对象进行了定义,抽出Store API。扩展Memory / LocalStore/DXLStore等对象。
微博 http://weibo.com/ivy203 ##StoreAPI
对DojoStoreAPI进行的移植
###类成员
###对象成员
###Store.PutDirectives(id,before,parent,overwrite) Summary
将指令传递给 put() 和 add() ,以更新这两个操作对对象内容的更新和创建
Arguments
id {String|Number} 如果创建一个新的Store对象,则为对象的id
before {Object?} 如果存在该对象,则表示将新的对象添加到改对象之前,为null则将新添加对象追加到最后
parent {Object?} 在分层存储时,该对象表示要更新的对象的父对象
overwrite {Boolean?} 表示是否更新对象,如果为true,则如果对象存在,则更新对,为false则表示无论创建一个新对象。这个方法错误add()的补充
###Store.SortInformation(attribute, descending)
Summary
对象排序属性的方式(指定的属性 attribute排序方式)
Arguments
attribute {String} 排序属性名称.
descending { Boolean}排序方法,缺省为 flase
###Store.QueryOptions(sort,start,count)
Summary
用于设置默认查询参数
Arguments
sort {Store.SortInformation[]?} 设置排序方式对象数组
start {Numnber?} 返回记录集和开始处的指针
count {count ?} 返回记录集和长度
###Store.QueryResults
Summary
Store查询返回的记录集,在处理具有延迟调查询时,可以返回一个Promise(参考jQuery.Deferred)。
在使用过程中,用户不用担心异步处理以及延迟带来的问题
####forEach/each(calllback,thisObject)
Summary
遍历集和,如有是一个promise,则在对象返回后执行遍历.
此处使用each方法和forEach是方便jQuery开发习惯
参考:https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/forEach
Arguments
callback {function} 对每一个元素进行处理的方法
thisObject (object?) callback内作为this使用的对象
####filter/grep(calllback,thisObject)
Summary
对返回结果继续条件过滤
grep是考虑jQuery开发习惯,建议使用 filter
参考: https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/filter.
Arguments
callback {function} 对每一个元素进行处理的方法,返回true表示保留此元素,返回false表示过滤此元素
thisObject (object?) callback内作为this使用的对象
####map(calllback,thisObject)
Summary
参考: https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map.
Arguments
callback {function} 对每一个元素进行处理的方法,返回true表示保留此元素,返回false表示过滤此元素
thisObject (object?) callback内作为this使用的对象
####then(callback,errorHandler)
Summary
Promise 返回后执行
Arguments
callback {function} 要执行的函数
errorHandler (object?) callback内作为this使用的对象
####observe(listener, includeAllUpdates)
Summary
注册一个查询结果修改的事件(观察者模式)
Arguments
listerner {Function} 当查询结构进行修改时该函数被调用,具体参考listerner函数的书面
includeAllUpdates {Boolean ?} 表示是否对结果集产生影响,默认为false,既修改不会对结果集和数据顺序等产生任何用心。
#####listener(object, removedFrom, insertedInto)
object {object} 被修改(创建,修改,删除)的对象参数
removedFrom {Number} object 在结果数组的索引. 如果值是-1,对象不再这个结果集和内
insertedInto {Number} object 现在在结果数组的索引. 如果值是-1,那么是一个从集和内移除的对象
####total
Summary
返回一个Number 或者 Promise
###Store.Transaction
Summary
一个 transaction 方法返回的对象,表示一事务操作
####commit()
Summary
执行一个事务,事务提交失败可能抛出一个错误;在异步模式下会返回一个promise,最终会返回事务执行成功或失败
####abort(callback, thisObject)
Summary
终止一个事务,终止操作失败可能抛出一个错误;在异步模式下会返回一个promise,最终会返回终止操作的成功或失败
##对象属性
###idProperty
Summary
如果Store对象具有主见,则表示该属性值是记录的身份标识,记录的该属性值必须唯一 ,Store会根据该属性创建索引
##对象方法
###quertEngineSummary
对Store进行查询的函数/方法,并返回一个结果集合,该方法可以进行替换
该方法存在两个参数,第一个为Query Params ,第二关参数为 option 如排序分页等
该方法返回一个匹配的数组。
var query =QueryEngin(query,option)
Arguments
query Params {Object} 要查询的条件,查询格式{ name:"*/habq/hik",age:{val:16,condition:">"},city:"shanghai"}
option {Object?} 排序,查询记录数等信息
Summary
根据Identity返回一个记录对象
Arguments
id {String|Number} Store 记录的 Identitiy
returns { Object} 返回一个记录对象
Summary
根据一个记录对象返回该记录的Identity
Arguments
object {Obejct} 要查询的Item对象
returns{String|Number}发挥记录对象的Identity
Summary
存入Stores 的记录对象
Arguments
object{object} 要存入度对象
directives{Store.PutDirectives} put 更新制冷对象
returns: {Number|String}
Summary
存入Stores 的记录对象 ,如果该对象存在,则抛出一个错误
Arguments
object{object} 要存入度对象
directives{Store.PutDirectives} put 更新制冷对象
returns: {Number|String}
Summary
根据identity 删除Store内地一个记录,该方法会删除记录及Store的索引
Arguments
id {Number|String} 要删除的记录的Identity
#query(query,options)
Summary
查询对象内的记录,但给对象不会给改变,返回查询记录的集合
Arguments
query{String|Object|Function} 从Store内进行搜索使用
options{Store.QueryOptions} 可选参数,用于查询结果集的处理
returns{Store.QueryResults} 查询的结果集合,并扩展了一些方法
Example
// 给定一个存在的store
//
// ...查找所有属性 primes 为 true的items :
//
store.query({ prime: true }).forEach(function(object){
// handle each object
});
Summary
获取一个对象的子元素
Arguments
parent{object} 要查找的子对象所对应的父对象
options {Stroe.QueryOptions} 可选参数,用于对资源是的查询
returns {Store.QueryResults} 查询到的子对象的结果集
Summary
返回对象的原始数据
Arguments
object {object} 要返回的原始数据对象
###transaction()
Summary
创建一个新的事务,并返回一个 Store.Transaction 对象