Changes for page MentionsMacro

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

From 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]
To version 9.1
edited by Drunk Monkey
on 2021-12-29 11:08
Change comment: Install extension [org.xwiki.platform:xwiki-platform-mentions-ui/13.10.2]

Summary

Details

XWiki.JavaScriptExtension[0]
Code
... ... @@ -1,7 +1,6 @@
1 1  require.config({
2 2   paths: {
3 - 'xwiki-suggestUsers': "$xwiki.getSkinFile('uicomponents/suggest/suggestUsersAndGroups.js', true))" +
4 - "?v=$escapetool.url($xwiki.version)"
3 + 'xwiki-suggestUsers': $jsontool.serialize($xwiki.getSkinFile('uicomponents/suggest/suggestUsersAndGroups.js', true))
5 5   }
6 6  });
7 7  require(['deferred!ckeditor', 'xwiki-suggestUsers', 'jquery', 'xwiki-meta'], function (ckeditorPromise, suggestUsers, $, xm) {
... ... @@ -80,22 +80,14 @@
80 80   '</li>',
81 81   outputTemplate: function (param) {
82 82   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);
91 91   editor.once('afterInsertHtml', function () {
92 92   editor.execCommand('xwiki-macro-insert', {
93 93   name: 'mention',
94 - inline: true,
85 + inline: 'enforce',
95 95   parameters: {
96 - reference: serializedReference,
87 + reference: param.id,
97 97   style: 'FULL_NAME',
98 - anchor: getAnchor(serializedReference)
89 + anchor: getAnchor(param.id)
99 99   }
100 100   });
101 101   });
... ... @@ -107,7 +107,7 @@
107 107   }
108 108  
109 109   function updateConf(config, name) {
110 - const newConf = config;
101 + const newConf = config || {};
111 111   newConf.mentions = newConf.mentions || [];
112 112   newConf.mentions.push(confMentions(name));
113 113   return newConf;
... ... @@ -124,4 +124,3 @@
124 124   };
125 125   });
126 126  });
127 -
XWiki.WikiMacroClass[0]
Macro code
... ... @@ -1,9 +1,10 @@
1 1  {{velocity}}
2 2  #set ($reference = $wikimacro.parameters.reference)
3 3  #set ($style = $wikimacro.parameters.style)
4 -#set ($content = $services.mentions.format($reference.reference, $style))
4 +#set ($type = "$!wikimacro.parameters.type")
5 +#set ($content = $services.mentions.format($reference.reference, $style, $type))
5 5  #set ($anchor = $wikimacro.parameters.anchor)
6 -#set ($isCurrentUser = $xcontext.userReference == $reference.reference)
7 +#set ($isCurrentUser = $xcontext.userReference == $reference.reference && ($type == '' || $type == 'user'))
7 7  #set ($cssClasses = ['xwiki-mention', 'user'])
8 8  #if ($isCurrentUser)
9 9   #set ($discard = $cssClasses.add('self'))
Default category
... ... @@ -1,0 +1,1 @@
1 +Notifications
Macro description
... ... @@ -1,1 +1,1 @@
1 -Insert a user mention.
1 +Inserts a user mention.
XWiki.WikiMacroParameterClass[3]
Parameter description
... ... @@ -1,0 +1,1 @@
1 +The type of mentioned actor.
Parameter name
... ... @@ -1,0 +1,1 @@
1 +type
Parameter type
... ... @@ -1,0 +1,1 @@
1 +java.lang.String