tambah menu sideBarMenu , middleware definepagemeta
This commit is contained in:
@@ -1,47 +1,52 @@
|
||||
import { useHakAksesStore } from '@/stores/sidebarMenuAkses/useMenuAksesStore'
|
||||
import { mergeSidebar, mergeSidebarIcon } from '~/composables/sidebarMenu/mergeSidebar';
|
||||
import { mergeSidebar, mergeSidebarIcon } from '~/utils/sidebarMenu/mergeSidebar';
|
||||
import sidebarRole from "@/stores/rolePages"; // data dummy
|
||||
import sidebarItems from '~/components/layout/full/vertical-sidebar/sidebarItem'; //sidebar static dari template
|
||||
import MiniSideIcons from '~/components/layout/full/vertical-sidebar/MinIconItems';
|
||||
|
||||
|
||||
export function useSidebarAccess(data: any) {
|
||||
|
||||
export function useSidebarAccess(dataUser : string) {
|
||||
|
||||
const akses = useHakAksesStore()
|
||||
const sidebarMenu = shallowRef(sidebarItems);
|
||||
const sidebarMiniSideIcons = shallowRef(MiniSideIcons);
|
||||
|
||||
const userRole = "admin";
|
||||
//console.log('sidebarMenu', sidebarMenu.value);
|
||||
//userRole = superadmin admin user
|
||||
const userRole = dataUser;
|
||||
const roleSidebarItems = sidebarRole.filter(item => item.role === userRole);
|
||||
const mergedPages = mergeSidebar(sidebarMenu.value, roleSidebarItems[0].pages)
|
||||
data = mergeSidebarIcon(sidebarMiniSideIcons.value, roleSidebarItems[0].pages)
|
||||
console.log('mergedPages useSidebarAccess', mergedPages);
|
||||
|
||||
return data
|
||||
//mergeSidebar (menu awal, menu role user)
|
||||
const mergedPages = mergeSidebar(sidebarMenu.value, roleSidebarItems[0].pages)
|
||||
|
||||
|
||||
//Merge Icon dari sidebarMenu api
|
||||
let mergedIcons = null;
|
||||
if (mergedPages !== null) {
|
||||
//sidebarMiniSideIcons.value = mergedPages
|
||||
//mergeSidebarIcon (icon awal, icon role user)
|
||||
mergedIcons = mergeSidebarIcon(sidebarMiniSideIcons.value, mergedPages)
|
||||
}else{
|
||||
mergedIcons = sidebarMiniSideIcons.value
|
||||
}
|
||||
//console.log('mergedPages useSidebarAccess', mergedPages,mergedIcons);
|
||||
|
||||
//insert ke store Pinia
|
||||
akses.setAccess({ role: userRole, pages: roleSidebarItems[0].pages, icons:mergedIcons })
|
||||
akses.setMergedSidebar(mergedPages)
|
||||
//console.log('tes masuk storeMenu', akses.$state)
|
||||
|
||||
const getPagesUser = akses.pageAccess
|
||||
const getMergedPages = akses.mergedSidebar
|
||||
const getMergedIcons = akses.iconItem
|
||||
|
||||
|
||||
return {
|
||||
getPagesUser,
|
||||
getMergedPages,
|
||||
getMergedIcons,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// export function useAccess() {
|
||||
|
||||
// const store = useHakAksesStore()
|
||||
// const getRole = () => store.role
|
||||
// const getPages = () => store.pageAccess
|
||||
|
||||
// const getPermissionsByPath = (path: string): string[] => {
|
||||
// const match = store.pageAccess.find(p => p.path === path)
|
||||
// return match?.permissions || []
|
||||
// }
|
||||
|
||||
// return {
|
||||
// getRole,
|
||||
// getPages,
|
||||
// getPermissionsByPath
|
||||
// }
|
||||
// }
|
||||
|
||||
Reference in New Issue
Block a user