|
1 | 1 | class Menu: |
| 2 | + active_url = None |
| 3 | + |
2 | 4 | def __init__(self, name, url=None, icon=None, *submenu, **kwargs): |
3 | 5 | self.name = name |
4 | 6 | self.icon = icon if icon else '' |
5 | | - self.url = url if url else 'javascript:;' |
| 7 | + self.url = url if url else '' |
6 | 8 | self.submenu = submenu |
7 | | - self.active = False or any(sm.active for sm in self.submenu) |
| 9 | + self.active = (url == self.active_url or |
| 10 | + any(sm.active for sm in self.submenu)) |
8 | 11 |
|
9 | 12 | @property |
10 | 13 | def menu_class(self): |
11 | 14 | return 'sub-menu' if self.submenu else 'mf' |
12 | 15 |
|
13 | 16 |
|
14 | 17 | def navigation(request): |
| 18 | + Menu.active_url = request.resolver_match.url_name |
| 19 | + print(Menu.active_url) |
15 | 20 | menu = [Menu("Dashboard", icon='fa-dashboard'), |
16 | | - Menu("UI Elements", None, 'fa-desktop', |
17 | | - Menu("General", url='general.html'), |
18 | | - Menu("Buttons", url='buttons.html'), |
19 | | - Menu("Panels", url='panels.html')), |
20 | | - |
21 | | - Menu("Components", None, 'fa-cogs', |
22 | | - Menu("Calendar", url='calendar.html'), |
23 | | - Menu("Gallery", url='gallery.html'), |
24 | | - Menu("Todo List", url='todo_list.html')), |
25 | | - |
26 | | - Menu("Extra Pages", None, 'fa-book', |
27 | | - Menu("Blank Page", url='blank.html'), |
28 | | - Menu("Login", url='login.html'), |
29 | | - Menu("Lock Screen", url='lock_screen.html')), |
30 | | - |
31 | | - Menu("Forms", None, 'fa-tasks', |
32 | | - Menu("Form Components", url='form_component.html')), |
33 | | - |
34 | | - Menu("Data Tables", None, 'fa-th', |
35 | | - Menu("Basic Table", url='basic_table.html'), |
36 | | - Menu("Responsive Table", url='responsive_table.html')), |
37 | | - |
38 | | - Menu("Charts", None, 'fa-bar-chart-o', |
39 | | - Menu("Morris", url='morris.html'), |
40 | | - Menu("Chartjs", url='chartjs.html'))] |
| 21 | + Menu("Collaboration", None, 'fa-cogs', |
| 22 | + Menu("Projects", url='project-list'), |
| 23 | + Menu("Files", url='file-list'), |
| 24 | + Menu("Tasks", url='task-list'), |
| 25 | + Menu("Instances", url='instance-list')), |
| 26 | + |
| 27 | + Menu("Account", None, 'fa-desktop', |
| 28 | + Menu("Your profile", url='profile'), |
| 29 | + # Menu("Settings", url='settings'), |
| 30 | + Menu("Logout", url='auth_logout'))] |
41 | 31 |
|
42 | 32 | return {'navigation': menu} |
0 commit comments