Skip to content

Add 14 grid-lite samples from igniteui-wc-examples#3781

Merged
ChronosSF merged 62 commits intovnextfrom
copilot/transfer-grid-lite-samples
Nov 18, 2025
Merged

Add 14 grid-lite samples from igniteui-wc-examples#3781
ChronosSF merged 62 commits intovnextfrom
copilot/transfer-grid-lite-samples

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Nov 17, 2025

Ports 14 grid-lite samples from igniteui-wc-examples (branch: dmdimitrov/grid-lite-samples, commit: 145d203c) to demonstrate igc-grid-lite custom element usage in Angular.

Changes

Package Dependencies

  • Added igc-grid-lite@1.0.0-alpha.5

New Components (14 samples)

Created in src/app/grid/grid-lite/:

  • Column Configuration: simple, dynamic, headers - Basic to advanced column config with formatters and runtime updates
  • Data Binding: dynamic - Runtime data source switching
  • Filtering: simple, events, pipeline - Basic filtering, event handling, remote simulation
  • Sorting: simple, events, grid-config, pipeline - Sorting with custom comparers, events, configuration, remote simulation
  • Styling: custom, themes - Custom theming and built-in theme selection
  • Overview: Complete feature demonstration

Shared Service

  • GridLiteDataService - Generates mock data (Users, Products) without external dependencies

Integration

  • Added routes to grids.routes.ts for all 14 samples

Implementation Pattern

Web Components → Angular adaptation:

