* chore: pages realtime * chore: empty binary response * chore: added a ypy package * feat: pages collaboration * chore: update fetching logic * chore: degrade ypy version * chore: replace useEffect fetch logic with useSWR * chore: move all the update logic to the page store * refactor: remove react-hook-form * chore: save description_html as well * chore: migrate old data logic * fix: added description_binary as field name * fix: code cleanup * refactor: create separate hook to handle page description * fix: build errors * chore: combine updates instead of using the whole document * chore: removed ypy package * chore: added conflict resolving logic to the client side * chore: add a save changes button * chore: add read-only validation * chore: remove saving state information * chore: added permission class * chore: removed the migration file * chore: corrected the model field * chore: rename pageStore to page * chore: update collaboration provider * chore: add try catch to handle error --------- Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
22 lines
770 B
TypeScript
22 lines
770 B
TypeScript
import { IssueWidgetPlaceholder } from "src/ui/extensions/widgets/issue-embed-widget";
|
|
|
|
import { SlashCommand, DragAndDrop } from "@plane/editor-extensions";
|
|
import { UploadImage } from "@plane/editor-core";
|
|
import { CollaborationProvider } from "src/providers/collaboration-provider";
|
|
import Collaboration from "@tiptap/extension-collaboration";
|
|
|
|
type TArguments = {
|
|
uploadFile: UploadImage;
|
|
setHideDragHandle?: (hideDragHandlerFromDragDrop: () => void) => void;
|
|
provider: CollaborationProvider;
|
|
};
|
|
|
|
export const DocumentEditorExtensions = ({ uploadFile, setHideDragHandle, provider }: TArguments) => [
|
|
SlashCommand(uploadFile),
|
|
DragAndDrop(setHideDragHandle),
|
|
IssueWidgetPlaceholder(),
|
|
Collaboration.configure({
|
|
document: provider.document,
|
|
}),
|
|
];
|