跳到内容
新问题

对这个项目有疑问吗?注册一个免费的GitHub帐户以打开一个问题,并联系其维护者和社区。

单击“注册GitHub”,表示您同意我们的服务条款隐私声明。我们偶尔会向您发送与帐户相关的电子邮件。

已经在GitHub上了?登录到您的帐户

经典块:修复撤消键盘快捷方式 #23376

已合并
将5个提交合并到 2020年6月29日
已合并

对话

格伦达维森茨
复制链接
贡献者

@格伦达维森茨 格伦达维森茨 评论2020年6月23日

描述

陷阱撤销经典框中的键盘快捷方式,以允许TinyMCE撤销堆栈工作,否则cmd-z/ctrl-z会导致以不可重新删除的方式删除所有经典块内容。

修复 #22797个

进行测试

在本地开发环境中查看PR
添加经典块
在块中添加几个段落
使用cmd-z/ctr-z撤消键盘快捷键,并确保经典块保持原位,并且只撤消块中的更改。
关注另一个块并检查cmd-z/ctrl-z是否仍能与其他块一起正常工作

屏幕截图

之前:

经典之前

之后:

古典之后

变更类型

在经典编辑器块中添加按键检查

检查清单:

  • 我的代码已经过测试。
  • 我的代码遵循WordPress代码风格。
  • 我的代码有适当的内联文档。

@github-操作
复制链接

github-操作 机器人程序 评论2020年6月23日

尺寸变化:+25亿(0%)

总大小:1.13 MB

文件名 大小 更改
build/block-library/index.js 129千字节 +25亿(0%)
ℹ️查看未更改
文件名 大小 更改
构建/a11y/index.js 1.14千字节 0亿
构建/注释/index.js 3.62千字节 0亿
构建/api-fetch/index.js 3.4千字节 0亿
构建/auto/index.js 2.82千巴 0亿
构建/blob/index.js 620亿 0亿
build/block-directory/index.js 7.39千字节 0亿
构建/块目录/样式-rtl.css 941亿 0亿
构建/块目录/样式.css 942亿 0亿
build/block-editor/index.js 109千字节 0亿
构建/块编辑器/style-rtl.css 10.7千字节 0亿
构建/块编辑器/样式.css 10.7千字节 0亿
build/block-library/editor-rtl.css 7.58千字节 0亿
build/block-library/editor.css 7.58千字节 0亿
build/block-library/style-rtl.css 8.04千字节 0亿
build/block-library/style.css 8.05千字节 0亿
构建/块库/theme-rtl.css 730亿 0亿
构建/块库/theme.css 732亿 0亿
构建/块序列化默认解析器/index.js 1.88千字节 0亿
build/block-serialization-specifi-parser/index.js 3.1千字节 0亿
build/blocks/index.js 48.2千字节 0亿
build/components/index.js 198千字节 0亿
build/components/style-rtl.css 15.9千字节 0亿
构建/组件/样式.css 15.9千字节 0亿
构建/合成/索引.js 9.65千字节 0亿
构建/core-data/index.js 11.4千字节 0亿
构建/数据控制/索引.js 1.29千字节 0亿
build/data/index.js 8.44千字节 0亿
构建/日期/索引.js 5.47千字节 0亿
build/deprecated/index.js 772亿 0亿
build/dom-ready/index.js版本 569亿 0亿
build/dom/index.js版本 3.19千字节 0亿
构建/编辑导航/index.js 9.87千字节 0亿
构建/编辑导航/样式-rtl.css 1.02千字节 0亿
构建/编辑导航/样式.css 1.02千字节 0亿
build/edit-post/index.js 303千字节 0亿
构建/编辑-发布/样式-rtl.css 5.51千字节 0亿
构建/编辑-发布/样式.css 5.5千字节 0亿
build/edit-site/index.js 16.6千字节 0亿
构建/编辑site/style-rtl.css 3.03千字节 0亿
构建/编辑site/style.css 3.03千字节 0亿
build/edit-widgets/index.js 9.32千字节 0亿
build/edit-widgets/style-rtl.css 2.42千字节 0亿
构建/编辑小部件/style.css 2.42千字节 0亿
build/editor/editor-styles-rtl.css 537亿 0亿
构建/编辑器/编辑器样式.css 539亿 0亿
build/editor/index.js 44.8千字节 0亿
构建/编辑器/样式-rtl.css 3.85千字节 0亿
构建/编辑器/样式.css 3.86千字节 0亿
构建/元素/索引js 4.65千字节 0亿
构建/转义-html/index.js 733亿 0亿
build/format-library/index.js 7.72千字节 0亿
build/format-library/style-rtl.css 547亿 0亿
构建/格式库/样式.css 548亿 0亿
build/hooks/index.js 2.13千字节 0亿
build/html-entities/index.js 622亿 0亿
build/i18n/index.js版本 3.56千字节 0亿
build/浅等于/index.js 711亿 0亿
构建/键盘快捷方式/index.js 2.51千字节 0亿
build/keycodes/index.js 1.94千字节 0亿
build/list-reasable-blocks/index.js 3.12千字节 0亿
构建/list-rusable-blocks/style-rtl.css 450亿 0亿
build/list-rusable-blocks/style.css 451亿 0亿
build/media-utils/index.js 5.29千字节 0亿
build/notices/index.js 1.79千字节 0亿
构建/nux/index.js 3.4千字节 0亿
build/nux/style-rtl.css 671亿 0亿
build/nux/style.css 668亿 0亿
build/plugins/index.js 2.56千字节 0亿
build/primitives/index.js 1.5千字节 0亿
构建/priority-queue/index.js 788亿 0亿
build/redux-routine/index.js 2.85千字节 0亿
构建/rich-text/index.js 14千字节 0亿
build/server-side-render/index.js 2.68千字节 0亿
build/shortcode/index.js 1.7千字节 0亿
构建/token-list/index.js 1.28千字节 0亿
构建/url/index.js 4.06千字节 0亿
build/viewport/index.js 1.85千字节 0亿
build/warning/index.js 1.14千字节 0亿
构建/wordcount/index.js 1.17千字节 0亿

