{"version":3,"file":"draft.mjs","sources":["../../../../packages/components/src/subject/draft.ts"],"sourcesContent":["import { uid } from '../base/uid'\nimport { type AnswerType, type SubjectItemType, SubjectType } from './types'\n\nexport interface CreateSubjectDraftOptions {\n  examAnswerRelationType?: number | null\n}\n\nfunction createChoiceAnswers(count: number) {\n  return Array.from({ length: count }, () => ({ title: '', isCorrect: false }))\n}\n\nfunction createScaleAnswers(count: number) {\n  return Array.from({ length: count }, (_, index) => ({ title: '', orderIndex: index + 1 }))\n}\n\nexport function createSubjectDraft(type: SubjectItemType, options: CreateSubjectDraftOptions = {}) {\n  if (type === SubjectType.PAGE_END) {\n    return {\n      customId: uid(),\n      answerType: SubjectType.PAGE_END,\n    }\n  }\n\n  const base = {\n    customId: uid(),\n    answerType: type as AnswerType,\n    title: '',\n    analysis: '',\n    isEdit: true,\n    examRichTextContent: '',\n  }\n\n  if (type === SubjectType.SINGLE || type === SubjectType.MULTIPLE || type === SubjectType.SORT) {\n    return {\n      ...base,\n      answers: createChoiceAnswers(4),\n      ...(type === SubjectType.SORT ? { leastAnswerCount: null, examExpand: '' } : {}),\n      ...(options.examAnswerRelationType != null ? { examAnswerRelationType: options.examAnswerRelationType } : {}),\n    }\n  }\n\n  if (type === SubjectType.BLANK_FILL) {\n    return {\n      ...base,\n      answers: [],\n      examAnswerSettingBO: { isInOrder: false, isIgnoreCase: true },\n    }\n  }\n\n  if (type === SubjectType.TEXT_FILL) {\n    return {\n      ...base,\n      answers: [{ title: '', tag: '', showInput: false }],\n      examAnswerSettingBO: { isInOrder: false, isIgnoreCase: true },\n      examExpand: '',\n    }\n  }\n\n  if (type === SubjectType.SCALE) {\n    return {\n      ...base,\n      answers: createScaleAnswers(5),\n      scaleQuestionList: [],\n    }\n  }\n\n  return {\n    ...base,\n    answers: [],\n  }\n}\n"],"names":["createChoiceAnswers","count","createScaleAnswers","_","index","createSubjectDraft","type","options","SubjectType","uid","base"],"mappings":"gFAOA,SAASA,EAAoBC,EAAe,CAC1C,OAAO,MAAM,KAAK,CAAE,OAAQA,CAAA,EAAS,KAAO,CAAE,MAAO,GAAI,UAAW,EAAA,EAAQ,CAC9E,CAEA,SAASC,EAAmBD,EAAe,CACzC,OAAO,MAAM,KAAK,CAAE,OAAQA,GAAS,CAACE,EAAGC,KAAW,CAAE,MAAO,GAAI,WAAYA,EAAQ,GAAI,CAC3F,CAEO,SAASC,EAAmBC,EAAuBC,EAAqC,GAAI,CACjG,GAAID,IAASE,EAAY,SACvB,MAAO,CACL,SAAUC,EAAA,EACV,WAAYD,EAAY,QAAA,EAI5B,MAAME,EAAO,CACX,SAAUD,EAAA,EACV,WAAYH,EACZ,MAAO,GACP,SAAU,GACV,OAAQ,GACR,oBAAqB,EAAA,EAGvB,OAAIA,IAASE,EAAY,QAAUF,IAASE,EAAY,UAAYF,IAASE,EAAY,KAChF,CACL,GAAGE,EACH,QAASV,EAAoB,CAAC,EAC9B,GAAIM,IAASE,EAAY,KAAO,CAAE,iBAAkB,KAAM,WAAY,EAAA,EAAO,CAAA,EAC7E,GAAID,EAAQ,wBAA0B,KAAO,CAAE,uBAAwBA,EAAQ,wBAA2B,CAAA,CAAC,EAI3GD,IAASE,EAAY,WAChB,CACL,GAAGE,EACH,QAAS,CAAA,EACT,oBAAqB,CAAE,UAAW,GAAO,aAAc,EAAA,CAAK,EAI5DJ,IAASE,EAAY,UAChB,CACL,GAAGE,EACH,QAAS,CAAC,CAAE,MAAO,GAAI,IAAK,GAAI,UAAW,GAAO,EAClD,oBAAqB,CAAE,UAAW,GAAO,aAAc,EAAA,EACvD,WAAY,EAAA,EAIZJ,IAASE,EAAY,MAChB,CACL,GAAGE,EACH,QAASR,EAAmB,CAAC,EAC7B,kBAAmB,CAAA,CAAC,EAIjB,CACL,GAAGQ,EACH,QAAS,CAAA,CAAC,CAEd"}