Changes for page Card Navigation

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

From version 15.2
edited by calvin_henderson
on 2024/12/18 13:29
Change comment: There is no comment for this version
To version 21.3
edited by calvin_henderson
on 2024/12/19 14:34
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -Card View
1 +Card Navigation
Content
... ... @@ -1,4 +1,4 @@
1 -{{cardView enableSearch="false"}}
2 -fa-user|Google|https://google.com
3 -fa-user|Google|https://google.com
1 +{{cardView}}
2 +fa-user|Users|https://google.com
3 +fa-laptop|Devices|https://google.com
4 4  {{/cardView}}
XWiki.WikiMacroClass[0]
code
... ... @@ -2,32 +2,44 @@
2 2  #set($wikiRef = $doc.documentReference.getWikiReference().getName())
3 3  #set($docRef = $doc.getFullName())
4 4  #set($entries = $wikimacro.content)
5 +#if("$xcontext.action" != "edit")
5 5  
6 -#if("$xcontext.action" == "edit")
7 -{{wikimacrocontent/}}
8 -#else
9 9  
10 -
11 11  {{html wiki="false"}}
12 - <div style="display: grid;
13 - grid-template-columns: 1fr 1fr 1fr;
14 - gap: 10px;
15 - ">
9 + <div style="display: flex; flex-direction: row; gap: 10px; max-width: 1790px; flex-wrap: wrap;">
16 16   #foreach($entry in $entries.split('\n'))
17 17   #set($card = $entry.split('\|'))
18 - <a href="$card[2]" style="text-decoration:none;">
19 - <div style="
20 - display:grid;
21 - text-align:center;
22 - padding:8px;
23 - border-radius:5px;
24 - border:1px solid rgba(222,222,222,1);
25 - border-bottom: 3px solid rgba(222,222,222,1);
26 - ">
27 - <i class="fa $card[0]" style="font-size:4em;"></i>
28 - <h3>$card[1]</h3>
29 - </div>
30 - </a>
12 + #set($href = $card[2])
13 + #if (!$href.toString().startsWith('http') && !$href.contains('.'))
14 + #set($href = "$wikiref:$docRef.$href")
15 + #end
16 + #set($doc = $xwiki.getDocument($card[2]))
17 + #set($canView =
18 + $href.toString().startsWith('http')
19 + || $services.security.authorization.hasAccess('view', $href)
20 + || $services.security.authorization.hasAccess('edit', $href)
21 + || $services.security.authorization.hasAccess('admin', $href)
22 + )
23 + $href
24 + #if ($canView)
25 + <a href="$href" style="text-decoration:none;">
26 + <div style="
27 + display:grid;
28 + text-align:center;
29 + align-items: center;
30 + justify-items: center;
31 + padding:8px;
32 + border-radius:5px;
33 + border:1px solid rgba(222,222,222,1);
34 + border-bottom: 3px solid rgba(222,222,222,1);
35 + min-width: 350px; max-width: 350px;
36 + min-height: 150px; max-height: 150px;
37 + ">
38 + <i class="fa $card[0]" style="font-size:4em;"></i>
39 + <h3 style="margin-top: 0;">$card[1]</h3>
40 + </div>
41 + </a>
42 + #end
31 31   #end
32 32   </div>
33 33  {{/html}}
... ... @@ -39,7 +39,6 @@
39 39  == Search ==
40 40  
41 41  {{documentTree root="document:$wikiRef:$docRef" finder="true" limit="30"/}}
42 -
43 43  #end
44 44  #end
45 45  {{/velocity}}
contentDescription
... ... @@ -1,2 +1,1 @@
1 1  icon-name|title|link
2 -icon-name|title|link