@propmix/profet-common-header
v3.0.15-utility-unstable.8
Published
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 15.2.0.
Keywords
Readme
CommonHeader
This library was generated with Angular CLI version 15.2.0.
Usage
Install the package using the command
npm install @propmix/profet-common-header
Import the library in module
import { CommonHeaderModule } from "@propmix/profet-common-header"; imports: [ <!-- Other import statements --> CommonHeaderModule ]Use library in the component html
<lib-header> <!-- Add your custom content here (If any) --> </lib-header>Add library configuration [Find
configsection below]
Config
The PROFET_APPS can have the following possible values:
| Constant | Description |
|----------------------------------------|----------------------------------------|
| PROFET_APPS.profet_portal | Profet Portal |
| PROFET_APPS.appraisal_management | Workflow Management |
| PROFET_APPS.appraisal_review | Profet Review |
| PROFET_APPS.appraisal_valuation | Profet Valuation |
Use an initializer function to configure parameters
import { HeaderConfig, PROFET_APPS } from '@propmix/profet-common-header';
import { Amplify } from 'aws-amplify';
import { environment } from 'src/environments/environment';
export function initializeHeaderConfig(): HeaderConfig {
const headerConfig: HeaderConfig = {
apiUrl: environment.portalApiUrl,
appType: PROFET_APPS.profet_portal
// change the value with respective app name from the `PROFET_APPS`
portalFrontendUrl: environment.portalFrontendUrl,
// portalFrontendUrl is optional
signOutUrl: Amplify.getConfig().Auth.Cognito.loginWith.oauth.redirectSignOut[0]
// signOutUrl - using this option to specify the logout path.
// Usually take this from the Amplify config
};
return headerConfig;
}Use the configuration option in the app.module.ts file
import { CommonHeaderService } from '@propmix/profet-common-header';
providers: [
CommonHeaderService,
{ provide: 'headerConfig', useFactory: initializeHeaderConfig }
]Input
INACTIVITY_LIMIT - Provide the value in milliseconds. The default value is 30 minutes
Optional Observables
The library provides two observables that can be consumed by the application if needed. However, using these observables is not mandatory.
activeMenuList$- Observable listening to menu listTypescript -
import { CommonHeaderService } from '@propmix/profet-common-header'; private _commonHeaderSer = inject(CommonHeaderService); this._commonHeaderSer.activeMenuList$.subscribe(res => { console.log(res) // menu list })companyList$- Observable listening to companylistTypescript -
import { CommonHeaderService } from '@propmix/profet-common-header'; private _commonHeaderSer = inject(CommonHeaderService); this._commonHeaderSer.companyList$.subscribe(res => { console.log(res) // company list })
Publishing to npm repository
ng build common-header
cd dist/common-header
npm publish --access public
Local Development & testing
Do these steps from the library directory
ng build common-header --watch
cd dist/common-header/
npm link
Do these steps from the consumer application
npm ci
npm link @propmix/profet-common-header
Running unit tests
Run ng test common-header 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 Overview and Command Reference page.
