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.182 by bougault on 2019/05/16 07:17

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;
bougault 2.182 12
bougault 2.179 13 grid-gap: 10px;
14 }
15
bougault 2.182 16 @media screen and (min-width: 640px) {
17 grid-template-columns: 1fr 1fr;
18 }
19
20 @media screen and (min-width: 900px) {
21 grid-template-columns: 1fr 1fr 1fr;
22 }
23
24 @media screen and (min-width: 1200px) {
25 grid-template-columns: 1fr 1fr 1fr 1fr;
26 }
27
28 @media screen and (min-width: 1800px) {
29 grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
30 }
31
bougault 2.128 32 .application {
bougault 2.121 33 border: 1px solid var(--color-support-light);
bougault 2.125 34 padding: 1rem;
bougault 2.181 35 height: 100%;
bougault 2.121 36 }
bougault 2.146 37
38 .application img {
bougault 2.148 39 display: block;
bougault 2.170 40 margin: 0 auto 1.5rem auto;
bougault 2.146 41 }
bougault 2.149 42
43 .application .title {
44 text-align: center;
bougault 2.153 45 height: 3em;
bougault 2.149 46 }
bougault 2.160 47
bougault 2.167 48 .application .tags {
49 display: flex;
bougault 2.169 50 justify-content: space-around;
bougault 2.171 51 margin-bottom: 1.5rem;
bougault 2.167 52 }
53
54 .application .tags span {
bougault 2.160 55 font-size: .8rem;
bougault 2.174 56 border: 1px solid var(--color-support-dark);
bougault 2.175 57 padding: .2rem .3rem;
bougault 2.163 58 border-radius: var(--border-radius-default);
bougault 2.160 59 }
bougault 2.177 60
61 .application .description {
62 text-align: center;
63 }
bougault 2.121 64 </style>
65
66
bougault 2.178 67 <div class="applications">
bougault 2.120 68 #foreach($application in $applications)
69 #set($app = $xwiki.getDocument($application))
70 #set($URL = $app.display('url'))
71 #set($title = $app.display('title'))
bougault 2.155 72 #set($category = $app.display('category'))
bougault 2.178 73 <div>
bougault 2.145 74 <div class="application">
bougault 2.120 75 #if($app.getAttachment('logo.png').isImage())
bougault 2.146 76 <img src="$app.getAttachmentURL('logo.png')" width="75" height="75" alt="$title.replace('"', '\"')">
bougault 2.120 77 #else
78 <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mN89x8AAuEB74Y0o2cAAAAASUVORK5CYII=" width="75" height="75" alt="">
79 #end
bougault 2.168 80 <div class="tags"><span>$category</span></div>
bougault 2.149 81 <h3 class="title">$title</h3>
bougault 2.176 82 ##<a href="$URL">$URL</a>
83 <p class="description">$!app.getValue('description')</p>
bougault 2.154 84 ##<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 85
86 <div>
bougault 2.154 87 ##$app.getValue('maintainers')
bougault 2.144 88 ##$app.display('maintainers')
bougault 2.130 89 </div>
bougault 2.139 90
91 </div>
bougault 2.120 92 </div>
93 #end
94 </div>
bougault 1.5 95 {{/html}}
96 {{/velocity}}