Clean options, keep it readable and organized.
This commit is contained in:
parent
7f9a23bcc1
commit
5c635badd2
@ -1117,15 +1117,78 @@
|
||||
return $.replace(home, a);
|
||||
},
|
||||
dialog: function() {
|
||||
var arr, checked, description, dialog, hiddenNum, hiddenThreads, html, input, key, li, main, obj, overlay, ul, _i, _len, _ref, _ref2;
|
||||
hiddenThreads = $.get("hiddenThreads/" + g.BOARD + "/", {});
|
||||
hiddenNum = Object.keys(g.hiddenReplies).length + Object.keys(hiddenThreads).length;
|
||||
html = " <div class='reply dialog'> <div id=optionsbar> <div id=floaty> <label for=main_tab>Main</label> | <label for=flavors_tab>Sauce</label> | <label for=rice_tab>Rice</label> | <label for=keybinds_tab>Keybinds</label> </div> <div id=credits> <a href=http://aeosynth.github.com/4chan-x/>4chan X</a> | <a href=http://chat.now.im/x/aeos>Support Throd</a> | <a href=https://github.com/aeosynth/4chan-x/issues>GitHub</a> | <a href=https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=2DBVZBUAM4DHC&lc=US&item_name=Aeosynth¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHosted>Donate</a> </div> </div> <hr> <div id=content> <input type=radio name=tab hidden id=main_tab checked> <div id=main></div> <input type=radio name=tab hidden id=flavors_tab> <textarea name=flavors id=flavors>" + conf['flavors'] + "</textarea> <input type=radio name=tab hidden id=rice_tab> <div id=rice> <ul> Backlink formatting <li><input type=text name=backlink value='" + conf['backlink'] + "'> : <span id=backlinkPreview></span></li> </ul> <ul> Time formatting <li><input type=text name=time value='" + conf['time'] + "'> : <span id=timePreview></span></li> <li>Supported <a href=http://en.wikipedia.org/wiki/Date_%28Unix%29#Formatting>format specifiers</a>:</li> <li>Day: %a, %A, %d, %e</li> <li>Month: %m, %b, %B</li> <li>Year: %y</li> <li>Hour: %k, %H, %l (lowercase L), %I (uppercase i), %p, %P</li> <li>Minutes: %M</li> </ul> </div> <input type=radio name=tab hidden id=keybinds_tab> <div id=keybinds> <table> <tbody> <tr><th>Actions</th><th>Keybinds</th></tr> <tr><td>Close Options or QR</td><td><input type=text name=close></td></tr> <tr><td>Quick spoiler</td><td><input type=text name=spoiler></td></tr> <tr><td>Open QR with post number inserted</td><td><input type=text name=openQR></td></tr> <tr><td>Open QR without post number inserted</td><td><input type=text name=openEmptyQR></td></tr> <tr><td>Submit post</td><td><input type=text name=submit></td></tr> <tr><td>Select next reply</td><td><input type=text name=nextReply ></td></tr> <tr><td>Select previous reply</td><td><input type=text name=previousReply></td></tr> <tr><td>See next thread</td><td><input type=text name=nextThread></td></tr> <tr><td>See previous thread</td><td><input type=text name=previousThread></td></tr> <tr><td>Jump to the next page</td><td><input type=text name=nextPage></td></tr> <tr><td>Jump to the previous page</td><td><input type=text name=previousPage></td></tr> <tr><td>Jump to page 0</td><td><input type=text name=zero></td></tr> <tr><td>Open thread in current tab</td><td><input type=text name=openThread></td></tr> <tr><td>Open thread in new tab</td><td><input type=text name=openThreadTab></td></tr> <tr><td>Expand thread</td><td><input type=text name=expandThread></td></tr> <tr><td>Watch thread</td><td><input type=text name=watch></td></tr> <tr><td>Hide thread</td><td><input type=text name=hide></td></tr> <tr><td>Expand selected image</td><td><input type=text name=expandImages></td></tr> <tr><td>Expand all images</td><td><input type=text name=expandAllImages></td></tr> <tr><td>Update now</td><td><input type=text name=update></td></tr> <tr><td>Reset the unread count to 0</td><td><input type=text name=unreadCountTo0></td></tr> </tbody> </table> </div> </div> </div> ";
|
||||
var arr, back, checked, description, dialog, flavors, hiddenNum, hiddenThreads, input, key, li, obj, overlay, time, ul, _i, _len, _ref, _ref2;
|
||||
dialog = $.el('div', {
|
||||
id: 'options',
|
||||
innerHTML: html
|
||||
innerHTML: '\
|
||||
<div class="reply dialog">\
|
||||
<div id=optionsbar>\
|
||||
<div id=floaty>\
|
||||
<label for=main_tab>Main</label>\
|
||||
| <label for=flavors_tab>Sauce</label>\
|
||||
| <label for=rice_tab>Rice</label>\
|
||||
| <label for=keybinds_tab>Keybinds</label>\
|
||||
</div>\
|
||||
<div id=credits>\
|
||||
<a href=http://aeosynth.github.com/4chan-x/>4chan X</a>\
|
||||
| <a href=http://chat.now.im/x/aeos>Support Throd</a>\
|
||||
| <a href=https://github.com/aeosynth/4chan-x/issues>GitHub</a>\
|
||||
| <a href=https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=2DBVZBUAM4DHC&lc=US&item_name=Aeosynth¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHosted>Donate</a>\
|
||||
</div>\
|
||||
</div>\
|
||||
<hr>\
|
||||
<div id=content>\
|
||||
<input type=radio name=tab hidden id=main_tab checked>\
|
||||
<div id=main></div>\
|
||||
<input type=radio name=tab hidden id=flavors_tab>\
|
||||
<textarea name=flavors id=flavors></textarea>\
|
||||
<input type=radio name=tab hidden id=rice_tab>\
|
||||
<div id=rice>\
|
||||
<ul>\
|
||||
Backlink formatting\
|
||||
<li><input type=text name=backlink> : <span id=backlinkPreview></span></li>\
|
||||
</ul>\
|
||||
<ul>\
|
||||
Time formatting\
|
||||
<li><input type=text name=time> : <span id=timePreview></span></li>\
|
||||
<li>Supported <a href=http://en.wikipedia.org/wiki/Date_%28Unix%29#Formatting>format specifiers</a>:</li>\
|
||||
<li>Day: %a, %A, %d, %e</li>\
|
||||
<li>Month: %m, %b, %B</li>\
|
||||
<li>Year: %y</li>\
|
||||
<li>Hour: %k, %H, %l (lowercase L), %I (uppercase i), %p, %P</li>\
|
||||
<li>Minutes: %M</li>\
|
||||
</ul>\
|
||||
</div>\
|
||||
<input type=radio name=tab hidden id=keybinds_tab>\
|
||||
<div id=keybinds>\
|
||||
<table><tbody>\
|
||||
<tr><th>Actions</th><th>Keybinds</th></tr>\
|
||||
<tr><td>Close Options or QR</td><td><input name=close></td></tr>\
|
||||
<tr><td>Quick spoiler</td><td><input name=spoiler></td></tr>\
|
||||
<tr><td>Open QR with post number inserted</td><td><input name=openQR></td></tr>\
|
||||
<tr><td>Open QR without post number inserted</td><td><input name=openEmptyQR></td></tr>\
|
||||
<tr><td>Submit post</td><td><input name=submit></td></tr>\
|
||||
<tr><td>Select next reply</td><td><input name=nextReply ></td></tr>\
|
||||
<tr><td>Select previous reply</td><td><input name=previousReply></td></tr>\
|
||||
<tr><td>See next thread</td><td><input name=nextThread></td></tr>\
|
||||
<tr><td>See previous thread</td><td><input name=previousThread></td></tr>\
|
||||
<tr><td>Jump to the next page</td><td><input name=nextPage></td></tr>\
|
||||
<tr><td>Jump to the previous page</td><td><input name=previousPage></td></tr>\
|
||||
<tr><td>Jump to page 0</td><td><input name=zero></td></tr>\
|
||||
<tr><td>Open thread in current tab</td><td><input name=openThread></td></tr>\
|
||||
<tr><td>Open thread in new tab</td><td><input name=openThreadTab></td></tr>\
|
||||
<tr><td>Expand thread</td><td><input name=expandThread></td></tr>\
|
||||
<tr><td>Watch thread</td><td><input name=watch></td></tr>\
|
||||
<tr><td>Hide thread</td><td><input name=hide></td></tr>\
|
||||
<tr><td>Expand selected image</td><td><input name=expandImages></td></tr>\
|
||||
<tr><td>Expand all images</td><td><input name=expandAllImages></td></tr>\
|
||||
<tr><td>Update now</td><td><input name=update></td></tr>\
|
||||
<tr><td>Reset the unread count to 0</td><td><input name=unreadCountTo0></td></tr>\
|
||||
</tbody></table>\
|
||||
</div>\
|
||||
</div>\
|
||||
</div>'
|
||||
});
|
||||
main = $('#main', dialog);
|
||||
_ref = config.main;
|
||||
for (key in _ref) {
|
||||
obj = _ref[key];
|
||||
@ -1142,19 +1205,25 @@
|
||||
$.bind($('input', li), 'click', $.cb.checked);
|
||||
$.add(ul, li);
|
||||
}
|
||||
$.add(main, ul);
|
||||
$.add($('#main', dialog), ul);
|
||||
}
|
||||
hiddenThreads = $.get("hiddenThreads/" + g.BOARD + "/", {});
|
||||
hiddenNum = Object.keys(g.hiddenReplies).length + Object.keys(hiddenThreads).length;
|
||||
li = $.el('li', {
|
||||
innerHTML: "<button>hidden: " + hiddenNum + "</button> <span class=description>: Forget all hidden posts. Useful if you accidentally hide a post and have `show stubs` disabled."
|
||||
});
|
||||
$.bind($('button', li), 'click', options.clearHidden);
|
||||
$.add($('ul:nth-child(2)', dialog), li);
|
||||
$.bind($('#flavors', dialog), 'change', $.cb.value);
|
||||
$.bind($('input[name=time]', dialog), 'keyup', options.time);
|
||||
$.bind($('input[name=backlink]', dialog), 'keyup', options.backlink);
|
||||
(flavors = $('#flavors', dialog)).textContent = conf['flavors'];
|
||||
$.bind(flavors, 'change', $.cb.value);
|
||||
(back = $('[name=backlink]', dialog)).value = conf['backlink'];
|
||||
(time = $('[name=time]', dialog)).value = conf['time'];
|
||||
$.bind(back, 'keyup', options.backlink);
|
||||
$.bind(time, 'keyup', options.time);
|
||||
_ref2 = $$('#keybinds input', dialog);
|
||||
for (_i = 0, _len = _ref2.length; _i < _len; _i++) {
|
||||
input = _ref2[_i];
|
||||
input.type = 'text';
|
||||
input.value = conf[input.name];
|
||||
$.bind(input, 'keydown', options.keybind);
|
||||
}
|
||||
@ -1167,16 +1236,16 @@
|
||||
overlay = $.el('div', {
|
||||
id: 'overlay'
|
||||
});
|
||||
$.add(overlay, dialog);
|
||||
$.add(d.body, overlay);
|
||||
options.time.call($('input[name=time]', dialog));
|
||||
options.backlink.call($('input[name=backlink]', dialog));
|
||||
$.bind(overlay, 'click', function() {
|
||||
return $.rm(overlay);
|
||||
});
|
||||
return $.bind(dialog.firstElementChild, 'click', function(e) {
|
||||
$.bind(dialog.firstElementChild, 'click', function(e) {
|
||||
return e.stopPropagation();
|
||||
});
|
||||
$.add(overlay, dialog);
|
||||
$.add(d.body, overlay);
|
||||
options.time.call(time);
|
||||
return options.backlink.call(back);
|
||||
},
|
||||
clearHidden: function(e) {
|
||||
$["delete"]("hiddenReplies/" + g.BOARD + "/");
|
||||
|
||||
169
script.coffee
169
script.coffee
@ -796,79 +796,76 @@ options =
|
||||
$.replace home, a
|
||||
|
||||
dialog: ->
|
||||
hiddenThreads = $.get "hiddenThreads/#{g.BOARD}/", {}
|
||||
hiddenNum = Object.keys(g.hiddenReplies).length + Object.keys(hiddenThreads).length
|
||||
html = "
|
||||
<div class='reply dialog'>
|
||||
<div id=optionsbar>
|
||||
<div id=floaty>
|
||||
<label for=main_tab>Main</label> | <label for=flavors_tab>Sauce</label> | <label for=rice_tab>Rice</label> | <label for=keybinds_tab>Keybinds</label>
|
||||
</div>
|
||||
<div id=credits>
|
||||
<a href=http://aeosynth.github.com/4chan-x/>4chan X</a> |
|
||||
<a href=http://chat.now.im/x/aeos>Support Throd</a> |
|
||||
<a href=https://github.com/aeosynth/4chan-x/issues>GitHub</a> |
|
||||
<a href=https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=2DBVZBUAM4DHC&lc=US&item_name=Aeosynth¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHosted>Donate</a>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div id=content>
|
||||
<input type=radio name=tab hidden id=main_tab checked>
|
||||
<div id=main></div>
|
||||
<input type=radio name=tab hidden id=flavors_tab>
|
||||
<textarea name=flavors id=flavors>#{conf['flavors']}</textarea>
|
||||
<input type=radio name=tab hidden id=rice_tab>
|
||||
<div id=rice>
|
||||
<ul>
|
||||
Backlink formatting
|
||||
<li><input type=text name=backlink value='#{conf['backlink']}'> : <span id=backlinkPreview></span></li>
|
||||
</ul>
|
||||
<ul>
|
||||
Time formatting
|
||||
<li><input type=text name=time value='#{conf['time']}'> : <span id=timePreview></span></li>
|
||||
<li>Supported <a href=http://en.wikipedia.org/wiki/Date_%28Unix%29#Formatting>format specifiers</a>:</li>
|
||||
<li>Day: %a, %A, %d, %e</li>
|
||||
<li>Month: %m, %b, %B</li>
|
||||
<li>Year: %y</li>
|
||||
<li>Hour: %k, %H, %l (lowercase L), %I (uppercase i), %p, %P</li>
|
||||
<li>Minutes: %M</li>
|
||||
</ul>
|
||||
</div>
|
||||
<input type=radio name=tab hidden id=keybinds_tab>
|
||||
<div id=keybinds>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr><th>Actions</th><th>Keybinds</th></tr>
|
||||
<tr><td>Close Options or QR</td><td><input type=text name=close></td></tr>
|
||||
<tr><td>Quick spoiler</td><td><input type=text name=spoiler></td></tr>
|
||||
<tr><td>Open QR with post number inserted</td><td><input type=text name=openQR></td></tr>
|
||||
<tr><td>Open QR without post number inserted</td><td><input type=text name=openEmptyQR></td></tr>
|
||||
<tr><td>Submit post</td><td><input type=text name=submit></td></tr>
|
||||
<tr><td>Select next reply</td><td><input type=text name=nextReply ></td></tr>
|
||||
<tr><td>Select previous reply</td><td><input type=text name=previousReply></td></tr>
|
||||
<tr><td>See next thread</td><td><input type=text name=nextThread></td></tr>
|
||||
<tr><td>See previous thread</td><td><input type=text name=previousThread></td></tr>
|
||||
<tr><td>Jump to the next page</td><td><input type=text name=nextPage></td></tr>
|
||||
<tr><td>Jump to the previous page</td><td><input type=text name=previousPage></td></tr>
|
||||
<tr><td>Jump to page 0</td><td><input type=text name=zero></td></tr>
|
||||
<tr><td>Open thread in current tab</td><td><input type=text name=openThread></td></tr>
|
||||
<tr><td>Open thread in new tab</td><td><input type=text name=openThreadTab></td></tr>
|
||||
<tr><td>Expand thread</td><td><input type=text name=expandThread></td></tr>
|
||||
<tr><td>Watch thread</td><td><input type=text name=watch></td></tr>
|
||||
<tr><td>Hide thread</td><td><input type=text name=hide></td></tr>
|
||||
<tr><td>Expand selected image</td><td><input type=text name=expandImages></td></tr>
|
||||
<tr><td>Expand all images</td><td><input type=text name=expandAllImages></td></tr>
|
||||
<tr><td>Update now</td><td><input type=text name=update></td></tr>
|
||||
<tr><td>Reset the unread count to 0</td><td><input type=text name=unreadCountTo0></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
"
|
||||
dialog = $.el 'div', id: 'options', innerHTML: '
|
||||
<div class="reply dialog">
|
||||
<div id=optionsbar>
|
||||
<div id=floaty>
|
||||
<label for=main_tab>Main</label>
|
||||
| <label for=flavors_tab>Sauce</label>
|
||||
| <label for=rice_tab>Rice</label>
|
||||
| <label for=keybinds_tab>Keybinds</label>
|
||||
</div>
|
||||
<div id=credits>
|
||||
<a href=http://aeosynth.github.com/4chan-x/>4chan X</a>
|
||||
| <a href=http://chat.now.im/x/aeos>Support Throd</a>
|
||||
| <a href=https://github.com/aeosynth/4chan-x/issues>GitHub</a>
|
||||
| <a href=https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=2DBVZBUAM4DHC&lc=US&item_name=Aeosynth¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHosted>Donate</a>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div id=content>
|
||||
<input type=radio name=tab hidden id=main_tab checked>
|
||||
<div id=main></div>
|
||||
<input type=radio name=tab hidden id=flavors_tab>
|
||||
<textarea name=flavors id=flavors></textarea>
|
||||
<input type=radio name=tab hidden id=rice_tab>
|
||||
<div id=rice>
|
||||
<ul>
|
||||
Backlink formatting
|
||||
<li><input type=text name=backlink> : <span id=backlinkPreview></span></li>
|
||||
</ul>
|
||||
<ul>
|
||||
Time formatting
|
||||
<li><input type=text name=time> : <span id=timePreview></span></li>
|
||||
<li>Supported <a href=http://en.wikipedia.org/wiki/Date_%28Unix%29#Formatting>format specifiers</a>:</li>
|
||||
<li>Day: %a, %A, %d, %e</li>
|
||||
<li>Month: %m, %b, %B</li>
|
||||
<li>Year: %y</li>
|
||||
<li>Hour: %k, %H, %l (lowercase L), %I (uppercase i), %p, %P</li>
|
||||
<li>Minutes: %M</li>
|
||||
</ul>
|
||||
</div>
|
||||
<input type=radio name=tab hidden id=keybinds_tab>
|
||||
<div id=keybinds>
|
||||
<table><tbody>
|
||||
<tr><th>Actions</th><th>Keybinds</th></tr>
|
||||
<tr><td>Close Options or QR</td><td><input name=close></td></tr>
|
||||
<tr><td>Quick spoiler</td><td><input name=spoiler></td></tr>
|
||||
<tr><td>Open QR with post number inserted</td><td><input name=openQR></td></tr>
|
||||
<tr><td>Open QR without post number inserted</td><td><input name=openEmptyQR></td></tr>
|
||||
<tr><td>Submit post</td><td><input name=submit></td></tr>
|
||||
<tr><td>Select next reply</td><td><input name=nextReply ></td></tr>
|
||||
<tr><td>Select previous reply</td><td><input name=previousReply></td></tr>
|
||||
<tr><td>See next thread</td><td><input name=nextThread></td></tr>
|
||||
<tr><td>See previous thread</td><td><input name=previousThread></td></tr>
|
||||
<tr><td>Jump to the next page</td><td><input name=nextPage></td></tr>
|
||||
<tr><td>Jump to the previous page</td><td><input name=previousPage></td></tr>
|
||||
<tr><td>Jump to page 0</td><td><input name=zero></td></tr>
|
||||
<tr><td>Open thread in current tab</td><td><input name=openThread></td></tr>
|
||||
<tr><td>Open thread in new tab</td><td><input name=openThreadTab></td></tr>
|
||||
<tr><td>Expand thread</td><td><input name=expandThread></td></tr>
|
||||
<tr><td>Watch thread</td><td><input name=watch></td></tr>
|
||||
<tr><td>Hide thread</td><td><input name=hide></td></tr>
|
||||
<tr><td>Expand selected image</td><td><input name=expandImages></td></tr>
|
||||
<tr><td>Expand all images</td><td><input name=expandAllImages></td></tr>
|
||||
<tr><td>Update now</td><td><input name=update></td></tr>
|
||||
<tr><td>Reset the unread count to 0</td><td><input name=unreadCountTo0></td></tr>
|
||||
</tbody></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>'
|
||||
|
||||
dialog = $.el 'div', id: 'options', innerHTML: html
|
||||
main = $('#main', dialog)
|
||||
#main
|
||||
for key, obj of config.main
|
||||
ul = $.el 'ul',
|
||||
textContent: key
|
||||
@ -879,17 +876,28 @@ options =
|
||||
innerHTML: "<label><input type=checkbox name='#{key}' #{checked}>#{key}</label><span class=description>: #{description}</span>"
|
||||
$.bind $('input', li), 'click', $.cb.checked
|
||||
$.add ul, li
|
||||
$.add main, ul
|
||||
$.add $('#main', dialog), ul
|
||||
|
||||
hiddenThreads = $.get "hiddenThreads/#{g.BOARD}/", {}
|
||||
hiddenNum = Object.keys(g.hiddenReplies).length + Object.keys(hiddenThreads).length
|
||||
li = $.el 'li',
|
||||
innerHTML: "<button>hidden: #{hiddenNum}</button> <span class=description>: Forget all hidden posts. Useful if you accidentally hide a post and have `show stubs` disabled."
|
||||
$.bind $('button', li), 'click', options.clearHidden
|
||||
$.add $('ul:nth-child(2)', dialog), li
|
||||
|
||||
$.bind $('#flavors', dialog), 'change', $.cb.value
|
||||
$.bind $('input[name=time]', dialog), 'keyup', options.time
|
||||
$.bind $('input[name=backlink]', dialog), 'keyup', options.backlink
|
||||
#sauce
|
||||
(flavors = $ '#flavors', dialog).textContent = conf['flavors']
|
||||
$.bind flavors, 'change', $.cb.value
|
||||
|
||||
#rice
|
||||
(back = $ '[name=backlink]', dialog).value = conf['backlink']
|
||||
(time = $ '[name=time]', dialog).value = conf['time']
|
||||
$.bind back, 'keyup', options.backlink
|
||||
$.bind time, 'keyup', options.time
|
||||
|
||||
#keybinds
|
||||
for input in $$ '#keybinds input', dialog
|
||||
input.type = 'text'
|
||||
input.value = conf[input.name]
|
||||
$.bind input, 'keydown', options.keybind
|
||||
|
||||
@ -900,14 +908,13 @@ options =
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=579776
|
||||
###
|
||||
overlay = $.el 'div', id: 'overlay'
|
||||
$.bind overlay, 'click', -> $.rm overlay
|
||||
$.bind dialog.firstElementChild, 'click', (e) -> e.stopPropagation()
|
||||
$.add overlay, dialog
|
||||
$.add d.body, overlay
|
||||
|
||||
options.time.call $('input[name=time]', dialog)
|
||||
options.backlink.call $('input[name=backlink]', dialog)
|
||||
|
||||
$.bind overlay, 'click', -> $.rm overlay
|
||||
$.bind dialog.firstElementChild, 'click', (e) -> e.stopPropagation()
|
||||
options.time.call time
|
||||
options.backlink.call back
|
||||
|
||||
clearHidden: (e) ->
|
||||
#'hidden' might be misleading; it's the number of IDs we're *looking* for,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user