Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lectures: Replace guided mode with status bar edit and create view #9655

Merged
merged 146 commits into from
Jan 5, 2025

Conversation

florian-glombik
Copy link
Contributor

@florian-glombik florian-glombik commented Nov 2, 2024

Checklist

General

Client

  • I strictly followed the client coding and design guidelines.
  • 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.
  • I translated all newly inserted strings into English and German.

Motivation and Context

We do currently have the guided mode for the creation of lectures, however, we consider the approach used for the creation of exercises (status bar that allows you to scroll to sections and displays the current state of these sections) as more user friendly than the current guided mode.

Description

  • Introduce the status bar to the lecture create + edit view
  • Remove the current guided mode
  • Introduce signals and remove code smells
  • Renamed previously named "wizard components" and replaced them in folder structure

Steps for Testing

Prerequisites:

  • 1 Instructor
  1. Create a new Lecture
  2. Verify that no guided mode is offered anymore (no button in the upper right corner of the view)
  3. Verify that the title and period section are offered
  4. Fill out the sections and save the lecture
  5. Verify that you are forwarded to the lecture edit page, but now attachments and units sections are available
  6. Make changes to the attachments and units section
  7. Verify that all changes have been saved
  8. Verify that in edit mode the save button is enabled if there is a change made to title or period section (attachment / unit section changes are saved directly)

Testserver States

Note

These badges show the state of the test servers.
Green = Currently available, Red = Currently locked
Click on the badges to get to the test servers.







Review Progress

Performance Review

Code Review

  • Code Review 1
  • Code Review 2

Manual Tests

  • Test 1
  • Test 2

Test Coverage

Class/File Line Coverage Confirmation (assert/expect)
hasLectureUnsavedChanges.guard.ts 100%
lecture-attachments.component.ts 97.2%
lecture-unit-management.component.ts 89.47%
lecture-update.component.ts 92.24%
lecture.service.ts 97.08%

Screenshots

new version (status bar instead of guided mode)

addStatusBar

old version

guidedModeEditNotAllSections

Summary by CodeRabbit

Release Notes

  • New Features

    • Introduced a streamlined lecture update process, enhancing form handling and state management.
    • Added new methods for ingesting lectures and retrieving ingestion states within the lecture service.
    • Updated localization files to improve user interface clarity and functionality for editing lectures.
  • Bug Fixes

    • Improved error handling and robustness in various components, including lecture unit management and attachment handling.
  • Refactor

    • Simplified component structures and removed unnecessary wizard mode logic for a more straightforward user experience.
    • Enhanced the Attachment class by removing an empty constructor to simplify the class definition.
    • Updated component properties and methods to utilize Angular's dependency injection more effectively.
  • Chores

    • Removed deprecated components and associated tests to clean up the codebase.
    • Updated import paths and component references to reflect new directory structures.

@florian-glombik florian-glombik self-assigned this Nov 2, 2024
@github-actions github-actions bot added tests client Pull requests that update TypeScript code. (Added Automatically!) labels Nov 2, 2024
@florian-glombik florian-glombik added lecture Pull requests that affect the corresponding module and removed tests client Pull requests that update TypeScript code. (Added Automatically!) labels Nov 2, 2024
HawKhiem
HawKhiem previously approved these changes Dec 31, 2024
Copy link

@HawKhiem HawKhiem left a comment

Choose a reason for hiding this comment

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

Tested on TS3. Everything works as described

@krusche krusche modified the milestones: 7.8.1, 7.8.2 Jan 4, 2025
@Feras797 Feras797 temporarily deployed to artemis-test3.artemis.cit.tum.de January 4, 2025 13:39 — with GitHub Actions Inactive
Feras797
Feras797 previously approved these changes Jan 4, 2025
Copy link

@Feras797 Feras797 left a comment

Choose a reason for hiding this comment

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

tested on ts3, everything works as described. 👍

Cathy0123456789
Cathy0123456789 previously approved these changes Jan 4, 2025
Copy link

@Cathy0123456789 Cathy0123456789 left a comment

Choose a reason for hiding this comment

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

Tested on TS3. Works as expected

krusche
krusche previously approved these changes Jan 5, 2025
Copy link
Member

@krusche krusche left a comment

Choose a reason for hiding this comment

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

code looks good to me 👍

@krusche krusche added ready to merge maintainer-approved The feature maintainer has approved the PR labels Jan 5, 2025
@krusche krusche merged commit 3448c73 into develop Jan 5, 2025
17 of 20 checks passed
@krusche krusche deleted the feature/lectures/add-status-bar branch January 5, 2025 21:28
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!) feature maintainer-approved The feature maintainer has approved the PR playwright ready for review ready to merge tests
Projects
Status: Merged
Development

Successfully merging this pull request may close these issues.

9 participants