1.0.6 • Published 7 years ago

@yca/menu v1.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
7 years ago

@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

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago