$.bytesToString

This commit is contained in:
Nicolas Stepien 2012-06-13 23:38:32 +02:00
parent 97d725ce34
commit 414846c1df
2 changed files with 32 additions and 24 deletions

View File

@ -469,6 +469,16 @@
}); });
$.add(d.head, script); $.add(d.head, script);
return $.rm(script); return $.rm(script);
},
bytesToString: function(size) {
var unit;
unit = 0;
while (size >= 1024) {
size /= 1024;
unit++;
}
size = unit > 1 ? Math.round(a * 100) / 100 : Math.round(size);
return "" + size + " " + ['B', 'KB', 'MB', 'GB'][unit];
} }
}); });
@ -3058,7 +3068,7 @@
} }
}, },
parseArchivedPost: function(req, board, postID, root, cb) { parseArchivedPost: function(req, board, postID, root, cb) {
var bq, data, date, email, file, filesize, isOP, nameBlock, p, pc, pi, piM, span, time, unit; var bq, data, date, email, file, filesize, isOP, nameBlock, p, pc, pi, piM, span, time;
data = JSON.parse(req.response); data = JSON.parse(req.response);
if (data.error) { if (data.error) {
root.textContent = data.error; root.textContent = data.error;
@ -3182,16 +3192,10 @@
id: "f" + postID, id: "f" + postID,
className: 'file' className: 'file'
}); });
filesize = data.media_size; filesize = $.bytesToString(data.media_size);
unit = 0;
while (filesize >= 1024) {
filesize /= 1024;
unit++;
}
filesize = unit > 1 ? (a * 100).toFixed() / 100 : filesize.toFixed();
$.add(file, $.el('div', { $.add(file, $.el('div', {
className: 'fileInfo', className: 'fileInfo',
innerHTML: "<span id=fT" + postID + " class=fileText>File: <a href='" + (data.media_link || data.remote_media_link) + "' target=_blank>" + data.media_orig + "</a>-(" + filesize + " " + ['B', 'KB', 'MB', 'GB'][unit] + ", " + data.media_w + "x" + data.media_h + ", <span title></span>)</span>" innerHTML: "<span id=fT" + postID + " class=fileText>File: <a href='" + (data.media_link || data.remote_media_link) + "' target=_blank>" + data.media_orig + "</a>-(" + filesize + ", " + data.media_w + "x" + data.media_h + ", <span title></span>)</span>"
})); }));
span = $('span[title]', file); span = $('span[title]', file);
span.title = data.media_filename; span.title = data.media_filename;
@ -3200,7 +3204,7 @@
className: 'fileThumb', className: 'fileThumb',
href: data.media_link || data.remote_media_link, href: data.media_link || data.remote_media_link,
target: '_blank', target: '_blank',
innerHTML: "<img src=" + data.thumb_link + " alt='" + (data.spoiler === '1' ? 'Spoiler Image, ' : '') + filesize + " " + ['B', 'KB', 'MB', 'GB'][unit] + "' data-md5=" + data.media_hash + " style='height: " + data.preview_h + "px; width: " + data.preview_w + "px;'>" innerHTML: "<img src=" + data.thumb_link + " alt='" + (data.spoiler === '1' ? 'Spoiler Image, ' : '') + filesize + "' data-md5=" + data.media_hash + " style='height: " + data.preview_h + "px; width: " + data.preview_w + "px;'>"
})); }));
$.after((isOP ? $('.postInfoM', p) : $('.postInfo', p)), file); $.after((isOP ? $('.postInfoM', p) : $('.postInfo', p)), file);
} }

View File

@ -356,6 +356,21 @@ $.extend $,
script = $.el 'script', textContent: code script = $.el 'script', textContent: code
$.add d.head, script $.add d.head, script
$.rm script $.rm script
bytesToString: (size) ->
unit = 0 # Bytes
while size >= 1024
size /= 1024
unit++
# Remove trailing 0s.
size =
if unit > 1
# Keep the size as a float if the size is greater than 2^20 B.
# Round to hundredth.
Math.round(a * 100) / 100
else
# Round to an integer otherwise.
Math.round size
"#{size} #{['B', 'KB', 'MB', 'GB'][unit]}"
$.cache.requests = {} $.cache.requests = {}
@ -2477,21 +2492,10 @@ Get =
file = $.el 'div', file = $.el 'div',
id: "f#{postID}" id: "f#{postID}"
className: 'file' className: 'file'
filesize = data.media_size filesize = $.bytesToString data.media_size
unit = 0 # Bytes
while filesize >= 1024
filesize /= 1024
unit++
# Keep the filesize as a float if the unit is in MBs.
# Remove trailing 0s.
filesize =
if unit > 1
(a * 100).toFixed() / 100
else
filesize.toFixed()
$.add file, $.el 'div', $.add file, $.el 'div',
className: 'fileInfo' className: 'fileInfo'
innerHTML: "<span id=fT#{postID} class=fileText>File: <a href='#{data.media_link or data.remote_media_link}' target=_blank>#{data.media_orig}</a>-(#{filesize} #{['B', 'KB', 'MB', 'GB'][unit]}, #{data.media_w}x#{data.media_h}, <span title></span>)</span>" innerHTML: "<span id=fT#{postID} class=fileText>File: <a href='#{data.media_link or data.remote_media_link}' target=_blank>#{data.media_orig}</a>-(#{filesize}, #{data.media_w}x#{data.media_h}, <span title></span>)</span>"
span = $ 'span[title]', file span = $ 'span[title]', file
span.title = data.media_filename span.title = data.media_filename
span.textContent = span.textContent =
@ -2503,7 +2507,7 @@ Get =
className: 'fileThumb' className: 'fileThumb'
href: data.media_link or data.remote_media_link href: data.media_link or data.remote_media_link
target: '_blank' target: '_blank'
innerHTML: "<img src=#{data.thumb_link} alt='#{if data.spoiler is '1' then 'Spoiler Image, ' else ''}#{filesize} #{['B', 'KB', 'MB', 'GB'][unit]}' data-md5=#{data.media_hash} style='height: #{data.preview_h}px; width: #{data.preview_w}px;'>" innerHTML: "<img src=#{data.thumb_link} alt='#{if data.spoiler is '1' then 'Spoiler Image, ' else ''}#{filesize}' data-md5=#{data.media_hash} style='height: #{data.preview_h}px; width: #{data.preview_w}px;'>"
$.after (if isOP then $('.postInfoM', p) else $('.postInfo', p)), file $.after (if isOP then $('.postInfoM', p) else $('.postInfo', p)), file