feat(delegate): popup dialog + list polish (D3+D5+D6+D7+D8)#35
Merged
Conversation
- D3: convert DelegateEditView to dialog (pattern I.2 user edit) - D5: add type icons to Receiver and Resource columns on the list (lookup normalizes lowercase enum values from the backend) - D6+D8: fuse Type and Resource columns into one — the type becomes the row's leading icon - D7: add Admin/Write checkbox tooltips with i18n texts recovered from the legacy plugin-id Also: rename DelegateEditView → DelegateEditDialog, drop the now-unused /id/delegate/new and /id/delegate/:id routes, align the actions column width on the existing Groups/Users/Companies views (120 px, center).
|
|
Terracosmos
added a commit
that referenced
this pull request
May 27, 2026
- D1: align action gears (UserListView column actions -> align: end, row gear sized x-small to match the table tools gear in the header). Status column header centered above the lock icons. - D2: bold+red name in all sensitive confirmations (lock/unlock/isolate/restore/resetPassword + delete) across UserListView, UserEditDialog (in-popup action menu) and GroupMembersView, using the LigojConfirmDialog default slot. Bulk-delete count also rendered bold+red via two plugin-local fragments. CompanyEditView and GroupEditView already follow the pattern, no-op there. - D4: emails as a list (v-chip in UserListView + v-combobox multiple in UserEditDialog). Fixes a latent bug where editing a user with multiple emails would drop all but the first at save time. Note: the equivalent upgrade on DelegateEditDialog (introduced by PR #35) is intentionally deferred to a follow-up mini-commit once #35 has merged, to keep the two PRs independent.
4 tasks
Terracosmos
added a commit
that referenced
this pull request
May 27, 2026
Both delete dialogs of the Delegate screen now render the receiver name in <strong class="text-error"> via the LigojConfirmDialog default slot, matching the pattern of PR #39 for User / Company / Group / GroupMembers: - DelegateListView: the trash-icon dialog from each row (inline <v-dialog> converted to LigojConfirmDialog + slot) - DelegateEditDialog: the "Delete" button inside the edit popup (existing LigojConfirmDialog with :message= switched to the slot) The host's monolithic delegate.deleteConfirm key stays intact; two plugin-local fragments (delegate.deleteConfirmBefore/After) are added in FR + EN to wrap the name. Mini-commit deliberately split from PR #39 because the Delegate dialog files did not exist on feature/vuejs until PR #35 was merged. Closes #37
4 tasks
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.



Contexte
Refonte de l'écran Délégué :
Détail des changements
Composable partagé (prérequis D5)
ui/src/composables/delegateTypes.js—TYPE_ICONS,RECEIVER_TYPES,RESOURCE_TYPES, helperuseTypeIcon. Source unique de vérité partagée entre la dialog et la liste.Dialog (D3 + D7)
DelegateEditView.vue→DelegateEditDialog.vue<v-dialog>+<v-card>, reprend le pattern deUserEditDialog:defineProps({ modelValue: Boolean, delegateId: [Number, String] })defineEmits(['update:modelValue', 'saved'])useRoute()/useRouter()remplacés parprops.delegateId+ emitsonMountedremplacé parwatch(props.modelValue)→loadOnOpen()requestClose/onDialogModel/pendingClose)appStore.setBreadcrumbssupprimésnormalizeEntity,nextTickau load.v-tooltipdans le#labelslot desv-checkbox.Liste (D3 wiring + D5 + D6 + D8)
editDialog/editDelegateId+openDialog())#item.receiveret#item.namerendent l'icône type + libellé#item.type+ helpertypeColorsupprimés?.toUpperCase()sur le lookup TYPE_ICONS (le backend renvoie certaines valeurs en minuscules)Routes
/id/delegate/newet/id/delegate/:idsupprimées (remplacées par la dialog),/id/delegateconservéei18n
delegate.admin,delegate.write,delegate.adminHelp,delegate.writeHelp(FR + EN) — textes longs récupérés du plugin-id legacyTest plan
npm run build→ 28 modules, 117 kB JSvitest run→ 14/14mvn install -DskipTests→ BUILD SUCCESS