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