Skip to content

Commit 326eb38

Browse files
authored
Merge pull request #314 from nexB/272-refine-column-groups
Refine ScanData view column groups
2 parents 2c8e4c1 + e17d8e1 commit 326eb38

File tree

1 file changed

+84
-15
lines changed

1 file changed

+84
-15
lines changed

assets/app/js/controllers/aboutCodeScanDataTable.js

Lines changed: 84 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
839882
AboutCodeScanDataTable.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

848917
module.exports = AboutCodeScanDataTable;

0 commit comments

Comments
 (0)