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
0de971930e
commit
e67fdbe055
@ -45,8 +45,9 @@ export const HOTKEY_DOC = [
|
||||
type: '幻灯片放映',
|
||||
children: [
|
||||
{ label: '开始放映幻灯片', value: 'Ctrl + F' },
|
||||
{ label: '切换上一页', value: '↑ / ←' },
|
||||
{ label: '切换下一页', value: '↓ / → / Enter / Space' },
|
||||
{ label: '切换上一页', value: '↑ / ← / PgUp' },
|
||||
{ label: '切换下一页', value: '↓ / → / PgDown' },
|
||||
{ label: '切换下一页', value: 'Enter / Space' },
|
||||
{ label: '退出放映', value: 'ESC' },
|
||||
],
|
||||
},
|
||||
@ -59,8 +60,10 @@ export const HOTKEY_DOC = [
|
||||
{ label: '放大画布', value: 'Ctrl + =' },
|
||||
{ label: '缩小画布', value: 'Ctrl + -' },
|
||||
{ label: '使画布适应当前屏幕', value: 'Ctrl + 0' },
|
||||
{ label: '编辑上一页', value: '↑ / ← / 鼠标上滚' },
|
||||
{ label: '编辑下一页', value: '↓ / → / 鼠标下滚' },
|
||||
{ label: '上一页(未选中元素)', value: '↑ / ←' },
|
||||
{ label: '下一页(未选中元素)', value: '↓ / →' },
|
||||
{ label: '上一页', value: '鼠标上滚 / PgUp' },
|
||||
{ label: '下一页', value: '鼠标下滚 / PgDown' },
|
||||
],
|
||||
},
|
||||
{
|
||||
|
@ -95,6 +95,11 @@ export default () => {
|
||||
else if (key === KEYS.UP || key === KEYS.DOWN) updateSlideIndex(key)
|
||||
}
|
||||
|
||||
const moveSlide = (key: string) => {
|
||||
if (key === KEYS.PAGEUP) updateSlideIndex(KEYS.UP)
|
||||
else if (key === KEYS.PAGEDOWN) updateSlideIndex(KEYS.DOWN)
|
||||
}
|
||||
|
||||
const order = (command: ElementOrderCommands) => {
|
||||
if (!handleElement.value) return
|
||||
orderElement(handleElement.value, command)
|
||||
@ -217,6 +222,16 @@ export default () => {
|
||||
e.preventDefault()
|
||||
move(KEYS.RIGHT)
|
||||
}
|
||||
if (key === KEYS.PAGEUP) {
|
||||
if (disableHotkeys.value) return
|
||||
e.preventDefault()
|
||||
moveSlide(KEYS.PAGEUP)
|
||||
}
|
||||
if (key === KEYS.PAGEDOWN) {
|
||||
if (disableHotkeys.value) return
|
||||
e.preventDefault()
|
||||
moveSlide(KEYS.PAGEDOWN)
|
||||
}
|
||||
if (key === KEYS.ENTER) {
|
||||
if (disableHotkeys.value) return
|
||||
e.preventDefault()
|
||||
@ -242,16 +257,6 @@ export default () => {
|
||||
e.preventDefault()
|
||||
tabActiveElement()
|
||||
}
|
||||
if (key === KEYS.PAGEUP) {
|
||||
if (disableHotkeys.value) return
|
||||
e.preventDefault()
|
||||
move(KEYS.UP)
|
||||
}
|
||||
if (key === KEYS.PAGEDOWN) {
|
||||
if (disableHotkeys.value) return
|
||||
e.preventDefault()
|
||||
move(KEYS.DOWN)
|
||||
}
|
||||
}
|
||||
|
||||
const keyupListener = () => {
|
||||
|
@ -35,12 +35,6 @@ export default () => {
|
||||
case KEYS.DOWN:
|
||||
top = top + step
|
||||
break
|
||||
case KEYS.PAGEUP:
|
||||
top = top - step
|
||||
break
|
||||
case KEYS.PAGEDOWN:
|
||||
top = top + step
|
||||
break
|
||||
default: break
|
||||
}
|
||||
return { ...el, left, top }
|
||||
|
@ -14,7 +14,7 @@ import useHistorySnapshot from '@/hooks/useHistorySnapshot'
|
||||
export default () => {
|
||||
const mainStore = useMainStore()
|
||||
const slidesStore = useSlidesStore()
|
||||
const { selectedSlidesIndex: _selectedSlidesIndex } = storeToRefs(mainStore)
|
||||
const { selectedSlidesIndex: _selectedSlidesIndex, activeElementIdList } = storeToRefs(mainStore)
|
||||
const { currentSlide, slides, theme, slideIndex } = storeToRefs(slidesStore)
|
||||
|
||||
const selectedSlidesIndex = computed(() => [..._selectedSlidesIndex.value, slideIndex.value])
|
||||
@ -45,9 +45,11 @@ export default () => {
|
||||
*/
|
||||
const updateSlideIndex = (command: string) => {
|
||||
if (command === KEYS.UP && slideIndex.value > 0) {
|
||||
if (activeElementIdList.value.length) mainStore.setActiveElementIdList([])
|
||||
slidesStore.updateSlideIndex(slideIndex.value - 1)
|
||||
}
|
||||
else if (command === KEYS.DOWN && slideIndex.value < slides.value.length - 1) {
|
||||
if (activeElementIdList.value.length) mainStore.setActiveElementIdList([])
|
||||
slidesStore.updateSlideIndex(slideIndex.value + 1)
|
||||
}
|
||||
}
|
||||
|
@ -505,12 +505,12 @@ export default defineComponent({
|
||||
e.preventDefault()
|
||||
tabActiveCell()
|
||||
}
|
||||
if (e.ctrlKey && (key === KEYS.UP || key === KEYS.PAGEUP)) {
|
||||
if (e.ctrlKey && key === KEYS.UP) {
|
||||
e.preventDefault()
|
||||
const rowIndex = +selectedCells.value[0].split('_')[0]
|
||||
insertRow(rowIndex)
|
||||
}
|
||||
if (e.ctrlKey && (key === KEYS.DOWN || key === KEYS.PAGEDOWN)) {
|
||||
if (e.ctrlKey && key === KEYS.DOWN) {
|
||||
e.preventDefault()
|
||||
const rowIndex = +selectedCells.value[0].split('_')[0]
|
||||
insertRow(rowIndex + 1)
|
||||
|
Loading…
x
Reference in New Issue
Block a user