github.com/Racer159/jackal@v0.32.7-0.20240401174413-0bd2339e4f2e/src/internal/packager/sbom/viewer/viewer.js (about)

     1  function initSelector() {
     2  	const url = /sbom-viewer-(.*).html*$/gim.exec(window.location.href)[1];
     3  
     4  	JACKAL_SBOM_LIST.sort().forEach((item) => {
     5  		let selected = url === item ? 'selected' : '';
     6  		sbomSelector.add(new Option(item, item, selected, selected));
     7  	});
     8  }
     9  
    10  function initData() {
    11  	const payload = JACKAL_SBOM_DATA;
    12  
    13  	const transformedData = payload.artifacts.map((artifact) => {
    14  		return [
    15  			artifact.type,
    16  			artifact.name,
    17  			artifact.version,
    18  			fileList(artifact.locations, artifact.name),
    19  			(artifact.metadata && fileList(artifact.metadata.files, artifact.name)) || '-',
    20  			(artifact.metadata && artifact.metadata.description) || '-',
    21  			((artifact.metadata && artifact.metadata.maintainer) || '-').replace(
    22  				/\u003c(.*)\u003e/,
    23  				mailtoMaintainerReplace
    24  			),
    25  			(artifact.metadata && artifact.metadata.installedSize) || '-'
    26  		];
    27  	});
    28  
    29  	const data = {
    30  		headings: ['Type', 'Name', 'Version', 'Sources', 'Package Files', 'Notes', 'Maintainer', 'Size'],
    31  		data: transformedData
    32  	};
    33  
    34  	if (window.dt) {
    35  		window.dt.destroy();
    36  	}
    37  
    38  	distroInfo.innerHTML = payload.distro.prettyName || 'No Base Image Detected';
    39  
    40  	window.dt = new simpleDatatables.DataTable(artifactsTable, {
    41  		data,
    42  		perPage: 20
    43  	});
    44  }
    45  
    46  function compare() {
    47  	window.location.href = 'compare.html';
    48  }
    49  
    50  initSelector();
    51  initData();