1.0.6 • Published 7 years ago
@yca/menu v1.0.6
@yca/menu
Angular side menu
demo: https://stackblitz.com/edit/yca-menu
Installation
To install this library, run:
$ npm install @yca/menu --save
Consuming your library
Once you have published your library to npm, you can import your library in any Angular application by running:
$ npm install @yca/menu
and then from your Angular AppModule
:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
// Import your library
import { MenuModule } from '@yca/menu';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
// Specify your library as an import
MenuModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Once your library is imported, you can use its components, directives and pipes in your Angular application:
<!-- You can now use your library component in app.component.html -->
<yca-menu [items]="items"></yca-menu>
Interfaces
interface IMenuItem {
label: string;
children?: IMenuItem[];
__active?: boolean;
path?: string;
[x: string]: any;
}
Inputs
@Input() items: IMenuItem[] = [];
@Input() filter: (items: IMenuItem[]) => IMenuItem[];
@Input() active: (item: IMenuItem) => boolean;
Subject
constructor(
public ms: MenuSubject,
) {
this.ms.subscribe(x => {
console.log(x.path);
})
}
Development
To generate all *.js
, *.d.ts
and *.metadata.json
files:
$ npm run build
To lint all *.ts
files:
$ npm run lint
License
MIT © Yu Chen