BaselinePortal
This library was generated with Angular CLI version 16.2.0.
Importing components
- 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-portal
or else it will be added to the default project in your angular.json
file.
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.