{"version":3,"sources":["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/common/Messages.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/views/test_exam/TestExam.vue?c10a","webpack:///./src/models/entry/TrialChoice.ts","webpack:///./src/models/entry/TrialSubQuestion.ts","webpack:///./src/models/entry/TrialQuestion.ts","webpack:///./src/views/test_exam/TestExam.vue","webpack:///./src/views/test_exam/TestExam.vue?e818","webpack:///./src/views/test_exam/TestExam.vue?e31b","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/components/ExamSelect.vue?29ec","webpack:///./src/components/ExamSelect.vue","webpack:///./src/components/ExamSelect.vue?a103","webpack:///./src/components/ExamSelect.vue?76eb"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","_l","choice","index","key","class","isSelectedCheck","choiceCode","on","$event","select","domProps","_s","choiceTitle","staticRenderFns","code","answer","findIndex","selectedCode","splice","push","type","Array","ExamCheckbox","component","order","Choice","resourceUri","resourceFileName","alternativeText","undefined","contents","contentType","localSrcUri","QuestionResources","generateMessage","item","template","generateLengthMessage","length","TEMPLATE_REQUIRED_INPUT","TEMPLATE_REQUIRED_SELECT","INVALID_CREDENTIALS","INVALID_RESPONSE","CONFLICT","SEND_MAIL_FAILURE","UPDATE_PASSWORD_FAILURE","PRE_REGISTER_FAILURE","LOGIN_FAILURE","RESET_PASSWORD_FAILURE","INVALID_TOKEN_OR_BIRTHDAY","REQUIRED_MAIL_ADDRESS","REQUIRED_MAIL_ADDRESS_CONFIRM","REQUIRED_LOGIN_ID","REQUIRED_PASSWORD","REQUIRED_PASSWORD_CONFIRM","REQUIRED_CURRENT_PASSWORD","REQUIRED_GENDER","REQUIRED_BIRTHDAY","REQUIRED_LAST_NAME","REQUIRED_FIRST_NAME","REQUIRED_LAST_NAME_KANA","REQUIRED_FIRST_NAME_KANA","REQUIRED_POSTAL_CODE","REQUIRED_PREFECTURE","REQUIRED_CITY","REQUIRED_STREET","REQUIRED_PHONE_NUMBER","LOGIN_ID_LENGTH","PASSWORD_LENGTH","NAME_LENGTH","NAME_KANA_LENGTH","POSTAL_CODE_LENGTH","PREFECTURE_LENGTH","CITY_LENGTH","STREET_LENGTH","BUILDING_NAME_LENGTH","PHONE_NUMBER_LENGTH","LOGIN_ID_STRING_TYPE","PASSWORD_STRING_TYPE","NAME_STRING_TYPE","NAME_KANA_STRING_TYPE","POSTAL_CODE_STRING_TYPE","PHONE_NUMBER_STRING_TYPE","EXISTS_ID","ILLEGAL_MAIL_ADDRESS","MAIL_ADDRESS_MISMATCH","PASSWORD_MISMATCH","NEW_PASSWORD_MISMATCH","MAIL_NO_CHANGE","INVALID_TOKEN_OR_PASSWORD","INVALID_BIRTHDAY","INCLUDE_INVALID_STRING","_v","isNotification","min","secFormat","sec","strSec","substring","switch","timerStart","start","stop","clearInterval","timer","time","Math","trunc","window","setInterval","countDown","$emit","notificationMin","notificationSec","default","ExamTimer","questionCode","version","choiceCodes","String","Answer","attrs","directives","name","rawName","value","expression","timerSec","isTimerStart","examEnd","moveCurrent","current","questionNumber","questions","q","check","isBookMark","isAnswer","staticStyle","setCurrent","_m","questionTitle","questionStatement","getVideoInfo","_e","getAudioInfo","subQ","subQIdx","subQuestionTitle","subQuestionType","choices","$set","target","composing","bookMark","disable","answeredAllQuestions","isEndConfirm","copyright","isExamStart","examStart","isReady","progressPercent","style","isIndicatorDisplay","collectType","TrialChoice","TrialSubQuestion","answerType","isFixed","subQuestions","questionResources","i","TrialQuestion","totalDownloadDataCount","nowLoadingCount","EntryRepo","RepositoryFactory","get","entry","RankRepo","rank","retryMsg","contentsReload","$nextTick","videoTag","document","getElementById","load","audioTag","mounted","addEventListener","getCopyright","CommonCss","createElement","rel","href","$el","appendChild","ExamIndexCss","getExamConfigCss","then","cssElement","CommonJs","src","ExamIndexJs","getTestExam","getQuestions","resourceDownLoad","firstData","$router","replace","paths","TOP","beforeDestroy","encodeRankCode","StringUtil","getRankInfo","response","status","data","time_limit","notification_limit","e","Error","catch","rejected","getTrialQuestions","convert","deserializeArray","forEach","question","MarkdownToHTML","subQuestion","c","confirm","ExamRepository","exam","getExamDesignResource","DesignCode","display_text","downloadInfo","questionValue","resourceData","resource","uri","execDownload","rejectInfo","results","info","createDownLoadPromise","Promise","all","a","responseType","headers","split","blob","Blob","srcUrl","URL","createObjectURL","indexOf","targetSubq","targetChoice","round","correctCount","targetQuestions","filter","some","sub","idx","subCorrectCount","selectTypeQuestions","correctAnswers","map","inputAnswers","diff","correctRate","path","TEST_EXAM_FINISH","query","rate","vector","nextIndex","next","getResourceInfo","find","contentsType","width","every","Exam","components","ExamRadio","ExamCheckBox","ExamSelect","IndicatorModal","BaseView","choiceIdx","isSeletBodyVisible","currentChoice","init","selectChoice","display","top","deep"],"mappings":"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","file":"js/test_exam_main.9bf06f6d.js","sourcesContent":["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","function generateMessage(item: string, template: string) {\n return `${item}${template}`;\n}\n\nexport function generateLengthMessage(item: string, length: string) {\n return `${item}は${length}で入力してください`;\n}\n\n// テンプレート\nexport const TEMPLATE_REQUIRED_INPUT = 'を入力してください';\nexport const TEMPLATE_REQUIRED_SELECT = 'を選択してください';\n\n// 処理失敗\nexport const INVALID_CREDENTIALS = '認証情報が不正なため処理を中断しました';\nexport const INVALID_RESPONSE = 'サーバーからのレスポンスが不正なため処理を中断しました';\nexport const CONFLICT = '対象のデータが変更されているため画面を更新して下さい';\nexport const SEND_MAIL_FAILURE = 'メールの送信に失敗しました';\nexport const UPDATE_PASSWORD_FAILURE = 'パスワードの更新に失敗しました';\nexport const PRE_REGISTER_FAILURE = '仮会員登録に失敗しました';\nexport const LOGIN_FAILURE = 'IDまたはパスワードが違います';\nexport const RESET_PASSWORD_FAILURE = 'パスワードの再設定に失敗しました';\nexport const INVALID_TOKEN_OR_BIRTHDAY = '生年月日が違うかトークンが無効なため再設定に失敗しました';\n\n// アカウント バリデーションエラー\nexport const REQUIRED_MAIL_ADDRESS = generateMessage('メールアドレス', TEMPLATE_REQUIRED_INPUT);\nexport const REQUIRED_MAIL_ADDRESS_CONFIRM = generateMessage('メールアドレス(確認)', TEMPLATE_REQUIRED_INPUT);\nexport const REQUIRED_LOGIN_ID = generateMessage('ID', TEMPLATE_REQUIRED_INPUT);\nexport const REQUIRED_PASSWORD = generateMessage('パスワード', TEMPLATE_REQUIRED_INPUT);\nexport const REQUIRED_PASSWORD_CONFIRM = generateMessage('パスワード(確認)', TEMPLATE_REQUIRED_INPUT);\nexport const REQUIRED_CURRENT_PASSWORD = generateMessage('現在のパスワード', TEMPLATE_REQUIRED_INPUT);\nexport const REQUIRED_GENDER = generateMessage('性別', TEMPLATE_REQUIRED_SELECT);\nexport const REQUIRED_BIRTHDAY = generateMessage('生年月日', TEMPLATE_REQUIRED_SELECT);\nexport const REQUIRED_LAST_NAME = generateMessage('氏名(姓)', TEMPLATE_REQUIRED_INPUT);\nexport const REQUIRED_FIRST_NAME = generateMessage('氏名(名)', TEMPLATE_REQUIRED_INPUT);\nexport const REQUIRED_LAST_NAME_KANA = generateMessage('氏名フリガナ(姓)', TEMPLATE_REQUIRED_INPUT);\nexport const REQUIRED_FIRST_NAME_KANA = generateMessage('氏名フリガナ(名)', TEMPLATE_REQUIRED_INPUT);\nexport const REQUIRED_POSTAL_CODE = generateMessage('郵便番号', TEMPLATE_REQUIRED_INPUT);\nexport const REQUIRED_PREFECTURE = generateMessage('都道府県', TEMPLATE_REQUIRED_SELECT);\nexport const REQUIRED_CITY = generateMessage('市区町村', TEMPLATE_REQUIRED_INPUT);\nexport const REQUIRED_STREET = generateMessage('番地', TEMPLATE_REQUIRED_INPUT);\nexport const REQUIRED_PHONE_NUMBER = generateMessage('電話番号', TEMPLATE_REQUIRED_INPUT);\n\nexport const LOGIN_ID_LENGTH = generateLengthMessage('ID', '3文字以上、30文字以下');\nexport const PASSWORD_LENGTH = generateLengthMessage('パスワード', '8文字以上、20文字以下');\nexport const NAME_LENGTH = generateLengthMessage('氏名', '合計20文字以内');\nexport const NAME_KANA_LENGTH = generateLengthMessage('氏名フリガナ', '合計20文字以内');\nexport const POSTAL_CODE_LENGTH = generateLengthMessage('郵便番号', '7文字以下');\nexport const PREFECTURE_LENGTH = generateLengthMessage('都道府県', '4文字以下');\nexport const CITY_LENGTH = generateLengthMessage('市区町村', '255文字以下');\nexport const STREET_LENGTH = generateLengthMessage('番地', '255文字以下');\nexport const BUILDING_NAME_LENGTH = generateLengthMessage('建物名・部屋番号', '255文字以下');\nexport const PHONE_NUMBER_LENGTH = generateLengthMessage('電話番号', '各4文字以下');\n\nexport const LOGIN_ID_STRING_TYPE = 'IDは半角英小文字、半角数字、アンダースコア(_)のみ使用できます';\nexport const PASSWORD_STRING_TYPE = 'パスワードは「英大文字」「英小文字」「数字または記号」のみ使用でき、すべてを含む必要があります';\nexport const NAME_STRING_TYPE = '氏名は全角で入力してください';\nexport const NAME_KANA_STRING_TYPE = '氏名フリガナは全角カタカナで入力してください';\nexport const POSTAL_CODE_STRING_TYPE = '郵便番号はハイフンなしの半角数字で入力してください';\nexport const PHONE_NUMBER_STRING_TYPE = '電話番号は半角数字で入力してください';\n\nexport const EXISTS_ID = 'すでにIDが使われています';\nexport const ILLEGAL_MAIL_ADDRESS = 'メールアドレスの形式が不正です';\nexport const MAIL_ADDRESS_MISMATCH = 'メールアドレスとメールアドレス(確認)が一致していません';\nexport const PASSWORD_MISMATCH = 'パスワードとパスワード(確認)が一致していません';\nexport const NEW_PASSWORD_MISMATCH = '新しいパスワードと新しいパスワード(確認)が一致していません';\nexport const MAIL_NO_CHANGE = '現在のメールアドレスと同一のメールアドレスです';\nexport const INVALID_TOKEN_OR_PASSWORD = 'パスワードが違うかトークンが無効なため更新に失敗しました';\nexport const INVALID_BIRTHDAY = '生年月日が不正な日付です';\nexport const INCLUDE_INVALID_STRING = '使用できない文字が含まれています';\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',{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 }","import { JsonObject, JsonProperty } from 'json2typescript';\n\n/**\n * 体験版 問題選択肢クラス\n */\n@JsonObject('TrialChoice')\nexport default class TrialChoice {\n constructor() {\n this.choiceCode = '';\n this.choiceTitle = '';\n this.collectType = '';\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('collect_type')\n public collectType: string;\n\n @JsonProperty('order')\n public order: number;\n}\n","import { JsonObject, JsonProperty } from 'json2typescript';\nimport { isEmpty } from '@/common/StringUtil';\nimport TrialChoice from '@/models/entry/TrialChoice';\nimport Answer from './Answer';\n\n/**\n * 体験版 設問クラス\n */\n@JsonObject('TrialSubQuestion')\nexport default class TrialSubQuestion {\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', [TrialChoice], true)\n public choices: TrialChoice[];\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 TrialSubQuestion from '@/models/entry/TrialSubQuestion';\nimport QuestionResources from '@/models/entry/QuestionResources';\n\n/**\n * 体験版 問題クラス\n */\n@JsonObject('TrialQuestion')\nexport default class TrialQuestion {\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', [TrialSubQuestion], true)\n public subQuestions: TrialSubQuestion[];\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","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 TrialQuestion from '@/models/entry/TrialQuestion';\nimport QuestionResources from '@/models/entry/QuestionResources';\n\nimport * as Msgs from '@/common/Messages';\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: TrialQuestion;\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 timerSec = 0;\n\n /**\n * 通知時間\n */\n notificationSec = 0;\n\n /**\n * 問題情報格納用\n */\n questions: TrialQuestion[] = [];\n\n /**\n * 現在表示中の問題格納用\n */\n current = new TrialQuestion();\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 RankRepo = RepositoryFactory.get().rank;\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 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.getTestExam();\n // 検定問題検索\n await this.getQuestions();\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 private async getTestExam() {\n const encodeRankCode = StringUtil.encodeToBase64Url('TRIAL');\n try {\n await this.RankRepo.getRankInfo(encodeRankCode).then((response) => {\n if (response.status === 200) {\n try {\n this.timerSec = response.data.time_limit * 60;\n this.notificationSec = response.data.notification_limit * 60;\n } catch (e) {\n throw Error(Msgs.INVALID_RESPONSE);\n }\n }\n }).catch(() => {\n this.$router.replace(this.paths.TOP);\n });\n } catch (_) {\n this.$router.replace(this.paths.TOP);\n }\n }\n\n /**\n * 問題情報取得\n */\n async getQuestions() {\n let rejected = false;\n await this.RankRepo.getTrialQuestions()\n .then((response) => {\n this.questions = this.RankRepo.convert.deserializeArray(response.data.questions, TrialQuestion);\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 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.createDownLoadPromise(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 createDownLoadPromise(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.isExamStart = true;\n this.isTimerStart = true;\n }\n\n /**\n * 解答終了\n * ※採点対象は選択形式の設問のみ\n * 入力形式は運用上設定しない想定。万が一設定されていた場合、正答率の算出に影響しない\n */\n async examEnd() {\n this.isIndicatorDisplay = true;\n\n let correctCount = 0;\n\n // 選択形式の設問(subQuestion)を含む問題(question)のみ対象とする\n // eslint-disable-next-line arrow-body-style\n const targetQuestions = this.questions.filter((question) => {\n return question.subQuestions.some((sub) => (sub.choices.length > 0));\n });\n\n targetQuestions.forEach((question, idx) => {\n let subCorrectCount = 0;\n\n // 選択形式の設問のみの配列を生成\n const selectTypeQuestions = question.subQuestions.filter((sub) => (sub.choices.length > 0));\n selectTypeQuestions.forEach((subQ) => {\n // 選択肢から正答のみ抜き出し→正答のコードの配列を生成\n const correctAnswers = subQ.choices.filter((choice) => (choice.collectType === 'collect' || choice.collectType === 'correct')).map((choice) => choice.choiceCode);\n // 入力された解答配列\n const inputAnswers = subQ.answer.choiceCodes;\n\n // 正答数と解答数が一致しない場合NG\n if (correctAnswers.length !== inputAnswers.length) return;\n\n // 入力選択肢と正答選択肢の中身が一致する(=差分が発生しない)場合のみOK\n const diff = correctAnswers.filter((i) => inputAnswers.indexOf(i) === -1);\n if (diff.length === 0) {\n subCorrectCount += 1;\n }\n });\n\n // 選択形式すべて正解の場合のみ、正答として扱う\n if (selectTypeQuestions.length === subCorrectCount) {\n correctCount += 1;\n }\n });\n\n // 対象の問題数と正解数で正答率を算出\n const correctRate = Math.trunc((correctCount / targetQuestions.length) * 100);\n this.$router.replace({ path: this.paths.TEST_EXAM_FINISH, query: { rate: String(correctRate) } });\n }\n\n /**\n * 後で見直す押下時\n */\n bookMark() {\n this.current.isBookMark = !this.current.isBookMark;\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: TrialQuestion) {\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!./TestExam.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!./TestExam.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TestExam.vue?vue&type=template&id=79d5076e&\"\nimport script from \"./TestExam.vue?vue&type=script&lang=ts&\"\nexport * from \"./TestExam.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","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","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":""}