Changes for page Card Navigation

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

From version 19.14
edited by calvin_henderson
on 2024/12/18 13:53
Change comment: There is no comment for this version
To version 21.12
edited by calvin_henderson
on 2024/12/19 14:42
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
... ... @@ -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: 1050px; flex-wrap: wrap;">
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}}