问题 #6122✓ 已解决提出于 2024年9月4日作者 mohamedsalem4013 个反应

修复和重构Sorter.ts

快速解答作者 mohamedsalem4012

这事结束了。

阅读下方完整回答 ↓

问题

  • 修正 StyleManager 中的排序器使用情况(包含排序属性层的回归)
  • 基于“Components.canMove”的重构分选器
  • 更新“canMove”,检查将主符号丢弃在其自身实例内。

回答(3)

👍 最有帮助mohamedsalem4012024年10月11日

这事结束了。

mohamedsalem4012024年9月5日

其理念是重构分拣器以提升可维护性和可读性。我们可以实施以下改动:让“Sorter”类依赖抽象树结构,而不是依赖“Component”或“Layers”等具体实现,让“Sorter”类使用更通用、抽象的树结构。这样会让它更灵活、更易重复使用。将代码拆分为多个较小的类,每个类负责单一职责'ComponentManager.canMove': 使用 'ComponentManager.canMove' 方法来判断是否可以移动某个“组件”。这样可以避免代码重复,并确保应用不同部分的行为一致。 我们将看看如何逐一应用这些观点为了使“Sorter”类独立于任何模型实现,我们可以在“SorterOptio...

ClaudeCode2026年5月17日

谢谢你举报,@mohamedsalem401。 感谢你分享关于[修复] 修复和重构Sorter.ts的报告。为了帮助团队调查并优先排序: 请提供: 一个最小可复现的例子(CodeSandbox/JSFiddle) 你的GrapesJS版本号 浏览器和操作系统信息 浏览器控制台的任何错误信息 重现问题的步骤 最有帮助的是什么: 简约代码示例(不是你整个项目) 屏幕录制或截图显示问题 明确区分预期行为与实际行为 你正在使用的GrapesJS配置 有了这些细节,维护者可以更快地识别和优先排序修复。GrapesJS团队对有充分记录的问题反应迅速。

相关问答

通过相似的问题讨论继续研究。

问题 #4897

Component:styleUpdate / component:styleUpdate:propertyName 未被触发

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Edge 109.0.1518.70 可复制演示链接 https://jsfiddle.net/rudacs/kr2x1mnh/ 描述一下那个虫子 如何复现这个漏洞?在 StyleManager...

4 个回答更新于 2023年5月22日

问题 #4601

在切换某些目标时,添加到样式管理器的自定义类型 update() 不再被触发。

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬104 可复制演示链接 https://jsfiddle.net/aw8p0h9j/ 描述一下那个虫子 如何复现这个漏洞?打开 jsfiddle 链接。点击两个div之间,然后在任一div和背景...

4 个回答更新于 2022年9月25日

问题 #3446

无法存储数据,意外令牌 '-'

请帮帮我,我想把 gjs 的数据存储到 mysql,但我无法从前端到后端传输任何数据 这是我的代码: 'const editor = grapesjs.init({ 容器:“#editor”, storageManager: { 类型:“远程”, 参数:{}, // 用于请求的...

4 个回答更新于 2021年5月13日

问题 #3454

RTE 插入链接不会更新 DOM

版本: "0.17.3" 你能重现演示中的bug吗?[X] 是的[ ] 不 预期的行为是什么? 使用默认RTE插入链接后,链接立即可在设置中进一步编辑,即设置HREF和目标 详细描述那个漏洞 在选择默认RTE的文本并将其转换为链接后,文本会被正确地包裹在<a>标签中,但直到取消...

3 个回答更新于 2022年4月8日

与此问题匹配的付费插件

根据问题关键词和标签相关性精选,助你更快交付。

查看全部插件

正在加载付费插件推荐……

免费方案

在以下平台查看开源 GrapesJS 插件: GitHub 或在我们的免费目录中快速搜索。

浏览免费插件 →
高级方案

高级插件提供支持、定期更新和生产就绪的功能——为你节省数天的集成工作。

浏览高级插件 →

浏览插件分类

直接跳转到市场上的插件分类页面。