Alex Monk has uploaded a new change for review.

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

Change subject: Attempt to detect when a user is trying to input an external 
link to a wiki page
......................................................................

Attempt to detect when a user is trying to input an external link to a wiki page

Bug: T94334
Change-Id: I0ed67e6579b9ed0a0565968fd253fdf5c6151683
---
M modules/ve-mw/dm/annotations/ve.dm.MWInternalLinkAnnotation.js
M modules/ve-mw/ui/widgets/ve.ui.MWLinkTargetInputWidget.js
2 files changed, 15 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor 
refs/changes/27/201627/1

diff --git a/modules/ve-mw/dm/annotations/ve.dm.MWInternalLinkAnnotation.js 
b/modules/ve-mw/dm/annotations/ve.dm.MWInternalLinkAnnotation.js
index 1d4fb3a..d01632e 100644
--- a/modules/ve-mw/dm/annotations/ve.dm.MWInternalLinkAnnotation.js
+++ b/modules/ve-mw/dm/annotations/ve.dm.MWInternalLinkAnnotation.js
@@ -72,6 +72,8 @@
        if ( matches ) {
                // Take the relative path
                href = matches[1];
+       } else {
+               return {};
        }
 
        // The href is simply the title, unless we're dealing with a page that 
has slashes in its name
diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWLinkTargetInputWidget.js 
b/modules/ve-mw/ui/widgets/ve.ui.MWLinkTargetInputWidget.js
index 122a5b9..41e72ac 100644
--- a/modules/ve-mw/ui/widgets/ve.ui.MWLinkTargetInputWidget.js
+++ b/modules/ve-mw/ui/widgets/ve.ui.MWLinkTargetInputWidget.js
@@ -100,11 +100,21 @@
  * @returns {jQuery.Promise} Promise without success or fail handlers attached
  */
 ve.ui.MWLinkTargetInputWidget.prototype.getLookupRequest = function () {
-       var req,
+       var req, internalLink,
                widget = this,
                promiseAbortObject = { abort: function () {
-               // Do nothing. This is just so OOUI doesn't break due to abort 
being undefined.
-       } };
+                       // Do nothing. This is just so OOUI doesn't break due 
to abort being undefined.
+               } };
+
+       if ( ve.init.platform.getExternalLinkUrlProtocolsRegExp().test( 
this.value ) ) {
+               internalLink = 
ve.dm.MWInternalLinkAnnotation.static.getTargetDataFromHref(
+                       this.value,
+                       ve.init.target.doc
+               ).title;
+               if ( internalLink ) {
+                       this.value = internalLink;
+               }
+       }
 
        if ( mw.Title.newFromText( this.value ) ) {
                return this.interwikiPrefixesPromise.then( function () {

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0ed67e6579b9ed0a0565968fd253fdf5c6151683
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Alex Monk <kren...@gmail.com>

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

Reply via email to