' $.each(data[1].hardwareInfo.cpuInfo.cpuDetails, function(i, v) {
cpuDetailsHtml +=
`
| CPU Model name: | ${v.modelName} |
| Vendor-, Family-, Model-ID: | ${v.vendorId} / ${v.cpuFamilyId} / ${v.cpuModelId} |
| Frequency (Mhz): | ${v.frequencyMhz} |
| Cache size: | ${v.cacheSizeKb} |
| CPU Cores: | ${v.cores} |
`
if (i % 2 != 0 && i < (data[1].hardwareInfo.cpuInfo.cpuDetails.length - 1)) { //new row after seconds element, if not last element in collection
cpuDetailsHtml += '
${v.name} Timer element: ${vv.cronInfo.id} | ${vv.cronInfo.cron} (${vv.cronInfo.cronHumanReadable}) | ${!vv.cronInfo.isExternalized?'No':`Externalized via parameter ${vv.cronInfo.patternName}`} | ${vv.cronInfo.nextThreeFires.join('')}
|
`
})
})
$('#tbl-tbl-scheduler-iflow-rows').html(htmlTblSchedulerByIFlowRows)
$('.load-scheduler-info').hide()
}
```
--------------------------------
### Render Security Material Table
Source: https://github.com/codebude/cpi-dashboard/blob/master/Webfrontend/index.html
Populates a table with security material details, including ID, type, username, and password. Includes functionality to toggle password visibility.
```javascript
function renderSecurityMaterial(data) {
try {
var htmlTblSecmatRows = ""
$.each(data, function(i, v) {
htmlTblSecmatRows += `