salix-front/src/composables/useNavigation.js

99 lines
2.9 KiB
JavaScript

// import routes from 'src/router/routes';
// import { ref } from 'vue';
// import axios from 'axios';
// const favorites = ref([]);
//const modules = ref([]);
// const mainRoute = routes.find((route) => route.path === '/');
// const moduleRoutes = (mainRoute && mainRoute.children) || [];
//
// for (const route of moduleRoutes) {
// const module = {
// stateName: route.name,
// name: route.name.toLowerCase(),
// roles: [],
// };
//
// if (route.meta) {
// Object.assign(module, route.meta);
// }
//
// if (route.children && route.children.length) {
// const [moduleMain] = route.children;
// const routes = moduleMain.children;
//
// module.children = routes.map((route) => {
// const submodule = {
// stateName: route.name,
// name: route.name,
// };
//
// Object.assign(submodule, route.meta);
//
// return submodule;
// });
// }
// modules.value.push(module);
// }
export function useNavigation() {
const modules = [
'customer',
'claim',
'ticket'
];
// const salixModules = {
// customer: 'Clients',
// claim: 'Claims',
// entry: 'Entries',
// invoiceIn: 'Invoices In',
// invoiceOut: 'Invoices Out',
// item: 'Items',
// monitor: 'Monitors',
// order: 'Orders',
// route: 'Routes',
// supplier: 'Suppliers',
// ticket: 'Tickets',
// travel: 'Travels',
// user: 'Users',
// worker: 'Workers',
// zone: 'Zones',
// };
// async function fetchFavorites() {
// const response = await axios.get('StarredModules/getStarredModules');
//
// const filteredModules = modules.value.filter((module) => {
// return response.data.find((element) => element.moduleFk == salixModules[module.name]);
// });
//
// return (favorites.value = filteredModules);
// }
//
// async function toggleFavorite(moduleName, event) {
// if (event.defaultPrevented) return;
// event.preventDefault();
// event.stopPropagation();
//
// const params = { moduleName: salixModules[moduleName] };
// const query = 'StarredModules/toggleStarredModule';
// await axios.post(query, params);
//
// updateFavorites(moduleName);
// }
//
// function updateFavorites(name) {
// if (!favorites.value.find((module) => module.name == name)) {
// const newStarreModule = modules.value.find((module) => module.name == name);
// favorites.value.push(newStarreModule);
// } else {
// const moduleToRemove = favorites.value.find((module) => module.name == name);
// favorites.value.splice(favorites.value.indexOf(moduleToRemove), 1);
// }
// }
return { modules};
}