Part 3: Components
Overview
In this section, we'll explore the essential components of our application.
Completed code: live example / download example
The Router (not technically a component but necessary)
Step 1: The Router
Before adding our components, we must configure the router and verify user authentication using our Guard.
Here is the updated code for the router.
Typescript
The application will crash at this point, but that's ok! This is expected. We will fix it in a moment.
Step 2: RootComponent
Until now, we've used the default hello world
template at src/app/components/app.component.ts
. We'll remove this file, replacing it with the root component.
Note how we have three new components in the root component.
app-navigation
is where the top nav bar will be inserted.app-breadcrumbs
will show where you are in the application, right below the nav bar but above the main content section.router-outlet
is where the Angular router will inject the rest of the components dynamically, based on the logic we implement.
Template
Typescript
Step 2: LoginComponent
Let's craft our inaugural component: the login page. The flow will use Authorization Code grant_type
. This will redirect the user to the ProcessMaker installation you created the client application in, where they login and are then redirected back to the application with the authorization code.
Template
Typescript
Step 3: NavigationComponent
The navigation component houses the header logo and a logout button.
The ngIf="authService.authenticated"
ensures the navbar displays only when the user is authenticated using our auth service.
Template
Typescript
Step 4: AppBreadCrumbsComponent
Template
Typescript
Step 5: AppModule
The updated app.module.ts
contains the dependencies:
Router
RootComponent
LoginComponent
NavigationComponent
AppBreadCrumbsComponent
Review
By following the steps, navigating to http://localhost:4200/#/login
should display the login page.

With the correct OAuth credentials and Client Application setup, logging into ProcessMaker should redirect you back to the login page, now displaying the navbar and breadcrumbs, indicating a successful login.

Next Steps
Part 4: The InboxLast updated