Files
standardnotes-app-web/app/assets/javascripts/Components/AttachedFilesPopover/PopoverFileItemAction.tsx
2022-06-03 12:19:22 +05:30

46 lines
963 B
TypeScript

import { FileItem } from '@standardnotes/snjs'
export enum PopoverFileItemActionType {
AttachFileToNote,
DetachFileToNote,
DeleteFile,
DownloadFile,
RenameFile,
ToggleFileProtection,
PreviewFile,
}
export type PopoverFileItemAction =
| {
type: Exclude<
PopoverFileItemActionType,
| PopoverFileItemActionType.RenameFile
| PopoverFileItemActionType.ToggleFileProtection
| PopoverFileItemActionType.PreviewFile
>
payload: {
file: FileItem
}
}
| {
type: PopoverFileItemActionType.ToggleFileProtection
payload: {
file: FileItem
}
callback: (isProtected: boolean) => void
}
| {
type: PopoverFileItemActionType.RenameFile
payload: {
file: FileItem
name: string
}
}
| {
type: PopoverFileItemActionType.PreviewFile
payload: {
file: FileItem
otherFiles: FileItem[]
}
}