Skip to content

fix(i18n): Fix setting partial resources not filling the rest per component. - #17543

Open
skrustev wants to merge 4 commits into
21.2.xfrom
skrastev/fix-17540-21.2.x
Open

fix(i18n): Fix setting partial resources not filling the rest per component.#17543
skrustev wants to merge 4 commits into
21.2.xfrom
skrastev/fix-17540-21.2.x

Conversation

@skrustev

@skrustev skrustev commented Aug 27, 2026

Copy link
Copy Markdown
Member

Related #17540

Description

Fix setting partial custom resources per component returning partial resources as well when getting them using the resourceStrings property instead of getting merged with the default ones.

Type of Change (check all that apply):

  • Bug fix
  • New functionality
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactoring (no functional changes)
  • Documentation
  • Demos
  • CI/CD
  • Tests
  • Changelog
  • Skills/Agents

Component(s) / Area(s) Affected:

  • Action Strip
  • Banner
  • Carousel
  • Chip
  • Combo
  • Date Range Picker
  • Grid
  • Pivot Date Dimension
  • Input Group
  • List
  • Paginator
  • Query Builder
  • Tree

How Has This Been Tested?

  • Unit tests
  • Manual testing
  • Automated e2e tests

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
  • Accessibility (ARIA, keyboard navigation, focus management) has been verified

@skrustev
skrustev requested a review from ChronosSF August 27, 2026 08:50
Copilot AI lite review requested due to automatic review settings August 27, 2026 08:50
@skrustev skrustev added ❌ status: awaiting-test PRs awaiting manual verification 🔣 i18n squash-merge Merge PR with "Squash and Merge" option version: 21.2.x labels Aug 27, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 addresses a regression in per-component i18n customization where providing a partial resourceStrings object caused unspecified keys to effectively become blank (instead of falling back to the default resource strings). The change introduces a “merged view” of resource strings (default + custom overrides) and adds unit tests across multiple components to validate the behavior, including reacting to global i18n changes.

Changes:

  • Update multiple components’ resourceStrings getters to return merged default + custom resources when custom strings are provided.
  • Update resource refresh flows on global i18n/locale changes (e.g., centralizing into updateResources(...) in a few places) so merged resource strings stay correct.
  • Add/extend unit tests to verify partial overrides and global i18n updates don’t wipe non-overridden defaults.

Reviewed changes

Copilot reviewed 62 out of 82 changed files in this pull request and generated 17 comments.

