Failed to execute template. Cause: [Access denied when checking [script] access to [xwiki:Collaboratory.UX.HbpSkin.WebHome] for user [xwiki:XWiki.Admin]]. Click on this message for details.

ExternalApps - HBP Wiki

IAM21 instance, do not create collab nor modify a team, your changes will be lost


Wiki source code of ExternalApps

Version 2.183 by bougault on 2019/05/16 07:18

Hide last authors
bougault 1.5 1 {{velocity}}
bougault 2.134 2 {{html clean="false"}}
bougault 1.23 3 ## space: $spaceDoc <br />
4 ## children: $spaceDoc.getChildren()
bougault 1.6 5
bougault 2.112 6 #set($query = 'select doc from Document doc, doc.object(ExternalApps.Code.ExternalAppsClass) as app')
bougault 2.114 7 #set($applications = $services.query.xwql($query).addFilter('hidden').execute())
bougault 2.50 8
bougault 2.121 9 <style>
bougault 2.179 10 .applications {
11 display: grid;
12 grid-gap: 10px;
13 }
14
bougault 2.182 15 @media screen and (min-width: 640px) {
bougault 2.183 16 .applications {
17 grid-template-columns: 1fr 1fr;
18 }
bougault 2.182 19 }
20
21 @media screen and (min-width: 900px) {
bougault 2.183 22 .applications {
23 grid-template-columns: 1fr 1fr 1fr;
24 }
bougault 2.182 25 }
26
27 @media screen and (min-width: 1200px) {
bougault 2.183 28 .applications {
29 grid-template-columns: 1fr 1fr 1fr 1fr;
30 }
bougault 2.182 31 }
32
33 @media screen and (min-width: 1800px) {
bougault 2.183 34 .applications {
35 grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
36 }
bougault 2.182 37 }
38
bougault 2.128 39 .application {
bougault 2.121 40 border: 1px solid var(--color-support-light);
bougault 2.125 41 padding: 1rem;
bougault 2.181 42 height: 100%;
bougault 2.121 43 }
bougault 2.146 44
45 .application img {
bougault 2.148 46 display: block;
bougault 2.170 47 margin: 0 auto 1.5rem auto;
bougault 2.146 48 }
bougault 2.149 49
50 .application .title {
51 text-align: center;
bougault 2.153 52 height: 3em;
bougault 2.149 53 }
bougault 2.160 54
bougault 2.167 55 .application .tags {
56 display: flex;
bougault 2.169 57 justify-content: space-around;
bougault 2.171 58 margin-bottom: 1.5rem;
bougault 2.167 59 }
60
61 .application .tags span {
bougault 2.160 62 font-size: .8rem;
bougault 2.174 63 border: 1px solid var(--color-support-dark);
bougault 2.175 64 padding: .2rem .3rem;
bougault 2.163 65 border-radius: var(--border-radius-default);
bougault 2.160 66 }
bougault 2.177 67
68 .application .description {
69 text-align: center;
70 }
bougault 2.121 71 </style>
72
73
bougault 2.178 74 <div class="applications">
bougault 2.120 75 #foreach($application in $applications)
76 #set($app = $xwiki.getDocument($application))
77 #set($URL = $app.display('url'))
78 #set($title = $app.display('title'))
bougault 2.155 79 #set($category = $app.display('category'))
bougault 2.178 80 <div>
bougault 2.145 81 <div class="application">
bougault 2.120 82 #if($app.getAttachment('logo.png').isImage())
bougault 2.146 83 <img src="$app.getAttachmentURL('logo.png')" width="75" height="75" alt="$title.replace('"', '\"')">
bougault 2.120 84 #else
85 <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mN89x8AAuEB74Y0o2cAAAAASUVORK5CYII=" width="75" height="75" alt="">
86 #end
bougault 2.168 87 <div class="tags"><span>$category</span></div>
bougault 2.149 88 <h3 class="title">$title</h3>
bougault 2.176 89 ##<a href="$URL">$URL</a>
90 <p class="description">$!app.getValue('description')</p>
bougault 2.154 91 ##<input id="$application.concat('-visibility')" type="checkbox" #if($app.getValue('private') == 1)checked#end disabled /><label for="$application.concat('-visibility')">Private</label>
bougault 2.139 92
93 <div>
bougault 2.154 94 ##$app.getValue('maintainers')
bougault 2.144 95 ##$app.display('maintainers')
bougault 2.130 96 </div>
bougault 2.139 97
98 </div>
bougault 2.120 99 </div>
100 #end
101 </div>
bougault 1.5 102 {{/html}}
103 {{/velocity}}