Skip to content

移动端支持块拖拽调整位置操作 #11328

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

Open
5kyfkr opened this issue May 9, 2024 · 2 comments
Open

移动端支持块拖拽调整位置操作 #11328

5kyfkr opened this issue May 9, 2024 · 2 comments

Comments

@5kyfkr
Copy link

5kyfkr commented May 9, 2024

In what scenarios do you need this feature?

如题,现在移动端编辑最难用的地方应该就是没办法像桌面端一样拖拽调整块的位置,建议能像以下FlowUs的操作,直接长按拖拽块实现,或者在块标菜单里增加块向上移动和向下移动功能,也能解决大半的需求这个已支持,就是如果移动位置较远就不够便捷。

Describe the optimal solution

4e4aa48834939348f6336e3dc4504647.mp4

最佳方案:支持直接长按块或块标拖拽排序

Describe the candidate solution

候选方案:块标菜单及编辑工具栏增加向上移动、向下移动功能,如下视频是编辑工具栏内的向上移动和向下移动,感觉也不错。

185988d09f182d5efd324cd16b4f79df.mp4

Other information

@KuiyueRO
Copy link

KuiyueRO commented Sep 9, 2024

思源移动端问题

支持!!目前移动端编辑和阅读体验都不错,最难受的就是触控相关的问题。这里说一点我的发现供d大v姐参考(当然不完全,我是新手🥲)

测试设备

  • ipad pro(iPadOS 18)
  • 安卓墨水平板
  • 安卓手机
  • windows开发者工具:设备仿真

这里我暂时将平板和手机都称为移动端。

上面几个设备的表现基本一致。ipad要怪一点,pdf标注得同时按住左右键,拖拽会触发系统自带的文本图片拖拽。

我测试了连接键盘、鼠标、笔和触控。

鼠标模式下,pdf的文字和框选标注能用,拖拽等功能正常。

触控下这些都不正常了,在部分设备上甚至能选到ui上的文字。

所以我们是不是可以假设pdf这些功能没什么毛病,问题出在mouse和touch上。

在触控下发现的一些问题

  • 移动端中可以划动选择UI上的文字

    • ios长按
    • 安卓全选
  • 文档树、标签页、块在移动端中无法拖拽

    • iOS和iPadOS是情况特殊,它调用了系统自带的拖拽文本功能,这个系统功能的拖拽不知道会不会影响块引用等功能。
  • pdf无法标注。但也不是完全不能标注,选择文字后点击任意菜单就可以弹出标注工具栏。

  • 框选多选等

测试

用了一个简单的js片段将touch事件模拟为mouse后,编辑器内确实可以实现框选和多选了,但拖拽等功能依然无法使用,还是默认弹出菜单。

此时以为是弹出菜单打断了拖拽,所以用preventdefault阻止了菜单的弹出,但是块和标签页只是高亮一下,保持选择,没有下一步了。

这时候就怀疑不只是打断,可能还有其他问题。所以用开发者工具的性能看了一下鼠标和设备仿真。

  • 设备仿真下只有touch start,touch move和touch end
  • 鼠标下还会触发focus in,focus out和另外一套事件。

手机上没图,晚上发一下,d大v姐修修移动端的触控吧,爱用平板😭

@KuiyueRO
Copy link

鼠标下。

image

当开启设备仿真后

image

image

image

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

2 participants