Changeset 7421
- Timestamp:
- 06/21/08 12:02:16 (5 months ago)
- Files:
-
- sandbox/vector-behavior/OpenLayers.js (modified) (1 diff)
- sandbox/vector-behavior/lib/OpenLayers/Strategy/Paging.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
sandbox/vector-behavior/OpenLayers.js
r7411 r7421 319 319 return OpenLayers.Request.issue(config);},DELETE:function(config){config=OpenLayers.Util.extend(config,{method:"DELETE"});return OpenLayers.Request.issue(config);},HEAD:function(config){config=OpenLayers.Util.extend(config,{method:"HEAD"});return OpenLayers.Request.issue(config);},OPTIONS:function(config){config=OpenLayers.Util.extend(config,{method:"OPTIONS"});return OpenLayers.Request.issue(config);}};OpenLayers.Strategy=new OpenLayers.Class({layer:null,initialize:function(options){OpenLayers.Util.extend(this,options);},destroy:function(){this.layer=null;this.deactivate();},setLayer:function(layer){this.layer=layer;},activate:function(){},deactivate:function(){},update:function(){},remove:function(){},commit:function(){},merge:function(){},CLASS_NAME:"OpenLayers.Strategy"});OpenLayers.Strategy.Paging=new OpenLayers.Class(OpenLayers.Strategy,{layer:null,cache:null,length:10,num:null,paging:false,initialize:function(options){OpenLayers.Strategy.prototype.initialize.apply(this,[options]);},activate:function(){this.layer.events.on({"beforefeaturesadded":this.cacheFeatures,scope:this});},deactivate:function(){delete this.layer.page;this.clearCache();this.layer.events.un({"beforefeaturesadded":this.cacheFeatures,scope:this});},cacheFeatures:function(event){var propigate=true;if(!this.paging){this.clearCache();this.cache=event.features;this.pageNext();propigate=false;} 320 320 return propigate;},clearCache:function(){if(this.cache){for(var i=0;i<this.cache.length;++i){this.cache[i].destroy();}} 321 this.cache=null; },pageCount:function(){var numFeatures=this.cache?this.cache.length:0;return Math.ceil(numFeatures/this.length);},pageNum:function(){return this.num;},pageLength:function(newLength){if(newLength&&newLength>0){this.length=newLength;}321 this.cache=null;this.num=null;},pageCount:function(){var numFeatures=this.cache?this.cache.length:0;return Math.ceil(numFeatures/this.length);},pageNum:function(){return this.num;},pageLength:function(newLength){if(newLength&&newLength>0){this.length=newLength;} 322 322 return this.length;},pageNext:function(){var changed=false;if(this.cache){if(this.num===null){this.num=-1;} 323 323 var start=(this.num+1)*this.length;changed=this.page(start);} 324 324 return changed;},pagePrevious:function(){var changed=false;if(this.cache){if(this.num===null){this.num=this.pageCount();} 325 325 var start=(this.num-1)*this.length;changed=this.page(start);} 326 return changed;},page:function(start){var changed=false;if(this.cache){if(start>=0&&start<this.cache.length){var num=Math.floor(start/this.length);if(num!=this.num){ var features=this.cache.slice(start,start+this.length);this.layer.removeFeatures(this.layer.features);this.layer.addFeatures(features,{silent:true});this.num=num;this.paging=true;this.layer.events.triggerEvent("featuresadded",{features:features,pageNum:this.num,pageCount:this.pageCount()});this.paging=false;changed=true;}}}326 return changed;},page:function(start){var changed=false;if(this.cache){if(start>=0&&start<this.cache.length){var num=Math.floor(start/this.length);if(num!=this.num){this.paging=true;var features=this.cache.slice(start,start+this.length);this.layer.removeFeatures(this.layer.features);this.layer.addFeatures(features,{silent:true});this.num=num;this.layer.events.triggerEvent("featuresadded",{features:features,pageNum:this.num,pageCount:this.pageCount()});this.paging=false;changed=true;}}} 327 327 return changed;},CLASS_NAME:"OpenLayers.Strategy.Paging"});OpenLayers.Tween=OpenLayers.Class({INTERVAL:10,easing:null,begin:null,finish:null,duration:null,callbacks:null,time:null,interval:null,playing:false,initialize:function(easing){this.easing=(easing)?easing:OpenLayers.Easing.Expo.easeOut;},start:function(begin,finish,duration,options){this.playing=true;this.begin=begin;this.finish=finish;this.duration=duration;this.callbacks=options.callbacks;this.time=0;if(this.interval){window.clearInterval(this.interval);this.interval=null;} 328 328 if(this.callbacks&&this.callbacks.start){this.callbacks.start.call(this,this.begin);} sandbox/vector-behavior/lib/OpenLayers/Strategy/Paging.js
r7411 r7421 102 102 } 103 103 this.cache = null; 104 this.num = null; 104 105 }, 105 106 … … 195 196 var num = Math.floor(start / this.length); 196 197 if(num != this.num) { 198 this.paging = true; 197 199 var features = this.cache.slice(start, start + this.length); 198 200 this.layer.removeFeatures(this.layer.features); 199 201 this.layer.addFeatures(features, {silent: true}); 200 202 this.num = num; 201 this.paging = true;202 203 this.layer.events.triggerEvent("featuresadded", { 203 204 features: features,
