40 lines
1.8 KiB
HTML
40 lines
1.8 KiB
HTML
{% from "components/icon.html" import Icon %}
|
|
{% from "components/sidenav_item.html" import SidenavItem %}
|
|
|
|
|
|
<div v-cloak is="SidenavToggler" class="global-navigation">
|
|
<template slot-scope='props'>
|
|
<div v-bind:class="{'sidenav-container': props.isVisible, 'sidenav-container--minimized': !props.isVisible}">
|
|
<div class="sidenav-container__fixed">
|
|
<div v-bind:class="{'sidenav': props.isVisible, 'sidenav--minimized': !props.isVisible}">
|
|
<div v-bind:class="{'sidenav__header': props.isVisible, 'sidenav__header--minimized': !props.isVisible}" class="row">
|
|
<template v-if="props.isVisible">
|
|
<span class="sidenav__title col col--grow">My Portfolios</span>
|
|
<a href="#" v-on:click="props.toggle" class="sidenav__toggle col">
|
|
{{ Icon('angle-double-left-solid', classes="toggle-arrows icon--primary") }}
|
|
<span>Hide</span>
|
|
</a>
|
|
</template>
|
|
<template v-else>
|
|
<a href="#" v-on:click="props.toggle" class="sidenav__toggle col">
|
|
<span>Show</span>
|
|
{{ Icon('angle-double-right-solid', classes="toggle-arrows icon--primary") }}
|
|
</a>
|
|
</template>
|
|
</div>
|
|
<div v-if="props.isVisible">
|
|
<ul class="sidenav__list--padded">
|
|
{% for other_portfolio in portfolios|sort(attribute='name') %}
|
|
{{ SidenavItem(other_portfolio.name,
|
|
href=url_for("applications.portfolio_applications", portfolio_id=other_portfolio.id),
|
|
active=(other_portfolio.id | string) == request.view_args.get('portfolio_id')
|
|
) }}
|
|
{% endfor %}
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</div>
|