Skip to content
Snippets Groups Projects
navbar.xjs 5 KiB
Newer Older
echicken's avatar
echicken committed
<?xjs function subMenu(obj, title, path) { ?>
	<li class="dropdown<?xjs if (path.match(/\//g).length > 1) write('-submenu'); ?>">
		<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
echicken's avatar
echicken committed
			<? write(title.replace(/^.*\-/, '')); ?>
			<span class="caret"></span>
		</a>
		<ul class="dropdown-menu">
echicken's avatar
echicken committed
			<?xjs menu(obj.list, path); ?>
echicken's avatar
echicken committed
	function menu(obj, path) {
		Object.keys(obj).forEach(function (e) {
			if (obj[e].type == 'list') {
echicken's avatar
echicken committed
				subMenu(obj[e], e, (path || '') + e + '/');
echicken's avatar
echicken committed
                    <?xjs if (obj[e].type == 'link') { ?>
                        <a class="dropdown-item" href="./?page=<?xjs write(obj[e].page); ?>" target="_blank">
                    <?xjs } else { ?>
                        <a class="dropdown-item" href="./?page=<?xjs write((path || '') + obj[e].page); ?>">
                    <?xjs } ?>
                            <? write(e); ?>
                        </a>
echicken's avatar
echicken committed
<?xjs
<nav class="navbar navbar-default navbar-fixed-top">
    <div class="container<?xjs if (settings.layout_full_width) write('-fluid'); ?>">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
echicken's avatar
echicken committed
                <span class="sr-only"><? write(locale.strings.main.label_sidebar); ?></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
echicken's avatar
echicken committed
            <a class="navbar-brand" href="./"><? write(settings.brand || system.name); ?></a>
        </div>
        <div id="navbar" class="collapse navbar-collapse">
            <ul class="nav navbar-nav">
echicken's avatar
echicken committed
                <?xjs menu(getPageList(settings.web_pages)); ?>
            </ul>
            <ul class="nav navbar-nav navbar-right">
                <?xjs if (user.alias === settings.guest || user.number < 1) { ?>
                    <?xjs if (settings.user_registration) { ?>
                        <li>
echicken's avatar
echicken committed
                            <a href="./?page=000-register.xjs"><? write(locale.strings.main.menu_item_register); ?></a>
                        </li>
                    <?xjs } ?>
                    <li class="nav-item dropdown">
                        <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
echicken's avatar
echicken committed
                            <? write(locale.strings.main.menu_item_login); ?>
                            <span class="caret"></span>
                        </a>
                        <div id="login-form" class="dropdown-menu" style="padding:15px; padding-bottom:0px;">
                            <form id="form-login">
echicken's avatar
echicken committed
                                <label for="input-username" class="sr-only"><? write(locale.strings.main.input_username); ?></label>
                                <input id="input-username" title="<? write(locale.strings.main.input_username); ?>" type="text" class="dropdown form-control" placeholder="<? write(locale.strings.main.input_username); ?>">
                                <label for="input-password" class="sr-only"><? write(locale.strings.main.input_password); ?></label>
                                <input id="input-password" title="<? write(locale.strings.main.input_password); ?>" type="password" class="dropdown form-control" placeholder="<? write(locale.strings.main.input_password); ?>">
                                <input id="button-login" class="dropdown btn btn-primary" type="submit" value="<? write(locale.strings.main.button_login); ?>">
                            </form>
                        </div>
                    </li>
                <?xjs } else { ?>
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
echicken's avatar
echicken committed
                            <? write(user.alias); ?>
                            <span class="badge scanned" title="Unread mail" id="badge-unread-mail"></span>
                            <span class="caret"></span>
                        </a>
                        <ul class="dropdown-menu">
                            <li>
                                <a href="./?page=000-mail.xjs">
echicken's avatar
echicken committed
                                    <? write(locale.strings.main.menu_item_mail); ?>
                                    <span class="badge scanned" title="<?xjs write(locale.strings.main.label_unread_mail); ?>" id="badge-unread-mail-inner"></span>
                                </a>
                            </li>
                            <li>
echicken's avatar
echicken committed
                                <a id="button-logout" href="#"><? write(locale.strings.main.menu_item_logout); ?></a>
                            </li>
                        </ul>
                    </li>
                <?xjs } ?>
            </ul>
        </div>
    </div>
</nav>