Esanders has uploaded a new change for review.

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

Change subject: Detect MWNumberedExternalLinkNode as convertible
......................................................................

Detect MWNumberedExternalLinkNode as convertible

Bug: T119421
Change-Id: If72e8e9ba7e4f9fa307cdf557bed075a3aa4b05d
---
M modules/ve.ui.CiteFromIdInspectorTool.js
1 file changed, 12 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Citoid 
refs/changes/28/255028/1

diff --git a/modules/ve.ui.CiteFromIdInspectorTool.js 
b/modules/ve.ui.CiteFromIdInspectorTool.js
index a986f8a..5eb49a4 100644
--- a/modules/ve.ui.CiteFromIdInspectorTool.js
+++ b/modules/ve.ui.CiteFromIdInspectorTool.js
@@ -99,7 +99,7 @@
         * @inheritdoc
         */
        ve.ui.MWReferenceContextItem.prototype.renderBody = function () {
-               var surfaceModel, fragment, annotations, annotation, 
convertButton,
+               var surfaceModel, fragment, annotations, annotation, 
convertButton, range, contentNode,
                        refNode = this.getReferenceNode();
 
                this.$body.append( this.getRendering() );
@@ -109,16 +109,24 @@
                }
 
                surfaceModel = this.context.getSurface().getModel();
-               fragment = surfaceModel.getLinearFragment( refNode.getRange() );
+               range = refNode.getRange();
+               fragment = surfaceModel.getLinearFragment( range );
                // Get covering annotations
                annotations = fragment.getAnnotations( false );
+               // The reference consists of one single external link so
+               // offer the user a conversion to citoid-generated reference
                if (
                        annotations.getLength() === 1 &&
                        ( annotation = annotations.get( 0 ) ) instanceof 
ve.dm.MWExternalLinkAnnotation
                ) {
-                       // The reference consists of one single external link so
-                       // offer the user a conversion to citoid-generated 
reference
                        this.convertibleHref = annotation.getHref();
+               } else if ( range.getLength() === 4 ) {
+                       contentNode = fragment.adjustLinearSelection( 1, -1 
).getSelectedNode();
+                       if ( contentNode instanceof 
ve.dm.MWNumberedExternalLinkNode ) {
+                               this.convertibleHref = contentNode.getHref();
+                       }
+               }
+               if ( this.convertibleHref ) {
                        convertButton = new OO.ui.ButtonWidget( {
                                label: ve.msg( 
'citoid-referencecontextitem-convert-button' )
                        } ).connect( this, { click: 'onConvertButtonClick' } );

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: If72e8e9ba7e4f9fa307cdf557bed075a3aa4b05d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Citoid
Gerrit-Branch: master
Gerrit-Owner: Esanders <esand...@wikimedia.org>

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

Reply via email to