Nikerabbit has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/142235

Change subject: Message checker live updates work again
......................................................................

Message checker live updates work again

* I broke them at Ie7e26 about six months ago
* Code was returning nulls which causes JavaScript errors, which were not
  visible before new jQuery was enabled without migration module.
* There were two different places calling delay() causing interference
* jQuery -> $

Change-Id: I0404dcace2bad6a86fb6cb7ed19502809034f6f5
---
M resources/js/ext.translate.editor.js
M utils/TranslationHelpers.php
2 files changed, 15 insertions(+), 11 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Translate 
refs/changes/35/142235/1

diff --git a/resources/js/ext.translate.editor.js 
b/resources/js/ext.translate.editor.js
index 651e6e4..942df52 100644
--- a/resources/js/ext.translate.editor.js
+++ b/resources/js/ext.translate.editor.js
@@ -44,6 +44,8 @@
                this.listen();
                this.storage = this.options.storage || new 
mw.translate.TranslationApiStorage();
                this.canDelete = mw.translate.canDelete();
+               this.delayValidation = delayer();
+               this.delayResize = delayer();
        }
 
        TranslateEditor.prototype = {
@@ -606,7 +608,7 @@
                                        $pasteSourceButton.removeClass( 'hide' 
);
                                }
 
-                               delay( function () {
+                               translateEditor.delayValidation( function () {
                                        translateEditor.validateTranslation();
                                }, 500 );
                        } );
@@ -780,7 +782,7 @@
                                translation: $textarea.val()
                        }, function ( data ) {
                                var warningIndex,
-                                       warnings = jQuery.parseJSON( data );
+                                       warnings = $.parseJSON( data );
 
                                translateEditor.removeWarning( 'validation' );
                                if ( !warnings || !warnings.length ) {
@@ -1001,7 +1003,7 @@
                        // layout of the text area after this function. Use 
very small
                        // delay to have it settle down and have correct 
results. Otherwise
                        // there will be a size change once the first letter is 
typed.
-                       delay( function() {
+                       this.delayResize( function() {
                                $textarea.trigger( 
'autosize.resizeIncludeStyle' );
                        }, 1 );
 
@@ -1139,12 +1141,14 @@
 
        $.fn.translateeditor.Constructor = TranslateEditor;
 
-       function delay () {
-               var timer = 0;
+       function delayer() {
+               return (function () {
+                       var timer = 0;
 
-               return function ( callback, milliseconds ) {
-                       clearTimeout( timer );
-                       timer = setTimeout( callback, milliseconds );
-               };
+                       return function ( callback, milliseconds ) {
+                               clearTimeout( timer );
+                               timer = setTimeout( callback, milliseconds );
+                       };
+               } () );
        }
 }( jQuery, mediaWiki ) );
diff --git a/utils/TranslationHelpers.php b/utils/TranslationHelpers.php
index 813f21f..f7a47a5 100644
--- a/utils/TranslationHelpers.php
+++ b/utils/TranslationHelpers.php
@@ -869,14 +869,14 @@
                }
 
                if ( $code === $wgTranslateDocumentationLanguageCode ) {
-                       return null;
+                       return $formattedChecks;
                }
 
                // We need to get the primary group of the message. It may 
differ from
                // the supplied group (aggregate groups, dynamic groups).
                $checker = $this->handle->getGroup()->getChecker();
                if ( !$checker ) {
-                       return null;
+                       return $formattedChecks;
                }
 
                $message = new FatMessage( $page, $en );

-- 
To view, visit https://gerrit.wikimedia.org/r/142235
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0404dcace2bad6a86fb6cb7ed19502809034f6f5
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Translate
Gerrit-Branch: master
Gerrit-Owner: Nikerabbit <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to