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.198 by bougault on 2019/05/17 10:52

Hide last authors
bougault 1.5 1 {{velocity}}
bougault 2.196 2 {{html clean="false"}}
3 ## space: $spaceDoc <br />
4 ## children: $spaceDoc.getChildren()
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.196 12 grid-gap: 10px;
bougault 2.179 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 {
bougault 2.185 30 grid-template-columns: 1fr 1fr 1fr;
bougault 2.183 31 }
bougault 2.182 32 }
33
34 @media screen and (min-width: 1800px) {
bougault 2.183 35 .applications {
bougault 2.185 36 grid-template-columns: 1fr 1fr 1fr 1fr;
bougault 2.183 37 }
bougault 2.182 38 }
bougault 2.196 39
bougault 2.195 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.196 75 <div class="applications">
76 #foreach($application in $applications)
77 #set($app = $xwiki.getDocument($application))
78 #set($URL = $app.display('url'))
bougault 2.198 79 #set($title = $app.getDocumentTitle())
bougault 2.196 80 #set($category = $app.display('category'))
81 <div>
82 <div class="application">
83 #if($app.getAttachment('logo.png').isImage())
84 <img src="$app.getAttachmentURL('logo.png')" width="75" height="75" alt="$title.replace('"', '\"')">
85 #else
86 <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mN89x8AAuEB74Y0o2cAAAAASUVORK5CYII=" width="75" height="75" alt="">
87 #end
88 <div class="tags"><span>$category</span></div>
89 <h3 class="title">$title</h3>
90 ##<a href="$URL">$URL</a>
91 <p class="description">$!app.getValue('description')</p>
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.187 93
bougault 2.196 94 <div>
95 ##$app.getValue('maintainers')
96 ##$app.display('maintainers')
97 </div>
bougault 2.187 98
bougault 2.196 99 </div>
bougault 2.120 100 </div>
bougault 2.196 101 #end
bougault 2.120 102 </div>
bougault 1.5 103 {{/html}}
bougault 2.196 104 {{/velocity}}