Skip to content

Conversation

marlonnienaber
Copy link
Contributor

@marlonnienaber marlonnienaber commented Sep 24, 2025

Checklist

General

Client

  • I strictly followed the client coding and design guidelines.
  • Following the theming guidelines, I specified colors only in the theming variable files and checked that the changes look consistent in both the light and the dark theme.
  • I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
  • I added multiple screenshots/screencasts of my UI changes.

Motivation and Context

I initially implemented the calendar feature using a few bootstrap components. To improve UI/UX we want to use PrimeNG components in the future.

Description

This PR replaces all Bootstrap components used in the calendar feature with PrimeNG components. I mainly replaced controls (such as buttons) and popovers. I also adapted the tests to work with the new setup.

Steps for Testing

  1. Choose either mobile phone or laptop as testing device and check the option below. Please choose an option that was not yet tested.
  2. Visit this calendar.
  3. Verify that all functionality still works (test in particular all controls. Test whether events are clickable in both presentations for the laptop and in the day presentation for mobile phone)

Testserver States

You can manage test servers using Helios. Check environment statuses in the environment list. To deploy to a test server, go to the CI/CD page, find your PR or branch, and trigger the deployment.

Review Progress

Code Review

  • Code Review 1
  • Code Review 2

Manual Tests

  • Test 1 (mobile phone)
  • Test 2 (laptop)

Test Coverage

Client

Class/File Line Coverage Confirmation (assert/expect)
calendar-desktop-month-presentation.component.ts 100%
calendar-desktop-overview.component.ts 96.84%
calendar-desktop-week-presentation.component.ts 100%
calendar-mobile-day-presentation.component.ts 100%
calendar-mobile-overview.component.ts 92.95%
calendar-event-detail-popover.component.ts 100%
calendar-events-per-day-section.component.ts 95.71%
calendar-util.ts 100%

Screenshots

image Test Course Marlon Nienaber

Summary by CodeRabbit

  • New Features

    • New event detail popover with explicit open/close behavior and richer event details.
    • Desktop: multi-select event filters and compact presentation selector.
    • Mobile: popover-based filter panel, toggleable filter options, and streamlined header controls.
  • Refactor

    • Simplified calendar interaction model and reactive state handling for presentations and filters.
  • Style

    • Updated theme primary palette and refreshed chip/header/popover styling.
  • Chores

    • Slightly relaxed client module coverage thresholds.

@github-project-automation github-project-automation bot moved this to Work In Progress in Artemis Development Sep 24, 2025
@github-actions github-actions bot added client Pull requests that update TypeScript code. (Added Automatically!) core Pull requests that affect the corresponding module labels Sep 24, 2025
@helios-aet helios-aet bot temporarily deployed to artemis-test3.artemis.cit.tum.de September 24, 2025 18:31 Inactive
@helios-aet helios-aet bot temporarily deployed to artemis-test3.artemis.cit.tum.de September 24, 2025 19:23 Inactive
@helios-aet helios-aet bot temporarily deployed to artemis-test3.artemis.cit.tum.de September 24, 2025 19:51 Inactive
@marlonnienaber marlonnienaber changed the title General: Replace Bootstrap controls with PrimeNG controls in calendar General: Replace Bootstrap components with PrimeNG components in calendar Sep 28, 2025
@helios-aet helios-aet bot temporarily deployed to artemis-test3.artemis.cit.tum.de September 28, 2025 20:28 Inactive
@helios-aet helios-aet bot temporarily deployed to artemis-test3.artemis.cit.tum.de September 29, 2025 10:34 Inactive
@helios-aet helios-aet bot temporarily deployed to artemis-test2.artemis.cit.tum.de September 29, 2025 11:09 Inactive
@ls1intum ls1intum deleted a comment from github-actions bot Oct 1, 2025
@ls1intum ls1intum deleted a comment from github-actions bot Oct 1, 2025
@ls1intum ls1intum deleted a comment from github-actions bot Oct 1, 2025
@ls1intum ls1intum deleted a comment from github-actions bot Oct 1, 2025
@ls1intum ls1intum deleted a comment from github-actions bot Oct 1, 2025
Copy link

github-actions bot commented Oct 2, 2025

End-to-End (E2E) Test Results Summary

TestsPassed ✅SkippedFailedTime ⏱
End-to-End (E2E) Test Report1 ran1 passed0 skipped0 failed1s 505ms
TestResultTime ⏱
No test annotations available

Yhmidi
Yhmidi previously approved these changes Oct 2, 2025
Copy link
Contributor

@Yhmidi Yhmidi left a comment

Choose a reason for hiding this comment

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

test on laptop re-approved

Copy link

github-actions bot commented Oct 2, 2025

End-to-End (E2E) Test Results Summary

TestsPassed ☑️Skipped ⚠️Failed ❌️Time ⏱
End-to-End (E2E) Test Report205 ran200 passed3 skipped2 failed1h 14m 47s 673ms
TestResultTime ⏱
End-to-End (E2E) Test Report
e2e/exercise/quiz-exercise/QuizExerciseManagement.spec.ts
ts.Quiz Exercise Management › Quiz Exercise Creation › Creates a Quiz with Drag and Drop❌ failure2m 4s 549ms
e2e/exercise/programming/ProgrammingExerciseStaticCodeAnalysis.spec.ts
ts.Static code analysis tests › Configures SCA grading and makes a successful submission with SCA errors❌ failure2m 38s 270ms

@helios-aet helios-aet bot temporarily deployed to artemis-test3.artemis.cit.tum.de October 2, 2025 17:59 Inactive
tobias-lippert
tobias-lippert previously approved these changes Oct 2, 2025
Copy link
Contributor

@tobias-lippert tobias-lippert left a comment

Choose a reason for hiding this comment

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

code lgtm

Copy link
Contributor

@SamuelRoettgermann SamuelRoettgermann left a comment

Choose a reason for hiding this comment

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

Re-Tested on mobile. Still works.

ekayandan
ekayandan previously approved these changes Oct 2, 2025
Copy link
Contributor

@ekayandan ekayandan left a comment

Choose a reason for hiding this comment

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

Approving code. Thanks for the changes!

Copy link
Contributor

@ekayandan ekayandan left a comment

Choose a reason for hiding this comment

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

Reapprove after fixing merge conflicts

@krusche krusche changed the title General: Replace Bootstrap components with PrimeNG components in calendar Development: Replace bootstrap components with primeng components in calendar Oct 3, 2025
@krusche krusche changed the title Development: Replace bootstrap components with primeng components in calendar Development: Replace bootstrap components with primeng in calendar Oct 3, 2025
@krusche krusche added this to the 8.4.1 milestone Oct 3, 2025
@krusche krusche merged commit a439593 into develop Oct 3, 2025
25 of 31 checks passed
@krusche krusche deleted the chore/general/replace-bootstrap-with-primeng-in-calendar branch October 3, 2025 19:38
@github-project-automation github-project-automation bot moved this from Ready For Review to Merged in Artemis Development Oct 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client Pull requests that update TypeScript code. (Added Automatically!) core Pull requests that affect the corresponding module ready for review ready to merge
Projects
Status: Merged
Development

Successfully merging this pull request may close these issues.

7 participants