mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-25 23:28:33 -06:00
use custom feedback delims in editing as well as converting
This commit is contained in:
@@ -15,6 +15,9 @@ import { useAuthoritativeUpdates } from "../../../../utils/useAuthoritativeUpdat
|
|||||||
import { extractLabelValue } from "@/features/local/assignments/models/utils/markdownUtils";
|
import { extractLabelValue } from "@/features/local/assignments/models/utils/markdownUtils";
|
||||||
import EditQuizHeader from "./EditQuizHeader";
|
import EditQuizHeader from "./EditQuizHeader";
|
||||||
import { useLocalCourseSettingsQuery } from "@/features/local/course/localCoursesHooks";
|
import { useLocalCourseSettingsQuery } from "@/features/local/course/localCoursesHooks";
|
||||||
|
import { useGlobalSettingsQuery } from "@/features/local/globalSettings/globalSettingsHooks";
|
||||||
|
import { getFeedbackDelimitersFromSettings } from "@/features/local/globalSettings/globalSettingsUtils";
|
||||||
|
import type { GlobalSettings } from "@/features/local/globalSettings/globalSettingsModels";
|
||||||
import { EditLayout } from "@/components/EditLayout";
|
import { EditLayout } from "@/components/EditLayout";
|
||||||
import { quizMarkdownUtils } from "@/features/local/quizzes/models/utils/quizMarkdownUtils";
|
import { quizMarkdownUtils } from "@/features/local/quizzes/models/utils/quizMarkdownUtils";
|
||||||
import { LocalCourseSettings } from "@/features/local/course/localCourseSettings";
|
import { LocalCourseSettings } from "@/features/local/course/localCourseSettings";
|
||||||
@@ -111,10 +114,15 @@ export default function EditQuiz({
|
|||||||
isFetching,
|
isFetching,
|
||||||
} = useQuizQuery(moduleName, quizName);
|
} = useQuizQuery(moduleName, quizName);
|
||||||
const updateQuizMutation = useUpdateQuizMutation();
|
const updateQuizMutation = useUpdateQuizMutation();
|
||||||
|
const { data: globalSettings } = useGlobalSettingsQuery();
|
||||||
|
const feedbackDelimiters = getFeedbackDelimitersFromSettings(
|
||||||
|
(globalSettings ?? ({} as GlobalSettings)) as GlobalSettings
|
||||||
|
);
|
||||||
|
|
||||||
const { clientIsAuthoritative, text, textUpdate, monacoKey } =
|
const { clientIsAuthoritative, text, textUpdate, monacoKey } =
|
||||||
useAuthoritativeUpdates({
|
useAuthoritativeUpdates({
|
||||||
serverUpdatedAt: serverDataUpdatedAt,
|
serverUpdatedAt: serverDataUpdatedAt,
|
||||||
startingText: quizMarkdownUtils.toMarkdown(quiz),
|
startingText: quizMarkdownUtils.toMarkdown(quiz, feedbackDelimiters),
|
||||||
});
|
});
|
||||||
|
|
||||||
const [error, setError] = useState("");
|
const [error, setError] = useState("");
|
||||||
@@ -130,13 +138,18 @@ export default function EditQuiz({
|
|||||||
try {
|
try {
|
||||||
const name = extractLabelValue(text, "Name");
|
const name = extractLabelValue(text, "Name");
|
||||||
if (
|
if (
|
||||||
quizMarkdownUtils.toMarkdown(quiz) !==
|
quizMarkdownUtils.toMarkdown(quiz, feedbackDelimiters) !==
|
||||||
quizMarkdownUtils.toMarkdown(
|
quizMarkdownUtils.toMarkdown(
|
||||||
quizMarkdownUtils.parseMarkdown(text, name)
|
quizMarkdownUtils.parseMarkdown(text, name, feedbackDelimiters),
|
||||||
|
feedbackDelimiters
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
if (clientIsAuthoritative) {
|
if (clientIsAuthoritative) {
|
||||||
const updatedQuiz = quizMarkdownUtils.parseMarkdown(text, quizName);
|
const updatedQuiz = quizMarkdownUtils.parseMarkdown(
|
||||||
|
text,
|
||||||
|
quizName,
|
||||||
|
feedbackDelimiters
|
||||||
|
);
|
||||||
await updateQuizMutation.mutateAsync({
|
await updateQuizMutation.mutateAsync({
|
||||||
quiz: updatedQuiz,
|
quiz: updatedQuiz,
|
||||||
moduleName,
|
moduleName,
|
||||||
|
|||||||
Reference in New Issue
Block a user