forked from instructure/canvas-lms
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathupdateSubnavMenuToggle.js
More file actions
40 lines (36 loc) · 1.75 KB
/
Copy pathupdateSubnavMenuToggle.js
File metadata and controls
40 lines (36 loc) · 1.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import I18n from 'i18n!subnav_menu_toggle'
const updateSubnavMenuToggle = function (pathname = window.location.pathname) {
// update subnav menu toggle for accessibility
const subnavMenuTranslations = {
hide: {
default: I18n.t('Hide Navigation Menu'),
account: I18n.t('Hide Account Navigation Menu'),
admin: I18n.t('Hide Admin Navigation Menu'),
courses: I18n.t('Hide Courses Navigation Menu'),
groups: I18n.t('Hide Groups Navigation Menu')
},
show: {
default: I18n.t('Show Navigation Menu'),
account: I18n.t('Show Account Navigation Menu'),
admin: I18n.t('Show Admin Navigation Menu'),
courses: I18n.t('Show Courses Navigation Menu'),
groups: I18n.t('Show Groups Navigation Menu')
}
}
const subnavMenuExpanded = document.body.classList.contains('course-menu-expanded')
const subnavMenuAction = subnavMenuExpanded ? 'hide' : 'show'
let subnavMenuToggleText = subnavMenuTranslations[subnavMenuAction].default
if (pathname.match(/^\/profile/)) {
subnavMenuToggleText = subnavMenuTranslations[subnavMenuAction].account
} else if (pathname.match(/^\/accounts/)) {
subnavMenuToggleText = subnavMenuTranslations[subnavMenuAction].admin
} else if (pathname.match(/^\/courses/)) {
subnavMenuToggleText = subnavMenuTranslations[subnavMenuAction].courses
} else if (pathname.match(/^\/groups/)) {
subnavMenuToggleText = subnavMenuTranslations[subnavMenuAction].groups
}
const subnavMenuToggle = document.getElementById('courseMenuToggle')
subnavMenuToggle.setAttribute('aria-label', subnavMenuToggleText)
subnavMenuToggle.setAttribute('title', subnavMenuToggleText)
}
export default updateSubnavMenuToggle