Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Capability to hide items in slash menu #1

Closed
XeroChina opened this issue Dec 29, 2023 · 19 comments
Closed

Capability to hide items in slash menu #1

XeroChina opened this issue Dec 29, 2023 · 19 comments

Comments

@XeroChina
Copy link

编辑器里按“/",会出现快捷功能菜单,能否隐藏这个菜单中的内容呢?我想把”AI Chat"去除掉。国内根本用不了Open AI。
image

@zxkmm
Copy link
Owner

zxkmm commented Dec 29, 2023

谢谢建议,这个菜单是编辑器的内容块里面调用的,我暂时不知道如果也是用现阶段的DOM监听 + style改none的方式会对性能有多大的影响。因为理论上如果文本又长内容块又多的话,遍历的时间复杂度会变成指数函数。
我没有读过思源的编辑器前端实现,不太好下定论。
等我先实现一下,然后我先自己观察一下,如果对性能影响不大的话,我就把这个功能集成到新版本中。
如果比较急的话也可以在上架之前关注一下新的测试branch.

@zxkmm zxkmm changed the title 可以增加隐藏功能菜单中的选项 Capability to hide items in slash menu Jan 6, 2024
@Xiaobaishushu25
Copy link

你好,请问这个功能现在处于什么状态?

@zxkmm
Copy link
Owner

zxkmm commented Feb 13, 2024

我在想比监听器优雅的方案,因为这个功能的性能折扣暂时没办法接受。(我是完美主义者)

@Xiaobaishushu25
Copy link

我在想比监听器优雅的方案,因为这个功能的性能折扣暂时没办法接受。(我是完美主义者)

了解,支持,感谢😀

@jiusun
Copy link

jiusun commented Mar 14, 2024

可以考虑在 设置-外观-代码片段 中添加一个自定义的CSS样式来屏蔽按 / 里不想要的菜单

/** 编辑器 / 命令中的 AI Chat */
[data-value="%E2%80%8B5"]
{
  display: none !important;
}

@zxkmm
Copy link
Owner

zxkmm commented Mar 14, 2024

感谢!
请问您是否介意我把这个功能加到插件中?
设置页面会加上您的名字,或者也可以您PR
如果您愿意的话也可以发布一个新的插件。
感谢!

@TCOTC
Copy link
Collaborator

TCOTC commented Mar 15, 2024

菜单实在太满了,期待添加这个功能

@zxkmm
Copy link
Owner

zxkmm commented Mar 17, 2024

@TCOTC 抱歉,可能要原作者同意我才能加上。

@TCOTC
Copy link
Collaborator

TCOTC commented Mar 17, 2024

@jiusun

@jiusun
Copy link

jiusun commented Mar 19, 2024

没问题。不过我在实际使用时发现一个问题,通过CSS隐藏后通过键盘 选择时还是能选中已经隐藏菜单。可能得通过其他办法删除对应的 button 节点才行,如果使用鼠标操作则不会有问题。

@TCOTC 抱歉,可能要原作者同意我才能加上。

@zxkmm
Copy link
Owner

zxkmm commented Mar 19, 2024

没问题。不过我在实际使用时发现一个问题,通过CSS隐藏后通过键盘 选择时还是能选中已经隐藏菜单。可能得通过其他办法删除对应的 button 节点才行,如果使用鼠标操作则不会有问题。

感谢!经过您的提醒我发现现阶段我的实现方法也存在上下键会依然选中条目的问题。我先去查一下怎么完全铲掉node,我不太会写。
不过css性能更高,等铲掉node实现以后,可能会把当前的功能全都改成可选css实现,给需要高性能而且不介意上下键‘依然能选中item的用户使用。

@zxkmm
Copy link
Owner

zxkmm commented Mar 19, 2024

查了一下可以用remove() method

@jiusun
Copy link

jiusun commented Mar 19, 2024

查了一下可以用remove() method

我有在使用一个插入当前时间的插件,这个插件会在 / 的菜单最后增加几个选项。也许可以参考一下是不是可以反过来删除某些选项。

image

@zxkmm
Copy link
Owner

zxkmm commented Mar 19, 2024

感谢!我去读一下ta的实现

@HowcanoeWang
Copy link

近期这个功能是否有进展?

@zxkmm
Copy link
Owner

zxkmm commented Dec 13, 2024

您好,谢谢关注!
目前思源那边已经做了适配,可以用纯css实现斜杠菜单隐藏, 并且不会影响键盘上下键高亮.
目前我这边的计划是明年先把思源那边的普通菜单也实现同样的结构,(可以用纯css实现斜杠菜单隐藏, 并且不会影响键盘上下键高亮), 然后这个插件再做适配.
这样就可以删掉所有监听器了

@Xiaobaishushu25
Copy link

您好,谢谢关注! 目前思源那边已经做了适配,可以用纯css实现斜杠菜单隐藏, 并且不会影响键盘上下键高亮. 目前我这边的计划是明年先把思源那边的普通菜单也实现同样的结构,(可以用纯css实现斜杠菜单隐藏, 并且不会影响键盘上下键高亮), 然后这个插件再做适配. 这样就可以删掉所有监听器了

请问怎么用纯css实现斜杆菜单隐藏并且不影响键盘上下键高亮,我用楼里的解决办法并且更新到最新版仍存在高亮问题。

@TCOTC
Copy link
Collaborator

TCOTC commented Feb 15, 2025

通过CSS隐藏后通过键盘 ↑ ↓ 选择时还是能选中已经隐藏菜单

请问怎么用纯css实现斜杆菜单隐藏并且不影响键盘上下键高亮,我用楼里的解决办法并且更新到最新版仍存在高亮问题。

其他菜单隐藏选项不会影响键盘上下键,但当时把斜杠菜单漏掉了所以才不行,我看看能不能改 siyuan-note/siyuan#14111

@zxkmm
Copy link
Owner

zxkmm commented Feb 20, 2025

@zxkmm zxkmm closed this as completed Feb 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants