summaryrefslogtreecommitdiff
path: root/hugo/js/jqplot/plugins/jqplot.byteFormatter.js
diff options
context:
space:
mode:
Diffstat (limited to 'hugo/js/jqplot/plugins/jqplot.byteFormatter.js')
-rw-r--r--hugo/js/jqplot/plugins/jqplot.byteFormatter.js46
1 files changed, 46 insertions, 0 deletions
diff --git a/hugo/js/jqplot/plugins/jqplot.byteFormatter.js b/hugo/js/jqplot/plugins/jqplot.byteFormatter.js
new file mode 100644
index 0000000..7a18370
--- /dev/null
+++ b/hugo/js/jqplot/plugins/jqplot.byteFormatter.js
@@ -0,0 +1,46 @@
+/* vim: set expandtab sw=4 ts=4 sts=4: */
+/**
+ * jqplot formatter for byte values
+ *
+ * @package phpMyAdmin
+ */
+(function($) {
+ "use strict";
+ var formatByte = function (val, index) {
+ var units = [
+ PMA_messages.strB,
+ PMA_messages.strKiB,
+ PMA_messages.strMiB,
+ PMA_messages.strGiB,
+ PMA_messages.strTiB,
+ PMA_messages.strPiB,
+ PMA_messages.strEiB
+ ];
+ while (val >= 1024 && index <= 6) {
+ val /= 1024;
+ index++;
+ }
+ var format = '%.1f';
+ if (Math.floor(val) === val) {
+ format = '%.0f';
+ }
+ return $.jqplot.sprintf(
+ format + ' ' + units[index], val
+ );
+ };
+ /**
+ * The index indicates what unit the incoming data will be in.
+ * 0 for bytes, 1 for kilobytes and so on...
+ */
+ $.jqplot.byteFormatter = function (index) {
+ index = index || 0;
+ return function (format, val) {
+ if (typeof val === 'number') {
+ val = parseFloat(val) || 0;
+ return formatByte(val, index);
+ } else {
+ return String(val);
+ }
+ };
+ };
+})(jQuery);