File tree Expand file tree Collapse file tree 6 files changed +30
-6
lines changed
features/update-homework/view Expand file tree Collapse file tree 6 files changed +30
-6
lines changed Original file line number Diff line number Diff line change @@ -7,8 +7,8 @@ VITE_AVATAR_DELETE_URI=/api/upload/avatar
7
7
VITE_TRAINING_UPLOAD_URI = /api/upload/training/:id
8
8
VITE_TRAINING_DELETE_URI = /api/upload/training/:id
9
9
VITE_HOMEWORK_FILE_UPLOAD_URI = /api/homework/student/homework/:homeWorkId/file
10
- VITE_HOMEWORK_FILE_GET_URI = /api/homework/student/:homeWorkId/file/:fileId
11
- VITE_HOMEWORK_FILE_DELETE_URI = /api/homework/student/:homeWorkId/file/:fileId
10
+ VITE_HOMEWORK_FILE_GET_URI = /api/homework/student/homework/ :homeWorkId/file/:fileId
11
+ VITE_HOMEWORK_FILE_DELETE_URI = /api/homework/student/homework/ :homeWorkId/file/:fileId
12
12
VITE_LECTURE_FILE_UPLOAD_URI = /api/lecture/:lectureId/file
13
13
VITE_LECTURE_FILE_GET_URI = /api/lecture/:lectureId/file/:fileId
14
14
VITE_LECTURE_FILE_DELETE_URI = /api/lecture/:lectureId/file/:fileId
Original file line number Diff line number Diff line change @@ -51,9 +51,13 @@ export default class HomeworkFileService {
51
51
} ) ;
52
52
}
53
53
54
- static deleteFile ( homeWorkId : string ) : Promise < AxiosResponse < void > > {
54
+ static deleteFile (
55
+ homeWorkId : string ,
56
+ fileId : string
57
+ ) : Promise < AxiosResponse < void > > {
55
58
const deleteUrl = createUrlWithParams ( HOMEWORK_FILE_DELETE_URI , {
56
59
homeWorkId,
60
+ fileId,
57
61
} ) ;
58
62
59
63
return axios ( {
Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ const Editor: FC<ITextEditor> = ({
17
17
content,
18
18
setPendingFiles,
19
19
source,
20
+ deleteHomeworkFile,
20
21
} ) => {
21
22
const extensions = useExtensions ( {
22
23
placeholder : "Введите текст..." ,
@@ -134,6 +135,16 @@ const Editor: FC<ITextEditor> = ({
134
135
[ handleNewImageFiles , handleNewFiles ]
135
136
) ;
136
137
138
+ const handleKeyDown = useCallback (
139
+ ( view : any , event : { key : string } ) => {
140
+ // console.log("keydown event", event.key);
141
+ // if (event.key === "Backspace" || event.key === "Delete") {
142
+ // }
143
+ return false ;
144
+ } ,
145
+ [ deleteHomeworkFile ]
146
+ ) ;
147
+
137
148
return (
138
149
< >
139
150
< Box
@@ -153,6 +164,9 @@ const Editor: FC<ITextEditor> = ({
153
164
editorProps = { {
154
165
handleDrop,
155
166
handlePaste,
167
+ handleDOMEvents : {
168
+ keydown : handleKeyDown ,
169
+ } ,
156
170
} }
157
171
renderControls = { ( ) => (
158
172
< EditorMenuControls
Original file line number Diff line number Diff line change @@ -36,4 +36,8 @@ export interface ITextEditor {
36
36
content ?: Maybe < string > ;
37
37
setPendingFiles ?: React . Dispatch < React . SetStateAction < PendingFile [ ] > > ;
38
38
source : FileSourceType ;
39
+ deleteHomeworkFile ?: (
40
+ homeWorkId : string ,
41
+ fileId : string
42
+ ) => Promise < Maybe < void > > ;
39
43
}
Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ import { type RichTextEditorRef } from "shared/lib/mui-tiptap";
5
5
import { Editor } from "shared/components/text-editor" ;
6
6
import SendButtons from "shared/components/send-buttons" ;
7
7
import { createUrlWithParams } from "shared/utils" ;
8
- import { useHomeworkFileUpload } from "shared/hooks" ;
8
+ import { useHomeworkFileDelete , useHomeworkFileUpload } from "shared/hooks" ;
9
9
import { PendingFile } from "shared/components/text-editor/types" ;
10
10
11
11
import { IUpdateHomeWork } from "./update-homework.types" ;
@@ -23,6 +23,7 @@ const UpdateHomework: FC<IUpdateHomeWork> = (props) => {
23
23
const [ pendingFiles , setPendingFiles ] = useState < PendingFile [ ] > ( [ ] ) ;
24
24
const [ error , setError ] = useState ( "" ) ;
25
25
const { uploadHomeworkFile } = useHomeworkFileUpload ( ) ;
26
+ const { deleteHomeworkFile } = useHomeworkFileDelete ( ) ;
26
27
27
28
const handleUpdateHomework = async ( ) => {
28
29
if ( ! rteRef . current ?. editor || ! homeWorkId ) return ;
@@ -74,6 +75,7 @@ const UpdateHomework: FC<IUpdateHomeWork> = (props) => {
74
75
rteRef = { rteRef }
75
76
setPendingFiles = { setPendingFiles }
76
77
source = "studentHomework"
78
+ deleteHomeworkFile = { deleteHomeworkFile }
77
79
/>
78
80
{ error && < StyledFormHelperText > { error } </ StyledFormHelperText > }
79
81
Original file line number Diff line number Diff line change @@ -9,12 +9,12 @@ export const useHomeworkFileDelete = () => {
9
9
const [ deleting , setDeleting ] = useState ( false ) ;
10
10
const [ error , setError ] = useState < Maybe < Error > > ( null ) ;
11
11
12
- const deleteHomeworkFile = async ( homeWorkId : string ) => {
12
+ const deleteHomeworkFile = async ( homeWorkId : string , fileId : string ) => {
13
13
setDeleting ( true ) ;
14
14
setError ( null ) ;
15
15
16
16
try {
17
- const response = await HomeworkFileService . deleteFile ( homeWorkId ) ;
17
+ const response = await HomeworkFileService . deleteFile ( homeWorkId , fileId ) ;
18
18
19
19
if ( response . status === RESPONSE_STATUS . SUCCESSFUL ) {
20
20
setDeleting ( false ) ;
You can’t perform that action at this time.
0 commit comments