Skip to content

Add deadlines to Calendar Tab - #69559

Merged
bbovenzi merged 8 commits into
apache:mainfrom
imrichardwu:feat/calendar
Jul 13, 2026
Merged

bbovenzi merged 8 commits into
apache:mainfrom
imrichardwu:feat/calendar

Conversation

@imrichardwu

@imrichardwu imrichardwu commented Jul 7, 2026 •

Copy link
Copy Markdown
Contributor

Add pending and missed deadline indicators to the Calendar view. The Calendar view previously had no way to see whether a Dag's deadlines were being met.

Screenshot 2026-07-09 at 8 56 51 PM
Was generative AI tooling used to co-author this PR?
  • Yes (please specify the tool below)

  • Read the Pull Request Guidelines for more information. Note: commit author/co-author name and email in commits become permanently public when merged.
  • For fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
  • When adding dependency, check compliance with the ASF 3rd Party License Policy.
  • For significant user-facing changes create newsfragment: {pr_number}.significant.rst, in airflow-core/newsfragments. You can add this file in a follow-up commit after the PR is created so you know the PR number.

Important

🛠️ Maintainer triage note for @imrichardwu · by @potiuk · 2026-07-08 15:38 UTC

Helpful heads-up from the maintainers — please address before this PR can be reviewed:

  • Pre-commit / static checks failing (CI image checks / Static checks, CI image checks / Static checks). See the contributor guide.

Full criteria: Pull Request quality criteria.

The ball is in your court — you've been assigned to this PR. Fix the above, then mark it Ready for review.

Automated triage — may be imperfect; a maintainer takes the next look.

- Added support for displaying deadlines in the calendar view, including missed and pending deadlines.
- Updated Calendar components to fetch and display deadline data from the new API endpoint.
- Introduced visual indicators for deadlines in Calendar cells and tooltips.
- Enhanced CalendarLegend to show deadline status and counts.
- Refactored calendar utility functions to handle deadline data aggregation.

This update improves user visibility into task deadlines within the DAG calendar interface.
- Moved the LegendIcon component from CalendarLegend.tsx to a new file LegendIcon.tsx for better modularity and readability.
- Updated CalendarLegend to import and utilize the new LegendIcon component, streamlining the code structure.
- The LegendIcon component handles rendering of color indicators for calendar items, supporting both mixed and single color states.

This refactor enhances maintainability and clarity in the Calendar UI components.
@boring-cyborg boring-cyborg Bot added area:translations area:UI Related to UI/UX. For Frontend Developers. translation:default labels Jul 7, 2026
@imrichardwu imrichardwu changed the title Feat/calendar Deadline > Calendar Jul 7, 2026
@imrichardwu imrichardwu changed the title Deadline > Calendar Deadlines > Calendar Jul 7, 2026
@imrichardwu
imrichardwu marked this pull request as draft July 8, 2026 05:29
@imrichardwu
imrichardwu marked this pull request as ready for review July 8, 2026 05:29

@bbovenzi bbovenzi 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.

I think the small orange/red dot is hard to read especially on a red calendar square. What if we used an icon instead? Kind of like how we have icons in the grid view. Then we also don't need to hardcode red.500 and orange.400

- Removed the "Deadlines" label from the i18n JSON file to streamline translations.
- Updated CalendarCell to use icons for missed and pending deadlines instead of colored dots, improving visual clarity.
- Modified CalendarLegend and CalendarTooltip to reflect the new icon-based representation for deadline statuses.
- Introduced a new utility function to build a deadline date map, enhancing the handling of deadline data in the calendar.
- Updated datetime utility functions to support consistent date formatting across the calendar components.
@bbovenzi bbovenzi changed the title Deadlines > Calendar Add deadlines to Calendar Tab Jul 8, 2026
@bbovenzi

bbovenzi commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Let's remove the absolute corner positioning. We can have the icon be larger and centered in the calendar square. It can also just be the regular fg color no need for blue or red lines.

@imrichardwu
imrichardwu marked this pull request as draft July 8, 2026 21:32
@imrichardwu
imrichardwu marked this pull request as ready for review July 9, 2026 01:32
@imrichardwu
imrichardwu requested a review from bbovenzi July 9, 2026 01:32
@bbovenzi

bbovenzi commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Great. Let's just get rid of the colors of the upcoming and missed icons now in the legend and tooltip.

@imrichardwu

imrichardwu commented Jul 9, 2026 •

Copy link
Copy Markdown
Contributor Author

Great. Let's just get rid of the colors of the upcoming and missed icons now in the legend and tooltip.

So we only want the warning on the heat map? If so any reason why? I’m just curious as I’m trying to improve my ui/ux.

@bbovenzi

bbovenzi commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

No I mean that the icons themselves are blue and pink. That isn't necessary, and is hard to read on the white background.

Now when to show either icons. I think we can have a priority list like we do for task groups:

  • 0 missed deadlines, 1+ upcoming deadlines: show the clock icon
  • 1+ missed deadlines, 1+ upcoming deadlines: show the warning icon

@potiuk potiuk added the ready for maintainer review Set by triage when all criteria pass, or by the fork CI reconciler when fork CI is green. label Jul 11, 2026
@bbovenzi bbovenzi added this to the Airflow 3.4.0 milestone Jul 13, 2026
@bbovenzi
bbovenzi merged commit 5271c99 into apache:main Jul 13, 2026
88 checks passed
@imrichardwu
imrichardwu deleted the feat/calendar branch July 13, 2026 14:43
joshuabvarghese pushed a commit to joshuabvarghese/airflow that referenced this pull request Jul 16, 2026
* Enhance Calendar UI with Deadline Features

- Added support for displaying deadlines in the calendar view, including missed and pending deadlines.
- Updated Calendar components to fetch and display deadline data from the new API endpoint.
- Introduced visual indicators for deadlines in Calendar cells and tooltips.
- Enhanced CalendarLegend to show deadline status and counts.
- Refactored calendar utility functions to handle deadline data aggregation.

This update improves user visibility into task deadlines within the DAG calendar interface.

* Refactor Calendar Legend Component and Extract LegendIcon

- Moved the LegendIcon component from CalendarLegend.tsx to a new file LegendIcon.tsx for better modularity and readability.
- Updated CalendarLegend to import and utilize the new LegendIcon component, streamlining the code structure.
- The LegendIcon component handles rendering of color indicators for calendar items, supporting both mixed and single color states.

This refactor enhances maintainability and clarity in the Calendar UI components.

* Refactor Calendar Components and Enhance Deadline Indicators

- Removed the "Deadlines" label from the i18n JSON file to streamline translations.
- Updated CalendarCell to use icons for missed and pending deadlines instead of colored dots, improving visual clarity.
- Modified CalendarLegend and CalendarTooltip to reflect the new icon-based representation for deadline statuses.
- Introduced a new utility function to build a deadline date map, enhancing the handling of deadline data in the calendar.
- Updated datetime utility functions to support consistent date formatting across the calendar components.

* Updated the styling of the deadline indicator and adjusted properties

* Refactor Calendar Components to Remove Color Properties
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:translations area:UI Related to UI/UX. For Frontend Developers. ready for maintainer review Set by triage when all criteria pass, or by the fork CI reconciler when fork CI is green. translation:default

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants