Keep last level 2 selection (e. g. admin interface) for 10 minutes (maybe need to be changed later).
This commit is contained in:
parent
c66c61404b
commit
6a2cce12a8
1 changed files with 17 additions and 4 deletions
|
@ -419,8 +419,14 @@ class App.ControllerNavSidbar extends App.ControllerContent
|
||||||
|
|
||||||
group.items = _.sortBy( itemsUnsorted, (item) -> return item.prio )
|
group.items = _.sortBy( itemsUnsorted, (item) -> return item.prio )
|
||||||
|
|
||||||
# set active item
|
# check last selected item
|
||||||
selectedItem = undefined
|
selectedItem = undefined
|
||||||
|
selectedItemMeta = App.Config.get("Runtime::#{@configKey}")
|
||||||
|
keepLastMenuFor = 1000 * 60 * 10
|
||||||
|
if selectedItemMeta && selectedItemMeta.date && new Date < new Date( selectedItemMeta.date.getTime() + keepLastMenuFor )
|
||||||
|
selectedItem = selectedItemMeta.selectedItem
|
||||||
|
|
||||||
|
# set active item
|
||||||
for group in @groupsSorted
|
for group in @groupsSorted
|
||||||
if group.items
|
if group.items
|
||||||
for item in group.items
|
for item in group.items
|
||||||
|
@ -441,15 +447,22 @@ class App.ControllerNavSidbar extends App.ControllerContent
|
||||||
@render(selectedItem, true)
|
@render(selectedItem, true)
|
||||||
)
|
)
|
||||||
|
|
||||||
render: (selectedItem, force) ->
|
render: (selectedItem, force) =>
|
||||||
if !$( '.' + @configKey )[0] || force
|
|
||||||
|
# remember latest selected item
|
||||||
|
selectedItemMeta =
|
||||||
|
selectedItem: selectedItem
|
||||||
|
date: new Date
|
||||||
|
App.Config.set("Runtime::#{@configKey}", selectedItemMeta)
|
||||||
|
|
||||||
|
if !$( ".#{@configKey}" )[0] || force
|
||||||
@html App.view('generic/navbar_l2')(
|
@html App.view('generic/navbar_l2')(
|
||||||
groups: @groupsSorted
|
groups: @groupsSorted
|
||||||
className: @configKey
|
className: @configKey
|
||||||
)
|
)
|
||||||
if selectedItem
|
if selectedItem
|
||||||
@el.find('li').removeClass('active')
|
@el.find('li').removeClass('active')
|
||||||
@el.find('a[href="' + selectedItem.target + '"]').parent().addClass('active')
|
@el.find("a[href=\"#{selectedItem.target}\"]").parent().addClass('active')
|
||||||
|
|
||||||
new selectedItem.controller(
|
new selectedItem.controller(
|
||||||
el: @el.find('.main')
|
el: @el.find('.main')
|
||||||
|
|
Loading…
Reference in a new issue