@@ -32,6 +32,11 @@
|
||||
<i class="fas fa-project-diagram me-1"></i>Network Map
|
||||
</button>
|
||||
</li>
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link" id="documents-tab" data-bs-toggle="tab" data-bs-target="#documents" type="button" role="tab">
|
||||
<i class="fas fa-file-alt me-1"></i>Documents
|
||||
</button>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="ms-auto d-flex align-items-center">
|
||||
<span class="text-secondary small me-2" id="userDisplay"></span>
|
||||
@@ -136,6 +141,56 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane fade" id="documents" role="tabpanel">
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<h4><i class="fas fa-file-alt text-primary"></i> Documents</h4>
|
||||
<small class="text-secondary">Standardized forms for deployments, attacks, incident reports & more</small>
|
||||
</div>
|
||||
<div class="col-md-6 text-end">
|
||||
<div class="btn-group btn-group-sm">
|
||||
<button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#documentModal">
|
||||
<i class="fas fa-plus me-1"></i> New Document
|
||||
</button>
|
||||
<button type="button" class="btn btn-outline-secondary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown"></button>
|
||||
<ul class="dropdown-menu dropdown-menu-end bg-dark border-secondary">
|
||||
<li><a class="dropdown-item small" href="#" onclick="openNewDocument('deployment')"><i class="fas fa-server me-2 text-info"></i>Deployment</a></li>
|
||||
<li><a class="dropdown-item small" href="#" onclick="openNewDocument('attack')"><i class="fas fa-bolt me-2 text-danger"></i>Attack</a></li>
|
||||
<li><a class="dropdown-item small" href="#" onclick="openNewDocument('incident-report')"><i class="fas fa-exclamation-triangle me-2 text-warning"></i>Incident Report</a></li>
|
||||
<li><a class="dropdown-item small" href="#" onclick="openNewDocument('remediation')"><i class="fas fa-wrench me-2 text-success"></i>Remediation</a></li>
|
||||
<li><a class="dropdown-item small" href="#" onclick="openNewDocument('exercise')"><i class="fas fa-dumbbell me-2 text-primary"></i>Exercise</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-4">
|
||||
<select class="form-select form-select-sm" id="docTeamFilter">
|
||||
<option value="">All Teams</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<select class="form-select form-select-sm" id="docTypeFilter">
|
||||
<option value="">All Types</option>
|
||||
<option value="deployment">Deployment</option>
|
||||
<option value="attack">Attack</option>
|
||||
<option value="incident-report">Incident Report</option>
|
||||
<option value="remediation">Remediation</option>
|
||||
<option value="exercise">Exercise</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<input type="text" class="form-control form-control-sm" id="searchDocs" placeholder="Search documents...">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="documentContainer">
|
||||
<div class="text-center text-secondary py-5">
|
||||
<div class="spinner-border" role="status"></div>
|
||||
<p class="mt-2">Loading documents...</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -338,6 +393,53 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ==================== DOCUMENT MODAL ==================== -->
|
||||
<div class="modal fade" id="documentModal" tabindex="-1">
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-content bg-dark">
|
||||
<div class="modal-header border-secondary">
|
||||
<h5 class="modal-title"><i class="fas fa-file-alt text-primary me-1"></i> <span id="documentModalLabel">New Document</span></h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form id="documentForm">
|
||||
<div class="row mb-2">
|
||||
<div class="col">
|
||||
<label class="form-label small">Type</label>
|
||||
<select class="form-select form-select-sm" id="docType" onchange="updateDocFormFields()">
|
||||
<option value="deployment">Deployment</option>
|
||||
<option value="attack">Attack</option>
|
||||
<option value="incident-report">Incident Report</option>
|
||||
<option value="remediation">Remediation</option>
|
||||
<option value="exercise">Exercise</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col">
|
||||
<label class="form-label small">Team</label>
|
||||
<select class="form-select form-select-sm" id="docTeam" required></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-2">
|
||||
<label class="form-label small">Title</label>
|
||||
<input type="text" class="form-control form-control-sm" id="docTitle" required placeholder="e.g. Deploy new WAF, Phishing attack detected...">
|
||||
</div>
|
||||
<div class="mb-2" id="docFieldsContainer">
|
||||
<div id="dynamicDocFields"></div>
|
||||
</div>
|
||||
<div class="mb-0">
|
||||
<label class="form-label small">Notes / Additional Info</label>
|
||||
<textarea class="form-control form-control-sm" id="docContent" rows="4" placeholder="Any additional details..."></textarea>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer border-secondary">
|
||||
<button type="button" class="btn btn-sm btn-secondary" data-bs-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary" id="saveDocument"><i class="fas fa-save me-1"></i> Save Document</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ==================== SETTINGS MODAL ==================== -->
|
||||
<div class="modal fade" id="settingsModal" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
|
||||
Reference in New Issue
Block a user