diff options
Diffstat (limited to 'app/assets/javascripts/nav/utils')
-rw-r--r-- | app/assets/javascripts/nav/utils/has_menu_expanded.js | 2 | ||||
-rw-r--r-- | app/assets/javascripts/nav/utils/index.js | 2 | ||||
-rw-r--r-- | app/assets/javascripts/nav/utils/reset_menu_items_active.js | 14 |
3 files changed, 18 insertions, 0 deletions
diff --git a/app/assets/javascripts/nav/utils/has_menu_expanded.js b/app/assets/javascripts/nav/utils/has_menu_expanded.js new file mode 100644 index 00000000000..5f126bbdf76 --- /dev/null +++ b/app/assets/javascripts/nav/utils/has_menu_expanded.js @@ -0,0 +1,2 @@ +export const hasMenuExpanded = () => + Boolean(document.querySelector('.header-content.menu-expanded')); diff --git a/app/assets/javascripts/nav/utils/index.js b/app/assets/javascripts/nav/utils/index.js new file mode 100644 index 00000000000..4fa3d0910da --- /dev/null +++ b/app/assets/javascripts/nav/utils/index.js @@ -0,0 +1,2 @@ +export * from './has_menu_expanded'; +export * from './reset_menu_items_active'; diff --git a/app/assets/javascripts/nav/utils/reset_menu_items_active.js b/app/assets/javascripts/nav/utils/reset_menu_items_active.js new file mode 100644 index 00000000000..9b5d8e97c9c --- /dev/null +++ b/app/assets/javascripts/nav/utils/reset_menu_items_active.js @@ -0,0 +1,14 @@ +const resetActiveInArray = (arr) => arr?.map((menuItem) => ({ ...menuItem, active: false })); + +/** + * This method sets `active: false` for the menu items within the given nav data. + * + * @returns navData with the menu items updated with `active: false` + */ +export const resetMenuItemsActive = ({ primary, secondary, ...navData }) => { + return { + ...navData, + primary: resetActiveInArray(primary), + secondary: resetActiveInArray(secondary), + }; +}; |