Ref #25.
Showing the changes to assets/javascripts/views (4 of 6 files). Show all
Unified · Split
| @@ -38,7 +38,10 @@ class app.views.ListFocus extends app.View · 37 unmodified lines | ||
| 38 | 38 | $.click(next) |
| 39 | 39 | @findNext cursor |
| 40 | 40 | else if next.tagName is 'DIV' # sub-list |
| 41 | − @findFirst(next) or @findNext(next) | |
| 41 | + if cursor.className.indexOf('open') >= 0 | |
| 42 | + @findFirst(next) or @findNext(next) | |
| 43 | + else | |
| 44 | + @findNext(next) | |
| 42 | 45 | else if next.tagName is 'H6' # title |
| 43 | 46 | @findNext(next) |
| 44 | 47 | else if cursor.parentElement isnt @el |
| @@ -61,7 +64,10 @@ class app.views.ListFocus extends app.View · 16 unmodified lines | ||
| 61 | 64 | $.click(prev) |
| 62 | 65 | @findPrev cursor |
| 63 | 66 | else if prev.tagName is 'DIV' # sub-list |
| 64 | − @findLast(prev) or @findPrev(prev) | |
| 67 | + if prev.previousSibling.className.indexOf('open') >= 0 | |
| 68 | + @findLast(prev) or @findPrev(prev) | |
| 69 | + else | |
| 70 | + @findPrev(prev) | |
| 65 | 71 | else if prev.tagName is 'H6' # title |
| 66 | 72 | @findPrev(prev) |
| 67 | 73 | else if cursor.parentElement isnt @el |
| @@ -10,7 +10,7 @@ class app.views.ListFold extends app.View · 9 unmodified lines | ||
| 10 | 10 | left: 'onLeft' |
| 11 | 11 | right: 'onRight' |
| 12 | 12 | |
| 13 | − constructor: (@el, @options = {}) -> super | |
| 13 | + constructor: (@el) -> super | |
| 14 | 14 | |
| 15 | 15 | open: (el) -> |
| 16 | 16 | if el and not el.classList.contains @constructor.activeClass |
| @@ -60,5 +60,5 @@ class app.views.ListFold extends app.View · 43 unmodified lines | ||
| 60 | 60 | $.stopEvent(event) |
| 61 | 61 | @toggle el.parentElement |
| 62 | 62 | else if el.classList.contains @constructor.targetClass |
| 63 | − if @options.toggleOnclick then @toggle(el) else @open(el) | |
| 63 | + if el.hasAttribute('href') then @open(el) else @toggle(el) | |
| 64 | 64 | return |
| @@ -54,7 +54,21 @@ class app.views.DocList extends app.View · 53 unmodified lines | ||
| 54 | 54 | return |
| 55 | 55 | |
| 56 | 56 | appendDisabledList: -> |
| 57 | − @append @tmpl('sidebarDisabledList', docs: app.disabledDocs.all()) | |
| 57 | + html = '' | |
| 58 | + docs = [].concat(app.disabledDocs.all()...) | |
| 59 | + | |
| 60 | + while doc = docs.shift() | |
| 61 | + if doc.version | |
| 62 | + versions = '' | |
| 63 | + loop | |
| 64 | + versions += @tmpl('sidebarDoc', doc, disabled: true) | |
| 65 | + break if docs[0].name isnt doc.name | |
| 66 | + doc = docs.shift() | |
| 67 | + html += @tmpl('sidebarDisabledVersionedDoc', doc, versions) | |
| 68 | + else | |
| 69 | + html += @tmpl('sidebarDoc', doc, disabled: true) | |
| 70 | + | |
| 71 | + @append @tmpl('sidebarDisabledList', html) | |
| 58 | 72 | @disabledTitle.classList.add('open-title') |
| 59 | 73 | @refreshElements() |
| 60 | 74 | return |
| @@ -11,7 +11,7 @@ class app.views.DocPicker extends app.View · 10 unmodified lines | ||
| 11 | 11 | enter: 'onEnter' |
| 12 | 12 | |
| 13 | 13 | init: -> |
| 14 | − @addSubview @listFold = new app.views.ListFold(@el, toggleOnclick: true) | |
| 14 | + @addSubview @listFold = new app.views.ListFold(@el) | |
| 15 | 15 | return |
| 16 | 16 | |
| 17 | 17 | activate: -> |