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