PageSourceSearch

https://one95.app/assets/menu.store-DmmlAxnr.js

js one95.app collected 2026-10-04 23:28:56 UTC 3,711 bytes, 122 lines download raw bytes

1import { q as __mf_45, r as __mf_4, t as __mf_16, ut as __mf_80 } from "./_virtual_mf___mfe_internal__host_app__mf_owner__218477920178234__loadShare__pinia__loadShare__.js-B7Iw98aP.js";
2import { n as useProductSettingsStore } from "./userpilot-DFo69PQ3.js";
3import { a as useAuthStore, c as n } from "./user.store-DDsp0BQM.js";
4import { n as getMainCoreConfig } from "./coreHelper-BqEkzPUV.js";
5import "./constants-CwJ3Io9O.js";
6//#region src/stores/menu.store.ts
7var icons = {
8	PhCalendarBlank: "ti-ph-calendar-blank",
9	PhGauge: "ti-ph-gauge",
10	PhUsersThree: "ti-ph-users-three",
11	PhTrendUp: "ti-ph-trend-up",
12	PhBookBookmark: "ti-ph-book-bookmark",
13	PhGear: "ti-ph-gear",
14	PhUpload: "ti-ph-upload",
15	PhSignOut: "ti-ph-sign-out"
16};
17var ORDER = {
18	first: 1,
19	second: 2,
20	third: 3
21};
22var defaultMenu = [{
23	order: ORDER.first,
24	align: "left",
25	color: "#0000",
26	have_icon: true,
27	icon_url: "ti-ph-calendar-blank",
28	name: "Today",
29	route: "/today",
30	title: "Today",
31	tooltip: "Today",
32	dataCy: "home-drawer-today_button",
33	visible_left_sidebar: true
34}, {
35	order: ORDER.third,
36	name: "Sign-out",
37	title: "Sign-out",
38	have_icon: true,
39	icon_url: "ti-ph-sign-out",
40	align: "left",
41	color: "#0000",
42	tooltip: "Sign out",
43	route: "/signout",
44	dataCy: "home-drawer-signout",
45	visible_left_sidebar: true
46}];
47var defaultMenuNames = new Set(defaultMenu.map((menu) => menu.name));
48function getIconUrl(iconUrl) {
49	if (iconUrl.includes("-ph-")) return iconUrl;
50	return icons[iconUrl] ?? "ti-ph-calendar-blank";
51}
52var useMenuStore = __mf_4("Host_MF.Menu", () => {
53	const menuRequest = __mf_45({
54		idle: true,
55		fetching: false
56	});
57	const menu = __mf_45([]);
58	const isExpanded = __mf_45(false);
59	const isFixed = __mf_45(false);
60	const { isSAMSEnabled, isDigitalPLLEnabled } = __mf_16(useProductSettingsStore());
61	const getMenu = async () => {
62		if ("student" === localStorage.getItem("role_name")) return;
63		const { EndpointEnvs, restClient } = await getMainCoreConfig();
64		if (!menuRequest.value.idle) return;
65		menuRequest.value = {
66			idle: false,
67			fetching: true
68		};
69		try {
70			const response = await restClient(EndpointEnvs.MENU, "getMenu");
71			const hiddenMenuItems = [];
72			if (!isDigitalPLLEnabled.value && !isSAMSEnabled.value) hiddenMenuItems.push("Activities");
73			if (response) {
74				const availableMenus = response.filter((menuItem) => !hiddenMenuItems.includes(menuItem.name)).map((menuItem) => {
75					console.warn("Menu item fetched:", menuItem);
76					return {
77						...menuItem,
78						icon_url: getIconUrl(menuItem.icon_url)
79					};
80				}).sort((a, b) => a.order - b.order).filter((menuItem) => !defaultMenuNames.has(menuItem.name));
81				const menuItems = [
82					defaultMenu[0],
83					...availableMenus,
84					defaultMenu[1]
85				];
86				const account = await useAuthStore().checkAuth();
87				localStorage.setItem(`menu${account?.homeAccountId}`, JSON.stringify(menuItems));
88				localStorage.setItem(`menu_db${account?.homeAccountId}`, JSON.stringify(menuItems));
89				const leftSidebarMenu = menuItems.filter((item) => item.visible_left_sidebar);
90				const { set } = n("menu_left_sidebar", { defaultValue: leftSidebarMenu });
91				set(leftSidebarMenu);
92				menu.value = menuItems;
93			}
94		} catch (error) {
95			console.error("Error trying to get the menu", error);
96		} finally {
97			menuRequest.value = {
98				idle: false,
99				fetching: false
100			};
101		}
102	};
103	const menuLeftSidebar = __mf_80(() => menu.value.filter((item) => item.visible_left_sidebar));
104	const resetCache = () => {
105		menu.value = [];
106		menuRequest.value = {
107			idle: true,
108			fetching: false
109		};
110	};
111	return {
112		menu,
113		menuLeftSidebar,
114		getMenu,
115		resetCache,
116		menuRequest,
117		isExpanded,
118		isFixed
119	};
120});
121//#endregion
122export { useMenuStore as t };

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.