diff --git a/src/pages/Questions/ButtonsOptions.tsx b/src/pages/Questions/ButtonsOptions.tsx index f6eba2ac..caeab9d1 100644 --- a/src/pages/Questions/ButtonsOptions.tsx +++ b/src/pages/Questions/ButtonsOptions.tsx @@ -26,7 +26,7 @@ import { useQuestionsStore } from "@root/questions/store"; import { updateOpenedModalSettingsId } from "@root/uiTools/actions"; import { updateRootContentId } from "@root/quizes/actions"; import { useUiTools } from "@root/uiTools/store"; -import {useState} from "react"; +import { useState } from "react"; import { updateSomeWorkBackend } from "@root/uiTools/actions"; import { DeleteFunction } from "@utils/deleteFunc"; @@ -118,116 +118,116 @@ export default function ButtonsOptions({ > {buttonSetting.map(({ icon, title, value, myFunc }) => ( - {value === "branching" ? - question.type === "page" || question.type === "text" || question.type === "date" || question.type === "number" ? - <> - : - ( - // - // - // Будет показан при условии - // - // - // Название - // - // - // Условие 1, Условие 2 - // - // - // Все условия обязательны - // - // - // } - // > - { - openedModal(); - // SSHC(value); - // myFunc(question); - }} - sx={{ - display: quiz.config.type === "form" ? "none" : "flex", - backgroundColor: - switchState === value - ? theme.palette.brightPurple.main - : "transparent", - color: - switchState === value - ? "#ffffff" - : theme.palette.grey3.main, - minWidth: isWrappMiniButtonSetting ? "30px" : "64px", - height: "30px", - "&:hover": { - color: theme.palette.grey3.main, - "& path": { stroke: theme.palette.grey3.main }, - }, - }} - > - {icon} - {isWrappMiniButtonSetting ? null : title} - - // - ) : ( - <> - { - SSHC(value); - myFunc(); - }} - sx={{ - backgroundColor: - switchState === value - ? theme.palette.brightPurple.main - : "transparent", - color: - switchState === value - ? "#ffffff" - : theme.palette.grey3.main, - minWidth: isWrappMiniButtonSetting ? "30px" : "64px", - height: "30px", - "&:hover": { - color: theme.palette.grey3.main, - "& path": { stroke: theme.palette.grey3.main }, - }, - }} - > - {icon} - {isWrappMiniButtonSetting ? null : title} - - - )} + {value === "branching" ? + question.type === "page" || question.type === "text" || question.type === "date" || question.type === "number" ? + <> + : + ( + // + // + // Будет показан при условии + // + // + // Название + // + // + // Условие 1, Условие 2 + // + // + // Все условия обязательны + // + // + // } + // > + { + openedModal(); + // SSHC(value); + // myFunc(question); + }} + sx={{ + display: quiz.config.type === "form" ? "none" : "flex", + backgroundColor: + switchState === value + ? theme.palette.brightPurple.main + : "transparent", + color: + switchState === value + ? "#ffffff" + : theme.palette.grey3.main, + minWidth: isWrappMiniButtonSetting ? "30px" : "64px", + height: "30px", + "&:hover": { + color: theme.palette.grey3.main, + "& path": { stroke: theme.palette.grey3.main }, + }, + }} + > + {icon} + {isWrappMiniButtonSetting ? null : title} + + // + ) : ( + <> + { + SSHC(value); + myFunc(); + }} + sx={{ + backgroundColor: + switchState === value + ? theme.palette.brightPurple.main + : "transparent", + color: + switchState === value + ? "#ffffff" + : theme.palette.grey3.main, + minWidth: isWrappMiniButtonSetting ? "30px" : "64px", + height: "30px", + "&:hover": { + color: theme.palette.grey3.main, + "& path": { stroke: theme.palette.grey3.main }, + }, + }} + > + {icon} + {isWrappMiniButtonSetting ? null : title} + + + )} ))} {/* <> @@ -282,7 +282,11 @@ export default function ButtonsOptions({ { - if(question.content.rule.parentId.length !== 0) { + if (question.type === null) { + console.log("удаление безтипового") + deleteQuestion(question.id); + } + if (question.content.rule.parentId.length !== 0) { setOpenDelete(true) } else { deleteQuestionWithTimeout(question.id, () => DeleteFunction(questions, question, quiz)); @@ -305,7 +309,7 @@ export default function ButtonsOptions({ background: "#FFFFFF", }} > - + Вы удаляете вопрос, участвующий в ветвлении. Все его потомки потеряют данные ветвления. Вы уверены, что хотите удалить вопрос? { + if (question.type === null) { + console.log("удаление безтипового") + deleteQuestion(question.id); + } if(question.content.rule.parentId.length !== 0) { setOpenDelete(true) } else { diff --git a/src/pages/Questions/DraggableList/QuestionPageCard.tsx b/src/pages/Questions/DraggableList/QuestionPageCard.tsx index eb5e4830..6315b5de 100644 --- a/src/pages/Questions/DraggableList/QuestionPageCard.tsx +++ b/src/pages/Questions/DraggableList/QuestionPageCard.tsx @@ -59,35 +59,35 @@ import { updateSomeWorkBackend } from "@root/uiTools/actions"; import { DeleteFunction } from "@utils/deleteFunc"; interface Props { - question: AnyTypedQuizQuestion | UntypedQuizQuestion; - draggableProps: DraggableProvidedDragHandleProps | null | undefined; - isDragging: boolean; - index: number; + question: AnyTypedQuizQuestion | UntypedQuizQuestion; + draggableProps: DraggableProvidedDragHandleProps | null | undefined; + isDragging: boolean; + index: number; } export default function QuestionsPageCard({ question, draggableProps, isDragging, index }: Props) { -const maxLengthTextField = 225; + const maxLengthTextField = 225; - const { questions } = useQuestionsStore(); - const [plusVisible, setPlusVisible] = useState(false); - const [open, setOpen] = useState(false); + const { questions } = useQuestionsStore(); + const [plusVisible, setPlusVisible] = useState(false); + const [open, setOpen] = useState(false); const [isTextFieldtActive, setIsTextFieldtActive] = useState(false); - const [openDelete, setOpenDelete] = useState(false); - const theme = useTheme(); - const isTablet = useMediaQuery(theme.breakpoints.down(1000)); - const isMobile = useMediaQuery(theme.breakpoints.down(790)); - const anchorRef = useRef(null); - const quiz = useCurrentQuiz(); + const [openDelete, setOpenDelete] = useState(false); + const theme = useTheme(); + const isTablet = useMediaQuery(theme.breakpoints.down(1000)); + const isMobile = useMediaQuery(theme.breakpoints.down(790)); + const anchorRef = useRef(null); + const quiz = useCurrentQuiz(); - const setTitle = useDebouncedCallback((title) => { - const updateQuestionFn = question.type === null ? updateUntypedQuestion : updateQuestion; + const setTitle = useDebouncedCallback((title) => { + const updateQuestionFn = question.type === null ? updateUntypedQuestion : updateQuestion; - updateQuestionFn(question.id, question => { - question.title = title; - }); - }, 200); + updateQuestionFn(question.id, question => { + question.title = title; + }); + }, 200); const handleInputFocus = () => { setIsTextFieldtActive(true); @@ -98,7 +98,7 @@ const maxLengthTextField = 225; }; - return ( + return ( <> { + if (question.type === null) { + console.log("удаление безтипового") + deleteQuestion(question.id); + } if (question.content.rule.parentId.length !== 0) { setOpenDelete(true); } else { @@ -417,85 +421,85 @@ const maxLengthTextField = 225; } const IconAndrom = (isExpanded: boolean, questionType: QuestionType | null) => { - switch (questionType) { - case "variant": - return ( - - ); - case "images": - return ( - - ); - case "varimg": - return ( - - ); - case "emoji": - return ( - - ); - case "text": - return ( - - ); - case "select": - return ( - - ); - case "date": - return ( - - ); - case "number": - return ( - - ); - case "file": - return ( - - ); - case "page": - return ( - - ); - case "rating": - return ( - - ); - default: - return <>; - } + switch (questionType) { + case "variant": + return ( + + ); + case "images": + return ( + + ); + case "varimg": + return ( + + ); + case "emoji": + return ( + + ); + case "text": + return ( + + ); + case "select": + return ( + + ); + case "date": + return ( + + ); + case "number": + return ( + + ); + case "file": + return ( + + ); + case "page": + return ( + + ); + case "rating": + return ( + + ); + default: + return <>; + } }; diff --git a/src/utils/deleteFunc.ts b/src/utils/deleteFunc.ts index 27098b9d..abe57e85 100644 --- a/src/utils/deleteFunc.ts +++ b/src/utils/deleteFunc.ts @@ -60,8 +60,6 @@ export const DeleteFunction = async (questions: any, question: any, quiz: any) = const result = questions.find(q => q.type === "result" && q.content.rule.parentId === question.content.id) if (result) await deleteQuestion(result.id); - } else { - await deleteQuestion(question.id); } } \ No newline at end of file