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

Add unsaved changes warning in event details #1081

Open
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

Arnei
Copy link
Member

@Arnei Arnei commented Jan 21, 2025

Adds a confirmation modal that warns about unsaved changes to the following tabs of the event details:
Metadata,
Extended Metadata,
Scheduling (for scheduled events),
Workflows (for scheduled events).
Thereby this fixes #982.

Includes #1046, because I was expecting this to be tightly related to modals and did not want to write it twice. The general coding approach would be the same though.

Speaking of approach, I would like feedback on if this makes for a good approach, or if there are better alternatives I've missed. If people agree with this approach it could then be extended to other modals (e.g. series) as well.

Possible future improvements (for another PR?): Currently you are only warned about unsaved changes if you try to close the modal. However, changes are also lost if you switch between tabs (e.g. from Metadata to Assets). Maybe there should be a warning there as well?

How to test this

Can be tested as usual. Make sure the warning only appears if you actually made changes.

Arnei added 7 commits January 8, 2025 17:46
Introduces a generic modal component and
replaces existing modal code with the new
component. This intention here is to reduce
code duplication and to make future generic
changes to modals (i.e. focus trapping) easier.
The introduction of the new modal component
broke the confirmation modal that appeared
when you had unsaved changes in your events
or series details access policy tab. Should now
be restored.
Adds a confirmation modal that warns about unsaved changes
to the following tabs of the event details:
Metadata,
Extended Metadata,
Scheduling (for scheduled events),
Workflows (for scheduled events).
Thereby this fixes opencast#982.

Includes opencast#1046, because I was expecting this to be tightly related to
modals and did not want to write it twice. The general coding
approach would be the same though.

Speaking of approach, I would like feedback on if this makes
for a good approach, or if there are better alternatives I've
missed. If people agree with this approach it could then be
extended to other modals (e.g. series) as well.
@Arnei Arnei added the type:bug Something isn't working label Jan 21, 2025
Copy link
Contributor

Use docker or podman to test this pull request locally.

Run test server using develop.opencast.org as backend:

podman run --rm -it -p 127.0.0.1:3000:3000 ghcr.io/opencast/opencast-admin-interface:pr-1081

Specify a different backend like stable.opencast.org:

podman run --rm -it -p 127.0.0.1:3000:3000 -e PROXY_TARGET=https://stable.opencast.org ghcr.io/opencast/opencast-admin-interface:pr-1081

It may take a few seconds for the interface to spin up.
It will then be available at http://127.0.0.1:3000.
For more options you can pass on to the proxy, take a look at the README.md.

Copy link
Contributor

github-actions bot commented Jan 21, 2025

This pull request is deployed at test.admin-interface.opencast.org/1081/2025-01-23_15-56-50/ .
It might take a few minutes for it to become available.

Copy link
Contributor

This pull request has conflicts ☹
Please resolve those so we can review the pull request.
Thanks.

Copy link
Contributor

This pull request has conflicts ☹
Please resolve those so we can review the pull request.
Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

UI should prompt user if you change workflow parameters and leave without saving
1 participant