@ebisearch/baseline-portal
v0.1.4
Published
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.2.0.
Downloads
58
Keywords
Readme
BaselinePortal
This library was generated with Angular CLI version 16.2.0.
Importing components
Header
- Import configuration tokens into the app.component.ts file (replacing existing header component import):
import {
HeaderComponent,
CATEGORY_CONFIG,
GLOBAL_SEARCH_CONFIGURATION,
INAVIGATION_DATA,
INAVIGATION_ITEM
} from '@ebisearch/baseline-portal';- Create categories with the following schema:
export interface CategoryConfiguration {
id: string;
name: string;
description: string;
url?: string;
defaultDomainId?: string;
domains?: DomainConfiguration[];
examples?: string[];
dropdown?: boolean;
}
export interface DomainConfiguration {
id: string;
domainId: string;
name: string;
prefixedQuery?: string;
examples?: string[];
default?: boolean;
}
export interface GlobalSearchConfiguration {
title: string,
subTitle: string,
searchExamples: string[]
}- Create Navigation items with the following schema:
export interface INavigationLink {
external: boolean;
value: string;
queryParams?: Params;
}
export interface INavigationItem {
text: string;
label?: string;
link?: INavigationLink;
items?: INavigationItem[];
googleAnalyticsRegion?: string;
renderAsChild?: boolean;
displayIf?: () => boolean;
onClick?: () => void;
}
export interface INavigationData {
googleAnalyticsRegion: string;
}- Import configurations and provide them to the header library component
import {
categoriesConfiguration,
globalSearchConfiguration,
iNavigationData,
iNavigationItems,
} from "./search/search-configuration";
//...
@Component({
//...
imports: [ HeaderComponent, RouterOutlet, FooterComponent ],
providers: [
{provide: CATEGORY_CONFIG, useValue: categoriesConfiguration},
{provide: GLOBAL_SEARCH_CONFIGURATION, useValue: globalSearchConfiguration},
{provide: INAVIGATION_DATA, useValue: iNavigationData},
{provide: INAVIGATION_ITEM, useValue: iNavigationItems}
]
})- Replace tags in html file:
<lib-header></lib-header>Injection tokens
| Token | Interface | |-----------------------------|:-------------------------:| | CATEGORY_CONFIG | CategoryConfiguration | | GLOBAL_SEARCH_CONFIGURATION | GlobalSearchConfiguration | | INAVIGATION_DATA | INavigationData | | INAVIGATION_ITEM | INavigationItem | | NOT_FOUND_PAGE_CONFIGURATION | PagesConfiguration |
Code scaffolding
Run ng generate component component-name --project baseline-portal to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module --project baseline-portal.
Note: Don't forget to add
--project baseline-portalor else it will be added to the default project in yourangular.jsonfile.
Build
Run ng build baseline-portal to build the project. The build artifacts will be stored in the dist/ directory.
Publishing
After building your library with ng build baseline-portal, go to the dist folder cd dist/baseline-portal and run npm publish.
Running unit tests
Run ng test baseline-portal 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.
