#64582025年3月20日作者 accvi4 个回答
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://jsfiddle.net/qbpodnm4/ 描述一下那个虫子 如何复现这个漏洞? 在画布中选择一个组件。 访问风格管理器,检查“General”是否被重命名为“Allgemein”。 预期的行为是什么? 画面显示了“Allgemein”。 目前的行为是什么? 画面显示“将军”。 例如sector.setOpen(true)即可。 行为准则 [x] 我同意遵守本项目的行为准则
mosh-tudor
@accvi https://github.com/GrapesJS/grapesjs/discussions/6031#discussioncomment-10234496
accvi
难道是我在代码里做错了什么吗?AI帮不上忙。
artf
[@accvi](https://github.com/accvi) [#6031(回复帖中)](https://github.com/GrapesJS/grapesjs/discussions/6031#discussioncomment-10234496) ☝️
#64072025年2月16日作者 gopukinapp2 个回答
葡萄JS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 版本 133.0.6943.98 可复制演示链接 https://codesandbox.io/p/sandbox/loving-breeze-mdls43?file=%2Findex.js%3A77%2C6 描述一下那个虫子 我正在尝试给我的方块添加一些自定义 triats,但很遗憾我只能看到默认的 triats [id,title] 我的方块里有很少的 HTML 代码,但如果我移除所有 HTML 代码,只在组件属性里放一个字符串,比如 Hellow World,没有任何 html,triats 就会显示出来 “''js 组件: <h2 class...
artf
你的组件有内部的“组件”,所以如果你选择其中一个,你会看到这些组件的特征,而不是“事件块”。 如果你正确选择“事件块”,你会看到你的特质。 <img width=“856” alt=“Image” src=“https://github.com/user-attachments/assets/a0913237-02f9-44f8-af51-6d151b618a37” /> 顺便说一句,这个 “''js this.view.el.querySelector(“[data-ev...
ClaudeCode
谢谢你举报,@gopukinapp。 自定义特征无法在自定义块内加载的问题似乎是竞赛条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原...
#63762025年1月18日作者 Harshsne261 个回答
葡萄JS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://codepen.io/Harshsne/pen/ZYzjaYe 描述一下那个虫子 预期的行为是什么? 当最小值设为1时,边框宽度应从1开始递增。 目前的行为是什么? 但边界宽度的值默认设置为0。(如果是这样的行为,可以如何将默认值设为“”,且当我递增时,值应从1开始。) 行为准则 [x] 我同意遵守本项目的行为准则
ClaudeCode
谢谢你举报,@Harshsne26。 将最小值设置到stylemanager config的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有...
#63692025年1月14日作者 hubermat2 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v130 可复制演示链接 https://grapesjs.com/demo-newsletter-editor.html 描述一下那个虫子 如何复现这个漏洞?在编辑器中选择任意元素在样式部分,前往边界半径 预期的行为是什么? 四个角落的边界半径设置显示如下: 左上右上 左下至右 目前的行为是什么? 底部角落的边框半径设置互换了: 左上右上 右下-左下 <img width=“217” alt=“Bildschirmfoto 2025-01-14 um 11 47 36” src=“https://github.com/user-att...
DarrenHou1993
这个改动解决了界面问题,但也带来了数值问题。设置左下角半径时,实际上是修改了右下角。
ClaudeCode
谢谢你举报,@hubermat。 关于边框半径的显示顺序不正确,这是个很好的问题。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('somethin...
#63652025年1月8日作者 MLMarxx4 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 版本 131.0.6778.205 可复制演示链接 https://codesandbox.io/p/sandbox/naughty-microservice-5hp3h4 描述一下那个虫子 如何重现该漏洞:将“暗色风格”职业加入正文: “''js editor.getWrapper().addClass(“dark-style”);添加一个后代选择规则: “''js 编辑。CssComposer.addRules(“.dark-style .test-block { margin-top: 50px; }”); 预期行为是什么: 在样...
artf
是的,这不支持,因为试图匹配任何可能的规则可能会影响性能。 不过你可以通过 [styleManager.select](https://grapesjs.com/docs/api/style_manager.html#select) 选择任意规则。
MLMarxx
好的,谢谢你的澄清——我现在用的是select,有什么办法用这种方式定位媒体标签吗?
artf
你可以获取你需要的CSSRule(['getRule'](https://grapesjs.com/docs/api/css_composer.html#getrule)),然后传给styleManager.select
#63572024年12月13日作者 Harshsne261 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://codepen.io/Harshsne/pen/YPKwRBg 描述一下那个虫子 如何复现这个漏洞?从 blockmanager 添加行组件。在样式管理器中更改其宽度。(!important是因为它的默认宽度是100% !important)。现在添加文本框,改变其宽度。 预期的行为是什么? 宽度不应加上!important。 目前的行为是什么? 宽度加上了!important。 在更改行宽度后,如果我们更改画布中任意组件的宽度,宽度会被添加为 !importance 。  寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('some...
#63182024年11月20日作者 tonypapousek4 个回答
葡萄JS版本[X] 我确认使用最新版本的GrapesJS本期提交时为“[email protected]”你用的是什么浏览器? Firefox 132,Chrome 131可复制演示链接 https://jsfiddle.net/x54f9v68/1/描述一下那个虫子 如何复现这个漏洞?添加自定义块,将“media”属性设置为带有透明填充的SVG查看方块标签,然后 注意填充会自动设置为“currentColor” 预期的行为是什么? 填充应该是透明的 ,<svg>而是在子<path>标签上。通过在该SVG的两个元素上设置fill=“none”属性<path>,图标应该会正确显示。希望这些建议能帮你解决这个问题!
tonypapousek
@samex 指定“fill=”none“后解决了问题,谢谢!这肯定能让我的自定义内容更可预测地工作。 除此之外,我觉得主要的痛点是尝试使用第三方SVG(比如“反应图标”)或所见即所得输出,但这些输出没有明确设置“填充”属性。考虑到这些用例,除非维护者希望关闭,否则我暂时会保持这个漏洞开放。
artf
是的,我会关闭这个,因为它和核心本身关系不大,但谢谢你指出
#62482024年10月22日作者 Frubl2 个回答
葡萄JS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://jsfiddle.net/a2hbxg0y/1/ 描述一下那个虫子 如何复现这个漏洞?打开开发工具,编写 iframe 正体元素样式 - 缩放:n; 目前的行为是什么? 当鼠标悬停在元素上时,蓝色边框会正常工作,而偏移量则不然。它们的大小与变焦时相同:1; 附言:我无法分享完整复制演示的链接,因为CSS的更改需要在Canvas内完成。 附言: 可能已经有合适的缩减内容的方法,但我只找到了整个画布的缩放。我想让其中一种设备的缩放更小 行为准则 [X] 我同意遵守本项目的行为准则
artf
你不应该编辑iframe的缩放,应该用[原生API](https://grapesjs.com/docs/api/canvas.html#setzoom)
ClaudeCode
谢谢你举报,@Frubl。 关于 iframe 身体缩放时出现的 showOffsets bug,这个问题非常好。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => conso...
#61522024年9月18日作者 stpp24 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 任何 可复制演示链接 https://grapesjs.com/demo 描述一下那个虫子 如何复现这个漏洞?添加带有HTML + CSS的自定义代码组件删除自定义代码组件。 预期的行为是什么? 所有代码都应被删除,包括CSS 目前的行为是什么? 自定义CSS不会被移除,但其他部分已经被移除。 [gjs.webm](https://github.com/user-attachments/assets/3fbd9a6d-ad0e-4fc6-add8-7cf31ae9293c) 行为准则 [X] 我同意遵守本项目的行为准则
artf
这与核心无关,应在[插件](https://github.com/GrapesJS/components-custom-code)层面处理。请在那里发布问题,我们会尽力找出合适的方法。
mosh-tudor
@stpp2 这其实不算是个bug;它更像是一种功能。:) 试试用“clearStyles”: https://github.com/GrapesJS/grapesjs/blob/d48e1e34a9fa363dcb83fdcca53a89563db17063/packages/core/src/editor/config/config.ts#L260-L272
stpp2
是的,我这里已经启用了“clearStyles”,但很多情况下效果不好。 无论如何,我预计“自定义代码”组件应该有一定的“容器化”,这样移除后文档里不会留下任何东西。
#61222024年9月4日作者 mohamedsalem4013 个回答
[x] 修正 StyleManager 中的排序器使用情况(包含排序属性层的回归) [x] 基于“Components.canMove”的重构分选器 [x] 更新“canMove”,检查将主符号丢弃在其自身实例内。
mohamedsalem401
其理念是重构分拣器以提升可维护性和可读性。我们可以实施以下改动:让“Sorter”类依赖抽象树结构,而不是依赖“Component”或“Layers”等具体实现,让“Sorter”类使用更通用、抽象的树结构。这样会让它更灵活、更易重复使用。将代码拆分为多个较小的类,每个类负责单一职责'ComponentManager.canMove': 使用 'ComponentManager.canMove' 方法来判断是否可以移动某个“组件”。这样可以避免代码重复,并确保应用不同部分的...
ClaudeCode
谢谢你举报,@mohamedsalem401。 感谢你分享关于[修复] 修复和重构Sorter.ts的报告。为了帮助团队调查并优先排序: 请提供: 一个最小可复现的例子(CodeSandbox/JSFiddle) 你的GrapesJS版本号 浏览器和操作系统信息 浏览器控制台的任何错误信息 重现问题的步骤 最有帮助的是什么: 简约代码示例(不是你整个项目) 屏幕录制或截图显示问题 明确区分预期行为与实际行为 你正在使用的GrapesJS配置 有了这些细节,维护者可以更快地识...