@@ -92,9 +92,9 @@ if (reviewAssignmentMenuItem) {
92
92
}
93
93
94
94
// helper to attach count to the menu item
95
- function enrichMenuItemWithCounts (page , itemsCount ) {
95
+ function enrichMenuItemWithCounts (menuItems , page , itemsCount ) {
96
96
if (itemsCount .value ) {
97
- const menuItem = menuItems .value . find ((item ) => item .key === page);
97
+ const menuItem = menuItems .find ((item ) => item .key === page);
98
98
if (menuItem) {
99
99
const menuItemsEnriched = menuItem .items .map ((item ) => ({
100
100
... item,
@@ -105,14 +105,21 @@ function enrichMenuItemWithCounts(page, itemsCount) {
105
105
menuItem .items = menuItemsEnriched;
106
106
}
107
107
}
108
+ return menuItems;
108
109
}
109
110
110
111
const menuItemsEnriched = computed (() => {
111
- enrichMenuItemWithCounts (' dashboards' , dashboardCount);
112
- enrichMenuItemWithCounts (' mySubmissions' , mySubmissionsCount);
113
- enrichMenuItemWithCounts (' reviewAssignments' , reviewAssignmentCount);
112
+ const menuItemsCopy = JSON .parse (JSON .stringify (menuItems .value ));
114
113
115
- return menuItems .value ;
114
+ enrichMenuItemWithCounts (menuItemsCopy, ' dashboards' , dashboardCount);
115
+ enrichMenuItemWithCounts (menuItemsCopy, ' mySubmissions' , mySubmissionsCount);
116
+ enrichMenuItemWithCounts (
117
+ menuItemsCopy,
118
+ ' reviewAssignments' ,
119
+ reviewAssignmentCount,
120
+ );
121
+
122
+ return menuItemsCopy;
116
123
});
117
124
118
125
function convertLinksToArray (links , level = 1 , parentKey = ' ' ) {
@@ -179,6 +186,7 @@ const {sideMenuProps} = useSideMenu(menuItemsEnriched, {
179
186
watch (
180
187
() => props .links ,
181
188
(newLinks ) => {
189
+ console .log (' SideNav watch' );
182
190
menuItems .value = convertLinksToArray (newLinks);
183
191
},
184
192
);
0 commit comments