Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | 1x 1x 4x 1x 1x 4x 3x 3x 4x 2x 2x 4x 2x 2x 4x | import { ref } from 'vue';
interface PermissionError {
module: string;
ability: string;
message: string;
}
const permissionError = ref<PermissionError | null>(null);
const showPermissionModal = ref(false);
export function usePermissionError() {
const showError = (error: PermissionError) => {
permissionError.value = error;
showPermissionModal.value = true;
};
const hideError = () => {
showPermissionModal.value = false;
permissionError.value = null;
};
const getModuleDisplayName = (module: string) => {
const moduleNames: Record<string, string> = {
'customers': 'Customers',
'users': 'Users',
'groups': 'Groups',
'contacts': 'Contacts',
};
return moduleNames[module] || module.charAt(0).toUpperCase() + module.slice(1);
};
const getAbilityDisplayName = (ability: string) => {
const abilityNames: Record<string, string> = {
'list': 'view the list of',
'view': 'view',
'create': 'create',
'edit': 'edit',
'delete': 'delete',
};
return abilityNames[ability] || ability;
};
return {
permissionError,
showPermissionModal,
showError,
hideError,
getModuleDisplayName,
getAbilityDisplayName,
};
}
|