Changes for page ExternalApps
Last modified by bougault on 2019/09/12 12:46
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,12 +2,96 @@ 1 -{{include reference='Collaboratory.Apps.Apps.Code.AppsMacros' /}} 2 2 {{velocity}} 3 3 {{html clean="false"}} 4 -#set ($discard = $xwiki.ssx.use('Collaboratory.Apps.Apps.Code.AppsCss')) 3 +## space: $spaceDoc <br /> 4 +## children: $spaceDoc.getChildren() 5 + 5 5 #set($query = 'select doc from Document doc, doc.object(ExternalApps.Code.ExternalAppsClass) as app') 6 6 #set($applications = $services.query.xwql($query).addFilter('hidden').execute()) 7 7 8 -## Macro comes from Collaboratory.Apps.Apps.Code.AppsMacros 9 -#applications( $applications false) 9 +<style> 10 +.applications { 11 + display: grid; 12 + 13 + grid-gap: 10px; 14 +} 10 10 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 + 32 +.application { 33 + border: 1px solid var(--color-support-light); 34 + padding: 1rem; 35 + height: 100%; 36 +} 37 + 38 +.application img { 39 + display: block; 40 + margin: 0 auto 1.5rem auto; 41 +} 42 + 43 +.application .title { 44 + text-align: center; 45 + height: 3em; 46 +} 47 + 48 +.application .tags { 49 + display: flex; 50 + justify-content: space-around; 51 + margin-bottom: 1.5rem; 52 +} 53 + 54 +.application .tags span { 55 + font-size: .8rem; 56 + border: 1px solid var(--color-support-dark); 57 + padding: .2rem .3rem; 58 + border-radius: var(--border-radius-default); 59 +} 60 + 61 +.application .description { 62 + text-align: center; 63 +} 64 +</style> 65 + 66 + 67 +<div class="applications"> 68 + #foreach($application in $applications) 69 + #set($app = $xwiki.getDocument($application)) 70 + #set($URL = $app.display('url')) 71 + #set($title = $app.display('title')) 72 + #set($category = $app.display('category')) 73 + <div> 74 + <div class="application"> 75 + #if($app.getAttachment('logo.png').isImage()) 76 + <img src="$app.getAttachmentURL('logo.png')" width="75" height="75" alt="$title.replace('"', '\"')"> 77 + #else 78 + <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mN89x8AAuEB74Y0o2cAAAAASUVORK5CYII=" width="75" height="75" alt=""> 79 + #end 80 + <div class="tags"><span>$category</span></div> 81 + <h3 class="title">$title</h3> 82 + ##<a href="$URL">$URL</a> 83 + <p class="description">$!app.getValue('description')</p> 84 + ##<input id="$application.concat('-visibility')" type="checkbox" #if($app.getValue('private') == 1)checked#end disabled /><label for="$application.concat('-visibility')">Private</label> 85 + 86 + <div> 87 + ##$app.getValue('maintainers') 88 + ##$app.display('maintainers') 89 + </div> 90 + 91 + </div> 92 + </div> 93 + #end 94 +</div> 11 11 {{/html}} 12 12 {{/velocity}}