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();