diff --git a/css/style.css b/css/style.css index 4e6197143..23ba8e1aa 100644 --- a/css/style.css +++ b/css/style.css @@ -378,6 +378,10 @@ a[href="javascript:;"] { :root.index-loading .pagelist { display: none; } +#nav-links { + display: flex; + align-items: baseline; +} #index-search { padding-right: 1.5em; width: 100px; diff --git a/html/General/Index-navlinks.html b/html/General/Index-navlinks.html index da5b9bbaf..4dc35c53f 100644 --- a/html/General/Index-navlinks.html +++ b/html/General/Index-navlinks.html @@ -1,5 +1,19 @@ -[]  [ - + + + + diff --git a/src/General/Index.coffee b/src/General/Index.coffee index 2e5aa7bc3..bab27411b 100644 --- a/src/General/Index.coffee +++ b/src/General/Index.coffee @@ -6,7 +6,6 @@ Index = return return if g.BOARD.ID is 'f' - @db = new DataBoard 'pinnedThreads' Thread.callbacks.push name: 'Thread Pinning' @@ -22,38 +21,6 @@ Index = $.on @button, 'click', @update Header.addShortcut @button, 1 - modeEntry = - el: $.el 'span', textContent: 'Index mode' - subEntries: [ - { el: $.el 'label', innerHTML: ' Paged' } - { el: $.el 'label', innerHTML: ' All threads' } - { el: $.el 'label', innerHTML: ' Catalog' } - ] - open: -> - for label in @subEntries - input = label.el.firstChild - input.checked = Conf['Index Mode'] is input.value - true - for label in modeEntry.subEntries - input = label.el.firstChild - $.on input, 'change', $.cb.value - $.on input, 'change', @cb.mode - - sortEntry = - el: $.el 'span', textContent: 'Sort by' - subEntries: [ - { el: $.el 'label', innerHTML: ' Bump order' } - { el: $.el 'label', innerHTML: ' Last reply' } - { el: $.el 'label', innerHTML: ' Creation date' } - { el: $.el 'label', innerHTML: ' Reply count' } - { el: $.el 'label', innerHTML: ' File count' } - ] - for label in sortEntry.subEntries - input = label.el.firstChild - input.checked = Conf['Index Sort'] is input.value - $.on input, 'change', $.cb.value - $.on input, 'change', @cb.sort - threadNumEntry = el: $.el 'span', textContent: 'Threads per page' subEntries: [ @@ -91,28 +58,35 @@ Index = el: $.el 'span', textContent: 'Index Navigation' order: 90 - subEntries: [modeEntry, sortEntry, threadNumEntry, repliesEntry, anchorEntry, refNavEntry] + subEntries: [threadNumEntry, repliesEntry, anchorEntry, refNavEntry] $.addClass doc, 'index-loading' @update() + + @navLinks = $.el 'div', + id: 'nav-links' + innerHTML: <%= importHTML('General/Index-navlinks') %> + @searchInput = $ '#index-search', @navLinks + @hideLabel = $ '#hidden-label', @navLinks + @selectMode = $ '#index-mode', @navLinks + @selectSort = $ '#index-sort', @navLinks + $.on @searchInput, 'input', @onSearchInput + $.on $('#index-search-clear', @navLinks), 'click', @clearSearch + $.on $('#hidden-toggle a', @navLinks), 'click', @cb.toggleHiddenThreads + for select in [@selectMode, @selectSort] + select.value = Conf[select.name] + $.on select, 'change', $.cb.value + $.on @selectMode, 'change', @cb.mode + $.on @selectSort, 'change', @cb.sort + @root = $.el 'div', className: 'board' @pagelist = $.el 'div', className: 'pagelist' hidden: true innerHTML: <%= importHTML('General/Index-pagelist') %> - @navLinks = $.el 'div', - id: 'nav-links' - innerHTML: <%= importHTML('General/Index-navlinks') %> - @indexModeToggle = $ '#index-mode-toggle', @navLinks - @searchInput = $ '#index-search', @navLinks - @hideLabel = $ '#hidden-label', @navLinks @currentPage = @getCurrentPage() $.on window, 'popstate', @cb.popstate $.on @pagelist, 'click', @cb.pageNav - $.on @indexModeToggle, 'click', @cb.pageNav - $.on @searchInput, 'input', @onSearchInput - $.on $('#index-search-clear', @navLinks), 'click', @clearSearch - $.on $('#hidden-toggle a', @navLinks), 'click', @cb.toggleHiddenThreads @cb.toggleCatalogMode() $.asap (-> $('.board', doc) or d.readyState isnt 'loading'), -> board = $ '.board' @@ -232,11 +206,9 @@ Index = cb: toggleCatalogMode: -> if Conf['Index Mode'] is 'catalog' - Index.indexModeToggle.textContent = 'Return' $.addClass Index.root, 'catalog-mode' $('#hidden-toggle', Index.navLinks).hidden = false else - Index.indexModeToggle.textContent = 'Catalog' $.rmClass Index.root, 'catalog-mode' $('#hidden-toggle', Index.navLinks).hidden = true toggleHiddenThreads: -> @@ -279,14 +251,10 @@ Index = else return e.preventDefault() - switch a.textContent - when 'Catalog' - mode = 'catalog' - when 'Return' - mode = Conf['Previous Index Mode'] - if mode - $.set 'Index Mode', mode - Conf['Index Mode'] = mode + if a.textContent is 'Catalog' + $.set 'Index Mode', 'catalog' + Conf['Index Mode'] = 'catalog' + Index.selectMode.value = 'catalog' Index.cb.mode() Index.scrollToIndex() Index.userPageNav +a.pathname.split('/')[2]