Ankita-ks has uploaded a new change for review.

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

Change subject: Merge branch 'master' of 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/LanguageTool into 
xml-parsing
......................................................................

Merge branch 'master' of 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/LanguageTool into 
xml-parsing

Conflicts:
        modules/ext.LanguageToolAction.js

Change-Id: I7c6513e71c78d4af5ba020d8945142ad7ff528eb
---
M modules/ext.LanguageToolAction.js
1 file changed, 35 insertions(+), 152 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/LanguageTool 
refs/changes/52/222852/1

diff --git a/modules/ext.LanguageToolAction.js 
b/modules/ext.LanguageToolAction.js
index 468cad6..c31b81e 100644
--- a/modules/ext.LanguageToolAction.js
+++ b/modules/ext.LanguageToolAction.js
@@ -84,20 +84,21 @@
  * @return {NULL} Action was executed
  */
 mw.languageToolAction.prototype.send = function () {
-<<<<<<< HEAD   (9f2e92 Locating errors in the editing area)
-               var textNodes = this.extract();
-               var model = ve.init.target.getSurface().getModel();
-               var text = "";
-               for (var nodeI = 0; nodeI < textNodes.length; nodeI++) {
-                       var node = textNodes[nodeI];
-                       var nodeRange = node.getRange();
-                       var nodeText = 
model.getLinearFragment(nodeRange).getText();
+<<<<<<< HEAD
+               var textNodes, model, text, nodeI, node, nodeRange, nodeText, 
lang, self;
+               textNodes = this.extract();
+               model = ve.init.target.getSurface().getModel();
+               text = "";
+               for ( nodeI = 0; nodeI < textNodes.length; nodeI++ ) {
+                       node = textNodes[nodeI];
+                       nodeRange = node.getRange();
+                       nodeText = model.getLinearFragment(nodeRange).getText();
                        console.log( nodeText );
                        text = text + "\n" + nodeText;
                }
                console.log( text );
-               var lang = mw.config.get( 'wgPageContentLanguage' );
-               var self = this;
+               lang = mw.config.get( 'wgPageContentLanguage' );
+               self = this;
                $.ajax(
                {
                        type: 'POST',
@@ -115,54 +116,35 @@
                        //this.processXML
                 );
                return;
-=======
-       var textNodes, model, text, nodeI, node, nodeRange, nodeText, lang;
-
-       textNodes = this.extract();
-       model = ve.init.target.getSurface().getModel();
-       text = '';
-
-       for ( nodeI = 0; nodeI < textNodes.length; nodeI++ ) {
-               node = textNodes[nodeI];
-               nodeRange = node.getRange();
-               nodeText = model.getLinearFragment( nodeRange ).getText();
-               text = text + '\n' + nodeText;
->>>>>>> BRANCH (a6f36c Processing the response from LanguageTool server in a 
differ)
        }
 mw.languageToolAction.prototype.openDialog = function ( responseXML, text ) {
        
-       //console.log( this.constructor.name );
-       //this.processXML = mw.languageToolAction.prototype.processXML.bind( 
this );
-       //console.log( responseXML );
-       var results = this.processXML( responseXML );
-       var range, fragment;
-       var surfaceModel = this.surface.getModel();
+       var results, range, fragment, surfaceModel, previousSpanStart, 
suggestionIndex, suggestion, spanStart, spanEnd;
+       results = this.processXML( responseXML );
+       range, fragment;
+       surfaceModel = this.surface.getModel();
        this.suggestions = results;
-       //console.log( results );
-       var languageCode = mw.config.get( 'wgPageContentLanguage' );
-       var previousSpanStart = -1;
+       previousSpanStart = -1;
        // iterate backwards as we change the text and thus modify positions:
-    for (var suggestionIndex = this.suggestions.length-1; suggestionIndex >= 
0; suggestionIndex--) {
-       var suggestion = this.suggestions[suggestionIndex];
-       if (!suggestion.used) {
-               var spanStart = suggestion.offset;
-            var spanEnd = spanStart + suggestion.errorlength;
-            if (previousSpanStart != -1 && spanEnd > previousSpanStart) {
+    for ( suggestionIndex = this.suggestions.length-1; suggestionIndex >= 0; 
suggestionIndex-- ) {
+       suggestion = this.suggestions[suggestionIndex];
+       if ( !suggestion.used ) {
+               panStart = suggestion.offset;
+            spanEnd = spanStart + suggestion.errorlength;
+            if ( previousSpanStart != -1 && spanEnd > previousSpanStart ) {
                 // overlapping errors - these are not supported by our 
underline approach,
                 // as we would need overlapping <span>s for that, so skip the 
error:
                 continue;
             }
             previousSpanStart = spanStart;
-            //console.log( text.substring( spanStart, spanEnd ) );
             range = new ve.Range( spanStart - 1, spanEnd );
             fragment = surfaceModel.getLinearFragment( range, true );
-            //console.log( fragment );
             console.log( fragment.getText() );
             //fragment.annotate( 'set', 'textStyle/bold' );
             console.log( spanStart + " , " + spanEnd);
             var ruleId = suggestion.ruleid;
             var cssName;
-            if (ruleId.indexOf("SPELLER_RULE") >= 0 || 
ruleId.indexOf("MORFOLOGIK_RULE") == 0 || ruleId == "HUNSPELL_NO_SUGGEST_RULE" 
|| ruleId == "HUNSPELL_RULE") {
+            if ( ruleId.indexOf("SPELLER_RULE") >= 0 || 
ruleId.indexOf("MORFOLOGIK_RULE") === 0 || ruleId === 
"HUNSPELL_NO_SUGGEST_RULE" || ruleId === "HUNSPELL_RULE" ) {
                 cssName = "hiddenSpellError";
             }
             else {
@@ -175,35 +157,33 @@
 }
 
 mw.languageToolAction.prototype.processXML = function ( responseXML ) {
-       //console.log('entered');
+       var errors, i, suggestion, errorOffset, errorlength, suggestionsStr, 
url;
        this.suggestions = [];
        //console.log( responseXML );
        this._wordwrap = mw.languageToolAction.prototype._wordwrap.bind( this );
-    var errors = responseXML.getElementsByTagName('error');
-    for (var i = 0; i < errors.length; i++) {
-       var suggestion = {};
+    errors = responseXML.getElementsByTagName('error');
+    for ( i = 0; i < errors.length; i++ ) {
+       suggestion = {};
        // I didn't manage to make the CSS break the text, so we add breaks 
with Javascript:
        suggestion["description"] = 
this._wordwrap(errors[i].getAttribute("msg"), 50, "<br/>");
        suggestion["suggestions"] = [];
-       var suggestionsStr = errors[i].getAttribute("replacements");
-       if (suggestionsStr) {
+       suggestionsStr = errors[i].getAttribute("replacements");
+       if ( suggestionsStr ) {
            suggestion["suggestions"] = suggestionsStr;
        }
-       var errorOffset = parseInt(errors[i].getAttribute("offset"));
-       var errorLength = parseInt(errors[i].getAttribute("errorlength"));
+       errorOffset = parseInt(errors[i].getAttribute("offset"));
+       errorLength = parseInt(errors[i].getAttribute("errorlength"));
        suggestion["offset"]      = errorOffset;
        suggestion["errorlength"] = errorLength;
        suggestion["type"]        = errors[i].getAttribute("category");
        suggestion["ruleid"]      = errors[i].getAttribute("ruleId");
        suggestion["subid"]       = errors[i].getAttribute("subId");
-       var url = errors[i].getAttribute("url");
-       if (url) {
+       url = errors[i].getAttribute("url");
+       if ( url ) {
            suggestion["moreinfo"] = url;
        }
-       this.suggestions.push(suggestion);
+       this.suggestions.push( suggestion );
     }
-    //console.log( this.suggestions );
-
     return this.suggestions;
 }
 
@@ -212,6 +192,7 @@
 // License: "This is free and unencumbered software released into the public 
domain.",
 // see http://james.padolsey.com/terms-conditions/
 mw.languageToolAction.prototype._wordwrap = function(str, width, brk, cut) {
+<<<<<<< HEAD
     brk = brk || '\n';
     width = width || 75;
     cut = cut || false;
@@ -251,105 +232,7 @@
  */
 mw.languageToolAction.prototype.markMyWords = function (){
        return;
-}
-
-       // TODO: Get the language from VE's data model
-       lang = mw.config.get( 'wgPageContentLanguage' );
-
-       $.ajax( {
-               type: 'POST',
-               // dataType: 'xml',
-               url: 'http://tools.wmflabs.org/languageproofing/',
-               data: { language: lang,  text: text }
-       } ).done(
-               this.openDialog
-               //this.processXML
-       );
-
-       return;
 };
-
-mw.languageToolAction.prototype.openDialog = function ( responseXML ) {
-       var suggestions, messageDialog, windowManager, errors, i, response;
-
-       //var processXML = this.processXML.bind( this );
-       suggestions = this.processXML( responseXML );
-       console.log('suggestions');
-       console.log(suggestions);
-
-       messageDialog = new OO.ui.MessageDialog();
-
-       // Create and append a window manager
-       windowManager = new OO.ui.WindowManager();
-       $( 'body' ).append( windowManager.$element );
-       windowManager.addWindows( [ messageDialog ] );
-
-       errors = responseXML.getElementsByTagName( 'error' );
-       console.log( errors );
-
-       response = '';
-
-       for ( i = 0; i < errors.length; i++ ) {
-               response = response + 'ERROR ' + i + ' :\n';
-               response = response + 'error : ' + errors[i].getAttribute( 
'msg' ) + '\n';
-               response = response + 'context : ' + errors[i].getAttribute( 
'context' ) + '\n';
-               messageDialog.setData( 'error', errors[i].getAttribute( 'msg' ) 
);
-               messageDialog.setData( 'context', errors[i].getAttribute( 
'context' ));
-       }
-
-       console.log( response );
-       // Example: Creating and opening a message dialog window.
-       // Open the window.
-       windowManager.openWindow( messageDialog, {
-               title: 'LanguageTool Response',
-               message: response
-       } );
-};
-
-mw.languageToolAction.prototype.processXML = function ( responseXML ) {
-       console.log('entered');
-       this.suggestions = [];
-       var errors = responseXML.getElementsByTagName('error');
-       for (var i = 0; i < errors.length; i++) {
-               var suggestion = {};
-               // I didn't manage to make the CSS break the text, so we add 
breaks with Javascript:
-               suggestion["description"] = 
this._wordwrap(errors[i].getAttribute("msg"), 50, "<br/>");
-               suggestion["suggestions"] = [];
-               var suggestionsStr = errors[i].getAttribute("replacements");
-               if (suggestionsStr) {
-                       suggestion["suggestions"] = suggestionsStr;
-               }
-               var errorOffset = parseInt(errors[i].getAttribute("offset"));
-               var errorLength = 
parseInt(errors[i].getAttribute("errorlength"));
-               suggestion["offset"] = errorOffset;
-               suggestion["errorlength"] = errorLength;
-               suggestion["type"] = errors[i].getAttribute("category");
-               suggestion["ruleid"] = errors[i].getAttribute("ruleId");
-               suggestion["subid"] = errors[i].getAttribute("subId");
-               var url = errors[i].getAttribute("url");
-               if (url) {
-                       suggestion["moreinfo"] = url;
-               }
-               this.suggestions.push(suggestion);
-       }
-       console.log( this.suggestions );
-
-       return this.suggestions;
-}
-
-// Wrapper code by James Padolsey
-// Source: http://james.padolsey.com/javascript/wordwrap-for-javascript/
-// License: "This is free and unencumbered software released into the public 
domain.",
-// see http://james.padolsey.com/terms-conditions/
-mw.languageToolAction.prototype._wordwrap = function(str, width, brk, cut) {
-       brk = brk || '\n';
-       width = width || 75;
-       cut = cut || false;
-       if (!str) { return str; }
-       var regex = '.{1,' +width+ '}(\\s|$)' + (cut ? '|.{' +width+ '}|.+$' : 
'|\\S+?(\\s|$)');
-       return str.match( new RegExp(regex, 'g') ).join( brk );
-};
-// End of wrapper code by James Padolsey
 
 /* Registration */
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7c6513e71c78d4af5ba020d8945142ad7ff528eb
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/LanguageTool
Gerrit-Branch: master
Gerrit-Owner: Ankita-ks <[email protected]>

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

Reply via email to