diff --git a/backend/api/index.php b/backend/api/index.php index 033a984..540fa3d 100644 --- a/backend/api/index.php +++ b/backend/api/index.php @@ -337,6 +337,25 @@ function handleEvents($method, $id, $db) { ]); echo json_encode(['id' => $db->lastInsertId()]); break; + case 'PUT': + if ($id) { + $data = json_decode(file_get_contents('php://input'), true); + $fields = []; + $params = []; + foreach (['team_id','title','description','severity','event_type','occurred_at'] as $f) { + if (isset($data[$f])) { + $fields[] = "$f = ?"; + $params[] = $data[$f]; + } + } + if ($fields) { + $params[] = $id; + $stmt = $db->prepare("UPDATE events SET " . implode(', ', $fields) . " WHERE id = ?"); + $stmt->execute($params); + } + echo json_encode(['updated' => true]); + } + break; case 'DELETE': if ($id) { $stmt = $db->prepare("DELETE FROM events WHERE id = ?"); diff --git a/frontend/assets/js/app.js b/frontend/assets/js/app.js index 9db8bf4..c38337e 100644 --- a/frontend/assets/js/app.js +++ b/frontend/assets/js/app.js @@ -3,6 +3,7 @@ let teams = []; let events = []; let documents = []; let editingDocId = null; +let linkingEventId = null; let nodes = []; let links = []; let shapes = []; @@ -131,6 +132,7 @@ function initApp() { document.getElementById('saveNode').addEventListener('click', saveNode); document.getElementById('saveLink').addEventListener('click', saveLink); document.getElementById('saveShape').addEventListener('click', saveShape); + document.getElementById('saveLinkDocs').addEventListener('click', saveLinkDocs); document.getElementById('addUserBtn').addEventListener('click', addUser); document.getElementById('logoutBtn').addEventListener('click', logout); document.getElementById('teamFilter').addEventListener('change', renderTimeline); @@ -269,8 +271,12 @@ function renderTimeline() {
' + renderDocLinks(e.description) + '
' : ''} -