@@ -230,7 +230,7 @@ <h4>[[dinosaur.__firebaseKey__]]</h4>
230
230
'firebase-child-added' : '_onFirebaseChildAdded' ,
231
231
'firebase-child-removed' : '_onFirebaseChildRemoved' ,
232
232
'firebase-child-changed' : '_onFirebaseChildChanged' ,
233
- 'firebase-child-moved' : '_onFirebaseChildChanged ' ,
233
+ 'firebase-child-moved' : '_onFirebaseChildMoved ' ,
234
234
} ,
235
235
236
236
/**
@@ -514,18 +514,22 @@ <h4>[[dinosaur.__firebaseKey__]]</h4>
514
514
var value = this . _valueMap [ key ] ;
515
515
var previousChild ;
516
516
var newIndex ;
517
+ var currentIndex ;
518
+ var previousIndex ;
517
519
518
520
if ( ! value ) {
519
521
this . _error ( 'Received firebase-child-moved event for unknown child "' + key + '"' ) ;
520
522
return ;
521
523
}
522
524
523
- previousValue = event . detail . previousChildName != null ?
525
+ previousChild = event . detail . previousChildName != null ?
524
526
this . _valueMap [ event . detail . previousChildName ] : null ;
525
- newIndex = previousValue != null ?
526
- this . data . indexOf ( previousValue ) + 1 : 0 ;
527
527
528
- this . splice ( 'data' , this . data . indexOf ( value ) , 1 ) ;
528
+ currentIndex = this . data . indexOf ( value ) ;
529
+ previousIndex = previousChild ? this . data . indexOf ( previousChild ) : - 1 ;
530
+ newIndex = currentIndex > previousIndex ? previousIndex + 1 : previousIndex ;
531
+
532
+ this . splice ( 'data' , currentIndex , 1 ) ;
529
533
this . splice ( 'data' , newIndex , 0 , value ) ;
530
534
} ) ;
531
535
}
0 commit comments