wangeditor-team / wangeditor-v5 Goto Github PK
View Code? Open in Web Editor NEWwangEditor v5
Home Page: https://github.com/wangeditor-team/wangEditor
License: MIT License
wangEditor v5
Home Page: https://github.com/wangeditor-team/wangEditor
License: MIT License
添加一个有序/无序列表输入几个内容,然后全选删除,发现列表没有被删除
可以被正常删除
chrome/84
v5
能/不能
(请告诉我们,如何最快的复现该 bug)
如题
如题。
项目开发时,参考的 slate-react 版本比较早(v0.59),而随着项目开发,slate-react 又升级了几个版本。
所以,要把当前代码和最新的 slate-react 版本对齐一下。
可参考资料
添加分割线后,光标位于分割线组件中,无法正常输入内容。并且回车无法跳出分割线区域,光标不能重新聚焦。
添加分割线后可正常输入内容
chrome/84
v5
能/不能
(请告诉我们,如何最快的复现该 bug)
编辑器输入 console.log('hello world')
全选,点击菜单代码块按钮,然后再次取消代码块,发现内容前多出一行空白。
和代码块内容保持一直,不添加空行
chrome/84
v5
能/不能
(请告诉我们,如何最快的复现该 bug)
console.log('hello world')
header 和 blockQuote 换行,不在行尾也能插入 paragraph,不符合预期。
具体看这两个代码文件中的 TODO
在行尾换行,插入 paragraph 。不在行尾换行,还是插入当前的 type (header 或 blockQuote)
所有
v5
进入编辑器,光标选中一个 header 或 blockQuote (非行尾)换行
placeholder 位置跟随光标位置或直接隐藏
chrome/84
v5
能/不能
(请告诉我们,如何最快的复现该 bug)
现在代码中,某些 svg 代码量太大。所以要检查每个 svg ,如果代码较多,就重新选择一个替换。
例如 IconMoon 的 svg 体积都相对较小 https://www.iconfont.cn/collections/detail?spm=a313x.7781069.0.da5a778a4&cid=20293
如果 IconMoon 没有合适的,就去 https://www.iconfont.cn/ 搜索一个。
【注意】1. 体积要小;2. svg 的图标内容不要变化太大!!!
代码块的 hoverMenu 切换语言后展示的还是原来的语言,但是代码高亮的效果已经生效。
代码块的 hoverMenu 切换语言后应该展示切换后的语言,并且响应的代码高亮也要有
chrome 最新版本
v5
能
当弹出 modal 时,按 esc 键可以关闭
无
操作系统、各类 IDE ,都有这个功能,很好用。
点击编辑器外区域,也就是编辑器失焦后,之前触发的弹窗不会消失。我去看了我们 v4 版本也没有消失,这个看是否需要优化,先提出来。
无论点击编辑器内部其它区域还是编辑器外部区域,弹窗都应该消失
chrome 最新版
v5.0
能
chrome 浏览器,访问 demo http://localhost:8881/examples/index.html
插入一个视频(mp4 url 或者第三方 iframe),能插入成功。
但点击选中视频时,编辑区域会莫名的滚动,hoverbar 也会出现在其他位置,如下图:
【注意】mp4 url 或者第三方 iframe 最好都要试试,这俩有可能表现不一样。
点击选中视频,不要滚动
chrome
v5
(请告诉我们,如何最快的复现该 bug)
如题
能显示所有输入
chrome 最新版
v5
(请告诉我们,如何最快的复现该 bug)
现在 packages/editor 模块打包出来的体积较大,看能否继续优化一下。例如下图中:
运行 yarn size-stats
可看到上图中体积分析的结果,具体参考 https://github.com/wangeditor-team/we-2021/blob/main/README.md
chrome 访问 demo 页 http://localhost:8881/examples/index.html
多次打开 modal(如编辑链接),modal elem 会被重复创建。
预期应该是:一个modal 只创建一次 DOM 元素,不能重复。
每次 hoverbarKeys 中的 match 函数会执行多次,看是否能优化
只触发在 element 层级的那一次就行
在 firefox 中,选择一段文本点击创建连接菜单,插入一个链接,链接 hovermenu 的位置不精确,没有在链接的正上方
创建链接,点击链接出现的 hovermenu 应该在链接的正上放
firefox v89.02
v5
能
(请告诉我们,如何最快的复现该 bug)
-选择一段文本点击创建链接菜单
输入一些内容,最后文字添加加粗、下划线背景色等样式,然后全选删除,菜单项对应的会被选中,且无法被取消选中。
菜单项可以被取消选中
chrome/84
v5
能/不能
(请告诉我们,如何最快的复现该 bug)
使用编辑器图片上传功能上传图片,看到控制打印日志上传成功,但是编辑器没有展示图片
编辑器内正常显示上传的图片
chrome 最新版本
v5.0
能
在火狐浏览器上创建编辑器全选编辑器内容拼音输入法输入中文,输入的文本异常(没有被包裹在正常的 p 标签下),控制台出现报错
输入的内容应该被正常的 dom 结构包裹,控制台不出现报错
firefox 最新版本
v5
能
(请告诉我们,如何最快的复现该 bug)
例如 basic-modules 中的 image module
获取 elemNode 的属性,就必须用 @ts-ignore
,否则就有语法报错,因为 slate Element
接口没有 src
alt
等属性。
// @ts-ignore
const { src, alt = '', url = '', style = {} } = elemNode
再例如设置文本样式,获取各个 mark 也需要用 @ts-ignore
// @ts-ignore
const { bold, italic, underline, code, through } = node
所以,代码中有很多很多的 @ts-ignore
,这并不是一个好现象,要想办法去掉。
需要为每一个 module 定义一个单独的 interface(扩展 Element 或者 Text),例如 slate 源码中的 https://github.com/ianstormtaylor/slate/blob/main/site/examples/custom-types.d.ts
如果要改,可以先以 basic-modules 中的 simple-style
和 image
两个模块做实验。
如题。
需全面考虑需求场景,写技术方案设计,评审后再开发。
新建一个表格,表格内插入一张图片,插入完成后将光标置于表格外重新插入一张新的图片,然后将光标定位在表格后面,按backspace删除,发现后面的图片被添加到了表格中。
表格可以被正常删除
Chrome/84.0.4147.89
v5
能/不能
(请告诉我们,如何最快的复现该 bug)
发现了几个打包的问题:
==
不会提醒。按理说,应该提醒必须用 ===
(除非是 == null
)$
,即便没定义,eslint 也不会提示v5
插入视频报错 分两种情况
情况一: 403被服务器拦截情况下会报
错误信息: Uncaught (in promise) Error: Found multiple root nodes
情况二:非mp4后缀插入(虽然有提示插入MP4但并非所有MP4都包含后缀)
错误信息: index.js:13868 Uncaught (in promise) TypeError: Cannot read property 'type' of undefined
上述两种情况出现后每次输入内容都会重复触发错误信息
下面分别是两种情况截图
插入后无报错
Chrome/90.0.4430.212
v5
能/不能
情况一
情况二
两段链接不是相同的
当前的 demo 页 http://localhost:8881/examples/index.html
插入一张比较大的图片(尺寸是 1200 * 1793 ),目前滚动条在上方。
此时,点击图片,编辑区域会莫名的滚动到下方,体验非常差。
点击图片,编辑区域不要滚动
chrome 91
v5
见上文 bug 描述
增加一个 API editor.focusEnd (或者在当前 editor.focus 函数增加一个 isEnd 参数,也可以) 来 focus 到文档末尾
无
无
examples/like-yuque.html 中,编辑器 focus 状态下,点击以外的 input ,第一次无法 focus 到 input
点击一次即可 focus 到 input
mac chrome 91
v5
(请告诉我们,如何最快的复现该 bug)
现在已经安装了 @babel/plugin-transform-runtime
和 @babel/runtime
,并配置了 .babelrc
,但 build 之后仍然没有效果。
例如在源代码中加入 Promise
和 [].includes
等 API ,build 之后仍没有被解析。
需要排查一下原因。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.