Ticket #2081: 00-FilteringTable-r7337-fix.patch

File 00-FilteringTable-r7337-fix.patch, 1.4 kB (added by aferber@…, 23 months ago)

Fix for r7337

  • src/widget/FilteringTable.js

     
    124124                } 
    125125                return null;    //      HTMLTableRow 
    126126        }, 
     127        getRowByKey: function(/* mixed */key){ 
     128                //      summary 
     129                //      Finds a row in the table based on the key value. 
     130                var rows = this.domNode.tBodies[0].rows; 
     131                for (var i=0; i<rows.length; i++){ 
     132                        if(dojo.html.getAttribute(rows[i], "value") == key){ 
     133                                return rows[i]; //      HTMLTableRow 
     134                        } 
     135                } 
     136                return null;    //      HTMLTableRow 
     137        }, 
    127138        getColumnIndex: function(/* string */fieldPath){ 
    128139                //      summary 
    129140                //      Returns index of the column that represents the passed field path. 
     
    921932                        self.render(); 
    922933                }); 
    923934                dojo.event.connect(this.store, "onUpdateData", function(updatedObject){ 
    924                         var oldRow = self.getRow(self.store.getDataByKey(updatedObject[self.store.keyField])); 
     935                        var oldRow = self.getRowByKey(updatedObject.key); 
    925936                        var newRow = self.createRow(updatedObject); 
    926937                        self.domNode.tBodies[0].replaceChild(newRow, oldRow); 
    927938                        self.render(); 
     
    936947                }); 
    937948                dojo.event.connect(this.store, "onUpdateDataRange", function(arr){ 
    938949                        for(var i=0; i<arr.length; i++){ 
    939                                 var old=self.getRow(self.store.getDataByKey(arr[i][self.store.keyField])); 
     950                                var old=self.getRowByKey(arr[i].key); 
    940951                                var row=self.createRow(arr[i]); 
    941952                                self.domNode.tBodies[0].replaceChild(row, old); 
    942953                        };