{"version":3,"sources":["components/Button/ButtonUploadPicture.js","services/PostData.js","assets/img/brand/nas_logo.png","components/Hoc/FormSelectWilayah.js","components/Language/dictionary.js","components/Language/configLanguge.js","components/Language/getBahasa.js","backends/pdfjs.js","components/PDFViewer/PDFViewer.js","components/Button/UploadFile.js","views/Pages/Page404/Page404.js","views/Pages/News/NewsWebViews.js","containers/LspLogin.js","components/config/actions.js","components/config/axios.js","assets/sound/chatone.mp3","containers/DefaultLayout/component/drawerInfoRoom.js","containers/DefaultLayout/component/chatList.js","containers/DefaultLayout/component/drawerChatRoom.js","containers/DefaultLayout/component/chatContainer.js","_nav.js","routes.js","containers/DefaultLayout/DefaultAside.js","containers/DefaultLayout/DefaultFooter.js","containers/DefaultLayout/DefaultHeader.js","containers/DefaultLayout/DefaultLayout.js","containers/Login.js","containers/MultiRole.js","containers/ForgotPassword.js","views/Register/ModalConfirm.js","views/Register/newRegisterAsesi.js","views/Register/newRegisterAsesor.js","views/Register/Register.js","containers/Logout.js","assets/img/brand/confirm.png","views/Register/Confirm.js","App.js","index.js","assets/img/brand/lsp-energi.png","assets/img/brand/Logo-LSP-GPPB.png","assets/img/brand/msdm.png","assets/img/brand/logo-pim.png","assets/img/brand/lsp-abi@3x.png","assets/img/brand/lspfotografi.png","assets/img/brand/logo-LSPPM.png","assets/img/brand/logo-hki.png","assets/img/brand/lspditekindo.png","assets/img/brand/den.png","assets/img/brand/nas_landscape_white_font.png","assets/img/brand/nas_landscape.png","assets/img/brand/logot2k3i.png","assets/img/brand/area.png","assets/img/brand/oshe.png","assets/img/brand/nki.png","assets/img/brand/k3ibl.png","assets/img/brand/lik.png","components/config/config.js","assets/img/brand/lsp-abi.png","assets/img/brand/logo-ypia.png","containers/Helpers/digest.js"],"names":["UploadPicture","React","Component","constructor","arguments","state","loading","customRequest","info","this","setState","file","callback","reader","FileReader","addEventListener","result","readAsDataURL","fileName","name","getBase64","base64","upload","filename","props","onSuccess","render","uploadButton","_jsx","Button","children","_jsxs","className","Icon","type","Upload","accept","showUploadList","onRemove","PostData","data","didTimeOut","config","baseUrl","path_users","Promise","resolve","reject","timeout","setTimeout","Error","fetch","method","body","JSON","stringify","then","response","json","responseJson","clearTimeout","catch","error","alert","err","window","location","reload","Option","Select","FormSelectWilayah","react","super","handleChange","value","onChange","getDataArea","axios","concat","kelurahan_name","payloadArea","onKelurahanSearch","fetching","length","path","componentDidMount","componentDidUpdate","prevProps","prevState","province_name","kota_name","kecamatan_name","kelurahan_id","_Fragment","undefined","showSearch","placeholder","Label","style","color","multiLanguage","select","notFoundContent","Spin","size","filterOption","onSearch","width","map","d","lang","en","add","Edit","Delete","user","picture","firstName","lastName","role","action","alertField","contact","gender","placeBirth","dateOfBirth","address","NoCertificate","institute","religinon","selected","position","submit","cancel","back","male","female","change","changeState","alertDelete","alertRejected","alertApproved","expiredDate","fileDuration","description","example","search","open","newAddress","list","competencePending","schedule","mainSchema","subSchema","assign","create","home","notif","competence","activation","alertexpired","noteListSkill","skill","until","confirm","delete","totalUnit","schemaName","schema","subSchemaCode","subSchemaName","mainSchemaName","KBLICode","KBLIYear","KBJICode","KBJIYear","uploadTemplate","year","time","tglSubmit","startDate","endDate","fileAcces","note","statusGraduation","recomentAsesor","positionPleno","plenoDate","ChangePlenoDate","plenoMember","assessmentLetter","certificate","assessmentName","tukName","countAsesor","countAsesi","countAdmin","inputRequirements","requirementsType","assessmentDate","viewMore","formName","formType","DepartmentCode","DepartmentName","FacultyCode","alertUserName","alertName","alertPatternName","alertPatternContact","alertEmail","alertContact","alertMinMaxContact","logout","alertInputNull","alertInput","alertMaxUser","letter","print","view","alertEmptyForm","alertWrongInput","alertAlready","scheduleAsesor","ActiveAsesor","stateRequestAssessment","stateReadyPraAssessment","stateReview","statePraAsesment","stateReal","statePlenoFinish","stateCertificate","stateAsesmentReject","dateSubmit","Assessment","Assessors","people","APLFile","HelperDownload","DownloadLink","UserExisting","AssignType","withAPL","notAPL","selectAPLTab","messageAlert","alreadyAssign","portfolio","reviewDoc","PraAssessmentCompleted","PlenoFinish","signature","signatureAlready","no_assessors","printCertificate","reset","tukRequest","viewDocument","approve","DataAssesment","PortfolioName","PortfolioType","yes","no","waitingConfirm","noFile","managementLetters","needPermission","letterName","lastUpdate","typeFile","number","typeTuk","document","assignAsesi","AssessorName","SuccessAsign","multipleFile","alertRadioButton","assessors","submission","listRejected","listPortfolio","listTUK","listUsers","listAsesor","listAsesi","listMainSchema","listSchema","searching","viewAllNotif","asesi","listAlumni","method_test","labelModalReject","allState","completed","documentAsesi","competencyTest","portfolioTest","confirmDelete","confirmReject","UnitCompetention","participant","nameTuk","archives","codeTuk","codeUnit","date","requestDate","continue","alertNumber","minCharacter","alertErrorField","purposeAssessment","generalRequiret","attachFile","save","alertCancel","userAlready","jobs","jobPostCode","jobPhone","jobAddress","jobFax","jobEmail","restore","restoreAlert","education","lastEducation","docAssesment","docType","signDate","approving","approved","approval","date_approved","id","religion","dateSubmisson","language","bahasa","dictionary","alertPattertContact","placeholderCodeTUK","MultiLanguageTitle","localStorage","getItem","PDFJs","init","source","element","iframe","createElement","src","height","appendChild","PDFViewer","rotate","direction","backend","viewerRef","createRef","current","ref","baseFileType","UploadFile","fileSize","mime_type","fileExt","split","pop","fileType","shift","arrAvailable","valid","find","val","toLowerCase","handleErrorExt","notification","placement","message","marginTop","customButton","disabled","multiple","Page404","Container","Row","Col","md","NewsWebViews","article_id","match","params","Axios","get","path_GET_article","res","payload","author","categories","content","creator","created_date","media","tags","title","creator_date","formatDate","backgroundColor","paddingBottom","paddingTop","alt","dangerouslySetInnerHTML","__html","LspLogin","getListLsp","GetListData","responseStatus","e","status_code","clear","replace","cekDomain","domain","hostname","hideCopyright","lspLoginSubmit","item","target","validate","user_permission_id","hidden","handleSubmit","logged_in","LoadingOverlay","active","spinner","text","Card","margin","CardBody","marginLeft","marginRight","textAlign","overflowX","sm","onClick","CardImg","top","LogoImage","CardText","fontSize","lsp_name","Alert","marginBottom","href","NotificationContainer","withAlert","async","newToken","GetToken","url","strUrl","headers","Authorization","secret_key","GetListDataCustomUrl","status","GetDownloadFileZip","ext","responseType","URL","createObjectURL","link","setAttribute","click","removeChild","revokeObjectURL","PostDownloadFile","parameter","GetListDataMessage","urlChatMessage","insertFormData","Accept","insertData","inputDataNew","inputChat","editChat","EditData","DeleteData","DeleteChat","refreshToken","token","responseJSON","setItem","setLocalStorage","replaceAll","str","RegExp","concatTwoUrl","firstUrl","secondUrl","startsWith","removeCharAt","endsWith","handleUrlFile","String","includes","newBaseUrl","deleteSlashBase","urlLinode","getRole","urlLinodeAbi","parse","newPathFile","deleteSlashPath","valueUrl","valuePath","slash","deleteSlashTwo","urlLeft","urlRight","newLeft","newRight","pos","tmp","join","hasPropertyWithValue","array","propertyName","propertyValue","some","formatFullIndoDate","currentDate","Date","getDay","getDate","getMonth","getFullYear","getFileExtension","slice","lastIndexOf","isImage","fileExtension","delay","ms","idendity","userInfo","logged","tokenIntegrate","DrawerInfoRoom","user_id","setUser_id","useState","useEffect","userData","onClose","roomName","dateRoom","renderRole","role_code","Drawer","visible","zIndex","bodyStyle","padding","display","flexDirection","fontWeight","moment","format","overflow","paddingLeft","maxHeight","overflowY","borderRadius","List","dataSource","renderItem","Item","parseInt","first_name","last_name","ChatList","messageList","moreMessage","totalMessage","roomId","firstBottom","setFirstBottom","userId","setUserId","bodySetted","setBodySetted","openPreview","setOpenPreview","srcPreview","setSrcPreview","drawerRef","useRef","drawerBody","getElementById","bottomMessage","LeftChat","_ref","chat","sender","detail","maxWidth","minWidth","justifyContent","alignItems","RenderFile","RightChat","_ref2","_ref3","handleOpenPreview","cursor","icon","handleOpenDocs","parentElement","RenderDateMiddle","_ref4","RenderMessage","viewDate","fullName","isSame","subtract","sender_id","Fragment","handleGetNextMessage","focus","Modal","onCancel","cancelText","okButtonProps","InfiniteScroll","loadMore","hasMore","loader","useWindow","getScrollParent","isReverse","initialLoad","minHeight","setRenderMessage","arrayDate","index","createdDate","findIndex","valDate","nextSame","push","scrollIntoView","behavior","scrollBottom","DrawerChatRoom","setLastMessage","lastMessage","chatMessage","setChatMessage","messageHistory","setMessageHistory","setMessageList","curentOffset","setCurrentOffset","openInfo","setOpenInfo","setTotalMessage","dataParticipant","setDataParticipant","setFetching","disableSent","setDisableSent","getChatParticipant","getRoomById","getMessage","readMessage","getRestMessage","lastMessageData","room_id","tmpArr","count","chat_room_id","compare","a","b","arrParticipant","sort","indexSelf","dataSelft","splice","createMessage","handleChat","category","RightInput","handleUpload","addEmoji","emoji","textMessage","native","LeftInput","Popover","Picker","onSelect","trigger","TitleHeaderRoomChat","handleOpenInfo","handleCloseInfo","handleMoreMessage","prev","bottom","right","left","Input","onKeyPress","key","addonBefore","addonAfter","ChatContainer","handleClose","setUnreadChat","audio","socketUrl","setSocketUrl","urlSocketChat","username","playing","setPlaying","roomChat","setRoomChat","openRoom","setOpenRoom","setRoomId","setRoomName","setDateRoom","unMounted","setUnmounted","readyState","setReadyState","ringTone","webSocketM","setWebSocketM","startWebSocket","close","socketMessage","WebSocket","onmessage","onopen","onclose","play","pause","removeEventListener","getListRoomChat","countUnread","unread","RenderLastChat","lastChat","last_message","ownChat","ListRoomChat","today","last_message_date","handleOpenRoomChat","Badge","permission","dev","items","isLJKIntegration","DEV","MAG","SUP","ADM","ADT","ACS","APL","Permission","currentBahasa","currentRole","newPermission","ref_id","idLSPABI","newItems","isLSPABI","filter","Loading","CertificateAlumni","Loadable","ProfileUser","ProfileAdminTuk","ProfileAsesor","ProfileAplicant","Applicant","Data_Applicant","Dashboard","Setting","SubSchema","EditAssessors","EditApplicant","EditDataUserAcessor","EditDataUserAplicant","EditDataUserAdminTuk","EditDataUserManagements","EditSchema","EditData_mainSchema","EditData_UjiTertulis","EditTuk","MainSchema","Complaint","Letters","PemohonSKK","DetailPemohon","EditLetters","EditComplaint","UjiTertulis","RiwayatHistory","InputData","InputData_subSchema","InputData_mainSchema","InputData_Complaint","InputLetters","InputData_tuk","ListSkill","PendingCompetance","Schedule","JoinSkema","DetailCertificate","InputData_JoinSkema","Schedule_AdminTuk","PortofolioAsesi","DokAsesmen","PortofolioAsesorKhusus","DraftAssessment","Submissions","InputAssessment","InputAssessmentAdminTuk","InputAssessmentUjiTertulis","InputAssessmentUjiEssay","InputUjianTertulis","InputUjianEssay","Schedule_accessors","TUK","Users","NotFound","News","AssignApplicant","ListApplicantTuk","AssignAssessors","AssignAdmin","Assign","AssignAdminTuk","AssignDetailArchive","Portofolio","PortofolioKhusus","PortofolioKhususArsip","DetailFileAsesi","FormDetailFileAsesi","PortofolioAsesor","PortofolioPeserta","HistorySoal","Notif","AssignPleno","GenerateLetters","Alumni","InputAlumni","EditAlumni","Portfolios","Portfolios_Umum","Materi_Uji","BuktiAdministratif","InputData_Portfolios","Input_Portfolios_umum","Input_Materi_Uji","EditData_portfoliosMaster","EditData_MateriUji","Edit_portfoliosMasterUmum","Edit_portfoliosMasterMateriUji","EditActivity","DetailAssessmentArchive","NoSurat","Rejected","RejectedAdminTuk","ManagementSurat","AsesiUnderAssessors","AsesiUnderAssessment","AsesiAssignAsesors","PortfolioRoleAsesi","Archive","PersyaratanUmum","RestoreData","PengajuanBanding","HeavyVehicle","Institution","AssesmentHistory","routes","component","exact","DefaultLayout","DefaultAside","toggle","tab","activeTab","attributes","Nav","tabs","NavItem","NavLink","classNames","TabContent","TabPane","tabId","ListGroup","ListGroupItem","tag","AppSwitch","variant","label","defaultChecked","Progress","defaultProps","DefaultFooter","rel","DefaultHeader","checkRole","getListNotif","listNotification","setupMenuList","Menu","whiteSpace","checkUserData","ModalAntd","onOk","checkWhiteLabel","isWhiteLabel","Logo","Brand_LSP","currentLogo","brandLogo","event","notification_id","auth","Digest","path_notif","options","digest","detailAssessor","accessor_id","detailSchedule_id","assessment_id","detailStatus","last_state_assessor","modal","backdrop","toggleExit","payloadNotif","bellNotif","badge","sumNotification","tokenData","setting","roleAcs","roleApl","roleAdt","roleDev","roleMag","notifications","hide","titleNotif","detailNotif","whiteLabel","Redirect","to","externalCloseBtn","isOpen","external","ModalHeader","ModalBody","xs","ModalFooter","AppSidebarToggler","mobile","MediaQuery","AppNavbarBrand","full","navbar","AppHeaderDropdown","textDecoration","DropdownAntd","overlay","offset","theme","DropdownToggle","nav","hideBadge","DropdownMenu","DropdownItem","header","role_name","connect","isRead","newRoutes","routes2","isLPJK","newRoute","routePemohonSkk","handleOpenChat","openChat","unreadChat","closeOpenChat","pathName","pathname","pagination","profile","codeBahasa","AppHeader","fixed","Suspense","fallback","bind","AppSidebar","minimized","AppSidebarHeader","AppSidebarForm","AppSidebarNav","navConfig","getLsp","AppSidebarMinimizer","AppSidebarFooter","chatone","fluid","Switch","route","idx","Route","from","AppAside","Fab","AppFooter","Login","getDataLSP","logo","kode_lsp","resDataLSP","lspName","code","toggleNested","preventDefault","nestedModal","closeAll","FormData","append","email","path_forgotPass","toggleAll","responseData","userPermission","user_permissions","identity_type","newArrPermission","newUserPermission","cekHttps","newUrl","arrHttp","toString","setLocalStorageSelected","history","selected_permission","firstUserPermission","lsp_logo","selectedPermission","isIntegration","isLpjkIntegration","newListIntegration","integrationList","integration_detail","system_id","urlDomain","url_domain","dataIntegration","auth_type","integration_id","system_name","authParameter","auth_parameter","arr","tukAccess","tuk_access","lsp_id","sub_module_code","submitContinue","permission_id","formData","login","username_email","password","NotificationManager","warning","group_id","loadingLogo","register_id","removeItem","onClosed","Form","onSubmit","spinning","htmlFor","Password","Link","fontFamily","MultiRole","submitMulti","i","firstSelectedPermission","userdata","onpopstate","dataPermission","dataUser","tuk_name","paddingRight","ForgotPassword","handleChangeEmail","validateEmail","test","loadingSubmit","success","block","ModalConfirm","closable","footer","showIcon","borderColor","emailReg","usernameReg","RegisterAsesi","dataTuk","setDataTuk","dataLsp","setDataLsp","dataReligion","setDataReligion","dataJobs","setDataJobs","dataInstitution","setDataInstitution","setUsername","setEmail","setFirstName","setLastName","nik","setNik","telpHome","setTelpHome","setPlaceBirth","dateBirth","setDateBirth","setGender","setSignature","setAdress","kebangsaan","setKebangsaan","noTelp","setNoTelp","zipCode","setZipCode","setReligion","kelurahanId","setKeluarahanId","pendidikan","setPendidikan","setJobs","institusi","setInstitusi","jabatan","setJabatan","emailKantor","setEmailKantor","alamatKantor","setAlamatKantor","telpKantor","setTelpKantor","faxKantor","setFaxKantor","lsp","setLsp","tuk","setTuk","zipCodeKantor","setZipCodeKantor","uniqueCode","setUniqeCode","applicantCategory","setApplicantCategory","vApplicantCategory","setVApplicantCategory","vUniqueCode","setVUniqueCodee","vUsername","setVUsername","vEmail","setVEmail","vFirstName","setVFirstName","vLastName","setVLastName","vNik","setVNik","vTelpHome","setVTelpHome","vPlaceBirth","setVPlaceBirth","vDateBirth","setVDateBirth","vGender","setVGender","vSignature","setVSignature","vAddress","setVAdress","vKebangsaan","setVKebangsaan","vNoTelp","setVNoTelp","vZipCode","setVZipCode","vReligion","setVReligion","vKelurahanId","setVKeluarahanId","vPendidikan","setVPendidikan","vJobs","setVJobs","vInstitusi","setVInstitusi","vJabatan","setVJabatan","vEmailKantor","setVEmailKantor","vAlamatKantor","setVAlamatKantor","vLsp","setVLsp","vTuk","setVTuk","vTelpKantor","setVTelpKantor","vFaxKantor","setVFaxKantor","vZipCodeKantor","setVZipCodeKantor","vmEmail","setVmEmail","vmEmailKantor","setVmEmailKantor","vmUsername","setVmUsername","vmNik","setVmNik","toUsername","delayUsernamePass","setDelayUsernamePas","toEmail","delayEmailPass","setDelayEmailPas","uCodeValid","setUCodeValid","openSignature","setOpenSignature","setLoadingSubmit","loadingConfirm","setLoadingConfirm","openModalConfirm","setOpenModalConfirm","messageConfirm","setMessageConfirm","logoLSP","setLogoLSP","logoBrand","setLogoBrand","setWhiteLabel","isAbi","setIsAbi","refPad","checkLspCode","getInstitution","getReligion","getJobs","getLSP","getDataTuk","confToUsername","confToEmail","validateUsername","setDelayUsername","setDelayEmail","checkLogoLSP","path_religion","path_jobs","toggleConfirm","payloadApplicant","place_of_birth","date_of_birth","gender_code","jobs_code","telepon_rumah","applicant_category","handleOkSignature","getTrimmedCanvas","toDataURL","okText","SignatureCanvas","penColor","canvasProps","float","layout","Divider","orientation","gutter","xl","lg","validateStatus","help","required","handleChangeUsername","handleChangeNik","DatePicker","defaultPickerValue","disabledDate","onKeyDown","Radio","Group","jobs_name","institution_name","handleChangeEmailKantor","TextArea","cols","minLength","maxLength","ButtonR","handleBack","handleGetLspName","RegistrasiAsesor","noRegistrasi","setNoRegistrasi","vNoregistrasi","setVNoRegistrasi","pendidikan_terakhir","registration_number","Tabs","Register","defaultActiveKey","Logout","useHistory","clearLocalStorage","cookie","forEach","c","toUTCString","Confirm","btn_Login","checkIfcanResend","setNextResend","submitResendPassword","emailBody","storageNextResend","currentTime","nextResend","isBefore","dataLocalStorage","componentWillUnmount","LogoConfirm","App","handleNewUserMessage","newMessage","console","log","logged_id","BrowserRouter","require","globalState","storeRedux","createStore","ReactDOM","Provider","store","UrlEmbed","urlLPJK","path_admin","path_management","path_tuk","path_tukAdd","path_HomeTuk","path_pleno","path_requirement_master","path_schema","path_schemaViews","path_certificate_schema","path_applicant","path_applicantGeneral","path_assessments","path_draftAssessment","path_assign_asesi","path_letters","path_alumni","path_accessors","path_accessorsGeneral","path_accessorCompetence","path_accessorsSchedule","path_masterData","path_masterData_umum","path_materi_uji","path_reqruitmentCluster","path_manageSurat","path_unitCompetention","path_jointRequest","path_persyaratanUmum","path_persyaratanUmum_otherAsesi","path_requirement","path_reqruitmen_file","path_deletePermanenAssessment","path_restoreAssessment","query_notif","method_put","getUserId","getUserNik","refId","getAPI","minimizeString","trunc","month","formatCapitalize","charAt","toUpperCase","substring","clearUnderscore","getData","prototype","n","substr","lsp_energi","lsp_gppb","demo","lsp_abiLogin","lsp_pm","lsp_pim","lsp_hki","lsp_ditekindo","lsp_fotografi","lsp_msdm","logot2k3","lsp_den","lsp_area","lsp_oshe","lsp_nki","lsp_k3ibl","lsp_lik","parseParamsURLquery","queryString","URLSearchParams","deleteQueryString","checkIfDisable","lspID","getUserLspId","btoa","hmacSHA512"],"mappings":"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","file":"static/js/main.9d2af0f2.chunk.js","sourcesContent":["import React from \"react\";\nimport { Upload, Button } from \"antd\";\nimport { Icon } from \"@ant-design/compatible\";\n\nfunction getBase64(file, callback) {\n const reader = new FileReader();\n reader.addEventListener(\"load\", () => callback(reader.result));\n reader.readAsDataURL(file);\n reader.fileName = file.name;\n}\n\nclass UploadPicture extends React.Component {\n state = {\n loading: false,\n };\n\n customRequest = (info) => {\n this.setState({ loading: true });\n if (info.file) {\n getBase64(info.file, (base64) => {\n let filename = info.file.name;\n let upload = { filename, base64 };\n this.setState({ loading: false });\n this.props.upload(upload);\n info.onSuccess(true);\n });\n }\n };\n\n render() {\n const uploadButton = (\n \n );\n\n return (\n \n {uploadButton}\n \n );\n }\n}\n\nexport { UploadPicture };\n","import { baseUrl, path_users } from \"../components/config/config\";\nexport function PostData(type, data) {\n const FETCH_TIMEOUT = 30000;\n let didTimeOut = false;\n let config = baseUrl + path_users;\n\n return new Promise((resolve, reject) => {\n const timeout = setTimeout(function () {\n didTimeOut = true;\n reject(new Error(\"Request Time Out\"));\n }, FETCH_TIMEOUT);\n\n fetch(config + type, {\n method: \"POST\",\n body: JSON.stringify(data),\n })\n .then((response) => response.json())\n .then((responseJson) => {\n clearTimeout(timeout);\n if (!didTimeOut) {\n resolve(responseJson);\n }\n })\n .catch((error) => {\n if (didTimeOut) return;\n alert(\"Silahkan coba beberapa saat lagi\");\n reject(error);\n });\n }).catch(function (err) {\n alert(\"Not Internet Connection\");\n window.location.reload();\n });\n}\n","export default __webpack_public_path__ + \"static/media/nas_logo.2c8efe6e.png\";","import React, * as react from \"react\";\nimport { Label } from \"reactstrap\";\nimport { Select, Spin } from \"antd\";\nimport axios from \"axios\";\nimport { baseUrl } from \"../config/config\";\nimport { multiLanguage } from \"../Language/getBahasa\";\n\nconst { Option } = Select;\nexport default class FormSelectWilayah extends react.Component {\n constructor(props) {\n super(props);\n this.state = {\n fetching: false,\n payloadArea: [],\n };\n }\n handleChange = (value) => {\n this.props.onChange(value);\n };\n \n componentDidMount() {\n // axios(`${baseUrl}/public/area?search=${this.props.province_name}`).then((response) => {\n // this.setState({ payloadArea: response.data.data });\n // });\n this.getDataArea();\n }\n\n getDataArea = () => {\n axios(`${baseUrl}/public/area?search=${this.props.kelurahan_name}`).then((response) => {\n this.setState({ payloadArea: response.data.data });\n });\n }\n\n\n componentDidUpdate(prevProps, prevState){\n if(prevProps.kelurahan_name!==this.props.kelurahan_name){\n this.getDataArea();\n }\n }\n onKelurahanSearch = (value) => {\n this.setState({\n fetching: true,\n });\n\n if (value.length > 3) {\n const path = `${baseUrl}public/area?search=${value}`;\n axios(path).then((response) => {\n this.setState({\n payloadArea: response.data.data,\n fetching: false,\n });\n });\n } else if (value === \"\") {\n const path = `${baseUrl}public/area`;\n axios(path).then((response) => {\n this.setState({\n payloadArea: response.data.data,\n fetching: false,\n });\n });\n }\n };\n\n render() {\n const { payloadArea, fetching } = this.state;\n const {\n province_name,\n kota_name,\n kecamatan_name,\n kelurahan_name,\n kelurahan_id,\n } = this.props;\n\n // const dataConcat =\n // province_name === undefined\n // ? \"\"\n // : province_name.concat(\n // \" - \",\n // kota_name,\n // \" - \",\n // kecamatan_name,\n // \" - \",\n // kelurahan_name\n // );\n return (\n <>\n {this.props.province_name == undefined ? (\n \n {multiLanguage.select + \" Wilayah\"}\n \n }\n notFoundContent={fetching ? : null}\n filterOption={false}\n onSearch={this.onKelurahanSearch}\n onChange={this.handleChange}\n style={{ width: \"100%\" }}\n >\n {payloadArea.map((d) => (\n \n ))}\n \n ) : (\n \n {multiLanguage.select + \" Wilayah\"}\n \n }\n notFoundContent={fetching ? : null}\n onChange={this.handleChange}\n onSearch={this.onKelurahanSearch}\n filterOption={false}\n style={{ width: \"100%\" }}\n >\n {payloadArea.map((d) => (\n \n ))}\n \n )}\n \n );\n }\n}\n","const lang = {};\nlang.dictionary = {\n en: {\n add: \"Add\",\n Edit: \"Edit\",\n Delete: \"Delete\",\n user: \"User\",\n picture: \"Picture\",\n firstName: \"First Name\",\n lastName: \"Last Name\",\n role: \"Role\",\n action: \"Action\",\n alertField: \"Field Can't Empty\",\n contact: \"Contact\",\n gender: \"Gender\",\n placeBirth: \"Place of Birth\",\n dateOfBirth: \"Date of Birth\",\n address: \"Address\",\n NoCertificate: \"Certificate Number\",\n institute: \"Institute\",\n name: \"Name\",\n religinon:\"Religion\",\n selected: \"Selected\",\n select: \"Select\",\n position: \"Position\",\n submit: \"Submit\",\n cancel: \"Cancel\",\n back: \"Back\",\n male: \"Male\",\n female: \"Female\",\n change: \"Change\",\n changeState: \"Change State\",\n alertDelete: \"Are you sure you want to delete data\",\n alertRejected: \"Are you sure you want to Rejected this Assessment\",\n alertApproved: \"Are you sure you want to Approved this Assessment\",\n type: \"Type\",\n expiredDate: \"Expired Date\",\n fileDuration: \"Durasi File\",\n map: \"Maps\",\n description: \"Description\",\n example: \"Example\",\n search: \"Search\",\n open: \"Open\",\n newAddress: \"New Address\",\n list: \"List\",\n competencePending: \"Pending Competence\",\n schedule: \"Schedule\",\n mainSchema: \"Main Scheme\",\n subSchema: \"Sub Scheme\",\n assign: \"Assign\",\n create: \"Create\",\n home: \"Home\",\n notif: \"Notification\",\n file: \"File\",\n competence: \"Competence\",\n activation: \"Activation\",\n alertexpired: \"Please Select Expired Date of Certificate\",\n noteListSkill:\n \"This date Will be used for Deactivated competence if date more than expired\",\n skill: \"Skill\",\n until: \"Until\",\n confirm: \"Confirm\",\n delete: \"Delete\",\n totalUnit: \"Total Competence Unit\",\n schemaName: \"Scheme Name\",\n schema: \"Schema\",\n subSchemaCode: \"Sub Scheme Code\",\n subSchemaName: \"Sub Scheme Name\",\n mainSchemaName: \"Main Scheme Name\",\n KBLICode: \"KBLI Code\",\n KBLIYear: \"KBLI Year\",\n KBJICode: \"KBJI Code\",\n KBJIYear: \"KBLI Year\",\n upload: \"Upload\",\n uploadTemplate: \"Upload Template APL\",\n year: \"Year\",\n time: \"Time\",\n tglSubmit: \"Submit Date\",\n startDate: \"Start Date\",\n endDate: \"End Date\",\n fileAcces: \"File Access\",\n note: \"Note\",\n statusGraduation: \"Graduation Status\",\n recomentAsesor: \"Assessor Recommendation\",\n positionPleno: \"Pleno Position\",\n plenoDate: \"Pleno Date\",\n ChangePlenoDate: \"Change Pleno Date\",\n plenoMember: \"Add Pleno Members\",\n assessmentLetter: \"Assessment Letters\",\n certificate: \"Certificate Issuance Process\",\n assessmentName: \"Assessment Name\",\n tukName: \"TUK Name\",\n countAsesor: \"Total AssessorsmultiLanguage.note\",\n countAsesi: \"Total Assessee\",\n countAdmin: \"Total Admin\",\n inputRequirements: \"Input Requirements\",\n requirementsType: \"Requirements Type\",\n assessmentDate: \"Assessment Date\",\n viewMore: \"View More\",\n reject: \"Reject\",\n formName: \"Form Name\",\n formType: \"Type Name\",\n DepartmentCode: \"Department Code\",\n DepartmentName: \"Department Name\",\n FacultyCode: \"Faculty Code\",\n alertUserName: \"Please Enter Username\",\n alertName: \"Field Can't Empty\",\n alertPatternName: \"Fill With Alphabet Only\",\n alertPatternContact: \"Fill With Nummeric Only\",\n alertEmail: \"Incorrect Email Format. Exp(example@mail.com)\",\n alertContact: \"Insert Your Contact\",\n alertMinMaxContact: \"Your Contact Must Have More Than 6 Characters\",\n logout: \"Logout\",\n alertInputNull: \"No Changes\",\n alertInput: \"Field is Empty, Please Check Again\",\n alertMaxUser: \"Username Field Must be at Least 3 Characters in Length.\",\n letter: \"Letter\",\n print: \"Print Document\",\n view: \"View\",\n alertEmptyForm: \"Form Is Empty\",\n alertWrongInput: \"Please Check Your Input\",\n alertAlready: \"Data Is Already Exist\",\n scheduleAsesor: \"Schedule Assessors\",\n ActiveAsesor: \"Active Assessor\",\n stateRequestAssessment: \"Request Assessment\",\n stateReadyPraAssessment: \"Ready Pra Assessment\",\n stateReview: \"Review Document\",\n statePraAsesment: \"Pra Assessment Completed\",\n stateReal: \"Real Assessment\",\n statePlenoFinish: \"Pleno Finish\",\n stateCertificate: \"Certificate Ready\",\n stateAsesmentReject: \"Assessment Rejected\",\n dateSubmit: \"Submit Date\",\n Assessment: \"Assessment\",\n Assessors: \"Assessors\",\n people: \"People\",\n APLFile: \"APL File\",\n HelperDownload: \"There is no APL form?\",\n DownloadLink: \"Download\",\n UserExisting: \"Existing Users\",\n AssignType: \"Assign Type\",\n withAPL: \"With APL\",\n notAPL: \"There is no APL\",\n selectAPLTab: \"select the APL file tab\",\n messageAlert:\n \"The column required in the file is still missing, please check again\",\n alreadyAssign: \"Already registered in assessment\",\n portfolio: \"Portfolio\",\n reviewDoc: \"Review Document\",\n PraAssessmentCompleted: \"Pra Assesment Completed\",\n PlenoFinish: \"Pleno Finish\",\n signature: \"Signature\",\n signatureAlready: \"there is already a signature\",\n no_assessors: \"No Assessors\",\n printCertificate: \"Print Certificate\",\n reset: \"Reset\",\n tukRequest: \"TUK Request\",\n viewDocument: \"View Document\",\n approve: \"Approve\",\n DataAssesment: \"Data Assesment\",\n PortfolioName: \"Portfolio Name\",\n PortfolioType: \"Portfolio Type\",\n yes: \"yes\",\n no: \"no\",\n waitingConfirm: \"Waiting Confirmation\",\n noFile: \"No File Yet\",\n managementLetters: \"Management Letter\",\n needPermission: \"You need permission to access this page\",\n letterName: \"Letter Name\",\n lastUpdate: \"Last Update\",\n typeFile: \"Type File\",\n number: \"Number\",\n typeTuk: \"TUK Type\",\n document: \"Document\",\n assignAsesi: \"Assign Asesi\",\n AssessorName: \"Assessor Name\",\n SuccessAsign: \"Succeeded Assign\",\n multipleFile: \"Multiple File\",\n alertRadioButton: \"Pick One!\",\n assessors: \"Assessors\",\n submission: \"List of Assessment Requests\",\n listRejected: \"List Assessment was Rejected\",\n listPortfolio: \"List of Master Data Portfolio\",\n listTUK: \"TUK List\",\n listUsers: \"Users List\",\n listAsesor: \"Assessors List\",\n listAsesi: \"Asesi List\",\n listMainSchema: \"Main Schema List\",\n listSchema: \"Schema List\",\n searching: \"Searching\",\n viewAllNotif: \"View All Notification\",\n asesi: \"Assessee\",\n listAlumni: \"Alumni List\",\n method_test: \"Method Test\",\n labelModalReject: \"Write down your reasons for canceling this Assessment\",\n allState: \"All State\",\n completed: \"Completed\",\n documentAsesi: \"Document Assessee\",\n competencyTest: \"Competency Test\",\n portfolioTest: \"Portfolio Test\",\n confirmDelete: \"Are you sure to delete this data?\",\n confirmReject: \"Are you sure to reject this assessment?\",\n UnitCompetention: \"Unit Competention\",\n participant: \"Participant\",\n nameTuk: \"TUK Name\",\n archives: \"Archives\",\n codeTuk: \"TUK Code\",\n codeUnit: \"Unit Code\",\n location: \"Location\",\n date: \"Date\",\n requestDate: \"Request Date\",\n continue: \"Continue\",\n alertNumber: \"Just a Number\",\n minCharacter: \"Minimum 3 Character\",\n alertErrorField: \"There is still an incorrect column, please check again\",\n purposeAssessment: \"The Purpose Of The Assessment\",\n generalRequiret: \"General Requirement\",\n attachFile: \"Attach File\",\n save: \"Save\",\n alertCancel: \"Are you Sure to Cancel?\",\n userAlready: \"User Already in any position\",\n jobs: \"Jobs\",\n jobPostCode:\"Jobs Post Code\",\n jobPhone:\"Telephone Job\",\n jobAddress:\"Job Address\",\n jobFax:\"Fax Job\",\n jobEmail:\"Job Email\",\n restore: \"Restore Data\",\n restoreAlert: \"Are you sure you want to restore this data?\",\n education: \"Education\",\n lastEducation: \"Last Education\",\n docAssesment : \"Assesment Document\",\n docType: \"Type\",\n signDate: \"Sign Approved\",\n approving:\"Approve ?\",\n approved:\"Approved\",\n approval:\"Approval\",\n date_approved:\"Approved Date\"\n },\n id: {\n add: \"Tambah\",\n Edit: \"Ubah\",\n Delete: \"Hapus\",\n user: \"Pengguna\",\n picture: \"Gambar\",\n firstName: \"Nama Depan\",\n lastName: \"Nama Belakang\",\n role: \"Peran\",\n action: \"Aksi\",\n alertField: \"Field Tidak Boleh Kosong\",\n contact: \"No. Telp\",\n gender: \"Jenis Kelamin\",\n placeBirth: \"Tempat Lahir\",\n dateOfBirth: \"Tanggal Lahir\",\n address: \"Alamat\",\n NoCertificate: \"No. Sertifikat\",\n institute: \"Institusi\",\n name: \"Nama\",\n religion:\"Agama\",\n select: \"Pilih\",\n selected: \"Pilihan\",\n position: \"Jabatan\",\n submit: \"Simpan\",\n cancel: \"Batal\",\n back: \"Kembali\",\n male: \"Pria\",\n female: \"Wanita\",\n change: \"Ubah\",\n changeState: \"Ubah Status\",\n alertDelete: \"Anda Yakin Ingin Menghapus Data\",\n alertRejected: \"Anda Yakin Ingin Menolak Asesmen Ini\",\n alertApproved: \"Anda Yakin Ingin Menerima Asesmen Ini\",\n type: \"Tipe\",\n expiredDate: \"Tgl Berlaku\",\n fileDuration: \"Durasi Berkas\",\n map: \"Peta\",\n description: \"Deskripsi\",\n example: \"Contoh\",\n search: \"Cari\",\n open: \"Buka\",\n newAddress: \"Alamat Baru\",\n list: \"Daftar\",\n competencePending: \"Kompetensi Tertunda\",\n schedule: \"Jadwal\",\n mainSchema: \"Skema Utama\",\n subSchema: \"Sub Skema\",\n assign: \"Assign\",\n create: \"Buat\",\n home: \"Beranda\",\n notif: \"Pemberitahuan\",\n file: \"File\",\n competence: \"Kompetensi\",\n activation: \"Aktivasi\",\n alertexpired: \"Silakan Pilih Tanggal expired Sertifikat\",\n noteListSkill:\n \"Tanggal ini akan digunakan untuk kompetensi yang dinonaktifkan jika tanggal lebih dari tanggal expired\",\n skill: \"Keterampilan\",\n until: \"sampai\",\n confirm: \"Konfirmasi\",\n delete: \"Hapus\",\n totalUnit: \"Total Unit Kompetensi\",\n schemaName: \"Nama Skema\",\n schema: \"Skema\",\n subSchemaCode: \"Kode Sub Skema\",\n subSchemaName: \"Nama Sub Skema\",\n mainSchemaName: \"Nama Skema Utama\",\n KBLICode: \"Kode KBLI\",\n KBLIYear: \"Tahun KBLI\",\n KBJICode: \"Kode KBJI\",\n KBJIYear: \"Tahun KBLI\",\n upload: \"Unggah\",\n uploadTemplate: \"Unggah Template APL\",\n year: \"Tahun\",\n time: \"Waktu\",\n tglSubmit: \"Tgl Pengajuan\",\n dateSubmisson:\"Tanggal Pengajuan\",\n startDate: \"Tgl Mulai\",\n endDate: \"Tgl Berakhir\",\n fileAcces: \"Akses Berkas\",\n note: \"Catatan\",\n statusGraduation: \"Status Kelulusan\",\n recomentAsesor: \"Rekomendasi Asesor\",\n positionPleno: \"Jabatan saat Pleno\",\n plenoDate: \"Tanggal pleno\",\n ChangePlenoDate: \"Ganti Tanggal Pleno\",\n plenoMember: \"Daftarkan Anggota Pleno\",\n assessmentLetter: \"Surat Asesmen\",\n certificate: \"Proses Penerbitan Sertifikat\",\n assessmentName: \"Nama Kegiatan\",\n tukName: \"Nama TUK\",\n countAsesor: \"Jumlah Asesors\",\n countAsesi: \"Jumlah Asesi\",\n countAdmin: \"Jumlah Admin\",\n inputRequirements: \"Masukkan Persyaratan\",\n requirementsType: \"Tipe Persyaratan\",\n assessmentDate: \"Tgl Asesmen\",\n viewMore: \"Lihat Selengkapnya\",\n reject: \"Tolak\",\n formName: \"Nama Form\",\n formType: \"Tipe Form\",\n DepartmentCode: \"Kode Departemen\",\n DepartmentName: \"Nama Departemen\",\n FacultyCode: \"Kode Fakultas\",\n alertUserName: \"Masukkan Username\",\n alertName: \"Field Tidak Boleh Kosong\",\n alertPatternName: \"Anda harus menulis hanya dengan huruf\",\n alertEmail: \"Format Email Salah. Contoh(example@mail.com)\",\n alertContact: \"Masukkan Nomor Telepon Anda\",\n alertPatternContact: \"Anda Harus Menulis dengan Angka\",\n alertMinMaxContact: \"Kontak Anda Harus Lebih dari 6 Karakter\",\n logout: \"Keluar\",\n alertInputNull: \"Tidak Ada Perubahan\",\n alertInput: \"Field masih ada yang kosong, mohon periksa kembali.\",\n alertMaxUser: \"Username harus minimal 3 karakter.\",\n alertEmptyForm: \"Field Kosong Semua\",\n letter: \"Surat\",\n print: \"Cetak Dokumen\",\n view: \"Lihat\",\n alertWrongInput: \"Terjadi kesalahan input, mohon cek kembali inputan.\",\n alertAlready: \"Data Sudah Ada\",\n scheduleAsesor: \"Jadwal Asesor\",\n ActiveAsesor: \"Asesor Aktif\",\n stateRequestAssessment: \"Permintaan Asesmen\",\n stateReadyPraAssessment: \"Siap Pra Asesmen\",\n stateReview: \"Pengecekan Dokumen\",\n statePraAsesment: \"Pra asesmen Selesai\",\n stateReal: \"Asesmen\",\n statePlenoFinish: \"Pleno Selesai\",\n stateCertificate: \"Siap Sertifikasi\",\n stateAsesmentReject: \"Asesmen Ditolak\",\n dateSubmit: \"Tanggal Submit\",\n Assessment: \"Asesmen\",\n Assessors: \"Asesor\",\n people: \"Orang\",\n APLFile: \"Berkas APL\",\n HelperDownload: \"Belum ada form APL?\",\n DownloadLink: \"Unduh\",\n UserExisting: \"Users Terdaftar\",\n AssignType: \"Jenis Assign\",\n withAPL: \"Dengan APL\",\n notAPL: \"Belum Ada APL\",\n selectAPLTab: \"Pilih Tab Berkas APL\",\n messageAlert: \"Kolom Pada File masih Ada yang kosong,Silahkan cek kembali\",\n alreadyAssign: \"sudah terdaftar di asesmen\",\n portfolio: \"Portofolio\",\n reviewDoc: \"Tinjau Kecukupan Berkas\",\n PraAssessmentCompleted: \"Pra Asesmen Selesai\",\n PlenoFinish: \"Pleno Selesai\",\n signature: \"Tanda Tangan\",\n signatureAlready: \"Sudah Ada Tanda Tangan\",\n no_assessors: \"Tidak Ada Assessors\",\n printCertificate: \"Cetak Sertifikat\",\n reset: \"Atur Ulang\",\n tukRequest: \"TUK Request\",\n viewDocument: \"Lihat Dokumen\",\n approve: \"Setuju\",\n DataAssesment: \"Data Asesmen\",\n PortfolioName: \"Nama Portofolio\",\n PortfolioType: \"Tipe Portofolio\",\n yes: \"Ya\",\n no: \"Tidak\",\n waitingConfirm: \"Menunggu Konfirmasi LSP\",\n noFile: \"Tidak ada file\",\n managementLetters: \"Pengelolaan Surat\",\n needPermission: \"Anda membutuhkan izin untuk mengakses halaman ini.\",\n letterName: \"Nama Surat\",\n lastUpdate: \"Pembaharuan Terakhir\",\n typeFile: \"Tipe File\",\n number: \"Nomor\",\n typeTuk: \"Tipe TUK\",\n document: \"Dokumen\",\n assignAsesi: \"Tambah Asesi\",\n AssessorName: \"Assessor Name\",\n SuccessAsign: \"Berhasil Menugaskan\",\n multipleFile: \"Melampirkan Banyak File\",\n alertRadioButton: \"Pilih Salah Satu\",\n assessors: \"Asesor\",\n submission: \"Daftar Pemintaan Asesmen\",\n listRejected: \"Daftar Asesmen Dibatalkan\",\n listPortfolio: \"Daftar Master Data Portofolio\",\n listTUK: \"Daftar TUK\",\n listUsers: \"Daftar Pengguna\",\n listAsesor: \"Daftar Asesor\",\n listAsesi: \"Daftar Asesi\",\n listMainSchema: \"Daftar Skema Utama\",\n listSchema: \"Daftar Skema\",\n searching: \"Pencarian\",\n viewAllNotif: \"Lihat Semua Notifikasi\",\n asesi: \"Asesi\",\n listAlumni: \"Daftar Alumni\",\n method_test: \"Metode Uji\",\n labelModalReject: \"Tuliskan alasan anda mengapa membatalkan Assessment ini\",\n allState: \"Semua State\",\n completed: \"Lengkap\",\n documentAsesi: \"Berkas Asesi\",\n competencyTest: \"Uji Kompetensi\",\n portfolioTest: \"Uji Portofolio\",\n confirmDelete: \"Apakah Anda yakin akan menghapus data ini?\",\n confirmReject: \"Apakah Anda yakin akan menolak asesmen ini?\",\n UnitCompetention: \"Unit Kompetensi\",\n participant: \"Peserta\",\n nameTuk: \"Nama TUK\",\n archives: \"Arsip\",\n codeTuk: \"Kode TUK\",\n codeUnit: \"Kode Unit\",\n location: \"Lokasi\",\n date: \"Tanggal\",\n requestDate: \"Tgl Pengajuan\",\n continue: \"Lanjutkan\",\n alertNumber: \"Hanya Angka\",\n minCharacter: \"Minimal 3 Karakter\",\n alertErrorField: \"Masih Ada Kolom yang salah,Harap Cek Kembali\",\n purposeAssessment: \"Tujuan Asesmen\",\n generalRequiret: \"Persyaratan Umum\",\n attachFile: \"Lampirkan File\",\n save: \"Simpan\",\n alertCancel: \"Yakin Ingin Membatalkan Perubahan?\",\n userAlready: \"User Sudah Terdaftar\",\n jobs: \"Pekerjaan\",\n jobPostCode:\"Kode Pos Pekerjaan\",\n jobPhone:\"Telepon Pekerjaan\",\n jobAddress:\"Alamat Pekerjaan\",\n jobFax:\"Fax Pekerjaan\",\n jobEmail:\"Email Pekerjaan\",\n restore: \"Kembalikan Data\",\n restoreAlert: \"Apakah Anda yakin akan mengembalikan data ini?\",\n education: \"Pendidikan\",\n lastEducation: \"Pendidikan Terakhir\",\n docAssesment : \"Dokumen Asesmen\",\n docType : \"Tipe\",\n signDate: \"Tanggal Disetujui\",\n approving:\"Setujui ? \",\n approval: \"Persetujuan\",\n approved: \"Disetujui\",\n date_approved: \"Tanggal Disetujui\"\n }\n};\n\nexport default lang;\n","import lang from \"./dictionary\";\n\nconst language = {};\n\nlanguage.MultiLanguageTitle = bahasa => {\n return {\n add: lang.dictionary[bahasa].add,\n Edit: lang.dictionary[bahasa].Edit,\n Delete: lang.dictionary[bahasa].Delete,\n user: lang.dictionary[bahasa].user,\n picture: lang.dictionary[bahasa].picture,\n firstName: lang.dictionary[bahasa].firstName,\n lastName: lang.dictionary[bahasa].lastName,\n role: lang.dictionary[bahasa].role,\n action: lang.dictionary[bahasa].action,\n alertField: lang.dictionary[bahasa].alertField,\n contact: lang.dictionary[bahasa].contact,\n gender: lang.dictionary[bahasa].gender,\n placeBirth: lang.dictionary[bahasa].placeBirth,\n dateOfBirth: lang.dictionary[bahasa].dateOfBirth,\n address: lang.dictionary[bahasa].address,\n NoCertificate: lang.dictionary[bahasa].NoCertificate,\n institute: lang.dictionary[bahasa].institute,\n name: lang.dictionary[bahasa].name,\n religion: lang.dictionary[bahasa].religion,\n select: lang.dictionary[bahasa].select,\n selected: lang.dictionary[bahasa].selected,\n submit: lang.dictionary[bahasa].submit,\n cancel: lang.dictionary[bahasa].cancel,\n back: lang.dictionary[bahasa].back,\n male: lang.dictionary[bahasa].male,\n female: lang.dictionary[bahasa].female,\n change: lang.dictionary[bahasa].change,\n changeState: lang.dictionary[bahasa].changeState,\n alertDelete: lang.dictionary[bahasa].alertDelete,\n type: lang.dictionary[bahasa].type,\n expiredDate: lang.dictionary[bahasa].expiredDate,\n fileDuration: lang.dictionary[bahasa].fileDuration,\n map: lang.dictionary[bahasa].map,\n description: lang.dictionary[bahasa].description,\n example: lang.dictionary[bahasa].example,\n search: lang.dictionary[bahasa].search,\n open: lang.dictionary[bahasa].open,\n newAddress: lang.dictionary[bahasa].newAddress,\n list: lang.dictionary[bahasa].list,\n competencePending: lang.dictionary[bahasa].competencePending,\n schedule: lang.dictionary[bahasa].schedule,\n mainSchema: lang.dictionary[bahasa].mainSchema,\n subSchema: lang.dictionary[bahasa].subSchema,\n assign: lang.dictionary[bahasa].assign,\n create: lang.dictionary[bahasa].create,\n home: lang.dictionary[bahasa].home,\n notif: lang.dictionary[bahasa].notif,\n file: lang.dictionary[bahasa].file,\n competence: lang.dictionary[bahasa].competence,\n activation: lang.dictionary[bahasa].activation,\n alertexpired: lang.dictionary[bahasa].alertexpired,\n noteListSkill: lang.dictionary[bahasa].noteListSkill,\n skill: lang.dictionary[bahasa].skill,\n until: lang.dictionary[bahasa].until,\n confirm: lang.dictionary[bahasa].confirm,\n delete: lang.dictionary[bahasa].delete,\n totalUnit: lang.dictionary[bahasa].totalUnit,\n schemaName: lang.dictionary[bahasa].schemaName,\n schema: lang.dictionary[bahasa].schema,\n subSchemaCode: lang.dictionary[bahasa].subSchemaCode,\n subSchemaName: lang.dictionary[bahasa].subSchemaName,\n KBLICode: lang.dictionary[bahasa].KBLICode,\n KBLIYear: lang.dictionary[bahasa].KBLIYear,\n KBJICode: lang.dictionary[bahasa].KBJICode,\n KBJIYear: lang.dictionary[bahasa].KBJIYear,\n mainSchemaName: lang.dictionary[bahasa].mainSchemaName,\n upload: lang.dictionary[bahasa].upload,\n uploadTemplate: lang.dictionary[bahasa].uploadTemplate,\n year: lang.dictionary[bahasa].year,\n time: lang.dictionary[bahasa].time,\n tglSubmit: lang.dictionary[bahasa].tglSubmit,\n startDate: lang.dictionary[bahasa].startDate,\n endDate: lang.dictionary[bahasa].endDate,\n fileAcces: lang.dictionary[bahasa].fileAcces,\n note: lang.dictionary[bahasa].note,\n statusGraduation: lang.dictionary[bahasa].statusGraduation,\n recomentAsesor: lang.dictionary[bahasa].recomentAsesor,\n positionPleno: lang.dictionary[bahasa].positionPleno,\n plenoDate: lang.dictionary[bahasa].plenoDate,\n ChangePlenoDate: lang.dictionary[bahasa].ChangePlenoDate,\n plenoMember: lang.dictionary[bahasa].plenoMember,\n assessmentLetter: lang.dictionary[bahasa].assessmentLetter,\n certificate: lang.dictionary[bahasa].certificate,\n assessmentName: lang.dictionary[bahasa].assessmentName,\n tukName: lang.dictionary[bahasa].tukName,\n countAsesor: lang.dictionary[bahasa].countAsesor,\n countAsesi: lang.dictionary[bahasa].countAsesi,\n countAdmin: lang.dictionary[bahasa].countAdmin,\n inputRequirements: lang.dictionary[bahasa].inputRequirements,\n requirementsType: lang.dictionary[bahasa].requirementsType,\n assessmentDate: lang.dictionary[bahasa].assessmentDate,\n viewMore: lang.dictionary[bahasa].viewMore,\n reject: lang.dictionary[bahasa].reject,\n formName: lang.dictionary[bahasa].formName,\n formType: lang.dictionary[bahasa].formType,\n DepartmentCode: lang.dictionary[bahasa].DepartmentCode,\n DepartmentName: lang.dictionary[bahasa].DepartmentName,\n FacultyCode: lang.dictionary[bahasa].FacultyCode,\n alertName: lang.dictionary[bahasa].alertName,\n alertPatternName: lang.dictionary[bahasa].alertPatternName,\n alertEmail: lang.dictionary[bahasa].alertEmail,\n alertUserName: lang.dictionary[bahasa].alertUserName,\n alertContact: lang.dictionary[bahasa].alertContact,\n alertPattertContact: lang.dictionary[bahasa].alertPattertContact,\n alertMinMaxContact: lang.dictionary[bahasa].alertMinMaxContact,\n logout: lang.dictionary[bahasa].logout,\n alertInputNull: lang.dictionary[bahasa].alertInputNull,\n alertInput: lang.dictionary[bahasa].alertInput,\n alertMaxUser: lang.dictionary[bahasa].alertMaxUser,\n letter: lang.dictionary[bahasa].letter,\n print: lang.dictionary[bahasa].print,\n view: lang.dictionary[bahasa].view,\n alertEmptyForm: lang.dictionary[bahasa].alertEmptyForm,\n alertWrongInput: lang.dictionary[bahasa].alertWrongInput,\n alertAlready: lang.dictionary[bahasa].alertAlready,\n scheduleAsesor: lang.dictionary[bahasa].scheduleAsesor,\n stateRequestAssessment: lang.dictionary[bahasa].stateRequestAssessment,\n stateReadyPraAssessment: lang.dictionary[bahasa].stateReadyPraAssessment,\n stateReview: lang.dictionary[bahasa].stateReview,\n statePraAsesment: lang.dictionary[bahasa].statePraAsesment,\n stateReal: lang.dictionary[bahasa].stateReal,\n statePlenoFinish: lang.dictionary[bahasa].statePlenoFinish,\n stateCertificate: lang.dictionary[bahasa].stateCertificate,\n stateAsesmentReject: lang.dictionary[bahasa].stateAsesmentReject,\n dateSubmit: lang.dictionary[bahasa].dateSubmit,\n ActiveAsesor: lang.dictionary[bahasa].ActiveAsesor,\n Assessors: lang.dictionary[bahasa].Assessors,\n people: lang.dictionary[bahasa].people,\n APLFile: lang.dictionary[bahasa].APLFile,\n HelperDownload: lang.dictionary[bahasa].HelperDownload,\n DownloadLink: lang.dictionary[bahasa].DownloadLink,\n UserExisting: lang.dictionary[bahasa].UserExisting,\n AssignType: lang.dictionary[bahasa].AssignType,\n withAPL: lang.dictionary[bahasa].withAPL,\n notAPL: lang.dictionary[bahasa].notAPL,\n selectAPLTab: lang.dictionary[bahasa].selectAPLTab,\n messageAlert: lang.dictionary[bahasa].messageAlert,\n alreadyAssign: lang.dictionary[bahasa].alreadyAssign,\n portfolio: lang.dictionary[bahasa].portfolio,\n reviewDoc: lang.dictionary[bahasa].reviewDoc,\n PraAssessmentCompleted: lang.dictionary[bahasa].PraAssessmentCompleted,\n PlenoFinish: lang.dictionary[bahasa].PlenoFinish,\n signature: lang.dictionary[bahasa].signature,\n signatureAlready: lang.dictionary[bahasa].signatureAlready,\n no_assessors: lang.dictionary[bahasa].no_assessors,\n printCertificate: lang.dictionary[bahasa].printCertificate,\n reset: lang.dictionary[bahasa].reset,\n tukRequest: lang.dictionary[bahasa].tukRequest,\n viewDocument: lang.dictionary[bahasa].viewDocument,\n approve: lang.dictionary[bahasa].approve,\n DataAssesment: lang.dictionary[bahasa].DataAssesment,\n Assessment: lang.dictionary[bahasa].Assessment,\n PortfolioName: lang.dictionary[bahasa].PortfolioName,\n PortfolioType: lang.dictionary[bahasa].PortfolioType,\n yes: lang.dictionary[bahasa].yes,\n no: lang.dictionary[bahasa].no,\n waitingConfirm: lang.dictionary[bahasa].waitingConfirm,\n noFile: lang.dictionary[bahasa].noFile,\n managementLetters: lang.dictionary[bahasa].managementLetters,\n needPermission: lang.dictionary[bahasa].needPermission,\n letterName: lang.dictionary[bahasa].letterName,\n lastUpdate: lang.dictionary[bahasa].lastUpdate,\n typeFile: lang.dictionary[bahasa].typeFile,\n number: lang.dictionary[bahasa].number,\n typeTuk: lang.dictionary[bahasa].typeTuk,\n document: lang.dictionary[bahasa].document,\n assignAsesi: lang.dictionary[bahasa].assignAsesi,\n AssessorName: lang.dictionary[bahasa].AssessorName,\n SuccessAsign: lang.dictionary[bahasa].SuccessAsign,\n multipleFile: lang.dictionary[bahasa].multipleFile,\n alertRadioButton: lang.dictionary[bahasa].alertRadioButton,\n assessors: lang.dictionary[bahasa].assessors,\n submission: lang.dictionary[bahasa].submission,\n listRejected: lang.dictionary[bahasa].listRejected,\n listPortfolio: lang.dictionary[bahasa].listPortfolio,\n listTUK: lang.dictionary[bahasa].listTUK,\n listUsers: lang.dictionary[bahasa].listUsers,\n listAsesor: lang.dictionary[bahasa].listAsesor,\n listAsesi: lang.dictionary[bahasa].listAsesi,\n listMainSchema: lang.dictionary[bahasa].listMainSchema,\n listSchema: lang.dictionary[bahasa].listSchema,\n searching: lang.dictionary[bahasa].searching,\n viewAllNotif: lang.dictionary[bahasa].viewAllNotif,\n asesi: lang.dictionary[bahasa].asesi,\n listAlumni: lang.dictionary[bahasa].listAlumni,\n method_test: lang.dictionary[bahasa].method_test,\n labelModalReject: lang.dictionary[bahasa].labelModalReject,\n allState: lang.dictionary[bahasa].allState,\n completed: lang.dictionary[bahasa].completed,\n documentAsesi: lang.dictionary[bahasa].documentAsesi,\n competencyTest: lang.dictionary[bahasa].competencyTest,\n portfolioTest: lang.dictionary[bahasa].portfolioTest,\n confirmDelete: lang.dictionary[bahasa].confirmDelete,\n confirmReject: lang.dictionary[bahasa].confirmReject,\n codeTuk: lang.dictionary[bahasa].codeTuk,\n placeholderCodeTUK: lang.dictionary[bahasa].placeholderCodeTUK,\n location: lang.dictionary[bahasa].location,\n date: lang.dictionary[bahasa].date,\n archives: lang.dictionary[bahasa].archives,\n position: lang.dictionary[bahasa].position,\n nameTuk: lang.dictionary[bahasa].nameTuk,\n UnitCompetention: lang.dictionary[bahasa].UnitCompetention,\n codeUnit: lang.dictionary[bahasa].codeUnit,\n requestDate: lang.dictionary[bahasa].requestDate,\n continue: lang.dictionary[bahasa].continue,\n alertNumber: lang.dictionary[bahasa].alertNumber,\n minCharacter: lang.dictionary[bahasa].minCharacter,\n alertErrorField: lang.dictionary[bahasa].alertErrorField,\n purposeAssessment: lang.dictionary[bahasa].purposeAssessment,\n generalRequiret: lang.dictionary[bahasa].generalRequiret,\n attachFile: lang.dictionary[bahasa].attachFile,\n save: lang.dictionary[bahasa].save,\n alertCancel: lang.dictionary[bahasa].alertCancel,\n userAlready: lang.dictionary[bahasa].userAlready,\n jobs: lang.dictionary[bahasa].jobs,\n jobPhone: lang.dictionary[bahasa].jobPhone,\n jobPostCode: lang.dictionary[bahasa].jobPostCode,\n jobAddress: lang.dictionary[bahasa].jobAddress,\n jobFax: lang.dictionary[bahasa].jobFax,\n jobEmail: lang.dictionary[bahasa].jobEmail,\n restore: lang.dictionary[bahasa].restore,\n restoreAlert: lang.dictionary[bahasa].restoreAlert,\n education: lang.dictionary[bahasa].education,\n lastEducation: lang.dictionary[bahasa].lastEducation,\n docAssesment: lang.dictionary[bahasa].docAssesment,\n docType : lang.dictionary[bahasa].docType, \n signDate: lang.dictionary[bahasa].signDate,\n approving: lang.dictionary[bahasa].approving,\n approval: lang.dictionary[bahasa].approval,\n approved: lang.dictionary[bahasa].approved,\n date_approved: lang.dictionary[bahasa].date_approved \n \n\n };\n};\nexport default language;\n","import language from './configLanguge';\n\nexport const _getBahasa = () => {\n // console.log('get bahasa', localStorage.getItem('bahasa'));\n if (localStorage.getItem('bahasa') === null) {\n return 'id';\n } else {\n return localStorage.getItem('bahasa');\n }\n};\n\nexport const multiLanguage = language.MultiLanguageTitle(_getBahasa());\n","export default class PDFJs {\n init = (source, element) => {\n const iframe = document.createElement('iframe');\n\n iframe.src = `${source}`;\n iframe.width = '600px';\n iframe.height = '700px';\n\n element.appendChild(iframe);\n };\n}\n","import React, { Component } from 'react';\n\nclass PDFViewer extends Component {\n constructor(props) {\n super(props);\n this.viewerRef = React.createRef();\n this.backend = new props.backend();\n }\n\n componentDidMount() {\n const { src } = this.props;\n const element = this.viewerRef.current;\n\n this.backend.init(src, element);\n }\n\n rotate = direction => {\n // check to make sure the backend has this function implemented\n if (this.backend.rotate) {\n this.backend.rotate(direction);\n }\n };\n\n render() {\n return (\n \n );\n }\n}\n\nexport default PDFViewer;\n","import React from \"react\";\nimport { Upload, Button, notification } from \"antd\";\nimport { Icon } from \"@ant-design/compatible\";\n\nfunction getBase64(file, callback) {\n const reader = new FileReader();\n reader.addEventListener(\"load\", () => callback(reader.result));\n reader.readAsDataURL(file);\n reader.fileName = file.name;\n}\n\nconst baseFileType = \".doc, .docx, .xlsx, .xls\";\n\nclass UploadFile extends React.Component {\n state = {\n loading: false,\n };\n\n customRequest = (info) => {\n this.setState({ loading: true });\n if (info.file) {\n getBase64(info.file, (base64) => {\n const filename = info.file.name;\n const fileSize = info.file.size;\n const mime_type = info.file.type;\n const fileExt = filename.split('.').pop();\n const fileType = info.file.type.split('/').shift();\n\n let arrAvailable = baseFileType.split(', ');\n if(this.props.typeFile){\n arrAvailable = this.props.typeFile.split(', ');\n }\n // console.log('cek arrAvailable', arrAvailable);\n // console.log('cek fileType', fileType);\n let valid = arrAvailable.find((val) => val==='.'+fileExt?.toLowerCase());\n if(!valid && arrAvailable.find((val) => val==='image/*')){\n valid = fileType === 'image' ? true : false;\n }\n if(!valid){\n if(this.props.handleErrorExt){\n this.props.handleErrorExt();\n return;\n }\n notification.error({\n placement:'topRight',\n message:'Gagal!',\n description: 'Silahkan upload file yang sesuai dengan extensi yang diperlukan!',\n style: {marginTop: '50px'}\n })\n return;\n }\n\n let upload = { filename, base64, fileSize, mime_type, file:info.file, fileExt };\n this.setState({ loading: false });\n this.props.upload(upload);\n info.onSuccess(true);\n });\n }\n };\n\n render() {\n\n const { customButton } = this.props\n const uploadButton = (\n \n );\n\n return (\n \n {this.props.customButton ? customButton() : uploadButton}\n \n );\n }\n}\n\nexport { UploadFile };\n","import React, { Component } from 'react';\nimport {Col, Container, Row } from 'reactstrap';\n\nclass Page404 extends Component {\n render() {\n return (\n
\n \n \n \n
\n

404

\n

Oops! Sorry.

\n

The page you are accessing is under maintenance.

\n
\n \n
\n
\n
\n );\n }\n}\n\nexport default Page404;\n","import React, { Component } from \"react\";\nimport { Col, Container, Row } from \"reactstrap\";\nimport Axios from \"axios\";\nimport {\n path_GET_article,\n baseUrl,\n formatDate\n} from \"../../../components/config/config\";\n\nimport \"../../../css/News.css\";\n\nexport default class NewsWebViews extends Component {\n constructor(props) {\n super(props);\n this.state = {\n author: \"\",\n categories: \"\",\n content: \"\",\n creator: \"\",\n created_date: \"\",\n media: null,\n tags: \"\",\n title: \"\",\n payload: []\n };\n }\n\n componentDidMount = () => {\n const article_id = this.props.match.params.article_id;\n Axios.get(baseUrl + path_GET_article + \"/\" + article_id).then(res => {\n this.setState({\n payload: res.data.data\n });\n });\n };\n\n render() {\n var {\n author,\n categories,\n content,\n creator,\n created_date,\n media,\n tags,\n title\n } = this.state.payload;\n \n const value = created_date;\n const creator_date = formatDate(value);\n return (\n
\n \n \n \n \n \n \n \n \n
\n

