Sha256: 740d5ad8cee72f93c7cebc2b1209a3785ae769f432662937d2afe36171a174b6

Contents?: true

Size: 1.97 KB

Versions: 2

Compression:

Stored size: 1.97 KB

Contents

Appcelerator.Module.Datacache={};Appcelerator.Module.Datacache={cache:[],getName:function(){return"appcelerator datacache"},getDescription:function(){return"datacache widget"},getVersion:function(){return 1},getSpecVersion:function(){return 1},getAuthor:function(){return"Jeff Haynie"},getModuleURL:function(){return"http://www.appcelerator.org"},isWidget:function(){return true},getWidgetName:function(){return"app:datacache"},getAttributes:function(){return[{name:"request",optional:false,description:"The message request to cache."},{name:"response",optional:false,description:"The message response to cache."},{name:"keepAlive",optional:true,defaultValue:1800000,description:"Keep alive"},{name:"autoRefresh",optional:true,defaultValue:false,description:"Auto refresh"}]},buildWidget:function(C,F){var E=F["request"];var B=F["response"];var H=F["keepAlive"];var A=F["autoRefresh"];if(!E){throw"syntax error: required 'request' attribute for "+C.id}if(!B){throw"syntax error: required 'response' attribute for "+C.id}E=Appcelerator.Util.ServiceBroker.convertType(E);B=Appcelerator.Util.ServiceBroker.convertType(B);var D={req:E,resp:B,ttl:parseInt(H),data:null,timestamp:new Date().getTime(),refresh:A};Appcelerator.Module.Datacache.cache.push(D);var G={interceptQueue:function(K,L,I,J){if(I==E){if(D.data){D.data.app_datacache_message=true;$MQ(B,D.data,J);return false}else{return true}}if(I==B){if(K["data"].app_datacache_message){return true}D.data=K["data"];D.timestamp=new Date().getTime();return true}}};Appcelerator.Util.ServiceBroker.addInterceptor(G);return{"position":Appcelerator.Compiler.POSITION_REMOVE}},dataCacheTimer:function(){var A=new Date().getTime();for(var C=0;C<Appcelerator.Module.Datacache.cache.length;C++){var B=Appcelerator.Module.Datacache.cache[C];if(A>=B.ttl+B.timestamp){B.data=null;if(B.refresh==true||B.refresh=="true"){$MQ(B.req,{})}}}}};setInterval(Appcelerator.Module.Datacache.dataCacheTimer,30000);Appcelerator.Core.registerModule("app:datacache",Appcelerator.Module.Datacache)

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
appcelerator-2.0.1.1 appcelerator/templates/modules/app_datacache/app_datacache.js
appcelerator-2.0.2 appcelerator/templates/modules/app_datacache/app_datacache.js