压缩尺寸作用

@格伦达维森茨 格伦达维森茨将此拉取请求标记为草稿 2020年6月23日02:29
@格伦达维森茨 格伦达维森茨更改了标题经典块:修复撤消键盘快捷方式 [WIP]经典块:修复撤消键盘快捷方式 2020年6月23日
@格伦达维森茨 格伦达维森茨补充这个[状态]正在进行 跟踪正在进行的工作中的问题标签2020年6月23日
@格伦达维森茨
复制链接
贡献者 作者

当页面上存在其他块时,此方法会出现一些小问题,正在处理这些问题。

@格伦达维森茨 格伦达维森茨将此拉入请求标记为已准备好进行审阅 2020年6月23日23:04
@格伦达维森茨 格伦达维森茨远离的这个[状态]正在进行 跟踪正在进行的工作中的问题标签2020年6月23日
@格伦达维森茨
复制链接
贡献者 作者

格伦达维森茨 评论2020年6月23日

不确定在编辑器为空时恢复到gutenberg undo是最好的方法,还是在经典块编辑器聚焦时阻止undo传播,无论它是否为空?

目前,一旦编辑器为空,PR将恢复到gutenberg undo,但我认为,对于任何使用经典块的人来说,它可能是页面/帖子上唯一的块,所以将所有undo键盘快捷键捕获在块中可以为用户提供最佳体验,并使数据丢失的可能性最小?

@格伦达维森茨 格伦达维森茨更改了标题[WIP]经典块:修复撤消键盘快捷方式 经典块:修复撤消键盘快捷方式 2020年6月24日
@格伦达维森茨
复制链接
贡献者 作者

格伦达维森茨 评论2020年6月24日

我尝试了两种方法:

  • 当Classic Block被聚焦时,会在块内设置撤销键盘快捷键陷阱,以防止运行任何gutenberg撤销操作。这限制了用户无意中使用cmd-z删除块并且无法重做以取回内容的风险。然而,这确实意味着,如果页面上有其他块,则撤消键盘快捷键不会对这些块产生任何影响,直到经典块未聚焦为止。
  • 这个其他方法是在TinyMCE撤消达到空编辑器状态时恢复到gutenberg撤消。虽然这允许在存在其他块的情况下回退到gutenberg undo,而无需取消对Classic块的聚焦,但使用此方法很容易无意中删除Classic块,然后无法访问TinyMCE重做堆栈以获取内容。

考虑到使用Classic块的用户99.9%的时间将集中在单个块上,而不是页面上的多个块上,我认为在集中时将撤消键盘快捷键限制在Classic块上是防止此数据丢失错误的最简单方法。

也许我们可以更好地将TinyMCE撤销堆栈集成到更广泛的gutenberg撤销堆栈中,但考虑到Classic块实际上并不打算用作多块页面布局的一部分,我认为不值得增加这可能需要的额外复杂性。

@创造性编码器
复制链接
贡献者

考虑到使用Classic块的用户99.9%的时间将集中在单个块上,而不是页面上的多个块上,我认为在集中时将撤消键盘快捷键限制在Classic块上是防止此数据丢失错误的最简单方法。

我同意——当Classic块被关注时,保持撤销键盘快捷键被捕获似乎是可用性的最佳平衡,同时防止内容丢失。

复制链接
贡献者

@邋遢鬼 邋遢鬼 留下了评论

选择隐藏此评论的原因

将显示原因,以便向其他人描述此评论。了解更多信息.

按说明工作。我喜欢你寻求的解决方案。

复制链接
贡献者

@ntsekouras公司 ntsekouras公司 留下了评论

选择隐藏此评论的原因

将显示原因,以便向其他人描述此评论。了解更多信息.

@格伦达维森茨。谢谢您的关注!

此LGTM和防止在使用经典的块。

@格伦达维森茨 格伦达维森茨合并提交6676de7个进入之内 主人 2020年6月29日
@格伦达维森茨 格伦达维森茨删除了 修复/经典块撤消 分支 2020年6月29日21:51
@github-操作 github-操作 机器人程序将此添加到古腾堡8.5里程碑2020年6月29日
免费注册 在GitHub上加入此对话.已经有账户了吗?登录以发表评论
标签
[Block]经典 影响经典编辑器块 [类型]Bug 现有功能无法按预期工作
项目
还没有
开发

成功合并此拉取请求可能会解决这些问题。

Classic Block删除使用键盘快捷键[Ctrl/Cmd+Z]时无法“重做[ne]”的内容
4名参与者