console.log('Welcome to my page! 🎉')
- 🚀 A Front-End Developer.
- 🏷️ A Minimalist.
- ✉️ Reach Me: [email protected]
An online presentation application that replicates most of the commonly used features of Microsoft Office PowerPoint, allowing for the editing and presentation of PPT online. It also supports the export of PPT files.
Home Page: https://pipipi-pikachu.github.io/PPTist/
License: GNU Affero General Public License v3.0
console.log('Welcome to my page! 🎉')
PPTist/src/hooks/useGlobalHotkey.ts
Line 138 in 5890ca1
PPTist/src/hooks/useGlobalHotkey.ts
Line 143 in 5890ca1
如题。
版本:Version 14.0 (14610.1.28.1.9)
OS:macOS Mojave 10.14.6
请问如何给选定的slide添加子slide,形成树形结构。如果开发的话该如何实现呢?
物件旋转后,添加动画效果,物件会在未旋转的状态下完成动画,动画结束后再闪现到物件旋转的角度。
非常感谢提供如此好的项目。
建议将dist和package-lock.json添加至.gitignore,避免不必要的冲突。
问题描述
插入富文本控件后直接通过editorView.dispatch修改样式
会因为store中数据还未更新
在富文本聚焦函数handleFocus中 props.elementInfo.content 的值还是 '请输入内容'
导致dom被清空 致使富文本报错
创建图表时能否支持从xlsx中复制数据
问题描述
当单独选中组合中一个元素时
鼠标拖动移动的是此元素
方向键移动的是组合整体
选择元素手动让其旋转后,按撤销按钮,无法撤销旋转,元素依然倾斜
问题描述
创建表格输入文字 修改样式
右侧控制栏切换到动画
点击其他地方取消选中表格 再点击回表格双击进入编辑 选中修改样式的单元格
再切换回样式控制栏
发现样式显示为默认样式
如果可以的话想参与进来
我又来了
问题描述
在修改表格单元格会调用两次updateTableCells方法 第一次传入的还是个string类型
找了下原因
EditableTable.vue中
// 单元格文字输入时更新表格数据 const handleInput = debounce(function(value, rowIndex, colIndex) { tableCells.value = tableCells.value[rowIndex][colIndex].text = value emit('change', tableCells.value) }, 300, { trailing: true })
tableCells.value = tableCells.value[rowIndex][colIndex].text = value
会先触发
const tableCells = computed<TableCell[][]>({ get() { return props.data }, set(newData) { emit('change', newData) }, })
中的set
(暂时看起来不影响功能 因为第一次string传进去后 紧接着会被第二次的正确数据覆盖 其他地方还没试)
断点打的我头皮发麻
由于 html-to-image 在将dom生成图片时,会主动下载所有web字体,导致导出时间极长
在未创建文本输入框时 直接粘贴文本 换行丢失
问题描述
先点击插入文本按钮
点击插入表格
表格插入之后 文本插入状态还在
creatingElement没清理掉
表格能否支持直接从xlsx中直接复制
问题描述
创建表格后 点击或创建其他元素
会报错
查了下原因
emitter.on(EmitterEvents.UPDATE_TABLE_SELECTED_CELL, cells => updateSelectedCells(cells))
updateSelectedCells此方法中表格丢失焦点也会调用
虽然代码执行emitter.off卸载但是 会先执行 updateSelectedCells
当执行的时候 handleElement已经变成了其他的元素 handleElement.value.data[rowIndex][colIndex].style就报错了
貌似执行中报错导致数据更新不掉 之后的点击会一直报错
当可旋转元素旋转了90°之后
左右拉伸和上下拉伸位置变化
鼠标放在下方操作点上 显示的是左右箭头
(感觉调整这个有点麻烦 我就提一嘴)
问题描述
问题大概是因为TableStylePanel.vue中emitter.on方法在页面打开激活时候才生效,
先选择数据再打开面板导致表格位置数据获取不到, 从而改变整个表格样式
另外生成单元格的时候 这样会导致单元格id都一样 好像不太对 不过暂时没发现什么问题
`
const rowCells: TableCell[] = new Array(col).fill({ id: createRandomCode(), colspan: 1, rowspan: 1, text: '', style })
const data: TableCell[][] = new Array(row).fill(rowCells)
// 我改成循环拿随机id了
const data: TableCell[][] = new Array(row)
for (let i = 0 ;i < row; i++) {
const rowCells: TableCell[] = new Array(col)
for (let j = 0 ;j < col; j++) {
rowCells[j] = { id: createRandomCode(), colspan: 1, rowspan: 1, text: '', style }
}
data[i] = rowCells
}
`
短期内主要还是会把重心放在导入功能的研究上。
在这里简单说下后续的一些想法,例如:
1、公式元素,这个还没想好具体是做成latex编辑还是可视化编辑。如果做可视化编辑,我看过现有的一些轮子,感觉体验上都不怎么样,所以可能会选择自己实现。
2、动画的强化,目前仅支持入场动画,后面希望补充上退场动画和强调动画,另外是动画的入场方式不仅仅是现在的顺序触发,还需要有跟随上一个动画触发,自动触发等。
3、更多的导出格式,例如PDF、HTML文件。
暂时就这些,再想到其他的会补充在后面。
应用下划线或删除线后,无法取消应用。
在线ppt功能很强大,能否形成一个vue、react使用的第三方库,通过npm安装,直接使用ppt组件即可在个人网站上使用。
类似ppt中线条连接两个其他元素
另外两个元素位置变动线条同步跟随变动
导出相对简单一些,可以考虑使用:https://github.com/gitbrent/PptxGenJS
导入功能,目前尚未找到合适的库,因为MS的PPTX并没有完全符合OOXML
ENV:
chrome: 89.0.4389.90
macOS: 10.15.7 (19H114)
创建图表 编辑数据时回车进入下一行
部分id的生成执行 createRandomCode(8)
部分id的生成执行 createRandomCode() // 缺省情况 len = 6
演示时翻页到头提示过于频繁
问题描述
多个组合的水平均匀分布 不是按组合进行分布 还是按照单个元素
垂直分布 有同样问题
问题描述
全局主题设置完成后 富文本样式变动了
再打开富文本样式控制台显示的还是默认样式
调整建议:
src\utils\prosemirror\utils.ts中的默认设置先取一下全局属性再取默认值
图形能否支持添加文字
关闭网页或者刷新网页,数据就没了。或许可以把本地数据存储在 Local Storge 里。
另外,对这个项目很感兴趣,作者有下一步的开发计划吗?比如未来打算添加什么功能?
问题描述
表格复制粘贴有问题
CustomTextarea.vue 中 textareaRef.value.onpaste 方法会更新数据 但是不修改当前页面框体内容
自己尝试了下修复
因为禁用了原始事件 手动处理粘贴后光标位置有问题 还是大佬看看吧
啥时候能支持插入视频。
问题描述
表格元素的字体大小设置在播放模式下失效
我看了下很小的一个样式覆盖问题
我改好了 但是上一个Pull Request还没过 新的提不上来
您是否需要赞助
我先STAR为敬
问题描述
文本框样式设置失效了
创建图表 多列数据时 设置颜色及图例
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.