{"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?a1a6","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","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","oncontextmenu","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","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.5d2859ef.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(\"©NS,K/TSDSP,M ©NS,K/TSDSRP,M ©NS,K/TSDSIWGP,TX ©NS,K/TSDSDJP,TX ©CYBIRD\")])])])]),_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';\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 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.oncontextmenu = function () {\n return false;\n };\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.oncontextmenu = function () {\n return true;\n };\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 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 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 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').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=05e797eb&\"\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":""}