{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/common/plugins/vuetify.ts","webpack:///./src/trials/plugins/const.ts","webpack:///./src/trials/views/trials/TrialsMenu.vue?a5d9","webpack:///./src/trials/domain/objects/errorResponse.ts","webpack:///./src/trials/exceptions/errorDialogData.ts","webpack:///./src/trials/lib/api.ts","webpack:///./src/trials/store/index.ts","webpack:///./src/trials/domain/objects/trainParams.ts","webpack:///./src/trials/lib/round.ts","webpack:///./src/trials/domain/objects/knowledgeChunks.ts","webpack:///./src/trials/domain/objects/trainData.ts","webpack:///./src/trials/domain/objects/predictData.ts","webpack:///./src/trials/domain/objects/predictResult.ts","webpack:///./src/trials/domain/objects/predictResults.ts","webpack:///./src/trials/domain/objects/trainColumn.ts","webpack:///./src/trials/domain/models/trainDataStatistics.ts","webpack:///./src/trials/domain/objects/predictColumn.ts","webpack:///./src/trials/domain/models/predictDataStatistics.ts","webpack:///./src/trials/store/modules/session.ts","webpack:///./src/trials/domain/objects/confirmDialogData.ts","webpack:///./src/trials/views/trials/TrialsMenu.vue?fd1f","webpack:///./src/trials/views/trials/TrialsMenu.vue?ec3e","webpack:///./src/trials/views/trials/TrialsMenu.vue","webpack:///./src/trials/views/trials/train/kc/KC.vue?0620","webpack:///./src/trials/views/trials/train/kc/KC.vue?49ee","webpack:///./src/trials/views/trials/train/kc/KC.vue?b530","webpack:///./src/trials/views/trials/train/kc/KC.vue","webpack:///./src/trials/views/trials/train/kc/KCList.vue?6735","webpack:///./src/trials/views/components/DataTable.vue?06ee","webpack:///./src/trials/views/components/DataTable.vue?def8","webpack:///./src/trials/views/components/DataTable.vue?c7c8","webpack:///./src/trials/views/components/DataTable.vue","webpack:///./src/trials/views/trials/train/kc/KCList.vue?38c3","webpack:///./src/trials/views/trials/train/kc/KCList.vue?fdd4","webpack:///./src/trials/views/trials/train/kc/KCList.vue","webpack:///./src/trials/views/trials/train/kc/KCTraining.vue?d54e","webpack:///./src/trials/views/components/ProgressItem.vue?0911","webpack:///./src/trials/views/components/ProgressItem.vue?3bdd","webpack:///./src/trials/views/components/ProgressItem.vue?48f4","webpack:///./src/trials/views/components/ProgressItem.vue","webpack:///./src/trials/views/trials/train/kc/KCTraining.vue?1d84","webpack:///./src/trials/views/trials/train/kc/KCTraining.vue?4255","webpack:///./src/trials/views/trials/train/kc/KCTraining.vue","webpack:///./src/trials/views/trials/train/data/TrainData.vue?4663","webpack:///./src/trials/views/components/DragDrop.vue?33ab","webpack:///./src/trials/views/components/DragDrop.vue?b543","webpack:///./src/trials/views/components/DragDrop.vue?931c","webpack:///./src/trials/views/components/DragDrop.vue","webpack:///./src/trials/views/trials/train/data/TrainData.vue?b8e5","webpack:///./src/trials/views/trials/train/data/TrainData.vue?1737","webpack:///./src/trials/views/trials/train/data/TrainData.vue","webpack:///./src/trials/views/trials/train/data/TrainDataUpload.vue?1c25","webpack:///./src/trials/views/components/CsvSelector.vue?efe2","webpack:///./src/trials/views/components/CsvSelector.vue?76e7","webpack:///./src/trials/views/components/CsvSelector.vue?acde","webpack:///./src/trials/views/components/CsvSelector.vue","webpack:///./src/trials/views/trials/train/data/TrainDataUpload.vue?3281","webpack:///./src/trials/views/trials/train/data/TrainDataUpload.vue?d90d","webpack:///./src/trials/views/trials/train/data/TrainDataUpload.vue","webpack:///./src/trials/views/trials/train/data/TrainDataStatistics.vue?0029","webpack:///./src/trials/views/trials/train/data/TrainDataStatisticsAll.vue?ac04","webpack:///./src/trials/views/components/Histogram.vue?47c2","webpack:///./src/trials/lib/highchartHelper/histogramConverter.ts","webpack:///./src/trials/views/components/Histogram.vue?74a8","webpack:///./src/trials/views/components/Histogram.vue?bd79","webpack:///./src/trials/views/components/Histogram.vue","webpack:///./src/trials/views/components/BarChart.vue?758f","webpack:///./src/trials/views/components/BarChart.vue?c514","webpack:///./src/trials/views/components/BarChart.vue?8f12","webpack:///./src/trials/views/components/BarChart.vue","webpack:///./src/trials/views/trials/train/data/TrainDataStatisticsAll.vue?f2f5","webpack:///./src/trials/views/trials/train/data/TrainDataStatisticsAll.vue?6727","webpack:///./src/trials/views/trials/train/data/TrainDataStatisticsAll.vue","webpack:///./src/trials/views/trials/train/data/TrainDataStatisticsNa.vue?8ba4","webpack:///./src/trials/views/trials/train/data/TrainDataStatisticsNa.vue?7207","webpack:///./src/trials/views/trials/train/data/TrainDataStatisticsNa.vue?2866","webpack:///./src/trials/views/trials/train/data/TrainDataStatisticsNa.vue","webpack:///./src/trials/views/trials/train/data/TrainDataStatisticsLabels.vue?65d3","webpack:///./src/trials/views/components/MultiLabelHistogram.vue?c60b","webpack:///./src/trials/views/components/MultiLabelHistogram.vue?88c1","webpack:///./src/trials/views/components/MultiLabelHistogram.vue?a121","webpack:///./src/trials/views/components/MultiLabelHistogram.vue","webpack:///./src/trials/views/components/MultiLabelBarChart.vue?866b","webpack:///./src/trials/views/components/MultiLabelBarChart.vue?4480","webpack:///./src/trials/views/components/MultiLabelBarChart.vue?9400","webpack:///./src/trials/views/components/MultiLabelBarChart.vue","webpack:///./src/trials/views/trials/train/data/TrainDataStatisticsLabels.vue?da4a","webpack:///./src/trials/views/trials/train/data/TrainDataStatisticsLabels.vue?bd1b","webpack:///./src/trials/views/trials/train/data/TrainDataStatisticsLabels.vue","webpack:///./src/trials/views/trials/train/data/TrainDataStatistics.vue?8185","webpack:///./src/trials/views/trials/train/data/TrainDataStatistics.vue?fc92","webpack:///./src/trials/views/trials/train/data/TrainDataStatistics.vue","webpack:///./src/trials/views/trials/train/data/TrainDataGettingKcList.vue?68b6","webpack:///./src/trials/views/trials/train/data/TrainDataGettingKcList.vue?f558","webpack:///./src/trials/views/trials/train/data/TrainDataGettingKcList.vue?95b6","webpack:///./src/trials/views/trials/train/data/TrainDataGettingKcList.vue","webpack:///./src/trials/views/trials/train/result/TrainResultMenu.vue?c1b4","webpack:///./src/trials/views/trials/train/result/TrainResultMenu.vue?1b4d","webpack:///./src/trials/views/trials/train/result/TrainResultMenu.vue?51aa","webpack:///./src/trials/views/trials/train/result/TrainResultMenu.vue","webpack:///./src/trials/views/trials/train/result/TrainResultAll.vue?db55","webpack:///./src/trials/views/trials/train/result/TrainResultKC.vue?edd0","webpack:///./src/trials/views/components/KCSummary.vue?5a47","webpack:///./src/trials/domain/objects/notificationDialogData.ts","webpack:///./src/trials/views/components/KCSummary.vue?04af","webpack:///./src/trials/views/components/KCSummary.vue?78bc","webpack:///./src/trials/views/components/KCSummary.vue","webpack:///./src/trials/views/trials/train/result/TrainResultKC.vue?fd31","webpack:///./src/trials/views/trials/train/result/TrainResultKC.vue?489d","webpack:///./src/trials/views/trials/train/result/TrainResultKC.vue","webpack:///./src/trials/views/trials/train/result/TrainResultParams.vue?6794","webpack:///./src/trials/views/trials/train/result/TrainResultParams.vue?f5e2","webpack:///./src/trials/views/trials/train/result/TrainResultParams.vue?ad64","webpack:///./src/trials/views/trials/train/result/TrainResultParams.vue","webpack:///./src/trials/views/trials/train/result/TrainResultAll.vue?201e","webpack:///./src/trials/views/trials/train/result/TrainResultAll.vue?45d7","webpack:///./src/trials/views/trials/train/result/TrainResultAll.vue","webpack:///./src/trials/views/trials/train/result/TrainResultData.vue?c169","webpack:///./src/trials/views/trials/train/result/TrainResultDataBefore.vue?5b4c","webpack:///./src/trials/views/components/KCListAndDetail.vue?cc23","webpack:///./src/trials/views/components/SingleSelectDataTable.vue?472b","webpack:///./src/trials/views/components/SingleSelectDataTable.vue?6e48","webpack:///./src/trials/views/components/SingleSelectDataTable.vue?7972","webpack:///./src/trials/views/components/SingleSelectDataTable.vue","webpack:///./src/trials/views/components/KCListAndDetail.vue?67fe","webpack:///./src/trials/views/components/KCListAndDetail.vue?4f6b","webpack:///./src/trials/views/components/KCListAndDetail.vue","webpack:///./src/trials/views/trials/train/result/TrainResultDataBefore.vue?3862","webpack:///./src/trials/views/trials/train/result/TrainResultDataBefore.vue?3048","webpack:///./src/trials/views/trials/train/result/TrainResultDataBefore.vue","webpack:///./src/trials/views/trials/train/result/TrainResultDataAfter.vue?c430","webpack:///./src/trials/views/trials/train/result/TrainResultDataAfter.vue?f18a","webpack:///./src/trials/views/trials/train/result/TrainResultDataAfter.vue?7a78","webpack:///./src/trials/views/trials/train/result/TrainResultDataAfter.vue","webpack:///./src/trials/views/trials/train/result/TrainResultData.vue?029d","webpack:///./src/trials/views/trials/train/result/TrainResultData.vue?aca1","webpack:///./src/trials/views/trials/train/result/TrainResultData.vue","webpack:///./src/trials/views/trials/predict/data/PredictData.vue?1695","webpack:///./src/trials/views/trials/predict/data/PredictData.vue?0c5b","webpack:///./src/trials/views/trials/predict/data/PredictData.vue?1bb9","webpack:///./src/trials/views/trials/predict/data/PredictData.vue","webpack:///./src/trials/views/trials/predict/data/PredictDataUpload.vue?d4a7","webpack:///./src/trials/views/trials/predict/data/PredictDataUpload.vue?8272","webpack:///./src/trials/views/trials/predict/data/PredictDataUpload.vue?c37a","webpack:///./src/trials/views/trials/predict/data/PredictDataUpload.vue","webpack:///./src/trials/views/trials/predict/data/PredictDataStatistics.vue?b364","webpack:///./src/trials/views/trials/predict/data/PredictDataStatisticsNa.vue?4ab3","webpack:///./src/trials/views/trials/predict/data/PredictDataStatisticsNa.vue?f195","webpack:///./src/trials/views/trials/predict/data/PredictDataStatisticsNa.vue?9dcc","webpack:///./src/trials/views/trials/predict/data/PredictDataStatisticsNa.vue","webpack:///./src/trials/views/trials/predict/data/PredictDataStatisticsAll.vue?c770","webpack:///./src/trials/views/trials/predict/data/PredictDataStatisticsAll.vue?2a40","webpack:///./src/trials/views/trials/predict/data/PredictDataStatisticsAll.vue?679a","webpack:///./src/trials/views/trials/predict/data/PredictDataStatisticsAll.vue","webpack:///./src/trials/views/trials/predict/data/PredictDataStatistics.vue?0392","webpack:///./src/trials/views/trials/predict/data/PredictDataStatistics.vue?2d1e","webpack:///./src/trials/views/trials/predict/data/PredictDataStatistics.vue","webpack:///./src/trials/views/trials/predict/data/PredictDataPredicting.vue?13ab","webpack:///./src/trials/views/trials/predict/data/PredictDataPredicting.vue?4cef","webpack:///./src/trials/views/trials/predict/data/PredictDataPredicting.vue?29b7","webpack:///./src/trials/views/trials/predict/data/PredictDataPredicting.vue","webpack:///./src/trials/views/trials/predict/result/PredictResultMenu.vue?5aa5","webpack:///./src/trials/views/trials/predict/result/PredictResultMenu.vue?62c8","webpack:///./src/trials/views/trials/predict/result/PredictResultMenu.vue?3fac","webpack:///./src/trials/views/trials/predict/result/PredictResultMenu.vue","webpack:///./src/trials/views/trials/predict/result/PredictResultData.vue?0720","webpack:///./src/trials/views/trials/predict/result/PredictResultDataBefore.vue?44c4","webpack:///./src/trials/views/trials/predict/result/PredictResultDataBefore.vue?875b","webpack:///./src/trials/views/trials/predict/result/PredictResultDataBefore.vue?15e5","webpack:///./src/trials/views/trials/predict/result/PredictResultDataBefore.vue","webpack:///./src/trials/views/trials/predict/result/PredictResultDataAfter.vue?5c5f","webpack:///./src/trials/views/trials/predict/result/PredictResultDataAfter.vue?eb9e","webpack:///./src/trials/views/trials/predict/result/PredictResultDataAfter.vue?7fd2","webpack:///./src/trials/views/trials/predict/result/PredictResultDataAfter.vue","webpack:///./src/trials/views/trials/predict/result/PredictResultData.vue?4bc5","webpack:///./src/trials/views/trials/predict/result/PredictResultData.vue?5a99","webpack:///./src/trials/views/trials/predict/result/PredictResultData.vue","webpack:///./src/trials/router/index.ts","webpack:///./src/trials/plugins/highchart.ts","webpack:///./src/trials/App.vue?357d","webpack:///./src/trials/views/components/ConfirmDialog.vue?6daa","webpack:///./src/trials/views/components/ConfirmDialog.vue?b916","webpack:///./src/trials/views/components/ConfirmDialog.vue?3b19","webpack:///./src/trials/views/components/ConfirmDialog.vue","webpack:///./src/trials/views/components/NotificationDialog.vue?513b","webpack:///./src/trials/views/components/NotificationDialog.vue?2432","webpack:///./src/trials/views/components/NotificationDialog.vue?9c98","webpack:///./src/trials/views/components/NotificationDialog.vue","webpack:///./src/trials/views/components/ErrorDialog.vue?4122","webpack:///./src/trials/views/components/ErrorDialog.vue?5700","webpack:///./src/trials/views/components/ErrorDialog.vue?f407","webpack:///./src/trials/views/components/ErrorDialog.vue","webpack:///./src/trials/App.vue?870a","webpack:///./src/trials/App.vue?71bc","webpack:///./src/trials/App.vue","webpack:///./src/trials/index.ts","webpack:///./src/trials/views/components/CsvSelector.vue?32e2","webpack:///./src/trials/views/trials/train/result/TrainResultParams.vue?f976","webpack:///./src/trials/views/components/DragDrop.vue?1877"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","use","SysConst","lang","params","Path","APP_BASE","ROOT","PRIVACY_POLICY","TRIALS_MENU","TRAIN_DATA_MENU","TRAIN_DATA_UPLOAD","TRAIN_DATA_STATISTICS","TRAIN_DATA_STATISTICS_NA","TRAIN_DATA_STATISTICS_LABELS","TRAIN_DATA_GETTING_KC_LIST","TRAIN_KC_MENU","TRAIN_KC_LIST","TRAIN_KC_TRAINING","TRAIN_RESULT_MENU","TRAIN_RESULT_ALL","TRAIN_RESULT_ALL_PARAMS","TRAIN_RESULT_ALL_KC","TRAIN_RESULT_DATA","TRAIN_RESULT_DATA_BEFORE","TRAIN_RESULT_DATA_AFTER","PREDICT_DATA_MENU","PREDICT_DATA_UPLOAD","PREDICT_DATA_STATISTICS","PREDICT_DATA_STATISTICS_ALL","PREDICT_DATA_STATISTICS_NA","PREDICT_DATA_PREDICTING","PREDICT_RESULT_MENU","PREDICT_RESULT_DATA","Samples","MARKETING","HEALTHCARE","FINANCE","FOR_MIDDLE_SCHOOLER","Api","GET_TOKEN","DELETE_TOKEN","REGIST_TRAINING_SETS","SELECT_TRAINING_SETS","GET_TRAINING_SETS","START_CREATE_MODEL","GET_KC_FOR_TRAINING_SET","GET_KC_LIST_FOR_MODEL","GET_PARAMS_AND_SCORES","GET_PREPROCESSED_TRAINING_SETS","GET_MODEL_CREATION_STATE","REGIST_PREDICTION_SETS","SELECT_PREDICTION_SETS","GET_PREDICTION_SETS","START_PREDICTION","GET_KC_FOR_PREDICTION_SET","GET_PREPROCESSED_PREDICTION_SETS","GET_PREDICTION_RESULT","GET_PREDICTION_STATE","InputData","Type","STRING","NUMBER","OutputData","KC","Limit","POS","NEG","Color","POSITIVE","NEGATIVE","Button","Next","BG","Clear","Dialog","WIDTH","Flag","Process","TODO","DOING","DONE","_vm","this","_h","$createElement","_c","_self","attrs","staticClass","class","$i18n","locale","_v","active","activeTrainData","disabledTrainData","domProps","_s","$t","on","toTrainData","activeKCList","disabledKCList","toKCList","activeTrainResult","disabledTrainResult","toTrainResult","activePredictData","disabledPredictData","toPredictData","activePredictResult","disabledPredictResult","toPredictResult","scopedSlots","_u","fn","ref","_g","model","callback","$$v","isCheatSheets","expression","_e","resetAll","staticStyle","staticRenderFns","response","_response","httpStatusCode","status","isHttpError","code","error_code","subcode","error_subcode","message","error_message","title","needCloseAndReload","needClearToken","needInit","messageKey","errResponse","method","url","headers","withToken","isCalling","errorCodeTable","authToken","sessionModule","timeout","timeoutMS","errorDialogData","_createErrorDialogData","res","statusCode","err","requestApi","token","csv","formdata","FormData","append","language","rowNumber","includes","200","2006","8","9","4001","0","4002","6001","400","2001","2002","2003","2004","2005","1","2","3","4","5","6","7","10","11","12","3001","3002","3003","5001","401","1001","404","3004","5003","500","800","999","nowCalling","Store","rawData","_ScoreHeaders","_hiddenParamsHeaders","_headers","_values","scores","bestParams","bestScores","_rawData","_separateParamsAndScores","_setBestValue","index","currentMaxFvalue","fvalue","_bestValueIndex","header","isScore","val","vals","map","row","round","number","precision","reverseShift","numArray","split","Math","_posArrays","_posObjects","_negArrays","_negObjects","_weightNotZeroArrays","_weightNotZeroObjects","_posLimit","_negLimit","_headerToindex","_separatePosNeg","weightNotZeroArrays","weightNotZeroObjects","posArrays","posObjects","negArrays","negObjects","weightIndex","labelIndex","nposIndex","nnegIndex","dataList","sortedData","sort","a","b","chunk","k","isNaN","npos","weight","unshift","inputDataHeaders","selectedCase","selectedId","selectedLanguage","_data","last_index","_withResults","newData","i18n","results","resultHeaders","newHeaders","concat","fetchByIndex","newRow","predict","probability","_index","_probability","_predict","_rawdata","_rowObjects","_rawDataToObject","ret","isLabel","validCount","invalidCount","countsForLabel","type","labels","categories","label","totalCount","invalidRatio","category","_addLabel","_addCategories","_calcInvalidRatio","ratio","_statistics","_trainData","trainColumns","column","addData","processAfterAllData","_isAggregated","_aggregate","numberData","stringData","_predictData","predictColumns","calcInvalidRatio","sortCategory","uuid","agreed","listed","kclistData","trained","trainingDataUploaded","trainingData","inputTrainingDataHeaders","preprocessedTrainingData","trainKnowledgeChunks","trainPersonalIndexBefore","trainPersonalIndexAfter","trainPersonalChunksBefore","trainPersonalChunksAfter","trainDataStatistics","trainParams","enabledPredictPhase","predicted","predictDataUploaded","predictData","inputPredictDataHeaders","preprocessedPredictData","predictPersonalIndexBefore","predictPersonalIndexAfter","predictPersonalChunksBefore","predictPersonalChunksAfter","predictDataStatistics","predictResults","currentRouterViewTrials","currentRouterViewKCList","currentRouterViewTrainData","currentRouterViewTrainResult","currentRouterViewTrainResultAll","currentRouterViewPredictData","currentRouterViewPredictResult","confirmDialogData","notificationDialogData","newUuid","flag","newToken","newIdx","route","confirm","notification","SET_UUID","SET_AGREED","SET_AUTHTOKEN","format","formatPredict","SET_LISTED","SET_KCLIST_DATA","SET_TRAINED","SET_TRAINING_DATA_UPLOADED","SET_TRAINING_DATA","SET_INPUT_TRAINING_DATA_HEADERS","SET_PREPROCESSED_TRAINING_DATA","SET_TRAIN_CHUNKS","SET_TRAIN_PERSONAL_INDEX_BEFORE","SET_TRAIN_PERSONAL_INDEX_AFTER","SET_TRAIN_PERSONAL_CHUNKS_BEFORE","SET_TRAIN_PERSONAL_CHUNKS_AFTER","SET_TRAIN_PARAMS","SET_TRAIN_DATA_STATISTICS","SET_ROUTE_TRIALS","SET_ROUTE_TRAIN_DATA","SET_ROUTE_KC_LIST","SET_ROUTE_TRAIN_RESULT","SET_ROUTE_TRAIN_RESULT_ALL","SET_CONFIRM_DIALOG_DATA","SET_NOTIFICATION_DIALOG_DATA","SET_ERROR_DIALOG_DATA","SET_ENABLED_PREDICT_PHASE","SET_PREDICTED","SET_PREDICT_DATA_UPLOADED","SET_PREDICT_DATA","SET_INPUT_PREDICT_DATA_HEADERS","SET_PREPROCESSED_PREDICT_DATA","SET_PREDICT_PERSONAL_INDEX_BEFORE","SET_PREDICT_PERSONAL_INDEX_AFTER","SET_PREDICT_PERSONAL_CHUNKS_BEFORE","SET_PREDICT_PERSONAL_CHUNKS_AFTER","SET_PREDICT_DATA_STATISTICS","SET_PREDICT_RESULTS","SET_ROUTE_PREDICT_DATA","SET_ROUTE_PREDICT_RESULT","getErrorDialogData","location","href","getToken","showErrorDialog","registTrainingSet","getTrainingSet","trainingSet","trainData","getInputTrainingDataHeaders","statistics","caseId","fileId","selectTrainingSet","startCreateModel","getModelCreationState","getKcListForModel","kcList","getParams","paramsAndScores","isPreprocessed","getPersonalChunksForTraingSet","registPredictSet","getPredictSet","predictSet","getInputPredictDataHeaders","selectPredictSet","startPredict","getPredictState","getPredictResult","responseResults","original","getPredictData","createWithResult","getPersonalChunksForPredictSet","dynamic","store","namespaced","titleKey","yesHandler","noHandler","_titleKey","_messageKey","$route","path","$router","replace","currentContent","content","viewContent","self","showConfirmDialog","getCurrentRouterViewTrials","startsWith","isListed","isTrained","isPredicted","getTrainingData","getListed","getTrained","getEnabledPredictPhase","getPredicted","component","VAppBar","VBtn","VCard","VContainer","VContent","VDialog","VImg","VToolbarItems","VToolbar","VTooltip","canTrained","nextBtnColorBg","isTraining","toKCTraining","proxy","getCurrentRouterViewKCList","VProgressCircular","VSpacer","defaultSortBy","caption","chunkItems","itemsPerPage","sortBy","sortDesc","footerProps","full_index_item_name","item","label_header_name","index_header_name","full_label_item_name","full_label_header_name","text","makeDataSet","dataSet","tmp_item","showIndex","assign","align","keys","highlightsLabel","default","undefined","VDataTable","setTableData","newVal","listData","getKCListData","showHeaders","nposKey","obj","len","nneg","components","DataTable","VCardText","VCol","VRow","intervalMs","trainState","getTrainResult","training","goBack","setTimeout","go","ProgressItem","activeUpload","disabledUpload","isListable","toUpload","activeStatistics","disabledStatistics","toStatistics","canListing","isListing","toGettingKcList","clearBtnColorBg","$event","preventDefault","onDrop","$refs","fileInput","click","_t","LIMIT_SIZE","event","dropFile","target","files","dataTransfer","size","fileExtention","pop","buf","File","Blob","reader","FileReader","onload","binaryData","Uint8Array","encode","detect","unicodeString","convert","to","from","jsonString","parse","dynamicTyping","skipEmptyLines","purpose","readAsArrayBuffer","console","error","getCurrentRouterViewTrainData","isAggregated","getTrainDataStatistics","DragDrop","selectionItems","onChange","caseStudyCSVs","caseStudyHeaders","animals","election","covid","defect_prevention","initialize","purposeId","filter","VSelect","getTrainingDataUploaded","CsvSelector","labelName","colors","selector","toHistogram","infoList","allData","isAllInteger","uniqueValues","info","Number","isInteger","minValue","min","maxValue","max","series","binsCountThreshold","binsCount","floor","sqrt","binWidth","values","begin","end","buildHistogramResponse","thresholds","createThresholds","Array","fill","threshold","createThresholdsForInt","createThresholdsForFloat","lastIndex","_drawChart","convertedData","chartParam","chart","credits","enabled","xAxis","yAxis","legend","plotOptions","accessibility","pointDescriptionFormatter","point","ix","x1","x","toFixed","x2","y","pointPadding","borderWidth","groupPadding","shadow","dataLabels","String","colorByPoint","xTitle","yTitle","tooltip","headerFormat","pointFormat","labelColumn","columns","Histogram","BarChart","_l","count","VSimpleTable","VTab","VTabItem","VTabs","inputTypeNumber","legendTitle","stacking","drawChart","color","stackLabels","style","fontWeight","defaultOptions","MultiLabelHistogram","MultiLabelBarChart","TrainDataStatisticsAll","TrainDataStatisticsNa","TrainDataStatisticsLabels","listedState","getKcList","createResult","pooling","milliSeconds","Promise","resolve","reject","isformatted","kcListResult","activeAll","disabledAll","toAll","activeData","disabledData","toData","goPredictPhase","getCurrentRouterViewTrainResult","toParams","marginTop","showPieChart","chartSelector","selected","posColor","negColor","directives","rawName","tableDataPos","defaultSortPos","tableDataNeg","defaultSortNeg","standby","backgroundColor","plotBackgroundColor","plotBorderWidth","plotShadow","height","verticalAlign","pie","distance","startAngle","endAngle","center","innerSize","turboThreshold","random","toString","substring","reloadSummary","canDrawChart","nextTick","isPredict","n_pos","n_neg","prediction","getPredictResults","selectedIndex","showNotificationDialog","chartData","posData","negData","hasCorrectedWeight","picker","criterion","abs","setPieChartData","weightKey","required","VBtnToggle","KCSummary","formatScore","scoresDataSet","getTrainParams","forEach","isFinite","VFlex","VLayout","currentPage","getCurrentRouterViewTrainResultAll","TrainResultKC","TrainResultParams","tableData","selectHandler","withResult","rowClickHander","selectId","item_0","currentRow","canSelect","sortable","defaultSortHeaders","prevRow","select","clearSelected","isSelected","rollbackSelected","VChip","VRadio","VRadioGroup","SingleSelectDataTable","getPersonalChunksForTrainingSet","getTrainPersonalChunksBefore","getTrainPersonalIndexBefore","KCListAndDetail","getPreprocessedTrainingData","getTrainPersonalChunksAfter","TrainResultDataBefore","TrainResultDataAfter","isPredictable","isPredicting","getCurrentRouterViewPredictData","getPredictDataStatistics","getPredictDataUploaded","VList","VListItemAction","VListItemContent","PredictDataStatisticsNa","PredictDataStatisticsAll","predictedState","predicting","predictResult","predictResultResult","getCurrentRouterViewPredictResult","changeLocale","dataWithResult","getPredictPersonalChunksBefore","getPredictPersonalIndexBefore","getPreprocessedPredictData","getPredictPersonalChunksAfter","PredictResultDataBefore","PredictResultDataAfter","router","base","routes","children","highcharts","localeItems","width","closeDialog","isShow","oldVal","dialogData","closeConfirmDialog","getConfirmDialogData","VCardActions","VCardTitle","VDivider","closeNotificationDialog","getNotificationDialogData","closeErrorDialog","VAlert","SC","currentUrl","URL","isAgreed","document","referrer","origin","init","referrerStr","referrerUrl","needQuery","searchParams","LocalizationMixin","ContentHeader","ContentFooter","ConfirmDialog","NotificationDialog","ErrorDialog","VApp","config","productionTip","errorHandler","vm","vuetify","render","h","$mount"],"mappings":"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","file":"js/trials.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"trials\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\",\"chunk-common\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import Vue from 'vue';\nimport Vuetify from 'vuetify/lib';\nimport VueI18n from '../i18n';\n\nVue.use(Vuetify);\n\nexport default new Vuetify({\n lang: {\n t: (key, ...params) => VueI18n.t(key, params),\n },\n});\n","/* 定数定義 */\nexport namespace SysConst {\n /* Router Path */\n export namespace Path {\n /* アプリケーションが配置されるパス */\n export const APP_BASE = '/trials/';\n\n /* ROOT */\n export const ROOT = '/';\n\n /* プライバシーポリシー */\n export const PRIVACY_POLICY = '/tos';\n\n /* 試行 メニュー */\n export const TRIALS_MENU = '/trials';\n\n /* 学習 データ メニュー */\n export const TRAIN_DATA_MENU = '/train/data';\n\n /* 学習 データ アップロード */\n export const TRAIN_DATA_UPLOAD = '/train/data/upload';\n\n /* 学習 データ 統計情報 */\n export const TRAIN_DATA_STATISTICS = '/train/data/statistics';\n\n /* 学習 データ 統計情報 欠損値*/\n export const TRAIN_DATA_STATISTICS_NA = '/train/data/statistics/na';\n\n /* 学習 データ 統計情報 ラベル*/\n export const TRAIN_DATA_STATISTICS_LABELS = '/train/data/statistics/labels';\n\n /* 学習データ KC取得中 */\n export const TRAIN_DATA_GETTING_KC_LIST = '/train/data/getting/kc';\n\n /* Knowledge Chunk メニュー */\n export const TRAIN_KC_MENU = '/train/kc';\n\n /* Knowledge Chunk 列挙 */\n export const TRAIN_KC_LIST = '/train/kc/list';\n\n /* Knowledge Chunk 学習中 */\n export const TRAIN_KC_TRAINING = '/train/kc/training';\n\n /* 学習 結果 メニュー */\n export const TRAIN_RESULT_MENU = '/train/result';\n\n /* 学習 結果 全体 */\n export const TRAIN_RESULT_ALL = '/train/result/all';\n\n /* 学習 結果 パラメータ */\n export const TRAIN_RESULT_ALL_PARAMS = '/train/result/all/params';\n\n /* 学習 結果 Knowledge Chunks */\n export const TRAIN_RESULT_ALL_KC = '/train/result/all/kc';\n\n /* 学習 結果 データ一覧 */\n export const TRAIN_RESULT_DATA = '/train/result/data';\n\n /* 学習 結果 データ一覧 バイナリ化前 */\n export const TRAIN_RESULT_DATA_BEFORE = '/train/result/data/before';\n\n /* 学習 結果 データ一覧 バイナリ化後 */\n export const TRAIN_RESULT_DATA_AFTER = '/train/result/data/after';\n\n /* 予測 データ メニュー */\n export const PREDICT_DATA_MENU = '/predict/data';\n\n /* 予測 データ アップロード */\n export const PREDICT_DATA_UPLOAD = '/predict/data/upload';\n\n /* 予測 データ 統計情報 */\n export const PREDICT_DATA_STATISTICS = '/predict/data/statistics';\n\n /* 予測 データ 統計情報 全体*/\n export const PREDICT_DATA_STATISTICS_ALL = '/predict/data/statistics/all';\n\n /* 予測 データ 統計情報 欠損値*/\n export const PREDICT_DATA_STATISTICS_NA = '/predict/data/statistics/na';\n\n /* 予測 データ 予測中 */\n export const PREDICT_DATA_PREDICTING = '/predict/data/predicting';\n\n /* 予測 結果 メニュー */\n export const PREDICT_RESULT_MENU = '/predict/result';\n\n /* 予測 結果 データ一覧 */\n export const PREDICT_RESULT_DATA = '/predict/result/data';\n }\n\n /* 事例サンプルデータ名 */\n export namespace Samples {\n /* マーケティング */\n export const MARKETING = 'marketing';\n\n /* ヘルスケア */\n export const HEALTHCARE = 'healthcare';\n\n /* 金融 */\n export const FINANCE = 'finance';\n\n /* 中学生向け */\n export const FOR_MIDDLE_SCHOOLER = 'middle_schooler';\n }\n\n /* バックエンドAPI */\n export namespace Api {\n /* パス */\n export namespace Path {\n /* トークン取得 */\n export const GET_TOKEN = '/api/token';\n\n /* トークン取り消し */\n export const DELETE_TOKEN = '/api/token';\n\n /* 学習データ登録 */\n export const REGIST_TRAINING_SETS = '/api/training_sets';\n\n /* 学習データ指定 */\n export const SELECT_TRAINING_SETS = '/api/training_sets/select';\n\n /* 最後にアップロードした学習データ取得 */\n export const GET_TRAINING_SETS = '/api/training_sets/current';\n\n /* モデル作成要求 */\n export const START_CREATE_MODEL = '/api/models';\n\n /* 作成が完了したモデルの学習データの行毎のナレッジチャンク取得 */\n export const GET_KC_FOR_TRAINING_SET = '/api/models/current/individuals/';\n\n /* 作成が完了したモデルのナレッジチャンク取得 */\n export const GET_KC_LIST_FOR_MODEL = '/api/models/current/knowledgechunk';\n\n /* 作成が完了したモデルの学習パラメータとスコア取得 */\n export const GET_PARAMS_AND_SCORES = '/api/models/current/parameter';\n\n /* 作成が完了したモデルの学習データ取得 */\n export const GET_PREPROCESSED_TRAINING_SETS = '/api/models/current/prepared_set';\n\n /* モデル作成要求の進捗状況取得 */\n export const GET_MODEL_CREATION_STATE = '/api/models/current/status';\n\n /* 予測データ登録 */\n export const REGIST_PREDICTION_SETS = '/api/prediction_sets';\n\n /* 予測データ選択 */\n export const SELECT_PREDICTION_SETS = '/api/prediction_sets/select';\n\n /* 最後にアップロードした予測データ取得 */\n export const GET_PREDICTION_SETS = '/api/prediction_sets/current';\n\n /* 予測要求 */\n export const START_PREDICTION = '/api/predictions';\n\n /* 完了した予測データの行毎のナレッジチャンク取得 */\n export const GET_KC_FOR_PREDICTION_SET = '/api/predictions/current/individuals/';\n\n /* 完了した予測の予測データ取得 */\n export const GET_PREPROCESSED_PREDICTION_SETS = '/api/predictions/current/prepared_set';\n\n /* 完了した予測の結果取得 */\n export const GET_PREDICTION_RESULT = '/api/predictions/current/result';\n\n /* 予測要求の進捗状況取得 */\n export const GET_PREDICTION_STATE = '/api/predictions/current/status';\n }\n }\n /* 入力データ(CSV) */\n export namespace InputData {\n /* データ型 */\n export namespace Type {\n /* 文字列データ */\n export const STRING = 'string';\n\n /* 数値データ */\n export const NUMBER = 'number';\n }\n }\n export namespace OutputData {\n export namespace KC {\n export namespace Limit {\n export const POS = 50;\n export const NEG = 50;\n }\n }\n }\n /* 色 */\n export namespace Color {\n /* ポジティブ */\n export const POSITIVE = '#ff5eD8';\n /* ネガティブ */\n export const NEGATIVE = '#748aff';\n /* ボタン */\n export namespace Button {\n export namespace Next {\n export const BG = '#24C6F2';\n }\n export namespace Clear {\n export const BG = '#999999';\n }\n }\n }\n /* ダイアログ */\n export namespace Dialog {\n /* 幅 */\n export const WIDTH = 900;\n }\n /* フラグ */\n export namespace Flag {\n /* 処理の状態 */\n export namespace Process {\n /* 未実施 */\n export const TODO = 0;\n /* 実施中 */\n export const DOING = 1;\n /* 実施済 */\n export const DONE = 2;\n }\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"trials-menu\"}},[_c('v-app-bar',{staticClass:\"main-menu\",attrs:{\"flat\":\"\"}},[_c('div',{class:_vm.$i18n.locale,attrs:{\"id\":\"box01\"}},[_c('h2',[_vm._v(\"Training Phase\")])]),_c('div',{class:_vm.$i18n.locale,attrs:{\"id\":\"box02\"}},[_c('h2',[_vm._v(\"Test Phase\")])]),_c('v-toolbar-items',{staticClass:\"pa-1\"},[_c('v-btn',{class:{ active: _vm.activeTrainData },attrs:{\"text\":\"\",\"disabled\":_vm.disabledTrainData,\"ripple\":false},domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.menu.step1.label'))},on:{\"click\":_vm.toTrainData}}),_c('v-btn',{class:{ active: _vm.activeKCList },attrs:{\"text\":\"\",\"disabled\":_vm.disabledKCList,\"ripple\":false},domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.menu.step2.label'))},on:{\"click\":_vm.toKCList}}),_c('v-btn',{class:{ active: _vm.activeTrainResult },attrs:{\"text\":\"\",\"disabled\":_vm.disabledTrainResult,\"ripple\":false},domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.menu.step3.label'))},on:{\"click\":_vm.toTrainResult}}),_c('v-btn',{class:{ active: _vm.activePredictData },attrs:{\"text\":\"\",\"disabled\":_vm.disabledPredictData,\"ripple\":false},domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.menu.step4.label'))},on:{\"click\":_vm.toPredictData}}),_c('v-btn',{class:{ active: _vm.activePredictResult },attrs:{\"text\":\"\",\"disabled\":_vm.disabledPredictResult,\"ripple\":false},domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.menu.step5.label'))},on:{\"click\":_vm.toPredictResult}})],1)],1),_c('v-content',[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('router-view',{staticClass:\"mid-component\"})],1)],1),_c('v-dialog',{attrs:{\"width\":\"unset\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',{attrs:{\"id\":\"cheatSheets\"}},[_c('a',_vm._g({},on),[_vm._v(_vm._s(_vm.$t('trials.menu.cheat_sheet.label')))])])]}}]),model:{value:(_vm.isCheatSheets),callback:function ($$v) {_vm.isCheatSheets=$$v},expression:\"isCheatSheets\"}},[_c('v-card',[(_vm.activeTrainData || _vm.activeKCList)?_c('img',{staticClass:\"cheatSheet\",attrs:{\"src\":_vm.$t('trials.menu.cheat_sheet.img_url_train_data')}}):_vm._e(),(_vm.activeTrainResult)?_c('img',{staticClass:\"cheatSheet\",attrs:{\"src\":_vm.$t('trials.menu.cheat_sheet.img_url_train_result')}}):_vm._e(),(_vm.activePredictData)?_c('img',{staticClass:\"cheatSheet\",attrs:{\"src\":_vm.$t('trials.menu.cheat_sheet.img_url_predict_data')}}):_vm._e(),(_vm.activePredictResult)?_c('img',{staticClass:\"cheatSheet\",attrs:{\"src\":_vm.$t('trials.menu.cheat_sheet.img_url_predict_result')}}):_vm._e()])],1),_c('div',{attrs:{\"id\":\"allReset\"}},[_c('a',{on:{\"click\":_vm.resetAll}},[_vm._v(_vm._s(_vm.$t('trials.menu.reset'))+\" \"),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-img',_vm._g({staticStyle:{\"height\":\"16px\",\"width\":\"16px\",\"margin-top\":\"4px\"},attrs:{\"src\":\"/assets/image/help_b.png\"}},on))]}}])},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.help00.create_kc'))}})])],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AxiosResponse } from 'axios';\n\n/**\n * エラーレスポンス用のデータを保持するクラス\n */\nexport default class ErrorResponse {\n /**\n * レスポンスデータ\\\n * axiosが生成するレスポンスデータをそのまま保持する想定\n */\n private _response: AxiosResponse;\n\n /**\n * コンストラクタ\n * @param response レスポンスデータ\n */\n constructor(response: AxiosResponse) {\n this._response = response;\n }\n\n /**\n * getter http status error かどうか\n */\n public get isHttpError() {\n return this.httpStatusCode >= 400;\n }\n\n /**\n * getter http status code 取得\n */\n public get httpStatusCode(): any {\n return this._response.status;\n }\n\n /**\n * getter バックエンドが付与するエラーコード取得\n */\n public get code(): any {\n return this.isHttpError ? this._response.data.code : this._response.data.error_code;\n }\n\n /**\n * getter バックエンドが付与するエラーのサブコード取得\n */\n public get subcode(): number {\n return this.isHttpError ? this._response.data.subcode : this._response.data.error_subcode;\n }\n\n /**\n * getter バックエンドが付与するエラーメッセージ取得\n */\n public get message(): string {\n return this.isHttpError ? this._response.data.message : this._response.data.error_message;\n }\n\n /**\n * getter バックエンドが付与するステータス取得\n */\n public get status(): string {\n return this.isHttpError ? '' : this._response.data.status;\n }\n}\n","import ErrorResponse from '@/trials/domain/objects/errorResponse';\n\n/**\n * エラーダイアログ用のデータを保持するクラス\n */\nexport default class ErrorDialogData {\n /**\n * タイトルで使用するキー\\\n * i18nで設定されているキーの形式\n */\n public title: string = 'error.title';\n\n /**\n * メッセージで使用するキー\\\n * i18nで設定されているキーの形式\n */\n public messageKey: string;\n\n /**\n * ダイアログを閉じた際にリロードが必要か\n */\n public needCloseAndReload: boolean = false;\n\n /**\n * ダイアログを閉じた際にトークンのクリアが必要か\n */\n public needClearToken: boolean = false;\n\n /**\n * ダイアログを閉じた際に初期化が必要か\n */\n public needInit: boolean = false;\n\n /**\n * APIのレスポンスエラーの場合、レスポンスを保持\n */\n public errResponse: ErrorResponse | null;\n\n /**\n * コンストラクタ\n * @param key メッセージ用キー\n * @param response APIレスポンス\n */\n constructor(key: string = 'error.message.default', response: ErrorResponse | null = null) {\n this.messageKey = key;\n this.errResponse = response;\n }\n}\n","import axios, { AxiosResponse, Method } from 'axios';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\nimport ErrorResponse from '@/trials/domain/objects/errorResponse';\nimport ErrorDialogData from '@/trials/exceptions/errorDialogData';\n\nexport default class Api {\n /**\n * API呼び出しを行っているか\n */\n private static isCalling: boolean = false;\n\n /**\n * タイムアウト 30秒\n */\n private static timeoutMS: number = 30 * 1000;\n\n /**\n * エラーコードのテーブル\n * http status code > error_code > error_subcode > messegeKeyの形式\n */\n private static errorCodeTable: any = {\n 200: {\n 2006: {\n 8: 'error.message.file.preprocessedColumCountFew', // 前処理後データの列数が少なすぎます\n 9: 'error.message.file.preprocessedColumCountMany', // 前処理後データの列数が多すぎます\n },\n 4001: {\n 0: 'error.message.unauthorized', // トークンが無効です\n },\n 4002: {\n 0: 'error.message.default', // 新しいモデル作成要求が存在します\n },\n 6001: {\n 0: 'error.message.predict.unmatchColumn', // 列名が学習時と一致していません\n },\n },\n 400: {\n 2001: {\n 0: 'error.message.default', // ファイルパートが存在しません\n },\n 2002: {\n 0: 'error.message.default', // コンテンツタイプが不正です\n },\n 2003: {\n 0: 'error.message.file.name', // ファイル名が不正です\n },\n 2004: {\n 0: 'error.message.file.encode', // ファイルのエンコーディングが不正です\n },\n 2005: {\n 0: 'error.message.file.format', // ファイルのフォーマットが不正です\n },\n 2006: {\n 1: 'error.message.file.columnCount', // 列数が不正です\n 2: 'error.message.file.rowCount', // 行数が不正です\n 3: 'error.message.file.dupuricateIndex', // インデックスの値が重複しています\n 4: 'error.message.file.dupuricateColumn', // 列名が重複しています\n 5: 'error.message.file.labelNa', // ラベルの値に欠損値が含まれています\n 6: 'error.message.file.labelValue', // ラベルに0、1以外の値が含まれています\n 7: 'error.message.file.allSameLabel', // ラベルの値が全て同じです\n 10: 'error.message.file.insufficientAll', // POSとNEGラベルのデータが不足しています\n 11: 'error.message.file.insufficientPos', // POSラベルのデータが不足しています\n 12: 'error.message.file.insufficientNeg', // NEGラベルのデータが不足しています\n },\n 3001: {\n 0: 'error.message.default', // 学習データが存在しません\n },\n 3002: {\n 0: 'error.message.alreadyExec', // 未完了のモデル作成要求が存在します, 未完了の推論実行要求が存在します\n },\n 3003: {\n 0: 'error.message.default', // WLモデルが存在しません\n },\n 5001: {\n 0: 'error.message.default', // 推論データが存在しません\n },\n },\n 401: {\n 1001: {\n 0: 'error.message.unauthorized', // トークン不正\n },\n },\n 404: {\n 3001: {\n 0: 'error.message.default', // 学習データが存在しません\n },\n 3002: {\n 0: 'error.message.default', // 未完了のモデル作成要求が存在します\n },\n 3003: {\n 0: 'error.message.default', // WLモデルが存在しません\n },\n 3004: {\n 0: 'error.message.nodata', // 行が存在しません\n },\n 5001: {\n 0: 'error.message.retry', // 推論データが存在しません\n },\n 5003: {\n 0: 'error.message.default', // 推論結果が存在しません\n },\n },\n 500: 'error.message.default', // internal server error\n 800: 'error.message.default', // connection error\n 999: 'error.message.default', // 該当しないエラーコード\n nowCalling: 'error.message.nowCalling', // 通信中\n };\n\n /**\n * API呼び出し\n * @param method string GET | POST\n * @param url string\n * @param params object | FormData\n * @param headers object 追加ヘッダー\n * @param withToken boolean header に api用tokenを付与するか\n */\n private static async requestApi(\n method: Method = 'GET',\n url: string = '',\n params: { [key: string]: string } | FormData = {},\n headers: { [key: string]: string } = {},\n withToken: boolean = true\n ) {\n /**\n * API呼び出し中の場合、ここで終了\n */\n if (this.isCalling) {\n throw new ErrorDialogData(this.errorCodeTable['nowCalling']);\n } else {\n this.isCalling = true;\n }\n\n /**\n * token付与\n */\n const authToken = sessionModule.authToken;\n if (withToken && authToken != '') {\n headers['Authorization'] = `Bearer ${authToken}`;\n }\n\n try {\n /**\n * API call\n */\n const response: AxiosResponse = await axios({\n method: method,\n url: url,\n data: params,\n headers: headers,\n timeout: this.timeoutMS,\n });\n\n /**\n * 内部的なエラー\n * API個別のエラーは各API用メソッド内でエラー処理\n */\n if (response.data.error_code && response.data.error_code != 0) {\n const errorDialogData = this._createErrorDialogData(response);\n throw errorDialogData;\n }\n\n return response.data;\n } catch (err) {\n if (err instanceof ErrorDialogData) {\n throw err;\n }\n\n /**\n * connection error\n */\n if (!err.response) {\n const errorDialogData = new ErrorDialogData(this.errorCodeTable[800]);\n throw errorDialogData;\n }\n\n /**\n * 40X, 50X系 error\n */\n if (err.response.status >= 400) {\n const errorDialogData = this._createErrorDialogData(err.response);\n if (err.response.status == 401 || err.response.status >= 500) {\n // 認証エラー、internal server error は\n // ダイアログを閉じた後にブラウザリロード\n errorDialogData.needCloseAndReload = true;\n\n // 承認エラーであればトークンクリア\n if (err.response.status == 401) {\n errorDialogData.needClearToken = true;\n }\n }\n throw errorDialogData;\n }\n\n throw err;\n } finally {\n this.isCalling = false;\n }\n }\n\n /**\n * エラーダイアログ用データを生成\n * @param response レスポンスデータ\n */\n private static _createErrorDialogData(response: AxiosResponse): ErrorDialogData {\n const res = new ErrorResponse(response);\n const statusCode = res.httpStatusCode;\n const code = res.code;\n const subcode = res.subcode;\n\n /**\n * エラーコードテーブルからmessageKeyを取得\n */\n if (\n this.errorCodeTable[statusCode] &&\n this.errorCodeTable[statusCode][code] &&\n this.errorCodeTable[statusCode][code][subcode]\n ) {\n return new ErrorDialogData(this.errorCodeTable[statusCode][code][subcode], res);\n }\n\n /**\n * 想定していないエラーなので、ページリロード\n */\n const err = new ErrorDialogData(this.errorCodeTable[999]);\n err.needCloseAndReload = true;\n return err;\n }\n\n /**\n * API用token取得\n */\n public static async getToken(): Promise {\n const url = SC.Api.Path.GET_TOKEN;\n const response = await this.requestApi('POST', url, {}, {}, false);\n return response.token;\n }\n\n /**\n * 学習データ用CSVファイルをサーバーに送信して登録\n * @param csv File 学習データ用csvファイルオブジェクト\n */\n public static async registTrainingSet(csv: File): Promise {\n const url = SC.Api.Path.REGIST_TRAINING_SETS;\n const formdata = new FormData();\n formdata.append('file', csv, csv.name);\n\n await this.requestApi('POST', url, formdata);\n }\n\n /**\n * 学習データ用CSVファイルとして使用する事例IDをサーバー送信して登録\n * @param name string 学習データ名\n * @param language string 学習データ言語\n */\n public static async selectTrainingSet(name: string, language: string): Promise {\n const url = SC.Api.Path.SELECT_TRAINING_SETS;\n const data = {name, language}\n\n await this.requestApi('POST', url, data);\n }\n\n /**\n * 最後にアップロードした学習データを取得\n */\n public static async getTrainingSet(): Promise {\n const url = SC.Api.Path.GET_TRAINING_SETS;\n\n const response = await this.requestApi('GET', url);\n return response;\n }\n\n /**\n * 学習開始(WLモデル作成要求)\n */\n public static async startCreateModel(): Promise {\n const url = SC.Api.Path.START_CREATE_MODEL;\n\n await this.requestApi('POST', url);\n }\n\n /**\n * 最後に作成完了したWLモデルの行毎のナレッジチャンク取得\n */\n public static async getPersonalChunksForTraingSet(rowNumber: number): Promise {\n const url = `${SC.Api.Path.GET_KC_FOR_TRAINING_SET}${rowNumber}`;\n const response = await this.requestApi('GET', url);\n return response;\n }\n\n /**\n * 作成が完了したWLモデルのナレッジチャンク取得\n */\n public static async getKcListForModel(): Promise {\n const url = SC.Api.Path.GET_KC_LIST_FOR_MODEL;\n\n const response = await this.requestApi('GET', url);\n return response;\n }\n\n /**\n * 最後に作成が完了したWLモデルの学習パラメータとスコア取得\n */\n public static async getParams(): Promise {\n const url = SC.Api.Path.GET_PARAMS_AND_SCORES;\n\n const response = await this.requestApi('GET', url);\n return response;\n }\n\n /**\n * 作成が完了したWLモデルの前処理済みデータ取得\n */\n public static async getPreprocessedTrainingSet(): Promise {\n const url = SC.Api.Path.GET_PREPROCESSED_TRAINING_SETS;\n\n const response = await this.requestApi('GET', url);\n return response;\n }\n\n /**\n * 最後に作成要求したWLモデルのステータス取得\n */\n public static async getModelCreationState(): Promise {\n const url = SC.Api.Path.GET_MODEL_CREATION_STATE;\n\n try {\n const response = await this.requestApi('GET', url);\n return response.status;\n } catch (err) {\n if (err instanceof ErrorDialogData) {\n if (err.errResponse && err.errResponse.code == 4001) {\n // トークン無効の場合は、リロード\n err.needClearToken = true;\n err.needCloseAndReload = true;\n }\n }\n\n throw err;\n }\n }\n\n /**\n * 予測データ用CSVファイルをサーバーに送信して登録\n * @param csv File 予測データ用csvファイルオブジェクト\n */\n public static async registPredictSet(csv: File): Promise {\n const url = SC.Api.Path.REGIST_PREDICTION_SETS;\n const formdata = new FormData();\n formdata.append('file', csv, csv.name);\n\n try {\n await this.requestApi('POST', url, formdata);\n } catch (err) {\n if (err instanceof ErrorDialogData && err.errResponse) {\n // 400\n if (\n err.errResponse.httpStatusCode == 400 &&\n [2001, 2002].includes(err.errResponse.code)\n ) {\n err.messageKey = 'error.message.retry';\n }\n }\n\n throw err;\n }\n }\n\n /**\n * 予測データ用CSVファイルとして使用する事例IDをサーバー送信して登録\n * @param name string 予測データ名\n * @param language string 予測データ言語\n */\n public static async selectPredictSet(name: string, language: string): Promise {\n const url = SC.Api.Path.SELECT_PREDICTION_SETS;\n const data = {name, language}\n\n await this.requestApi('POST', url, data);\n }\n\n /**\n * 最後にアップロードした予測データを取得\n */\n public static async getPredictSet(): Promise {\n const url = SC.Api.Path.GET_PREDICTION_SETS;\n\n const response = await this.requestApi('GET', url);\n return response;\n }\n\n /**\n * 予測開始\n */\n public static async startPredict(): Promise {\n const url = SC.Api.Path.START_PREDICTION;\n\n await this.requestApi('POST', url);\n }\n\n /**\n * 最後に実行完了した予測の行毎のナレッジチャンク取得\n */\n public static async getPersonalChunksForPredictSet(rowNumber: number): Promise {\n const url = `${SC.Api.Path.GET_KC_FOR_PREDICTION_SET}${rowNumber}`;\n\n try {\n const response = await this.requestApi('GET', url);\n return response;\n } catch (err) {\n if (err instanceof ErrorDialogData && err.errResponse) {\n if (err.errResponse.code == 5003) {\n err.needCloseAndReload = true;\n }\n }\n\n throw err;\n }\n }\n\n /**\n * 最後に実行完了した予測の前処理済みデータ取得\n */\n public static async getPreprocessedPredictSet(): Promise {\n const url = SC.Api.Path.GET_PREPROCESSED_PREDICTION_SETS;\n\n const response = await this.requestApi('GET', url);\n return response;\n }\n\n /**\n * 最後に実行完了した予測の結果データ取得\n */\n public static async getPredictResult(): Promise {\n const url = SC.Api.Path.GET_PREDICTION_RESULT;\n\n const response = await this.requestApi('GET', url);\n return response;\n }\n\n /**\n * 最後に実行要求した予測のステータス取得\n */\n public static async getPredictState(): Promise {\n const url = SC.Api.Path.GET_PREDICTION_STATE;\n\n try {\n const response = await this.requestApi('GET', url);\n return response.status;\n } catch (err) {\n if (err instanceof ErrorDialogData) {\n if (err.errResponse && err.errResponse.code == 4001) {\n // トークン無効の場合は、リロード\n err.needClearToken = true;\n err.needCloseAndReload = true;\n }\n }\n\n throw err;\n }\n }\n}\n","import Vue from 'vue';\nimport Vuex from 'vuex';\nimport { ISessionState } from '@/trials/store/modules/session';\n\nVue.use(Vuex);\n\nexport interface State {\n session: ISessionState;\n}\nexport default new Vuex.Store({});\n","/**\n * 学習パラメータとスコアを保持するクラス\n */\nexport default class TrainParams {\n /**\n * 生データ\\\n * 最後に作成完了したWLモデルの学習パラメータとスコア取得APIのレスポンスを想定しています。\n */\n private _rawData: any[];\n\n /**\n * スコアとして使用するデータのキー\n */\n private _ScoreHeaders: string[] = ['fvalue', 'precision', 'recall'];\n\n /**\n * パラメータとして表示しないデータのキー\n */\n private _hiddenParamsHeaders: string[] = ['penalty', 'C'];\n\n /**\n * 生データのヘッダー\n */\n private _headers: string[] = [];\n\n /**\n * 生データの値(ヘッダー以外のデータ)\n */\n private _values: any[] = [];\n\n /**\n * パラメータ一覧\n */\n public params: { [key: string]: number[] } = {};\n\n /**\n * スコア一覧\n */\n public scores: { [key: string]: number[] } = {};\n\n /**\n * ベストなデータのindex\n */\n private _bestValueIndex: number | undefined;\n\n /**\n * ベストパラメータ\n */\n public bestParams: { [key: string]: number } = {};\n\n /**\n * ベストスコア\n */\n public bestScores: { [key: string]: number } = {};\n\n /**\n * コンストラクタ\n * @param rawData 生データ\n */\n constructor(rawData: any[]) {\n this._rawData = rawData;\n this._headers = rawData.slice(0, 1)[0];\n this._values = rawData.slice(1);\n\n this._separateParamsAndScores();\n this._setBestValue();\n }\n\n /**\n * ベストスコア(fvalueが最高)のデータを計算して保持\n */\n private _setBestValue(): void {\n // fvalue が最大となるデータ行を決定\n let index = 0;\n let currentMaxFvalue = 0;\n for (let i = 0; i < this.scores['fvalue'].length; i++) {\n const fvalue = this.scores['fvalue'][i];\n if (fvalue > currentMaxFvalue) {\n index = i;\n currentMaxFvalue = fvalue;\n }\n }\n this._bestValueIndex = index;\n\n // ベストスコアのデータを取得し、パラメータとスコアのデータに分ける\n for (let i = 0; i < this._headers.length; i++) {\n const header: string = this._headers[i];\n const isScore = this._ScoreHeaders.includes(header);\n const val = this._values[index][i];\n\n // 非表示ヘッダーに指定されていれば追加処理は行わない\n if (this._hiddenParamsHeaders.includes(header)) {\n continue;\n }\n\n if (isScore) {\n this.bestScores[header] = val;\n } else {\n this.bestParams[header] = val;\n }\n }\n }\n\n /**\n * APIからのレスポンスから、パラメータとスコアのデータに分ける\n */\n private _separateParamsAndScores(): void {\n for (let i = 0; i < this._headers.length; i++) {\n const header = this._headers[i];\n const isScore = this._ScoreHeaders.includes(header);\n const vals = this._values.map(row => row[i]);\n\n if (isScore) {\n this.scores[header] = vals;\n } else {\n this.params[header] = vals;\n }\n }\n }\n}\n","// https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/round\n// 上記より引用\n\n/**\n * 四捨五入します\n * @param number 数値\n * @param precision 少数第何位まで有効にするか。 少数第 precision+1 位で四捨五入する。\n */\nexport default function round(number: number, precision: number) {\n var shift = function(number: number, precision: number, reverseShift: boolean) {\n if (reverseShift) {\n precision = -precision;\n }\n var numArray = ('' + number).split('e');\n return +(numArray[0] + 'e' + (numArray[1] ? +numArray[1] + precision : precision));\n };\n return shift(Math.round(shift(number, precision, false)), precision, true);\n}\n","import { SysConst as SC } from '@/trials/plugins/const';\nimport round from '@/trials/lib/round';\n\n/**\n * ナレッジチャンクを保持するクラス\n */\nexport default class KnowledgeChunks {\n /**\n * 生データ\n * 最後に作成完了したWLモデルのナレッジチャンク取得APIなど\n * ナレッジチャンクを返すAPIのレスポンスを想定しています。\n */\n private _rawData: any[] = [];\n\n /**\n * 生データのヘッダー\n */\n private _headers: any[] = [];\n\n /**\n * 各POSデータを配列で保持\n */\n private _posArrays: any[] = [];\n\n /**\n * 各POSデータをオブジェクトで保持\n */\n private _posObjects: any[] = [];\n\n /**\n * 各NEGデータを配列で保持\n */\n private _negArrays: any[] = [];\n\n /**\n * 各NEGデータをオブジェクトで保持\n */\n private _negObjects: any[] = [];\n\n /**\n * weightが0ではない各データを配列で保持\n */\n private _weightNotZeroArrays: any[] = [];\n\n /**\n * weightが0ではない各データをオブジェクトで保持\n */\n private _weightNotZeroObjects: any[] = [];\n\n /**\n * 保持するPOSデータの最大数\n */\n private _posLimit: number = SC.OutputData.KC.Limit.POS;\n\n /**\n * 保持するNEGデータの最大数\n */\n private _negLimit: number = SC.OutputData.KC.Limit.NEG;\n\n /**\n * ヘッダーの値をindexに変換する用のオブジェクト\n */\n private _headerToindex: { [key: string]: number } = {};\n\n /**\n * getter ヘッダー取得\n */\n public get headers(): any[] {\n return [...this._headers];\n }\n\n /**\n * getter 各POSデータが配列になっているリストを取得\n */\n public get posArrays(): any[] {\n return [...this._posArrays];\n }\n\n /**\n * getter 各NEGデータが配列になっているリストを取得\n */\n public get negArrays(): any[] {\n return [...this._negArrays];\n }\n\n /**\n * getter weightが0ではないデータを配列のリストで取得\n */\n public get weightNotZeroArrays(): any[] {\n return [...this._weightNotZeroArrays];\n }\n\n /**\n * getter 各POSデータがオブジェクトになっているリストを取得\n */\n public get posObjects(): any[] {\n return [...this._posObjects];\n }\n\n /**\n * getter 各NEGデータがオブジェクトになっているリストを取得\n */\n public get negObjects(): any[] {\n return [...this._negObjects];\n }\n\n /**\n * getter weightが0ではないデータをオブジェクトのリストで取得\n */\n public get weightNotZeroObjects(): any[] {\n return [...this._weightNotZeroObjects];\n }\n\n /**\n * コンストラクタ\n * @param rawData 生データ\n */\n constructor(rawData: any[]) {\n this._rawData = rawData;\n this._headers = rawData.slice(0, 1)[0];\n\n for (let i = 0; i < this._headers.length; i++) {\n const header = this._headers[i];\n this._headerToindex[header] = i;\n }\n\n this._separatePosNeg();\n }\n\n /**\n * POS / NEG のデータに分類する\n */\n private _separatePosNeg() {\n const weightNotZeroArrays: any[] = [];\n const weightNotZeroObjects: any[] = [];\n const posArrays: any[] = [];\n const posObjects: any[] = [];\n const negArrays: any[] = [];\n const negObjects: any[] = [];\n\n const weightIndex = this._headerToindex['weight'];\n const labelIndex = this._headerToindex['label'];\n const nposIndex = this._headerToindex['npos'];\n const nnegIndex = this._headerToindex['nneg'];\n\n const dataList = this._rawData.slice(1);\n // weightの昇順に並び替える\n const sortedData = dataList.sort((a, b) => {\n if (a[weightIndex] <= b[weightIndex]) {\n return -1;\n } else {\n return 1;\n }\n });\n\n posArrays.push(this._headers);\n negArrays.push(this._headers);\n weightNotZeroArrays.push(this._headers);\n\n for (let i = 0; i < sortedData.length; i++) {\n const rawData: any[] = sortedData[i];\n const chunk: { [key: string]: any } = {};\n\n // weightが0のデータは省く\n if (rawData[weightIndex] == 0) continue;\n\n // 数値の場合、少数第3位を四捨五入する\n const data: any[] = [];\n for (let k = 0; k < rawData.length; k++) {\n const val = rawData[k];\n // 数値ではない判定\n if (isNaN(val) || val === true || val === false || val === null) {\n data.push(val);\n } else {\n data.push(round(val, 2));\n }\n }\n\n // labelがfalseの場合、npos と nneg の値を入れ替える\n if (rawData[labelIndex] === false) {\n const npos = data[nposIndex];\n data[nposIndex] = data[nnegIndex];\n data[nnegIndex] = npos;\n }\n\n // { key1: val1, key2: val2 ... }のオブジェクトに変換\n for (let j = 0; j < this._headers.length; j++) {\n const header = this._headers[j];\n chunk[header] = data[j];\n }\n\n weightNotZeroArrays.push(data);\n weightNotZeroObjects.push(chunk);\n if (chunk.weight > 0) {\n // 元のデータをweightの昇順に並べているので、\n // weight > 0 のデータは先頭に追加して、最終的にweight降順にする\n posArrays.unshift(data);\n posObjects.unshift(chunk);\n } else {\n negArrays.push(data);\n negObjects.push(chunk);\n }\n }\n\n this._weightNotZeroArrays = weightNotZeroArrays;\n this._weightNotZeroObjects = weightNotZeroObjects;\n\n // POS / NEG を 上位データのみにする\n this._posArrays = posArrays.slice(0, this._posLimit);\n this._posObjects = posObjects.slice(0, this._posLimit);\n this._negArrays = negArrays.slice(0, this._negLimit);\n this._negObjects = negObjects.slice(0, this._negLimit);\n }\n}\n","/**\n * 学習データを保持するクラス\n */\nexport default class TrainData {\n /**\n * 生データ\\\n * 最後にアップロードした学習データ取得APIのレスポンスを想定しています。\n */\n private _rawData: any[];\n\n /**\n * 利用データ\n */\n private _data: any[];\n\n /**\n * コンストラクタ\n * @param rawData 生データ\n */\n constructor(\n rawData: any[],\n inputDataHeaders: any[],\n public readonly selectedCase: string | null = null,\n public readonly selectedId: string | null = null,\n public readonly selectedLanguage: string | null = null,\n ) {\n this._rawData = rawData;\n\n const data = [...rawData];\n // ヘッダの数が異なるケース\n // ・indexで重複があり、サーバー側で追加している\n // 一番左のデータが追加されているので削除\n if (data[0].length != inputDataHeaders.length) {\n for (let i = 0; i < data.length; i++) {\n data[i].shift();\n }\n }\n // 同名ヘッダーがあるとサーバー側で名前に.1(ドット+数字)が付与されるので、\n // フロントでは入力データのヘッダを使用する\n data[0] = inputDataHeaders;\n\n this._data = data;\n }\n\n /**\n * getter 学習データ取得\n */\n public get data(): any[] {\n return this._data;\n }\n\n public get labelName(): string {\n const last_index = this._data[0].length - 1;\n return this._data[0][last_index];\n }\n}\n","import PredictResults from '@/trials/domain/objects/predictResults';\nimport PredictResult from '@/trials/domain/objects/predictResult';\nimport i18n from '@/common/i18n';\n\n/**\n * 予測データを保持するクラス\n */\nexport default class PredictData {\n /**\n * 生データ\\\n * 最後にアップロードした推論データ取得APIのレスポンスを想定しています。\n */\n private _rawData: any[];\n\n /**\n * 利用データ\n */\n private _data: any[];\n\n /**\n * ヘッダー\n */\n private _headers: any[];\n\n /**\n * 結果付きの予測データ\n */\n private _withResults: any[] = [];\n\n /**\n * コンストラクタ\n * @param rawData 生データ\n */\n constructor(rawData: any[], inputDataHeaders: any[]) {\n this._rawData = rawData;\n this._headers = inputDataHeaders;\n\n const data = [...rawData];\n // 同名ヘッダーがあるとサーバー側で名前に.1(ドット+数字)が付与されるので、\n // フロントでは入力データのヘッダを使用する\n data[0] = inputDataHeaders;\n\n this._data = data;\n }\n\n /**\n * getter 予測データ取得\n */\n public get data(): any[] {\n return this._data;\n }\n\n /**\n * getter 結果付き予測データ取得\n */\n public get dataWithResult(): any[] {\n if (this._withResults.length == 0) {\n return [];\n }\n\n return this._withResults;\n }\n\n /**\n * 結果付きの予測データのヘッダ文字列を現在のロケールに従った文字列に置換します。\n */\n public changeLocale() {\n if (!this._withResults) {\n return;\n }\n\n const newData = this._withResults.slice();\n\n newData[0][0] = i18n.t('trials.caption.results.score.result');\n newData[0][1] = i18n.t('trials.caption.results.score.score');\n\n this._withResults = newData;\n }\n\n /**\n * 結果付きの予測データ生成\n * @param results 予測結果\n */\n public createWithResult(results: PredictResults) {\n // header に 結果、スコアを追加\n const resultHeaders = [\n i18n.t('trials.caption.results.score.result'),\n i18n.t('trials.caption.results.score.score'),\n ];\n\n const newHeaders = resultHeaders.concat(this._headers);\n this._withResults.push(newHeaders);\n\n // 各行に追加\n // APIのレスポンスの項目名と表示する項目名が異なるので、ここで調整\n // API : predict → display : result\n // API : probability → display : score\n\n for (let i = 1; i < this._data.length; i++) {\n const row = this._data[i];\n\n const result: PredictResult | null = results.fetchByIndex(i);\n if (!result) {\n continue;\n }\n\n const newRow = [result.predict, result.probability].concat(row);\n this._withResults.push(newRow);\n }\n }\n}\n","/**\n * 予測結果を保持するクラス\n */\nexport default class PredictResult {\n /**\n * 行番号\n */\n private _index: any;\n\n /**\n * 確率\n */\n private _probability: any;\n\n /**\n * 予測結果\n */\n private _predict: any;\n\n /**\n * コンストラクタ\n * @param index 行番号\n * @param probability 確率\n * @param predict 予測結果\n */\n constructor(index: any, probability: any, predict: any) {\n this._index = index;\n this._probability = probability;\n this._predict = predict;\n }\n\n /**\n * getter 行番号取得\n */\n public get index(): any {\n return this._index;\n }\n\n /**\n * getter 確率\n */\n public get probability(): any {\n return this._probability;\n }\n\n /**\n * 予測結果\n */\n public get predict(): any {\n return this._predict;\n }\n}\n","import PredictResult from '@/trials/domain/objects/predictResult';\n\n/**\n * 予測結果一覧を保持するクラス\n */\nexport default class PredictResults {\n /**\n * 生データ\\\n * 最後に実行完了した推論の結果データ取得APIのレスポンスを想定しています。\n */\n private _rawdata: any[];\n\n /**\n * 行番号をキーにした予測結果一覧\n */\n private _rowObjects: { [key: number]: any };\n\n /**\n * コンストラクタ\n * @param data 生データ\n */\n constructor(data: any[]) {\n this._rawdata = data;\n\n this._rowObjects = this._rawDataToObject();\n }\n\n /**\n * getter 予測結果一覧取得\n */\n public get data(): any[] {\n return this._rawdata;\n }\n\n /**\n * 生データから行番号をキーにした予測結果一覧を生成\n */\n private _rawDataToObject(): { [key: number]: PredictResult } {\n const ret: { [key: number]: PredictResult } = {};\n\n for (let i = 1; i < this._rawdata.length; i++) {\n const row = this._rawdata[i];\n ret[i] = new PredictResult(row[0], row[1], row[2]);\n }\n\n return ret;\n }\n\n /**\n * 行番号をもとに予測結果を返します\n * @param index 行番号\n */\n public fetchByIndex(index: number): PredictResult | null {\n const row: PredictResult = this._rowObjects[index];\n if (!row) {\n return null;\n }\n\n return row;\n }\n}\n","import { SysConst as SC } from '@/trials/plugins/const';\nimport round from '@/trials/lib/round';\n\n/**\n * 学習データのカラム情報を保持するクラス\\\n * 1カラムにつき1つインスタンスが生成される想定です。\n */\nexport default class TrainColumn {\n /**\n * カラム名\n */\n public name: string;\n\n /**\n * 有効データ数\\\n * ラベルごとの数値を保持\n */\n public validCount: { [key: string]: any } = {};\n\n /**\n * 欠損値の数\\\n * ラベルごとの数値を保持\n */\n public invalidCount: { [key: string]: any } = {};\n\n /**\n * 型に応じたデータを保持\\\n * - 数値 : ラベルごとにデータを保持\n * - 文字列 : 文字列 * ラベル のマトリクスで各出現数を保持\n */\n public data: { [key: string]: any } = {};\n\n /**\n * このカラムがラベルかどうか\n */\n public isLabel: boolean;\n\n /**\n * ラベルごとのカウント\\\n * カラム同様に、有効データの数・欠損値の数・欠損値の割合・データ数の合計を保持\n */\n public countsForLabel: { [key: string]: any } = {};\n\n /**\n * データ型\\\n * number or string のみの想定ですが、拡張できるよう文字列として保持\n */\n public type: string = '';\n\n /**\n * ラベルとして使用された値を保持\n */\n public labels: any[] = [];\n\n /**\n * カテゴリとして使用された値を保持\n * カテゴリ : 文字列データの際の値\n */\n public categories: any[] = [];\n\n /**\n * コンストラクタ\n * @param name カラム名\n * @param isLabel ラベルかどうか\n */\n constructor(name: string, isLabel: boolean = false) {\n this.name = name;\n this.isLabel = isLabel;\n }\n\n /**\n * 新しく出現したラベル用のデータの追加\n * @param label ラベル\n */\n private _addLabel(label: any) {\n if (!this.labels.includes(label)) {\n this.labels.push(label);\n this.validCount[label] = 0;\n this.invalidCount[label] = 0;\n this.countsForLabel[label] = {\n val: label,\n validCount: 0,\n invalidCount: 0,\n totalCount: 0,\n invalidRatio: 0,\n };\n }\n }\n\n /**\n * 新しく出現したカテゴリを追加\n * @param category カテゴリ\n */\n private _addCategories(category: string) {\n if (!this.categories.includes(category)) {\n this.categories.push(category);\n }\n }\n\n /**\n * カラムにデータを追加します\n * @param val 値\n * @param label ラベル\n */\n public addData(val: any, label: any) {\n // ラベル追加\n this._addLabel(label);\n\n // カウントアップ\n this.countsForLabel[label].totalCount++;\n\n // 欠損チェック(欠損の定義)\n if (val == null) {\n this.invalidCount[label]++;\n this.countsForLabel[label].invalidCount++;\n\n // 欠損値の場合は、ここで処理終了\n return;\n }\n\n // 型チェック\n if (this.type == '') {\n const type = isNaN(val) ? SC.InputData.Type.STRING : SC.InputData.Type.NUMBER;\n this.type = type;\n }\n\n this.validCount[label]++;\n this.countsForLabel[label].validCount++;\n\n // データ型に応じたデータ追加処理\n if (this.type == SC.InputData.Type.NUMBER) {\n if (!(label in this.data)) {\n this.data[label] = [];\n }\n this.data[label].push(val);\n } else {\n if (!(val in this.data)) {\n this.data[val] = {};\n this._addCategories(val);\n }\n if (!(label in this.data[val])) {\n this.data[val][label] = 0;\n }\n this.data[val][label] += 1;\n }\n }\n\n /**\n * 全データ取得後に行いたい処理を実施します\n */\n public processAfterAllData(): void {\n // 欠損割合計算\n this._calcInvalidRatio();\n\n // カテゴリリストのソート\n this.categories.sort();\n\n // ラベルのソート\n this.labels.sort();\n }\n\n /**\n * 欠損値の割合を計算します\n */\n private _calcInvalidRatio(): void {\n for (let i = 0; i < this.labels.length; i++) {\n const label = this.labels[i];\n\n const ratio =\n (this.countsForLabel[label].invalidCount / this.countsForLabel[label].totalCount) *\n 100;\n this.countsForLabel[label].invalidRatio = round(ratio, 2);\n }\n }\n}\n","import TrainData from '@/trials/domain/objects/trainData';\nimport TrainColumn from '@/trials/domain/objects/trainColumn';\n\n/**\n * 学習データの統計情報を計算・保持するクラス\n */\nexport default class TrainDataStatistics {\n /**\n * 学習データ\n */\n private _trainData: TrainData;\n\n /**\n * カラムごとの統計情報\n */\n private _statistics: TrainColumn[] = [];\n\n /**\n * コンストラクタ\n * @param data 学習データ\n */\n constructor(data: TrainData) {\n this._trainData = data;\n }\n\n /**\n * 集計処理\n */\n private _aggregate() {\n // 1行目をheaderとして処理\n const data = this._trainData.data;\n const header = data[0];\n const trainColumns: TrainColumn[] = [];\n\n for (let i = 0; i < header.length; i++) {\n const column = new TrainColumn(header[i], i == header.length - 1);\n trainColumns.push(column);\n }\n\n // rawDataデータを1行ずつ処理\n const labels: any[] = [];\n for (let i = 1; i < data.length; i++) {\n const row = data[i];\n const label = row[header.length - 1];\n\n // CSVの左のカラムから処理\n for (let j = 0; j < row.length; j++) {\n const column = trainColumns[j];\n const val = row[j];\n\n column.addData(val, label);\n }\n }\n\n // データを一通り走査した後に各カラムで行いたい処理を実施\n for (let i = 0; i < header.length; i++) {\n const column = trainColumns[i];\n column.processAfterAllData();\n }\n\n // 最初のカラムはindexなので省いて保持\n this._statistics = trainColumns.slice(1);\n }\n\n /**\n * getter 集計済みかどうか\n */\n private get _isAggregated(): boolean {\n return this._statistics.length > 0;\n }\n\n /**\n * getter 統計情報取得\n */\n public get statistics(): TrainColumn[] {\n if (!this._isAggregated) {\n this._aggregate();\n }\n\n return this._statistics;\n }\n}\n","import { SysConst as SC } from '@/trials/plugins/const';\nimport round from '@/trials/lib/round';\n\n/**\n * 予測データのカラム情報を保持するクラス\\\n * 1カラムにつき1つインスタンスが生成される想定です。\n */\nexport default class PredictColumn {\n /**\n * カラム名\n */\n public name: string;\n\n /**\n * 有効データの数\n */\n public validCount: number = 0;\n\n /**\n * 欠損値の数\n */\n public invalidCount: number = 0;\n\n /**\n * 欠損値の割合\n */\n public invalidRatio: number = 0;\n\n /**\n * 数値データを配列で保持\n */\n public numberData: any[] = [];\n\n /**\n * 文字列データ\\\n * 文字列をキーに、出現数を値として保持\n */\n public stringData: { [key: string]: number } = {};\n\n /**\n * データ型\\\n * number or string のみの想定ですが、拡張できるよう文字列として保持\n */\n public type: string = '';\n\n /**\n * データ数の合計\n */\n public totalCount: number = 0;\n\n /**\n * カテゴリとして使用された値を保持\n * カテゴリ : 文字列データの際の値\n */\n public categories: any[] = [];\n\n /**\n * コンストラクタ\n * @param name カラム名\n */\n constructor(name: string) {\n this.name = name;\n }\n\n /**\n * 新しく出現したカテゴリを追加\n * @param category カテゴリ\n */\n private _addCategories(category: string) {\n if (!this.categories.includes(category)) {\n this.categories.push(category);\n }\n }\n\n /**\n * カラムにデータを追加します\n * @param val カラムのデータ\n */\n public addData(val: any) {\n this.totalCount++;\n\n // 欠損チェック\n if (val == null) {\n this.invalidCount++;\n\n // 欠損値の場合は、ここで処理終了\n return;\n }\n\n this.validCount++;\n\n // 型チェック\n if (this.type == '') {\n const type = isNaN(val) ? SC.InputData.Type.STRING : SC.InputData.Type.NUMBER;\n this.type = type;\n }\n\n // データ型に応じたデータ追加処理\n if (this.type == SC.InputData.Type.NUMBER) {\n this.numberData.push(val);\n } else {\n if (!(val in this.stringData)) {\n this.stringData[val] = 0;\n this._addCategories(val);\n }\n this.stringData[val] += 1;\n }\n }\n\n /**\n * 欠損値の割合を計算します\n */\n public calcInvalidRatio(): void {\n const ratio = (this.invalidCount / this.totalCount) * 100;\n this.invalidRatio = round(ratio, 2);\n }\n\n /**\n * カテゴリリストをソートします\n */\n public sortCategory(): void {\n this.categories.sort();\n }\n}\n","import PredictData from '@/trials/domain/objects/predictData';\nimport PredictColumn from '../objects/predictColumn';\n\n/**\n * 予測データの統計情報を計算・保持するクラス\n */\nexport default class PredictDataStatistics {\n /**\n * 予測データ\n */\n private _predictData: PredictData;\n\n /**\n * カラムごとの統計情報\n */\n private _statistics: PredictColumn[] = [];\n\n /**\n * コンストラクタ\n * @param data 予測データ\n */\n constructor(data: PredictData) {\n this._predictData = data;\n }\n\n /**\n * 集計処理\n */\n private _aggregate() {\n // 1行目をheaderとして処理\n const data = this._predictData.data;\n const header = data[0];\n const predictColumns: PredictColumn[] = [];\n\n for (let i = 0; i < header.length; i++) {\n const column = new PredictColumn(header[i]);\n predictColumns.push(column);\n }\n\n // rawDataデータを1行ずつ処理\n for (let i = 1; i < data.length; i++) {\n const row = data[i];\n\n // CSVの左のカラムから処理\n for (let j = 0; j < row.length; j++) {\n const column = predictColumns[j];\n const val = row[j];\n\n column.addData(val);\n }\n }\n\n // データを一通り走査した後に各カラムで行いたい処理を実施\n for (let i = 0; i < header.length; i++) {\n const column = predictColumns[i];\n // 欠損割合計算\n column.calcInvalidRatio();\n // カテゴリリストのソート\n column.sortCategory();\n }\n\n // 最初のカラムはindexなので省いて保持\n this._statistics = predictColumns.slice(1);\n }\n\n /**\n * getter 集計済みかどうか\n */\n private get _isAggregated(): boolean {\n return this._statistics.length > 0;\n }\n\n /**\n * getter 統計情報取得\n */\n public get statistics(): any[] {\n if (!this._isAggregated) {\n this._aggregate();\n }\n\n return this._statistics;\n }\n}\n","import {\n Mutation,\n MutationAction,\n Action,\n VuexModule,\n getModule,\n Module,\n} from 'vuex-module-decorators';\nimport { SysConst as SC } from '@/trials/plugins/const';\nimport Api from '@/trials/lib/api';\nimport store from '@/trials/store/index';\n\nimport ConfirmDialogData from '@/trials/domain/objects/confirmDialogData';\nimport NotificationDialogData from '@/trials/domain/objects/notificationDialogData';\nimport ErrorDialogData from '@/trials/exceptions/errorDialogData';\nimport TrainParams from '@/trials/domain/objects/trainParams';\nimport KnowledgeChunks from '@/trials/domain/objects/knowledgeChunks';\nimport TrainData from '@/trials/domain/objects/trainData';\nimport TrainColumn from '@/trials/domain/objects/trainColumn';\nimport PredictData from '@/trials/domain/objects/predictData';\nimport PredictColumn from '@/trials/domain/objects/predictColumn';\nimport PredictResults from '@/trials/domain/objects/predictResults';\n\nimport TrainDataStatistics from '@/trials/domain/models/trainDataStatistics';\nimport PredictDataStatistics from '@/trials/domain/models/predictDataStatistics';\n\nexport interface ISessionState {\n // 一意のID\n uuid: string;\n\n // プライバシーポリシー ( true: 同意済 / false: 同意していない )\n agreed: boolean;\n\n // API呼び出し用token\n authToken: string;\n\n // KC列挙( 0: 未実施 / 1: 実施中 / 2: 実施済 )\n listed: number;\n\n // KC一覧\n kclistData: KnowledgeChunks | null;\n\n // 学習( 0: 未実施 / 1: 実施中 / 2: 実施済 )\n trained: number;\n\n // 学習データのアップロード状態( 0: 未実施 / 1: 実施中 / 2: 実施済 )\n trainingDataUploaded: number;\n\n // 学習データ\n trainingData: TrainData | null;\n\n // 入力された学習データのヘッダ\n inputTrainingDataHeaders: any[];\n\n // 前処理済みの学習データ\n preprocessedTrainingData: any[];\n\n // 学習データに対するナレッジチャンク\n trainKnowledgeChunks: KnowledgeChunks | null;\n\n // 学習データ中の1件に対するIndex(バイナリ化前)\n trainPersonalIndexBefore: number;\n\n // 学習データ中の1件に対するIndex(バイナリ化後)\n trainPersonalIndexAfter: number;\n\n // 学習データ中の1件に対するナレッジチャンク(バイナリ化前)\n trainPersonalChunksBefore: KnowledgeChunks | null;\n\n // 学習データ中の1件に対するナレッジチャンク(バイナリ化後)\n trainPersonalChunksAfter: KnowledgeChunks | null;\n\n // 学習データの統計情報\n trainDataStatistics: TrainColumn[];\n\n // 学習結果のパラメータ、スコア\n trainParams: TrainParams | null;\n\n // 予測フェーズは有効か(true: 有効 / false: 無効)\n enabledPredictPhase: boolean;\n\n // 予測( 0: 未実施 / 1: 実施中 / 2: 実施済 )\n predicted: number;\n\n // 予測データのアップロード状態( 0: 未実施 / 1: 実施中 / 2: 実施済 )\n predictDataUploaded: number;\n\n // 予測データ\n predictData: PredictData | null;\n\n // 入力された予測データのヘッダ\n inputPredictDataHeaders: any[];\n\n // 前処理済み予測データ\n preprocessedPredictData: PredictData | null;\n\n // 学習データ中の1件に対するIndex(バイナリ化前)\n predictPersonalIndexBefore: number;\n\n // 学習データ中の1件に対するIndex(バイナリ化後)\n predictPersonalIndexAfter: number;\n\n // 予測データ中の1件に対するナレッジチャンク(バイナリ化前)\n predictPersonalChunksBefore: KnowledgeChunks | null;\n\n // 予測データ中の1件に対するナレッジチャンク(バイナリ化後)\n predictPersonalChunksAfter: KnowledgeChunks | null;\n\n // 予測データの統計情報\n predictDataStatistics: PredictColumn[];\n\n // 予測結果\n predictResults: PredictResults | null;\n\n // 試行画面で表示中のコンポーネント\n currentRouterViewTrials: string;\n\n // KC列挙画面で表示中のコンポーネント\n currentRouterViewKCList: string;\n\n // 学習データ画面で表示中のコンポーネント\n currentRouterViewTrainData: string;\n\n // 学習結果画面で表示中のコンポーネント\n currentRouterViewTrainResult: string;\n\n // 学習結果 全体で表示中のコンポーネント\n currentRouterViewTrainResultAll: string;\n\n // 予測データ画面で表示中のコンポーネント\n currentRouterViewPredictData: string;\n\n // 予測結果画面で表示中のコンポーネント\n currentRouterViewPredictResult: string;\n\n // 確認ダイアログデータ\n confirmDialogData: ConfirmDialogData | null;\n\n // 通知ダイアログデータ\n notificationDialogData: NotificationDialogData | null;\n\n // エラーダイアログデータ\n errorDialogData: ErrorDialogData | null;\n}\n@Module({ dynamic: true, store, name: 'session', namespaced: true })\nclass Session extends VuexModule implements ISessionState {\n /*----------------------------------*\n * 初期値設定\n *-----------------------------------*/\n // state\n uuid = '';\n agreed = false;\n authToken = '';\n\n // KC列挙\n listed = 0;\n kclistData: KnowledgeChunks | null = null;\n\n // 学習\n trained = 0;\n trainingDataUploaded = 0;\n trainingData: TrainData | null = null;\n inputTrainingDataHeaders: any[] = [];\n preprocessedTrainingData: any[] = [];\n trainKnowledgeChunks: KnowledgeChunks | null = null;\n trainPersonalIndexBefore = 0;\n trainPersonalIndexAfter = 0;\n trainPersonalChunksBefore: KnowledgeChunks | null = null;\n trainPersonalChunksAfter: KnowledgeChunks | null = null;\n trainDataStatistics: any[] = [];\n trainParams: TrainParams | null = null;\n\n // 予測\n enabledPredictPhase = false;\n predicted = 0;\n predictDataUploaded = 0;\n predictData: PredictData | null = null;\n inputPredictDataHeaders: any[] = [];\n preprocessedPredictData: PredictData | null = null;\n predictPersonalIndexBefore = 0;\n predictPersonalIndexAfter = 0;\n predictPersonalChunksBefore: KnowledgeChunks | null = null;\n predictPersonalChunksAfter: KnowledgeChunks | null = null;\n predictDataStatistics: PredictColumn[] = [];\n predictResults: PredictResults | null = null;\n\n // 表示コンポーネント\n currentRouterViewTrials: string = '';\n currentRouterViewKCList: string = '';\n currentRouterViewTrainData: string = '';\n currentRouterViewTrainResult: string = '';\n currentRouterViewTrainResultAll: string = '';\n currentRouterViewPredictData: string = '';\n currentRouterViewPredictResult: string = '';\n\n // ダイアログデータ\n confirmDialogData: ConfirmDialogData | null = null;\n notificationDialogData: NotificationDialogData | null = null;\n errorDialogData: ErrorDialogData | null = null;\n\n /*----------------------------------*\n * mutations ( ≒ setters)\n *\n * ※値更新はmutationからのみ実施可能\n * ※mutationはActionからのみCall可能\n *-----------------------------------*/\n @Mutation\n public SET_UUID(newUuid: string) {\n this.uuid = newUuid;\n }\n @Mutation\n public SET_AGREED(flag: boolean) {\n this.agreed = flag;\n }\n @Mutation\n public SET_AUTHTOKEN(newToken: string) {\n this.authToken = newToken;\n }\n @Mutation\n public SET_LISTED(flag: number) {\n this.listed = flag;\n }\n @Mutation\n public SET_KCLIST_DATA(newData: KnowledgeChunks | null) {\n this.kclistData = newData;\n }\n @Mutation\n public SET_TRAINED(flag: number) {\n this.trained = flag;\n }\n @Mutation\n public SET_TRAINING_DATA_UPLOADED(flag: number) {\n this.trainingDataUploaded = flag;\n }\n @Mutation\n public SET_TRAINING_DATA(newData: TrainData | null) {\n this.trainingData = newData;\n }\n @Mutation\n public SET_INPUT_TRAINING_DATA_HEADERS(newData: any[]) {\n this.inputTrainingDataHeaders = newData;\n }\n @Mutation\n public SET_PREPROCESSED_TRAINING_DATA(newData: any[]) {\n this.preprocessedTrainingData = newData;\n }\n @Mutation\n public SET_TRAIN_CHUNKS(newData: KnowledgeChunks | null) {\n this.trainKnowledgeChunks = newData;\n }\n @Mutation\n public SET_TRAIN_PERSONAL_INDEX_BEFORE(newIdx: number) {\n this.trainPersonalIndexBefore = newIdx;\n }\n @Mutation\n public SET_TRAIN_PERSONAL_INDEX_AFTER(newIdx: number) {\n this.trainPersonalIndexAfter = newIdx;\n }\n @Mutation\n public SET_TRAIN_PERSONAL_CHUNKS_BEFORE(newData: KnowledgeChunks | null) {\n this.trainPersonalChunksBefore = newData;\n }\n @Mutation\n public SET_TRAIN_PERSONAL_CHUNKS_AFTER(newData: KnowledgeChunks | null) {\n this.trainPersonalChunksAfter = newData;\n }\n @Mutation\n public SET_TRAIN_DATA_STATISTICS(newData: TrainColumn[]) {\n this.trainDataStatistics = newData;\n }\n @Mutation\n public SET_TRAIN_PARAMS(newData: TrainParams | null) {\n this.trainParams = newData;\n }\n @Mutation\n public SET_ENABLED_PREDICT_PHASE(flag: boolean) {\n this.enabledPredictPhase = flag;\n }\n @Mutation\n public SET_PREDICTED(flag: number) {\n this.predicted = flag;\n }\n @Mutation\n public SET_PREDICT_DATA_UPLOADED(flag: number) {\n this.predictDataUploaded = flag;\n }\n @Mutation\n public SET_PREDICT_DATA(newData: PredictData | null) {\n this.predictData = newData;\n }\n @Mutation\n public SET_INPUT_PREDICT_DATA_HEADERS(newData: any[]) {\n this.inputPredictDataHeaders = newData;\n }\n @Mutation\n public SET_PREPROCESSED_PREDICT_DATA(newData: PredictData | null) {\n this.preprocessedPredictData = newData;\n }\n @Mutation\n public SET_PREDICT_PERSONAL_INDEX_BEFORE(newIdx: number) {\n this.predictPersonalIndexBefore = newIdx;\n }\n @Mutation\n public SET_PREDICT_PERSONAL_INDEX_AFTER(newIdx: number) {\n this.predictPersonalIndexAfter = newIdx;\n }\n @Mutation\n public SET_PREDICT_PERSONAL_CHUNKS_BEFORE(newData: KnowledgeChunks | null) {\n this.predictPersonalChunksBefore = newData;\n }\n @Mutation\n public SET_PREDICT_PERSONAL_CHUNKS_AFTER(newData: KnowledgeChunks | null) {\n this.predictPersonalChunksAfter = newData;\n }\n @Mutation\n public SET_PREDICT_DATA_STATISTICS(newData: PredictColumn[]) {\n this.predictDataStatistics = newData;\n }\n @Mutation\n public SET_PREDICT_RESULTS(newData: PredictResults | null) {\n this.predictResults = newData;\n }\n @Mutation\n public SET_ROUTE_TRIALS(route: string) {\n this.currentRouterViewTrials = route;\n }\n @Mutation\n public SET_ROUTE_KC_LIST(route: string) {\n this.currentRouterViewKCList = route;\n }\n @Mutation\n public SET_ROUTE_TRAIN_DATA(route: string) {\n this.currentRouterViewTrainData = route;\n }\n @Mutation\n public SET_ROUTE_TRAIN_RESULT(route: string) {\n this.currentRouterViewTrainResult = route;\n }\n @Mutation\n public SET_ROUTE_TRAIN_RESULT_ALL(route: string) {\n this.currentRouterViewTrainResultAll = route;\n }\n @Mutation\n public SET_ROUTE_PREDICT_DATA(route: string) {\n this.currentRouterViewPredictData = route;\n }\n @Mutation\n public SET_ROUTE_PREDICT_RESULT(route: string) {\n this.currentRouterViewPredictResult = route;\n }\n @Mutation\n public SET_CONFIRM_DIALOG_DATA(confirm: ConfirmDialogData | null) {\n this.confirmDialogData = confirm;\n }\n @Mutation\n public SET_NOTIFICATION_DIALOG_DATA(notification: NotificationDialogData | null) {\n this.notificationDialogData = notification;\n }\n @Mutation\n public SET_ERROR_DIALOG_DATA(err: ErrorDialogData | null) {\n this.errorDialogData = err;\n }\n\n /*----------------------------------*\n * getters\n *-----------------------------------*/\n public get getUuid(): string {\n return this.uuid;\n }\n public get getAgreed(): boolean {\n return this.agreed;\n }\n public get getAuthToken(): string {\n return this.authToken;\n }\n public get getListed(): number {\n return this.listed;\n }\n public get getKCListData(): KnowledgeChunks | null {\n return this.kclistData;\n }\n public get getTrained(): number {\n return this.trained;\n }\n public get getTrainingDataUploaded(): number {\n return this.trainingDataUploaded;\n }\n public get getTrainingData(): TrainData | null {\n return this.trainingData;\n }\n public get getInputTrainingDataHeaders(): any[] {\n return this.inputTrainingDataHeaders;\n }\n public get getPreprocessedTrainingData(): any[] {\n return this.preprocessedTrainingData;\n }\n public get getTrainKnowledgeChunks(): KnowledgeChunks | null {\n return this.trainKnowledgeChunks;\n }\n public get getTrainPersonalIndexBefore(): number {\n return this.trainPersonalIndexBefore;\n }\n public get getTrainPersonalIndexAfter(): number {\n return this.trainPersonalIndexAfter;\n }\n public get getTrainPersonalChunksBefore(): KnowledgeChunks | null {\n return this.trainPersonalChunksBefore;\n }\n public get getTrainPersonalChunksAfter(): KnowledgeChunks | null {\n return this.trainPersonalChunksAfter;\n }\n public get getTrainDataStatistics(): TrainColumn[] {\n return this.trainDataStatistics;\n }\n public get getTrainParams(): TrainParams | null {\n return this.trainParams;\n }\n public get getEnabledPredictPhase(): boolean {\n return this.enabledPredictPhase;\n }\n public get getPredicted(): number {\n return this.predicted;\n }\n public get getPredictDataUploaded(): number {\n return this.predictDataUploaded;\n }\n public get getPredictData(): PredictData | null {\n return this.predictData;\n }\n public get getInputPredictDataHeaders(): any[] {\n return this.inputPredictDataHeaders;\n }\n public get getPreprocessedPredictData(): PredictData | null {\n return this.preprocessedPredictData;\n }\n public get getPredictPersonalIndexBefore(): number {\n return this.predictPersonalIndexBefore;\n }\n public get getPredictPersonalIndexAfter(): number {\n return this.predictPersonalIndexAfter;\n }\n public get getPredictPersonalChunksBefore(): KnowledgeChunks | null {\n return this.predictPersonalChunksBefore;\n }\n public get getPredictPersonalChunksAfter(): KnowledgeChunks | null {\n return this.predictPersonalChunksAfter;\n }\n public get getPredictDataStatistics(): PredictColumn[] {\n return this.predictDataStatistics;\n }\n public get getPredictResults(): PredictResults | null {\n return this.predictResults;\n }\n public get getCurrentRouterViewTrials(): string {\n return this.currentRouterViewTrials;\n }\n public get getCurrentRouterViewKCList(): string {\n return this.currentRouterViewKCList;\n }\n public get getCurrentRouterViewTrainData(): string {\n return this.currentRouterViewTrainData;\n }\n public get getCurrentRouterViewTrainResult(): string {\n return this.currentRouterViewTrainResult;\n }\n public get getCurrentRouterViewTrainResultAll(): string {\n return this.currentRouterViewTrainResultAll;\n }\n public get getCurrentRouterViewPredictData(): string {\n return this.currentRouterViewPredictData;\n }\n public get getCurrentRouterViewPredictResult(): string {\n return this.currentRouterViewPredictResult;\n }\n public get getConfirmDialogData(): ConfirmDialogData | null {\n return this.confirmDialogData;\n }\n public get getNotificationDialogData(): NotificationDialogData | null {\n return this.notificationDialogData;\n }\n public get getErrorDialogData(): ErrorDialogData | null {\n return this.errorDialogData;\n }\n\n /*----------------------------------*\n * Actions\n *\n * ※値更新はmutationからのみ実施可能\n * ※mutationはActionからのみCall可能\n *-----------------------------------*/\n // セッション開始時の初期化\n @Action({})\n public init() {\n this.SET_UUID('');\n this.SET_AGREED(false);\n this.SET_AUTHTOKEN('');\n this.format();\n }\n\n // 初期化ボタン用 アクション\n @Action({})\n public format() {\n // 予測データの初期化\n this.formatPredict();\n\n // KC列挙\n this.SET_LISTED(SC.Flag.Process.TODO);\n this.SET_KCLIST_DATA(null);\n\n // 学習\n this.SET_TRAINED(SC.Flag.Process.TODO);\n this.SET_TRAINING_DATA_UPLOADED(SC.Flag.Process.TODO);\n this.SET_TRAINING_DATA(null);\n this.SET_INPUT_TRAINING_DATA_HEADERS([]);\n this.SET_PREPROCESSED_TRAINING_DATA([]);\n this.SET_TRAIN_CHUNKS(null);\n this.SET_TRAIN_PERSONAL_INDEX_BEFORE(0);\n this.SET_TRAIN_PERSONAL_INDEX_AFTER(0);\n this.SET_TRAIN_PERSONAL_CHUNKS_BEFORE(null);\n this.SET_TRAIN_PERSONAL_CHUNKS_AFTER(null);\n this.SET_TRAIN_PARAMS(null);\n this.SET_TRAIN_DATA_STATISTICS([]);\n\n // 表示コンポーネント\n this.SET_ROUTE_TRIALS(SC.Path.TRAIN_DATA_MENU);\n this.SET_ROUTE_TRAIN_DATA(SC.Path.TRAIN_DATA_UPLOAD);\n this.SET_ROUTE_KC_LIST(SC.Path.TRAIN_KC_LIST);\n this.SET_ROUTE_TRAIN_RESULT(SC.Path.TRAIN_RESULT_ALL);\n this.SET_ROUTE_TRAIN_RESULT_ALL(SC.Path.TRAIN_RESULT_ALL_KC);\n\n // ダイアログ\n this.SET_CONFIRM_DIALOG_DATA(null);\n this.SET_NOTIFICATION_DIALOG_DATA(null);\n this.SET_ERROR_DIALOG_DATA(null);\n\n // 予測\n this.SET_ENABLED_PREDICT_PHASE(false);\n }\n\n // 予測データの初期化ボタン用 アクション\n @Action\n public formatPredict() {\n // 予測\n this.SET_PREDICTED(SC.Flag.Process.TODO);\n this.SET_PREDICT_DATA_UPLOADED(SC.Flag.Process.TODO);\n this.SET_PREDICT_DATA(null);\n this.SET_INPUT_PREDICT_DATA_HEADERS([]);\n this.SET_PREPROCESSED_PREDICT_DATA(null);\n this.SET_PREDICT_PERSONAL_INDEX_BEFORE(0);\n this.SET_PREDICT_PERSONAL_INDEX_AFTER(0);\n this.SET_PREDICT_PERSONAL_CHUNKS_BEFORE(null);\n this.SET_PREDICT_PERSONAL_CHUNKS_AFTER(null);\n this.SET_PREDICT_DATA_STATISTICS([]);\n this.SET_PREDICT_RESULTS(null);\n\n // 表示コンポーネント\n this.SET_ROUTE_TRIALS(SC.Path.PREDICT_DATA_MENU);\n this.SET_ROUTE_PREDICT_DATA(SC.Path.PREDICT_DATA_UPLOAD);\n this.SET_ROUTE_PREDICT_RESULT(SC.Path.PREDICT_RESULT_DATA);\n }\n\n // プライバシーポリシー同意時の更新処理\n @Action({})\n public agreeWithPrivacyPolicy() {\n this.SET_AGREED(true);\n }\n\n // 確認ダイアログを表示\n @Action({})\n public showConfirmDialog(confirm: ConfirmDialogData): void {\n this.SET_CONFIRM_DIALOG_DATA(confirm);\n }\n\n // 確認ダイアログを閉じる\n @Action({})\n public closeConfirmDialog(): void {\n this.SET_CONFIRM_DIALOG_DATA(null);\n }\n\n // 通知ダイアログを表示\n @Action({})\n public showNotificationDialog(notification: NotificationDialogData): void {\n this.SET_NOTIFICATION_DIALOG_DATA(notification);\n }\n\n // 通知ダイアログを閉じる\n @Action({})\n public closeNotificationDialog(): void {\n this.SET_NOTIFICATION_DIALOG_DATA(null);\n }\n\n // エラーダイアログを表示\n @Action({})\n public showErrorDialog(err: ErrorDialogData): void {\n if (!err.title || !err.messageKey) {\n err = new ErrorDialogData();\n }\n this.SET_ERROR_DIALOG_DATA(err);\n }\n\n // エラーダイアログを閉じる\n @Action({})\n public closeErrorDialog(): void {\n // ダイアログ時の処理が必要であれば実施\n if (this.getErrorDialogData) {\n // リロードフラグが立っていればリロード\n if (this.getErrorDialogData.needCloseAndReload) {\n location.href = SC.Path.APP_BASE;\n return;\n }\n\n // トークンのクリア\n if (this.getErrorDialogData.needClearToken) {\n this.SET_AUTHTOKEN('');\n }\n\n // 初期化処理実行\n if (this.getErrorDialogData.needInit) {\n this.format();\n }\n }\n\n this.SET_ERROR_DIALOG_DATA(null);\n }\n\n // API呼び出し用tokenの取得\n @Action({})\n public async getToken(): Promise {\n try {\n const token = await Api.getToken();\n this.SET_AUTHTOKEN(token);\n return true;\n } catch (err) {\n this.showErrorDialog(err);\n return false;\n }\n }\n\n // 学習データ登録\n @Action({})\n public async registTrainingSet(csv: File): Promise {\n try {\n this.SET_TRAINING_DATA_UPLOADED(SC.Flag.Process.DOING);\n await Api.registTrainingSet(csv);\n const trainingSet = await Api.getTrainingSet();\n const trainData = new TrainData(trainingSet, this.getInputTrainingDataHeaders);\n this.SET_TRAINING_DATA(trainData);\n\n // 集計処理\n const trainDataStatistics = new TrainDataStatistics(trainData);\n this.SET_TRAIN_DATA_STATISTICS(trainDataStatistics.statistics);\n\n this.SET_TRAINING_DATA_UPLOADED(SC.Flag.Process.DONE);\n return true;\n } catch (err) {\n this.SET_TRAINING_DATA_UPLOADED(SC.Flag.Process.TODO);\n this.showErrorDialog(err);\n return false;\n }\n }\n\n // 学習データ指定\n @Action({})\n public async selectTrainingSet({caseId, fileId, language = 'ja'}: {caseId: string, fileId: string, language: string}): Promise {\n try {\n this.SET_TRAINING_DATA_UPLOADED(SC.Flag.Process.DOING);\n await Api.selectTrainingSet(fileId, language);\n const trainingSet = await Api.getTrainingSet();\n const trainData = new TrainData(trainingSet, this.getInputTrainingDataHeaders, caseId, fileId, language);\n this.SET_TRAINING_DATA(trainData);\n\n // 集計処理\n const trainDataStatistics = new TrainDataStatistics(trainData);\n this.SET_TRAIN_DATA_STATISTICS(trainDataStatistics.statistics);\n\n this.SET_TRAINING_DATA_UPLOADED(SC.Flag.Process.DONE);\n return true;\n } catch (err) {\n this.SET_TRAINING_DATA_UPLOADED(SC.Flag.Process.TODO);\n this.showErrorDialog(err);\n return false;\n }\n }\n\n // 学習開始\n @Action\n public async startCreateModel(): Promise {\n try {\n await Api.startCreateModel();\n return true;\n } catch (err) {\n this.showErrorDialog(err);\n return false;\n }\n }\n\n // 学習状況の取得\n @Action\n public async getModelCreationState(): Promise {\n try {\n const status = await Api.getModelCreationState();\n return status;\n } catch (err) {\n this.showErrorDialog(err);\n return err.errResponse.status;\n }\n }\n\n // ナレッジチャンク一覧取得\n @Action\n public async getKcListForModel(): Promise {\n try {\n const response = await Api.getKcListForModel();\n const kcList = new KnowledgeChunks(response);\n this.SET_KCLIST_DATA(kcList);\n\n return true;\n } catch (err) {\n this.showErrorDialog(err);\n\n return false;\n }\n }\n\n // 学習処理\n @Action\n public async training(): Promise {\n try {\n // パラメータとスコアの取得\n const params = await Api.getParams();\n const paramsAndScores = new TrainParams(params);\n\n this.SET_TRAIN_PARAMS(paramsAndScores);\n\n // 前処理済みデータは初期リリース時は表示しないのでコメントアウト\n // 作成が完了したWLモデルの前処理済みデータ取得\n // const preprocessed = await Api.getPreprocessedTrainingSet();\n // this.SET_PREPROCESSED_TRAINING_DATA(preprocessed);\n\n return true;\n } catch (err) {\n this.showErrorDialog(err);\n return false;\n }\n }\n\n // 学習データに対応するナレッジチャンクの取得\n @Action\n public async getPersonalChunksForTrainingSet({\n index,\n isPreprocessed,\n }: {\n [key: string]: any;\n }): Promise {\n try {\n // indexに対応するナレッジチャンクの取得\n const response = await Api.getPersonalChunksForTraingSet(index);\n if (response.length <= 1) {\n throw new ErrorDialogData('error.message.nodata');\n }\n const kcList = new KnowledgeChunks(response);\n\n // 対象がバイナリ化前と後かで保存先変更\n if (isPreprocessed) {\n this.SET_TRAIN_PERSONAL_INDEX_AFTER(index + 1);\n this.SET_TRAIN_PERSONAL_CHUNKS_AFTER(kcList);\n } else {\n this.SET_TRAIN_PERSONAL_INDEX_BEFORE(index + 1);\n this.SET_TRAIN_PERSONAL_CHUNKS_BEFORE(kcList);\n }\n return true;\n } catch (err) {\n this.showErrorDialog(err);\n return false;\n }\n }\n\n // 予測データ登録\n @Action({})\n public async registPredictSet(csv: File): Promise {\n try {\n this.SET_PREDICT_DATA_UPLOADED(SC.Flag.Process.DOING);\n await Api.registPredictSet(csv);\n const predictSet = await Api.getPredictSet();\n const predictData = new PredictData(predictSet, this.getInputPredictDataHeaders);\n this.SET_PREDICT_DATA(predictData);\n\n // 集計処理\n const predictDataStatistics = new PredictDataStatistics(predictData);\n this.SET_PREDICT_DATA_STATISTICS(predictDataStatistics.statistics);\n\n this.SET_PREDICT_DATA_UPLOADED(SC.Flag.Process.DONE);\n return true;\n } catch (err) {\n this.SET_PREDICT_DATA_UPLOADED(SC.Flag.Process.TODO);\n this.showErrorDialog(err);\n\n return false;\n }\n }\n\n // 予測データ指定\n @Action({})\n public async selectPredictSet({caseId, fileId, language = 'ja'}: {caseId: string, fileId: string, language: string}): Promise {\n try {\n this.SET_PREDICT_DATA_UPLOADED(SC.Flag.Process.DOING);\n await Api.selectPredictSet(fileId, language);\n const predictSet = await Api.getPredictSet();\n const predictData = new PredictData(predictSet, this.getInputPredictDataHeaders);\n this.SET_PREDICT_DATA(predictData);\n\n // 集計処理\n const predictDataStatistics = new PredictDataStatistics(predictData);\n this.SET_PREDICT_DATA_STATISTICS(predictDataStatistics.statistics);\n\n this.SET_PREDICT_DATA_UPLOADED(SC.Flag.Process.DONE);\n return true;\n } catch (err) {\n this.SET_PREDICT_DATA_UPLOADED(SC.Flag.Process.TODO);\n this.showErrorDialog(err);\n\n return false;\n }\n }\n\n // 予測開始\n @Action\n public async startPredict(): Promise {\n try {\n await Api.startPredict();\n return true;\n } catch (err) {\n this.showErrorDialog(err);\n return false;\n }\n }\n\n // 予測状況の取得\n @Action\n public async getPredictState(): Promise {\n try {\n const status = await Api.getPredictState();\n return status;\n } catch (err) {\n this.showErrorDialog(err);\n return err.errResponse.status;\n }\n }\n\n // 予測結果の取得\n @Action\n public async getPredictResult(): Promise {\n try {\n // 結果の取得\n const responseResults = await Api.getPredictResult();\n const results = new PredictResults(responseResults);\n this.SET_PREDICT_RESULTS(results);\n\n // 前処理済みデータは初期リリース時は表示しないのでコメントアウト\n // 作成が完了したWLモデルの前処理済みデータ取得\n // const responsePreprocessed = await Api.getPreprocessedPredictSet();\n // const preprocessed = new PredictData(responsePreprocessed);\n\n // 結果を反映したデータ作成\n // オリジナルデータ\n const original = this.getPredictData;\n original && original.createWithResult(results);\n this.SET_PREDICT_DATA(original);\n\n // 前処理済みデータは初期リリース時は表示しないのでコメントアウト\n // 前処理済みデータ\n // preprocessed.createWithResult(results);\n // this.SET_PREPROCESSED_PREDICT_DATA(preprocessed);\n\n return true;\n } catch (err) {\n this.showErrorDialog(err);\n return false;\n }\n }\n\n // 予測データに対応するナレッジチャンクの取得\n @Action\n public async getPersonalChunksForPredictSet({\n index,\n isPreprocessed,\n }: {\n [key: string]: any;\n }): Promise {\n try {\n // indexに対応するナレッジチャンクの取得\n const response = await Api.getPersonalChunksForPredictSet(index);\n if (response.length == 0) {\n throw new ErrorDialogData('error.message.nodata');\n }\n\n const kcList = new KnowledgeChunks(response);\n\n // 対象がバイナリ化前と後かで保存先変更\n if (isPreprocessed) {\n this.SET_PREDICT_PERSONAL_INDEX_AFTER(index + 1);\n this.SET_PREDICT_PERSONAL_CHUNKS_AFTER(kcList);\n } else {\n this.SET_PREDICT_PERSONAL_INDEX_BEFORE(index + 1);\n this.SET_PREDICT_PERSONAL_CHUNKS_BEFORE(kcList);\n }\n\n return true;\n } catch (err) {\n this.showErrorDialog(err);\n\n return false;\n }\n }\n}\n\nexport const sessionModule = getModule(Session);\n","/**\n * 確認ダイアログ用のデータを保持するクラス\n */\nexport default class ConfirmDialogData {\n /**\n * タイトルで使用するキー\\\n * i18nで設定されているキーの形式\n */\n private _titleKey: string;\n\n /**\n * メッセージで使用するキー\\\n * i18nで設定されているキーの形式\n */\n private _messageKey: string;\n\n /**\n * ダイアログの「はい」ボタン押下時のハンドラ\n */\n public yesHandler: Function | null;\n\n /**\n * ダイアログの「いいえ」ボタン押下時のハンドラ\n */\n public noHandler: Function | null;\n\n /**\n * コンストラクタ\n * @param titleKey タイトル用キー\n * @param messageKey メッセージ用キー\n * @param yesHandler はい押下時のハンドラ\n * @param noHandler いいえ押下時のハンドラ\n */\n constructor(\n titleKey: string,\n messageKey: string,\n yesHandler: Function | null = null,\n noHandler: Function | null = null\n ) {\n this._titleKey = titleKey;\n this._messageKey = messageKey;\n this.yesHandler = yesHandler;\n this.noHandler = noHandler;\n }\n\n /**\n * getter タイトル用のキー取得\n */\n public get titleKey(): string {\n return this._titleKey;\n }\n\n /**\n * getter メッセージ用のキー取得\n */\n public get messageKey(): string {\n return this._messageKey;\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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, Vue, Watch } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\nimport ConfirmDialogData from '@/trials/domain/objects/confirmDialogData';\n\n@Component\nexport default class TrialsMenu extends Vue {\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private isCheatSheets: boolean = false;\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n // アクティブコンテンツ\n private get currentContent() {\n return sessionModule.getCurrentRouterViewTrials;\n }\n\n /* Active, Disabledフラグ\n --------------------------*/\n // 学習の準備\n private get activeTrainData(): boolean {\n return this.$route.path.startsWith(SC.Path.TRAIN_DATA_MENU);\n }\n private get disabledTrainData() {\n return this.activeTrainData;\n }\n\n // KC確認\n private get activeKCList(): boolean {\n return this.$route.path.startsWith(SC.Path.TRAIN_KC_MENU);\n }\n private get disabledKCList() {\n return this.activeKCList || !this.isListed;\n }\n\n // 学習結果\n private get activeTrainResult(): boolean {\n return this.$route.path.startsWith(SC.Path.TRAIN_RESULT_MENU);\n }\n private get disabledTrainResult() {\n return this.activeTrainResult || !this.isTrained;\n }\n\n // 予測の準備\n private get activePredictData(): boolean {\n return this.$route.path.startsWith(SC.Path.PREDICT_DATA_MENU);\n }\n private get disabledPredictData() {\n return this.activePredictData || !this.enabledPredictPhase;\n }\n\n // 予測結果\n private get activePredictResult(): boolean {\n return this.$route.path.startsWith(SC.Path.PREDICT_RESULT_MENU);\n }\n private get disabledPredictResult() {\n return this.activePredictResult || !this.enabledPredictPhase || !this.isPredicted;\n }\n\n /* FDL様画面でプライバシーポリシー同意済\n // 同意済 フラグ\n public get isAgreed() : boolean{\n return sessionModule.getAgreed;\n };*/\n\n // 学習データ準備\n private get isPreparedTrainData(): boolean {\n return sessionModule.getTrainingData !== null;\n }\n\n // KC列挙済 フラグ\n private get isListed(): boolean {\n return sessionModule.getListed === SC.Flag.Process.DONE;\n }\n\n // 学習済 フラグ\n private get isTrained(): boolean {\n return sessionModule.getTrained === SC.Flag.Process.DONE;\n }\n\n // 予測フェーズの有効 フラグ\n private get enabledPredictPhase(): boolean {\n return sessionModule.getEnabledPredictPhase;\n }\n\n // 推論済 フラグ\n private get isPredicted(): boolean {\n return sessionModule.getPredicted === SC.Flag.Process.DONE;\n }\n\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n mounted() {\n // Child コンポーネントの指定がない場合\n if (this.$route.path == SC.Path.TRIALS_MENU) {\n // Child コンポーネントへのルーティング\n this.$router.replace(this.currentContent);\n }\n }\n\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n\n // コンテンツ表示\n private viewContent(content: string) {\n sessionModule.SET_ROUTE_TRIALS(content);\n this.$router.push(this.currentContent);\n }\n\n /* Clickメソッド(コンテンツ切替)\n -------------------------------*/\n // 学習データ\n private toTrainData() {\n this.viewContent(SC.Path.TRAIN_DATA_MENU);\n }\n // KC列挙\n private toKCList() {\n this.viewContent(SC.Path.TRAIN_KC_MENU);\n }\n // 学習結果\n private toTrainResult() {\n this.viewContent(SC.Path.TRAIN_RESULT_MENU);\n }\n // 推論データ\n private toPredictData() {\n this.viewContent(SC.Path.PREDICT_DATA_MENU);\n }\n // 推論結果\n private toPredictResult() {\n this.viewContent(SC.Path.PREDICT_RESULT_MENU);\n }\n\n // リセット\n private resetAll() {\n const self = this;\n const confirm = new ConfirmDialogData(\n 'trials.dialog.contents.format.all.title',\n 'trials.dialog.contents.format.all.message',\n function() {\n sessionModule.format();\n // アップロード画面以外で実行された場合、アップロード画面に戻る\n if (self.$route.path != SC.Path.TRAIN_DATA_UPLOAD) {\n self.$router.replace(SC.Path.TRAIN_DATA_UPLOAD);\n }\n }\n );\n sessionModule.showConfirmDialog(confirm);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrialsMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrialsMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TrialsMenu.vue?vue&type=template&id=46c42b0b&\"\nimport script from \"./TrialsMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./TrialsMenu.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VContent } from 'vuetify/lib/components/VContent';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VToolbarItems } from 'vuetify/lib/components/VToolbar';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VAppBar,VBtn,VCard,VContainer,VContent,VDialog,VImg,VToolbarItems,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"k-c\"}},[_c('v-app-bar',{staticClass:\"mid-menu\",attrs:{\"flat\":\"\"}},[_c('v-toolbar-items',{staticClass:\"pa-1\"},[_c('v-btn',{class:{ active: _vm.activeKCList },attrs:{\"text\":\"\",\"disabled\":_vm.disabledKCList,\"ripple\":false},domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.menu.step2.step1.label'))},on:{\"click\":_vm.toKCList}})],1),_c('v-spacer'),_c('v-btn',{staticClass:\"mr-3 white--text\",attrs:{\"disabled\":!_vm.canTrained,\"color\":_vm.nextBtnColorBg,\"large\":\"\",\"ripple\":false,\"loading\":_vm.isTraining},on:{\"click\":_vm.toKCTraining},scopedSlots:_vm._u([{key:\"loader\",fn:function(){return [_c('v-progress-circular',{staticClass:\"mr-3\",attrs:{\"size\":20,\"width\":3,\"indeterminate\":\"\"}}),_vm._v(\" \"+_vm._s(_vm.$t('trials.menu.step2.button.training'))+\" \")]},proxy:true}])},[_vm._v(\" \"+_vm._s(_vm.$t('trials.menu.step2.button.start_training'))+\" \"),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-img',_vm._g({attrs:{\"src\":\"/assets/image/help.png\"}},on))]}}])},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.help04.create_kc'))}})])],1)],1),_c('router-view',{staticClass:\"end-component\"})],1)}\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\n\n\n\n\n\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, Vue } from 'vue-property-decorator';\nimport { SysConst as SC } from '@/trials/plugins/const';\nimport { sessionModule } from '@/trials/store/modules/session';\n\nimport ConfirmDialogData from '@/trials/domain/objects/confirmDialogData';\n\n@Component\nexport default class KC extends Vue {\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private nextBtnColorBg: string = SC.Color.Button.Next.BG;\n\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n // アクティブコンテンツ\n private get currentContent() {\n return sessionModule.getCurrentRouterViewKCList;\n }\n\n /* Active, Disabledフラグ\n --------------------------*/\n // KC列挙\n private get activeKCList(): boolean {\n return this.$route.path.startsWith(SC.Path.TRAIN_KC_LIST);\n }\n\n private get disabledKCList() {\n return this.activeKCList;\n }\n\n // 学習可能 フラグ\n private get canTrained(): boolean {\n return sessionModule.getTrained === SC.Flag.Process.TODO;\n }\n\n private get isTraining(): boolean {\n return sessionModule.getTrained === SC.Flag.Process.DOING;\n }\n\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n mounted() {\n if (this.$route.path == SC.Path.TRAIN_KC_MENU) {\n this.$router.replace(this.currentContent);\n }\n }\n\n beforeDestroy() {}\n\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n // コンテンツ表示\n private viewContent(content: string) {\n sessionModule.SET_ROUTE_KC_LIST(content);\n this.$router.push(this.currentContent);\n }\n\n /* Clickメソッド(コンテンツ切替)\n -------------------------------*/\n // KC列挙\n private toKCList() {\n this.viewContent(SC.Path.TRAIN_KC_LIST);\n }\n\n // 学習\n private toKCTraining() {\n const self = this;\n const confirm = new ConfirmDialogData(\n 'trials.dialog.contents.start.training.title',\n 'trials.dialog.contents.start.training.message',\n function() {\n self.$router.push(SC.Path.TRAIN_KC_TRAINING);\n }\n );\n sessionModule.showConfirmDialog(confirm);\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KC.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KC.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./KC.vue?vue&type=template&id=6aec1f5a&\"\nimport script from \"./KC.vue?vue&type=script&lang=ts&\"\nexport * from \"./KC.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbarItems } from 'vuetify/lib/components/VToolbar';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VAppBar,VBtn,VImg,VProgressCircular,VSpacer,VToolbarItems,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"end-content\",attrs:{\"id\":\"k-c-list\"}},[_c('v-card',{staticClass:\"description\",attrs:{\"title\":\"\",\"elevation\":\"0\"}},[_c('v-card-text',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.description.step2.step1'))}})],1),_c('DataTable',{attrs:{\"dataSet\":_vm.kcList,\"defaultSortBy\":_vm.defaultSortBy,\"showIndex\":false}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"data-table\"},[(_vm.caption)?_c('p',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.caption))]):_vm._e(),_c('v-data-table',{staticClass:\"table-component\",attrs:{\"headers\":_vm.headers,\"items\":_vm.chunkItems,\"items-per-page\":_vm.itemsPerPage,\"item-key\":\"index\",\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"no-data-text\":_vm.$t('error.message.table.noData'),\"footer-props\":_vm.footerProps,\"dense\":\"\"},scopedSlots:_vm._u([(_vm.index_header_name)?{key:_vm.full_index_item_name,fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{class:item[_vm.label_header_name] == 1 ? 'positiveLabel' : 'negativeLabel'},[_vm._v(\" \"+_vm._s(item[_vm.index_header_name])+\" \")])]}}:null,(_vm.label_header_name)?{key:_vm.full_label_item_name,fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{class:item[_vm.label_header_name] == 1 ? 'positiveLabel' : 'negativeLabel'},[_vm._v(\" \"+_vm._s(item[_vm.label_header_name])+\" \")])]}}:null,(_vm.label_header_name)?{key:_vm.full_label_header_name,fn:function(ref){\nvar header = ref.header;\nreturn [_vm._v(\" \"+_vm._s(header.text)+\" \"),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('img',_vm._g({attrs:{\"src\":\"/assets/image/help.png\"}},on))]}}],null,true)},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.help01.create_kc'))}})])]}}:null],null,true)})],1)}\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\n@Component\nexport default class DataTable extends Vue {\n // 属性\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n @Prop({ default: 10 })\n private itemsPerPage: number;\n\n @Prop({ default: () => [] })\n private dataSet: any[];\n\n @Prop({ default: true })\n private showIndex: boolean;\n\n @Prop({ default: () => ({}) })\n private defaultSortBy: { [key: string]: boolean };\n\n @Prop({ default: undefined })\n private caption: string | undefined;\n\n @Prop({ default: false })\n private highlightsLabel: boolean;\n\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private chunkItems: any[] = [];\n private headers: any[] = [];\n private index_header_name: string = '';\n private label_header_name: string = '';\n private sortBy: string[] = [];\n private sortDesc: boolean[] = [];\n private footerProps: { [key: string]: any } = {\n 'show-first-last-page': true,\n 'items-per-page-options': [5, 10, 20, 30, 50, -1],\n };\n\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n private get full_index_item_name() {\n return 'item.' + this.index_header_name;\n }\n\n private get full_label_item_name() {\n return 'item.' + this.label_header_name;\n }\n\n private get full_label_header_name() {\n return 'header.' + this.label_header_name;\n }\n\n /*----------------------------------*\n * Watch\n *-----------------------------------*/\n @Watch('dataSet')\n private changeDataSet() {\n this.makeDataSet();\n }\n\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n mounted() {\n // データセット作成\n this.makeDataSet();\n }\n\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n // データセット作成\n private makeDataSet() {\n this.chunkItems.length = 0;\n this.headers.length = 0;\n for (let i in this.dataSet) {\n if (+i) {\n // items編集\n let tmp_item: any = {};\n if (this.showIndex) {\n tmp_item['index'] = +i;\n }\n for (let j in this.dataSet[i]) {\n tmp_item['item_' + j] = this.dataSet[i][j];\n }\n this.chunkItems.push(Object.assign({}, tmp_item));\n } else {\n // header編集\n if (this.showIndex) {\n this.headers.push({\n text: 'No.',\n value: 'index',\n align: 'left',\n });\n }\n for (let j in this.dataSet[i]) {\n const header = this.dataSet[i][j];\n const value = 'item_' + j;\n this.headers.push({ text: header, value: value });\n\n // 初期ソートの設定があれば、Datatable用に変換して設定\n if (Object.keys(this.defaultSortBy).includes(header)) {\n this.sortBy.push(value);\n this.sortDesc.push(this.defaultSortBy[header]);\n }\n }\n }\n }\n\n // ラベル強調設定があれば、No列とラベル列の名前を設定\n if (this.highlightsLabel) {\n if (this.showIndex) {\n this.index_header_name = this.headers[0].value;\n }\n this.label_header_name = this.headers[this.headers.length - 1].value;\n }\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DataTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DataTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DataTable.vue?vue&type=template&id=30513d11&scoped=true&\"\nimport script from \"./DataTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./DataTable.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 \"30513d11\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VDataTable,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\nimport DataTable from '@/trials/views/components/DataTable.vue';\n\nimport KnowledgeChunks from '@/trials/domain/objects/knowledgeChunks';\n\n@Component({ components: { DataTable } })\nexport default class KCList extends Vue {\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private kcList: any[] = [];\n private defaultSortBy: any = {};\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n created() {\n this.setTableData();\n }\n\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n /*----------------------------------*\n * Watch\n *-----------------------------------*/\n @Watch('$i18n.locale')\n private changeLocale(newVal: string) {\n this.setTableData();\n }\n\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n\n private setTableData(): void {\n const listData = sessionModule.getKCListData;\n\n if (listData === null) {\n return;\n }\n\n const data = listData.weightNotZeroObjects;\n const showHeaders = [\n this.$i18n.t('trials.caption.results.knowledge_chunk.chunk'),\n this.$i18n.t('trials.caption.results.knowledge_chunk.len'),\n this.$i18n.t('trials.caption.results.knowledge_chunk.npos'),\n this.$i18n.t('trials.caption.results.knowledge_chunk.nneg'),\n ];\n\n const nposKey: any = this.$i18n.t('trials.caption.results.knowledge_chunk.npos');\n this.defaultSortBy[nposKey] = true;\n\n // 表示に必要なカラムのデータだけ抽出\n const kcList: any[] = data.map(obj => {\n return [obj.chunk, obj.len, obj.npos, obj.nneg];\n });\n\n // header追加\n kcList.unshift(showHeaders);\n\n this.kcList = kcList;\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KCList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KCList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./KCList.vue?vue&type=template&id=e504fe30&\"\nimport script from \"./KCList.vue?vue&type=script&lang=ts&\"\nexport * from \"./KCList.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\ninstallComponents(component, {VCard,VCardText})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"end-content text-center\",attrs:{\"id\":\"k-c-train\"}},[_c('v-card',{staticClass:\"description\",attrs:{\"title\":\"\",\"elevation\":\"0\"}},[_c('v-card-text',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.description.step2.training'))}})],1),_c('ProgressItem')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"progress-item\",staticStyle:{\"height\":\"60%\"}},[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-progress-circular',{attrs:{\"size\":80,\"width\":7,\"indeterminate\":\"\"}})],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class ProgressItem extends Vue {}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressItem.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProgressItem.vue?vue&type=template&id=11d903ba&\"\nimport script from \"./ProgressItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProgressItem.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VProgressCircular,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport ProgressItem from '@/trials/views/components/ProgressItem.vue';\n\n@Component({ components: { ProgressItem } })\nexport default class KCTraining extends Vue {\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private intervalMs: number = 1000 * 1;\n\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n // 学習状態\n private get trainState(): number {\n return sessionModule.getTrained;\n }\n\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n mounted() {\n if (this.trainState === SC.Flag.Process.TODO) {\n // フラグ更新(学習 実施中)\n sessionModule.SET_TRAINED(SC.Flag.Process.DOING);\n this.getTrainResult();\n }\n }\n\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n private async getTrainResult() {\n // 学習処理\n const ret = await sessionModule.training();\n\n if (!ret) {\n this.goBack();\n return;\n }\n\n // 演出のためプログレスバーを表示\n const self = this;\n setTimeout(() => {\n // フラグ更新(学習済)\n sessionModule.SET_TRAINED(SC.Flag.Process.DONE);\n\n // 学習結果への自動遷移\n sessionModule.SET_ROUTE_TRIALS(SC.Path.TRAIN_RESULT_MENU);\n self.$router.replace(sessionModule.getCurrentRouterViewTrials);\n }, this.intervalMs);\n }\n\n private goBack(): void {\n // フラグ更新(未学習)\n sessionModule.SET_TRAINED(SC.Flag.Process.TODO);\n\n // この画面が表示されている場合はひとつ前にもどる\n if (this.$route.path === SC.Path.TRAIN_KC_TRAINING) {\n this.$router.go(-1);\n }\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KCTraining.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KCTraining.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./KCTraining.vue?vue&type=template&id=b89ae3aa&\"\nimport script from \"./KCTraining.vue?vue&type=script&lang=ts&\"\nexport * from \"./KCTraining.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\ninstallComponents(component, {VCard,VCardText})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"train-data\"}},[_c('v-app-bar',{staticClass:\"mid-menu\",attrs:{\"flat\":\"\"}},[_c('v-toolbar-items',{staticClass:\"pa-1\"},[_c('v-btn',{class:{ active: _vm.activeUpload },attrs:{\"text\":\"\",\"disabled\":_vm.disabledUpload,\"ripple\":false},domProps:{\"innerHTML\":_vm._s(!_vm.isListable ? _vm.$t('trials.menu.step1.step1.label') : _vm.$t('trials.menu.step1.step2.label'))},on:{\"click\":_vm.toUpload}}),_c('v-btn',{class:{ active: _vm.activeStatistics },attrs:{\"text\":\"\",\"disabled\":_vm.disabledStatistics,\"ripple\":false},domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.menu.step1.step3.label'))},on:{\"click\":_vm.toStatistics}})],1),_c('v-spacer'),_c('v-btn',{staticClass:\"mr-3 white--text\",attrs:{\"disabled\":!_vm.isListable || !_vm.canListing,\"color\":_vm.nextBtnColorBg,\"large\":\"\",\"ripple\":false,\"loading\":_vm.isListing},on:{\"click\":_vm.toGettingKcList},scopedSlots:_vm._u([{key:\"loader\",fn:function(){return [_c('v-progress-circular',{staticClass:\"mr-3\",attrs:{\"size\":20,\"width\":3,\"indeterminate\":\"\"}}),_vm._v(\" \"+_vm._s(_vm.$t('trials.menu.step1.button.creating_kc'))+\" \")]},proxy:true}])},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.menu.step1.button.create_kc'))}}),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-img',_vm._g({attrs:{\"src\":\"/assets/image/help.png\"}},on))]}}])},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.help02.create_kc'))}})])],1),_c('v-btn',{staticClass:\"format white--text\",attrs:{\"disabled\":!_vm.isListable || _vm.isListing,\"large\":\"\",\"color\":_vm.clearBtnColorBg,\"ripple\":false},on:{\"click\":_vm.format}},[_vm._v(_vm._s(_vm.$t('trials.menu.step1.button.format'))+\" \"),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-img',_vm._g({attrs:{\"src\":\"/assets/image/help.png\"}},on))]}}])},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.help03.create_kc'))}})])],1)],1),_c('router-view',{staticClass:\"end-component\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"drag-drop\"}},[_c('div',{staticStyle:{\"height\":\"0\"},attrs:{\"id\":\"drag-file-info\"}},[_vm._v(_vm._s(_vm.message))]),_c('div',{staticClass:\"drag-area\",on:{\"dragover\":function($event){$event.preventDefault();},\"dragleave\":function($event){$event.preventDefault();},\"drop\":function($event){$event.preventDefault();return _vm.onDrop($event)},\"click\":function($event){return _vm.$refs.fileInput.click()}}},[_c('h2',[_vm._t(\"default\")],2),_vm._v(\" \"+_vm._s(_vm.$t('trials.input.message'))+\" \"),_c('input',{ref:\"fileInput\",staticClass:\"input-btn\",attrs:{\"type\":\"file\"},on:{\"change\":_vm.onDrop}})])])}\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\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport Papa from 'papaparse';\nimport Encoding from 'encoding-japanese';\nimport { sessionModule } from '@/trials/store/modules/session';\n\nimport ErrorDialogData from '@/trials/exceptions/errorDialogData';\n\nconst LIMIT_SIZE = 1024 * 1024;\n\n@Component\nexport default class DragDrop extends Vue {\n // 属性\n @Prop({ default: 'train' })\n purpose?: string;\n\n private message: string = '';\n\n // 関数\n private async onDrop(event: any) {\n try {\n const dropFile = event.target.files\n ? event.target.files[0]\n : event.dataTransfer.files[0];\n\n // file input をリセット\n this.$refs.fileInput.value = '';\n\n // バリデーション\n if (dropFile.size > LIMIT_SIZE) {\n const errorDialogData = new ErrorDialogData('error.message.file.size');\n\n sessionModule.showErrorDialog(errorDialogData);\n return;\n }\n\n const fileExtention = dropFile.name.split('.').pop();\n if (fileExtention != 'csv') {\n const errorDialogData = new ErrorDialogData('error.message.file.name');\n\n sessionModule.showErrorDialog(errorDialogData);\n return;\n }\n\n // file の type を text/csv にする\n const buf = await dropFile.slice();\n let csv;\n try {\n csv = new File([buf], dropFile.name, { type: 'text/csv' });\n } catch (err) {\n // Edgeでは File constructor が使えないため\n // Blobオブジェクトにnameを追加して対応\n csv = new Blob([buf], { type: 'text/csv' });\n csv['name'] = dropFile.name;\n }\n\n // 投入されたCSVを、API呼び出し前にjsで処理する場合の記述\n const reader = new FileReader();\n reader.onload = async (event: any) => {\n const binaryData = new Uint8Array(event.target.result);\n\n // 文字コード判定\n const encode = Encoding.detect(binaryData);\n\n // バイナリデータ⇒UTF-8 文字列型 変換\n const unicodeString = Encoding.convert(binaryData, {\n to: 'UNICODE',\n from: encode,\n type: 'string',\n });\n\n // UTF-8 文字列型⇒Json文字列 変換\n const jsonString = Papa.parse(unicodeString as string, {\n header: false,\n dynamicTyping: true,\n skipEmptyLines: true,\n }).data;\n\n // header を storeへ格納し、csv登録処理\n switch (this.purpose) {\n case 'train':\n sessionModule.SET_INPUT_TRAINING_DATA_HEADERS(jsonString[0]);\n await sessionModule.registTrainingSet(csv);\n break;\n\n case 'predict':\n sessionModule.SET_INPUT_PREDICT_DATA_HEADERS(jsonString[0]);\n await sessionModule.registPredictSet(csv);\n break;\n default:\n break;\n }\n };\n\n reader.readAsArrayBuffer(dropFile);\n this.message = '';\n } catch (e) {\n // this.message = e.message;\n console.error(e);\n }\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragDrop.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragDrop.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DragDrop.vue?vue&type=template&id=78dbf8ba&scoped=true&\"\nimport script from \"./DragDrop.vue?vue&type=script&lang=ts&\"\nexport * from \"./DragDrop.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DragDrop.vue?vue&type=style&index=0&id=78dbf8ba&lang=sass&scoped=true&\"\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 \"78dbf8ba\",\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\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { SysConst as SC } from '@/trials/plugins/const';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport DragDrop from '@/trials/views/components/DragDrop.vue';\n\nimport ConfirmDialogData from '@/trials/domain/objects/confirmDialogData';\n\n@Component({ components: { DragDrop } })\nexport default class TrainData extends Vue {\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private nextBtnColorBg: string = SC.Color.Button.Next.BG;\n private clearBtnColorBg: string = SC.Color.Button.Clear.BG;\n\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n // アクティブコンテンツ\n private get currentContent() {\n return sessionModule.getCurrentRouterViewTrainData;\n }\n\n /* Active, Disabledフラグ\n --------------------------*/\n // アップロード\n private get activeUpload(): boolean {\n return this.$route.path.startsWith(SC.Path.TRAIN_DATA_UPLOAD);\n }\n private get disabledUpload(): boolean {\n return this.activeUpload;\n }\n\n // 統計情報\n private get activeStatistics() {\n return this.$route.path.startsWith(SC.Path.TRAIN_DATA_STATISTICS);\n }\n private get disabledStatistics() {\n return this.activeStatistics || !this.isAggregated;\n }\n\n // 統計情報の集計済 フラグ\n private get isAggregated(): boolean {\n return sessionModule.getTrainDataStatistics.length > 0;\n }\n\n // KC列挙 可能フラグ\n private get canListing(): boolean {\n return sessionModule.getListed === SC.Flag.Process.TODO;\n }\n\n // KC列挙 実施中フラグ\n private get isListing(): boolean {\n return sessionModule.getListed === SC.Flag.Process.DOING;\n }\n\n // KC取得 可能フラグ(0件以上の学習データの投入を確認する)\n private get isListable(): boolean {\n return sessionModule.getTrainingData !== null;\n }\n\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n mounted() {\n // Child コンポーネントの指定なし\n if (this.$route.path == SC.Path.TRAIN_DATA_MENU) {\n // 有効データ未投入の場合、アップロード画面に遷移\n if (!this.isListable) {\n sessionModule.SET_ROUTE_TRAIN_DATA(SC.Path.TRAIN_DATA_UPLOAD);\n }\n this.$router.replace(this.currentContent);\n }\n }\n\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n // コンテンツ表示\n private viewContent(content: string) {\n sessionModule.SET_ROUTE_TRAIN_DATA(content);\n this.$router.push(this.currentContent);\n }\n\n /* Clickメソッド(コンテンツ切替)\n ------------------------------*/\n // データアップロード\n private toUpload() {\n this.viewContent(SC.Path.TRAIN_DATA_UPLOAD);\n }\n\n // 統計情報\n private toStatistics() {\n this.viewContent(SC.Path.TRAIN_DATA_STATISTICS);\n }\n\n // KC取得中\n private toGettingKcList() {\n // TrainDataのcurrentContentとして保持させたくないので、\n // ここで直接 $router.pushを実施\n const self = this;\n const confirm = new ConfirmDialogData(\n 'trials.dialog.contents.start.creating_kc.title',\n 'trials.dialog.contents.start.creating_kc.message',\n function() {\n self.$router.push(SC.Path.TRAIN_DATA_GETTING_KC_LIST);\n }\n );\n sessionModule.showConfirmDialog(confirm);\n }\n\n // 試行内容を初期化(同意直後の状態)\n private format() {\n const self = this;\n const confirm = new ConfirmDialogData(\n 'trials.dialog.contents.format.all.title',\n 'trials.dialog.contents.format.all.message',\n function() {\n sessionModule.format();\n // アップロード画面以外で実行された場合、アップロード画面に戻る\n if (self.$route.path != SC.Path.TRAIN_DATA_UPLOAD) {\n self.$router.replace(SC.Path.TRAIN_DATA_UPLOAD);\n }\n }\n );\n sessionModule.showConfirmDialog(confirm);\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainData.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainData.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TrainData.vue?vue&type=template&id=0198328e&\"\nimport script from \"./TrainData.vue?vue&type=script&lang=ts&\"\nexport * from \"./TrainData.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbarItems } from 'vuetify/lib/components/VToolbar';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VAppBar,VBtn,VImg,VProgressCircular,VSpacer,VToolbarItems,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isListable)?_c('div',{staticClass:\"end-content\",attrs:{\"id\":\"train-data-upload\"}},[_c('span',[_c('v-card',{staticClass:\"description\",attrs:{\"title\":\"\",\"elevation\":\"0\"}},[_c('v-card-text',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.description.step1.step1.before'))}})],1),(_vm.canUpload)?[_c('CsvSelector',{attrs:{\"purpose\":\"train\"}}),_c('DragDrop',{staticStyle:{\"height\":\"70%\"},attrs:{\"purpose\":\"train\"}},[_vm._v(\" \"+_vm._s(_vm.$t('trials.input.train'))+\" \")])]:_c('div',[_c('ProgressItem')],1),_c('h2',{attrs:{\"id\":\"faqTableH2\"}},[_vm._v(\"Tool FAQ\")]),_c('table',{attrs:{\"id\":\"faqTable\"}},[_c('tr',[_c('td',[_c('v-btn',{attrs:{\"text\":\"\",\"href\":_vm.$t('trials.note.step1.url'),\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t('trials.note.step1.text'))+\" \")])],1)]),_c('tr',[_c('td',[_c('v-btn',{attrs:{\"text\":\"\",\"href\":_vm.$t('trials.input.downloads.mammalian.url'),\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t('trials.input.downloads.mammalian.text'))+\" \")])],1)]),_c('tr',[_c('td',[_c('v-btn',{attrs:{\"text\":\"\",\"href\":_vm.$t('trials.input.error.url'),\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t('trials.input.error.text'))+\" \")])],1)])])],2)]):_c('div',{staticClass:\"end-content\",attrs:{\"id\":\"train-data-original\"}},[_c('span',[_c('DataTable',{attrs:{\"dataSet\":_vm.trainData,\"showSelect\":false,\"highlightsLabel\":true}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"width\":\"90%\",\"margin\":\"0px auto\"}},[_c('v-select',{attrs:{\"label\":_vm.$t('trials.input.csvSelection'),\"no-data-text\":_vm.$t('trials.input.csvSelection'),\"items\":_vm.selectionItems,\"disabled\":_vm.selectionItems.length === 0,\"item-text\":\"text\",\"standard\":\"\",\"dense\":\"\",\"return-object\":\"\"},on:{\"change\":_vm.onChange}})],1)}\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\n\n\n\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\n\ntype CaseId = \"animals\" | \"election\" | \"covid\" | \"defect_prevention\";\ntype PurposeId = \"train\" | \"predict\";\ntype FileId = \"animals\" | \"election\" | \"covid\" | \"covid_a\" | \"covid_b\" | \"defect_prevention\";\n\ninterface CaseStudyCSV {\n caseId: CaseId,\n purposeId: PurposeId,\n fileId: FileId,\n text: string,\n}\n\n@Component\nexport default class CsvSelector extends Vue {\n caseStudyCSVs: CaseStudyCSV[] = [];\n caseStudyHeaders: {[key in CaseId]: string[]} = {animals: [], election: [], covid: [], defect_prevention: []};\n selectionItems: CaseStudyCSV[] = [];\n\n @Prop({ default: 'train' })\n purpose?: PurposeId;\n\n created() {\n this.initialize();\n }\n\n /**\n * 現在の言語に合わせてメンバーを初期化します。\n */\n private initialize() {\n // \n this.caseStudyCSVs = [\n {caseId: \"animals\", purposeId: \"train\", fileId: \"animals\", text: this.$t(\"caseStudyCSV.animals.trainingText\")},\n {caseId: \"animals\", purposeId: \"predict\", fileId: \"animals\", text: this.$t(\"caseStudyCSV.animals.predictionText\")},\n {caseId: \"election\", purposeId: \"train\", fileId: \"election\", text: this.$t(\"caseStudyCSV.election.trainingText\")},\n {caseId: \"election\", purposeId: \"predict\", fileId: \"election\", text: this.$t(\"caseStudyCSV.election.predictionText\")},\n {caseId: \"covid\", purposeId: \"train\", fileId: \"covid\", text: this.$t(\"caseStudyCSV.covid.trainingText\")},\n {caseId: \"covid\", purposeId: \"predict\", fileId: \"covid_a\", text: this.$t(\"caseStudyCSV.covid.predictionTextA\")},\n {caseId: \"covid\", purposeId: \"predict\", fileId: \"covid_b\", text: this.$t(\"caseStudyCSV.covid.predictionTextB\")},\n {caseId: \"defect_prevention\", purposeId: \"train\", fileId: \"defect_prevention\", text: this.$t(\"caseStudyCSV.defect_prevention.trainingText\")},\n {caseId: \"defect_prevention\", purposeId: \"predict\", fileId: \"defect_prevention\", text: this.$t(\"caseStudyCSV.defect_prevention.predictionText\")},\n ];\n // CSVヘッダー文字列\n this.caseStudyHeaders = {\n animals: this.$t('caseStudyCSV.animals.headerText').split(','),\n election: this.$t('caseStudyCSV.election.headerText').split(','),\n covid: this.$t('caseStudyCSV.covid.headerText').split(','),\n defect_prevention: this.$t('caseStudyCSV.defect_prevention.headerText').split(',')\n };\n\n const selectionItems = this.caseStudyCSVs.filter(item => item.purposeId === this.purpose);\n if (sessionModule.getTrainingData) {\n this.selectionItems = selectionItems.filter(item => item.caseId === sessionModule.getTrainingData.selectedCase);\n } else {\n this.selectionItems = selectionItems;\n }\n }\n\n @Watch('$i18n.locale')\n private changeLocale(newVal: string) {\n this.initialize();\n }\n\n private async onChange({caseId, fileId}: CaseStudyCSV) {\n let language: string;\n\n switch (this.purpose) {\n case \"train\":\n language = this.$i18n.locale;\n sessionModule.SET_INPUT_TRAINING_DATA_HEADERS(this.caseStudyHeaders[caseId]);\n await sessionModule.selectTrainingSet({caseId, fileId, language});\n break;\n case \"predict\":\n let trainingData = sessionModule.getTrainingData;\n language = trainingData.selectedLanguage;\n sessionModule.SET_INPUT_PREDICT_DATA_HEADERS(trainingData.data[0].slice(0, -1));\n await sessionModule.selectPredictSet({caseId, fileId, language});\n break;\n }\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CsvSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CsvSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CsvSelector.vue?vue&type=template&id=ea72bb00&scoped=true&\"\nimport script from \"./CsvSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./CsvSelector.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CsvSelector.vue?vue&type=style&index=0&id=ea72bb00&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 \"ea72bb00\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VSelect})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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, Vue } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport CsvSelector from '@/trials/views/components/CsvSelector.vue';\nimport DragDrop from '@/trials/views/components/DragDrop.vue';\nimport ProgressItem from '@/trials/views/components/ProgressItem.vue';\nimport DataTable from '@/trials/views/components/DataTable.vue';\n\n@Component({ components: { CsvSelector, DragDrop, ProgressItem, DataTable } })\nexport default class TrainDataUpload extends Vue {\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n // KC取得 可能フラグ(0件以上の学習データの投入を確認する)\n private get isListable(): boolean {\n return sessionModule.getTrainingData !== null;\n }\n\n // ファイルアップロード可能かどうか\n private get canUpload(): boolean {\n return sessionModule.getTrainingDataUploaded === SC.Flag.Process.TODO;\n }\n\n private get trainData() {\n const trainData = sessionModule.getTrainingData;\n if (trainData === null) {\n return [];\n }\n\n return trainData.data;\n }\n\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainDataUpload.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainDataUpload.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TrainDataUpload.vue?vue&type=template&id=e84431f2&\"\nimport script from \"./TrainDataUpload.vue?vue&type=script&lang=ts&\"\nexport * from \"./TrainDataUpload.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\ninstallComponents(component, {VBtn,VCard,VCardText})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"train-data-statistics\"}},[_c('v-tabs',{attrs:{\"dark\":\"\",\"vertical\":\"\"}},[_c('v-tab',{on:{\"click\":function($event){}}},[_vm._v(_vm._s(_vm.$t('trials.caption.data.tabs.all')))]),_c('v-tab',{on:{\"click\":function($event){}}},[_vm._v(_vm._s(_vm.$t('trials.caption.data.tabs.labels')))]),_c('v-tab',{on:{\"click\":function($event){}}},[_vm._v(_vm._s(_vm.$t('trials.caption.data.tabs.na')))]),_c('v-tab-item',[_c('TrainDataStatisticsAll')],1),_c('v-tab-item',[_c('TrainDataStatisticsLabels')],1),_c('v-tab-item',[_c('TrainDataStatisticsNa')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"end-content\",attrs:{\"id\":\"train-data-statistics_all\"}},[_c('v-card',{staticClass:\"description\",attrs:{\"title\":\"\",\"elevation\":\"0\"}},[_c('v-card-text',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.description.step1.step3.all'))}})],1),_c('div',{staticClass:\"text-center pb-2\"},[_vm._v(_vm._s(_vm.labelName))]),_c('BarChart',{attrs:{\"data\":_vm.data,\"categories\":_vm.categories,\"selector\":\"train-data-statistics_all_0\",\"colors\":_vm.colors}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"binary-histogram\"},[_c('div',{class:_vm.selector,attrs:{\"id\":_vm.selector}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import round from '@/trials/lib/round';\n\n/**\n * highchartの棒グラフでヒストグラムを表現するためのデータに変換します。\n * @param infoList ヒストグラム生成の元となるデータのリスト\n */\nexport default function toHistogram(infoList: any[]): { [key: string]: any } {\n /**\n * 全ての数値データを保持\n */\n let allData: number[] = [];\n\n /**\n * 全てのデータが整数かどうか\n */\n let isAllInteger = true;\n\n /**\n * 出現した数値を保持\n */\n const uniqueValues: number[] = [];\n\n /**\n * infoList から、 allData, isAllInteger, uniqueValues を設定\n */\n for (let i = 0; i < infoList.length; i++) {\n const info = infoList[i];\n allData = allData.concat(info.data);\n for (let j = 0; j < info.data.length; j++) {\n const val = info.data[j];\n if (isAllInteger && !Number.isInteger(val)) {\n isAllInteger = false;\n }\n if (!uniqueValues.includes(val)) {\n uniqueValues.push(val);\n }\n }\n }\n\n /**\n * 数値データの中で最大、最小を保持\n */\n const minValue = Math.min.apply(null, allData);\n const maxValue = Math.max.apply(null, allData);\n\n /**\n * 全て同じ値の場合は返り値をここで生成して終了\n */\n if (maxValue === minValue) {\n const categories = [maxValue];\n const series: any[] = [];\n for (let i = 0; i < infoList.length; i++) {\n const info = infoList[i];\n series.push({\n name: info.name,\n data: [info.data.length],\n });\n }\n\n return {\n series: series,\n categories: categories,\n };\n }\n\n /**\n * binsの数、幅を計算\n * 基本的に下記閾値の数に収まるようにしています。\n */\n const binsCountThreshold = 10;\n\n /**\n * binsの数\n * 平方根で小数点以下切り捨て\n */\n let binsCount = Math.min(binsCountThreshold, Math.floor(Math.sqrt(allData.length)));\n\n /**\n * binsの幅\n */\n let binWidth = (maxValue - minValue) / binsCount;\n\n /**\n * 閾値より数値のバリエーションが少ない場合、\n * 数値のバリエーション分の戻り値を生成して終了\n */\n if (binsCountThreshold >= uniqueValues.length) {\n const values = [...uniqueValues];\n values.sort();\n\n const thresholds: any[] = [];\n\n /**\n * 1つの数値が1つのbinに収まるようなthresholdsを返して終了\n * 例;begin: 5, end: 5\n */\n for (let i = 0; i < values.length; i++) {\n const begin = values[i];\n thresholds.push({\n begin: begin,\n end: begin,\n });\n }\n\n binsCount = uniqueValues.length;\n\n return buildHistogramResponse(binsCount, thresholds, infoList);\n }\n\n /**\n * 各 bin の具体的な閾値の生成\n */\n const thresholds: any[] = createThresholds(\n binsCount,\n binWidth,\n minValue,\n maxValue,\n isAllInteger\n );\n\n /**\n * 具体的な閾値の数が最終的なbinsCountになる\n */\n binsCount = thresholds.length;\n\n return buildHistogramResponse(binsCount, thresholds, infoList);\n}\n\n/**\n * ヒストグラム用データを構築します\n * @param binsCount bin数\n * @param thresholds 閾値リスト\n * @param infoList 元データ\n */\nfunction buildHistogramResponse(binsCount: number, thresholds: any[], infoList: any[]): any {\n /**\n * カテゴリ名生成\n */\n const categories: string[] = [];\n for (let i = 0; i < binsCount; i++) {\n const begin = round(thresholds[i].begin, 2);\n const end = round(thresholds[i].end, 2);\n\n if (begin === end) {\n // 範囲がない場合、categoryのテキストも範囲表記にしない\n categories.push(`${begin}`);\n } else {\n categories.push(`${begin} - ${end}`);\n }\n }\n\n /**\n * seriesを作成\n */\n const series: any[] = [];\n for (let i = 0; i < infoList.length; i++) {\n const info = infoList[i];\n const data: any[] = Array(binsCount).fill(0);\n\n for (let j = 0; j < info.data.length; j++) {\n const val = info.data[j];\n let index = 0;\n\n // 数値がどのbinに属するか\n for (let k = 0; k < binsCount; k++) {\n const threshold = thresholds[k];\n if (val <= threshold.end) {\n index = k;\n break;\n }\n }\n data[index]++;\n }\n series.push({\n name: info.name,\n data: data,\n });\n }\n\n return {\n series: series,\n categories: categories,\n };\n}\n\n/**\n * 閾値リストを生成\n * @param binsCount bin数\n * @param binWidth bin幅\n * @param minValue 最小値\n * @param maxValue 最大値\n * @param isAllInteger 全て整数かどうか\n */\nfunction createThresholds(\n binsCount: number,\n binWidth: number,\n minValue: number,\n maxValue: number,\n isAllInteger: boolean\n): any[] {\n let thresholds: any[] = [];\n\n /**\n * 整数ばかりのデータ or 実数含めるデータで threshold の作り方を切り替える\n */\n if (isAllInteger) {\n thresholds = createThresholdsForInt(binsCount, binWidth, minValue, maxValue);\n } else {\n thresholds = createThresholdsForFloat(binsCount, binWidth, minValue, maxValue);\n }\n\n /**\n * 最初と最後の閾値だけ再調整\n */\n const lastIndex = thresholds.length - 1;\n thresholds[0].begin = minValue;\n thresholds[lastIndex].end = maxValue;\n\n /**\n * 最後の閾値の begin と end が同じになるケースがあるので、ひとつ前の閾値に含める\n */\n if (thresholds[lastIndex].begin === thresholds[lastIndex].end) {\n const lastThreshold: any = thresholds.pop();\n thresholds[lastIndex - 1].end = maxValue;\n }\n\n return thresholds;\n}\n\n/**\n * 整数データ用の閾値リスト生成\n * @param binsCount bin数\n * @param binWidth bin幅\n * @param minValue 最小値\n * @param maxValue 最大値\n */\nfunction createThresholdsForInt(\n binsCount: number,\n binWidth: number,\n minValue: number,\n maxValue: number\n): any[] {\n const thresholds: any[] = [];\n\n let begin = minValue;\n for (let i = 0; i < binsCount; i++) {\n const end = round(begin + binWidth, 2);\n\n thresholds.push({\n begin: begin,\n end: end,\n });\n\n if (end > maxValue) {\n break;\n }\n\n // 次の開始数\n begin = end + 1;\n }\n\n // もしすべてが整数であれば、閾値も整数にする\n for (let i = 0; i < thresholds.length; i++) {\n thresholds[i].begin = round(thresholds[i].begin, 0);\n thresholds[i].end = round(thresholds[i].end, 0);\n }\n\n return thresholds;\n}\n\n/**\n * 実数データ用の閾値リスト生成\n * @param binsCount bin数\n * @param binWidth bin幅\n * @param minValue 最小値\n * @param maxValue 最大値\n */\nfunction createThresholdsForFloat(\n binsCount: number,\n binWidth: number,\n minValue: number,\n maxValue: number\n): any[] {\n const thresholds: any[] = [];\n let begin = minValue;\n for (let i = 0; i < binsCount; i++) {\n const end = round(begin + binWidth, 2);\n\n thresholds.push({\n begin: begin,\n end: end,\n });\n\n if (end > maxValue) {\n break;\n }\n\n // 次の開始数\n begin = end + 0.01;\n }\n return thresholds;\n}\n","\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport Highcharts from 'highcharts';\nimport histogram from 'highcharts/modules/histogram-bellcurve';\nhistogram(Highcharts);\n\nimport toHistogram from '@/trials/lib/highchartHelper/histogramConverter';\n\n@Component\nexport default class Histogram extends Vue {\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n @Prop(String) name: string;\n @Prop({ default: {} }) data: { [key: string]: any };\n @Prop(String) selector: string;\n\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n mounted() {\n this._drawChart();\n }\n\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n private _drawChart() {\n const infoList = [\n {\n name: this.name,\n data: this.data,\n },\n ];\n const convertedData = toHistogram(infoList);\n // 描画設定\n const chartParam: { [key: string]: any } = {\n chart: {\n type: 'column',\n },\n credits: {\n enabled: false,\n },\n title: {\n text: '',\n },\n\n xAxis: [\n {\n categories: convertedData.categories,\n },\n ],\n\n yAxis: [\n {\n title: { text: '' },\n },\n ],\n legend: {\n enabled: false,\n },\n plotOptions: {\n column: {\n accessibility: {\n pointDescriptionFormatter: function(point: any) {\n var ix = point.index + 1,\n x1 = point.x.toFixed(3),\n x2 = point.x2.toFixed(3),\n val = point.y;\n return ix + '. ' + x1 + ' to ' + x2 + ', ' + val + '.';\n },\n },\n pointPadding: 0,\n borderWidth: 0,\n groupPadding: 0,\n shadow: false,\n dataLabels: {\n enabled: true,\n },\n },\n },\n\n series: convertedData.series,\n };\n Highcharts.chart(this.selector, chartParam);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Histogram.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Histogram.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Histogram.vue?vue&type=template&id=55204978&\"\nimport script from \"./Histogram.vue?vue&type=script&lang=ts&\"\nexport * from \"./Histogram.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:\"bar-chart\"},[_c('div',{class:_vm.selector,attrs:{\"id\":_vm.selector}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport Highcharts from 'highcharts';\n\n@Component\nexport default class BarChart extends Vue {\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n @Prop({ default: () => {} }) data: { [key: string]: any };\n @Prop(String) selector: string;\n @Prop({ default: () => [] }) categories: string[];\n @Prop({ default: () => [] }) colors: string[];\n @Prop(String) xTitle: string;\n @Prop(String) yTitle: string;\n\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n mounted() {\n this._drawChart();\n }\n\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n private _drawChart() {\n // 表示データ抽出\n const series = [{ data: [], colorByPoint: true }];\n for (let i = 0; i < this.categories.length; i++) {\n const category: string = this.categories[i];\n series[0].data.push(this.data[category]);\n }\n\n // 外部から色の配列が渡されてきたら利用\n // 色の数 < 棒の数 の場合、最初の色から繰り返される\n if (this.colors.length > 0) {\n series[0]['colors'] = this.colors;\n }\n\n // 描画設定\n const chartParam: { [key: string]: any } = {\n chart: {\n type: 'column',\n },\n credits: {\n enabled: false,\n },\n title: {\n text: '',\n },\n\n xAxis: [\n {\n categories: this.categories,\n title: {\n text: this.xTitle,\n },\n },\n ],\n yAxis: {\n min: 0,\n title: {\n text: this.yTitle,\n },\n },\n legend: {\n enabled: false,\n },\n tooltip: {\n headerFormat: '{point.x}: {point.y}
',\n pointFormat: '',\n },\n plotOptions: {\n column: {\n dataLabels: {\n enabled: true,\n },\n },\n },\n series: series,\n };\n Highcharts.chart(this.selector, chartParam);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BarChart.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BarChart.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BarChart.vue?vue&type=template&id=94f42482&\"\nimport script from \"./BarChart.vue?vue&type=script&lang=ts&\"\nexport * from \"./BarChart.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\nimport { Component, Vue } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport Histogram from '@/trials/views/components/Histogram.vue';\nimport BarChart from '@/trials/views/components/BarChart.vue';\nimport TrainColumn from '@/trials/domain/objects/trainColumn';\n\n@Component({ components: { Histogram, BarChart } })\nexport default class TrainDataStatisticsLabels extends Vue {\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private labelColumn: TrainColumn | null = null;\n private data: any = {};\n private categories: any[] = [];\n private colors: string[] = [SC.Color.NEGATIVE, SC.Color.POSITIVE];\n private labelName: string = '';\n\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n created() {\n // labelのcolumnデータ取得\n const columns: TrainColumn[] = sessionModule.getTrainDataStatistics;\n this.labelColumn = columns.filter((column: TrainColumn) => {\n return column.isLabel;\n })[0];\n\n // カテゴリデータを生成\n this.categories = Object.keys(this.labelColumn.data);\n this.categories.sort();\n\n // BarChartに表示させるためのデータを生成\n // BarChartは文字列データ用ですが、見た目が良いので利用しています。\n // そのため、数値データ(labelは 0, 1 のみ)を文字列データ用の構造に変換しています。\n for (let i = 0; i < this.categories.length; i++) {\n const category = this.categories[i];\n this.data[category] = this.labelColumn.data[category].length;\n }\n\n // ラベル行に設定されたカラム名を保持\n this.labelName = sessionModule.getTrainingData.labelName;\n }\n\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainDataStatisticsAll.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainDataStatisticsAll.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TrainDataStatisticsAll.vue?vue&type=template&id=0e7910d9&\"\nimport script from \"./TrainDataStatisticsAll.vue?vue&type=script&lang=ts&\"\nexport * from \"./TrainDataStatisticsAll.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\ninstallComponents(component, {VCard,VCardText})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"train-data-statistics_na\"}},[_c('v-tabs',{attrs:{\"dark\":\"\",\"vertical\":\"\"}},[_vm._l((_vm.trainDataStatistics),function(item){return _c('v-tab',{key:item.name,on:{\"click\":function($event){}}},[_vm._v(\" \"+_vm._s(item.name)+\" \")])}),_vm._l((_vm.trainDataStatistics),function(item){return _c('v-tab-item',{key:item.name,staticClass:\"end-content\"},[_c('v-card',{staticClass:\"description\",attrs:{\"title\":\"\",\"elevation\":\"0\"}},[_c('v-card-text',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.description.step1.step3.na'))}})],1),_c('div',{staticClass:\"text-center pb-2\"},[_vm._v(_vm._s(item.name))]),_c('v-simple-table',{scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('td',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t('trials.caption.data.na.labels')))]),_c('td',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t('trials.caption.data.na.count')))]),_c('td',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t('trials.caption.data.na.ratio')))])])]),_c('tbody',_vm._l((item.countsForLabel),function(count){return _c('tr',{key:count.val},[_c('td',{staticClass:\"text-center\"},[_vm._v(_vm._s(count.val))]),_c('td',{staticClass:\"text-center\"},[_vm._v(_vm._s(count.invalidCount)+\" / \"+_vm._s(count.totalCount))]),_c('td',{staticClass:\"text-center\"},[_vm._v(_vm._s(count.invalidRatio)+\" %\")])])}),0)]},proxy:true}],null,true)})],1)})],2)],1)}\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\nimport TrainColumn from '@/trials/domain/objects/trainColumn';\n\n@Component\nexport default class TrainDataStatisticsNa extends Vue {\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private trainDataStatistics: TrainColumn[] = [];\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n created() {\n // label以外のデータにする\n const columns: TrainColumn[] = sessionModule.getTrainDataStatistics;\n this.trainDataStatistics = columns.filter((column: TrainColumn) => {\n return !column.isLabel;\n });\n }\n\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainDataStatisticsNa.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainDataStatisticsNa.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TrainDataStatisticsNa.vue?vue&type=template&id=504c9e54&\"\nimport script from \"./TrainDataStatisticsNa.vue?vue&type=script&lang=ts&\"\nexport * from \"./TrainDataStatisticsNa.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VCard,VCardText,VSimpleTable,VTab,VTabItem,VTabs})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"train-data-statistics_labels\"}},[_c('v-tabs',{attrs:{\"dark\":\"\",\"vertical\":\"\"}},[_vm._l((_vm.trainDataStatistics),function(item){return _c('v-tab',{key:item.name,on:{\"click\":function($event){}}},[_vm._v(\" \"+_vm._s(item.name)+\" \")])}),_vm._l((_vm.trainDataStatistics),function(item,index){return _c('v-tab-item',{key:item.name,staticClass:\"end-content\"},[_c('v-card',{staticClass:\"description\",attrs:{\"title\":\"\",\"elevation\":\"0\"}},[_c('v-card-text',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.description.step1.step3.labels'))}})],1),_c('div',{staticClass:\"text-center pb-2\"},[_vm._v(_vm._s(item.name))]),(item.type == _vm.inputTypeNumber)?_c('MultiLabelHistogram',{attrs:{\"name\":item.name,\"data\":item.data,\"labels\":item.labels,\"selector\":(\"train-data-statistics_labels_\" + index),\"legendTitle\":_vm.labelName}}):_vm._e(),(item.type != _vm.inputTypeNumber)?_c('MultiLabelBarChart',{attrs:{\"name\":item.name,\"data\":item.data,\"labels\":item.labels,\"categories\":item.categories,\"selector\":(\"train-data-statistics_labels_\" + index),\"legendTitle\":_vm.labelName}}):_vm._e()],1)})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"binary-histogram\"},[_c('div',{class:_vm.selector,attrs:{\"id\":_vm.selector}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport Highcharts from 'highcharts';\nimport histogram from 'highcharts/modules/histogram-bellcurve';\nhistogram(Highcharts);\n\nimport toHistogram from '@/trials/lib/highchartHelper/histogramConverter';\n\n@Component\nexport default class MultiLabelHisogram extends Vue {\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n @Prop(String) name: string;\n @Prop({ default: {} }) data: { [key: string]: any };\n @Prop(String) selector: string;\n @Prop() labels: any[];\n @Prop(String) legendTitle: string;\n\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n mounted() {\n this._drawChart();\n }\n\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n private _drawChart() {\n // 表示データ抽出\n const infoList = [];\n for (let i = 0; i < this.labels.length; i++) {\n const label = this.labels[i];\n const data = [...this.data[label]];\n\n infoList.push({\n name: label,\n data: data,\n });\n }\n const binaryData = toHistogram(infoList);\n\n // グラフの色を指定\n for (let i = 0; i < binaryData.series.length; i++) {\n const series: any = binaryData.series[i];\n series['color'] = series.name == 1 ? SC.Color.POSITIVE : SC.Color.NEGATIVE;\n }\n\n // 描画設定\n const chartParam: { [key: string]: any } = {\n chart: {\n type: 'column',\n },\n credits: {\n enabled: false,\n },\n title: {\n text: '',\n },\n\n xAxis: [\n {\n categories: binaryData.categories,\n },\n ],\n\n yAxis: [\n {\n title: { text: '' },\n },\n ],\n legend: {\n title: {\n text: this.legendTitle,\n },\n },\n plotOptions: {\n column: {\n accessibility: {\n pointDescriptionFormatter: function(point: any) {\n var ix = point.index + 1,\n x1 = point.x.toFixed(3),\n x2 = point.x2.toFixed(3),\n val = point.y;\n return ix + '. ' + x1 + ' to ' + x2 + ', ' + val + '.';\n },\n },\n pointPadding: 0,\n borderWidth: 0,\n groupPadding: 0,\n shadow: false,\n stacking: 'normal',\n dataLabels: {\n enabled: true,\n },\n },\n },\n\n series: binaryData.series,\n };\n Highcharts.chart(this.selector, chartParam);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiLabelHistogram.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiLabelHistogram.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MultiLabelHistogram.vue?vue&type=template&id=28e29c17&\"\nimport script from \"./MultiLabelHistogram.vue?vue&type=script&lang=ts&\"\nexport * from \"./MultiLabelHistogram.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:\"binary-bar-chart\"},[_c('div',{class:_vm.selector,attrs:{\"id\":_vm.selector}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport Highcharts from 'highcharts';\n\n@Component\nexport default class MultiLabelBarChart extends Vue {\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n @Prop(String) name: string;\n @Prop({ default: () => {} }) data: { [key: string]: any };\n @Prop(String) selector: string;\n @Prop() labels: any[];\n @Prop(String) legendTitle: string;\n @Prop({ default: () => [] }) categories: string[];\n\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n mounted() {\n this.drawChart();\n }\n\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n private drawChart() {\n // 表示データ抽出\n // ラベルの文だけseries用データ構造を作成\n const series = [];\n for (let i = 0; i < this.labels.length; i++) {\n series.push({\n name: this.labels[i],\n data: [],\n color: this.labels[i] == 1 ? SC.Color.POSITIVE : SC.Color.NEGATIVE,\n });\n }\n\n // this.data は カテゴリ × ラベル のマトリクス\n // カテゴリとはそのカラムで使用された値の種類\n for (let i = 0; i < this.categories.length; i++) {\n const category: string = this.categories[i];\n for (let k = 0; k < this.labels.length; k++) {\n const label = this.labels[k];\n if (label in this.data[category]) {\n series[k].data.push(this.data[category][label]);\n } else {\n series[k].data.push(0);\n }\n }\n }\n\n // 描画設定\n const chartParam: { [key: string]: any } = {\n chart: {\n type: 'column',\n },\n credits: {\n enabled: false,\n },\n title: {\n text: '',\n },\n\n xAxis: [\n {\n categories: this.categories,\n },\n ],\n yAxis: {\n min: 0,\n title: {\n text: '',\n },\n stackLabels: {\n enabled: true,\n style: {\n fontWeight: 'bold',\n color:\n // theme\n (Highcharts.defaultOptions.title.style &&\n Highcharts.defaultOptions.title.style.color) ||\n 'gray',\n },\n },\n },\n legend: {\n title: {\n text: this.legendTitle,\n },\n },\n tooltip: {\n headerFormat: '{point.x}
',\n pointFormat: '{series.name}: {point.y}
Total: {point.stackTotal}',\n },\n plotOptions: {\n column: {\n stacking: 'normal',\n dataLabels: {\n enabled: true,\n },\n },\n },\n series: series,\n };\n Highcharts.chart(this.selector, chartParam);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiLabelBarChart.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiLabelBarChart.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MultiLabelBarChart.vue?vue&type=template&id=5715501b&\"\nimport script from \"./MultiLabelBarChart.vue?vue&type=script&lang=ts&\"\nexport * from \"./MultiLabelBarChart.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\nimport { Component, Vue } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport MultiLabelHistogram from '@/trials/views/components/MultiLabelHistogram.vue';\nimport MultiLabelBarChart from '@/trials/views/components/MultiLabelBarChart.vue';\nimport TrainColumn from '@/trials/domain/objects/trainColumn';\n\n@Component({ components: { MultiLabelHistogram, MultiLabelBarChart } })\nexport default class TrainDataStatisticsLabels extends Vue {\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private inputTypeNumber: string = SC.InputData.Type.NUMBER;\n private labelName: string = '';\n private trainDataStatistics: TrainColumn[] = [];\n\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n created() {\n // label以外のデータにする\n const columns: TrainColumn[] = sessionModule.getTrainDataStatistics;\n this.trainDataStatistics = columns.filter((column: TrainColumn) => {\n return !column.isLabel;\n });\n }\n\n mounted() {\n // ラベル行に設定されたカラム名を保持\n this.labelName = sessionModule.getTrainingData.labelName;\n }\n\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainDataStatisticsLabels.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainDataStatisticsLabels.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TrainDataStatisticsLabels.vue?vue&type=template&id=72cfbc15&\"\nimport script from \"./TrainDataStatisticsLabels.vue?vue&type=script&lang=ts&\"\nexport * from \"./TrainDataStatisticsLabels.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VCard,VCardText,VTab,VTabItem,VTabs})\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, Vue } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport TrainDataStatisticsAll from '@/trials/views/trials/train/data/TrainDataStatisticsAll.vue';\nimport TrainDataStatisticsNa from '@/trials/views/trials/train/data/TrainDataStatisticsNa.vue';\nimport TrainDataStatisticsLabels from '@/trials/views/trials/train/data/TrainDataStatisticsLabels.vue';\n\n@Component({\n components: { TrainDataStatisticsAll, TrainDataStatisticsNa, TrainDataStatisticsLabels },\n})\nexport default class TrainDataStatistics extends Vue {\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private labelName: string = '';\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n mounted() {\n // ラベル行に設定されたカラム名を保持\n this.labelName = sessionModule.getTrainingData.labelName;\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainDataStatistics.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainDataStatistics.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TrainDataStatistics.vue?vue&type=template&id=e0156eb8&\"\nimport script from \"./TrainDataStatistics.vue?vue&type=script&lang=ts&\"\nexport * from \"./TrainDataStatistics.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VTab,VTabItem,VTabs})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"end-content text-center\",attrs:{\"id\":\"train-data-getting-kc-list\"}},[(_vm.isListed)?_c('v-card',{staticClass:\"description\",attrs:{\"title\":\"\",\"elevation\":\"0\"}},[_c('v-card-text',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.description.step1.finish_create_kc'))}})],1):_c('v-card',{staticClass:\"description\",attrs:{\"title\":\"\",\"elevation\":\"0\"}},[_c('v-card-text',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.description.step1.creating_kc'))}}),_c('ProgressItem')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport ProgressItem from '@/trials/views/components/ProgressItem.vue';\n\n@Component({ components: { ProgressItem } })\nexport default class TrainDataGettingKcList extends Vue {\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private intervalMs: number = 1000 * 3;\n\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n // 初期化されたか\n private get isformatted(): boolean {\n return sessionModule.getTrainingData === null;\n }\n\n // KC列挙状態\n private get listedState(): number {\n return sessionModule.getListed;\n }\n\n // KC列挙が終了したか\n private get isListed(): boolean {\n return this.listedState === SC.Flag.Process.DONE;\n }\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n mounted() {\n if (this.listedState === SC.Flag.Process.TODO) {\n // フラグ更新(KC列挙 実施中)\n sessionModule.SET_LISTED(SC.Flag.Process.DOING);\n\n this.getKcList();\n }\n }\n\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n private async getKcList() {\n // 学習開始\n const createResult = await sessionModule.startCreateModel();\n\n // 学習開始失敗時はここで終了\n if (!createResult) {\n this.goBack();\n return;\n }\n\n // 学習状況確認\n // 定期的に呼ばれる処理\n const pooling = (milliSeconds: number) => {\n return new Promise((resolve, reject) => {\n setTimeout(async () => {\n resolve(await sessionModule.getModelCreationState());\n }, milliSeconds);\n });\n };\n\n // 定期的に呼ぶ処理\n while (true) {\n const status = await pooling(this.intervalMs);\n\n // 初期化されていれば処理終了\n if (this.isformatted) {\n return;\n }\n\n if (status == 'completed') break;\n if (status == 'error' || status == '') {\n this.goBack();\n return;\n }\n }\n\n // ナレッジチャンク一覧取得\n const kcListResult = await sessionModule.getKcListForModel();\n\n if (!kcListResult) {\n this.goBack();\n return;\n }\n\n // KC列挙への自動遷移\n sessionModule.SET_LISTED(SC.Flag.Process.DONE);\n sessionModule.SET_ROUTE_TRIALS(SC.Path.TRAIN_KC_MENU);\n this.$router.replace(sessionModule.getCurrentRouterViewTrials);\n }\n\n private goBack(): void {\n // フラグ更新(KC未列挙)\n sessionModule.SET_LISTED(SC.Flag.Process.TODO);\n\n // この画面が表示されている場合はひとつ前にもどる\n if (this.$route.path === SC.Path.TRAIN_DATA_GETTING_KC_LIST) {\n this.$router.go(-1);\n }\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainDataGettingKcList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainDataGettingKcList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TrainDataGettingKcList.vue?vue&type=template&id=7d2ead26&\"\nimport script from \"./TrainDataGettingKcList.vue?vue&type=script&lang=ts&\"\nexport * from \"./TrainDataGettingKcList.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\ninstallComponents(component, {VCard,VCardText})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"train-results\"}},[_c('v-app-bar',{staticClass:\"mid-menu\",attrs:{\"flat\":\"\"}},[_c('v-toolbar-items',{staticClass:\"d-flex justify-center pa-1\"},[_c('v-btn',{class:{active: _vm.activeAll},attrs:{\"text\":\"\",\"disabled\":_vm.disabledAll,\"ripple\":false},domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.menu.step3.step1.label'))},on:{\"click\":_vm.toAll}}),_c('v-btn',{class:{active: _vm.activeData},attrs:{\"text\":\"\",\"disabled\":_vm.disabledData,\"ripple\":false},domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.menu.step3.step2.label'))},on:{\"click\":_vm.toData}})],1),_c('v-spacer'),_c('v-btn',{staticClass:\"mr-3 white--text\",attrs:{\"disabled\":_vm.enabledPredictPhase,\"color\":_vm.nextBtnColorBg,\"large\":\"\",\"ripple\":false},on:{\"click\":_vm.goPredictPhase}},[_vm._v(\" \"+_vm._s(_vm.$t('trials.menu.step3.button.next'))+\" \"),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-img',_vm._g({attrs:{\"src\":\"/assets/image/help.png\"}},on))]}}])},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.help06.create_kc'))}})])],1)],1),_c('router-view',{staticClass:\"end-component\"})],1)}\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\n\n\n\n\n\n\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, Vue } from 'vue-property-decorator';\nimport { SysConst as SC } from '@/trials/plugins/const';\nimport { sessionModule } from '@/trials/store/modules/session';\n\n@Component\nexport default class TrainResultMenu extends Vue {\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private nextBtnColorBg: string = SC.Color.Button.Next.BG;\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n // アクティブコンテンツ\n private get currentContent() {\n return sessionModule.getCurrentRouterViewTrainResult;\n }\n\n private get enabledPredictPhase(): boolean {\n return sessionModule.getEnabledPredictPhase;\n }\n\n /*----------------------------------*\n * Active, Disabledフラグ\n *-----------------------------------*/\n // 全体の学習デ結果\n private get activeAll(): boolean {\n return this.$route.path.startsWith(SC.Path.TRAIN_RESULT_ALL);\n }\n private get disabledAll() {\n return this.activeAll;\n }\n\n // 個別の学習結果\n private get activeData(): boolean {\n return this.$route.path.startsWith(SC.Path.TRAIN_RESULT_DATA);\n }\n private get disabledData() {\n return this.activeData;\n }\n\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n mounted() {\n // Child コンポーネントの指定なし\n if (this.$route.path == SC.Path.TRAIN_RESULT_MENU) {\n // Child コンポーネントへのルーティング\n this.$router.replace(this.currentContent);\n }\n }\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n // コンテンツ表示\n private viewContent(content: string) {\n sessionModule.SET_ROUTE_TRAIN_RESULT(content);\n this.$router.push(this.currentContent);\n }\n\n /* Clickメソッド(コンテンツ切替)\n ------------------------------*/\n // 全体\n private toAll() {\n this.viewContent(SC.Path.TRAIN_RESULT_ALL);\n }\n\n // データ一覧\n private toData() {\n this.viewContent(SC.Path.TRAIN_RESULT_DATA);\n }\n\n // 予測の準備へ遷移\n private goPredictPhase() {\n sessionModule.SET_ENABLED_PREDICT_PHASE(true);\n sessionModule.SET_ROUTE_TRIALS(SC.Path.PREDICT_DATA_MENU);\n this.$router.push(sessionModule.getCurrentRouterViewTrials);\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainResultMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainResultMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TrainResultMenu.vue?vue&type=template&id=d2d236fc&\"\nimport script from \"./TrainResultMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./TrainResultMenu.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbarItems } from 'vuetify/lib/components/VToolbar';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VAppBar,VBtn,VImg,VSpacer,VToolbarItems,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"train-result-all\"}},[_c('v-toolbar',{staticClass:\"d-flex justify-end\",attrs:{\"dense\":\"\",\"flat\":\"\",\"absolute\":\"\"}},[_c('v-spacer'),(_vm.isAll)?_c('v-btn',{staticClass:\"blue--text\",attrs:{\"text\":\"\",\"tile\":\"\",\"ripple\":false},on:{\"click\":_vm.toParams}},[_c('em',[_c('span',[_vm._v(_vm._s(_vm.$t('trials.menu.step3.step1.button.to_params_prefix')))])]),_vm._v(\" \"+_vm._s(_vm.$t('trials.menu.step3.step1.button.to_params'))+\" \")]):_c('v-btn',{staticClass:\"blue--text\",attrs:{\"text\":\"\",\"tile\":\"\",\"ripple\":false},on:{\"click\":_vm.toAll}},[_vm._v(\" \"+_vm._s(_vm.$t('trials.menu.step3.step1.button.to_all'))+\" \")])],1),_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"1\"}}),_c('v-col',{attrs:{\"cols\":\"10\"}},[(_vm.isAll)?_c('TrainResultKC'):_c('TrainResultParams',{staticClass:\"mt-4\"})],1),_c('v-col',{attrs:{\"cols\":\"1\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"end-content\",attrs:{\"id\":\"train-result-kc\"}},[_c('v-card',{staticClass:\"description\",attrs:{\"title\":\"\",\"elevation\":\"0\"}},[_c('v-card-text',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.description.step3.step1.all'))}})],1),_c('KCSummary',{attrs:{\"kcList\":_vm.kcList}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kc-summary\"},[_c('div',{staticClass:\"kc-summary-chart\",style:({ marginTop: _vm.showPieChart ? 'unset' : '16px' })},[_c('v-card',{attrs:{\"tile\":\"\",\"elevation\":\"0\"}},[(_vm.showPieChart)?_c('div',{class:_vm.chartSelector,attrs:{\"id\":_vm.chartSelector}}):_vm._e()]),_c('v-toolbar',{attrs:{\"dense\":\"\",\"flat\":\"\",\"absolute\":\"\"}},[_c('v-spacer'),_c('v-btn-toggle',{attrs:{\"dense\":\"\",\"group\":\"\",\"mandatory\":\"\"},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}},[_c('v-btn',{attrs:{\"value\":1,\"text\":\"\",\"color\":_vm.posColor}},[_vm._v(_vm._s(_vm.$t('trials.caption.results.knowledge_chunk.pos')))]),_c('v-btn',{attrs:{\"value\":2,\"text\":\"\",\"color\":_vm.negColor}},[_vm._v(_vm._s(_vm.$t('trials.caption.results.knowledge_chunk.neg')))])],1),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-img',_vm._g({attrs:{\"src\":\"/assets/image/help_b.png\"}},on))]}}])},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.help05.create_kc'))}})])],1)],1),(_vm.standby)?_c('DataTable',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selected == 1),expression:\"selected == 1\"}],attrs:{\"dataSet\":_vm.tableDataPos,\"defaultSortBy\":_vm.defaultSortPos,\"showIndex\":false}}):_vm._e(),(_vm.standby)?_c('DataTable',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selected == 2),expression:\"selected == 2\"}],attrs:{\"dataSet\":_vm.tableDataNeg,\"defaultSortBy\":_vm.defaultSortNeg,\"showIndex\":false}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * 通知ダイアログ用のデータを保持するクラス\n */\nexport default class NotificationDialogData {\n /**\n * メッセージで使用するキー\\\n * i18nで設定されているキーの形式\n */\n private _messageKey: string;\n\n /**\n * コンストラクタ\n * @param messageKey メッセージ用キー\n */\n constructor(\n messageKey: string,\n ) {\n this._messageKey = messageKey;\n }\n\n /**\n * getter メッセージ用のキー取得\n */\n public get messageKey(): string {\n return this._messageKey;\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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, Vue, Prop, Watch } from 'vue-property-decorator';\nimport Highcharts from 'highcharts';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport KnowledgeChunks from '@/trials/domain/objects/knowledgeChunks';\nimport DataTable from '@/trials/views/components/DataTable.vue';\nimport NotificationDialogData from '@/trials/domain/objects/notificationDialogData';\n\n@Component({ components: { DataTable } })\nexport default class KCSummary extends Vue {\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n @Prop({ required: true })\n private kcList: KnowledgeChunks | null;\n @Prop({ default: false})\n private isPredict: boolean;\n @Prop({ default: 0 })\n private selectedIndex: number;\n\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private selected: number = 1;\n private tableDataPos: any[] = [];\n private defaultSortPos: any = {};\n private tableDataNeg: any[] = [];\n private defaultSortNeg: any = {};\n private chartSelector: string = '';\n private standby: boolean = false;\n private posColor: string = SC.Color.POSITIVE;\n private negColor: string = SC.Color.NEGATIVE;\n private showPieChart: boolean = true;\n\n private chartParam: { [key: string]: any } = {\n chart: {\n backgroundColor: 'transparent',\n plotBackgroundColor: null,\n plotBorderWidth: 0,\n plotShadow: false,\n height: 200,\n },\n credits: { enabled: false }, // 「Highcharts.com」非表示\n title: {\n text: '',\n align: 'center',\n verticalAlign: 'middle',\n style: { color: '#536DFE' },\n y: 20,\n },\n tooltip: {\n pointFormat: '{point.percentage:.1f}%',\n },\n plotOptions: {\n pie: {\n dataLabels: {\n enabled: true,\n distance: 0,\n style: {\n fontWeight: 'bold',\n color: 'white',\n },\n },\n startAngle: 0,\n endAngle: 0,\n center: ['50%', '50%'],\n size: '100%',\n },\n },\n series: [\n {\n type: 'pie',\n name: '全体解析',\n innerSize: '60%',\n data: [],\n turboThreshold: 2000,\n },\n ],\n };\n\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n created() {\n this.chartSelector =\n 'kc-summary-' +\n Math.random()\n .toString(32)\n .substring(2);\n }\n\n mounted() {\n this.reloadSummary();\n }\n\n /*----------------------------------*\n * Watch\n *-----------------------------------*/\n @Watch('kcList')\n private renderChild(newVal: KnowledgeChunks) {\n // 有効データ投入確認\n if (newVal) {\n this.reloadSummary();\n }\n }\n\n @Watch('$i18n.locale')\n private changeLocale(newVal: string) {\n this.reloadSummary();\n }\n\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n private reloadSummary(): void {\n this.standby = false;\n this.showPieChart = this.canDrawChart();\n\n Vue.nextTick(() => {\n if (this.showPieChart) {\n this.drawChart();\n }\n this.setTableData();\n this.standby = true;\n });\n }\n\n /**\n * 円グラフを描画可能かどうかを判定します。\n * @returns 描画可能な場合は`true`、その他の場合は`false`。\n */\n private canDrawChart(): boolean {\n if (!this.isPredict) {\n return true;\n }\n\n // POS/NEG ナレッジチャンクの数\n const n_pos = this.kcList.posObjects.length;\n const n_neg = this.kcList.negObjects.length;\n\n // 選択中の推論結果\n const prediction: string = sessionModule.getPredictResults.fetchByIndex(this.selectedIndex).predict;\n\n if (prediction === 'pos' && n_pos === 0) {\n sessionModule.showNotificationDialog(new NotificationDialogData('trials.caption.results.data.no_data_pos'));\n return false;\n }\n\n if (prediction === 'neg' && n_neg === 0) {\n sessionModule.showNotificationDialog(new NotificationDialogData('trials.caption.results.data.no_data_neg'));\n return false;\n }\n\n return true;\n }\n\n private setPieChartData(): void {\n if (this.kcList === null) {\n return;\n }\n\n const chartData = [];\n const posData: any[] = this.kcList.posObjects;\n const negData: any[] = this.kcList.negObjects;\n\n const hasCorrectedWeight = 'corrected_weight' in (posData[0] || negData[0] || {});\n const key = hasCorrectedWeight && this.isPredict ? 'corrected_weight' : 'weight';\n const picker = item => item[key];\n const criterion = (a, b) => picker(a) > picker(b) ? 1 : -1;\n\n // パイチャート用negData作成\n\n // weightの昇順でソート\n negData.sort(criterion);\n\n for (let i = 0; i < negData.length; i++) {\n const chunk = negData[i];\n chartData.push({\n name: chunk.chunk,\n y: Math.abs(picker(chunk)),\n color: SC.Color.NEGATIVE,\n dataLabels: {\n enabled: false,\n },\n });\n }\n\n // パイチャート用posData作成\n\n // weightの昇順でソート\n posData.sort(criterion);\n for (let i = 0; i < posData.length; i++) {\n const chunk = posData[i];\n chartData.push({\n name: chunk.chunk,\n y: Math.abs(picker(chunk)),\n color: SC.Color.POSITIVE,\n dataLabels: {\n enabled: false,\n },\n });\n }\n\n this.chartParam.series[0].data = chartData;\n }\n\n private drawChart(): void {\n this.setPieChartData();\n Highcharts.chart(this.chartSelector, this.chartParam);\n }\n\n private setTableData(): void {\n if (this.kcList === null) {\n return;\n }\n\n const showHeaders = [\n this.$i18n.t('trials.caption.results.knowledge_chunk.chunk'),\n this.$i18n.t('trials.caption.results.knowledge_chunk.weight'),\n ];\n const weightKey: any = this.$i18n.t('trials.caption.results.knowledge_chunk.weight');\n this.defaultSortPos[weightKey] = true;\n this.defaultSortNeg[weightKey] = false;\n\n // 表示に必要なカラムのデータだけ抽出\n this.tableDataPos = this.kcList.posObjects.map(obj => {\n return [obj.chunk, obj.weight];\n });\n\n this.tableDataNeg = this.kcList.negObjects.map(obj => {\n return [obj.chunk, obj.weight];\n });\n\n // header追加\n this.tableDataPos.unshift(showHeaders);\n this.tableDataNeg.unshift(showHeaders);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KCSummary.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KCSummary.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./KCSummary.vue?vue&type=template&id=0c66c901&\"\nimport script from \"./KCSummary.vue?vue&type=script&lang=ts&\"\nexport * from \"./KCSummary.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VBtnToggle } from 'vuetify/lib/components/VBtnToggle';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VBtnToggle,VCard,VImg,VSpacer,VToolbar,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport Highcharts from 'highcharts';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport KnowledgeChunks from '@/trials/domain/objects/knowledgeChunks';\nimport KCSummary from '@/trials/views/components/KCSummary.vue';\n\n@Component({ components: { KCSummary } })\nexport default class TrainResultKC extends Vue {\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private selected: number = 1;\n private kcList: KnowledgeChunks | null = null;\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n created() {\n this.kcList = sessionModule.getKCListData;\n }\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainResultKC.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainResultKC.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TrainResultKC.vue?vue&type=template&id=58506a78&\"\nimport script from \"./TrainResultKC.vue?vue&type=script&lang=ts&\"\nexport * from \"./TrainResultKC.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\ninstallComponents(component, {VCard,VCardText})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"end-content\",attrs:{\"id\":\"train-result-params\"}},[_c('v-card',{staticClass:\"description\",attrs:{\"title\":\"\",\"elevation\":\"0\"}},[_c('v-card-text',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.description.step3.step1.params'))}})],1),_c('img',{attrs:{\"src\":_vm.$t('trials.description.step3.step1.img_url')}}),_c('v-layout',{attrs:{\"wrap\":\"\"}},[_c('v-flex',[_c('v-simple-table',{scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('trials.caption.results.score.evaluation_metrics')))]),_c('th',[_vm._v(_vm._s(_vm.$t('trials.caption.results.score.evaluation_value')))])])]),_c('tbody',_vm._l((_vm.scoresDataSet),function(item){return _c('tr',{key:item.key},[_c('td',[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('span',_vm._g({},on),[_vm._v(_vm._s(_vm.$t((\"trials.caption.results.score.\" + (item.key) + \".label\"))))])]}}],null,true)},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t((\"trials.caption.results.score.\" + (item.key) + \".description\")))}})])],1),_c('td',[_vm._v(_vm._s(_vm.formatScore(item.value)))])])}),0)]},proxy:true}])})],1)],1)],1)}\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport DataTable from '@/trials/views/components/DataTable.vue';\nimport TrainParams from '@/trials/domain/objects/trainParams';\n\n@Component({ components: { DataTable } })\nexport default class TrainResultParams extends Vue {\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private scoresDataSet: any[] = [];\n private headers: any[] = [];\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n created() {\n this.makeDataSet();\n }\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n private makeDataSet() {\n const trainParams: TrainParams | null = sessionModule.getTrainParams;\n\n if (trainParams == null) {\n return;\n }\n\n // scores\n Object.keys(trainParams.bestScores).forEach(key => {\n const row = { key: key, value: trainParams.bestScores[key] };\n this.scoresDataSet.push(row);\n });\n }\n\n private formatScore(value: any) {\n if (typeof value !== 'number' || isNaN(value) || !isFinite(value)) {\n return value;\n }\n\n return value.toFixed(3);\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainResultParams.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainResultParams.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TrainResultParams.vue?vue&type=template&id=85941d14&scoped=true&\"\nimport script from \"./TrainResultParams.vue?vue&type=script&lang=ts&\"\nexport * from \"./TrainResultParams.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TrainResultParams.vue?vue&type=style&index=0&id=85941d14&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 \"85941d14\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VCard,VCardText,VFlex,VLayout,VSimpleTable,VTooltip})\n","\n\n\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, Vue } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport TrainResultKC from '@/trials/views/trials/train/result/TrainResultKC.vue';\nimport TrainResultParams from '@/trials/views/trials/train/result/TrainResultParams.vue';\n\n@Component({ components: { TrainResultKC, TrainResultParams } })\nexport default class TrainResultAll extends Vue {\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private currentPage: string = 'All';\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n // アクティブコンテンツ\n private get currentContent() {\n return sessionModule.getCurrentRouterViewTrainResultAll;\n }\n private get isAll(): boolean {\n return this.currentContent === SC.Path.TRAIN_RESULT_ALL_KC;\n }\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n /* Clickメソッド(コンテンツ切替) \n ------------------------------*/\n // 全体\n private toAll() {\n sessionModule.SET_ROUTE_TRAIN_RESULT_ALL(SC.Path.TRAIN_RESULT_ALL_KC);\n }\n\n // パラメータ\n private toParams() {\n sessionModule.SET_ROUTE_TRAIN_RESULT_ALL(SC.Path.TRAIN_RESULT_ALL_PARAMS);\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainResultAll.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainResultAll.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TrainResultAll.vue?vue&type=template&id=3507d85f&\"\nimport script from \"./TrainResultAll.vue?vue&type=script&lang=ts&\"\nexport * from \"./TrainResultAll.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCol,VContainer,VRow,VSpacer,VToolbar})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"train-result-data\"}},[_c('TrainResultDataBefore')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"end-content\",attrs:{\"id\":\"train-result-data-before\"}},[_c('v-card',{staticClass:\"description\",attrs:{\"title\":\"\",\"elevation\":\"0\"}},[_c('v-card-text',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.description.step3.step2.before'))}})],1),_c('KCListAndDetail',{attrs:{\"tableData\":_vm.tableData,\"kcList\":_vm.kcList,\"selectHandler\":_vm.selectHandler,\"selectedIndex\":_vm.selectedIndex}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kc-list-and-detail\"},[_c('v-row',[_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"6\"}},[_c('SingleSelectDataTable',{attrs:{\"dataSet\":_vm.tableData,\"selectHandler\":_vm.selectHandler,\"withResult\":_vm.withResult,\"selectedIndex\":_vm.selectedIndex}})],1),_c('v-col',{staticClass:\"chartBox pa-0\",attrs:{\"cols\":\"6\"}},[(_vm.showKCSummary)?_c('KCSummary',{attrs:{\"kcList\":_vm.kcList,\"isPredict\":_vm.withResult,\"selectedIndex\":_vm.selectedIndex}}):_c('v-card',{attrs:{\"tile\":\"\",\"elevation\":\"0\"}},[_c('v-card-text',[_vm._v(_vm._s(_vm.$t('trials.caption.results.data.no_select')))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"single-select-data-table\"},[_c('p',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.caption))]),_c('v-data-table',{staticClass:\"table-component\",attrs:{\"headers\":_vm.headers,\"items\":_vm.chunkItems,\"single-select\":true,\"items-per-page\":_vm.itemsPerPage,\"item-key\":\"index\",\"show-select\":false,\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"no-data-text\":_vm.$t('error.message.table.noData'),\"footer-props\":_vm.footerProps,\"dense\":\"\"},on:{\"click:row\":_vm.rowClickHander},scopedSlots:_vm._u([{key:\"item.selectId\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-radio-group',{model:{value:(_vm.selectedId),callback:function ($$v) {_vm.selectedId=$$v},expression:\"selectedId\"}},[_c('v-radio',{attrs:{\"value\":item.selectId}})],1)]}},(_vm.withResult)?{key:\"item.item_0\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.item_0 == 'pos')?_c('v-chip',{attrs:{\"color\":_vm.posColor,\"dark\":\"\"}},[_vm._v(_vm._s(item.item_0))]):_c('v-chip',{attrs:{\"color\":_vm.negColor,\"dark\":\"\"}},[_vm._v(_vm._s(item.item_0))])]}}:null],null,true),model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}})],1)}\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\n@Component\nexport default class SingleSelectDataTable extends Vue {\n // 属性\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n @Prop({ default: 10 })\n private itemsPerPage?: number;\n\n @Prop({ default: () => [] })\n private dataSet: any[];\n\n @Prop({ default: true })\n private showIndex: boolean;\n\n @Prop({ default: () => ({}) })\n private defaultSortBy: { [key: string]: boolean };\n\n @Prop({ default: null })\n private selectHandler: Function | null;\n\n @Prop({ default: undefined })\n private caption: string | undefined;\n\n @Prop({ default: false })\n private withResult: boolean;\n\n @Prop({ default: 0 })\n private selectedIndex: number;\n\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private selected: any = [];\n private selectedId: number = 0;\n private chunkItems: any[] = [];\n private headers: any[] = [];\n private sortBy: string[] = [];\n private sortDesc: boolean[] = [];\n private currentRow: any = null;\n private canSelect: boolean = true;\n private footerProps: { [key: string]: any } = {\n 'show-first-last-page': true,\n 'items-per-page-options': [5, 10, 20, 30, 50, -1],\n };\n private posColor: string = SC.Color.POSITIVE;\n private negColor: string = SC.Color.NEGATIVE;\n\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n mounted() {\n // Propsとして受けとったindexを保持\n this.selectedId = this.selectedIndex;\n\n // データセット作成\n this.makeDataSet();\n }\n\n /*----------------------------------*\n * Watch\n *-----------------------------------*/\n @Watch('dataSet')\n private changeDataSet() {\n this.makeDataSet();\n }\n\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n // データセット作成\n private makeDataSet() {\n this.chunkItems.length = 0;\n this.headers.length = 0;\n for (let i in this.dataSet) {\n if (+i) {\n // items編集\n let tmp_item: any = {};\n tmp_item['selectId'] = +i;\n if (this.showIndex) {\n tmp_item['index'] = +i;\n }\n for (let j in this.dataSet[i]) {\n tmp_item['item_' + j] = this.dataSet[i][j];\n }\n this.chunkItems.push(Object.assign({}, tmp_item));\n } else {\n // header編集\n this.headers.push({\n text: '',\n value: 'selectId',\n sortable: false,\n });\n if (this.showIndex) {\n this.headers.push({\n text: 'No.',\n value: 'index',\n align: 'left',\n });\n }\n\n const defaultSortHeaders: string[] = Object.keys(this.defaultSortBy);\n for (let j in this.dataSet[i]) {\n const header: string = this.dataSet[i][j];\n const value = 'item_' + j;\n this.headers.push({ text: header, value: value });\n\n // 初期ソートの設定があれば、Datatable用に変換して設定\n if (defaultSortHeaders.includes(header)) {\n this.sortBy.push(value);\n this.sortDesc.push(this.defaultSortBy[header]);\n }\n }\n }\n }\n }\n\n private clearSelected(): void {\n this.selected = [];\n this.currentRow = null;\n this.selectedId = 0;\n }\n\n private rollbackSelected(prevRow: any): void {\n if (prevRow != null) {\n // 既存状態があるので、そこに戻す\n prevRow.select(true);\n this.currentRow = prevRow;\n this.selectedId = prevRow.item['selectId'];\n } else {\n // 既存状態がないので、選択解除\n this.clearSelected();\n }\n }\n\n // 行クリック時の処理\n private async rowClickHander(item: any, row: any): Promise {\n // クリックハンドラの処理が終わるまで、次の処理はさせない\n if (!row.isSelected && this.canSelect) {\n this.canSelect = false;\n\n // 表示上は選択した行をactiveにする\n row.select(true);\n this.selectedId = item['selectId'];\n\n // エラーだった場合にもとの行をactiveにする準備\n const prevRow = this.currentRow;\n\n // handler実行\n const result = await this.selectHandler(row);\n\n // 処理結果に応じて行の状態を変更\n if (result) {\n this.currentRow = row;\n } else {\n this.rollbackSelected(prevRow);\n }\n\n this.canSelect = true;\n }\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleSelectDataTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleSelectDataTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SingleSelectDataTable.vue?vue&type=template&id=c9e33128&\"\nimport script from \"./SingleSelectDataTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./SingleSelectDataTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\ninstallComponents(component, {VChip,VDataTable,VRadio,VRadioGroup})\n","\n\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, Vue, Prop } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport KnowledgeChunks from '@/trials/domain/objects/knowledgeChunks';\nimport SingleSelectDataTable from '@/trials/views/components/SingleSelectDataTable.vue';\nimport KCSummary from '@/trials/views/components/KCSummary.vue';\n\n@Component({ components: { SingleSelectDataTable, KCSummary } })\nexport default class KCListAndDetail extends Vue {\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n @Prop({ required: true })\n private tableData: any[];\n\n @Prop({ required: true })\n private kcList: KnowledgeChunks | null;\n\n @Prop({ required: true })\n private selectHandler: Function | null;\n\n @Prop({ default: false })\n private withResult: boolean;\n\n @Prop({ default: 0 })\n private selectedIndex: number;\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n public get showKCSummary(): boolean {\n return this.kcList !== null;\n }\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KCListAndDetail.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KCListAndDetail.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./KCListAndDetail.vue?vue&type=template&id=3afa11ea&\"\nimport script from \"./KCListAndDetail.vue?vue&type=script&lang=ts&\"\nexport * from \"./KCListAndDetail.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport KnowledgeChunks from '@/trials/domain/objects/knowledgeChunks';\nimport KCListAndDetail from '@/trials/views/components/KCListAndDetail.vue';\n\n@Component({ components: { KCListAndDetail } })\nexport default class TrainResultDataBefore extends Vue {\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private tableData: any[] = [];\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n public get kcList(): KnowledgeChunks | null {\n return sessionModule.getTrainPersonalChunksBefore;\n }\n\n public get selectedIndex(): number {\n return sessionModule.getTrainPersonalIndexBefore;\n }\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n created() {\n const tableData = sessionModule.getTrainingData;\n if (tableData === null) {\n return;\n }\n this.tableData = tableData.data;\n }\n mounted() {}\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n\n // 行選択時の処理\n private async selectHandler(selected: any): Promise {\n const result = await sessionModule.getPersonalChunksForTrainingSet({\n index: selected.item.index - 1,\n isPreprocessed: false,\n });\n\n return result;\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainResultDataBefore.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainResultDataBefore.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TrainResultDataBefore.vue?vue&type=template&id=f80b453c&\"\nimport script from \"./TrainResultDataBefore.vue?vue&type=script&lang=ts&\"\nexport * from \"./TrainResultDataBefore.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\ninstallComponents(component, {VCard,VCardText})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"end-content\",attrs:{\"id\":\"train-result-data-after\"}},[_c('KCListAndDetail',{attrs:{\"tableData\":_vm.tableData,\"kcList\":_vm.kcList,\"selectHandler\":_vm.selectHandler}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport KnowledgeChunks from '@/trials/domain/objects/knowledgeChunks';\nimport KCListAndDetail from '@/trials/views/components/KCListAndDetail.vue';\n\n@Component({ components: { KCListAndDetail } })\nexport default class TrainResultDataAfter extends Vue {\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private tableData: any[] = [];\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n public get kcList(): KnowledgeChunks | null {\n return sessionModule.getTrainPersonalChunksAfter;\n }\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n created() {\n this.tableData = sessionModule.getPreprocessedTrainingData;\n }\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n\n // 行選択時の処理\n private async selectHandler(selected: any): Promise {\n await sessionModule.getPersonalChunksForTrainingSet({\n index: selected.item.index - 1,\n isPreprocessed: true,\n });\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainResultDataAfter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainResultDataAfter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TrainResultDataAfter.vue?vue&type=template&id=533eacfe&\"\nimport script from \"./TrainResultDataAfter.vue?vue&type=script&lang=ts&\"\nexport * from \"./TrainResultDataAfter.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\nimport { Component, Vue } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport TrainResultDataBefore from '@/trials/views/trials/train/result/TrainResultDataBefore.vue';\nimport TrainResultDataAfter from '@/trials/views/trials/train/result/TrainResultDataAfter.vue';\n\n@Component({ components: { TrainResultDataBefore, TrainResultDataAfter } })\nexport default class TrainResultData extends Vue {\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n mounted() {\n // 表示コンテンツ\n sessionModule.SET_ROUTE_TRAIN_RESULT(SC.Path.TRAIN_RESULT_DATA);\n }\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainResultData.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainResultData.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TrainResultData.vue?vue&type=template&id=668669c0&\"\nimport script from \"./TrainResultData.vue?vue&type=script&lang=ts&\"\nexport * from \"./TrainResultData.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\":\"predict-data\"}},[_c('v-app-bar',{staticClass:\"mid-menu\",attrs:{\"flat\":\"\"}},[_c('v-toolbar-items',{staticClass:\"pa-1\"},[_c('v-btn',{class:{ active: _vm.activeUpload },attrs:{\"text\":\"\",\"disabled\":_vm.disabledUpload,\"ripple\":false},domProps:{\"innerHTML\":_vm._s(!_vm.isPredictable ? _vm.$t('trials.menu.step4.step1.label') : _vm.$t('trials.menu.step4.step2.label'))},on:{\"click\":_vm.toUpload}}),_c('v-btn',{class:{ active: _vm.activeStatistics },attrs:{\"text\":\"\",\"disabled\":_vm.disabledStatistics,\"ripple\":false},domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.menu.step4.step3.label'))},on:{\"click\":_vm.toStatistics}})],1),_c('v-spacer'),_c('v-btn',{staticClass:\"mr-3 white--text\",attrs:{\"disabled\":!_vm.isAggregated || (_vm.isAggregated && _vm.isPredicted) || _vm.isPredicting,\"color\":_vm.nextBtnColorBg,\"large\":\"\",\"ripple\":false,\"loading\":_vm.isPredicting},on:{\"click\":_vm.prediction},scopedSlots:_vm._u([{key:\"loader\",fn:function(){return [_c('v-progress-circular',{staticClass:\"mr-3\",attrs:{\"size\":20,\"width\":3,\"indeterminate\":\"\"}}),_vm._v(\" \"+_vm._s(_vm.$t('trials.menu.step4.button.predicting'))+\" \")]},proxy:true}])},[_vm._v(\" \"+_vm._s(_vm.$t('trials.menu.step4.button.start_predict'))+\" \"),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-img',_vm._g({attrs:{\"src\":\"/assets/image/help.png\"}},on))]}}])},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.help07.create_kc'))}})])],1),_c('v-btn',{staticClass:\"format white--text\",attrs:{\"disabled\":!_vm.isAggregated || _vm.isPredicting,\"large\":\"\",\"color\":_vm.clearBtnColorBg,\"ripple\":false},on:{\"click\":_vm.format}},[_vm._v(_vm._s(_vm.$t('trials.menu.step4.button.format'))+\" \"),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-img',_vm._g({attrs:{\"src\":\"/assets/image/help.png\"}},on))]}}])},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.help08.create_kc'))}})])],1)],1),_c('router-view',{staticClass:\"end-component\"})],1)}\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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, Vue, Watch } from 'vue-property-decorator';\nimport { SysConst as SC } from '@/trials/plugins/const';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport DragDrop from '@/trials/views/components/DragDrop.vue';\n\nimport ConfirmDialogData from '@/trials/domain/objects/confirmDialogData';\n\n@Component({ components: { DragDrop } })\nexport default class PredictData extends Vue {\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private nextBtnColorBg: string = SC.Color.Button.Next.BG;\n private clearBtnColorBg: string = SC.Color.Button.Clear.BG;\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n // アクティブコンテンツ\n private get currentContent() {\n return sessionModule.getCurrentRouterViewPredictData;\n }\n\n /* Active, Disabledフラグ\n --------------------------*/\n // アップロード\n private get activeUpload(): boolean {\n return this.$route.path.startsWith(SC.Path.PREDICT_DATA_UPLOAD);\n }\n private get disabledUpload(): boolean {\n return this.activeUpload;\n }\n\n // 統計情報\n private get activeStatistics() {\n return this.$route.path.startsWith(SC.Path.PREDICT_DATA_STATISTICS);\n }\n private get disabledStatistics() {\n return this.activeStatistics || !this.isAggregated;\n }\n\n // 推論 可能フラグ(0件以上の推論データの投入を確認する)\n private get isPredictable(): boolean {\n return sessionModule.getPredictData !== null;\n }\n\n // 統計情報の集計済 フラグ\n private get isAggregated(): boolean {\n return sessionModule.getPredictDataStatistics.length > 0;\n }\n\n // 予測したかどうか\n private get isPredicted(): boolean {\n return sessionModule.getPredicted === SC.Flag.Process.DONE;\n }\n\n // 予測中フラグ\n private get isPredicting(): boolean {\n return sessionModule.getPredicted === SC.Flag.Process.DOING;\n }\n\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n mounted() {\n // Child コンポーネントの指定なし\n if (this.$route.path == SC.Path.PREDICT_DATA_MENU) {\n // 有効データ未投入の場合、アップロード画面に遷移\n if (!this.isPredictable) {\n sessionModule.SET_ROUTE_PREDICT_DATA(SC.Path.PREDICT_DATA_UPLOAD);\n }\n this.$router.replace(this.currentContent);\n }\n }\n\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n // コンテンツ表示\n private viewContent(content: string) {\n sessionModule.SET_ROUTE_PREDICT_DATA(content);\n this.$router.push(this.currentContent);\n }\n\n /* Clickメソッド(コンテンツ切替)\n -------------------------------*/\n // データアップロード\n private toUpload() {\n this.viewContent(SC.Path.PREDICT_DATA_UPLOAD);\n }\n\n // 統計情報\n private toStatistics() {\n this.viewContent(SC.Path.PREDICT_DATA_STATISTICS);\n }\n\n // 推論\n private prediction() {\n const self = this;\n const confirm = new ConfirmDialogData(\n 'trials.dialog.contents.start.predict.title',\n 'trials.dialog.contents.start.predict.message',\n function() {\n // 推論結果へ遷移\n self.$router.push(SC.Path.PREDICT_DATA_PREDICTING);\n }\n );\n sessionModule.showConfirmDialog(confirm);\n }\n\n // 予測の初期化\n private format() {\n const self = this;\n const confirm = new ConfirmDialogData(\n 'trials.dialog.contents.format.predict.title',\n 'trials.dialog.contents.format.predict.message',\n function() {\n sessionModule.formatPredict();\n // アップロード画面以外で実行された場合、アップロード画面に戻る\n if (self.$route.path != SC.Path.PREDICT_DATA_UPLOAD) {\n self.$router.replace(SC.Path.PREDICT_DATA_UPLOAD);\n }\n }\n );\n sessionModule.showConfirmDialog(confirm);\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredictData.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredictData.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PredictData.vue?vue&type=template&id=4909448c&\"\nimport script from \"./PredictData.vue?vue&type=script&lang=ts&\"\nexport * from \"./PredictData.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbarItems } from 'vuetify/lib/components/VToolbar';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VAppBar,VBtn,VImg,VProgressCircular,VSpacer,VToolbarItems,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isListable)?_c('div',{staticClass:\"end-content\",attrs:{\"id\":\"predict-data-upload\"}},[_c('span',[_c('v-card',{staticClass:\"description\",attrs:{\"title\":\"\",\"elevation\":\"0\"}},[_c('v-card-text',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.description.step4.step1.before'))}})],1),_c('v-list',{staticClass:\"py-0\"},[_c('v-list-item-content',{staticClass:\"py-0\"},[_c('v-list-item-action',{staticClass:\"mt-0\"},[_c('v-btn',{staticClass:\"blue--text\",attrs:{\"text\":\"\",\"href\":_vm.$t('trials.input.downloads.mammalian.url'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t('trials.input.downloads.mammalian.text')))])],1)],1)],1),(_vm.canUpload)?[_c('CsvSelector',{attrs:{\"purpose\":\"predict\"}}),_c('DragDrop',{attrs:{\"purpose\":\"predict\"}},[_vm._v(\" \"+_vm._s(_vm.$t('trials.input.predict'))+\" \")])]:_c('div',[_c('ProgressItem')],1)],2)]):_c('div',{staticClass:\"end-content\",attrs:{\"id\":\"predict-data-original\"}},[_c('span',[_c('DataTable',{attrs:{\"dataSet\":_vm.predictData}})],1)])}\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport CsvSelector from '@/trials/views/components/CsvSelector.vue';\nimport DragDrop from '@/trials/views/components/DragDrop.vue';\nimport ProgressItem from '@/trials/views/components/ProgressItem.vue';\nimport DataTable from '@/trials/views/components/DataTable.vue';\n\n@Component({ components: { CsvSelector, DragDrop, ProgressItem, DataTable } })\nexport default class PredictDataUpload extends Vue {\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n // データアップロード済 フラグ(0件以上の学習データの投入を確認する)\n private get isListable(): boolean {\n return sessionModule.getPredictData !== null;\n }\n\n // ファイルアップロード可能かどうか\n private get canUpload(): boolean {\n return sessionModule.getPredictDataUploaded === SC.Flag.Process.TODO;\n }\n\n private get predictData() {\n const predictData = sessionModule.getPredictData;\n\n if (predictData === null) {\n return [];\n }\n\n return predictData.data;\n }\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredictDataUpload.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredictDataUpload.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PredictDataUpload.vue?vue&type=template&id=2804f2e0&\"\nimport script from \"./PredictDataUpload.vue?vue&type=script&lang=ts&\"\nexport * from \"./PredictDataUpload.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItemAction } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\ninstallComponents(component, {VBtn,VCard,VCardText,VList,VListItemAction,VListItemContent})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"predict-data-statistics\"}},[_c('v-tabs',{attrs:{\"dark\":\"\",\"vertical\":\"\"}},[_c('v-tab',{on:{\"click\":function($event){}}},[_vm._v(_vm._s(_vm.$t('trials.caption.data.tabs.labels')))]),_c('v-tab',{on:{\"click\":function($event){}}},[_vm._v(_vm._s(_vm.$t('trials.caption.data.tabs.na')))]),_c('v-tab-item',[_c('PredictDataStatisticsAll')],1),_c('v-tab-item',[_c('PredictDataStatisticsNa')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"predict-data-statistics_na\"}},[_c('v-tabs',{attrs:{\"dark\":\"\",\"vertical\":\"\"}},[_vm._l((_vm.predictDataStatistics),function(item){return _c('v-tab',{key:item.name,on:{\"click\":function($event){}}},[_vm._v(\" \"+_vm._s(item.name)+\" \")])}),_vm._l((_vm.predictDataStatistics),function(item){return _c('v-tab-item',{key:item.name,staticClass:\"end-content\"},[_c('v-card',{staticClass:\"description\",attrs:{\"title\":\"\",\"elevation\":\"0\"}},[_c('v-card-text',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.description.step4.step3.na'))}})],1),_c('div',{staticClass:\"text-center pb-2\"},[_vm._v(_vm._s(item.name))]),_c('v-simple-table',{scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('td',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t('trials.caption.data.na.count')))]),_c('td',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t('trials.caption.data.na.ratio')))])])]),_c('tbody',[_c('tr',[_c('td',{staticClass:\"text-center\"},[_vm._v(_vm._s(item.invalidCount)+\" / \"+_vm._s(item.totalCount))]),_c('td',{staticClass:\"text-center\"},[_vm._v(_vm._s(item.invalidRatio)+\" %\")])])])]},proxy:true}],null,true)})],1)})],2)],1)}\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\n@Component\nexport default class PredictDataStatisticsNa extends Vue {\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n public get predictDataStatistics(): any[] {\n return sessionModule.getPredictDataStatistics;\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredictDataStatisticsNa.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredictDataStatisticsNa.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PredictDataStatisticsNa.vue?vue&type=template&id=41a89518&\"\nimport script from \"./PredictDataStatisticsNa.vue?vue&type=script&lang=ts&\"\nexport * from \"./PredictDataStatisticsNa.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VCard,VCardText,VSimpleTable,VTab,VTabItem,VTabs})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"predict-data-statistics_all\"}},[_c('v-tabs',{attrs:{\"dark\":\"\",\"vertical\":\"\"}},[_vm._l((_vm.predictDataStatistics),function(item){return _c('v-tab',{key:item.name,on:{\"click\":function($event){}}},[_vm._v(\" \"+_vm._s(item.name)+\" \")])}),_vm._l((_vm.predictDataStatistics),function(item,index){return _c('v-tab-item',{key:item.name,staticClass:\"end-content\"},[_c('v-card',{staticClass:\"description\",attrs:{\"title\":\"\",\"elevation\":\"0\"}},[_c('v-card-text',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.description.step4.step3.labels'))}})],1),_c('div',{staticClass:\"text-center pb-2\"},[_vm._v(_vm._s(item.name))]),(item.type == _vm.inputTypeNumber)?_c('Histogram',{attrs:{\"name\":item.name,\"data\":item.numberData,\"selector\":(\"predict-data-statistics_all_\" + index)}}):_vm._e(),(item.type != _vm.inputTypeNumber)?_c('BarChart',{attrs:{\"data\":item.stringData,\"categories\":item.categories,\"selector\":(\"predict-data-statistics_all_\" + index)}}):_vm._e()],1)})],2)],1)}\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport Histogram from '@/trials/views/components/Histogram.vue';\nimport BarChart from '@/trials/views/components/BarChart.vue';\n\n@Component({ components: { Histogram, BarChart } })\nexport default class PredictDataStatisticsAll extends Vue {\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private inputTypeNumber: string = SC.InputData.Type.NUMBER;\n\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n public get predictDataStatistics(): any[] {\n return sessionModule.getPredictDataStatistics;\n }\n\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredictDataStatisticsAll.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredictDataStatisticsAll.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PredictDataStatisticsAll.vue?vue&type=template&id=51ebdaed&\"\nimport script from \"./PredictDataStatisticsAll.vue?vue&type=script&lang=ts&\"\nexport * from \"./PredictDataStatisticsAll.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VCard,VCardText,VTab,VTabItem,VTabs})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport PredictDataStatisticsNa from '@/trials/views/trials/predict/data/PredictDataStatisticsNa.vue';\nimport PredictDataStatisticsAll from '@/trials/views/trials/predict/data/PredictDataStatisticsAll.vue';\n\n@Component({ components: { PredictDataStatisticsNa, PredictDataStatisticsAll } })\nexport default class PredictDataStatistics extends Vue {\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredictDataStatistics.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredictDataStatistics.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PredictDataStatistics.vue?vue&type=template&id=18bd1743&\"\nimport script from \"./PredictDataStatistics.vue?vue&type=script&lang=ts&\"\nexport * from \"./PredictDataStatistics.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VTab,VTabItem,VTabs})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"end-content text-center\",attrs:{\"id\":\"predict-data-predicting\"}},[(_vm.isPredicted)?_c('v-card',{staticClass:\"description\",attrs:{\"title\":\"\",\"elevation\":\"0\"}},[_c('v-card-text',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.description.step4.finish_predicting'))}})],1):_c('v-card',{staticClass:\"description\",attrs:{\"title\":\"\",\"elevation\":\"0\"}},[_c('v-card-text',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.description.step4.predicting'))}}),_c('ProgressItem')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport ProgressItem from '@/trials/views/components/ProgressItem.vue';\n\n@Component({ components: { ProgressItem } })\nexport default class PredictDataPredicting extends Vue {\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private intervalMs: number = 1000 * 1;\n\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n // 初期化されたか\n private get isformatted(): boolean {\n return sessionModule.getPredictData === null;\n }\n\n // 予測処理の状態\n private get predictedState(): number {\n return sessionModule.getPredicted;\n }\n\n // 予測が完了したか\n private get isPredicted(): boolean {\n return this.predictedState === SC.Flag.Process.DONE;\n }\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n mounted() {\n if (this.predictedState === SC.Flag.Process.TODO) {\n // フラグ更新(予測中)\n sessionModule.SET_PREDICTED(SC.Flag.Process.DOING);\n\n this.predicting();\n }\n }\n\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n private async predicting() {\n // 予測開始\n const predictResult = await sessionModule.startPredict();\n if (!predictResult) {\n this.goBack();\n return;\n }\n\n // 予測状況確認\n // 定期的に呼ばれる処理\n const pooling = (milliSeconds: number) => {\n return new Promise((resolve, reject) => {\n setTimeout(async () => {\n resolve(await sessionModule.getPredictState());\n }, milliSeconds);\n });\n };\n\n // 定期的に呼ぶ処理\n while (true) {\n const status = await pooling(this.intervalMs);\n\n // 初期化されていれば処理終了\n if (this.isformatted) {\n return;\n }\n\n if (status == 'completed') break;\n if (status == 'error' || status == '') {\n this.goBack();\n return;\n }\n }\n\n // 予測結果の取得\n const predictResultResult = await sessionModule.getPredictResult();\n if (!predictResultResult) {\n this.goBack();\n return;\n }\n\n // 結果表示画面への自動遷移\n sessionModule.SET_PREDICTED(SC.Flag.Process.DONE);\n sessionModule.SET_ROUTE_TRIALS(SC.Path.PREDICT_RESULT_MENU);\n this.$router.replace(sessionModule.getCurrentRouterViewTrials);\n }\n\n private goBack(): void {\n // フラグ更新(未推論)\n sessionModule.SET_PREDICTED(SC.Flag.Process.TODO);\n\n // この画面が表示されている場合はひとつ前にもどる\n if (this.$route.path === SC.Path.PREDICT_DATA_PREDICTING) {\n this.$router.go(-1);\n }\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredictDataPredicting.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredictDataPredicting.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PredictDataPredicting.vue?vue&type=template&id=4dabfef6&\"\nimport script from \"./PredictDataPredicting.vue?vue&type=script&lang=ts&\"\nexport * from \"./PredictDataPredicting.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\ninstallComponents(component, {VCard,VCardText})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"predict-results\"}},[_c('router-view',{staticClass:\"end-component\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { SysConst as SC } from '@/trials/plugins/const';\nimport { sessionModule } from '@/trials/store/modules/session';\n\n@Component\nexport default class PredictResultMenu extends Vue {\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n // アクティブコンテンツ\n private get currentContent() {\n return sessionModule.getCurrentRouterViewPredictResult;\n }\n\n private get enabledPredictPhase(): boolean {\n return sessionModule.getEnabledPredictPhase;\n }\n\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n mounted() {\n // Child コンポーネントの指定なし\n if (this.$route.path == SC.Path.PREDICT_RESULT_MENU) {\n // Child コンポーネントへのルーティング\n this.$router.replace(this.currentContent);\n }\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredictResultMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredictResultMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PredictResultMenu.vue?vue&type=template&id=4ed84038&\"\nimport script from \"./PredictResultMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./PredictResultMenu.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\":\"predict-result-data\"}},[_c('PredictResultDataBefore')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"end-content\",attrs:{\"id\":\"predict-result-data-before\"}},[_c('v-card',{staticClass:\"description\",attrs:{\"title\":\"\",\"elevation\":\"0\"}},[_c('v-card-text',{domProps:{\"innerHTML\":_vm._s(_vm.$t('trials.description.step5.step1.before'))}})],1),_c('KCListAndDetail',{attrs:{\"tableData\":_vm.tableData,\"kcList\":_vm.kcList,\"selectHandler\":_vm.selectHandler,\"withResult\":true,\"selectedIndex\":_vm.selectedIndex}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport KnowledgeChunks from '@/trials/domain/objects/knowledgeChunks';\nimport KCListAndDetail from '@/trials/views/components/KCListAndDetail.vue';\n\n@Component({ components: { KCListAndDetail } })\nexport default class PredictResultDataBefore extends Vue {\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private tableData: any[] = [];\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n public get kcList(): KnowledgeChunks | null {\n return sessionModule.getPredictPersonalChunksBefore;\n }\n\n public get selectedIndex(): number {\n return sessionModule.getPredictPersonalIndexBefore;\n }\n\n /*----------------------------------*\n * Watch\n *-----------------------------------*/\n @Watch('$i18n.locale')\n private changeLocale() {\n const predictData = sessionModule.getPredictData;\n\n if (predictData === null) {\n return;\n }\n\n predictData.changeLocale();\n this.tableData = predictData.dataWithResult;\n }\n\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n created() {\n const predictData = sessionModule.getPredictData;\n\n if (predictData === null) {\n return;\n }\n\n predictData.changeLocale();\n this.tableData = predictData.dataWithResult;\n }\n mounted() {}\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n\n // 行選択時の処理\n private async selectHandler(selected: any): Promise {\n const result = await sessionModule.getPersonalChunksForPredictSet({\n index: selected.item.index - 1,\n isPreprocessed: false,\n });\n\n return result;\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredictResultDataBefore.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredictResultDataBefore.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PredictResultDataBefore.vue?vue&type=template&id=c7471596&\"\nimport script from \"./PredictResultDataBefore.vue?vue&type=script&lang=ts&\"\nexport * from \"./PredictResultDataBefore.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\ninstallComponents(component, {VCard,VCardText})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"end-content\",attrs:{\"id\":\"predict-result-data-after\"}},[_c('KCListAndDetail',{attrs:{\"tableData\":_vm.tableData,\"kcList\":_vm.kcList,\"selectHandler\":_vm.selectHandler}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport KnowledgeChunks from '@/trials/domain/objects/knowledgeChunks';\nimport KCListAndDetail from '@/trials/views/components/KCListAndDetail.vue';\n\n@Component({ components: { KCListAndDetail } })\nexport default class PredictResultDataAfter extends Vue {\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private tableData: any[] = [];\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n public get kcList(): KnowledgeChunks | null {\n return sessionModule.getPredictPersonalChunksAfter;\n }\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n created() {\n const preprocessedPredictData = sessionModule.getPreprocessedPredictData;\n\n if (preprocessedPredictData === null) {\n return;\n }\n\n this.tableData = preprocessedPredictData.dataWithResult;\n }\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n\n // 行選択時の処理\n private async selectHandler(selected: any): Promise {\n await sessionModule.getPersonalChunksForPredictSet({\n index: selected.item.index - 1,\n isPreprocessed: true,\n });\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredictResultDataAfter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredictResultDataAfter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PredictResultDataAfter.vue?vue&type=template&id=2787b654&\"\nimport script from \"./PredictResultDataAfter.vue?vue&type=script&lang=ts&\"\nexport * from \"./PredictResultDataAfter.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\nimport { Component, Vue } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport PredictResultDataBefore from '@/trials/views/trials/predict/result/PredictResultDataBefore.vue';\nimport PredictResultDataAfter from '@/trials/views/trials/predict/result/PredictResultDataAfter.vue';\n\n@Component({ components: { PredictResultDataBefore, PredictResultDataAfter } })\nexport default class PredictResultData extends Vue {\n /*----------------------------------*\n * Props\n *-----------------------------------*/\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n mounted() {\n // 表示コンテンツ\n sessionModule.SET_ROUTE_PREDICT_RESULT(SC.Path.PREDICT_RESULT_DATA);\n }\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredictResultData.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredictResultData.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PredictResultData.vue?vue&type=template&id=02d00a32&\"\nimport script from \"./PredictResultData.vue?vue&type=script&lang=ts&\"\nexport * from \"./PredictResultData.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 * Vue-router設定\n *-----------------------------------------*/\nimport Vue from 'vue';\nimport VueRouter from 'vue-router';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport trialsMenu from '@/trials/views/trials/TrialsMenu.vue';\n\nimport trainKCMenu from '@/trials/views/trials/train/kc/KC.vue';\nimport trainKCList from '@/trials/views/trials/train/kc/KCList.vue';\nimport trainKCTraining from '@/trials/views/trials/train/kc/KCTraining.vue';\n\nimport trainDataMenu from '@/trials/views/trials/train/data/TrainData.vue';\nimport trainUpload from '@/trials/views/trials/train/data/TrainDataUpload.vue';\nimport trainStatistics from '@/trials/views/trials/train/data/TrainDataStatistics.vue';\nimport trainGettingKcList from '@/trials/views/trials/train/data/TrainDataGettingKcList.vue';\n\nimport trainResultMenu from '@/trials/views/trials/train/result/TrainResultMenu.vue';\nimport trainResultAll from '@/trials/views/trials/train/result/TrainResultAll.vue';\nimport trainResultKC from '@/trials/views/trials/train/result/TrainResultKC.vue';\nimport trainResultParams from '@/trials/views/trials/train/result/TrainResultParams.vue';\nimport trainResultData from '@/trials/views/trials/train/result/TrainResultData.vue';\n\nimport predictDataMenu from '@/trials/views/trials/predict/data/PredictData.vue';\nimport predictUpload from '@/trials/views/trials/predict/data/PredictDataUpload.vue';\nimport predictStatistics from '@/trials/views/trials/predict/data/PredictDataStatistics.vue';\nimport predicting from '@/trials/views/trials/predict/data/PredictDataPredicting.vue';\n\nimport predictResultMenu from '@/trials/views/trials/predict/result/PredictResultMenu.vue';\nimport predictResultData from '@/trials/views/trials/predict/result/PredictResultData.vue';\n\nVue.use(VueRouter);\n\nvar router = new VueRouter({\n mode: 'history',\n base: SC.Path.APP_BASE,\n routes: [\n {\n path: SC.Path.TRIALS_MENU,\n component: trialsMenu,\n children: [\n {\n path: SC.Path.TRAIN_DATA_MENU,\n component: trainDataMenu,\n children: [\n { path: SC.Path.TRAIN_DATA_UPLOAD, component: trainUpload },\n { path: SC.Path.TRAIN_DATA_STATISTICS, component: trainStatistics },\n { path: SC.Path.TRAIN_DATA_GETTING_KC_LIST, component: trainGettingKcList },\n ],\n },\n {\n path: SC.Path.TRAIN_KC_MENU,\n component: trainKCMenu,\n children: [\n { path: SC.Path.TRAIN_KC_LIST, component: trainKCList },\n { path: SC.Path.TRAIN_KC_TRAINING, component: trainKCTraining },\n ],\n },\n {\n path: SC.Path.TRAIN_RESULT_MENU,\n component: trainResultMenu,\n children: [\n {\n path: SC.Path.TRAIN_RESULT_ALL,\n component: trainResultAll,\n children: [\n {\n path: SC.Path.TRAIN_RESULT_ALL_KC,\n component: trainResultKC,\n },\n {\n path: SC.Path.TRAIN_RESULT_ALL_PARAMS,\n component: trainResultParams,\n },\n ],\n },\n { path: SC.Path.TRAIN_RESULT_DATA, component: trainResultData },\n ],\n },\n {\n path: SC.Path.PREDICT_DATA_MENU,\n component: predictDataMenu,\n children: [\n { path: SC.Path.PREDICT_DATA_UPLOAD, component: predictUpload },\n { path: SC.Path.PREDICT_DATA_STATISTICS, component: predictStatistics },\n { path: SC.Path.PREDICT_DATA_PREDICTING, component: predicting },\n ],\n },\n {\n path: SC.Path.PREDICT_RESULT_MENU,\n component: predictResultMenu,\n children: [{ path: SC.Path.PREDICT_RESULT_DATA, component: predictResultData }],\n },\n ],\n },\n ],\n});\n\nexport default router;\n","import Vue from 'vue';\nimport Highcharts from 'highcharts';\nimport HighchartsVue from 'highcharts-vue';\n\nVue.use(HighchartsVue, {\n highcharts: Highcharts,\n});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"wrapper\"},[_c('content-header',{attrs:{\"localeItems\":_vm.localeItems,\"locale\":_vm.locale},on:{\"change-locale\":function($event){_vm.locale = $event}}}),_c('main',{staticClass:\"main\"},[_c('section',{staticClass:\"section_h1\"},[_c('div',{staticClass:\"section-inner\"},[_c('div',{staticClass:\"section-content\",attrs:{\"id\":\"demoToolContent\"}},[_c('v-app',[_c('v-content',[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('router-view',{staticClass:\"main-component\"})],1)],1),_c('ConfirmDialog'),_c('NotificationDialog'),_c('ErrorDialog')],1)],1)])])]),_c('content-footer',{attrs:{\"localeItems\":_vm.localeItems,\"locale\":_vm.locale},on:{\"change-locale\":function($event){_vm.locale = $event}}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dialog confirm-dialog\"},[_c('v-dialog',{attrs:{\"width\":_vm.width},on:{\"click:outside\":_vm.closeDialog},model:{value:(_vm.isShow),callback:function ($$v) {_vm.isShow=$$v},expression:\"isShow\"}},[_c('v-card',[_c('v-card-title',[_vm._v(_vm._s(_vm.$t(_vm.titleKey)))]),_c('v-card-text',{domProps:{\"innerHTML\":_vm._s(_vm.$t(_vm.messageKey))}}),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":_vm.yesHandler}},[_vm._v(_vm._s(_vm.$t('trials.dialog.button.yes')))]),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":_vm.noHandler}},[_vm._v(_vm._s(_vm.$t('trials.dialog.button.no')))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport ConfirmDialogData from '@/trials/domain/objects/confirmDialogData';\n\n@Component\nexport default class ConfirmDialog extends Vue {\n /*----------------------------------*\n * 変数\n *-----------------------------------*/\n private width: number = SC.Dialog.WIDTH;\n\n /*----------------------------------*\n * props\n *-----------------------------------*/\n private isShow: boolean = false;\n\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n public get dialogData(): ConfirmDialogData | null {\n return sessionModule.getConfirmDialogData;\n }\n\n public get titleKey(): string {\n return this.dialogData !== null ? this.dialogData.titleKey : '';\n }\n public get messageKey(): string {\n return this.dialogData !== null ? this.dialogData.messageKey : '';\n }\n\n /*----------------------------------*\n * Watch\n *-----------------------------------*/\n @Watch('dialogData')\n changeDialogData(val: ConfirmDialog | null, oldVal: ConfirmDialog | null) {\n if (val != null && oldVal == null) {\n this.isShow = true;\n } else {\n this.isShow = false;\n }\n }\n\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n private yesHandler(): void {\n // ハンドラが設定されていれば実行\n if (this.dialogData !== null && this.dialogData.yesHandler !== null) {\n this.dialogData.yesHandler();\n }\n this.closeDialog();\n }\n private noHandler(): void {\n // ハンドラが設定されていれば実行\n if (this.dialogData !== null && this.dialogData.noHandler !== null) {\n this.dialogData.noHandler();\n }\n this.closeDialog();\n }\n\n private closeDialog(): void {\n sessionModule.closeConfirmDialog();\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ConfirmDialog.vue?vue&type=template&id=9b5cb4c6&scoped=true&\"\nimport script from \"./ConfirmDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ConfirmDialog.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 \"9b5cb4c6\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VDialog,VDivider,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dialog confirm-dialog\"},[_c('v-dialog',{attrs:{\"width\":_vm.width},on:{\"click:outside\":_vm.closeDialog},model:{value:(_vm.isShow),callback:function ($$v) {_vm.isShow=$$v},expression:\"isShow\"}},[_c('v-card',[_c('v-card-title'),_c('v-card-text',{domProps:{\"innerHTML\":_vm._s(_vm.$t(_vm.messageKey))}}),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":_vm.closeDialog}},[_vm._v(_vm._s(_vm.$t('trials.dialog.button.close')))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport NotificationDialogData from '@/trials/domain/objects/notificationDialogData';\n\n@Component\nexport default class NotificationDialog extends Vue {\n /*----------------------------------*\n * 変数\n *-----------------------------------*/\n private width: number = SC.Dialog.WIDTH;\n\n /*----------------------------------*\n * props\n *-----------------------------------*/\n private isShow: boolean = false;\n\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n public get dialogData(): NotificationDialogData | null {\n return sessionModule.getNotificationDialogData;\n }\n\n public get messageKey(): string {\n return this.dialogData !== null ? this.dialogData.messageKey : '';\n }\n\n /*----------------------------------*\n * Watch\n *-----------------------------------*/\n @Watch('dialogData')\n changeDialogData(val: NotificationDialogData | null, oldVal: NotificationDialogData | null) {\n if (val != null && oldVal == null) {\n this.isShow = true;\n } else {\n this.isShow = false;\n }\n }\n\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n private closeDialog(): void {\n sessionModule.closeNotificationDialog();\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotificationDialog.vue?vue&type=template&id=33f1fefa&scoped=true&\"\nimport script from \"./NotificationDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NotificationDialog.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 \"33f1fefa\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VDialog,VDivider,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dialog error-dialog\"},[_c('v-dialog',{attrs:{\"max-width\":_vm.width,\"persistent\":\"\"},model:{value:(_vm.isShow),callback:function ($$v) {_vm.isShow=$$v},expression:\"isShow\"}},[_c('v-card',[_c('v-alert',{attrs:{\"text\":\"\",\"type\":\"error\",\"tile\":\"\"}},[_vm._v(_vm._s(_vm.$t(_vm.title)))]),_c('v-card-text',{domProps:{\"innerHTML\":_vm._s(_vm.$t(_vm.messageKey))}}),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":_vm.closeDialog}},[_vm._v(_vm._s(_vm.$t('trials.dialog.button.close')))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport { SysConst as SC } from '@/trials/plugins/const';\n\nimport ErrorDialogData from '@/trials/exceptions/errorDialogData';\n\n@Component\nexport default class ErrorDialog extends Vue {\n /*----------------------------------*\n * 変数\n *-----------------------------------*/\n private width: number = SC.Dialog.WIDTH;\n\n /*----------------------------------*\n * props\n *-----------------------------------*/\n\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n\n /*----------------------------------*\n * Computed\n *-----------------------------------*/\n public get dialogData(): ErrorDialogData | null {\n return sessionModule.getErrorDialogData;\n }\n public get isShow(): boolean {\n return this.dialogData !== null;\n }\n public get title(): string {\n return this.dialogData !== null ? this.dialogData.title : '';\n }\n public get messageKey(): string {\n return this.dialogData !== null ? this.dialogData.messageKey : '';\n }\n\n /*----------------------------------*\n * Methods\n *-----------------------------------*/\n private closeDialog(): void {\n sessionModule.closeErrorDialog();\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ErrorDialog.vue?vue&type=template&id=d208d91a&scoped=true&\"\nimport script from \"./ErrorDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ErrorDialog.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 \"d208d91a\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VBtn,VCard,VCardActions,VCardText,VDialog,VDivider,VSpacer})\n","\n\n\n\n\n\n\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, Mixins } from 'vue-property-decorator';\nimport { SysConst as SC } from '@/trials/plugins/const';\nimport { sessionModule } from '@/trials/store/modules/session';\nimport ConfirmDialog from '@/trials/views/components/ConfirmDialog.vue';\nimport NotificationDialog from '@/trials/views/components/NotificationDialog.vue';\nimport ErrorDialog from '@/trials/views/components/ErrorDialog.vue';\nimport LocalizationMixin from '@/common/views/mixins/LocalizationMixin';\nimport ContentHeader from '@/common/views/components/ContentHeader.vue';\nimport ContentFooter from '@/common/views/components/ContentFooter.vue';\n\n@Component({ components: { ContentHeader, ContentFooter, ConfirmDialog, NotificationDialog, ErrorDialog } })\nexport default class App extends Mixins(LocalizationMixin) {\n /*----------------------------------*\n * Data\n *-----------------------------------*/\n private SC: any = SC;\n private titleKey = 'trials.title';\n\n /*----------------------------------*\n * ライフサイクルフック\n *-----------------------------------*/\n async created() {\n // ページ読み込み時しか呼び出されない\n\n const currentUrl = new URL(location.href);\n\n // 同意ページからの遷移かチェック\n if (!this.isAgreed(currentUrl, document.referrer)) {\n location.href = `${currentUrl.origin}/trialTool/terms.html`;\n return;\n }\n\n // 同意ページからの遷移と判断し、同意済みとする\n sessionModule.SET_AGREED(true);\n\n // リロード時にROOTへ遷移させる\n if (this.$route.path != SC.Path.ROOT) {\n this.$router.replace(SC.Path.ROOT);\n }\n\n sessionModule.init();\n\n // API呼び出し用token取得\n await sessionModule.getToken();\n\n // 初期画面表示\n if (this.$route.path == SC.Path.ROOT) {\n this.$router.push(SC.Path.TRAIN_DATA_MENU);\n }\n }\n\n private isAgreed(currentUrl: URL, referrerStr): boolean {\n // 直接ページが呼び出されているか\n if (referrerStr == '') {\n // 同意ページへ遷移\n return false;\n }\n\n // 同一FQDNからの遷移で必要なパラメータがセットされているか\n const referrerUrl = new URL(referrerStr);\n const needQuery = currentUrl.searchParams.get('agree');\n if (currentUrl.origin != referrerUrl.origin || needQuery != 'yes') {\n // NGの場合、同意ページへ遷移\n return false;\n }\n\n return true;\n }\n}\nimport './assets/css/style.sass';\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-2!../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-2!../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=0a8b3072&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.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/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VContent } from 'vuetify/lib/components/VContent';\ninstallComponents(component, {VApp,VContainer,VContent})\n","/* ----------------------------------------\n * メインコンポーネント\n *-----------------------------------------*/\nimport Vue from 'vue';\nimport vuetify from '@/common/plugins/vuetify';\nimport router from './router';\nimport store from './store';\nimport i18n from '@/common/i18n';\nimport './plugins/highchart';\n\nimport App from './App.vue';\n\nVue.config.productionTip = false;\n\nimport { sessionModule } from '@/trials/store/modules/session';\nimport ErrorDialogData from '@/trials/exceptions/errorDialogData';\n\n// 予期せぬエラーの対応\nVue.config.errorHandler = (err, vm, info) => {\n // エラーダイアログを閉じる際に初期化処理を実施\n const errorDialogData = new ErrorDialogData('error.message.default');\n errorDialogData.needInit = true;\n\n sessionModule.showErrorDialog(errorDialogData);\n};\n\n/* vueインスタンス */\nnew Vue({\n router,\n i18n,\n store,\n vuetify,\n render: (h) => h(App),\n}).$mount('#app');\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/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CsvSelector.vue?vue&type=style&index=0&id=ea72bb00&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/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CsvSelector.vue?vue&type=style&index=0&id=ea72bb00&scoped=true&lang=css&\"","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/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainResultParams.vue?vue&type=style&index=0&id=85941d14&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/vuetify-loader/lib/loader.js??ref--19-0!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainResultParams.vue?vue&type=style&index=0&id=85941d14&scoped=true&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../lib/webpackLoader/vuetify-sass-wrapper.js??ref--9-oneOf-1-4!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragDrop.vue?vue&type=style&index=0&id=78dbf8ba&lang=sass&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../lib/webpackLoader/vuetify-sass-wrapper.js??ref--9-oneOf-1-4!../../../../node_modules/vuetify-loader/lib/loader.js??ref--19-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragDrop.vue?vue&type=style&index=0&id=78dbf8ba&lang=sass&scoped=true&\""],"sourceRoot":""}