OpenLayers OpenLayers

Changeset 7273

Show
Ignore:
Timestamp:
05/23/08 15:15:37 (6 months ago)
Author:
sbenthall
Message:

refactored out commit callback on Save, in anticipation of GreedySave

Files:

Legend:

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

    r7256 r7273  
    8585            features = this.layer.features; 
    8686        } 
    87          
    88         var strategy = this; 
    89          
    90         var saveCallback = function(object){ 
    91             var state; 
     87        
     88        this.layer.protocol.commit(features, { 
     89            callback: function(object){ 
     90                this.onCommit(features,object); 
     91            },  
     92            scope: this}); 
     93    }, 
     94     
     95    onCommit : function(features,object){ 
     96        var state; 
    9297             
    93             if (object.success) { 
    94                 //Updates and deletes Deletes 
     98        if (object.success) { 
     99            //Updates and deletes Deletes 
     100            for (var i = 0; i < features.length; i++) { 
     101                state = features[i].state; 
     102                    
     103                if (state == OpenLayers.State.UPDATE) { 
     104                    features[i].state = null; 
     105                } 
     106                     
     107                if (state == OpenLayers.State.DELETE) { 
     108                    this.layer.destroyFeatures([features[i]]); 
     109                } 
     110            } 
     111                 
     112            var inserts = object.inserts; 
     113                 
     114            if (inserts[0] != "none") { 
     115                var j = 0; 
     116                     
    95117                for (var i = 0; i < features.length; i++) { 
    96                     state = features[i].state; 
    97                      
    98                     if (state == OpenLayers.State.UPDATE) { 
     118                    if (features[i].state == OpenLayers.State.INSERT) { 
    99119                        features[i].state = null; 
    100                     } 
    101                      
    102                     if (state == OpenLayers.State.DELETE) { 
    103                         strategy.layer.destroyFeatures([features[i]]); 
    104                     } 
    105                 } 
    106                  
    107                 var inserts = object.inserts; 
    108                  
    109                 if (inserts[0] != "none") { 
    110                     var j = 0; 
    111                      
    112                     for (var i = 0; i < features.length; i++) { 
    113                         if (features[i].state == OpenLayers.State.INSERT) { 
    114                             features[i].state = null; 
    115                             features[i].fid = inserts[j]; 
    116                             j++; 
    117                         } 
     120                        features[i].fid = inserts[j]; 
     121                        j++; 
    118122                    } 
    119123                } 
    120124            } 
    121         }; 
    122         
    123         this.layer.protocol.commit(features, {callback: saveCallback, scope: this}); 
     125        } 
    124126    }, 
    125127