Skip to content

Commit

Permalink
Merge pull request #26 from cesardeazevedo/remove-stuff
Browse files Browse the repository at this point in the history
Split removeBlobs up
  • Loading branch information
cesardeazevedo authored Feb 11, 2025
2 parents 6cfe4c4 + 4985261 commit 994b5cf
Showing 1 changed file with 20 additions and 17 deletions.
37 changes: 20 additions & 17 deletions src/extensions/FileUploadExtension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ declare module '@tiptap/core' {
addFile: (file: File, pos: number) => ReturnType
selectFiles: () => ReturnType
uploadFiles: () => ReturnType
removeBlobs: (errorsOnly?: boolean) => ReturnType
removeFailedUploads: () => ReturnType
removePendingUploads: () => ReturnType
}
}
}
Expand Down Expand Up @@ -79,22 +80,24 @@ export const FileUploadExtension = Extension.create<FileUploadOptions, FileUploa
props.tr.setMeta('uploadFiles', true)
return true
},
removeBlobs:
(errorsOnly = false) =>
(props) => {
props.state.doc.descendants((node, pos) => {
if (!(node.type.name === 'image' || node.type.name === 'video')) {
return
}
if (node.attrs.src.startsWith('blob:')) {
if (errorsOnly && !node.attrs.uploadError) {
return
}
props.state.tr.delete(pos, pos + node.nodeSize)
}
})
return true
},
removePendingUploads: () => (props) => {
props.state.doc.descendants((node, pos) => {
if (['image', 'video'].includes(node.type.name) && node.attrs.uploading) {
props.state.tr.delete(pos, pos + node.nodeSize)
}
})

return true
},
removeFailedUploads: () => (props) => {
props.state.doc.descendants((node, pos) => {
if (['image', 'video'].includes(node.type.name) && node.attrs.uploadError) {
props.state.tr.delete(pos, pos + node.nodeSize)
}
})

return true
},
}
},

Expand Down

0 comments on commit 994b5cf

Please sign in to comment.