jenkins-bot has submitted this change and it was merged.
Change subject: Ensure text version of counter is written to external links
when copying
......................................................................
Ensure text version of counter is written to external links when copying
Bug: T137503
Change-Id: Iae791253ea272847984fee5d0586dc302027f1bd
---
M modules/ve-mw/dm/nodes/ve.dm.MWNumberedExternalLinkNode.js
M modules/ve-mw/tests/dm/ve.dm.mwExample.js
2 files changed, 23 insertions(+), 3 deletions(-)
Approvals:
DLynch: Looks good to me, approved
Jforrester: Looks good to me, but someone else must approve
jenkins-bot: Verified
diff --git a/modules/ve-mw/dm/nodes/ve.dm.MWNumberedExternalLinkNode.js
b/modules/ve-mw/dm/nodes/ve.dm.MWNumberedExternalLinkNode.js
index 9011b9a..a8cc125 100644
--- a/modules/ve-mw/dm/nodes/ve.dm.MWNumberedExternalLinkNode.js
+++ b/modules/ve-mw/dm/nodes/ve.dm.MWNumberedExternalLinkNode.js
@@ -55,8 +55,27 @@
};
};
-ve.dm.MWNumberedExternalLinkNode.static.toDomElements = function (
dataElement, doc ) {
- var domElement = doc.createElement( 'a' );
+ve.dm.MWNumberedExternalLinkNode.static.toDomElements = function (
dataElement, doc, converter ) {
+ var counter, offset,
+ node = this,
+ domElement = doc.createElement( 'a' );
+
+ // Ensure there is a text version of the counter in the clipboard
+ // as external documents may not have the same stylesheet - and Firefox
+ // discards empty tags on copy.
+ if ( converter.isForClipboard() ) {
+ counter = 1;
+ offset = converter.documentData.indexOf( dataElement );
+
+ if ( offset !== -1 ) {
+ converter.documentData.slice( 0, offset ).forEach(
function ( el ) {
+ if ( el.type && el.type === node.name ) {
+ counter++;
+ }
+ } );
+ }
+ domElement.appendChild( doc.createTextNode( '[' + counter + ']'
) );
+ }
domElement.setAttribute( 'href', dataElement.attributes.href );
domElement.setAttribute( 'rel', 'mw:ExtLink' );
return [ domElement ];
diff --git a/modules/ve-mw/tests/dm/ve.dm.mwExample.js
b/modules/ve-mw/tests/dm/ve.dm.mwExample.js
index 73d8c43..e87cf58 100644
--- a/modules/ve-mw/tests/dm/ve.dm.mwExample.js
+++ b/modules/ve-mw/tests/dm/ve.dm.mwExample.js
@@ -1106,7 +1106,8 @@
{ type: '/paragraph' },
{ type: 'internalList' },
{ type: '/internalList' }
- ]
+ ],
+ clipboardBody: '<p>Foo<a rel="mw:ExtLink"
href="http://www.example.com">[1]</a>Bar</p>'
},
'URL link': {
body: '<p><a rel="mw:ExtLink"
href="http://www.mediawiki.org/">mw</a></p>',
--
To view, visit https://gerrit.wikimedia.org/r/296233
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Iae791253ea272847984fee5d0586dc302027f1bd
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <[email protected]>
Gerrit-Reviewer: Catrope <[email protected]>
Gerrit-Reviewer: DLynch <[email protected]>
Gerrit-Reviewer: Divec <[email protected]>
Gerrit-Reviewer: Esanders <[email protected]>
Gerrit-Reviewer: Jforrester <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits