dsh-wisp 1.32.0 → 1.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -0
- package/lib/client.js +3309 -3191
- package/lib/client.template.js +3309 -3191
- package/package.json +1 -1
- package/verify-wisp.mjs +95 -78
package/README.md
CHANGED
|
@@ -448,6 +448,47 @@ node tools/audit-log.mjs --confirm <manifest> # 生成后:并入代理登
|
|
|
448
448
|
|
|
449
449
|
## 变更
|
|
450
450
|
|
|
451
|
+
### 1.33.0
|
|
452
|
+
|
|
453
|
+
**子菜单改成在**旁边**弹出。** 上一版做成了"在行下面内联展开" —— 那是网页的手风琴,
|
|
454
|
+
不是菜单栏。真正的 GUI 级联菜单(cascading menu / flyout)形状不一样:
|
|
455
|
+
|
|
456
|
+
```
|
|
457
|
+
┌──────────────────┐ ┌────────────────┐
|
|
458
|
+
│ 外观 深海女仆 ▸│──▶│ ✓ 深海女仆 │ ← 面板浮在行的**右侧**,
|
|
459
|
+
│ 行为 4/5 开 ▸│ │ 原版女仆 │ 与父行顶部对齐,
|
|
460
|
+
│ 位置 右下角 ▸│ │ 素绘女仆 │ 不把下面的内容推下去
|
|
461
|
+
└──────────────────┘ └────────────────┘
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
做对它的关键点,少一条都不算:
|
|
465
|
+
|
|
466
|
+
| 细节 | 为什么 |
|
|
467
|
+
|---|---|
|
|
468
|
+
| **面板是菜单的兄弟节点**(同一个 layer) | 才能探出菜单外面;内联展开永远做不到这一点。 |
|
|
469
|
+
| **右边放不下就翻到左侧**(▸ 变 ◂) | 否则子菜单被屏幕边缘切掉。 |
|
|
470
|
+
| **指针在「行」与「面板」之间算同一区域** | 两边都挂 enter/leave:任一边进入取消关闭,两边都离开才开始计宽限。 |
|
|
471
|
+
| **悬停是预览,点击是决定** | 悬停打开的随鼠标移开关闭;**点开的被钉住**,再点一次才收。 |
|
|
472
|
+
| **键盘 → / ←** | → 进子面板(焦点送进去),← 关面板并把焦点还给父行。 |
|
|
473
|
+
| **Esc 一次退一层** | 先关子面板,再关菜单。 |
|
|
474
|
+
|
|
475
|
+
**过程中修掉两个真 bug**(都是测试逼出来的):
|
|
476
|
+
|
|
477
|
+
1. **子面板泄漏**:`closeMenu` 里那句收面板写成了 `if (menuEl) closeFlyout()` ——
|
|
478
|
+
而那时 `menuEl` **已经被置空**,于是关菜单时子面板被**丢在屏幕上**。
|
|
479
|
+
2. **Esc 永远退不到子面板**:`onKey` 的**第一句**就是"Escape → 关菜单",
|
|
480
|
+
我那条"先关子面板"的分支排在后面,**永远轮不到**。诊断信息
|
|
481
|
+
`面板=还开着 菜单=被关了` 一眼看穿了它。
|
|
482
|
+
|
|
483
|
+
另外把四个行构造器(动作行 / 开关行 / 滑块 / 罗盘)从 `openMenu` 内部提到了模块级 ——
|
|
484
|
+
子面板要用同一批构造器,藏在 `openMenu` 里面就是一个 `ReferenceError`。
|
|
485
|
+
|
|
486
|
+
预检 524 → **529 项**:面板是菜单的兄弟、有定位、不与菜单重叠、悬停延迟、宽限、
|
|
487
|
+
指针移进面板算同一区域、路过不弹、触屏不弹、点击钉住、再点收起、手风琴、
|
|
488
|
+
→ 进面板并聚焦、← 关闭并还焦点、Esc 逐层退出。
|
|
489
|
+
|
|
490
|
+
### 1.32.0
|
|
491
|
+
|
|
451
492
|
### 1.32.0
|
|
452
493
|
|
|
453
494
|
**分组改成悬停展开、移开收起**(点一下仍然是"钉住")。
|