adding can method

This commit is contained in:
Geriano
2022-07-17 14:18:21 +07:00
parent 027d094e8f
commit a31fe7735e

View File

@@ -12,6 +12,26 @@ import { Inertia } from '@inertiajs/inertia';
const appName = window.document.getElementsByTagName('title')[0]?.innerText || 'Laravel'; const appName = window.document.getElementsByTagName('title')[0]?.innerText || 'Laravel';
const can = (abilities) => {
const { $permissions } = usePage().props.value
if (Array.isArray(abilities)) {
for (const ability of abilities) {
if (can(ability)) {
return true
}
}
} else if (typeof abilities === 'string') {
return $permissions.find(permission => permission.name === abilities) !== undefined
} else if (typeof abilities === 'number') {
return $permissions.find(permission => permission.id === abilities) !== undefined
} else {
return false
}
}
window.can = can
createInertiaApp({ createInertiaApp({
title: (title) => `${title} - ${appName}`, title: (title) => `${title} - ${appName}`,
resolve: (name) => resolvePageComponent(`./Pages/${name}.vue`, import.meta.glob('./Pages/**/*.vue')), resolve: (name) => resolvePageComponent(`./Pages/${name}.vue`, import.meta.glob('./Pages/**/*.vue')),
@@ -21,6 +41,7 @@ createInertiaApp({
.use(ZiggyVue, Ziggy) .use(ZiggyVue, Ziggy)
.mixin({ .mixin({
methods: { methods: {
can,
themes: () => Themes, themes: () => Themes,
}, },
}) })