### Basic Angular Toolbar Example Source: https://primeng.org/llms/llms-full.txt Demonstrates the basic usage of the Angular Toolbar component, including placing content in start, center, and end templates. Requires importing necessary PrimeNG modules. ```typescript import { Component, OnInit } from '@angular/core'; import { ButtonModule } from 'primeng/button'; import { IconFieldModule } from 'primeng/iconfield'; import { InputIconModule } from 'primeng/inputicon'; import { SplitButtonModule } from 'primeng/splitbutton'; import { ToolbarModule } from 'primeng/toolbar'; import { InputTextModule } from 'primeng/inputtext'; import { MenuItem } from 'primeng/api'; @Component({ template: `
`, standalone: true, imports: [ButtonModule, IconFieldModule, InputIconModule, SplitButtonModule, ToolbarModule, InputTextModule] }) export class ToolbarBasicDemo implements OnInit { items: MenuItem[] | undefined; ngOnInit() { this.items = [ { label: 'Update', icon: 'pi pi-refresh' }, { label: 'Delete', icon: 'pi pi-times' } ]; } } ``` -------------------------------- ### Basic PrimeNG Menu Setup Source: https://primeng.org/llms/llms-full.txt Demonstrates the basic setup of the PrimeNG Menu component by defining a collection of menu items. Ensure MenuModule is imported. ```typescript import { Component, OnInit } from '@angular/core'; import { MenuModule } from 'primeng/menu'; import { MenuItem } from 'primeng/api'; @Component({ template: `
`, standalone: true, imports: [MenuModule] }) export class MenuBasicDemo implements OnInit { items: MenuItem[] | undefined; ngOnInit() { this.items = [ { label: 'New', icon: 'pi pi-plus' }, { label: 'Search', icon: 'pi pi-search' } ]; } } ``` -------------------------------- ### PrimeNG InputGroup with Buttons Example Source: https://primeng.org/llms/llms-full.txt Shows how to place buttons at the start, end, or both sides of an input field within a PrimeNG InputGroup. Includes examples for search, voting, and menu triggers. ```typescript import { Component, OnInit } from '@angular/core'; import { ButtonModule } from 'primeng/button'; import { InputGroupModule } from 'primeng/inputgroup'; import { MenuModule } from 'primeng/menu'; import { InputTextModule } from 'primeng/inputtext'; import { MenuItem } from 'primeng/api'; @Component({ template: `
`, standalone: true, imports: [ButtonModule, InputGroupModule, MenuModule, InputTextModule] }) export class InputgroupButtonDemo implements OnInit { items: MenuItem[] | undefined; ngOnInit() { this.items = [{ label: 'Web Search' }, { label: 'AI Assistant' }, { label: 'History' }]; } } ``` -------------------------------- ### Basic Organization Chart Setup Source: https://primeng.org/llms/llms-full.txt Demonstrates the basic setup of an Organization Chart component by providing a collection of TreeNode instances to its 'value' property. Ensure TreeNode is imported from 'primeng/api'. ```typescript import { Component } from '@angular/core'; import { TreeNode } from 'primeng/api'; @Component({ template: `
`, standalone: true, imports: [] }) export class OrganizationchartBasicDemo { data: TreeNode[]; } ``` -------------------------------- ### Basic Breadcrumb Setup Source: https://primeng.org/llms/llms-full.txt Demonstrates the basic setup of the PrimeNG Breadcrumb component. Import BreadcrumbModule and define menu items and a home configuration. ```typescript import { Component, OnInit } from '@angular/core'; import { BreadcrumbModule } from 'primeng/breadcrumb'; import { MenuItem } from 'primeng/api'; @Component({ template: `
`, standalone: true, imports: [BreadcrumbModule] }) export class BreadcrumbBasicDemo implements OnInit { items: MenuItem[] | undefined; home: MenuItem | undefined; ngOnInit() { this.items = [{ label: 'Electronics' }, { label: 'Computer' }, { label: 'Accessories' }, { label: 'Keyboard' }, { label: 'Wireless' }]; this.home = { icon: 'pi pi-home' }; } } ``` -------------------------------- ### Row Expansion Table Example Source: https://primeng.org/llms/llms-full.txt Demonstrates a PrimeNG table with row expansion enabled. Includes setup for data keys, expanded row templates, and toggler buttons. Requires Product and Customer domain models and ProductService. ```typescript import { Component, OnInit, inject } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { ButtonModule } from 'primeng/button'; import { RatingModule } from 'primeng/rating'; import { TableModule } from 'primeng/table'; import { TagModule } from 'primeng/tag'; import { ToastModule } from 'primeng/toast'; import { RippleModule } from 'primeng/ripple'; import { ProductService } from '@/service/productservice'; import { MessageService } from 'primeng/api'; import { Product } from '@/domain/product'; import { Customer } from '@/domain/customer'; @Component({ template: `
Name Image Price Category Reviews Status {{ product.name }} {{ product.price | currency: 'USD' }} {{ product.category }}
Orders for {{ product.name }}
Id
``` -------------------------------- ### Chart Component Methods Source: https://primeng.org/llms/llms-full.txt Demonstrates the structure of a component that might utilize chart methods like refresh, reinit, and generateLegend. This example shows the basic Angular component setup. ```typescript import { Component } from '@angular/core'; @Component({ template: `
Name Parameters Description
refresh - Redraws the graph with new data.
reinit - Destroys the graph first and then creates it again.
generateLegend - Returns an HTML string of a legend for that chart. The legend is generated from the legendCallback in the options.
`, standalone: true, imports: [] }) export class ChartMethodsDemo {} ``` -------------------------------- ### Basic Dialog Implementation Source: https://primeng.org/llms/llms-full.txt Demonstrates the basic setup for a PrimeNG Dialog component. Ensure ButtonModule and DialogModule are imported. ```typescript import { Component } from '@angular/core'; import { ButtonModule } from 'primeng/button'; import { DialogModule } from 'primeng/dialog'; @Component({ template: `

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

`, standalone: true, imports: [ButtonModule, DialogModule] }) export class DialogDemo { visible: boolean = false; showDialog() { this.visible = true; } } ``` -------------------------------- ### Cascadeselect with Fluid Prop Source: https://primeng.org/llms/llms-full.txt Use the 'fluid' prop on the p-cascadeselect component to enable full-width behavior. This example shows a typical setup with data binding and options. ```typescript import { Component, OnInit } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { CascadeSelectModule } from 'primeng/cascadeselect'; @Component({ template: `
`, standalone: true, imports: [CascadeSelectModule, FormsModule] }) export class CascadeselectFluidDemo implements OnInit { countries: any[] | undefined; selectedCity: any; ngOnInit() { this.countries = [ { name: 'Australia', code: 'AU', states: [ { name: 'New South Wales', cities: [ { cname: 'Sydney', code: 'A-SY' }, { cname: 'Newcastle', code: 'A-NE' }, { cname: 'Wollongong', code: 'A-WO' } ] }, { name: 'Queensland', cities: [ { cname: 'Brisbane', code: 'A-BR' }, { cname: 'Townsville', code: 'A-TO' } ] } ] }, { name: 'Canada', code: 'CA', states: [ { name: 'Quebec', cities: [ { cname: 'Montreal', code: 'C-MO' }, { cname: 'Quebec City', code: 'C-QU' } ] }, { name: 'Ontario', cities: [ { cname: 'Ottawa', code: 'C-OT' }, { cname: 'Toronto', code: 'C-TO' } ] } ] }, { name: 'United States', code: 'US', states: [ { name: 'California', cities: [ { cname: 'Los Angeles', code: 'US-LA' }, { cname: 'San Diego', code: 'US-SD' }, { cname: 'San Francisco', code: 'US-SF' } ] }, { name: 'Florida', cities: [ { cname: 'Jacksonville', code: 'US-JA' }, { cname: 'Miami', code: 'US-MI' }, { cname: 'Tampa', code: 'US-TA' }, { cname: 'Orlando', code: 'US-OR' } ] }, { name: 'Texas', cities: [ { cname: 'Austin', code: 'US-AU' }, { cname: 'Dallas', code: 'US-DA' }, { cname: 'Houston', code: 'US-HO' } ] } ] } ]; } } ``` -------------------------------- ### Example Prompts for PrimeNG MCP Server Source: https://primeng.org/llms/llms-full.txt Sample prompts to interact with an AI assistant using the PrimeNG MCP server. These demonstrate how to query component details, props, styling, and migration information. ```typescript "Show me how to use the Table component with sorting and filtering" ``` ```typescript "What props does the Button component have?" ``` ```typescript "How do I customize the Dialog component styling with Pass Through?" ``` ```typescript "Compare the Select and Listbox components" ``` ```typescript "What's the best component for a date picker?" ``` ```typescript "How do I migrate from PrimeNG v20 to v21?" ``` -------------------------------- ### PrimeNG Table with Striped Rows Source: https://primeng.org/llms/llms-full.txt Use the `stripedRows` property on the `p-table` component to display alternating row colors. This example shows a basic setup with product data. ```typescript import { Component, OnInit, inject } from '@angular/core'; import { TableModule } from 'primeng/table'; import { ProductService } from '@/service/productservice'; import { Product } from '@/domain/product'; @Component({ template: `
Code Name Category Quantity {{ product.code }} {{ product.name }} {{ product.category }} {{ product.quantity }}
`, standalone: true, imports: [TableModule], providers: [ProductService] }) export class TableStripedDemo implements OnInit { private productService = inject(ProductService); products!: Product[]; ngOnInit() { this.productService.getProductsMini().then((data) => { this.products = data; }); } } ``` -------------------------------- ### IftaLabel with CascadeSelect Example Source: https://primeng.org/llms/llms-full.txt Demonstrates how to use the IftaLabel component to wrap a PrimeNG CascadeSelect. This setup is useful for creating form elements with labels positioned at the top and aligned within the input field. ```typescript import { Component, OnInit } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { CascadeSelectModule } from 'primeng/cascadeselect'; import { IftaLabelModule } from 'primeng/iftalabel'; @Component({ template: \
\", standalone: true, imports: [CascadeSelectModule, IftaLabelModule, FormsModule] }) export class CascadeselectIftalabelDemo implements OnInit { countries: any[] | undefined; selectedCity: any; ngOnInit() { this.countries = [ { name: 'Australia', code: 'AU', states: [ { name: 'New South Wales', cities: [ { cname: 'Sydney', code: 'A-SY' }, { cname: 'Newcastle', code: 'A-NE' }, { cname: 'Wollongong', code: 'A-WO' } ] }, { name: 'Queensland', cities: [ { cname: 'Brisbane', code: 'A-BR' }, { cname: 'Townsville', code: 'A-TO' } ] } ] }, { name: 'Canada', code: 'CA', states: [ { name: 'Quebec', cities: [ { cname: 'Montreal', code: 'C-MO' }, { cname: 'Quebec City', code: 'C-QU' } ] }, { name: 'Ontario', cities: [ { cname: 'Ottawa', code: 'C-OT' }, { cname: 'Toronto', code: 'C-TO' } ] } ] }, { name: 'United States', code: 'US', states: [ { name: 'California', cities: [ { cname: 'Los Angeles', code: 'US-LA' }, { cname: 'San Diego', code: 'US-SD' }, { cname: 'San Francisco', code: 'US-SF' } ] }, { name: 'Florida', cities: [ { cname: 'Jacksonville', code: 'US-JA' }, { cname: 'Miami', code: 'US-MI' }, { cname: 'Tampa', code: 'US-TA' }, { cname: 'Orlando', code: 'US-OR' } ] }, { name: 'Texas', cities: [ { cname: 'Austin', code: 'US-AU' }, { cname: 'Dallas', code: 'US-DA' }, { cname: 'Houston', code: 'US-HO' } ] } ] } ]; } } ``` -------------------------------- ### Basic Inplace Component Usage Source: https://primeng.org/llms/llms-full.txt Demonstrates the basic setup of the Inplace component, requiring display and content templates. Ensure InplaceModule is imported. ```typescript import { Component } from '@angular/core'; import { InplaceModule } from 'primeng/inplace'; @Component({ template: `
View Content

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

`, standalone: true, imports: [InplaceModule] }) export class InplaceBasicDemo {} ``` -------------------------------- ### Basic ConfirmPopup Implementation Source: https://primeng.org/llms/llms-full.txt Demonstrates the basic setup of ConfirmPopup using the p-confirmPopup tag and ConfirmationService. Requires importing ButtonModule, ConfirmPopupModule, ToastModule, and services like MessageService and ConfirmationService. ```typescript import { Component, inject } from '@angular/core'; import { ButtonModule } from 'primeng/button'; import { ConfirmPopupModule } from 'primeng/confirmpopup'; import { ToastModule } from 'primeng/toast'; import { MessageService, ConfirmationService } from 'primeng/api'; @Component({ template: `
`, standalone: true, imports: [ButtonModule, ConfirmPopupModule, ToastModule], providers: [ConfirmationService, MessageService] }) export class ConfirmpopupBasicDemo { private confirmationService = inject(ConfirmationService); private messageService = inject(MessageService); confirm2(event: Event) { this.confirmationService.confirm({ target: event.currentTarget as EventTarget, message: 'Do you want to delete this record?', icon: 'pi pi-info-circle', rejectButtonProps: { label: 'Cancel', severity: 'secondary', outlined: true }, acceptButtonProps: { label: 'Delete', severity: 'danger' }, accept: () => { this.messageService.add({ severity: 'info', summary: 'Confirmed', detail: 'Record deleted', life: 3000 }); }, reject: () => { this.messageService.add({ severity: 'error', summary: 'Rejected', detail: 'You have rejected', life: 3000 }); } }); } } ``` -------------------------------- ### Basic InputGroup Example Source: https://primeng.org/llms/llms-full.txt Demonstrates how to group input elements with add-ons such as icons, text, or buttons. Ensure to import InputGroupModule and other necessary modules like InputTextModule, InputNumberModule, and SelectModule. ```typescript import { Component } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { SelectModule } from 'primeng/select'; import { InputGroupModule } from 'primeng/inputgroup'; import { InputNumberModule } from 'primeng/inputnumber'; import { InputTextModule } from 'primeng/inputtext'; interface City { name: string; code: string; } @Component({ template: `
$ .00 www
`, standalone: true, imports: [SelectModule, InputGroupModule, InputNumberModule, InputTextModule, FormsModule] }) export class InputgroupBasicDemo { text1: string | undefined; text2: string | undefined; number: string | undefined; selectedCity: City | undefined; cities: City[]; } ``` -------------------------------- ### Custom Content in PrimeNG MegaMenu Source: https://primeng.org/llms/llms-full.txt This example shows how to integrate custom SVG content as the starting element of a PrimeNG MegaMenu. Ensure necessary PrimeNG modules like MegaMenuModule, ButtonModule, AvatarModule, RippleModule, and common Angular OnInit are imported. ```typescript import { Component, OnInit } from '@angular/core'; import { AvatarModule } from 'primeng/avatar'; import { ButtonModule } from 'primeng/button'; import { MegaMenuModule } from 'primeng/megamenu'; import { RippleModule } from 'primeng/ripple'; import { MegaMenuItem } from 'primeng/api'; @Component({ template: \
{{ item.label }} {{ item.label }} {{ item.subtext }}
\"megamenu-demo\" ``` -------------------------------- ### Dialog with Long Content Example Source: https://primeng.org/llms/llms-full.txt This example demonstrates how the PrimeNG Dialog component automatically displays a scroller when its content exceeds the viewport height. ```typescript import { Component } from '@angular/core'; import { ButtonModule } from 'primeng/button'; import { DialogModule } from 'primeng/dialog'; @Component({ template: `

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

"Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?

At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

"Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea ``` -------------------------------- ### Basic Overlay Usage Source: https://primeng.org/llms/llms-full.txt Demonstrates how to display a basic overlay component triggered by a button click. Requires ButtonModule. ```typescript import { Component } from '@angular/core'; import { ButtonModule } from 'primeng/button'; @Component({ template: `

Content
`, standalone: true, imports: [ButtonModule] }) export class OverlayBasicDemo { overlayVisible: boolean = false; toggle() { this.overlayVisible = !this.overlayVisible; } } ``` -------------------------------- ### Basic SplitButton Configuration Source: https://primeng.org/llms/llms-full.txt Demonstrates how to configure a basic SplitButton with a default action and a list of menu items. Imports required modules and services for functionality. ```typescript import { Component, inject } from '@angular/core'; import { SplitButtonModule } from 'primeng/splitbutton'; import { ToastModule } from 'primeng/toast'; import { MenuItem, MessageService } from 'primeng/api'; @Component({ template: `
`, standalone: true, imports: [SplitButtonModule, ToastModule], providers: [MessageService] }) export class SplitbuttonBasicDemo { private messageService = inject(MessageService); constructor() { this.items = [ { label: 'Update', command: () => { this.update(); } }, { label: 'Delete', command: () => { this.delete(); } }, { label: 'Angular.dev', url: 'https://angular.dev' }, { separator: true }, { label: 'Upload', routerLink: ['/fileupload'] } ]; } save() { this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Saved' }); } update() { this.messageService.add({ severity: 'success', summary: 'Updated', detail: 'Data Updated' }); } delete() { this.messageService.add({ severity: 'warn', summary: 'Delete', detail: 'Data Deleted' }); } } ``` -------------------------------- ### Basic MeterGroup Configuration in Angular Source: https://primeng.org/llms/llms-full.txt Demonstrates the basic setup of the MeterGroup component in Angular. Requires MeterGroupModule import and a value array with label, value, and color properties. ```typescript import { Component } from '@angular/core'; import { MeterGroupModule } from 'primeng/metergroup'; @Component({ template: `
`, standalone: true, imports: [MeterGroupModule] }) export class MetergroupBasicDemo { value: any[] = [{ label: 'Space used', value: 15, color: 'var(--p-primary-color)' }]; } ``` -------------------------------- ### Primeng Tree Filtering Example Source: https://primeng.org/llms/llms-full.txt Demonstrates how to enable and configure filtering for the Primeng Tree component. Includes examples for both default lenient filtering and strict filtering mode. ```typescript import { Component, OnInit, inject, signal } from '@angular/core'; import { TreeModule } from 'primeng/tree'; import { NodeService } from '@/service/nodeservice'; import { TreeNode } from 'primeng/api'; @Component({ template: `
`, standalone: true, imports: [TreeModule], providers: [NodeService] }) export class TreeFilterDemo implements OnInit { private nodeService = inject(NodeService); files = signal(undefined); files2 = signal(undefined); ngOnInit() { this.nodeService.getFiles().then((data) => { this.files.set(data); this.files2.set(data); }); } } ``` -------------------------------- ### KeyFilter Regex Example Source: https://primeng.org/llms/llms-full.txt Shows how to use custom regular expressions with the KeyFilter directive for more specific input control. This example demonstrates blocking spaces and specific characters. ```typescript import { Component } from '@angular/core'; import { InputTextModule } from 'primeng/inputtext'; @Component({ template: `
`, standalone: true, imports: [InputTextModule] }) export class KeyfilterRegexDemo { blockSpace: RegExp = /^[^\s]+$/; blockChars: RegExp = /^[^<>*!]+$/; } ``` -------------------------------- ### Combine Multiple Add-ons in InputGroup Source: https://primeng.org/llms/llms-full.txt Demonstrates how to use multiple add-ons within a single InputGroup for complex input scenarios. This example includes text and currency add-ons. ```typescript import { Component } from '@angular/core'; import { InputGroupModule } from 'primeng/inputgroup'; import { InputTextModule } from 'primeng/inputtext'; @Component({ template: `
$ .00
`, standalone: true, imports: [InputGroupModule, InputTextModule] }) export class InputgroupMultipleDemo {} ```