import {CxVideoControlBar, Video} from "@App/mooc/chaoxing/video"; import { CxCourseQueryQuestion, CxCourseTopic, CxTopicControlBar, ExamTopic, HomeworkTopic, TopicAdapter } from "@App/mooc/chaoxing/topic"; import {Question, QuestionStatusString, ToolsQuestionBankFacade} from "@App/internal/app/question"; import {CxQuestionFactory} from "@App/mooc/chaoxing/question"; import {Application} from "@App/internal/application"; import {CxTaskControlBar, Task} from "@App/mooc/chaoxing/task"; import {CssBtn} from "@App/mooc/chaoxing/utils"; import {createBtn} from "@App/internal/utils/utils"; import {CxAudioControlBar, CxAudioTask, CxDocumentTask} from "@App/mooc/chaoxing/special"; export class TaskFactory { public static CreateCourseTask(context: any, taskinfo: any): Task { if (taskinfo.property.module == "insertaudio") { taskinfo.type = "audio"; } //TODO:优化 if (taskinfo.type != "video" && taskinfo.type != "workid" && taskinfo.type != "document" && taskinfo.type != "audio") { return null; } let task: Task; let taskIframe = (context).document.querySelector( "iframe[jobid='" + taskinfo.jobid + "']" ); let prev: HTMLElement; if (taskIframe == undefined) { taskIframe = (context).document.querySelector( "iframe[data*='" + taskinfo.property.mid + "']" ); prev = document.createElement("div"); taskIframe.parentElement.prepend(prev); } else { prev = taskIframe.previousElementSibling } switch (taskinfo.type) { case "video": { let bar = new CxVideoControlBar(prev, new Video(taskIframe.contentWindow, taskinfo)); task = bar.task; (