diff --git a/dfir_yaml_editor.html b/dfir_yaml_editor.html index 8e86706..12cdb33 100644 --- a/dfir_yaml_editor.html +++ b/dfir_yaml_editor.html @@ -442,6 +442,10 @@
${tool.description}
${tool.description}
@@ -981,7 +1006,8 @@ phases: ...(tool.platforms || []), tool.skillLevel || '', tool.license || '', - tool.accessType || '' + tool.accessType || '', + tool.knowledgebase ? 'knowledgebase' : '' ].join(' ').toLowerCase(); if (searchableText.includes(searchTerm)) { @@ -1013,6 +1039,7 @@ phases: document.getElementById('license').value = tool.license || ''; document.getElementById('accessType').value = tool.accessType || ''; document.getElementById('statusUrl').value = tool.statusUrl || ''; + document.getElementById('knowledgebase').checked = tool.knowledgebase || false; // Set platforms const platforms = tool.platforms || []; @@ -1095,6 +1122,7 @@ phases: url: document.getElementById('url').value, projectUrl: document.getElementById('projectUrl').value, license: document.getElementById('license').value, + knowledgebase: document.getElementById('knowledgebase').checked, tags: getTags() }; @@ -1253,6 +1281,30 @@ phases: } } + function bulkSetKnowledgebase(value) { + if (selectedTools.size === 0) { + alert('No tools selected'); + return; + } + + const action = value ? 'set as knowledgebase' : 'remove knowledgebase flag from'; + if (!confirm(`Are you sure you want to ${action} ${selectedTools.size} selected tools?`)) { + return; + } + + selectedTools.forEach(index => { + if (yamlData.tools[index]) { + yamlData.tools[index].knowledgebase = value; + } + }); + + const actionCompleted = value ? 'marked as knowledgebase' : 'removed knowledgebase flag from'; + alert(`Successfully ${actionCompleted} ${selectedTools.size} tools`); + + updateStats(); // Refresh knowledgebase count + renderBulkGrid(); + } + function bulkClearField(fieldName) { if (selectedTools.size === 0) { alert('No tools selected');