-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Replace Copy Dataset Mako with Vue Component #17507
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
Replace Copy Dataset Mako with Vue Component #17507
Conversation
|
It is still by far the fastest way to copy multiple datasets. Admittedly I didn't even know it was still reachable in the UI (the cog wheel options are really not that intuitive). Can we merge this after the 24.0 branch and then make sure there's some kind of replacement (maybe through the side-by-side history view) ? |
16484da to
cfa2f98
Compare
cfa2f98 to
c1dab96
Compare
c1dab96 to
d7f2298
Compare
d7f2298 to
997d1b5
Compare
|
@mvdbeek we do have a replacement for this feature now, users can select multiple files in the history and drag/drop them into another history using the multi history view interface thx to @ahmedhamidawan. |
|
Not only is it still the fastest way as @mvdbeek points out, but I'm also still using this a lot in daily work. I'm not opposed to removing the mako page, but then we need to make sure we have 100% of its functionality available elsewhere. |
92c01e1 to
422b457
Compare
205dce6 to
174e2fa
Compare
|
API looks solid to me - thanks for migrating the selenium tests and rebasing on the vitest work. |
This PR replaces the legacy Mako-based copy-history-items flow with a FastAPI endpoint and a Vue3 component, preserving functionality one hundred percent. The former controller logic is moved into a single POST /api/datasets/copy endpoint backed by a Pydantic payload and response model, removing unused parameters (do_copy, target_history_id, message fields, refresh frames) and switching errors to standard API exceptions. The dataset and collection copy logic is unchanged and now resides in DatasetManager.copy_datasets, supporting multi-target copies and optional new-history creation exactly as before. The Vue component replaces the Mako form, sends JSON payloads, and reconstructs the success message client-side while maintaining the same behavior as previously.
How to test the changes?
(Select all options that apply)
License