http://www.mediawiki.org/wiki/Special:Code/MediaWiki/92442

Revision: 92442
Author:   tparscal
Date:     2011-07-18 15:54:25 +0000 (Mon, 18 Jul 2011)
Log Message:
-----------
Fixed scanBoundaries being called after render instead of before, because 
change events are later than insert/delete/annotate

Modified Paths:
--------------
    trunk/parsers/wikidom/lib/es/es.TextFlow.js

Modified: trunk/parsers/wikidom/lib/es/es.TextFlow.js
===================================================================
--- trunk/parsers/wikidom/lib/es/es.TextFlow.js 2011-07-18 15:49:31 UTC (rev 
92441)
+++ trunk/parsers/wikidom/lib/es/es.TextFlow.js 2011-07-18 15:54:25 UTC (rev 
92442)
@@ -22,16 +22,16 @@
        
        // Events
        var flow = this;
-       this.content.on( 'change', function() {
+       this.content.on( 'insert', function( args ) {
                flow.scanBoundaries();
-       } );
-       this.content.on( 'insert', function( args ) {
                flow.render( args.offset );
        } );
        this.content.on( 'remove', function( args ) {
+               flow.scanBoundaries();
                flow.render( args.start );
        } );
        this.content.on( 'annotate', function( args ) {
+               flow.scanBoundaries();
                flow.render( args.start );
        } );
        
@@ -239,6 +239,7 @@
                if ( rs.wordFit.width > rs.width ) {
                        // The first word didn't fit, we need to split it up
                        rs.charOffset = rs.lineStart;
+                       var lineOffset = rs.wordOffset;
                        rs.wordOffset++;
                        rs.lineEnd = this.boundaries[rs.wordOffset];
                        do {
@@ -250,20 +251,21 @@
                                                rs.wordOffset, rs.wordCount - 
1, rs.ruler, rs.width - rs.charFit.width
                                        );
                                        if ( rs.wordFit.end > rs.wordOffset ) {
+                                               lineOffset = rs.wordOffset;
                                                rs.wordOffset = rs.wordFit.end;
                                                rs.charFit.end = rs.lineEnd = 
this.boundaries[rs.wordOffset];
                                        }
                                }
-                               this.appendLine( rs.charOffset, rs.charFit.end, 
rs.wordOffset, fractional );
+                               this.appendLine( rs.charOffset, rs.charFit.end, 
lineOffset, fractional );
                                // Move on to another line
                                rs.charOffset = rs.charFit.end;
                                // Mark the next line as fractional
                                fractional = true;
                        } while ( rs.charOffset < rs.lineEnd );
                } else {
+                       rs.lineEnd = this.boundaries[rs.wordFit.end];
+                       this.appendLine( rs.lineStart, rs.lineEnd, 
rs.wordOffset, fractional );
                        rs.wordOffset = rs.wordFit.end;
-                       rs.lineEnd = this.boundaries[rs.wordOffset];
-                       this.appendLine( rs.lineStart, rs.lineEnd, 
rs.wordOffset, fractional );
                }
                rs.lineStart = rs.lineEnd;
        }
@@ -276,7 +278,6 @@
                        .nextAll()
                        .remove();
                rs.timeout = undefined;
-               console.log( this.lines.length );
                this.emit( 'render' );
        } else {
                rs.ruler.innerHTML = '';


_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to