{title}

\n
\n \n
\n \n \n
\n {creator_date} | {creator}-{categories}\n
\n \n
\n \n \n
\n \n \n \n \n

\n Author : {author}\n

\n \n
\n \n \n
Tags :
\n \n

{tags}

\n
\n \n
\n );\n }\n}\n","import React, { Component, Suspense } from \"react\";\nimport { PostData } from \"../services/PostData\";\nimport { insertData, GetListData } from \"../components/config/actions\";\nimport { Redirect, Link } from \"react-router-dom\";\nimport {\n Button,\n Card,\n CardBody,\n CardImg,\n CardTitle,\n CardSubtitle,\n CardText,\n Col,\n Container,\n Row,\n Alert,\n} from \"reactstrap\";\nimport { multiLanguage } from \"../components/Language/getBahasa\";\nimport { Input } from \"antd\";\nimport { withAlert } from \"react-alert\";\nimport axios from \"axios\";\nimport LoadingOverlay from \"react-loading-overlay\";\nimport {\n NotificationContainer,\n NotificationManager,\n} from \"react-notifications\";\n\n// import \"../css/All.css\";\n// import \"../css/LSP_Demo.css\"; \n\n// import \"../css/Button.css\";\nimport {\n baseUrl,\n path_forgotPass,\n path_refreshToken,\n Brand_LSP,\n} from \"../components/config/config\";\nimport LogoImage from \"../assets/img/brand/nas_logo.png\";\nimport { Digest } from \"./Helpers/digest\";\nimport \"antd/dist/antd.css\";\n\nclass LspLogin extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: false,\n logged_in: false,\n message: \"\",\n hidden: true,\n payload: [],\n response: \"\",\n user_permission_id: \"\",\n color:\"\",\n hideCopyright: false\n };\n }\n\n getListLsp = () => {\n this.setState({\n loading: true,\n });\n GetListData(\"/lsp\")\n .then((res) => {\n \n if (res.responseStatus == \"SUCCESS\") {\n this.setState({\n payload: res.data,\n loading: false,\n });\n }\n })\n .catch((e) => {\n \n this.setState({ loading: false });\n if (e.status_code === 400) {\n }\n if (e.status_code === 401) {\n localStorage.clear();\n window.location.replace(\"/login\");\n }\n });\n };\n\n cekDomain = () => {\n let domain = window.location.hostname;\n if(domain === \"app.vokasea.id\"){\n this.setState({ hideCopyright:true })\n } else if (domain === \"areaindonesia.vokasea.id\") {\n this.setState({ hideCopyright:true })\n } else if (domain === \"oshe.vokasea.id\"){\n this.setState({ hideCopyright:true })\n } else if (domain === \"nki.vokasea.id\"){\n this.setState({ hideCopyright:true })\n }\n }\n\n componentDidMount() {\n this.cekDomain();\n this.getListLsp();\n }\n lspLoginSubmit = (item) => {\n\n this.setState({\n color:'red'\n })\n };\n\n onChange = (e) => {\n this.setState({ [e.target.name]: e.target.value });\n };\n\n validate = () => {\n if (this.state.user_permission_id == \"\") {\n this.setState({\n hidden: false,\n message: \"Pilih salah satu LSP\",\n });\n } else {\n this.handleSubmit();\n }\n };\n\n handleSubmit = () => {};\n render() {\n const { payload } = this.state;\n return (\n \n
\n \n \n \n \n \n \n \n \n {\" \"}\n You're in Developer Mode\n \n \n \n \n \n \n Please choose the LSP to get access into web admin\n \n \n \n
\n \n {payload.map((item) => {\n \n return (\n \n \n\n this.lspLoginSubmit(item)}>\n \n\n \n \n {item.lsp_name}\n \n \n \n \n \n );\n })}\n \n
\n {/* \n \n \n \n \n\n \n LSP Pramindo\n \n \n \n \n \n \n \n \n \n LSP PIA\n \n \n \n \n \n \n \n \n \n LSP PIM\n \n \n \n \n \n \n \n \n \n LSP Energi\n \n \n \n \n */}\n {/* \n \n \n \n \n \n LSP CKPNI\n \n \n \n \n \n \n \n \n \n LSP GPPB\n \n \n \n \n \n \n \n \n \n LSP Staging\n \n \n \n \n \n \n \n \n \n LSP Demo\n \n \n \n \n */}\n \n \n \n \n \n Continue\n \n \n \n {!this.state.hideCopyright && (\n \n \n Copyright © 2019,\n NAS.\n All rights reserved\n \n
\n )}\n \n \n \n \n \n \n
\n
\n
\n );\n }\n}\n\nexport default withAlert(LspLogin);\n","import axios from \"axios\";\nimport { GetToken } from \"./axios\";\nimport { baseUrl, getRole, urlChatMessage, urlLPJK, urlLinode, urlLinodeAbi } from \"./config\";\n\n\nconst getIntegrationDetail = (system_id) => {\n let currentListIntegration = JSON.parse(localStorage.getItem('integrationList'));\n let index = currentListIntegration.findIndex(x => x.system_id == system_id);\n return currentListIntegration[index];\n}\n\nexport const getIntegrationByName = (system_name) => {\n\n let currentListIntegration = JSON.parse(localStorage.getItem('integrationList'));\n\n let index = currentListIntegration.findIndex(x => x.system_name == system_name);\n\n if(index>=0){\n return currentListIntegration[index];\n }\n\n return null;\n}\n\nconst getIndexByValue = (array, property, value) => {\n return array.findIndex(x => x[property] == value);\n}\nexport const GetListData = async (strUrl) => {\n let newToken = await GetToken();\n\n return new Promise((resolve, reject) => {\n const config = {\n method: \"get\",\n url: baseUrl + strUrl,\n headers: {\n \"Content-Type\": \"aplication/json\",\n Authorization: \"Bearer\" + \" \" + newToken.secret_key,\n },\n };\n axios(config)\n .then((res) => {\n if (res.data.responseStatus === \"SUCCESS\") {\n resolve(res.data);\n\n return;\n }\n reject(res.data);\n })\n .catch((e) => {\n reject(e.response);\n });\n });\n};\n\nexport const GetListDataCustomUrl =async (strUrl) => {\n return new Promise((resolve, reject) => {\n const config = {\n method: \"get\",\n url: strUrl,\n headers: {\n \"Content-Type\": \"aplication/json\",\n },\n };\n axios(config)\n .then((res) => {\n if (res.status === 200) {\n resolve(res.data);\n\n return;\n }\n reject(res.data);\n })\n .catch((e) => {\n reject(e.response);\n });\n });\n\n}\n\nexport const GetDownloadFileZip = async (strUrl, fileName, ext = 'zip') => {\n const newToken = await GetToken();\n\n await axios({\n url: baseUrl + strUrl, //your url\n method: 'GET',\n responseType: 'blob', // important\n headers: {\n \"Content-Type\": \"aplication/json\",\n Authorization: \"Bearer\" + \" \" + newToken.secret_key,\n },\n }).then((response) => {\n // create file link in browser's memory\n const href = URL.createObjectURL(response.data);\n\n // create \"a\" HTML element with href to file & click\n const link = document.createElement('a');\n link.href = href;\n link.setAttribute('download', `${fileName}.${ext}`); //or any other extension\n document.body.appendChild(link);\n link.click();\n\n // clean up \"a\" element & remove ObjectURL\n document.body.removeChild(link);\n URL.revokeObjectURL(href);\n });\n};\n\nexport const PostDownloadFile = async (strUrl, parameter, fileName, ext = 'zip') => {\n const newToken = await GetToken();\n\n await axios({\n url: baseUrl + strUrl, //your url\n method: 'POST',\n responseType: 'blob', // important\n headers: {\n \"Content-Type\": \"aplication/json\",\n Authorization: \"Bearer\" + \" \" + newToken.secret_key,\n },\n data: parameter,\n }).then((response) => {\n // create file link in browser's memory\n const href = URL.createObjectURL(response.data);\n\n // create \"a\" HTML element with href to file & click\n const link = document.createElement('a');\n link.href = href;\n link.setAttribute('download', `${fileName}.${ext}`); //or any other extension\n document.body.appendChild(link);\n link.click();\n\n // clean up \"a\" element & remove ObjectURL\n document.body.removeChild(link);\n URL.revokeObjectURL(href);\n });\n};\n\n\nexport const newGetListIntegration = async (system_id, url) => {\n let integrationData = await getIntegrationDetail(system_id);\n let index = await getIndexByValue(integrationData.auth_parameter, 'key', 'token');\n let config = {\n method:'get',\n url:integrationData.url + url,\n headers:{\n \"Content-type\": 'application/json'\n }\n }\n\n if(integrationData.auth_type!=\"Basic Auth\"){\n\n }else{\n if(index >= 0){\n config.headers['token'] = integrationData.auth_parameter[index].value;\n }\n }\n\n // console.log(\"cek config\", config)\n\n return new Promise((resolve, reject) => {\n axios(config).then((res) => {\n if (res.status == 200 || res.data.status == \"success\") {\n resolve(res.data);\n return;\n }\n reject(res.data);\n }).catch((e) => {\n reject(e.response)\n })\n })\n\n}\nexport const GetListIntegration = async (strUrl) => {\n let newToken = await GetToken();\n return new Promise((resolve, reject) => {\n const config = {\n method: \"get\",\n url: urlLPJK + strUrl,\n headers: {\n \"Content-Type\": \"aplication/json\",\n token: newToken.tokenIntegrate,\n },\n };\n axios(config)\n .then((res) => {\n // console.log(\"cek res\", res.status);\n if (res.status == 200 || res.data.status == \"success\") {\n // console.log(res.data)\n resolve(res.data);\n return;\n }\n reject(res.data);\n })\n .catch((e) => {\n reject(e.response);\n });\n });\n};\nexport const GetListDataMessage = async (strUrl) => {\n let newToken = await GetToken();\n\n return new Promise((resolve, reject) => {\n const config = {\n method: \"get\",\n url: urlChatMessage + strUrl,\n headers: {\n \"Content-Type\": \"aplication/json\",\n Authorization: \"Bearer\" + \" \" + newToken.secret_key,\n },\n };\n axios(config)\n .then((res) => {\n if (res.data.responseStatus === \"SUCCESS\") {\n resolve(res.data);\n\n return;\n }\n reject(res.data);\n })\n .catch((e) => {\n reject(e.response);\n });\n });\n};\n\nexport const insertFormData = async (strUrl, body) => {\n let newToken = await GetToken();\n return new Promise((resolve, reject) => {\n const config = {\n method: \"post\",\n url: baseUrl + strUrl,\n headers: {\n Accept: \"application/json\",\n Authorization: `Bearer ${newToken.secret_key}`,\n \"Content-Type\": \"multipart/form-data\",\n },\n data: body,\n };\n axios(config)\n .then((res) => {\n if (res.data.responseStatus === \"SUCCESS\") {\n resolve(res.data);\n return;\n }\n\n reject(res.data);\n })\n .catch((e) => {\n reject(e.response);\n });\n });\n};\nexport const newPostIntegration = async (system_id, url, body) => {\n let integrationData = await getIntegrationDetail(system_id);\n let index = await getIndexByValue(integrationData.auth_parameter, 'key', 'token');\n let config = {\n method:'post',\n url:integrationData.url + url,\n headers:{\n \"Content-type\": 'application/json'\n },\n data: body\n }\n\n if(integrationData.auth_type!=\"Basic Auth\"){\n\n }else{\n if(index >= 0){\n config.headers['token'] = integrationData.auth_parameter[index].value;\n }\n }\n\n return new Promise((resolve, reject) => {\n axios(config)\n .then((res) => {\n if (res.data.status === \"success\") {\n resolve(res.data);\n\n return;\n }\n reject(res.data);\n })\n .catch((e) => {\n reject(e.response);\n });\n });\n}\nexport const postIntegration = async (strUrl, body) => {\n let newToken = await GetToken();\n\n return new Promise((resolve, reject) => {\n const config = {\n method: \"post\",\n url: urlLPJK + strUrl,\n headers: {\n \"Content-Type\": \"aplication/json\",\n token: newToken.tokenIntegrate,\n },\n data: body,\n };\n axios(config)\n .then((res) => {\n if (res.data.status === \"success\") {\n resolve(res.data);\n\n return;\n }\n reject(res.data);\n })\n .catch((e) => {\n reject(e.response);\n });\n });\n};\n// lsp_id/certificate/user_id/schema_name/file_sertifikat\nexport const insertData = async (strUrl, body) => {\n let newToken = await GetToken();\n return new Promise((resolve, reject) => {\n const config = {\n method: \"post\",\n url: baseUrl + strUrl,\n headers: {\n \"Content-Type\": \"aplication/json\",\n 'Access-Control-Allow-Origin': '*',\n Authorization: `Bearer ${newToken.secret_key}`,\n },\n data: body,\n };\n axios(config)\n .then((res) => {\n if (res.data.responseStatus === \"SUCCESS\") {\n resolve(res.data);\n return;\n }\n\n reject(res.data);\n })\n .catch((e) => {\n reject(e.response);\n });\n });\n};\n\n// export const EditData = async (strUrl, body) => {\n// let newToken = await GetToken();\n// return new Promise((resolve, reject) => {\n// axios({\n// method: \"PUT\",\n// url: baseUrl + strUrl,\n// headers: {\n\n// \"Content-Type\": \"aplication/json\",\n// Authorization: `Bearer ${newToken.secret_key}`,\n// },\n// data: body,\n// })\n// .then((res) => {\n// if (res.data.responseStatus === \"SUCCESS\") {\n// resolve(res.data);\n// return;\n// }\n\n// reject(res.data);\n// })\n// .catch((e) => {\n// reject(e.response);\n// });\n// });\n// };\n\nexport const inputDataNew = async (strUrl, body) => {\n let newToken = await GetToken();\n return new Promise((resolve, reject) => {\n axios({\n method: \"POST\",\n url: `${baseUrl}${strUrl}`,\n headers: {\n Accept: \"application/json\",\n Authorization: `Bearer ${newToken.secret_key}`,\n \"Content-Type\": \"application/json\",\n },\n data: JSON.stringify(body),\n })\n .then((res) => {\n if (res.data.responseStatus === \"SUCCESS\") {\n resolve(res.data);\n return;\n }\n\n reject(res.data);\n })\n .catch((e) => {\n reject(e.response);\n });\n });\n};\nexport const inputChat = async (strUrl, body) => {\n let newToken = await GetToken();\n return new Promise((resolve, reject) => {\n axios({\n method: \"POST\",\n url: urlChatMessage + strUrl,\n headers: {\n Accept: \"application/json\",\n Authorization: `Bearer ${newToken.secret_key}`,\n \"Content-Type\": \"application/json\",\n },\n data: JSON.stringify(body),\n })\n .then((res) => {\n if (res.data.responseStatus === \"SUCCESS\") {\n resolve(res.data);\n return;\n }\n\n reject(res.data);\n })\n .catch((e) => {\n reject(e.response);\n });\n });\n};\nexport const editChat = async (strUrl, body) => {\n let newToken = await GetToken();\n return new Promise((resolve, reject) => {\n axios({\n method: \"PUT\",\n url: urlChatMessage + strUrl,\n headers: {\n Accept: \"application/json\",\n Authorization: `Bearer ${newToken.secret_key}`,\n \"Content-Type\": \"application/json\",\n },\n data: JSON.stringify(body),\n })\n .then((res) => {\n if (res.data.responseStatus === \"SUCCESS\") {\n resolve(res.data);\n return;\n }\n\n reject(res.data);\n })\n .catch((e) => {\n reject(e.response);\n });\n });\n};\nexport const EditData = async (strUrl, body) => {\n let newToken = await GetToken();\n return new Promise((resolve, reject) => {\n axios({\n method: \"PUT\",\n url: `${baseUrl}${strUrl}`,\n headers: {\n Accept: \"application/json\",\n Authorization: `Bearer ${newToken.secret_key}`,\n \"Content-Type\": \"application/json\",\n },\n data: JSON.stringify(body),\n })\n .then((res) => {\n if (res.data.responseStatus === \"SUCCESS\") {\n resolve(res.data);\n return;\n }\n\n reject(res.data);\n })\n .catch((e) => {\n reject(e.response);\n });\n });\n};\n\nexport const DeleteData = async (strUrl) => {\n let newToken = await GetToken();\n return new Promise((resolve, reject) => {\n axios({\n method: \"DELETE\",\n url: baseUrl + strUrl,\n headers: {\n \"Content-Type\": \"aplication/json\",\n Authorization: `Bearer ${newToken.secret_key}`,\n },\n })\n .then((res) => {\n if (res.data.responseStatus === \"SUCCESS\") {\n resolve(res.data);\n return;\n }\n\n reject(res.data);\n })\n .catch((e) => {\n reject(e.response);\n });\n });\n};\nexport const DeleteChat = async (strUrl, body) => {\n let newToken = await GetToken();\n\n return new Promise((resolve, reject) => {\n axios({\n data: JSON.stringify(body),\n method: \"DELETE\",\n url: urlChatMessage + strUrl,\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"aplication/json\",\n Authorization: `Bearer ${newToken.secret_key}`,\n },\n })\n .then((res) => {\n if (res.data.responseStatus === \"SUCCESS\") {\n resolve(res.data);\n return;\n }\n\n reject(res.data);\n })\n .catch((e) => {\n reject(e.response);\n });\n });\n};\n\nexport const refreshToken = () => {\n const setLocalStorage = (responseJSON) => {\n localStorage.setItem(\"secret_key\", responseJSON.secret_key);\n };\n const data = {};\n const token = localStorage.getItem(\"secret_key\");\n data[\"token\"] = token;\n\n insertData(\"/users/refresh_token\", data)\n .then((response) => {\n let responseJSON = response;\n if (response.responseStatus === \"SUCCESS\") {\n setLocalStorage(responseJSON);\n window.location.reload();\n }\n })\n .catch((error) => {\n localStorage.clear();\n window.location.reload();\n });\n};\n\nexport const formatRupiah = (angka) => {\n var number_string = angka.replace(/[^,\\d]/g, '').toString(),\n split \t\t= number_string.split(','),\n sisa \t\t= split[0].length % 3,\n rupiah \t\t= split[0].substr(0, sisa),\n ribuan \t\t= split[0].substr(sisa).match(/\\d{3}/gi);\n\n // tambahkan titik jika yang di input sudah menjadi angka ribuan\n if(ribuan){\n let separator = sisa ? '.' : '';\n rupiah += separator + ribuan.join('.');\n }\n\n rupiah = split[1] != undefined ? rupiah + ',' + split[1] : rupiah;\n return 'Rp '+rupiah;\n}\n\nconst escapeRegExp = (string) => {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'); // $& means the whole matched string\n}\n\nexport const replaceAll = (str, find, replace) => {\n return str.replace(new RegExp(escapeRegExp(find), 'g'), replace);\n}\n\nexport const concatTwoUrl = (firstUrl, secondUrl) => {\n if(!secondUrl){\n return '#';\n }\n\n if(!firstUrl){\n return '#';\n }\n\n if(secondUrl.startsWith('/')){\n secondUrl = removeCharAt(secondUrl, 'first');\n }\n\n if(firstUrl.endsWith('/')){\n firstUrl = removeCharAt(firstUrl);\n }\n\n return firstUrl+'/'+secondUrl;\n}\n\nexport const handleUrlFile = (url = '') => {\n if(!url){\n return url;\n }\n\n if(typeof url === 'string' || url instanceof String){\n if(url.includes('https') || url.includes('perizinan')){\n return url;\n }\n }\n\n let newBaseUrl = deleteSlashBase(urlLinode);\n\n if (getRole() === 'APL') {\n const lsp_id = localStorage.getItem('lsp_id');\n if (lsp_id === \"cff88759-27e6-4708-8097-27ed283505b9\"){\n newBaseUrl = deleteSlashBase(urlLinodeAbi);\n }\n } else {\n const lsp_id = JSON.parse(localStorage.getItem('ref_id'));\n if (lsp_id === \"cff88759-27e6-4708-8097-27ed283505b9\"){\n newBaseUrl = deleteSlashBase(urlLinodeAbi);\n }\n }\n\n \n let newPathFile = '';\n \n if(url){\n newPathFile = deleteSlashPath(url);\n }\n \n \n return newBaseUrl+'/'+newPathFile;\n}\n\nconst deleteSlashBase = (valueUrl) => {\n let newBaseUrl = valueUrl;\n let slash = valueUrl.endsWith(\"/\");\n\n if(slash){\n newBaseUrl = removeCharAt(newBaseUrl)\n }\n\n return newBaseUrl\n}\n\nconst deleteSlashPath = (valuePath) => {\n let newBaseUrl = valuePath;\n\n let slash = '';\n\n try {\n slash = valuePath.startsWith(\"/\");\n } catch (err) {\n slash = \"\";\n }\n \n\n if(slash){\n newBaseUrl = removeCharAt(newBaseUrl, 'first');\n }\n\n return newBaseUrl\n}\n\nexport const deleteSlashTwo = (urlLeft, urlRight) => {\n let newLeft = \"\";\n let newRight = \"\";\n\n if(urlLeft){\n newLeft = deleteSlashBase(urlLeft);\n }\n\n if(urlRight){\n newRight = deleteSlashPath(urlRight);\n }\n\n return newLeft+\"/\"+newRight;\n}\n\nconst removeCharAt = (val, pos=null) => {\n var tmp = val.split(''); // convert to an array\n if(pos==='first'){\n tmp.shift();\n }else{\n tmp.pop();\n }\n return tmp.join(''); // reconstruct the string\n}\n\nexport const hasPropertyWithValue = (array, propertyName, propertyValue) => {\n return array.some(item => item[propertyName] === propertyValue);\n}\n\nexport const formatFullIndoDate = (currentDate) => {\n const date = new Date(currentDate);\n\n const days = ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu'];\n const months = [\n 'Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni',\n 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'\n ];\n\n const formattedDate = `\n ${days[date.getDay()]}, \n ${date.getDate()} \n ${months[date.getMonth()]} \n ${date.getFullYear()}\n `;\n\n return formattedDate;\n // kamis, 28 Agustus 2020\n}\n\nexport const getFileExtension = (filename) => {\n return filename.slice((filename.lastIndexOf('.') - 1 >>> 0) + 2);\n}\n\nexport const isImage= (filename) => {\n const imageExtensions = ['png', 'jpg', 'jpeg']; // Tambahkan ekstensi lain jika diperlukan\n const fileExtension = filename.split('.').pop().toLowerCase();\n\n return imageExtensions.includes(fileExtension);\n}\n\nexport function delay(ms) {\n return new Promise(resolve => setTimeout(resolve, ms));\n}","import axios from \"axios\";\nimport { baseUrl } from \"../config/config\";\n\nexport const GetToken = async () => {\n const idendity = await localStorage.getItem(\"identity_type\");\n const secret_key = await localStorage.getItem(\"secret_key\");\n const role = await localStorage.getItem(\"role\");\n const userInfo = await localStorage.getItem(\"userdata\");\n const logged = await localStorage.getItem(\"logged_in\");\n // const dataToken = await JSON.parse(localStorage.getItem(\"lpjk\"));\n const tokenIntegrate = \"\";\n return {\n idendity,\n logged,\n secret_key,\n role,\n userInfo: JSON.parse(userInfo),\n tokenIntegrate,\n };\n};\n\nexport const axiosGenerate = async () => {\n const myAccessLogin = await GetToken();\n axios.defaults.baseURL = baseUrl;\n axios.defaults.headers.common[\n \"Authorization\"\n ] = `Bearer ${myAccessLogin.token}`;\n};\n\nexport const saveToken = async ({ token, key, client, user }) => {\n await addItemValue(\"token\", token);\n await addItemValue(\"key\", key);\n await addItemValue(\"client\", client);\n await addItemValue(\"user_info\", JSON.stringify(user));\n};\nexport const removeToken = async () => {\n await removeItemValue(\"token\");\n await removeItemValue(\"key\");\n await removeItemValue(\"client\");\n await removeItemValue(\"user_info\");\n};\n\nexport const converDateToTimetamps = (date) => {\n return Math.round(new Date(date).getTime() / 1000);\n};\n\nconst removeItemValue = async (key) => {\n try {\n return true;\n } catch (exception) {\n return false;\n }\n};\n\nconst addItemValue = async (key, value) => {\n try {\n return true;\n } catch (exception) {\n return false;\n }\n};\n","export default __webpack_public_path__ + \"static/media/chatone.2cca2f33.mp3\";","import React, { useState, useEffect} from \"react\";\nimport { Drawer, List } from \"antd\";\nimport moment from \"moment\";\n\nconst DrawerInfoRoom = (props) => {\n const [user_id, setUser_id] = useState(null);\n useEffect(() => {\n const userData = JSON.parse(localStorage.getItem(\"userdata\"));\n if(userData){\n setUser_id(userData.user_id);\n }\n }, [])\n const { open, onClose, data, roomName, dateRoom } = props\n\n const renderRole = (role_code) => {\n let role = 'Asesi';\n switch (role_code) {\n case 'ACS':\n role = 'Asesor';\n break;\n case 'ADM':\n role = 'Admin';\n break;\n case 'SUP':\n role = 'Admin';\n break;\n default:\n break;\n }\n return role;\n }\n\n return(\n
\n \n
\n
\n
\n
{roomName}
\n
\n
\n
Tanggal Dibuat
\n
{dateRoom ? moment(dateRoom).format('DD/MM/YYYY') : ''}
\n
\n
\n
\n
Peserta
\n
\n {\n return (\n \n
\n
{item.user ? item.user_id===parseInt(user_id ? user_id : \"\") ? 'Anda' : item.user.first_name+' '+item.user.last_name : '-'}
\n {renderRole(item.user.role_code)}\n
\n
\n )\n }}>\n
\n
\n
\n
\n
\n
\n )\n}\n\nexport default DrawerInfoRoom;","import React, { useState, useRef } from \"react\";\nimport moment from \"moment\";\nimport PDFJs from \"../../../backends/pdfjs\";\nimport PDFViewer from \"../../../components/PDFViewer/PDFViewer\";\nimport { Modal } from \"antd\";\n// import InfiniteScroll from \"react-infinite-scroll-component\";\nimport InfiniteScroll from 'react-infinite-scroller';\nimport { useEffect } from \"react\";\nimport './chatbubles.css';\n\nconst ChatList = (props) => {\n const { messageList, moreMessage, totalMessage, roomId, firstBottom, setFirstBottom, open } = props;\n const [userId, setUserId] = useState(JSON.parse(localStorage.getItem(\"userdata\")).user_id);\n const [bodySetted, setBodySetted] = useState(false);\n const [openPreview, setOpenPreview] = useState(false)\n const [srcPreview, setSrcPreview] = useState('');\n // const [firstBottom, setFirstBottom] = useState(false)\n // const [arrayDate, setArrayDate] = useState([])\n // ref\n const drawerRef = useRef(null);\n const drawerBody = document.getElementById('body-chat');\n const bottomMessage = useRef(null);\n const topMessage = useRef(null);\n\n const LeftChat = ({ chat, sender, date, detail }) => (\n
\n
\n
{sender}
\n {detail ? (\n
\n \n
\n ) : (\n

{chat}

\n )}\n {moment(date).format('HH:mm')}\n
\n
\n )\n \n const RightChat = ({ chat, date, detail }) => (\n
\n
\n
Anda
\n {detail ? (\n
\n \n
\n ) : (\n

{chat}

\n )}\n {moment(date).format('HH:mm')}\n
\n
\n )\n \n const RenderFile = ({ src }) => {\n let ext = src.split(\".\").pop();\n let fileName = src.split(\"/\").pop();\n if(ext === \"pdf\"){\n return(\n
handleOpenPreview(src)} style={{ display:'flex', flexDirection:'column', justifyContent:'center', textAlign:'center', cursor:'pointer'}}>\n \n {fileName}\n
\n )\n }else if(ext === \"xls\" || ext === \"xlsx\" || ext === \"doc\" || ext === \"docx\" || ext === \"ppt\" || ext === \"pptx\"){\n let icon = \"\";\n if(ext === \"xls\" || ext === \"xlsx\"){\n icon = \"fa-file-excel-o\";\n }else if(ext === \"doc\" || ext === \"docx\"){\n icon = \"fa-file-word-o \";\n }else if(ext === \"ppt\" || ext === \"pptx\"){\n icon = \"fa-file-powerpoint-o\";\n }else{\n icon = \"fa-file\";\n }\n return(\n
handleOpenDocs(src)} style={{ display:'flex', flexDirection:'column', justifyContent:'center', textAlign:'center', cursor:'pointer'}}>\n \n {fileName}\n
\n )\n }else{\n return(\n \n )\n }\n }\n \n useEffect(() => {\n setFirstBottom(false);\n return () => {\n setFirstBottom(false);\n };\n }, [roomId]);\n\n\n useEffect(() => {\n if(drawerRef.current){\n drawerRef.current.parentElement.setAttribute('id','body-chat');\n setBodySetted(true);\n }\n }, [drawerRef]);\n\n const RenderDateMiddle = ({ date }) => {\n return (\n
\n {date}\n
\n )\n }\n \n const RenderMessage = (props) => {\n const { value, date } = props\n let viewDate = '';\n let fullName = `${value.sender.first_name ? value.sender.first_name : ''} ${value.sender && value.sender.last_name ? value.sender.last_name : ''}`;\n if(date){\n viewDate = date.format(\"dddd, DD MMMM YYYY\");\n if(moment(date).isSame(moment(), 'day')){\n viewDate = 'Hari Ini';\n }else if(moment(date).isSame(moment().subtract(1, 'days'))){\n viewDate = 'Kemarin';\n }\n }\n if(value.sender_id==parseInt(userId)){\n return (\n \n \n {date ? : null}\n \n )\n }else{\n return (\n \n \n {date ? : null}\n \n )\n }\n }\n\n const handleGetNextMessage = () => {\n\n // return;\n if(!firstBottom){\n return;\n }\n\n if(totalMessage==messageList.length){\n return;\n }\n moreMessage();\n }\n\n const scrollBottom = async () => {\n if(!firstBottom){\n await delay(1200);\n bottomMessage.current.scrollIntoView({ behavior: \"auto\" });\n setFirstBottom(true);\n }\n }\n\n const setRenderMessage = () => {\n let arrayDate = [];\n return (\n \n {messageList.map((val, index) => {\n if(val){\n let createdDate = val.created_date ? moment(val.created_date) : moment();\n let find = arrayDate.findIndex((valDate) => moment(valDate).isSame(createdDate, 'day'));\n let nextSame = false;\n if(messageList.length!==index+1){\n nextSame = moment(val.created_date).isSame(messageList[index+1].created_date, 'day');\n }\n let date = '';\n\n if(!nextSame && find < 0){\n arrayDate.push(createdDate);\n date = createdDate;\n }\n\n\n if(index+1===messageList.length){\n scrollBottom();\n }\n \n return \n }\n })}\n \n )\n }\n\n const handleOpenPreview = (src) => {\n setSrcPreview(src);\n setOpenPreview(true);\n }\n\n const handleOpenDocs = (src) => {\n let link = \"https://docs.google.com/gview?embedded=true&url=\"+src;\n window.open(link, '_blank').focus();\n }\n\n const delay = ms => new Promise(res => setTimeout(res, ms));\n\n return(\n
\n {/* Modal Document */}\n setOpenPreview(false)}\n cancelText=\"Tutup\"\n okButtonProps={{ style:{display:'none'} }}\n className=\"modal-chat\"\n >\n \n \n {bodySetted && (\n }\n useWindow={false}\n getScrollParent={() => drawerBody}\n isReverse={true}\n initialLoad={false}\n style={{ display: 'flex', flexDirection: 'column-reverse',width:'100%',minHeight:'80vh',overflow:'hidden' }}\n >\n
\n {setRenderMessage()}\n \n )}\n
\n )\n}\n\nexport default ChatList;","import React, { useState, useEffect } from \"react\";\nimport { Drawer, Input, Popover, notification } from \"antd\";\nimport useWebSocket, { ReadyState } from 'react-use-websocket';\nimport { urlSocketChat } from \"../../../components/config/config\";\nimport { GetListDataMessage, inputChat, editChat } from \"../../../components/config/actions\";\nimport DrawerInfoRoom from \"./drawerInfoRoom\";\nimport \"emoji-mart/css/emoji-mart.css\";\nimport { Picker } from \"emoji-mart\";\nimport { UploadFile } from \"../../../components/Button/UploadFile\";\nimport ChatList from \"./chatList\";\nimport './chatbubles.css';\n\nconst DrawerChatRoom = (props) => {\n const { setLastMessage, open, onClose, roomId, roomName, dateRoom, lastMessage } = props\n const json = JSON.parse(localStorage.getItem(\"userdata\"));\n // const user_name = JSON.parse(localStorage.getItem(\"userdata\")).username;\n // socket\n \n // state\n const [chatMessage, setChatMessage] = useState('');\n const [messageHistory, setMessageHistory] = useState([]);\n const [messageList, setMessageList] = useState([])\n const [curentOffset, setCurrentOffset] = useState(1)\n const [openInfo, setOpenInfo] = useState(false)\n const [totalMessage, setTotalMessage] = useState(0)\n const [dataParticipant, setDataParticipant] = useState([])\n const [fetching, setFetching] = useState(false);\n const [firstBottom, setFirstBottom] = useState(false)\n const [disableSent, setDisableSent] = useState(false)\n\n useEffect(() => {\n setCurrentOffset(1)\n setTotalMessage(0)\n setMessageList([])\n setChatMessage('')\n if(roomId){\n getChatParticipant();\n getRoomById();\n getMessage();\n readMessage();\n }\n }, [roomId]);\n\n useEffect(() => {\n if(curentOffset <=1){\n return;\n }\n getRestMessage();\n }, [curentOffset])\n\n useEffect(() => {\n if(lastMessage){\n let lastMessageData = JSON.parse(lastMessage.data);\n if(lastMessageData.room_id==roomId){\n setFirstBottom(false);\n let tmpArr = [lastMessageData.data];\n setMessageList([...tmpArr, ...messageList]);\n readMessage();\n }\n setLastMessage(null);\n }\n }, [lastMessage])\n\n // handle function\n const getMessage = () => {\n // setLoading(true);\n\n GetListDataMessage(\n `chat/message?order=desc&sort_by=created_date&offset=1&limit=25&chat_room_id=${roomId}`\n )\n .then((response) => {\n if (response.responseStatus == \"SUCCESS\") {\n // setLoading(false);\n if (response.data == null) {\n setMessageList([]);\n } else {\n // const sortDesc = response.data.sort((a, b) => parseFloat(b.id) - parseFloat(a.id));\n // const sordAsc = response.data.sort(\n // (a, b) => new Date(a.created_date) - new Date(b.created_date)\n // );\n setTotalMessage(response.count);\n setMessageList(response.data);\n }\n }\n })\n .catch((error) => {\n // setLoading(false);\n if (error.responseStatus == \"ERROR\") {\n notification.error({\n message: \"Terjadi Kesalahan\",\n description: `${error.data.data}`,\n placement:'topRight',\n style:{zIndex:2000}\n });\n }\n });\n };\n\n const getRestMessage = async () => {\n GetListDataMessage(\n `chat/message?order=desc&sort_by=created_date&offset=${curentOffset}&limit=25&chat_room_id=${roomId}`\n )\n .then((response) => {\n if (response.responseStatus == \"SUCCESS\") {\n // setLoading(false);\n if (response.data == null) {\n \n } else {\n // const sortDesc = response.data.sort((a, b) => parseFloat(b.id) - parseFloat(a.id));\n // const sordAsc = response.data.sort(\n // (a, b) => new Date(a.created_date) - new Date(b.created_date)\n // );\n setMessageList([...messageList, ...response.data]);\n setFetching(false);\n }\n }\n })\n .catch((error) => {\n // setLoading(false);\n if (error.responseStatus == \"ERROR\") {\n notification.error({\n message: \"Terjadi Kesalahan\",\n description: `${error.data.data}`,\n placement:'topRight',\n style:{zIndex:2000}\n });\n }\n });\n }\n\n const readMessage = () => {\n if(!roomId){\n return;\n }\n const data = {\n chat_room_id:roomId\n }\n\n editChat(`chat/all/read`, data)\n .then((response) => {\n if (response.responseStatus === \"SUCCESS\") {\n // \n }\n })\n .catch((error) => {\n if (error.data.responseStatus == \"ERROR\") {\n // \n }\n });\n }\n\n const compare = (a, b) => {\n if(a.user && a.user.first_name && b.user && b.user.first_name){\n if ( a.user.first_name < b.user.first_name ){\n return -1;\n }\n if ( a.user.first_name > b.user.first_name ){\n return 1;\n }\n }\n return 0;\n }\n\n const getChatParticipant = () => {\n GetListDataMessage(`chat/participant?chat_room_id=${roomId}`)\n .then((response) => {\n if (response.responseStatus == \"SUCCESS\") {\n let arrParticipant = response.data;\n arrParticipant.sort( compare );\n let indexSelf = arrParticipant.findIndex((val) => val.user_id === parseInt(json.user_id));\n let dataSelft = arrParticipant[indexSelf];\n arrParticipant.splice(indexSelf, 1);\n arrParticipant = [dataSelft, ...arrParticipant];\n setDataParticipant(arrParticipant);\n }\n })\n .catch((error) => {\n if (error.responseStatus == \"ERROR\") {\n notification.error({\n message: \"Terjadi Kesalahan\",\n description: `${error.data.data}`,\n placement:'topRight',\n style:{zIndex:2000}\n });\n }\n });\n };\n\n const getRoomById = () => {\n GetListDataMessage(`chat/room/${roomId}`)\n .then((response) => {\n if (response.responseStatus == \"SUCCESS\") {\n \n }\n })\n .catch((error) => {\n if (error.responseStatus == \"ERROR\") {\n notification.error({\n message: \"Terjadi Kesalahan\",\n description: `${error.data.data}`,\n placement:'topRight',\n style:{zIndex:2000}\n });\n }\n });\n };\n\n const createMessage = (data) => {\n inputChat(`chat/message`, data)\n .then((response) => {\n if (response.responseStatus === \"SUCCESS\") {\n setDisableSent(false);\n getMessage();\n readMessage();\n }\n })\n .catch((error) => {\n if (error.data.responseStatus == \"ERROR\") {\n notification.error({\n message: \"Terjadi Kesalahan\",\n description: `${error.data.data}`,\n placement:'topRight',\n style:{zIndex:2000}\n });\n }\n });\n };\n\n const handleChat = () => {\n if(disableSent){\n return;\n }\n if(!chatMessage && chatMessage.length < 1){\n return;\n }\n setDisableSent(true)\n setChatMessage('');\n setFirstBottom(false);\n const data = {\n category: 1,//1 regular 2 file\n data: chatMessage,\n chat_room_id: roomId,\n sender: {\n first_name: json.first_name,\n last_name: json.last_name ? json.last_name : '',\n user_id: json.user_id,\n },\n };\n\n createMessage(data);\n }\n\n const handleUpload = (file) => {\n\n if (file.fileSize >= 10008874) {\n notification.error({\n message: \"Gagal!\",\n description: 'Ukuran file tidak boleh lebih dari 10mb',\n placement:'topRight',\n style:{zIndex:2000}\n });\n // window.alert(this.state.messageSize);\n return;\n }\n\n // data: file.base64.split(\",\")[1],\n const data = {\n filename: file.filename,\n chat_room_id: roomId,\n sender: {\n first_name: json.first_name,\n last_name: json.last_name ? json.last_name : '',\n user_id: json.user_id,\n },\n };\n\n if (\n file.filename.split(\".\").pop() === \"pdf\" ||\n file.filename.split(\".\").pop() === \"xlsx\" ||\n file.filename.split(\".\").pop() === \"xls\" ||\n file.filename.split(\".\").pop() === \"docx\" ||\n file.filename.split(\".\").pop() === \"doc\" ||\n file.filename.split(\".\").pop() === \"ppt\" ||\n file.filename.split(\".\").pop() === \"pptx\"\n ){\n data['data'] = file.base64.split(\",\")[1];\n data['category'] = 3;\n }else{\n data['data'] = file.base64\n data['category'] = 2;\n }\n createMessage(data);\n }\n\n const customButton = () => (\n \n )\n\n const RightInput = () => {\n return (\n
\n \n handleUpload(file)} />\n
\n );\n }\n\n const addEmoji = (emoji) => {\n let textMessage = chatMessage+emoji.native;\n setChatMessage(textMessage);\n };\n\n const LeftInput = () => (\n } title=\"Title\" trigger=\"click\">\n \n \n )\n\n const TitleHeaderRoomChat = () => {\n return(\n
\n
{roomName ? roomName : ''}
\n Klik untuk info grup\n
\n )\n }\n\n // this.handleUpload(file, row)} />\n\n const handleMoreMessage = () => {\n if(fetching){\n return;\n }\n setFetching(true);\n setCurrentOffset(prev => prev+1);\n }\n\n const handleOpenInfo = () => {\n setOpenInfo(true)\n }\n\n const handleCloseInfo = () => {\n setOpenInfo(false)\n }\n\n const handleKeyDown = (e) => {\n if(disableSent){\n return;\n }\n if(e.key==='Enter' || e.key==='enter'){\n handleChat();\n }\n }\n\n return(\n
\n \n }>\n {/*
\n
asdasd
\n
*/}\n {/*
\n

WTF

\n
*/}\n \n
\n setChatMessage(e.target.value)} addonBefore={} addonAfter={} />\n
\n
\n
\n )\n}\n\nexport default DrawerChatRoom;","import React, { useEffect, useRef, useState } from \"react\";\nimport { Drawer, Badge } from \"antd\";\nimport { GetListDataMessage } from \"../../../components/config/actions\";\nimport DrawerChatRoom from \"./drawerChatRoom\";\nimport moment from \"moment\";\nimport { urlSocketChat } from \"../../../components/config/config\";\nconst ChatContainer = (props) => {\n const { open, handleClose, setUnreadChat, audio } = props;\n const userData = JSON.parse(localStorage.getItem(\"userdata\"));\n const [socketUrl, setSocketUrl] = useState(userData ? `${urlSocketChat}?id=${userData.user_id }&username=${userData.username}` : `${urlSocketChat}`);\n // const [socketMessage, setSocketMessage] = useState(new WebSocket(socketUrl));\n // const { lastMessage, readyState } = useWebSocket(socketUrl);\n // const [audio] = useState(new Audio(chatone));\n const [playing, setPlaying] = useState(false);\n const [roomChat, setRoomChat] = useState([]);\n const [openRoom, setOpenRoom] = useState(false);\n const [roomId, setRoomId] = useState('');\n const [roomName, setRoomName] = useState('');\n const [dateRoom, setDateRoom] = useState('');\n const [unMounted, setUnmounted] = useState(false);\n const [lastMessage, setLastMessage] = useState(null);\n const [readyState, setReadyState] = useState(0);\n const ringTone = document.getElementById(\"chatone\");\n const [webSocketM, setWebSocketM] = useState(null)\n // const socketMessage = new WebSocket(socketUrl);\n\n const toggleSound = () => {\n setPlaying(!playing)\n };\n\n useEffect(() => {\n startWebSocket();\n return () => {\n setUnmounted(true);\n if(webSocketM){\n webSocketM.close();\n }\n }\n }, []);\n\n const startWebSocket = () => {\n let socketMessage = new WebSocket(socketUrl);\n\n socketMessage.onmessage = (res) => {\n setLastMessage(res);\n }\n\n socketMessage.onopen = () => {\n // console.log('cek onopen')\n }\n\n socketMessage.onclose = () => {\n socketMessage = null;\n if(!unMounted){\n startWebSocket();\n }\n }\n\n setWebSocketM(socketMessage);\n }\n\n // useEffect(() => {\n // return () => {\n // setUnmounted(true);\n // socketMessage.close();\n // }\n // }, [socketMessage]);\n\n // useEffect(() => {\n // if(socketMessage){\n // setReadyState(socketMessage.readyState)\n // }\n // }, [socketMessage.readyState])\n\n // socketMessage.onmessage = (res) => {\n // setLastMessage(res);\n // console.log('cek res', res);\n // }\n \n // socketMessage.onclose = () => {\n // console.log('cek onClose')\n // }\n \n useEffect(() => {\n if(ringTone){\n playing ? ringTone.play() : ringTone.pause();\n }\n },[playing, ringTone]);\n\n useEffect(() => {\n if(ringTone){\n ringTone.addEventListener('ended', () => setPlaying(false));\n }\n return () => {\n if(ringTone){\n ringTone.removeEventListener('ended', () => setPlaying(false));\n }\n };\n }, [ringTone]);\n\n useEffect(() => {\n if(lastMessage){\n let lastMessageData = JSON.parse(lastMessage.data);\n if(lastMessageData.data){\n if(ringTone){\n ringTone.click();\n }\n toggleSound();\n getListRoomChat();\n }\n }\n }, [readyState, lastMessage])\n\n useEffect(() => {\n if(!openRoom || open){\n getListRoomChat();\n }\n }, [openRoom, open]);\n\n const getListRoomChat = async () => {\n let result = await GetListDataMessage(`chat/room?order=desc&sort_by=last_message_date&limit=100`).then((res) => res).catch((err) => err);\n if(result.responseStatus === 'SUCCESS'){\n if(result.data){\n let countUnread = 0;\n result.data.map((val, index) => {\n countUnread += val.unread;\n });\n setUnreadChat(countUnread);\n setRoomChat(result.data);\n }else{\n setRoomChat([]);\n setUnreadChat(0);\n }\n }\n }\n\n const handleOpenRoomChat = (data) => {\n setRoomId(data.id);\n setRoomName(data.name);\n setOpenRoom(true);\n setDateRoom(data.created_date);\n }\n\n const handleCloseChatRoom = async () => {\n setRoomId('')\n setRoomName('')\n setDateRoom('')\n setOpenRoom(false)\n }\n\n const RenderLastChat = ({ data} ) => {\n let lastChat = data.last_message;\n if(!lastChat){\n return -\n }\n\n let chat = lastChat.data;\n \n let ownChat = parseInt(userData.user_id) === parseInt(lastChat.sender_id);\n let fullName = `${lastChat.sender.first_name} ${lastChat.sender && lastChat.sender.last_name ? lastChat.sender.last_name : ''}`;\n\n if(data.last_message.detail){\n chat = chat.split('/').pop();\n }\n return(\n {`${ownChat ? 'Anda' : fullName }: ${chat}` }\n )\n }\n\n const ListRoomChat = ({ data }) => {\n let today = moment(data.last_message_date).isSame(moment(), 'day');\n return(\n
handleOpenRoomChat(data)}>\n
\n
{data.name}
\n {moment(data.last_message_date).format(today ? 'HH:mm' : 'DD-MM-YYYY HH:mm')}\n
\n
\n \n \n
\n
\n )\n }\n\n return (\n
\n \n {/* */}\n {roomChat.map((val,index) => {\n return(\n \n )\n })}\n {/* */}\n {roomChat && roomChat.length == 0 && (\n
Belum ada room chat yang dibentuk
\n )}\n
\n \n \n
\n )\n}\n\nexport default ChatContainer;","import { hasPropertyWithValue } from \"./components/config/actions\";\nimport {\n getDataLPJK,\n getIntegration,\n getRole,\n idLSPABI,\n isLJKIntegration,\n isLSPABI\n} from \"./components/config/config\";\n\nconst permission = {};\nlet dev = {\n en: {\n items: [\n {\n name: \"Home\",\n url: \"/dashboard\",\n icon: \"icon-home\",\n },\n {\n name: \"Users\",\n url: \"/users\",\n icon: \"icon-people\",\n },\n {\n name: \"TUK\",\n url: \"/tuk\",\n icon: \"icon-note\",\n },\n (!!isLJKIntegration() && {\n name: \"Pemohon SKK\",\n url: \"/pemohon-skk\",\n icon: \"fa fa-link\",\n }),\n {\n name: \"Assessors\",\n url: \"/Assessors\",\n icon: \"icon-user\",\n },\n {\n name: \"Participant\",\n url: \"/asesi\",\n icon: \"icon-note\",\n },\n {\n name: \"Skema Sertifikasi\",\n url: \"/schema/sub-schema\",\n icon: \"fa icon-grid\",\n },\n {\n name: \"Assessment\",\n icon: \"icon-calendar\",\n children: [\n {\n name: \"Submission\",\n url: \"/assessments/submission\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Rejected\",\n url: \"/assessments/rejected\",\n icon: \"icon-calendar\",\n },\n {\n name: \"List Assessment\",\n url: \"/assessments/list\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Archives\",\n url: \"/assessments/archives\",\n icon: \"icon-calendar\",\n },\n ],\n },\n // {\n // name: \"Group Chat\",\n // icon: \"fa fa-comments\",\n // url: \"/chat\",\n // },\n {\n name: \"Persyaratan\",\n icon: \"fa icon-layers\",\n children: [\n {\n name: \"Persyaratan Dasar\",\n url: \"/portfolios-umum\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Persyaratan Pendaftaran\",\n url: \"/portfolios\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Materi Uji Kompetensi\",\n url: \"/materi-uji\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Bukti Administratif\",\n url: \"/bukti-administratif\",\n icon: \"fa icon-layers\",\n },\n ],\n },\n {\n name: \"Data Base Asesi\",\n url: \"/alumnis\",\n icon: \"icon-badge\",\n },\n {\n name: \"Management Letter\",\n url: \"/management-letters\",\n icon: \"icon-folder-alt\",\n },\n {\n name: \"Log Data\",\n url: \"/restore-data\",\n icon: \"icon-trash\",\n },\n {\n name: \"Keluhan Aplikasi\",\n url: \"/complaint\",\n icon: \"fa fa-exclamation-triangle\",\n },\n {\n name: \"Pengelolaan Surat\",\n url: \"/letters\",\n icon: \"fa fa-envelope-open-o\",\n },\n ],\n },\n id: {\n items: [\n {\n name: \"Beranda\",\n url: \"/dashboard\",\n icon: \"icon-home\",\n },\n {\n name: \"Pengguna\",\n url: \"/users\",\n icon: \"icon-people\",\n },\n {\n name: \"TUK\",\n url: \"/tuk\",\n icon: \"icon-pencil\",\n },\n (!!isLJKIntegration() && {\n name: \"Pemohon SKK\",\n url: \"/pemohon-skk\",\n icon: \"fa fa-link\",\n }),\n {\n name: \"Asesor\",\n url: \"/Assessors\",\n icon: \"icon-user\",\n },\n {\n name: \"Pemohon\",\n url: \"/asesi\",\n icon: \"icon-note\",\n },\n {\n name: \"Skema Sertifikasi\",\n url: \"/schema/sub-schema\",\n icon: \"fa icon-grid\",\n },\n {\n name: \"Jadwal Sertifikasi\",\n icon: \"icon-calendar\",\n children: [\n {\n name: \"Pengajuan\",\n url: \"/assessments/submission\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Dibatalkan\",\n url: \"/assessments/rejected\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Daftar Asesmen\",\n url: \"/assessments/list\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Pengajuan Banding\",\n url: \"/assessments/appeal\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Arsip\",\n url: \"/assessments/archives\",\n icon: \"icon-calendar\",\n },\n ],\n },\n // {\n // name: \"Group Chat\",\n // icon: \"fa fa-comments\",\n // url: \"/chat\",\n // },\n {\n name: \"Persyaratan\",\n icon: \"fa icon-layers\",\n children: [\n {\n name: \"Persyaratan Dasar\",\n url: \"/portfolios-umum\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Persyaratan Pendaftaran\",\n url: \"/portfolios\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Materi Uji Kompetensi\",\n url: \"/materi-uji\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Bukti Administratif\",\n url: \"/bukti-administratif\",\n icon: \"fa icon-layers\",\n },\n ],\n },\n {\n name: \"Data Base Asesi\",\n url: \"/alumnis\",\n icon: \"icon-badge\",\n },\n {\n name: \"Pengelolaan Surat\",\n url: \"/management-letters\",\n icon: \"icon-folder-alt\",\n },\n {\n name: \"Log Data\",\n url: \"/restore-data\",\n icon: \"icon-trash\",\n },\n {\n name: \"Keluhan Aplikasi\",\n url: \"/complaint\",\n icon: \"fa fa-exclamation-triangle\",\n },\n {\n name: \"Pengelolaan Surat\",\n url: \"/letters\",\n icon: \"fa fa-envelope-open-o\",\n },\n ],\n },\n}\npermission.role = {\n DEV:dev,\n MAG: {\n en: {\n items: [\n {\n name: \"Home\",\n url: \"/dashboard\",\n icon: \"icon-home\",\n },\n {\n name: \"Users\",\n url: \"/users\",\n icon: \"icon-people\",\n },\n {\n name: \"TUK\",\n url: \"/tuk\",\n icon: \"icon-note\",\n },\n (!!isLJKIntegration() && {\n name: \"Pemohon SKK\",\n url: \"/pemohon-skk\",\n icon: \"fa fa-link\",\n }),\n {\n name: \"Assessors\",\n url: \"/Assessors\",\n icon: \"icon-user\",\n },\n {\n name: \"Participant\",\n url: \"/asesi\",\n icon: \"icon-note\",\n },\n {\n name: \"Skema Sertifikasi\",\n url: \"/schema/sub-schema\",\n icon: \"fa icon-grid\",\n },\n // {\n // name: \"Schema Certification\",\n // icon: \"fa icon-grid\",\n // children: [\n // {\n // name: \"Main Schema\",\n // url: \"/schema/main-schema\",\n // icon: \"fa icon-grid\",\n // },\n // {\n // name: \"Sub Schema\",\n // url: \"/schema/sub-schema\",\n // icon: \"fa fa-th\",\n // },\n // {\n // name: \"Unit Competention\",\n // url: \"/schema/unit-competention\",\n // icon: \"fa fa-th\"\n // }\n // ],\n // },\n {\n name: \"Assessment\",\n icon: \"icon-calendar\",\n children: [\n {\n name: \"Submission\",\n url: \"/assessments/submission\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Rejected\",\n url: \"/assessments/rejected\",\n icon: \"icon-calendar\",\n },\n {\n name: \"List Assessment\",\n url: \"/assessments/list\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Archives\",\n url: \"/assessments/archives\",\n icon: \"icon-calendar\",\n },\n ],\n },\n // {\n // name: \"Uji Tertulis\",\n // icon: \"icon-pencil\",\n // children: [\n // {\n // name: \"Bank Soal\",\n // url: \"/writen-test\",\n // icon: \"fa fa-folder\",\n // },\n // {\n // name: \"Riwayat Soal\",\n // url: \"/question/history\",\n // icon: \"icon-pencil\",\n // },\n // ],\n // },\n\n {\n name: \"Persyaratan\",\n icon: \"fa icon-layers\",\n children: [\n {\n name: \"Persyaratan Dasar\",\n url: \"/portfolios-umum\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Persyaratan Pendaftaran\",\n url: \"/portfolios\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Materi Uji Kompetensi\",\n url: \"/materi-uji\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Bukti Administratif\",\n url: \"/bukti-administratif\",\n icon: \"fa icon-layers\",\n },\n ],\n },\n {\n name: \"Data Base Asesi\",\n url: \"/alumnis\",\n icon: \"icon-badge\",\n },\n {\n name: \"Log Data\",\n url: \"/restore-data\",\n icon: \"icon-trash\",\n },\n {\n name: \"Keluhan Aplikasi\",\n url: \"/complaint\",\n icon: \"fa fa-exclamation-triangle\",\n },\n {\n name: \"Pengelolaan Surat\",\n url: \"/letters\",\n icon: \"fa fa-envelope-open-o\",\n },\n ],\n },\n id: {\n items: [\n {\n name: \"Beranda\",\n url: \"/dashboard\",\n icon: \"icon-home\",\n },\n // {\n // name: \"Profile\",\n // url: \"/profile\",\n // icon: \"fa fa-user\",\n // },\n {\n name: \"Pengguna\",\n url: \"/users\",\n icon: \"icon-people\",\n },\n {\n name: \"TUK\",\n url: \"/tuk\",\n icon: \"icon-pencil\",\n },\n (!!isLJKIntegration() && {\n name: \"Pemohon SKK\",\n url: \"/pemohon-skk\",\n icon: \"fa fa-link\",\n }),\n {\n name: \"Asesor\",\n url: \"/Assessors\",\n icon: \"icon-user\",\n },\n {\n name: \"Pemohon\",\n url: \"/asesi\",\n icon: \"icon-note\",\n },\n // {\n // name: \"Skema Sertifikasi\",\n // icon: \"fa icon-grid\",\n // children: [\n // {\n // name: \"Skema Utama\",\n // url: \"/schema/main-schema\",\n // icon: \"fa icon-grid\",\n // },\n // {\n // name: \"Sub Skema\",\n // url: \"/schema/sub-schema\",\n // icon: \"fa fa-th\",\n // },\n // {\n // name: \"Unit Kompetensi\",\n // url: \"/schema/unit-competention\",\n // icon: \"fa fa-th\"\n // }\n // ],\n // },\n {\n name: \"Skema Sertifikasi\",\n url: \"/schema/sub-schema\",\n icon: \"fa icon-grid\",\n },\n {\n name: \"Jadwal Sertifikasi\",\n icon: \"icon-calendar\",\n children: [\n {\n name: \"Pengajuan\",\n url: \"/assessments/submission\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Dibatalkan\",\n url: \"/assessments/rejected\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Daftar Asesmen\",\n url: \"/assessments/list\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Pengajuan Banding\",\n url: \"/assessments/appeal\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Arsip\",\n url: \"/assessments/archives\",\n icon: \"icon-calendar\",\n },\n ],\n },\n // {\n // name: \"Uji Tertulis\",\n // icon: \"icon-pencil\",\n // children: [\n // {\n // name: \"Bank Soal\",\n // url: \"/writen-test\",\n // icon: \"fa fa-folder\",\n // },\n // {\n // name: \"Riwayat Soal\",\n // url: \"/question/history\",\n // icon: \"icon-pencil\",\n // },\n // ],\n // },\n // {\n // name: \"Group Chat\",\n // icon: \"fa fa-comments\",\n // url: \"/chat\",\n // },\n\n {\n name: \"Persyaratan\",\n icon: \"fa icon-layers\",\n children: [\n {\n name: \"Persyaratan Dasar\",\n url: \"/portfolios-umum\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Persyaratan Pendaftaran\",\n url: \"/portfolios\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Materi Uji Kompetensi\",\n url: \"/materi-uji\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Bukti Administratif\",\n url: \"/bukti-administratif\",\n icon: \"fa icon-layers\",\n },\n ],\n },\n {\n name: \"Data Base Asesi\",\n url: \"/alumnis\",\n icon: \"icon-badge\",\n },\n {\n name: \"Log Data\",\n url: \"/restore-data\",\n icon: \"icon-trash\",\n },\n {\n name: \"Keluhan Aplikasi\",\n url: \"/complaint\",\n icon: \"fa fa-exclamation-triangle\",\n },\n {\n name: \"Pengelolaan Surat\",\n url: \"/letters\",\n icon: \"fa fa-envelope-open-o\",\n },\n ],\n },\n },\n SUP: {\n en: {\n items: [\n {\n name: \"Home\",\n url: \"/dashboard\",\n icon: \"icon-home\",\n },\n {\n name: \"Users\",\n url: \"/users\",\n icon: \"icon-people\",\n },\n {\n name: \"TUK\",\n url: \"/tuk\",\n icon: \"icon-note\",\n },\n (!!isLJKIntegration() && {\n name: \"Pemohon SKK\",\n url: \"/pemohon-skk\",\n icon: \"fa fa-link\",\n }),\n {\n name: \"Assessors\",\n url: \"/Assessors\",\n icon: \"icon-user\",\n },\n {\n name: \"Participant\",\n url: \"/asesi\",\n icon: \"icon-note\",\n },\n {\n name: \"Skema Sertifikasi\",\n url: \"/schema/sub-schema\",\n icon: \"fa icon-grid\",\n },\n // {\n // name: \"Schema Certification\",\n // icon: \"fa icon-grid\",\n // children: [\n // {\n // name: \"Main Schema\",\n // url: \"/schema/main-schema\",\n // icon: \"fa icon-grid\",\n // },\n // {\n // name: \"Sub Schema\",\n // url: \"/schema/sub-schema\",\n // icon: \"fa fa-th\",\n // },\n // {\n // name: \"Unit Competention\",\n // url: \"/schema/unit-competention\",\n // icon: \"fa fa-th\"\n // }\n // ],\n // },\n {\n name: \"Assessment\",\n icon: \"icon-calendar\",\n children: [\n {\n name: \"Submission\",\n url: \"/assessments/submission\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Rejected\",\n url: \"/assessments/rejected\",\n icon: \"icon-calendar\",\n },\n {\n name: \"List Assessment\",\n url: \"/assessments/list\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Archives\",\n url: \"/assessments/archives\",\n icon: \"icon-calendar\",\n },\n ],\n },\n // {\n // name: \"Uji Tertulis\",\n // icon: \"icon-pencil\",\n // children: [\n // {\n // name: \"Bank Soal\",\n // url: \"/writen-test\",\n // icon: \"fa fa-folder\",\n // },\n // {\n // name: \"Riwayat Soal\",\n // url: \"/question/history\",\n // icon: \"icon-pencil\",\n // },\n // ],\n // },\n\n {\n name: \"Persyaratan\",\n icon: \"fa icon-layers\",\n children: [\n {\n name: \"Persyaratan Dasar\",\n url: \"/portfolios-umum\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Persyaratan Pendaftaran\",\n url: \"/portfolios\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Materi Uji Kompetensi\",\n url: \"/materi-uji\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Bukti Administratif\",\n url: \"/bukti-administratif\",\n icon: \"fa icon-layers\",\n },\n ],\n },\n {\n name: \"Data Base Asesi\",\n url: \"/alumnis\",\n icon: \"icon-badge\",\n },\n {\n name: \"Log Data\",\n url: \"/restore-data\",\n icon: \"icon-trash\",\n },\n {\n name: \"Keluhan Aplikasi\",\n url: \"/complaint\",\n icon: \"fa fa-exclamation-triangle\",\n },\n {\n name: \"Pengelolaan Surat\",\n url: \"/letters\",\n icon: \"fa fa-envelope-open-o\",\n },\n ],\n },\n id: {\n items: [\n {\n name: \"Beranda\",\n url: \"/dashboard\",\n icon: \"icon-home\",\n },\n // {\n // name: \"Profile\",\n // url: \"/profile\",\n // icon: \"fa fa-user\",\n // },\n {\n name: \"Pengguna\",\n url: \"/users\",\n icon: \"icon-people\",\n },\n {\n name: \"TUK\",\n url: \"/tuk\",\n icon: \"icon-note\",\n },\n (!!isLJKIntegration() && {\n name: \"Pemohon SKK\",\n url: \"/pemohon-skk\",\n icon: \"fa fa-link\",\n })\n ,{\n name: \"Asesor\",\n url: \"/Assessors\",\n icon: \"icon-user\",\n },\n {\n name: \"Pemohon\",\n url: \"/asesi\",\n icon: \"icon-note\",\n },\n // {\n // name: \"Skema Sertifikasi\",\n // icon: \"fa icon-grid\",\n // children: [\n // {\n // name: \"Skema Utama\",\n // url: \"/schema/main-schema\",\n // icon: \"fa icon-grid\",\n // },\n // {\n // name: \"Sub Skema\",\n // url: \"/schema/sub-schema\",\n // icon: \"fa fa-th\",\n // },\n // {\n // name: \"Unit Kompetensi\",\n // url: \"/schema/unit-competention\",\n // icon: \"fa fa-th\"\n // }\n // ],\n // },\n {\n name: \"Skema Sertifikasi\",\n url: \"/schema/sub-schema\",\n icon: \"fa icon-grid\",\n },\n {\n name: \"Jadwal Sertifikasi\",\n icon: \"icon-calendar\",\n children: [\n {\n name: \"Pengajuan\",\n url: \"/assessments/submission\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Dibatalkan\",\n url: \"/assessments/rejected\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Daftar Asesmen\",\n url: \"/assessments/list\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Pengajuan Banding\",\n url: \"/assessments/appeal\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Arsip\",\n url: \"/assessments/archives\",\n icon: \"icon-calendar\",\n },\n ],\n },\n // {\n // name: \"Uji Tertulis\",\n // icon: \"icon-pencil\",\n // children: [\n // {\n // name: \"Bank Soal\",\n // url: \"/writen-test\",\n // icon: \"fa fa-folder\",\n // },\n // {\n // name: \"Riwayat Soal\",\n // url: \"/question/history\",\n // icon: \"icon-pencil\",\n // },\n // ],\n // },\n\n // {\n // name: \"Group Chat\",\n // icon: \"fa fa-comments\",\n // url: \"/chat\",\n // },\n\n {\n name: \"Persyaratan\",\n icon: \"fa icon-layers\",\n children: [\n {\n name: \"Persyaratan Dasar\",\n url: \"/portfolios-umum\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Persyaratan Pendaftaran\",\n url: \"/portfolios\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Materi Uji Kompetensi\",\n url: \"/materi-uji\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Bukti Administratif\",\n url: \"/bukti-administratif\",\n icon: \"fa icon-layers\",\n },\n ],\n },\n {\n name: \"Data Base Asesi\",\n url: \"/alumnis\",\n icon: \"icon-badge\",\n },\n {\n name: \"Log Data\",\n url: \"/restore-data\",\n icon: \"icon-trash\",\n },\n {\n name: \"Keluhan Aplikasi\",\n url: \"/complaint\",\n icon: \"fa fa-exclamation-triangle\",\n },\n {\n name: \"Pengelolaan Surat\",\n url: \"/letters\",\n icon: \"fa fa-envelope-open-o\",\n },\n ],\n },\n },\n ADM: {\n en: {\n items: [\n {\n name: \"Home\",\n url: \"/dashboard\",\n icon: \"icon-home\",\n },\n {\n name: \"Users\",\n url: \"/users\",\n icon: \"icon-people\",\n },\n {\n name: \"TUK\",\n url: \"/tuk\",\n icon: \"icon-note\",\n },\n (!!isLJKIntegration() && {\n name: \"Pemohon SKK\",\n url: \"/pemohon-skk\",\n icon: \"fa fa-link\",\n }),\n {\n name: \"Assessors\",\n url: \"/Assessors\",\n icon: \"fa fa-user-circle-o\",\n },\n {\n name: \"Participant\",\n url: \"/asesi\",\n icon: \"fa fa-user-circle-o\",\n },\n // {\n // name: \"Group Chat\",\n // icon: \"fa fa-comments\",\n // url: \"/chat\",\n // },\n {\n name: \"Skema Sertifikasi\",\n url: \"/schema/sub-schema\",\n icon: \"fa icon-grid\",\n },\n\n // {\n // name: \"Schema Certification\",\n // icon: \"fa icon-grid\",\n // children: [\n // {\n // name: \"Main Schema\",\n // url: \"/schema/main-schema\",\n // icon: \"fa icon-grid\",\n // },\n // {\n // name: \"Sub Schema\",\n // url: \"/schema/sub-schema\",\n // icon: \"fa fa-th\",\n // },\n // {\n // name: \"Unit Competention\",\n // url: \"/schema/unit-competention\",\n // icon: \"fa fa-th\"\n // }\n // ],\n // },\n {\n name: \"Assessment\",\n icon: \"icon-calendar\",\n children: [\n {\n name: \"Submission\",\n url: \"/assessments/submission\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Rejected\",\n url: \"/assessments/rejected\",\n icon: \"icon-calendar\",\n },\n {\n name: \"List Assessment\",\n url: \"/assessments/list\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Archives\",\n url: \"/assessments/archives\",\n icon: \"icon-calendar\",\n },\n ],\n },\n {\n name: \"Data base Asesi\",\n url: \"/alumnis\",\n icon: \"icon-badge\",\n },\n ],\n },\n id: {\n items: [\n {\n name: \"Beranda\",\n url: \"/dashboard\",\n icon: \"icon-home\",\n },\n // {\n // name: \"Profile\",\n // url: \"/profile\",\n // icon: \"fa fa-user\",\n // },\n {\n name: \"Pengguna\",\n url: \"/users\",\n icon: \"icon-people\",\n },\n {\n name: \"TUK\",\n url: \"/tuk\",\n icon: \"icon-pencil\",\n },\n (!!isLJKIntegration() && {\n name: \"Pemohon SKK\",\n url: \"/pemohon-skk\",\n icon: \"fa fa-link\",\n }),\n {\n name: \"Asesor\",\n url: \"/Assessors\",\n icon: \"icon-user\",\n },\n {\n name: \"Pemohon\",\n url: \"/asesi\",\n icon: \"icon-note\",\n },\n // {\n // name: \"Group Chat\",\n // icon: \"fa fa-comments\",\n // url: \"/chat\",\n // },\n\n {\n name: \"Skema Sertifikasi\",\n url: \"/schema/sub-schema\",\n icon: \"fa icon-grid\",\n },\n // {\n // name: \"Skema Sertifikasi\",\n // icon: \"fa icon-grid\",\n // children: [\n // {\n // name: \"Skema Utama\",\n // url: \"/schema/main-schema\",\n // icon: \"fa icon-grid\",\n // },\n // {\n // name: \"Sub Skema\",\n // url: \"/schema/sub-schema\",\n // icon: \"fa fa-th\",\n // },\n // {\n // name: \"Unit Kompetensi\",\n // url: \"/schema/unit-competention\",\n // icon: \"fa fa-th\"\n // }\n // ],\n // },\n {\n name: \"Jadwal Sertifikasi\",\n icon: \"icon-calendar\",\n children: [\n {\n name: \"Pengajuan\",\n url: \"/assessments/submission\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Dibatalkan\",\n url: \"/assessments/rejected\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Daftar Asesmen\",\n url: \"/assessments/list\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Pengajuan Banding\",\n url: \"/assessments/appeal\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Arsip\",\n url: \"/assessments/archives\",\n icon: \"icon-calendar\",\n },\n ],\n },\n {\n name: \"Data base Asesi\",\n url: \"/alumnis\",\n icon: \"icon-badge\",\n },\n ],\n },\n },\n ADT: {\n en: {\n items: [\n {\n name: \"Home\",\n url: \"/dashboard\",\n icon: \"icon-home\",\n },\n {\n name: \"Users\",\n url: \"/data-applicant\",\n icon: \"fa fa-user-circle-o\",\n },\n {\n name: \"Participant\",\n url: \"/asesi\",\n icon: \"icon-note\",\n },\n {\n name: \"Assessment\",\n icon: \"icon-calendar\",\n children: [\n {\n name: \"List Assessment\",\n url: \"/assessments/admintuk/list\",\n icon: \"icon-calendar\",\n },\n\n {\n name: \"Draft Asesmen\",\n url: \"/assessments/admintuk/draft_assessment\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Asesmen Ditolak\",\n url: \"/assessments/admintuk/rejected\",\n icon: \"icon-calendar\",\n },\n ],\n },\n\n {\n name: \"Persyaratan\",\n icon: \"fa icon-layers\",\n children: [\n {\n name: \"Persyaratan Dasar\",\n url: \"/portfolios-umum\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Persyaratan Pendaftaran\",\n url: \"/portfolios\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Materi Uji Kompetensi\",\n url: \"/materi-uji\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Bukti Administratif\",\n url: \"/bukti-administratif\",\n icon: \"fa icon-layers\",\n },\n ],\n },\n {\n name: \"Keluhan Aplikasi\",\n url: \"/complaint\",\n icon: \"fa fa-exclamation-triangle\",\n },\n // {\n // name: \"Pengelolaan Surat\",\n // url: \"/letters\",\n // icon: \"fa fa-envelope-open-o\",\n // },\n ],\n },\n id: {\n items: [\n {\n name: \"Beranda\",\n url: \"/dashboard\",\n icon: \"icon-home\",\n },\n {\n name: \"Pengguna\",\n url: \"/data-applicant\",\n icon: \"fa fa-user-circle-o\",\n },\n {\n name: \"Pemohon\",\n url: \"/asesi\",\n icon: \"icon-note\",\n },\n {\n name: \"Jadwal Sertifikasi\",\n icon: \"icon-calendar\",\n children: [\n {\n name: \"Daftar Asesmen\",\n url: \"/assessments/admintuk/list\",\n icon: \"icon-calendar\",\n },\n\n {\n name: \"Draft Asesmen\",\n url: \"/assessments/admintuk/draft_assessment\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Asesmen Ditolak\",\n url: \"/assessments/admintuk/rejected\",\n icon: \"icon-calendar\",\n },\n ],\n },\n {\n name: \"Persyaratan\",\n icon: \"fa icon-layers\",\n children: [\n {\n name: \"Persyaratan Dasar\",\n url: \"/portfolios-umum\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Persyaratan Pendaftaran\",\n url: \"/portfolios\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Materi Uji Kompetensi\",\n url: \"/materi-uji\",\n icon: \"fa icon-layers\",\n },\n {\n name: \"Bukti Administratif\",\n url: \"/bukti-administratif\",\n icon: \"fa icon-layers\",\n },\n ],\n },\n {\n name: \"Keluhan Aplikasi\",\n url: \"/complaint\",\n icon: \"fa fa-exclamation-triangle\",\n },\n // {\n // name: \"Pengelolaan Surat\",\n // url: \"/letters\",\n // icon: \"fa fa-envelope-open-o\",\n // },\n ],\n },\n },\n ACS: {\n en: {\n items: [\n {\n name: \"Home\",\n url: \"/dashboard\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Portfolio\",\n url: \"/Assessors/list-skill\",\n icon: \"fa fa-briefcase\",\n },\n {\n name: \"Asesmen History\",\n url: \"/Assessors/asesmen-history\",\n icon: \"fa fa-book\",\n },\n // {\n // name: \"Group Chat\",\n // icon: \"fa fa-comments\",\n // url: \"/chat\",\n // },\n ],\n },\n id: {\n items: [\n {\n name: \"Beranda\",\n url: \"/dashboard\",\n icon: \"icon-calendar\",\n },\n {\n name: \"Portfolio\",\n url: \"/Assessors/list-skill\",\n icon: \"fa fa-briefcase\",\n },\n {\n name: \"Riwayat Asesmen\",\n url: \"/Assessors/asesmen-history\",\n icon: \"fa fa-book\",\n },\n // {\n // name: \"Group Chat\",\n // icon: \"fa fa-comments\",\n // url: \"/chat\",\n // },\n ],\n },\n },\n APL: {\n en: {\n items: [\n {\n name: \"Home\",\n url: \"/dashboard\",\n icon: \"icon-calendar\",\n },\n // {\n // name: \"Follow Schedule\",\n // url: \"/join-assesment\",\n // icon: \"fa fa-handshake-o\",\n // },\n {\n name: \"Pengajuan Skema\",\n url: \"/join-skema\",\n icon: \"fa icon-grid\",\n },\n {\n name: \"Pengajuan Banding\",\n url: \"/assessments/appeal\",\n icon: \"fa fa-history\",\n },\n {\n name: \"Riwayat Asesmen\",\n url: \"/asesmen-history\",\n icon: \"fa fa-book\",\n },\n // {\n // name: \"Group Chat\",\n // icon: \"fa fa-comments\",\n // url: \"/chat\",\n // },\n ],\n },\n\n id: {\n items: [\n {\n name: \"Beranda\",\n url: \"/dashboard\",\n icon: \"icon-calendar\",\n },\n // {\n // name: \"Ikuti Jadwal\",\n // url: \"/join-assesment\",\n // icon: \"fa fa-handshake-o\",\n // },\n {\n name: \"Pengajuan Skema\",\n url: \"/join-skema\",\n icon: \"fa icon-grid\",\n },\n {\n name: \"Pengajuan Banding\",\n url: \"/assessments/appeal\",\n icon: \"fa fa-history\",\n },\n {\n name: \"Riwayat Asesmen\",\n url: \"/asesmen-history\",\n icon: \"fa fa-book\",\n },\n // {\n // name: \"Group Chat\",\n // icon: \"fa fa-comments\",\n // url: \"/chat\"\n // },\n ],\n },\n },\n};\n\nexport const Permission = (bahasa, role) => {\n let currentBahasa = bahasa ? bahasa : 'id'\n\n let currentRole = role ? role : 'APL'\n\n let newPermission = permission.role[currentRole][currentBahasa];\n\n const ref_id = JSON.parse(localStorage.getItem('ref_id'));\n\n if ((role ===\"SUP\" || role === \"ADM\") && ref_id===idLSPABI){\n const newItems = [...newPermission.items];\n const checkIfThere = hasPropertyWithValue(newItems, 'name', 'Setting');\n if (!checkIfThere){\n if(newItems.length < 14){\n if (isLSPABI()){\n newItems.splice(9, 0, {\n name: \"Setting\",\n icon: \"fa fa-cog\",\n children: [\n {\n name: \"Master Alat Berat\",\n url: \"/heavy-vehicles\",\n icon: \"fa fa-university\",\n },\n {\n name: \"Master Institusi\",\n url: \"/intitutions\",\n icon: \"fa fa-wrench\",\n },\n ],\n });\n } else {\n newItems.splice(9, 0, {\n name: \"Setting\",\n icon: \"fa fa-cog\",\n children: [\n {\n name: \"Master Institusi\",\n url: \"/intitutions\",\n icon: \"fa fa-wrench\",\n },\n ],\n });\n }\n \n newPermission.items = newItems;\n }\n }\n \n }\n\n newPermission = newPermission.items.filter(function(val){ return val; });\n\n newPermission = { items:newPermission };\n\n return newPermission;\n};\n","import React from \"react\";\nimport Loadable from \"react-loadable\";\nimport DefaultLayout from \"./containers/DefaultLayout/DefaultLayout\";\nimport \"../src/css/loaderComponent.css\";\nimport { multiLanguage } from \"./components/Language/getBahasa\";\nimport { idLSPABI, isLSPABI } from \"./components/config/config.js\";\n\nfunction Loading() {\n return (\n
\n
\n
\n );\n}\n\nconst CertificateAlumni = Loadable({\n loader: () => import(\"./views/CertificateAlumni/CertificateAlumni\"),\n loading: Loading,\n});\n\nconst ProfileUser = Loadable({\n loader: () => import(\"./components/Profile/Profile\"),\n loading: Loading,\n});\n\nconst ProfileAdminTuk = Loadable({\n loader: () => import(\"./components/Profile/ProfileUserAdminTuk\"),\n loading: Loading,\n});\nconst ProfileAsesor = Loadable({\n loader: () => import(\"./components/Profile/ProfileUserAcessor\"),\n loading: Loading,\n});\n\nconst ProfileAplicant = Loadable({\n loader: () => import(\"./components/Profile/ProfileUserAplicant\"),\n loading: Loading,\n});\n\nconst Assessors = Loadable({\n loader: () => import(\"./views/Asesor/Asesors\"),\n loading: Loading,\n});\n\nconst Applicant = Loadable({\n loader: () => import(\"./views/Applicant/Applicant\"),\n loading: Loading,\n});\n\nconst Data_Applicant = Loadable({\n loader: () => import(\"./views/DataAplicant/DataAplicant\"),\n loading: Loading,\n});\nconst Dashboard = Loadable({\n loader: () => import(\"./views/Dashboard/Dashboard\"),\n loading: Loading,\n});\n\nconst LspLogin = Loadable({\n loader: () => import(\"./containers/LspLogin\"),\n loading: Loading,\n});\nconst Setting = Loadable({\n loader: () => import(\"./views/Setting/setting\"),\n loading: Loading,\n});\n\nconst SubSchema = Loadable({\n loader: () => import(\"./views/Competences/SubSchema/SubSchema\"),\n loading: Loading,\n});\n\nconst EditAssessors = Loadable({\n loader: () => import(\"./components/EditData/EditData_acceccors\"),\n loading: Loading,\n});\n\nconst EditApplicant = Loadable({\n loader: () => import(\"./components/EditData/EditData_applicant\"),\n loading: Loading,\n});\n\nconst EditData = Loadable({\n loader: () => import(\"./components/EditData/EditData\"),\n loading: Loading,\n});\n\nconst EditDataUserAcessor = Loadable({\n loader: () =>\n import(\"./components/EditData/EditDataPengguna/EditDataUserAcessor\"),\n loading: Loading,\n});\nconst EditDataUserAplicant = Loadable({\n loader: () =>\n import(\"./components/EditData/EditDataPengguna/EditDataUserAplicant\"),\n loading: Loading,\n});\nconst EditDataUserAdminTuk = Loadable({\n loader: () =>\n import(\"./components/EditData/EditDataPengguna/EditDataUserAdminTuk\"),\n loading: Loading,\n});\nconst EditDataUserManagements = Loadable({\n loader: () =>\n import(\"./components/EditData/EditDataPengguna/EditDataUserManagement\"),\n loading: Loading,\n});\n\nconst EditSchema = Loadable({\n loader: () => import(\"./components/EditData/EditSchema\"),\n loading: Loading,\n});\n\nconst EditData_mainSchema = Loadable({\n loader: () => import(\"./components/EditData/EditData_mainSchema\"),\n loading: Loading,\n});\n\nconst EditData_UjiTertulis = Loadable({\n loader: () => import(\"./components/EditData/EditData_UjiTertulis\"),\n loading: Loading,\n});\n\nconst EditTuk = Loadable({\n loader: () => import(\"./components/EditData/EditData_tuk\"),\n loading: Loading,\n});\n\nconst MainSchema = Loadable({\n loader: () => import(\"./views/Competences/MainSchema/MainSchema\"),\n loading: Loading,\n});\n// const MainSchema = Loadable({\n// loader: () => import(\"./components/MainSkema/index\"),\n// loading: Loading,\n// });\n\nconst Complaint = Loadable({\n loader: () => import(\"./views/Complain/Complain\"),\n loading: Loading,\n});\n\nconst Letters = Loadable({\n loader: () => import(\"./views/Letters/Letters\"),\n loading: Loading,\n});\n\nconst PemohonSKK = Loadable({\n loader: () => import(\"./views/PemohonSKK/PemohonSkk\"),\n loading: Loading,\n});\n\nconst DetailPemohon = Loadable({\n loader: () => import(\"./views/PemohonSKK/DetailPermohonan\"),\n loading: Loading,\n});\nconst EditLetters = Loadable({\n loader: () => import(\"./views/Letters/EditLetters\"),\n loading: Loading,\n});\nconst EditComplaint = Loadable({\n loader: () => import(\"./components/EditData/EditComplain\"),\n loading: Loading,\n});\n\nconst GroupChat = Loadable({\n loader: () => import(\"./views/GroupChat/GroupChat\"),\n loading: Loading,\n});\n\nconst ChatMessage = Loadable({\n loader: () => import(\"./views/GroupChat/GroupChat\"),\n loading: Loading,\n});\nconst UjiTertulis = Loadable({\n loader: () => import(\"./views/UjiTertulis/UjiTertulis\"),\n loading: Loading,\n});\n\nconst RiwayatHistory = Loadable({\n loader: () => import(\"./views/RiwayatHistory/RiwayatHistory\"),\n loading: Loading,\n});\n\nconst InputData = Loadable({\n loader: () => import(\"./components/InputData/InputData\"),\n loading: Loading,\n});\n\nconst InputData_subSchema = Loadable({\n loader: () => import(\"./components/InputData/InputData_subSchema\"),\n loading: Loading,\n});\n\nconst InputData_mainSchema = Loadable({\n loader: () => import(\"./components/InputData/InputData_mainSchema\"),\n loading: Loading,\n});\n\nconst InputData_Complaint = Loadable({\n loader: () => import(\"./components/InputData/InputData_Complain\"),\n loading: Loading,\n});\n\nconst InputLetters = Loadable({\n loader: () => import(\"./views/Letters/InputLetters\"),\n loading: Loading,\n});\nconst InputData_tuk = Loadable({\n loader: () => import(\"./components/InputData/InputData_tuk\"),\n loading: Loading,\n});\n\nconst ListSkill = Loadable({\n loader: () => import(\"./views/Asesor/Grading\"),\n loading: Loading,\n});\n\nconst PendingCompetance = Loadable({\n loader: () => import(\"./views/Asesor/PendingCompetance\"),\n loading: Loading,\n});\n\nconst Schedule = Loadable({\n loader: () => import(\"./views/Schedule/Schedule\"),\n loading: Loading,\n});\n\nconst JoinAsesment = Loadable({\n loader: () => import(\"./views/Schedule/JoinAssesment\"),\n loading: Loading,\n});\nconst JoinSkema = Loadable({\n loader: () => import(\"./views/Schedule/JoinSkema\"),\n loading: Loading,\n});\n\nconst DetailCertificate = Loadable({\n loader: () => import(\"./views/DetailCertificate/index.js\"),\n loading: Loading,\n});\n\nconst InputData_JoinSkema = Loadable({\n loader: () => import(\"./components/InputData/Input_Join_Skema\"),\n loading: Loading,\n});\nconst Schedule_AdminTuk = Loadable({\n loader: () => import(\"./views/Schedule/Schedule_AdminTuk\"),\n loading: Loading,\n});\nconst PortofolioAsesi = Loadable({\n loader: () => import(\"./views/Schedule/PortofolioRoleAsesiNew\"),\n loading: Loading,\n});\nconst DokAsesmen = Loadable({\n loader: () => import(\"./views/Schedule/DokumenAsesmen\"),\n loading: Loading,\n});\n\nconst PortofolioAsesorKhusus = Loadable({\n loader: () => import(\"./components/Detail/PortoFolioKhususAsesor\"),\n loading: Loading,\n});\n\nconst DraftAssessment = Loadable({\n loader: () => import(\"./views/Schedule/DraftAssessment\"),\n loading: Loading,\n});\nconst Submissions = Loadable({\n loader: () => import(\"./views/Schedule/Submissions\"),\n loading: Loading,\n});\n\nconst InputAssessment = Loadable({\n loader: () => import(\"./components/InputData/InputData_Assessment\"),\n loading: Loading,\n});\n\nconst InputAssessmentAdminTuk = Loadable({\n loader: () => import(\"./components/InputData/InputData_AssessmentAdminTuk\"),\n loading: Loading,\n});\n\nconst InputAssessmentUjiTertulis = Loadable({\n loader: () => import(\"./components/InputData/InputData_Jawaban\"),\n loading: Loading,\n});\n\nconst InputAssessmentUjiEssay = Loadable({\n loader: () => import(\"./components/InputData/InputData_UjiEssay\"),\n loading: Loading,\n});\n\nconst InputUjianTertulis = Loadable({\n loader: () => import(\"./components/InputData/Input_Ujian_Tertulis\"),\n loading: Loading,\n});\n\nconst InputUjianEssay = Loadable({\n loader: () => import(\"./components/InputData/Input_Ujian_Tertulis_Essay\"),\n loading: Loading,\n});\n\nconst Schedule_accessors = Loadable({\n loader: () => import(\"./views/Schedule/Schedule_accessors\"),\n loading: Loading,\n});\n\nconst TUK = Loadable({\n loader: () => import(\"./views/TUK/TUK\"),\n loading: Loading,\n});\n\nconst Users = Loadable({\n loader: () => import(\"./views/Users/Users\"),\n loading: Loading,\n});\n\nconst NotFound = Loadable({\n loader: () => import(\"./views/Pages/Page404/Page404\"),\n loading: Loading,\n});\n\nconst News = Loadable({\n loader: () => import(\"./views/Pages/News/NewsWebViews\"),\n loading: Loading,\n});\n\nconst AssignApplicant = Loadable({\n loader: () => import(\"./views/Schedule/AssignApplicant\"),\n loading: Loading,\n});\n\nconst ListApplicantTuk = Loadable({\n loader: () => import(\"./views/Schedule/AssignAplicanAdminTuk\"),\n loading: Loading,\n});\nconst AssignAssessors = Loadable({\n loader: () => import(\"./views/Schedule/AssignAssessors\"),\n loading: Loading,\n});\n\nconst AssignAdmin = Loadable({\n loader: () => import(\"./views/Schedule/AssignAdmin\"),\n loading: Loading,\n});\n\nconst Assign = Loadable({\n loader: () => import(\"./components/Detail/Detail.js\"),\n loading: Loading,\n});\n\nconst AssignAdminTuk = Loadable({\n loader: () => import(\"./components/Detail/DetailAdminTuk\"),\n loading: Loading,\n});\nconst AssignDetailArchive = Loadable({\n loader: () => import(\"./components/Detail/DetailArchive\"),\n loading: Loading,\n});\n\nconst Portofolio = Loadable({\n loader: () => import(\"./components/Detail/Portofolio\"),\n loading: Loading,\n});\nconst PortofolioKhusus = Loadable({\n loader: () => import(\"./components/Detail/PortofolioKhusus\"),\n loading: Loading,\n});\nconst PortofolioKhususArsip = Loadable({\n loader: () => import(\"./components/Detail/PortofolioKhususArsip\"),\n loading: Loading,\n});\nconst DetailFileAsesi = Loadable({\n loader: () => import(\"./components/Detail/DetailFileAsesi\"),\n loading: Loading,\n});\nconst FormDetailFileAsesi = Loadable({\n loader: () => import(\"./components/Modal/FormDetailFileAsesi\"),\n loading: Loading,\n});\nconst PortofolioAsesor = Loadable({\n loader: () => import(\"./components/Detail/Portofolio_Asessor\"),\n loading: Loading,\n});\nconst PortofolioPeserta = Loadable({\n loader: () => import(\"./components/Detail/PortofolioPeserta\"),\n loading: Loading,\n});\nconst HistorySoal = Loadable({\n loader: () => import(\"./components/Detail/DetailHistorySoal\"),\n loading: Loading,\n});\nconst Notif = Loadable({\n loader: () => import(\"./components/Notification/Notification\"),\n loading: Loading,\n});\n\nconst AssignPleno = Loadable({\n loader: () => import(\"./components/InputData/InputData_Plenos\"),\n loading: Loading,\n});\n\nconst GenerateLetters = Loadable({\n loader: () => import(\"./views/Correspondence/Letters\"),\n loading: Loading,\n});\n\nconst Alumni = Loadable({\n loader: () => import(\"./views/Alumni/Alumni\"),\n loading: Loading,\n});\n\nconst InputAlumni = Loadable({\n loader: () => import(\"./components/InputData/InputData_alumni\"),\n loading: Loading,\n});\n\nconst EditAlumni = Loadable({\n loader: () => import(\"./components/EditData/EditData_alumni\"),\n loading: Loading,\n});\n\nconst Portfolios = Loadable({\n loader: () => import(\"./views/MasterData/Portfolios\"),\n loading: Loading,\n});\nconst Portfolios_Umum = Loadable({\n loader: () => import(\"./views/MasterData/PortfoliosUmum\"),\n loading: Loading,\n});\n\nconst Materi_Uji = Loadable({\n loader: () => import(\"./views/MateriUji/Materi_Uji\"),\n loading: Loading,\n});\n\nconst BuktiAdministratif = Loadable({\n loader: () => import(\"./views/BuktiAdmin/index.js\"),\n loading: Loading,\n});\n\nconst InputData_Portfolios = Loadable({\n loader: () => import(\"./components/InputData/Input_Persyratan_Khusus\"),\n loading: Loading,\n});\n\nconst Input_Portfolios_umum = Loadable({\n loader: () => import(\"./components/InputData/Input_Portfolios_umum\"),\n loading: Loading,\n});\n\nconst Input_Materi_Uji = Loadable({\n loader: () => import(\"./components/InputData/Input_Materi_Uji\"),\n loading: Loading,\n});\nconst EditData_portfoliosMaster = Loadable({\n loader: () => import(\"./components/EditData/Edit_portfoliosMasterUmum\"),\n loading: Loading,\n});\n\nconst EditData_MateriUji = Loadable({\n loader: () => import(\"./components/EditData/EditData_MateriUji\"),\n loading: Loading,\n});\nconst Edit_portfoliosMasterUmum = Loadable({\n loader: () => import(\"./components/EditData/Edit_portfoliosMasterUmum\"),\n loading: Loading,\n});\n\nconst Edit_portfoliosMasterMateriUji = Loadable({\n loader: () => import(\"./components/EditData/Edit_portfoliosMasterUmum\"),\n loading: Loading,\n});\nconst EditActivity = Loadable({\n loader: () => import(\"./views/Schedule/EditActivity\"),\n loading: Loading,\n});\n\nconst DetailAssessment = Loadable({\n loader: () => import(\"./views/Schedule/DetailAsessment\"),\n loading: Loading,\n});\nconst DetailAssessmentArchive = Loadable({\n loader: () => import(\"./views/Schedule/DetailAsessmentArchive\"),\n loading: Loading,\n});\n\nconst NoSurat = Loadable({\n loader: () => import(\"./components/EditData/EditNoSurat\"),\n loading: Loading,\n});\n\nconst Rejected = Loadable({\n loader: () => import(\"./views/Schedule/Rejected\"),\n loading: Loading,\n});\n\nconst RejectedAdminTuk = Loadable({\n loader: () => import(\"./views/Schedule/Rejected_AdminTuk\"),\n loading: Loading,\n});\nconst ManagementSurat = Loadable({\n loader: () => import(\"./views/ManageSurat/ManageSurat\"),\n loading: Loading,\n});\n\nconst AsesiUnderAssessors = Loadable({\n loader: () => import(\"./views/Schedule/DetailAsesiAssessment\"),\n loading: Loading,\n});\n\n// const AsesiUjiTertulis = Loadable({\n// loader: () => import(\"./views/MateriUji/UjiTertulisAsesi\"),\n// loading: Loading,\n// });\nconst AsesiUnderAssessment = Loadable({\n loader: () => import(\"./views/Schedule/AsesiReadyAssign\"),\n loading: Loading,\n});\n\nconst AsesiAssignAsesors = Loadable({\n loader: () => import(\"./views/Schedule/DetailAssesmentAsesor\"),\n loading: Loading,\n});\n\nconst PortfolioRoleAsesi = Loadable({\n loader: () => import(\"./views/Schedule/portfolioRoleAsesi\"),\n loading: Loading,\n});\n\nconst Archive = Loadable({\n loader: () => import(\"./views/Schedule/ArchiveAssessment\"),\n loading: Loading,\n});\n\nconst UnitCompetention = Loadable({\n loader: () => import(\"./views/Competences/UnitCompetention/UnitCompetention\"),\n loading: Loading,\n});\n\nconst PersyaratanUmum = Loadable({\n loader: () => import(\"./components/Detail/PersyaratanUmum\"),\n loading: Loading,\n});\n\nconst RestoreData = Loadable({\n loader: () => import(\"./views/RestoreData/RestoreData\"),\n loading: Loading,\n});\n\nconst PengajuanBanding = Loadable({\n loader: () => import(\"./views/PengajuanBanding/PengajuanBanding.js\"),\n loading: Loading,\n});\n\n\nconst HeavyVehicle = Loadable({\n loader: () => import(\"./views/MasterData/heavyVehicle/index.js\"),\n loading: Loading,\n});\n\nconst Institution = Loadable({\n loader: () => import(\"./views/MasterData/institution/index.js\"),\n loading: Loading,\n});\n\nconst AssesmentHistory = Loadable({\n loader: () => import(\"./views/AssesmentHistory\"),\n loading: Loading,\n});\n\nconst routes = [\n //menu profile\n {\n path: \"/profile/user\",\n name: \"Pengaturan\",\n component: ProfileUser,\n },\n {\n path: \"/profile/admintuk\",\n name: \"Pengaturan\",\n component: ProfileAdminTuk,\n },\n {\n path: \"/profile/asesor\",\n name: \"Pengaturan\",\n component: ProfileAsesor,\n },\n {\n path: \"/profile/aplicant\",\n name: \"Pengaturan\",\n component: ProfileAplicant,\n },\n\n //menu user managemen\n { path: \"/users\", exact: true, name: \"Users\", component: Users },\n {\n path: \"/users/add-users\",\n name: `${multiLanguage.add} Data`,\n component: InputData,\n },\n { path: \"/users/edit-users/:user_id\", component: EditData },\n {\n path: \"/users/edit-users-accessor/:user_id\",\n component: EditDataUserAcessor,\n },\n {\n path: \"/users/edit-users-aplicant/:user_id\",\n component: EditDataUserAplicant,\n },\n {\n path: \"/users/edit-users-admintuk/:user_id\",\n component: EditDataUserAdminTuk,\n },\n {\n path: \"/users/edit-users-managements/:user_id\",\n component: EditDataUserManagements,\n },\n {\n path: \"/users/:user_id/Asesors\",\n name: `${multiLanguage.Edit} Data Asesor`,\n component: EditAssessors,\n },\n //menu accessors\n { path: \"/Assessors\", exact: true, name: \"Asesor\", component: Assessors },\n { path: \"/Assessors/list-skill\", component: ListSkill, exact: true },\n { path: \"/Assessors/list-skill/:user_id\", component: ListSkill },\n {\n path: \"/Assessors/pending-competance\",\n name: `${multiLanguage.competencePending}`,\n component: PendingCompetance,\n },\n {\n path: \"/Assessors/schedule_accessors\",\n name: `${multiLanguage.schedule} Asesor`,\n component: Schedule_accessors,\n },\n\n //menu applicant\n { path: \"/asesi\", exact: true, name: \"Asesi\", component: Applicant },\n {\n path: \"/asesi/edit-asesi/:user_id\",\n name: `${multiLanguage.Edit} Asesi`,\n component: EditApplicant,\n },\n {\n path: \"/data-applicant\",\n exact: true,\n name: \"Data Applicant\",\n component: Data_Applicant,\n },\n\n //menu schema\n {\n path: \"/schema/main-schema\",\n exact: true,\n name: multiLanguage.mainSchema,\n component: MainSchema,\n },\n\n {\n path: \"/schema/main-schema/edit-mainSchema/:schema_id\",\n component: EditData_mainSchema,\n name: `${multiLanguage.Edit} ${multiLanguage.mainSchema}`,\n },\n {\n path: \"/schema/main-schema/add-mainCompetence\",\n name: `${multiLanguage.add} Data`,\n component: InputData_mainSchema,\n },\n {\n path: \"/schema/sub-schema\",\n exact: true,\n name: multiLanguage.subSchema,\n component: SubSchema,\n },\n\n {\n path: \"/schema/schema-edit/:schema_id\",\n name: `${multiLanguage.Edit} data ${multiLanguage.subSchema}`,\n component: EditSchema,\n },\n {\n path: \"/schema-certification/add-schema\",\n name: `${multiLanguage.add} Data`,\n component: InputData_subSchema,\n },\n {\n path: \"/schema/unit-competention\",\n exact: true,\n name: `${multiLanguage.UnitCompetention}`,\n component: UnitCompetention,\n },\n //Menu Uji tertulis\n {\n path: \"/writen-test\",\n exact: true,\n name: \"Uji Tertulis\",\n component: UjiTertulis,\n },\n {\n path: \"/writen-test/input_data/ujian_tertulis\",\n name: `${multiLanguage.add} Ujian Tertulis`,\n component: InputUjianTertulis,\n },\n {\n path: \"/writen-test/input_data/ujian_essay\",\n name: `${multiLanguage.add} Ujian Tertulis Essay`,\n component: InputUjianEssay,\n },\n {\n path: \"/writen-test/:schema_id\",\n component: EditData_UjiTertulis,\n name: \"Edit Data Uji Tertulis\",\n },\n {\n path: \"/question/history\",\n exact: true,\n name: \"Riwayat History\",\n component: RiwayatHistory,\n },\n {\n path: \"/question/history/:schema_id\",\n component: HistorySoal,\n name: `History Soal`,\n },\n\n //menu assessment\n {\n path: \"/assessments/list\",\n exact: true,\n name: \"Assessments\",\n component: Schedule,\n },\n {\n path: \"/assessments/appeal\",\n exact: true,\n name: \"appeal\",\n component: PengajuanBanding,\n },\n {\n path: \"/assessments/:assessment_id/detail-certificate\",\n exact: true,\n name: \"Detail Sertifikat\",\n component: DetailCertificate,\n },\n // {\n // path: \"/join-assesment\",\n // exact: true,\n // name: \"Join Assesment\",\n // component: JoinAsesment,\n // },\n {\n path: \"/join-skema\",\n exact: true,\n name: \"Join Skema\",\n component: JoinSkema,\n },\n {\n path: \"/join-skema/add-join-skema\",\n name: `${multiLanguage.add} Data JOin Skema`,\n component: InputData_JoinSkema,\n },\n {\n path: \"/assessments/admintuk/list\",\n exact: true,\n name: \"Assessments\",\n component: Schedule_AdminTuk,\n },\n {\n path: \"/assessments/:assessment_id/portofolio-asesi\",\n name: \"Portofolio Asesi\",\n component: PortofolioAsesi,\n },\n {\n path: \"/assessments/:assessment_id/dok-asesmen\",\n name: \"Dokumen Asesmen\",\n component: DokAsesmen,\n },\n {\n path: \"/assessments/:assessment_id/:schema_id/applicants/:applicant_id/:assessment_applicant_id/:user_permission_id/portofolio-asessor-khusus\",\n name: \"Portofolio Asesi\",\n component: PortofolioAsesorKhusus,\n },\n {\n path: \"/assessments/admintuk/draft_assessment\",\n exact: true,\n name: `draft ${multiLanguage.Assessment}`,\n component: DraftAssessment,\n },\n {\n path: \"/assessments/input-data\",\n name: `${multiLanguage.add} ${multiLanguage.schedule} Assessment`,\n component: InputAssessment,\n },\n {\n path: \"/assessments/edit-data\",\n name: `${multiLanguage.add} ${multiLanguage.schedule} Assessment`,\n component: InputAssessment,\n },\n {\n path: \"/assessments/detail-data\",\n name: `${multiLanguage.add} ${multiLanguage.schedule} Assessment`,\n component: InputAssessment,\n },\n {\n path: \"/assessments/input_data/admin_tuk\",\n name: `${multiLanguage.add} ${multiLanguage.schedule} Assessment AminTuk`,\n component: InputAssessmentAdminTuk,\n },\n {\n path: \"/assessments/input_data/uji_tertulis\",\n name: `${multiLanguage.add} ${multiLanguage.schedule} Assessment Pilihan Ganda`,\n component: InputAssessmentUjiTertulis,\n },\n {\n path: \"/assessments/input_data/uji_essay\",\n name: `${multiLanguage.add} ${multiLanguage.schedule} Assessment Essay`,\n component: InputAssessmentUjiEssay,\n },\n {\n path: \"/assessments/:assessment_id/applicants/:assessment_applicant_id/portofolio\",\n name: \"Portofolio Asesi\",\n component: Portofolio,\n },\n {\n path: \"/assessments/:schema_id/applicants/:applicant_id/:assessment_applicant_id/:user_permission_id/portofolio-khusus\",\n name: \"Portofolio Asesi\",\n component: PortofolioKhusus,\n },\n {\n path: \"/assessments/applicants/arsip/portofolio-khusus\",\n name: \"Portofolio Asesi\",\n component: PortofolioKhususArsip,\n },\n {\n path: \"/assessments/:assessment_id/applicants/:assessment_applicant_id/detail-file-asesi/form\",\n name: \"Form Detail File Asesi\",\n component: FormDetailFileAsesi,\n },\n {\n path: \"/assessments/:assessment_id/applicants/:assessment_applicant_id/detail-file-asesi\",\n name: \"Detail File Asesi\",\n component: DetailFileAsesi,\n },\n\n {\n path: \"/assessments/:schedule_assessment_id/edit-activity\",\n name: `${multiLanguage.Edit} ${multiLanguage.Assessment}`,\n component: EditActivity,\n },\n {\n path: \"/assessments/:assessment_id/applicants/:assessment_applicant_id/portofolio-assesor\",\n name: \"Portofolio Asesi\",\n component: PortofolioAsesor,\n },\n {\n path: \"/applicants/:applicant_id/:schema_id/:user_permission_id/persyaratan-peserta\",\n name: \"Portofolio Asesi\",\n component: PortofolioPeserta,\n },\n {\n path: \"/assessments/:assessment_id/assign\",\n name: \"Assign Assessment\",\n exact: true,\n component: Assign,\n },\n {\n path: \"/assessments/:assessment_id/assignAdminTuk\",\n name: \"Assign Assessment AdminTuk\",\n exact: true,\n\n component: AssignAdminTuk,\n },\n {\n path: \"/assessments/:assessment_id/assign_archive\",\n name: \"Assign Assessment\",\n exact: true,\n component: AssignDetailArchive,\n },\n {\n path: \"/assessments/:assessment_id/assign-admin/:run\",\n component: AssignAdmin,\n },\n {\n path: \"/assessments/:assessment_id/assign-applicant/:schema_id/:run\",\n component: AssignApplicant,\n },\n {\n path: \"/assessments/:assessment_id/list-applicant/:schema_id/:run\",\n component: ListApplicantTuk,\n },\n {\n path: \"/assessments/:assessment_id/generate\",\n component: GenerateLetters,\n },\n {\n path: \"/assessments/:assessment_id/assign-assessors\",\n component: AssignAssessors,\n },\n {\n path: \"/assessments/:assessment_id/detail\",\n name: \"Detail Assessment\",\n component: DetailAssessmentArchive,\n },\n {\n path: \"/assessments/:assessment_id/assign/:assessor_id/:is_user_pleno\",\n name: \"Detail Asesi on Assessments\",\n component: AsesiAssignAsesors,\n exact: true,\n },\n {\n path: \"/assessments/:assessment_id/assign/:assessor_id\",\n name: \"Detail Asesi on Assessments\",\n component: AsesiUnderAssessors,\n exact: true,\n },\n {\n path: \"/assessments/:assessment_id/penyelia/:assessor_id\",\n name: \"Detail Asesi on Assessments\",\n component: AsesiUnderAssessors,\n exact: true,\n },\n // {\n // path: \"/assessments/:assessment_id/:assessor_id\",\n // name: \"Detail Asesi on Assessments\",\n // component: AsesiUjiTertulis,\n // },\n {\n path: \"/assessments/:assessment_id/detail-asesi\",\n name: \"Detail Asesi on Assessments\",\n component: AsesiUnderAssessment,\n },\n {\n path: \"/assessments/:assessment_id/letters/:assessment_letter_id\",\n name: `${multiLanguage.Edit} No.Surat`,\n component: NoSurat,\n },\n {\n path: \"/assessments/:assessment_id/plenos/:run\",\n name: `${multiLanguage.create} List Pleno`,\n component: AssignPleno,\n },\n {\n path: \"/assessments/submission\",\n exact: true,\n name: \"Submissions\",\n component: Submissions,\n },\n {\n path: \"/assessments/rejected\",\n exact: true,\n name: `${multiLanguage.list} ${multiLanguage.Assessment} ${multiLanguage.reject}`,\n component: Rejected,\n },\n {\n path: \"/assessments/admintuk/rejected\",\n exact: true,\n name: `${multiLanguage.list} ${multiLanguage.Assessment} ${multiLanguage.reject}`,\n component: RejectedAdminTuk,\n },\n {\n path: \"/assessments/:assessment_id/portofolio\",\n name: \"Portfolio Assessment\",\n component: PortfolioRoleAsesi,\n },\n {\n path: \"/assessments/archives\",\n exact: true,\n name: `${multiLanguage.archives} ${multiLanguage.schedule}`,\n component: Archive,\n },\n {\n path: \"/applicants/:applicant_id/persyaratan-umum\",\n name: \"Persyaratan Umum Asesi\",\n component: PersyaratanUmum,\n },\n\n //menu TUK\n { path: \"/tuk\", exact: true, name: \"TUK\", component: TUK },\n {\n path: \"/tuk/add-tuk\",\n name: `${multiLanguage.add} Data TUK`,\n component: InputData_tuk,\n },\n {\n path: \"/tuk/edit-tuk/:tuk_id\",\n name: `${multiLanguage.Edit}`,\n component: EditTuk,\n },\n\n //alumni\n {\n path: \"/alumnis\",\n exact: true,\n name: \"Alumni\",\n component: Alumni,\n },\n {\n path: \"/alumni/certificate/:alumni_id\",\n exact: true,\n name: \"Certificate Alumni\",\n component: CertificateAlumni,\n },\n {\n path: \"/alumni/certificate/:alumni_id/:is_new\",\n exact: true,\n name: \"Certificate Alumni\",\n component: CertificateAlumni,\n },\n {\n path: \"/alumnis/add-alumni\",\n component: InputAlumni,\n name: \"Tambah Data Alumni\",\n },\n {\n path: \"/alumnis/edit-alumni/:alumni_id\",\n component: EditAlumni,\n name: \"Edit Data Alumni\",\n },\n\n //management surat\n {\n path: \"/management-letters\",\n component: ManagementSurat,\n name: multiLanguage.mainSchema,\n exact: true,\n },\n\n // etc\n {\n path: \"/\",\n exact: true,\n name: multiLanguage.home,\n component: DefaultLayout,\n },\n { path: \"/dashboard\", component: Dashboard },\n // { path: \"/lsplogin\", component: LspLogin },\n { path: \"/setting\", component: Setting },\n { path: \"/404\", component: NotFound },\n { path: \"/articles/:article_id\", component: News },\n {\n path: \"/message\",\n name: multiLanguage.notif,\n component: Notif,\n },\n\n //master data\n {\n path: \"/portfolios\",\n exact: true,\n name: \"Master Data\",\n component: Portfolios,\n },\n {\n path: \"/portfolios-umum\",\n exact: true,\n name: \"Master Data\",\n component: Portfolios_Umum,\n },\n {\n path: \"/materi-uji\",\n exact: true,\n name: \"Master Data\",\n component: Materi_Uji,\n },\n {\n path: \"/bukti-administratif\",\n exact: true,\n name: \"Data Bukti Administratif\",\n component: BuktiAdministratif,\n },\n {\n path: \"/portfolios/input\",\n name: `${multiLanguage.add} data Portofolio`,\n component: InputData_Portfolios,\n },\n {\n path: \"/portfolios-umum/input\",\n name: `${multiLanguage.add} data Portofolio`,\n component: Input_Portfolios_umum,\n },\n {\n path: \"/materi-uji/input\",\n name: `${multiLanguage.add} data Portofolio`,\n component: Input_Materi_Uji,\n },\n {\n path: \"/materi-uji/edit-materi-uji/\",\n name: `${multiLanguage.Edit} Materi Uji`,\n component: EditData_MateriUji,\n },\n {\n path: \"/portfolios-umum/edit-portfolios/:requirement_master_id\",\n name: `${multiLanguage.Edit} Master Portofolios`,\n component: Edit_portfoliosMasterUmum,\n },\n {\n path: \"/portfolios/edit-portfolios/:requirement_master_id\",\n name: `${multiLanguage.Edit} Master Portofolios`,\n component: EditData_portfoliosMaster,\n },\n {\n path: \"/materi-uji/edit-portfolios/:requirement_master_id\",\n name: `${multiLanguage.Edit} Master Portofolios`,\n component: Edit_portfoliosMasterMateriUji,\n },\n //Chat\n // {\n // path: \"/chat\",\n // name: \"Group Chat\",\n // component: GroupChat,\n // badge: \"test\",\n // },\n // {\n // path: \"/chatting\",\n // name: \"Chat\",\n // component:Chat,\n // badge: \"test\",\n // },\n // {\n // path: \"/chating/:id\",\n // name: \"Group Chat\",\n // component: ChatMessage,\n // badge: \"test\",\n // },\n //Restore Data\n {\n path: \"/restore-data\",\n exact: true,\n name: \"Restore Data\",\n component: RestoreData,\n },\n // Complain\n {\n path: \"/complaint\",\n exact: true,\n name: \"Keluhan Alikasi\",\n component: Complaint,\n },\n // Surat\n {\n path: \"/letters\",\n exact: true,\n name: \"Pengelolaan Surat\",\n component: Letters,\n },\n {\n path: \"/letters/edit-letters/:letter_id\",\n exact: true,\n name: \"Edit Surat\",\n component: EditLetters,\n },\n\n {\n path: \"/complain/edit-complain/:row_id\",\n name: `${multiLanguage.Edit}`,\n component: EditComplaint,\n },\n // Pemohon SKK\n // {\n // path: \"/pemohon-skk/detail/:id_izin\",\n // name: `${\"Detail\"}`,\n // component: DetailPemohon,\n // },\n // {\n // path: \"/pemohon-skk\",\n // name: \"Pemohon SKK\",\n // component: PemohonSKK,\n // },\n\n {\n path: \"/complain/add-complain\",\n name: `${multiLanguage.add} Data`,\n component: InputData_Complaint,\n },\n {\n path: \"/letters/add-letters\",\n name: `${multiLanguage.add} Data`,\n component: InputLetters,\n },\n {\n path: \"/asesmen-history\",\n name: \"Riwayat Asesmen\",\n exact: true,\n component: Alumni,\n },\n {\n path: \"/Assessors/asesmen-history\",\n name: \"Riwayat Asesmen\",\n exact: true,\n component: AssesmentHistory,\n },\n];\n\nexport const routes2 = () => {\n const isLPJK = localStorage.getItem('isLPJKIntegration');\n const role = localStorage.getItem('role');\n const ref_id = JSON.parse(localStorage.getItem('ref_id'));\n let newRoute = routes;\n if (role ===\"SUP\"){\n if (isLSPABI()){\n newRoute = newRoute.concat([\n {\n path: \"/intitutions\",\n exact: true,\n name: \"Institution\",\n component: Institution,\n },\n {\n path: \"/heavy-vehicles\",\n exact: true,\n name: \"Alat Berat\",\n component: HeavyVehicle,\n }\n ]);\n } else {\n newRoute = newRoute.concat([\n {\n path: \"/intitutions\",\n exact: true,\n name: \"Institution\",\n component: Institution,\n }\n ]);\n }\n }\n\n let routePemohonSkk = [\n {\n path: \"/pemohon-skk/detail/:id_izin\",\n name: `${\"Detail\"}`,\n exact: true,\n component: DetailPemohon,\n },\n {\n path: \"/pemohon-skk/detail/:id_izin/:second_param\",\n name: `${\"Detail\"}`,\n component: DetailPemohon,\n },\n {\n path: \"/pemohon-skk\",\n name: \"Pemohon SKK\",\n component: PemohonSKK,\n },\n ];\n if(isLPJK && isLPJK!=='false'){\n newRoute = newRoute.concat(routePemohonSkk);\n }\n return newRoute;\n}\n\nexport default routes;\n","import React, { Component } from 'react';\nimport {\n Nav,\n NavItem,\n NavLink,\n Progress,\n TabContent,\n TabPane,\n ListGroup,\n ListGroupItem\n} from 'reactstrap';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { AppSwitch } from '@coreui/react';\n\nconst propTypes = {\n children: PropTypes.node\n};\n\nconst defaultProps = {};\n\nclass DefaultAside extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n activeTab: '1'\n };\n }\n\n toggle = tab => {\n if (this.state.activeTab !== tab) {\n this.setState({\n activeTab: tab\n });\n }\n };\n\n render() {\n // eslint-disable-next-line\n const { children, ...attributes } = this.props;\n\n return (\n \n \n \n \n \n \n Today\n \n \n
\n \n
\n
\n Meeting with Lucas{' '}\n
\n \n   1 - 3pm\n \n \n Palo Alto, CA\n \n \n \n
\n \n
\n
\n Skype with Megan\n
\n \n   4 - 5pm\n \n \n On-line\n \n \n \n Tomorrow\n \n \n
\n New UI Project - deadline\n
\n \n   10 - 11pm\n \n \n   creativeLabs HQ\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n \n
\n #10 Startups.Garden Meetup\n
\n \n   1 - 3pm\n \n \n   Palo Alto, CA\n \n \n \n
\n Team meeting\n
\n \n   4 - 6pm\n \n \n   creativeLabs HQ\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n \n
\n
\n
\n Lukasz Holeczek\n 1:52 PM\n
\n
\n Lorem ipsum dolor sit amet\n
\n \n Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do\n eiusmod tempor incididunt...\n \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n Lukasz Holeczek\n 1:52 PM\n
\n
\n Lorem ipsum dolor sit amet\n
\n \n Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do\n eiusmod tempor incididunt...\n \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n Lukasz Holeczek\n 1:52 PM\n
\n
\n Lorem ipsum dolor sit amet\n
\n \n Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do\n eiusmod tempor incididunt...\n \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n Lukasz Holeczek\n 1:52 PM\n
\n
\n Lorem ipsum dolor sit amet\n
\n \n Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do\n eiusmod tempor incididunt...\n \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n Lukasz Holeczek\n 1:52 PM\n
\n
\n Lorem ipsum dolor sit amet\n
\n \n Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do\n eiusmod tempor incididunt...\n \n
\n
\n \n
Settings
\n\n
\n
\n \n Option 1\n \n \n
\n
\n \n Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed\n do eiusmod tempor incididunt ut labore et dolore magna aliqua.\n \n
\n
\n\n
\n
\n \n Option 2\n \n \n
\n
\n \n Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed\n do eiusmod tempor incididunt ut labore et dolore magna aliqua.\n \n
\n
\n\n
\n
\n \n Option 3\n \n \n
\n Option disabled.\n
\n
\n
\n\n
\n
\n \n Option 4\n \n \n
\n
\n\n
\n
System Utilization
\n\n
\n \n CPU Usage\n \n
\n \n 348 Processes. 1/4 Cores.\n\n
\n \n Memory Usage\n \n
\n \n 11444GB/16384MB\n\n
\n \n SSD 1 Usage\n \n
\n \n 243GB/256GB\n\n
\n \n SSD 2 Usage\n \n
\n \n 25GB/256GB\n
\n
\n
\n );\n }\n}\n\nDefaultAside.propTypes = propTypes;\nDefaultAside.defaultProps = defaultProps;\n\nexport default DefaultAside;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nconst propTypes = {\n children: PropTypes.node\n};\n\nconst defaultProps = {};\n\nclass DefaultFooter extends Component {\n render() {\n // eslint-disable-next-line\n const { children, ...attributes } = this.props;\n\n return (\n \n \n Powered by{' '}\n \n NAS\n \n \n \n \n );\n }\n}\n\nDefaultFooter.propTypes = propTypes;\nDefaultFooter.defaultProps = defaultProps;\n\nexport default DefaultFooter;\n","import React, { Component } from \"react\";\nimport { Redirect } from \"react-router-dom\";\nimport {\n DropdownItem,\n DropdownMenu,\n DropdownToggle,\n Nav,\n Modal,\n ModalHeader,\n ModalBody,\n ModalFooter,\n Button,\n Row,\n Col,\n} from \"reactstrap\";\nimport PropTypes from \"prop-types\";\nimport {\n NotificationContainer,\n} from \"react-notifications\";\nimport {\n AppHeaderDropdown,\n AppNavbarBrand,\n AppSidebarToggler,\n} from \"@coreui/react\";\nimport {\n baseUrl,\n path_notif,\n Brand_LSP,\n getRole,\n} from \"../../components/config/config\";\nimport \"react-notifications/lib/notifications.css\";\nimport \"../../css/Dashboard.css\";\nimport axios from \"axios\";\nimport { Digest } from \"../Helpers/digest\";\nimport { multiLanguage } from \"../../components/Language/getBahasa\";\nimport \"react-notifications/lib/notifications.css\";\nimport { connect } from \"react-redux\";\nimport { GetListData, insertData } from \"../../components/config/actions\";\nimport MediaQuery from \"react-responsive\";\nimport { Badge, Icon, Modal as ModalAntd, Dropdown as DropdownAntd, Menu } from \"antd\";\nimport moment from \"moment\";\n\nconst propTypes = {\n children: PropTypes.node,\n};\n\nconst defaultProps = {};\n\nclass DefaultHeader extends Component {\n constructor(props) {\n super(props);\n this.state = {\n logged_in: false,\n roleMag: false,\n roleApl: false,\n roleAcs: false,\n roleAdt: false,\n roleDev: false,\n notifications: false,\n badge: false,\n sumNotification: 0,\n hide: false,\n modal: false,\n backdrop: true,\n notif: \"Notification\",\n titleNotif: \"Notification\",\n detailAssessor: \"\",\n detailStatus: \"\",\n detailSchedule_id: \"\",\n bellNotif: false,\n payloadNotif: [],\n detailNotif: \"\",\n bahasa: \"en\",\n user_id: JSON.parse(localStorage.getItem(\"userdata\")),\n userData: null,\n notif: 4,\n brandLogo: \"\",\n whiteLabel: false,\n currentRole: \"\",\n listNotification: []\n };\n }\n\n cekDomain = () => {\n const domain = window.location.hostname;\n \n if (domain === \"app.vokasea.id\" || domain === \"areaindonesia.vokasea.id\" || domain === \"oshe.vokasea.id\" || domain === \"nki.vokasea.id\") {\n document.title = \"Edu - Vokasea\"\n }else {\n document.title = \"Nusantara Aplikasi Sertifikasi\";\n }\n \n }\n\n checkRole = () => {\n const role = localStorage.getItem(\"notif_role\");\n let currentRole = \"\";\n if (role === \"ACS\") {\n currentRole = \"Asesor\";\n } else if (role === \"APL\") {\n currentRole = \"Asesi\";\n } else if (role === \"ADM\"){\n currentRole = \"Admin\";\n } else if (role === \"SUP\"){\n currentRole = \"Admin\";\n } else if (role === \"MGR\"){\n currentRole = \"Manager Sertifikasi\"\n } else if (role === \"DIR\"){\n currentRole = \"Ketua LSP\"\n } else {\n currentRole = \"-\";\n }\n\n this.setState({ currentRole: currentRole });\n }\n\n componentDidMount() {\n this.checkWhiteLabel();\n this.checkUserData();\n this.checkRole();\n this.getListNotif();\n }\n\n\n getListNotif = () => {\n const role = localStorage.getItem(\"notif_role\");\n GetListData(`log-notif?role=${role}&limit=10&sort=-created_date`) .then((res) => {\n this.setState({ listNotification: res.data })\n }).catch((err) => {\n\n });\n }\n\n setupMenuList = () => {\n if (this.state.listNotification.length < 1) {\n return (\n \n Tidak Ada Notifikasi\n \n )\n }\n\n const { listNotification } = this.state;\n\n const menu = (\n \n List Notifikasi\n
\n {listNotification.map((value, index) => (\n \n {value.description}\n

\n
\n {moment(value.created_date).format('HH:mm DD-MM-YYYY')}\n
\n {index === 0 && (\n
\n )}\n {index !==0 && index !== listNotification.length - 1 ?
: \"\"}\n
\n ))}\n
\n );\n\n return menu;\n }\n\n checkUserData = () => {\n let userData = JSON.parse(localStorage.getItem(\"userdata\"));\n if (!userData) {\n ModalAntd.error({\n title: \"Gagal!\",\n content: \"Akun sedang di proses, silahkan login kembali!\",\n onOk: () => {\n localStorage.clear();\n this.setState({ logged_in: true });\n },\n });\n // localStorage.clear();\n // this.setState({ logged_in: true });\n return;\n }\n\n this.setState({ userData: userData });\n };\n\n checkWhiteLabel = () => {\n const isWhiteLabel = localStorage.getItem(\"whitelabel\");\n const { Logo } = Brand_LSP(\"demo\");\n let currentLogo = Logo;\n if (isWhiteLabel) {\n currentLogo = localStorage.getItem(\"logo_lsp\");\n }\n\n this.setState({ brandLogo: currentLogo });\n };\n\n toggle = (event) => {\n const notification_id = event.target.value;\n const auth = Digest(path_notif + \"/\" + notification_id, \"GET\");\n const options = {\n method: auth.method,\n headers: {\n Authorization: auth.digest,\n \"X-Lsp-Date\": auth.date,\n \"Content-Type\": \"application/json\",\n },\n url: baseUrl + path_notif + \"/\" + notification_id,\n };\n axios(options).then((res) => {\n const json = JSON.parse(res.data.data.data);\n this.setState({\n detailAssessor: json.accessor_id,\n detailSchedule_id: json.assessment_id,\n detailStatus: json.last_state_assessor,\n });\n });\n this.setState({\n modal: !this.state.modal,\n backdrop: \"static\",\n });\n };\n\n toggleExit = () => {\n const auth = Digest(path_notif, \"GET\");\n const options = {\n method: auth.method,\n headers: {\n Authorization: auth.digest,\n \"X-Lsp-Date\": auth.date,\n \"Content-Type\": \"application/json\",\n },\n url: baseUrl + path_notif + \"?sort=is_read\",\n };\n axios(options).then((res) => {\n this.setState({ payloadNotif: res.data.data });\n });\n this.setState({\n modal: !this.state.modal,\n bellNotif: false,\n badge: false,\n sumNotification: 0,\n notif: \"Notification\",\n });\n };\n\n // logout = () => {\n // localStorage.removeItem(\"role\");\n // localStorage.clear();\n // localStorage.removeItem(\"role\");\n // localStorage.removeItem(\"lsp\");\n // this.setState({ logged_in: true });\n // window.location.reload();\n // };\n\n logout = async () => {\n this.setState({\n loading: true,\n });\n\n const tokenData = localStorage.getItem(\"secret_key\");\n\n await insertData(\"/users/logout\", {\n token: tokenData,\n })\n .then((result) => {\n this.setState({\n loading: false,\n });\n localStorage.clear();\n window.location.reload();\n })\n .catch((e) => {\n this.setState({\n loading: false,\n });\n localStorage.clear();\n window.location.reload();\n });\n\n localStorage.clear();\n window.location.reload();\n };\n\n setting = () => {\n if (getRole() === \"ACS\") {\n this.setState({ roleAcs: true });\n } else if (getRole() == \"APL\") {\n this.setState({ roleApl: true });\n } else if (getRole() == \"ADT\") {\n this.setState({ roleAdt: true });\n } else {\n this.setState({ roleDev: true });\n }\n };\n render() {\n const { userData } = this.state;\n // const { title, Logo } = Brand_LSP(\"demo\");\n // const { LogoAbi } = Brand_LSP(\"lsp_abi\");\n // const { LogoEnergi } = Brand_LSP(\"lsp_energi\");\n // const value = getUserId();\n if (this.state.logged_in) {\n return ;\n }\n if (this.state.roleAcs) {\n window.location.href = `/users/edit-users-accessor/${this.state.user_id.user_id}`;\n // return ;\n }\n if (this.state.roleApl) {\n window.location.href = `/users/edit-users-aplicant/${this.state.user_id.user_id}`;\n }\n\n if (this.state.roleAdt) {\n window.location.href = \"/profile/admintuk\";\n }\n if (this.state.roleDev) {\n window.location.href = \"/profile/user\";\n }\n\n // var user = JSON.parse(localStorage.getItem(\"userdata\"));\n const externalCloseBtn = (\n \n ×\n \n );\n\n return (\n \n \n Detail Notification\n \n \n Accessor\n : {this.state.detailAssessor}\n \n \n Status\n : {this.state.detailStatus}\n \n \n Assessment\n : {this.state.detailSchedule_id}\n \n \n \n \n \n \n \n \n \n \n\n \n\n
\n \n );\n }\n}\nDefaultHeader.propTypes = propTypes;\nDefaultHeader.defaultProps = defaultProps;\n\nconst mapStateToProps = (state) => {\n return {\n notif: state.isRead,\n };\n};\nexport default connect(mapStateToProps)(DefaultHeader);\n","import React, { Component, Suspense } from \"react\";\nimport { Redirect, Route, Switch } from \"react-router-dom\";\nimport { Container } from \"reactstrap\";\nimport { Fab } from \"@material-ui/core\";\nimport { Badge } from 'antd'\nimport chatone from '../../assets/sound/chatone.mp3';\nimport { isLJKIntegration } from \"../../components/config/config\";\nimport {\n AppAside,\n AppFooter,\n AppHeader,\n AppSidebar,\n AppSidebarFooter,\n AppSidebarForm,\n AppSidebarHeader,\n AppSidebarNav,\n // AppBreadcrumb,\n AppSidebarMinimizer,\n} from \"@coreui/react\";\nimport ChatContainer from \"./component/chatContainer\";\nimport { Permission } from \"../../_nav\";\nimport routes, { routes2 } from \"../../routes\";\nimport DefaultAside from \"./DefaultAside\";\nimport DefaultFooter from \"./DefaultFooter\";\nimport DefaultHeader from \"./DefaultHeader\";\n// import '../../css/Dashboard.css';\n// import \"../../css/All.css\";\n\n// import \"../../css/Cdn.css\";\n\n// import \"../../css/Cdn.css\";\n// import navBarAbi from '../../css/NavbarAbi.css';\n// import defaultNavbar from '../../css/Navbar.css';\n// import \"../../css/Button.css\";\nimport { getRole, getLsp } from \"../../components/config/config\";\n\n// let navbarStyles = {...defaultNavbar,...navBarAbi}\nconst newRoutes = routes2();\nclass DefaultLayout extends Component {\n constructor(props) {\n super(props);\n this.state = {\n logged_in: true,\n bahasa: \"\",\n permission: [],\n style: true,\n openChat: false,\n unreadChat:0,\n };\n }\n\n componentDidUpdate(prevProps){\n if(this.props.location !== prevProps.location){\n if(isLJKIntegration()){\n const location = this.props.location;\n let pathName = location.pathname;\n let detail = pathName.includes('/pemohon-skk/detail/');\n if(detail){\n if(location.state && location.state.pagination){\n localStorage.setItem('page-pemohon-skk', location.state.pagination);\n localStorage.setItem('detail-pemohon-skk', 'true');\n }\n }else if(pathName.includes('/pemohon-skk')){\n\n }else{\n localStorage.setItem('detail-pemohon-skk', 'false');\n }\n }\n }\n }\n\n profile(codeBahasa) {\n localStorage.setItem(\"bahasa\", codeBahasa);\n window.location.reload();\n }\n\n handleOpenChat = () => {\n this.setState({ openChat: true});\n }\n\n setUnreadChat = (count) => {\n this.setState({ unreadChat: count });\n }\n\n closeOpenChat = () => {\n this.setState({ openChat: false });\n }\n\n loading = () => (\n
Loading...
\n );\n\n render() {\n if (localStorage.length === 0) {\n return ;\n }\n // const DemoTheme = React.lazy(() => import(\"../Demo\"));\n // const AbiTheme = React.lazy(() => import(\"../Abi\"));\n\n return (\n
\n \n \n \n \n \n
\n \n \n \n \n \n \n\n {getLsp() == \"3\" ? : null}\n {/* */}\n \n \n \n
\n \n {/* */}\n \n \n {newRoutes?.map((route, idx) => {\n return route.component ? (\n }\n />\n ) : null;\n })}\n \n \n \n
\n \n \n \n \n Group Chat\n \n \n \n \n
\n \n \n \n
\n );\n }\n}\n\nexport default DefaultLayout;\n// export default (DefaultLayout,{defaultNavbar,navBarAbi})\n// export default CSSModules(DefaultLayout,navbarStyles)\n","import React, { Component, Suspense } from \"react\";\nimport { PostData } from \"../services/PostData\";\nimport { insertData } from \"../components/config/actions\";\nimport { Redirect, Link } from \"react-router-dom\";\nimport {\n Button,\n Card,\n CardBody,\n Col,\n Container,\n Alert,\n Form,\n Row,\n Modal,\n ModalHeader,\n ModalBody,\n ModalFooter,\n Label,\n} from \"reactstrap\";\nimport { Input, Spin } from \"antd\";\nimport { withAlert } from \"react-alert\";\nimport axios from \"axios\";\nimport LoadingOverlay from \"react-loading-overlay\";\nimport {\n NotificationContainer,\n NotificationManager,\n} from \"react-notifications\";\n// import \"../css/All.css\";\nimport \"../css/LSP_Demo.css\";\nimport \"../scss/style.css\";\n// import \"../css/Button.css\";\nimport {\n baseUrl,\n path_forgotPass,\n path_refreshToken,\n Brand_LSP,\n // getLsp,\n} from \"../components/config/config\";\n// import \"antd/dist/antd.css\";\nclass Login extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: false,\n loadingLogo: true,\n username_email: \"\",\n password: \"\",\n logged_in: false,\n message: \"\",\n hidden: true,\n modal: false,\n nestedModal: false,\n closeAll: false,\n response: \"\",\n logo: '',\n register_id: \"\",\n lsp_id: \"\",\n whiteLabel: false,\n lsp_name: \"\",\n hideCopyright: false\n };\n }\n\n toggle = () => {\n this.setState({\n modal: !this.state.modal,\n });\n };\n\n componentDidMount() {\n this.cekDomain();\n let email = JSON.parse(localStorage.getItem(\"email\"));\n let nextResend = localStorage.getItem(\"nextResend\");\n if(nextResend){\n localStorage.removeItem(\"nextResend\");\n }\n if(email){\n localStorage.removeItem(\"email\");\n }\n }\n\n cekDomain = () => {\n let domain = window.location.hostname;\n if (domain === \"app.vokasea.id\" || domain === \"areaindonesia.vokasea.id\" || domain === \"oshe.vokasea.id\" || domain === \"nki.vokasea.id\"){\n document.title = \"Login - Vokasea\";\n } else {\n document.title = \"Login - NAS\";\n }\n \n const defaultLogo = Brand_LSP(\"login\");\n let currentLogo = defaultLogo.Logo;\n let whiteLabel = false;\n if(domain=='ypia.nasonline.id'){\n const lspLogo = Brand_LSP(\"ypia\");\n currentLogo = lspLogo.Logo;\n whiteLabel = true;\n this.getDataLSP('LSP-YPIA-929');\n } else if (domain=='nusantara.nasonline.id'){\n const lspLogo = Brand_LSP(\"login\");\n currentLogo = lspLogo.Logo;\n whiteLabel = true;\n this.getDataLSP('LSP-NUSANTARA-609');\n } else if (domain=='pim.nasonline.id'){\n const lspLogo = Brand_LSP(\"lsp_pim\");\n currentLogo = lspLogo.Logo;\n whiteLabel = true;\n this.getDataLSP('LSP-PIM-468');\n } else if (domain=='lsphki.aplikasisertifikasi.com'){\n const lspLogo = Brand_LSP(\"lsp_hki\");\n currentLogo = lspLogo.Logo;\n whiteLabel = true;\n this.getDataLSP('LSP-HSI-349');\n } else if (domain=='migrasiabi.aplikasisertifikasi.com'){\n const lspLogo = Brand_LSP(\"lsp_abi\");\n currentLogo = lspLogo.Logo;\n whiteLabel = true;\n this.getDataLSP('LSP-ABI-927');\n } else if (domain=='abimigrasi.aplikasisertifikasi.com' || domain === 'lspabi.nasonline.id'){\n const lspLogo = Brand_LSP(\"lsp_abi\");\n currentLogo = lspLogo.Logo;\n whiteLabel = true;\n this.getDataLSP('LSP-ABI-927');\n } else if (domain === \"ditekindo.nasonline.id\") {\n const lspLogo = Brand_LSP(\"lsp_ditekindo\");\n currentLogo = lspLogo.Logo;\n whiteLabel = true;\n this.getDataLSP('DITEKINDO');\n } else if (domain === \"lspfotografi.nasonline.id\") {\n const lspLogo = Brand_LSP(\"fotografi\");\n currentLogo = lspLogo.Logo;\n whiteLabel = true;\n this.getDataLSP('LSP-FOTOGRAFI-INDONESIA-791');\n } else if (domain === \"lspmsdmui.nasonline.id\"){\n const lspLogo = Brand_LSP(\"lsp_msdm\");\n currentLogo = lspLogo.Logo;\n whiteLabel = true;\n this.getDataLSP('LSP-MSDMUI-483');\n } else if (domain === \"t2k3indonesia.nasonline.id\") {\n const lspLogo = Brand_LSP(\"lsp_t2k3\");\n currentLogo = lspLogo.Logo;\n whiteLabel = true;\n this.getDataLSP('LSP-T2K3');\n } else if (domain === \"app.vokasea.id\") {\n this.setState({ hideCopyright: true });\n const lspLogo = Brand_LSP(\"lsp_den\");\n currentLogo = lspLogo.Logo;\n whiteLabel = true;\n this.getDataLSP('DAYA-EDUVOKASI-NUSANTARA-506');\n } else if (domain === \"areaindonesia.vokasea.id\") {\n this.setState({ hideCopyright: true });\n const lspLogo = Brand_LSP(\"lsp_area\");\n currentLogo = lspLogo.Logo;\n whiteLabel = true;\n this.getDataLSP('LSP-AREA-INDONESIA-751');\n } else if (domain === \"oshe.vokasea.id\") {\n this.setState({ hideCopyright: true });\n const lspLogo = Brand_LSP(\"lsp_oshe\");\n currentLogo = lspLogo.Logo;\n whiteLabel = true;\n this.getDataLSP('LSP-KL-OSHE-NST-635');\n } else if (domain === \"nki.vokasea.id\") {\n this.setState({ hideCopyright: true });\n const lspLogo = Brand_LSP(\"lsp_nki\");\n currentLogo = lspLogo.Logo;\n whiteLabel = true;\n this.getDataLSP('LSP-NKI-588');\n } else if (domain === \"k3ibl.nasonlide.id\"){\n const lspLogo = Brand_LSP(\"k3ibl\");\n currentLogo = lspLogo.Logo;\n whiteLabel = true;\n this.getDataLSP('LSP-K3-INDUSTRI-BUANA-LESTARI-911');\n } else if (domain === \"lsplik.nasonline.id\"){\n const lspLogo = Brand_LSP(\"lsp_lik\");\n currentLogo = lspLogo.Logo;\n whiteLabel = true;\n this.getDataLSP('LSP-LINGKUNGAN-KEHUTANAN-635');\n }\n this.setState({ logo: currentLogo, whiteLabel: whiteLabel });\n }\n\n getDataLSP = (kode_lsp) => {\n axios(`${baseUrl}/public/lsp/${kode_lsp}`).then((response) => {\n const resDataLSP = response.data.data;\n if(resDataLSP){\n let lspName = resDataLSP.lsp_name;\n if (lspName === \"LSP Manajemen Sumber Daya Manusia Unggul Indonesia\"){\n lspName = \"MSDM Unggul Indonesia\";\n }\n this.setState({ logo: resDataLSP.logo, lsp_name: lspName })\n }\n }).catch((err) => {\n if(err.response && err.response.data && err.response.data.error.message){\n if(err.response.data.error.code==404){\n\n }\n }\n });\n }\n\n toggleNested = (event) => {\n event.preventDefault();\n this.setState({\n nestedModal: !this.state.nestedModal,\n closeAll: false,\n });\n\n var data = new FormData();\n data.append(\"email\", this.state.email);\n const options = {\n method: \"POST\",\n url: baseUrl + path_forgotPass,\n data: data,\n };\n axios(options).then((response) => {\n return response;\n });\n };\n\n toggleAll = () => {\n this.setState({\n nestedModal: !this.state.nestedModal,\n closeAll: true,\n });\n };\n\n handleChange = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n };\n\n setLocalStorage = (responseJSON) => {\n this.setState({ logged_in: true });\n const responseData = { ...responseJSON.data };\n let userPermission = responseJSON.data.user_permissions;\n responseData.user_permissions = [];\n localStorage.setItem(\"userdata\", JSON.stringify(responseData));\n localStorage.setItem(\"secret_key\", responseJSON.secret_key);\n localStorage.setItem(\"logged_in\", responseData.logged_in);\n localStorage.setItem(\"identity_type\", responseJSON.identity_type);\n let role=responseData.role_code;\n if(role=='DIR' || role=='MGR'){\n role='SUP'\n }\n localStorage.setItem(\"role\", role);\n localStorage.setItem(\"ref_id\", responseData.ref_id);\n // localStorage.setItem(\n // \"lpjk\",\n // JSON.stringify([\n // {\n // third_party_id: \"Integrasi LPJK\",\n // name: \"LPJK\",\n // description: \"Integrasi LPJK\",\n // domain: \"https://dev.aplikasisertifikasi.com/login\",\n // auth_type:\n // \"cc2c2830773567846460f1f106a2db9ef7cd64324f099805cc8ccc1397baa800e608a62bc1c8e3af\",\n // auth: [\n // {\n // key: \"cc2c2830773567846460f1f106a2db9ef7cd64324f099805cc8ccc1397baa800e608a62bc1c8e3af\",\n // value: \"list\",\n // },\n // ],\n // },\n // ])\n // );\n let newArrPermission = [];\n \n userPermission.map((val, index) => {\n const newUserPermission = { signature: '', ...val }\n newUserPermission['signature'] = '';\n newArrPermission.push(newUserPermission);\n });\n \n // return;\n localStorage.setItem(\n \"user_permissions\",\n JSON.stringify(newArrPermission)\n );\n };\n\n cekHttps = (url) => {\n let newUrl = url;\n let arrHttp = newUrl.toString().split(\":\");\n if(arrHttp[0]=='http'){\n arrHttp = ['https'].concat(arrHttp[1]);\n newUrl = arrHttp.join(\":\");\n }\n return newUrl;\n }\n\n setLocalStorageSelected = async (responseJSON) => {\n const { history } = this.props;\n \n localStorage.setItem(\"bahasa\", \"id\");\n localStorage.setItem(\"secret_key\", responseJSON.secret_key);\n let role = responseJSON.data.role_code;\n localStorage.setItem(\"notif_role\", role);\n if (role == \"DIR\" || role == \"MGR\") {\n role = \"SUP\";\n }\n \n await localStorage.setItem(\"role\", role);\n // localStorage.setItem(\"integration\", \"lpjk\");\n localStorage.setItem(\n \"selected_permission\",\n JSON.stringify(responseJSON.data.selected_permission)\n );\n if (this.state.whiteLabel){\n localStorage.setItem(\"whitelabel\", true);\n }\n let firstUserPermission = responseJSON.data.selected_permission[0];\n if(firstUserPermission){\n localStorage.setItem(\"logo_lsp\", firstUserPermission.lsp_logo ? firstUserPermission.lsp_logo : firstUserPermission.logo);\n }\n localStorage.setItem(\n \"ref_id\",\n JSON.stringify(responseJSON.data.selected_permission[0].ref_id)\n );\n let selectedPermission = responseJSON.data.selected_permission;\n let isIntegration = false;\n let isLpjkIntegration = false;\n let newListIntegration = [];\n if(selectedPermission && selectedPermission.length > 0){\n let firstSelectedPermission = selectedPermission[0];\n let integrationList = firstSelectedPermission.integration_detail;\n if(integrationList && integrationList.length > 0){\n isIntegration = true;\n integrationList.map((val, index) => {\n if(val.system_id==\"4f15e5e2-b0ab-41b3-bf18-6d24bbf8d062\"){\n isLpjkIntegration = true\n }\n let urlDomain = val.url_domain ? val.url_domain : '';\n let dataIntegration = {\n auth_type:val.auth_type ? val.auth_type : '',\n integration_id: val.integration_id ? val.integration_id : '',\n system_id: val.system_id ? val.system_id : '',\n system_name: val.system_name ? val.system_name : '',\n url: urlDomain,\n }\n let authParameter = val.auth_parameter ? val.auth_parameter : [];\n dataIntegration['auth_parameter'] = authParameter;\n newListIntegration.push(dataIntegration);\n })\n }\n }\n localStorage.setItem(\"isIntegration\", isIntegration);\n localStorage.setItem(\"isLPJKIntegration\", isLpjkIntegration);\n localStorage.setItem('integrationList', JSON.stringify(newListIntegration));\n // localStorage.setItem(\n // \"lpjk\",\n // JSON.stringify([\n // {\n // third_party_id: \"Integrasi LPJK\",\n // name: \"LPJK\",\n // description: \"Integrasi LPJK\",\n // domain: \"https://dev.aplikasisertifikasi.com/login\",\n // auth_type:\n // \"cc2c2830773567846460f1f106a2db9ef7cd64324f099805cc8ccc1397baa800e608a62bc1c8e3af\",\n // auth: [\n // {\n // key: \"cc2c2830773567846460f1f106a2db9ef7cd64324f099805cc8ccc1397baa800e608a62bc1c8e3af\",\n // value: \"list\",\n // },\n // ],\n // },\n // ])\n // );\n let arr = [];\n const json = responseJSON.data;\n let tukAccess = json.tuk_access;\n if(tukAccess){\n let lsp_id = tukAccess.lsp_id;\n if(lsp_id){\n localStorage.setItem(\"lsp_id\", lsp_id);\n }\n }\n for (let index = 0; index < json.permission.length; index++) {\n const element = json.permission[index].sub_module_code;\n arr.push(element);\n localStorage.setItem(\"permission\", arr);\n }\n history.push(\"/dashboard\");\n window.location.reload();\n // console.log(\"cek akhir\", responseJSON)\n };\n\n submitContinue = (permission_id) => {\n this.setState({ loading: true });\n\n const { history } = this.props;\n if (permission_id === \"\") {\n this.setState({\n hidden: false,\n message: \"Terjadi Kesalahan silahkan coba lagi\",\n loading: false,\n });\n } else {\n let formData = new FormData();\n formData.append(\"user_permission_id\", permission_id);\n insertData(\"/users/select_lsp\", formData)\n .then((result) => {\n this.setState({ loading: true });\n let responseJSON = result;\n if (responseJSON.responseStatus === \"SUCCESS\") {\n this.setLocalStorageSelected(responseJSON);\n // history.push(\"/dashboard\");\n // window.location.reload();\n }\n })\n .catch((error) => {\n this.setState({ loading: false });\n if (error.status === 401) {\n localStorage.clear();\n window.location.replace(\"/login\");\n } else if (error.status === 419) {\n localStorage.clear();\n window.location.replace(\"/login\");\n } else if (error.status == 504) {\n localStorage.clear();\n window.location.replace(\"/login\");\n }\n });\n }\n };\n\n login = (event) => {\n event.preventDefault();\n const { history } = this.props;\n this.setState({ loading: true });\n\n if (this.state.username_email === \"\" || this.state.password === \"\") {\n this.setState({\n loading: false,\n hidden: false,\n message: \"Username and password cannot empty\",\n });\n }\n if (this.state.username_email && this.state.password) {\n PostData(\"/login\", {\n username_email: this.state.username_email,\n password: this.state.password,\n }).then((result) => {\n let responseJSON = result;\n if (responseJSON.responseStatus === \"SUCCESS\") {\n if (\n responseJSON.data.group_id == 2 &&\n responseJSON.data.user_permissions.length === 1\n ) {\n this.setLocalStorage(responseJSON);\n\n this.submitContinue(\n result.data.user_permissions[0].user_permission_id\n );\n } else if (\n responseJSON.data.group_id == 2 &&\n responseJSON.data.user_permissions.length > 1\n ) {\n this.setLocalStorage(responseJSON);\n history.push(\"/multi-role\");\n } else {\n this.setState({\n hidden: false,\n loading: false,\n message: \"Anda tidak bisa melakukan login,\",\n });\n }\n\n return;\n }\n this.setState({\n response: responseJSON.error.code,\n });\n switch (this.state.response) {\n case 400:\n localStorage.clear();\n this.setState({\n hidden: false,\n loading: false,\n message: \"Minimum password length is 6\",\n });\n break;\n\n case 422:\n localStorage.clear();\n this.setState({\n hidden: false,\n loading: false,\n message: responseJSON.error.message,\n });\n break;\n\n case 419:\n NotificationManager.warning(\n \"Masa trial anda telah habis,Harap menghubungi Admin NAS untuk info lebih lanjut\",\n \"Peringatan\",\n 5000\n );\n localStorage.clear();\n break;\n\n default:\n break;\n }\n });\n }\n };\n\n onChange = (e) => {\n this.setState({ [e.target.name]: e.target.value });\n };\n\n render() {\n if (localStorage.getItem(\"logged_in\") || this.state.logged_in) {\n return ;\n }\n\n return (\n \n
\n \n \n Forgot Password\n \n \n \n \n \n \n
\n
\n \n \n \n \n \n \n Confirmation Message\n \n Your password has been reset,Please Check Your email\n \n \n \n \n \n
\n \n\n \n \n \n \n \n
\n
\n {this.state.logo ? (\n
\n \"\"\n
\n ) : (\n
\n \n
\n )}\n
\n
\n \n \n \n Email/Username\n \n \n \n \n \n \n
\n
\n \n \n \n Password\n \n \n \n \n \n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Forgot Password?\n \n \n \n \n
\n \n \n \n \n \n {this.state.lsp_name && this.state.whiteLabel ? `${this.state.lsp_name}` : this.state.whiteLabel ? 'LOGIN' : 'NAS - LSP LOGIN'}\n \n \n \n {!this.state.hideCopyright && (\n \n \n Copyright © 2021,\n NAS.\n All rights reserved\n \n
\n )}\n \n \n \n \n \n\n \n
\n
\n
\n );\n }\n}\n\nexport default withAlert(Login);\n","import React, { Component, Suspense } from \"react\";\nimport { insertData } from \"../components/config/actions\";\nimport {\n Button,\n Card,\n CardBody,\n CardHeader,\n CardFooter,\n CardImg,\n CardText,\n Alert,\n Col,\n Container,\n Row,\n} from \"reactstrap\";\nimport { multiLanguage } from \"../components/Language/getBahasa\";\nimport { withAlert } from \"react-alert\";\nimport LoadingOverlay from \"react-loading-overlay\";\nimport LogoImage from \"../assets/img/brand/nas_logo.png\";\n// import \"../css/All.css\";\n// import \"../css/LSP_Demo.css\";\n// import \"../css/Button.css\";\nimport { Redirect } from \"react-router-dom\";\nimport \"antd/dist/antd.css\";\nimport {\n Brand_LSP,\n // getLsp,\n} from \"../components/config/config\";\n\nclass MultiRole extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: false,\n message: \"\",\n hidden: true,\n response: \"\",\n register_id: \"\",\n permission: [],\n userdata: [],\n user_permission_id: \"\",\n hideCopyright: false,\n };\n }\n\n onChange = (e) => {\n this.setState({ [e.target.name]: e.target.value });\n };\n\n // submitMulti = (item, i) => {\n // const data1 = this.state.permission;\n // data1.map((idx) => {\n // console.log(\"idx\", idx);\n // if (idx.is_login == 1) {\n // idx.is_login = \"0\";\n // this.setState({ permission: data1 });\n // }\n // data1.find((c) => {\n // console.log(\"c\", c);\n // console.log('item',item)\n // if (\n // c.user_permission_id === item.user_permission_id &&\n // item.is_login == 0\n // ) {\n // item.is_login = \"1\";\n // this.setState({\n // permission: data1,\n // user_permission_id: c.user_permission_id,\n // });\n // }\n // });\n // });\n // };\n\n submitMulti = (item, i) => {\n this.setState({\n user_permission_id: item.user_permission_id,\n });\n };\n\n setLocalStorage = (responseJSON) => {\n localStorage.setItem(\"bahasa\", \"id\");\n localStorage.setItem(\"secret_key\", responseJSON.secret_key);\n let role = responseJSON.data.role_code;\n localStorage.setItem(\"notif_role\", role);\n if(role=='DIR' || role=='MGR'){\n role='SUP'\n }\n localStorage.setItem(\"role\", role);\n localStorage.setItem(\n \"selected_permission\",\n JSON.stringify(responseJSON.data.selected_permission)\n );\n localStorage.setItem(\n \"ref_id\",\n JSON.stringify(responseJSON.data.selected_permission[0].ref_id)\n );\n let arr = [];\n const json = responseJSON.data;\n\n let selectedPermission = json.selected_permission;\n let isIntegration = false;\n let isLpjkIntegration = false;\n let newListIntegration = [];\n if(selectedPermission && selectedPermission.length > 0){\n let firstSelectedPermission = selectedPermission[0];\n if(firstSelectedPermission){\n localStorage.setItem(\"logo_lsp\", firstSelectedPermission.lsp_logo ? firstSelectedPermission.lsp_logo : firstSelectedPermission.logo);\n }\n let integrationList = firstSelectedPermission.integration_detail;\n if(integrationList && integrationList.length > 0){\n isIntegration = true;\n integrationList.map((val, index) => {\n if(val.system_id==\"4f15e5e2-b0ab-41b3-bf18-6d24bbf8d062\"){\n isLpjkIntegration = true\n }\n let urlDomain = val.url_domain ? val.url_domain : '';\n let dataIntegration = {\n auth_type:val.auth_type ? val.auth_type : '',\n integration_id: val.integration_id ? val.integration_id : '',\n system_id: val.system_id ? val.system_id : '',\n system_name: val.system_name ? val.system_name : '',\n url: urlDomain,\n }\n let authParameter = val.auth_parameter ? val.auth_parameter : [];\n dataIntegration['auth_parameter'] = authParameter;\n newListIntegration.push(dataIntegration);\n })\n }\n }\n localStorage.setItem(\"isIntegration\", isIntegration);\n localStorage.setItem(\"isLPJKIntegration\", isLpjkIntegration);\n localStorage.setItem('integrationList', JSON.stringify(newListIntegration));\n for (let index = 0; index < json.permission.length; index++) {\n const element = json.permission[index].sub_module_code;\n arr.push(element);\n localStorage.setItem(\"permission\", arr);\n }\n };\n\n submitContinue = () => {\n this.setState({ loading: true });\n const { history } = this.props;\n const { response } = this.state;\n if (this.state.user_permission_id == \"\") {\n this.setState({\n hidden: false,\n message: \"Belum ada role yang di pilih\",\n loading: false,\n });\n } else {\n let formData = new FormData();\n formData.append(\"user_permission_id\", this.state.user_permission_id);\n insertData(\"/users/select_lsp\", formData)\n .then((result) => {\n let responseJSON = result;\n this.setState({ loading: false });\n if (responseJSON.responseStatus === \"SUCCESS\") {\n if (\n responseJSON.data.role_code === \"DEV\" ||\n responseJSON.data.role_code === \"ADM\" ||\n responseJSON.data.role_code === \"ACS\" ||\n responseJSON.data.role_code === \"SUP\" ||\n responseJSON.data.role_code === \"APL\" ||\n responseJSON.data.role_code === \"DIR\" ||\n responseJSON.data.role_code === \"MGR\" ||\n responseJSON.data.role_code === \"ADT\"\n ) {\n this.setLocalStorage(responseJSON);\n history.push(\"/dashboard\");\n window.location.reload();\n }\n }\n })\n .catch((error) => {\n this.setState({ loading: false });\n if (error.status === 401) {\n localStorage.clear();\n window.location.replace(\"/login\");\n } else if (error.status === 419) {\n localStorage.clear();\n window.location.replace(\"/login\");\n } else if (error.status == 504) {\n localStorage.clear();\n window.location.replace(\"/login\");\n }\n });\n }\n };\n\n // submitContinue = (event) => {\n // event.preventDefault();\n // const { history } = this.props;\n // this.setState({ loading: true });\n\n // if (this.state.user_permission_id == \"\") {\n // this.setState({\n // loading: false,\n // hidden: false,\n // message: multiLanguage.alertInput,\n // });\n // }\n // if (this.state.user_permission_id) {\n // insertData(\"/users/select_lsp\", {\n // user_permission_id: this.state.user_permission_id,\n // }).then((result) => {\n // this.setState({ loading: false });\n // let responseJSON = result;\n // console.log(\"res\", responseJSON);\n // if (responseJSON.responseStatus === \"SUCCESS\") {\n // if (\n // responseJSON.data.role_code === \"DEV\" ||\n // responseJSON.data.role_code === \"ADM\" ||\n // responseJSON.data.role_code === \"ACS\" ||\n // responseJSON.data.role_code === \"SUP\" ||\n // responseJSON.data.role_code === \"APL\"\n // ) {\n // this.setLocalStorage(responseJSON);\n // history.push(\"/dashboard\");\n // window.location.reload();\n // } else {\n // localStorage.clear();\n // this.setState({\n // hidden: false,\n // message: \"You aren't access,Please check again\",\n // });\n // }\n // return;\n // }\n // this.setState({\n // response: responseJSON.error.code,\n // });\n // switch (this.state.response) {\n // case 401:\n // localStorage.clear();\n // window.location.replace(\"/login\");\n // break;\n // case 400:\n // localStorage.clear();\n // this.setState({\n // hidden: false,\n // message: \"Minimum password length is 6\",\n // });\n // break;\n\n // case 422:\n // localStorage.clear();\n // this.setState({\n // hidden: false,\n // message: responseJSON.error.message,\n // });\n // break;\n\n // case 419:\n // NotificationManager.warning(\n // \"Masa trial anda telah habis,Harap menghubungi Admin NAS untuk info lebih lanjut\",\n // \"Peringatan\",\n // 5000\n // );\n // localStorage.clear();\n // break;\n\n // default:\n // break;\n // }\n // });\n // }\n // };\n\n componentDidUpdate() {\n window.onpopstate = (e) => {\n localStorage.clear();\n window.location.replace(\"/login\");\n };\n }\n\n cekDomain = () => {\n let domain = window.location.hostname;\n if(domain === \"app.vokasea.id\"){\n this.setState({ hideCopyright:true })\n } else if (domain === \"areaindonesia.vokasea.id\") {\n this.setState({ hideCopyright:true })\n } else if (domain === \"oshe.vokasea.id\"){\n this.setState({ hideCopyright:true })\n } else if (domain === \"nki.vokasea.id\"){\n this.setState({ hideCopyright:true })\n }\n let whiteLabel = false;\n if(domain=='ypia.nasonline.id'){\n whiteLabel = true;\n } else if (domain=='nusantara.nasonline.id'){\n whiteLabel = true;\n } else if (domain=='pim.nasonline.id'){\n whiteLabel = true;\n } else if (domain=='lsphki.aplikasisertifikasi.com'){\n whiteLabel = true;\n } else if (domain=='migrasiabi.aplikasisertifikasi.com'){\n whiteLabel = true;\n } else if (domain=='abimigrasi.aplikasisertifikasi.com' || domain === 'lspabi.nasonline.id'){\n whiteLabel = true;\n } else if (domain === \"ditekindo.nasonline.id\") {\n whiteLabel = true;\n } else if (domain === \"lspfotografi.nasonline.id\") {\n whiteLabel = true;\n } else if (domain === \"lspmsdmui.nasonline.id\"){\n whiteLabel = true;\n } else if (domain === \"t2k3indonesia.nasonline.id\") {\n whiteLabel = true;\n } else if (domain === \"app.vokasea.id\") {\n whiteLabel = true;\n } else if (domain === \"areaindonesia.vokasea.id\") {\n whiteLabel = true;\n } else if (domain === \"oshe.vokasea.id\") {\n whiteLabel = true;\n } else if (domain === \"nki.vokasea.id\") {\n whiteLabel = true;\n } else if (domain === \"k3ibl.nasonlide.id\"){\n whiteLabel = true;\n } else if (domain === \"lsplik.nasonline.id\"){\n whiteLabel = true;\n }\n\n if (whiteLabel){\n localStorage.setItem(\"whitelabel\", true);\n }\n }\n\n componentDidMount() {\n this.cekDomain();\n const dataPermission = JSON.parse(localStorage.getItem(\"user_permissions\"));\n const dataUser = JSON.parse(localStorage.getItem(\"userdata\"));\n this.setState({\n permission: dataPermission,\n userdata: dataUser,\n });\n }\n\n render() {\n const { Logo } = Brand_LSP(\"login\");\n if (localStorage.getItem(\"logged_in\") == true) {\n return ;\n }\n return (\n \n
\n \n \n \n \n \n \n \n \n {\" \"}\n Selamat datang kembali {this.state.userdata.username}.\n \n \n \n \n \n \n Anda sudah terdaftar di lebih dari 1 role. Silakan\n pilih dahulu role yang akan Anda gunakan.\n \n \n \n\n \n {this.state.permission.map((item, i) => {\n return (\n \n \n \n );\n })}\n \n\n \n \n\n {/* */}\n \n \n \n \n Continue\n \n \n \n {!this.state.hideCopyright && (\n \n \n Copyright © 2021,\n NAS.\n All rights reserved\n \n \n )}\n \n \n \n \n \n \n
\n
\n );\n }\n}\n\nexport default withAlert(MultiRole);\n","import React, { Component } from \"react\";\n// import { PostData } from \"../services/PostData\";\nimport { Redirect, Link } from \"react-router-dom\";\nimport {\n Card,\n CardBody,\n Col,\n Container,\n Alert,\n Form,\n Row,\n // Modal,\n // ModalHeader,\n // ModalBody,\n // ModalFooter,\n} from \"reactstrap\";\nimport { Input, Modal, Button } from \"antd\";\nimport { withAlert } from \"react-alert\";\nimport axios from \"axios\";\nimport LoadingOverlay from \"react-loading-overlay\";\nimport {\n NotificationContainer\n} from \"react-notifications\";\n// import \"../css/All.css\";\n// import \"../css/LSP_Demo.css\";\n\n// import \"../css/Button.css\";\nimport {\n baseUrl,\n path_forgotPass,\n Brand_LSP,\n} from \"../components/config/config\";\n// import { Digest } from \"./Helpers/digest\";\n\nimport \"antd/dist/antd.css\";\n\nclass ForgotPassword extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: false,\n loadingSubmit: false,\n username_email: \"\",\n password: \"\",\n logged_in: false,\n message: \"Silahkan masukan email!\",\n hidden: true,\n email: \"\",\n hideCopyright: false\n };\n }\n\n handleChangeEmail = (e) => {\n this.setState({ hidden:true, email:e.target.value })\n }\n\n validateEmail = (email) => {\n let re = /^\\S+@\\S+\\.\\S+$/;\n return re.test(email);\n }\n\n cekDomain = () => {\n let domain = window.location.hostname;\n if(domain === \"app.vokasea.id\"){\n this.setState({ hideCopyright:true })\n } else if (domain === \"areaindonesia.vokasea.id\") {\n this.setState({ hideCopyright:true })\n } else if (domain === \"oshe.vokasea.id\"){\n this.setState({ hideCopyright:true })\n } else if (domain === \"nki.vokasea.id\"){\n this.setState({ hideCopyright:true })\n }\n }\n\n componentDidMount() {\n this.cekDomain();\n }\n\n toggleNested = () => {\n if(!this.state.email){\n this.setState({ loadingSubmit:false, hidden:false });\n return;\n }\n if(!this.validateEmail(this.state.email)){\n this.setState({ loadingSubmit:false, hidden:false });\n return;\n }\n this.setState({ loadingSubmit:true })\n\n let data = {\n email: this.state.email\n }\n // data.append(\"email\", this.state.email);\n const options = {\n method: \"POST\",\n url: baseUrl + path_forgotPass,\n data: data,\n };\n axios(options).then((response) => {\n this.setState({ loadingSubmit:false })\n if (response.status == 200) {\n Modal.success({\n title: \"SUCCESS\",\n content:\n \"Tautan untuk mengganti password berhasil dikirim ke e-mail, silahkan cek kembali email Anda\",\n onOk() {\n localStorage.clear();\n window.location.replace(\"/login\");\n },\n });\n }else{\n Modal.error({\n title: \"Gagal\",\n content:\n \"Telah terjadi kesalahan silahkan coba lagi nanti!\",\n });\n }\n }).catch((err) => {\n this.setState({ loadingSubmit:true })\n Modal.error({\n title: \"Gagal\",\n content:\n \"Telah terjadi kesalahan silahkan coba lagi nanti!\",\n });\n });\n };\n\n render() {\n if (localStorage.getItem(\"logged_in\") || this.state.logged_in) {\n return ;\n }\n const { Logo } = Brand_LSP(\"login\");\n\n return (\n \n
\n \n \n \n \n \n
\n \n \n \"\"\n \n \n \n \n
Forgot Your Password ?
\n
\n We will sent your email to reset your current\n password\n
\n \n
\n \n \n \n \n \n\n \n \n \n {/* \n SEND REQUEST\n */}\n \n \n \n \n \n \n \n \n \n
\n\n \n \n {!this.state.hideCopyright && (\n \n \n Copyright © 2019,\n NAS.\n All rights reserved\n \n
\n )}\n \n \n \n {/* */}\n \n \n \n
\n
\n
\n );\n }\n}\n\nexport default withAlert(ForgotPassword);\n","import React from 'react';\nimport { Button as Button } from \"reactstrap\";\nimport { Modal, Button as BtnAntd, Alert, Spin } from 'antd';\n\nconst ModalConfirm = (props) => {\n const { loading, open, toggle, submit, message } = props\n return(\n \n \n
\n {\" \"}\n \n submit()}\n disabled={loading}\n >\n Lanjutkan\n \n \n
\n \n )\n}\n\nexport default ModalConfirm;","import {\n Button,\n DatePicker,\n Divider,\n Input,\n Modal,\n notification,\n Radio,\n Select,\n Spin,\n} from \"antd\";\nimport React, { useState, useRef, useEffect } from \"react\";\nimport { Button as ButtonR } from \"reactstrap\";\nimport {\n Brand_LSP,\n path_jobs,\n path_religion,\n baseUrl,\n} from \"../../components/config/config\";\nimport { Form, Row, Col } from \"antd\";\nimport SignatureCanvas from \"react-signature-canvas\";\nimport axios from \"axios\";\nimport moment from \"moment\";\nimport { UploadPicture } from \"../../components/Button/ButtonUploadPicture\";\nimport FormSelectWilayah from \"../../components/Hoc/FormSelectWilayah\";\nimport { multiLanguage } from \"../../components/Language/getBahasa\";\nimport { insertData } from \"../../components/config/actions\";\nimport ModalConfirm from \"./ModalConfirm\";\nconst { Option } = Select;\n// const { Logo } = Brand_LSP(\"demo\");\n\nconst emailReg = /(.+)@(.+){2,}\\.(.+){2,}/;\nconst usernameReg = /^\\S*$/;\n\nconst RegisterAsesi = () => {\n // masterdata\n const [dataTuk, setDataTuk] = useState([]);\n const [dataLsp, setDataLsp] = useState([]);\n const [dataReligion, setDataReligion] = useState([]);\n const [dataJobs, setDataJobs] = useState([]);\n const [dataInstitution, setDataInstitution] = useState([]);\n // dataform\n const [username, setUsername] = useState(\"\");\n const [email, setEmail] = useState(\"\");\n const [firstName, setFirstName] = useState(\"\");\n const [lastName, setLastName] = useState(\"\");\n const [nik, setNik] = useState(null);\n const [telpHome, setTelpHome] = useState(null);\n const [placeBirth, setPlaceBirth] = useState(\"\");\n const [dateBirth, setDateBirth] = useState(null);\n const [gender, setGender] = useState(null);\n const [signature, setSignature] = useState(\"\");\n const [address, setAdress] = useState(\"\");\n const [kebangsaan, setKebangsaan] = useState(\"\");\n const [noTelp, setNoTelp] = useState(null);\n const [zipCode, setZipCode] = useState(null);\n const [religion, setReligion] = useState(\"\");\n const [kelurahanId, setKeluarahanId] = useState(\"\");\n const [pendidikan, setPendidikan] = useState(\"\");\n const [jobs, setJobs] = useState(\"\");\n const [institusi, setInstitusi] = useState(\"\");\n const [jabatan, setJabatan] = useState(\"\");\n const [emailKantor, setEmailKantor] = useState(\"\");\n const [alamatKantor, setAlamatKantor] = useState(\"\");\n const [telpKantor, setTelpKantor] = useState(null);\n const [faxKantor, setFaxKantor] = useState(null);\n const [lsp, setLsp] = useState(\"\");\n const [tuk, setTuk] = useState(\"\");\n const [zipCodeKantor, setZipCodeKantor] = useState(null);\n const [uniqueCode, setUniqeCode] = useState(\"\");\n const [applicantCategory, setApplicantCategory] = useState(\"\");\n // data validation form\n const [vApplicantCategory, setVApplicantCategory] = useState(\"success\");\n const [vUniqueCode, setVUniqueCodee] = useState(\"\");\n const [vUsername, setVUsername] = useState(\"success\");\n const [vEmail, setVEmail] = useState(\"success\");\n const [vFirstName, setVFirstName] = useState(\"success\");\n const [vLastName, setVLastName] = useState(\"success\");\n const [vNik, setVNik] = useState(\"success\");\n const [vTelpHome, setVTelpHome] = useState(\"success\");\n const [vPlaceBirth, setVPlaceBirth] = useState(\"success\");\n const [vDateBirth, setVDateBirth] = useState(\"success\");\n const [vGender, setVGender] = useState(\"success\");\n const [vSignature, setVSignature] = useState(\"success\");\n const [vAddress, setVAdress] = useState(\"success\");\n const [vKebangsaan, setVKebangsaan] = useState(\"success\");\n const [vNoTelp, setVNoTelp] = useState(\"success\");\n const [vZipCode, setVZipCode] = useState(\"success\");\n const [vReligion, setVReligion] = useState(\"success\");\n const [vKelurahanId, setVKeluarahanId] = useState(\"success\");\n const [vPendidikan, setVPendidikan] = useState(\"success\");\n const [vJobs, setVJobs] = useState(\"success\");\n const [vInstitusi, setVInstitusi] = useState(\"success\");\n const [vJabatan, setVJabatan] = useState(\"success\");\n const [vEmailKantor, setVEmailKantor] = useState(\"success\");\n const [vAlamatKantor, setVAlamatKantor] = useState(\"success\");\n const [vLsp, setVLsp] = useState(\"success\");\n const [vTuk, setVTuk] = useState(\"success\");\n const [vTelpKantor, setVTelpKantor] = useState(\"success\");\n const [vFaxKantor, setVFaxKantor] = useState(\"success\");\n const [vZipCodeKantor, setVZipCodeKantor] = useState(\"success\");\n // validation message\n const [vmEmail, setVmEmail] = useState(\"Silahkan masukan email!\");\n const [vmEmailKantor, setVmEmailKantor] = useState(\n \"Silahkan masukan email kantor!\"\n );\n const [vmUsername, setVmUsername] = useState(\"Silahkan masukan nama pengguna\");\n const [vmNik, setVmNik] = useState(\"Silahkan masukan nik\");\n // config delay\n const toUsername = useRef(null);\n const [delayUsernamePass, setDelayUsernamePas] = useState(false);\n const toEmail = useRef(null);\n const [delayEmailPass, setDelayEmailPas] = useState(false);\n // state component\n const [uCodeValid, setUCodeValid] = useState(false);\n const [openSignature, setOpenSignature] = useState(false);\n const [loadingSubmit, setLoadingSubmit] = useState(false);\n const [loadingConfirm, setLoadingConfirm] = useState(false);\n const [openModalConfirm, setOpenModalConfirm] = useState(false);\n const [messageConfirm, setMessageConfirm] = useState(\"\");\n const [logoLSP, setLogoLSP] = useState(\"\");\n const [logoBrand, setLogoBrand] = useState(\"\");\n const [whiteLabel, setWhiteLabel] = useState(false);\n const [isAbi, setIsAbi] = useState(false);\n const refPad = useRef(null);\n\n const disabledDate = (current) => {\n return current && current > moment().subtract(14, \"year\");\n };\n\n useEffect(() => {\n // lsp_abi\n let domain = window.location.hostname;\n const defaultLogo = Brand_LSP(\"login\");\n let currentLogo = defaultLogo.Logo;\n if (domain == \"ypia.nasonline.id\") {\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"ypia\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp(\"202304d5-78d9-4290-9ea2-adbb42b3a397\");\n checkLspCode(\"LSP-YPIA-929\");\n } else if (domain == \"nusantara.nasonline.id\") {\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"login\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp(\"38d18869-6035-4836-8af0-05bafa26ba12\");\n checkLspCode(\"LSP-NUSANTARA-609\");\n } else if (domain == \"pim.nasonline.id\") {\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_pim\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp(\"86ebf58a-f52d-4b15-9e2c-de28062ef3ae\");\n checkLspCode(\"LSP-PIM-468\");\n } else if (domain == \"lsphki.aplikasisertifikasi.com\") {\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_hki\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('046c8c3d-4747-4844-9a8e-b5e052a8a297');\n checkLspCode('LSP-HSI-349');\n } else if(domain=='migrasiabi.aplikasisertifikasi.com'){\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_abi\");\n currentLogo = lspLogo.Logo;\n setIsAbi(true);\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('cff88759-27e6-4708-8097-27ed283505b9');\n checkLspCode('LSP-ABI-927');\n } else if(domain=='abimigrasi.aplikasisertifikasi.com' || domain === 'lspabi.nasonline.id'){\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_abi\");\n currentLogo = lspLogo.Logo;\n setIsAbi(true);\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('cff88759-27e6-4708-8097-27ed283505b9');\n checkLspCode('LSP-ABI-927');\n } else if (domain === \"ditekindo.nasonline.id\") {\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_ditekindo\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('0dadb11b-fbf6-4211-a0aa-9b7b59f38264');\n checkLspCode('DITEKINDO');\n } else if (domain === \"lspfotografi.nasonline.id\") {\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"fotografi\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('de14d2f4-e64a-4fa2-bf94-0e836572972c');\n checkLspCode('LSP-FOTOGRAFI-INDONESIA-791');\n } else if (domain === \"lspmsdmui.nasonline.id\") {\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_msdm\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('a98b3e25-8e7e-494e-9062-075d88a25b81');\n checkLspCode('LSP-MSDMUI-483');\n } else if (domain === \"t2k3indonesia.nasonline.id\") {\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_t2k3\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('1b727e72-3a4d-47f4-8ee9-1a3925b1e701');\n checkLspCode('LSP-T2K3');\n } else if (domain === \"app.vokasea.id\") {\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_den\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('d772454a-03d8-4081-8c4c-e2e49889a2ca');\n checkLspCode('DAYA-EDUVOKASI-NUSANTARA-506');\n } else if (domain === \"areaindonesia.vokasea.id\") {\n this.setState({ hideCopyright: true });\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_area\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('36c28bfc-57c9-4fd9-9bb6-02825a79eef1');\n checkLspCode('LSP-AREA-INDONESIA-751');\n } else if (domain === \"oshe.vokasea.id\") {\n this.setState({ hideCopyright: true });\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_oshe\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('cd9a285c-37d2-47e1-ad99-a699b21dc4b7');\n checkLspCode('LSP-KL-OSHE-NST-635');\n } else if (domain === \"nki.vokasea.id\") {\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_nki\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('af41de3e-0eb8-41bd-8319-4e5469b0d1f2');\n checkLspCode('LSP-NKI-588');\n } else if (domain === \"k3ibl.nasonlide.id\"){\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"k3ibl\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('1a4aab96-e073-458f-a883-d4a91d0ffe6b');\n checkLspCode('LSP-K3-INDUSTRI-BUANA-LESTARI-911');\n } else if (domain === \"lsplik.nasonline.id\"){\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_lik\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('07d22ec4-f149-4d6b-8243-3ef0a1b45c13');\n checkLspCode('LSP-LINGKUNGAN-KEHUTANAN-635');\n }\n\n setLogoBrand(currentLogo);\n }, []);\n\n useEffect(() => {\n if (whiteLabel && logoLSP) {\n setLogoBrand(logoLSP);\n }\n }, [logoLSP, whiteLabel]);\n\n useEffect(() => {\n if (lsp && isAbi){\n getInstitution();\n }else{\n setDataInstitution([])\n }\n }, [lsp])\n\n useEffect(() => {\n getReligion();\n getJobs();\n getLSP();\n }, []);\n\n useEffect(() => {\n if (lsp) {\n getDataTuk();\n }\n }, [lsp]);\n\n useEffect(() => {\n if (username) {\n confToUsername();\n }\n\n return () => {\n if (toUsername.current) {\n clearTimeout(toUsername.current);\n }\n };\n }, [username]);\n\n useEffect(() => {\n if (email) {\n confToEmail();\n }\n return () => {\n if (toEmail.current) {\n clearTimeout(toEmail.current);\n }\n };\n }, [email]);\n\n useEffect(() => {\n if (delayEmailPass) {\n validateEmail();\n }\n }, [delayEmailPass]);\n\n useEffect(() => {\n if (delayUsernamePass) {\n validateUsername();\n }\n }, [delayUsernamePass]);\n\n const confToUsername = async () => {\n await setDelayUsernamePas(false);\n if (!toUsername.current) {\n toUsername.current = setTimeout(() => setDelayUsername(), 2000);\n } else {\n clearTimeout(toUsername.current);\n toUsername.current = setTimeout(() => setDelayUsername(), 2000);\n }\n };\n\n const setDelayUsername = () => {\n setDelayUsernamePas(true);\n };\n\n const setDelayEmail = () => {\n setDelayEmailPas(true);\n };\n\n const confToEmail = async () => {\n await setDelayEmailPas(false);\n if (!toEmail.current) {\n toEmail.current = setTimeout(() => setDelayEmail(), 2000);\n } else {\n await clearTimeout(toEmail.current);\n toEmail.current = setTimeout(() => setDelayEmail(), 2000);\n }\n };\n\n const validateUsername = async (pasIt = false) => {\n if (!pasIt) {\n if (!delayUsernamePass) {\n return;\n }\n }\n setDelayUsernamePas(false);\n const path = `/public/users_validation?username=${username}`;\n const result = await axios(baseUrl + path)\n .then((response) => response)\n .catch((error) => error);\n\n if (result.data && result.data.responseStatus == \"SUCCESS\") {\n return true;\n }\n if (result.response.status == 400) {\n setVUsername(\"error\");\n setVmUsername(\"nama pengguna sudah terdaftar!\");\n }\n };\n\n const validateEmail = async (pasIt = false) => {\n if (!pasIt) {\n if (!delayEmailPass) {\n return;\n }\n }\n setDelayEmailPas(false);\n const path = `/public/users_validation?email=${email}`;\n const result = await axios(baseUrl + path)\n .then((response) => response)\n .catch((error) => error);\n if (result.data && result.data.responseStatus == \"SUCCESS\") {\n return true;\n }\n if (result.response.status == 400) {\n setVEmail(\"error\");\n setVmEmail(\"Email sudah terdaftar!\");\n return false;\n }\n };\n\n const checkLogoLSP = (path) => {\n let logoLSP = path;\n\n if (logoLSP.includes(\"https\")) {\n setLogoLSP(logoLSP);\n return;\n }\n\n if (\n logoLSP.includes(\"protected\") ||\n logoLSP.includes(\"files\") ||\n logoLSP.includes(\"logo\")\n ) {\n logoLSP = baseUrl + path;\n }\n if (logoLSP.length == 255) {\n return;\n }\n setLogoLSP(logoLSP);\n };\n\n const checkLspCode = async (code) => {\n axios(`${baseUrl}/public/lsp/${code}`)\n .then((response) => {\n setVUniqueCodee(\"success\");\n setUCodeValid(true);\n const resDataLSP = response.data.data;\n if (resDataLSP) {\n setLsp(resDataLSP.lsp_id);\n checkLogoLSP(resDataLSP.logo);\n }\n })\n .catch((err) => {\n if (\n err.response &&\n err.response.data &&\n err.response.data.error.message\n ) {\n if (err.response.data.error.code == 404) {\n // console.log('cek err', err.response.data.error.message)\n }\n }\n\n setVUniqueCodee(\"error\");\n });\n };\n\n const handleLspCode = (value) => {\n setVUniqueCodee(\"error\");\n setLogoLSP(\"\");\n setUCodeValid(false);\n if (value.length > 5) {\n checkLspCode(value);\n }\n };\n\n const getReligion = async () => {\n axios(`${baseUrl}/public${path_religion}?limit=100`).then((response) => {\n setDataReligion(response.data.data);\n });\n };\n\n const getInstitution = async () => {\n axios(`${baseUrl}/public/institution?lsp_id=${lsp}&limit=unlimited`).then((response) => {\n setDataInstitution(response.data.data);\n });\n }\n\n const getJobs = async () => {\n axios(`${baseUrl}/public/${path_jobs}?limit=100`).then((response) => {\n setDataJobs(response.data.data);\n });\n };\n\n const getLSP = async () => {\n axios(`${baseUrl}/public/lsp?limit=unlimited`).then((response) => {\n setDataLsp(response.data.data);\n });\n };\n\n const getDataTuk = async () => {\n axios(`${baseUrl}public/tuks?lsp_id=${lsp}&limit=unlimited`).then(\n (response) => {\n setDataTuk(response.data.data);\n }\n );\n };\n\n const handleChangeUsername = (value) => {\n setUsername(value);\n if (!usernameReg.test(value)) {\n setVUsername(\"error\");\n setVmUsername(\"Tidak boleh menggunakan spasi\");\n return;\n }\n\n setVUsername(\"success\");\n setVmUsername(\"Silahkan masukan nama pengguna\");\n };\n\n const handleChangeEmail = (value) => {\n setEmail(value);\n if (!emailReg.test(value)) {\n setVEmail(\"error\");\n setVmEmail(\"Email tidak valid\");\n return;\n }\n setVEmail(\"success\");\n setVmEmail(\"Silahkan masukan email\");\n };\n\n const handleChangeEmailKantor = (value) => {\n setEmailKantor(value);\n if (!emailReg.test(value)) {\n setVEmailKantor(\"error\");\n setVmEmailKantor(\"Email kantor tidak valid\");\n return;\n }\n setVEmailKantor(\"success\");\n setVmEmailKantor(\"Silahkan masukan email\");\n };\n\n const handleChangeNik = (e) => {\n setNik(e.target.value);\n setVNik(\"success\");\n setVmNik(\"Silahkan masukan NIK\");\n };\n\n const handleOkSignature = () => {\n setSignature(refPad.current.getTrimmedCanvas().toDataURL(\"image/png\"));\n setOpenSignature(false);\n setVSignature(\"success\");\n };\n\n const handleUploadSignature = (upload) => {\n setSignature(upload.base64);\n setOpenSignature(false);\n setVSignature(\"success\");\n };\n\n const handleBack = () => {\n localStorage.clear();\n window.location.replace(\"/login\");\n };\n\n const handleGetLspName = (lsp_id) => {\n if (!lsp_id) {\n return \"\";\n }\n\n let index = dataLsp.findIndex((val) => val.lsp_id == lsp_id);\n\n if (index < 0) {\n return \"\";\n }\n return dataLsp[index].lsp_name;\n };\n\n const handleGetTukname = (tuk_id) => {\n if (!tuk_id) {\n return \"\";\n }\n\n let index = dataTuk.findIndex((val) => val.tuk_id == tuk_id);\n\n if (index < 0) {\n return \"\";\n }\n return dataTuk[index].tuk_name;\n };\n\n const toggleConfirm = () => {\n setLoadingConfirm(false);\n setOpenModalConfirm(!openModalConfirm);\n };\n\n const handleValidation = async () => {\n let messageConfirm = `Asesi di lsp ${handleGetLspName(lsp)}`;\n\n if (loadingSubmit) {\n setLoadingSubmit(false);\n return;\n }\n setLoadingSubmit(true);\n let error = false;\n\n const valEMail = await validateEmail(true);\n const valUsername = await validateUsername(true);\n\n if (!valEMail) {\n error = true;\n }\n\n if (!valUsername) {\n error = true;\n }\n\n if (!username || !usernameReg.test(username)) {\n error = true;\n setVUsername(\"error\");\n }\n\n if (!email || !emailReg.test(email)) {\n error = true;\n setVEmail(\"error\");\n }\n\n if (!firstName) {\n setVFirstName(\"error\");\n error = true;\n }\n\n if (!nik) {\n setVNik(\"error\");\n error = true;\n }\n\n // if (nik && nik.length < 16) {\n // error = true;\n // setVmNik(\"Masukan nik yang valid\");\n // setVNik(\"error\");\n // }\n\n // if (nik && nik.length > 16) {\n // error = true;\n // setVmNik(\"Masukan nik yang valid\");\n // setVNik(\"error\");\n // }\n\n if (!placeBirth) {\n error = true;\n setVPlaceBirth(\"error\");\n }\n\n if (!dateBirth) {\n error = true;\n setVDateBirth(\"error\");\n }\n\n if (!gender) {\n error = true;\n setVGender(\"error\");\n }\n\n if (!signature) {\n error = true;\n setVSignature(\"error\");\n }\n\n // if (!address) {\n // error = true;\n // setVAdress(\"error\");\n // }\n\n // if (!kebangsaan) {\n // error = true;\n // setVKebangsaan(\"error\");\n // }\n\n if (!noTelp) {\n error = true;\n setVNoTelp(\"error\");\n }\n\n // if (!zipCode) {\n // error = true;\n // setVZipCode(\"error\");\n // }\n\n // if (!religion) {\n // error = true;\n // setVReligion(\"error\");\n // }\n\n // if (!pendidikan) {\n // error = true;\n // setVPendidikan(\"error\");\n // }\n\n // if (!kelurahanId) {\n // error = true;\n // setVKeluarahanId(\"error\");\n // }\n\n if (!jobs) {\n error = true;\n setVJobs(\"error\");\n }\n\n // if (jobs !==\"1\"){\n // if (!institusi) {\n // error = true;\n // setVInstitusi(\"error\");\n // }\n \n // if (!jabatan) {\n // error = true;\n // setVJabatan(\"error\");\n // }\n \n // if (!emailKantor) {\n // error = true;\n // setVEmailKantor(\"error\");\n // }\n \n // if (!telpHome) {\n // error = true;\n // setVTelpHome(\"error\");\n // }\n \n // if (!telpKantor) {\n // error = true;\n // setVTelpKantor(\"error\");\n // }\n \n // if (!faxKantor) {\n // error = true;\n // setVFaxKantor(\"error\");\n // }\n \n // if (!alamatKantor) {\n // error = true;\n // setVAlamatKantor(\"error\");\n // }\n \n // if (!zipCodeKantor) {\n // error = true;\n // setVZipCodeKantor(\"error\");\n // }\n // }\n\n if (!lsp || !uCodeValid) {\n error = true;\n setVLsp(\"error\");\n setVUniqueCodee(\"error\");\n }\n\n // if(!tuk){\n // error = true;\n // setVTuk('error');\n // }\n\n if (error) {\n setLoadingSubmit(false);\n notification.error({\n placement: \"bottomRight\",\n message: \"Gagal!\",\n description:\n \"Terdapat data yang kosong, silahkan cek kembali data anda!\",\n });\n return;\n }\n setMessageConfirm(messageConfirm);\n setOpenModalConfirm(true);\n // handleSubmitData();\n };\n\n const handleSubmitData = async () => {\n if (loadingConfirm) {\n return;\n }\n setLoadingConfirm(true);\n const payloadApplicant = {\n username: username,\n email: email,\n first_name: firstName,\n // last_name: lastName,\n nik: nik,\n place_of_birth: placeBirth,\n date_of_birth: dateBirth,\n gender_code: gender,\n signature: signature,\n // address: address,\n // kebangsaan: kebangsaan,\n contact: noTelp,\n // kode_pos: zipCode,\n // religion: religion,\n // kelurahan_id: kelurahanId,\n // pendidikan_terakhir: pendidikan,\n jobs_code: jobs,\n lsp_id: lsp,\n role_code: \"APL\",\n }\n\n // if (jobs !== \"1\") {\n // payloadApplicant.institution = institusi;\n // payloadApplicant.jabatan = jabatan;\n // payloadApplicant.email_pekerjaan = emailKantor;\n // payloadApplicant.telepon_pekerjaan = telpKantor;\n // payloadApplicant.fax_pekerjaan = faxKantor;\n // payloadApplicant.alamat_pekerjaan = alamatKantor;\n // payloadApplicant.kode_pos_pekerjaan = zipCodeKantor;\n // }\n\n if (telpHome){\n payloadApplicant.telepon_rumah = telpHome;\n }\n\n if (applicantCategory){\n payloadApplicant.applicant_category = applicantCategory;\n }\n\n insertData(\"public/users/applicants\", payloadApplicant)\n .then((res) => {\n localStorage.setItem(\"email\", email);\n setLoadingConfirm(false);\n setLoadingSubmit(false);\n window.location.replace(\"/confirm\");\n return;\n })\n .catch((error) => {\n setLoadingSubmit(false);\n setLoadingConfirm(false);\n switch (error.data.error.code) {\n case 400:\n notification.error({\n placement: \"bottomRight\",\n message: \"Gagal!\",\n description: error.data.error.message,\n });\n break;\n\n case 409:\n notification.error({\n placement: \"bottomRight\",\n message: \"Gagal!\",\n description: multiLanguage.alertAlready,\n });\n break;\n\n default:\n notification.error({\n placement: \"bottomRight\",\n message: \"Gagal!\",\n description: \"Terjadi kesalahan silahkan coba lagi!\",\n });\n break;\n }\n });\n };\n\n return (\n
\n \n\n setOpenSignature(false)}\n okText=\"Submit\"\n cancelText=\"Batal\"\n >\n \n \n
\n refPad.current.clear()}\n type=\"danger\"\n style={{ marginRight: \"10px\" }}\n >\n \n \n \n \n \n \n \n
\n Data Akun\n \n \n \n handleChangeUsername(e.target.value)}\n />\n \n \n \n \n handleChangeEmail(e.target.value)}\n />\n \n \n \n Data Pribadi\n \n \n \n {\n setFirstName(e.target.value), setVFirstName(\"success\");\n }}\n />\n \n \n {/* \n \n setLastName(e.target.value)}\n />\n \n */}\n \n \n handleChangeNik(e)}\n />\n \n \n \n \n {\n setPlaceBirth(e.target.value), setVPlaceBirth(\"success\");\n }}\n />\n \n \n \n \n {/* \n \n {\n setTelpHome(e.target.value), setVTelpHome(\"success\");\n }}\n onKeyDown={(e) => {\n if (\n e.key !== \"Backspace\" &&\n e.key !== \"Tab\" &&\n e.key !== \"ArrowLeft\" &&\n e.key !== \"ArrowRight\"\n ) {\n if (telpHome) {\n if (telpHome.length == 20) {\n e.preventDefault();\n }\n }\n }\n }}\n type=\"number\"\n />\n \n */}\n \n \n \n {\n setDateBirth(e), setVDateBirth(\"success\");\n }}\n value={dateBirth}\n style={{ width: \"100%\" }}\n />\n \n \n \n \n {\n setNoTelp(e.target.value), setVNoTelp(\"success\");\n }}\n onKeyDown={(e) => {\n if (\n e.key !== \"Backspace\" &&\n e.key !== \"Tab\" &&\n e.key !== \"ArrowLeft\" &&\n e.key !== \"ArrowRight\"\n ) {\n if (noTelp) {\n if (noTelp.length == 20) {\n e.preventDefault();\n }\n }\n }\n }}\n type=\"number\"\n />\n \n \n \n \n {\n setGender(e.target.value), setVGender(\"success\");\n }}\n >\n Laki-laki\n Perempuan\n \n \n \n \n \n \n \n \n {\n setJobs(e), !e ? setVJobs(\"error\") : setVJobs(\"success\");\n }}\n >\n \n {dataJobs.map((d, index) => (\n \n ))}\n \n \n \n \n \n {signature && (\n
\n \n
\n Tanda tangan ini akan digunakan di dalam dokumen asesmen.\n setOpenSignature(!openSignature)}\n >\n Ganti ?\n \n
\n
\n )}\n\n {!signature && (\n setOpenSignature(!openSignature)}\n >\n Tanda Tangan\n \n )}\n \n \n {isAbi && (\n \n \n setApplicantCategory(e)}\n >\n \n \n \n \n \n \n )}\n {/* \n \n {\n setAdress(e.target.value), setVAdress(\"success\");\n }}\n >\n \n */}\n \n \n {/* \n \n {\n setKebangsaan(e),\n !e ? setVKebangsaan(\"error\") : setVKebangsaan(\"success\");\n }}\n placeholder=\"Pilih kebangsaan\"\n >\n \n \n \n \n \n \n \n \n {\n setZipCode(e.target.value), setVZipCode(\"success\");\n }}\n onKeyDown={(e) => {\n if (\n e.key !== \"Backspace\" &&\n e.key !== \"Tab\" &&\n e.key !== \"ArrowLeft\" &&\n e.key !== \"ArrowRight\"\n ) {\n if (zipCode) {\n if (zipCode.length == 5) {\n e.preventDefault();\n }\n }\n }\n }}\n />\n \n */}\n \n \n {/* \n \n {\n setReligion(e),\n !e ? setVReligion(\"error\") : setVReligion(\"success\");\n }}\n >\n \n {dataReligion.map((d, index) => (\n \n ))}\n \n \n \n \n \n {\n setPendidikan(e),\n !e ? setVPendidikan(\"error\") : setVPendidikan(\"success\");\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n */}\n \n {/* \n \n {\n setKeluarahanId(val), setVKeluarahanId(\"success\");\n }}\n kelurahan_id={kelurahanId}\n />\n \n */}\n \n {/* Data Pekerjaan */}\n \n {/* \n \n {\n setJobs(e), !e ? setVJobs(\"error\") : setVJobs(\"success\");\n }}\n >\n \n {dataJobs.map((d, index) => (\n \n ))}\n \n \n */}\n {jobs ===\"X1\" && (\n \n \n \n {isAbi ? (\n \n ) : (\n {\n setInstitusi(e.target.value), setVInstitusi(\"success\");\n }}\n />\n )}\n \n \n \n \n \n {\n setJabatan(e.target.value), setVJabatan(\"success\");\n }}\n />\n \n \n \n )}\n \n {jobs === \"X1\" && (\n \n \n \n \n handleChangeEmailKantor(e.target.value)}\n />\n \n \n \n \n {\n setTelpKantor(e.target.value), setVTelpKantor(\"success\");\n }}\n onKeyDown={(e) => {\n if (\n e.key !== \"Backspace\" &&\n e.key !== \"Tab\" &&\n e.key !== \"ArrowLeft\" &&\n e.key !== \"ArrowRight\"\n ) {\n if (telpKantor) {\n if (telpKantor.length == 20) {\n e.preventDefault();\n }\n }\n }\n }}\n />\n \n \n \n \n {\n setAlamatKantor(e.target.value), setVAlamatKantor(\"success\");\n }}\n >\n \n \n \n \n \n \n {\n setFaxKantor(e.target.value), setVFaxKantor(\"success\");\n }}\n >\n \n \n \n \n {\n setZipCodeKantor(e.target.value),\n setVZipCodeKantor(\"success\");\n }}\n onKeyDown={(e) => {\n if (\n e.key !== \"Backspace\" &&\n e.key !== \"Tab\" &&\n e.key !== \"ArrowLeft\" &&\n e.key !== \"ArrowRight\"\n ) {\n if (zipCodeKantor) {\n if (zipCodeKantor.length == 5) {\n e.preventDefault();\n }\n }\n }\n }}\n />\n \n \n \n \n )}\n {!whiteLabel && (\n \n Data LSP\n \n )}\n \n {!whiteLabel && (\n \n \n \n {\n setUniqeCode(e.target.value),\n setVUniqueCodee(\"success\"),\n handleLspCode(e.target.value);\n }}\n />\n \n {logoLSP && (\n
\n \n
\n )}\n \n {uCodeValid && (\n \n \n \n {\n setLsp(e),\n !e ? setVLsp(\"error\") : setVLsp(\"success\"),\n setDataTuk([]),\n setTuk(\"\");\n }}\n >\n \n {dataLsp.map((d, index) => (\n \n ))}\n \n \n \n {/* \n \n \n \n */}\n \n )}\n
\n )}\n \n \n
\n \n \n {\" Login Page\"}\n \n \n \n {\" Register\"}\n \n \n
\n
\n );\n};\n\nexport default RegisterAsesi;\n","import { Button, DatePicker, Divider, Input, Modal, notification, Radio, Select, Spin } from \"antd\";\nimport React, { useState, useRef, useEffect } from \"react\";\nimport { Button as ButtonR } from \"reactstrap\";\nimport { Brand_LSP, path_jobs, path_religion, baseUrl } from \"../../components/config/config\";\nimport { Form, Row, Col } from \"antd\";\nimport SignatureCanvas from \"react-signature-canvas\";\nimport axios from \"axios\";\nimport moment from \"moment\";\nimport { UploadPicture } from \"../../components/Button/ButtonUploadPicture\";\nimport FormSelectWilayah from \"../../components/Hoc/FormSelectWilayah\";\nimport { multiLanguage } from \"../../components/Language/getBahasa\";\nimport { insertData } from \"../../components/config/actions\";\nimport ModalConfirm from \"./ModalConfirm\";\nconst { Option } = Select\n// const { Logo } = Brand_LSP(\"demo\");\n\nconst emailReg = /(.+)@(.+){2,}\\.(.+){2,}/;\nconst usernameReg = /^\\S*$/;\n\nconst RegistrasiAsesor = () => {\n // masterdata\n const [dataLsp, setDataLsp] = useState([]);\n const [dataReligion, setDataReligion] = useState([]);\n const [dataJobs, setDataJobs] = useState([]);\n // dataform\n const [username, setUsername] = useState('');\n const [email, setEmail] = useState('');\n const [firstName, setFirstName] = useState('');\n const [lastName, setLastName] = useState('');\n const [nik, setNik] = useState('');\n const [placeBirth, setPlaceBirth] = useState('');\n const [dateBirth, setDateBirth] = useState(null);\n const [gender, setGender] = useState(null);\n const [signature, setSignature] = useState('');\n const [noTelp, setNoTelp] = useState('');\n const [religion, setReligion] = useState('');\n const [kelurahanId, setKeluarahanId] = useState('');\n const [pendidikan, setPendidikan] = useState('');\n const [jobs, setJobs] = useState('');\n const [lsp, setLsp] = useState('');\n const [noRegistrasi, setNoRegistrasi] = useState('');\n const [uniqueCode, setUniqeCode] = useState('');\n const [loadingConfirm, setLoadingConfirm] = useState(false);\n // data validation form\n const [vUniqueCode, setVUniqueCodee] = useState('');\n const [vUsername, setVUsername] = useState('success');\n const [vEmail, setVEmail] = useState('success');\n const [vFirstName, setVFirstName] = useState('success');\n const [vLastName, setVLastName] = useState('success');\n const [vNik, setVNik] = useState('success');\n const [vPlaceBirth, setVPlaceBirth] = useState('success');\n const [vDateBirth, setVDateBirth] = useState('success');\n const [vGender, setVGender] = useState('success');\n const [vSignature, setVSignature] = useState('success');\n const [vNoTelp, setVNoTelp] = useState('success');\n const [vReligion, setVReligion] = useState('success');\n const [vKelurahanId, setVKeluarahanId] = useState('success');\n const [vPendidikan, setVPendidikan] = useState('success');\n const [vJobs, setVJobs] = useState('success');\n const [vLsp, setVLsp] = useState('success');\n const [vNoregistrasi, setVNoRegistrasi] = useState('success');\n // validation message\n const [vmEmail, setVmEmail] = useState('Silahkan masukan email!');\n const [vmUsername, setVmUsername] = useState('Silahkan masukan nama pengguna');\n const [vmNik, setVmNik] = useState('Silahkan masukan nik');\n // config delay\n const toUsername = useRef(null);\n const [delayUsernamePass, setDelayUsernamePas] = useState(false);\n const toEmail = useRef(null);\n const [delayEmailPass, setDelayEmailPas] = useState(false);\n // state component\n const [uCodeValid, setUCodeValid] = useState(false)\n const [openSignature, setOpenSignature] = useState(false);\n const [loadingSubmit, setLoadingSubmit] = useState(false)\n const [openModalConfirm, setOpenModalConfirm] = useState(false)\n const [messageConfirm, setMessageConfirm] = useState('');\n const [logoLSP, setLogoLSP] = useState('')\n const [logoBrand, setLogoBrand] = useState('');\n const [whiteLabel, setWhiteLabel] = useState(false);\n const refPad = useRef(null);\n\n useEffect(() => {\n let domain = window.location.hostname;\n const defaultLogo = Brand_LSP(\"login\");\n let currentLogo = defaultLogo.Logo;\n if(domain=='ypia.nasonline.id'){\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"ypia\");\n currentLogo = lspLogo.Logo;\n setLsp('202304d5-78d9-4290-9ea2-adbb42b3a397');\n setWhiteLabel(true);\n setUCodeValid(true);\n checkLspCode('LSP-YPIA-929');\n } else if(domain=='nusantara.nasonline.id'){\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"login\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('38d18869-6035-4836-8af0-05bafa26ba12');\n // LSP-NUSANTARA-609\n checkLspCode('LSP-NUSANTARA-609');\n } else if(domain=='pim.nasonline.id'){\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_pim\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('86ebf58a-f52d-4b15-9e2c-de28062ef3ae');\n // LSP-NUSANTARA-609\n checkLspCode('LSP-PIM-468');\n } else if(domain=='lsphki.aplikasisertifikasi.com'){\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_hki\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('046c8c3d-4747-4844-9a8e-b5e052a8a297');\n checkLspCode('LSP-HSI-349');\n } else if(domain=='migrasiabi.aplikasisertifikasi.com'){\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_abi\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('cff88759-27e6-4708-8097-27ed283505b9');\n checkLspCode('LSP-ABI-927');\n } else if(domain=='abimigrasi.aplikasisertifikasi.com' || domain === 'lspabi.nasonline.id'){\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_abi\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('cff88759-27e6-4708-8097-27ed283505b9');\n checkLspCode('LSP-ABI-927');\n } else if (domain === \"ditekindo.nasonline.id\") {\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_ditekindo\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('0dadb11b-fbf6-4211-a0aa-9b7b59f38264');\n checkLspCode('DITEKINDO');\n } else if (domain === \"lspfotografi.nasonline.id\") {\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"fotografi\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('de14d2f4-e64a-4fa2-bf94-0e836572972c');\n checkLspCode('LSP-FOTOGRAFI-INDONESIA-791');\n } else if (domain === \"lspmsdmui.nasonline.id\") {\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_msdm\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('a98b3e25-8e7e-494e-9062-075d88a25b81');\n checkLspCode('LSP-MSDMUI-483');\n } else if (domain === \"t2k3indonesia.nasonline.id\") {\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_t2k3\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('1b727e72-3a4d-47f4-8ee9-1a3925b1e701');\n checkLspCode('LSP-T2K3');\n } else if (domain === \"app.vokasea.id\") {\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_den\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('d772454a-03d8-4081-8c4c-e2e49889a2ca');\n checkLspCode('DAYA-EDUVOKASI-NUSANTARA-506');\n } else if (domain === \"areaindonesia.vokasea.id\") {\n this.setState({ hideCopyright: true });\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_area\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('36c28bfc-57c9-4fd9-9bb6-02825a79eef1');\n checkLspCode('LSP-AREA-INDONESIA-751');\n } else if (domain === \"oshe.vokasea.id\") {\n this.setState({ hideCopyright: true });\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_oshe\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('cd9a285c-37d2-47e1-ad99-a699b21dc4b7');\n checkLspCode('LSP-KL-OSHE-NST-635');\n } else if (domain === \"nki.vokasea.id\") {\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_nki\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('af41de3e-0eb8-41bd-8319-4e5469b0d1f2');\n checkLspCode('LSP-NKI-588');\n } else if (domain === \"k3ibl.nasonlide.id\"){\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"k3ibl\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('1a4aab96-e073-458f-a883-d4a91d0ffe6b');\n checkLspCode('LSP-K3-INDUSTRI-BUANA-LESTARI-911');\n } else if (domain === \"lsplik.nasonline.id\"){\n localStorage.setItem(\"whitelabel\", true);\n const lspLogo = Brand_LSP(\"lsp_lik\");\n currentLogo = lspLogo.Logo;\n setWhiteLabel(true);\n setUCodeValid(true);\n setLsp('07d22ec4-f149-4d6b-8243-3ef0a1b45c13');\n checkLspCode('LSP-LINGKUNGAN-KEHUTANAN-635');\n }\n\n setLogoBrand(currentLogo);\n }, []);\n\n\n useEffect(() => {\n if(whiteLabel && logoLSP){\n setLogoBrand(logoLSP);\n }\n }, [logoLSP, whiteLabel])\n\n useEffect(() => {\n getReligion();\n getJobs();\n getLSP();\n }, []);\n\n const disabledDate = (current) => {\n return current && current > moment().subtract(15, 'year');\n }\n \n useEffect(() => {\n if(username){\n confToUsername();\n }\n\n return () => {\n if(toUsername.current){\n clearTimeout(toUsername.current)\n }\n }\n }, [username]);\n\n useEffect(() => {\n if(email){\n confToEmail();\n }\n return () => {\n if(toEmail.current){\n clearTimeout(toEmail.current)\n }\n }\n }, [email]);\n\n useEffect(() => {\n if(delayEmailPass){\n validateEmail();\n }\n }, [delayEmailPass])\n\n useEffect(() => {\n if(delayUsernamePass){\n validateUsername();\n }\n }, [delayUsernamePass])\n\n const confToUsername = async () => {\n await setDelayUsernamePas(false);\n if(!toUsername.current){\n toUsername.current = setTimeout(() => setDelayUsername(), 2000)\n }else{\n clearTimeout(toUsername.current);\n toUsername.current = setTimeout(() => setDelayUsername(), 2000)\n }\n }\n \n\n const setDelayUsername = () => {\n setDelayUsernamePas(true)\n }\n\n const setDelayEmail = () => {\n setDelayEmailPas(true)\n }\n\n const confToEmail = async () => {\n await setDelayEmailPas(false);\n if(!toEmail.current){\n toEmail.current = setTimeout(() => setDelayEmail(), 2000)\n }else{\n await clearTimeout(toEmail.current);\n toEmail.current = setTimeout(() => setDelayEmail(), 2000)\n }\n }\n\n const validateUsername = async (pasIt = false) => {\n if(!pasIt){\n if(!delayUsernamePass){\n return;\n }\n }\n setDelayUsernamePas(false);\n const path = `/public/users_validation?username=${username}`;\n const result = await axios(baseUrl + path)\n .then((response) => response)\n .catch((error) => error);\n \n if(result.data && result.data.responseStatus == 'SUCCESS'){\n return true;\n }\n if(result.response.status == 400){\n setVUsername('error');\n setVmUsername('nama pengguna sudah terdaftar!');\n }\n }\n\n const validateEmail = async (pasIt = false) => {\n if(!pasIt){\n if(!delayEmailPass){\n return;\n }\n }\n setDelayEmailPas(false);\n const path = `/public/users_validation?email=${email}`;\n const result = await axios(baseUrl + path)\n .then((response) => response)\n .catch((error) => error);\n if(result.data && result.data.responseStatus == 'SUCCESS'){\n return true;\n }\n if(result.response.status == 400){\n setVEmail('error');\n setVmEmail('Email sudah terdaftar!');\n return false\n }\n }\n\n const checkLogoLSP = (path) => {\n let logoLSP = path;\n if(logoLSP.includes('https')){\n setLogoLSP(logoLSP);\n return;\n }\n \n if(logoLSP.includes('protected') ||logoLSP.includes('files') || logoLSP.includes('logo')){\n logoLSP = baseUrl+path;\n }\n if(logoLSP.length == 255){\n return;\n }\n setLogoLSP(logoLSP)\n }\n\n const checkLspCode = async (code) => {\n axios(`${baseUrl}/public/lsp/${code}`).then((response) => {\n setVUniqueCodee('success');\n setUCodeValid(true);\n const resDataLSP = response.data.data;\n if(resDataLSP){\n setLsp(resDataLSP.lsp_id)\n checkLogoLSP(resDataLSP.logo)\n }\n }).catch((err) => {\n if(err.response && err.response.data && err.response.data.error.message){\n if(err.response.data.error.code==404){\n // console.log('cek err', err.response.data.error.message)\n }\n }\n\n setVUniqueCodee('error');\n });\n }\n\n const handleLspCode = (value) => {\n setUCodeValid(false);\n setVUniqueCodee('error');\n if(value.length > 5){\n checkLspCode(value);\n }\n }\n\n const getReligion = async () => {\n axios(`${baseUrl}/public${path_religion}?limit=100`).then((response) => {\n setDataReligion(response.data.data);\n });\n }\n\n const getJobs = async () => {\n axios(`${baseUrl}/public/${path_jobs}?limit=100`).then((response) => {\n setDataJobs(response.data.data);\n });\n }\n\n const getLSP = async () => {\n axios(`${baseUrl}/public/lsp?limit=unlimited`).then((response) => {\n setDataLsp(response.data.data);\n });\n }\n\n const handleChangeUsername = (value) => {\n setUsername(value);\n if(!usernameReg.test(value)){\n setVUsername('error');\n setVmUsername('Tidak boleh menggunakan spasi');\n return;\n }\n\n setVUsername('success');\n setVmUsername('Silahkan masukan nama pengguna');\n }\n\n const handleChangeEmail = (value) => {\n setEmail(value);\n if(!emailReg.test(value)){\n setVEmail('error');\n setVmEmail('Email tidak valid');\n return;\n }\n setVEmail('success');\n setVmEmail('Silahkan masukan email');\n }\n\n const handleChangeNik = (value) => {\n setNik(value);\n setVNik('success');\n setVmNik('Silahkan masukan NIK');\n }\n\n const handleOkSignature = () => {\n setSignature(refPad.current.getTrimmedCanvas().toDataURL(\"image/png\"));\n setOpenSignature(false);\n setVSignature('success');\n }\n\n const handleUploadSignature = (upload) => {\n setSignature(upload.base64);\n setOpenSignature(false);\n setVSignature('success');\n };\n\n const handleBack = () => {\n localStorage.clear();\n window.location.replace(\"/login\");\n }\n\n const handleGetLspName = (lsp_id) => {\n if(!lsp_id){\n return '';\n }\n\n let index = dataLsp.findIndex((val) => val.lsp_id==lsp_id);\n\n if(index < 0){\n return '';\n }\n return dataLsp[index].lsp_name;\n }\n\n const toggleConfirm = () => {\n setOpenModalConfirm(!openModalConfirm);\n }\n\n const handleValidation = async () => {\n let messageConfirm = `Asesor di ${handleGetLspName(lsp)}`;\n\n if(loadingSubmit){\n setLoadingSubmit(false);\n return;\n }\n setLoadingSubmit(true);\n let error = false;\n\n const valEMail = await validateEmail(true);\n const valUsername = await validateUsername(true);\n\n if(!valEMail){\n error = true;\n }\n\n if(!valUsername){\n error = true;\n }\n\n if(!username || !usernameReg.test(username)){\n error = true;\n setVUsername('error');\n }\n\n if(!email || !emailReg.test(email)){\n error = true;\n setVEmail('error');\n }\n\n\n if(!firstName){\n setVFirstName('error');\n error = true;\n }\n\n if(!nik){\n setVNik('error');\n error = true;\n }\n\n // if(nik && nik.length < 16){\n // error = true;\n // setVmNik('Masukan nik yang valid');\n // setVNik('error');\n // }\n\n // if(nik && nik.length > 16){\n // error = true;\n // setVmNik('Masukan nik yang valid');\n // setVNik('error');\n // }\n\n if(!placeBirth){\n error = true;\n setVPlaceBirth('error');\n }\n\n if(!dateBirth){\n error = true;\n setVDateBirth('error');\n }\n\n if(!noRegistrasi){\n error = true;\n setVNoRegistrasi('error');\n }\n\n if(!gender){\n error = true;\n setVGender('error');\n }\n\n if(!signature){\n error = true;\n setVSignature('error');\n }\n\n if(!noTelp){\n error = true;\n setVNoTelp('error');\n }\n\n // if(!religion){\n // error = true;\n // setVReligion('error');\n // }\n\n if(!pendidikan){\n error = true;\n setVPendidikan('error');\n }\n\n if(!kelurahanId){\n error = true;\n setVKeluarahanId('error');\n }\n\n if(!jobs){\n error = true;\n setVJobs('error');\n }\n\n if(!lsp || !uCodeValid){\n error = true;\n setVLsp('error');\n setVUniqueCodee('error')\n }\n\n if(error){\n setLoadingSubmit(false);\n notification.error({\n placement:'bottomRight',\n message:'Gagal!',\n description:'Terdapat data kosong, silahkan cek kembali data anda!'\n });\n return;\n }\n setMessageConfirm(messageConfirm);\n setOpenModalConfirm(true);\n // handleSubmitData();\n }\n\n const handleSubmitData = async () => {\n if (loadingConfirm){\n return;\n }\n setLoadingConfirm(true);\n insertData(\"/public/users/accessors\", {\n username: username,\n email: email,\n first_name: firstName,\n last_name: lastName,\n nik: nik,\n place_of_birth: placeBirth,\n date_of_birth: dateBirth,\n gender_code: gender,\n signature: signature,\n contact: noTelp,\n religion: religion,\n kelurahan_id: kelurahanId,\n pendidikan_terakhir: pendidikan,\n jobs_code: jobs,\n ref_id: lsp,\n role_code: \"ACS\",\n registration_number: noRegistrasi,\n // unique_code: lsp,\n })\n .then((res) => {\n localStorage.setItem(\"email\", email);\n setLoadingSubmit(false);\n setLoadingConfirm(false);\n window.location.replace(\"/confirm\");\n return;\n })\n .catch((error) => {\n setLoadingSubmit(false);\n setLoadingConfirm(false);\n switch (error.data.error.code) {\n case 400:\n notification.error({\n placement:'bottomRight',\n message: 'Gagal!',\n description: error.data.error.message\n });\n break;\n\n case 409:\n notification.error({\n placement:'bottomRight',\n message: 'Gagal!',\n description: multiLanguage.alertAlready\n });\n break;\n\n default:\n notification.error({\n placement:'bottomRight',\n message: 'Gagal!',\n description: 'Terjadi kesalahan silahkan coba lagi!'\n });\n break;\n }\n });\n }\n\n return (\n
\n \n setOpenSignature(false)}\n okText=\"Submit\"\n cancelText=\"Batal\"\n >\n \n \n
\n refPad.current.clear()}\n type=\"danger\"\n style={{ marginRight: \"10px\" }}\n >\n \n \n \n \n \n \n \n Data Akun\n \n \n \n \n handleChangeUsername(e.target.value)}\n />\n \n \n \n \n handleChangeEmail(e.target.value)}\n />\n \n \n \n \n {\n setNoRegistrasi(e.target.value), setVNoRegistrasi(\"success\");\n }}\n />\n \n \n \n \n \n \n \n handleChangeNik(e.target.value)}\n />\n \n \n \n \n {\n setFirstName(e.target.value), setVFirstName(\"success\");\n }}\n />\n \n \n {/* \n \n setLastName(e.target.value)}\n />\n \n */}\n \n \n {\n setPlaceBirth(e.target.value), setVPlaceBirth(\"success\");\n }}\n />\n \n \n \n \n \n \n {\n setDateBirth(e), setVDateBirth(\"success\");\n }}\n value={dateBirth}\n style={{ width: \"100%\" }}\n />\n \n \n \n \n {\n setGender(e.target.value), setVGender(\"success\");\n }}\n >\n Laki-laki\n Perempuan\n \n \n \n \n \n {\n setNoTelp(e.target.value), setVNoTelp(\"success\");\n }}\n onKeyDown={(e) => {\n if (\n e.key !== \"Backspace\" &&\n e.key !== \"Tab\" &&\n e.key !== \"ArrowLeft\" &&\n e.key !== \"ArrowRight\"\n ) {\n if (noTelp) {\n if (noTelp.length == 20) {\n e.preventDefault();\n }\n }\n }\n }}\n type=\"number\"\n />\n \n \n \n \n {/* \n \n {\n setReligion(e),\n !e ? setVReligion(\"error\") : setVReligion(\"success\");\n }}\n >\n \n {dataReligion.map((d, index) => (\n \n ))}\n \n \n */}\n \n \n {\n setPendidikan(e),\n !e ? setVPendidikan(\"error\") : setVPendidikan(\"success\");\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n setJobs(e), !e ? setVJobs(\"error\") : setVJobs(\"success\");\n }}\n >\n \n {dataJobs.map((d, index) => (\n \n ))}\n \n \n \n \n \n {signature && (\n
\n \n
\n Tanda tangan ini akan digunakan di dalam dokumen asesmen.\n setOpenSignature(!openSignature)}\n >\n Ganti ?\n \n
\n
\n )}\n {!signature && (\n setOpenSignature(!openSignature)}\n >\n Tanda Tangan\n \n )}\n \n \n \n \n {\n setKeluarahanId(val), setVKeluarahanId(\"success\");\n }}\n kelurahan_id={kelurahanId}\n />\n \n \n
\n \n {!whiteLabel && (\n \n \n \n {\n setUniqeCode(e.target.value),\n setVUniqueCodee(\"success\"),\n handleLspCode(e.target.value);\n }}\n />\n \n \n {uCodeValid && (\n \n \n {\n setLsp(e),\n !e ? setVLsp(\"error\") : setVLsp(\"success\"),\n setDataTuk([]),\n setTuk(\"\");\n }}\n >\n \n {dataLsp.map((d, index) => (\n \n ))}\n \n \n {logoLSP && (\n
\n \n
\n )}\n \n )}\n
\n )}\n {/* \n \n {\n setNoRegistrasi(e.target.value), setVNoRegistrasi(\"success\");\n }}\n />\n \n */}\n \n
\n {/* \n \n */}\n \n
\n \n \n {\" Login Page\"}\n \n \n {\" Register\"}\n \n
\n
\n );\n}\n\nexport default RegistrasiAsesor;","import React, { Component } from \"react\";\nimport { Tabs } from \"antd\";\nimport { Card, CardBody, Container, Row, Col } from \"reactstrap\";\n// import RegistrasiAsesor from \"./RegisterAsesor\";\n// import RegistrasiAsesi from \"./RegisterAsesi\";\nimport RegisterAsesi from \"./newRegisterAsesi\";\nimport RegistrasiAsesor from \"./newRegisterAsesor\";\nconst { TabPane } = Tabs;\nclass Register extends Component {\n constructor(props) {\n super(props);\n this.state = {\n activeTab: \"1\",\n tabs: \"\",\n };\n }\n\n render() {\n return (\n
\n \n \n \n \n \n Asesi

}\n key=\"1\"\n >\n \n \n\n Asesor

}\n key=\"2\"\n >\n \n \n
\n
\n \n \n
\n
\n );\n }\n}\n\nexport default Register;\n","import { Spin } from 'antd';\nimport React, { useEffect } from 'react';\nimport { useHistory } from \"react-router-dom\";\n\nconst Logout = () => {\n let history = useHistory();\n \n const delay = (ms) => new Promise((res) => setTimeout(res, ms));\n\n const clearLocalStorage = async () => {\n localStorage.clear();\n document.cookie.split(\";\").forEach(function(c) { document.cookie = c.replace(/^ +/, \"\").replace(/=.*/, \"=;expires=\" + new Date().toUTCString() + \";path=/\"); });\n delay(1500);\n history.push(\"/login\");\n }\n\n\n useEffect(() => {\n clearLocalStorage();\n }, [])\n\n return(\n
\n \n
\n )\n}\n\nexport default Logout;\n","export default __webpack_public_path__ + \"static/media/confirm.53f448ad.png\";","import React, { Component } from \"react\";\nimport { PostData } from \"../../services/PostData\";\nimport { Redirect, Link } from \"react-router-dom\";\nimport {\n Button,\n Card,\n CardBody,\n Col,\n Row,\n Modal,\n ModalHeader,\n ModalBody,\n ModalFooter,\n} from \"reactstrap\";\nimport { Input, Modal as ModalAntd } from \"antd\";\n\nimport LoadingOverlay from \"react-loading-overlay\";\nimport axios from \"axios\";\nimport \"../../css/Login.css\";\nimport \"../../css/Button.css\";\nimport {\n Brand_LSP,\n baseUrl,\n path_forgotPass,\n} from \"../../components/config/config\";\n\nimport LogoConfirm from \"../../assets/img/brand/confirm.png\";\nimport \"antd/dist/antd.css\";\nimport moment from \"moment\";\n\nclass Confirm extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: false,\n message: \"\",\n hidden: true,\n modal: false,\n emailBody: \"\",\n logged_in: false,\n };\n }\n handleChange = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n };\n btn_Login = () => {\n localStorage.clear();\n window.location.replace(\"/login\");\n };\n\n componentDidMount() {\n const dataLocalStorage = localStorage.getItem(\"email\");\n if(!dataLocalStorage) {\n ModalAntd.error({\n title: \"Error\",\n content: \"Silahkan login atau register terlebih dahulu!\",\n });\n this.setState({\n logged_in:true\n })\n }\n this.setState({\n emailBody: dataLocalStorage,\n });\n }\n\n componentWillUnmount() {}\n\n toggle = () => {\n let checkIfcanResend = this.checkIfcanResend();\n if(!checkIfcanResend) {\n ModalAntd.error({\n title: \"Gagal!\",\n content: `Anda dapat mengirim email kembali pada pukul ` + moment(localStorage.getItem(\"nextResend\")).format(\"HH:mm:ss\"),\n });\n return;\n }else{\n this.setNextResend();\n }\n ModalAntd.confirm({\n title: \"Konfirmasi\",\n content: \"Apakah anda yakin ingin mengirim ulang email?\",\n onOk: () => {\n this.submitResendPassword();\n }\n });\n };\n\n submitResendPassword = () => {\n var data = new FormData();\n data.append(\"email\", this.state.emailBody);\n const options = {\n method: \"POST\",\n url: baseUrl + path_forgotPass,\n data: data,\n };\n axios(options).then((response) => {\n ModalAntd.success({\n title: \"Berhasil\",\n content: \"Email berhasil dikirim kembali!\",\n })\n return response;\n });\n }\n\n checkIfcanResend = () => {\n let storageNextResend = localStorage.getItem(\"nextResend\");\n if(storageNextResend){\n let currentTime = moment();\n let nextResend = moment(storageNextResend);\n if(currentTime.isBefore(nextResend)){\n return false;\n }\n }\n return true;\n }\n\n setNextResend = () => {\n let currentTime = moment();\n localStorage.setItem(\"nextResend\", currentTime.add(5, 'minutes').format());\n }\n\n toggleNested = (event) => {\n event.preventDefault();\n this.setState({\n nestedModal: !this.state.nestedModal,\n closeAll: false,\n });\n\n var data = new FormData();\n data.append(\"email\", this.state.email);\n const options = {\n method: \"POST\",\n url: baseUrl + path_forgotPass,\n data: data,\n };\n axios(options).then((response) => {\n return response;\n });\n };\n\n toggleAll = () => {\n this.setState({\n nestedModal: !this.state.nestedModal,\n closeAll: true,\n });\n };\n\n render() {\n if (localStorage.getItem(\"logged_in\") || this.state.logged_in) {\n return ;\n }\n\n return (\n \n
\n \n \n Masukan Kembali Email Anda\n \n \n \n \n \n \n
\n
\n \n \n \n \n \n \n Confirmation Message\n \n Your email has been send, Please Check Your email\n \n \n \n \n \n
\n \n \n \n \n \n \n Pendaftaran Berhasil!\n \n \n \n \n \n \"\"\n \n \n \n \n

