Skip to content

Conversation

@kdinev
Copy link
Member

@kdinev kdinev commented Nov 26, 2025

Closes #

Additional information (check all that apply):

  • Bug fix
  • New functionality
  • Documentation
  • Demos
  • CI/CD
  • Refactor

Checklist:

  • All relevant tags have been applied to this PR
  • This PR includes unit tests covering all the new code (test guidelines)
  • This PR includes API docs for newly added methods/properties (api docs guidelines)
  • This PR includes feature/README.MD updates for the feature docs
  • This PR includes general feature table updates in the root README.MD
  • This PR includes CHANGELOG.MD updates for newly added functionality
  • This PR contains breaking changes
  • This PR includes ng update migrations for the breaking changes (migrations guidelines)
  • This PR includes behavioral changes and the feature specification has been updated with them

@kdinev kdinev requested review from Copilot and gedinakova and removed request for gedinakova November 26, 2025 08:23
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR refactors the codebase by moving exporter services (CSV, Excel, and PDF) from the core package to grids/core, consolidating grid-related functionality in a more appropriate location.

  • Relocated exporter services and related utilities from igniteui-angular/core to igniteui-angular/grids/core
  • Updated import paths across the codebase to reflect the new location
  • Added migration mappings for version 21.0.0 to guide users through the breaking changes

Reviewed changes

Copilot reviewed 23 out of 38 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
projects/igniteui-angular/test-utils/sample-test-data.spec.ts Updated import path for ValueData to reflect new location in grids/core
projects/igniteui-angular/migrations/update-21_0_0_import-migration/index.ts Added comprehensive migration mappings for all exporter-related types and services
projects/igniteui-angular/grids/grid/src/grid-toolbar.spec.ts Consolidated exporter service imports to grids/core
projects/igniteui-angular/grids/grid/src/grid-base.directive.ts Moved CharSeparatedValueData import from core to grids/core
projects/igniteui-angular/grids/core/src/toolbar/grid-toolbar-exporter.component.ts Replaced core imports with specific imports from grids/core services
projects/igniteui-angular/grids/core/src/services/pdf/pdf-exporter.ts Updated IBaseEventArgs import to use igniteui-angular/core
projects/igniteui-angular/grids/core/src/services/pdf/pdf-exporter.spec.ts Adjusted test data import path for new directory structure
projects/igniteui-angular/grids/core/src/services/pdf/pdf-exporter-grid.spec.ts Updated multiple test component import paths
projects/igniteui-angular/grids/core/src/services/exporter-common/test-methods.spec.ts Consolidated imports from new locations
projects/igniteui-angular/grids/core/src/services/exporter-common/base-export-service.ts Consolidated multiple imports into single import from igniteui-angular/core
projects/igniteui-angular/grids/core/src/services/excel/excel-files.ts Updated yieldingLoop import to igniteui-angular/core
projects/igniteui-angular/grids/core/src/services/excel/excel-exporter.ts Updated IBaseEventArgs import to igniteui-angular/core
projects/igniteui-angular/grids/core/src/services/excel/excel-exporter.spec.ts Adjusted test data import path
projects/igniteui-angular/grids/core/src/services/excel/excel-exporter-grid.spec.ts Reorganized imports and updated paths for new structure
projects/igniteui-angular/grids/core/src/services/csv/csv-verification-wrapper.spec.ts Removed unused private field
projects/igniteui-angular/grids/core/src/services/csv/csv-exporter.ts Updated IBaseEventArgs import to igniteui-angular/core
projects/igniteui-angular/grids/core/src/services/csv/csv-exporter.spec.ts Adjusted test data import path
projects/igniteui-angular/grids/core/src/services/csv/csv-exporter-grid.spec.ts Consolidated and reorganized imports
projects/igniteui-angular/grids/core/src/services/csv/char-separated-value-data.ts Updated yieldingLoop import to igniteui-angular/core
projects/igniteui-angular/grids/core/src/public_api.ts Added exports for all exporter services and types
projects/igniteui-angular/grids/core/src/common/events.ts Split exporter imports to use grids/core instead of core
projects/igniteui-angular/core/src/services/public_api.ts Removed exporter-related exports
projects/igniteui-angular/core/src/public_api.ts Added export for data-operations/operations

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

