{"version":3,"sources":["webpack:///./src/models/entry/Question.ts","webpack:///./src/views/exam/Exam.vue?b2bc","webpack:///./src/views/exam/Exam.vue","webpack:///./src/views/exam/Exam.vue?e37b","webpack:///./src/views/exam/Exam.vue?ac13","webpack:///./src/models/entry/AnswersDetails.ts","webpack:///./src/components/ExamCheckBox.vue?fa10","webpack:///./src/components/ExamCheckBox.vue","webpack:///./src/components/ExamCheckBox.vue?35f2","webpack:///./src/components/ExamCheckBox.vue?b2f9","webpack:///./src/models/entry/Choice.ts","webpack:///./src/models/entry/QuestionResources.ts","webpack:///./src/models/entry/SubQuestion.ts","webpack:///./src/components/ExamTimer.vue?ce6d","webpack:///./src/components/ExamTimer.vue","webpack:///./src/components/ExamTimer.vue?2dbc","webpack:///./src/components/ExamTimer.vue?b902","webpack:///./src/models/entry/Answer.ts","webpack:///./src/components/ExamRadio.vue?8031","webpack:///./src/components/ExamRadio.vue","webpack:///./src/components/ExamRadio.vue?2f75","webpack:///./src/components/ExamRadio.vue?d114","webpack:///./src/models/entry/PutSingleAnswer.ts","webpack:///./src/components/ExamSelect.vue?3660","webpack:///./src/components/ExamSelect.vue","webpack:///./src/components/ExamSelect.vue?a103","webpack:///./src/components/ExamSelect.vue?76eb"],"names":["this","questionCode","questionTitle","questionStatement","answerType","isFixed","subQuestions","questionResources","questionNumber","isBookMark","isAnswer","i","length","Question","render","_vm","_h","$createElement","_c","_self","staticClass","attrs","directives","name","rawName","value","expression","timerSec","notificationSec","isTimerStart","on","examEnd","$event","moveCurrent","_v","_s","current","questions","_l","q","index","key","class","check","staticStyle","setCurrent","_m","domProps","getVideoInfo","localSrcUri","contentType","_e","getAudioInfo","subQ","subQIdx","subQuestionTitle","subQuestionType","choices","answer","choiceCodes","$set","target","composing","bookMark","disable","answeredAllQuestions","isEndConfirm","isExamStart","examStart","isReady","progressPercent","style","isIndicatorDisplay","staticRenderFns","copyright","entryCode","rankCode","resultCode","totalDownloadDataCount","nowLoadingCount","EntryRepo","RepositoryFactory","get","entry","retryMsg","isBookmarkSave","contentsReload","$nextTick","videoTag","document","getElementById","load","audioTag","mounted","oncontextmenu","getCopyright","opener","window","location","pathname","paths","EXAM_READY","EXAM_RESULT","$router","replace","TOP","$route","query","rank","CommonCss","createElement","rel","href","$el","appendChild","ExamIndexCss","getExamConfigCss","then","cssElement","CommonJs","src","ExamIndexJs","getQuestions","getAnswers","resourceDownLoad","firstData","beforeDestroy","rejected","getQuestion","response","convert","deserializeArray","data","examination_result_code","forEach","question","MarkdownToHTML","subQuestion","version","order","choice","c","choiceTitle","catch","confirm","getAnswer","answerDetail","details","detail","find","bookmark","sq","answers","ans","ExamRepository","exam","getExamDesignResource","DesignCode","status","undefined","display_text","downloadInfo","questionValue","resourceData","resource","uri","resourceUri","push","execDownload","rejectInfo","results","info","createDownLoadPromice","Promise","all","a","responseType","headers","split","blob","Blob","type","srcUrl","URL","createObjectURL","contents","indexOf","resourceFileName","alternativeText","targetSubq","targetChoice","Math","round","postExamStart","time_sec","notification_limit_sec","saveAnswer","putAnswer","PutSingleAnswer","StringUtil","err","console","log","allAnswers","allAnswer","PutAllQuestionAnswer","PutAllQuestionAnswerDetail","putExamEnd","e","vector","nextIndex","next","getResourceInfo","contentsType","width","every","Exam","components","ExamRadio","ExamCheckBox","ExamSelect","ExamTimer","IndicatorModal","BaseView","component","AnswersDetails","isSelectedCheck","choiceCode","select","code","findIndex","selectedCode","splice","Array","ExamCheckbox","Choice","QuestionResources","SubQuestion","isNotification","min","secFormat","sec","strSec","substring","switch","timerStart","start","stop","clearInterval","timer","time","trunc","setInterval","countDown","$emit","notificationMin","default","String","Answer","choiceIdx","isSeletBodyVisible","currentChoice","init","selectChoice","display","top","deep"],"mappings":"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","file":"js/exam_main.daa00efd.js","sourcesContent":["import { JsonObject, JsonProperty } from 'json2typescript';\nimport SubQuestion from '@/models/entry/SubQuestion';\nimport QuestionResources from '@/models/entry/QuestionResources';\n\n@JsonObject('Question')\nexport default class Question {\n constructor() {\n this.questionCode = '';\n this.questionTitle = '';\n this.questionStatement = '';\n this.answerType = '';\n this.isFixed = false;\n this.subQuestions = [];\n this.questionResources = [];\n this.questionNumber = 0;\n this.isBookMark = false;\n }\n\n @JsonProperty('question_code')\n public questionCode: string;\n\n @JsonProperty('question_title')\n public questionTitle: string;\n\n @JsonProperty('question_statement')\n public questionStatement: string;\n\n @JsonProperty('answer_type')\n public answerType: string;\n\n @JsonProperty('is_fixed')\n public isFixed: boolean;\n\n @JsonProperty('sub_questions', [SubQuestion], true)\n public subQuestions: SubQuestion[];\n\n @JsonProperty('question_resources', [QuestionResources], true)\n public questionResources: QuestionResources[];\n\n /**\n * 問題番号\n */\n public questionNumber: number;\n\n /**\n * ブックマークフラグ\n */\n public isBookMark: boolean;\n\n isAnswer() {\n // 設問すべての解答データ有無をチェックし1個でもない場合未回答とする\n for (let i = 0; i < this.subQuestions.length; i += 1) {\n if (!this.subQuestions[i].isAnswer()) {\n return false;\n }\n }\n return true;\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"exam-wrapper\",attrs:{\"id\":\"wrapper\"}},[_c('main',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isReady),expression:\"isReady\"}]},[_c('article',[_c('div',{staticClass:\"exam-header bg-base border-ex\"},[_c('e-timer',{attrs:{\"time\":_vm.timerSec,\"notificationSec\":_vm.notificationSec,\"timerStart\":_vm.isTimerStart},on:{\"end\":_vm.examEnd,\"forceEnd\":_vm.examEnd}}),_c('div',{staticClass:\"exam-header-menu\"},[_c('a',{staticClass:\"btn back\",attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.moveCurrent(-1)}}},[_c('span',[_vm._v(\"前の問題\")])]),_c('div',{staticClass:\"exam-header-progress\"},[_c('span',[_vm._v(_vm._s(_vm.current.questionNumber)+\"/\"+_vm._s(_vm.questions.length))]),_vm._v(\"問中 \")]),_c('a',{staticClass:\"btn\",attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.moveCurrent(1)}}},[_c('span',[_vm._v(\"次の問題\")])])])],1),_c('section',{staticClass:\"exam-section\"},[_c('div',{staticClass:\"contents-body full\"},[_c('div',{staticClass:\"exam-wrapper\"},[_c('div',{staticClass:\"exam-list\"},[_c('dl',{staticClass:\"border-ex\"},[_c('dt',[_vm._v(\"問題一覧\")]),_c('dd',[_c('ul',_vm._l((_vm.questions),function(q,index){return _c('li',{key:index,class:{ current: q.questionNumber === _vm.current.questionNumber, check: q.isBookMark, on: q.isAnswer() }},[_c('a',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.setCurrent(q)}}},[_vm._v(_vm._s(q.questionNumber))])])}),0)]),_vm._m(0)])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.current),expression:\"current\"}],staticClass:\"exam-main\"},[_c('p',{staticClass:\"exam-title border-ex\"},[_vm._v(\"第 \"+_vm._s(_vm.current.questionNumber)+\" 問 \"+_vm._s(_vm.current.questionTitle))]),_c('p',{staticClass:\"exam-text\",domProps:{\"innerHTML\":_vm._s(_vm.current.questionStatement)}}),_c('div',{staticClass:\"exam-pic\"},[(_vm.getVideoInfo())?_c('video',{staticStyle:{\"width\":\"100%\"},attrs:{\"id\":\"video\",\"src\":_vm.getVideoInfo().localSrcUri,\"type\":_vm.getVideoInfo().contentType,\"controls\":\"\",\"controlslist\":\"nodownload\",\"preload\":\"\",\"disablepictureinpicture\":\"\",\"playsinline\":\"\"}},[_c('p',[_vm._v(\"映像を再生するには、videoタグをサポートしたブラウザが必要です。\")])]):_vm._e(),(_vm.getAudioInfo())?_c('audio',{staticStyle:{\"width\":\"100%\"},attrs:{\"id\":\"audio\",\"src\":_vm.getAudioInfo().localSrcUri,\"type\":_vm.getAudioInfo().contentType,\"controls\":\"\",\"controlslist\":\"nodownload\",\"preload\":\"\"}},[_c('p',[_vm._v(\"音声を再生するには、audioタグをサポートしたブラウザが必要です。\")])]):_vm._e()]),_vm._l((_vm.current.subQuestions),function(subQ,subQIdx){return _c('div',{key:subQIdx},[_c('p',{staticClass:\"exam-text\",domProps:{\"innerHTML\":_vm._s(subQ.subQuestionTitle)}}),(subQ.subQuestionType === 'choice')?_c('e-radio',{attrs:{\"choices\":subQ.choices,\"choiceCodes\":subQ.answer.choiceCodes},on:{\"update:choiceCodes\":function($event){return _vm.$set(subQ.answer, \"choiceCodes\", $event)},\"update:choice-codes\":function($event){return _vm.$set(subQ.answer, \"choiceCodes\", $event)}}}):_vm._e(),(subQ.subQuestionType === 'multiple')?_c('e-checkBox',{attrs:{\"choices\":subQ.choices,\"choiceCodes\":subQ.answer.choiceCodes},on:{\"update:choiceCodes\":function($event){return _vm.$set(subQ.answer, \"choiceCodes\", $event)},\"update:choice-codes\":function($event){return _vm.$set(subQ.answer, \"choiceCodes\", $event)}}}):_vm._e(),(subQ.subQuestionType === 'dropdown')?_c('e-select',{attrs:{\"choices\":subQ.choices,\"choiceCodes\":subQ.answer.choiceCodes},on:{\"update:choiceCodes\":function($event){return _vm.$set(subQ.answer, \"choiceCodes\", $event)},\"update:choice-codes\":function($event){return _vm.$set(subQ.answer, \"choiceCodes\", $event)}}}):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(subQ.subQuestionType === 'describe'),expression:\"subQ.subQuestionType === 'describe'\"}],staticClass:\"exam-input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(subQ.answer.answer),expression:\"subQ.answer.answer\"}],attrs:{\"type\":\"text\",\"placeholder\":\"解答を入力\",\"maxlength\":\"1000\"},domProps:{\"value\":(subQ.answer.answer)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(subQ.answer, \"answer\", $event.target.value)}}})]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(subQ.subQuestionType === 'area'),expression:\"subQ.subQuestionType === 'area'\"}],staticClass:\"exam-textarea\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(subQ.answer.answer),expression:\"subQ.answer.answer\"}],attrs:{\"name\":\"\",\"id\":\"\",\"cols\":\"30\",\"rows\":\"10\",\"placeholder\":\"解答を入力\",\"maxlength\":\"1000\"},domProps:{\"value\":(subQ.answer.answer)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(subQ.answer, \"answer\", $event.target.value)}}})])],1)}),_c('div',{staticClass:\"exam-check\"},[_c('a',{staticClass:\"btn\",attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":_vm.bookMark}},[_c('span',[_vm._v(\"あとで見直す\")])])]),_c('div',{staticClass:\"exam-pager\"},[_c('a',{staticClass:\"btn back\",attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.moveCurrent(-1)}}},[_c('span',[_vm._v(\"前の問題\")])]),_c('div',{staticClass:\"exam-pager-progress\"},[_c('span',[_vm._v(_vm._s(_vm.current.questionNumber)+\"/\"+_vm._s(_vm.questions.length))]),_vm._v(\"問中 \")]),_c('a',{staticClass:\"btn\",attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.moveCurrent(1)}}},[_c('span',[_vm._v(\"次の問題\")])])])],2)])])]),_c('div',{staticClass:\"exam-footer\"},[_vm._m(1),_c('a',{staticClass:\"btn-strong modal-open\",class:{disable: !_vm.answeredAllQuestions},attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){_vm.isEndConfirm = true}}},[_c('span',[_vm._v(\"試験を終了する\")])]),_vm._m(2)])])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isExamStart),expression:\"!isExamStart\"}],staticClass:\"modal\",attrs:{\"id\":\"modal-load\"}},[_c('div',{staticClass:\"modal-bg\"}),_c('div',{staticClass:\"modal-contents\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isReady),expression:\"isReady\"}],staticClass:\"modal-contents-body\"},[_c('p',{staticClass:\"modal-title\"},[_vm._v(\"ロードが完了しました\")]),_c('p',{staticClass:\"modal-text\"},[_vm._v(\"下記のボタンから試験を開始してください\")]),_c('a',{staticClass:\"btn-strong modal-close\",attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":_vm.examStart}},[_c('span',[_vm._v(\"試験を開始\")])])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isReady),expression:\"!isReady\"}],staticClass:\"modal-contents-body\"},[_c('p',{staticClass:\"modal-title\"},[_vm._v(\"問題をロード中です\")]),_c('p',{staticClass:\"modal-text\"},[_vm._v(\"このままお待ちください\")]),_c('div',{staticClass:\"exam-load-progress\"},[_c('p',{staticClass:\"color-ex\"},[_c('span',[_vm._v(_vm._s(_vm.progressPercent))]),_vm._v(\"% \")]),_c('div',{staticClass:\"exam-load-progress-bar\"},[_c('div',{staticClass:\"bg-ex\",style:(_vm.progress)})])])])])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isEndConfirm),expression:\"isEndConfirm\"}],staticClass:\"modal\",attrs:{\"id\":\"modal-end\"}},[_c('div',{staticClass:\"modal-bg\"}),_c('div',{staticClass:\"modal-contents\"},[_c('div',{staticClass:\"modal-contents-body\"},[_c('p',{staticClass:\"modal-title\"},[_vm._v(\"本当に終了しますか?\")]),_c('p',{staticClass:\"modal-text\"},[_vm._v(\"一度試験を終了すると、再開することはできません。\")]),_c('a',{staticClass:\"btn modal-close\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){_vm.isEndConfirm = false}}},[_c('span',[_vm._v(\"キャンセル\")])]),_c('a',{staticClass:\"btn-strong\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.examEnd}},[_c('span',[_vm._v(\"終了する\")])])])])]),_c('e-indicator',{staticStyle:{\"z-index\":\"5000\",\"position\":\"fixed\"},attrs:{\"display\":_vm.isIndicatorDisplay}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"btn\",attrs:{\"href\":\"javascript:void(0);\"}},[_c('span',[_vm._v(\"閉じる\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"btn btn-exam-list\",attrs:{\"href\":\"javascript:void(0);\"}},[_c('span',[_vm._v(\"問題一覧\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"©N,K/Q ©N,K/Q2 ©N,K/GM ©N,K/QS\"),_c('br'),_vm._v(\"©CYBIRD\")])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Watch } from 'vue-property-decorator';\nimport axios from 'axios';\nimport * as StringUtil from '@/common/StringUtil';\nimport MarkdownToHTML from '@/common/MarkdownToHTML';\nimport RepositoryFactory from '@/repository/RepositoryFactory';\nimport BaseView from '@/views/BaseView.vue';\nimport Question from '@/models/entry/Question';\nimport QuestionResources from '@/models/entry/QuestionResources';\nimport AnswerDetails from '@/models/entry/AnswersDetails';\nimport PutSingleAnswer from '@/models/entry/PutSingleAnswer';\nimport PutAllQuestionAnswer from '@/models/entry/PutAllQuestionAnswer';\nimport PutAllQuestionAnswerDetail from '@/models/entry/PutAllQuestionAnswerDetail';\n\nimport ExamRadio from '@/components/ExamRadio.vue';\nimport ExamCheckBox from '@/components/ExamCheckBox.vue';\nimport ExamSelect from '@/components/ExamSelect.vue';\nimport ExamTimer from '@/components/ExamTimer.vue';\nimport IndicatorModal from '@/components/IndicatorModal.vue';\nimport * as DesignCode from '@/classification/DesignCode';\n\n/**\n * リソースダウンロード情報まとめ\n */\ninterface DownloadInfo {\n uri: string;\n question: Question;\n resource: QuestionResources;\n}\n\n/**\n * video、audioのロード\n */\ninterface ControlsFunction {\n load: () => void;\n}\n\n@Component({\n components: {\n 'e-radio': ExamRadio,\n 'e-checkBox': ExamCheckBox,\n 'e-select': ExamSelect,\n 'e-timer': ExamTimer,\n 'e-indicator': IndicatorModal,\n },\n})\nexport default class Exam extends BaseView {\n /**\n * コピーライト\n */\n copyright = '';\n\n /**\n * 受験申込コード\n */\n entryCode = '';\n\n /**\n * 検定ランクコード\n */\n rankCode = '';\n\n /**\n * 解答結果コード\n */\n resultCode = '';\n\n /**\n * 制限時間\n */\n timerSec = 0;\n\n /**\n * 通知時間\n */\n notificationSec = 0;\n\n /**\n * 問題情報格納用\n */\n questions: Question[] = [];\n\n /**\n * 現在表示中の問題格納用\n */\n current = new Question();\n\n /**\n * 試験開始準備完了フラグ\n */\n isReady = false;\n\n /**\n * 試験開始フラグ\n */\n isExamStart = false;\n\n /**\n * タイマー起動フラグ\n */\n isTimerStart = false;\n\n /**\n * 試験終了確認モーダル表示フラグ\n */\n isEndConfirm = false;\n\n /**\n * インジケーターフラグ\n */\n isIndicatorDisplay = false;\n\n progressPercent = 0;\n\n /**\n * 解答データ、リソースデータのダウンロード総数保存用\n */\n totalDownloadDataCount = 0;\n\n /**\n * 現在ダウンロード完了している個数カウント\n */\n nowLoadingCount = 0;\n\n EntryRepo = RepositoryFactory.get().entry;\n\n retryMsg = 'に失敗しました。\\n再実行しますか?\\n※何度も発生する場合はお問合せページよりご連絡ください。';\n\n @Watch('current')\n contentsReload() {\n if (this.getVideoInfo()) {\n this.$nextTick(() => {\n const videoTag = document.getElementById('video') as HTMLElement & ControlsFunction;\n if (videoTag) {\n videoTag.load();\n }\n });\n }\n\n if (this.getAudioInfo()) {\n this.$nextTick(() => {\n const audioTag = document.getElementById('audio') as HTMLElement & ControlsFunction;\n if (audioTag) {\n audioTag.load();\n }\n });\n }\n }\n\n async mounted() {\n document.oncontextmenu = function () {\n return false;\n };\n\n await this.getCopyright();\n\n // 親ウィンドウが無い、親ウィンドウが試験前ページ or 試験結果ページ以外だった場合TOPへ\n const { opener } = window;\n if (!opener || (opener.location.pathname !== this.paths.EXAM_READY && opener.location.pathname !== this.paths.EXAM_RESULT)) {\n this.$router.replace(this.paths.TOP);\n return;\n }\n\n window.opener = null;\n\n // 受験申込コード or ランクコードがない場合強制敵にTOPへ飛ばす\n if (!this.$route.query.entry || !this.$route.query.rank) {\n this.$router.replace(this.paths.TOP);\n return;\n }\n\n this.entryCode = this.$route.query.entry as string;\n this.rankCode = this.$route.query.rank as string;\n\n const CommonCss = document.createElement('link');\n CommonCss.rel = 'stylesheet';\n CommonCss.href = '/css/common.css';\n this.$el.appendChild(CommonCss);\n\n const ExamIndexCss = document.createElement('link');\n ExamIndexCss.rel = 'stylesheet';\n ExamIndexCss.href = '/exam/css/index.css';\n this.$el.appendChild(ExamIndexCss);\n\n this.getExamConfigCss().then((cssElement: HTMLLinkElement) => {\n this.$el.appendChild(cssElement);\n });\n\n const CommonJs = document.createElement('script');\n CommonJs.src = '/js/common.js';\n this.$el.appendChild(CommonJs);\n\n const ExamIndexJs = document.createElement('script');\n ExamIndexJs.src = '/exam/js/index.js';\n this.$el.appendChild(ExamIndexJs);\n\n try {\n // 検定問題検索\n await this.getQuestions();\n\n // 解答情報取得\n await this.getAnswers();\n\n // リソース取得\n await this.resourceDownLoad();\n\n // 問題配列1番目を初期表示\n const [firstData] = this.questions;\n this.current = firstData;\n\n // 試験開始準備完了\n this.isReady = true;\n } catch (e) {\n this.$router.replace(this.paths.TOP);\n }\n }\n\n /* eslint-disable class-methods-use-this */\n beforeDestroy() {\n document.oncontextmenu = function () {\n return true;\n };\n }\n\n /**\n * 問題取得\n */\n async getQuestions() {\n let rejected = false;\n await this.EntryRepo.getQuestion(this.entryCode)\n .then((response) => {\n this.questions = this.EntryRepo.convert.deserializeArray(response.data.questions, Question);\n this.resultCode = response.data.examination_result_code;\n\n if (this.questions.length > 0) {\n this.questions.forEach((q, index) => {\n const question = q;\n // 出題順番号付与\n question.questionNumber = index + 1;\n // 問題文のMarkdownパース\n question.questionStatement = MarkdownToHTML(question.questionStatement);\n question.subQuestions.forEach((subQuestion) => {\n const subQ = subQuestion;\n // 設問タイトルのMarkdownパース\n subQ.subQuestionTitle = MarkdownToHTML(subQ.subQuestionTitle);\n // 取得された設問情報を解答情報にセット\n subQ.answer.questionCode = subQ.questionCode;\n subQ.answer.version = subQ.version;\n subQ.answer.order = subQ.order;\n subQ.choices.forEach((choice) => {\n // 設問選択肢のMarkdownパース\n const c = choice;\n c.choiceTitle = MarkdownToHTML(c.choiceTitle);\n });\n });\n });\n } else {\n rejected = true;\n }\n }).catch(() => {\n rejected = true;\n });\n\n // エラー時の再実行確認\n if (rejected) {\n if (window.confirm(`問題の取得${this.retryMsg}`)) {\n await this.getQuestions();\n } else {\n this.$router.replace(this.paths.TOP);\n }\n }\n }\n\n /**\n * 解答済みデータ取得\n */\n async getAnswers() {\n let rejected = false;\n await this.EntryRepo.getAnswer(this.entryCode, this.resultCode)\n .then((response) => {\n const answerDetail = this.EntryRepo.convert.deserializeArray(response.data.details, AnswerDetails);\n // 解答保持オブジェクトを作成\n answerDetail.forEach((detail) => {\n // 問題コードで紐づけ\n const question = this.questions.find((q) => q.questionCode === detail.questionCode) as Question;\n question.isBookMark = detail.bookmark;\n\n // 設問を探索\n question.subQuestions.forEach((sq) => {\n const subQ = sq;\n const answer = detail.answers\n .find((ans) => ans.version === subQ.version && ans.order === subQ.order);\n if (!answer) return;\n // 設問バージョン、表示順が合致する解答を適用\n subQ.answer = answer;\n });\n });\n })\n .catch(() => {\n rejected = false;\n });\n\n // エラー時の再実行確認\n if (rejected) {\n if (window.confirm(`問題の取得${this.retryMsg}`)) {\n await this.getAnswers();\n } else {\n this.$router.replace(this.paths.TOP);\n }\n }\n }\n\n /**\n * コピーライト文言取得\n */\n async getCopyright() {\n const ExamRepository = RepositoryFactory.get().exam;\n ExamRepository.getExamDesignResource(DesignCode.COPY_RIGHT).then((response) => {\n if (response.status === 200 && response.data !== undefined) {\n this.copyright = response.data.display_text;\n }\n });\n }\n\n /**\n * 問題リソースダウンロード\n */\n async resourceDownLoad() {\n // 取得失敗時の情報保持用配列\n const downloadInfo: DownloadInfo[] = [];\n this.questions.forEach((questionValue, index) => {\n const question = questionValue;\n question.questionNumber = index + 1;\n question.questionResources.forEach((resourceData) => {\n this.totalDownloadDataCount += 1;\n const resource = resourceData;\n const uri = `${process.env.VUE_APP_DESIGN_RESOURCE_BASE}${resource.resourceUri}`;\n downloadInfo.push({ uri, question, resource });\n });\n });\n this.totalDownloadDataCount = downloadInfo.length;\n // ダウンロード実行\n await this.execDownload(downloadInfo);\n }\n\n /**\n * ダウンロード実行処理(再帰呼び出し対応)\n */\n async execDownload(downloadInfo: DownloadInfo[]) {\n const rejectInfo: DownloadInfo[] = [];\n const results: Promise[] = [];\n\n // ダウンロード処理生成\n downloadInfo.forEach((info) => {\n results.push(this.createDownLoadPromice(info).catch(() => {\n rejectInfo.push(info);\n }));\n });\n\n // 一括実行\n await Promise.all(results);\n\n // エラー時の再実行確認\n if (rejectInfo.length !== 0) {\n if (window.confirm(`問題の取得${this.retryMsg}`)) {\n this.execDownload(rejectInfo);\n } else {\n this.$router.replace(this.paths.TOP);\n }\n }\n }\n\n /**\n * リソースダウンロード処理Promise生成\n */\n createDownLoadPromice(downloadInfo: DownloadInfo) {\n const { uri, question, resource } = downloadInfo;\n // arraybuffer オプション必須\n return axios.get(uri, { responseType: 'arraybuffer' })\n .then((response) => {\n const contentType = response.headers['content-type'].split(';')[0];\n const blob = new Blob([response.data], { type: contentType });\n const srcUrl = URL.createObjectURL(blob);\n // ダウンロードされたファイルの実体を保持\n resource.contents = blob;\n resource.contentType = contentType;\n resource.localSrcUri = srcUrl;\n\n // 画像の場合、各所の対応する独自タグを置換\n if (contentType.indexOf('image') !== -1) {\n const replaceTag = `{{${resource.resourceFileName}}}`;\n const imgTagString = `\"${resource.alternativeText}\"`;\n // 問題本文\n question.questionStatement = question.questionStatement.replace(replaceTag, imgTagString);\n\n const { subQuestions } = question;\n subQuestions.forEach((subQ) => {\n const targetSubq = subQ;\n // 設問タイトル\n targetSubq.subQuestionTitle = targetSubq.subQuestionTitle.replace(replaceTag, imgTagString);\n targetSubq.choices.forEach((choice) => {\n const targetChoice = choice;\n // 問題選択肢\n targetChoice.choiceTitle = targetChoice.choiceTitle.replace(replaceTag, imgTagString);\n });\n });\n }\n\n // プログレスバー計算\n this.nowLoadingCount += 1;\n this.progressPercent = Math.round((this.nowLoadingCount / this.totalDownloadDataCount) * 100);\n });\n }\n\n /**\n * 試験開始\n */\n async examStart() {\n this.isIndicatorDisplay = true;\n try {\n await this.EntryRepo.postExamStart(this.entryCode, this.resultCode)\n .then((response) => {\n this.timerSec = response.data.time_sec as number;\n this.notificationSec = response.data.notification_limit_sec as number;\n this.isExamStart = true;\n this.isTimerStart = true;\n });\n } catch {\n if (window.confirm(`試験開始処理${this.retryMsg}`)) {\n await this.examStart();\n } else {\n this.$router.replace(this.paths.TOP);\n }\n } finally {\n this.isIndicatorDisplay = false;\n }\n }\n\n /**\n * 単体での解答保存\n */\n saveAnswer() {\n const putAnswer = new PutSingleAnswer();\n putAnswer.bookmark = this.current.isBookMark;\n this.current.subQuestions.forEach((subQ) => {\n putAnswer.answers.push(subQ.answer);\n });\n const questionCode = StringUtil.encodeToBase64Url(this.current.questionCode);\n this.EntryRepo.putAnswer(this.entryCode, this.resultCode, questionCode, putAnswer)\n .catch((err) => {\n // 失敗しても試験を続行する\n console.log(err);\n });\n }\n\n /**\n * 解答終了\n */\n async examEnd() {\n this.isIndicatorDisplay = true;\n const allAnswers: PutAllQuestionAnswer[] = [];\n // すべての問題から解答情報を取り出す\n this.questions.forEach((question) => {\n // 全解答送信用クラスを作成\n const allAnswer = new PutAllQuestionAnswer();\n allAnswer.questionCode = question.questionCode;\n // 各設問の解答情報を取得\n question.subQuestions.forEach((subQ) => {\n const detail = new PutAllQuestionAnswerDetail();\n const { answer } = subQ;\n detail.version = answer.version;\n detail.order = answer.order;\n detail.choiceCodes = answer.choiceCodes;\n detail.answer = answer.answer;\n allAnswer.answers.push(detail);\n });\n allAnswers.push(allAnswer);\n });\n\n try {\n await this.EntryRepo.putExamEnd(this.entryCode, this.resultCode, allAnswers)\n .then(() => {\n this.$router.replace(`/exam/finish?rank=${this.rankCode}&entry=${this.entryCode}&result=${this.resultCode}`);\n });\n } catch (e) {\n if (window.confirm(`解答情報の送信${this.retryMsg}`)) {\n await this.examEnd();\n } else {\n this.$router.replace(this.paths.TOP);\n }\n } finally {\n this.isIndicatorDisplay = false;\n }\n }\n\n\n /**\n * 後で見直す押下での保存中か\n */\n isBookmarkSave = false;\n\n /**\n * 後で見直す押下時の\n */\n bookMark() {\n this.current.isBookMark = !this.current.isBookMark;\n try {\n this.saveAnswer();\n } catch (e) {\n // 失敗しても試験を続行する\n console.log(e);\n }\n }\n\n /**\n * 次へ/前へ\n */\n moveCurrent(vector: number) {\n const nextIndex = this.current.questionNumber - 1 + vector;\n const next = this.questions[nextIndex];\n\n if (next) {\n this.setCurrent(next);\n }\n }\n\n /**\n * 選択中問題のセット\n */\n setCurrent(question: Question) {\n try {\n this.saveAnswer();\n } catch (e) {\n // 失敗しても処理を続行する\n console.log(e);\n }\n this.current = question;\n }\n\n /**\n * content-type に該当するリソースURIとコンテンツタイプを返す\n */\n getResourceInfo(type: string) {\n const resource = this.current.questionResources.find((value) => {\n if (!StringUtil.isEmpty(value.contentType)) {\n const contentsType = value.contentType;\n if (contentsType.indexOf(type) !== -1) return true;\n }\n return false;\n });\n\n if (resource) {\n const { localSrcUri, contentType } = resource;\n return { localSrcUri, contentType };\n }\n return null;\n }\n\n /**\n * 動画リソース情報取得\n */\n getVideoInfo() {\n return this.getResourceInfo('video');\n }\n\n /**\n * 音声リソース情報取得\n */\n getAudioInfo() {\n return this.getResourceInfo('audio');\n }\n\n /**\n * ロード中プログレスバーstyle\n */\n get progress() {\n return { width: `${this.progressPercent}%` };\n }\n\n /**\n * 全問題に回答したか否か\n */\n get answeredAllQuestions(): boolean {\n return this.questions.every((question) => question.isAnswer());\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--13-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Exam.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--13-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Exam.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Exam.vue?vue&type=template&id=603ae968&\"\nimport script from \"./Exam.vue?vue&type=script&lang=ts&\"\nexport * from \"./Exam.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { JsonObject, JsonProperty } from 'json2typescript';\nimport Answer from '@/models/entry/Answer';\n\n@JsonObject('AnswersDetails')\nexport default class AnswersDetails {\n constructor() {\n this.questionCode = '';\n this.bookmark = false;\n this.answers = [];\n }\n\n @JsonProperty('question_code')\n public questionCode: string;\n\n @JsonProperty('bookmark')\n public bookmark: boolean;\n\n @JsonProperty('answers', [Answer])\n public answers: Answer[];\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"exam-checkbox\"},[_c('ul',_vm._l((_vm.choices),function(choice,index){return _c('li',{key:index,class:{ 'on': _vm.isSelectedCheck(choice.choiceCode) > -1 },on:{\"click\":function($event){return _vm.select(choice.choiceCode)}}},[_c('div',[_c('p',[_c('span',{domProps:{\"innerHTML\":_vm._s(choice.choiceTitle)}})])])])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {\n Component, Prop, PropSync, Vue,\n} from 'vue-property-decorator';\nimport Choice from '@/models/entry/Choice';\n\n@Component\nexport default class ExamCheckbox extends Vue {\n @Prop()\n private choices: Choice[];\n\n @PropSync('choiceCodes', { type: Array })\n private answer: string[];\n\n isSelectedCheck(code: string) {\n return this.answer.findIndex((selectedCode) => selectedCode === code);\n }\n\n select(code: string) {\n const index = this.isSelectedCheck(code);\n if (index > -1) {\n this.answer.splice(index, 1);\n return;\n }\n this.answer.push(code);\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--13-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExamCheckBox.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--13-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExamCheckBox.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExamCheckBox.vue?vue&type=template&id=534831b1&\"\nimport script from \"./ExamCheckBox.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExamCheckBox.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { JsonObject, JsonProperty } from 'json2typescript';\n\n@JsonObject('Choice')\nexport default class Choice {\n constructor() {\n this.choiceCode = '';\n this.choiceTitle = '';\n this.order = 0;\n }\n\n @JsonProperty('choice_code')\n public choiceCode: string;\n\n @JsonProperty('choice_title')\n public choiceTitle: string;\n\n @JsonProperty('order')\n public order: number;\n}\n","import { JsonObject, JsonProperty } from 'json2typescript';\n\n@JsonObject('QuestionResources')\nexport default class QuestionResources {\n constructor() {\n this.resourceUri = '';\n this.resourceFileName = '';\n this.alternativeText = undefined;\n this.contents = undefined;\n this.contentType = '';\n this.localSrcUri = '';\n }\n\n @JsonProperty('resource_uri')\n public resourceUri: string;\n\n @JsonProperty('resource_file_name')\n public resourceFileName: string;\n\n @JsonProperty('alternative_text', null, true)\n public alternativeText?: string;\n\n public contents?: Blob;\n\n public contentType: string;\n\n public localSrcUri: string;\n}\n","import { JsonObject, JsonProperty } from 'json2typescript';\nimport { isEmpty } from '@/common/StringUtil';\nimport Choice from '@/models/entry/Choice';\nimport Answer from './Answer';\n\n@JsonObject('SubQuestion')\nexport default class SubQuestion {\n constructor() {\n this.questionCode = '';\n this.version = 0;\n this.subQuestionTitle = '';\n this.subQuestionType = '';\n this.order = 0;\n this.choices = [];\n this.answer = new Answer();\n }\n\n @JsonProperty('question_code')\n public questionCode: string;\n\n @JsonProperty('question_version')\n public version: number;\n\n @JsonProperty('sub_question_title', null, true)\n public subQuestionTitle: string;\n\n @JsonProperty('sub_question_type')\n public subQuestionType: string;\n\n @JsonProperty('order')\n public order: number;\n\n @JsonProperty('choices', [Choice], true)\n public choices: Choice[];\n\n public answer: Answer;\n\n isAnswer() {\n return this.answer.choiceCodes.length > 0 || !isEmpty(this.answer.answer);\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"exam-header-timer\"},[_c('p',[_vm._v(\" 残り \"),_c('span',{class:{ 'color-alert': _vm.isNotification }},[_vm._v(_vm._s(_vm.min)+\":\"+_vm._s(_vm.secFormat(_vm.sec)))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\nimport {\n Component, Prop, Watch, Vue,\n} from 'vue-property-decorator';\nimport { warn } from 'vue-class-component/lib/util';\n\n@Component\nexport default class ExamTimer extends Vue {\n @Prop({ default: 0 })\n time: number;\n\n @Prop({ default: 0 })\n notificationSec: number;\n\n @Prop({ default: false })\n timerStart: boolean;\n\n @Watch('timerStart')\n switch() {\n if (this.timerStart) {\n this.start();\n return;\n }\n this.stop();\n }\n\n /**\n * 分\n */\n min = 0 ;\n\n /**\n * 秒\n */\n sec = 0;\n\n /**\n * 制限時間強調フラグ\n */\n isNotification = false;\n\n /**\n * 実行中タイマー\n */\n timer: number;\n\n start() {\n clearInterval(this.timer);\n if (this.time > 0) {\n this.min = Math.trunc(this.time / 60);\n this.sec = this.time % 60;\n this.timer = window.setInterval(this.countDown, 1000);\n } else {\n this.$emit('forceEnd');\n }\n }\n\n stop() {\n clearInterval(this.timer);\n this.$emit('end');\n }\n\n countDown() {\n if (this.min === 0 && this.sec === 0) {\n this.stop();\n return;\n }\n\n if (this.sec === 0) {\n this.min -= 1;\n this.sec = 59;\n } else {\n this.sec -= 1;\n }\n\n const notificationMin = this.notificationSec / 60;\n if ((this.min === notificationMin && this.sec === 0)\n || this.min < notificationMin) {\n this.isNotification = true;\n }\n }\n\n secFormat = (sec: number) => {\n const strSec = `00${sec}`;\n return strSec.substring(strSec.length - 2, strSec.length);\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--13-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExamTimer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--13-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExamTimer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExamTimer.vue?vue&type=template&id=6eb2f782&\"\nimport script from \"./ExamTimer.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExamTimer.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { JsonObject, JsonProperty } from 'json2typescript';\n\n@JsonObject('Answer')\nexport default class Answer {\n constructor() {\n this.questionCode = undefined;\n this.version = undefined;\n this.order = undefined;\n this.choiceCodes = [];\n this.answer = '';\n }\n\n @JsonProperty('question_code')\n public questionCode?: string;\n\n @JsonProperty('question_version')\n public version?: number;\n\n @JsonProperty('order')\n public order?: number;\n\n @JsonProperty('choice_codes', [String])\n public choiceCodes: string[];\n\n @JsonProperty('answer', null, true)\n public answer: string;\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"exam-radio\"},[_c('ul',_vm._l((_vm.choices),function(choice,choiceIdx){return _c('li',{key:choiceIdx,class:{ 'on': _vm.isSelectedCheck(choice.choiceCode) },on:{\"click\":function($event){return _vm.select(choice.choiceCode)}}},[_c('div',[_c('p',[_c('span',{domProps:{\"innerHTML\":_vm._s(choice.choiceTitle)}})])])])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {\n Component, Prop, PropSync, Watch, Vue,\n} from 'vue-property-decorator';\nimport Choice from '@/models/entry/Choice';\n\n@Component\nexport default class ExamRadio extends Vue {\n @Prop()\n private choices: Choice[];\n\n @PropSync('choiceCodes', { type: Array })\n private answer: string[];\n\n isSelectedCheck(code: string) {\n return !!this.answer.find((selectedCode) => selectedCode === code);\n }\n\n select(code: string) {\n this.answer.length = 0;\n this.answer.push(code);\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--13-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExamRadio.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--13-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExamRadio.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExamRadio.vue?vue&type=template&id=4c1ca776&\"\nimport script from \"./ExamRadio.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExamRadio.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { JsonObject, JsonProperty } from 'json2typescript';\nimport Answer from '@/models/entry/Answer';\n\n@JsonObject('PutSingleAnswer')\nexport default class PutSingleAnswer {\n constructor() {\n this.bookmark = false;\n this.answers = [];\n }\n\n @JsonProperty('bookmark')\n public bookmark: boolean;\n\n @JsonProperty('answers', [Answer])\n public answers: Answer[];\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"exam-select\"},[_c('div',{staticClass:\"select\",class:{ 'on': _vm.isSeletBodyVisible },style:(_vm.selectStyle)},[(_vm.isSeletBodyVisible)?_c('div',{staticClass:\"select-bg\",on:{\"click\":function($event){_vm.isSeletBodyVisible = false}}}):_vm._e(),_c('dl',[_c('dt',{on:{\"click\":function($event){_vm.isSeletBodyVisible = !_vm.isSeletBodyVisible}}},[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.currentChoice.choiceTitle)}})]),(_vm.isSeletBodyVisible)?_c('dd',{style:(_vm.selectBodyStyle)},[_c('ul',_vm._l((_vm.choices),function(choice,index){return _c('li',{key:index,domProps:{\"innerHTML\":_vm._s(choice.choiceTitle)},on:{\"click\":function($event){return _vm.select(choice)}}})}),0)]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {\n Component, Prop, PropSync, Watch, Vue,\n} from 'vue-property-decorator';\nimport Choice from '@/models/entry/Choice';\n\n@Component\nexport default class ExamRadio extends Vue {\n @Prop()\n private choices: Choice[];\n\n @PropSync('choiceCodes')\n private answer: string[];\n\n private currentChoice: Choice = new Choice();\n\n // UI制御フラグ\n private isSeletBodyVisible = false;\n\n mounted() {\n this.init();\n }\n\n @Watch('answer', { deep: true })\n init() {\n if (this.answer.length > 0) {\n const code = this.answer[0];\n const selectChoice = this.choices.find((choice) => choice.choiceCode === code) as Choice;\n this.currentChoice = selectChoice;\n return;\n }\n this.currentChoice = new Choice();\n }\n\n isSelectedCheck(code: string) {\n return !!this.answer.find((selectedCode) => selectedCode === code);\n }\n\n select(code: Choice) {\n this.answer.length = 0;\n this.answer.push(code.choiceCode);\n this.currentChoice = code;\n this.isSeletBodyVisible = false;\n }\n\n get selectStyle() {\n if (this.isSeletBodyVisible) {\n return { 'z-index': 500 };\n }\n return {};\n }\n\n get selectBodyStyle() {\n if (this.isSeletBodyVisible) {\n return { display: 'block', top: '63px' };\n }\n return {};\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--13-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExamSelect.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--13-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExamSelect.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExamSelect.vue?vue&type=template&id=59a6a128&\"\nimport script from \"./ExamSelect.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExamSelect.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}