0.0.9 • Published 4 years ago

dark-navbar v0.0.9

Weekly downloads
27
License
-
Repository
-
Last release
4 years ago

Navbar

This library was generated with Angular CLI version 9.1.12.

This component includes a navigation bar with: 1) logo 2) paths 3) search field (pending) 4) notifications 5) account and logout button

image

Installation

npm install dark-navbar --save

Usage

Import the following modules to the AppModule. Include the okta config, refer to okta documentation
Import your AppRoutingModule or RouterModule.forRoot(/* Your Routes */)

import { NavbarModule } from 'dark-navbar';
import { OKTA_CONFIG, OktaAuthModule } from '@okta/okta-angular';
import { Routes, RouterModule } from '@angular/router';

const oktaConfig = {
  issuer: 'oktaUrl',
  redirectUri: `callbackUrl`,
  clientId:  'clientId',
  pkce: true
};


@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    BrowserAnimationsModule,
    DefaultDatePickerModule,
    NavbarModule,
    OktaAuthModule,
    RouterModule.forRoot([{ path: '', component: AppComponent}]),
  ],
  providers: [
    { provide: OKTA_CONFIG, useValue: oktaConfig },
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }

Add the following to app.component.html

<lib-navbar [logoimg]="logoimg" [homepageLink]="homepageLink" [loading]="false" [menuItems]="menuItems" [notifications]="notifications" (notificationClick)="notificationClick($event)" (searchChange)="searchChange($event)"></lib-navbar>

logoimg: the url to the logo image to be shown on the left corner
homepageLink: the path to the page redirect to when click on the logo
loading: if true, loading progress bar display below the navbar

Add the following function in app.component.ts

notificationClick($event: Notification){
    // do something with the notification return
}
searchChange($event: FormGroup){
  // do something with the search form return
}

Add <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> to index.html for matIcon to display

Interface

interface ImenuItem {
  title: string;
  icon?: string;
  route: string;
  children?: ImenuItem[];
}

interface Notification {
  id: string;
  message: string;
  date: Date;
  read: boolean;
  link: string;
}

Code scaffolding

Run ng generate component component-name --project navbar to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module --project navbar.

Note: Don't forget to add --project navbar or else it will be added to the default project in your angular.json file.

Build

Run ng build navbar to build the project. The build artifacts will be stored in the dist/ directory.

Publishing

After building your library with ng build navbar, go to the dist folder cd dist/navbar and run npm publish.

Running unit tests

Run ng test navbar to execute the unit tests via Karma.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI README.

0.0.9

4 years ago

0.0.8

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago