Changes for page Card Navigation

Last modified by Calvin Henderson on 2025/03/11 10:29

From version 18.10
edited by calvin_henderson
on 2024/12/18 13:46
Change comment: There is no comment for this version
To version 22.2
edited by calvin_henderson
on 2025/01/15 11:03
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -Card View
1 +Card Navigation
XWiki.WikiMacroClass[0]
code
... ... @@ -2,34 +2,50 @@
2 2  #set($wikiRef = $doc.documentReference.getWikiReference().getName())
3 3  #set($docRef = $doc.getFullName())
4 4  #set($entries = $wikimacro.content)
5 -#set ($targetSyntaxId = $wikimacro.context.transformationContext.targetSyntax.type.id)
6 -#if ($targetSyntaxId == 'annotatedhtml' || $targetSyntaxId == 'annotatedxhtml')
7 -[[Icon search>>https://fontawesome.com/v6/search?m=free]]
8 -{{wikimacrocontent/}}
9 -#end
10 10  #if("$xcontext.action" != "edit")
11 11  
12 12  
13 13  {{html wiki="false"}}
14 - <div style="display: grid;
15 - grid-template-columns: 1fr 1fr 1fr;
16 - gap: 10px;
17 - ">
9 + <div style="display: flex; flex-direction: row; gap: 10px; max-width: 1790px; flex-wrap: wrap;">
18 18   #foreach($entry in $entries.split('\n'))
19 19   #set($card = $entry.split('\|'))
20 - <a href="$card[2]" style="text-decoration:none;">
21 - <div style="
22 - display:grid;
23 - text-align:center;
24 - padding:8px;
25 - border-radius:5px;
26 - border:1px solid rgba(222,222,222,1);
27 - border-bottom: 3px solid rgba(222,222,222,1);
28 - ">
29 - <i class="fa $card[0]" style="font-size:4em;"></i>
30 - <h3>$card[1]</h3>
31 - </div>
32 - </a>
12 + #if ($card.size() == 3)
13 + #set($href = $card[2])
14 + #else
15 + #set($href = $card[1])
16 + #end
17 + #set($doc = $xwiki.getDocument($href))
18 + #set($canView =
19 + $href.toString().startsWith('http')
20 + || $services.security.authorization.hasAccess('view', $href)
21 + || $services.security.authorization.hasAccess('edit', $href)
22 + || $services.security.authorization.hasAccess('admin', $href)
23 + )
24 + #if ($canView)
25 + <a style="text-decoration:none;"
26 + #if ($href.toString().startsWith('http'))
27 + target="_blank"
28 + #else
29 + #set($href = $xwiki.getDocument($href).getURL())
30 + #end
31 + href="$href">
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
33 33   #end
34 34   </div>
35 35  {{/html}}
contentDescription
... ... @@ -1,1 +1,1 @@
1 -icon-name|title|link
1 +icon-name|title[|link]