{"version":3,"sources":["webpack:///./src/models/entry/SubQuestion.ts","webpack:///./src/models/entry/Question.ts","webpack:///./src/views/guest_exam/GuestExam.vue?916b","webpack:///./src/views/guest_exam/GuestExam.vue","webpack:///./src/views/guest_exam/GuestExam.vue?8d2e","webpack:///./src/views/guest_exam/GuestExam.vue?c283","webpack:///./src/models/entry/AnswersDetails.ts","webpack:///./src/components/ExamCheckBox.vue?3a9d","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/components/ExamTimer.vue?5eb2","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?49b3","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?29ec","webpack:///./src/components/ExamSelect.vue","webpack:///./src/components/ExamSelect.vue?a103","webpack:///./src/components/ExamSelect.vue?76eb"],"names":["this","questionCode","version","subQuestionTitle","subQuestionType","order","choices","answer","Answer","isAnswer","choiceCodes","length","Choice","SubQuestion","questionTitle","questionStatement","answerType","isFixed","subQuestions","questionResources","questionNumber","isBookMark","i","QuestionResources","Question","render","_vm","_h","$createElement","_c","_self","attrs","directives","name","rawName","value","expression","staticClass","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","$set","target","composing","bookMark","disable","answeredAllQuestions","isEndConfirm","copyright","isExamStart","examStart","isReady","progressPercent","style","isIndicatorDisplay","staticRenderFns","entryCode","rankCode","resultCode","totalDownloadDataCount","nowLoadingCount","GuestEntryRepo","RepositoryFactory","get","guest","retryMsg","isBookmarkSave","contentsReload","$nextTick","videoTag","document","getElementById","load","audioTag","mounted","addEventListener","getCopyright","opener","window","location","pathname","paths","EXAM_READY","GUEST_EXAM_RESULT","$router","replace","TOP","$route","query","entry","rank","CommonCss","createElement","rel","href","$el","appendChild","ExamIndexCss","getExamConfigCss","then","cssElement","CommonJs","src","ExamIndexJs","getQuestions","getAnswers","resourceDownLoad","firstData","beforeDestroy","rejected","getGuestQuestion","response","convert","deserializeArray","data","examination_result_code","forEach","question","MarkdownToHTML","subQuestion","choice","c","choiceTitle","catch","confirm","getGuestAnswer","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","postGuestExamStart","time_sec","notification_limit_sec","saveAnswer","putAnswer","PutSingleAnswer","StringUtil","putGuestAnswer","err","console","log","allAnswers","allAnswer","PutAllQuestionAnswer","PutAllQuestionAnswerDetail","putGuestExamEnd","GUEST_EXAM_FINISH","e","vector","nextIndex","next","getResourceInfo","contentsType","width","every","GuestExam","components","ExamRadio","ExamCheckBox","ExamSelect","ExamTimer","IndicatorModal","BaseView","component","AnswersDetails","isSelectedCheck","choiceCode","select","code","findIndex","selectedCode","splice","Array","ExamCheckbox","isNotification","min","secFormat","sec","strSec","substring","switch","timerStart","start","stop","clearInterval","timer","time","trunc","setInterval","countDown","$emit","notificationMin","default","String","choiceIdx","isSeletBodyVisible","currentChoice","init","selectChoice","display","top","deep"],"mappings":"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","file":"js/guest_exam_main.2b987c42.js","sourcesContent":["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')\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","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',{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}}),_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(\"試験を終了する\")])]),_c('p',[_vm._v(_vm._s(_vm.copyright))])])])]),_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(\"問題一覧\")])])}]\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 Answer from '@/models/entry/Answer';\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 GuestExam 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 GuestEntryRepo = RepositoryFactory.get().guest;\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.addEventListener('contextmenu', () => false);\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.GUEST_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.addEventListener('contextmenu', () => true);\n }\n\n /**\n * 問題取得\n */\n async getQuestions() {\n let rejected = false;\n await this.GuestEntryRepo.getGuestQuestion(this.entryCode)\n .then((response) => {\n this.questions = this.GuestEntryRepo.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 // eslint-disable-next-line no-alert\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.GuestEntryRepo.getGuestAnswer(this.entryCode, this.resultCode)\n .then((response) => {\n const answerDetail = this.GuestEntryRepo.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 // eslint-disable-next-line no-alert\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 // eslint-disable-next-line no-alert\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.GuestEntryRepo.postGuestExamStart(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 // eslint-disable-next-line no-alert\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.GuestEntryRepo.putGuestAnswer(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.GuestEntryRepo.putGuestExamEnd(this.entryCode, this.resultCode, allAnswers)\n .then(() => {\n this.$router.replace(`${this.paths.GUEST_EXAM_FINISH}?rank=${this.rankCode}&entry=${this.entryCode}&result=${this.resultCode}`);\n });\n } catch (e) {\n // eslint-disable-next-line no-alert\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 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!./GuestExam.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!./GuestExam.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GuestExam.vue?vue&type=template&id=86dddbe4&\"\nimport script from \"./GuestExam.vue?vue&type=script&lang=ts&\"\nexport * from \"./GuestExam.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","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":""}