Open In App

Angular PrimeNG Timeline Layout

Last Updated : 23 Jul, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

Angular PrimeNG is an open-source framework with a rich set of native Angular UI components that are used for great styling and this framework is used to make responsive websites with very much ease. This article will show us how to use the Timeline Layout in Angular PrimeNG. We will also learn about the properties, along with their syntaxes that will be used in the code.

The TimeLine component is used to display the timeline of the process.

Syntax:

<p-timeline [value]="...." layout="....">
    <ng-template pTemplate="content" let-event>
        {{event}}
    </ng-template>
</p-timeline>
 

Angular PrimeNG Timeline Layout properties:

  • value: It is an array of events to display. It is of array data type & the default value is null.
  • layout: It is the orientation of the timeline. It is of string data type & the default value is vertical.

Creating Angular application & module installation:

Step 1: Create an Angular application using the following command.

ng new appname

Step 2: After creating your project folder i.e. appname, move to it using the following command.

cd appname

Step 3: Install PrimeNG in your given directory.

npm install primeng --save
npm install primeicons --save

Project Structure: It will look like the following:

 

Steps to run the application: Run the below command:

ng serve --open

Example 1: This is the basic example code that illustrates the use of Angular PrimeNG Timeline Layout using layout="vertical".

  • app.component.html:
HTML
<h1 style="color: green">GeeksforGeeks</h1>
<h5>Angular PrimeNG Timeline Layout</h5>

<p-timeline [value]="gfg" layout="vertical">
    <ng-template pTemplate="content" let-event>
        &#123;&#123;event&#125;&#125;
    </ng-template>
</p-timeline>
  • app.component.ts:
JavaScript
import { Component } from "@angular/core";

@Component({
    selector: "app-root",
    templateUrl: "./app.component.html",
    styleUrls: ["./app.component.scss"]
})
export class AppComponent {
    gfg: any[];

    ngOnInit() {
        this.gfg = [
            "DSA Self Paced", 
            "C++ STL", 
            "System Design", 
            "Java"
        ];
    }
}
  • app.module.ts:
JavaScript
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } 
    from '@angular/platform-browser/animations';
import { FormsModule } from '@angular/forms';
import { TimelineModule } from 'primeng/timeline';
import { CardModule } from 'primeng/card';
import { ButtonModule } from 'primeng/button';
import { AppComponent } from './app.component';

@NgModule({
    imports: [
        BrowserModule,
        BrowserAnimationsModule,
        FormsModule,
        ButtonModule,
        TimelineModule,
        CardModule,
    ],
    declarations: [AppComponent],
    bootstrap: [AppComponent],
})

export class AppModule {}

Output:

 

Example 2: This is another example code that illustrates the use of Angular PrimeNG Timeline Layout using layout="horizontal".

  • app.component.html:
HTML
<h1 style="color: green">GeeksforGeeks</h1>
<h5>Angular PrimeNG Timeline Layout</h5>

<p-timeline [value]="gfg" layout="horizontal">
    <ng-template pTemplate="content" let-event>
        &#123;&#123;event&#125;&#125;
    </ng-template>
</p-timeline>
  • app.component.ts:
JavaScript
import { Component } from "@angular/core";

@Component({
    selector: "app-root",
    templateUrl: "./app.component.html",
    styleUrls: ["./app.component.scss"]
})
export class AppComponent {
    gfg: any[];

    ngOnInit() {
        this.gfg = [
            "DSA Self Paced", 
            "C++ STL", 
            "System Design", 
            "Java"
        ];
    }
}
  • app.module.ts:
JavaScript
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } 
    from '@angular/platform-browser/animations';
import { FormsModule } from '@angular/forms';
import { TimelineModule } from 'primeng/timeline';
import { CardModule } from 'primeng/card';
import { ButtonModule } from 'primeng/button';
import { AppComponent } from './app.component';

@NgModule({
    imports: [
        BrowserModule,
        BrowserAnimationsModule,
        FormsModule,
        ButtonModule,
        TimelineModule,
        CardModule,
    ],
    declarations: [AppComponent],
    bootstrap: [AppComponent],
})

export class AppModule {}

Output:

 

Reference: https://www.primefaces.org/primeng/timeline


Similar Reads