Changes for page Card Navigation
Last modified by Calvin Henderson on 2025/03/11 10:29
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -Card View1 +Card Navigation
- XWiki.WikiMacroClass[0]
-
- code
-
... ... @@ -6,26 +6,46 @@ 6 6 7 7 8 8 {{html wiki="false"}} 9 - <div style="display: flex; flex-direction: row; gap: 10px; max-width: 10 50px;">9 + <div style="display: flex; flex-direction: row; gap: 10px; max-width: 1790px; flex-wrap: wrap;"> 10 10 #foreach($entry in $entries.split('\n')) 11 11 #set($card = $entry.split('\|')) 12 - <a href="$card[2]" style="text-decoration:none;"> 13 - <div style=" 14 - display:grid; 15 - text-align:center; 16 - align-items: center; 17 - justify-items: center; 18 - padding:8px; 19 - border-radius:5px; 20 - border:1px solid rgba(222,222,222,1); 21 - border-bottom: 3px solid rgba(222,222,222,1); 22 - min-width: 350px; max-width: 350px; 23 - min-height: 150px; max-height: 150px; 24 - "> 25 - <i class="fa $card[0]" style="font-size:4em;"></i> 26 - <h3 style="margin-top: 0;">$card[1]</h3> 27 - </div> 28 - </a> 12 + #set($href = $card[2]) 13 + #set($doc = $xwiki.getDocument($card[2])) 14 + #set($canView = 15 + $href.toString().startsWith('http') 16 + || $services.security.authorization.hasAccess('view', $href) 17 + || $services.security.authorization.hasAccess('edit', $href) 18 + || $services.security.authorization.hasAccess('admin', $href) 19 + ) 20 + #if (!$href.toString().startsWith('http')) 21 + #set($href = $xwiki.getDocument($href).getURL()) 22 + #end 23 + #if ($canView) 24 + <a style="text-decoration:none;" 25 + #if ($href.toString().startsWith('http')) 26 + href="$href" 27 + target="_blank" 28 + #else 29 + href="$xwiki.getDocument($href).getURL().toString()" 30 + #end 31 + > 32 + <div style=" 33 + display:grid; 34 + text-align:center; 35 + align-items: center; 36 + justify-items: center; 37 + padding:8px; 38 + border-radius:5px; 39 + border:1px solid rgba(222,222,222,1); 40 + border-bottom: 3px solid rgba(222,222,222,1); 41 + min-width: 350px; max-width: 350px; 42 + min-height: 150px; max-height: 150px; 43 + "> 44 + <i class="fa $card[0]" style="font-size:4em;"></i> 45 + <h3 style="margin-top: 0;">$card[1]</h3> 46 + </div> 47 + </a> 48 + #end 29 29 #end 30 30 </div> 31 31 {{/html}}