Loading...
Loading...
Implement Angular Progress Bar components for visual progress tracking. Use when you need to show determinate, indeterminate, or buffered progress in linear or circular shapes with animations, customization, and accessibility support.
npx skill4agent add syncfusion/angular-ui-components-skills syncfusion-angular-progress-barimport { Component } from '@angular/core';
import { ProgressBarModule } from '@syncfusion/ej2-angular-progressbar';
@Component({
selector: 'app-root',
standalone: true,
imports: [ProgressBarModule],
template: `
<div style="margin: 20px;">
<!-- Linear Progress -->
<h4>File Download</h4>
<ejs-progressbar
[value]="65"
height="20"
type="Linear"
style="width: 300px;">
</ejs-progressbar>
<!-- Circular Progress -->
<h4 style="margin-top: 20px;">Task Completion</h4>
<ejs-progressbar
[value]="65"
type="Circular"
height="200"
width="200">
</ejs-progressbar>
<!-- Semi-Circular Progress -->
<h4 style="margin-top: 20px;">System Status</h4>
<ejs-progressbar
[value]="65"
type="SemiCircular"
height="200"
width="200">
</ejs-progressbar>
</div>
`
})
export class AppComponent {
}export class FileUploadComponent {
uploadProgress = 0;
onFileUpload(file: File) {
// Simulate upload
const interval = setInterval(() => {
this.uploadProgress += Math.random() * 30;
if (this.uploadProgress >= 100) {
this.uploadProgress = 100;
clearInterval(interval);
}
}, 500);
}
}export class LoadingComponent {
@Input() isLoading = false;
}<ejs-progressbar
*ngIf="isLoading"
[isIndeterminate]="true"
[height]="4"
[animation]="{ enable: true, duration: 2000, delay: 0 }">
</ejs-progressbar>export class DownloadComponent {
primaryProgress = 35;
secondaryProgress = 65;
}<ejs-progressbar
[value]="primaryProgress"
[secondaryProgress]="secondaryProgress"
type="Linear">
</ejs-progressbar>| Property | Type | Purpose |
|---|---|---|
| number | Current progress value (0-100 or custom min/max) |
| string | Shape: 'Linear', 'Circular', 'SemiCircular' |
| boolean | Show indeterminate state when true |
| number | Buffer/secondary progress value |
| number | Minimum value of progress range (default: 0) |
| number | Maximum value of progress range (default: 100) |
| number|string | Progress bar height in pixels or percentage |
| number|string | Progress bar width in pixels or percentage |
| number | Track line thickness |
| number | Progress bar thickness |
| number | Secondary progress thickness |
| string | Progress bar color (hex, rgb, etc) |
| string | Secondary progress color |
| string | Track background color |
| string | 'Round' | 'Square' - Corner style |
| number|string | Outer radius for circular/semi-circular bars |
| number|string | Inner radius for donut-style appearance |
| number | Divide progress into N segments |
| number | Space between segments in pixels |
| boolean | Display progress percentage text |
| AnimationModel | Animation config: {enable, duration, delay} |
| Event | Description | Args |
|---|---|---|
| Fired when progress value changes | |
| Fired when progress reaches 100% | |
| Fired before rendering progress text | |
(textRender)ProgressBarreferences