Grid Layout
Main app template must contain UIViewport, can only have a single UIViewport. The Viewport contains main application router-view
.
<ui-viewport router.bind="Main Router" copyright.bind=? subtitle.bind=?
show-menu.bind=true|false show-taskbar.bind=true|false logout.trigger=?>
<!-- Header extras -->
<template replace-part="quick-links">
<!-- to add buttons to the taskbar -->
</template>
</ui-viewport>
Router extra options
router.options = { showAuthentication:boolean, showLogo:boolean }
showAuthentication
: Controls whether to show login/logout links in the menu
Route extra options
route.group // Permitted groups for Authentication Interceptor eg. [0,1,2]
route.settings = { sectionStart:boolean, sectionTitle:string, icon:string }
Router view container
<ui-page page-title="?">
<!-- page content -->
</ui-page>
Define page section, can contain UISidebar, UIContent, UIToolbar, UIStatsbar. Default layout row
.
<ui-section row|column>
<!-- content -->
</ui-section>
Container for actual page content. Default layout fill
and no-scroll
.
<ui-content fill|auto scroll|no-scroll>
<!-- content -->
</ui-content>
Sidebar to for content / child router menu. Default width 220px
, not collapsible
.
<ui-sidebar width="?px" collapsible scroll|no-scroll>
<!-- content -->
</ui-sidebar>
A Toolbar to display buttons, can add custom elements within ui-column
. Default alignment flex-end
.
<ui-toolbar>
<!-- ui-button | ui-button-group | ui-column | ui-divider -->
</ui-toolbar>
A simple bar container to metrical statistics for the view
<ui-statsbar>
<ui-stat label.bind=? value.bind=? icon.bind=?></ui-stat>
</ui-statsbar>
Flexbox display wrapper, default layout direction row
<ui-row row|column>
<!-- ui-column -->
</ui-row>
Flexed element, default basis auto
.
<ui-column auto|fill|fit size=? width='?px'>
<!-- content -->
</ui-column>
auto
: auto fit to content sizefill
: fill available spacefull
: wrap if necessary and take 100% space
Applicable sizes xs
,sm
,md
,lg
,xl
1-12
.
eg. size='xl-3 lg-4 md-6'
: 25% width on X-Large, 33.33% width on Large, 50% width on Medium views