Documentation on different components and their usage.
Modern Search Widget (HPE Style)
Full-screen overlay search widget with slide-in animation, auto-complete, and live
results. Styled to match HPE.com search interface with white background and clean design.
Usage:
Close
Pathfinder AI Chatbot
To add Pathfinder AI Chatbot to the page, follow below component initiator by
including related JS and CSS dependencies. [Ignore the hash added to the file names]
Usage:
Pathfinder Apps Secondary Nav
To add Pathfinder Apps Secondary navigation bar to the page, use the below HTML
component. The data attribute "initiator" controls display of Pathfinder Home application link in the
menu (The value to use in initiator is preferebly appname). If the initiator value is anything other
than "Pathfinder Home", the PF Home will be displayed in the list.
Usage:
Modern KE Header (Next Generation)
Redesigned header container with an explicit three-slot flex layout:
ke-hero-title (brand, left) →
app-menu-next (nav, grows to fill remaining space) →
iconwrap (icons, right). Responsive: collapses to a hamburger-triggered
full-screen sidebar on mobile (≤768 px). Use ke-header-wrap-next +
ke-header-inner-next to avoid style conflicts with the legacy component.
Note: Include above line to get KE Header. We can even configure KE-header, by defining our own
values to below available attributes.
Mandatory attributes:
1. app-name = 'Application name goes here'
Optional attributes:
1. is-searchable = 'true' [If you want search box as part of KE header]
2. is-protected = 'true' [If application is login based]
'optional' [if login is optional]
'downloads' [If login required only to download files]
3. search-placeholder = 'Place holder goes here'
4. search-id= 'ID for search box goes here'
5. search-maxlength = 'value of max number of characters in search box goes here'
6. log-in-url = 'specify log in url if the app url has a multiple level child paths'
7. log-out-url = 'specify logout url if the app url has a multiple level child paths (else
./saml/logout is picked by default)'
How to use Assets in application
Usage:
Assuming propertyConfigurer is configured in the application and respective assets URL is available
in the property "apps.assets.url" of config.properties file.
Use JSTL import statements as below to import the styles and scripts.
To get global styles:
To get global scripts:
To get legacy footer:
To get modern footer:
To get modern footer (without app menu section):
Responsive
To make an application responsive, add the "ke-responsive" class to the page body.
Usage:
Announcement
Usage:
Announcements can be setup by adding them to announcements.json file available in the resources
folder following below structure.
Example JSON:
[
{
"showIn": [
"All"
],
"messageHead": "System Outage",
"messageBody": "System Outage due to AWS Migration.",
"setupDate": "26Nov2018",
"appId": "All"
},
{
"showIn": [
"Assets"
],
"messageHead": "Announcing new functionality in Assets to add announcements",
"messageBody": "Going forward, announcements can be added to all the applications through assets.
Follow instructions in Assets index page to use it.",
"setupDate": "26Nov2018",
"appId": "assets"
}
]
JSON Parameters and its usage:
1. showIn: List of all applications names where the announcements should be displayed. (Application
names used should match with the values in application menu. And value "All" should not be used
together with other application names)
2. messageHead: Announcement header text.
3. messageBody: Announcement body text (can contain html tags).
4. setupDate: Announcement setupDate in format DDMMMYYYY (Ex: 01JAN2018)
5. appId: "All" for the generic announcement, and specific application names in lower case for all
other apps(without spaces).
Announcement Precedence & other notes:
1. App level announcements will take precedence over "All" anouncement. (no matter where we place it
in the JSON object)
2. Generic announcements(with showIn=All & appId=All) to be used only if there is a common
announement to be made across all applications.
3. If there is an already posted announcement(live) and if any changes are needed in either
messageHead/messagBody, along with the text changes, also update the setupDate to the current date
for the updated announcement to be displayed.