feat(plugin-id/ui): convert user create/edit to a dialog#32
Merged
fdaugan merged 1 commit intoMay 22, 2026
Merged
Conversation
ea49113 to
1dc0c57
Compare
Per Fabrice's review (chantier I.2): the user create/edit screen is no longer a routed page but a popup, mirroring the Roles screen. - Extract the former UserEditView form into UserEditDialog.vue, a v-dialog component (props modelValue + userId, emits saved). It is hosted by UserListView and opened from the "New user" button and the row gear menu's Edit action; clicking a row also opens it. - Remove the per-entity routes /id/user/new and /id/user/:id (Option A, mirroring the Roles screen which has no per-entity route). - Adapt the unsaved-changes guard: useFormGuard's onBeforeRouteLeave is inert without a route change, so the dialog binds model-value one-way and intercepts every close (Cancel / Esc / scrim) through requestClose, which raises the existing guard dialog when the form is dirty. - Rearrange the lock/isolate/reset actions inside the dialog as a compact bordered list, consistent with the row gear menu. - Preload the Groups dropdown's first page of options when it opens, in edit mode as well as create, so the user always sees a list to pick from without typing; already-assigned groups are merged in so their chips keep rendering.
1dc0c57 to
ed7aa81
Compare
|
|
9a7f91c
into
norman/feat-user-list-actions-menu
4 of 5 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



second of two sub-PRs reworking the user management UX. Stacked on PR I.1 (norman/feat-user-list-actions-menu).
Change
The user create/edit screen is no longer a routed page — it is now a
popup (v-dialog), mirroring the Roles admin screen (SystemRoleView.vue).
Details
v-dialog component (props: modelValue + userId, emits: saved). It is
hosted by UserListView and opened from the "New user" button and the
row gear menu's Edit action; clicking a row also opens it.
(Option A): user editing has no dedicated URL, consistent with the
Roles screen.
inert without a route change, so the dialog intercepts every close
(Cancel / Esc / scrim) via requestClose, which raises the existing
guard dialog when the form is dirty.
as a compact bordered list.
Tested
Validated on a fresh Chrome (empty cache, via Playwright):
Stacked PR
Base branch is norman/feat-user-list-actions-menu (PR I.1). Once I.1 is
merged into feature/vuejs, GitHub will let this PR's base be retargeted
to feature/vuejs.
Note — host repo (out of scope)
app-ui/e2e/users.spec.js (host repo) tests the old routed flow
(#/id/user/new, #/id/user/:id). Those routes are removed here, so those
host-side e2e tests will need updating to the dialog flow.