SpecialX
ccf6c03096
fix(exams): preserve selected text when wrapIn fails in isolating nodes
...
When wrapIn fails inside isolating nodes (e.g. composite question block),
the previous fallback used insertContent which replaced the entire
selection with an empty questionBlock, causing other sub-questions to
disappear and content to be cleared.
New approach: when wrapIn fails, extract the selected text, delete the
selection, then insert a new node (questionBlock/groupBlock/sectionBlock)
containing the selected text as paragraphs. This preserves the content
and converts it into the desired structure.
Applied to all three wrap operations:
- insertQuestion (questionBlock)
- insertGroup (groupBlock)
- insertSection (sectionBlock)
2026-06-24 14:24:04 +08:00
..
2026-06-24 12:02:04 +08:00
2026-06-24 12:02:29 +08:00
2026-06-23 17:24:26 +08:00
refactor(modules): update existing module implementations across attendance, audit, auth, classes, course-plans, exams, files, homework, layout, proctoring, questions, scheduling, textbooks, users
2026-06-23 17:38:56 +08:00
refactor(modules): update existing module implementations across attendance, audit, auth, classes, course-plans, exams, files, homework, layout, proctoring, questions, scheduling, textbooks, users
2026-06-23 17:38:56 +08:00
refactor(modules): update existing module implementations across attendance, audit, auth, classes, course-plans, exams, files, homework, layout, proctoring, questions, scheduling, textbooks, users
2026-06-23 17:38:56 +08:00
2026-06-24 12:03:35 +08:00
2026-06-24 12:03:35 +08:00
2026-06-23 17:38:28 +08:00
2026-06-24 12:03:35 +08:00
refactor(modules): update existing module implementations across attendance, audit, auth, classes, course-plans, exams, files, homework, layout, proctoring, questions, scheduling, textbooks, users
2026-06-23 17:38:56 +08:00
2026-06-24 12:02:16 +08:00
2026-06-24 14:24:04 +08:00
2026-06-24 13:16:33 +08:00
2026-06-24 12:02:50 +08:00
2026-06-24 13:16:33 +08:00
2026-06-24 12:03:35 +08:00
2026-06-24 12:02:42 +08:00
2026-06-23 17:24:26 +08:00
2026-06-23 10:13:57 +08:00
2026-06-23 17:36:56 +08:00
2026-06-23 17:37:49 +08:00
refactor(modules): update existing module implementations across attendance, audit, auth, classes, course-plans, exams, files, homework, layout, proctoring, questions, scheduling, textbooks, users
2026-06-23 17:38:56 +08:00
2026-06-24 12:03:35 +08:00
2026-06-22 13:38:07 +08:00
2026-06-24 12:03:22 +08:00
2026-06-24 12:03:35 +08:00
2026-06-24 12:03:35 +08:00
refactor(modules): update existing module implementations across attendance, audit, auth, classes, course-plans, exams, files, homework, layout, proctoring, questions, scheduling, textbooks, users
2026-06-23 17:38:56 +08:00
refactor(modules): update existing module implementations across attendance, audit, auth, classes, course-plans, exams, files, homework, layout, proctoring, questions, scheduling, textbooks, users
2026-06-23 17:38:56 +08:00