OpenLayers OpenLayers

Changeset 7421

Show
Ignore:
Timestamp:
06/21/08 12:02:16 (5 months ago)
Author:
tschaub
Message:

Reset page number when clearing cache.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • sandbox/vector-behavior/OpenLayers.js

    r7411 r7421  
    319319return 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;} 
    320320return 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;} 
     321this.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;} 
    322322return this.length;},pageNext:function(){var changed=false;if(this.cache){if(this.num===null){this.num=-1;} 
    323323var start=(this.num+1)*this.length;changed=this.page(start);} 
    324324return changed;},pagePrevious:function(){var changed=false;if(this.cache){if(this.num===null){this.num=this.pageCount();} 
    325325var 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;}}} 
     326return 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;}}} 
    327327return 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;} 
    328328if(this.callbacks&&this.callbacks.start){this.callbacks.start.call(this,this.begin);} 
  • sandbox/vector-behavior/lib/OpenLayers/Strategy/Paging.js

    r7411 r7421  
    102102        } 
    103103        this.cache = null; 
     104        this.num = null; 
    104105    }, 
    105106     
     
    195196                var num = Math.floor(start / this.length); 
    196197                if(num != this.num) { 
     198                    this.paging = true; 
    197199                    var features = this.cache.slice(start, start + this.length); 
    198200                    this.layer.removeFeatures(this.layer.features); 
    199201                    this.layer.addFeatures(features, {silent: true}); 
    200202                    this.num = num; 
    201                     this.paging = true; 
    202203                    this.layer.events.triggerEvent("featuresadded", { 
    203204                        features: features,