File: gerbera.menu.js

package info (click to toggle)
gerbera 1.1.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster
  • size: 4,684 kB
  • sloc: cpp: 29,611; xml: 967; ansic: 463; perl: 328; sh: 316; sql: 135; python: 75; makefile: 11; fortran: 9
file content (60 lines) | stat: -rw-r--r-- 1,356 bytes parent folder | download | duplicates (2)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
var GERBERA
if (typeof (GERBERA) === 'undefined') {
  GERBERA = {}
}

GERBERA.Menu = (function () {
  'use strict'

  var initialize = function () {
    var allLinks = $('nav li a')
    if (GERBERA.Auth.isLoggedIn()) {
      allLinks.click(GERBERA.Menu.click)
      allLinks.removeClass('disabled')
      $('#nav-home').click()
    } else {
      $('.nav li').removeClass('active')
      allLinks.addClass('disabled')
      allLinks.click(function () {
        return false
      })
      $('#report-issue').removeClass('disabled').off('click')
    }
    return $.Deferred().resolve().promise()
  }

  var click = function (event) {
    var menuItem = $(event.target)

    $('.nav li').removeClass('active')
    menuItem.parent().addClass('active')

    var menuCommand = menuItem.data('gerbera-menu-cmd')
    switch (menuCommand) {
      case 'SELECT_TYPE':
        selectType(menuItem)
        break
      case 'HOME':
        home()
        break
    }
  }

  var home = function () {
    GERBERA.Tree.destroy()
    GERBERA.Items.destroy()
    $('#item-breadcrumb').html('<li>Select a type</li>')
  }

  var selectType = function (menuItem) {
    var type = menuItem.data('gerbera-type')
    GERBERA.Tree.selectType(type, 0)
    GERBERA.App.setType(type)
    GERBERA.Items.destroy()
  }

  return {
    initialize: initialize,
    click: click
  }
})()