File

src/widgets/menu-aside/menu-aside.component.ts

Implements

OnInit OnChanges

Metadata

selector app-menu-aside
styleUrls menu-aside.component.css
templateUrl ./menu-aside.component.html

Index

Properties
Methods
Inputs

Constructor

constructor(userServ: UserService, router: Router)
Parameters :
Name Type Optional Description
userServ UserService
router Router

Inputs

display_menu_search

Default value: true

display_menu_user

Default value: true

links

Type: Array<any>

menu_title

Methods

Public ngOnChanges
ngOnChanges(changes: any)
Parameters :
Name Type Optional Description
changes any
Returns : void
Public ngOnInit
ngOnInit()
Returns : void

Properties

Public currentUrl
currentUrl: string
Type : string
Public currentUser
currentUser: User
Type : User
Public router
router: Router
Type : Router
import { Component, OnInit, OnChanges, Input } from '@angular/core';
import { User } from '../../models/user';
import { Router } from '@angular/router';
import { UserService } from '../../services/user.service';

@Component({
  selector: 'app-menu-aside',
  styleUrls: ['./menu-aside.component.css'],
  templateUrl: './menu-aside.component.html'
})
export class MenuAsideComponent implements OnInit, OnChanges {
  public currentUrl: string;
  public currentUser: User = new User();

  @Input() links: Array<any> = [];
  @Input() display_menu_user = true;
  @Input() display_menu_search = true;
  @Input() menu_title = ''; // deprecated

  constructor(private userServ: UserService, public router: Router) {
    // getting the current url
    this.router.events.subscribe((evt: any) => this.currentUrl = evt.url);
    this.userServ.getCurrent().subscribe((user) => this.currentUser = user);
  }

  public ngOnInit() { }

  public ngOnChanges(changes: any) {
    if ( this.menu_title !== '') {
      console.log('menu_title is deprecated please use "header" in your menuService links configuration');
    }
  }

}
<!-- Left side column. contains the logo and sidebar -->
<aside class="main-sidebar">
	<!-- sidebar: style can be found in sidebar.less -->
	<section class="sidebar" >
		<!-- Sidebar user panel (optional) -->
		<div *ngIf="display_menu_user" class="user-panel">
			<div class="pull-left image" *ngIf="currentUser?.avatarUrl" >
				<img [src]="currentUser?.avatarUrl" class="img-circle"
					[alt]="currentUser?.getName()">
			</div>
			<div class="pull-left info">
				<p>{{currentUser?.getName()}}</p>
				<!-- Status -->
				<a href="#"><i class="fa fa-circle text-success"></i> Online</a>
			</div>
		</div>
		<!-- search form (Optional) -->
		<form *ngIf="display_menu_search" action="#" method="get" class="sidebar-form">
			<div class="input-group">
				<input type="text" name="q" class="form-control"
					placeholder="Search..."> <span class="input-group-btn">
					<button type="submit" name="search" id="search-btn"
						class="btn btn-flat">
						<i class="fa fa-search"></i>
					</button>
				</span>
			</div>
		</form>
		<!-- /.search form -->
		<!-- Sidebar Menu -->
		<ul class="sidebar-menu" data-widget="tree">
			<!-- DEPRECATED since 1.0.1 -->
			<ng-container *ngIf="menu_title !== '' ">
				<li class="header">{{menu_title}}</li>
			</ng-container>
			<!-- /DEPRECATED since 1.0.1 -->
			<ng-container *ngFor="let item of links">
				<!-- HEADER -->
				<ng-container *ngIf="item.header">
					<li class="header">{{item.header}}</li>
				</ng-container>
				<!-- COMPONENT -->
				<ng-container *ngIf="item.class">
					<li>
						<app-component-loader [class_component]="item.class" [data]="item.data"></app-component-loader>
					</li>
				</ng-container>
				<!-- LINK -->
				<ng-container *ngIf="item.link">
					<li [class.active]="item.link[0] === currentUrl">
						<a *ngIf="!item.external" [routerLink]="item.link">
							<i class="fa fa-{{item.icon}}"></i>
							<span>{{item.title}}</span>
						</a>
						<a *ngIf="item.external" [href]="item.link" [target]="item.target">
							<i class="fa fa-{{item.icon}}"></i>
							<span>{{item.title}}</span>
						</a>
					</li>
				</ng-container>
				<!-- LINK WITH SUBLINKS -->
				<ng-container *ngIf="item.sublinks">
					<li class="treeview">
						<a href="#">
							<i *ngIf="item.icon" class="fa fa-{{item.icon}}"></i>
							<span>{{item.title}}</span>
							<span class="pull-right-container">
								<i class="fa fa-angle-left pull-right"></i>
							</span>
							<!--i class="fa fa-angle-left pull-right"></i-->
						</a>
						<ul class="treeview-menu">
							<ng-container *ngFor="let subitem of item.sublinks">
								<li [class.active]="subitem.link[0] === currentUrl">
									<a *ngIf="!subitem.external" [routerLink]="subitem.link">
										<i *ngIf="subitem.icon" class="fa fa-{{subitem.icon}}"></i>
										<span>{{subitem.title}}</span>
									</a>
									<a *ngIf="subitem.external" [href]="subitem.link" [target]="subitem.target">
										<i *ngIf="subitem.icon" class="fa fa-{{subitem.icon}}"></i>
										<span>{{subitem.title}}</span>
									</a>
								</li>
							</ng-container>
						</ul>
					</li>
				</ng-container>
			</ng-container>
		</ul>
		<!-- /.sidebar-menu -->
	</section>
	<!-- /.sidebar -->
</aside>
Legend
Html element
Component
Html element with directive

results matching ""

    No results matching ""