// Component uses CUSTOM_ELEMENTS_SCHEMA for custom element support
@Component({
  selector: 'app-grid-lite-overview',
  templateUrl: './grid-lite-overview.component.html',
  schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class GridLiteOverviewComponent {
  // Cell templates created programmatically
  cellTemplate: (params: any) => {
    const rating = document.createElement('igc-rating');
    rating.setAttribute('value', params.value.toString());
    return rating;
  }
}
<!-- Angular event binding with proper typing -->
<igc-grid-lite 
  [columns]="columns" 
  [data]="data"
  (sorting)="handleSorting($event)"
  (sorted)="handleSorted($event)">
</igc-grid-lite>

All samples follow existing repository patterns and pass lint/security checks.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • fonts.googleapis.com
    • Triggering command: ng build --configuration production (my-app) (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

Transfer grid-lite samples from igniteui-wc-examples repository (branch: dmdimitrov/grid-lite-samples, commit: 145d203c64c3d9ddb174607e0b57ae0db119e80b) to igniteui-angular-samples repository.

Source location: https://github.com/IgniteUI/igniteui-wc-examples/tree/145d203c64c3d9ddb174607e0b57ae0db119e80b/samples/grids/grid-lite

The following 14 samples need to be transferred and adapted for Angular:

  1. column-config-dynamic
  2. column-config-headers
  3. column-config-simple
  4. data-binding-dynamic
  5. filtering-events
  6. filtering-pipeline
  7. filtering-simple
  8. overview
  9. sorting-events
  10. sorting-grid-config
  11. sorting-pipeline
  12. sorting-simple
  13. styling-custom
  14. styling-themes

Requirements for each Angular sample:

  1. Create Angular components that use igc-grid-lite as a custom element
  2. Add CUSTOM_ELEMENTS_SCHEMA to each component's schemas array in the @component decorator
  3. Import the necessary Web Components from igniteui-webcomponents package
  4. Convert Web Component templates to Angular template syntax
  5. Use Angular event binding syntax (e.g., (sortingDone)="handler($event)" instead of @sortingDone)
  6. Maintain the same functionality as the original Web Components samples
  7. Follow the existing structure and patterns used in the igniteui-angular-samples repository
  8. Include proper TypeScript typing for the igc-grid-lite component
  9. Ensure all data binding, filtering, sorting, and styling features work correctly in Angular context

The samples should be created in a similar folder structure (e.g., samples/grids/grid-lite/) in the Angular repository, following existing Angular sample conventions.

Each component should include:

  • Component TypeScript file with CUSTOM_ELEMENTS_SCHEMA
  • HTML template using custom element
  • Any necessary styling files
  • Proper imports: import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core' and Web Components imports
  • Angular-specific event handling and property binding

Reference the source files from the Web Components examples to ensure feature parity.

This pull request was created as a result of the following prompt from Copilot chat.

Transfer grid-lite samples from igniteui-wc-examples repository (branch: dmdimitrov/grid-lite-samples, commit: 145d203c64c3d9ddb174607e0b57ae0db119e80b) to igniteui-angular-samples repository.

Source location: https://github.com/IgniteUI/igniteui-wc-examples/tree/145d203c64c3d9ddb174607e0b57ae0db119e80b/samples/grids/grid-lite

The following 14 samples need to be transferred and adapted for Angular:

  1. column-config-dynamic
  2. column-config-headers
  3. column-config-simple
  4. data-binding-dynamic
  5. filtering-events
  6. filtering-pipeline
  7. filtering-simple
  8. overview
  9. sorting-events
  10. sorting-grid-config
  11. sorting-pipeline
  12. sorting-simple
  13. styling-custom
  14. styling-themes

Requirements for each Angular sample:

  1. Create Angular components that use igc-grid-lite as a custom element
  2. Add CUSTOM_ELEMENTS_SCHEMA to each component's schemas array in the @component decorator
  3. Import the necessary Web Components from igniteui-webcomponents package
  4. Convert Web Component templates to Angular template syntax
  5. Use Angular event binding syntax (e.g., (sortingDone)="handler($event)" instead of @sortingDone)
  6. Maintain the same functionality as the original Web Components samples
  7. Follow the existing structure and patterns used in the igniteui-angular-samples repository
  8. Include proper TypeScript typing for the igc-grid-lite component
  9. Ensure all data binding, filtering, sorting, and styling features work correctly in Angular context

The samples should be created in a similar folder structure (e.g., samples/grids/grid-lite/) in the Angular repository, following existing Angular sample conventions.

Each component should include:

  • Component TypeScript file with CUSTOM_ELEMENTS_SCHEMA
  • HTML template using custom element
  • Any necessary styling files
  • Proper imports: import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core' and Web Components imports
  • Angular-specific event handling and property binding

Reference the source files from the Web Components examples to ensure feature parity.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

adrianptrv and others added 30 commits July 4, 2025 19:11
Pushing prod from staging
fix(live-editing): upping live-editing version to fix issue with tail…
feat(cell-merging): adding editing to samples
Updating prod with fixes from vnext
Co-authored-by: ChronosSF <2188411+ChronosSF@users.noreply.github.com>
…routes

Co-authored-by: ChronosSF <2188411+ChronosSF@users.noreply.github.com>
Copilot AI changed the title [WIP] Transfer grid-lite samples to igniteui-angular-samples Add 14 grid-lite samples from igniteui-wc-examples Nov 17, 2025
Copilot AI requested a review from ChronosSF November 17, 2025 16:17
@ChronosSF ChronosSF changed the base branch from master to vnext November 17, 2025 16:54
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
changeDetectionRef = inject(ChangeDetectorRef);
private iconService = inject(IgxIconService)
public ngOnInit() {
this.iconService.addSvgIconFromText('x', '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="currentColor" class="bi bi-twitter-x" viewBox="0 0 16 16"><path d="M12.6.75h2.454l-5.36 6.142L16 15.25h-4.937l-3.867-5.07-4.425 5.07H.316l5.733-6.57L0 .75h5.063l3.495 4.633L12.601.75Zm-.86 13.028h1.36L4.323 2.145H2.865z"/></svg>');
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot We have icons for both youtube and x (twitter) inmaterial-icons-extended

@ChronosSF ChronosSF marked this pull request as ready for review November 18, 2025 17:03
@ChronosSF ChronosSF merged commit 1bba559 into vnext Nov 18, 2025
7 of 8 checks passed
@ChronosSF ChronosSF deleted the copilot/transfer-grid-lite-samples branch November 18, 2025 17:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants