Skip to content

useTableNames ​

Provides all translated title strings for a data table — the table header, form titles, delete dialog text, and subtitle — derived from the module name and the current i18n locale.

File: vue/src/js/hooks/table/useTableNames.js


Props Factory ​

js
import { makeTableNamesProps } from '@/hooks/table/useTableNames'
PropTypeDefaultDescription
nameString—Module name (snake_case), drives i18n key resolution
moduleNameString—Override the permission module name
routeNameString—Override the route name used for i18n
customTitleString—Override the table header title (raw string, not translated)
titlePrefixString''Prefix prepended to the table title
titleKeyString'name'Item property used as the item name in dialog text
subtitleString''Table subtitle (translation key)
formTitleString—Override both create and edit form titles
formCreateTitleTranslationKeyString'fields.new-item'i18n key for the create form title
formEditTitleTranslationKeyString'fields.edit-item'i18n key for the edit form title
createFormTitleString—Override the create form title translation key
editFormTitleString—Override the edit form title translation key
formSubtitleString—Form subtitle (translation key)
formCreateSubtitleString—Override for create-mode form subtitle
formEditSubtitleString—Override for edit-mode form subtitle

Usage ​

js
import useTableNames, { makeTableNamesProps } from '@/hooks/table/useTableNames'

const {
  tableTitle,
  tableSubtitle,
  formTitle,
  formSubtitle,
  transNameSingular,
  transNamePlural,
  deleteQuestion,
  deleteDialogTitle,
  deleteDialogDescription,
} = useTableNames(props, context)

Returns ​

NameTypeDescription
snakeNameComputedRef<String>Module name in snake_case
permissionNameComputedRef<String>Permission module name used in can() calls
transNameSingularComputedRef<String>Translated singular module name (e.g. 'User')
transNamePluralComputedRef<String>Translated plural module name (e.g. 'Users')
transNameCountableComputedRef<String>Pluralized name with count (e.g. '2 Users')
tableTitleComputedRef<String>Table header title
tableSubtitleComputedRef<String>Table subtitle
formTitleComputedRef<String>Create or edit form title (switches based on editedIndex)
formSubtitleComputedRef<String>Create or edit form subtitle
deleteQuestionComputedRef<String>Confirmation question for delete dialog
deleteDialogTitleComputedRef<String>Title for the delete confirmation dialog
deleteDialogDescriptionComputedRef<String>Description text for the delete confirmation dialog

Notes ​

  • deleteQuestion, deleteDialogTitle, and deleteDialogDescription use the item's titleKey property (default 'name') as the item label in the dialog text.
  • For localized string values (e.g. { en: 'Product', tr: 'Ürün' }), the current user locale is used to extract the display string.
  • If a soft-deletable item (deleted_at set) is being deleted, the dialog uses confirm-soft-deletion keys instead of confirm-deletion.

See Also ​

  • useModule — underlying i18n name resolution
  • useTableItem — provides isSoftDeletableItem used in dialog text selection