Show a summary per file
File Description
projects/igniteui-angular/tree/src/tree/tree.spec.ts Adds tests validating partial per-node resource strings merge + global i18n update behavior.
projects/igniteui-angular/tree/src/tree/tree.component.css Style artifact update for tree component.
projects/igniteui-angular/tree/src/tree/tree-node/tree-node.component.ts Implements merged resource strings behavior for tree nodes.
projects/igniteui-angular/toast/src/toast/toast.component.css Style artifact update for toast component.
projects/igniteui-angular/time-picker/src/time-picker/time-picker.component.ts Implements merged resource strings behavior for time picker + updates on resource refresh.
projects/igniteui-angular/time-picker/src/time-picker/time-picker.component.css Style artifact update for time picker component.
projects/igniteui-angular/tabs/src/tabs/tabs/tabs.component.css Style artifact update for tabs component.
projects/igniteui-angular/tabs/src/tabs/tabs/item/tab-item.component.css Style artifact update for tab item.
projects/igniteui-angular/tabs/src/tabs/tabs/header/tab-header.component.css Style artifact update for tab header.
projects/igniteui-angular/tabs/src/tabs/tabs/content/tab-content.component.css Style artifact update for tab content.
projects/igniteui-angular/stepper/src/stepper/stepper.component.css Style artifact update for stepper component.
projects/igniteui-angular/splitter/src/splitter/splitter.component.css Style artifact update for splitter component.
projects/igniteui-angular/snackbar/src/snackbar/snackbar.component.css Style artifact update for snackbar component.
projects/igniteui-angular/select/src/select/select.component.css Style artifact update for select component.
projects/igniteui-angular/query-builder/src/query-builder/query-builder.component.ts Implements merged resource strings behavior for query builder.
projects/igniteui-angular/query-builder/src/query-builder/query-builder.component.spec.ts Adds tests validating partial resource strings merge + global i18n updates for query builder.
projects/igniteui-angular/query-builder/src/query-builder/query-builder-tree.component.ts Updates resource refresh logic and merged resource strings behavior for query builder tree.
projects/igniteui-angular/query-builder/src/query-builder/query-builder-header.component.ts Implements merged resource strings behavior for query builder header.
projects/igniteui-angular/paginator/src/paginator/paginator.component.ts Implements merged resource strings behavior for paginator + updates on resource refresh.
projects/igniteui-angular/paginator/src/paginator/paginator.component.spec.ts Adds tests validating global i18n updates with custom/non-custom paginator resource strings.
projects/igniteui-angular/paginator/src/paginator/paginator.component.css Style artifact update for paginator component.
projects/igniteui-angular/navbar/src/navbar/navbar.component.css Style artifact update for navbar component.
projects/igniteui-angular/list/src/list/list.component.ts Implements merged resource strings behavior for list + updates on resource refresh.
projects/igniteui-angular/list/src/list/list.component.spec.ts Adds tests validating partial list resource strings merge + global i18n updates.
projects/igniteui-angular/input-group/src/input-group/input-group.component.ts Implements merged resource strings behavior for input group + updates on resource refresh.
projects/igniteui-angular/input-group/src/input-group/input-group.component.spec.ts Adds tests validating partial input group resource strings merge + global i18n updates.
projects/igniteui-angular/icon/src/icon/icon.component.css Style artifact update for icon component.
projects/igniteui-angular/grids/pivot-grid/src/pivot-data-selector.component.css Style artifact update for pivot data selector.
projects/igniteui-angular/grids/grid/src/grid.component.spec.ts Adds tests validating partial grid resource strings merge + global i18n updates.
projects/igniteui-angular/grids/grid/src/grid-base.directive.ts Implements merged resource strings behavior for grid base + updates locale/resource refresh flow.
projects/igniteui-angular/grids/core/src/toolbar/grid-toolbar.component.css Style artifact update for grid toolbar.
projects/igniteui-angular/grids/core/src/summaries/grid-summary.component.css Style artifact update for grid summary.
projects/igniteui-angular/grids/core/src/pivot-grid-dimensions.ts Implements merged resource strings behavior for pivot date dimension.
projects/igniteui-angular/grids/core/src/column-actions/column-actions.component.css Style artifact update for column actions.
projects/igniteui-angular/expansion-panel/src/expansion-panel/expansion-panel.component.css Style artifact update for expansion panel.
projects/igniteui-angular/drop-down/src/drop-down/drop-down.component.css Style artifact update for drop-down.
projects/igniteui-angular/directives/src/directives/divider/divider.component.css Style artifact update for divider.
projects/igniteui-angular/dialog/src/dialog/dialog.component.css Style artifact update for dialog.
projects/igniteui-angular/date-picker/src/date-range-picker/date-range-picker.component.ts Implements merged resource strings behavior for date range picker + updates on resource refresh.
projects/igniteui-angular/date-picker/src/date-range-picker/date-range-picker.component.spec.ts Adds tests validating partial date range picker resource strings merge + global i18n updates.
projects/igniteui-angular/date-picker/src/date-range-picker/date-range-picker.component.css Style artifact update for date range picker.
projects/igniteui-angular/date-picker/src/date-picker/date-picker.component.css Style artifact update for date picker.
projects/igniteui-angular/combo/src/combo/combo.component.spec.ts Adds tests validating partial combo resource strings merge + global i18n updates.
projects/igniteui-angular/combo/src/combo/combo.component.css Style artifact update for combo.
projects/igniteui-angular/combo/src/combo/combo.common.ts Implements merged resource strings behavior for combo base directive + updates on resource refresh.
projects/igniteui-angular/chips/src/chips/chips-area/chips-area.component.css Style artifact update for chips area.
projects/igniteui-angular/chips/src/chips/chip.spec.ts Adds tests validating partial chip resource strings merge + global i18n updates.
projects/igniteui-angular/chips/src/chips/chip.component.ts Implements merged resource strings behavior for chip + updates on resource refresh.
projects/igniteui-angular/carousel/src/carousel/carousel.component.ts Implements merged resource strings behavior for carousel + updates on resource refresh.
projects/igniteui-angular/carousel/src/carousel/carousel.component.spec.ts Adds tests validating partial carousel resource strings merge + global i18n updates.
projects/igniteui-angular/calendar/src/calendar/shared-themes/calendar-picker/calendar-picker.component.css Style artifact update for calendar picker.
projects/igniteui-angular/calendar/src/calendar/month-picker/month-picker.component.css Style artifact update for month picker.
projects/igniteui-angular/calendar/src/calendar/calendar-base.ts Implements merged resource strings behavior for calendar base + updates locale/resource refresh flow.
projects/igniteui-angular/bottom-nav/src/bottom-nav/bottom-nav.component.css Style artifact update for bottom nav.
projects/igniteui-angular/banner/src/banner/banner.component.ts Implements merged resource strings behavior for banner + updates on resource refresh.
projects/igniteui-angular/banner/src/banner/banner.component.spec.ts Adds tests validating partial banner resource strings + global i18n behavior.
projects/igniteui-angular/banner/src/banner/banner.component.css Style artifact update for banner.
projects/igniteui-angular/badge/src/badge/badge.component.css Style artifact update for badge.
projects/igniteui-angular/avatar/src/avatar/avatar.component.css Style artifact update for avatar.
projects/igniteui-angular/action-strip/src/action-strip/action-strip.component.ts Implements merged resource strings behavior for action strip + updates on resource refresh.
projects/igniteui-angular/action-strip/src/action-strip/action-strip.component.spec.ts Adds tests validating global i18n behavior with custom/non-custom action strip resource strings.
projects/igniteui-angular/action-strip/src/action-strip/action-strip.component.css Style artifact update for action strip.
Files not reviewed (19)
  • projects/igniteui-angular/action-strip/src/action-strip/action-strip.component.css: Generated file
  • projects/igniteui-angular/avatar/src/avatar/avatar.component.css: Generated file
  • projects/igniteui-angular/badge/src/badge/badge.component.css: Generated file
  • projects/igniteui-angular/banner/src/banner/banner.component.css: Generated file
  • projects/igniteui-angular/bottom-nav/src/bottom-nav/bottom-nav.component.css: Generated file
  • projects/igniteui-angular/button-group/src/button-group/buttongroup-content.component.css: Generated file
  • projects/igniteui-angular/calendar/src/calendar/calendar.component.css: Generated file
  • projects/igniteui-angular/calendar/src/calendar/days-view/days-view.component.css: Generated file
  • projects/igniteui-angular/calendar/src/calendar/month-picker/month-picker.component.css: Generated file
  • projects/igniteui-angular/calendar/src/calendar/shared-themes/calendar-picker/calendar-picker.component.css: Generated file
  • projects/igniteui-angular/calendar/src/calendar/shared-themes/years-months/years-months.component.css: Generated file
  • projects/igniteui-angular/card/src/card/card.component.css: Generated file
  • projects/igniteui-angular/carousel/src/carousel/carousel.component.css: Generated file
  • projects/igniteui-angular/checkbox/src/checkbox/checkbox.component.css: Generated file
  • projects/igniteui-angular/chips/src/chips/chip.component.css: Generated file
  • projects/igniteui-angular/chips/src/chips/chips-area/chips-area.component.css: Generated file
  • projects/igniteui-angular/combo/src/combo/combo.component.css: Generated file
  • projects/igniteui-angular/date-picker/src/date-picker/date-picker.component.css: Generated file
  • projects/igniteui-angular/date-picker/src/date-range-picker/date-range-picker.component.css: Generated file

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

Comment thread projects/igniteui-angular/banner/src/banner/banner.component.ts
Comment thread projects/igniteui-angular/list/src/list/list.component.ts
Comment thread projects/igniteui-angular/combo/src/combo/combo.common.ts
Comment thread projects/igniteui-angular/grids/core/src/pivot-grid-dimensions.ts
@mddragnev mddragnev self-assigned this Aug 28, 2026

@mddragnev mddragnev left a comment

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.

Can you remove the commited *.component.css files?

@mddragnev mddragnev added ✅ status: verified Applies to PRs that have passed manual verification and removed ❌ status: awaiting-test PRs awaiting manual verification labels Aug 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

squash-merge Merge PR with "Squash and Merge" option 🔣 i18n version: 21.2.x ✅ status: verified Applies to PRs that have passed manual verification

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants