Marcoil has uploaded a new change for review.

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

Change subject: WIP: T86782: Horrible hack to make the new Cite CSS appear in VE
......................................................................

WIP: T86782: Horrible hack to make the new Cite CSS appear in VE

This is just a temporary (and bad) hack to test the new Cite CSS
in VE. It changes VE's handling of <ref>s and <references> to
produce the HTML the new CSS applies to, but it also breaks
editing, moving the cursor and possibly the space-time continuum.
Use only for testing!

Change-Id: I7c5838f592a1903396196e1cbe2d29ae5112d0fa
---
M modules/ve-mw/ce/nodes/ve.ce.MWReferenceNode.js
M modules/ve-mw/ce/nodes/ve.ce.MWReferencesListNode.js
M modules/ve-mw/dm/nodes/ve.dm.MWReferenceNode.js
3 files changed, 24 insertions(+), 10 deletions(-)


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

diff --git a/modules/ve-mw/ce/nodes/ve.ce.MWReferenceNode.js 
b/modules/ve-mw/ce/nodes/ve.ce.MWReferenceNode.js
index 6812672..e1826bd 100644
--- a/modules/ve-mw/ce/nodes/ve.ce.MWReferenceNode.js
+++ b/modules/ve-mw/ce/nodes/ve.ce.MWReferenceNode.js
@@ -24,8 +24,10 @@
        ve.ce.FocusableNode.call( this );
 
        // DOM changes
-       this.$link = $( '<a>' ).attr( 'href', '#' );
-       this.$element.addClass( 've-ce-mwReferenceNode reference' ).append( 
this.$link );
+       this.$link = $( '<a>' ).attr( 'href', '#' )
+               .attr('style', 
model.element.originalDomElements[0].children[0].getAttribute('style'))
+               .attr('data-mw-group', 
model.element.originalDomElements[0].children[0].getAttribute('data-mw-group'));
+       this.$element.addClass( 've-ce-mwReferenceNode' ).append( this.$link );
 
        this.index = '';
        this.internalList = this.model.getDocument().internalList;
@@ -96,7 +98,10 @@
  * @method
  */
 ve.ce.MWReferenceNode.prototype.update = function () {
-       this.$link.text( this.model.getIndexLabel() );
+       var linkText = $( '<span>' )
+               .addClass( 'mw-reflink-text' )
+               .text( this.model.getIndexLabel() );
+       this.$link.append( linkText );
 };
 
 /** */
diff --git a/modules/ve-mw/ce/nodes/ve.ce.MWReferencesListNode.js 
b/modules/ve-mw/ce/nodes/ve.ce.MWReferencesListNode.js
index b2f4b487..bb4dcc4 100644
--- a/modules/ve-mw/ce/nodes/ve.ce.MWReferencesListNode.js
+++ b/modules/ve-mw/ce/nodes/ve.ce.MWReferencesListNode.js
@@ -29,7 +29,7 @@
 
        // DOM changes
        this.$element.addClass( 've-ce-mwReferencesListNode references' );
-       this.$reflist = $( '<ol class="references"></ol>' );
+       this.$reflist = $( '<ol class="mw-references"></ol>' );
        this.$refmsg = $( '<p>' )
                .addClass( 've-ce-mwReferencesListNode-muted' );
 
@@ -184,13 +184,19 @@
                        $li = $( '<li>' );
 
                        if ( keyedNodes.length > 1 ) {
+                               var $linkback = $( '<span>' ).attr( 'rel', 
'mw:referencedBy');
                                for ( j = 0, jLen = keyedNodes.length; j < 
jLen; j++ ) {
-                                       $li.append(
-                                               $( '<sup>' ).append(
-                                                       $( '<a>' ).text( ( i + 
1 ) + '.' + j )
-                                               )
+                                       $linkback.append(
+                                               $( '<a>' ).append(
+                                                       $( 'span' ).addClass( 
'mw-linkback-text' )
+                                                               .text( ( i + 1 
) + '.' + j ))
                                        ).append( ' ' );
                                }
+                               $li.append( $linkback );
+                       } else {
+                               $li.append(
+                                       $( '<a>').addClass( 'mw:referencedBy' 
).append(
+                                               $( '<span>').addClass( 
'mw-linkback-text' ).text( '^' )));
                        }
 
                        // Generate reference HTML from first item in key
@@ -209,7 +215,7 @@
                                }
                                $li.append(
                                        $( '<span>' )
-                                               .addClass( 'reference-text' )
+                                               .addClass( 'mw-reference-text' )
                                                .append( viewNode.$element )
                                );
                                // HACK: See bug 62682 - We happen to know that 
destroy doesn't abort async
diff --git a/modules/ve-mw/dm/nodes/ve.dm.MWReferenceNode.js 
b/modules/ve-mw/dm/nodes/ve.dm.MWReferenceNode.js
index e7de412..2dd680e 100644
--- a/modules/ve-mw/dm/nodes/ve.dm.MWReferenceNode.js
+++ b/modules/ve-mw/dm/nodes/ve.dm.MWReferenceNode.js
@@ -74,7 +74,10 @@
                autoKeyed = !mwData.attrs || mwData.attrs.name === undefined,
                listKey = autoKeyed ?
                        'auto/' + converter.internalList.getNextUniqueNumber() :
-                       'literal/' + mwData.attrs.name,
+                       'literal/' +
+                       // Encode the name as PHP does so that "a & b" is the 
same as
+                       // "a &amp; b"
+                       
encodeURIComponent($("<div/>").html(mwData.attrs.name).text().replace(/\s/g, 
'_')).replace(/%/g, "."),
                queueResult = converter.internalList.queueItemHtml( listGroup, 
listKey, body ),
                listIndex = queueResult.index,
                contentsUsed = ( body !== '' && queueResult.isNew );

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7c5838f592a1903396196e1cbe2d29ae5112d0fa
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Marcoil <[email protected]>

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

Reply via email to