From 8317708bb6110420a92b1a23d77ec62755c2bc59 Mon Sep 17 00:00:00 2001 From: Daniel Onyejesi Date: Sun, 22 Mar 2026 16:56:28 -0400 Subject: [PATCH] Fix: load popover positioning, delete button, ICD-10 live search MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Wrap save-bar + popover in .save-bar-wrap (position:relative) so the absolute-positioned popover anchors correctly below the Load button (previously popovers were outside the save-bar, so had no positioned ancestor and appeared at the wrong place on screen) - Remove confirm() dialog from deleteEncounter — encounter disappears immediately from the popover list after deletion - ICD-10 diagnoses: replace static-only lookup with live NLM Clinical Tables API search (clinicaltables.nlm.nih.gov) with 280ms debounce; results appear in a dropdown below the search input; Enter/click selects - Add clinicaltables.nlm.nih.gov to CSP connect-src - Drop unused position:relative from .save-bar (now on .save-bar-wrap) --- public/css/styles.css | 10 +++- public/index.html | 104 +++++++++++++++++++++------------------- public/js/encounters.js | 1 - public/js/shadess.js | 102 ++++++++++++++++++++++++--------------- server.js | 2 +- 5 files changed, 129 insertions(+), 90 deletions(-) diff --git a/public/css/styles.css b/public/css/styles.css index 3421f53..622fdc3 100644 --- a/public/css/styles.css +++ b/public/css/styles.css @@ -358,7 +358,8 @@ body{font-family:'Inter',system-ui,sans-serif;background:var(--g50);color:var(-- .announcement-close:hover{opacity:1;} /* Save bar (encounter label + save/load) */ -.save-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--g50);border:1px solid var(--g200);border-radius:var(--radius);margin-bottom:10px;flex-wrap:wrap;position:relative;} +.save-bar-wrap{position:relative;margin-bottom:10px;} +.save-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--g50);border:1px solid var(--g200);border-radius:var(--radius);flex-wrap:wrap;} .save-label-input{flex:1;min-width:160px;font-size:13px;padding:5px 8px;border:1px solid var(--g200);border-radius:6px;background:white;} .save-label-input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 2px rgba(37,99,235,.12);} @@ -440,3 +441,10 @@ body{font-family:'Inter',system-ui,sans-serif;background:var(--g50);color:var(-- .ros-note-input{width:100%;} .dx-chip{font-size:10px;} } + +/* ICD-10 live search dropdown */ +.dx-results{position:absolute;top:calc(100% + 2px);left:0;right:0;background:white;border:1px solid var(--g300);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,0.12);z-index:400;max-height:240px;overflow-y:auto;} +.dx-result-item{padding:7px 12px;cursor:pointer;font-size:13px;border-bottom:1px solid var(--g100);} +.dx-result-item:last-child{border-bottom:none;} +.dx-result-item:hover{background:var(--g50);} +.dx-result-code{font-weight:700;color:var(--blue);margin-right:4px;} diff --git a/public/index.html b/public/index.html index 2c5a38d..40952f2 100644 --- a/public/index.html +++ b/public/index.html @@ -212,20 +212,22 @@ -
-
- - +
+
+
+ + +
+ +
- - -
-