{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/common/loading/loading.vue","webpack:///./src/components/common/loading/loading.ts?0bac","webpack:///./src/components/common/loading/loading.ts?8270","webpack:///./src/components/common/loading/loading.vue?2183","webpack:///./src/client/config.ts","webpack:///./src/models/period-management.ts","webpack:///./src/services/period-management.service.ts","webpack:///./src/app/app.scss?83fd","webpack:///./src/models/proposal.ts","webpack:///./src/app/custom-multiselect.scss?93f0","webpack:///./src/client/msal.config.ts","webpack:///./src/services/auth.service.ts","webpack:///./src/models/owner.ts","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/components/common/filter-year/filter-year.vue","webpack:///./src/components/common/filter-year/filter-year.ts","webpack:///./src/components/common/filter-year/filter-year.ts?7836","webpack:///./src/components/common/filter-year/filter-year.vue?9367","webpack:///./src/client/http.util.ts","webpack:///./src/models/comment-header.ts","webpack:///./src/services/proposal.service.ts","webpack:///./src/client/transformers.ts","webpack:///./src/models/user-header.ts","webpack:///./src/components/participant/index/participant-index.vue","webpack:///./src/components/participant/index/participant-index.vue?6e6d","webpack:///./src/components/participant/index/participant-index.vue?e2dd","webpack:///./src/components/participant/index/participant-index.vue?9202","webpack:///./src/models/uuid.ts","webpack:///./src/services/judge.service.ts","webpack:///./src/models/team-header.ts","webpack:///./src/models/uuid-model.ts","webpack:///./src/plugins/bootstrap-vue.ts","webpack:///./src/store/modules/proposal.store.ts","webpack:///./src/store/modules/period-management.store.ts","webpack:///./src/store/modules/judge.store.ts","webpack:///./src/models/jury-detail.ts","webpack:///./src/services/jury-detail.service.ts","webpack:///./src/store/modules/jury-detail.store.ts","webpack:///./src/models/voting.ts","webpack:///./src/services/voting.service.ts","webpack:///./src/store/modules/voting.store.ts","webpack:///./src/models/user-suggestion.ts","webpack:///./src/services/user.service.ts","webpack:///./src/store/modules/user.store.ts","webpack:///./src/store/modules/auth.store.ts","webpack:///./src/models/report.ts","webpack:///./src/services/report.service.ts","webpack:///./src/store/modules/report.store.ts","webpack:///./src/services/feedback.service.ts","webpack:///./src/store/modules/feedback.store.ts","webpack:///./src/services/activity.service.ts","webpack:///./src/store/modules/activity.store.ts","webpack:///./src/store/common.ts","webpack:///./src/store/index.ts","webpack:///./src/router/commitee.router.ts","webpack:///./src/router/jury.router.ts","webpack:///./src/router/participant.router.ts","webpack:///./src/router/router.ts","webpack:///./src/plugins/axios.ts","webpack:///./src/plugins/axiosEpdpApi.ts","webpack:///./src/plugins/modal-toast.ts","webpack:///./src/registerServiceWorker.ts","webpack:///./src/app/app.vue","webpack:///./src/app/app.vue?afb9","webpack:///./src/app/app.vue?96d4","webpack:///./src/app/app.vue?ec52","webpack:///./src/main.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","jsonpArray","window","oldJsonpFunction","slice","render","_vm","this","_c","_self","_setupProxy","staticClass","class","color","style","width","size","height","staticRenderFns","default","component","baseUrl","epdpApiUrl","VUE_APP_EPDPAPI_URL","assessmentRubricsUrl","posterTemplateUrl","disableSomeComponents","toLowerCase","axios","pipe","year","options","params","put","periodId","post","proposalCreatedAt","getFullYear","Status","Proposal","props","super","Registered","assign","previousYearProposal","projectCode","title","proposalTitle","msalConfig","auth","clientId","authority","redirectUri","VUE_APP_LOGIN_URL","location","origin","postLogoutRedirectUri","cache","cacheLocation","loginRequest","scopes","clientScope","epdpApiScope","msalInstance","loginRedirect","catch","handleRedirectPromise","res","accounts","getAllAccounts","setActiveAccount","account","acquireToken","acquireTokenSilent","token","async","acquireTokenRedirect","logoutPopup","logoutRedirect","getActiveAccount","Owner","map","webpackContext","req","id","webpackContextResolve","keys","attrs","_v","directives","rawName","expression","on","$event","$$selectedVal","Array","filter","selected","val","_value","multiple","_l","index","domProps","currentYear","_s","$store","state","Common","commit","$router","path","$route","query","toString","changeYear","HttpUtil","obj","isArray","forEach","item","objKey","requestToSnake","FormData","arr","from","entries","reduce","acc","newKey","replace","File","append","Date","Boolean","String","transformed","transformedKey","transformedItem","ProgressEvent","payload","formData","proposalId","simple","delete","email","payloadToFormData","commentId","mapToArrayClass","mapToArrayCollection","collectionType","mapToClass","mapToCollection","mapToData","mapToPagination","ret","pagination","headers","current_page","total_page","per_page","total_count","approved","finalized","proposal","filterObject","UserHeader","periodManagements","currentPeriod","phases","startAt","_f","_e","endAt","countDown","staticStyle","fullPath","startsWith","fields","proposals","scopedSlots","_u","fn","phase1","phase2","isPhase1CanEntry","isAllowToSubmit","isLock","_m","label","formatter","join","checkAllow","periodManagement","config","PeriodManagementStore","ProposalStore","$parent","getPeriodManagementsByYear","getProposals","checkAllowToSubmit","countingDown","intervalCountDown","setInterval","indexOf","clearInterval","duration","$moment","parse","now","seconds","days","hours","padStart","minutes","dispatch","combineLatest","tap","getPeriodManagements","parent","pageLoading","subscribe","load","checkLoading","components","FilterYear","loading","UUID","JudgeService","binusianId","TeamHeader","UUIDModel","use","BTable","outlined","small","showEmpty","striped","BButton","variant","namespaced","mainComments","comments","actions","context","getProposal","postProposal","_context","updateProposal","updateStatusProposal","updateStatusProposalBatch","deleteProposal","updateOrder","setProposalApproval","addJudge","deleteJudge","finalizeJuryDetail","getJudgeProposals","getParticipantProposals","saveProposalSummary","saveProposalBody","createProposalLiterature","updateProposalLiterature","deleteProposalLiterature","saveProposalImplementation","createProposalReference","updateProposalReference","deleteProposalReference","createProposalAppendix","updateProposalAppendix","deleteProposalAppendix","finalizeProposal","savePoster","getMainComments","getProposalComments","getComments","postComment","postProposalComment","updateComment","putProposalComment","deleteComment","deleteProposalComment","saveTop15","saveTop3","sendEmailReminderToFinalize","sendEmailReminderToApproval","getBudgetProposal","mutations","setProposals","setProposal","setAllowToSubmit","setMainComments","setComments","isActive","period","of","editTime","startPeriod","sendEmail","setPeriodManagements","setCurrentPeriod","setCurrentYear","getters","isParticipantPeriod","includes","isJuryPeriod","judges","judge","getJudges","getJudge","setJudges","setJudge","scoringDetails","juryDetail","getJuryDetail","getProposalScoringDetails","submitScoringDetails","finalizeScoringDetails","sendApprovalCode","setScoringDetails","setJuryDetail","votingId","votings","voting","proposalVoters","isHideVoting","getVotings","getMyVotings","getVoting","postVoting","_ontext","changeHideVoting","getProposalVoters","updatePrize","setVotings","setVoting","setHideVoting","setProposalVoters","userId","body","teamId","keyword","defer","acquireTokenGraph","mergeMap","Authorization","accessToken","a","users","user","teams","team","jobBands","roles","userSuggestion","ownerCandidateSuggestion","getUsers","getUser","updateUser","getTeams","getTeam","updateTeam","postUser","deleteUser","getJobBands","getRoles","getUserInformation","getUserSuggestion","getOwnerCandidateSuggestion","resetOwnerCandidateSuggestion","setUsers","setUser","setTeams","setTeam","setJobBands","setRoles","setUserSuggestion","setOwnerCandidateSuggestion","login","handleRedirectCallback","acquireTokenClient","logout","defaults","common","getAccount","getAccountUsername","username","getAccounts","getMsal","isCommitee","roleName","isParticipant","isJury","SERVICE_PATH","reportType","responseType","reports","resetReports","getReports","downloadReport","disposition","split","find","fileName","url","URL","createObjectURL","Blob","link","click","retry","addReports","concat","setReports","feedbackId","feedbacks","feedback","getFeedbacks","getFeedback","postFeedback","replyFeedback","closeFeedback","setFeedbacks","setFeedback","activities","activityDetail","getActivities","getActivityDetail","setActivities","setActivityDetail","formatDate","categories","description","shirtSizes","isHideComment","setYear","setKeyword","Store","JudgeStore","VotingStore","UserStore","ReportStore","JuryDetailStore","AuthStore","FeedbackStore","ActivityStore","CommiteeTemplate","CommiteeIndex","ListProposalFirst","ListProposalSecond","ListProposalThird","AssignJudgesFirst","AssignJudgesSecond","AssignJudgesThird","VoteResult","UserManagementUser","UserManagementGroup","GenerateReport","CommiteeFeedback","CommiteeFeedbackDetail","ProposalFirst","ProposalScore","ProposalSecond","VoterList","DetailActivity","CommiteeActivity","Dashboard","MonthlyEvaluation","commiteeMiddleware","_to","_from","next","store","catchError","_error","beforeEnter","children","isAdmin","JuryTemplate","JuryIndex","JuryProposal","JuryScoring","juryMiddleware","to","ParticipantTemplate","ParticipantIndex","ParticipantVote","ParticipantFeedback","CreateFeedback","ParticipantFeedbackDetail","CreateProposal","ProposalApproval","EntryProposalFirst","EntryProposalSecond","ViewProposalFirst","ViewProposalSecond","ParticipantFaq","ParticipantPedoman","participantMiddleware","router","linkExactActiveClass","base","routes","redirect","_savedPosition","x","y","afterEach","nextTick","baseURL","withCredentials","interceptors","AuthError","response","status","axiosEpdpApi","acquireTokenEpdpApi","$bvModal","buttonSize","okVariant","okTitle","cancelTitle","footerClass","hideHeaderClose","centered","msgBoxConfirm","$bvToast","solid","toast","toastError","errors","text","errMessage","messages","ModalConfirmation","Vue","mixin","productionTip","moment","h","$mount"],"mappings":"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","file":"js/app.59e5dfaf.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0a6db320\":\"82dddb52\",\"chunk-0c8c640d\":\"fa99fb14\",\"chunk-079f314e\":\"d414cdbf\",\"chunk-2d0e2899\":\"2ffdf62d\",\"chunk-2d2169c7\":\"6a90ec4b\",\"chunk-45803f72\":\"ad3e2422\",\"chunk-0d5d3b3c\":\"b3084649\",\"chunk-10b3164a\":\"57f1e8ae\",\"chunk-143995ff\":\"d96c03c5\",\"chunk-17aa9b43\":\"cb1ea3a8\",\"chunk-1e086dc2\":\"09a42822\",\"chunk-23c6f941\":\"de2bfcb5\",\"chunk-2d0a349f\":\"607454ee\",\"chunk-2d0aaf29\":\"28cb5a9b\",\"chunk-2d0b270b\":\"74c94b6b\",\"chunk-2d0b3dcc\":\"0b92a4fa\",\"chunk-2d0b6cce\":\"f2b0676c\",\"chunk-2d0b8b01\":\"5adf8bd7\",\"chunk-2d0be2ed\":\"e72f3caa\",\"chunk-2d0c553c\":\"2692fd5b\",\"chunk-2d0ce7df\":\"852153e0\",\"chunk-2d0d9f47\":\"bee30b7c\",\"chunk-2d0da393\":\"cc67616d\",\"chunk-2d0e97e1\":\"cbea92a6\",\"chunk-2d2091fc\":\"2a658365\",\"chunk-2d21f2cc\":\"7665d284\",\"chunk-2d225be9\":\"2b1a80aa\",\"chunk-2d228930\":\"1d441b60\",\"chunk-2d228e25\":\"f5bfdc57\",\"chunk-2d22d5d2\":\"53007fd6\",\"chunk-2d22fcb4\":\"16fa2bbe\",\"chunk-2d237e84\":\"238099c9\",\"chunk-3ad12e86\":\"d1baa4e2\",\"chunk-50eb294a\":\"c5fa57de\",\"chunk-395ac4f6\":\"562fa577\",\"chunk-3f9cec85\":\"0a3e7bfd\",\"chunk-6c230f00\":\"adb3497e\",\"chunk-6c41a928\":\"491e196c\",\"chunk-6d96fb12\":\"6288e2fa\",\"chunk-8643cfce\":\"c949c673\",\"chunk-2d0c0ea1\":\"cfede3bf\",\"chunk-2d217928\":\"ea2a1096\",\"chunk-67492c04\":\"0576114f\",\"chunk-200fb205\":\"c6aebfdf\",\"chunk-75af971d\":\"68cbf04a\",\"chunk-a9d42d02\":\"71a3fd83\",\"chunk-b54a8cce\":\"6baea903\",\"chunk-fb008516\":\"f8256f45\",\"chunk-53757743\":\"7a8308f2\",\"chunk-05c58707\":\"da77387b\",\"chunk-0f0a167b\":\"4ff398a9\",\"chunk-6dc70e1b\":\"fbd9c712\",\"chunk-6fc7389c\":\"943baf8a\",\"chunk-700d424e\":\"d383644b\",\"chunk-795624bd\":\"c56e3630\",\"chunk-7a69e0f8\":\"75ed920d\",\"chunk-7b1bacae\":\"ce99ef8e\",\"chunk-7cdb23f9\":\"89e842bd\",\"chunk-b054b21c\":\"c6f54df5\",\"chunk-b0bc9e96\":\"aaf41973\",\"chunk-c6d852b6\":\"a75fa6d8\",\"chunk-2d0c5b16\":\"d7a4e7ef\",\"chunk-32de4dfa\":\"b51cac68\",\"chunk-c9909d9a\":\"dcb9fee3\",\"chunk-e0af3c6e\":\"c15cb98a\",\"chunk-f6a8fec4\":\"3290cb0f\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-45803f72\":1,\"chunk-0d5d3b3c\":1,\"chunk-1e086dc2\":1,\"chunk-50eb294a\":1,\"chunk-53757743\":1,\"chunk-c6d852b6\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0a6db320\":\"31d6cfe0\",\"chunk-0c8c640d\":\"31d6cfe0\",\"chunk-079f314e\":\"31d6cfe0\",\"chunk-2d0e2899\":\"31d6cfe0\",\"chunk-2d2169c7\":\"31d6cfe0\",\"chunk-45803f72\":\"22557566\",\"chunk-0d5d3b3c\":\"71506887\",\"chunk-10b3164a\":\"31d6cfe0\",\"chunk-143995ff\":\"31d6cfe0\",\"chunk-17aa9b43\":\"31d6cfe0\",\"chunk-1e086dc2\":\"5926060e\",\"chunk-23c6f941\":\"31d6cfe0\",\"chunk-2d0a349f\":\"31d6cfe0\",\"chunk-2d0aaf29\":\"31d6cfe0\",\"chunk-2d0b270b\":\"31d6cfe0\",\"chunk-2d0b3dcc\":\"31d6cfe0\",\"chunk-2d0b6cce\":\"31d6cfe0\",\"chunk-2d0b8b01\":\"31d6cfe0\",\"chunk-2d0be2ed\":\"31d6cfe0\",\"chunk-2d0c553c\":\"31d6cfe0\",\"chunk-2d0ce7df\":\"31d6cfe0\",\"chunk-2d0d9f47\":\"31d6cfe0\",\"chunk-2d0da393\":\"31d6cfe0\",\"chunk-2d0e97e1\":\"31d6cfe0\",\"chunk-2d2091fc\":\"31d6cfe0\",\"chunk-2d21f2cc\":\"31d6cfe0\",\"chunk-2d225be9\":\"31d6cfe0\",\"chunk-2d228930\":\"31d6cfe0\",\"chunk-2d228e25\":\"31d6cfe0\",\"chunk-2d22d5d2\":\"31d6cfe0\",\"chunk-2d22fcb4\":\"31d6cfe0\",\"chunk-2d237e84\":\"31d6cfe0\",\"chunk-3ad12e86\":\"31d6cfe0\",\"chunk-50eb294a\":\"f26c216f\",\"chunk-395ac4f6\":\"31d6cfe0\",\"chunk-3f9cec85\":\"31d6cfe0\",\"chunk-6c230f00\":\"31d6cfe0\",\"chunk-6c41a928\":\"31d6cfe0\",\"chunk-6d96fb12\":\"31d6cfe0\",\"chunk-8643cfce\":\"31d6cfe0\",\"chunk-2d0c0ea1\":\"31d6cfe0\",\"chunk-2d217928\":\"31d6cfe0\",\"chunk-67492c04\":\"31d6cfe0\",\"chunk-200fb205\":\"31d6cfe0\",\"chunk-75af971d\":\"31d6cfe0\",\"chunk-a9d42d02\":\"31d6cfe0\",\"chunk-b54a8cce\":\"31d6cfe0\",\"chunk-fb008516\":\"31d6cfe0\",\"chunk-53757743\":\"bfbab07d\",\"chunk-05c58707\":\"31d6cfe0\",\"chunk-0f0a167b\":\"31d6cfe0\",\"chunk-6dc70e1b\":\"31d6cfe0\",\"chunk-6fc7389c\":\"31d6cfe0\",\"chunk-700d424e\":\"31d6cfe0\",\"chunk-795624bd\":\"31d6cfe0\",\"chunk-7a69e0f8\":\"31d6cfe0\",\"chunk-7b1bacae\":\"31d6cfe0\",\"chunk-7cdb23f9\":\"31d6cfe0\",\"chunk-b054b21c\":\"31d6cfe0\",\"chunk-b0bc9e96\":\"31d6cfe0\",\"chunk-c6d852b6\":\"e0ebedc6\",\"chunk-2d0c5b16\":\"31d6cfe0\",\"chunk-32de4dfa\":\"31d6cfe0\",\"chunk-c9909d9a\":\"31d6cfe0\",\"chunk-e0af3c6e\":\"31d6cfe0\",\"chunk-f6a8fec4\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"loading-wrapper\"},[_c('div',{staticClass:\"loading-item\",class:_vm.color,style:({ width: _vm.size + 'px', height: _vm.size + 'px' })})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from \"vue\";\r\nimport { Component, Prop } from \"vue-property-decorator\";\r\n\r\n@Component\r\nexport default class Loading extends Vue {\r\n @Prop({ default: \"purple\" })\r\n public readonly color!: string;\r\n\r\n @Prop({ default: 20 })\r\n public readonly size!: number;\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/eslint-loader/index.js??ref--14-0!./loading.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/eslint-loader/index.js??ref--14-0!./loading.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./loading.vue?vue&type=template&id=0b0d2312&\"\nimport script from \"./loading.ts?vue&type=script&lang=js&\"\nexport * from \"./loading.ts?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default {\r\n baseUrl: process.env.VUE_APP_BACKEND_URL || window.location.origin,\r\n epdpApiUrl: process.env.VUE_APP_EPDPAPI_URL || \"http://localhost:5003\",\r\n assessmentRubricsUrl:\r\n \"http://www.binus.edu/innovation-award/post/top-3-assessment-rubrics/\",\r\n posterTemplateUrl: \"/uploads/PosterTemplateA2.pdf\",\r\n /**\r\n * Dikarenakan permintaan untuk edit proposal,\r\n * dan peserta tidak boleh mengubah beberapa detil proposal,\r\n * maka beberapa component di disable\r\n */\r\n disableSomeComponents:\r\n (process.env.VUE_APP_DISABLE_SOME_COMPONENTS &&\r\n process.env.VUE_APP_DISABLE_SOME_COMPONENTS.toLowerCase() === \"true\") ||\r\n false,\r\n};\r\n","import { UUIDModel } from \"@/models/uuid-model\";\r\nimport { UUID } from \"@/models/uuid\";\r\n\r\nexport default class PeriodManagement extends UUIDModel {\r\n public id: UUID = new UUID();\r\n public year = \"\";\r\n public period = 0;\r\n public description = \"\";\r\n public startAt = \"\";\r\n public endAt = \"\";\r\n public createdAt = \"\";\r\n public sendEmailBy = \"\";\r\n public sendEmailAt = \"\";\r\n public isActive = false;\r\n}\r\n","import { Observable } from \"rxjs\";\r\nimport { mapToArrayClass, mapToClass, mapToData } from \"@/client/transformers\";\r\nimport PeriodManagement from \"@/models/period-management\";\r\nimport { AxiosRequestConfig } from \"axios\";\r\n\r\nexport class PeriodManagementService {\r\n public static getPeriodManagements(): Observable {\r\n return window.axios\r\n .get(\"/periodManagement\")\r\n .pipe(mapToData(), mapToArrayClass(PeriodManagement));\r\n }\r\n\r\n public static getPeriodManagementsByYear(\r\n year: string | number,\r\n options: AxiosRequestConfig = {}\r\n ): Observable {\r\n return window.axios\r\n .get(`/periodManagement/getbyyear/${year}`, options)\r\n .pipe(mapToData(), mapToArrayClass(PeriodManagement));\r\n }\r\n\r\n public static editTime(params: {\r\n periodId: string;\r\n start: string;\r\n end: string;\r\n }): Observable {\r\n return window.axios\r\n .put(`/periodManagement/EditTime`, null, { params })\r\n .pipe(mapToData(), mapToClass(PeriodManagement));\r\n }\r\n\r\n public static startPeriod(periodId: string): Observable {\r\n return window.axios\r\n .post(`/periodManagement/startperiod/${periodId}`)\r\n .pipe(mapToData(), mapToClass(PeriodManagement));\r\n }\r\n\r\n public static sendEmail(periodId: string): Observable {\r\n return window.axios\r\n .post(`/periodManagement/${periodId}/SendEmail`)\r\n .pipe(mapToData(), mapToClass(PeriodManagement));\r\n }\r\n\r\n public static getProjectYearByProposalCreatedAt(\r\n proposalCreatedAt: Date\r\n ): number {\r\n return proposalCreatedAt.getFullYear() + 1;\r\n }\r\n}\r\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./app.scss?vue&type=style&index=0&prod&lang=scss&\"","import JuryDetail from \"@/models/jury-detail\";\r\n// import StatusProposal from \"@/models/status-proposal\";\r\nimport TeamHeader from \"@/models/team-header\";\r\nimport { UUIDModel } from \"@/models/uuid-model\";\r\nimport { UUID } from \"@/models/uuid\";\r\nimport ProposalDetail from \"@/models/proposal-detail\";\r\nimport CommentHeader from \"@/models/comment-header\";\r\nimport Voting from \"@/models/voting\";\r\nimport { Topic } from \"@/dto/proposal.dto\";\r\n\r\nexport enum Status {\r\n Registered = \"Registered\",\r\n Finalized = \"Finalized\",\r\n Approved = \"Approved\",\r\n Rejected = \"Rejected\",\r\n}\r\n\r\nclass Proposal extends UUIDModel {\r\n public id: UUID = new UUID();\r\n public phase = 0;\r\n public proposalTitle = \"\";\r\n public category = \"\";\r\n public createdAt = \"\";\r\n public summary = \"\";\r\n public keyword = \"\";\r\n public createdBy = \"\";\r\n public approvedAt = \"\";\r\n public finalizedAt = \"\";\r\n public finalizedBy = \"\";\r\n public order = 0;\r\n public score = 0;\r\n public juryDetail: JuryDetail[] = [];\r\n public proposalDetails: ProposalDetail[] = [];\r\n public commentHeader: CommentHeader[] = [];\r\n public voting: Voting[] = [];\r\n public isCanEntry = false;\r\n public currentUserRoles: any[] = [];\r\n public previousYearProposal: {\r\n id: string;\r\n proposalTitle: string;\r\n projectCode: string;\r\n } | null = null;\r\n\r\n public projectDuration = 0;\r\n public topics: Topic[] = [];\r\n\r\n public teamId: UUID = new UUID();\r\n public team: TeamHeader = new TeamHeader();\r\n\r\n public status: Status = Status.Registered;\r\n\r\n public isRegisteredForIA = false;\r\n\r\n // public statusId: UUID = new UUID();\r\n // public status: StatusProposal = new StatusProposal();\r\n\r\n public constructor(props?: Partial) {\r\n super();\r\n Object.assign(this, props);\r\n }\r\n\r\n public previousYearProposalLabel(): string {\r\n const p = this.previousYearProposal;\r\n const code = this.previousYearProposal!.projectCode;\r\n const title = this.previousYearProposal!.proposalTitle;\r\n\r\n if (p == null) return \"No\";\r\n else return code === \"-\" ? title : code + \" - \" + title;\r\n }\r\n}\r\n\r\nexport default Proposal;\r\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./custom-multiselect.scss?vue&type=style&index=2&prod&lang=scss&\"","import * as Msal from \"@azure/msal-browser\";\r\n\r\n// console.log(\r\n// process.env.VUE_APP_LOGIN_URL,\r\n// window.location.origin,\r\n// process.env.NODE_ENV\r\n// );\r\n\r\nexport const msalConfig: Msal.Configuration = {\r\n auth: {\r\n clientId:\r\n process.env.VUE_APP_AZURE_AD_CLIENT_ID ||\r\n \"7ee15a7a-5992-42b4-8e11-b88cb35288fe\",\r\n authority:\r\n \"https://login.microsoftonline.com/\" +\r\n (process.env.VUE_APP_AZURE_AD_TENANT_ID ||\r\n \"3485b963-82ba-4a6f-810f-b5cc226ff898\"),\r\n redirectUri:\r\n process.env.VUE_APP_LOGIN_URL || window.location.origin + \"/login\",\r\n postLogoutRedirectUri:\r\n process.env.VUE_APP_LOGIN_URL || window.location.origin + \"/login\",\r\n },\r\n cache: {\r\n cacheLocation: \"localStorage\",\r\n // storeAuthStateInCookie: false,\r\n },\r\n // system: {\r\n // tokenRenewalOffsetSeconds: 55 * 60,\r\n // },\r\n};\r\n\r\nexport const loginRequest: Msal.RedirectRequest | Msal.PopupRequest = {\r\n scopes: [\r\n \"openid\",\r\n \"profile\",\r\n \"User.Read\",\r\n \"People.Read\",\r\n \"Files.Read.All\",\r\n \"Files.ReadWrite.All\",\r\n ],\r\n // forceRefresh: true,\r\n};\r\n\r\nexport const clientScope: Msal.RedirectRequest | Msal.PopupRequest = {\r\n scopes: [\r\n `api://${\r\n process.env.VUE_APP_AZURE_AD_CLIENT_ID ||\r\n \"7ee15a7a-5992-42b4-8e11-b88cb35288fe\"\r\n }/.default`,\r\n ],\r\n // forceRefresh: true,\r\n};\r\n\r\nexport const epdpApiScope: Msal.RedirectRequest | Msal.PopupRequest = {\r\n scopes: [\"api://93ad3682-7502-462b-bb44-4bcbe799a31b/access_as_user\"], // E-PDP API ClientId\r\n};\r\n","import * as Msal from \"@azure/msal-browser\";\r\nimport {\r\n msalConfig,\r\n loginRequest,\r\n clientScope,\r\n epdpApiScope,\r\n} from \"@/client/msal.config\";\r\nimport { mapToData } from \"@/client/transformers\";\r\nimport { Observable } from \"rxjs\";\r\nimport UserHeader from \"@/models/user-header\";\r\n\r\nexport class AuthService {\r\n public static msalInstance: Msal.PublicClientApplication =\r\n new Msal.PublicClientApplication(msalConfig);\r\n\r\n public static async login(): Promise {\r\n // AuthService.handleRedirectCallback();\r\n\r\n // return await AuthService.msalInstance\r\n // .loginRedirect(loginRequest)\r\n // .catch((err) => {\r\n // console.error(err);\r\n // });\r\n\r\n // return await AuthService.msalInstance\r\n // .loginPopup(loginRequest)\r\n // .then((res) => {\r\n // if (res) {\r\n // const accounts = this.msalInstance.getAllAccounts();\r\n // console.log(\"accounts\", accounts);\r\n // if (accounts.length >= 1) {\r\n // this.msalInstance.setActiveAccount(res.account);\r\n // }\r\n // }\r\n // return res;\r\n // })\r\n // .catch(async (error) => {\r\n // console.log(\"loginPopup error\", error.errorCode, { error });\r\n // if (error instanceof Msal.InteractionRequiredAuthError) {\r\n // return await AuthService.msalInstance\r\n // .loginRedirect(loginRequest)\r\n // .catch((err) => {\r\n // console.log(\"loginRedirect error\", error.errorCode, { error });\r\n // console.error(err);\r\n // });\r\n // }\r\n // });\r\n await AuthService.msalInstance.loginRedirect(loginRequest).catch((err) => {\r\n console.log(\"loginRedirect error\", err.errorCode, { err });\r\n console.error(err);\r\n });\r\n }\r\n\r\n public static async handleRedirectCallback(): Promise {\r\n return await AuthService.msalInstance\r\n .handleRedirectPromise()\r\n .then((res) => {\r\n console.log(\"handleRedirectCallback_response\", res);\r\n if (res) {\r\n const accounts = this.msalInstance.getAllAccounts();\r\n console.log(\"accounts\", accounts);\r\n if (accounts.length >= 1) {\r\n this.msalInstance.setActiveAccount(res.account);\r\n }\r\n }\r\n return res;\r\n })\r\n .catch((error) => {\r\n console.error(\"handleRedirectCallback_error\", error);\r\n });\r\n }\r\n\r\n public static async acquireTokenGraph(): Promise {\r\n return await AuthService.acquireToken(loginRequest);\r\n }\r\n\r\n public static async acquireTokenClient(): Promise {\r\n return await AuthService.acquireToken(clientScope);\r\n }\r\n\r\n public static async acquireTokenEpdpApi(): Promise {\r\n return await AuthService.acquireToken(epdpApiScope);\r\n }\r\n\r\n private static async acquireToken(\r\n request: Msal.SilentRequest | Msal.PopupRequest | Msal.RedirectRequest\r\n ): Promise {\r\n return AuthService.msalInstance\r\n .acquireTokenSilent(request)\r\n .then((token) => {\r\n // console.log(\"Token silent\", token);\r\n return token;\r\n })\r\n .catch(async (error) => {\r\n if (error instanceof Msal.InteractionRequiredAuthError) {\r\n return await AuthService.msalInstance.acquireTokenRedirect(request);\r\n }\r\n\r\n // console.log(\"Token silent error\", error.errorCode, { error });\r\n // if (error instanceof Msal.InteractionRequiredAuthError) {\r\n // return AuthService.msalInstance\r\n // .acquireTokenPopup(request)\r\n // .then((token) => {\r\n // console.log(\"Token popup\", token);\r\n // return token;\r\n // })\r\n // .catch(async (err) => {\r\n // console.log(\"Token popup error\", err.errorCode, { err });\r\n // if (\r\n // err instanceof Msal.InteractionRequiredAuthError ||\r\n // err instanceof Msal.BrowserAuthError\r\n // ) {\r\n // console.log(\"Call Redirect\");\r\n // return await AuthService.msalInstance.acquireTokenRedirect(\r\n // request\r\n // );\r\n // }\r\n // });\r\n // }\r\n });\r\n }\r\n\r\n public static async logout(): Promise<\r\n Msal.EndSessionPopupRequest | Msal.EndSessionRequest | void\r\n > {\r\n // return await AuthService.msalInstance.logoutRedirect();\r\n\r\n return await AuthService.msalInstance.logoutPopup().catch(async (error) => {\r\n if (\r\n error instanceof Msal.InteractionRequiredAuthError ||\r\n error instanceof Msal.BrowserAuthError\r\n ) {\r\n return await AuthService.msalInstance.logoutRedirect();\r\n }\r\n });\r\n }\r\n\r\n public static getAccounts(): Msal.AccountInfo[] {\r\n return AuthService.msalInstance.getAllAccounts();\r\n }\r\n\r\n public static getAccount(): Msal.AccountInfo | null {\r\n return AuthService.msalInstance.getActiveAccount();\r\n }\r\n\r\n public static getMsal(): Msal.PublicClientApplication {\r\n return AuthService.msalInstance;\r\n }\r\n\r\n public static getUser(): Observable<{ user: UserHeader }> {\r\n return window.axios.get(`/auth`).pipe(mapToData());\r\n }\r\n}\r\n","export default class Owner {\r\n email = \"\";\r\n name = \"\";\r\n businessUnitGroup? = \"\";\r\n businessUnit? = \"\";\r\n subBusinessUnit? = \"\";\r\n departmentGroup? = \"\";\r\n}\r\n","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf755\",\n\t\"./tlh.js\": \"cf755\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('form',[_c('div',{staticClass:\"form-group d-flex justify-content-center align-items-center\"},[_c('label',{staticClass:\"mb-0 mr-2\",attrs:{\"for\":\"select-year\"}},[_vm._v(\"Choose Year: \")]),_c('div',{staticClass:\"select-year\",attrs:{\"id\":\"select-year\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.year),expression:\"year\"}],staticClass:\"form-control\",on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.year=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l(([0, 1, 2, 3, 4]),function(index){return _c('option',{key:index,domProps:{\"value\":_vm.currentYear - index}},[_vm._v(\" \"+_vm._s(_vm.currentYear - index)+\" \")])}),0)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { count } from \"rxjs/operators\";\r\nimport Vue from \"vue\";\r\nimport { Component, Emit } from \"vue-property-decorator\";\r\n\r\n@Component\r\nexport default class FilterYear extends Vue {\r\n get currentYear(): number {\r\n return this.$store.state.Common.currentYear;\r\n }\r\n get year(): number {\r\n return this.$store.state.Common.year;\r\n }\r\n\r\n set year(year: number) {\r\n this.$store.commit(\"Common/setYear\", year);\r\n this.$router.push({\r\n path: this.$route.path,\r\n query: { year: year.toString() },\r\n });\r\n this.changeYear();\r\n }\r\n\r\n public mounted(): void {\r\n const year = this.$route.query[\"year\"];\r\n // console.log(\"year\", year);\r\n if (year) {\r\n this.$store.state.Common.year = this.$route.query[\"year\"];\r\n } else {\r\n this.$router.push({\r\n path: this.$route.path,\r\n query: { year: this.$store.state.Common.year },\r\n });\r\n }\r\n }\r\n\r\n @Emit(\"changeYear\")\r\n public changeYear(): null {\r\n return null;\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/eslint-loader/index.js??ref--14-0!./filter-year.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/eslint-loader/index.js??ref--14-0!./filter-year.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./filter-year.vue?vue&type=template&id=caa2bfc0&\"\nimport script from \"./filter-year.ts?vue&type=script&lang=js&\"\nexport * from \"./filter-year.ts?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export class HttpUtil {\r\n public static queryParamsExtractor(obj: any): any {\r\n const data: any = {};\r\n for (const key in obj) {\r\n if (undefined !== obj[key] && null !== obj[key]) {\r\n if (Array.isArray(obj[key])) {\r\n data[`${key}[]`] = [];\r\n obj[key].forEach((item: any) => {\r\n data[`${key}[]`].push(item);\r\n });\r\n } else if (typeof obj[key] === \"object\") {\r\n for (const objKey in obj[key]) {\r\n data[`${key}[${objKey}]`] = obj[key][objKey];\r\n }\r\n } else {\r\n data[key] = obj[key];\r\n }\r\n }\r\n }\r\n return this.requestToSnake(data);\r\n }\r\n\r\n public static requestToSnake(data: any): any {\r\n if (data instanceof FormData) {\r\n const arr: any[] = Array.from((data).entries());\r\n\r\n return arr.reduce((acc, [key, val]) => {\r\n const newKey = key.replace(\r\n /([A-Z])/g,\r\n (m: string) => \"_\" + m.toLowerCase()\r\n );\r\n if (val) {\r\n if (val instanceof File) {\r\n acc.append(newKey, val, val.name);\r\n } else {\r\n acc.append(newKey, val);\r\n }\r\n }\r\n\r\n return acc;\r\n }, new FormData());\r\n }\r\n if (\r\n data instanceof Date ||\r\n data instanceof Boolean ||\r\n data instanceof String\r\n ) {\r\n return data;\r\n }\r\n if (data instanceof Array) {\r\n return data.map((item: any) => this.requestToSnake(item));\r\n }\r\n\r\n if (null !== data && \"object\" === typeof data) {\r\n const transformed: any = {};\r\n Object.keys(data).forEach((key: any) => {\r\n let transformedKey = key;\r\n let transformedItem = data[key];\r\n\r\n if (\"string\" === typeof transformedKey) {\r\n transformedKey = transformedKey.replace(\r\n /([A-Z])/g,\r\n (m: string) => \"_\" + m.toLowerCase()\r\n );\r\n }\r\n\r\n if (\"object\" === typeof transformedItem) {\r\n transformedItem = this.requestToSnake(transformedItem);\r\n }\r\n\r\n transformed[transformedKey] = transformedItem;\r\n });\r\n\r\n return transformed;\r\n }\r\n\r\n return data;\r\n }\r\n\r\n public static errorExtractor(err: any): string {\r\n let message: any = \"\";\r\n\r\n if (err.error && err.message) {\r\n if (err.error instanceof ProgressEvent) {\r\n message = err.message;\r\n } else {\r\n message = err.error.message;\r\n }\r\n }\r\n\r\n return message;\r\n }\r\n\r\n public static payloadToFormData(payload: any): FormData {\r\n const formData = new FormData();\r\n\r\n for (const key in payload) {\r\n if (payload?.[key]) {\r\n formData.append(key, payload[key]);\r\n }\r\n }\r\n\r\n return formData;\r\n }\r\n\r\n public static objectToFormData(\r\n formData: FormData,\r\n key: string,\r\n payload: any\r\n ): FormData {\r\n const keys = Object.keys(payload);\r\n keys.forEach((item) => {\r\n formData.append(`${key}[${item}]`, payload[item]);\r\n });\r\n\r\n return formData;\r\n }\r\n}\r\n","import { UUIDModel } from \"@/models/uuid-model\";\r\nimport { UUID } from \"@/models/uuid\";\r\nimport Proposal from \"@/models/proposal\";\r\n\r\nexport default class CommentHeader extends UUIDModel {\r\n public id: UUID = new UUID();\r\n public juryEmail = \"\";\r\n public juryName = \"\";\r\n public sectionId = 0;\r\n public comment = \"\";\r\n\r\n public proposalId: UUID = new UUID();\r\n public proposal: Proposal = new Proposal();\r\n}\r\n","import { Observable } from \"rxjs\";\r\nimport Proposal from \"@/models/proposal\";\r\nimport { Collection } from \"@/models/collection\";\r\nimport {\r\n mapToArrayClass,\r\n mapToArrayCollection,\r\n mapToCollection,\r\n mapToData,\r\n mapToPagination,\r\n} from \"@/client/transformers\";\r\nimport { HttpUtil } from \"@/client/http.util\";\r\nimport CommentHeader from \"@/models/comment-header\";\r\nimport { Paginate } from \"@/models/paginate\";\r\nimport { AxiosObservable } from \"axios-observable/dist/axios-observable.interface\";\r\n\r\nexport class ProposalService {\r\n public static getProposals(\r\n params: any = null\r\n ): Observable>>> {\r\n return window.axios.get(`/proposal`, { params }).pipe(mapToPagination());\r\n }\r\n\r\n public static getProposal(\r\n proposalId: string,\r\n simple?: boolean\r\n ): Observable> {\r\n return window.axios\r\n .get(`/proposal/${proposalId}`, {\r\n params: {\r\n simple: simple,\r\n },\r\n })\r\n .pipe(mapToData(), mapToCollection());\r\n }\r\n\r\n public static postProposal(params: any): Observable {\r\n // const team = JSON.stringify(params.team);\r\n // const topics = JSON.stringify(params.topics);\r\n return window.axios.post(\r\n `/proposal`,\r\n params\r\n // HttpUtil.payloadToFormData({ ...params, team, topics })\r\n );\r\n }\r\n\r\n public static updateProposal(params: any): Observable {\r\n return window.axios.put(\r\n `/proposal`,\r\n params\r\n // HttpUtil.payloadToFormData(params)\r\n );\r\n }\r\n\r\n public static updateStatusProposal(params: any): Observable {\r\n return window.axios.put(`/proposal/status`, params);\r\n }\r\n\r\n public static updateStatusProposalBatch(params: any): Observable {\r\n return window.axios.put(`/proposal/statusBatch`, params);\r\n }\r\n\r\n public static deleteProposal(proposalId: string): Observable {\r\n return window.axios.delete(`/proposal/${proposalId}`);\r\n }\r\n\r\n public static updateOrder(params: any): Observable> {\r\n return window.axios\r\n .put(`/proposal/updateorder`, null, { params })\r\n .pipe(mapToData(), mapToCollection());\r\n }\r\n\r\n public static addJudge(params: any): Observable> {\r\n return window.axios\r\n .post(`/proposal/addjudge`, null, { params })\r\n .pipe(mapToData(), mapToCollection());\r\n }\r\n\r\n public static deleteJudge(params: any): Observable> {\r\n return window.axios\r\n .delete(`/proposal/deletejudge`, { params })\r\n .pipe(mapToData(), mapToCollection());\r\n }\r\n\r\n public static addProcessOwner(\r\n proposalId: string,\r\n email: string\r\n ): AxiosObservable {\r\n return window.axios.post(\r\n `/proposal/ProcessOwner/${proposalId}?email=${email}`\r\n );\r\n }\r\n\r\n public static finalizeJuryDetail(params: any): AxiosObservable {\r\n return window.axios.put(`/proposal/proposaljurydetail/finalize`, null, {\r\n params,\r\n });\r\n }\r\n\r\n public static getJudgeProposals(\r\n params?: any,\r\n options: any = {}\r\n ): Observable>> {\r\n Object.assign(options, { params });\r\n return window.axios\r\n .get(`/judge/proposals`, options)\r\n .pipe(mapToData(), mapToArrayCollection());\r\n }\r\n\r\n public static getParticipantProposals(): Observable<\r\n Array>\r\n > {\r\n return window.axios\r\n .get(`/proposal/groupbyphase`)\r\n .pipe(mapToData(), mapToArrayCollection());\r\n }\r\n\r\n public static setProposalApproval(params?: any): Observable {\r\n return window.axios.put(`/proposal/approval`, params);\r\n }\r\n\r\n public static isAllowToSubmit(): Observable {\r\n return window.axios.get(`/proposal/isallowtosubmit`).pipe(mapToData());\r\n }\r\n\r\n public static saveProposalSummary(params?: any): Observable {\r\n return window.axios.put(`/proposal/entryproposal/projectsummary`, params);\r\n }\r\n\r\n public static saveProposalBody(params?: any): Observable {\r\n return window.axios.put(`/proposal/entryproposal/bodyproposal`, params);\r\n }\r\n\r\n public static createProposalLiterature(params?: any): Observable {\r\n return window.axios.post(`/proposal/entryproposal/chapter2`, params);\r\n }\r\n\r\n public static updateProposalLiterature(params?: any): Observable {\r\n return window.axios.put(`/proposal/entryproposal/chapter2`, params);\r\n }\r\n\r\n public static deleteProposalLiterature(params?: any): Observable {\r\n return window.axios.delete(`/proposal/entryproposal/chapter2`, { params });\r\n }\r\n\r\n public static saveProposalImplementation(params?: any): Observable {\r\n return window.axios.put(`/proposal/entryproposal/chapter3`, params);\r\n }\r\n\r\n public static createProposalReference(params?: any): Observable {\r\n return window.axios.post(`/proposal/entryproposal/reference`, params);\r\n }\r\n\r\n public static updateProposalReference(params?: any): Observable {\r\n return window.axios.put(`/proposal/entryproposal/reference`, params);\r\n }\r\n\r\n public static deleteProposalReference(params?: any): Observable {\r\n return window.axios.delete(`/proposal/entryproposal/reference`, { params });\r\n }\r\n\r\n public static createProposalAppendix(params?: any): Observable {\r\n return window.axios.post(`/proposal/entryproposal/appendix`, params);\r\n }\r\n\r\n public static updateProposalAppendix(params?: any): Observable {\r\n return window.axios.put(`/proposal/entryproposal/appendix`, params);\r\n }\r\n\r\n public static deleteProposalAppendix(params?: any): Observable {\r\n return window.axios.delete(`/proposal/entryproposal/appendix`, { params });\r\n }\r\n\r\n public static finalizeProposal(params?: any): Observable {\r\n return window.axios.post(`/proposal/entryproposal/finalize`, params);\r\n }\r\n\r\n public static savePoster(params?: any): Observable {\r\n return window.axios.post(\r\n `/proposal/entryproposal/poster`,\r\n HttpUtil.payloadToFormData(params)\r\n );\r\n }\r\n\r\n public static getProposalComments(params?: any): Observable {\r\n return window.axios\r\n .get(`/proposal/comments`, { params })\r\n .pipe(mapToData(), mapToArrayClass(CommentHeader));\r\n }\r\n\r\n public static postProposalComment(params?: any): Observable {\r\n return window.axios.post(`/proposal/comments`, params);\r\n }\r\n\r\n public static putProposalComment(params?: any): Observable {\r\n return window.axios.put(`/proposal/comments`, params);\r\n }\r\n\r\n public static deleteProposalComment(commentId: string): Observable {\r\n return window.axios.delete(`/proposal/comments/${commentId}`);\r\n }\r\n\r\n public static saveTop15(params?: any): Observable {\r\n return window.axios.post(`/proposal/savetop15`, params);\r\n }\r\n\r\n public static saveTop3(params?: any): Observable {\r\n return window.axios.post(`/proposal/savetop3`, params);\r\n }\r\n\r\n public static sendEmailReminderToFinalize(params?: any): Observable {\r\n return window.axios.post(`/proposal/SendEmailReminderToFinalize`, params);\r\n }\r\n\r\n public static sendEmailReminderToApproval(params?: any): Observable {\r\n return window.axios.post(`/proposal/SendEmailReminderToApproval`, params);\r\n }\r\n\r\n public static getBudgetProposal(proposalId: string): Observable {\r\n return window.axios.get(`/proposal/${proposalId}/Budget`);\r\n }\r\n\r\n public static getProposalTimeline(proposalId: string): Observable {\r\n return window.axios.get(`Proposal/${proposalId}/Timeline`);\r\n }\r\n public static getMonthlyEvaluationByProposal(\r\n proposalId: string\r\n ): Observable {\r\n return window.axios.get(`Proposal/${proposalId}/MonthlyEvaluation`);\r\n }\r\n public static getProposalYears(): Observable {\r\n return window.axios.get(`proposal/Years`);\r\n }\r\n\r\n public static getMultiyear(proposalId: string): Observable {\r\n return window.axios.get(`/proposalhistory/${proposalId}`);\r\n }\r\n}\r\n","import { UnaryFunction } from \"rxjs/interfaces\";\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport { pipe } from \"rxjs/util/pipe\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { plainToClass } from \"class-transformer\";\r\nimport { Collection } from \"@/models/collection\";\r\n\r\nexport function mapToArrayClass(type: {\r\n new (): T;\r\n}): UnaryFunction, Observable> {\r\n return pipe(\r\n map((data) => {\r\n if (Array.isArray(data)) {\r\n return data.map((item) => plainToClass(type, item));\r\n }\r\n\r\n throw new Error(\"The data is not an array\");\r\n })\r\n );\r\n}\r\n\r\nexport function mapToArrayCollection(): UnaryFunction<\r\n Observable,\r\n Observable>>\r\n> {\r\n return pipe(\r\n map((data) => {\r\n const collectionType = null as unknown as { new (): Collection };\r\n\r\n if (Array.isArray(data)) {\r\n return plainToClass(collectionType, data);\r\n }\r\n\r\n throw new Error(\"The data is not an array\");\r\n })\r\n );\r\n}\r\n\r\nexport function mapToClass(type: {\r\n new (): T;\r\n}): UnaryFunction, Observable> {\r\n return pipe(\r\n map((data) => {\r\n if (!Array.isArray(data)) {\r\n return plainToClass(type, data);\r\n }\r\n\r\n throw new Error(\"The data is an array\");\r\n })\r\n );\r\n}\r\n\r\nexport function mapToCollection(): UnaryFunction<\r\n Observable,\r\n Observable>\r\n> {\r\n return pipe(\r\n map((data) => {\r\n const collectionType = null as unknown as { new (): Collection };\r\n\r\n if (!Array.isArray(data)) {\r\n return plainToClass(collectionType, data);\r\n }\r\n\r\n throw new Error(\"The data is an array\");\r\n })\r\n );\r\n}\r\n\r\nexport function mapToData(): UnaryFunction<\r\n Observable,\r\n Observable\r\n> {\r\n return pipe(\r\n map((res: { data: T }) => {\r\n if (res.data) {\r\n return res.data;\r\n }\r\n\r\n throw new Error(\"There are no body to be transformed\");\r\n })\r\n );\r\n}\r\n\r\nexport function mapToPagination(): UnaryFunction<\r\n Observable,\r\n Observable<{ data: T; pagination: any }>\r\n> {\r\n return pipe(\r\n map((res: { data: T; headers: Record }) => {\r\n const ret = {\r\n data: {} as T,\r\n pagination: {},\r\n };\r\n\r\n if (res.data) {\r\n ret.data = res.data;\r\n }\r\n console.log(res.headers);\r\n console.log(res.headers[\"x-pagination-current-page\"]);\r\n\r\n if (res.headers) {\r\n ret.pagination = {\r\n current_page: +res.headers[\"x-pagination-current-page\"],\r\n total_page: +res.headers[\"x-pagination-page-count\"],\r\n per_page: +res.headers[\"x-pagination-per-page\"],\r\n total_count: +res.headers[\"x-pagination-total-count\"],\r\n approved: +res.headers[\"x-total-approve\"],\r\n finalized: +res.headers[\"x-total-finalize\"],\r\n proposal: +res.headers[\"x-total-proposal\"],\r\n };\r\n }\r\n\r\n return ret;\r\n })\r\n );\r\n}\r\n\r\nexport function filterObject(object: T): T {\r\n const obj = {} as Record;\r\n Object.assign(obj, object);\r\n\r\n for (const key in obj) {\r\n if (key in obj && obj[key] === \"\") {\r\n delete obj[key];\r\n }\r\n }\r\n\r\n return obj as T;\r\n}\r\n","import { UUIDModel } from \"@/models/uuid-model\";\r\n\r\nexport default class UserHeader extends UUIDModel {\r\n public binusianId = \"\";\r\n public email = \"\";\r\n public name = \"\";\r\n public position = \"\";\r\n public businessUnitGroup = \"\";\r\n public businessUnit = \"\";\r\n public subBusinessUnit = \"\";\r\n public departmentGroup = \"\";\r\n public department = \"\";\r\n public extension = \"\";\r\n public handphone = \"\";\r\n public jobBand = \"\";\r\n public leadId = \"\";\r\n public role = 3;\r\n public roleName = \"\";\r\n\r\n public lead?: UserHeader;\r\n public inverseLead: UserHeader[] = [];\r\n}\r\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',[_c('div',{staticClass:\"header\"},[_c('b-container',[_c('h3',{staticClass:\"page-title\"},[_vm._v(\"Initiative Project Proposal\")]),(_vm.periodManagements)?_c('div',{staticClass:\"page-description\"},[(_vm.currentPeriod > -1)?[_c('h6',[_vm._v(\" \"+_vm._s(_vm.phases[_vm.currentPeriod])+\" \")]),_c('h6',[(\n _vm.periodManagements[_vm.currentPeriod] &&\n _vm.periodManagements[_vm.currentPeriod].startAt\n )?[_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(_vm.periodManagements[_vm.currentPeriod].startAt,\"DD MMM YYYY HH:mm\"))+\" \")]:_vm._e(),_vm._v(\" until \"),(\n _vm.periodManagements[_vm.currentPeriod] &&\n _vm.periodManagements[_vm.currentPeriod].endAt\n )?[_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(_vm.periodManagements[_vm.currentPeriod].endAt,\"DD MMM YYYY HH:mm\"))+\" \")]:_vm._e()],2)]:[_vm._v(\" Registration for this year has not started yet. \")]],2):_vm._e(),(_vm.currentPeriod === 1 && _vm.countDown !== '')?_c('div',[_c('h2',{staticStyle:{\"text-align\":\"center\"}},[_vm._v(_vm._s(_vm.countDown))])]):_vm._e()])],1),(_vm.currentPeriod > -1 && _vm.periodManagements)?_c('div',{staticClass:\"content\"},[_c('b-container',[_c('div',{staticClass:\"text-right\"},[_c('b-button',{staticClass:\"mb-2\",attrs:{\"size\":\"sm\",\"variant\":\"primary\",\"to\":_vm.$route.fullPath.startsWith('/jury')\n ? '/jury/mypreviousproposal'\n : '/participant/mypreviousproposal'}},[_vm._v(\" My Previous Proposals \")])],1),_c('b-table',{attrs:{\"fields\":_vm.fields,\"items\":_vm.proposals},scopedSlots:_vm._u([{key:\"cell(proposalTitle)\",fn:function({ item, value }){return [_c('b-link',{attrs:{\"to\":`/participant/proposal/${\n (item.phase1 && item.phase1.id) ||\n (item.phase2 && item.phase2.id) ||\n null\n }`}},[_vm._v(\" \"+_vm._s(value)+\" \")])]}},{key:\"cell(action)\",fn:function({ item }){return [(item.phase1)?[_c('b-link',{attrs:{\"to\":`/participant/proposal/1/${item.phase1.id}/${\n item.isPhase1CanEntry ? 'entry' : 'view'\n }`}},[_vm._v(\" \"+_vm._s(item.isPhase1CanEntry ? \"Entry\" : \"View\")+\" \")])]:[_vm._v(\"-\")]]}}],null,false,3231833277)}),(_vm.isAllowToSubmit && !_vm.isLock)?_c('div',{staticClass:\"d-flex justify-content-center pt-5\"},[_c('b-button',{attrs:{\"to\":\"/participant/proposal/create\",\"size\":\"lg\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Create Proposal\")])])],1):_vm._e()],1),_vm._m(0)],1):_vm._e()])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"text-center mt-5\"},[_c('p',[_vm._v(\"One person can participate in maximum 3 proposals.\")])])\n}]\n\nexport { render, staticRenderFns }","\r\nimport config from \"@/client/config\";\r\nimport FilterYear from \"@/components/common/filter-year/filter-year.vue\";\r\nimport loading from \"@/components/common/loading/loading.vue\";\r\nimport { Collection } from \"@/models/collection\";\r\nimport PeriodManagement from \"@/models/period-management\";\r\nimport Proposal from \"@/models/proposal\";\r\nimport { ProposalData } from \"@/store/modules/proposal.store\";\r\nimport ParticipantTemplate from \"@/templates/participant/participant.template\";\r\nimport { combineLatest } from \"rxjs\";\r\nimport { tap } from \"rxjs/operators\";\r\nimport Vue from \"vue\";\r\nimport { Component } from \"vue-property-decorator\";\r\n\r\n@Component({\r\n components: {\r\n FilterYear,\r\n loading,\r\n },\r\n})\r\nexport default class ParticipantIndex extends Vue {\r\n public periodManagements: PeriodManagement[] = [];\r\n public countDown = \"\";\r\n\r\n fields = [\r\n \"teamName\",\r\n { key: \"proposalTitle\", label: \"Project Title\" },\r\n \"status\",\r\n { key: \"roles\", formatter: (value: string[]): string => value.join(\", \") },\r\n \"action\",\r\n ];\r\n private load: {\r\n checkAllow: boolean;\r\n proposal: boolean;\r\n periodManagement: boolean;\r\n } = { checkAllow: false, proposal: false, periodManagement: false };\r\n\r\n public get currentPeriod(): number {\r\n return this.$store.state.PeriodManagementStore.currentPeriod;\r\n }\r\n\r\n public getPeriodManagements(): void {\r\n console.log(this.$store.state.PeriodManagementStore.periodManagements)\r\n this.periodManagements =\r\n this.$store.state.PeriodManagementStore.periodManagements;\r\n }\r\n\r\n public get phases(): string[] {\r\n return this.$store.state.Common.phases;\r\n }\r\n\r\n public get isAllowToSubmit(): boolean {\r\n // maximum 3 proposals\r\n // if (\r\n // this.$store.state.ProposalStore.proposals &&\r\n // this.$store.state.ProposalStore.proposals.filter(\r\n // (p: any) => p.roles.includes(\"Leader\") || p.roles.includes(\"Member\")\r\n // ).length >= 3\r\n // ) {\r\n // return false;\r\n // }\r\n return (\r\n (this.$store.state.ProposalStore as ProposalData).isAllowToSubmit\r\n ?.isAllowToSubmit ?? false\r\n );\r\n }\r\n\r\n public get proposals(): Array> {\r\n return this.$store.state.ProposalStore.proposals;\r\n }\r\n\r\n public get parent(): ParticipantTemplate {\r\n return this.$parent as ParticipantTemplate;\r\n }\r\n\r\n public async mounted(): Promise {\r\n this.getPeriodManagementsByYear();\r\n this.getProposals();\r\n this.checkAllowToSubmit();\r\n this.countingDown();\r\n }\r\n\r\n public countingDown(): void {\r\n const intervalCountDown = setInterval(() => {\r\n if (\r\n this.periodManagements.length === 0 ||\r\n this.periodManagements[this.currentPeriod] === undefined\r\n ) {\r\n return;\r\n }\r\n if ([1, 3, 4].indexOf(this.currentPeriod) > -1) {\r\n clearInterval(intervalCountDown);\r\n return;\r\n }\r\n const duration = this.$moment.duration(\r\n Date.parse(this.periodManagements[this.currentPeriod].endAt) -\r\n Date.now()\r\n );\r\n if (duration.seconds() < 0) {\r\n this.countDown = \"\";\r\n clearInterval(intervalCountDown);\r\n return;\r\n }\r\n this.countDown = `${\r\n duration.days() > 0\r\n ? duration.days() + \" day\" + (duration.days() > 1 ? \"s\" : \"\") + \" \"\r\n : \"\"\r\n }${duration.hours().toString().padStart(2, \"0\")}:${duration\r\n .minutes()\r\n .toString()\r\n .padStart(2, \"0\")}:${duration.seconds().toString().padStart(2, \"0\")}`;\r\n }, 1000);\r\n }\r\n\r\n public async getData(): Promise {\r\n const year = this.$store.state.Common.currentYear;\r\n const data = await Promise.all([\r\n this.$store.dispatch(\"ProposalStore/checkAllowToSubmit\"),\r\n this.$store.dispatch(\"ProposalStore/getParticipantProposals\"),\r\n this.$store.dispatch(\"PeriodManagementStore/getPeriodManagementsByYear\", {\r\n year,\r\n }),\r\n ]);\r\n combineLatest(data)\r\n .pipe(\r\n tap(() => {\r\n this.getPeriodManagements();\r\n this.parent.pageLoading = false;\r\n })\r\n )\r\n .subscribe();\r\n }\r\n\r\n public checkLoading(): void {\r\n if (\r\n this.load.checkAllow &&\r\n this.load.periodManagement &&\r\n this.load.proposal\r\n ) {\r\n this.parent.pageLoading = false;\r\n } else if (this.parent.pageLoading === false) {\r\n this.parent.pageLoading = true;\r\n }\r\n }\r\n\r\n public checkAllowToSubmit(): void {\r\n this.load.checkAllow = false;\r\n this.parent.pageLoading = true;\r\n this.$store.dispatch(\"ProposalStore/checkAllowToSubmit\").then((res) =>\r\n res\r\n .pipe(\r\n tap(() => {\r\n this.load.checkAllow = true;\r\n this.checkLoading();\r\n })\r\n )\r\n .subscribe()\r\n );\r\n }\r\n\r\n public getProposals(): void {\r\n this.load.proposal = false;\r\n this.parent.pageLoading = true;\r\n this.$store.dispatch(\"ProposalStore/getParticipantProposals\").then((res) =>\r\n res\r\n .pipe(\r\n tap(() => {\r\n this.load.proposal = true;\r\n this.checkLoading();\r\n })\r\n )\r\n .subscribe()\r\n );\r\n }\r\n\r\n public getPeriodManagementsByYear(): void {\r\n this.load.periodManagement = false;\r\n this.parent.pageLoading = true;\r\n const year = this.$store.state.Common.currentYear;\r\n this.$store\r\n .dispatch(\"PeriodManagementStore/getPeriodManagementsByYear\", { year })\r\n .then((res) =>\r\n res\r\n .pipe(\r\n tap(() => {\r\n this.getPeriodManagements();\r\n this.load.periodManagement = true;\r\n this.checkLoading();\r\n })\r\n )\r\n .subscribe()\r\n );\r\n }\r\n public isLock: boolean = config.disableSomeComponents;\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./participant-index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./participant-index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./participant-index.vue?vue&type=template&id=6366673b&\"\nimport script from \"./participant-index.vue?vue&type=script&lang=ts&\"\nexport * from \"./participant-index.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import * as uuidLib from \"uuid\";\r\n\r\nexport class UUID extends String {\r\n public constructor() {\r\n super();\r\n return new String(uuidLib.v4());\r\n }\r\n}\r\n","import { from, Observable } from \"rxjs\";\r\nimport { mapToArrayClass, mapToClass, mapToData } from \"@/client/transformers\";\r\nimport UserHeader from \"@/models/user-header\";\r\nimport { map, tap } from \"rxjs/operators\";\r\nimport { AxiosObservable } from \"axios-observable\";\r\n\r\nexport class JudgeService {\r\n public static getJudges(): Observable {\r\n return window.axios\r\n .get(`/judge`)\r\n .pipe(mapToData(), mapToArrayClass(UserHeader));\r\n }\r\n\r\n public static getJudge(binusianId: string): Observable {\r\n return window.axios\r\n .get(`/judge/${binusianId}`)\r\n .pipe(mapToData(), mapToClass(UserHeader));\r\n }\r\n\r\n public static generateJudge(): AxiosObservable {\r\n return window.axios.post(`/Proposal/GenerateJudge`);\r\n }\r\n}\r\n","import { UUIDModel } from \"@/models/uuid-model\";\r\nimport { UUID } from \"@/models/uuid\";\r\nimport Proposal from \"@/models/proposal\";\r\nimport TeamDetail from \"@/models/team-detail\";\r\n\r\nexport default class TeamHeader extends UUIDModel {\r\n public id: UUID = new UUID();\r\n public name = \"\";\r\n public createdAt = \"\";\r\n public photo = \"\";\r\n\r\n public proposal: Proposal[] = [];\r\n public teamDetail: TeamDetail[] = [];\r\n}\r\n","export abstract class UUIDModel {\r\n public constructor(data?: Partial) {\r\n Object.assign(this, data);\r\n }\r\n}\r\n","import Vue from \"vue\";\r\n\r\nimport { BootstrapVue, IconsPlugin } from \"bootstrap-vue\";\r\n// import {\r\n// TooltipPlugin,\r\n// ModalPlugin,\r\n// ToastPlugin,\r\n// CardPlugin,\r\n// CollapsePlugin,\r\n// ButtonPlugin,\r\n// ButtonGroupPlugin,\r\n// FormDatepickerPlugin,\r\n// FormSelectPlugin,\r\n// FormPlugin,\r\n// FormGroupPlugin,\r\n// FormInputPlugin,\r\n// FormTextareaPlugin,\r\n// FormFilePlugin,\r\n// FormCheckboxPlugin,\r\n// FormRadioPlugin,\r\n// InputGroupPlugin,\r\n// TablePlugin,\r\n// LayoutPlugin,\r\n// IconsPlugin,\r\n// ProgressPlugin,\r\n// ListGroupPlugin,\r\n// EmbedPlugin,\r\n// PaginationPlugin,\r\n// PopoverPlugin,\r\n// LinkPlugin,\r\n// AlertPlugin,\r\n// } from \"bootstrap-vue\";\r\nimport \"bootstrap/dist/js/bootstrap.min.js\";\r\n// import \"bootstrap/dist/css/bootstrap.min.css\";\r\n// import \"bootstrap-vue/dist/bootstrap-vue.css\";\r\n\r\n// Vue.use(ModalPlugin);\r\n// Vue.use(ToastPlugin);\r\n// Vue.use(TooltipPlugin);\r\n// Vue.use(CardPlugin);\r\n// Vue.use(CollapsePlugin);\r\n// Vue.use(ButtonPlugin);\r\n// Vue.use(ButtonGroupPlugin);\r\n// Vue.use(FormPlugin);\r\n// Vue.use(FormGroupPlugin);\r\n// Vue.use(FormInputPlugin);\r\n// Vue.use(FormTextareaPlugin);\r\n// Vue.use(FormSelectPlugin);\r\n// Vue.use(FormDatepickerPlugin);\r\n// Vue.use(FormFilePlugin);\r\n// Vue.use(FormCheckboxPlugin);\r\n// Vue.use(FormRadioPlugin);\r\n// Vue.use(InputGroupPlugin);\r\n// Vue.use(TablePlugin);\r\n// Vue.use(LayoutPlugin);\r\n// Vue.use(ProgressPlugin);\r\n// Vue.use(ListGroupPlugin);\r\n// Vue.use(EmbedPlugin);\r\n// Vue.use(PaginationPlugin);\r\n// Vue.use(PopoverPlugin);\r\n// Vue.use(LinkPlugin);\r\n// Vue.use(AlertPlugin);\r\nVue.use(BootstrapVue, {\r\n BTable: {\r\n outlined: true,\r\n small: true,\r\n showEmpty: true,\r\n striped: true,\r\n },\r\n BButton: {\r\n variant: \"primary\",\r\n },\r\n});\r\nVue.use(IconsPlugin);\r\n","import { Collection } from \"@/models/collection\";\r\nimport Proposal from \"@/models/proposal\";\r\nimport { ProposalService } from \"@/services/proposal.service\";\r\nimport { tap } from \"rxjs/operators\";\r\nimport CommentHeader from \"@/models/comment-header\";\r\nimport { Paginate } from \"@/models/paginate\";\r\nimport { Observable } from \"rxjs-compat\";\r\nimport { ActionContext, Module } from \"vuex\";\r\nimport { StoreData } from \"@/store\";\r\n\r\nexport interface ProposalData {\r\n proposals: Paginate>> | null;\r\n proposal: Collection | null;\r\n isAllowToSubmit: {\r\n isAllowToSubmit: boolean;\r\n message: string;\r\n } | null;\r\n mainComments: CommentHeader[];\r\n comments: CommentHeader[];\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state: (): ProposalData => ({\r\n proposals: null,\r\n proposal: null,\r\n isAllowToSubmit: null,\r\n mainComments: [],\r\n comments: [],\r\n }),\r\n actions: {\r\n getProposals: (\r\n context: ActionContext,\r\n params: any\r\n ): any => {\r\n // context.state.proposal = null;\r\n return ProposalService.getProposals(params).pipe(\r\n tap((proposals: Paginate>>): any => {\r\n context.commit(\"setProposals\", proposals);\r\n })\r\n );\r\n },\r\n\r\n getProposal: (\r\n context: ActionContext,\r\n proposalId: string\r\n ): any => {\r\n // context.state.proposal = null;\r\n return ProposalService.getProposal(proposalId).pipe(\r\n tap((proposal: Collection): void => {\r\n context.commit(\"setProposal\", proposal);\r\n })\r\n );\r\n },\r\n\r\n postProposal: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.postProposal(params);\r\n },\r\n\r\n updateProposal: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.updateProposal(params);\r\n },\r\n\r\n updateStatusProposal: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.updateStatusProposal(params);\r\n },\r\n\r\n updateStatusProposalBatch: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.updateStatusProposalBatch(params);\r\n },\r\n\r\n deleteProposal: (\r\n _context: ActionContext,\r\n proposalId: string\r\n ): any => {\r\n return ProposalService.deleteProposal(proposalId);\r\n },\r\n\r\n updateOrder: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.updateOrder(params);\r\n },\r\n\r\n setProposalApproval: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.setProposalApproval(params);\r\n },\r\n\r\n addJudge: (\r\n _context: ActionContext,\r\n params: any\r\n ): Observable> => {\r\n return ProposalService.addJudge(params);\r\n },\r\n\r\n deleteJudge: (\r\n _context: ActionContext,\r\n params: any\r\n ): Observable> => {\r\n return ProposalService.deleteJudge(params);\r\n },\r\n\r\n finalizeJuryDetail: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.finalizeJuryDetail(params);\r\n },\r\n\r\n getJudgeProposals: (\r\n context: ActionContext,\r\n { params, options }: { params: any; options: any }\r\n ): any => {\r\n return ProposalService.getJudgeProposals(params, options).pipe(\r\n tap((proposals: Array>): any => {\r\n context.commit(\"setProposals\", proposals);\r\n })\r\n );\r\n },\r\n\r\n checkAllowToSubmit: (\r\n context: ActionContext\r\n ): any => {\r\n return ProposalService.isAllowToSubmit().pipe(\r\n tap((isAllowToSubmit): void => {\r\n context.commit(\"setAllowToSubmit\", isAllowToSubmit);\r\n })\r\n );\r\n },\r\n\r\n getParticipantProposals: (\r\n context: ActionContext\r\n ): any => {\r\n return ProposalService.getParticipantProposals().pipe(\r\n tap((proposals: Array>): void => {\r\n context.commit(\"setProposals\", proposals);\r\n })\r\n );\r\n },\r\n\r\n saveProposalSummary: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.saveProposalSummary(params);\r\n },\r\n\r\n saveProposalBody: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.saveProposalBody(params);\r\n },\r\n\r\n createProposalLiterature: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.createProposalLiterature(params);\r\n },\r\n\r\n updateProposalLiterature: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.updateProposalLiterature(params);\r\n },\r\n\r\n deleteProposalLiterature: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.deleteProposalLiterature(params);\r\n },\r\n\r\n saveProposalImplementation: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.saveProposalImplementation(params);\r\n },\r\n\r\n createProposalReference: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.createProposalReference(params);\r\n },\r\n\r\n updateProposalReference: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.updateProposalReference(params);\r\n },\r\n\r\n deleteProposalReference: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.deleteProposalReference(params);\r\n },\r\n\r\n createProposalAppendix: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.createProposalAppendix(params);\r\n },\r\n\r\n updateProposalAppendix: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.updateProposalAppendix(params);\r\n },\r\n\r\n deleteProposalAppendix: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.deleteProposalAppendix(params);\r\n },\r\n\r\n finalizeProposal: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.finalizeProposal(params);\r\n },\r\n\r\n savePoster: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.savePoster(params);\r\n },\r\n\r\n getMainComments: (\r\n context: ActionContext,\r\n params: any\r\n ): any => {\r\n // context.state.mainComments = [];\r\n return ProposalService.getProposalComments(params).pipe(\r\n tap((comments): void => {\r\n context.commit(\"setMainComments\", comments);\r\n })\r\n );\r\n },\r\n\r\n getComments: (\r\n context: ActionContext,\r\n params: any\r\n ): any => {\r\n // context.state.comments = [];\r\n return ProposalService.getProposalComments(params).pipe(\r\n tap((comments): void => {\r\n context.commit(\"setComments\", comments);\r\n })\r\n );\r\n },\r\n\r\n postComment: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.postProposalComment(params);\r\n },\r\n\r\n updateComment: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.putProposalComment(params);\r\n },\r\n\r\n deleteComment: (\r\n _context: ActionContext,\r\n commentId: string\r\n ): any => {\r\n return ProposalService.deleteProposalComment(commentId);\r\n },\r\n\r\n saveTop15: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.saveTop15(params);\r\n },\r\n\r\n saveTop3: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.saveTop3(params);\r\n },\r\n\r\n sendEmailReminderToFinalize: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.sendEmailReminderToFinalize(params);\r\n },\r\n\r\n sendEmailReminderToApproval: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.sendEmailReminderToApproval(params);\r\n },\r\n\r\n getBudgetProposal: (\r\n _context: ActionContext,\r\n proposalId: string\r\n ): any => {\r\n return ProposalService.getBudgetProposal(proposalId);\r\n },\r\n },\r\n mutations: {\r\n setProposals: (\r\n state: ProposalData,\r\n proposals: Paginate>>\r\n ): void => {\r\n state.proposals = proposals;\r\n },\r\n\r\n setProposal: (\r\n state: ProposalData,\r\n proposal: Collection\r\n ): void => {\r\n state.proposal = proposal;\r\n },\r\n\r\n setAllowToSubmit: (state: ProposalData, isAllowToSubmit: any): void => {\r\n state.isAllowToSubmit = isAllowToSubmit;\r\n },\r\n\r\n setMainComments: (state: ProposalData, comments: CommentHeader[]): void => {\r\n state.mainComments = comments;\r\n },\r\n\r\n setComments: (state: ProposalData, comments: CommentHeader[]): void => {\r\n state.comments = comments;\r\n },\r\n },\r\n} as Module;\r\n","import { tap } from \"rxjs/operators\";\r\nimport { PeriodManagementService } from \"@/services/period-management.service\";\r\nimport PeriodManagement from \"@/models/period-management\";\r\nimport { Observable, of } from \"rxjs\";\r\nimport { ActionContext, Module } from \"vuex\";\r\nimport { StoreData } from \"@/store\";\r\n\r\nexport interface PeriodManagementData {\r\n periodManagements: PeriodManagement[];\r\n currentPeriod: number;\r\n year: number;\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state: (): PeriodManagementData => ({\r\n periodManagements: [],\r\n currentPeriod: -1,\r\n year: -1,\r\n }),\r\n actions: {\r\n getPeriodManagements: (\r\n context: ActionContext\r\n ): Observable => {\r\n return PeriodManagementService.getPeriodManagements().pipe(\r\n tap((periodManagements: PeriodManagement[]) => {\r\n const currentPeriod = periodManagements.filter(\r\n (item) => item.isActive\r\n )[0].period;\r\n console.log(\"currentPeriod\", currentPeriod);\r\n //const currentPeriod = periodManagements.findIndex((item) => item.active);\r\n context.commit(\"setCurrentPeriod\", currentPeriod - 1);\r\n context.commit(\"setPeriodManagements\", periodManagements);\r\n })\r\n );\r\n },\r\n\r\n getPeriodManagementsByYear: (\r\n context: ActionContext,\r\n { year, options = {} }: { year: string | number; options: any }\r\n ): Observable => {\r\n if (\r\n context.state.year === year &&\r\n context.state.periodManagements.length > 0\r\n ) {\r\n return of(context.state.periodManagements);\r\n }\r\n return PeriodManagementService.getPeriodManagementsByYear(\r\n year,\r\n options\r\n ).pipe(\r\n tap((periodManagements: PeriodManagement[]) => {\r\n const currentPeriod = periodManagements.filter(\r\n (item) => item.isActive\r\n )[0].period;\r\n // const currentPeriod = periodManagements.findIndex((item) => item.active);\r\n context.commit(\"setCurrentPeriod\", currentPeriod - 1);\r\n context.commit(\"setCurrentYear\", year);\r\n context.commit(\"setPeriodManagements\", periodManagements);\r\n })\r\n );\r\n },\r\n\r\n editTime: (\r\n context: ActionContext,\r\n params: any\r\n ): Observable => {\r\n context.state.year = -1;\r\n return PeriodManagementService.editTime(params);\r\n },\r\n\r\n startPeriod: (\r\n context: ActionContext,\r\n periodId: string\r\n ): Observable => {\r\n context.state.year = -1;\r\n return PeriodManagementService.startPeriod(periodId);\r\n },\r\n\r\n sendEmail: (\r\n context: ActionContext,\r\n periodId: string\r\n ): Observable => {\r\n context.state.year = -1;\r\n return PeriodManagementService.sendEmail(periodId);\r\n },\r\n },\r\n mutations: {\r\n setPeriodManagements: (\r\n state: PeriodManagementData,\r\n periodManagements: PeriodManagement[]\r\n ): void => {\r\n state.periodManagements = periodManagements;\r\n },\r\n\r\n setCurrentPeriod: (\r\n state: PeriodManagementData,\r\n currentPeriod: number\r\n ): void => {\r\n state.currentPeriod = currentPeriod;\r\n },\r\n setCurrentYear: (state: PeriodManagementData, year: number): void => {\r\n state.year = year;\r\n },\r\n },\r\n getters: {\r\n isParticipantPeriod: (state: PeriodManagementData): boolean => {\r\n const period = [0, 2, 4];\r\n return state.currentPeriod !== -1 && period.includes(state.currentPeriod);\r\n },\r\n isJuryPeriod: (state: PeriodManagementData): boolean => {\r\n const period = [1, 3, 5];\r\n return state.currentPeriod !== -1 && period.includes(state.currentPeriod);\r\n },\r\n },\r\n} as Module;\r\n","import { JudgeService } from \"@/services/judge.service\";\r\nimport { tap } from \"rxjs/operators\";\r\nimport UserHeader from \"@/models/user-header\";\r\nimport { ActionContext, Module } from \"vuex\";\r\nimport { Observable } from \"rxjs\";\r\nimport { StoreData } from \"@/store\";\r\n\r\nexport interface JudgeData {\r\n judges: UserHeader[];\r\n judge: UserHeader | null;\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state: (): JudgeData => ({\r\n judges: [],\r\n judge: null,\r\n }),\r\n actions: {\r\n getJudges: (\r\n context: ActionContext\r\n ): Observable => {\r\n return JudgeService.getJudges().pipe(\r\n tap((judges: UserHeader[]) => {\r\n console.log(\"setjudge\", judges);\r\n context.commit(\"setJudges\", judges);\r\n })\r\n );\r\n },\r\n\r\n getJudge: (\r\n context: ActionContext,\r\n binusianId: string\r\n ): Observable => {\r\n return JudgeService.getJudge(binusianId).pipe(\r\n tap((judge: UserHeader) => {\r\n context.commit(\"setJudge\", judge);\r\n })\r\n );\r\n },\r\n },\r\n mutations: {\r\n setJudges: (state: JudgeData, judges: UserHeader[]): void => {\r\n state.judges = judges;\r\n },\r\n\r\n setJudge: (state: JudgeData, judge: UserHeader): void => {\r\n state.judge = judge;\r\n },\r\n },\r\n} as Module;\r\n","import Proposal from \"@/models/proposal\";\r\nimport ScoringDetail from \"@/models/scoring-detail\";\r\nimport { UUIDModel } from \"@/models/uuid-model\";\r\nimport { UUID } from \"@/models/uuid\";\r\n\r\nexport default class JuryDetail extends UUIDModel {\r\n public juryDetailId: UUID = new UUID();\r\n public phase = 0;\r\n public emailJury = \"\";\r\n public approveScore = false;\r\n public approvalCode = \"\";\r\n public approvalDate = \"\";\r\n public assignDate = \"\";\r\n\r\n public proposalId: UUID = new UUID();\r\n public proposal: Proposal = new Proposal();\r\n\r\n public scoringDetail: ScoringDetail[] = [];\r\n}\r\n\r\nexport interface FinalizeScoreEntryParams {\r\n JuryDetailId: string;\r\n ApprovalCode: string;\r\n}\r\n","import { Observable } from \"rxjs\";\r\nimport { mapToArrayClass, mapToClass, mapToData } from \"@/client/transformers\";\r\nimport ScoringDetail from \"@/models/scoring-detail\";\r\nimport JuryDetail, { FinalizeScoreEntryParams } from \"@/models/jury-detail\";\r\nimport { Response } from \"@/models/Response\";\r\nimport { AxiosObservable } from \"axios-observable/dist/axios-observable.interface\";\r\nimport { AxiosRequestConfig } from \"axios\";\r\n\r\nexport class JuryDetailService {\r\n public static getJuryDetail(\r\n params?: any,\r\n options: AxiosRequestConfig = {}\r\n ): Observable {\r\n if (params !== undefined) {\r\n Object.assign(options, { params });\r\n }\r\n return window.axios\r\n .get(`/jurydetail`, options)\r\n .pipe(mapToData(), mapToClass(JuryDetail));\r\n }\r\n\r\n public static getProposalScoringDetails(\r\n proposalId: string\r\n ): Observable[]> {\r\n return window.axios.get(`/proposal/${proposalId}/scoringdetail`).pipe(\r\n mapToData() //, mapToArrayClass(ScoringDetail)\r\n );\r\n }\r\n\r\n public static submitScoringDetails(\r\n params?: any,\r\n options: AxiosRequestConfig = {}\r\n ): AxiosObservable {\r\n return window.axios.put(`/jurydetail/ScoreEntry`, params, options);\r\n }\r\n\r\n public static finalizeScoringDetails(\r\n params: FinalizeScoreEntryParams\r\n ): AxiosObservable {\r\n return window.axios.post(`/jurydetail/ScoreEntry/Finalize`, params);\r\n }\r\n\r\n public static sendApprovalCode(): AxiosObservable {\r\n return window.axios.post(`/jurydetail/ApprovalCode`);\r\n }\r\n\r\n // public static finalizeJudgeDetail(params?: any): Observable {\r\n // return window.axios.post(`/jurydetail/finalize`, params);\r\n // }\r\n}\r\n","import { tap } from \"rxjs/operators\";\r\nimport ScoringDetail from \"@/models/scoring-detail\";\r\nimport { JuryDetailService } from \"@/services/jury-detail.service\";\r\nimport JuryDetail from \"@/models/jury-detail\";\r\nimport { ActionContext, Module } from \"vuex\";\r\nimport { StoreData } from \"@/store\";\r\nimport { Observable } from \"rxjs\";\r\n\r\nexport interface JuryDetailData {\r\n scoringDetails: any[];\r\n juryDetail: JuryDetail | null;\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state: (): JuryDetailData => ({\r\n scoringDetails: [],\r\n juryDetail: null,\r\n }),\r\n actions: {\r\n getJuryDetail: (\r\n context: ActionContext,\r\n { params, options = {} }: { params: any; options: any }\r\n ): Observable => {\r\n return JuryDetailService.getJuryDetail(params, options).pipe(\r\n tap((juryDetail: JuryDetail) => {\r\n context.commit(\"setJuryDetail\", juryDetail);\r\n })\r\n );\r\n },\r\n\r\n getProposalScoringDetails: (\r\n context: ActionContext,\r\n proposalId: string\r\n ): Observable[]> => {\r\n return JuryDetailService.getProposalScoringDetails(proposalId).pipe(\r\n tap((scoringDetails: Record[]) => {\r\n context.commit(\"setScoringDetails\", scoringDetails);\r\n })\r\n );\r\n },\r\n\r\n submitScoringDetails: (\r\n _context: ActionContext,\r\n { params, options = {} }: { params: any; options: any }\r\n ): any => {\r\n return JuryDetailService.submitScoringDetails(params, options);\r\n },\r\n\r\n finalizeScoringDetails: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return JuryDetailService.finalizeScoringDetails(params);\r\n },\r\n\r\n sendApprovalCode: (\r\n _context: ActionContext\r\n ): any => {\r\n return JuryDetailService.sendApprovalCode();\r\n },\r\n },\r\n mutations: {\r\n setScoringDetails: (\r\n state: JuryDetailData,\r\n scoringDetails: Record[][]\r\n ): any => {\r\n state.scoringDetails = scoringDetails;\r\n },\r\n setJuryDetail: (state: JuryDetailData, juryDetail: JuryDetail): any => {\r\n state.juryDetail = juryDetail;\r\n },\r\n },\r\n} as Module;\r\n","import { UUIDModel } from \"@/models/uuid-model\";\r\nimport { UUID } from \"@/models/uuid\";\r\nimport UserHeader from \"@/models/user-header\";\r\n\r\nexport default class Voting extends UUIDModel {\r\n public votingId: UUID = new UUID();\r\n public email = \"\";\r\n public date = \"\";\r\n\r\n public proposalId: UUID = new UUID();\r\n // public proposal: Proposal;\r\n // public proposal: Proposal;\r\n public user: UserHeader = new UserHeader();\r\n public prize = \"\";\r\n}\r\n","import { Observable } from \"rxjs\";\r\nimport {\r\n filterObject,\r\n mapToClass,\r\n mapToCollection,\r\n mapToData,\r\n mapToPagination,\r\n} from \"@/client/transformers\";\r\nimport Voting from \"@/models/voting\";\r\nimport { Collection } from \"@/models/collection\";\r\nimport { Paginate } from \"@/models/paginate\";\r\n\r\nexport class VotingService {\r\n public static getVotings(\r\n params: { year: number } | null\r\n ): Observable> {\r\n return window.axios\r\n .get(`/voting`, { params: params })\r\n .pipe(mapToData(), mapToCollection());\r\n }\r\n\r\n public static getMyVotings(\r\n params: { year: number } | null\r\n ): Observable> {\r\n return window.axios\r\n .get(`/voting/me`, { params: params })\r\n .pipe(mapToData(), mapToCollection());\r\n }\r\n\r\n public static getVoting(votingId: string): Observable {\r\n return window.axios\r\n .get(`/voting/${votingId}`)\r\n .pipe(mapToData(), mapToClass(Voting));\r\n }\r\n\r\n public static postVoting(params: any): Observable {\r\n return window.axios\r\n .post(`/voting`, params)\r\n .pipe(mapToData(), mapToClass(Voting));\r\n }\r\n\r\n public static update(votingId: string, params: any): Observable {\r\n return window.axios\r\n .put(`/voting/${votingId}`, params)\r\n .pipe(mapToData(), mapToClass(Voting));\r\n }\r\n\r\n public static deleteVoting(votingId: string): Observable {\r\n return window.axios\r\n .delete(`/voting/${votingId}`)\r\n .pipe(mapToData(), mapToClass(Voting));\r\n }\r\n\r\n public static isHideVoting(): Observable {\r\n return window.axios.get(`/IAHideVoting`).pipe(mapToData());\r\n }\r\n\r\n public static changeHideVoting(params: any): Observable {\r\n return window.axios.put(\"/IAHideVoting\", params);\r\n }\r\n\r\n public static getProposalVoters(\r\n proposalId: string | null,\r\n params: any\r\n ): Observable> {\r\n return (\r\n window.axios\r\n .get(\r\n proposalId ? `/voting/proposal/${proposalId}` : \"/voting/proposal/\",\r\n { params: filterObject(params) }\r\n )\r\n // .pipe(mapToData(), mapToArrayClass(Voting));\r\n .pipe(mapToPagination())\r\n );\r\n }\r\n\r\n public static updatePrize(votingId: string, params: any): Observable {\r\n return window.axios.put(`/voting/prize`, params, { params: { votingId } });\r\n }\r\n}\r\n","import { Collection } from \"@/models/collection\";\r\nimport { VotingService } from \"@/services/voting.service\";\r\nimport { tap } from \"rxjs/operators\";\r\nimport Voting from \"@/models/voting\";\r\nimport { ActionContext, Module } from \"vuex\";\r\nimport { StoreData } from \"@/store\";\r\nimport { Paginate } from \"@/models/paginate\";\r\n\r\nexport interface VotingData {\r\n votings: Collection | null;\r\n voting: Voting | null;\r\n proposalVoters: Paginate | null;\r\n isHideVoting: any;\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state: (): VotingData => ({\r\n votings: null,\r\n voting: null,\r\n proposalVoters: null,\r\n isHideVoting: null,\r\n }),\r\n actions: {\r\n getVotings: (\r\n context: ActionContext,\r\n params: { year: number } | null\r\n ) => {\r\n return VotingService.getVotings(params).pipe(\r\n tap((votings: Collection) => {\r\n context.commit(\"setVotings\", votings);\r\n })\r\n );\r\n },\r\n\r\n getMyVotings: (\r\n context: ActionContext,\r\n params: { year: number } | null\r\n ) => {\r\n return VotingService.getMyVotings(params).pipe(\r\n tap((votings: Collection) => {\r\n context.commit(\"setVotings\", votings);\r\n })\r\n );\r\n },\r\n\r\n getVoting: (\r\n context: ActionContext,\r\n votingId: string\r\n ) => {\r\n return VotingService.getVoting(votingId).pipe(\r\n tap((voting: Voting) => {\r\n context.commit(\"setVoting\", voting);\r\n })\r\n );\r\n },\r\n\r\n postVoting: (\r\n _ontext: ActionContext,\r\n params: any\r\n ) => {\r\n return VotingService.postVoting(params);\r\n },\r\n\r\n isHideVoting: (context: ActionContext) => {\r\n return VotingService.isHideVoting().pipe(\r\n tap((isHideVoting) => {\r\n context.commit(\"setHideVoting\", isHideVoting);\r\n })\r\n );\r\n },\r\n\r\n changeHideVoting: (\r\n _context: ActionContext,\r\n params: any\r\n ) => {\r\n return VotingService.changeHideVoting(params);\r\n },\r\n\r\n getProposalVoters: (\r\n context: ActionContext,\r\n params: any\r\n ) => {\r\n return VotingService.getProposalVoters(\r\n params.proposalId,\r\n params.query\r\n ).pipe(\r\n tap((votings: Paginate) => {\r\n console.log(votings);\r\n context.commit(\"setProposalVoters\", votings);\r\n })\r\n );\r\n },\r\n\r\n updatePrize: (\r\n _context: ActionContext,\r\n params: any\r\n ) => {\r\n return VotingService.updatePrize(params.votingId, params.query);\r\n },\r\n },\r\n mutations: {\r\n setVotings: (state: VotingData, votings: Collection): void => {\r\n state.votings = votings;\r\n },\r\n\r\n setVoting: (state: VotingData, voting: Voting): void => {\r\n state.voting = voting;\r\n },\r\n\r\n setHideVoting: (state: VotingData, isHideVoting: any): void => {\r\n state.isHideVoting = isHideVoting;\r\n },\r\n\r\n setProposalVoters: (\r\n state: VotingData,\r\n votings: Paginate\r\n ): void => {\r\n state.proposalVoters = votings;\r\n },\r\n },\r\n} as Module;\r\n","import { UUIDModel } from \"@/models/uuid-model\";\r\n\r\nexport default class UserSuggestion extends UUIDModel {\r\n public surname = \"\";\r\n public displayName = \"\";\r\n public mail = \"\";\r\n}\r\n","import { defer, from, Observable, of } from \"rxjs\";\r\nimport {\r\n mapToClass,\r\n mapToData,\r\n filterObject,\r\n mapToPagination,\r\n mapToArrayClass,\r\n} from \"@/client/transformers\";\r\nimport UserHeader from \"@/models/user-header\";\r\nimport { Paginate } from \"@/models/paginate\";\r\nimport { AuthService } from \"@/services/auth.service\";\r\nimport axios from \"axios-observable\";\r\nimport { mergeMap } from \"rxjs/operators\";\r\nimport UserSuggestion from \"@/models/user-suggestion\";\r\nimport TeamHeader from \"@/models/team-header\";\r\nimport { HttpUtil } from \"@/client/http.util\";\r\nimport { AxiosObservable } from \"axios-observable/dist/axios-observable.interface\";\r\nimport Owner from \"@/models/owner\";\r\n\r\nexport class UserService {\r\n public static getUsers(params: any): Observable> {\r\n return window.axios\r\n .get(`/user`, { params: filterObject(params) })\r\n .pipe(mapToPagination());\r\n }\r\n\r\n public static getUser(userId: string): Observable {\r\n return window.axios\r\n .get(`/user/${userId}`)\r\n .pipe(mapToData(), mapToClass(UserHeader));\r\n }\r\n\r\n public static updateUser(query: any, body: any): AxiosObservable {\r\n return window.axios.put(`/user`, body, { params: query });\r\n }\r\n\r\n public static getTeams(params: any): Observable> {\r\n return window.axios\r\n .get(`/team`, { params: filterObject(params) })\r\n .pipe(mapToPagination());\r\n }\r\n\r\n public static getTeam(teamId: string): Observable {\r\n return window.axios\r\n .get(`/team/${teamId}`)\r\n .pipe(mapToData(), mapToClass(TeamHeader));\r\n }\r\n\r\n public static updateTeam(params: any): AxiosObservable {\r\n // const team = JSON.stringify(params.team);\r\n return window.axios.put(\r\n `/team`,\r\n // HttpUtil.payloadToFormData({ ...params, team })\r\n params\r\n );\r\n }\r\n\r\n public static postUser(params: any): Observable {\r\n return window.axios\r\n .post(`/user`, params)\r\n .pipe(mapToData(), mapToClass(UserHeader));\r\n }\r\n\r\n public static deleteUser(userId: string): Observable {\r\n return window.axios\r\n .delete(`/user/${userId}`)\r\n .pipe(mapToData(), mapToClass(UserHeader));\r\n }\r\n\r\n public static getJobBands(): Observable {\r\n return window.axios.get(`/user/getjobbands`).pipe(mapToData());\r\n }\r\n\r\n public static getRoles(): Observable {\r\n return window.axios.get(`/user/getroles`).pipe(mapToData());\r\n }\r\n\r\n public static getUserInformation(email: string): Observable {\r\n return window.axios.get(`/user/getbyemail/${email}`);\r\n }\r\n\r\n public static getUserSuggestion(\r\n keyword: string\r\n ): Observable {\r\n return defer(() => from(AuthService.acquireTokenGraph())).pipe(\r\n mergeMap((res) => {\r\n if (res && \"accessToken\" in res) {\r\n const config = {\r\n headers: {\r\n Authorization: `Bearer ${res.accessToken}`,\r\n },\r\n };\r\n return axios.get(\r\n `https://graph.microsoft.com/v1.0/users?$filter=startsWith(Mail,'${keyword}')%20or%20startsWith(givenName,'${keyword}')%20or%20startsWith(surname,'${keyword}')&$select=displayName,surname,mail,userPrincipalName&$top=10`,\r\n config\r\n );\r\n }\r\n return of({ data: [] });\r\n }),\r\n mapToData(),\r\n mergeMap((res: any) => {\r\n return of(res.value);\r\n }),\r\n mapToArrayClass(UserSuggestion)\r\n );\r\n }\r\n\r\n public static getOwnerCandidateSuggestion(params: {\r\n type: string;\r\n keyword: string;\r\n }): Observable {\r\n return window.axios\r\n .get(`/user/GetOwnerCandidateSuggestion`, {\r\n params: params,\r\n })\r\n .pipe(mapToData(), mapToArrayClass(Owner));\r\n }\r\n}\r\n","import { UserService } from \"@/services/user.service\";\r\nimport { tap } from \"rxjs/operators\";\r\nimport UserHeader from \"@/models/user-header\";\r\nimport { Paginate } from \"@/models/paginate\";\r\nimport UserSuggestion from \"@/models/user-suggestion\";\r\nimport TeamHeader from \"@/models/team-header\";\r\nimport { ActionContext, Module } from \"vuex\";\r\nimport { StoreData } from \"@/store\";\r\nimport Owner from \"@/models/owner\";\r\n\r\nexport interface UserData {\r\n users: Paginate | null;\r\n user: UserHeader | null;\r\n teams: Paginate | null;\r\n team: TeamHeader | null;\r\n jobBands: string[];\r\n roles: string[];\r\n userSuggestion: UserSuggestion[];\r\n ownerCandidateSuggestion: Owner[];\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state: (): UserData => ({\r\n users: null,\r\n user: null,\r\n teams: null,\r\n team: null,\r\n jobBands: [],\r\n roles: [],\r\n userSuggestion: [],\r\n ownerCandidateSuggestion: [],\r\n }),\r\n actions: {\r\n getUsers: async (\r\n context: ActionContext,\r\n params: any\r\n ): Promise => {\r\n return UserService.getUsers(params).pipe(\r\n tap((users: Paginate) => {\r\n context.commit(\"setUsers\", users);\r\n })\r\n );\r\n },\r\n\r\n getUser: (\r\n context: ActionContext,\r\n userId: string\r\n ): any => {\r\n return UserService.getUser(userId).pipe(\r\n tap((user: UserHeader) => {\r\n context.commit(\"setUser\", user);\r\n })\r\n );\r\n },\r\n\r\n updateUser: (\r\n _context: ActionContext,\r\n params: { query: any; body: any }\r\n ): any => {\r\n return UserService.updateUser(params.query, params.body);\r\n },\r\n\r\n getTeams: async (\r\n context: ActionContext,\r\n params: any\r\n ): Promise => {\r\n return UserService.getTeams(params).pipe(\r\n tap((teams: Paginate) => {\r\n context.commit(\"setTeams\", teams);\r\n })\r\n );\r\n },\r\n\r\n getTeam: (\r\n context: ActionContext,\r\n teamId: string\r\n ): any => {\r\n return UserService.getTeam(teamId).pipe(\r\n tap((team: TeamHeader) => {\r\n context.commit(\"setTeam\", team);\r\n })\r\n );\r\n },\r\n\r\n updateTeam: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return UserService.updateTeam(params);\r\n },\r\n\r\n postUser: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return UserService.postUser(params);\r\n },\r\n\r\n deleteUser: (\r\n _context: ActionContext,\r\n userId: string\r\n ): any => {\r\n return UserService.deleteUser(userId);\r\n },\r\n\r\n getJobBands: (context: ActionContext): any => {\r\n return UserService.getJobBands().pipe(\r\n tap((jobBands: string[]) => {\r\n context.commit(\"setJobBands\", jobBands);\r\n })\r\n );\r\n },\r\n\r\n getRoles: (context: ActionContext): any => {\r\n return UserService.getRoles().pipe(\r\n tap((roles: string[]) => {\r\n context.commit(\"setRoles\", roles);\r\n })\r\n );\r\n },\r\n\r\n getUserInformation: (\r\n _context: ActionContext,\r\n email: string\r\n ): any => {\r\n return UserService.getUserInformation(email);\r\n },\r\n\r\n getUserSuggestion: (\r\n context: ActionContext,\r\n keyword: string\r\n ): any => {\r\n return UserService.getUserSuggestion(keyword).pipe(\r\n tap((userSuggestion: UserSuggestion[]) => {\r\n context.commit(\"setUserSuggestion\", userSuggestion);\r\n })\r\n );\r\n },\r\n\r\n getOwnerCandidateSuggestion: (\r\n context: ActionContext,\r\n params: { type: string; keyword: string }\r\n ): any => {\r\n context.commit(\"setOwnerCandidateSuggestion\", []);\r\n return UserService.getOwnerCandidateSuggestion(params).pipe(\r\n tap((ownerCandidateSuggestion: Owner[]) => {\r\n context.commit(\r\n \"setOwnerCandidateSuggestion\",\r\n ownerCandidateSuggestion\r\n );\r\n })\r\n );\r\n },\r\n\r\n resetOwnerCandidateSuggestion: (\r\n context: ActionContext\r\n ): any => {\r\n context.commit(\"setOwnerCandidateSuggestion\", []);\r\n },\r\n },\r\n mutations: {\r\n setUsers: (state: UserData, users: Paginate): void => {\r\n state.users = users;\r\n },\r\n\r\n setUser: (state: UserData, user: UserHeader): void => {\r\n state.user = user;\r\n },\r\n\r\n setTeams: (state: UserData, teams: Paginate): void => {\r\n state.teams = teams;\r\n },\r\n\r\n setTeam: (state: UserData, team: TeamHeader): void => {\r\n state.team = team;\r\n },\r\n\r\n setJobBands: (state: UserData, jobBands: string[]): void => {\r\n state.jobBands = jobBands;\r\n },\r\n\r\n setRoles: (state: UserData, roles: string[]): void => {\r\n state.roles = roles;\r\n },\r\n\r\n setUserSuggestion: (\r\n state: UserData,\r\n userSuggestion: UserSuggestion[]\r\n ): void => {\r\n state.userSuggestion = userSuggestion;\r\n },\r\n setOwnerCandidateSuggestion: (\r\n state: UserData,\r\n ownerCandidateSuggestion: Owner[]\r\n ): void => {\r\n state.ownerCandidateSuggestion = ownerCandidateSuggestion;\r\n },\r\n },\r\n} as Module;\r\n","import UserHeader from \"@/models/user-header\";\r\nimport { AuthService } from \"@/services/auth.service\";\r\nimport * as Msal from \"@azure/msal-browser\";\r\nimport { Observable } from \"rxjs\";\r\nimport { tap } from \"rxjs/operators\";\r\nimport { ActionContext, Module } from \"vuex\";\r\nimport { StoreData } from \"@/store\";\r\n\r\nexport interface AuthData {\r\n user: { user: UserHeader } | null;\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state: (): AuthData => ({\r\n user: null,\r\n }),\r\n actions: {\r\n login: async (): Promise => {\r\n return await AuthService.login();\r\n },\r\n handleRedirectCallback:\r\n async (): Promise => {\r\n return await AuthService.handleRedirectCallback();\r\n },\r\n acquireTokenGraph: async (): Promise => {\r\n return await AuthService.acquireTokenGraph();\r\n },\r\n acquireTokenClient: async (): Promise => {\r\n return await AuthService.acquireTokenClient();\r\n },\r\n getUser: (\r\n context: ActionContext\r\n ): Observable<{ user: UserHeader }> => {\r\n return AuthService.getUser().pipe(\r\n tap((user: { user: UserHeader }) => {\r\n context.commit(\"setUser\", user);\r\n })\r\n );\r\n },\r\n logout: async (\r\n context: ActionContext\r\n ): Promise => {\r\n await AuthService.logout();\r\n context.commit(\"setUser\", null);\r\n // this.setUser(null);\r\n window.axios.defaults.headers.common[\"Authorization\"] = ``;\r\n },\r\n },\r\n mutations: {\r\n setUser: (state: AuthData, user: { user: UserHeader }): void => {\r\n state.user = user;\r\n },\r\n },\r\n getters: {\r\n getAccount: (): Msal.AccountInfo | null => {\r\n return AuthService.getAccount();\r\n },\r\n getAccountUsername: (): string | null => {\r\n return AuthService.getAccount()?.username ?? null;\r\n },\r\n getAccounts: (): Msal.AccountInfo[] => {\r\n return AuthService.getAccounts();\r\n },\r\n getMsal: (): Msal.PublicClientApplication => {\r\n return AuthService.getMsal();\r\n },\r\n isCommitee: (state: AuthData): boolean => {\r\n return state.user?.user.roleName === \"Commitee\";\r\n },\r\n isParticipant: (state: AuthData): boolean => {\r\n return state.user?.user.roleName === \"Participant\";\r\n },\r\n isJury: (state: AuthData): boolean => {\r\n return state.user?.user.roleName === \"Jury\";\r\n },\r\n },\r\n} as Module;\r\n","import { Topic } from \"@/dto/proposal.dto\";\r\nimport { UUIDModel } from \"@/models/uuid-model\";\r\n\r\nexport default class Report extends UUIDModel {\r\n public teamName = \"\";\r\n public proposalTitle = \"\";\r\n public category = \"\";\r\n public phase = 1;\r\n public status = \"\";\r\n public name = \"\";\r\n public role = \"\";\r\n public department = \"\";\r\n public businessUnit = \"\";\r\n public topics: Topic[] = [];\r\n}\r\n","import { Observable } from \"rxjs\";\r\nimport { mapToArrayClass, mapToData } from \"@/client/transformers\";\r\nimport Report from \"@/models/report\";\r\n\r\nconst SERVICE_PATH = \"Report\";\r\n\r\nexport class ReportService {\r\n public static getReports(params: any = null): Observable {\r\n return window.axios\r\n .get(`/${SERVICE_PATH}`, { params })\r\n .pipe(mapToData(), mapToArrayClass(Report));\r\n }\r\n\r\n public static downloadReport(reportType: string, year: any): Observable {\r\n return window.axios.get(`/${SERVICE_PATH}/excel/${reportType}`, {\r\n params: { year },\r\n responseType: \"blob\",\r\n });\r\n }\r\n\r\n}\r\n","import { retry, tap, map } from \"rxjs/operators\";\r\nimport Report from \"@/models/report\";\r\nimport { ActionContext, Module } from \"vuex\";\r\nimport { StoreData } from \"@/store\";\r\nimport { ReportService } from \"@/services/report.service\";\r\n\r\nexport interface ReportData {\r\n reports: Report[];\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state: (): ReportData => ({\r\n reports: [],\r\n }),\r\n actions: {\r\n resetReports: (context: ActionContext): any => {\r\n context.commit(\"setReports\", []);\r\n },\r\n\r\n getReports: (\r\n context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ReportService.getReports(params).pipe(\r\n tap((reports: Report[]) => {\r\n context.commit(\"addReports\", reports);\r\n })\r\n );\r\n },\r\n\r\n downloadReport: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ReportService.downloadReport(params.reportType, params.year).pipe(\r\n tap((res) => {\r\n const disposition = res.headers[\"content-disposition\"].split(\";\");\r\n const item = disposition.find((item: string) =>\r\n item.startsWith(\"filename\")\r\n );\r\n const fileName = item.replace(\"filename=\", \"\");\r\n const url = window.URL.createObjectURL(new Blob([res.data]));\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", fileName);\r\n document.body.appendChild(link);\r\n link.click();\r\n }),\r\n map((r) => r),\r\n retry(1)\r\n );\r\n },\r\n },\r\n mutations: {\r\n addReports: (state: ReportData, reports: Report[]): void => {\r\n state.reports = state.reports.concat(reports);\r\n },\r\n setReports: (state: ReportData, reports: Report[]): void => {\r\n state.reports = reports;\r\n },\r\n },\r\n} as Module;\r\n","import { Observable } from \"rxjs\";\r\nimport { mapToData } from \"@/client/transformers\";\r\nimport Feedback, {\r\n FeedbackParams,\r\n FeedbackReplyParams,\r\n} from \"@/models/feedback\";\r\nimport { AxiosObservable } from \"axios-observable/dist/axios-observable.interface\";\r\nimport { Response } from \"@/models/Response\";\r\n\r\nexport class FeedbackService {\r\n public static getFeedbacks(/* query: any */): Observable {\r\n return window.axios\r\n .get(\"/feedback\" /* , { params: query }*/)\r\n .pipe(mapToData());\r\n }\r\n\r\n public static getFeedback(feedbackId: string): Observable {\r\n return window.axios.get(`/feedback/${feedbackId}`).pipe(mapToData());\r\n }\r\n\r\n public static postFeedback(\r\n params: FeedbackParams\r\n ): AxiosObservable {\r\n return window.axios.post(\"/feedback\", params);\r\n }\r\n\r\n public static replyFeedback(\r\n feedbackId: string,\r\n params: FeedbackReplyParams\r\n ): AxiosObservable {\r\n return window.axios.put(`/feedback/${feedbackId}/reply`, params);\r\n }\r\n\r\n public static closeFeedback(feedbackId: string): AxiosObservable {\r\n return window.axios.put(`/feedback/${feedbackId}/close`);\r\n }\r\n}\r\n","import Feedback, {\r\n FeedbackParams,\r\n FeedbackReplyParams,\r\n} from \"@/models/feedback\";\r\nimport { FeedbackService } from \"@/services/feedback.service\";\r\nimport { AxiosObservable } from \"axios-observable/dist/axios-observable.interface\";\r\nimport { Observable } from \"rxjs\";\r\nimport { tap } from \"rxjs/operators\";\r\nimport { Response } from \"@/models/Response\";\r\nimport { ActionContext, Module } from \"vuex\";\r\nimport { StoreData } from \"@/store\";\r\n\r\nexport interface FeedbackData {\r\n feedbacks: Feedback[];\r\n feedback: Feedback | null;\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state: (): FeedbackData => ({\r\n feedbacks: [],\r\n feedback: null,\r\n }),\r\n actions: {\r\n getFeedbacks: (\r\n context: ActionContext\r\n /* params: any */\r\n ): Observable => {\r\n return FeedbackService.getFeedbacks(/* params */).pipe(\r\n tap((feedbacks: Feedback[]) => {\r\n context.commit(\"setFeedbacks\", feedbacks);\r\n })\r\n );\r\n },\r\n\r\n getFeedback: (\r\n context: ActionContext,\r\n feedbackId: string\r\n ): Observable => {\r\n return FeedbackService.getFeedback(feedbackId).pipe(\r\n tap((feedback: Feedback) => {\r\n context.commit(\"setFeedback\", feedback);\r\n })\r\n );\r\n },\r\n\r\n postFeedback: (\r\n _context: ActionContext,\r\n params: FeedbackParams\r\n ): AxiosObservable => {\r\n return FeedbackService.postFeedback(params);\r\n },\r\n\r\n replyFeedback: (\r\n _context: ActionContext,\r\n params: { feedbackId: string; query: FeedbackReplyParams }\r\n ): AxiosObservable => {\r\n return FeedbackService.replyFeedback(params.feedbackId, params.query);\r\n },\r\n\r\n closeFeedback: (\r\n _context: ActionContext,\r\n feedbackId: string\r\n ): AxiosObservable => {\r\n return FeedbackService.closeFeedback(feedbackId);\r\n },\r\n },\r\n mutations: {\r\n setFeedbacks: (state: FeedbackData, feedbacks: Feedback[]): void => {\r\n state.feedbacks = feedbacks;\r\n },\r\n setFeedback: (state: FeedbackData, feedback: Feedback): void => {\r\n state.feedback = feedback;\r\n },\r\n },\r\n} as Module;\r\n","import { Observable } from \"rxjs\";\r\nimport Activity from \"@/models/activity\";\r\nimport {\r\n filterObject,\r\n mapToArrayClass,\r\n mapToData,\r\n mapToPagination,\r\n} from \"@/client/transformers\";\r\nimport { Paginate } from \"@/models/paginate\";\r\nimport ActivityDetail from \"@/models/activity-detail\";\r\n\r\nexport class ActivityService {\r\n public static getActivities(params: any): Observable> {\r\n return window.axios\r\n .get(`/activity`, { params: filterObject(params) })\r\n .pipe(mapToPagination());\r\n }\r\n\r\n public static getActivityDetail(\r\n id: string,\r\n query: any\r\n ): Observable> {\r\n return window.axios\r\n .get(`/activity/${id}/detail`, { params: filterObject(query) })\r\n .pipe(mapToPagination());\r\n }\r\n}\r\n","import { Paginate } from \"@/models/paginate\";\r\nimport Activity from \"@/models/activity\";\r\nimport ActivityDetail from \"@/models/activity-detail\";\r\nimport { ActivityService } from \"@/services/activity.service\";\r\nimport { tap } from \"rxjs/operators\";\r\nimport { Observable } from \"rxjs\";\r\nimport { ActionContext, Module } from \"vuex\";\r\nimport { StoreData } from \"@/store\";\r\n\r\nexport interface ActivityData {\r\n activities: Paginate | null;\r\n activityDetail: Paginate | null;\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state: (): ActivityData => ({\r\n activities: null,\r\n activityDetail: null,\r\n }),\r\n actions: {\r\n getActivities: (\r\n context: ActionContext,\r\n params: any\r\n ): Observable> => {\r\n return ActivityService.getActivities(params).pipe(\r\n tap((activities: Paginate) => {\r\n context.commit(\"setActivities\", activities);\r\n })\r\n );\r\n },\r\n\r\n getActivityDetail: (\r\n context: ActionContext,\r\n params: any\r\n ): Observable> => {\r\n return ActivityService.getActivityDetail(params.id, params.query).pipe(\r\n tap((activityDetail: Paginate) => {\r\n context.commit(\"setActivityDetail\", activityDetail);\r\n })\r\n );\r\n },\r\n },\r\n\r\n mutations: {\r\n setActivities: (\r\n state: ActivityData,\r\n activities: Paginate\r\n ): void => {\r\n state.activities = activities;\r\n },\r\n\r\n setActivityDetail: (\r\n state: ActivityData,\r\n activityDetail: Paginate\r\n ): void => {\r\n state.activityDetail = activityDetail;\r\n },\r\n },\r\n} as Module;\r\n","import { StoreData } from \"@/store\";\r\nimport { Module } from \"vuex\";\r\n\r\nexport interface CommonData {\r\n currentYear: number;\r\n year: number;\r\n keyword: string;\r\n formatDate: string;\r\n categories: { label: string; description: string }[];\r\n shirtSizes: { label: string; size: string }[];\r\n phases: string[];\r\n isHideComment: boolean;\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state: (): CommonData => ({\r\n currentYear: new Date().getFullYear(),\r\n year: new Date().getFullYear(),\r\n keyword: \"\",\r\n formatDate: \"DD MMM YYYY\",\r\n categories: [\r\n {\r\n label: \"Product / Service\",\r\n description:\r\n \"The introduction of a good or service that is new or significantly improved with respect to its characteristics or intended uses. This includes significant improvements in technical specifications, components, and materials, incorporated software, user-friendliness or other functional characteristics.\",\r\n },\r\n {\r\n label: \"Process\",\r\n description:\r\n \"The implementation of a new or significantly improved production or delivery method. This includes significant changes in techniques, equipment and/or software.\",\r\n },\r\n {\r\n label: \"Social\",\r\n description:\r\n \"Social innovation is the process of addressing the world’s most pressing challenges with “novel solutions . . . that [are] better than current solutions, new to the world, and [benefit] society as a whole and not just a single entity.”\",\r\n },\r\n {\r\n label: \"Business model\",\r\n description:\r\n \"Business model innovation is the search for new logic of the firm and new ways to create and capture value for its stakeholders; it focuses primarily on finding new ways to generate revenues and define value propositions for customers, suppliers, and partners.\",\r\n },\r\n ],\r\n shirtSizes: [\r\n // {\r\n // label: 'XS',\r\n // size: '62x44 cm',\r\n // },\r\n {\r\n label: \"S\",\r\n size: \"65x47 cm\",\r\n },\r\n {\r\n label: \"M\",\r\n size: \"69x50 cm\",\r\n },\r\n {\r\n label: \"L\",\r\n size: \"72x53 cm\",\r\n },\r\n {\r\n label: \"XL\",\r\n size: \"75x56 cm\",\r\n },\r\n {\r\n label: \"XXL\",\r\n size: \"79x59 cm\",\r\n },\r\n ],\r\n phases: [\r\n \"Proposal Selection & Submission\",\r\n \"Review and Scoring Proposals\",\r\n \"Phase 2 - Innovation Camp & Top 15 Presentation\",\r\n \"Phase 2 - Scoring Proposals for Top 3 Selections\",\r\n \"Phase 3 - Grand Final & Awarding\",\r\n ],\r\n isHideComment: true,\r\n }),\r\n actions: {},\r\n mutations: {\r\n setYear: (state: CommonData, year: number): void => {\r\n state.year = year;\r\n },\r\n\r\n setKeyword: (state: CommonData, keyword: string): void => {\r\n state.keyword = keyword;\r\n },\r\n },\r\n} as Module;\r\n","import Vue from \"vue\";\r\nimport Vuex, { Store } from \"vuex\";\r\nimport ProposalStore, { ProposalData } from \"@/store/modules/proposal.store\";\r\nimport PeriodManagementStore, {\r\n PeriodManagementData,\r\n} from \"@/store/modules/period-management.store\";\r\nimport JudgeStore, { JudgeData } from \"@/store/modules/judge.store\";\r\nimport JuryDetailStore, {\r\n JuryDetailData,\r\n} from \"@/store/modules/jury-detail.store\";\r\nimport VotingStore, { VotingData } from \"@/store/modules/voting.store\";\r\nimport UserStore, { UserData } from \"@/store/modules/user.store\";\r\nimport AuthStore, { AuthData } from \"@/store/modules/auth.store\";\r\nimport ReportStore, { ReportData } from \"@/store/modules/report.store\";\r\nimport FeedbackStore, { FeedbackData } from \"@/store/modules/feedback.store\";\r\nimport ActivityStore, { ActivityData } from \"@/store/modules/activity.store\";\r\nimport Common, { CommonData } from \"@/store/common\";\r\n// import VueMoment from \"vue-moment\";\r\n\r\nVue.use(Vuex);\r\n// Vue.use(VueMoment);\r\n\r\nexport interface StoreData {\r\n Common: CommonData;\r\n ActivityStore: ActivityData;\r\n AuthSrore: AuthData;\r\n FeedbackStore: FeedbackData;\r\n JudgeStore: JudgeData;\r\n JuryDetailStore: JuryDetailData;\r\n PeriodManagementStore: PeriodManagementData;\r\n ProposalStore: ProposalData;\r\n ReportStore: ReportData;\r\n UserStore: UserData;\r\n VotingStore: VotingData;\r\n}\r\n\r\nexport default new Vuex.Store({\r\n modules: {\r\n ProposalStore,\r\n PeriodManagementStore,\r\n Common,\r\n JudgeStore,\r\n VotingStore,\r\n UserStore,\r\n ReportStore,\r\n JuryDetailStore,\r\n AuthStore,\r\n FeedbackStore,\r\n ActivityStore,\r\n },\r\n}) as Store;\r\n","import { NavigationGuardNext, Route, RouteConfig } from \"vue-router\";\r\nimport store from \"@/store\";\r\nimport { catchError, tap } from \"rxjs/operators\";\r\nimport { combineLatest, of } from \"rxjs\";\r\n\r\n// commitee\r\nconst CommiteeTemplate = () =>\r\n import(\"@/templates/commitee/commitee.template.vue\");\r\nconst CommiteeIndex = () =>\r\n import(\"@/components/commitee/index/commitee-index.vue\");\r\nconst ListProposalFirst = () =>\r\n import(\"@/components/commitee/list-proposal/list-proposal-first.vue\");\r\nconst ListProposalSecond = () =>\r\n import(\"@/components/commitee/list-proposal/list-proposal-second.vue\");\r\nconst ListProposalThird = () =>\r\n import(\"@/components/commitee/list-proposal/list-proposal-third.vue\");\r\nconst AssignJudgesFirst = () =>\r\n import(\"@/components/commitee/assign-judges/assign-judges-first.vue\");\r\nconst AssignJudgesSecond = () =>\r\n import(\"@/components/commitee/assign-judges/assign-judges-second.vue\");\r\nconst AssignJudgesThird = () =>\r\n import(\"@/components/commitee/assign-judges/assign-judges-third.vue\");\r\nconst VoteResult = () =>\r\n import(\"@/components/commitee/vote-result/vote-result.vue\");\r\nconst UserManagementUser = () =>\r\n import(\"@/components/commitee/user-management/user-management-user.vue\");\r\nconst UserManagementGroup = () =>\r\n import(\"@/components/commitee/user-management/user-management-group.vue\");\r\nconst GenerateReport = () =>\r\n import(\"@/components/commitee/generate-report/generate-report.vue\");\r\nconst CommiteeFeedback = () =>\r\n import(\"@/components/commitee/feedback/commitee-feedback.vue\");\r\nconst CommiteeFeedbackDetail = () =>\r\n import(\"@/components/commitee/feedback/commitee-feedback-detail.vue\");\r\nconst ProposalFirst = () =>\r\n import(\"@/components/commitee/proposal/proposal-first.vue\");\r\nconst ProposalScore = () =>\r\n import(\"@/components/commitee/proposal/proposal-score.vue\");\r\nconst ProposalSecond = () =>\r\n import(\"@/components/commitee/proposal/proposal-second.vue\");\r\nconst VoterList = () =>\r\n import(\"@/components/commitee/voter-list/voter-list.vue\");\r\nconst DetailActivity = () =>\r\n import(\"@/components/commitee/activity/detail-activity.vue\");\r\nconst CommiteeActivity = () =>\r\n import(\"@/components/commitee/activity/activity.vue\");\r\nconst Dashboard = () => import(\"@/components/commitee/dashboard/index.vue\");\r\n\r\nconst MonthlyEvaluation = () =>\r\n import(\"@/components/participant/monthly-evaluation/index.vue\");\r\n\r\nconst commiteeMiddleware = async (\r\n _to: Route,\r\n _from: Route,\r\n next: NavigationGuardNext\r\n) => {\r\n const res = await store.dispatch(\"AuthStore/getUser\");\r\n res\r\n .pipe(\r\n tap(() => {\r\n if (store.getters[\"AuthStore/isCommitee\"]) {\r\n return next();\r\n } else {\r\n return next(\"/\");\r\n }\r\n }),\r\n catchError((_error: any) => {\r\n return of(next(\"/\"));\r\n })\r\n )\r\n .subscribe();\r\n};\r\n\r\nexport default {\r\n path: \"/commitee\",\r\n component: CommiteeTemplate,\r\n beforeEnter: commiteeMiddleware,\r\n children: [\r\n {\r\n path: \"/\",\r\n name: \"Home Commitee\",\r\n component: CommiteeIndex,\r\n },\r\n {\r\n path: \"dashboard\",\r\n name: \"Committee Dashboard\",\r\n component: Dashboard,\r\n },\r\n {\r\n path: \"list-proposal/1/old\",\r\n name: \"Proposals Phase 1\",\r\n component: ListProposalFirst,\r\n },\r\n {\r\n path: \"list-proposal/1\",\r\n name: \"Proposals Phase 1\",\r\n component: () =>\r\n import(\"@/components/commitee/list-proposal/list-proposal.vue\"),\r\n },\r\n {\r\n path: \"list-proposal/2\",\r\n name: \"Proposals Phase 2\",\r\n component: ListProposalSecond,\r\n },\r\n {\r\n path: \"list-proposal/3\",\r\n name: \"Proposals Phase 3\",\r\n component: ListProposalThird,\r\n },\r\n {\r\n path: \"list-proposal/1/proposal/:id\",\r\n component: ProposalFirst,\r\n },\r\n {\r\n path: \"list-proposal/proposal/:id/score\",\r\n component: ProposalScore,\r\n },\r\n {\r\n path: \"list-proposal/2/proposal/:id\",\r\n component: ProposalSecond,\r\n },\r\n {\r\n path: \"voter-list/:id?\",\r\n component: VoterList,\r\n },\r\n {\r\n path: \"assign-judges/1/old\",\r\n name: \"Assign Judges Phase 1\",\r\n component: AssignJudgesFirst,\r\n },\r\n {\r\n path: \"assign-judges/1\",\r\n name: \"Assign Judges Phase 1\",\r\n component: () =>\r\n import(\"@/components/commitee/assign-judges/assign-judges.vue\"),\r\n },\r\n {\r\n path: \"assign-judges/2\",\r\n name: \"Assign Judges Phase 2\",\r\n component: AssignJudgesSecond,\r\n },\r\n {\r\n path: \"assign-judges/3\",\r\n name: \"Assign Judges Phase 3\",\r\n component: AssignJudgesThird,\r\n },\r\n {\r\n path: \"vote-result\",\r\n component: VoteResult,\r\n },\r\n {\r\n path: \"user-management/user\",\r\n name: \"List User\",\r\n component: UserManagementUser,\r\n },\r\n {\r\n path: \"user-management/group\",\r\n name: \"List Group\",\r\n component: UserManagementGroup,\r\n },\r\n {\r\n path: \"user-management/group/:id\",\r\n name: \"Edit Group\",\r\n component: () =>\r\n import(\"@/components/commitee/user-management/group-form.vue\"),\r\n },\r\n {\r\n path: \"generate-report\",\r\n name: \"Generate Report\",\r\n component: GenerateReport,\r\n },\r\n {\r\n path: \"feedback\",\r\n name: \"List Feedback commitee\",\r\n component: CommiteeFeedback,\r\n },\r\n {\r\n path: \"feedback/:id\",\r\n component: CommiteeFeedbackDetail,\r\n },\r\n {\r\n path: \"activity\",\r\n name: \"List MonthlyActivity\",\r\n component: CommiteeActivity,\r\n },\r\n {\r\n path: \"activity/:id\",\r\n component: DetailActivity,\r\n },\r\n {\r\n path: \"finalreport\",\r\n component: () => import(\"@/components/commitee/final-report/index.vue\"),\r\n },\r\n {\r\n path: \"finalreport/:id\",\r\n component: () =>\r\n import(\"@/components/participant/final-report/final-report.vue\"),\r\n props: { isAdmin: true },\r\n },\r\n {\r\n path: \"finalreport/monthly-evaluation/:id\",\r\n name: \"Committee Monthly Evaluation\",\r\n component: MonthlyEvaluation,\r\n },\r\n {\r\n path: \"master/topic\",\r\n component: () => import(\"@/views/MasterTopics.vue\"),\r\n },\r\n {\r\n path: \"term-and-condition\",\r\n component: () =>\r\n import(\"@/components/commitee/commitment-agreement/index.vue\"),\r\n },\r\n {\r\n path: \"term-and-condition/:id\",\r\n component: () =>\r\n import(\"@/components/participant/commitment-agreement/view-detail.vue\"),\r\n },\r\n {\r\n path: \"quarterly-evaluation\",\r\n component: () => import(\"@/components/commitee/final-report/index.vue\"),\r\n },\r\n {\r\n path: \"quarterly-evaluation/:id/:q\",\r\n component: () =>\r\n import(\"@/components/commitee/quarterly-evaluation/index.vue\"),\r\n },\r\n {\r\n path: \"list-proposal/ebudgeting\",\r\n component: () =>\r\n import(\"@/components/commitee/list-proposal/ebudget-monitor.vue\"),\r\n },\r\n ],\r\n} as RouteConfig;\r\n","import {\r\n NavigationGuard,\r\n NavigationGuardNext,\r\n Route,\r\n RouteConfig,\r\n} from \"vue-router\";\r\nimport store, { StoreData } from \"@/store\";\r\nimport { tap } from \"rxjs/operators\";\r\nimport { combineLatest } from \"rxjs\";\r\nimport { Store } from \"vuex\";\r\nimport ParticipantIndex from \"@/components/participant/index/participant-index.vue\";\r\n\r\nconst MonthlyEvaluation = () =>\r\n import(\"@/components/participant/monthly-evaluation/index.vue\");\r\nconst JuryTemplate = () => import(\"@/templates/jury/jury.template.vue\");\r\nconst JuryIndex = () => import(\"@/components/jury/index/jury-index.vue\");\r\nconst JuryProposal = () =>\r\n import(\"@/components/jury/proposal/jury-proposal.vue\");\r\nconst JuryScoring = () => import(\"@/components/jury/scoring/scoring.vue\");\r\n\r\nconst juryMiddleware: NavigationGuard = (\r\n to: Route,\r\n _from: Route,\r\n next: NavigationGuardNext\r\n) => {\r\n const year = (store as Store).state.Common.currentYear;\r\n if (to.name === \"scoring\") return next(); // by-pass\r\n Promise.all([\r\n store.dispatch(\"AuthStore/getUser\"),\r\n store.dispatch(\"PeriodManagementStore/getPeriodManagementsByYear\", {\r\n year,\r\n }),\r\n ]).then((res) => {\r\n combineLatest(res)\r\n .pipe(\r\n tap(() => {\r\n if (\r\n store.getters[\"AuthStore/isJury\"]\r\n // && store.getters[\"PeriodManagementStore/isJuryPeriod\"]\r\n ) {\r\n return next();\r\n } else {\r\n return next(\"/\");\r\n }\r\n })\r\n )\r\n .subscribe();\r\n });\r\n\r\n return next();\r\n};\r\n\r\nexport default {\r\n path: \"/jury\",\r\n component: JuryTemplate,\r\n beforeEnter: juryMiddleware,\r\n children: [\r\n {\r\n path: \"/\",\r\n component: JuryIndex,\r\n },\r\n {\r\n path: \"myproposals\",\r\n name: \"My Proposals\",\r\n component: ParticipantIndex,\r\n },\r\n {\r\n path: \"mypreviousproposal\",\r\n component: () =>\r\n import(\"@/components/participant/my-previous-proposal/index.vue\"),\r\n },\r\n {\r\n path: \"proposal/:id/:juryDetailId\",\r\n component: JuryProposal,\r\n },\r\n {\r\n path: \"score/:phase/:user\",\r\n name: \"scoring\",\r\n component: JuryScoring,\r\n },\r\n {\r\n path: \"finalreport\",\r\n component: () =>\r\n import(\"@/components/participant/final-report/index.vue\"),\r\n },\r\n {\r\n path: \"monev\",\r\n component: () =>\r\n import(\"@/components/participant/final-report/index-view.vue\"),\r\n },\r\n {\r\n path: \"monev/:id/view\",\r\n component: () =>\r\n import(\"@/components/participant/monthly-evaluation/index-view.vue\"),\r\n },\r\n {\r\n path: \"finalreport/approval\",\r\n component: () =>\r\n import(\"@/components/participant/final-report/index-approval.vue\"),\r\n },\r\n {\r\n path: \"finalreport/:id\",\r\n component: () =>\r\n import(\"@/components/participant/final-report/final-report.vue\"),\r\n },\r\n {\r\n path: \"monthly-evaluation/:id\",\r\n name: \"Monthly Evaluation\",\r\n component: MonthlyEvaluation,\r\n },\r\n ],\r\n} as RouteConfig;\r\n","import {\r\n NavigationGuard,\r\n NavigationGuardNext,\r\n Route,\r\n RouteConfig,\r\n} from \"vue-router\";\r\nimport store, { StoreData } from \"@/store\";\r\nimport { tap } from \"rxjs/operators\";\r\nimport { combineLatest } from \"rxjs\";\r\nimport { Store } from \"vuex\";\r\n\r\n// participant\r\nconst ParticipantTemplate = () =>\r\n import(\"@/templates/participant/participant.template.vue\");\r\nconst ParticipantIndex = () =>\r\n import(\"@/components/participant/index/participant-index.vue\");\r\nconst ParticipantVote = () =>\r\n import(\"@/components/participant/vote/participant-vote.vue\");\r\nconst ParticipantFeedback = () =>\r\n import(\"@/components/participant/feedback/participant-feedback.vue\");\r\nconst CreateFeedback = () =>\r\n import(\"@/components/participant/feedback/create-feedback.vue\");\r\nconst ParticipantFeedbackDetail = () =>\r\n import(\"@/components/participant/feedback/participant-feedback-detail.vue\");\r\nconst CreateProposal = () =>\r\n import(\"@/components/participant/proposal/create-proposal.vue\");\r\nconst ProposalApproval = () =>\r\n import(\"@/components/participant/proposal/proposal-approval.vue\");\r\nconst EntryProposalFirst = () =>\r\n import(\"@/components/participant/proposal/entry-proposal-first.vue\");\r\nconst EntryProposalSecond = () =>\r\n import(\"@/components/participant/proposal/entry-proposal-second.vue\");\r\nconst ViewProposalFirst = () =>\r\n import(\"@/components/participant/proposal/view-proposal-first.vue\");\r\nconst ViewProposalSecond = () =>\r\n import(\"@/components/participant/proposal/view-proposal-second.vue\");\r\n\r\nconst MonthlyEvaluation = () =>\r\n import(\"@/components/participant/monthly-evaluation/index.vue\");\r\nconst ParticipantFaq = () => import(\"@/components/participant/faq/index.vue\");\r\nconst ParticipantPedoman = () =>\r\n import(\"@/components/participant/pedoman/index.vue\");\r\n\r\nconst participantMiddleware: NavigationGuard = async (\r\n _to: Route,\r\n _from: Route,\r\n next: NavigationGuardNext\r\n) => {\r\n const year = (store as Store).state.Common.currentYear;\r\n Promise.all([\r\n store.dispatch(\"AuthStore/getUser\"),\r\n store.dispatch(\"PeriodManagementStore/getPeriodManagementsByYear\", {\r\n year,\r\n }),\r\n ]).then((res) => {\r\n combineLatest(res)\r\n .pipe(\r\n tap(() => {\r\n if (\r\n store.getters[\"AuthStore/isParticipant\"] ||\r\n store.getters[\"AuthStore/isCommitee\"] ||\r\n (store.getters[\"AuthStore/isJury\"] &&\r\n store.getters[\"PeriodManagementStore/isParticipantPeriod\"])\r\n ) {\r\n return next();\r\n } else {\r\n return next(\"/\");\r\n }\r\n })\r\n )\r\n .subscribe();\r\n });\r\n};\r\n\r\nexport default {\r\n path: \"/participant\",\r\n component: ParticipantTemplate,\r\n beforeEnter: participantMiddleware,\r\n children: [\r\n {\r\n path: \"/\",\r\n name: \"Home\",\r\n component: ParticipantIndex,\r\n },\r\n {\r\n path: \"monthly-evaluation/:id\",\r\n name: \"Monthly Evaluation\",\r\n component: MonthlyEvaluation,\r\n },\r\n {\r\n path: \"proposal/create\",\r\n name: \"Create Proposal\",\r\n component: CreateProposal,\r\n },\r\n {\r\n path: \"proposal/:id\",\r\n name: \"Proposal\",\r\n component: ProposalApproval,\r\n },\r\n {\r\n path: \"proposal/1/:id/entry\",\r\n name: \"Entry Proposal Phase 1\",\r\n component: EntryProposalFirst,\r\n },\r\n {\r\n path: \"proposal/2/:id/entry\",\r\n name: \"Entry Proposal Phase 2\",\r\n component: EntryProposalSecond,\r\n },\r\n {\r\n path: \"proposal/1/:id/view\",\r\n name: \"View Proposal Phase 1\",\r\n component: ViewProposalFirst,\r\n },\r\n {\r\n path: \"proposal/2/:id/view\",\r\n name: \"View Proposal Phase 2\",\r\n component: ViewProposalSecond,\r\n },\r\n {\r\n path: \"vote\",\r\n name: \"Voting\",\r\n component: ParticipantVote,\r\n },\r\n {\r\n path: \"feedback\",\r\n name: \"List Feedback\",\r\n component: ParticipantFeedback,\r\n },\r\n {\r\n path: \"feedback/create\",\r\n name: \"Create Feedback\",\r\n component: CreateFeedback,\r\n },\r\n {\r\n path: \"feedback/:id\",\r\n component: ParticipantFeedbackDetail,\r\n },\r\n {\r\n path: \"faq\",\r\n component: ParticipantFaq,\r\n },\r\n {\r\n path: \"guidelines\",\r\n component: ParticipantPedoman,\r\n },\r\n {\r\n path: \"finalreport\",\r\n component: () =>\r\n import(\"@/components/participant/final-report/index.vue\"),\r\n },\r\n {\r\n path: \"monev\",\r\n component: () =>\r\n import(\"@/components/participant/final-report/index-view.vue\"),\r\n },\r\n {\r\n path: \"monev/:id/view\",\r\n component: () =>\r\n import(\"@/components/participant/monthly-evaluation/index-view.vue\"),\r\n },\r\n {\r\n path: \"finalreport/approval\",\r\n component: () =>\r\n import(\"@/components/participant/final-report/index-approval.vue\"),\r\n },\r\n {\r\n path: \"finalreport/:id\",\r\n component: () =>\r\n import(\"@/components/participant/final-report/final-report.vue\"),\r\n },\r\n {\r\n path: \"mypreviousproposal\",\r\n component: () =>\r\n import(\"@/components/participant/my-previous-proposal/index.vue\"),\r\n },\r\n {\r\n path: \"term-and-condition\",\r\n component: () =>\r\n import(\"@/components/participant/commitment-agreement/index.vue\"),\r\n },\r\n {\r\n path: \"term-and-condition/:id\",\r\n component: () =>\r\n import(\"@/components/participant/commitment-agreement/view-detail.vue\"),\r\n },\r\n ],\r\n} as RouteConfig;\r\n","import Vue from \"vue\";\r\nimport VueRouter, { NavigationGuardNext, Route } from \"vue-router\";\r\nimport store from \"@/store\";\r\nimport commiteeRouter from \"@/router/commitee.router\";\r\nimport juryRouter from \"@/router/jury.router\";\r\nimport participantRouter from \"@/router/participant.router\";\r\n\r\nVue.use(VueRouter);\r\n\r\nconst router: VueRouter = new VueRouter({\r\n mode: \"history\",\r\n linkExactActiveClass: \"active\",\r\n base: process.env.BASE_URL,\r\n routes: [\r\n {\r\n path: \"/Test\",\r\n component: () => import(\"@/views/Coba.vue\"),\r\n },\r\n {\r\n path: \"/\",\r\n component: () => import(\"@/components/index.vue\"),\r\n // beforeEnter: (\r\n // _to: Route,\r\n // _from: Route,\r\n // next: NavigationGuardNext\r\n // ) => {\r\n // store.dispatch(\"AuthStore/getUser\").then((res) => {\r\n // console.log(\"res\", res);\r\n // res\r\n // .pipe(\r\n // tap((user: any) => {\r\n // console.log(user);\r\n // // this.routeAuth(user);\r\n // next(\"/participant\");\r\n // }),\r\n // catchError(async () => {\r\n // next(\"/login\");\r\n // return of(null);\r\n // })\r\n // )\r\n // .subscribe();\r\n // });\r\n // },\r\n },\r\n {\r\n path: \"/score/:id\",\r\n component: () =>\r\n import(\"@/components/common/direct-score/direct-score.vue\"),\r\n },\r\n // {\r\n // path: '/jury/score/:id',\r\n // component: JuryScoring,\r\n // },\r\n {\r\n path: \"/login\",\r\n component: () => import(\"@/components/login/login.vue\"),\r\n beforeEnter: (\r\n _to: Route,\r\n _from: Route,\r\n next: NavigationGuardNext\r\n ) => {\r\n if (store.getters[\"AuthStore/getAccount\"]) {\r\n next(\"/\");\r\n } else {\r\n next();\r\n }\r\n },\r\n },\r\n {\r\n path: \"/registration\",\r\n component: () => import(\"@/views/Registration.vue\"),\r\n },\r\n commiteeRouter,\r\n participantRouter,\r\n juryRouter,\r\n {\r\n path: \"*\",\r\n redirect: \"/\",\r\n },\r\n ],\r\n scrollBehavior(_to: Route, _from: Route, _savedPosition: any) {\r\n return { x: 0, y: 0 };\r\n },\r\n});\r\n\r\n// router.beforeEach((to, from, next) => {\r\n// console.log(\"before\", to, from);\r\n// next();\r\n// });\r\n\r\nrouter.afterEach((to) => {\r\n Vue.nextTick(() => {\r\n document.title = \"💡 Initiative Project\" + (to.name ? \" - \" + to.name : \"\");\r\n });\r\n});\r\n\r\nexport default router;\r\n","import Axios from \"axios-observable\";\r\nimport { AuthService } from \"@/services/auth.service\";\r\nimport { AuthError } from \"@azure/msal-browser\";\r\nimport config from \"@/client/config\";\r\nimport router from \"@/router/router\";\r\n\r\nwindow.axios = Axios.create({\r\n baseURL: `${config.baseUrl}/api`,\r\n withCredentials: true,\r\n});\r\n\r\nwindow.axios.interceptors.request.use(async (config: any) => {\r\n if (config.withCredentials && config.withCredentials === true) {\r\n const res = await AuthService.acquireTokenClient();\r\n // console.log('client', res, (res as AuthResponse).accessToken, (res as AuthResponse).idToken.rawIdToken);\r\n if (res) {\r\n // window[msalConfig.cache.cacheLocation].setItem('msal.idtoken', res.accessToken);\r\n config.headers.Authorization = `Bearer ${res.accessToken}`;\r\n }\r\n if (res instanceof AuthError) {\r\n return Promise.reject(res);\r\n }\r\n }\r\n // console.log('config', config);\r\n return config;\r\n});\r\n\r\nwindow.axios.interceptors.response.use(undefined, (err: any) => {\r\n if (\r\n err instanceof AuthError ||\r\n (err.response && err.response.status === 401)\r\n ) {\r\n // AuthService.logout();\r\n router.push(\"/login\");\r\n }\r\n return Promise.reject(err);\r\n});\r\n","import Axios from \"axios-observable\";\r\nimport { AuthService } from \"@/services/auth.service\";\r\nimport { AuthError } from \"@azure/msal-browser\";\r\nimport config from \"@/client/config\";\r\n\r\nwindow.axiosEpdpApi = Axios.create({\r\n baseURL: `${config.epdpApiUrl}/api`,\r\n withCredentials: true,\r\n});\r\n\r\nwindow.axiosEpdpApi.interceptors.request.use(async (config: any) => {\r\n if (config.withCredentials && config.withCredentials === true) {\r\n const res = await AuthService.acquireTokenEpdpApi();\r\n if (res) {\r\n config.headers.Authorization = `Bearer ${res.accessToken}`;\r\n }\r\n if (res instanceof AuthError) {\r\n return Promise.reject(res);\r\n }\r\n }\r\n return config;\r\n});\r\n","import { BvMsgBoxOptions, BvToastOptions } from \"bootstrap-vue\";\r\nimport { Observable, of } from \"rxjs\";\r\nimport Vue, { VNode, VueConstructor } from \"vue\";\r\nimport Component from \"vue-class-component\";\r\n\r\n@Component\r\nexport class ModalMessage extends Vue {\r\n public async confirm(\r\n message: string,\r\n options?: BvMsgBoxOptions\r\n ): Promise {\r\n if (!this.$bvModal) {\r\n return null;\r\n }\r\n options = Object.assign(\r\n {\r\n title: \"Confirmation\",\r\n size: \"sm\",\r\n buttonSize: \"sm\",\r\n okVariant: \"danger\",\r\n okTitle: \"YES\",\r\n cancelTitle: \"NO\",\r\n footerClass: \"p-2\",\r\n hideHeaderClose: false,\r\n centered: true,\r\n },\r\n options ?? {}\r\n );\r\n return await this.$bvModal.msgBoxConfirm(message, options);\r\n }\r\n\r\n public toastSuccess(message: string, options?: BvToastOptions): void {\r\n if (!this.$bvToast) {\r\n return;\r\n }\r\n options = Object.assign(\r\n {\r\n title: \"Success\",\r\n variant: \"success\",\r\n solid: true,\r\n },\r\n options\r\n );\r\n this.$bvToast.toast(message, options);\r\n }\r\n\r\n public toastError(message: string | VNode[], options?: BvToastOptions): void {\r\n if (!this.$bvToast) {\r\n return;\r\n }\r\n options = Object.assign(\r\n {\r\n title: \"Error\",\r\n variant: \"danger\",\r\n solid: true,\r\n },\r\n options\r\n );\r\n this.$bvToast.toast(message, options);\r\n }\r\n\r\n public catchError(error: any): Observable {\r\n if (error.response.data === undefined) {\r\n this.toastError(error);\r\n return of(null);\r\n }\r\n const { errors, title, message } = error.response.data;\r\n\r\n if (errors) {\r\n Object.keys(errors).forEach((key: string) => {\r\n this.toastError(errors[key]);\r\n });\r\n return of(null);\r\n } else if (error.response.data instanceof Blob) {\r\n error.response.data.text().then((errMessage: string) => {\r\n this.toastError(errMessage);\r\n });\r\n return of(null);\r\n }\r\n this.toastError(title || message || error.response.data);\r\n return of(null);\r\n }\r\n\r\n public catchErrorMessage(messages: string[]): Observable {\r\n messages.forEach((message) => this.toastError(message))\r\n return of(null);\r\n }\r\n}\r\n\r\nconst ModalConfirmation = {\r\n install(Vue: VueConstructor) {\r\n Vue.mixin(ModalMessage);\r\n },\r\n};\r\n\r\nVue.use(ModalConfirmation);\r\n\r\ndeclare module \"vue/types/vue\" {\r\n interface Vue {\r\n confirm(\r\n message: string,\r\n options?: BvMsgBoxOptions\r\n ): Promise;\r\n toastSuccess(message: string, options?: BvToastOptions): void;\r\n toastError(message: string | VNode[], options?: BvToastOptions): void;\r\n catchError(error: any): Observable;\r\n catchErrorMessage(messages: string[]): Observable;\r\n }\r\n}\r\n","/* eslint-disable no-console */\r\n\r\nimport { register } from \"register-service-worker\";\r\n\r\nif (process.env.NODE_ENV === \"production\") {\r\n register(`${process.env.BASE_URL}service-worker.js`, {\r\n ready() {\r\n console.log(\r\n \"App is being served from cache by a service worker.\\n\" +\r\n \"For more details, visit https://goo.gl/AFskqB\"\r\n );\r\n },\r\n registered() {\r\n console.log(\"Service worker has been registered.\");\r\n },\r\n cached() {\r\n console.log(\"Content has been cached for offline use.\");\r\n },\r\n updatefound() {\r\n console.log(\"New content is downloading.\");\r\n },\r\n updated() {\r\n console.log(\"New content is available; please refresh.\");\r\n },\r\n offline() {\r\n console.log(\r\n \"No internet connection found. App is running in offline mode.\"\r\n );\r\n },\r\n error(error) {\r\n console.error(\"Error during service worker registration:\", error);\r\n },\r\n });\r\n}\r\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{attrs:{\"id\":\"app-root\"}},[_c('router-view')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport Vue from \"vue\";\r\nimport { Component } from \"vue-property-decorator\";\r\n\r\n@Component({})\r\nexport default class AppComponent extends Vue {\r\n async created(): Promise {\r\n await this.$store.dispatch(\"AuthStore/handleRedirectCallback\");\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./app.vue?vue&type=template&id=52204d3e&\"\nimport script from \"./app.vue?vue&type=script&lang=ts&\"\nexport * from \"./app.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./app.scss?vue&type=style&index=0&prod&lang=scss&\"\nimport style1 from \"vue-multiselect/dist/vue-multiselect.min.css?vue&type=style&index=1&prod&lang=css&\"\nimport style2 from \"./custom-multiselect.scss?vue&type=style&index=2&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport \"@/plugins/bootstrap-vue\";\r\n// import \"@/plugins/vue-markdown\";\r\nimport \"@/plugins/axios\";\r\nimport \"@/plugins/axiosEpdpApi\";\r\nimport \"@/plugins/modal-toast\";\r\nimport \"@/registerServiceWorker\";\r\nimport router from \"@/router/router\";\r\nimport store from \"@/store\";\r\nimport App from \"@/app/app.vue\";\r\nimport VueMoment from \"vue-moment\";\r\nimport moment from \"moment\";\r\nimport \"moment/locale/id\";\r\n\r\nVue.config.productionTip = false;\r\nVue.use(VueMoment, {\r\n moment,\r\n});\r\n\r\nnew Vue({\r\n router,\r\n store,\r\n render: (h) => h(App),\r\n}).$mount(\"#app\");\r\n"],"sourceRoot":""}