@@ -138,6 +138,16 @@ class AboutCodeScanDataTable extends Controller {
138138 . filter ( ( column ) => AboutCodeScanDataTable . LOCATION_COLUMN . indexOf ( column ) < 0 )
139139 . map ( ( column ) => `${ column . name } :name` )
140140 } ,
141+ {
142+ // Show only FileInfo columns
143+ extend : 'colvisGroup' ,
144+ text : 'File info' ,
145+ show : AboutCodeScanDataTable . FILEINFO_GROUP
146+ . map ( ( column ) => `${ column . name } :name` ) ,
147+ hide : AboutCodeScanDataTable . TABLE_COLUMNS
148+ . filter ( ( column ) => AboutCodeScanDataTable . FILEINFO_GROUP . indexOf ( column ) < 0 )
149+ . map ( ( column ) => `${ column . name } :name` )
150+ } ,
141151 {
142152 // Show only origin columns
143153 extend : 'colvisGroup' ,
@@ -443,30 +453,53 @@ class AboutCodeScanDataTable extends Controller {
443453 AboutCodeScanDataTable . PACKAGE_COLUMNS ) ;
444454 }
445455
456+ static get FILEINFO_COLUMNS ( ) {
457+ return $ . grep ( AboutCodeScanDataTable . TABLE_COLUMNS , ( column ) => {
458+ return $ . inArray ( column . name , AboutCodeScanDataTable . FILEINFO_COLUMN_NAMES ) >= 0 ;
459+ } ) ;
460+ }
461+
446462 static get ORIGIN_COLUMNS ( ) {
447463 return $ . grep ( AboutCodeScanDataTable . TABLE_COLUMNS , ( column ) => {
448464 return $ . inArray ( column . name , AboutCodeScanDataTable . ORIGIN_COLUMN_NAMES ) >= 0 ;
449465 } ) ;
450466 }
451467
468+ static get CUSTOM_LICENSE_COLUMNS ( ) {
469+ return $ . grep ( AboutCodeScanDataTable . TABLE_COLUMNS , ( column ) => {
470+ return $ . inArray ( column . name , AboutCodeScanDataTable . LICENSE_COLUMN_NAMES ) >= 0 ;
471+ } ) ;
472+ }
473+
474+ static get CUSTOM_PACKAGE_COLUMNS ( ) {
475+ return $ . grep ( AboutCodeScanDataTable . TABLE_COLUMNS , ( column ) => {
476+ return $ . inArray ( column . name , AboutCodeScanDataTable . PACKAGE_COLUMN_NAMES ) >= 0 ;
477+ } ) ;
478+ }
479+
452480 static get LICENSE_GROUP ( ) {
453481 return AboutCodeScanDataTable . LOCATION_COLUMN
454- . concat ( AboutCodeScanDataTable . LICENSE_COLUMNS ) ;
482+ . concat ( AboutCodeScanDataTable . CUSTOM_LICENSE_COLUMNS ) ;
455483 }
456484
457485 static get COPYRIGHT_GROUP ( ) {
458486 return AboutCodeScanDataTable . LOCATION_COLUMN
459487 . concat ( AboutCodeScanDataTable . COPYRIGHT_COLUMNS ) ;
460488 }
461489
490+ static get FILEINFO_GROUP ( ) {
491+ return AboutCodeScanDataTable . LOCATION_COLUMN
492+ . concat ( AboutCodeScanDataTable . FILEINFO_COLUMNS ) ;
493+ }
494+
462495 static get ORIGIN_GROUP ( ) {
463496 return AboutCodeScanDataTable . LOCATION_COLUMN
464497 . concat ( AboutCodeScanDataTable . ORIGIN_COLUMNS ) ;
465498 }
466499
467500 static get PACKAGE_GROUP ( ) {
468501 return AboutCodeScanDataTable . LOCATION_COLUMN
469- . concat ( AboutCodeScanDataTable . PACKAGE_COLUMNS ) ;
502+ . concat ( AboutCodeScanDataTable . CUSTOM_PACKAGE_COLUMNS ) ;
470503 }
471504}
472505
@@ -492,7 +525,7 @@ AboutCodeScanDataTable.COPYRIGHT_COLUMNS =
492525 'title' : 'Copyright Statements' ,
493526 'name' : 'copyright_statements' ,
494527 'bar_chart_class' : 'bar-chart-copyrights' ,
495- 'visible' : true
528+ 'visible' : false
496529 } ,
497530 {
498531 'data' : function ( row ) {
@@ -558,7 +591,7 @@ AboutCodeScanDataTable.LICENSE_COLUMNS =
558591 'title' : 'License Short Name' ,
559592 'name' : 'license_short_name' ,
560593 'bar_chart_class' : 'bar-chart-licenses' ,
561- 'visible' : true
594+ 'visible' : false
562595 } ,
563596 {
564597 'data' : 'license_category[<hr/>]' ,
@@ -684,7 +717,7 @@ AboutCodeScanDataTable.FILE_COLUMNS =
684717 'title' : 'File Extension' ,
685718 'name' : 'extension' ,
686719 'bar_chart_class' : 'bar-chart-file-infos' ,
687- 'visible' : false
720+ 'visible' : true
688721 } ,
689722 {
690723 'data' : 'date' ,
@@ -702,7 +735,7 @@ AboutCodeScanDataTable.FILE_COLUMNS =
702735 'data' : 'sha1' ,
703736 'title' : 'SHA1' ,
704737 'name' : 'sha1' ,
705- 'visible' : true
738+ 'visible' : false
706739 } ,
707740 {
708741 'data' : 'md5' ,
@@ -720,7 +753,7 @@ AboutCodeScanDataTable.FILE_COLUMNS =
720753 'data' : 'mime_type' ,
721754 'title' : 'MIME Type' ,
722755 'name' : 'mime_type' ,
723- 'visible' : false
756+ 'visible' : true
724757 } ,
725758 {
726759 'data' : 'file_type' ,
@@ -734,7 +767,7 @@ AboutCodeScanDataTable.FILE_COLUMNS =
734767 'title' : 'Language' ,
735768 'name' : 'programming_language' ,
736769 'bar_chart_class' : 'bar-chart-file-infos' ,
737- 'visible' : false
770+ 'visible' : true
738771 } ,
739772 {
740773 'data' : 'is_binary' ,
@@ -836,13 +869,49 @@ AboutCodeScanDataTable.PACKAGE_COLUMNS =
836869 } ,
837870 ] ;
838871
872+ AboutCodeScanDataTable . FILEINFO_COLUMN_NAMES =
873+ [
874+ 'name' ,
875+ 'extension' ,
876+ 'size' ,
877+ 'mime_type' ,
878+ 'file_type' ,
879+ 'programming_language'
880+ ] ;
881+
839882AboutCodeScanDataTable . ORIGIN_COLUMN_NAMES =
840- [
841- 'copyright_statements' ,
842- 'license_short_name' ,
843- 'license_category' ,
844- 'email' ,
845- 'url'
846- ] ;
883+ [
884+ 'copyright_statements' ,
885+ 'license_short_name' ,
886+ 'license_category' ,
887+ 'email' ,
888+ 'url' ,
889+ 'mime_type' ,
890+ 'file_type' ,
891+ 'programming_language'
892+ ] ;
893+
894+ AboutCodeScanDataTable . LICENSE_COLUMN_NAMES =
895+ [
896+ 'license_expressions' ,
897+ 'license_key' ,
898+ 'license_score' ,
899+ 'license_short_name' ,
900+ 'license_category' ,
901+ 'license_owner' ,
902+ 'license_spdx_key' ,
903+ 'license_start_line' ,
904+ 'license_end_line'
905+ ] ;
906+
907+ AboutCodeScanDataTable . PACKAGE_COLUMN_NAMES =
908+ [
909+ 'packages_type' ,
910+ 'packages_name' ,
911+ 'packages_version' ,
912+ 'packages_declared_licensing' ,
913+ 'packages_primary_language' ,
914+ 'packages_purl'
915+ ] ;
847916
848917module . exports = AboutCodeScanDataTable ;
0 commit comments