{"version":3,"sources":["imgs/icon_4mat.svg","imgs/icon_5ll.svg","imgs/logo_dino.svg","../../dino-shared/lib/graph/fmat_quad/images/Background_EN.png","../../dino-shared/lib/graph/fmat_quad/icon/icon_flag.png","imgs/4mat_seqp_guide_1.png","imgs/4mat_seqp_guide_2.png","imgs/4mat_seqp_guide_3.png","imgs/4mat_result_type1.gif","imgs/4mat_result_type2.gif","imgs/4mat_result_type3.gif","imgs/4mat_result_type4.gif","imgs/4mat_hmi_result_l.svg","imgs/4mat_hmi_result_r.svg","imgs/4mat_hmi_result_a.svg","imgs/IDI_type1.png","imgs/IDI_type2.png","imgs/IDI_type3.png","imgs/IDI_type4.png","serviceWorker.ts","components/ProgramItem.tsx","components/layout/GrommetRoot.tsx","components/layout/AppBar.tsx","pages/Profile.tsx","components/context/LoginContext.tsx","components/layout/Copyright.tsx","i18n.ts","components/context/LanguageContext.tsx","components/layout/LanguageSelector.tsx","components/layout/MainLayout.tsx","generated-types.tsx","pages/MyPage.tsx","components/DiagLayout.tsx","pages/diag/Intro.tsx","components/DiagControlBar.tsx","components/DiagProgressBar.tsx","components/ButtonPanel.tsx","components/FlowButtonPanel.tsx","components/MetaButtonPanel.tsx","components/QuestionLabel.tsx","pages/diag/FMatAnswerSeq.tsx","pages/diag/FMatAnswerOne.tsx","pages/diag/FMatAnswerHmi.tsx","pages/diag/EmptyPage.tsx","components/utils.ts","pages/diag/index.tsx","../../../src/graph/GraphPropsContext.tsx","../../../../src/graph/fmat_quad/FMatQuadrantRenderer.tsx","../../../src/util/canvas_utils.ts","../../../src/util/fmat_utils.ts","../../../../src/graph/fmat_quad/FMatQuadrantNode.tsx","../../../../src/graph/fmat_tsi/FMatTsiRenderer.tsx","../../../../src/graph/fmat_quad/FMatNameFlagRenderer.tsx","../../../../src/graph/fmat_tsi/FMatTsiNode.tsx","../../../src/util/fivell_utils.ts","../../../../src/graph/fivell/FiveLLRenderer.tsx","../../../../src/graph/fivell/FiveLLNode.tsx","../../../../src/graph/fivell/FiveLLQuadRenderer.tsx","../../../../src/graph/fivell/FiveLLQuadNode.tsx","pages/diag/Result.tsx","pages/diag/ResultHmi.tsx","pages/paper/index.tsx","pages/Error404.tsx","pages/dino/components/PageHeader.tsx","pages/login/InputCode.tsx","pages/login/EmailField.tsx","pages/login/InputProfile.tsx","pages/dino/components/Layout.tsx","pages/dino/DinoEntryPage.tsx","pages/dino/components/ProcessingPage.tsx","pages/dino/components/DinoContext.tsx","pages/dino/components/DiagIcon.tsx","pages/dino/Intro.tsx","pages/dino/components/DiagProgressBar.tsx","pages/dino/components/BigRoundAnswerButton.tsx","pages/dino/components/NavigationControl.tsx","pages/dino/picker/OnePick.tsx","pages/dino/components/QuestionLabel.tsx","pages/dino/components/PillAnswerButton.tsx","pages/dino/picker/OnePickWithQuestion.tsx","pages/dino/components/CircleButton.tsx","pages/dino/components/GuideFrame.tsx","pages/dino/components/GuideMachine.ts","pages/dino/components/SequencePickerGuide.tsx","pages/dino/picker/SequencePick.tsx","pages/dino/picker/SlidePick.tsx","pages/dino/QuestionnairePage.tsx","pages/dino/result/ResultLayout.tsx","pages/dino/result/FiveLLResult.tsx","pages/dino/result/FMatDesc.tsx","pages/dino/report/ReportUtil.tsx","pages/dino/result/FMatQuadResult.tsx","pages/dino/result/FMatHmiResult.tsx","pages/dino/result/FMatTsiResult.tsx","pages/dino/result/FiveLLQuadResult.tsx","pages/dino/result/FMatLbi360Result.tsx","pages/dino/report/ResultReportPage.tsx","pages/dino/result/FMatLbiFastScanResult.tsx","pages/dino/MyPage.tsx","pages/_Router.tsx","pages/RootRedirector.tsx","pages/login/CodeAuthRedirector.tsx","pages/dino/DinoRouter.tsx","graphql.ts","components/context/UIContext.tsx","pages/LoadingPage.tsx","index.tsx"],"names":["module","exports","Boolean","window","location","hostname","match","ProgramItem","props","type","name","disabled","onAction","status","id","t","useTranslation","btnProps","label","icon","React","createElement","Edit","cmd","Note","concat","Box","fill","pad","gap","border","side","size","color","direction","overflow","ListIcon","Analytics","Text","weight","StatusGood","height","Button","Object","assign","primary","onClick","grommetTheme","deepMerge","grommet","global","colors","brand","focus","table","header","align","body","formField","round","margin","vertical","position","button","radius","padding","horizontal","GrommetRoot","Grommet","theme","children","AppBar","_ref","loading","userName","isSignedIn","onClickLanguage","onClickLogin","onClickLogout","onClickUser","history","useHistory","Logo","useMemo","test","src","DinoLogo","Header","background","top","bottom","left","right","elevation","justify","flex","Spinning","kind","width","Home","push","Fragment","Logout","e","ProfilePage","onDone","LoginContext","createContext","undefined","displayName","LoginContextProvider","client","useApolloClient","ctx","login","token","exp","sessionStorage","setItem","logout","removeItem","cache","reset","isLogined","getItem","Provider","value","useLoginContext","useContext","Copyright","owner","Date","getFullYear","Anchor","href","target","i18n","use","LanguageDetector","HttpBackend","initReactI18next","init","fallbackLng","ns","defaultNS","fallbackNS","cleanCode","interpolation","escapeValue","detection","order","caches","backend","loadPath","process","LanguageContext","LanguageContextProvider","lang","setLang","useState","language","getLocales","async","response","fetch","locales","json","changeLanguage","on","useLanguageContext","LanguageSelector","items","setItems","useEffect","then","locs","map","locale","Menu","dropProps","MainLayout","commonPage","setCommonPage","closeCommonPage","render","style","minHeight","responsive","marginTop","defaultOptions","PaperStatus","SessionAuthPartsFragmentDoc","gql","_templateObject","_taggedTemplateLiteral","IntroPartsFragmentDoc","_templateObject2","ItemPartsFragmentDoc","_templateObject3","DinoContentPartsFragmentDoc","_templateObject4","PaperPartsFragmentDoc","_templateObject5","DPaperPartsFragmentDoc","_templateObject6","NewECodePartsFragmentDoc","_templateObject7","_templateObject8","SessionPartsFragmentDoc","_templateObject9","RegionPartFragmentDoc","_templateObject10","NewItemPartFragmentDoc","_templateObject11","UserPartFragmentDoc","_templateObject12","EntryCheckDocument","_templateObject13","useEntryCheckQuery","baseOptions","options","Apollo","AuthByCodeDocument","_templateObject14","JoinByCodeDocument","_templateObject15","MyPapersDocument","_templateObject16","useMyPapersQuery","PaperDocument","_templateObject17","usePaperQuery","PaperSheetDocument","_templateObject18","DinoMyPapersDocument","_templateObject19","DinoLoadPaperDocument","_templateObject20","SubmitAnswersDocument","_templateObject21","DinoAllPaperDocument","_templateObject22","DinoPaperDocument","_templateObject23","useDinoPaperQuery","DinoProcessResponseDocument","_templateObject24","GetResultDocument","_templateObject25","useGetResultQuery","EcodeByPaperDocument","_templateObject26","useEcodeByPaperQuery","SendReportToEmailDocument","_templateObject27","_templateObject28","_templateObject29","_templateObject30","_templateObject31","_templateObject32","_templateObject33","_templateObject34","_templateObject35","_templateObject36","_templateObject37","_templateObject38","_templateObject39","_templateObject40","_templateObject41","_templateObject42","_templateObject43","_templateObject44","_templateObject45","_templateObject46","_templateObject47","_templateObject48","_templateObject49","_templateObject50","_templateObject51","_templateObject52","_templateObject53","_templateObject54","_templateObject55","_templateObject56","_templateObject57","_templateObject58","_templateObject59","_templateObject60","_templateObject61","_templateObject62","_templateObject63","_templateObject64","_templateObject65","_templateObject66","_templateObject67","_templateObject68","_templateObject69","_templateObject70","_templateObject71","_templateObject72","_templateObject73","_templateObject74","_templateObject75","_templateObject76","_templateObject77","MyPage","length","v","i","key","textAlign","DiagLayout","layerContent","IntroPage","title","description","onRequestNext","onMagic","Heading","level","Markdown","wordBreak","components","p","Paragraph","DiagControlBar","hasPrevious","hasNext","waiting","dirty","isMetaView","onPrevious","onNext","onReset","onToggleMetaView","plain","Previous","focusIndicator","Next","FormView","Hide","Revert","DiagProgressBar","index","total","Meter","values","thickness","aria-label","max","PRESET_COLOR","4","3","2","1","AnswerButton","answer","selected","Stack","anchor","fontWeight","alignSelf","FlowButtonPanel","answers","score","onUpdateScore","onChooseAnswer","num","nextScore","_","chain","min","defaultTo","subtract","getNextScore","newScore","a","AdvancedAnswerButton","pt","onChange","alreadyChoosed","compact","range","includes","MetaButtonPanel","samePtIdx","indexOf","QuestionLabel","question","replace","backgroundColor","isDone","eq","isDirty","INIT_SCORE","FMatAnswerSeqPage","metaMode","setMetaMode","ctrlProps","seq","FMatAnswerOnePage","_i","lineHeight","Checkmark","ButtonStylePreset","FMatAnswerHmiPage","keyword1","keyword2","RadioButtonGroup","event","option","_ref2","checked","Icon","RadialSelected","Radial","preset","basis","EmptyPage","resolveApolloError","graphQLErrors","networkError","messages","message","forEach","err","get","handleGqlError","ToastsStore","error","REDUCER","state","action","toIdx","idx","sheet","finished","done","newState","newSheet","times","shuffle","x","y","stroke","l","FMatResultPage","results","onClose","hideChart","data","el","useRef","refStage","reduce","k","split","hmi","allPaper","filter","item","parseInt","first","current","console","log","clientWidth","marginBottom","ref","FMatQuadrantRenderer","FMatQuadrantGraphNode","C","R","T","S","FMatQuadrantTriangleNode","D","W","dataUrl","getStage","toDataURL","pixelRatio","link","document","download","appendChild","click","removeChild","B","PaperResultPage","paperId","useParams","variables","paper","resultComponent","resultProps","FMatResultHmiPage","StatusCritical","goBack","PageHeader","texts","EmailField","field","FormField","required","autoCorrect","autoCapitalize","placeholder","validate","regexp","InputProfile","_data$entryCheck","_data$entryCheck$sess","_data$entryCheck2","_data$entryCheck2$ses","_data$entryCheck3","_data$entryCheck3$ses","code","onError","agreeEmail","setAgreeEmail","joinMutation","useJoinByCodeMutation","fetchPolicy","goNext","useCallback","input","isAgreeEmail","profile","r","username","joinByCode","catch","entryCheck","session","ecodeFields","Form","onSubmit","def","display","borderColor","CheckBox","DinoLayout","_data$dinoPaper","_data$dinoPaper$item","dinoPaper","ProcessingPage","DinoContext","DinoContextProvider","paperData","context","fetchPaperSheet","useDinoLoadPaperLazyQuery","submitResponse","useDinoProcessResponseMutation","pageStat","setPageStat","page","nextPage","processing","allResponse","setAllResponse","sheets","list","dinoLoadPaper","content","cid","intro","itemCnt","itemNo","newPageStat","setTimeout","statusCd","Done","arr","entries","_ref3","join","valueOf","isLast","waitBeforeNext","meta","nav","putResponse","produce","draft","goPrev","spliceSheets","contentId","contentLength","splice","useDinoContext","DiagIcon","subtitle","fullname","part","FMatIcon","FllIcon","whiteSpace","Intro","pgmId","dino","leaderName","setLeaderName","Number","introData","ecodeByPaper","isLeader","readFragment","fragment","warning","desc1","desc2","desc2Template","_template","PRESET","BigRoundAnswerButton","text","NavigationControl","prev","next","OnePick","_questionData$values","itemId","questionData","HEIGHT","PillAnswerButton","OnePickWithQuestion","BG_COLOR","NONE","SELECTED","DIMMED","CircleButton","fontSize","GuideFrame","hide","image","animation","duration","overrides","Image","fit","SequencePickerGuide","onFinish","send","useMachine","fps","trigger","end","Machine","initial","frames","progress","states","running","invoke","cb","interval","setInterval","clearInterval","always","cond","TICK","actions","newFrames","paused","RESET","createGuideMachine","END_SEC","keyPrefix","exists","tt","Page1","Page2","Page3","full","matches","Math","ceil","Refresh","LinkNext","SequencePickerPanel","onSelect","alreadySelected","Set","has","SequencePick","tutorial","setTutorial","keys","initResponse","transform","newResponse","_score","_ref4","Layer","COLOR_PRESET","SlideButton","statusProps","marginLeft","SlidePick","vkey","_contentData$intro","_contentData$intro2","_contentData$intro3","contentData","fragmentName","Picker","itemView","maxWidth","ExtraContentWrapper","collapsed","setCollapsed","FormUp","FormDown","ResultLayout","disableDownload","showSendReport","extraContent","_data$dinoPaper2","_data$dinoPaper2$item","FiveLLRenderer","FiveLLNode","typeImgs","FMatType1Img","FMatType2Img","FMatType3Img","FMatType4Img","FMatDesc","desc","getDesc","dom","getDominant","resultKey","wd","wdText","component","h4","ul","paddingLeft","li","_ref5","isSupportItem","fetchAllPaper","allPapers","useDinoAllPaperLazyQuery","setShowSendReport","newValue","hmiPaper","dinoAllPaper","find","ResultImg","ResultR","ResultL","ResultA","_data$dinoPaper3","FMatTsiRenderer","FMatTsiGraphNode","FiveLLQuadResult","FiveLLQuadRenderer","FiveLLQuadNode","ResultReportPage","setProcessing","sendReportToEmail","useSendReportToEmailMutation","languages","form","email","notification","info","finally","sendReport","types","type1","img","imgType1","type2","imgType2","type3","imgType3","type4","imgType4","DinoButton","opacity","routes","exact","path","ecode","defaultCode","fetchEntryCheck","useEntryCheckLazyQuery","canContinue","setCanContinue","setCode","TextInput","toUpper","RegExp","maxLength","authByCodeMutation","useAuthByCodeMutation","isUsed","authByCode","codeType","InputProfilePage","shortName","_data$dinoAllPaper","useDinoMyPapersQuery","wrap","alignContent","colorPallete","called","strict","usePaperSheetQuery","submitAnswer","useSubmitAnswersMutation","dispatch","useReducer","steps","paperSheet","groupBy","group","mapValues","timer","clearTimeout","answerSheet","ai","s","orderBy","res","errorCodes","startsWith","q","_ref6","Switch","Route","DinoEntryPage","QuestionnairePage","FMatQuadResult","FMatTsiResult","FMatLbi360Result","FMatLbiFastScanResult","FMatHmiResult","FiveLLResult","Error404","Router","route","InMemoryCache","authLink","ApolloLink","operation","forward","setContext","headers","Accept","Authorization","localStorage","result","restResponses","getContext","authTokenResponse","authorization","Observable","observer","handle","subscribe","bind","complete","unsubscribe","UIContext","UIContextProvider","setMessage","setLoading","popupError","ApolloError","extensions","ts","time","LoadingPage","Spinner","eventLink","_eventLink","ApolloClient","connectToDevTools","from","HttpLink","uri","credentials","createClient","ReactDOM","Suspense","fallback","ApolloProvider","handler","ToastsContainer","store","ToastsContainerPosition","BOTTOM_CENTER","lightBackground","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.1ba19743.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/icon_4mat.400da215.svg\";","module.exports = __webpack_public_path__ + \"static/media/icon_5ll.4b25f2ad.svg\";","module.exports = __webpack_public_path__ + \"static/media/logo_dino.3ac259a0.svg\";","module.exports = __webpack_public_path__ + \"static/media/Background_EN.5b9fd941.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDM1MiwgMjAyMC8wMS8zMC0xNTo1MDozOCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjEgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVERUEwM0VBODA3RTExRUI5NUJGRTM1REQ3MjU1RjA3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVERUEwM0VCODA3RTExRUI5NUJGRTM1REQ3MjU1RjA3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RURFQTAzRTg4MDdFMTFFQjk1QkZFMzVERDcyNTVGMDciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RURFQTAzRTk4MDdFMTFFQjk1QkZFMzVERDcyNTVGMDciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4w1W2oAAABNklEQVR42mL8//8/AzUBC4hgZGRkmHckKeTPn1+3r7ze8JaDl+FNl8eXH+QYyAhy4ZSNKSwv+Ff9Fv5neuTBu1M2QAMZOHgZb7LzMOz98/P/pl/fGPa1Onz5TYyBTHjk1IE4C4h3APHz0u3c/fnruPSI8jIRQBiIC0C4YD3XWRY2xmWs7Axr2l2+PiLXQGRgDMW9dUd5Lv/59X/fl7f/D3x9///Q3NTv75gojFRdIM4H4hlAXB7Vy8HEQoFh34B4OxAvBNFA1/0h1cuXgPgMEF+Fso80WWMmLXwGvgfizUC8C4h3d3t+fUV0wuZlkfv/kVGUgZWR6zuQOwuI1wPxvmr9z7/IyinS7Fb/NTk9GFhZWffnOhm1UxJLTAxUBqMGDlYDXV1d/wEpByBeSqmBjNSuAgACDAAnFWsPwYVAtAAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"static/media/4mat_seqp_guide_1.cc57220d.png\";","module.exports = __webpack_public_path__ + \"static/media/4mat_seqp_guide_2.de6579f7.png\";","module.exports = __webpack_public_path__ + \"static/media/4mat_seqp_guide_3.06776b96.png\";","module.exports = __webpack_public_path__ + \"static/media/4mat_result_type1.e1ad2562.gif\";","module.exports = __webpack_public_path__ + \"static/media/4mat_result_type2.d458f0c4.gif\";","module.exports = __webpack_public_path__ + \"static/media/4mat_result_type3.a88acbf0.gif\";","module.exports = __webpack_public_path__ + \"static/media/4mat_result_type4.23d9a9a9.gif\";","module.exports = __webpack_public_path__ + \"static/media/4mat_hmi_result_l.9a8afc2d.svg\";","module.exports = __webpack_public_path__ + \"static/media/4mat_hmi_result_r.2fd3bf79.svg\";","module.exports = __webpack_public_path__ + \"static/media/4mat_hmi_result_a.a282034b.svg\";","module.exports = __webpack_public_path__ + \"static/media/IDI_type1.fcc762cf.png\";","module.exports = __webpack_public_path__ + \"static/media/IDI_type2.c9c1b0bf.png\";","module.exports = __webpack_public_path__ + \"static/media/IDI_type3.76f8c79b.png\";","module.exports = __webpack_public_path__ + \"static/media/IDI_type4.0f7e4278.png\";","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n (process as { env: { [key: string]: string } }).env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import { Box, Button, Text } from \"grommet\"\r\nimport { Analytics, Edit, List as ListIcon, Note, StatusGood } from \"grommet-icons\"\r\nimport React from \"react\"\r\nimport { useTranslation } from \"react-i18next\"\r\n\r\nexport type ItemType = \"diag\" | \"report\"\r\nexport type ItemStatus = \"READY\" | \"PROCEEDING\" | \"DONE\"\r\nexport type ProgramItemProps = {\r\n id: string | number\r\n type: ItemType\r\n name: string\r\n status: ItemStatus\r\n disabled?: boolean\r\n onAction?: (id: string | number, cmd: string) => void\r\n}\r\n\r\nexport const ProgramItem: React.FC = (props) => {\r\n const { type, name, disabled = false, onAction, status, id } = props\r\n const { t } = useTranslation()\r\n const BTN_PRESET = {\r\n \"diag.READY\": {\r\n label: t(\"program-item.diagnosis\"),\r\n icon: ,\r\n cmd: \"START\",\r\n },\r\n \"diag.PROCEEDING\": {\r\n label: t(\"program-item.diagnosis\") + \" ...\",\r\n icon: ,\r\n cmd: \"START\",\r\n },\r\n \"diag.DONE\": {\r\n label: t(\"program-item.view-result\"),\r\n icon: ,\r\n cmd: \"VIEW\",\r\n },\r\n \"report.READY\": {\r\n label: t(\"program-item.view-result\"),\r\n icon: ,\r\n cmd: \"VIEW\",\r\n },\r\n \"report.RESULT\": {\r\n label: t(\"program-item.view-result\"),\r\n icon: ,\r\n cmd: \"VIEW\",\r\n },\r\n }\r\n const preset = `${type}.${status}`\r\n const btnProps = BTN_PRESET[preset]\r\n\r\n return (\r\n \r\n \r\n {type === \"diag\" ? : }\r\n {name}\r\n {status === \"DONE\" && }\r\n \r\n \r\n {btnProps && (\r\n onAction(id, btnProps.cmd)}\r\n />\r\n )}\r\n \r\n \r\n )\r\n}\r\n","import React from \"react\"\nimport { grommet, Grommet, GrommetProps, ThemeType } from \"grommet\"\nimport { deepMerge } from \"grommet/utils\"\n\nexport const grommetTheme: ThemeType = deepMerge(grommet, {\n global: {\n colors: {\n brand: \"#00739D\",\n },\n focus: {\n border: {\n color: \"#00739D\",\n },\n },\n },\n table: {\n header: {\n align: \"center\",\n },\n body: {\n align: \"center\",\n },\n },\n formField: {\n round: \"xsmall\",\n label: { margin: { vertical: \"xxsmall\" } },\n border: {\n position: \"inner\",\n side: \"all\",\n color: \"#000\",\n },\n },\n button: {\n border: {\n radius: \"36px\",\n },\n padding: {\n vertical: \"10px\",\n horizontal: \"30px\",\n },\n },\n} as ThemeType)\n\nexport const GrommetRoot: React.FC = (props) => {\n // full=true 여야 justify를 활용할 수 있음. 그러나 full을 넣으면 드래그가 되는 페이지가 나오지 않음... 이 아니로 overflow='scroll' 설정하면 된다.\n return (\n \n {props.children}\n \n )\n}\n","import { Box, Button, Header, Text } from \"grommet\"\nimport { Spinning } from \"grommet-controls\"\nimport { Home, Logout } from \"grommet-icons\"\nimport React from \"react\"\nimport { useHistory } from \"react-router\"\nimport DinoLogo from \"../../imgs/logo_dino.svg\"\nimport { useMemo } from \"react\"\n\nconst isLocalhost = () =>\n window.location.hostname === \"localhost\" ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === \"[::1]\" ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n\nexport type AppBarProps = {\n loading: boolean\n userName?: string\n isSignedIn: boolean\n onClickLanguage?: () => void\n onClickUser?: () => void\n onClickLogin?: () => void\n onClickLogout?: () => void\n}\n\nexport const AppBar: React.FC = ({\n loading,\n userName,\n isSignedIn,\n onClickLanguage,\n onClickLogin,\n onClickLogout,\n onClickUser,\n}) => {\n const history = useHistory()\n const Logo = useMemo(() => {\n if (/4mat.co.kr$/.test(window.location.hostname)) {\n return () => (\n \n 4MAT\n \n )\n } else {\n return () => \n }\n }, [])\n return (\n \n \n \n \n {loading && }\n \n \n \n \n )\n}\n\nexport const FlowButtonPanel: React.FC = (props) => {\n const { answers, score, onUpdateScore } = props\n const onChooseAnswer = (num: number) => {\n const nextScore = getNextScore(score)\n if (nextScore === 0) return\n if (score[num - 1] !== null) return\n\n const newScore = [...score]\n newScore[num - 1] = nextScore\n\n // if (nextScore - 1 === 1) {\n // const last = _.indexOf(newScore, null)\n // newScore[last] = 1\n // }\n\n onUpdateScore(newScore)\n }\n\n return (\n \n {answers.map((a, i) => (\n onChooseAnswer(i + 1)} />\n ))}\n \n )\n}\n","import React from \"react\"\nimport { Button, Box, Text } from \"grommet\"\nimport _ from \"lodash\"\nimport { ButtonPanelProps, PRESET_COLOR } from \"./ButtonPanel\"\n\nexport type AdvancedAnswerButtonProps = {\n answer: string\n pt: number | null\n onChange: (pt: number) => void\n score: number[]\n}\nexport const AdvancedAnswerButton: React.FC = ({ answer, pt, score, onChange }) => {\n const alreadyChoosed = _.compact(score)\n\n return (\n \n \n {answer}\n \n \n {_.range(0, 4).map(i => (\n \n ))}\n \n \n )\n}\nexport const MetaButtonPanel: React.FC = props => {\n const { answers, score, onUpdateScore } = props\n\n const onChooseAnswer = (num: number, pt: number) => {\n const newScore = [...score]\n\n const samePtIdx = newScore.indexOf(pt)\n if (samePtIdx >= 0) newScore[samePtIdx] = null\n newScore[num] = pt\n\n onUpdateScore(newScore)\n }\n return (\n \n {answers.map((a, i) => (\n onChooseAnswer(i, pt)} />\n ))}\n \n )\n}\n","import React from \"react\"\nimport { Stack, Box, Text } from \"grommet\"\nimport { Spinning } from \"grommet-controls\"\n\nexport type QuestionLabelProps = {\n question: string\n waiting: boolean\n}\nexport const QuestionLabel: React.FC = ({ question, waiting }) => {\n return (\n \n \n \n {question && question.replace(\"%?\", \"_____\")}\n \n \n {waiting && (\n \n \n \n )}\n \n )\n}\n","import { Box, Heading } from \"grommet\"\nimport _ from \"lodash\"\nimport React from \"react\"\nimport Copyright from \"../../components/layout/Copyright\"\nimport { DiagControlBar } from \"../../components/DiagControlBar\"\nimport DiagLayout from \"../../components/DiagLayout\"\nimport { DiagProgressBar } from \"../../components/DiagProgressBar\"\nimport { FlowButtonPanel } from \"../../components/FlowButtonPanel\"\nimport { MetaButtonPanel } from \"../../components/MetaButtonPanel\"\nimport { QuestionLabel } from \"../../components/QuestionLabel\"\n\ntype FMatAnswerSeqPageProps = {\n index: number\n total: number\n question?: string\n answers: string[]\n score: number[] | null\n hasPrevious?: boolean\n hasNext?: boolean\n waiting?: boolean\n onUpdateScore: (seq: number[], done: boolean) => void\n onPrevious: () => void\n onNext: () => void\n}\n\nconst isDone = (score: number[]) =>\n _.chain(score)\n .compact()\n .size()\n .eq(4)\n .value()\n\nconst isDirty = (score: number[]) =>\n _.chain(score)\n .compact()\n .size()\n .value() > 0\n\nconst INIT_SCORE = [null, null, null, null]\n\nexport const FMatAnswerSeqPage: React.FC = ({\n index,\n total,\n question,\n answers,\n score = INIT_SCORE,\n hasPrevious,\n hasNext,\n waiting = false,\n onUpdateScore,\n onPrevious,\n onNext,\n}) => {\n const [metaMode, setMetaMode] = React.useState(false)\n\n React.useEffect(() => {\n onUpdateScore(INIT_SCORE, false)\n }, [metaMode])\n\n const ctrlProps = {\n hasPrevious,\n hasNext,\n waiting,\n onPrevious,\n onNext,\n onReset: () => onUpdateScore(INIT_SCORE, false),\n onToggleMetaView: () => setMetaMode(!metaMode),\n }\n\n return (\n \n \n \n 4MAT - Part A\n \n \n \n \n \n {metaMode ? (\n onUpdateScore(seq, isDone(seq))} />\n ) : (\n onUpdateScore(seq, isDone(seq))} />\n )}\n \n \n )\n}\n\nexport default FMatAnswerSeqPage\n","import { Box, Button, Heading, Stack, Text } from \"grommet\"\nimport { Checkmark } from \"grommet-icons\"\nimport React from \"react\"\nimport Copyright from \"../../components/layout/Copyright\"\nimport DiagLayout from \"../../components/DiagLayout\"\nimport { DiagProgressBar } from \"../../components/DiagProgressBar\"\nimport { QuestionLabel } from \"../../components/QuestionLabel\"\nimport { DiagControlBar } from \"../../components/DiagControlBar\"\n\ntype FMatAnswerOnePageProps = {\n index: number\n total: number\n question?: string\n answers: string[]\n score: number[] | null\n hasPrevious?: boolean\n hasNext?: boolean\n waiting?: boolean\n onUpdateScore: (seq: number[], done: boolean) => void\n onPrevious: () => void\n onNext: () => void\n}\n\nexport const FMatAnswerOnePage: React.FC = ({\n index,\n total,\n question,\n answers,\n score = [null, null],\n onUpdateScore,\n waiting,\n hasPrevious = false,\n hasNext,\n onPrevious,\n onNext,\n}) => {\n const ctrlProps = {\n hasPrevious,\n hasNext,\n waiting,\n onPrevious,\n onNext,\n }\n\n return (\n \n \n \n 4MAT - Part B\n \n \n\n \n \n \n {/* \n {hasPrevious && \n )\n })}\n \n \n \n )\n}\n\nexport default FMatAnswerOnePage\n","import { Box, Heading, RadioButtonGroup, Text } from \"grommet\"\r\nimport { Radial, RadialSelected } from \"grommet-icons\"\r\nimport React from \"react\"\r\nimport { useTranslation } from \"react-i18next\"\r\nimport Copyright from \"../../components/layout/Copyright\"\r\nimport { DiagControlBar } from \"../../components/DiagControlBar\"\r\nimport DiagLayout from \"../../components/DiagLayout\"\r\nimport { DiagProgressBar } from \"../../components/DiagProgressBar\"\r\n\r\ntype FMatAnswerHmiPageProps = {\r\n index: number\r\n total: number\r\n question?: string\r\n answers: string[]\r\n score: number[] | null\r\n hasPrevious?: boolean\r\n hasNext?: boolean\r\n waiting?: boolean\r\n onUpdateScore: (seq: number[], done: boolean) => void\r\n onPrevious: () => void\r\n onNext: () => void\r\n}\r\n\r\nconst ButtonStylePreset = {\r\n \"0\": { size: \"1.5em\", label: \"label.hmi.pt2\" },\r\n \"1\": { size: \"1.3em\", label: \"label.hmi.pt1\" },\r\n \"2\": { size: \"1.0em\", label: \"label.hmi.pt0\" },\r\n \"3\": { size: \"1.3em\", label: \"label.hmi.pt1\" },\r\n \"4\": { size: \"1.5em\", label: \"label.hmi.pt2\" },\r\n}\r\n\r\nexport const FMatAnswerHmiPage: React.FC = ({\r\n index,\r\n total,\r\n answers,\r\n score = [null, null, null, null, null],\r\n onUpdateScore,\r\n waiting,\r\n hasPrevious = false,\r\n hasNext,\r\n onPrevious,\r\n onNext,\r\n}) => {\r\n const { t } = useTranslation()\r\n const ctrlProps = {\r\n hasPrevious,\r\n hasNext,\r\n waiting,\r\n onPrevious,\r\n onNext,\r\n }\r\n const [keyword1, keyword2] = answers\r\n\r\n return (\r\n \r\n \r\n \r\n 4MAT\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n {keyword1}\r\n \r\n \r\n \r\n \r\n {keyword2}\r\n \r\n \r\n \r\n\r\n {\r\n const answer = [null, null, null, null, null]\r\n answer[event.target.value] = 1\r\n onUpdateScore(answer, true)\r\n }}\r\n >\r\n {(option, { checked }) => {\r\n const Icon = checked ? RadialSelected : Radial\r\n const preset = ButtonStylePreset[option]\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {t(preset.label)}\r\n \r\n \r\n )\r\n }}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default FMatAnswerHmiPage\r\n","import { Box } from \"grommet\"\nimport React from \"react\"\nimport Copyright from \"../../components/layout/Copyright\"\nimport DiagLayout from \"../../components/DiagLayout\"\n\nexport type EmptyPageProps = {}\n\nexport const EmptyPage: React.FC = props => {\n return (\n \n {props.children}\n \n \n )\n}\n","import { ApolloError } from \"@apollo/client\"\nimport { ToastsStore } from \"react-toasts\"\nimport _ from \"lodash\"\nimport i18n from \"../i18n\"\n\nexport const resolveApolloError = (e: ApolloError) => {\n const { graphQLErrors, networkError } = e\n\n const messages = []\n if (networkError) messages.push(networkError.message)\n if (graphQLErrors)\n graphQLErrors.forEach((err) => messages.push(i18n.t(\"messages.\" + _.get(err, \"extensions.code\")) || err.message))\n return messages\n}\n\nexport const handleGqlError = (e: ApolloError) => {\n resolveApolloError(e).forEach((v) => ToastsStore.error(v, 5000))\n}\n","import _ from \"lodash\"\nimport React, { useContext, useMemo } from \"react\"\nimport { useTranslation } from \"react-i18next\"\nimport { useSubmitAnswersMutation, usePaperSheetQuery, usePaperQuery } from \"../../generated-types\"\nimport { IntroPage } from \"./Intro\"\nimport { FMatAnswerSeqPage } from \"./FMatAnswerSeq\"\nimport { FMatAnswerOnePage } from \"./FMatAnswerOne\"\nimport FMatAnswerHmiPage from \"./FMatAnswerHmi\"\nimport { useHistory, useParams } from \"react-router\"\nimport { LanguageContext } from \"../../components/context/LanguageContext\"\nimport { EmptyPage } from \"./EmptyPage\"\nimport { Spinning } from \"grommet-controls\"\nimport { Text } from \"grommet\"\nimport { useEffect } from \"react\"\nimport { handleGqlError, resolveApolloError } from \"../../components/utils\"\nimport { ToastsStore } from \"react-toasts\"\n\nconst TRANSITION_TIME_MS = 280\n\ntype Action =\n | { type: \"prev\" }\n | { type: \"next\" }\n | { type: \"advance\" }\n | { type: \"update\"; score: number[]; done: boolean; finished: boolean }\n | { type: \"magic\"; key: string }\n\nconst REDUCER = (state, action: Action) => {\n let toIdx = state.idx\n\n switch (action.type) {\n case \"prev\":\n toIdx = state.idx === 0 ? toIdx : toIdx - 1\n return { ...state, idx: toIdx, waiting: false, score: state.sheet[toIdx] }\n case \"next\":\n if (state.finished) return state\n toIdx = toIdx + 1\n return { ...state, idx: toIdx, waiting: false, score: state.sheet[toIdx] }\n case \"advance\":\n if (state.finished) return state\n toIdx = toIdx + 1\n return { ...state, idx: toIdx, waiting: false, done: false, score: state.sheet[toIdx] }\n case \"update\":\n const newState = { ...state, score: action.score, waiting: action.done, finished: action.finished || false }\n if (action.done) {\n const newSheet = [...state.sheet]\n newSheet[state.idx] = action.score\n newState.sheet = newSheet\n newState.done = true\n }\n return newState\n case \"magic\":\n return action.key === \"A\"\n ? {\n idx: 16,\n score: undefined,\n waiting: false,\n finished: false,\n sheet: [undefined, ..._.times(15, () => _.shuffle([4, 3, 2, 1]))],\n }\n : {\n idx: 27,\n score: undefined,\n waiting: false,\n finished: false,\n sheet: [...state.sheet, undefined, ..._.times(10, () => [1])],\n }\n }\n}\n\n// 유저의 행동에 따른 값 및 상태값 제어 그리고 페이지 페칭 전담\n// 결과 페이지만 별도의 URL로 구성\n// 저장소에 처리중이었던 진단 내용이 있으면 resume 가능\nexport const FMatControlPage: React.FC = (props) => {\n const { paperId } = useParams()\n const { t } = useTranslation()\n const history = useHistory()\n let { lang } = useContext(LanguageContext)\n if (![\"en\", \"ko\"].includes(lang)) lang = \"en\"\n const { data: paperData } = usePaperQuery({\n variables: { paperId },\n onError: (e) => {\n handleGqlError(e)\n history.push(\"/\")\n },\n })\n const { loading, data, error } = usePaperSheetQuery({ variables: { paperId, lang }, fetchPolicy: \"no-cache\" })\n\n const [submitAnswer] = useSubmitAnswersMutation()\n const [state, dispatch] = React.useReducer(REDUCER, {\n idx: 0,\n score: undefined, // 현재 표시되는 점수\n done: false,\n waiting: false,\n finished: false,\n sheet: [], // 점수 입력 내용\n })\n\n useEffect(() => {\n if (!paperData) return\n\n if (/^5LL/.test(paperData.paper.item.id)) history.push(`/papers/${paperId}`)\n if (paperData.paper.status === \"DONE\") history.push(`/paper/${paperId}/result`)\n }, [paperData])\n\n const { idx, score, waiting, sheet } = state\n const steps = data ? data.paperSheet.steps : []\n\n const seq = useMemo(\n () =>\n _.chain(data ? data.paperSheet.steps : [])\n .map((v, idx) => ({ ...v, idx }))\n .groupBy((v) => v.type + \"/\" + v.group)\n .mapValues((v) => v.map(({ idx }) => idx))\n .value(),\n [data]\n )\n\n const onUpdateScore = React.useCallback(\n (score: number[], done: boolean) => {\n dispatch({ type: \"update\", score, done, finished: done && state.idx === steps.length - 1 })\n },\n [state, steps]\n )\n\n useEffect(() => {\n let timer\n\n if (state.done && !state.finished) {\n timer = setTimeout(() => dispatch({ type: \"advance\" }), TRANSITION_TIME_MS)\n }\n return () => timer && clearTimeout(timer)\n }, [state])\n\n useEffect(() => {\n if (state.finished) {\n console.log(state)\n const answerSheet = _.chain(state.sheet)\n .map((seq, i) =>\n seq\n ? _.chain(seq)\n .map((a, ai) => [ai + 1, a])\n .filter(([, s]) => s > 0)\n .orderBy([([, a]) => a], [\"desc\"])\n .map(([ai]) => steps[i].res[ai].id)\n .join(\",\")\n .value()\n : undefined\n )\n .compact()\n .value()\n\n submitAnswer({ variables: { paperId, answers: answerSheet } })\n .then((r) => {\n history.push(`/paper/${paperId}/result`)\n })\n .catch((e) => console.error(e))\n }\n }, [state, paperId, steps, history, submitAnswer])\n\n if (loading) {\n return (\n \n \n \n )\n }\n\n if (error) {\n const errorCodes = resolveApolloError(error)\n // const { networkError, graphQLErrors } = error\n // const errorCodes = []\n // if (networkError) errorCodes.push(networkError)\n // graphQLErrors.forEach(({ message }) => {\n // errorCodes.push(message)\n // })\n return (\n \n {errorCodes.map((code, i) => (\n \n {t(`error.${code}`)}\n \n ))}\n \n )\n }\n\n const { type, group, res } = steps[idx]\n const key = type + \"/\" + group\n\n if (type === \"INFO\") {\n const { desc } = res[0]\n\n return (\n dispatch({ type: \"next\" })}\n description={desc || \"\"}\n title={`${paperData.paper.item.name}${group.startsWith(\"_\") ? \"\" : \" (Part \" + group + \")\"}`}\n onMagic={(key) => {\n dispatch({ type: \"magic\", key })\n }}\n id={group}\n />\n )\n } else {\n const props = {\n index: seq[key].indexOf(idx) + 1,\n total: seq[key].length,\n // onDone: onNext,\n score,\n waiting,\n hasPrevious: seq[key].includes(idx - 1),\n hasNext: !!sheet[idx],\n onUpdateScore,\n onPrevious: () => dispatch({ type: \"prev\" }),\n onNext: () => dispatch({ type: \"next\" }),\n }\n\n const [q, ...a] = res\n switch (type) {\n case \"FMAT_SEQ\":\n return desc)} />\n case \"FMAT_ONE\":\n return desc)} />\n case \"FMAT_HMI\":\n return \n }\n }\n\n return \n}\n\nexport const DiagRedirector = (props) => {\n const { paperId } = useParams()\n const history = useHistory()\n const { data, called } = usePaperQuery({\n variables: { paperId },\n onError: (e) => {\n handleGqlError(e)\n history.push(\"/\")\n },\n })\n\n useEffect(() => {\n if (!data) {\n if (called) {\n ToastsStore.error(\"Wrong Access\")\n history.push(\"/\")\n return\n }\n }\n\n if (data.paper.status === \"DONE\") {\n history.push(`/paper/${paperId}/result`)\n return\n }\n\n history.push(`/paper/${paperId}/diag`)\n }, [data])\n return null\n}\n","import React, { createContext, useContext, useMemo } from \"react\";\nexport var GraphPropContext = createContext(undefined);\nGraphPropContext.displayName = \"GraphPropContext\";\nexport var GraphPropContextProvider = function (props) {\n var ctx = useMemo(function () {\n return {\n l: props.width,\n lm: Math.ceil(props.width / 2),\n pmin: props.pmin,\n pmax: props.pmax || 0,\n };\n }, [props]);\n return React.createElement(GraphPropContext.Provider, { value: ctx }, props.children);\n};\nexport var useGraphPropContext = function () { return useContext(GraphPropContext); };\n//# sourceMappingURL=GraphPropsContext.js.map","var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport React, { forwardRef } from \"react\";\nimport { Group, Image, Layer, Line, Rect, Stage } from \"react-konva\";\nimport { useImage } from \"react-konva-utils\";\nimport { roundRect } from \"../../util/canvas_utils\";\nimport { GraphPropContextProvider, useGraphPropContext } from \"../GraphPropsContext\";\nimport BackgroundImage from \"./images/Background_EN.png\";\nexport var FMAT_GRID_PAD = 35;\nvar VALUE_MIN = 15;\nvar VALUE_LIMIT = 60;\nvar FMatGrid = function (_a) {\n var show = _a.show;\n if (!show)\n return null;\n var l = useGraphPropContext().l;\n var center = gridPoints(l, 1);\n var lines = __spreadArray(__spreadArray([], gridPoints(l, 2), true), center, true);\n var dotted = gridPoints(l, 4);\n return (React.createElement(React.Fragment, null,\n React.createElement(Group, { opacity: 0.4 }, lines.map(function (line) { return (React.createElement(Line, { points: line, stroke: \"black\", strokeWidth: 1 })); })),\n React.createElement(Group, { opacity: 0.4 }, dotted.map(function (line) { return (React.createElement(Line, { points: line, stroke: \"black\", strokeWidth: 1, dash: [2, 2] })); }))));\n};\nvar gridPoints = function (l, count) {\n var points = [];\n var interval = l / count;\n var start = interval / 2;\n var flip = false;\n for (var i = 0; i < 2; i++) {\n for (var j = 0; j < count; j++) {\n var pos = start + interval * j;\n if (!flip) {\n points.push([pos, 0, pos, l]);\n }\n else {\n points.push([0, pos, l, pos]);\n }\n }\n flip = true;\n }\n return points;\n};\nexport var FMatQuadrantRenderer = forwardRef(function (props, ref) {\n var width = props.width, children = props.children, showGrid = props.showGrid;\n var image = useImage(BackgroundImage)[0];\n var pad = 29;\n var innerWidth = width - pad * 2;\n return (React.createElement(Stage, { width: width, height: width, ref: ref },\n React.createElement(GraphPropContextProvider, { width: innerWidth, pmin: VALUE_MIN, pmax: VALUE_LIMIT },\n React.createElement(Layer, { clipFunc: function (ctx) {\n roundRect(ctx, 0, 0, width, width, 15, false, false);\n } },\n !showGrid ? (React.createElement(Image, { image: image, width: width, height: width })) : (React.createElement(Rect, { x: pad, y: pad, width: innerWidth, height: innerWidth, fill: \"white\", cornerRadius: 15 })),\n React.createElement(Group, { x: pad, y: pad },\n React.createElement(FMatGrid, { show: showGrid }))),\n React.createElement(Layer, { x: pad, y: pad, width: innerWidth, height: innerWidth }, children))));\n});\n//# sourceMappingURL=FMatQuadrantRenderer.js.map","export function roundRect(ctx, x, y, width, height, radius, fill, stroke) {\n if (typeof stroke === \"undefined\") {\n stroke = true;\n }\n if (typeof radius === \"undefined\") {\n radius = 5;\n }\n if (typeof radius === \"number\") {\n radius = { tl: radius, tr: radius, br: radius, bl: radius };\n }\n else {\n var defaultRadius = { tl: 0, tr: 0, br: 0, bl: 0 };\n for (var side in defaultRadius) {\n radius[side] = radius[side] || defaultRadius[side];\n }\n }\n ctx.beginPath();\n ctx.moveTo(x + radius.tl, y);\n ctx.lineTo(x + width - radius.tr, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + radius.tr);\n ctx.lineTo(x + width, y + height - radius.br);\n ctx.quadraticCurveTo(x + width, y + height, x + width - radius.br, y + height);\n ctx.lineTo(x + radius.bl, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - radius.bl);\n ctx.lineTo(x, y + radius.tl);\n ctx.quadraticCurveTo(x, y, x + radius.tl, y);\n ctx.closePath();\n if (fill) {\n ctx.fill();\n }\n if (stroke) {\n ctx.stroke();\n }\n}\n//# sourceMappingURL=canvas_utils.js.map","import cc from \"color-convert\";\nimport _ from \"lodash\";\nexport var translate = [\n [1, -1],\n [1, 1],\n [-1, 1],\n [-1, -1],\n];\nexport var modifyColor = function (hex) {\n var hsl = cc.hex.hsl(hex);\n return \"hsl(\".concat(hsl[0], \",\").concat(hsl[1] - 20, \"%,\").concat(hsl[2] - 10, \"%)\");\n};\nvar hasOnlyBit = function (bits) { return bits && !(bits & (bits - 1)); };\nvar decode = function (result) {\n for (var i = 0; i < 4; ++i) {\n if (result & (1 << i))\n return i;\n }\n return -1;\n};\nvar checkHmi = function (result, h) {\n if (h <= -9)\n result &= (1 << 1) | (1 << 2);\n else if (h >= 9)\n result &= 1 << 3;\n else\n result &= 1 << 0;\n return result;\n};\nvar checkWd = function (result, wd) {\n if (wd > 0)\n result &= (1 << 2) | (1 << 3);\n else\n result &= (1 << 0) | (1 << 1);\n return result;\n};\nexport var getDominant = function (pt) {\n var result = 0x0;\n var a = pt[0], b = pt[1], c = pt[2], d = pt[3], wd = pt[4], h = pt[5];\n var fmat = [a, b, c, d];\n var candidate = [];\n var maxPt = _.max(fmat);\n for (var i = 0; i < 4; ++i) {\n if (maxPt === fmat[i]) {\n candidate.push(i);\n result |= 1 << i;\n }\n }\n if (hasOnlyBit(result))\n return decode(result);\n var newResult;\n // 1. HMI\n /*\n 1유형 : -8 < x < +8 [양뇌/전뇌형]\n 2,3유형 : x < -9 [좌뇌형]\n 4 유형 : x > +9 [우뇌형]\n */\n newResult = checkHmi(result, h);\n if (hasOnlyBit(newResult))\n return decode(newResult);\n // 2. watching/doing score\n // +:3,4, -:1,2\n newResult = checkWd(result, wd);\n if (hasOnlyBit(newResult))\n return decode(newResult);\n // 3. 반대유형\n var opposite = [(candidate[0] + 2) % 4, (candidate[1] + 2) % 4];\n var opp1 = pt[opposite[0]], opp2 = pt[opposite[1]];\n if (opp1 > opp2)\n return candidate[1];\n if (opp1 < opp2)\n return candidate[0];\n return -1;\n};\n//# sourceMappingURL=fmat_utils.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport { useGraphPropContext } from \"../GraphPropsContext\";\nimport { getDominant, translate } from \"../../util/fmat_utils\";\nimport { Circle, Group, Line, Text } from \"react-konva\";\nimport _ from \"lodash\";\nimport React from \"react\";\nimport { FMAT_GRID_PAD } from \"./FMatQuadrantRenderer\";\nvar positionPt = function (v, n, l, pmin, pmax) {\n var transform = translate[n];\n var cpad = 7;\n var opad = 10;\n var start = l / 2;\n var width = l - cpad * 2 - opad * 2;\n var norm = Math.max((((v - pmin) / (pmax - pmin)) * width) / 2, 0);\n return [\n Math.ceil(start + cpad * transform[0] + norm * transform[0]),\n Math.ceil(start + cpad * transform[1] + norm * transform[1]),\n ];\n};\nvar adjustPad = function (v, width) {\n var half = width / 2;\n return v > half ? v + FMAT_GRID_PAD : v;\n};\nexport var FMatQuadrantGraphNode = function (_a) {\n var value = _a.value, _b = _a.hideLabel, hideLabel = _b === void 0 ? false : _b, _c = _a.strokeColor, strokeColor = _c === void 0 ? \"#000\" : _c, _d = _a.opacity, opacity = _d === void 0 ? 1.0 : _d, fill = _a.fill;\n var _e = useGraphPropContext(), l = _e.l, pmin = _e.pmin, pmax = _e.pmax;\n var width = l - FMAT_GRID_PAD;\n if (value.length < 4) {\n console.error(\"Wrong value:\", value);\n return null;\n }\n var dots = [value[0], value[1], value[2], value[3]]\n .map(function (v, i) { return __spreadArray(__spreadArray([], positionPt(v, i, width, pmin, pmax), true), [v], false); })\n .map(function (v) { return [adjustPad(v[0], width), adjustPad(v[1], width), v[2]]; });\n var fontSize = Math.ceil(width * 0.05);\n var fontOffsets = [\n [0, fontSize],\n [0, 0],\n [fontSize * 2, 0],\n [fontSize * 2, fontSize],\n ];\n return (React.createElement(Group, { opacity: opacity },\n React.createElement(Line, __assign({ points: _(dots)\n .map(function (v) { return [v[0], v[1]]; })\n .flatten()\n .value(), closed: true }, (fill ? { fill: fill } : { stroke: strokeColor, strokeWidth: 3 }))),\n !hideLabel &&\n dots.map(function (d, i) { return (React.createElement(React.Fragment, { key: i },\n React.createElement(Circle, { radius: fontSize / 4, x: d[0], y: d[1], fill: strokeColor }),\n React.createElement(Text, { text: d[2] + \"\", x: d[0], y: d[1], offsetX: fontOffsets[i][0], offsetY: fontOffsets[i][1], fill: strokeColor, fontSize: fontSize, fontStyle: \"bold\", width: fontSize * 2, height: fontSize, align: \"center\", verticalAlign: \"middle\" }))); })));\n};\nexport var FMatQuadrantTriangleNode = function (_a) {\n var value = _a.value;\n var _b = useGraphPropContext(), l = _b.l, pmin = _b.pmin, pmax = _b.pmax;\n var width = l - FMAT_GRID_PAD;\n var pad = FMAT_GRID_PAD / 2;\n if (value.length < 6) {\n console.error(\"Wrong value=\", value);\n return null;\n }\n var dw = value[4], hmi = value[5];\n var dominant = getDominant(value);\n var m = l / 2;\n var x = m + (dominant <= 1 ? pad : -pad);\n var y = m + (dominant === 0 || dominant === 3 ? -pad : pad);\n var size = m - pad;\n var xm = x + (dominant <= 1 ? size / 2 : -size / 2);\n var ym = y + (dominant === 0 || dominant === 3 ? -size / 2 : size / 2);\n var triangle = dominant >= 0 && hmi !== undefined\n ? [\n positionPt(value[dominant], dominant, width, pmin, pmax).map(function (v) { return adjustPad(v, width); }),\n [xm + Math.ceil(size * ((-1 * dw) / 22)), m],\n [m, ym + Math.ceil(size * ((-1 * hmi) / 120))],\n ]\n : null;\n return React.createElement(Line, { points: _.flatten(triangle), fill: \"black\", opacity: 0.4, closed: true });\n};\n//# sourceMappingURL=FMatQuadrantNode.js.map","import React, { forwardRef } from \"react\";\nimport { Group, Layer, Line, Rect, Stage, Text } from \"react-konva\";\nimport { GraphPropContextProvider, useGraphPropContext } from \"../GraphPropsContext\";\nvar COLOR_PRESET = [\"#d6504d\", \"#4db7d6\", \"#abd64d\", \"#eccc3b\"];\nvar FMatTsiBackground = function () {\n var l = useGraphPropContext().l;\n var fontSize = Math.ceil(l * 0.07);\n var l0_2 = Math.ceil(l * 0.2);\n return (React.createElement(Group, null,\n React.createElement(Rect, { x: 0, y: 0, width: l, height: l, fill: \"#eeeeee\" }),\n React.createElement(Line, { points: [l0_2, 0, l0_2, l], stroke: \"#fff\", strokeWidth: 1 }),\n React.createElement(Line, { points: [l0_2 * 2, 0, l0_2 * 2, l], stroke: \"#fff\", strokeWidth: 1 }),\n React.createElement(Line, { points: [l0_2 * 3, 0, l0_2 * 3, l], stroke: \"#fff\", strokeWidth: 1 }),\n React.createElement(Line, { points: [l0_2 * 4, 0, l0_2 * 4, l], stroke: \"#fff\", strokeWidth: 1 }),\n React.createElement(Line, { points: [0, l0_2, l, l0_2], stroke: \"#fff\", strokeWidth: 1 }),\n React.createElement(Line, { points: [0, l0_2 * 2, l, l0_2 * 2], stroke: \"#fff\", strokeWidth: 1 }),\n React.createElement(Line, { points: [0, l0_2 * 3, l, l0_2 * 3], stroke: \"#fff\", strokeWidth: 1 }),\n React.createElement(Line, { points: [0, l0_2 * 4, l, l0_2 * 4], stroke: \"#fff\", strokeWidth: 1 }),\n [1, 2, 3, 4].map(function (v, i) { return (React.createElement(Text, { key: i, text: \"\" + v, x: l0_2 * (i + 1), y: fontSize * 0.2, offsetX: fontSize * 0.5, offsetY: 0, fill: COLOR_PRESET[i], fontSize: fontSize, fontStyle: \"bold\", width: fontSize, height: fontSize, align: \"center\", verticalAlign: \"middle\" })); })));\n};\nexport var FMatTsiRenderer = forwardRef(function (props, ref) {\n var width = props.width, children = props.children;\n return (React.createElement(Stage, { width: width, height: width, ref: ref },\n React.createElement(GraphPropContextProvider, { width: width },\n React.createElement(Layer, null,\n React.createElement(FMatTsiBackground, null),\n children))));\n});\n//# sourceMappingURL=FMatTsiRenderer.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React, { PureComponent } from \"react\";\nimport iconFlag from \"./icon/icon_flag.png\";\nimport { Rect } from \"react-konva\";\nimport { Box } from \"grommet\";\nvar FMatNameFlagRenderer = /** @class */ (function (_super) {\n __extends(FMatNameFlagRenderer, _super);\n function FMatNameFlagRenderer() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FMatNameFlagRenderer.prototype.render = function () {\n var _a = this.props.value, name = _a.name, showFlag = _a.showFlag, color = _a.color;\n if (!name)\n return null;\n return (React.createElement(Box, { direction: \"row\", align: \"center\" },\n color && React.createElement(Rect, { width: 20, height: 20, fill: color }),\n React.createElement(Box, { pad: \"8px\", background: color, as: \"span\", margin: { right: \"5px\" } }),\n name,\n showFlag ? React.createElement(\"img\", { src: iconFlag, style: { marginLeft: \"10px\" } }) : \"\"));\n };\n return FMatNameFlagRenderer;\n}(PureComponent));\nexport { FMatNameFlagRenderer };\n//# sourceMappingURL=FMatNameFlagRenderer.js.map","import { useGraphPropContext } from \"../GraphPropsContext\";\nimport { Circle, Line, Text } from \"react-konva\";\nimport _ from \"lodash\";\nimport React from \"react\";\nvar makeLabelUpPos = function (values) {\n var v1 = values[0], v2 = values[1], v3 = values[2], v4 = values[3];\n return [v1 > v2, (v1 + v3) / 2 < v2, (v2 + v4) / 2 < v3, v3 < v4];\n};\nexport var FMatTsiGraphNode = function (_a) {\n var value = _a.value;\n var l = useGraphPropContext().l;\n if (value.length < 4) {\n console.error(\"Wrong value:\", value);\n return null;\n }\n var l0_2 = Math.ceil(l * 0.2);\n var dotR = Math.ceil(l * 0.0125);\n var dots = [value[0], value[1], value[2], value[3]].map(function (v, i) { return [\n Math.ceil(l0_2 * (i + 1)),\n l - Math.ceil((l / 50) * v),\n ]; });\n var fontSize = Math.ceil(l * 0.05);\n var labelUpPos = makeLabelUpPos(value);\n return (React.createElement(React.Fragment, null,\n dots.map(function (d, i) { return (React.createElement(React.Fragment, { key: i },\n React.createElement(Circle, { radius: dotR, x: d[0], y: d[1], fill: \"#000\" }),\n React.createElement(Text, { text: \"\" + value[i], x: d[0], y: d[1] + (labelUpPos[i] ? -fontSize : fontSize), offsetX: fontSize, offsetY: fontSize * 0.5, fill: \"#000\", fontSize: fontSize, fontStyle: \"bold\", width: fontSize * 2, height: fontSize, align: \"center\", verticalAlign: \"middle\" }))); }),\n React.createElement(Line, { points: _(dots)\n .map(function (v) { return [v[0], v[1]]; })\n .flatten()\n .value(), stroke: \"#000\", strokeWidth: 1 })));\n};\n//# sourceMappingURL=FMatTsiNode.js.map","export var positionFromCenter = function (lm, v, way) {\n switch (way) {\n case 0:\n return [lm, lm - v];\n case 1:\n return [lm + v * Math.cos((Math.PI / 180) * 18), lm - v * Math.sin((Math.PI / 180) * 18)];\n case 2:\n return [lm + v * Math.sin((Math.PI / 180) * 36), lm + v * Math.cos((Math.PI / 180) * 36)];\n case 3:\n return [lm - v * Math.sin((Math.PI / 180) * 36), lm + v * Math.cos((Math.PI / 180) * 36)];\n case 4:\n return [lm - v * Math.cos((Math.PI / 180) * 18), lm - v * Math.sin((Math.PI / 180) * 18)];\n default:\n return [lm, lm];\n }\n};\nexport var positionFromCenterQuad = function (lm, v, way) {\n switch (way) {\n case 0:\n return [lm, lm - v];\n case 1:\n return [lm + v * 0.91, lm];\n case 2:\n return [lm, lm + v * 0.91];\n case 3:\n return [lm - v * 0.91, lm];\n default:\n return [lm, lm];\n }\n};\n//# sourceMappingURL=fivell_utils.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport React, { forwardRef } from \"react\";\nimport { Circle, Group, Layer, Line, Rect, RegularPolygon, Stage, Text } from \"react-konva\";\nimport { GraphPropContextProvider, useGraphPropContext } from \"../GraphPropsContext\";\nimport _ from \"lodash\";\nimport { positionFromCenter } from \"../../util/fivell_utils\";\nvar Labels = [\"인정하는 말\", \"함께하는\\n시간\", \"선물\", \"봉사\", \"스킨십\"];\nvar FiveLLBackground = function () {\n var _a = useGraphPropContext(), lm = _a.lm, pmax = _a.pmax;\n var rmax = lm * pmax;\n var iconR = lm * 0.1;\n var cpr = rmax + iconR * 2;\n return (React.createElement(Group, null,\n React.createElement(RegularPolygon, { sides: 5, radius: rmax, fill: \"#ededed\", x: lm, y: lm }),\n React.createElement(RegularPolygon, { sides: 5, radius: rmax * 0.67, fill: \"#e8e8e8\", x: lm, y: lm }),\n React.createElement(RegularPolygon, { sides: 5, radius: rmax * 0.33, fill: \"#e1e1e1\", x: lm, y: lm }),\n React.createElement(Line, { points: __spreadArray([lm, lm], positionFromCenter(lm, rmax, 0), true), stroke: \"white\" }),\n React.createElement(Line, { points: __spreadArray([lm, lm], positionFromCenter(lm, rmax, 1), true), stroke: \"white\", strokeWidth: 1 }),\n React.createElement(Line, { points: __spreadArray([lm, lm], positionFromCenter(lm, rmax, 2), true), stroke: \"white\", strokeWidth: 1 }),\n React.createElement(Line, { points: __spreadArray([lm, lm], positionFromCenter(lm, rmax, 3), true), stroke: \"white\", strokeWidth: 1 }),\n React.createElement(Line, { points: __spreadArray([lm, lm], positionFromCenter(lm, rmax, 4), true), stroke: \"white\", strokeWidth: 1 }),\n _.times(5, function () { return cpr; }).map(function (v, i) {\n var _a = positionFromCenter(lm, v, i), x = _a[0], y = _a[1];\n var dimension = { x: x - iconR * 3, y: y + iconR * 1.15, width: iconR * 6, height: lm * 0.08 * 2.4 };\n return (React.createElement(React.Fragment, { key: i },\n React.createElement(Circle, { radius: iconR, x: x, y: y, fill: \"#80BDE3\" }),\n React.createElement(Text, __assign({ text: Labels[i] }, dimension, { align: \"center\", \n // verticalAlign=\"middle\"\n fill: \"black\", fontSize: Math.ceil(lm * 0.085), fontStyle: \"bold\" }))));\n })));\n};\nexport var FiveLLRenderer = forwardRef(function (props, ref) {\n var width = props.width, children = props.children, _a = props.showBorder, showBorder = _a === void 0 ? false : _a;\n return (React.createElement(Stage, { width: width, height: width, ref: ref },\n React.createElement(GraphPropContextProvider, { width: width, pmax: 0.66 },\n showBorder && (React.createElement(Layer, null,\n React.createElement(Rect, { width: width, height: width, stroke: \"1px\" }))),\n React.createElement(Layer, null,\n React.createElement(FiveLLBackground, null),\n children))));\n});\n//# sourceMappingURL=FiveLLRenderer.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { useGraphPropContext } from \"../GraphPropsContext\";\nimport { Line, Text } from \"react-konva\";\nimport React from \"react\";\nimport { positionFromCenter } from \"../../util/fivell_utils\";\nimport _ from \"lodash\";\nexport var FiveLLNode = function (_a) {\n var value = _a.value, _b = _a.hideLabel, hideLabel = _b === void 0 ? false : _b;\n var _c = useGraphPropContext(), lm = _c.lm, pmax = _c.pmax;\n var iconR = lm * 0.1;\n if (value.length < 5) {\n console.error(\"Wrong value:\", value);\n return null;\n }\n var points = _(value)\n .map(function (v, i) { return positionFromCenter(lm, (v / 12) * (lm * pmax), i); })\n .flatten()\n .value();\n return (React.createElement(React.Fragment, null,\n React.createElement(Line, { points: points, closed: true, stroke: \"#e7252D\", strokeWidth: 2 }),\n !hideLabel &&\n value.map(function (v, i) {\n var rmax = lm * pmax;\n var cpr = rmax + iconR * 2;\n var _a = positionFromCenter(lm, cpr, i), x = _a[0], y = _a[1];\n var dimension = { x: x - iconR * 3, y: y, width: iconR * 6, height: lm * 0.08 * 2.4 };\n return (React.createElement(Text, __assign({ key: i, text: v + \"\", offsetY: cpr * 0.05 }, dimension, { align: \"center\", \n // verticalAlign=\"middle\"\n fill: \"#fff\", fontSize: Math.ceil(lm * 0.1), fontStyle: \"bold\" })));\n })));\n};\n//# sourceMappingURL=FiveLLNode.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport React, { forwardRef } from \"react\";\nimport { Circle, Group, Layer, Line, Rect, RegularPolygon, Stage, Text } from \"react-konva\";\nimport { GraphPropContextProvider, useGraphPropContext } from \"../GraphPropsContext\";\nimport _ from \"lodash\";\nimport { positionFromCenterQuad } from \"../../util/fivell_utils\";\nvar Labels = [\"인정하는 말\", \"함께하는\\n시간\", \"선물\", \"봉사\"];\nvar FiveLLQuadBackground = function () {\n var _a = useGraphPropContext(), lm = _a.lm, pmax = _a.pmax;\n var rmax = lm * pmax;\n var iconR = lm * 0.1;\n var cpr = rmax + iconR * 2;\n return (React.createElement(Group, null,\n React.createElement(RegularPolygon, { sides: 4, radius: rmax, fill: \"#ededed\", x: lm, y: lm }),\n React.createElement(RegularPolygon, { sides: 4, radius: rmax * 0.67, fill: \"#e8e8e8\", x: lm, y: lm }),\n React.createElement(RegularPolygon, { sides: 4, radius: rmax * 0.33, fill: \"#e1e1e1\", x: lm, y: lm }),\n React.createElement(Line, { points: __spreadArray([lm, lm], positionFromCenterQuad(lm, rmax, 0), true), stroke: \"white\", strokeWidth: 1 }),\n React.createElement(Line, { points: __spreadArray([lm, lm], positionFromCenterQuad(lm, rmax, 1), true), stroke: \"white\", strokeWidth: 1 }),\n React.createElement(Line, { points: __spreadArray([lm, lm], positionFromCenterQuad(lm, rmax, 2), true), stroke: \"white\", strokeWidth: 1 }),\n React.createElement(Line, { points: __spreadArray([lm, lm], positionFromCenterQuad(lm, rmax, 3), true), stroke: \"white\", strokeWidth: 1 }),\n _.times(4, function () { return cpr; }).map(function (v, i) {\n var _a = positionFromCenterQuad(lm, v, i), x = _a[0], y = _a[1];\n var dimension = { x: x - iconR * 3, y: y + iconR * 1.15, width: iconR * 6, height: lm * 0.08 * 2.4 };\n return (React.createElement(React.Fragment, { key: i },\n React.createElement(Circle, { radius: iconR, x: x, y: y, fill: \"#80BDE3\" }),\n React.createElement(Text, __assign({ text: Labels[i] }, dimension, { align: \"center\", \n // verticalAlign=\"middle\"\n fill: \"black\", fontSize: Math.ceil(lm * 0.085), fontStyle: \"bold\" }))));\n })));\n};\nexport var FiveLLQuadRenderer = forwardRef(function (props, ref) {\n var width = props.width, children = props.children, _a = props.showBorder, showBorder = _a === void 0 ? false : _a;\n return (React.createElement(Stage, { width: width, height: width, ref: ref },\n React.createElement(GraphPropContextProvider, { width: width, pmax: 0.66 },\n showBorder && (React.createElement(Layer, null,\n React.createElement(Rect, { width: width, height: width, stroke: \"1px\" }))),\n React.createElement(Layer, null,\n React.createElement(FiveLLQuadBackground, null),\n children))));\n});\n//# sourceMappingURL=FiveLLQuadRenderer.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { useGraphPropContext } from \"../GraphPropsContext\";\nimport { Line, Text } from \"react-konva\";\nimport React from \"react\";\nimport { positionFromCenterQuad } from \"../../util/fivell_utils\";\nimport _ from \"lodash\";\nexport var FiveLLQuadNode = function (_a) {\n var value = _a.value, _b = _a.hideLabel, hideLabel = _b === void 0 ? false : _b;\n var _c = useGraphPropContext(), lm = _c.lm, pmax = _c.pmax;\n var iconR = lm * 0.1;\n if (value.length < 4) {\n console.error(\"Wrong value:\", value);\n return null;\n }\n var newValue = value.slice(0, 4);\n var points = _(newValue)\n .map(function (v, i) { return positionFromCenterQuad(lm, (v / 12) * (lm * pmax), i); })\n .flatten()\n .value();\n return (React.createElement(React.Fragment, null,\n React.createElement(Line, { points: points, closed: true, stroke: \"#e7252D\", strokeWidth: 2 }),\n !hideLabel &&\n newValue.map(function (v, i) {\n var rmax = lm * pmax;\n var cpr = rmax + iconR * 2;\n var _a = positionFromCenterQuad(lm, cpr, i), x = _a[0], y = _a[1];\n var dimension = { x: x - iconR * 3, y: y, width: iconR * 6, height: lm * 0.08 * 2.4 };\n return (React.createElement(Text, __assign({ key: i, text: v + \"\", offsetY: cpr * 0.05 }, dimension, { align: \"center\", \n // verticalAlign=\"middle\"\n fill: \"#fff\", fontSize: Math.ceil(lm * 0.1), fontStyle: \"bold\" })));\n })));\n};\n//# sourceMappingURL=FiveLLQuadNode.js.map","import { Box, Button, Heading, Text } from \"grommet\"\nimport React, { useEffect, useMemo, useRef } from \"react\"\nimport Copyright from \"../../components/layout/Copyright\"\nimport DiagLayout from \"../../components/DiagLayout\"\nimport { useTranslation } from \"react-i18next\"\nimport { useHistory } from \"react-router\"\nimport { useMyPapersQuery } from \"../../generated-types\"\nimport _ from \"lodash\"\nimport Konva from \"konva\"\nimport { FMatQuadrantRenderer, FMatQuadrantGraphNode, FMatQuadrantTriangleNode } from \"@dino/shared\"\n\ntype ResultPageProps = {\n title: string\n results: string[]\n hideChart?: boolean\n onClose?: () => void\n}\n\nexport const FMatResultPage: React.FC = ({ title, results, onClose, hideChart = false }) => {\n const { t } = useTranslation()\n const history = useHistory()\n const { data } = useMyPapersQuery() // HMI가 있는 경우를 처리하기 위함\n const el = useRef()\n const refStage = useRef()\n const map = useMemo(\n () =>\n results.reduce((a, e) => {\n const [k, v] = e.split(\"=\")\n a[k] = v\n return a\n }, {}) as any,\n [results]\n )\n const hmi = useMemo(() => {\n if (!data) return undefined\n\n return _(data.allPaper)\n .filter((v) => v.status === \"DONE\" && v.item.id === \"4MAT_HMI\")\n .map(({ results }) => parseInt(results[0].split(\"=\")[1]))\n .first()\n }, [data])\n\n useEffect(() => {\n if (el.current) {\n console.log(el.current.clientWidth)\n }\n }, [el])\n\n if (!onClose) {\n onClose = () => history.push(\"/my\")\n }\n\n return (\n
\n \n \n RESULT\n \n {title}\n \n \n \n {hmi && }\n \n \n\n \n {map.D && map.W && (\n \n \n Watching/Doing Score: {map.D - map.W}\n \n \n )}\n {hmi && (\n \n \n HMI: {hmi}\n \n \n )}\n \n \n
\n )\n}\n","import { Box, Button, Heading, Text } from \"grommet\"\nimport React, { useMemo } from \"react\"\nimport { useTranslation } from \"react-i18next\"\nimport { useHistory } from \"react-router\"\nimport Copyright from \"../../components/layout/Copyright\"\nimport DiagLayout from \"../../components/DiagLayout\"\n\ntype ResultHmiPageProps = {\n title: string\n results: string[]\n onClose?: () => void\n}\n\nexport default (({ title, results, onClose }) => {\n const map = useMemo(\n () =>\n results.reduce((a, e) => {\n const [k, v] = e.split(\"=\")\n a[k] = v\n return a\n }, {}) as any,\n [results]\n )\n console.log(map)\n\n const { t } = useTranslation()\n const history = useHistory()\n if (!onClose) {\n onClose = () => history.push(\"/my\")\n }\n return (\n \n \n RESULT\n \n {title}\n\n \n \n Total\n \n \n {map.B}\n \n \n \n \n \n \n )\n}\n","import React from \"react\"\nimport { Box, Button } from \"grommet\"\nimport { Previous, Next } from \"grommet-icons\"\nimport { useDinoContext } from \"./DinoContext\"\n\ninterface NavivationControlProps {\n prev?: boolean\n next?: boolean\n}\nexport const NavigationControl: React.FC = ({ prev, next }) => {\n const dino = useDinoContext()\n\n return (\n \n \n \n }\n onClick={() => dino.goPrev()}\n disabled={dino?.waiting || (prev !== undefined ? !prev : !dino?.nav[0])}\n focusIndicator={false}\n />\n }\n onClick={() => dino.goNext()}\n disabled={dino?.waiting || (next !== undefined ? !next : !dino?.nav[1])}\n focusIndicator={false}\n />\n \n \n \n )\n}\n","import React from \"react\"\r\nimport { useApolloClient } from \"@apollo/client\"\r\nimport { ItemPartsFragment, ItemPartsFragmentDoc } from \"../../../generated-types\"\r\nimport { useParams } from \"react-router\"\r\nimport { useDinoContext } from \"../components/DinoContext\"\r\nimport { Box } from \"grommet\"\r\nimport { BigRoundAnswerButton } from \"../components/BigRoundAnswerButton\"\r\nimport { NavigationControl } from \"../components/NavigationControl\"\r\nimport { useTranslation } from \"react-i18next\"\r\n\r\nexport const OnePick = () => {\r\n const { pgmId, contentId, itemId } = useParams()\r\n const { t } = useTranslation()\r\n const client = useApolloClient()\r\n const dino = useDinoContext()\r\n const questionData = client.readFragment({\r\n fragment: ItemPartsFragmentDoc,\r\n id: `DinoContentItem:${pgmId}:${contentId}:${itemId}`,\r\n })\r\n return (\r\n <>\r\n \r\n {questionData?.values?.map((v, i) => (\r\n {\r\n dino.putResponse({ [v.key]: 1 })\r\n }}\r\n />\r\n ))}\r\n \r\n \r\n \r\n )\r\n}\r\n","import React from \"react\"\nimport { Stack, Box, Text } from \"grommet\"\nimport { Spinning } from \"grommet-controls\"\n\nexport type QuestionLabelProps = {\n question: string\n height?: string\n waiting: boolean\n}\nconst HEIGHT = \"90px\"\nexport const QuestionLabel: React.FC = ({ question, height = HEIGHT, waiting }) => {\n return (\n \n \n \n {question && question.replace(\"%?\", \"_____\")}\n \n \n {waiting && (\n \n \n \n )}\n \n )\n}\n","import React from \"react\"\nimport { Checkmark } from \"grommet-icons\"\nimport { useDinoContext } from \"./DinoContext\"\nimport { Box, Button, Stack, Text } from \"grommet\"\n\nconst PRESET = [\"#EDEDED\", \"#E64A4B\"]\n\nexport interface PillAnswerButtonProps {\n text: string\n value: string\n onClick: () => void\n}\nexport const PillAnswerButton: React.FC = ({ text, value, onClick }) => {\n const { waiting, response } = useDinoContext()\n const status = response && response[value] ? 1 : 0\n\n return (\n \n )\n}\n","import React from \"react\"\r\nimport { Box } from \"grommet\"\r\nimport { ItemPartsFragment, ItemPartsFragmentDoc } from \"../../../generated-types\"\r\nimport { useDinoContext } from \"../components/DinoContext\"\r\nimport { useApolloClient } from \"@apollo/client\"\r\nimport { useParams } from \"react-router\"\r\nimport { QuestionLabel } from \"../components/QuestionLabel\"\r\nimport { PillAnswerButton } from \"../components/PillAnswerButton\"\r\nimport { NavigationControl } from \"../components/NavigationControl\"\r\nimport { useTranslation } from \"react-i18next\"\r\n\r\nexport const OnePickWithQuestion = () => {\r\n const { pgmId, contentId, itemId } = useParams()\r\n const { t } = useTranslation()\r\n const client = useApolloClient()\r\n const dino = useDinoContext()\r\n const questionData = client.readFragment({\r\n fragment: ItemPartsFragmentDoc,\r\n id: `DinoContentItem:${pgmId}:${contentId}:${itemId}`,\r\n })\r\n return (\r\n <>\r\n \r\n \r\n {questionData?.values?.map((v, i) => (\r\n {\r\n dino.putResponse({ [v.key]: 1 })\r\n dino.goNext(true)\r\n }}\r\n />\r\n ))}\r\n \r\n \r\n \r\n )\r\n}\r\n","import React from \"react\"\nimport { Button, Box, Text } from \"grommet\"\n\nexport type CircleButtonStatus = \"NONE\" | \"SELECTED\" | \"DIMMED\"\n\ninterface CircleButtonProps {\n label: string\n status: CircleButtonStatus\n onClick: () => void\n}\n\nconst BG_COLOR = {\n NONE: \"#AAAAAA\",\n SELECTED: \"#FD343E\",\n DIMMED: \"#E3E3E3\",\n}\n\nexport const CircleButton: React.FC = ({ label, status, onClick }) => {\n const r = \"45px\"\n return (\n \n )\n}\n","import { Box, Image } from \"grommet\"\nimport Markdown from \"markdown-to-jsx\"\nimport React from \"react\"\n\nconst title = ({ props, children }) => (\n
\n {children}\n
\n)\n\nexport interface GuideFrameProps {\n hide?: boolean\n texts?: string\n image?: string\n}\n\nexport const GuideFrame: React.FC = ({ hide = false, texts, image }) => {\n if (hide) {\n return null\n }\n\n return (\n \n \n \n \n {texts}\n \n {/* {texts[1] && (\n \n {texts[1]}\n \n )} */}\n \n \n \n \n \n \n )\n}\n","import { Machine, assign } from \"xstate\"\nimport _ from \"lodash\"\n\ninterface GuideMachineContext {\n frames: number\n page: number\n progress: number\n}\n\ninterface CreateGuideMachineParam {\n fps?: number\n trigger: { [k: number]: number }\n end: number\n}\nexport const createGuideMachine = ({ fps = 10, trigger, end }: CreateGuideMachineParam) => {\n return Machine({\n id: \"guide\",\n initial: \"running\",\n context: {\n frames: 0,\n page: 0,\n progress: 0,\n },\n states: {\n running: {\n invoke: {\n src: (context) => (cb) => {\n const interval = setInterval(() => {\n cb(\"TICK\")\n }, 1000 / fps)\n return () => {\n clearInterval(interval)\n }\n },\n },\n always: [\n {\n target: \"paused\",\n cond: ({ frames }) => frames >= end,\n },\n ],\n on: {\n TICK: {\n actions: assign((context) => {\n const newFrames = context.frames + 1\n const newPage = trigger[newFrames]\n return { frames: newFrames, page: newPage || context.page, progress: newFrames / end }\n }),\n },\n },\n },\n paused: {\n always: [\n {\n target: \"running\",\n cond: ({ frames }) => frames < end,\n },\n ],\n },\n },\n on: {\n RESET: {\n actions: assign({ frames: 0, page: 0 }),\n },\n },\n })\n}\n","import { useMachine } from \"@xstate/react\"\nimport { Box, Button, Grommet, Meter, Stack, Text, ThemeType } from \"grommet\"\nimport { LinkNext, Refresh } from \"grommet-icons\"\nimport React, { useMemo } from \"react\"\nimport { useTranslation } from \"react-i18next\"\nimport Page1 from \"../../../imgs/4mat_seqp_guide_1.png\"\nimport Page2 from \"../../../imgs/4mat_seqp_guide_2.png\"\nimport Page3 from \"../../../imgs/4mat_seqp_guide_3.png\"\nimport { GuideFrame } from \"./GuideFrame\"\nimport { createGuideMachine } from \"./GuideMachine\"\nimport i18n from \"../../../i18n\"\nimport { useParams } from \"react-router\"\nimport { useEcodeByPaperQuery } from \"../../../generated-types\"\n\nconst grommetTheme: ThemeType = {\n global: { colors: { brand: \"#00739D\" } },\n}\n\nexport interface SequencePickerGuideProps {\n onFinish?: () => void\n}\n\n// FIXME 화면 전환시 이미지 부분이 튀는 문제\nconst FPS = 10,\n END_SEC = 10,\n END_FRAME = END_SEC * FPS\n\nexport const SequencePickerGuide: React.FC = ({ onFinish = () => {} }) => {\n const { paperId, pgmId } = useParams()\n const [state, send] = useMachine(() =>\n createGuideMachine({ fps: FPS, trigger: { [4 * FPS]: 1, [8 * FPS]: 2 }, end: END_FRAME })\n )\n const { data } = useEcodeByPaperQuery({ variables: { paperId: Number(paperId) } })\n let keyPrefix = i18n.exists(pgmId) ? `${pgmId}.` : \"\"\n const { t } = useTranslation()\n const tt = (key) => {\n if (data && data.ecodeByPaper.isLeader) {\n keyPrefix = \"\"\n }\n return t(`${keyPrefix}${key}`)\n }\n const frames = useMemo(\n () => [\n {\n text: tt(\"intro.seqpick_1\"),\n image: Page1,\n },\n { text: tt(\"intro.seqpick_2\"), image: Page2 },\n {\n text: tt(\"intro.seqpick_3\"),\n image: Page3,\n },\n ],\n [data]\n )\n\n return (\n \n \n \n \n {state.matches(\"running\") ? (\n \n \n \n {Math.ceil(END_SEC * (1 - state.context.progress))}\n \n \n ) : (\n \n \r\n \r\n )\r\n}\r\n\r\nexport const SlidePick = () => {\r\n const { pgmId, contentId, itemId } = useParams()\r\n const client = useApolloClient()\r\n const dino = useDinoContext()\r\n const { t } = useTranslation()\r\n const questionData = client.readFragment({\r\n fragment: ItemPartsFragmentDoc,\r\n id: `DinoContentItem:${pgmId}:${contentId}:${itemId}`,\r\n })\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {questionData.values.map((vkey, i) => (\r\n dino.putResponse({ [vkey.key]: 1 })}\r\n {...ButtonStylePreset[i]}\r\n />\r\n ))}\r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n {questionData?.texts[0]}\r\n \r\n \r\n \r\n \r\n {questionData?.texts[1]}\r\n \r\n \r\n \r\n\r\n v.key === Object.keys(dino.response)[0]) + \"\"}\r\n onChange={(event) => {\r\n dino.putResponse({ [questionData.values[event.target.value].key]: 1 })\r\n }}\r\n >\r\n {(option, { checked }) => {\r\n const Icon = checked ? RadialSelected : Radial\r\n const preset = ButtonStylePreset[option]\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {t(preset.label)}\r\n \r\n \r\n )\r\n }}\r\n \r\n */}\r\n \r\n \r\n )\r\n}\r\n","import { Box, Heading } from \"grommet\"\r\nimport React, { createElement, useEffect, useMemo } from \"react\"\r\nimport { useHistory, useParams } from \"react-router\"\r\nimport { ToastsStore } from \"react-toasts\"\r\nimport { DinoContentPartsFragment, DinoContentPartsFragmentDoc, useDinoPaperQuery } from \"../../generated-types\"\r\nimport { DiagProgressBar } from \"./components/DiagProgressBar\"\r\nimport { DinoLayout } from \"./components/Layout\"\r\nimport { OnePick } from \"./picker/OnePick\"\r\nimport { OnePickWithQuestion } from \"./picker/OnePickWithQuestion\"\r\nimport { SequencePick } from \"./picker/SequencePick\"\r\nimport { SlidePick } from \"./picker/SlidePick\"\r\nimport { useTranslation } from \"react-i18next\"\r\n\r\nexport default () => {\r\n const { paperId, pgmId, contentId, itemId } = useParams()\r\n const { t } = useTranslation()\r\n const history = useHistory()\r\n const { data: paperData, client } = useDinoPaperQuery({ variables: { paperId }, fetchPolicy: \"cache-only\" })\r\n const contentData = client.readFragment({\r\n fragment: DinoContentPartsFragmentDoc,\r\n fragmentName: \"DinoContentParts\",\r\n id: `DinoContent:${pgmId}:${contentId}`,\r\n })\r\n\r\n // console.log(contentData)\r\n // const questionData = client.readFragment({\r\n // fragment: ItemPartsFragmentDoc,\r\n // id: `DinoContentItem:${pgmId}:${contentId}:${itemId}`,\r\n // })\r\n // const introData = client.readFragment({\r\n // fragment: IntroPartsFragmentDoc,\r\n // id: `DinoContentIntro:${pgmId}:${contentId}:INTRO`,\r\n // })\r\n\r\n useEffect(() => {\r\n if (!paperData || !contentData) {\r\n ToastsStore.warning(\"Illegal Access\")\r\n history.push(`/papers/${paperId}`)\r\n }\r\n }, [paperData, contentData])\r\n\r\n const Picker = useMemo(() => {\r\n if (!contentData) return null\r\n switch (contentData.itemView) {\r\n case \"OnePick\":\r\n return OnePick\r\n case \"SequencePick\":\r\n return SequencePick\r\n case \"OnePickWithQuestion\":\r\n return OnePickWithQuestion\r\n case \"SlidePick\":\r\n return SlidePick\r\n }\r\n return null\r\n }, [contentData])\r\n\r\n return (\r\n \r\n \r\n \r\n {t(contentData?.intro?.texts[0])}\r\n {contentData?.intro?.texts[3] ? ` - ${t(contentData?.intro?.texts[3])}` : \"\"}\r\n \r\n \r\n\r\n \r\n\r\n \r\n {Picker && createElement(Picker)}\r\n \r\n \r\n )\r\n}\r\n","import { Box, Button, Heading, Text } from \"grommet\"\r\nimport React, { MutableRefObject, ReactElement, ReactNode, useRef, useState } from \"react\"\r\nimport { useTranslation } from \"react-i18next\"\r\nimport Konva from \"konva\"\r\nimport { useHistory, useParams } from \"react-router\"\r\nimport DiagLayout from \"../../../components/DiagLayout\"\r\nimport { useDinoPaperQuery } from \"../../../generated-types\"\r\nimport { FormDown, FormUp } from \"grommet-icons\"\r\n\r\nconst GRAPH_WIDTH = 330\r\n\r\nconst ExtraContentWrapper = ({ children }) => {\r\n const [collapsed, setCollapsed] = useState(false)\r\n return (\r\n \r\n \r\n {\r\n setCollapsed(!collapsed)\r\n }}\r\n >\r\n {collapsed ? : }\r\n \r\n \r\n {children && collapsed && (\r\n \r\n {children}\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport interface ResultLayoutProps {\r\n children: (props: { width: number; refStage: MutableRefObject }) => ReactNode\r\n disableDownload?: boolean\r\n showSendReport?: boolean\r\n extraContent?: ReactElement\r\n}\r\n\r\nexport const ResultLayout: React.FC = ({\r\n disableDownload = true,\r\n showSendReport = false,\r\n extraContent,\r\n children,\r\n}) => {\r\n const { paperId } = useParams()\r\n const { data } = useDinoPaperQuery({ variables: { paperId } })\r\n const { t } = useTranslation()\r\n const history = useHistory()\r\n const refStage = useRef()\r\n\r\n return (\r\n \r\n \r\n {t(\"result\")}\r\n \r\n \r\n {t(data?.dinoPaper?.item?.subtitle) || \"\"}\r\n \r\n \r\n {children({ width: GRAPH_WIDTH, refStage })}\r\n \r\n \r\n {!disableDownload && (\r\n {\r\n const dataUrl = refStage.current.getStage().toDataURL({ pixelRatio: 2 })\r\n let link = document.createElement(\"a\")\r\n link.download = \"Result.png\"\r\n link.href = dataUrl\r\n document.body.appendChild(link)\r\n link.click()\r\n document.body.removeChild(link)\r\n }}\r\n color=\"#d6544d\"\r\n />\r\n )}\r\n\r\n {showSendReport && (\r\n history.push(`/papers/${paperId}/${data?.dinoPaper?.item?.id}/report`)}\r\n color=\"#d6544d\"\r\n />\r\n )}\r\n\r\n history.push(\"/my\")}\r\n color=\"#d6544d\"\r\n alignSelf=\"center\"\r\n />\r\n \r\n {extraContent && {extraContent}}\r\n
\r\n )\r\n}\r\n","import { FiveLLNode, FiveLLRenderer } from \"@dino/shared\"\nimport React from \"react\"\nimport { useParams } from \"react-router\"\nimport { useDinoPaperQuery } from \"../../../generated-types\"\nimport { ResultLayout } from \"./ResultLayout\"\n\nexport default () => {\n const { paperId } = useParams()\n const { data } = useDinoPaperQuery({ variables: { paperId } })\n\n return (\n \n {({ width, refStage }) => (\n \n {data?.dinoPaper?.results && }\n \n )}\n \n )\n}\n","import { Box } from \"grommet\"\nimport Markdown from \"markdown-to-jsx\"\nimport React from \"react\"\nimport { useLanguageContext } from \"../../../components/context/LanguageContext\"\nimport { useTranslation } from \"react-i18next\"\nimport FMatType1Img from \"../../../imgs/4mat_result_type1.gif\"\nimport FMatType2Img from \"../../../imgs/4mat_result_type2.gif\"\nimport FMatType3Img from \"../../../imgs/4mat_result_type3.gif\"\nimport FMatType4Img from \"../../../imgs/4mat_result_type4.gif\"\nimport { getDominant } from \"@dino/shared\"\n\nexport interface FMatDescProps {\n pgmId: string\n value: number[]\n}\n\nconst typeImgs = [FMatType1Img, FMatType2Img, FMatType3Img, FMatType4Img]\n\nconst getDesc = (lang, pgmId, value, t, i18n) => {\n let response = { icon: null, text: \"\" }\n if (!pgmId || !value) {\n return response\n }\n\n if (pgmId === \"FMAT_LBI360\") {\n pgmId = \"FMAT_LBI\"\n }\n\n switch (pgmId) {\n case \"FMAT_LTM\":\n case \"FMAT_SLP\":\n case \"FMAT_LBI\":\n case \"FMAT_TSI\":\n const dom = getDominant(value)\n const type = dom + 1\n\n if (type <= 0) {\n return response\n }\n\n const resultKey = `${pgmId}.result.type${type}`\n if (!i18n.exists(resultKey) || typeImgs.length <= dom) {\n return response\n }\n\n const [, , , , wd] = value\n const wdText = wd ? `WD.result.${wd > 0 ? \"D\" : \"W\"}` : \"\"\n response.icon = typeImgs[dom]\n response.text = t(resultKey) + (wdText && \"\\n\\n\\n\\n\" + t(wdText))\n break\n case \"FMAT_HMI\":\n const [hmi] = value\n response.text = hmi ? t(`HMI.result.${hmi > 0 ? \"R\" : \"L\"}`) : \"\"\n }\n\n return response\n}\nexport const FMatDesc: React.FC = ({ pgmId, value }) => {\n const { lang } = useLanguageContext()\n const { t, i18n } = useTranslation()\n const desc = getDesc(lang, pgmId, value, t, i18n)\n\n return (\n \n {desc.icon && (\n \n \n \n )}\n\n \n
{children}
,\n props: { style: { fontSize: \"15px\", marginBottom: \"5px\", marginTop: \"5px\" } },\n },\n h4: {\n component: ({ children, ...props }) =>
{children}
,\n props: { style: { color: \"#75bcea\", fontWeight: \"bold\", marginTop: \"20px\" } },\n },\n ul: {\n component: ({ children, ...props }) =>
    {children}
,\n props: { style: { paddingLeft: \"25px\", marginTop: \"0px\" } },\n },\n li: {\n component: ({ children, ...props }) =>
  • {children}
  • ,\n props: { style: { fontSize: \"15px\", lineHeight: \"20px\" } },\n },\n },\n }}\n >\n {desc.text}\n \n
    \n
    \n )\n}\n","export const isSupportItem = (item) => {\n switch (item) {\n case \"4MAT_LTM\":\n case \"4MAT_SLP\":\n case \"4MAT_HMI\":\n case \"4MAT_TSI\":\n case \"4MAT_LBI\":\n return true\n }\n return false\n}\n","import { FMatQuadrantGraphNode, FMatQuadrantRenderer, FMatQuadrantTriangleNode } from \"@dino/shared\"\r\nimport { Box, Text } from \"grommet\"\r\nimport React, { useEffect, useMemo, useState } from \"react\"\r\nimport { useParams } from \"react-router\"\r\nimport { useDinoAllPaperLazyQuery, useDinoPaperQuery } from \"../../../generated-types\"\r\nimport { ResultLayout } from \"./ResultLayout\"\r\nimport { useTranslation } from \"react-i18next\"\r\nimport { FMatDesc } from \"./FMatDesc\"\r\nimport { isSupportItem } from \"../report/ReportUtil\"\r\n\r\nexport default () => {\r\n const { paperId } = useParams()\r\n const { t } = useTranslation()\r\n const { data } = useDinoPaperQuery({ variables: { paperId } })\r\n const [fetchAllPaper, { data: allPapers }] = useDinoAllPaperLazyQuery()\r\n const [showSendReport, setShowSendReport] = useState(false)\r\n\r\n const value = useMemo(() => {\r\n const newValue = []\r\n if (data) {\r\n const { results } = data.dinoPaper\r\n newValue.push(results[0])\r\n newValue.push(results[1])\r\n newValue.push(results[2])\r\n newValue.push(results[3])\r\n\r\n if (data.dinoPaper.results[4] !== undefined) {\r\n newValue[4] = data.dinoPaper.results[4]\r\n }\r\n\r\n if (allPapers) {\r\n const hmiPaper = allPapers.dinoAllPaper.find((v) => v.item.id === \"FMAT_HMI\" && v.statusCd === \"DONE\")\r\n if (hmiPaper) {\r\n newValue[5] = hmiPaper.results[0]\r\n setShowSendReport(true)\r\n } else {\r\n setShowSendReport(false)\r\n }\r\n }\r\n }\r\n\r\n return newValue\r\n }, [data, allPapers])\r\n\r\n useEffect(() => {\r\n if (!data) {\r\n return\r\n }\r\n if ([\"FMAT_LTM\", \"FMAT_SLP\"].includes(data.dinoPaper.item.id)) {\r\n fetchAllPaper()\r\n } else {\r\n setShowSendReport(isSupportItem(data.dinoPaper.item.id))\r\n }\r\n }, [data])\r\n\r\n return (\r\n }>\r\n {({ width, refStage }) => (\r\n <>\r\n \r\n {value.length >= 4 && }\r\n {value.length === 6 && }\r\n \r\n \r\n {value[4] !== undefined && (\r\n \r\n {t(\"dw-score\")}: {value[4]}\r\n \r\n )}\r\n {value[5] !== undefined && (\r\n \r\n {t(\"hmi-score\")}: {value[5]}\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n )\r\n}\r\n","import { Box, Text } from \"grommet\"\nimport React, { useState } from \"react\"\nimport { useMemo } from \"react\"\nimport { useTranslation } from \"react-i18next\"\nimport { useParams } from \"react-router\"\nimport { useDinoPaperQuery } from \"../../../generated-types\"\nimport { ResultLayout } from \"./ResultLayout\"\nimport ResultL from \"../../../imgs/4mat_hmi_result_l.svg\"\nimport ResultR from \"../../../imgs/4mat_hmi_result_r.svg\"\nimport ResultA from \"../../../imgs/4mat_hmi_result_a.svg\"\nimport { FMatDesc } from \"./FMatDesc\"\nimport { isSupportItem } from \"../report/ReportUtil\"\n\nexport default () => {\n const { paperId } = useParams()\n const { data } = useDinoPaperQuery({ variables: { paperId } })\n const { t } = useTranslation()\n const [showSendReport, setShowSendReport] = useState(false)\n const ResultImg = useMemo(() => {\n if (!data) return\n setShowSendReport(isSupportItem(data.dinoPaper.item.id))\n\n const [v] = data.dinoPaper.results\n if (v > 0) {\n return ResultR\n } else if (v < 0) {\n return ResultL\n } else {\n return ResultA\n }\n }, [data])\n\n return (\n }\n >\n {({ width, refStage }) => (\n <>\n \n {ResultImg && }\n \n \n \n {t(\"hmi_score\")}: {data?.dinoPaper?.results[0]}\n \n \n \n )}\n \n )\n}\n","import React, { useMemo, useState } from \"react\"\nimport { FMatTsiRenderer, FMatTsiGraphNode } from \"@dino/shared\"\nimport { useParams } from \"react-router\"\nimport { useDinoPaperQuery } from \"../../../generated-types\"\nimport { ResultLayout } from \"./ResultLayout\"\nimport { FMatDesc } from \"./FMatDesc\"\nimport { isSupportItem } from \"../report/ReportUtil\"\n\nexport default () => {\n const { paperId } = useParams()\n const { data } = useDinoPaperQuery({ variables: { paperId } })\n const [showSendReport, setShowSendReport] = useState(false)\n const value = useMemo(() => {\n if (!data) {\n return []\n }\n setShowSendReport(isSupportItem(data.dinoPaper.item.id))\n\n return data.dinoPaper.results || []\n }, [data])\n\n return (\n }>\n {({ width, refStage }) => (\n \n {value.length >= 4 && }\n \n )}\n \n )\n}\n","import { FiveLLQuadRenderer, FiveLLQuadNode } from \"@dino/shared\"\nimport React from \"react\"\nimport { useParams } from \"react-router\"\nimport { useDinoPaperQuery } from \"../../../generated-types\"\nimport { ResultLayout } from \"./ResultLayout\"\n\nexport const FiveLLQuadResult = () => {\n const { paperId } = useParams()\n const { data } = useDinoPaperQuery({ variables: { paperId } })\n\n return (\n \n {({ width, refStage }) => (\n \n {data?.dinoPaper?.results && }\n \n )}\n \n )\n}\n","import { FMatQuadrantGraphNode, FMatQuadrantRenderer, FMatQuadrantTriangleNode } from \"@dino/shared\"\r\nimport React, { useMemo } from \"react\"\r\nimport { useParams } from \"react-router\"\r\nimport { useDinoPaperQuery, useEcodeByPaperQuery } from \"../../../generated-types\"\r\nimport { ResultLayout } from \"./ResultLayout\"\r\nimport { useTranslation } from \"react-i18next\"\r\nimport { FMatDesc } from \"./FMatDesc\"\r\nimport Markdown from \"markdown-to-jsx\"\r\n\r\nconst title = ({ props, children }) => (\r\n
    \r\n {children}\r\n
    \r\n)\r\n\r\nexport default () => {\r\n const { paperId } = useParams()\r\n const { t } = useTranslation()\r\n const { data } = useDinoPaperQuery({ variables: { paperId } })\r\n const { data: paper } = useEcodeByPaperQuery({ variables: { paperId } })\r\n\r\n const value = useMemo(() => {\r\n const newValue = []\r\n if (data) {\r\n const { results } = data.dinoPaper\r\n newValue.push(results[0])\r\n newValue.push(results[1])\r\n newValue.push(results[2])\r\n newValue.push(results[3])\r\n }\r\n return newValue\r\n }, [data, paper])\r\n\r\n return (\r\n : null}\r\n >\r\n {({ width, refStage }) => (\r\n <>\r\n {paper?.ecodeByPaper.isLeader ? (\r\n \r\n {value.length >= 4 && }\r\n {value.length === 6 && }\r\n \r\n ) : (\r\n \r\n {t(\"FMAT_LBI360.result-message\")}\r\n \r\n )}\r\n \r\n )}\r\n \r\n )\r\n}\r\n","import React, { useState } from \"react\"\r\nimport { useHistory, useParams } from \"react-router\"\r\nimport { useGetResultQuery, useSendReportToEmailMutation } from \"../../../generated-types\"\r\nimport { Box, Button, CheckBox, Form, Heading, Menu, Text } from \"grommet\"\r\nimport { EmailField } from \"../../login/EmailField\"\r\nimport { useTranslation } from \"react-i18next\"\r\nimport DiagLayout from \"../../../components/DiagLayout\"\r\nimport { notification } from \"antd\"\r\n\r\nexport const ResultReportPage: React.FC = () => {\r\n const { t } = useTranslation()\r\n const history = useHistory()\r\n const { paperId, pgmId } = useParams()\r\n const [lang, setLang] = useState(\"ko\")\r\n const [agreeEmail, setAgreeEmail] = useState(false)\r\n const [processing, setProcessing] = useState(false)\r\n const { loading, error } = useGetResultQuery({ variables: { paperId } })\r\n const [sendReportToEmail] = useSendReportToEmailMutation({})\r\n if (loading) return null\r\n if (error) {\r\n return
    {error.message}
    \r\n }\r\n\r\n const languages = [\r\n { value: \"ko\", label: \"한국어\", onClick: () => setLang(\"ko\") },\r\n { value: \"en\", label: \"English\", onClick: () => setLang(\"en\") },\r\n ]\r\n\r\n if (pgmId === \"FMAT_LTM\") {\r\n languages.push({ value: \"swedish\", label: \"Swedish\", onClick: () => setLang(\"swedish\") })\r\n }\r\n\r\n const sendReport = (form) => {\r\n const { email } = form\r\n setProcessing(true)\r\n sendReportToEmail({ variables: { paperId, lang, email } })\r\n .then((r) => {\r\n if (r.data.sendReportToEmail) {\r\n notification.info({ message: \"Send report completed!\" })\r\n } else {\r\n notification.error({ message: \"Failed to send report!\" })\r\n }\r\n })\r\n .catch(() => {\r\n notification.error({ message: \"Failed to send report!\" })\r\n })\r\n .finally(() => setProcessing(false))\r\n }\r\n\r\n return (\r\n \r\n \r\n {t(\"label.result-report-title\")}\r\n \r\n \r\n {t(\"label.result-report-desc\")}\r\n \r\n \r\n
    sendReport(e.value)}>\r\n \r\n \r\n \r\n \r\n \r\n history.goBack()}\r\n />\r\n \r\n \r\n \r\n setAgreeEmail(e.target.checked)}\r\n label={\r\n \r\n {t(\"label.agree-email2\")}\r\n \r\n }\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n","import React, { useMemo } from \"react\"\nimport { useParams } from \"react-router\"\nimport { useDinoPaperQuery } from \"../../../generated-types\"\nimport { ResultLayout } from \"./ResultLayout\"\nimport { useTranslation } from \"react-i18next\"\nimport Markdown from \"markdown-to-jsx\"\nimport imgType1 from \"../../../imgs/IDI_type1.png\"\nimport imgType2 from \"../../../imgs/IDI_type2.png\"\nimport imgType3 from \"../../../imgs/IDI_type3.png\"\nimport imgType4 from \"../../../imgs/IDI_type4.png\"\n\nconst types = {\n type1: {\n key: \"TYPE1\",\n img: imgType1,\n },\n type2: {\n key: \"TYPE2\",\n img: imgType2,\n },\n type3: {\n key: \"TYPE3\",\n img: imgType3,\n },\n type4: {\n key: \"TYPE4\",\n img: imgType4,\n },\n}\n\nexport default () => {\n const { paperId } = useParams()\n const { t } = useTranslation()\n const { data } = useDinoPaperQuery({ variables: { paperId } })\n\n const type = useMemo(() => {\n if (data) {\n const { results } = data.dinoPaper\n switch (results[2]) {\n case 1:\n return types.type1\n case 2:\n return types.type2\n case 3:\n return types.type3\n case 4:\n return types.type4\n }\n }\n }, [data])\n\n return (\n \n {({ width, refStage }) => (\n <>\n {type !== undefined && (\n <>\n \n {t(`FMAT_LBI_FS.${type.key}.TITLE`)}\n {t(`FMAT_LBI_FS.${type.key}.DESC`)}\n \n )}\n \n )}\n \n )\n}\n","import { Box, Stack, Text } from \"grommet\"\r\nimport React, { useEffect, useMemo } from \"react\"\r\nimport { useTranslation } from \"react-i18next\"\r\nimport { useHistory } from \"react-router\"\r\nimport { ToastsStore } from \"react-toasts\"\r\nimport { useLanguageContext } from \"../../components/context/LanguageContext\"\r\nimport { useLoginContext } from \"../../components/context/LoginContext\"\r\nimport { MainLayout } from \"../../components/layout/MainLayout\"\r\nimport { PaperStatus, useDinoMyPapersQuery } from \"../../generated-types\"\r\nimport { PageHeader } from \"./components/PageHeader\"\r\nimport FMatIcon from \"../../imgs/icon_4mat.svg\"\r\nimport FllIcon from \"../../imgs/icon_5ll.svg\"\r\n\r\ninterface DinoButtonProps {\r\n title: string\r\n subtitle: string\r\n id: string\r\n color: string[]\r\n status: PaperStatus\r\n}\r\n\r\nconst ICON_SIZE = \"150px\"\r\n\r\nexport const DinoButton: React.FC = ({ title, subtitle, id, color, status }) => {\r\n const history = useHistory()\r\n const { t } = useTranslation()\r\n\r\n const icon = useMemo(() => {\r\n switch (title) {\r\n case \"4MAT\":\r\n case \"LBI360\":\r\n return FMatIcon\r\n default:\r\n return FllIcon\r\n }\r\n }, [])\r\n\r\n return (\r\n {\r\n history.push(`/papers/${id}`)\r\n }}\r\n alignSelf=\"stretch\"\r\n >\r\n \r\n \r\n \r\n \r\n {title}\r\n \r\n \r\n {subtitle}\r\n \r\n \r\n {status === PaperStatus.Done && (\r\n \r\n \r\n \r\n {t(\"program-item.view-result\")}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default () => {\r\n const { isLogined } = useLoginContext()\r\n const history = useHistory()\r\n const { t } = useTranslation()\r\n const { lang } = useLanguageContext()\r\n const { data, loading } = useDinoMyPapersQuery({ context: { \"x-dino-lang\": lang } })\r\n\r\n useEffect(() => {\r\n if (!isLogined()) {\r\n ToastsStore.error(\"인증 정보가 없습니다\")\r\n history.replace(\"/\")\r\n }\r\n }, [])\r\n\r\n return (\r\n \r\n \r\n {loading ? (\r\n Loading...\r\n ) : (\r\n \r\n {data?.dinoAllPaper?.map((v, i) => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n )\r\n}\r\n","import React from \"react\"\r\nimport { BrowserRouter as Router, Route, Switch } from \"react-router-dom\"\r\nimport { MyPageController } from \"./MyPage\"\r\nimport { DiagRedirector, FMatControlPage } from \"./diag\"\r\nimport { PaperResultPage } from \"./paper\"\r\nimport Error404 from \"./Error404\"\r\nimport InputCodePage from \"./login/InputCode\"\r\nimport InputProfilePage from \"./login/InputProfile\"\r\nimport RootRedirector from \"./RootRedirector\"\r\nimport CodeAuthRedirector from \"./login/CodeAuthRedirector\"\r\nimport DinoRouter from \"./dino/DinoRouter\"\r\nimport MyPage from \"./dino/MyPage\"\r\n\r\nconst routes = [\r\n { exact: true, path: \"/\", component: RootRedirector },\r\n { exact: true, path: \"/login\", component: InputCodePage },\r\n { exact: true, path: \"/login/:code\", component: CodeAuthRedirector },\r\n { exact: true, path: \"/login/:code/profile\", component: InputProfilePage },\r\n { exact: true, path: \"/my_old\", component: MyPageController },\r\n { exact: true, path: \"/my\", component: MyPage },\r\n {\r\n exact: true,\r\n path: \"/paper/:paperId\",\r\n component: DiagRedirector,\r\n },\r\n {\r\n strict: true,\r\n path: \"/paper/:paperId/diag\",\r\n component: FMatControlPage,\r\n },\r\n { path: \"/paper/:paperId/result\", component: PaperResultPage },\r\n {\r\n path: \"/papers/:paperId\",\r\n component: DinoRouter,\r\n },\r\n { path: \"/public/:rcode/papers/:paperId/result\", component: PaperResultPage },\r\n] as any[]\r\n\r\nexport default () => (\r\n \r\n \r\n {routes.map((route, i) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n)\r\n","import React, { useContext } from \"react\"\nimport { useHistory } from \"react-router\"\nimport { useEffect } from \"react\"\nimport { LoginContext } from \"../components/context/LoginContext\"\n\nconst LOGIN_MAIN_PAGE = \"/my\"\n\nexport default () => {\n const history = useHistory()\n const { isLogined } = useContext(LoginContext)\n\n useEffect(() => {\n if (isLogined()) {\n history.replace(LOGIN_MAIN_PAGE)\n } else {\n history.replace(\"/login\")\n }\n }, [])\n\n return null\n}\n","import React, { useEffect } from \"react\"\nimport { useHistory, useParams } from \"react-router\"\nimport { useEntryCheckQuery, useAuthByCodeMutation } from \"../../generated-types\"\nimport { handleGqlError } from \"../../components/utils\"\nimport { useLoginContext } from \"../../components/context/LoginContext\"\nimport { MainLayout } from \"../../components/layout/MainLayout\"\n\nexport default () => {\n const { code } = useParams()\n const history = useHistory()\n const { login, isLogined } = useLoginContext()\n const { data } = useEntryCheckQuery({\n variables: { code },\n onError: (e) => {\n handleGqlError(e)\n history.push(\"/\")\n },\n })\n const [authByCodeMutation] = useAuthByCodeMutation({ fetchPolicy: \"no-cache\" })\n\n useEffect(() => {\n if (isLogined()) {\n history.push(\"/my\")\n }\n }, [])\n\n useEffect(() => {\n if (!data) return\n if (data.entryCheck.isUsed) {\n authByCodeMutation({ variables: { code } })\n .then((r) => {\n const { username, token, exp } = r.data.authByCode\n login(username, token, exp)\n // TODO redir 파라메터 처리\n history.push(\"/my\")\n })\n .catch(handleGqlError)\n } else {\n history.push(\n data.entryCheck.codeType === \"RCODE\" ? `/login/${code}/profile` : `/login/${data.entryCheck.ecode}/profile`\n )\n }\n }, [data])\n\n return \n}\n","import React from \"react\"\r\nimport { Route, Switch, useParams } from \"react-router-dom\"\r\nimport DinoEntryPage from \"./DinoEntryPage\"\r\nimport { Intro } from \"./Intro\"\r\nimport QuestionnairePage from \"./QuestionnairePage\"\r\nimport { DinoContextProvider } from \"./components/DinoContext\"\r\nimport Error404 from \"../Error404\"\r\nimport FiveLLResult from \"./result/FiveLLResult\"\r\nimport FMatQuadResult from \"./result/FMatQuadResult\"\r\nimport { useLanguageContext } from \"../../components/context/LanguageContext\"\r\nimport FMatHmiResult from \"./result/FMatHmiResult\"\r\nimport FMatTsiResult from \"./result/FMatTsiResult\"\r\nimport { FiveLLQuadResult } from \"./result/FiveLLQuadResult\"\r\nimport FMatLbi360Result from \"./result/FMatLbi360Result\"\r\nimport { ResultReportPage } from \"./report/ResultReportPage\"\r\nimport FMatLbiFastScanResult from \"./result/FMatLbiFastScanResult\"\r\n\r\nexport default () => {\r\n const { paperId } = useParams()\r\n\r\n let { lang } = useLanguageContext()\r\n if (![\"en\", \"ko\"].includes(lang)) lang = \"en\"\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n","import { ApolloClient, InMemoryCache, HttpLink, ApolloLink, Observable } from \"@apollo/client\"\nimport { onError } from \"apollo-link-error\"\n\n// TODO 쿠키 방식 인증 검토\nconst GRAPHQL_URL = process.env.REACT_APP_API\n\nconst cache = new InMemoryCache()\n\n// @client를 쓰는 경우 link를 쓰지 않는다 ㅠ\n// const stateLink = withClientState({\n// cache,\n// resolvers: {\n// Mutation: {\n// initDiag: (_, param, ctx) => {\n// const cache = ctx.cache as InMemoryCache\n// const data = {\n// diagId: 1,\n// answer: [],\n// }\n// cache.writeData({ id: \"diag\", data })\n// return null\n// },\n// addAnswer: (_, param, ctx) => {\n// const cache = ctx.cache as InMemoryCache\n// },\n// closeDiag: (_, param, ctx) => {\n// const cache = ctx.cache as InMemoryCache\n// // cache.evict()\n// },\n// },\n// Query: {\n// currentDiag: (_, param, { cache }) => {\n// return null\n// },\n// },\n// },\n// })\n\n// const authLink = setContext((_, { headers }) => {\n// // get the authentication token from local storage if it exists\n// const token = sessionStorage.getItem(\"token\")\n// // return the headers to the context so httpLink can read them\n// // TODO exp 확인하여 알아서 제거 처리\n// return {\n// headers: {\n// ...headers,\n// authorization: token ? `Bearer ${token}` : \"\",\n// },\n// }\n// })\n\n// reference from: https://www.apollographql.com/docs/link/links/rest/#rest-directive\nconst authRestLink = new ApolloLink((operation, forward) => {\n operation.setContext(({ headers }) => {\n const token = localStorage.getItem(\"token\")\n return {\n headers: {\n ...headers,\n Accept: \"application/json\",\n Authorization: token,\n },\n }\n })\n return forward(operation).map((result) => {\n const { restResponses } = operation.getContext()\n const authTokenResponse = restResponses.find((res) => res.headers.has(\"Authorization\"))\n // You might also filter on res.url to find the response of a specific API call\n if (authTokenResponse) {\n localStorage.setItem(\"token\", authTokenResponse.headers.get(\"Authorization\"))\n }\n return result\n })\n})\n\nconst authLink = new ApolloLink((operation, forward) => {\n const token = sessionStorage.getItem(\"token\")\n const lang = localStorage.getItem(\"i18nextLng\")\n operation.setContext(({ headers }) => ({\n headers: {\n ...headers,\n \"x-dino-lang\": lang,\n authorization: token ? `Bearer ${token}` : \"\",\n },\n }))\n\n // forward(operation) // 이 구문 자체가 실행을 의미하지는 않는다!\n\n return new Observable((observer) => {\n let handle\n try {\n handle = forward(operation).subscribe({\n next: observer.next.bind(observer),\n error: observer.error.bind(observer),\n complete: observer.complete.bind(observer),\n })\n } catch (e) {\n observer.error.bind(observer)\n }\n return () => {\n if (handle) handle.unsubscribe()\n }\n })\n})\n\nconst onErrorLink = onError(({ graphQLErrors, networkError, operation, forward }) => {\n // TODO 인증 에러시 토큰 연장 후 재전송 처리\n if (graphQLErrors) graphQLErrors.map((err) => console.error(err))\n\n if (networkError) console.log(`[Network error]: ${networkError}`)\n})\n\nexport const createClient = (eventLink?: ApolloLink) => {\n const _eventLink = eventLink ? [eventLink] : []\n\n return new ApolloClient({\n cache,\n connectToDevTools: true,\n link: ApolloLink.from([..._eventLink, authLink, new HttpLink({ uri: GRAPHQL_URL, credentials: \"same-origin\" })]),\n })\n}\n\n// TODO x-dino-lang 처리 필요\n","import React from \"react\"\nimport { ApolloError } from \"@apollo/client\"\n\ntype UIContextType = {\n loading: boolean\n message: { content: { code?: string; message?: string }[]; style: \"OK\" | \"WARN\" | \"ERROR\"; ts: number } | null\n // clearMessageBar: () => void\n setLoading: (loading: boolean) => void\n popupError: (err: string | ApolloError) => void\n}\n\nexport const UIContext = React.createContext(undefined)\nUIContext.displayName = \"UIContext\"\n\nexport type UIContextProviderProps = {\n handler: () => void\n}\nexport const UIContextProvider: React.FC = (props) => {\n const [message, setMessage] = React.useState(null)\n const [loading, setLoading] = React.useState(false)\n\n const popupError = React.useCallback(\n (err) => {\n if (!err) return\n\n let content\n if (err instanceof ApolloError) {\n if (err.graphQLErrors.length === 0) content = [{ message: err.message }]\n else\n content = err.graphQLErrors.map(({ message, extensions }) => {\n return {\n message,\n code: extensions.code,\n }\n })\n }\n\n setMessage({ content, style: \"ERROR\", ts: +new Date() })\n },\n [setMessage]\n )\n\n const ctx = {\n loading,\n message,\n setLoading,\n popupError,\n }\n\n React.useEffect(() => {\n if (!message) return\n // console.log(\"hajime\")\n const time = setInterval(() => {\n // console.log(message)\n\n // console.log(+new Date() - message.ts)\n if (+new Date() - message.ts > 3000) setMessage(null)\n }, 1000)\n return () => {\n clearInterval(time)\n }\n }, [message])\n\n return {props.children}\n}\n\nexport const useUIContext = () => React.useContext(UIContext)\n","import React from \"react\"\r\nimport { GrommetRoot } from \"../components/layout/GrommetRoot\"\r\nimport { Box, Spinner } from \"grommet\"\r\n\r\nexport const LoadingPage: React.FC = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n","import React from \"react\"\r\nimport \"./style.css\"\r\nimport ReactDOM from \"react-dom\"\r\nimport * as serviceWorker from \"./serviceWorker\"\r\nimport Router from \"./pages/_Router\"\r\nimport { ApolloProvider } from \"@apollo/client\"\r\nimport \"./i18n\"\r\nimport { createClient } from \"./graphql\"\r\nimport { LanguageContextProvider } from \"./components/context/LanguageContext\"\r\nimport { LoginContextProvider } from \"./components/context/LoginContext\"\r\nimport { UIContextProvider } from \"./components/context/UIContext\"\r\nimport { ToastsContainer, ToastsContainerPosition, ToastsStore } from \"react-toasts\"\r\nimport { LoadingPage } from \"./pages/LoadingPage\"\r\n\r\n// observable pattern 확인해본다\r\nconst handler = () => {}\r\n\r\nconst client = createClient()\r\n\r\nReactDOM.render(\r\n }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n)\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister()\r\n"],"sourceRoot":""}