Changes for page MentionsMacro

Last modified by Drunk Monkey on 2023-11-02 09:50

From version 7.1
edited by Drunk Monkey
on 2021-03-01 08:43
Change comment: Migrated property [priority] from class [XWiki.WikiMacroClass]
To version 3.1
edited by Drunk Monkey
on 2020-08-01 04:53
Change comment: Install extension [org.xwiki.platform:xwiki-platform-mentions-ui/12.6]

Summary

Details

XWiki.JavaScriptExtension[0]
Code
... ... @@ -1,6 +1,7 @@
1 1  require.config({
2 2   paths: {
3 - 'xwiki-suggestUsers': $jsontool.serialize($xwiki.getSkinFile('uicomponents/suggest/suggestUsersAndGroups.js', true))
3 + 'xwiki-suggestUsers': "$xwiki.getSkinFile('uicomponents/suggest/suggestUsersAndGroups.js', true))" +
4 + "?v=$escapetool.url($xwiki.version)"
4 4   }
5 5  });
6 6  require(['deferred!ckeditor', 'xwiki-suggestUsers', 'jquery', 'xwiki-meta'], function (ckeditorPromise, suggestUsers, $, xm) {
... ... @@ -79,14 +79,22 @@
79 79   '</li>',
80 80   outputTemplate: function (param) {
81 81   var editor = ckeditor.instances[name];
83 + var currentWikiReference = xm.documentReference.extractReference(XWiki.EntityType.WIKI);
84 +
85 + // Compute an absolute reference containing the wiki reference even if the user is local.
86 + var documentReference = XWiki.Model.resolve(param.id, XWiki.EntityType.DOCUMENT);
87 + if (!documentReference.extractReference(XWiki.EntityType.WIKI)) {
88 + documentReference = documentReference.appendParent(currentWikiReference);
89 + }
90 + var serializedReference = XWiki.Model.serialize(documentReference);
82 82   editor.once('afterInsertHtml', function () {
83 83   editor.execCommand('xwiki-macro-insert', {
84 84   name: 'mention',
85 85   inline: true,
86 86   parameters: {
87 - reference: param.id,
96 + reference: serializedReference,
88 88   style: 'FULL_NAME',
89 - anchor: getAnchor(param.id)
98 + anchor: getAnchor(serializedReference)
90 90   }
91 91   });
92 92   });
... ... @@ -115,3 +115,4 @@
115 115   };
116 116   });
117 117  });
127 +
XWiki.WikiMacroClass[0]
Macro code
... ... @@ -1,10 +1,9 @@
1 1  {{velocity}}
2 2  #set ($reference = $wikimacro.parameters.reference)
3 3  #set ($style = $wikimacro.parameters.style)
4 -#set ($type = "$!wikimacro.parameters.type")
5 -#set ($content = $services.mentions.format($reference.reference, $style, $type))
4 +#set ($content = $services.mentions.format($reference.reference, $style))
6 6  #set ($anchor = $wikimacro.parameters.anchor)
7 -#set ($isCurrentUser = $xcontext.userReference == $reference.reference && ($type == '' || $type == 'user'))
6 +#set ($isCurrentUser = $xcontext.userReference == $reference.reference)
8 8  #set ($cssClasses = ['xwiki-mention', 'user'])
9 9  #if ($isCurrentUser)
10 10   #set ($discard = $cssClasses.add('self'))
XWiki.WikiMacroParameterClass[3]
Parameter description
... ... @@ -1,1 +1,0 @@
1 -The type of mentioned actor.
Parameter name
... ... @@ -1,1 +1,0 @@
1 -type
Parameter type
... ... @@ -1,1 +1,0 @@
1 -java.lang.String