mirror of
https://github.com/pipipi-pikachu/PPTist.git
synced 2025-04-15 02:20:00 +08:00
perf: 代码优化
This commit is contained in:
parent
d14c858d87
commit
f80e119aa0
@ -46,7 +46,7 @@ export default () => {
|
||||
* 粘贴元素(一组)
|
||||
* @param elements 元素列表数据
|
||||
*/
|
||||
const pasteElement = (elements: PPTElement[]) => {
|
||||
const addElementsFromClipboard = (elements: PPTElement[]) => {
|
||||
const { groupIdMap, elIdMap } = createElementIdMap(elements)
|
||||
const currentSlideElementIdList = currentSlide.value.elements.map(el => el.id)
|
||||
|
||||
@ -71,7 +71,7 @@ export default () => {
|
||||
* 粘贴页面
|
||||
* @param slide 页面数据
|
||||
*/
|
||||
const pasteSlides = (slides: Slide[]) => {
|
||||
const addSlidesFromClipboard = (slides: Slide[]) => {
|
||||
const newSlides = slides.map(slide => {
|
||||
const { groupIdMap, elIdMap } = createElementIdMap(slide.elements)
|
||||
|
||||
@ -97,7 +97,7 @@ export default () => {
|
||||
* 粘贴普通文本:创建为新的文本元素
|
||||
* @param text 文本
|
||||
*/
|
||||
const pasteText = (text: string) => {
|
||||
const createTextElementFromClipboard = (text: string) => {
|
||||
createTextElement({
|
||||
left: 0,
|
||||
top: 0,
|
||||
@ -127,19 +127,19 @@ export default () => {
|
||||
if (typeof clipboardData === 'object') {
|
||||
const { type, data } = clipboardData
|
||||
|
||||
if (type === 'elements' && !onlySlide) pasteElement(data)
|
||||
else if (type === 'slides' && !onlyElements) pasteSlides(data)
|
||||
if (type === 'elements' && !onlySlide) addElementsFromClipboard(data)
|
||||
else if (type === 'slides' && !onlyElements) addSlidesFromClipboard(data)
|
||||
}
|
||||
|
||||
// 普通文本
|
||||
else if (!onlyElements && !onlySlide) {
|
||||
const string = parseText2Paragraphs(clipboardData)
|
||||
pasteText(string)
|
||||
createTextElementFromClipboard(string)
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
pasteSlides,
|
||||
addSlidesFromClipboard,
|
||||
pasteTextClipboardData,
|
||||
}
|
||||
}
|
@ -20,7 +20,7 @@ export default () => {
|
||||
const selectedSlides = computed(() => slides.value.filter((item, index) => selectedSlidesIndex.value.includes(index)))
|
||||
const selectedSlidesId = computed(() => selectedSlides.value.map(item => item.id))
|
||||
|
||||
const { pasteTextClipboardData, pasteSlides } = usePasteTextClipboardData()
|
||||
const { pasteTextClipboardData, addSlidesFromClipboard } = usePasteTextClipboardData()
|
||||
const { addHistorySnapshot } = useHistorySnapshot()
|
||||
|
||||
// 重置幻灯片
|
||||
@ -88,7 +88,7 @@ export default () => {
|
||||
// 将当前页复制一份到下一页
|
||||
const copyAndPasteSlide = () => {
|
||||
const slide = JSON.parse(JSON.stringify(currentSlide.value))
|
||||
pasteSlides([slide])
|
||||
addSlidesFromClipboard([slide])
|
||||
}
|
||||
|
||||
// 删除当前页,若将删除全部页面,则执行重置幻灯片操作
|
||||
|
Loading…
x
Reference in New Issue
Block a user