1.0.3 • Published 6 years ago
pg-template v1.0.3
Introduce
This library have 4 demo template: Header, Sidebar, Footer, Login.
Dependencies
| ng-bootstrap | Angular | fortawesome | 
|---|---|---|
| 4.x.x | 7.x.x | 4.x.x | 
Installation
npm install pg-template --saveSetup
1. Install another libary
Please help me to make sure your project installed some dependencies:
- ng-bootstrap
npm install --save @ng-bootstrap/ng-bootstrap- boostrap
npm install --save bootstrap- font-awesome
npm i @fortawesome/fontawesome-free2. Add bootstrap and fontawesome to styles
Open file angular.json and update in your project like:
"styles": [
    "src/styles.css",
    "node_modules/bootstrap/dist/css/bootstrap.min.css",
    "node_modules/@fortawesome/fontawesome-free/css/all.css"
]3. Import PgTemplateModule into project
import { PgTemplateModule } from 'pg-template';
@NgModule({
  declarations: [
    ...
  ],
  imports: [
    ...
    PgTemplateModule,
    ...
  ],
})Use
1. Header template
Template
<enl-header-template
    [logoImage] = "logoImage"
    [logoUrl]="homeUrl"
    [menuItems] = "menuItems" 
    [backgroundColor]="backgroundColor"
    [color] = "color"
    [userDropdown] = "userDropdown">
</enl-header-template>Input
| Option | Type | Default | Description | 
|---|---|---|---|
| logoImage | string | null | input url of a image | 
| logoUrl | string | null | click logoImage, it will redirect to this url | 
| menuItems | Array(MenuItem) | [] | show list tag on header | 
| backgroundColor | string | #ffffff | background color for header | 
| color | string | #007bff | word color on side bar | 
| userDropdown | Array(UserMenu) | null | show user dropdown | 
Example
import { MenuItem, UserMenu } from 'pg-template/lib/pg-template.model';
homeUrl = 'http://localhost:4200/home';
logoImage = '../assets/image/angular-logo.png';
color = '#000000';
userDropdown: UserMenu = { userName: 'phunghandsome@gmail.com',
                           avatar: '../assets/image/img_avatar.png',
                           menuItems: [{label: 'Infor', url: 'home'},
                                       {label: 'Setting', url: 'setting'},
                                       {label: 'Log out', url: 'log-out'}]
                        };
menuItems: MenuItem[] = [
                         {label: 'Home', url: 'home'}, 
                         {label: 'Link', url: 'link'}
                        ];2. Sidbar Template
Template
<enl-side-bar-template 
    [backgroundColor]="backgroundColor" 
    [color] = "color"
    [sideBarItems] = "sideBarItems">
</enl-side-bar-template>Input
| Option | Type | Default | Description | 
|---|---|---|---|
| backgroundColor | string | #ffffff | background color for header | 
| color | string | #000000 | word color on side bar | 
| sideBarItems | Array(SideBarItem) | null | show list tag on side bar | 
Example
sideBarItems: SideBarItem[] = [
                                {label : 'Home', logo: 'fas fa-home', url: 'home', active: false},
                                {label : 'News', logo: 'fas fa-newspaper', url: 'news', active: false},
                                {label : 'Contact', logo: 'fas fa-id-card', url: 'contact', active: false},
                                {label : 'About', logo: 'fas fa-angry', url: 'about', active: false}
                            ];3. Footer Template
Template
<enl-footer-template>© Copyright 2019 </enl-footer-template>4. Login Template
Template
<enl-login-template 
    [title]="'Login Admin'"
    (userLogin)="onLogin($event)">
</enl-login-template>| Decorator | Option | Type | Default | Description | 
|---|---|---|---|---|
| @Input | title | string | 'Login' | show title in login template | 
| @Output | userLogin | EventEmitter | Emit LoginUser instance to external component | 
Example
onLogin(event: UserLogin) {
    console.log(event);
}