import { FilteringExpressionsTree } from '../../data-operations/filtering-expressions-tree';
import { FilteringLogic } from '../../data-operations/filtering-expression.interface';
import { FilteringExpressionsTree } from '../../../../../core/src/data-operations/filtering-expressions-tree';
import { FilteringLogic } from '../../../../../core/src/data-operations/filtering-expression.interface';
Copy link

Copilot AI Nov 26, 2025

Choose a reason for hiding this comment

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

These imports use relative paths to access the core package instead of the package import path 'igniteui-angular/core'. For consistency with other files in this PR (like csv-exporter-grid.spec.ts line 22), these should use the package import path.

Suggested change
import { FilteringLogic } from '../../../../../core/src/data-operations/filtering-expression.interface';
import { FilteringLogic } from 'igniteui-angular/core';

Copilot uses AI. Check for mistakes.
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 23 out of 38 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 5 to 6
export { Direction as ɵDirection, DIR_DOCUMENT as ɵDIR_DOCUMENT, IgxDirectionality as ɵIgxDirectionality } from './direction/directionality';
export * from './excel/excel-exporter';
export * from './excel/excel-exporter-options';
export * from './pdf/pdf-exporter';
export * from './pdf/pdf-exporter-options';
export * from './exporter-common/base-export-service';
export * from './exporter-common/exporter-options-base';
export * from './overlay/overlay';
Copy link

Copilot AI Nov 26, 2025

Choose a reason for hiding this comment

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

[nitpick] Removed exporter service exports leave a formatting gap. The export statement on line 5 should have consistent spacing with line 6 (consider adding a blank line after line 5 or removing the existing blank line before line 6 for consistency).

Copilot uses AI. Check for mistakes.
import { getHierarchy, isHierarchyMatch } from '../../data-operations/operations';
import { IGroupByExpandState } from '../../data-operations/groupby-expand-state.interface';
import { IFilteringState } from '../../data-operations/filtering-state.interface';
import { type ITreeGridRecord, type ColumnType, type GridTypeBase, type IPathSegment, type IgxSummaryResult, type GridColumnDataType, DataUtil, FilterUtil, GridSummaryCalculationMode, IBaseEventArgs, IFilteringState, IGroupByExpandState, IGroupByRecord, IGroupingState, TreeGridFilteringStrategy, cloneArray, cloneValue, columnFieldPath, resolveNestedPath, yieldingLoop, getHierarchy, isHierarchyMatch } from 'igniteui-angular/core';
Copy link

Copilot AI Nov 26, 2025

Choose a reason for hiding this comment

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

[nitpick] The consolidated import on line 4 is extremely long with 22 named imports. Consider splitting this into multiple imports grouped by related functionality (e.g., types, utilities, data operations) to improve readability.

Suggested change
import { type ITreeGridRecord, type ColumnType, type GridTypeBase, type IPathSegment, type IgxSummaryResult, type GridColumnDataType, DataUtil, FilterUtil, GridSummaryCalculationMode, IBaseEventArgs, IFilteringState, IGroupByExpandState, IGroupByRecord, IGroupingState, TreeGridFilteringStrategy, cloneArray, cloneValue, columnFieldPath, resolveNestedPath, yieldingLoop, getHierarchy, isHierarchyMatch } from 'igniteui-angular/core';
// Types
import { type ITreeGridRecord, type ColumnType, type GridTypeBase, type IPathSegment, type IgxSummaryResult, type GridColumnDataType, type IBaseEventArgs, type IFilteringState, type IGroupByExpandState, type IGroupByRecord, type IGroupingState } from 'igniteui-angular/core';
// Utilities
import { DataUtil, FilterUtil, cloneArray, cloneValue, columnFieldPath, resolveNestedPath, yieldingLoop, getHierarchy, isHierarchyMatch } from 'igniteui-angular/core';
// Strategies and Enums
import { TreeGridFilteringStrategy, GridSummaryCalculationMode } from 'igniteui-angular/core';

Copilot uses AI. Check for mistakes.
@mtsvyatkova mtsvyatkova self-assigned this Nov 26, 2025
@mtsvyatkova mtsvyatkova added the ✅ status: verified Applies to PRs that have passed manual verification label Nov 26, 2025
@gedinakova gedinakova merged commit 7d45cb4 into copilot/add-pdf-export-feature Nov 26, 2025
@gedinakova gedinakova deleted the mep-exporter-services branch November 26, 2025 12:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

excel-exporter pdf-exporter refactoring ✅ status: verified Applies to PRs that have passed manual verification

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants