Skip to content

Commit

Permalink
Merge drag/drop to a single undo action
Browse files Browse the repository at this point in the history
  • Loading branch information
FIameCaster committed Aug 6, 2024
1 parent 5556548 commit da87018
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion package/src/extensions/commands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -422,6 +422,7 @@ const editHistory = (historyLimit = 999) => {
let isTyping = false
let prevInputType: string
let prevData: string | null
let prevTime: number
let isMerge: boolean
let textarea: HTMLTextAreaElement
let getSelection: PrismEditor["getSelection"]
Expand Down Expand Up @@ -460,21 +461,23 @@ const editHistory = (historyLimit = 999) => {
addTextareaListener(editor, "beforeinput", e => {
let data = e.data
let inputType = e.inputType
let time = e.timeStamp

if (/history/.test(inputType)) {
setEditorState(sp + (inputType[7] == "U" ? -1 : 1))
preventDefault(e)
} else if (
!(isMerge =
allowMerge &&
prevInputType == inputType &&
(prevInputType == inputType || (time - prevTime < 99 && inputType.slice(-4) == "Drop")) &&
!prevSelection &&
(data != " " || prevData == data))
) {
stack[sp][2] = prevSelection || getSelection()
}
isTyping = true
prevData = data
prevTime = time
prevInputType = inputType
})
addTextareaListener(editor, "input", () => update(sp + <any>!isMerge))
Expand Down

0 comments on commit da87018

Please # to comment.