Hi,
When the first day of the week is changed dynamically through a custom IntlService, the Calendar weekday headers are updated, but the date cells are not repositioned. (The first day is changed as described in your guide: https://www.telerik.com/kendo-angular-ui/components/knowledge-base/calendar-first-day )
Reproduction (forked from your example): https://stackblitz.com/edit/angular-tqvypgwg
Click on "Set first day to Monday ": the weekday headers are updated to start with Monday, but the date cells remain in their previous positions.
Best regards,
Michael
Hi Michael,
Thank you for the provided details.
In short, you need to import the MonthViewService in the providers array.
https://stackblitz.com/edit/angular-tqvypgwg-v5czbzw8
providers: [
{ provide: IntlService, useClass: DynamicFirstDayIntlService },
MonthViewService // ← new local instance, wired to your IntlService
]The Kendo Angular Calendar is built from two separate parts:
- The header row (Mon, Tue, Wed…) — rendered directly by the calendar component.
- The date grid (the numbered cells) — generated by an internal MonthViewService.
When you call notify() on the IntlService, both parts listen and try to update. The header row works correctly because it calls intlService.firstDay() directly from the component.
The date grid, however, relies on MonthViewService — that service is a singleton shared across the entire app (providedIn: 'root'). It was created once at startup and got wired to the default IntlService, not your custom one. So no matter what your custom service returned, the date grid kept asking the wrong service — and always got the same answer.
Please bear in mind that the MonthViewService is an internal API (not publicly exposed in the documentation) but exported from the package so that it can be used in such situations. The problem with using such internal properties is that they can silently introduce breaking changes without notice. FYI, we don't have future plans to change how the MonthViewService works.
Please try it out and let me know how it goes.
Regards,
Martin Bechev
Progress Telerik
Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.