#51562023年5月31日作者 loclovepop3 个回答
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome,IOS可复制演示链接 https://www.lovepoptestsite.com/products/disney-s-hocus-pocus-black-flame-candle-pop-up-card?variant=40356218077273&previewlink=124907487321 密码:ilovecards描述一下那个虫子 如何复现这个漏洞? 我试过用 Grapejs 编辑器在手机屏幕拖放,一切都没问题。但我尝试在注入编辑器测试存储后做,结果并没有达到预期效果。 预期的行为是什么? ...它应该允许拖放组件 目前的行为...
loclovepop
[screencast-www.lovepoptestsite.com-2023.06.01-001711.webm](https://github.com/GrapesJS/grapesjs/assets/124012807/a171fbbb-dd8b-45a6-901c-d0c2519c8304) 这是关于bug的视频
artf
我看到触摸插件是正常工作的,确保加载时启用移动设备(比如加载后不要模拟),这样聚合物填充才能正确加载。
ClaudeCode
谢谢你举报,@loclovepop。 关于手机屏幕无法拖放,连加葡萄-触摸都不能的好建议!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“change:*”...
#51542023年5月31日作者 jmtt894 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? ---- 可复制演示链接 https://codesandbox.io/p/sandbox/pensive-browser-mfhxp8 描述一下那个虫子 如何复现这个bug?创建Angular项目添加 grapeJS 依赖在tsconfig(用于骨干网)中包含“allowSyntheticDefaultImports”: true”为 GrapeJS 创建包装组件在项目中使用包装组件 预期的行为是什么? 渲染葡萄JS编辑器目前的行为如何? 构建时就坏了 行为准则 [X] 我同意遵守本项目的行为准则
marktamis
我把一些tsconfig设置从一个正在运行的vite gjs项目复制到我的stenciljs项目里,现在它运行正常了。我觉得你需要对你的 Angular TSCONFIG 做些调整,这样它就不会再抛出错误了 下面是我正在运行的 Stencilsjs TSCONFIG: 似乎正是这个功能让编译成为可能的原因
Deepakanandrao
“skipLibCheck”:true, “skipLibCheck”: true “”成功了。谢谢@marktamis 👍
artf
是的,在我找到该TS输出😞的修复之前,这里需要用“skipLibCheck”: true”
#51492023年5月29日作者 jchautreux4 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 全部都没有,bug出在构建过程中 可复制演示链接 没必要 描述一下那个虫子 如何复现这个漏洞? 使用 NPM 安装 GrapesJS,以便在 TypeScript 项目中使用。 根据文档,要设置非命名插件的选项,我们必须在“init”中定义: 预期的行为是什么? 项目建设顺利进行 目前的行为是什么? 构建失败时出现了以下错误:“计算出的属性名称必须是类型为'string'、'number'、'symbol'或'any'。” 供参考 我们可以使用命名插件,但这种做法是将“弃用”标记为非命名版本 且不能用于官方插件,因为这些插件是无名的行为准则 [X]...
artf
这似乎和 https://github.com/microsoft/TypeScript/issues/35945 有关 作为一个临时的变通方法,你可以先这样做: “''js pluginsOpts: { [myPlugin.toString()]: { customField: 'customValue' } }
artf
添加了辅助工具[这里](https://github.com/GrapesJS/grapesjs/commit/7d5d074e4d2735245541bfcbaad666e7bc37ea56)(我稍后也会更新文档中的使用情况)
#51482023年5月29日作者 jchautreux4 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 全部都没有,bug出在构建过程中 可复制演示链接 没必要 描述一下那个虫子 如何复现这个漏洞?创建一个空白项目使用 NPM 安装 GrapesJS 和一个插件(本例为预设网页,但对所有官方插件“有效”)用“import GrapeJS from 'grapesjs”加载 GrapesJS尝试使用'从'grapesjs-preset-webpage'导入插件'加载'preset-webpage'; 预期的行为是什么? 项目正确构建,插件可用 目前的行为是什么? 项目未能建成,因为GrapeJS的 d.ts 发生了变化 供参考 我本可以在每个官方插件里创...
artf
我决定以 https://github.com/GrapesJS/grapesjs/issues/5149 相关为由结束此事
jchautreux
这其实不是同一个问题,在#5149中,bug是关于如何在工具初始化时设置插件选项。 这里的漏洞与项目最后一次更新有关,该更新定义了一个新index.d.ts,但该新代码与之前插件使用方式不兼容
artf
在上一个版本中,'index.d.ts' 插件签名是一样的,所以我不确定你说的是什么变化 https://github.com/GrapesJS/grapesjs/blob/095466c8cc8034e54888d67beef4cb9296c823e4/index.d.ts#L50-L53 你能分享一下组装过程中的具体错误吗?
#51442023年5月25日作者 duclet3 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 全部 可复制演示链接 没有 描述一下那个虫子 函数定义如下:https://github.com/GrapesJS/grapesjs/blob/v0.21.1/src/panels/index.ts#L82,需要以完整面板实例或属性数组的形式给出数据。网站上的文档(https://grapesjs.com/docs/getting-started.html#panels-buttons)说给出的参数只能是一个具有属性的对象(本质上是面板属性的部分)。 行为准则 [X] 我同意遵守本项目的行为准则
duclet
@artf - 你没读完整句子。你可以清楚地看到代码本身,它要求作为完整的“面板”对象给出的参数。在你的文档(如链接所示)中,你并没有给它完整的“面板”对象,而是给它一个带有这些项目的对象。你的例子如下: TypeScript 会抱怨的是,分配给它的对象既不是“面板”的实例,也不是对象属性的数组。
artf
网站上的文档说给出的参数只能是具有以下属性的对象 抱歉,你具体在哪里读到这句话?
ClaudeCode
谢谢你举报,@duclet。 PanelManager.addPanel 类型定义错误的问题似乎是竞赛条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤:** 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有...
#51412023年5月24日作者 rajevar3 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 版本 113.0.5672.63 可复制演示链接 https://jsfiddle.net/rajevar/zLs8q97f/4/ 描述一下那个虫子 这是针对这次讨论 https://github.com/GrapesJS/grapesjs/discussions/4759 如何复现这个漏洞? https://jsfiddle.net/rajevar/zLs8q97f/4/从块中选择Text CAT:Basic组件,拖曳到画布。 步骤1之后的代码2. HTML '<div class=“text-primary” id=“ixci”>将...
artf
@rajevar我无法用最新版本复现,你确定你用的是最新版本吗?
ClaudeCode
谢谢你举报,@rajevar。 关于组件在更新特质时重置属性值(仅首次)的好问题。推荐的 Canvas 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something chan...
#51352023年5月22日作者 duclet2 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 全部 可复制演示链接 没有 描述一下那个虫子 如何复现这个漏洞?根据这里的定义:https://github.com/GrapesJS/grapesjs/blob/dev/src/stylemanager/index.ts#L304,你应该把选项作为“PropertyProps”的“选项”来提供。然而,这里定义的“PropertyProps”:https://github.com/GrapesJS/grapesjs/blob/dev/src/stylemanager/model/Property.ts#L9,并不具备这样的属性。这导致TS编译器开始抱...
SachinPuthiyoth
看起来 StyleManagerConfig.sectors 中的类型定义没有变化 : https://github.com/GrapesJS/grapesjs/blob/5c890449a52f526bc480d6dc649ff5e01ec59140/src/stylemanager/config/config.ts#L8 我们是不是应该更新它,使用像 PropertyTypes 这样的功能: https://github.com/GrapesJS/grapesjs/bl...
ClaudeCode
谢谢你举报,@duclet。 关于 StyleManager.addProperty 类型定义错误的好问题。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console....
#51342023年5月20日作者 yashvi20261 个回答
葡萄JS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v91 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 我想用一个命令触发rte,我找到了enableEditing但不起作用,有没有命令可以触发RTE吗 行为准则 [X] 我同意遵守本项目的行为准则
ClaudeCode
谢谢你举报,@yashvi2026。 用命令启用默认RTE的问题似乎是竞赛条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因 在报告...
#51312023年5月20日作者 sdimitrenco2 个回答
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 铬可复制演示链接 https://jsfiddle.net/sdimitrenco/rn8u4pc0/7/描述一下那个虫子 我不确定这是不是bug,但对我来说,这种行为看起来很奇怪 我有一个组件列表,包含组件ol和组件LI。 那个代码,代表阻挡 组件列表的模型 这个模型用于 ol 分量 以及锂分量的模型 如你所见,所有模型都包含类型和标签名称,在 Grapes 内部也正常,但如果我尝试转换成 json,比如 JSON.stringify(this.grapesInstance.getComponents()),我有 json 丢失了带标签名的所有字段,看...
artf
如果属性的值与默认定义相同,则跳过。这由 ['avoidDefaults'](https://github.com/GrapesJS/grapesjs/blob/e217dc75d463a84333ee4d9f37216f4f56c77024/src/editor/config/config.ts#L250-L256) 配置选项控制,强烈建议尽量保持 JSON 小。
ClaudeCode
谢谢你举报,@sdimitrenco。 After JSON.stringify 组件没有所有字段的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)...
#51122023年5月14日作者 putzwasser4 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 版本 1.51.110 Chromium:113.0.5672.77(Offizieller 版本)(64位) 可复制演示链接 https://grapesjs.com/docs/getting-started.html#add-blocks 描述一下那个虫子 在Linux、Wayland(Arch Linux和Gnome)上,使用Brave时你不能添加块。如果你拖放方块,松开鼠标后它们会消失,这让GrapeJS变得失效或无用。 我试过禁用勇气护盾和无痕模式,确保没有干扰JS。结果一样 如何复现这个漏洞?打开 Grapejs 文档页面尝试通过拖放添加...
artf
通过用同一个 Brave 版本(Mac 版)检查,拖放功能似乎正常,所以看起来不像是 GrapesJS 本身或浏览器的问题。 如果有其他人有类似经历或对这个问题有更多了解,请告诉我们。
gxanshu
我在Tauri上也遇到同样的问题。他们用的是WebGTK,拖放功能也没用
putzwasser
通过用同一个 Brave 版本(在 Mac 上)检查,拖放似乎正常,所以看起来不像是 GrapesJS 本身或浏览器的问题。 我觉得这支票不算有效。用Mac会得到完全不同的配置。我本以为这个问题可能和我的具体设备有关,但这并不意味着葡萄那边完全没办法。 我不指望你去解决,因为这可能是个角落情况,资源有限。也许这甚至和在Wayland上使用Brave有关。