Changes for page Team

Last modified by Frank Fock on 2025/04/04 21:18

From version 4.1
edited by Frank Fock
on 2025/04/04 21:18
Change comment: Install extension [com.xwiki.pro:xwiki-pro-macros-ui/1.26.14]
To version 2.1
edited by Frank Fock
on 2024/05/23 17:17
Change comment: Install extension [com.xwiki.pro:xwiki-pro-macros/1.17.3]

Summary

Details

XWiki.StyleSheetExtension[0]
Code
... ... @@ -1,4 +1,4 @@
1 -.xwikiteam-ul {
1 +.xwikiteam .xwikiteam-ul {
2 2   list-style: none;
3 3   padding: 0;
4 4   margin: 0;
... ... @@ -7,10 +7,6 @@
7 7   flex-direction: row;
8 8  }
9 9  
10 -.xwikiteam {
11 - display: inline-block;
12 -}
13 -
14 14  .xwikiteam .xwikiteam-user, .xwikiteam-tools-link {
15 15   padding: 0;
16 16   margin: 0;
XWiki.WikiMacroClass[0]
Macro code
... ... @@ -3,8 +3,10 @@
3 3   #set($escapedSize = $escapetool.xml($size))
4 4   #set($escapedLetterAvatarFontColor = $escapetool.xml($letterAvatarFontColor))
5 5   #set($escapedLetterAvatarBgColor = $escapetool.xml($letterAvatarBgColor))
6 - <span class="xwikiteam-avatar xwikiteam-avatar-initials"
7 - style="height:${escapedSize}px; width:${escapedSize}px; border-radius: ${escapedSize}px; background-color: $escapedLetterAvatarBgColor">
6 + <span
7 + class="xwikiteam-avatar xwikiteam-avatar-initials"
8 + style="height:${escapedSize}px; width:${escapedSize}px; border-radius: ${escapedSize}px; background-color: $escapedLetterAvatarBgColor"
9 + >
8 8   <span class="xwikiteam-avatar-initials-inner">
9 9   <span class="xwikiteam-avatar-initials-letters" style="color: $escapedLetterAvatarFontColor">
10 10   #foreach($firstLetter in $name.toUpperCase().split("[\s\[\]-]+"))$escapetool.xml($firstLetter.charAt(0))#end
... ... @@ -17,11 +17,13 @@
17 17   #set($url = $xwiki.getURL($username))
18 18   #set($escapedDisplayUser = $escapetool.xml($displayUser))
19 19   #set($fontSize = $size / 3)
20 - <span class="xwikiteam-user"
22 + <li
23 + class="xwikiteam-user"
21 21   data-name-without-accents="$util.clearAccents($escapedDisplayUser.toLowerCase())"
22 22   title="$escapedDisplayUser"
23 23   data-username="$escapetool.xml($username)"
24 - style="font-size: ${fontSize}px">
27 + style="font-size: ${fontSize}px"
28 + >
25 25   <a href="$url">
26 26   #getUserAvatarURL($username $return $size)
27 27   #if(!$return.specified && !$disableLetterAvatars)
... ... @@ -39,7 +39,7 @@
39 39   #end
40 40   <span class='xwikiteam-username'>$escapedDisplayUser</span>
41 41   </a>
42 - </span>
46 + </li>
43 43  #end
44 44  #macro (addUsersFromWiki $list $wiki $limit $tag $userList)
45 45   #set($q = $services.query.hql($hql).setLimit($limit).setWiki($wiki))
... ... @@ -58,13 +58,12 @@
58 58   #set($discard = $xwiki.ssx.use('xwiki:XWiki.Macros.Team'))
59 59   #set($discard = $xwiki.jsx.use('xwiki:XWiki.Macros.Team'))
60 60   #set($pictureList = {})
61 - #set($tag = $xcontext.macro.params.tag)
65 + #set($tag = $wikimacro.parameters.tag)
66 + #set($users = $wikimacro.parameters.users)
62 62   #set($size = $wikimacro.parameters.size)
63 63   #set($scope = $wikimacro.parameters.scope)
64 - ## I need the raw value to avoid XWIKI-18965
65 - #set($users = $xcontext.macro.params.users)
66 - #set($letterAvatarBgColor = $xcontext.macro.params.letterAvatarBgColor)
67 - #set($letterAvatarFontColor = $xcontext.macro.params.letterAvatarFontColor)
69 + #set($letterAvatarBgColor = $wikimacro.parameters.letterAvatarBgColor)
70 + #set($letterAvatarFontColor = $wikimacro.parameters.letterAvatarFontColor)
68 68   #set($requireExternalAuth = $wikimacro.parameters.requireExternalAuth)
69 69   #set($showUsernames = $wikimacro.parameters.showUsernames)
70 70   #set($disableTools = $wikimacro.parameters.disableTools)
... ... @@ -118,14 +118,8 @@
118 118   #set($userList = [])
119 119   #set($userswhere = '')
120 120   #else
121 - #set ($userswhere = 'and doc.fullName in :users')
122 - #set ($userReferencesList = $users.split(","))
123 - #set ($userList = [])
124 - #foreach ($user in $userReferencesList)
125 - #set ($resolvedRef = $services.model.resolveDocument($user))
126 - #set ($username = $xwiki.getUser($resolvedRef).getUser().getFullName())
127 - #set ($discard = $userList.add($username))
128 - #end
124 + #set($userswhere = 'and doc.fullName in :users')
125 + #set($userList = $users.split(","))
129 129   #end
130 130   #if(!$tag || $tag == "")
131 131   #set($tagselect = "")
... ... @@ -142,7 +142,7 @@
142 142   obj3.className = 'XWiki.TagClass' and
143 143   obj3.id = tagprop.id.id and
144 144   tagprop.id.name = 'tags' and
145 - list = :tag
142 + list = ':tag'
146 146   ")
147 147   #end
148 148   #set($hql = ",
... ... @@ -178,58 +178,47 @@
178 178   #addUsersFromWiki($list $xcontext.mainWikiName $limit $tag $userList)
179 179   #end
180 180   #end
181 - #set ($elem = 'div')
182 - #set ($clean = true)
183 - #if ($wikimacro.context.isInline())
184 - #set ($elem = 'span')
185 - #set ($clean = false)
186 - #end
187 - #if ($xcontext.getAction()=='edit')
188 - #set ($clean = true)
189 - #end
190 - {{html clean="$clean"}}
178 + {{html clean=false}}
191 191   ## Starting with XWiki 13.10.4 and 14.1, img tags have a 'height: auto' style set, see XWIKI-19432: Image not to scale
192 192   ## on mobile. Since this breaks the macro fixed size feature, a specific size is added.
193 193   #set ($escapedSize = $escapetool.xml($size))
194 - <$elem>
182 + <div>
195 195   <style>
196 196   .fixedSize-$escapedSize {
197 197   height: ${escapedSize}px;
198 198   }
199 199   </style>
200 - </$elem>
201 - <$elem class="xwikiteam #if(!$showUsernames)xwikiteam-usernames-hidden#end">
188 + </div>
189 + <div class="xwikiteam #if(!$showUsernames)xwikiteam-usernames-hidden#end">
202 202   #if ($list.size() > 0)
203 - <span class="xwikiteam-ul">
191 + <ul class="xwikiteam-ul">
204 204   #foreach($user in $list)
205 205   #avatar($user $size $disableLetterAvatars $letterAvatarBgColor $letterAvatarFontColor)
206 206   #end
207 - #if (!$disableTools && !$wikimacro.context.isInline())
208 - <span class="xwikiteam-tools-link" hidden="hidden">
195 + #if(!$disableTools)
196 + <li class="xwikiteam-tools-link" hidden="hidden">
209 209   <a href="#" role="button" title="$escapetool.xml($services.localization.render('rendering.macro.team.content.options'))">
210 210   <span class="fa fa-wrench"></span>
211 211   <span class="sr-only">$escapetool.xml($services.localization.render('rendering.macro.team.content.options'))</span>
212 212   </a>
213 - </span>
201 + </li>
214 214   #end
215 - </span>
216 - #if (!$disableTools && !$wikimacro.context.isInline())
217 - <span class="xwikiteam-tools" hidden="hidden">
218 - <input class="xwikiteam-filter" type="text" placeholder="$escapetool.xml($services.localization.render('rendering.macro.team.content.filter'))" />
219 - <label>
220 - <input
221 - class="xwikiteam-show-username-checkbox"
222 - type="checkbox"
223 - #if($showUsernames)checked="checked"#end
224 - />
225 - $escapetool.xml($services.localization.render('rendering.macro.team.content.showUsernames'))
226 - </label>
227 - </span>
228 - #end
203 + </ul>
204 + <div class="xwikiteam-tools" hidden="hidden">
205 + <input class="xwikiteam-filter" type="text" placeholder="$escapetool.xml($services.localization.render('rendering.macro.team.content.filter'))" />
206 + <label>
207 + <input
208 + class="xwikiteam-show-username-checkbox"
209 + type="checkbox"
210 + #if($showUsernames)checked="checked"#end
211 + />
212 + $escapetool.xml($services.localization.render('rendering.macro.team.content.showUsernames'))
213 + </label>
214 + </div>
229 229   #else
230 - <$elem>$escapetool.xml($services.localization.render('rendering.macro.team.content.noUsers'))</$elem>
216 + <p>$escapetool.xml($services.localization.render('rendering.macro.team.content.noUsers'))</p>
231 231   #end
232 - </$elem>
218 + </div>
233 233   {{/html}}
234 234  #end
235 235  {{/velocity}}
... ... @@ -238,7 +238,7 @@
238 238  ## We need to check if there is a valid license because the macro is registered even if the user doesn't have view right
239 239  ## on the macro definition page. See XWIKI-14828: Rendering macros defined in wiki pages are available to users that
240 240  ## don't have view right on those pages.
241 -#if ($services.promacrolicensing.hasLicensureForEntity($xcontext.macro.doc.documentReference))
227 +#if ($services.licensing.licensor.hasLicensureForEntity($xcontext.macro.doc.documentReference))
242 242   #executeMacro
243 243  #else
244 244   {{missingLicenseMessage extensionName="proMacros.extension.name"/}}
Macro description
... ... @@ -1,0 +1,1 @@
1 +This macro displays the team members which have a specific tag
Supports inline mode
... ... @@ -1,1 +1,1 @@
1 -Yes
1 +No
XWiki.WikiMacroParameterClass[0]
Parameter description
... ... @@ -1,0 +1,1 @@
1 +Tag that users need to have to be shown
Parameter type
... ... @@ -1,1 +1,0 @@
1 -com.xwiki.pickers.TagReference
XWiki.WikiMacroParameterClass[2]
Parameter description
... ... @@ -1,0 +1,1 @@
1 +The size of a user icon
XWiki.WikiMacroParameterClass[3]
Parameter description
... ... @@ -1,0 +1,1 @@
1 +If true, the user should be searched in LDAP or OAuth
XWiki.WikiMacroParameterClass[4]
Parameter description
... ... @@ -1,0 +1,1 @@
1 +The name of users should be displayed under their avatars
XWiki.WikiMacroParameterClass[5]
Parameter description
... ... @@ -1,0 +1,1 @@
1 +The background color of the letter avatars
Parameter type
... ... @@ -1,1 +1,0 @@
1 -java.awt.Color
XWiki.WikiMacroParameterClass[6]
Parameter description
... ... @@ -1,0 +1,1 @@
1 +The font color of the letter avatars
Parameter type
... ... @@ -1,1 +1,0 @@
1 -java.awt.Color
XWiki.WikiMacroParameterClass[7]
Parameter description
... ... @@ -1,0 +1,1 @@
1 +Don't use letter avatars and display a default avatar instead
XWiki.WikiMacroParameterClass[8]
Parameter description
... ... @@ -1,0 +1,1 @@
1 +The maximum number of users to show
XWiki.WikiMacroParameterClass[9]
Parameter description
... ... @@ -1,0 +1,1 @@
1 +In which wiki to find users (global: in the main wiki. local: in the current wiki. both: in both the main wiki and the local wiki. auto: find out from the wiki settings). Has no effect in the main wiki.
Parameter type
... ... @@ -1,1 +1,0 @@
1 -com.xwiki.pickers.teams.Scope
XWiki.WikiMacroParameterClass[10]
Parameter description
... ... @@ -1,0 +1,1 @@
1 +Comma-separated list of users to show.
Parameter type
... ... @@ -1,1 +1,0 @@
1 -com.xwiki.pickers.UsersReference