{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/client/config.ts","webpack:///./src/models/status-proposal.ts","webpack:///./src/models/proposal.ts","webpack:///./src/models/jury-detail.ts","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/client/transformers.ts","webpack:///./src/models/user-header.ts","webpack:///./src/models/uuid.ts","webpack:///./src/app/app.scss?8255","webpack:///./src/models/team-header.ts","webpack:///./src/models/uuid-model.ts","webpack:///./src/plugins/bootstrap-vue.ts","webpack:///./src/client/msal.config.ts","webpack:///./src/services/auth.service.ts","webpack:///./src/client/http.util.ts","webpack:///./src/models/comment-header.ts","webpack:///./src/services/proposal.service.ts","webpack:///./src/store/modules/proposal.store.ts","webpack:///./src/models/period-management.ts","webpack:///./src/services/period-management.service.ts","webpack:///./src/store/modules/period-management.store.ts","webpack:///./src/services/judge.service.ts","webpack:///./src/store/modules/judge.store.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/modal-toast.ts","webpack:///./src/registerServiceWorker.ts","webpack:///./src/app/app.vue?154f","webpack:///./src/app/app.ts","webpack:///./src/app/app.ts?910e","webpack:///./src/app/app.vue","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","baseUrl","assessmentRubricsUrl","posterTemplateUrl","statusId","proposal","id","phase","proposalTitle","category","createdAt","summary","keyword","createdBy","approvedAt","finalizedAt","finalizedBy","order","score","juryDetail","proposalDetails","commentHeader","voting","isCanEntry","currentUserRoles","teamId","team","status","JuryDetail","juryDetailId","emailJury","approveScore","approvalCode","approvalDate","assignDate","proposalId","scoringDetail","map","webpackContext","req","webpackContextResolve","keys","mapToArrayClass","Array","isArray","item","mapToArrayCollection","collectionType","mapToClass","mapToCollection","mapToData","res","mapToPagination","ret","pagination","headers","current_page","total_page","per_page","total_count","approved","finalized","filterObject","obj","assign","UserHeader","binusianId","email","position","businessUnitGroup","businessUnit","subBusinessUnit","departmentGroup","department","extension","handphone","jobBand","leadId","role","roleName","inverseLead","UUID","String","TeamHeader","photo","teamDetail","UUIDModel","this","use","BTable","bordered","small","showEmpty","striped","BButton","variant","msalConfig","auth","clientId","authority","redirectUri","VUE_APP_LOGIN_URL","location","origin","postLogoutRedirectUri","cache","cacheLocation","storeAuthStateInCookie","system","tokenRenewalOffsetSeconds","loginRequest","scopes","clientScope","AuthService","handleRedirectCallback","msalInstance","loginRedirect","console","acquireTokenSilent","catch","acquireTokenRedirect","logout","getAccount","axios","pipe","forEach","objKey","requestToSnake","FormData","arr","from","entries","reduce","acc","val","newKey","replace","toLowerCase","File","append","Date","Boolean","transformed","transformedKey","transformedItem","ProgressEvent","payload","formData","subs","prefix","juryEmail","sectionId","comment","params","JSON","stringify","post","payloadToFormData","put","delete","options","commentId","namespaced","state","proposals","isAllowToSubmit","mainComments","comments","actions","getProposals","context","tap","commit","getProposal","postProposal","_context","updateProposal","deleteProposal","updateOrder","setProposalApproval","addJudge","deleteJudge","finalizeJuryDetail","getJudgeProposals","checkAllowToSubmit","getParticipantProposals","saveProposalSummary","saveProposalBody","createProposalLiterature","updateProposalLiterature","deleteProposalLiterature","saveProposalImplementation","createProposalReference","updateProposalReference","deleteProposalReference","createProposalAppendix","updateProposalAppendix","deleteProposalAppendix","finalizeProposal","savePoster","savePresentationFile","getMainComments","getProposalComments","getComments","postComment","postProposalComment","updateComment","putProposalComment","deleteComment","deleteProposalComment","saveTop15","saveTop3","sendEmailReminderToFinalize","sendEmailReminderToApproval","mutations","setProposals","setProposal","setAllowToSubmit","setMainComments","setComments","year","period","description","startAt","endAt","sendEmailBy","sendEmailAt","isActive","periodId","periodManagements","currentPeriod","getPeriodManagements","filter","getPeriodManagementsByYear","of","editTime","startPeriod","sendEmail","setPeriodManagements","setCurrentPeriod","setCurrentYear","getters","isParticipantPeriod","includes","isJuryPeriod","judges","judge","getJudges","getJudge","setJudges","setJudge","scoringDetails","getJuryDetail","getProposalScoringDetails","submitScoringDetails","finalizeScoringDetails","sendApprovalCode","setScoringDetails","setJuryDetail","votingId","date","user","prize","votings","proposalVoters","isHideVoting","getVotings","getMyVotings","getVoting","postVoting","_ontext","changeHideVoting","getProposalVoters","query","updatePrize","setVotings","setVoting","setHideVoting","setProposalVoters","surname","displayName","mail","userId","body","defer","acquireTokenGraph","mergeMap","config","Authorization","accessToken","a","users","teams","jobBands","roles","userSuggestion","getUsers","getUser","updateUser","getTeams","getTeam","updateTeam","postUser","deleteUser","getJobBands","getRoles","getUserInformation","getUserSuggestion","setUsers","setUser","setTeams","setTeam","setJobBands","setRoles","setUserSuggestion","login","acquireTokenClient","defaults","common","getMsal","isCommitee","isParticipant","isJury","teamName","reportType","responseType","reports","getReports","downloadReport","disposition","split","find","startsWith","fileName","url","URL","createObjectURL","Blob","link","click","setReports","feedbackId","feedbacks","feedback","getFeedbacks","getFeedback","postFeedback","replyFeedback","closeFeedback","setFeedbacks","setFeedback","activities","activityDetail","getActivities","getActivityDetail","setActivities","setActivityDetail","currentYear","getFullYear","formatDate","categories","label","shirtSizes","size","phases","setYear","setKeyword","Store","ProposalStore","PeriodManagementStore","Common","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","commiteeMiddleware","_to","_from","next","store","dispatch","_error","subscribe","path","component","beforeEnter","children","JuryTemplate","JuryIndex","JuryProposal","JuryScoring","to","combineLatest","ParticipantTemplate","ParticipantIndex","ParticipantVote","ParticipantFeedback","CreateFeedback","ParticipantFeedbackDetail","ProposalApproval","EntryProposalFirst","EntryProposalSecond","ViewProposalFirst","ViewProposalSecond","router","linkExactActiveClass","base","routes","redirect","scrollBehavior","_savedPosition","x","y","afterEach","nextTick","title","baseURL","withCredentials","interceptors","idToken","rawIdToken","AuthError","response","$bvModal","buttonSize","okVariant","okTitle","cancelTitle","footerClass","hideHeaderClose","centered","msgBoxConfirm","$bvToast","solid","toast","errors","toastError","ModalConfirmation","install","Vue","mixin","ready","registered","cached","updatefound","updated","offline","_vm","_h","$createElement","_c","_self","attrs","staticRenderFns","productionTip","moment","render","h","$mount"],"mappings":"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","file":"js/app.a7eef78b.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-04c125ca\":\"d322b23e\",\"chunk-09de6534\":\"93e89ed3\",\"chunk-1221d10a\":\"3da70d19\",\"chunk-1cfc2f4d\":\"50f19c01\",\"chunk-2d0ce7df\":\"e9b8e41d\",\"chunk-2d2091fc\":\"4d758fbd\",\"chunk-2d228930\":\"dcb277cd\",\"chunk-2dc8aa84\":\"54462785\",\"chunk-36cdee1e\":\"da3eb697\",\"chunk-3dee51f8\":\"0ce12d9d\",\"chunk-3e11af17\":\"5f1c52c8\",\"chunk-3e3b9619\":\"40497b3c\",\"chunk-42aab5a0\":\"674f13c1\",\"chunk-24eae070\":\"c6b6c90f\",\"chunk-2d0c5b16\":\"d1799f7c\",\"chunk-4aed6113\":\"2771a7ce\",\"chunk-5034dcfc\":\"1f894ac6\",\"chunk-50eb294a\":\"4d251104\",\"chunk-02c85e02\":\"e0379bbc\",\"chunk-035b585b\":\"f7aa610f\",\"chunk-0e52c9d9\":\"e592a44e\",\"chunk-17a4d41b\":\"c7c6abbf\",\"chunk-2d0e1fae\":\"439c6636\",\"chunk-75aeb168\":\"5c05ed52\",\"chunk-3f9cec85\":\"5264e10e\",\"chunk-4f4aeb12\":\"5e45691f\",\"chunk-95aa9ee2\":\"fb23b832\",\"chunk-c3a0244a\":\"5f5cd49a\",\"chunk-c615e638\":\"df8d5b82\",\"chunk-5134004a\":\"225c55aa\",\"chunk-55f76e22\":\"66644cba\",\"chunk-5a9dcaa8\":\"3edb169e\",\"chunk-6be24f15\":\"3dbb7e88\",\"chunk-771c66e8\":\"594cbc56\",\"chunk-794ea283\":\"9c0f3219\",\"chunk-7a5fe665\":\"7b3d0832\",\"chunk-7b4cc8af\":\"dc4aafa1\",\"chunk-7b4f0702\":\"60146d48\",\"chunk-7d9d2e8a\":\"8f842340\",\"chunk-955ce714\":\"1977728a\",\"chunk-a529c7f4\":\"4c7d4e84\",\"chunk-ad4f68fa\":\"65de2110\",\"chunk-c6acc4b2\":\"b740e12d\",\"chunk-e0cffd18\":\"933dbfd7\",\"chunk-ec7e9ce8\":\"9faa7ee8\"}[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-3dee51f8\":1,\"chunk-42aab5a0\":1,\"chunk-24eae070\":1,\"chunk-50eb294a\":1,\"chunk-7a5fe665\":1,\"chunk-e0cffd18\":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-04c125ca\":\"31d6cfe0\",\"chunk-09de6534\":\"31d6cfe0\",\"chunk-1221d10a\":\"31d6cfe0\",\"chunk-1cfc2f4d\":\"31d6cfe0\",\"chunk-2d0ce7df\":\"31d6cfe0\",\"chunk-2d2091fc\":\"31d6cfe0\",\"chunk-2d228930\":\"31d6cfe0\",\"chunk-2dc8aa84\":\"31d6cfe0\",\"chunk-36cdee1e\":\"31d6cfe0\",\"chunk-3dee51f8\":\"08135b8a\",\"chunk-3e11af17\":\"31d6cfe0\",\"chunk-3e3b9619\":\"31d6cfe0\",\"chunk-42aab5a0\":\"e4a3f69e\",\"chunk-24eae070\":\"00717e14\",\"chunk-2d0c5b16\":\"31d6cfe0\",\"chunk-4aed6113\":\"31d6cfe0\",\"chunk-5034dcfc\":\"31d6cfe0\",\"chunk-50eb294a\":\"541df2ed\",\"chunk-02c85e02\":\"31d6cfe0\",\"chunk-035b585b\":\"31d6cfe0\",\"chunk-0e52c9d9\":\"31d6cfe0\",\"chunk-17a4d41b\":\"31d6cfe0\",\"chunk-2d0e1fae\":\"31d6cfe0\",\"chunk-75aeb168\":\"31d6cfe0\",\"chunk-3f9cec85\":\"31d6cfe0\",\"chunk-4f4aeb12\":\"31d6cfe0\",\"chunk-95aa9ee2\":\"31d6cfe0\",\"chunk-c3a0244a\":\"31d6cfe0\",\"chunk-c615e638\":\"31d6cfe0\",\"chunk-5134004a\":\"31d6cfe0\",\"chunk-55f76e22\":\"31d6cfe0\",\"chunk-5a9dcaa8\":\"31d6cfe0\",\"chunk-6be24f15\":\"31d6cfe0\",\"chunk-771c66e8\":\"31d6cfe0\",\"chunk-794ea283\":\"31d6cfe0\",\"chunk-7a5fe665\":\"08135b8a\",\"chunk-7b4cc8af\":\"31d6cfe0\",\"chunk-7b4f0702\":\"31d6cfe0\",\"chunk-7d9d2e8a\":\"31d6cfe0\",\"chunk-955ce714\":\"31d6cfe0\",\"chunk-a529c7f4\":\"31d6cfe0\",\"chunk-ad4f68fa\":\"31d6cfe0\",\"chunk-c6acc4b2\":\"31d6cfe0\",\"chunk-e0cffd18\":\"08135b8a\",\"chunk-ec7e9ce8\":\"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","export default {\r\n baseUrl: process.env.VUE_APP_BACKEND_URL || window.location.origin,\r\n assessmentRubricsUrl:\r\n \"https://www.binus.edu/innovation-award/post/continuous-innovation-award-rubric/\",\r\n posterTemplateUrl:\r\n \"https://www.binus.edu/innovation-award/post/template-poster-ci/\",\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 StatusProposal extends UUIDModel {\r\n public statusId: UUID = new UUID();\r\n public name = \"\";\r\n\r\n public proposal: Proposal[] = [];\r\n}\r\n","import JuryDetail from \"@/models/jury-detail\";\r\nimport StatusProposal from \"@/models/status-proposal\";\r\nimport TeamHeader from \"@/models/team-header\";\r\nimport { UUIDModel } from \"@/models/uuid-model\";\r\nimport ProposalDetail from \"@/models/proposal-detail\";\r\nimport CommentHeader from \"@/models/comment-header\";\r\nimport Voting from \"@/models/voting\";\r\n\r\nexport default class Proposal extends UUIDModel {\r\n public id = \"\";\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\r\n public teamId = \"\";\r\n public team: TeamHeader = new TeamHeader();\r\n\r\n public statusId = \"\";\r\n public status: StatusProposal = new StatusProposal();\r\n}\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","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\";","import { OperatorFunction, UnaryFunction } from \"rxjs/interfaces\";\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport { pipe } from \"rxjs/util/pipe\";\r\nimport { throwError } from \"rxjs\";\r\nimport { map, catchError } from \"rxjs/operators\";\r\nimport { plainToClass } from \"class-transformer\";\r\nimport { Collection } from \"@/models/collection\";\r\nimport { ClassConstructor } from \"class-transformer/types/interfaces/class-constructor.type\";\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\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","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\r\nUUID.prototype = new String();\r\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./app.scss?vue&type=style&index=0&lang=scss&\"","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// FormRadioPlugin,\r\n// TablePlugin,\r\n// LayoutPlugin,\r\n// IconsPlugin,\r\n// SpinnerPlugin,\r\n// BadgePlugin,\r\n// ImagePlugin,\r\n// OverlayPlugin,\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// BTable: {\r\n// bordered: 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\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(FormDatepickerPlugin);\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(FormRadioPlugin);\r\n// Vue.use(TablePlugin);\r\n// Vue.use(LayoutPlugin);\r\n// Vue.use(IconsPlugin);\r\n// Vue.use(SpinnerPlugin);\r\n// Vue.use(BadgePlugin);\r\n// Vue.use(ImagePlugin);\r\n// Vue.use(OverlayPlugin);\r\n\r\nVue.use(BootstrapVue, {\r\n BTable: {\r\n bordered: 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 * as Msal from \"msal\";\r\n\r\nconsole.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.AuthenticationParameters = {\r\n scopes: [\"openid\", \"profile\", \"User.Read\", \"People.Read\"],\r\n // forceRefresh: true,\r\n};\r\n\r\nexport const clientScope: Msal.AuthenticationParameters = {\r\n scopes: [\r\n process.env.VUE_APP_AZURE_AD_CLIENT_ID ||\r\n \"7ee15a7a-5992-42b4-8e11-b88cb35288fe\",\r\n ],\r\n // forceRefresh: true,\r\n};\r\n","import * as Msal from \"msal\";\r\nimport { msalConfig, loginRequest, clientScope } 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.UserAgentApplication = new Msal.UserAgentApplication(\r\n msalConfig\r\n );\r\n\r\n public static login(): void {\r\n AuthService.handleRedirectCallback();\r\n return (\r\n AuthService.msalInstance\r\n // .loginPopup(loginRequest);\r\n .loginRedirect(loginRequest)\r\n );\r\n }\r\n\r\n public static handleRedirectCallback(): void {\r\n AuthService.msalInstance.handleRedirectCallback(console.error);\r\n }\r\n\r\n public static async acquireTokenGraph(): Promise {\r\n return AuthService.msalInstance\r\n .acquireTokenSilent(loginRequest)\r\n .catch((error) => {\r\n // if (\r\n // error.errorCode === \"consent_required\" ||\r\n // error.errorCode === \"interaction_required\" ||\r\n // error.errorCode === \"login_required\"\r\n // ) {\r\n return AuthService.msalInstance.acquireTokenRedirect(loginRequest);\r\n // }\r\n });\r\n }\r\n\r\n public static async acquireTokenClient(): Promise {\r\n return AuthService.msalInstance\r\n .acquireTokenSilent(clientScope)\r\n .catch((error) => {\r\n // if (\r\n // error.errorCode === \"consent_required\" ||\r\n // error.errorCode === \"interaction_required\" ||\r\n // error.errorCode === \"login_required\"\r\n // ) {\r\n return AuthService.msalInstance.acquireTokenRedirect(clientScope);\r\n // }\r\n });\r\n }\r\n\r\n public static logout(): void {\r\n return AuthService.msalInstance.logout();\r\n }\r\n\r\n public static getAccount(): Msal.Account {\r\n return AuthService.msalInstance.getAccount();\r\n }\r\n\r\n public static getMsal(): Msal.UserAgentApplication {\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 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 const subs = (data: any, prefix?: string) => {\r\n for (const key in data) {\r\n const p = prefix ? `${prefix}[${key}]` : key;\r\n if (data[key] instanceof File) {\r\n if (data[key]) {\r\n formData.append(p, data[key]);\r\n }\r\n } else if (data[key] instanceof Array || data[key] instanceof Object) {\r\n subs(data[key], p);\r\n } else {\r\n if (data[key]) {\r\n formData.append(p, data[key]);\r\n }\r\n }\r\n }\r\n };\r\n\r\n subs(payload);\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 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, of } from \"rxjs\";\r\nimport Proposal from \"@/models/proposal\";\r\nimport { Collection } from \"@/models/collection\";\r\nimport {\r\n mapToArrayClass,\r\n mapToArrayCollection,\r\n mapToClass,\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 ): Observable> {\r\n return window.axios\r\n .get(`/proposal/${proposalId}`)\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 return window.axios.post(\r\n `/proposal`,\r\n HttpUtil.payloadToFormData({ ...params, team })\r\n );\r\n }\r\n\r\n public static updateProposal(params: any): Observable {\r\n return window.axios.put(`/proposal`, HttpUtil.payloadToFormData(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 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 savePresentationFile(params?: any): Observable {\r\n return window.axios.post(\r\n `/proposal/entryproposal/presentationFile`,\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","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 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 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 savePresentationFile: (\r\n _context: ActionContext,\r\n params: any\r\n ): any => {\r\n return ProposalService.savePresentationFile(params);\r\n },\r\n\r\n getMainComments: (\r\n context: ActionContext,\r\n params: any\r\n ): any => {\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 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 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 { 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","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 { 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\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","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 { 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 mapToArrayClass,\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: (state: VotingData, votings: Paginate): 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\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 );\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&$top=10`,\r\n config\r\n );\r\n }\r\n return of({ data: [] });\r\n }),\r\n mapToData(),\r\n mergeMap((res) => {\r\n return of(res.value);\r\n }),\r\n mapToArrayClass(UserSuggestion)\r\n );\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\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}\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 }),\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 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 },\r\n} as Module;\r\n","import UserHeader from \"@/models/user-header\";\r\nimport { AuthService } from \"@/services/auth.service\";\r\nimport * as Msal from \"msal\";\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: (): void => {\r\n return AuthService.login();\r\n },\r\n handleRedirectCallback: (): void => {\r\n return AuthService.handleRedirectCallback();\r\n },\r\n acquireTokenGraph: (): Promise => {\r\n return AuthService.acquireTokenGraph();\r\n },\r\n acquireTokenClient: (): Promise => {\r\n return 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: (context: ActionContext): void => {\r\n 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.Account => {\r\n return AuthService.getAccount();\r\n },\r\n getMsal: (): Msal.UserAgentApplication => {\r\n return AuthService.getMsal();\r\n },\r\n isCommitee: (state: AuthData): boolean => {\r\n return (\r\n state.user?.user.roleName === \"Commitee\"\r\n //state.user && state.user.user && state.user.user.roleName === \"Commitee\"\r\n );\r\n },\r\n isParticipant: (state: AuthData): boolean => {\r\n return (\r\n state.user?.user.roleName === \"Participant\"\r\n // state.user &&\r\n // state.user.user &&\r\n // state.user.user.roleName === \"Participant\"\r\n );\r\n },\r\n isJury: (state: AuthData): boolean => {\r\n return (\r\n state.user?.user.roleName === \"Jury\"\r\n // state.user && state.user.user && state.user.user.roleName === \"Jury\"\r\n );\r\n },\r\n },\r\n} as Module;\r\n","import { 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}\r\n","import { Observable } from \"rxjs\";\r\nimport { mapToArrayClass, mapToData } from \"@/client/transformers\";\r\nimport Report from \"@/models/report\";\r\n\r\nexport class ReportService {\r\n public static getReports(params: any = null): Observable {\r\n return window.axios\r\n .get(`/report`, { 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(`/report/excel/${reportType}`, {\r\n params: { year },\r\n responseType: \"blob\",\r\n });\r\n }\r\n}\r\n","import { ReportService } from \"@/services/report.service\";\r\nimport { tap } from \"rxjs/operators\";\r\nimport Report from \"@/models/report\";\r\nimport { ActionContext, Module } from \"vuex\";\r\nimport { StoreData } from \"@/store\";\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 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(\"setReports\", 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\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 );\r\n },\r\n },\r\n mutations: {\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}\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 \"Phase 1 - Selection & Submission\",\r\n \"Phase 1 - Scoring for Top 10 Selections\",\r\n \"Phase 2 - Innovation Camp & Top 10 Presentation\",\r\n \"Phase 2 - Scoring for Top 3 Selections\",\r\n \"Phase 3 - Grand Final & Awarding\",\r\n ],\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, { PeriodManagementData } from \"@/store/modules/period-management.store\";\r\nimport JudgeStore, { JudgeData } from \"@/store/modules/judge.store\";\r\nimport JuryDetailStore, { JuryDetailData } 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\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: \"list-proposal/1\",\r\n name: \"Proposals Phase 1\",\r\n component: ListProposalFirst,\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\",\r\n name: \"Assign Judges Phase 1\",\r\n component: AssignJudgesFirst,\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: \"generate-report\",\r\n name: \"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 Activity\",\r\n component: CommiteeActivity,\r\n },\r\n {\r\n path: \"activity/:id\",\r\n component: DetailActivity,\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\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: \"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} 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 participantMiddleware: 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 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: \"proposal/create\",\r\n // name: \"Create Proposal\",\r\n // component: CreateProposal,\r\n // },\r\n {\r\n path: \"proposal/import\",\r\n name: \"Import Proposal\",\r\n component: () =>\r\n import(\"@/components/participant/proposal/import-proposal.vue\"),\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} 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 =\r\n \"💡 Continuous Innovation\" + (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, AuthResponse } from \"msal\";\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 as AuthResponse).idToken) {\r\n // window[msalConfig.cache.cacheLocation].setItem('msal.idtoken', res.accessToken);\r\n config.headers.Authorization = `Bearer ${\r\n (res as AuthResponse).idToken.rawIdToken\r\n }`;\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 { BvMsgBoxOptions, BvToastOptions } from \"bootstrap-vue\";\r\nimport { Observable, of } from \"rxjs\";\r\nimport Vue, { 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, 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 const { errors, title, message } = error.response.data;\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 }\r\n this.toastError(title || message || error.response.data);\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, options?: BvToastOptions): void;\r\n catchError(error: any): 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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app-root\"}},[_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from \"vue\";\r\nimport { Component } from \"vue-property-decorator\";\r\n\r\n@Component\r\nexport default class AppComponent extends Vue {}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/eslint-loader/index.js??ref--13-0!./app.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/eslint-loader/index.js??ref--13-0!./app.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./app.vue?vue&type=template&id=6ac46c86&\"\nimport script from \"./app.ts?vue&type=script&lang=js&\"\nexport * from \"./app.ts?vue&type=script&lang=js&\"\nimport style0 from \"./app.scss?vue&type=style&index=0&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\nimport \"@/plugins/axios\";\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\n\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":""}