time preview

This commit is contained in:
James Campos 2011-06-05 21:24:25 -07:00
parent 854039d526
commit 6c7d31fe94
2 changed files with 47 additions and 27 deletions

View File

@ -958,7 +958,7 @@
var arr, checked, description, dialog, hiddenNum, hiddenThreads, html, input, key, li, main, obj, ul, _i, _len, _ref, _ref2;
hiddenThreads = $.getValue("hiddenThreads/" + g.BOARD + "/", {});
hiddenNum = Object.keys(g.hiddenReplies).length + Object.keys(hiddenThreads).length;
html = " <div class=move>Options <a name=close>X</a></div> <hr> <div id=main> </div> <hr> <div id=floaty> <div><input type=button value='hidden: " + hiddenNum + "'></div> <div><a name=flavors>Sauce flavors</a></div> <div><a name=time>Time Formatting</a></div> </div> <div id=credits> <div><a href=https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=2DBVZBUAM4DHC&lc=US&item_name=Aeosynth&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHosted><img alt=Donate src=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFwAAAAaCAYAAAA67jspAAAEsUlEQVRo3u2a/W9TVRjH9yf0T+hPRhONMzNm2gB1S8SOIBshKpCwDsWXDdYSYGQbWwtMBBnddC8yda2L8mKDbWQbyuJW2ND5tg7IIFk2OlARNKaLmhj9wft4nudwTntv77p1PeGn2+ST7Xk5z3Pv95x7etvbgoIlvKCnCCwWpyDfFxUa3QYwewrgzxsA//1jYcbfdwFunQX42rM84UnoS9UA81MA/yYtcuGvOYAJ39KFJ7FvRtis3bbIh7uji4tOYv/Yz7aPGQsV/Da+sOgk9uRBto1ctVDJT/3mokPkMTYjYwC/f2OhmqF1kLG6tdGtoP16QRnBj4NQUPSKDnvZTvAFOiCZGFLaK1ewPx7ffesZ9+tXOZx5BLSxl0G7M6QM74GjUmSnu5GwrawhX3mNX2mvXIh/FeYTf6z9/vWdaALUOLV3n3WA9uV60G6eBu2XASU43Q0k7sj5D6UvcTksRY9fOpExBnOR5Ew0a22MYx7WM4tnq1Ne00z9I5EPTGumH68yLlaC1r+Cr3LaTgZLQRtaC9r4dtB+jipBbCPJ6bDO791/iPyB7jbpC/Z1yokQYJ5ZPV/rUV1u5MzxrHXQJ+LGmLtuP/mNNe0uDyTiJ9VocaWFa8s0Tgn++bMpfqgH7VY4L+IXeuWBG2O+tw5z4dhftIOhdrJtK6vp/0i4Cwo37OJiMTu9HoIxzHHv8ZPtrNxLOcnrJ2UdjAe6WqWN8cT3feD1taQmjvXHuiIP644M9si65dWNeeugTb/LxH5Oapu2wkv0jFaBdiPEtpgTyyLQeYSvoN3NGTGv7wBf4SwHbburlm89g10yJxJ+m5/06w1kB0PH7k1gLSSv9el8Zj2QeKxHiit82IMmaUud9OGEoC/xXS/ZWN84bllMNGToKgUH3F+MnGOXwLdshU6zS3KuLyfcu/dxUTvezIjZXTv4Hh7rJriQO3Q5IwPv3BNmj66e70jLgj2SU73kE/UFogaC42m78vnJFv1FnkAKnuN5a7PvsTuSRoAvysw1lYJ/Vpyd82sAxtmlOdkE2tWWRSms2M5XbXifzh9o3csFXl1NNsbpZDfXmua5PTsXrGf0YQ26KrZ5yOc7yIXz1u+SY7AebVXd9br+eDyYb2Qp54qgNhB7YXEdpeCfPgoQLVKGWCHCnj/1BLTVu6Q/1u4k/1zoSX7CpW7KEbk2x0u6PGM9M5/Rdq7fSHbI/4z0YR/0TR5fkdFf5GAserhUqR4EaiwFDz9I94kqiAUcGR940gk1l+jynRUv8jetss3g97rAXlLJV3dVha4exo090n1iXPnGDYScXJYrcuQd0GtrIXpoFflELh4H+m2OrXxSuoqVaUKEH0p9+JGiKyD6hoMd/PMZ+D2rYe79woz8+Y8eBu+ra8D2FD9Re8kWyjXWa6srzeqLtRbTWKyD4xHMmex8XOagT/QJNa2S/d3uddJvHKMM3SdNFPyTB9Q3seCgtsYvsEh0vHWxUI/pt4Uo+MDTABerLFSCmmb9TnxkE8CE30IFqOWSnvrgg+PpoEU+oIY5Pdc8x+4UZk8D3B62yAXUDLVb9tP7YXZZTHUA3BkD+GPGwgzUBjUa3qTw9ykWSn4I9D+H+C08gjS7eAAAAABJRU5ErkJggg==></a></div> <div><a href=http://chat.now.im/x/aeos>support throd</a> | <a href=https://github.com/aeosynth/4chan-x/issues>github</a> | <a href=http://userscripts.org/scripts/show/51412>uso</a></div> </div> <div><textarea style='display: none;' name=flavors>" + ($.config('flavors')) + "</textarea></div> <div id=time style='display: none;'> <div><input name=time value=" + ($.config('time')) + "></div> <table> <caption>Format specifiers <a href=http://en.wikipedia.org/wiki/Date_%28Unix%29#Formatting>(source)</a></caption> <tbody> <tr><th>Specifier</th><th>Description</th><th>Values/Example</th></tr> <tr><td>%a</td><td>weekday, abbreviated</td><td>Fri</td></tr> <tr><td>%d</td><td>day of the month (dd), zero padded</td><td>03</td></tr> <tr><td>%H</td><td>hour (24 hour clock) zero padded</td><td>13</td></tr> <tr><td>%m</td><td>mm month</td><td>06</td></tr> <tr><td>%M</td><td>MM minutes</td><td>54</td></tr> <tr><td>%y</td><td>yy two digit year</td><td>00-99</td></tr> </tbody> </table> </div> ";
html = " <div class=move>Options <a name=close>X</a></div> <hr> <div id=main> </div> <hr> <div id=floaty> <div><input type=button value='hidden: " + hiddenNum + "'></div> <div><a name=flavors>Sauce flavors</a></div> <div><a name=time>Time Formatting</a></div> </div> <div id=credits> <div><a href=https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=2DBVZBUAM4DHC&lc=US&item_name=Aeosynth&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHosted><img alt=Donate src=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFwAAAAaCAYAAAA67jspAAAEsUlEQVRo3u2a/W9TVRjH9yf0T+hPRhONMzNm2gB1S8SOIBshKpCwDsWXDdYSYGQbWwtMBBnddC8yda2L8mKDbWQbyuJW2ND5tg7IIFk2OlARNKaLmhj9wft4nudwTntv77p1PeGn2+ST7Xk5z3Pv95x7etvbgoIlvKCnCCwWpyDfFxUa3QYwewrgzxsA//1jYcbfdwFunQX42rM84UnoS9UA81MA/yYtcuGvOYAJ39KFJ7FvRtis3bbIh7uji4tOYv/Yz7aPGQsV/Da+sOgk9uRBto1ctVDJT/3mokPkMTYjYwC/f2OhmqF1kLG6tdGtoP16QRnBj4NQUPSKDnvZTvAFOiCZGFLaK1ewPx7ffesZ9+tXOZx5BLSxl0G7M6QM74GjUmSnu5GwrawhX3mNX2mvXIh/FeYTf6z9/vWdaALUOLV3n3WA9uV60G6eBu2XASU43Q0k7sj5D6UvcTksRY9fOpExBnOR5Ew0a22MYx7WM4tnq1Ne00z9I5EPTGumH68yLlaC1r+Cr3LaTgZLQRtaC9r4dtB+jipBbCPJ6bDO791/iPyB7jbpC/Z1yokQYJ5ZPV/rUV1u5MzxrHXQJ+LGmLtuP/mNNe0uDyTiJ9VocaWFa8s0Tgn++bMpfqgH7VY4L+IXeuWBG2O+tw5z4dhftIOhdrJtK6vp/0i4Cwo37OJiMTu9HoIxzHHv8ZPtrNxLOcnrJ2UdjAe6WqWN8cT3feD1taQmjvXHuiIP644M9si65dWNeeugTb/LxH5Oapu2wkv0jFaBdiPEtpgTyyLQeYSvoN3NGTGv7wBf4SwHbburlm89g10yJxJ+m5/06w1kB0PH7k1gLSSv9el8Zj2QeKxHiit82IMmaUud9OGEoC/xXS/ZWN84bllMNGToKgUH3F+MnGOXwLdshU6zS3KuLyfcu/dxUTvezIjZXTv4Hh7rJriQO3Q5IwPv3BNmj66e70jLgj2SU73kE/UFogaC42m78vnJFv1FnkAKnuN5a7PvsTuSRoAvysw1lYJ/Vpyd82sAxtmlOdkE2tWWRSms2M5XbXifzh9o3csFXl1NNsbpZDfXmua5PTsXrGf0YQ26KrZ5yOc7yIXz1u+SY7AebVXd9br+eDyYb2Qp54qgNhB7YXEdpeCfPgoQLVKGWCHCnj/1BLTVu6Q/1u4k/1zoSX7CpW7KEbk2x0u6PGM9M5/Rdq7fSHbI/4z0YR/0TR5fkdFf5GAserhUqR4EaiwFDz9I94kqiAUcGR940gk1l+jynRUv8jetss3g97rAXlLJV3dVha4exo090n1iXPnGDYScXJYrcuQd0GtrIXpoFflELh4H+m2OrXxSuoqVaUKEH0p9+JGiKyD6hoMd/PMZ+D2rYe79woz8+Y8eBu+ra8D2FD9Re8kWyjXWa6srzeqLtRbTWKyD4xHMmex8XOagT/QJNa2S/d3uddJvHKMM3SdNFPyTB9Q3seCgtsYvsEh0vHWxUI/pt4Uo+MDTABerLFSCmmb9TnxkE8CE30IFqOWSnvrgg+PpoEU+oIY5Pdc8x+4UZk8D3B62yAXUDLVb9tP7YXZZTHUA3BkD+GPGwgzUBjUa3qTw9ykWSn4I9D+H+C08gjS7eAAAAABJRU5ErkJggg==></a></div> <div><a href=http://chat.now.im/x/aeos>support throd</a> | <a href=https://github.com/aeosynth/4chan-x/issues>github</a> | <a href=http://userscripts.org/scripts/show/51412>uso</a></div> </div> <div><textarea style='display: none;' name=flavors>" + ($.config('flavors')) + "</textarea></div> <div id=time style='display: none;'> <div><input name=time value=" + ($.config('time')) + "> <span id=timePreview></span></div> <table> <caption>Format specifiers <a href=http://en.wikipedia.org/wiki/Date_%28Unix%29#Formatting>(source)</a></caption> <tbody> <tr><th>Specifier</th><th>Description</th><th>Values/Example</th></tr> <tr><td>%a</td><td>weekday, abbreviated</td><td>Fri</td></tr> <tr><td>%d</td><td>day of the month (dd), zero padded</td><td>03</td></tr> <tr><td>%H</td><td>hour (24 hour clock) zero padded</td><td>13</td></tr> <tr><td>%m</td><td>mm month</td><td>06</td></tr> <tr><td>%M</td><td>MM minutes</td><td>54</td></tr> <tr><td>%y</td><td>yy two digit year</td><td>00-99</td></tr> </tbody> </table> </div> ";
dialog = ui.dialog('options', {
top: '25%',
left: '25%'
@ -990,7 +990,9 @@
$.bind($('a[name=flavors]', dialog), 'click', options.flavors);
$.bind($('a[name=time]', dialog), 'click', options.time);
$.bind($('textarea[name=flavors]', dialog), 'change', $.cb.value);
return $.append(d.body, dialog);
$.bind($('input[name=time]', dialog), 'keyup', options.cb.time);
$.append(d.body, dialog);
return options.cb.time.call($('input[name=time]', dialog));
},
flavors: function() {
var ta;
@ -1016,6 +1018,12 @@
$.deleteValue("hiddenThreads/" + g.BOARD + "/");
this.value = "hidden: 0";
return g.hiddenReplies = {};
},
time: function(e) {
$.setValue('time', this.value);
time.foo();
time.date = new Date();
return $('#timePreview').textContent = time.funk(time);
}
}
};
@ -1670,6 +1678,25 @@
};
time = {
init: function() {
time.foo();
return g.callbacks.push(function(root) {
var day, hour, min, month, s, timeEl, year, _, _ref;
if (root.className === 'inline') {
return;
}
s = $('span[id^=no]', root).previousSibling;
_ref = s.textContent.match(/(\d+)\/(\d+)\/(\d+)\(\w+\)(\d+):(\d+)/), _ = _ref[0], month = _ref[1], day = _ref[2], year = _ref[3], hour = _ref[4], min = _ref[5];
year = "20" + year;
month -= 1;
hour = g.chanOffset + Number(hour);
time.date = new Date(year, month, day, hour, min);
timeEl = $.el('time', {
textContent: ' ' + time.funk(time) + ' '
});
return $.replace(s, timeEl);
});
},
foo: function() {
var code;
code = $.config('time').replace(/%(.)/g, function(s, c) {
switch (c) {
@ -1689,23 +1716,7 @@
return s;
}
});
time.funk = Function('time', "return '" + code + "'");
return g.callbacks.push(function(root) {
var day, hour, min, month, s, timeEl, year, _, _ref;
if (root.className === 'inline') {
return;
}
s = $('span[id^=no]', root).previousSibling;
_ref = s.textContent.match(/(\d+)\/(\d+)\/(\d+)\(\w+\)(\d+):(\d+)/), _ = _ref[0], month = _ref[1], day = _ref[2], year = _ref[3], hour = _ref[4], min = _ref[5];
year = "20" + year;
month -= 1;
hour = g.chanOffset + Number(hour);
time.date = new Date(year, month, day, hour, min);
timeEl = $.el('time', {
textContent: ' ' + time.funk(time) + ' '
});
return $.replace(s, timeEl);
});
return time.funk = Function('time', "return '" + code + "'");
},
zeroPad: function(n) {
if (n < 10) {

View File

@ -738,7 +738,7 @@ options =
</div>
<div><textarea style='display: none;' name=flavors>#{$.config 'flavors'}</textarea></div>
<div id=time style='display: none;'>
<div><input name=time value=#{$.config 'time'}></div>
<div><input name=time value=#{$.config 'time'}> <span id=timePreview></span></div>
<table>
<caption>Format specifiers <a href=http://en.wikipedia.org/wiki/Date_%28Unix%29#Formatting>(source)</a></caption>
<tbody>
@ -772,7 +772,9 @@ options =
$.bind $('a[name=flavors]', dialog), 'click', options.flavors
$.bind $('a[name=time]', dialog), 'click', options.time
$.bind $('textarea[name=flavors]', dialog), 'change', $.cb.value
$.bind $('input[name=time]', dialog), 'keyup', options.cb.time
$.append d.body, dialog
options.cb.time.call $('input[name=time]', dialog)
flavors: ->
ta = $ '#options textarea[name=flavors]'
@ -790,6 +792,11 @@ options =
$.deleteValue "hiddenThreads/#{g.BOARD}/"
@value = "hidden: 0"
g.hiddenReplies = {}
time: (e) ->
$.setValue 'time', @value
time.foo()
time.date = new Date()
$('#timePreview').textContent = time.funk time
cooldown =
init: ->
@ -1329,13 +1336,7 @@ sauce =
time =
init: ->
code = $.config('time').replace /%(.)/g, (s, c) ->
switch c
when '%' then '%'
when 'a', 'd', 'H', 'm', 'M', 'p', 'P', 'y' then "' + time.#{c}() + '"
else s
time.funk = Function 'time', "return '#{code}'"
time.foo()
g.callbacks.push (root) ->
return if root.className is 'inline'
s = $('span[id^=no]', root).previousSibling
@ -1351,6 +1352,14 @@ time =
textContent: ' ' + time.funk(time) + ' '
$.replace s, timeEl
foo: ->
code = $.config('time').replace /%(.)/g, (s, c) ->
switch c
when '%' then '%'
when 'a', 'd', 'H', 'm', 'M', 'p', 'P', 'y' then "' + time.#{c}() + '"
else s
time.funk = Function 'time', "return '#{code}'"
zeroPad: (n) -> if n < 10 then '0' + n else n
a: -> [
'Sun'