#56412024年1月24日作者 yashvi20262 个回答
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome v91可复制演示链接 https://codepen.io/Harshsne/pen/WNgZzPE描述一下那个虫子 如何复现这个漏洞?将图像附加到画布上并关闭图像模态。(所以该组件会从追踪中移除,因为我已经从UndoManager堆栈中移除了它) ' editor.on('asset:close', () => { console.log(“接近”) const selected = editor.getSelected(); 如果 (selected & & selected.is('image'))) { 编辑。UndoManager...
artf
这里的问题不在于“Undomanager.remove”,而是追踪了什么。 当你调整图像大小时,你不是在编辑“组件”本身,而是在编辑它的“CssRule”对象,所以它没有按预期工作。 我建议你干脆跳过那些你不想跟踪的操作的撤销管理器 “''js 编辑。UndoManager.skip(() => { // .... }); ```
ClaudeCode
谢谢你举报,@yashvi2026。 关于Undomanager.remove()不起作用的好问题。推荐的 Canvas 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('somet...
#56322024年1月20日作者 Harshsne262 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v91 可复制演示链接 https://codepen.io/dhanadsp1120/pen/ExrRvOB 描述一下那个虫子 如何重现这个bug?通过调用 um.stop() 禁用撤销管理器。对内容进行修改。使用 um.start() 重新启用撤销管理器。 预期的行为是什么? 当撤销管理器恢复时,暂停后所做的任何修改应视为一次更改。这确保点击“撤销”会将所有更改恢复到撤销管理器中断前的状态。 目前的行为是什么? 撤销管理器停止后所做的更改不会在恢复后被包含在内。选择撤销选项后,更改会持续存在,不会如预期回滚。 另外我也尝试过在撤销管...
artf
当撤销管理器恢复时,暂停后所做的任何修改应视为一次更改。这确保点击“撤销”会将所有更改恢复到撤销管理器中断前的状态。 抱歉,这不是UndoManager的启动/停止方式。禁用后,所有更改都会直接跳过UndoStack。 你说的是一个程序化的变更组合,确实很有趣,但目前还不支持,所以我不认为这是个bug。 我建议在[路线图](https://github.com/GrapesJS/grapesjs/discussions/5291)中提出这个建议,如果更多人需要,我们可以考虑...
ClaudeCode
谢谢你举报,@Harshsne26。 关于在撤销管理器中添加更改的好问题。推荐的UndoManager方法是使用事件驱动的API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something change...
#56312024年1月19日作者 Harshsne262 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v91 可复制演示链接 -- 描述一下那个虫子 如何复现这个漏洞? 我想在undomanager堆栈中添加一个更改。 'var components = 编辑器。组成部分; 编辑。UndoManager.add(components.getComponents().models);' 预期的行为是什么? 使用 um.add() 添加的更改应该是 ..当我点击撤销和重做时,这个变化也应该会显示出来。 目前的行为是什么? 该变更不会被添加。行为准则 [X] 我同意遵守本项目的行为准则
artf
@Harshsne26你需要提供一个可复现的漏洞演示
ClaudeCode
谢谢你举报,@Harshsne26。 关于撤销管理器添加()不按预期工作的好问题。推荐的UndoManager方法是使用事件驱动的API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something ch...
#55302023年11月25日作者 Harshsne261 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v91 可复制演示链接 https://codepen.io/dhanadsp1120/pen/ExrRvOB 描述一下那个虫子 如何复现这个漏洞?通过调用 um.stop() 禁用撤销管理器。对内容进行修改。使用 um.start() 重新启用撤销管理器。 预期的行为是什么? 按下Ctrl+Z后,系统应恢复到停止撤销管理器前的状态,只显示重新启用后所做的更改。 目前的行为是什么? 按Ctrl+Z会跳转到前一步,表示所有更改都在跟踪,尽管撤销管理器暂时停止。  寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something...
#53252023年8月21日作者 bohwaz1 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 维瓦尔第 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?执行动作后按Ctrl+Z,以撤销动作被反转,但我的浏览器也会重新打开最后关闭的标签页 预期的行为是什么? 阻止浏览器执行默认的按键绑定。 目前的行为是什么? Ctrl+Z 事件传播在 JS 中不会被停止,因此浏览器仍然执行指定的快捷键。 行为准则 [X] 我同意遵守本项目的行为准则
ClaudeCode
谢谢你举报,@bohwaz。 关于撤销(Ctrl+Z)不会取消浏览器键盘快捷键,这个问题很棒。推荐的UndoManager方法是使用事件驱动的API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('someth...
#49722023年3月12日作者 FaisalShaikhHA1 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 版本 110.0.5481.177(官方构建)(arm64) 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 目前的行为是什么? 复选框特性未勾选或取消,撤销/重做时(我这边的特征值会更新)。 可在Grapesjs网页[demo](https://grapesjs.com/demo.html)上复现。 预期的行为是什么? 复选框特性应该在撤销/重做时被勾选或取消。 https://user-images.githubusercontent.com/102785785/224533486-045ae63b...
ClaudeCode
谢谢你举报,@FaisalShaikhHA。 复选框特性在撤销/重做操作中未被勾选或取消勾选的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这...
#49472023年2月27日作者 FaisalShaikhHA4 个回答
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome - 版本 110.0.5481.100(官方构建)(arm64)可复制演示链接 https://codepen.io/faisal-praella/pen/ExeNwxJ描述一下那个虫子我添加了一个自定义的columns组件,带有编号特征名称columns,用于添加或移除子组件列。当我用该特性添加新列并撤销更改时,效果正常,但当我移除列并撤销更改时,会多加一列。这可能是因为当Grapesjs撤销移除更改时,它会附加已移除的列并还原列特征,但该列特征的更改触发了“this.listenTo(this, ”change:columns“, th...
artf
是的,撤销会触发“change:columns”,在你的情况下,你可以尝试用“editor”封装你的“updateColumns”更改。UndoManager.skip'。 “''js updateColumns() { 编辑。UndoManager.skip(() => { 你的行动 }) } ```
artf
好的,那我就关闭这个,请打开一个与复选框特性相关的新漏洞问题。
FaisalShaikhHA
谢谢你,@artf它有效,为了解决这个问题,我之前通过听“撤销命令”和“运行事件”来切换特质更改监听器,但这样感觉更干净了。 复选框特性在撤销/重做时未被勾选或取消勾选(我这边的特征值会更新)。可在Grapesjs网页[demo](https://grapesjs.com/demo.html)上复现。这里也需要帮助,再次感谢。 https://user-images.githubusercontent.com/102785785/224402423-fd04268a-896...
#47632022年12月1日作者 quentin-bettoum2 个回答
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Firefox 106可复制演示链接 https://grapesjs.com/demo.html描述一下那个虫子 你好, 当我从 0.19.5 升级到 0.20.1 时,我注意到用 'editor.getProjectData()' 获取的页面 JSON 比以前重了不少。 区别在于,在0.20.1中,JSON中的每个组件都包含以下代码: '''json “undoexc”:[ “状态”, “开门” ] 0.20.1 '''json “框架”: [ { “组件”: { “类型”:“包装器”, “可风格化”: [], “undoexc”:[ “状态”, “...
ClaudeCode
谢谢你举报,@quentin-bettoum。 关于_undoexc状态开放的好问题。ProseMirror 推荐的方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('somethin...
#46992022年10月31日作者 DhanaDSP11202 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬V107 可复制演示链接 https://jsfiddle.net/4vacxuw2/2/ 描述一下那个虫子 我添加了一个自定义工具栏,通过rte.insertHTML选项在当前位置插入一些值,效果很好。但当尝试撤销(ctrl+z)时,新插入的 HTML 块并没有被移除  行为准则 [X] 我同意遵守本...
artf
你好@DhanaDSP1120是的,不幸的是,'rte.insertHTML' 会用自定义插入,所以这很正常。如果你需要保留原生的编辑撤销栈,可以使用这个 API “''js rte.exec('insertHTML', '<span ...') ```
ClaudeCode
谢谢你举报,@DhanaDSP1120。 在文本块中插入HTML时撤销不正常的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识...
#46912022年10月26日作者 DhanaDSP11202 个回答
撤销管理器——不正常工作,当我们尝试应用和撤销背景色时,会点击出块外,然后移除的颜色才会出现 这个问题在版本0.19.4到最新版本中都会出现,以下版本运行正常 复制链接 工作版本: https://jsfiddle.net/0vpbLmxy/ 无法正常工作的版本: https://jsfiddle.net/q3cgwa5m/1/ 演示:  Originally由@DhanaDSP1120在 https://g...
artf
看起来是颜色选择器本身的问题,我会试着在下一个版本修复。 附注:对于错误报告,你不需要先创建讨论,你可以按照模板直接打开问题。这也能避免不必要的讨论帖。
ClaudeCode
谢谢你举报,@DhanaDSP1120。 感谢你分享关于撤销管理器——无法正常工作,当我们尝试应用和撤销背景色后点击出块时,移除的颜色才会出现。为了帮助团队调查并优先排序: 请提供: 一个最小可复现的例子(CodeSandbox/JSFiddle) 你的GrapesJS版本号 浏览器和操作系统信息 浏览器控制台的任何错误信息 重现问题的步骤 最有帮助的是什么: 简约代码示例(不是你整个项目) 屏幕录制或截图显示问题 明确区分预期行为与实际行为 你正在使用的GrapesJS配...