From 455f4ca7839d3a1e3d5bdad539f0c224b7e1f26c Mon Sep 17 00:00:00 2001 From: jinchao <383321154@qq.com> Date: Wed, 11 Jun 2025 15:35:46 +0800 Subject: [PATCH] =?UTF-8?q?V0.21.12.250611=5Falpha:=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=9B=91=E6=8E=A7=E6=90=9C=E7=B4=A2=E6=A1=86?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Release/database/XNSim.db | Bin 1224704 -> 1224704 bytes XNSimHtml/components/data-monitor.js | 48 ++++++++++++++++++++++++++- 2 files changed, 47 insertions(+), 1 deletion(-) diff --git a/Release/database/XNSim.db b/Release/database/XNSim.db index 0e2cae0beace2bd75a0847eaf1560af41d0d5c36..e066432a09a26c59a557b49925c5c4226b759d86 100644 GIT binary patch delta 297 zcmZp8;MMTJYl1Xm-$WT_#=gdc)&$0_2~11gGaK{XpU(b)$(o7x{&uGiOtX2Xzy8a_ z#bjjM4y1vY8Hibcm=%cGfS4VKIkvz4%PIMZS(H%*sFzEViBV>}dtXojI4MC{3)Sx?vRdC|V*+0-phcC322aO=yti(a<( zKHoj#aYGZA5lq<*#a+)=?s_(T+p`4|pU&$Bn)zh+wx@fVp6=KIRF{~No0-?X=OY&o Za|1CC5c2{t9}x2cvB35{9|c|Z0RZkAniK#4 delta 130 zcmZp8;MMTJYl1Xm??f4A#@@z+)&$0_2~11gGaK=~p3eS($$GoX2d3G)69f3B-~Y?R z)&BJ_6A&{4F$)m00x=s9vjZ{5_OE|A`9Cp>Fzx|r$zULzs5OV`D4-oSL SF&_}~1F^vNJs$;K_5lEj!$08w diff --git a/XNSimHtml/components/data-monitor.js b/XNSimHtml/components/data-monitor.js index 236b996..2105a62 100644 --- a/XNSimHtml/components/data-monitor.js +++ b/XNSimHtml/components/data-monitor.js @@ -161,7 +161,44 @@ class DataMonitor extends HTMLElement { // 设置新的定时器,300ms后执行搜索 this.searchTimeout = setTimeout(() => { this.filteredInterfaces = this.filterInterfaces(this.searchText); - this.render(); + + // 只更新树型控件部分 + const treeView = this.shadowRoot.querySelector('.tree-view'); + if (treeView) { + // 按ModelStructName分组 + const groupedInterfaces = this.filteredInterfaces.reduce((groups, item) => { + const group = groups[item.ModelStructName] || []; + group.push(item); + groups[item.ModelStructName] = group; + return groups; + }, {}); + + // 更新树型控件内容 + treeView.innerHTML = Object.entries(groupedInterfaces).map(([groupName, items]) => ` +
+
+ + ${groupName} +
+
+ ${items.map(item => ` +
+ ${item.InterfaceName} +
+ `).join('')} +
+
+ `).join(''); + + // 重新绑定树节点双击事件 + this.shadowRoot.querySelectorAll('.interface-item').forEach(itemEl => { + itemEl.ondblclick = (e) => { + const name = itemEl.getAttribute('data-interfacename'); + const struct = itemEl.getAttribute('data-modelstructname'); + this.handleTreeItemDblClick({ InterfaceName: name, ModelStructName: struct }); + }; + }); + } // 在下一个事件循环中恢复焦点和光标位置 requestAnimationFrame(() => { @@ -764,6 +801,7 @@ class DataMonitor extends HTMLElement { padding-right: 16px; display: flex; flex-direction: column; + min-width: 300px; } .search-box { @@ -781,10 +819,13 @@ class DataMonitor extends HTMLElement { .tree-view { flex-grow: 1; overflow-y: auto; + min-height: 200px; + width: 100%; } .tree-group { margin-bottom: 8px; + width: 100%; } .group-header { @@ -796,11 +837,14 @@ class DataMonitor extends HTMLElement { display: flex; align-items: center; gap: 8px; + width: 100%; + box-sizing: border-box; } .group-content { margin-left: 20px; display: block; + width: calc(100% - 20px); } .group-content.collapsed { @@ -813,6 +857,8 @@ class DataMonitor extends HTMLElement { border-radius: 4px; margin: 2px 0; user-select: none; + width: 100%; + box-sizing: border-box; } .interface-item:hover {