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