Skip to content

feat(plugin-id/ui): highlight entity name in delete confirmation dialogs#27

Merged
fdaugan merged 1 commit into
feature/vuejsfrom
norman/feat-delete-confirm-bold-name
May 19, 2026
Merged

feat(plugin-id/ui): highlight entity name in delete confirmation dialogs#27
fdaugan merged 1 commit into
feature/vuejsfrom
norman/feat-delete-confirm-bold-name

Conversation

@Terracosmos
Copy link
Copy Markdown
Collaborator

Highlight entity names (bold + error color) in the "Confirm delete"
dialogs across plugin-id, so users can quickly verify what they're
about to delete (per Fabrice's review of 18 mai 13:30).

Scope

Covers all 6 confirm-delete dialogs in plugin-id:

  • 3 EditViews : User/Group/CompanyEditView (Delete button in form)
  • 3 ListViews : User/Group/CompanyListView (delete action on row)

Bulk-delete dialogs are not affected (they show a count, not a name).

Implementation

Split the i18n message into two halves (Before/After the name) and
render the entity name as <strong class="text-error"> in the
template — keeps i18n strings free of HTML markup.

Plugin-local i18n

New pattern: the plugin now ships its own translations in
ui/src/i18n/{en,fr}.js, merged into the host i18n store via
useI18nStore().merge(messages, locale) in the plugin's install()
function. This avoids cross-repo coupling (no host PR needed for
plugin-local i18n).

The legacy *.deleteConfirm keys are kept untouched in the host
i18n in case other consumers still reference them.

Files

9 files, +35/-6 :

  • ui/src/i18n/en.js (new — 6 keys)
  • ui/src/i18n/fr.js (new — 6 keys)
  • ui/src/index.js (import + merge in install())
  • 6 views (3 Edit + 3 List)

Tested

Visual validation FR + EN on the 6 dialogs : name appears in red bold,
no regression on other dialogs.

Per Fabrice's review (18 mai 13h30): make the entity name stand out
(bold + error color) in the "Confirm delete" dialogs for user, group
and company, so the user can quickly verify what they're about to
delete.

Covers both the single-entity edit views (User/Group/CompanyEditView)
and the row-level delete dialogs in the list views (User/Group/
CompanyListView). Bulk-delete dialogs are not touched — they show a
count, not a name.

Implementation: split the i18n message into two halves (before/after
the name) and render the name as a styled <strong class="text-error">
span in the template. Keeps i18n strings free of HTML markup.

Plugin-local translations live under ui/src/i18n/{en,fr}.js and are
merged into the host i18n store from the plugin's install() hook via
useI18nStore().merge() — same pattern documented in the host store.
The original *.deleteConfirm keys remain in the host translations
(unused after this change, left for any external consumer).
@Terracosmos Terracosmos requested a review from fdaugan May 19, 2026 12:17
@sonarqubecloud
Copy link
Copy Markdown

@sonarqubecloud
Copy link
Copy Markdown

@fdaugan fdaugan merged commit b2a3a98 into feature/vuejs May 19, 2026
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants