You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
背景
Web GUI 的交付卡片(
present声明的文件)上,两个主要交互都指向"在右侧边栏预览":PresentedFileCard里覆盖整卡的透明按钮onClick: onPreviewonClick: onPreview(aria 才是presented.previewButton「在侧边栏打开 {name}」)⌄菜单onAction("open")/onAction("reveal")按钮文案是「打开」,但绑的是预览动作 —— 用户很容易以为卡片坏了或者"打开"没反应(我自己就先这么误会了一次)。
建议
把交付卡片的默认动作做成可配置,而不是把"用默认程序打开"藏在
⌄菜单里。三档覆盖实际使用习惯:onAction("open"),已有实现,只是入口深)onAction("reveal"),已有实现)配置粒度建议是全局默认 + 每次可选(卡片设置里切换默认档,
⌄菜单仍可临时选其它档)。相关讨论 #7549 提到卡片动作集还可以扩展(例如 headless 场景的 Download),说明这块动作面本来就在演进中。临时方案(我已上传补丁,欢迎自取,也欢迎官方收编)
在官方给出配置项之前,我用本地补丁把「打开」按钮改成了系统默认程序打开(卡片本体仍是侧边栏预览)。实测有效,已开源:
https://github.com/bolide737/dsh-patches →
patches/card-open-native/补丁源码(就一行)
定位方式:
PresentedFileCard内、children为t("presented.action")的那个按钮。若想让整张卡片也走默认程序打开,把卡片本体那处onClick: onPreview同样替换即可。用法
或手动:编辑上面那个文件 → 改这一行 → 刷新浏览器页面(纯客户端 bundle,不需要重启 DSH)。
注意事项
node_modules里已发布 bundle 的本地补丁,DSH 升级会被覆盖,需要重打;仓库里附了脚本与原理文档。环境
DSH
0.1.5-rc.2(Web GUI)+ Windows 11。若官方愿意收编,我很乐意把三档配置的实现整理成 PR;如果设计上更倾向于"动作全部平铺在卡片上"(不做默认档),也欢迎说明取舍 —— 我这边只关心"点一下就能用系统程序打开"这件事变得可发现。All reactions