Changes for page MentionsMacro

on 2020-06-29 20:57


on 2020-07-06 08:28
Summary
Details
- XWiki.JavaScriptExtension[0]
-
- Code
-
... ... @@ -4,7 +4,7 @@ 4 4 "?v=$escapetool.url($xwiki.version)" 5 5 } 6 6 }); 7 -require(['deferred!ckeditor', 'xwiki-suggestUsers', 'jquery'], function (ckeditorPromise, suggestUsers, $) { 7 +require(['deferred!ckeditor', 'xwiki-suggestUsers', 'jquery', 'xwiki-meta'], function (ckeditorPromise, suggestUsers, $, xm) { 8 8 /* 9 9 * Keep records of the added anchors during the current edit session. 10 10 * Note that the anchors saved here are not only the ones added on the current session, ... ... @@ -99,14 +99,22 @@ 99 99 '</li>', 100 100 outputTemplate: function (param) { 101 101 var editor = ckeditor.instances[name]; 102 + var currentWikiReference = xm.documentReference.extractReference(XWiki.EntityType.WIKI); 103 + 104 + // Compute an absolute reference containing the wiki reference even if the user is local. 105 + var documentReference = XWiki.Model.resolve(param.id, XWiki.EntityType.DOCUMENT); 106 + if (!documentReference.extractReference(XWiki.EntityType.WIKI)) { 107 + documentReference = documentReference.appendParent(currentWikiReference); 108 + } 109 + var serializedReference = XWiki.Model.serialize(documentReference); 102 102 editor.once('afterInsertHtml', function () { 103 103 editor.execCommand('xwiki-macro-insert', { 104 104 name: 'mention', 105 105 inline: true, 106 106 parameters: { 107 - reference: param.id,115 + reference: serializedReference, 108 108 style: 'FULL_NAME', 109 - anchor: getAnchor( param.id)117 + anchor: getAnchor(serializedReference) 110 110 } 111 111 }); 112 112 });
- XWiki.WikiMacroClass[0]
-
- Macro code
-
... ... @@ -21,6 +21,6 @@ 21 21 #end 22 22 #set ($link = $xwiki.getURL($reference.reference, 'view')) 23 23 {{html}} 24 -<a id="$anchor" class="$stringtool.join($cssClasses, ' ')" data-reference="$services.model.serialize($reference.reference, ' compactwiki')" href="$link">$content</a>24 +<a id="$anchor" class="$stringtool.join($cssClasses, ' ')" data-reference="$services.model.serialize($reference.reference, 'default')" href="$link">$content</a> 25 25 {{/html}} 26 26 {{/velocity}}