Änderungen von Dokument Team
Zuletzt geändert von xwikiadmin am 2025/12/11 07:47
Von Version 7.1
bearbeitet von xwikiadmin
am 2025/05/21 10:12
am 2025/05/21 10:12
Änderungskommentar:
Install extension [com.xwiki.pro:xwiki-pro-macros-ui/1.26.19]
Auf Version 1.1
bearbeitet von xwikiadmin
am 2023/03/07 16:26
am 2023/03/07 16:26
Änderungskommentar:
Install extension [com.xwiki.pro:xwiki-pro-macros/1.7]
Zusammenfassung
-
Seiteneigenschaften (1 geändert, 0 hinzugefügt, 0 gelöscht)
-
Objekte (11 geändert, 0 hinzugefügt, 1 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,7 +4,6 @@ 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'/}} | 8 8 | size | {{translation key='rendering.macro.team.parameter.size.name'/}} | {{translation key='rendering.macro.team.parameter.size.description'/}} | 60 9 9 | showUsernames | {{translation key='rendering.macro.team.parameter.showUsernames.name'/}} | {{translation key='rendering.macro.team.parameter.showUsernames.description'/}} | false 10 10 | 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-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]
-
- Makro-Code
-
... ... @@ -1,13 +1,18 @@ 1 -{{velocity output="false"}} 1 +{{velocity}} 2 +#set($discard = $xwiki.ssx.use('xwiki:XWiki.Macros.Team')) 3 +#set($discard = $xwiki.jsx.use('xwiki:XWiki.Macros.Team')) 4 +#set($pictureList = {}) 2 2 #macro(avatarInitials $name $size $letterAvatarBgColor $letterAvatarFontColor) 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"> 9 + <span 10 + class="xwikiteam-avatar xwikiteam-avatar-initials" 11 + style="height:${escapedSize}px; width:${escapedSize}px; border-radius: ${escapedSize}px; background-color: $escapedLetterAvatarBgColor" 12 + > 8 8 <span class="xwikiteam-avatar-initials-inner"> 9 9 <span class="xwikiteam-avatar-initials-letters" style="color: $escapedLetterAvatarFontColor"> 10 - #foreach($firstLetter in $name.toUpperCase().split("[\s \[\]-]+"))$escapetool.xml($firstLetter.charAt(0))#end15 + #foreach($firstLetter in $name.toUpperCase().split("[\s-]"))$escapetool.xml($firstLetter.charAt(0))#end 11 11 </span> 12 12 </span> 13 13 </span> ... ... @@ -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" 25 + <li 26 + 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"> 30 + style="font-size: ${fontSize}px" 31 + > 25 25 <a href="$url"> 26 26 #getUserAvatarURL($username $return $size) 27 27 #if(!$return.specified && !$disableLetterAvatars) ... ... @@ -29,7 +29,7 @@ 29 29 #else 30 30 #set($escapedSize = $escapetool.xml($size)) 31 31 <img 32 - class='xwikiteam-avatar fixedSize-$escapedSize'39 + class='xwikiteam-avatar' 33 33 src='$escapetool.xml($return.url)' 34 34 alt='$escapedDisplayUser' 35 35 title='$escapedDisplayUser' ... ... @@ -39,208 +39,148 @@ 39 39 #end 40 40 <span class='xwikiteam-username'>$escapedDisplayUser</span> 41 41 </a> 42 - </ span>49 + </li> 43 43 #end 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 - #end49 - #if(!$userList.empty)50 - #set($q= $q.bindValue('users', $userList))51 - #end52 - #set($l = $q.execute())53 - #foreach($usernamein$l)54 - #set($discard=$list.add("$wiki:$username"))55 - #e nd51 +#set($tag = $wikimacro.parameters.tag) 52 +#set($size = $wikimacro.parameters.size) 53 +#set($scope = $wikimacro.parameters.scope) 54 +#set($letterAvatarBgColor = $wikimacro.parameters.letterAvatarBgColor) 55 +#set($letterAvatarFontColor = $wikimacro.parameters.letterAvatarFontColor) 56 +#set($requireExternalAuth = $wikimacro.parameters.requireExternalAuth) 57 +#set($showUsernames = $wikimacro.parameters.showUsernames) 58 +#set($disableTools = $wikimacro.parameters.disableTools) 59 +#set($disableLetterAvatars = $wikimacro.parameters.disableLetterAvatars) 60 +#set($limit = $wikimacro.parameters.limit) 61 +#if("$!size" == "") 62 + #set($size = 60) 56 56 #end 57 -#macro (executeMacro) 58 - #set($discard = $xwiki.ssx.use('xwiki:XWiki.Macros.Team')) 59 - #set($discard = $xwiki.jsx.use('xwiki:XWiki.Macros.Team')) 60 - #set($pictureList = {}) 61 - #set($tag = $xcontext.macro.params.tag) 62 - #set($size = $wikimacro.parameters.size) 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) 68 - #set($requireExternalAuth = $wikimacro.parameters.requireExternalAuth) 69 - #set($showUsernames = $wikimacro.parameters.showUsernames) 70 - #set($disableTools = $wikimacro.parameters.disableTools) 71 - #set($disableLetterAvatars = $wikimacro.parameters.disableLetterAvatars) 72 - #set($limit = $wikimacro.parameters.limit) 73 - #if("$!size" == "") 74 - #set($size = 60) 75 - #end 76 - #if("$!scope" == "") 77 - #set($scope = "auto") 78 - #end 79 - #if($scope == "auto") 80 - #if($xcontext.database != $xcontext.mainWikiName && "$!services.wiki" != '') 81 - #set ($wikiUserScope = $services.wiki.user.getUserScope($services.wiki.currentWikiId)) 82 - #if($wikiUserScope == 'GLOBAL_ONLY') 83 - #set($scope = 'global') 84 - #elseif($wikiUserScope == 'LOCAL_AND_GLOBAL') 85 - #set($scope = 'both') 86 - #else 87 - #set($scope = 'local') 88 - #end 89 - #else 64 +#if("$!scope" == "") 65 + #set($scope = "auto") 66 +#end 67 +#if($scope == "auto") 68 + #if($xcontext.database != $xcontext.mainWikiName && "$!services.wiki" != '') 69 + #set ($wikiUserScope = $services.wiki.user.getUserScope($services.wiki.currentWikiId)) 70 + #if($wikiUserScope == 'GLOBAL_ONLY') 90 90 #set($scope = 'global') 72 + #elseif($wikiUserScope == 'LOCAL_AND_GLOBAL') 73 + #set($scope = 'both') 74 + #else 75 + #set($scope = 'local') 91 91 #end 92 - #end 93 - #if($scope == "both" && $xcontext.database == $xcontext.mainWikiName) 94 - #set($scope = "global") 95 - #end 96 - #if("$!letterAvatarBgColor" == "") 97 - #set($letterAvatarBgColor = "#0A6") 98 - #end 99 - #if("$!letterAvatarFontColor" == "") 100 - #set($letterAvatarFontColor = "white") 101 - #end 102 - #if("$!requireExternalAuth" == "" || "$!requireExternalAuth" == "false" || "$!requireExternalAuth" == "0") 103 - #set($requireExternalAuth = false) 104 - #end 105 - #if("$!showUsernames" == "" || "$!showUsernames" == "false" || "$!showUsernames" == "0") 106 - #set($showUsernames = false) 107 - #end 108 - #if("$!disableTools" == "" || "$!disableTools" == "false" || "$!disableTools" == "0") 109 - #set($disableTools = false) 110 - #end 111 - #if("$!disableLetterAvatars" == "" || "$!disableLetterAvatars" == "false" || "$!disableLetterAvatars" == "0") 112 - #set($disableLetterAvatars = false) 113 - #end 114 - #if("$!limit" == "") 115 - #set($limit = 100) 116 - #end 117 - #if(!$users || $users == "") 118 - #set($userList = []) 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 78 + #set($scope = 'global') 129 129 #end 130 - #if(!$tag || $tag == "") 131 - #set($tagselect = "") 132 - #set($tagwhere = "") 133 - #else 134 - #set($tagselect = ", 135 - BaseObject as obj3, 136 - DBStringListProperty as tagprop 137 - JOIN 138 - tagprop.list list 139 - ") 140 - #set($tagwhere = " and 141 - doc.fullName = obj3.name and 142 - obj3.className = 'XWiki.TagClass' and 143 - obj3.id = tagprop.id.id and 144 - tagprop.id.name = 'tags' and 145 - list = :tag 146 - ") 147 - #end 148 - #set($hql = ", 149 - BaseObject as obj 150 - #if($requireExternalAuth), BaseObject as obj2 #end, 151 - IntegerProperty as prop 152 - $tagselect 153 - WHERE 154 - doc.fullName = obj.name and 155 - obj.className = 'XWiki.XWikiUsers' 156 - #if($requireExternalAuth) and 157 - doc.fullName = obj2.name and ( 158 - obj2.className = 'XWiki.LDAPProfileClass' or 159 - obj2.className = 'XWiki.OIDC.UserClass' 160 - ) 161 - #end and 162 - obj.id = prop.id.id and 163 - prop.id.name = 'active' and 164 - prop.value = 1 165 - $tagwhere 166 - $userswhere 167 - ORDER BY doc.name 80 +#end 81 +#if($scope == "both" && $xcontext.database == $xcontext.mainWikiName) 82 + #set($scope = "global") 83 +#end 84 +#if("$!letterAvatarBgColor" == "") 85 + #set($letterAvatarBgColor = "#0A6") 86 +#end 87 +#if("$!letterAvatarFontColor" == "") 88 + #set($letterAvatarFontColor = "white") 89 +#end 90 +#if("$!requireExternalAuth" == "" || "$!requireExternalAuth" == "false" || "$!requireExternalAuth" == "0") 91 + #set($requireExternalAuth = false) 92 +#end 93 +#if("$!showUsernames" == "" || "$!showUsernames" == "false" || "$!showUsernames" == "0") 94 + #set($showUsernames = false) 95 +#end 96 +#if("$!disableTools" == "" || "$!disableTools" == "false" || "$!disableTools" == "0") 97 + #set($disableTools = false) 98 +#end 99 +#if("$!disableLetterAvatars" == "" || "$!disableLetterAvatars" == "false" || "$!disableLetterAvatars" == "0") 100 + #set($disableLetterAvatars = false) 101 +#end 102 +#if("$!limit" == "") 103 + #set($limit = 100) 104 +#end 105 +#if(!$tag || $tag == "") 106 + #set($tagselect = "") 107 + #set($tagwhere = "") 108 +#else 109 + #set($tagselect = ", 110 + BaseObject as obj3, 111 + DBStringListProperty as tagprop 112 + JOIN 113 + tagprop.list list 168 168 ") 169 - #set($list = []) 170 - #if ($scope == "global") 171 - #addUsersFromWiki($list $xcontext.mainWikiName $limit $tag $userList) 172 - #elseif ($scope == "local") 173 - #addUsersFromWiki($list $services.wiki.currentWikiId $limit $tag $userList) 174 - #elseif ($scope == "both") 175 - #addUsersFromWiki($list $services.wiki.currentWikiId $limit $tag $userList) 176 - #if($list.size() < $limit) 177 - #set($limit = $limit - $list.size()) 178 - #addUsersFromWiki($list $xcontext.mainWikiName $limit $tag $userList) 179 - #end 115 + #set($tagwhere = " and 116 + doc.fullName = obj3.name and 117 + obj3.className = 'XWiki.TagClass' and 118 + obj3.id = tagprop.id.id and 119 + tagprop.id.name = 'tags' and 120 + list = '$tag' 121 + ") 122 +#end 123 +#set($hql = ", 124 + BaseObject as obj 125 + #if($requireExternalAuth), BaseObject as obj2 #end, 126 + IntegerProperty as prop 127 + $tagselect 128 + WHERE 129 + doc.fullName = obj.name and 130 + obj.className = 'XWiki.XWikiUsers' 131 + #if($requireExternalAuth) and 132 + doc.fullName = obj2.name and ( 133 + obj2.className = 'XWiki.LDAPProfileClass' or 134 + obj2.className = 'XWiki.OIDC.UserClass' 135 + ) 136 + #end and 137 + obj.id = prop.id.id and 138 + prop.id.name = 'active' and 139 + prop.value = 1 140 + $tagwhere 141 + ORDER BY doc.name 142 +") 143 +#macro(addUsersFromWiki $list $wiki $limit) 144 + #set($l = $services.query.hql($hql).setLimit($limit).setWiki($wiki).execute()) 145 + #foreach($username in $l) 146 + #set($discard = $list.add("$wiki:$username")) 180 180 #end 181 - #set ($elem = 'div') 182 - #set ($clean = true) 183 - #if ($wikimacro.context.isInline()) 184 - #set ($elem = 'span') 185 - #set ($clean = false) 148 +#end 149 +#set($list = []) 150 +#if ($scope == "global") 151 + #addUsersFromWiki($list $xcontext.mainWikiName $limit) 152 +#elseif ($scope == "local") 153 + #addUsersFromWiki($list $services.wiki.currentWikiId $limit) 154 +#elseif ($scope == "both") 155 + #addUsersFromWiki($list $services.wiki.currentWikiId $limit) 156 + #if($list.size() < $limit) 157 + #set($limit = $limit - $list.size()) 158 + #addUsersFromWiki($list $xcontext.mainWikiName $limit) 186 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"> 202 - #if ($list.size() > 0) 203 - <span class="xwikiteam-ul"> 204 - #foreach($user in $list) 205 - #avatar($user $size $disableLetterAvatars $letterAvatarBgColor $letterAvatarFontColor) 206 - #end 207 - #if (!$disableTools && !$wikimacro.context.isInline()) 208 - <span class="xwikiteam-tools-link" hidden="hidden"> 209 - <a href="#" role="button" title="$escapetool.xml($services.localization.render('rendering.macro.team.content.options'))"> 210 - <span class="fa fa-wrench"></span> 211 - <span class="sr-only">$escapetool.xml($services.localization.render('rendering.macro.team.content.options'))</span> 212 - </a> 213 - </span> 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 229 - #else 230 - <$elem>$escapetool.xml($services.localization.render('rendering.macro.team.content.noUsers'))</$elem> 231 - #end 232 - </$elem> 233 - {{/html}} 234 234 #end 161 +{{html wiki=false clean=false}} 162 +<div class="xwikiteam #if(!$showUsernames)xwikiteam-usernames-hidden#end"> 163 + #if ($list.size() > 0) 164 + <ul class="xwikiteam-ul"> 165 + #foreach($user in $list) 166 + #avatar($user $size $disableLetterAvatars $letterAvatarBgColor $letterAvatarFontColor) 167 + #end 168 + #if(!$disableTools) 169 + <li class="xwikiteam-tools-link" hidden="hidden"> 170 + <a href="#" role="button" title="$escapetool.xml($services.localization.render('rendering.macro.team.content.options'))"> 171 + <span class="fa fa-wrench"></span> 172 + <span class="sr-only">$escapetool.xml($services.localization.render('rendering.macro.team.content.options'))</span> 173 + </a> 174 + </li> 175 + #end 176 + </ul> 177 + <div class="xwikiteam-tools" hidden="hidden"> 178 + <input class="xwikiteam-filter" type="text" placeholder="$escapetool.xml($services.localization.render('rendering.macro.team.content.filter'))" /> 179 + <label> 180 + <input 181 + class="xwikiteam-show-username-checkbox" 182 + type="checkbox" 183 + #if($showUsernames)checked="checked"#end 184 + /> 185 + $escapetool.xml($services.localization.render('rendering.macro.team.content.showUsernames')) 186 + </label> 187 + </div> 188 + #else 189 + <p>$escapetool.xml($services.localization.render('rendering.macro.team.content.noUsers'))</p> 190 + #end 191 +</div> 192 +{{/html}} 235 235 {{/velocity}} 236 - 237 -{{velocity}} 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 -## on the macro definition page. See XWIKI-14828: Rendering macros defined in wiki pages are available to users that 240 -## don't have view right on those pages. 241 -#if ($services.promacrolicensing.hasLicensureForEntity($xcontext.macro.doc.documentReference)) 242 - #executeMacro 243 -#else 244 - {{missingLicenseMessage extensionName="proMacros.extension.name"/}} 245 -#end 246 -{{/velocity}} - Standardkategorie
-
... ... @@ -1,0 +1,1 @@ 1 +content - Makrobeschreibung
-
... ... @@ -1,0 +1,1 @@ 1 +This macro displays the team members which have a specific tag - Unterstützt Inline-Modus
-
... ... @@ -1,1 +1,1 @@ 1 - Ja1 +Nein
- XWiki.WikiMacroParameterClass[0]
-
- Parameter-Beschreibung
-
... ... @@ -1,0 +1,1 @@ 1 +Tag that users need to have to be shown - Parameter-Typ
-
... ... @@ -1,1 +1,0 @@ 1 -com.xwiki.pickers.TagReference
- XWiki.WikiMacroParameterClass[2]
-
- Parameter-Beschreibung
-
... ... @@ -1,0 +1,1 @@ 1 +The size of a user icon
- XWiki.WikiMacroParameterClass[3]
-
- Parameter-Beschreibung
-
... ... @@ -1,0 +1,1 @@ 1 +If true, the user should be searched in LDAP or OAuth
- XWiki.WikiMacroParameterClass[4]
-
- Parameter-Beschreibung
-
... ... @@ -1,0 +1,1 @@ 1 +The name of users should be displayed under their avatars
- XWiki.WikiMacroParameterClass[5]
-
- Parameter-Beschreibung
-
... ... @@ -1,0 +1,1 @@ 1 +The background color of the letter avatars - Parameter-Typ
-
... ... @@ -1,1 +1,0 @@ 1 -java.awt.Color
- XWiki.WikiMacroParameterClass[6]
-
- Parameter-Beschreibung
-
... ... @@ -1,0 +1,1 @@ 1 +The font color of the letter avatars - Parameter-Typ
-
... ... @@ -1,1 +1,0 @@ 1 -java.awt.Color
- XWiki.WikiMacroParameterClass[7]
-
- Parameter-Beschreibung
-
... ... @@ -1,0 +1,1 @@ 1 +Don't use letter avatars and display a default avatar instead
- XWiki.WikiMacroParameterClass[8]
-
- Parameter-Beschreibung
-
... ... @@ -1,0 +1,1 @@ 1 +The maximum number of users to show
- XWiki.WikiMacroParameterClass[9]
-
- Parameter-Beschreibung
-
... ... @@ -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-Typ
-
... ... @@ -1,1 +1,0 @@ 1 -com.xwiki.pickers.teams.Scope
- XWiki.WikiMacroParameterClass[10]
-
- Parameter verpflichtend
-
... ... @@ -1,1 +1,0 @@ 1 -Nein - Parameter-Name
-
... ... @@ -1,1 +1,0 @@ 1 -users - Parameter-Typ
-
... ... @@ -1,1 +1,0 @@ 1 -com.xwiki.pickers.UsersReference