Changeset 6008


Ignore:
Timestamp:
04/23/12 23:29:06 (12 years ago)
Author:
natan
Message:

Ticket #2648 - Problema de sincronizacao de dados nos filtros de mensagens - Correcao no diff

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/prototype/api/datalayer.js

    r5919 r6008  
    967967          this.comparators.unshift( comparator ); 
    968968    }, 
     969     
     970    escapedJSON: function(text) 
     971    { 
     972          return JSON.stringify( text ).replace( /[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&" ); 
     973    }, 
    969974  
    970975    diff: function( base, toDiff ){ 
     
    987992              break; 
    988993              case 'array': 
    989                 if( base[key] && !(toDiff[key] = $.grep( toDiff[key], function( el, i ){ return( $.inArray( el, base[key] ) === -1 ); } )).length ) 
     994                if( base[key] && !(toDiff[key] = $.grep( toDiff[key], function( el, i ){ return( $.isArray( el ) || $.isPlainObject( el ) ? !RegExp( DataLayer.escapedJSON( el ) ).test( JSON.stringify(base[key]) ) : $.inArray( el, base[key] ) === -1 ); } )).length ) 
    990995                  delete toDiff[key]; 
    991996              break; 
     
    19811986        var timer = function(){ 
    19821987 
    1983               setTimeout( timer, 1 ); 
     1988              setTimeout( timer, 1000 ); 
    19841989 
    19851990              var now = parseInt( $.now() / 1000 ); 
     
    20002005        }; 
    20012006 
    2002         setTimeout( timer, 1 ); 
     2007        setTimeout( timer, 1000 ); 
    20032008    }, 
    20042009     
Note: See TracChangeset for help on using the changeset viewer.