diff --git a/vdvc-register-viewer.html b/vdvc-register-viewer.html
index 35c32d8..3048902 100644
--- a/vdvc-register-viewer.html
+++ b/vdvc-register-viewer.html
@@ -8,40 +8,111 @@
:root { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
html, body { height: 100%; }
body { margin: 0; display: flex; flex-direction: column; overflow: hidden; }
+
+ /* Keep the upper row */
header { padding: 12px 16px; border-bottom: 1px solid #ddd; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
header .meta { margin-left: auto; opacity: 0.85; font-size: 12px; }
- main { display: grid; grid-template-columns: 1fr 420px; gap: 0; flex: 1; min-height: 0; overflow: hidden; }
+ .pill { display: inline-block; padding: 2px 8px; border-radius: 999px; border: 1px solid #ddd; font-size: 12px; }
+ .pill.warn { border-color: #f2c200; }
+ .pill.bad { border-color: #d92d20; }
- .panel { border-right: 1px solid #eee; display: flex; flex-direction: column; min-height: 0; }
- .panel:last-child { border-right: 0; }
- .toolbar { padding: 10px 12px; border-bottom: 1px solid #eee; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
- button { padding: 8px 10px; border: 1px solid #ccc; border-radius: 8px; background: #fff; cursor: pointer; }
- button:disabled { opacity: 0.55; cursor: not-allowed; }
- .status { font-size: 12px; opacity: 0.85; }
+ main { flex: 1; min-height: 0; overflow: hidden; display: flex; flex-direction: column; }
- textarea {
- width: 100%;
- flex: 1;
- min-height: 0;
- border: 0;
- outline: none;
- padding: 12px;
- font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
- font-size: 13px;
- line-height: 1.35;
- white-space: pre-wrap;
- word-break: break-word;
- overflow: auto;
+ /* New single-column editor UI */
+ .controls {
+ padding: 10px 12px;
+ border-bottom: 1px solid #eee;
+ display: flex;
+ gap: 10px;
+ align-items: center;
+ flex-wrap: wrap;
}
- pre { margin: 0; padding: 12px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; line-height: 1.35; white-space: pre-wrap; word-break: break-word; }
- .side { flex: 1; min-height: 0; overflow: auto; }
- .pill { display: inline-block; padding: 2px 8px; border-radius: 999px; border: 1px solid #ddd; font-size: 12px; }
- .warn { color: #b00; }
+ .controls .spacer { flex: 1; }
+ .controls input[type="search"]{
+ padding: 8px 10px;
+ border: 1px solid #ccc;
+ border-radius: 8px;
+ min-width: 260px;
+ }
+
+ button {
+ padding: 8px 10px;
+ border: 1px solid #ccc;
+ border-radius: 8px;
+ background: #fff;
+ cursor: pointer;
+ }
+ button:disabled { opacity: 0.55; cursor: not-allowed; }
+
+ .status { padding: 8px 12px; font-size: 12px; opacity: 0.85; border-bottom: 1px solid #eee; }
+
+ .tableWrap { flex: 1; min-height: 0; overflow: auto; }
+
+ table { width: 100%; border-collapse: collapse; table-layout: fixed; }
+ thead th {
+ position: sticky; top: 0;
+ background: #fafafa;
+ z-index: 1;
+ text-align: left;
+ font-weight: 600;
+ font-size: 12px;
+ padding: 10px 8px;
+ border-bottom: 1px solid #e5e5e5;
+ cursor: pointer;
+ user-select: none;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+ tbody td {
+ padding: 8px;
+ border-bottom: 1px solid #f0f0f0;
+ vertical-align: top;
+ font-size: 13px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+ tbody tr:hover { background: #fcfcfc; }
+ tbody tr.selected { background: #eef6ff; }
+ tbody tr.group { background: #f7f7f7; }
+ tbody tr.group td { font-weight: 600; }
+
+ .cell input{
+ width: 100%;
+ padding: 6px 8px;
+ border: 1px solid transparent;
+ border-radius: 6px;
+ background: transparent;
+ font: inherit;
+ color: inherit;
+ }
+ .cell input:focus{
+ outline: none;
+ border-color: #9ec5fe;
+ background: #fff;
+ }
+
+ .muted { opacity: .7; }
+ .mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
+
+ /* Column widths */
+ th.col-mincode, td.col-mincode { width: 110px; }
+ th.col-minname, td.col-minname { width: 260px; }
+ th.col-orgcode, td.col-orgcode { width: 110px; }
+ th.col-nmr, td.col-nmr { width: 160px; }
+ th.col-prefix, td.col-prefix { width: 120px; }
+ th.col-orgname, td.col-orgname { width: 420px; }
+ th.col-actions, td.col-actions { width: 110px; }
+ td.col-actions { white-space: nowrap; }
+
+ .hint { font-size: 12px; opacity: .75; }
+
VDVC Register Viewer
clean
@@ -50,26 +121,39 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
XML: unknown
+
-
+
+ Edit cells directly. Select a row to add organizations under that ministry or delete a record. Use the parent “Save” button to commit.
+
+
+
+
+
+
+ | Min code |
+ Ministry name |
+ Org code |
+ NMR |
+ Doc prefix |
+ Organization name |
+ Action |
+
+
+
+
+
+
+
+
-