Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1# encoding: utf-8 

2from builtins import range 

3from . import * 

4 

5 

6def li( 

7 content="", 

8 span=False, 

9 disabled=False, 

10 submenuTitle=False, 

11 divider=False, 

12 navStyle=False, 

13 navDropDown=False, 

14 pager=False, 

15 pull=False, 

16 onPhone=True, 

17 onTablet=True, 

18 onDesktop=True, 

19 indent=False, 

20 hidden=False): 

21 """ 

22 *Generate a li - TBS style* 

23 

24 **Key Arguments** 

25 

26 - ``content`` -- the content (if a subMenu for dropdown this should be `<ul>`) 

27 - ``span`` -- the column span [ False | 1-12 ] 

28 - ``disabled`` -- add the disabled attribute on an grey out this list item. Note you can optionally swap anchors for spans to remove click functionality. 

29 - ``submenuTitle`` -- if a submenu (`<ul>`) is to be included as content, use this as the title. 

30 - ``divider`` -- if true this list item shall be a line 

31 - ``navStyle`` -- how is the navigation element to be displayed? [ active | header ] 

32 - ``navDropDown`` -- true if the list item is to be used as a dropdown in navigation 

33 - ``pager`` -- use the `<li>` within a pager navigation? [ False | "previous" | "next" ] 

34 

35 

36 **Return** 

37 

38 - ``li`` -- the li 

39 

40 """ 

41 submenuClass = False 

42 falseList = [disabled, submenuClass, 

43 submenuTitle, navStyle, navDropDown, pager, span] 

44 for i in range(len(falseList)): 

45 if not falseList[i]: 

46 falseList[i] = "" 

47 [disabled, submenuClass, submenuTitle, 

48 navStyle, navDropDown, pager, span] = falseList 

49 

50 if pull: 

51 pull = "pull-%(pull)s" % locals() 

52 else: 

53 pull = "" 

54 

55 if disabled: 

56 disabled = """disabled""" 

57 

58 if submenuTitle: 

59 submenuClass = "dropdown-submenu" 

60 submenuTitle = """<a tabindex="-1" href="#">%(submenuTitle)s</a>""" % locals( 

61 ) 

62 

63 if navStyle == "active": 

64 if "href" in content: 

65 content = content.replace('class="', 'class="active ') 

66 elif navStyle: 

67 navStyle = "nav-%(navStyle)s" % locals() 

68 

69 if navDropDown: 

70 navDropDown = """dropdown""" 

71 

72 if span: 

73 span = "span%(span)s" % locals() 

74 

75 if indent: 

76 indent = """style="padding-left: 1em" """ 

77 else: 

78 indent = "" 

79 

80 if hidden: 

81 hidden = "hidden" 

82 else: 

83 hidden = "" 

84 

85 phoneClass = "" 

86 tabletClass = "" 

87 desktopClass = "" 

88 if onPhone: 

89 if onTablet: 

90 if not onDesktop: 

91 desktopClass = "hidden-desktop" 

92 else: 

93 if not onDesktop: 

94 phoneClass = "visible-phone" 

95 else: 

96 tabletClass = "hidden-tablet" 

97 else: 

98 if onTablet: 

99 if not onDesktop: 

100 tabletClass = "visible-tablet" 

101 else: 

102 phoneClass = "hidden-phone" 

103 else: 

104 desktopClass = "visible-desktop" 

105 

106 li = """<li class="%(disabled)s %(phoneClass)s %(tabletClass)s %(desktopClass)s %(submenuClass)s %(navStyle)s %(pager)s %(span)s %(navDropDown)s %(pull)s %(hidden)s" %(indent)s id=" ">%(submenuTitle)s%(content)s</li>""" % locals( 

107 ) 

108 

109 if divider is True: 

110 li = """<li class="divider"></li>""" 

111 

112 return li