Changes for page Card Navigation

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

From version 8.1
edited by calvin_henderson
on 2024/12/18 12:31
Change comment: There is no comment for this version
To version 20.2
edited by calvin_henderson
on 2024/12/19 07:33
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,3 +1,4 @@
1 -{{cardView/}}
2 -
3 -
1 +{{cardView}}
2 +fa-user|Users|https://google.com
3 +fa-laptop|Devices|https://google.com
4 +{{/cardView}}
XWiki.WikiMacroClass[0]
code
... ... @@ -1,48 +1,51 @@
1 1  {{velocity}}
2 +#set($wikiRef = $doc.documentReference.getWikiReference().getName())
3 +#set($docRef = $doc.getFullName())
4 +#set($entries = $wikimacro.content)
5 +#if("$xcontext.action" != "edit")
2 2  
3 -#set( $wikiRef = $doc.documentReference.getWikiReference().getName() )
4 -#set( $docRef = $doc.getFullName() )
5 5  
6 -#set( $cards = [
7 - {"title": "Devices/Hardware", "icon": "fa-laptop", "href": "DevicesHardware"},
8 - {"title": "Websites/Software", "icon": "fa-cloud", "href": "WebsitesSoftware"},
9 - {"title": "Phones/WiFi/Network/Security", "icon": "fa-wifi", "href": "PhonesWiFiNetworkSecurity"},
10 - {"title": "Users/Accounts", "icon": "fa-address-card", "href": "UsersAccounts"},
11 - {"title": "Other", "icon": "fa-question-circle", "href": "Other"}
12 -])
8 +{{html wiki="false"}}
9 + <div style="display: flex; flex-direction: row; gap: 10px; max-width: 1790px; flex-wrap: wrap;">
10 + #foreach($entry in $entries.split('\n'))
11 + #set($doc = $xwiki.getDocument($link.href))
12 + #set($canView =
13 + $link.href.toString().startsWith('http')
14 + || $services.security.authorization.hasAccess('view', $link.href)
15 + || $services.security.authorization.hasAccess('edit', $link.href)
16 + || $services.security.authorization.hasAccess('admin', $link.href)
17 + )
18 + #if ($canView)
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 + align-items: center;
25 + justify-items: center;
26 + padding:8px;
27 + border-radius:5px;
28 + border:1px solid rgba(222,222,222,1);
29 + border-bottom: 3px solid rgba(222,222,222,1);
30 + min-width: 350px; max-width: 350px;
31 + min-height: 150px; max-height: 150px;
32 + ">
33 + <i class="fa $card[0]" style="font-size:4em;"></i>
34 + <h3 style="margin-top: 0;">$card[1]</h3>
35 + </div>
36 + </a>
37 + #end
38 + #end
39 + </div>
40 +{{/html}}
13 13  
14 -#if("$xcontext.action" != "edit")
15 - {{html wiki="true"}}
16 - <div style="display: grid;
17 - grid-template-columns: 1fr 1fr 1fr;
18 - gap: 10px;
19 - ">
20 -#foreach($card in $cards)
21 - <a href="$card.href" style="text-decoration:none;">
22 - <div style="
23 - display:grid;
24 - text-align:center;
25 - padding:8px;
26 - border-radius:5px;
27 - border:1px solid rgba(222,222,222,1);
28 - border-bottom: 3px solid rgba(222,222,222,1);
29 - ">
30 - <i class="fa $card.icon" style="font-size:4em;"></i>
31 - <h3>$card.title</h3>
32 - </div>
33 - </a>
34 -#end
35 - </div>
36 - {{/html}}
37 -#end
38 38  
39 -
43 +#if ($wikimacro.parameters.enableSearch == true)
40 40  ----
41 41  
42 42  == Search ==
43 43  
44 44  {{documentTree root="document:$wikiRef:$docRef" finder="true" limit="30"/}}
45 -
49 +#end
50 +#end
46 46  {{/velocity}}
47 -
48 -{{wikimacrocontent/}}
contentDescription
... ... @@ -1,1 +1,1 @@
1 -icon-name,link;
1 +icon-name|title|link
XWiki.WikiMacroParameterClass[0]
defaultValue
... ... @@ -1,0 +1,1 @@
1 +true
description
... ... @@ -1,0 +1,1 @@
1 +Enables a local document search box below the grid
name
... ... @@ -1,0 +1,1 @@
1 +enableSearch
type
... ... @@ -1,0 +1,1 @@
1 +Unknown