Änderungen von Dokument Team
Zuletzt geändert von xwikiadmin am 2025/05/21 09:56
Von Version 2.1
bearbeitet von xwikiadmin
am 2023/10/26 09:30
am 2023/10/26 09:30
Änderungskommentar:
Migrated property [type] from class [XWiki.WikiMacroParameterClass]
Auf Version 6.1
bearbeitet von xwikiadmin
am 2025/05/21 09:56
am 2025/05/21 09:56
Änderungskommentar:
Install extension [com.xwiki.pro:xwiki-pro-macros-ui/1.26.19]
Zusammenfassung
-
Seiteneigenschaften (1 geändert, 0 hinzugefügt, 0 gelöscht)
-
Objekte (11 geändert, 1 hinzugefügt, 0 gelöscht)
- XWiki.StyleSheetExtension[0]
- XWiki.WikiMacroClass[0]
- XWiki.WikiMacroParameterClass[0]
- XWiki.WikiMacroParameterClass[2]
- XWiki.WikiMacroParameterClass[3]
- XWiki.WikiMacroParameterClass[4]
- XWiki.WikiMacroParameterClass[5]
- XWiki.WikiMacroParameterClass[6]
- XWiki.WikiMacroParameterClass[7]
- XWiki.WikiMacroParameterClass[8]
- XWiki.WikiMacroParameterClass[9]
- XWiki.WikiMacroParameterClass[10]
Details
- Seiteneigenschaften
-
- Inhalt
-
... ... @@ -4,6 +4,7 @@ 4 4 5 5 |= Parameter |= Name |= Description |= Default 6 6 | tag | {{translation key='rendering.macro.team.parameter.tag.name'/}} | {{translation key='rendering.macro.team.parameter.tag.description'/}} | 7 +| users | {{translation key='rendering.macro.team.parameter.users.name'/}} | {{translation key='rendering.macro.team.parameter.users.description'/}} | 7 7 | size | {{translation key='rendering.macro.team.parameter.size.name'/}} | {{translation key='rendering.macro.team.parameter.size.description'/}} | 60 8 8 | showUsernames | {{translation key='rendering.macro.team.parameter.showUsernames.name'/}} | {{translation key='rendering.macro.team.parameter.showUsernames.description'/}} | false 9 9 | letterAvatarBgColor | {{translation key='rendering.macro.team.parameter.letterAvatarBgColor.name'/}} | {{translation key='rendering.macro.team.parameter.letterAvatarBgColor.description'/}} | #0A6
- XWiki.StyleSheetExtension[0]
-
- Code
-
... ... @@ -1,4 +1,4 @@ 1 -.xwikiteam .xwikiteam-ul {1 +.xwikiteam-ul { 2 2 list-style: none; 3 3 padding: 0; 4 4 margin: 0; ... ... @@ -7,6 +7,10 @@ 7 7 flex-direction: row; 8 8 } 9 9 10 +.xwikiteam { 11 + display: inline-block; 12 +} 13 + 10 10 .xwikiteam .xwikiteam-user, .xwikiteam-tools-link { 11 11 padding: 0; 12 12 margin: 0;
- XWiki.WikiMacroClass[0]
-
- Makro-Code
-
... ... @@ -3,13 +3,11 @@ 3 3 #set($escapedSize = $escapetool.xml($size)) 4 4 #set($escapedLetterAvatarFontColor = $escapetool.xml($letterAvatarFontColor)) 5 5 #set($escapedLetterAvatarBgColor = $escapetool.xml($letterAvatarBgColor)) 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 - > 6 + <span class="xwikiteam-avatar xwikiteam-avatar-initials" 7 + style="height:${escapedSize}px; width:${escapedSize}px; border-radius: ${escapedSize}px; background-color: $escapedLetterAvatarBgColor"> 10 10 <span class="xwikiteam-avatar-initials-inner"> 11 11 <span class="xwikiteam-avatar-initials-letters" style="color: $escapedLetterAvatarFontColor"> 12 - #foreach($firstLetter in $name.toUpperCase().split("[\s-]"))$escapetool.xml($firstLetter.charAt(0))#end 10 + #foreach($firstLetter in $name.toUpperCase().split("[\s\[\]-]+"))$escapetool.xml($firstLetter.charAt(0))#end 13 13 </span> 14 14 </span> 15 15 </span> ... ... @@ -19,13 +19,11 @@ 19 19 #set($url = $xwiki.getURL($username)) 20 20 #set($escapedDisplayUser = $escapetool.xml($displayUser)) 21 21 #set($fontSize = $size / 3) 22 - <li 23 - class="xwikiteam-user" 20 + <span class="xwikiteam-user" 24 24 data-name-without-accents="$util.clearAccents($escapedDisplayUser.toLowerCase())" 25 25 title="$escapedDisplayUser" 26 26 data-username="$escapetool.xml($username)" 27 - style="font-size: ${fontSize}px" 28 - > 24 + style="font-size: ${fontSize}px"> 29 29 <a href="$url"> 30 30 #getUserAvatarURL($username $return $size) 31 31 #if(!$return.specified && !$disableLetterAvatars) ... ... @@ -33,7 +33,7 @@ 33 33 #else 34 34 #set($escapedSize = $escapetool.xml($size)) 35 35 <img 36 - class='xwikiteam-avatar' 32 + class='xwikiteam-avatar fixedSize-$escapedSize' 37 37 src='$escapetool.xml($return.url)' 38 38 alt='$escapedDisplayUser' 39 39 title='$escapedDisplayUser' ... ... @@ -43,10 +43,17 @@ 43 43 #end 44 44 <span class='xwikiteam-username'>$escapedDisplayUser</span> 45 45 </a> 46 - </ li>42 + </span> 47 47 #end 48 -#macro (addUsersFromWiki $list $wiki $limit) 49 - #set($l = $services.query.hql($hql).setLimit($limit).setWiki($wiki).execute()) 44 +#macro (addUsersFromWiki $list $wiki $limit $tag $userList) 45 + #set($q = $services.query.hql($hql).setLimit($limit).setWiki($wiki)) 46 + #if ("$!tag" != "") 47 + #set($q = $q.bindValue('tag', $tag)) 48 + #end 49 + #if(!$userList.empty) 50 + #set($q = $q.bindValue('users', $userList)) 51 + #end 52 + #set($l = $q.execute()) 50 50 #foreach($username in $l) 51 51 #set($discard = $list.add("$wiki:$username")) 52 52 #end ... ... @@ -55,11 +55,13 @@ 55 55 #set($discard = $xwiki.ssx.use('xwiki:XWiki.Macros.Team')) 56 56 #set($discard = $xwiki.jsx.use('xwiki:XWiki.Macros.Team')) 57 57 #set($pictureList = {}) 58 - #set($tag = $ wikimacro.parameters.tag)61 + #set($tag = $xcontext.macro.params.tag) 59 59 #set($size = $wikimacro.parameters.size) 60 60 #set($scope = $wikimacro.parameters.scope) 61 - #set($letterAvatarBgColor = $wikimacro.parameters.letterAvatarBgColor) 62 - #set($letterAvatarFontColor = $wikimacro.parameters.letterAvatarFontColor) 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) 63 63 #set($requireExternalAuth = $wikimacro.parameters.requireExternalAuth) 64 64 #set($showUsernames = $wikimacro.parameters.showUsernames) 65 65 #set($disableTools = $wikimacro.parameters.disableTools) ... ... @@ -109,6 +109,19 @@ 109 109 #if("$!limit" == "") 110 110 #set($limit = 100) 111 111 #end 117 + #if(!$users || $users == "") 118 + #set($userList = []) 119 + #set($userswhere = '') 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 129 + #end 112 112 #if(!$tag || $tag == "") 113 113 #set($tagselect = "") 114 114 #set($tagwhere = "") ... ... @@ -124,7 +124,7 @@ 124 124 obj3.className = 'XWiki.TagClass' and 125 125 obj3.id = tagprop.id.id and 126 126 tagprop.id.name = 'tags' and 127 - list = '$tag'145 + list = :tag 128 128 ") 129 129 #end 130 130 #set($hql = ", ... ... @@ -145,66 +145,84 @@ 145 145 prop.id.name = 'active' and 146 146 prop.value = 1 147 147 $tagwhere 166 + $userswhere 148 148 ORDER BY doc.name 149 149 ") 150 150 #set($list = []) 151 151 #if ($scope == "global") 152 - #addUsersFromWiki($list $xcontext.mainWikiName $limit) 171 + #addUsersFromWiki($list $xcontext.mainWikiName $limit $tag $userList) 153 153 #elseif ($scope == "local") 154 - #addUsersFromWiki($list $services.wiki.currentWikiId $limit) 173 + #addUsersFromWiki($list $services.wiki.currentWikiId $limit $tag $userList) 155 155 #elseif ($scope == "both") 156 - #addUsersFromWiki($list $services.wiki.currentWikiId $limit) 175 + #addUsersFromWiki($list $services.wiki.currentWikiId $limit $tag $userList) 157 157 #if($list.size() < $limit) 158 158 #set($limit = $limit - $list.size()) 159 - #addUsersFromWiki($list $xcontext.mainWikiName $limit) 178 + #addUsersFromWiki($list $xcontext.mainWikiName $limit $tag $userList) 160 160 #end 161 161 #end 162 - {{html wiki=false clean=false}} 163 - <div class="xwikiteam #if(!$showUsernames)xwikiteam-usernames-hidden#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"}} 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 + ## on mobile. Since this breaks the macro fixed size feature, a specific size is added. 193 + #set ($escapedSize = $escapetool.xml($size)) 194 + <$elem> 195 + <style> 196 + .fixedSize-$escapedSize { 197 + height: ${escapedSize}px; 198 + } 199 + </style> 200 + </$elem> 201 + <$elem class="xwikiteam #if(!$showUsernames)xwikiteam-usernames-hidden#end"> 164 164 #if ($list.size() > 0) 165 - < ulclass="xwikiteam-ul">203 + <span class="xwikiteam-ul"> 166 166 #foreach($user in $list) 167 167 #avatar($user $size $disableLetterAvatars $letterAvatarBgColor $letterAvatarFontColor) 168 168 #end 169 - #if(!$disableTools) 170 - < liclass="xwikiteam-tools-link" hidden="hidden">207 + #if (!$disableTools && !$wikimacro.context.isInline()) 208 + <span class="xwikiteam-tools-link" hidden="hidden"> 171 171 <a href="#" role="button" title="$escapetool.xml($services.localization.render('rendering.macro.team.content.options'))"> 172 172 <span class="fa fa-wrench"></span> 173 173 <span class="sr-only">$escapetool.xml($services.localization.render('rendering.macro.team.content.options'))</span> 174 174 </a> 175 - </ li>213 + </span> 176 176 #end 177 - </ul> 178 - <div class="xwikiteam-tools" hidden="hidden"> 179 - <input class="xwikiteam-filter" type="text" placeholder="$escapetool.xml($services.localization.render('rendering.macro.team.content.filter'))" /> 180 - <label> 181 - <input 182 - class="xwikiteam-show-username-checkbox" 183 - type="checkbox" 184 - #if($showUsernames)checked="checked"#end 185 - /> 186 - $escapetool.xml($services.localization.render('rendering.macro.team.content.showUsernames')) 187 - </label> 188 - </div> 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 189 189 #else 190 - < p>$escapetool.xml($services.localization.render('rendering.macro.team.content.noUsers'))</p>230 + <$elem>$escapetool.xml($services.localization.render('rendering.macro.team.content.noUsers'))</$elem> 191 191 #end 192 - </ div>232 + </$elem> 193 193 {{/html}} 194 194 #end 195 195 {{/velocity}} 196 196 197 -{{include reference="Licenses.Code.VelocityMacros"/}} 198 - 199 199 {{velocity}} 200 200 ## We need to check if there is a valid license because the macro is registered even if the user doesn't have view right 201 201 ## on the macro definition page. See XWIKI-14828: Rendering macros defined in wiki pages are available to users that 202 202 ## don't have view right on those pages. 203 -#if ($services.licensing. licensor.hasLicensureForEntity($xcontext.macro.doc.documentReference))241 +#if ($services.promacrolicensing.hasLicensureForEntity($xcontext.macro.doc.documentReference)) 204 204 #executeMacro 205 205 #else 206 - {{error}} 207 - #getMissingLicenseMessage('proMacros.extension.name') 208 - {{/error}} 244 + {{missingLicenseMessage extensionName="proMacros.extension.name"/}} 209 209 #end 210 210 {{/velocity}} - Standardkategorie
-
... ... @@ -1,1 +1,0 @@ 1 -content - Unterstützt Inline-Modus
-
... ... @@ -1,1 +1,1 @@ 1 - Nein1 +Ja - Makrobeschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -This macro displays the team members which have a specific tag
- XWiki.WikiMacroParameterClass[0]
-
- Parameter-Beschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -Tag that users need to have to be shown - Parameter-Typ
-
... ... @@ -1,0 +1,1 @@ 1 +com.xwiki.pickers.TagReference
- XWiki.WikiMacroParameterClass[2]
-
- Parameter-Beschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -The size of a user icon
- XWiki.WikiMacroParameterClass[3]
-
- Parameter-Beschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -If true, the user should be searched in LDAP or OAuth
- XWiki.WikiMacroParameterClass[4]
-
- Parameter-Beschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -The name of users should be displayed under their avatars
- XWiki.WikiMacroParameterClass[5]
-
- Parameter-Beschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -The background color of the letter avatars - Parameter-Typ
-
... ... @@ -1,0 +1,1 @@ 1 +java.awt.Color
- XWiki.WikiMacroParameterClass[6]
-
- Parameter-Beschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -The font color of the letter avatars - Parameter-Typ
-
... ... @@ -1,0 +1,1 @@ 1 +java.awt.Color
- XWiki.WikiMacroParameterClass[7]
-
- Parameter-Beschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -Don't use letter avatars and display a default avatar instead
- XWiki.WikiMacroParameterClass[8]
-
- Parameter-Beschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -The maximum number of users to show
- XWiki.WikiMacroParameterClass[9]
-
- Parameter-Beschreibung
-
... ... @@ -1,1 +1,0 @@ 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-Typ
-
... ... @@ -1,0 +1,1 @@ 1 +com.xwiki.pickers.teams.Scope
- XWiki.WikiMacroParameterClass[10]
-
- Parameter-Name
-
... ... @@ -1,0 +1,1 @@ 1 +users - Parameter-Typ
-
... ... @@ -1,0 +1,1 @@ 1 +com.xwiki.pickers.UsersReference - Parameter verpflichtend
-
... ... @@ -1,0 +1,1 @@ 1 +Nein