[ 
https://issues.apache.org/jira/browse/HDFS-6407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14529143#comment-14529143
 ] 

Haohui Mai commented on HDFS-6407:
----------------------------------

{code}
+jQuery.fn.dataTable.ext.type.detect.unshift( function ( data ) {
+        if ( typeof data !== 'string' ) {
+                return null;
+        }
+
+        var units = data.replace( /[\d\.]/g, '' ).toLowerCase().trim();
+        if ( units !== '' && units !== 'b' && units !== 'kb' && units !== 'mb' 
&& units !== 'gb' && units !== 'tb' && units !== 'pb' ) {
+                return null;
+        }
+        return isNaN( parseFloat( data.trim() ) ) ?
+                null :
+                'file-size';
+} );
+
+jQuery.fn.dataTable.ext.type.detect.unshift( function ( data ) {
+        if ( typeof data !== 'string' ) {
+                return null;
+        }
+
+        var units = data.replace( /[\d\.\(\%\)]/g, '' ).toLowerCase().trim();
+        if ( units !== '' && units !== 'b' && units !== 'kb' && units !== 'mb' 
&& units !== 'gb' && units !== 'tb' && units !== 'pb' ) {
+                return null;
+        }
+        return isNaN( parseFloat( data.trim() ) ) ?
+                null :
+                'file-size-percent';
+} );
+
+/**
+ * When dealing with computer file sizes, it is common to append a post fix
+ * such as B, KB, MB or GB to a string in order to easily denote the order of
+ * magnitude of the file size. This plug-in allows sorting to take these
+ * indicates of size into account.
+ * 
+ * A counterpart type detection plug-in is also available.
+ *
+ *  @name File size
+ *  @summary Sort abbreviated file sizes correctly (8MB, 4KB, etc)
+ *  @author Allan Jardine - datatables.net
+ *
+ *  @example
+ *    $('#example').DataTable( {
+ *       columnDefs: [
+ *         { type: 'file-size', targets: 0 }
+ *       ]
+ *    } );
+ */
+
+jQuery.fn.dataTable.ext.type.order['file-size-pre'] = function ( data ) {
+    var units = data.replace( /[\d\.]/g, '' ).toLowerCase().trim();
+    var multiplier = 1;
+
+    if ( units === 'kb' ) {
+        multiplier = 1000;
+    }
+    else if ( units === 'mb' ) {
+        multiplier = 1000000;
+    }
+    else if ( units === 'gb' ) {
+        multiplier = 1000000000;
+    }
+    else if ( units === 'tb' ) {
+        multiplier = 1000000000000;
+    }
+    else if ( units === 'pb' ) {
+        multiplier = 1000000000000000;
+    }
+    return parseFloat( data ) * multiplier;
+};
+
+jQuery.fn.dataTable.ext.type.order['file-size-percent-pre'] = function ( data 
) {
+    var units = data.replace( /[\d\.\(\%\)]/g, '' ).toLowerCase().trim();
+    var multiplier = 1;
+
+    if ( units === 'kb' ) {
+        multiplier = 1000;
+    }
+    else if ( units === 'mb' ) {
+        multiplier = 1000000;
+    }
+    else if ( units === 'gb' ) {
+        multiplier = 1000000000;
+    }
+    else if ( units === 'tb' ) {
+        multiplier = 1000000000000;
+    }
+    else if ( units === 'pb' ) {
+        multiplier = 1000000000000000;
+    }
+    return parseFloat( data ) * multiplier;
{code}

The data is available as 64-bit longs in the JMX output. The template engine 
generates the strings.

Just to echo my previous comments -- reparsing the string is error-prone and 
should be avoided.

> new namenode UI, lost ability to sort columns in datanode tab
> -------------------------------------------------------------
>
>                 Key: HDFS-6407
>                 URL: https://issues.apache.org/jira/browse/HDFS-6407
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: namenode
>    Affects Versions: 2.4.0
>            Reporter: Nathan Roberts
>            Assignee: Benoy Antony
>            Priority: Minor
>         Attachments: 002-datanodes-sorted-capacityUsed.png, 
> 002-datanodes.png, 002-filebrowser.png, 002-snapshots.png, 
> HDFS-6407-002.patch, HDFS-6407-003.patch, HDFS-6407.patch, 
> browse_directory.png, datanodes.png, snapshots.png
>
>
> old ui supported clicking on column header to sort on that column. The new ui 
> seems to have dropped this very useful feature.
> There are a few tables in the Namenode UI to display  datanodes information, 
> directory listings and snapshots.
> When there are many items in the tables, it is useful to have ability to sort 
> on the different columns.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to