Cek Email Anda!

\n \n
\n \n \n

\n Kami akan mengirimkan tautan ke email Anda untuk\n mengubah kata sandi Anda. email Anda :\n

\n {this.state.email == null || this.state.email == \"\"\n ? this.state.emailBody\n : this.state.email}\n

\n

\n \n
\n \n \n \n Kirim Ulang\n \n \n \n \n \n {/* */}\n \n Login\n \n {/* */}\n \n \n
\n \n
\n
\n );\n }\n}\n\nexport default Confirm;\n","import React, { Component } from \"react\";\nimport { Route, Switch, BrowserRouter } from \"react-router-dom\";\n// Styles\nimport \"./scss/style.css\";\nimport \"flag-icon-css/css/flag-icon.min.css\";\nimport \"font-awesome/css/font-awesome.min.css\";\nimport \"simple-line-icons/css/simple-line-icons.css\";\nimport \"./css/loaderComponent.css\";\n// Containers\nimport DefaultLayout from \"./containers/DefaultLayout/DefaultLayout\";\nimport { Page404 } from \"./views/Pages\";\nimport { NewsWebViews } from \"./views/Pages\";\nimport LspLogin from \"./containers/LspLogin\";\nimport Login from \"./containers/Login\";\nimport MultiRole from \"./containers/MultiRole\";\nimport ForgotPassword from \"./containers/ForgotPassword\";\nimport Register from \"./views/Register/Register\";\nimport Logout from \"./containers/Logout\";\nimport Confirm from \"./views/Register/Confirm\";\n\nclass App extends Component {\n constructor(props) {\n super(props);\n this.state = {\n logged_id: undefined,\n };\n }\n\n componentDidMount() {}\n\n handleNewUserMessage = (newMessage) => {\n console.log(`New message incomig! ${newMessage}`);\n };\n\n render() {\n return (\n
\n {/* */}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n );\n }\n}\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { BrowserRouter } from \"react-router-dom\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport \"./scss/style.css\";\nimport App from \"./App\";\nimport \"./css/index.css\";\nimport \"./css/widget.css\";\nimport { createStore } from \"redux\";\nimport { Provider } from \"react-redux\";\nrequire(\"react-big-calendar/lib/css/react-big-calendar.css\");\n// import { createBrowserHistory } from \"history\";\n\n// Default State\nconst globalState = {\n isRead: 0,\n};\n\nconst rootReducer = (state = globalState, action) => {\n return state;\n};\nconst storeRedux = createStore(rootReducer);\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);\n","export default __webpack_public_path__ + \"static/media/lsp-energi.4ff25424.png\";","export default __webpack_public_path__ + \"static/media/Logo-LSP-GPPB.b30d3b4a.png\";","export default __webpack_public_path__ + \"static/media/msdm.d01a70c4.png\";","export default __webpack_public_path__ + \"static/media/logo-pim.1f9e7742.png\";","export default __webpack_public_path__ + \"static/media/lsp-abi@3x.196902a6.png\";","export default __webpack_public_path__ + \"static/media/lspfotografi.509b58b2.png\";","export default __webpack_public_path__ + \"static/media/logo-LSPPM.48a7dcbe.png\";","export default __webpack_public_path__ + \"static/media/logo-hki.f95f6e21.png\";","export default __webpack_public_path__ + \"static/media/lspditekindo.b8cb18a6.png\";","export default __webpack_public_path__ + \"static/media/den.4570c980.png\";","export default __webpack_public_path__ + \"static/media/nas_landscape_white_font.81b518b7.png\";","export default __webpack_public_path__ + \"static/media/nas_landscape.b1ee106b.png\";","export default __webpack_public_path__ + \"static/media/logot2k3i.3d3fe664.png\";","export default __webpack_public_path__ + \"static/media/area.07eba6b7.png\";","export default __webpack_public_path__ + \"static/media/oshe.0629861f.png\";","export default __webpack_public_path__ + \"static/media/nki.2205ccdf.png\";","export default __webpack_public_path__ + \"static/media/k3ibl.84773894.png\";","export default __webpack_public_path__ + \"static/media/lik.556adb42.png\";","import { Digest } from \"../../containers/Helpers/digest\";\nimport lsp_energi from \"../../assets/img/brand/lsp-energi.png\";\nimport lsp_gppb from \"../../assets/img/brand/Logo-LSP-GPPB.png\";\nimport lsp_abi from \"../../assets/img/brand/lsp-abi.png\";\nimport lsp_msdm from \"../../assets/img/brand/msdm.png\";\nimport lsp_pim from \"../../assets/img/brand/logo-pim.png\";\nimport lsp_ypia from \"../../assets/img/brand/logo-ypia.png\";\nimport lsp_abiLogin from \"../../assets/img/brand/lsp-abi@3x.png\";\nimport lsp_fotografi from '../../assets/img/brand/lspfotografi.png';\nimport lsp_pm from \"../../assets/img/brand/logo-LSPPM.png\";\nimport lsp_hki from \"../../assets/img/brand/logo-hki.png\";\nimport lsp_ditekindo from \"../../assets/img/brand/lspditekindo.png\";\nimport lsp_den from \"../../assets/img/brand/den.png\";\nimport demo from \"../../assets/img/brand/nas_landscape_white_font.png\";\nimport login from \"../../assets/img/brand/nas_landscape.png\";\nimport logot2k3 from \"../../assets/img/brand/logot2k3i.png\";\nimport lsp_area from \"../../assets/img/brand/area.png\";\nimport lsp_oshe from \"../../assets/img/brand/oshe.png\";\nimport lsp_nki from \"../../assets/img/brand/nki.png\";\nimport lsp_k3ibl from \"../../assets/img/brand/k3ibl.png\";\nimport lsp_lik from \"../../assets/img/brand/lik.png\";\nexport const apiLocal = \"http://192.168.10.10/api/users/login\";\n// export const cssDemo = \"https://run.mocky.io/v3/f1280be1-8cb3-40f7-8af2-ec0bae46d1df\"\nexport const baseUrl = \"https://api-dev.aplikasisertifikasi.com/\";\nexport const urlLinode = \"https://ap-south-1.linodeobjects.com/sertimedia/\";\nexport const urlLinodeAbi = \"https://ap-south-1.linodeobjects.com/abiv3/\";\nexport const UrlEmbed = \"api-dev.aplikasisertifikasi.com/\";\nexport const urlChatMessage =\"https://chat-dev.aplikasisertifikasi.com/v1/\";\nexport const urlSocketChat = \"wss://chat-dev.aplikasisertifikasi.com/ws\";\nexport const urlLPJK = \"https://siki.pu.go.id/siki-api\";\nexport const cssDemo =\n \"https://run.mocky.io/v3/b7e771a1-98aa-4527-8449-17aee9d2d62a\";\nexport const cssAbi =\n \"https://run.mocky.io/v3/26cccb83-0e04-4a04-914a-f14207b71c09\";\nexport const dataSourceTAS =\n \"http://sertimedia.com/files/TVE9PQ/205780ec92608f2.jpg\";\n\n// path\nexport const path_forgotPass = \"/public/users/forgot_password\";\nexport const path_notif = \"/me/notifications\";\nexport const path_users = \"/users\";\nexport const path_admin = \"/admins\";\nexport const path_management = \"/managements\";\nexport const path_tuk = \"/public/tuks\";\nexport const path_tukAdd = \"/tuks\";\nexport const path_adminTUK = \"/admintuk\";\nexport const path_HomeTuk = \"/tuk\";\nexport const path_pleno = \"/plenos\";\nexport const path_requirement_master = \"/requirement-master\";\nexport const path_competenceField = \"/competence_fields\";\nexport const path_schema = \"/schemas\";\nexport const path_schemaViews = \"/schemas/views\";\nexport const path_subSchema = \"/sub_schemas\";\nexport const path_certificate_schema = \"/certification-scheme\";\nexport const path_applicant = \"/applicants\";\nexport const path_applicantGeneral = \"/users/applicants\";\nexport const path_assessments = \"/assessments\";\nexport const path_draftAssessment = \"/drafts/assessments\";\nexport const path_assessmentsDashboard = \"/dashboards/assessments\";\nexport const path_GET_schedule_activity = \"/me/schedules/assessments\";\nexport const path_POST_article = \"/articles\";\nexport const path_GET_article = \"/public/articles\";\nexport const path_assign_assessors = \"/find_assessor_not_assign\"; //Used in Schedule assessment\nexport const path_assign_asesi = \"/find_applicant_not_assign\"; //Used in Schedule assessment\nexport const path_assign_admins = \"/find_admin_not_assign\"; //Used in Schedule assessment\nexport const path_recordArchive = \"/schedules/assessments\";\nexport const path_letters = \"/letters\";\nexport const path_alumni = \"/alumnis\";\nexport const path_certificate = \"/certificates\";\nexport const path_accessors = `/accessors`; //GET detail,PUT,DELETE Accessor\nexport const path_accessorsGeneral = \"/users/accessors\"; //GET,POST Accessor\nexport const path_accessorCompetence = \"/accessor/competences\";\nexport const path_accessorsSchedule = \"/accessor/schedules\"; //Used in schedule accessors\nexport const path_accessorsSkill = \"/Assessors/list-skill\";\nexport const path_masterData = \"/portfolios\";\nexport const path_masterData_umum = \"/portfolios-umum\";\nexport const path_materi_uji = \"/materi-uji\";\nexport const path_reqruitmentCluster = \"/requirement-cluster\";\nexport const path_refreshToken = \"/me/refresh_token/\";\nexport const path_manageSurat = \"/letters\";\nexport const path_unitCompetention = \"/unit_competences\";\nexport const path_jointRequest = \"/join_requests\";\nexport const path_archive = \"/archives\";\nexport const path_persyaratanUmum = \"/persyaratan_umum\";\nexport const path_persyaratanUmum_otherAsesi = \"/persyaratan_umums\";\nexport const path_requirement = \"/requirement\";\nexport const path_reqruitmen_file = \"/requirement-file\";\nexport const path_jobs = \"/jobs\";\nexport const path_religion = \"/religion\";\nexport const path_deletePermanenAssessment = \"/deleted/assessments\";\nexport const path_restoreAssessment = \"/restore/assessments\";\n\n// query fields digunakan untuk GET dari server namun belum tentu di tampilin,\n// sedangkan columndef digunankan untuk pendefinisian di datatable\nexport const query_notif =\n \"?datatable=1&fields=is_read,message,data,time_stamp&columndef=is_read,message,data,time_stamp\";\nexport const query_assessments =\n \"?datatable=1&fields=assessment_id,title,address,tuk_name,created_date,assessor_id&columndef=assessment_id,title,address,tuk_name,created_date,assessor_id\";\n\n// button\nexport var schedules_accessors =\n '';\nexport var upload = '';\n\n//m method\nexport var method_get = \"GET\";\nexport var method_post = \"POST\";\nexport var method_put = \"PUT\";\nexport var method_delete = \"DELETE\";\n\n//get Role\nexport function getRole() {\n const role = localStorage.getItem(\"role\");\n return role;\n}\n\nexport function getIntegration() {\n const name = localStorage.getItem(\"integration\");\n return name;\n}\nexport function isLJKIntegration() {\n let isLJKIntegration = localStorage.getItem('isLPJKIntegration') ? localStorage.getItem('isLPJKIntegration') : false\n \n return isLJKIntegration && isLJKIntegration!==\"false\" ? true : false\n}\nexport function getUserId() {\n const json = JSON.parse(localStorage.getItem(\"userdata\"));\n const user = json.user_id;\n return user;\n}\n\nexport function getUserNik() {\n const json = JSON.parse(localStorage.getItem(\"userdata\"));\n const user = json.nik;\n return user;\n}\n\nexport function getRefId() {\n const json = JSON.parse(localStorage.getItem(\"selected_permission\"));\n const ref = json.ref_id;\n return ref;\n}\nexport function refId() {\n const data_ref_id = localStorage.getItem(\"ref_id\");\n const ref_id = data_ref_id.replace(/['\"]+/g, \"\");\n return ref_id;\n}\n\nexport function getAPI(path, method, data) {\n const auth = Digest(path, method);\n const options = {\n method: auth.method,\n headers: {\n Authorization: auth.digest,\n \"X-Lsp-Date\": auth.date,\n \"Content-Type\": \"multipart/form-data\",\n },\n url: baseUrl + path,\n data: data,\n };\n\n return options;\n}\n\nexport function getLsp() {\n const json = JSON.parse(localStorage.getItem(\"lsp\"));\n return json;\n}\n\n//get Language\nexport const getLanguage = localStorage.getItem(\"bahasa\");\n\n// format capitalize first letter\nexport function Capital(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\n// fungsi untuk membuat ... pada kalimat yang melebihi batas\nString.prototype.trunc =\n String.prototype.trunc ||\n function (n) {\n return this.length > n\n ? this.substr(0, n - 1) +\n \"...\" +\n this.substr(this.length - 6, this.length)\n : this;\n };\n\n//minimize string\nexport function minimizeString(value) {\n var str = value;\n\n return str.trunc(7);\n}\n\n// Format Date\nexport function formatDate(value) {\n const date = new Date(value);\n var month = [];\n month[0] = \"January\";\n month[1] = \"February\";\n month[2] = \"March\";\n month[3] = \"April\";\n month[4] = \"May\";\n month[5] = \"June\";\n month[6] = \"July\";\n month[7] = \"August\";\n month[8] = \"September\";\n month[9] = \"October\";\n month[10] = \"November\";\n month[11] = \"December\";\n var d = month[date.getMonth()];\n var day = date.getDate();\n var year = date.getFullYear();\n return day + \" \" + d + \" \" + year;\n}\n\n// Format Upper Lower Case\nexport function formatCapitalize(value) {\n var text = value;\n if (value !== undefined) {\n text = text\n .toLowerCase()\n .split(\" \")\n .map((item) => item.charAt(0).toUpperCase() + item.substring(1))\n .join(\" \");\n } else {\n text = value;\n }\n\n return text;\n}\n\n//regex clear underscore\nexport function clearUnderscore(value) {\n var text = value.replace(/_/g, \" \");\n\n return text;\n}\n\n// getData\nexport function getData(path, method, data) {\n const auth = Digest(path, method);\n var link = baseUrl + path;\n\n const options = {\n method: auth.method,\n headers: {\n Authorization: auth.digest,\n \"X-Lsp-Date\": auth.date,\n \"Content-Type\": \"multipart/form-data\",\n },\n url: link,\n data: data,\n };\n\n return options;\n}\n\nexport function permission() {\n var local = localStorage.getItem(\"user_permissions\");\n var arrayPermission = local.split(\",\");\n\n return arrayPermission;\n}\n\n// export function createPermission(item) {\n// return permission().some((value) => value === item + \"_CREATE\");\n// }\n\nexport function listPermission(item) {\n return permission().some((value) => value === item + \"_LIST\");\n}\n\n// export function updatePermission(item) {\n// console.log(\"itemm\",item)\n// return permission().some((value) => value === item + \"_UPDATE\");\n// }\n\n// export function deletePermission(item) {\n// return permission().some((value) => value === item + \"_DELETE\");\n// }\n\nexport function downloadFile(path, method) {\n const auth = Digest(path, method);\n const options = {\n method: auth.method,\n headers: {\n Authorization: auth.digest,\n \"X-Lsp-Date\": auth.date,\n },\n url: baseUrl + path,\n responseType: \"blob\",\n };\n\n return options;\n}\n\n// Config Logo\n\nexport const Brand_LSP = (lsp_name) => {\n var Logo = \"\";\n var title = \"\";\n if (lsp_name === \"lsp_energi\") {\n Logo = lsp_energi;\n title = \"LSP ENERGI\";\n return { Logo, title };\n } else if (lsp_name === \"lsp_gppb\") {\n Logo = lsp_gppb;\n title = \"LSP GPPB\";\n } else if (lsp_name === \"demo\") {\n Logo = demo;\n title = \"NAS Application\";\n } else if (lsp_name === \"lsp_abi\") {\n Logo = lsp_abi;\n title = \"LSP ABI\";\n } else if (lsp_name === \"lsp_abiLogin\") {\n Logo = lsp_abiLogin;\n title = \"LSP ABI\";\n } else if (lsp_name === \"lsp_pm\") {\n Logo = lsp_pm;\n title = \"LSP PM\";\n } else if (lsp_name === \"ypia\") {\n Logo = lsp_ypia;\n title = \"LSP YPIA\";\n } else if(lsp_name === \"login\") {\n Logo = login;\n title = \"NAS Application\";\n } else if(lsp_name === \"lsp_pim\") {\n Logo = lsp_pim;\n title = \"LSP PIM\";\n } else if(lsp_name === \"lsp_hki\") {\n Logo = lsp_hki;\n title = \"LSP HKI\";\n } else if (lsp_name === \"lsp_ditekindo\") {\n Logo = lsp_ditekindo;\n title = \"LSP DITEKINDO\";\n } else if (lsp_name === \"fotografi\") {\n Logo = lsp_fotografi;\n title = \"LSP FOTOGRAFI INDONESIA\"\n } else if (lsp_name === \"lsp_msdm\") {\n Logo = lsp_msdm;\n title = \"LSP MSDM\";\n } else if (lsp_name === \"lsp_t2k3\"){\n Logo = logot2k3;\n title = \"LSP T2K3I\";\n } else if (lsp_name === \"lsp_den\"){\n Logo = lsp_den;\n title = \"LSP Daya Eduvokasi Nusantara\";\n } else if (lsp_name === \"lsp_area\"){\n Logo = lsp_area;\n title = \"LSP Area Indonesia\";\n } else if (lsp_name === \"lsp_oshe\"){\n Logo = lsp_oshe;\n title = \"LSP OSHE\";\n } else if (lsp_name === \"lsp_nki\"){\n Logo = lsp_nki;\n title = \"LSP Norma Ketenagakerjaan Indonesia\";\n } else if (lsp_name === \"k3ibl\") {\n Logo = lsp_k3ibl;\n title = \"LSP K3IBL\";\n } else if (lsp_name === \"lsp_lik\") {\n Logo = lsp_lik;\n title = \"LSP LIK\";\n }\n\n return { Logo, title };\n};\n\n// export const Brand_LSP = (lsp_name) => {\n// var Logo = \"\";\n// var LogoAbi = \" \";\n// var LogoEnergi = \"\";\n// var title = \"\";\n// if (lsp_name === \"pm\") {\n// Logo = lsp_pm;\n// title = \"LSP PM\";\n// return { Logo, title };\n// } else if (lsp_name === \"lsp_energi\") {\n// LogoEnergi = lsp_energi;\n// title = \"LSP ENERGI\";\n// } else if (lsp_name === \"demo\") {\n// Logo = demo;\n// title = \"NAS Application\";\n// } else if (lsp_name === \"login\") {\n// Logo = login;\n// title = \"NAS Application\";\n// } else if (lsp_name === \"lsp_abi\") {\n// LogoAbi = lsp_abi;\n// title = \"LSP ABI\";\n// } else if (lsp_name === \"lsp_abiLogin\") {\n// Logo = lsp_abiLogin;\n// title = \"LSP ABI\";\n// } else if (lsp_name === \"lsp_pm\") {\n// Logo = lsp_pm;\n// title = \"LSP PM\";\n// }\n\n// return { Logo, LogoAbi, LogoEnergi, title };\n// };\n\n// get params query string\n\nexport const parseParamsURLquery = (value) => {\n const queryString = window.location.search;\n const urlParams = new URLSearchParams(queryString);\n return urlParams.get(value);\n};\n\n// delete url query string\nexport function deleteQueryString(url) {\n return url.split(\"?\")[0];\n}\n\n// response interceptors\n// export const errorHandler = (error) => {\n// if (isHandlerEnabled(error.config)) {\n// // Handle errors\n// }\n// return Promise.reject({ ...error })\n// }\n\n// export const successHandler = (response) => {\n// if (isHandlerEnabled(response.config)) {\n// // Handle responses\n// }\n// return response\n// }\n\nexport const idLSPABI = \"faef4baf-570e-4c1c-9613-8e47710dc548\";\nexport const idLSPPIM = \"86ebf58a-f52d-4b15-9e2c-de28062ef3ae\";\n\n\nexport const isLSPABI = () => {\n let id = JSON.parse(localStorage.getItem(\"ref_id\"));\n if(getRole() === \"APL\"){\n id = localStorage.getItem(\"lsp_id\");\n }\n return id === idLSPABI ? true : false;\n}\n\nexport const getUserLspId = () => {\n let id = JSON.parse(localStorage.getItem(\"ref_id\"));\n if(getRole() === \"APL\"){\n id = localStorage.getItem(\"lsp_id\");\n }\n\n return id;\n}\n\nexport const listLspDisable = () => {\n const array = [\"faef4baf-570e-4c1c-9613-8e47710dc548\", \"af41de3e-0eb8-41bd-8319-4e5469b0d1f2\"];\n\n return array;\n}\n\nexport const checkIfDisable = () => {\n const lspID = getUserLspId();\n const listDisable = listLspDisable();\n\n return listDisable.includes(lspID) ? true : false;\n}","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","import hmacSHA512 from 'crypto-js/hmac-sha512';\n// import Base64 from 'crypto-js/enc-base64';\n\nexport function Digest(path, method) {\n const date = new Date();\n const secret_key = localStorage.getItem('secret_key');\n const userdata = JSON.parse(localStorage.getItem('userdata'));\n const data = method + '+' + path + '+' + date;\n const upn =\n localStorage.getItem('identity_type') === 'username'\n ? userdata.username\n : userdata.email;\n const digest = 'Lsp ' + upn + ':' + btoa(hmacSHA512(data, secret_key));\n //privatekey isinya secretKey dari server,yg dimana itu bakal disimpet di local storage\n return {\n digest: digest,\n date: date,\n method: method,\n path: path\n };\n}\n"],"sourceRoot":""}