{"version":3,"sources":["webpack:///./src/models/entry/Question.ts","webpack:///./src/views/kentei/ExamDetail.vue?3d1e","webpack:///./src/components/AlertModal.vue?cacb","webpack:///./src/components/AlertModal.vue","webpack:///./src/components/AlertModal.vue?86cb","webpack:///./src/components/AlertModal.vue?8376","webpack:///./src/views/kentei/ExamDetail.vue","webpack:///./src/views/kentei/ExamDetail.vue?fcf9","webpack:///./src/views/kentei/ExamDetail.vue?bfaa","webpack:///./src/models/entry/Choice.ts","webpack:///./src/models/entry/QuestionResources.ts","webpack:///./src/models/entry/SubQuestion.ts","webpack:///./src/views/exam/result/ExamResult.vue?b594","webpack:///./src/components/ExamAudio.vue?53c7","webpack:///./src/components/ExamAudio.vue","webpack:///./src/components/ExamAudio.vue?c3ed","webpack:///./src/components/ExamAudio.vue?009b","webpack:///./src/components/ExamResultRankScoreLevel.vue?c7db","webpack:///./src/models/exam/ScoreLevel.ts","webpack:///./src/components/ExamResultRankScoreLevel.vue","webpack:///./src/components/ExamResultRankScoreLevel.vue?01ba","webpack:///./src/components/ExamResultRankScoreLevel.vue?b396","webpack:///./src/views/exam/result/ExamResultModelAnswer.vue?ce77","webpack:///./src/models/entry/ModelAnswer.ts","webpack:///./src/views/exam/result/ExamResultModelAnswer.vue","webpack:///./src/views/exam/result/ExamResultModelAnswer.vue?225f","webpack:///./src/views/exam/result/ExamResultModelAnswer.vue?a237","webpack:///./src/views/exam/result/ExamResult.vue","webpack:///./src/views/exam/result/ExamResult.vue?9b1b","webpack:///./src/views/exam/result/ExamResult.vue?aac3","webpack:///./src/views/exam/finish/ExamFinish.vue?0c6d","webpack:///./src/common/Messages.ts","webpack:///./node_modules/uuid/dist/esm-browser/native.js","webpack:///./node_modules/uuid/dist/esm-browser/rng.js","webpack:///./node_modules/uuid/dist/esm-browser/stringify.js","webpack:///./node_modules/uuid/dist/esm-browser/v4.js","webpack:///./src/common/MediaUtil.ts","webpack:///./src/views/exam/ready/ExamReady.vue?ff1e","webpack:///./src/models/entry/ExamReadyRank.ts","webpack:///./src/models/entry/ExamReadyEntry.ts","webpack:///./src/views/exam/ready/ExamReady.vue?af10","webpack:///./src/views/exam/ready/ExamReady.vue?34dc","webpack:///./src/views/exam/ready/ExamReady.vue?919a","webpack:///./src/models/entry/Answer.ts","webpack:///./src/views/exam/ready/ExamReady.vue?6415","webpack:///./src/models/rank/ExamRankDetail.ts","webpack:///./src/components/ExamHeader.vue?2f61","webpack:///./src/components/ExamHeader.vue","webpack:///./src/components/ExamHeader.vue?e297","webpack:///./src/components/ExamHeader.vue?2002","webpack:///./src/views/exam/finish/ExamFinish.vue?5114","webpack:///./src/views/exam/finish/ExamFinish.vue?0846","webpack:///./src/views/exam/finish/ExamFinish.vue?25a9","webpack:///./src/views/exam/finish/ExamFinish.vue?848c"],"names":["this","questionCode","questionTitle","questionStatement","answerType","isFixed","subQuestions","questionResources","questionNumber","isBookMark","isAnswer","i","length","Question","render","_vm","_h","$createElement","_c","_self","attrs","staticClass","_v","_s","examTitle","rank","examRankTitle","designPathCreate","thumbnail","alternativeText","staticStyle","examFeeType","class","invisible","isUnsetFee","rankFee","requestPeriodStart","requestPeriodEnd","examinationPeriodStart","examinationPeriodEnd","_m","isAccepting","on","transitionToEntry","checkUA","resources","EXAM_DETAIL_BENEFITS_BG","cssClassName","BENEFITS_ICON","resourceUri","EXAM_DETAIL_BENEFITS_MAIN_COLOR","EXAM_DETAIL_BENEFITS_SUB_TITLE_COLOR","_l","benefit","key","order","benefits_type","BENEFITS_BADGE_ALL","_e","BENEFITS_BADGE_PASS","BENEFITS_BADGE_PERFECT","name","domProps","explanation","resource_uri","alternative_text","notes","overview","otherRanks","path","paths","TOP","hash","displayAlertModal","modalTitle","titleCssClass","cancelButtonLabel","modalCancelButtonClick","isIndicatorDisplay","staticRenderFns","directives","rawName","value","expression","textCssClass","modalText","cancelClick","default","AlertModal","component","ExamRepository","RepositoryFactory","get","exam","RankRepository","GuestRepository","guest","ExamRankDetail","inPeriod","Array","EXAM_RANK_ICON","DesignResource","ExamDetail","fees","created","StringUtil","$route","query","$router","replace","mounted","CommonCss","document","createElement","rel","href","$el","appendChild","ExamDetailCss","getExamConfigCss","then","cssElement","CommonJs","src","init","onUrlChange","to","from","getExam","getRankInfo","getRankList","response","data","exam_title","in_period","undefined","forEach","resource","display_place_key","tmp","displayPlaceKey","displayText","display_text","css_class_name","resourceFileName","resource_file_name","catch","paramRankCode","String","status","convert","deserialize","e","Error","formatDate","fee","MarkdownToHTML","benefits","DesignCode","getRanks","exam_ranks","otherRank","examRankCode","exam_rank_code","rankObj","Rank","rankCode","title","exam_rank_title","paymentType","exam_fee_type","push","registrationRequired","guestEntry","entryCode","examination_entry_code","EXAM_READY","jwt","JwtUtil","LOGIN","ACCOUNT_CONFIRM","strDate","str","isBrowserValid","userAgent","window","navigator","toLowerCase","indexOf","version","match","parseInt","parseFloat","immediate","deep","components","ExamHeader","ExamFooter","ExamGuide","ExamNav","IndicatorModal","BaseView","choiceCode","choiceTitle","Choice","contents","contentType","localSrcUri","QuestionResources","subQuestionTitle","subQuestionType","choices","answer","choiceCodes","SubQuestion","ref","examInfo","rankTitle","result","PASS_DISPLAY_COMMENT","PASS_DISPLAY_IMG","FAIL_DISPLAY_COMMENT","FAIL_DISPLAY_IMG","scoreLevel","RESULT_SCORE_LEVEL","ANSWER_RATE_RESULT_BG","correct_rate","TWITTER_SHARE_RESULT","twitterShareUri","RESULT_BENEFITS_BG","RESULT_BENEFITS_MAIN_COLOR","RESULT_BENEFITS_SUB_TITLE_COLOR","isVideo","style","width","videoWidth","isAudio","detail","benefits_resource","is_not_show_download","button_text","isDisplayRetest","EXAM_RETRY_IMG","transitionToExam","GOODS_APPEAL_IMG","$event","GOODS_LIST","localSourcePath","localElementId","toggleMediaPlay","localDisplayText","elementId","sourcePath","type","required","ExamAudio","scoreLevelTitle","scoreLevelName","scoreLevelResourceUri","threshold","ScoreLevel","watchScoreLevel","watchScoreLevelResource","scoreLevelDesignResource","ExamResultRankScoreLevel","vma","index","evaluationTitle","modelAnswer","activeQuestionNumber","passFail","modalClose","question","getVideoInfo","getAudioInfo","subQ","subQIdx","answerChoice","correctChoice","evaluationCode","answerChoices","correctChoices","ModelAnswer","resultCode","modelAnswers","viewModelAnsers","totalDownloadDataCount","nowLoadingCount","ExamResultModelAnswer","entry","getModelAnswers","resourceDownload","formatModelAnswers","ma","idx","findIndex","v","EntryRepository","deserializeArray","details","subQuestion","choice","c","resourceData","uri","downloadInfo","execDownload","a","responseType","headers","split","blob","Blob","srcUrl","URL","createObjectURL","replaceTag","imgTagString","targetSubq","targetChoice","getResourceInfo","find","contentsType","ExamInfo","resultRankCode","resultShareUri","shareResultText","isShowModelAnswers","categories","evaluations","childTab","twitterShareResultText","ENTRY_ICON","RANK_BENEFIT_THUMBNAIL","TOP_ENTRY_MAIN_COLOR","CHART_TITLE","CHART_TITLE_CATEGORY_BG","CHART_TITLE_EVALUATION_BG","ExamResult","initStaticScripts","getResult","evaluation","eva","Evaluation","evaluation_code","evaluation_title","correctRate","score_level","sl","score_level_resource","ext","getExt","setResultShareUri","getBenefits","b","is_share_target","filter","display_type","initRankInfo","transitionExamDetail","KENTEI_DETAIL","ExamResultCss","filename","etx","video","includes","audio","pos","lastIndexOf","slice","encodeRankCode","open","EXAM","Date","now","alert","existLimit","exist_limit","canRetakeAfterPassing","can_retake_after_passing","isPass","rankResources","setRetest","setRankResources","examinationCount","examination_count","isLowerLimit","possible_exam_count","isArray","rankResource","isBefore","resetShareResultText","setShareResultText","textParameters","$refs","examNav","navUserId","Object","entries","val","regExp","RegExp","setTwitterShareUri","encodeURIComponent","RadarChart","generateMessage","item","template","generateLengthMessage","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","INVALID_GOODS_QUANTITY","REQUIRED_GOODS_OPTION","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","randomUUID","crypto","bind","getRandomValues","rnds8","Uint8Array","rng","byteToHex","toString","unsafeStringify","arr","offset","v4","options","buf","rnds","random","id","getElementById","paused","ended","play","pause","replaceAudioElement","querySelectorAll","display","viewText","textContent","container","classList","add","addEventListener","innerHTML","after","periodStart","periodEnd","numberOfQuestions","timeLimit","TEST_EXAM_READY","canStartExamination","startExam","displayStyle","ExamReadyRank","examinationEntryCode","examRank","ExamReadyEntry","rankDetail","is_callback","getEntryInfo","getGuestEntryInfo","ReadyCss","getEntryWithEntryCode","tempEntry","deserializeObject","getGuestEntry","GUEST_EXAM","ExamReady","Answer","notificationLimit","passThreshold","questionMethod","judgmentType","possibleConditionsCount","possibleExamCount","canPause","isStarting","logoUri","logoAltText","error","DesignPathCreator","EXAM_END_IMG","judgementType","transitionExamResult","isMaintenance","getExamInfo","getExamRankInfo","_","judgment_type","can_pause","EXAM_RESULT","ExamFinish"],"mappings":"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","file":"js/exam.1f3ea760.js","sourcesContent":["import { JsonObject, JsonProperty } from 'json2typescript';\nimport SubQuestion from '@/models/entry/SubQuestion';\nimport QuestionResources from '@/models/entry/QuestionResources';\n\n@JsonObject('Question')\nexport default class Question {\n constructor() {\n this.questionCode = '';\n this.questionTitle = '';\n this.questionStatement = '';\n this.answerType = '';\n this.isFixed = false;\n this.subQuestions = [];\n this.questionResources = [];\n this.questionNumber = 0;\n this.isBookMark = false;\n }\n\n @JsonProperty('question_code')\n public questionCode: string;\n\n @JsonProperty('question_title')\n public questionTitle: string;\n\n @JsonProperty('question_statement')\n public questionStatement: string;\n\n @JsonProperty('answer_type')\n public answerType: string;\n\n @JsonProperty('is_fixed')\n public isFixed: boolean;\n\n @JsonProperty('sub_questions', [SubQuestion], true)\n public subQuestions: SubQuestion[];\n\n @JsonProperty('question_resources', [QuestionResources], true)\n public questionResources: QuestionResources[];\n\n /**\n * 問題番号\n */\n public questionNumber: number;\n\n /**\n * ブックマークフラグ\n */\n public isBookMark: boolean;\n\n isAnswer() {\n // 設問すべての解答データ有無をチェックし1個でもない場合未回答とする\n for (let i = 0; i < this.subQuestions.length; i += 1) {\n if (!this.subQuestions[i].isAnswer()) {\n return false;\n }\n }\n return true;\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"wrapper\"}},[_c('e-header'),_c('e-nav'),_c('main',[_c('article',[_c('section',{staticClass:\"kentei-info\"},[_c('div',{staticClass:\"title-h1 bg-base\"},[_c('h1',[_vm._v(_vm._s(_vm.examTitle)+\" \"+_vm._s(_vm.rank.examRankTitle))])]),_c('div',{staticClass:\"contents-body\"},[_c('div',{staticClass:\"kentei-info-box\"},[_c('dl',[_c('dt',[_c('img',{attrs:{\"src\":_vm.designPathCreate(_vm.rank.thumbnail),\"alt\":_vm.rank.alternativeText}})]),_c('dd',{staticStyle:{\"width\":\"100%\"}},[_c('p',{staticClass:\"kentei-info-box-title\"},[_vm._v(\" \"+_vm._s(_vm.examTitle)+\" \"+_vm._s(_vm.rank.examRankTitle)+\" \")]),(_vm.rank.examFeeType === 'pay')?_c('p',{staticClass:\"kentei-info-box-price color-link\",class:{invisible: _vm.isUnsetFee}},[_c('span',[_vm._v(_vm._s(_vm.rankFee)+\"円\")]),_vm._v(\"(税込) \")]):_c('p',{staticClass:\"kentei-info-box-price color-link\"},[_c('span',[_vm._v(\"無料\")])]),_c('div',{staticClass:\"kentei-info-box-term\"},[_vm._v(\" 申し込み期間: \"+_vm._s(_vm.rank.requestPeriodStart)+\"〜\"+_vm._s(_vm.rank.requestPeriodEnd)),_c('br'),(_vm.rank.examinationPeriodStart === '' && _vm.rank.examinationPeriodEnd === '')?_c('span',[_vm._v(\"受験期間:未定\")]):_c('span',[_vm._v(\"受験期間: \"+_vm._s(_vm.rank.examinationPeriodStart)+\"〜\"+_vm._s(_vm.rank.examinationPeriodEnd))])])])])]),_vm._m(0),(_vm.inPeriod)?_c('a',{staticClass:\"btn-large\",class:{ 'disable' : !_vm.rank.isAccepting || _vm.isUnsetFee },on:{\"click\":_vm.transitionToEntry}},[_c('span',[_vm._v(\"申し込む\")])]):_c('div',{staticClass:\"kentei-notice\"},[_vm._v(\" 検定の開催期間外です \")]),_vm._m(1),_c('a',{staticClass:\"btn modal-open\",on:{\"click\":_vm.checkUA}},[_c('span',[_vm._v(\"環境をチェック\")])])])]),_c('section',{staticClass:\"benefits-section\",class:_vm.resources.EXAM_DETAIL_BENEFITS_BG.cssClassName},[_c('div',{staticClass:\"contents-body\"},[_c('div',{staticClass:\"title-h2-large\"},[_c('img',{attrs:{\"src\":_vm.designPathCreate(_vm.resources.BENEFITS_ICON.resourceUri),\"alt\":\"\"}}),_c('h2',{class:_vm.resources.EXAM_DETAIL_BENEFITS_MAIN_COLOR.cssClassName},[_vm._v(\" 特典紹介 \")]),_c('p',{class:_vm.resources.EXAM_DETAIL_BENEFITS_SUB_TITLE_COLOR.cssClassName},[_vm._v(\" BENEFITS \")])]),_c('div',{staticClass:\"benefits-list\"},[_c('ul',_vm._l((_vm.rank.benefits),function(benefit){return _c('li',{key:benefit.order},[(benefit.benefits_type === 'all')?_c('div',{staticClass:\"benefits-label\",class:_vm.resources.BENEFITS_BADGE_ALL.cssClassName},[_c('p',[_vm._v(\"受験者\")])]):_vm._e(),(benefit.benefits_type === 'pass')?_c('div',{staticClass:\"benefits-label\",class:_vm.resources.BENEFITS_BADGE_PASS.cssClassName},[_c('p',[_vm._v(\"合格者\")])]):_vm._e(),(benefit.benefits_type === 'perfect')?_c('div',{staticClass:\"benefits-label\",class:_vm.resources.BENEFITS_BADGE_PERFECT.cssClassName},[_vm._m(2,true)]):_vm._e(),_c('h3',{class:_vm.resources.EXAM_DETAIL_BENEFITS_MAIN_COLOR.cssClassName},[_vm._v(\" \"+_vm._s(benefit.name)+\" \")]),_c('p',{staticClass:\"benefits-explanation\",class:_vm.resources.EXAM_DETAIL_BENEFITS_MAIN_COLOR.cssClassName},[_c('span',{domProps:{\"innerHTML\":_vm._s(benefit.explanation)}})]),_c('div',{staticClass:\"benefits-pic\"},[_c('img',{attrs:{\"src\":_vm.designPathCreate(benefit.thumbnail.resource_uri),\"alt\":benefit.thumbnail.alternative_text}})]),_c('div',{staticClass:\"benefits-attention\"},[_c('ul',[_c('li',{class:_vm.resources.EXAM_DETAIL_BENEFITS_MAIN_COLOR.cssClassName},[_c('span',{domProps:{\"innerHTML\":_vm._s(benefit.notes)}})])])])])}),0)])])]),_c('section',{staticClass:\"kentei-detail\"},[_c('div',{staticClass:\"contents-body\"},[_c('h2',{staticClass:\"title-h2\"},[_vm._v(\"試験詳細\")]),_c('p',{staticClass:\"markdown-contents\",domProps:{\"innerHTML\":_vm._s(_vm.rank.overview)}}),(_vm.inPeriod)?_c('a',{staticClass:\"btn-large btn-detail-entry\",class:{ 'disable' : !_vm.rank.isAccepting || _vm.isUnsetFee },on:{\"click\":_vm.transitionToEntry}},[_c('span',[_vm._v(\"申し込む\")])]):_c('div',{staticClass:\"kentei-notice\"},[_vm._v(\" 検定の開催期間外です \")]),(_vm.otherRanks.length > 0)?_c('h2',{staticClass:\"title-h2\"},[_vm._v(\"試験一覧\")]):_vm._e(),(_vm.otherRanks.length > 0)?_c('div',{staticClass:\"card-list\"},[_c('router-link',{attrs:{\"to\":{ path: _vm.paths.TOP, hash: '#entry' },\"replace\":\"\"}},[_c('a',{staticClass:\"btn-large\"},[_c('span',[_vm._v(\"他のコースにチャレンジする!\")])])])],1):_vm._e()])])])]),_c('e-guide'),_c('e-footer'),_c('e-alert-modal',{attrs:{\"display\":_vm.displayAlertModal,\"modalTitle\":_vm.modalTitle,\"titleCssClass\":_vm.titleCssClass,\"cancelButtonLabel\":_vm.cancelButtonLabel,\"cancelClick\":_vm.modalCancelButtonClick}}),_c('e-indicator',{attrs:{\"display\":_vm.isIndicatorDisplay}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kentei-notice\"},[_vm._v(\" ※シリアルコードでは同じコース内であれば好きなキャラクターの試験を受験できますが、\"),_c('br'),_vm._v(\" 受験したキャラクターによって特典のデザインが決まりますのでお間違いのないようご注意ください。 \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',{staticClass:\"kentei-info-box-notice\"},[_vm._v(\" 現在の端末の環境が受験に適しているか\"),_c('br'),_vm._v(\"チェックできます \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"全問\"),_c('br'),_vm._v(\"正解者\")])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.display),expression:\"display\"}],staticClass:\"modal\",attrs:{\"id\":\"modal-confirm\"}},[_c('div',{staticClass:\"modal-bg\"}),_c('div',{staticClass:\"modal-contents\"},[_c('div',{staticClass:\"modal-contents-body\"},[_c('p',{staticClass:\"modal-title\",class:_vm.titleCssClass},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.modalTitle)}})]),_c('p',{staticClass:\"modal-text\",class:_vm.textCssClass},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.modalText)}})]),_c('a',{staticClass:\"btn modal-close\",on:{\"click\":_vm.cancelClick}},[_c('span',[_vm._v(_vm._s(_vm.cancelButtonLabel))])])])])])}\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\n\n\nimport {\n Component, Prop, Vue,\n} from 'vue-property-decorator';\n\n@Component\nexport default class AlertModal extends Vue {\n @Prop({ default: false })\n private display: boolean;\n\n @Prop()\n private modalTitle: string;\n\n @Prop()\n private titleCssClass: string;\n\n @Prop()\n private modalText: string;\n\n @Prop()\n private textCssClass: string;\n\n @Prop({ default: 'キャンセル' })\n private cancelButtonLabel: string;\n\n @Prop()\n private cancelClick: any;\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!./AlertModal.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!./AlertModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AlertModal.vue?vue&type=template&id=3f951295&\"\nimport script from \"./AlertModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./AlertModal.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","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 } from 'vue-mixin-decorator';\nimport { Watch } from 'vue-property-decorator';\nimport BaseView from '@/views/BaseView.vue';\nimport ExamHeader from '@/components/ExamHeader.vue';\nimport ExamFooter from '@/components/ExamFooter.vue';\nimport ExamGuide from '@/components/ExamGuide.vue';\nimport ExamNav from '@/components/ExamNav.vue';\nimport IndicatorModal from '@/components/IndicatorModal.vue';\nimport AlertModal from '@/components/AlertModal.vue';\n\nimport * as DesignCode from '@/classification/DesignCode';\n\nimport MarkdownToHTML from '@/common/MarkdownToHTML';\nimport * as JwtUtil from '@/common/JwtUtil';\nimport * as StringUtil from '@/common/StringUtil';\nimport * as Msgs from '@/common/Messages';\n\nimport RepositoryFactory from '@/repository/RepositoryFactory';\n\nimport ExamRankDetail from '@/models/rank/ExamRankDetail';\nimport DesignResource from '@/models/exam/DesignResource';\nimport Rank from '@/models/rank/Rank';\n\n@Component(\n {\n components: {\n 'e-header': ExamHeader,\n 'e-footer': ExamFooter,\n 'e-guide': ExamGuide,\n 'e-nav': ExamNav,\n 'e-indicator': IndicatorModal,\n 'e-alert-modal': AlertModal,\n },\n },\n)\nexport default class ExamDetail extends BaseView {\n private ExamRepository = RepositoryFactory.get().exam;\n\n private RankRepository = RepositoryFactory.get().rank;\n\n private GuestRepository = RepositoryFactory.get().guest;\n\n private rank = new ExamRankDetail();\n\n private examTitle = '';\n\n private inPeriod = false;\n\n private rankFee = '';\n\n private otherRanks = new Array();\n\n private resources = {\n EXAM_RANK_ICON: new DesignResource(),\n BENEFITS_ICON: new DesignResource(),\n EXAM_DETAIL_BENEFITS_BG: new DesignResource(),\n EXAM_DETAIL_BENEFITS_MAIN_COLOR: new DesignResource(),\n EXAM_DETAIL_BENEFITS_SUB_TITLE_COLOR: new DesignResource(),\n BENEFITS_BADGE_ALL: new DesignResource(),\n BENEFITS_BADGE_PASS: new DesignResource(),\n BENEFITS_BADGE_PERFECT: new DesignResource(),\n };\n\n private isIndicatorDisplay = false;\n\n private displayAlertModal = false;\n\n private modalTitle = '';\n\n private titleCssClass = '';\n\n private cancelButtonLabel = '閉じる';\n\n /**\n * 料金設定が不足しているか否か\n */\n get isUnsetFee(): boolean {\n return this.rank.examFeeType === 'pay' && this.rank.fees.length <= 0;\n }\n\n private created() {\n // 不正なクエリパラメータの場合、TOPに遷移\n if (StringUtil.isEmpty(this.$route.query.rank)) {\n this.$router.replace(this.paths.TOP);\n }\n }\n\n private mounted() {\n const CommonCss = document.createElement('link');\n CommonCss.rel = 'stylesheet';\n CommonCss.href = '/css/common.css';\n this.$el.appendChild(CommonCss);\n\n const ExamDetailCss = document.createElement('link');\n ExamDetailCss.rel = 'stylesheet';\n ExamDetailCss.href = '/kentei/css/detail.css';\n this.$el.appendChild(ExamDetailCss);\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 this.init();\n }\n\n @Watch('$route', { immediate: true, deep: true })\n private onUrlChange(to: any, from: any) {\n // 変更情報が存在しない場合は何もしない\n if (!to || !from) return;\n\n // rankパラメータが存在しない場合何もしない(createdでTOPに戻す)\n if (StringUtil.isEmpty(to.query.rank) || StringUtil.isEmpty(from.query.rank)) {\n return;\n }\n\n if (to.query.rank !== from.query.rank) {\n // インスタンスの再生成が行えないためデータ取得処理を再呼び出し\n this.init();\n }\n }\n\n /**\n * 初期データセット\n */\n private async init() {\n this.isIndicatorDisplay = true;\n await this.getExam();\n await this.getRankInfo();\n await this.getRankList();\n this.isIndicatorDisplay = false;\n }\n\n /**\n * 検定情報取得\n */\n private async getExam() {\n try {\n await this.ExamRepository.getExam().then((response) => {\n this.examTitle = response.data.exam_title;\n this.inPeriod = response.data.in_period;\n\n // デザインリソース\n if (response.data.resources !== undefined) {\n response.data.resources.forEach((resource: any) => {\n const key = resource.display_place_key;\n if (key in this.resources) {\n const tmp = new DesignResource();\n tmp.displayPlaceKey = resource.display_place_key;\n tmp.displayText = StringUtil.isEmpty(resource.display_text) ? '' : resource.display_text;\n tmp.cssClassName = StringUtil.isEmpty(resource.css_class_name) ? '' : resource.css_class_name;\n tmp.resourceUri = StringUtil.isEmpty(resource.resource_uri) ? '' : resource.resource_uri;\n tmp.resourceFileName = StringUtil.isEmpty(resource.resource_file_name) ? '' : resource.resource_file_name;\n tmp.alternativeText = StringUtil.isEmpty(resource.alternative_text) ? '' : resource.alternative_text;\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.resources[key] = tmp;\n }\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 private async getRankInfo() {\n const paramRankCode = String(this.$route.query.rank);\n try {\n await this.RankRepository.getRankInfo(paramRankCode).then((response) => {\n if (response.status === 200) {\n try {\n this.rank = this.RankRepository.convert.deserialize(response.data, ExamRankDetail) as ExamRankDetail;\n } catch (e) {\n throw Error(Msgs.INVALID_RESPONSE);\n }\n // 日付(YYYY/MM/DD)、金額(カンマ区切り)、概要(マークダウン)の整形\n this.rank.examinationPeriodStart = ExamDetail.formatDate(this.rank.examinationPeriodStart);\n this.rank.examinationPeriodEnd = ExamDetail.formatDate(this.rank.examinationPeriodEnd);\n this.rank.requestPeriodStart = ExamDetail.formatDate(this.rank.requestPeriodStart);\n this.rank.requestPeriodEnd = ExamDetail.formatDate(this.rank.requestPeriodEnd);\n if (this.rank.fees.length > 0) {\n this.rankFee = StringUtil.separateNumber(this.rank.fees[0].fee);\n } else {\n this.rankFee = '0';\n }\n this.rank.overview = MarkdownToHTML(this.rank.overview);\n\n // 特典の説明、注意事項のマークダウン整形\n this.rank.benefits.forEach((value) => {\n const benefit = value;\n benefit.explanation = MarkdownToHTML(benefit.explanation);\n benefit.notes = MarkdownToHTML(benefit.notes);\n });\n\n // eslint-disable-next-line prefer-destructuring\n const resources = response.data.resources;\n if (resources !== undefined && resources.length > 0) {\n resources.forEach((resource: any) => {\n if (resource.display_place_key === DesignCode.EXAM_RANK_ICON) {\n this.rank.thumbnail = resource.resource_uri;\n this.rank.alternativeText = resource.alternative_text;\n }\n });\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 */\n private async getRankList() {\n await this.RankRepository.getRanks().then((response) => {\n if (response.status === 200 && response.data.exam_ranks !== undefined) {\n const tmp = new Array();\n response.data.exam_ranks.forEach((otherRank: any) => {\n if (this.rank.examRankCode === otherRank.exam_rank_code) {\n return;\n }\n\n const rankObj = new Rank();\n rankObj.rankCode = StringUtil.encodeToBase64Url(otherRank.exam_rank_code);\n rankObj.title = otherRank.exam_rank_title;\n if (otherRank.fees.length > 0) {\n rankObj.fee = StringUtil.separateNumber(otherRank.fees[0].fee);\n } else {\n rankObj.fee = '0';\n }\n rankObj.paymentType = otherRank.exam_fee_type;\n\n // eslint-disable-next-line prefer-destructuring\n const resources = otherRank.resources;\n if (resources !== undefined && resources.length > 0) {\n resources.forEach((resource: any) => {\n if (resource.display_place_key === DesignCode.EXAM_RANK_ICON) {\n rankObj.thumbnail = resource.resource_uri;\n rankObj.alternativeText = resource.alternative_text;\n }\n });\n }\n\n tmp.push(rankObj);\n });\n this.otherRanks = tmp;\n }\n });\n }\n\n /**\n * 申し込み画面へ遷移\n */\n private async transitionToEntry() {\n const rankCode = StringUtil.encodeToBase64Url(String(this.rank.examRankCode));\n\n if (!this.rank.registrationRequired) {\n this.isIndicatorDisplay = true;\n try {\n // アカウント不要検定の申込を行う\n await this.GuestRepository.guestEntry(String(this.rank.examRankCode)).then((response: any) => {\n if (response.status === 201) {\n const entryCode = response.data.examination_entry_code;\n\n // eslint-disable-next-line @typescript-eslint/camelcase\n this.$router.replace({ path: this.paths.EXAM_READY, query: { rank: rankCode, examination_entry_code: entryCode } });\n }\n });\n } catch (error) {\n this.$router.replace(this.paths.TOP);\n } finally {\n this.isIndicatorDisplay = false;\n }\n } else {\n const jwt = JwtUtil.getJwtInfo();\n if (jwt == null) {\n // 未ログインの場合、ログイン/仮登録画面へ\n this.$router.replace({ path: this.paths.LOGIN, query: { rank: rankCode } });\n } else {\n // ログイン済みの場合、内容確認画面へ\n this.$router.replace({ path: this.paths.ACCOUNT_CONFIRM, query: { rank: rankCode } });\n }\n }\n }\n\n /**\n * 日付整形処理\n */\n private static formatDate(strDate: any) {\n const str = String(strDate);\n if (StringUtil.isEmpty(str)) {\n return '';\n }\n return StringUtil.toJapanDateString(str, 'YYYY/MM/DD');\n }\n\n /**\n * UAチェック\n * ※意図した判定ができなくなるため無闇に判定順序を変えないこと\n */\n private checkUA() {\n // 適切な環境かどうか\n let isBrowserValid = false;\n const userAgent = window.navigator.userAgent.toLowerCase();\n\n if (userAgent.indexOf('msie') !== -1 || userAgent.indexOf('trident') !== -1) {\n // --- IE(11も含め対象外とする) --- //\n isBrowserValid = false;\n } else if (userAgent.indexOf('edge') !== -1) {\n // --- Edge --- //\n const version = userAgent.match(/(?:edge\\/)(.*?\\d)(?=\\.)/);\n isBrowserValid = (version !== null && parseInt(version[1], 10) >= 18);\n } else if (userAgent.indexOf('opr') !== -1) {\n // --- Opera(新しいバージョン) --- //\n isBrowserValid = false;\n } else if (userAgent.indexOf('chrome') !== -1) {\n // --- Chrome --- //\n const version = userAgent.match(/(?:chrome\\/)(.*?\\d)(?=\\.)/);\n if (userAgent.indexOf('android') !== -1) {\n isBrowserValid = (version !== null && parseInt(version[1], 10) >= 80);\n } else {\n isBrowserValid = (version !== null && parseInt(version[1], 10) >= 79);\n }\n } else if (userAgent.indexOf('safari') !== -1) {\n // --- Safari --- //\n const version = userAgent.match(/(?:version\\/)(\\d+\\.\\d*)(?=[ .])/);\n if (userAgent.indexOf('ipad') !== -1 || userAgent.indexOf('iphone') !== -1) {\n // iOS版\n isBrowserValid = (version !== null && parseFloat(version[1]) >= 12.0);\n } else {\n // PC版\n isBrowserValid = (version !== null && parseFloat(version[1]) >= 12.1);\n }\n } else if (userAgent.indexOf('firefox') !== -1) {\n // --- Firefox --- //\n const version = userAgent.match(/(?:firefox\\/)(.*?\\d)(?=\\.)/);\n isBrowserValid = (version !== null && parseInt(version[1], 10) >= 68);\n } else if (userAgent.indexOf('opera') !== -1) {\n // --- Opera(古いバージョン) --- //\n isBrowserValid = false;\n } else {\n isBrowserValid = false;\n }\n\n if (isBrowserValid) {\n this.modalTitle = 'この端末は受験に適しています';\n this.titleCssClass = '';\n } else {\n this.modalTitle = 'この端末は受験に適していません
他の端末で試してみてください';\n this.titleCssClass = 'color-alert';\n }\n\n this.displayAlertModal = true;\n }\n\n /**\n * モーダルのキャンセルボタン押下時処理\n */\n private modalCancelButtonClick() {\n this.displayAlertModal = false;\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!./ExamDetail.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!./ExamDetail.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExamDetail.vue?vue&type=template&id=3b9cc91e&\"\nimport script from \"./ExamDetail.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExamDetail.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { JsonObject, JsonProperty } from 'json2typescript';\n\n@JsonObject('Choice')\nexport default class Choice {\n constructor() {\n this.choiceCode = '';\n this.choiceTitle = '';\n this.order = 0;\n }\n\n @JsonProperty('choice_code')\n public choiceCode: string;\n\n @JsonProperty('choice_title')\n public choiceTitle: string;\n\n @JsonProperty('order')\n public order: number;\n}\n","import { JsonObject, JsonProperty } from 'json2typescript';\n\n@JsonObject('QuestionResources')\nexport default class QuestionResources {\n constructor() {\n this.resourceUri = '';\n this.resourceFileName = '';\n this.alternativeText = undefined;\n this.contents = undefined;\n this.contentType = '';\n this.localSrcUri = '';\n }\n\n @JsonProperty('resource_uri')\n public resourceUri: string;\n\n @JsonProperty('resource_file_name')\n public resourceFileName: string;\n\n @JsonProperty('alternative_text', null, true)\n public alternativeText?: string;\n\n public contents?: Blob;\n\n public contentType: string;\n\n public localSrcUri: string;\n}\n","import { JsonObject, JsonProperty } from 'json2typescript';\nimport { isEmpty } from '@/common/StringUtil';\nimport Choice from '@/models/entry/Choice';\nimport Answer from './Answer';\n\n@JsonObject('SubQuestion')\nexport default class SubQuestion {\n constructor() {\n this.questionCode = '';\n this.version = 0;\n this.subQuestionTitle = '';\n this.subQuestionType = '';\n this.order = 0;\n this.choices = [];\n this.answer = new Answer();\n }\n\n @JsonProperty('question_code')\n public questionCode: string;\n\n @JsonProperty('question_version')\n public version: number;\n\n @JsonProperty('sub_question_title', null, true)\n public subQuestionTitle: string;\n\n @JsonProperty('sub_question_type')\n public subQuestionType: string;\n\n @JsonProperty('order')\n public order: number;\n\n @JsonProperty('choices', [Choice], true)\n public choices: Choice[];\n\n public answer: Answer;\n\n isAnswer() {\n return this.answer.choiceCodes.length > 0 || !isEmpty(this.answer.answer);\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"wrapper\"}},[_c('e-nav',{ref:\"examNav\"}),_c('main',[_c('article',{attrs:{\"id\":\"exam-result-article\"}},[_c('section',{staticClass:\"exam-result-score-section\"},[_c('div',{staticClass:\"contents-body\"},[_c('h2',{staticClass:\"align-center title-h2\"},[_vm._v(\"試験結果\")]),_c('div',{staticClass:\"exam-result-score-title\"},[_c('h3',[_vm._v(\"試験名\")]),_c('p',[_vm._v(_vm._s(_vm.examInfo.examTitle)+\" \"+_vm._s(_vm.rankTitle))])]),(_vm.result !== null)?_c('div',{staticClass:\"template\"},[(_vm.result.status === 'pass')?_c('div',{staticClass:\"text align-center\"},[_c('p',{class:_vm.resources.PASS_DISPLAY_COMMENT.cssClassName},[_vm._v(\" \"+_vm._s(_vm.resources.PASS_DISPLAY_COMMENT.displayText)+\" \")])]):_vm._e(),(_vm.result.status === 'pass')?_c('div',{staticClass:\"image\"},[_c('img',{attrs:{\"src\":_vm.designPathCreate(_vm.resources.PASS_DISPLAY_IMG.resourceUri),\"alt\":_vm.resources.PASS_DISPLAY_IMG.alternativeText}})]):_vm._e(),(_vm.result.status === 'failure')?_c('div',{staticClass:\"text align-center\"},[_c('p',{class:_vm.resources.FAIL_DISPLAY_COMMENT.cssClassName},[_vm._v(\" \"+_vm._s(_vm.resources.FAIL_DISPLAY_COMMENT.displayText)+\" \")])]):_vm._e(),(_vm.result.status === 'failure')?_c('div',{staticClass:\"image\"},[_c('img',{attrs:{\"src\":_vm.designPathCreate(_vm.resources.FAIL_DISPLAY_IMG.resourceUri),\"alt\":_vm.resources.FAIL_DISPLAY_IMG.alternativeText}})]):_vm._e()]):_vm._e()]),(_vm.scoreLevel && _vm.scoreLevel.name)?_c('div',{staticClass:\"contents-body\"},[_c('e-score-level',{attrs:{\"scoreLevel\":_vm.scoreLevel,\"scoreLevelDesignResource\":_vm.resources.RESULT_SCORE_LEVEL}})],1):_vm._e(),(_vm.result !== null)?_c('div',{staticClass:\"exam-result-score-box\",class:_vm.resources.ANSWER_RATE_RESULT_BG.cssClassName},[_c('dl',[_vm._m(0),_c('dd',[_c('p',[_c('span',[_vm._v(_vm._s(_vm.result.correct_rate))]),_vm._v(\"点 \")])])]),_c('dl',[_vm._m(1),_c('dd',[(_vm.result.status === 'pass')?_c('img',{attrs:{\"src\":_vm.designPathCreate('exam/finish/img/label_pass.png'),\"alt\":\"\"}}):_c('img',{attrs:{\"src\":_vm.designPathCreate('exam/finish/img/label_fail.png'),\"alt\":\"\"}})])])]):_vm._e()]),_c('section',{staticClass:\"exam-rank-benefits-share-section\"},[((_vm.resources.TWITTER_SHARE_RESULT.displayText === '1' && _vm.twitterShareUri))?_c('div',{staticClass:\"result-share-button\"},[_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.twitterShareUri}},[_vm._v(\" この結果をツイート \")])]):_vm._e()]),(_vm.isShowModelAnswers)?_c('section',{staticClass:\"exam-result-model-answer\"},[_c('e-model-answer')],1):_vm._e(),(_vm.benefits.length > 0)?_c('section',{staticClass:\"benefits-section\",class:_vm.resources.RESULT_BENEFITS_BG.cssClassName},[_c('div',{staticClass:\"contents-body\"},[_c('div',{staticClass:\"title-h2-large\"},[_c('img',{attrs:{\"src\":_vm.designPathCreate(_vm.resources.BENEFITS_ICON.resourceUri),\"alt\":_vm.resources.BENEFITS_ICON.alternativeText}}),_c('h2',{class:_vm.resources.RESULT_BENEFITS_MAIN_COLOR.cssClassName},[_vm._v(\" 獲得特典 \")]),_c('p',{class:_vm.resources.RESULT_BENEFITS_SUB_TITLE_COLOR.cssClassName},[_vm._v(\" BENEFITS \")])]),_c('div',{staticClass:\"benefits-list\"},[_c('ul',_vm._l((_vm.benefits),function(benefit){return _c('li',{key:(\"benefit-\" + (benefit.order))},[(benefit.benefits_type === 'all')?_c('div',{staticClass:\"benefits-label\",class:_vm.resources.BENEFITS_BADGE_ALL.cssClassName},[_c('p',[_vm._v(\"受験者\")])]):_vm._e(),(benefit.benefits_type === 'pass')?_c('div',{staticClass:\"benefits-label\",class:_vm.resources.BENEFITS_BADGE_PASS.cssClassName},[_c('p',[_vm._v(\"合格者\")])]):_vm._e(),(benefit.benefits_type === 'perfect')?_c('div',{staticClass:\"benefits-label\",class:_vm.resources.BENEFITS_BADGE_PERFECT.cssClassName},[_vm._m(2,true)]):_vm._e(),(benefit.benefits_type === 'failure')?_c('div',{staticClass:\"benefits-label\",class:_vm.resources.BENEFITS_BADGE_PERFECT.cssClassName},[_c('p',[_vm._v(\"不合格者\")])]):_vm._e(),_c('h3',{class:_vm.resources.RESULT_BENEFITS_MAIN_COLOR.cssClassName},[_vm._v(\" \"+_vm._s(benefit.name)+\" \")]),_c('p',{staticClass:\"benefits-explanation\",class:_vm.resources.RESULT_BENEFITS_MAIN_COLOR.cssClassName,domProps:{\"innerHTML\":_vm._s(benefit.explanation)}}),_c('div',{staticClass:\"benefits-pic\"},[(_vm.isVideo(benefit.thumbnail.resource_file_name))?_c('video',{style:({ width: _vm.videoWidth }),attrs:{\"src\":_vm.designPathCreate(benefit.thumbnail.resource_uri),\"controls\":\"\",\"disablepictureinpicture\":\"\",\"playsinline\":\"\"}}):_vm._e(),(_vm.isAudio(benefit.thumbnail.resource_file_name))?_c('e-audio',{attrs:{\"sourcePath\":_vm.designPathCreate(benefit.thumbnail.resource_uri),\"elementId\":benefit.thumbnail.resource_uri,\"controls\":\"\"}}):_vm._e(),(!_vm.isVideo(benefit.thumbnail.resource_file_name) && !_vm.isAudio(benefit.thumbnail.resource_file_name))?_c('img',{attrs:{\"src\":_vm.designPathCreate(benefit.thumbnail.resource_uri),\"alt\":benefit.thumbnail.alternative_text}}):_vm._e()],1),_vm._l((benefit.details),function(detail){return _c('span',{key:(\"detail-\" + (detail.order))},[_c('a',{staticClass:\"btn-strong\",attrs:{\"href\":_vm.designPathCreate(detail.benefits_resource.resource_uri),\"target\":\"_blank\",\"download\":detail.is_not_show_download ? false: detail.benefits_resource.resource_file_name}},[_c('span',[_vm._v(_vm._s(detail.button_text))])])])}),_c('div',{staticClass:\"benefits-attention\"},[_c('ul',[_c('li',{class:_vm.resources.RESULT_BENEFITS_MAIN_COLOR.cssClassName,domProps:{\"innerHTML\":_vm._s(benefit.notes)}})])])],2)}),0)])])]):_vm._e(),_c('section',{staticClass:\"exam-result-links-section\"},[_c('div',{staticClass:\"contents-body\"},[(_vm.examInfo.inPeriod && _vm.isDisplayRetest)?[_c('div',{staticClass:\"exam-result-links-pic\"},[_c('img',{attrs:{\"src\":_vm.designPathCreate(_vm.resources.EXAM_RETRY_IMG.resourceUri),\"alt\":_vm.resources.EXAM_RETRY_IMG.alternativeText}})]),_c('a',{staticClass:\"btn-strong\",on:{\"click\":_vm.transitionToExam}},[_c('span',[_vm._v(\"同じ試験に再挑戦\")])])]:_vm._e(),(_vm.resources.GOODS_APPEAL_IMG.resourceUri !== '')?_c('div',{staticClass:\"goods-appeal\"},[_c('a',{on:{\"click\":function($event){return _vm.$router.replace(_vm.paths.GOODS_LIST)}}},[_c('img',{attrs:{\"src\":_vm.designPathCreate(_vm.resources.GOODS_APPEAL_IMG.resourceUri),\"alt\":_vm.resources.GOODS_APPEAL_IMG.alternativeText}})])]):_vm._e(),(_vm.otherRanks.length > 0)?_c('h2',{staticClass:\"title-h2\"},[_vm._v(\"その他の試験\")]):_vm._e(),(_vm.otherRanks.length > 0)?_c('div',{staticClass:\"card-list\"},[_c('router-link',{attrs:{\"to\":{ path: _vm.paths.TOP, hash: '#entry' },\"replace\":\"\"}},[_c('a',{staticClass:\"btn-large\"},[_c('span',[_vm._v(\"他のコースにチャレンジする!\")])])])],1):_vm._e()],2)])])]),_c('e-guide'),_c('e-footer'),_c('e-indicator',{attrs:{\"display\":_vm.isIndicatorDisplay}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dt',{staticClass:\"color-ex\"},[_c('p',[_vm._v(\"得点\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dt',{staticClass:\"color-ex\"},[_c('p',[_vm._v(\"結果\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"全問\"),_c('br'),_vm._v(\"正解者\")])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"audio-hidden-controls\"},[_c('audio',{attrs:{\"src\":_vm.localSourcePath,\"id\":_vm.localElementId,\"controls\":\"\"}}),_c('a',{staticClass:\"audio-anchor\",on:{\"click\":function($event){return _vm.toggleMediaPlay(_vm.localElementId)}}},[_c('span',[_vm._v(_vm._s(_vm.displayText))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport toggleMediaPlay from '@/common/MediaUtil';\n\n@Component\nexport default class ExamAudio extends Vue {\n @Prop()\n elementId: string;\n\n @Prop()\n sourcePath: string;\n\n @Prop({ type: String, required: false, default: 'PLAY' })\n displayText: string;\n\n private localElementId = '';\n\n private localSourcePath = '';\n\n private localDisplayText = 'PLAY';\n\n private toggleMediaPlay = toggleMediaPlay;\n\n private mounted() {\n this.localElementId = this.elementId;\n this.localSourcePath = this.sourcePath;\n this.localDisplayText = this.displayText;\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!./ExamAudio.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!./ExamAudio.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExamAudio.vue?vue&type=template&id=56d59036&\"\nimport script from \"./ExamAudio.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExamAudio.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('section',{staticClass:\"exam-rank-score-level-section\"},[_c('div',{staticClass:\"template exam-rank-score-level\"},[_c('h3',{staticClass:\"score-level-label\",domProps:{\"textContent\":_vm._s(_vm.scoreLevelTitle)}}),_c('div',{staticClass:\"score-level-name\"},[_vm._v(_vm._s(_vm.scoreLevelName))]),(_vm.explanation)?_c('div',{staticClass:\"score-level-explanation\",class:_vm.cssClassName},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.explanation)}})]):_vm._e(),(_vm.scoreLevelResourceUri)?_c('div',{staticClass:\"score-level-resource\"},[_c('img',{attrs:{\"src\":_vm.designPathCreate(_vm.scoreLevelResourceUri)}})]):_vm._e(),(_vm.notes)?_c('div',{staticClass:\"score-level-attention\",class:_vm.cssClassName},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.notes)}})]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { JsonObject, JsonProperty } from 'json2typescript';\n\n@JsonObject('score_level')\nexport default class ScoreLevel {\n constructor() {\n this.name = undefined;\n this.explanation = undefined;\n this.notes = undefined;\n this.threshold = undefined;\n this.resourceUri = undefined;\n this.resourceFileName = undefined;\n this.alternativeText = undefined;\n }\n\n @JsonProperty('name')\n public name?: string;\n\n @JsonProperty('explanation')\n public explanation?: string;\n\n @JsonProperty('notes')\n public notes?: string;\n\n @JsonProperty('threshold')\n public threshold?: number;\n\n @JsonProperty('resource_uri', null, true)\n public resourceUri?: string;\n\n @JsonProperty('resource_file_name', null, true)\n public resourceFileName?: string;\n\n @JsonProperty('alternative_text', null, true)\n public alternativeText?: string;\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {\n Component, Prop, Watch,\n} from 'vue-property-decorator';\n\nimport MarkdownToHTML from '@/common/MarkdownToHTML';\n\nimport BaseView from '@/views/BaseView.vue';\nimport DesignResource from '@/models/exam/DesignResource';\n\nimport ExamInfo from '@/models/exam/ExamInfo';\nimport ScoreLevel from '@/models/exam/ScoreLevel';\n\n@Component\nexport default class ExamResultRankScoreLevel extends BaseView {\n @Prop({ type: ScoreLevel })\n private scoreLevel: ScoreLevel;\n\n @Prop()\n private examInfo: ExamInfo|null;\n\n @Prop()\n private scoreLevelDesignResource: DesignResource;\n\n private explanation = '';\n\n private notes = '';\n\n private scoreLevelName = '';\n\n private cssClassName = '';\n\n private scoreLevelTitle = '判定結果';\n\n private scoreLevelResourceUri = '';\n\n private alternativeText = '';\n\n mounted() {\n this.watchScoreLevel();\n this.watchScoreLevelResource();\n }\n\n @Watch('scoreLevel')\n watchScoreLevel() {\n this.scoreLevelName = this.scoreLevel.name || '';\n this.explanation = MarkdownToHTML(this.scoreLevel.explanation) || '';\n this.notes = MarkdownToHTML(this.scoreLevel.notes) || '';\n this.scoreLevelResourceUri = this.scoreLevel.resourceUri || '';\n this.alternativeText = this.scoreLevel.alternativeText || '';\n }\n\n @Watch('scoreLevelDesignResource')\n watchScoreLevelResource() {\n this.cssClassName = this.scoreLevelDesignResource.cssClassName;\n this.scoreLevelTitle = this.scoreLevelDesignResource.displayText || this.scoreLevelTitle;\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!./ExamResultRankScoreLevel.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!./ExamResultRankScoreLevel.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExamResultRankScoreLevel.vue?vue&type=template&id=16501140&\"\nimport script from \"./ExamResultRankScoreLevel.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExamResultRankScoreLevel.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:\"contents-body\"},[_c('h2',{staticClass:\"title-h2 exam-result-model-answer-header\"},[_vm._v(\"解説\")]),_vm._l((_vm.viewModelAnsers),function(vma){return _c('section',{key:vma.index,staticClass:\"model-answer-question-list\"},[_c('div',{staticClass:\"accordion\"},[_c('h2',{staticClass:\"accordion-head\"},[_vm._v(_vm._s(vma.evaluationTitle))]),_c('div',{staticClass:\"accordion-body\"},[_c('ul',_vm._l((vma.modelAnswers),function(modelAnswer){return _c('li',{key:modelAnswer.questionNumber,on:{\"click\":function($event){_vm.activeQuestionNumber = modelAnswer.questionNumber}}},[_c('span',{staticClass:\"question-index\"},[_vm._v(_vm._s((\"第\" + (modelAnswer.questionNumber) + \"問\")))]),_c('span',{staticClass:\"question-text-separator\"},[_vm._v(\":\")]),_c('span',{staticClass:\"question-result\",class:modelAnswer.passFail === 'pass' ? 'correct' : 'failure'},[_vm._v(_vm._s(modelAnswer.passFail === 'pass' ? '正解' : '不正解'))])])}),0)])])])}),_c('section',{staticClass:\"model-answer-description\"},_vm._l((_vm.modelAnswers),function(modelAnswer){return _c('div',{key:modelAnswer.questionNumber},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(modelAnswer.questionNumber === _vm.activeQuestionNumber),expression:\"modelAnswer.questionNumber === activeQuestionNumber\"}],staticClass:\"modal\"},[_c('div',{staticClass:\"modal-bg\",on:{\"click\":_vm.modalClose}}),_c('div',{staticClass:\"contents-body modal-contents model-answer-description-contents\"},[_c('div',{staticClass:\"modal-close-container\"},[_c('a',{staticClass:\"modal-close btn-close\",on:{\"click\":_vm.modalClose}})]),_c('div',{staticClass:\"question-container\"},[_c('div',{staticClass:\"title-h3\"},[_vm._v(\"【問題】\")]),_c('div',{staticClass:\"question exam-text\",domProps:{\"innerHTML\":_vm._s(modelAnswer.question.questionStatement)}}),_c('div',{staticClass:\"exam-pic\"},[(_vm.getVideoInfo(modelAnswer.question.questionResources))?_c('video',{attrs:{\"id\":(\"video-\" + (modelAnswer.questionNumber)),\"src\":_vm.getVideoInfo(modelAnswer.question.questionResources).localSrcUri,\"type\":_vm.getVideoInfo(modelAnswer.question.questionResources).contentType,\"controls\":\"\",\"controlslist\":\"nodownload\",\"preload\":\"\",\"disablepictureinpicture\":\"\",\"playsinline\":\"\"}},[_c('p',[_vm._v(\"映像を再生するには、videoタグをサポートしたブラウザが必要です。\")])]):_vm._e(),(_vm.getAudioInfo(modelAnswer.question.questionResources))?_c('e-audio',{attrs:{\"id\":(\"audio-\" + (modelAnswer.questionNumber)),\"src\":_vm.getAudioInfo(modelAnswer.question.questionResources).localSrcUri}}):_vm._e()],1)]),_vm._l((modelAnswer.question.subQuestions),function(subQ,subQIdx){return _c('div',{key:subQIdx,staticClass:\"sub-question-container\"},[(subQ.subQuestionTitle !== '')?_c('div',[_c('div',{staticClass:\"title-h3 sub-question\"},[_vm._v(\"【設問】\")]),_c('p',{staticClass:\"exam-text sub-question-title\",domProps:{\"innerHTML\":_vm._s(subQ.subQuestionTitle)}})]):_vm._e()])}),_c('div',{staticClass:\"answer-container\"},[_c('div',{staticClass:\"title-h3\"},[_vm._v(\"【あなたの回答】\")]),_vm._l((modelAnswer.answerChoices),function(answerChoice){return _c('div',{key:answerChoice.order},[_c('div',{staticClass:\"answer-choice exam-text\",domProps:{\"innerHTML\":_vm._s(answerChoice.choiceTitle)}})])})],2),_c('div',{staticClass:\"correct-container\"},[_c('div',{staticClass:\"title-h3\"},[_vm._v(\"【正解】\")]),_vm._l((modelAnswer.correctChoices),function(correctChoice){return _c('div',{key:correctChoice.order},[_c('div',{staticClass:\"correct-choice exam-text\",domProps:{\"innerHTML\":_vm._s(correctChoice.choiceTitle)}})])})],2),(modelAnswer.modelAnswer)?_c('div',{staticClass:\"model-answer-container\"},[_c('div',{staticClass:\"title-h3\"},[_vm._v(\"【解説】\")]),_c('div',{staticClass:\"model-answer exam-text\",domProps:{\"innerHTML\":_vm._s(modelAnswer.modelAnswer)}})]):_vm._e()],2)])])}),0)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { JsonObject, JsonProperty } from 'json2typescript';\nimport SubQuestion from '@/models/entry/SubQuestion';\nimport Question from '@/models/entry/Question';\nimport Choice from '@/models/entry/Choice';\n\n@JsonObject('ModelAnswer')\nexport default class ModelAnswer {\n constructor() {\n this.questionCode = '';\n this.passFail = '';\n this.modelAnswer = '';\n this.evaluationCode = '';\n this.evaluationTitle = '';\n this.question = new Question();\n this.subQuestions = [];\n this.answerChoices = [];\n this.correctChoices = [];\n this.questionNumber = 0;\n }\n\n @JsonProperty('question_code')\n public questionCode: string;\n\n @JsonProperty('pass_fail')\n public passFail: string;\n\n @JsonProperty('model_answer')\n public modelAnswer: string;\n\n @JsonProperty('evaluation_code')\n public evaluationCode: string;\n\n @JsonProperty('evaluation_title')\n public evaluationTitle: string;\n\n @JsonProperty('question', Question, false)\n public question: Question;\n\n @JsonProperty('sub_questions', [SubQuestion], true)\n public subQuestions: SubQuestion[];\n\n @JsonProperty('answer_choices', [Choice], true)\n public answerChoices: Choice[];\n\n @JsonProperty('correct_choices', [Choice], true)\n public correctChoices: Choice[];\n\n /**\n * 問題番号\n */\n public questionNumber: number;\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 } from 'vue-property-decorator';\n\nimport MarkdownToHTML from '@/common/MarkdownToHTML';\nimport BaseView from '@/views/BaseView.vue';\nimport QuestionResources from '@/models/entry/QuestionResources';\n\nimport ModelAnswer from '@/models/entry/ModelAnswer';\nimport ExamAudio from '@/components/ExamAudio.vue';\nimport * as StringUtil from '@/common/StringUtil';\n\nimport RepositoryFactory from '@/repository/RepositoryFactory';\nimport axios from 'axios';\n\n/**\n * リソースダウンロード情報まとめ\n */\n interface DownloadInfo {\n uri: string;\n modelAnswer: ModelAnswer;\n resource: QuestionResources;\n}\n\n@Component({\n components: {\n 'e-audio': ExamAudio,\n },\n})\nexport default class ExamResultModelAnswer extends BaseView {\n private entryCode = '';\n\n private resultCode = '';\n\n private activeQuestionNumber = -1;\n\n private modelAnswers: ModelAnswer[] = [];\n\n private viewModelAnsers: { index: number; evaluationCode: string; evaluationTitle: string; modelAnswers: ModelAnswer[]}[] = [];\n\n private totalDownloadDataCount = 0;\n\n private nowLoadingCount = 0;\n\n private async mounted() {\n const { entry, result } = this.$route.query;\n if (entry === undefined || result === undefined) {\n this.$router.replace(this.paths.TOP);\n }\n this.entryCode = String(entry);\n this.resultCode = String(result);\n\n await this.getModelAnswers()\n .then(() => {\n this.resourceDownload();\n })\n .then(() => {\n this.formatModelAnswers();\n });\n }\n\n /** データを評価基準ごとのまとまりに整形する */\n private async formatModelAnswers() {\n this.viewModelAnsers.length = 0;\n this.modelAnswers.forEach((ma) => {\n const modelAnswer = ma;\n const { evaluationCode } = ma;\n const idx = this.viewModelAnsers.findIndex((v) => v.evaluationCode === evaluationCode);\n if (idx === -1) {\n const index = this.viewModelAnsers.length;\n const vma = {\n index, evaluationCode, evaluationTitle: modelAnswer.evaluationTitle, modelAnswers: [modelAnswer],\n };\n this.viewModelAnsers.push(vma);\n return;\n }\n this.viewModelAnsers[idx].modelAnswers.push(modelAnswer);\n });\n }\n\n private async getModelAnswers() {\n const EntryRepository = RepositoryFactory.get().entry;\n await EntryRepository.getModelAnswers(this.entryCode, this.resultCode).then((response: any) => {\n if (response.status !== 200) {\n return;\n }\n this.modelAnswers = EntryRepository.convert.deserializeArray(response.data.details, ModelAnswer);\n if (this.modelAnswers.length < 1) {\n return;\n }\n this.modelAnswers.forEach((ma, index) => {\n const modelAnswer = ma;\n // 出題順番号付与\n modelAnswer.questionNumber = index + 1;\n\n // 模範回答のMarkdownパース\n if (modelAnswer.modelAnswer !== null) {\n modelAnswer.modelAnswer = MarkdownToHTML(modelAnswer.modelAnswer);\n }\n // 問題文のMarkdownパース\n if (modelAnswer.question !== null) {\n modelAnswer.question.questionStatement = MarkdownToHTML(modelAnswer.question.questionStatement);\n }\n modelAnswer.subQuestions.forEach((subQuestion) => {\n const subQ = subQuestion;\n // 設問タイトルのMarkdownパース\n if (subQ.subQuestionTitle !== '') {\n subQ.subQuestionTitle = MarkdownToHTML(subQ.subQuestionTitle);\n }\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 modelAnswer.answerChoices.forEach((answerChoice) => {\n const c = answerChoice;\n c.choiceTitle = MarkdownToHTML(answerChoice.choiceTitle);\n });\n modelAnswer.correctChoices.forEach((correctChoice) => {\n const c = correctChoice;\n c.choiceTitle = MarkdownToHTML(correctChoice.choiceTitle);\n });\n });\n });\n }\n\n private async resourceDownload() {\n if (this.modelAnswers.length < 1) {\n return;\n }\n\n this.modelAnswers.forEach((ma) => {\n const modelAnswer = ma;\n if (modelAnswer.question === null) {\n return;\n }\n\n modelAnswer.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 const downloadInfo: DownloadInfo = { uri, modelAnswer, resource };\n // ダウンロード実行\n this.execDownload(downloadInfo);\n });\n });\n }\n\n /**\n * リソースダウンロード処理\n */\n private async execDownload(downloadInfo: DownloadInfo) {\n const { uri, modelAnswer, resource } = downloadInfo;\n // arraybuffer オプション必須\n 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 this.nowLoadingCount += 1;\n\n if (contentType.indexOf('image') === -1) {\n return;\n }\n // 画像の場合、各所の対応する独自タグを置換\n const replaceTag = `{{${resource.resourceFileName}}}`;\n const imgTagString = `\"${resource.alternativeText}\"`;\n if (modelAnswer.question === null) {\n return;\n }\n // 問題本文\n modelAnswer.question.questionStatement = modelAnswer.question.questionStatement.replace(replaceTag, imgTagString);\n\n // 問題解説\n if (!StringUtil.isEmpty(modelAnswer.modelAnswer)) {\n modelAnswer.modelAnswer = modelAnswer.modelAnswer.replace(replaceTag, imgTagString);\n }\n\n const { subQuestions } = modelAnswer.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 modelAnswer.answerChoices.forEach((choice) => {\n const targetChoice = choice;\n targetChoice.choiceTitle = targetChoice.choiceTitle.replace(replaceTag, imgTagString);\n });\n modelAnswer.correctChoices.forEach((choice) => {\n const targetChoice = choice;\n targetChoice.choiceTitle = targetChoice.choiceTitle.replace(replaceTag, imgTagString);\n });\n });\n }\n\n /**\n * content-type に該当するリソースURIとコンテンツタイプを返す\n */\n static getResourceInfo(type: string, questionResources: QuestionResources[]) {\n const resource = 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 // eslint-disable-next-line class-methods-use-this\n getVideoInfo(questionResources: QuestionResources[]) {\n return ExamResultModelAnswer.getResourceInfo('video', questionResources);\n }\n\n /**\n * 音声リソース情報取得\n */\n // eslint-disable-next-line class-methods-use-this\n getAudioInfo(questionResources: QuestionResources[]) {\n return ExamResultModelAnswer.getResourceInfo('audio', questionResources);\n }\n\n modalClose() {\n this.activeQuestionNumber = -1;\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!./ExamResultModelAnswer.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!./ExamResultModelAnswer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExamResultModelAnswer.vue?vue&type=template&id=08fd42d0&\"\nimport script from \"./ExamResultModelAnswer.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExamResultModelAnswer.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","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 } from 'vue-mixin-decorator';\nimport { Watch } from 'vue-property-decorator';\n\nimport MarkdownToHTML from '@/common/MarkdownToHTML';\nimport BaseView from '@/views/BaseView.vue';\nimport ExamFooter from '@/components/ExamFooter.vue';\nimport ExamGuide from '@/components/ExamGuide.vue';\nimport ExamNav from '@/components/ExamNav.vue';\nimport ExamAudio from '@/components/ExamAudio.vue';\nimport RadarChart from '@/components/RadarChart.vue';\nimport IndicatorModal from '@/components/IndicatorModal.vue';\nimport ExamResultRankScoreLevel from '@/components/ExamResultRankScoreLevel.vue';\n\nimport ExamResultModelAnswer from '@/views/exam/result/ExamResultModelAnswer.vue';\n\nimport * as StringUtil from '@/common/StringUtil';\n\nimport * as DesignCode from '@/classification/DesignCode';\n\nimport RepositoryFactory from '@/repository/RepositoryFactory';\n\nimport ExamInfo from '@/models/exam/ExamInfo';\nimport DesignResource from '@/models/exam/DesignResource';\nimport Rank from '@/models/rank/Rank';\nimport Evaluation from '@/models/evaluation/Evaluation';\nimport ScoreLevel from '@/models/exam/ScoreLevel';\nimport moment from 'moment';\n\n@Component(\n {\n components: {\n 'e-footer': ExamFooter,\n 'e-guide': ExamGuide,\n 'e-nav': ExamNav,\n 'e-radar-chart': RadarChart,\n 'e-indicator': IndicatorModal,\n 'e-score-level': ExamResultRankScoreLevel,\n 'e-audio': ExamAudio,\n 'e-model-answer': ExamResultModelAnswer,\n },\n },\n)\nexport default class ExamResult extends BaseView {\n private examInfo: ExamInfo = new ExamInfo();\n\n private resultRankCode = '';\n\n private entryCode = '';\n\n private resultCode = '';\n\n private rankTitle = '';\n\n private otherRanks: Rank[] = [];\n\n private benefits: any[] = [];\n\n private resultShareUri = '';\n\n private shareResultText = '';\n\n private twitterShareUri = '';\n\n private result = null;\n\n private isShowModelAnswers = false;\n\n private categories = null;\n\n private evaluations: Evaluation[] = [];\n\n private scoreLevel: ScoreLevel = new ScoreLevel();\n\n private videoWidth = '100%';\n\n private isIndicatorDisplay = false;\n\n private isDisplayRetest = false;\n\n private childTab: Window | null = null;\n\n $refs!: {\n examNav: ExamNav;\n }\n\n private twitterShareResultText = '';\n\n private resources = {\n ENTRY_ICON: new DesignResource(),\n BENEFITS_ICON: new DesignResource(),\n RANK_BENEFIT_THUMBNAIL: new DesignResource(),\n RESULT_BENEFITS_BG: new DesignResource(),\n RESULT_BENEFITS_MAIN_COLOR: new DesignResource(),\n RESULT_BENEFITS_SUB_TITLE_COLOR: new DesignResource(),\n BENEFITS_BADGE_ALL: new DesignResource(),\n BENEFITS_BADGE_PASS: new DesignResource(),\n BENEFITS_BADGE_PERFECT: new DesignResource(),\n EXAM_RANK_ICON: new DesignResource(),\n TOP_ENTRY_MAIN_COLOR: new DesignResource(),\n EXAM_RETRY_IMG: new DesignResource(),\n CHART_TITLE: new DesignResource(),\n PASS_DISPLAY_COMMENT: new DesignResource(),\n PASS_DISPLAY_IMG: new DesignResource(),\n FAIL_DISPLAY_COMMENT: new DesignResource(),\n FAIL_DISPLAY_IMG: new DesignResource(),\n GOODS_APPEAL_IMG: new DesignResource(),\n ANSWER_RATE_RESULT_BG: new DesignResource(),\n CHART_TITLE_CATEGORY_BG: new DesignResource(),\n CHART_TITLE_EVALUATION_BG: new DesignResource(),\n TWITTER_SHARE_RESULT: new DesignResource(),\n RESULT_SCORE_LEVEL: new DesignResource(),\n };\n\n private async mounted() {\n const { entry, result } = this.$route.query;\n if (entry === undefined || result === undefined) {\n this.$router.replace(this.paths.TOP);\n }\n this.entryCode = String(entry);\n this.resultCode = String(result);\n\n this.initStaticScripts();\n\n this.isIndicatorDisplay = true;\n\n // 検定情報を取得する\n const ExamRepository = RepositoryFactory.get().exam;\n await ExamRepository.getExam().then((response: any) => {\n if (response.status !== 200) {\n return;\n }\n // eslint-disable-next-line prefer-destructuring\n const data = response.data;\n this.examInfo.examTitle = data.exam_title;\n this.examInfo.inPeriod = data.in_period;\n // デザインリソース\n if (data.resources === undefined) {\n return;\n }\n data.resources.forEach((resource: any) => {\n const key = resource.display_place_key;\n if (key in this.resources) {\n const tmp = new DesignResource();\n tmp.displayPlaceKey = resource.display_place_key;\n tmp.displayText = StringUtil.isEmpty(resource.display_text) ? '' : resource.display_text;\n tmp.cssClassName = StringUtil.isEmpty(resource.css_class_name) ? '' : resource.css_class_name;\n tmp.resourceUri = StringUtil.isEmpty(resource.resource_uri) ? '' : resource.resource_uri;\n tmp.resourceFileName = StringUtil.isEmpty(resource.resource_file_name) ? '' : resource.resource_file_name;\n tmp.alternativeText = StringUtil.isEmpty(resource.alternative_text) ? '' : resource.alternative_text;\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.resources[key] = tmp;\n }\n });\n });\n\n // 受験結果を取得\n const EntryRepository = RepositoryFactory.get().entry;\n await EntryRepository.getResult(this.entryCode, this.resultCode).then((response: any) => {\n if (response.status !== 200) {\n return;\n }\n this.result = response.data;\n if (this.result === null) {\n return;\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.categories = this.result.categories;\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.resultRankCode = this.result.exam_rank_code;\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.result.evaluations.forEach((evaluation: any) => {\n const eva = new Evaluation();\n eva.evaluationCode = evaluation.evaluation_code;\n eva.evaluationTitle = evaluation.evaluation_title;\n eva.correctRate = evaluation.correct_rate;\n this.evaluations.push(eva);\n });\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n const scoreLevel = this.result.score_level as any;\n if (!scoreLevel) {\n return;\n }\n const sl = new ScoreLevel();\n sl.name = scoreLevel.name;\n sl.explanation = scoreLevel.explanation;\n sl.notes = scoreLevel.notes;\n sl.threshold = scoreLevel.threshold;\n if (scoreLevel.score_level_resource) {\n sl.resourceUri = scoreLevel.score_level_resource.resource_uri;\n sl.resourceFileName = scoreLevel.score_level_resource.resource_file_name;\n sl.alternativeText = scoreLevel.score_level_resource.alternative_text;\n const ext = ExamResult.getExt(scoreLevel.score_level_resource.resource_uri);\n this.setResultShareUri(scoreLevel.score_level_resource.resource_uri.replace(`.${ext}`, '.html'));\n }\n this.scoreLevel = sl;\n }).catch(() => {\n this.$router.replace(this.paths.TOP);\n });\n\n // 獲得特典の取得\n await EntryRepository.getBenefits(this.entryCode, this.resultCode).then((response: any) => {\n if (response.status !== 200 || response.data.benefits === undefined) {\n return;\n }\n const benefits = response.data.benefits as Array;\n benefits.forEach((benefit) => {\n const b = benefit;\n b.explanation = MarkdownToHTML(b.explanation);\n b.notes = MarkdownToHTML(b.notes);\n b.details.forEach((detail: { benefits_resource: { resource_uri: string }; is_share_target: number}) => {\n if (detail.is_share_target === 1) {\n const ext = ExamResult.getExt(detail.benefits_resource.resource_uri);\n this.setResultShareUri(detail.benefits_resource.resource_uri.replace(`.${ext}`, '.html'));\n }\n });\n });\n this.benefits = benefits.filter((v) => v.display_type !== 'none');\n }).catch(() => {\n this.$router.replace(this.paths.TOP);\n });\n\n // 検定ランク情報の初期化とランクリソースの取得\n await this.initRankInfo();\n\n // その他の検定ランクを取得する\n const RankRepository = RepositoryFactory.get().rank;\n await RankRepository.getRanks().then((response: any) => {\n if (response.status !== 200 || response.data.exam_ranks === undefined) {\n return;\n }\n response.data.exam_ranks.forEach((rank: any) => {\n const rankObj = new Rank();\n rankObj.rankCode = StringUtil.encodeToBase64Url(rank.exam_rank_code);\n rankObj.title = rank.exam_rank_title;\n if (rank.fees.length > 0) {\n rankObj.fee = StringUtil.separateNumber(rank.fees[0].fee);\n } else {\n rankObj.fee = '0';\n }\n rankObj.paymentType = rank.exam_fee_type;\n\n // eslint-disable-next-line prefer-destructuring\n const resources = rank.resources;\n if (resources !== undefined && resources.length > 0) {\n resources.forEach((resource: any) => {\n if (resource.display_place_key === DesignCode.EXAM_RANK_ICON) {\n rankObj.thumbnail = resource.resource_uri;\n rankObj.alternativeText = resource.alternative_text;\n }\n });\n }\n\n // 受験したランクは表示しない\n if (this.resultRankCode === rank.exam_rank_code) {\n return;\n }\n this.otherRanks.push(rankObj);\n });\n });\n\n this.isIndicatorDisplay = false;\n }\n\n /**\n * 検定詳細画面に遷移します。\n *\n * @param ランクコード(Base64エンコードされたコード)\n */\n private transitionExamDetail(rankCode: string) {\n this.$router.replace(`${this.paths.KENTEI_DETAIL}?rank=${rankCode}`);\n }\n\n /**\n * 静的CssとJsの読み込み\n */\n private initStaticScripts() {\n const CommonCss = document.createElement('link');\n CommonCss.rel = 'stylesheet';\n CommonCss.href = '/css/common.css';\n this.$el.appendChild(CommonCss);\n\n const ExamResultCss = document.createElement('link');\n ExamResultCss.rel = 'stylesheet';\n ExamResultCss.href = '/exam/css/result.css';\n this.$el.appendChild(ExamResultCss);\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\n /**\n * 映像ファイルか判定する\n *\n * @param filename ファイル名\n */\n // eslint-disable-next-line class-methods-use-this\n private isVideo(filename: string) {\n if (filename === undefined) return false;\n const etx = ExamResult.getExt(filename);\n const video = ['mp4'];\n return video.includes(etx);\n }\n\n /**\n * 音声ファイルか判定する\n *\n * @param filename ファイル名\n */\n // eslint-disable-next-line class-methods-use-this\n private isAudio(filename: string) {\n if (filename === undefined) return false;\n const etx = ExamResult.getExt(filename);\n const audio = ['mp3', 'm4a'];\n return audio.includes(etx);\n }\n\n /**\n * 拡張子を取得する\n *\n * @param filename ファイル名\n */\n static getExt(filename: string) {\n const pos = filename.lastIndexOf('.');\n if (pos === -1) return '';\n return filename.slice(pos + 1);\n }\n\n /**\n * 試験画面へ遷移\n */\n private transitionToExam() {\n if (this.childTab !== null) {\n // eslint-disable-next-line no-alert\n alert('既に試験ページが表示されています');\n return;\n }\n const encodeRankCode = StringUtil.encodeToBase64Url(this.resultRankCode);\n // 新しく開いたwindowオブジェクトを保持\n this.childTab = window.open(`${this.paths.EXAM}?entry=${this.entryCode}&rank=${encodeRankCode}`, `exam${Date.now()}`);\n }\n\n /**\n * 受験した検定ランク情報を取得し、タイトル、再受験可能フラグを設定する\n */\n private async initRankInfo() {\n const result = this.result as any;\n const RankRepository = RepositoryFactory.get().rank;\n await RankRepository.getRankInfo(StringUtil.encodeToBase64Url(result.exam_rank_code)).then((response: any) => {\n if (response.status !== 200) {\n return;\n }\n const rank = response.data;\n this.rankTitle = rank.exam_rank_title;\n const existLimit = rank.exist_limit as boolean;\n const canRetakeAfterPassing = rank.can_retake_after_passing as boolean;\n const isPass = String(result.status) === 'pass';\n const rankResources = rank.resources;\n\n this.setRetest(existLimit, rank, isPass, canRetakeAfterPassing);\n this.setRankResources(rankResources);\n });\n }\n\n /** 再受験についての設定を行う */\n setRetest(existLimit: boolean, rank: any, isPass: boolean, canRetakeAfterPassing: boolean) {\n const result = this.result as any;\n if (existLimit) {\n const examinationCount = result.examination_count;\n const isLowerLimit = rank.possible_exam_count > examinationCount;\n\n // 合格後再受験可で回数を満たしていない場合\n if (isPass && canRetakeAfterPassing && isLowerLimit) {\n this.isDisplayRetest = true;\n return;\n }\n\n // 不合格で回数を満たしていない場合\n if (!isPass && isLowerLimit) {\n this.isDisplayRetest = true;\n }\n } else {\n // 受験回数無制限で不合格の場合\n if (!isPass) {\n this.isDisplayRetest = true;\n return;\n }\n\n // 受験回数無制限で合格後再受験可の場合\n if (isPass && canRetakeAfterPassing) {\n this.isDisplayRetest = true;\n }\n }\n }\n\n /** 取得したランクのリソースを設定する */\n setRankResources(rankResources: any) {\n if (!Array.isArray(rankResources)) {\n return;\n }\n rankResources.forEach((rankResource) => {\n if (rankResource.display_place_key === DesignCode.TWITTER_SHARE_RESULT_TEXT) {\n this.twitterShareResultText = rankResource.display_text;\n return;\n }\n if (rankResource.display_place_key === DesignCode.SHOW_MODEL_ANSWERS_START) {\n if (!StringUtil.isEmpty(rankResource.display_text)) {\n this.isShowModelAnswers = moment(rankResource.display_text).isBefore(moment());\n }\n }\n });\n }\n\n @Watch('rankTitle')\n @Watch('result')\n @Watch('scoreLevel')\n @Watch('twitterShareResultText')\n resetShareResultText() {\n this.setShareResultText(this.twitterShareResultText);\n }\n\n private async setShareResultText(shareResultText: string|null) {\n if (shareResultText && !StringUtil.isEmpty(shareResultText)) {\n this.shareResultText = shareResultText;\n }\n if (!this.examInfo || !this.result || !this.rankTitle) {\n return;\n }\n const textParameters = {\n '%%exam_title%%': this.examInfo.examTitle || '',\n '%%rank_title%%': this.rankTitle || '',\n '%%score_level_name%%': this.scoreLevel.name || '',\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n '%%result_status%%': this.result.status === 'pass' ? '合格' : '不合格',\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n '%%result_correct_rate%%': String(this.result.correct_rate),\n '%%user_id%%': this.$refs.examNav.navUserId,\n };\n // eslint-disable-next-line no-restricted-syntax\n for (const [key, val] of Object.entries(textParameters)) {\n const regExp = new RegExp(key, 'g');\n this.shareResultText = this.shareResultText.replace(regExp, val);\n }\n }\n\n private setResultShareUri(uri: string): boolean {\n // 判定証があるならそちらを優先する\n if (this.resultShareUri.includes('/individual-scorelevels/')) {\n return false;\n }\n this.resultShareUri = uri;\n return true;\n }\n\n @Watch('shareResultText')\n @Watch('resultShareUri')\n private setTwitterShareUri() {\n if (StringUtil.isEmpty(this.shareResultText)) {\n return;\n }\n if (!StringUtil.isEmpty(this.resultShareUri)) {\n this.twitterShareUri = `https://twitter.com/intent/tweet?text=${encodeURIComponent(this.shareResultText)}&url=${encodeURIComponent(this.designPathCreate(this.resultShareUri))}`;\n return;\n }\n this.twitterShareUri = `https://twitter.com/intent/tweet?text=${encodeURIComponent(this.shareResultText)}`;\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!./ExamResult.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!./ExamResult.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExamResult.vue?vue&type=template&id=18fa0a50&\"\nimport script from \"./ExamResult.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExamResult.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 mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExamFinish.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExamFinish.vue?vue&type=style&index=0&lang=css&\"","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 = '生年月日が違うかトークンが無効なため再設定に失敗しました';\nexport const INVALID_GOODS_QUANTITY = '個数が適正範囲外です。1~100 の数字を指定してください';\nexport const REQUIRED_GOODS_OPTION = '選択してください';\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文字以上');\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","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import { v4 as uuidv4 } from 'uuid';\n/**\n * Media 再生/停止\n */\nconst toggleMediaPlay = (id: string) => {\n const a = document.getElementById(id) as HTMLMediaElement;\n if (a.paused || a.ended) {\n a.play();\n } else {\n a.pause();\n }\n};\n\nexport const replaceAudioElement = () => {\n document.querySelectorAll('audio').forEach((e) => {\n if (e.style.display === 'none') {\n return;\n }\n if (!e.id) {\n e.id = uuidv4();\n }\n const viewText = (e.textContent ? e.textContent : 'PLAY');\n e.style.display = 'none';\n const container = document.createElement('div');\n container.classList.add('audio-hidden-controls');\n const a = document.createElement('a');\n a.classList.add('audio-anchor');\n a.addEventListener('click', () => { toggleMediaPlay(e.id); });\n a.innerHTML = `${viewText}`;\n container.appendChild(a);\n e.after(container);\n });\n};\n\n\nexport default toggleMediaPlay;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"wrapper\"}},[_c('e-nav'),_c('main',{staticClass:\"template\"},[_c('article',[_c('section',[_c('div',{staticClass:\"contents-body\"},[_c('h2',{staticClass:\"align-center title-h2\"},[_vm._v(\"受験内容確認\")]),(_vm.rank.rankCode)?_c('div',{staticClass:\"table\"},[_c('table',[_c('tr',[_c('th',[_vm._v(\"試験名\")]),_c('td',[_vm._v(_vm._s(_vm.examTitle)+\" \"+_vm._s(_vm.rank.title))])]),_c('tr',[_c('th',[_vm._v(\"実施期間\")]),(_vm.rank.periodStart === '' && _vm.rank.periodEnd === '')?_c('td',[_vm._v(\"未定\")]):_c('td',[_vm._v(_vm._s(_vm.rank.periodStart)+\" ~ \"+_vm._s(_vm.rank.periodEnd))])]),_c('tr',[_c('th',[_vm._v(\"出題数\")]),_c('td',[_vm._v(_vm._s(_vm.rank.numberOfQuestions)+\"問\")])]),_c('tr',[_c('th',[_vm._v(\"制限時間\")]),_c('td',[_vm._v(_vm._s(_vm.rank.timeLimit)+\"分\")])]),_vm._m(0)])]):_vm._e(),_c('div',{staticClass:\"exam-ready-box\"},[_vm._m(1),_c('a',{staticClass:\"btn-strong\",on:{\"click\":function($event){return _vm.$router.replace(_vm.paths.TEST_EXAM_READY)}}},[_c('span',[_vm._v(\"体験版はこちら\")])])]),_vm._m(2),(_vm.canStartExamination && _vm.inPeriod)?_c('a',{staticClass:\"btn-large\",on:{\"click\":_vm.startExam}},[_c('span',[_vm._v(\"本試験を開始する\")])]):_vm._e(),(!_vm.canStartExamination && _vm.inPeriod)?_c('div',{staticClass:\"exam-ready-box\"},[_c('p',{staticClass:\"exam-ready-outside-period\"},[_vm._v(\"試験の実施期間外です\")])]):_vm._e(),(!_vm.inPeriod)?_c('div',{staticClass:\"exam-ready-box\"},[_c('p',{staticClass:\"exam-ready-outside-period\"},[_vm._v(\"検定の開催期間外です\")])]):_vm._e()])])])]),_c('e-footer'),_c('div',{staticClass:\"modal\",style:([_vm.displayStyle]),attrs:{\"id\":\"modal-thanks\"}},[_c('div',{staticClass:\"modal-bg\"}),_c('div',{staticClass:\"modal-contents\"},[_c('div',{staticClass:\"modal-contents-body\"},[_c('p',{staticClass:\"modal-title\"},[_vm._v(\"ご購入ありがとうございました\")]),_vm._m(3),_c('a',{staticClass:\"btn-strong modal-close\",on:{\"click\":_vm.modalClose}},[_c('span',[_vm._v(\"閉じる\")])])])])]),_c('e-indicator',{attrs:{\"display\":_vm.isIndicatorDisplay}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('th',[_vm._v(\"一時停止\")]),_c('td',[_vm._v(\"不可\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\" 一度、体験版を受験して、\"),_c('br',{staticClass:\"sp\"}),_vm._v(\" 操作方法などを\"),_c('br',{staticClass:\"pc\"}),_vm._v(\"確認した上での\"),_c('br',{staticClass:\"sp\"}),_vm._v(\"受験をおすすめします \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"exam-ready-attention\"},[_c('p',[_vm._v(\"注意事項\")]),_c('dl',[_c('dt',[_vm._v(\"解答中は以下の操作は行わないでください\")]),_c('dd',[_vm._v(\" ■ ブラウザを「×」ボタンで閉じる \"),_c('br'),_vm._v(\"■ ブラウザの再読み込み(リロード) \"),_c('br'),_vm._v(\"■ 戻るボタンの使用 \")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',{staticClass:\"modal-text\"},[_vm._v(\" 下記の「閉じる」ボタンを押し、 \"),_c('br'),_vm._v(\"表示されたページの「本試験を開始する」 \"),_c('br',{staticClass:\"sp\"}),_vm._v(\"ボタンを押して試験を開始できます \")])}]\n\nexport { render, staticRenderFns }","import { JsonObject, JsonProperty } from 'json2typescript';\n\n@JsonObject('ExamReadyRank')\nexport default class ExamReadyRank {\n constructor() {\n this.rankCode = '';\n this.title = '';\n this.periodStart = '';\n this.periodEnd = '';\n this.numberOfQuestions = 0;\n this.timeLimit = 0;\n }\n\n @JsonProperty('exam_rank_code')\n public rankCode: string;\n\n @JsonProperty('exam_rank_title')\n public title: string;\n\n @JsonProperty('examination_period_start')\n public periodStart: string;\n\n @JsonProperty('examination_period_end')\n public periodEnd: string;\n\n @JsonProperty('number_of_questions')\n public numberOfQuestions: number;\n\n @JsonProperty('time_limit')\n public timeLimit: number;\n}\n","import { JsonObject, JsonProperty } from 'json2typescript';\nimport ExamReadyRank from '@/models/entry/ExamReadyRank';\n\n@JsonObject('ExamReadyEntry')\nexport default class ExamReadyEntry {\n constructor() {\n this.examinationEntryCode = '';\n this.canStartExamination = false;\n this.examRank = new ExamReadyRank();\n }\n\n @JsonProperty('examination_entry_code')\n public examinationEntryCode: string;\n\n @JsonProperty('can_start_examination', null, true)\n public canStartExamination: boolean;\n\n @JsonProperty('exam_rank', ExamReadyRank)\n public examRank: ExamReadyRank;\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 } from 'vue-property-decorator';\nimport * as StringUtil from '@/common/StringUtil';\nimport RepositoryFactory from '@/repository/RepositoryFactory';\nimport BaseView from '@/views/BaseView.vue';\nimport ExamFooter from '@/components/ExamFooter.vue';\nimport ExamNav from '@/components/ExamNav.vue';\nimport ExamReadyEntry from '@/models/entry/ExamReadyEntry';\nimport ExamReadyRank from '@/models/entry/ExamReadyRank';\nimport ExamRankDetail from '@/models/rank/ExamRankDetail';\n\nimport * as Msgs from '@/common/Messages';\nimport * as JwtUtil from '@/common/JwtUtil';\n\nimport IndicatorModal from '@/components/IndicatorModal.vue';\n\n@Component(\n {\n components: {\n 'e-footer': ExamFooter,\n 'e-nav': ExamNav,\n 'e-indicator': IndicatorModal,\n },\n },\n)\nexport default class ExamReady extends BaseView {\n isIndicatorDisplay = false;\n\n rankDetail = new ExamRankDetail();\n\n rank = new ExamReadyRank();\n\n canStartExamination = false;\n\n displayStyle = { display: 'none' };\n\n entryCode = '';\n\n examTitle = '';\n\n inPeriod = false;\n\n childTab: Window | null = null;\n\n private async created() {\n this.isIndicatorDisplay = true;\n\n // 受験申込コードがない場合強制敵にTOPへ飛ばす\n if (!this.$route.query.examination_entry_code) {\n this.$router.replace(this.paths.TOP);\n }\n\n // コールバックの場合thanksメッセージ表示\n if (this.$route.query.is_callback === '1') {\n this.displayStyle = { display: 'block' };\n }\n\n try {\n const jwt = JwtUtil.getJwtInfo();\n\n // 検定タイトル設定\n await this.getExam();\n\n if (!StringUtil.isEmpty(this.$route.query.rank)) {\n await this.getRankInfo(String(this.$route.query.rank));\n }\n\n this.entryCode = String(this.$route.query.examination_entry_code);\n if (this.rankDetail.registrationRequired) {\n // 受験情報取得\n await this.getEntryInfo(this.entryCode);\n } else {\n // アカウント不要受験情報取得\n await this.getGuestEntryInfo(this.entryCode);\n }\n } catch (error) {\n this.$router.replace(this.paths.TOP);\n } finally {\n this.isIndicatorDisplay = false;\n }\n }\n\n private mounted() {\n const CommonCss = document.createElement('link');\n CommonCss.rel = 'stylesheet';\n CommonCss.href = '/css/common.css';\n this.$el.appendChild(CommonCss);\n\n const ReadyCss = document.createElement('link');\n ReadyCss.rel = 'stylesheet';\n ReadyCss.href = '/exam/css/ready.css';\n this.$el.appendChild(ReadyCss);\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\n /**\n * 検定情報取得\n */\n private async getExam() {\n try {\n const ExamRepository = RepositoryFactory.get().exam;\n await ExamRepository.getExam().then((response) => {\n this.examTitle = response.data.exam_title;\n this.inPeriod = response.data.in_period;\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 * @param rankCode ランクコード\n */\n private async getRankInfo(rankCode: string) {\n try {\n const RankRepository = RepositoryFactory.get().rank;\n await RankRepository.getRankInfo(rankCode).then((response) => {\n if (response.status === 200) {\n try {\n this.rankDetail = RankRepository.convert.deserialize(response.data, ExamRankDetail) as ExamRankDetail;\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 * @param entryCode 申込コード\n */\n private async getEntryInfo(entryCode: string) {\n try {\n const EntryRepo = RepositoryFactory.get().entry;\n await EntryRepo.getEntryWithEntryCode(entryCode)\n .then((response) => {\n if (response.status === 200 && response.data !== undefined) {\n const tempEntry = EntryRepo.convert.deserializeObject(response.data, ExamReadyEntry);\n this.canStartExamination = tempEntry.canStartExamination;\n this.rank = tempEntry.examRank;\n this.rank.periodStart = StringUtil.toJapanDateString(this.rank.periodStart);\n this.rank.periodEnd = StringUtil.toJapanDateString(this.rank.periodEnd);\n } else {\n this.$router.replace(this.paths.TOP);\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 * @param entryCode 申込コード\n */\n private async getGuestEntryInfo(entryCode: string) {\n try {\n const GuestRepository = RepositoryFactory.get().guest;\n await GuestRepository.getGuestEntry(entryCode)\n .then((response) => {\n if (response.status === 200 && response.data !== undefined) {\n const tempEntry = GuestRepository.convert.deserializeObject(response.data, ExamReadyEntry);\n this.canStartExamination = tempEntry.canStartExamination;\n this.rank = tempEntry.examRank;\n this.rank.periodStart = StringUtil.toJapanDateString(this.rank.periodStart);\n this.rank.periodEnd = StringUtil.toJapanDateString(this.rank.periodEnd);\n } else {\n this.$router.replace(this.paths.TOP);\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 startExam() {\n if (this.childTab !== null) {\n alert('既に試験ページが表示されています');\n return;\n }\n\n let path = `?rank=${StringUtil.encodeToBase64Url(this.rank.rankCode)}&entry=${this.entryCode}`;\n if (this.rankDetail.registrationRequired) {\n path = `${this.paths.EXAM}${path}`;\n } else {\n path = `${this.paths.GUEST_EXAM}${path}`;\n }\n // 新しく開いたwindowオブジェクトを保持\n this.childTab = window.open(path, `exam${Date.now()}`);\n }\n\n /**\n * モーダルを閉じる\n */\n modalClose() {\n this.displayStyle = { display: 'none' };\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!./ExamReady.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!./ExamReady.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExamReady.vue?vue&type=template&id=36a3dd3c&scoped=true&\"\nimport script from \"./ExamReady.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExamReady.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ExamReady.vue?vue&type=style&index=0&id=36a3dd3c&scoped=true&lang=css&\"\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 \"36a3dd3c\",\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","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExamReady.vue?vue&type=style&index=0&id=36a3dd3c&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExamReady.vue?vue&type=style&index=0&id=36a3dd3c&scoped=true&lang=css&\"","import { JsonObject, JsonProperty } from 'json2typescript';\nimport BenefitsResource from '@/models/exam/BenefitsResource';\nimport Fee from '@/models/rank/Fee';\n\n/**\n * 試験詳細画面用 検定ランク情報保持クラス\n */\n@JsonObject('ExamRankDetail')\nexport default class ExamRankDetail {\n constructor() {\n this.examRankCode = undefined;\n this.examRankTitle = undefined;\n this.overview = undefined;\n this.timeLimit = undefined;\n this.notificationLimit = undefined;\n this.numberOfQuestions = undefined;\n this.passThreshold = undefined;\n this.questionMethod = undefined;\n this.examFeeType = undefined;\n this.judgmentType = undefined;\n this.possibleConditionsCount = undefined;\n this.canRetakeAfterPassing = undefined;\n this.existLimit = undefined;\n this.possibleExamCount = undefined;\n this.canPause = undefined;\n this.examinationPeriodStart = undefined;\n this.examinationPeriodEnd = undefined;\n this.requestPeriodStart = undefined;\n this.requestPeriodEnd = undefined;\n this.isStarting = undefined;\n this.isAccepting = undefined;\n this.registrationRequired = true;\n this.fees = new Array();\n this.resources = undefined;\n this.benefits = new Array();\n this.thumbnail = undefined;\n this.alternativeText = undefined;\n }\n\n @JsonProperty('exam_rank_code')\n public examRankCode?: string;\n\n @JsonProperty('exam_rank_title')\n public examRankTitle?: string;\n\n @JsonProperty('overview')\n public overview?: string;\n\n @JsonProperty('time_limit')\n public timeLimit?: number;\n\n @JsonProperty('notification_limit')\n public notificationLimit?: number;\n\n @JsonProperty('number_of_questions')\n public numberOfQuestions?: number;\n\n @JsonProperty('pass_threshold')\n public passThreshold?: number;\n\n @JsonProperty('question_method')\n public questionMethod?: string;\n\n @JsonProperty('exam_fee_type')\n public examFeeType?: string;\n\n @JsonProperty('judgment_type')\n public judgmentType?: string;\n\n @JsonProperty('possible_conditions_count')\n public possibleConditionsCount?: number;\n\n @JsonProperty('can_retake_after_passing')\n public canRetakeAfterPassing?: boolean;\n\n @JsonProperty('exist_limit')\n public existLimit?: boolean;\n\n @JsonProperty('possible_exam_count')\n public possibleExamCount?: number\n\n @JsonProperty('can_pause')\n public canPause?: boolean;\n\n @JsonProperty('examination_period_start')\n public examinationPeriodStart?: string;\n\n @JsonProperty('examination_period_end')\n public examinationPeriodEnd?: string;\n\n @JsonProperty('request_period_start')\n public requestPeriodStart?: string;\n\n @JsonProperty('request_period_end')\n public requestPeriodEnd?: string;\n\n @JsonProperty('is_starting')\n public isStarting?: boolean;\n\n @JsonProperty('is_accepting')\n public isAccepting?: boolean;\n\n @JsonProperty('registration_required')\n public registrationRequired?: boolean;\n\n @JsonProperty('fees')\n public fees: Array;\n\n @JsonProperty('resources')\n public resources?: object[] = [];\n\n @JsonProperty('benefits')\n public benefits: Array;\n\n public thumbnail?: string;\n\n public alternativeText?: string;\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"header\",attrs:{\"id\":\"header\"}},[_c('div',{staticClass:\"header-logo\"},[_c('img',{attrs:{\"src\":_vm.designPathCreate(_vm.logoUri),\"alt\":_vm.logoAltText}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\nimport { Component, Mixins } from 'vue-mixin-decorator';\nimport DesignPathCreator from '@/components/mixin/DesignPathCreator.vue';\n\nimport * as DesignCode from '@/classification/DesignCode';\n\nimport RepositoryFactory from '@/repository/RepositoryFactory';\n\n@Component\nexport default class ExamHeader extends Mixins(DesignPathCreator) {\n private logoUri = '';\n\n private logoAltText = '';\n\n private created() {\n try {\n const ExamRepository = RepositoryFactory.get().exam;\n ExamRepository.getExam().then((response: any) => {\n if (response.status === 200 && response.data.resources !== undefined) {\n response.data.resources.forEach((resource: any) => {\n if (resource.display_place_key === DesignCode.TOP_MV_LOGO) {\n this.logoUri = resource.resource_uri;\n this.logoAltText = resource.alternative_text;\n }\n });\n }\n });\n } catch (error) {\n //\n }\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!./ExamHeader.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!./ExamHeader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExamHeader.vue?vue&type=template&id=281354f0&\"\nimport script from \"./ExamHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExamHeader.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',{attrs:{\"id\":\"wrapper\"}},[_c('e-nav'),_c('main',{staticClass:\"template\"},[_c('article',{attrs:{\"id\":\"exam-finish\"}},[_c('section',[_c('div',{staticClass:\"contents-body\"},[_vm._m(0),(_vm.resources.EXAM_END_IMG.resourceUri !== '')?_c('div',{staticClass:\"image\"},[_c('img',{attrs:{\"src\":_vm.designPathCreate(_vm.resources.EXAM_END_IMG.resourceUri),\"alt\":_vm.resources.EXAM_END_IMG.alternativeText}})]):_vm._e(),(_vm.judgementType === 'immediate')?_c('a',{staticClass:\"btn-strong\",on:{\"click\":_vm.transitionExamResult}},[_c('span',[_vm._v(\"結果を見る\")])]):_vm._e(),(_vm.judgementType === 'later')?_c('div',{staticClass:\"laterText\"},[_c('p',[_vm._v(\"現在、採点中です\")]),_c('p',[_vm._v(\"採点完了後、結果確認画面から確認してください\")])]):_vm._e(),(_vm.isMaintenance)?_c('div',{staticClass:\"laterText\"},[_c('p',[_vm._v(\"現在、メンテナンス中です\")]),_c('p',[_vm._v(\"メンテナンス終了後、結果確認画面から確認してください\")])]):_vm._e()])])])]),_c('e-footer'),_c('e-indicator',{attrs:{\"display\":_vm.isIndicatorDisplay}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{staticClass:\"align-center title-h2\"},[_vm._v(\" お疲れ様でした!\"),_c('br'),_vm._v(\"試験終了です! \")])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component } from 'vue-property-decorator';\n\nimport BaseView from '@/views/BaseView.vue';\nimport ExamFooter from '@/components/ExamFooter.vue';\nimport ExamNav from '@/components/ExamNav.vue';\nimport IndicatorModal from '@/components/IndicatorModal.vue';\n\nimport * as StringUtil from '@/common/StringUtil';\n\nimport RepositoryFactory from '@/repository/RepositoryFactory';\n\nimport DesignResource from '@/models/exam/DesignResource';\n\n@Component(\n {\n components: {\n 'e-footer': ExamFooter,\n 'e-nav': ExamNav,\n 'e-indicator': IndicatorModal,\n },\n },\n)\nexport default class ExamFinish extends BaseView {\n private entryCode: string;\n\n private resultCode: string;\n\n private judgementType = '';\n\n private isMaintenance = false;\n\n private isIndicatorDisplay = false;\n\n private resources = {\n EXAM_END_IMG: new DesignResource(),\n };\n\n private async mounted() {\n this.isIndicatorDisplay = true;\n\n this.initStaticScripts();\n const { rank, entry, result } = this.$route.query;\n this.entryCode = String(entry);\n this.resultCode = String(result);\n\n this.getExamInfo();\n await this.getExamRankInfo(String(rank));\n this.isIndicatorDisplay = false;\n }\n\n /**\n * 検定情報の取得\n */\n private getExamInfo() {\n try {\n const ExamRepository = RepositoryFactory.get().exam;\n ExamRepository.getExam().then((response) => {\n if (response.status === 200) {\n // eslint-disable-next-line prefer-destructuring\n const data = response.data;\n\n // デザインリソース\n if (data.resources !== undefined) {\n data.resources.forEach((resource: any) => {\n const key = resource.display_place_key;\n if (key in this.resources) {\n const tmp = new DesignResource();\n tmp.displayPlaceKey = resource.display_place_key;\n tmp.displayText = StringUtil.isEmpty(resource.display_text) ? '' : resource.display_text;\n tmp.cssClassName = StringUtil.isEmpty(resource.css_class_name) ? '' : resource.css_class_name;\n tmp.resourceUri = StringUtil.isEmpty(resource.resource_uri) ? '' : resource.resource_uri;\n tmp.resourceFileName = StringUtil.isEmpty(resource.resource_file_name) ? '' : resource.resource_file_name;\n tmp.alternativeText = StringUtil.isEmpty(resource.alternative_text) ? '' : resource.alternative_text;\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.resources[key] = tmp;\n }\n });\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 * @param ランクコード(Base64エンコード)\n */\n private async getExamRankInfo(rankCode: string) {\n const RankRepository = RepositoryFactory.get().rank;\n await RankRepository.getRankInfo(rankCode).then((response: any) => {\n if (response.status === 200) {\n this.judgementType = response.data.judgment_type;\n this.isMaintenance = response?.data?.can_pause ?? false;\n }\n }).catch(() => {\n this.isMaintenance = true;\n });\n }\n\n /**\n * 静的CssとJsの読み込み\n */\n private initStaticScripts() {\n const CommonCss = document.createElement('link');\n CommonCss.rel = 'stylesheet';\n CommonCss.href = '/css/common.css';\n this.$el.appendChild(CommonCss);\n\n const ExamResultCss = document.createElement('link');\n ExamResultCss.rel = 'stylesheet';\n ExamResultCss.href = '/exam/css/result.css';\n this.$el.appendChild(ExamResultCss);\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\n /**\n * 結果表示画面に遷移します。\n */\n private transitionExamResult() {\n this.$router.replace(`${this.paths.EXAM_RESULT}?entry=${this.entryCode}&result=${this.resultCode}`);\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!./ExamFinish.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!./ExamFinish.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExamFinish.vue?vue&type=template&id=cfff72a6&\"\nimport script from \"./ExamFinish.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExamFinish.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ExamFinish.vue?vue&type=style&index=0&lang=css&\"\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":""}