{"version":3,"sources":["GlobalState.js","Setting/CBSBenzerAdalar.js","Application/GMapLatLang.js","Dashboard/AddressBook.js","Eimza/EImzaListem.js","User/MessagePanel.js","User/UserComData.js","Application/InlineFilePanel.js","Application/DWGCompare.js","Application/FilesPanel.js","Application/SendNotificationPanel.js","Application/Sharing.js","Eimza/EimzaOnaylarimMobil.js","Eimza/EimzaOnaylarim.js","Header/NavBarProfileComponent.js","Header/TopHeader.js","Dashboard/edevletlogo.png","User/ForgotPassword.js","User/TwoStep..js","Setting/MevkiSetting.js","Setting/CBSMahalleMatching.js","Setting/CBSMahalleSetting.js","Setting/CBSAdaSorgula.js","Setting/SettingIdariMahalle.js","Application/EventPanel.js","Application/ApplicationPrint.js","Application/AppMainData.js","Application/TarifeMapping.js","Application/TarifeMappingList.js","Application/SablonHavalePanel.js","Application/HavaleYetkiliciPanel.js","Application/BasvuruKabulPanel.js","Application/OnayYetkilisiPanel.js","Application/RevisionReqPanel.js","Application/DenetimPaneli.js","Application/Application.js","Header/VTable.js","Statistic/AppMonthStatistic.js","Header/MessageMenu.js","MAKS/MaksGorevli.js","MAKS/MaksProje.js","MAKS/MaksDuvardolgu.js","MAKS/MaksDoseme.js","MAKS/MaksOrtakAlan.js","MAKS/MaksIcmesu.js","MAKS/MaksAtiksu.js","MAKS/MaksMuhtelifGelir.js","MAKS/MaksYapiDenetim.js","MAKS/MaksBagimsizBolum.js","MAKS/Maksisitma.js","MAKS/MaksisitmaYakit.js","MAKS/MaksSuTemin.js","MAKS/MaksSuYakit.js","MAKS/MaksTesisat.js","MAKS/MaksTasiyici.js","MAKS/MAKSAdres.js","MAKS/MAKS.js","MAKS/MaksList.js","Application/Apply6.js","Application/Apply5.js","Application/Apply4.js","Application/Apply3.js","Application/Apply2.js","Application/Apply1.js","Application/UserStatisticCard.js","Application/UserAppCard.js","Header/textlogo.png","Header/textlogowh.png","Dashboard/Dashboard.js","Dashboard/KurumLogo.js","Application/SearchAppTKGM.js","Application/ApplicationList.js","Eimza/EImzaMenu.js","Setting/FileSettingDetaile.js","Setting/FileSettingList.js","Setting/SablonMappingPanel.js","Setting/EkranSetting.js","Setting/MevzuaatSetting.js","Setting/BasvuruAlaniDetail.js","Setting/BasvuruAlanlariSetting.js","Setting/CommunicationSetting.js","Setting/GeneralSettingPanel.js","Setting/UserTypePanel.js","Setting/SureclerPanel.js","Setting/SettingUserFile.js","Setting/RegisterSettingPanel.js","Setting/DuyuruSetting.js","Setting/HelpSettingPanel.js","Setting/ReportSetting.js","Setting/SettingRoles.js","Application/AllApplicationList.js","Setting/HavaleSablonSetting.js","Application/IadeListesi.js","Application/SharedApplicationList.js","User/UserList.js","Setting/AppGroupSetting.js","Application/DelayedApplications.js","Application/TakipEdilenler.js","Statistic/SurecSta.js","Statistic/PersonelPerfSta.js","Statistic/TmamlanmaStat.js","Statistic/Report.js","Statistic/StatisticPanel.js","Dashboard/HelpVideoPanel.js","Dashboard/HelpPanel.js","Setting/SablonFileSetting.js","Setting/FileGroupsSetting.js","Setting/EimzaNameSetting.js","Setting/AppTypeGroupSetting.js","Setting/MakaleSetting.js","Setting/SampleFormSetting.js","Dashboard/MevzuatPanel.js","Application/DeletedAppList.js","Application/ArchivedAppList.js","Application/RemovedFiles.js","Setting/BasvuruTipleriDetail.js","Setting/BasvuruTipleriList.js","Setting/TarifeCetveliSetting.js","Setting/TarifeDetail.js","Setting/TarifeSetting.js","Setting/AllEvents.js","Header/CommonSideBar.js","Setting/CBSMahalleLocal.js","Application/KadastralVeri.js","Header/100yıl.png","Dashboard/qr.png","pics/edevlet_eimza.png","Header/eimzaerror1.png","Header/eimzaerror2.jpg","Header/eimzaerror3.jpg","Header/eimzaerror4.jpg","Header/dwg.png","Eimza/EImza.js","Eimza/EImzaList.js","User/UserPermConstants.js","Dashboard/Statistic.js","Dashboard/ToDoList.js","Dashboard/DuyuruPanel.js","Dashboard/Home.js","Header/logo2.png","Dashboard/logobig.jpeg","Application/PDFView.js","User/UserLabel.js","App.js","reportWebVitals.js","index.js","Application/ApplicationAuthorPanel.js","Application/ApplicationListCardView.js","Application/NotePanel.js","Eimza/EImzaTekrar.js","Application/SharedUsersPanel.js","Eimza/EImzaDetails.js","User/UploadFile.js","User/UserStatistics.js","User/UserPersonelData.js","User/UserMeslekData.js","User/DenetimPermissionPanel.js","User/ListAppTypePermission.js","User/KabulAppTypePermission.js","User/UserTypeData.js","User/UserDynamicData.js","User/UserEventsPanel.js","User/UserDetails.js","User/Register3.js","User/Register2.js","User/Register1.js","Setting/CBSADAMatching.js","Setting/MahalleSetting.js","Setting/AdaSetting.js","Setting/CBSAdaSetting.js","User/UserWorkLoad.js","User/UserUploadFilePanel.js","User/UserFilePanel.js","Application/AppCard.js","User/Register.js","User/Login.js","Dashboard/loading.gif","Application/Vekalet.js"],"names":["window","Swal","chartColors","myglobal","createGlobalState","role","userName","userData","loginfromedevlet","token","globalData","archivedAppList","archivedAppDate","useGlobalState","capitalizeWords","str","length","split","map","word","specialChars","replace","char","charAt","toUpperCase","slice","join","changeTurkceToEnglis","s","replaceAll","ajaxFail","response","showAlert","console","log","statusText","text","then","value","showErrorMessage","status","logout","cutString","n","substr","isEmpty","x","trim","passFild","rec","colname","appfieldlist","basvuruTipi","field","find","name","includes","getBolean","v","String","toLowerCase","ex","passFilter","filter","username","userKabulListPerms","result","conds","dynamicSoru","appDataObject","i","currentCondition","and","c","some","localeCompare","parseInt","toString","getappdata","id","callback","fetch","method","headers","body","JSON","stringify","async","ok","json","app","removeTurkce","removeTurkcLow","toUpperCaseTurkce","toLowerCaseTurkce","calcBusinessDays","dDate1","dDate2","BusinessDays","iWeeks","iDateDiff","iAdjust","toDateString","t","iWeekday1","getDay","iWeekday2","Math","floor","getTime","getDenetimSure","apptypelist","appData","message","denetimid","denetimID","havaleDate","mappingDate","basvuruDurumu","UserPermConstants","d","deadline","deliverdate","Date","deliverDate","h","sonDuzeltmeTarihi","sonduzeltme","nw","now","diffDays","isNaN","_jsxs","className","style","children","fvisible","sabitsorulistData","applicationdata","r","visible","fdisabled","enable","fzorunlu","zorunlu","title","fire","confirmButtonText","confirmButtonColor","icon","showSuccessMessage","action","showConfirmMessage","confirmButton","rejectButton","showDenyButton","denyButtonText","denyButtonColor","isConfirmed","showInfoMessage","sortByKey","array","key","sort","a","b","y","setVisible","vis","elem","document","getElementById","hidden","sendpost","url","spinnerid","successCalBack","failCallback","sendget","location","href","exception","exportExcel","tableId","downloadlink","table","rows","Array","prototype","call","display","thead","querySelector","csv","headerRow","querySelectorAll","headerText","innerText","push","row","cols","cells","j","cellText","csvContent","blob","Blob","type","URL","createObjectURL","levenshtein","matrix","min","max","cookie","forEach","toUTCString","localStorage","setItem","resp","maskStringWithStar","firstTwo","lastTwo","repeat","setHtmlTag","fild","innerHTML","getHtmlTag","getObjectFromArray","data","keyValue","Object","f","isImage","filename","endsWith","isVideo","calculateDateDifference","date1","date2","parsedDate1","parsedDate2","Error","setHours","differenceInDays","abs","CBSBenzerAdalar","props","listData","setListData","useState","surecList","setSurecList","useEffect","fetchSurecList","fetchList","getSurecName","element","ada","e","getDurumName","_jsx","tapukimlikno","adano","parselno","tapumahalleref","durum","tabledata","parsels","overflow","apprec","coordinates","onClick","open","mahalle","basvuruYapan","renderAppTable","applications","GMapLatLang","polygon","gdata","setGData","googlemapkey","setGoogleMapKey","script","fetchGeneralData","getgooglemapkey","google","initMap","mymapscript","createElement","src","defer","appendChild","onload","myLatlng","lat","lng","genlem","parseFloat","gboylem","z","gzoom","maps","Map","zoom","center","Coords","bounds","LatLngBounds","ct","latlang","Number","lg","extend","getCenter","setLatLang","Polygon","paths","strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity","setMap","fitBounds","input","setAttribute","searchBox","places","SearchBox","controls","ControlPosition","TOP_LEFT","addListener","setBounds","getBounds","markers","getPlaces","marker","place","geometry","size","Size","origin","Point","anchor","scaledSize","Marker","position","viewport","union","infoWindow","InfoWindow","content","mapsMouseEvent","close","latLng","setContent","toJSON","changeComponent","Application","backButton","ApplicationList","minHeight","AddressBook","setRole","userlist","setUserlist","updateRecord","event","target","checked","reccount","getUserList","this","setState","filterColumn","cl","$","eq","val","indexOf","toggle","renderTable","width","placeholder","onChange","idx","height","defaultValue","family","userType","firma","tel","email","isim","soyisim","submitUpdateRecord","alert","removeRecord","listTable","color","maxWidth","onKeyUp","keywords","rowtext","cc","t1","index","EImzaListem","eimzalist","setEimzalist","sortDirection","setSortDirection","setuserData","sortField","selectedImzaList","getEimzaList","myCompare","av","bv","imza","sortList","fildname","temp","all","parse","iadeNedeni","imzaid","transactionUUID","fetchEimzaListem","class","for","popup","topluimzala","maxHeight","userFileId","disabled","addToImzaList","arsaSahibi","fikra","tarih","surecname","downloadAction","müellifKullanıcıAdı","eimza","fetchAuthers","MessagePanel","useLocation","messages","setMsg","activemessage","setActiveMsg","showall","setShowAll","me","sidebartags","unreadmessages","opened","homecounter","deleteMessage","m","markmessagesopen","msg","messageList","cursor","sendDate","sender","receiver","appID","UserComData","userdata","setUserData","confirmed","handleInputChange","handleBildirimTercihChange","bildirimTercihleri","defaultChecked","sendMessage","sendEmail","sendSMS","htmlFor","telConfirmed","pattern","maxLength","sendSms","confirmSMS","k","prompt","user","code","_objectSpread","emailConfirmed","confirmEmail","showCode","edveletConfirmed","_Fragment","preventDefault","checkValidity","InlineFilePanel","setuserName","uploadedFiles","setuploadedFiles","fileNameList","setfileNameList","fileType","setfileType","showIfModal","setShowIfModal","plot","setPlot","olcek","setOlcek","setWidth","setHeight","renk","setRenk","setZoom","ofset","setOfset","unit","setUnit","printer","setPrinter","selectRef","useRef","sharingType","getFileType","typeId","typeName","Name","kontrolorDosyasi","surecSonu","canDelete","sonDuzeltmeTalebiTarihi","getEimzaMenu","filerec","imzaRec","source","FilesPanel","showAll","setActivePanel","removed","imzatarih","appId","classList","contains","remove","add","rapp","relatedApps","download","EImzaTekrar","VizeKontrol","PDFView","Eimza","EImzaDetails","isVisivble","kontrolorList","getImzaButton","button","caption","buttonbox","EImzaList","targetFile","imzala","gettextColor","readers","showDeletedFiles","showAllFileState","showHidden","kontrolorDosyaYetki","getVisibleState","removedBy","removedDate","toLocaleLowerCase","securityToken","setParentFileList","restorefile","archived","removefile","changeHideState","tabIndex","background","Creatable","required","ref","options","label","isClearable","formatCreateLabel","noOptionsMessage","selected","DWGCompare","files","dwgs","setDwgs","getlist","f1","f2","file1id","file1typeName","file1caption","file2id","file2typeName","file2caption","compareDate","rowDelete","setFiles","setshowDeletedFiles","fileTypes","setfileTypes","setUploadedFiles","basvurutipi","eksikzorunlu","zorunluimza","sablonlistData","setSabolnListData","setshowAllFileState","fetchSabolnFileList","fetchFiles","isZorunluForThisApp","filelist","filenamelist","filetypes","Id","BasvuruTipi","item","typeids","unshift","typeLess","handleSelectedFile","filetyp","fileSize","FileType","selectedFiles","file","test","formData","FormData","append","TypeID","axios","post","res","catch","err","SendFiles","lastgurup","generaterow","hidderState","grupname","aciklama","click","accept","eksikdosyatespit","uploadedfiles","eksikdiv","zorunluEimza","eksikeimzadiv","fileName","require","default","textbox","closest","SendNotificationPanel","setData","Sharing","useroptions","setOptions","state","protocol","host","copyToClipboard","copyText","select","setSelectionRange","navigator","clipboard","writeText","SharedUsersPanel","EimzaOnaylarimMobil","imzalayan","topluImzaList","operationId","phoneNumber","operators","selectedOperator","selectedSignatureType","saved_eimza","cname","ca","decodeURIComponent","substring","getCookie","operid","uuidv4","randomValues","Uint8Array","crypto","getRandomValues","TopluMobilSign","startsWith","mobileSignRequest","operator","signatureType","citizenshipNo","tc","appid","eimzaId","progress","showMessage","mobileSignResponse","mobileSignResult","isSuccess","error","opener","getFingerResponse","fingerPrint","opr","MobileSign","targetEimza","EimzaOnaylarim","page","colors","fullsize","Width","Height","objectFit","fitsize","selectedSertificate","setSelectedSertificate","appDownloadURL","appDownloadURLMAC","workingUrl","localURL","setloaclURL","scale","setScale","certificates","setCertificates","getSignerAppVersionsResult","signerAppResetResult","refreshTimer","refreshCount","errorbox","guncelnecekEimza","setGuncelnecekEimza","scrollTo","GetSignerAppVersions","isFinancialSeal","programGunceldegil","showWarningMessage","disableImzabutton","LocalSignerPing","useHttps","useLocalhost","axiosResponse","get","timeout","signerAppPingResult","undefined","TryToConnect","LocalSignerReset","programYok","signerAppWindowsUrl","signerAppMacUrl","clearInterval","signerAppStatus","counter","desiredVersion","signerAppPlatform","signerAppWindowsVersion","signerAppMacVersion","sertlist","list","checkTC","signerAppDllVersion","showImzayaHzair","takiliEimzaYok","finally","TopluSign","pin","certificate","createStateOnOnaylarimApiRequest","imzalayanId","validTo","createStateOnOnaylarimApiResponse","createStateOnOnaylarimApiResult","signStepTwoRequest","keyId","keyID","keySecret","pkcsLibrary","slot","signStepTwoResponse","signStepTwoResult","finishSignRequest","signedData","finishSignResponse","imageLoaded","imgset","node","addEventListener","backgroundColor","fontSize","textAlign","personFullname","Sign","finishSignResult","backgroundImage","concat","backgroundRepeat","backgroundSize","backgroundPosition","onLoad","onError","iz","tabindex","NavBarProfileComponent","setUser","profilepic","alt","Link","to","UserDetails","Home","TopHeader","showPanel","ForgotPassword","logindata","UserName","Password","changeLoginButton","activepannel","setActivepannel","onSubmit","TwoStep","searchParams","setSearchParams","useSearchParams","channel","Buffer","from","AES","encrypt","setToken","MevkiSetting","postdata","Add","handleFile","UploadFile","spinner","setSumbitResult","filelabel","KadastralVeri","CBSMahalleMatching","cbsListData","setCBSListData","cbsLocalListData","setCBSLocalListData","listtype","setListType","mergedset","fetchCBSList","fetchCBSLocalList","filterCBS","t2","filterMahalle","cbs","tapumahallead","recs","koordinat","mlistData","mergedList","cbslocal","mahal","mahalleid","matchRecords","MahalleSetting","addall","removeall","ids","CBSMahalleSetting","popoverTriggerEl","bootstrap","Popover","ret","refreshList","CBSAdaSorgula","array10","tapucinsaciklama","tapuzeminref","tapualan","sendRecord","CBSAdaSetting","cbsdata","raktif","rpasif","cql_filter","SettingIdariMahalle","EventPanel","events","setEvents","scolors","rendertolist","groupedEvents","eventDate","tab","comment","para","panel","each","ApplicationPrint","appTypes","appGrupList","setappGrupList","setFileTypeData","React","createRef","setUserdata","allDynamicFilds","setAllDynamicFilds","apptype","fetchAppGrupList","fetchFileList","getFileName","fname","ft","toPdfJSPDF","doc","jsPDF","setFont","setFontSize","cloneNode","colElems","firstChild","getElementsByClassName","parentNode","html","autoPaging","windowWidth","margin","pdf","save","ReactToPdf","appDynamicData","targetRef","_ref2","toPdf","belediyeName","ciktiTitle","getAppGrupName","g","grup","grp","basvuruTarihi","kabulSureci","kabulEdilmeTarihi","mevkiAktif","mevki","tasinamazSahibiAktif","arsaSahibiTC","arsaSahibiTel","printable","yasalUyari","kvkk","basvuruSahibi","basvuruSahibiTC","basvuruSahibiTel","AppMainData","surebg","suretxt","mappedusers","setMappedUsers","setGlobalData","AdaList","setAdaList","MevkiList","setMevkiList","MahalleList","setMahalleList","mahalleCoordinates","setMahalleCoordinates","kontroller","setkontroller","harcFileList","setHarcFileList","arsaSahibiTemp","apptypeList","setAppTypeList","appType","zorunloBosBirakma","disablesabitsorular","disabledinamiksorular","disableaddresarea","appdynamicdata","vekaletenBasvuru","vekilTC","vekilTel","vekilName","fetchAppDynamicFieldList","fetchMappedUsers","fetchUserData","fetchHarcFiles","fetchCoordinates","param","fetchAdaList","query","contentType","opt","selectedIndex","fetchMahalleList","changed","handleDynamicChange","isReadOnly","isVisible","gizli","dynamicFields","dangerouslySetInnerHTML","__html","reqired","initValue","Multiselect","disablePreSelectedValues","emptyRecordMsg","isObject","onSelect","selectedList","changedItem","clist","onRemove","selectedValues","onInput","scrollHeight","readOnly","updateCount","updateTextAreasHeight","textareas","getElementsByTagName","selectedFile","locModal","vekaletDosyaname","googlemap","notfilled","names","newapp","ucret","paymentLink","refreshParent","adaAktif","enlem","boylam","songonderim","pre","Completed","getDuzeltmeKalanSure","denetimlist","activeDenetim","sira","duzeltmeDeadline","surecTamamlanmaTarihi","showCompact","initModal","btnclosedown","tasinamazSahibiZorunlu","mahalleAktif","autoComplete","onKeyPress","which","onBlur","adaZorunlu","idariMahalleAktif","idariMahalle","idariMahalleZorunlu","sokakAktif","sokak","sokakZorunlu","noAktif","no","noZorunlu","TarifeMappingList","tarifeMapping","tarifeCetveli","sorular","mappedTarifeList","setMappedTarifeList","tarife","formatWithDots","numberString","total","setTotal","tarifemappingsil","formul","soru","tip","addNewTarifeRow","mappingid","mapper","allSelectElements","sil","tarifeList","setTarifeList","setTarifeCetveli","pageTotal","fetchTarifeCetveliList","tarifeid","fetchMappedTarifeList","tarifelist","addNewTarif","newmapping","TarifeMapping","SablonHavalePanel","denetimList","setDenetimList","setKontrolorList","fetchKontrollers","gnerateHavaleMappingNames","mapping","getMappingName","sire","getAttribute","td","attr","removeAttr","sablonName","fetchMapping","apply","HavaleYetkiliciPanel","mappingdata","RefreshCounter","basvuruTipiAdimlari","setBasvuruTipiAdimlari","userwork","setUserWork","userwithperms","setUserwithperms","relatedControlors","setRelatedControlors","setDenetimlist","minSira","maxSira","getWorkLoadList","maxCount","minCount","userstat","duzeltme","kontrol","fetchDenetimList","fetchUsersWithPermision","updateuserprojectmapping","basvurutipiid","isadimi","getUserName","uname","Family","dt","innerWidth","appret","setTimeout","sebeb","iadeNotu","denetimId","isAdimi","refreshPanel","Started","func1","gericek","UserStatistics","relatedapps","rids","BasvuruKabulPanel","warningList","checkNote","NotePanel","panelid","appgerigonder","appucretiste","harc","misid","odemekontrol","uploadHarcDosya","apputahakukyap","apponayla","eimzagonder","removeFile","appiade","iadeneden","OnayYetkilisiPanel","setUserName","saveApp","note","iadeEden","appkntorlgeri","RevisionReq","mappingRec","myusername","setmyusername","ischecked","setCommentAfterStart","lastDuzeltmeNo","duzletmeNo","colspan","onKontrol","printbutton","_ref","UserLabel","setNameFamily","duzeltmeDurum","maxlength","mappingId","DenetimPaneli","setApptypeList","setRec","setusername","mission","setMission","commentAfterStart","havaleEdilecekKisiler","scroll","fetchMappedUsersToRelatedApps","getApp","kontrolubaslat","completed","started","duzeltmeiste","ForwardToOtherUser","req","duzeltmeSayi","getDenetimUpdateCount","duzeltmeKotasıDoldumu","duzeltmeIste","sendRevision","mapperName","mapperFamily","Message","mapperUserName","RevisionReqPanel","itemname","kname","kfamily","dlist","displayValue","avoidHighlightFirstOption","removedItem","hidePlaceholder","disable","showControlButtons","onmobile","setOnMobile","backPage","setBackPage","setsabitsorulistData","following","setFollowing","denetimpaenls","setDenetimPaenls","activePanel","setRelatedapps","setSharingType","isFollower","getRelatedApps","getDenetimList","operationPanel","getmypermissionsonproject","makeBold","changeFollow","targeturl","submitApp","mahalleZorunlu","eimzab1","getControllorColor","getControllorDurumText","gonder","isVisibleForUser","muellifAktif","ApplicationAuthorPanel","MaksList","VTable","showRowNumber","rowClick","col","hrefid","AppMonthStatistic","records","setRecords","yil","setYil","years","setYears","appTypeGroups","setappTypeGroups","setappTypes","selectedappTypeGroup","setselectedAppTypeGroup","selectedappType","setSelectedappType","fetchAppTypeGrupList","sp","charts","load","packages","setOnLoadCallback","getAppTypes","sortablelist","obj","ay","toplam","ReactDOM","render","generateTable","populateProjectData","shift","reduce","Set","date","year","dataarray","aylar","drawChart","visualization","arrayToDataTable","AreaChart","draw","chartArea","lineWidth","curveType","legend","vAxis","minValue","gridlines","minorGridlines","animation","duration","easing","MessageMenu","msglist","setMessages","getMessageList","menutxt","MAKSGorevli","maksrec","setMaksRec","takiplist","setTakiplist","getDefult","maksBasvuruId","gorevliTip","regDate","ad","soyad","unvan","MaksProje","adres","autocomplete","bagimsizbolkimlikno","projeOnayKonuKod","acikAdres","projeOnayKonuDiger","onayTarih","bagimsizBolumKimlikNo","odaSicilNo","MaksDuvardolgu","duvarDolguKod","kayitNo","diger","MaksDoseme","dosemeKod","MaksOrtakAlan","getName","ortakAlanKod","MaksIcmesu","icmeSuKod","MaksAtiksu","atikSuKod","MaksMuhtelifGelir","mahiyetKod","makbuzNo","makbuzTarih","tutar","MaksYapiDenetim","yapiDenetimTurKod","tcKimlikNo","yapiDenetimTurDiger","MaksBagimsizBolum","getKullanımName","yapilanIslem","bagimsizDurum","icKapiNo","yuzolcum","arsaPay","arsaPayda","bagimsizBolumTip","binaKimlikNo","brutYuzolcum","katNo","kullanimAmac","numaratajKimlikNo","tadilataKonuOlsunMu","tapuBagimsizBolumNo","Maksisitma","isitmaSistemKod","MaksisitmaYakit","isitmaYakitKod","MaksSuTemin","suTeminKod","MaksSuYakit","suYakitKod","MaksTesisat","tesisatKod","MaksTasiyici","tasiyiciKod","MAKSAdres","boxid","adressId","bagimsizBolumId","bid","handleIlChange","requestType","parentId","ilce","Ad","handleIlceChange","handleMahalleChange","yol","handleYolChange","handleBinaChange","handleBagimsizChange","AcikAdres","saveAdres","MAKS","MaksApp","maksMahalleList","setmaksMahalleList","maksAdresList","setMaksAdresList","yollist","setYols","numarajlist","setNumaratjList","selectedAdres","setSelectedAdres","fetchMaksMahalle","senToMAKS","mainbuttons","recid","Oku","bultenno","Onayla","yapiBelgeAdres_MahalleAdi","yapiBelgeAdres_MahalleKimlikNo","yapiBelgeAdres_DisKapiNo","yapiBelge_YapiDenetimTabi","yapiSahip_BagimsizBolumKimlikNo","yapiSahip_AcikAdres","YambisSorgula","yapiMuteahhit_BagimsizBolumKimlikNo","yapiMuteahhit_AcikAdres","SantiyeSefiSorgula","santiyeSef_BagimsizBolumKimlikNo","santiyeSef_Adres","yapiOzellik_ParselDisiOtopark","MaksGorevli","yapiBelgeDigerHusus_IlkYapiKullanmaIzinBelge","makslist","setMaksList","showTable","handleSelectChange","yapiBelge_YapiBelgeTipKod","yapiBelge_YapiBelgeTipName","ruhsat_RuhsatVerilisAmacKod","ruhsat_RuhsatVerilisAmacName","yols","yolad","kimlikno","kapino","mahalletanitimkod","tanitimkodu","numarataj","yapikimlikno","yapiBelgeAdres_BagimsizBolumNo","yapiBelgeYapi_YapiKimlikNo","yapiBelgeAdres_BagimsizBolumKimlikNo","yapiBelgeAdres_NumaratajKimlikNo","yapiBelgeAdres_CsbmTanitimKod","yapiBelgeAdres_MahalleTanitimKod","bagimsizbolumno","bultenNo","Apply6","Apply5","FilePanel","Apply4","back","selectedAppType","eksiksiz","Apply3","fetchSabitSoruList","Apply2","showalert","fetchMevkiList","fetchIdariMahalleList","mahaleId","mevkiId","Apply1","setIdariMahalle","setApp","mahalid","mevkiid","mspin","mevkiZorunlu","appTypeOptions","setappTypeOptions","hide","check1","check2","apptypesingrup","active","Select","option","applyKVKK","applyKVKKFile","applyAgrement","applyAgrementFile","UserStatisticCard","istats","Statistic","onDragOver","onDrop","onDragEnter","onDragLeave","userid","toFixed","ApplicationListCardView","Component","constructor","super","userDenetimPermissions","myCompareBasvuruTipi","s1","s2","sa","sb","applist","appsauthorlist","müellif","muellifType","userApps","getcontrollerlist","kontrolor","kontrolorNameFamily","tümKontrolorler","findRowCount","sab","userapps","havale","mysablons","kabulPerms","selectedDenetim","getKontrolorName","allowDrop","drop","dataTransfer","getData","currentHolder","currentMappingID","ctrlKey","getdenetimpermsraw","getUserApps","getApplicationList","mapusertoproject","droppedAppId","droppedUser","colnames","bind","generateOpenList","renderToCards","getSablon","filterTable","handleSablonChange","handleDenetimChange","generateAyYil","bordercolors","droppedUserName","componentDidMount","fetchkabullistperm","forTableView","getItem","colNames","denetimperms","notremoved","currentUser","istatistic","Toplam","diffTime","ceil","Sonay","Sonyil","users","appglist","filteredUserApps","pass","Kontrol_Ediliyor","Sirada_Bekliyor","Duzeltme_Bekleniyor","renderToGroupCards","seldenetimlist","restb","tablegdata","grec","AppCard","kontrolUserName","selectedSablonIndex","userdenetimlist","Dashboard","showSideBar","setshowSideBar","searchAda","decrypted","decrypt","enc","Utf8","userfilenamelist","match","RegExp","Login","telemailconfirmed","eksik","ekseik","UserFilePanel","refreshFiles","mainpanelclass","sidemenuclass","CommonSideBar","setComponent","KurumLogo","SearchAppTKGM","adaList","setAdaeList","selectedAda","setSelectedAda","getCBSADA","matchedCbsId","setApplist","showArchived","setShowArchived","spinnerClass","setSpinnerClass","appGroups","setAppGroups","setAppfieldlist","devamstat","setDevamstat","setFilter","mysablonlist","setMysablonlist","setColnames","setuserKabulListPerms","getAppGroupList","fetchappfieldlist","stopSpinner","startSpinner","oa","ob","myCompareRev","slist","forListView","fillAuthoresAndControllers","tümKontrolorlerUserNames","muellifCount","totallContolorCount","activeContolorCount","allmuelliflist","persons","mdata","sablonlist","denetimName","getcurrentFilters","root","keywordElem","keyword","getSortedList","sf","hashtable","deleteApp","removeComment","reduceTotalNames","num","parts","appState","generateColumnHeader","renderToList","devamarray","filters","appDData","stopPropagation","verticalAlign","applyFilter","showArchiveList","show","noarch","handleGroupChange","EImzaMenu","setEimzaList","bekleyeneimza","FileSettingDetaile","fileNames","setfileNames","fileGurups","setFileGrupList","typeOptions","setTypeOptions","zoptions","setZOptions","setrol","roles","setRoles","fetchGrupList","fetchRoles","on","regex","fromCharCode","charCode","similarItemSelect","mus","creatorUserName","crerateTime","gurupid","FileSettingList","showWindow","windowElement","inputText","matchedItems","similarity","rect","getBoundingClientRect","left","top","bottom","ms","current","resetSelectedValues","getFileGrupName","gurup","SablonMappingPanel","rolList","setRolList","sablons","multiselectRef","fetchSablonMapping","fetchRoleList","sablonSelect","Sil","updatemapping","userId","selectedItem","addMapping","UserId","getSelectedItems","SablonName","values","EkranSetting","setPostData","colorset","fetchSablonList","fetchFieldList","op","ClearFilter","AddFilter","andor","oper","filtervalue","myfilter","AddArtan","filterColSelect","AddAzalan","clearSort","removeSablon","MevzuaatSetting","selectedRecord","getHelpList","ReactQuill","theme","postDate","updateMevzuuat","BasvuruAlaniDetail","appRec","basvuruTurleri","denetims","multiselectRefNew","multiselectRefNewRole","BasvuruAlanlariSetting","mytable","setbasvuruTurleri","getdenetimlist","CommunicationSetting","changeAktifPanel","submitUpdateSMS","apikey","sifre","userCode","accountId","serviseAddress","apiKey","fetchSMSSetting","password","smtpPort","smtpServer","networkUserName","tls","onMouseDown","sendTestSMS","submitUpdateEmail","sendTestEmail","GeneralSettingPanel","duplicateList","setDuplicateList","showPopup","onMouseUp","popupMessage","popupMessageFile","registerKVKK","registerKVKKFile","registerAgrement","registerAgrementFile","showRevisionNoteAfterSend","twoStepSMS","twoStepEmail","setGeneralData","fetchduplicate","overflowY","border","padding","UserTypePanel","SureclerPanel","stage","createTime","additional","SettingUserFile","multiselectRef2","onSelect1","onRemove1","onSelect2","onRemove2","RegisterSettingPanel","DuyuruSetting","HelpSettingPanel","fetchUserTypeList","ReportSetting","baseRow","removeReport","SettingRoles","setAciklamaData","setpostdata","popover","setpopover","getyetkiaciklamalist","dataset","bsContent","getAciklama","yetki","handleCheckBoxChange","perms","is","hasperm","p","takip","defaultrole","AllApplicationList","showremoved","setShowremoved","refreshButton","setAppRemovedState","isremoved","HavaleSablonSetting","basvuruTipleri","setBasvuruTipleri","kontrolorListForSelectTask","setKontrolorListForSelectTask","isAdimlari","setIsAdimlari","selectableIsAdimlari","setselectableIsAdimlari","setMapping","fetchIsAdimlariList","isadimlar","getDenetimName","recalculateSira","sortedArray","missingNumbers","stringToMapping","mappingToString","amp","map2","SaveSablon","update","Reset","IadeListesi","fetchlist","getapp","SharedApplicationList","view","showApplication","UserList","denetimPermList","setDenetimPermList","roleList","setroleList","showKaraliste","setShowKaraListe","getdenetimperms","u","yetkiler","getRoleName","karaliste","confirm","Navigate","leftpanelitems","UserWorkLoad","Register","AppGroupSetting","setSurecData","DelayedApplications","getColorIdx","gecikme","verilesure","getVerilenSure","TakipEdilenler","fetchTakipList","SurecSta","setReccount","totalrec","childElementCount","startDate","endDate","dataarray1","cidx","filteredData","hAxis","slantedTextAngle","textStyle","baselineColor","annotations","stem","alwaysOutside","auraColor","chart","ColumnChart","PersonelPerfSta","setAppType","refcounter","setRefcount","setUserApps","setStartDate","setEndDate","selectedPersons","setSelectedPersons","filterPersons","checkboxes","checkedIds","checkbox","Kullanıcı","Biten","Devam","Sırada","basvurutipleri","sortedBasvuruTipleri","biten","devam","bekleyen","ortalama","namefamily","unmountComponentAtNode","generateReport","TmamlanmaStat","appGurupType","setAppGurupType","chartType","setChartType","appTypeList","setappTypeList","basvurutipistat","mevkistat","mahallestat","indexname","keys","toplamBasvuru","gunOrtalama","ayOrtalama","drawChartSingleCol","mydata","nodata","apptypesInGrurup","ilkBasvuruTamamlandi","Report","downloadUrl","setDownloadUrl","tableData","report","columns","columnSet","StatisticPanel","reports","setReports","BasvuruAdetStat","HelpVideoPanel","helpRec","setHelpRec","HelpPanel","resize","makaleList","setMakaleList","formList","setFormList","myuserName","fetchMakaleList","fetchSampleFormList","helplistTable","sampleformTable","makalelistTable","userTypes","mylist","lastIndexOf","renderMakaleTable","filname","FileSettingPanel","readonly","FileGroupsSetting","savedenetim","EimzaNameSetting","ekleyen","gerial","uuid","AppTypeGroupSetting","MakaleSetting","SampleFormSetting","MevzuatPanel","getFileIcon","mevzuatTable","DeletedAppList","delete_comment","ArchivedAppList","RemovedFiles","setFilelist","getFileList","removeRecs","BasvuruTipleriDetail","setbasvuruTipi","showIsAdimlari","setShowIsAdimlari","BasvuruTipleriList","stringSimilarity","compareTwoStrings","hizliArsiv","onaysureci","ruhsatsureci","paralelBasvuru","muellifZorunlu","precondition","addBasvuruTipiisAdimi","rec2","removeBasvuruTipiisAdimi","userDenetimPerms","setuserDenetimPerms","setUserList","getbasvurutipiadiımlari","fetchUserList","w","fullName","closeOnSelect","DenetimId","renderIsAdimiTable","TarifeCetveliSetting","nitelik","deger","low","high","TarifeDetail","setTarife","formulaParts","setFormulaParts","selectedPart","setSelectedPart","finalFormula","setFinalFormula","setSelectedOperator","conditionLeft","conditionRight","ifTrueValue","ifFalseValue","conditionOperator","lastElementType","setLastElementType","handleAddKey","resetCombos","resetIfModal","addSoru","soruadi","sorutipi","sorudegeri","newsoru","renderDropdown","setValue","newtarife","TarifeSetting","renderSorularTable","splice","soruSil","constant","handleAddConstant","handleAddOperator","handleSavePart","currentPart","prev","part","handleAddToFinalFormula","formulaUpdate","handleSaveIfStatement","ifStatement","AllEvents","items","currentPage","setCurrentPage","sendRequest","cp","start","end","Pagination","totalCount","pageSize","onPageChange","totalPages","pageNumbers","_","whiteSpace","handlePageChange","tags","UserAppCard","SablonFileSetting","BasvuruAlanlariuSetting","Register1","AppTypePanel","DocumentSetting","CBSMAhalleLocal","info","setInfo","getcbsinfo","AdaSetting","EImza","setEimza","imzalayanlist","setimzalayanlist","showImzaciList","getimzalistesi","doremove","fetcheimzatasks","rejectEimza","rejectText","getImzaButtons","rejected","rejecttext","seteimzaremovestatus","imzaiptal","minsira","MAX_SAFE_INTEGER","eimzaTextPos","success","veriGirisindenSonraIndirme","veriGirisTarihi","rejectedBy","updateEimza","basvuruCiktisi","imzaType","rol","vizeKontrolTur","siraTarih","imzalayabilenler","setImzalayabilenler","eimzatasklist","setEimzatasklist","showFromAllApps","setShowFromAllApps","eimzaNameList","setEimzaNameList","getvakaletdurums","getyeniimzalistesi","fetchEimzaNameList","getimzalayabilenler","vekils","vekil","maxRepeat","refreshIntervalId","setInterval","animate","scrollTop","offset","addClass","submiteimzadata","posrdata","adaylar","showNamesOnPDF","buton","new_element","selectedRol","Rol","roldindex","siras","imazalayan","eimzaid","adayEkle","imzalistesi","iz2","adaySil","startNewEimza","fr","FileReader","serviceProvider","providerselect","imzatur","imzaturelem","surecName","surecisim","basvuruDurmu","readAsDataURL","onloadend","evt","ez","adaylariKopyala","Gorebildigi_Basvurulari_Editleme","Yeni_Basvuru_Yapabilme","Yeni_Basvuruda_Zorunlu_Alanlari_Bos_Birakabilme","Adres_Defterini_Gorme","Adres_Defterini_Duzenleme","Kontrolor_Istatistiklerini_Gorme","Proje_Istatistiklerini_Gorme","Muellif_Istatistiklerini_Gorme","Mekansal_Istatistikleri_Gorme","Zamansal_Istatistikleri_Gorme","Anlik_Istatistikleri_Gorme","Yonetmelik_Yukleme","Basvuru_Formu","Basvuru_Liste","Ekran_Yonetimi","Dosyalar","Dosya_Yukleme","Dosya_Gizleme","Dosya_Degistirme_Silme","Surecler","Kullaniciyla_Kart_Paylasimi","Link_ile_Kart_Paylasimi","Manuel_Bildirim_Gonderme","Yeni_Kullanici_Kaydetme","Yeni_Kullanici_Kaydinda_Zorunlu_Alanlari_Bos_Birakabilme","Kullanici_Listesini_Gorme_Profil_Bilgilerini","Kullanici_Bilgilerini_Editleme_Roller_Denetim_Yetkileri_Haric","Kullanici_Denetim_Yetkilerini_Editleme","Kullanici_Silme","Basvuru_Silme","Kullanici_Tipleri","Kullanici_Kayit_Formu","Kullanici_Rolleri","Is_Yuku","Kullnici_Kara_Liste","Duyuru_Yonetimi","Tarife_Yonetimi","Tarife_Gorme","Tarife_Duzenleme","Kurum_Bilgileri","Pop_Up_Yonetimi","Yardim_Ekranlari","Gizli_Alanlari_Gorme","Gizli_Basvuru_Gorme","Basvurudan_Sonra_Sabit_Editleme","Basvurudan_Sonra_Dinamik_Editleme","Sifre_Degistirme","Tum_Geciken_Basvurular","Basvuru_Vekili_Update","Dosyalari_Eimzaya_Acima","Basvuru_Onaylama","Eksiklik_Girme","Havale_Yapma","Ruhsat_Onaylama","Imzaya_Açma","Imza_Silme","Imza_Veri_Girisi","Imza_Vize_Kontrol","Imza_Yerlestirme","Imza_Guncelleme","Imza_Sertifikali","Basvuru_Onaylama_Kontrolorden_Sonraki_Biti_Onayi","Ruhsat_Kesme","Iade_Basvuruyu_Gonderme","Vekalet_Onay","Kontrolor_Dosyasi_Yukleme","Ilgili_Basvurulari_Gorme","Kalan_Sure_Gorme","Kadastral_Ayarlar","Edevletsiz_Basvuru","EImzali_Gonderme","Sabitlenen_Profil_Degistirme","MAKS_Veri_Girisi","Gizli_Aktiviteleri_Gorme","Basvuru_Arsiv","Basvuru_Arsiv_Cikar","Eimza_Geri_Alma","DWG_Karsilastirma","Surec_Sonu_Dosya_Indirme","Basvuru_Durumu_Taslak","Basvuru_Durumu_Onay_Bekliyor","Basvuru_Durumu_Havale_Bekliyor","Basvuru_Durumu_Kontrol_Sirada_Bekliyor","Basvuru_Durumu_Kontrol_Ediliyor","Basvuru_Durumu_Duzeltme_Bekleniyor","Basvuru_Durumu_Kontrol_Tamamlandi","Basvuru_Durumu_Onay_Verildi","Basvuru_Durumu_Ruhsat_Verildi","Basvuru_Durumu_Iade_Edildi","Basvuru_Durumu_Ucret_Bekleniyor","Basvuru_Durumu_Tahakkuk_Bekleniyor","Basvuru_Durumu_EIMZA_Bekleniyor","Basvuru_Durumu_GeriGonderildi","Basvuru_Durumu_Harc_Odeme_Kontrolu_Bekliyor","EIMZA_IPTAL","EIMZA_BEKLENIYOR","BASKA_BASVURU_GONDERME","HARC_DOSYALARI","sureslist","ftitle","titleTextStyle","is3D","targetc","PieChart","sureclist","dataarray2","Aktif","Tamamlanan","ToDoList","duyurucount","changeSize","taskName","DuyuruPanel","disablePopup","stat","todo","Calendar","duyuru","numPages","setNumPages","draggedObjectList","setDraggedObjectList","pageNumber","setPageNumber","detectedPos","detectedPosObject","placeObjectsOnPic","updateWidthHeight","clientWidth","offsetWidth","myid","textobj","clientHeight","drag","grabX","clientX","grabY","clientY","dragid","DraggedObject","div","parentElement","droppableDiv","activepaneldiv","scleft","scrollLeft","sctop","dragWidth","dragHeight","offsetLeft","offsetTop","zIndex","fontsize","font","dragleave","enter","updateBoxfont","paftaRuhsatTarih","paftaRuhsatOnayKod","kot","bend","madde","xloc","yloc","draggable","div0","updatefont","submitEimzaVisualSetting","onDragStart","getUnwknownItems","boxWidth","myuser","picSize","getuserinfo","showUserName","App","process","Router","Routes","Route","path","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","StrictMode","waiting","muelliflist","setTabledata","previousAppAuthors","setPreviousAppAuthors","userTypeList","setUserTypeList","setVekils","fetchPreviousAppsAuthers","addAuthor","newlist","vekiller","ulist","gecicimuellif","gecicisure","getuser","myself","Vekalet","setDevamStat","showgroups","generateGroupList","tumu","notes","setNotes","fetchNotes","iadeTarihi","vizekontrolValue","setvizekontrolValue","mappingID","shareduserList","setSharedUserList","fetchSharedUsers","compactList","sharedBy","sharingDate","addSharing","getValue","updateeimza","hasloc","getloc","x_text","ev","y_text","w_text","h_text","font_size","x_qr","y_qr","scale_qr","yapiBelgeOnay","yapiBelgeNo","yapiOnayKod","ruhsatOnayTarih","ruhsatNo","ruhsatTarih","ruhsatOnayKod","yikimRuhsatOnayTarihi","yikimRuhsatNo","yikimRuhsatGecerlilikTarihi","yikimOnayKod","yananFormOnayTarih","yananFormNo","yananOnayKod","teslimtarihi","selectedfile","loadspin1","setfile","bars","Bar","convertOptions","UserPersonelData","birthdate","UserMeslekData","meslek","pozisyonu","firmaKonumu","firmaWebSitesi","DenetimPermissionPanel","setdenetimList","denetim","ListAppTypePermission","selectedids","KabulAppTypePermission","UserTypeData","multiselectUserTypeRef","rolelist","setRollist","opts","sabitImzaci","hideEvents","pasif","karalistesure","filds","setDynamicFields","dynamicdata","dynamicData","getFieldList","writeDynamicDataToObject","UserEventsPanel","ddata","pic","updatePassword","mevcut","new1","new2","myString","hasChar","sifrepanel","twoStep","UserTipData","UserDynamicData","Register3","captcha","setCaptcha","fetchgetcaptcha","grecaptcha","getResponse","Register2","zorunlo","edevletlogin","CBSADAMatching","matchresult","setMAtchResult","fetchCbsList","nums","removenotmatched","addnotmatched","taskpart","claclassNamess","count","removeAda","renderAdaTable","renderCBSTable","getMahalleName","mahalleId","karaListeTarih","searchKeyword","setSearchKeyWord","recivedRecCount","len","random","searchSimilarAdas","strtType","EventSource","onmessage","insertRow","trowcount","deleteRow","cell0","insertCell","cell1","cell2","cell3","cell4","onopen","onerror","updateTime","sk","workload","setWorkLoad","params","changeTab","renderToListMuellif","renderToListKontrolor","rowCount","UserUploadFilePanel","setFileType","uploadspinner","extns","idxx","handleTypeChange","getOptions","o","tag","setUserNAme","getAppTypeName","dragCount","id1","setDragImage","appdata","RegisterUser","overedvelet","setOveredevlet","registeroveredevlet","user_d","verify","klavuzlink","setklavuzlink","login","fontFamily","VersionData","version","setFileName","authorMappingID","vekilUserName","muvekkilTC","muvekkilName","muvekkilFamily","approved"],"mappings":"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","file":"static/js/main.628a8f49.chunk.js","sourcesContent":["import { createGlobalState } from 'react-hooks-global-state';\r\nimport * as UserPermConstants from './User/UserPermConstants';\r\nimport Swal from 'sweetalert2';\r\n\r\nwindow.Swal = Swal;\r\nexport const chartColors = ['#E63E3E', '#D7A8DB', '#8E81DC', '#507EEA', '#0057C2', '#2F95C1', '#2E4C6D', '#396EB0', '#E69080', '#2E4C6D', '#396EB0', '#DADDFC',]\r\nexport const chartTextColors = ['#E5BC00', '#01E044', '#00A5DB', '#EAE100', '#3DC100', '#00B8DB', '#7008DB', '#DB2800', '#59A3DC']\r\n\r\nexport const myGlobalState = {\r\n role: \"\",\r\n userName: \"\",\r\n userData: null,\r\n loginfromedevlet: false,\r\n token: \"\",\r\n globalData: null,\r\n archivedAppList: [],\r\n archivedAppDate: \" \"\r\n};\r\nvar myglobal = createGlobalState(myGlobalState);\r\n\r\nexport const { useGlobalState } = myglobal\r\n\r\n\r\nexport const capitalizeWords = (str) => {\r\n if (str == null || str.length == 0 || str == \"\")\r\n return str;\r\n // split the string into words\r\n const words = str.split(' ');\r\n\r\n // iterate over each word\r\n const capitalizedWords = words.map((word) => {\r\n // handle Turkish special characters\r\n const specialChars = { ' i': ' Ä°', ' ı': ' I', ' ÄŸ': ' Ä' };\r\n word = word.replace(/([ i I ı ÄŸ])/g, (char) => specialChars[char] || char);\r\n\r\n // capitalize the first letter of the word\r\n return word.charAt(0).toUpperCase() + word.slice(1);\r\n });\r\n\r\n // join the capitalized words back into a string\r\n return capitalizedWords.join(' ');\r\n}\r\n\r\n\r\nexport const changeTurkceToEnglis = (s) => {\r\n if (s == null) return \"\";\r\n return s.replaceAll(\"ÅŸ\", \"s\").replaceAll(\"Å\", \"S\").replaceAll(\"ı\", \"i\")\r\n .replaceAll(\"Ä°\", \"I\").replaceAll(\"ÄŸ\", \"g\").replaceAll(\"Ä\", \"G\").replaceAll(\"ü\", \"u\").replaceAll(\"Ãœ\", \"U\")\r\n .replaceAll(\"ç\", \"c\").replaceAll(\"Ç\", \"C\").replaceAll(\"Ö\", \"O\").replaceAll(\"ö\", \"o\")\r\n}\r\n\r\nexport const ajaxFail = (response, showAlert) => {\r\n console.log(response.statusText)\r\n response.text().then(value => {\r\n console.log(value)\r\n if (showAlert == true)\r\n showErrorMessage(value);\r\n\r\n })\r\n if (response.status == 401) {\r\n logout();\r\n }\r\n}\r\n\r\nexport const cutString = (s, n) => {\r\n if (s == null)\r\n return \"\";\r\n if (s.length <= n)\r\n return s;\r\n return s.substr(0, n) + \"...\";\r\n}\r\n\r\nexport const isEmpty = (x) => {\r\n return x == null || x.length == 0 || (x.trim!=null && x.trim().length==0)\r\n}\r\n\r\n\r\n\r\nconst passFild = (rec, colname, appfieldlist) => {\r\n if (colname == null || rec == null || rec.basvuruTipi == null)\r\n return true;\r\n var field = appfieldlist.find(x => x.name == colname);\r\n if (field.basvuruTipi == null || field.basvuruTipi.length == 0)\r\n return true;\r\n if (field.basvuruTipi.includes(rec.basvuruTipi))\r\n return true;\r\n return false;\r\n}\r\n\r\n\r\nexport const getBolean = (v) => {\r\n try {\r\n if (v == null)\r\n return false;\r\n if (v == true || String(v).toLowerCase() == \"true\") {\r\n return true;\r\n }\r\n return false;\r\n }\r\n catch (ex) {\r\n return false;\r\n }\r\n return false;\r\n}\r\n\r\n\r\n\r\nexport const passFilter = (rec, filter, username, userKabulListPerms, appfieldlist) => {\r\n try {\r\n\r\n if (filter == null || filter.length == 0) return true;\r\n var result = false;\r\n var conds = filter.split(\",\");\r\n if (conds == null) return true;\r\n\r\n var dynamicSoru = rec.appDataObject;\r\n\r\n for (var i = 0; i < conds.length; i++) {\r\n var currentCondition = conds[i].trim();\r\n var and = currentCondition.includes(\"AND\") || conds.length == 1;\r\n and = and || (i == 0 && conds.length > 1 && conds[1].trim().includes(\"AND\"));\r\n currentCondition = currentCondition.replaceAll(\"AND\", \"\");\r\n currentCondition = currentCondition.replaceAll(\"OR\", \"\");\r\n if (currentCondition.includes('>')) {\r\n var c = currentCondition.split(\">\");\r\n var colname = c[0].trim();\r\n\r\n\r\n var value = c[1].trim().split(\";\");\r\n if (rec[colname] != null) {\r\n if (typeof rec[colname] == 'string' || rec[colname] instanceof String) {\r\n if (!value.some(v => rec[colname].localeCompare(v) >= 0)) {\r\n if (and == true)\r\n return false;\r\n }\r\n else result = true;\r\n }\r\n else if (!value.some(v => rec[colname] > v)) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else {\r\n if (dynamicSoru != null) {\r\n if (!passFild(rec, colname, appfieldlist))\r\n return false;\r\n\r\n if (dynamicSoru[colname] == null || !value.some(v => parseInt(dynamicSoru[colname]) > parseInt(v))) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else\r\n if (and == true) return false;\r\n }\r\n }\r\n if (currentCondition.includes('<')) {\r\n var c = currentCondition.split(\"<\");\r\n var colname = c[0].trim();\r\n\r\n var value = c[1].trim().split(\";\");\r\n if (rec[colname] != null) {\r\n\r\n if (typeof rec[colname] == 'string' || rec[colname] instanceof String) {\r\n if (!value.some(v => rec[colname].localeCompare(v) <= 0)) {\r\n if (and == true)\r\n return false;\r\n }\r\n else result = true;\r\n }\r\n else if (!value.some(v => parseInt(rec[colname]) < parseInt(v))) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else {\r\n if (dynamicSoru != null) {\r\n if (!passFild(rec, colname, appfieldlist))\r\n return false;\r\n if (dynamicSoru[colname] == null || !value.some(v => parseInt(dynamicSoru[colname].value) < parseInt(v))) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else\r\n if (and == true) return false;\r\n }\r\n\r\n }\r\n if (currentCondition.includes('=') == true && currentCondition.includes(\"!=\") == false) {\r\n var c = currentCondition.split(\"=\");\r\n var colname = c[0].trim();\r\n\r\n var value = \"\";\r\n\r\n if (colname == \"kontrolor\" || colname == \"müellifKullanıcıAdı\" || colname == \"basvuruYapan\") value = [username]; //if knorolor value is empty set it to username\r\n if (colname == \"basvuruTipi\") {\r\n value = userKabulListPerms //if basvuruTipi value is empty set it to userkabullist\r\n if (value == null || value.length == 0)\r\n value = [rec[colname]];\r\n }\r\n if (c.length > 1 && c[1] != null && c[1].length > 0) {\r\n value = c[1].trim().split(\";\");\r\n }\r\n\r\n\r\n\r\n if (rec[colname] != null) { //kontrolor field may have more than one kontrolor user name\r\n if (!value.some(v => (rec[colname] == v\r\n || ((colname == \"kontrolor\" || colname == \"müellifKullanıcıAdı\") && rec[colname].includes(v))))) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else {\r\n if (dynamicSoru != null) {\r\n if (!passFild(rec, colname, appfieldlist))\r\n return false;\r\n if (value.some(v => v == false) && dynamicSoru[colname] == null) {\r\n result = true;\r\n }\r\n else if (dynamicSoru[colname] == null || !value.some(v => dynamicSoru[colname] == v || dynamicSoru[colname].value == v || String(dynamicSoru[colname].value).toLowerCase() == String(v).toLowerCase())) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else\r\n if (and == true) return false;\r\n }\r\n }\r\n if (currentCondition.includes('!=')) {\r\n var c = currentCondition.split(\"!=\");\r\n var colname = c[0].trim();\r\n\r\n var value = \"\";\r\n if (colname == \"kontrolor\" || colname == \"müellifKullanıcıAdı\" || colname == \"basvuruYapan\") value = [username];\r\n if (c.length > 1 && c[1] != null && c[1].length > 0) {\r\n value = c[1].trim().split(\";\");\r\n }\r\n if (rec[colname] != null) {\r\n if (!value.some(v => rec[colname] != v)) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else {\r\n if (dynamicSoru != null) {\r\n if (!passFild(rec, colname, appfieldlist))\r\n return false;\r\n if (dynamicSoru[colname] == null || !value.some(v => parseInt(dynamicSoru[colname].value) == parseInt(v))) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else\r\n if (and == true) return false;\r\n }\r\n }\r\n if (currentCondition.includes('ISNOTNULL')) {\r\n var c = currentCondition.split(\"ISNOTNULL\");\r\n var colname = c[0].trim();\r\n\r\n\r\n if (rec[colname] == null) {\r\n if (dynamicSoru != null) {\r\n if (dynamicSoru[colname] == null) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else\r\n if (and == true) return false;\r\n }\r\n }\r\n if (currentCondition.includes('ISNULL')) {\r\n var c = currentCondition.split(\"ISNULL\");\r\n var colname = c[0].trim();\r\n if (!passFild(rec, colname, appfieldlist))\r\n return false;\r\n if (isEmpty(rec[colname])) {\r\n if (isEmpty(dynamicSoru) == false) {\r\n if (!passFild(rec, colname, appfieldlist))\r\n return false;\r\n if (isEmpty(dynamicSoru[colname]) == false) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else result = true;\r\n }\r\n else return false;\r\n }\r\n if (currentCondition.includes('LIKE') && !currentCondition.includes('NOTLIKE')) {\r\n var c = currentCondition.split(\"LIKE\");\r\n var colname = c[0].trim();\r\n value = [username]\r\n if (c.length > 1 && c[1] != null && c[1].length > 0) {\r\n value = c[1].trim().split(\";\");\r\n }\r\n else {\r\n if (colname == \"tümKontrolorler\")\r\n colname = \"tümKontrolorlerUserNames\"; //tümKontrolorler ler boÅŸ seçilirse isim soyisim yerine kullanıcı adıyla aratılacak\r\n }\r\n\r\n\r\n if (rec[colname] != null && rec[colname].toString().length>0) {\r\n if (!value.some(v => rec[colname].toString().includes(v))) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else {\r\n if (dynamicSoru != null) {\r\n if (!passFild(rec, colname, appfieldlist))\r\n return false;\r\n if (dynamicSoru[colname] == null || !value.some(v => dynamicSoru[colname].value.toString().includes(v))) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else\r\n if (and == true) return false;\r\n }\r\n }\r\n\r\n if (currentCondition.includes('NOTLIKE')) {\r\n var c = currentCondition.split(\"NOTLIKE\");\r\n var colname = c[0].trim();\r\n\r\n var value = c[1].trim().split(\";\");\r\n if (rec[colname] != null) {\r\n if (value.some(v => rec[colname].toString().includes(v))) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else {\r\n if (dynamicSoru != null) {\r\n if (!passFild(rec, colname, appfieldlist))\r\n return false;\r\n if (dynamicSoru[colname] != null && value.some(v => dynamicSoru[colname].value.toString().includes(v))) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n return result;\r\n }\r\n catch (ex) {\r\n\r\n }\r\n return false;\r\n}\r\n\r\n\r\n\r\n//-----------------------------------------------------------------------\r\n\r\n\r\n\r\nexport const getappdata = (id, callback) => {\r\n fetch(\"getapp\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async app => {\r\n callback(app);\r\n });\r\n\r\n }\r\n });\r\n}\r\n\r\n\r\n\r\nexport const checkSpecialChars = (id, callback) => {\r\n fetch(\"getapp\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async app => {\r\n callback(app);\r\n });\r\n\r\n }\r\n });\r\n}\r\n\r\nexport const removeTurkce = (s) => {\r\n if (s == null)\r\n return \"\";\r\n return s.replaceAll('ı', 'i').replaceAll('ç', 'c').replaceAll('ÅŸ', 's').replaceAll('ü', 'u').replaceAll('ö', 'o')\r\n .replaceAll('ÄŸ', 'g').replaceAll(\"Ä°\", \"I\").replaceAll(\"Ä\", \"G\")\r\n .replaceAll('Ö', 'O').replaceAll(\"Ãœ\", \"U\").replaceAll(\"Ç\", \"C\").replaceAll(\"Å\", \"S\");\r\n}\r\n\r\nexport const removeTurkcLow = (s) => {\r\n if (s == null)\r\n return \"\";\r\n return s.replaceAll('ı', 'i').replaceAll('ç', 'c').replaceAll('ÅŸ', 's').replaceAll('ü', 'u').replaceAll('ö', 'o')\r\n .replaceAll('ÄŸ', 'g').replaceAll(\"Ä°\", \"i\").replaceAll(\"I\", \"i\").replaceAll(\"Ä\", \"g\")\r\n .replaceAll('Ö', 'o').replaceAll(\"Ãœ\", \"u\").replaceAll(\"Ç\", \"c\").replaceAll(\"Å\", \"s\").toLowerCase();\r\n}\r\n\r\nexport const toUpperCaseTurkce = (s) => {\r\n if (s == null)\r\n return \"\";\r\n return s.replaceAll('i', 'Ä°').replaceAll('ç', 'Ç').replaceAll('ÅŸ', 'Å').replaceAll('ü', 'Ãœ').replaceAll('ö', 'Ö')\r\n .replaceAll('ÄŸ', 'Ä').replaceAll(\"ı\", \"I\").toUpperCase();\r\n}\r\n\r\nexport const toLowerCaseTurkce = (s) => {\r\n if (s == null)\r\n return \"\";\r\n return s.replaceAll('Ä°', 'i').replaceAll('Ç', 'ç').replaceAll('Å', 'ÅŸ').replaceAll('Ãœ', 'ü').replaceAll('Ö', 'ö')\r\n .replaceAll('Ä', 'ÄŸ').replaceAll(\"I\", \"ı\").toLowerCase();\r\n}\r\n\r\n\r\nconst BusinessDays = (dDate1, dDate2) => { // input given as Date objects\r\n var iWeeks, iDateDiff, iAdjust = 0;\r\n\r\n if (dDate2.toDateString() == dDate1.toDateString())\r\n return 0;\r\n\r\n if (dDate2 < dDate1) {\r\n var t = dDate1;\r\n dDate1 = dDate2;\r\n dDate2 = t;\r\n }\r\n var iWeekday1 = dDate1.getDay(); // day of week\r\n var iWeekday2 = dDate2.getDay();\r\n iWeekday1 = (iWeekday1 == 0) ? 7 : iWeekday1; // change Sunday from 0 to 7\r\n iWeekday2 = (iWeekday2 == 0) ? 7 : iWeekday2;\r\n if ((iWeekday1 > 5) && (iWeekday2 > 5)) iAdjust = 1; // adjustment if both days on weekend\r\n iWeekday1 = (iWeekday1 > 5) ? 5 : iWeekday1; // only count weekdays\r\n iWeekday2 = (iWeekday2 > 5) ? 5 : iWeekday2;\r\n\r\n // calculate differnece in weeks (1000mS * 60sec * 60min * 24hrs * 7 days = 604800000)\r\n iWeeks = Math.floor((dDate2.getTime() - dDate1.getTime()) / 604800000)\r\n\r\n if (iWeekday1 < iWeekday2) { //Equal to makes it reduce 5 days\r\n iDateDiff = (iWeeks * 5) + (iWeekday2 - iWeekday1)\r\n } else {\r\n iDateDiff = ((iWeeks + 1) * 5) - (iWeekday1 - iWeekday2)\r\n }\r\n\r\n iDateDiff -= iAdjust // take into account both days on weekend\r\n\r\n return iDateDiff; // add 1 because dates are inclusive\r\n}\r\n\r\nexport const calcBusinessDays = (dDate1, dDate2) => { // input given as Date objects\r\n return BusinessDays(dDate1, dDate2);\r\n}\r\n\r\n\r\n\r\nexport const getDenetimSure = (rec, apptypelist, appData, message) => {\r\n\r\n if (rec == null || apptypelist.length == 0)\r\n return \"\";\r\n const surebg = [\"#c9f7f5\", \"#e1f0ff\", \"#fff4de\", \"#ffe2e5\"]\r\n const suretxt = [\"text-info\", \"text-primary\", \"text-warning\", \"text-danger\"]\r\n\r\n var denetimid = rec.denetimID;\r\n var havaleDate = rec.mappingDate;\r\n\r\n\r\n if (appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Kontrol_Ediliyor\r\n && appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Kontrol_Sirada_Bekliyor) return \"\";\r\n\r\n var d = apptypelist.find(x => x.id == denetimid);\r\n if (d == null) return \"\";\r\n\r\n d = d.deadline;\r\n if (d == null) return \"\";\r\n\r\n var deliverdate = havaleDate.split(\" \")[0].replaceAll(\".\", \"-\") + \" 12:00:00\"\r\n havaleDate = new Date(havaleDate.split(\" \")[0].replaceAll(\".\", \"-\") + \" 12:00:00\");\r\n\r\n if (isEmpty(rec.deliverDate) == false)\r\n deliverdate = rec.deliverDate.split(\" \")[0].replaceAll(\".\", \"-\") + \" 12:00:00\";\r\n var h = new Date(deliverdate);\r\n if (h < havaleDate)\r\n h = havaleDate;\r\n if (isEmpty(appData.sonDuzeltmeTarihi) == false && appData.sonDuzeltmeTarihi.includes(\" \")) {\r\n var sonduzeltme = new Date(appData.sonDuzeltmeTarihi.split(\" \")[0].replaceAll(\".\", \"-\") + \" 12:00:00\");\r\n if (h < sonduzeltme)\r\n h = sonduzeltme;\r\n }\r\n var nw = new Date(Date.now());\r\n var diffDays = d - calcBusinessDays(nw, h)\r\n if (isNaN(diffDays)) {\r\n return \"dd:\" + diffDays + \" d:\" + rec.deliverDate + \" h:\" + h.toDateString() + \" now:\" + nw.toDateString();\r\n }\r\n var i = diffDays > d * 2 / 3 ? 0 : diffDays > d / 3 ? 1 : diffDays > 0 ? 2 : 3;\r\n return <div className={\" p-2 text-center fw-bold rounded-2 \" + suretxt[i]} style={{ \"background-color\": surebg[i], \"border-radius\": 3 }}>{message} {diffDays}</div>\r\n}\r\n\r\n\r\n\r\nexport const fvisible = (name, sabitsorulistData, applicationdata) => {\r\n if (sabitsorulistData == null) return \"\";\r\n var r = sabitsorulistData.filter(x => x.name == name && (x.basvuruTipi == null || x.basvuruTipi.includes(applicationdata.basvuruTipi)));\r\n if (r.length == 0) return true;\r\n return r[0].visible == false || r[0].visible == null;\r\n}\r\nexport const fdisabled = (name, sabitsorulistData, applicationdata) => {\r\n if (sabitsorulistData == null) return \"\";\r\n var r = sabitsorulistData.filter(x => x.name == name && (x.basvuruTipi == null || x.basvuruTipi.includes(applicationdata.basvuruTipi)));\r\n if (r.length == 0) return false;\r\n return r[0].enable == true;\r\n}\r\nexport const fzorunlu = (name, sabitsorulistData, applicationdata) => {\r\n if (sabitsorulistData == null) return \"\";\r\n var r = sabitsorulistData.filter(x => x.name == name && (x.basvuruTipi == null || x.basvuruTipi.includes(applicationdata.basvuruTipi)));\r\n if (r.length == 0) return \"*\";\r\n if (r[0].zorunlu == true)\r\n return \"\"\r\n return \"*\";\r\n}\r\n\r\n\r\n\r\nexport const showErrorMessage = (title, text) => {\r\n window.Swal.fire({\r\n title: title,\r\n text: text,\r\n confirmButtonText: \"Tamam\",\r\n confirmButtonColor: \"#0d6efd\",\r\n icon: 'error',\r\n }).then((result) => {\r\n })\r\n}\r\n\r\nexport const showSuccessMessage = (title, text, action) => {\r\n window.Swal.fire({\r\n title: title,\r\n text: text,\r\n confirmButtonText: \"Tamam\",\r\n confirmButtonColor: \"#0d6efd\",\r\n icon: 'success',\r\n }).then((result) => {\r\n if (action)\r\n action();\r\n })\r\n}\r\n\r\n\r\n\r\nexport const showConfirmMessage = (title, text, confirmButton, rejectButton, action) => {\r\n window.Swal.fire({\r\n title: title,\r\n text: text,\r\n showDenyButton: true, confirmButtonText: confirmButton, confirmButtonColor: \"#dc3545\", denyButtonText: rejectButton, denyButtonColor: \"#0d6efd\",\r\n icon: 'question',\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n action();\r\n }\r\n })\r\n}\r\n\r\nexport const showInfoMessage = (title, text, confirmButton, rejectButton, action) => {\r\n window.Swal.fire({\r\n title: title,\r\n text: text,\r\n showDenyButton: rejectButton != null, confirmButtonText: confirmButton, confirmButtonColor: \"#dc3545\", denyButtonText: rejectButton, denyButtonColor: \"#0d6efd\",\r\n icon: 'info',\r\n }).then((result) => {\r\n if (result.isConfirmed && action != null) {\r\n action();\r\n }\r\n })\r\n}\r\n\r\n\r\nexport const sortByKey = (array, key) => {\r\n return array.sort(function (a, b) {\r\n var x = a[key];\r\n var y = b[key];\r\n if (x == null && y == null) return 0;\r\n if (x == null) return 1;\r\n if (y == null) return -1;\r\n return ((x < y) ? -1 : ((x > y) ? 1 : 0));\r\n });\r\n}\r\n\r\n\r\n\r\nexport const setVisible = (id, vis) => {\r\n var elem = document.getElementById(id);\r\n if (elem != null)\r\n elem.hidden = !vis;\r\n}\r\n\r\n\r\nexport const sendpost = (url, body, spinnerid, successCalBack, failCallback) => {\r\n setVisible(spinnerid, true);\r\n fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: body != null ? JSON.stringify(body) : \"\"\r\n }).then(async response => {\r\n setVisible(spinnerid, false);\r\n if (!response.ok) {\r\n if (failCallback != null)\r\n failCallback(response);\r\n else\r\n response.text().then(x => showErrorMessage(response.status + \" - \" + response.statusText, x));\r\n }\r\n else {\r\n if (successCalBack != null)\r\n successCalBack(response);\r\n }\r\n });\r\n}\r\n\r\n\r\nexport const sendget = (url, spinnerid, successCalBack, failCallback) => {\r\n try {\r\n setVisible(spinnerid, true);\r\n fetch(url, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json'\r\n }\r\n }).then(async response => {\r\n setVisible(spinnerid, false);\r\n if (!response.ok) {\r\n if (failCallback != null)\r\n failCallback(response);\r\n else {\r\n if (response.status == 401)\r\n window.location.href = \"/\";\r\n else\r\n response.text().then(x => showErrorMessage(response.status + \" - \" + response.statusText, x));\r\n }\r\n }\r\n else {\r\n if (successCalBack != null)\r\n successCalBack(response);\r\n }\r\n });\r\n } catch (exception) {\r\n showErrorMessage(exception, \"\")\r\n }\r\n}\r\n\r\n\r\n//const swalWithBootstrapButtons = window.Swal.mixin({\r\n// customClass: {\r\n// confirmButton: 'ms-2 btn btn-success',\r\n// cancelButton: 'btn btn-danger'\r\n// },\r\n// buttonsStyling: false\r\n//})\r\n\r\n//swalWithBootstrapButtons.fire({\r\n// title: 'Emin misin',\r\n// text: \"Bu iÅŸlem geri döndürülemez\",\r\n// icon: 'warning',\r\n// showCancelButton: true,\r\n// confirmButtonText: 'Evet, Sil',\r\n// cancelButtonText: 'Hayır, Ä°ptal Et',\r\n// reverseButtons: true\r\n//}).then((result) => {\r\n// if (result.isConfirmed) {\r\n// swalWithBootstrapButtons.fire(\r\n// 'Onaylandı',\r\n// 'Kayıt silme iÅŸlemi yapıldı',\r\n// 'success'\r\n// )\r\n// }\r\n//})\r\n\r\nexport const exportExcel = (tableId, downloadlink) => {\r\n var table = document.getElementById(tableId);\r\n var rows = Array.prototype.slice.call(table.rows).filter(x => x.style.display != \"none\");\r\n var thead = table.querySelector('thead');\r\n var csv = [];\r\n\r\n if (thead) {\r\n var headerRow = [];\r\n var headers = thead.querySelectorAll('th');\r\n\r\n for (var i = 0; i < headers.length ; i++) {\r\n var headerText = headers[i].innerText.trim();\r\n headerText = headerText.replaceAll(/\"/g, '\"\"');\r\n headerText = headerText.replaceAll(\",\", \" \");\r\n headerText = headerText.replaceAll(\"\\n\", \" \");\r\n headerRow.push(headerText);\r\n }\r\n\r\n csv.push(headerRow.join(\",\"));\r\n }\r\n\r\n\r\n for (var i = 0; i < rows.length; i++) {\r\n\r\n var row = [], cols = rows[i].cells;\r\n\r\n for (var j = 0; j < cols.length ; j++) {\r\n var cellText = cols[j].innerText;\r\n cellText = cellText.replaceAll(/\"/g, '\"\"');\r\n cellText = cellText.replaceAll(\",\", \" \");\r\n cellText = cellText.replaceAll(\"\\n\", \" \");\r\n row.push(cellText);\r\n }\r\n\r\n csv.push(row.join(\",\"));\r\n }\r\n //let csvContent = \"data:text/csv;charset=utf-8,\\uFEFF\";\r\n\r\n let csvContent = csv.join(\"\\r\\n\");\r\n\r\n // var encodedUri = encodeURI(csvContent);\r\n // window.open(encodedUri);\r\n var bom = \"\\uFEFF\";\r\n var blob = new Blob([bom + csvContent], { type: 'text/csv;charset=utf-8;' });\r\n var a = document.getElementById(\"downloadlink\")\r\n a.href = URL.createObjectURL(blob);\r\n console.log(a.href)\r\n}\r\n\r\n\r\nexport const jaccardSimilarity = (a, b) => {\r\n const setA = new Set(a);\r\n const setB = new Set(b);\r\n\r\n const intersection = new Set([...setA].filter(x => setB.has(x)));\r\n const union = new Set([...setA, ...setB]);\r\n\r\n return intersection.size / Math.max(a.length, b.length);\r\n}\r\n\r\nexport const levenshtein = (a, b) => {\r\n const matrix = [];\r\n let i, j;\r\n\r\n for (i = 0; i <= b.length; i++) {\r\n matrix[i] = [i];\r\n }\r\n\r\n for (j = 0; j <= a.length; j++) {\r\n matrix[0][j] = j;\r\n }\r\n\r\n for (i = 1; i <= b.length; i++) {\r\n for (j = 1; j <= a.length; j++) {\r\n if (b.charAt(i - 1) === a.charAt(j - 1)) {\r\n matrix[i][j] = matrix[i - 1][j - 1];\r\n } else {\r\n matrix[i][j] = Math.min(\r\n matrix[i - 1][j - 1] + 1, // substitution\r\n matrix[i][j - 1] + 1, // insertion\r\n matrix[i - 1][j] + 1 // deletion\r\n );\r\n }\r\n }\r\n }\r\n\r\n return 1 - (matrix[b.length][a.length] / Math.max(a.length, b.length));\r\n}\r\n\r\n\r\n\r\nexport const logout = () => {\r\n document.cookie.split(\"; \").forEach(function (c) { document.cookie = c.replace(/^ +/, \"\").replace(/=.*/, \"=;expires=\" + new Date().toUTCString() + \";path=/\"); });\r\n window.localStorage.setItem('Token', '');\r\n sendget(\"logout\", \"\", (resp) => {\r\n window.location.href = \"/\";\r\n });\r\n\r\n\r\n\r\n}\r\n\r\nexport const maskStringWithStar = (str) => {\r\n if (isEmpty(str))\r\n return \"\";\r\n if (str.length <= 4) {\r\n return str; // No masking if the string is too short\r\n }\r\n\r\n const firstTwo = str.slice(0, 2);\r\n const lastTwo = str.slice(-2);\r\n const masked = '*'.repeat(str.length - 4);\r\n\r\n return firstTwo+masked+lastTwo;\r\n}\r\n\r\nexport const setHtmlTag = (id, value, fild) => {\r\n var c = document.getElementById(id);\r\n if (c != null) {\r\n if (fild == null)\r\n c.innerHTML = value;\r\n else\r\n c[fild] = value;\r\n return true;\r\n }\r\n return false;\r\n}\r\nexport const getHtmlTag = (id, fild) => {\r\n var c = document.getElementById(id);\r\n if (c != null) {\r\n return c[fild];\r\n }\r\n return null;\r\n}\r\n\r\nexport const getObjectFromArray = (data, id, keyValue) => {\r\n if (data == null || data.length == 0)\r\n return new Object();\r\n var f = data.find(x => x[id] == keyValue);\r\n if (f != null)\r\n return f;\r\n return new Object();\r\n\r\n}\r\n\r\n\r\nexport const isImage = (filename) => {\r\n if (filename.endsWith(\".jpg\") || filename.endsWith(\".jpeg\") || filename.endsWith(\".png\") || filename.endsWith(\".gif\")\r\n || filename.endsWith(\".bmp\") || filename.endsWith(\".tiff\") || filename.endsWith(\".tif\") || filename.endsWith(\".webp\")\r\n || filename.endsWith(\".heic\") || filename.endsWith(\".arw\") || filename.endsWith(\".cr2\") || filename.endsWith(\".nef\")\r\n || filename.endsWith(\".svg\") || filename.endsWith(\".eps\") || filename.endsWith(\".ai\"))\r\n return true;\r\n return false;\r\n}\r\n\r\nexport const isVideo = (filename) => {\r\n if (filename.endsWith(\".ogm\") || filename.endsWith(\".wmv\") || filename.endsWith(\".mpg\") || filename.endsWith(\".webm\")\r\n || filename.endsWith(\".ogv\") || filename.endsWith(\".mov\") || filename.endsWith(\".asx\") || filename.endsWith(\".mpeg\")\r\n || filename.endsWith(\".mp4\") || filename.endsWith(\".m4v\") || filename.endsWith(\".avi\") )\r\n return true;\r\n return false;\r\n}\r\n\r\n\r\nexport const calculateDateDifference = (date1,date2) => {\r\n try {\r\n const parsedDate1 = new Date(date1.split(\" \")[0]);\r\n const parsedDate2 = date2;\r\n\r\n if (isNaN(parsedDate1) || isNaN(parsedDate2)) {\r\n throw new Error(\"Invalid date format.\");\r\n }\r\n parsedDate1.setHours(0, 0, 0, 0);\r\n parsedDate2.setHours(0, 0, 0, 0);\r\n\r\n const differenceInMs = parsedDate1 - parsedDate2;\r\n\r\n // Convert milliseconds to days\r\n const differenceInDays = differenceInMs / (1000 * 60 * 60 * 24);\r\n\r\n return Math.abs(Math.floor(differenceInDays)); // Return the absolute difference in whole days\r\n }\r\n catch (ex) {\r\n return ex;\r\n }\r\n}","import React, { useState, useEffect } from 'react';\r\nimport KadastralVeri from '../Application/KadastralVeri.js';\r\nimport $ from 'jquery';\r\nimport { ajaxFail, cutString, isEmpty, sendpost, setHtmlTag, toUpperCaseTurkce } from '../GlobalState.js';\r\nimport CBSADAMatching from './CBSADAMatching.js';\r\nimport CBSAdaSorgula from './CBSAdaSorgula.js';\r\nimport bootstrap from 'bootstrap/dist/js/bootstrap.min.js'\r\nimport { Tarife_Cetveli } from '../User/UserPermConstants.js';\r\n\r\nexport default function CBSBenzerAdalar(props) {\r\n const [listData, setListData] = useState([]);\r\n const [surecList, setSurecList] = useState([]);\r\n\r\n\r\n useEffect(() => {\r\n fetchSurecList();\r\n }, [])\r\n\r\n\r\n useEffect(() => {\r\n // setHtmlTag(\"parseltable\", \"\");\r\n //setHtmlTag(\"apptable\", \"\");\r\n fetchList();\r\n\r\n }, [props])\r\n\r\n\r\n\r\n const fetchSurecList = () => {\r\n\r\n fetch(\"sureclist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n\r\n }\r\n else {\r\n response.json().then(value => {\r\n setSurecList(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n const getSurecName = (i) => {\r\n\r\n var r = surecList.find(element => element.id == i);\r\n if (r == null) return i;\r\n return r.name;\r\n }\r\n\r\n const fetchList = () => {\r\n sendpost(\"getbenzeradalar\", props.ada, \"spinner\", (response) => {\r\n try {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n catch (e) {\r\n setListData([]);\r\n }\r\n \r\n },)\r\n }\r\n \r\n\r\n\r\n const getDurumName = (d) => {\r\n if (d == 0) return \"Bilinmiyor\";\r\n if (d == 1) return \"Taslak\";\r\n if (d == 2) return \"Pasif\";\r\n if (d == 3) return \"Aktif\";\r\n }\r\n\r\n\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n if (tabledata == null)\r\n return \"\";\r\n var mytable =\r\n <div className=\"table-responsive mainpagescroll table-sm \">\r\n <table className='table table-vdstriped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead style={{ \"position\": \"sticky\", \"top\": 0, \"z-index\": \"1\" }} className=\"bg-light\">\r\n <tr>\r\n <th className=\"text-start\" style={{ \"width\": \"10%\", overflow: \"hidden\" }}>ID</th>\r\n <th className=\"text-start\" >Mahalle</th>\r\n <th className=\"text-start\" >Ada/Parsel No</th>\r\n <th className=\"text-start\" >Durum</th>\r\n <th className=\"text-start\" >Koordinat</th>\r\n \r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n <tr style={{ \"height\": \"15px\" }}>\r\n <td >{apprec.tapukimlikno}</td>\r\n {/* <td title={apprec.tapucinsaciklama} >{apprec.tapucinsaciklama}</td>*/}\r\n {/*<td >{apprec.tapuzeminref}</td>*/}\r\n <td >{apprec.tapumahalleref}</td>\r\n {/* <td >{apprec.tapualan}</td>*/}\r\n <td >{apprec.adano}/{apprec.parselno}</td>\r\n {/* <td >{apprec.durum + \"( \" + getDurumName(apprec.durum) + \")\"}</td>*/}\r\n <td >{getDurumName(apprec.durum)}</td>\r\n <td >{cutString(apprec.coordinates, 100)}</td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n const renderAppTable = (tabledata) => {\r\n if (tabledata == null)\r\n return \"\";\r\n\r\n var mytable =\r\n <div className=\"table-responsive mainpagescroll table-sm \">\r\n <table className='table table-vdstriped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead style={{ \"position\": \"sticky\", \"top\": 0, \"z-index\": \"1\" }} className=\"bg-light\">\r\n <tr>\r\n <th className=\"text-start\" style={{ \"width\": \"10%\", overflow: \"hidden\" }}>ID</th>\r\n <th className=\"text-start\" >Mahalle</th>\r\n <th className=\"text-start\" >Ada/Parsel</th>\r\n <th className=\"text-start\" >BaÅŸvuru Tipi</th>\r\n <th className=\"text-start\" >Basvuru Yapan</th>\r\n <th className=\"text-start\" >Basvuru Durumu</th>\r\n <th className=\"text-start\" ></th>\r\n\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n <tr style={{ \"height\": \"15px\" }} role=\"button\" className=\"v-hover\" onClick={() => {\r\n var popup = window.open(\"/\");\r\n popup.appData = apprec;}}>\r\n <td >{apprec.id}</td>\r\n <td >{apprec.mahalle}</td>\r\n <td >{apprec.adano}{apprec.ada}</td>\r\n <td >{apprec.basvuruTipi}</td>\r\n <td >{apprec.basvuruYapan}</td>\r\n <td >{getSurecName(apprec.basvuruDurumu)}</td>\r\n\r\n\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n return (\r\n <div className=\"p-2\">\r\n \r\n <div className=\"row \" >\r\n <div className=\"col-6 \" >\r\n <h5>Ä°lgili Ada Parseller</h5>\r\n </div>\r\n <div className=\"col-6 text-end\" >\r\n <div className=\"spinner-border spinner-border-sm\" id=\"spinner\" hidden></div> \r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row \" >\r\n <div className=\"col-3 \" >\r\n Tapu kimlik no: {props.ada.tapukimlikno}\r\n </div>\r\n <div className=\"col-3 \" >\r\n Ada-Parsel: {props.ada.adano}/{props.ada.parselno} \r\n </div>\r\n <div className=\"col-3 \" >\r\n Mahalle Ref: {props.ada.tapumahalleref}\r\n </div>\r\n <div className=\"col-3 \" >\r\n Durum: {getDurumName(props.ada.durum)}\r\n </div>\r\n </div>\r\n\r\n \r\n <div className=\"row\" >\r\n <div className=\"col-12\" id=\"parseltable\" key={listData }>\r\n {renderTable(listData.parsels)}\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-5\">\r\n <div className=\"col-12\" >\r\n <h5>BaÅŸvurular</h5>\r\n </div>\r\n <div className=\"col-12\" id=\"apptable\" key={listData}>\r\n {renderAppTable(listData.applications)}\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty } from '../GlobalState.js';\r\nimport Application from './Application.js';\r\nimport ApplicationList from './ApplicationList.js';\r\n\r\n\r\nexport default function GMapLatLang(props) {\r\n var appData = props.appData;\r\n var polygon = props.polygon;\r\n var [gdata, setGData] = useState(null);\r\n const [googlemapkey, setGoogleMapKey] = useState(null);\r\n var script = null;\r\n\r\n useEffect(() => {\r\n fetchGeneralData();\r\n getgooglemapkey();\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (window.google!=null)\r\n initMap();\r\n }, [props.polygon])\r\n\r\n const getgooglemapkey = () => {\r\n fetch(\"getgooglemapkey\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.text().then(async data => {\r\n setGoogleMapKey(data.replaceAll('\"', \"\"));\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const fetchGeneralData = () => {\r\n fetch(\"getgeneraldata\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setGData(data);\r\n\r\n\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n \r\n var mymapscript = document.getElementById(\"mymapscript\");\r\n try {\r\n if (gdata != null && script == null && document.getElementById(\"googlemapscript\") == null && isEmpty(googlemapkey) == false) {\r\n\r\n script = document.createElement(\"script\");\r\n script.id = \"googlemapscript\"\r\n script.src = \"https://maps.googleapis.com/maps/api/js?key=\" + googlemapkey + \"&callback=initAutocomplete&libraries=places&v=weekly\";\r\n script.async = true;\r\n script.defer = true;\r\n mymapscript.appendChild(script);\r\n script.onload = () => {\r\n initMap();\r\n }\r\n }\r\n } catch (ex) {\r\n console.log(ex);\r\n }\r\n\r\n const initMap = () => {\r\n try {\r\n var myLatlng = { lat: 38.389, lng: 27.146 };\r\n\r\n if (gdata != null && gdata.genlem != null && isNaN(gdata.genlem) == false) {\r\n myLatlng.lat = parseFloat(gdata.genlem);\r\n }\r\n if (gdata != null && gdata.gboylem != null && isNaN(gdata.genlem) == false) {\r\n myLatlng.lng = parseFloat(gdata.gboylem);\r\n }\r\n var z = 7;\r\n if (gdata != null && gdata.gzoom != null) {\r\n z = parseInt(gdata.gzoom)\r\n }\r\n if (window.google == null || window.google.maps == null)\r\n return;\r\n var map = new window.google.maps.Map(document.getElementById(\"map\"), {\r\n zoom: z,\r\n center: myLatlng,\r\n\r\n });\r\n var Coords = [];\r\n\r\n if (isEmpty(polygon) == false) {\r\n var bounds = new window.google.maps.LatLngBounds();\r\n var ct = polygon.replaceAll(\"'\", \"\").replaceAll('\"', '').split(\" \");\r\n for (var i = 0; i < ct.length; i++) {\r\n var latlang = ct[i].split(\",\");\r\n if (isNaN(Number(latlang[0])) == false && isNaN(Number(latlang[1])) == false) {\r\n var lg = { lng: Number(latlang[0]), lat: Number(latlang[1]) };\r\n Coords.push(lg)\r\n bounds.extend(lg);\r\n }\r\n }\r\n\r\n myLatlng = bounds.getCenter();\r\n if (props.setLatLang != null)\r\n props.setLatLang(myLatlng)\r\n map.zoom = 12;\r\n const bermudaTriangle = new window.google.maps.Polygon({\r\n paths: Coords,\r\n strokeColor: \"#FF0000\",\r\n strokeOpacity: 0.8,\r\n strokeWeight: 2,\r\n fillColor: \"#FF0000\",\r\n fillOpacity: 0.35,\r\n });\r\n bermudaTriangle.setMap(map);\r\n map.fitBounds(bounds);\r\n }\r\n\r\n // Create the search box and link it to the UI element.\r\n // const input = document.getElementById(\"mapsearch\") ;\r\n var input = document.createElement(\"INPUT\");\r\n input.setAttribute(\"type\", \"text\");\r\n input.setAttribute(\"placeholder\", \"Ara\");\r\n input.setAttribute(\"class\", \"form-control form-control-sm w-50 mt-2\");\r\n const searchBox = new window.google.maps.places.SearchBox(input);\r\n\r\n map.controls[window.google.maps.ControlPosition.TOP_LEFT].push(input);\r\n\r\n // Bias the SearchBox results towards current map's viewport.\r\n map.addListener(\"bounds_changed\", () => {\r\n searchBox.setBounds(map.getBounds());\r\n });\r\n\r\n let markers: window.google.maps.Marker[] = [];\r\n\r\n // Listen for the event fired when the user selects a prediction and retrieve\r\n // more details for that place.\r\n searchBox.addListener(\"places_changed\", () => {\r\n const places = searchBox.getPlaces();\r\n\r\n if (places.length == 0) {\r\n return;\r\n }\r\n\r\n // Clear out the old markers.\r\n markers.forEach((marker) => {\r\n marker.setMap(null);\r\n });\r\n markers = [];\r\n\r\n // For each place, get the icon, name and location.\r\n const bounds = new window.google.maps.LatLngBounds();\r\n\r\n places.forEach((place) => {\r\n if (!place.geometry || !place.geometry.location) {\r\n console.log(\"Returned place contains no geometry\");\r\n return;\r\n }\r\n\r\n const icon = {\r\n url: place.icon,\r\n size: new window.google.maps.Size(71, 71),\r\n origin: new window.google.maps.Point(0, 0),\r\n anchor: new window.google.maps.Point(17, 34),\r\n scaledSize: new window.google.maps.Size(25, 25),\r\n };\r\n\r\n // Create a marker for each place.\r\n markers.push(\r\n new window.google.maps.Marker({\r\n map,\r\n icon,\r\n title: place.name,\r\n position: place.geometry.location,\r\n })\r\n );\r\n\r\n if (place.geometry.viewport) {\r\n // Only geocodes have viewport.\r\n bounds.union(place.geometry.viewport);\r\n } else {\r\n bounds.extend(place.geometry.location);\r\n }\r\n });\r\n map.fitBounds(bounds);\r\n });\r\n\r\n\r\n\r\n\r\n\r\n let infoWindow = null;\r\n\r\n // Create the initial InfoWindow.\r\n if (props.polygon == null) {\r\n infoWindow = new window.google.maps.InfoWindow({\r\n content: \"Enlem,Boylam için teıklayınız\",\r\n position: myLatlng,\r\n });\r\n infoWindow.open(map);\r\n }\r\n\r\n //\r\n\r\n // Configure the click listener.\r\n map.addListener(\"click\", (mapsMouseEvent) => {\r\n // Close the current InfoWindow.\r\n if (infoWindow != null)\r\n infoWindow.close();\r\n\r\n // Create a new InfoWindow.\r\n infoWindow = new window.google.maps.InfoWindow({\r\n position: mapsMouseEvent.latLng,\r\n });\r\n infoWindow.setContent(\r\n JSON.stringify(mapsMouseEvent.latLng.toJSON(), null, 2)\r\n );\r\n infoWindow.open(map);\r\n\r\n if (props.setLatLang != null)\r\n props.setLatLang(mapsMouseEvent.latLng)\r\n else if (appData) {\r\n appData[\"enlem\"] = mapsMouseEvent.latLng.lat();\r\n appData[\"boylam\"] = mapsMouseEvent.latLng.lng();\r\n }\r\n\r\n });\r\n }\r\n catch (ex) {\r\n console.log(ex);\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n return <div className=\"p-0 rounded-3 h-100 w-100 \">\r\n <div id=\"mymapscript\"></div>\r\n {props.changeComponent && <div className=\"text-end m-2\">\r\n <button className=\"btn btn-sm btn-primary rounded m-1\" onClick={() => { props.changeComponent(< Application key={props.appData.id} appData={props.appData} changeComponent={props.changeComponent} backButton={< ApplicationList changeComponent={props.changeComponent} />}/>) }}> <i className=\"fa fa-arrow-circle-left pe-1\"></i> Geri Don</button>\r\n\r\n </div>}\r\n\r\n\r\n <div id=\"map\" className=\"rounded-3 w-100 h-100\" style={{ minHeight:props.changeComponent!=null?600:100 }}>\r\n\r\n </div>\r\n\r\n </div>\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useGlobalState } from '../GlobalState.js';\r\nimport $ from 'jquery';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport { removeTurkcLow } from '../GlobalState.js';\r\n\r\n\r\nexport default function AddressBook(props) {\r\n var postdata = {};\r\n const [listData, setListData] = useState([]);\r\n const colors = [\"#fff8dd\", \"#e8fff3\", \"#fff5f8\", \"#f8f5ff\"]\r\n const bordercolors = [\"#50cc88\", \"#009cf7\", \"#ffc800\", \"#f1416d\"]\r\n const [role, setRole] = useGlobalState('role');\r\n const [userlist, setUserlist] = useState([]);\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n var reccount = listData.length + userlist.length;\r\n\r\n const removeRecord = (id) => {\r\n fetch(\"removefromaddressbook\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const getUserList = () => {\r\n fetch(\"userlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n this.setState({ status: response.statusText })\r\n }\r\n else {\r\n response.json().then(async data => {\r\n var ulist = [];\r\n //for (var i = 0; i < data.length; i++)\r\n // ulist.push(\"<option value=\" + i + \">\" + data[i].name + \" \" + data[i].family + \"</option>\");\r\n //document.getElementById(\"userlist\").innerHTML = ulist;\r\n //document.getElementById(\"userlist\").selectedIndex = -1;\r\n setUserlist(data)\r\n });\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n const submitUpdateRecord = (rec) => {\r\n\r\n fetch(\"updateaddressbook\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n alert(\"Güncelleme BaÅŸarıyla TamamlanmÅŸtır\")\r\n }\r\n });\r\n }\r\n\r\n const fetchList = () => {\r\n\r\n fetch(\"getaddresslist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const Add = () => {\r\n fetch(\"addtoaddressbook\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(postdata)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n document.getElementById(\"isim\").value = \"\";\r\n document.getElementById(\"soyisim\").value = \"\";\r\n document.getElementById(\"tel\").value = \"\";\r\n document.getElementById(\"email\").value = \"\";\r\n document.getElementById(\"userType\").value = \"\";\r\n fetchList();\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n\r\n const filterTable = (event) => {\r\n const target = event.target;\r\n const value = removeTurkcLow(target.value).toLowerCase();\r\n var keywords = value.split(\" \");\r\n\r\n $(\"#myTable tr\").filter(function () {\r\n var rowtext = \"\";\r\n var cc=$(this).children().length;\r\n for (var c = 0; c < cc; c++) \r\n if ($(this).children().eq(c + 2).children(\":first\").val() != null) {\r\n rowtext += $(this).children().eq(c + 2).children(\":first\").val() + \" \";\r\n }\r\n var t1 = removeTurkcLow(rowtext);\r\n\r\n for (let index = 0; index < keywords.length; ++index) {\r\n if (t1.indexOf(keywords[index]) == -1) {\r\n return $(this).toggle(false);\r\n }\r\n }\r\n return $(this).toggle(true);\r\n });\r\n\r\n }\r\n\r\n /* const filterTable = (event) => {\r\n const target = event.target;\r\n const value = removeTurkcLow(target.value).toLowerCase();\r\n var cl = [\"name\", \"family\", \"userTypef\", \"firmaf\", \"telefon\", \"emailf\", \"idf\"]\r\n $(\"#myTable tr\").filter(function () {\r\n for (var c = 0; c < cl.length; c++) {\r\n if ($(this).children().eq(c + 2).children(\":first\").val() != null) {\r\n var t1 = removeTurkcLow($(this).children().eq(c + 2).children(\":first\").val()).toLowerCase();\r\n if (t1.indexOf(value) != -1)\r\n return $(this).toggle(true);\r\n }\r\n\r\n }\r\n return $(this).toggle(false);\r\n });\r\n }*/\r\n\r\n const AddFromUsers = () => {\r\n var idx = document.getElementById(\"userlist\").value;\r\n var rec = userlist[idx]\r\n fetch(\"addtoaddressbook\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({ isim: rec.name, soyisim: rec.family, tel: rec.tel, email: rec.email, userType: rec.userType })\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n document.getElementById(\"isim\").value = \"\";\r\n document.getElementById(\"soyisim\").value = \"\";\r\n document.getElementById(\"tel\").value = \"\";\r\n document.getElementById(\"email\").value = \"\";\r\n document.getElementById(\"userType\").value = \"\";\r\n fetchList();\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value;\r\n }\r\n\r\n const filterColumn = (event) => {\r\n const target = event.target;\r\n const value = target.value.toLowerCase();\r\n var cl = [\"name\", \"family\", \"userTypef\", \"firmaf\", \"telefon\", \"emailf\", \"idf\"]\r\n $(\"#myTable tr\").filter(function () {\r\n for (var c = 0; c < cl.length; c++) {\r\n if (document.getElementById(cl[c]).value != null && document.getElementById(cl[c]).value.length > 0)\r\n if ($(this).children().eq(c + 1).children(\":first\").val() != null) {\r\n if (removeTurkcLow($(this).children().eq(c + 1).children(\":first\").val()).toLowerCase().indexOf(removeTurkcLow(document.getElementById(cl[c]).value).toLowerCase()) == -1)\r\n return $(this).toggle(false);\r\n\r\n }\r\n\r\n }\r\n return $(this).toggle(true);\r\n });\r\n }\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n\r\n var mytable = <div>\r\n <div className=\"row rounded-3 m-1 \">\r\n {/*{role != null && role.indexOf(UserPermConstants.Adres_Defterini_Duzenleme) > -1 &&*/}\r\n {/* <div className=\"col-12 pt-2 pb-2 bg-light rounded-3 border-white border-end border-5\" >*/}\r\n {/* <h6>Manuel kayıt ekle</h6>*/}\r\n {/* <div className=\"row mb-4\">*/}\r\n {/* <div className=\"col-md-2 col-12 \" >*/}\r\n {/* <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Ä°sim\" id=\"isim\" name=\"isim\" onChange={handleInputChange} defaultValue=\"\" />*/}\r\n {/* </div>*/}\r\n {/* <div className=\"col-md-2 col-12 \" >*/}\r\n {/* <input type=\"text\" className=\"form-control form-control-sm \" placeholder=\"Soyisim\" id=\"soyisim\" name=\"soyisim\" onChange={handleInputChange} defaultValue=\"\" />*/}\r\n {/* </div>*/}\r\n {/* <div className=\"col-md-2 col-12 \" >*/}\r\n {/* <input type=\"text\" className=\"form-control form-control-sm \" placeholder=\"Tel\" id=\"tel\" name=\"tel\" onChange={handleInputChange} defaultValue=\"\" />*/}\r\n {/* </div>*/}\r\n\r\n {/* <div className=\"col-md-2 col-12 \" >*/}\r\n {/* <input type=\"text\" className=\"form-control form-control-sm \" placeholder=\"Email\" id=\"email\" name=\"email\" onChange={handleInputChange} defaultValue=\"\" />*/}\r\n {/* </div>*/}\r\n {/* <div className=\"col-md-2 col-12 \" >*/}\r\n {/* <input type=\"text\" className=\"form-control form-control-sm \" placeholder=\"kullanıcı Tipi\" id=\"userType\" name=\"userType\" onChange={handleInputChange} defaultValue=\"\" />*/}\r\n {/* </div>*/}\r\n\r\n {/* <div className=\"col-md-2 col-12 \"> <button onClick={Add} className=\"btn btn-sm btn-link text-decoration-none m-0 p-0\">Ekle</button></div>*/}\r\n {/* </div>*/}\r\n {/* </div>}*/}\r\n </div>\r\n <div style={{ \"overflow-x\": \"auto\" }}>\r\n <table className='table table-vdstriped table-sm' >\r\n <thead className=\"text-center\">\r\n <tr >\r\n <th width=\"20px\"></th>\r\n {/* <th width=\"20px\"></th>*/}\r\n\r\n <th ><input type=\"text\" className=\"form-control form-control-sm \" id=\"name\" name=\"name\" placeholder=\"Ä°sim\" onChange={filterColumn} /></th>\r\n <th ><input type=\"text\" className=\"form-control form-control-sm \" id=\"family\" name=\"family\" placeholder=\"Soyisim\" onChange={filterColumn} /> </th>\r\n <th ><input type=\"text\" className=\"form-control form-control-sm \" id=\"userTypef\" name=\"userType\" placeholder=\"Kullanıcı Tipi \" onChange={filterColumn} /> </th>\r\n <th ><input type=\"text\" className=\"form-control form-control-sm \" id=\"firmaf\" name=\"firma\" placeholder=\"Firma \" onChange={filterColumn} /> </th>\r\n\r\n <th ><input type=\"text\" className=\"form-control form-control-sm \" id=\"telefon\" name=\"tel\" placeholder=\"Tel\" onChange={filterColumn} /> </th>\r\n <th ><input type=\"text\" className=\"form-control form-control-sm \" id=\"emailf\" name=\"email\" placeholder=\"Email\" onChange={filterColumn} /> </th>\r\n <th ><input type=\"text\" className=\"form-control form-control-sm \" id=\"idf\" name=\"id\" placeholder=\"Kullanıcı Kodu \" onChange={filterColumn} /> </th>\r\n <th ></th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {userlist.map((apprec, idx) =>\r\n <tr key={apprec.id} className=\"border-bottom\" height=\"50px\">\r\n\r\n <td width=\"20px\">\r\n {idx}\r\n </td>\r\n {/*<td>*/}\r\n {/* <img className=\"rounded-circle\" style={{ width: \"32px\", height: \"32px\" }} src={\"/getuserpic?user=\" + apprec.userName} />*/}\r\n\r\n {/*</td>*/}\r\n\r\n <td >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" style={{ \"background-color\": \"transparent\" }} name=\"name\" defaultValue={apprec.name} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n <td >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" style={{ \"background-color\": \"transparent\" }} name=\"family\" defaultValue={apprec.family} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n <td >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" style={{ \"background-color\": \"transparent\" }} name=\"userType\" defaultValue={apprec.userType} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n\r\n <td >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" style={{ \"background-color\": \"transparent\" }} name=\"firma\" defaultValue={apprec.firma} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n <td >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" style={{ \"background-color\": \"transparent\" }} name=\"tel\" defaultValue={apprec.tel} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n <td >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" style={{ \"background-color\": \"transparent\" }} name=\"email\" defaultValue={apprec.email} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n <td >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" style={{ \"background-color\": \"transparent\" }} name=\"id\" defaultValue={apprec.id} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n <td ></td>\r\n </tr>\r\n )}\r\n\r\n\r\n\r\n {tabledata.map((apprec, idx) =>\r\n < tr key={apprec.id} height=\"40px\" className=\"border-bottom\">\r\n <td width=\"20px\">\r\n {idx + userlist.length}\r\n </td>\r\n <td>\r\n </td>\r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" style={{ \"background-color\": \"transparent\" }} name=\"isim\" defaultValue={apprec.isim} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n <td >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" style={{ \"background-color\": \"transparent\" }} name=\"soyisim\" defaultValue={apprec.soyisim} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n <td >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" style={{ \"background-color\": \"transparent\" }} name=\"tel\" defaultValue={apprec.tel} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n <td >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" style={{ \"background-color\": \"transparent\" }} name=\"email\" defaultValue={apprec.email} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n <td >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" style={{ \"background-color\": \"transparent\" }} name=\"userType\" defaultValue={apprec.userType} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n\r\n <td >\r\n </td>\r\n <td >\r\n </td>\r\n <td style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }}>\r\n <button onClick={() => submitUpdateRecord(apprec)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Güncelle</button> \r\n <button onClick={() => removeRecord(apprec.id)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Sil</button>\r\n </td>\r\n </tr>\r\n )}\r\n </tbody >\r\n </table>\r\n </div>\r\n </div>\r\n\r\n return (mytable);\r\n }\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n getUserList();\r\n }, [])\r\n\r\n\r\n var listTable = \"\";\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n else\r\n listTable = renderTable([]);\r\n\r\n return (\r\n <div >\r\n <div className=\"row\">\r\n <div className=\"col-7\">\r\n <h4 style={{ \"text-shadow\": \"0px 0px 1px grey\", color: \"#0098db\" }}>Adres Defteri</h4>\r\n </div>\r\n <div className=\"col-5 justify-content-end align-items-end text-end text-secondary\"><b>{reccount}</b> kayıt</div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"col-12 text-center d-flex justify-content-center mb-2\">\r\n\r\n <input style={{ maxWidth: \"400px\" }} className=\"form-control form-control-sm\" id=\"genelarama\" type=\"text\" placeholder=\"Arama\" onKeyUp={filterTable} />\r\n\r\n </div>\r\n </div>\r\n\r\n {listTable}\r\n\r\n </div >\r\n\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, useGlobalState } from '../GlobalState.js';\r\nimport $ from 'jquery';\r\n\r\n\r\nexport default function EImzaListem(props) {\r\n\r\n const [eimzalist, setEimzalist] = useState([]);\r\n const [sortDirection, setSortDirection] = useState({ \"transactionUUID\": 1 });\r\n const [userData, setuserData] = useGlobalState('userData');\r\n var sortField = null;\r\n\r\n var selectedImzaList = []\r\n useEffect(() => {\r\n getEimzaList(0);\r\n }, [])\r\n\r\n\r\n const myCompare = (a, b) => {\r\n if (sortField == null)\r\n sortField = \"transactionUUID\"\r\n var av = a[sortField];\r\n var bv = b[sortField];\r\n\r\n if (av == null && a.imza != null) {\r\n av = a.imza[sortField];\r\n }\r\n if (bv == null && b.imza != null) {\r\n bv = b.imza[sortField];\r\n }\r\n if (av == null && bv == null)\r\n return 0;\r\n if (av == null && bv != null)\r\n return -1 * sortDirection[sortField];\r\n if (av != null && bv == null)\r\n return 1 * sortDirection[sortField];\r\n\r\n if (typeof av === 'string' || av instanceof String)\r\n if (typeof bv === 'string' || bv instanceof String)\r\n return av.localeCompare(bv) * sortDirection[sortField];\r\n\r\n if (av < bv) {\r\n return -1 * sortDirection[sortField];\r\n }\r\n if (av > bv) {\r\n return 1 * sortDirection[sortField];\r\n }\r\n return 0;\r\n }\r\n\r\n\r\n const sortList = (fildname) => {\r\n sortField = fildname;\r\n\r\n if (sortDirection[sortField] == null || sortDirection[sortField] == -1) {\r\n sortDirection[sortField] = 1;\r\n }\r\n else {\r\n sortDirection[sortField] = -1;\r\n }\r\n\r\n var temp = [...eimzalist]; //clone the array to update the component on setApplist\r\n temp.sort(myCompare);\r\n setEimzalist(temp);\r\n }\r\n\r\n const fetchAuthers = (apprec) => {\r\n \r\n fetch(\"appauthorlist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(apprec)\r\n }).then(async response => {\r\n\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n data = JSON.parse(data)\r\n if (data != null)\r\n apprec.müellifKullanıcıAdı = data.map(x => x.userName + \" \").join();\r\n\r\n var popup = window.open(\"/\");\r\n popup.appData = apprec;\r\n popup.eimza = apprec.imza;\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n const topluimzala = (apprec) => {\r\n var popup = window.open(\"/\");\r\n popup.selectedImzaList = selectedImzaList;\r\n popup.userData = userData;\r\n }\r\n\r\n\r\n\r\n const getEimzaList = (all) => {\r\n var url = \"getmyeimzalist?all=0\";\r\n if (all != null)\r\n url = \"getmyeimzalist?all=\" + all;\r\n\r\n fetch(url, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n\r\n else {\r\n response.json().then(async data => {\r\n if (data != null) {\r\n data.forEach(r => { r.imza = JSON.parse(r.iadeNedeni); r.imzaid = r.imza.id; });\r\n }\r\n data.sort(myCompare)\r\n setEimzalist(data);\r\n var z = document.getElementById(\"eimzalistemcount\");\r\n if (z != null)\r\n z.innerHTML = data.filter(r => r.imza.transactionUUID == \" imzam bekleniyor\").length;\r\n });\r\n }\r\n });\r\n }\r\n window.fetchEimzaListem = getEimzaList;\r\n\r\n const showAll = event => {\r\n if (event.target.checked == true) {\r\n getEimzaList(1);\r\n }\r\n else {\r\n getEimzaList(0);\r\n }\r\n }\r\n const hepsiniSec = event => {\r\n if (event.target.checked == true) {\r\n eimzalist.forEach(x => {\r\n var c = document.getElementById(\"check\" + x.imza.userFileId)\r\n if (c) {\r\n c.checked = true;\r\n selectedImzaList.push(x);\r\n }\r\n })\r\n }\r\n else {\r\n selectedImzaList = [];\r\n eimzalist.forEach(x => {\r\n var c = document.getElementById(\"check\" + x.imza.userFileId)\r\n if (c) {\r\n c.checked = false;\r\n \r\n }\r\n })\r\n }\r\n document.getElementById(\"topluimza\").disabled = selectedImzaList.length == 0;\r\n }\r\n\r\n\r\n\r\n const filterTable = event => {\r\n const target = event.target;\r\n const value = target.value.toLowerCase();\r\n $(\"#myTable tr\").filter(function () {\r\n var keywords = value.split(\" \");\r\n for (let index = 0; index < keywords.length; ++index)\r\n if ($(this).text().toLowerCase().indexOf(keywords[index]) == -1)\r\n return $(this).toggle(false);\r\n return $(this).toggle(true);\r\n });\r\n }\r\n const addToImzaList = (event, rec) => {\r\n if (event.target.checked == true)\r\n selectedImzaList.push(rec);\r\n else\r\n selectedImzaList = selectedImzaList.filter(x => x.imza.userFileId != rec.imza.userFileId);\r\n document.getElementById(\"topluimza\").disabled = selectedImzaList.length == 0;\r\n\r\n }\r\n\r\n\r\n return <div className=\"align-items-center justify-content-center\" >\r\n <div className=\"row\">\r\n <div className=\"col-4\">\r\n <div class=\"form-check form-switch\">\r\n <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"flexSwitchCheckDefault\" onClick={showAll} />\r\n <label class=\"form-check-label\" for=\"flexSwitchCheckDefault\">Süreci Tamamlanan Ä°mzaları da Göster</label>\r\n </div>\r\n </div>\r\n <div className=\"col-4\">\r\n <input className=\"form-control w-100\" id=\"myInput\" type=\"text\" placeholder=\"Arama...\" onKeyUp={filterTable} />\r\n </div>\r\n <div className=\"col-4 text-end\">\r\n <button className=\"btn btn-sm btn-primary text-end \" id=\"topluimza\" onClick={() => { topluimzala(selectedImzaList); }}>Seçilenleri Ä°mzala</button>\r\n </div>\r\n </div>\r\n <div className=\"overflow-auto\" style={{ maxHeight: 600 }}>\r\n\r\n <table className='table table-vdstriped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead>\r\n <tr >\r\n <th>\r\n <input class=\"form-check-input\" type=\"checkbox\" onClick={hepsiniSec} />\r\n </th>\r\n <th>\r\n <div>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"imzaid\")} > Eimza-Id </button>\r\n </div>\r\n </th>\r\n\r\n <th>\r\n <div>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"id\")} > Id </button>\r\n </div>\r\n </th>\r\n <th>\r\n <div>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"ada\")} > Ada/Parsel </button>\r\n </div>\r\n </th>\r\n <th>\r\n <div>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"arsaSahibi\")} > Taşınmaz Sahibi </button>\r\n </div>\r\n </th>\r\n <th>\r\n <div>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"temp\")} > Eimzayı Açan </button>\r\n </div>\r\n </th>\r\n\r\n <th>\r\n <div>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"fikra\")} > Kullanıcı Tipi </button>\r\n </div>\r\n </th>\r\n\r\n <th>\r\n <div>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"basvuruTipi\")} > BaÅŸvuru Tipi </button>\r\n </div>\r\n </th>\r\n\r\n {/*<th>*/}\r\n {/* <div>*/}\r\n {/* <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"basvuruTarihi\")} > BaÅŸvuru Tarihi </button>*/}\r\n {/* </div>*/}\r\n {/*</th>*/}\r\n\r\n <th>\r\n <div>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"tarih\")} > Açılma Tarihi </button>\r\n </div>\r\n </th>\r\n\r\n <th>\r\n <div>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"surecname\")} > Ä°smi </button>\r\n </div>\r\n </th>\r\n\r\n <th>\r\n <div>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"transactionUUID\")} > Durumu </button>\r\n </div>\r\n </th>\r\n <th>\r\n <div>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"downloadAction\")} > Ä°mza Tarihi </button>\r\n </div>\r\n </th>\r\n\r\n </tr>\r\n </thead>\r\n\r\n\r\n <tbody id=\"myTable\">\r\n {eimzalist.map(apprec => <tr >\r\n <td >{\r\n apprec.imza.transactionUUID == \" imzam bekleniyor\" &&\r\n <input class=\"form-check-input\" type=\"checkbox\" onClick={(e) => addToImzaList(e, apprec)} id={\"check\" + apprec.imza.userFileId} />\r\n }\r\n\r\n </td>\r\n <td >\r\n {apprec.imzaid}\r\n </td>\r\n <td >\r\n {apprec.id}\r\n </td>\r\n <td >\r\n {apprec.ada}\r\n </td>\r\n <td >\r\n {apprec.arsaSahibi}\r\n </td>\r\n <td >\r\n {apprec.temp}\r\n </td>\r\n {/*<td >*/}\r\n {/* {apprec.basvuruYapan}*/}\r\n {/*</td>*/}\r\n <td >\r\n {apprec.imza.fikra}\r\n </td>\r\n <td >\r\n {apprec.basvuruTipi}\r\n </td>\r\n <td >\r\n {apprec.imza.tarih}\r\n </td>\r\n <td >\r\n {apprec.imza.surecname}\r\n </td>\r\n <td className={apprec.imza.transactionUUID == \"imzalandı\" ? \"text-success\" : apprec.imza.transactionUUID == \" imzam bekleniyor\" ? \"text-primary fw-bold\" : apprec.imza.transactionUUID == \"sırası bekleniyor\" ? \"text-warning\" : \"\"}>\r\n {apprec.imza.transactionUUID}\r\n </td>\r\n <td >\r\n {apprec.imza.downloadAction}\r\n </td>\r\n <td style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }}>\r\n <a href=\"#\" onClick={() => { fetchAuthers(apprec); }} className=\" text-decoration-none \"><i className=\"fa fa-edit align-middle\" style={{ \"font-size\": \"24px\" }}></i></a>\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useLocation } from 'react-router-dom'\r\nimport $ from 'jquery';\r\nimport Application from \"../Application/Application.js\"\r\nimport ApplicationList from \"../Application/ApplicationList.js\"\r\nimport { showErrorMessage, ajaxFail } from '../GlobalState.js';\r\n\r\nexport default function MessagePanel(props) {\r\n let location = useLocation();\r\n const [messages, setMsg] = useState(props.messages);\r\n const [activemessage, setActiveMsg] = useState(null);\r\n const [showall, setShowAll] = useState(true);\r\n var height = props.height != null? props.height: \"80vh\";\r\n const me = <ApplicationList changeComponent={props.changeComponent} />\r\n\r\n\r\n const getMessageList = () => {\r\n fetch(\"getmymessages\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setMsg(data);\r\n if (data.length > 0) {\r\n setActiveMsg(data[0])\r\n }\r\n });\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n useEffect(() => {\r\n getMessageList();\r\n }, [])\r\n\r\n const getapp = (id) => {\r\n fetch(\"getapp\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(async data => {\r\n showErrorMessage(data,\"\");\r\n });\r\n \r\n }\r\n else {\r\n response.json().then(async data => {\r\n props.changeComponent(<Application appData={data} changeComponent={props.changeComponent} backButton={me} />)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n var sidebartags = [];\r\n sidebartags.push(<a className=\"d-block p-2 m-2 rounded-3 text-decoration-none\" href=\"javascript:void(0)\" onClick={() => setShowAll(true)}>Tum Mesajlar</a>);\r\n sidebartags.push(<a className=\"d-block p-2 m-2 rounded-3 text-decoration-none\" href=\"javascript:void(0)\" onClick={() => setShowAll(false)}>Okunmamış Mesajlar</a>);\r\n\r\n var cc = 0;\r\n var unreadmessages = document.getElementById(\"unreadmessagecount\");\r\n if (unreadmessages != null) {\r\n if (messages != null) {\r\n for (let i = 0; i < messages.length; i++)\r\n if (messages[i] != null && messages[i].opened != true)\r\n cc++;\r\n unreadmessages.innerHTML = cc;\r\n var homecounter = document.getElementById(\"yenibildirim\");\r\n if (homecounter != null) {\r\n homecounter.innerHTML = \" Yeni Bildirm: \" + cc;\r\n }\r\n }\r\n }\r\n\r\n \r\n\r\n\r\n\r\n const deleteMessage = m => {\r\n fetch(\"deletemessage\", {\r\n method: 'POST',\r\n headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' },\r\n body: JSON.stringify(m.id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setMsg(data);\r\n });\r\n }\r\n });\r\n }\r\n\r\n const markmessagesopen = (msg) => {\r\n fetch(\"markmessagesopen\", {\r\n method: 'POST',\r\n headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' },\r\n body: JSON.stringify(msg)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setMsg(data);\r\n \r\n });\r\n }\r\n });\r\n return true;\r\n }\r\n\r\n const filterTable = event => {\r\n const target = event.target;\r\n const value = target.value.toLowerCase();\r\n $(\"#myTable tr\").filter(function () {\r\n var keywords = value.split(\" \");\r\n for (let index = 0; index < keywords.length; ++index)\r\n if ($(this).text().toLowerCase().indexOf(keywords[index]) == -1)\r\n return $(this).toggle(false);\r\n return $(this).toggle(true);\r\n });\r\n }\r\n\r\n var messageList =\r\n <div className=\"mt-1 \" >\r\n <div className=\"mb-1 \">\r\n <input className=\"form-control form-control-sm \" id=\"myInput\" type=\"text\" placeholder=\"Arama...\" onKeyUp={filterTable} />\r\n </div>\r\n <div className=\"overflow-auto vdscrollbar\" style={{ maxHeight: height }}>\r\n \r\n <table className='table table-sm'>\r\n <tbody id=\"myTable\">\r\n {messages.map(m => (showall == true || m.opened != true) ?\r\n <tr key={m.id} className={(activemessage!=null&& m.id == activemessage.id)?\"text-white bg-primary\":\"\"} style={{ cursor: \"pointer\" }}\r\n onClick={() => {\r\n setActiveMsg(m); markmessagesopen(m);\r\n }}>\r\n <td width=\"90%\">\r\n <span style={{ \"font-size\": \"12px\" }} >{m.sendDate}</span><br />\r\n \r\n {m.opened == true ? m.title : <span className=\"fw-bold\">\r\n {m.title} <span id=\"unreadmessagecount\" class=\"badge rounded-pill bg-success\" >yeni</span></span>}\r\n </td>\r\n <td width=\"10%\"> <a className=\"text-decoration-none\" onClick={() => deleteMessage(m)} href=\"javascript:void(0)\">\r\n <i class=\"fa fa-trash\" ></i>\r\n </a>\r\n </td>\r\n </tr>:null\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n return <div className=\"rounded-3 p-2 pe-4 border border-secondary \" >\r\n <div >\r\n \r\n <div className=\"row \">\r\n <div className=\"col-12\">\r\n <a href=\"#\" className=\"text-decoration-none me-3\" onClick={() => { deleteMessage({ id: -1 }) }}> Tümünü Sil</a>\r\n <a href=\"#\" className=\"text-decoration-none\" onClick={() => { markmessagesopen({id:-1}) }}> Tümünü Okundu Yap</a>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-1\">\r\n <div className=\"col-4\">\r\n {messageList}\r\n </div>\r\n <div className=\"col-8 p-2 rounded-3 border\">\r\n\r\n {activemessage!=null && <div className=\"m-2\">\r\n <div className=\"row\">\r\n <div className=\"col float-start\"><b>{activemessage.title}</b></div>\r\n <div className=\"col float-end text-end\">{activemessage.sendDate}</div>\r\n </div>\r\n <div className=\"row mt-1\">\r\n <div className=\"col float-start\"><img src={\"/getuserpic?user=\" + activemessage.sender} id=\"profileimage\" style={{ width: \"32px\" }} className=\"rounded-pill p-0 m-0\" /> {activemessage.receiver} ({activemessage.sender})</div>\r\n\r\n {activemessage.appID != null && <div className=\"col float-end text-end\">\r\n <button type=\"button\" className=\"btn btn-primary btn-sm\" onClick={() => { getapp(activemessage.appID) }}>BaÅŸvuruya Git</button>\r\n </div>}\r\n </div>\r\n\r\n <div className=\"mt-3\" style={{ \"white-space\": \"pre-line\" }}>{activemessage.body}</div>\r\n </div>}\r\n\r\n \r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n}\r\n\r\n\r\n","import { useLocation } from 'react-router-dom'\r\nimport React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty, showErrorMessage, showSuccessMessage, useGlobalState } from '../GlobalState.js';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\n\r\n\r\nexport default function UserComData(props) {\r\n const [userdata, setUserData] = useState(props.userdata);\r\n const confirmed = props.confirmed;\r\n const [role, setRole] = useGlobalState('role');\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target.name;\r\n const value = event.target.type === 'checkbox' ? event.target.checked : event.target.value;\r\n userdata[target] = value;\r\n document.getElementById(\"telkodgonder\").disabled = true;\r\n document.getElementById(\"telkodgir\").disabled = true;\r\n document.getElementById(\"emailkodgonder\").disabled = true;\r\n document.getElementById(\"emailkodgir\").disabled = true;\r\n }\r\n\r\n const handleBildirimTercihChange = (event) => {\r\n const target = event.target.name;\r\n if (userdata.bildirimTercihleri == null)\r\n userdata.bildirimTercihleri = \"\";\r\n\r\n userdata.bildirimTercihleri = userdata.bildirimTercihleri.trim();\r\n\r\n if (event.target.checked == true && userdata.bildirimTercihleri.includes(target) == false)\r\n userdata.bildirimTercihleri = target + \" \" + userdata.bildirimTercihleri.trim();\r\n if (event.target.checked == false && userdata.bildirimTercihleri.includes(target) == true)\r\n userdata.bildirimTercihleri = userdata.bildirimTercihleri.replace(target, \"\").trim();\r\n }\r\n\r\n\r\n\r\n const sendEmail = () => {\r\n fetch(\"sendverificationemail\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(userdata.userName)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n showSuccessMessage(\"DoÄŸrulama Kodu E-Posta Adresinize GönderilmiÅŸtir.\")\r\n }\r\n });\r\n }\r\n\r\n\r\n const confirmEmail = () => {\r\n var k = prompt(\"Lütfen DoÄŸrulama Kodunuzu Girin\");\r\n if (k == null || k.length == 0) return;\r\n fetch(\"confirmEmail\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({ user: userdata.userName, code: k })\r\n }).then(async response => {\r\n if (!response.ok) {\r\n showErrorMessage(response.statusText + \" DoÄŸrulama BaÅŸarısız\")\r\n }\r\n else {\r\n showSuccessMessage(\"E-Posta Adresiniz BaÅŸarıyla DoÄŸrulanmıştır\");\r\n\r\n if (confirmed != null) {\r\n confirmed({ ...userdata, emailConfirmed: true });\r\n }\r\n else\r\n setUserData({ ...userdata, emailConfirmed: true });\r\n }\r\n });\r\n }\r\n\r\n const confirmSMS = () => {\r\n var k = prompt(\"Lütfen DoÄŸrulama Kodunuzu Girin\");\r\n if (k == null || k.length == 0) return;\r\n fetch(\"confirmSMS\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({ user: userdata.userName, code: k })\r\n }).then(async response => {\r\n if (!response.ok) {\r\n showErrorMessage(response.statusText + \" DoÄŸrulama BaÅŸarısız\")\r\n }\r\n else {\r\n showSuccessMessage(\"Telefon Numaranız BaÅŸarıyla DoÄŸrulanmıştır\");\r\n setUserData({ ...userdata, telConfirmed: true });\r\n if (props.confirmed != null) {\r\n props.confirmed({ ...userdata, telConfirmed: true });\r\n }\r\n else\r\n setUserData({ ...userdata, telConfirmed: true });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const sendSms = () => {\r\n\r\n var tel = document.getElementById(\"Tel\").value;\r\n if (tel == null || tel.length == 0) {\r\n showErrorMessage(\"Telefon numarası boÅŸ olamaz\")\r\n return;\r\n }\r\n var message = \"CODE|\" + tel + \"|\" + userdata.userName+\"|\";\r\n\r\n fetch(\"sendsms\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(message)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n response.text().then(value => {\r\n showErrorMessage(\" Bir hata oluÅŸtu. \" + value)\r\n })\r\n \r\n }\r\n else {\r\n showSuccessMessage(\"DoÄŸrulama Kodu Telefon Numaranıza GöderilmiÅŸtir. \");\r\n }\r\n });\r\n }\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n var input = document.getElementById(\"email\")\r\n if (input != null && input.checkValidity() == false) {\r\n showErrorMessage(\"Email Adresi Hatalı\");\r\n return;\r\n }\r\n input = document.getElementById(\"Tel\")\r\n if (input != null && (input.checkValidity() == false || isEmpty(input.value))) {\r\n showErrorMessage(\"Telefon Numarası Hatalı\");\r\n return;\r\n }\r\n\r\n fetch(\"updateuser\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(userdata)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response,true)\r\n }\r\n else {\r\n response.text().then(value => {\r\n })\r\n showSuccessMessage(\"Kullanıcı Bilgileri GüncellenmiÅŸtir. \");\r\n document.getElementById(\"telkodgonder\").disabled = false;\r\n document.getElementById(\"telkodgir\").disabled = false;\r\n document.getElementById(\"emailkodgonder\").disabled = false;\r\n document.getElementById(\"emailkodgir\").disabled = false;\r\n }\r\n });\r\n }\r\n\r\n\r\n return <div >\r\n\r\n <div className=\"col-12\">\r\n <label className=\"form-label me-5\">Ä°letiÅŸim Tercihleri</label>\r\n <div className=\"form-check form-check-inline\">\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"sendMessage\" id=\"sendMessage\" defaultChecked={userdata && userdata.sendMessage} onChange={handleInputChange} />\r\n <label className=\"form-check-label\" for=\"sendMessage\">\r\n Mesajlarım\r\n </label>\r\n </div>\r\n <div className=\"form-check form-check-inline\">\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"sendEmail\" id=\"sendEmail\" defaultChecked={userdata && userdata.sendEmail} onChange={handleInputChange} />\r\n <label className=\"form-check-label\" for=\"sendEmail\">\r\n Email\r\n </label>\r\n </div>\r\n <div className=\"form-check form-check-inline\">\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"sendSMS\" id=\"sendSMS\" defaultChecked={userdata && userdata.sendSMS} onChange={handleInputChange} />\r\n <label className=\"form-check-label\" for=\"sendSMS\">\r\n SMS\r\n </label>\r\n </div>\r\n\r\n </div>\r\n\r\n <div className=\"row mb-1 mt-2\">\r\n <div className='col-4' >\r\n <label htmlFor=\"Tel\" className=\"form-label m-0\">GSM No {userdata.telConfirmed != true && <span class=\"text-danger\"> (DoÄŸrulunmamış)</span>}</label>\r\n </div>\r\n <div className='col-4' >\r\n <input type=\"text\" pattern=\"[5-5]{1}[0-9]{2}[0-9]{7}\" maxLength=\"10\" placeholder=\"5__ ___ ____\" className=\"form-control\" id=\"Tel\" name=\"tel\" onChange={handleInputChange} defaultValue={userdata.tel} />\r\n </div>\r\n <div className='col-4' >\r\n <button type=\"button\" id=\"telkodgonder\" className=\"btn btn-primary btn-sm me-1\" onClick={() => { sendSms() }}>\r\n Kod Gönder\r\n </button>\r\n <button type=\"button\" id=\"telkodgir\" className=\"btn btn-primary btn-sm\" onClick={() => { confirmSMS() }}>\r\n DoÄŸrula\r\n </button>\r\n </div>\r\n </div>\r\n <div className=\"row mt-3\">\r\n <div className='col-4' >\r\n <label htmlFor=\"Tel\" className=\"form-label m-0\">Email {userdata.emailConfirmed != true && <span class=\"text-danger\"> (DoÄŸrulunmamış)</span>}</label>\r\n\r\n </div>\r\n <div className='col-4' >\r\n <input type=\"email\" pattern=\"[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2, 4}$\" maxLength=\"50\" className=\"form-control\" id=\"email\" placeholder=\"email\" name=\"email\" onChange={handleInputChange} defaultValue={userdata.email} />\r\n </div>\r\n <div className='col-4' >\r\n <button type=\"button\" id=\"emailkodgonder\" className=\"btn btn-primary btn-sm me-1\" onClick={() => { sendEmail() }}>\r\n Kod Gönder\r\n </button>\r\n <button type=\"button\" id=\"emailkodgir\" className=\"btn btn-primary btn-sm\" onClick={() => { confirmEmail() }}>\r\n DoÄŸrula\r\n </button>\r\n </div>\r\n\r\n </div>\r\n {props.showCode != false && <div className=\"row mt-3\">\r\n <div className=\"col-4\">\r\n <label htmlFor=\"id\" className=\"form-label\">Kullanıcı Kodu</label>\r\n </div>\r\n <div className=\"col-4\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"id\" placeholder=\"\" name=\"id\" onChange={handleInputChange} defaultValue={userdata.id} />\r\n </div>\r\n </div>}\r\n\r\n <div className=\"row mt-5 pt-3 bg-light\">\r\n\r\n <div className='col-12 text-primary' >\r\n Bildirim Tercihleri\r\n </div>\r\n </div>\r\n\r\n <div className=\"row bg-light pt-2 \">\r\n <div className='col-4' >\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"Kabul\" defaultChecked={userdata && userdata.bildirimTercihleri && userdata.bildirimTercihleri.includes(\"Kabul\")} onChange={handleBildirimTercihChange} /> BaÅŸvuru Kabul Süreci\r\n </div>\r\n <div className='col-4' >\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"Havale\" defaultChecked={userdata && userdata.bildirimTercihleri && userdata.bildirimTercihleri.includes(\"Havale\")} onChange={handleBildirimTercihChange} /> Havale Süreci\r\n </div>\r\n <div className='col-4' >\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"Düzeltme\" defaultChecked={userdata && userdata.bildirimTercihleri && userdata.bildirimTercihleri.includes(\"Düzeltme\")} onChange={handleBildirimTercihChange} /> Düzeltme Süreci\r\n </div>\r\n </div>\r\n <div className=\"row bg-light pt-3\">\r\n <div className='col-4' >\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"Onay\" defaultChecked={userdata && userdata.bildirimTercihleri && userdata.bildirimTercihleri.includes(\"Onay\")} onChange={handleBildirimTercihChange} /> Onay Süreci\r\n </div>\r\n <div className='col-4' >\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"Güncelleme\" defaultChecked={userdata && userdata.bildirimTercihleri && userdata.bildirimTercihleri.includes(\"Güncelleme\")} onChange={handleBildirimTercihChange} /> BaÅŸvuru Güncelleme Süreci\r\n </div>\r\n <div className='col-4' >\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"EÄ°mzaBaÅŸlama\" defaultChecked={userdata && userdata.bildirimTercihleri && userdata.bildirimTercihleri.includes(\"EÄ°mzaBaÅŸlama\")} onChange={handleBildirimTercihChange} /> E-Ä°mza Süreci BaÅŸlatıldığında\r\n </div>\r\n </div>\r\n <div className=\"row mb-5 bg-light pt-3 pb-4\">\r\n <div className='col-4' >\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"EÄ°mzaSira\" defaultChecked={userdata && userdata.bildirimTercihleri && userdata.bildirimTercihleri.includes(\"EÄ°mzaSira\")} onChange={handleBildirimTercihChange} /> E-Ä°mza Atma Sırası GeldiÄŸinde\r\n </div>\r\n <div className='col-4' >\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"EÄ°mzaTamamlanma\" defaultChecked={userdata && userdata.bildirimTercihleri && userdata.bildirimTercihleri.includes(\"EÄ°mzaTamamlanma\")} onChange={handleBildirimTercihChange} /> E-Ä°mza Süreci Tamamlanınca\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n\r\n <div className=\"row mb-4 mt-2\">\r\n <div className='col-6' >\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"eimza\" id=\"eimza\" defaultChecked={userdata!=null && userdata.eimza==true} onChange={handleInputChange} /> E-Ä°mza Kullanabilirim\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row mb-4 mt-2\">\r\n <div className='col-4' >\r\n <input disabled={role.indexOf(UserPermConstants.Sabitlenen_Profil_Degistirme) == -1} name=\"edveletConfirmed\" id=\"edveletConfirmed\" className=\"form-check-input\" type=\"checkbox\" defaultChecked={userdata != null && userdata.edveletConfirmed == true} onChange={handleInputChange} /> {userdata != null && userdata.edveletConfirmed == true ? <span className=\"text-success\">E-Devlet GiriÅŸi Onaylanmıştır</span> : <span className=\"text-danger\">E-Devlet GiriÅŸi Yapılmamıştır</span>}\r\n </div>\r\n {role.indexOf(UserPermConstants.Kullanici_Listesini_Gorme_Profil_Bilgilerini) > -1 && <>\r\n\r\n <div className='col-4' >\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"emailConfirmed\" id=\"emailConfirmed\" defaultChecked={userdata && userdata.emailConfirmed == true} onChange={handleInputChange} /> Email DoÄŸrulama\r\n </div>\r\n <div className='col-4' >\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"telConfirmed\" id=\"telConfirmed\" defaultChecked={userdata && userdata.telConfirmed} onChange={handleInputChange} /> GSM DoÄŸrulama\r\n </div></>}\r\n </div>\r\n\r\n\r\n <button type=\"button\" onClick={onSubmit} className=\"btn btn-primary btn-sm mt-4\">Güncelle</button>\r\n\r\n </div>\r\n\r\n\r\n}\r\n\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { isEmpty, sendpost, showConfirmMessage, showInfoMessage, showErrorMessage, useGlobalState, getHtmlTag } from '../GlobalState.js';\r\nimport FilesPanel from \"./FilesPanel.js\";\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport EImzaList from '../Eimza/EImzaList.js';\r\nimport EImzaTekrar from '../Eimza/EImzaTekrar.js';\r\nimport PDFView from './PDFView.js';\r\nimport EImzaDetails from '../Eimza/EImzaDetails.js';\r\nimport Creatable from 'react-select/creatable'\r\nimport { useRef } from \"react\";\r\n\r\nexport default function InlineFilePanel(props) {\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [userName, setuserName] = useGlobalState('userName');\r\n const [uploadedFiles, setuploadedFiles] = useState(props.uploadedFiles);\r\n const [fileNameList, setfileNameList] = useState(props.fileNameList);\r\n const [fileType, setfileType] = useState(props.fileType);\r\n const [showIfModal, setShowIfModal] = useState(null);\r\n const [plot, setPlot] = useState(\"Extents\");\r\n const [olcek, setOlcek] = useState(\"1:50\");\r\n const [width, setWidth] = useState(\"\");\r\n const [height, setHeight] = useState(\"\");\r\n const [renk, setRenk] = useState(\"\");\r\n const [zoom, setZoom] = useState(\"\");\r\n const [ofset, setOfset] = useState(\"\");\r\n const [unit, setUnit] = useState(\"\");\r\n\r\n const [printer, setPrinter] = useState(\"\");\r\n const selectRef = useRef();\r\n\r\n\r\n const pdfWindoModes = [\"Extents\", \"Display\", \"Limits\", \"View\", \"Window\"]\r\n var appData = props.appData;\r\n\r\n var sharingDeadline = \"\";\r\n var sharingType = \"\";\r\n if (appData != null && isEmpty(appData.temp) == false && appData.temp.includes(\"#\")) {\r\n sharingDeadline = appData.temp.split(\"#\")[0];\r\n sharingType = appData.temp.split(\"#\")[1];\r\n }\r\n\r\n\r\n\r\n const getFileType = (rec) => {\r\n if (fileNameList == null) return rec.typeId;\r\n for (var i = 0; i < fileNameList.length; i++)\r\n if (fileNameList[i].id == rec.typeId) {\r\n rec.typeName = fileNameList[i].Name;\r\n rec.kontrolorDosyasi = fileNameList[i].kontrolorDosyasi;\r\n rec.surecSonu = fileNameList[i].surecSonu;\r\n return fileNameList[i].Name;\r\n }\r\n return rec.typeId;\r\n }\r\n\r\n\r\n\r\n\r\n const canDelete = (rec) => {\r\n if (rec.kontrolorDosyasi == true && role.indexOf(UserPermConstants.Kontrolor_Dosyasi_Yukleme) == -1)\r\n return false;\r\n\r\n if (role != null && role.indexOf(UserPermConstants.Dosya_Degistirme_Silme) > -1)\r\n return true;\r\n\r\n if (appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Taslak\r\n || appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Duzeltme_Bekleniyor) {\r\n if (isEmpty(appData.sonDuzeltmeTalebiTarihi) || rec.tarih >= appData.sonDuzeltmeTalebiTarihi) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n\r\n\r\n const changeHideState = (rec) => {\r\n if (rec.hidden == true)\r\n rec.hidden = false\r\n else\r\n rec.hidden = true;\r\n\r\n fetch(\"updatefile\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n props.setParentFileList(uploadedFiles.filter(x => x.id > 0)); //just to maake new array\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const getEimzaMenu = (filerec) => {\r\n\r\n var e = filerec.imzaRec;\r\n if (e == null)\r\n return \"\";\r\n var source = <FilesPanel appData={appData} showAll={true} setActivePanel={props.setActivePanel} />\r\n var ret = <div className=\"dropdown d-inline-block ms-1 \" >\r\n <button title={(e.removed != true && e.imzatarih == null) ? \"E-Ä°mza Sürecinde\" : \"E-Ä°mzalı\"} className={\"btn btn-sm dropdown-toggle p-0 ps-1 pe-1 \" + ((e.removed != true && e.imzatarih == null) ? \"btn-warning\" : \"btn-primary\")} type=\"button\" id=\"dropdownMenuButton1\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n E-Ä°mza\r\n </button>\r\n <ul class=\"dropdown-menu shadow\" aria-labelledby=\"dropdownMenuButton1\">\r\n {e.imzatarih != UserPermConstants.EIMZA_IPTAL && e.removed != true && <>\r\n {<li>\r\n <button className={\"dropdown-item \" + (appData.id == e.appId ? \"text-primary\" : \"text-warning\")} onClick={() => {\r\n var btns = document.getElementById(\"buttonsbox\").querySelectorAll(\".btn\");\r\n btns.forEach(x => { if (x.classList.contains(\"btn-link\") == false) { x.classList.remove(\"btn-primary\"); x.classList.add(\"text-muted\") } })\r\n\r\n var b = document.getElementById(\"EimzaButton\");\r\n if (b != null) {\r\n b.classList.remove(\"text-muted\")\r\n b.classList.add(\"btn-primary\")\r\n }\r\n /* document.getElementById(\"activepaneldiv\").scrollTo(0, 0)*/\r\n /* props.setActivePanel(< EImzaList appData={props.appData} targetEimza={e} setActivePanel={props.setActivePanel} />)*/\r\n if (appData.id == e.appId) {\r\n var popup = window.open(\"/\");\r\n popup.appData = props.appData;\r\n popup.eimza = e;\r\n }\r\n else {\r\n var rapp = appData.relatedApps.find(a => a.id == e.appId)\r\n if (rapp == null) {\r\n showErrorMessage(e.appId + \" numaralı baÅŸvuru bulunamadı.\")\r\n }\r\n else {\r\n var popup = window.open(\"/\");\r\n popup.appData = rapp;\r\n popup.eimza = e;\r\n }\r\n\r\n }\r\n\r\n // popup.postMessage(\"The user is 'bob' and the password is 'secret'\", \"*\")\r\n // window.setTimeout(()=>popup.postMessage(\"The user is 'bob' and the password is 'secret'\", \"*\"),2000);\r\n }}>\r\n <i class=\" fa fa-edit\" style={{ \"font-size\": \"18px\" }} aria-hidden=\"true\"></i> E-Ä°mza Kaydına Git</button>\r\n\r\n </li>}\r\n <li>\r\n\r\n {isEmpty(e.imzatarih) == false && <a className=\"dropdown-item text-success \" href={'getimzalidosya?eimzaid=' + e.id} download=\"eimza.pdf\"><i className=\"fa fa-cloud-download\" style={{ \"font-size\": \"18px\" }}></i> Ä°mzalı Dosya Ä°ndir </a>}\r\n\r\n </li>\r\n {/*(role.indexOf(UserPermConstants.Imza_Guncelleme) > -1 || userName == filerec.userName) &&*/ <li>\r\n {/*<button className=\"dropdown-item \" data-bs-toggle=\"modal\" data-bs-target={\"#eimzaGuncellModal\"+e.id} onMouseDown={() => { if (imzalayanlist.length == 0) { showErrorMessage(\"Eimza Listesini Güncellemek içim Önce Ä°mza Listesi Açılmalıdır\"); return; } setGuncelnecekEimza([e, imzalayanlist]) }}> <span className=\"fa fa-list-ul\" style={{ \"font-size\": \"18px\" }}>*/}\r\n {/*</span> Adayları Güncelle*/}\r\n {/*</button>*/}\r\n\r\n <button disabled={(role.indexOf(UserPermConstants.Imza_Guncelleme) == -1 && userName != filerec.userName)} className=\"dropdown-item \" onClick={() => { props.setActivePanel(<EImzaTekrar source={source} changeComponent={props.changeComponent} setActivePanel={props.setActivePanel} appData={props.appData} eimza={e} VizeKontrol={null} />) }}> <span className=\"fa fa-list-ul\" style={{ \"font-size\": \"18px\" }}>\r\n </span> Ä°mzacıları Güncelle\r\n </button>\r\n\r\n {/*(role.indexOf(UserPermConstants.Imza_Yerlestirme) > -1 || userName == filerec.userName) &&*/ <li>\r\n <button className=\"dropdown-item \" disabled={(role.indexOf(UserPermConstants.Imza_Yerlestirme) == -1 && userName != filerec.userName)} onClick={() => props.setActivePanel(<PDFView Eimza={e} setActivePanel={props.setActivePanel} appData={props.appData} />)} > <i class=\" fa fa-file-pdf-o\" style={{ \"font-size\": \"18px\" }} aria-hidden=\"true\"></i> Ä°mzayı YerleÅŸtir</button>\r\n </li>}\r\n\r\n </li>}\r\n\r\n {role.indexOf(UserPermConstants.Imza_Veri_Girisi) > -1 && <li>\r\n <button className=\"dropdown-item \" onClick={() => props.setActivePanel(<EImzaDetails eimza={e} setActivePanel={props.setActivePanel} appData={props.appData} />)}> <i class=\"fa fa-cog\" style={{ \"font-size\": \"18px\" }} aria-hidden=\"true\"></i> Veri GiriÅŸi Yap</button>\r\n\r\n </li>}\r\n\r\n {(role.indexOf(UserPermConstants.Imza_Vize_Kontrol) > -1) && <li>\r\n <button className=\"dropdown-item \" onClick={() => { props.setActivePanel(<EImzaTekrar changeComponent={props.changeComponent} source={source} setActivePanel={props.setActivePanel} appData={props.appData} eimza={e} VizeKontrol={true} />) }}> <span className=\"fa fa-user\" style={{ \"font-size\": \"18px\" }}>\r\n </span> Vize Kontrolü</button>\r\n </li>}\r\n </>\r\n\r\n }\r\n </ul>\r\n </div>\r\n return ret;\r\n }\r\n\r\n const imzala = (rec) => {\r\n\r\n var buttonbox = document.getElementById(\"buttonsbox\");\r\n if (buttonbox != null) {\r\n var btns = buttonbox.querySelectorAll(\".btn\");\r\n btns.forEach(x => { if (x.classList.contains(\"btn-link\") == false) { x.classList.remove(\"btn-primary\"); x.classList.add(\"text-muted\") } })\r\n\r\n var b = document.getElementById(\"EimzaButton\");\r\n b.classList.remove(\"text-muted\")\r\n b.classList.add(\"btn-primary\")\r\n }\r\n if (appData.id == rec.appId)\r\n props.setActivePanel(<EImzaList appData={appData} targetFile={rec} setActivePanel={props.setActivePanel} changeComponent={props.changeComponent} />)\r\n else {\r\n\r\n showConfirmMessage(\"Åu anda \" + appData.id + \" numaralı baÅŸvuruda bulunuyorsunuz. Ancak imzaya açmaya çalıştığınız dosya \" + rec.appId + \" numaralı baÅŸvuruya yüklenmiÅŸ.\", \"E-Ä°mza kaydı \" + rec.appId + \" numaralı baÅŸvuruda açılacaktır.\",\r\n \"Devam Et\", \"Ä°ptal\", () => {\r\n fetch(\"getapp\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: rec.appId\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n props.setActivePanel(<EImzaList appData={value} targetFile={rec} setActivePanel={props.setActivePanel} changeComponent={props.changeComponent} />)\r\n })\r\n }\r\n });\r\n });\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n const getVisibleState = (id) => {\r\n if (fileNameList == null) return false;\r\n for (var i = 0; i < fileNameList.length; i++)\r\n if (fileNameList[i].id == id) {\r\n if (fileNameList[i].kontrolorDosyasi != true)\r\n return true;\r\n if (role.indexOf(UserPermConstants.Kontrolor_Dosyasi_Yukleme) > -1) return true;\r\n if (fileNameList[i].kontrolorDosyaYetki == null || fileNameList[i].kontrolorDosyaYetki.length == 0) return true;\r\n if (fileNameList[i].kontrolorDosyaYetki.split(',').some(x => role.indexOf(\"#\" + x + \"#\") > -1)) return true;\r\n return false;\r\n }\r\n return false;\r\n }\r\n\r\n\r\n\r\n\r\n const restorefile = (rec) => {\r\n rec.removedBy = appData.securityToken;\r\n showConfirmMessage(getFileType(rec) + \" dosyasını geri almak istediÄŸinizden emin misiniz?\",\r\n '', 'Evet', 'Hayır', () => {\r\n sendpost(\"restorefile\", rec, \"\", () => {\r\n rec.removed = false;\r\n props.setParentFileList([...uploadedFiles]);\r\n\r\n\r\n })\r\n });\r\n }\r\n\r\n const removefile = (rec) => {\r\n rec.readers = appData.securityToken;\r\n showConfirmMessage(getFileType(rec) + \" dosyasını silmek istediÄŸinizden emin misiniz?\",\r\n rec.imzaRec != null ? 'Dosya E-imzalı olduÄŸu için E-imza kaydı da silinecektir !' : '', 'Evet', 'Hayır', () => {\r\n sendpost(\"removefile\", rec, \"\", () => {\r\n if (rec.removed == true) {\r\n props.setParentFileList(uploadedFiles.filter(x => x.id != rec.id));\r\n }\r\n else {\r\n rec.removedBy = userName\r\n rec.removed = true;\r\n rec.removedDate = \"Az önce\"\r\n props.setParentFileList([...uploadedFiles]);\r\n }\r\n\r\n })\r\n });\r\n }\r\n\r\n\r\n\r\n const isVisivble = (rec) => {\r\n try {\r\n if (userName == rec.userName)\r\n return true;\r\n if (appData.basvuruYapan == userName)\r\n return true;\r\n if (props.kontrolorList != null && props.kontrolorList.some(x => x.userName == userName))\r\n return true;\r\n\r\n if (role.indexOf(UserPermConstants.Havale_Yapma) > -1\r\n || role.indexOf(UserPermConstants.Basvuru_Liste) > -1)\r\n return true;\r\n\r\n\r\n // müellif listesinde varsa dosyayı gostermiyoruz\r\n if (isEmpty(appData.müellifKullanıcıAdı) == false && appData.müellifKullanıcıAdı.includes(userName + \" \"))\r\n return false;\r\n if (rec.appId == appData.id || role.indexOf(UserPermConstants.Basvuru_Onaylama) > -1)\r\n return true;\r\n if (appData.relatedApps != null && appData.relatedApps.map(x => x.id).includes(rec.appId) && role.indexOf(UserPermConstants.Ilgili_Basvurulari_Gorme) > -1)\r\n return true;\r\n return false;\r\n }\r\n catch (ex) {\r\n console.log(ex);\r\n }\r\n return false;\r\n }\r\n\r\n\r\n\r\n const getImzaButton = (rec) => {\r\n var button = <i className=\"\tfa fa-edit\" style={{ \"font-size\": \"18px\" }} ></i>\r\n if (props.setActivePanel != null &&\r\n /*appData.id == rec.appId &&*/\r\n role != null && role.indexOf(UserPermConstants.Dosyalari_Eimzaya_Acima) > -1) {\r\n if (rec.caption != null && rec.caption.toUpperCase().endsWith(\".PDF\")) {\r\n if (rec.imzatarih != null) {\r\n return <span className=\"text-success\" title={\"Belge Daha Önce Ä°mzalanmıştır\"}>\r\n {button}\r\n </span>\r\n }\r\n\r\n return <a className=\"text-decoration-none\" href=\"#\" title={\"Imzala\"} onClick={() => imzala(rec)}>\r\n {button}\r\n </a>\r\n }\r\n else\r\n return <span className=\"text-warning\" title={\"Sadece PDF dosyaları imzalanabilir\"}>\r\n {button}\r\n </span>\r\n }\r\n return \"\";\r\n }\r\n\r\n const gettextColor = (rec) => {\r\n if (isEmpty(rec.readers) == false && rec.readers.includes(\"!\")) //deleted file from similar app\r\n return \"text-danger fw-bold\";\r\n if (rec.readers == null || rec.readers.includes(userName) == false)\r\n return \"text-success\";\r\n return \"\";\r\n }\r\n\r\n const gettitle = (rec) => {\r\n if (rec.readers == \"!\") //deleted file from similar app\r\n return \"BaÅŸvuru SilinmiÅŸ\";\r\n return \"\";\r\n }\r\n\r\n const isVisible = (rec) => {\r\n if (props.showAllFileState == false && rec.appId != appData.id)\r\n return false;\r\n\r\n if (props.showHidden == true)\r\n return rec.hidden == true;\r\n else\r\n return rec.hidden != true;\r\n }\r\n const setScale = (rec) => {\r\n var s1 = getHtmlTag(\"unit\", \"value\");\r\n var s2 = getHtmlTag(\"milim\", \"value\");\r\n if (isEmpty(s1))\r\n s1 = 1;\r\n if (isEmpty(s2))\r\n s2 = 1;\r\n setOlcek(s1 + \":\" + s2);\r\n }\r\n\r\n\r\n\r\n return (\r\n <div className='table-responsive' style={{ \"overflow-y\": \"visible !important\" }}>\r\n <table className='table table-striped table-sm mb-1' aria-labelledby=\"tabelLabel\" style={{ \"fontSize\": \"14px\" }}>\r\n <tbody>\r\n\r\n {uploadedFiles.filter(x => (x.removed != true || props.showDeletedFiles == true) && isVisible(x) && (x.typeId == fileType || props.showHidden == true)).map((rec, idx) => getVisibleState(rec.typeId) &&\r\n <tr className={(appData.id == rec.appId && (rec.readers == null || rec.readers.includes(userName) == false)) ? \"fw-bold text-success searchitem\" : \"searchitem\"}>\r\n <td width=\"2%\" className={(rec.readers == null || rec.readers.includes(userName) == false) ? \"text-success \" : \"\"}>\r\n {idx + 1}\r\n\r\n </td>\r\n <td width=\"5%\" className={gettextColor(rec)} title=\"BaÅŸvuru No\">\r\n {rec.appId}\r\n </td>\r\n <td width=\"3%\" className={(rec.readers == null || rec.readers.includes(userName) == false) ? \"text-success\" : \"\"} title=\"Dosya No\">\r\n {rec.id}\r\n </td>\r\n\r\n <td width=\"20%\" className={gettextColor(rec)} >\r\n <span className={rec.removed == true ? \"text-decoration-line-through text-danger\" : \"\"}>\r\n {getFileType(rec)}\r\n </span>\r\n\r\n </td>\r\n <td width=\"20%\" className={gettextColor(rec)} >\r\n\r\n <span className={rec.removed == true ? \"text-decoration-line-through text-danger\" : \"\"}>\r\n {rec.caption}\r\n </span>\r\n\r\n\r\n </td>\r\n <td width=\"15%\" className={(rec.readers == null || rec.readers.includes(userName) == false) ? \"text-success \" : \"\"}>\r\n {rec.tarih}\r\n </td>\r\n\r\n <td width=\"10%\" className={(rec.readers == null || rec.readers.includes(userName) == false) ? \"text-success \" : \"\"}>\r\n <img className=\"rounded-circle\" style={{ width: \"28px\", height: \"28px\" }} src={'/getuserpic?user=' + rec.userName} /><span className={(rec.readers == null || rec.readers.includes(userName) == false) ? \"text-success\" : \"\"}> {rec.userName} </span>\r\n </td>\r\n {rec.removed == true ?\r\n <td width=\"25%\" className=\"text-end text-danger fw-normal small\">\r\n SilinmiÅŸ ({rec.removedBy} {rec.removedDate})\r\n {(userName.toLocaleLowerCase() == \"admin\" || userName.toLocaleLowerCase() == \"universe\") && < button className=\"btn btn-sm btn-link text-decoration-none p-1\" type=\"button\" onClick={() => restorefile(rec)}>\r\n Geri al\r\n </button>}\r\n\r\n </td>\r\n :\r\n < td width=\"25%\" className=\"text-end\">{\r\n isVisivble(rec) && <>\r\n\r\n {/*(rec.imzaid != null && rec.removed != true && rec.imzatarih != null && rec.imzatarih != \"Ä°ptal Edildi\") && <sup><a className=\"text-decoration-none align-middle\" href={'getimzalidosya?eimzaid=' + rec.imzaid} download=\"eimza.pdf\"><span class=\"ms-1 me-1 badge rounded-pill bg-primary\" > E-imzalı</span></a></sup>*/}\r\n {/*(rec.imzaid != null && rec.removed != true && rec.imzatarih == null) && <sup><span class=\"ms-1 me-1 badge rounded-pill bg-warning\" >Ä°mza Süreci</span></sup>*/}\r\n {/*< a className=\"text-decoration-none align-middle\" href={'getfile?id=' + rec.id + \"&appid=\" + rec.appId + \"&sec=\" + appData.securityToken} download={rec.caption}><i className=\"fa fa-cloud-download\" style={{ \"font-size\": \"18px\" }}></i> </a>*/}\r\n {rec.caption.endsWith(\".dwg\") == true &&\r\n <button\r\n className=\"btn btn-link text-danger pe-1\"\r\n onClick={() => {\r\n setWidth(\"\")\r\n setHeight(\"\")\r\n setOfset(\"\")\r\n setPrinter(\"\")\r\n setZoom(\"\")\r\n setRenk(\"\")\r\n setOlcek(\"1:50\")\r\n setShowIfModal(rec);\r\n }\r\n }\r\n >\r\n <i className=\"\tfa fa-file-pdf-o\"\r\n style={{ \"font-size\": \"17px\" }} ></i>\r\n </button>\r\n }\r\n {rec.surecSonu == true && role.indexOf(UserPermConstants.Surec_Sonu_Dosya_Indirme) == -1 && (appData.basvuruDurumu != 8 && appData.basvuruDurumu != 9) ?\r\n <button className=\"btn btn-link btn-sm text-decoration-none align-middle\" onClick={() => showInfoMessage(\"Bu dosyaya süreç tamamlandıktan sonra eriÅŸebilirsiniz\", \"\", \"Tamam\")}>\r\n <i className=\"\tfa fa-television\" style={{ \"font-size\": \"18px\" }} ></i>\r\n </button>\r\n : <a className=\"text-decoration-none align-middle\" href={'getfile?id=' + rec.id + \"&appid=\" + rec.appId + \"&sec=\" + appData.securityToken} title=\"Aç\" target=\"_blank\"><i className=\"\tfa fa-television\" style={{ \"font-size\": \"18px\" }} ></i> </a>\r\n }\r\n\r\n {(isEmpty(sharingType) == true || sharingType == \"Düzenleme\") && appData.archived != true ? <>\r\n {canDelete(rec) && <a href=\"/#\" onClick={() => { removefile(rec) }} className=\"text-decoration-none me-1\"><i className=\"fa fa-trash-o\" style={{ \"font-size\": \"18px\" }}></i></a>}\r\n {role.indexOf(UserPermConstants.Dosya_Gizleme) > -1 && < a className=\"text-decoration-none align-middle\" href=\"#\" onClick={() => changeHideState(rec)} title={rec.hidden == true ? \"GizliliÄŸi Kaldır\" : \"Gizle\"}><i className={rec.hidden == true ? \"fa fa-eye\" : \"fa fa-eye-slash\"} style={{ \"font-size\": \"18px\" }}></i> </a>}\r\n {getImzaButton(rec)}\r\n {getEimzaMenu(rec)}\r\n </> : rec.imzaRec != null && isEmpty(rec.imzaRec.imzatarih) == false &&\r\n <a className=\"text-success \" href={'getimzalidosya?eimzaid=' + rec.imzaRec.id} download=\"eimza.pdf\"><i className=\"fa fa-cloud-download\" title={\"Ä°mzalı Dosya Ä°ndir\"} style={{ \"font-size\": \"18px\" }}></i> </a>}\r\n\r\n </>}\r\n\r\n </td>}\r\n </tr>)}\r\n </tbody>\r\n </table>\r\n\r\n\r\n\r\n {showIfModal != null && (\r\n <div\r\n className=\"modal fade show d-block\"\r\n tabIndex=\"-1\"\r\n style={{ background: \"rgba(0,0,0,0.5)\" }}\r\n >\r\n <div className=\"modal-dialog\">\r\n <div className=\"modal-content\">\r\n <div className=\"modal-header\">\r\n <h5 className=\"modal-title\">PDF Ayarları</h5>\r\n <button\r\n type=\"button\"\r\n className=\"btn-close\"\r\n onClick={() => {\r\n setShowIfModal(null)\r\n setWidth(\"\")\r\n setHeight(\"\")\r\n setOfset(\"\")\r\n setPrinter(\"\")\r\n setZoom(\"\")\r\n setRenk(\"\")\r\n setOlcek(\"1:50\")\r\n }}\r\n ></button>\r\n </div>\r\n <div className=\"modal-body\">\r\n {/*<div className=\"row\">*/}\r\n {/* <div className=\"col-3\">Görüntü Tipi</div>*/}\r\n {/* <div className=\"col-6\">*/}\r\n {/* <select className=\"form-select form-select-sm shadow-none\" id=\"plotselect\" onChange={(e) => setPlot(e.target.value)}>*/}\r\n {/* {pdfWindoModes.map(x =>*/}\r\n {/* <option value={x}>*/}\r\n {/* {x}*/}\r\n {/* </option>)}*/}\r\n {/* </select>*/}\r\n {/* </div>*/}\r\n {/*</div>*/}\r\n\r\n <div className=\"row mb-3\">\r\n <div className=\"col-2\">Ölçek</div>\r\n <div className=\"col-5\">\r\n\r\n <Creatable\r\n required={true}\r\n ref={selectRef}\r\n options={[{ label: \"50\", value: \"50\" }, { label: \"100\", value: \"100\" }]}\r\n onChange={(e) => {\r\n if (e != null)\r\n setOlcek(\"1:\" + e.value)\r\n }}\r\n isClearable={true}\r\n formatCreateLabel={(i) => i}\r\n noOptionsMessage={() => \"Henüz seçim yapılmadı\"}\r\n placeholder=\"Seçiniz\"\r\n />\r\n\r\n\r\n </div>\r\n {/*<div className=\"col-3\">*/}\r\n {/* Model Birimi*/}\r\n {/* <input type=\"number\" className=\"form-control form-control-sm\" id=\"unit\" defaultValue=\"1\" onChange={setScale} />*/}\r\n\r\n {/*</div>*/}\r\n {/*<div className=\"col-1\">*/}\r\n {/* =*/}\r\n {/*</div>*/}\r\n {/*<div className=\"col-3\">*/}\r\n {/* Milimetre*/}\r\n {/* <input type=\"number\" className=\"form-control form-control-sm\" id=\"milim\" defaultValue=\"1\" onChange={setScale} />*/}\r\n\r\n {/*</div>*/}\r\n <div className=\"col-5 text-end\">\r\n <button class=\"btn btn-link btn-sm text-decoration-none\"\r\n type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#multiCollapseExample2\"\r\n aria-expanded=\"false\" aria-controls=\"multiCollapseExample2\">\r\n\r\n <i className=\"fa fa-cog\" aria-hidden=\"true\"></i>\r\n </button>\r\n\r\n </div>\r\n </div>\r\n <div className=\"collapse border-top border-top\" id=\"multiCollapseExample2\">\r\n <div className=\"row mt-2\">\r\n <div className=\"col-4\">\r\n Kağıt Eni\r\n <input type=\"number\" className=\"form-control form-control-sm\" defaultValue=\"\" onChange={(e) => setWidth(e.target.value)} />\r\n </div>\r\n <div className=\"col-4\">\r\n Kağıt Boyu\r\n <input type=\"number\" className=\"form-control form-control-sm\" defaultValue=\"\" onChange={(e) => setHeight(e.target.value)} />\r\n </div>\r\n <div className=\"col-4\">\r\n Renk\r\n <select class=\"form-select form-select-sm\" onChange={(e) => setRenk(e.target.value)} >\r\n\r\n <option selected value=\"monochrome.ctb\">Siyah Beyaz</option>\r\n <option value=\"Autodesk-Color.stb\">Renkli</option>\r\n\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-2\" >\r\n <div className=\"col-4 \">\r\n Zoom\r\n <input type=\"number\" className=\"form-control form-control-sm\" defaultValue=\"\" onChange={(e) => setZoom(e.target.value)} />\r\n </div>\r\n <div className=\"col-4 \">\r\n Ofset (X,Y)\r\n <input type=\"text\" placeholder=\"0,0\" className=\"form-control form-control-sm\" defaultValue=\"\" onChange={(e) => setOfset(e.target.value)} />\r\n </div>\r\n <div className=\"col-4\">\r\n {/*Çizim Modu*/}\r\n {/*<select class=\"form-select form-select-sm\" onChange={(e) => setPrinter(e.target.value)} >*/}\r\n {/* <option selected value=\"\">Gerçek boyutta çiz</option>*/}\r\n {/* <option value=\"DWG To PDF\">5m'ye sığıdır</option>*/}\r\n {/*</select>*/}\r\n\r\n Çizim Birimi\r\n\r\n <Creatable\r\n required={true}\r\n ref={selectRef}\r\n options={[{ label: \"Milimetre\", value: \"4\" }, { label: \"Centimetre\", value: \"5\" }, { label: \"Metre\", value: \"6\" }, { label: \"Inch\", value: \"1\" }]}\r\n onChange={(e) => {\r\n if (e != null)\r\n setUnit(e.value)\r\n }}\r\n isClearable={true}\r\n formatCreateLabel={(i) => i}\r\n noOptionsMessage={() => \"Henüz seçim yapılmadı\"}\r\n placeholder=\"Otomatik\"\r\n />\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div className=\"modal-footer\">\r\n\r\n <a className=\"text-decoration-none align-middle btn btn-sm btn-primary\"\r\n href={'dwgtopdf?id=' + showIfModal.id + \"&plot=\" + plot +\r\n \"&pdfscale=\" + olcek + (isEmpty(width) ? \"\" : \"&width=\" + width) +\r\n (isEmpty(height) ? \"\" : \"&height=\" + height) + (isEmpty(renk) ? \"\" : \"&color=\" + renk)\r\n + (isEmpty(ofset) ? \"\" : \"&offset=\" + ofset)\r\n + (isEmpty(zoom) ? \"\" : \"&scale=\" + zoom)\r\n /* + (isEmpty(printer) ? \"\" : \"&printer=\" + printer)*/\r\n + (isEmpty(unit) ? \"\" : \"&unit=\" + unit)\r\n }\r\n title=\"PDFe çevir\" target=\"_blank\">Gerçek boyutta indir </a>\r\n <a className=\"text-decoration-none align-middle btn btn-sm btn-primary\"\r\n href={'dwgtopdf?id=' + showIfModal.id + \"&plot=\" + plot +\r\n \"&pdfscale=\" + olcek + (isEmpty(width) ? \"\" : \"&width=\" + width) +\r\n (isEmpty(height) ? \"\" : \"&height=\" + height) + (isEmpty(renk) ? \"\" : \"&color=\" + renk)\r\n + (isEmpty(ofset) ? \"\" : \"&offset=\" + ofset)\r\n + (isEmpty(zoom) ? \"\" : \"&scale=\" + zoom)\r\n + \"&printer=DWG To PDF\" \r\n + (isEmpty(unit) ? \"\" : \"&unit=\" + unit)\r\n }\r\n title=\"PDFe çevir\" target=\"_blank\"> 5m'ye sığıdır </a>\r\n\r\n <button\r\n className=\"btn btn-secondary btn-sm\"\r\n onClick={() => setShowIfModal(null)}\r\n >\r\n Vazgeç\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n );\r\n}\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport Select from \"react-select\";\r\nimport axios from \"axios\";\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport { isEmpty, removeTurkce, removeTurkcLow, sendpost, showConfirmMessage, showErrorMessage, useGlobalState } from '../GlobalState.js';\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport InlineFilePanel from './InlineFilePanel';\r\nimport $ from 'jquery';\r\nimport FilesPanel from './FilesPanel';\r\nimport VTable from '../Header/VTable';\r\n\r\nexport default function DWGCompare(props) {\r\n\r\n const files = props.files;\r\n const [dwgs, setDwgs] = useState([]);\r\n useEffect(() => {\r\n getlist();\r\n\r\n }, [])\r\n\r\n const compareFiles = (event) => {\r\n var f1 = document.getElementById(\"file1\").value;\r\n var f2 = document.getElementById(\"file2\").value;\r\n if (f1 == -1 || f2 == -1) {\r\n showErrorMessage(\"DWG dosya boÅŸ olamaz\");\r\n return;\r\n }\r\n sendpost(\"comparedwgfiles\", f1 + \",\" + f2, \"statusbar\", (resp) => {\r\n /* resp.json().then(async data => {\r\n \r\n });*/\r\n getlist();\r\n\r\n }, (resp) => {\r\n getlist();\r\n resp.text().then(value => {\r\n showErrorMessage(value);\r\n })\r\n })\r\n\r\n }\r\n\r\n const getlist = (event) => {\r\n sendpost(\"getdwgcompares\", props.appData.id, \"listbox\", (resp) => {\r\n resp.json().then(async data => {\r\n setDwgs(data);\r\n });\r\n\r\n }, (resp) => {\r\n resp.text().then(value => {\r\n showErrorMessage(value);\r\n })\r\n })\r\n\r\n }\r\n\r\n\r\n const rowClick = (idx, rec, col) => {\r\n\r\n\r\n }\r\n\r\n const rowDelete = (rec) => {\r\n showConfirmMessage(rec.id + \" numaralı kaydı silmek istediÄŸinizden emin misiniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n sendpost(\"removedwgcompare\", rec.id, \"\", (resp) => {\r\n resp.json().then(async data => {\r\n setDwgs(data);\r\n });\r\n\r\n }, (resp) => {\r\n resp.text().then(value => {\r\n showErrorMessage(value);\r\n })\r\n })\r\n\r\n })\r\n\r\n\r\n }\r\n \r\n const renderTable = (tabledata) => {\r\n\r\n var mytable = <div className=\"mt-4\">\r\n {tabledata.map((apprec,idx) =>\r\n < div className=\"row rounded-3 border-top pt-2\" key={apprec.id}>\r\n <div className=\"col-1\" >\r\n {apprec.id}\r\n </div>\r\n <div className=\"col-3\" >\r\n {apprec.file1id} - {apprec.file1typeName} ({apprec.file1caption})\r\n </div>\r\n <div className=\"col-3 \" >\r\n {apprec.file2id} - { apprec.file2typeName }({ apprec.file2caption })\r\n </div>\r\n <div className=\"col-3\" >\r\n {apprec.compareDate}\r\n </div>\r\n <div className=\"col-2 text-end\" >\r\n <a download={apprec.id + \".pdf\"} href={\"getdwgpic?id=\" + apprec.id} className=\"text-decoration-none m-0 p-0 material-icons\">download</a> \r\n <a href=\"#\" onClick={() => rowDelete(apprec)} className=\"material-icons text-decoration-none m-0 p-0 text-danger\">delete</a>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n return (\r\n <div>\r\n <div className=\"row mb-1\">\r\n <div className=\"col-8 fw-bold\">\r\n <h5 className=\"text-primary\"> DWG Dosya KarşılaÅŸtırma</h5>\r\n </div>\r\n\r\n <div className=\"col-4 text-end\">\r\n <button type=\"button\" className=\"btn btn-sm btn-primary \" onClick={(e) => { props.setActivePanel(<FilesPanel appData={props.appData} showAll={true} setActivePanel={props.setActivePanel} changeComponent={props.changeComponent} />) }}>\r\n <i className=\"fa fa-arrow-circle-left pe-1\"></i> Dosyalar\r\n </button>\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row\">\r\n <div className=\"col-12 col-md-5\">\r\n Yeni Dosya\r\n <select className=\"form-select form-select-sm\" id=\"file1\">\r\n <option selected value={-1}></option>\r\n {files.map(x => <option value={x.id}>{x.id } - {x.typeName} ({x.caption})</option>)}\r\n </select>\r\n </div>\r\n <div className=\"col-12 col-md-5\">\r\n Eski Dosya\r\n <select className=\"form-select form-select-sm\" id=\"file2\">\r\n <option selected value={-1}></option>\r\n {files.map(x => <option value={x.id}>{x.id} -{x.typeName} ({x.caption})</option>)}\r\n </select>\r\n </div>\r\n\r\n <div className=\"col-12 col-md-2 text-end\">\r\n <br />\r\n <button type=\"button\" className=\"btn btn-primary btn-sm \" onClick={compareFiles}>\r\n KarşılaÅŸtır <i className=\"fa fa-copy\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-1\" hidden id=\"statusbar\">\r\n <div className=\"col-12 fw-bold\" >\r\n Lütfen bekleyin karşılaÅŸtırma bir kaç dakika sürebilir\r\n <span class=\"ms-2 spinner-border spinner-border-sm\" role=\"status\">\r\n </span>\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row\" id=\"listbox\" hidden>\r\n <div className=\"col-12 fw-bold\" >\r\n <span class=\"ms-2 spinner-border spinner-border-sm\" role=\"status\">\r\n </span>\r\n </div>\r\n </div>\r\n\r\n {renderTable(dwgs)}\r\n\r\n {/*<VTable data={dwgs} cols={[\"id\", \"file1caption\", \"file1typeName\", \"file2caption\", \"file2typeName\", \"compareDate\"]} headers={[\"ID\", \"Yeni Dosya\", \"Yeni Dosya Tip\", \"Eski Dosya\", \"Eski Dosya Tip\", \"Tarih\"]} href={\"getdwgpic?id=\"} hrefid={\"id\"} rowDelete={rowDelete} />*/}\r\n\r\n\r\n </div >\r\n\r\n\r\n\r\n );\r\n\r\n\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport Select from \"react-select\";\r\nimport axios from \"axios\";\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport { isImage, isEmpty, removeTurkce, removeTurkcLow, showErrorMessage, showInfoMessage, useGlobalState, isVideo } from '../GlobalState.js';\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport InlineFilePanel from './InlineFilePanel';\r\nimport $ from 'jquery';\r\nimport DWGCompare from './DWGCompare';\r\n\r\nexport default function FilesPanel(props) {\r\n\r\n const [files, setFiles] = useState([]);\r\n const [showDeletedFiles, setshowDeletedFiles] = useState(false);\r\n\r\n const [fileTypes, setfileTypes] = useState(null);\r\n const [uploadedFiles, setUploadedFiles] = useState([]);\r\n var basvurutipi = props.appData.basvuruTipi;\r\n var appData = props.appData;\r\n var eksikzorunlu = \"\";\r\n var zorunluimza = [];\r\n const [role, setRole] = useGlobalState('role');\r\n const [sablonlistData, setSabolnListData] = useState([]);\r\n\r\n const [showAllFileState, setshowAllFileState] = useState(false);\r\n\r\n\r\n useEffect(() => {\r\n\r\n fetchSabolnFileList();\r\n }, [])\r\n\r\n\r\n\r\n\r\n\r\n\r\n const renderSablonFileTable = (tabledata) => {\r\n var mytable =\r\n\r\n <table aria-labelledby=\"tabelLabel\">\r\n <thead>\r\n </thead>\r\n <tbody >\r\n {tabledata.map(apprec =>\r\n <tr key={apprec.id} >\r\n <td ><a href={\"./getsablonfile?id=\" + apprec.id} download={apprec.fileName} className=\"text-primary text-decoration-none\">{apprec.fileName}</a></td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n const fetchSabolnFileList = () => {\r\n fetch(\"sablonfilenamelist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(appData)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setSabolnListData(value);\r\n fetchFiles();\r\n })\r\n }\r\n });\r\n }\r\n\r\n const isZorunluForThisApp = (zorunlu) => {\r\n if (isEmpty(zorunlu) == true || zorunlu.includes(appData.basvuruTipi) == false)\r\n return false;\r\n return true;\r\n }\r\n\r\n const eksikdosyatespit = (appData, uploadedfiles) => {\r\n var eksikdiv = document.getElementById(\"eksikdosyalar\");\r\n\r\n if (eksikdiv == null || fileTypes == null)\r\n return;\r\n\r\n var i, j;\r\n for (i = 0; i < fileTypes.length; i++) {\r\n if (isEmpty(fileTypes[i].BasvuruTipi) == true && props.showAll != true)\r\n continue;\r\n\r\n if (isEmpty(fileTypes[i].BasvuruTipi) == false && fileTypes[i].BasvuruTipi.split(\",\").map(item => item.trim()).includes(basvurutipi) == false)\r\n continue;\r\n\r\n\r\n for (j = 0; j < uploadedfiles.length; j++) {\r\n if (fileTypes[i].id == uploadedfiles[j].typeId)\r\n break;\r\n }\r\n if (j == uploadedfiles.length && isZorunluForThisApp(fileTypes[i].zorunlu) == true) {\r\n if (eksikzorunlu.length > 0)\r\n eksikzorunlu += \" - \"\r\n eksikzorunlu += fileTypes[i].Name;\r\n }\r\n\r\n if (fileTypes[i].zorunluEimza == true) {\r\n if (uploadedfiles.some(x => x.typeId == fileTypes[i].id && isEmpty(x.imzatarih) == false && x.imzatarih.includes(\"edildi\") == false) == false)\r\n zorunluimza.push(fileTypes[i].Name)\r\n }\r\n\r\n\r\n }\r\n if (eksikzorunlu.length > 0) {\r\n eksikdiv.innerHTML = \"Eksik zorunlu dosyalar bulunmaktadır (\" + eksikzorunlu + \" )\"\r\n }\r\n else\r\n eksikdiv.innerHTML = \"\";\r\n\r\n\r\n var eksikeimzadiv = document.getElementById(\"eksikeimzalidosya\");\r\n if (zorunluimza.length > 0) {\r\n eksikeimzadiv.innerHTML = \"E-Ä°mza atılması gereken dosyalar: \" + zorunluimza.join(',')\r\n }\r\n else\r\n eksikeimzadiv.innerHTML = \"\";\r\n }\r\n\r\n\r\n const getappeimzafiles = (filelist) => {\r\n fetch(\"getappeimzafiles\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: appData.id\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n\r\n for (var i = 0; i < filelist.length; i++) {\r\n var r = data.filter(f => f.removed != true).find(f => f.userFileId == filelist[i].id);\r\n if (r != null) {\r\n filelist[i].imzatarih = r.imzatarih;\r\n filelist[i].imzaid = r.id;\r\n filelist[i].removed = r.removed;\r\n filelist[i].imzaRec = r;\r\n }\r\n\r\n }\r\n\r\n setUploadedFiles(filelist);\r\n\r\n\r\n });\r\n }\r\n });\r\n }\r\n\r\n const fetchFiles = () => {\r\n fetch(\"getapplicationfiles\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({ ...appData, temp: \"showremoved\" })\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n filenamelist(data);\r\n getappeimzafiles(data)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n const filenamelist = (files) => {\r\n fetch(\"filenamelistwithgrups\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n showErrorMessage(response.statusText)\r\n })\r\n }\r\n else {\r\n response.json().then(value => {\r\n var filetypes = [];\r\n value = JSON.parse(value);\r\n for (var i = 0; i < value.length; i++) {\r\n if (value[i].id == null && value[i].Id!=null)\r\n value[i].id = value[i].Id;\r\n\r\n if (isEmpty(value[i].BasvuruTipi) && props.showAll != true)\r\n continue;\r\n\r\n if (isEmpty(value[i].BasvuruTipi) || value[i].BasvuruTipi.split(\",\").map(item => item.trim()).includes(basvurutipi)) {\r\n filetypes.push(value[i])\r\n }\r\n }\r\n\r\n\r\n var typeids = value.map(x => x.id);\r\n var l = files.filter(x => typeids.includes(x.typeId) == false)\r\n l.forEach(x => {\r\n if (filetypes.some(f => f.id == x.typeId) == false)\r\n filetypes.unshift({ Name: \"\", id: x.typeId, typeLess: true })\r\n\r\n })\r\n setfileTypes(filetypes);\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n const SendFiles = (selectedFiles) => {\r\n for (let i = 0; i < selectedFiles.length; i++) {\r\n var filename = removeTurkce(selectedFiles[i].file.name);\r\n if (filename.length > 80) {\r\n showErrorMessage(\"Dosya Ä°smi en fazla 80 karakter olabilir.\");\r\n return;\r\n }\r\n if (/^[a-zA-Z0-9_\\.\\- ()]+$/.test(filename) == false) {\r\n showErrorMessage(\"Dosya ismi belirli özel karakterler içermemelidir.\", \"İçeremez: + * / $ , # [] {} <> \\ = : ; ! | ? % ^\");\r\n return;\r\n }\r\n var formData = new FormData();\r\n formData.append(\"file\", selectedFiles[i].file);\r\n formData.append(\"caption\", filename);\r\n formData.append(\"typeid\", selectedFiles[i].TypeID);\r\n formData.append(\"appid\", props.appData.id);\r\n document.getElementById(\"fuploadspinner\" + selectedFiles[i].TypeID).hidden = false;\r\n\r\n axios.post(\r\n \"submitappfile\",\r\n formData,\r\n {\r\n headers: {\r\n //\"Authorization\": \"YOUR_API_AUTHORIZATION_KEY_SHOULD_GOES_HERE_IF_HAVE\",\r\n \"Content-type\": \"multipart/form-data\",\r\n },\r\n }\r\n ).then(res => {\r\n document.getElementById(\"fuploadspinner\" + selectedFiles[i].TypeID).hidden = true;\r\n fetchFiles();\r\n\r\n })\r\n .catch(err => {\r\n document.getElementById(\"fuploadspinner\" + selectedFiles[i].TypeID).hidden = true;\r\n showErrorMessage(err);\r\n })\r\n }\r\n }\r\n\r\n\r\n\r\n const handleSelectedFile = (event, filetyp) => {\r\n if (event.target.files[0] != null) {\r\n if (filetyp.fileSize != null && event.target.files[0].size > filetyp.fileSize * 1024 * 1024) {\r\n showErrorMessage(\"dosya boyu en fazla \" + filetyp.fileSize + \" MB olabilir\");\r\n event.target.value = \"\";\r\n return;\r\n }\r\n if (isEmpty(filetyp.FileType) == false) {\r\n var filename = event.target.files[0].name.toLowerCase();\r\n var acceptedTypes = filetyp.FileType.toLowerCase().split(\",\");\r\n\r\n if (acceptedTypes.some(x => filename.endsWith(x.trim().toLowerCase())\r\n || (x.trim().toLowerCase() == \"image/*\" && isImage(filename)) \r\n || (x.trim().toLowerCase() == \"video/*\" && isVideo(filename))) == false ) {\r\n showErrorMessage(\"dosya uzantısı \" + filetyp.FileType + \" olabilir\");\r\n return;\r\n }\r\n }\r\n \r\n\r\n\r\n SendFiles([{ file: event.target.files[0], TypeID: filetyp.id }]);\r\n }\r\n }\r\n const removeFile = (idx) => {\r\n files.splice(idx, 1);\r\n setFiles([...files]);\r\n }\r\n\r\n\r\n\r\n\r\n const getVisibleState = (id) => {\r\n if (fileTypes == null) return false;\r\n for (var i = 0; i < fileTypes.length; i++)\r\n if (fileTypes[i].id == id) {\r\n if (fileTypes[i].kontrolorDosyasi != true)\r\n return true;\r\n if (role.indexOf(UserPermConstants.Kontrolor_Dosyasi_Yukleme) > -1) return true;\r\n if (fileTypes[i].kontrolorDosyaYetki == null || fileTypes[i].kontrolorDosyaYetki.length == 0) return true;\r\n if (fileTypes[i].kontrolorDosyaYetki.split(',').some(x => role.indexOf(\"#\" + x + \"#\") > -1)) return true;\r\n return false;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n\r\n const showAllFiles = (event) => {\r\n var c = document.getElementById(\"showAllFiles\");\r\n if (c != null && c.checked == true) {\r\n setshowAllFileState(true);\r\n }\r\n else\r\n setshowAllFileState(false);\r\n }\r\n\r\n const filterTable = (event) => {\r\n var textbox = document.getElementById(\"mySearchInput\")\r\n if (textbox == null)\r\n return;\r\n var value = removeTurkcLow(textbox.value);\r\n var keywords = value.split(\" \");\r\n\r\n $(\"#FileTables .searchGroup\").filter(function () {\r\n return $(this).toggle(false);\r\n });\r\n\r\n $(\"#FileTables div .searchitem\").filter(function () {\r\n var t1 = removeTurkcLow($(this).text());\r\n for (let index = 0; index < keywords.length; ++index) {\r\n if (t1.indexOf(keywords[index]) == -1) {\r\n return $(this).toggle(false);\r\n }\r\n }\r\n $(this).closest('.searchGroup').toggle(true);\r\n $(this).closest('.searchGroup').find(\":first\").toggle(true);\r\n \r\n\r\n return $(this).toggle(true);\r\n });\r\n\r\n\r\n }\r\n\r\n var lastgurup = null;\r\n\r\n\r\n const generaterow = (x, hidderState) => {\r\n\r\n\r\n\r\n var r = getVisibleState(x.id) && <div className={(lastgurup == x.grupname ? \"pt-1 pb-1 searchGroup row\" : \"row mt-3 border-top border-2 searchGroup\")} >\r\n <div className=\"text-center mb-1 searchitem\" >\r\n {lastgurup == x.grupname ? \"\" : <h5 className=\" text-primary fw-bold d-inline\">{x.grupname}</h5>}\r\n\r\n </div>\r\n\r\n {isEmpty(x.aciklama) == false &&\r\n <div className=\"d-flex flex-row searchitem\">\r\n\r\n <span className=\"badge bg-secondary mb-1 searchitem\" title={x.aciklama}>\r\n <a class=\"text-decoration-none text-white \" data-bs-toggle=\"collapse\" href={\"#collapse\" + x.id} role=\"button\" aria-expanded=\"false\" aria-controls={\"#collapse\" + x.id}>\r\n Açıklama\r\n </a>\r\n </span>\r\n </div>}\r\n\r\n {isEmpty(x.aciklama) == false && <div className=\"collapse \" id={\"collapse\" + x.id}>\r\n <div class=\"card card-body p-1 mb-1\">\r\n {x.aciklama}\r\n </div>\r\n </div>}\r\n\r\n <div id={\"fuploadspinner\" + x.id} hidden={true}>\r\n <div className=\"spinner-border spinner-border-sm text-primary\" ></div>\r\n </div>\r\n\r\n <div className=\"searchitem\">\r\n {<div style={{ \"float\": \"left\" }}>\r\n {x.typeLess != true &&\r\n <button className=\"btn btn-sm fw-bold rounded-2 p-1 ps-2 pe-2 pt-2 me-2 border-0 shadow-none\"\r\n disabled={(isEmpty(appData.temp) == false && appData.temp.includes(\"Görüntüleme\") == true) || appData.archived == true}\r\n style={{\r\n \"background-color\": x.kontrolorDosyasi == true && role.indexOf(UserPermConstants.Kontrolor_Dosyasi_Yukleme) == -1 ? \"#E3E3E3\" : \"#E1F0FF\",\r\n \"color\": x.kontrolorDosyasi == true && role.indexOf(UserPermConstants.Kontrolor_Dosyasi_Yukleme) == -1 ? \"#808080\" : \"#36A4FF\"\r\n }}\r\n onClick={() => {\r\n if (x.kontrolorDosyasi == true && role.indexOf(UserPermConstants.Kontrolor_Dosyasi_Yukleme) == -1)\r\n showInfoMessage(\"Bu dosya sadece yetkili belediye personelleri tarafından yüklenebilir.\",\"\",\"Tamam\");\r\n else\r\n document.getElementById(\"selectedFile\" + x.Name).click();\r\n }} >\r\n <i className=\"fa fa-plus\" style={{ \"font-size\": \"18px\" }}></i>\r\n </button>}\r\n {\r\n <div \r\n className={\r\n uploadedFiles.filter(r => (showAllFileState == true || r.appId == appData.id) && r.hidden != true\r\n && r.typeId == x.id && (r.removed != true || showDeletedFiles == true)).length == 0 ?\r\n (isZorunluForThisApp(x.zorunlu) ? \"d-inline text-danger fw-bold\" : zorunluimza.includes(x.Name) ? \"d-inline text-primary fw-bold\" : \"d-inline fw-bold\")\r\n :\"d-none\"}>\r\n {x.Name + (isZorunluForThisApp(x.zorunlu) == true ? \" *\" : \"\")}\r\n {isZorunluForThisApp(x.zorunlu) ? <sup > <span class=\"badge rounded-pill bg-danger\">Zorunlu</span></sup> : \"\"}\r\n {zorunluimza.includes(x.Name) ? <sup> <span class=\"badge rounded-pill bg-primary\">E-Ä°mzalı</span></sup> : \"\"}\r\n </div>}\r\n </div>}\r\n\r\n \r\n\r\n\r\n <div className=\"\" >\r\n <InlineFilePanel showAllFileState={showAllFileState} fileType={x.id} showDeletedFiles={showDeletedFiles} changeComponent={props.changeComponent} appData={appData} fileNameList={fileTypes} uploadedFiles={uploadedFiles} key={uploadedFiles.length} setParentFileList={setUploadedFiles} setActivePanel={props.setActivePanel} kontrolorList={props.kontrolorList} />\r\n\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n\r\n <div className=\"col-12\" >\r\n <input type=\"file\" id={\"selectedFile\" + x.Name} style={{ \"display\": \"none\" }} accept={x.FileType != null && x.FileType.length > 0 ? x.FileType : \"\"} onChange={(e) => handleSelectedFile(e, x)} />\r\n\r\n {/*<input style={{ maxWidth: \"100px\", \"color\": \"transparent\", \"background-color\":\"#11F0FF\"}} class=\"border-0 form-control form-control-sm\" type=\"file\" id=\"formFile\" />*/}\r\n </div>\r\n </div>\r\n </div>\r\n lastgurup = x.grupname;\r\n\r\n return r;\r\n }\r\n\r\n\r\n eksikdosyatespit(appData, uploadedFiles);\r\n\r\n return (\r\n <div>\r\n <div className=\"row mb-1\">\r\n <div className=\"col-12 text-danger fw-bold\">\r\n {appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Duzeltme_Bekleniyor &&\r\n \"BaÅŸvuru, Düzeltme Bekleniyor aÅŸamasındadır. Düzeltmeler tamamlandıktan sonra “GÖNDER†tuÅŸuna basılması gerekmektedir. \"\r\n }\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row\">\r\n <div className=\"col-6\">\r\n {sablonlistData.length > 0 && <h5 className=\"text-primary\">Örnek Formlar</h5 >}\r\n </div>\r\n <div className=\"col-6 align-items-end justify-content-end text-end\">\r\n <div class=\"btn-group flex-wrap\">\r\n {uploadedFiles.filter(x => x.removed == true).length>0 &&<div class=\"form-check form-switch text-danger \">\r\n Silinen <span className=\"fw-bold\">{uploadedFiles.filter(x => x.removed == true).length}</span> dosyayı Göster<input class=\"form-check-input\" type=\"checkbox\" defaultChecked={false} onClick={(e) => setshowDeletedFiles(e.target.checked)} />\r\n </div>}\r\n </div>\r\n </div>\r\n </div>\r\n {sablonlistData.length > 0 && <div className=\"mb-3\"><div className=\"row\">\r\n <div className=\"col-12\">\r\n {renderSablonFileTable(sablonlistData)}\r\n </div>\r\n </div>\r\n </div>}\r\n <div className=\"row\">\r\n <div className=\"col-3\">\r\n <h5 className=\"text-primary\">Dosyalar</h5 >\r\n </div>\r\n <div className=\"col-9 text-danger justify-content-end align-items-end text-end pe-4\" id=\"eksikdosyalar\">\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"col-3\">\r\n </div>\r\n <div className=\"col-9 text-primary justify-content-end align-items-end text-end pe-4\" id=\"eksikeimzalidosya\">\r\n </div>\r\n </div>\r\n\r\n\r\n {fileTypes == null ? <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n :\r\n <fieldset disabled={role.indexOf(UserPermConstants.Dosya_Yukleme) == -1} className=\"col-12 col-md-12\" id=\"filetable\">\r\n <div className=\"pb-4\">\r\n (*) ile iÅŸaretlenen dosyaların yuklenmesi zorunludur.\r\n </div>\r\n\r\n <div >\r\n <div className=\"row border-top pt-3\" >\r\n\r\n <div className=\"col-12 col-md-2 pe-0\" >\r\n <div class=\"form-check form-switch\">\r\n <input className=\"form-check-input pe-0 me-0\" type=\"checkbox\" role=\"switch\" id=\"showAllFiles\" onClick={showAllFiles} />\r\n Tüm Dosyalar\r\n </div>\r\n </div >\r\n <div className=\"col-12 col-md-2\" >\r\n\r\n <div hidden={role.indexOf(UserPermConstants.DWG_Karsilastirma) == -1}>\r\n <button type=\"button\" className=\"btn btn-primary btn-sm p-1\" onClick={() => {\r\n if (role.indexOf(UserPermConstants.DWG_Karsilastirma) > -1)\r\n props.setActivePanel(<DWGCompare setActivePanel={props.setActivePanel} appData={appData} changeComponent={props.changeComponent} files={uploadedFiles.filter(x => x.caption.endsWith(\".dwg\"))} />)\r\n else{\r\n showErrorMessage(\"Bu Ä°ÅŸlem İçin Yetkiniz Bulunmamaktadır\");\r\n }\r\n }}>\r\n <img src={require('../Header/dwg.png').default} style={{ maxWidth: \"45px\" }} className=\"m-0 p-0\" /> DWG\r\n </button>\r\n </div>\r\n </div >\r\n <div className=\"col-12 col-md-4\" >\r\n <input className=\"form-control form-control-sm border-primary border-1 \" style={{ \"border-width\": \"1px\", \"box-shadow\": \"0px 0px 2px #0099da\" }} id=\"mySearchInput\" type=\"text\" placeholder=\"Arama\" onKeyUp={filterTable} />\r\n </div >\r\n <div className=\"col-12 col-md-4 textvmuted text-primary small\" >\r\n Aralarında boÅŸluk bırakarak birden fazla konuda arama yapabilirsiniz\r\n </div >\r\n </div>\r\n <div className=\"row border-bottom pb-2 mb-2\" >\r\n <div className=\"col-12 col-md-1\" >\r\n\r\n </div >\r\n <div className=\"col-12 col-md-10 mt-1\" >\r\n\r\n </div >\r\n\r\n </div>\r\n\r\n <div className=\" p-1 mb-2\" id=\"FileTables\">\r\n {fileTypes.map(x => generaterow(x))}\r\n </div >\r\n\r\n {uploadedFiles.some(x => x.hidden == true) && < div className=\" p-1 mt-5 bg-light\" >\r\n <div className=\"row mb-2\">\r\n <div className=\"col-12 text-center rounded-3\"><a href=\"#\" className=\"text-decoration-none text-secondary fw-bold\" data-bs-toggle=\"collapse\" data-bs-target=\"#silinenliste\"> Gizlenen Dosyalar </a></div>\r\n </div>\r\n <div id=\"silinenliste\" class=\"collapse\">\r\n <InlineFilePanel showHidden={true} showAllFileState={showAllFileState} changeComponent={props.changeComponent} appData={appData} fileNameList={fileTypes} uploadedFiles={uploadedFiles} key={uploadedFiles.length} setParentFileList={setUploadedFiles} setActivePanel={props.setActivePanel} kontrolorList={props.kontrolorList} />\r\n </div >\r\n </div >}\r\n\r\n </div >\r\n\r\n\r\n\r\n </fieldset>}\r\n\r\n </div >\r\n\r\n\r\n\r\n );\r\n\r\n\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { showErrorMessage, showSuccessMessage } from '../GlobalState';\r\n\r\nexport default function SendNotificationPanel(props) {\r\n\r\n const [appData, setData] = useState(props.appData);\r\n\r\n const sendMessage = () => {\r\n fetch(\"postmessage\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({ id: appData.id, body: document.getElementById(\"messagebody\").value, title: document.getElementById(\"messagetitle\").value })\r\n }).then(async response => {\r\n if (!response.ok) {\r\n showErrorMessage(response.statusText)\r\n }\r\n else {\r\n document.getElementById(\"messagebody\").value = \"\";\r\n document.getElementById(\"messagetitle\").value = \"\";\r\n showSuccessMessage(\"Bildirim GönderilmiÅŸtir\");\r\n\r\n }\r\n });\r\n }\r\n\r\n return (\r\n <div className=\"mb-1 p-1 \">\r\n <h5 style={{ color: \"#0098db\" }}>\r\n Bildirim Gönder\r\n </h5>\r\n <div className=\"row\">\r\n <div className=\"col-md-6 col-12\" >\r\n <div className=\"mb-1\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"messagetitle\" placeholder=\"BaÅŸlık\" name=\"messagetitle\" defaultValue=\"\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\" col-12\" >\r\n <div className=\"mb-1\">\r\n <textarea class=\"form-control\" id=\"messagebody\" rows=\"3\"></textarea>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"col-md-6 col-12\" >\r\n <div className=\"mb-1\">\r\n <button onClick={() => sendMessage()} className=\"btn btn-primary btn-sm \">Gönder</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div >\r\n );\r\n}\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\n//import SablonMappingPanel from './SablonMappingPanel';\r\nimport { useLocation } from 'react-router-dom'\r\nimport SharedUsersPanel from './SharedUsersPanel.js';\r\nimport SendNotificationPanel from './SendNotificationPanel.js';\r\nimport Application from './Application.js';\r\nimport { showErrorMessage, showSuccessMessage, useGlobalState } from '../GlobalState.js';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nexport default function Sharing(props) {\r\n\r\n const [listData, setListData] = useState(null);\r\n const [useroptions, setOptions] = useState([]);\r\n let location = useLocation();\r\n const [role, setRole] = useGlobalState('role');\r\n const me = <Sharing changeComponent={props.changeComponent} />\r\n\r\n\r\n const [appData, setData] = useState(props.rec != null ? props.rec : location.state.rec);\r\n\r\n const fetchSharingList = () => {\r\n fetch(\"sablonlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n showErrorMessage(response.statusText)\r\n })\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const copyToClipboard = () => {\r\n var copyText = document.getElementById(\"plink\");\r\n copyText.select();\r\n copyText.setSelectionRange(0, 99999);\r\n navigator.clipboard.writeText(copyText.value);\r\n showSuccessMessage(\"Link kopyalandı \" + copyText.value);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchSharingList();\r\n }, [])\r\n\r\n\r\n\r\n return (\r\n <div className=\"row p-4 pt-3\" style={{ \"background-color\": \"#ebebeb\" }}>\r\n <div className=\"row rounded-3 m-0 p-0\">\r\n <div className=\"col-12 text-end m-0 p-0\">\r\n <button type=\"button\" className=\"btn btn-sm btn-primary mb-1 \" onClick={() => { props.changeComponent(<Application appData={appData} changeComponent={props.changeComponent} backButton={props.backButton} />) }}>Geri Dön</button>\r\n </div>\r\n </div>\r\n <div className=\"row rounded-3 p-2 m-1 bg-white pb-3\">\r\n <h5 style={{ color: \"#0098db\" }}>BaÅŸvuru No {appData.id}</h5>\r\n {role.indexOf(UserPermConstants.Link_ile_Kart_Paylasimi) > -1 && <><h6>Paylaşım Linki</h6>\r\n <div className=\"col-md-6 col-12 mb-1\">\r\n <input type=\"text\" className=\"form-control form-control-inline form-control-sm\" id=\"plink\" placeholder=\"Åablon Adı\" name=\"Name\"\r\n value={window.location.protocol + '//' + window.location.host + \"/applicationcard?id_st=\" + appData.id + \"$\" + appData.securityToken} />\r\n </div>\r\n <div className=\"col-md-6 col-12\"> <a target=\"_blank\" href={\"/applicationcard?id_st=\" + appData.id + \"$\" + appData.securityToken} className=\"btn btn-primary btn-sm me-2 text-decoration-none \">Aç</a>\r\n <button onClick={copyToClipboard} className=\"btn btn-sm btn-primary me-2\">Kopyala</button>\r\n </div>\r\n </>}\r\n </div>\r\n\r\n {/*<div className=\"row rounded-3 p-2 m-1 mt-3 bg-white\">*/}\r\n {/* <div className='col-12 p-0 mb-2' >*/}\r\n {/* <h5 style={{ color: \"#0098db\" }}>Ä°lgili Kullanıcılar</h5>*/}\r\n {/* </div>*/}\r\n {/* <div className='col-6 p-0 mb-2' >*/}\r\n {/* BaÅŸvuru Yapan*/}\r\n {/* </div>*/}\r\n {/* <div className='col-6 p-0 mb-2' >*/}\r\n {/* <img className=\"rounded-circle\" style={{ width: \"32px\", height: \"32px\" }} src={\"/getuserpic?user=\" + appData.basvuruYapan} /> */}\r\n {/* {appData.basvuruYapan}*/}\r\n {/* </div>*/}\r\n {/* <div className='col-6 p-0 mb-2' >*/}\r\n {/* Müteahhit*/}\r\n {/* </div>*/}\r\n {/* <div className='col-6 p-0 mb-2' >*/}\r\n {/* <img className=\"rounded-circle\" style={{ width: \"32px\", height: \"32px\" }} src={\"/getuserpic?user=\" + appData.mimar} /> */}\r\n\r\n {/* {appData.mimar}*/}\r\n {/* </div>*/}\r\n {/* <div className='col-6 p-0 mb-2' >*/}\r\n {/* Mimar*/}\r\n {/* </div>*/}\r\n {/* <div className='col-6 p-0 mb-2' >*/}\r\n {/* <img className=\"rounded-circle\" style={{ width: \"32px\", height: \"32px\" }} src={\"/getuserpic?user=\" + appData.muteahhit} /> */}\r\n {/* {appData.muteahhit}*/}\r\n {/* </div>*/}\r\n {/*</div>*/}\r\n\r\n {role.indexOf(UserPermConstants.Kullaniciyla_Kart_Paylasimi) > -1 && <> <div className='row bg-white rounded-3 p-2 m-1 mt-4' >\r\n <div className='col-12 p-0' >\r\n <SharedUsersPanel appData={appData} />\r\n </div>\r\n </div>\r\n\r\n {role.indexOf(UserPermConstants.Manuel_Bildirim_Gonderme) > -1 && <div className='row bg-white rounded-3 p-2 m-1 mt-4 mb-4' >\r\n <div className='col-12 p-0 ' >\r\n <SendNotificationPanel appData={appData} />\r\n </div>\r\n </div>}\r\n \r\n \r\n </>}\r\n </div>\r\n );\r\n\r\n\r\n}\r\n","import axios from \"axios\";\r\nimport { useGlobalState, isEmpty, showErrorMessage, showSuccessMessage, showConfirmMessage, setVisible } from '../GlobalState.js';\r\nimport Application from \"../Application/Application.js\";\r\nimport ApplicationList from \"../Application/ApplicationList.js\";\r\n\r\n\r\nexport default function EimzaOnaylarimMobil(props) {\r\n const [userData, setuserData] = useGlobalState('userData');\r\n var eimza = props.eimza;\r\n var imzalayan = props.imzalayan != null ? props.imzalayan : userData;\r\n var topluImzaList = props.topluImzaList;\r\n\r\n\r\n\r\n var page = 0;\r\n const colors = { grey: \"#f3f2f7\", green: \"#106485\" }\r\n\r\n // primeAPI'de kullanılacak tekil operasyon numarası\r\n var operationId = \"\";\r\n // imza atarken kullanılacak telefon numarası. 5334440099 ÅŸeklinde olmalıdır\r\n var phoneNumber = \"\";\r\n // kullanıcıya gösterilen mobil imza parmak izi deÄŸeri\r\n var fingerPrint = \"\";\r\n // iÅŸlemin baÅŸarıyla tamamlanıp tamamlanmadığını gösterir\r\n var isSuccess = false;\r\n\r\n // mobil imza için kullanılacak operatörler. Id deÄŸerinde yazan ifade API'ye gönderilir. Bu ifadeler deÄŸiÅŸtirilmemelidir.\r\n const operators = [\r\n { id: \"TURKCELL\", name: \"Turkcell\" },\r\n { id: \"VODAFONE\", name: \"Vodafone\" },\r\n { id: \"AVEA\", name: \"Türk Telekom\" },\r\n ];\r\n\r\n\r\n var selectedOperator = operators[0];\r\n\r\n // imza atarken kullanılacak e-imza tür\r\n const signatureTypes = [\r\n { id: \"pades\", title: \"Pades\" },\r\n { id: \"cades\", title: \"Cades\" },\r\n ];\r\n\r\n // kullanıcının seçtiÄŸi imza türü\r\n var selectedSignatureType = signatureTypes[0];\r\n\r\n\r\n function getCookie(cname) {\r\n let name = cname + \"=\";\r\n let decodedCookie = decodeURIComponent(document.cookie);\r\n let ca = decodedCookie.split(';');\r\n for (let i = 0; i < ca.length; i++) {\r\n let c = ca[i];\r\n while (c.charAt(0) == ' ') {\r\n c = c.substring(1);\r\n }\r\n if (c.indexOf(name) == 0) {\r\n return c.substring(name.length, c.length);\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n var saved_eimza = getCookie(\"mobile_eimza\")\r\n if (isEmpty(saved_eimza) == false) {\r\n phoneNumber = saved_eimza.split(\"$\")[1];\r\n var operid = saved_eimza.split(\"$\")[0];\r\n selectedOperator = operators.find(x => x.id == operid);\r\n }\r\n\r\n\r\n\r\n // https://github.com/uuidjs/uuid kullanılmak istenmediÄŸinde onun yerine aÅŸağıdaki fonksiyon kullanılabilir\r\n function uuidv4(): string {\r\n return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c: string) => {\r\n const randomValues = new Uint8Array(1);\r\n crypto.getRandomValues(randomValues);\r\n const byte = randomValues[0];\r\n return (c ^ (byte & (15 >> (parseInt(c, 10) / 4)))).toString(16);\r\n });\r\n }\r\n\r\n\r\n function MobileSign() {\r\n operationId = uuidv4();\r\n fingerPrint = \"\";\r\n var phoneNumber = document.getElementById(\"phoneNumber\").value;\r\n var selectedOperator = document.getElementById(\"operatorSelect\").value;\r\n if (phoneNumber.startsWith(\"0\") == false) {\r\n phoneNumber = \"0\" + phoneNumber;\r\n }\r\n var checkbox = document.getElementById(\"benihatirla\");\r\n if (checkbox.checked == true) {\r\n document.cookie = \"mobile_eimza=\" + selectedOperator + \"$\" + phoneNumber;\r\n }\r\n const mobileSignRequest = {\r\n operationId: operationId,\r\n phoneNumber: phoneNumber,\r\n operator: selectedOperator,\r\n signatureType: selectedSignatureType.id,\r\n citizenshipNo: imzalayan.tc,\r\n appid: props.eimza.appId,\r\n eimzaId: props.eimza.id\r\n };\r\n document.getElementById(\"imzaspin\").hidden = false;\r\n props.showMessage(\"Ä°mzalama iÅŸlemi devam ediyor\");\r\n // mobil imza iÅŸlemi yapılır\r\n axios\r\n .post(\"/MobileSign\", mobileSignRequest)\r\n .then((mobileSignResponse) => {\r\n document.getElementById(\"imzaspin\").hidden = true;\r\n console.log(\"Sizin sunucu katmanına MobileSign isteÄŸi gönderildi.\" + mobileSignResponse);\r\n var mobileSignResult = mobileSignResponse.data;\r\n isSuccess = mobileSignResult.isSuccess;\r\n if (mobileSignResult.error) {\r\n props.showErrorMessage(\"Ä°mza iÅŸlemi tamamlanamadı. \" + mobileSignResult.error);\r\n } else {\r\n document.getElementById(\"imzaKapat\").hidden = false;\r\n document.getElementById(\"imzalabutton\").hidden = true;\r\n props.showSuccessMessage(\"Ä°mzalama BaÅŸarılı\", \"Atmış olduÄŸunuz e-imza 5070 sayılı e-imza kanunu kapsamında ıslak imza ile eÅŸdeÄŸerdir\");\r\n }\r\n })\r\n .catch((error) => {\r\n\r\n props.showErrorMessage(\"MobileSign isteÄŸi gönderilemedi. \" + error);\r\n document.getElementById(\"imzaspin\").hidden = true;\r\n });\r\n // mobil imza iÅŸlemi sürerken iÅŸleme iliÅŸkin parmak izi deÄŸeri alınır\r\n axios\r\n .post(\"/GetFingerPrint\", { operationId: operationId })\r\n .then((getFingerResponse) => {\r\n console.log(\"getFingerResponse\", getFingerResponse);\r\n fingerPrint = getFingerResponse.data.fingerPrint;\r\n })\r\n .catch((error) => {\r\n console.log(\"Sizin sunucu katmanına GetFingerPrint isteÄŸi gönderilemedi. Mesaj: \" + error + \" Detaylar için console'a bakınız.\");\r\n console.log(\"Sizin sunucu katmanına GetFingerPrint isteÄŸi gönderilemedi.\", error);\r\n });\r\n }\r\n\r\n\r\n function TopluMobilSign(idx) {\r\n operationId = uuidv4();\r\n fingerPrint = \"\";\r\n var phoneNumber = document.getElementById(\"phoneNumber\").value;\r\n var selectedOperator = document.getElementById(\"operatorSelect\").value;\r\n if (phoneNumber.startsWith(\"0\") == false) {\r\n phoneNumber = \"0\" + phoneNumber;\r\n }\r\n var checkbox = document.getElementById(\"benihatirla\");\r\n if (checkbox.checked == true) {\r\n document.cookie = \"mobile_eimza=\" + selectedOperator + \"$\" + phoneNumber;\r\n }\r\n const mobileSignRequest = {\r\n operationId: operationId,\r\n phoneNumber: phoneNumber,\r\n operator: selectedOperator,\r\n signatureType: selectedSignatureType.id,\r\n citizenshipNo: imzalayan.tc,\r\n appid: topluImzaList[idx].id,\r\n eimzaId: topluImzaList[idx].imzaid\r\n };\r\n var progress = document.getElementById(\"progress\" + idx);\r\n progress.style.width = \"30%\";\r\n progress.innerHTML = \"30%\"\r\n\r\n document.getElementById(\"imzaspin\").hidden = false;\r\n props.showMessage(\"Ä°mzalama iÅŸlemi devam ediyor\");\r\n // mobil imza iÅŸlemi yapılır\r\n axios\r\n .post(\"/MobileSign\", mobileSignRequest)\r\n .then((mobileSignResponse) => {\r\n document.getElementById(\"imzaspin\").hidden = true;\r\n // console.log(\"Sizin sunucu katmanına MobileSign isteÄŸi gönderildi.\" + mobileSignResponse);\r\n var mobileSignResult = mobileSignResponse.data;\r\n isSuccess = mobileSignResult.isSuccess;\r\n if (mobileSignResult.error) {\r\n props.showErrorMessage(\"Ä°mza iÅŸlemi tamamlanamadı. \" + mobileSignResult.error);\r\n } else {\r\n progress.style.width = \"100%\";\r\n progress.innerHTML = \"100%\"\r\n if (idx < topluImzaList.length - 1) {\r\n TopluMobilSign(idx + 1);\r\n return;\r\n }\r\n window.opener.fetchEimzaListem();\r\n document.getElementById(\"imzaKapat\").hidden = false;\r\n document.getElementById(\"imzalabutton\").hidden = true;\r\n props.showSuccessMessage(\"Ä°mzalama BaÅŸarılı\", \"Atmış olduÄŸunuz e-imza 5070 sayılı e-imza kanunu kapsamında ıslak imza ile eÅŸdeÄŸerdir\");\r\n }\r\n })\r\n .catch((error) => {\r\n window.opener.fetchEimzaListem();\r\n props.showErrorMessage(\"MobileSign isteÄŸi gönderilemedi. \" + error);\r\n document.getElementById(\"imzaspin\").hidden = true;\r\n });\r\n // mobil imza iÅŸlemi sürerken iÅŸleme iliÅŸkin parmak izi deÄŸeri alınır\r\n axios\r\n .post(\"/GetFingerPrint\", { operationId: operationId })\r\n .then((getFingerResponse) => {\r\n console.log(\"getFingerResponse\", getFingerResponse);\r\n fingerPrint = getFingerResponse.data.fingerPrint;\r\n })\r\n .catch((error) => {\r\n console.log(\"Sizin sunucu katmanına GetFingerPrint isteÄŸi gönderilemedi. Mesaj: \" + error + \" Detaylar için console'a bakınız.\");\r\n console.log(\"Sizin sunucu katmanına GetFingerPrint isteÄŸi gönderilemedi.\", error);\r\n });\r\n }\r\n\r\n function MobileSign() {\r\n operationId = uuidv4();\r\n fingerPrint = \"\";\r\n var phoneNumber = document.getElementById(\"phoneNumber\").value;\r\n var selectedOperator = document.getElementById(\"operatorSelect\").value;\r\n if (phoneNumber.startsWith(\"0\") == false) {\r\n phoneNumber = \"0\" + phoneNumber;\r\n }\r\n var checkbox = document.getElementById(\"benihatirla\");\r\n if (checkbox.checked == true) {\r\n document.cookie = \"mobile_eimza=\"+selectedOperator + \"$\" + phoneNumber;\r\n }\r\n const mobileSignRequest = {\r\n operationId: operationId,\r\n phoneNumber: phoneNumber,\r\n operator: selectedOperator,\r\n signatureType: selectedSignatureType.id,\r\n citizenshipNo: imzalayan.tc,\r\n appid: props.eimza.appId,\r\n eimzaId: props.eimza.id\r\n };\r\n document.getElementById(\"imzaspin\").hidden = false;\r\n props.showMessage(\"Ä°mzalama iÅŸlemi devam ediyor\");\r\n // mobil imza iÅŸlemi yapılır\r\n axios\r\n .post(\"/MobileSign\", mobileSignRequest)\r\n .then((mobileSignResponse) => {\r\n document.getElementById(\"imzaspin\").hidden = true;\r\n console.log(\"Sizin sunucu katmanına MobileSign isteÄŸi gönderildi.\"+ mobileSignResponse);\r\n var mobileSignResult = mobileSignResponse.data;\r\n isSuccess = mobileSignResult.isSuccess;\r\n if (mobileSignResult.error) { \r\n props.showErrorMessage(\"Ä°mza iÅŸlemi tamamlanamadı. \" + mobileSignResult.error);\r\n } else {\r\n document.getElementById(\"imzaKapat\").hidden = false;\r\n document.getElementById(\"imzalabutton\").hidden = true;\r\n props.showSuccessMessage(\"Ä°mzalama BaÅŸarılı\", \"Atmış olduÄŸunuz e-imza 5070 sayılı e-imza kanunu kapsamında ıslak imza ile eÅŸdeÄŸerdir\");\r\n }\r\n })\r\n .catch((error) => {\r\n \r\n props.showErrorMessage(\"MobileSign isteÄŸi gönderilemedi. \" + error);\r\n document.getElementById(\"imzaspin\").hidden = true;\r\n });\r\n // mobil imza iÅŸlemi sürerken iÅŸleme iliÅŸkin parmak izi deÄŸeri alınır\r\n axios\r\n .post(\"/GetFingerPrint\", { operationId: operationId })\r\n .then((getFingerResponse) => {\r\n console.log(\"getFingerResponse\", getFingerResponse);\r\n fingerPrint = getFingerResponse.data.fingerPrint;\r\n })\r\n .catch((error) => {\r\n console.log(\"Sizin sunucu katmanına GetFingerPrint isteÄŸi gönderilemedi. Mesaj: \" + error + \" Detaylar için console'a bakınız.\");\r\n console.log(\"Sizin sunucu katmanına GetFingerPrint isteÄŸi gönderilemedi.\", error);\r\n });\r\n }\r\n\r\n function DownloadFile() {\r\n axios\r\n .get(\"/Onaylarim/DownloadSignedFileFromOnaylarimApi?operationId=\" + operationId, { responseType: \"blob\" })\r\n .then((e) => {\r\n if (e.data.error) {\r\n console.log(\"Hata oluÅŸtu. \" + e.data.error);\r\n } else {\r\n let filename = \"dosya.pdf\";\r\n const contentDisposition = e.headers[\"Content-Disposition\"];\r\n if (contentDisposition) {\r\n const match = contentDisposition.match(/filename[^;\\n]*=(UTF-\\d['\"]*)?((['\"]).*?[.]$\\2|[^;\\n]*)?/gi);\r\n if (match && match[1]) {\r\n const a1 = match[1].split(\"''\")[1];\r\n if (a1) {\r\n filename = decodeURI(a1);\r\n }\r\n }\r\n }\r\n const fileURL = window.URL.createObjectURL(new Blob([e.data]));\r\n const fileLink = document.createElement(\"a\");\r\n fileLink.href = fileURL;\r\n fileLink.setAttribute(\"download\", filename);\r\n document.body.appendChild(fileLink);\r\n fileLink.click();\r\n }\r\n })\r\n .catch((error: AxiosError) => {\r\n if (error.response) {\r\n console.log(\"Hata oluÅŸtu. \" + error.response.data);\r\n } else {\r\n console.log(\"Hata oluÅŸtu. \" + error.code);\r\n }\r\n })\r\n .catch((error: Error | AxiosError) => {\r\n console.log(\"Hata oluÅŸtu. \" + error.message);\r\n });\r\n }\r\n if (imzalayan == null)\r\n return \"Imzalayan Buluanmadı\";\r\n\r\n return <div className=\"row\">\r\n <div className=\"col-12\">\r\n <div class=\"text-sm text-gray-700 mt-8 mt-2\">\r\n Operatör Seçiniz\r\n </div>\r\n <div class=\"flex flex-col mt-1\">\r\n <select className=\"form-select form-select-sm shadow-none\" id=\"operatorSelect\" defaultValue={selectedOperator.id}>\r\n {operators.map(opr => <option value={opr.id}>{opr.name}</option>)}\r\n </select>\r\n <div class=\"mt-2 max-w-sm\">\r\n <input type=\"text\" name=\"phoneNumber\" id=\"phoneNumber\"\r\n class=\"form-control form-control-sm shadow-none\" placeholder=\"(05XX)XXXXXXX\" maxLength={11} defaultValue={phoneNumber} />\r\n </div>\r\n <div class=\"mt-2 max-w-sm text-secondary\">\r\n TC: {imzalayan.tc}\r\n </div>\r\n\r\n <div class=\"mt-2 max-w-sm\">\r\n <input class=\"form-check-input\" type=\"checkbox\" id=\"benihatirla\" onClick={() => {\r\n var checkbox = document.getElementById(\"benihatirla\");\r\n if (checkbox.checked != true) {\r\n document.cookie = \"mobile_eimza=; expires=Thu, 01 Jan 1970 00:00:00 UTC;\";\r\n }\r\n }\r\n } defaultChecked={!isEmpty(phoneNumber)} /> Beni Hatırla\r\n </div>\r\n\r\n <div className=\"mt-2\">\r\n <button onClick={() => { props.topluImzaList == null ? MobileSign() : TopluMobilSign(0) }} type=\"button\" className=\"btn btn-sm btn-primary\" id=\"imzalabutton\">\r\n Ä°mzala\r\n </button>\r\n <button onClick={() => {\r\n if (props.topluImzaList == null)\r\n props.changeComponent(<Application key={props.appData.id} targetEimza={eimza} appData={props.appData} changeComponent={props.changeComponent} backButton={<ApplicationList changeComponent={props.changeComponent} />} />)\r\n else\r\n window.close();\r\n }}\r\n type=\"button\" className=\"btn btn-sm btn-warning border ms-2\" > Ä°ptal </button>\r\n </div >\r\n </div >\r\n </div >\r\n </div >\r\n\r\n\r\n}","import axios from \"axios\";\r\n\r\n\r\nimport React, { useState, useEffect } from 'react';\r\nimport { useGlobalState, isEmpty, showErrorMessage, showSuccessMessage, showConfirmMessage, setVisible } from '../GlobalState.js';\r\nimport background from \"../Dashboard/loading.gif\";\r\nimport Application from \"../Application/Application.js\";\r\nimport ApplicationList from \"../Application/ApplicationList.js\";\r\nimport EimzaOnaylarimMobil from \"./EimzaOnaylarimMobil.js\";\r\n\r\n\r\nexport default function EimzaOnaylarim(props) {\r\n const [userData, setuserData] = useGlobalState('userData');\r\n var eimza = props.eimza;\r\n var imzalayan = props.imzalayan != null ? props.imzalayan : userData;\r\n var topluImzaList = props.topluImzaList;\r\n var page = 0;\r\n const colors = { grey: \"#f3f2f7\", green: \"#106485\" }\r\n var fullsize = { Width: \"100%\", Height: \"100%\", objectFit: \"contain\" }\r\n var fitsize = { maxWidth: \"100%\", maxHeight: \"100%\", objectFit: \"contain\" }\r\n\r\n const [selectedSertificate, setSelectedSertificate] = useState(0);\r\n // var appDownloadURL = '/getfile?sec=onaylarim.msi';\r\n\r\n var appDownloadURL = '';\r\n var appDownloadURLMAC = '';\r\n var workingUrl = \"\";\r\n const [localURL, setloaclURL] = useState(\"\");\r\n const [scale, setScale] = useState(fitsize);\r\n\r\n\r\n const [certificates, setCertificates] = useState([]);\r\n\r\n\r\n // const API_URL= \"https://primeapicustomerapi.onaylarim.com\"\r\n\r\n const errormsg1 = \"Bir hata oluÅŸtu. Lütfen “Uygulamayı Aç†butonuna basın ve imzayı atana kadar açılan UYGULAMAYI KAPATMAYIN.\"\r\n const errormsg2 = \"Ä°mza atabilmek için Onaylarım Ä°mza Uygulamasının bilgisayarınızda kurulu olması gerekmektedir. <br/>\" +\r\n \"EÄŸer uygulama kurulu ise; AÅŸağıdaki “Uygulamayı Aç†butonuna basın ve imzayı atana kadar açılan UYGULAMAYI KAPATMAYIN. <br/>\"\r\n\r\n\r\n // onaylarim API'den alınan, e-imza aracının güncel versiyon bilgisi. bu bilgi ile kullanıcı bilgisayarında kurulu olan e-imza aracı sürümü karşılaÅŸtırılır, kullanıcıdaki sürüm eski ise uyarı verilir\r\n var getSignerAppVersionsResult = {}\r\n // e-imza aracına yapılan RESET adlı GET request'i sonrasında dönen deÄŸer\r\n var signerAppResetResult = {}\r\n // primeAPI'de kullanılacak tekil operasyon numarası\r\n var operationId = \"\";\r\n var refreshTimer = null;\r\n var refreshCount = 0;\r\n // imza türleri\r\n const signatureTypes = [\r\n { id: \"pades\", title: \"Pades\" },\r\n { id: \"cades\", title: \"Cades\" },\r\n ];\r\n // kullanıcının seçtiÄŸi imza türü\r\n const selectedSignatureType = signatureTypes[0];//we dont use this. we use the imzaType fild from database.\r\n\r\n var [guncelnecekEimza, setGuncelnecekEimza] = useState(null);\r\n\r\n useEffect(() => {\r\n // sayfa ilk yüklendiÄŸinde onaylarim API'den e-imza aracının güncel versiyon bilgisi alınır\r\n document.getElementById(\"activepaneldiv\").scrollTo(0, 0)\r\n GetSignerAppVersions();\r\n }, [])\r\n\r\n\r\n if (certificates.length > 0 && certificates[selectedSertificate].isFinancialSeal == true) {\r\n var errorbox = document.getElementById(\"errormessage\");\r\n if (errorbox) {\r\n var s = '<div class=\"alert alert-danger fw-bold m-0 p-1 small\" > MALÄ° MÃœHÃœR ile Ä°MZA ATILAMAZ. </div>'\r\n s += '<div class=\"text-dark p-2 rounded-2 small\" style=\"background-color:#fef2f2\"> Bilgisayarda takılı sertifika, bir mali mühüre aittir. </div >'\r\n errorbox.innerHTML = s\r\n }\r\n }\r\n else {\r\n var errorbox = document.getElementById(\"errormessage\");\r\n if (errorbox != null && errorbox.innerHTML.includes(\"MALÄ° MÃœHÃœR\")) {\r\n errorbox.innerHTML = \"\";\r\n }\r\n }\r\n\r\n const showErrorpic = (pic) => {\r\n document.getElementById(\"eimzaerror1\").hidden = true;\r\n document.getElementById(\"eimzaerror2\").hidden = true;\r\n document.getElementById(\"eimzaerror3\").hidden = true;\r\n document.getElementById(\"eimzaerror4\").hidden = true;\r\n\r\n\r\n var errorpic = document.getElementById(pic);\r\n if (errorpic) {\r\n errorpic.hidden = false;\r\n }\r\n }\r\n\r\n\r\n\r\n const programYok = (title, msg) => {\r\n var errorbox = document.getElementById(\"errormessage\");\r\n\r\n /* showErrorpic(\"eimzaerror1\");*/\r\n\r\n if (errorbox) {\r\n var s = '<div class=\"alert alert-danger fw-bold m-0 p-1 small\" > E - imza Programı Bulunamadı </div>'\r\n s += '<div class=\"text-dark p-2 rounded-2 small\" style=\"background-color:#fef2f2\">Ä°mza atabilmek için e-imza programının bilgisayarınızda kurulu ve çalışır vaziyette olması gerekmektedir.</div> <div><div class=\"border shadow-sm rounded-2 m-1 p-2 small\" > <div class=\"fw-bold\">E-imza Programını Aç </div><div> E-imza programını bilgisayarınıza daha önce kurduysanız \\\"Aç\\\" butonu kullanarak programı açın ve alttaki \\\"Sertifikaları Listele\\\" butonuna basın. </div><div class=\"text-start\"> <a href=\"onaylarimsignerapp:\\\"start\\\"\" type=\"button\" class=\"btn btn-sm btn-outline text-primary fw-bold \" style=\"background-color:#dbeaff\"> <i class=\"fa fa-tv\"></i> Aç </a></div> </div >'\r\n s += '<div class=\"border shadow-sm rounded-2 m-1 p-2 mt-2 small\" > <div class=\"fw-bold\"> E-imza Programını Ä°ndir </div> <div > E-imza programı bilgisayarınızda kurulu deÄŸilse, aÅŸağıdaki butonlardan uygun olanı kullanarak indirip kurabilirsiniz. Lütfen kurulumu tamamladıktan sonra aÅŸağıdaki yenile butonuna basınız. </div>'\r\n s += '<a href=\"' + appDownloadURL + '\" class=\"mt-1 btn btn-sm btn-outline text-primary fw-bold \" style=\"background-color: #dbeaff\"> <i class=\"fa fa-windows\"></i> Ä°ndir Windows</a>'\r\n s += ' <a href=\"' + appDownloadURLMAC + '\" class=\"mt-1 btn btn-sm btn-outline text-primary fw-bold \" style=\"background-color: #dbeaff\"> <i class=\"fa fa-apple\"></i> Ä°ndir macOS </a>'\r\n errorbox.innerHTML = s + \"</div> </div > </div >\"\r\n }\r\n }\r\n\r\n\r\n const takiliEimzaYok = () => {\r\n var errorbox = document.getElementById(\"errormessage\");\r\n //showErrorpic(\"eimzaerror2\");\r\n if (errorbox) {\r\n var s = '<div class=\"alert alert-warning fw-bold small m-0 p-1\" > Bilgisayara Takılı E - imza Bulunamadı. </div>'\r\n s += '<span class=\"text-dark\"> Lütfen aÅŸağıdakileri sırasıyla deneyiniz </span>';\r\n s += '<ol class=\"list-group list-group-flush list-group-numbered small\">';\r\n s += '<li class=\"list-group-item p-0\"> E-imzanızı bilgisayarınıza takınız. </li>'\r\n s += '<li class=\"list-group-item p-0\"> www.turkiye.gov.tr adresine girerek aÅŸağıdaki resimde gösterildiÄŸi gibi e-devlet’e \"Elektronik Ä°mza\" ile giriÅŸ yapmayı deneyiniz. E-devlet’e de elektronik imza ile giriÅŸ yapamıyorsanız lütfen e-imzanızı tedarik ettiÄŸiniz firmadan destek alın.</li>'\r\n s += '<li class=\"list-group-item p-0\"> E-Devlete elektronik imzanız ile girebiliyorsanız, imzanızı bilgisayarınızdan çıkartıp tekrar takmayı deneyebilirsiniz.</li>'\r\n s += '<li class=\"list-group-item p-0\"> Sim kartınızı, kart okuyucudan çıkarıp tekrar taktıktan sonra deneyiniz.</li>'\r\n s += '<li class=\"list-group-item p-0\"> Yukarıdaki iÅŸlemleri yaptıktan sonra aÅŸağıdaki yenile düğmesine basabilirsiniz.</li>'\r\n s += '</ol>'\r\n errorbox.innerHTML = s;\r\n setVisible(\"edeveletimage\", true);\r\n }\r\n }\r\n const programGunceldegil = () => {\r\n var errorbox = document.getElementById(\"errormessage\");\r\n if (errorbox) {\r\n var s = '<div class=\"alert alert-warning fw-bold small m-0 p-1\" > \"E-imza Programı Güncel DeÄŸil. </div>'\r\n s += '<div class=\"text-dark\">Güncel versiyonu indirmek için aÅŸağıdaki butonu kullanabilirsiniz. <br/>Not: E-imza programınızın güncel olması tavsiye edilir.Ancak güncel olmadan da imza atabilirsiniz. </div>';\r\n s += '<a href=\"' + appDownloadURL + '\" class=\"btn btn-sm btn-outline text-primary fw-bold \" style=\"backgroundColor: \\'#dbeaff\\'\"> <i class=\"fa fa-windows\"></i> Ä°ndir Windows</a>';\r\n errorbox.innerHTML = s + '<a href=\"' + appDownloadURLMAC + '\" class=\"float-end ms-1 btn btn-sm btn-outline text-primary fw-bold \" style=\"backgroundColor: \\'#dbeaff\\'\" > <i class=\"fa fa-apple\"></i> Ä°ndir macOS </a>'\r\n }\r\n }\r\n\r\n\r\n\r\n const showImzayaHzair = (title, msg) => {\r\n var errorbox = document.getElementById(\"errormessage\");\r\n if (errorbox) {\r\n errorbox.innerHTML = '<div class=\"alert alert-success fw-bold small m-0 p-1\" > Ä°mza Atmaya Hazırsınız. </div>'\r\n errorbox.innerHTML += '<span class=\"text-success\">PIN girip imzala butonuna basarak aÅŸağıdaki sertifika ile belgeyi imzalayabilirsiniz.<br/>Atacağınız e-imza, elle atılan ıslak imzalar ile aynı hukuki geçerliliÄŸe sahiptir.</span>'\r\n }\r\n }\r\n\r\n\r\n\r\n const showWarningMessage = (title, msg) => {\r\n var errorbox = document.getElementById(\"errormessage\");\r\n if (errorbox) {\r\n errorbox.innerHTML = '<div class=\"alert alert-warning fw-bold small m-0 p-1\" >' + title + '</div>'\r\n errorbox.innerHTML += '<span class=\"text-dark\">' + msg + '</span>'\r\n }\r\n }\r\n\r\n\r\n const showSuccessMessage = (title, msg) => {\r\n var errorbox = document.getElementById(\"errormessage\");\r\n if (errorbox) {\r\n errorbox.innerHTML = '<div class=\"alert alert-success fw-bold small m-0 p-1\" >' + title + '</div>'\r\n errorbox.innerHTML += '<span class=\"text-success\">' + msg + '</span>'\r\n }\r\n }\r\n const showErrorMessage = (title, msg) => {\r\n var errorbox = document.getElementById(\"errormessage\");\r\n if (errorbox) {\r\n errorbox.innerHTML = '<div class=\"alert alert-danger fw-bold m-0 p-1 small\" >' + title + '</div>'\r\n if (isEmpty(msg) == false)\r\n errorbox.innerHTML += '<div class=\"text-dark p-2 rounded-2 small\" style=\"background-color:#fef2f2\">' + msg + '</div>'\r\n }\r\n }\r\n const showMessage = (msg) => {\r\n var errorbox = document.getElementById(\"errormessage\");\r\n if (errorbox) {\r\n errorbox.innerHTML = msg\r\n }\r\n }\r\n\r\n\r\n\r\n const disableImzabutton = () => {\r\n\r\n if (certificates.length == 0 || certificates.find(x => x.citizenshipNo == imzalayan.tc) == null)\r\n return true;\r\n if (certificates.length > 0 && certificates[selectedSertificate].isFinancialSeal == true)\r\n return true;\r\n return false;\r\n }\r\n const checkTC = (sertlist) => {\r\n if (imzalayan == null) {\r\n showWarningMessage(\"Imzalayan TC Numarası Bulunamadı\");\r\n return false;\r\n }\r\n if (sertlist.length > 0 && sertlist.find(x => x.citizenshipNo == imzalayan.tc) != null)\r\n return true;\r\n\r\n var list = \"<ol>\";\r\n sertlist.forEach(x => {\r\n list += \"<li>\"\r\n if (x.citizenshipNo.length > 10)\r\n list += \"Elektronik Ä°mza :\" + x.citizenshipNo\r\n else\r\n list += \"Mali Mühür :\" + x.citizenshipNo\r\n list += \"</li>\"\r\n })\r\n\r\n showWarningMessage(\"Farklı Bir Sertifika Algılandı\", imzalayan.tc + \" TC kimlik numaralı kiÅŸinin imza atması beklenmekteyken bilgisayarda aÅŸağıdaki elektronik imza veya mali mühürler tespit edildi:\" + list)\r\n return false;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n // kullanıcı AÇ butonuna bastığında e-imza aracı açılır\r\n const OpenSignerApp = () => {\r\n try {\r\n window.location.href = 'onaylarimsignerapp:\"start\"';\r\n\r\n } catch (err) {\r\n showErrorMessage(\"open signer app error.\", err);\r\n }\r\n }\r\n\r\n async function LocalSignerPing(useHttps: boolean, useLocalhost: boolean): Promise<boolean> {\r\n const url = (useHttps ? 'https' : 'http') + (useLocalhost ? \"://localhost:8099/ping\" : \"://localsigner.onaylarim.com:8099/ping\");\r\n\r\n console.log(\"e-Ä°mza aracına \" + (useHttps ? 'SSL' : 'HTTP') + \" PING isteÄŸi gönderiliyor. Url: \" + url);\r\n try {\r\n\r\n const axiosResponse = await axios.get(url, { timeout: 500 });\r\n console.log(\"e-Ä°mza aracına \" + (useHttps ? 'SSL' : 'HTTP') + \" PING isteÄŸ sonucu.\", axiosResponse);\r\n const signerAppPingResult = axiosResponse.data;\r\n if (signerAppPingResult.error === undefined || signerAppPingResult.error === null || signerAppPingResult.error.length === 0) {\r\n return true;\r\n }\r\n return false;\r\n } catch (error) {\r\n console.log(\"e-Ä°mza aracına \" + (useHttps ? 'SSL' : 'HTTP') + \" PING isteÄŸi gönderilemedi.\", error);\r\n showErrorMessage(\"e-Ä°mza aracına \" + (useHttps ? 'SSL' : 'HTTP') + \" PING isteÄŸi gönderilemedi.\", error);\r\n return false;\r\n }\r\n }\r\n\r\n async function TryToConnect() {\r\n try {\r\n const httpsTryIsOk = await LocalSignerPing(true, false);\r\n if (httpsTryIsOk) {\r\n\r\n workingUrl = \"https://localsigner.onaylarim.com:8099\"\r\n\r\n // bilgisayarda e-imza aracı var, çalışıyor durumda ve https baÄŸlantı yapılabildi\r\n LocalSignerReset();\r\n }\r\n else {\r\n // bilgisayarda e-imza aracı var, çalışmıyor\r\n // bilgisayarda e-imza aracı var, çalışıyor ancak https baÄŸlantı yapılamadı\r\n const httpTryIsOk = await LocalSignerPing(false, false);\r\n if (httpTryIsOk) {\r\n workingUrl = \"http://localsigner.onaylarim.com:8099\"\r\n // bilgisayarda e-imza aracı var, çalışıyor durumda ve http baÄŸlantı yapılabildi\r\n LocalSignerReset();\r\n }\r\n else {\r\n // bilgisayarda e-imza aracı var, çalışmıyor\r\n // bilgisayarda e-imza aracı var, çalışıyor ancak http baÄŸlantı yapılamadı\r\n\r\n const httpTryWithLocalhostIsOk = await LocalSignerPing(false, true);\r\n if (httpTryWithLocalhostIsOk) {\r\n workingUrl = \"http://localhost:8099\"\r\n\r\n LocalSignerReset();\r\n }\r\n else {\r\n programYok();\r\n }\r\n\r\n }\r\n }\r\n }\r\n catch (error) {\r\n console.log(error);\r\n showErrorMessage(\"Try To Connect\", error)\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n // onaylarim API'den e-imza aracının güncel versiyon bilgisini alır\r\n const GetSignerAppVersions = () => {\r\n // CORS hatası alacaktır. Ancak demo uygulamanın çalışmasına engel bir durum deÄŸildir.\r\n // ONAYLARIM on-Prem kurulduÄŸunda, client uygulamadan gelen requestlere izin verilecek ÅŸekilde CORS ayarı yapılacaktır.\r\n // ONAYLARIM SaaS kullanıldığında, client uygulamadan gelen requestlere izin verilecek ÅŸekilde CORS ayarı yapılacaktır.\r\n\r\n console.log(\"e-Ä°mza aracı son sürümü alınıyor.\");\r\n\r\n axios\r\n .get(\"https://api.onaylarim.com/sign/GetSignerAppVersions\")\r\n .then((result) => {\r\n if (result.data.error) {\r\n console.log(\"Uygulama güncel sürümü alınırken hata oluÅŸtu.\", result);\r\n } else {\r\n getSignerAppVersionsResult = result.data.result;\r\n console.log(\"Uygulama güncel sürümü.\", getSignerAppVersionsResult);\r\n appDownloadURL = getSignerAppVersionsResult.signerAppWindowsUrl;\r\n appDownloadURLMAC = getSignerAppVersionsResult.signerAppMacUrl;\r\n // LocalSignerReset();\r\n TryToConnect();\r\n\r\n }\r\n })\r\n .catch(async (error) => {\r\n showErrorMessage(\"Uygulama güncel sürümü alınırken hata oluÅŸtu. \", error);\r\n });\r\n }\r\n\r\n // e-Ä°mza aracına baÄŸlanıp varsa takılı sertifikalar alınır\r\n const LocalSignerReset = () => {\r\n signerAppResetResult = null;\r\n operationId = \"\";\r\n setSelectedSertificate(0);\r\n setCertificates([]);\r\n\r\n setVisible(\"edeveletimage\", false);\r\n if (refreshCount > 20 && refreshTimer != null) {\r\n refreshCount = 0;\r\n clearInterval(refreshTimer);\r\n refreshTimer = null;\r\n return;\r\n }\r\n // reset fonkisyonu ile e-Ä°mza aracına baÄŸlanıp varsa takılı sertifikalar alınır. e-imza aracı reset fonksiyonu ile takılı sertifiları baÅŸtan aramaya baÅŸlar.\r\n console.log(\"e-Ä°mza aracına RESET isteÄŸi gönderiliyor.\");\r\n\r\n axios\r\n //.get(\"https://localsigner.onaylarim.com:8099/reset\")\r\n .get(workingUrl + \"/reset?mm\")\r\n .then((result) => {\r\n\r\n console.log(\"e-Ä°mza aracına RESET isteÄŸ sonucu.\", result);\r\n signerAppResetResult = result.data;\r\n // signerAppStatus açıklamaları definition'da bulunabilir\r\n if (signerAppResetResult.signerAppStatus === 1) {\r\n // e-imza aracı sertifikaları bulmaya çalışıyorsa arka arkaya en fazla 10 kere olacak ÅŸekilde tekrardan e-imza aracı durumu sorgulanır. reset fonksiyonundan farklı olarak takılı sertifikalar baÅŸtan aranmaz, sadece e-imza aracı durumunu döner\r\n let counter = 0;\r\n while (counter < 10) {\r\n axios.get(workingUrl + \"/ping\").then((result) => {\r\n const signerAppPingResult = result.data;\r\n // GettingSmartCards dışında bir deÄŸer dönerse while loop sonlandırılır\r\n if (signerAppPingResult.signerAppStatus !== 1) {\r\n counter = 10;\r\n }\r\n });\r\n counter++;\r\n }\r\n }\r\n let desiredVersion = 0;\r\n if (signerAppResetResult.signerAppPlatform === \"windows\") {\r\n // e-imza aracı Windows sürümü ise, yani son kullanıcı bilgisayarı Windows ise, olması gereken sürüm olarak OnaylarimAPI'den alınan Windows için son sürüm numarası set edilir\r\n desiredVersion = getSignerAppVersionsResult.signerAppWindowsVersion;\r\n } else if (signerAppResetResult.signerAppPlatform === \"macos\") {\r\n // e-imza aracı MacOS sürümü ise, yani son kullanıcı bilgisayarı MacOS ise, olması gereken sürüm olarak OnaylarimAPI'den alınan MacOS için son sürüm numarası set edilir\r\n desiredVersion = getSignerAppVersionsResult.signerAppMacVersion;\r\n } else if (signerAppResetResult.signerAppPlatform === \"linux\") {\r\n // e-imza aracı Linux sürümü ise, yani son kullanıcı bilgisayarı Linux ise, olması gereken sürüm olarak OnaylarimAPI'den alınan Linux için son sürüm numarası set edilir\r\n desiredVersion = getSignerAppVersionsResult.signerAppMacVersion;\r\n } else if (signerAppResetResult.signerAppPlatform === \"freebsd\") {\r\n // e-imza aracı freebsd sürümü ise, yani son kullanıcı bilgisayarı freebsd ise, olması gereken sürüm olarak OnaylarimAPI'den alınan freebsd için son sürüm numarası set edilir\r\n desiredVersion = getSignerAppVersionsResult.signerAppMacVersion;\r\n }\r\n // kullanıcı bilgisayarında en az bir tane sertifika bulundu ise seçili sertifika olarak atanır\r\n if (signerAppResetResult.certificates !== undefined && signerAppResetResult.certificates !== null && signerAppResetResult.certificates.length > 0) {\r\n\r\n if (checkTC(signerAppResetResult.certificates)) {\r\n if (signerAppResetResult.signerAppDllVersion == desiredVersion)\r\n showImzayaHzair();\r\n else\r\n programGunceldegil();\r\n\r\n }\r\n setloaclURL(workingUrl)\r\n setCertificates(signerAppResetResult.certificates);\r\n }\r\n else {\r\n takiliEimzaYok();\r\n }\r\n return;\r\n })\r\n .catch((error) => {\r\n // showErrorMessage(\"e-Ä°mza aracına RESET isteÄŸi gönderilemedi.\", error);\r\n //programYok();\r\n console.log(error);\r\n programGunceldegil();\r\n setCertificates([]);\r\n\r\n })\r\n .finally(() => {\r\n console.log(\"e-Ä°mza aracı durumu: \");\r\n var s = document.getElementById(\"sertspin\");\r\n if (s)\r\n s.classList.remove(\"fa-spin\");\r\n });\r\n }\r\n\r\n\r\n const Sign = () => {\r\n if (certificates.length == 0) {\r\n showErrorMessage(\"Sertifika Bulunamadı\");\r\n return;\r\n }\r\n var pin = document.getElementById(\"pin\").value;\r\n if (isEmpty(pin)) {\r\n showErrorMessage(\"E-Ä°mza Åifrenizi Giriniz\");\r\n return;\r\n\r\n }\r\n var certificate = certificates[selectedSertificate];\r\n\r\n if (certificate.citizenshipNo != imzalayan.tc) {\r\n showErrorMessage(imzalayan.tc + \" TC kimlik numaralı kiÅŸinin imza atması beklenmekteyken \" + certificate.citizenshipNo + \" numaralı kimlik ile iÅŸlem yapılmak istendiÄŸi için imza atılamadı.\");\r\n return;\r\n }\r\n\r\n operationId = \"\";\r\n const createStateOnOnaylarimApiRequest = {\r\n certificate: certificate.data,\r\n signatureType: selectedSignatureType.id,\r\n appid: props.eimza.appId,\r\n eimzaId: props.eimza.id,\r\n tc: imzalayan.tc,\r\n imzalayanId: imzalayan.id,\r\n validTo: certificate.validTo\r\n };\r\n\r\n showMessage(\"Ä°mzalama iÅŸlemi baÅŸlatıldı\");\r\n document.getElementById(\"imzaspin\").hidden = false;\r\n\r\n axios\r\n .post(\"CreateStateOnOnaylarimApi\", createStateOnOnaylarimApiRequest)\r\n .then((createStateOnOnaylarimApiResponse) => {\r\n\r\n showMessage(\"Ä°mza sunucusu isteÄŸi kabul etti\");\r\n console.log(\"sunucu katmanına CreateState isteÄŸi gönderildi.\", createStateOnOnaylarimApiResponse);\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n },\r\n };\r\n const createStateOnOnaylarimApiResult = createStateOnOnaylarimApiResponse.data;\r\n console.log(\"createStateOnOnaylarimApiResult\", createStateOnOnaylarimApiResult);\r\n if (isEmpty(createStateOnOnaylarimApiResult.error) == false) {\r\n if (createStateOnOnaylarimApiResult.error.includes(\"bozuk\")) {\r\n showErrorMessage(createStateOnOnaylarimApiResult.error, \" Bu sorunun çözümü için aÅŸağıdaki yöntemlerden birini deneyebilirsiniz<br/>* PDF dosyasını tarayıcıda(chrome, vb) açarak “yazdır†menusunde hedef / yazıcı seçim bölümünde “PDF olarak kaydet†yapabilir<br/> * PDF dosyasını Adobe programı ile açarak farklı kaydet yapabilir<br/> * Dosyanızın orjinal halini farklı bir program vasıtasıyla PDF'e çevirmeyi deneyebilirsiniz\");\r\n }\r\n else showErrorMessage(createStateOnOnaylarimApiResult.error)\r\n document.getElementById(\"imzaspin\").hidden = true;\r\n return;\r\n }\r\n\r\n const signStepTwoRequest = {\r\n keyId: createStateOnOnaylarimApiResult.keyID,\r\n keySecret: createStateOnOnaylarimApiResult.keySecret,\r\n state: createStateOnOnaylarimApiResult.state,\r\n pkcsLibrary: certificate.pkcsLibrary,\r\n slot: certificate.slot,\r\n pin: pin,\r\n };\r\n // e-imza aracına e-imza atması için istekte bulunulur. Kartta bulunan sertifika ile imzalama iÅŸlemi bu adımda yapılır.\r\n console.log(\"e-Ä°mza aracına SIGNSTEPTWO isteÄŸi gönderiliyor.\");\r\n showMessage(\"Ä°mzalanacak dosya gönderiliyor\");\r\n axios\r\n .post(localURL + \"/signStepTwo\", JSON.stringify(signStepTwoRequest), config)\r\n .then((signStepTwoResponse) => {\r\n const signStepTwoResult = signStepTwoResponse.data;\r\n if (signStepTwoResult.error !== undefined && signStepTwoResult.error !== null) {\r\n console.log(\"e-Ä°mza aracına SIGNSTEPTWO isteÄŸi sonucu.\", signStepTwoResult);\r\n showErrorMessage(signStepTwoResult.error, \"\");\r\n document.getElementById(\"imzaspin\").hidden = true;\r\n\r\n } else {\r\n console.log(\"e-Ä°mza aracına SIGNSTEPTWO isteÄŸi baÅŸarıyla tamamlandı.\");\r\n showMessage(\"Sunucuda imzalama iÅŸlemi yapılıyor\");\r\n // e-imza son adım çalıştırılır. 2. adımda imzalanan veri API'ye gönderilir\r\n const finishSignRequest = {\r\n keyId: createStateOnOnaylarimApiResult.keyID,\r\n keySecret: createStateOnOnaylarimApiResult.keySecret,\r\n signedData: signStepTwoResult.signedData,\r\n operationId: createStateOnOnaylarimApiResult.operationId,\r\n signatureType: selectedSignatureType.id,\r\n };\r\n console.log(\"Sizin sunucu katmanına FinishSign isteÄŸi gönderiliyor.\");\r\n showMessage(\"Zaman damgası basılıyor\");\r\n axios\r\n .post(\"FinishSign\", finishSignRequest)\r\n .then((finishSignResponse) => {\r\n document.getElementById(\"imzaspin\").hidden = true;\r\n console.log(\"Sizin sunucu katmanına FinishSign isteÄŸi gönderildi.\", createStateOnOnaylarimApiResponse);\r\n showMessage(\"Sunucudan imzalı dosya alınıyor\");\r\n const finishSignResult = finishSignResponse.data;\r\n if (finishSignResult.isSuccess) {\r\n console.log(\"Sizin sunucu katmanına FinishSign istiÄŸi sonucu: Ä°ÅŸlem baÅŸarılı.\");\r\n operationId = createStateOnOnaylarimApiResult.operationId;\r\n showSuccessMessage(\"Ä°mzalama iÅŸlemi baÅŸarıyla tamamlandı\", \"Atmış olduÄŸunuz e-imza 5070 sayılı e-imza kanunu kapsamında ıslak imza ile eÅŸdeÄŸerdir\");\r\n document.getElementById(\"imzaKapat\").hidden = false;\r\n document.getElementById(\"imazpanel\").hidden = true;\r\n\r\n\r\n } else {\r\n console.log(\"Sizin sunucu katmanına FinishSign istiÄŸi sonucu: Ä°ÅŸlem baÅŸarısız.\");\r\n showMessage(\"Ä°ÅŸlem baÅŸarısız. \" + finishSignResult.error);\r\n\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(\"FinishSign isteÄŸi gönderilemedi.\", error);\r\n showErrorMessage(\"FinishSign isteÄŸi gönderilemedi\", error)\r\n // showErrorMessage(errormsg1 + \" FinishSign isteÄŸi gönderilemedi.\");\r\n document.getElementById(\"imzaspin\").hidden = true;\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(\"e-Ä°mza aracına SIGNSTEPTWO isteÄŸi gönderilemedi.\", error);\r\n showErrorMessage(\"SIGNSTEPTWO isteÄŸi gönderilemedi\", error)\r\n // showErrorMessage(errormsg1 + \" e-Ä°mza aracına SIGNSTEPTWO isteÄŸi gönderilemedi.\");\r\n document.getElementById(\"imzaspin\").hidden = true;\r\n\r\n });\r\n })\r\n .catch((error) => {\r\n console.log(\"Sizin sunucu katmanına CreateStateOnOnaylarimApi isteÄŸi gönderilemedi.\", error);\r\n showErrorMessage(\"CreateStateOnOnaylarimApi isteÄŸi gönderilemedi\", error)\r\n // showErrorMessage(errormsg1 + \" CreateStateOnOnaylarimApi isteÄŸi gönderilemedi\");\r\n document.getElementById(\"imzaspin\").hidden = true;\r\n });\r\n\r\n }\r\n\r\n const TopluSign = (idx) => {\r\n\r\n if (topluImzaList == null || idx > topluImzaList.length)\r\n return;\r\n if (certificates.length == 0) {\r\n showErrorMessage(\"Sertifika Bulunamadı\");\r\n return;\r\n }\r\n var pin = document.getElementById(\"pin\").value;\r\n if (isEmpty(pin)) {\r\n showErrorMessage(\"E-Ä°mza Åifrenizi Giriniz\");\r\n return;\r\n\r\n }\r\n var certificate = certificates[selectedSertificate];\r\n\r\n if (certificate.citizenshipNo != imzalayan.tc) {\r\n showErrorMessage(imzalayan.tc + \" TC kimlik numaralı kiÅŸinin imza atması beklenmekteyken \" + certificate.citizenshipNo + \" numaralı kimlik ile iÅŸlem yapılmak istendiÄŸi için imza atılamadı.\");\r\n return;\r\n }\r\n\r\n operationId = \"\";\r\n var eimza = topluImzaList[idx]\r\n const createStateOnOnaylarimApiRequest = {\r\n certificate: certificate.data,\r\n signatureType: selectedSignatureType.id,\r\n appid: eimza.id,\r\n eimzaId: eimza.imzaid,\r\n tc: imzalayan.tc,\r\n imzalayanId: eimza.imza.userFileId,\r\n validTo: certificate.validTo\r\n };\r\n\r\n showMessage(\"Ä°mzalama iÅŸlemi baÅŸlatıldı\");\r\n document.getElementById(\"imzaspin\").hidden = false;\r\n var progress = document.getElementById(\"progress\" + idx);\r\n progress.style.width = \"5%\";\r\n progress.innerHTML = \"5%\"\r\n axios\r\n .post(\"CreateStateOnOnaylarimApi\", createStateOnOnaylarimApiRequest)\r\n .then((createStateOnOnaylarimApiResponse) => {\r\n\r\n showMessage(\"Ä°mza sunucusu isteÄŸi kabul etti\");\r\n console.log(\"sunucu katmanına CreateState isteÄŸi gönderildi.\", createStateOnOnaylarimApiResponse);\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n },\r\n };\r\n const createStateOnOnaylarimApiResult = createStateOnOnaylarimApiResponse.data;\r\n console.log(\"createStateOnOnaylarimApiResult\", createStateOnOnaylarimApiResult);\r\n if (isEmpty(createStateOnOnaylarimApiResult.error) == false) {\r\n if (createStateOnOnaylarimApiResult.error.includes(\"bozuk\")) {\r\n showErrorMessage(createStateOnOnaylarimApiResult.error, \" Bu sorunun çözümü için aÅŸağıdaki yöntemlerden birini deneyebilirsiniz<br/>* PDF dosyasını tarayıcıda(chrome, vb) açarak “yazdır†menusunde hedef / yazıcı seçim bölümünde “PDF olarak kaydet†yapabilir<br/> * PDF dosyasını Adobe programı ile açarak farklı kaydet yapabilir<br/> * Dosyanızın orjinal halini farklı bir program vasıtasıyla PDF'e çevirmeyi deneyebilirsiniz\");\r\n }\r\n else showErrorMessage(createStateOnOnaylarimApiResult.error)\r\n document.getElementById(\"imzaspin\").hidden = true;\r\n return;\r\n }\r\n\r\n const signStepTwoRequest = {\r\n keyId: createStateOnOnaylarimApiResult.keyID,\r\n keySecret: createStateOnOnaylarimApiResult.keySecret,\r\n state: createStateOnOnaylarimApiResult.state,\r\n pkcsLibrary: certificate.pkcsLibrary,\r\n slot: certificate.slot,\r\n pin: pin,\r\n };\r\n // e-imza aracına e-imza atması için istekte bulunulur. Kartta bulunan sertifika ile imzalama iÅŸlemi bu adımda yapılır.\r\n console.log(\"e-Ä°mza aracına SIGNSTEPTWO isteÄŸi gönderiliyor.\");\r\n showMessage(\"Ä°mzalanacak dosya gönderiliyor\");\r\n progress.style.width = \"40%\";\r\n progress.innerHTML = \"40%\"\r\n axios\r\n .post(localURL + \"/signStepTwo\", JSON.stringify(signStepTwoRequest), config)\r\n .then((signStepTwoResponse) => {\r\n const signStepTwoResult = signStepTwoResponse.data;\r\n if (signStepTwoResult.error !== undefined && signStepTwoResult.error !== null) {\r\n console.log(\"e-Ä°mza aracına SIGNSTEPTWO isteÄŸi sonucu.\", signStepTwoResult);\r\n showErrorMessage(signStepTwoResult.error, \"\");\r\n document.getElementById(\"imzaspin\").hidden = true;\r\n\r\n } else {\r\n console.log(\"e-Ä°mza aracına SIGNSTEPTWO isteÄŸi baÅŸarıyla tamamlandı.\");\r\n showMessage(\"Sunucuda imzalama iÅŸlemi yapılıyor\");\r\n // e-imza son adım çalıştırılır. 2. adımda imzalanan veri API'ye gönderilir\r\n const finishSignRequest = {\r\n keyId: createStateOnOnaylarimApiResult.keyID,\r\n keySecret: createStateOnOnaylarimApiResult.keySecret,\r\n signedData: signStepTwoResult.signedData,\r\n operationId: createStateOnOnaylarimApiResult.operationId,\r\n signatureType: selectedSignatureType.id,\r\n };\r\n console.log(\"Sizin sunucu katmanına FinishSign isteÄŸi gönderiliyor.\");\r\n showMessage(\"Zaman damgası basılıyor\");\r\n progress.style.width = \"70%\";\r\n progress.innerHTML = \"70%\"\r\n axios\r\n .post(\"FinishSign\", finishSignRequest)\r\n .then((finishSignResponse) => {\r\n document.getElementById(\"imzaspin\").hidden = true;\r\n console.log(\"Sizin sunucu katmanına FinishSign isteÄŸi gönderildi.\", createStateOnOnaylarimApiResponse);\r\n showMessage(\"Sunucudan imzalı dosya alınıyor\");\r\n const finishSignResult = finishSignResponse.data;\r\n if (finishSignResult.isSuccess) {\r\n progress.style.width = \"100%\";\r\n progress.innerHTML = \"100%\"\r\n\r\n if (idx < topluImzaList.length - 1) {\r\n TopluSign(idx + 1);\r\n return;\r\n }\r\n if (window.opener != null && window.opener.fetchEimzaListem != null)\r\n window.opener.fetchEimzaListem();\r\n console.log(\"Sizin sunucu katmanına FinishSign istiÄŸi sonucu: Ä°ÅŸlem baÅŸarılı.\");\r\n operationId = createStateOnOnaylarimApiResult.operationId;\r\n showSuccessMessage(\"Ä°mzalama iÅŸlemi baÅŸarıyla tamamlandı\", \"Atmış olduÄŸunuz e-imza 5070 sayılı e-imza kanunu kapsamında ıslak imza ile eÅŸdeÄŸerdir\");\r\n document.getElementById(\"imzaKapat\").hidden = false;\r\n document.getElementById(\"imazpanel\").hidden = true;\r\n\r\n\r\n } else {\r\n console.log(\"Sizin sunucu katmanına FinishSign istiÄŸi sonucu: Ä°ÅŸlem baÅŸarısız.\");\r\n\r\n\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(\"Sizin sunucu katmanına FinishSign isteÄŸi gönderilemedi.\", error);\r\n showErrorMessage(\"FinishSign isteÄŸi gönderilemedi\", error)\r\n // showErrorMessage(errormsg1 + \" FinishSign isteÄŸi gönderilemedi.\");\r\n document.getElementById(\"imzaspin\").hidden = true;\r\n if (window.opener != null && window.opener.fetchEimzaListem != null)\r\n window.opener.fetchEimzaListem();\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(\"e-Ä°mza aracına SIGNSTEPTWO isteÄŸi gönderilemedi.\", error);\r\n showErrorMessage(\"SIGNSTEPTWO isteÄŸi gönderilemedi\", error)\r\n // showErrorMessage(errormsg1 + \" e-Ä°mza aracına SIGNSTEPTWO isteÄŸi gönderilemedi.\");\r\n document.getElementById(\"imzaspin\").hidden = true;\r\n if (window.opener != null && window.opener.fetchEimzaListem != null)\r\n window.opener.fetchEimzaListem();\r\n\r\n });\r\n })\r\n .catch((error) => {\r\n console.log(\"Sizin sunucu katmanına CreateStateOnOnaylarimApi isteÄŸi gönderilemedi.\", error);\r\n showErrorMessage(\"CreateStateOnOnaylarimApi isteÄŸi gönderilemedi\", error)\r\n // showErrorMessage(errormsg1 + \" CreateStateOnOnaylarimApi isteÄŸi gönderilemedi\");\r\n document.getElementById(\"imzaspin\").hidden = true;\r\n if (window.opener != null && window.opener.fetchEimzaListem != null)\r\n window.opener.fetchEimzaListem();\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n\r\n const DownloadFile = () => {\r\n axios\r\n .get(\"DownloadSignedFileFromOnaylarimApi?operationId=\" + operationId, { responseType: \"blob\" })\r\n .then((e) => {\r\n if (e.data.error) {\r\n console.log(\"Hata oluÅŸtu. \" + e.data.error);\r\n } else {\r\n let filename = \"dosya.pdf\";\r\n const contentDisposition = e.headers[\"Content-Disposition\"];\r\n if (contentDisposition) {\r\n const match = contentDisposition.match(/filename[^;\\n]*=(UTF-\\d['\"]*)?((['\"]).*?[.]$\\2|[^;\\n]*)?/gi);\r\n if (match && match[1]) {\r\n const a1 = match[1].split(\"''\")[1];\r\n if (a1) {\r\n filename = decodeURI(a1);\r\n }\r\n }\r\n }\r\n const fileURL = window.URL.createObjectURL(new Blob([e.data]));\r\n const fileLink = document.createElement(\"a\");\r\n fileLink.href = fileURL;\r\n fileLink.setAttribute(\"download\", filename);\r\n document.body.appendChild(fileLink);\r\n fileLink.click();\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(\"Sizin sunucu katmanına DownloadSignedFileFromOnaylarimApi isteÄŸi gönderilemedi.\", error);\r\n showErrorMessage(\"DownloadSignedFileFromOnaylarimApi isteÄŸi gönderilemedi\", error)\r\n });\r\n }\r\n\r\n const imageLoaded = () => {\r\n var imgset = document.getElementById(\"pdfimagediv\");\r\n if (imgset == null)\r\n return;\r\n imgset.style.background = null;\r\n const node = document.createElement(\"img\");\r\n node.src = \"/getdosyaasimage?eimzaid=\" + eimza.id + \"&page=\" + (++page);\r\n node.onload = imageLoaded;\r\n node.addEventListener('error', () => node.remove(), false);\r\n node.style.maxWidth = \"100%\";\r\n node.style.maxHeight = \"100%\";\r\n node.style.objectFit = \"contain\";\r\n imgset.appendChild(node)\r\n\r\n }\r\n const showTopluImza = () => {\r\n var table = <div>\r\n <h5 className=\"m-2 border-bottom\">Imzalanacak Belgeler</h5>\r\n {topluImzaList.map((iz, idx) => <div className=\"row m-2 border-bottom\">\r\n <div className=\"col-1\">{iz.imzaid}</div>\r\n <div className=\"col-2\">{iz.arsaSahibi}</div>\r\n <div className=\"col-1\">{iz.ada}</div>\r\n <div className=\"col-2\">{iz.basvuruTipi}</div>\r\n <div className=\"col-2\">{iz.imza.surecname}</div>\r\n <div className=\"col-2\">{iz.imza.fikra}</div>\r\n <div className=\"col-2\">\r\n <div className=\"progress\">\r\n <div\r\n className=\"progress-bar bg-success\" id={\"progress\" + idx} role=\"progressbar\">\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>)}\r\n </div>\r\n return table;\r\n }\r\n\r\n\r\n\r\n return <div className=\"\">\r\n <div className=\"row\" style={{ backgroundColor: colors.green, fontSize: \"18px\" }}>\r\n <div className=\"col-11\" >\r\n <div className=\"mb-2 p-2 fw-bold text-white\">\r\n {topluImzaList == null && props.eimza != null && <a href={'geteimzaoriginaldosya?eimzaid=' + props.eimza.id} className=\"text-decoration-none btn btn-sm btn-link text-white\" target=\"_blank\" download=\"imzalanacak_evrak.pdf\">\r\n ({props.eimza.id}/{imzalayan.id} - {props.eimza.surecname} )\r\n Ä°mzalanacak dosyayi bilgisayarınıza indirmek için tıklayınız.\r\n </a>}\r\n </div>\r\n </div>\r\n <div className=\"col-1 text-end\" >\r\n <button className=\"btn btn-sm btn-link m-0 p-s text-white\" onClick={(e) => setScale(fitsize)}><i class=\"fa fa-compress\"></i></button>\r\n <button className=\"btn btn-sm btn-link m-0 p-s text-white\" onClick={(e) => setScale(fullsize)}><i class=\"fa fa-expand\"></i></button>\r\n\r\n </div>\r\n </div>\r\n \r\n\r\n\r\n\r\n <div className=\"row\">\r\n <div className=\"col-10 col-md-3 border rounded-2 border\" style={{ textAlign: \"justify\" }}>\r\n <div className=\"mb-1 \" >\r\n <ul class=\"nav nav-tabs\">\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link active\" aria-current=\"page\" id=\"eimzatab\" href=\"#\" onClick={() => {\r\n document.getElementById(\"errormessage\").innerHTML = '<div class=\"spinner-border spinner-border-sm\" ></div>';\r\n document.getElementById(\"kartileimzala\").hidden = false\r\n document.getElementById(\"mobilileimzala\").hidden = true\r\n document.getElementById(\"eimzatab\").classList.add(\"active\");\r\n document.getElementById(\"mobiltab\").classList.remove(\"active\");\r\n GetSignerAppVersions()\r\n }}> E-imza</a>\r\n </li>\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link\" href=\"#\" id=\"mobiltab\" onClick={() => {\r\n document.getElementById(\"errormessage\").innerHTML = \"\";\r\n document.getElementById(\"mobilileimzala\").hidden = false\r\n document.getElementById(\"kartileimzala\").hidden = true\r\n document.getElementById(\"edeveletimage\").hidden = true\r\n document.getElementById(\"mobiltab\").classList.add(\"active\");\r\n document.getElementById(\"eimzatab\").classList.remove(\"active\");\r\n }}>Mobil Ä°mza</a>\r\n </li>\r\n\r\n </ul>\r\n </div >\r\n <span className=\"ps-0 spinner-border spinner-border-sm \" hidden id=\"imzaspin\" ></span>\r\n <div id=\"errormessage\" style={{ textAlign: \"justify\" }}>\r\n <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-black\" >\r\n <div className=\"spinner-border spinner-border-sm\" ></div>\r\n </div>\r\n </div >\r\n\r\n\r\n <img src={require('../pics/edevlet_eimza.png').default} style={{ width: \"100%\" }} hidden id=\"edeveletimage\" />\r\n <div id=\"imzaKapat\" className=\"text-center\" hidden>\r\n <button onClick={() => {\r\n if (props.appData)\r\n props.changeComponent(<Application key={props.appData.id} appData={props.appData} changeComponent={props.changeComponent} backButton={<ApplicationList changeComponent={props.changeComponent} />} />)\r\n else\r\n window.close()\r\n }}\r\n type=\"button\" className=\"btn btn-sm btn-success border\" > Kapat </button>\r\n </div>\r\n\r\n <div id=\"kartileimzala\">\r\n <div id=\"imazpanel\" >\r\n {certificates.length > 0 && < div className=\"m-2 p-2 rounded-2\" style={{ backgroundColor: colors.grey }} key={selectedSertificate}>\r\n < div className=\"row\" >\r\n <div className=\"col-2 text-center m-0\">\r\n <span className=\"material-icons text-success p-0 m-0\" style={{ \"rotate\": \"90deg\" }}>\r\n sim_card\r\n </span>\r\n </div>\r\n <div className=\"col-10 fw-bold text-dark\" >\r\n {certificates[selectedSertificate].personFullname} <i className=\"ps-1 fa fa-info-circle \"></i>\r\n </div>\r\n\r\n\r\n </div>\r\n < div className=\"row\" >\r\n <div className=\"col-2 \">\r\n <a href=\"#\" onClick={() => { setSelectedSertificate(selectedSertificate > 0 ? selectedSertificate - 1 : certificates.length - 1) }}> <i class=\"fa fa-chevron-left \" ></i></a>\r\n </div>\r\n <div className=\"col-8 text-secondary\">\r\n {certificates[selectedSertificate].citizenshipNo}\r\n </div>\r\n <div className=\"col-2 \">\r\n <a href=\"#\" onClick={() => { setSelectedSertificate((selectedSertificate + 1) % certificates.length) }}> <i class=\"fa fa-chevron-right\" ></i></a>\r\n </div>\r\n\r\n </div>\r\n < div className=\"row mt-1 \" >\r\n <div className=\"col-2 text-center\">\r\n\r\n </div>\r\n <div className=\"col-8 text-dark\">\r\n {certificates[selectedSertificate].validTo}\r\n </div>\r\n <div className=\"col-2 mt-2\">\r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n }\r\n <div>\r\n <div className=\"mt-1\">\r\n {/*<select className=\"form-select form-select-sm\" id=\"certificateSelect\">*/}\r\n {/* {certificates.length > 1 && <option value={-1} selected>Sertifika Seçiniz</option>}*/}\r\n {/* {*/}\r\n {/* certificates.map((c, i) => <option value={i}>{c.citizenshipNo}-{c.personFullname} ({c.validTo})</option>)*/}\r\n {/* }*/}\r\n {/*</select>*/}\r\n </div>\r\n <div className=\" mt-1\">\r\n <a onClick={(e) => { document.getElementById(\"sertspin\").classList.add(\"fa-spin\"); GetSignerAppVersions(); }} href=\"#\" type=\"button \" className=\"btn btn-sm btn-outline border border-secondary w-100 text-decoration-none\" style={{ backgroundColor: colors.grey }}>Sertifikaları Listele <i className=\"fa fa-refresh \" id=\"sertspin\"></i> </a>\r\n </div >\r\n\r\n </div>\r\n <div hidden={disableImzabutton()}>\r\n <div className=\"mt-2 d-flex justify-content-center w-100\" >\r\n <input type=\"password\" className=\"form-control form-control-sm shadow-none\" id=\"pin\" style={{ width: \"135px\" }} placeholder=\"E-Ä°mza Åifre\" name=\"pin\" />\r\n </div >\r\n <div className=\"mt-2 w-100 text-center\">\r\n <button type=\"button\" className=\"btn btn-dark shadow-none\" style={{ width: \"40px\", backgroundColor: \"#112e50\" }} onClick={() => document.getElementById(\"pin\").value += \"1\"}>1</button>\r\n <button type=\"button\" className=\"ms-2 btn btn-dark shadow-none\" style={{ width: \"40px\", backgroundColor: \"#112e50\" }} onClick={() => document.getElementById(\"pin\").value += \"2\"}>2</button>\r\n <button type=\"button\" className=\"ms-2 btn btn-dark shadow-none\" style={{ width: \"40px\", backgroundColor: \"#112e50\" }} onClick={() => document.getElementById(\"pin\").value += \"3\"}>3</button>\r\n </div>\r\n <div className=\"mt-1 w-100 text-center\">\r\n <button type=\"button\" className=\"btn btn-dark shadow-none\" style={{ width: \"40px\", backgroundColor: \"#112e50\" }} onClick={() => document.getElementById(\"pin\").value += \"4\"}>4</button>\r\n <button type=\"button\" className=\"ms-2 btn btn-dark shadow-none\" style={{ width: \"40px\", backgroundColor: \"#112e50\" }} onClick={() => document.getElementById(\"pin\").value += \"5\"}>5</button>\r\n <button type=\"button\" className=\"ms-2 btn btn-dark shadow-none\" style={{ width: \"40px\", backgroundColor: \"#112e50\" }} onClick={() => document.getElementById(\"pin\").value += \"6\"}>6</button>\r\n </div>\r\n <div className=\"mt-1 w-100 text-center\">\r\n <button type=\"button\" className=\"btn btn-dark shadow-none\" style={{ width: \"40px\", backgroundColor: \"#112e50\" }} onClick={() => document.getElementById(\"pin\").value += \"7\"}>7</button>\r\n <button type=\"button\" className=\"ms-2 btn btn-dark shadow-none \" style={{ width: \"40px\", backgroundColor: \"#112e50\" }} onClick={() => document.getElementById(\"pin\").value += \"8\"}>8</button>\r\n <button type=\"button\" className=\"ms-2 btn btn-dark shadow-none\" style={{ width: \"40px\", backgroundColor: \"#112e50\" }} onClick={() => document.getElementById(\"pin\").value += \"9\"}>9</button>\r\n </div>\r\n <div className=\"mt-1 w-100 text-center\">\r\n <button type=\"button\" className=\" btn btn-dark shadow-none text-center\" style={{ width: \"40px\", backgroundColor: \"#112e50\" }} onClick={() => document.getElementById(\"pin\").value = \"\"}>\r\n <span class=\"material-icons text-center\" style={{ fontSize: \"16px\" }}>\r\n refresh\r\n </span>\r\n </button>\r\n\r\n <button type=\"button\" className=\"ms-2 btn btn-dark shadow-none \" style={{ width: \"40px\", backgroundColor: \"#112e50\" }} onClick={() => document.getElementById(\"pin\").value += \"0\"}>0</button>\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"col-4 \">\r\n <button onClick={() => {\r\n if (topluImzaList == null)\r\n props.changeComponent(<Application key={props.appData.id} targetEimza={eimza} appData={props.appData} changeComponent={props.changeComponent} backButton={<ApplicationList changeComponent={props.changeComponent} />} />)\r\n else\r\n window.close();\r\n }}\r\n type=\"button\" className=\"btn btn-sm btn-warning border w-100\" > Ä°ptal </button>\r\n </div >\r\n\r\n <div className=\"col-4 \">\r\n <button onClick={() => {\r\n if (topluImzaList == null)\r\n Sign()\r\n else\r\n TopluSign(0);\r\n }} type=\"button\" className=\"btn btn-sm btn-success w-100 border\" hidden={disableImzabutton()}>\r\n Ä°mzala\r\n </button>\r\n </div >\r\n\r\n <div className=\"col-3\">\r\n <button type=\"button\" class=\"btn btn-sm btn-primary\" data-bs-toggle=\"modal\" data-bs-target=\"#exampleModal\">\r\n Yardım\r\n </button>\r\n </div >\r\n\r\n\r\n </div >\r\n </div >\r\n </div >\r\n\r\n <div id=\"mobilileimzala\" hidden>\r\n <EimzaOnaylarimMobil topluImzaList={topluImzaList} showSuccessMessage={showSuccessMessage} showWarningMessage={showWarningMessage} showErrorMessage={showErrorMessage} showMessage={showMessage} eimza={props.eimza} imzalayan={imzalayan} appData={props.appData} changeComponent={props.changeComponent} />\r\n </div >\r\n\r\n </div >\r\n\r\n <div className=\"col-12 col-md-9 \">\r\n\r\n {topluImzaList == null ? <div id=\"pdfimagediv\" className=\"w-100 border rounded-2\"\r\n style={{\r\n backgroundImage: `url(${background})`,\r\n backgroundRepeat: \"no-repeat\",\r\n backgroundSize: \"50px 50px\",\r\n backgroundPosition: \"center\",\r\n width: \"100%\",\r\n height: \"80vh\",\r\n overflow: \"auto\"\r\n }}\r\n >\r\n\r\n <img src={\"/getdosyaasimage?eimzaid=\" + eimza.id + \"&page=\" + page} onLoad={imageLoaded}\r\n onError='this. remove()'\r\n style={scale} />\r\n\r\n\r\n </div> : showTopluImza()}\r\n\r\n </div >\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <div class=\"modal fade\" id=\"exampleModal\" tabindex=\"-1\" aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog modal-xl modal-dialog-scrollable modal-dialog-centered\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n {/*<h5 class=\"modal-title\" id=\"exampleModalLabel\">E-Ä°mza </h5>*/}\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img src={require('../Header/eimzaerror1.png').default} className=\"w-100\" id=\"eimzaerror1\" />\r\n </div>\r\n <div class=\"col-6\">\r\n <img src={require('../Header/eimzaerror2.jpg').default} className=\"w-100\" id=\"eimzaerror2\" />\r\n </div>\r\n <div class=\"col-6\">\r\n <img src={require('../Header/eimzaerror3.jpg').default} className=\"w-100\" id=\"eimzaerror3\" />\r\n </div>\r\n <div class=\"col-6\">\r\n <img src={require('../Header/eimzaerror4.jpg').default} className=\"w-100\" id=\"eimzaerror4\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div >\r\n\r\n\r\n}","import React, { useEffect} from 'react';\r\nimport { Link } from \"react-router-dom\";\r\nimport Home from '../Dashboard/Home.js';\r\nimport { useGlobalState,logout } from '../GlobalState.js';\r\nimport UserDetails from '../User/UserDetails.js';\r\n\r\nfunction NavBarProfileComponent(props) {\r\n const [role, setRole] = useGlobalState('role');\r\n const [username, setUser] = useGlobalState('userName');\r\n\r\n var profilepic = <img src=\"/getuserpic\" id=\"profileimage\" alt=\"Avatar Logo\" style={{ width: \"32px\" }} className=\"rounded-pill p-0 m-0\" />\r\n\r\n return (\r\n <div className=\"d-flex dropdown me-3\">\r\n <Link to=\"/\" className=\"nav-link p-0 m-0\" href=\"/#\" role=\"button\" data-bs-toggle=\"dropdown\">\r\n <span className=\"text-decoration-none me-3\"> {username}</span>{profilepic}\r\n </Link>\r\n <ul className=\"dropdown-menu dropdown-menu-end shadow border\">\r\n {<li>\r\n\r\n <a href=\"#\" className=\"dropdown-item\" onClick={() => { props.changeComponent(<UserDetails changeComponent={props.changeComponent} backButton={<Home changeComponent={props.changeComponent} />} />) }}> Profil</a>\r\n\r\n </li>}\r\n \r\n\r\n <li><a href=\"/#\" onClick={(e) => {\r\n //document.cookie.split(\"; \").forEach(function (c) { document.cookie = c.replace(/^ +/, \"\").replace(/=.*/, \"=;expires=\" + new Date().toUTCString() + \";path=/\"); });\r\n //window.location.href = \"/\";\r\n //window.localStorage.setItem('Role', null);\r\n logout();\r\n }} className=\"dropdown-item\" >Çık</a></li>\r\n </ul>\r\n\r\n </div>\r\n\r\n );\r\n}\r\nexport default NavBarProfileComponent;","import { Link } from \"react-router-dom\";\r\nimport NavBarProfileComponent from './NavBarProfileComponent';\r\nimport Title from './Title';\r\nimport React, { useState, useEffect } from 'react';\r\nimport MessageMenu from './MessageMenu';\r\nimport { useGlobalState } from '../GlobalState.js';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\n\r\nexport default function TopHeader(props) {\r\n\r\n\r\n return (\r\n <div className=\"pb-2 border-bottom mb-1 border-bottom d-flex flex-row-reverse\">\r\n <NavBarProfileComponent changeComponent={props.showPanel}/>\r\n </div>\r\n );\r\n\r\n\r\n\r\n}","export default __webpack_public_path__ + \"static/media/edevletlogo.153cf76b.png\";","import React, { useState, useEffect } from 'react';\r\nimport { Navigate } from 'react-router-dom'\r\nimport { myGlobalState, useGlobalState } from '../GlobalState.js';\r\nimport { ajaxFail } from '../GlobalState.js';\r\n\r\nexport default function ForgotPassword(props) {\r\n var logindata = {\r\n UserName: \"\",\r\n Password: \"\"\r\n };\r\n\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n changeLoginButton();\r\n fetch(\"forgotpassword\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(document.getElementById(\"emailadd\").value)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n\r\n\r\n setActivepannel(\"Kullanıcı Adı Bulunamadı.\");\r\n //ajaxFail(response);\r\n\r\n }\r\n else {\r\n setActivepannel(\"Yeni Åifreniz Email Adresinize GönderimiÅŸtir.\");\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n \r\n\r\n\r\n\r\n const changeLoginButton = (e) => {\r\n document.getElementById(\"buttonlabel\").innerHTML = \"Lutfen Bekleyin \"\r\n document.getElementById(\"buttonSpinner\").hidden = false;\r\n\r\n }\r\n\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n logindata[target.name] = value;\r\n }\r\n\r\n const [activepannel, setActivepannel] = useState(<form className=\"row\" method=\"POST\" onSubmit={onSubmit}>\r\n <div className=\"mb-4 mt-5 col-12\">\r\n <label htmlFor=\"UserName\" className=\"form-label text-muted \"><b>Kullanıcı Adı veya Mail Adresinizi Girin</b></label>\r\n <input type=\"text\" className=\"form-control border-0 bg-light\" id=\"emailadd\" placeholder=\"\" name=\"emailadd\" onChange={handleInputChange} required />\r\n </div>\r\n\r\n <div className=\"col-12\">\r\n <button type=\"submit\" className=\"btn btn-primary btn-sm w-100 rounded-3 mt-3\">\r\n <span id=\"buttonlabel\">Devam Et</span>\r\n <span class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\" id=\"buttonSpinner\" hidden></span>\r\n </button>\r\n </div>\r\n </form>);\r\n \r\n\r\n useEffect(() => {\r\n\r\n }, []);\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [userName, setuserName] = useGlobalState('userName');\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n return <div className=\"row \">\r\n <div className=\"col-3 \" ></div>\r\n <div className=\"col-6 \" >\r\n <div className=\"text-center mt-5 pt-5\">\r\n {activepannel}\r\n </div>\r\n </div>\r\n <div className=\"col-3 \" ></div>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Navigate } from 'react-router-dom'\r\nimport { isEmpty, sendpost, showErrorMessage, useGlobalState, sendget, getHtmlTag } from '../GlobalState.js';\r\nimport Register1 from \"./Register1.js\";\r\nimport ForgotPassword from \"./ForgotPassword.js\";\r\nimport aes from 'crypto-js/aes';\r\nimport crypto from 'crypto-js';\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport { useSearchParams } from 'react-router-dom'\r\nimport VersionData from \"../version.json\";\r\n\r\n\r\n\r\nexport default function TwoStep(props) {\r\n const [searchParams, setSearchParams] = useSearchParams();\r\n var user_d = searchParams.get(\"tc\");\r\n var verify = searchParams.get(\"code\");\r\n const [activepannel, setActivepannel] = useState(null);\r\n const email = searchParams.get(\"email\");\r\n const sms = searchParams.get(\"sms\");\r\n const emsm = searchParams.get(\"emailsms\");\r\n\r\n var message = \"Lütfen \" + (props.channel == \"email\" ? \" Email Adresinize\" : (props.channel == \"sms\" ? \"Telefon Numaranıza\" : \"Email ve ya Telefon Numaranıza\")) + \" gönderilen kodu girniz.\"\r\n\r\n\r\n\r\n useEffect(() => {\r\n\r\n\r\n }, []);\r\n\r\n\r\n\r\n const sendcode = (e) => {\r\n var v = getHtmlTag(\"stepcode\", \"value\");\r\n if (isEmpty(v)) {\r\n showErrorMessage(\"Kod boÅŸ olamaz\");\r\n return;\r\n }\r\n sendpost(\"submittwostepcode\", v + \"#\" + props.logindata.UserName + \"#\" + props.logindata.Password, \"\", (response) => {\r\n\r\n response.text().then(value => {\r\n value = value.replaceAll('\"', '');\r\n const Buffer = require(\"buffer\").Buffer;\r\n value = Buffer.from(value, 'base64').toString('utf-8')\r\n var k = value.substring(0, 16)\r\n value = value.substring(16);\r\n var c = crypto.AES.encrypt(JSON.stringify({ value }), k).toString();\r\n props.setToken(k + c);\r\n })\r\n }\r\n , (response) => {\r\n response.text().then(value => {\r\n if (value.length < 10) {\r\n window.location.href = \"/\";\r\n return;\r\n }\r\n else\r\n showErrorMessage(value)\r\n\r\n })\r\n \r\n })\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n return <div className=\"mt-5 pt-5\">\r\n <div className=\"row\">\r\n <div className=\"col-12 col-lg-3\">\r\n </div>\r\n <div className=\"col-12 col-lg-6 text-center\">\r\n <label htmlFor=\"UserName\" className=\"form-label text-muted \"><b>{message}</b></label>\r\n </div>\r\n\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"col-12 col-lg-4\">\r\n </div>\r\n <div className=\"col-12 col-lg-4 text-center\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"stepcode\" />\r\n <button className=\"btn btn-sm btn-primary mt-2\" onClick={sendcode}> Gönder</button>\r\n </div>\r\n </div>\r\n\r\n </div >\r\n\r\n\r\n}\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport UploadFile from \"../User/UploadFile.js\";\r\nimport { ajaxFail, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport KadastralVeri from '../Application/KadastralVeri.js';\r\nexport default function MevkiSetting(props) {\r\n var postdata = {};\r\n const [listData, setListData] = useState(null);\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n const removeRecord = (id) => {\r\n showConfirmMessage(id + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removemevki\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n }))\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n const submitUpdateRecord = (rec) => {\r\n\r\n fetch(\"updatemevki\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı\")\r\n }\r\n });\r\n }\r\n\r\n const fetchList = () => {\r\n\r\n fetch(\"getmevkilist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const Add = () => {\r\n fetch(\"addmevki\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(postdata)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n document.getElementById(\"name\").value = \"\";\r\n fetchList();\r\n\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value;\r\n }\r\n\r\n const handleFile = (resp) => {\r\n \r\n\r\n fetchList();\r\n if (resp.data != null && resp.data.length > 0) {\r\n showErrorMessage(\"Eklenmeyen (Hatalı) Satırlar: \\n\" + resp.data)\r\n }\r\n\r\n\r\n }\r\n const showSpinner = (resp) => {\r\n\r\n \r\n\r\n }\r\n\r\n const renderTable = (tabledata) => {\r\n\r\n var mytable = <div>\r\n <span class=\"spinner-border spinner-border-sm\" hidden id=\"loadspin1\" ></span>\r\n <div className=\"row rounded-3 p-1 mb-3\">\r\n <div className=\"col-5\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"name\" placeholder=\"Yeni\" name=\"name\" onChange={handleInputChange} defaultValue=\"\" />\r\n </div>\r\n <div className=\"col-2\">\r\n <button onClick={Add} className=\"btn btn-sm btn-link text-decoration-none m-0 p-0\">Ekle</button>\r\n\r\n </div>\r\n \r\n\r\n <div className=\"col-5 text-end\">\r\n <UploadFile spinner={\"loadspin1\"} setSumbitResult={handleFile} username={\"\"} filelabel={\"Dosyadan Yukle\"} target={\"sumbitmevkifile\"} />\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n {tabledata.map(apprec =>\r\n < div className=\"row rounded-3\" key={apprec.id}>\r\n <div className=\"col-1\" >\r\n {apprec.id}\r\n </div>\r\n <div className=\"col-8 m-1\" >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" name=\"name\" defaultValue={apprec.name} onChange={(e) => updateRecord(apprec, e)} />\r\n </div>\r\n\r\n <div className=\"col-2\" >\r\n <button onClick={() => submitUpdateRecord(apprec)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Güncelle</button> \r\n <button onClick={() => removeRecord(apprec.id)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Sil</button>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n }, [])\r\n\r\n\r\n var listTable = \"\";\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n else\r\n listTable = renderTable([]);\r\n\r\n return (\r\n <div className=\"bg-light m-2 p-3 \">\r\n <div className=\"row mb-3\">\r\n <div className=\"col-6 \" >\r\n <h5>Mevki</h5>\r\n </div>\r\n <div className=\"col-6 text-end\" >\r\n <button onClick={() => props.changeComponent(<KadastralVeri changeComponent={props.changeComponent} />)} className=\"btn btn-primary btn-sm text-decoration-none \">Geri Dön</button>\r\n </div>\r\n </div>\r\n {listTable}\r\n\r\n\r\n\r\n </div>\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, cutString, removeTurkcLow, showConfirmMessage, toUpperCaseTurkce } from '../GlobalState.js';\r\nimport MahalleSetting from './MahalleSetting.js';\r\nimport $ from 'jquery';\r\n\r\n\r\nexport default function CBSMahalleMatching(props) {\r\n const [listData, setListData] = useState(null);\r\n const [cbsListData, setCBSListData] = useState(null);\r\n const [cbsLocalListData, setCBSLocalListData] = useState(null);\r\n\r\n \r\n\r\n const [listtype, setListType] = useState(\"MATCH\");\r\n var mergedset = [];\r\n\r\n useEffect(() => {\r\n fetchList();\r\n fetchCBSList();\r\n fetchCBSLocalList();\r\n }, [])\r\n\r\n\r\n\r\n const matchRecords = (mlistData) => {\r\n var mergedList = [];\r\n\r\n fetch(\"matchmahalle\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n \r\n }\r\n });\r\n\r\n cbsLocalListData.forEach(cbslocal => {\r\n var mahal = cbsListData.find(x => x.tapukimlikno == cbslocal.mahalleid);\r\n if (mahal != null)\r\n mahal.tapumahallead = cbslocal.name;\r\n else {\r\n mahal = { \"tapumahallead\": cbslocal.name, \"coordinates\": \"\", \"tapukimlikno\": cbslocal.mahalleid };\r\n cbsListData.push(mahal);\r\n }\r\n });\r\n\r\n\r\n cbsListData.forEach(cbs => {\r\n var mahal = listData.find(x => x.cbs == null && toUpperCaseTurkce(x.name) == toUpperCaseTurkce(cbs.tapumahallead));\r\n if (mahal != null) {\r\n cbs.mahalle = mahal;\r\n mahal.cbs = cbs;\r\n mergedList.push({ \"mahalle\": mahal, \"cbs\": cbs });\r\n }\r\n else\r\n mergedList.push({ \"mahalle\": null, \"cbs\": cbs });\r\n\r\n\r\n });\r\n var temp = listData.filter(x => x.cbs == null);\r\n temp.forEach(x => {\r\n mergedList.push({ \"mahalle\": x, \"cbs\": null });\r\n });\r\n cbsListData.forEach(cbs => cbs.mahalle = null);\r\n listData.forEach(x => x.cbs = null);\r\n return mergedList;\r\n }\r\n\r\n\r\n const removeall = () => {\r\n var ids = mergedset.filter(x => x.cbs == null && x.mahalle != null).map(x => x.mahalle.id);\r\n showConfirmMessage(ids.length + \" Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removemahalle\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(ids)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n }));\r\n }\r\n\r\n const remove = (rec) => {\r\n showConfirmMessage(\" Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removemahalle\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify([rec.id])\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n }));\r\n }\r\n\r\n const add = (cbs) => {\r\n var recs = [{ name: cbs.tapumahallead, koordinat: cbs.coordinates }];\r\n fetch(\"addmahalle\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(recs)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n fetchList();\r\n }\r\n });\r\n }\r\n\r\n\r\n const addall = () => {\r\n var recs = mergedset.filter(x => x.cbs != null && x.mahalle == null).map(x => ({ name: x.cbs.tapumahallead, koordinat: x.cbs.coordinates }));\r\n fetch(\"addmahalle\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(recs)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n fetchList();\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const fetchCBSList = () => {\r\n\r\n fetch(\"getcbsmahallelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setCBSListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const fetchCBSLocalList = () => {\r\n\r\n fetch(\"cbslocalmahallelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setCBSLocalListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const fetchList = () => {\r\n\r\n fetch(\"getmahallelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const filterCBS = (event) => {\r\n var textbox = event.target;\r\n if (textbox == null)\r\n return;\r\n var value = textbox.value;\r\n\r\n $(\"#myTable tr\").filter(function () {\r\n var rowtext = $(this).children(\":first\").text()\r\n var t1 = removeTurkcLow(rowtext);\r\n var t2 = removeTurkcLow(value);\r\n if (t1.indexOf(t2) == -1)\r\n return $(this).toggle(false);\r\n return $(this).toggle(true);\r\n });\r\n }\r\n const filterMahalle = (event) => {\r\n var textbox = event.target;\r\n if (textbox == null)\r\n return;\r\n var value = textbox.value;\r\n\r\n $(\"#myTable tr\").filter(function () {\r\n var rowtext = $(this).children(\":last\").text()\r\n var t1 = removeTurkcLow(rowtext);\r\n var t2 = removeTurkcLow (value);\r\n if (t1.indexOf(t2) == -1)\r\n return $(this).toggle(false);\r\n return $(this).toggle(true);\r\n });\r\n\r\n }\r\n\r\n\r\n const renderTable = (mergedset) => {\r\n var mytable =\r\n <div className=\"table-responsive mainpagescroll table-sm \" style={{ \"height\": \"85vh\" }}>\r\n\r\n <div className=\"row\">\r\n <div className=\"col-6\">\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n <table className='table table-vdstriped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead style={{ \"position\": \"sticky\", \"top\": 0, \"z-index\": \"1\" }} className=\"bg-white\">\r\n <tr>\r\n\r\n <th className=\"text-start fw-bold text-center ps-3 pe-3\">\r\n <input className=\"form-control form-control-sm \" id=\"mySearchInput\" type=\"text\" placeholder=\"\" onKeyUp={filterCBS} />\r\n TKGM Verisi ({cbsListData.length} kayıt)\r\n\r\n </th>\r\n <th className=\"text-start fw-bold text-center ps-3 pe-3\">\r\n <input className=\"form-control form-control-sm \" id=\"mySearchInput\" type=\"text\" placeholder=\"\" onKeyUp={filterMahalle} />\r\n Sistem Verisi ({listData.length} kayıt)\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {mergedset.map(rec =>\r\n <tr className={(rec.mahalle != null && rec.cbs != null) ? \"text-success\" : \"text-danger\"} style={{ \"height\": \"15px\" }}>\r\n <td >\r\n \r\n {rec.cbs != null ? rec.cbs.tapumahallead : \"YOK\"}\r\n <span className=\"ms-4 small\">{rec.cbs != null ? cutString(rec.cbs.coordinates, 10) : \"\"}</span>\r\n\r\n </td>\r\n <td >\r\n {rec.mahalle == null && <button className=\" btn btn-sm btn-success me-2 p-0 ps-1 pe-1 text-decoration-none\" onClick={() => add(rec.cbs)}>Ekle</button>}\r\n {rec.cbs == null && <button className=\" btn btn-sm btn-danger me-2 p-0 ps-1 pe-1 text-decoration-none\" onClick={() => remove(rec.mahalle)}>Sil</button>}\r\n {rec.mahalle != null ? rec.mahalle.name : \"YOK\"}\r\n <span className=\"ms-4 small\">{rec.mahalle != null ? cutString(rec.mahalle.koordinat, 10) : \"\"}</span>\r\n </td>\r\n {/*<td ><i className={(rec.mahalle != null || rec.cbs != null) ?\"fa fa-check\":\"fa fa-exclamation\"}></i></td>*/}\r\n\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n var listTable = <div class=\"d-flex justify-content-center\"><div class=\"spinner-border\" role=\"status\"></div></div>;\r\n var recCount = \"\";\r\n\r\n if (listData != null && cbsListData != null && cbsLocalListData!=null) {\r\n mergedset = matchRecords()\r\n listTable = renderTable(mergedset);\r\n }\r\n\r\n return (\r\n <div className=\" m-2 p-3 rounded-3\">\r\n <div className=\"row mb-1\">\r\n <div className=\"col-9 fw-bold\" >\r\n <h5 className=\"\">Mahalle EÅŸleÅŸtirme</h5>\r\n </div>\r\n <div className=\"col-3 text-end\" >\r\n <button onClick={() => props.changeComponent(<MahalleSetting changeComponent={props.changeComponent} />)} className=\"btn btn-primary btn-sm text-decoration-none \">Geri Dön</button>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mb-3\">\r\n <div className=\"col-12 textvmuted \" style={{ \"text-align\": \"justify\" }} >\r\n <div className=\"bg-light p-3 rounded-3 textvmuted fw-bold align-middle\" >\r\n <span className=\"fa fa-info pe-3\" style={{ color: \"lightblue\", fontSize: \"26px\" }} ></span>\r\n Bu ekranda TKGM den gelen parsel verileri ile Universe'de kullanılan parsel verisi karşılaÅŸtırılmaktadır\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {listData != null && cbsListData != null &&\r\n <div className=\"row mb-3 mt-3 text-center\">\r\n <div className=\"col-6\">\r\n </div>\r\n <div className=\"col-6\">\r\n <button onClick={addall} className=\"btn btn-success btn-sm mb-1\">TKGM'de olan Universe'de olmayan tüm kayıtları ekle ({mergedset.filter(x => x.mahalle == null).length} kayıt)</button>\r\n <button onClick={removeall} className=\"btn btn-danger btn-sm me-1\">Universe'de olan TKGM'de olmayan tüm kayıtları sil ({mergedset.filter(x => x.cbs == null).length} kayıt)</button>\r\n\r\n </div>\r\n\r\n </div>}\r\n\r\n\r\n <div className=\"row\" key={listTable}>\r\n <div className=\"col-12\" id=\"tablediv\" >\r\n {listTable}\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport KadastralVeri from '../Application/KadastralVeri.js';\r\n\r\nimport $ from 'jquery';\r\n\r\nimport { ajaxFail, cutString, removeTurkcLow, showConfirmMessage, toUpperCaseTurkce } from '../GlobalState.js';\r\nimport bootstrap from 'bootstrap/dist/js/bootstrap.min.js'\r\n\r\nimport CBSMahalleMatching from './CBSMahalleMatching.js';\r\nimport MahalleSetting from './MahalleSetting.js';\r\n\r\nexport default function CBSMahalleSetting(props) {\r\n const [listData, setListData] = useState(null);\r\n var sortField = null;\r\n const [sortDirection, setSortDirection] = useState({});\r\n\r\n useEffect(() => {\r\n fetchList();\r\n var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"popover\"]'))\r\n var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {\r\n return new bootstrap.Popover(popoverTriggerEl)\r\n })\r\n }, [])\r\n\r\n\r\n const getDurumName = (d) => {\r\n if (d == 0) return \"Bilinmiyor\";\r\n if (d == 1) return \"Taslak\";\r\n if (d == 2) return \"Pasif\";\r\n if (d == 3) return \"Aktif\";\r\n }\r\n\r\n const myCompare = (a, b) => {\r\n var av = a[sortField];\r\n var bv = b[sortField];\r\n var ret = 1;\r\n if (sortDirection[sortField] == \"ZA\")\r\n ret = -1;\r\n\r\n if (av == null && bv != null)\r\n return -1 * ret;\r\n if (av != null && bv == null)\r\n return ret;\r\n\r\n\r\n if (typeof av === 'string' || av instanceof String)\r\n if (typeof bv === 'string' || bv instanceof String)\r\n return av.localeCompare(bv) * ret;\r\n if (av < bv) {\r\n return -1 * ret;\r\n }\r\n if (av > bv) {\r\n return ret;\r\n }\r\n return 0;\r\n }\r\n\r\n const sortList = (fildname) => {\r\n sortField = fildname;\r\n if (sortDirection[sortField] == null || sortDirection[sortField] == \"ZA\") {\r\n sortDirection[sortField] = \"AZ\";\r\n }\r\n else {\r\n sortDirection[sortField] = \"ZA\";\r\n }\r\n var temp = [...listData]; //clone the array to update the component on setApplist\r\n temp.sort(myCompare);\r\n setListData(temp);\r\n }\r\n\r\n const refreshList = () => {\r\n setListData(null);\r\n fetch(\"fetchcbsmahallelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const fetchList = () => {\r\n\r\n fetch(\"getcbsmahallelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n <div className=\"table-responsive mainpagescroll table-sm \" style={{ \"height\": \"85vh\" }}>\r\n <table className='table table-vdstriped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead style={{ \"position\": \"sticky\", \"top\": 0, \"z-index\": \"1\" }} className=\"bg-white\">\r\n <tr>\r\n <th className=\"text-start\">\r\n <button onClick={() => sortList(\"tapukimlikno\")} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">ID</button>\r\n \r\n </th>\r\n <th className=\"text-start\">\r\n <button onClick={() => sortList(\"tapumahallead\")} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">MAHALLE</button>\r\n \r\n </th>\r\n <th className=\"text-start\">\r\n <button onClick={() => sortList(\"durum\")} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">DURUM</button>\r\n \r\n </th>\r\n <th className=\"text-start\">\r\n <button onClick={() => sortList(\"coordinates\")} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">KOORDÄ°NAT</button>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n <tr style={{ \"height\": \"15px\" }}>\r\n <td >{apprec.tapukimlikno}</td>\r\n <td > {apprec.tapumahallead}</td>\r\n <td > {getDurumName(apprec.durum)}</td>\r\n <td className=\"small\"> {cutString(apprec.coordinates, 100)}</td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n const showhelp = (event) => {\r\n\r\n\r\n }\r\n\r\n\r\n const filterTable = (event) => {\r\n var textbox = event.target;\r\n if (textbox == null)\r\n return;\r\n var value = textbox.value;\r\n\r\n $(\"#myTable tr\").filter(function () {\r\n var rowtext = $(this).text()\r\n var t1 = removeTurkcLow(rowtext);\r\n var t2 = removeTurkcLow(value);\r\n if (t1.indexOf(t2) == -1)\r\n return $(this).toggle(false);\r\n return $(this).toggle(true);\r\n });\r\n if (document.getElementById(\"totalrec\") != null && $(\"#myTable tr:visible\") != null)\r\n document.getElementById(\"totalrec\").innerHTML = $(\"#myTable tr:visible\").length + \" kayıt\";\r\n\r\n }\r\n\r\n\r\n\r\n\r\n var listTable = <div class=\"d-flex justify-content-center\"><div class=\"spinner-border\" role=\"status\"></div></div>;\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n\r\n return (\r\n <div className=\" m-2 p-3 rounded-3\">\r\n <div className=\"row mb-1\">\r\n <div className=\"col-3 \" >\r\n <h5>TKGM VERÄ°SÄ° - (MAHALLE)</h5>\r\n </div>\r\n <div className=\"col-8 textvmuted\" >\r\n </div>\r\n <div className=\"col-1 text-end\" >\r\n <button onClick={() => props.changeComponent(<KadastralVeri changeComponent={props.changeComponent} />)} className=\"btn btn-primary btn-sm text-decoration-none \">Geri Dön</button>\r\n </div>\r\n </div>\r\n <div className=\"row mb-1\">\r\n <div className=\"col-12 textvmuted \" style={{ \"text-align\": \"justify\" }} >\r\n <div className=\"bg-light p-3 rounded-3 textvmuted fw-bold align-middle\" >\r\n <span className=\"fa fa-info pe-3\" style={{ color: \"lightblue\", fontSize: \"26px\" }} ></span>\r\n Bu ekranda, tapu kadastrodan gelen veriler indirilerek Universe içerisinde ayrı bir alana kaydedilmektedir. Burada kaydedeceÄŸiniz veriler baÅŸvuru esnasında kullandığınız veriler DEÄÄ°LDÄ°R. Burada yaptıklarınız baÅŸvuru sırasında kullanılan parsel verilerinizi ETKÄ°LEMEZ/DEÄÄ°ÅTÄ°RMEZ. BaÅŸvuru esnasında kullandığınız veriler UNIVERSE'de kullanılan Kadastral Veriler baÅŸlığı altında yer almaktadır.\r\n \r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mb-3 mt-3\">\r\n <div className=\"col-3\" id=\"totalrec\">\r\n {listData != null ? listData.length : 0} kayıt\r\n </div>\r\n <div className=\"col-6 text-center\">\r\n <input className=\"form-control form-control-sm \" id=\"mySearchInput\" type=\"text\" placeholder=\"Ara\" onKeyUp={filterTable} />\r\n </div>\r\n\r\n <div className=\"col-3 text-end\">\r\n {/* <button onClick={() => props.changeComponent(<CBSMahalleMatching cbsdata={listData} />)} className=\"btn btn-primary btn-sm me-1\">EÅŸleÅŸtir</button>*/}\r\n <button onClick={refreshList} className=\"btn btn-primary btn-sm\">TKGM'deki VERÄ°YÄ° Ä°NDÄ°R</button>\r\n <button className=\"btn btn-secondary ms-1 btn-sm text-decoration-none fw-bold\" id=\"mypopover\" data-bs-toggle=\"popover\" title=\"AÇIKLAMA\" data-bs-trigger=\"focus\" data-bs-content=\"AÅŸağıdaki mahalle verilerinin tamamı silinerek TKGM'deki mahalle verileri indirilir. Ä°ÅŸlemi yarım bırakırsanız veriler eksik indirilebilir ve yeniden indirmeniz gerekir. Bu veriler UNIVERSE'de kullanılan BAÅVURUYA ESAS mahalle verileriniz DEÄÄ°LDÄ°R. Bu iÅŸlem, baÅŸvuruda kullanılan mahalle listesinizde herhangi bir deÄŸiÅŸiklik yapmaz.\">?</button>\r\n\r\n </div>\r\n </div>\r\n <div className=\"row border-top pt-2\" key={listTable}>\r\n <div className=\"col-12\" id=\"tablediv\" >\r\n {listTable}\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\n\r\nimport { ajaxFail, isEmpty, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport CBSADAMatching from './CBSADAMatching.js';\r\nimport CBSAdaSetting from './CBSAdaSetting.js';\r\n\r\n\r\nexport default function CBSAdaSorgula(props) {\r\n const [listData, setListData] = useState(null);\r\n var recivedRecCount = 0;\r\n useEffect(() => {\r\n\r\n }, [])\r\n\r\n const sendRecord = (rec) => {\r\n fetch(\"addcbsada\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(async data => {\r\n showSuccessMessage(data);\r\n });\r\n }\r\n else {\r\n showSuccessMessage(\"Ada/Parsel kayıdı veri tabanına eklenmiÅŸtir\");\r\n }\r\n }).catch(err => {\r\n showErrorMessage(err);\r\n })\r\n }\r\n\r\n\r\n const fetchList = () => {\r\n\r\n if (isEmpty(document.getElementById(\"ada\").value) || isEmpty(document.getElementById(\"parsel\").value)) {\r\n showErrorMessage(\"Ada ve Parsel Numarasını giriniz\");\r\n return;\r\n }\r\n\r\n var durum = \"\";\r\n var raktif = document.getElementById(\"Aktif\").checked;\r\n var rpasif = document.getElementById(\"Pasif\").checked;\r\n if (raktif == true)\r\n durum = \" and durum=3\"\r\n else if (rpasif == true)\r\n durum = \" and durum=2\"\r\n\r\n var cql_filter = \"adano=\" + document.getElementById(\"ada\").value + \" and parselno=\" + document.getElementById(\"parsel\").value + durum;\r\n document.getElementById(\"loadspinner\").hidden = false;\r\n\r\n fetch(\"cbsadasorgula?filter=\" + cql_filter, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n document.getElementById(\"loadspinner\").hidden = true;\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const getDurumName = (d) => {\r\n if (d == 0) return \"Bilinmiyor\";\r\n if (d == 1) return \"Taslak\";\r\n if (d == 2) return \"Pasif\";\r\n if (d == 3) return \"Aktif\";\r\n }\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n\r\n var array10 = tabledata.slice(0, 10000);\r\n var mytable =\r\n <div className=\"table-responsive mainpagescroll table-sm \" style={{ \"height\": \"85vh\" }}>\r\n <table className='table table-vdstriped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead style={{ \"position\": \"sticky\", \"top\": 0, \"z-index\": \"1\" }} className=\"bg-light\">\r\n <tr>\r\n <th className=\"text-start\" style={{ \"width\": \"10%\", overflow: \"hidden\" }}>No</th>\r\n <th className=\"text-start\" style={{ \"width\": \"20%\", overflow: \"hidden\" }}>Tapu Cins Aciklama</th>\r\n <th className=\"text-start\" style={{ \"width\": \"20%\", overflow: \"hidden\" }}>Tapu Zeminref</th>\r\n <th className=\"text-start\" >Tapu Mahalleref</th>\r\n <th className=\"text-start\" style={{ \"width\": \"10%\", overflow: \"hidden\" }}>Tapu Alan</th>\r\n <th className=\"text-start\" >Ada/Parsel No</th>\r\n <th className=\"text-start\" >Durum</th>\r\n <th className=\"text-start\" ></th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {array10.map(apprec =>\r\n <tr style={{ \"height\": \"15px\" }}>\r\n <td >{apprec.tapukimlikno}</td>\r\n <td title={apprec.tapucinsaciklama} >{apprec.tapucinsaciklama}</td>\r\n <td >{apprec.tapuzeminref}</td>\r\n <td >{apprec.tapumahalleref.includes(\" \") ? apprec.tapumahalleref.split(\" \")[1] : apprec.tapumahalleref}</td>\r\n <td >{apprec.tapualan}</td>\r\n <td >{apprec.adano}/{apprec.parselno}</td>\r\n <td >{getDurumName(apprec.durum)}</td>\r\n <td ><button type=\"button\" class=\"btn btn-link text-decoration-none btn-sm\" onClick={() => sendRecord(apprec)}>Ekle</button></td>\r\n\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n return (mytable);\r\n\r\n }\r\n\r\n\r\n var listTable = \"\";\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n\r\n return (\r\n <div>\r\n\r\n\r\n <div className=\"row mb-1\">\r\n <div className=\"col-5\">\r\n <h5 className=\"ps-1\">TKGM'deki Veriyi Sorgula</h5>\r\n </div>\r\n <div className=\"col-2 text-center\" id=\"reccount\">\r\n {listData != null ? listData.length : 0} kayıt.\r\n <span className=\"col-1 text-center\" id=\"loadspinner\" hidden>\r\n <div class=\"spinner-border spinner-border-sm ps-1\"></div>\r\n </span>\r\n </div>\r\n\r\n\r\n <div className=\"col-12 col-md-5 text-end pt-1\">\r\n <button onClick={() => props.changeComponent(<CBSAdaSetting cbsdata={props.cbsdata} changeComponent={props.changeComponent} />)} className=\" btn btn-primary btn-sm\">Geri Don</button>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-3 border rounded-3 m-1 pb-2\" >\r\n <div className=\"col-12 col-md-2\">\r\n <label className=\"form-label\">Ada</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"ada\" name=\"ada\" defaultValue=\"\" />\r\n </div>\r\n <div className=\"col-12 col-md-2\">\r\n <label className=\"form-label\">Parsel</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"parsel\" name=\"parsel\" defaultValue=\"\" />\r\n </div>\r\n\r\n <div className=\"col-12 col-md-6\">\r\n <label className=\"form-label\">Durum</label><br />\r\n <div class=\"form-check form-check-inline\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"Durum\" id=\"Pasif\" value=\"2\" />\r\n <label class=\"form-check-label\" for=\"inlineRadio1\">Pasif</label>\r\n </div>\r\n <div class=\"form-check form-check-inline\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"Durum\" id=\"Aktif\" value=\"3\" />\r\n <label class=\"form-check-label\" for=\"inlineRadio2\">Aktif</label>\r\n </div>\r\n <div class=\"form-check form-check-inline\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"Durum\" id=\"Hepsi\" value=\"\" defaultChecked={true} />\r\n <label class=\"form-check-label\" for=\"inlineRadio3\">Hepsi</label>\r\n </div>\r\n\r\n\r\n <button onClick={fetchList} className=\"ms-4 btn btn-primary btn-sm\">Sorgula</button>\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n <div className=\"row\" key={listTable}>\r\n <div className=\"col-12\" id=\"tablediv\" >\r\n {listTable}\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport KadastralVeri from '../Application/KadastralVeri.js';\r\nimport { ajaxFail, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\n\r\nexport default function SettingIdariMahalle(props) {\r\n var postdata = {};\r\n const [listData, setListData] = useState(null);\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n const removeRecord = (id) => {\r\n showConfirmMessage(id + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removeidarimahalle\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n }));\r\n }\r\n\r\n\r\n\r\n const submitUpdateRecord = (rec) => {\r\n\r\n fetch(\"updateidarimahalle\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı\")\r\n }\r\n });\r\n }\r\n\r\n const fetchList = () => {\r\n\r\n fetch(\"getidarimahallelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const Add = () => {\r\n if (document.getElementById(\"name\").value == null) {\r\n showErrorMessage(\"Idari Mahalle Ä°smini Giriniz\");\r\n return;\r\n }\r\n\r\n fetch(\"addidarimahalle\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(postdata)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n document.getElementById(\"name\").value = \"\";\r\n fetchList();\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value;\r\n }\r\n\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n\r\n var mytable = <div>\r\n <div className=\"row rounded-3 mb-4 pb-4 border-bottom\">\r\n <div className=\"col-4\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"name\" placeholder=\"Yeni Ä°dari Mahalle\" name=\"name\" onChange={handleInputChange} defaultValue=\"\" />\r\n </div>\r\n <div className=\"col-2\"> <button onClick={Add} className=\"btn btn-sm btn-primary text-decoration-none \">Ekle</button></div>\r\n </div>\r\n\r\n\r\n {tabledata.map(apprec =>\r\n < div className=\"row rounded-3\" key={apprec.id}>\r\n <div className=\"col-4 m-1\" >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" name=\"name\" defaultValue={apprec.name} onChange={(e) => updateRecord(apprec, e)} />\r\n </div>\r\n\r\n\r\n <div className=\"col-2\" >\r\n <button onClick={() => submitUpdateRecord(apprec)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Güncelle</button> \r\n <button onClick={() => removeRecord(apprec.id)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Sil</button>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n\r\n return (mytable);\r\n }\r\n\r\n \r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n\r\n }, [])\r\n\r\n\r\n var listTable = \"\";\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n else\r\n listTable = renderTable([]);\r\n\r\n return (\r\n <div className=\"bg-light p-2\">\r\n <div className=\"row mb-3 \">\r\n <div className=\"col-6 \" >\r\n <h5>IDARÄ° MAHALLE</h5>\r\n </div>\r\n <div className=\"col-6 text-end\" >\r\n <button onClick={() => props.changeComponent(<KadastralVeri changeComponent={props.changeComponent} />)} className=\"btn btn-primary btn-sm text-decoration-none \">Geri Dön</button>\r\n </div>\r\n </div>\r\n {listTable}\r\n </div>\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, removeTurkcLow } from '../GlobalState.js';\r\nimport $ from 'jquery';\r\n\r\nexport default function EventPanel(props) {\r\n\r\n const [appData, setData] = useState(props.appData);\r\n const [events, setEvents] = useState(null);\r\n const colors = [\"#fff8dd\", \"#e8fff3\", \"#fff5f8\", \"#f8f5ff\"]\r\n const scolors = [\"text-primary\", \"text-success\", \"text-danger\", \"text-warning\", \"text-info\"]\r\n\r\n const fetchEvents = (e) => {\r\n fetch(\"getapplicationevents\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: appData.id\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n \r\n setEvents(data);\r\n rendertolist(data);\r\n });\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n fetchEvents();\r\n }, [])\r\n\r\n\r\n const filterTable = (event) => {\r\n var textbox = document.getElementById(\"mySearchInput\")\r\n if (textbox == null)\r\n return;\r\n var value = removeTurkcLow(textbox.value);\r\n var keywords = value.split(\" \");\r\n\r\n $(\"#appevents div.row\").filter(function () {\r\n var rowtext = \"\";\r\n $(this).children().each(function () {\r\n rowtext += $(this).text() + \" \";\r\n });\r\n\r\n var t1 = removeTurkcLow(rowtext);\r\n\r\n for (let index = 0; index < keywords.length; ++index) {\r\n if (t1.indexOf(keywords[index]) == -1) {\r\n return $(this).toggle(false);\r\n }\r\n }\r\n return $(this).toggle(true);\r\n });\r\n }\r\n\r\n const rendertolist = (events) => {\r\n var groupedEvents = {};\r\n for (var i = 0; i < events.length; i++) {\r\n var d = events[i].eventDate.split(\" \")[0];\r\n var t = events[i].eventDate.split(\" \")[1];\r\n if (groupedEvents[d] == null) groupedEvents[d] = [];\r\n groupedEvents[d].push(t);\r\n }\r\n var tab = \"\";\r\n var c = 0;\r\n for (var d in groupedEvents) {\r\n tab += '<div class=\"row ms-2 me-2 p-2 mb-3 rounded-2 border border-rounded\" style=\"background-color:' + colors[c % 4] + ';\"}><div class=\"col-12\"><h5 class=\"text-secondary\"><span class=\"fa fa-calendar text-muted\"></span> <b>' + d + '</b></h5></div><div class=\"pt-2\">'\r\n for (var i = 0; i < events.length; i++) {\r\n var m = events[i].eventDate.split(\" \")[0];\r\n var t = events[i].eventDate.split(\" \")[1];\r\n if (d == m) {\r\n tab += \"<div class='row'>\"\r\n tab += \"<div class=' col-3 col-md-1 mb-1' style='position: relative;'> <span class='ps-1 pe-3 text-muted fw-bold' style='position: absolute; top:-5px;'>\" + t + \"</span></div>\"\r\n tab += \"<div class=' col-9 col-md-9 border-start border-4 ps-0 mt-2' style='position: relative;'> <span style='margin-left:-8px; position: absolute; top:-10px;' class='fa fa-circle-o me-2 fw-bold \" + scolors[i % 5] + \"'> </span> \"\r\n tab += \"<div class='ms-2 mb-3' style='margin-top:-18px;'>\" + events[i].comment+ \" \"+\"<img class=\\\"rounded-circle\\\" style='width:30px; height:30px;'src='/getuserpic?user=\" + events[i].userName + \"'/><span class='ps-2 text-muted'>\" + events[i].userName + \"</span>\";\r\n tab +=\"</div></div>\"\r\n\r\n tab += \"</div>\"\r\n }\r\n\r\n }\r\n tab += \"</div></div>\"\r\n c++;\r\n }\r\n\r\n const para = document.getElementById(\"appevents\");\r\n\r\n para.innerHTML = tab;\r\n return para;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n var panel = \"\";\r\n\r\n\r\n if (events == null)\r\n panel = <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n else if (events.length == 0)\r\n panel= <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n\r\n\r\n\r\n\r\n return (\r\n <div >\r\n <div className=\"row\">\r\n <div className=\"col-4\">\r\n <h5 className=\"text-primary pb-3\">GeçmiÅŸ Aktiviteler</h5 >\r\n </div>\r\n <div className=\"col-4\">\r\n <input className=\"form-control form-control-sm\" id=\"mySearchInput\" type=\"text\" placeholder=\"Arama\" onKeyUp={filterTable} />\r\n </div>\r\n <div className=\"col-4 justify-content-end align-items-end text-end \">\r\n {events != null && events.length > 0 && <span className=\"small badge bg-primary rounded-pill me-2\">{events.length}</span>}\r\n </div>\r\n\r\n </div>\r\n <div id=\"appevents\">\r\n {panel}\r\n </div>\r\n </div>\r\n\r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { useLocation } from 'react-router-dom'\r\nimport ReactToPdf from 'react-to-pdf';\r\nimport { useGlobalState, changeTurkceToEnglis, capitalizeWords, isEmpty } from '../GlobalState.js';\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport Application from './Application.js';\r\nimport { jsPDF } from \"jspdf\";\r\n\r\nexport default function ApplicationPrint(props) {\r\n var appTypes = props.appTypes;\r\n const [appGrupList, setappGrupList] = useState(null);\r\n const [fileTypes, setFileTypeData] = useState(null);\r\n let location = useLocation();\r\n const [uploadedFiles, setUploadedFiles] = useState([]);\r\n const ref = React.createRef();\r\n const [appData, setData] = useState(props.rec != null ? props.rec : location.state.rec);\r\n var [gdata, setGData] = useState(null);\r\n const [userData, setUserdata] = useState(null);\r\n\r\n var [allDynamicFilds, setAllDynamicFilds] = React.useState([]);\r\n\r\n var apptype = appTypes != null ? appTypes.find(x => x.name == appData.basvuruTipi) : null;\r\n\r\n\r\n useEffect(() => {\r\n fetchGeneralData();\r\n \r\n \r\n fetchAppGrupList();\r\n fetchFileList();\r\n }, [])\r\n\r\n const fetchFileList = () => {\r\n fetch(\"filenamelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setFileTypeData(value);\r\n fetchFiles(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const fetchAppGrupList = () => {\r\n fetch(\"apptypegroupslist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setappGrupList(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n const fetchAppDynamicFieldList = () => {\r\n fetch(\"getappfields\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n\r\n response.json().then(async data => {\r\n setAllDynamicFilds(data);\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n const getAppGrupName = () => {\r\n if (appTypes == null || appGrupList==null) {\r\n return \"(Ä°mar ve Åehircilik Müdürlüğü)\";\r\n }\r\n var g = appTypes.find(x => x.name == appData.basvuruTipi);\r\n if (g == null || g.grup==null)\r\n return \"(Ä°mar ve Åehircilik Müdürlüğü)\";\r\n var grp = appGrupList.find(x => x.id == g.grup);\r\n\r\n if (grp == null )\r\n return \"(Ä°mar ve Åehircilik Müdürlüğü)\";\r\n return \"(\" + grp.name+\")\"\r\n }\r\n\r\n const getFileName = (f) => {\r\n if (f.typeId==null ) {\r\n return f.caption;\r\n }\r\n\r\n var fname=fileTypes.find(x => x.id == f.typeId);\r\n if (fname == null) {\r\n return f.caption;\r\n }\r\n\r\n return fname.name;\r\n \r\n }\r\n\r\n\r\n\r\n \r\n const fetchFiles = (filetypes) => {\r\n fetch(\"getapplicationfiles\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(appData)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n var files = [];\r\n for (var f of data) {\r\n var ft = filetypes.find(x => x.id == f.typeId);\r\n if (ft == null || isEmpty(ft.basvuruTipi) || ft.basvuruTipi.includes(appData.basvuruTipi))\r\n files.push(f)\r\n }\r\n setUploadedFiles(files)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n const fetchGeneralData = () => {\r\n fetch(\"getgeneraldata\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setGData(data);\r\n fetchAppDynamicFieldList();\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const toPdfJSPDF = () => {\r\n \r\n\r\n \r\n\r\n var doc = new jsPDF('p', 'pt', \"a4\");\r\n // doc.addFont(\"Arial\", \"Arial\", \"normal\");\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setFontSize(14);\r\n var source = document.getElementById(\"pdfsource\").cloneNode(true);\r\n source.className = \"\";\r\n var colElems = source.firstChild.getElementsByClassName(\"buttonCol\");\r\n for (var i = colElems.length - 1; i >= 0; i--) {\r\n colElems[i].remove()\r\n }\r\n var colElems = source.firstChild.getElementsByClassName(\"checkCol\");\r\n for (var i = colElems.length - 1; i >= 0; i--) {\r\n colElems[i].firstChild.className = \"\";\r\n colElems[i].firstChild.style[\"width\"] = \"12px\";\r\n }\r\n\r\n colElems = source.firstChild.getElementsByClassName(\"dateCol\");\r\n for (var i = colElems.length - 1; i >= 0; i--) {\r\n colElems[i].innerText = colElems[i].innerText.replace(\"/\", \"\");\r\n colElems[i].innerText = colElems[i].innerText.replace(\"/\", \" \");\r\n colElems[i].innerText = colElems[i].innerText.replace(\":\", \" : \");\r\n }\r\n\r\n\r\n colElems = source.firstChild.getElementsByClassName(\"messageCol\");\r\n if (colElems != null)\r\n for (var i = colElems.length - 1; i >= 0; i--) {\r\n colElems[i].parentNode.innerText = colElems[i].innerText;\r\n }\r\n\r\n source.innerHTML = changeTurkceToEnglis(source.innerHTML);\r\n\r\n source.style[\"font-size\"] = \"10px\";\r\n source.style[\"font-family\"] = \"Arial\";\r\n source.style[\"letter-spacing\"] = \"0.0px\";\r\n // source = source.replaceAll(\"delete\", \"\")\r\n doc.html(\r\n source, {\r\n 'x': 35,\r\n 'y': 0,\r\n\r\n width: 520,\r\n autoPaging: 'text',\r\n //margin:5,\r\n windowWidth: 520,\r\n margin: [40, 0, 40, 0],\r\n callback: function (pdf) {\r\n pdf.setFontSize(12);\r\n pdf.save('basvuru_ciktisi.pdf');\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n var filename = appData.ada + \"_\" + appData.arsaSahibi;\r\n if (filename.indexOf('.') > 0)\r\n filename = filename.substring(0, filename.indexOf('.') - 1);\r\n\r\n var printbutton = <div className=\"d-flex justify-content-center mt-2 mb-2\">\r\n <ReactToPdf targetRef={ref} x={15} y={10} scale={1} filename={filename}>\r\n {({ toPdf }) => (\r\n <button className=\"btn btn-primary btn-sm text-decoration-none\" onClick={toPdf}><i className=\"\tfa fa-print pe-2\"></i>PDF Çıktısı</button>\r\n )}\r\n </ReactToPdf>\r\n </div>\r\n\r\n\r\n var appDynamicData = null;\r\n if (appData.appData)\r\n appDynamicData= JSON.parse(appData.appData);\r\n const changeComponent = props.changeComponent;\r\n\r\n return (\r\n <div>\r\n <div className=\"row \">\r\n <div className=\"col-12 text-end\">\r\n \r\n <ReactToPdf targetRef={ref} filename=\"pdf_file.pdf\" x={10} y={10} scale={0.7} >\r\n {({ toPdf }) => (\r\n <button className=\"btn btn-primary btn-sm \" onClick={toPdfJSPDF}>PDF OluÅŸtur</button>\r\n )}\r\n </ReactToPdf>\r\n \r\n <button className=\"ms-2 btn btn-sm btn-primary rounded me-3\" onClick={() => { changeComponent(<Application appData={appData} changeComponent={changeComponent} backButton={props.backButton} />) }}> <i className=\"fa fa-arrow-circle-left pe-1\"></i> Geri Don</button>\r\n \r\n </div>\r\n\r\n\r\n\r\n </div>\r\n <div className=\"d-flex justify-content-center \" >\r\n\r\n\r\n <div style={{ width: \"520px\" }} ref={ref} id=\"pdfsource\">\r\n <div className=\"d-flex justify-content-center mt-4 fw-bold\">{gdata != null ? gdata.belediyeName.toUpperCase() : \"\"} BELEDÄ°YE BAÅKANLIÄINA</div>\r\n\r\n {apptype != null && !isEmpty(apptype.ciktiTitle) && <div className=\"d-flex justify-content-center mb-1 mt-1\">\r\n ({apptype.ciktiTitle})\r\n </div>}\r\n\r\n <div className=\"d-flex justify-content-center mb-3 mt-1\">{getAppGrupName()}</div>\r\n <div className=\"d-flex justify-content-center mb-3\" >\r\n AÅŸağıda bilgileri bulunan baÅŸvurunun tarafınızca incelenerek gereÄŸinin yapılması hususunu arz ederim.\r\n </div>\r\n <div className=\"mt-4 container border rounded border-dark\" >\r\n\r\n <div className=\"row border-bottom border-dark\">\r\n <div className=\"col-4 \">\r\n BaÅŸvuru Numara\r\n </div>\r\n <div className=\"col-8 border-start border-dark\">\r\n {appData.id}\r\n </div>\r\n </div>\r\n\r\n <div className=\"row border-bottom border-dark\">\r\n <div className=\"col-4 \">\r\n BaÅŸvuru Tipi\r\n </div>\r\n <div className=\"col-8 border-start border-dark\">\r\n {appData.basvuruTipi}\r\n </div>\r\n </div>\r\n\r\n <div className=\"row border-bottom border-dark\">\r\n <div className=\"col-4 \">\r\n BaÅŸvuru Tarihi\r\n </div>\r\n <div className=\"col-8 border-start border-dark \">\r\n {appData.basvuruTarihi}\r\n </div>\r\n </div>\r\n\r\n {(apptype != null && apptype.kabulSureci == true) && <div className=\"row \">\r\n <div className=\"col-4 \">\r\n BaÅŸvuru Kabul Tarihi\r\n </div>\r\n <div className=\"col-8 border-start border-dark\">\r\n {appData.kabulEdilmeTarihi}\r\n </div>\r\n </div>}\r\n\r\n </div>\r\n {isEmpty(appData.ada) == false && <div className=\"mt-4 container border rounded border-dark\">\r\n <div className=\"row border-bottom border-dark\">\r\n <div className=\"col-12 \">\r\n <b>Adres Bilgileri</b>\r\n </div>\r\n </div>\r\n <div className=\"row border-bottom border-dark\">\r\n <div className=\"col-4 \">\r\n Mahalle\r\n </div>\r\n <div className=\"col-8 border-start border-dark\">\r\n {appData.mahalle} {(apptype != null && apptype.mevkiAktif==true)?appData.mevki:\"\"}\r\n </div>\r\n </div>\r\n\r\n <div className=\"row\">\r\n\r\n <div className=\"col-4 \">\r\n Ada/Parsel\r\n </div>\r\n <div className=\"col-8 border-start border-dark\">\r\n {appData.ada}\r\n </div>\r\n </div>\r\n </div>}\r\n\r\n {isEmpty(appData.ada) == false && apptype.tasinamazSahibiAktif == true &&\r\n <div className=\"mt-4 container border rounded border-dark\">\r\n <div className=\"row border-bottom border-dark\">\r\n <div className=\"col-12 \">\r\n <b>Taşınmaz Sahibi Bilgileri</b>\r\n </div>\r\n </div>\r\n <div className=\"row border-bottom border-dark\">\r\n <div className=\"col-4 \">\r\n Ä°sim Soyisim\r\n </div>\r\n <div className=\"col-8 border-start border-dark\">\r\n {appData.arsaSahibi}\r\n </div>\r\n </div>\r\n <div className=\"row border-bottom border-dark\">\r\n <div className=\"col-4 \">\r\n TC Kimlik No\r\n </div>\r\n <div className=\"col-8 border-start border-dark\">\r\n {appData.arsaSahibiTC}\r\n </div>\r\n </div>\r\n <div className=\"row border-dark\">\r\n <div className=\"col-4 \">\r\n Telefon\r\n </div>\r\n <div className=\"col-8 border-start border-dark\">\r\n {appData.arsaSahibiTel}\r\n </div>\r\n </div>\r\n </div>}\r\n\r\n {appDynamicData != null && allDynamicFilds.some(k=>k.printable == true &&\r\n k.name != null &&\r\n k.basvuruTipi != null && k.basvuruTipi.includes(appData.basvuruTipi))&&\r\n < div className=\"mt-4 container border rounded border-dark\">\r\n {allDynamicFilds != null && appDynamicData != null &&\r\n allDynamicFilds.map(k => k.printable == true &&\r\n k.name != null &&\r\n k.basvuruTipi != null && k.basvuruTipi.includes(appData.basvuruTipi) &&\r\n <div className=\"row border-bottom border-dark\">\r\n <div className=\"col-4 \"> {k.name} </div>\r\n <div className=\"col-8 border-start border-dark\">\r\n {appDynamicData[k.name] != null ? appDynamicData[k.name].value : \"\"}\r\n </div>\r\n </div>)\r\n }\r\n </div>}\r\n\r\n {gdata != null && (!isEmpty(gdata.yasalUyari) || !isEmpty(gdata.kvkk))&& < div className=\"mt-4 border rounded border-dark p-2\">\r\n {gdata != null ? gdata.yasalUyari : \"Yukarıdaki iletiÅŸim bilgilerinin doÄŸru olduÄŸunu teyit eder, yanlış bilgilendirmeden dolayı oluÅŸabilecek sorunlardan sorumlu olduÄŸumu beyan eder ve Ruhsat Bilgilerinin yukarıda yazan numaralarla mesaj yoluyla paylaÅŸacağını ve Menderes Belediyesinin KiÅŸisel Verilerin Korunması ve Ä°ÅŸlenmesi Åartlarını kabul ederim.\"}\r\n <br />\r\n {gdata != null ? gdata.kvkk : \"\"}\r\n\r\n </div>}\r\n\r\n\r\n\r\n\r\n\r\n <div className=\"mt-4 container border rounded border-dark\">\r\n\r\n <div className=\"row border-bottom border-dark\">\r\n <div className=\"col-4 p-3 mb-3\">\r\n Ä°mza\r\n </div>\r\n <div className=\"col-8 border-start border-dark\">\r\n\r\n </div>\r\n </div>\r\n\r\n <div className=\"row border-bottom border-dark\">\r\n <div className=\"col-4\">\r\n Ä°sim Soyisim\r\n </div>\r\n <div className=\"col-8 border-start border-dark\">\r\n {/* {appData != null ? capitalizeWords(appData.vekilName) : \"\"}*/}\r\n {appData.basvuruSahibi}\r\n </div>\r\n </div>\r\n <div className=\"row border-bottom border-dark\">\r\n <div className=\"col-4\">\r\n TC Kimlik Numarası\r\n </div>\r\n <div className=\"col-8 border-start border-dark\">\r\n {/* {appData != null ? appData.vekilTC : \"\"}*/}\r\n {/* {userData != null ? userData.tc : \"\"}*/}\r\n {appData.basvuruSahibiTC }\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row border-dark\">\r\n <div className=\"col-4\">\r\n Telefon\r\n </div>\r\n <div className=\"col-8 border-start border-dark\">\r\n {/* {appData != null ? appData.vekilTel : \"\"}*/}\r\n {appData.basvuruSahibiTel}\r\n \r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div className=\"mt-4 p-0 pb-5 container border-top border-dark\">\r\n\r\n BaÅŸvuruya eklenen dosyaların listesi ekte yer almaktadır.\r\n </div>\r\n\r\n\r\n <div className=\"mt-5 mb-3 container border rounded border-dark\">\r\n <div className=\"row border-bottom border-dark mb-2\">\r\n <div className=\"col-12 fw-bold\">\r\n Eklenen Dosyalar\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n {uploadedFiles.map((rec, idx) => <div className=\"col-6 p-0\"> <span className=\"fw-bold \"> {idx + 1}-</span>\r\n {getFileName(rec)+\"(\"+rec.appId+\")\"} \r\n </div>)}\r\n\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n\r\n {/* {printbutton}*/}\r\n </div>\r\n\r\n\r\n );\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { useLocation } from 'react-router-dom'\r\nimport { Link } from \"react-router-dom\";\r\nimport ApplicationList from './ApplicationList';\r\nimport { ajaxFail, calcBusinessDays, showErrorMessage, showSuccessMessage, sortByKey, getBolean } from '../GlobalState.js';\r\nimport { useGlobalState, isEmpty, getappdata, capitalizeWords, toUpperCaseTurkce, fvisible, fdisabled, fzorunlu } from '../GlobalState.js';\r\nimport axios from \"axios\";\r\nimport SharedUsersPanel from './SharedUsersPanel.js';\r\nimport Apply1 from \"./Apply1.js\";\r\n\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport UserLabel from \"../User/UserLabel.js\";\r\nimport { check } from 'prettier';\r\nimport GMapLatLang from \"./GMapLatLang.js\";\r\nimport bootstrap from 'bootstrap/dist/js/bootstrap.min.js'\r\n\r\n\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { CategoryScale } from 'chart.js';\r\n\r\nexport default function AppMainData(props) {\r\n\r\n\r\n const surebg = [\"#c9f7f5\", \"#e1f0ff\", \"#fff4de\", \"#ffe2e5\"]\r\n const suretxt = [\"text-info\", \"text-primary\", \"text-warning\", \"text-danger\"]\r\n // const [sabitsorulistData, setsabitsorulistData] = useState([]);\r\n const [appData, setData] = useState(props.appData != null ? props.appData : location.state.rec);\r\n const [mappedusers, setMappedUsers] = useState([]);\r\n const [userData, setUserdata] = useState(null);\r\n var [globalData, setGlobalData] = useGlobalState('globalData');\r\n const [role, setRole] = useGlobalState('role');\r\n const changeComponent = props.changeComponent;\r\n const [AdaList, setAdaList] = useState([]);\r\n const [MevkiList, setMevkiList] = useState([]);\r\n const [MahalleList, setMahalleList] = useState([]);\r\n const [mahalleCoordinates, setMahalleCoordinates] = useState(null);\r\n let location = useLocation();\r\n const [allDynamicFilds, setAllDynamicFilds] = React.useState();\r\n const [kontroller, setkontroller] = React.useState();\r\n const [surecList, setSurecList] = React.useState(props.surecList);\r\n const [harcFileList, setHarcFileList] = useState([]);\r\n var arsaSahibiTemp = null;\r\n\r\n const [apptypeList, setAppTypeList] = React.useState(props.apptypeList);\r\n\r\n var appType = props.apptypeList.find(x => x.name == appData.basvuruTipi)\r\n\r\n if (appType == null)\r\n appType = {}\r\n\r\n const ref = React.createRef();\r\n const zorunloBosBirakma = role.indexOf(UserPermConstants.Yeni_Basvuruda_Zorunlu_Alanlari_Bos_Birakabilme) == -1;\r\n var disablesabitsorular = false;\r\n var disabledinamiksorular = false;\r\n var disableaddresarea = false;\r\n var appdynamicdata = appData.appData != null ? JSON.parse(appData.appData) : {};\r\n\r\n\r\n\r\n\r\n if (appData != null && appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Taslak &&\r\n appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_GeriGonderildi &&\r\n appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Duzeltme_Bekleniyor\r\n ) {\r\n if (role.indexOf(UserPermConstants.Basvurudan_Sonra_Sabit_Editleme) == -1)\r\n disablesabitsorular = true;\r\n if (role.indexOf(UserPermConstants.Basvurudan_Sonra_Dinamik_Editleme) == -1)\r\n disabledinamiksorular = true;\r\n }\r\n\r\n\r\n\r\n if (appData != null && appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Duzeltme_Bekleniyor\r\n && role.indexOf(UserPermConstants.Basvurudan_Sonra_Sabit_Editleme) == -1)\r\n disableaddresarea = true;\r\n\r\n if (appData != null && appData.vekaletenBasvuru == 1 && isEmpty(appData.vekilTC) == true && userData != null) {\r\n //this is to fill empty records in database\r\n appData.vekilTC = userData.tc;\r\n appData.vekilTel = userData.tel;\r\n appData.vekilName = capitalizeWords(userData.name + \" \" + userData.family);\r\n }\r\n\r\n useEffect(() => {\r\n\r\n if (surecList == null || surecList.length == 0)\r\n fetchSurecList();\r\n fetchAppDynamicFieldList();\r\n \r\n //fetchIdariMahalleList();\r\n // fetchMahalleList(appData.mevki)\r\n // fetchMevkiList();\r\n // fetchAdaList(appData.mevki, appData.mahalle);\r\n fetchMappedUsers();\r\n fetchUserData();\r\n fetchHarcFiles();\r\n window.scrollTo(0, 0)\r\n }, [props.appData])\r\n\r\n\r\n\r\n const fetchHarcFiles = () => {\r\n var c = document.getElementById(\"harcdosyaSpinner\")\r\n if (c != null) {\r\n c.hidden = false;\r\n }\r\n fetch(\"harcfilelist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: appData.id\r\n }).then(async response => {\r\n if (c != null) {\r\n c.hidden = true;\r\n }\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n try {\r\n response.json().then(async data => {\r\n setHarcFileList(data)\r\n });\r\n } catch (ex) {\r\n console.log(ex);\r\n }\r\n }\r\n });\r\n }\r\n\r\n const fetchUserData = () => {\r\n fetch(\"getuser?user=\" + appData.basvuruYapan, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n //ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n var userdata = JSON.parse(data);\r\n setUserdata(userdata);\r\n });\r\n }\r\n });\r\n }\r\n\r\n const initModal = () => {\r\n var locModal = document.getElementById('myModal');\r\n var btnclosedown = document.getElementById('downclosemodal');\r\n if (btnclosedown != null)\r\n btnclosedown.addEventListener('click', (e) => {\r\n locModal.style.display = \"none\";\r\n locModal.classList.add(\"hide\");\r\n });\r\n }\r\n\r\n\r\n const fetchCoordinates = (param) => {\r\n fetch(\"getcbscoordinates?param=\" + param, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.text().then(value => {\r\n\r\n setMahalleCoordinates(value)\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n /* const fetchSabitSoruList = () => {\r\n fetch(\"getsabitsorulist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setsabitsorulistData(value);\r\n if (props.setsabitsorulistData)\r\n props.setsabitsorulistData(value);\r\n })\r\n }\r\n });\r\n }*/\r\n\r\n\r\n const fetchMappedUsers = (e) => {\r\n fetch(\"mappeduserstoproject\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: appData.id\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n data = JSON.parse(data);\r\n setMappedUsers(data);\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const getDenetimSure = (rec) => {\r\n if (rec == null || apptypeList.length == 0 || mappedusers.length == 0)\r\n return \"\";\r\n\r\n var denetimid = rec.denetimID;\r\n var havaleDate = rec.mappingDate;\r\n var appid = rec.appID;\r\n var id = rec.id;\r\n\r\n\r\n\r\n if (appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Kontrol_Ediliyor\r\n && appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Kontrol_Sirada_Bekliyor) return \"\";\r\n\r\n var d = apptypeList.find(x => x.id == denetimid);\r\n if (d == null) return \"\";\r\n\r\n d = d.deadline;\r\n if (d == null || rec.deliverDate == null) return \"\";\r\n //if (mappedusers.some(x => x.Completed == null\r\n // && x.id < id && x.appID == appid)==true) return \"\";\r\n\r\n\r\n var songonderim = rec.deliverDate.split(\" \")[0];\r\n var h = new Date(songonderim);\r\n\r\n havaleDate = havaleDate.split(\" \")[0];\r\n if (h < Date(havaleDate))\r\n h = new Date(havaleDate);\r\n\r\n var pre = mappedusers.find(x => x.id < id && x.appID == appid)\r\n if (pre != null && pre.Completed != null) {\r\n pre = pre.Completed.split(\" \")[0];\r\n if (h < Date(pre))\r\n h = new Date(pre);\r\n }\r\n\r\n var diffDays = d - calcBusinessDays(new Date(Date.now()), h)\r\n // var diffTime = Date.now() - h\r\n // const diffDays = d - Math.ceil(diffTime / (1000 * 60 * 60 * 24)) + 1;\r\n var i = diffDays > d * 2 / 3 ? 0 : diffDays > d / 3 ? 1 : diffDays > 0 ? 2 : 3;\r\n\r\n return <div className={\"ps-3 pe-3 p-2 text-center fw-bold \" + suretxt[i]} style={{ \"background-color\": surebg[i], \"border-radius\": 5 }}>Kalan Süre: {diffDays}</div>\r\n }\r\n\r\n\r\n\r\n\r\n const fetchIdariMahalleList = () => {\r\n fetch(\"getidarimahallelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n\r\n response.json().then(value => {\r\n var i = 0;\r\n var c = document.getElementById(\"IdariMahalle\");\r\n if (c == null)\r\n return;\r\n if (value.length == 0) {\r\n document.getElementById(\"idarimahalleblock\").hidden = true;\r\n c.required = false;\r\n }\r\n\r\n c.innerHTML = \"\";\r\n for (i = 0; i < value.length; i++) {\r\n var opt = document.createElement('option');\r\n opt.value = value[i].name;\r\n opt.innerHTML = value[i].name;\r\n if (appData.idariMahalle == value[i].name) {\r\n opt.selected = true;\r\n }\r\n c.appendChild(opt);\r\n }\r\n if (appData.idariMahalle == null) c.selectedIndex = -1;\r\n\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const fetchMevkiList = () => {\r\n fetch(\"getmevkilist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType == null || contentType.indexOf(\"application/json\") == -1) {\r\n showErrorMessage(\"Mevki bilgileri alınamadı !\");\r\n return;\r\n }\r\n response.json().then(value => {\r\n setMevkiList(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const fetchMahalleList = (mevki) => {\r\n var url = \"getmahallelist\";\r\n if (mevki != null)\r\n url = \"getmahallelist?mevki=\" + mevki\r\n fetch(url, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n try {\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType == null || contentType.indexOf(\"application/json\") == -1) {\r\n showErrorMessage(\"Mahalle bilgileri alınamadı !\");\r\n return;\r\n }\r\n response.json().then(value => {\r\n setMahalleList(value)\r\n\r\n })\r\n }\r\n catch (ex) {\r\n showErrorMessage(\"Mahalle bilgileri alınamadı.\")\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n const fetchAdaList = (mevki, mahalle) => {\r\n var query = \"\";\r\n if (mevki != null)\r\n query += \"mevki=\" + mevki\r\n if (isEmpty(mahalle))\r\n return;\r\n\r\n\r\n\r\n fetch(\"getadalist?\" + query + \"&mahalle=\" + mahalle, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType == null || contentType.indexOf(\"application/json\") == -1) {\r\n // showErrorMessage(\"Ada bilgileri alınamadı !\");\r\n return;\r\n }\r\n\r\n response.json().then(value => {\r\n var i = 0;\r\n var c = document.getElementById(\"Adaparselistesi\");\r\n if (c == null)\r\n return;\r\n c.innerHTML = \"\";\r\n var selected = false;\r\n for (i = 0; i < value.length; i++) {\r\n var opt = document.createElement('option');\r\n opt.value = value[i].name;\r\n opt.innerHTML = value[i].name;\r\n if (appData.ada == value[i].name && selected != true) {\r\n opt.selected = true;\r\n selected = true;\r\n fetchCoordinates(\"ADA:\" + value[i].id)\r\n }\r\n c.appendChild(opt);\r\n }\r\n if (selected == false)\r\n c.selectedIndex = -1;\r\n setAdaList(value)\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n const fetchAppDynamicFieldList = () => {\r\n fetch(\"getappfields\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setAllDynamicFilds(sortByKey(data, \"sira\"));\r\n });\r\n var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"popover\"]'))\r\n var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {\r\n return new bootstrap.Popover(popoverTriggerEl)\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n const fetchSurecList = () => {\r\n\r\n fetch(\"sureclist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n\r\n }\r\n else {\r\n response.json().then(value => {\r\n setSurecList(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n if (zorunloBosBirakma == false) {\r\n var multiselectinputs = allDynamicFilds.filter(k => isVisible(k) == true && k.type == \"select multiple\");\r\n var notfilled = multiselectinputs.filter(k => k.reqired == true && (isEmpty(appdynamicdata[k.name]) || isEmpty(appdynamicdata[k.name].value)))\r\n if (notfilled.length > 0) {\r\n var names = notfilled.map(k => k.name).join(\",\");\r\n showErrorMessage(\"Zorunlu alanlar boÅŸ bırakılamaz\", names);\r\n return;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n appData.appData = JSON.stringify(appdynamicdata);\r\n\r\n if (appData.vekaletenBasvuru == true && appData.vekaletDosyaname == null && zorunloBosBirakma == false) {\r\n showErrorMessage(\"Vekalet dosyanızı yukleyiniz.\");\r\n return;\r\n }\r\n\r\n fetch(\"saveapplication\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(appData)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async newapp => {\r\n\r\n if (newapp.updateCount < 0) {\r\n showErrorMessage(newapp.temp);\r\n getappdata(newapp.id, setData);\r\n \r\n }\r\n else {\r\n showSuccessMessage(\"BaÅŸvuru Bilgileri GüncellenmiÅŸtir.\");\r\n newapp.changed = false;\r\n if (props.setData)\r\n props.setData(newapp);\r\n setData(newapp); //this will remove changed property\r\n updateTextAreasHeight();\r\n }\r\n\r\n });\r\n\r\n }\r\n });\r\n }\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n appData[target.name] = value;\r\n\r\n if (target.name == \"mahalle\") {\r\n setData({ ...appData })\r\n if (document.getElementById(\"Ada\") != null)\r\n document.getElementById(\"Ada\").value = \"\";\r\n \r\n fetchAdaList(appData.mevki, value);\r\n }\r\n if (target.name == \"mevki\") {\r\n if (document.getElementById(\"Ada\") != null)\r\n document.getElementById(\"Ada\").value = \"\";\r\n //document.getElementById(\"Mahalle\").innerHTML = \"\";\r\n setData({ ...appData })\r\n fetchMahalleList(value);\r\n }\r\n appData.changed = true;\r\n\r\n\r\n }\r\n\r\n\r\n const handleDynamicChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n appdynamicdata[target.name] = { id: target.id, \"value\": value, \"type\": target.type };\r\n appData.changed = true;\r\n }\r\n\r\n\r\n\r\n\r\n const isReadOnly = (k) => {\r\n\r\n if (isEmpty(k.role) == false && k.role.split(',').some(x => role.indexOf(\"#\" + x + \"#\") > -1) == false)\r\n return true;\r\n return false;\r\n\r\n }\r\n const isVisible = (k) => {\r\n if (k.gizli == true && role.indexOf(UserPermConstants.Gizli_Alanlari_Gorme) == -1)\r\n return false;\r\n if (isEmpty(k.basvuruTipi) == false && k.basvuruTipi.split(\",\").includes(appData.basvuruTipi)==false)\r\n return false;\r\n return true;\r\n }\r\n\r\n\r\n var dynamicFields = \"\";\r\n if (allDynamicFilds != null) {\r\n var appDynamicData = appData.appData != null ? JSON.parse(appData.appData) : [];\r\n\r\n dynamicFields =\r\n allDynamicFilds.map(k => isVisible(k) == false ? \"\" :\r\n <div className=\"col-12 col-md-4\">\r\n\r\n \r\n <label htmlFor={k.name} className=\"form-label mt-3\" dangerouslySetInnerHTML={{ __html: k.name +((k.reqired == true && zorunloBosBirakma) ? \"*\":\"\") }}></label><br />\r\n {k.type == \"select\" ?\r\n <select className=\"form-select form-select-sm selectpicker\" id={k.id} name={k.name} onChange={handleDynamicChange} disabled={isReadOnly(k)} required={k.reqired && zorunloBosBirakma}>\r\n <option value=\"\" selected={true} hidden></option>\r\n {k.initValue != null && k.initValue.split(\",\").map(rec =>\r\n <option value={rec} selected={appDynamicData[k.name] != null && appDynamicData[k.name].value == rec}>{rec}</option>)}\r\n </select> :\r\n k.type == \"select multiple\" ?\r\n <Multiselect className=\"p-0 form-control-sm bg-white\"\r\n disablePreSelectedValues={isReadOnly(k)}\r\n required={true}\r\n options={(isReadOnly(k) || isEmpty(k.initValue)) ? [] : k.initValue.split(\",\")}\r\n emptyRecordMsg=\"\"\r\n isObject={false}\r\n onSelect={(selectedList, changedItem) => {\r\n var clist = selectedList.join();\r\n appdynamicdata[k.name] = { id: k.id, \"value\": clist, \"type\": k.type };\r\n appData.changed = true;\r\n }}\r\n onRemove={(selectedList, changedItem) => {\r\n var clist = selectedList.join();\r\n appdynamicdata[k.name] = { id: k.id, \"value\": clist, \"type\": k.type };\r\n appData.changed = true;\r\n }}\r\n placeholder=\"\"\r\n selectedValues={(appdynamicdata[k.name] == null || isEmpty(appdynamicdata[k.name].value)) ? [] : appdynamicdata[k.name].value.split(\",\")}\r\n />\r\n :\r\n k.type == \"textarea\" ?\r\n <textarea onInput={(e) => { e.target.style.height = \"\"; e.target.style.height = e.target.scrollHeight + 2 + \"px\" }} readOnly={isReadOnly(k)} type={k.type} className={k.type != \"checkbox\" ? \"form-control form-control-sm \" : \"form-check-input\"}\r\n id={k.id} name={k.name} key={appData.updateCount} defaultValue={appDynamicData[k.name] != null ? appDynamicData[k.name].value : k.initValue}\r\n defaultChecked={appDynamicData[k.name] != null ? appDynamicData[k.name].value : \"\"} onChange={handleDynamicChange} required={k.reqired} disabled={isReadOnly(k)} required={k.reqired && zorunloBosBirakma}></textarea>\r\n :\r\n <input readOnly={isReadOnly(k)} type={k.type} className={k.type != \"checkbox\" ? \"form-control form-control-sm \" : \"form-check-input\"}\r\n id={k.id} name={k.name} key={appData.updateCount} defaultValue={appDynamicData[k.name] != null ? appDynamicData[k.name].value : k.initValue}\r\n defaultChecked={appDynamicData[k.name]!=null&&getBolean(appDynamicData[k.name].value)} onChange={handleDynamicChange} required={k.reqired} disabled={isReadOnly(k)} required={k.reqired && zorunloBosBirakma} />\r\n }\r\n </div>\r\n\r\n )\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n const getDuzeltmeKalanSure = () => {\r\n\r\n if (props.denetimlist == null || props.denetimlist.length == 0 || apptypeList == null)\r\n return null;\r\n var k = props.denetimlist.find(rec => rec.activeDenetim == rec.sira);\r\n var r = apptypeList.find(x => x.name == k.Name)\r\n if (r == null || r.duzeltmeDeadline == null || r.duzeltmeDeadline == \"\" || appData.sonDuzeltmeTalebiTarihi == null) return null;\r\n var d = Number(r.duzeltmeDeadline);\r\n var diffDays = d - calcBusinessDays(new Date(Date.now()), new Date(appData.sonDuzeltmeTalebiTarihi.split(\" \")[0]))\r\n var i = diffDays > d * 2 / 3 ? 0 : diffDays > d / 3 ? 1 : diffDays > 0 ? 2 : 3;\r\n\r\n return <div className={\"ms-2 ps-2 pe-2 text-center fw-bold \" + suretxt[i]} style={{ \"background-color\": surebg[i], \"border-radius\": 5 }}>Kalan Süre: {diffDays}</div>\r\n }\r\n\r\n\r\n const getDurumName = (i) => {\r\n var r = surecList.find(element => element.id == i);\r\n if (r == null) return \"\";\r\n return r.name;\r\n }\r\n const validateNumberAndForwardSlash = (event) => {\r\n var key = event.which;\r\n if (key >= 48 && key <= 57 || key == 47) {\r\n return true;\r\n } else {\r\n\r\n event.preventDefault()\r\n }\r\n }\r\n const validateSelection = (event) => {\r\n var val = event.target.value;\r\n if (AdaList.some(x => x.name == val) == false) {\r\n showErrorMessage(val + \" geçerli ada/parsel listesinde bulunmamaktadır.\");\r\n document.getElementById(\"Ada\").value = \"\";\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const checkEnlemBoylem = (event) => {\r\n\r\n if (appData.enlem == null || appData.enlem.length < 5 || appData.boylam == null || appData.boylam.length < 5) {\r\n showErrorMessage(\"BaÅŸvuru sırasında konum verisi girilmemiÅŸtir\");\r\n event.preventDefault()\r\n return false;\r\n }\r\n return true;\r\n\r\n }\r\n\r\n\r\n const chengeVekaletDurum = () => {\r\n appData.changed = true;\r\n if (appData.vekaletenBasvuru == true) {\r\n appData.vekaletenBasvuru = false;\r\n arsaSahibiTemp = [appData.arsaSahibi, appData.arsaSahibiTel, appData.arsaSahibiTC];\r\n\r\n appData.arsaSahibi = capitalizeWords(userData.name + \" \" + userData.family);\r\n appData.arsaSahibiTC = userData.tc;\r\n appData.arsaSahibiTel = userData.tel;\r\n document.getElementById(\"arsaSahibi\").disabled = true;\r\n document.getElementById(\"arsaSahibiTel\").disabled = true;\r\n document.getElementById(\"arsaSahibiTC\").disabled = true;\r\n document.getElementById(\"vekaletbuttondiv\").hidden = true;\r\n document.getElementById(\"vekilbilgileridiv\").hidden = true;\r\n\r\n document.getElementById(\"changevekaletbutton\").innerHTML = \" (Taşınmaz Sahibi) \";\r\n\r\n document.getElementById(\"vekilName\").reqired = false;\r\n document.getElementById(\"vekilTC\").reqired = false;\r\n document.getElementById(\"vekilTel\").reqired = false;\r\n }\r\n else {\r\n appData.vekilName = capitalizeWords(userData.name + \" \" + userData.family);\r\n appData.vekilTC = userData.tc;\r\n appData.vekilTel = userData.tel;;\r\n appData.vekaletenBasvuru = true;\r\n\r\n if (arsaSahibiTemp != null) {\r\n appData.arsaSahibi = arsaSahibiTemp[0];\r\n appData.arsaSahibiTC = arsaSahibiTemp[1];\r\n appData.arsaSahibiTel = arsaSahibiTemp[2];\r\n }\r\n else {\r\n appData.arsaSahibi = \"\";\r\n appData.arsaSahibiTC = \"\";\r\n appData.arsaSahibiTel = \"\";\r\n }\r\n\r\n\r\n document.getElementById(\"arsaSahibi\").disabled = true;\r\n document.getElementById(\"arsaSahibiTel\").disabled = true;\r\n document.getElementById(\"arsaSahibiTC\").disabled = true;\r\n document.getElementById(\"vekaletbuttondiv\").hidden = true;\r\n document.getElementById(\"vekilbilgileridiv\").hidden = true;\r\n document.getElementById(\"changevekaletbutton\").innerHTML = \" (Vekil) \";\r\n document.getElementById(\"arsaSahibi\").disabled = false;\r\n document.getElementById(\"arsaSahibiTel\").disabled = false;\r\n document.getElementById(\"arsaSahibiTC\").disabled = false;\r\n document.getElementById(\"vekaletbuttondiv\").hidden = false;\r\n document.getElementById(\"vekilbilgileridiv\").hidden = false;\r\n\r\n\r\n document.getElementById(\"vekilName\").reqired = zorunloBosBirakma;\r\n document.getElementById(\"vekilTC\").reqired = zorunloBosBirakma;\r\n document.getElementById(\"vekilTel\").reqired = zorunloBosBirakma;\r\n\r\n document.getElementById(\"vekilName\").value = capitalizeWords(userData.name + \" \" + userData.family);\r\n document.getElementById(\"vekilTC\").value = userData.tc;\r\n document.getElementById(\"vekilTel\").value = userData.tel;\r\n\r\n\r\n }\r\n document.getElementById(\"arsaSahibi\").value = appData.arsaSahibi;\r\n document.getElementById(\"arsaSahibiTel\").value = appData.arsaSahibiTel;\r\n document.getElementById(\"arsaSahibiTC\").value = appData.arsaSahibiTC;\r\n\r\n }\r\n\r\n\r\n\r\n if (surecList == null) {\r\n return <div className=\"row align-items-center justify-content-center\" >\r\n <div className=\"col-12 text-center\">\r\n <div className=\"spinner-border \" ></div>\r\n </div>\r\n </div>\r\n }\r\n\r\n const updateTextAreasHeight = (event) => {\r\n var textareas = document.getElementsByTagName(\"textarea\");\r\n if (textareas != null)\r\n for (let i = 0; i < textareas.length; i++) {\r\n textareas[i].style.height = \"\"; textareas[i].style.height = textareas[i].scrollHeight + 2 + \"px\"\r\n }\r\n\r\n }\r\n\r\n const SendFiles = (event) => {\r\n document.getElementById(\"fileuploadsp\").hidden = false;\r\n var selectedFile = { file: event.target.files[0] }\r\n var formData = new FormData();\r\n formData.append(\"file\", selectedFile.file);\r\n formData.append(\"caption\", selectedFile.file.name);\r\n formData.append(\"appid\", appData.id);\r\n axios.post(\r\n \"submitbasvuruvekaletfile\",\r\n formData,\r\n {\r\n headers: {\r\n \"Content-type\": \"multipart/form-data\",\r\n },\r\n }\r\n ).then(res => {\r\n document.getElementById(\"fileuploadsp\").hidden = true;\r\n document.getElementById(\"fileuploadsp\").hidden = true;\r\n var locModal = document.getElementById('myModal');\r\n locModal.style.display = \"none\";\r\n locModal.classList.add(\"hide\");\r\n //getappdata(appData.id, setData);\r\n setData({ ...appData, vekaletDosyaname: selectedFile.file.name })\r\n\r\n })\r\n .catch(err => { showErrorMessage(err); })\r\n }\r\n\r\n\r\n const handleSelectedFile = (event, filetyp) => {\r\n if (event.target.files[0] != null) {\r\n SendFiles([{ file: event.target.files[0] }]);\r\n }\r\n }\r\n\r\n\r\n\r\n updateTextAreasHeight();\r\n\r\n\r\n var googlemap = <GMapLatLang appData={appData} changeComponent={props.changeComponent} polygon={mahalleCoordinates} />\r\n\r\n return <div><form action=\"submitapplication\" method=\"POST\" onSubmit={onSubmit} className=\"m-0 p-0 mt-1\" key={appData}>\r\n\r\n\r\n < div className=\"bg-white rounded-3 pb-4 border-bottom \" >\r\n < div className=\"row align-items-center justify-content-center border-bottom\" >\r\n <div className=\"col-11 mt-2 text-center pb-2 mb-3 \">\r\n <span className=\"text-muted text-nowrap\">BaÅŸvuru Durumu: </span>\r\n <span className=\"text-info fw-bold rounded p-1 ps-3 pe-3 text-nowrap d-block d-md-inline\" style={{\r\n \"background-color\": \"#c9f7f5\", \"white-space\": \"pre\"\r\n }}>{getDurumName(appData.basvuruDurumu)} </span>\r\n {appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Ucret_Bekleniyor &&\r\n <span><span className=\"text-danger text-nowrap ms-1\"> ( {appData.ucret} TL {globalData != null && isEmpty(globalData.paymentLink) == false && <a href={globalData.paymentLink} target=\"_blank\" className=\"text-decoration-none align-middle text-primary\" >Ödeme Yap</a>}\r\n {harcFileList.length > 0 && (role.indexOf(UserPermConstants.HARC_DOSYALARI) > -1 || role.indexOf(UserPermConstants.Kontrolor_Dosyasi_Yukleme)) && <a href={\"/getharcfile?id=\" + harcFileList[0].id} className=\"text-decoration-none align-middle ms-2\" >Harç Dosyası</a>} )\r\n</span>\r\n \r\n </span>\r\n }\r\n {appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Taslak &&\r\n <span className=\"text-info fw-bold\">( BaÅŸvuru Henüz Gönderilmedi )</span>\r\n }\r\n\r\n </div>\r\n <div className=\"col-1 text-end\">\r\n <a href=\"/#\" onClick={() => { getappdata(appData.id, setData); props.refreshParent(); }} className=\"text-decoration-none\" ><i className=\"fa fa-refresh\" style={{ \"font-size\": \"18px\" }}></i></a>\r\n </div>\r\n\r\n </div >\r\n\r\n <div className=\"row pb-2 border-bottom mt-4\" >\r\n <div className=\"col-12 col-md-1 text-center\">\r\n <img src={require('../Header/logo2.png').default} className=\"w-100\" />\r\n\r\n\r\n </div>\r\n <div className=\"col-12 col-md-6 \">\r\n <h5> <b>{(appType.adaAktif == true || isEmpty(appData.ada) == false) ? appData.ada + \"-\" + appData.arsaSahibi : appData.basvuruSahibi}</b></h5>\r\n <div className=\"text-muted fw-bold mb-2\">Evrak Numarası: {appData.id}</div>\r\n {/*<i class=\"fa fa-map-marker text-muted me-1\" ></i> <a onClick={checkEnlemBoylem} target=\"_blank\" href={\"https://imar.menderes.bel.tr/Service/\" + toUpperCaseTurkce(appData.mahalle + \"/\" + appData.ada)} className=\"fw-bold text-decoration-none pt-0 me-4\" >CBS </a>*/}\r\n {/*<i class=\"fa fa-map-marker text-muted me-1\" ></i> <a onClick={checkEnlemBoylem} target=\"_blank\" href={\"https://www.google.com/maps/@\" + appData.enlem + \",\" + appData.boylam + \",18z\"} className=\"fw-bold text-decoration-none pt-0 me-4\"> Google Map </a>*/}\r\n <i class=\"fa fa-map-marker text-muted \" ></i> <button key={mahalleCoordinates == null ? 1 : mahalleCoordinates.length} onClick={() => props.changeComponent(googlemap)} className=\"btn btn-link fw-bold ps-0 text-decoration-none pt-0 me-2\"> Google Map </button>\r\n <i class=\"fa fa-map-marker text-muted \" ></i> <a onClick={checkEnlemBoylem} target=\"_blank\" href={\"https://parselsorgu.tkgm.gov.tr/#ara/cografi/\" + appData.enlem + \"/\" + appData.boylam} className=\"text-decoration-none pt-0 fw-bold me-2\">TKGM </a>\r\n \r\n {role.indexOf(UserPermConstants.Kalan_Sure_Gorme) != -1 && <div><div className=\"text-muted pt-2 mt-2 d-inline-flex\" >{getDenetimSure(kontroller)}</div></div>}\r\n {appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Duzeltme_Bekleniyor && <div><div className=\"text-info pt-2 mt-2 d-inline-flex fw-bold\" >Düzeltme Talep Tarihi : {(appData.sonDuzeltmeTalebiTarihi)} {getDuzeltmeKalanSure()}</div></div>}\r\n <div className=\"text-muted pt-2 fw-bold\" id=\"headlastnote\"></div>\r\n </div>\r\n <div className=\"col-12 col-md-5\">\r\n {/*<div className=\"row\">*/}\r\n {/* <div className=\"col-12 col-md-4 rounded\" >Kontrolör</div>*/}\r\n {/* <div className=\"col-12 col-md-8 rounded \" >*/}\r\n {/* {kontroller != null ? <UserLabel user={{ userName: kontroller.userName }} picSize={28} /> :*/}\r\n {/* getDurumName(appData.basvuruDurumu)*/}\r\n {/* }*/}\r\n\r\n {/* </div>*/}\r\n {/*</div>*/}\r\n <div className=\"row mt-2\">\r\n <div className=\"col-12 col-md-4 rounded\" >BaÅŸvuru</div>\r\n <div className=\"col-12 col-md-8 rounded \" ><span className=\"p-1 ps-3 pe-3 rounded-3 text-center text-success fw-bold\" style={{ \"background-color\": \"#d6ffe0\" }}>{appData.basvuruTarihi} </span></div>\r\n </div>\r\n <div className=\"row mt-2\">\r\n <div className=\"col-12 col-md-4 rounded\" >Kabul</div>\r\n <div className=\"col-12 col-md-8 rounded \" ><span className=\"p-1 ps-3 pe-3 rounded-3 text-center text-primary fw-bold\" style={{ \"background-color\": \"#e1f0ff\" }}>{appData.kabulEdilmeTarihi} </span></div>\r\n </div>\r\n <div className=\"row mt-2\">\r\n <div className=\"col-12 col-md-4 rounded\" >Tamamlanma</div>\r\n <div className=\"col-12 col-md-8 rounded \" ><span className=\"p-1 ps-3 pe-3 rounded-3 text-center text-danger fw-bold\" style={{ \"background-color\": \"#ffe2e5\" }}>{appData.surecTamamlanmaTarihi} </span></div>\r\n </div>\r\n <div className=\"row mt-2\">\r\n <div className=\"col-12 col-md-4 rounded\" >Paylaşılanlar</div>\r\n <div className=\"col-12 col-md-8 rounded \" ><SharedUsersPanel appData={appData} showCompact={true} /></div>\r\n </div>\r\n </div>\r\n </div>\r\n <fieldset disabled={disablesabitsorular} ref={ref}>\r\n <div className=\"row ms-4 me-4 mt-2 \">\r\n <div className=\"align-items-center justify-content-center \" >\r\n <div id=\"myscript\"></div>\r\n\r\n\r\n <div className=\"row mt-1\">\r\n <div className=\"col-12 col-md-4\">\r\n <label htmlFor=\"BasvuruDurumu\" className=\"form-label\">BaÅŸvuru Durumu</label>\r\n <input type=\"text\" disabled readOnly={true} className=\"form-control form-control-sm\" id=\"BasvuruDurumu\" placeholder=\"BasvuruDurumu\" name=\"BasvuruDurumu\" value={getDurumName(appData.basvuruDurumu)} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"col-12 col-md-4\">\r\n <label htmlFor=\"BaÅŸvuruTipi\" className=\"form-label\">BaÅŸvuru Tipi</label>\r\n <div >\r\n <input type=\"text\" disabled readOnly={true} className=\"form-control form-control-sm\" id=\"basvuruTipi\" placeholder=\"basvuruTipi\" name=\"basvuruTipi\" value={appData.basvuruTipi} onChange={handleInputChange} />\r\n\r\n {/*<select disabled readOnly={true} className=\"form-select form-select-sm\" defaultValue={appData.basvuruTipi} key={appData.basvuruTipi} name=\"basvuruTipi\" value={appData.basvuruTipi} onChange={handleInputChange} >*/}\r\n {/* */}{/*{props.apptypeList.map(a => <option value={a.name}>*/}\r\n {/* */}{/* {a.name}*/}\r\n {/* */}{/*</option>)}*/}\r\n {/*</select>*/}\r\n </div>\r\n </div>\r\n\r\n <div className=\"col-12 col-md-4\">\r\n\r\n <label htmlFor=\"basvuruYapan\" className=\"form-label\">\r\n BaÅŸvuru Yapan\r\n {isEmpty(appData.ada) == false &&\r\n <button type=\"button\" id=\"changevekaletbutton\" href=\"#\" onClick={() => {\r\n chengeVekaletDurum()\r\n var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"popover\"]'))\r\n var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {\r\n return new bootstrap.Popover(popoverTriggerEl)\r\n })\r\n }} className=\"btn btn-sm btn-link p-0 m-0 norder-0 text-decoration-none shadow-none\">\r\n {appData.vekaletenBasvuru == true ? \" (Vekil) \" : \" (Taşınmaz Sahibi)\"} </button>\r\n }\r\n\r\n\r\n <span className=\"\" id=\"vekaletbuttondiv\" href=\"#\" hidden={appData.vekaletenBasvuru != true}>\r\n - <a type=\"button\" onClick={() => {\r\n initModal();\r\n document.getElementById('myModal').style.display = \"block\";\r\n document.getElementById('myModal').classList.remove(\"hide\");\r\n\r\n }} className=\"text-decoration-none m-0 p-0\">Dosya</a>\r\n <button type=\"button\" className=\"btn btn-sm btn-secondary p-0 ps-1 pe-1 ms-2 fw-bold\" id=\"mypopover\" data-bs-trigger=\"focus\" data-bs-toggle=\"popover\" title=\"AÇIKLAMA\" data-bs-content=\"Taşınmaz sahibi adına baÅŸvuru yapabileceÄŸinizi gösteren belgedir. Bu belge, noter onaylı vekaletname olabileceÄŸi gibi Yapı Denetim BaÅŸvuruları ve Ä°mar Uygulamalarına yönelik baÅŸvurularda taşınmaz sahibi ile aranızda yaptığınız sözleÅŸme de olabilir.\">?</button>\r\n\r\n </span>\r\n\r\n </label>\r\n <input type=\"text\" disabled readOnly={true} className=\"form-control form-control-sm\" id=\"basvuruYapan\" value={appData.basvuruYapan} key={appData.basvuruYapan} placeholder=\"BaÅŸvuru Yapan\" name=\"basvuruYapan\" onChange={handleInputChange} required={zorunloBosBirakma} />\r\n\r\n </div>\r\n </div>\r\n\r\n {userData != null &&\r\n <div className=\"row mt-3\" id=\"vekilbilgileridiv\" hidden={appData.vekaletenBasvuru != true}>\r\n <div className=\"col-12 col-md-4\">\r\n\r\n <label className=\"form-label\">Vekil</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"vekilName\" name=\"vekilName\" disabled={role.indexOf(UserPermConstants.Basvuru_Vekili_Update) == -1} defaultValue={capitalizeWords(appData.vekilName)} onChange={handleInputChange} />\r\n\r\n </div>\r\n <div className=\"col-12 col-md-4\">\r\n <label className=\"form-label\">Vekil Telefon Numarası</label>\r\n <input type=\"tel\" className=\"form-control form-control-sm\" id=\"vekilTel\" name=\"vekilTel\" disabled={role.indexOf(UserPermConstants.Basvuru_Vekili_Update) == -1} defaultValue={appData.vekilTel} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"col-12 col-md-4\">\r\n\r\n <label className=\"form-label\">Vekil T.C. </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"vekilTC\" name=\"vekilTC\" disabled={role.indexOf(UserPermConstants.Basvuru_Vekili_Update) == -1} defaultValue={appData.vekilTC} onChange={handleInputChange} />\r\n\r\n </div>\r\n\r\n </div>}\r\n\r\n\r\n {appType.tasinamazSahibiAktif == true && <div className=\"row mt-3\">\r\n <div className=\"col-12 col-md-4\">\r\n <label htmlFor=\"arsaSahibi\" className=\"form-label\">Taşınmaz Sahibi</label>\r\n <input disabled={appData.vekaletenBasvuru != true} type=\"text\" className=\"form-control form-control-sm\" id=\"arsaSahibi\" defaultValue={appData.arsaSahibi} key={appData.arsaSahibi} placeholder=\"Taşınmaz Sahibi\" name=\"arsaSahibi\" onChange={handleInputChange} required={appType.tasinamazSahibiZorunlu && zorunloBosBirakma} />\r\n </div>\r\n <div className=\"col-12 col-md-4\">\r\n <label htmlFor=\"arsaSahibiTel\" className=\"form-label\">Taşınmaz Sahibi Telefon Numarası</label>\r\n <input disabled={appData.vekaletenBasvuru != true} type=\"tel\" pattern=\"[5-5]{1}[0-9]{2}[0-9]{7}\" maxLength=\"10\" placeholder=\"5__ ___ ____\" className=\"form-control form-control-sm\" id=\"arsaSahibiTel\" defaultValue={appData.arsaSahibiTel} name=\"arsaSahibiTel\" onChange={handleInputChange} required={appType.tasinamazSahibiZorunlu && zorunloBosBirakma} key={appData.arsaSahibiTel} />\r\n\r\n </div>\r\n\r\n <div className=\"col-12 col-md-4\">\r\n <label htmlFor=\"basvuruYapan\" className=\"form-label\">Taşınmaz Sahibi T.C. </label>\r\n <input disabled={appData.vekaletenBasvuru != true} type=\"text\" pattern=\"[0-9]{1,20}\" maxLength=\"11\" className=\"form-control form-control-sm\" id=\"arsaSahibiTC\" defaultValue={appData.arsaSahibiTC} key={appData.arsaSahibiTC} placeholder=\"Taşınmaz Sahibi T.C.\" name=\"arsaSahibiTC\" onChange={handleInputChange} required={appType.tasinamazSahibiZorunlu && zorunloBosBirakma} />\r\n </div>\r\n </div>}\r\n\r\n\r\n <fieldset disabled={disableaddresarea} ref={ref}>\r\n\r\n <div className=\"row mt-3\">\r\n {appType.mevkiAktif == true && <div className=\"col-12 col-md-4\">\r\n <label htmlFor=\"Mahalle\" className=\"form-label\">Mevki</label>\r\n <input disabled={true} type=\"text\" className=\"form-control form-control-sm\" value={appData.mevki} key={appData.mevki} />\r\n\r\n {/*<select className=\"form-select form-select-sm\" id=\"Mevki\" name=\"mevki\" key={appData.mevki} placeholder=\"Mevki\" onChange={handleInputChange} required={appType.mevkiZorunlu} disabled value={appData.mevki}>*/}\r\n {/* {*/}\r\n {/* MevkiList.map(x => <option value={x.name} > {x.name}</option>)*/}\r\n {/* }*/}\r\n\r\n {/*</select>*/}\r\n </div>}\r\n {appType.mahalleAktif == true && <div className=\"col-12 col-md-4\">\r\n <label htmlFor=\"Mahalle\" className=\"form-label\">Mahalle</label>\r\n <input disabled={true} type=\"text\" className=\"form-control form-control-sm\" value={appData.mahalle} key={appData.mahalle} />\r\n\r\n {/*<select className=\"form-select form-select-sm\" id=\"Mahalle\" name=\"mahalle\" key={appData.mahalle} placeholder=\"Mahalle\" onChange={handleInputChange} required={appType.mahalleZorunlu} disabled value={appData.mahalle}>*/}\r\n {/* <option value=\"\" ></option>*/}\r\n {/* {*/}\r\n {/* MahalleList.map(x => <option value={x.name} > {x.name}</option>)*/}\r\n {/* }*/}\r\n\r\n {/*</select>*/}\r\n </div>}\r\n {appType.adaAktif == true && <div className=\"col-12 col-md-4\">\r\n\r\n <label htmlFor=\"Ada\" className=\"form-label\">Ada/Parsel</label>\r\n <input autoComplete=\"true\" list=\"Adaparselistesi\" className=\"form-control form-control-sm\" key={appData.ada} id=\"Ada\" placeholder=\"Ada Parsel\" name=\"ada\" disabled defaultValue={appData.ada} key={appData.ada}\r\n onChange={(e) => { handleInputChange(e); var ada = AdaList.find(x => x.name == e.target.value); if (!isEmpty(ada)) fetchCoordinates(\"ADA:\" + ada.id) }} onKeyPress={validateNumberAndForwardSlash} onBlur={validateSelection} required={appType.adaZorunlu && zorunloBosBirakma} />\r\n <datalist id=\"Adaparselistesi\">fill by fetchsureclist</datalist>\r\n\r\n\r\n </div>}\r\n </div>\r\n\r\n <div className=\"row mt-3 pb-2\">\r\n {appType.idariMahalleAktif == true && <div className=\"col-12 col-md-4\" id=\"idarimahalleblock\">\r\n <label htmlFor=\"Mahalle\" className=\"form-label\">Idari Mahalle </label>\r\n <select className=\"form-select form-select-sm\" id=\"IdariMahalle\" name=\"idariMahalle\" placeholder=\"Ä°dari Mahalle\" onChange={handleInputChange} defaultValue={appData.idariMahalle} key={appData.idariMahalle} required={appType.idariMahalleZorunlu && zorunloBosBirakma} >\r\n <option selected> {appData.idariMahalle}</option>\r\n </select>\r\n </div>}\r\n\r\n {appType.sokakAktif == true && <div className=\"col-12 col-md-4\">\r\n <label htmlFor=\"Enlem\" className=\"form-label\">Sokak</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"Sokak\" placeholder=\"Sokak\" name=\"sokak\" onChange={handleInputChange} defaultValue={appData.sokak} key={appData.sokak} required={appType.sokakZorunlu && zorunloBosBirakma} />\r\n </div>}\r\n {appType.noAktif == true && <div className=\"col-12 col-md-4\">\r\n <label htmlFor=\"Boylam\" className=\"form-label\">No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"No\" placeholder=\"No\" name=\"no\" onChange={handleInputChange} defaultValue={appData.no} key={appData.no} required={appType.noZorunlu && zorunloBosBirakma} />\r\n </div>}\r\n\r\n </div>\r\n\r\n {!isEmpty(appData.ada) && !isEmpty(appData.mahalle) &&\r\n <div className=\"row mt-2 pb-2\">\r\n <div className=\"col-12 col-md-4\">\r\n <label htmlFor=\"Enlem\" className=\"form-label\">Enlem</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"Enlem\" placeholder=\"Enlem\" name=\"Enlem\" onChange={handleInputChange} defaultValue={appData.enlem} key={appData.enlem} required={false && zorunloBosBirakma} />\r\n </div>\r\n <div className=\"col-12 col-md-4\">\r\n <label htmlFor=\"Boylam\" className=\"form-label\">Boylam</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"Boylam\" placeholder=\"Boylam\" name=\"Boylam\" onChange={handleInputChange} defaultValue={appData.boylam} key={appData.boylam} required={false && zorunloBosBirakma} />\r\n </div>\r\n </div>}\r\n </fieldset>\r\n </div>\r\n </div>\r\n </fieldset>\r\n </div >\r\n\r\n\r\n <fieldset disabled={disabledinamiksorular}>\r\n\r\n <div className=\"bg-white rounded-3 mt-1\" >\r\n <div className=\"row \" >\r\n <div className=\"align-items-center justify-content-center \" >\r\n\r\n <div className=\"row mt-1 ms-4 me-4 pb-3 mb-3\">\r\n {dynamicFields}\r\n </div>\r\n\r\n {/*{fvisible(\"enlem\", sabitsorulistData, appData) && fvisible(\"boylam\", sabitsorulistData, appData) &&*/}\r\n {/* <div className=\"row mt-1 ms-4 me-4 pb-3 border-top\">*/}\r\n\r\n {/* <div className=\"col-12 pt-3 mt-3 rounded-3\" style={{ \"min-height\": \"350px\" }}>*/}\r\n {/* <GMapLatLang appData={appData} setLatLang={setLatLang} polygon={mahalleCoordinates} key={mahalleCoordinates == null ? 1 : mahalleCoordinates.length} />*/}\r\n {/* </div>*/}\r\n {/* </div>}*/}\r\n\r\n\r\n\r\n\r\n\r\n\r\n <div className=\"row mt-3 border-top pt-3\">\r\n\r\n {(appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Taslak\r\n || appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Duzeltme_Bekleniyor\r\n || appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Ucret_Bekleniyor\r\n || appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_GeriGonderildi\r\n || role.indexOf(UserPermConstants.Basvurudan_Sonra_Sabit_Editleme) > -1\r\n || role.indexOf(UserPermConstants.Basvurudan_Sonra_Dinamik_Editleme) > -1) &&\r\n <div className=\"col\">\r\n {appData.archived != true ?\r\n <button type=\"submit\" className=\"btn btn-sm btn-primary mb-2 rounded-3 \">Kaydet</button>\r\n : <span className=\"text-secondary fw-bold\">ArÅŸivlenen BaÅŸvuru Güncellenemez</span>}\r\n </div>\r\n }\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </fieldset>\r\n <div className=\"col text-end mt-3 p-0\">\r\n\r\n </div>\r\n\r\n </form>\r\n\r\n <div className=\"modal\" id=\"myModal\" >\r\n <div class=\"modal-dialog modal modal-dialog-centered \">\r\n <div class=\"modal-content\" >\r\n <div class=\"modal-body\" id=\"mymodalbody\" >\r\n\r\n <div className=\"row\">\r\n <div className=\"col-10\">\r\n\r\n <label for=\"formFile\" class=\"form-label\">Vekalet Dosyası Yukle</label>\r\n <br />\r\n <input class=\"form-control form-control-sm mt-2\" type=\"file\" accept=\"*.pdf\" id=\"formFile\" onChange={(e) => SendFiles(e)} />\r\n </div>\r\n\r\n <div className=\"col-2 text-end\">\r\n <div class=\"spinner-border spinner-border-sm\" hidden id=\"fileuploadsp\" ></div>\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n <div className=\"row mt-3\">\r\n <div className=\"col-12\">\r\n {appData.vekaletDosyaname != null && <a className=\"text-decoration-none\" href={\"/getbasvuruvekaletfile?appid=\" + appData.id} id=\"vekaletdosyaname\" download={appData.vekaletDosyaname}>{appData.vekaletDosyaname} </a>}\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"modal-footer\">\r\n\r\n\r\n <button type=\"button\" class=\"btn btn-danger\" id=\"downclosemodal\" data-bs-dismiss=\"modal\">Kapat</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n}\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { ajaxFail, showConfirmMessage, useGlobalState, sendpost, sendget, isEmpty, showErrorMessage } from '../GlobalState.js';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\n\r\nexport default function TarifeMappingList(props) {\r\n var postdata = {};\r\n const tarifeMapping = props.tarifeMapping;\r\n const tarifeCetveli = props.tarifeCetveli;\r\n var sorular = [];\r\n const [role, setRole] = useGlobalState('role');\r\n\r\n const [listData, setListData] = useState([]);\r\n const [mappedTarifeList, setMappedTarifeList] = useState([]);\r\n var changeComponent = props.changeComponent;\r\n useEffect(() => {\r\n fetchList();\r\n\r\n }, [])\r\n if (tarifeMapping.tarife == null)\r\n tarifeMapping.tarife = {}\r\n\r\n \r\n\r\n if (tarifeMapping.tarife!=null&& isEmpty(tarifeMapping.tarife.sorular) == false) {\r\n sorular = JSON.parse(tarifeMapping.tarife.sorular);\r\n if (sorular.map == null) {\r\n showErrorMessage(\"Sorular Listesi Hatalı \" + tarifeMapping.tarife.sorular);\r\n sorular = [];\r\n }\r\n }\r\n\r\n\r\n const fetchList = () => {\r\n sendget(\"tariferowlist?mappingid=\" + tarifeMapping.id, \"spinner1\", (response) => {\r\n response.json().then(value => {\r\n /*value.forEach(x => x.cevaplar = JSON.parse(x.data))\r\n\r\n if (isEmpty(tarifeMapping.tarife.formul)==false)\r\n for (var t of tarifeCetveli)\r\n if (tarifeMapping.tarife.formul.includes(t.name))\r\n value.forEach(x => x.cevaplar[t.name] = t.deger);*/\r\n setListData(value)\r\n })\r\n })\r\n }\r\n\r\n\r\n \r\n\r\n\r\n const tarifemappingsil = (rec) => {\r\n showConfirmMessage(rec.id + \" numaralı kayıt silinsin mı?\", \"Eklenen tüm alt kayıtlar da silinecek\", \"Evet\", \"Hayır\", () => {\r\n\r\n\r\n sendpost(\"removetarifemapping\", rec, \"spinner1\", (response) => {\r\n response.json().then(value => {\r\n props.setMappedTarifeList(value)\r\n })\r\n })\r\n })\r\n }\r\n\r\n const sil = (rec) => {\r\n showConfirmMessage(rec.id + \" numaralı kayıt silinsin mı?\", \"\", \"Evet\", \"Hayır\", () => {\r\n\r\n\r\n sendpost(\"removetariferow\", rec, \"spinner1\", (response) => {\r\n response.json().then(value => {\r\n setListData(value)\r\n })\r\n })\r\n })\r\n\r\n }\r\n\r\n\r\n\r\n const addNewTarifeRow = () => {\r\n\r\n var rec = { mappingid: tarifeMapping.id }\r\n\r\n for (var soru of sorular) {\r\n if (postdata[soru.name] == null || isEmpty(postdata[soru.name])) {\r\n if (!isEmpty(soru.options)) {\r\n postdata[soru.name] = soru.options;\r\n }\r\n else {\r\n showErrorMessage(soru.name + \" alanı boÅŸ olamaz\");\r\n return;\r\n }\r\n }\r\n }\r\n\r\n\r\n rec.data = JSON.stringify(postdata);\r\n\r\n sendpost(\"savetariferow\", rec, \"spinner1\", (response) => {\r\n response.json().then(value => {\r\n if (value.length == 1 && value[0].id < 0) {\r\n showErrorMessage(value[0].mapper);\r\n }\r\n else {\r\n setListData(value);\r\n var allSelectElements = document.querySelectorAll('select');\r\n allSelectElements.forEach(select => {\r\n select.selectedIndex = -1;\r\n });\r\n allSelectElements = document.querySelectorAll('input');\r\n allSelectElements.forEach(select => {\r\n select.value = \"\";\r\n for (var soru of sorular) {\r\n if (soru.name == select.name && !isEmpty(soru.options))\r\n select.value = soru.options;\r\n }\r\n });\r\n }\r\n })\r\n })\r\n\r\n\r\n }\r\n\r\n const formatWithDots = (numberString) => {\r\n return numberString.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value.trim();\r\n }\r\n\r\n var total = 0;\r\n listData.forEach(x => total += Number(x.result.replaceAll(\",\", \".\")));\r\n \r\n props.setTotal(\"T\" + tarifeMapping.id,total)\r\n\r\n\r\n return (\r\n <div className=\"border rounded border-light\">\r\n <div className=\"row\">\r\n <div className=\"col-9 fw-bold text-primary\">\r\n {tarifeMapping.id} - {tarifeMapping.tarife.name}\r\n <button hidden={role.indexOf(UserPermConstants.Tarife_Duzenleme) == -1} className=\"btn fw-bold btn-sm shadow-none ms-2 text-warning\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target={\"#formul\" + tarifeMapping.id} aria-expanded=\"false\" aria-controls={\"formul\" + tarifeMapping.id}>\r\n F\r\n </button>\r\n \r\n\r\n \r\n </div>\r\n <div className=\"col-1 text-end \">\r\n <span class=\"ms-1 spinner-border spinner-border-sm\" id=\"spinner1\" hidden></span>\r\n </div>\r\n <div className=\"col-2 text-end \">\r\n <button hidden={role.indexOf(UserPermConstants.Tarife_Duzenleme) == -1} onClick={() => tarifemappingsil(tarifeMapping)} className=\"btn btn-link btn-sm text-decoration-none text-danger shadow-none ps-0 text-end\">\r\n <i className=\"fa fa-trash\" style={{ \"font-size\": \"15px\" }}></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"col-12\">\r\n <div className=\"collapse\" id={\"formul\" + tarifeMapping.id}>\r\n ({tarifeMapping.tarife.formul})\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"row\" hidden={role.indexOf(UserPermConstants.Tarife_Duzenleme) == -1}>\r\n {sorular.map(soru => <div className=\"col-2\">\r\n {soru.name} {\r\n soru.tip == \"select\" ?\r\n <select className=\"form-select form-select-sm\" onChange={handleInputChange} name={soru.name}>\r\n <option ></option>\r\n {soru.options.split(\",\").map(x => <option value={x}>{x}</option>)}\r\n </select>\r\n : <input className=\"form-control form-control-sm\" type={soru.tip} name={soru.name} onChange={handleInputChange} defaultValue={isEmpty(soru.options) ? \"\" : soru.options }></input>\r\n }\r\n </div>)}\r\n <div className=\"col-2\">\r\n <br />\r\n <button onClick={addNewTarifeRow} className=\"btn btn-link btn-sm text-decoration-none shadow-none ps-0\">\r\n <i className=\"fa fa-plus-circle align-middle\" style={{ \"font-size\": \"25px\" }}></i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"\">\r\n {listData.map(apprec => <div className=\"row mt-2 border-top m-1 pt-1\">\r\n <div className=\"col-1 \">\r\n {apprec.id}\r\n \r\n </div>\r\n <div className=\"col-1 \">\r\n \r\n <button hidden={role.indexOf(UserPermConstants.Tarife_Duzenleme) == -1} className=\"btn p-0 fw-bold btn-sm shadow-none ms-2 text-warning\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target={\"#formulrow\" + apprec.id} aria-expanded=\"false\" aria-controls={\"#formulrow\" + apprec.id}>\r\n F\r\n </button>\r\n </div>\r\n <div className=\"col-2 \">\r\n {apprec.tarih}\r\n </div>\r\n {/*{Object.keys(apprec.cevaplar).map(key => */}\r\n {/* <div className=\"col-2\">*/}\r\n {/* {key} : {apprec.cevaplar[key] }*/}\r\n\r\n {/* </div>*/}\r\n {/*) }*/}\r\n <div className=\"col-6\">\r\n {apprec.data.replaceAll('\"', '').replaceAll(\",\", \" , \").replaceAll(\"{\", \"\").replaceAll(\"}\", \"\")}\r\n\r\n </div>\r\n <div className=\"col-2 text-end\">\r\n {formatWithDots(apprec.result + \"\")}\r\n <button onClick={() => sil(apprec)} hidden={ role.indexOf(UserPermConstants.Tarife_Duzenleme) == -1 }\r\n className=\"ms-2 p-0 btn btn-link btn-sm text-decoration-none text-danger shadow-none ps-0 text-end\">\r\n <i className=\"fa fa-trash\" style={{ \"font-size\": \"15px\" }}></i>\r\n </button>\r\n </div>\r\n\r\n \r\n <div className=\"col-12 collapse\" id={\"formulrow\" + apprec.id}>\r\n {apprec.formul}\r\n \r\n </div>\r\n </div>\r\n )}\r\n\r\n </div>\r\n <div className=\"text-success text-end fw-bold\">\r\n Toplam: {formatWithDots(total+\"\")} TL\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n );\r\n \r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { ajaxFail, showConfirmMessage, useGlobalState, sendpost, sendget, isEmpty, showErrorMessage } from '../GlobalState.js';\r\nimport TarifeMapping from './TarifeMapping.js';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nexport default function TarifeMappingList(props) {\r\n var postdata = {};\r\n const [role, setRole] = useGlobalState('role');\r\n const appData = props.appData;\r\n const [tarifeList, setTarifeList] = useState([]);\r\n const [tarifeCetveli, setTarifeCetveli] = useState([]);\r\n const [mappedTarifeList, setMappedTarifeList] = useState([]);\r\n var pageTotal = {}\r\n\r\n var changeComponent = props.changeComponent;\r\n useEffect(() => {\r\n\r\n fetchTarifeCetveliList();\r\n }, [])\r\n\r\n\r\n const formatWithDots = (numberString) => {\r\n return numberString.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\r\n }\r\n\r\n const setTotal = (c, t) => {\r\n pageTotal[c] = t;\r\n var total = 0;\r\n for (var i in pageTotal) {\r\n total += pageTotal[i];\r\n }\r\n document.getElementById(\"sayfatoplami\").innerHTML = \"Genel Toplam: \" + formatWithDots(total+\"\") + \" TL\"\r\n\r\n }\r\n\r\n\r\n\r\n mappedTarifeList.forEach(x => x.tarife = tarifeList.find(t => x.tarifeid == t.id));\r\n\r\n const fetchTarifeCetveliList = () => {\r\n sendget(\"tarifecetvelilist\", \"spinner1\", (response) => {\r\n response.json().then(value => {\r\n setTarifeCetveli(value)\r\n fetchList();\r\n })\r\n })\r\n }\r\n\r\n const fetchList = () => {\r\n sendget(\"tarifelist\", \"spinner1\", (response) => {\r\n response.json().then(value => {\r\n setTarifeList(value)\r\n fetchMappedTarifeList(value);\r\n })\r\n })\r\n }\r\n const fetchMappedTarifeList = (tarifelist) => {\r\n sendget(\"tarifemappinglist?appid=\" + appData.id, \"spinner1\", (response) => {\r\n response.json().then(value => {\r\n value.forEach(x => x.tarife = tarifelist.find(t => x.tarifeid == t.id));\r\n setMappedTarifeList(value)\r\n })\r\n })\r\n }\r\n\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n\r\n const sil = (rec) => {\r\n showConfirmMessage(rec.id + \" numaralı kayıt silinsin mı?\", \"\", \"Evet\", \"Hayır\", () => {\r\n\r\n\r\n sendpost(\"removetarife\", rec, \"spinner1\", (response) => {\r\n response.json().then(value => {\r\n setTarifeList(value)\r\n })\r\n })\r\n })\r\n\r\n }\r\n\r\n\r\n\r\n const addNewTarif = () => {\r\n var tarifeid = document.getElementById(\"tarifelist\").value;\r\n var tarife = tarifeList.find(x => x.id == tarifeid);\r\n if (tarife == null) {\r\n showErrorMessage(\"Tarife Bulunamadı \" + tarifeid);\r\n return;\r\n }\r\n var newmapping = { appid: appData.id, tarifeid: tarifeid }\r\n\r\n sendpost(\"savetarifemapping\", newmapping, \"spinner1\", (response) => {\r\n response.json().then(value => {\r\n if (value.length == 1 && value[0].id < 0) {\r\n showErrorMessage(value[0].mapper);\r\n }\r\n else {\r\n\r\n setMappedTarifeList(value)\r\n }\r\n\r\n })\r\n })\r\n\r\n\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value.trim();\r\n }\r\n\r\n return (\r\n <div className=\"border rounded border-light\">\r\n <div className=\"row\">\r\n <div className=\"col-7\">\r\n <h5>Tarifeler</h5>\r\n </div>\r\n <div className=\"col-1 text-end \">\r\n <span class=\"spinner-border spinner-border-sm\" id=\"spinner1\" hidden></span>\r\n </div>\r\n <div className=\"col-4 text-end \">\r\n <span class=\"text-primary fw-bold\" id=\"sayfatoplami\"></span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row border bg-light rounded-2 m-1 p-2 mb-3\" hidden={role.indexOf(UserPermConstants.Tarife_Duzenleme) == -1}>\r\n <div className=\"col-2\">\r\n Tarife Ekle\r\n </div>\r\n <div className=\"col-5\">\r\n <select className=\"form-select form-select-sm\" id=\"tarifelist\">\r\n\r\n {tarifeList.map(apprec =>\r\n <option value={apprec.id}>\r\n\r\n {apprec.name}\r\n </option>\r\n )}\r\n </select>\r\n </div>\r\n <div className=\"col-1\">\r\n <button onClick={addNewTarif} className=\"btn btn-link btn-sm text-decoration-none shadow-none ps-0\">\r\n <i className=\"fa fa-plus-circle align-middle\" style={{ \"font-size\": \"25px\" }}></i>\r\n </button>\r\n\r\n </div>\r\n </div>\r\n <fieldset disabled={role.indexOf(UserPermConstants.Tarife_Duzenleme) == -1 }>\r\n {mappedTarifeList.map(x =>\r\n <div className=\"mb-5 border rounded-3 p-1\">\r\n <TarifeMapping tarifeMapping={x} key={x.id} tarifeCetveli={tarifeCetveli} setTotal={setTotal} setMappedTarifeList={setMappedTarifeList} />\r\n </div>\r\n\r\n )}\r\n </fieldset>\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, removeTurkcLow, isEmpty } from '../GlobalState.js';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport $ from 'jquery';\r\n\r\nexport default function SablonHavalePanel(props) {\r\n\r\n const [appData, setData] = useState(props.appData);\r\n const [listData, setListData] = useState([]);\r\n const [denetimList, setDenetimList] = useState(props.denetimlist);\r\n const [kontrolorList, setKontrolorList] = useState([]);\r\n useEffect(() => {\r\n //fetchDenetimList();\r\n fetchKontrollers();\r\n fetchList();\r\n\r\n }, [])\r\n\r\n\r\n //const fetchDenetimList = () => {\r\n // fetch(\"denetimlist\", {\r\n // method: 'GET',\r\n // headers: {\r\n // 'Accept': 'application/json',\r\n // 'Content-Type': 'application/json'\r\n // }\r\n // }).then(async response => {\r\n // if (!response.ok) {\r\n // ajaxFail(response)\r\n // }\r\n // else {\r\n // response.json().then(value => {\r\n // setDenetimList(value);\r\n // })\r\n // }\r\n // });\r\n //}\r\n\r\n\r\n const fetchKontrollers = () => {\r\n fetch(\"userswithperm\", {\r\n method: 'POST',\r\n headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' },\r\n body: JSON.stringify(\"\")\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setKontrolorList(data)\r\n });\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n const fetchList = () => {\r\n\r\n fetch(\"havalesablonlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n var v = value.filter(x => isEmpty(x.basvuruTipi) || x.basvuruTipi.includes(appData.basvuruTipi));\r\n setListData(v);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n const apply = (rec) => {\r\n rec.id = appData.id;\r\n var spinner = document.getElementById(\"spinner\");\r\n if (spinner != null)\r\n spinner.hidden = false;\r\n\r\n fetch(\"applyhavalesablon\", {\r\n method: 'POST',\r\n headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (spinner != null)\r\n spinner.hidden = true;\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n props.fetchMapping();\r\n }\r\n });\r\n }\r\n\r\n const getMappingName = (rec) => {\r\n var username = rec.split(\"=\")[0].replace(\"&\", \"\");\r\n var k = kontrolorList.find(x => x.userName == username);\r\n if (k == null) {\r\n return username + \" kullanıcısı bulunamadı !\";\r\n }\r\n var d = denetimList.find(x => x.id == rec.split(\"=\")[1]);\r\n return k.name + \" \" + k.family + \"(\" + (d == null ? \"\" : d.name) + \") \"\r\n\r\n }\r\n\r\n const gnerateHavaleMappingNames = (rec) => {\r\n if (denetimList.length > 0 && kontrolorList.length > 0) {\r\n var mapping = rec.split(\",\");\r\n var ret = mapping.map(x => getMappingName(x));\r\n var sire = -1;\r\n for (var i = 0; i < ret.length; i++) {\r\n if (mapping[i].includes(\"&\") == false)\r\n sire++;\r\n ret[i] = sire + \": \" + ret[i]\r\n\r\n }\r\n return ret.join(\" , \")\r\n\r\n }\r\n return rec;\r\n }\r\n\r\n const filterColumn = (event) => {\r\n const target = event.target;\r\n var c = Number(target.getAttribute('name'));\r\n var value = target.value;\r\n\r\n $(\"#myTable tr\").filter(function () {\r\n var td = $(this).children().eq(c);\r\n if (isEmpty(value) == false) {\r\n td.attr('style', 'background: #fff8dd !important');\r\n var t1 = removeTurkcLow(td.text());\r\n var t2 = removeTurkcLow(value);\r\n if (t1.indexOf(t2) == -1)\r\n return $(this).toggle(false);\r\n }\r\n else\r\n td.removeAttr('style');\r\n return $(this).toggle(true);\r\n });\r\n }\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n\r\n <table className='table table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead>\r\n <th width=\"5%\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"\" name=\"0\" onChange={filterColumn} />\r\n </th>\r\n <th width=\"10%\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"\" name=\"1\" onChange={filterColumn} />\r\n </th>\r\n <th width=\"75%\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"\" name=\"2\" onChange={filterColumn} />\r\n </th>\r\n <th width=\"10%\">\r\n <div id=\"spinner\" hidden={true} className=\"spinner-border spinner-border-sm text-muted\" ></div>\r\n </th>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n\r\n\r\n {tabledata.map(apprec =>\r\n <tr key={apprec.id}>\r\n <td width=\"5%\">{apprec.id}</td>\r\n <td width=\"20%\">\r\n {apprec.sablonName}\r\n </td>\r\n {/*<td>*/}\r\n {/* {apprec.basvuruTipi}*/}\r\n {/*</td>*/}\r\n <td width=\"60%\">\r\n {gnerateHavaleMappingNames(apprec.mapping)}\r\n </td>\r\n\r\n <td className=\"text-end\">\r\n <button onClick={() => apply(apprec)} className=\"btn btn-primary btn-sm text-decoration-none me-1\">Uygula</button>\r\n </td>\r\n </tr>\r\n )}\r\n\r\n </tbody>\r\n </table>\r\n\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n var listTable = \"\";\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n else\r\n listTable = renderTable([]);\r\n\r\n return (\r\n <div className=\" mt-5 pt-3\">\r\n \r\n <button className=\"btn btn-primary btn-sm mb-1 shadow-none\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#collapseExample\" aria-expanded=\"false\" aria-controls=\"collapseExample\">\r\n Havale Åablonları\r\n </button>\r\n <div className=\"row border-top pt-1 collapse\" id=\"collapseExample\">\r\n <div className=\"col-12 table-responsive mainpagescroll\">\r\n {listTable}\r\n </div>\r\n </div>\r\n </div >\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport UserStatistics from '../User/UserStatistics.js';\r\nimport $ from 'jquery';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport ApplicationList from \"../Application/ApplicationList.js\";\r\nimport UserLabel from \"../User/UserLabel.js\";\r\nimport { ajaxFail, isEmpty, getDenetimSure, showConfirmMessage, showErrorMessage, sendpost } from '../GlobalState.js';\r\nimport SablonHavalePanel from './SablonHavalePanel.js';\r\n\r\nexport default function HavaleYetkiliciPanel(props) {\r\n const [appData, setData] = useState(props.rec);\r\n\r\n\r\n\r\n var mappingdata = { userName: \"\", appID: appData.id };\r\n\r\n const [counter, RefreshCounter] = useState(0);\r\n const [basvuruTipiAdimlari, setBasvuruTipiAdimlari] = useState([]);\r\n const [userwork, setUserWork] = useState({});\r\n const [userwithperms, setUserwithperms] = useState([]);\r\n const [relatedControlors, setRelatedControlors] = useState(null);\r\n const [denetimlist, setDenetimlist] = useState([]);\r\n const [mappedusers, setMappedUsers] = useState(null);\r\n\r\n const surebg = [\"#c9f7f5\", \"#e1f0ff\", \"#fff4de\", \"#ffe2e5\"]\r\n const suretxt = [\"text-info\", \"text-primary\", \"text-warning\", \"text-danger\"]\r\n var minSira = 1000, maxSira = 0;\r\n\r\n useEffect(() => {\r\n getWorkLoadList();\r\n \r\n }, [])\r\n\r\n\r\n\r\n if (mappedusers != null && mappedusers.length > 0) {\r\n\r\n mappedusers.filter(x => isEmpty(x.Completed) == true).forEach(x => {\r\n if (x.sira == null) {\r\n minSira = 0;\r\n x.sira = 0;\r\n }\r\n if (x.sira < minSira) {\r\n minSira = x.sira\r\n }\r\n if (x.sira > maxSira) {\r\n maxSira = x.sira\r\n }\r\n })\r\n\r\n var maxCount = mappedusers.filter(x => x.sira == maxSira);\r\n var minCount = mappedusers.filter(x => x.sira == minSira);\r\n if (maxCount != null && maxCount.length > 1) {\r\n maxSira++;\r\n }\r\n if (minSira > 0 && minCount != null && minCount.length > 1) {\r\n minSira--;\r\n }\r\n\r\n }\r\n\r\n const getWorkLoadList = () => {\r\n fetch(\"getuserworkloads\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n this.setState({ status: response.statusText })\r\n }\r\n else {\r\n response.json().then(async data => {\r\n var userstat = {}\r\n for (var i = 0; i < data.length; i++) {\r\n userstat[data[i].userName] = { \"duzeltme\": 0, \"kontrol\": 0 }\r\n }\r\n for (var i = 0; i < data.length; i++) {\r\n if (data[i].denetimID == UserPermConstants.Basvuru_Durumu_Duzeltme_Bekleniyor)\r\n userstat[data[i].userName].duzeltme++;\r\n else if (data[i].denetimID == UserPermConstants.Basvuru_Durumu_Kontrol_Ediliyor || data[i].denetimID == UserPermConstants.Basvuru_Durumu_Kontrol_Sirada_Bekliyor)\r\n userstat[data[i].userName].kontrol++;\r\n }\r\n setUserWork(userstat);\r\n fetchDenetimList();\r\n \r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n \r\n const fetchMappedUsersToRelatedApps = (e) => {\r\n if (props.relatedapps == null || props.relatedapps.length == 0 || relatedControlors != null) {\r\n setRelatedControlors([]);\r\n return;\r\n }\r\n \r\n var rids = props.relatedapps.filter(x => x.id != appData.id).map(x => x.id);\r\n if (rids.length == 0) {\r\n setRelatedControlors([]);\r\n return;\r\n }\r\n fetch(\"mappeduserstoproject\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rids.join(','))\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n data = JSON.parse(data);\r\n setRelatedControlors(data);\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const fetchMappedUsers = (e) => {\r\n document.getElementById(\"yetkiliuserlist\").selectedIndex = -1;\r\n fetch(\"mappeduserstoproject\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body:appData.id+\"\"\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n data = JSON.parse(data);\r\n setMappedUsers(data);\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n const gericek = (id) => {\r\n const func1 = () => {\r\n fetch(\"removeuserprojectmapping\", {\r\n method: 'POST',\r\n headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n data = JSON.parse(data);\r\n setMappedUsers(data)\r\n props.refreshParent();\r\n document.getElementById(\"message\").value = \"\";\r\n mappingdata = { userName: \"\", denetimId: \"\" }\r\n document.getElementById(\"mission\").selectedIndex = -1;\r\n document.getElementById(\"yetkiliuserlist\").selectedIndex = -1;\r\n });\r\n }\r\n });\r\n }\r\n \r\n if (mappedusers.length == 1)\r\n showConfirmMessage(\"BaÅŸvuruyu geri çekmek istediÄŸinize emin misiniz?\", \"\", \"Evet\", \"Hayır\", func1);\r\n else\r\n func1();\r\n\r\n };\r\n\r\n\r\n const fetchUsersWithPermision = (id) => {\r\n fetch(\"userswithperm\", {\r\n method: 'POST',\r\n headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setUserwithperms(data)\r\n if (document.getElementById(\"yetkiliuserlist\"))\r\n document.getElementById(\"yetkiliuserlist\").selectedIndex = -1;\r\n });\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n const updateuserprojectmapping = (id) => {\r\n fetch(\"updateuserprojectmapping\", {\r\n method: 'POST',\r\n headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n data = JSON.parse(data);\r\n setMappedUsers(data);\r\n props.refreshParent();\r\n });\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n\r\n const mapusertoproject = (e) => {\r\n\r\n e.preventDefault();\r\n if (isEmpty(mappingdata.denetimId) || isEmpty(mappingdata.userName)) {\r\n showErrorMessage(\"BaÅŸvuru Tipi veya Kontrolör Hatalı\");\r\n return;\r\n }\r\n var message = document.getElementById(\"message\").value;\r\n if (isEmpty(message) == false) {\r\n mappingdata.message = message;\r\n }\r\n\r\n fetch(\"mapusertoproject\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json', 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(mappingdata)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n if (value == null) {\r\n showErrorMessage(\"Yetkisiz Ä°ÅŸlem !\")\r\n return;\r\n }\r\n if (value.id == -1) {\r\n showErrorMessage(value.appData)\r\n return;\r\n }\r\n setData(value);\r\n document.getElementById(\"message\").value = \"\";\r\n mappingdata = { userName: \"\", appID: appData.id }\r\n //document.getElementById(\"mission\").selectedIndex = -1;\r\n document.getElementById(\"yetkiliuserlist\").selectedIndex = -1;\r\n props.refreshParent();\r\n fetchMappedUsers();\r\n });\r\n }\r\n });\r\n }\r\n\r\n const getbasvurutipiadiımlari = (id) => {\r\n sendpost(\"basvurutipisadimlist\", id, \"\", (response) => {\r\n response.json().then(value => {\r\n setBasvuruTipiAdimlari(value);\r\n\r\n })\r\n\r\n })\r\n }\r\n\r\n const fetchDenetimList = () => {\r\n fetch(\"denetimlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n\r\n var basvurutipiid = value.find(x => x.name == appData.basvuruTipi).id;\r\n getbasvurutipiadiımlari(basvurutipiid);\r\n\r\n setDenetimlist(value.filter(x => x.isadimi == true))\r\n\r\n\r\n fetchMappedUsers();\r\n fetchUsersWithPermision(document.getElementById(\"mission\").value)\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const saveApp = () => {\r\n fetch(\"saveapplication\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(appData)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else\r\n props.changeComponent(<ApplicationList changeComponent={props.changeComponent} />)\r\n });\r\n\r\n }\r\n const appret = () => {\r\n showConfirmMessage(\"BaÅŸvuruyu müellife iade etmek istediÄŸinizden emin misiniz?\",\"\", \"Evet Iade Et\", \"Hayır Geri Dön\", () => {\r\n setTimeout(() => {\r\n var sebeb = window.prompt(\"Ä°ade etme nedenini açıklayınız\");\r\n if (isEmpty(sebeb)) {\r\n showErrorMessage(\"Ä°ade nedeni yazılmalıdır.\")\r\n return;\r\n }\r\n appData.iadeNotu = sebeb;\r\n appData.basvuruDurumu = UserPermConstants.Basvuru_Durumu_Iade_Edildi;\r\n saveApp();\r\n\r\n\r\n }, 100)\r\n });\r\n\r\n\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked.toString() : target.value;\r\n mappingdata[target.name] = value;\r\n mappingdata[\"denetimId\"] = document.getElementById(\"mission\").value;\r\n }\r\n\r\n const handleGorevInputChange = (event) => {\r\n if (event.target.value != -1) {\r\n document.getElementById(\"yetkiliuserlist\").disabled = false;\r\n fetchUsersWithPermision(event.target.value);\r\n }\r\n else\r\n document.getElementById(\"yetkiliuserlist\").disabled = true;\r\n }\r\n\r\n\r\n\r\n const refreshPanel = () => {\r\n window.setTimeout(() => { RefreshCounter(counter + 1) }, 1000)\r\n }\r\n\r\n\r\n const getUserName = (username) => {\r\n\r\n var r = mappedusers.find(x => x.userName == username);\r\n if (r == null)\r\n return username;\r\n return r.uname + \" \" + r.Family;\r\n\r\n }\r\n\r\n\r\n var selectdf = -1;\r\n var dt = denetimlist.find(x => x.name == appData.basvuruTipi);\r\n if (dt != null)\r\n selectdf = dt.id;\r\n\r\n\r\n\r\n return (<div>\r\n <div className=\"row\">\r\n <div className=\"col-9 pb-4\">\r\n <h5 className=\"text-primary\">Havale Paneli</h5 >\r\n {window.innerWidth < 680 && <div>\r\n <span className=\"text-muted\"> BaÅŸvuru Tipi:</span> <span className=\"text-muted\"> {appData.basvuruTipi}</span>\r\n </div>}\r\n </div>\r\n <div className=\"col-3 text-end\">\r\n <button className=\"btn btn-danger me-2 btn-sm\" onClick={appret}>Ä°ade Et</button>\r\n </div >\r\n </div>\r\n \r\n <fieldset disabled={appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Havale_Bekliyor &&\r\n appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Kontrol_Ediliyor &&\r\n appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Kontrol_Sirada_Bekliyor &&\r\n appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Kontrol_Tamamlandi\r\n }>\r\n <div>\r\n \r\n <div className=\"row \" id=\"havalepanel\">\r\n <div className=\"p-2 ms-2 mb-1\" >\r\n <form action=\"submitapplication\" method=\"POST\" onSubmit={mapusertoproject}>\r\n <div class=\"row\">\r\n <div class=\"col-md-3 col-6\"><label htmlFor=\"mission\" className=\"form-label\">Ä°ÅŸ Adimi</label> </div>\r\n <div class=\"col-md-3 col-6\"> <label htmlFor=\"yetkiliuserlist\" className=\"form-label\">Kontrolör</label> </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"col-md-3 col-6 mt-1\">\r\n <div className=\"form-group\">\r\n <select className=\"form-select form-select-sm\" id=\"mission\" name=\"denetimId\" onChange={handleGorevInputChange} >\r\n <option value={-1} > Seçiniz </option>\r\n {denetimlist.filter(x => basvuruTipiAdimlari.length == 0 || basvuruTipiAdimlari.some(b => b.isAdimi == x.id)).map(rec => <option value={rec.id} > {rec.name} </option>)}\r\n </select>\r\n </div>\r\n </div>\r\n <div className=\"col-md-3 col-6 mt-1\">\r\n <div className=\"form-group flex-wrap\">\r\n\r\n <select disabled={denetimlist.length == 0 || userwithperms.length == 0} className=\"form-select form-select-sm\" id=\"yetkiliuserlist\" name=\"userName\" onChange={handleInputChange} >\r\n {userwithperms.map(rec => <option value={rec.userName}> {rec.name + \" \" + rec.family + \" (\" + (userwork[rec.userName] != null ? userwork[rec.userName].kontrol + \" - \" + userwork[rec.userName].duzeltme : 0) + \")\"} </option>)}\r\n </select>\r\n </div>\r\n </div>\r\n <div className=\"col-md-3 col-12 mt-1\">\r\n <div className=\"form-group\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"message\" placeholder=\"Havale Notu\" name=\"message\" />\r\n </div>\r\n </div>\r\n <div class=\"col-md-3 col-12\">\r\n <div class=\"btn-group flex-wrap\" role=\"group\">\r\n <button type=\"submit\" className=\"btn btn-primary btn-sm m-1\">Havale Et</button>\r\n <button type=\"button\" class=\"m-1 btn btn-primary btn-sm\" onClick={refreshPanel} data-bs-toggle=\"modal\" data-bs-target=\"#myModal\">\r\n Ä°statistik\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </form>\r\n </div>\r\n\r\n\r\n {mappedusers == null ? <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div> :\r\n\r\n\r\n <div className=\"col-12 mainpagescroll table-responsive \">\r\n {mappedusers.length > 0 && <table className='table table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead>\r\n <tr >\r\n\r\n <td> </td>\r\n <th className='text-start'>Sıra</th>\r\n <th className='text-start'>Kontrolör</th>\r\n <th className='text-start'>Ä°ÅŸ Adımı</th>\r\n <th className='text-start'>Havale </th>\r\n <th className='text-start'>Kontrole BaÅŸlama</th>\r\n <th className='text-start'>Kontrolü Bitirme</th>\r\n <th className='text-start'>Kalan Süre</th>\r\n <th className='text-start'></th>\r\n\r\n </tr>\r\n </thead>\r\n <tbody >\r\n {mappedusers.map((rec, idx) => <tr style={rec.sira % 2 == 0 ? { \"background-color\": \"#f3f9ff\" } : {}}>\r\n <td>\r\n <div hidden={isEmpty(rec.Completed) == false}>\r\n <div className='row m-0 p-0'>\r\n <div className='col-6 ps-0 pe-0'>\r\n <button hidden={rec.sira <= minSira} type=\"button\" class=\"btn btn-link p-0 m-0\" onClick={(e) => { rec.sira--; updateuserprojectmapping(rec); }} >\r\n <span class=\"material-icons\">\r\n remove_circle\r\n </span>\r\n </button>\r\n </div>\r\n <div className='col-6 ps-0'>\r\n <button type=\"button\" class=\"btn btn-link p-0 m-0\" hidden={rec.sira >= maxSira /*|| mappedusers.filter(x => x.sira == rec.sira).length <= 1*/} onClick={(e) => { rec.sira++; updateuserprojectmapping(rec); }}>\r\n <span class=\"material-icons\">\r\n add_circle\r\n </span>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </td>\r\n\r\n <td> {rec.sira}</td>\r\n\r\n <td>\r\n <img class=\"rounded-circle\" style={{ width: \"28px\", height: \"28px\" }} src={\"/getuserpic?user=\" + getUserName(rec.userName)} /> {getUserName(rec.userName)} ({rec.userName})</td>\r\n <td> {rec.Name}\r\n </td>\r\n\r\n <td> {rec.mappingDate} </td>\r\n <td> {rec.Started == null ? \"\" : rec.Started} </td>\r\n <td> {rec.Completed == null ? \"\" : rec.Completed}</td>\r\n <td> {(rec.Completed == null && rec.deliverDate != null) ? getDenetimSure(rec, denetimlist, appData) : \"\"}</td>\r\n <td width=\"10%\">\r\n {rec.Completed == null && <button type=\"button\" className=\"btn btn-primary btn-sm\" onClick={() => { gericek(rec.id) }} >Geri Çek</button>}\r\n </td></tr>\r\n )}\r\n\r\n </tbody>\r\n </table>}\r\n </div>}\r\n </div >\r\n\r\n </div >\r\n\r\n <div className=\"modal\" id=\"myModal\" >\r\n <div class=\"modal-dialog modal-xl modal-dialog-scrollable modal-dialog-centered\">\r\n <div class=\"modal-content\" >\r\n\r\n\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title\">Görev DaÄŸlımı</h4>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n\r\n\r\n <div class=\"modal-body\" >\r\n <UserStatistics counter={counter} />\r\n </div>\r\n\r\n\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-danger\" data-bs-dismiss=\"modal\">Close</button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n {denetimlist.length > 0 && <SablonHavalePanel denetimlist={denetimlist} appData={appData} fetchMapping={fetchMappedUsers} />}\r\n\r\n <button className=\"btn btn-primary btn-sm mb-1 shadow-none\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#previousContolors\" aria-expanded=\"false\" aria-controls=\"previousContolors\" onClick={fetchMappedUsersToRelatedApps}>\r\n Ä°lgili BaÅŸvuruların Kontrolörleri\r\n </button>\r\n <div className=\"row border-top pt-1 collapse\" id=\"previousContolors\">\r\n <div className=\"col-12 table-responsive mainpagescroll\">\r\n {relatedControlors == null ? <div className=\"spinner-border spinner-border-sm\" ></div> :\r\n <div className=\"col-12 mainpagescroll table-responsive \">\r\n {relatedControlors.length > 0 && <table className='table table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead>\r\n \r\n <th className='text-start '>Kontrolör</th>\r\n <th className='text-start'>BaÅŸvuru No</th>\r\n <th className='text-start'>Ä°ÅŸ Adımı</th>\r\n <th className='text-start'>Havale </th>\r\n <th className='text-start'>Kontrole BaÅŸlama</th>\r\n <th className='text-start'>Kontrolü Bitirme</th>\r\n\r\n \r\n </thead>\r\n <tbody >\r\n {relatedControlors.map((rec, idx) => <tr style={rec.sira % 2 == 0 ? { \"background-color\": \"#f3f9ff\" } : {}}>\r\n\r\n <td>\r\n <img class=\"rounded-circle\" style={{ width: \"28px\", height: \"28px\" }} src={\"/getuserpic?user=\" + getUserName(rec.userName)} /> {getUserName(rec.userName)} ({rec.userName})</td>\r\n <td>\r\n {rec.appID}\r\n </td>\r\n <td>\r\n {rec.Name}\r\n </td>\r\n\r\n <td> {rec.mappingDate} </td>\r\n <td> {rec.Started == null ? \"\" : rec.Started} </td>\r\n <td> {rec.Completed == null ? \"\" : rec.Completed}</td>\r\n <td> {(rec.Completed == null && rec.deliverDate != null) ? getDenetimSure(rec, denetimlist, appData) : \"\"}</td>\r\n </tr>\r\n )}\r\n\r\n </tbody>\r\n </table>}\r\n </div> \r\n \r\n }\r\n </div>\r\n </div>\r\n\r\n </fieldset>\r\n </div>\r\n );\r\n\r\n\r\n}\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport NotePanel from './NotePanel.js';\r\nimport ApplicationList from \"../Application/ApplicationList.js\";\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport { ajaxFail, isEmpty, showConfirmMessage, showErrorMessage, showSuccessMessage, sendpost, showInfoMessage } from '../GlobalState.js';\r\nimport { useGlobalState } from '../GlobalState.js';\r\nimport axios from \"axios\";\r\n\r\nexport default function BasvuruKabulPanel(props) {\r\n\r\n const [appData, setData] = useState(props.rec);\r\n const [listData, setListData] = useState(null);\r\n const [harcFileList, setHarcFileList] = useState([]);\r\n const [username, setuserName] = useGlobalState('userName');\r\n const [role, setRole] = useGlobalState('role');\r\n\r\n var warningList = [];\r\n warningList = props.relatedApps.filter(x => x.basvuruYapan != appData.basvuruYapan)\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked.toString() : target.value;\r\n appData[target.name] = value;\r\n }\r\n\r\n useEffect(() => {\r\n\r\n fetchList();\r\n fetchFiles();\r\n\r\n }, [])\r\n\r\n\r\n\r\n const fetchList = () => {\r\n fetch(\"kabullistpermsnames\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(username)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n\r\n })\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n const fetchFiles = () => {\r\n var c = document.getElementById(\"harcdosyaSpinner\")\r\n if (c != null) {\r\n c.hidden = false;\r\n }\r\n fetch(\"harcfilelist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: appData.id\r\n }).then(async response => {\r\n if (c != null) {\r\n c.hidden = true;\r\n }\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setHarcFileList(data)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n const removeFile = (id) => {\r\n var c = document.getElementById(\"harcdosyaSpinner\")\r\n if (c != null) {\r\n c.hidden = false;\r\n }\r\n fetch(\"removeharcfile\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: id\r\n }).then(async response => {\r\n if (c != null) {\r\n c.hidden = true;\r\n }\r\n if (!response.ok) {\r\n response.text().then(async data => {\r\n showErrorMessage(data)\r\n });\r\n }\r\n else {\r\n fetchFiles();\r\n showSuccessMessage(\"Dosya BaÅŸarıyla Silindi\")\r\n }\r\n });\r\n }\r\n\r\n\r\n const uploadHarcDosya = () => {\r\n var c = document.getElementById(\"harcdosyaSpinner\")\r\n if (c != null) {\r\n c.hidden = false;\r\n }\r\n const file = document.getElementById(\"harcdosya\").files[0];\r\n if (file == null) {\r\n showErrorMessage(\"Harç Dosyayı Seçiniz.\")\r\n return;\r\n }\r\n var formData = new FormData();\r\n formData.append(\"file\", file);\r\n formData.append(\"caption\", file.name);\r\n formData.append(\"appid\", appData.id);\r\n axios.post(\r\n \"submitharcfile\",\r\n formData,\r\n {\r\n headers: {\r\n \"Content-type\": \"multipart/form-data\",\r\n },\r\n }\r\n ).then(res => {\r\n if (c != null) {\r\n c.hidden = true;\r\n }\r\n fetchFiles();\r\n\r\n })\r\n .catch(err => { showErrorMessage(err); })\r\n\r\n }\r\n\r\n\r\n\r\n const renderHarcTable = () => {\r\n var mytable =\r\n <div className=\"table-responsive mainpagescroll\" >\r\n <table className='table table-striped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead style={{ \"position\": \"sticky\", \"top\": 0, \"z-index\": \"1\" }} className=\"bg-light\">\r\n <tr>\r\n <th width=\"50px\" className=\"text-start\">Id</th>\r\n <th className=\"text-start\">Dosya</th>\r\n <th width=\"190px\" className=\"text-start\">Yükleme Tarihi</th>\r\n <th width=\"130px\" className=\"text-start\">Ekleyen</th>\r\n <th width=\"100px\" className=\"text-start\"></th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {harcFileList.map((apprec, idx) =>\r\n <tr key={apprec.id} className={idx == 0 ? \"fw-bold\" : \"text-muted\"}>\r\n <td className={idx == 0 ? \"fw-bold\" : \"text-muted\"}>{apprec.id}</td>\r\n <td className={idx == 0 ? \"fw-bold\" : \"text-muted\"}>\r\n {apprec.caption}\r\n </td>\r\n <td className={idx == 0 ? \"fw-bold\" : \"text-muted\"}>{apprec.tarih}</td>\r\n <td className={idx == 0 ? \"fw-bold\" : \"text-muted\"}>{apprec.userName}</td>\r\n\r\n <td className={idx == 0 ? \"fw-bold\" : \"text-muted\"}>\r\n <a href={\"/getharcfile?id=\" + apprec.id} className=\"btn btn-link btn-sm text-primary text-decoration-none m-0 p-0\">Ä°ndir</a> \r\n <button onClick={() => { removeFile(apprec.id) }} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Sil</button>\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n const checkNote = () => {\r\n\r\n var c = document.getElementById(\"kontrolnotpanelnot\")\r\n if (c != null && isEmpty(c.value) == false) {\r\n showErrorMessage(\"Önce yazdığınız notu kaydediniz\");\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n\r\n const apponayla = () => {\r\n if (checkNote()) return;\r\n\r\n var basvuruDurumu = UserPermConstants.Basvuru_Durumu_Havale_Bekliyor\r\n if (appData.eimzagonder == true) {\r\n basvuruDurumu = UserPermConstants.Basvuru_Durumu_EIMZA_Bekleniyor;\r\n }\r\n sendpost(\"setaceptancestate\", { id: appData.id, basvuruDurumu: basvuruDurumu }, \"\",\r\n (response) => props.changeComponent(<ApplicationList changeComponent={props.changeComponent} />))\r\n\r\n\r\n }\r\n const appgerigonder = () => {\r\n if (checkNote()) return;\r\n sendpost(\"setaceptancestate\", { id: appData.id, basvuruDurumu: UserPermConstants.Basvuru_Durumu_GeriGonderildi }, \"\",\r\n (response) => props.changeComponent(<ApplicationList changeComponent={props.changeComponent} />))\r\n }\r\n\r\n const appiade = () => {\r\n if (checkNote()) return;\r\n showConfirmMessage(\"BaÅŸvuruyu iade etmek istediÄŸinizden emin misniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n var iadeneden = prompt(\"Lutfen Ä°ade Nedenini Yazınız\");\r\n if (isEmpty(iadeneden)) {\r\n showErrorMessage(\"Iade Nedeni BoÅŸ Olamaz\");\r\n return;\r\n }\r\n\r\n\r\n sendpost(\"setaceptancestate\", { id: appData.id, basvuruDurumu: UserPermConstants.Basvuru_Durumu_Iade_Edildi, iadeNotu: iadeneden }, \"\",\r\n (response) => props.changeComponent(<ApplicationList changeComponent={props.changeComponent} />))\r\n })\r\n\r\n }\r\n\r\n const apputahakukyap = () => {\r\n if (checkNote()) return;\r\n sendpost(\"setaceptancestate\", { id: appData.id, basvuruDurumu: UserPermConstants.Basvuru_Durumu_Ucret_Bekleniyor }, \"\",\r\n (response) => props.changeComponent(<ApplicationList changeComponent={props.changeComponent} />))\r\n }\r\n const odemekontrol = () => {\r\n sendpost(\"checkpayment\", appData.id, \"harcdosyaSpinner\",\r\n (response) => {\r\n response.text().then(async data => {\r\n showInfoMessage(data,\"\",\"Tamam\")\r\n });\r\n }\r\n \r\n )\r\n }\r\n\r\n \r\n\r\n const appucretiste = () => {\r\n if (checkNote()) return;\r\n var harc = document.getElementById(\"ucret\").value;\r\n if (harc == null || harc.length == 0) {\r\n showErrorMessage(\"Ucret Giriniz\");\r\n return;\r\n }\r\n\r\n var misid = document.getElementById(\"misid\").value;\r\n\r\n\r\n sendpost(\"setaceptancestate\", {\r\n id: appData.id,\r\n basvuruDurumu: UserPermConstants.Basvuru_Durumu_Tahakkuk_Bekleniyor,\r\n ucret: harc,\r\n misid: misid\r\n }, \"\",\r\n (response) => props.changeComponent(<ApplicationList changeComponent={props.changeComponent} />))\r\n\r\n }\r\n\r\n if (listData == null) {\r\n return <div className=\"w-100 mt-1 mb-1 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n }\r\n\r\n if (listData.length > 0 && listData.includes(appData.basvuruTipi) == false) {\r\n return \"BaÅŸvuru Kabul Yetkisi Yok.\";\r\n }\r\n\r\n return (\r\n <div >\r\n <fieldset id=\"oncontrolpanel\">\r\n <div className=\"row\">\r\n <div className=\"col-6 pb-4\">\r\n <h5 className=\"text-primary\">BaÅŸvuru Kabul Paneli</h5>\r\n </div>\r\n <div className=\"col-6 text-end\">\r\n <div class=\"ms-1 spinner-border spinner-border-sm\" id=\"harcdosyaSpinner\" hidden></div>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div className=\"row mb-1\" >\r\n\r\n {warningList.length > 0 && <div className=\"col-12 m-2\">\r\n <span className=\"text-danger fw-bold\">Uyarı, Aynı Ada/Parsel'e baÅŸka kullanıcıların aÅŸağıdaki baÅŸvuruları bulunmaktadır:</span>\r\n <table className='table mt-3 table-striped' aria-labelledby=\"tabelLabel\">\r\n <tbody >\r\n {warningList.map(apprec =>\r\n <tr key={apprec.id} className=\"p-1\">\r\n <td >{apprec.id}</td>\r\n <td >{apprec.basvuruTipi}</td>\r\n <td >{apprec.basvuruTarihi}</td>\r\n <td >{apprec.basvuruYapan}</td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n\r\n </div>\r\n }\r\n\r\n <div className=\"col-12 ms-2\">\r\n <NotePanel appData={appData} panelid=\"kontrolnotpanel\" />\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mb-3\" >\r\n <div className=\"col-12 col-md-3\">\r\n <button className=\"btn btn-danger w-100 btn-sm\" onClick={appgerigonder} disabled={appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Onay_Bekliyor && appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Harc_Odeme_Kontrolu_Bekliyor}>\r\n BaÅŸvuruyu Geri Gönder\r\n </button>\r\n </div>\r\n </div>\r\n <div className=\"row mb-1\" >\r\n <div className=\"col-12 col-md-3 mb-2\">\r\n <button className=\"btn btn-primary w-100 btn-sm\" onClick={appucretiste} disabled={appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Ucret_Bekleniyor}>\r\n Harç Miktarını Belirle\r\n </button>\r\n </div>\r\n\r\n <div className=\"col-12 col-md-3\">\r\n <input type=\"number\" className=\"form-control form-control-sm \" placeholder=\"Harç Ucreti\" name=\"ucret\" id=\"ucret\" defaultValue={appData.ucret} disabled={appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Ucret_Bekleniyor} />\r\n </div>\r\n <div className=\"col-12 col-md-3\">\r\n <input type=\"number\" className=\"form-control form-control-sm \" placeholder=\"MISID\" name=\"misid\" id=\"misid\" defaultValue={appData.misid} disabled={appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Ucret_Bekleniyor} />\r\n\r\n </div>\r\n <div className=\"col-12 col-md-1 ms-0 ps-0\">\r\n <button className=\"btn btn-link text-decoration-none m-0 p-0\" title=\"Odeme durmunu kontrol et\" onClick={odemekontrol}>\r\n <i class=\"fa fa-refresh\"></i>\r\n </button>\r\n </div>\r\n {role.indexOf(UserPermConstants.Kontrolor_Dosyasi_Yukleme) > -1 &&\r\n < div className=\"col-12 col-md-2\">\r\n <label for=\"harcdosya\" className=\"btn btn-sm btn-primary\">Harç Dosyası</label>\r\n <input style={{ maxWidth: \"300px\" }} class=\"form-control form-control-sm\" type=\"file\" hidden id=\"harcdosya\" onChange={uploadHarcDosya} />\r\n\r\n </div>}\r\n\r\n\r\n </div>\r\n\r\n <div className=\"row mb-3\" >\r\n <div className=\"col-12 col-md-3\">\r\n <button className=\"btn btn-info w-100 text-white btn-sm\" onClick={apputahakukyap} disabled={appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Tahakkuk_Bekleniyor}>\r\n Tahakkuk Yapıldı</button>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mb-3\" >\r\n <div className=\"col-12 col-md-3\">\r\n <button className=\"btn btn-success w-100 btn-sm\" onClick={apponayla} disabled={appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Onay_Bekliyor && appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Harc_Odeme_Kontrolu_Bekliyor}>\r\n BaÅŸvuruyu Kabul Et\r\n </button>\r\n </div>\r\n\r\n </div>\r\n\r\n </fieldset>\r\n {harcFileList.length > 0 && (role.indexOf(UserPermConstants.HARC_DOSYALARI) > -1 || role.indexOf(UserPermConstants.Kontrolor_Dosyasi_Yukleme) > -1) && <div >\r\n <h6 className=\"text-center text-primary\">Harç Dosyaları</h6>\r\n\r\n {renderHarcTable()}\r\n </div>}\r\n\r\n\r\n <div className=\"row mb-3\" >\r\n <div className=\"col-12 text-end\">\r\n {/*MenteseÅŸ de duzeltme sayısı aşıldığına raÄŸmen baÅŸvuruyu iade edemediÄŸi için bu kod comment edilmiÅŸtir. 03.02.2025*/}\r\n {/* <button className=\"btn btn-danger btn-sm\" onClick={appiade} disabled={appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Onay_Bekliyor}>*/}\r\n <button className=\"btn btn-danger btn-sm\" onClick={appiade} >\r\n Ä°ade Et\r\n </button>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport ApplicationList from \"../Application/ApplicationList.js\";\r\nimport { showConfirmMessage, showErrorMessage, useGlobalState } from '../GlobalState.js';\r\n\r\nexport default function OnayYetkilisiPanel(props) {\r\n\r\n const [appData, setData] = useState(props.rec);\r\n const [userName, setUserName] = useGlobalState('userName');\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked.toString() : target.value;\r\n appData[target.name] = value;\r\n }\r\n const addNot = () => {\r\n if (document.getElementById(\"not\").value == null ||\r\n document.getElementById(\"not\").value.length == 0)\r\n return;\r\n\r\n fetch(\"addnote\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({ appId: appData.id, note: document.getElementById(\"not\").value })\r\n }).then(async response => {\r\n if (!response.ok) {\r\n showErrorMessage(response.statusText)\r\n }\r\n else {\r\n var c = document.getElementById(\"not\");\r\n if (c != null)\r\n c.value = \"\";\r\n }\r\n });\r\n }\r\n\r\n const saveApp = () => {\r\n addNot();\r\n fetch(\"saveapplication\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(appData)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n showErrorMessage(\"saveapplication: \" + response.statusText)\r\n }\r\n else {\r\n props.changeComponent(<ApplicationList changeComponent={props.changeComponent} />)\r\n }\r\n });\r\n }\r\n const apponayla = () => {\r\n showConfirmMessage(\"BaÅŸvuruyu, onaylamak istediÄŸinize emin misiniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n appData.basvuruDurumu = UserPermConstants.Basvuru_Durumu_Onay_Verildi;\r\n saveApp();\r\n });\r\n }\r\n const appret = () => {\r\n showConfirmMessage(\"BaÅŸvuruyu, havale sürecine geri göndermek istediÄŸinize emin misiniz?\",\"\", \"Evet\", \"Hayır\", () => {\r\n appData.basvuruDurumu = UserPermConstants.Basvuru_Durumu_Havale_Bekliyor;\r\n saveApp();\r\n });\r\n }\r\n\r\n const appkntorlgeri = () => {\r\n showConfirmMessage(\"BaÅŸvuruyu, bir önceki aÅŸamaya/kiÅŸiye geri göndermek istediÄŸinize emin misiniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n appData.basvuruDurumu = UserPermConstants.Basvuru_Durumu_Kontrol_Sirada_Bekliyor;\r\n saveApp();\r\n });\r\n\r\n }\r\n\r\n const appiade = () => {\r\n \r\n var comment = window.prompt(\"Lütfen iade etme nedenini açıklayınız\")\r\n if (comment == null || comment.length == 0) {\r\n showErrorMessage(\"Açıklama BoÅŸ Olamaz\");\r\n return;\r\n }\r\n appData.iadeNotu = comment;\r\n appData.iadeEden = userName;\r\n appData.basvuruDurumu = UserPermConstants.Basvuru_Durumu_Iade_Edildi;\r\n saveApp();\r\n\r\n\r\n \r\n\r\n\r\n }\r\n\r\n return (\r\n <div >\r\n <fieldset disabled={appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Kontrol_Tamamlandi}>\r\n <div className=\"row\">\r\n <div className=\"col-12 pb-4\">\r\n <h5 className=\"text-primary\">Onay Paneli</h5>\r\n </div>\r\n <div className=\"row mb-1\">\r\n <div className=\"col-12\">\r\n\r\n <input type=\"text\" className=\"form-control form-control-sm w-75 d-inline-block\" id=\"not\" placeholder=\"Açıklama\" name=\"not\" defaultValue=\"\" />\r\n\r\n </div>\r\n </div>\r\n <div className=\"row mb-1 mt-3\">\r\n <div className=\"col-12 p-1 btn-group flex-wrap\">\r\n\r\n <button className=\"btn btn-success rounded m-1 btn-sm\" onClick={apponayla}>Onayla</button>\r\n <button className=\"btn btn-primary rounded m-1 btn-sm\" onClick={appret}>Havale Sürecine Dön</button>\r\n <button className=\"btn btn-danger rounded m-1 btn-sm\" onClick={appkntorlgeri}>Geri Gönder</button>\r\n <button className=\"btn btn-danger rounded m-1 btn-sm\" onClick={() => showConfirmMessage(\"BaÅŸvuruyu, Muellife geri göndermek istediÄŸinize emin misiniz?\", \"\", \"Evet\", \"Hayır\", appiade)}>Ä°ade Et</button>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </fieldset >\r\n </div>\r\n );\r\n}\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useGlobalState, changeTurkceToEnglis, showErrorMessage, showSuccessMessage, isEmpty } from '../GlobalState.js';\r\nimport ReactToPdf from 'react-to-pdf';\r\nimport { jsPDF } from \"jspdf\";\r\nimport autoTable from 'jspdf-autotable'\r\nimport UserLabel from \"../User/UserLabel.js\";\r\nimport $ from 'jquery';\r\n\r\nexport default function RevisionReq(props) {\r\n var postdata = {};\r\n\r\n var mappingid = props.mappingRec.id;\r\n\r\n const ref = React.createRef();\r\n\r\n const [listData, setListData] = useState([]);\r\n const [role, setRole] = useGlobalState('role');\r\n const [userdata, setUserData] = useState(null);\r\n const [myusername, setmyusername] = useGlobalState('userName');\r\n\r\n\r\n\r\n const removeRecord = (id) => {\r\n fetch(\"removemappingmessage\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n showErrorMessage(response.statusText)\r\n })\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n\r\n if (value.some(x => x.sendDate >= props.mappingRec.Started))\r\n props.setCommentAfterStart(true);\r\n else\r\n props.setCommentAfterStart(false);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const submitUpdateRecord = (event, m) => {\r\n const target = event.target;\r\n if (target.type === 'checkbox') {\r\n const value = target.checked;\r\n m.ischecked = value;\r\n }\r\n if (isEmpty(m.message)) {\r\n showErrorMessage(\"Düzeltme Talebi BoÅŸ Olamaz\")\r\n return;\r\n }\r\n\r\n fetch(\"updatemappingmessage\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(m)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n showErrorMessage(response.statusText + \" \" + value)\r\n })\r\n }\r\n else {\r\n if (target.type != 'checkbox') {\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı.\")\r\n }\r\n \r\n \r\n \r\n }\r\n });\r\n }\r\n\r\n\r\n const fetchList = () => {\r\n fetch(\"listmappingmessage\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n // body: JSON.stringify(props.appData.id)\r\n body: JSON.stringify(mappingid)\r\n\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n showErrorMessage(response.statusText)\r\n })\r\n }\r\n\r\n else {\r\n response.json().then(value => {\r\n if (typeof value === 'string' || value instanceof String)\r\n value= JSON.parse(value);\r\n\r\n setListData(value);\r\n\r\n if (value.some(x => x.sendDate >= props.mappingRec.Started))\r\n props.setCommentAfterStart(true);\r\n else\r\n props.setCommentAfterStart(false);\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const Add = () => {\r\n if (isEmpty(document.getElementById(\"revmessage\" + mappingid).value)) {\r\n showErrorMessage(\"Düzeltme Talebi BoÅŸ Olamaz\")\r\n return;\r\n }\r\n\r\n\r\n\r\n fetch(\"addmappingmessage\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({ mappingId: mappingid, message: document.getElementById(\"revmessage\" + mappingid).value })\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n showErrorMessage(response.statusText + \" \" + value)\r\n })\r\n }\r\n else {\r\n document.getElementById(\"revmessage\" + mappingid).value = \"\";\r\n fetchList();\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value;\r\n }\r\n\r\n\r\n var lastDuzeltmeNo=null;\r\n const getDuzeltmeBaslik = (r) => {\r\n if (r.duzletmeNo == lastDuzeltmeNo)\r\n return \"\";\r\n lastDuzeltmeNo = r.duzletmeNo;\r\n\r\n return <tr key={listData}>\r\n <td colspan=\"4\" className=\"text-center\"><h6 className=\"text-primary\">{lastDuzeltmeNo}. Düzeltme Talebi</h6></td>\r\n </tr>\r\n }\r\n\r\n const updateTextAreasHeight = (event) => {\r\n var textareas = document.getElementsByTagName(\"textarea\");\r\n if (textareas != null)\r\n for (let i = 0; i < textareas.length; i++) {\r\n //textareas[i].style.height = \"\";\r\n textareas[i].style.height = textareas[i].scrollHeight + 2 + \"px\"\r\n }\r\n\r\n }\r\n\r\n const renderTable = (tabledata) => {\r\n \r\n var mytable = <table className='table table-sm' id=\"pdfsource\" >\r\n \r\n\r\n <tbody id=\"myTable\" >\r\n\r\n {tabledata.map(apprec => <>{getDuzeltmeBaslik(apprec)}\r\n \r\n <tr className={apprec.ischecked == true && \"text-success\"} key={apprec.id}>\r\n <td width=\"2%\" className=\"checkCol\">\r\n <input disabled={props.mappingRec.userName != myusername || props.mappingRec.Started == null || props.mappingRec.Completed} className=\"form-check-input\" type=\"checkbox\" name=\"karaliste\" id=\"karaliste\" defaultChecked={apprec.ischecked} style={{ width: \"16px\", height: \"16px\" }} onChange={(e) => submitUpdateRecord(e, apprec)} />\r\n </td>\r\n <td width=\"20%\" className=\"dateCol\">\r\n <span>{apprec.sendDate}</span>\r\n </td>\r\n <td width=\"70%\">\r\n \r\n {props.mappingRec.userName != myusername ? <div style={{ \"white-space\": \"pre-wrap\" }}>{apprec.message}</div> :\r\n <textarea maxLength=\"3000\" id={apprec.id} disabled={isEmpty(props.mappingRec.Started) || isEmpty(props.mappingRec.Completed) == false || apprec.sendDate < props.mappingRec.Started} className=\"form-control form-control-sm messageCol\" onInput={(e) => { e.target.style.height = \"\"; e.target.style.height = e.target.scrollHeight + 2 + \"px\" }} type=\"text\" name=\"message\" defaultValue={apprec.message} onChange={(e) => apprec.message = e.target.value} />}\r\n\r\n </td >\r\n\r\n <td width=\"8%\" className=\"buttonCol text-end\">\r\n\r\n {props.mappingRec.Started != null && apprec.sendDate >= props.mappingRec.Started&& <>\r\n <button hidden={props.appData.onKontrol != true || props.mappingRec.userName != myusername || props.mappingRec.Completed != null} onClick={(e) => submitUpdateRecord(e,apprec)} className=\"btn btn-link text-decoration-none m-0 p-0 ms-1 text-primary\"><i class=\"fa fa-save\"></i></button>\r\n <button hidden={props.appData.onKontrol != true || props.mappingRec.userName != myusername || props.mappingRec.Completed != null} onClick={() => removeRecord(apprec.id)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0 text-muted\"><span className=\"text-decoration-none material-icons align-middle text-danger\" >delete</span>\r\n </button>\r\n </>}\r\n \r\n </td>\r\n </tr></>\r\n )}\r\n </tbody>\r\n </table>\r\n\r\n return (mytable);\r\n }\r\n\r\n \r\n\r\n const toPdfJSPDF = () => {\r\n\r\n var doc = new jsPDF('p', 'pt', \"a4\");\r\n // doc.addFont(\"Arial\", \"Arial\", \"normal\");\r\n doc.setFont(\"Arial\", \"normal\");\r\n doc.setFontSize(14);\r\n doc.text(15, 40, \"Evrak No:\" + props.appData.id + \" BaÅŸvuru Tarihi:\" + props.appData.basvuruTarihi)\r\n //doc.text(15, 60, changeTurkceToEnglis(props.appData.mevki) + \" \" + changeTurkceToEnglis(props.appData.mahalle) + \" \" + changeTurkceToEnglis(props.appData.ada) + \" \" + changeTurkceToEnglis(props.appData.basvuruTipi))\r\n doc.text(15, 60, changeTurkceToEnglis(props.appData.mahalle) + \" - \" + changeTurkceToEnglis(props.appData.ada) + \" - \" + changeTurkceToEnglis(props.appData.arsaSahibi) + \" - \" + changeTurkceToEnglis(props.appData.basvuruTipi)+\" Kontrolor Duzeltmeleri\") \r\n\r\n doc.text(15, 85,\"\")\r\n var source = document.getElementById(\"pdfsource\").cloneNode(true);\r\n source.className = \"\";\r\n var colElems = source.firstChild.getElementsByClassName(\"buttonCol\");\r\n for (var i = colElems.length - 1; i >= 0; i--) {\r\n colElems[i].remove()\r\n }\r\n var colElems = source.firstChild.getElementsByClassName(\"checkCol\");\r\n for (var i = colElems.length - 1; i >= 0; i--) {\r\n colElems[i].firstChild.className = \"\";\r\n colElems[i].firstChild.style[\"width\"] = \"12px\";\r\n }\r\n\r\n colElems = source.firstChild.getElementsByClassName(\"dateCol\");\r\n for (var i = colElems.length - 1; i >= 0; i--) {\r\n colElems[i].innerText = colElems[i].innerText.replace(\"/\", \"\");\r\n colElems[i].innerText = colElems[i].innerText.replace(\"/\", \" \");\r\n colElems[i].innerText = colElems[i].innerText.replace(\":\", \" : \");\r\n }\r\n\r\n\r\n colElems = source.firstChild.getElementsByClassName(\"messageCol\");\r\n if (colElems!=null)\r\n for (var i = colElems.length - 1; i >= 0; i--) {\r\n colElems[i].parentNode.innerText = colElems[i].innerText;\r\n }\r\n\r\n source.innerHTML = changeTurkceToEnglis(source.innerHTML);\r\n\r\n source.style[\"font-size\"] = \"10px\";\r\n source.style[\"font-family\"] = \"Arial\";\r\n source.style[\"letter-spacing\"] = \"0.0px\";\r\n // source = source.replaceAll(\"delete\", \"\")\r\n doc.html(\r\n source, {\r\n 'x': 15,\r\n 'y': 60,\r\n \r\n width: 520,\r\n //margin:5,\r\n windowWidth: 520,\r\n margin: [40, 0, 40, 0],\r\n callback: function (pdf) {\r\n pdf.setFontSize(12);\r\n pdf.text(15, 810, changeTurkceToEnglis(\"Kontrolor: \" + userdata.name + \" \" + userdata.family))\r\n pdf.save('duzeltme_listesi.pdf');\r\n }\r\n\r\n });\r\n // window.open(doc.output(\"bloburl\"), \"_blank\");\r\n //doc.output(\"dataurlnewwindow\");\r\n }\r\n\r\n\r\n \r\n const setNameFamily = (data) => {\r\n setUserData(data);\r\n }\r\n\r\n useEffect(() => {\r\n fetchList();\r\n }, [])\r\n\r\n\r\n var listTable = <div className=\"spinner-border\" ></div>;\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n\r\n\r\n var printbutton = <div className=\"d-flex justify-content-end mt-2 mb-2\">\r\n <ReactToPdf targetRef={ref} filename=\"pdf_file.pdf\" x={10} y={10} scale={0.7} >\r\n {({ toPdf }) => (\r\n <button className=\"btn btn-primary btn-sm text-decoration-none \" onClick={toPdfJSPDF}>PDF OluÅŸtur</button>\r\n )}\r\n </ReactToPdf>\r\n </div>\r\n\r\n setTimeout(updateTextAreasHeight, 1000);\r\n\r\n return (\r\n <div className=\"border rounded-1 ps-2 pe-2\" >\r\n <div className=\"row pt-2\" >\r\n <div className=\"col\">\r\n <h6 className=\"text-primary p-0 m-0\">Düzeltmeler</h6 >\r\n \r\n </div>\r\n <div className=\"col text-end\" id=\"userinfo\">\r\n \r\n <UserLabel user={{ userName: props.user }} setNameFamily={setNameFamily}/>\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row\" ref={ref} >\r\n\r\n <div className=\"col-12 \" >\r\n \r\n {listTable}\r\n </div>\r\n </div>\r\n {(props.mappingRec.Started != null || props.mappingRec.duzeltmeDurum == true) ? <div className=\"row mt-1\" >\r\n <div className=\"col-11\">\r\n <textarea type=\"text\" maxlength=\"3000\" style={{ \"background-color\": \"transparent\" }} className=\"form-control form-control-sm \" id={\"revmessage\" + mappingid} key={mappingid} placeholder=\"Düzeltme Talebi\" name=\"revmessage\" defaultValue=\"\" onChange={(e) => {\r\n document.getElementById(\"charcount\" + mappingid).innerHTML = e.target.value.length;\r\n}} />\r\n <div className=\"small\"><span id={\"charcount\" + mappingid}></span>/3000</div>\r\n </div>\r\n <div className=\"col-1\">\r\n <button disabled={props.mappingRec.Completed != null || props.mappingRec.userName != myusername} onClick={Add} className=\"btn btn-sm btn-primary text-decoration-none \">Ekle</button>\r\n </div>\r\n\r\n </div> : \"\"}\r\n <div className=\"row\" >\r\n <div className=\"col-12\">\r\n {printbutton}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport RevisionReqPanel from './RevisionReqPanel.js';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport { useGlobalState, logout, getDenetimSure, calcBusinessDays, isEmpty, showConfirmMessage, showErrorMessage, sendpost } from '../GlobalState.js';\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\n\r\n\r\nexport default function DenetimPaneli(props) {\r\n\r\n const [appData, setData] = useState(props.appData);\r\n const [denetimlist, setDenetimlist] = useState(props.denetimlist);\r\n const [relatedControlors, setRelatedControlors] = useState([]);\r\n const [apptypeList, setApptypeList] = useState(props.apptypeList);\r\n const [rec, setRec] = useState(props.rec);\r\n const [userName, setUserName] = useGlobalState('userName');\r\n const [role, setRole] = useGlobalState('role');\r\n const [myusername, setusername] = useGlobalState('userName');\r\n const [mission, setMission] = useState(props.mission);\r\n const [commentAfterStart, setCommentAfterStart] = useState(false);\r\n var havaleEdilecekKisiler = [];\r\n\r\n\r\n\r\n\r\n window.scroll(0, 0)\r\n useEffect(() => {\r\n fetchMappedUsersToRelatedApps();\r\n }, [])\r\n\r\n\r\n\r\n const getApp = () => {\r\n fetch(\"getapp\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: appData.id\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const saveApp = () => {\r\n fetch(\"saveapplication\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json', 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(appData)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n window.location = \"/\";\r\n }\r\n });\r\n }\r\n\r\n const kontrolubaslat = () => {\r\n showConfirmMessage(\"Kontrolu baÅŸlatmak istediÄŸinize emin misiniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n fetch(\"kontrolubaslat\", {\r\n method: 'POST',\r\n headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' },\r\n body: JSON.stringify(rec.id + \" \" + appData.updateCount)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n if (value.includes(\"EskiVeri\")) {\r\n showErrorMessage(\"BaÅŸvuru BaÅŸka Kullanıcı Tarafından GuncellenmeÅŸtir. Listeye Dönerek Güncel Bilgilere EriÅŸebilirsiniz\");\r\n }\r\n })\r\n }\r\n else {\r\n response.json().then(async data => {\r\n if (data != null) {\r\n if (data.id == -1)\r\n showErrorMessage(\"BaÅŸvuru BaÅŸka Kullanıcı Tarafından GuncellenmeÅŸtir. Listeye Dönerek Güncel Bilgilere EriÅŸebilirsiniz\");\r\n else {\r\n data.Completed = data.completed;\r\n data.Started = data.started;\r\n setRec({ ...rec, ...data });\r\n getApp();\r\n }\r\n }\r\n });\r\n props.refreshParent();\r\n\r\n }\r\n });\r\n });\r\n }\r\n\r\n const duzeltmeiste = () => {\r\n if (commentAfterStart == false) {\r\n showErrorMessage(\"Düzeltme isteÄŸi göndermek için en az bir düzeltme notu eklenmelidir\")\r\n return;\r\n }\r\n\r\n showConfirmMessage(\"BaÅŸvuruyu müellife göndererek düzeltme istediÄŸinize emin misiniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n\r\n fetch(\"duzeltmeiste\", {\r\n method: 'POST',\r\n headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' },\r\n body: JSON.stringify(rec.id + \" \" + appData.updateCount)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n if (value.includes(\"EskiVeri\")) {\r\n showErrorMessage(\"BaÅŸvuru BaÅŸka Kullanıcı Tarafından GuncellenmeÅŸtir. Listeye Dönerek Güncel Bilgilere EriÅŸebilirsiniz\");\r\n }\r\n })\r\n }\r\n else {\r\n response.json().then(async data => {\r\n if (data != null) {\r\n if (data.id == -1)\r\n showErrorMessage(\"BaÅŸvuru BaÅŸka Kullanıcı Tarafından GuncellenmeÅŸtir. Listeye Dönerek Güncel Bilgilere EriÅŸebilirsiniz\");\r\n else {\r\n data.Completed = data.completed;\r\n data.Started = data.started;\r\n setRec({ ...rec, ...data });\r\n getApp();\r\n }\r\n }\r\n });\r\n props.refreshParent();\r\n }\r\n });\r\n });\r\n }\r\n\r\n\r\n const getDenetimUpdateCount = () => {\r\n if (props.denetimlist == null || props.denetimlist.length == 0)\r\n return \"\";\r\n var k = props.denetimlist.find(rec => rec.activeDenetim == rec.sira);\r\n if (k == null)\r\n return \"\";\r\n var r = props.apptypeList.find(x => x.id == k.denetimID)\r\n if (r == null || r.duzeltmeSayi == null || r.duzeltmeSayi == 0) return \"\";\r\n return \"/\" + r.duzeltmeSayi;\r\n }\r\n\r\n const duzeltmeKotasıDoldumu = () => {\r\n if (props.denetimlist == null || props.denetimlist.length == 0)\r\n return false;\r\n var k = props.denetimlist.find(x => rec.denetimID == x.denetimID);\r\n if (k == null)\r\n return false;\r\n var r = props.apptypeList.find(x => x.name == k.Name)\r\n if (r != null && r.duzeltmeSayi != null && appData.duzeltmeSayi != null)\r\n if (Number(r.duzeltmeSayi) < Number(appData.duzeltmeSayi))\r\n return true;\r\n\r\n if (r == null || r.duzeltmeDeadline == null || r.duzeltmeDeadline == \"\" || appData.sonDuzeltmeTalebiTarihi == null) return false;\r\n var d = Number(r.duzeltmeDeadline);\r\n var diffDays = d - calcBusinessDays(new Date(Date.now()), new Date(rec.duzeltmeIste.split(\" \")[0]))\r\n return diffDays < 0;\r\n }\r\n\r\n\r\n\r\n const ForwardToOtherUser = () => {\r\n \r\n var message = document.getElementById(\"havaleMessage\").value\r\n\r\n if (isEmpty(message) ) {\r\n showErrorMessage(\"Havale açıklaması yazılmalıdır\")\r\n return;\r\n }\r\n if (havaleEdilecekKisiler.length==0) {\r\n showErrorMessage(\"Havale edilecek kontolör seçilmelidir\")\r\n return;\r\n }\r\n var req = {appID:rec.appID}\r\n req.id = rec.id;\r\n req.sira = appData.updateCount\r\n //req.denetimID = targetkontrolor;\r\n req.message = message;\r\n req.userName = havaleEdilecekKisiler.map(x=>x.id).join(',');\r\n\r\n showConfirmMessage(\"BaÅŸvuru seçtiÄŸiniz kontrolörlere ve daha sonra tekrar size havale edilecektir.\", \"\", \"Evet, Devam Et\", \"Ä°ptal\", () => {\r\n sendpost(\"insertmapping\", req, \"myspinner\", (resp) => {\r\n\r\n resp.json().then(async data => {\r\n if (data != null) {\r\n if (data.id == -1)\r\n showErrorMessage(\"BaÅŸvuru BaÅŸka Kullanıcı Tarafından GuncellenmeÅŸtir. Listeye Dönerek Güncel Bilgilere EriÅŸebilirsiniz\");\r\n else {\r\n data.Completed = data.completed;\r\n data.Started = data.started;\r\n setRec({ ...rec, ...data });\r\n props.refreshParent();\r\n }\r\n }\r\n });\r\n\r\n }, (resp) => {\r\n resp.text().then(value => {\r\n showErrorMessage(value);\r\n })\r\n })\r\n\r\n\r\n });\r\n }\r\n\r\n const fetchMappedUsersToRelatedApps = () => {\r\n var rids = props.relatedapps.filter(x => x.id != appData.id).map(x => x.id);\r\n if (rids == null || rids.length == 0)\r\n return;\r\n\r\n fetch(\"mappeduserstoproject\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rids.join(','))\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n data = JSON.parse(data);\r\n setRelatedControlors(data);\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n const sendRevision = (rec) => {\r\n showConfirmMessage(\"Düzeltmeyi tamamlamak istediÄŸinize emin misiniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n fetch(\"submitrevision\", {\r\n method: 'POST',\r\n headers: { 'Accept': 'application/json', 'Content-Type': 'text/json' },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n\r\n })\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setRec({ ...rec, ...data });\r\n });\r\n props.refreshParent();\r\n }\r\n });\r\n });\r\n }\r\n\r\n\r\n const showControlButtons = (rec) => {\r\n\r\n\r\n if (rec.userName != myusername) {\r\n return <div className=\"row mt-2 mb-2\"><div className=\"col-12 mt-5 text-danger\"> </div></div>\r\n }\r\n\r\n if (rec.activeDenetim != rec.sira) {\r\n return <div className=\"row mt-2 mb-2\"><div className=\"col-12 mt-5 text-danger\"> Kontrol tamamlanmıştır veya henüz kontrol sırası gelmemiÅŸtir. </div></div>\r\n }\r\n\r\n if (appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Tahakkuk_Bekleniyor ||\r\n appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Ucret_Bekleniyor\r\n || appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Onay_Bekliyor) {\r\n return <div className=\"col-12 mt-5 text-danger\">BaÅŸvuru durumundan dolayı kontrol baÅŸlatılamaz</div>\r\n }\r\n\r\n {/* <button className=\"btn btn-warning ms-2 btn-sm\" onClick={appret} disabled={rec.Started != null || rec.Completed != null}>Geri Gönder</button>*/ }\r\n {/* <button className=\"btn btn-danger ms-2 btn-sm\" onClick={appiade}>Ä°ade Et</button>*/ }\r\n\r\n \r\n denetimlist.forEach(rec => rec.itemname = rec.Name + \" (\" + rec.kname + \" \" + rec.kfamily + \")\")\r\n relatedControlors.forEach(rec =>rec.itemname =\"BaÅŸvuru: \"+rec.appID+\" *** \"+ rec.Name + \" (\" + rec.uname + \" \" + rec.Family + \")\" )\r\nvar dlist = denetimlist.concat(relatedControlors)\r\n return <div>\r\n \r\n <div className=\"row pt-2 border-top mt-4 \" >\r\n <div className=\"col\">\r\n <h6 className=\"text-primary p-0 m-0\">BaÅŸka Kontrolöre Havale</h6 >\r\n\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"col-md-6 col-12 mt-1\" >\r\n <textarea type=\"text\" maxlength=\"1000\" style={{ \"background-color\": \"transparent\", height: \"30px\" }} className=\"form-control \" placeholder=\"Havale Açıklaması\" id=\"havaleMessage\" disabled={rec.Started == null || rec.Completed != null} />\r\n </div>\r\n <div className=\"col-md-6 col-12 mt-1\" >\r\n {/*<select className=\"form-select form-select-sm\" id=\"mission\" name=\"denetimId\" disabled={rec.Started == null || rec.Completed != null}>*/}\r\n {/* <option value={-1} > Kontrolör </option>*/}\r\n {/* {denetimlist.map(rec => <option value={rec.id }>{rec.Name} ({rec.kname} {rec.kfamily})*/}\r\n {/* </option>)}*/}\r\n {/*</select>*/}\r\n <Multiselect className=\"text-dark p-0\"\r\n options={dlist}\r\n emptyRecordMsg=\"BaÅŸka kayıt yok\"\r\n isObject={true}\r\n displayValue=\"itemname\"\r\n selectedValues={[]}\r\n avoidHighlightFirstOption={true}\r\n onSelect={(selectedList, removedItem) => { havaleEdilecekKisiler = selectedList }} // Function will trigger on select event\r\n onRemove={(selectedList, removedItem) => { havaleEdilecekKisiler = selectedList }} // Function will trigger on remove event\r\n hidePlaceholder={true}\r\n placeholder=\"Kontrolör\"\r\n disable={ rec.Started == null || rec.Completed != null } \r\n />\r\n </div>\r\n <div className=\"row mt-4 mb-2\">\r\n <div className=\"col-12 d-flex align-items-center\" >\r\n <div className=\"btn-group flex-wrap\" role=\"group\" aria-label=\"Basic example\">\r\n <button className=\"btn btn-primary border rounded-2 btn-sm flex-shrink-0\" onClick={kontrolubaslat} disabled={rec.Started != null || rec.duzeltmeDurum == true}>Kontrolu BaÅŸlat</button>\r\n <button className=\"btn btn-danger border rounded-2 ms-1 btn-sm flex-shrink-0\" onClick={duzeltmeiste} disabled={rec.Started == null || rec.Completed != null}>Düzeltme Iste</button>\r\n <button className=\"btn btn-primary border rounded-2 btn-sm ms-1 flex-shrink-0\" onClick={apponayla} disabled={rec.Started == null || rec.Completed != null}>Kontrolu Tamamla</button>\r\n <button className=\"btn btn-primary border rounded-2 btn-sm ms-1\" onClick={ForwardToOtherUser} disabled={rec.Started == null || rec.Completed != null}>Kontrolu Tamamla ve Havale Et</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n const apponayla = () => {\r\n\r\n showConfirmMessage(\"Kontrolu tamamlamak istediÄŸinize emin misiniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n fetch(\"kontrolutamamla\", {\r\n method: 'POST',\r\n headers: { 'Accept': 'application/json', 'Content-Type': 'text/json' },\r\n body: JSON.stringify(rec.id + \" \" + appData.updateCount)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n\r\n })\r\n\r\n\r\n }\r\n else {\r\n response.json().then(async data => {\r\n if (data != null) {\r\n if (data.id == -1)\r\n showErrorMessage(\"BaÅŸvuru BaÅŸka Kullanıcı Tarafından GuncellenmeÅŸtir. Listeye Dönerek Güncel Bilgilere EriÅŸebilirsiniz\");\r\n else {\r\n data.Completed = data.completed;\r\n data.Started = data.started;\r\n setRec({ ...rec, ...data });\r\n getApp();\r\n }\r\n }\r\n });\r\n props.refreshParent();\r\n }\r\n });\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n\r\n const appiade = () => {\r\n showConfirmMessage(\"BaÅŸvuruyu redd edrek, müellife iade etmek istediÄŸinize emin misiniz?\", \"\", \"Evet\", \"Hayır\", () => setTimeout(() => {\r\n var comment = window.prompt(\"Lütfen iade etme nedenini açıklayınız\")\r\n if (comment == null || comment.length == 0) {\r\n showErrorMessage(\"Açıklama BoÅŸ Olamaz\");\r\n return;\r\n }\r\n\r\n appData.basvuruDurumu = UserPermConstants.Basvuru_Durumu_Iade_Edildi;\r\n appData.iadeNedeni = comment;\r\n appData.iadeEden = userName;\r\n saveApp();\r\n }, 100));\r\n\r\n }\r\n const commentSent = (rec) => {\r\n\r\n\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n return (\r\n <div >\r\n {/*fix this has error <fieldset disabled={appData[colname] == true || rec.userName != myusername}>*/}\r\n <fieldset >\r\n <div className=\"row \" disabled={rec.userName != myusername}>\r\n <div className=\"col-6\">\r\n <h5 className=\"text-primary \">{mission} </h5>\r\n {rec.duzeltmeDurum == true &&\r\n <span className=\"text-danger fw-bold\">({appData.duzeltmeSayi}{getDenetimUpdateCount()} Düzeltme Ä°stendi)</span>\r\n }\r\n {isEmpty(rec.Completed) && (rec.userName == myusername || role.indexOf(UserPermConstants.Kalan_Sure_Gorme)>-1) &&\r\n <div>\r\n <div className=\"text-muted\" >{getDenetimSure(rec, apptypeList, appData, \"Kalan Süre:\")}</div>\r\n </div>}\r\n </div>\r\n {rec.duzeltmeDurum == true && appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Duzeltme_Bekleniyor &&\r\n <div className=\"col-6 text-success text-end fw-bold\" >\r\n {duzeltmeKotasıDoldumu() == true && role.indexOf(UserPermConstants.Iade_Basvuruyu_Gonderme) == -1 ?\r\n <h6 className=\"text-danger \">Düzeltme Sınırı Aşıldı</h6>\r\n :\r\n <button type=\"button\" className=\"btn btn-sm btn-success\" onClick={() => { sendRevision(rec); }} >\r\n Düzeltmeyi Gönder\r\n </button>}\r\n </div>\r\n }\r\n\r\n\r\n {rec.Completed != null &&\r\n <div className=\"col-6 text-success text-end fw-bold\" >\r\n Kontrol Tamamlanmıştır.\r\n </div>}\r\n </div>\r\n <div className=\"row \">\r\n <div className=\"col-4\">\r\n Havale No:{rec.id}\r\n </div>\r\n <div className=\"col-4\">\r\n Havale Eden: {rec.mapperName+\" \"+rec.mapperFamily}\r\n </div>\r\n <div className=\"col-4\">\r\n Tarih: {rec.mappingDate}\r\n </div>\r\n\r\n </div>\r\n {rec.userName == myusername && <div className=\"row \">\r\n <div className=\"col-4\">\r\n Açıklama: {rec.message}\r\n </div>\r\n </div>}\r\n\r\n <div className=\"row \">\r\n <div className=\"col-12\">\r\n {isEmpty(rec.Started) == false &&\r\n <span className=\"text-secondary \">Kontrol BaÅŸlama: {rec.Started}</span>\r\n }\r\n {rec.duzeltmeDurum == true &&\r\n <span className=\"ms-2 text-secondary \">Düzeltme Talebi: {rec.duzeltmeIste}</span>\r\n }\r\n {isEmpty(rec.Completed) == false &&\r\n <span className=\"ms-2 text-secondary \">Kontrol Tamamlanma: {rec.Completed}</span>\r\n }\r\n </div>\r\n\r\n\r\n </div>\r\n <div className=\"row mt-2 mb-2\">\r\n <div className=\"col-12\">\r\n {rec.Message == null ? \"\" : rec.mapperUserName + \": \" + rec.Message}\r\n </div>\r\n </div>\r\n <div className=\"row mt-2 mb-2\">\r\n\r\n <div className=\"col-12 \" >\r\n <RevisionReqPanel mappingRec={rec} appData={appData} user={rec.userName} setCommentAfterStart={setCommentAfterStart} />\r\n </div>\r\n </div>\r\n\r\n {showControlButtons(rec)}\r\n\r\n\r\n </fieldset >\r\n </div >\r\n );\r\n }\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useLocation } from 'react-router-dom'\r\nimport { ajaxFail, isEmpty, useGlobalState, getappdata, showErrorMessage, showSuccessMessage} from '../GlobalState.js';\r\n\r\nimport NotePanel from './NotePanel.js';\r\nimport EventPanel from \"./EventPanel.js\";\r\nimport FilesPanel from \"./FilesPanel.js\";\r\nimport ApplicationAuthorPanel from \"./ApplicationAuthorPanel.js\";\r\nimport Sharing from './Sharing.js';\r\n//import $ from 'jquery';\r\nimport ApplicationPrint from \"./ApplicationPrint.js\";\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport AppMainData from \"./AppMainData.js\";\r\nimport TarifeMappingList from \"./TarifeMappingList.js\";\r\nimport HavaleYetkiliciPanel from \"./HavaleYetkiliciPanel.js\";\r\nimport BasvuruKabulPanel from \"./BasvuruKabulPanel.js\";\r\nimport OnayYetkilisiPanel from \"./OnayYetkilisiPanel.js\";\r\nimport DenetimPaneli from \"./DenetimPaneli.js\";\r\nimport EImzaList from '../Eimza/EImzaList.js';\r\nimport ApplicationList from './ApplicationList.js';\r\nimport Home from '../Dashboard/Home.js';\r\nimport MaksList from '../MAKS/MaksList.js';\r\n\r\n\r\nexport default function Application(props) {\r\n const [appData, setData] = useState(props.appData != null ? props.appData : location.state.rec);\r\n const [onmobile, setOnMobile] = useState(window.innerWidth < 680 ? true : false)\r\n const changeComponent = props.changeComponent;\r\n const [backPage, setBackPage] = useState(props.backButton);\r\n let location = useLocation();\r\n const [sabitsorulistData, setsabitsorulistData] = useState([]);\r\n const [userName, setUserName] = useGlobalState('userName');\r\n const [following, setFollowing] = React.useState();\r\n const ref = React.createRef();\r\n const [denetimpaenls, setDenetimPaenls] = useState([]);\r\n\r\n const [apptypeList, setAppTypeList] = useState(props.denetimList != null ? props.denetimList:[]);\r\n\r\n const [activePanel, setActivePanel] = useState(null)\r\n \r\n\r\n const [relatedapps, setRelatedapps] = useState([]);\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [sharingType, setSharingType] = useState('');\r\n var appType = apptypeList.find(x => x.name == appData.basvuruTipi && x.isadimi!=true)\r\n\r\n\r\n const zorunloBosBirakma = role.indexOf(UserPermConstants.Yeni_Basvuruda_Zorunlu_Alanlari_Bos_Birakabilme) == -1;\r\n\r\n useEffect(() => {\r\n \r\n isFollower();\r\n getRelatedApps();\r\n if (apptypeList == null || apptypeList.length == 0)\r\n getDenetimList();\r\n window.scrollTo(0, 0)\r\n if (appData != null && isEmpty(appData.temp) == false && appData.temp.includes(\"#\")) {\r\n setSharingType(appData.temp.split(\"#\")[1]);\r\n }\r\n }, [])\r\n\r\n\r\n if (appData != null && relatedapps != null && relatedapps.length > 0) {\r\n appData.relatedApps = relatedapps; //we use this to show related apps file in inlinefile component\r\n \r\n }\r\n\r\n\r\n const getDenetimList = () => {\r\n fetch(\"denetimlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setAppTypeList(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n var sidebarPanel = [];\r\n if (role.indexOf(\"kartPaylasimi\") > -1)\r\n sidebarPanel.push({ target: \"/appsharing\", state: {}, name: \"Paylaşım\", icon: \"fa fa-share-alt\" })\r\n\r\n\r\n\r\n //$(window).resize(function () {\r\n\r\n // if ($(this).width() < 680 && onmobile == false) {\r\n // setOnMobile(true)\r\n // }\r\n // else if (onmobile == true){\r\n // setOnMobile(false)\r\n // }\r\n //});\r\n\r\n\r\n\r\n const getApp = () => {\r\n fetch(\"getapp\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: appData.id\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n var operationPanel = [];\r\n if (role.indexOf(UserPermConstants.Basvuru_Onaylama) >= 0 && appData.archived != true && appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Taslak)\r\n operationPanel.push({ name: \"BaÅŸvuru Kabul\", panel: < BasvuruKabulPanel rec={appData} relatedApps={relatedapps} changeComponent={props.changeComponent} /> });\r\n if (role.indexOf(UserPermConstants.Havale_Yapma) >= 0\r\n && appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Taslak\r\n && appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Duzeltme_Bekleniyor\r\n && appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Iade_Edildi\r\n && appData.archived != true)\r\n operationPanel.push({ name: \"Havale\", panel: <HavaleYetkiliciPanel rec={appData} relatedapps={relatedapps} changeComponent={props.changeComponent} getApp={getApp} refreshParent={() => { getmypermissionsonproject(); getApp(); }} /> });\r\n\r\n if (role.indexOf(UserPermConstants.Basvuru_Onaylama_Kontrolorden_Sonraki_Biti_Onayi) >= 0\r\n && appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Taslak\r\n && appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Duzeltme_Bekleniyor\r\n && appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Iade_Edildi\r\n && appData.archived != true)\r\n operationPanel.push({ name: \"Onay\", panel: <OnayYetkilisiPanel rec={appData} changeComponent={props.changeComponent} /> });\r\n\r\n //if (role.indexOf(UserPermConstants.Ruhsat_Kesme) >= 0 && appData.onKontrol == true)\r\n // pan.push({ name: \"Ruhsat Kesme\", panel: <RuhsatKesmeYetkilisiPanel rec={appData} changeComponent={props.changeComponent} /> });\r\n\r\n operationPanel = operationPanel.map(x => <div className=\"mt-2\">\r\n <button type=\"button\" className=\"btn fw-bold btn-sm text-muted text-decoration-none\" onClick={(e) => { makeBold(e); setActivePanel(x.panel) }}>\r\n {x.name}\r\n </button>\r\n </div>)\r\n\r\n\r\n const isFollower = () => {\r\n fetch(\"isfollower\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: appData.id\r\n }).then(async response => {\r\n if (!response.ok) { ajaxFail(response); }\r\n else { setFollowing(true); }\r\n });\r\n }\r\n\r\n\r\n\r\n const changeFollow = (targeturl) => {\r\n fetch(targeturl, {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: appData.id\r\n }).then(async response => {\r\n if (!response.ok) { ajaxFail(response); }\r\n else { }\r\n });\r\n }\r\n\r\n const getRelatedApps = () => {\r\n fetch(\"getrelatedapps\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(appData.securityToken)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setRelatedapps(value)\r\n getmypermissionsonproject();\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const handleFollowingChange = (event) => {\r\n const target = event.target;\r\n if (target.checked)\r\n changeFollow(\"followapp\");\r\n else\r\n changeFollow(\"disfollowapp\");\r\n\r\n }\r\n\r\n\r\n\r\n const getmypermissionsonproject = (callback) => {\r\n fetch(\"getmypermissionsonproject\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: appData.id\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n if (data != null && data.length > 0) {\r\n data = JSON.parse(data);\r\n setDenetimPaenls(data);\r\n\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n const makeBold = (e) => {\r\n var btns = document.getElementById(\"buttonsbox\").querySelectorAll(\".btn\");\r\n btns.forEach(x => { if (x.classList.contains(\"btn-link\") == false) { x.classList.remove(\"btn-primary\"); x.classList.add(\"text-muted\") } })\r\n if (e == null) return;\r\n var b = e.target;\r\n b.classList.remove(\"text-muted\")\r\n b.classList.add(\"btn-primary\")\r\n }\r\n\r\n const zorunlu = (name) => {\r\n var r = sabitsorulistData.filter(x => x.name.toUpperCase() == name.toUpperCase() && x.basvuruTipi != null && x.basvuruTipi.includes(appData.basvuruTipi));\r\n if (r.length == 0)\r\n return \"*\";\r\n\r\n if (r[0].zorunlu == true)\r\n return \"\"\r\n return \"*\";\r\n }\r\n\r\n\r\n\r\n\r\n const saveApp = () => {\r\n fetch(\"saveapplication\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(appData)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async newapp => {\r\n if (newapp.updateCount < 0) {\r\n showErrorMessage(newapp.temp);\r\n getappdata(newapp.id, setData);\r\n\r\n }\r\n else {\r\n changeComponent(<ApplicationList changeComponent={changeComponent} />)\r\n }\r\n\r\n });\r\n }\r\n });\r\n }\r\n\r\n const handleRelatedAppSelect = (event) => {\r\n if (event.target.value == -1) return;\r\n props.changeComponent(<Application key={relatedapps[event.target.value].id} appData={relatedapps[event.target.value]} changeComponent={props.changeComponent}\r\n backButton={<Application key={appData.id} appData={appData} changeComponent={props.changeComponent} />} />)\r\n }\r\n\r\n\r\n const submitApp = (eimza) => {\r\n\r\n var appType = apptypeList.find(x => x.name == appData.basvuruTipi)\r\n\r\n if (document.getElementById(\"basvuruYapan\") == null) {\r\n setActivePanel(<AppMainData key={appData} surecList={props.surecList} appData={appData} denetimlist={denetimpaenls} changeComponent={changeComponent} setsabitsorulistData={setsabitsorulistData} apptypeList={apptypeList} refreshParent={() => { getmypermissionsonproject(); getApp(); }} />)\r\n\r\n }\r\n\r\n appData.eimzagonder = eimza;\r\n\r\n\r\n if (isEmpty(appData.basvuruTipi)) {\r\n showErrorMessage(\"baÅŸvuru tipi boÅŸ olamaz\"); return;\r\n }\r\n\r\n if (appData.changed == true) {\r\n showErrorMessage(\"BaÅŸvuru bilgileri deÄŸiÅŸtiÄŸinden dolayı göndermeden önce Kaydet butonuna basarak baÅŸvuruyu kaydediniz\"); return;\r\n }\r\n\r\n\r\n\r\n if (isEmpty(appData.basvuruYapan) && zorunlu(\"basvuruYapan\") == \"*\" && zorunloBosBirakma) {\r\n showErrorMessage(\"baÅŸvuru yapan boÅŸ olamaz\"); return;\r\n }\r\n if (isEmpty(appData.arsaSahibi) && appType.tasinamazSahibiZorunlu==true && zorunloBosBirakma) {\r\n showErrorMessage(\"Taşınmaz sahibi boÅŸ olamaz\"); return;\r\n }\r\n if (isEmpty(appData.arsaSahibiTel) && appType.tasinamazSahibiZorunlu == true && zorunloBosBirakma) {\r\n showErrorMessage(\"Taşınmaz sahibi telefonu boÅŸ olamaz\"); return;\r\n }\r\n if (isEmpty(appData.arsaSahibiTC) && appType.tasinamazSahibiZorunlu == true && zorunloBosBirakma) {\r\n showErrorMessage(\"Taşınmaz sahibi T.C boÅŸ olamaz\"); return;\r\n }\r\n //if (isEmpty(appData.mevki) && zorunlu(\"Mevki\") == \"*\" && zorunloBosBirakma) {\r\n // alert(\"mevki boÅŸ olamaz\"); return;\r\n //}\r\n if (isEmpty(appData.mahalle) && appType.mahalleZorunlu == true && zorunloBosBirakma) {\r\n showErrorMessage(\"mahalle boÅŸ olamaz\"); return;\r\n }\r\n if (isEmpty(appData.ada) && appType.adaZorunlu == true && zorunloBosBirakma) {\r\n showErrorMessage(\"ada boÅŸ olamaz\"); return;\r\n }\r\n //if (isEmpty(appData.idariMahalle) && zorunlu(\"IdariMahalle\") == \"*\" && zorunloBosBirakma) {\r\n // alert(\"idari mahalle boÅŸ olamaz\"); return;\r\n //}\r\n if (isEmpty(appData.sokak) && appType.sokakZorunlu == true && zorunloBosBirakma) {\r\n showErrorMessage(\"sokak boÅŸ olamaz\"); return;\r\n }\r\n if (isEmpty(appData.no) && appType.noZorunlu == true && zorunloBosBirakma) {\r\n showErrorMessage(\"no boÅŸ olamaz\"); return;\r\n }\r\n\r\n if (eimza == true)\r\n document.getElementById(\"eimzagonderbuttonSpinner\").hidden = false;\r\n else\r\n document.getElementById(\"gonderbuttonSpinner\").hidden = false;\r\n\r\n fetch(\"submitapplication\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(appData)\r\n }).then(async response => {\r\n var eimzab1 = document.getElementById(\"eimzagonderbuttonSpinner\");\r\n if (eimzab1 != null)\r\n eimzab1.hidden = true;\r\n\r\n eimzab1 = document.getElementById(\"gonderbuttonSpinner\");\r\n if (eimzab1 != null)\r\n eimzab1.hidden = true;\r\n\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async newapp => {\r\n if (newapp.updateCount == -1) {\r\n showErrorMessage(\"BaÅŸvuru bilgileri baÅŸka kullanıcı tarafından deÄŸiÅŸtiÄŸi için baÅŸvuru gönderilmedi. Lütfen sayfayı yenileyiniz.\");\r\n getappdata(newapp.id, setData);\r\n }\r\n else if (newapp.updateCount == -2) {\r\n showErrorMessage(\"BaÅŸvuruya devam edebilmek için kırmızı olarak iÅŸaretlenen zorunlu dosyaları yüklemeniz gerekmektedir.\", \"Zorunlu dosyaları (\" + newapp.temp + \") yükledikten sonra baÅŸvuruyu gönderebilirsiniz.\");\r\n newapp.temp = \"\";\r\n getappdata(newapp.id, setData);\r\n }\r\n else if (newapp.updateCount == -3) {\r\n showErrorMessage(newapp.temp);\r\n newapp.temp = \"\";\r\n getappdata(newapp.id, setData);\r\n }\r\n else {\r\n setTimeout(function () {\r\n showSuccessMessage(\"BaÅŸvurunuz GönderilmiÅŸtir\",\"\",()=>changeComponent(<ApplicationList changeComponent={changeComponent} />))\r\n \r\n }, 10)\r\n }\r\n });\r\n\r\n\r\n\r\n\r\n\r\n }\r\n });\r\n }\r\n\r\n const getControllorColor = (rec) => {\r\n if (isEmpty(rec.Completed) == false) return \"text-success\";\r\n if (rec.activeDenetim == rec.sira && rec.duzeltmeDurum == true) return \"text-warning\";\r\n if (rec.activeDenetim == rec.sira) return \"text-primary\";\r\n return \"text-muted\";\r\n }\r\n const getControllorDurumText = (rec) => {\r\n if (isEmpty(rec.Completed) == false) return <span class=\"badge rounded-pill bg-success ps-1\" title=\"Kontrol tamamlandı\">Kontrol Tamamlandı</span>;\r\n if (rec.activeDenetim == rec.sira && rec.duzeltmeDurum == true) return <span class=\"badge rounded-pill bg-warning ps-1\" title=\"Kontrolor düzeltme istemiÅŸ\">Düzeltme Bekleniyor</span>;\r\n if (rec.activeDenetim == rec.sira) return <span class=\"badge rounded-pill bg-primary ps-1\" title=\"Kontrol devam ediyor\">Kontrol AÅŸamasında</span>;\r\n return <span class=\"badge bg-secondary ps-1\" title=\"Sıra bekleniyor\">Sırada</span>;\r\n }\r\n\r\n var gonder = \"\";\r\n if (role.indexOf(UserPermConstants.BASKA_BASVURU_GONDERME) > -1 || appData.basvuruYapan == userName\r\n || sharingType == \"Düzenleme\") {\r\n if (isEmpty(appData.temp) == true || appData.temp.includes(\"Görüntüleme\") == false) {\r\n\r\n if (appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Taslak\r\n || appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Ucret_Bekleniyor\r\n || appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_GeriGonderildi) {\r\n gonder = <span id=\"GonderButton\" className=\"text-danger\"><button type=\"button\" className=\"btn btn-success rounded btn-sm m-1\" onClick={() => { submitApp(false) }}>\r\n Gönder\r\n <span class=\"ms-1 spinner-border spinner-border-sm\" id=\"gonderbuttonSpinner\" hidden></span>\r\n </button>\r\n {/*{role.indexOf(\"TC$EIMZA$\") > -1 && role.indexOf(UserPermConstants.EImzali_Gonderme) > -1 && < button type=\"button\" className=\"btn btn-success btn-sm \" onClick={() => { submitApp(true) }}>*/}\r\n {/* E-Ä°mza ile Gönder*/}\r\n {/* <span class=\"ms-1 spinner-border spinner-border-sm\" id=\"eimzagonderbuttonSpinner\" hidden></span>*/}\r\n\r\n {/*</button>}*/}\r\n\r\n </span>\r\n }\r\n }\r\n }\r\n\r\n\r\n const getArchiveButton = () => {\r\n if (appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Ruhsat_Verildi || appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Onay_Verildi ||\r\n appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Iade_Edildi) {\r\n if (appData.archived != true && role.indexOf(UserPermConstants.Basvuru_Arsiv) != -1) { return <button className=\"btn btn-sm btn-primary rounded m-1\" onClick={() => { appData.archived = true; saveApp(); }}> ArÅŸivle</button> }\r\n }\r\n if (appData.archived == true && role.indexOf(UserPermConstants.Basvuru_Arsiv_Cikar) != -1) return <button className=\"btn btn-sm btn-primary rounded m-1\" onClick={() => { appData.archived = false; saveApp(); }}> ArÅŸivden Çıkar</button>\r\n return \"\";\r\n }\r\n\r\n\r\n\r\n const isVisibleForUser = () => {\r\n try {\r\n if (appData.basvuruYapan == userName)\r\n return true;\r\n if (denetimpaenls != null && denetimpaenls.some(x => x.userName == userName))\r\n return true;\r\n\r\n if (role.indexOf(UserPermConstants.Havale_Yapma) > -1 || role.indexOf(UserPermConstants.Basvuru_Liste) > -1)\r\n return true;\r\n\r\n\r\n // müellif listesinde varsa dosyayı gostermiyoruz\r\n if (isEmpty(appData.müellifKullanıcıAdı) == false && appData.müellifKullanıcıAdı.includes(userName + \" \"))\r\n return false;\r\n /* if (rec.appId == appData.id || role.indexOf(UserPermConstants.Basvuru_Onaylama) > -1)\r\n return true;\r\n if (appData.relatedApps != null && appData.relatedApps.map(x => x.id).includes(rec.appId) && role.indexOf(UserPermConstants.Ilgili_Basvurulari_Gorme) > -1)\r\n return true;*/\r\n return true;\r\n }\r\n catch (ex) {\r\n console.log(ex);\r\n }\r\n return false;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n return <div className=\"row p-2 pb-5\" style={{ \"background-color\": \"#ebebeb\" }} >\r\n\r\n <div className=\"row mb-2 p-0\" >\r\n <div className=\"col-12 col-5 col-md-5 text-danger fw-bold\">\r\n {appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Duzeltme_Bekleniyor &&\r\n \"BaÅŸvuru, Düzeltme Bekleniyor aÅŸamasındadır. Düzeltmeler tamamlandıktan sonra ilgili kontrol panelinden “DÃœZELTMEYÄ° GÖNDER†tuÅŸuna basılması gerekmektedir. \"\r\n }\r\n {appData.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Iade_Edildi ? (\"Ä°ade Nedeni: \"+appData.iadeNotu):\"\"\r\n \r\n }\r\n </div>\r\n <div className=\"col-12 col-md-7 align-items-end justify-content-end text-end\">\r\n\r\n <div class=\"btn-group flex-wrap\" data-toggle=\"buttons\" role=\"group\">\r\n\r\n\r\n\r\n\r\n <button className=\"btn btn-sm btn-primary rounded m-1\" onClick={() => { changeComponent(backPage != null ? backPage : <Home changeComponent={props.changeComponent} />) }}> <i className=\"fa fa-arrow-circle-left pe-1\"></i> Geri Don</button>\r\n\r\n\r\n {getArchiveButton()}\r\n {appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Taslak && appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Taslak &&apptypeList!=null&&\r\n <button className=\"btn btn-sm btn-primary rounded m-1 ps-3 pe-3\" onClick={() => { changeComponent(<ApplicationPrint rec={appData} changeComponent={changeComponent} backButton={props.backButton} appTypes={apptypeList} />) }}> <i className=\"fa fa-print pe-1\"></i> Dilekçe</button>}\r\n\r\n\r\n {gonder}\r\n\r\n\r\n {isVisibleForUser() &&\r\n <button className=\"btn btn-sm btn-primary rounded m-1\" onClick={() => { changeComponent(<Sharing rec={appData} changeComponent={changeComponent} backButton={props.backButton} />) }}>\r\n <i className=\"fa fa-share-alt pe-1\"></i>\r\n PaylaÅŸ</button>\r\n }\r\n\r\n <div class=\"form-check form-switch text-primary pt-1 pe-3\">\r\n Takip Et<input class=\"form-check-input\" type=\"checkbox\" id=\"mySwitch\" name=\"darkmode\" value=\"yes\" defaultChecked={following} onClick={handleFollowingChange} />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"row\" >\r\n\r\n <div className=\"col-md-3 col-12\" id=\"buttonsbox\">\r\n\r\n <div className=\"bg-white rounded-3 p-3 \" >\r\n <div>{appType!=null&&\r\n <div className=\"fw-bold text-black text-center mb-1\"> {(appType.adaAktif == true || isEmpty(appData.ada) == false) ? appData.ada + \"-\" + appData.arsaSahibi : appData.basvuruTipi} < span className=\"ps-3 text-muted fw-bold text-end\"> {appData.id} </span></div>\r\n }\r\n </div>\r\n <div>\r\n {onmobile == true && <div className=\"text-black text-center mb-3\"> {appData.basvuruTipi}</div>}\r\n </div>\r\n <div className=\"mt-2\">\r\n <button type=\"button\" className={\"btn fw-bold btn-sm text-decoration-none text-left \" + (props.targetEimza == null ? \" btn-primary\" : \"text-muted\")} onClick={(e) => { makeBold(e); setActivePanel(<AppMainData key={appData} surecList={props.surecList} appData={appData} apptypeList={apptypeList} denetimlist={denetimpaenls} changeComponent={changeComponent} setsabitsorulistData={setsabitsorulistData} refreshParent={() => { getmypermissionsonproject(); getApp(); }} />) }}>\r\n BaÅŸvuru Bilgileri\r\n </button>\r\n\r\n </div>\r\n <div className=\"mt-2\">\r\n <button type=\"button\" className=\"btn fw-bold btn-sm text-muted text-decoration-none \" onClick={(e) => { makeBold(e); setActivePanel(<NotePanel appData={appData} />) }}>\r\n Notlar\r\n </button>\r\n\r\n </div>\r\n <div className=\"mt-2\">\r\n <button type=\"button\" className=\"btn fw-bold btn-sm text-muted text-decoration-none \" onClick={(e) => { makeBold(e); setActivePanel(<EventPanel appData={appData} />) }}>\r\n GeçmiÅŸ Aktiviteler\r\n </button>\r\n </div>\r\n {appType!=null&&appType.muellifAktif == true && <div className=\"mt-2\">\r\n <button type=\"button\" className=\"btn fw-bold btn-sm text-muted text-decoration-none \" onClick={(e) => {\r\n makeBold(e); setActivePanel(<ApplicationAuthorPanel appData={appData} setActivePanel={setActivePanel} denetimpaenls={denetimpaenls} />)\r\n }}>\r\n Müellif Listesi\r\n </button>\r\n </div>}\r\n\r\n <div className=\"mt-2\">\r\n <button type=\"button\" className=\"btn fw-bold btn-sm text-muted text-decoration-none \" onClick={(e) => { makeBold(e); setActivePanel(<FilesPanel appData={appData} showAll={true} setActivePanel={setActivePanel} changeComponent={changeComponent} kontrolorList={denetimpaenls} />) }}>\r\n Dosyalar\r\n </button>\r\n </div>\r\n\r\n\r\n <div className=\"mt-2\">\r\n <button type=\"button\" className={\"btn fw-bold btn-sm text-decoration-none \" + (props.targetEimza != null ? \" btn-primary\" : \"text-muted\")} id=\"EimzaButton\" onClick={(e) => { makeBold(e); setActivePanel(<EImzaList appData={appData} setActivePanel={setActivePanel} changeComponent={changeComponent} />) }}>\r\n E-Ä°mza\r\n </button>\r\n </div>\r\n {role.indexOf(UserPermConstants.Tarife_Gorme) > -1 && \r\n <div className=\"mt-2\">\r\n <button type=\"button\" className={\"btn fw-bold btn-sm text-decoration-none \" + (props.targetEimza != null ? \" btn-primary\" : \"text-muted\")} id=\"TarifeButton\" onClick={(e) => { makeBold(e); setActivePanel(<TarifeMappingList appData={appData} setActivePanel={setActivePanel} changeComponent={changeComponent} />) }}>\r\n Tarifeler\r\n </button>\r\n </div>}\r\n\r\n {role.indexOf(UserPermConstants.MAKS_Veri_Girisi) >= 0 && <div className=\"mt-2 mb-5\">\r\n <button type=\"button\" className=\"btn fw-bold btn-sm text-muted text-decoration-none \" id=\"MaksButton\" onClick={(e) => { makeBold(e); setActivePanel(<MaksList appData={appData} setActivePanel={setActivePanel} />) }}>\r\n MAKS\r\n </button>\r\n </div>\r\n }\r\n\r\n\r\n <div className='row mt-4 mb-5 pb-3 border-top' >\r\n {(relatedapps.length > 0 && appData.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Taslak\r\n && role.indexOf(UserPermConstants.Ilgili_Basvurulari_Gorme) > -1) && isEmpty(appData.ada)==false && isEmpty(appData.mahalle)==false && < div className=\"col-12 ps-2 pt-1\">\r\n <label htmlFor=\"relatedapps\" className=\"form-label\">Ä°lgili BaÅŸvurular</label>\r\n <div >\r\n <select className=\"form-select form-select-sm\" id=\"relatedapps\" name=\"relatedapps\" onChange={handleRelatedAppSelect} >\r\n {relatedapps.map((r, idx) => <option value={idx} selected={r.id == appData.id}>{r.basvuruTipi + \" (\" + r.id + \")\"}</option>)}\r\n </select>\r\n </div>\r\n </div>}\r\n </div>\r\n\r\n <div className=\"border-top\" >\r\n {operationPanel}\r\n </div>\r\n\r\n\r\n <div className='row mt-5 mb-5 pb-4'>\r\n {denetimpaenls.map(rec => <div key={ rec.id} className='row mt-4 border-top pt-1'>\r\n <div className=\"col-12 text-center\">\r\n {getControllorDurumText(rec)}\r\n </div>\r\n <div className=\"col-12 ps-1\">\r\n <div className=\"text-dark small\">\r\n {rec.kname} {rec.kfamily }\r\n </div>\r\n <button type=\"button\" className={getControllorColor(rec) + \" btn fw-bold btn-link btn-sm text-decoration-none p-0\"}\r\n onClick={() => { makeBold(null); setActivePanel(<DenetimPaneli key={rec.id} rec={rec} appData={appData} mission={rec.Name} relatedapps={relatedapps} apptypeList={apptypeList} refreshParent={() => { getmypermissionsonproject(); getApp(); }} denetimlist={denetimpaenls} changeComponent={props.changeComponent} />) }}>\r\n {rec.Name == null ? <i className=\"fa fa-question-circle text-danger\" style={{fontSize:\"24px\"}}></i> :rec.Name}\r\n </button>\r\n {rec.Name == null && <div className=\"text-danger small\">{rec.denetimID} numaralı iÅŸ adımı bulunamadı</div>}\r\n </div>\r\n </div>)}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"col-md-9 col-12 rounded-3\">\r\n\r\n <div className=\"bg-white rounded-3 p-2\" >\r\n\r\n \r\n\r\n {activePanel != null ? activePanel :\r\n props.targetEimza == null ?\r\n <AppMainData key={appData} appData={appData} surecList={props.surecList} denetimlist={denetimpaenls} apptypeList={apptypeList} changeComponent={changeComponent} setsabitsorulistData={setsabitsorulistData} setData={setData} refreshParent={() => { getmypermissionsonproject(); getApp(); }} />\r\n : < EImzaList appData={appData} targetEimza={props.targetEimza} setActivePanel={setActivePanel} changeComponent={changeComponent}/>}\r\n </div>\r\n\r\n\r\n </div> </div>\r\n </div>\r\n\r\n}\r\n\r\n\r\n\r\n","\r\n\r\nimport React, { useState, useEffect } from 'react';\r\n\r\n\r\nexport default function VTable(props) {\r\n const data = props.data;\r\n const cols = props.cols;\r\n const headers = props.headers;\r\n const showRowNumber = props.showRowNumber;\r\n const rowClick = props.rowClick;\r\n const href = props.href;\r\n const rowDelete = props.rowDelete;\r\n\r\n\r\n return <div >\r\n <div className=\"mt-1\" >\r\n <div className=\"table-responsive\">\r\n <table className='table mt-3 table-vdstriped' aria-labelledby=\"tabelLabel\">\r\n {headers != null && <thead >\r\n {headers.map(col => <th className='text-start fw-bold'> <a className=\"text-decoration-none\" href=\"#\" > {col} </a> </th>)}\r\n </thead>}\r\n <tbody>\r\n {data.map((rec, idx) =>\r\n <tr>\r\n {showRowNumber == true && <td>\r\n {idx + 1}\r\n </td>}\r\n {cols.map(col => <td> <a className=\"text-decoration-none\" href={href == null ? \"#\" : href + \"\" + rec[props.hrefid]} onClick={() => { if (rowClick) rowClick(idx, rec, col) }}> {rec[col]} </a> </td>)}\r\n {rowDelete != null &&\r\n <td className=\"text-end\"> <a className=\"text-decoration-none material-icons align-middle\" href=\"#\" onClick={() => { rowDelete(idx, rec) }}> delete </a> </td>}\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n}\r\n\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, chartColors, useGlobalState, isEmpty, exportExcel } from '../GlobalState.js';\r\nimport ReactDOM from 'react-dom';\r\nexport default function AppMonthStatistic(props) {\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [records, setRecords] = useState(null);\r\n const [yil, setYil] = useState(-1);\r\n const [years, setYears] = useState([]);\r\n const [appTypeGroups, setappTypeGroups] = useState([]);\r\n const [appTypes, setappTypes] = useState([]);\r\n\r\n const [selectedappTypeGroup, setselectedAppTypeGroup] = useState(null);\r\n const [selectedappType, setSelectedappType] = useState(null);\r\n\r\n \r\n var sortField = null;\r\n var sortDirection = {}\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchAppTypeGrupList();\r\n \r\n\r\n const script = document.createElement(\"script\");\r\n script.src = \"https://www.gstatic.com/charts/loader.js\";\r\n script.async = true;\r\n document.getElementById(\"myscript\").appendChild(script);\r\n script.onload = () => {\r\n var sp = document.getElementById(\"loadspin\");\r\n if (sp != null)\r\n sp.hidden = false;\r\n window.google.charts.load(\"current\", { packages: ['corechart'] });\r\n window.google.charts.setOnLoadCallback(getAppTypes);\r\n \r\n }\r\n\r\n }, [])\r\n\r\n\r\n const myCompare = (a, b) => {\r\n if (sortField == null)\r\n sortField = \"transactionUUID\"\r\n var av = a[sortField];\r\n var bv = b[sortField];\r\n if (av == null && bv == null)\r\n return 0;\r\n if (av == null && bv != null)\r\n return -1 * sortDirection[sortField];\r\n if (av != null && bv == null)\r\n return 1 * sortDirection[sortField];\r\n\r\n if (typeof av === 'string' || av instanceof String)\r\n if (typeof bv === 'string' || bv instanceof String)\r\n return av.localeCompare(bv) * sortDirection[sortField];\r\n\r\n if (av < bv) {\r\n return -1 * sortDirection[sortField];\r\n }\r\n if (av > bv) {\r\n return 1 * sortDirection[sortField];\r\n }\r\n return 0;\r\n }\r\n\r\n\r\n const sortList = (fildname, data) => {\r\n sortField = fildname;\r\n if (sortDirection[sortField] == null || sortDirection[sortField] == -1) {\r\n sortDirection[sortField] = 1;\r\n }\r\n else {\r\n sortDirection[sortField] = -1;\r\n }\r\n let sortablelist = [];\r\n\r\n data.forEach(function (item) {\r\n var obj = {};\r\n obj.ay = item[0];\r\n obj.toplam = item[1];\r\n sortablelist.push(obj); \r\n })\r\n sortablelist.sort(myCompare);\r\n\r\n let temp = [[\"this will be removed by generatetable\"]]\r\n sortablelist.forEach(function (item) {\r\n temp.push([item.ay, item.toplam]);\r\n })\r\n ReactDOM.render(generateTable(temp), document.getElementById(\"tablePart\"))\r\n }\r\n\r\n\r\n const fetchAppTypeGrupList = () => {\r\n fetch(\"apptypegroupslist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setappTypeGroups(value);\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n const getAppTypes = () => {\r\n fetch(\"denetimlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n value = value.filter(x => x.isadimi != true);\r\n setappTypes(value);\r\n populateProjectData();\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const generateTable = (data) => {\r\n data.shift();\r\n return <div className=\"table-responsive\">\r\n <table className='table mt-3 table-vdstriped p-0' aria-labelledby=\"tabelLabel\" id=\"reportTable\">\r\n <thead >\r\n <th>\r\n\r\n </th>\r\n <th className=\"text-start\">\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"ay\", data)} > Ay </button>\r\n </th>\r\n <th className=\"text-start\">\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"toplam\", data)} > Toplam BaÅŸvuru </button>\r\n </th>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {data.map((rec, idx) =>\r\n <tr>\r\n <td className=\"text-start\">\r\n {idx + 1}\r\n </td>\r\n <td className=\"text-start\">\r\n {rec[0]}\r\n </td >\r\n <td className=\"text-start\">\r\n {rec[1]}\r\n </td>\r\n </tr>\r\n )}\r\n <tr className=\"text-start text-success fw-bold\">\r\n \r\n <td ></td>\r\n <td className=\"text-start\">\r\n Toplam\r\n </td>\r\n <td className=\"text-start\">\r\n {data.reduce((s, rec) => s + rec[1], 0)}\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n }\r\n\r\n\r\n\r\n const drawChart = (dataarray, target, ftitle) => {\r\n var data = window.google.visualization.arrayToDataTable(dataarray);\r\n var options = {\r\n chartArea: {\r\n // leave room for y-axis labels\r\n width: '90%',\r\n height: '90%'\r\n },\r\n lineWidth: 4,\r\n \r\n curveType: 'function',\r\n width: '100%',\r\n /*title: ftitle,*/\r\n legend: { position: 'none' },\r\n vAxis: {\r\n minValue: 0,\r\n gridlines: {\r\n color: \"EEF8FB\"\r\n },\r\n\r\n minorGridlines: {\r\n color: 'transparent'\r\n\r\n },\r\n \r\n },\r\n animation: {\r\n duration: 1200,\r\n easing: 'out',\r\n \"startup\": true\r\n },\r\n\r\n };\r\n var chart = new window.google.visualization.AreaChart(document.getElementById(target));\r\n chart.draw(data, options);\r\n ReactDOM.render(generateTable(dataarray), document.getElementById(\"tablePart\"));\r\n }\r\n\r\n\r\n\r\n\r\n const populateProjectData = () => {\r\n fetch(\"getuserapps\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n\r\n response.json().then(async data => {\r\n data = JSON.parse(data);\r\n const years = [...new Set(data.map(item => {\r\n const date = item.basvuruTarihi;\r\n return date ? date.split(/[./]/)[0] : null; \r\n }).filter(year => year !== null))]; \r\n\r\n setYears(years.sort());\r\n setRecords(data)\r\n\r\n \r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n if (records != null) {\r\n var dataarray = [];\r\n var colors = chartColors;\r\n var aylar = ['Ocak', 'Åubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temuz', 'AÄŸustos', 'Eylul', 'Ekim', 'Kasım', 'Aralık'];\r\n\r\n\r\n dataarray.push(['Durum', 'Toplam', { role: \"style\" }]);\r\n var temp = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\r\n var rec = 0;\r\n for (var i = 0; i < records.length; i++) {\r\n\r\n if (!isEmpty(records[i].basvuruTarihi) && records[i].basvuruDurumu != 1) {\r\n\r\n if (yil != -1 && !records[i].basvuruTarihi.includes(yil))\r\n continue;\r\n\r\n if (selectedappType != null && selectedappType != -1 && records[i].basvuruTipi != selectedappType)\r\n continue;\r\n if (selectedappTypeGroup != null && selectedappTypeGroup!=-1) {\r\n var apptypes = appTypes.filter(x => x.grup == selectedappTypeGroup).map(x=>x.name)\r\n if (!apptypes.includes(records[i].basvuruTipi))\r\n continue;\r\n }\r\n var dt = Number(records[i].basvuruTarihi.substring(5, 7));\r\n temp[dt] = temp[dt] + 1;\r\n\r\n }\r\n }\r\n\r\n for (var i = 0; i < 12; i++) {\r\n dataarray.push([aylar[i], temp[i + 1], colors[i]]);\r\n }\r\n\r\n drawChart(dataarray, 'mychart', '2022 Genel Durum');\r\n }\r\n\r\n //appData.basvuruDurumu != \"Kontrol Ediliyor\"\r\n return (\r\n <div className=\" p-1 mt-1 me-2 border rounded-1\" >\r\n <div id=\"myscript\"></div>\r\n <div className=\"row\">\r\n <div className=\"col-11\">\r\n <h4>Aylık BaÅŸvuru Sayısı</h4>\r\n </div>\r\n <div className=\"col-1 text-end\">\r\n <a download=\"report.csv\" id=\"downloadlink\" onClick={() => { exportExcel(\"reportTable\", \"downloadlink\") }} href=\"#\" className=\"btn btn-link btn-sm text-decoration-none text-success\"><i class=\"fa fa-file-excel-o\" aria-hidden=\"true\"></i></a>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row\">\r\n <div className=\"col-md-3 col-12\">\r\n BaÅŸvuru Yılı\r\n <select className=\"form-select form-select-sm\" id=\"basvurutipleri\" name=\"basvuruTipi\" required={true} onChange={(e) => setYil(e.target.value)}>\r\n <option value={-1}> </option>\r\n {years.map(y=>\r\n <option key={y} value={y}>\r\n {y}\r\n </option>\r\n )}\r\n </select>\r\n </div>\r\n <div className=\"col-md-3 col-12\">\r\n BaÅŸvuru Gurubu\r\n <select className=\"form-select form-select-sm\" id=\"grup\" name=\"grup\" required={true} onChange={\r\n (e) => {\r\n document.getElementById(\"apptype\").selectedIndex = 0;\r\n setselectedAppTypeGroup(e.target.value);\r\n setSelectedappType(null);\r\n }} >\r\n <option value={-1}> </option>\r\n {appTypeGroups.map(x => <option value={x.id}>{x.name}</option>)}\r\n </select>\r\n </div>\r\n <div className=\"col-md-3 col-12\">\r\n BaÅŸvuru Tipi\r\n <select className=\"form-select form-select-sm\" id=\"apptype\" name=\"appType\" required={true} onChange={(e) => {\r\n document.getElementById(\"grup\").selectedIndex = 0;\r\n setselectedAppTypeGroup(null);\r\n setSelectedappType(e.target.value);\r\n }\r\n } >\r\n <option value={-1}> </option>\r\n {appTypes.map(x => <option value={x.name}>{x.name}</option>)}\r\n </select>\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row \">\r\n <div className=\"col-12 ps-2 m-0 text-center\">\r\n <div id=\"mychart\" style={{ \"height\": \"600px\" }}>\r\n <div class=\"spinner-border\" id=\"mevki_snipper\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"row mt-3\">\r\n <div className=\"col-12 ps-2 m-0 text-center\">\r\n <div id=\"tablePart\" className=\"w-100 text-center\"><div class=\"spinner-border\" id=\"loadspin\" hidden></div></div>\r\n </div>\r\n </div>\r\n\r\n \r\n </div>\r\n );\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport MessagePanel from '../User/MessagePanel';\r\nimport { ajaxFail } from '../GlobalState.js';\r\n\r\nexport default function MessageMenu(props) {\r\n\r\n\r\n\r\n const [msglist, setMessages] = React.useState(null);\r\n\r\n useEffect(() => {\r\n getMessageList();\r\n }, []);\r\n\r\n\r\n\r\n const getMessageList = () => {\r\n fetch(\"getmymessages\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setMessages(data);\r\n });\r\n }\r\n });\r\n }\r\n\r\n var cc = 0;\r\n var menutxt = <span id=\"unreadmessagecount\" class=\"badge rounded-pill \" > {cc}</span>;\r\n if (msglist != null) {\r\n for (let i = 0; i < msglist.length; i++)\r\n if (msglist[i].opened != true)\r\n cc++;\r\n if (cc > 0)\r\n menutxt = <span id=\"unreadmessagecount\" class=\"badge rounded-pill bg-primary\" > {cc}</span>;\r\n }\r\n\r\n\r\n return <a href=\"#\" onClick={() => { props.changeComponent(<MessagePanel messages={msglist} changeComponent={props.changeComponent}/>) }}> <i className=\"fa fa-comment-o\"></i> Mesajlarım {menutxt}</a>\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport { useGlobalState } from '../GlobalState.js';\r\n\r\nimport $ from 'jquery';\r\n\r\nexport default function MAKSGorevli(props) {\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [rec, setRec] = useState({});\r\n const [maksrec, setMaksRec] = useState(props.rec);\r\n const [takiplist, setTakiplist] = useState(null);\r\n const userData = props.userData;\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n\r\n }, [])\r\n\r\n const remove = (id) => {\r\n\r\n showConfirmMessage(\"Silmel istediÄŸinizden emin misniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n fetch(\"removemaksgorevli\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setTakiplist(value)\r\n })\r\n }\r\n });\r\n });\r\n }\r\n\r\n const fetchList = (e) => {\r\n fetch(\"maksgorevlilist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n ,\r\n body: maksrec.id\r\n }).then(async response => {\r\n\r\n\r\n if (!response.ok) {\r\n response.text().then(async data => {\r\n showErrorMessage(data);\r\n setTakiplist([])\r\n });\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setTakiplist(data)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const getDefult = (name) => {\r\n if (userData == null)\r\n return \"\";\r\n return userData[name];\r\n }\r\n\r\n\r\n\r\n const save = () => {\r\n rec.maksBasvuruId = maksrec.id;\r\n\r\n fetch(\"savemaksgorevli\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n $('.root').find('input').val('');\r\n $('.root').find('select').val('');\r\n setTakiplist(value)\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n rec[target.name] = value;\r\n }\r\n\r\n\r\n\r\n var recid = getDefult(\"id\");\r\n\r\n useEffect(() => {\r\n\r\n }, [])\r\n\r\n\r\n\r\n\r\n const getName = (value) => {\r\n if (value == 1) return value + \"- Düzenleyen Teknik Eleman\";\r\n if (value == 2) return value + \"- Kontrol Eden \"\r\n if (value == 3) return value + \"- Onaylayan \"\r\n return \"\";\r\n\r\n }\r\n\r\n\r\n\r\n const renderToList = () => {\r\n\r\n if (takiplist == null)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n\r\n\r\n if (takiplist.length == 0)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n\r\n var mytable =\r\n <div className=\"mt-1 \">\r\n <div className=\"table-responsive \">\r\n <table className='table table-vdstriped border' aria-labelledby=\"tabelLabel\">\r\n\r\n\r\n <tbody id=\"myTable\">\r\n {takiplist.map(apprec =>\r\n <tr key={apprec.id} style={{ \"height\": \"25px\" }}>\r\n <td>\r\n {getName(apprec.gorevliTip)}\r\n </td>\r\n <td>\r\n {apprec.regDate}\r\n </td>\r\n <td>\r\n {apprec.ad}\r\n </td>\r\n <td>\r\n {apprec.soyad}\r\n </td>\r\n <td>\r\n {apprec.tc}\r\n </td>\r\n <td>\r\n {apprec.unvan}\r\n </td>\r\n <td>\r\n {apprec.tarih}\r\n </td>\r\n <td>\r\n <div style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }} className=\"text-end\">\r\n {<a href=\"#\" className=\" text-decoration-none \" onClick={() => { remove(apprec.id) }}> <i className=\"fa fa-trash align-middle\" style={{ \"font-size\": \"20px\" }}></i></a>}\r\n </div>\r\n\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n if (maksrec == null || maksrec.id == null) {\r\n return <div className=\"text-start text-muted \">\r\n Görevli eklemek için önce baÅŸvuruyu kayediniz\r\n </div>\r\n }\r\n\r\n\r\n\r\n return (\r\n <div className=\"mb-2 root\">\r\n\r\n\r\n <div className=\"row\">\r\n <div className=\"text-start col-12 fw-bold text-primary\">\r\n Görevli\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mt-1\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Görevli Tipi</label>\r\n <select class=\"form-select form-select-sm\" defaultValue={getDefult(\"gorevliTip\")} id=\"gorevliTip\" name=\"gorevliTip\" onChange={handleInputChange} >\r\n <option selected></option>\r\n <option value=\"1\">Düzenleyen Teknik Eleman</option>\r\n <option value=\"2\">Kontrol Eden</option>\r\n <option value=\"3\">Onaylayan</option>\r\n\r\n </select>\r\n\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Ad </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ad\" name=\"ad\" defaultValue={userData[\"name\"]} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Soyad </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"soyad\" name=\"soyad\" defaultValue={userData[\"family\"]} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">TC </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"tc\" name=\"tc\" defaultValue={userData[\"tc\"]} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n <div className=\"row mt-1\">\r\n \r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Unvan </label>\r\n <select class=\"form-select form-select-sm\" id=\"unvan\" name=\"unvan\" onChange={handleInputChange} >\r\n <option value=\"\" selected></option>\r\n {userData.userType.split(\",\").map(x => <option value={x}>{x}</option>)}\r\n </select>\r\n\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Tarih </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"tarih\" name=\"tarih\" defaultValue={userData[\"tarih\"]} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-end col-6\">\r\n <br />\r\n <button className=\"btn btn-sm btn-link\" onClick={() => { save() }} ><i className=\"fa fa-plus align-middle\" style={{ \"font-size\": \"20px\" }}></i></button>\r\n </div>\r\n </div>\r\n {renderToList()}\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport { useGlobalState } from '../GlobalState.js';\r\n\r\nimport $ from 'jquery';\r\n\r\nexport default function MaksProje(props) {\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [rec, setRec] = useState({});\r\n const [maksrec, setMaksRec] = useState(props.rec);\r\n const [takiplist, setTakiplist] = useState(null);\r\n const adres = props.adres;\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n\r\n }, [])\r\n\r\n const remove = (id) => {\r\n\r\n showConfirmMessage(\"Silmel istediÄŸinizden emin misniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n fetch(\"removemaksproje\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setTakiplist(value)\r\n })\r\n }\r\n });\r\n });\r\n }\r\n\r\n const fetchList = (e) => {\r\n fetch(\"maksprojelist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: maksrec.id\r\n }).then(async response => {\r\n\r\n\r\n if (!response.ok) {\r\n response.text().then(async data => {\r\n showErrorMessage(data);\r\n setTakiplist([])\r\n });\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setTakiplist(data)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const getDefult = (name) => {\r\n if (rec == null)\r\n return \"\";\r\n return rec[name];\r\n }\r\n\r\n\r\n\r\n const save = () => {\r\n rec.maksBasvuruId = maksrec.id;\r\n\r\n fetch(\"savemaksproje\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n $('.root').find('input').val('');\r\n setTakiplist(value)\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n rec[target.name] = value;\r\n }\r\n\r\n\r\n\r\n var recid = getDefult(\"id\");\r\n\r\n useEffect(() => {\r\n\r\n }, [])\r\n\r\n\r\n\r\n\r\n\r\n const getName = (value) => {\r\n if (value == 1) return value + \"- Mimari\";\r\n if (value == 2) return value + \"- Statik \"\r\n if (value == 3) return value + \"- Elektrik \"\r\n if (value == 4) return value + \"- DiÄŸer \"\r\n return \"\";\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const renderToList = () => {\r\n\r\n if (takiplist == null)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n\r\n\r\n if (takiplist.length == 0)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n\r\n var mytable =\r\n <div className=\"mt-1 \">\r\n <div className=\"table-responsive \">\r\n <table className='table table-vdstriped border' aria-labelledby=\"tabelLabel\">\r\n {/*<thead>*/}\r\n {/* <tr >*/}\r\n {/* <th className=\"text-start\">Id</th>*/}\r\n {/* <th className=\"text-start\">Kaytı Tarihi</th>*/}\r\n {/* <th className=\"text-start\">Pafta</th>*/}\r\n {/* <th className=\"text-start\">Ada</th>*/}\r\n {/* <th className=\"text-start\">Parsel</th>*/}\r\n {/* <th className=\"text-start\">Dış Kapı</th>*/}\r\n {/* <th className=\"text-start\">Arsa Sahibi</th>*/}\r\n {/* <th className=\"text-start\">TC</th>*/}\r\n {/* <th className=\"text-start\"></th>*/}\r\n {/* </tr>*/}\r\n {/*</thead>*/}\r\n\r\n <tbody id=\"myTable\">\r\n {takiplist.map(apprec =>\r\n <tr key={apprec.id} style={{ \"height\": \"25px\" }}>\r\n <td>\r\n {getName(apprec.projeOnayKonuKod)}\r\n </td>\r\n <td>\r\n {apprec.regDate}\r\n </td>\r\n \r\n <td>\r\n {apprec.soyad}\r\n </td>\r\n <td>\r\n {apprec.tc}\r\n </td>\r\n <td>\r\n {apprec.acikAdres}\r\n </td>\r\n <td>\r\n {apprec.projeOnayKonuDiger}\r\n </td>\r\n <td>\r\n {apprec.onayTarih}\r\n </td>\r\n <td>\r\n {apprec.bagimsizBolumKimlikNo}\r\n </td>\r\n <td>\r\n {apprec.odaSicilNo}\r\n </td>\r\n\r\n <td>\r\n <div style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }} className=\"text-end\">\r\n {<a href=\"#\" className=\" text-decoration-none \" onClick={() => { remove(apprec.id) }}> <i className=\"fa fa-trash align-middle\" style={{ \"font-size\": \"20px\" }}></i></a>}\r\n </div>\r\n\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n if (maksrec == null || maksrec.id == null) {\r\n return <div className=\"text-start text-muted \">\r\n Proje eklemek için önce baÅŸvuruyu kayediniz\r\n </div>\r\n }\r\n\r\n\r\n\r\n return (\r\n <div className=\"mb-2 root\">\r\n\r\n\r\n <div className=\"row\">\r\n <div className=\"text-start col-12 fw-bold text-primary\">\r\n Proje\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mt-1\">\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">Proje Onay Konu </label>\r\n <select class=\"form-select form-select-sm\" defaultValue={getDefult(\"projeOnayKonuKod\")} id=\"projeOnayKonuKod\" name=\"projeOnayKonuKod\" onChange={handleInputChange} >\r\n <option selected></option>\r\n <option value=\"1\">Mimari</option>\r\n <option value=\"2\">Statik</option>\r\n <option value=\"3\">Elektrik</option>\r\n <option value=\"3\">DiÄŸer</option>\r\n\r\n </select>\r\n\r\n </div>\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">Ad </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ad\" name=\"ad\" defaultValue={getDefult(\"ad\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">Soyad </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"soyad\" name=\"soyad\" defaultValue={getDefult(\"soyad\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">TC </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"tc\" name=\"tc\" defaultValue={getDefult(\"tc\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">OdaSicilNo </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"odaSicilNo\" name=\"odaSicilNo\" defaultValue={getDefult(\"odaSicilNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">Onay Tarih </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"onayTarih\" name=\"onayTarih\" defaultValue={getDefult(\"onayTarih\")} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-1\">\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">Açık Adres </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"acikAdres\" name=\"acikAdres\" defaultValue={getDefult(\"acikAdres\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Onay Konu Diger </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"projeOnayKonuDiger\" name=\"projeOnayKonuDiger\" defaultValue={getDefult(\"projeOnayKonuDiger\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Bagimsiz Bolum Kimlik No </label>\r\n <input autocomplete={true} id=\"bagimsizBolumKimlikNo\" name=\"bagimsizBolumKimlikNo\" list=\"adreslistesi\" className=\"form-control form-control-sm\" onChange={handleInputChange} />\r\n <datalist id=\"adreslistesi\">\r\n <option ></option>\r\n {adres.map(x => <option value={x.bagimsizbolkimlikno}>{x.bagimsizbolkimlikno}</option>)}\r\n </datalist>\r\n\r\n\r\n\r\n {/* <input type=\"text\" className=\"form-control form-control-sm\" id=\"bagimsizBolumKimlikNo\" name=\"bagimsizBolumKimlikNo\" defaultValue={getDefult(\"bagimsizBolumKimlikNo\")} onChange={handleInputChange} />*/}\r\n </div>\r\n <div className=\"text-end col-4\">\r\n <br />\r\n <button className=\"btn btn-sm btn-link\" onClick={() => { save() }} ><i className=\"fa fa-plus align-middle\" style={{ \"font-size\": \"20px\" }}></i></button>\r\n </div>\r\n </div>\r\n {renderToList()}\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport { useGlobalState } from '../GlobalState.js';\r\n\r\nimport $ from 'jquery';\r\n\r\nexport default function MaksDuvardolgu(props) {\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [rec, setRec] = useState({});\r\n const [maksrec, setMaksRec] = useState(props.rec);\r\n const [takiplist, setTakiplist] = useState(null);\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n\r\n }, [])\r\n\r\n const remove = (id) => {\r\n\r\n showConfirmMessage(\"Silmel istediÄŸinizden emin misniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n fetch(\"removemaksduvardolgu\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setTakiplist(value)\r\n })\r\n }\r\n });\r\n });\r\n }\r\n\r\n const fetchList = (e) => {\r\n fetch(\"maksduvardolgulist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(maksrec.id)\r\n }).then(async response => {\r\n\r\n\r\n if (!response.ok) {\r\n response.text().then(async data => {\r\n showErrorMessage(data);\r\n setTakiplist([])\r\n });\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setTakiplist(data)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const getDefult = (name) => {\r\n if (rec == null)\r\n return \"\";\r\n return rec[name];\r\n }\r\n\r\n\r\n\r\n const save = () => {\r\n rec.maksBasvuruId = maksrec.id;\r\n\r\n fetch(\"savemaksduvardolgu\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n $('.root').find('input').val('');\r\n setTakiplist(value)\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n rec[target.name] = value;\r\n }\r\n\r\n\r\n\r\n var recid = getDefult(\"id\");\r\n\r\n useEffect(() => {\r\n\r\n }, [])\r\n\r\n\r\n\r\n\r\n const getName = (value) => {\r\n if (value == 1) return value + \"- Briket\";\r\n if (value == 2) return value + \"- TuÄŸla \"\r\n if (value == 3) return value + \"- TaÅŸ \"\r\n if (value == 4) return value + \"- AhÅŸap \"\r\n if (value == 5) return value + \"- Kerpiç \"\r\n if (value == 6) return value + \"- Gazbeton\"\r\n if (value == 7) return value + \"- Beton blok\";\r\n if (value == 8) return value + \"- Hafif panel\"\r\n if (value == 9) return value + \"- DiÄŸer\"\r\n return \"\";\r\n\r\n }\r\n\r\n\r\n\r\n const renderToList = () => {\r\n\r\n if (takiplist == null)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n\r\n\r\n if (takiplist.length == 0)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n\r\n var mytable =\r\n <div className=\"mt-1 \">\r\n <div className=\"table-responsive \">\r\n <table className='table table-vdstriped border' aria-labelledby=\"tabelLabel\">\r\n <tbody id=\"myTable\">\r\n {takiplist.map(apprec =>\r\n <tr key={apprec.id} style={{ \"height\": \"25px\" }}>\r\n <td>\r\n {getName(apprec.duvarDolguKod)}\r\n </td>\r\n <td>\r\n {apprec.regDate}\r\n </td>\r\n <td>\r\n {apprec.kayitNo}\r\n </td>\r\n <td>\r\n {apprec.diger}\r\n </td>\r\n\r\n\r\n <td>\r\n <div style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }} className=\"text-end\">\r\n {<a href=\"#\" className=\" text-decoration-none \" onClick={() => { remove(apprec.id) }}> <i className=\"fa fa-trash align-middle\" style={{ \"font-size\": \"20px\" }}></i></a>}\r\n </div>\r\n\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n if (maksrec == null || maksrec.id == null) {\r\n return <div className=\"text-start text-muted \">\r\n Duvar Dolgu eklemek için önce baÅŸvuruyu kayediniz\r\n </div>\r\n }\r\n\r\n\r\n\r\n return (\r\n <div className=\"mb-2 root\">\r\n\r\n\r\n <div className=\"row\">\r\n <div className=\"text-start col-12 fw-bold text-primary\">\r\n Duvar Dolgu\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mt-1\">\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">Duvar Dolgu Kod </label>\r\n <select class=\"form-select form-select-sm\" defaultValue={getDefult(\"duvarDolguKod\")} id=\"duvarDolguKod\" name=\"duvarDolguKod\" onChange={handleInputChange} >\r\n <option selected></option>\r\n <option value=\"1\">Briket</option>\r\n <option value=\"2\">TuÄŸla</option>\r\n <option value=\"3\">TaÅŸ</option>\r\n <option value=\"4\">AhÅŸap</option>\r\n <option value=\"5\">Kerpiç</option>\r\n <option value=\"6\">Gazbeton</option>\r\n <option value=\"7\">Beton blok</option>\r\n <option value=\"8\">Hafif panel</option>\r\n <option value=\"9\">DiÄŸer</option>\r\n\r\n </select>\r\n\r\n </div>\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">Kayit No </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"kayitNo\" name=\"kayitNo\" defaultValue={getDefult(\"kayitNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">DiÄŸer </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"diger\" name=\"diger\" defaultValue={getDefult(\"diger\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-end col-6\">\r\n <button className=\"btn btn-sm btn-link\" onClick={() => { save() }} ><i className=\"fa fa-plus align-middle\" style={{ \"font-size\": \"20px\" }}></i></button>\r\n </div>\r\n\r\n </div>\r\n\r\n \r\n {renderToList()}\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport { useGlobalState } from '../GlobalState.js';\r\nimport $ from 'jquery';\r\n\r\nexport default function MaksDoseme(props) {\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [rec, setRec] = useState({});\r\n const [maksrec, setMaksRec] = useState(props.rec);\r\n const [takiplist, setTakiplist] = useState(null);\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n\r\n }, [])\r\n\r\n const remove = (id) => {\r\n\r\n showConfirmMessage(\"Silmel istediÄŸinizden emin misniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n fetch(\"removemaksdoseme\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setTakiplist(value)\r\n })\r\n }\r\n });\r\n });\r\n }\r\n\r\n const fetchList = (e) => {\r\n fetch(\"maksdosemelist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n ,\r\n body: JSON.stringify(maksrec.id)\r\n }).then(async response => {\r\n\r\n\r\n if (!response.ok) {\r\n response.text().then(async data => {\r\n showErrorMessage(data);\r\n setTakiplist([])\r\n });\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setTakiplist(data)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const getDefult = (name) => {\r\n if (rec == null)\r\n return \"\";\r\n return rec[name];\r\n }\r\n\r\n\r\n\r\n const save = () => {\r\n rec.maksBasvuruId = maksrec.id;\r\n\r\n fetch(\"savemaksdoseme\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n $('.root').find('input').val('');\r\n setTakiplist(value)\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n const getName = (value) =>{\r\n if (value == 1) return value + \"- Plak kiriÅŸ\";\r\n if (value == 2) return value + \"- Mantar döşeme\" \r\n if (value == 3) return value + \"- Asmolen\" \r\n if (value == 4) return value + \"- AhÅŸap\" \r\n if (value == 5) return value + \"- Hazır yapı elemanı\" \r\n if (value == 6) return value + \"- DiÄŸer\" \r\n return \"\";\r\n\r\n }\r\n\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n rec[target.name] = value;\r\n }\r\n\r\n\r\n\r\n var recid = getDefult(\"id\");\r\n\r\n useEffect(() => {\r\n\r\n }, [])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n const renderToList = () => {\r\n\r\n if (takiplist == null)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n\r\n\r\n if (takiplist.length == 0)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n\r\n var mytable =\r\n <div className=\"mt-1 \">\r\n <div className=\"table-responsive \">\r\n <table className='table table-vdstriped border' aria-labelledby=\"tabelLabel\">\r\n {/*<thead>*/}\r\n {/* <tr >*/}\r\n {/* <th className=\"text-start\">Id</th>*/}\r\n {/* <th className=\"text-start\">Kaytı Tarihi</th>*/}\r\n {/* <th className=\"text-start\">Pafta</th>*/}\r\n {/* <th className=\"text-start\">Ada</th>*/}\r\n {/* <th className=\"text-start\">Parsel</th>*/}\r\n {/* <th className=\"text-start\">Dış Kapı</th>*/}\r\n {/* <th className=\"text-start\">Arsa Sahibi</th>*/}\r\n {/* <th className=\"text-start\">TC</th>*/}\r\n {/* <th className=\"text-start\"></th>*/}\r\n {/* </tr>*/}\r\n {/*</thead>*/}\r\n\r\n <tbody id=\"myTable\">\r\n {takiplist.map(apprec =>\r\n <tr key={apprec.id} style={{ \"height\": \"25px\" }}>\r\n <td>\r\n {getName(apprec.dosemeKod)}\r\n </td>\r\n <td>\r\n {apprec.regDate}\r\n </td>\r\n <td>\r\n {apprec.kayitNo}\r\n </td>\r\n <td>\r\n {apprec.diger}\r\n </td>\r\n\r\n <td>\r\n <div style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }} className=\"text-end\">\r\n {<a href=\"#\" className=\" text-decoration-none \" onClick={() => { remove(apprec.id) }}> <i className=\"fa fa-trash align-middle\" style={{ \"font-size\": \"20px\" }}></i></a>}\r\n </div>\r\n\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n if (maksrec == null || maksrec.id == null) {\r\n return <div className=\"text-start text-muted \">\r\n DoÅŸeme eklemek için önce baÅŸvuruyu kayediniz\r\n </div>\r\n }\r\n\r\n\r\n\r\n return (\r\n <div className=\"mb-2 root\">\r\n\r\n\r\n <div className=\"row\">\r\n <div className=\"text-start col-12 fw-bold text-primary\">\r\n DoÅŸeme\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mt-1\">\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">DoÅŸeme Kod </label>\r\n <select class=\"form-select form-select-sm\" defaultValue={getDefult(\"dosemeKod\")} id=\"dosemeKod\" name=\"dosemeKod\" onChange={handleInputChange} >\r\n <option selected></option>\r\n <option value=\"1\">Plak kiriÅŸ</option>\r\n <option value=\"2\">Mantar döşeme</option>\r\n <option value=\"3\">Asmolen</option>\r\n <option value=\"3\">AhÅŸap</option>\r\n <option value=\"4\">Hazır yapı elemanı</option>\r\n <option value=\"5\">DiÄŸer</option>\r\n\r\n </select>\r\n\r\n </div>\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">kayit No </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"kayitNo\" name=\"kayitNo\" defaultValue={getDefult(\"kayitNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">DiÄŸer </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"diger\" name=\"diger\" defaultValue={getDefult(\"diger\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-end col-6\">\r\n <button className=\"btn btn-sm btn-link\" onClick={() => { save() }} ><i className=\"fa fa-plus align-middle\" style={{ \"font-size\": \"20px\" }}></i></button>\r\n </div>\r\n </div>\r\n\r\n \r\n {renderToList()}\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport { useGlobalState } from '../GlobalState.js';\r\n\r\nimport $ from 'jquery';\r\n\r\nexport default function MaksOrtakAlan(props) {\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [rec, setRec] = useState({});\r\n const [maksrec, setMaksRec] = useState(props.rec);\r\n const [takiplist, setTakiplist] = useState(null);\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n\r\n }, [])\r\n\r\n const remove = (id) => {\r\n\r\n showConfirmMessage(\"Silmel istediÄŸinizden emin misniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n fetch(\"removemaksortakalan\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setTakiplist(value)\r\n })\r\n }\r\n });\r\n });\r\n }\r\n\r\n const fetchList = (e) => {\r\n fetch(\"maksortakalanlist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n ,\r\n body: JSON.stringify(maksrec.id)\r\n }).then(async response => {\r\n\r\n\r\n if (!response.ok) {\r\n response.text().then(async data => {\r\n showErrorMessage(data);\r\n setTakiplist([])\r\n });\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setTakiplist(data)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const getDefult = (name) => {\r\n if (rec == null)\r\n return \"\";\r\n return rec[name];\r\n }\r\n\r\n\r\n\r\n const save = () => {\r\n rec.maksBasvuruId = maksrec.id;\r\n\r\n fetch(\"savemaksortakalan\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n $('.root').find('input').val('');\r\n setTakiplist(value)\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n rec[target.name] = value;\r\n }\r\n\r\n\r\n\r\n var recid = getDefult(\"id\");\r\n\r\n useEffect(() => {\r\n\r\n }, [])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n const renderToList = () => {\r\n\r\n if (takiplist == null)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n\r\n\r\n if (takiplist.length == 0)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n\r\n var mytable =\r\n <div className=\"mt-1 \">\r\n <div className=\"table-responsive \">\r\n <table className='table table-vdstriped border' aria-labelledby=\"tabelLabel\">\r\n \r\n <tbody id=\"myTable\">\r\n {takiplist.map(apprec =>\r\n <tr key={apprec.id} style={{ \"height\": \"25px\" }}>\r\n <td>\r\n {getName(apprec.ortakAlanKod)}\r\n </td>\r\n <td>\r\n {apprec.regDate}\r\n </td>\r\n \r\n <td>\r\n <div style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }} className=\"text-end\">\r\n {<a href=\"#\" className=\" text-decoration-none \" onClick={() => { remove(apprec.id) }}> <i className=\"fa fa-trash align-middle\" style={{ \"font-size\": \"20px\" }}></i></a>}\r\n </div>\r\n\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n if (maksrec == null || maksrec.id == null) {\r\n return <div className=\"text-start text-muted \">\r\n Ortak alan eklemek için önce baÅŸvuruyu kayediniz\r\n </div>\r\n }\r\n\r\n\r\n\r\n const getName = (value) => {\r\n if (value == 1) return value + \"- Asansör\";\r\n if (value == 2) return value + \"- Bekçi kulübesi\"\r\n if (value == 3) return value + \"- Açık otopark\"\r\n if (value == 4) return value + \"- Kapalı otopark\"\r\n if (value == 5) return value + \"- Kapıcı dairesi\"\r\n if (value == 6) return value + \"- Kömürlük\"\r\n if (value == 7) return value + \"- Ortak Depo\";\r\n if (value == 8) return value + \"- Sığınak\"\r\n if (value == 9) return value + \"- Su deposu\"\r\n if (value == 10) return value + \"- Yangın merdiveni\"\r\n if (value == 11) return value + \"- Yüzme havuzu\"\r\n if (value == 12) return value + \"- DiÄŸer\"\r\n return \"\";\r\n\r\n }\r\n\r\n\r\n return (\r\n <div className=\"mb-2 root\">\r\n\r\n\r\n <div className=\"row\">\r\n <div className=\"text-start col-12 fw-bold text-primary\">\r\n Ortak Alan\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mt-1\">\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">Ortak Alan Kod </label>\r\n <select class=\"form-select form-select-sm\" defaultValue={getDefult(\"ortakAlanKod\")} id=\"ortakAlanKod\" name=\"ortakAlanKod\" onChange={handleInputChange} >\r\n <option selected></option>\r\n <option value=\"1\">Asansör</option>\r\n <option value=\"2\">Bekçi kulübesi</option>\r\n <option value=\"3\">Açık otopark</option>\r\n <option value=\"4\">Kapalı otopark</option>\r\n <option value=\"5\">Kapıcı dairesi</option>\r\n <option value=\"6\">Kömürlük</option>\r\n <option value=\"7\">Ortak Depo</option>\r\n <option value=\"8\">Sığınak</option>\r\n <option value=\"9\">Su deposu</option>\r\n <option value=\"10\">Yangın merdiveni</option>\r\n <option value=\"11\">Yüzme havuzu</option>\r\n <option value=\"12\">DiÄŸer</option>\r\n\r\n </select>\r\n\r\n </div>\r\n <div className=\"text-end col-10\">\r\n <button className=\"btn btn-sm btn-link\" onClick={() => { save() }} ><i className=\"fa fa-plus align-middle\" style={{ \"font-size\": \"20px\" }}></i></button>\r\n </div>\r\n </div>\r\n\r\n {renderToList()}\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport { useGlobalState } from '../GlobalState.js';\r\n\r\nimport $ from 'jquery';\r\n\r\nexport default function MaksIcmesu(props) {\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [rec, setRec] = useState({});\r\n const [maksrec, setMaksRec] = useState(props.rec);\r\n const [takiplist, setTakiplist] = useState(null);\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n\r\n }, [])\r\n\r\n const remove = (id) => {\r\n\r\n showConfirmMessage(\"Silmel istediÄŸinizden emin misniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n fetch(\"removemaksicmesu\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setTakiplist(value)\r\n })\r\n }\r\n });\r\n });\r\n }\r\n\r\n const fetchList = (e) => {\r\n fetch(\"maksicmesulist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n ,\r\n body: JSON.stringify(maksrec.id)\r\n }).then(async response => {\r\n\r\n\r\n if (!response.ok) {\r\n response.text().then(async data => {\r\n showErrorMessage(data);\r\n setTakiplist([])\r\n });\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setTakiplist(data)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const getDefult = (name) => {\r\n if (rec == null)\r\n return \"\";\r\n return rec[name];\r\n }\r\n\r\n\r\n\r\n const save = () => {\r\n rec.maksBasvuruId = maksrec.id;\r\n\r\n fetch(\"savemaksicmesu\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n $('.root').find('input').val('');\r\n setTakiplist(value)\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n rec[target.name] = value;\r\n }\r\n\r\n\r\n\r\n var recid = getDefult(\"id\");\r\n\r\n useEffect(() => {\r\n\r\n }, [])\r\n\r\n\r\n\r\n const getName = (value) => {\r\n if (value == 1) return value + \"- Åehir suyu\";\r\n if (value == 2) return value + \"- Pınar suyu\"\r\n if (value == 3) return value + \"- Taşıma suyu\"\r\n return \"\";\r\n\r\n }\r\n\r\n\r\n\r\n\r\n const renderToList = () => {\r\n\r\n if (takiplist == null)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n\r\n\r\n if (takiplist.length == 0)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n\r\n var mytable =\r\n <div className=\"mt-1 \">\r\n <div className=\"table-responsive \">\r\n <table className='table table-vdstriped border' aria-labelledby=\"tabelLabel\">\r\n <tbody id=\"myTable\">\r\n {takiplist.map(apprec =>\r\n <tr key={apprec.id} style={{ \"height\": \"25px\" }}>\r\n <td>\r\n {getName(apprec.icmeSuKod)}\r\n </td>\r\n <td>\r\n {apprec.regDate}\r\n </td>\r\n \r\n <td>\r\n {apprec.kayitNo}\r\n </td>\r\n <td>\r\n {apprec.diger}\r\n </td>\r\n <td>\r\n <div style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }} className=\"text-end\">\r\n {<a href=\"#\" className=\" text-decoration-none \" onClick={() => { remove(apprec.id) }}> <i className=\"fa fa-trash align-middle\" style={{ \"font-size\": \"20px\" }}></i></a>}\r\n </div>\r\n\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n if (maksrec == null || maksrec.id == null) {\r\n return <div className=\"text-start text-muted \">\r\n İçme Su eklemek için önce baÅŸvuruyu kayediniz\r\n </div>\r\n }\r\n\r\n\r\n\r\n return (\r\n <div className=\"mb-2 root\">\r\n\r\n\r\n <div className=\"row\">\r\n <div className=\"text-start col-12 fw-bold text-primary\">\r\n İçme Su\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mt-1\">\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">İçme Su Kod </label>\r\n <select class=\"form-select form-select-sm\" defaultValue={getDefult(\"icmeSuKod\")} id=\"icmeSuKod\" name=\"icmeSuKod\" onChange={handleInputChange} >\r\n <option selected></option>\r\n <option value=\"1\">Åehir suyu</option>\r\n <option value=\"2\">Kuyu suyu</option>\r\n <option value=\"3\">Pınar suyu</option>\r\n <option value=\"3\">Taşıma suyu</option>\r\n\r\n </select>\r\n </div>\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">Kayit No </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"kayitNo\" name=\"kayitNo\" defaultValue={getDefult(\"kayitNo\")} onChange={handleInputChange} />\r\n </div> \r\n\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">DiÄŸer </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"diger\" name=\"diger\" defaultValue={getDefult(\"diger\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-end col-6\">\r\n <button className=\"btn btn-sm btn-link\" onClick={() => { save() }} ><i className=\"fa fa-plus align-middle\" style={{ \"font-size\": \"20px\" }}></i></button>\r\n </div>\r\n </div>\r\n\r\n {renderToList()}\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport { useGlobalState } from '../GlobalState.js';\r\n\r\nimport $ from 'jquery';\r\n\r\nexport default function MaksAtiksu(props) {\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [rec, setRec] = useState({});\r\n const [maksrec, setMaksRec] = useState(props.rec);\r\n const [takiplist, setTakiplist] = useState(null);\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n\r\n }, [])\r\n\r\n const remove = (id) => {\r\n\r\n showConfirmMessage(\"Silmel istediÄŸinizden emin misniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n fetch(\"removemaksatiksu\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setTakiplist(value)\r\n })\r\n }\r\n });\r\n });\r\n }\r\n\r\n const fetchList = (e) => {\r\n fetch(\"maksatiksulist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n ,\r\n body: JSON.stringify(maksrec.id)\r\n }).then(async response => {\r\n\r\n\r\n if (!response.ok) {\r\n response.text().then(async data => {\r\n showErrorMessage(data);\r\n setTakiplist([])\r\n });\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setTakiplist(data)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const getDefult = (name) => {\r\n if (rec == null)\r\n return \"\";\r\n return rec[name];\r\n }\r\n\r\n\r\n\r\n const save = () => {\r\n rec.maksBasvuruId = maksrec.id;\r\n\r\n fetch(\"savemaksatiksu\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n $('.root').find('input').val('');\r\n setTakiplist(value)\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n rec[target.name] = value;\r\n }\r\n\r\n\r\n\r\n var recid = getDefult(\"id\");\r\n\r\n useEffect(() => {\r\n\r\n }, [])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n const renderToList = () => {\r\n\r\n if (takiplist == null)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n\r\n\r\n if (takiplist.length == 0)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n\r\n var mytable =\r\n <div className=\"mt-1 \">\r\n <div className=\"table-responsive \">\r\n <table className='table table-vdstriped border' aria-labelledby=\"tabelLabel\">\r\n {/*<thead>*/}\r\n {/* <tr >*/}\r\n {/* <th className=\"text-start\">Id</th>*/}\r\n {/* <th className=\"text-start\">Kaytı Tarihi</th>*/}\r\n {/* <th className=\"text-start\">Pafta</th>*/}\r\n {/* <th className=\"text-start\">Ada</th>*/}\r\n {/* <th className=\"text-start\">Parsel</th>*/}\r\n {/* <th className=\"text-start\">Dış Kapı</th>*/}\r\n {/* <th className=\"text-start\">Arsa Sahibi</th>*/}\r\n {/* <th className=\"text-start\">TC</th>*/}\r\n {/* <th className=\"text-start\"></th>*/}\r\n {/* </tr>*/}\r\n {/*</thead>*/}\r\n\r\n <tbody id=\"myTable\">\r\n {takiplist.map(apprec =>\r\n <tr key={apprec.id} style={{ \"height\": \"25px\" }}>\r\n <td>\r\n {apprec.atikSuKod} - {apprec.atikSuKod == 1 ? \"Kanalizasyon\" : (apprec.atikSuKod == 2 ? \"Fosseptik\" : \"\")}\r\n </td>\r\n <td>\r\n {apprec.regDate}\r\n </td>\r\n \r\n <td>\r\n {apprec.kayitNo}\r\n </td>\r\n <td>\r\n {apprec.diger}\r\n </td>\r\n <td>\r\n {apprec.odaSicilNo}\r\n </td>\r\n <td>\r\n <div style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }} className=\"text-end\">\r\n {<a href=\"#\" className=\" text-decoration-none \" onClick={() => { remove(apprec.id) }}> <i className=\"fa fa-trash align-middle\" style={{ \"font-size\": \"20px\" }}></i></a>}\r\n </div>\r\n\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n if (maksrec == null || maksrec.id == null) {\r\n return <div className=\"text-start text-muted \">\r\n Atık Su eklemek için önce baÅŸvuruyu kayediniz\r\n </div>\r\n }\r\n\r\n\r\n\r\n return (\r\n <div className=\"mb-2 root\">\r\n\r\n\r\n <div className=\"row\">\r\n <div className=\"text-start col-12 fw-bold text-primary\">\r\n Atık Su\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mt-1\">\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">Atık Su Kod </label>\r\n <select class=\"form-select form-select-sm\" defaultValue={getDefult(\"atikSuKod\")} id=\"atikSuKod\" name=\"atikSuKod\" onChange={handleInputChange} >\r\n <option selected></option>\r\n <option value=\"1\">Kanalizasyon</option>\r\n <option value=\"2\">Fosseptik</option>\r\n </select>\r\n\r\n </div>\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">Kayit No </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"kayitNo\" name=\"kayitNo\" defaultValue={getDefult(\"kayitNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">DiÄŸer </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"diger\" name=\"diger\" defaultValue={getDefult(\"diger\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-end col-6\">\r\n <button className=\"btn btn-sm btn-link\" onClick={() => { save() }} ><i className=\"fa fa-plus align-middle\" style={{ \"font-size\": \"20px\" }}></i></button>\r\n </div>\r\n </div>\r\n\r\n \r\n {renderToList()}\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport { useGlobalState } from '../GlobalState.js';\r\n\r\nimport $ from 'jquery';\r\n\r\nexport default function MaksMuhtelifGelir(props) {\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [rec, setRec] = useState({});\r\n const [maksrec, setMaksRec] = useState(props.rec);\r\n const [takiplist, setTakiplist] = useState(null);\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n\r\n }, [])\r\n\r\n const remove = (id) => {\r\n\r\n showConfirmMessage(\"Silmek istediÄŸinizden emin misniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n fetch(\"removemaksmuhtelifgelir\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setTakiplist(value)\r\n })\r\n }\r\n });\r\n });\r\n }\r\n\r\n const fetchList = (e) => {\r\n fetch(\"maksmuhtelifgelirlist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n ,\r\n body: JSON.stringify(maksrec.id)\r\n }).then(async response => {\r\n\r\n\r\n if (!response.ok) {\r\n response.text().then(async data => {\r\n showErrorMessage(data);\r\n setTakiplist([])\r\n });\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setTakiplist(data)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const getDefult = (name) => {\r\n if (rec == null)\r\n return \"\";\r\n return rec[name];\r\n }\r\n\r\n\r\n\r\n const save = () => {\r\n rec.maksBasvuruId = maksrec.id;\r\n\r\n fetch(\"savemaksmuhtelifgelir\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n $('.root').find('input').val('');\r\n setTakiplist(value)\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n rec[target.name] = value;\r\n }\r\n\r\n\r\n\r\n var recid = getDefult(\"id\");\r\n\r\n useEffect(() => {\r\n\r\n }, [])\r\n\r\n\r\n\r\n\r\n const getName = (value) => {\r\n if (value == 1) return value + \"- Yol Kanal Harcı\";\r\n if (value == 2) return value + \"- Bina Ä°nÅŸaat Harcı\"\r\n if (value == 3) return value + \"- Otopark Bedeli\"\r\n if (value == 4) return value + \"- Ceza\"\r\n if (value == 5) return value + \"- DiÄŸer\"\r\n return \"\";\r\n\r\n }\r\n\r\n\r\n\r\n const renderToList = () => {\r\n\r\n if (takiplist == null)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n\r\n\r\n if (takiplist.length == 0)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n\r\n var mytable =\r\n <div className=\"mt-1 \">\r\n <div className=\"table-responsive \">\r\n <table className='table table-vdstriped border' aria-labelledby=\"tabelLabel\">\r\n\r\n <tbody id=\"myTable\">\r\n {takiplist.map(apprec =>\r\n <tr key={apprec.id} style={{ \"height\": \"25px\" }}>\r\n <td>\r\n {getName(apprec.mahiyetKod)}\r\n </td>\r\n <td>\r\n {apprec.regDate}\r\n </td>\r\n \r\n <td>\r\n {apprec.kayitNo}\r\n </td>\r\n \r\n <td>\r\n {apprec.makbuzNo}\r\n </td>\r\n <td>\r\n {apprec.makbuzTarih}\r\n </td>\r\n <td>\r\n {apprec.tutar}\r\n </td>\r\n <td>\r\n <div style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }} className=\"text-end\">\r\n {<a href=\"#\" className=\" text-decoration-none \" onClick={() => { remove(apprec.id) }}> <i className=\"fa fa-trash align-middle\" style={{ \"font-size\": \"20px\" }}></i></a>}\r\n </div>\r\n\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n if (maksrec == null || maksrec.id == null) {\r\n return <div className=\"text-start text-muted \">\r\n Atık Su eklemek için önce baÅŸvuruyu kayediniz\r\n </div>\r\n }\r\n\r\n\r\n\r\n return (\r\n <div className=\"mb-2 root\">\r\n\r\n\r\n <div className=\"row\">\r\n <div className=\"text-start col-12 fw-bold text-primary\">\r\n Muhtelif Gelir\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mt-1\">\r\n\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">Mahiye tKod </label>\r\n <select class=\"form-select form-select-sm\" defaultValue={getDefult(\"mahiyetKod\")} id=\"mahiyetKod\" name=\"mahiyetKod\" onChange={handleInputChange} >\r\n <option selected></option>\r\n <option value=\"1\">Yol Kanal Harcı</option>\r\n <option value=\"2\">Bina Ä°nÅŸaat Harcı</option>\r\n <option value=\"3\">Otopark Bedeli</option>\r\n <option value=\"4\">Ceza</option>\r\n <option value=\"5\">DiÄŸer</option>\r\n </select>\r\n\r\n </div>\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">Kayit No </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"kayitNo\" name=\"kayitNo\" defaultValue={getDefult(\"kayitNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">Makbuz No </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"makbuzNo\" name=\"makbuzNo\" defaultValue={getDefult(\"makbuzNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">Makbuz Tarih </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"makbuzTarih\" name=\"makbuzTarih\" defaultValue={getDefult(\"makbuzTarih\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">Tutar </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"tutar\" name=\"tutar\" defaultValue={getDefult(\"tutar\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-end col-2\">\r\n <button className=\"btn btn-sm btn-link\" onClick={() => { save() }} ><i className=\"fa fa-plus align-middle\" style={{ \"font-size\": \"20px\" }}></i></button>\r\n </div>\r\n </div>\r\n\r\n\r\n {renderToList()}\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport { useGlobalState } from '../GlobalState.js';\r\n\r\nimport $ from 'jquery';\r\n\r\nexport default function MaksYapiDenetim(props) {\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [rec, setRec] = useState({});\r\n const [maksrec, setMaksRec] = useState(props.rec);\r\n const [takiplist, setTakiplist] = useState(null);\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n\r\n }, [])\r\n\r\n const remove = (id) => {\r\n\r\n showConfirmMessage(\"Silmek istediÄŸinizden emin misniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n fetch(\"removemaksyapidenetim\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setTakiplist(value)\r\n })\r\n }\r\n });\r\n });\r\n }\r\n\r\n const fetchList = (e) => {\r\n fetch(\"maksyapidenetimlist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n ,\r\n body: JSON.stringify(maksrec.id)\r\n }).then(async response => {\r\n\r\n\r\n if (!response.ok) {\r\n response.text().then(async data => {\r\n showErrorMessage(data);\r\n setTakiplist([])\r\n });\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setTakiplist(data)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const getDefult = (name) => {\r\n if (rec == null)\r\n return \"\";\r\n return rec[name];\r\n }\r\n\r\n\r\n\r\n const save = () => {\r\n rec.maksBasvuruId = maksrec.id;\r\n fetch(\"savemaksyapidenetim\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n $('.root').find('input').val('');\r\n setTakiplist(value)\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n rec[target.name] = value;\r\n }\r\n\r\n\r\n\r\n var recid = getDefult(\"id\");\r\n\r\n useEffect(() => {\r\n\r\n }, [])\r\n\r\n\r\n\r\n\r\n const getName = (value) => {\r\n \r\n if (value == 1) return value + \"- Mimari\";\r\n if (value == 2) return value + \"- Statik\";\r\n if (value == 3) return value + \"- Elektrik\"\r\n if (value == 4) return value + \"- Mekanik Tesisat\"\r\n if (value == 5) return value + \"- DiÄŸer\"\r\n return \"\";\r\n\r\n }\r\n\r\n\r\n\r\n\r\n const renderToList = () => {\r\n\r\n if (takiplist == null)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n\r\n\r\n if (takiplist.length == 0)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n\r\n var mytable =\r\n <div className=\"mt-1 \">\r\n <div className=\"table-responsive \">\r\n <table className='table table-vdstriped border' aria-labelledby=\"tabelLabel\">\r\n\r\n <tbody id=\"myTable\">\r\n {takiplist.map(apprec =>\r\n <tr key={apprec.id} style={{ \"height\": \"25px\" }}>\r\n <td>\r\n {getName(apprec.yapiDenetimTurKod)}\r\n </td>\r\n <td>\r\n {apprec.regDate}\r\n </td>\r\n <td>\r\n {apprec.kayitNo}\r\n </td>\r\n <td>\r\n {apprec.tcKimlikNo}\r\n </td>\r\n <td>\r\n {apprec.ad}\r\n </td>\r\n <td>\r\n {apprec.soyad}\r\n </td>\r\n <td>\r\n {apprec.acikAdres}\r\n </td>\r\n <td>\r\n {apprec.yapiDenetimTurDiger}\r\n </td>\r\n <td>\r\n {apprec.bagimsizBolumKimlikNo}\r\n </td>\r\n <td>\r\n {apprec.odaSicilNo}\r\n </td>\r\n <td>\r\n <div style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }} className=\"text-end\">\r\n {<a href=\"#\" className=\" text-decoration-none \" onClick={() => { remove(apprec.id) }}> <i className=\"fa fa-trash align-middle\" style={{ \"font-size\": \"20px\" }}></i></a>}\r\n </div>\r\n\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n if (maksrec == null || maksrec.id == null) {\r\n return <div className=\"text-start text-muted \">\r\n Atık Su eklemek için önce baÅŸvuruyu kayediniz\r\n </div>\r\n }\r\n\r\n\r\n\r\n return (\r\n <div className=\"mb-2 root\">\r\n\r\n\r\n <div className=\"row\">\r\n <div className=\"text-start col-12 fw-bold text-primary\">\r\n Yapı Denetim Bilgileri\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mt-1\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Onay Konu </label>\r\n <select class=\"form-select form-select-sm\" defaultValue={getDefult(\"yapiDenetimTurKod\")} id=\"yapiDenetimTurKod\" name=\"yapiDenetimTurKod\" onChange={handleInputChange} >\r\n <option selected></option>\r\n <option value=\"1\">Mimari</option>\r\n <option value=\"2\">Statik</option>\r\n <option value=\"3\">Elektrik</option>\r\n <option value=\"4\">Mekanik Tesisat</option>\r\n <option value=\"5\">DiÄŸer</option>\r\n </select>\r\n </div>\r\n \r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">TC Kimlik No </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"tcKimlikNo\" name=\"tcKimlikNo\" defaultValue={getDefult(\"tcKimlikNo\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Ad </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ad\" name=\"ad\" defaultValue={getDefult(\"ad\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Soyad </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"soyad\" name=\"soyad\" defaultValue={getDefult(\"soyad\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Oda Sicil No </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"odaSicilNo\" name=\"odaSicilNo\" defaultValue={getDefult(\"odaSicilNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Kayit No </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"kayitNo\" name=\"kayitNo\" defaultValue={getDefult(\"kayitNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Açık Adres </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"acikAdres\" name=\"acikAdres\" defaultValue={getDefult(\"acikAdres\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Tur Diger</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiDenetimTurDiger\" name=\"yapiDenetimTurDiger\" defaultValue={getDefult(\"yapiDenetimTurDiger\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Bagimsiz Bolum Kimlik No </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"bagimsizBolumKimlikNo\" name=\"bagimsizBolumKimlikNo\" defaultValue={getDefult(\"bagimsizBolumKimlikNo\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n\r\n <div className=\"text-end col-9 pt-3\">\r\n <button className=\"btn btn-sm btn-link\" onClick={() => { save() }} ><i className=\"fa fa-plus align-middle\" style={{ \"font-size\": \"20px\" }}></i></button>\r\n </div>\r\n </div>\r\n\r\n\r\n {renderToList()}\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport { useGlobalState } from '../GlobalState.js';\r\n\r\nimport $ from 'jquery';\r\n\r\nexport default function MaksBagimsizBolum(props) {\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [rec, setRec] = useState({});\r\n const [maksrec, setMaksRec] = useState(props.rec);\r\n const [takiplist, setTakiplist] = useState(null);\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n\r\n }, [])\r\n\r\n const remove = (id) => {\r\n\r\n showConfirmMessage(\"Silmel istediÄŸinizden emin misniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n fetch(\"removemaksbagimsizbolum\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setTakiplist(value)\r\n })\r\n }\r\n });\r\n });\r\n }\r\n\r\n const fetchList = (e) => {\r\n fetch(\"maksbagimsizbolumlist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n ,\r\n body: JSON.stringify(maksrec.id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(async data => {\r\n showErrorMessage(data);\r\n setTakiplist([])\r\n });\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setTakiplist(data)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const getDefult = (name) => {\r\n if (rec == null)\r\n return \"\";\r\n return rec[name];\r\n }\r\n\r\n\r\n\r\n const save = () => {\r\n rec.maksBasvuruId = maksrec.id;\r\n fetch(\"savemaksbagimsizbolum\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n $('.root').find('input').val('');\r\n setTakiplist(value)\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n rec[target.name] = value;\r\n }\r\n\r\n const getIslemName = (value) => {\r\n if (value == \"1\") return \"Yapıya Eklenecek\"\r\n if (value == \"2\") return \"Belgede Bulunacak\"\r\n if (value == \"3\") return \"Yapıdan Silinecek\"\r\n if (value == \"4\") return \"Belgede Bulunmayacak\"\r\n }\r\n\r\n const getDurumName = (value) => {\r\n if (value == \"1\") return \"Bilinmeyen\"\r\n if (value == \"2\") return \"Proje\"\r\n if (value == \"3\") return \"Ä°nÅŸaat\"\r\n if (value == \"4\") return \"Ä°skan\"\r\n if (value == \"5\") return \"Ruhsatsız\"\r\n if (value == \"6\") return \"Yanan Yıkılan\"\r\n if (value == \"7\") return \"Yapı Kayıt Belgeli\"\r\n if (value == \"8\") return \"MAKS Sürecinde\"\r\n if (value == \"9\") return \"Geçici 11 Madde\"\r\n\r\n }\r\n\r\n\r\n const getKullanımName = (value) => {\r\n if (value == \"0\") return \"Yok\"\r\n if (value == \"1110\") return \"Mesken\"\r\n if (value == \"12111\") return \"Küçük misafir\"\r\n if (value == \"12111\") return \"Otel\"\r\n if (value == \"12111\") return \"Pansiyon\"\r\n if (value == \"12111\") return \"Restorantlı veya restorantsız otel\"\r\n if (value == \"12112\") return \"Bar\"\r\n if (value == \"12112\") return \"Bar(ayrı bina olarak)\"\r\n\r\n }\r\n\r\n\r\n\r\n const renderToList = () => {\r\n\r\n if (takiplist == null)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n\r\n\r\n if (takiplist.length == 0)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n\r\n var mytable =\r\n <div className=\"mt-1 \">\r\n <div className=\"table-responsive \">\r\n <table className='table table-vdstriped border' aria-labelledby=\"tabelLabel\">\r\n\r\n <tbody id=\"myTable\">\r\n {takiplist.map(apprec =>\r\n <tr key={apprec.id} style={{ \"height\": \"25px\" }}>\r\n <td>\r\n {apprec.regDate}\r\n </td>\r\n <td>\r\n {getIslemName(apprec.yapilanIslem)}\r\n </td>\r\n\r\n\r\n <td>\r\n {getDurumName(apprec.bagimsizDurum)}\r\n </td>\r\n <td>\r\n {apprec.icKapiNo}\r\n </td>\r\n <td>\r\n {apprec.yuzolcum}\r\n </td>\r\n <td>\r\n {apprec.arsaPay}\r\n </td>\r\n <td>\r\n {apprec.arsaPayda}\r\n </td>\r\n <td>\r\n {apprec.bagimsizBolumKimlikNo}\r\n </td>\r\n <td>\r\n {apprec.bagimsizBolumTip == 1 ? \"Kamu\" : apprec.bagimsizBolumTip == 2?\"Özel\":\"\"}\r\n </td>\r\n <td>\r\n {apprec.binaKimlikNo}\r\n </td>\r\n <td>\r\n {apprec.brutYuzolcum}\r\n </td>\r\n <td>\r\n {apprec.katNo}\r\n </td>\r\n <td>\r\n {apprec.kayitNo}\r\n </td>\r\n <td>\r\n {getKullanımName(apprec.kullanimAmac)}\r\n </td>\r\n <td>\r\n {apprec.numaratajKimlikNo}\r\n </td>\r\n <td>\r\n {apprec.tadilataKonuOlsunMu}\r\n </td>\r\n <td>\r\n {apprec.tapuBagimsizBolumNo}\r\n </td>\r\n\r\n\r\n <td>\r\n <div style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }} className=\"text-end\">\r\n {<a href=\"#\" className=\" text-decoration-none \" onClick={() => { remove(apprec.id) }}> <i className=\"fa fa-trash align-middle\" style={{ \"font-size\": \"20px\" }}></i></a>}\r\n </div>\r\n\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n if (maksrec == null || maksrec.id == null) {\r\n return <div className=\"text-start text-muted \">\r\n Atık Su eklemek için önce baÅŸvuruyu kayediniz\r\n </div>\r\n }\r\n\r\n\r\n\r\n return (\r\n <div className=\"mb-2 root\">\r\n\r\n\r\n <div className=\"row\">\r\n <div className=\"text-start col-12 fw-bold text-primary\">\r\n Yapı Belge Bağımsız Bolum\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mt-1\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Yapılan Ä°ÅŸlem </label>\r\n <select class=\"form-select form-select-sm\" defaultValue={getDefult(\"yapilanIslem\")} id=\"yapilanIslem\" name=\"yapilanIslem\" onChange={handleInputChange} >\r\n <option selected></option>\r\n <option value=\"1\">Yapıya Eklenecek</option>\r\n <option value=\"2\">Belgede Bulunacak</option>\r\n <option value=\"3\">Yapıdan Silinecek</option>\r\n <option value=\"4\">Belgede Bulunmayacak</option>\r\n </select>\r\n </div>\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Durum</label>\r\n <select class=\"form-select form-select-sm\" defaultValue={getDefult(\"bagimsizDurum\")} id=\"bagimsizDurum\" name=\"bagimsizDurum\" onChange={handleInputChange} >\r\n <option selected></option>\r\n <option value=\"1\">Bilinmeyen</option>\r\n <option value=\"2\">Proje</option>\r\n <option value=\"3\">Ä°nÅŸaat</option>\r\n <option value=\"4\">Ä°skan</option>\r\n <option value=\"5\">Ruhsatsız</option>\r\n <option value=\"6\">Yanan Yıkılan</option>\r\n <option value=\"7\">Yapı Kayıt Belgeli</option>\r\n <option value=\"8\">MAKS Sürecinde</option>\r\n <option value=\"9\">Geçici 11 Madde</option>\r\n </select>\r\n </div>\r\n\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">İç Kapı No </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"icKapiNo\" name=\"icKapiNo\" defaultValue={getDefult(\"icKapiNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Yüz Ölçum </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yuzolcum\" name=\"yuzolcum\" defaultValue={getDefult(\"yuzolcum\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"row mt-1\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Arsa Pay</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"arsaPay\" name=\"arsaPay\" defaultValue={getDefult(\"arsaPay\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Arsa Payda </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"arsaPayda\" name=\"arsaPayda\" defaultValue={getDefult(\"arsaPayda\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Kimlik No </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"bagimsizBolumKimlikNo\" name=\"bagimsizBolumKimlikNo\" defaultValue={getDefult(\"bagimsizBolumKimlikNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Tip </label>\r\n <select class=\"form-select form-select-sm\" defaultValue={getDefult(\"bagimsizBolumTip\")} id=\"bagimsizBolumTip\" name=\"bagimsizBolumTip\" onChange={handleInputChange} >\r\n <option selected></option>\r\n <option value=\"1\">Kamu</option>\r\n <option value=\"2\">Özel</option>\r\n </select>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div className=\"row mt-1\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Bina Kimlik No</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"binaKimlikNo\" name=\"binaKimlikNo\" defaultValue={getDefult(\"binaKimlikNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Brut Yuz Ölçum</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"brutYuzolcum\" name=\"brutYuzolcum\" defaultValue={getDefult(\"brutYuzolcum\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Kat No</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"katNo\" name=\"katNo\" defaultValue={getDefult(\"katNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Kayit No</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"kayitNo\" name=\"kayitNo\" defaultValue={getDefult(\"kayitNo\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n </div>\r\n\r\n <div className=\"row mt-1\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Kullanım Amaç </label>\r\n <select class=\"form-select form-select-sm\" defaultValue={getDefult(\"kullanimAmac\")} id=\"kullanimAmac\" name=\"kullanimAmac\" onChange={handleInputChange} >\r\n <option selected></option>\r\n <option value=\"0\">Yok</option>\r\n <option value=\"1110\">Mesken</option>\r\n <option value=\"12111\">Küçük misafir</option>\r\n <option value=\"12111\">Motel</option>\r\n <option value=\"12111\">Otel ve bunlara benzer misafir evi</option>\r\n <option value=\"12111\">Pansiyon</option>\r\n <option value=\"12111\">Restorantlı veya restorantsız otel</option>\r\n <option value=\"12112\">Bar</option>\r\n <option value=\"12112\">Bar(ayrı bina olarak)</option>\r\n </select>\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Numarataj Kimlik No</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"numaratajKimlikNo\" name=\"numaratajKimlikNo\" defaultValue={getDefult(\"numaratajKimlikNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Tadilata Konu Olsun Mu</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"tadilataKonuOlsunMu\" name=\"tadilataKonuOlsunMu\" defaultValue={getDefult(\"tadilataKonuOlsunMu\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Tapu Bagimsiz Bolum No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"tapuBagimsizBolumNo\" name=\"tapuBagimsizBolumNo\" defaultValue={getDefult(\"tapuBagimsizBolumNo\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n <div className=\"row mt-1\">\r\n\r\n <div className=\"text-end col-12 text-end\">\r\n <button className=\"btn btn-sm btn-link\" onClick={() => { save() }} ><i className=\"fa fa-plus align-middle\" style={{ \"font-size\": \"20px\" }}></i></button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n {renderToList()}\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport { useGlobalState } from '../GlobalState.js';\r\n\r\nimport $ from 'jquery';\r\n\r\nexport default function Maksisitma(props) {\r\n\r\n const [rec, setRec] = useState({});\r\n const [maksrec, setMaksRec] = useState(props.rec);\r\n const [takiplist, setTakiplist] = useState(null);\r\n\r\n useEffect(() => {\r\n fetchList();\r\n\r\n }, [])\r\n\r\n const remove = (id) => {\r\n\r\n showConfirmMessage(\"Silmel istediÄŸinizden emin misniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n fetch(\"removemaksisitma\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setTakiplist(value)\r\n })\r\n }\r\n });\r\n });\r\n }\r\n\r\n const fetchList = (e) => {\r\n fetch(\"maksisitmalist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n ,\r\n body: JSON.stringify(maksrec.id)\r\n }).then(async response => {\r\n\r\n\r\n if (!response.ok) {\r\n response.text().then(async data => {\r\n showErrorMessage(data);\r\n setTakiplist([])\r\n });\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setTakiplist(data)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const getDefult = (name) => {\r\n if (rec == null)\r\n return \"\";\r\n return rec[name];\r\n }\r\n\r\n\r\n\r\n const save = () => {\r\n rec.maksBasvuruId = maksrec.id;\r\n\r\n fetch(\"savemaksisitma\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n $('.root').find('input').val('');\r\n setTakiplist(value)\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n rec[target.name] = value;\r\n }\r\n\r\n\r\n\r\n var recid = getDefult(\"id\");\r\n\r\n useEffect(() => {\r\n\r\n }, [])\r\n\r\n\r\n\r\n const getName = (value) => {\r\n if (value == 1) return value + \"- Merkezi ısıtmalı kaloriferu\";\r\n if (value == 2) return value + \"- Bina içi kalorifer\"\r\n if (value == 3) return value + \"- Kat kaloriferi\"\r\n if (value == 4) return value + \"- Soba\";\r\n if (value == 5) return value + \"- DoÄŸalgaz sobası\"\r\n if (value == 6) return value + \"- Klimau\";\r\n if (value == 7) return value + \"- DiÄŸer\";\r\n\r\n return \"\";\r\n\r\n }\r\n\r\n\r\n\r\n\r\n const renderToList = () => {\r\n\r\n if (takiplist == null)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n\r\n\r\n if (takiplist.length == 0)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n\r\n var mytable =\r\n <div className=\"mt-1 \">\r\n <div className=\"table-responsive \">\r\n <table className='table table-vdstriped border' aria-labelledby=\"tabelLabel\">\r\n <tbody id=\"myTable\">\r\n {takiplist.map(apprec =>\r\n <tr key={apprec.id} style={{ \"height\": \"25px\" }}>\r\n <td>\r\n {getName(apprec.isitmaSistemKod)}\r\n </td>\r\n <td>\r\n {apprec.regDate}\r\n </td>\r\n\r\n <td>\r\n {apprec.kayitNo}\r\n </td>\r\n <td>\r\n {apprec.diger}\r\n </td>\r\n <td>\r\n <div style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }} className=\"text-end\">\r\n {<a href=\"#\" className=\" text-decoration-none \" onClick={() => { remove(apprec.id) }}> <i className=\"fa fa-trash align-middle\" style={{ \"font-size\": \"20px\" }}></i></a>}\r\n </div>\r\n\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n if (maksrec == null || maksrec.id == null) {\r\n return <div className=\"text-start text-muted \">\r\n İçme Su eklemek için önce baÅŸvuruyu kayediniz\r\n </div>\r\n }\r\n\r\n\r\n\r\n return (\r\n <div className=\"mb-2 root\">\r\n\r\n\r\n <div className=\"row\">\r\n <div className=\"text-start col-12 fw-bold text-primary\">\r\n Isıtma\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mt-1\">\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">Isıtma Kod </label>\r\n <select class=\"form-select form-select-sm\" defaultValue={getDefult(\"isitmaSistemKod\")} id=\"isitmaSistemKod\" name=\"isitmaSistemKod\" onChange={handleInputChange} >\r\n <option selected></option>\r\n <option value=\"1\">Merkezi ısıtmalı kalorifer</option>\r\n <option value=\"2\">Bina içi kalorifer</option>\r\n <option value=\"3\">Kat kaloriferi</option>\r\n <option value=\"4\">Soba</option>\r\n <option value=\"5\">DoÄŸalgaz sobası</option>\r\n <option value=\"6\">Klima</option>\r\n <option value=\"7\">DiÄŸer</option>\r\n\r\n </select>\r\n </div>\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">Kayit No </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"kayitNo\" name=\"kayitNo\" defaultValue={getDefult(\"kayitNo\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">DiÄŸer </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"diger\" name=\"diger\" defaultValue={getDefult(\"diger\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-end col-6\">\r\n <button className=\"btn btn-sm btn-link\" onClick={() => { save() }} ><i className=\"fa fa-plus align-middle\" style={{ \"font-size\": \"20px\" }}></i></button>\r\n </div>\r\n </div>\r\n\r\n {renderToList()}\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport { useGlobalState } from '../GlobalState.js';\r\n\r\nimport $ from 'jquery';\r\n\r\nexport default function MaksisitmaYakit(props) {\r\n\r\n const [rec, setRec] = useState({});\r\n const [maksrec, setMaksRec] = useState(props.rec);\r\n const [takiplist, setTakiplist] = useState(null);\r\n\r\n useEffect(() => {\r\n fetchList();\r\n\r\n }, [])\r\n\r\n const remove = (id) => {\r\n\r\n showConfirmMessage(\"Silmel istediÄŸinizden emin misniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n fetch(\"removemaksisitmayakit\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setTakiplist(value)\r\n })\r\n }\r\n });\r\n });\r\n }\r\n\r\n const fetchList = (e) => {\r\n fetch(\"maksisitmayakitlist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n ,\r\n body: JSON.stringify(maksrec.id)\r\n }).then(async response => {\r\n\r\n\r\n if (!response.ok) {\r\n response.text().then(async data => {\r\n showErrorMessage(data);\r\n setTakiplist([])\r\n });\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setTakiplist(data)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const getDefult = (name) => {\r\n if (rec == null)\r\n return \"\";\r\n return rec[name];\r\n }\r\n\r\n\r\n\r\n const save = () => {\r\n rec.maksBasvuruId = maksrec.id;\r\n\r\n fetch(\"savemaksisitmayakit\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n $('.root').find('input').val('');\r\n setTakiplist(value)\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n rec[target.name] = value;\r\n }\r\n\r\n\r\n\r\n var recid = getDefult(\"id\");\r\n\r\n useEffect(() => {\r\n\r\n }, [])\r\n\r\n\r\n\r\n const getName = (value) => {\r\n if (value == 1) return value + \"- Katı yakıt\";\r\n if (value == 2) return value + \"- Fuel-oil\"\r\n if (value == 3) return value + \"- DoÄŸalgaz\"\r\n if (value == 4) return value + \"- LPG\";\r\n if (value == 5) return value + \"- Elektrik\"\r\n if (value == 6) return value + \"- GüneÅŸ\";\r\n if (value == 7) return value + \"- Termal\";\r\n if (value == 8) return value + \"- Rüzgar\";\r\n if (value == 9) return value + \"- DiÄŸer\";\r\n return \"\";\r\n }\r\n\r\n\r\n\r\n\r\n const renderToList = () => {\r\n\r\n if (takiplist == null)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n\r\n\r\n if (takiplist.length == 0)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n\r\n var mytable =\r\n <div className=\"mt-1 \">\r\n <div className=\"table-responsive \">\r\n <table className='table table-vdstriped border' aria-labelledby=\"tabelLabel\">\r\n <tbody id=\"myTable\">\r\n {takiplist.map(apprec =>\r\n <tr key={apprec.id} style={{ \"height\": \"25px\" }}>\r\n <td>\r\n {getName(apprec.isitmaYakitKod)}\r\n </td>\r\n <td>\r\n {apprec.regDate}\r\n </td>\r\n\r\n <td>\r\n {apprec.kayitNo}\r\n </td>\r\n <td>\r\n {apprec.diger}\r\n </td>\r\n <td>\r\n <div style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }} className=\"text-end\">\r\n {<a href=\"#\" className=\" text-decoration-none \" onClick={() => { remove(apprec.id) }}> <i className=\"fa fa-trash align-middle\" style={{ \"font-size\": \"20px\" }}></i></a>}\r\n </div>\r\n\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n if (maksrec == null || maksrec.id == null) {\r\n return <div className=\"text-start text-muted \">\r\n İçme Su eklemek için önce baÅŸvuruyu kayediniz\r\n </div>\r\n }\r\n\r\n\r\n\r\n return (\r\n <div className=\"mb-2 root\">\r\n\r\n\r\n <div className=\"row\">\r\n <div className=\"text-start col-12 fw-bold text-primary\">\r\n Isıtma Yakıt Cinsi\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mt-1\">\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\"> Yakıt Cinsi </label>\r\n <select class=\"form-select form-select-sm\" defaultValue={getDefult(\"isitmaYakitKod\")} id=\"isitmaYakitKod\" name=\"isitmaYakitKod\" onChange={handleInputChange} >\r\n <option selected></option>\r\n <option value=\"1\">Katı yakıt</option>\r\n <option value=\"2\">Fuel-oil</option>\r\n <option value=\"3\">DoÄŸalgaz</option>\r\n <option value=\"4\">LPG</option>\r\n <option value=\"5\">Elektrik</option>\r\n <option value=\"6\">GüneÅŸ</option>\r\n <option value=\"7\">Termal</option>\r\n <option value=\"8\">Rüzgar</option>\r\n <option value=\"9\">DiÄŸer</option>\r\n\r\n </select>\r\n </div>\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">Kayit No </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"kayitNo\" name=\"kayitNo\" defaultValue={getDefult(\"kayitNo\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">DiÄŸer </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"diger\" name=\"diger\" defaultValue={getDefult(\"diger\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-end col-6\">\r\n <button className=\"btn btn-sm btn-link\" onClick={() => { save() }} ><i className=\"fa fa-plus align-middle\" style={{ \"font-size\": \"20px\" }}></i></button>\r\n </div>\r\n </div>\r\n\r\n {renderToList()}\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport { useGlobalState } from '../GlobalState.js';\r\n\r\nimport $ from 'jquery';\r\n\r\nexport default function MaksSuTemin(props) {\r\n\r\n const [rec, setRec] = useState({});\r\n const [maksrec, setMaksRec] = useState(props.rec);\r\n const [takiplist, setTakiplist] = useState(null);\r\n\r\n useEffect(() => {\r\n fetchList();\r\n\r\n }, [])\r\n\r\n const remove = (id) => {\r\n\r\n showConfirmMessage(\"Silmel istediÄŸinizden emin misniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n fetch(\"removemakssutemin\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setTakiplist(value)\r\n })\r\n }\r\n });\r\n });\r\n }\r\n\r\n const fetchList = (e) => {\r\n fetch(\"makssuteminlist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n ,\r\n body: JSON.stringify(maksrec.id)\r\n }).then(async response => {\r\n\r\n\r\n if (!response.ok) {\r\n response.text().then(async data => {\r\n showErrorMessage(data);\r\n setTakiplist([])\r\n });\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setTakiplist(data)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const getDefult = (name) => {\r\n if (rec == null)\r\n return \"\";\r\n return rec[name];\r\n }\r\n\r\n\r\n\r\n const save = () => {\r\n rec.maksBasvuruId = maksrec.id;\r\n\r\n fetch(\"savemakssutemin\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n $('.root').find('input').val('');\r\n setTakiplist(value)\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n rec[target.name] = value;\r\n }\r\n\r\n\r\n\r\n var recid = getDefult(\"id\");\r\n\r\n useEffect(() => {\r\n\r\n }, [])\r\n\r\n\r\n const getName = (value) => {\r\n if (value == 1) return value + \"- Termosifon\";\r\n if (value == 2) return value + \"- Åofben\"\r\n if (value == 3) return value + \"- GüneÅŸ kollektörü\"\r\n if (value == 4) return value + \"- Kombi\";\r\n if (value == 5) return value + \"- Müşterek\"\r\n if (value == 6) return value + \"- DiÄŸer\";\r\n return \"\";\r\n }\r\n\r\n\r\n\r\n\r\n const renderToList = () => {\r\n\r\n if (takiplist == null)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n\r\n\r\n if (takiplist.length == 0)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n\r\n var mytable =\r\n <div className=\"mt-1 \">\r\n <div className=\"table-responsive \">\r\n <table className='table table-vdstriped border' aria-labelledby=\"tabelLabel\">\r\n <tbody id=\"myTable\">\r\n {takiplist.map(apprec =>\r\n <tr key={apprec.id} style={{ \"height\": \"25px\" }}>\r\n <td>\r\n {getName(apprec.suTeminKod)}\r\n </td>\r\n <td>\r\n {apprec.regDate}\r\n </td>\r\n\r\n <td>\r\n {apprec.kayitNo}\r\n </td>\r\n <td>\r\n {apprec.diger}\r\n </td>\r\n <td>\r\n <div style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }} className=\"text-end\">\r\n {<a href=\"#\" className=\" text-decoration-none \" onClick={() => { remove(apprec.id) }}> <i className=\"fa fa-trash align-middle\" style={{ \"font-size\": \"20px\" }}></i></a>}\r\n </div>\r\n\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n if (maksrec == null || maksrec.id == null) {\r\n return <div className=\"text-start text-muted \">\r\n İçme Su eklemek için önce baÅŸvuruyu kayediniz\r\n </div>\r\n }\r\n\r\n\r\n\r\n return (\r\n <div className=\"mb-2 root\">\r\n\r\n\r\n <div className=\"row\">\r\n <div className=\"text-start col-12 fw-bold text-primary\">\r\n Sıcak Su Temin Sistemi\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mt-1\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\"> Sıcak Su Temin Sistemi</label>\r\n <select class=\"form-select form-select-sm\" defaultValue={getDefult(\"suTeminKod\")} id=\"suTeminKod\" name=\"suTeminKod\" onChange={handleInputChange} >\r\n <option selected></option>\r\n <option value=\"1\">Termosifon</option>\r\n <option value=\"2\">Åofben</option>\r\n <option value=\"3\">GüneÅŸ kollektörü</option>\r\n <option value=\"4\">Kombi</option>\r\n <option value=\"5\">Müşterek</option>\r\n <option value=\"6\">DiÄŸer</option>\r\n\r\n </select>\r\n </div>\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">Kayit No </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"kayitNo\" name=\"kayitNo\" defaultValue={getDefult(\"kayitNo\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">DiÄŸer </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"diger\" name=\"diger\" defaultValue={getDefult(\"diger\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-end col-5\">\r\n <button className=\"btn btn-sm btn-link\" onClick={() => { save() }} ><i className=\"fa fa-plus align-middle\" style={{ \"font-size\": \"20px\" }}></i></button>\r\n </div>\r\n </div>\r\n\r\n {renderToList()}\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport { useGlobalState } from '../GlobalState.js';\r\n\r\nimport $ from 'jquery';\r\n\r\nexport default function MaksSuYakit(props) {\r\n\r\n const [rec, setRec] = useState({});\r\n const [maksrec, setMaksRec] = useState(props.rec);\r\n const [takiplist, setTakiplist] = useState(null);\r\n\r\n useEffect(() => {\r\n fetchList();\r\n\r\n }, [])\r\n\r\n const remove = (id) => {\r\n\r\n showConfirmMessage(\"Silmel istediÄŸinizden emin misniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n fetch(\"removemakssuyakit\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setTakiplist(value)\r\n })\r\n }\r\n });\r\n });\r\n }\r\n\r\n const fetchList = (e) => {\r\n fetch(\"makssuyakitlist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n ,\r\n body: JSON.stringify(maksrec.id)\r\n }).then(async response => {\r\n\r\n\r\n if (!response.ok) {\r\n response.text().then(async data => {\r\n showErrorMessage(data);\r\n setTakiplist([])\r\n });\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setTakiplist(data)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const getDefult = (name) => {\r\n if (rec == null)\r\n return \"\";\r\n return rec[name];\r\n }\r\n\r\n\r\n\r\n const save = () => {\r\n rec.maksBasvuruId = maksrec.id;\r\n\r\n fetch(\"savemakssuyakit\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n $('.root').find('input').val('');\r\n setTakiplist(value)\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n rec[target.name] = value;\r\n }\r\n\r\n\r\n\r\n var recid = getDefult(\"id\");\r\n\r\n useEffect(() => {\r\n\r\n }, [])\r\n\r\n\r\n const getName = (value) => {\r\n if (value == 1) return value + \"- DoÄŸalgaz\";\r\n if (value == 2) return value + \"- LPG\"\r\n if (value == 3) return value + \"- Fuel-oil\"\r\n if (value == 4) return value + \"- Elektrik\";\r\n if (value == 5) return value + \"- Katı Yakıt\"\r\n if (value == 6) return value + \"- Termal\";\r\n if (value == 7) return value + \"- DiÄŸer\";\r\n return \"\";\r\n }\r\n\r\n\r\n\r\n\r\n const renderToList = () => {\r\n\r\n if (takiplist == null)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n\r\n\r\n if (takiplist.length == 0)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n\r\n var mytable =\r\n <div className=\"mt-1 \">\r\n <div className=\"table-responsive \">\r\n <table className='table table-vdstriped border' aria-labelledby=\"tabelLabel\">\r\n <tbody id=\"myTable\">\r\n {takiplist.map(apprec =>\r\n <tr key={apprec.id} style={{ \"height\": \"25px\" }}>\r\n <td>\r\n {getName(apprec.suYakitKod)}\r\n </td>\r\n <td>\r\n {apprec.regDate}\r\n </td>\r\n\r\n <td>\r\n {apprec.kayitNo}\r\n </td>\r\n <td>\r\n {apprec.diger}\r\n </td>\r\n <td>\r\n <div style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }} className=\"text-end\">\r\n {<a href=\"#\" className=\" text-decoration-none \" onClick={() => { remove(apprec.id) }}> <i className=\"fa fa-trash align-middle\" style={{ \"font-size\": \"20px\" }}></i></a>}\r\n </div>\r\n\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n if (maksrec == null || maksrec.id == null) {\r\n return <div className=\"text-start text-muted \">\r\n İçme Su eklemek için önce baÅŸvuruyu kayediniz\r\n </div>\r\n }\r\n\r\n\r\n\r\n return (\r\n <div className=\"mb-2 root\">\r\n\r\n\r\n <div className=\"row\">\r\n <div className=\"text-start col-12 fw-bold text-primary\">\r\n Sıcak Su Yakıt Cinsi\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mt-1\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\"> Sıcak Su Yakıt Cinsi</label>\r\n <select class=\"form-select form-select-sm\" defaultValue={getDefult(\"suYakitKod\")} id=\"suYakitKod\" name=\"suYakitKod\" onChange={handleInputChange} >\r\n <option selected></option>\r\n <option value=\"1\">DoÄŸalgaz</option>\r\n <option value=\"2\">LPG</option>\r\n <option value=\"3\">Fuel-oil</option>\r\n <option value=\"4\">Elektrik</option>\r\n <option value=\"5\">Katı Yakıt</option>\r\n <option value=\"6\">Termal</option>\r\n <option value=\"7\">DiÄŸer</option>\r\n\r\n </select>\r\n </div>\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">Kayit No </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"kayitNo\" name=\"kayitNo\" defaultValue={getDefult(\"kayitNo\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">DiÄŸer </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"diger\" name=\"diger\" defaultValue={getDefult(\"diger\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-end col-5\">\r\n <button className=\"btn btn-sm btn-link\" onClick={() => { save() }} ><i className=\"fa fa-plus align-middle\" style={{ \"font-size\": \"20px\" }}></i></button>\r\n </div>\r\n </div>\r\n\r\n {renderToList()}\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport { useGlobalState } from '../GlobalState.js';\r\n\r\nimport $ from 'jquery';\r\n\r\nexport default function MaksTesisat(props) {\r\n\r\n const [rec, setRec] = useState({});\r\n const [maksrec, setMaksRec] = useState(props.rec);\r\n const [takiplist, setTakiplist] = useState(null);\r\n\r\n useEffect(() => {\r\n fetchList();\r\n\r\n }, [])\r\n\r\n const remove = (id) => {\r\n\r\n showConfirmMessage(\"Silmel istediÄŸinizden emin misniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n fetch(\"removemakstesisat\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setTakiplist(value)\r\n })\r\n }\r\n });\r\n });\r\n }\r\n\r\n const fetchList = (e) => {\r\n fetch(\"makstesisatlist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n ,\r\n body: JSON.stringify(maksrec.id)\r\n }).then(async response => {\r\n\r\n\r\n if (!response.ok) {\r\n response.text().then(async data => {\r\n showErrorMessage(data);\r\n setTakiplist([])\r\n });\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setTakiplist(data)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const getDefult = (name) => {\r\n if (rec == null)\r\n return \"\";\r\n return rec[name];\r\n }\r\n\r\n\r\n\r\n const save = () => {\r\n rec.maksBasvuruId = maksrec.id;\r\n\r\n fetch(\"savemakstesisat\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n $('.root').find('input').val('');\r\n setTakiplist(value)\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n rec[target.name] = value;\r\n }\r\n\r\n\r\n\r\n var recid = getDefult(\"id\");\r\n\r\n useEffect(() => {\r\n\r\n }, [])\r\n\r\n\r\n\r\n\r\n const getName = (value) => {\r\n if (value == 1) return value + \"- Arıtma\";\r\n if (value == 2) return value + \"- Baz istasyonu\"\r\n if (value == 3) return value + \"- DoÄŸalgaz\"\r\n if (value == 4) return value + \"- Elektrik\";\r\n if (value == 5) return value + \"- HaberleÅŸme\"\r\n if (value == 6) return value + \"- Pis su\";\r\n if (value == 7) return value + \"- Temiz su\";\r\n if (value == 8) return value + \"- Hidrofor\";\r\n if (value == 9) return value + \"- Jeneratör\";\r\n if (value == 10) return value + \"- Paratoner\";\r\n if (value == 11) return value + \"- Yangın tesisatı\";\r\n if (value == 12) return value + \"- DiÄŸer\";\r\n\r\n\r\n return \"\";\r\n\r\n }\r\n\r\n\r\n\r\n\r\n const renderToList = () => {\r\n\r\n if (takiplist == null)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n\r\n\r\n if (takiplist.length == 0)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n\r\n var mytable =\r\n <div className=\"mt-1 \">\r\n <div className=\"table-responsive \">\r\n <table className='table table-vdstriped border' aria-labelledby=\"tabelLabel\">\r\n <tbody id=\"myTable\">\r\n {takiplist.map(apprec =>\r\n <tr key={apprec.id} style={{ \"height\": \"25px\" }}>\r\n <td>\r\n {getName(apprec.tesisatKod)}\r\n </td>\r\n <td>\r\n {apprec.regDate}\r\n </td>\r\n\r\n <td>\r\n {apprec.kayitNo}\r\n </td>\r\n <td>\r\n {apprec.diger}\r\n </td>\r\n <td>\r\n <div style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }} className=\"text-end\">\r\n {<a href=\"#\" className=\" text-decoration-none \" onClick={() => { remove(apprec.id) }}> <i className=\"fa fa-trash align-middle\" style={{ \"font-size\": \"20px\" }}></i></a>}\r\n </div>\r\n\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n if (maksrec == null || maksrec.id == null) {\r\n return <div className=\"text-start text-muted \">\r\n İçme Su eklemek için önce baÅŸvuruyu kayediniz\r\n </div>\r\n }\r\n\r\n\r\n\r\n return (\r\n <div className=\"mb-2 root\">\r\n\r\n\r\n <div className=\"row\">\r\n <div className=\"text-start col-12 fw-bold text-primary\">\r\n Tesisat\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mt-1\">\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">Tesisat </label>\r\n <select class=\"form-select form-select-sm\" defaultValue={getDefult(\"tesisatKod\")} id=\"tesisatKod\" name=\"tesisatKod\" onChange={handleInputChange} >\r\n <option selected></option>\r\n <option value=\"1\">Arıtma</option>\r\n <option value=\"2\">Baz istasyonu</option>\r\n <option value=\"3\">DoÄŸalgaz</option>\r\n <option value=\"4\">Elektrik</option>\r\n <option value=\"5\">HaberleÅŸme</option>\r\n <option value=\"6\">Pis su</option>\r\n <option value=\"7\">Temiz su</option>\r\n <option value=\"8\">Hidrofor</option>\r\n <option value=\"9\">Jeneratör</option>\r\n <option value=\"10\">Paratoner</option>\r\n <option value=\"11\">Yangın tesisatı</option>\r\n <option value=\"12\">DiÄŸer</option>\r\n </select>\r\n </div>\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">Kayit No </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"kayitNo\" name=\"kayitNo\" defaultValue={getDefult(\"kayitNo\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-2\">\r\n <label className=\"form-label\">DiÄŸer </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"diger\" name=\"diger\" defaultValue={getDefult(\"diger\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-end col-6\">\r\n <button className=\"btn btn-sm btn-link\" onClick={() => { save() }} ><i className=\"fa fa-plus align-middle\" style={{ \"font-size\": \"20px\" }}></i></button>\r\n </div>\r\n </div>\r\n\r\n {renderToList()}\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport { useGlobalState } from '../GlobalState.js';\r\n\r\nimport $ from 'jquery';\r\n\r\nexport default function MaksTasiyici(props) {\r\n\r\n const [rec, setRec] = useState({});\r\n const [maksrec, setMaksRec] = useState(props.rec);\r\n const [takiplist, setTakiplist] = useState(null);\r\n\r\n useEffect(() => {\r\n fetchList();\r\n\r\n }, [])\r\n\r\n const remove = (id) => {\r\n\r\n showConfirmMessage(\"Silmel istediÄŸinizden emin misniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n fetch(\"removemakstasiyici\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setTakiplist(value)\r\n })\r\n }\r\n });\r\n });\r\n }\r\n\r\n const fetchList = (e) => {\r\n fetch(\"makstasiyicilist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n ,\r\n body: JSON.stringify(maksrec.id)\r\n }).then(async response => {\r\n\r\n\r\n if (!response.ok) {\r\n response.text().then(async data => {\r\n showErrorMessage(data);\r\n setTakiplist([])\r\n });\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setTakiplist(data)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const getDefult = (name) => {\r\n if (rec == null)\r\n return \"\";\r\n return rec[name];\r\n }\r\n\r\n\r\n\r\n const save = () => {\r\n rec.maksBasvuruId = maksrec.id;\r\n\r\n fetch(\"savemakstasiyici\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n $('.root').find('input').val('');\r\n setTakiplist(value)\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n rec[target.name] = value;\r\n }\r\n\r\n\r\n\r\n var recid = getDefult(\"id\");\r\n\r\n useEffect(() => {\r\n\r\n }, [])\r\n\r\n\r\n\r\n\r\n const getName = (value) => {\r\n if (value == 1) return value + \"- Yok\";\r\n if (value == 2) return value + \"- Ä°skelet(Karkas)\"\r\n if (value == 3) return value + \"- Yığma(Kagir)\"\r\n if (value == 4) return value + \"- Prefabrik\";\r\n if (value == 5) return value + \"- Yarı Prefabrike\"\r\n if (value == 6) return value + \"- Karma\"\r\n if (value == 7) return value + \"- DiÄŸer\";\r\n if (value == 8) return value + \"- Ä°skelet(Karkas) --> Betonarme\";\r\n if (value == 9) return value + \"- Ä°skelet(Karkas) --> AhÅŸap\";\r\n if (value == 10) return value + \"- Ä°skelet(Karkas) --> Çelik\";\r\n if (value == 11) return value + \"- Ä°skelet(Karkas) --> Betonarme --> Çerçeveli Sistem\";\r\n if (value == 12) return value + \"- Ä°skelet(Karkas) --> Betonarme --> Perdeli Sistem\";\r\n if (value == 13) return value + \"- Ä°skelet(Karkas) --> Betonarme --> Çerçeveli + Perdeli Sistem\";\r\n\r\n return \"\";\r\n\r\n }\r\n\r\n\r\n\r\n\r\n const renderToList = () => {\r\n\r\n if (takiplist == null)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n\r\n\r\n if (takiplist.length == 0)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n\r\n var mytable =\r\n <div className=\"mt-1 \">\r\n <div className=\"table-responsive \">\r\n <table className='table table-vdstriped border' aria-labelledby=\"tabelLabel\">\r\n <tbody id=\"myTable\">\r\n {takiplist.map(apprec =>\r\n <tr key={apprec.id} style={{ \"height\": \"25px\" }}>\r\n <td>\r\n {getName(apprec.tasiyiciKod)}\r\n </td>\r\n <td>\r\n {apprec.regDate}\r\n </td>\r\n\r\n <td>\r\n {apprec.kayitNo}\r\n </td>\r\n <td>\r\n {apprec.diger}\r\n </td>\r\n <td>\r\n <div style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }} className=\"text-end\">\r\n {<a href=\"#\" className=\" text-decoration-none \" onClick={() => { remove(apprec.id) }}> <i className=\"fa fa-trash align-middle\" style={{ \"font-size\": \"20px\" }}></i></a>}\r\n </div>\r\n\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n if (maksrec == null || maksrec.id == null) {\r\n return <div className=\"text-start text-muted \">\r\n İçme Su eklemek için önce baÅŸvuruyu kayediniz\r\n </div>\r\n }\r\n\r\n\r\n\r\n return (\r\n <div className=\"mb-2 root\">\r\n\r\n\r\n <div className=\"row\">\r\n <div className=\"text-start col-12 fw-bold text-primary\">\r\n Tasiyici Sistem\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mt-1\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Tasiyici Sistem </label>\r\n <select class=\"form-select form-select-sm\" defaultValue={getDefult(\"tasiyiciKod\")} id=\"tasiyiciKod\" name=\"tasiyiciKod\" onChange={handleInputChange} >\r\n <option selected></option>\r\n\r\n <option value=\"1\">Yok</option>\r\n <option value=\"2\" >Ä°skelet(Karkas)</option>\r\n <option value=\"3\" >Yığma(Kagir)</option>\r\n <option value=\"4\" >Prefabrik</option>\r\n <option value=\"5\">Yarı Prefabrik</option>\r\n <option value=\"6\" >Karma</option>\r\n <option value=\"7\">DiÄŸer</option>\r\n <option value=\"8\">Ä°skelet(Karkas) --> Betonarme</option>\r\n <option value=\"9\">Ä°skelet(Karkas) --> AhÅŸap</option>\r\n <option value=\"10\">Ä°skelet(Karkas) --> Çelik</option>\r\n <option value=\"11\">Ä°skelet(Karkas) --> Betonarme --> Çerçeveli Sistem</option>\r\n <option value=\"12\">Ä°skelet(Karkas) --> Betonarme --> Perdeli Sistem</option>\r\n <option value=\"13\">Ä°skelet(Karkas) --> Betonarme --> Çerçeveli + Perdeli Sistem</option>\r\n \r\n </select>\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">DiÄŸer </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"diger\" name=\"diger\" defaultValue={getDefult(\"diger\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-end col-6\">\r\n <button className=\"btn btn-sm btn-link\" onClick={() => { save() }} ><i className=\"fa fa-plus align-middle\" style={{ \"font-size\": \"20px\" }}></i></button>\r\n </div>\r\n </div>\r\n\r\n {renderToList()}\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty, sendpost, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport { useGlobalState } from '../GlobalState.js';\r\n\r\nimport $ from 'jquery';\r\n\r\nexport default function MAKSAdres(props) {\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const boxid = props.adressId;\r\n const bagimsizBolumId = props.bagimsizBolumId;\r\n const adressId = props.adressId;\r\n const setRec = props.setRec;\r\n var adres = \"\";\r\n var bid = \"\";\r\n\r\n useEffect(() => {\r\n\r\n }, [])\r\n\r\n const handleIlChange = () => {\r\n var il = document.getElementById(\"il\" + boxid).value;\r\n var req = {requestType:2,parentId:il}\r\n sendpost(\"getmaksadrescomponent\", req, \"adresspiner\", (response) => {\r\n response.json().then(value => {\r\n var ilce = document.getElementById(\"ilce\" + boxid);\r\n ilce.innerHTML = \"<option selected value={-1}></option>\";\r\n var data = JSON.parse(value);\r\n data.forEach(i => {\r\n var opt = document.createElement('option');\r\n opt.value = i.Id;\r\n opt.innerHTML = i.Ad;\r\n ilce.appendChild(opt);\r\n })\r\n })\r\n })\r\n }\r\n const handleIlceChange = () => {\r\n var ilce = document.getElementById(\"ilce\" + boxid).value;\r\n var req = { requestType: 64, parentId: ilce }\r\n sendpost(\"getmaksadrescomponent\", req, \"adresspiner\", (response) => {\r\n response.json().then(value => {\r\n var mahalle = document.getElementById(\"mahalle\" + boxid);\r\n mahalle.innerHTML = \"<option selected value={-1}></option>\";\r\n var data = JSON.parse(value);\r\n data.forEach(i => {\r\n var opt = document.createElement('option');\r\n opt.value = i.Id;\r\n opt.innerHTML = i.Ad;\r\n mahalle.appendChild(opt);\r\n })\r\n })\r\n })\r\n }\r\n\r\n\r\n const handleMahalleChange = () => {\r\n var ilce = document.getElementById(\"mahalle\" + boxid).value;\r\n var req = { requestType: 128, parentId: ilce }\r\n sendpost(\"getmaksadrescomponent\", req, \"adresspiner\", (response) => {\r\n response.json().then(value => {\r\n var yol = document.getElementById(\"yol\" + boxid);\r\n yol.innerHTML = \"<option selected value={-1}></option>\";\r\n var data = JSON.parse(value);\r\n data.forEach(i => {\r\n var opt = document.createElement('option');\r\n opt.value = i.Id;\r\n opt.innerHTML = i.Ad;\r\n yol.appendChild(opt);\r\n })\r\n })\r\n })\r\n }\r\n\r\n\r\n\r\n const handleYolChange = () => {\r\n var ilce = document.getElementById(\"yol\" + boxid).value;\r\n var req = { requestType: 1024, parentId: ilce }\r\n sendpost(\"getmaksadrescomponent\", req, \"adresspiner\", (response) => {\r\n response.json().then(value => {\r\n var mahalle = document.getElementById(\"bina\" + boxid);\r\n mahalle.innerHTML = \"<option selected value={-1}></option>\";\r\n var data = JSON.parse(value);\r\n data.forEach(i => {\r\n var opt = document.createElement('option');\r\n opt.value = i.Id;\r\n opt.innerHTML = i.Ad;\r\n mahalle.appendChild(opt);\r\n })\r\n })\r\n })\r\n }\r\n\r\n const handleBinaChange = () => {\r\n var ilce = document.getElementById(\"bina\" + boxid);\r\n var req = { requestType: 4096, parentId: ilce.value }\r\n sendpost(\"getmaksadrescomponent\", req, \"adresspiner\", (response) => {\r\n response.json().then(value => {\r\n var mahalle = document.getElementById(\"bagimsiz\" + boxid);\r\n mahalle.innerHTML = \"<option selected value={-1}></option>\";\r\n var data = JSON.parse(value);\r\n var data = JSON.parse(value);\r\n if (data.length == 0) {\r\n var opt = document.createElement('option');\r\n opt.value = ilce.value; \r\n opt.innerHTML = ilce.options[ilce.selectedIndex].text;\r\n mahalle.appendChild(opt);\r\n\r\n return;\r\n }\r\n data.forEach(i => {\r\n var opt = document.createElement('option');\r\n opt.value = i.Id;\r\n opt.innerHTML = isEmpty(i.Ad) ? ilce.options[ilce.selectedIndex].text : i.Ad; \r\n mahalle.appendChild(opt);\r\n })\r\n })\r\n })\r\n } \r\n\r\n const handleBagimsizChange = () => {\r\n var v = document.getElementById(\"bagimsiz\" + boxid).value;\r\n var req = { requestType: 1001, parentId: v }\r\n sendpost(\"getmaksadrescomponent\", req, \"adresspiner\", (response) => {\r\n response.json().then(value => {\r\n var data = JSON.parse(value);\r\n adres = data[v + \"\"].AcikAdres;\r\n bid = v;\r\n })\r\n })\r\n } \r\n\r\n const saveAdres = () => {\r\n if (isEmpty(adres) || isEmpty(bid) || bid == -1) {\r\n showErrorMessage(\"Adres Alınamadı\")\r\n }\r\n document.getElementById(adressId).value = adres;\r\n document.getElementById(bagimsizBolumId).value = bid;\r\n setRec(bid,adres)\r\n \r\n } \r\n\r\n \r\n\r\n\r\n return (<div>\r\n <button type=\"button\" className=\"btn btn-primary btn-sm\" data-bs-toggle=\"modal\" data-bs-target={\"#Modal\" + boxid}>\r\n Adres Seç\r\n </button>\r\n\r\n\r\n <div className=\"modal fade\" tabindex=\"-1\" id={\"Modal\" + boxid}>\r\n <div className=\"modal-dialog\">\r\n <div className=\"modal-content\">\r\n <div className=\"modal-header\">\r\n <span className=\"modal-title h5\">Adres Seç</span>\r\n <span className=\"spinner-border spinner-border-sm ms-3\" id=\"adresspiner\" hidden> </span>\r\n <button type=\"button\" className=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n Ä°l\r\n <select className=\"form-select form-select-sm\" onChange={handleIlChange} id={\"il\" + boxid}>\r\n <option selected value={-1}></option>\r\n <option value=\"1\">Adana</option>\r\n <option value=\"2\">Adıyaman</option>\r\n <option value=\"3\">Afyonkarahisar</option>\r\n <option value=\"4\">AÄŸrı</option>\r\n <option value=\"68\">Aksaray</option>\r\n <option value=\"5\">Amasya</option>\r\n <option value=\"6\">Ankara</option>\r\n <option value=\"7\">Antalya</option>\r\n <option value=\"75\">Ardahan</option>\r\n <option value=\"8\">Artvin</option>\r\n <option value=\"9\">Aydın</option>\r\n <option value=\"10\">Balıkesir</option>\r\n <option value=\"74\">Bartın</option>\r\n <option value=\"72\">Batman</option>\r\n <option value=\"69\">Bayburt</option>\r\n <option value=\"11\">Bilecik</option>\r\n <option value=\"12\">Bingöl</option>\r\n <option value=\"13\">Bitlis</option>\r\n <option value=\"14\">Bolu</option>\r\n <option value=\"15\">Burdur</option>\r\n <option value=\"16\">Bursa</option>\r\n <option value=\"17\">Çanakkale</option>\r\n <option value=\"18\">Çankırı</option>\r\n <option value=\"19\">Çorum</option>\r\n <option value=\"20\">Denizli</option>\r\n <option value=\"21\">Diyarbakır</option>\r\n <option value=\"81\">Düzce</option>\r\n <option value=\"22\">Edirne</option>\r\n <option value=\"23\">Elazığ</option>\r\n <option value=\"24\">Erzincan</option>\r\n <option value=\"25\">Erzurum</option>\r\n <option value=\"26\">EskiÅŸehir</option>\r\n <option value=\"27\">Gaziantep</option>\r\n <option value=\"28\">Giresun</option>\r\n <option value=\"29\">Gümüşhane</option>\r\n <option value=\"30\">Hakkâri</option>\r\n <option value=\"31\">Hatay</option>\r\n <option value=\"76\">IÄŸdır</option>\r\n <option value=\"32\">Isparta</option>\r\n <option value=\"34\">Ä°stanbul</option>\r\n <option value=\"35\">Ä°zmir</option>\r\n <option value=\"46\">KahramanmaraÅŸ</option>\r\n <option value=\"78\">Karabük</option>\r\n <option value=\"70\">Karaman</option>\r\n <option value=\"36\">Kars</option>\r\n <option value=\"37\">Kastamonu</option>\r\n <option value=\"38\">Kayseri</option>\r\n <option value=\"71\">Kırıkkale</option>\r\n <option value=\"39\">Kırklareli</option>\r\n <option value=\"40\">KırÅŸehir</option>\r\n <option value=\"79\">Kilis</option>\r\n <option value=\"41\">Kocaeli</option>\r\n <option value=\"42\">Konya</option>\r\n <option value=\"43\">Kütahya</option>\r\n <option value=\"44\">Malatya</option>\r\n <option value=\"45\">Manisa</option>\r\n <option value=\"47\">Mardin</option>\r\n <option value=\"33\">Mersin</option>\r\n <option value=\"48\">MuÄŸla</option>\r\n <option value=\"49\">MuÅŸ</option>\r\n <option value=\"50\">NevÅŸehir</option>\r\n <option value=\"51\">NiÄŸde</option>\r\n <option value=\"52\">Ordu</option>\r\n <option value=\"80\">Osmaniye</option>\r\n <option value=\"53\">Rize</option>\r\n <option value=\"54\">Sakarya</option>\r\n <option value=\"55\">Samsun</option>\r\n <option value=\"56\">Siirt</option>\r\n <option value=\"57\">Sinop</option>\r\n <option value=\"58\">Sivas</option>\r\n <option value=\"63\">Åanlıurfa</option>\r\n <option value=\"73\">Åırnak</option>\r\n <option value=\"59\">TekirdaÄŸ</option>\r\n <option value=\"60\">Tokat</option>\r\n <option value=\"61\">Trabzon</option>\r\n <option value=\"62\">Tunceli</option>\r\n <option value=\"64\">UÅŸak</option>\r\n <option value=\"65\">Van</option>\r\n <option value=\"77\">Yalova</option>\r\n <option value=\"66\">Yozgat</option>\r\n <option value=\"67\">Zonguldak</option>\r\n </select>\r\n \r\n Ä°lçe\r\n <select class=\"form-select form-select-sm\" id={\"ilce\" + boxid} onChange={handleIlceChange}>\r\n <option selected value={-1}></option>\r\n \r\n </select>\r\n \r\n Mahalle\r\n <select class=\"form-select form-select-sm\" id={\"mahalle\" + boxid} onChange={handleMahalleChange} >\r\n <option selected value={-1}></option>\r\n \r\n </select>\r\n \r\n Yol\r\n <select class=\"form-select form-select-sm\" onChange={handleYolChange} id={\"yol\" + boxid}>\r\n <option selected value={-1}></option>\r\n \r\n </select>\r\n \r\n \r\n Bina\r\n <select className=\"form-select form-select-sm\" onChange={handleBinaChange} id={\"bina\" + boxid}>\r\n <option selected value={-1}></option>\r\n \r\n </select>\r\n\r\n Bağımsız Bolum\r\n <select className=\"form-select form-select-sm\" onChange={handleBagimsizChange} id={\"bagimsiz\" + boxid}>\r\n <option selected value={-1}></option>\r\n\r\n </select>\r\n\r\n\r\n\r\n </div>\r\n <div className=\"modal-footer\">\r\n <button type=\"button\" className=\"btn btn-secondary\" data-bs-dismiss=\"modal\">Vazgeç</button>\r\n\r\n <button type=\"button\" className=\"btn btn-primary\" data-bs-dismiss=\"modal\" onClick={saveAdres}>Kaydet</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n </div >\r\n );\r\n}\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty, setVisible, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport { useGlobalState } from '../GlobalState.js';\r\nimport MaksGorevli from './MaksGorevli';\r\nimport MaksProje from './MaksProje.js';\r\nimport MaksDuvardolgu from './MaksDuvardolgu.js';\r\nimport MaksDoseme from './MaksDoseme.js';\r\nimport MaksOrtakAlan from './MaksOrtakAlan.js';\r\nimport MaksIcmesu from './MaksIcmesu.js';\r\nimport MaksAtiksu from './MaksAtiksu.js';\r\nimport MaksMuhtelifGelir from './MaksMuhtelifGelir.js';\r\nimport MaksYapiDenetim from './MaksYapiDenetim.js';\r\nimport MaksBagimsizBolum from './MaksBagimsizBolum.js';\r\nimport Maksisitma from './Maksisitma.js';\r\nimport MaksisitmaYakit from './MaksisitmaYakit.js';\r\nimport MaksSuTemin from './MaksSuTemin.js';\r\nimport MaksSuYakit from './MaksSuYakit.js';\r\nimport MaksTesisat from './MaksTesisat.js';\r\nimport MaksTasiyici from './MaksTasiyici.js';\r\nimport MAKSAdres from './MAKSAdres.js';\r\n\r\n\r\nexport default function MAKS(props) {\r\n const [role, setRole] = useGlobalState('role');\r\n const [rec, setRec] = useState(props.MaksApp);\r\n\r\n const [maksMahalleList, setmaksMahalleList] = useState([]);\r\n const [maksAdresList, setMaksAdresList] = useState([]);\r\n const [yollist, setYols] = useState([]);\r\n const [numarajlist, setNumaratjList] = useState([]);\r\n const [selectedAdres, setSelectedAdres] = useState([]);\r\n\r\n const [userData, setUserData] = useState(null);\r\n const [userName, setuserName] = useGlobalState('userName');\r\n const appData = props.appData;\r\n\r\n useEffect(() => {\r\n // load();\r\n fetchUserData();\r\n fetchMaksMahalle();\r\n }, [])\r\n\r\n\r\n\r\n\r\n const handleMahalleChange = (event) => {\r\n var idx = document.getElementById(\"maksmahalle\").selectedIndex;\r\n document.getElementById(\"yapiBelgeAdres_MahalleKimlikNo\").value = document.getElementById(\"maksmahalle\").options[idx].value\r\n document.getElementById(\"yapiBelgeAdres_MahalleAdi\").value = document.getElementById(\"maksmahalle\").options[idx].innerHTML\r\n fetchMaksYol(document.getElementById(\"maksmahalle\").options[idx].value);\r\n }\r\n\r\n const handleYolChange = (event) => {\r\n var idx = document.getElementById(\"maksyol\").selectedIndex;\r\n var yolad = document.getElementById(\"maksyol\").options[idx].innerHTML;\r\n setNumaratjList(maksAdresList.filter(x => x.yolad == yolad).map(x => x.kapino));\r\n }\r\n\r\n const handleNumaratjChange = (event) => {\r\n var idx = document.getElementById(\"maksnumaratj\").selectedIndex;\r\n var k = document.getElementById(\"maksnumaratj\").options[idx].innerHTML;\r\n idx = document.getElementById(\"maksyol\").selectedIndex;\r\n var yolad = document.getElementById(\"maksyol\").options[idx].innerHTML;\r\n\r\n var adres = maksAdresList.filter(x => x.yolad == yolad && x.kapino == k);\r\n if (adres.length == 0) {\r\n showErrorMessage(\"Seçilen Numarataja Kimlik No Bulunamadı !\");\r\n return;\r\n\r\n }\r\n /* if (adres.length > 0) {\r\n showErrorMessage(\"Seçilen Numarataja Birden Fazla Kimlik No bulundu !\");\r\n return;\r\n }*/\r\n\r\n document.getElementById(\"adresinfo\").innerHTML = \"Adres: \" + adres.length + \" , Numarataj: \" + adres[0].numarataj + \" , Yapı K. No\" + adres[0].yapikimlikno + \" , Bagimsiz Bol K. No:\" + adres[0].bagimsizbolkimlikno + \" , Bagimsiz Bol No:\" + adres[0].yapiBelgeAdres_BagimsizBolumNo;\r\n document.getElementById(\"yapiBelgeYapi_YapiKimlikNo\").value = adres[0].yapikimlikno;\r\n document.getElementById(\"yapiBelgeAdres_BagimsizBolumKimlikNo\").value = adres[0].bagimsizbolkimlikno;\r\n document.getElementById(\"yapiBelgeAdres_BagimsizBolumNo\").value = adres[0].bagimsizbolumno;\r\n document.getElementById(\"yapiBelgeAdres_NumaratajKimlikNo\").value = k;\r\n\r\n setSelectedAdres(adres);\r\n\r\n\r\n }\r\n\r\n\r\n\r\n const getDefult = (name) => {\r\n if (rec == null)\r\n return \"\";\r\n return rec[name];\r\n }\r\n\r\n\r\n\r\n const fetchUserData = () => {\r\n fetch(\"getuser?user=\" + userName, {\r\n method: 'GET'\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setUserData(data);\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const fetchMaksMahalle = () => {\r\n fetch(\"getmaksmahallelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setmaksMahalleList(value);\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n const fetchMaksYol = (id) => {\r\n fetch(\"getmaksyollist?mahalleid=\" + id, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setMaksAdresList(value)\r\n const yols = new Set();\r\n value.forEach(x => yols.add(x.yolad));\r\n\r\n setYols([...yols]);\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const senToMAKS = () => {\r\n setVisible(\"myspinner\", true)\r\n fetch(\"yapiruhsatkaydet\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n ,\r\n body: rec.id\r\n }).then(async response => {\r\n setVisible(\"myspinner\", false)\r\n try {\r\n response.text().then(value => {\r\n value = value.replace(\"\\\\n\", \" \").replace(\"\\n\", \" \").replace(\"\\n\", \" \").replace(\"\\r\", \" \");\r\n showSuccessMessage(value);\r\n })\r\n }\r\n catch (ex) {\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n /* const load = () => {\r\n \r\n fetch(\"getmaksapp\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(\"app \" + appData.id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n try {\r\n response.json().then(value => {\r\n if (value.length > 0)\r\n setRec(value[0]);\r\n })\r\n }\r\n catch (ex) {\r\n showErrorMessage(ex);\r\n }\r\n }\r\n });\r\n }*/\r\n\r\n\r\n\r\n const save = () => {\r\n rec.appId = appData.id;\r\n setVisible(\"myspinner\", true)\r\n fetch(\"savemaksapp\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n setVisible(\"myspinner\", false)\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n try {\r\n response.json().then(value => {\r\n\r\n showSuccessMessage(\"BaÅŸvuru kaydedilmiÅŸtir\", \"BaÅŸvuru No: \" + value.id);\r\n setRec(value);\r\n })\r\n }\r\n catch (ex) {\r\n\r\n }\r\n }\r\n });\r\n }\r\n\r\n const Oku = () => {\r\n rec.appId = appData.id;\r\n\r\n var bultenno = document.getElementById(\"yapiBelge_BultenNo\").value;\r\n setVisible(\"myspinner\", true)\r\n fetch(\"readfrommaks?maksid=\" + rec.id + \"&bultenno=\" + bultenno, {\r\n method: 'GET'\r\n\r\n }).then(async response => {\r\n setVisible(\"myspinner\", false)\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n try {\r\n response.json().then(value => {\r\n showSuccessMessage(bultenno + \" bulten numaralı baÅŸvuru MAKS servisinden alınmıştır\")\r\n setRec(value);\r\n })\r\n }\r\n catch (ex) {\r\n\r\n }\r\n }\r\n });\r\n }\r\n\r\n const Onayla = () => {\r\n setVisible(\"myspinner\", true)\r\n fetch(\"approveRuhsat\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec.id)\r\n\r\n }).then(async response => {\r\n setVisible(\"myspinner\", false)\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n try {\r\n response.text().then(value => {\r\n showSuccessMessage(value);\r\n })\r\n }\r\n catch (ex) {\r\n\r\n }\r\n }\r\n });\r\n }\r\n\r\n const SantiyeSefiSorgula = () => {\r\n document.getElementById(\"santiyeSefSonuc\").innerHTML = \"Yanıt Bekleniyor ...\";\r\n setVisible(\"myspinner\", true)\r\n fetch(\"santiyesefisorgula\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec.id)\r\n\r\n }).then(async response => {\r\n setVisible(\"myspinner\", false)\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n try {\r\n response.text().then(value => {\r\n document.getElementById(\"santiyeSefSonuc\").innerHTML = value;\r\n })\r\n }\r\n catch (ex) {\r\n\r\n }\r\n }\r\n });\r\n }\r\n\r\n const YambisSorgula = () => {\r\n document.getElementById(\"YambisSorgula\").innerHTML = \"Yanıt Bekleniyor ...\";\r\n setVisible(\"myspinner\", true)\r\n fetch(\"yambisSorgula\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec.id)\r\n\r\n }).then(async response => {\r\n setVisible(\"myspinner\", false)\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n try {\r\n response.text().then(value => {\r\n value = value.replaceAll('\\\\n', \"\").replaceAll('\"', \" \").replaceAll(\"\\\\\", \" \").replaceAll(\"{\", \"\").replaceAll(\"}\", \"\").replaceAll(\",\", \"<br/>\");\r\n document.getElementById(\"YambisSorgula\").innerHTML = value;\r\n })\r\n }\r\n catch (ex) {\r\n\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n if (isEmpty(value) == false)\r\n rec[target.name] = value;\r\n else\r\n rec[target.name] = null;\r\n }\r\n\r\n var mainbuttons = <div className=\"row mt-1\">\r\n\r\n <div className=\"col-12 col-md-6\">\r\n <h5 className=\"text-primary mb-0\" >MAKS Yapı Ruhsat Belgesi </h5>\r\n {isEmpty(recid) ? \"\" : \"ID: \" + recid} \r\n {isEmpty(appid) ? \"\" : \"AppID: \" + appid}\r\n </div>\r\n <div className=\"col-12 col-md-1 text-end\">\r\n <div class=\"spinner-border spinner-border-sm\" id=\"myspinner\" hidden>\r\n </div>\r\n </div>\r\n <div className=\"col-12 col-md-5 text-end\">\r\n <button type=\"button\" className=\"ms-1 btn btn-primary btn-sm text-decoration-none \" style={{ \"border-radius\": \"8px\" }} onClick={save}>\r\n {rec.id > 0 ? \"Kaydet\" : \"Yeni BaÅŸvuru OluÅŸtur\"}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n var recid = getDefult(\"id\");\r\n var appid = getDefult(\"appId\");\r\n if (userData == null)\r\n return <div class=\"spinner-border spinner-border-sm\"> </div>\r\n\r\n if (rec.id == null || rec.id <= 0)\r\n return mainbuttons;\r\n\r\n\r\n return (\r\n <div className=\"mb-5 rounded-3 pt-2 pb-3 ps-3 pe-3\" style={{ \"background-color\": \"#ebebeb\", \"min-height\": \"100vh\" }}>\r\n\r\n {mainbuttons}\r\n\r\n <div className=\"row\">\r\n <div className=\"col-2\">\r\n <button disabled={rec == null || !(rec.id > 0)} type=\"button\" className=\"ms-1 btn btn-success btn-sm text-decoration-none w-100\" style={{ \"border-radius\": \"8px\" }} onClick={senToMAKS}>\r\n Gönder\r\n </button>\r\n </div>\r\n <div className=\"col-2\">\r\n <button disabled={rec == null || !(rec.id > 0)} type=\"button\" className=\"ms-1 btn btn-success btn-sm text-decoration-none w-100\" style={{ \"border-radius\": \"8px\" }} onClick={senToMAKS}>\r\n Güncelle\r\n </button>\r\n </div>\r\n <div className=\"col-2\">\r\n <button disabled={rec == null || !(rec.id > 0)} type=\"button\" className=\"ms-1 btn btn-success btn-sm text-decoration-none w-100\" style={{ \"border-radius\": \"8px\" }} onClick={Oku}>\r\n Oku\r\n </button>\r\n </div>\r\n\r\n <div className=\"col-2\">\r\n <button disabled={rec == null || !(rec.id > 0)} type=\"button\" className=\"ms-1 btn btn-success btn-sm text-decoration-none w-100\" style={{ \"border-radius\": \"8px\" }} onClick={Onayla}>\r\n Onayla\r\n </button>\r\n </div>\r\n <div className=\"col-2\">\r\n <a disabled={rec == null || !(rec.id > 0)} type=\"button\" className=\"ms-1 btn btn-success btn-sm text-decoration-none w-100\" style={{ \"border-radius\": \"8px\" }} download=\"ruhsat.pdf\" href={\"/getRuhsatPDF?id=\" + rec.id}>\r\n Ruhsatı Ä°ndir\r\n </a>\r\n\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#BAÅVURUBÄ°LGÄ°LERÄ°\">BaÅŸvuru Bilgileri</a>\r\n </div>\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#YapıSahipiBilgileri\">Yapı Sahipi Bilgileri</a>\r\n </div>\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#YapıBelgeBilgileri\">Yapı Belge Bilgileri</a>\r\n </div>\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#YapiBelgeAdresBilgileri\">Yapi Belge Adres Bilgileri</a>\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#Ruhsat\">Ruhsat</a>\r\n </div>\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#YapıMütahhitBilgileri\">Mütahhit Bilgileri</a>\r\n </div>\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#ÅantiyeÅefiBilgileri\">Åantiye Åefi</a>\r\n </div>\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#YapiBelgeAdresBilgileri\">Bagimsiz Bolum</a>\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#YapiOzellikBilgileri\">Yapi Ozellik Bilgileri</a>\r\n </div>\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#MaksTasiyici\">Tasiyici</a>\r\n </div>\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#YapıDenetimKuruluÅŸBilgileri\">Yapı Denetim KuruluÅŸ</a>\r\n </div>\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#YapıToprakBilgileri\"> Toprak Bilgileri</a>\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#YapiBelgeDigerHusus\">Diger Husus</a>\r\n </div>\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#YapiÄ°ÅŸYeriBilgileri\">Yapi Ä°ÅŸYeri Bilgileri</a>\r\n </div>\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#Maksisitma\">Isitma</a>\r\n </div>\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#MaksisitmaYakit\"> Isitma Yakit</a>\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#MaksSuTemin\">Sıcak Su Temin</a>\r\n </div>\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#MaksSuYakit\">Sıcak Su Temin Yakit</a>\r\n </div>\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#MaksIcmesu\">Içme Su</a>\r\n </div>\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#MaksAtiksu\"> Maks Atik Su</a>\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#MaksGorevli\">Gorevli</a>\r\n </div>\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#MaksProje\">Proje</a>\r\n </div>\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#MaksDuvardolgu\">Duvardolgu</a>\r\n </div>\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#MaksDoseme\"> Doseme</a>\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#MaksOrtakAlan\">Ortak Alan</a>\r\n </div>\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#MaksTesisat\">Tesisat</a>\r\n </div>\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#MaksMuhtelifGelir\">Muhtelif Gelir</a>\r\n </div>\r\n <div className=\"col-3\">\r\n <a className=\"text-decoration-none\" href=\"#MaksYapiDenetim\">Yapi Denetim</a>\r\n </div>\r\n </div>\r\n\r\n {/*--------------------------------------------------------ADRES -------------------------------*/}\r\n\r\n\r\n <div className=\"bg-white rounded-3 p-2 mt-2 shadow-sm\">\r\n <div className=\"row\" id=\"BAÅVURUBÄ°LGÄ°LERÄ°\">\r\n <div className=\"text-start col-12 fw-bold text-primary \">\r\n BaÅŸvuru Bilgileri\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-12 text-success\">\r\n {rec.yapiBelgeAdres_MahalleAdi}( {rec.yapiBelgeAdres_MahalleKimlikNo}) / {rec.yol} / {rec.yapiBelgeAdres_DisKapiNo}\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-1\">\r\n <div className=\"text-start col-3 pt-3\">\r\n <input type=\"checkbox\" className=\"form-check-input\" id=\"yapiBelge_YapiDenetimTabi\" name=\"yapiBelge_YapiDenetimTabi\" defaultChecked={getDefult(\"yapiBelge_YapiDenetimTabi\") == true} key={getDefult(\"yapiBelge_YapiDenetimTabi\")} onChange={handleInputChange} key={rec.yapiBelge_YapiDenetimTabi} /> Bina Yapı Denetime tabi deÄŸil\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Yibf No</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiBelge_YibfNo\" name=\"yapiBelge_YibfNo\" defaultValue={getDefult(\"yapiBelge_YibfNo\")} key={getDefult(\"yapiBelge_YibfNo\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n </div>\r\n\r\n <div className=\"row mt-3\">\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n {/*--------------------------------------------------------Yapı Belge Bilgileri -------------------------------*/}\r\n\r\n\r\n <div className=\"bg-white rounded-3 p-2 mt-2 shadow-sm\">\r\n <div className=\"row\" id=\"YapıBelgeBilgileri\">\r\n <div className=\"text-start col-12 fw-bold text-primary \">\r\n Yapı Belge Bilgileri\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Yapi Belge Tipi</label>\r\n <select disabled class=\"form-select form-select-sm\" aria-label=\"Default select example\" id=\"yapiBelge_YapiBelgeTipKod\" name=\"yapiBelge_YapiBelgeTipKod\" defaultValue={getDefult(\"yapiBelge_YapiBelgeTipKod\")} key={getDefult(\"yapiBelge_YapiBelgeTipKod\")} onChange={handleInputChange} >\r\n <option selected ></option>\r\n <option value=\"1\" selected={getDefult(\"yapiBelge_YapiBelgeTipKod\") == \"1\"}>Yapi Ruhsat Belgesi</option>\r\n <option value=\"2\" selected={getDefult(\"yapiBelge_YapiBelgeTipKod\") == \"2\"}>Yapi Kullanma Izin Belgesi</option>\r\n <option value=\"3\" selected={getDefult(\"yapiBelge_YapiBelgeTipKod\") == \"3\"}>Yanan Yikilan Yapi Formu</option>\r\n <option value=\"4\" selected={getDefult(\"yapiBelge_YapiBelgeTipKod\") == \"4\"}>Yikim Ruhsat Belgesi</option>\r\n </select>\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Yapi Kimlik No</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiBelgeYapi_YapiKimlikNo\" name=\"yapiBelgeYapi_YapiKimlikNo\" defaultValue={getDefult(\"yapiBelgeYapi_YapiKimlikNo\")} key={getDefult(\"yapiBelgeYapi_YapiKimlikNo\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Yapi Belge Durum Kod</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelge_YapiBelgeDurumKod\" name=\"yapiBelge_YapiBelgeDurumKod\" defaultValue={getDefult(\"yapiBelge_YapiBelgeDurumKod\")} key={getDefult(\"yapiBelge_YapiBelgeDurumKod\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Bulten No</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiBelge_BultenNo\" name=\"yapiBelge_BultenNo\" defaultValue={getDefult(\"yapiBelge_BultenNo\")} key={getDefult(\"yapiBelge_BultenNo\")} onChange={handleInputChange} />\r\n\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Onay Kod</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiBelge_OnayKod\" name=\"yapiBelge_OnayKod\" defaultValue={getDefult(\"yapiBelge_OnayKod\")} key={getDefult(\"yapiBelge_OnayKod\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Sistem Onay Tarih</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelge_SistemOnayTarih\" name=\"yapiBelge_SistemOnayTarih\" defaultValue={getDefult(\"yapiBelge_SistemOnayTarih\")} key={getDefult(\"yapiBelge_SistemOnayTarih\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n {/*-------------------------------------------------------------------Yapı Sahipi Bilgileri-----------------------------------------------*/}\r\n <div className=\"bg-white rounded-3 p-2 mt-2 shadow-sm\">\r\n <div className=\"row\" id=\"YapıSahipiBilgileri\">\r\n <div className=\"text-start col-12 fw-bold text-primary \">\r\n Yapı Sahipi Bilgileri\r\n </div>\r\n </div>\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Kurum Tur</label>\r\n <select class=\"form-select form-select-sm\" id=\"yapiSahip_YapiSahipKurumTurKod\" name=\"yapiSahip_YapiSahipKurumTurKod\" defaultValue={getDefult(\"yapiSahip_YapiSahipKurumTurKod\")} key={getDefult(\"yapiSahip_YapiSahipKurumTurKod\")} onChange={handleInputChange} >\r\n <option ></option>\r\n <option value=\"1\" selected={getDefult(\"yapiSahip_YapiSahipKurumTurKod\") == \"1\"}>Özel</option>\r\n <option value=\"2\" selected={getDefult(\"yapiSahip_YapiSahipKurumTurKod\") == \"2\"}>Kamu</option>\r\n <option value=\"3\" selected={getDefult(\"yapiSahip_YapiSahipKurumTurKod\") == \"3\"}>Yabancı</option>\r\n </select>\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Kurum Kod</label>\r\n <select class=\"form-select form-select-sm\" id=\"yapiSahip_YapiSahipKurumKod\" name=\"yapiSahip_YapiSahipKurumKod\" defaultValue={getDefult(\"yapiSahip_YapiSahipKurumKod\")} key={getDefult(\"yapiSahip_YapiSahipKurumKod\")} onChange={handleInputChange} >\r\n <option ></option>\r\n <option value=\"1\" selected={getDefult(\"yapiSahip_YapiSahipKurumKod\") == \"481\"}>Özel KiÅŸiler</option>\r\n <option value=\"2\" selected={getDefult(\"yapiSahip_YapiSahipKurumKod\") == \"482\"}>Özel KuruluÅŸlar</option>\r\n <option value=\"3\" selected={getDefult(\"yapiSahip_YapiSahipKurumKod\") == \"467\"}>Yapı Koopratifleri</option>\r\n <option value=\"3\" selected={getDefult(\"yapiSahip_YapiSahipKurumKod\") == \"485\"}>Ortaklık</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Ad</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiSahip_Ad\" name=\"yapiSahip_Ad\" defaultValue={getDefult(\"yapiSahip_Ad\")} key={getDefult(\"yapiSahip_Ad\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Soyad </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiSahip_Soyad\" name=\"yapiSahip_Soyad\" defaultValue={getDefult(\"yapiSahip_Soyad\")} key={getDefult(\"yapiSahip_Soyad\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">TC Kimlik No</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiSahip_TCKimlikNo\" name=\"yapiSahip_TCKimlikNo\" defaultValue={getDefult(\"yapiSahip_TCKimlikNo\")} key={getDefult(\"yapiSahip_TCKimlikNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Unvan</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiSahip_Unvan\" name=\"yapiSahip_Unvan\" defaultValue={getDefult(\"yapiSahip_Unvan\")} key={getDefult(\"yapiSahip_Unvan\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Vergi Dairesi</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiSahip_VergiDaire\" name=\"yapiSahip_VergiDaire\" defaultValue={getDefult(\"yapiSahip_VergiDaire\")} key={getDefult(\"yapiSahip_VergiDaire\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Vergi No</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiSahip_VergiNo\" name=\"yapiSahip_VergiNo\" defaultValue={getDefult(\"yapiSahip_VergiNo\")} key={getDefult(\"yapiSahip_VergiNo\")} onChange={handleInputChange} />\r\n </div>\r\n \r\n </div>\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Bagimsiz Bolum Kimlik No</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" disabled id=\"yapiSahip_BagimsizBolumKimlikNo\" name=\"yapiSahip_BagimsizBolumKimlikNo\" defaultValue={getDefult(\"yapiSahip_BagimsizBolumKimlikNo\")} key={getDefult(\"yapiSahip_BagimsizBolumKimlikNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-6\">\r\n <label className=\"form-label\">Acik Adres</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" disabled id=\"yapiSahip_AcikAdres\" name=\"yapiSahip_AcikAdres\" defaultValue={getDefult(\"yapiSahip_AcikAdres\")} key={getDefult(\"yapiSahip_AcikAdres\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-3 pt-2\">\r\n <br/>\r\n <MAKSAdres adressId=\"yapiSahip_AcikAdres\" setRec={(b, a) => { rec.yapiSahip_BagimsizBolumKimlikNo = b; rec.yapiSahip_AcikAdres = a; }} bagimsizBolumId=\"yapiSahip_BagimsizBolumKimlikNo\" key=\"yapiSahip_BagimsizBolumKimlikNo\" />\r\n </div>\r\n </div>\r\n </div>\r\n\r\n \r\n\r\n \r\n\r\n\r\n {/*-------------------------------------------------------------------Yapi Belge Adres Bilgileri------------------------------------------*/}\r\n <div className=\"bg-white rounded-3 p-2 mt-4 shadow-sm\">\r\n <div className=\"row\" id=\"YapiBelgeAdresBilgileri\">\r\n <div className=\"text-start col-12 fw-bold text-primary\">\r\n Yapi Belge Adres Bilgileri\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\"> Il</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_IlAdi\" name=\"yapiBelgeAdres_IlAdi\" defaultValue={getDefult(\"yapiBelgeAdres_IlAdi\")} key={getDefult(\"yapiBelgeAdres_IlAdi\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Il Kimlik No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_IlKimlikNo\" name=\"yapiBelgeAdres_IlKimlikNo\" value={getDefult(\"yapiBelgeAdres_IlKimlikNo\")} key={getDefult(\"yapiBelgeAdres_IlKimlikNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Ilçe</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_IlceAdi\" name=\"yapiBelgeAdres_IlceAdi\" defaultValue={getDefult(\"yapiBelgeAdres_IlceAdi\")} key={getDefult(\"yapiBelgeAdres_IlceAdi\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Ilce Kimlik No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_IlceKimlikNo\" name=\"yapiBelgeAdres_IlceKimlikNo\" defaultValue={getDefult(\"yapiBelgeAdres_IlceKimlikNo\")} key={getDefult(\"yapiBelgeAdres_IlceKimlikNo\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Mevki</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_MezraMevkiAd\" name=\"yapiBelgeAdres_MezraMevkiAd\" defaultValue={getDefult(\"yapiBelgeAdres_MezraMevkiAd\")} key={getDefult(\"yapiBelgeAdres_MezraMevkiAd\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Mahalle</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_MahalleAdi\" name=\"yapiBelgeAdres_MahalleAdi\" defaultValue={getDefult(\"yapiBelgeAdres_MahalleAdi\")} key={getDefult(\"yapiBelgeAdres_MahalleAdi\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Mahalle Kimlik No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_MahalleKimlikNo\" name=\"yapiBelgeAdres_MahalleKimlikNo\" defaultValue={getDefult(\"yapiBelgeAdres_MahalleKimlikNo\")} key={getDefult(\"yapiBelgeAdres_MahalleKimlikNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Mahalle Tanıtım Kod</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_MahalleTanitimKod\" name=\"yapiBelgeAdres_MahalleTanitimKod\" defaultValue={getDefult(\"yapiBelgeAdres_MahalleTanitimKod\")} key={getDefult(\"yapiBelgeAdres_MahalleTanitimKod\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n </div>\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Belediye</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_KurumAdi\" name=\"yapiBelgeAdres_KurumAdi\" defaultValue={getDefult(\"yapiBelgeAdres_KurumAdi\")} key={getDefult(\"yapiBelgeAdres_KurumAdi\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Belediye Kimlik No</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiBelge_KurumKimlikNo\" name=\"yapiBelge_KurumKimlikNo\" defaultValue={getDefult(\"yapiBelge_KurumKimlikNo\")} key={getDefult(\"yapiBelge_KurumKimlikNo\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Bucak</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_BucakAdi\" name=\"yapiBelgeAdres_BucakAdi\" defaultValue={getDefult(\"yapiBelgeAdres_BucakAdi\")} key={getDefult(\"yapiBelgeAdres_BucakAdi\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Bucak Kimlik No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_BucakKimlikNo\" name=\"yapiBelgeAdres_BucakKimlikNo\" defaultValue={getDefult(\"yapiBelgeAdres_BucakKimlikNo\")} key={getDefult(\"yapiBelgeAdres_BucakKimlikNo\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Köy</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_KoyAdi\" name=\"yapiBelgeAdres_KoyAdi\" defaultValue={getDefult(\"yapiBelgeAdres_KoyAdi\")} key={getDefult(\"yapiBelgeAdres_KoyAdi\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Köy Kimlik No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_KoyKimlikNo\" name=\"yapiBelgeAdres_KoyKimlikNo\" defaultValue={getDefult(\"yapiBelgeAdres_KoyKimlikNo\")} key={getDefult(\"yapiBelgeAdres_KoyKimlikNo\")} onChange={handleInputChange} />\r\n </div>\r\n \r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Cadde/Sokak Tanıtım Kod</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_CsbmTanitimKod\" name=\"yapiBelgeAdres_CsbmTanitimKod\" defaultValue={getDefult(\"yapiBelgeAdres_CsbmTanitimKod\")} key={getDefult(\"yapiBelgeAdres_CsbmTanitimKod\")} onChange={handleInputChange} />\r\n </div>\r\n \r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Bagımsız Bolum Kimlik No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_BagimsizBolumKimlikNo\" name=\"yapiBelgeAdres_BagimsizBolumKimlikNo\" defaultValue={getDefult(\"yapiBelgeAdres_BagimsizBolumKimlikNo\")} key={getDefult(\"yapiBelgeAdres_BagimsizBolumKimlikNo\")} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Adres No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_AdresNo\" name=\"yapiBelgeAdres_AdresNo\" defaultValue={getDefult(\"yapiBelgeAdres_AdresNo\")} key={getDefult(\"yapiBelgeAdres_AdresNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Kısmi Bagımsız Bolum No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_KismiBagimsizBolumNo\" name=\"yapiBelgeAdres_KismiBagimsizBolumNo\" defaultValue={getDefult(\"yapiBelgeAdres_KismiBagimsizBolumNo\")} key={getDefult(\"yapiBelgeAdres_KismiBagimsizBolumNo\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Blok No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_BlokNo\" name=\"yapiBelgeAdres_BlokNo\" defaultValue={getDefult(\"yapiBelgeAdres_BlokNo\")} key={getDefult(\"yapiBelgeAdres_BlokNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Bina Kimlik No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_BinaKimlikNo\" name=\"yapiBelgeAdres_BinaKimlikNo\" defaultValue={getDefult(\"yapiBelgeAdres_BinaKimlikNo\")} key={getDefult(\"yapiBelgeAdres_BinaKimlikNo\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Pafta No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_PaftaNo\" name=\"yapiBelgeAdres_PaftaNo\" defaultValue={getDefult(\"yapiBelgeAdres_PaftaNo\")} key={getDefult(\"yapiBelgeAdres_PaftaNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Ada No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_AdaNo\" name=\"yapiBelgeAdres_AdaNo\" defaultValue={getDefult(\"yapiBelgeAdres_AdaNo\")} key={getDefult(\"yapiBelgeAdres_AdaNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Parsel No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_ParselNo\" name=\"yapiBelgeAdres_ParselNo\" defaultValue={getDefult(\"yapiBelgeAdres_ParselNo\")} key={getDefult(\"yapiBelgeAdres_ParselNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Dış Kapi No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_DisKapiNo\" name=\"yapiBelgeAdres_DisKapiNo\" defaultValue={getDefult(\"yapiBelgeAdres_DisKapiNo\")} key={getDefult(\"yapiBelgeAdres_DisKapiNo\")} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Numarataj Kimlik No</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiBelgeAdres_NumaratajKimlikNo\" name=\"yapiBelgeAdres_NumaratajKimlikNo\" defaultValue={getDefult(\"yapiBelgeAdres_NumaratajKimlikNo\")} key={getDefult(\"yapiBelgeAdres_NumaratajKimlikNo\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n </div>\r\n\r\n {/* <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Bagimsiz Bolum No</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" disabled id=\"yapiBelgeAdres_BagimsizBolumNo\" name=\"yapiBelgeAdres_BagimsizBolumNo\" defaultValue={getDefult(\"yapiBelgeAdres_BagimsizBolumNo\")} key={getDefult(\"yapiBelgeAdres_BagimsizBolumNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-6\">\r\n <label className=\"form-label\">Açık Adres</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" disabled id=\"yapiBelgeAdres_AcikAdres\" name=\"yapiBelgeAdres_AcikAdres\" defaultValue={getDefult(\"yapiBelgeAdres_AcikAdres\")} key={getDefult(\"yapiBelgeAdres_AcikAdres\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3 pt-2\">\r\n <br />\r\n <MAKSAdres adressId=\"yapiBelgeAdres_AcikAdres\" bagimsizBolumId=\"yapiBelgeAdres_BagimsizBolumNo\" key=\"yapiBelgeAdres_AcikAdres\" setRec={(b, a) => { rec.yapiBelgeAdres_BagimsizBolumNo = b; rec.yapiBelgeAdres_AcikAdres = a; }} />\r\n </div>\r\n </div>*/}\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n {/*----------------------------------------------------Ruhsat---------------------------------------------------------*/}\r\n\r\n\r\n\r\n\r\n\r\n <div className=\"bg-white rounded-3 p-2 mt-4 shadow-sm\">\r\n\r\n <div className=\"row\" id=\"Ruhsat\">\r\n <div className=\"text-start col-12 fw-bold text-primary \">\r\n Ruhsat\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mt-1\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Ruhsat Verilis Amaç</label>\r\n <select disabled class=\"form-select form-select-sm\" aria-label=\"Default select example\" id=\"ruhsat_RuhsatVerilisAmacKod\" name=\"ruhsat_RuhsatVerilisAmacKod\" onChange={handleInputChange} >\r\n <option selected={\"\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")}></option>\r\n <option selected={\"1\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"1\">YeniYapi</option>\r\n <option selected={\"2\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"2\">Yenileme</option>\r\n <option selected={\"3\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"3\">Yeniden</option>\r\n <option selected={\"4\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"4\">Ek Bina</option>\r\n <option selected={\"5\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"5\">Kat Ilavesi</option>\r\n <option selected={\"6\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"6\">Ilave</option>\r\n <option selected={\"7\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"7\">Gecici</option>\r\n <option selected={\"8\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"8\">Tadilat</option>\r\n <option selected={\"9\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"9\">Dolgu</option>\r\n <option selected={\"10\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"10\">Restorasyon</option>\r\n <option selected={\"11\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"11\">Guclendirme</option>\r\n <option selected={\"12\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"12\">Kullanim Degisimi</option>\r\n <option selected={\"13\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"13\">Fosseptik</option>\r\n <option selected={\"14\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"14\">Mekanik Tesisat</option>\r\n <option selected={\"15\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"15\">Elektrik Tesisati</option>\r\n <option selected={\"16\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"16\">Isim Degisikligi</option>\r\n <option selected={\"17\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"17\">Istinat Duvari</option>\r\n <option selected={\"18\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"18\">Bahce Duvari</option>\r\n <option selected={\"19\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"19\">Diger</option>\r\n <option selected={\"20\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"20\">Diger Kacak Yapi</option>\r\n <option selected={\"21\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"21\">Diger Iksa</option>\r\n <option selected={\"22\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"22\">Diger 775 Sayili Gece kondu Kanunu</option>\r\n <option selected={\"23\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"23\">Diger Hes</option>\r\n <option selected={\"24\" == getDefult(\"ruhsat_RuhsatVerilisAmacKod\")} value=\"24\">Diger Baz</option>\r\n </select>\r\n\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Ruhsat No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ruhsat_RuhsatNo\" name=\"ruhsat_RuhsatNo\" defaultValue={getDefult(\"ruhsat_RuhsatNo\")} key={getDefult(\"ruhsat_RuhsatNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Ruhsat Onay Tarih</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ruhsat_RuhsatOnayTarih\" name=\"ruhsat_RuhsatOnayTarih\" defaultValue={getDefult(\"ruhsat_RuhsatOnayTarih\")} key={getDefult(\"ruhsat_RuhsatOnayTarih\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Ilk Ruhsat Tarih </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ruhsat_IlkRuhsatTarih\" name=\"ruhsat_IlkRuhsatTarih\" defaultValue={getDefult(\"ruhsat_IlkRuhsatTarih\")} key={getDefult(\"ruhsat_IlkRuhsatTarih\")} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-2\">\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Ilk Ruhsat No </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ruhsat_IlkRuhsatNo\" name=\"ruhsat_IlkRuhsatNo\" defaultValue={getDefult(\"ruhsat_IlkRuhsatNo\")} key={getDefult(\"ruhsat_IlkRuhsatNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Imar Plan Onay Tarihi</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ruhsat_ImarPlanOnayTarih\" name=\"ruhsat_ImarPlanOnayTarih\" defaultValue={getDefult(\"ruhsat_ImarPlanOnayTarih\")} key={getDefult(\"ruhsat_ImarPlanOnayTarih\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Imar Durum Tarihi </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ruhsat_ImarDurumTarih\" name=\"ruhsat_ImarDurumTarih\" defaultValue={getDefult(\"ruhsat_ImarDurumTarih\")} key={getDefult(\"ruhsat_ImarDurumTarih\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Imar Durum No </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ruhsat_ImarDurumNo\" name=\"ruhsat_ImarDurumNo\" defaultValue={getDefult(\"ruhsat_ImarDurumNo\")} key={getDefult(\"ruhsat_ImarDurumNo\")} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n <div className=\"row mt-2\">\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Zemin Etud Onay Tarih</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ruhsat_ZeminEtudOnayTarih\" name=\"ruhsat_ZeminEtudOnayTarih\" defaultValue={getDefult(\"ruhsat_ZeminEtudOnayTarih\")} key={getDefult(\"ruhsat_ZeminEtudOnayTarih\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Parselasyon Onay Tarih</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ruhsat_ParselasyonPlanOnayTarih\" name=\"ruhsat_ParselasyonPlanOnayTarih\" defaultValue={getDefult(\"ruhsat_ParselasyonPlanOnayTarih\")} key={getDefult(\"ruhsat_ParselasyonPlanOnayTarih\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Parsel Kullanma Amac </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ruhsat_ParselKullanmaAmac\" name=\"ruhsat_ParselKullanmaAmac\" defaultValue={getDefult(\"ruhsat_ParselKullanmaAmac\")} key={getDefult(\"ruhsat_ParselKullanmaAmac\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Parsel Alan (m2) </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"ruhsat_ParselAlan\" name=\"ruhsat_ParselAlan\" defaultValue={getDefult(\"ruhsat_ParselAlan\")} key={getDefult(\"ruhsat_ParselAlan\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Tapu Tescil Belge Kurum</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ruhsat_TapuTescilBelgeVerenKurum\" name=\"ruhsat_TapuTescilBelgeVerenKurum\" defaultValue={getDefult(\"ruhsat_TapuTescilBelgeVerenKurum\")} key={getDefult(\"ruhsat_TapuTescilBelgeVerenKurum\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Tapu Tescil Belge Tarih</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ruhsat_TapuTescilBelgeTarih\" name=\"ruhsat_TapuTescilBelgeTarih\" defaultValue={getDefult(\"ruhsat_TapuTescilBelgeTarih\")} key={getDefult(\"ruhsat_TapuTescilBelgeTarih\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Tapu Tescil Belge No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ruhsat_TapuTescilBelgeNo\" name=\"ruhsat_TapuTescilBelgeNo\" defaultValue={getDefult(\"ruhsat_TapuTescilBelgeNo\")} key={getDefult(\"ruhsat_TapuTescilBelgeNo\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Çed Rapor Onay Tarihi </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ruhsat_CedRaporOnayTarih\" name=\"ruhsat_CedRaporOnayTarih\" defaultValue={getDefult(\"ruhsat_CedRaporOnayTarih\")} key={getDefult(\"ruhsat_CedRaporOnayTarih\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n </div>\r\n\r\n <div className=\"row mt-4\">\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Planlanan Insaat Baslama Tarih</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ruhsat_PlanlananInsaatBaslamaTarih\" name=\"ruhsat_PlanlananInsaatBaslamaTarih\" defaultValue={getDefult(\"ruhsat_PlanlananInsaatBaslamaTarih\")} key={getDefult(\"ruhsat_PlanlananInsaatBaslamaTarih\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Planlanan Insaat Bitirme Tarih</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ruhsat_PlanlananInsaatBitirmeTarih\" name=\"ruhsat_PlanlananInsaatBitirmeTarih\" defaultValue={getDefult(\"ruhsat_PlanlananInsaatBitirmeTarih\")} key={getDefult(\"ruhsat_PlanlananInsaatBitirmeTarih\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Ruhsat Gecerlilik Tarih</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ruhsat_RuhsatGecerlilikTarih\" name=\"ruhsat_RuhsatGecerlilikTarih\" defaultValue={getDefult(\"ruhsat_RuhsatGecerlilikTarih\")} key={getDefult(\"ruhsat_RuhsatGecerlilikTarih\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n </div>\r\n\r\n <div className=\"row mt-2\">\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Insaat Baslama Tarihi </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ruhsat_InsaatBaslamaTarih\" name=\"ruhsat_InsaatBaslamaTarih\" defaultValue={getDefult(\"ruhsat_InsaatBaslamaTarih\")} key={getDefult(\"ruhsat_InsaatBaslamaTarih\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Insaat Baslama Tarihi </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ruhsat_InsaatBaslamaTutanakSayi\" name=\"ruhsat_InsaatBaslamaTutanakSayi\" defaultValue={getDefult(\"ruhsat_InsaatBaslamaTutanakSayi\")} key={getDefult(\"ruhsat_InsaatBaslamaTutanakSayi\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Insaat Bitirme Tarihi</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ruhsat_InsaatBitirmeTarih\" name=\"ruhsat_InsaatBitirmeTarih\" defaultValue={getDefult(\"ruhsat_InsaatBitirmeTarih\")} key={getDefult(\"ruhsat_InsaatBitirmeTarih\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n {/*-------------------------------------------------------------------Yapı Mütahhit Bilgileri-----------------------------------------------*/}\r\n <div className=\"bg-white rounded-3 p-2 mt-4 shadow-sm\">\r\n <div className=\"row\" id=\"YapıMütahhitBilgileri\">\r\n <div className=\"text-start col-8 fw-bold text-primary \">\r\n Yapı Mütahhit Bilgileri\r\n </div>\r\n <div className=\"text-start col-4 text-end\">\r\n <button type=\"button\" className=\" btn btn-success btn-sm text-decoration-none \" style={{ \"border-radius\": \"8px\" }} onClick={YambisSorgula}>\r\n YAMBIS Sorgula\r\n </button>\r\n </div>\r\n </div>\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Hukuki Varlık Kod </label>\r\n\r\n <select class=\"form-select form-select-sm\" id=\"yapiMuteahhit_HukukiVarlikKod\" name=\"yapiMuteahhit_HukukiVarlikKod\" defaultValue={getDefult(\"yapiMuteahhit_HukukiVarlikKod\")} key={getDefult(\"yapiMuteahhit_HukukiVarlikKod\")} onChange={handleInputChange} >\r\n <option ></option>\r\n <option value=\"1\" selected={getDefult(\"yapiMuteahhit_HukukiVarlikKod\") == \"1\"}>Tuzel</option>\r\n <option value=\"2\" selected={getDefult(\"yapiMuteahhit_HukukiVarlikKod\") == \"2\"}>Gerçek</option>\r\n <option value=\"3\" selected={getDefult(\"yapiMuteahhit_HukukiVarlikKod\") == \"3\"}>Yabancı</option>\r\n </select>\r\n\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">TC Kimlik No </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiMuteahhit_TCKimlikNo\" name=\"yapiMuteahhit_TCKimlikNo\" defaultValue={getDefult(\"yapiMuteahhit_TCKimlikNo\")} key={getDefult(\"yapiMuteahhit_TCKimlikNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Ad </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiMuteahhit_Ad\" name=\"yapiMuteahhit_Ad\" defaultValue={getDefult(\"yapiMuteahhit_Ad\")} key={getDefult(\"yapiMuteahhit_Ad\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Soyad </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiMuteahhit_Soyad\" name=\"yapiMuteahhit_Soyad\" defaultValue={getDefult(\"yapiMuteahhit_Soyad\")} key={getDefult(\"yapiMuteahhit_Soyad\")} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n <div className=\"row mt-2\">\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Unvan </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiMuteahhit_Unvan\" name=\"yapiMuteahhit_Unvan\" defaultValue={getDefult(\"yapiMuteahhit_Unvan\")} key={getDefult(\"yapiMuteahhit_Unvan\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Oda Sicil No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiMuteahhit_OdaSicilNo\" name=\"yapiMuteahhit_OdaSicilNo\" defaultValue={getDefult(\"yapiMuteahhit_OdaSicilNo\")} key={getDefult(\"yapiMuteahhit_OdaSicilNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Vergi Daire </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiMuteahhit_VergiDaire\" name=\"yapiMuteahhit_VergiDaire\" defaultValue={getDefult(\"yapiMuteahhit_VergiDaire\")} key={getDefult(\"yapiMuteahhit_VergiDaire\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Vergi Kimlik No </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiMuteahhit_VergiKimlikNo\" name=\"yapiMuteahhit_VergiKimlikNo\" defaultValue={getDefult(\"yapiMuteahhit_VergiKimlikNo\")} key={getDefult(\"yapiMuteahhit_VergiKimlikNo\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mt-2\">\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Sigorta Sicil No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiMuteahhit_SigortaSicilNo\" name=\"yapiMuteahhit_SigortaSicilNo\" defaultValue={getDefult(\"yapiMuteahhit_SigortaSicilNo\")} key={getDefult(\"yapiMuteahhit_SigortaSicilNo\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Yetki Belge No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiMuteahhit_YetkiBelgeNo\" name=\"yapiMuteahhit_YetkiBelgeNo\" defaultValue={getDefult(\"yapiMuteahhit_YetkiBelgeNo\")} key={getDefult(\"yapiMuteahhit_YetkiBelgeNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">SözleÅŸme Tarih</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiMuteahhit_SSozlesmeTarih\" name=\"yapiMuteahhit_SSozlesmeTarih\" defaultValue={getDefult(\"yapiMuteahhit_SSozlesmeTarih\")} key={getDefult(\"yapiMuteahhit_SSozlesmeTarih\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">SözleÅŸme No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiMuteahhit_SozlesmeNo\" name=\"yapiMuteahhit_SozlesmeNo\" defaultValue={getDefult(\"yapiMuteahhit_SozlesmeNo\")} key={getDefult(\"yapiMuteahhit_SozlesmeNo\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n \r\n <div className=\"row mt-2\">\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Bagimsiz Bolum Kimlik No</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" disabled id=\"yapiMuteahhit_BagimsizBolumKimlikNo\" name=\"yapiMuteahhit_BagimsizBolumKimlikNo\" defaultValue={getDefult(\"yapiMuteahhit_BagimsizBolumKimlikNo\")} key={getDefult(\"yapiMuteahhit_BagimsizBolumKimlikNo\")} onChange={handleInputChange} disabled />\r\n </div>\r\n <div className=\"text-start col-6\">\r\n <label className=\"form-label\">Acik Adres </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" disabled id=\"yapiMuteahhit_AcikAdres\" name=\"yapiMuteahhit_AcikAdres\" defaultValue={getDefult(\"yapiMuteahhit_AcikAdres\")} key={getDefult(\"yapiMuteahhit_AcikAdres\")} onChange={handleInputChange} disabled />\r\n\r\n </div>\r\n <div className=\"text-start col-3 mt-2\">\r\n <br />\r\n <MAKSAdres adressId=\"yapiMuteahhit_AcikAdres\" bagimsizBolumId=\"yapiMuteahhit_BagimsizBolumKimlikNo\" setRec={(b, a) => { rec.yapiMuteahhit_BagimsizBolumKimlikNo = b; rec.yapiMuteahhit_AcikAdres = a; }} />\r\n </div>\r\n </div>\r\n <div className=\"row mt-1\">\r\n <div className=\"text-start col-12\" id=\"YambisSorgula\">\r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n {/* ------------------------------------------------------------- Åantiye Åefi Bilgileri--------------*/}\r\n <div className=\"bg-white rounded-3 p-2 mt-4 shadow-sm\">\r\n\r\n <div className=\"row\" id=\"ÅantiyeÅefiBilgileri\">\r\n <div className=\"text-start col-8 fw-bold text-primary \">\r\n Åantiye Åefi Bilgileri\r\n </div>\r\n <div className=\"text-end col-4 \">\r\n <button type=\"button\" className=\"btn btn-success btn-sm text-decoration-none \" style={{ \"border-radius\": \"8px\" }} onClick={SantiyeSefiSorgula}>\r\n Sorgula\r\n </button>\r\n </div>\r\n </div>\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-4\">\r\n <label className=\"form-label\">Adı </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"santiyeSef_Ad\" name=\"santiyeSef_Ad\" defaultValue={getDefult(\"santiyeSef_Ad\")} key={getDefult(\"santiyeSef_Ad\")} onChange={handleInputChange} />\r\n\r\n\r\n </div>\r\n <div className=\"text-start col-4\">\r\n <label className=\"form-label\">Soyadı </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"santiyeSef_Soyad\" name=\"santiyeSef_Soyad\" defaultValue={getDefult(\"santiyeSef_Soyad\")} key={getDefult(\"santiyeSef_Soyad\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-4\">\r\n <label className=\"form-label\">TC. Kimlik Numarası </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"santiyeSef_TC\" name=\"santiyeSef_TC\" defaultValue={getDefult(\"santiyeSef_TC\")} key={getDefult(\"santiyeSef_TC\")} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-4\">\r\n <label className=\"form-label\">Unvanı </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"santiyeSef_Unvan\" name=\"santiyeSef_Unvan\" defaultValue={getDefult(\"santiyeSef_Unvan\")} key={getDefult(\"santiyeSef_Unvan\")} onChange={handleInputChange} />\r\n\r\n\r\n </div>\r\n\r\n <div className=\"text-start col-4\">\r\n <label className=\"form-label\">Meslek</label><br />\r\n\r\n <select class=\"form-select form-select-sm\" id=\"santiyeSef_Meslek\" name=\"santiyeSef_Meslek\" onChange={handleInputChange} >\r\n <option ></option>\r\n <option value=\"4419\" selected={getDefult(\"santiyeSef_Meslek\") == \"4419\"}>Ä°nÅŸaat Mühendisi</option>\r\n <option value=\"4420\" selected={getDefult(\"santiyeSef_Meslek\") == \"4420\"}>Makine Mühendisi</option>\r\n <option value=\"4421\" selected={getDefult(\"santiyeSef_Meslek\") == \"4421\"}>Elektrik Mühendisi</option>\r\n <option value=\"4422\" selected={getDefult(\"santiyeSef_Meslek\") == \"4422\"}>Elektrik Elektronik Mühendisi</option>\r\n <option value=\"4423\" selected={getDefult(\"santiyeSef_Meslek\") == \"4423\"}>Mimar</option>\r\n <option value=\"4424\" selected={getDefult(\"santiyeSef_Meslek\") == \"4424\"}>Teknik Öğretmen</option>\r\n <option value=\"4425\" selected={getDefult(\"santiyeSef_Meslek\") == \"4425\"}>Tekniker</option>\r\n </select>\r\n </div>\r\n\r\n <div className=\"text-start col-4\">\r\n <label className=\"form-label\">Oda Sicil No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"santiyeSef_OdaSicilNo\" name=\"santiyeSef_OdaSicilNo\" defaultValue={getDefult(\"santiyeSef_OdaSicilNo\")} key={getDefult(\"santiyeSef_OdaSicilNo\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-4\">\r\n <label className=\"form-label\">SözleÅŸme Tarihi </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"santiyeSef_SozlesmeTarih\" name=\"santiyeSef_SozlesmeTarih\" defaultValue={getDefult(\"santiyeSef_SozlesmeTarih\")} key={getDefult(\"santiyeSef_SozlesmeTarih\")} onChange={handleInputChange} />\r\n\r\n\r\n </div>\r\n <div className=\"text-start col-4\">\r\n <label className=\"form-label\">SeözleÅŸme No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"santiyeSef_SozlesmeNo\" name=\"santiyeSef_SozlesmeNo\" defaultValue={getDefult(\"santiyeSef_SozlesmeNo\")} key={getDefult(\"santiyeSef_SozlesmeNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-4\">\r\n <label className=\"form-label\">Sigorta Sicil No</label><br />\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"santiyeSef_SigortaSicilNo\" name=\"santiyeSef_SigortaSicilNo\" defaultValue={getDefult(\"santiyeSef_SigortaSicilNo\")} key={getDefult(\"santiyeSef_SigortaSicilNo\")} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-4\">\r\n <label className=\"form-label\">Bagimsiz BolumKimlik No</label><br />\r\n <input type=\"number\" className=\"form-control form-control-sm\" disabled id=\"santiyeSef_BagimsizBolumKimlikNo\" name=\"santiyeSef_BagimsizBolumKimlikNo\" defaultValue={getDefult(\"santiyeSef_BagimsizBolumKimlikNo\")} key={getDefult(\"santiyeSef_BagimsizBolumKimlikNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-6\">\r\n <label className=\"form-label\">Adres</label><br />\r\n <input type=\"text\" className=\"form-control form-control-sm\" disabled id=\"santiyeSef_Adres\" name=\"santiyeSef_Adres\" defaultValue={getDefult(\"santiyeSef_Adres\")} key={getDefult(\"santiyeSef_Adres\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-2 pt-2\">\r\n <br />\r\n <MAKSAdres adressId=\"santiyeSef_Adres\" bagimsizBolumId=\"santiyeSef_BagimsizBolumKimlikNo\" setRec={(b, a) => { rec.santiyeSef_BagimsizBolumKimlikNo = b; rec.santiyeSef_Adres = a; }} />\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-12\" id=\"santiyeSefSonuc\">\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {/* -------------------------------------------------------------Bagimsiz Bolum--------------*/}\r\n <div className=\"bg-white rounded-3 mt-2 shadow-sm p-2\" id=\"MaksBagimsizBolum\">\r\n <MaksBagimsizBolum rec={rec} key={rec.id} userData={userData} />\r\n </div>\r\n\r\n {/* ------------------------------------------------------------- Yapi Ozellik Bilgileri--------------*/}\r\n\r\n <div className=\"bg-white rounded-3 p-2 mt-4 shadow-sm\">\r\n\r\n <div className=\"row\" id=\"YapiOzellikBilgileri\">\r\n <div className=\"text-start col-12 fw-bold text-primary\">\r\n Yapi Ozellik Bilgileri\r\n </div>\r\n </div>\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Benzer Yapı Sayı</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiOzellik_BenzerYapiSayi\" name=\"yapiOzellik_BenzerYapiSayi\" defaultValue={getDefult(\"yapiOzellik_BenzerYapiSayi\")} key={getDefult(\"yapiOzellik_BenzerYapiSayi\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Bagimsiz Bolum Sayi </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_BagimsizBolumSayi\" name=\"yapiOzellik_BagimsizBolumSayi\" defaultValue={getDefult(\"yapiOzellik_BagimsizBolumSayi\")} key={getDefult(\"yapiOzellik_BagimsizBolumSayi\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Konut Birim Sayi </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_KonutBirimSayi\" name=\"yapiOzellik_KonutBirimSayi\" defaultValue={getDefult(\"yapiOzellik_KonutBirimSayi\")} key={getDefult(\"yapiOzellik_KonutBirimSayi\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Taban Alan </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_TabanAlan\" name=\"yapiOzellik_TabanAlan\" defaultValue={getDefult(\"yapiOzellik_TabanAlan\")} key={getDefult(\"yapiOzellik_TabanAlan\")} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Yapi Insaat Alan </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_YapiInsaatAlan\" name=\"yapiOzellik_YapiInsaatAlan\" defaultValue={getDefult(\"yapiOzellik_YapiInsaatAlan\")} key={getDefult(\"yapiOzellik_YapiInsaatAlan\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Toplam Yapı Sayı </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiOzellik_ToplamYapiSayi\" name=\"yapiOzellik_ToplamYapiSayi\" defaultValue={getDefult(\"yapiOzellik_ToplamYapiSayi\")} key={getDefult(\"yapiOzellik_ToplamYapiSayi\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Toplam Bagimsiz Bolum </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_ToplamBBSayi\" name=\"yapiOzellik_ToplamBBSayi\" defaultValue={getDefult(\"yapiOzellik_ToplamBBSayi\")} key={getDefult(\"yapiOzellik_ToplamBBSayi\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Toplam Konut Birimi </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_ToplamKonutBirimSayi\" name=\"yapiOzellik_ToplamKonutBirimSayi\" defaultValue={getDefult(\"yapiOzellik_ToplamKonutBirimSayi\")} key={getDefult(\"yapiOzellik_ToplamKonutBirimSayi\")} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Toplam Taban Alan </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_ToplamTabanAlan\" name=\"yapiOzellik_ToplamTabanAlan\" defaultValue={getDefult(\"yapiOzellik_ToplamTabanAlan\")} key={getDefult(\"yapiOzellik_ToplamTabanAlan\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Toplam Yapi Insaat Alan </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_ToplamYapiInsaatAlan\" name=\"yapiOzellik_ToplamYapiInsaatAlan\" defaultValue={getDefult(\"yapiOzellik_ToplamYapiInsaatAlan\")} key={getDefult(\"yapiOzellik_ToplamYapiInsaatAlan\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Yol Kot Alt Kat Sayi </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_YolKotAltKatSayi\" name=\"yapiOzellik_YolKotAltKatSayi\" defaultValue={getDefult(\"yapiOzellik_YolKotAltKatSayi\")} key={getDefult(\"yapiOzellik_YolKotAltKatSayi\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Yol Kot Ust Kat Sayi</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_YolKotUstKatSayi\" name=\"yapiOzellik_YolKotUstKatSayi\" defaultValue={getDefult(\"yapiOzellik_YolKotUstKatSayi\")} key={getDefult(\"yapiOzellik_YolKotUstKatSayi\")} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n <div className=\"row mt-2\">\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Toplam Kat Sayi </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_ToplamKatSayi\" name=\"yapiOzellik_ToplamKatSayi\" defaultValue={getDefult(\"yapiOzellik_ToplamKatSayi\")} key={getDefult(\"yapiOzellik_ToplamKatSayi\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Toplam Yukseklik </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_ToplamYukseklik\" name=\"yapiOzellik_ToplamYukseklik\" defaultValue={getDefult(\"yapiOzellik_ToplamYukseklik\")} key={getDefult(\"yapiOzellik_ToplamYukseklik\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Yol Kot Ust Yukseklik </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_YolKotUstYukseklik\" name=\"yapiOzellik_YolKotUstYukseklik\" defaultValue={getDefult(\"yapiOzellik_YolKotUstYukseklik\")} key={getDefult(\"yapiOzellik_YolKotUstYukseklik\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Yol Kot Alt Yukseklik </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_YolKotAltYukseklik\" name=\"yapiOzellik_YolKotAltYukseklik\" defaultValue={getDefult(\"yapiOzellik_YolKotAltYukseklik\")} key={getDefult(\"yapiOzellik_YolKotAltYukseklik\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Ilave Kat Sayı </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_IlaveKatSayi\" name=\"yapiOzellik_IlaveKatSayi\" defaultValue={getDefult(\"yapiOzellik_IlaveKatSayi\")} key={getDefult(\"yapiOzellik_IlaveKatSayi\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Ilave Kat Yukseklik </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_IlaveKatYukseklik\" name=\"yapiOzellik_IlaveKatYukseklik\" defaultValue={getDefult(\"yapiOzellik_IlaveKatYukseklik\")} key={getDefult(\"yapiOzellik_IlaveKatYukseklik\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mt-2\" >\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Yapı Sınıfı </label>\r\n <select class=\"form-select form-select-sm\" id=\"yapiOzellik_Sinif_Kod\" name=\"yapiOzellik_Sinif_Kod\" onChange={handleInputChange} >\r\n <option ></option>\r\n <option value=\"1\" selected={getDefult(\"yapiOzellik_Sinif_Kod\") == \"1\"}>I</option>\r\n <option value=\"2\" selected={getDefult(\"yapiOzellik_Sinif_Kod\") == \"2\"}>II</option>\r\n <option value=\"3\" selected={getDefult(\"yapiOzellik_Sinif_Kod\") == \"3\"}>III</option>\r\n <option value=\"4\" selected={getDefult(\"yapiOzellik_Sinif_Kod\") == \"4\"}>IV</option>\r\n <option value=\"5\" selected={getDefult(\"yapiOzellik_Sinif_Kod\") == \"5\"}>V</option>\r\n </select>\r\n </div>\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Grup No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiOzellik_GrupNo\" name=\"yapiOzellik_GrupNo\" defaultValue={getDefult(\"yapiOzellik_GrupNo\")} key={getDefult(\"yapiOzellik_GrupNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Grup</label>\r\n <select class=\"form-select form-select-sm\" id=\"yapiOzellik_Grup_Kod\" name=\"yapiOzellik_Grup_Kod\" onChange={handleInputChange} >\r\n <option ></option>\r\n <option value=\"1\" selected={getDefult(\"yapiOzellik_Sinif_Kod\") == \"1\"}>A</option>\r\n <option value=\"2\" selected={getDefult(\"yapiOzellik_Sinif_Kod\") == \"2\"}>B</option>\r\n <option value=\"3\" selected={getDefult(\"yapiOzellik_Sinif_Kod\") == \"3\"}>C</option>\r\n <option value=\"4\" selected={getDefult(\"yapiOzellik_Sinif_Kod\") == \"4\"}>D</option>\r\n </select>\r\n\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">M2 Maliyet </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_M2Maliyet\" name=\"yapiOzellik_M2Maliyet\" defaultValue={getDefult(\"yapiOzellik_M2Maliyet\")} key={getDefult(\"yapiOzellik_M2Maliyet\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n\r\n </div>\r\n <div className=\"row mt-2\">\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">InÅŸaat Maliyeti </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_Maliyet\" name=\"yapiOzellik_Maliyet\" defaultValue={getDefult(\"yapiOzellik_Maliyet\")} key={getDefult(\"yapiOzellik_Maliyet\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Arsa Deger </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_ArsaDeger\" name=\"yapiOzellik_ArsaDeger\" defaultValue={getDefult(\"yapiOzellik_ArsaDeger\")} key={getDefult(\"yapiOzellik_ArsaDeger\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Arsa Dahil Yapi Maliyet </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_ArsaDahilYapiMaliyet\" name=\"yapiOzellik_ArsaDahilYapiMaliyet\" defaultValue={getDefult(\"yapiOzellik_ArsaDahilYapiMaliyet\")} key={getDefult(\"yapiOzellik_ArsaDahilYapiMaliyet\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Form Duzenlenen Maliyet </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_FormDuzenlenenKisimMaliyet\" name=\"yapiOzellik_FormDuzenlenenKisimMaliyet\" defaultValue={getDefult(\"yapiOzellik_FormDuzenlenenKisimMaliyet\")} key={getDefult(\"yapiOzellik_FormDuzenlenenKisimMaliyet\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Guclendirme Maliyet</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_GuclendirmeMaliyet\" name=\"yapiOzellik_GuclendirmeMaliyet\" defaultValue={getDefult(\"yapiOzellik_GuclendirmeMaliyet\")} key={getDefult(\"yapiOzellik_GuclendirmeMaliyet\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Guclendirme Maliyet Oran </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_GuclendirmeMaliyetOran\" name=\"yapiOzellik_GuclendirmeMaliyetOran\" defaultValue={getDefult(\"yapiOzellik_GuclendirmeMaliyetOran\")} key={getDefult(\"yapiOzellik_GuclendirmeMaliyetOran\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">SigortaBedel</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_SigortaBedel\" name=\"yapiOzellik_SigortaBedel\" defaultValue={getDefult(\"yapiOzellik_SigortaBedel\")} key={getDefult(\"yapiOzellik_SigortaBedel\")} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-2\">\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Yıkılacak Alan </label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_YikilacakAlan\" name=\"yapiOzellik_YikilacakAlan\" defaultValue={getDefult(\"yapiOzellik_YikilacakAlan\")} key={getDefult(\"yapiOzellik_YikilacakAlan\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Yıkılacak Kat Adet</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_YikilacakKatAdet\" name=\"yapiOzellik_YikilacakKatAdet\" defaultValue={getDefult(\"yapiOzellik_YikilacakKatAdet\")} key={getDefult(\"yapiOzellik_YikilacakKatAdet\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Yıkılacak Kat Alan</label><br />\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiOzellik_YikilacakKatAlan\" name=\"yapiOzellik_YikilacakKatAlan\" defaultValue={getDefult(\"yapiOzellik_YikilacakKatAlan\")} key={getDefult(\"yapiOzellik_YikilacakKatAlan\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Parsel Dışı Otopark</label><br />\r\n <input type=\"checkbox\" className=\"form-check-input\" id=\"yapiOzellik_ParselDisiOtopark\" name=\"yapiOzellik_ParselDisiOtopark\" defaultChecked={getDefult(\"yapiOzellik_ParselDisiOtopark\") == true} key={getDefult(\"yapiOzellik_ParselDisiOtopark\")} onChange={handleInputChange} key={rec.yapiOzellik_ParselDisiOtopark} />\r\n </div>\r\n </div>\r\n\r\n </div>\r\n {/* ------------------------------------------------------------- Tasiyici Sistem Bilgileri--------------*/}\r\n\r\n < div className=\"bg-white rounded-3 mt-2 shadow-sm p-2\" id=\"Maksisitma\">\r\n <Maksisitma rec={rec} key={rec.id} userData={userData} />\r\n </div >\r\n <div className=\"bg-white rounded-3 mt-2 shadow-sm p-2\" id=\"MaksisitmaYakit\">\r\n <MaksisitmaYakit rec={rec} key={rec.id} userData={userData} />\r\n </div>\r\n <div className=\"bg-white rounded-3 mt-2 shadow-sm p-2\" id=\"MaksSuTemin\">\r\n <MaksSuTemin rec={rec} key={rec.id} userData={userData} />\r\n </div>\r\n <div className=\"bg-white rounded-3 mt-2 shadow-sm p-2\" id=\"MaksSuYakit\">\r\n <MaksSuYakit rec={rec} key={rec.id} userData={userData} />\r\n </div>\r\n <div className=\"bg-white rounded-3 mt-2 shadow-sm p-2\" id=\"MaksIcmesu\">\r\n <MaksIcmesu rec={rec} key={rec.id} />\r\n </div>\r\n <div className=\"bg-white rounded-3 mt-2 shadow-sm p-2\" id=\"MaksAtiksu\">\r\n <MaksAtiksu rec={rec} key={rec.id} />\r\n </div>\r\n\r\n <div className=\"bg-white rounded-3 mt-2 shadow-sm p-2\" id=\"MaksTasiyici\">\r\n <MaksTasiyici rec={rec} key={rec.id} userData={userData} />\r\n </div>\r\n <div className=\"bg-white rounded-3 mt-2 shadow-sm p-2\" id=\"MaksTesisat\">\r\n <MaksTesisat rec={rec} key={rec.id} />\r\n </div>\r\n <div className=\"bg-white rounded-3 mt-2 shadow-sm p-2\" id=\"MaksOrtakAlan\">\r\n <MaksOrtakAlan rec={rec} key={rec.id} />\r\n </div>\r\n <div className=\"bg-white rounded-3 mt-2 shadow-sm p-2\" id=\"MaksDuvardolgu\">\r\n <MaksDuvardolgu rec={rec} key={rec.id} />\r\n </div>\r\n <div className=\"bg-white rounded-3 mt-2 shadow-sm p-2\" id=\"MaksDoseme\">\r\n <MaksDoseme rec={rec} key={rec.id} />\r\n </div>\r\n <div className=\"bg-white rounded-3 mt-2 shadow-sm p-2\" id=\"MaksProje\">\r\n <MaksProje rec={rec} key={rec.id} adres={selectedAdres} />\r\n </div>\r\n <div className=\"bg-white rounded-3 mt-2 shadow-sm p-2\" id=\"MaksYapiDenetim\">\r\n <MaksYapiDenetim rec={rec} key={rec.id} />\r\n </div>\r\n\r\n {/* ------------------------------------------------------------- Yapı Denetim Kurulus --------------*/}\r\n <div className=\"bg-white rounded-3 p-2 mt-2 shadow-sm\" id=\"YapıDenetimKuruluÅŸBilgileri\">\r\n\r\n <div className=\"row\">\r\n <div className=\"text-start col-12 fw-bold text-primary \">\r\n Yapı Denetim KuruluÅŸ Bilgileri\r\n </div>\r\n </div>\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-4\">\r\n <label className=\"form-label\"> Ad </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiDenetimKurulus_Ad\" name=\"yapiDenetimKurulus_Ad\" defaultValue={getDefult(\"yapiDenetimKurulus_Ad\")} key={getDefult(\"yapiDenetimKurulus_Ad\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-4\">\r\n <label className=\"form-label\">Soyad</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiDenetimKurulus_Soyad\" name=\"yapiDenetimKurulus_Soyad\" defaultValue={getDefult(\"yapiDenetimKurulus_Soyad\")} key={getDefult(\"yapiDenetimKurulus_Soyad\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-4\">\r\n <label className=\"form-label\">TC Kimlik No </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiDenetimKurulus_TC\" name=\"yapiDenetimKurulus_TC\" defaultValue={getDefult(\"yapiDenetimKurulus_TC\")} key={getDefult(\"yapiDenetimKurulus_TC\")} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-4\">\r\n <label className=\"form-label\">KuruluÅŸ Ad </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiDenetimKurulus_KuruluAd\" name=\"yapiDenetimKurulus_KuruluAd\" defaultValue={getDefult(\"yapiDenetimKurulus_KuruluAd\")} key={getDefult(\"yapiDenetimKurulus_KuruluAd\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-4\">\r\n <label className=\"form-label\">Vergi Kimlik No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiDenetimKurulus_VergiKimlikNo\" name=\"yapiDenetimKurulus_VergiKimlikNo\" defaultValue={getDefult(\"yapiDenetimKurulus_VergiKimlikNo\")} key={getDefult(\"yapiDenetimKurulus_VergiKimlikNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-4\">\r\n <label className=\"form-label\">Ä°zin Belge No ve Sınıf</label><br />\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiDenetimKurulus_izinBelgeNo\" name=\"yapiDenetimKurulus_izinBelgeNo\" defaultValue={getDefult(\"yapiDenetimKurulus_izinBelgeNo\")} key={getDefult(\"yapiDenetimKurulus_izinBelgeNo\")} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n <div className=\"row mt-2\">\r\n\r\n <div className=\"text-start col-4\">\r\n <label className=\"form-label\">Bağımsız Bolum Kimlik No </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiDenetimKurulus_BBkimlikNo\" name=\"yapiDenetimKurulus_BBkimlikNo\" defaultValue={getDefult(\"yapiDenetimKurulus_BBkimlikNo\")} key={getDefult(\"yapiDenetimKurulus_BBkimlikNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-8\">\r\n <label className=\"form-label\">Açık Adres </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiDenetimKurulus_AcikAdres\" name=\"yapiDenetimKurulus_AcikAdres\" defaultValue={getDefult(\"yapiDenetimKurulus_AcikAdres\")} key={getDefult(\"yapiDenetimKurulus_AcikAdres\")} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n </div >\r\n\r\n\r\n {/* ------------------------------------------------------------- MuhtelifGelir --------------*/}\r\n <div className=\"bg-white rounded-3 mt-2 shadow-sm p-2\" id=\"MaksMuhtelifGelir\">\r\n <MaksMuhtelifGelir rec={rec} key={rec.id} />\r\n </div>\r\n\r\n {/* ------------------------------------------------------------- Toprak --------------*/}\r\n <div className=\"bg-white rounded-3 p-2 mt-2 shadow-sm\">\r\n\r\n <div className=\"row\" id=\"YapıToprakBilgileri\">\r\n <div className=\"text-start col-12 fw-bold text-primary \">\r\n Yapı Toprak Bilgileri\r\n </div>\r\n </div>\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-4\">\r\n <label className=\"form-label\"> Dolgu Miktar </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"toprak_dolguMiktar\" name=\"toprak_dolguMiktar\" defaultValue={getDefult(\"toprak_dolguMiktar\")} key={getDefult(\"toprak_dolguMiktar\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-4\">\r\n <label className=\"form-label\">Kazi Miktar</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"toprak_kaziMiktar\" name=\"toprak_kaziMiktar\" defaultValue={getDefult(\"toprak_kaziMiktar\")} key={getDefult(\"toprak_kaziMiktar\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-4\">\r\n <label className=\"form-label\">Kullanilmayan Kazi Miktar </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"toprak_KullanilmayanKaziMiktar\" name=\"toprak_KullanilmayanKaziMiktar\" defaultValue={getDefult(\"toprak_KullanilmayanKaziMiktar\")} key={getDefult(\"toprak_KullanilmayanKaziMiktar\")} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-12\">\r\n <label className=\"form-label\">Kullanilmayan Kazı Doküldüğü Yer </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"toprak_kullanilmayanKaziDokYer\" name=\"toprak_kullanilmayanKaziDokYer\" defaultValue={getDefult(\"toprak_kullanilmayanKaziDokYer\")} key={getDefult(\"toprak_kullanilmayanKaziDokYer\")} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n </div >\r\n\r\n {/* ------------------------------------------------------------- Gorevli--------------*/}\r\n\r\n <div className=\"bg-white rounded-3 mt-2 shadow-sm p-2\" id=\"MaksGorevli\">\r\n <MaksGorevli rec={rec} key={rec.id} userData={userData} />\r\n </div>\r\n\r\n\r\n {/* ------------------------------------------------------------- Diger Husus--------------*/}\r\n < div className=\"bg-white rounded-3 p-2 mt-2 shadow-sm\" >\r\n\r\n <div className=\"row\" id=\"YapiBelgeDigerHusus\">\r\n <div className=\"text-start col-12 fw-bold text-primary \">\r\n Yapi Belge Diger Husus\r\n </div>\r\n </div>\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Daire Adet </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeDigerHusus_DaireAdet\" name=\"yapiBelgeDigerHusus_DaireAdet\" defaultValue={getDefult(\"yapiBelgeDigerHusus_DaireAdet\")} key={getDefult(\"yapiBelgeDigerHusus_DaireAdet\")} onChange={handleInputChange} />\r\n\r\n\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Dukkan Adet </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeDigerHusus_DukkanAdet\" name=\"yapiBelgeDigerHusus_DukkanAdet\" defaultValue={getDefult(\"yapiBelgeDigerHusus_DukkanAdet\")} key={getDefult(\"yapiBelgeDigerHusus_DukkanAdet\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Diger Kullanim Adet </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeDigerHusus_DigerKullanimAdet\" name=\"yapiBelgeDigerHusus_DigerKullanimAdet\" defaultValue={getDefult(\"yapiBelgeDigerHusus_DigerKullanimAdet\")} key={getDefult(\"yapiBelgeDigerHusus_DigerKullanimAdet\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Ilk Yapı Kullanma Izin Belge</label><br />\r\n <input type=\"checkbox\" className=\"form-check-input\" id=\"yapiBelgeDigerHusus_IlkYapiKullanmaIzinBelge\" name=\"yapiBelgeDigerHusus_IlkYapiKullanmaIzinBelge\" defaultChecked={getDefult(\"yapiBelgeDigerHusus_IlkYapiKullanmaIzinBelge\") == true} key={getDefult(\"yapiBelgeDigerHusus_IlkYapiKullanmaIzinBelge\")} onChange={handleInputChange} key={rec.yapiBelgeDigerHusus_IlkYapiKullanmaIzinBelge} />\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-6\">\r\n <label className=\"form-label\">Diger Hususlar </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeDigerHusus_DigerHususlar\" name=\"yapiBelgeDigerHusus_DigerHususlar\" defaultValue={getDefult(\"yapiBelgeDigerHusus_DigerHususlar\")} key={getDefult(\"yapiBelgeDigerHusus_DigerHususlar\")} onChange={handleInputChange} />\r\n\r\n\r\n </div>\r\n <div className=\"text-start col-6\">\r\n <label className=\"form-label\">Raporda Yer Alacak Diger Tum Hususlar</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiBelgeDigerHusus_DigerHususlarTumAciklama\" name=\"yapiBelgeDigerHusus_DigerHususlarTumAciklama\" defaultValue={getDefult(\"yapiBelgeDigerHusus_DigerHususlarTumAciklama\")} key={getDefult(\"yapiBelgeDigerHusus_DigerHususlarTumAciklama\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n </div>\r\n\r\n </div >\r\n\r\n\r\n {/* ------------------------------------------------------------- IÅŸ Yeri --------------*/}\r\n < div className=\"bg-white rounded-3 p-2 mt-2 shadow-sm\" >\r\n\r\n <div className=\"row\" id=\"YapiÄ°ÅŸYeriBilgileri\">\r\n <div className=\"text-start col-12 fw-bold text-primary \">\r\n Yapi Ä°ÅŸ Yeri Bilgileri\r\n </div>\r\n </div>\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Isyeri Beyan Var Mi </label> <br/>\r\n <input type=\"checkbox\" className=\"form-check-input\" id=\"yapiIsyeri_IsyeriBeyanVarMi\" name=\"yapiIsyeri_IsyeriBeyanVarMi\" defaultChecked={getDefult(\"yapiIsyeri_IsyeriBeyanVarMi\") == true} key={getDefult(\"yapiIsyeri_IsyeriBeyanVarMi\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\"> Defter Tip </label>\r\n\r\n <select class=\"form-select form-select-sm\" id=\"yapiIsyeri_DefterTipKod\" name=\"yapiIsyeri_DefterTipKod\" onChange={handleInputChange} >\r\n <option ></option>\r\n <option value=\"1\" selected={getDefult(\"yapiIsyeri_DefterTipKod\") == \"1\"}>Bilanço</option>\r\n <option value=\"2\" selected={getDefult(\"yapiIsyeri_DefterTipKod\") == \"2\"}>DiÄŸer defter</option>\r\n <option value=\"3\" selected={getDefult(\"yapiIsyeri_DefterTipKod\") == \"3\"}>Deftere tabi deÄŸil</option>\r\n <option value=\"4\" selected={getDefult(\"yapiIsyeri_DefterTipKod\") == \"4\"}>Kamu idaresi</option>\r\n </select>\r\n\r\n \r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Sirket Tur </label>\r\n <select class=\"form-select form-select-sm\" id=\"yapiIsyeri_SirketTurKod\" name=\"yapiIsyeri_SirketTurKod\" onChange={handleInputChange} >\r\n <option ></option>\r\n <option value=\"1\" selected={getDefult(\"yapiIsyeri_SirketTurKod\") == \"1\"}>Limited</option>\r\n <option value=\"2\" selected={getDefult(\"yapiIsyeri_SirketTurKod\") == \"2\"}>Anonim</option>\r\n <option value=\"3\" selected={getDefult(\"yapiIsyeri_SirketTurKod\") == \"3\"}>Kollektif</option>\r\n <option value=\"4\" selected={getDefult(\"yapiIsyeri_SirketTurKod\") == \"4\"}>Komandit</option>\r\n <option value=\"5\" selected={getDefult(\"yapiIsyeri_SirketTurKod\") == \"5\"}>Gerçek KiÅŸi (Geçici ve Åahıs Åirketleri)</option>\r\n <option value=\"6\" selected={getDefult(\"yapiIsyeri_SirketTurKod\") == \"6\"}>Ortak GiriÅŸim</option>\r\n <option value=\"7\" selected={getDefult(\"yapiIsyeri_SirketTurKod\") == \"7\"}>Adi Ortaklık</option>\r\n <option value=\"8\" selected={getDefult(\"yapiIsyeri_SirketTurKod\") == \"8\"}>Yapı Kooperatifleri</option>\r\n <option value=\"9\" selected={getDefult(\"yapiIsyeri_SirketTurKod\") == \"9\"}>Ä°ktisadi Ä°ÅŸletmeler (Dernek, Vakıf vb)</option>\r\n </select>\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Sigortali Sayi</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiIsyeri_SigortaliSayi\" name=\"yapiIsyeri_SigortaliSayi\" defaultValue={getDefult(\"yapiIsyeri_SigortaliSayi\")} key={getDefult(\"yapiIsyeri_SigortaliSayi\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Mersis No </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiIsyeri_MersisNo\" name=\"yapiIsyeri_MersisNo\" defaultValue={getDefult(\"yapiIsyeri_MersisNo\")} key={getDefult(\"yapiIsyeri_MersisNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Telefon</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiIsyeri_Telefon\" name=\"yapiIsyeri_Telefon\" defaultValue={getDefult(\"yapiIsyeri_Telefon\")} key={getDefult(\"yapiIsyeri_Telefon\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\"> EPosta</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiIsyeri_EPosta\" name=\"yapiIsyeri_EPosta\" defaultValue={getDefult(\"yapiIsyeri_EPosta\")} key={getDefult(\"yapiIsyeri_EPosta\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Faks</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiIsyeri_Faks\" name=\"yapiIsyeri_Faks\" defaultValue={getDefult(\"yapiIsyeri_Faks\")} key={getDefult(\"yapiIsyeri_Faks\")} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Kayit No</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiIsyeri_KayitNo\" name=\"yapiIsyeri_KayitNo\" defaultValue={getDefult(\"yapiIsyeri_KayitNo\")} key={getDefult(\"yapiIsyeri_KayitNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Tescil No </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiIsyeri_TescilNo\" name=\"yapiIsyeri_TescilNo\" defaultValue={getDefult(\"yapiIsyeri_TescilNo\")} key={getDefult(\"yapiIsyeri_TescilNo\")} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">EBildirge SözleÅŸme Var Mi </label><br />\r\n <input type=\"checkbox\" className=\"form-check-input\" id=\"yapiIsyeri_EBildirgeYetkiliBeyanVarMi\" name=\"yapiIsyeri_EBildirgeYetkiliBeyanVarMi\" defaultChecked={getDefult(\"yapiIsyeri_EBildirgeYetkiliBeyanVarMi\") == true} key={getDefult(\"yapiIsyeri_EBildirgeYetkiliBeyanVarMi\")} onChange={handleInputChange} key={rec.yapiBelgeDigerHusus_IlkYapiKullanmaIzinBelge} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\"> EBildirge Yetkili Unvan </label>\r\n <select class=\"form-select form-select-sm\" id=\"yapiIsyeri_EBildirgeYetkiliUnvanKod\" name=\"yapiIsyeri_EBildirgeYetkiliUnvanKod\" onChange={handleInputChange} >\r\n <option ></option>\r\n <option value=\"1\" selected={getDefult(\"yapiIsyeri_EBildirgeYetkiliUnvanKod\") == \"1\"}>Yönetim Kurulu BaÅŸkanı</option>\r\n <option value=\"2\" selected={getDefult(\"yapiIsyeri_EBildirgeYetkiliUnvanKod\") == \"2\"}>Yönetim Kurulu BaÅŸkan Vekili</option>\r\n <option value=\"3\" selected={getDefult(\"yapiIsyeri_EBildirgeYetkiliUnvanKod\") == \"3\"}>Yönetim Kurulu Ãœyesi</option>\r\n <option value=\"4\" selected={getDefult(\"yapiIsyeri_EBildirgeYetkiliUnvanKod\") == \"4\"}>Müdür</option>\r\n <option value=\"5\" selected={getDefult(\"yapiIsyeri_EBildirgeYetkiliUnvanKod\") == \"5\"}>Genel Müdür</option>\r\n <option value=\"6\" selected={getDefult(\"yapiIsyeri_EBildirgeYetkiliUnvanKod\") == \"7\"}>Åube Yetkilisi</option>\r\n <option value=\"7\" selected={getDefult(\"yapiIsyeri_EBildirgeYetkiliUnvanKod\") == \"12\"}>Finans Müdürü</option>\r\n <option value=\"8\" selected={getDefult(\"yapiIsyeri_EBildirgeYetkiliUnvanKod\") == \"15\"}>Yönetim Kurulu Ãœyesi Olmayan Yetkili</option>\r\n <option value=\"9\" selected={getDefult(\"yapiIsyeri_EBildirgeYetkiliUnvanKod\") == \"17\"}>Müdür (Müdürler Kurulu BaÅŸkanı)</option>\r\n <option value=\"10\" selected={getDefult(\"yapiIsyeri_EBildirgeYetkiliUnvanKod\") == \"19\"}>Gemi Müdürü</option>\r\n <option value=\"11\" selected={getDefult(\"yapiIsyeri_EBildirgeYetkiliUnvanKod\") == \"20\"}>Temsilci</option>\r\n <option value=\"12\" selected={getDefult(\"yapiIsyeri_EBildirgeYetkiliUnvanKod\") == \"21\"}>Yönetici</option>\r\n <option value=\"13\" selected={getDefult(\"yapiIsyeri_EBildirgeYetkiliUnvanKod\") == \"22\"}>Åube Müdürü</option>\r\n <option value=\"14\" selected={getDefult(\"yapiIsyeri_EBildirgeYetkiliUnvanKod\") == \"24\"}>Yönetmen</option>\r\n <option value=\"15\" selected={getDefult(\"yapiIsyeri_EBildirgeYetkiliUnvanKod\") == \"26\"}>Åube Yönetmeni </option>\r\n <option value=\"16\" selected={getDefult(\"yapiIsyeri_EBildirgeYetkiliUnvanKod\") == \"27\"}>Åube Temsilcisi</option>\r\n <option value=\"17\" selected={getDefult(\"yapiIsyeri_EBildirgeYetkiliUnvanKod\") == \"31\"}>Yetkili</option>\r\n <option value=\"18\" selected={getDefult(\"yapiIsyeri_EBildirgeYetkiliUnvanKod\") == \"32\"}>Konkordato Komiseri</option>\r\n <option value=\"19\" selected={getDefult(\"yapiIsyeri_EBildirgeYetkiliUnvanKod\") == \"34\"}>Kayyım</option>\r\n\r\n </select>\r\n\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiIsyeri_EBildirgeYetkiliUnvanKod\" name=\"yapiIsyeri_EBildirgeYetkiliUnvanKod\" defaultValue={getDefult(\"yapiIsyeri_EBildirgeYetkiliUnvanKod\")} key={getDefult(\"yapiIsyeri_EBildirgeYetkiliUnvanKod\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">EBildirge Yetkili TCKimlik No </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiIsyeri_EBildirgeYetkiliTCKimlikNo\" name=\"yapiIsyeri_EBildirgeYetkiliTCKimlikNo\" defaultValue={getDefult(\"yapiIsyeri_EBildirgeYetkiliTCKimlikNo\")} key={getDefult(\"yapiIsyeri_EBildirgeYetkiliTCKimlikNo\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">EBildirge Yetkili Ad </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiIsyeri_EBildirgeYetkiliAd\" name=\"yapiIsyeri_EBildirgeYetkiliAd\" defaultValue={getDefult(\"yapiIsyeri_EBildirgeYetkiliAd\")} key={getDefult(\"yapiIsyeri_EBildirgeYetkiliAd\")} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">EBildirge Yetkili Soyad</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiIsyeri_EBildirgeYetkiliSoyad\" name=\"yapiIsyeri_EBildirgeYetkiliSoyad\" defaultValue={getDefult(\"yapiIsyeri_EBildirgeYetkiliSoyad\")} key={getDefult(\"yapiIsyeri_EBildirgeYetkiliSoyad\")} onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">EBildirge Yetkili Telefon</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiIsyeri_EBildirgeYetkiliTelefon\" name=\"yapiIsyeri_EBildirgeYetkiliTelefon\" defaultValue={getDefult(\"yapiIsyeri_EBildirgeYetkiliTelefon\")} key={getDefult(\"yapiIsyeri_EBildirgeYetkiliTelefon\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">EBildirge Yetkili Cep Telefon</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiIsyeri_EBildirgeYetkiliCepTelefon\" name=\"yapiIsyeri_EBildirgeYetkiliCepTelefon\" defaultValue={getDefult(\"yapiIsyeri_EBildirgeYetkiliCepTelefon\")} key={getDefult(\"yapiIsyeri_EBildirgeYetkiliCepTelefon\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">yEBildirge Yetkili EPosta </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiIsyeri_EBildirgeYetkiliEPosta\" name=\"yapiIsyeri_EBildirgeYetkiliEPosta\" defaultValue={getDefult(\"yapiIsyeri_EBildirgeYetkiliEPosta\")} key={getDefult(\"yapiIsyeri_EBildirgeYetkiliEPosta\")} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n <div className=\"row mt-2\">\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">EBildirge Yetkili Vek Bitis Tarih</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiIsyeri_EBildirgeYetkiliVekBitisTarih\" name=\"yapiIsyeri_EBildirgeYetkiliVekBitisTarih\" defaultValue={getDefult(\"yapiIsyeri_EBildirgeYetkiliVekBitisTarih\")} key={getDefult(\"yapiIsyeri_EBildirgeYetkiliVekBitisTarih\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">EBildirge Yetkili Acik Adres </label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiIsyeri_EBildirgeYetkiliAcikAdres\" name=\"yapiIsyeri_EBildirgeYetkiliAcikAdres\" defaultValue={getDefult(\"yapiIsyeri_EBildirgeYetkiliAcikAdres\")} key={getDefult(\"yapiIsyeri_EBildirgeYetkiliAcikAdres\")} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">EBildirge Yetkili BBK No</label><br />\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yapiIsyeri_EBildirgeYetkiliBBKNo\" name=\"yapiIsyeri_EBildirgeYetkiliBBKNo\" defaultValue={getDefult(\"yapiIsyeri_EBildirgeYetkiliBBKNo\")} key={getDefult(\"yapiIsyeri_EBildirgeYetkiliBBKNo\")} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n </div >\r\n\r\n {/* ----------------------------------------------------------------------------------------------------------------------*/}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div >\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport VTable from '../Header/VTable.js';\r\nimport { sendget, sendpost, ajaxFail, isEmpty, setVisible, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport MAKS from './MAKS.js';\r\n\r\nexport default function MaksList(props) {\r\n const [makslist, setMaksList] = useState([]);\r\n const appData = props.appData;\r\n const setActivePanel = props.setActivePanel;\r\n const [rec, setRec] = useState({});\r\n const [maksMahalleList, setmaksMahalleList] = useState([]);\r\n const [maksAdresList, setMaksAdresList] = useState([]);\r\n const [yollist, setYols] = useState([]);\r\n const [numarajlist, setNumaratjList] = useState([]);\r\n const [selectedAdres, setSelectedAdres] = useState([]);\r\n\r\n\r\n\r\n useEffect(() => {\r\n sendget(\"makslist?appid=\" + appData.id, \"mysnip\", showTable)\r\n fetchMaksMahalle();\r\n\r\n }, [])\r\n\r\n const fetchMaksMahalle = () => {\r\n fetch(\"getmaksmahallelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setmaksMahalleList(value);\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n const fetchMaksYol = (id) => {\r\n fetch(\"getmaksyollist?mahalleid=\" + id, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setMaksAdresList(value)\r\n const yols = new Set();\r\n value.forEach(x => yols.add(x.yolad));\r\n\r\n setYols([...yols]);\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const handleMahalleChange = (event) => {\r\n var idx = document.getElementById(\"maksmahalle\").selectedIndex;\r\n rec.yapiBelgeAdres_MahalleKimlikNo = document.getElementById(\"maksmahalle\").options[idx].value\r\n rec.yapiBelgeAdres_MahalleAdi = document.getElementById(\"maksmahalle\").options[idx].innerHTML\r\n \r\n fetchMaksYol(document.getElementById(\"maksmahalle\").options[idx].value);\r\n }\r\n\r\n const handleYolChange = (event) => {\r\n var idx = document.getElementById(\"maksyol\").selectedIndex;\r\n var yolad = document.getElementById(\"maksyol\").options[idx].innerHTML;\r\n rec.yol = yolad;\r\n setNumaratjList(maksAdresList.filter(x => x.yolad == yolad).map(x => x.kapino));\r\n }\r\n\r\n const handleKapiNoChange = (event) => {\r\n var idx = document.getElementById(\"makskapino\").selectedIndex;\r\n var k = document.getElementById(\"makskapino\").options[idx].innerHTML;\r\n idx = document.getElementById(\"maksyol\").selectedIndex;\r\n var yolad = document.getElementById(\"maksyol\").options[idx].innerHTML;\r\n var adres = maksAdresList.filter(x => x.yolad == yolad && x.kapino == k);\r\n if (adres.length == 0) {\r\n showErrorMessage(\"Seçilen Kapi No Bulunamadı !\");\r\n return;\r\n\r\n }\r\n document.getElementById(\"adresinfo\").innerHTML = \"Adres: \" + adres.length + \", Mahalle Tanıtım:\" + adres[0].mahalletanitimkod + \", Yol Tanıtım:\" + adres[0].tanitimkodu +\" , Numarataj: \" + adres[0].numarataj + \" , Yapı K. No\" + adres[0].yapikimlikno + \" , Bagimsiz Bol K. No:\" + adres[0].bagimsizbolkimlikno + \" , Bagimsiz Bol No:\" + adres[0].yapiBelgeAdres_BagimsizBolumNo;\r\n rec.yapiBelgeAdres_DisKapiNo = k;\r\n rec.yapiBelgeYapi_YapiKimlikNo = adres[0].yapikimlikno;\r\n rec.yapiBelgeAdres_BagimsizBolumKimlikNo = adres[0].bagimsizbolkimlikno;\r\n rec.yapiBelgeAdres_NumaratajKimlikNo = adres[0].numarataj;\r\n rec.yapiBelgeAdres_CsbmTanitimKod = adres[0].tanitimkodu;\r\n rec.yapiBelgeAdres_MahalleTanitimKod = adres[0].mahalletanitimkod;\r\n\r\n \r\n \r\n if (isEmpty(adres[0].bagimsizbolumno)==false)\r\n rec.yapiBelgeAdres_BagimsizBolumNo = adres[0].bagimsizbolumno+\"\";\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n if (isEmpty(value) == false)\r\n rec[target.name] = value;\r\n else\r\n rec[target.name] = null;\r\n }\r\n\r\n const handleSelectChange = (event) => {\r\n const target = event.target;\r\n const value =target.value;\r\n if (isEmpty(value) == false)\r\n rec[target.name] = Number(value);\r\n else\r\n rec[target.name] = null;\r\n }\r\n\r\n\r\n const showTable = (response) => {\r\n response.json().then(async data => {\r\n data.forEach(x => {\r\n if (x.yapiBelge_YapiBelgeTipKod == 1) x.yapiBelge_YapiBelgeTipName = \"Yapi Ruhsat Belgesi\";\r\n if (x.yapiBelge_YapiBelgeTipKod == 2) x.yapiBelge_YapiBelgeTipName = \"Yapi Kullanma Izin Belgesi\";\r\n if (x.yapiBelge_YapiBelgeTipKod == 3) x.yapiBelge_YapiBelgeTipName = \"Yanan Yikilan Yapi Formu\";\r\n if (x.yapiBelge_YapiBelgeTipKod == 4) x.yapiBelge_YapiBelgeTipName = \" Yikim Ruhsat Belgesi\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 1) x.ruhsat_RuhsatVerilisAmacName = \"YeniYapi\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 2) x.ruhsat_RuhsatVerilisAmacName = \"Yenileme\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 3) x.ruhsat_RuhsatVerilisAmacName = \"Yeniden\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 4) x.ruhsat_RuhsatVerilisAmacName = \"Ek Bina\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 5) x.ruhsat_RuhsatVerilisAmacName = \"Kat Ilavesi\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 6) x.ruhsat_RuhsatVerilisAmacName = \"Ilave\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 7) x.ruhsat_RuhsatVerilisAmacName = \"Gecici\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 8) x.ruhsat_RuhsatVerilisAmacName = \"Tadilat\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 9) x.ruhsat_RuhsatVerilisAmacName = \"Dolgu\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 10) x.ruhsat_RuhsatVerilisAmacName = \"Restorasyon\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 11) x.ruhsat_RuhsatVerilisAmacName = \"Guclendirme\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 12) x.ruhsat_RuhsatVerilisAmacName = \"Kullanim Degisimi\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 13) x.ruhsat_RuhsatVerilisAmacName = \"Fosseptik\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 14) x.ruhsat_RuhsatVerilisAmacName = \"Mekanik Tesisat\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 15) x.ruhsat_RuhsatVerilisAmacName = \"Elektrik Tesisati\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 16) x.ruhsat_RuhsatVerilisAmacName = \"Isim Degisikligi\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 17) x.ruhsat_RuhsatVerilisAmacName = \"Istinat Duvari\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 18) x.ruhsat_RuhsatVerilisAmacName = \"Bahce Duvari\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 19) x.ruhsat_RuhsatVerilisAmacName = \"Diger\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 20) x.ruhsat_RuhsatVerilisAmacName = \"Diger Kacak Yapi\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 21) x.ruhsat_RuhsatVerilisAmacName = \"Diger Iksa\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 22) x.ruhsat_RuhsatVerilisAmacName = \"Diger 775 Sayili Gece kondu Kanunu\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 23) x.ruhsat_RuhsatVerilisAmacName = \"Diger Hes\";\r\n if (x.ruhsat_RuhsatVerilisAmacKod == 24) x.ruhsat_RuhsatVerilisAmacName = \"Diger Baz\";\r\n })\r\n setMaksList(data)\r\n });\r\n\r\n }\r\n\r\n const rowClick = (idx, rec, col) => {\r\n setActivePanel(<MAKS appData={appData} setActivePanel={setActivePanel} MaksApp={rec} />)\r\n }\r\n const rowDelete = (idx, rec, col) => {\r\n if (rec.bultenNo) {\r\n showErrorMessage(\"Bulten numarası alınmış baÅŸvuru silinemez.\")\r\n return;\r\n }\r\n showConfirmMessage(\"BaÅŸvuruyu Silmek Ä°stediÄŸinizden Emin misniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n sendpost(\"removemaksapp\", rec.id, \"mysnip\", (response) => {\r\n showTable(response)\r\n })\r\n\r\n\r\n })\r\n\r\n }\r\n\r\n\r\n const save = () => {\r\n rec.appId = appData.id;\r\n sendpost(\"savemaksapp\", rec, \"newsnipper\", (response) => {\r\n response.json().then(value => {\r\n showSuccessMessage(\"BaÅŸvuru kaydedilmiÅŸtir\", \"BaÅŸvuru No: \" + value.id);\r\n sendget(\"makslist?appid=\" + appData.id, \"mysnip\", showTable)\r\n document.getElementById(\"maksmahalle\").selectedIndex = 0;\r\n document.getElementById(\"maksyol\").selectedIndex = 0;\r\n document.getElementById(\"makskapino\").selectedIndex = 0;\r\n document.getElementById(\"makskapino\").selectedIndex = 0;\r\n document.getElementById(\"ruhsat_RuhsatVerilisAmacKod\").selectedIndex = 0;\r\n })\r\n })\r\n }\r\n\r\n return (\r\n <div>\r\n <div className=\"bg-white rounded-3 p-1 border\">\r\n <div className=\"row\">\r\n <div className=\"text-start col-12 fw-bold text-primary \">\r\n Yeni BaÅŸvuru\r\n </div>\r\n </div>\r\n\r\n <div className=\"row \">\r\n\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Mahalle</label>\r\n < select className=\"form-select form-select-sm\" id=\"maksmahalle\" name=\"maksmahalle\" onChange={handleMahalleChange}>\r\n <option value=\"\"></option>\r\n {maksMahalleList.map(x => <option value={x.kimlikno}>{x.ad}</option>)}\r\n </select>\r\n\r\n </div>\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">YOL</label>\r\n < select className=\"form-select form-select-sm\" id=\"maksyol\" name=\"maksyol\" onChange={handleYolChange}>\r\n <option value=\"\"></option>\r\n {yollist.map(x => <option value={x}>{x}</option>)}\r\n </select>\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Kapı No</label>\r\n < select className=\"form-select form-select-sm\" id=\"makskapino\" name=\"makskapino\" onChange={handleKapiNoChange}>\r\n <option value=\"\"></option>\r\n {numarajlist.map(x => <option value={x}>{x}</option>)}\r\n </select>\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Ruhsat Verilis Amac</label>\r\n <select class=\"form-select form-select-sm\" aria-label=\"Default select example\" id=\"ruhsat_RuhsatVerilisAmacKod\" name=\"ruhsat_RuhsatVerilisAmacKod\" onChange={handleSelectChange}>\r\n <option ></option>\r\n <option value=\"1\">YeniYapi</option>\r\n <option value=\"2\">Yenileme</option>\r\n <option value=\"3\">Yeniden</option>\r\n <option value=\"4\">Ek Bina</option>\r\n <option value=\"5\">Kat Ilavesi</option>\r\n <option value=\"6\">Ilave</option>\r\n <option value=\"7\">Gecici</option>\r\n <option value=\"8\">Tadilat</option>\r\n <option value=\"9\">Dolgu</option>\r\n <option value=\"10\">Restorasyon</option>\r\n <option value=\"11\">Guclendirme</option>\r\n <option value=\"12\">Kullanim Degisimi</option>\r\n <option value=\"13\">Fosseptik</option>\r\n <option value=\"14\">Mekanik Tesisat</option>\r\n <option value=\"15\">Elektrik Tesisati</option>\r\n <option value=\"16\">Isim Degisikligi</option>\r\n <option value=\"17\">Istinat Duvari</option>\r\n <option value=\"18\">Bahce Duvari</option>\r\n <option value=\"19\">Diger</option>\r\n <option value=\"20\">Diger Kacak Yapi</option>\r\n <option value=\"21\">Diger Iksa</option>\r\n <option value=\"22\">Diger 775 Sayili Gece kondu Kanunu</option>\r\n <option value=\"23\">Diger Hes</option>\r\n <option value=\"24\">Diger Baz</option>\r\n </select>\r\n </div>\r\n\r\n </div>\r\n\r\n <div className=\"row mt-2 small ps-2 text-success\" id=\"adresinfo\">\r\n\r\n </div>\r\n <div className=\"row mt-3\">\r\n <div className=\"text-start col-3 pt-3\">\r\n <input type=\"checkbox\" className=\"form-check-input\" id=\"yapiBelge_YapiDenetimTabi\" name=\"yapiBelge_YapiDenetimTabi\" onChange={handleInputChange} /> Bina Yapı Denetime tabi deÄŸil\r\n </div>\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Yibf No</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"yapiBelge_YibfNo\" name=\"yapiBelge_YibfNo\" onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"text-start col-3\">\r\n <label className=\"form-label\">Yapi Belge Tipi</label>\r\n <select class=\"form-select form-select-sm\" aria-label=\"Default select example\" id=\"yapiBelge_YapiBelgeTipKod\" name=\"yapiBelge_YapiBelgeTipKod\" onChange={handleSelectChange} >\r\n <option selected ></option>\r\n <option value=\"1\" >Yapi Ruhsat Belgesi</option>\r\n <option value=\"2\" >Yapi Kullanma Izin Belgesi</option>\r\n <option value=\"3\">Yanan Yikilan Yapi Formu</option>\r\n <option value=\"4\">Yikim Ruhsat Belgesi</option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-3\">\r\n <div className=\"col-12 text-end\">\r\n <div id=\"newsnipper\" className=\"spinner-border spinner-border-sm\" hidden></div>\r\n\r\n <button type=\"button\" className=\"ms-1 btn btn-primary btn-sm text-decoration-none \" style={{ \"border-radius\": \"8px\" }} onClick={save}>\r\n BaÅŸvuru OluÅŸtur\r\n </button>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n\r\n <div className=\"mt-3 rounded-3 border p-1\">\r\n <div className=\"row\">\r\n <div className=\"text-start col-6 fw-bold text-primary \">\r\n Mevcut BaÅŸvurular\r\n </div>\r\n <div className=\"text-end col-6 \">\r\n <div id=\"mysnip\" className=\"spinner-border spinner-border-sm\" ></div>\r\n\r\n </div>\r\n </div>\r\n <VTable data={makslist} cols={[\"id\", \"regDate\", \"yapiBelge_YapiBelgeTipName\",\"ruhsat_RuhsatVerilisAmacName\", \"bultenNo\"]} headers={[\"No\", \"BaÅŸvuru Tarihi\",\"Yapı Belge Tipi\",\"VariliÅŸ Amaç\", \"Bulten No\"]} rowClick={rowClick} rowDelete={rowDelete} />\r\n </div >\r\n </div >\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport 'bootstrap/dist/js/bootstrap.min.js'\r\n\r\nimport Apply5 from \"./Apply5.js\";\r\nimport Application from \"./Application.js\";\r\nimport NotePanel from './NotePanel.js';\r\nimport { ajaxFail, showSuccessMessage } from '../GlobalState.js';\r\n\r\nexport default function Apply6(props) {\r\n useEffect(() => {\r\n\r\n\r\n }, [])\r\n\r\n\r\n var applicationdata = props.applicationdata;\r\n\r\n\r\n\r\n\r\n\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n document.getElementById(\"buttonSpinner\").hidden = false;\r\n fetch(\"saveapplication\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(applicationdata)\r\n }).then(async response => {\r\n document.getElementById(\"buttonSpinner\").hidden = true;\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n\r\n response.json().then(async a => {\r\n props.changeComponent(<Application appData={a} changeComponent={props.changeComponent} />)\r\n showSuccessMessage(\"BaÅŸvurunuz henüz gönderilmedi.BaÅŸvurunuzu kontrol ettikten sonra 'Gönder' tuÅŸuna basınız.\");\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n return <div >\r\n\r\n <div className=\"row\" >\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 1. BaÅŸvuru Tipi\r\n\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 2. Konum\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 3. Müellifler\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 4. DiÄŸer Sorular\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 5. Dosyalar\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 text-primary \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 6. Onay\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row m-3\" >\r\n <div className=\"col-12\" >\r\n <div className=\" align-items-center justify-content-center p-1\" >\r\n <form action=\"submitapplication\" className=\"mt-3\" method=\"POST\" onSubmit={onSubmit}>\r\n\r\n <div className=\"mt-1 row rounded-5\" >\r\n <NotePanel appData={applicationdata} />\r\n </div>\r\n <div className=\"row mt-3 border-top pt-2\" >\r\n <div className=\"col-6 text-start\">\r\n <button type=\"button\" className=\"btn btn-sm btn-primary mb-2 \" onClick={() => { props.changeComponent(<Apply5 applicationdata={applicationdata} changeComponent={props.changeComponent} />) }}>Geri Dön</button>\r\n </div>\r\n\r\n <div className=\"col-6 text-end\">\r\n <button type=\"submit\" name=\"actionSave\" value=\"Save\" className=\"btn btn-sm btn-primary mb-2 \">\r\n Taslak Kaydet\r\n <span class=\"ms-1 spinner-border spinner-border-sm\" id=\"buttonSpinner\" hidden></span>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n </form>\r\n </div>\r\n </div>\r\n </div >\r\n </div >\r\n\r\n}\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport 'bootstrap/dist/js/bootstrap.min.js'\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport { isEmpty, showErrorMessage, useGlobalState } from '../GlobalState.js';\r\nimport Apply4 from \"./Apply4.js\";\r\nimport Apply6 from \"./Apply6.js\";\r\nimport FilePanel from \"./FilesPanel.js\";\r\n\r\nimport Application from \"./Application.js\";\r\nimport NotePanel from './NotePanel.js';\r\n\r\nexport default function Apply5(props) {\r\n const [role, setRole] = useGlobalState('role');\r\n\r\n useEffect(() => {\r\n\r\n\r\n }, [])\r\n\r\n\r\n var applicationdata = props.applicationdata;\r\n\r\n return <div >\r\n\r\n <div className=\"row\" >\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 1. BaÅŸvuru Tipi\r\n\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 2. Konum\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 3. Müellifler\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 4. DiÄŸer Sorular\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 text-primary \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 5. Dosyalar\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 6. Onay\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row m-3\" >\r\n <div className=\"col-12\" >\r\n <div className=\" align-items-center justify-content-center p-1\" >\r\n\r\n\r\n <div className=\"mt-1 row rounded-5\" >\r\n <FilePanel appData={applicationdata} />\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n <div className=\"row mt-3 border-top pt-2\" >\r\n <div className=\"col-6 text-start\">\r\n <button type=\"button\" className=\"btn btn-sm btn-primary mb-2 \" onClick={() => { props.changeComponent(<Apply4 back={ true} applicationdata={applicationdata} changeComponent={props.changeComponent} />) }}>Geri Dön</button>\r\n </div>\r\n\r\n <div className=\"col-6 text-end\">\r\n <button type=\"button\" name=\"actionSave\" className=\"btn btn-sm btn-primary mb-2 \" onClick={() => {\r\n var eksikdiv = document.getElementById(\"eksikdosyalar\");\r\n if (role.indexOf(UserPermConstants.Yeni_Basvuruda_Zorunlu_Alanlari_Bos_Birakabilme) > -1 || eksikdiv == null || isEmpty(eksikdiv.innerHTML) || window.selectedAppType == null || window.selectedAppType.eksiksiz!=true )\r\n props.changeComponent(<Apply6 applicationdata={applicationdata} changeComponent={props.changeComponent} />)\r\n else showErrorMessage(\"BaÅŸvuruya devam edebilmek için kırmızı olarak iÅŸaretlenen zorunlu dosyaları yüklemeniz gerekmektedir.\")\r\n }}>\r\n Kaydet ve Devam Et\r\n \r\n </button>\r\n </div>\r\n </div>\r\n\r\n \r\n </div>\r\n </div>\r\n </div >\r\n </div >\r\n\r\n}\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport 'bootstrap/dist/js/bootstrap.min.js'\r\nimport { ajaxFail, showErrorMessage } from '../GlobalState.js';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport { useGlobalState, isEmpty } from '../GlobalState.js';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport Apply5 from \"./Apply5.js\";\r\nimport Apply3 from \"./Apply3.js\";\r\nimport Apply1 from './Apply1.js';\r\nimport Apply2 from './Apply2.js';\r\nexport default function Apply4(props) {\r\n\r\n useEffect(() => {\r\n fetchAppDynamicFieldList();\r\n\r\n }, [])\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const zorunloBosBirakma = role.indexOf(UserPermConstants.Yeni_Basvuruda_Zorunlu_Alanlari_Bos_Birakabilme) == -1;\r\n\r\n var applicationdata = props.applicationdata;\r\n var appdynamicdata = applicationdata.appData != null ? JSON.parse(applicationdata.appData) : {};\r\n\r\n\r\n\r\n const [allDynamicFilds, setAllDynamicFilds] = React.useState();\r\n\r\n const handleDynamicChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked.toString() : target.value;\r\n appdynamicdata[target.name] = { id: target.id, \"value\": value, \"type\": target.type };\r\n }\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n if (zorunloBosBirakma == false) {\r\n var multiselectinputs = allDynamicFilds.filter(k => isVisible(k) == true && k.type == \"select multiple\");\r\n var notfilled = multiselectinputs.filter(k => k.reqired == true && (isEmpty(appdynamicdata[k.name]) || isEmpty(appdynamicdata[k.name].value)))\r\n if (notfilled.length > 0) {\r\n var names = notfilled.map(k => k.name).join(\",\");\r\n showErrorMessage(\"Zorunlu alanlar boÅŸ bırakılamaz\", names);\r\n return;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n applicationdata.appData = JSON.stringify(appdynamicdata);\r\n document.getElementById(\"buttonSpinner\").hidden = false;\r\n fetch(\"saveapplication\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(applicationdata)\r\n }).then(async response => {\r\n document.getElementById(\"buttonSpinner\").hidden = true;\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async a => {\r\n props.changeComponent(<Apply5 applicationdata={a} changeComponent={props.changeComponent} />)\r\n });\r\n }\r\n });\r\n }\r\n\r\n const fetchAppDynamicFieldList = () => {\r\n fetch(\"getappfields\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n if (data.some(k=>isVisible(k)) == false) {\r\n if (props.back != true)\r\n props.changeComponent(<Apply5 applicationdata={applicationdata} changeComponent={props.changeComponent} />)\r\n else \r\n props.changeComponent(<Apply3 back={ true} applicationdata={applicationdata} changeComponent={props.changeComponent} />)\r\n }\r\n setAllDynamicFilds(data);\r\n });\r\n }\r\n });\r\n }\r\n\r\n const isReadOnly = (k) => {\r\n\r\n if (isEmpty(k.role) == false && k.role.split(',').some(x => role.indexOf(\"#\" + x + \"#\") > -1) == false)\r\n return true;\r\n return false;\r\n\r\n }\r\n const isVisible = (k) => {\r\n if (k.gizli == true && role.indexOf(UserPermConstants.Gizli_Alanlari_Gorme) == -1)\r\n return false;\r\n if (isEmpty(k.basvuruTipi) == false && k.basvuruTipi.split(\",\").includes(applicationdata.basvuruTipi) == false)\r\n return false;\r\n return true;\r\n }\r\n\r\n\r\n var dynamicFields = \"\";\r\n if (allDynamicFilds != null) {\r\n var appDynamicData = applicationdata.appData != null ? JSON.parse(applicationdata.appData) : {};\r\n\r\n\r\n allDynamicFilds.forEach(k => {\r\n if (appdynamicdata[k.name] == null && k.initValue != null) {\r\n if (k.type == \"checkbox\")\r\n appdynamicdata[k.name] = { \"value\": k.initValue == 1, \"type\": k.type, \"id\": k.id };\r\n else if (k.type != \"select\" && k.type != \"select multiple\")\r\n appdynamicdata[k.name] = { \"value\": k.initValue, \"type\": k.type,\"id\":k.id };\r\n }\r\n });\r\n \r\n\r\n dynamicFields =\r\n allDynamicFilds.map(k => isVisible(k)==false ? \"\" :\r\n <div className=\"row p-2 rounded-5\" >\r\n <div className=\"col-12 col-md-6\">\r\n\r\n <label htmlFor={k.name} className=\"form-label p-0\">{k.name} {k.reqired == true && \"*\" }</label><br />\r\n {k.type == \"select\" ?\r\n <select disabled={isReadOnly(k)} readOnly={isReadOnly(k)} className=\"form-select form-select-sm selectpicker\" id={k.id} name={k.name} onChange={handleDynamicChange} required={k.reqired && zorunloBosBirakma} >\r\n <option value=\"\" selected={true} hidden></option>\r\n {k.initValue != null && k.initValue.split(\",\").map(rec =>\r\n <option value={rec} selected={appdynamicdata[k.name] != null && appdynamicdata[k.name].value == rec}>{rec}</option>)}\r\n </select> :\r\n k.type == \"select multiple\" ?\r\n <Multiselect className=\"p-0 form-control-sm bg-white\"\r\n disablePreSelectedValues={isReadOnly(k)}\r\n required={true}\r\n options={k.initValue.split(\",\")}\r\n emptyRecordMsg=\"\"\r\n isObject={false}\r\n onSelect={(selectedList, changedItem) => {\r\n var clist = selectedList.join();\r\n appdynamicdata[k.name] = { id: k.id, \"value\": clist, \"type\": k.type };\r\n \r\n }}\r\n onRemove={(selectedList, changedItem) => {\r\n var clist = selectedList.join();\r\n appdynamicdata[k.name] = { id: k.id, \"value\": clist, \"type\": k.type };\r\n \r\n }}\r\n placeholder=\"\"\r\n selectedValues={(appdynamicdata[k.name] == null || isEmpty(appdynamicdata[k.name].value) || isReadOnly(k)) ? [] : appdynamicdata[k.name].value.split(\",\")}\r\n />\r\n :\r\n k.type == \"textarea\" ?\r\n <textarea readOnly={isReadOnly(k)} disabled={isReadOnly(k)} onInput={(e) => { e.target.style.height = \"\"; e.target.style.height = e.target.scrollHeight + 2 + \"px\" }} readOnly={isReadOnly(k)} type={k.type} className={k.type != \"checkbox\" ? \"form-control form-control-sm \" : \"form-check-input\"}\r\n id={k.id} name={k.name} defaultValue={appDynamicData[k.name] != null ? appDynamicData[k.name].value : k.initValue}\r\n defaultChecked={appDynamicData[k.name] != null ? appDynamicData[k.name].value : \"\"} onChange={handleDynamicChange} required={k.reqired} required={k.reqired && zorunloBosBirakma}></textarea>\r\n :\r\n <input type={k.type} disabled={isReadOnly(k) } readOnly={isReadOnly(k)} className={k.type != \"checkbox\" ? \"form-control form-control-sm \" : \"form-check-input\"}\r\n id={k.id} name={k.name} defaultValue={appdynamicdata[k.name] != null ? appdynamicdata[k.name].value : k.initValue}\r\n defaultChecked={appdynamicdata[k.name] != null ? appdynamicdata[k.name].value : k.initValue==1} onChange={handleDynamicChange} required={k.reqired && zorunloBosBirakma} />\r\n }\r\n </div></div>\r\n\r\n )\r\n }\r\n\r\n\r\n return <div >\r\n\r\n <div className=\"row\" >\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 1. BaÅŸvuru Tipi\r\n\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 2. Konum\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 3. Müellifler\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 text-primary \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 4. DiÄŸer Sorular\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 5. Dosyalar\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 6. Onay\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row m-3\" >\r\n <div className=\"col-12\" >\r\n <div className=\" align-items-center justify-content-center p-1\" >\r\n <form action=\"submitapplication\" className=\"mt-2\" method=\"POST\" onSubmit={onSubmit}>\r\n\r\n \r\n {dynamicFields}\r\n \r\n\r\n\r\n <div className=\"row mt-3 border-top pt-2\" >\r\n <div className=\"col-6 text-start\">\r\n <button type=\"button\" className=\"btn btn-sm btn-primary mb-2 \" onClick={() => {\r\n props.changeComponent(<Apply3 applicationdata={applicationdata} changeComponent={props.changeComponent} />)\r\n }}>Geri Dön</button>\r\n </div>\r\n\r\n <div className=\"col-6 text-end\">\r\n <button type=\"submit\" name=\"actionSave\" value=\"Save\" className=\"btn btn-sm btn-primary mb-2 \">\r\n Kaydet ve Devam Et \r\n <span class=\"ms-1 spinner-border spinner-border-sm\" id=\"buttonSpinner\" hidden></span>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n </form>\r\n </div>\r\n </div>\r\n </div >\r\n </div >\r\n\r\n}\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport 'bootstrap/dist/js/bootstrap.min.js'\r\nimport { ajaxFail, fvisible, fdisabled, fzorunlu, showSuccessMessage, showErrorMessage } from '../GlobalState.js';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport { useGlobalState, capitalizeWords } from '../GlobalState.js';\r\nimport Apply2 from \"./Apply2.js\";\r\nimport Apply4 from \"./Apply4.js\";\r\nimport ApplicationAuthorPanel from \"./ApplicationAuthorPanel.js\";\r\nimport axios from \"axios\";\r\nimport bootstrap from 'bootstrap/dist/js/bootstrap.min.js'\r\nimport Apply1 from './Apply1.js';\r\n\r\nexport default function Apply3(props) {\r\n\r\n const [sabitsorulistData, setsabitsorulistData] = useState(null);\r\n\r\n let prevVal = \"\";\r\n const [role, setRole] = useGlobalState('role');\r\n\r\n const zorunloBosBirakma = role.indexOf(UserPermConstants.Yeni_Basvuruda_Zorunlu_Alanlari_Bos_Birakabilme) == -1;\r\n\r\n const [userData, setUserdata] = useGlobalState('userData');\r\n var applicationdata = props.applicationdata;\r\n\r\n if (applicationdata.arsaSahibi == null)\r\n applicationdata.arsaSahibi = userData.name + \" \" + userData.family;\r\n if (applicationdata.arsaSahibiTC == null)\r\n applicationdata.arsaSahibiTC = userData.tc;\r\n if (applicationdata.arsaSahibiTel == null)\r\n applicationdata.arsaSahibiTel = userData.tel;\r\n\r\n\r\n useEffect(() => {\r\n if (window.selectedAppType.tasinamazSahibiAktif != true && window.selectedAppType.muellifAktif != true) {\r\n if (props.back == true) {\r\n props.changeComponent(<Apply2 back={ true} applicationdata={applicationdata} changeComponent={props.changeComponent} />)\r\n }\r\n else {\r\n props.changeComponent(<Apply4 applicationdata={applicationdata} changeComponent={props.changeComponent} />)\r\n }\r\n return;\r\n }\r\n initModal();\r\n fetchSabitSoruList();\r\n var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"popover\"]'))\r\n var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {\r\n return new bootstrap.Popover(popoverTriggerEl)\r\n })\r\n }, [])\r\n\r\n const initModal = () => {\r\n var locModal = document.getElementById('myModal');\r\n var btnclosedown = document.getElementById('downclosemodal');\r\n if (btnclosedown != null)\r\n btnclosedown.addEventListener('click', (e) => {\r\n locModal.style.display = \"none\";\r\n locModal.classList.add(\"hide\");\r\n });\r\n }\r\n\r\n const SendFiles = (event) => {\r\n document.getElementById(\"fileuploadsp\").hidden = false;\r\n var selectedFile = { file: event.target.files[0] }\r\n var formData = new FormData();\r\n formData.append(\"file\", selectedFile.file);\r\n formData.append(\"caption\", selectedFile.file.name);\r\n formData.append(\"appid\", applicationdata.id);\r\n axios.post(\r\n \"submitbasvuruvekaletfile\",\r\n formData,\r\n {\r\n headers: {\r\n \"Content-type\": \"multipart/form-data\",\r\n },\r\n }\r\n ).then(res => {\r\n document.getElementById(\"fileuploadsp\").hidden = true;\r\n document.getElementById(\"fileuploadsp\").hidden = true;\r\n applicationdata.vekaletDosyaname = selectedFile.file.name\r\n document.getElementById(\"vekaletdosyaname\").innerHTML = '<span class=\"ms-3\" id=\"vekaletdosyaname\"><a class=\"text-decoration-none\" href=\"/getbasvuruvekaletfile?appid=' + applicationdata.id + '\" download=\"' + applicationdata.vekaletDosyaname + '\">' + applicationdata.vekaletDosyaname + ' </a></span>';\r\n\r\n var locModal = document.getElementById('myModal');\r\n locModal.style.display = \"none\";\r\n locModal.classList.add(\"hide\");\r\n\r\n })\r\n .catch(err => { showErrorMessage(err); })\r\n }\r\n\r\n const showalert = () => {\r\n \r\n if (window.selectedAppType.tasinamazSahibiAktif == true&&fvisible(\"arsaSahibiTel\", sabitsorulistData, applicationdata))\r\n showSuccessMessage(\"Bu bölümde vekalet sahibinin telefon numarası DEÄÄ°L, taşınmaz sahibinin kendi numarası olmak zorundadır. Aksi halde baÅŸvurunuz kabul edilmeyecektir.\")\r\n }\r\n\r\n const fetchSabitSoruList = () => {\r\n fetch(\"getsabitsorulist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setsabitsorulistData(value);\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const onSubmit = () => {\r\n\r\n if (applicationdata.vekaletenBasvuru == true && applicationdata.vekaletDosyaname == null) {\r\n showErrorMessage(\"Vekalet dosyanızı yukleyiniz.\");\r\n return;\r\n }\r\n\r\n if (applicationdata.vekaletenBasvuru == true) {\r\n applicationdata.vekilName = capitalizeWords(userData.name + \" \" + userData.family);\r\n applicationdata.vekilTC = userData.tc;\r\n applicationdata.vekilTel = userData.tel;\r\n }\r\n\r\n\r\n document.getElementById(\"buttonSpinner\").hidden = false;\r\n\r\n applicationdata.arsaSahibi = capitalizeWords(applicationdata.arsaSahibi);\r\n fetch(\"saveapplication\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(applicationdata)\r\n }).then(async response => {\r\n document.getElementById(\"buttonSpinner\").hidden = true;\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async a => {\r\n props.changeComponent(<Apply4 applicationdata={a} changeComponent={props.changeComponent} />)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const handleInputChange = (event) => {\r\n\r\n\r\n var target = event.target;\r\n var value = target.type === 'checkbox' ? target.checked : target.value;\r\n if (target.name == \"arsaSahibiTel\" && value.length > 0 && value.startsWith(\"5\") == false) {\r\n showErrorMessage(\"Telefon Numarası 5 ile baÅŸlamalı ve sadece 10 rakamdan oluÅŸmalıdır.\");\r\n target.value = \"5\";\r\n value = \"5\"\r\n }\r\n applicationdata[target.name] = value;\r\n\r\n if (target.name == \"vekaletenBasvuru\") {\r\n document.getElementById(\"arsasahibiBilgileri\").disabled = !value;\r\n if (value != true) {\r\n applicationdata.arsaSahibi = userData.name + \" \" + userData.family;\r\n applicationdata.arsaSahibiTC = userData.tc;\r\n applicationdata.arsaSahibiTel = userData.tel;\r\n }\r\n else {\r\n applicationdata.arsaSahibi = \"\";\r\n applicationdata.arsaSahibiTC = \"\";\r\n applicationdata.arsaSahibiTel = \"\";\r\n }\r\n\r\n\r\n document.getElementById(\"arsaSahibi\").value = applicationdata.arsaSahibi;\r\n document.getElementById(\"arsaSahibiTel\").value = applicationdata.arsaSahibiTel;\r\n document.getElementById(\"arsaSahibiTC\").value = applicationdata.arsaSahibiTC;\r\n\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n\r\n\r\n setTimeout(showalert, 700);\r\n\r\n return <div >\r\n\r\n <div className=\"row\" >\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 1. BaÅŸvuru Tipi\r\n\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 2. Konum\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 text-primary\" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 3. Müellifler\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 4. DiÄŸer Sorular\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 5. Dosyalar\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 6. Onay\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {window.selectedAppType.tasinamazSahibiAktif == true && <div className=\"row mt-3\" >\r\n <div className=\"col-12\" >\r\n <div className=\"p-1\" >\r\n {fvisible(\"arsaSahibiTel\", sabitsorulistData, applicationdata) && <div className=\"row mb-3\" >\r\n <div className=\"col-12\">\r\n <span className=\"text-danger\">\r\n Bu bölümde vekalet sahibinin telefon numarası DEÄÄ°L, taşınmaz sahibinin kendi numarası olmak zorundadır. Aksi halde baÅŸvurunuz kabul edilmeyecektir.\r\n </span>\r\n </div>\r\n </div>}\r\n\r\n <div className=\"row mb-2\" >\r\n {fvisible(\"arsaSahibi\", sabitsorulistData, applicationdata) && <div className=\"col-12 \" >\r\n <div class=\"form-check\">\r\n <input className=\"form-check-input\" type=\"checkbox\" id=\"vekaletenBasvuru\" name=\"vekaletenBasvuru\" onChange={handleInputChange} defaultChecked={applicationdata.vekaletenBasvuru == true} />\r\n <label className=\"form-check-label\" for=\"flexCheckChecked\">\r\n BaÅŸvuruyu vekaleten baÅŸkası adına yapıyorum\r\n </label>\r\n </div>\r\n </div>}\r\n </div>\r\n\r\n <fieldset disabled={applicationdata.vekaletenBasvuru != true} id=\"arsasahibiBilgileri\">\r\n <div className=\"row \" disabled>\r\n {window.selectedAppType.tasinamazSahibiAktif == true && <div className=\"col-md-4 col-12 \">\r\n <label htmlFor=\"arsaSahibi\" className=\"form-label\">Taşınmaz Sahibi {fzorunlu(\"arsaSahibi\", sabitsorulistData, applicationdata)}</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" required={window.selectedAppType.tasinamazSahibiZorunlu == true && zorunloBosBirakma} id=\"arsaSahibi\" defaultValue={applicationdata.arsaSahibi} placeholder=\"\" name=\"arsaSahibi\" onChange={handleInputChange} disabled={fdisabled(\"arsaSahibi\", sabitsorulistData, applicationdata)} />\r\n </div>}\r\n {window.selectedAppType.tasinamazSahibiAktif == true && <div className=\"col-md-4 col-12 \">\r\n <label htmlFor=\"arsaSahibiTC\" className=\"form-label\">Taşınmaz Sahibi TC veya Vergi Kimlik Numarası {window.selectedAppType.tasinamazSahibiZorunlu == true ? '*' : ''}</label>\r\n <input type=\"number\" pattern=\"[0-9]{1,20}\" maxLength=\"11\" className=\"form-control form-control-sm\" required={window.selectedAppType.tasinamazSahibiZorunlu == true && zorunloBosBirakma} id=\"arsaSahibiTC\" defaultValue={applicationdata.arsaSahibiTC} placeholder=\"\" name=\"arsaSahibiTC\" onChange={handleInputChange} disabled={fdisabled(\"arsaSahibiTC\", sabitsorulistData, applicationdata)} />\r\n </div>}\r\n {window.selectedAppType.tasinamazSahibiAktif == true && <div className=\"col-md-4 col-12 \">\r\n <label htmlFor=\"arsaSahibiTel\" className=\"form-label\">Taşınmaz Sahibi Telefon Numarası {fzorunlu(\"arsaSahibiTel\", sabitsorulistData, applicationdata)}</label>\r\n <input type=\"text\" pattern=\"[5-5]{1}[0-9]{2}[0-9]{7}\" maxLength=\"10\" placeholder=\"5__ ___ ____\" required={window.selectedAppType.tasinamazSahibiZorunlu == true && zorunloBosBirakma} className=\"form-control form-control-sm\" id=\"arsaSahibiTel\" defaultValue={applicationdata.arsaSahibiTel} name=\"arsaSahibiTel\" onChange={handleInputChange} disabled={fdisabled(\"arsaSahibiTel\", sabitsorulistData, applicationdata)} />\r\n </div>}\r\n </div>\r\n <div className=\"row mt-3\" disabled>\r\n <div className=\"col-12 \">\r\n <button onClick={() => {\r\n document.getElementById('myModal').style.display = \"block\";\r\n document.getElementById('myModal').classList.remove(\"hide\");\r\n }} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">\r\n Vekalet Dosyası Ekle</button>\r\n <button className=\"btn btn-sm btn-secondary ms-2 text-decoration-none fw-bold\" id=\"mypopover\" data-bs-trigger=\"focus\" data-bs-toggle=\"popover\" title=\"AÇIKLAMA\" data-bs-content=\"Taşınmaz sahibi adına baÅŸvuru yapabileceÄŸinizi gösteren belgedir. Bu belge, noter onaylı vekaletname olabileceÄŸi gibi Yapı Denetim BaÅŸvuruları ve Ä°mar Uygulamalarına yönelik baÅŸvurularda taşınmaz sahibi ile aranızda yaptığınız sözleÅŸme de olabilir.\">?</button>\r\n\r\n <span className=\"ms-3\" id=\"vekaletdosyaname\">\r\n {applicationdata.vekaletDosyaname != null && <a className=\"text-decoration-none\" href={\"/getbasvuruvekaletfile?appid=\" + applicationdata.id} id=\"vekaletdosyaname\" download={applicationdata.vekaletDosyaname}>{applicationdata.vekaletDosyaname} </a>}\r\n </span>\r\n </div>\r\n </div>\r\n </fieldset>\r\n </div>\r\n </div>\r\n </div>}\r\n\r\n {window.selectedAppType.muellifAktif == true && <div className=\"mt-2\"><ApplicationAuthorPanel appData={applicationdata} /></div>}\r\n\r\n <div className=\"row mt-3 border-top pt-2\" >\r\n <div className=\"col-6 text-start\">\r\n <button type=\"button\" className=\"btn btn-sm btn-primary mb-2 \" onClick={() => {\r\n props.changeComponent(<Apply2 back={ true} applicationdata={applicationdata} changeComponent={props.changeComponent} />)\r\n\r\n }}>Geri Dön</button>\r\n </div>\r\n <div className=\"col-6 text-end\">\r\n <button type=\"button\" name=\"actionSave\" onClick={() => {\r\n if ((document.getElementById(\"arsaSahibiTel\") != null && document.getElementById(\"arsaSahibiTel\").disabled != true && fzorunlu(\"arsaSahibiTel\", sabitsorulistData, applicationdata) == \"*\" && document.getElementById(\"arsaSahibiTel\").value.length == 0)\r\n || (document.getElementById(\"arsaSahibi\") != null && document.getElementById(\"arsaSahibi\").disabled != true && fzorunlu(\"arsaSahibi\", sabitsorulistData, applicationdata) == \"*\" && document.getElementById(\"arsaSahibi\").value.length == 0)\r\n || (document.getElementById(\"arsaSahibiTC\") != null && document.getElementById(\"arsaSahibiTC\").disabled != true && fzorunlu(\"arsaSahibiTC\", sabitsorulistData, applicationdata) == \"*\" && document.getElementById(\"arsaSahibiTC\").value.length == 0)) {\r\n showErrorMessage(\"Taşınmaz sahibi bilgileri eksik\");\r\n return;\r\n }\r\n if (document.getElementById(\"arsaSahibiTel\") != null && document.getElementById('arsaSahibiTel').checkValidity() == false) {\r\n showErrorMessage(\"Taşınmaz sahibi Telfon Numarası Hatalı\");\r\n return;\r\n }\r\n if (document.getElementById(\"arsaSahibiTC\") != null && document.getElementById('arsaSahibiTC').checkValidity() == false) {\r\n showErrorMessage(\"Taşınmaz sahibi TC Numarası Hatalı\");\r\n return;\r\n }\r\n\r\n onSubmit();\r\n }} className=\"btn btn-sm btn-primary \">\r\n Kaydet ve Devam Et\r\n <span class=\"ms-1 spinner-border spinner-border-sm\" id=\"buttonSpinner\" hidden></span>\r\n </button>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <div className=\"modal\" id=\"myModal\" >\r\n <div class=\"modal-dialog modal modal-dialog-centered \">\r\n <div class=\"modal-content\" >\r\n <div class=\"modal-body\" id=\"mymodalbody\" >\r\n\r\n <div className=\"row\">\r\n <div className=\"col-10\">\r\n\r\n <label for=\"formFile\" class=\"form-label\">Vekalet Dosyası Yukle</label>\r\n\r\n\r\n <br />\r\n <input class=\"form-control form-control-sm mt-2\" type=\"file\" accept=\"*.pdf\" id=\"formFile\" onChange={(e) => SendFiles(e)} />\r\n </div>\r\n\r\n <div className=\"col-2 text-end\">\r\n <div class=\"spinner-border spinner-border-sm\" hidden id=\"fileuploadsp\" ></div>\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-danger\" id=\"downclosemodal\" data-bs-dismiss=\"modal\">Kapat</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n </div >\r\n\r\n}\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport 'bootstrap/dist/js/bootstrap.min.js'\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport { isEmpty, useGlobalState, showConfirmMessage, showErrorMessage, setVisible } from '../GlobalState.js';\r\nimport Apply1 from \"./Apply1.js\";\r\nimport Apply3 from \"./Apply3.js\";\r\nimport Apply4 from \"./Apply4.js\";\r\n\r\n\r\nimport GMapLatLang from \"./GMapLatLang.js\";\r\nimport Application from \"./Application.js\";\r\nimport { ajaxFail, fvisible, fdisabled, fzorunlu } from '../GlobalState.js';\r\n\r\nexport default function Apply2(props) {\r\n\r\n const [sabitsorulistData, setsabitsorulistData] = useState(null);\r\n const [userData, setUserdata] = useGlobalState('userData');\r\n\r\n useEffect(() => {\r\n\r\n if (window.selectedAppType.mevkiAktif != true && window.selectedAppType.mahalleAktif != true\r\n && window.selectedAppType.adaAktif != true\r\n && window.selectedAppType.sokakAktif != true && window.selectedAppType.noAktif != true) {\r\n if (props.back == true) {\r\n\r\n props.changeComponent(<Apply1 applicationdata={applicationdata} changeComponent={props.changeComponent} />)\r\n }\r\n else {\r\n onSubmit();\r\n //props.changeComponent(<Apply3 applicationdata={applicationdata} changeComponent={props.changeComponent} />)\r\n\r\n }\r\n return;\r\n }\r\n\r\n fetchMevkiList();\r\n fetchMahalleList();\r\n fetchIdariMahalleList();\r\n if (applicationdata != null && applicationdata.mahaleId != null)\r\n fetchAdaList(applicationdata.mevkiId, applicationdata.mahaleId)\r\n }, [])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n const [MevkiList, setMevkiList] = useState([]);\r\n const [idariMahalle, setIdariMahalle] = useState([]);\r\n const [MahalleList, setMahalleList] = useState([]);\r\n const [AdaList, setAdaList] = useState([]);\r\n const [mahalleCoordinates, setMahalleCoordinates] = useState(null);\r\n const [userName, setuserName] = useGlobalState('userName');\r\n const [role, setRole] = useGlobalState('role');\r\n const zorunloBosBirakma = role.indexOf(UserPermConstants.Yeni_Basvuruda_Zorunlu_Alanlari_Bos_Birakabilme) == -1;\r\n const [app, setApp] = useState(null);\r\n\r\n var applicationdata = props.applicationdata;\r\n\r\n if (applicationdata.arsaSahibi == null)\r\n applicationdata.arsaSahibi = userData.name + \" \" + userData.family;\r\n if (applicationdata.arsaSahibiTC == null)\r\n applicationdata.arsaSahibiTC = userData.tc;\r\n if (applicationdata.arsaSahibiTel == null)\r\n applicationdata.arsaSahibiTel = userData.tel;\r\n\r\n const fetchSabitSoruList = () => {\r\n fetch(\"getsabitsorulist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setsabitsorulistData(value);\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked.toString() : target.value;\r\n applicationdata[target.name] = value;\r\n\r\n\r\n if (document.getElementById(\"Mahalle\") == null\r\n || document.getElementById(\"Adaparsel\") == null)\r\n return;\r\n\r\n\r\n if (target.name == \"mevki\") {\r\n var idx = document.getElementById(\"Mevki\").selectedIndex;\r\n applicationdata[target.name] = document.getElementById(\"Mevki\").options[idx].innerHTML;\r\n applicationdata.mevkiId = document.getElementById(\"Mevki\").options[idx].value;\r\n var c = document.getElementById(\"Mahalle\");\r\n c.innerHTML = \"\";\r\n for (var i = 0; i < MahalleList.length; i++) {\r\n if (value != MahalleList[i].mevkiId) continue;\r\n var opt = document.createElement('option');\r\n opt.value = MahalleList[i].id;\r\n opt.innerHTML = MahalleList[i].name;;\r\n c.appendChild(opt);\r\n }\r\n c.selectedIndex = -1;\r\n document.getElementById(\"Adaparsel\").value = \"\";\r\n }\r\n if (target.name == \"mahalle\") {\r\n var idx = document.getElementById(\"Mahalle\").selectedIndex;\r\n applicationdata[target.name] = document.getElementById(\"Mahalle\").options[idx].innerHTML;\r\n applicationdata.mahaleId = document.getElementById(\"Mahalle\").options[idx].value;\r\n document.getElementById(\"Adaparsel\").value = \"\";\r\n var mahalid = document.getElementById(\"Mahalle\").value;\r\n var mevki = document.getElementById(\"Mevki\");\r\n var mevkiid = MevkiList[0].id;\r\n if (mevki != null)\r\n mevkiid = mevki.value;\r\n fetchAdaList(mevkiid, mahalid)\r\n setMahalleCoordinates(MahalleList.find(a => a.id == applicationdata.mahaleId).koordinat)\r\n //fetchCoordinates(\"MAHALLE:\" + mahalid);\r\n }\r\n }\r\n\r\n\r\n const fetchMevkiList = () => {\r\n\r\n fetch(\"getmevkilist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n setVisible(\"mevki_snipper\", false)\r\n\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n var i = 0;\r\n var c = document.getElementById(\"Mevki\");\r\n if (c != null) {\r\n c.innerHTML = \"\";\r\n if (value.length == 1) { //for milas select milas by defult\r\n var opt = document.createElement('option');\r\n opt.value = value[i].id;\r\n opt.innerHTML = value[i].name;\r\n opt.selected = true;\r\n c.appendChild(opt);\r\n }\r\n else {\r\n for (i = 0; i < value.length; i++) {\r\n var opt = document.createElement('option');\r\n opt.value = value[i].id;\r\n opt.innerHTML = value[i].name;\r\n if (applicationdata.mevki == value[i].name) {\r\n opt.selected = true;\r\n }\r\n c.appendChild(opt);\r\n }\r\n }\r\n if (applicationdata.mevki == null && value.length > 1) c.selectedIndex = -1;\r\n\r\n }\r\n if (applicationdata.mevki == null && value.length == 1) applicationdata.mevki = value[0].name;\r\n setMevkiList(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const fetchAdaList = (mevkiId, mahalleid) => {\r\n setVisible(\"adaparsel_snipper\", true)\r\n fetch(\"getadalistbyid?mevki=\" + mevkiId + \"&mahalle=\" + mahalleid, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n setVisible(\"adaparsel_snipper\", false)\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType == null || contentType.indexOf(\"application/json\") == -1) {\r\n showErrorMessage(\"Ada/Parsel Bilgileri Alınamadı !\");\r\n return;\r\n }\r\n response.json().then(value => {\r\n var i = 0;\r\n var c = document.getElementById(\"Adaparselistesi\");\r\n c.innerHTML = \"\";\r\n for (i = 0; i < value.length; i++) {\r\n var opt = document.createElement('option');\r\n\r\n opt.value = value[i].name;\r\n opt.innerHTML = value[i].name;\r\n if (applicationdata.ada == value[i].name) {\r\n opt.selected = true;\r\n }\r\n c.appendChild(opt);\r\n }\r\n if (applicationdata.ada == null) c.selectedIndex = -1;\r\n\r\n\r\n document.getElementById(\"Adaparsel\").disabled = false;\r\n setAdaList(value)\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n const validateNumberAndForwardSlash = (event) => {\r\n var key = event.which;\r\n if (key >= 48 && key <= 57 || key == 47) {\r\n return true;\r\n } else {\r\n\r\n event.preventDefault()\r\n }\r\n }\r\n\r\n const validateSelection = (event) => {\r\n var val = event.target.value;\r\n if (isEmpty(val))\r\n return;\r\n /*if (AdaList.some(x => x.name == val) == false) {\r\n showErrorMessage(val + \" geçerli ada/parsel listesinde bulunmamaktadır.\");\r\n document.getElementById(\"Adaparsel\").value = \"\";\r\n }*/\r\n\r\n }\r\n\r\n const fetchCoordinates = (param) => {\r\n fetch(\"getcbscoordinates?param=\" + param, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n document.getElementById(\"mahalle_snipper\").hidden = true;\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.text().then(value => {\r\n setMahalleCoordinates(value)\r\n })\r\n }\r\n });\r\n }\r\n\r\n const fetchMahalleList = () => {\r\n fetch(\"getmahallelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n var mspin = document.getElementById(\"mahalle_snipper\");\r\n if (mspin != null)\r\n mspin.hidden = true;\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n var i = 0;\r\n var c = document.getElementById(\"Mahalle\");\r\n if (c != null) {\r\n c.innerHTML = \"\";\r\n for (i = 0; i < value.length; i++) {\r\n var opt = document.createElement('option');\r\n opt.value = value[i].id;\r\n opt.innerHTML = value[i].name;\r\n if (applicationdata.mahalle == value[i].name) {\r\n opt.selected = true;\r\n }\r\n c.appendChild(opt);\r\n }\r\n if (applicationdata.mahalle == null) c.selectedIndex = -1;\r\n }\r\n\r\n setMahalleList(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const fetchIdariMahalleList = () => {\r\n fetch(\"getidarimahallelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setIdariMahalle(value)\r\n })\r\n }\r\n });\r\n }\r\n\r\n const onSubmit = (e) => {\r\n if (e) e.preventDefault();\r\n document.getElementById(\"buttonSpinner\").hidden = false;\r\n fetch(\"saveapplication\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(applicationdata)\r\n }).then(async response => {\r\n document.getElementById(\"buttonSpinner\").hidden = true;\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async newapp => {\r\n if (newapp.updateCount < 0) {\r\n showErrorMessage(newapp.temp);\r\n newapp.updateCount = 0;\r\n newapp.temp = \"\";\r\n return;\r\n }\r\n if (newapp.id < 0) {\r\n newapp.id = -newapp.id;\r\n if (newapp.temp == \"10\") {\r\n newapp.temp = \"\";\r\n showConfirmMessage(\"Bu ada/parsele iliÅŸkin aynı konuda devam eden baÅŸka bir baÅŸvurunuz bulunmaktadır.\", \"BaÅŸvuruyu yapmak istediÄŸinize emin misiniz?\", \"Evet\", \"Hayır\", () => {\r\n applicationdata.temp = \"1\";\r\n onSubmit();\r\n });\r\n }\r\n else if (newapp.temp == \"00\") {\r\n newapp.temp = \"\";\r\n showConfirmMessage(\"Bu ada/parsele iliÅŸkin aynı konuda baÅŸka bir kullanıcının devam eden baÅŸvurusu bulunmaktadır.\", \"BaÅŸvuruyu yapmak istediÄŸinize emin misiniz?\", \"Evet\", \"Hayır\", () => {\r\n applicationdata.temp = \"1\";\r\n onSubmit();\r\n });\r\n // showErrorMessage(\"Bu ada/parsele iliÅŸkin aynı konuda baÅŸka bir kullanıcının devam eden baÅŸvurusu bulunmaktadır.\")\r\n }\r\n\r\n else if (newapp.temp == \"11\") {\r\n showConfirmMessage(\"Bu ada/parsele iliÅŸkin aynı konuda zaten devam eden bir baÅŸvurunuz bulunmaktadır.\", \"O baÅŸvuruya yuklensin mı?\", \"Evet\", \"Hayır\", () => {\r\n newapp.temp = \"\";\r\n props.changeComponent(<Application appData={newapp} changeComponent={props.changeComponent} />)\r\n\r\n });\r\n }\r\n else {\r\n newapp.temp = \"\";\r\n showErrorMessage(\"Bu ada/parsele iliÅŸkin aynı konuda baÅŸka bir kullanıcının devam eden baÅŸvurusu bulunmaktadır.\")\r\n }\r\n\r\n\r\n\r\n return;\r\n }\r\n\r\n if (newapp.id == 0) { //keep this before next if\r\n showErrorMessage(\"Bu konuma iliÅŸkin \" + applicationdata.basvuruTipi +\r\n \" baÅŸvurusunu yapmadan önce \" + newapp.appData +\r\n \" baÅŸvuru sürecinizin onaylanarak tamamlanmasını beklemelisiniz.\");\r\n return;\r\n }\r\n\r\n /* if (newapp.ada == null && newapp.mevki == null) {\r\n showErrorMessage(\"Bu konuma iliÅŸkin \" + newapp.basvuruYapan + \" kullanıcısının \" + newapp.id + \" numaralı baÅŸvurusu bulunmaktadır. BaÅŸvuruya devam edebilmeniz için \" + newapp.id + \" numaralı baÅŸvuru ilgili kullanıcı tarafından sizinle paylaşılmalıdır.\");\r\n return;\r\n }*/\r\n\r\n applicationdata.id = newapp.id;\r\n applicationdata.basvuruDurumu = newapp.basvuruDurumu; //this list must match the controller save list\r\n applicationdata.basvuruTarihi = newapp.basvuruTarihi;\r\n applicationdata.securityToken = newapp.securityToken;\r\n applicationdata.basvuruYapan = newapp.basvuruYapan;\r\n applicationdata.updateCount = newapp.updateCount;\r\n // if (window.selectedAppType.tasinamazSahibiAktif == true || window.selectedAppType.muellifAktif == true)\r\n props.changeComponent(<Apply3 applicationdata={applicationdata} changeComponent={props.changeComponent} />)\r\n // else\r\n // props.changeComponent(<Apply4 applicationdata={applicationdata} changeComponent={props.changeComponent} />)\r\n });\r\n }\r\n });\r\n }\r\n\r\n const setLatLang = (myLatlng) => {\r\n document.getElementById(\"Enlem\").value = myLatlng.lat();\r\n document.getElementById(\"Boylam\").value = myLatlng.lng();\r\n\r\n applicationdata[\"enlem\"] = document.getElementById(\"Enlem\").value;\r\n applicationdata[\"boylam\"] = document.getElementById(\"Boylam\").value;\r\n }\r\n\r\n const handleAdaChane = (e) => {\r\n handleInputChange(e);\r\n var ada = AdaList.find(x => x.name == e.target.value);\r\n\r\n if (!isEmpty(ada)) {\r\n // handleInputChange(e);\r\n setMahalleCoordinates(ada.koordinat)\r\n // fetchCoordinates(\"ADA:\" + ada.id)\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n\r\n return <div >\r\n\r\n <div className=\"row\" >\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 1. BaÅŸvuru Tipi\r\n\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 text-primary\" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 2. Konum\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 3. Müellifler\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 4. DiÄŸer Sorular\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 5. Dosyalar\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 6. Onay\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row m-3\" >\r\n <div className=\"col-12\" >\r\n <div className=\" align-items-center justify-content-center p-1\" >\r\n <form action=\"submitapplication\" className=\"mt-3\" method=\"POST\" onSubmit={onSubmit}>\r\n\r\n <div className=\"mt-2 row p-2 rounded-5\" >\r\n {window.selectedAppType.mevkiAktif == true && <div className=\"col-12 col-md-4\">\r\n <label htmlFor=\"Mahalle\" className=\"form-label\">Mevki {window.selectedAppType.mevkiZorunlu == true ? '*' : ''}\r\n <div class=\"spinner-border spinner-border-sm\" id=\"mevki_snipper\"></div>\r\n </label>\r\n <select className=\"form-select form-select-sm\" id=\"Mevki\" name=\"mevki\" required={window.selectedAppType.mevkiZorunlu == true && zorunloBosBirakma} onChange={handleInputChange} >\r\n\r\n </select>\r\n </div>}\r\n\r\n {window.selectedAppType.mahalleAktif == true && <div className=\"col-12 col-md-4\">\r\n <label htmlFor=\"Mahalle\" className=\"form-label\">{idariMahalle.length > 0 ? \"Tapu \" : \"\"} Mahalle {window.selectedAppType.mahalleZorunlu == true ? '*' : ''}\r\n <div class=\"spinner-border spinner-border-sm\" id=\"mahalle_snipper\"></div>\r\n </label>\r\n <select className=\"form-select form-select-sm\" id=\"Mahalle\" name=\"mahalle\" required={window.selectedAppType.mahalleZorunlu == true && zorunloBosBirakma} onChange={handleInputChange} >\r\n\r\n </select>\r\n </div>}\r\n\r\n\r\n {window.selectedAppType.adaAktif == true && <div className=\"col-12 col-md-4\">\r\n <label htmlFor=\"Ada\" className=\"form-label\">Ada/Parsel {window.selectedAppType.adaZorunlu == true ? '*' : ''}\r\n <div class=\"spinner-border spinner-border-sm\" id=\"adaparsel_snipper\" hidden></div>\r\n </label>\r\n <input disabled autocomplete={true} list=\"Adaparselistesi\" className=\"form-control form-control-sm\" required={window.selectedAppType.adaZorunlu == true && zorunloBosBirakma} id=\"Adaparsel\" placeholder=\"Ada Parsel\" name=\"ada\" defaultValue={applicationdata.ada} onChange={handleAdaChane} onKeyPress={validateNumberAndForwardSlash} onBlur={validateSelection} />\r\n <datalist id=\"Adaparselistesi\">fill by fetchsureclist</datalist>\r\n </div>}\r\n\r\n </div>\r\n\r\n\r\n <div className=\"row\" >\r\n <div className=\"col-12 col-md-4\">\r\n {window.selectedAppType.idariMahalleAktif == true && idariMahalle.length > 0 && <div className=\"mt-1 row p-2 rounded-5\" >\r\n <div className=\"col-12 \">\r\n <label htmlFor=\"IdariMahalle\" className=\"form-label\">Idari Mahalle </label>{window.selectedAppType.idariMahalleZorunlu == true ? '*' : ''}\r\n < select className=\"form-select form-select-sm\" id=\"IdariMahalle\" name=\"idariMahalle\" required={window.selectedAppType.idariMahalleZorunlu == true && zorunloBosBirakma} onChange={handleInputChange} defaultValue={applicationdata.idariMahalle}>\r\n <option value=\"\"></option>\r\n {idariMahalle.map(x => <option value={x.name}>{x.name}</option>)}\r\n </select>\r\n </div>\r\n </div>}\r\n\r\n {window.selectedAppType.sokakAktif == true && <div className=\"mt-1 row p-2 rounded-5\" >\r\n\r\n <div className=\"col-12 \">\r\n <label htmlFor=\"Sokak\" className=\"form-label\">Sokak {window.selectedAppType.sokakZorunlu == true ? '*' : ''}</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"Sokak\" required={window.selectedAppType.sokakZorunlu == true && zorunloBosBirakma} placeholder=\"Sokak\" name=\"sokak\" onChange={handleInputChange} defaultValue={applicationdata.sokak} />\r\n </div>\r\n\r\n </div>}\r\n\r\n\r\n {window.selectedAppType.noAktif == true && <div className=\"mt-1 row p-2 rounded-5\" >\r\n <div className=\"col-12 \">\r\n <label htmlFor=\"No\" className=\"form-label\">No {window.selectedAppType.noZorunlu == true ? '*' : ''}</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"No\" required={window.selectedAppType.noZorunlu == true && zorunloBosBirakma} placeholder=\"No\" name=\"no\" onChange={handleInputChange} defaultValue={applicationdata.no} />\r\n </div>\r\n\r\n </div>}\r\n\r\n {window.selectedAppType.adaAktif == true && <div className=\"mt-1 row p-2 rounded-5\" >\r\n <div className=\"col-12 \">\r\n <label htmlFor=\"Enlem\" className=\"form-label\">Enlem {window.selectedAppType.adaZorunlu == true ? '*' : ''}</label>{/*required={window.selectedAppType.adaZorunlu == true && zorunloBosBirakma}*/}\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"Enlem\" placeholder=\"Enlem (Harita'dan seçebilrsiniz)\" name=\"enlem\" onChange={handleInputChange} defaultValue={applicationdata.enlem} />\r\n </div>\r\n\r\n </div>}\r\n {window.selectedAppType.adaAktif == true && <div className=\"mt-1 row p-2 rounded-5\" >\r\n <div className=\"col-12 \">\r\n <label htmlFor=\"Boylam\" className=\"form-label\">Boylam {window.selectedAppType.adaZorunlu == true ? '*' : ''}</label>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"Boylam\" placeholder=\"Boylam (Harita'dan seçebilrsiniz)\" name=\"boylam\" onChange={handleInputChange} defaultValue={applicationdata.boylam} />\r\n </div>\r\n\r\n </div>}\r\n </div>\r\n {window.selectedAppType.adaAktif == true && <div className=\"col-12 col-md-8 pt-4 ps-3 pe-3 mt-3\" style={{ \"min-height\": \"250px\" }} >\r\n <GMapLatLang appData={applicationdata} setLatLang={setLatLang} polygon={mahalleCoordinates} />\r\n </div>}\r\n </div>\r\n\r\n\r\n <div className=\"row mt-3 border-top pt-2\" >\r\n <div className=\"col-6 text-start\">\r\n {/* <button type=\"button\" className=\"btn btn-sm btn-primary mb-2 \" onClick={() => { props.changeComponent(<Apply1 applicationdata={applicationdata} changeComponent={props.changeComponent} />) }}>Geri Dön</button>*/}\r\n </div>\r\n\r\n <div className=\"col-6 text-end\">\r\n <button type=\"submit\" name=\"actionSave\" value=\"Save\" className=\"btn btn-sm btn-primary mb-2 \">\r\n Kaydet ve Devam Et\r\n <span class=\"ms-1 spinner-border spinner-border-sm\" id=\"buttonSpinner\" hidden></span>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n </form>\r\n </div>\r\n </div>\r\n </div >\r\n </div >\r\n\r\n}\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport 'bootstrap/dist/js/bootstrap.min.js'\r\n\r\nimport { useGlobalState, isEmpty, showErrorMessage } from '../GlobalState.js';\r\nimport Apply2 from \"./Apply2.js\";\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport Apply3 from './Apply3.js';\r\nimport Apply4 from './Apply4.js';\r\nimport Select from 'react-select'\r\nimport { useRef } from \"react\";\r\n\r\nexport default function Apply1(props) {\r\n\r\n var [globalData, setGlobalData] = useGlobalState('globalData');\r\n\r\n\r\n\r\n const selectRef = useRef();\r\n\r\n const [appTypeOptions, setappTypeOptions] = useState([]);\r\n\r\n const [appTypeGroups, setappTypeGroups] = useState([]);\r\n const [appTypes, setappTypes] = useState([]);\r\n const [userData, setuserData] = useGlobalState('userData');\r\n\r\n const [userName, setuserName] = useGlobalState('userName');\r\n const [role, setRole] = useGlobalState('role');\r\n var applicationdata = props.appData != null ? props.appData : {};\r\n\r\n\r\n useEffect(() => {\r\n if ((userData != null && userData.edveletConfirmed == true) || role.indexOf(UserPermConstants.Edevletsiz_Basvuru) != -1)\r\n getAppTypes();\r\n\r\n\r\n }, [])\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked.toString() : target.value;\r\n applicationdata[target.name] = value;\r\n }\r\n\r\n const handleGroupChange = (event) => {\r\n const target = event.target;\r\n const value = target.value;\r\n var apptypesingrup=[]\r\n\r\n if (value == -1) {\r\n setappTypeOptions([])\r\n return;\r\n }\r\n for (var i = 0; i < appTypes.length; i++) {\r\n if (appTypes[i].grup != \"\" && appTypes[i].grup != null && appTypes[i].grup != value)\r\n continue;\r\n if (appTypes[i].active == true && (appTypes[i].hide != true || role.indexOf(UserPermConstants.Gizli_Basvuru_Gorme) > -1)) {\r\n apptypesingrup.push({ label: appTypes[i].name, value: appTypes[i].name })\r\n }\r\n }\r\n setappTypeOptions(apptypesingrup)\r\n }\r\n\r\n const fetchAppTypeGrupList = () => {\r\n fetch(\"apptypegroupslist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n var c = document.getElementById(\"basvurutipleri_snipper\");\r\n if (c != null)\r\n c.hidden = true;\r\n setappTypeGroups(value);\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n const getAppTypes = () => {\r\n fetch(\"denetimlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n value = value.filter(x => x.isadimi != true);\r\n\r\n if (role.indexOf(UserPermConstants.Gizli_Basvuru_Gorme) > -1)\r\n setappTypes(value);\r\n else\r\n setappTypes(value.filter(x => x.hide != true));\r\n fetchAppTypeGrupList();\r\n })\r\n }\r\n });\r\n }\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n var check1 = document.getElementById(\"applyAgrement\");\r\n var check2 = document.getElementById(\"applyKVKK\");\r\n if (check1 != null && check1.checked == false) {\r\n showErrorMessage(\"BaÅŸvuru sözleÅŸmesi kabul edilmelidir.\");\r\n return;\r\n }\r\n if (check2 != null && check2.checked == false) {\r\n showErrorMessage(\"KVKK bilgilendirilmesi kabul edilmelidir.\");\r\n return;\r\n }\r\n\r\n applicationdata.basvuruYapan = userName;\r\n window.selectedAppType = appTypes.find(x => applicationdata.basvuruTipi == x.name);\r\n props.changeComponent(<Apply2 applicationdata={applicationdata} changeComponent={props.changeComponent} />)\r\n /* \r\n \r\n else if (applicationdata.appData)\r\n props.changeComponent(<Apply4 applicationdata={applicationdata} changeComponent={props.changeComponent} />)*/\r\n\r\n }\r\n\r\n if (userData == null) {\r\n return <><div className=\"row mt-3\" >\r\n <div className=\"col-12 text-danger text-center \" >\r\n Kullanıcı bilgilerine eriÅŸilemedi.\r\n </div>\r\n </div>\r\n </>\r\n }\r\n\r\n\r\n if (userData.edveletConfirmed != true && role.indexOf(UserPermConstants.Edevletsiz_Basvuru) == -1) {\r\n return <><div className=\"row mt-3\" >\r\n <div className=\"col-12 text-danger text-center \" >\r\n BaÅŸvuru yapabilmek için e-Devlet Kapısı üzerinden giriÅŸ yapılmalıdır.\r\n </div>\r\n </div>\r\n\r\n <div class=\"row mt-5\">\r\n <div class=\"col-md-12 col-lg-4\"> </div>\r\n <div className=\"col-12 col-lg-4 text-center \">\r\n <a className=\"btn btn-sm btn-danger text-decoration-none w-100 rounded-3 mt-3\" href=\"edevletlogin\"> <img src={require('../Dashboard/edevletlogo.png').default} style={{ width: \"28px\", height: \"28px\" }} /> <b>e-Devlet Kapısı ile GiriÅŸ Yap</b></a>\r\n </div>\r\n </div>\r\n </>\r\n }\r\n\r\n const onChange = (option) => {\r\n if (option == null) {\r\n applicationdata.basvuruTipi = null;\r\n return;\r\n }\r\n applicationdata.basvuruTipi = option.value;\r\n\r\n };\r\n\r\n if (role.indexOf(UserPermConstants.Yeni_Basvuru_Yapabilme) == -1) {\r\n return <><div className=\"row mt-3\" >\r\n <div className=\"col-12 text-danger text-center \" >\r\n BaÅŸvuru yapma yetniniz bulunmamaktadır.\r\n </div>\r\n </div>\r\n </>\r\n }\r\n\r\n return <div >\r\n <div className=\"row\" >\r\n <div className=\" col-md-2 col-12 text-primary \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 1. BaÅŸvuru Tipi\r\n\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 2. Konum\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 3. Müellifler\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 4. DiÄŸer Sorular\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 5. Dosyalar\r\n </div>\r\n </div>\r\n <div className=\" col-md-2 col-12 \" >\r\n <div className=\" w-75 fw-bold border-bottom border-3 \" >\r\n 6. Onay\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"row m-3\" >\r\n <div className=\"col-12\" >\r\n <div className=\" align-items-center justify-content-center p-1\" >\r\n <form action=\"submitapplication\" className=\"mt-3\" method=\"POST\" onSubmit={onSubmit}>\r\n\r\n <div>\r\n <div className=\"mt-1 row \" >\r\n <div className=\"col-12 col-md-4\">\r\n <label className=\"form-label\">Basvuru Grubu *\r\n <div class=\"spinner-border spinner-border-sm ps-1\" id=\"basvurutipleri_snipper\"></div>\r\n\r\n </label>\r\n <select className=\"form-select form-select-sm\" name=\"grup\" required={true} onChange={handleGroupChange} >\r\n <option value={-1}> </option>\r\n {appTypeGroups.map(x => <option value={x.id}>{x.name}</option>)}\r\n </select>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n <div className=\"mt-4 row mb-3\" >\r\n <div className=\"col-12 col-md-4\">\r\n <label className=\"form-label\">BaÅŸvuru Tipi *\r\n\r\n \r\n\r\n </label>\r\n <Select\r\n required={true}\r\n ref={selectRef}\r\n options={appTypeOptions}\r\n onChange={onChange}\r\n isClearable={true}\r\n noOptionsMessage={() =>\"Henüz seçim yapılmadı\" }\r\n placeholder=\"Seçiniz\"\r\n />\r\n\r\n </div>\r\n </div>\r\n\r\n {globalData != null && <div className=\"mt-4\">\r\n {(isEmpty(globalData.applyKVKK) == false || isEmpty(globalData.applyKVKKFile) == false) && <div className=\" row mt-2\" >\r\n <div className=\"col-12\">\r\n <input class=\"form-check-input me-1\" type=\"checkbox\" id=\"applyKVKK\" name=\"applyKVKK\" />\r\n {isEmpty(globalData.applyKVKK) == false && <label className=\"form-check-label me-1\" dangerouslySetInnerHTML={{ __html: globalData.applyKVKK }}></label>}\r\n {isEmpty(globalData.applyKVKKFile) == false &&\r\n <a className=\"text-decoration-none\" href='getgeneralfile?id=applyKVKKFile' download={globalData.applyKVKKFile}> {globalData.applyKVKKFile} </a>\r\n }\r\n\r\n </div>\r\n </div>}\r\n\r\n {(isEmpty(globalData.applyAgrement) == false || isEmpty(globalData.applyAgrementFile) == false) && < div className=\" row mt-3\">\r\n <div className=\"col-12\">\r\n <input class=\"form-check-input me-1\" type=\"checkbox\" id=\"applyAgrement\" name=\"applyAgrement\" />\r\n {isEmpty(globalData.applyAgrement) == false && <label className=\"form-check-label me-1\" dangerouslySetInnerHTML={{ __html: globalData.applyAgrement }}></label>}\r\n {isEmpty(globalData.applyAgrementFile) == false &&\r\n <a className=\"text-decoration-none\" href='getgeneralfile?id=applyAgrementFile' download={globalData.applyAgrementFile}> {globalData.applyAgrementFile} </a>\r\n }\r\n\r\n </div>\r\n </div>}\r\n </div>}\r\n\r\n\r\n\r\n <div className=\"row mt-3 border-top pt-2\" >\r\n <div className=\"col-12 col-md-12 text-end\">\r\n <button type=\"submit\" name=\"actionSave\" value=\"Save\" className=\"btn btn-sm btn-primary mb-2 \">Devam</button>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport Application from \"./Application.js\"\r\nimport SharedUsersPanel from './SharedUsersPanel.js';\r\nimport ApplicationListCardView from './ApplicationListCardView.js';\r\nimport { useGlobalState } from '../GlobalState.js';\r\n\r\nexport default function UserStatisticCard(props) {\r\n var istats = props.Statistic;\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [userName, setUserName] = useGlobalState('userName');\r\n useEffect(() => {\r\n\r\n }, [])\r\n\r\n\r\n\r\n\r\n\r\n const allowDrop = (event) => {\r\n event.preventDefault();\r\n }\r\n\r\n const drop = (event) => {\r\n event.preventDefault();\r\n\r\n }\r\n\r\n var dragCount = 0;\r\n const dragleave = (event) => {\r\n }\r\n const enter = (event) => {\r\n }\r\n\r\n return <div onDragOver={allowDrop} onDrop={drop} onDragEnter={enter} onDragLeave={dragleave}>\r\n\r\n <div className=\"m-1 ms-2 me-2 p-2 pt-2 pb-2 border border-rounded rounded-3 bg-white\" >\r\n\r\n <div className=\"d-inline fw-bold d-block rounded-3\" style={{ \"background-color\": props.color + \"18\" }}>\r\n <a class=\"text-decoration-none\" data-bs-toggle=\"collapse\" href={\"#Userstatistic\" + props.userid} role=\"button\" aria-expanded=\"false\" aria-controls={\"Userstatistic\" + props.userid}>\r\n\r\n <img className=\"rounded-circle me-1\" style={{ width: \"24px\", height: \"24px\" }} src={\"/getuserpic?user=Ä°\"} /> Ä°STATÄ°STÄ°K\r\n </a>\r\n </div>\r\n\r\n\r\n <div className=\"mt-1 row text-start collapse multi-collapse pb-0 mb-0\" id={\"Userstatistic\" + props.userid}>\r\n\r\n\r\n <div className=\"col-12 col-md-6 \"><span className=\"text-muted\">Kontrol </span>: <span className=\"text-muted fw-bold\">{istats[\"Kontrol_Ediliyor\"]}</span></div>\r\n <div className=\"col-12 col-md-6\"><span className=\"text-muted\">Sırada </span>: <span className=\"text-muted fw-bold\">{istats[\"Sirada_Bekliyor\"]}</span></div>\r\n <div className=\"col-12 col-md-6\"><span className=\"text-muted\">Düzeltme </span>: <span className=\"text-muted fw-bold\">{istats[\"Duzeltme_Bekleniyor\"]}</span></div>\r\n <div className=\"col-12 col-md-6\" title=\"Zamandan bağımsız Düzeltme Ä°ste + Kontrolü Tamamla\"><span className=\"text-muted\">Toplam </span>: <span className=\"text-muted fw-bold\">{istats[\"Toplam\"]} </span> <sup><i class=\"fa fa-info-circle text-primary\" style={{ \"font-size\": \"14px\" }} ></i></sup></div>\r\n\r\n <div className=\"col-12 col-md-6\" title=\"Haftalık Ortalama. Son 30 günde (Düzeltme Ä°ste + Kontrolü Tamamla)/4\"><span className=\"text-muted\">Son 30 </span> : <span className=\"text-muted fw-bold\">{(istats[\"Sonay\"] / 4).toFixed(1)} </span> <sup><i class=\"fa fa-info-circle text-primary\" style={{ \"font-size\": \"14px\" }}></i></sup></div>\r\n <div className=\"col-12 col-md-6\" title=\"Haftalık Ortalama. Son 365 günde (Düzeltme Ä°ste + Kontrolü Tamamla)/52\"><span className=\"text-muted\">Son 365 </span>: <span className=\"text-muted fw-bold\">{(istats[\"Sonyil\"] / 52).toFixed(1)} </span> <sup><i class=\"fa fa-info-circle text-primary\" style={{ \"font-size\": \"14px\" }}></i></sup></div>\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n}\r\n","import React, { Component } from 'react';\r\nimport AppCard from './AppCard.js';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport $ from 'jquery';\r\nimport { passFilter, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport UserStatisticCard from './UserStatisticCard.js';\r\n\r\nexport default class ApplicationListCardView extends Component {\r\n sortField = \"\";\r\n\r\n\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.userName = props.userName;\r\n this.role = props.role;\r\n this.state = {\r\n applist: null, colnames: [\"id\", \"basvuruTarihi\", \"basvuruTipi\", \"ada\", \"mahalle\", \"mevki\", \"mimar\"]\r\n };\r\n this.getApplicationList = this.getApplicationList.bind(this);\r\n this.getUserApps = this.getUserApps.bind(this);\r\n this.refreshList = this.refreshList.bind(this);\r\n this.generateOpenList = this.generateOpenList.bind(this);\r\n this.renderToCards = this.renderToCards.bind(this);\r\n this.fetchDenetimList = this.fetchDenetimList.bind(this);\r\n this.getAppTypes = this.getAppTypes.bind(this);\r\n this.getdenetimpermsraw = this.getdenetimpermsraw.bind(this);\r\n\r\n this.getSablon = this.getSablon.bind(this)\r\n this.filterTable = this.filterTable.bind(this)\r\n this.handleSablonChange = this.handleSablonChange.bind(this)\r\n this.handleDenetimChange = this.handleDenetimChange.bind(this)\r\n this.getKontrolorName = this.getKontrolorName.bind(this)\r\n this.generateAyYil = this.generateAyYil.bind(this)\r\n \r\n\r\n this.filter = null;\r\n this.mysablons = null;\r\n this.changeComponent = props.changeComponent;\r\n this.userApps = null;\r\n this.kabulPerms = null;\r\n\r\n this.selectedDenetim = -1;\r\n this.appTypes = [];\r\n this.userDenetimPermissions = null\r\n this.denetimlist = null;\r\n this.bordercolors = [\"#50cc88\", \"#009cf7\", \"#ffc800\", \"#f1416d\"];\r\n\r\n this.droppedUserName = null;\r\n }\r\n\r\n refreshList(data) {\r\n this.setState({\r\n applist: data\r\n })\r\n }\r\n componentDidMount() {\r\n this.getSablon();\r\n this.fetchDenetimList();\r\n this.getdenetimpermsraw();\r\n this.getAppTypes();\r\n this.getUserApps();\r\n //this.getApplicationList();\r\n this.fetchUsersWithPermision();\r\n this.fetchkabullistperm();\r\n }\r\n\r\n fetchkabullistperm() {\r\n fetch(\"kabullistpermsnames\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(this.userName)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n \r\n }\r\n else {\r\n response.json().then(value => {\r\n this.kabulPerms = value;\r\n })\r\n }\r\n });\r\n }\r\n\r\n fetchUsersWithPermision = () => {\r\n fetch(\"userswithperm\", {\r\n method: 'POST',\r\n headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' },\r\n body: JSON.stringify(\"\")\r\n }).then(async response => {\r\n if (!response.ok) {\r\n\r\n }\r\n else {\r\n response.json().then(async data => {\r\n this.userDenetimPermissions = data;\r\n });\r\n }\r\n });\r\n\r\n }\r\n\r\n myCompare = (a, b) => {\r\n if (a[this.sortField] < b[this.sortField]) {\r\n return -1;\r\n }\r\n if (a[this.sortField] > b[this.sortField]) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n\r\n\r\n\r\n myCompareBasvuruTipi = (a, b) => {\r\n var s1 = a[this.sortField];\r\n var s2 = b[this.sortField];\r\n if (s1 == null) return -1;\r\n if (s2 == null) return 1;\r\n\r\n var sa = s1.replaceAll('\"name\":', \"\").replaceAll(']', \"\").replaceAll('[', \"\").replaceAll('{', \"\").replaceAll('}', \"\").replaceAll('\"', \"\");\r\n var sb = s2.replaceAll('\"name\":', \"\").replaceAll(']', \"\").replaceAll('[', \"\").replaceAll('{', \"\").replaceAll('}', \"\").replaceAll('\"', \"\");\r\n\r\n if (sa < sb) {\r\n return -1;\r\n }\r\n if (sa > sb) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n\r\n sortList = (fildname) => {\r\n this.sortField = fildname;\r\n var temp = this.state.applist;\r\n if (fildname.toUpperCase() == \"BASVURUTIPI\")\r\n temp.sort(this.myCompareBasvuruTipi);\r\n else\r\n temp.sort(this.myCompare);\r\n this.setState({ applist: temp });\r\n }\r\n\r\n\r\n\r\n fetchDenetimList() {\r\n fetch(\"denetimlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n showSuccessMessage(response.statusText)\r\n })\r\n }\r\n else {\r\n response.json().then(data => {\r\n\r\n this.denetimlist = data;\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n getSablon() {\r\n fetch(\"getmysablon\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n const error = response.statusText;\r\n console.log(error);\r\n\r\n }\r\n else {\r\n\r\n response.json().then(async data => {\r\n data = data.filter(r => r.forTableView == true);\r\n this.mysablons = data;\r\n if (data != null && data.length > 0) {\r\n data = this.mysablons[0];\r\n if (window.localStorage.getItem('sablonisyuku') != null && this.mysablons[window.localStorage.getItem('sablonisyuku')] != null)\r\n data = this.mysablons[window.localStorage.getItem('sablonisyuku')];\r\n if (data.filter != null)\r\n this.filter = data.filter;\r\n if (data.colNames != null && data.colNames.length > 0) {\r\n var d = data.colNames.replaceAll('\"', \"\");\r\n if (d.length > 0)\r\n this.setState({ ...this.state, colnames: d.split(\",\") });\r\n }\r\n }\r\n\r\n\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n getUserApps() {\r\n fetch(\"getuserapps\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n showErrorMessage(response.statusText)\r\n })\r\n }\r\n else {\r\n response.json().then(value => {\r\n this.userApps = JSON.parse(value);\r\n this.getApplicationList()\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n getdenetimpermsraw() {\r\n fetch(\"getdenetimpermsraw\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n showErrorMessage(response.statusText)\r\n })\r\n }\r\n else {\r\n response.json().then(value => {\r\n this.denetimperms = value;\r\n })\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n handleDenetimChange() {\r\n this.selectedDenetim = document.getElementById(\"denetimSelect\").value;\r\n this.setState({ ...this.state, selectedDenetim: this.selectedDenetim });\r\n }\r\n\r\n handleSablonChange(sab) {\r\n\r\n window.localStorage.setItem('sablonisyuku', sab);\r\n var data = this.mysablons[sab];\r\n if (data.filter != null)\r\n this.filter = data.filter;\r\n if (data.colNames != null && data.colNames.length > 0) {\r\n var d = data.colNames.replaceAll('\"', \"\");\r\n if (d.length > 0)\r\n this.setState({ ...this.state, colnames: d.split(\",\") });\r\n }\r\n }\r\n\r\n\r\n appsauthorlist = (applist) => {\r\n var ids = applist.map(x => x.id).join();\r\n fetch(\"appsauthorlist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(ids)\r\n\r\n }).then(async response => {\r\n if (!response.ok) {\r\n }\r\n else {\r\n response.json().then(async data => {\r\n applist.forEach((k) => { k.müellif = \"\" });\r\n data.forEach((k) => { applist.find(x => x.id == k.appID).müellif += k.userName + \"(\" + k.muellifType + \") \" });\r\n\r\n this.userApps.forEach((k) => { k.müellif = \"\" });\r\n data.forEach((k) => { var r = this.userApps.find(x => x.id == k.appID); if (r) r.müellif += k.userName + \"(\" + k.muellifType + \") \" });\r\n\r\n this.setState({ ...this.state, applist: applist });\r\n });\r\n }\r\n });\r\n }\r\n\r\n getcontrollerlist = (applist) => {\r\n var ids = applist.map(x => x.id).join();\r\n fetch(\"getcontrollerlist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(ids)\r\n\r\n }).then(async response => {\r\n if (!response.ok) {\r\n }\r\n else {\r\n response.json().then(async data => {\r\n try {\r\n data = JSON.parse(data)\r\n applist.forEach((k) => { k.kontrolor = \"\" });\r\n this.userApps.forEach((k) => { k.kontrolor = \"\" });\r\n\r\n\r\n data.forEach((k) => {\r\n if (k.id == k.activeDenetim) {\r\n applist.find(x => x.id == k.appID).kontrolor = k.userName\r\n applist.find(x => x.id == k.appID).kontrolorNameFamily = k.Name + \" \" + k.Family;\r\n this.userApps.find(x => x.appID == k.appID).kontrolor = k.Name + \" \" + k.Family;\r\n this.userApps.find(x => x.appID == k.appID).kontrolorNameFamily = k.Name + \" \" + k.Family;\r\n }\r\n\r\n });\r\n\r\n applist.forEach((k) => { k.tümKontrolorler = \"\" });\r\n this.userApps.forEach((k) => { k.tümKontrolorler = \"\" });\r\n data.forEach((k) => {\r\n if (k.id == k.activeDenetim) {\r\n var a = applist.find(x => x.id == k.appID);\r\n if (a != null) {\r\n if (a.tümKontrolorler != null && a.tümKontrolorler.length > 0)\r\n a.tümKontrolorler += \", \";\r\n a.tümKontrolorler += k.name + \" \" + k.family;\r\n }\r\n if (a != null) {\r\n\r\n a = this.userApps.find(x => x.appID == k.appID);\r\n if (a.tümKontrolorler != null && a.tümKontrolorler.length > 0)\r\n a.tümKontrolorler += \", \";\r\n a.tümKontrolorler += k.name + \" \" + k.family;\r\n }\r\n }\r\n });\r\n\r\n this.setState({ ...this.state, applist: applist });\r\n this.appsauthorlist(applist)\r\n }\r\n catch(error){\r\n this.setState({ ...this.state, applist: [] });\r\n \r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n getApplicationList() {\r\n fetch(\"applicationlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n const error = response.statusText;\r\n console.log(error);\r\n this.setState({ status: response.statusText })\r\n }\r\n else {\r\n response.json().then(async data => {\r\n var notremoved = data.filter(x => x.removed != true).sort((a, b) => a.basvuruTarihi<b.basvuruTarihi);\r\n this.getcontrollerlist(notremoved);\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n getAppTypes() {\r\n\r\n fetch(\"sureclist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n showErrorMessage(response.statusText)\r\n })\r\n }\r\n else {\r\n response.json().then(value => {\r\n this.appTypes = value;\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n filterTable(event) {\r\n const target = event.target;\r\n const value = target.value.toLowerCase();\r\n $(\"#myTable td.align-top div.border\").filter(function () {\r\n var keywords = value.split(\" \");\r\n for (let index = 0; index < keywords.length; ++index)\r\n if ($(this).text().toLowerCase().indexOf(keywords[index]) == -1)\r\n return $(this).toggle(false);\r\n return $(this).toggle(true);\r\n });\r\n }\r\n\r\n\r\n\r\n generateAyYil(currentUser, istatistic,tarih) {\r\n istatistic[currentUser].Toplam++;\r\n if (tarih == null) {\r\n //istatistic[currentUser].Sonay++;\r\n //istatistic[currentUser].Sonyil++;\r\n return;\r\n }\r\n\r\n else {\r\n var h = new Date(tarih);\r\n var diffTime = Date.now() - h\r\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24)) + 1;\r\n if (diffDays < 30) {\r\n istatistic[currentUser].Sonay++;\r\n }\r\n if (diffDays < 365) {\r\n istatistic[currentUser].Sonyil++;\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n generateOpenList(data, users) {\r\n var appglist = [];\r\n appglist.push([]); \r\n var istatistic = [];\r\n\r\n data = data.filter(apprec => passFilter(apprec, this.filter, this.userName) == true)\r\n\r\n var filteredUserApps = this.userApps.filter(rec => rec.deliverDate != null && rec.deliverDate != \"\" && rec.Completed == null)\r\n filteredUserApps = filteredUserApps.filter(apprec => passFilter(apprec, this.filter, this.userName, this.kabulPerms) == true)\r\n if (this.selectedDenetim != -1)\r\n filteredUserApps = filteredUserApps.filter(rec => rec.denetimID == null || rec.denetimID == this.selectedDenetim)\r\n\r\n\r\n\r\n for (var i = 0; i < data.length; i++) {\r\n if (data[i].basvuruDurumu == UserPermConstants.Basvuru_Durumu_Havale_Bekliyor) {\r\n if (data[i].basvuruTipi == null || this.selectedDenetim == -1 || data[i].basvuruTipi == this.denetimlist.find(d => d.id == this.selectedDenetim).name)\r\n appglist[0].push(data[i]);\r\n }\r\n }\r\n\r\n for (var j = 0; j < users.length; j++) {\r\n appglist.push([])\r\n var currentUser = users[j]\r\n\r\n if (istatistic[currentUser] == null) {\r\n istatistic[currentUser] = { \"Gunluk_Ortalama\": 0, \"Kontrol_Ediliyor\": 0, \"Sirada_Bekliyor\": 0, \"Duzeltme_Bekleniyor\": 0, \"Sonay\": 0, \"Sonyil\":0,\"Toplam\":0 };\r\n }\r\n for (var i = 0; i < filteredUserApps.length; i++) {\r\n if (currentUser != filteredUserApps[i].userName)\r\n continue;\r\n var pass = false;\r\n\r\n\r\n\r\n if ((filteredUserApps[i].basvuruDurumu == UserPermConstants.Basvuru_Durumu_Kontrol_Ediliyor ||\r\n filteredUserApps[i].basvuruDurumu == UserPermConstants.Basvuru_Durumu_Kontrol_Sirada_Bekliyor) \r\n ) {\r\n if (filteredUserApps[i].Started != null && filteredUserApps[i].Started != \"\") {\r\n if (filteredUserApps[i].Completed == null || filteredUserApps[i].Completed == \"\") {\r\n istatistic[currentUser].Kontrol_Ediliyor++;\r\n pass = true;\r\n }\r\n\r\n }\r\n else {\r\n istatistic[currentUser].Sirada_Bekliyor++;\r\n pass = true;\r\n }\r\n \r\n }\r\n if (filteredUserApps[i].basvuruDurumu == UserPermConstants.Basvuru_Durumu_Kontrol_Tamamlandi\r\n || filteredUserApps[i].basvuruDurumu == UserPermConstants.Basvuru_Durumu_Ruhsat_Verildi\r\n || filteredUserApps[i].basvuruDurumu == UserPermConstants.Basvuru_Durumu_Iade_Edildi\r\n || filteredUserApps[i].basvuruDurumu == UserPermConstants.Basvuru_Durumu_Onay_Verildi\r\n ) {\r\n \r\n this.generateAyYil(currentUser, istatistic, filteredUserApps[i].deliverDate)\r\n\r\n }\r\n if (filteredUserApps[i].basvuruDurumu == UserPermConstants.Basvuru_Durumu_Duzeltme_Bekleniyor) {\r\n if (filteredUserApps[i].Completed == null || filteredUserApps[i].Completed == \"\") {\r\n\r\n this.generateAyYil(currentUser, istatistic, filteredUserApps[i].sonDuzeltmeTarihi)\r\n istatistic[currentUser].Duzeltme_Bekleniyor++;\r\n pass = true;\r\n \r\n }\r\n\r\n }\r\n if (pass == true)\r\n appglist[j + 1].push(filteredUserApps[i]);\r\n }\r\n }\r\n\r\n return [appglist, istatistic];\r\n }\r\n\r\n findRowCount = (sab, userapps,applist) => {\r\n if (applist == null || userapps==null)\r\n return 0;\r\n var havale = applist.filter(rec =>rec.removed != true && rec.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Havale_Bekliyor);\r\n havale = havale.filter(rec => passFilter(rec, this.mysablons[sab].filter, this.userName, this.kabulPerms) == true);\r\n\r\n var r = userapps.filter(apprec =>\r\n apprec.removed != true&&\r\n passFilter(apprec, this.mysablons[sab].filter, this.userName) == true && (this.selectedDenetim == null || this.selectedDenetim == -1 || this.denetimlist.find(d => d.id == this.selectedDenetim).name == apprec.basvuruTipi));\r\n\r\n r = r.filter(rec => rec.deliverDate != null && rec.deliverDate != \"\" && rec.Completed == null && rec.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Havale_Bekliyor)\r\n return r.length + havale.length;\r\n }\r\n\r\n getKontrolorName = (userName) => {\r\n var r = this.state.applist.find(x => x.kontrolor == userName);\r\n if (r == null) return userName + \"*\";\r\n return r.kontrolorNameFamily\r\n }\r\n\r\n allowDrop = (event) => {\r\n event.preventDefault();\r\n }\r\n\r\n\r\n\r\n drop = (event, userName) => {\r\n event.preventDefault();\r\n var data = event.dataTransfer.getData(\"text\").split(' ');\r\n var appid = Number(data[0])\r\n var currentHolder = null;\r\n var currentMappingID = null;\r\n if (event.ctrlKey == false && data.length > 1) {\r\n currentHolder = this.userDenetimPermissions.filter(x => x.userName == data[1])[0]\r\n currentMappingID = Number(data[2])\r\n }\r\n //if (event.ctrlKey==false&& dapp.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Havale_Bekliyor &&\r\n // dapp.basvuruDurumu != UserPermConstants.Basvuru_Durumu_Onay_Bekliyor) {\r\n // alert(\"o o\");\r\n\r\n //}\r\n\r\n this.setState({ ...this.state, \"droppedAppId\": appid, \"currentMappingID\": currentMappingID, \"currentHolder\": currentHolder, \"userdenetimlist\": this.userDenetimPermissions.filter(x => x.userName == userName && this.denetimlist.find(d => d.id == x.role) != null).map(x => <option value={x.role}>{this.denetimlist.find(d => d.id == x.role).name}</option>), \"droppedUser\": this.userDenetimPermissions.filter(x => x.userName == userName)[0] });\r\n document.getElementById(\"modalbutton\").click();\r\n }\r\n\r\n gericek = (id) => {\r\n //if (mappedusers.length == 1 && window.confirm(\"BaÅŸvuruyu, havale sürecine geri göndermek istediÄŸinize emin misiniz?\") == false)\r\n // return;\r\n fetch(\"removeuserprojectmapping\", {\r\n method: 'POST',\r\n headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' },\r\n body: JSON.stringify(this.state.currentMappingID)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n\r\n }\r\n else {\r\n response.json().then(async data => {\r\n this.fetchDenetimList();\r\n this.getdenetimpermsraw();\r\n this.getAppTypes();\r\n this.getUserApps();\r\n this.getApplicationList();\r\n this.fetchUsersWithPermision();\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n mapusertoproject = () => {\r\n\r\n var mappingdata = { \"appID\": this.state.droppedAppId, \"userName\": this.state.droppedUser.userName, \"denetimId\": document.getElementById(\"mission\").value }\r\n\r\n if (mappingdata.denetimId == null || mappingdata.userName == null || mappingdata.denetimId == ''\r\n || mappingdata.userName.length == 0) {\r\n showErrorMessage(\"BaÅŸvuru Tipi veya Kontrolör Hatalı\")\r\n return;\r\n }\r\n\r\n fetch(\"mapusertoproject\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json', 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(mappingdata)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n\r\n }\r\n else {\r\n response.json().then(value => {\r\n if (value == null) {\r\n showErrorMessage(\"Yetkisiz Ä°ÅŸlem !\")\r\n return;\r\n }\r\n if (value.id == -1) {\r\n showErrorMessage(value.appData)\r\n return;\r\n }\r\n if (this.state.currentHolder == null) {\r\n this.fetchDenetimList();\r\n this.getdenetimpermsraw();\r\n this.getAppTypes();\r\n this.getUserApps();\r\n this.getApplicationList();\r\n this.fetchUsersWithPermision();\r\n }\r\n else {\r\n this.gericek();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n renderToGroupCards(tabledata) {\r\n\r\n\r\n\r\n\r\n var seldenetimlist = [...this.denetimperms];\r\n if (this.selectedDenetim != -1)\r\n seldenetimlist = this.denetimperms.filter(r => r.denetimId == this.selectedDenetim);\r\n var users = [... new Set(seldenetimlist.map(r => r.userName))]; //remove duplicates\r\n\r\n var restb = this.generateOpenList(tabledata, users);\r\n\r\n var tablegdata = restb[0];\r\n var istats = restb[1];\r\n\r\n\r\n\r\n\r\n //<div className=\"mt-1\" style={{ overflow: \"scroll\", width: \"100%\", height: \"80vh\", display: \"block\", \"overflow-x\": \"auto\", \"white-space\": \"nowrap\" }}>\r\n var mytable = <div >\r\n <div className=\"table-responsive mainpagescroll mt-1\" style={{ \"height\": \"74vh\" }} id=\"tableparent\">\r\n <table className=\"table\" id=\"myTable\" >\r\n\r\n <thead style={{ \"position\": \"sticky\", \"top\": 0 }} className=\"bg-light \">\r\n <tr className=\"m-0 p-0 text-center\">\r\n {tablegdata.map((grec, idx) =>\r\n idx == 0 ? <th className=\"m-0 p-0 align-top\" style={{ \"width\": \"1%\", \"min-width\": \"17vw\" }}>\r\n\r\n <div className=\"border-bottom border-3 ms-2 me-2 border-info fw-bold\">\r\n <a class=\"text-decoration-none text-primary\" data-bs-toggle=\"collapse\" type=\"button\" aria-expanded=\"false\" data-bs-target=\".multi-collapse\" aria-controls={\" Userstatistic1 Userstatistic2\"}>\r\n Havale Bekleynler\r\n\r\n </a>\r\n ({tablegdata[0].length})\r\n </div>\r\n </th> :\r\n grec.length > 0 && < th className=\"m-0 p-0 align-top\" style={{ \"width\": \"1%\", \"min-width\": \"17vw\" }} onDragOver={this.allowDrop} onDrop={(event) => this.drop(event, users[idx - 1])}>\r\n <div className={\"border-3 ms-2 me-2 align-top fw-bold\"} style={{ \"border-bottom\": \"4px solid \" + this.bordercolors[idx % 4] }} >\r\n {this.getKontrolorName(users[idx - 1])}\r\n ({tablegdata[idx].length})\r\n\r\n\r\n </div>\r\n {/* <div className={\"border-3 ms-3 me-3 mb-2\"} style={{ \"border-bottom\": \"4px solid \" + this.bordercolors[idx % 4] }}>*/}\r\n {this.role.indexOf(UserPermConstants.Kontrolor_Istatistiklerini_Gorme) >= 0 && <div className=\"mb-2\">\r\n {istats[users[idx - 1]] != null && <UserStatisticCard Statistic={istats[users[idx - 1]]} color={this.bordercolors[idx % 4]} userid={idx - 1} />}\r\n </div>}\r\n\r\n </th>\r\n\r\n )}\r\n\r\n </tr>\r\n </thead>\r\n <tbody >\r\n\r\n <tr className=\"\" >\r\n {tablegdata.map((grec, idx) => (grec.length > 0 || idx == 0) &&\r\n <td className=\"align-top\">\r\n {grec.map(apprec => <AppCard appTypes={this.appTypes} apprec={apprec} colnames={this.state.colnames} kontrolUserName={idx > 0 ? users[idx - 1] : null} drop={this.drop} changeComponent={this.changeComponent} />\r\n )}\r\n </td>\r\n\r\n )} </tr>\r\n </tbody>\r\n </table>\r\n\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n renderToCards(tabledata) {\r\n var mytable =\r\n <div className=\"mt-1\">\r\n <div className='row p-2' id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n passFilter(apprec, this.filter, this.userName, this.kabulPerms) == true &&\r\n <div className=\"col-12 col-sm-6 col-md-4 col-lg-3 p-0\">\r\n <AppCard appTypes={this.appTypes} apprec={apprec} colnames={this.state.colnames} changeComponent={this.changeComponent} />\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n render() {\r\n var tabledata = <div class=\"row\" > <div class=\"col-12 text-center\"><div className=\"spinner-border \" role=\"status\"></div></div></div>;\r\n if (this.state.applist != null && this.kabulPerms!=null) {\r\n tabledata = this.renderToGroupCards(this.state.applist);\r\n }\r\n\r\n\r\n var selectedSablonIndex = window.localStorage.getItem('sablonisyuku');\r\n if (selectedSablonIndex == null)\r\n selectedSablonIndex = 0;\r\n\r\n return <div style={{ \"background-color\": \"#f5f8fa\" }} >\r\n <div >\r\n <div className=\" align-items-center justify-content-center\" >\r\n <div class=\"row rounded p-2 ms-2 me-2 justify-content-left bg-white\" >\r\n <div class=\"col-md-3\">\r\n {this.denetimlist != null ? <select className=\"form-select form-select-sm\" id=\"denetimSelect\" name=\"denetimSelect\" onChange={this.handleDenetimChange}>\r\n <option value={-1} selected></option> {this.denetimlist.map((s, idx) => <option value={s.id} > {s.name}</option>)}\r\n </select> : \"\"}\r\n </div>\r\n <div class=\"col-md-4\">\r\n <input className=\"form-control form-control-sm\" id=\"myInput\" type=\"text\" placeholder=\"Arama...\" onKeyUp={this.filterTable} />\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <div className=\"p-2\">\r\n <div className=\"overflow-auto w-100 mainpagescroll\" style={{ \"white-space\": \"nowrap\" }}>\r\n {this.mysablons != null ? this.mysablons.map((s, idx) => <button className={\"btn me-2 text-decoration-none border mb-1 mt-1\" + (selectedSablonIndex == idx ? \" btn-primary\" : \" btn-link\")} onClick={() => this.handleSablonChange(idx)}> {s.name} ({this.findRowCount(idx, this.userApps, this.state.applist)})</button>) : \"\"}\r\n </div>\r\n </div>\r\n\r\n {tabledata}\r\n </div>\r\n\r\n\r\n\r\n <button id=\"modalbutton\" hidden={true} className=\"text-decoration-none btn btn-sm btn-primary p-1\" data-bs-toggle=\"modal\" data-bs-target=\"#mylModal\"> </button>\r\n <div class=\"modal fade\" id=\"mylModal\" tabindex=\"-1\" aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog modal-md\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\">BaÅŸvuru Havel ({this.state.droppedAppId})</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n\r\n <div class=\"modal-body\">\r\n {this.state.droppedUser != null && <div class=\"row\">\r\n <div class=\"col-4\">\r\n {this.state.currentHolder == null ? \"\" : this.state.currentHolder.name + \" \" + this.state.currentHolder.family + \" (\" + this.state.currentHolder.userName + \") \"}\r\n {this.state.currentHolder == null ? \"\" : <span><br /><i class=\"fa fa-arrow-down\"></i><br /></span>}\r\n {this.state.droppedUser.name + \" \" + this.state.droppedUser.family + \" (\" + this.state.droppedUser.userName + \")\"}\r\n </div>\r\n <div class=\"col-8\">\r\n <select className=\"form-select form-select-sm\" id=\"mission\" name=\"denetimId\">\r\n {this.state.userdenetimlist}\r\n\r\n </select>\r\n </div>\r\n </div>}\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-sm btn-primary\" data-bs-dismiss=\"modal\" onClick={this.mapusertoproject}>Havale Et</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n }\r\n\r\n};\r\n","export default __webpack_public_path__ + \"static/media/textlogo.4cf42bc9.png\";","export default __webpack_public_path__ + \"static/media/textlogowh.006f20e1.png\";","import React, { useState, useEffect } from 'react';\r\nimport { useGlobalState, logout, isEmpty, sendpost } from '../GlobalState.js';\r\nimport 'react-calendar/dist/Calendar.css';\r\nimport CommonSideBar from '../Header/CommonSideBar.js';\r\nimport TopHeader from '../Header/TopHeader.js';\r\nimport KurumLogo from '../Dashboard/KurumLogo.js';\r\nimport Login from \"../User/Login.js\";\r\nimport Home from \"../Dashboard/Home\";\r\nimport $ from 'jquery';\r\nimport UserComData from '../User/UserComData.js';\r\nimport UserFilePanel from '../User/UserFilePanel.js';\r\nimport crypto from 'crypto-js';\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport Application from '../Application/Application.js';\r\nimport EimzaOnaylarim from '../Eimza/EimzaOnaylarim.js';\r\nimport CBSBenzerAdalar from '../Setting/CBSBenzerAdalar.js';\r\n\r\n\r\nexport default function Dashboard(props) {\r\n\r\n\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [token, setToken] = useGlobalState('token');\r\n //const [loginfromedevlet, setLoginfromedevlet] = useGlobalState('loginfromedevlet');\r\n const [userName, setuserName] = useGlobalState('userName');\r\n const [userData, setUserdata] = useGlobalState('userData');\r\n const [activepannel, setActivepannel] = useState(null);\r\n const [showSideBar, setshowSideBar] = useState(window.innerWidth < 680 ? false : true)\r\n const [onmobile, setOnMobile] = useState(window.innerWidth < 680 ? true : false)\r\n var [globalData, setGlobalData] = useGlobalState('globalData');\r\n\r\n const [fileNameList, setfileNameList] = useState(null);\r\n const [files, setFiles] = useState(null);\r\n\r\n\r\n const fetchGeneralData = () => {\r\n fetch(\"getgeneraldata\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n document.querySelector('meta[name=\"description\"]').setAttribute(\"content\", data.belediyeName);\r\n setGlobalData(data);\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n const fetchUserData = () => {\r\n fetch(\"getuser\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n //ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n var userdata = JSON.parse(data);\r\n setUserdata(userdata);\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n\r\n try {\r\n if (window.appData != null) {\r\n setActivepannel(< Application appData={window.appData} targetEimza={window.eimza} changeComponent={setActivepannel} />)\r\n }\r\n if (window.selectedImzaList != null) {\r\n setActivepannel(<EimzaOnaylarim topluImzaList={window.selectedImzaList} imzalayan={window.userData} changeComponent={setActivepannel} />)\r\n }\r\n if (window.searchAda != null) {\r\n setActivepannel(<CBSBenzerAdalar ada={window.searchAda} changeComponent={setActivepannel} />)\r\n }\r\n\r\n fetchUserData();\r\n\r\n\r\n\r\n var token = window.localStorage.getItem('Token');\r\n if (isEmpty(token) == false) {\r\n var key = token.substring(0, 16);\r\n var c = token.substring(16);\r\n var decrypted = crypto.AES.decrypt(c, key)\r\n var decrypted = decrypted.toString(crypto.enc.Utf8);\r\n decrypted = JSON.parse(decrypted);\r\n decrypted = decrypted.value;\r\n var userName = decrypted.split('|')[0];\r\n setRole(decrypted.split('|')[1]);\r\n setuserName(userName);\r\n fetchGeneralData();\r\n if (fileNameList == null)\r\n userfilenamelist();\r\n if (files == null)\r\n fetchFiles();\r\n }\r\n }\r\n catch (ex) {\r\n window.localStorage.setItem('Token', '');\r\n }\r\n }, []);\r\n\r\n\r\n useEffect(() => {\r\n try {\r\n if (isEmpty(token))\r\n return;\r\n fetchUserData();\r\n window.localStorage.setItem('Token', token);\r\n\r\n\r\n var key = token.substring(0, 16);\r\n var c = token.substring(16);\r\n var decrypted = crypto.AES.decrypt(c, key)\r\n var decrypted = decrypted.toString(crypto.enc.Utf8);\r\n decrypted = JSON.parse(decrypted);\r\n decrypted = decrypted.value;\r\n var userName = decrypted.split('|')[0];\r\n setRole(decrypted.split('|')[1]);\r\n setuserName(userName);\r\n fetchGeneralData();\r\n\r\n if (fileNameList == null)\r\n userfilenamelist();\r\n if (files == null)\r\n fetchFiles();\r\n\r\n }\r\n catch (ex) {\r\n window.localStorage.setItem('Token', '');\r\n }\r\n\r\n }, [token]);\r\n\r\n const fetchFiles = () => {\r\n sendpost(\"getuserfiles\", userName, \"filesspin\",\r\n (response) => {\r\n response.json().then(async data => {\r\n setFiles(data);\r\n\r\n });\r\n });\r\n }\r\n\r\n\r\n const userfilenamelist = () => {\r\n fetch(\"userfilenamelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setfileNameList(value);\r\n \r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const eksikdosyatespit = () => {\r\n var ekseik = \"\";\r\n var i, j;\r\n for (i = 0; i < fileNameList.length; i++) {\r\n console.log(i + \" \" + fileNameList[i].userType + \" \" + userData.userType);\r\n if (fileNameList[i].userType != null && userData.userType != null && fileNameList[i].userType.split(',').some(t => userData.userType.includes(t.trim())) == false)\r\n continue;\r\n\r\n if (fileNameList[i].zorunlu != true)\r\n continue;\r\n\r\n\r\n for (j = 0; j < files.length; j++) {\r\n if (fileNameList[i].id == files[j].typeId)\r\n break;\r\n }\r\n if (j == files.length) {\r\n ekseik += \" \" + fileNameList[i].name;\r\n }\r\n }\r\n return ekseik;\r\n }\r\n\r\n\r\n\r\n var match = document.cookie.match(new RegExp('(^| )' + 'ED-Token' + '=([^;]+)'));\r\n if (match) {\r\n //setLoginfromedevlet(true)\r\n var t = match[2];\r\n var value = decodeURIComponent(t);\r\n value = Buffer.from(value, 'base64').toString('utf-8')\r\n var k = value.substring(0, 16)\r\n value = value.substring(16);\r\n var c = crypto.AES.encrypt(JSON.stringify({ value }), k).toString();\r\n document.cookie = 'ED-Token=; Max-Age=-99999999;';\r\n setToken(k + c);\r\n }\r\n\r\n\r\n\r\n\r\n if (isEmpty(role) && match == null) {\r\n return <Login />;\r\n }\r\n\r\n const telemailconfirmed = (userData) => {\r\n if (userData != null)\r\n setUserdata(userData)\r\n\r\n }\r\n const closeOnMobile = () => {\r\n if (onmobile == true) {\r\n setshowSideBar(false);\r\n }\r\n }\r\n const showPanel = (name) => {\r\n closeOnMobile();\r\n setActivepannel(name);\r\n }\r\n window.changeComponent = showPanel;\r\n\r\n /* if (userData == null || fileNameList == null || files == null) {\r\n return \"Lütfen bekleyin\";\r\n }*/\r\n\r\n\r\n if (userData != null && (userData.telConfirmed != true || userData.emailConfirmed != true)) {\r\n return <div className=\"row\" style={{ height: \"100vh\" }}>\r\n\r\n {showSideBar == true && <div className=\"col-4 col-md-2 p-0 m-0 sideBarContainer collapse show\" >\r\n <div style={{ position: \"fixed\", \"z-index\": -1, \"font-size\": \"24px\" }}> <a href=\"#\" onClick={() => { setshowSideBar(false) }} className=\"text-decoration-none text-white\"> <i className=\"fa fa-angle-double-left\"></i></a></div>\r\n </div>\r\n }\r\n <div className={showSideBar == true ? \"col-8 col-md-10 pt-1\" : \"col-12\"} >\r\n {showSideBar == false && <div style={{ position: \"fixed\", \"z-index\": -1, \"font-size\": \"24px\" }}> <a href=\"#\" onClick={() => { setshowSideBar(true) }} className=\"text-decoration-none text-muted\"> <i className=\"fa fa-navicon\"></i></a></div>}\r\n <TopHeader showPanel={showPanel} />\r\n {/*<div className=\"text-center fw-bold text-danger mb-2 mt-4\" >*/}\r\n {/* Devam Etmek için Telefon Numarınız ve Email Adresinizi DoÄŸrulayın Lutfen*/}\r\n {/*</div>*/}\r\n <div className=\"text-center fw-bold text-danger mb-2 mt-1\" >\r\n Ä°lk olarak Kod Gönder butonuna basınız. Ardından DoÄŸrula butonuna basarak açılan kutucuÄŸa cep telefonunuza gelmiÅŸ olan ÅŸifreyi giriniz\r\n </div>\r\n <div className=\"text-center fw-bold text-danger mb-4 \" >\r\n Telefon veya Email Adresinizi Güncelle Butonuyla DeÄŸiÅŸtirebilrsiniz\r\n </div>\r\n\r\n <UserComData userdata={userData} showCode={false} confirmed={telemailconfirmed} />\r\n </div>\r\n </div>\r\n }\r\n\r\n if (userData != null && fileNameList != null && files != null) {\r\n var eksik = eksikdosyatespit();\r\n if (eksik.length > 0) {\r\n return <div className=\"row\" style={{ height: \"100vh\" }}>\r\n\r\n {showSideBar == true && <div className=\"col-4 col-md-2 p-0 m-0 sideBarContainer collapse show\" >\r\n <div style={{ position: \"fixed\", \"z-index\": -1, \"font-size\": \"24px\" }}> <a href=\"#\" onClick={() => { setshowSideBar(false) }} className=\"text-decoration-none text-white\"> <i className=\"fa fa-angle-double-left\"></i></a></div>\r\n </div>\r\n }\r\n <div className={showSideBar == true ? \"col-8 col-md-10 pt-1\" : \"col-12\"} >\r\n {showSideBar == false && <div style={{ position: \"fixed\", \"z-index\": -1, \"font-size\": \"24px\" }}> <a href=\"#\" onClick={() => { setshowSideBar(true) }} className=\"text-decoration-none text-muted\"> <i className=\"fa fa-navicon\"></i></a></div>}\r\n <TopHeader showPanel={showPanel} />\r\n\r\n\r\n <div className=\"text-center fw-bold text-danger mb-2 mt-1\" >\r\n Zorunlu eksik dosyalarınz bulunmaktadır. Lütfen * ile belirtilen dosyaları yukleyiniz\r\n </div>\r\n <div className=\"text-danger mb-3\" >\r\n {eksik}\r\n </div>\r\n <div className=\"col-md-6 col-12\" >\r\n <UserFilePanel userdata={userData} key=\"key\" refreshFiles={(f) => setFiles(f)} />\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n }\r\n }\r\n\r\n\r\n\r\n var mainpanelclass = \"col-8 col-md-10 pt-1 overflow-auto\";\r\n var sidemenuclass = \"col-4 col-md-2 p-0 m-0 sideBarContainer collapse show\";\r\n if (showSideBar == false) {\r\n mainpanelclass = \"col-12\";\r\n sidemenuclass = \"col-0 d-none\";\r\n }\r\n else if (onmobile == true) {\r\n mainpanelclass = \"col-0 d-none\";\r\n sidemenuclass = \"col-12 p-0 m-0 sideBarContainer collapse show\";\r\n }\r\n\r\n\r\n return (\r\n <div className=\"row\" style={{ height: \"100vh\" }}>\r\n {showSideBar == true && <div className={sidemenuclass} >\r\n <div style={{ position: \"fixed\", \"z-index\": -1, \"font-size\": \"24px\" }}> <a href=\"#\" onClick={() => { setshowSideBar(false) }} className=\"text-decoration-none text-white\"> <i className=\"fa fa-angle-double-left\"></i></a></div>\r\n <div className=\"text-center\">\r\n <a href=\"#\" onClick={() => { setshowSideBar(false) }} className=\"text-decoration-none text-white\">\r\n\r\n <div><img src='./getfile?sec=klogo.png' width=\"100px\" style={{ maxHeight: \"100px\" }} id=\"unilogo\" /></div>\r\n {/* {globalData != null ? globalData.belediyeName : \"\"}*/}\r\n </a>\r\n </div>\r\n <div style={{ \"z-index\": 2, height: 'calc(100vh - 128px - 80px)' }} className=\"overflow-auto leftmenudiv\" > <CommonSideBar setComponent={showPanel} /> </div>\r\n <div className=\"text-center text-white\" >\r\n <KurumLogo />\r\n </div>\r\n </div>\r\n }\r\n <div className={mainpanelclass} style={{ height: \"100%\" }} id=\"activepaneldiv\">\r\n {showSideBar == false && <div style={{ position: \"fixed\", \"z-index\": -1, \"font-size\": \"24px\" }}> <a href=\"#\" onClick={() => { setshowSideBar(true) }} className=\"text-decoration-none text-muted\"> <i className=\"fa fa-navicon\"></i></a></div>}\r\n <TopHeader showPanel={showPanel} />\r\n {globalData != null && <div key={globalData} style={{ height: \"91%\" }}>\r\n {activepannel == null ? <Home changeComponent={setActivepannel} /> : activepannel}\r\n </div>}\r\n </div>\r\n\r\n\r\n </div >\r\n\r\n );\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, useGlobalState } from '../GlobalState.js';\r\n\r\nexport default function KurumLogo(props) {\r\n var [globalData, setGlobalData] = useGlobalState('globalData');\r\n \r\n \r\n useEffect(() => {\r\n \r\n }, []);\r\n\r\n return (\r\n <div key={globalData}>\r\n <img src={require('../Header/textlogowh.png').default} width=\"128px\"/>\r\n {/*<img src={require('./klogo.png').default} />*/}<br/>\r\n \r\n </div>\r\n );\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport Application from \"./Application.js\"\r\nimport { ajaxFail, removeTurkcLow, calcBusinessDays, sendpost, sendget, setHtmlTag } from '../GlobalState.js';\r\nimport $ from 'jquery';\r\nimport ApplicationList from './ApplicationList.js';\r\nimport CBSBenzerAdalar from '../Setting/CBSBenzerAdalar.js';\r\n\r\nexport default function SearchAppTKGM(props) {\r\n\r\n const [MahalleList, setMahalleList] = useState([]);\r\n const [adaList, setAdaeList] = useState([]);\r\n const [selectedAda, setSelectedAda] = useState(null);\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchMahalleList();\r\n\r\n }, [])\r\n\r\n\r\n\r\n\r\n const fetchMahalleList = () => {\r\n sendget(\"getmahallelist\", \"mahalle_snipper\", (response) => {\r\n response.json().then(value => {\r\n setMahalleList(value);\r\n })\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked.toString() : target.value;\r\n setHtmlTag(\"adaparsel\", -1, \"selectedIndex\");\r\n fetchAdaList(value)\r\n }\r\n\r\n\r\n const fetchAdaList = (mahalleid) => {\r\n\r\n sendget(\"getadalistbyid?mahalle=\" + mahalleid, \"mahalle_snipper\", (response) => {\r\n response.json().then(value => {\r\n setAdaeList(value)\r\n })\r\n });\r\n }\r\n\r\n const getCBSADA = (id) => {\r\n sendget(\"getcbsda?ada=\" + id, \"mahalle_snipper\", (response) => {\r\n if (response.status==200) {\r\n response.json().then(value => {\r\n\r\n setSelectedAda(value);\r\n\r\n })\r\n }\r\n else {\r\n setSelectedAda(null);\r\n }\r\n } )\r\n }\r\n\r\n\r\n\r\n\r\n\r\n return (<div>\r\n <div className=\"row\">\r\n <div className=\"col-6\">\r\n <span className=\"h5 text-primary\">TKGM'den ilgili Ada/Parselleri Ara</span>\r\n <span class=\"ms-2 spinner-border spinner-border-sm\" id=\"mahalle_snipper\" hidden></span>\r\n\r\n </div>\r\n <div className=\"col-6 text-end\">\r\n\r\n <button className=\"btn btn-sm btn-primary\" onClick={(e) => props.changeComponent(<ApplicationList changeComponent={props.changeComponent} />)}>\r\n Geri Dön\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row\">\r\n <div className=\"col-3\">\r\n Mahalle\r\n <select className=\"form-select form-select-sm\" id=\"Mahalle\" name=\"mahalle\" onChange={handleInputChange} >\r\n <option value={-1}></option>\r\n {MahalleList.map(x => <option value={x.id}>{x.name}</option>)}\r\n </select>\r\n\r\n </div>\r\n <div className=\"col-3\">\r\n Ada/Parsel\r\n <select className=\"form-select form-select-sm\" id=\"adaparsel\" name=\"adaparsel\" onChange={(e) => getCBSADA(e.target.value)} >\r\n <option value={-1}></option>\r\n {adaList.map(x => <option value={x.matchedCbsId} >{x.name}</option>)}\r\n </select>\r\n </div>\r\n </div>\r\n\r\n {selectedAda != null && < div className=\"row mt-1\">\r\n <div className=\"col-12\">\r\n\r\n <CBSBenzerAdalar ada={selectedAda} key={selectedAda} />\r\n </div>\r\n\r\n </div>}\r\n\r\n\r\n </div>\r\n );\r\n\r\n\r\n}\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport Application from \"./Application.js\"\r\nimport { useGlobalState, exportExcel, passFilter, removeTurkcLow, isEmpty, showErrorMessage, showConfirmMessage, getObjectFromArray } from '../GlobalState.js';\r\nimport $ from 'jquery';\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport { userInfo } from 'os';\r\nimport SearchAppTKGM from \"./SearchAppTKGM.js\"\r\n\r\n\r\nexport default function ApplicationList(props) {\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [userName, setUserName] = useGlobalState('userName');\r\n var changeComponent = props.changeComponent;\r\n\r\n const [applist, setApplist] = useState(null);\r\n const [showArchived, setShowArchived] = useState(false);\r\n\r\n const [spinnerClass, setSpinnerClass] = useState(\"fa fa-refresh\");\r\n\r\n const [appGroups, setAppGroups] = useState([]);\r\n const [appfieldlist, setAppfieldlist] = useState(null);\r\n\r\n\r\n const [devamstat, setDevamstat] = useState(null);\r\n const [filter, setFilter] = useState(null);\r\n const [surecList, setSurecList] = useState([]);\r\n const [mysablonlist, setMysablonlist] = useState(null);\r\n const [colnames, setColnames] = useState([\"id\", \"basvuruTarihi\", \"basvuruTipi\", \"basvuruDurumu\", \"ada\", \"mahalle\", \"mevki\", \"basvuruYapan\"]);\r\n const [sortDirection, setSortDirection] = useState({});\r\n const [userKabulListPerms, setuserKabulListPerms] = useState([]);\r\n const [denetimList, setDenetimList] = useState([]);\r\n\r\n var sortField = null;\r\n\r\n // const [archivedAppList, setArchivedAppList] = useGlobalState('archivedAppList');\r\n // const [archivedAppDate, setArchivedAppDate] = useGlobalState('archivedAppDate');\r\n\r\n useEffect(() => {\r\n if (surecList.length > 0)\r\n getSablon();\r\n }, [surecList])\r\n\r\n //useEffect(() => {\r\n // if (archivedAppDate == \" \")//this is not defult value to prevent first call\r\n // getSablon();\r\n //}, [archivedAppDate]);\r\n\r\n\r\n\r\n useEffect(() => {\r\n\r\n\r\n getAppGroupList();\r\n fetchkabullistperm();\r\n fetchappfieldlist();\r\n getDenetimList();\r\n }, [])\r\n\r\n\r\n const getDenetimList = () => {\r\n fetch(\"denetimlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setDenetimList(value);\r\n fetchSurecList();\r\n })\r\n }\r\n });\r\n }\r\n\r\n const stopSpinner = () => {\r\n setSpinnerClass(\"fa fa-refresh\")\r\n }\r\n\r\n const startSpinner = () => {\r\n setSpinnerClass(\"spinner-grow spinner-grow-sm\")\r\n }\r\n\r\n const fetchappfieldlist = () => {\r\n fetch(\"appfieldlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setAppfieldlist(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const myCompare = (a, b) => {\r\n var av = a[sortField];\r\n var bv = b[sortField];\r\n if (sortField == \"basvuruDurumu\") {\r\n av = getDurumName(av);\r\n bv = getDurumName(bv);\r\n }\r\n var ret = 1;\r\n if (sortDirection[sortField] == \"ZA\")\r\n ret = -1;\r\n if (av == null && a.appData != null && a.appData.length > 2) {\r\n var oa = a.appDataObject[sortField];\r\n if (oa != null && oa.value != null)\r\n av = oa.value;\r\n }\r\n if (bv == null && b.appData != null && b.appData.length > 2) {\r\n var ob = b.appDataObject[sortField];\r\n if (ob != null && ob.value != null)\r\n bv = ob.value;\r\n }\r\n if (av == null && bv != null)\r\n return -1 * ret;\r\n if (av != null && bv == null)\r\n return ret;\r\n if (typeof av === 'string' || av instanceof String)\r\n if (typeof bv === 'string' || bv instanceof String)\r\n return av.localeCompare(bv) * ret;\r\n\r\n if (av < bv) {\r\n return -1 * ret;\r\n }\r\n if (av > bv) {\r\n return ret;\r\n }\r\n return 0;\r\n }\r\n const myCompareRev = (a, b) => {\r\n return -1 * myCompare(a, b)\r\n }\r\n\r\n const showTitle = (name) => {\r\n if (name == \"id\") return \"Id\";\r\n if (name == \"securityToken\") return \"securityToken\";\r\n if (name == \"boylam\") return \"Boylam\";\r\n if (name == \"enlem\") return \"Enlem\";\r\n if (name == \"basvuruTipi\") return \"BaÅŸvuru Tipi\";\r\n if (name == \"mevki\") return \"Mevki\";\r\n if (name == \"mahalle\") return \"Mahalle\";\r\n if (name == \"ada\") return \"Ada/Parsel\";\r\n if (name == \"baÅŸvuruSahibi\") return \"BaÅŸvuru Sahibi\";\r\n if (name == \"basvuruTarihi\") return \"BaÅŸvuru Tarihi\";\r\n if (name == \"basvuruYapan\") return \"BaÅŸvuru Yapan\";\r\n if (name == \"basvuruDurumu\") return \"BaÅŸvuru Durumu\";\r\n if (name == \"onKontrol\") return \"Ön Kontrol\";\r\n if (name == \"appdata\") return \"Appdata\";\r\n if (name == \"arsaSahibiTel\") return \"Taşınmaz Sahibi Tel\";\r\n if (name == \"arsaSahibiTC\") return \"Taşınmaz Sahibi TC\";\r\n if (name == \"sokak\") return \"Sokak\";\r\n if (name == \"no\") return \"No\";\r\n if (name == \"arsaSahibi\") return \"Taşınmaz Sahibi\";\r\n if (name == \"idariMahalle\") return \"Ä°dari Mahalle\";\r\n if (name == \"removed\") return \"Silinen\";\r\n if (name == \"ucret\") return \"Ãœcret\";\r\n if (name == \"eimzagonder\") return \"E-Ä°mza Gönder\";\r\n if (name == \"updateCount\") return \"Updatecount\";\r\n if (name == \"duzeltmeSayi\") return \"Düzeltme Sayısı\";\r\n if (name == \"removeComment\") return \"Removecomment\";\r\n if (name == \"iadeNedeni\") return \"Ä°ade Nedeni\";\r\n if (name == \"iadeEden\") return \"Ä°ade Eden\";\r\n if (name == \"sonDuzeltmeTalebiTarihi\") return \"Son Düzeltme Talep Tarihi\";\r\n if (name == \"sonDuzeltmeTarihi\") return \"Son Düzeltme Tarihi\";\r\n if (name == \"kontrolBaslamaTarihi\") return \"Kontrol BaÅŸlama Tarihi\";\r\n if (name == \"kontrolBitmeTarihi\") return \"Kontrol Bitme Tarihi\";\r\n if (name == \"onayVerilmeTarihi\") return \"Onay Verilme Tarihi\";\r\n if (name == \"kontrolSiraTarihi\") return \"Kontrol Sıra Tarihi\";\r\n if (name == \"eimzaAcilmaTrihi\") return \"Eimza Açılma Tarihi\";\r\n if (name == \"iadeTarihi\") return \"Ä°ade Tarihi\";\r\n if (name == \"taslakOlusturmaTarihi\") return \"Taslak OluÅŸturma Tarihi\";\r\n if (name == \"kabulEdilmeTarihi\") return \"Kabul Edilme Tarihi\";\r\n if (name == \"surecTamamlanmaTarihi\") return \"Süreç Tamamlanma Tarihi\";\r\n if (name == \"lastUpdateTime\") return \"Son Güncelleme Tarihi\";\r\n if (name == \"basvuruSahibi\") return \"BaÅŸvuru Sahibi\";\r\n if (name == \"vekaletenBasvuru\") return \"Vekaleten BaÅŸvuru\";\r\n if (name == \"vekaletDosyaname\") return \"Vekalet Dosya Ä°smi\";\r\n if (name == \"vekilName\") return \"Vekil Ä°smi\";\r\n if (name == \"vekilTC\") return \"Vekil TC\";\r\n if (name == \"vekilTel\") return \"Vekil Telefon\";\r\n if (name == \"temp\") return \"Temp\";\r\n if (name == \"archived\") return \"ArÅŸiv\";\r\n if (name == \"kontrolor\") return \"Kontrolör\";\r\n if (name == \"müellif\") return \"Müellif\";\r\n if (name == \"tümKontrolorler\") return \"Tüm Kontrolörler\";\r\n if (name == \"ilkHavaleTarihi\") return \"Ä°lk Havale Tarihi\";\r\n if (name == \"sonHavaleTarihi\") return \"Son Havale Tarihi\";\r\n\r\n\r\n return name;\r\n }\r\n\r\n\r\n const sortList = (fildname) => {\r\n sortField = fildname;\r\n if (sortDirection[sortField] == null || sortDirection[sortField] == \"ZA\") {\r\n sortDirection[sortField] = \"AZ\";\r\n }\r\n else {\r\n sortDirection[sortField] = \"ZA\";\r\n }\r\n var temp = [...applist]; //clone the array to update the component on setApplist\r\n temp.sort(myCompare);\r\n setApplist(temp);\r\n }\r\n const getSortedList = (data, temp) => {\r\n if (data.sort != null && data.sort.length > 0) {\r\n var sf = data.sort.split(\",\");\r\n if (sf.length > 0) {\r\n for (var i = 0; i < sf.length; i++) {\r\n if (sf[i][0] == '-') {\r\n sortField = sf[i].substring(1);\r\n temp.sort(myCompareRev);\r\n }\r\n else {\r\n sortField = sf[i];\r\n temp.sort(myCompare);\r\n }\r\n }\r\n }\r\n\r\n }\r\n return temp;\r\n }\r\n\r\n const getAppGroupList = () => {\r\n\r\n fetch(\"getappgrouplist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n value.unshift({ name: \"Tümü\" })\r\n setAppGroups(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n const getSablon = () => {\r\n startSpinner();\r\n fetch(\"getmysablon\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n\r\n else {\r\n var list = null;\r\n try {\r\n response.json().then(async slist => {\r\n list = slist.filter(r => r.forListView == true);\r\n if (list != null && list.length > 0) {\r\n var data = list[0];\r\n if (window.localStorage.getItem('sablon') != null && list[window.localStorage.getItem('sablon')] != null)\r\n data = list[window.localStorage.getItem('sablon')];\r\n else\r\n window.localStorage.setItem('sablon', data);\r\n if (data.filter != null && data.filter.length > 0)\r\n setFilter(data.filter);\r\n if (data.colNames != null && data.colNames.length > 0) {\r\n var d = data.colNames.replaceAll('\"', \"\");\r\n if (d.length > 0)\r\n setColnames(d.split(\",\"));\r\n }\r\n }\r\n setMysablonlist(list);\r\n getApplicationList(list, \"0\");\r\n });\r\n }\r\n catch (ex) {\r\n //getApplicationList(null, \"0$\" +archivedAppDate);\r\n\r\n }\r\n\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const appsauthorlist = (applist, sablonlist) => {\r\n\r\n fetch(\"appsauthorlist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(\"ALL\")\r\n\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n\r\n data.forEach((k) => {\r\n var app = applist.find(x => x.id == k.appID);\r\n \r\n if (app == null)\r\n return;\r\n var m = k.userName + \"(\" + k.muellifType + \")\";\r\n if (app.muellifCount < 2) {\r\n if (app.müellif != null && app.müellif.length > 0)\r\n app.müellif += \", \";\r\n app.müellif += m\r\n }\r\n app.allmuelliflist += m + \" \";\r\n app.muellifCount += 1;\r\n \r\n });\r\n stopSpinner();\r\n setApplist(applist.slice(0))\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const getcontrollerlist = (applist, sablonlist) => {\r\n var ids = applist.map(x => x.id).join();\r\n if (ids.length == 0) {\r\n stopSpinner();\r\n setApplist(applist)\r\n return;\r\n\r\n }\r\n fetch(\"getcontrollerlist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(ids)\r\n\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n if (isEmpty(data) == false) {\r\n data = JSON.parse(data)\r\n applist.forEach((apprec) => {\r\n apprec[\"Kontrol Durumu\"] = [];\r\n apprec[\"IsAdimlari\"] = [];\r\n });\r\n\r\n data.forEach((k) => {\r\n var apprec = applist.find(x => x.id == k.appID);\r\n\r\n if (k.sira == k.activeDenetim) {\r\n if (isEmpty(apprec.kontrolor) == false) {\r\n apprec.kontrolor += \", \";\r\n apprec.kontrolorNameFamily += \", \";\r\n }\r\n apprec.kontrolor += k.userName;\r\n apprec.kontrolorNameFamily += k.Name + \" \" + k.Family;\r\n }\r\n\r\n // if (k.userName == userName) {\r\n var denetimName = getObjectFromArray(denetimList, \"id\", k.denetimID).name;\r\n if (k.sira == k.activeDenetim) {\r\n\r\n if (isEmpty(k.Started) && k.duzeltmeDurum != true) {\r\n \r\n apprec[\"IsAdimlari\"].push(\"(\" + denetimName + \"-\" + getDurumName(UserPermConstants.Basvuru_Durumu_Kontrol_Sirada_Bekliyor) /*+\"-\"+ k.Name + \" \" + k.Family*/ +\")\")\r\n }\r\n\r\n if (isEmpty(k.Started) == false && isEmpty(k.Completed)) {\r\n apprec[\"IsAdimlari\"].push(\"(\" + denetimName + \"-\" + getDurumName(UserPermConstants.Basvuru_Durumu_Kontrol_Ediliyor) /*+ \"-\"+ k.Name + \" \" + k.Family*/ + \")\")\r\n\r\n }\r\n if (isEmpty(k.Started) && isEmpty(k.duzeltmeIste) == false && k.duzeltmeDurum == true) {\r\n apprec[\"IsAdimlari\"].push(\"(\" + denetimName + \"-\" + getDurumName(UserPermConstants.Basvuru_Durumu_Duzeltme_Bekleniyor) /*+ \"-\"+ k.Name + \" \" + k.Family*/ + \")\")\r\n }\r\n\r\n }\r\n\r\n if (isEmpty(k.Completed) == false) {\r\n apprec[\"IsAdimlari\"].push(\"(\" + denetimName + \"-\" + getDurumName(UserPermConstants.Basvuru_Durumu_Kontrol_Tamamlandi) /*+ \"-\"+ k.Name + \" \" + k.Family*/ + \")\")\r\n }\r\n\r\n\r\n\r\n if (k.userName == userName) {\r\n\r\n if (isEmpty(k.Started) && k.duzeltmeDurum != true && k.sira == k.activeDenetim) {\r\n apprec[\"Kontrol Durumu\"].push(getDurumName(UserPermConstants.Basvuru_Durumu_Kontrol_Sirada_Bekliyor));\r\n }\r\n\r\n if (isEmpty(k.Started) == false && isEmpty(k.Completed) && k.sira == k.activeDenetim) {\r\n apprec[\"Kontrol Durumu\"].push(getDurumName(UserPermConstants.Basvuru_Durumu_Kontrol_Ediliyor) )\r\n }\r\n\r\n if (isEmpty(k.Completed) == false) {\r\n apprec[\"Kontrol Durumu\"].push(getDurumName(UserPermConstants.Basvuru_Durumu_Kontrol_Tamamlandi));\r\n }\r\n\r\n if (isEmpty(k.Started) && isEmpty(k.duzeltmeIste) == false && k.duzeltmeDurum == true && k.sira == k.activeDenetim) {\r\n apprec[\"Kontrol Durumu\"].push(getDurumName(UserPermConstants.Basvuru_Durumu_Duzeltme_Bekleniyor));\r\n }\r\n }\r\n\r\n\r\n \r\n\r\n });\r\n }\r\n stopSpinner();\r\n setApplist(applist)\r\n\r\n });\r\n }\r\n });\r\n }\r\n\r\n const fillAuthoresAndControllers = (applist) => {\r\n applist.forEach(x => {\r\n if (x.appData != null) x.appDataObject = JSON.parse(x.appData)\r\n\r\n x.tümKontrolorler = \"\"\r\n x.tümKontrolorlerUserNames = \"\"\r\n x.müellif = \"\";\r\n x.muellifCount = 0;\r\n x.totallContolorCount = 0;\r\n x.activeContolorCount = 0;\r\n x.allmuelliflist = \"\";\r\n x.kontrolorNameFamily = \"\"\r\n x.kontrolor = \"\"\r\n x.müellifKullanıcıAdı = \"\"\r\n\r\n if (x.temp != null) {\r\n var persons = x.temp.split(\"$\");\r\n // x.baÅŸvuruSahibi = persons[0];\r\n\r\n if (isEmpty(persons[0]) == false) {\r\n var muelliflist = persons[0].split(\",\");\r\n\r\n muelliflist.filter(k => isEmpty(k) == false).forEach((k) => {\r\n var mdata = k.split(\"%\");\r\n if (x.temp.includes(userName + \"%\"))\r\n x.müellifKullanıcıAdı += mdata[0] + \" \";\r\n var m = mdata[1]\r\n if (x.muellifCount < 2) {\r\n if (!isEmpty(x.müellif))\r\n x.müellif += \", \";\r\n x.müellif += m\r\n }\r\n x.allmuelliflist += m + \" \";\r\n x.muellifCount += 1;\r\n });\r\n }\r\n\r\n\r\n\r\n if (isEmpty(persons[1]) == false) {\r\n var kdata = persons[1].split(\",\");\r\n kdata.filter(k => isEmpty(k) == false).forEach((k) => {\r\n var mdata = k.split(\"%\");\r\n if (isEmpty(x.tümKontrolorler) == false) {\r\n x.tümKontrolorler += \", \";\r\n x.tümKontrolorlerUserNames += \", \";\r\n }\r\n x.tümKontrolorler += mdata[1];\r\n x.tümKontrolorlerUserNames += mdata[0];\r\n });\r\n }\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n const showArchiveList = () => {\r\n var show = document.getElementById(\"archiveCheckBox\").checked;\r\n startSpinner();\r\n if (show == true) {\r\n fetch(\"applicationlist?removedstatus=archived\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n\r\n response.json().then(async data => {\r\n\r\n fillAuthoresAndControllers(data);\r\n\r\n setApplist(applist.concat(data));\r\n stopSpinner()\r\n });\r\n }\r\n });\r\n }\r\n else {\r\n var noarch = applist.filter(x => x.archived != true)\r\n setApplist(noarch);\r\n stopSpinner()\r\n }\r\n }\r\n\r\n\r\n const getApplicationList = (sablonlist, removed) => {\r\n fetch(\"applicationlist?removedstatus=\" + removed, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n\r\n\r\n\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n\r\n response.json().then(async applist => {\r\n\r\n /* var lastUpdateTime = archivedAppDate;*/\r\n\r\n fillAuthoresAndControllers(applist);\r\n\r\n\r\n /* setArchivedAppDate(lastUpdateTime);*/\r\n\r\n\r\n //if (sablonlist != null\r\n // && window.localStorage.getItem('sablon') != null\r\n // && sablonlist[window.localStorage.getItem('sablon')] != null\r\n //) {\r\n // var templist = getSortedList(sablonlist[window.localStorage.getItem('sablon')], archivedAppList);\r\n // setArchivedAppList(templist);\r\n //}\r\n //else\r\n // setArchivedAppList([...archivedAppList]);\r\n ////setApplist(archivedAppList);\r\n\r\n //if (archivedAppList.length > 0)\r\n getcontrollerlist(applist, sablonlist);\r\n //else\r\n // stopSpinner();\r\n\r\n\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n const filterTable = (event) => {\r\n var textbox = document.getElementById(\"mySearchInput\")\r\n if (textbox == null)\r\n return;\r\n var value = removeTurkcLow(textbox.value);\r\n var keywords = value.split(\" \");\r\n\r\n $(\"#myTable tr\").filter(function () {\r\n var rowtext = \"\";\r\n $(this).children().each(function () {\r\n rowtext += $(this).text() + \" \";\r\n });\r\n\r\n var t1 = removeTurkcLow(rowtext);\r\n\r\n for (let index = 0; index < keywords.length; ++index) {\r\n if (t1.indexOf(keywords[index]) == -1) {\r\n return $(this).toggle(false);\r\n }\r\n }\r\n return $(this).toggle(true);\r\n });\r\n\r\n\r\n document.getElementById(\"totalrec\").innerHTML = $(\"#myTable tr:visible\").length + \" kayıt\";\r\n }\r\n\r\n const getcurrentFilters = () => {\r\n var cl = colnames;\r\n var val = []\r\n val.push(document.getElementById(\"mySearchInput\").value);\r\n for (var c = 0; c < cl.length; c++) {\r\n val.push(document.getElementById(cl[c]).value);\r\n }\r\n return val;\r\n }\r\n\r\n\r\n //const applyFilter = (filters) => {\r\n // var cl = colnames;\r\n // if (isEmpty(filters[0]) == false)\r\n // document.getElementById(\"mySearchInput\").value = filters[0];\r\n // for (var c = 0; c < cl.length; c++) {\r\n // if (isEmpty(filters[c + 1]) == false && document.getElementById(cl[c]) != null)\r\n // document.getElementById(cl[c]).value = filters[c + 1];\r\n // }\r\n //}\r\n\r\n\r\n const fetchkabullistperm = () => {\r\n fetch(\"kabullistpermsnames\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(userName)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setuserKabulListPerms(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const filterColumn = (root) => {\r\n var cl = colnames;\r\n $(root).find(\"#myTable tr\").filter(function () {\r\n\r\n for (var c = 0; c < cl.length; c++) {\r\n var keywordElem = root.getElementById(cl[c]);\r\n var td = $(this).children().eq(c);\r\n if (keywordElem != null && isEmpty(keywordElem.value) == false) {\r\n var keyword = keywordElem.value;\r\n var pass = true;\r\n if (keyword.startsWith(\"-\")) {\r\n pass = false\r\n keyword = keyword.substr(1);\r\n }\r\n if (keyword.length == 0) break;\r\n td.attr('style', 'background: #fff8dd !important');\r\n var t1 = removeTurkcLow(td.text());\r\n var t2 = removeTurkcLow(keyword);\r\n if ((t1.indexOf(t2) == -1) == pass)\r\n return $(this).toggle(false);\r\n }\r\n else\r\n td.removeAttr('style');\r\n }\r\n return $(this).toggle(true);\r\n });\r\n\r\n if (root.getElementById(\"totalrec\") != null && $(\"#myTable tr:visible\") != null)\r\n root.getElementById(\"totalrec\").innerHTML = $(\"#myTable tr:visible\").length + \" kayıt\";\r\n }\r\n\r\n\r\n const handleGroupChange = () => {\r\n var sab = document.getElementById(\"groupSelect\").value;\r\n var data = appGroups[sab];\r\n setDevamstat(data);\r\n\r\n }\r\n\r\n const handleSablonChange = (sab) => {\r\n\r\n window.localStorage.setItem('sablon', sab);\r\n var data = mysablonlist[sab];\r\n if (data.filter != null)\r\n setFilter(data.filter);\r\n if (data.colNames != null && data.colNames.length > 0) {\r\n var d = data.colNames.replaceAll('\"', \"\");\r\n if (d.length > 0) {\r\n var temp = [...applist];\r\n temp = getSortedList(data, temp);\r\n setApplist(temp);\r\n setColnames(d.split(\",\"));\r\n }\r\n }\r\n }\r\n\r\n const fetchSurecList = () => {\r\n\r\n fetch(\"sureclist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n\r\n }\r\n else {\r\n response.json().then(value => {\r\n value.hashtable = {};\r\n value.forEach(element => value.hashtable[element.id] = element.name);\r\n setSurecList(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n const deleteApp = (app) => {\r\n\r\n if (app.removed != true) {\r\n var comment = window.prompt(\"Lütfen Silme Nedenini Açıklayınız\")\r\n if (comment == null || comment.length == 0) {\r\n showErrorMessage(\"Açıklama BoÅŸ Olamaz\", \"Lütfen Silme Nedenini Yazınız\");\r\n return;\r\n }\r\n }\r\n app.removeComment = comment;\r\n\r\n fetch(\"removeapp\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(app)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n getApplicationList(mysablonlist, \"0\");\r\n });\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n\r\n const getDurumName = (i) => {\r\n\r\n var r = surecList.find(element => element.id == i);\r\n if (r == null) return i;\r\n return r.name;\r\n }\r\n\r\n const reduceTotalNames = (str, num) => {\r\n if (str==null || str.split==null)\r\n return str;\r\n\r\n if (num == null)\r\n num = 2;\r\n if (isEmpty(str)) return str;\r\n var parts = str.split(',')\r\n if (parts.length <= num)\r\n return str;\r\n\r\n var vis = parts.slice(0, num).join();\r\n return <span> {vis}, {\"+\" + (parts.length - num)} <span hidden>{str}</span> </span>;\r\n }\r\n\r\n const findRowCount = (sab, tabledata) => {\r\n var r = tabledata.filter(apprec =>\r\n passFilter(apprec, mysablonlist[sab].filter, userName, userKabulListPerms, appfieldlist) == true && (devamstat == null || devamstat.appState == undefined || devamstat.appState.split(\",\").includes(apprec.basvuruDurumu + \"\")));\r\n return r.length;\r\n }\r\n\r\n const generateColumnHeader = (c) => {\r\n\r\n var t = showTitle(c)\r\n if (t.length > 14) {\r\n t = t.substr(0, 12) + \"...\";\r\n }\r\n return t;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const renderToList = (tabledata) => {\r\n\r\n\r\n if (tabledata == null || tabledata.length == 0)\r\n return <div className=\"w-100 text-center\" >Kayıt Yok</div>;\r\n var devamarray = [];\r\n if (devamstat != null && devamstat.appState != undefined)\r\n devamarray = devamstat.appState.split(\",\");\r\n\r\n\r\n // apprec.removed != true is required becous after removing an app we dont read the app list again\r\n var filteredList = tabledata.filter(apprec => apprec.removed != true && passFilter(apprec, filter, userName, userKabulListPerms, appfieldlist) == true && (devamarray.length == 0 || devamarray.includes(apprec.basvuruDurumu + \"\")))\r\n\r\n var rows = filteredList.map(apprec =>\r\n <tr key={apprec.id} role=\"button\" className=\"v-hover\" onClick={() => { changeComponent(<Application key={apprec.id} appData={apprec} changeComponent={changeComponent} denetimList={denetimList} surecList={surecList} backButton={<ApplicationList changeComponent={props.changeComponent} filters={getcurrentFilters()} />} />) }} >\r\n {colnames.map(c => {\r\n if (apprec[c] != null) {\r\n if (c == \"basvuruDurumu\") return <td >{surecList.hashtable[apprec[c]]}</td>\r\n else if (c == \"müellif\") {\r\n return <td title={apprec.allmuelliflist}>\r\n {apprec[c]}{apprec.muellifCount > 2 ? (\", +\" + (apprec.muellifCount - 2)) : \"\"}\r\n </td>\r\n }\r\n else if (c == \"kontrolor\") {\r\n return <td title={apprec.kontrolorNameFamily}>{reduceTotalNames(apprec.kontrolorNameFamily,3)}</td>\r\n }\r\n else if (c == \"tümKontrolorler\") {\r\n return <td title={apprec.tümKontrolorler}>{reduceTotalNames(apprec.tümKontrolorler,3)}</td>\r\n }\r\n else if (c == \"Kontrol Durumu\") {\r\n return <td title={apprec[\"Kontrol Durumu\"].join()}>{reduceTotalNames(apprec[\"Kontrol Durumu\"].join(),3)}</td>\r\n }\r\n else if (c == \"IsAdimlari\") {\r\n return <td title={apprec[\"IsAdimlari\"].join()}>{reduceTotalNames(apprec[\"IsAdimlari\"].join(), 3)}</td>\r\n }\r\n else return <td >{apprec[c]}</td>\r\n }\r\n try {\r\n var appDData = apprec.appDataObject;\r\n if (appDData != null && appDData[c] != null) {\r\n if (appDData[c].type != null && appDData[c].type == \"checkbox\") {\r\n return <td className=\"text-center\"><input type=\"checkbox\" className=\"form-check-input p-0 \" checked={appDData[c].value} /></td>\r\n }\r\n return <td >{appDData[c].value}</td>\r\n }\r\n }\r\n catch (ex) {\r\n return <td>{ex.toString()}</td>\r\n }\r\n\r\n return <td></td>\r\n })}\r\n\r\n <td style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\", \"font-size\": \"20px\" }}>\r\n {((userName == apprec.basvuruYapan && apprec.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Taslak) || (role != null && role.indexOf(UserPermConstants.Basvuru_Silme) > -1)) && <a href=\"/#\" onClick={(event) => {\r\n event.stopPropagation();\r\n if (apprec.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Taslak) {\r\n showConfirmMessage(\"Silmek IstediÄŸinzden Emin misiniz?\", \"Taslak aÅŸamasındaki baÅŸvuru silinecektir.\", \"Evet Sil\", \"Hayır Ä°ptal Et\", () => { setTimeout(() => deleteApp(apprec), 100) });\r\n }\r\n else\r\n showConfirmMessage(\"Silmek IstediÄŸinzden Emin misiniz?\", \"Taslak Olmayan BaÅŸvuruları Silmek Beklenmeyen Hatalara Sebep Olabilir.\", \"Evet Sil\", \"Hayır Ä°ptal Et\", () => { setTimeout(() => deleteApp(apprec), 100) });\r\n\r\n }} className=\"text-decoration-none material-icons align-middle\" >delete</a>}\r\n </td>\r\n </tr>\r\n );\r\n\r\n var selectedSablonIndex = window.localStorage.getItem('sablon');\r\n if (selectedSablonIndex == null)\r\n selectedSablonIndex = 0;\r\n\r\n var mytable =\r\n <div className=\"\" key={selectedSablonIndex}>\r\n <div className=\"p-2\">\r\n <div className=\"overflow-auto w-100 mainpagescroll pb-1\" style={{ \"white-space\": \"nowrap\" }}>\r\n {mysablonlist.map((s, idx) => <button className={\"btn me-2 text-decoration-none border mt-1\" + (selectedSablonIndex == idx ? \" btn-primary\" : \" btn-link\")} onClick={() => handleSablonChange(idx)}> {s.name} ({findRowCount(idx, tabledata)})</button>)}\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n\r\n <div className=\"table-responsive mainpagescroll\" style={{ \"transform\": \"rotateX(180deg)\" }}>\r\n <table className='table table-vdstriped mt-0 mb-0' style={{ \"transform\": \"rotateX(180deg)\" }} id=\"listtable\">\r\n <thead className=\"p-0\">\r\n {colnames.map((c, idx) =>\r\n <th style={{ verticalAlign: \"bottom\" }} className=\"pt-0 m-0\">\r\n <div>\r\n <button className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\" onClick={() => sortList(c)} title={c}> {generateColumnHeader(c)}</button>\r\n </div>\r\n <div>\r\n <input type=\"text\" className=\"form-control form-control-sm p-0 m-0\" id={c} placeholder=\"\" name={c} onChange={() => filterColumn(document)} />\r\n </div>\r\n </th>\r\n )}\r\n\r\n <th id=\"totalrec\" key={rows.length}>{rows.length} kayıt</th>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {rows}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n const applyFilter = (filters) => {\r\n var cl = colnames;\r\n if (isEmpty(filters[0]) == false)\r\n document.getElementById(\"mySearchInput\").value = filters[0];\r\n for (var c = 0; c < cl.length; c++) {\r\n if (isEmpty(filters[c + 1]) == false && document.getElementById(cl[c]) != null)\r\n document.getElementById(cl[c]).value = filters[c + 1];\r\n }\r\n }\r\n\r\n\r\n var tabledata = <div class=\"d-flex justify-content-center\"><div class=\"spinner-border\" role=\"status\"></div></div>\r\n\r\n if (applist != null && appfieldlist != null) {\r\n tabledata = renderToList(applist);\r\n }\r\n if (props.filters != null && document.getElementById(\"myTable\") != null) {\r\n applyFilter(props.filters)\r\n filterTable();\r\n filterColumn(document);\r\n }\r\n\r\n return <div id=\"applistroot\">\r\n {/*<div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" hidden={allready == true} ><div className=\"spinner-border\" ></div></div>*/}\r\n <div className=\" align-items-center justify-content-center p-1\" >\r\n\r\n <div className=\"mt-1 p-2 pb-1 row\" >\r\n <div class=\"col-md-3 col-12\">\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"\" id=\"archiveCheckBox\" onChange={showArchiveList} />\r\n <label class=\"form-check-label\" for=\"flexCheckDefault\">\r\n ArÅŸiv Dosyaları Göster\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"col-md-1 col-12 text-end\">\r\n Gruplar\r\n </div>\r\n\r\n <div className=\"col-12 col-md-3\">\r\n\r\n {appGroups != null ? <select className=\"form-select form-select-sm\" id=\"groupSelect\" name=\"groupSelect\" onChange={handleGroupChange}>\r\n {appGroups.map((s, idx) => <option value={idx} > {s.name}</option>)}\r\n </select> : \"\"}\r\n </div>\r\n <div className=\"col-12 col-md-3\">\r\n\r\n <input className=\"form-control form-control-sm\" id=\"mySearchInput\" type=\"text\" placeholder=\"Arama\" onKeyUp={filterTable} />\r\n\r\n </div>\r\n <div className=\"col-12 col-md-2 text-end pt-1\">\r\n {role.indexOf(UserPermConstants.Kadastral_Ayarlar) != -1 && <button className=\"btn btn-sm btn-link\" onClick={() => changeComponent(<SearchAppTKGM changeComponent={changeComponent} />)}>\r\n <i class=\"fa fa-search\" aria-hidden=\"true\"></i>\r\n </button>}\r\n <a onClick={() => {\r\n startSpinner();\r\n getApplicationList(mysablonlist, \"0\");\r\n }} href=\"#\" className=\"text-primary\"><i className={spinnerClass} id=\"refreshButton\"></i></a>\r\n <a download=\"report.csv\" id=\"downloadlink\" onClick={() => { exportExcel(\"listtable\", \"downloadlink\") }} href=\"#\" className=\"text-decoration-none text-success ms-2\">\r\n <i className=\"fa fa-file-excel-o\"></i>\r\n </a>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n {tabledata}\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n};\r\n","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport EImzaListem from './EImzaListem';\r\n\r\n\r\nexport default function EImzaMenu(props) {\r\n\r\n\r\n\r\n const [eimzalist, setEimzaList] = React.useState(null);\r\n\r\n useEffect(() => {\r\n getEimzaList();\r\n }, []);\r\n\r\n\r\n\r\n const getEimzaList = () => {\r\n fetch(\"getmyeimzalist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n if (data != null) {\r\n data.forEach(r => r.imza = JSON.parse(r.iadeNedeni));\r\n }\r\n data = data.filter(r => r.imza.transactionUUID == \" imzam bekleniyor\");\r\n \r\n setEimzaList(data);\r\n });\r\n }\r\n });\r\n }\r\n\r\n var menutxt = \"\";\r\n if (eimzalist != null && eimzalist.length > 0) {\r\n var bekleyeneimza = document.getElementById(\"bekleyeneimza\");\r\n if (bekleyeneimza != null) {\r\n bekleyeneimza.innerHTML = \" Bekleyen E-Ä°mza: \" + eimzalist.length;\r\n }\r\n menutxt = <span id=\"eimzalistemcount\" class=\"badge rounded-pill bg-primary\" > {eimzalist.length}</span>;\r\n }\r\n\r\n\r\n return <a href=\"#\" onClick={() => { props.changeComponent(<EImzaListem eimzalist={eimzalist} changeComponent={props.changeComponent} />) }}> <i className=\"fa fa fa-pencil-square-o ps-4\"></i> E-Ä°mza Bekleyenler {menutxt}</a>\r\n}\r\n","import React, { useState, useEffect, createRef } from 'react';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\n\r\nimport { isEmpty, showConfirmMessage, showErrorMessage, showSuccessMessage, useGlobalState, levenshtein } from '../GlobalState.js';\r\nimport { ajaxFail, removeTurkcLow } from '../GlobalState.js';\r\nimport $ from 'jquery';\r\nimport FileSettingList from './FileSettingList.js';\r\n\r\n\r\nexport default function FileSettingDetaile(props) {\r\n var postdata = {};\r\n var [rec, setRec] = useState({ ...props.rec });\r\n const [fileNames, setfileNames] = useState([...props.fileNames.filter(x=>x.name!=null)]);\r\n\r\n \r\n postdata[\"FileType\"] = \"\";\r\n const [listData, setListData] = useState([]);\r\n const [fileGurups, setFileGrupList] = useState([]);\r\n const [typeOptions, setTypeOptions] = useState([]);\r\n const [zoptions, setZOptions] = useState(rec.basvuruTipi != null && rec.basvuruTipi.length > 0 ? rec.basvuruTipi.split(',') : []);\r\n\r\n var multiselectRef = React.createRef();\r\n\r\n var sortField = null;\r\n const [role, setrol] = useGlobalState('role');\r\n const [roles, setRoles] = useState([]);\r\n\r\n var ref = createRef();\r\n\r\n useEffect(() => {\r\n fetchGrupList();\r\n fetchFileList();\r\n getAppTypes();\r\n fetchRoles();\r\n $(\"#filenamepage\").on(\"click\", function (e) {\r\n const windowElement = document.getElementById('floatingWindow');\r\n windowElement.style.display = 'none';\r\n });\r\n }, [])\r\n\r\n\r\n const fetchRoles = () => {\r\n fetch(\"getrolelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setRoles(value)\r\n })\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n const savefilename = () => {\r\n\r\n\r\n if (isEmpty(rec.name)) {\r\n showErrorMessage(\"Dosya Ä°smi BoÅŸ Olamaz\");\r\n return;\r\n }\r\n\r\n if (isEmpty(rec.gurupid)) {\r\n showErrorMessage(\"Dosya Grubu BoÅŸ Olamaz\");\r\n return;\r\n }\r\n if (isEmpty(rec.fileType)) {\r\n showErrorMessage(\"Dosya Tipi BoÅŸ Olamaz\");\r\n return;\r\n }\r\n if (isEmpty(rec.fileSize)) {\r\n rec.fileSize = null;\r\n }\r\n fetch(\"savefilename\", {\r\n\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n window.changeComponent(<FileSettingList />)\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const updatefilename = (rec) => {\r\n\r\n fetch(\"updatefilename\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n showSuccessMessage(\"Bilgiler GüncellenmiÅŸtir.\")\r\n window.changeComponent(<FileSettingList />)\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n $('#dosyaadi').on('keypress', function (event) {\r\n var regex = new RegExp(\"^[a-zA-Z0-9_()#&%!üğşöçı ÇÅÃœÄİÖ+-]+$\");\r\n var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);\r\n if (!regex.test(key)) {\r\n event.preventDefault();\r\n return false;\r\n }\r\n });\r\n\r\n\r\n\r\n\r\n\r\n const getAppTypes = () => {\r\n fetch(\"denetimlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n var opt = [];\r\n for (var x of value) {\r\n if(x.isadimi!=true)\r\n opt.push(x.name)\r\n }\r\n setTypeOptions(opt);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const fetchGrupList = () => {\r\n\r\n fetch(\"filegroupslist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n var i = 0;\r\n setFileGrupList(value);\r\n fetchFileList();\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const fetchFileList = () => {\r\n fetch(\"filenamelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value.trim();\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n\r\n \r\n\r\n\r\n const showWindow = () => {\r\n const input = document.getElementById('dosyaadi');\r\n const windowElement = document.getElementById('floatingWindow');\r\n const inputText = input.value.toLowerCase();\r\n const matchedItems = fileNames\r\n .map(item => ({\r\n item,\r\n similarity: levenshtein(inputText.toLowerCase(), item.name.toLowerCase())\r\n }))\r\n .filter(({ similarity }) => similarity > 0.1) // Only keep items with some similarity\r\n .sort((a, b) => b.similarity - a.similarity);\r\n\r\n if (matchedItems.length > 0 && matchedItems[0].similarity == 1)\r\n document.getElementById('kaudetbut').disabled = true;\r\n else\r\n document.getElementById('kaudetbut').disabled = false;\r\n\r\n if (matchedItems.length > 0 && inputText !== '') {\r\n windowElement.innerHTML = \"<div class='text-danger border-bottom border-primary fw-bold'>Daha önce eklediÄŸiniz benzer isimdeki dosyalar</div>\" +\r\n matchedItems.map(item =>\r\n `<div class='border-bottom fw-bold text-dark' style='opacity:${0.2 + item.similarity}'>\r\n <button class='btn btn-link btn-sm text-decoration-none shadow-none' \r\n onclick=\"window.similarItemSelect(${item.item.id},'${item.item.name}')\">\r\n ${item.item.name}\r\n </button>\r\n </div>`).join('');\r\n const rect = input.getBoundingClientRect();\r\n windowElement.style.left = rect.left + 3 + 'px';\r\n windowElement.style.top = rect.bottom + 5 + 'px';\r\n windowElement.style.display = 'block';\r\n } else {\r\n windowElement.style.display = 'none';\r\n }\r\n }\r\n\r\n\r\n window.similarItemSelect = (id,name) => {\r\n showConfirmMessage(name + \" kaydının bilgileri yüklensin mı?\", \"\", \"Evet\", \"Hayır\", () => {\r\n document.getElementById('kaudetbut').disabled = false;\r\n window.changeComponent(<FileSettingDetaile rec={fileNames.find(x => x.id == id)} fileNames={fileNames} key={id} />);\r\n })\r\n }\r\n\r\n\r\n var mus = document.getElementById(\"KonMultiSelect\");\r\n if (mus != null) {\r\n if (mus.disabled == true) {\r\n if (!mus.classList.contains('bg-pasif')) {\r\n mus.classList.add(\"bg-pasif\");\r\n }\r\n }\r\n else {\r\n mus.classList.remove(\"bg-pasif\");\r\n mus.classList.add(\"bg-white\");\r\n }\r\n }\r\n\r\n\r\n\r\n return (\r\n <div className=\"p-2 rounded-3\" style={{ \"background-color\": \"#EDEDF7\", \"min-height\": \"100vh\" }} id=\"filenamepage\">\r\n <div className=\"row \" >\r\n\r\n <div className=\"col-12 col-md-6 \" >\r\n <img className=\"rounded-circle \" style={{ width: \"32px\", height: \"32px\" }} src={\"/getuserpic?user=\" + rec.creatorUserName} />\r\n <span className=\"me-3\" style={{ \"font-size\": \"14px\", \"font-weight\": \"600\", \"color\": \"#4b5675\" }}> {rec.creatorUserName}</span>\r\n <span className=\"me-3\" style={{ \"font-size\": \"14px\", \"font-weight\": \"600\", \"color\": \"#99a1b7\" }}>{rec.crerateTime}</span>\r\n <span style={{ \"font-size\": \"14px\", \"font-weight\": \"600\", \"color\": \"#99a1b7\" }}>Id: {rec.id}</span>\r\n\r\n </div>\r\n <div className=\"col-12 col-md-6 text-end pt-1\" >\r\n <button onClick={() => savefilename(rec)} className=\"btn btn-primary btn-sm text-decoration-none me-2\" id=\"kaudetbut\">Kaydet</button>\r\n\r\n <button onClick={() => window.changeComponent(<FileSettingList />)} className=\"btn btn-secondary btn-sm text-decoration-none\">Vazgeç</button>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-3 p-3\" >\r\n <div className=\"col-12 col-md-6\">\r\n <div className=\" bg-white rounded-3\" >\r\n <div className=\"p-3 fw-bold border-bottom\" >\r\n Genel Özellikler\r\n\r\n </div>\r\n <div className=\"p-4\" >\r\n Dosya Adı <span className=\"text-danger\">*</span>\r\n <input type=\"text\" autocomplete=\"off\" className=\"form-control form-control-sm\" name=\"name\" id=\"dosyaadi\" defaultValue={rec.name} onChange={(e) => { updateRecord(rec, e); showWindow() }} key={ rec.id} />\r\n <div id=\"floatingWindow\" class=\"floating-window\"></div>\r\n </div>\r\n\r\n <div className=\"p-4\" >\r\n Dosya Grubu <span className=\"text-danger\">*</span>\r\n <select className=\"form-select form-select-sm\" name=\"gurupid\" required={true} onChange={(e) => updateRecord(rec, e)} key={rec.id} >\r\n <option ></option>\r\n {fileGurups.map(x => <option value={x.id} selected={x.id == rec.gurupid}>{x.name}</option>)}\r\n </select>\r\n <div class=\"textvmuted\">\r\n Dosyanın hangi baÅŸlık altında yer alacağını seçebilirsiniz.\r\n </div>\r\n </div>\r\n\r\n <div className=\"p-4\" >\r\n\r\n Dosya Tipi<span className=\"text-danger\">*</span>\r\n\r\n <Multiselect className=\"text-dark p-0\"\r\n options={[\".pdf\", \".zip\", \".doc\", \".docx\", \".xls\", \"xlsx\", \".dwg\", \".ncz\", \".txt\", \"image/*\", \"video/*\"]}\r\n emptyRecordMsg=\"BaÅŸka kayıt yok\"\r\n isObject={false}\r\n selectedValues={rec.fileType != null && rec.fileType.length > 0 ? rec.fileType.split(',') : []}\r\n onSelect={(selectedList, removedItem) => { rec.fileType = selectedList.length == 0 ? null : selectedList.join() }} // Function will trigger on select event\r\n onRemove={(selectedList, removedItem) => { rec.fileType = selectedList.length == 0 ? null : selectedList.join() }} // Function will trigger on remove event\r\n hidePlaceholder={true}\r\n />\r\n </div>\r\n\r\n <div className=\"p-4\" >\r\n\r\n Dosya Boyutu (MB)\r\n\r\n <input type=\"number\" min=\"1\" max=\"50\" className=\"form-control form-control-sm \" name=\"fileSize\" defaultValue={rec.fileSize} onChange={(e) => updateRecord(rec, e)} key={rec.id} />\r\n\r\n <div className=\"textvmuted\" >\r\n BoÅŸ bırakılırsa dosya boyutunda bir sınırlama uygulanmaz.\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"p-4\" >\r\n Açıklama\r\n <input type=\"text\" className=\"form-control form-control-sm\" name=\"aciklama\" defaultValue={rec.aciklama} onChange={(e) => updateRecord(rec, e)} key={rec.id} />\r\n <div className=\"textvmuted\" >\r\n Dosya hakkında açıklama yazabilirsiniz.\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n </div>\r\n <div className=\"col-12 col-md-6\">\r\n <div className=\"bg-white rounded-3\" >\r\n <div className=\"p-3 fw-bold border-bottom\" >\r\n Görüntüleme ve Yetkilendirme\r\n\r\n </div>\r\n <div className=\"ps-4 pe-3 mt-2\" >\r\n\r\n BaÅŸvuru Tipi\r\n <Multiselect className=\"text-dark p-0\"\r\n options={typeOptions}\r\n avoidHighlightFirstOption={true}\r\n emptyRecordMsg=\"BaÅŸka kayıt yok\"\r\n hidePlaceholder={true}\r\n isObject={false}\r\n selectedValues={rec.basvuruTipi != null && rec.basvuruTipi.length > 0 && typeOptions.length > 0 ? rec.basvuruTipi.split(',') : []}\r\n onSelect={(selectedList, removedItem) => {\r\n rec.basvuruTipi = selectedList.length == 0 ? null : selectedList.join();\r\n setRec({ ...rec })\r\n setZOptions(selectedList);\r\n }} // Function will trigger on select event\r\n onRemove={(selectedList, removedItem) => {\r\n if (isEmpty(rec.zorunlu) == false && rec.zorunlu.includes(removedItem)) {\r\n var temp = rec.basvuruTipi.split(',')\r\n temp = temp.filter(x => x != removedItem)\r\n rec.zorunlu = temp.join(\",\");\r\n }\r\n rec.basvuruTipi = selectedList.length == 0 ? null : selectedList.join();\r\n setRec({ ...rec })\r\n setZOptions(selectedList);\r\n }} // Function will trigger on remove event\r\n\r\n />\r\n <div class=\"textvmuted\">\r\n Hangi baÅŸvurularda yüklenmesini istiyorsunuz?\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n <div className=\"ps-4 pe-3 mt-4\" >\r\n\r\n Zorunlu Olan BaÅŸvuru Tipleri\r\n\r\n <Multiselect className=\"text-dark p-0\"\r\n options={zoptions}\r\n emptyRecordMsg=\"BaÅŸka kayıt yok\"\r\n avoidHighlightFirstOption={true }\r\n hidePlaceholder={true}\r\n isObject={false}\r\n selectedValues={rec.zorunlu != null && rec.zorunlu.length > 0 && zoptions.length > 0 ? rec.zorunlu.split(',') : []}\r\n onSelect={(selectedList, removedItem) => { rec.zorunlu = selectedList.length == 0 ? null : selectedList.join() }} // Function will trigger on select event\r\n onRemove={(selectedList, removedItem) => { rec.zorunlu = selectedList.length == 0 ? null : selectedList.join() }} // Function will trigger on remove event\r\n\r\n />\r\n <div class=\"textvmuted\">\r\n Hangi baÅŸvurularda ZORUNLU OLARAK yüklenmesini istiyorsunuz?\r\n </div>\r\n\r\n </div>\r\n\r\n <div className=\"ps-4 pe-3 row mt-4\" >\r\n <div class=\"col-3\">\r\n <label class=\"form-check-label\" for=\"inlineCheckbox1\"> Kontrolör Dosyası</label>\r\n </div>\r\n <div class=\"col-1\">\r\n\r\n <input type=\"checkbox\" className=\"form-check-input \" name=\"kontrolorDosyasi\" defaultChecked={rec.kontrolorDosyasi} key={rec.id} onChange={(e) => {\r\n var ms = document.getElementById(\"KonMultiSelect\");\r\n ms.disabled = e.target.checked == false;\r\n\r\n\r\n\r\n if (ms.disabled == true) {\r\n ref.current.resetSelectedValues();\r\n if (!ms.classList.contains('bg-pasif')) {\r\n ms.classList.add(\"bg-pasif\");\r\n }\r\n }\r\n else {\r\n ms.classList.remove(\"bg-pasif\");\r\n ms.classList.add(\"bg-white\");\r\n }\r\n updateRecord(rec, e)\r\n }} />\r\n </div>\r\n <div class=\"col-7 p-0 textvmuted\">\r\n Dosyayı sadeceözel yetkiye sahip kullanıcıların yükleyebilmesi için iÅŸaretleyiniz.\r\n </div>\r\n </div>\r\n\r\n <div className=\"ps-4 pe-3 row mt-4\" >\r\n <div class=\"col-3\">\r\n <label class=\"form-check-label\" for=\"inlineCheckbox1\"> Süreç Sonu Dosyası</label>\r\n </div>\r\n <div class=\"col-1\">\r\n\r\n <input type=\"checkbox\" className=\"form-check-input \" name=\"surecSonu\" defaultChecked={rec.surecSonu} onChange={(e) => {\r\n updateRecord(rec, e)\r\n }} />\r\n </div>\r\n <div class=\"col-7 p-0 textvmuted\">\r\n Süreç tamamlanmadan dosya indirilemez.\r\n </div>\r\n </div>\r\n\r\n <div className=\"ps-4 pe-3 row mt-4\" >\r\n <div class=\"col-3\">\r\n <label class=\"form-check-label\" for=\"inlineCheckbox1\"> E-Ä°mza Zorunlu Dosya</label>\r\n </div>\r\n <div class=\"col-1\">\r\n\r\n <input type=\"checkbox\" className=\"form-check-input \" name=\"zorunluEimza\" defaultChecked={rec.zorunluEimza} onChange={(e) => {\r\n updateRecord(rec, e)\r\n }} />\r\n </div>\r\n <div class=\"col-7 p-0 textvmuted\">\r\n BaÅŸvuruyu göndermek için dosya E-Ä°mzalı olmalıdır. \r\n </div>\r\n </div>\r\n\r\n <div className=\"ps-4 pe-3 mt-4\" >\r\n Kontrolör Dosyası Görme Yetkisi\r\n\r\n <fieldset id={\"KonMultiSelect\"} disabled={rec.kontrolorDosyasi != true} >\r\n <Multiselect className=\"text-dark p-0 rounded-3 \" \r\n options={roles}\r\n ref={ref}\r\n placeholder=\"Rol\"\r\n emptyRecordMsg=\"BaÅŸka Kayıt Yok\"\r\n displayValue=\"name\"\r\n isObject={true}\r\n selectedValues={rec.kontrolorDosyaYetki != null ? rec.kontrolorDosyaYetki.split(',').filter(r => roles.find(x => x.id == r) != null).map(r => roles.find(x => x.id == r)) : []}\r\n onSelect={(selectedList, removedItem) => { rec.kontrolorDosyaYetki = selectedList.length == 0 ? null : selectedList.map(rec => rec.id).join() }} // Function will trigger on select event\r\n onRemove={(selectedList, removedItem) => { rec.kontrolorDosyaYetki = selectedList.length == 0 ? null : selectedList.map(rec => rec.id).join() }} // Function will trigger on remove event\r\n />\r\n </fieldset>\r\n <div class=\"textvmuted\">\r\n Bu dosyayı görme yetkisine sahip olacak rolleri seçiniz.\r\n </div>\r\n </div>\r\n <div className=\"p-5\" >\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { useGlobalState, isEmpty, showSuccessMessage } from '../GlobalState.js';\r\nimport { ajaxFail, removeTurkcLow, showConfirmMessage } from '../GlobalState.js';\r\nimport $ from 'jquery';\r\nimport FileSettingDetaile from './FileSettingDetaile.js';\r\n\r\n\r\nexport default function FileSettingList(props) {\r\n var postdata = {};\r\n postdata[\"FileType\"] = \"\";\r\n const [listData, setListData] = useState([]);\r\n const [fileGurups, setFileGrupList] = useState([]);\r\n var multiselectRef = React.createRef();\r\n var sortField = null;\r\n const [role, setrol] = useGlobalState('role');\r\n const [roles, setRoles] = useState([]);\r\n const [sortDirection, setSortDirection] = useState({});\r\n\r\n useEffect(() => {\r\n fetchGrupList();\r\n fetchFileList();\r\n\r\n fetchRoles();\r\n }, [])\r\n\r\n\r\n const fetchRoles = () => {\r\n fetch(\"getrolelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setRoles(value)\r\n })\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n const updatefilename = (rec) => {\r\n\r\n fetch(\"updatefilename\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n showSuccessMessage(\"Bilgiler GüncellenmiÅŸtir.\")\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const sortList = (fildname) => {\r\n sortField = fildname;\r\n if (sortDirection[sortField] == null || sortDirection[sortField] == \"ZA\") {\r\n sortDirection[sortField] = \"AZ\";\r\n }\r\n else {\r\n sortDirection[sortField] = \"ZA\";\r\n }\r\n\r\n var temp = [...listData]; //clone the array to update the component on setApplist\r\n temp.sort(myCompare);\r\n setListData(temp);\r\n }\r\n\r\n\r\n const myCompare = (a, b) => {\r\n var av = a[sortField];\r\n var bv = b[sortField];\r\n var ret = 1;\r\n if (sortDirection[sortField] == \"ZA\")\r\n ret = -1;\r\n\r\n if (av == null && bv != null)\r\n return -1 * ret;\r\n if (av != null && bv == null)\r\n return 1 * ret;\r\n if (av == null && bv == null)\r\n return 0;\r\n\r\n if (typeof av === 'string' || av instanceof String)\r\n if (typeof bv === 'string' || bv instanceof String)\r\n return av.localeCompare(bv) * ret\r\n\r\n if (av < bv) {\r\n return -1 * ret;\r\n }\r\n if (av > bv) {\r\n return 1 * ret;\r\n }\r\n return 0;\r\n }\r\n\r\n\r\n\r\n\r\n const sil = (rec) => {\r\n \r\n fetch(\"removefilename\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n })\r\n }\r\n\r\n const onSelect1 = (selectedList, selectedItem) => {\r\n postdata[\"BasvuruTipi\"] = multiselectRef.current.getSelectedItems().join(\", \")\r\n }\r\n const onRemove1 = (selectedList, removedItem) => {\r\n postdata[\"BasvuruTipi\"] = multiselectRef.current.getSelectedItems().join(\", \")\r\n }\r\n const onSelect2 = (selectedList, selectedItem) => {\r\n postdata[\"fileType\"] = selectedList.join(\", \")\r\n }\r\n const onRemove2 = (selectedList, removedItem) => {\r\n postdata[\"fileType\"] = selectedList.join(\", \")\r\n }\r\n\r\n\r\n \r\n\r\n\r\n const fetchGrupList = () => {\r\n\r\n fetch(\"filegroupslist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setFileGrupList(value);\r\n fetchFileList();\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const fetchFileList = () => {\r\n fetch(\"filenamelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const getFileGrupName = (apprec) => {\r\n var r = fileGurups.find(x => x.id == apprec.gurupid);\r\n if (r != null) {\r\n apprec.gurup = r.name;//for sort\r\n return r.name;\r\n }\r\n return \"\";\r\n }\r\n\r\n\r\n\r\n const filterColumn = (index) => {\r\n var cl = [\"id\", \"name\", \"basvuruTipi\", \"gurup\", \"kontrolorDosyasi\"];\r\n $(\"#myTable tr\").filter(function () {\r\n\r\n for (var c = 0; c < cl.length; c++) {\r\n var keywordElem = document.getElementById(cl[c]);\r\n var td = $(this).children().eq(c);\r\n if (keywordElem != null && isEmpty(keywordElem.value) == false) {\r\n var keyword = keywordElem.value;\r\n var pass = true;\r\n if (keyword.startsWith(\"-\")) {\r\n pass = false\r\n keyword = keyword.substr(1);\r\n }\r\n if (keyword.length == 0) break;\r\n td.attr('style', 'background: #fff8dd !important');\r\n var t1 = removeTurkcLow(td.text());\r\n var t2 = removeTurkcLow(keyword);\r\n if (keyword == \"0\" && td.html().includes(\"checkbox\") && !td.html().includes(\"checked\"))\r\n return $(this).toggle(true);\r\n if (keyword == \"1\" && td.html().includes(\"checked\"))\r\n return $(this).toggle(true);\r\n if ((t1.indexOf(t2) == -1) == pass)\r\n return $(this).toggle(false);\r\n }\r\n else\r\n td.removeAttr('style');\r\n }\r\n return $(this).toggle(true);\r\n });\r\n }\r\n\r\n\r\n $('#dosyaadi').on('keypress', function (event) {\r\n var regex = new RegExp(\"^[a-zA-Z0-9_()#&%!üğşöçı ÇÅÃœÄİÖ+-]+$\");\r\n var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);\r\n if (!regex.test(key)) {\r\n event.preventDefault();\r\n return false;\r\n }\r\n });\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n <div >\r\n\r\n\r\n <div className=\"table-responsive mainpagescroll\" style={{ \"height\": \"82vh\" }}>\r\n <table className='table table-vdstriped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead className=\"text-center\" style={{ \"position\": \"sticky\", \"top\": 0, \"z-index\": \"1\" }} className=\"bg-light\">\r\n \r\n <th width=\"5%\" >\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"id\")}>Id</button>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"\" placeholder=\"\" name=\"id\" onChange={() => filterColumn()} />\r\n </th>\r\n <th width=\"25%\" ><button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"name\")}>Dosya Adı</button>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"name\" placeholder=\"\" name=\"name\" onChange={() => filterColumn()} />\r\n </th>\r\n <th width=\"47%\" ><button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"basvuruTipi\")}>BaÅŸvuru Türü</button>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"basvuruTipi\" placeholder=\"\" name=\"basvuruTipi\" onChange={() => filterColumn()} />\r\n </th>\r\n <th width=\"15%\" ><button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"gurup\")}>Grup</button>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"gurup\" placeholder=\"\" name=\"gurup\" onChange={() => filterColumn()} />\r\n </th>\r\n {/*<th width=\"2%\"><button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"zorunlu\")}>Zorunlu</button>*/}\r\n {/* <input type=\"text\" className=\"form-control form-control-sm\" id=\"zorunlu\" placeholder=\"\" name=\"zorunlu\" onChange={() => filterColumn()} />*/}\r\n {/*</th>*/}\r\n <th width=\"2%\"><button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"kontrolorDosyasi\")}>Kontrolör</button>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"kontrolorDosyasi\" placeholder=\"\" name=\"kontrolorDosyasi\" onChange={() => filterColumn()} />\r\n </th>\r\n <th width=\"6%\"></th>\r\n \r\n </thead>\r\n <tbody id=\"myTable\">\r\n\r\n {tabledata.map(apprec =>\r\n <tr key={apprec.id} className=\"m-0 p-0\">\r\n <td>{apprec.id}</td>\r\n <td>\r\n {apprec.name}\r\n </td>\r\n <td>{apprec.basvuruTipi}\r\n </td>\r\n <td>\r\n {getFileGrupName(apprec)}\r\n </td>\r\n <td className=\"text-center\">\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"kontrolorDosyasi\" checked={apprec.kontrolorDosyasi == true} />\r\n </td>\r\n\r\n <td className=\"text-end\">\r\n <button onClick={() => window.changeComponent(<FileSettingDetaile rec={apprec} fileNames={tabledata} />)} className=\"btn btn-link btn-sm text-decoration-none text-muted p-0 m-0\">\r\n <span class=\"material-icons\">\r\n edit\r\n </span>\r\n </button>\r\n <button onClick={() => showConfirmMessage(\"Dosya silinsin mı?\",\"Bu iÅŸlem geri döndürülemez\",\"Evet Sil\",\"Hayır Ä°ptal Et\", ()=>sil(apprec)) } className=\"btn btn-link btn-sm text-decoration-none text-danger p-0 m-0\">\r\n <span class=\"material-icons\"> delete </span>\r\n </button>\r\n\r\n </td>\r\n </tr>\r\n )}\r\n\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n const Add = () => {\r\n window.changeComponent(<FileSettingDetaile rec={{ fileSize:5}} fileNames={listData} />)\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value;\r\n }\r\n\r\n\r\n const filterTable = (event) => {\r\n const target = event.target;\r\n const value = target.value;\r\n $(\"#myTable tr\").filter(function () {\r\n var keywords = removeTurkcLow(value)\r\n var rowtext = \"\";\r\n $(this).each(function () {\r\n rowtext += $(this).text();\r\n });\r\n if (removeTurkcLow(rowtext).indexOf(keywords) == -1) {\r\n return $(this).toggle(false);\r\n }\r\n return $(this).toggle(true);\r\n });\r\n }\r\n\r\n\r\n\r\n var listTable = renderTable(listData);\r\n\r\n return (\r\n <div >\r\n\r\n\r\n <div className=\"row m-3\">\r\n <div className=\"col-12 col-md-3\">\r\n <h5>Dosyalar</h5>\r\n </div>\r\n <div className=\"col-12 col-md-6\">\r\n <input className=\"form-control form-control-sm\" id=\"myInput\" type=\"text\" placeholder=\"Ara\" onKeyUp={filterTable} />\r\n\r\n </div>\r\n <div className=\"col-0 col-md-3 text-end\">\r\n <button onClick={Add} className=\" btn btn-primary\">Yeni Dosya OluÅŸtur </button>\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"col-12\">\r\n {listTable}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { ajaxFail, isEmpty, removeTurkcLow, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport $ from 'jquery';\r\n\r\nexport default function SablonMappingPanel(props) {\r\n var postdata = {};\r\n const [listData, setListData] = useState([]);\r\n const [rolList, setRolList] = useState([]);\r\n var sablons = props.sablons;\r\n\r\n const multiselectRef = React.createRef();\r\n\r\n useEffect(() => {\r\n fetchSablonMapping();\r\n fetchRoleList();\r\n }, [props.sablons])\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value;\r\n }\r\n\r\n var sablonSelect = <select className=\"form-select form-select-sm\" id=\"sablonSelect\" name=\"sablonSelect\" onChange={handleInputChange}>\r\n <option value=\"\" selected=\"selected\"> </option>\r\n {sablons.map(s => <option value={s.name} > {s.name}</option>)}\r\n </select>\r\n\r\n\r\n\r\n\r\n const fetchSablonMapping = () => {\r\n fetch(\"sablonmappinglist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n\r\n })\r\n\r\n }\r\n });\r\n }\r\n\r\n const fetchRoleList = () => {\r\n fetch(\"getrolelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setRolList(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const filterTable = (event) => {\r\n var value = document.getElementById(\"rolfiltercombo\").value;\r\n \r\n $(\"#myTable2 .row\").filter(function () {\r\n var text = $(this).children().eq(0).text();\r\n var values = text.split(\",\");\r\n if (isEmpty(value) || values.length == 0)\r\n return $(this).toggle(true);\r\n\r\n if (values.some(x => removeTurkcLow(x).toLowerCase() == removeTurkcLow(value).toLowerCase()))\r\n return $(this).toggle(true);\r\n return $(this).toggle(false);\r\n });\r\n\r\n }\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n <div id=\"myTable2\" >\r\n {tabledata.map(apprec =>\r\n <div key={apprec.id} className=\"rounded-3 p-3 row border-top \">\r\n <div hidden>\r\n {apprec.userId}\r\n </div>\r\n <div className=\"col-md-3 col-12\">\r\n <select className=\"form-select form-select-sm\" name=\"sablonSelect\" onChange={handleInputChange}>\r\n {sablons.map(s => <option value={s.name} selected={s.name == apprec.sablonName}> {s.name}</option>)}\r\n </select>\r\n </div>\r\n <div className=\"col-md-5 col-12\">\r\n <Multiselect className=\"\" id=\"multiselect-select\"\r\n options={rolList.map(r => r.name)}\r\n emptyRecordMsg=\"BaÅŸka Kullanıcı Tipi Yok\"\r\n isObject={false}\r\n //ref={multiselectRef}\r\n selectedValues={apprec.userId != null && apprec.userId.length > 0 ? apprec.userId.split(',') : []}\r\n onSelect={(selectedList, selectedItem) => { apprec.userId = selectedList.length == 0 ? null : selectedList.join() }}\r\n onRemove={(selectedList, selectedItem) => { apprec.userId = selectedList.length == 0 ? null : selectedList.join() }}\r\n placeholder=\"Roller\"\r\n />\r\n </div>\r\n <div className=\"col-md-2 col-12\">\r\n <input type=\"Number\" placeholder=\"Sıra\" defaultValue={apprec.sira} className=\"form-control form-control-sm\" name=\"sira\" onChange={(e) => updateRecord(apprec, e)} />\r\n </div>\r\n <div className=\"text-end col-md-2 col-12\">\r\n <button onClick={() => updatemapping(apprec)} className=\"btn btn-primary btn-sm text-decoration-none\">Güncelle</button> \r\n <button onClick={() => { Sil(apprec.id) }} className=\"btn btn-secondary btn-sm text-decoration-none\">Sil</button></div>\r\n </div>\r\n )}\r\n </div>\r\n\r\n return (mytable);\r\n }\r\n\r\n const Sil = (id) => {\r\n showConfirmMessage(id + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removesablonmapping\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: id\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n fetchSablonMapping();\r\n }\r\n }))\r\n }\r\n\r\n\r\n\r\n\r\n const updatemapping = (rec) => {\r\n fetch(\"updatesablonmapping\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı\")\r\n // setListData(value);\r\n\r\n })\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n const addMapping = () => {\r\n var mapping = [];\r\n var newmapping = {\r\n UserId: multiselectRef.current.getSelectedItems().join(),\r\n SablonName: document.getElementById(\"sablonSelect\").value\r\n }\r\n if (document.getElementById(\"sira\").value != null && document.getElementById(\"sira\").value.length > 0) {\r\n newmapping.sira = parseInt(document.getElementById(\"sira\").value);\r\n }\r\n\r\n if (listData.filter(x => x.sablonName == newmapping.SablonName).length > 0) {\r\n showErrorMessage(newmapping.SablonName + \" ekranının daha önce yetkilendirilmesi yapılmış.\", \"Lütfen o kayıt üzerinden güncelleme yapınız.\");\r\n return;\r\n }\r\n\r\n\r\n\r\n mapping.push(newmapping);\r\n fetch(\"saveuserdefaultsablon\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(mapping)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n document.getElementById(\"sablonSelect\").selectedIndex = -1;\r\n multiselectRef.current.resetSelectedValues();\r\n document.getElementById(\"sira\").value = \"\";\r\n fetchSablonMapping();\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n var listTable = renderTable(listData);\r\n\r\n return (\r\n <div className=\"p-3 mb-4\">\r\n <div className=\"bg-light mb-4 p-3 rounded-3 textvmuted fw-bold align-middle\" >\r\n <span className=\"fa fa-info pe-3\" style={{ color: \"lightblue\", fontSize: \"26px\" }} ></span>\r\n OluÅŸturduÄŸunuz ekranlar ile kullanıcı rollerini eÅŸleÅŸtirerek, hangi ekranın hangi role sahip kullanıcılarda görüntüleneceÄŸini belirleyebilirsiniz.\r\n </div>\r\n\r\n <div className=\"row border-bottom mb-4 pb-4\">\r\n <div className=\"col-md-3 col-12\">\r\n Ekran Seç <span className=\"text-danger\">*</span>\r\n {sablonSelect}\r\n </div>\r\n <div className=\"col-md-6 col-12\">\r\n Rolleri Seç <span className=\"text-danger\">*</span>\r\n <Multiselect className=\"p-0 form-control-sm bg-white\"\r\n options={rolList.map(r => r.name)}\r\n emptyRecordMsg=\"BaÅŸka Kullanıcı Tipi Yok\"\r\n isObject={false}\r\n ref={multiselectRef}\r\n //onSelect={(selectedList, selectedItem) => { postdata.userId = selectedList.join() }}\r\n // onRemove={(selectedList, selectedItem) => { postdata.userId = selectedList.join() }}\r\n placeholder=\"Yetkiler\"\r\n selectedValues={[]}\r\n />\r\n </div>\r\n <div className=\"col-md-2 col-12\">\r\n Sıra <span className=\"text-danger\">*</span>\r\n <input type=\"Number\" placeholder=\"\" className=\"form-control form-control-sm\" id=\"sira\" name=\"sira\" onChange={handleInputChange} />\r\n <span className=\"textvmuted small\">Ekranların soldan saÄŸa yer alacağı sırayı belirler</span>\r\n </div>\r\n <div className=\"col-md-1 col-12 text-end \">\r\n <br />\r\n <button onClick={addMapping} className=\"btn btn-sm btn-primary text-decoration-none \">Ekle\r\n </button>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n <div className=\"row pb-1\">\r\n <div className=\"col-12 col-md-5 fw-bold\">\r\n YetkilendirilmiÅŸ Ekranlar\r\n\r\n </div>\r\n </div>\r\n <div className=\"row mb-3 \">\r\n <div className=\"col-12 col-md-3\">\r\n </div>\r\n <div className=\"col-12 col-md-5 ps-4 pe-4\">\r\n Role Göre Filtrele\r\n\r\n <select className=\"form-select form-select-sm\" id=\"rolfiltercombo\" onChange={filterTable}>\r\n <option value=\"\"> </option>\r\n {rolList.map(x=>x.name).sort().map(x => <option >{x} </option>)}\r\n </select>\r\n\r\n {/* <input className=\"form-control form-control-sm\" id=\"myInput\" type=\"text\" placeholder=\"Arama\" onKeyUp={filterTable} />*/}\r\n\r\n </div>\r\n </div>\r\n\r\n {listTable}\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport SablonMappingPanel from './SablonMappingPanel';\r\nimport { ajaxFail, isEmpty, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\n\r\n\r\nexport default function EkranSetting(props) {\r\n\r\n const [listData, setListData] = useState(null);\r\n const [useroptions, setOptions] = useState([]);\r\n const [postdata, setPostData] = useState({});\r\n\r\n var options = ['ada', \"arsaSahibi\", 'arsaSahibiTel', 'basvuruDurumu', \"basvuruSahibi\", 'basvuruTarihi', 'basvuruTipi',\r\n 'basvuruYapan', \"boylam\", \"enlem\", 'id', 'idariMahalle', \"kontrolor\", \"tümKontrolorler\", 'mahalle', 'mevki', \"müellif\", \"m2\", \"no\",\r\n \"sokak\", \"iadeNedeni\", \"sonDuzeltmeTarihi\"\r\n , \"kontrolBaslamaTarihi\", \"kontrolBitmeTarihi\", \"kontrolSiraTarihi\", \"onayVerilmeTarihi\",\r\n , \"surecTamamlanmaTarihi\", \"eimzaAcilmaTrihi\", \"iadeTarihi\", \"taslakOlusturmaTarihi\", \"kabulEdilmeTarihi\",\r\n \"sonDuzeltmeTalebiTarihi\", \"Kontrol Durumu\", \"müellifKullanıcıAdı\", \"duzeltmeSayi\", \"IsAdimlari\", \"ilkHavaleTarihi\", , \"sonHavaleTarihi\"];\r\n\r\n options = options.concat(useroptions);\r\n const colorset = [\"#f0f7ff\", \"#FFFFFF\", \"#FFFFFF\", \"#f0f7ff\"];\r\n\r\n options = options.sort(function (a, b) {\r\n if (a == null || b == null)\r\n return 0;\r\n return a.toLowerCase().localeCompare(b.toLowerCase());\r\n });\r\n\r\n var sablonlist = [];\r\n\r\n const multiselectRef = React.createRef();\r\n\r\n const removeSablon = (recid) => {\r\n showConfirmMessage(recid + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removesablon\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(recid)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n fetchSablonList();\r\n }\r\n }));\r\n }\r\n\r\n const updatesablon = (recid) => {\r\n fetch(\"updatesablon\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(recid)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı.\")\r\n //setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n const fetchSablonList = () => {\r\n fetch(\"sablonlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n fetchFieldList();\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const fetchFieldList = () => {\r\n fetch(\"appfieldlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n var op = [];\r\n for (var i = 0; i < value.length; i++)\r\n op.push(value[i].name);\r\n setOptions(op);\r\n\r\n })\r\n }\r\n });\r\n }\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n <div className=\"row ms-2 me-2 pb-3\">\r\n {tabledata.map((apprec, idx) =>\r\n <div className={\"col-md-6 col-12 \"}>\r\n <div className=\"border rounded-3 mt-3 p-0 text-center border-1\" style={{ \"background-color\": colorset[idx % colorset.length] }}>\r\n <div className=\"d-inline float-start\">\r\n <button onClick={() => removeSablon(apprec.name)} className=\"btn btn-secondary btn-sm text-decoration-none \">Sil</button>\r\n </div>\r\n <div className=\"d-inline \">\r\n <button onClick={() => setPostData(apprec)} className=\"btn btn-link btn-sm text-decoration-none \">{apprec.name}</button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n const Add = () => {\r\n postdata.name = document.getElementById(\"SablonAdi\").value;\r\n var ft = document.getElementById(\"filter\").value;\r\n if (document.getElementById(\"forListView\").checked == false && document.getElementById(\"forTableView\").checked == false) {\r\n showErrorMessage(\"Lütfen Liste veya Kart görünümünden en az birini seçiniz.\", \"\");\r\n return;\r\n }\r\n\r\n\r\n postdata.forListView = document.getElementById(\"forListView\").checked;\r\n postdata.forTableView = document.getElementById(\"forTableView\").checked;\r\n var sort = document.getElementById(\"sort\").value;\r\n postdata.sort = sort;\r\n if (sort.length > 0 && sort.endsWith(\",\"))\r\n postdata.sort = sort.substring(0, sort.length - 1);\r\n\r\n postdata.filter = ft;\r\n if (ft.length > 0 && ft.endsWith(\",\"))\r\n postdata.filter = ft.substring(0, ft.length - 1);\r\n if (isEmpty(postdata.filter) == false) {\r\n postdata.filter = postdata.filter.trim();\r\n if (postdata.filter.toLowerCase().startsWith(\",\"))\r\n postdata.filter = postdata.filter.substring(1);\r\n if (postdata.filter.toLowerCase().startsWith(\"or\"))\r\n postdata.filter = postdata.filter.substring(2);\r\n if (postdata.filter.toLowerCase().startsWith(\"and\"))\r\n postdata.filter = postdata.filter.substring(3);\r\n \r\n }\r\n postdata.filter = postdata.filter.trim();\r\n\r\n \r\n if (isEmpty(postdata.name)) {\r\n showErrorMessage(\"Ekran ismi boÅŸ olamaz\");\r\n return;\r\n }\r\n postdata.colNames = multiselectRef.current.getSelectedItems().join(\",\");\r\n if (isEmpty(postdata.colNames)) {\r\n showErrorMessage(\"Kolon listesi boÅŸ olamaz\");\r\n return;\r\n }\r\n\r\n\r\n fetch(\"savesablon\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(postdata)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n showSuccessMessage(postdata.name + \" Ä°simli Ekran KaydedilmiÅŸtir\")\r\n multiselectRef.current.resetSelectedValues();\r\n document.getElementById(\"SablonAdi\").value = \"\";\r\n document.getElementById(\"filter\").value = \"\";\r\n fetchSablonList();\r\n setPostData({})\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n const AddFilter = () => {\r\n //if (document.getElementById('filtervalue').checkValidity() == false) {\r\n // alert(\"Sadece harf veya rakam girilebilir\");\r\n // return;\r\n //} \r\n var andor = document.getElementById(\"andor\").value;\r\n if (document.getElementById(\"andor\").disabled == true)\r\n andor = \"\";\r\n var oper = document.getElementById(\"oper\").value;\r\n var filtervalue = document.getElementById(\"filtervalue\").value;\r\n var filterColSelect = document.getElementById(\"filterColSelect\").value;\r\n var myfilter = andor + \" \" + filterColSelect + \" \" + oper + \" \" + filtervalue + \",\";\r\n document.getElementById(\"filter\").value += myfilter;\r\n document.getElementById(\"andor\").disabled = false;\r\n\r\n\r\n }\r\n const ClearFilter = () => {\r\n document.getElementById(\"filter\").value = \"\";\r\n document.getElementById(\"andor\").disabled = true;\r\n }\r\n const clearSort = () => {\r\n document.getElementById(\"sort\").value = \"\";\r\n }\r\n\r\n const AddArtan = () => {\r\n var filterColSelect = document.getElementById(\"siraColSelect\").value;\r\n\r\n var v = document.getElementById(\"sort\").value;\r\n if (isEmpty(v) == false && v.endsWith(\",\") == false)\r\n v += \",\"\r\n v += filterColSelect + \",\";\r\n document.getElementById(\"sort\").value = v;\r\n\r\n }\r\n const AddAzalan = () => {\r\n var filterColSelect = document.getElementById(\"siraColSelect\").value;\r\n var v = document.getElementById(\"sort\").value;\r\n if (isEmpty(v) == false && v.endsWith(\",\") == false)\r\n v += \",\"\r\n v += filterColSelect + \",\";\r\n document.getElementById(\"sort\").value = v + \"-\" + filterColSelect + \",\";\r\n }\r\n\r\n\r\n useEffect(() => {\r\n fetchSablonList();\r\n\r\n }, [])\r\n\r\n\r\n const onSelect = (selectedList, selectedItem) => {\r\n var clist = selectedList.map(rec => \"<option value='\" + rec + \"'>\" + rec + \"</option>\");\r\n // document.getElementById(\"filterColSelect\").innerHTML = clist;\r\n document.getElementById(\"filterColSelect\").selectedIndex = -1;\r\n document.getElementById(\"siraColSelect\").innerHTML = clist;\r\n\r\n }\r\n\r\n const onRemove = (selectedList, removedItem) => {\r\n var clist = selectedList.map(rec => \"<option value='\" + rec + \"'>\" + rec + \"</option>\");\r\n // document.getElementById(\"filterColSelect\").innerHTML = clist;\r\n document.getElementById(\"filterColSelect\").selectedIndex = -1;\r\n document.getElementById(\"siraColSelect\").innerHTML = clist;\r\n }\r\n\r\n return (\r\n <div className=\"p-2 rounded-3\" style={{ \"background-color\": \"#EDEDF7\", \"min-height\": \"100vh\" }}>\r\n <div className=\"row mt-3 p-3 d-flex flex-wrap pe-4\" key={postdata.name}>\r\n <div className=\"col-12 col-md-6 d-flex flex-column\">\r\n <div className=\" bg-white rounded-3\" >\r\n <div className=\"p-3 fw-bold border-bottom mb-3\" >\r\n Yeni Ekran OluÅŸtur\r\n </div>\r\n <div className=\"bg-light m-4 p-3 rounded-3 textvmuted fw-bold align-middle\" >\r\n <span className=\"fa fa-info pe-3\" style={{ color: \"lightblue\", fontSize: \"26px\" }} ></span>\r\n Bu alanda, Liste Görünümü ve Kart Görünümünde kullanılmak üzere ekranlar oluÅŸturabilirsiniz. OluÅŸturduÄŸunuz ekranlarda hangi kolonların, hangi filtre ile ve hangi sıralama ile görüntüleneceÄŸini belirleyebilirsiniz.\r\n </div>\r\n\r\n\r\n {isEmpty(postdata.name) != true && < div className=\"row ms-2 me-2 mb-4 pb-4 border-bottom\">\r\n <div className=\"col-12 align-middle text-center \" >\r\n <span className=\"text-success fw-bold\"> {postdata.name} </span> ekranını düzenliyorsunuz\r\n <button onClick={() => {\r\n setPostData({})\r\n\r\n\r\n }} className=\"ms-2 btn btn-sm btn-secondary text-decoration-none\">Vazgeç</button>\r\n </div>\r\n </div>}\r\n\r\n\r\n <div className=\"m-4 pt-3 border-top\">\r\n Ekran Adı <span className=\"text-danger\">*</span>\r\n <input type=\"text\" className=\"form-control form-control-sm \" id=\"SablonAdi\" placeholder=\"\" name=\"Name\" defaultValue={postdata.name} />\r\n <span className=\"textvmuted small\">OluÅŸturacağınız ekrana bir isim veriniz</span>\r\n </div>\r\n\r\n <div className=\"m-4 \">\r\n Kolonlar <span className=\"text-danger\">*</span>\r\n <Multiselect className=\"\"\r\n options={options}\r\n emptyRecordMsg=\"BaÅŸka BaÅŸvuru Tipi Yok\"\r\n ref={multiselectRef}\r\n isObject={false}\r\n onSelect={onSelect} // Function will trigger on select event\r\n onRemove={onRemove} // Function will trigger on remove event\r\n selectedValues={postdata.colNames != null ? postdata.colNames.split(\",\") : []}\r\n placeholder=\"\"\r\n />\r\n <span className=\"textvmuted small\">Ekranda hangi kolonların(bilgilerin) görüntüleneceÄŸini seçin</span>\r\n </div>\r\n\r\n\r\n <div className=\"m-4 mb-3\">\r\n Ekran Tipi <span className=\"text-danger\">*</span>\r\n <div className=\"row\" >\r\n <div className=\"col-md-2 col-12\">\r\n <div class=\"form-check form-check-inline\">\r\n <input class=\"form-check-input big-checkbox me-1\" type=\"checkbox\" value=\"\" id=\"forListView\" name=\"forListView\" defaultChecked={postdata.forListView} />\r\n <label class=\"form-check-label pt-1\" for=\"flexCheckDefault\">\r\n List\r\n </label>\r\n </div>\r\n </div>\r\n <div className=\"col-md-2 col-12\">\r\n <div class=\"form-check form-check-inline\">\r\n <input class=\"form-check-input big-checkbox me-1\" type=\"checkbox\" value=\"\" id=\"forTableView\" name=\"forTableView\" defaultChecked={postdata.forTableView} />\r\n <label class=\"form-check-label pt-1\" for=\"flexCheckChecked\">\r\n Kart\r\n </label>\r\n </div>\r\n </div>\r\n <div className=\"col-md-8 col-12\">\r\n <span className=\"textvmuted small\">OluÅŸturduÄŸunuz ekranın Liste Görünümü ve Kart Görünümünden hangilerinde yer alacağını seçin</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n \r\n <div className=\"row mt-5 m-3 mt-1 border-top \">\r\n <div className=\"col-md-11 col-12\">\r\n Uygulanacak Filtre\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"filter\" placeholder=\"Filtre\" name=\"filter\" defaultValue={postdata.filter} />\r\n\r\n </div>\r\n <div className=\"col-md-1 col-12 text-end\">\r\n <br/>\r\n <button onClick={ClearFilter} className=\"ms-1 btn btn-sm btn-secondary\">Sil</button>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n <div className=\"row m-3 mt-1\">\r\n <div className=\"col-md-4 col-12 border-top mt-4\">\r\n </div>\r\n <div className=\"col-md-4 col-12\">\r\n Filtre Ekleme Yöntemi\r\n <select className=\"form-select form-select-sm \" id=\"andor\" name=\"andor\" placeholder=\"Filtre\" disabled={isEmpty(postdata.filter)}>\r\n <option value=\"AND\"> AND </option>\r\n <option value=\"OR\"> OR </option>\r\n </select>\r\n\r\n </div>\r\n <div className=\"col-md-4 col-12 border-top mt-4\">\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n <div className=\"m-3\">\r\n <div className=\"row\">\r\n <div className=\"col-md-4 col-12\">\r\n Filtrelenecek Alan\r\n <select className=\"form-select form-select-sm \" id=\"filterColSelect\" name=\"filterColSelect\">\r\n {options.map(rec => <option value={rec}> {rec} </option>)}\r\n </select>\r\n </div>\r\n <div className=\"col-md-2 col-12 ps-0\">\r\n Operator\r\n <select className=\"form-select form-select-sm \" id=\"oper\" name=\"oper\" placeholder=\"Filtre\">\r\n <option value=\"=\">{\"=\"} </option>\r\n <option value=\"!=\"> {\"!=\"} </option>\r\n <option value=\">\"> {\">\"} </option>\r\n <option value=\"<\"> {\"<\"} </option>\r\n <option value=\"LIKE\"> {\"LIKE\"} </option>\r\n <option value=\"NOTLIKE\"> {\"NOTLIKE\"} </option>\r\n <option value=\"ISNULL\"> {\"ISNULL\"} </option>\r\n <option value=\"ISNOTNULL\"> {\"ISNOTNULL\"} </option>\r\n\r\n </select>\r\n </div>\r\n <div className=\"col-md-4 col-12 ps-0\">\r\n Filtre DeÄŸeri\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"filtervalue\" placeholder=\"Filtre DeÄŸeri\" name=\"filter\" pattern=\"[a-zA-Z0-9ÜüÅşÇçÖöÄğİı ]+\" />\r\n\r\n </div>\r\n <div className=\"col-md-2 p-0 col-12 \"><br />\r\n <button onClick={AddFilter} className=\"btn btn-sm btn-primary\">Ekle</button>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div className=\"m-3 mt-5\">\r\n\r\n <div className=\"row \">\r\n <div className=\"col-md-6 col-12\">\r\n Sıralama Uygulanacak Alan\r\n <select className=\"form-select form-select-sm\" id=\"siraColSelect\" name=\"siraColSelect\" >\r\n {isEmpty(postdata.colNames) == false && postdata.colNames.split(\",\").map(x => <option value={x} >{x}</option>)}\r\n </select>\r\n </div>\r\n <div className=\"col-md-6 col-12 text-end\"><br />\r\n <button onClick={AddArtan} className=\"btn btn-sm btn-primary\">Artan</button>\r\n <button onClick={AddAzalan} className=\"ms-1 btn btn-sm btn-info\">Azalan</button>\r\n <button onClick={clearSort} className=\"ms-1 btn btn-sm btn-secondary\">Sil</button>\r\n </div>\r\n </div>\r\n <div className=\" mt-1\">\r\n Uygulanacak Sıralama\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"sort\" placeholder=\"Sıralama\" name=\"sort\" disabled defaultValue={postdata.sort} />\r\n </div>\r\n </div>\r\n <div className=\"row mt-3\">\r\n <div className=\"col-12 text-center pb-2\">\r\n <button onClick={Add} className=\"btn btn-primary m-1\">Ekranı Kaydet</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n {/*----------------------------------------------------------------------------------------------------*/}\r\n <div className=\"col-12 col-md-6 d-flex flex-column bg-white rounded-3\">\r\n <div className=\" \" >\r\n <div className=\"p-3 fw-bold border-bottom\" >\r\n OluÅŸturulan Ekranlar\r\n </div>\r\n <div className=\"bg-light m-3 p-3 mb-2 rounded-3 textvmuted fw-bold align-middle\" >\r\n <span className=\"fa fa-info pe-3\" style={{ color: \"lightblue\", fontSize: \"26px\" }} ></span>\r\n OluÅŸturduÄŸunuz ekranları silebilir veya özelliklerini deÄŸiÅŸtirebilirsiniz. Ekran isminin üzerine tıkladıktan sonra “Yeni Ekran OluÅŸturma†alanından özelliklerini düzenleyebilirsiniz. </div>\r\n <div className=\"\">\r\n {listData != null ? renderTable(listData) : \"\"}\r\n </div>\r\n\r\n </div>\r\n </div>\r\n {/*----------------------------------------------------------------------------------------------------*/}\r\n </div >\r\n <div className=\"row p-3 \">\r\n <div className=\"col-12 \">\r\n <div className=\"bg-white rounded-3\" >\r\n <div className=\"p-3 fw-bold border-bottom\" >\r\n Ekran Yetkilendirme\r\n </div>\r\n\r\n\r\n <div className=\"mt-1\">\r\n {listData != null ? <SablonMappingPanel sablons={listData} /> : \"\"}\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div >\r\n\r\n\r\n\r\n );\r\n\r\n\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { showSuccessMessage, useGlobalState, showErrorMessage, showConfirmMessage } from '../GlobalState.js';\r\nimport axios from \"axios\";\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport ReactQuill from 'react-quill';\r\nimport 'react-quill/dist/quill.snow.css';\r\n\r\nexport default function MevzuaatSetting(props) {\r\n var postdata = {};\r\n postdata[\"FileType\"] = \"pdf\";\r\n var selectedRecord = null;\r\n const [listData, setListData] = useState(null);\r\n const [typeOptions, setTypeOptions] = useState([]);\r\n var multiselectRef = React.createRef();\r\n const [role, setRole] = useGlobalState('role');\r\n\r\n useEffect(() => {\r\n getHelpList();\r\n initModal();\r\n }, [])\r\n\r\n const sil = (rec) => {\r\n showConfirmMessage(rec.id + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removeyonetmenlik\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec.id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n }));\r\n }\r\n\r\n\r\n const SendFiles = (event) => {\r\n document.getElementById(\"fileuploadsp\").hidden = false;\r\n var selectedFile = { file: event.target.files[0] }\r\n var formData = new FormData();\r\n formData.append(\"file\", selectedFile.file);\r\n formData.append(\"caption\", selectedFile.file.name);\r\n formData.append(\"appid\", selectedRecord.id);\r\n axios.post(\r\n \"submityonetmenlik\",\r\n formData,\r\n {\r\n headers: {\r\n \"Content-type\": \"multipart/form-data\",\r\n },\r\n }\r\n ).then(res => {\r\n document.getElementById(\"fileuploadsp\").hidden = true;\r\n var locModal = document.getElementById('myModal');\r\n locModal.style.display = \"none\";\r\n locModal.classList.add(\"hide\");\r\n setListData(res.data);\r\n })\r\n .catch(err => { showErrorMessage(err); })\r\n }\r\n\r\n\r\n const initModal = () => {\r\n var locModal = document.getElementById('myModal');\r\n var btnclosedown = document.getElementById('downclosemodal');\r\n btnclosedown.addEventListener('click', (e) => {\r\n locModal.style.display = \"none\";\r\n locModal.classList.add(\"hide\");\r\n });\r\n }\r\n\r\n\r\n\r\n const onSelect = (selectedList, selectedItem) => {\r\n postdata[\"roles\"] = multiselectRef.current.getSelectedItems().map(c => c.appType).join(\", \")\r\n }\r\n const onRemove = (selectedList, removedItem) => {\r\n postdata[\"roles\"] = multiselectRef.current.getSelectedItems().map(c => c.appType).join(\", \")\r\n }\r\n\r\n const fetchUserTypeList = () => {\r\n\r\n fetch(\"getusertypelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setTypeOptions(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const getHelpList = () => {\r\n fetch(\"getyonetmenliklist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value)\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n const updateMevzuuat = (rec) => {\r\n fetch(\"updateyonetmenlik\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı\")\r\n setListData(value)\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const Add = () => {\r\n fetch(\"addyonetmenlik\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(postdata)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n //document.getElementById(\"caption\").value = \"\";\r\n document.getElementById(\"url\").value = \"\";\r\n getHelpList();\r\n }\r\n });\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value;\r\n }\r\n\r\n var controlPanel = \"\";\r\n\r\n\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n\r\n <table className='table table-vdstriped table-sm text-start' aria-labelledby=\"tabelLabel\">\r\n <thead className=\"text-start\">\r\n <tr>\r\n <th width=\"3%\" className=\"text-start\">No</th>\r\n <th width=\"30%\" className=\"text-start\">Açıklama</th>\r\n <th width=\"27%\" className=\"text-start\">Link</th>\r\n <th width=\"10%\" className=\"text-start\">Dosya</th>\r\n <th width=\"10%\" className=\"text-start\">Ekleyen</th>\r\n <th width=\"10%\" className=\"text-start\">Kayıt Tarihi</th>\r\n <th width=\"10%\" className=\"text-end\"></th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n <tr key={apprec.id}>\r\n <td className=\"text-center\">{apprec.id}</td>\r\n\r\n \r\n {/*<textarea className=\"form-control form-control-sm\" placeholder=\"\" name=\"caption\" defaultValue={apprec.caption} onChange={(e) => updateRecord(apprec, e)} />*/}\r\n\r\n <td style={{ \"resize\": \"vertical\", \"overflow-y\": \"scroll\", \"height\": \"120px\", \"min-width\": \"500px\" }} className=\"p-2\">\r\n <ReactQuill className=\"h-100\" theme=\"snow\" onChange={(e) => apprec.caption = e} defaultValue={apprec.caption} />\r\n </td>\r\n\r\n \r\n <td >\r\n {/* <div style={{ \"overflow-x\": \"auto\", \"maxWidth\": \"400px\" }}> <a href={apprec.url} target=\"_blank\" > {apprec.url} </a></div>*/}\r\n \r\n <textarea className=\"form-control form-control-sm\" placeholder=\"\" name=\"url\" defaultValue={apprec.url} onChange={(e) => updateRecord(apprec, e)} />\r\n\r\n \r\n </td>\r\n\r\n <td><a href={'getyonetmenlik?id=' + apprec.id} download={apprec.fileName}> {apprec.fileName} </a></td>\r\n <td>{apprec.userName}</td>\r\n <td>{apprec.postDate}</td>\r\n <td>{role.indexOf(UserPermConstants.Yonetmelik_Yukleme) != -1 &&<>\r\n <button onClick={() => sil(apprec)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Sil</button> \r\n <button onClick={() => updateMevzuuat(apprec)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Güncelle</button> \r\n <button onClick={() => {\r\n document.getElementById('myModal').style.display = \"block\";\r\n document.getElementById('myModal').classList.remove(\"hide\");\r\n selectedRecord = apprec;\r\n }} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">\r\n Dosya Ekle</button></>}</td>\r\n </tr>\r\n )}\r\n {role.indexOf(UserPermConstants.Yonetmelik_Yukleme) != -1 &&\r\n <tr className=\"bg-white mt-3\">\r\n <td></td>\r\n <td>\r\n <ReactQuill className=\"\" theme=\"snow\" value=\"\" onChange={(e) => postdata.caption = e} />\r\n\r\n </td>\r\n <td>\r\n <textarea className=\"form-control form-control-sm\" placeholder=\"Link\" id=\"url\" name=\"url\" onChange={handleInputChange} />\r\n </td>\r\n <td></td>\r\n <td></td>\r\n <td></td>\r\n <td> <button onClick={Add} className=\"btn btn-sm btn-link text-decoration-none m-0 p-0\">Ekle</button></td>\r\n </tr>}\r\n </tbody>\r\n </table>\r\n\r\n return (mytable);\r\n }\r\n\r\n var listTable = <div class=\"spinner-border \" ></div>;\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n\r\n return (\r\n <div className=\" mt-2 rounded\">\r\n\r\n <h5>Mevzuat Ayarları</h5>\r\n <div className=\"row\">\r\n <div className=\"col-12 text-center\">\r\n {listTable}\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div className=\"modal\" id=\"myModal\" >\r\n <div class=\"modal-dialog modal modal-dialog-centered \">\r\n <div class=\"modal-content\" >\r\n <div class=\"modal-body\" id=\"mymodalbody\" >\r\n\r\n <div className=\"row\">\r\n <div className=\"col-10\">\r\n\r\n <label for=\"formFile\" class=\"form-label\">Dosya Yukle</label>\r\n <br />\r\n <input class=\"form-control form-control-sm mt-2\" type=\"file\" id=\"formFile\" onChange={(e) => SendFiles(e)} />\r\n </div>\r\n\r\n <div className=\"col-2 text-end\">\r\n <div class=\"spinner-border spinner-border-sm\" hidden id=\"fileuploadsp\" ></div>\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-danger\" id=\"downclosemodal\" data-bs-dismiss=\"modal\">Close</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n );\r\n\r\n\r\n\r\n}","import React, { useState, useEffect, createRef } from 'react';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { isEmpty, showErrorMessage, showSuccessMessage, useGlobalState } from '../GlobalState.js';\r\nimport { ajaxFail, removeTurkcLow } from '../GlobalState.js';\r\nimport $ from 'jquery';\r\nimport FileSettingList from './FileSettingList.js';\r\nimport BasvuruAlanlariSetting from './BasvuruAlanlariSetting.js';\r\n\r\n\r\nexport default function BasvuruAlaniDetail(props) {\r\n var postdata = {};\r\n const rec = props.appRec;\r\n var basvuruTurleri = props.basvuruTurleri.filter(x=>x.isadimi!=true)\r\n const typeOptions = props.denetims;\r\n\r\n const roles=props.roles;\r\n\r\n const multiselectRefNew = React.createRef();\r\n const multiselectRefNewRole = React.createRef();\r\n\r\n useEffect(() => {\r\n\r\n }, [])\r\n\r\n const submitUpdateRecord = (rec) => {\r\n\r\n fetch(\"updateAppField\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı\")\r\n \r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const onSelect = (selectedList, selectedItem) => {\r\n var clist = selectedList.join();\r\n postdata[\"basvuruTipi\"] = clist;\r\n }\r\n const onRemove = (selectedList, removedItem) => {\r\n var clist = selectedList.join();\r\n postdata[\"basvuruTipi\"] = clist;\r\n }\r\n\r\n const Add = () => {\r\n\r\n\r\n fetch(\"addAppField\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n showSuccessMessage(\"Kayıt BaÅŸarılı\", \"\", () => window.changeComponent(<BasvuruAlanlariSetting />));\r\n }\r\n });\r\n\r\n }\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value.trim();\r\n if (target.checkValidity() == false) {\r\n showErrorMessage(\"Sadece harf veya rakam girilebilir\");\r\n\r\n target.value = \"\";\r\n return;\r\n }\r\n postdata[target.name.trim()] = value;\r\n }\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n <div className=\"table-responsive mainpagescroll\" style={{ \"height\": \"85vh\" }}>\r\n <table className='table table-vdstriped table-sm' aria-labelledby=\"tabelLabel\">\r\n\r\n <tbody id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n <tr key={apprec.id}>\r\n <td hidden>\r\n {apprec.basvuruTipi} {apprec.name}\r\n </td>\r\n <td>\r\n </td>\r\n <td>\r\n </td>\r\n <td>\r\n </td>\r\n {/* <td>{apprec.crerateTime}</td>*/}\r\n\r\n <td>\r\n <button onClick={() => submitUpdateRecord(apprec)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Güncelle</button> \r\n </td>\r\n </tr>\r\n )}\r\n <tr className=\"bg-white\">\r\n <td> </td>\r\n <td >\r\n\r\n <Multiselect className=\"p-0 form-control-sm bg-white\"\r\n options={basvuruTurleri.map(b => b.name)}\r\n emptyRecordMsg=\"BaÅŸka Yetki Yok\"\r\n ref={multiselectRefNew}\r\n isObject={false}\r\n onSelect={onSelect}\r\n onRemove={onRemove}\r\n placeholder=\"BaÅŸvuru Tipleri\"\r\n selectedValues={[]}\r\n /></td>\r\n <td>\r\n <input type=\"text\" style={{ \"background-color\": \"transparent\" }} className=\"form-control form-control-sm\" id=\"name\" pattern=\"[a-zA-Z0-9ÜüÅşÇçÖöÄğİı\\(\\)_ ]+\" placeholder=\"Soru\" name=\"name\" onChange={handleInputChange} defaultValue=\"\" />\r\n </td>\r\n <td>\r\n <select className=\"form-select form-select-sm\" id=\"type\" name=\"type\" placeholder=\"Soru Türü\" defaultValue=\"\" onChange={handleInputChange} >\r\n <option value=\"text\">Yazı</option>\r\n\r\n <option value=\"select\">Çoktan Seçmeli</option>\r\n <option value=\"checkbox\">Checkbox</option>\r\n <option value=\"number\">Sayı</option>\r\n <option value=\"select multiple\">Çoklu Seçim</option>\r\n <option value=\"date\">Tarih</option>\r\n <option value=\"textarea\">Buyuk Yazı</option>\r\n </select>\r\n\r\n </td>\r\n <td>\r\n <input type=\"text\" style={{ \"background-color\": \"transparent\" }} className=\"form-control form-control-sm\" placeholder=\"Varsayılan DeÄŸer\" name=\"initValue\" id=\"initValue\" defaultValue=\"\" onChange={handleInputChange} />\r\n </td>\r\n <td>\r\n <input type=\"text\" style={{ \"background-color\": \"transparent\" }} className=\"form-control form-control-sm\" placeholder=\"Sıra\" name=\"sira\" id=\"sira\" defaultValue=\"\" onChange={handleInputChange} />\r\n </td>\r\n <td>\r\n <input type=\"checkbox\" className=\"form-check-input\" id=\"reqired\" name=\"reqired\" onChange={handleInputChange} />\r\n </td>\r\n <td>\r\n <input type=\"checkbox\" className=\"form-check-input\" id=\"active\" name=\"active\" onChange={handleInputChange} />\r\n </td>\r\n <td> <input type=\"checkbox\" className=\"form-check-input\" id=\"printable\" name=\"printable\" onChange={handleInputChange} /></td>\r\n <td> <input type=\"checkbox\" className=\"form-check-input\" id=\"gizli\" name=\"gizli\" onChange={handleInputChange} /></td>\r\n\r\n <td>\r\n <Multiselect className=\" p-0 form-control form-control-sm \"\r\n options={roles}\r\n placeholder=\"Rol\"\r\n emptyRecordMsg=\"BaÅŸka Kayıt Yok\"\r\n displayValue=\"name\"\r\n isObject={true}\r\n ref={multiselectRefNewRole}\r\n selectedValues={[]}\r\n onSelect={(selectedList, removedItem) => { postdata.role = selectedList.length == 0 ? null : selectedList.map(rec => rec.id).join() }} // Function will trigger on select event\r\n onRemove={(selectedList, removedItem) => { postdata.role = selectedList.length == 0 ? null : selectedList.map(rec => rec.id).join() }} // Function will trigger on remove event\r\n />\r\n </td>\r\n {/* <td></td>*/}\r\n\r\n <td> <button onClick={Add} className=\"btn btn-sm btn-link text-decoration-none m-0 p-0\">Ekle</button></td>\r\n </tr>\r\n <tr className=\"bg-white\">\r\n <td> </td>\r\n <td >\r\n\r\n <Multiselect className=\"p-0 form-control-sm bg-white\"\r\n options={basvuruTurleri.map(b => b.name)}\r\n emptyRecordMsg=\"BaÅŸka Yetki Yok\"\r\n ref={multiselectRefNew}\r\n isObject={false}\r\n onSelect={onSelect}\r\n onRemove={onRemove}\r\n placeholder=\"BaÅŸvuru Tipleri\"\r\n selectedValues={[]}\r\n /></td>\r\n <td>\r\n <input type=\"text\" style={{ \"background-color\": \"transparent\" }} className=\"form-control form-control-sm\" id=\"name\" pattern=\"[a-zA-Z0-9ÜüÅşÇçÖöÄğİı\\(\\)_ ]+\" placeholder=\"Soru\" name=\"name\" onChange={handleInputChange} defaultValue=\"\" />\r\n </td>\r\n <td>\r\n <select className=\"form-select form-select-sm\" id=\"type\" name=\"type\" placeholder=\"Soru Türü\" defaultValue=\"\" onChange={handleInputChange} >\r\n <option value=\"text\">Yazı</option>\r\n\r\n <option value=\"select\">Çoktan Seçmeli</option>\r\n <option value=\"checkbox\">Checkbox</option>\r\n <option value=\"number\">Sayı</option>\r\n <option value=\"select multiple\">Çoklu Seçim</option>\r\n <option value=\"date\">Tarih</option>\r\n <option value=\"textarea\">Buyuk Yazı</option>\r\n </select>\r\n\r\n </td>\r\n <td>\r\n <input type=\"text\" style={{ \"background-color\": \"transparent\" }} className=\"form-control form-control-sm\" placeholder=\"Varsayılan DeÄŸer\" name=\"initValue\" id=\"initValue\" defaultValue=\"\" onChange={handleInputChange} />\r\n </td>\r\n\r\n\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n \r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value.trim();\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n var listTable = renderTable([]);\r\n\r\n\r\n var mus = document.getElementById(\"KonMultiSelect\");\r\n if (mus != null) {\r\n if (mus.disabled == true) {\r\n if (!mus.classList.contains('bg-pasif')) {\r\n mus.classList.add(\"bg-pasif\");\r\n }\r\n }\r\n else {\r\n mus.classList.remove(\"bg-pasif\");\r\n mus.classList.add(\"bg-white\");\r\n }\r\n }\r\n\r\n\r\n\r\n return (\r\n <div className=\"p-2 rounded-3\" style={{ \"background-color\": \"#EDEDF7\", \"min-height\": \"100vh\" }}>\r\n <div className=\"row \" >\r\n <div className=\"col-12 col-md-6 \" >\r\n\r\n <span className=\"me-3\" style={{ \"font-size\": \"14px\", \"font-weight\": \"600\", \"color\": \"#4b5675\" }}> {rec.userName} </span>\r\n <span className=\"me-3\" style={{ \"font-size\": \"14px\", \"font-weight\": \"600\", \"color\": \"#99a1b7\" }}>{rec.crerateTime} </span>\r\n <span style={{ \"font-size\": \"14px\", \"font-weight\": \"600\", \"color\": \"#99a1b7\" }}> Id: {rec.id} </span>\r\n\r\n </div>\r\n <div className=\"col-12 col-md-6 text-end pt-1\" >\r\n <button onClick={() => {\r\n if (rec.id != null)\r\n submitUpdateRecord(rec)\r\n else\r\n Add(rec)\r\n }\r\n } className=\"btn btn-primary btn-sm text-decoration-none me-2\" > Kaydet </button>\r\n <button onClick={() => window.changeComponent(<BasvuruAlanlariSetting />)} className=\"btn btn-secondary btn-sm text-decoration-none\">Vazgeç</button >\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-1 p-3\" >\r\n <div className=\"col-12 col-md-6\" >\r\n <div className=\" bg-white rounded-3\" >\r\n <div className=\"p-3 fw-bold border-bottom\" >\r\n Genel Özellikler\r\n\r\n </div>\r\n <div className=\"p-4\" >\r\n Soru Adı <span className=\"text-danger\" >* </span>\r\n\r\n <input type=\"text\" className=\"form-control form-control-sm\" pattern=\"[a-zA-Z0-9ÜüÅşÇçÖöÄğİı\\(\\)_\\- ]+\" placeholder=\"Soru Adı\" name=\"name\" defaultValue={rec.name} onChange={(e) => updateRecord(rec, e)} />\r\n\r\n </div>\r\n\r\n <div className=\"p-4\" >\r\n BaÅŸvuru Tipi <span className=\"text-danger\" >* </span>\r\n <Multiselect className=\"p-0\"\r\n options={basvuruTurleri.map(b => b.name)}\r\n emptyRecordMsg=\"BaÅŸka BaÅŸvuru Tipi Yok\"\r\n\r\n isObject={false}\r\n onSelect={(selectedList, selectedItem) => { rec.basvuruTipi = selectedList.join() }}\r\n onRemove={(selectedList, selectedItem) => { rec.basvuruTipi = selectedList.join() }}\r\n placeholder=\"\"\r\n selectedValues={rec.basvuruTipi != null ? rec.basvuruTipi.split(',') : []}\r\n />\r\n <div class=\"textvmuted\">\r\n Sorunun hangi baÅŸvurularda yer alacağını seçebilirsiniz.\r\n </div>\r\n </div>\r\n\r\n < div className=\"p-4\" >\r\n\r\n Soru Tipi < span className=\"text-danger\" >* </span>\r\n\r\n <select style={{ \"background-color\": \"transparent\" }} className=\"form-select form-select-sm\" name=\"type\" placeholder=\"Soru Türü\" defaultValue={rec.type} onChange={(e) => updateRecord(rec, e)} >\r\n <option value=\"text\">Yazı</option>\r\n\r\n <option value=\"select\">Çoktan Seçmeli</option>\r\n <option value=\"checkbox\">Checkbox</option>\r\n <option value=\"number\">Sayı</option>\r\n <option value=\"select multiple\">Çoklu Seçim</option>\r\n <option value=\"date\">Tarih</option>\r\n <option value=\"textarea\">Buyuk Yazı</option>\r\n </select>\r\n </div>\r\n\r\n < div className=\"p-4\" >\r\n Varsayılan DeÄŸer\r\n <input type=\"text\" style={{ \"background-color\": \"transparent\" }} className=\"form-control form-control-sm\" placeholder=\"\" name=\"initValue\" defaultValue={rec.initValue} onChange={(e) => updateRecord(rec, e)} />\r\n <div className=\"textvmuted\" >\r\n BoÅŸ bırakılırsa bu deÄŸer seçilecek\r\n </div>\r\n </div>\r\n\r\n < div className=\"p-3\" >\r\n\r\n </div>\r\n {/*<div className=\"p-4\" >*/}\r\n {/* Açıklama*/}\r\n {/* <input type=\"text\" className=\"form-control form-control-sm\" name=\"aciklama\" defaultValue={rec.aciklama} onChange={(e) => updateRecord(rec, e)} />*/}\r\n {/* <div className=\"textvmuted\" >*/}\r\n {/* Dosya hakkında açıklama yazabilirsiniz.*/}\r\n {/* </div>*/}\r\n {/*</div>*/}\r\n\r\n\r\n\r\n </div>\r\n </div>\r\n <div className=\"col-12 col-md-6\" >\r\n <div className=\"bg-white rounded-3\" >\r\n <div className=\"p-3 fw-bold border-bottom\" >\r\n Görüntüleme ve Yetkilendirme\r\n\r\n </div>\r\n <div className=\"p-4 row\" >\r\n <div class=\"col-3\" >\r\n <label class=\"form-check-label\" for=\"inlineCheckbox1\" >Sıra </label>\r\n </div>\r\n <div class=\"col-3\" >\r\n <input type=\"number\" style={{ \"background-color\": \"transparent\" }} className=\"form-control form-control-sm \" placeholder=\"Sıra\" name=\"sira\" defaultValue={rec.sira} onChange={(e) => updateRecord(rec, e)} />\r\n </div>\r\n <div class=\"col-5 p-0 textvmuted\" >\r\n Hangi sırada görünsün\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"p-4 row\" >\r\n <div class=\"col-3\" >\r\n <label class=\"form-check-label\" for=\"inlineCheckbox1\" >Zorunlu < /label>\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input me-2\" name=\"reqired\" defaultChecked={rec.reqired} onChange={(e) => updateRecord(rec, e)} />\r\n </div>\r\n <div class=\"col-7 p-0 textvmuted\" >\r\n Zorunlu Olarak yüklensin mı ?\r\n </div>\r\n </div>\r\n\r\n <div className=\"p-4 row\" >\r\n <div class=\"col-3\" >\r\n <label class=\"form-check-label\" for=\"inlineCheckbox1\" >Aktif < /label>\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"active\" defaultChecked={rec.active} onChange={(e) => updateRecord(rec, e)} />\r\n </div>\r\n <div class=\"col-7 p-0 textvmuted\" >\r\n BaÅŸvurularda görünsun mu ?\r\n </div>\r\n </div>\r\n <div className=\"p-4 row\" >\r\n <div class=\"col-3\" >\r\n <label class=\"form-check-label\" for=\"inlineCheckbox1\" >Dilekçe < /label>\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"printable\" defaultChecked={rec.printable} onChange={(e) => updateRecord(rec, e)} />\r\n </div>\r\n <div class=\"col-7 p-0 textvmuted\" >\r\n BaÅŸvuru dilekçesinde görünsun mu?\r\n </div>\r\n </div>\r\n <div className=\"p-4 row\" >\r\n <div class=\"col-3\" >\r\n <label class=\"form-check-label\" for=\"inlineCheckbox1\" >Gizli < /label>\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"gizli\" defaultChecked={rec.gizli} onChange={(e) => updateRecord(rec, e)} />\r\n </div>\r\n <div class=\"col-7 p-0 textvmuted\" >\r\n Sadece Kontrolörler görecek\r\n </div>\r\n </div>\r\n\r\n <div className=\"p-4 \" >\r\n Güncelleme Yetkisi\r\n\r\n\r\n <Multiselect className=\"p-0\"\r\n options={roles}\r\n placeholder=\"Rol\"\r\n emptyRecordMsg=\"BaÅŸka Kayıt Yok\"\r\n displayValue=\"name\"\r\n isObject={true}\r\n selectedValues={rec.role != null ? rec.role.split(',').filter(r => roles.find(x => x.id == r) != null).map(r => roles.find(x => x.id == r)) : []}\r\n onSelect={(selectedList, removedItem) => { rec.role = selectedList.length == 0 ? null : selectedList.map(rec => rec.id).join() }} // Function will trigger on select event\r\n onRemove={(selectedList, removedItem) => { rec.role = selectedList.length == 0 ? null : selectedList.map(rec => rec.id).join() }} // Function will trigger on remove event\r\n />\r\n\r\n < div class=\"textvmuted\" >\r\n Kimler tarafından deÄŸiÅŸtirilebilsin\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport $ from 'jquery';\r\nimport BasvuruAlaniDetail from './BasvuruAlaniDetail.js';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { ajaxFail, showConfirmMessage, showErrorMessage, showSuccessMessage,removeTurkcLow, isEmpty } from '../GlobalState.js';\r\n\r\nexport default function BasvuruAlanlariSetting(props) {\r\n var postdata = {};\r\n const [listData, setListData] = useState(null);\r\n const [basvuruTurleri, setbasvuruTurleri] = useState([]);\r\n const [roles, setRoles] = useState([]);\r\n const [sortDirection, setSortDirection] = useState({});\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchRoles();\r\n getdenetimlist();\r\n }, [])\r\n\r\n\r\n var sortField = null;\r\n const myCompare = (a, b) => {\r\n var av = a[sortField];\r\n var bv = b[sortField];\r\n var ret = 1;\r\n if (sortDirection[sortField] == \"ZA\")\r\n ret = -1;\r\n\r\n if (av == null && bv != null)\r\n return -1 * ret;\r\n if (av != null && bv == null)\r\n return 1 * ret;\r\n if (av == null && bv == null)\r\n return 0;\r\n\r\n if (typeof av === 'string' || av instanceof String)\r\n if (typeof bv === 'string' || bv instanceof String)\r\n return av.localeCompare(bv) * ret\r\n\r\n if (av < bv) {\r\n return -1 * ret;\r\n }\r\n if (av > bv) {\r\n return 1 * ret;\r\n }\r\n return 0;\r\n }\r\n const sortList = (fildname) => {\r\n sortField = fildname;\r\n if (sortDirection[sortField] == null || sortDirection[sortField] == \"ZA\") {\r\n sortDirection[sortField] = \"AZ\";\r\n }\r\n else {\r\n sortDirection[sortField] = \"ZA\";\r\n }\r\n\r\n var temp = [...listData]; //clone the array to update the component on setApplist\r\n temp.sort(myCompare);\r\n setListData(temp);\r\n }\r\n\r\n\r\n const fetchRoles = () => {\r\n fetch(\"getrolelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setRoles(value)\r\n })\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n const removeRecord = (id) => {\r\n showConfirmMessage(id + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removeAppField\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n }));\r\n }\r\n\r\n\r\n\r\n const fetchList = () => {\r\n fetch(\"appfieldlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const saveAll = () => {\r\n\r\n fetch(\"saveallappsetting\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(listData)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n showSuccessMessage(\"Güncenlleme BaÅŸarılı\");\r\n }\r\n });\r\n\r\n }\r\n\r\n \r\n\r\n const getdenetimlist = () => {\r\n fetch(\"denetimlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setbasvuruTurleri(value);\r\n fetchList();\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n const filterColumn = (index) => {\r\n var cl = [\"id\", \"basvuruTipi\", \"name\", \"type\", \"initValue\"];\r\n $(\"#myTable tr\").filter(function () {\r\n\r\n for (var c = 0; c < cl.length; c++) {\r\n var keywordElem = document.getElementById(cl[c]);\r\n var td = $(this).children().eq(c);\r\n if (keywordElem != null && isEmpty(keywordElem.value) == false) {\r\n var keyword = keywordElem.value;\r\n var pass = true;\r\n if (keyword.startsWith(\"-\")) {\r\n pass = false\r\n keyword = keyword.substr(1);\r\n }\r\n if (keyword.length == 0) break;\r\n td.attr('style', 'background: #fff8dd !important');\r\n var t1 = removeTurkcLow(td.text());\r\n var t2 = removeTurkcLow(keyword);\r\n if (keyword == \"0\" && td.html().includes(\"checkbox\") && !td.html().includes(\"checked\"))\r\n return $(this).toggle(true);\r\n if (keyword == \"1\" && td.html().includes(\"checked\"))\r\n return $(this).toggle(true);\r\n if ((t1.indexOf(t2) == -1) == pass)\r\n return $(this).toggle(false);\r\n }\r\n else\r\n td.removeAttr('style');\r\n }\r\n return $(this).toggle(true);\r\n });\r\n }\r\n\r\n\r\n \r\n\r\n const filterTable = (event) => {\r\n var textbox = document.getElementById(\"mySearchInput\")\r\n if (textbox == null)\r\n return;\r\n var value = textbox.value;\r\n\r\n $(\"#myTable tr\").filter(function () {\r\n var rowtext = $(this).text();\r\n var t1 = removeTurkcLow(rowtext);\r\n var t2 = removeTurkcLow(value);\r\n if (t1.indexOf(t2) == -1)\r\n return $(this).toggle(false);\r\n\r\n return $(this).toggle(true);\r\n });\r\n \r\n }\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n <div className=\" table-responsive mainpagescroll mt-1 border-top\" style={{ \"height\": \"85vh\" }}>\r\n <table className='table table-vdstriped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead className=\"text-center bg-white \" style={{ \"position\": \"sticky\", \"top\": 0, \"z-index\": \"3\" }}>\r\n <th >\r\n <button className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\" onClick={() => sortList(\"id\")}>Id</button>\r\n \r\n <input type=\"text\" className=\"form-control form-control-sm mb-1\" id=\"id\" placeholder=\"\" name=\"id\" onChange={() => filterColumn()} />\r\n </th>\r\n <th >\r\n <button className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\" onClick={() => sortList(\"basvuruTipi\")}>BaÅŸvuru Türü</button>\r\n <input type=\"text\" className=\"form-control form-control-sm mb-1\" id=\"basvuruTipi\" placeholder=\"\" name=\"basvuruTipi\" onChange={() => filterColumn()} />\r\n </th>\r\n <th >\r\n <button className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\" onClick={() => sortList(\"name\")}>Soru</button>\r\n \r\n <input type=\"text\" className=\"form-control form-control-sm mb-1\" id=\"name\" placeholder=\"\" name=\"name\" onChange={() => filterColumn()} />\r\n </th>\r\n\r\n <th >\r\n <button className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\" onClick={() => sortList(\"type\")}> Soru Türü</button>\r\n \r\n <input type=\"text\" className=\"form-control form-control-sm mb-1\" id=\"type\" placeholder=\"\" name=\"type\" onChange={() => filterColumn()} />\r\n </th>\r\n\r\n <th >\r\n <button className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\" onClick={() => sortList(\"initValue\")}>Varsayılan DeÄŸer</button>\r\n \r\n <input type=\"text\" className=\"form-control form-control-sm mb-1\" id=\"initValue\" placeholder=\"\" name=\"initValue\" onChange={() => filterColumn()} />\r\n </th>\r\n\r\n <th ></th>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n <tr key={apprec.id} role=\"button\" className=\"v-hover\" onClick={() => {\r\n window.changeComponent(<BasvuruAlaniDetail key={apprec.id} appRec={apprec} basvuruTurleri={basvuruTurleri} roles={ roles} />) }} >\r\n <td >{apprec.id}</td>\r\n <td >\r\n {apprec.basvuruTipi}\r\n \r\n </td>\r\n <td dangerouslySetInnerHTML={{ __html: apprec.name}}></td>\r\n <td>\r\n {apprec.type==\"text\"?\"Yazı\":\r\n apprec.type==\"select\"?\"Çoktan Seçmeli\":\r\n apprec.type==\"checkbox\"?\"Checkbox\":\r\n apprec.type==\"number\"?\"Sayı\":\r\n apprec.type==\"select multiple\"?\"Çoklu Seçim\":\r\n apprec.type==\"date\"?\"Tarih\":\r\n apprec.type==\"textarea\"?\"Buyuk Yazı\":\r\n apprec.type}\r\n \r\n \r\n </td>\r\n\r\n <td>\r\n {apprec.initValue} \r\n </td>\r\n \r\n\r\n <td>\r\n <button onClick={(event) => { event.stopPropagation(); removeRecord(apprec.id) }} className=\"btn btn-link btn-sm text-decoration-none text-danger p-0 m-0 shadow-none\">\r\n <span class=\"material-icons\"> delete </span>\r\n </button>\r\n {/* <button onClick={() => submitUpdateRecord} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Güncelle</button> */}\r\n </td>\r\n </tr>\r\n )}\r\n \r\n {/*<tr>*/}\r\n \r\n {/* <td colspan=\"5\" className=\"text-end\"> <button onClick={() => saveAll()} className=\"btn btn-primary btn-sm m-1\" id=\"saveallbutton\">Tümünü Kaydet</button></td>*/}\r\n {/*</tr>*/}\r\n </tbody>\r\n </table>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n var listTable = \"\";\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n else\r\n listTable = renderTable([]);\r\n\r\n return (\r\n <div >\r\n <div className=\"row mb-2 mt-2\">\r\n <div className=\"col-4\">\r\n <h5>BaÅŸvuru Alanları</h5>\r\n </div>\r\n <div className=\"col-4\">\r\n <input className=\"form-control form-control-sm\" id=\"mySearchInput\" type=\"text\" placeholder=\"Arama\" onKeyUp={filterTable} />\r\n </div>\r\n <div className=\"col-0 col-md-4 text-end\">\r\n <button onClick={() => window.changeComponent(<BasvuruAlaniDetail appRec={new Object()} basvuruTurleri={basvuruTurleri} roles={roles} />)} className=\" btn btn-sm btn-primary\">Yeni Soru OluÅŸtur </button>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div className=\"row\">\r\n <div className=\"col-12\">\r\n {listTable}\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\n\r\nexport default function CommunicationSetting(props) {\r\n var postdata = {};\r\n const [listData, setListData] = useState([]);\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n\r\n\r\n }\r\n\r\n\r\n const changeAktifPanel = (id) => {\r\n document.getElementById(\"iletisimMakinasi\").disabled = true;\r\n document.getElementById(\"Mobildev\").disabled = true;\r\n document.getElementById(\"Asistel\").disabled = true;\r\n document.getElementById(\"mobilpark\").disabled = true;\r\n document.getElementById(\"Asist\").disabled = true;\r\n document.getElementById(\"teknomart\").disabled = true;\r\n document.getElementById(\"PostaGuvercin\").disabled = true;\r\n \r\n document.getElementById(id).disabled = false;\r\n }\r\n\r\n\r\n const submitUpdateSMS = (id, name) => {\r\n var apikey = document.getElementById(\"apiKey\" + name);\r\n var sender = document.getElementById(\"sender\" + name);\r\n var fname = name;\r\n if (listData.find(x => x.id == id) != null)\r\n fname = listData.find(x => x.id == id).name;\r\n var rec = {\r\n userName: document.getElementById(\"userName\" + name).value,\r\n sifre: document.getElementById(\"sifre\" + name).value,\r\n userCode: document.getElementById(\"userCode\" + name).value,\r\n accountId: document.getElementById(\"accountId\" + name).value,\r\n sender: sender != null ? sender.value : null,\r\n serviseAddress: document.getElementById(\"serviseAddress\" + name).value,\r\n apiKey: apikey != null ? apikey.value : null,\r\n id: id,\r\n name: fname,\r\n active: true\r\n }\r\n\r\n document.getElementById(\"iletisimMakinasi\").disabled = true;\r\n document.getElementById(\"mobilpark\").disabled = true;\r\n document.getElementById(\"Asistel\").disabled = true;\r\n document.getElementById(\"Asist\").disabled = true;\r\n document.getElementById(\"Mobildev\").disabled = true;\r\n document.getElementById(\"teknomart\").disabled = true;\r\n document.getElementById(\"turacell\").disabled = true;\r\n document.getElementById(\"TTMesaj\").disabled = true;\r\n document.getElementById(\"PostaGuvercin\").disabled = true;\r\n \r\n\r\n fetch(\"savesmssetting\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n showErrorMessage(value)\r\n\r\n });\r\n\r\n }\r\n else {\r\n showSuccessMessage(\"SMS Ayarları Güncellendi\")\r\n fetchSMSSetting();\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n const submitUpdateEmail = () => {\r\n\r\n var rec = {\r\n userName: document.getElementById(\"euserName\").value,\r\n password: document.getElementById(\"password\").value,\r\n smtpPort: document.getElementById(\"smtpPort\").value,\r\n smtpServer: document.getElementById(\"smtpServer\").value,\r\n networkUserName: document.getElementById(\"networkUserName\").value,\r\n tls: document.getElementById(\"tls\").checked\r\n }\r\n fetch(\"saveemailsetting\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı\")\r\n }\r\n });\r\n }\r\n\r\n\r\n const sendTestEmail = () => {\r\n var email = document.getElementById(\"testemail\").value;\r\n fetch(\"sendtestemail\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(email)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.text().then(value => {\r\n if (value.length <= 2)\r\n document.getElementById(\"testemailresult\").innerHTML = \"Email Gönderildi.\";\r\n else\r\n document.getElementById(\"testemailresult\").innerHTML = value;\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n const sendTestSMS = () => {\r\n var tel = document.getElementById(\"testtel\").value;\r\n fetch(\"sendsms\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(\"TEST|\" + tel)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.text().then(value => {\r\n\r\n if (value.length <= 2)\r\n document.getElementById(\"testsmsresult\").innerText = \"SMS Gönderildi.\";\r\n else\r\n document.getElementById(\"testsmsresult\").innerText = value;\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n const fetchSMSSetting = () => {\r\n fetch(\"getsmssetting\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n if (value.length == 0) return;\r\n\r\n value.forEach(x => {\r\n if (x.id == 1) {\r\n document.getElementById(\"userNameAsist\").value = x.userName;\r\n document.getElementById(\"sifreAsist\").value = x.sifre;\r\n document.getElementById(\"userCodeAsist\").value = x.userCode;\r\n document.getElementById(\"accountIdAsist\").value = x.accountId;\r\n document.getElementById(\"senderAsist\").value = x.sender;\r\n document.getElementById(\"serviseAddressAsist\").value = x.serviseAddress;\r\n document.getElementById(\"activeAsist\").checked = x.active;\r\n document.getElementById(\"Asist\").disabled = !x.active;\r\n }\r\n if (x.id == 2) {\r\n document.getElementById(\"userNameMobil\").value = x.userName;\r\n document.getElementById(\"sifreMobil\").value = x.sifre;\r\n document.getElementById(\"userCodeMobil\").value = x.userCode;\r\n document.getElementById(\"accountIdMobil\").value = x.accountId;\r\n document.getElementById(\"senderMobil\").value = x.sender;\r\n document.getElementById(\"serviseAddressMobil\").value = x.serviseAddress;\r\n document.getElementById(\"activeMobil\").checked = x.active;\r\n document.getElementById(\"mobilpark\").disabled = !x.active;\r\n }\r\n\r\n if (x.id == 3) {\r\n document.getElementById(\"userNameAsistel\").value = x.userName;\r\n document.getElementById(\"sifreAsistel\").value = x.sifre;\r\n document.getElementById(\"userCodeAsistel\").value = x.userCode;\r\n document.getElementById(\"accountIdAsistel\").value = x.accountId;\r\n document.getElementById(\"senderAsistel\").value = x.sender;\r\n document.getElementById(\"serviseAddressAsistel\").value = x.serviseAddress;\r\n document.getElementById(\"activeAsistel\").checked = x.active;\r\n document.getElementById(\"Asistel\").disabled = !x.active;\r\n }\r\n\r\n if (x.id == 4) {\r\n document.getElementById(\"userNameMobildev\").value = x.userName;\r\n document.getElementById(\"sifreMobildev\").value = x.sifre;\r\n document.getElementById(\"userCodeMobildev\").value = x.userCode;\r\n document.getElementById(\"accountIdMobildev\").value = x.accountId;\r\n document.getElementById(\"senderMobildev\").value = x.sender;\r\n document.getElementById(\"serviseAddressMobildev\").value = x.serviseAddress;\r\n document.getElementById(\"activeMobildev\").checked = x.active;\r\n document.getElementById(\"Mobildev\").disabled = !x.active;\r\n }\r\n if (x.id == 5) {\r\n document.getElementById(\"userNameiletisimMakinasi\").value = x.userName;\r\n document.getElementById(\"sifreiletisimMakinasi\").value = x.sifre;\r\n document.getElementById(\"userCodeiletisimMakinasi\").value = x.userCode;\r\n document.getElementById(\"accountIdiletisimMakinasi\").value = x.accountId;\r\n document.getElementById(\"serviseAddressiletisimMakinasi\").value = x.serviseAddress;\r\n document.getElementById(\"apiKeyiletisimMakinasi\").value = x.apiKey;\r\n document.getElementById(\"activeiletisimMakinasi\").checked = x.active;\r\n document.getElementById(\"iletisimMakinasi\").disabled = !x.active;\r\n }\r\n if (x.id == 6) {\r\n document.getElementById(\"userNameteknomart\").value = x.userName;\r\n document.getElementById(\"sifreteknomart\").value = x.sifre;\r\n document.getElementById(\"userCodeteknomart\").value = x.userCode;\r\n document.getElementById(\"accountIdteknomart\").value = x.accountId;\r\n document.getElementById(\"serviseAddressteknomart\").value = x.serviseAddress;\r\n document.getElementById(\"activeTeknomart\").checked = x.active;\r\n document.getElementById(\"senderteknomart\").value = x.sender;\r\n document.getElementById(\"teknomart\").disabled = !x.active;\r\n }\r\n if (x.id == 7) {\r\n document.getElementById(\"userNameturacell\").value = x.userName;\r\n document.getElementById(\"sifreturacell\").value = x.sifre;\r\n document.getElementById(\"userCodeturacell\").value = x.userCode;\r\n document.getElementById(\"accountIdturacell\").value = x.accountId;\r\n document.getElementById(\"serviseAddressturacell\").value = x.serviseAddress;\r\n document.getElementById(\"activeturacell\").checked = x.active;\r\n document.getElementById(\"senderturacell\").value = x.sender;\r\n document.getElementById(\"turacell\").disabled = !x.active;\r\n }\r\n if (x.id == 8) {\r\n document.getElementById(\"userNameTTMesaj\").value = x.userName;\r\n document.getElementById(\"sifreTTMesaj\").value = x.sifre;\r\n document.getElementById(\"userCodeTTMesaj\").value = x.userCode;\r\n document.getElementById(\"accountIdTTMesaj\").value = x.accountId;\r\n document.getElementById(\"serviseAddressTTMesaj\").value = x.serviseAddress;\r\n document.getElementById(\"activeTTMesaj\").checked = x.active;\r\n document.getElementById(\"senderTTMesaj\").value = x.sender;\r\n document.getElementById(\"TTMesaj\").disabled = !x.active;\r\n }\r\n if (x.id == 9) {\r\n document.getElementById(\"userNamePostaGuvercin\").value = x.userName;\r\n document.getElementById(\"sifrePostaGuvercin\").value = x.sifre;\r\n document.getElementById(\"userCodePostaGuvercin\").value = x.userCode;\r\n document.getElementById(\"accountIdPostaGuvercin\").value = x.accountId;\r\n document.getElementById(\"serviseAddressPostaGuvercin\").value = x.serviseAddress;\r\n document.getElementById(\"activePostaGuvercin\").checked = x.active;\r\n document.getElementById(\"senderPostaGuvercin\").value = x.sender;\r\n document.getElementById(\"PostaGuvercin\").disabled = !x.active;\r\n }\r\n if (x.id == 10) {\r\n document.getElementById(\"userNameBasicAuthorizationPOST\").value = x.userName;\r\n document.getElementById(\"sifreBasicAuthorizationPOST\").value = x.sifre;\r\n document.getElementById(\"userCodeBasicAuthorizationPOST\").value = x.userCode;\r\n document.getElementById(\"accountIdBasicAuthorizationPOST\").value = x.accountId;\r\n document.getElementById(\"serviseAddressBasicAuthorizationPOST\").value = x.serviseAddress;\r\n document.getElementById(\"activeBasicAuthorizationPOST\").checked = x.active;\r\n document.getElementById(\"senderBasicAuthorizationPOST\").value = x.sender;\r\n document.getElementById(\"BasicAuthorizationPOST\").disabled = !x.active;\r\n }\r\n\r\n\r\n })\r\n\r\n setListData(value);\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n const fetchEmailSetting = () => {\r\n\r\n fetch(\"getemailsetting\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n\r\n else {\r\n response.json().then(value => {\r\n if (value.length == 0) return;\r\n document.getElementById(\"euserName\").value = value[0].userName;\r\n document.getElementById(\"password\").value = value[0].password;\r\n document.getElementById(\"smtpPort\").value = value[0].smtpPort;\r\n document.getElementById(\"smtpServer\").value = value[0].smtpServer;\r\n document.getElementById(\"smtpServer\").value = value[0].smtpServer;\r\n document.getElementById(\"networkUserName\").value = value[0].networkUserName;\r\n document.getElementById(\"tls\").checked = value[0].tls;\r\n\r\n\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n fetchEmailSetting();\r\n fetchSMSSetting();\r\n }, [])\r\n\r\n\r\n\r\n return (<>\r\n <div className=\"rounded-1 mt-5 p-2 bg-light \">\r\n\r\n <h5>SMS Ayarları</h5>\r\n <div className=\"row rounded-3 mb-1\">\r\n\r\n <div className=\"col-12\" >\r\n <input className=\"form-check-input\" type=\"radio\" name=\"flexRadioDefault\" id=\"activeAsist\" onMouseDown={() => changeAktifPanel(\"Asist\")} />\r\n <label className=\"form-check-label ps-1 \" for=\"flexRadioDefault1\">\r\n Asist Ä°letiÅŸim\r\n </label>\r\n </div>\r\n </div>\r\n\r\n <fieldset className=\"row\" id=\"Asist\" disabled>\r\n\r\n <div className=\"row rounded-3 mb-1\">\r\n\r\n <div className=\"col-10\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Servis Adresi\" id=\"serviseAddressAsist\" />\r\n </div>\r\n </div>\r\n <div className=\"row rounded-3\">\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Kullanıcı Adı\" id=\"userNameAsist\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Åifre\" id=\"sifreAsist\" />\r\n </div>\r\n <div className=\"col-2 \" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"User Code\" id=\"userCodeAsist\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Account id\" id=\"accountIdAsist\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Sender\" id=\"senderAsist\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <button onClick={() => submitUpdateSMS(1, \"Asist\")} className=\"btn btn-sm btn-primary\">Güncelle</button>\r\n </div>\r\n </div>\r\n </fieldset>\r\n\r\n <div className=\"row rounded-3 mb-1 mt-3\">\r\n\r\n <div className=\"col-12\" >\r\n <input class=\"form-check-input\" type=\"radio\" name=\"flexRadioDefault\" id=\"activeMobil\" onMouseDown={() => changeAktifPanel(\"mobilpark\")} />\r\n <label class=\"form-check-label ps-1\" for=\"flexRadioDefault1\">\r\n Mobil Park\r\n </label>\r\n </div>\r\n </div>\r\n\r\n <fieldset className=\"row\" id=\"mobilpark\" disabled>\r\n\r\n <div className=\"row rounded-3 mb-1\">\r\n\r\n <div className=\"col-10\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Servis Adresi\" id=\"serviseAddressMobil\" />\r\n </div>\r\n </div>\r\n <div className=\"row rounded-3\">\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Kullanıcı Adı\" id=\"userNameMobil\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Åifre\" id=\"sifreMobil\" />\r\n </div>\r\n <div className=\"col-2 \" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"User Code\" id=\"userCodeMobil\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Account id\" id=\"accountIdMobil\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Sender\" id=\"senderMobil\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <button onClick={() => submitUpdateSMS(2, \"Mobil\")} className=\"btn btn-sm btn-primary\">Güncelle</button>\r\n </div>\r\n </div>\r\n </fieldset>\r\n\r\n\r\n\r\n\r\n <div className=\"row rounded-3 mb-1 mt-3\">\r\n\r\n <div className=\"col-12\" >\r\n <input class=\"form-check-input\" type=\"radio\" name=\"flexRadioDefault\" id=\"activeAsistel\" onMouseDown={() => changeAktifPanel(\"Asistel\")} />\r\n <label class=\"form-check-label ps-1\" for=\"flexRadioDefault1\">\r\n Asistel\r\n </label>\r\n </div>\r\n </div>\r\n\r\n <fieldset className=\"row\" id=\"Asistel\" disabled>\r\n\r\n <div className=\"row rounded-3 mb-1\">\r\n\r\n <div className=\"col-10\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Servis Adresi\" id=\"serviseAddressAsistel\" />\r\n </div>\r\n </div>\r\n <div className=\"row rounded-3\">\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Kullanıcı Adı\" id=\"userNameAsistel\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Åifre\" id=\"sifreAsistel\" />\r\n </div>\r\n <div className=\"col-2 \" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"User Code\" id=\"userCodeAsistel\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Account id\" id=\"accountIdAsistel\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Sender\" id=\"senderAsistel\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <button onClick={() => submitUpdateSMS(3, \"Asistel\")} className=\"btn btn-sm btn-primary\">Güncelle</button>\r\n </div>\r\n </div>\r\n </fieldset>\r\n\r\n <div className=\"row rounded-3 mb-1 mt-3\">\r\n\r\n <div className=\"col-12\" >\r\n <input class=\"form-check-input\" type=\"radio\" name=\"flexRadioDefault\" id=\"activeMobildev\" onMouseDown={() => changeAktifPanel(\"Mobildev\")} />\r\n <label class=\"form-check-label ps-1\" for=\"flexRadioDefault1\">\r\n Mobildev\r\n </label>\r\n </div>\r\n </div>\r\n\r\n <fieldset className=\"row\" id=\"Mobildev\" disabled>\r\n\r\n <div className=\"row rounded-3 mb-1\">\r\n\r\n <div className=\"col-10\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Servis Adresi\" id=\"serviseAddressMobildev\" />\r\n </div>\r\n </div>\r\n <div className=\"row rounded-3\">\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Kullanıcı Adı\" id=\"userNameMobildev\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Åifre\" id=\"sifreMobildev\" />\r\n </div>\r\n <div className=\"col-2 \" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"User Code\" id=\"userCodeMobildev\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Account id\" id=\"accountIdMobildev\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Sender\" id=\"senderMobildev\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <button onClick={() => submitUpdateSMS(4, \"Mobildev\")} className=\"btn btn-sm btn-primary\">Güncelle</button>\r\n </div>\r\n </div>\r\n </fieldset>\r\n\r\n\r\n <div className=\"row rounded-3 mb-1 mt-3\">\r\n\r\n <div className=\"col-12\" >\r\n <input class=\"form-check-input\" type=\"radio\" name=\"flexRadioDefault\" id=\"activeiletisimMakinasi\" onMouseDown={() => changeAktifPanel(\"iletisimMakinasi\")} />\r\n <label class=\"form-check-label ps-1\" for=\"flexRadioDefault1\">\r\n Ä°letisim Makinasi\r\n </label>\r\n </div>\r\n </div>\r\n <fieldset className=\"row\" id=\"iletisimMakinasi\" disabled>\r\n\r\n <div className=\"row rounded-3 mb-1\">\r\n\r\n <div className=\"col-10\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Servis Adresi\" id=\"serviseAddressiletisimMakinasi\" />\r\n </div>\r\n </div>\r\n <div className=\"row rounded-3\">\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Kullanıcı Adı\" id=\"userNameiletisimMakinasi\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Åifre\" id=\"sifreiletisimMakinasi\" />\r\n </div>\r\n <div className=\"col-2 \" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Customer Code\" id=\"userCodeiletisimMakinasi\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Vendor Code\" id=\"accountIdiletisimMakinasi\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Api Key\" id=\"apiKeyiletisimMakinasi\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <button onClick={() => submitUpdateSMS(5, \"iletisimMakinasi\")} className=\"btn btn-sm btn-primary\">Güncelle</button>\r\n </div>\r\n </div>\r\n </fieldset>\r\n\r\n <div className=\"row rounded-3 mb-1 mt-3\">\r\n\r\n <div className=\"col-12\" >\r\n <input class=\"form-check-input\" type=\"radio\" name=\"flexRadioDefault\" id=\"activeTeknomart\" onMouseDown={() => changeAktifPanel(\"teknomart\")} />\r\n <label class=\"form-check-label ps-1\" for=\"flexRadioDefault1\">\r\n Teknomart\r\n </label>\r\n </div>\r\n </div>\r\n <fieldset className=\"row\" id=\"teknomart\" disabled>\r\n\r\n <div className=\"row rounded-3 mb-1\">\r\n\r\n <div className=\"col-10\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Servis Adresi\" id=\"serviseAddressteknomart\" />\r\n </div>\r\n </div>\r\n <div className=\"row rounded-3\">\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Kullanıcı Adı\" id=\"userNameteknomart\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Åifre\" id=\"sifreteknomart\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Sender\" id=\"senderteknomart\" />\r\n </div>\r\n <div className=\"col-2 \" >\r\n <input type=\"text\" hidden className=\"form-control form-control-sm\" placeholder=\"Customer Code\" id=\"userCodeteknomart\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" hidden className=\"form-control form-control-sm\" placeholder=\"Vendor Code\" id=\"accountIdteknomart\" />\r\n </div>\r\n\r\n <div className=\"col-2\" >\r\n <button onClick={() => submitUpdateSMS(6, \"teknomart\")} className=\"btn btn-sm btn-primary\">Güncelle</button>\r\n </div>\r\n </div>\r\n </fieldset>\r\n\r\n\r\n\r\n <div className=\"row rounded-3 mb-1 mt-3\">\r\n <div className=\"col-12\" >\r\n <input class=\"form-check-input\" type=\"radio\" name=\"flexRadioDefault\" id=\"activeturacell\" onMouseDown={() => changeAktifPanel(\"turacell\")} />\r\n <label class=\"form-check-label ps-1\" for=\"flexRadioDefault1\">\r\n Turacell\r\n </label>\r\n </div>\r\n </div>\r\n <fieldset className=\"row\" id=\"turacell\" disabled>\r\n <div className=\"row rounded-3 mb-1\">\r\n <div className=\"col-10\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Servis Adresi\" id=\"serviseAddressturacell\" />\r\n </div>\r\n </div>\r\n <div className=\"row rounded-3\">\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Kullanıcı Adı\" id=\"userNameturacell\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Åifre\" id=\"sifreturacell\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Originator\" id=\"senderturacell\" />\r\n </div>\r\n <div className=\"col-2 \" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"ChannelCode\" id=\"userCodeturacell\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" hidden className=\"form-control form-control-sm\" placeholder=\"Vendor Code\" id=\"accountIdturacell\" />\r\n </div>\r\n\r\n <div className=\"col-2\" >\r\n <button onClick={() => submitUpdateSMS(7, \"turacell\")} className=\"btn btn-sm btn-primary\">Güncelle</button>\r\n </div>\r\n </div>\r\n </fieldset>\r\n\r\n\r\n\r\n\r\n <div className=\"row rounded-3 mb-1 mt-3\">\r\n <div className=\"col-12\" >\r\n <input class=\"form-check-input\" type=\"radio\" name=\"flexRadioDefault\" id=\"activeTTMesaj\" onMouseDown={() => changeAktifPanel(\"TTMesaj\")} />\r\n <label class=\"form-check-label ps-1\" for=\"flexRadioDefault1\">\r\n TTMesaj\r\n </label>\r\n </div>\r\n </div>\r\n <fieldset className=\"row\" id=\"TTMesaj\" disabled>\r\n <div className=\"row rounded-3 mb-1\">\r\n <div className=\"col-10\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Servis Adresi\" id=\"serviseAddressTTMesaj\" />\r\n </div>\r\n </div>\r\n <div className=\"row rounded-3\">\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Kullanıcı Adı\" id=\"userNameTTMesaj\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Åifre\" id=\"sifreTTMesaj\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Originator\" id=\"senderTTMesaj\" />\r\n </div>\r\n <div className=\"col-2 \" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"ChannelCode\" id=\"userCodeTTMesaj\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" hidden className=\"form-control form-control-sm\" placeholder=\"Vendor Code\" id=\"accountIdTTMesaj\" />\r\n </div>\r\n\r\n <div className=\"col-2\" >\r\n <button onClick={() => submitUpdateSMS(8, \"TTMesaj\")} className=\"btn btn-sm btn-primary\">Güncelle</button>\r\n </div>\r\n </div>\r\n </fieldset>\r\n\r\n <div className=\"row rounded-3 mb-1 mt-3\">\r\n <div className=\"col-12\" >\r\n <input class=\"form-check-input\" type=\"radio\" name=\"flexRadioDefault\" id=\"activePostaGuvercin\" onMouseDown={() => changeAktifPanel(\"PostaGuvercin\")} />\r\n <label class=\"form-check-label ps-1\" for=\"flexRadioDefault1\">\r\n Posta Guvercini\r\n </label>\r\n </div>\r\n </div>\r\n <fieldset className=\"row\" id=\"PostaGuvercin\" disabled>\r\n <div className=\"row rounded-3 mb-1\">\r\n <div className=\"col-10\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Servis Adresi\" id=\"serviseAddressPostaGuvercin\" />\r\n </div>\r\n </div>\r\n <div className=\"row rounded-3\">\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Kullanıcı Adı\" id=\"userNamePostaGuvercin\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Åifre\" id=\"sifrePostaGuvercin\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Originator\" id=\"senderPostaGuvercin\" />\r\n </div>\r\n <div className=\"col-2 \" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"ChannelCode\" id=\"userCodePostaGuvercin\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" hidden className=\"form-control form-control-sm\" placeholder=\"Vendor Code\" id=\"accountIdPostaGuvercin\" />\r\n </div>\r\n\r\n <div className=\"col-2\" >\r\n <button onClick={() => submitUpdateSMS(9, \"PostaGuvercin\")} className=\"btn btn-sm btn-primary\">Güncelle</button>\r\n </div>\r\n </div>\r\n </fieldset>\r\n\r\n\r\n\r\n\r\n\r\n <div className=\"row rounded-3 mb-1 mt-3\">\r\n <div className=\"col-12\" >\r\n <input class=\"form-check-input\" type=\"radio\" name=\"flexRadioDefault\" id=\"activeBasicAuthorizationPOST\" onMouseDown={() => changeAktifPanel(\"BasicAuthorizationPOST\")} />\r\n <label class=\"form-check-label ps-1\" for=\"flexRadioDefault1\">\r\n Basic Authorization (POST)\r\n </label>\r\n </div>\r\n </div>\r\n <fieldset className=\"row\" id=\"BasicAuthorizationPOST\" disabled>\r\n <div className=\"row rounded-3 mb-1\">\r\n <div className=\"col-10\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Servis Adresi\" id=\"serviseAddressBasicAuthorizationPOST\" />\r\n </div>\r\n </div>\r\n <div className=\"row rounded-3\">\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Kullanıcı Adı\" id=\"userNameBasicAuthorizationPOST\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Åifre\" id=\"sifreBasicAuthorizationPOST\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Originator\" id=\"senderBasicAuthorizationPOST\" />\r\n </div>\r\n <div className=\"col-2 \" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"ChannelCode\" id=\"userCodeBasicAuthorizationPOST\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" hidden className=\"form-control form-control-sm\" placeholder=\"Vendor Code\" id=\"accountIdBasicAuthorizationPOST\" />\r\n </div>\r\n\r\n <div className=\"col-2\" >\r\n <button onClick={() => submitUpdateSMS(10, \"BasicAuthorizationPOST\")} className=\"btn btn-sm btn-primary\">Güncelle</button>\r\n </div>\r\n </div>\r\n </fieldset>\r\n\r\n\r\n\r\n\r\n\r\n <div className=\"row border-top mt-5 pt-2 mb-3\">\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"TEL - 055******\" id=\"testtel\" />\r\n </div>\r\n <div className=\"col-2 \" >\r\n <button onClick={sendTestSMS} className=\"btn btn-sm btn-primary\">Test SMS Gönder</button>\r\n </div>\r\n <div className=\"col-8\" id=\"testsmsresult\">\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div className=\"rounded-1 mt-5 p-2 bg-light \">\r\n <h5>Email Ayarları</h5>\r\n <div className=\"row \">\r\n <div className=\"col-3\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Email\" id=\"euserName\" />\r\n </div>\r\n <div className=\"col-3\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Åifre\" id=\"password\" />\r\n </div>\r\n\r\n <div className=\"col-3\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Kullanıcı Adı\" id=\"networkUserName\" />\r\n </div>\r\n\r\n <div className=\"col-3\" >\r\n <input type=\"number\" className=\"form-control form-control-sm\" placeholder=\"Port\" id=\"smtpPort\" />\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mt-2\">\r\n <div className=\"col-4\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Sunucu\" id=\"smtpServer\" />\r\n </div>\r\n <div className=\"col-2\" >\r\n <div class=\"form-check\">\r\n <input className=\"form-check-input\" type=\"checkbox\" id=\"tls\" />\r\n <label className=\"form-check-label\" for=\"flexCheckChecked\">\r\n TLS\r\n </label>\r\n </div>\r\n </div>\r\n <div className=\"col-3\" >\r\n <button onClick={submitUpdateEmail} className=\"btn btn-sm btn-primary\">Güncelle</button>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row border-top mt-2 pt-2 mb-3\">\r\n <div className=\"col-4\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Email\" id=\"testemail\" />\r\n </div>\r\n <div className=\"col-3 \" >\r\n <button onClick={sendTestEmail} className=\"btn btn-sm btn-primary\">Test Email Gönder</button>\r\n </div>\r\n <div className=\"col-5\" id=\"testemailresult\">\r\n </div>\r\n </div>\r\n </div>\r\n </>\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, sendget, showSuccessMessage, useGlobalState, showErrorMessage } from '../GlobalState.js';\r\n\r\nimport CommunicationSetting from './CommunicationSetting.js';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport ReactQuill from 'react-quill';\r\nimport 'react-quill/dist/quill.snow.css';\r\nimport axios from \"axios\";\r\n\r\nexport default function GeneralSettingPanel(props) {\r\n var [globalData, setGlobalData] = useGlobalState('globalData');\r\n const [role, setRole] = useGlobalState('role');\r\n const [userName, setUserName] = useGlobalState('userName');\r\n const [duplicateList, setDuplicateList] = useState([]);\r\n\r\n useEffect(() => {\r\n fetchGeneralData();\r\n }, [])\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n globalData[target.name] = value;\r\n if (value == \"true\" || value == \"false\")\r\n globalData[target.name] = value == \"true\";\r\n }\r\n\r\n const fetchGeneralData = () => {\r\n fetch(\"getgeneraldata\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n\r\n setGlobalData(data);\r\n\r\n });\r\n }\r\n });\r\n }\r\n\r\n const fetchduplicate = () => {\r\n sendget(\"getduplicatedirs\", \"dupspin\", (response) => {\r\n response.json().then(async data => {\r\n\r\n setDuplicateList(data);\r\n\r\n });\r\n })\r\n }\r\n\r\n const SendFiles = (event, name) => {\r\n document.getElementById(\"sp\" + name).hidden = false;\r\n var formData = new FormData();\r\n\r\n formData.append(\"userName\", name);\r\n if (event != null) {\r\n var selectedFile = { file: event.target.files[0] }\r\n formData.append(\"file\", selectedFile.file);\r\n formData.append(\"caption\", selectedFile.file.name);\r\n }\r\n\r\n axios.post(\r\n \"submitgeneralfile\",\r\n formData,\r\n {\r\n headers: {\r\n \"Content-type\": \"multipart/form-data\",\r\n },\r\n }\r\n ).then(res => {\r\n document.getElementById(\"sp\" + name).hidden = true;\r\n\r\n setGlobalData(res.data);\r\n })\r\n .catch(err => { showErrorMessage(err); })\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const setGeneralData = () => {\r\n fetch(\"setgeneraldata\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(globalData)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı\")\r\n setGlobalData(data);\r\n\r\n });\r\n }\r\n\r\n });\r\n }\r\n\r\n return (\r\n <div >\r\n <div className=\"bg-light m-2 p-2 rounded-3\">\r\n <div className=\"row \">\r\n <div className=\"col-3\">\r\n Belediye Adı\r\n </div>\r\n <div className=\"col-9\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"\" name=\"belediyeName\" id=\"belediyeName\" defaultValue={globalData.belediyeName} onChange={handleInputChange} />\r\n </div>\r\n </div>\r\n\r\n {role.indexOf(UserPermConstants.Pop_Up_Yonetimi) > -1 && <><div className=\"row mt-2 pe-3\">\r\n <div className=\"col-3\">\r\n\r\n <div class=\"form-check form-switch\">\r\n <input class=\"form-check-input\" type=\"checkbox\" id=\"showPopup\" name=\"showPopup\" defaultChecked={globalData.showPopup} onChange={handleInputChange} onMouseUp={(e) => {\r\n document.getElementById(\"popupMessage\").hidden = e.target.checked;\r\n document.getElementById(\"popupMessageFileDiv\").hidden = e.target.checked;\r\n\r\n }} />\r\n <label class=\"form-check-label\" for=\"flexSwitchCheckDefault\">Pop Up Mesajı</label>\r\n </div>\r\n </div>\r\n <div className=\"col-9 ps-3\" id=\"popupMessage\" style={{ \"resize\": \"vertical\", \"overflow-y\": \"scroll\", \"height\": \"120px\" }} hidden={globalData.showPopup != true}>\r\n <ReactQuill className=\"bg-white h-100\" name=\"popupMessage\" theme=\"snow\" onChange={(e) => globalData.popupMessage = e} defaultValue={globalData.popupMessage} />\r\n </div>\r\n </div>\r\n <div className=\"row\" hidden={globalData.showPopup != true} id=\"popupMessageFileDiv\">\r\n <div className=\"col-3\">\r\n </div>\r\n <div className=\"col-9 ps-3\" >\r\n <label for=\"popupMessageFile\" class=\"form-label\"><i aria-hidden=\"true\" title=\"Dosya Yükle\" className=\"fa fa-upload text-primary\" style={{ cursor: \"pointer\" }}></i></label>\r\n <input class=\"form-control form-control-sm\" hidden type=\"file\" id=\"popupMessageFile\" onChange={(e) => SendFiles(e, \"popupMessageFile\")} />\r\n <button class=\"btn btn-link\" onClick={(e) => SendFiles(null, \"popupMessageFile\")}><i className=\"fa fa-trash\"></i></button>\r\n <a className=\"text-decoration-none\" href='getgeneralfile?id=popupMessageFile' download={globalData.popupMessageFile}> {globalData.popupMessageFile} </a>\r\n <span class=\"spinner-border spinner-border-sm\" hidden id=\"sppopupMessageFile\" ></span>\r\n \r\n </div>\r\n </div></>}\r\n\r\n <div className=\"row mt-3\">\r\n <div className=\"col-3\">\r\n Yasal Uyarı\r\n </div>\r\n <div className=\"col-9\">\r\n <textarea class=\"form-control\" rows=\"3\" name=\"yasalUyari\" id=\"yasalUyari\" onChange={handleInputChange} defaultValue={globalData.yasalUyari}></textarea>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"col-3\">\r\n BaÅŸvuru Taahhutnamesi\r\n </div>\r\n <div className=\"col-9\">\r\n <textarea class=\"form-control\" rows=\"3\" name=\"kvkk\" id=\"kvkk\" onChange={handleInputChange} defaultValue={globalData.kvkk}></textarea>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"col-3\">\r\n Google Harita Ayarları\r\n </div>\r\n\r\n <div className=\"col-9\">\r\n <div className=\"row rounded-3\">\r\n <div className=\"col-12 col-sm-4\" >\r\n <input type=\"Number\" className=\"form-control form-control-sm\" placeholder=\"Enlem\" name=\"genlem\" id=\"genlem\" onChange={handleInputChange} defaultValue={globalData.genlem} />\r\n </div>\r\n <div className=\"col-12 col-sm-4\" >\r\n <input type=\"Number\" className=\"form-control form-control-sm\" placeholder=\"Boylem\" name=\"gboylem\" id=\"gboylem\" onChange={handleInputChange} defaultValue={globalData.gboylem} />\r\n </div>\r\n <div className=\"col-12 col-sm-4\" >\r\n <input type=\"Number\" className=\"form-control form-control-sm\" placeholder=\"Zoom\" name=\"gzoom\" id=\"gzoom\" onChange={handleInputChange} defaultValue={globalData.gzoom} />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"col-3\">\r\n Ödeme Linki\r\n </div>\r\n\r\n <div className=\"col-9\">\r\n <div className=\"row rounded-3\">\r\n <div className=\"col-12\" >\r\n <textarea class=\"form-control\" rows=\"1\" name=\"paymentLink\" id=\"paymentLink\" placeholder=\"Ödeme Linki\" onChange={handleInputChange} defaultValue={globalData.paymentLink}></textarea>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"col-3\">\r\n Ãœyelik KVKK\r\n </div>\r\n\r\n <div className=\"col-9\">\r\n <div className=\"row rounded-3\">\r\n <div className=\"col-12\" >\r\n <textarea class=\"form-control\" rows=\"1\" name=\"registerKVKK\" id=\"registerKVKK\" placeholder=\" Ãœyelik KVKK\" onChange={handleInputChange} defaultValue={globalData.registerKVKK}></textarea>\r\n <label for=\"registerKVKKFile\" class=\"form-label\"><i aria-hidden=\"true\" title=\"Dosya Yükle\" className=\"fa fa-upload text-primary\" style={{ cursor: \"pointer\" }}></i></label>\r\n <input class=\"form-control form-control-sm\" hidden type=\"file\" id=\"registerKVKKFile\" onChange={(e) => SendFiles(e, \"registerKVKKFile\")} />\r\n <button class=\"btn btn-link\" onClick={(e) => SendFiles(null, \"registerKVKKFile\")}><i className=\"fa fa-trash\"></i></button>\r\n\r\n <a className=\"text-decoration-none\" href='getgeneralfile?id=registerKVKKFile' download={globalData.registerKVKKFile}> {globalData.registerKVKKFile} </a>\r\n <span class=\"spinner-border spinner-border-sm\" hidden id=\"spregisterKVKKFile\" ></span>\r\n \r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"col-3\">\r\n Ãœyelik SözleÅŸme\r\n </div>\r\n\r\n <div className=\"col-9\">\r\n <div className=\"row rounded-3\">\r\n <div className=\"col-12\" >\r\n <textarea class=\"form-control\" rows=\"1\" name=\"registerAgrement\" id=\"registerAgrement\" placeholder=\" Ãœyelik SözleÅŸme\" onChange={handleInputChange} defaultValue={globalData.registerAgrement}></textarea>\r\n <label for=\"registerAgrementFile\" class=\"form-label\"><i aria-hidden=\"true\" title=\"Dosya Yükle\" className=\"fa fa-upload text-primary\" style={{ cursor: \"pointer\" }}></i></label>\r\n <input class=\"form-control form-control-sm\" hidden type=\"file\" id=\"registerAgrementFile\" onChange={(e) => SendFiles(e, \"registerAgrementFile\")} />\r\n <button class=\"btn btn-link\" onClick={(e) => SendFiles(null, \"registerAgrementFile\")}><i className=\"fa fa-trash\"></i></button>\r\n <a className=\"text-decoration-none\" href='getgeneralfile?id=registerAgrementFile' download={globalData.registerAgrementFile}> {globalData.registerAgrementFile} </a>\r\n\r\n <span class=\"spinner-border spinner-border-sm\" hidden id=\"spregisterAgrementFile\" ></span>\r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"col-3\">\r\n BaÅŸvuru KVKK\r\n </div>\r\n\r\n <div className=\"col-9\">\r\n <div className=\"row rounded-3\">\r\n <div className=\"col-12\" >\r\n <textarea class=\"form-control\" rows=\"1\" name=\"applyKVKK\" id=\"applyKVKK\" placeholder=\"BaÅŸvuru KVKK\" onChange={handleInputChange} defaultValue={globalData.applyKVKK}></textarea>\r\n <label for=\"applyKVKKFile\" class=\"form-label\"><i aria-hidden=\"true\" title=\"Dosya Yükle\" className=\"fa fa-upload text-primary\" style={{ cursor: \"pointer\" }}></i></label>\r\n <input class=\"form-control form-control-sm\" hidden type=\"file\" id=\"applyKVKKFile\" onChange={(e) => SendFiles(e, \"applyKVKKFile\")} />\r\n <button class=\"btn btn-link\" onClick={(e) => SendFiles(null, \"applyKVKKFile\")}><i className=\"fa fa-trash\"></i></button>\r\n\r\n\r\n <a className=\"text-decoration-none\" href='getgeneralfile?id=applyKVKKFile' download={globalData.applyKVKKFile}> {globalData.applyKVKKFile} </a>\r\n <span class=\"spinner-border spinner-border-sm\" hidden id=\"spapplyKVKKFile\" ></span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"col-3\">\r\n BaÅŸvuru SözleÅŸme\r\n </div>\r\n\r\n <div className=\"col-9\">\r\n <div className=\"row rounded-3\">\r\n <div className=\"col-12\" >\r\n <textarea class=\"form-control\" rows=\"1\" name=\"applyAgrement\" id=\"applyAgrement\" placeholder=\"BaÅŸvuru SözleÅŸme\" onChange={handleInputChange} defaultValue={globalData.applyAgrement}></textarea>\r\n <label for=\"applyAgrementFile\" class=\"form-label\"><i aria-hidden=\"true\" title=\"Dosya Yükle\" className=\"fa fa-upload text-primary\" style={{ cursor: \"pointer\" }}></i></label>\r\n <input class=\"form-control form-control-sm\" hidden type=\"file\" id=\"applyAgrementFile\" onChange={(e) => SendFiles(e, \"applyAgrementFile\")} />\r\n <button class=\"btn btn-link\" onClick={(e) => SendFiles(null, \"applyAgrementFile\")}><i className=\"fa fa-trash\"></i></button>\r\n <a className=\"text-decoration-none\" href='getgeneralfile?id=applyAgrementFile' download={globalData.applyAgrementFile}> {globalData.applyAgrementFile} </a>\r\n <span class=\"spinner-border spinner-border-sm\" hidden id=\"spapplyAgrementFile\" ></span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"col-3\">\r\n Düzeltme Mesajlarını\r\n </div>\r\n\r\n <div className=\"col-9\">\r\n <div className=\"row rounded-3\">\r\n <div className=\"col-12\" >\r\n <div class=\"form-check form-check-inline\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"showRevisionNoteAfterSend\" id=\"inlineRadio1\" value={\"false\"} onChange={handleInputChange} defaultChecked={globalData.showRevisionNoteAfterSend != true} />\r\n <label class=\"form-check-label\" for=\"inlineRadio1\">Hemen Göster</label>\r\n </div>\r\n <div class=\"form-check form-check-inline\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"showRevisionNoteAfterSend\" id=\"inlineRadio2\" value={\"true\"} onChange={handleInputChange} defaultChecked={globalData.showRevisionNoteAfterSend == true} />\r\n <label class=\"form-check-label\" for=\"inlineRadio2\">Kontrol Tamamlanınca Göster</label>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-3\">\r\n <div className=\"col-3\">\r\n 2 AaÅŸamalı Kullanıcı DoÄŸrulama\r\n </div>\r\n\r\n <div className=\"col-9\">\r\n <div className=\"row rounded-3\">\r\n <div className=\"col-12\" >\r\n <div class=\"form-check form-check-inline\">\r\n <input class=\"form-check-input\" type=\"checkbox\" name=\"twoStepSMS\" onChange={handleInputChange} defaultChecked={globalData.twoStepSMS == true} />\r\n <label class=\"form-check-label\" >SMS</label>\r\n </div>\r\n <div class=\"form-check form-check-inline\">\r\n <input class=\"form-check-input\" type=\"checkbox\" name=\"twoStepEmail\" onChange={handleInputChange} defaultChecked={globalData.twoStepEmail == true} />\r\n <label class=\"form-check-label\">Email</label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-4\">\r\n <div className=\"col-12\">\r\n <button onClick={setGeneralData} className=\"btn btn-sm btn-primary\">Güncelle</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"col-12\">\r\n <CommunicationSetting />\r\n </div>\r\n </div>\r\n\r\n\r\n {(userName == \"a\" || userName.toLowerCase() == \"admin\") && <div>\r\n <button onClick={fetchduplicate} className=\"btn btn-sm btn-primary mb-2\">ArÅŸivde Duplicate Klasorleri Bul</button>\r\n <div class=\"spinner-border spinner-border-sm\" hidden id=\"dupspin\"></div>\r\n <div className=\"mt-1\" style={{ maxHeight: '500px', overflowY: 'auto', border: '1px solid #ccc', padding: '5px' }}>\r\n {duplicateList.map(x => <div>{x}</div>)}\r\n </div>\r\n </div>}\r\n\r\n </div>\r\n );\r\n\r\n\r\n}\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, showConfirmMessage, showSuccessMessage, showErrorMessage, isEmpty } from '../GlobalState.js';\r\n\r\n\r\nexport default function UserTypePanel(props) {\r\n var postdata = {};\r\n const [listData, setListData] = useState(null);\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n const removeRecord = (id) => {\r\n\r\n showConfirmMessage(id + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\",\"Evet\",\"Hayır\",()=>\r\n\r\n fetch(\"removeusertype\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n fetchList();\r\n }\r\n }) )\r\n }\r\n\r\n\r\n\r\n const submitUpdateRecord = (rec) => {\r\n\r\n fetch(\"updateusertype\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı\")\r\n }\r\n });\r\n }\r\n const fetchList = () => {\r\n\r\n fetch(\"getusertypelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const Add = () => {\r\n\r\n if (isEmpty(document.getElementById(\"basvuruTuru\").value)) {\r\n showErrorMessage(\"Lütfen kullanıcı tipi ismini giriniz\");\r\n return;\r\n }\r\n\r\n if (isEmpty(document.getElementById(\"sira\").value)) {\r\n showErrorMessage(\"Lütfen imzacı sırasını giriniz\");\r\n return;\r\n } \r\n var apptype = {\r\n appType: document.getElementById(\"basvuruTuru\").value,\r\n gizli: document.getElementById(\"gizli\").checked,\r\n sira: document.getElementById(\"sira\").value\r\n }\r\n fetch(\"addusertype\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(apptype)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n document.getElementById(\"basvuruTuru\").value = \"\";\r\n document.getElementById(\"sira\").value = \"\";\r\n document.getElementById(\"gizli\").checked = false;\r\n fetchList();\r\n }\r\n });\r\n\r\n }\r\n\r\n const myCompare = (a, b) => {\r\n var av = a[sortField];\r\n var bv = b[sortField];\r\n var ret = 1;\r\n if (sortDirection[sortField] == \"ZA\")\r\n ret = -1;\r\n\r\n if (av == null && bv != null)\r\n return -1 * ret;\r\n if (av != null && bv == null)\r\n return 1 * ret;\r\n if (av == null && bv == null)\r\n return 0;\r\n\r\n if (typeof av === 'string' || av instanceof String)\r\n if (typeof bv === 'string' || bv instanceof String)\r\n return av.localeCompare(bv) * ret\r\n\r\n if (av < bv) {\r\n return -1 * ret;\r\n }\r\n if (av > bv) {\r\n return 1 * ret;\r\n }\r\n return 0;\r\n }\r\n\r\n const [sortDirection, setSortDirection] = useState({});\r\n var sortField = \"\";\r\n const sortList = (fildname) => {\r\n sortField = fildname;\r\n if (sortDirection[sortField] == null || sortDirection[sortField] == \"ZA\") {\r\n sortDirection[sortField] = \"AZ\";\r\n }\r\n else {\r\n sortDirection[sortField] = \"ZA\";\r\n }\r\n\r\n var temp = [...listData]; //clone the array to update the component on setApplist\r\n temp.sort(myCompare);\r\n setListData(temp);\r\n }\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n <div className=\"table-responsive mainpagescroll\" style={{ \"height\": \"85vh\" }}>\r\n <table className='table table-vdstriped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead style={{ \"position\": \"sticky\", \"top\": 0, \"z-index\": \"1\" }} className=\"bg-light\">\r\n\r\n <th className=\"text-start\"><button className=\"btn btn-sm btn-link text-decoration-none shadow-none\" onClick={() => sortList(\"id\")}> No</button></th>\r\n <th className=\"text-start\" ><button className=\"btn btn-sm btn-link text-decoration-none shadow-none\" onClick={() => sortList(\"appType\")}> Kullanıcı Tipi</button></th>\r\n <th className=\"text-start\"><button className=\"btn btn-sm btn-link text-decoration-none shadow-none\" onClick={() => sortList(\"gizli\")}> Gizli</button></th>\r\n <th className=\"text-start\"><button className=\"btn btn-sm btn-link text-decoration-none shadow-none\" onClick={() => sortList(\"sira\")}> Sıra</button></th>\r\n <th className=\"text-start\"><button className=\"btn btn-sm btn-link text-decoration-none shadow-none\" onClick={() => sortList(\"regDate\")}> Kayıt Tarihi</button></th>\r\n <th className=\"text-start\"><button className=\"btn btn-sm btn-link text-decoration-none shadow-none\" onClick={() => sortList(\"userName\")}> Ekleyen</button></th>\r\n <th className=\"text-start\"></th>\r\n \r\n </thead>\r\n <tbody id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n <tr key={apprec.id}>\r\n <td>{apprec.id}</td>\r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Kullanıcı Tipi\" name=\"appType\" defaultValue={apprec.appType} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n <td className=\"text-center\">\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"gizli\" defaultChecked={apprec.gizli} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n <td>\r\n <input type=\"number\" className=\"form-control form-control-sm\" placeholder=\"Sıra\" name=\"sira\" defaultValue={apprec.sira} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n <td>{apprec.regDate}</td>\r\n <td>{apprec.userName}</td>\r\n\r\n <td>\r\n <button onClick={() => submitUpdateRecord(apprec)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Güncelle</button> \r\n <button onClick={() => removeRecord(apprec.id)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Sil</button>\r\n </td>\r\n </tr>\r\n )}\r\n <tr className=\"bg-white\">\r\n <td></td>\r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"name\" placeholder=\"Yeni Kullanıcı Tipi\" id=\"basvuruTuru\" name=\"name\" defaultValue=\"\" />\r\n </td>\r\n <td className=\"text-center\">\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"gizli\" id=\"gizli\" defaultChecked={false} />\r\n </td>\r\n <td>\r\n <input type=\"number\" className=\"form-control form-control-sm\" placeholder=\"Sıra\" name=\"sira\" id=\"sira\"/>\r\n </td>\r\n <td></td>\r\n <td></td>\r\n <td> <button onClick={Add} className=\"btn btn-sm btn-link text-decoration-none m-0 p-0\">Ekle</button></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n }, [])\r\n\r\n\r\n var listTable = \"\";\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n else\r\n listTable = renderTable([]);\r\n\r\n return (\r\n <div>\r\n\r\n <h5 className=\"ps-1\">Kullanıcı Tipleri</h5>\r\n <div className=\"row\">\r\n <div className=\"col-12\">\r\n {listTable}\r\n </div>\r\n </div>\r\n\r\n\r\n \r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, showSuccessMessage, showConfirmMessage, sendget } from '../GlobalState.js';\r\n\r\nexport default function SureclerPanel(props) {\r\n var postdata = {};\r\n const [listData, setListData] = useState(null);\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n const removeRecord = (id) => {\r\n showConfirmMessage(id + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removesurec\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n fetchList();\r\n }\r\n }));\r\n }\r\n\r\n\r\n\r\n const submitUpdateRecord = (rec) => {\r\n\r\n fetch(\"updatesurec\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı\")\r\n }\r\n });\r\n }\r\n const fetchList = () => {\r\n sendget(\"sureclist\", \"\", (response) => {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n });\r\n }\r\n\r\n const Add = () => {\r\n fetch(\"addsurec\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(document.getElementById(\"surecAdi\").value)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n document.getElementById(\"surecAdi\").value = \"\";\r\n fetchList();\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n <div className=\"table-responsive mainpagescroll\" style={{ \"height\": \"85vh\" }}>\r\n <table className='table table-striped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead style={{ \"position\": \"sticky\", \"top\": 0, \"z-index\": \"1\" }} className=\"bg-light\">\r\n <tr>\r\n <th>No</th>\r\n <th>Süreç Adı</th>\r\n <th>AÅŸama</th>\r\n <th>Kayıt Tarihi</th>\r\n <th>Ekleyen</th>\r\n <th>Ayarlar</th>\r\n </tr>\r\n </thead >\r\n <tbody id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n <tr key={apprec.id}>\r\n <td>{apprec.id}</td>\r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm\" name=\"name\" defaultValue={apprec.name} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n <td>\r\n {apprec.stage}\r\n </td>\r\n <td>{apprec.createTime}</td>\r\n <td>{apprec.userName}</td>\r\n\r\n <td>\r\n <button onClick={() => submitUpdateRecord(apprec)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Güncelle</button> \r\n {apprec.additional==true?<button onClick={() => removeRecord(apprec.id)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Sil</button>:\"\"}\r\n </td>\r\n </tr>\r\n )}\r\n <tr className=\"bg-white\">\r\n <td></td>\r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"name\" placeholder=\"Yeni Süreç\" id=\"surecAdi\" name=\"surecAdi\" defaultValue=\"\" />\r\n </td>\r\n <td></td>\r\n <td></td>\r\n <td></td>\r\n <td> <button onClick={Add} className=\"btn btn-sm btn-link text-decoration-none m-0 p-0\">Ekle</button></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n }, [])\r\n\r\n\r\n var listTable = \"\";\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n else\r\n listTable = renderTable([]);\r\n\r\n return (\r\n <div >\r\n\r\n <h5 className=\"ps-1\">Süreçler</h5>\r\n <div className=\"row\">\r\n <div className=\"col-12\">\r\n {listTable}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { ajaxFail, showConfirmMessage, showSuccessMessage } from '../GlobalState.js';\r\n\r\nexport default function SettingUserFile(props) {\r\n var postdata = {};\r\n postdata[\"FileType\"] = \".pdf\";\r\n const [listData, setListData] = useState(null);\r\n const [typeOptions, setTypeOptions] = useState([]);\r\n var multiselectRef = React.createRef();\r\n var multiselectRef2 = React.createRef();\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value.trim();\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n const sil = (rec) => {\r\n showConfirmMessage(rec.name + \" Ä°simli Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removeuserfilename\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n }));\r\n\r\n }\r\n\r\n const onSelect1 = (selectedList, selectedItem) => {\r\n postdata[\"userType\"] = multiselectRef.current.getSelectedItems().map(c => c.name).join(\", \")\r\n }\r\n const onRemove1 = (selectedList, removedItem) => {\r\n postdata[\"userType\"] = multiselectRef.current.getSelectedItems().map(c => c.name).join(\", \")\r\n }\r\n const onSelect2 = (selectedList, selectedItem) => {\r\n postdata[\"fileType\"] = selectedList.join(\", \")\r\n }\r\n const onRemove2 = (selectedList, removedItem) => {\r\n postdata[\"fileType\"] = selectedList.join(\", \")\r\n }\r\n\r\n\r\n useEffect(() => {\r\n userfilenamelist();\r\n getAppTypes();\r\n }, [])\r\n\r\n\r\n\r\n const Add = (rec) => {\r\n fetch(\"saveuserfilename\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec!=null?rec:postdata)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n if (rec != null) {\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı\")\r\n }\r\n document.getElementById(\"zorunlu\").checked = false;\r\n document.getElementById(\"dosyaadi\").value = \"\";\r\n multiselectRef.current.resetSelectedValues();\r\n multiselectRef2.current.resetSelectedValues();\r\n userfilenamelist();\r\n }\r\n });\r\n }\r\n\r\n\r\n const getAppTypes = () => {\r\n fetch(\"getusertypelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n var opt = [];\r\n for (var x of value) {\r\n opt.push({ name: x.appType })\r\n }\r\n setTypeOptions(opt);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const userfilenamelist = () => {\r\n fetch(\"userfilenamelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n\r\n <table className='table table-vdstriped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead>\r\n <tr>\r\n <th>Dosya Adı</th>\r\n <th>Dosya Tipi</th>\r\n <th>Kullanıcı Tipi</th>\r\n <th>Zorunlu</th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n <tr key={apprec.id}>\r\n {/*<td>{apprec.id}</td>*/}\r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm\" name=\"name\" defaultValue={apprec.name} onChange={(e) => updateRecord(apprec, e)} />\r\n\r\n </td>\r\n <td>\r\n <Multiselect className=\"text-dark form-select-sm m-0 p-0\"\r\n options={[\".pdf\", \".zip\", \".doc\", \".docx\", \".xls\", \"xlsx\", \"image/*\"]}\r\n emptyRecordMsg=\"BaÅŸka Dosya Tipi Yok\"\r\n isObject={false}\r\n ref={multiselectRef2}\r\n onSelect={(selectedList, selectedItem) => { apprec.fileType = selectedList.join() }}\r\n onRemove={(selectedList, selectedItem) => { apprec.fileType = selectedList.join() }}\r\n hidePlaceholder={true}\r\n selectedValues={apprec.fileType != null ? apprec.fileType.split(',').map(x => x.trim()) : []}\r\n />\r\n\r\n </td>\r\n <td>\r\n\r\n <Multiselect className=\"p-0 ps-1 form-control-sm bg-white\"\r\n options={typeOptions.map(x=>x.name)}\r\n emptyRecordMsg=\"BaÅŸka BaÅŸvuru Durmu Yok\"\r\n isObject={false}\r\n onSelect={(selectedList, selectedItem) => { apprec.userType = selectedList.join() }}\r\n onRemove={(selectedList, selectedItem) => { apprec.userType = selectedList.join() }}\r\n selectedValues={apprec.userType != null ? apprec.userType.split(',').map(x=>x.trim()) : []}\r\n displayValue=\"name\"\r\n />\r\n\r\n </td>\r\n {/*<td>{apprec.crerateTime}</td>*/}\r\n {/*<td>{apprec.creatorUserName}</td>*/}\r\n <td>\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"zorunlu\" defaultChecked={apprec.zorunlu} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n <td>\r\n <button onClick={() => Add(apprec)} className=\"btn btn-link text-decoration-none m-0 p-0\"><i class=\"fa fa-save\" title=\"Güncelle\"></i></button> \r\n <button onClick={() => sil(apprec)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">\r\n <i class=\"fa fa-trash-o text-danger\" title=\"Sil\"></i>\r\n </button></td>\r\n </tr>\r\n )}\r\n <tr className=\"bg-white\">\r\n\r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"dosyaadi\" placeholder=\"Dosya Adı\" name=\"Name\" onChange={handleInputChange} />\r\n </td>\r\n <td width=\"30%\">\r\n\r\n <Multiselect className=\"text-dark form-select-sm m-0 p-0\"\r\n options={[\".pdf\", \".zip\", \".doc\",\".docx\", \".xls\",\"xlsx\", \"image/*\"]}\r\n emptyRecordMsg=\"BaÅŸka Dosya Tipi Yok\"\r\n isObject={false}\r\n ref={multiselectRef2}\r\n onSelect={onSelect2} // Function will trigger on select event\r\n onRemove={onRemove2} // Function will trigger on remove event\r\n hidePlaceholder={true}\r\n\r\n />\r\n </td>\r\n <td width=\"30%\">\r\n <Multiselect className=\"text-dark form-select-sm m-0 p-0\"\r\n options={typeOptions} // Options to display in the dropdown\r\n //selectedValues={appData.baÅŸvuruTipi} // Preselected value to persist in dropdown\r\n onSelect={onSelect1} // Function will trigger on select event\r\n onRemove={onRemove1} // Function will trigger on remove event\r\n displayValue=\"name\" // Property name to display in the dropdown options\r\n emptyRecordMsg=\"BaÅŸka Kullanıcı Tipi Yok\"\r\n ref={multiselectRef}\r\n hidePlaceholder={true}\r\n />\r\n </td>\r\n\r\n <td> <input type=\"checkbox\" className=\"form-check-input\" name=\"zorunlu\" id=\"zorunlu\" onChange={handleInputChange} /></td>\r\n <td> <button onClick={() => Add()} className=\"btn btn-sm btn-link text-decoration-none m-0 p-0\">\r\n <i class=\"fa fa-plus-circle\"></i>\r\n </button></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n\r\n return (mytable);\r\n }\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n var listTable = \"\";\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n else\r\n listTable = renderTable([]);\r\n\r\n return (\r\n <div >\r\n <h5>Kullanıcı Dosyaları</h5>\r\n\r\n {listTable}\r\n\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport SettingUserFile from './SettingUserFile.js';\r\nimport { ajaxFail, showConfirmMessage, showSuccessMessage } from '../GlobalState.js';\r\n\r\nexport default function RegisterSettingPanel(props) {\r\n var postdata = {};\r\n const [listData, setListData] = useState(null);\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n \r\n\r\n const removeRecord = (id) => {\r\n showConfirmMessage(id + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removeuserfield\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n }));\r\n }\r\n\r\n \r\n\r\n const submitUpdateRecord = (rec) => {\r\n\r\n fetch(\"updateuserfield\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı\")\r\n }\r\n });\r\n }\r\n\r\n\r\n \r\n\r\n const fetchList = () => {\r\n\r\n fetch(\"userfieldlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const Add = () => {\r\n fetch(\"adduserfield\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(postdata)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n document.getElementById(\"name\").value = \"\";\r\n document.getElementById(\"type\").value = \"\";\r\n document.getElementById(\"reqired\").checked = false;\r\n document.getElementById(\"active\").checked = false;\r\n fetchList();\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value;\r\n }\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n\r\n <table className='table table-striped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead>\r\n <tr>\r\n <th>ID</th>\r\n <th>Soru Adı</th>\r\n <th>Soru Türü</th>\r\n <th>Varsayılan DeÄŸer</th>\r\n\r\n <th>Zorunlu</th>\r\n <th>Aktif</th>\r\n <th>Kayıt Tarihi</th>\r\n <th>Ekleyen</th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n <tr key={apprec.id}>\r\n <td>{apprec.id}</td>\r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Soru Adı\" name=\"name\" defaultValue={apprec.name} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n <td>\r\n <select className=\"form-select form-select-sm\" name=\"type\" placeholder=\"Soru Türü\" defaultValue={apprec.type} onChange={(e) => updateRecord(apprec, e)} >\r\n <option value=\"text\">Yazı</option>\r\n <option value=\"select\">Çoktan Seçmeli</option>\r\n <option value=\"checkbox\">Checkbox</option>\r\n <option value=\"number\">Sayı</option>\r\n </select>\r\n </td>\r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Varsayılan DeÄŸer\" name=\"initValue\" defaultValue={apprec.initValue} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n <td>\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"reqired\" defaultChecked={apprec.reqired} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n <td>\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"active\" defaultChecked={apprec.active} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n <td>{apprec.crerateTime}</td>\r\n <td>{apprec.userName}</td>\r\n\r\n <td>\r\n <button onClick={() => submitUpdateRecord(apprec)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">\r\n <i class=\"fa fa-save\" title=\"Güncelle\"></i>\r\n </button> \r\n <button onClick={() => removeRecord(apprec.id)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">\r\n <i class=\"fa fa-trash-o text-danger\" title=\"Sil\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n )}\r\n <tr className=\"bg-white\">\r\n <td></td>\r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"name\" placeholder=\"Soru Adı\" name=\"name\" onChange={handleInputChange} defaultValue=\"\" />\r\n </td>\r\n <td>\r\n <select className=\"form-select form-select-sm\" id=\"type\" name=\"type\" placeholder=\"Soru Türü\" defaultValue=\"\" onChange={handleInputChange} >\r\n <option value=\"text\">Yazı</option>\r\n <option value=\"select\">Çoktan Seçmeli</option>\r\n <option value=\"checkbox\">Checkbox</option>\r\n <option value=\"number\">Sayı</option>\r\n </select>\r\n\r\n </td>\r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Varsayılan DeÄŸer\" name=\"initValue\" defaultValue=\"\" onChange={handleInputChange} />\r\n </td>\r\n <td>\r\n <input type=\"checkbox\" className=\"form-check-input\" id=\"reqired\" name=\"reqired\" onChange={handleInputChange} />\r\n </td>\r\n <td>\r\n <input type=\"checkbox\" className=\"form-check-input\" id=\"active\" name=\"active\" onChange={handleInputChange} />\r\n </td>\r\n <td></td>\r\n <td></td>\r\n <td> <button onClick={Add} className=\"btn btn-sm btn-link text-decoration-none m-0 p-0\">\r\n <i class=\"fa fa-plus-circle\"></i>\r\n </button></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n }, [])\r\n\r\n\r\n var listTable = \"\";\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n else\r\n listTable = renderTable([]);\r\n\r\n return (\r\n <div className=\" rounded mt-2\">\r\n\r\n <h5>Kullanıcı Kayıt Formu</h5>\r\n <div className=\"row\">\r\n <div className=\"col-12\">\r\n {listTable}\r\n </div>\r\n </div>\r\n <div className=\"row mt-5\">\r\n <div className=\"col-12\">\r\n <SettingUserFile />\r\n </div>\r\n </div>\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, showConfirmMessage, showSuccessMessage, showErrorMessage } from '../GlobalState.js';\r\nimport ReactQuill from 'react-quill';\r\nimport 'react-quill/dist/quill.snow.css';\r\nimport axios from \"axios\";\r\n\r\nexport default function DuyuruSetting(props) {\r\n var postdata = \"\";\r\n const [listData, setListData] = useState(null);\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n const removeRecord = (id) => {\r\n showConfirmMessage(id + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removeduyuru\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n fetchList();\r\n }\r\n }));\r\n }\r\n\r\n\r\n\r\n const submitUpdateRecord = (rec) => {\r\n\r\n fetch(\"updateduyuru\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı\")\r\n }\r\n });\r\n }\r\n const fetchList = () => {\r\n\r\n fetch(\"getduyurulist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const Add = () => {\r\n fetch(\"addduyuru\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(postdata)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n\r\n fetchList();\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n const SendFiles = (event, selectedRecord) => {\r\n document.getElementById(\"fileuploadsp\").hidden = false;\r\n var selectedFile = { file: event.target.files[0] }\r\n var formData = new FormData();\r\n formData.append(\"file\", selectedFile.file);\r\n formData.append(\"caption\", selectedFile.file.name);\r\n formData.append(\"appid\", selectedRecord.id);\r\n axios.post(\r\n \"submitduyurufile\",\r\n formData,\r\n {\r\n headers: {\r\n \"Content-type\": \"multipart/form-data\",\r\n },\r\n }\r\n ).then(res => {\r\n document.getElementById(\"fileuploadsp\").hidden = true;\r\n \r\n setListData(res.data);\r\n })\r\n .catch(err => { showErrorMessage(err); })\r\n }\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable = <div>\r\n <div className=\"row ms-1\">\r\n\r\n <div className=\"col-11 border border-secondary rounded-3 p-2\" style={{ \"resize\": \"vertical\", \"overflow-y\": \"scroll\", \"height\": \"120px\" }}>\r\n <ReactQuill className=\"h-100\" theme=\"snow\" value=\"\" onChange={(e) => postdata = e} />\r\n </div>\r\n <div className=\"col-1\"> <button onClick={Add} className=\"btn btn-sm btn-link text-decoration-none m-0 p-0\">\r\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\" style={{ fontSize:\"20px\" }}></i>\r\n </button></div>\r\n </div>\r\n <table className='table table-vdstriped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead>\r\n <tr>\r\n <th width=\"50px\">No</th>\r\n <th >Duyuru</th>\r\n <th width=\"190px\">Kayıt Tarihi</th>\r\n <th width=\"130px\">Ekleyen</th>\r\n <th width=\"130px\">Dosya</th>\r\n <th width=\"100px\"> <span class=\"spinner-border spinner-border-sm\" hidden id=\"fileuploadsp\" ></span></th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n <tr key={apprec.id}>\r\n <td className=\"text-center\">{apprec.id}</td>\r\n <td style={{ \"resize\": \"vertical\", \"overflow-y\": \"scroll\", \"height\": \"120px\" }} className=\"p-2\">\r\n\r\n\r\n <ReactQuill className=\"h-100 bg-white\" theme=\"snow\" onChange={(e) => apprec.message = e} defaultValue={apprec.message} />\r\n\r\n {/* <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"BaÅŸvuru Turu\" name=\"message\" defaultValue={apprec.message} onChange={(e) => updateRecord(apprec, e)} />*/}\r\n\r\n </td>\r\n <td>{apprec.postDate}</td>\r\n <td>{apprec.userName}</td>\r\n <td>\r\n <a className=\"text-decoration-none\" href={'getduyurufile?id=' + apprec.id} download={apprec.fileName}> {apprec.fileName} </a>\r\n </td>\r\n <td>\r\n <label for={\"formFile\" + apprec.id} class=\"form-label\"><i aria-hidden=\"true\" title=\"Dosya Yükle\" className=\"fa fa-upload text-primary\" style={{ cursor: \"pointer\" } }></i></label>\r\n <input class=\"form-control form-control-sm mt-2\" hidden type=\"file\" id={\"formFile\" + apprec.id} onChange={(e) => SendFiles(e, apprec)} /> \r\n\r\n <button onClick={() => submitUpdateRecord(apprec)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\"><i class=\"fa fa-floppy-o\" aria-hidden=\"true\" title=\"Güncelle\"></i></button> \r\n <button onClick={() => removeRecord(apprec.id)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\"><i class=\"fa fa-trash\" title=\"Sil\"></i></button>\r\n \r\n </td>\r\n \r\n </tr>\r\n )}\r\n\r\n </tbody>\r\n </table>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n }, [])\r\n\r\n\r\n var listTable = \"\";\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n else\r\n listTable = renderTable([]);\r\n\r\n return (\r\n <div className=\" rounded \">\r\n\r\n <h5 className=\"ps-1\">Duyurular</h5>\r\n \r\n {listTable}\r\n \r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { isEmpty, showConfirmMessage, showErrorMessage, showSuccessMessage, useGlobalState } from '../GlobalState.js';\r\nimport axios from \"axios\";\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport ReactQuill from 'react-quill';\r\nimport 'react-quill/dist/quill.snow.css';\r\n\r\n\r\nexport default function HelpSettingPanel(props) {\r\n var postdata = {};\r\n postdata[\"FileType\"] = \"pdf\";\r\n var selectedRecord = null;\r\n const [listData, setListData] = useState(null);\r\n const [typeOptions, setTypeOptions] = useState([]);\r\n var multiselectRef = React.createRef();\r\n const [role, setRole] = useGlobalState('role');\r\n\r\n useEffect(() => {\r\n \r\n \r\n }, [])\r\n\r\n useEffect(() => {\r\n fetchUserTypeList();\r\n getHelpList();\r\n initModal();\r\n \r\n }, [])\r\n\r\n const sil = (rec) => {\r\n showConfirmMessage(rec.id + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removehelpList\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec.id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n }));\r\n }\r\n\r\n\r\n const SendFiles = (event) => {\r\n document.getElementById(\"fileuploadsp\").hidden = false;\r\n var selectedFile = { file: event.target.files[0]}\r\n var formData = new FormData();\r\n formData.append(\"file\", selectedFile.file);\r\n formData.append(\"caption\", selectedFile.file.name);\r\n formData.append(\"appid\", selectedRecord.id);\r\n axios.post(\r\n \"submithelpfile\",\r\n formData,\r\n {\r\n headers: {\r\n \"Content-type\": \"multipart/form-data\",\r\n },\r\n }\r\n ).then(res => {\r\n document.getElementById(\"fileuploadsp\").hidden = true;\r\n var locModal = document.getElementById('myModal');\r\n locModal.style.display = \"none\";\r\n locModal.classList.add(\"hide\");\r\n setListData(res.data);\r\n })\r\n .catch(err => { showErrorMessage(err); })\r\n }\r\n\r\n\r\n const initModal = () => {\r\n var locModal = document.getElementById('myModal');\r\n var btnclosedown = document.getElementById('downclosemodal');\r\n btnclosedown.addEventListener('click', (e) => {\r\n locModal.style.display = \"none\";\r\n locModal.classList.add(\"hide\");\r\n });\r\n }\r\n\r\n\r\n\r\n const onSelect = (selectedList, selectedItem) => {\r\n postdata[\"roles\"] = multiselectRef.current.getSelectedItems().map(c => c.appType).join(\", \")\r\n }\r\n const onRemove = (selectedList, removedItem) => {\r\n postdata[\"roles\"] = multiselectRef.current.getSelectedItems().map(c => c.appType).join(\", \")\r\n }\r\n\r\n const fetchUserTypeList = () => {\r\n\r\n fetch(\"getusertypelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setTypeOptions(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const getHelpList = () => {\r\n fetch(\"gethelplist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value)\r\n \r\n })\r\n }\r\n });\r\n }\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n const updatehelplist = (rec)=> {\r\n fetch(\"updatehelplist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value)\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı\")\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const Add = () => {\r\n fetch(\"addhelplist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(postdata)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n document.getElementById(\"caption\").value = \"\";\r\n document.getElementById(\"title\").value = \"\";\r\n \r\n document.getElementById(\"url\").value = \"\";\r\n multiselectRef.current.resetSelectedValues();\r\n getHelpList();\r\n }\r\n });\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value;\r\n }\r\n\r\n var controlPanel = \"\";\r\n\r\n\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n\r\n <table className='table table-vdstriped table-sm text-start' aria-labelledby=\"tabelLabel\">\r\n <thead className=\"text-start\">\r\n <tr>\r\n <th width=\"3%\" className=\"text-start\">No</th>\r\n <th width=\"10%\" className=\"text-start\">BaÅŸlık</th>\r\n <th width=\"30%\" className=\"text-start\">Açıklama</th>\r\n <th width=\"20%\" className=\"text-start\">Video Link</th>\r\n <th width=\"17%\" className=\"text-start\">Kullanıcı Tipi</th>\r\n <th width=\"10%\" className=\"text-start\">Dosya</th>\r\n <th width=\"10%\" className=\"text-start\">Ekleyen</th>\r\n {/*<th width=\"10%\" className=\"text-start\">Kayıt Tarihi</th>*/}\r\n <th width=\"10%\" className=\"text-start\">Ayarlar</th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n <tr key={apprec.id}>\r\n <td>{apprec.id}</td>\r\n <td >\r\n <input type=\"text\" className=\"form-control form-control-sm \" style={{ \"background-color\": \"transparent\", \"min-width\": \"50px\" }} placeholder=\"BaÅŸlık\" name=\"title\" onChange={(e) => updateRecord(apprec, e)} defaultValue={apprec.title} />\r\n\r\n </td>\r\n \r\n\r\n <td style={{ \"resize\": \"vertical\", \"overflow-y\": \"scroll\", \"height\": \"120px\", \"min-width\": \"500px\" }} className=\"p-2\">\r\n\r\n\r\n <ReactQuill className=\"h-100\" theme=\"snow\" onChange={(e) => apprec.caption = e} defaultValue={apprec.caption} />\r\n\r\n {/* <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"BaÅŸvuru Turu\" name=\"message\" defaultValue={apprec.message} onChange={(e) => updateRecord(apprec, e)} />*/}\r\n\r\n </td>\r\n\r\n {/*<input type=\"text\" className=\"form-control form-control-sm \" style={{ \"background-color\": \"transparent\", \"min-width\": \"100px\" }} placeholder=\"Açıklama\" name=\"caption\" onChange={(e) => updateRecord(apprec, e)} defaultValue={apprec.caption} />*/}\r\n\r\n \r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm \" style={{ \"background-color\": \"transparent\", \"min-width\": \"100px\" }} placeholder=\"Video Link\" name=\"url\" onChange={(e) => updateRecord(apprec, e)} defaultValue={apprec.url} />\r\n </td>\r\n <td>\r\n <Multiselect className=\"p-0\"\r\n options={typeOptions.map(b => b.appType)}\r\n emptyRecordMsg=\"BaÅŸka BaÅŸvuru Tipi Yok\"\r\n\r\n isObject={false}\r\n onSelect={(selectedList, selectedItem) => { apprec.roles = selectedList.join() }}\r\n onRemove={(selectedList, selectedItem) => { apprec.roles = selectedList.join() }}\r\n placeholder=\"\"\r\n selectedValues={!isEmpty(apprec.roles) ? apprec.roles.split(',') : []}\r\n />\r\n\r\n </td>\r\n\r\n <td><a href={'gethelpfile?id=' + apprec.id} download={apprec.fileName}> {apprec.fileName} </a></td>\r\n <td>{apprec.userName}</td>\r\n {/*<td>{apprec.postDate}</td>*/}\r\n <td className=\"text-start\"> <button onClick={() => sil(apprec)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Sil</button><br />\r\n <button onClick={() => {\r\n document.getElementById('myModal').style.display = \"block\";\r\n document.getElementById('myModal').classList.remove(\"hide\");\r\n selectedRecord = apprec;\r\n }} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0 text-start\">\r\n Dosya Ekle</button><br />\r\n\r\n <button onClick={() => { updatehelplist(apprec); }} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Güncelle</button>\r\n </td>\r\n </tr>\r\n )}\r\n <tr className=\"bg-white\">\r\n <td></td>\r\n <td >\r\n <input type=\"text\" className=\"form-control form-control-sm \" id=\"title\" placeholder=\"BaÅŸlık\" name=\"title\" onChange={handleInputChange} />\r\n\r\n </td>\r\n\r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"caption\" placeholder=\"Açıklama\" name=\"caption\" onChange={handleInputChange} />\r\n </td>\r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"url\" placeholder=\"Link\" name=\"url\" onChange={handleInputChange} />\r\n </td>\r\n <td>\r\n <Multiselect className=\"bg-white text-dark form-select-sm m-0 p-0\"\r\n options={typeOptions} // Options to display in the dropdown\r\n //selectedValues={appData.baÅŸvuruTipi} // Preselected value to persist in dropdown\r\n onSelect={onSelect} // Function will trigger on select event\r\n onRemove={onRemove} // Function will trigger on remove event\r\n displayValue=\"appType\" // Property name to display in the dropdown options\r\n emptyRecordMsg=\"BaÅŸka BaÅŸvuru Tipi Yok\"\r\n ref={multiselectRef}\r\n />\r\n </td>\r\n <td></td>\r\n {/* <td></td>*/}\r\n <td></td>\r\n <td> <button onClick={Add} className=\"btn btn-sm btn-link text-decoration-none m-0 p-0\">Ekle</button></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n\r\n return (mytable);\r\n }\r\n\r\n var listTable = <div class=\"spinner-border \" ></div>;\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n\r\n return (\r\n <div className=\" mt-2 rounded\">\r\n\r\n <h5>Yardım Dosyaları</h5>\r\n <div className=\"row\">\r\n <div className=\"col-12 text-center\">\r\n {listTable}\r\n </div>\r\n </div>\r\n <div className=\"modal\" id=\"myModal\" >\r\n <div class=\"modal-dialog modal modal-dialog-centered \">\r\n <div class=\"modal-content\" >\r\n <div class=\"modal-body\" id=\"mymodalbody\" >\r\n\r\n <div className=\"row\">\r\n <div className=\"col-10\">\r\n\r\n <label for=\"formFile\" class=\"form-label\">Dosya Yukle</label>\r\n <br />\r\n <input class=\"form-control form-control-sm mt-2\" type=\"file\" id=\"formFile\" onChange={(e) => SendFiles(e)} />\r\n </div>\r\n\r\n <div className=\"col-2 text-end\">\r\n <div class=\"spinner-border spinner-border-sm\" hidden id=\"fileuploadsp\" ></div>\r\n </div>\r\n\r\n \r\n </div>\r\n \r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-danger\" id=\"downclosemodal\" data-bs-dismiss=\"modal\">Close</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport SablonMappingPanel from './SablonMappingPanel';\r\nimport { ajaxFail, isEmpty, showConfirmMessage, showErrorMessage, showSuccessMessage,sendpost,sendget } from '../GlobalState.js';\r\n\r\n\r\nexport default function ReportSetting(props) {\r\n\r\n const [listData, setListData] = useState(null);\r\n const [useroptions, setOptions] = useState([]);\r\n const [postdata, setPostData] = useState({});\r\n \r\n var options = [\"kontrolor\", \"basvuruSahibi\", \"basvuruYapan\",\"basvuruTipi\", \"basvuruYapanIsimSoyisim\", \"role\", \"basvuruDurumu\", \"mevki\",\r\n \"mahalle\", \"ada\", \"basvuruTarihi\", \"id\", \"arsaSahibiTel\", \"arsaSahibiTC\", \"sokak\",\r\n \"no\", \"arsaSahibi\", \"idariMahalle\", \"ucret\", \"iadeEden\", \"kontrolBitmeTarihi\", \"onayVerilmeTarihi\", \"iadeTarihi\",\r\n \"taslakOlusturmaTarihi\", \"kabulEdilmeTarihi\", \"surecTamamlanmaTarihi\", \"eimzaAcilmaTrihi\", \"vekilName\", \r\n \"vekilTC\", \"vekilTel\", \"duzeltmeSayi\", \"harcOdemeTarihi\"];\r\n\r\n options = options.concat(useroptions);\r\n const colorset = [\"#f0f7ff\", \"#FFFFFF\", \"#FFFFFF\", \"#f0f7ff\"];\r\n\r\n options = options.sort(function (a, b) {\r\n if (a == null || b == null)\r\n return 0;\r\n return a.toLowerCase().localeCompare(b.toLowerCase());\r\n });\r\n\r\n\r\n var sablonlist = [];\r\n\r\n const multiselectRef = React.createRef();\r\n\r\n useEffect(() => {\r\n fetchList();\r\n\r\n }, [])\r\n\r\n const removeReport = (recid) => {\r\n\r\n showConfirmMessage(recid + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n sendpost(\"removereport\", recid, \"myspinner\", fetchList, (resp) => {\r\n showErrorMessage(\"Rapor Silinemedi\");\r\n }));\r\n }\r\n\r\n const updatereport = (recid) => {\r\n sendpost(\"savesablon\", postdata, \"myspinner\", (resp) => {\r\n showSuccessMessage(postdata.name + \" Ä°simli Rapor KaydedilmiÅŸtir\")\r\n multiselectRef.current.resetSelectedValues();\r\n document.getElementById(\"SablonAdi\").value = \"\";\r\n document.getElementById(\"filter\").value = \"\";\r\n fetchList();\r\n setPostData({})\r\n\r\n }, (resp) => {\r\n showErrorMessage(\"Rapor Guncellenemedi\");\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n const fetchList = () => {\r\n sendget(\"reportlist\", \"myspinner\", (resp) => {\r\n resp.json().then(value => {\r\n setListData(value)\r\n })\r\n \r\n }, (resp) => {\r\n showErrorMessage(\"Rapor Listesi Alınamadı\");\r\n })\r\n }\r\n\r\n\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n <div className=\"row ms-2 me-2 pb-3\">\r\n {tabledata.map((apprec, idx) =>\r\n <div className={\"col-md-6 col-12 \"}>\r\n <div className=\"border rounded-3 mt-3 p-0 text-center border-1\" style={{ \"background-color\": colorset[idx % colorset.length] }}>\r\n <div className=\"d-inline float-start\">\r\n <button onClick={() => removeReport(apprec.name)} className=\"btn btn-secondary btn-sm text-decoration-none \">Sil</button>\r\n </div>\r\n <div className=\"d-inline \">\r\n <button onClick={() => setPostData(apprec)} className=\"btn btn-link btn-sm text-decoration-none \">{apprec.name}</button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n const Add = () => {\r\n postdata.name = document.getElementById(\"SablonAdi\").value;\r\n var ft = document.getElementById(\"filter\").value;\r\n var baseRow = document.getElementById(\"baseRow\").value;\r\n var sort = \"\"//document.getElementById(\"sort\").value;\r\n \r\n postdata.sort = sort;\r\n postdata.baseRow = baseRow;\r\n\r\n if (sort.length > 0 && sort.endsWith(\",\"))\r\n postdata.sort = sort.substring(0, sort.length - 1);\r\n\r\n postdata.filter = ft;\r\n if (ft.length > 0 && ft.endsWith(\",\"))\r\n postdata.filter = ft.substring(0, ft.length - 1);\r\n\r\n if (isEmpty(postdata.name)) {\r\n showErrorMessage(\"Ekran ismi boÅŸ olamaz\");\r\n return;\r\n }\r\n postdata.colNames = document.getElementById(\"colNames\").value \r\n if (isEmpty(postdata.colNames)) {\r\n showErrorMessage(\"Kolon Ä°smi BoÅŸ Olamaz\");\r\n return;\r\n }\r\n\r\n\r\n sendpost(\"savereport\", postdata, \"myspinner\", (resp) => {\r\n showSuccessMessage(postdata.name + \" Ä°simli Rapor KaydedilmiÅŸtir\")\r\n //multiselectRef.current.resetSelectedValues();\r\n document.getElementById(\"SablonAdi\").value = \"\";\r\n document.getElementById(\"filter\").value = \"\";\r\n document.getElementById(\"colNames\").selectedIndex = -1;\r\n document.getElementById(\"baseRow\").selectedIndex = -1;\r\n fetchList();\r\n setPostData({})\r\n\r\n }, (resp) => {\r\n showErrorMessage(\"Bir Hata OluÅŸtu\");\r\n })\r\n }\r\n\r\n\r\n const AddFilter = () => {\r\n var andor = document.getElementById(\"andor\").value;\r\n if (document.getElementById(\"andor\").disabled == true)\r\n andor = \"\";\r\n var oper = document.getElementById(\"oper\").value;\r\n var filtervalue = document.getElementById(\"filtervalue\").value;\r\n var filterColSelect = document.getElementById(\"filterColSelect\").value;\r\n var myfilter = andor + \" \" + filterColSelect + \" \" + oper + \" \" + filtervalue + \" \";\r\n document.getElementById(\"filter\").value += myfilter;\r\n document.getElementById(\"andor\").disabled = false;\r\n\r\n\r\n }\r\n const ClearFilter = () => {\r\n document.getElementById(\"filter\").value = \"\";\r\n document.getElementById(\"andor\").disabled = true;\r\n }\r\n const clearSort = () => {\r\n document.getElementById(\"sort\").value = \"\";\r\n }\r\n\r\n const AddArtan = () => {\r\n var filterColSelect = document.getElementById(\"siraColSelect\").value;\r\n document.getElementById(\"sort\").value = filterColSelect;\r\n\r\n }\r\n const AddAzalan = () => {\r\n var filterColSelect = document.getElementById(\"siraColSelect\").value;\r\n document.getElementById(\"sort\").value = \"-\" + filterColSelect;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const onSelect = (selectedList, selectedItem) => {\r\n var clist = selectedList.map(rec => \"<option value='\" + rec + \"'>\" + rec + \"</option>\");\r\n // document.getElementById(\"filterColSelect\").innerHTML = clist;\r\n document.getElementById(\"filterColSelect\").selectedIndex = -1;\r\n document.getElementById(\"siraColSelect\").innerHTML = clist;\r\n\r\n }\r\n\r\n const onRemove = (selectedList, removedItem) => {\r\n var clist = selectedList.map(rec => \"<option value='\" + rec + \"'>\" + rec + \"</option>\");\r\n // document.getElementById(\"filterColSelect\").innerHTML = clist;\r\n document.getElementById(\"filterColSelect\").selectedIndex = -1;\r\n document.getElementById(\"siraColSelect\").innerHTML = clist;\r\n }\r\n\r\n return (\r\n <div className=\"p-2 rounded-3\" style={{ \"background-color\": \"#EDEDF7\", \"min-height\": \"100vh\" }}>\r\n <div className=\"row \" >\r\n\r\n <div className=\"col-12 col-md-6 \" >\r\n\r\n\r\n </div>\r\n {/*<div className=\"col-12 col-md-6 text-end pt-1\" >*/}\r\n {/* <button onClick={() => savefilename(rec)} className=\"btn btn-primary btn-sm text-decoration-none me-2\">Kaydet</button>*/}\r\n\r\n {/* <button onClick={() => window.changeComponent(<FileSettingList />)} className=\"btn btn-secondary btn-sm text-decoration-none\">Vazgeç</button>*/}\r\n {/*</div>*/}\r\n </div>\r\n\r\n <div className=\"row mt-3 p-3 d-flex flex-wrap pe-4\" key={postdata.name}>\r\n <div className=\"col-12 col-md-6 d-flex flex-column\">\r\n <div className=\" bg-white rounded-3\" >\r\n <div className=\"p-3 fw-bold border-bottom mb-3\" >\r\n Yeni Rapor OluÅŸtur\r\n </div>\r\n <div className=\"bg-light m-4 p-3 rounded-3 textvmuted fw-bold align-middle\" >\r\n <span className=\"fa fa-info pe-3\" style={{ color: \"lightblue\", fontSize: \"26px\" }} ></span>\r\n Bu alanda, Ä°satatistiklerde kullanılmak üzere raporla oluÅŸturabilirsiniz.\r\n </div>\r\n\r\n\r\n {isEmpty(postdata.name) != true && < div className=\"row ms-2 me-2 mb-4 pb-4 border-bottom\">\r\n <div className=\"col-12 align-middle text-center \" >\r\n <span className=\"text-success fw-bold\"> {postdata.name} </span> Raporu düzenliyorsunuz\r\n <button onClick={() => {\r\n setPostData({})\r\n\r\n\r\n }} className=\"ms-2 btn btn-sm btn-secondary text-decoration-none\">Vazgeç</button>\r\n </div>\r\n </div>}\r\n\r\n\r\n <div className=\"m-4 pt-3 border-top\">\r\n Rapor Adı <span className=\"text-danger\">*</span>\r\n <input type=\"text\" className=\"form-control form-control-sm \" id=\"SablonAdi\" placeholder=\"\" name=\"Name\" defaultValue={postdata.name} />\r\n <span className=\"textvmuted small\">OluÅŸturacağınız rapora bir isim veriniz</span>\r\n </div>\r\n <div className=\"m-4 \">\r\n Kolon DeÄŸeri <span className=\"text-danger\">*</span>\r\n <select className=\"form-select form-select-sm \" id=\"colNames\" name=\"colNames\">\r\n <option value=\"\"> </option>\r\n {options.map(c => <option value={c} selected={postdata.colNames == c}> {c} </option>)}\r\n\r\n </select>\r\n\r\n {/*<Multiselect className=\"\"*/}\r\n {/* options={options}*/}\r\n {/* emptyRecordMsg=\"BaÅŸka BaÅŸvuru Tipi Yok\"*/}\r\n {/* ref={multiselectRef}*/}\r\n {/* isObject={false}*/}\r\n {/* onSelect={onSelect} // Function will trigger on select event*/}\r\n {/* onRemove={onRemove} // Function will trigger on remove event*/}\r\n {/* selectedValues={postdata.colNames != null ? postdata.colNames.split(\",\") : []}*/}\r\n {/* placeholder=\"\"*/}\r\n {/*/>*/}\r\n <span className=\"textvmuted small\">Ekranda hangi kolonların(bilgilerin) görüntüleneceÄŸini seçin</span>\r\n </div>\r\n\r\n\r\n <div className=\"m-4 \">\r\n Satır DeÄŸerleri <span className=\"text-danger\">*</span>\r\n <select className=\"form-select form-select-sm \" id=\"baseRow\" name=\"baseRow\">\r\n <option value=\"\"> </option>\r\n {options.map(c => <option value={c} selected={postdata.baseRow == c}> {c} </option>)}\r\n \r\n </select>\r\n\r\n <span className=\"textvmuted small\">Ekranda hangi kolonların(bilgilerin) görüntüleneceÄŸini seçin</span>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n <div className=\"row mt-5 m-3 mt-1 border-top \">\r\n <div className=\"col-md-11 col-12\">\r\n Uygulanacak Filtre\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"filter\" placeholder=\"Filtre\" name=\"filter\" defaultValue={postdata.filter} />\r\n\r\n </div>\r\n <div className=\"col-md-1 col-12 text-end\">\r\n <br />\r\n <button onClick={ClearFilter} className=\"ms-1 btn btn-sm btn-secondary\">Sil</button>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n <div className=\"row m-3 mt-1\">\r\n <div className=\"col-md-4 col-12 border-top mt-4\">\r\n </div>\r\n <div className=\"col-md-4 col-12\">\r\n Filtre Ekleme Yöntemi\r\n <select className=\"form-select form-select-sm \" id=\"andor\" name=\"andor\" placeholder=\"Filtre\" disabled={isEmpty(postdata.filter)}>\r\n <option value=\"AND\"> AND </option>\r\n <option value=\"OR\"> OR </option>\r\n </select>\r\n\r\n </div>\r\n <div className=\"col-md-4 col-12 border-top mt-4\">\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n <div className=\"m-3\">\r\n <div className=\"row\">\r\n <div className=\"col-md-4 col-12\">\r\n Filtrelenecek Alan\r\n <select className=\"form-select form-select-sm \" id=\"filterColSelect\" name=\"filterColSelect\">\r\n {options.map(rec => <option value={rec}> {rec} </option>)}\r\n </select>\r\n </div>\r\n <div className=\"col-md-2 col-12 ps-0\">\r\n Operator\r\n <select className=\"form-select form-select-sm \" id=\"oper\" name=\"oper\" placeholder=\"Filtre\">\r\n <option value=\"=\">{\"=\"} </option>\r\n <option value=\"!=\"> {\"!=\"} </option>\r\n <option value=\">\"> {\">\"} </option>\r\n <option value=\"<\"> {\"<\"} </option>\r\n <option value=\"LIKE\"> {\"LIKE\"} </option>\r\n <option value=\"NOTLIKE\"> {\"NOTLIKE\"} </option>\r\n <option value=\"ISNULL\"> {\"ISNULL\"} </option>\r\n <option value=\"ISNOTNULL\"> {\"ISNOTNULL\"} </option>\r\n\r\n </select>\r\n </div>\r\n <div className=\"col-md-4 col-12 ps-0\">\r\n Filtre DeÄŸeri\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"filtervalue\" placeholder=\"Filtre DeÄŸeri\" name=\"filter\" pattern=\"[a-zA-Z0-9ÜüÅşÇçÖöÄğİı ]+\" />\r\n\r\n </div>\r\n <div className=\"col-md-2 p-0 col-12 \"><br />\r\n <button onClick={AddFilter} className=\"btn btn-sm btn-primary\">Ekle</button>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n {/*<div className=\"m-3 mt-5\">*/}\r\n {/* <div className=\"row \">*/}\r\n {/* <div className=\"col-md-6 col-12\">*/}\r\n {/* Sıralamada Uygulanacak Alan*/}\r\n {/* <select className=\"form-select form-select-sm\" id=\"siraColSelect\" name=\"siraColSelect\" >*/}\r\n {/* {isEmpty(postdata.colNames) == false && postdata.colNames.split(\",\").map(x => <option value={x} >{x}</option>)}*/}\r\n {/* </select>*/}\r\n {/* </div>*/}\r\n {/* <div className=\"col-md-6 col-12 text-end\"><br />*/}\r\n {/* <button onClick={AddArtan} className=\"btn btn-sm btn-primary\">Artan</button>*/}\r\n {/* <button onClick={AddAzalan} className=\"ms-1 btn btn-sm btn-info\">Azalan</button>*/}\r\n {/* <button onClick={clearSort} className=\"ms-1 btn btn-sm btn-secondary\">Sil</button>*/}\r\n {/* </div>*/}\r\n {/* </div>*/}\r\n {/* <div className=\" mt-1\">*/}\r\n {/* Uygulanacak Sıralama*/}\r\n {/* <input type=\"text\" className=\"form-control form-control-sm\" id=\"sort\" placeholder=\"Sıralama\" name=\"sort\" disabled defaultValue={postdata.sort} />*/}\r\n {/* </div>*/}\r\n {/*</div>*/}\r\n\r\n\r\n <div className=\"row mt-3\">\r\n <div className=\"col-12 text-center pb-2\">\r\n <button onClick={Add} className=\"btn btn-primary m-1\">Raporu Kaydet</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n {/*----------------------------------------------------------------------------------------------------*/}\r\n <div className=\"col-12 col-md-6 d-flex flex-column bg-white rounded-3\">\r\n <div className=\" \" >\r\n <div className=\"p-3 fw-bold border-bottom\" >\r\n OluÅŸturulan Raporlar\r\n </div>\r\n <div className=\"bg-light m-3 p-3 mb-2 rounded-3 textvmuted fw-bold align-middle\" >\r\n <span className=\"fa fa-info pe-3\" style={{ color: \"lightblue\", fontSize: \"26px\" }} ></span>\r\n OluÅŸturduÄŸunuz ekranları silebilir veya özelliklerini deÄŸiÅŸtirebilirsiniz. Ekran isminin üzerine tıkladıktan sonra “Yeni Ekran OluÅŸturma†alanından özelliklerini düzenleyebilirsiniz. </div>\r\n <div className=\"\">\r\n {listData != null ? renderTable(listData) : \"\"}\r\n </div>\r\n\r\n </div>\r\n </div>\r\n {/*----------------------------------------------------------------------------------------------------*/}\r\n </div >\r\n\r\n\r\n </div >\r\n\r\n\r\n\r\n );\r\n\r\n\r\n}\r\n","\r\nimport React, { useState, useEffect } from 'react';\r\nimport UserLabel from '../User/UserLabel.js';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport { ajaxFail, showConfirmMessage, showSuccessMessage, removeTurkcLow, isEmpty, showErrorMessage, useGlobalState } from '../GlobalState.js';\r\nimport $ from 'jquery';\r\nimport bootstrap from 'bootstrap/dist/js/bootstrap.min.js'\r\n\r\nexport default function SettingRoles(props) {\r\n\r\n const [userName, setUserName] = useGlobalState('userName');\r\n const [listData, setListData] = useState(null);\r\n const [aciklama, setAciklamaData] = useState([]);\r\n\r\n const [postdata, setpostdata] = useState({});\r\n\r\n const [popover, setpopover] = useState({});\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n getyetkiaciklamalist();\r\n\r\n\r\n }, [])\r\n\r\n\r\n\r\n\r\n\r\n const multiselectRefNew = React.createRef();\r\n\r\n const multiselectRef = React.createRef();\r\n\r\n const removeRecord = (id) => {\r\n showConfirmMessage(id + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removerole\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n }))\r\n }\r\n\r\n\r\n\r\n const submitUpdateRecord = (rec) => {\r\n if (isEmpty(postdata.name)) {\r\n showErrorMessage(\"Rol ismi boÅŸ olamaz.\");\r\n return;\r\n }\r\n fetch(\"updaterole\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(postdata)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n setpostdata({})\r\n fetchList();\r\n showSuccessMessage(\"Güncelleme BaÅŸarıyla TamamlanmÅŸtır\")\r\n }\r\n });\r\n }\r\n\r\n const getyetkiaciklamalist = () => {\r\n\r\n fetch(\"getyetkiaciklamalist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setAciklamaData(value);\r\n setTimeout(() => {\r\n var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"popover\"]'))\r\n var popoverList = popoverTriggerList.filter(x => isEmpty(x.dataset.bsContent)==false).map(function (popoverTriggerEl) {\r\n return new bootstrap.Popover(popoverTriggerEl)\r\n })\r\n }, 300);\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const getAciklama = (yetki) => {\r\n var a = aciklama.find(x => x.yetki == yetki);\r\n if (a != null)\r\n return a.aciklama;\r\n return \"\";\r\n }\r\n\r\n const fetchList = () => {\r\n\r\n fetch(\"getrolelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const Add = (rec) => {\r\n \r\n fetch(\"addrole\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n fetchList();\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n const scrollToBottom = () => {\r\n const element = document.getElementById(\"activepaneldiv\");\r\n // element.scrollTo(0, element.scrollHeight);\r\n element.scrollTop = element.scrollHeight\r\n\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' || target.type === 'radio' ? target.checked : target.value;\r\n const name = target.name;\r\n postdata[name] = value;\r\n }\r\n\r\n const handleCheckBoxChange = (event) => {\r\n var perms = [];\r\n $('#checkboxarea').find(':checkbox:checked').each(function () {\r\n if ($(this).is(':checked') == true)\r\n perms.push($(this).attr('name'));\r\n\r\n });\r\n\r\n setpostdata({ ...postdata, perms: perms.join(\",\") })\r\n }\r\n\r\n const onSelect = (selectedList, selectedItem) => {\r\n var clist = selectedList.join();\r\n postdata[\"perms\"] = clist;\r\n }\r\n const onRemove = (selectedList, removedItem) => {\r\n var clist = selectedList.join();\r\n postdata[\"perms\"] = clist;\r\n }\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' || target.type === 'radio' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n const hasperm = (p) => {\r\n if (postdata == null || postdata.perms == null)\r\n return false;\r\n if (postdata.perms == p)\r\n return true;\r\n if (postdata.perms.includes(\",\" + p + \",\") || postdata.perms.endsWith(\",\" + p) || postdata.perms.startsWith(p + \",\"))\r\n return true;\r\n\r\n return false;\r\n }\r\n const checkboxlist = () => {\r\n return <div className=\"row p-2 align-middle\" id=\"checkboxarea\" key={aciklama.length}>\r\n\r\n \r\n\r\n {/*--------------------------------------------------------------------------------------------*/}\r\n\r\n <div className=\"col-md-4 col-12 align-middle m-0 \" >\r\n <div className=\"fw-bold text-center pb-1\" >\r\n BaÅŸvuru Yetkileri\r\n </div>\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1 \" name={UserPermConstants.Basvuru_Liste} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Basvuru_Liste)} />\r\n <label className={\"form-check-label pt-1 d-inline \" + (hasperm(UserPermConstants.Basvuru_Liste) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Basvuru_Liste\")} key={aciklama.length}>\r\n {UserPermConstants.Basvuru_Liste}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Gorebildigi_Basvurulari_Editleme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Gorebildigi_Basvurulari_Editleme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Gorebildigi_Basvurulari_Editleme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Gorebildigi_Basvurulari_Editleme\")} key={aciklama.length}>\r\n {UserPermConstants.Gorebildigi_Basvurulari_Editleme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1 \" name={UserPermConstants.Tum_Geciken_Basvurular} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Tum_Geciken_Basvurular)} />\r\n <label className={\"form-check-label pt-1 d-inline \" + (hasperm(UserPermConstants.Tum_Geciken_Basvurular) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Tum_Geciken_Basvurular\")} key={aciklama.length}>\r\n {UserPermConstants.Tum_Geciken_Basvurular}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Gizli_Basvuru_Gorme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Gizli_Basvuru_Gorme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Gizli_Basvuru_Gorme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Gizli_Basvuru_Gorme\")} key={aciklama.length}>\r\n {UserPermConstants.Gizli_Basvuru_Gorme}\r\n </label>\r\n </div>\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Ilgili_Basvurulari_Gorme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Ilgili_Basvurulari_Gorme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Ilgili_Basvurulari_Gorme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Ilgili_Basvurulari_Gorme\")} key={aciklama.length}>\r\n {UserPermConstants.Ilgili_Basvurulari_Gorme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Kalan_Sure_Gorme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Kalan_Sure_Gorme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Kalan_Sure_Gorme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Gizli_Alanlari_Gorme\")} key={aciklama.length}>\r\n {UserPermConstants.Kalan_Sure_Gorme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Gizli_Alanlari_Gorme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Gizli_Alanlari_Gorme)} />\r\n <label className={\"form-check-label pt-1 d-inline \" + (hasperm(UserPermConstants.Gizli_Alanlari_Gorme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Gizli_Alanlari_Gorme\")} key={aciklama.length}>\r\n {UserPermConstants.Gizli_Alanlari_Gorme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Basvurudan_Sonra_Dinamik_Editleme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Basvurudan_Sonra_Dinamik_Editleme)} />\r\n <label className={\"form-check-label pt-1 d-inline \" + (hasperm(UserPermConstants.Basvurudan_Sonra_Dinamik_Editleme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Basvurudan_Sonra_Dinamik_Editleme\")} key={aciklama.length}>\r\n {UserPermConstants.Basvurudan_Sonra_Dinamik_Editleme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Basvurudan_Sonra_Sabit_Editleme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Basvurudan_Sonra_Sabit_Editleme)} />\r\n <label className={\"form-check-label pt-1 d-inline \" + (hasperm(UserPermConstants.Basvurudan_Sonra_Sabit_Editleme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Basvurudan_Sonra_Sabit_Editleme\")} key={aciklama.length}>\r\n {UserPermConstants.Basvurudan_Sonra_Sabit_Editleme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Eksiklik_Girme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Eksiklik_Girme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Eksiklik_Girme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Eksiklik_Girme\")} key={aciklama.length}>\r\n {UserPermConstants.Eksiklik_Girme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Basvuru_Vekili_Update} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Basvuru_Vekili_Update)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Basvuru_Vekili_Update) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Basvuru_Vekili_Update\")} key={aciklama.length}>\r\n {UserPermConstants.Basvuru_Vekili_Update}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Is_Yuku} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Is_Yuku)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Is_Yuku) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Is_Yuku\")} key={aciklama.length}>\r\n {UserPermConstants.Is_Yuku}\r\n </label>\r\n </div>\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.BASKA_BASVURU_GONDERME} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.BASKA_BASVURU_GONDERME)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.BASKA_BASVURU_GONDERME) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"BASKA_BASVURU_GONDERME\")} key={aciklama.length}>\r\n BaÅŸkasına Ait BaÅŸvuruyu Gönderme\r\n </label>\r\n </div>\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Basvuru_Arsiv} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Basvuru_Arsiv)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Basvuru_Arsiv) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Basvuru_Arsiv\")} key={aciklama.length}>\r\n {UserPermConstants.Basvuru_Arsiv}\r\n </label>\r\n </div>\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Basvuru_Arsiv_Cikar} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Basvuru_Arsiv_Cikar)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Basvuru_Arsiv_Cikar) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Basvuru_Arsiv_Cikar\")} key={aciklama.length}>\r\n {UserPermConstants.Basvuru_Arsiv_Cikar}\r\n </label>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n {/*--------------------------------------------------------------------------------------------*/}\r\n\r\n <div className=\"col-md-4 col-12 align-middle m-0\" >\r\n <div className=\"fw-bold text-center pb-1\" >\r\n Ä°ÅŸlem Yetkileri\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1 \" name={UserPermConstants.Yeni_Basvuru_Yapabilme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Yeni_Basvuru_Yapabilme)} />\r\n <label className={\"form-check-label pt-1 d-inline \" + (hasperm(UserPermConstants.Yeni_Basvuru_Yapabilme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Yeni_Basvuru_Yapabilme\")} key={aciklama.length}>\r\n {UserPermConstants.Yeni_Basvuru_Yapabilme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1 \" name={UserPermConstants.Yeni_Basvuruda_Zorunlu_Alanlari_Bos_Birakabilme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Yeni_Basvuruda_Zorunlu_Alanlari_Bos_Birakabilme)} />\r\n <label className={\"form-check-label pt-1 d-inline \" + (hasperm(UserPermConstants.Yeni_Basvuruda_Zorunlu_Alanlari_Bos_Birakabilme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Yeni_Basvuruda_Zorunlu_Alanlari_Bos_Birakabilme\")} key={aciklama.length}>\r\n {UserPermConstants.Yeni_Basvuruda_Zorunlu_Alanlari_Bos_Birakabilme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Edevletsiz_Basvuru} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Edevletsiz_Basvuru)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Edevletsiz_Basvuru) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Edevletsiz_Basvuru\")} key={aciklama.length}>\r\n {UserPermConstants.Edevletsiz_Basvuru}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.EImzali_Gonderme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.EImzali_Gonderme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.EImzali_Gonderme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"EImzali_Gonderme\")} key={aciklama.length}>\r\n {UserPermConstants.EImzali_Gonderme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Iade_Basvuruyu_Gonderme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Iade_Basvuruyu_Gonderme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Iade_Basvuruyu_Gonderme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Iade_Basvuruyu_Gonderme\")} key={aciklama.length}>\r\n {UserPermConstants.Iade_Basvuruyu_Gonderme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Manuel_Bildirim_Gonderme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Manuel_Bildirim_Gonderme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Manuel_Bildirim_Gonderme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Manuel_Bildirim_Gonderme\")} key={aciklama.length}>\r\n {UserPermConstants.Manuel_Bildirim_Gonderme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Kullaniciyla_Kart_Paylasimi} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Kullaniciyla_Kart_Paylasimi)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Kullaniciyla_Kart_Paylasimi) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Kullaniciyla_Kart_Paylasimi\")} key={aciklama.length}>\r\n {UserPermConstants.Kullaniciyla_Kart_Paylasimi}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Link_ile_Kart_Paylasimi} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Link_ile_Kart_Paylasimi)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Link_ile_Kart_Paylasimi) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Link_ile_Kart_Paylasimi\")} key={aciklama.length}>\r\n {UserPermConstants.Link_ile_Kart_Paylasimi}\r\n </label>\r\n </div>\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Basvuru_Silme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Basvuru_Silme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Basvuru_Silme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Basvuru_Silme\")} key={aciklama.length}>\r\n {UserPermConstants.Basvuru_Silme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Basvuru_Onaylama} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Basvuru_Onaylama)} />\r\n <label className={\"form-check-label pt-1 d-inline \" + (hasperm(UserPermConstants.Basvuru_Onaylama) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Basvuru_Onaylama\")} key={aciklama.length}>\r\n {UserPermConstants.Basvuru_Onaylama}\r\n </label>\r\n </div>\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Basvuru_Onaylama_Kontrolorden_Sonraki_Biti_Onayi} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Basvuru_Onaylama_Kontrolorden_Sonraki_Biti_Onayi)} />\r\n <label className={\"form-check-label pt-1 d-inline \" + (hasperm(UserPermConstants.Basvuru_Onaylama_Kontrolorden_Sonraki_Biti_Onayi) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Basvuru_Onaylama_Kontrolorden_Sonraki_Biti_Onayi\")} key={aciklama.length}>\r\n {UserPermConstants.Basvuru_Onaylama_Kontrolorden_Sonraki_Biti_Onayi}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Havale_Yapma} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Havale_Yapma)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Havale_Yapma) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Havale_Yapma\")} key={aciklama.length}>\r\n {UserPermConstants.Havale_Yapma}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Ruhsat_Kesme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Ruhsat_Kesme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Ruhsat_Kesme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Ruhsat_Kesme\")} key={aciklama.length}>\r\n {UserPermConstants.Ruhsat_Kesme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Ruhsat_Onaylama} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Ruhsat_Onaylama)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Ruhsat_Onaylama) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Ruhsat_Onaylama\")} key={aciklama.length}>\r\n {UserPermConstants.Ruhsat_Onaylama}\r\n </label>\r\n </div>\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Adres_Defterini_Duzenleme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Adres_Defterini_Duzenleme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Adres_Defterini_Duzenleme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Adres_Defterini_Duzenleme\")} key={aciklama.length}>\r\n {UserPermConstants.Adres_Defterini_Duzenleme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Adres_Defterini_Gorme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Adres_Defterini_Gorme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Adres_Defterini_Gorme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Adres_Defterini_Gorme\")} key={aciklama.length}>\r\n {UserPermConstants.Adres_Defterini_Gorme}\r\n </label>\r\n </div>\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.MAKS_Veri_Girisi} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.MAKS_Veri_Girisi)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.MAKS_Veri_Girisi) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"MAKS_Veri_Girisi\")} key={aciklama.length}>\r\n {UserPermConstants.MAKS_Veri_Girisi}\r\n </label>\r\n </div>\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Gizli_Aktiviteleri_Gorme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Gizli_Aktiviteleri_Gorme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Gizli_Aktiviteleri_Gorme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Gizli_Aktiviteleri_Gorme\")} key={aciklama.length}>\r\n {UserPermConstants.Gizli_Aktiviteleri_Gorme}\r\n </label>\r\n </div>\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Tarife_Gorme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Tarife_Gorme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Tarife_Gorme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Tarife_Gorme\")} key={aciklama.length}>\r\n {UserPermConstants.Tarife_Gorme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Tarife_Duzenleme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Tarife_Duzenleme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Tarife_Duzenleme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Tarife_Duzenleme\")} key={aciklama.length}>\r\n {UserPermConstants.Tarife_Duzenleme}\r\n </label>\r\n </div>\r\n </div>\r\n\r\n {/*--------------------------------------------------------------------------------------------*/}\r\n\r\n <div className=\"col-md-4 col-12 align-middle m-0\" >\r\n <div className=\"fw-bold text-center pb-1\" >\r\n Dosya ve Ä°mza Yetkileri\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Dosya_Yukleme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Dosya_Yukleme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Dosya_Yukleme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Dosya_Yukleme\")} key={aciklama.length}>\r\n {UserPermConstants.Dosya_Yukleme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Dosya_Gizleme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Dosya_Gizleme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Dosya_Gizleme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Dosya_Gizleme\")} key={aciklama.length}>\r\n {UserPermConstants.Dosya_Gizleme}\r\n </label>\r\n </div>\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Dosya_Degistirme_Silme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Dosya_Degistirme_Silme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Dosya_Degistirme_Silme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Dosya_Degistirme_Silme\")} key={aciklama.length}>\r\n {UserPermConstants.Dosya_Degistirme_Silme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Kontrolor_Dosyasi_Yukleme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Kontrolor_Dosyasi_Yukleme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Kontrolor_Dosyasi_Yukleme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Kontrolor_Dosyasi_Yukleme\")} key={aciklama.length}>\r\n {UserPermConstants.Kontrolor_Dosyasi_Yukleme}\r\n </label>\r\n </div>\r\n {(userName.toLowerCase() == \"admin\" || userName.toLowerCase() ==\"a\") && < div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Imzaya_Açma} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Imzaya_Açma)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Imzaya_Açma) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Imzaya_Açma\")} key={aciklama.length}>\r\n {UserPermConstants.Imzaya_Açma}\r\n </label>\r\n </div>}\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1 \" name={UserPermConstants.Dosyalari_Eimzaya_Acima} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Dosyalari_Eimzaya_Acima)} />\r\n <label className={\"form-check-label pt-1 d-inline \" + (hasperm(UserPermConstants.Dosyalari_Eimzaya_Acima) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Dosyalari_Eimzaya_Acima\")} key={aciklama.length}>\r\n {UserPermConstants.Dosyalari_Eimzaya_Acima}\r\n </label>\r\n </div>\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Imza_Guncelleme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Imza_Guncelleme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Imza_Guncelleme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Imza_Guncelleme\")} key={aciklama.length}>\r\n {UserPermConstants.Imza_Guncelleme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Imza_Silme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Imza_Silme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Imza_Silme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Imza_Silme\")} key={aciklama.length}>\r\n {UserPermConstants.Imza_Silme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Imza_Veri_Girisi} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Imza_Veri_Girisi)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Imza_Veri_Girisi) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Imza_Veri_Girisi\")} key={aciklama.length}>\r\n {UserPermConstants.Imza_Veri_Girisi}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Imza_Vize_Kontrol} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Imza_Vize_Kontrol)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Imza_Vize_Kontrol) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Imza_Vize_Kontrol\")} key={aciklama.length}>\r\n {UserPermConstants.Imza_Vize_Kontrol}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Imza_Yerlestirme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Imza_Yerlestirme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Imza_Yerlestirme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Imza_Yerlestirme\")} key={aciklama.length}>\r\n {UserPermConstants.Imza_Yerlestirme}\r\n </label>\r\n </div>\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1 \" name={UserPermConstants.Vekalet_Onay} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Vekalet_Onay)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Vekalet_Onay) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Vekalet_Onay\")} key={aciklama.length}>\r\n {UserPermConstants.Vekalet_Onay}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1 \" name={UserPermConstants.Imza_Sertifikali} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Imza_Sertifikali)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Imza_Sertifikali) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Imza_Sertifikali\")} key={aciklama.length}>\r\n {UserPermConstants.Imza_Sertifikali}\r\n </label>\r\n </div>\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1 \" name={UserPermConstants.Eimza_Geri_Alma} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Eimza_Geri_Alma)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Eimza_Geri_Alma) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Eimza_Geri_Alma\")} key={aciklama.length}>\r\n {UserPermConstants.Eimza_Geri_Alma}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1 \" name={UserPermConstants.HARC_DOSYALARI} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.HARC_DOSYALARI)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.HARC_DOSYALARI) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"HARC_DOSYALARI\")} key={aciklama.length}>\r\n {UserPermConstants.HARC_DOSYALARI}\r\n </label>\r\n </div>\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1 \" name={UserPermConstants.DWG_Karsilastirma} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.DWG_Karsilastirma)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.DWG_Karsilastirma) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"DWG_Karsilastirma\")} key={aciklama.length}>\r\n {UserPermConstants.DWG_Karsilastirma}\r\n </label>\r\n </div>\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1 \" name={UserPermConstants.Surec_Sonu_Dosya_Indirme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Surec_Sonu_Dosya_Indirme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Surec_Sonu_Dosya_Indirme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"DWG_Karsilastirma\")} key={aciklama.length}>\r\n {UserPermConstants.Surec_Sonu_Dosya_Indirme}\r\n </label>\r\n </div>\r\n \r\n \r\n\r\n {/*<div className=\"pt-1 checkbox\" >*/}\r\n {/* <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1 \" name={UserPermConstants.Son_Imza} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Son_Imza)} />*/}\r\n {/* <label className={\"form-check-label pt-1 d-inline \" + (hasperm(UserPermConstants.Son_Imza) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Son_Imza\")} key={aciklama.length}>*/}\r\n {/* {UserPermConstants.Son_Imza}*/}\r\n {/* </label>*/}\r\n {/*</div>*/}\r\n </div>\r\n\r\n {/*--------------------------------------------------------------------------------------------*/}\r\n\r\n <div className=\"col-md-4 col-12 align-middle mt-5\" >\r\n <div className=\"fw-bold text-center pb-1\" >\r\n Yönetici Yetkileri (BaÅŸvuru)\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Basvuru_Formu} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Basvuru_Formu)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Basvuru_Formu) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Basvuru_Formu\")} key={aciklama.length}>\r\n {UserPermConstants.Basvuru_Formu}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Dosyalar} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Dosyalar)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Dosyalar) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Dosyalar\")} key={aciklama.length}>\r\n {UserPermConstants.Dosyalar}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Ekran_Yonetimi} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Ekran_Yonetimi)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Ekran_Yonetimi) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Ekran_Yonetimi\")} key={aciklama.length}>\r\n {UserPermConstants.Ekran_Yonetimi}\r\n </label>\r\n </div>\r\n\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Kadastral_Ayarlar} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Kadastral_Ayarlar)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Kadastral_Ayarlar) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Kadastral_Ayarlar\")} key={aciklama.length}>\r\n {UserPermConstants.Kadastral_Ayarlar}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Surecler} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Surecler)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Surecler) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Surecler\")} key={aciklama.length}>\r\n {UserPermConstants.Surecler}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Yardim_Ekranlari} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Yardim_Ekranlari)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Yardim_Ekranlari) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Yardim_Ekranlari\")} key={aciklama.length}>\r\n {UserPermConstants.Yardim_Ekranlari}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Duyuru_Yonetimi} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Duyuru_Yonetimi)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Duyuru_Yonetimi) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Duyuru_Yonetimi\")} key={aciklama.length}>\r\n {UserPermConstants.Duyuru_Yonetimi}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Pop_Up_Yonetimi} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Pop_Up_Yonetimi)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Pop_Up_Yonetimi) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Pop_Up_Yonetimi\")} key={aciklama.length}>\r\n {UserPermConstants.Pop_Up_Yonetimi}\r\n </label>\r\n </div>\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Tarife_Yonetimi} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Tarife_Yonetimi)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Tarife_Yonetimi) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Tarife_Yonetimi\")} key={aciklama.length}>\r\n {UserPermConstants.Tarife_Yonetimi}\r\n </label>\r\n </div>\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Yonetmelik_Yukleme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Yonetmelik_Yukleme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Yonetmelik_Yukleme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Yonetmelik_Yukleme\")} key={aciklama.length}>\r\n {UserPermConstants.Yonetmelik_Yukleme}\r\n </label>\r\n </div>\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Kurum_Bilgileri} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Kurum_Bilgileri)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Kurum_Bilgileri) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Kurum_Bilgileri\")} key={aciklama.length}>\r\n {UserPermConstants.Kurum_Bilgileri}\r\n </label>\r\n </div>\r\n {/*<div className=\"pt-1 checkbox \" >*/}\r\n {/* <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Ada_Parsel_Girisi} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Ada_Parsel_Girisi)} />*/}\r\n {/* <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Ada_Parsel_Girisi) ? \"fw-bold\" : \"textvmuted\")} key={aciklama.length} tabindex=\"0\" data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Ada_Parsel_Girisi\")}>*/}\r\n {/* {UserPermConstants.Ada_Parsel_Girisi}*/}\r\n {/* </label>*/}\r\n {/*</div>*/}\r\n\r\n {/*<div className=\"pt-1 checkbox\" >*/}\r\n {/* <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Basvuru_Tipleri} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Basvuru_Tipleri)} />*/}\r\n {/* <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Basvuru_Tipleri) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Basvuru_Tipleri\")} key={aciklama.length}>*/}\r\n {/* {UserPermConstants.Basvuru_Tipleri}*/}\r\n {/* </label>*/}\r\n {/*</div>*/}\r\n\r\n\r\n </div>\r\n {/*--------------------------------------------------------------------------------------------*/}\r\n\r\n <div className=\"col-md-4 col-12 align-middle mt-5\" >\r\n <div className=\"fw-bold text-center pb-1\" >\r\n Yönetici Yetkileri (Kullanıcı)\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Kullanici_Rolleri} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Kullanici_Rolleri)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Kullanici_Rolleri) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Kullanici_Rolleri\")} key={aciklama.length}>\r\n {UserPermConstants.Kullanici_Rolleri}\r\n </label>\r\n </div>\r\n {/*<div className=\"pt-1 checkbox\" >*/}\r\n {/* <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Kullanici_Rollerini_Editleme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Kullanici_Rollerini_Editleme)} />*/}\r\n {/* <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Kullanici_Rollerini_Editleme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Kullanici_Rollerini_Editleme\")} key={aciklama.length}>*/}\r\n {/* {UserPermConstants.Kullanici_Rollerini_Editleme}*/}\r\n {/* </label>*/}\r\n {/*</div>*/}\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Kullanici_Listesini_Gorme_Profil_Bilgilerini} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Kullanici_Listesini_Gorme_Profil_Bilgilerini)} />\r\n <label className={\"form-check-label pt-1 d-inline \" + (hasperm(UserPermConstants.Kullanici_Listesini_Gorme_Profil_Bilgilerini) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Kullanici_Listesini_Gorme_Profil_Bilgilerini\")} key={aciklama.length}>\r\n {UserPermConstants.Kullanici_Listesini_Gorme_Profil_Bilgilerini}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Kullanici_Tipleri} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Kullanici_Tipleri)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Kullanici_Tipleri) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Kullanici_Tipleri\")} key={aciklama.length}>\r\n {UserPermConstants.Kullanici_Tipleri}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Kullanici_Kayit_Formu} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Kullanici_Kayit_Formu)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Kullanici_Kayit_Formu) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Kullanici_Kayit_Formu\")} key={aciklama.length}>\r\n {UserPermConstants.Kullanici_Kayit_Formu}\r\n </label>\r\n </div>\r\n\r\n\r\n\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Kullanici_Bilgilerini_Editleme_Roller_Denetim_Yetkileri_Haric} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Kullanici_Bilgilerini_Editleme_Roller_Denetim_Yetkileri_Haric)} />\r\n <label className={\"form-check-label pt-1 d-inline \" + (hasperm(UserPermConstants.Kullanici_Bilgilerini_Editleme_Roller_Denetim_Yetkileri_Haric) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Kullanici_Bilgilerini_Editleme_Roller_Denetim_Yetkileri_Haric\")} key={aciklama.length}>\r\n {UserPermConstants.Kullanici_Bilgilerini_Editleme_Roller_Denetim_Yetkileri_Haric}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Kullanici_Denetim_Yetkilerini_Editleme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Kullanici_Denetim_Yetkilerini_Editleme)} />\r\n <label className={\"form-check-label pt-1 d-inline \" + (hasperm(UserPermConstants.Kullanici_Denetim_Yetkilerini_Editleme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Kullanici_Denetim_Yetkilerini_Editleme\")} key={aciklama.length}>\r\n {UserPermConstants.Kullanici_Denetim_Yetkilerini_Editleme}\r\n </label>\r\n </div>\r\n\r\n\r\n\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Kullanici_Silme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Kullanici_Silme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Kullanici_Silme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Kullanici_Silme\")} key={aciklama.length}>\r\n {UserPermConstants.Kullanici_Silme}\r\n </label>\r\n </div>\r\n\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Kullnici_Kara_Liste} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Kullnici_Kara_Liste)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Kullnici_Kara_Liste) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Kullnici_Kara_Liste\")} key={aciklama.length}>\r\n {UserPermConstants.Kullnici_Kara_Liste}\r\n </label>\r\n </div>\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Sabitlenen_Profil_Degistirme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Sabitlenen_Profil_Degistirme)} />\r\n <label className={\"form-check-label pt-1 d-inline \" + (hasperm(UserPermConstants.Sabitlenen_Profil_Degistirme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Sabitlenen_Profil_Degistirme\")} key={aciklama.length}>\r\n {UserPermConstants.Sabitlenen_Profil_Degistirme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1 \" name={UserPermConstants.Sifre_Degistirme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Sifre_Degistirme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Sifre_Degistirme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Sifre_Degistirme\")} key={aciklama.length}>\r\n {UserPermConstants.Sifre_Degistirme}\r\n </label>\r\n </div>\r\n {/*<div className=\"pt-1 checkbox\" >*/}\r\n {/* <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1 \" name={UserPermConstants.Yeni_Kullanici_Kaydetme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Yeni_Kullanici_Kaydetme)} />*/}\r\n {/* <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Yeni_Kullanici_Kaydetme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Yeni_Kullanici_Kaydetme\")} key={aciklama.length}>*/}\r\n {/* {UserPermConstants.Yeni_Kullanici_Kaydetme}*/}\r\n {/* </label>*/}\r\n {/*</div>*/}\r\n {/*<div className=\"pt-1 checkbox\" >*/}\r\n {/* <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1 \" name={UserPermConstants.Yeni_Kullanici_Kaydinda_Zorunlu_Alanlari_Bos_Birakabilme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Yeni_Kullanici_Kaydinda_Zorunlu_Alanlari_Bos_Birakabilme)} />*/}\r\n {/* <label className={\"form-check-label pt-1 d-inline \" + (hasperm(UserPermConstants.Yeni_Kullanici_Kaydinda_Zorunlu_Alanlari_Bos_Birakabilme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Yeni_Kullanici_Kaydinda_Zorunlu_Alanlari_Bos_Birakabilme\")} key={aciklama.length}>*/}\r\n {/* {UserPermConstants.Yeni_Kullanici_Kaydinda_Zorunlu_Alanlari_Bos_Birakabilme}*/}\r\n {/* </label>*/}\r\n {/*</div>*/}\r\n\r\n </div>\r\n\r\n\r\n {/*--------------------------------------------------------------------------------------------*/}\r\n\r\n <div className=\"col-md-4 col-12 align-middle mt-5\" >\r\n <div className=\"fw-bold text-center pb-1\" >\r\n Ä°statistik Yetkileri\r\n </div>\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Anlik_Istatistikleri_Gorme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Anlik_Istatistikleri_Gorme)} />\r\n <label className={\"form-check-label pt-1 d-inline \" + (hasperm(UserPermConstants.Anlik_Istatistikleri_Gorme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Anlik_Istatistikleri_Gorme\")} key={aciklama.length}>\r\n {UserPermConstants.Anlik_Istatistikleri_Gorme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Kontrolor_Istatistiklerini_Gorme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Kontrolor_Istatistiklerini_Gorme)} />\r\n <label className={\"form-check-label pt-1 d-inline \" + (hasperm(UserPermConstants.Kontrolor_Istatistiklerini_Gorme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Kontrolor_Istatistiklerini_Gorme\")} key={aciklama.length}>\r\n {UserPermConstants.Kontrolor_Istatistiklerini_Gorme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Mekansal_Istatistikleri_Gorme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Mekansal_Istatistikleri_Gorme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Mekansal_Istatistikleri_Gorme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Mekansal_Istatistikleri_Gorme\")} key={aciklama.length}>\r\n {UserPermConstants.Mekansal_Istatistikleri_Gorme}\r\n </label>\r\n </div>\r\n\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Muellif_Istatistiklerini_Gorme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Muellif_Istatistiklerini_Gorme)} />\r\n <label className={\"form-check-label pt-1 d-inline \" + (hasperm(UserPermConstants.Muellif_Istatistiklerini_Gorme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Muellif_Istatistiklerini_Gorme\")} key={aciklama.length}>\r\n {UserPermConstants.Muellif_Istatistiklerini_Gorme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Proje_Istatistiklerini_Gorme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Proje_Istatistiklerini_Gorme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Proje_Istatistiklerini_Gorme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Proje_Istatistiklerini_Gorme\")} key={aciklama.length}>\r\n {UserPermConstants.Proje_Istatistiklerini_Gorme}\r\n </label>\r\n </div>\r\n <div className=\"pt-1 checkbox\" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox me-1\" name={UserPermConstants.Zamansal_Istatistikleri_Gorme} onChange={handleCheckBoxChange} checked={hasperm(UserPermConstants.Zamansal_Istatistikleri_Gorme)} />\r\n <label className={\"form-check-label pt-1 \" + (hasperm(UserPermConstants.Zamansal_Istatistikleri_Gorme) ? \"fw-bold\" : \"textvmuted\")} data-bs-toggle=\"popover\" data-bs-trigger=\"hover focus\" data-bs-content={getAciklama(\"Zamansal_Istatistikleri_Gorme\")} key={aciklama.length}>\r\n {UserPermConstants.Zamansal_Istatistikleri_Gorme}\r\n </label>\r\n </div>\r\n </div>\r\n\r\n </div >\r\n\r\n\r\n\r\n\r\n }\r\n\r\n\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n <div className=\"table-responsive mainpagescroll\" >\r\n <table className='table table-vdstriped table-sm' aria-labelledby=\"tabelLabel\" >\r\n <thead className=\"text-center\" style={{ \"position\": \"sticky\", \"top\": 0, \"z-index\": \"1\" }}>\r\n <tr>\r\n {/* <th className=\"text-start\">ID</th>*/}\r\n <th className=\"text-start textvmuted\">Rol Adı</th>\r\n {/*<th style={{ \"min-width\": \"250px\" }}>Yetkiler</th>*/}\r\n <th className=\"text-start textvmuted\">BaÅŸvuru Takip</th>\r\n <th className=\"text-start textvmuted\">Varsayılan Rol</th>\r\n <th className=\"text-start\"></th>\r\n </tr>\r\n </thead>\r\n <tbody >\r\n {tabledata.map(apprec =>\r\n <tr key={apprec.id}>\r\n {/*<td>*/}\r\n {/* {apprec.id}*/}\r\n {/*</td>*/}\r\n <td>\r\n <a href=\"#\" onClick={() => setpostdata(apprec)} className=\"dropdown-item text-primary text-decoration-none\"> {apprec.name}</a>\r\n\r\n {/* <input type=\"text\" className=\"form-control form-control-sm\" name=\"name\" defaultValue={apprec.name} onChange={(e) => updateRecord(apprec, e)} />*/}\r\n </td>\r\n {/*<td>*/}\r\n {/* <Multiselect className=\"p-0 form-control-sm bg-white\"*/}\r\n {/* options={perms}*/}\r\n {/* emptyRecordMsg=\"BaÅŸka Kullanıcı Tipi Yok\"*/}\r\n\r\n {/* isObject={false}*/}\r\n {/* onSelect={(selectedList, selectedItem) => { apprec.perms = selectedList.join() }}*/}\r\n {/* onRemove={(selectedList, selectedItem) => { apprec.perms = selectedList.join() }}*/}\r\n {/* placeholder=\"Yetkiler\"*/}\r\n {/* selectedValues={apprec.perms != null ? apprec.perms.split(',').sort(function (a, b) {return a.localeCompare(b);}) : []}*/}\r\n {/* />*/}\r\n {/*</td>*/}\r\n <td >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox\" disabled name=\"takip\" onChange={(e) => updateRecord(apprec, e)} checked={apprec.takip} />\r\n </td>\r\n <td >\r\n <input type=\"radio\" className=\"form-check-input big-checkbox\" disabled name=\"defaultrole\" onChange={(e) => updateRecord(apprec, e)} checked={apprec.defaultrole} />\r\n </td>\r\n <td>\r\n\r\n <div className=\"dropdown\">\r\n <button className=\"btn btn-primary btn-sm dropdown-toggle\" type=\"button\" id=\"dropdownMenuButton1\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n Ä°ÅŸlemler\r\n </button>\r\n <ul class=\"dropdown-menu shadow-sm\" aria-labelledby=\"dropdownMenuButton1\">\r\n\r\n <li className=\"\">\r\n <a href=\"#\" onClick={() => setpostdata(apprec)} className=\"dropdown-item text-primary text-decoration-none\">Güncelle</a>\r\n\r\n\r\n </li>\r\n <li className=\"\">\r\n <a href=\"#\" onClick={() => { Add({ name: apprec.name + \"-2\", perms: apprec.perms, takip: apprec.takip }); }} className=\"dropdown-item text-primary text-decoration-none\">Kopyala</a>\r\n\r\n\r\n </li>\r\n <li>\r\n <a href=\"#\" onClick={() => removeRecord(apprec.id)} className=\"dropdown-item text-danger text-decoration-none \">Sil</a>\r\n </li>\r\n\r\n </ul>\r\n </div>\r\n </td>\r\n </tr>\r\n )}\r\n\r\n\r\n </tbody>\r\n </table>\r\n </div >\r\n return (mytable);\r\n }\r\n\r\n const filterTable = (event) => {\r\n var textbox = document.getElementById(\"mySearchInput\")\r\n if (textbox == null)\r\n return;\r\n var value = textbox.value.toLowerCase();\r\n var keywords = value.split(\" \");\r\n\r\n\r\n $(\"#checkboxarea .checkbox\").filter(function () {\r\n var t1 = removeTurkcLow($(this).text());\r\n for (let index = 0; index < keywords.length; ++index) {\r\n var t2 = removeTurkcLow(keywords[index]);\r\n if (t1.indexOf(t2) == -1) {\r\n return $(this).toggle(false);\r\n }\r\n }\r\n return $(this).toggle(true);\r\n });\r\n\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n var listTable = \"\";\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n else\r\n listTable = renderTable([]);\r\n\r\n return (\r\n <div className=\"m-2 rounded-3\" style={{ \"background-color\": \"#EDEDF7\", \"min-height\": \"100vh\" }} key={aciklama.length}>\r\n\r\n <div className=\"row d-flex flex-wrap p-4\">\r\n <div className=\"col-md-8 col-12 d-flex flex-column\" >\r\n <div className=\"bg-white rounded-3\" >\r\n <div className=\"row ms-2 me-2 pt-3 mb-4 pb-4 border-bottom\">\r\n <div className=\"col-4 align-middle fw-bold pt-4 text-center \" >\r\n YENÄ° ROL OLUÅTUR\r\n </div>\r\n <div className=\"col-8\" >\r\n <div className=\"bg-light p-3 rounded-3 textvmuted fw-bold \" style={{ \"text-align\": \"justify\" }}>\r\n <span className=\"fa fa-info pe-3\" style={{ color: \"lightblue\", fontSize: \"26px\" }} ></span>\r\n Bu ekranda istediÄŸiniz yetkilerden seçim yaparak, yetki grupları (yeni kullanıcı rolleri) oluÅŸturabilirsiniz.\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {postdata.id > 0 && < div className=\"row ms-2 me-2 mb-4 pb-4 border-bottom\">\r\n <div className=\"col-12 align-middle text-center \" >\r\n <span className=\"text-success fw-bold\"> {postdata.name} </span>rölünü düzenliyorsunuz\r\n <button onClick={() => {\r\n setpostdata({})\r\n\r\n\r\n }} className=\"ms-2 btn btn-sm btn-secondary text-decoration-none\">Vazgeç</button>\r\n </div>\r\n </div>}\r\n\r\n <div className=\"m-2 pb-4 mb-4 mt-4 border-bottom\" key={postdata.id}>\r\n <div className=\"row pt-2 mt-3\">\r\n <div className=\"col-md-4 col-12\" >\r\n <div>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"rolname\" name=\"name\" onChange={handleInputChange} placeholder=\"Rol Ä°smi\" defaultValue={postdata.name} />\r\n <span className=\"textvmuted\">Role vermek istediÄŸiniz ismi yazınız.</span>\r\n </div>\r\n </div>\r\n <div className=\"col-12 col-md-3 align-middle \" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox \" id=\"takip\" name=\"takip\" onChange={handleInputChange} defaultChecked={postdata.takip} />\r\n <span className=\"align-middle ms-1\">BaÅŸvuru Takip </span>\r\n <br />\r\n <span className=\"textvmuted\">BaÅŸvurularla ilgili bildirim gitsin mı?</span>\r\n </div>\r\n <div className=\"col-12 col-md-3 align-middle \" >\r\n <input type=\"checkbox\" className=\"form-check-input big-checkbox\" id=\"defaultrole\" name=\"defaultrole\" onChange={handleInputChange} defaultChecked={postdata.defaultrole} />\r\n <span className=\"align-middle ms-1\"> Varsayılan Rol</span>\r\n <br />\r\n <span className=\"textvmuted\">Yeni kullanıcıların varsayılan rolu</span>\r\n </div>\r\n <div className=\"col-12 col-md-2 align-middle p-0\" >\r\n <button onClick={submitUpdateRecord} className=\"btn btn-sm btn-primary text-decoration-none p-1 \">Kaydet</button> \r\n <button onClick={() => {\r\n document.getElementById(\"rolname\").value = \"\";\r\n document.getElementById(\"takip\").checked = false;\r\n document.getElementById(\"defaultrole\").checked = false;\r\n\r\n }} className=\"btn btn-sm btn-info text-decoration-none p-1\">Temizle</button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <div className=\"row border-top pt-3\" >\r\n <div className=\"col-12 col-md-3\" >\r\n\r\n </div >\r\n <div className=\"col-12 col-md-6\" >\r\n <input className=\"form-control form-control-sm border-secondary mb-2 \" id=\"mySearchInput\" type=\"text\" placeholder=\"Ara\" onKeyUp={filterTable} />\r\n </div >\r\n <div className=\"col-12 col-md-3\" > </div >\r\n </div>\r\n\r\n {checkboxlist()}\r\n\r\n\r\n\r\n </div>\r\n </div>\r\n <div className=\"col-md-4 col-12 d-flex flex-column bg-white rounded-3 p-2\" >\r\n\r\n\r\n <div className=\"align-middle fw-bold text-start\" >\r\n OluÅŸturulan Roller\r\n </div>\r\n <div className=\"fw-bold text-justify textvmuted mb-3 mt-2\" style={{ \"text-align\": \"justify\" }}>\r\n OluÅŸturduÄŸunuz rollerin üzerinde tıklayarak, rolu düzenleyebilir, kopyalayabilir veya silebilirsiniz.\r\n </div>\r\n\r\n {listTable}\r\n\r\n </div>\r\n </div>\r\n </div >\r\n\r\n );\r\n\r\n\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport Application from \"./Application.js\"\r\nimport { useGlobalState, logout, ajaxFail, removeTurkcLow, showErrorMessage } from '../GlobalState.js';\r\nimport $ from 'jquery';\r\n\r\n\r\nexport default function AllApplicationList(props) {\r\n\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [userName, setuserName] = useGlobalState('userName');\r\n var changeComponent = props.changeComponent;\r\n\r\n const [showremoved, setShowremoved] = useState(false);\r\n const [applist, setApplist] = useState(null);\r\n const [appGroups, setAppGroups] = useState([]);\r\n const [devamstat, setDevamstat] = useState(null);\r\n const [filter, setFilter] = useState(null);\r\n\r\n const [surecList, setSurecList] = useState([]);\r\n const [mysablonlist, setMysablonlist] = useState(null);\r\n const [colnames, setColnames] = useState([\"id\", \"basvuruTarihi\", \"basvuruTipi\", \"basvuruDurumu\", \"ada\", \"mahalle\", \"mevki\", \"basvuruYapan\"]);\r\n\r\n var sortField = null;\r\n\r\n\r\n\r\n useEffect(() => {\r\n getSablon();\r\n fetchSurecList();\r\n }, [])\r\n\r\n const myCompare = (a, b) => {\r\n if (a[sortField] < b[sortField]) {\r\n return -1;\r\n }\r\n if (a[sortField] > b[sortField]) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n const myCompareRev = (a, b) => {\r\n if (a[sortField] < b[sortField]) {\r\n return 1;\r\n }\r\n if (a[sortField] > b[sortField]) {\r\n return -1;\r\n }\r\n return 0;\r\n }\r\n\r\n\r\n const myCompareBasvuruTipi = (a, b) => {\r\n var s1 = a[sortField];\r\n var s2 = b[sortField];\r\n if (s1 == null) return -1;\r\n if (s2 == null) return 1;\r\n\r\n var sa = s1.replaceAll('\"name\":', \"\").replaceAll(']', \"\").replaceAll('[', \"\").replaceAll('{', \"\").replaceAll('}', \"\").replaceAll('\"', \"\");\r\n var sb = s2.replaceAll('\"name\":', \"\").replaceAll(']', \"\").replaceAll('[', \"\").replaceAll('{', \"\").replaceAll('}', \"\").replaceAll('\"', \"\");\r\n\r\n if (sa < sb) {\r\n return -1;\r\n }\r\n if (sa > sb) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n\r\n const sortList = (fildname) => {\r\n sortField = fildname;\r\n var temp = [...applist]; //clone the array to update the component on setApplist\r\n temp.sort(myCompare);\r\n setApplist(temp);\r\n }\r\n\r\n\r\n const getAppGroupList = () => {\r\n\r\n fetch(\"getappgrouplist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n value.unshift({ name: \"Tümü\" })\r\n setAppGroups(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const getSablon = () => {\r\n var refreshButton = document.getElementById(\"refreshButton\");\r\n if (refreshButton != null) {\r\n refreshButton.classList.remove(\"fa\", \"fa-refresh\")\r\n refreshButton.classList.add(\"spinner-grow\", \"spinner-grow-sm\")\r\n }\r\n\r\n fetch(\"getmysablon\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n\r\n else {\r\n response.json().then(async list => {\r\n var list = list.filter(r => r.forListView == true);\r\n if (list != null && list.length > 0) {\r\n var data = list[0];\r\n if (window.localStorage.getItem('sablon') != null && list[window.localStorage.getItem('sablon')] != null)\r\n data = list[window.localStorage.getItem('sablon')];\r\n if (data.filter != null && data.filter.length > 0)\r\n setFilter(data.filter);\r\n if (data.colNames != null && data.colNames.length > 0) {\r\n var d = data.colNames.replaceAll('\"', \"\");\r\n if (d.length > 0)\r\n setColnames(d.split(\",\"));\r\n }\r\n }\r\n setMysablonlist(list);\r\n });\r\n\r\n getApplicationList();\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const appsauthorlist = (applist) => {\r\n var ids = applist.map(x => x.id).join();\r\n fetch(\"appsauthorlist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(ids)\r\n\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n applist.forEach((k) => { k.müellif = \"\" });\r\n data.forEach((k) => { applist.find(x => x.id == k.appID).müellif += k.userName + \"(\" + k.muellifType + \") \" });\r\n setApplist(applist);\r\n });\r\n }\r\n });\r\n }\r\n\r\n const getcontrollerlist = (applist) => {\r\n var ids = applist.map(x => x.id).join();\r\n fetch(\"getcontrollerlist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(ids)\r\n\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n try {\r\n data = JSON.parse(data)\r\n data.forEach((k) => { applist.find(x => x.id == k.appID).kontrolor = k.userName });\r\n appsauthorlist(applist)\r\n } catch (error) {\r\n setApplist([]);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n const getApplicationList = () => {\r\n fetch(\"myallapplicationlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n var refreshButton = document.getElementById(\"refreshButton\");\r\n if (refreshButton != null && refreshButton.classList.contains(\"fa-refresh\") == false) {\r\n refreshButton.classList.remove(\"spinner-grow\", \"spinner-grow-sm\")\r\n refreshButton.classList.add(\"fa\", \"fa-refresh\")\r\n }\r\n\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n\r\n response.json().then(async data => {\r\n getcontrollerlist(data);\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n const filterTable = (event) => {\r\n const target = event.target;\r\n const value = target.value.toLowerCase();\r\n $(\"#myTable tr\").filter(function () {\r\n var keywords = value.split(\" \");\r\n var t1 = removeTurkcLow($(this).text())\r\n for (let index = 0; index < keywords.length; ++index) {\r\n if (t1.indexOf(removeTurkcLow(keywords[index])) == -1)\r\n return $(this).toggle(false);\r\n }\r\n return $(this).toggle(true);\r\n });\r\n }\r\n\r\n\r\n const passFilter = (rec, filter) => {\r\n if (filter == null || filter.length == 0) return true;\r\n var result = false;\r\n var conds = filter.split(\",\");\r\n if (conds == null) return true;\r\n for (var i = 0; i < conds.length; i++) {\r\n var currentCondition = conds[i].trim();\r\n var and = currentCondition.includes(\"AND\") || conds.length == 1;\r\n and = and || (i == 0 && conds.length > 1 && conds[1].trim().includes(\"AND\"));\r\n currentCondition = currentCondition.replaceAll(\"AND\", \"\");\r\n currentCondition = currentCondition.replaceAll(\"OR\", \"\");\r\n if (currentCondition.includes('>')) {\r\n var c = currentCondition.split(\">\");\r\n var colname = c[0].trim();\r\n var value = c[1].trim().split(\";\");\r\n if (rec[c[0]] != null) {\r\n if (!value.some(v => parseInt(rec[colname]) > parseInt(v))) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else {\r\n if (rec.appData != null && rec.appData.length > 0) {\r\n var dynamicSoru = JSON.parse(rec.appData);\r\n if (dynamicSoru[colname] == null || !value.some(v => parseInt(dynamicSoru[colname]) > parseInt(v))) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else\r\n if (and == true) return false;\r\n }\r\n }\r\n if (currentCondition.includes('<')) {\r\n var c = currentCondition.split(\"<\");\r\n var colname = c[0].trim();\r\n var value = c[1].trim().split(\";\");\r\n if (rec[colname] != null) {\r\n if (!value.some(v => parseInt(rec[colname]) < parseInt(v))) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else {\r\n if (rec.appData != null && rec.appData.length > 0) {\r\n var dynamicSoru = JSON.parse(rec.appData);\r\n if (dynamicSoru[colname] == null || !value.some(v => parseInt(dynamicSoru[colname].value) < parseInt(v))) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else\r\n if (and == true) return false;\r\n }\r\n\r\n }\r\n if (currentCondition.includes('=')) {\r\n var c = currentCondition.split(\"=\");\r\n var colname = c[0].trim();\r\n var value = c[1].trim().split(\";\");\r\n if (rec[colname] != null) {\r\n if (!value.some(v => parseInt(rec[colname]) == parseInt(v))) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else {\r\n if (rec.appData != null && rec.appData.length > 0) {\r\n var dynamicSoru = JSON.parse(rec.appData);\r\n if (dynamicSoru[colname] == null || !value.some(v => parseInt(dynamicSoru[colname].value) == parseInt(v))) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else\r\n if (and == true) return false;\r\n }\r\n }\r\n if (currentCondition.includes('!=')) {\r\n var c = currentCondition.split(\"!=\");\r\n var colname = c[0].trim();\r\n\r\n var value = c[1].trim().split(\";\");\r\n if (rec[colname] != null) {\r\n if (!value.some(v => parseInt(rec[colname]) != parseInt(v))) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else {\r\n if (rec.appData != null && rec.appData.length > 0) {\r\n var dynamicSoru = JSON.parse(rec.appData);\r\n if (dynamicSoru[colname] == null || !value.some(v => parseInt(dynamicSoru[colname].value) == parseInt(v))) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else\r\n if (and == true) return false;\r\n }\r\n }\r\n if (currentCondition.includes('ISNOTNULL')) {\r\n var c = currentCondition.split(\"ISNOTNULL\");\r\n var colname = c[0].trim();\r\n\r\n\r\n if (rec[colname] == null) {\r\n if (rec.appData != null && rec.appData.length > 0) {\r\n var dynamicSoru = JSON.parse(rec.appData);\r\n if (dynamicSoru[colname] == null) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else\r\n if (and == true) return false;\r\n }\r\n }\r\n if (currentCondition.includes('ISNULL')) {\r\n var c = currentCondition.split(\"ISNULL\");\r\n var colname = c[0].trim();\r\n if (rec[colname] != null) {\r\n if (rec.appData != null && rec.appData.length > 0) {\r\n var dynamicSoru = JSON.parse(rec.appData);\r\n if (dynamicSoru[colname] != null) {\r\n if (and == true) return false;\r\n }\r\n\r\n else result = true;\r\n }\r\n }\r\n }\r\n if (currentCondition.includes('LIKE')) {\r\n var c = currentCondition.split(\"LIKE\");\r\n var colname = c[0].trim();\r\n var value = c[1].trim().split(\";\");\r\n\r\n if (rec[colname] != null) {\r\n if (!value.some(v => rec[colname].toString().includes(v))) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else {\r\n if (rec.appData != null && rec.appData.length > 0) {\r\n var dynamicSoru = JSON.parse(rec.appData);\r\n if (dynamicSoru[colname] == null || !value.some(v => dynamicSoru[colname].value.toString().includes(v))) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else\r\n if (and == true) return false;\r\n }\r\n }\r\n\r\n if (currentCondition.includes('NOTLIKE')) {\r\n var c = currentCondition.split(\"NOTLIKE\");\r\n var colname = c[0].trim();\r\n var value = c[1].trim().split(\";\");\r\n if (rec[colname] != null) {\r\n if (value.some(v => rec[colname].toString().includes(v))) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n else {\r\n if (rec.appData != null && rec.appData.length > 0) {\r\n var dynamicSoru = JSON.parse(rec.appData);\r\n if (dynamicSoru[colname] == null || value.some(v => dynamicSoru[colname].value.toString().includes(v))) {\r\n if (and == true) return false;\r\n }\r\n else result = true;\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n return result;\r\n }\r\n\r\n\r\n const filterColumn = (event) => {\r\n const target = event.target;\r\n\r\n var cl = colnames;\r\n $(\"#myTable tr\").filter(function () {\r\n for (var c = 0; c < cl.length; c++) {\r\n if (document.getElementById(cl[c]).value != null && document.getElementById(cl[c]).value.length > 0)\r\n if (removeTurkcLow($(this).children().eq(c).text()).indexOf(removeTurkcLow(document.getElementById(cl[c]).value)) == -1)\r\n return $(this).toggle(false);\r\n }\r\n return $(this).toggle(true);\r\n });\r\n }\r\n\r\n\r\n const handleGroupChange = () => {\r\n var sab = document.getElementById(\"groupSelect\").value;\r\n var data = appGroups[sab];\r\n setDevamstat(data);\r\n }\r\n\r\n const handleSablonChange = () => {\r\n var sab = document.getElementById(\"sablonSelect\").value;\r\n window.localStorage.setItem('sablon', sab);\r\n var data = mysablonlist[sab];\r\n if (data.filter != null)\r\n setFilter(data.filter);\r\n if (data.colNames != null && data.colNames.length > 0) {\r\n var d = data.colNames.replaceAll('\"', \"\");\r\n if (d.length > 0) {\r\n var temp = applist;\r\n if (data.sort != null && data.sort.length > 0) {\r\n var sf = data.sort.split(\",\");\r\n if (sf.length > 0) {\r\n for (var i = 0; i < sf.length; i++) {\r\n if (sf[i][0] == '-') {\r\n sortField = sf[i].substring(1);\r\n temp.sort(myCompareRev);\r\n }\r\n else {\r\n sortField = sf[i];\r\n temp.sort(myCompare);\r\n }\r\n }\r\n }\r\n\r\n }\r\n setApplist(temp);\r\n setColnames(d.split(\",\"));\r\n }\r\n }\r\n }\r\n\r\n const fetchSurecList = () => {\r\n\r\n fetch(\"sureclist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n\r\n }\r\n else {\r\n response.json().then(value => {\r\n setSurecList(value);\r\n getAppGroupList();\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const setAppRemovedState = (app, isremoved) => {\r\n app.removed = isremoved;\r\n fetch(\"saveapplication\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(app)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n getApplicationList();\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const deleteApp = (app) => {\r\n var comment = window.prompt(\"Lütfen Silme Nedenini Açıklayınız\")\r\n if (comment == null || comment.length == 0) {\r\n showErrorMessage(\"Açıklama BoÅŸ Olamaz\", \"Lütfen Silme Nedenini Yazınız\");\r\n return;\r\n }\r\n\r\n\r\n if (app.removed != true) {\r\n setAppRemovedState(app, true);\r\n return;\r\n }\r\n fetch(\"removeapp\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(app.id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setApplist(data);\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n const getDurumName = (i) => {\r\n var r = surecList.find(element => element.id == i);\r\n if (r == null) return i;\r\n return r.name;\r\n }\r\n\r\n\r\n\r\n\r\n const renderToList = (tabledata) => {\r\n if (tabledata == null)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n\r\n\r\n if (tabledata.length == 0)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n\r\n\r\n var mytable =\r\n <div className=\"mt-1\">\r\n <div className=\"mt-1 p-2 row\" style={{ \"background-color\": \"#fff8dd\" }}>\r\n <div class=\"col-md-2 pt-4\">\r\n {role != null && role.indexOf(UserPermConstants.Basvuru_Silme) > -1 && <div class=\"form-check form-switch \">\r\n <input class=\"form-check-input\" type=\"checkbox\" id=\"flexSwitchCheckDefault\" defaultChecked={false} onClick={(value) => setShowremoved(value.target.checked)} />\r\n <label class=\"form-check-label\" for=\"flexSwitchCheckDefault\" >Silinenler</label>\r\n </div>}\r\n </div>\r\n <div className=\"col-12 col-md-3\">\r\n Ekran\r\n {mysablonlist != null ? <select className=\"form-select form-select-sm\" id=\"sablonSelect\" name=\"sablonSelect\" onChange={handleSablonChange} defaultValue={window.localStorage.getItem('sablon')}>\r\n {mysablonlist.map((s, idx) => <option value={idx} > {s.name}</option>)}\r\n </select> : \"\"}\r\n </div>\r\n <div className=\"col-12 col-md-3\">\r\n Gruplar\r\n {appGroups != null ? <select className=\"form-select form-select-sm\" id=\"groupSelect\" name=\"groupSelect\" onChange={handleGroupChange}>\r\n {appGroups.map((s, idx) => <option value={idx} > {s.name}</option>)}\r\n </select> : \"\"}\r\n </div>\r\n <div className=\"col-12 col-md-3\">\r\n Arama\r\n <input className=\"form-control form-control-sm\" id=\"myInput\" type=\"text\" placeholder=\"\" onKeyUp={filterTable} />\r\n\r\n </div>\r\n <div className=\"col-12 col-md-1 text-end pt-2\">\r\n <a onClick={getSablon} href=\"#\" className=\"text-primary\"> <i className=\"fa fa-refresh\" id=\"refreshButton\"></i></a>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div className=\"table-responsive\">\r\n <table className='table mt-3 table-vdstriped' aria-labelledby=\"tabelLabel\">\r\n <thead>\r\n <tr>\r\n {colnames.map(c =>\r\n <th> <div><button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(c)}> {c.toUpperCase() == \"ADA\" ? \"ADA/PARSEL\" : c.toUpperCase()}</button></div>\r\n <div>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id={c} placeholder=\"\" name={c} onChange={filterColumn} />\r\n </div></th>\r\n )}\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n (showremoved == true ? apprec.removed == true : apprec.removed != true) &&\r\n passFilter(apprec, filter) == true && (devamstat == null || devamstat.appState == undefined || devamstat.appState.split(\",\").includes(apprec.basvuruDurumu + \"\")) &&\r\n\r\n <tr key={apprec.id} className=\"p-1\">\r\n {colnames.map(c => {\r\n if (apprec[c] != null)\r\n if (c == \"basvuruDurumu\") return <td name={c}>{getDurumName(apprec[c])}</td>\r\n else return <td name={c}>{apprec[c]}</td>\r\n try {\r\n var appDData = JSON.parse(apprec.appData);\r\n if (appDData != null && appDData[c] != null) {\r\n if (appDData[c].type != null && appDData[c].type == \"checkbox\") {\r\n return <td name={c}><input type=\"checkbox\" className=\"form-check-input p-0\" checked={appDData[c].value} /></td>\r\n }\r\n return <td name={c}>{appDData[c].value}</td>\r\n }\r\n }\r\n catch (ex) {\r\n return <td name={c}>{ex.toString()}</td>\r\n }\r\n\r\n return <td></td>\r\n })}\r\n <td>\r\n { (role != null && role.indexOf(UserPermConstants.Basvuru_Silme) > -1)&& <div style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }}>\r\n {apprec.removed != true && <a href=\"#\" onClick={() => { changeComponent(<Application key={apprec.id} appData={apprec} changeComponent={changeComponent} backButton={<AllApplicationList changeComponent={props.changeComponent} />}/>) }} className=\" text-decoration-none \"><i className=\"fa fa-edit align-middle\" style={{ \"font-size\": \"24px\" }}></i></a>}\r\n {apprec.removed == true && <a href=\"/#\" onClick={() => { setAppRemovedState(apprec, false) }} className=\"text-decoration-none align-middle\" ><i className=\"fa fa-refresh align-middle\" style={{ \"font-size\": \"20px\" }}></i></a>}\r\n <a href=\"/#\" onClick={() => { deleteApp(apprec) }} className=\"text-decoration-none material-icons align-middle\" >delete</a>\r\n\r\n </div>}\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n var tabledata = renderToList(applist);\r\n \r\n\r\n return <div >\r\n <div className=\" align-items-center justify-content-center p-1\" >\r\n {tabledata}\r\n </div>\r\n </div>\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty, removeTurkcLow, sendpost, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport $ from 'jquery';\r\n\r\nexport default function HavaleSablonSetting(props) {\r\n var basvuruTipi = props.basvuruTipi;\r\n\r\n\r\n const [listData, setListData] = useState([]);\r\n const [denetimList, setDenetimList] = useState([]);\r\n const [basvuruTipleri, setBasvuruTipleri] = useState([]);\r\n const [kontrolorList, setKontrolorList] = useState([]);\r\n const [kontrolorListForSelectTask, setKontrolorListForSelectTask] = useState([]);\r\n const [postdata, setPostData] = useState({});\r\n const [isAdimlari, setIsAdimlari] = useState([]);\r\n const [selectableIsAdimlari, setselectableIsAdimlari] = useState([]);\r\n const [mapping, setMapping] = useState([]);\r\n const multiselectRef = React.createRef();\r\n const multiselectRefNew = React.createRef();\r\n const colorset = [\"#f0f7ff\", \"#FFFFFF\", \"#FFFFFF\", \"#f0f7ff\"];\r\n\r\n\r\n useEffect(() => {\r\n fetchDenetimList();\r\n fetchList();\r\n fetchKontrollers();\r\n fetchIsAdimlariList();\r\n }, [])\r\n\r\n\r\n const fetchIsAdimlariList = () => {\r\n sendpost(\"basvurutipisadimlist\", null, \"\", (response) => {\r\n response.json().then(value => {\r\n setIsAdimlari(value)\r\n })\r\n\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n const fetchDenetimList = () => {\r\n fetch(\"denetimlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n\r\n\r\n setBasvuruTipleri(value.filter(x => x.isadimi != true))\r\n if (props.isAdimlari) {\r\n setDenetimList(value.filter(x => x.isadimi == true && props.isAdimlari.some(y => y.isAdimi == x.id)));\r\n setselectableIsAdimlari(value.filter(x => x.isadimi == true && props.isAdimlari.some(y => y.isAdimi == x.id)));\r\n }\r\n else {\r\n var isadimlar = value.filter(x => x.isadimi == true);\r\n \r\n setDenetimList(isadimlar);\r\n\r\n }\r\n })\r\n }\r\n });\r\n }\r\n const getDenetimName = (id) => {\r\n try { return denetimList.find(x => x.id == id).name }\r\n catch (ex) { return \"Error \" + id + \" \" + denetimList .length}\r\n }\r\n\r\n\r\n const recalculateSira = () => {\r\n\r\n const sortedArray = mapping.map(x => x.sira).sort((a, b) => a - b);\r\n const max = sortedArray[sortedArray.length - 1];\r\n var missingNumbers = [];\r\n for (let i = 0; i <= max; i++) {\r\n if (!sortedArray.includes(i)) {\r\n missingNumbers.push(i);\r\n }\r\n }\r\n for (var x of missingNumbers) {\r\n for (var r of mapping) {\r\n if (r.sira >= x)\r\n r.sira--;\r\n }\r\n }\r\n\r\n\r\n return mapping;\r\n };\r\n\r\n\r\n const showTable = () => {\r\n var maxSira = 0;\r\n mapping.forEach(x => maxSira = Math.max(maxSira, x.sira))\r\n if (mapping.filter(x => x.sira == maxSira).length > 1)\r\n maxSira++;\r\n var map2 = mapping.sort((a, b) => a.sira - b.sira)\r\n\r\n return <table className='table table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead>\r\n <td> </td>\r\n <th className='text-start'>Sıra</th>\r\n <th className='text-start'>Kontrolör</th>\r\n <th className='text-start'>Ä°ÅŸ Adımı</th>\r\n <th className='text-start'></th>\r\n </thead>\r\n <tbody >\r\n {map2.map((rec, idx) => <tr style={rec.sira % 2 == 0 ? { \"background-color\": \"#f3f9ff\", height: \"auto\" } : { height: \"auto\" }}>\r\n <td>\r\n <div hidden={isEmpty(rec.Completed) == false}>\r\n\r\n <button disabled={rec.sira <= 0} type=\"button\" className=\"btn btn-link p-0 m-0 shadow-none\" onClick={(e) => {\r\n rec.sira--;\r\n map2 = recalculateSira(map2);\r\n setMapping([...map2]);\r\n\r\n }} >\r\n <span class=\"material-icons\">\r\n remove_circle\r\n </span>\r\n </button>\r\n <button type=\"button\" className=\"btn btn-link p-0 m-0 shadow-none\" disabled={rec.sira >= maxSira} onClick={(e) => {\r\n rec.sira++;\r\n map2 = recalculateSira(map2);\r\n setMapping([...map2]);\r\n\r\n }}>\r\n <span class=\"material-icons\">\r\n add_circle\r\n </span>\r\n </button>\r\n\r\n </div>\r\n </td>\r\n\r\n <td> {rec.sira + 1}</td>\r\n\r\n <td>\r\n {rec.userName}</td>\r\n <td> {getDenetimName(rec.isadimi)}\r\n </td>\r\n\r\n\r\n <td width=\"10%\">\r\n {rec.Completed == null && <button type=\"button\" className=\"btn btn-link shadow-none text-decoration-none text-danger btn-sm\" onClick={() => { setMapping(map2.filter((x, i) => idx != i)); }} >\r\n <i className=\"fa fa-trash-o\"></i>\r\n </button>}\r\n </td></tr>\r\n )}\r\n\r\n </tbody>\r\n </table>\r\n\r\n }\r\n\r\n\r\n const fetchKontrollers = () => {\r\n // var rec = e.target.value;\r\n /* if (rec == null || rec == -1) {\r\n if (kontrolorList.length > 0)\r\n setKontrolorList([])\r\n return;\r\n }*/\r\n fetch(\"userswithperm\", {\r\n method: 'POST',\r\n headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' },\r\n body: JSON.stringify(\"\")\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setKontrolorList(data)\r\n });\r\n }\r\n });\r\n\r\n }\r\n\r\n const removeRecord = (rec) => {\r\n showConfirmMessage(rec.sablonName + \" Ä°simli Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removehavalesablon\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n if (basvuruTipi != null)\r\n value = value.filter(x => x.basvuruTipi.includes(basvuruTipi.name))\r\n setListData(value);\r\n })\r\n }\r\n }));\r\n }\r\n\r\n\r\n\r\n\r\n const fetchList = () => {\r\n\r\n fetch(\"havalesablonlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n if (basvuruTipi != null)\r\n value = value.filter(x => x.basvuruTipi.includes(basvuruTipi.name))\r\n\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const Reset = () => {\r\n\r\n document.getElementById(\"denetim\").value = null;\r\n document.getElementById(\"kontolor\").value = null\r\n /*document.getElementById(\"mapping\").value = null;*/\r\n setMapping([])\r\n /* document.getElementById(\"parallel\").disabled = true;*/\r\n\r\n }\r\n\r\n const Add = () => {\r\n var maxSira = -1;\r\n mapping.forEach(x => maxSira = Math.max(maxSira, x.sira))\r\n\r\n var d = document.getElementById(\"denetim\").value\r\n var k = document.getElementById(\"kontolor\").value\r\n if (d == -1 || d == null) {\r\n showErrorMessage(\"Ä°ÅŸ Adımını Seçiniz\");\r\n return;\r\n }\r\n if (k == -1 || k == null) {\r\n showErrorMessage(\"Kontrolörü Seçiniz\");\r\n return;\r\n }\r\n\r\n /*var parallel = document.getElementById(\"parallel\").checked*/\r\n\r\n if (d == null || k == null) return;\r\n //if (document.getElementById(\"mapping\").value != null && document.getElementById(\"mapping\").value != \"\")\r\n // document.getElementById(\"mapping\").value += \",\" + (parallel == true ? \"&\" : \"\");\r\n /* document.getElementById(\"parallel\").disabled = false;*/\r\n setMapping([...mapping, { sira: maxSira + 1, isadimi: d, userName: k }]);\r\n setPostData({ ...postdata })\r\n }\r\n\r\n const SaveSablon = () => {\r\n var update = true;\r\n\r\n if (postdata.id == null) {\r\n update = false\r\n }\r\n var m = mappingToString();\r\n var s = document.getElementById(\"sablonName\").value\r\n\r\n if (m == null || m == \"\" || s == null || s == \"\") {\r\n showErrorMessage(\"Tüm alanları doldurnuz\");\r\n return;\r\n }\r\n // postdata.basvuruTipi=b\r\n postdata.mapping = m;\r\n postdata.sablonName = s;\r\n\r\n if (basvuruTipi != null && isEmpty(postdata.basvuruTipi))\r\n postdata.basvuruTipi = basvuruTipi.name;\r\n\r\n\r\n fetch(\"savehavalesablon\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(postdata)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n if (update)\r\n showSuccessMessage(\"Guncelleme BaÅŸarılı\")\r\n else\r\n showSuccessMessage(\"Åablon OluÅŸturuldu\")\r\n\r\n if (basvuruTipi != null)\r\n value = value.filter(x => x.basvuruTipi.includes(basvuruTipi.name))\r\n setListData(value);\r\n })\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const filterTable = (event) => {\r\n const target = event.target;\r\n const value = target.value.toLowerCase();\r\n $(\"#myTable tr\").filter(function (idx) {\r\n var keywords = removeTurkcLow(value);\r\n var childs = $(this).children();\r\n var text = removeTurkcLow(childs.eq(1).children().eq(0).val()) + \" \" + removeTurkcLow(childs.eq(3).children().eq(0).val());\r\n if (listData[idx].basvuruTipi != null)\r\n text = text + \" \" + removeTurkcLow(listData[idx].basvuruTipi);\r\n if (text.toLowerCase().indexOf(keywords.toLowerCase()) == -1)\r\n return $(this).toggle(false);\r\n return $(this).toggle(true);\r\n });\r\n\r\n }\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n <div className=\"row ms-2 me-2 pb-3\">\r\n {tabledata.map((apprec, idx) =>\r\n <div className={\"col-md-6 col-12 \"}>\r\n <div className=\"border rounded-3 mt-3 p-0 text-center border-1\" style={{ \"background-color\": colorset[idx % colorset.length] }}>\r\n <div className=\"d-inline float-start\">\r\n <button onClick={() => removeRecord(apprec)} className=\"btn btn-secondary btn-sm text-decoration-none \">Sil</button>\r\n </div>\r\n <div className=\"d-inline \">\r\n <button onClick={() => {\r\n setPostData(apprec);\r\n setMapping(stringToMapping(apprec.mapping))\r\n\r\n if (isEmpty(apprec.basvuruTipi) == false) {\r\n var b = basvuruTipleri.filter(x => apprec.basvuruTipi.split(\",\").includes(x.name)).map(x => x.id);\r\n var i = isAdimlari.filter(x => b.includes(x.basvuruTipi)).map(x => x.isAdimi)\r\n setselectableIsAdimlari(denetimList.filter(x => i.includes(x.id)))\r\n }\r\n\r\n }} className=\"btn btn-link btn-sm text-decoration-none \">{apprec.sablonName}</button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n var listTable = \"\";\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n else\r\n listTable = renderTable([]);\r\n\r\n\r\n const getMappingName = (rec) => {\r\n var username = rec.split(\"=\")[0].replace(\"&\", \"\");\r\n var k = kontrolorList.find(x => x.userName == username);\r\n if (k == null) {\r\n return username + \" kullanıcısı bulunamadı !\";\r\n }\r\n var d = denetimList.find(x => x.id == rec.split(\"=\")[1]);\r\n return k.name + \" \" + k.family + \"(\" + (d == null ? \"\" : d.name) + \") \"\r\n\r\n }\r\n\r\n const gnerateHavaleMappingNames = (rec) => {\r\n if (denetimList.length > 0 && kontrolorList.length > 0 && isEmpty(rec.mapping) == false) {\r\n var mapping = rec.mapping.split(\",\");\r\n var ret = mapping.map(x => getMappingName(x));\r\n var sire = -1;\r\n for (var i = 0; i < ret.length; i++) {\r\n if (mapping[i].includes(\"&\") == false)\r\n sire++;\r\n ret[i] = sire + \": \" + ret[i]\r\n\r\n }\r\n return ret.join(\" , \")\r\n\r\n }\r\n return \"\";\r\n }\r\n\r\n\r\n const mappingToString = () => {\r\n var s = mapping.map((x, idx) => {\r\n var amp = \"\";\r\n if (idx > 0 && mapping[idx - 1].sira == x.sira) amp = \"&\"\r\n return amp + x.userName + \"=\" + x.isadimi\r\n })\r\n return s.join(\",\")\r\n }\r\n const stringToMapping = (str) => {\r\n var arr = str.split(\",\");\r\n var s = arr.map(x => ({ \"userName\": x.split(\"=\")[0], \"isadimi\": x.split(\"=\")[1], sira: 0 }))\r\n var sira = -1;\r\n s.forEach(x => {\r\n if (x.userName.startsWith(\"&\")) {\r\n x.userName = x.userName.substr(1);\r\n x.sira = sira;\r\n }\r\n else {\r\n sira++;\r\n x.sira = sira;\r\n\r\n }\r\n })\r\n return s;\r\n }\r\n const onSelect = (selectedList) => {\r\n\r\n var b = basvuruTipleri.filter(x => selectedList.includes(x.name)).map(x => x.id);\r\n var i = isAdimlari.filter(x => b.includes(x.basvuruTipi)).map(x => x.isAdimi)\r\n setselectableIsAdimlari(denetimList.filter(x => i.includes(x.id)))\r\n\r\n setPostData({\r\n ...postdata, ...{\r\n basvuruTipi: selectedList.length == 0 ? null : selectedList.join()\r\n }\r\n })\r\n }\r\n\r\n return (\r\n <div className=\"p-2 rounded-3\" style={{ \"background-color\": \"#EDEDF7\", \"min-height\": \"100vh\" }}>\r\n <div className=\"row mt-1 p-3 d-flex flex-wrap pe-4\" key={postdata.sablonName}>\r\n <div className=\"col-12 col-md-6 d-flex flex-column\">\r\n <div className=\" bg-white rounded-3\" >\r\n <div className=\"p-3 fw-bold border-bottom mb-3\" >\r\n Yeni Havale Åablonu OluÅŸtur\r\n </div>\r\n <div className=\"bg-light m-4 p-3 rounded-3 textvmuted fw-bold align-middle\" >\r\n <span className=\"fa fa-info pe-3\" style={{ color: \"lightblue\", fontSize: \"26px\" }} ></span>\r\n Bu alanda, Yeni Havale Åablonları oluÅŸturabilirsiniz.\r\n </div>\r\n\r\n\r\n {isEmpty(postdata.sablonName) != true && < div className=\"row ms-2 me-2 mb-4 pb-4 border-bottom\">\r\n <div className=\"col-12 align-middle text-center \" >\r\n <span className=\"text-success fw-bold\"> {postdata.sablonName} </span> ÅŸablonunu düzenliyorsunuz (Id: {postdata.id})\r\n <button onClick={() => {\r\n setPostData({})\r\n }} className=\"ms-2 btn btn-sm btn-secondary text-decoration-none\">Vazgeç</button>\r\n </div>\r\n </div>}\r\n\r\n\r\n <div className=\"m-4 pt-1\">\r\n Åablon Adı <span className=\"text-danger\">*</span>\r\n <input type=\"text\" className=\"form-control form-control-sm \" id=\"sablonName\" placeholder=\"\" name=\"sablonName\" defaultValue={postdata.sablonName} />\r\n <span className=\"textvmuted small\">OluÅŸturacağınız ÅŸablona bir isim veriniz</span>\r\n </div>\r\n\r\n <div className=\"m-4 \">\r\n BaÅŸvuru Tipi <span className=\"text-danger\">*</span>\r\n {basvuruTipi == null ?\r\n <> <Multiselect className=\"p-0 ps-1 form-control-sm bg-white\"\r\n options={basvuruTipleri.map(x => x.name)}\r\n emptyRecordMsg=\"BaÅŸka Kayıt Yok\"\r\n displayValue=\"name\"\r\n isObject={false}\r\n ref={multiselectRefNew}\r\n selectedValues={isEmpty(postdata.basvuruTipi) == false ? postdata.basvuruTipi.split(',') : []}\r\n onSelect={(selectedList, removedItem) => {\r\n onSelect(selectedList)\r\n }} // Function will trigger on select event\r\n onRemove={(selectedList, removedItem) => {\r\n onSelect(selectedList)\r\n }} // Function will trigger on remove event\r\n /> <div className=\"textvmuted small\">Åablonun hangi baÅŸvuru tiplerinde görüntüleneceÄŸini seçin</div></>\r\n : <div>{postdata.basvuruTipi}</div>\r\n }\r\n\r\n </div>\r\n\r\n <div className=\"row ms-3 mt-1\">\r\n <div className=\"col-12 col-md-5 pe-0\">\r\n Ä°ÅŸ Adımları <span className=\"text-danger\">*</span>\r\n <select className=\"form-select form-select-sm \" id=\"denetim\" name=\"denetim\" placeholder=\"Denetim\" onChange={(e) => {\r\n setKontrolorListForSelectTask(kontrolorList.filter(x => x.role == e.target.value))\r\n }\r\n }>\r\n <option value={-1}></option>\r\n {selectableIsAdimlari.map(x => <option value={x.id}>{x.name} </option>)}\r\n </select>\r\n </div>\r\n\r\n <div className=\"col-12 col-md-5 pe-0\">\r\n Kontrolörler <span className=\"text-danger\">*</span>\r\n <select className=\"form-select form-select-sm\" id=\"kontolor\" name=\"kontolor\" placeholder=\"Denetim\">\r\n <option value={-1}></option>\r\n {kontrolorListForSelectTask.map(x => <option value={x.userName}>{x.name + \" \" + x.family} </option>)}\r\n </select>\r\n </div>\r\n {/*<div className=\"col-6 col-md-2\">*/}\r\n {/* <br />*/}\r\n {/* <input type=\"checkbox\" className=\"form-check-input\" id=\"parallel\" name=\"parallel\" disabled={document.getElementById(\"mapping\") != null && document.getElementById(\"mapping\").value.length == 0} /> Paralel*/}\r\n\r\n {/*</div>*/}\r\n <div className=\"col-6 col-md-2\">\r\n <br />\r\n <button onClick={Add} className=\"btn btn-sm btn-primary text-decoration-none \">Ekle</button>\r\n </div>\r\n </div>\r\n\r\n <div className=\"m-4 mt-3\" key={postdata}>\r\n {showTable(postdata)}\r\n </div>\r\n\r\n <div className=\"m-4 mt-1 mb-1\">\r\n <span className=\"textvmuted small\">{mappingToString()}</span>\r\n\r\n </div>\r\n\r\n <div className=\"row mt-2 mb-2\">\r\n <div className=\"col-12 text-center\">\r\n <button onClick={SaveSablon} className=\"btn btn-sm btn-primary text-decoration-none \">Åablonu Kaydet</button>\r\n <button onClick={Reset} className=\"btn btn-sm btn-primary text-decoration-none ms-1\">Sıfırla</button>\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n {/*----------------------------------------------------------------------------------------------------*/}\r\n <div className=\"col-12 col-md-6 d-flex flex-column bg-white rounded-3\">\r\n <div className=\" \" >\r\n <div className=\"p-3 fw-bold border-bottom\" >\r\n OluÅŸturulan Åablonlar\r\n </div>\r\n <div className=\"bg-light m-3 p-3 mb-2 rounded-3 textvmuted fw-bold align-middle\" >\r\n <span className=\"fa fa-info pe-3\" style={{ color: \"lightblue\", fontSize: \"26px\" }} ></span>\r\n OluÅŸturduÄŸunuz havale ÅŸablonları silebilir veya özelliklerini deÄŸiÅŸtirebilirsiniz. Åablon isminin üzerine tıkladıktan sonra “Yeni Åablon OluÅŸturma†alanından özelliklerini düzenleyebilirsiniz. </div>\r\n <div className=\"\">\r\n {listData != null ? renderTable(listData) : \"\"}\r\n </div>\r\n\r\n </div>\r\n </div>\r\n {/*----------------------------------------------------------------------------------------------------*/}\r\n </div >\r\n </div >\r\n\r\n\r\n\r\n );\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Application from \"./Application.js\"\r\nimport { ajaxFail, removeTurkcLow, calcBusinessDays } from '../GlobalState.js';\r\nimport $ from 'jquery';\r\n\r\nexport default function IadeListesi(props) {\r\n const surebg = [\"#c9f7f5\", \"#e1f0ff\", \"#fff4de\", \"#ffe2e5\"]\r\n const suretxt = [\"text-info\", \"text-primary\", \"text-warning\", \"text-danger\"]\r\n const [applist, setApplist] = useState(null);\r\n const [denetimlist, setDenetimlist] = useState([]);\r\n var sortField = null;\r\n const me = <IadeListesi changeComponent={props.changeComponent} />\r\n useEffect(() => {\r\n fetchlist();\r\n\r\n }, [])\r\n\r\n const myCompare = (a, b) => {\r\n if (a[sortField] < b[sortField]) {\r\n return -1;\r\n }\r\n if (a[sortField] > b[sortField]) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n \r\n const fetchlist = (denetimlist) => {\r\n fetch(\"getiadelistesi\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n var refreshButton = document.getElementById(\"refreshButton\");\r\n if (refreshButton != null && refreshButton.classList.contains(\"fa-refresh\") == false) {\r\n refreshButton.classList.remove(\"spinner-grow\", \"spinner-grow-sm\")\r\n refreshButton.classList.add(\"fa\", \"fa-refresh\")\r\n }\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n\r\n response.json().then(async applist => {\r\n setApplist(applist);\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n const getapp = (id) => {\r\n fetch(\"getapp\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n props.changeComponent(<Application appData={data} changeComponent={props.changeComponent} backButton={me} />)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const filterTable = (event) => {\r\n const target = event.target;\r\n const value = target.value.toLowerCase();\r\n $(\"#myTable tr\").filter(function () {\r\n var keywords = value.split(\" \");\r\n\r\n for (let index = 0; index < keywords.length; ++index)\r\n if (removeTurkcLow($(this).text()).indexOf(removeTurkcLow(keywords[index])) == -1)\r\n return $(this).toggle(false);\r\n return $(this).toggle(true);\r\n });\r\n }\r\n\r\n const sortList = (fildname) => {\r\n sortField = fildname;\r\n var temp = [...applist]; //clone the array to update the component on setApplist\r\n temp.sort(myCompare);\r\n setApplist(temp);\r\n }\r\n\r\n\r\n if (applist == null)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n\r\n\r\n if (applist.length == 0)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n\r\n\r\n\r\n return (<div>\r\n <div>\r\n <div className=\"row\">\r\n <div className=\"col-12 pb-2\">\r\n <h5 className=\"text-primary\">Ä°ade Edilen BaÅŸvurular</h5 >\r\n </div>\r\n </div>\r\n <div className=\"row \" >\r\n <div className=\"col-12 col-md-3\"></div>\r\n <div className=\"col-12 col-md-6\">\r\n <input className=\"form-control form-control-sm\" id=\"myInput\" type=\"text\" placeholder=\"Arama\" onKeyUp={filterTable} />\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n <div className=\"row \" id=\"havalepanel\">\r\n\r\n\r\n <div className=\"col-12\">\r\n <table className='table table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead>\r\n <tr >\r\n\r\n\r\n <th className='text-start'>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"appID\")}> BaÅŸvuru No </button>\r\n </th>\r\n <th className='text-start'>\r\n Taşınmaz Sahibi\r\n </th>\r\n <th className='text-start'>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"basvuruYapan\")}> BaÅŸvuru Yapan </button>\r\n\r\n </th>\r\n <th className='text-start'>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"basvuruTipi\")}> BaÅŸvuru Tipi </button>\r\n\r\n </th>\r\n <th className='text-start'>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"mevki\")}> Mevki </button>\r\n\r\n </th>\r\n <th className='text-start'>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"mahalle\")}> Mahalle </button>\r\n\r\n </th>\r\n <th className='text-start'>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"ada\")}> Ada Parsel </button>\r\n\r\n </th>\r\n <th className='text-start'>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"basvuruTarihi\")}> BaÅŸvuru Tarihi </button>\r\n\r\n </th>\r\n {/*<th className='text-start'>*/}\r\n {/* <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"iadeTarihi\")}> Iade Tarihi </button>*/}\r\n {/*</th>*/}\r\n <th className='text-start'>\r\n {/* <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"duzeltmeSayi\")}> Duzeltme Sayısı </button>*/}\r\n </th>\r\n <th className='text-start'></th>\r\n\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable \" className=\"text-center\">\r\n {applist.map((rec, idx) => <tr>\r\n <td> {rec.id} </td>\r\n <td>\r\n {rec.arsaSahibi}\r\n </td>\r\n <td> \r\n {rec.basvuruYapan}\r\n </td>\r\n <td> {rec.basvuruTipi}\r\n </td>\r\n <td> {rec.mevki} </td>\r\n <td> {rec.mahalle} </td>\r\n <td> {rec.ada}</td>\r\n <td> {rec.basvuruTarihi}</td>\r\n {/* <td> {rec.iadeTarihi}</td>*/}\r\n <td>\r\n <a href=\"#\" onClick={() => getapp(rec.id)} className=\" text-decoration-none \"><i className=\"fa fa-edit align-middle\" style={{ \"font-size\": \"24px\" }}></i></a>\r\n\r\n </td></tr>\r\n )}\r\n\r\n </tbody>\r\n </table>\r\n </div>\r\n </div >\r\n </div >\r\n </div>\r\n );\r\n\r\n\r\n}\r\n\r\n\r\n\r\n","import React, { Component } from 'react';\r\nimport { Link } from \"react-router-dom\";\r\nimport SideBar from '../Header/SideBar.js';\r\nimport SideBarComponent from '../Header/SideBarComponent.js';\r\nimport Application from \"./Application.js\"\r\n\r\n\r\nimport $ from 'jquery';\r\n\r\nexport default class SharedApplicationList extends Component {\r\n sortField = \"\";\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n status: \"init\", applist: [], colnames: [\"id\", \"basvuruTarihi\", \"basvuruTipi\", \"ada\", \"mahalle\", \"mevki\", \"basvuruYapan\"]\r\n };\r\n this.getApplicationList = this.getApplicationList.bind(this);\r\n this.refreshList = this.refreshList.bind(this)\r\n \r\n this.filterTable = this.filterTable.bind(this)\r\n this.handleSablonChange = this.handleSablonChange.bind(this)\r\n this.renderToList = this.renderToList.bind(this)\r\n this.changeComponent = props.changeComponent;\r\n this.filter = null;\r\n this.mysablons = null;\r\n this.view = props.view;\r\n }\r\n\r\n refreshList(data) {\r\n this.setState({\r\n status: \"init\", applist: data\r\n })\r\n }\r\n componentDidMount() {\r\n this.getApplicationList();\r\n }\r\n\r\n myCompare = (a, b) => {\r\n if (a[this.sortField] < b[this.sortField]) {\r\n return -1;\r\n }\r\n if (a[this.sortField] > b[this.sortField]) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n myCompareBasvuruTipi = (a, b) => {\r\n var s1 = a[this.sortField];\r\n var s2 = b[this.sortField];\r\n if (s1 == null) return -1;\r\n if (s2 == null) return 1;\r\n\r\n var sa = s1.replaceAll('\"name\":', \"\").replaceAll(']', \"\").replaceAll('[', \"\").replaceAll('{', \"\").replaceAll('}', \"\").replaceAll('\"', \"\");\r\n var sb = s2.replaceAll('\"name\":', \"\").replaceAll(']', \"\").replaceAll('[', \"\").replaceAll('{', \"\").replaceAll('}', \"\").replaceAll('\"', \"\");\r\n\r\n if (sa < sb) {\r\n return -1;\r\n }\r\n if (sa > sb) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n\r\n sortList = (fildname) => {\r\n this.sortField = fildname;\r\n var temp = this.state.applist;\r\n if (fildname.toUpperCase() == \"BASVURUTIPI\")\r\n temp.sort(this.myCompareBasvuruTipi);\r\n else\r\n temp.sort(this.myCompare);\r\n this.setState({ applist: temp, status: \"done\" });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n showApplication(id) {\r\n this.setState({ applist: this.state.applist, status: \"appdetails\", appid: id });\r\n }\r\n\r\n\r\n getApplicationList() {\r\n fetch(\"getmysharedapp\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n var refreshButton = document.getElementById(\"refreshButton\");\r\n if (refreshButton != null && refreshButton.classList.contains(\"fa-refresh\") == false) {\r\n refreshButton.classList.remove(\"spinner-grow\", \"spinner-grow-sm\")\r\n refreshButton.classList.add(\"fa\", \"fa-refresh\")\r\n }\r\n if (!response.ok) {\r\n const error = response.statusText;\r\n console.log(error);\r\n this.setState({ status: response.statusText })\r\n }\r\n else {\r\n response.json().then(async data => {\r\n this.setState({ applist: data, status: \"done\" });\r\n\r\n\r\n });\r\n }\r\n });\r\n }\r\n showApplication(id) {\r\n this.setState({ applist: this.state.applist, status: \"appdetails\", appid: id });\r\n }\r\n\r\n filterTable(event) {\r\n const target = event.target;\r\n const value = target.value.toLowerCase();\r\n $(\"#myTable tr\").filter(function () {\r\n var keywords = value.split(\" \");\r\n for (let index = 0; index < keywords.length; ++index)\r\n if ($(this).text().toLowerCase().indexOf(keywords[index]) == -1)\r\n return $(this).toggle(false);\r\n return $(this).toggle(true);\r\n });\r\n }\r\n passFilter(rec, filter) {\r\n if (filter == null || filter.length == 0) return true;\r\n\r\n var conds = filter.split(\",\");\r\n if (conds == null) return true;\r\n for (var i = 0; i < conds.length; i++) {\r\n if (conds[i].includes('>')) {\r\n var c = conds[i].split(\">\");\r\n if (rec[c[0]] != null && !(parseInt(rec[c[0]]) > parseInt(c[1]))) return false;\r\n }\r\n if (conds[i].includes('<')) {\r\n var c = conds[i].split(\"<\");\r\n if (rec[c[0]] != null && !(parseInt(rec[c[0]]) < parseInt(c[1]))) return false;\r\n }\r\n if (conds[i].includes('=')) {\r\n var c = conds[i].split(\"=\");\r\n if (rec[c[0]] != null && !(rec[c[0]] == c[1]))\r\n return false;\r\n }\r\n\r\n }\r\n\r\n return true;\r\n }\r\n\r\n\r\n filterColumn = (event) => {\r\n const target = event.target;\r\n const value = target.value.toLowerCase();\r\n var cl = this.state.colnames;\r\n $(\"#myTable tr\").filter(function () {\r\n for (var c = 0; c < cl.length; c++) {\r\n if (document.getElementById(cl[c]).value != null && document.getElementById(cl[c]).value.length > 0)\r\n if ($(this).children().eq(c).text().toLowerCase().indexOf(document.getElementById(cl[c]).value) == -1)\r\n return $(this).toggle(false);\r\n }\r\n return $(this).toggle(true);\r\n });\r\n }\r\n\r\n\r\n handleSablonChange() {\r\n var sab = document.getElementById(\"sablonSelect\").value;\r\n var data = this.mysablons[sab];\r\n if (data.filter != null)\r\n this.filter = data.filter;\r\n if (data.colNames != null && data.colNames.length > 0) {\r\n var d = data.colNames.replaceAll('\"', \"\");\r\n if (d.length > 0)\r\n this.setState({ ...this.state, colnames: d.split(\",\") });\r\n }\r\n }\r\n\r\n renderToList(tabledata) {\r\n var mytable =\r\n <div className=\"mt-1\">\r\n <div className=\"mt-1 row bg-light rounded\">\r\n <div className=\"col-3 text-end pt-2\">\r\n </div>\r\n <div className=\"col-6 justify-content-center p-2\">\r\n <input className=\"form-control form-control-sm \" id=\"myInput\" type=\"text\" placeholder=\"Arama...\" onKeyUp={this.filterTable} />\r\n </div>\r\n\r\n <div className=\"col-3 text-end pt-2\">\r\n <a onClick={this.getApplicationList} href=\"#\" className=\"text-primary\"> <i className=\"fa fa-refresh\" id=\"refreshButton\"></i></a>\r\n </div>\r\n </div>\r\n <table className='table mt-3 table-striped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead>\r\n <tr>\r\n {this.state.colnames.map(c =>\r\n <th> <div><button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => this.sortList(c)}> {c.toUpperCase()}</button></div>\r\n <div>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id={c} placeholder={c} name={c} onChange={this.filterColumn} />\r\n </div></th>\r\n )}\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n this.passFilter(apprec, this.filter) == false ? \"\" :\r\n <tr key={apprec.id}>\r\n {this.state.colnames.map(c => {\r\n if (c == \"basvuruTipi\" && apprec[c] != null) {\r\n return <td>{apprec[c].replaceAll('\"name\":', \"\").replaceAll(']', \"\").replaceAll('[', \"\").replaceAll('{', \"\").replaceAll('}', \"\").replaceAll('\"', \"\")}</td>\r\n }\r\n if (apprec[c] != null)\r\n return <td name={c}>{apprec[c]}</td>\r\n\r\n var appDData = JSON.parse(apprec.appData);\r\n if (appDData!=null && appDData[c] != null)\r\n return <td name={c}>{appDData[c]}</td>\r\n return <td></td>\r\n })}\r\n <td>\r\n {apprec.removed != true && <a href=\"#\" onClick={() => { this.changeComponent(<Application key={apprec.id} appData={apprec} changeComponent={this.changeComponent} backButton={<SharedApplicationList changeComponent={this.changeComponent} />} />) }} className=\" text-decoration-none \"><i className=\"fa fa-edit align-middle\" style={{ \"font-size\": \"24px\" }}></i></a>}\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n\r\n render() {\r\n var tabledata = <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n\r\n if (this.state.status != \"init\")\r\n tabledata = <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n\r\n if (this.state.applist.length > 0) {\r\n if (this.view == \"card\")\r\n tabledata = this.renderToCards(this.state.applist);\r\n else\r\n tabledata = this.renderToList(this.state.applist);\r\n }\r\n\r\n\r\n\r\n return <div>\r\n\r\n <div >\r\n <div className=\" align-items-center justify-content-center p-1\" >\r\n {tabledata}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n }\r\n\r\n};\r\n","import React, { Component, useEffect, useState } from 'react';\r\nimport { Link } from \"react-router-dom\";\r\nimport { Navigate } from 'react-router-dom';\r\nimport $ from 'jquery';\r\nimport Register from \"./Register.js\";\r\nimport { useGlobalState, logout, removeTurkcLow, showErrorMessage, isEmpty, sendget, setHtmlTag } from '../GlobalState.js';\r\nimport SideBarComponent from '../Header/SideBarComponent.js';\r\nimport UserWorkLoad from './UserWorkLoad.js';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport UserDetails from './UserDetails.js';\r\n\r\n\r\nexport default function UserList(props) {\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [userlist, setUserlist] = useState([]);\r\n const [denetimPermList, setDenetimPermList] = useState([]);\r\n const [sortDirection, setSortDirection] = useState({});\r\n const [roleList, setroleList] = useState([]);\r\n const [showKaraliste, setShowKaraListe] = useState(false);\r\n\r\n useEffect(() => {\r\n fetchRoles()\r\n }, [])\r\n\r\n\r\n const filterTable = (event) => {\r\n const target = event.target;\r\n const value = target.value.toLowerCase();\r\n $(\"#myTable tr\").filter(function () {\r\n var keywords = value.split(\" \");\r\n for (let index = 0; index < keywords.length; ++index)\r\n if (removeTurkcLow($(this).text()).indexOf(removeTurkcLow(keywords[index])) == -1)\r\n return $(this).toggle(false);\r\n return $(this).toggle(true);\r\n });\r\n setHtmlTag(\"usercount\",$(\"#myTable tr:visible\").length + \" kullanıcı\")\r\n \r\n }\r\n\r\n var sortField = \"\";\r\n\r\n const myCompare = (a, b) => {\r\n var av = a[sortField];\r\n var bv = b[sortField];\r\n var ret = 1;\r\n if (sortDirection[sortField] == \"ZA\")\r\n ret = -1;\r\n\r\n if (av == null && bv != null)\r\n return -1 * ret;\r\n if (av != null && bv == null)\r\n return 1 * ret;\r\n if (av == null && bv == null)\r\n return 0;\r\n\r\n if (typeof av === 'string' || av instanceof String)\r\n if (typeof bv === 'string' || bv instanceof String)\r\n return av.localeCompare(bv) * ret\r\n\r\n if (av < bv) {\r\n return -1 * ret;\r\n }\r\n if (av > bv) {\r\n return 1 * ret;\r\n }\r\n return 0;\r\n }\r\n\r\n const sortList = (fildname) => {\r\n sortField = fildname;\r\n if (sortDirection[sortField] == null || sortDirection[sortField] == \"ZA\") {\r\n sortDirection[sortField] = \"AZ\";\r\n }\r\n else {\r\n sortDirection[sortField] = \"ZA\";\r\n }\r\n\r\n var temp = [...userlist]; //clone the array to update the component on setApplist\r\n temp.sort(myCompare);\r\n setUserlist(temp);\r\n }\r\n\r\n\r\n\r\n const fetchRoles = () => {\r\n fetch(\"getrolelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n showErrorMessage(response.statusText)\r\n })\r\n }\r\n else {\r\n response.json().then(value => {\r\n setroleList(value);\r\n getdenetimperms()\r\n })\r\n }\r\n });\r\n\r\n }\r\n\r\n const getdenetimperms = () => {\r\n fetch(\"getdenetimperms\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(\"\")\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n showErrorMessage(response.statusText)\r\n })\r\n }\r\n\r\n else {\r\n response.json().then(value => {\r\n setDenetimPermList(value);\r\n getUserList();\r\n })\r\n\r\n }\r\n });\r\n }\r\n\r\n const deleteUser = (username) => {\r\n if (window.confirm(\"Kullanıcıyı Silmek Beklenmeyen Hatalara Sebep Olabilir. Silmek IstediÄŸinzden Emin misiniz?\") == false)\r\n return;\r\n fetch(\"deleteuser\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(username)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n if (response.status == 401) {\r\n logout();\r\n }\r\n else showErrorMessage(response.statusText);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setUserlist(data);\r\n\r\n });\r\n }\r\n });\r\n }\r\n\r\n const getUserList = () => {\r\n sendget(\"userlist\", \"loadingSpinner\", (response) => {\r\n response.json().then(async data => {\r\n setUserlist(data);\r\n });\r\n })\r\n\r\n }\r\n\r\n\r\n if (userlist != null)\r\n for (var u of userlist) {\r\n u.yetkiler = denetimPermList.filter(r => r.creatorUserName == u.userName).map(r => r.name).join();\r\n }\r\n\r\n\r\n\r\n const setKaraListeDurum = (e) => {\r\n var c = e.target.checked;\r\n setShowKaraListe(c);\r\n\r\n }\r\n\r\n const getRoleName = (rec) => {\r\n if (rec.role == null)\r\n return \"\";\r\n var role = roleList.find(r => r.id == rec.role);\r\n if (role != null)\r\n return role.name;\r\n }\r\n\r\n const filterColumn = (event) => {\r\n const target = event.target;\r\n var cl = [\"userName\", \"name\", \"family\", \"telefon\", \"tc\", \"email\", \"id\", \"role\", \"yetkiler\", \"edveletConfirmed\"]\r\n $(\"#myTable tr\").filter(function () {\r\n for (var c = 0; c < cl.length; c++) {\r\n var value = document.getElementById(cl[c]).value\r\n if (isEmpty(value) || value == \"-\")\r\n continue;\r\n var res = true;\r\n if (value.startsWith(\"-\")) {\r\n res = false;\r\n value = value.substr(1);\r\n }\r\n if (res == true) {\r\n if (removeTurkcLow($(this).children().eq(c).text()).indexOf(removeTurkcLow(value)) == -1)\r\n return $(this).toggle(false);\r\n }\r\n else {\r\n if (removeTurkcLow($(this).children().eq(c).text()).indexOf(removeTurkcLow(value)) != -1)\r\n return $(this).toggle(false);\r\n }\r\n\r\n }\r\n return $(this).toggle(true);\r\n });\r\n setHtmlTag((\"usercount\", $(\"#myTable tr:visible\").length + \" kullanıcı\"));\r\n \r\n\r\n }\r\n\r\n\r\n const renderAppTable = (data) => {\r\n var dataset = data.filter(x => showKaraliste == false || x.karaliste == true);\r\n var mytable =\r\n <div>\r\n \r\n {data.length > 0 &&\r\n <div className=\"table-responsive mainpagescroll\" style={{ \"height\": \"82vh\" }}>\r\n <table className='table table-vdstriped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead className=\"text-center\" style={{ \"position\": \"sticky\", \"top\": 0, \"z-index\": \"1\" }} className=\"bg-light\">\r\n <tr>\r\n\r\n <th>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"userName\")}>K.Adı </button>\r\n <div>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"userName\" name=\"userName\" onChange={filterColumn} />\r\n </div>\r\n </th>\r\n <th>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"name\")}>Adı</button>\r\n <div>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"name\" name=\"name\" onChange={filterColumn} />\r\n </div>\r\n </th>\r\n <th>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"family\")}>Soyadı</button>\r\n <div>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"family\" name=\"family\" onChange={filterColumn} />\r\n </div>\r\n </th>\r\n <th>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"tel\")}>Telefon</button>\r\n <div>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"telefon\" name=\"telefon\" onChange={filterColumn} />\r\n </div>\r\n </th>\r\n <th>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"tc\")}>TC</button>\r\n <div>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"tc\" name=\"tc\" onChange={filterColumn} />\r\n </div>\r\n </th>\r\n <th>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"email\")}>Email</button>\r\n <div>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"email\" name=\"email\" onChange={filterColumn} />\r\n </div>\r\n </th>\r\n <th>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"id\")}>Kodu</button>\r\n <div>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"id\" name=\"id\" onChange={filterColumn} />\r\n </div>\r\n </th>\r\n <th>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"role\")}>Rol</button>\r\n <div>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"role\" name=\"role\" onChange={filterColumn} />\r\n </div>\r\n </th>\r\n <th>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"yetkiler\")}>Yetkiler</button>\r\n <div>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"yetkiler\" name=\"yetkiler\" onChange={filterColumn} />\r\n </div>\r\n </th>\r\n <th>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"regDate\")}>Kayıt</button>\r\n <div>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"edveletConfirmed\" name=\"edveletConfirmed\" onChange={filterColumn} />\r\n </div>\r\n </th>\r\n\r\n <th id=\"usercount\"> {dataset.length} kullanıcı</th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {dataset.map(apprec =>\r\n <tr >\r\n {/*<td width=\"32px\"><img className=\"rounded-circle\" style={{ width: \"32px\", height: \"32px\" }} src={\"/getuserpic?user=\" + apprec.userName} /></td>*/}\r\n <td>{apprec.userName}</td>\r\n <td>{apprec.name}</td>\r\n <td>{apprec.family}</td>\r\n <td>{apprec.tel}</td>\r\n <td>{apprec.tc}</td>\r\n <td>{apprec.email}</td>\r\n <td>{apprec.id}</td>\r\n <td>{getRoleName(apprec)}</td>\r\n <td>{apprec.yetkiler}</td>\r\n <td>{apprec.regDate}</td>\r\n <td width=\"64px\">\r\n <a href=\"#\" onClick={() => { props.changeComponent(<UserDetails rec={apprec} changeComponent={props.changeComponent} backButton={<UserList changeComponent={props.changeComponent} />} />) }} className=\" text-decoration-none material-icons align-middle\" style={{ \"font-size\": \"20px\" }}>edit</a>\r\n \r\n {role.indexOf(UserPermConstants.Kullanici_Silme) > -1 ? <a href=\"/#\" onClick={() => { deleteUser(apprec.userName) }} className=\"text-decoration-none material-icons align-middle\" style={{ \"font-size\": \"20px\" }}>delete</a> : \"\"}\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>}\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n if (role.indexOf(UserPermConstants.Kullanici_Listesini_Gorme_Profil_Bilgilerini) === -1) {\r\n return <Navigate to='/' />\r\n }\r\n\r\n var leftpanelitems = [\r\n { name: \"Kullanıcılar\", target: <span>{renderAppTable(userlist)}</span>, icon: \"fa fa-users\" },\r\n { name: \"Ä°ÅŸ Yuku\", target: <UserWorkLoad />, icon: \"fa fa-bar-chart\" }]\r\n\r\n if (role.indexOf(UserPermConstants.Yeni_Kullanici_Kaydetme) > -1) {\r\n leftpanelitems.push({ name: \"Yeni Kullanıcı\", target: <Register />, icon: \"fa fa-user-plus\" });\r\n }\r\n\r\n\r\n\r\n return <div >\r\n\r\n <div >\r\n <div className=\"row\">\r\n <div className=\"col-4\">\r\n <input class=\"form-check-input me-1\" type=\"checkbox\" onChange={setKaraListeDurum} />\r\n Karaliste'deki kullanıcıları göster\r\n </div>\r\n <div className=\"col-4\">\r\n <input className=\"form-control form-control-sm\" type=\"text\" placeholder=\"Arama\" onKeyUp={filterTable} />\r\n </div>\r\n </div>\r\n <div className=\"w-100 mt-1 d-flex align-items-center justify-content-center\" >\r\n <div className=\"spinner-border spinner-border-sm\" hidden id=\"loadingSpinner\"></div>\r\n </div>\r\n {renderAppTable(userlist)}\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { ajaxFail, showConfirmMessage, showSuccessMessage } from '../GlobalState.js';\r\n\r\nexport default function AppGroupSetting(props) {\r\n var postdata = {};\r\n const [listData, setListData] = useState(null);\r\n const [options, setSurecData] = useState([]);\r\n\r\n const multiselectRef = React.createRef();\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value.trim();\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n const removeRecord = (id) => {\r\n showConfirmMessage(id + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removeappgroup\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n }));\r\n }\r\n\r\n\r\n\r\n const submitUpdateRecord = (rec) => {\r\n\r\n fetch(\"updateappgroup\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı\")\r\n }\r\n });\r\n }\r\n\r\n const fetchList = () => {\r\n\r\n fetch(\"getappgrouplist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const fetchsureclist = () => {\r\n\r\n fetch(\"sureclist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setSurecData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const Add = () => {\r\n fetch(\"addappgroup\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(postdata)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n document.getElementById(\"name\").value = \"\";\r\n fetchList();\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value;\r\n }\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n\r\n var mytable = <div className=\"rounded-3 mb-2 ps-2\">\r\n\r\n\r\n\r\n {tabledata.map(apprec =>\r\n < div className=\"row rounded-3 pt-2 pb-2\" key={apprec.id}>\r\n <div className=\"col-4\" >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" name=\"name\" defaultValue={apprec.name} onChange={(e) => updateRecord(apprec, e)} />\r\n </div>\r\n <div className=\"col-6\" >\r\n <Multiselect className=\"p-0 ps-1 form-control-sm bg-white\"\r\n options={options}\r\n emptyRecordMsg=\"BaÅŸka BaÅŸvuru Durmu Yok\"\r\n ref={multiselectRef}\r\n isObject={true}\r\n onSelect={(selectedList, selectedItem) => { apprec.appState = selectedList.map(x => x.id).join() }}\r\n onRemove={(selectedList, selectedItem) => { apprec.appState = selectedList.map(x => x.id).join() }}\r\n selectedValues={apprec.appState != null ? options.filter(x=>apprec.appState.split(',').includes(x.id+\"\")==true) : []}\r\n displayValue=\"name\" \r\n />\r\n </div>\r\n <div className=\"col-2 text-end\" >\r\n <button onClick={() => submitUpdateRecord(apprec)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Güncelle</button> \r\n <button onClick={() => removeRecord(apprec.id)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Sil</button>\r\n </div>\r\n </div>\r\n )}\r\n <div className=\"row rounded-3 mb-2 pb-2\">\r\n <div className=\"col-4\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"name\" placeholder=\"Yeni Grup\" name=\"name\" onChange={handleInputChange} defaultValue=\"\" />\r\n </div>\r\n <div className=\"col-8 text-end\"> <button onClick={Add} className=\"btn btn-sm btn-link text-decoration-none m-0 p-0\">Ekle</button></div>\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n return (mytable);\r\n }\r\n\r\n \r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n fetchsureclist();\r\n\r\n }, [])\r\n\r\n\r\n var listTable = \"\";\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n else\r\n listTable = renderTable([]);\r\n\r\n return (\r\n <div className=\"bg-light \">\r\n <h5>BaÅŸvuru Grupları</h5>\r\n {listTable}\r\n </div>\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Application from \"./Application.js\"\r\nimport { ajaxFail, removeTurkcLow, calcBusinessDays, isEmpty } from '../GlobalState.js';\r\nimport $ from 'jquery';\r\n\r\nexport default function DelayedApplications(props) {\r\n const surebg = [\"#c9f7f5\", \"#e1f0ff\", \"#fff4de\", \"#ffe2e5\"]\r\n const suretxt = [\"text-info\", \"text-primary\", \"text-warning\", \"text-danger\"]\r\n const [applist, setApplist] = useState(null);\r\n const [denetimlist, setDenetimlist] = useState([]);\r\n var sortField = null;\r\n const me = <DelayedApplications changeComponent={props.changeComponent}/>\r\n useEffect(() => {\r\n fetchDenetimList();\r\n\r\n }, [])\r\n\r\n const myCompare = (a, b) => {\r\n if (a[sortField] < b[sortField]) {\r\n return -1;\r\n }\r\n if (a[sortField] > b[sortField]) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n \r\n\r\n\r\n const fetchDenetimList = () => {\r\n var refreshButton = document.getElementById(\"refreshButton\");\r\n if (refreshButton != null) {\r\n refreshButton.classList.remove(\"fa\", \"fa-refresh\")\r\n refreshButton.classList.add(\"spinner-grow\", \"spinner-grow-sm\")\r\n }\r\n\r\n fetch(\"denetimlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setDenetimlist(value)\r\n fetchlist();\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const getColorIdx = (diffDays, rec) => {\r\n var d = denetimlist.find(x => x.id == rec.denetimID);\r\n var i = diffDays > d * 2 / 3 ? 0 : diffDays > d / 3 ? 1 : diffDays > 0 ? 2 : 3;\r\n return i;\r\n }\r\n\r\n const getVerilenSure = (rec) => {\r\n\r\n var d = denetimlist.find(x => x.id == rec.denetimID);\r\n if (d == null) return \"\";\r\n d = d.deadline;\r\n if (d == null) return \"\";\r\n return d;\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n const getDenetimSure = (rec) => {\r\n\r\n var d = denetimlist.find(x => x.id == rec.denetimID);\r\n if (d == null || rec.deliverDate==null) return 0;\r\n\r\n\r\n d = d.deadline;\r\n if (d == null) return 0;\r\n\r\n //completed is the deadline refrence\r\n\r\n var havaleDate = rec.mappingDate;\r\n var deliverdate = rec.deliverDate.split(\" \")[0].replaceAll(\".\", \"-\") + \" 12:00:00\";\r\n var h = new Date(deliverdate);\r\n havaleDate = new Date(havaleDate.split(\" \")[0].replaceAll(\".\", \"-\") + \" 12:00:00\");\r\n if (h < havaleDate)\r\n h = havaleDate;\r\n //duzeltmeIste is sonDuzeltmeTarihi\r\n if (isEmpty(rec.duzeltmeIste) == false && rec.duzeltmeIste.includes(\" \")) {\r\n var sonduzeltme = new Date(rec.duzeltmeIste.split(\" \")[0].replaceAll(\".\", \"-\") + \" 12:00:00\");\r\n if (h < sonduzeltme)\r\n h = sonduzeltme;\r\n }\r\n\r\n\r\n\r\n var diffDays = d - calcBusinessDays(new Date(Date.now()), h)\r\n return diffDays\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n\r\n const fetchlist = (e) => {\r\n fetch(\"delayedcontrollist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n\r\n var refreshButton = document.getElementById(\"refreshButton\");\r\n if (refreshButton != null && refreshButton.classList.contains(\"fa-refresh\") == false) {\r\n refreshButton.classList.remove(\"spinner-grow\", \"spinner-grow-sm\")\r\n refreshButton.classList.add(\"fa\", \"fa-refresh\")\r\n }\r\n\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setApplist(data)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n const getapp = (id) => {\r\n fetch(\"getapp\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n props.changeComponent(<Application appData={data} changeComponent={props.changeComponent} backButton={me} />)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const filterTable = (event) => {\r\n const target = event.target;\r\n const value = target.value.toLowerCase();\r\n $(\"#myTable tr\").filter(function () {\r\n var keywords = value.split(\" \");\r\n\r\n for (let index = 0; index < keywords.length; ++index)\r\n if (removeTurkcLow($(this).text()).indexOf(removeTurkcLow(keywords[index])) == -1)\r\n return $(this).toggle(false);\r\n return $(this).toggle(true);\r\n });\r\n }\r\n\r\n const sortList = (fildname) => {\r\n sortField = fildname;\r\n var temp = [...applist]; //clone the array to update the component on setApplist\r\n temp.sort(myCompare);\r\n setApplist(temp);\r\n }\r\n\r\n\r\n if (applist == null)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n\r\n\r\n if (applist.length == 0)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n\r\n applist.forEach(x => x.gecikme = getDenetimSure(x));\r\n applist.forEach(x => x.verilesure = getVerilenSure(x));\r\n\r\n return (<div>\r\n <div>\r\n <div className=\"row\">\r\n <div className=\"col-12 pb-2\">\r\n <h5 className=\"text-primary\">Geciken BaÅŸvurular</h5 >\r\n </div>\r\n </div>\r\n <div className=\"row \" >\r\n <div className=\"col-12 col-md-3\"></div>\r\n <div className=\"col-12 col-md-6\">\r\n <input className=\"form-control form-control-sm\" id=\"myInput\" type=\"text\" placeholder=\"Arama\" onKeyUp={filterTable} />\r\n\r\n </div>\r\n\r\n <div className=\"col-12 col-md-3 text-end pt-2\">\r\n <a onClick={fetchDenetimList} href=\"#\" className=\"text-primary\"> <i className=\"fa fa-refresh\" id=\"refreshButton\"></i></a>\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n\r\n\r\n <div className=\"col-12\">\r\n <table className='table table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead>\r\n <tr >\r\n\r\n <th className='text-start'>\r\n Sıra\r\n </th>\r\n <th className='text-start'>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"appID\")}> BaÅŸvuru No </button>\r\n </th>\r\n <th className='text-start'>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"userName\")}> Kontrolör </button>\r\n\r\n </th>\r\n <th className='text-start'>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"denetimID\")}> BaÅŸvuru Tipi </button>\r\n\r\n </th>\r\n <th className='text-start'>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"verilesure\")}> Belirlenen Süre </button>\r\n\r\n </th>\r\n <th className='text-start'>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"mappingDate\")}> Havale </button>\r\n\r\n </th>\r\n <th className='text-start'>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"message\")}> BaÅŸvuru Durumu </button>\r\n\r\n </th>\r\n <th className='text-start'>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"completed\")}> Sıraya Girme Tarihi </button>\r\n\r\n </th>\r\n <th className='text-start'>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"gecikme\")}> Geciken Süre </button>\r\n\r\n </th>\r\n <th className='text-start'></th>\r\n\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {applist.filter(x => x.gecikme<0).map((rec, idx) => <tr>\r\n <td> {idx + 1}</td>\r\n <td> {rec.appID} </td><td>\r\n {/* <img class=\"rounded-circle\" style={{ width: \"32px\", height: \"32px\" }} src={\"/getuserpic?user=\" + rec.userName} /> */}{rec.userName}</td>\r\n <td> {denetimlist.find(x => x.id == rec.denetimID).name}</td> \r\n <td> {rec.verilesure}\r\n </td> \r\n <td> {rec.mappingDate} </td>\r\n <td> {rec.message} </td>\r\n <td> {rec.deliverDate} </td>\r\n {/*<td> {rec.completed == null ? \"\" : rec.completed}</td>*/}\r\n <td>\r\n <div className={\"ps-3 pe-3 p-2 text-center fw-bolder \" + suretxt[getColorIdx(rec.gecikme, rec)]} style={{ \"background-color\": surebg[getColorIdx(rec.gecikme, rec)], \"border-radius\": 5 }}>{rec.gecikme}</div>\r\n\r\n \r\n\r\n </td>\r\n <td>\r\n <a href=\"#\" onClick={() => getapp(rec.appID)} className=\" text-decoration-none \"><i className=\"fa fa-edit align-middle\" style={{ \"font-size\": \"24px\" }}></i></a>\r\n\r\n </td></tr>\r\n )}\r\n\r\n </tbody>\r\n </table>\r\n </div>\r\n </div >\r\n </div >\r\n </div>\r\n );\r\n\r\n\r\n}\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport Application from \"./Application.js\"\r\nimport $ from 'jquery';\r\nimport { ajaxFail, removeTurkcLow, showErrorMessage } from '../GlobalState.js';\r\n\r\nexport default function TakipEdilenler(props) {\r\n const [takiplist, setTakiplist] = useState(null);\r\n\r\n useEffect(() => {\r\n fetchTakipList();\r\n\r\n }, [])\r\n\r\n const fetchTakipList = (e) => {\r\n\r\n var refreshButton = document.getElementById(\"refreshButton\");\r\n if (refreshButton != null) {\r\n refreshButton.classList.remove(\"fa\", \"fa-refresh\")\r\n refreshButton.classList.add(\"spinner-grow\", \"spinner-grow-sm\")\r\n }\r\n\r\n fetch(\"takipedilenbasvurular\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n\r\n var refreshButton = document.getElementById(\"refreshButton\");\r\n if (refreshButton != null && refreshButton.classList.contains(\"fa-refresh\") == false) {\r\n refreshButton.classList.remove(\"spinner-grow\", \"spinner-grow-sm\")\r\n refreshButton.classList.add(\"fa\", \"fa-refresh\")\r\n }\r\n\r\n if (!response.ok) {\r\n response.text().then(async data => {\r\n showErrorMessage(data);\r\n setTakiplist([])\r\n });\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setTakiplist(data)\r\n });\r\n }\r\n });\r\n }\r\n\r\n const filterTable = (event) => {\r\n const target = event.target;\r\n const value = target.value.toLowerCase();\r\n $(\"#myTable tr\").filter(function () {\r\n var keywords = value.split(\" \");\r\n for (let index = 0; index < keywords.length; ++index)\r\n if (removeTurkcLow($(this).text()).indexOf(removeTurkcLow(keywords[index])) == -1)\r\n return $(this).toggle(false);\r\n return $(this).toggle(true);\r\n });\r\n }\r\n\r\n\r\n\r\n const renderToList = () => {\r\n\r\n if (takiplist == null )\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n\r\n\r\n if (takiplist.length == 0)\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n\r\n var mytable =\r\n <div className=\"mt-1\">\r\n <div className=\"mt-1 p-2 row\" style={{ \"background-color\": \"#fff8dd\" }}>\r\n <div className=\"col-12 col-md-4\">\r\n </div>\r\n <div className=\"col-12 col-md-4\">\r\n Arama\r\n <input className=\"form-control form-control-sm\" id=\"myInput\" type=\"text\" placeholder=\"\" onKeyUp={filterTable} />\r\n </div>\r\n <div className=\"col-12 col-md-4 text-end pt-2\">\r\n <a onClick={fetchTakipList} href=\"#\" className=\"text-primary\"> <i className=\"fa fa-refresh\" id=\"refreshButton\"></i></a>\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"table-responsive\">\r\n <table className='table mt-3 table-vdstriped' aria-labelledby=\"tabelLabel\">\r\n <tbody id=\"myTable\">\r\n {takiplist.map(apprec =>\r\n <tr key={apprec.id} className=\"p-1\">\r\n <td>\r\n {apprec.id}\r\n </td>\r\n <td>\r\n {apprec.basvuruTipi}\r\n </td>\r\n <td>\r\n {apprec.mevki}\r\n </td>\r\n <td>\r\n {apprec.mahalle}\r\n </td>\r\n <td>\r\n {apprec.ada}\r\n </td>\r\n <td>\r\n {apprec.basvuruYapan}\r\n </td>\r\n <td>\r\n {apprec.arsaSahibi}\r\n </td>\r\n <td>\r\n {apprec.basvuruTarihi}\r\n </td>\r\n <td>\r\n <div style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }}>\r\n {apprec.removed != true && <a href=\"#\" onClick={() => { props.changeComponent(<Application key={apprec.id} appData={apprec} changeComponent={props.changeComponent} backButton={<TakipEdilenler changeComponent={props.changeComponent} />} />) }} className=\" text-decoration-none \"><i className=\"fa fa-edit align-middle\" style={{ \"font-size\": \"24px\" }}></i></a>}\r\n </div>\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n return (\r\n <div>\r\n {renderToList()}\r\n </div>\r\n );\r\n\r\n\r\n}\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, chartColors, exportExcel, sendpost } from '../GlobalState.js';\r\nimport ReactDOM from 'react-dom';\r\nexport default function SurecSta(props) {\r\n\r\n const [reccount, setReccount] = useState(0);\r\n const [appTypeGroups, setappTypeGroups] = useState([]);\r\n const [appTypes, setappTypes] = useState([]);\r\n const [denetimlist, setDenetimList] = useState([]);\r\n\r\n\r\n var sortField = null;\r\n var sortDirection = {}\r\n const myCompare = (a, b) => {\r\n if (sortField == null)\r\n sortField = \"transactionUUID\"\r\n var av = a[sortField];\r\n var bv = b[sortField];\r\n if (av == null && bv == null)\r\n return 0;\r\n if (av == null && bv != null)\r\n return -1 * sortDirection[sortField];\r\n if (av != null && bv == null)\r\n return 1 * sortDirection[sortField];\r\n\r\n if (typeof av === 'string' || av instanceof String)\r\n if (typeof bv === 'string' || bv instanceof String)\r\n return av.localeCompare(bv) * sortDirection[sortField];\r\n\r\n if (av < bv) {\r\n return -1 * sortDirection[sortField];\r\n }\r\n if (av > bv) {\r\n return 1 * sortDirection[sortField];\r\n }\r\n return 0;\r\n }\r\n\r\n\r\n const sortList = (fildname, data) => {\r\n sortField = fildname;\r\n if (sortDirection[sortField] == null || sortDirection[sortField] == -1) {\r\n sortDirection[sortField] = 1;\r\n }\r\n else {\r\n sortDirection[sortField] = -1;\r\n }\r\n let sortablelist = [];\r\n\r\n data.forEach(function (item) {\r\n var obj = {};\r\n obj.basvuruDurumu = item[0];\r\n obj.Toplam = item[1];\r\n sortablelist.push(obj);\r\n })\r\n sortablelist.sort(myCompare);\r\n\r\n let temp = [[\"this will be removed by generatetable\"]]\r\n sortablelist.forEach(function (item) {\r\n temp.push([item.basvuruDurumu, item.Toplam]);\r\n })\r\n ReactDOM.render(generateTable(temp), document.getElementById(\"tablePart\"))\r\n }\r\n\r\n\r\n\r\n var totalrec = document.getElementById(\"totalrec\");\r\n if (totalrec != null && reccount > 0)\r\n totalrec.innerHTML = \"Toplam \" + reccount + \" BaÅŸvuru\";\r\n\r\n if (denetimlist.length > 0 && document.getElementById(\"myscript\").childElementCount == 0) {\r\n\r\n const script = document.createElement(\"script\");\r\n script.src = \"https://www.gstatic.com/charts/loader.js\";\r\n script.async = true;\r\n document.getElementById(\"myscript\").appendChild(script);\r\n script.onload = () => {\r\n window.google.charts.load('current', { packages: ['corechart'] });\r\n window.google.charts.setOnLoadCallback(populateProjectData);\r\n }\r\n }\r\n\r\n\r\n const fetchSurecList = () => {\r\n fetch(\"sureclist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n\r\n response.json().then(value => {\r\n setDenetimList(value);\r\n\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n useEffect(() => {\r\n fetchSurecList();\r\n fetchAppTypeGrupList();\r\n getAppTypes();\r\n }, []);\r\n\r\n\r\n const fetchAppTypeGrupList = () => {\r\n fetch(\"apptypegroupslist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setappTypeGroups(value);\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n const getAppTypes = () => {\r\n fetch(\"denetimlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n value = value.filter(x => x.isadimi != true);\r\n setappTypes(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const populateProjectData = () => {\r\n\r\n const grup = document.getElementById(\"grup\").value;\r\n const appType = document.getElementById(\"apptype\").value;\r\n const startDate = document.getElementById(\"startdate\").value;\r\n const endDate = document.getElementById(\"enddate\").value;\r\n\r\n // Create the body object\r\n const body = {};\r\n if (grup && grup != -1) body.grup = Number(grup);\r\n if (appType && appType != -1) body.appType = appType;\r\n if (startDate) body.startDate = startDate;\r\n if (endDate) body.endDate = endDate;\r\n\r\n\r\n sendpost(\"countprojectbytype\", body, \"filterspin\", (response) => {\r\n response.json().then(async data => {\r\n var dataset = JSON.parse(data);\r\n var rec = 0;\r\n\r\n\r\n\r\n data = JSON.parse(dataset[0]);\r\n var dataarray1 = [];\r\n var colors = ['#2E4C6D', '#396EB0', '#DADDFC', '#FC997C', '#66806A', '#7E8BD9', '#558D97', '#B4C6A6', '#FFC286', '#FFF1AF'];\r\n dataarray1.push(['Durum', 'Toplam', { role: \"style\" }]);\r\n var cidx = 0;\r\n for (var i in data) {\r\n dataarray1.push([i, data[i], colors[cidx++]]);\r\n }\r\n\r\n\r\n drawChart(dataarray1, 'userstaticpanel2');\r\n setReccount(rec)\r\n });\r\n });\r\n}\r\n\r\nconst generateTable = (data) => {\r\n data.shift();\r\n return <div className=\"table-responsive\">\r\n <table className='table mt-3 table-vdstriped p-0' aria-labelledby=\"tabelLabel\" id=\"reportTable\">\r\n <thead >\r\n <th>\r\n\r\n </th>\r\n <th className=\"text-start\">\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"basvuruDurumu\", data)} > BaÅŸvuru Durumu </button>\r\n </th>\r\n <th className=\"text-start\">\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"Toplam\", data)} > Toplam BaÅŸvuru </button>\r\n </th>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {data.map((rec, idx) => \r\n <tr>\r\n <td className=\"text-start\">\r\n {idx + 1}\r\n </td>\r\n <td className=\"text-start\">\r\n {rec[0]}\r\n </td >\r\n <td className=\"text-start\">\r\n {rec[1]}\r\n </td>\r\n </tr>\r\n )}\r\n <tr className=\"text-start text-success fw-bold\">\r\n <td >\r\n \r\n </td>\r\n <td className=\"text-start \">\r\n Toplam\r\n </td >\r\n <td className=\"text-start\">\r\n {data.reduce((s, x) => s + Number(x[1]),0)}\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n \r\n </div>\r\n}\r\n\r\nconst handleGroupChange = (event) => {\r\n const target = event.target;\r\n const value = target.value;\r\n\r\n\r\n}\r\n\r\n\r\n const drawChart = (dataarray, target) => {\r\n var filteredData=dataarray.filter((x, idx) => idx == 0 || x[1] > 0)\r\n var data = window.google.visualization.arrayToDataTable(filteredData);\r\n var options = {\r\n colors: chartColors,\r\n chartArea: {\r\n top: 20,\r\n width: '90%',\r\n height: '80%'\r\n },\r\n hAxis: {\r\n slantedTextAngle: 45,\r\n textStyle: {\r\n fontSize: 14\r\n\r\n },\r\n baselineColor: \"EEF8FB\"\r\n\r\n },\r\n vAxis: {\r\n gridlines: {\r\n color: \"EEF8FB\"\r\n },\r\n\r\n minorGridlines: {\r\n color: 'transparent'\r\n\r\n },\r\n textStyle: {\r\n fontSize: 16 // or the number you want\r\n }\r\n ,\r\n baselineColor: \"DDF7FD\"\r\n\r\n },\r\n annotations: {\r\n stem: {\r\n length: 0\r\n },\r\n alwaysOutside: true,\r\n textStyle: {\r\n auraColor: 'none'\r\n }\r\n\r\n },\r\n animation: {\r\n duration: 1200,\r\n easing: 'out',\r\n \"startup\": true\r\n },\r\n\r\n width: '100%',\r\n legend: 'none'\r\n\r\n };\r\n\r\n\r\n var chart = new window.google.visualization.ColumnChart(document.getElementById(target));\r\n if (filteredData.length > 1)\r\n chart.draw(data, options);\r\n else {\r\n document.getElementById(target).innerHTML = \"\";\r\n }\r\n ReactDOM.render(generateTable(dataarray), document.getElementById(\"tablePart\"));\r\n }\r\n\r\n\r\n\r\n\r\nreturn (\r\n <div className=\"mt-1\" style={{ \"height\": \"100%\" }}>\r\n\r\n <div id=\"myscript\"></div>\r\n \r\n\r\n <div className=\"row\">\r\n <div className=\"col-11\">\r\n <h4>Anlık Süreç Bilgileri</h4>\r\n </div>\r\n <div className=\"col-1 text-end\">\r\n <a download=\"report.csv\" id=\"downloadlink\" onClick={() => { exportExcel(\"reportTable\", \"downloadlink\") }} href=\"#\" className=\"btn btn-link btn-sm text-decoration-none text-success\"><i class=\"fa fa-file-excel-o\" aria-hidden=\"true\"></i></a>\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"text-end text-muted\"> <h6 id=\"totalrec\" ></h6></div>\r\n\r\n {/*<div className=\"row mt-1\">*/}\r\n {/* <div className=\"col-12\">*/}\r\n {/* <h6 className=\"fw-bold\">Filtrele</h6>*/}\r\n {/* </div>*/}\r\n {/*</div>*/}\r\n\r\n <div className=\"row\">\r\n <div className=\"col-md-3 col-12\">\r\n BaÅŸvuru Gurubu\r\n <select className=\"form-select form-select-sm\" id=\"grup\" name=\"grup\" required={true} onChange={() => document.getElementById(\"apptype\").selectedIndex=0} >\r\n <option value={-1}> </option>\r\n {appTypeGroups.map(x => <option value={x.id}>{x.name}</option>)}\r\n </select>\r\n </div>\r\n <div className=\"col-md-3 col-12\">\r\n BaÅŸvuru Tipi\r\n <select className=\"form-select form-select-sm\" id=\"apptype\" name=\"appType\" required={true} onChange={() => document.getElementById(\"grup\").selectedIndex = 0} >\r\n <option value={-1}> </option>\r\n {appTypes.map(x => <option value={x.name}>{x.name}</option>)}\r\n </select>\r\n </div>\r\n <div className=\"col-md-2 col-12\">\r\n BaÅŸlangıç Tarih\r\n <input type=\"date\" className=\"form-control form-control-sm\" id=\"startdate\" />\r\n </div>\r\n <div className=\"col-md-2 col-12\">\r\n BitiÅŸ Tarih\r\n <input type=\"date\" className=\"form-control form-control-sm\" id=\"enddate\" />\r\n </div>\r\n <div className=\"col-md-2 col-12\">\r\n <br />\r\n <button className=\"btn btn-primary btn-sm\" onClick={populateProjectData}> Filtrele</button>\r\n <span id=\"filterspin\" className=\"spinner-border spinner-border-sm\" hidden></span>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div id=\"userstaticpanel2\" style={{ \"height\": \"600px\" }} className=\"w-100 text-center\">\r\n <div class=\"spinner-border\"></div>\r\n </div>\r\n\r\n <div id=\"tablePart\" className=\"w-100 text-center\"><div class=\"spinner-border\"></div></div>\r\n\r\n\r\n </div>\r\n\r\n);\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, chartColors, isEmpty, exportExcel } from '../GlobalState.js';\r\nimport ReactDOM from 'react-dom';\r\n\r\nexport default function PersonelPerfSta(props) {\r\n\r\n const [appType, setAppType] = useState(null);\r\n const [refcounter, setRefcount] = useState(props.counter);\r\n const [userapps, setUserApps] = useState(null);\r\n const [startDate, setStartDate] = useState(null);\r\n const [endDate, setEndDate] = useState(null);\r\n const [selectedPersons, setSelectedPersons] = useState([]);\r\n\r\n var sortField = null;\r\n var sortDirection = {}\r\n const myCompare = (a, b) => {\r\n if (sortField == null)\r\n sortField = \"transactionUUID\"\r\n var av = a[sortField];\r\n var bv = b[sortField];\r\n if (av == null && bv == null)\r\n return 0;\r\n if (av == null && bv != null)\r\n return -1 * sortDirection[sortField];\r\n if (av != null && bv == null)\r\n return 1 * sortDirection[sortField];\r\n\r\n if (typeof av === 'string' || av instanceof String)\r\n if (typeof bv === 'string' || bv instanceof String)\r\n return av.localeCompare(bv) * sortDirection[sortField];\r\n\r\n if (av < bv) {\r\n return -1 * sortDirection[sortField];\r\n }\r\n if (av > bv) {\r\n return 1 * sortDirection[sortField];\r\n }\r\n return 0;\r\n }\r\n\r\n const filterPersons = (data) => {\r\n const checkboxes = document.querySelectorAll('#reportTable input[type=\"checkbox\"]:checked');\r\n const checkedIds = Array.from(checkboxes).map(checkbox => checkbox.id);\r\n setSelectedPersons(checkedIds)\r\n\r\n }\r\n\r\n const sortList = (fildname, data) => {\r\n sortField = fildname;\r\n if (sortDirection[sortField] == null || sortDirection[sortField] == -1) {\r\n sortDirection[sortField] = 1;\r\n }\r\n else {\r\n sortDirection[sortField] = -1;\r\n }\r\n let sortablelist = [];\r\n\r\n data.forEach(function (item) {\r\n var obj = {};\r\n obj.Kullanıcı = item[0];\r\n obj.Toplam = item[1];\r\n obj.Biten = item[5];\r\n obj.Devam = item[9];\r\n obj.Sırada = item[13];\r\n sortablelist.push(obj);\r\n })\r\n sortablelist.sort(myCompare);\r\n\r\n let temp = [[\"this will be removed by generatetable\"]]\r\n sortablelist.forEach(function (item) {\r\n temp.push([item.Kullanıcı, item.Toplam, 0, 0, 0, item.Biten, 0, 0, 0, item.Devam, 0, 0, 0, item.Sırada]);\r\n })\r\n ReactDOM.render(generateTable(temp), document.getElementById(\"tablePart\"))\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n setAppType(target.value);\r\n }\r\n\r\n\r\n useEffect(() => {\r\n const script = document.createElement(\"script\");\r\n script.src = \"https://www.gstatic.com/charts/loader.js\";\r\n script.async = true;\r\n document.getElementById(\"myscript\").appendChild(script);\r\n script.onload = () => {\r\n window.google.charts.load('current', { packages: ['corechart'] });\r\n window.google.charts.setOnLoadCallback(getWorkLoadList);\r\n\r\n }\r\n\r\n }, [props.counter]);\r\n\r\n\r\n const generateTable = (data) => {\r\n data.shift();\r\n return <div className=\"table-responsive\">\r\n <table className='table mt-3 table-vdstriped p-0' aria-labelledby=\"tabelLabel\" id=\"reportTable\">\r\n <thead >\r\n <th className=\"text-start\">\r\n <button className=\"btn btn-primary bg-primary btn-sm p-1 m-0 \" onClick={filterPersons} >\r\n Göster\r\n </button>\r\n\r\n </th>\r\n <th>\r\n\r\n </th>\r\n <th className=\"text-start\">\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"Kullanıcı\", data)} > Kullanıcı </button>\r\n </th>\r\n <th className=\"text-start\">\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"Toplam\", data)} > Toplam </button>\r\n </th>\r\n <th className=\"text-start\">\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"Biten\", data)} > Biten </button>\r\n </th>\r\n <th className=\"text-start\">\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"Devam\", data)} > Devam Eden </button>\r\n </th>\r\n <th className=\"text-start\">\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"Sırada\", data)} > Sırada Bekleyen </button>\r\n </th>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {data.map((rec, idx) => (rec[1] > 0 || rec[5] > 0 || rec[9] > 0 || rec[13] > 0) &&\r\n <tr>\r\n <td className=\"text-start\">\r\n <input type=\"checkbox\" className=\"form-check-input form-check-input-sm\" id={rec[0]} />\r\n </td>\r\n <td className=\"text-start\">\r\n {idx + 1}\r\n </td>\r\n <td className=\"text-start\">\r\n {rec[0]}\r\n </td >\r\n <td className=\"text-start\">\r\n {rec[1]}\r\n </td>\r\n <td className=\"text-start\">\r\n {rec[5]}\r\n </td>\r\n <td className=\"text-start\">\r\n {rec[9]}\r\n </td>\r\n <td className=\"text-start\">\r\n {rec[13]}\r\n </td>\r\n </tr>\r\n )}\r\n\r\n <tr className=\"text-start text-success fw-bold\">\r\n <td ></td>\r\n <td ></td>\r\n <td className=\"text-start\">\r\n Toplam\r\n </td>\r\n <td className=\"text-start\">\r\n {data.reduce((s, rec) => s + rec[1], 0)}\r\n </td>\r\n <td className=\"text-start\">\r\n {data.reduce((s, rec) => s + rec[5], 0)}\r\n </td>\r\n <td className=\"text-start\">\r\n {data.reduce((s, rec) => s + rec[9], 0)}\r\n </td>\r\n <td className=\"text-start\">\r\n {data.reduce((s, rec) => s + rec[13], 0)}\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n }\r\n\r\n\r\n const getWorkLoadList = () => {\r\n fetch(\"getuserworkloads\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n this.setState({ status: response.statusText })\r\n }\r\n else {\r\n response.json().then(async data => {\r\n\r\n\r\n var basvurutipleri = new Set();\r\n var c = document.getElementById(\"basvurutipleri\");\r\n\r\n // Collect unique items into the set\r\n for (var i = 0; i < data.length; i++) {\r\n // mapperusername is basvurutipi\r\n data[i].basvuruTipi = data[i].mapperUserName;\r\n basvurutipleri.add(data[i].basvuruTipi);\r\n }\r\n\r\n // Convert the set to an array and sort it\r\n var sortedBasvuruTipleri = Array.from(basvurutipleri).sort((a, b) => a.localeCompare(b, \"tr\"));\r\n\r\n // Append sorted options to the select box\r\n for (var basvuruTipi of sortedBasvuruTipleri) {\r\n var opt = document.createElement('option');\r\n opt.value = basvuruTipi;\r\n opt.innerHTML = basvuruTipi;\r\n c.appendChild(opt);\r\n }\r\n\r\n // Set the default selected index to none\r\n c.selectedIndex = -1;\r\n\r\n setUserApps(data)\r\n\r\n });\r\n }\r\n });\r\n }\r\n\r\n const generateReport = (data) => {\r\n var dataarray = [];\r\n var userstat = {}\r\n dataarray.push(['', 'Toplam', { role: 'annotation' }, { role: 'annotation' }, { role: 'style' },\r\n 'Biten', { role: 'annotation' }, { role: 'annotation' }, { role: 'style' },\r\n 'Devam Eden', { role: 'annotation' }, { role: 'annotation' }, { role: 'style' },\r\n 'Sırada Bekleyen', { role: 'annotation' }, { role: 'annotation' }, { role: 'style' }]);\r\n // 'Günllük Ortalama', { role: 'annotation' }, { role: 'annotation' }, { role: 'style' }\r\n\r\n for (var i = 0; i < data.length; i++) {\r\n userstat[data[i].userName] = { toplam: 0, biten: 0, devam: 0, bekleyen: 0, ortalama: 0, namefamily: data[i].message }\r\n data[i].namefamily = data[i].message\r\n }\r\n\r\n\r\n for (var i = 0; i < data.length; i++) {\r\n if (appType != null && appType != \"\" && data[i].basvuruTipi != appType)\r\n continue;\r\n\r\n if (!isEmpty(startDate) && !isEmpty(data[i].mappingDate)\r\n && data[i].mappingDate.replaceAll(\".\", \"/\").split(\" \")[0] < startDate)\r\n continue;\r\n\r\n if (!isEmpty(endDate) && !isEmpty(data[i].mappingDate)\r\n && data[i].mappingDate.replaceAll(\".\", \"/\").split(\" \")[0] > endDate)\r\n continue;\r\n\r\n if (selectedPersons.length > 0 && !selectedPersons.includes(data[i].namefamily))\r\n continue;\r\n\r\n\r\n userstat[data[i].userName].toplam++;\r\n\r\n if (data[i].started == null && data[i].completed == null) {\r\n if (data[i].duzeltmeDurum == true)\r\n userstat[data[i].userName].devam++;\r\n else\r\n userstat[data[i].userName].bekleyen++;\r\n }\r\n else if (data[i].started != null && data[i].completed == null) {\r\n if (data[i].denetimID != 10)\r\n userstat[data[i].userName].devam++;\r\n else\r\n userstat[data[i].userName].biten++;\r\n }\r\n else if (data[i].started != null && data[i].completed != null)\r\n userstat[data[i].userName].biten++;\r\n }\r\n for (var i = 0; i < data.length; i++) {\r\n userstat[data[i].userName].ortalama = (userstat[data[i].userName].biten / 30.0).toFixed(1);\r\n }\r\n\r\n var i = 0;\r\n for (var rec in userstat)\r\n if (userstat[rec].toplam > 0)\r\n dataarray.push([userstat[rec].namefamily, userstat[rec].toplam, userstat[rec].toplam, \"\", 'stroke-color: #000000; stroke-width: 1;',\r\n userstat[rec].biten, userstat[rec].biten, \"\", 'stroke-color: #000000; stroke-width: 1;',\r\n userstat[rec].devam, userstat[rec].devam, \"\", 'stroke-color: #000000; stroke-width: 1;',\r\n userstat[rec].bekleyen, userstat[rec].bekleyen, \"\", 'stroke-color: #000000; stroke-width: 1;']);\r\n //userstat[rec].ortalama, userstat[rec].ortalama.toFixed(2), \"Ort\", 'stroke-color: #E7E6E1; stroke-width: 1;'\r\n if (dataarray.length == 1) {\r\n document.getElementById(\"userstaticpanel2\").innerHTML = \"\";\r\n ReactDOM.unmountComponentAtNode( document.getElementById(\"tablePart\"));\r\n return;\r\n }\r\n\r\n drawChart(dataarray, 'userstaticpanel2')\r\n\r\n }\r\n\r\n\r\n const drawChart = (dataarray, target) => {\r\n var data = window.google.visualization.arrayToDataTable(dataarray);\r\n var options = {\r\n colors: chartColors,\r\n chartArea: {\r\n top: 20,\r\n width: '90%',\r\n height: '80%'\r\n },\r\n hAxis: {\r\n slantedTextAngle: 45,\r\n textStyle: {\r\n fontSize: 14\r\n\r\n },\r\n baselineColor: \"EEF8FB\"\r\n\r\n },\r\n vAxis: {\r\n gridlines: {\r\n color: \"EEF8FB\"\r\n },\r\n\r\n minorGridlines: {\r\n color: 'transparent'\r\n\r\n },\r\n textStyle: {\r\n fontSize: 16 // or the number you want\r\n }\r\n ,\r\n baselineColor: \"DDF7FD\"\r\n\r\n },\r\n annotations: {\r\n stem: {\r\n length: 0\r\n },\r\n alwaysOutside: true,\r\n textStyle: {\r\n auraColor: 'none'\r\n }\r\n\r\n },\r\n animation: {\r\n duration: 1200,\r\n easing: 'out',\r\n \"startup\": true\r\n },\r\n\r\n width: '100%',\r\n legend: { position: \"top\" },\r\n\r\n };\r\n var chart = new window.google.visualization.ColumnChart(document.getElementById(target));\r\n\r\n \r\n\r\n chart.draw(data, options);\r\n ReactDOM.render(generateTable(dataarray), document.getElementById(\"tablePart\"));\r\n \r\n }\r\n\r\n if (userapps != null)\r\n generateReport(userapps)\r\n\r\n\r\n return (\r\n <div className=\"border rounded-2 mt-1\" style={{ \"height\": \"100%\" }}>\r\n <div id=\"myscript\"></div>\r\n <div className=\"row\">\r\n <div className=\"col-11\">\r\n <h4>Personel Performansı</h4>\r\n </div>\r\n <div className=\"col-1 text-end\">\r\n <a download=\"report.csv\" id=\"downloadlink\" onClick={() => { exportExcel(\"reportTable\", \"downloadlink\") }} href=\"#\" className=\"btn btn-link btn-sm text-decoration-none text-success\"><i class=\"fa fa-file-excel-o\" aria-hidden=\"true\"></i></a>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row\">\r\n <div className=\"col-md-3 col-12\">\r\n BaÅŸvuru Tipi\r\n <select className=\"form-select form-select-sm\" id=\"basvurutipleri\" name=\"basvuruTipi\" required={true} onChange={handleInputChange}>\r\n <option value=\"\"></option>\r\n </select>\r\n </div>\r\n <div className=\"col-md-3 col-12\">\r\n BaÅŸlangıç Tarih\r\n <input type=\"date\" className=\"form-control form-control-sm\" id=\"startdate\" onChange={(e) => setStartDate(e.target.value.replaceAll(\"-\", \"/\"))} />\r\n </div>\r\n\r\n <div className=\"col-md-3 col-12\">\r\n BitiÅŸ Tarih\r\n <input type=\"date\" className=\"form-control form-control-sm\" id=\"enddate\" onChange={(e) => setEndDate(e.target.value.replaceAll(\"-\", \"/\"))} />\r\n </div>\r\n </div>\r\n\r\n <div style={{ \"max-width\": \"300px\" }} className=\"p-1 mb-3\">\r\n\r\n </div>\r\n\r\n <div id=\"userstaticpanel2\" style={{ \"height\": \"600px\" }} className=\"w-100 text-center\"><div class=\"spinner-border\"></div></div>\r\n <div id=\"tablePart\" className=\"w-100 text-center\"><div class=\"spinner-border\"></div></div>\r\n </div>\r\n\r\n );\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { isEmpty, chartColors, exportExcel } from '../GlobalState.js';\r\n\r\nimport ReactDOM from 'react-dom';\r\n\r\nexport default function TmamlanmaStat(props) {\r\n\r\n const [appType, setAppType] = useState(null);\r\n const [appGurupType, setAppGurupType] = useState(-1);\r\n const [startDate, setStartDate] = useState(null);\r\n const [endDate, setEndDate] = useState(null);\r\n const [userapps, setUserApps] = useState(null);\r\n const [chartType, setChartType] = useState(\"ko\");\r\n\r\n\r\n\r\n const [appTypeGroups, setappTypeGroups] = useState([]);\r\n const [appTypeList, setappTypeList] = useState([]);\r\n\r\n const [selectedPersons, setSelectedPersons] = useState([]);\r\n\r\n var userdataarray = [];\r\n var basvurutipidataarray = [];\r\n var userstat = {}\r\n var basvurutipistat = {}\r\n var mevkistat = {}\r\n var mahallestat = {}\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchAppTypeGrupList();\r\n getAppTypes();\r\n\r\n const script = document.createElement(\"script\");\r\n script.src = \"https://www.gstatic.com/charts/loader.js\";\r\n script.async = true;\r\n document.getElementById(\"myscript\").appendChild(script);\r\n script.onload = () => {\r\n window.google.charts.load('current', { packages: ['corechart'] });\r\n window.google.charts.setOnLoadCallback(getUserApps);\r\n }\r\n\r\n }, [props.counter]);\r\n\r\n\r\n const fetchAppTypeGrupList = () => {\r\n fetch(\"apptypegroupslist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n \r\n }\r\n else {\r\n response.json().then(value => {\r\n setappTypeGroups(value);\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n const getAppTypes = () => {\r\n fetch(\"denetimlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n \r\n }\r\n else {\r\n response.json().then(value => {\r\n value = value.filter(x => x.isadimi != true);\r\n setappTypeList(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n setAppType(target.value);\r\n }\r\n\r\n\r\n var sortField = null;\r\n var sortDirection = {}\r\n const myCompare = (a, b) => {\r\n if (sortField == null)\r\n sortField = \"transactionUUID\"\r\n var av = a[sortField];\r\n var bv = b[sortField];\r\n if (av == null && bv == null)\r\n return 0;\r\n if (av == null && bv != null)\r\n return -1 * sortDirection[sortField];\r\n if (av != null && bv == null)\r\n return 1 * sortDirection[sortField];\r\n\r\n if (typeof av === 'string' || av instanceof String)\r\n if (typeof bv === 'string' || bv instanceof String)\r\n return av.localeCompare(bv) * sortDirection[sortField];\r\n\r\n if (av < bv) {\r\n return -1 * sortDirection[sortField];\r\n }\r\n if (av > bv) {\r\n return 1 * sortDirection[sortField];\r\n }\r\n return 0;\r\n }\r\n\r\n\r\n const sortList = (fildname, data) => {\r\n sortField = fildname;\r\n if (sortDirection[sortField] == null || sortDirection[sortField] == -1) {\r\n sortDirection[sortField] = 1;\r\n }\r\n else {\r\n sortDirection[sortField] = -1;\r\n }\r\n let sortablelist = [];\r\n for (var rec in data) {\r\n var obj = data[rec];\r\n obj.indexname = rec.name;\r\n sortablelist.push(obj);\r\n }\r\n sortablelist.sort(myCompare);\r\n\r\n let temp = {}\r\n sortablelist.forEach(function (item) {\r\n temp[item.name] = item;\r\n })\r\n ReactDOM.render(generateTable(temp), document.getElementById(\"tablePart\"))\r\n }\r\n\r\n\r\n\r\n const getUserApps = () => {\r\n fetch(\"getuserapps\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n alert(response.statusText)\r\n })\r\n }\r\n else {\r\n response.json().then(value => {\r\n var data = JSON.parse(value)\r\n /* var basvurutipleri = new Set()\r\n var c = document.getElementById(\"basvurutipleri\");\r\n for (var i = 0; i < data.length; i++) {\r\n if (basvurutipleri.has(data[i].basvuruTipi) == false) {\r\n basvurutipleri.add(data[i].basvuruTipi);\r\n var opt = document.createElement('option');\r\n opt.value = data[i].basvuruTipi;\r\n opt.innerHTML = data[i].basvuruTipi;\r\n c.appendChild(opt);\r\n }\r\n\r\n }\r\n c.selectedIndex = -1;*/\r\n setUserApps(data)\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n \r\n\r\n const filterPersons = (data) => {\r\n const checkboxes = document.querySelectorAll('#reportTable input[type=\"checkbox\"]:checked');\r\n const checkedIds = Array.from(checkboxes).map(checkbox => checkbox.id);\r\n setSelectedPersons(checkedIds)\r\n }\r\n\r\n const generateTable = (data) => {\r\n var keys = Object.keys(data);\r\n return <div className=\"table-responsive\" >\r\n <table className='table mt-3 table-vdstriped p-0' aria-labelledby=\"tabelLabel\" id=\"reportTable\">\r\n <thead >\r\n <th className=\"text-start\">\r\n {chartType == \"ko\" && <button className=\"btn btn-primary bg-primary text-white btn-sm p-1 m-0 \" onClick={filterPersons} >\r\n Göster\r\n </button>}\r\n\r\n </th>\r\n <th>\r\n\r\n </th>\r\n <th className=\"text-start\">\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"name\", data)} > Ä°sim </button>\r\n </th>\r\n <th className=\"text-start\">\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"toplamBasvuru\", data)} > Toplam BaÅŸvuru </button>\r\n </th>\r\n <th className=\"text-start\">\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"gunOrtalama\", data)} > Günlük Ortalama (iÅŸgünü) </button>\r\n </th>\r\n <th className=\"text-start\">\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"ayOrtalama\", data)} > Aylık Ortalama </button>\r\n </th>\r\n {/*<th className=\"text-start\">*/}\r\n {/* <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"yilOrtalama\", data)} > Yıllık Ortalama </button>*/}\r\n {/*</th>*/}\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {keys.map((rec, idx) => data[rec].toplamBasvuru > 0 &&\r\n <tr>\r\n <td className=\"text-start\">\r\n {chartType == \"ko\" &&\r\n <input type=\"checkbox\" className=\"form-check-input form-check-input-sm\" id={rec} />\r\n }\r\n </td>\r\n <td className=\"text-start\">\r\n {idx + 1}\r\n </td>\r\n <td className=\"text-start\">\r\n {data[rec].name}\r\n </td>\r\n <td className=\"text-start\">\r\n {data[rec].toplamBasvuru}\r\n </td>\r\n <td className=\"text-start\">\r\n {data[rec].gunOrtalama}\r\n </td>\r\n <td className=\"text-start\">\r\n {data[rec].ayOrtalama}\r\n </td>\r\n </tr>\r\n )}\r\n <tr className=\"text-start text-success fw-bold\">\r\n <td ></td>\r\n <td ></td>\r\n <td className=\"text-start\">\r\n Toplam\r\n </td>\r\n <td className=\"text-start\">\r\n {keys.reduce((s, x) => s + Number(data[x].toplamBasvuru), 0)}\r\n </td>\r\n <td className=\"text-start\">\r\n {keys.reduce((s, x) => s + Number(data[x].gunOrtalama != null ? data[x].gunOrtalama:0), 0)}\r\n </td>\r\n <td className=\"text-start\">\r\n {keys.reduce((s, x) => s + Number(data[x].ayOrtalama != null ? data[x].ayOrtalama : 0), 0)}\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n }\r\n\r\n\r\n const drawChartSingleCol = (mydata, target) => {\r\n var dataarray = [];\r\n\r\n if (mydata != userstat)\r\n document.getElementById(\"basvurutiplericol\").hidden = true;\r\n else\r\n document.getElementById(\"basvurutiplericol\").hidden = false;\r\n\r\n if (mydata != basvurutipistat)\r\n document.getElementById(\"basvurutipigurubuicol\").hidden = true;\r\n else\r\n document.getElementById(\"basvurutipigurubuicol\").hidden = false;\r\n\r\n \r\n\r\n dataarray.push(['', 'Toplam BaÅŸvuru', { role: 'annotation' }, { role: 'annotation' }, { role: 'style' }\r\n ]);\r\n\r\n var nodata = true;\r\n for (var rec in mydata) {\r\n if (mydata[rec].toplamBasvuru > 0) {\r\n nodata = false;\r\n dataarray.push([mydata[rec].name,\r\n mydata[rec].toplamBasvuru, mydata[rec].toplamBasvuru, \"\",\r\n 'stroke-color: #000000; stroke-width: 1;'\r\n ]\r\n );\r\n }\r\n }\r\n if (nodata == true) {\r\n ReactDOM.unmountComponentAtNode(document.getElementById(\"tablePart\"));\r\n document.getElementById(target).innerHTML = \"\";\r\n\r\n return;\r\n }\r\n\r\n\r\n var data = window.google.visualization.arrayToDataTable(dataarray);\r\n var options = {\r\n colors: chartColors,\r\n chartArea: {\r\n // leave room for y-axis labels\r\n top: 20,\r\n width: '90%',\r\n height: '80%'\r\n },\r\n hAxis: {\r\n slantedTextAngle: 45,\r\n textStyle: {\r\n fontSize: 14\r\n\r\n },\r\n baselineColor: \"EEF8FB\"\r\n\r\n },\r\n vAxis: {\r\n gridlines: {\r\n color: \"EEF8FB\"\r\n },\r\n\r\n minorGridlines: {\r\n color: 'transparent'\r\n\r\n },\r\n textStyle: {\r\n fontSize: 16 // or the number you want\r\n }\r\n ,\r\n baselineColor: \"DDF7FD\"\r\n\r\n },\r\n annotations: {\r\n stem: {\r\n length: 0\r\n },\r\n alwaysOutside: true,\r\n textStyle: {\r\n auraColor: 'none',\r\n color: '#000000',\r\n }\r\n\r\n },\r\n animation: {\r\n duration: 1200,\r\n easing: 'out',\r\n \"startup\": true\r\n },\r\n\r\n width: '100%',\r\n legend: { position: \"top\" },\r\n\r\n };\r\n\r\n\r\n var chart = new window.google.visualization.ColumnChart(document.getElementById(target));\r\n\r\n chart.draw(data, options);\r\n ReactDOM.render(generateTable(mydata)\r\n ,\r\n document.getElementById(\"tablePart\")\r\n );\r\n\r\n\r\n }\r\n\r\n\r\n\r\n\r\n const drawChart = (mydata, target) => {\r\n var dataarray = [];\r\n\r\n if (mydata != userstat)\r\n document.getElementById(\"basvurutiplericol\").hidden = true;\r\n else\r\n document.getElementById(\"basvurutiplericol\").hidden = false;\r\n\r\n if (mydata != basvurutipistat)\r\n document.getElementById(\"basvurutipigurubuicol\").hidden = true;\r\n else\r\n document.getElementById(\"basvurutipigurubuicol\").hidden = false;\r\n\r\n dataarray.push(['', 'Toplam BaÅŸvuru', { role: 'annotation' }, { role: 'annotation' }, { role: 'style' },\r\n 'Günluk Ortalama (iÅŸgünü) ', { role: 'annotation' }, { role: 'annotation' }, { role: 'style' },\r\n 'Aylık Ortalama', { role: 'annotation' }, { role: 'annotation' }, { role: 'style' }//,\r\n // 'Yıllık Ortalama', { role: 'annotation' }, { role: 'annotation' }, { role: 'style' }\r\n ]);\r\n\r\n var nodata = true;\r\n for (var rec in mydata) {\r\n if (mydata[rec].toplamBasvuru > 0) {\r\n nodata = false;\r\n dataarray.push([mydata[rec].name,\r\n mydata[rec].toplamBasvuru, mydata[rec].toplamBasvuru, \"\",\r\n 'stroke-color: #000000; stroke-width: 1;',\r\n Number(mydata[rec].gunOrtalama),\r\n Number(mydata[rec].gunOrtalama),\r\n \"\", 'stroke-color: #000000; stroke-width: 1;',\r\n Number(mydata[rec].ayOrtalama),\r\n Number(mydata[rec].ayOrtalama),\r\n \"\", 'stroke-color: #000000; stroke-width: 1;'//,\r\n //Number(mydata[rec].yilOrtalama),\r\n //Number(mydata[rec].yilOrtalama), \"\",\r\n // 'stroke-color: #000000; stroke-width: 1;'\r\n ]\r\n );\r\n }\r\n }\r\n if (nodata == true) {\r\n ReactDOM.unmountComponentAtNode(document.getElementById(\"tablePart\"));\r\n document.getElementById(target).innerHTML = \"\";\r\n\r\n return;\r\n }\r\n\r\n\r\n var data = window.google.visualization.arrayToDataTable(dataarray);\r\n var options = {\r\n colors: chartColors,\r\n chartArea: {\r\n // leave room for y-axis labels\r\n top: 20,\r\n width: '90%',\r\n height: '80%'\r\n },\r\n hAxis: {\r\n slantedTextAngle: 45,\r\n textStyle: {\r\n fontSize: 14\r\n\r\n },\r\n baselineColor: \"EEF8FB\"\r\n\r\n },\r\n vAxis: {\r\n gridlines: {\r\n color: \"EEF8FB\"\r\n },\r\n\r\n minorGridlines: {\r\n color: 'transparent'\r\n\r\n },\r\n textStyle: {\r\n fontSize: 16 // or the number you want\r\n }\r\n ,\r\n baselineColor: \"DDF7FD\"\r\n\r\n },\r\n annotations: {\r\n stem: {\r\n length: 0\r\n },\r\n alwaysOutside: true,\r\n textStyle: {\r\n auraColor: 'none',\r\n color: '#000000',\r\n }\r\n\r\n },\r\n animation: {\r\n duration: 1200,\r\n easing: 'out',\r\n \"startup\": true\r\n },\r\n\r\n width: '100%',\r\n legend: { position: \"top\" },\r\n\r\n };\r\n\r\n\r\n var chart = new window.google.visualization.ColumnChart(document.getElementById(target));\r\n\r\n chart.draw(data, options);\r\n ReactDOM.render(generateTable(mydata)\r\n ,\r\n document.getElementById(\"tablePart\")\r\n );\r\n\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n const generateReport = (data) => {\r\n userstat = {}\r\n basvurutipistat = {}\r\n mevkistat = {}\r\n mahallestat = {}\r\n\r\n var apptypesInGrurup = null;\r\n if (appGurupType != -1) {\r\n apptypesInGrurup = appTypeList.filter(x => x.grup == Number(appGurupType)).map(x=>x.name)\r\n }\r\n\r\n for (var i = 0; i < data.length; i++) {\r\n userstat[data[i].userName] = { toplamBasvuru: 0, ilkBasvuruTamamlandi: \"\", name: data[i].isim + \" \" + data[i].Family }\r\n basvurutipistat[data[i].basvuruTipi] = { toplamBasvuru: 0, name: data[i].basvuruTipi }\r\n mevkistat[data[i].mevki] = { toplamBasvuru: 0, name: data[i].mevki }\r\n mahallestat[data[i].mahalle] = { toplamBasvuru: 0, name: data[i].mahalle }\r\n }\r\n\r\n for (var i = 0; i < data.length; i++) {\r\n //ignore all exept tamamlanalar\r\n if (data[i].basvuruDurumu != 9 && data[i].basvuruDurumu != 8)\r\n continue;\r\n\r\n if (!isEmpty(startDate) && !isEmpty(data[i].basvuruTarihi)\r\n && data[i].basvuruTarihi.replaceAll(\".\", \"/\").split(\" \")[0] < startDate)\r\n continue;\r\n\r\n if (!isEmpty(endDate) && !isEmpty(data[i].basvuruTarihi)\r\n && data[i].basvuruTarihi.replaceAll(\".\", \"/\").split(\" \")[0] > endDate)\r\n continue;\r\n\r\n if (apptypesInGrurup!=null && apptypesInGrurup.includes(data[i].basvuruTipi) == false)\r\n continue;\r\n\r\n if (selectedPersons.length > 0 && !selectedPersons.includes(data[i].userName))\r\n continue;\r\n\r\n if (isEmpty(appType) || data[i].basvuruTipi == appType)\r\n if (data[i].Completed != null && data[i].Completed != \"\") {\r\n userstat[data[i].userName].toplamBasvuru++;\r\n var username = data[i].userName;\r\n\r\n if (userstat[username].ilkBasvuruTamamlandi == \"\" || data[i].Completed < userstat[username].ilkBasvuruTamamlandi) {\r\n userstat[username].ilkBasvuruTamamlandi = data[i].Completed;\r\n }\r\n var h = new Date(userstat[username].ilkBasvuruTamamlandi.trim() + \":00\");\r\n var diffTime = Date.now() - h.getTime();\r\n var diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24)) + 1;\r\n userstat[username].gunOrtalama = ((userstat[username].toplamBasvuru / diffDays) * (30 / 21)).toFixed(1);\r\n userstat[username].ayOrtalama = ((userstat[username].toplamBasvuru / diffDays) * 30).toFixed(1);\r\n }\r\n\r\n basvurutipistat[data[i].basvuruTipi].toplamBasvuru++;\r\n mevkistat[data[i].mevki].toplamBasvuru++;\r\n mahallestat[data[i].mahalle].toplamBasvuru++;\r\n }\r\n if (chartType == \"ko\")\r\n drawChart(userstat, 'userstaticpanel2')\r\n if (chartType == \"ba\")\r\n drawChartSingleCol(basvurutipistat, 'userstaticpanel2')\r\n if (chartType == \"me\")\r\n drawChartSingleCol(mevkistat, 'userstaticpanel2')\r\n if (chartType == \"ma\")\r\n drawChartSingleCol(mahallestat, 'userstaticpanel2')\r\n }\r\n\r\n if (userapps != null) {\r\n generateReport(userapps)\r\n }\r\n\r\n return (\r\n <div className=\"border rounded-2 mt-1 w-100\" style={{ \"height\": \"100%\" }}>\r\n <div id=\"myscript\"></div>\r\n <div className=\"row\">\r\n <div className=\"col-11\">\r\n <h4>Tamamlanma Ä°statistikleri</h4>\r\n </div>\r\n <div className=\"col-1 text-end\">\r\n <a download=\"report.csv\" id=\"downloadlink\" onClick={() => { exportExcel(\"reportTable\", \"downloadlink\") }} href=\"#\" className=\"btn btn-link btn-sm text-decoration-none text-success\"><i class=\"fa fa-file-excel-o\" aria-hidden=\"true\"></i></a>\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"p-1 mb-3\">\r\n <button className={\"btn btn-sm rounded ps-1 pe-1 me-1 btn-primary\"} onClick={() =>setChartType(\"ko\") }>\r\n Kontrolör\r\n </button>\r\n <button className={\"btn btn-sm rounded ps-1 pe-1 me-1 btn-primary\"} onClick={() =>setChartType(\"ba\") }>\r\n BaÅŸvuru Tipi\r\n </button>\r\n <button className={\"btn btn-sm rounded ps-1 pe-1 me-1 btn-primary\"} onClick={() =>setChartType(\"me\") }>\r\n Mevki\r\n </button>\r\n <button className={\"btn btn-sm rounded ps-1 pe-1 me-1 btn-primary\"} onClick={() =>setChartType(\"ma\") }>\r\n Mahalle\r\n </button>\r\n </div>\r\n\r\n <div className=\"row\">\r\n <div className=\"col-md-3 col-12\">\r\n BaÅŸlangıç Tarih\r\n <input type=\"date\" className=\"form-control form-control-sm\" id=\"startdate\" onChange={(e) => setStartDate(e.target.value.replaceAll(\"-\",\"/\"))} />\r\n </div>\r\n\r\n <div className=\"col-md-3 col-12\">\r\n BitiÅŸ Tarih\r\n <input type=\"date\" className=\"form-control form-control-sm\" id=\"enddate\" onChange={(e) => setEndDate(e.target.value.replaceAll(\"-\", \"/\"))} />\r\n </div>\r\n\r\n <div className=\"col-md-3 col-12\" id=\"basvurutiplericol\" >\r\n\r\n BaÅŸvuru Tipi\r\n <select className=\"form-select form-select-sm\" id=\"basvurutipleri\" name=\"basvuruTipi\" required={true} onChange={handleInputChange}>\r\n <option value=\"\"></option>\r\n {appTypeList.map(x => <option value={x.name}>{x.name }</option>) }\r\n </select>\r\n\r\n </div>\r\n\r\n <div className=\"col-md-3 col-12\" id=\"basvurutipigurubuicol\" hidden>\r\n\r\n BaÅŸvuru Tipi Grubu\r\n <select className=\"form-select form-select-sm\" id=\"basvurutipleri\" name=\"basvuruTipi\" required={true} onChange={(e) => setAppGurupType(e.target.value)}>\r\n <option value={-1}> </option>\r\n {appTypeGroups.map(x => <option value={x.id}>{x.name}</option>)}\r\n </select>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n <div id=\"userstaticpanel2\" style={{ \"height\": \"600px\" }} className=\"w-100 text-center\">\r\n <div class=\"spinner-border\" ></div>\r\n </div>\r\n\r\n <div id=\"tablePart\" className=\"w-100 text-center\">\r\n <div class=\"spinner-border\"></div>\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n );\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, chartColors, exportExcel } from '../GlobalState.js';\r\nimport ReactDOM from 'react-dom';\r\nexport default function Report(props) {\r\n\r\n const [reccount, setReccount] = useState(0);\r\n const [refcounter, setRefcount] = useState(props.counter);\r\n var timer = null;\r\n var timercount = 0;\r\n const [denetimlist, setDenetimList] = useState([]);\r\n const [downloadUrl, setDownloadUrl] = useState(\"#\");\r\n \r\n\r\n const tableData = props.data;\r\n const report = props.report;\r\n\r\n var sortField = null;\r\n var sortDirection = {}\r\n const myCompare = (a, b) => {\r\n if (sortField == null)\r\n sortField = \"transactionUUID\"\r\n var av = a[sortField];\r\n var bv = b[sortField];\r\n if (av == null && bv == null)\r\n return 0;\r\n if (av == null && bv != null)\r\n return -1 * sortDirection[sortField];\r\n if (av != null && bv == null)\r\n return 1 * sortDirection[sortField];\r\n\r\n if (typeof av === 'string' || av instanceof String)\r\n if (typeof bv === 'string' || bv instanceof String)\r\n return av.localeCompare(bv) * sortDirection[sortField];\r\n\r\n if (av < bv) {\r\n return -1 * sortDirection[sortField];\r\n }\r\n if (av > bv) {\r\n return 1 * sortDirection[sortField];\r\n }\r\n return 0;\r\n }\r\n\r\n\r\n const sortList = (fildname, data) => {\r\n sortField = fildname;\r\n if (sortDirection[sortField] == null || sortDirection[sortField] == -1) {\r\n sortDirection[sortField] = 1;\r\n }\r\n else {\r\n sortDirection[sortField] = -1;\r\n }\r\n let sortablelist = [];\r\n\r\n data.forEach(function (item) {\r\n var obj = {};\r\n obj.basvuruDurumu = item[0];\r\n obj.Toplam = item[1];\r\n sortablelist.push(obj);\r\n })\r\n sortablelist.sort(myCompare);\r\n\r\n let temp = [[\"this will be removed by generatetable\"]]\r\n sortablelist.forEach(function (item) {\r\n temp.push([item.basvuruDurumu, item.Toplam]);\r\n })\r\n ReactDOM.render(generateTable(temp), document.getElementById(\"tablePart\"))\r\n }\r\n\r\n\r\n\r\n \r\n\r\n\r\n const fetchDenetimList = () => {\r\n fetch(\"sureclist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n\r\n response.json().then(value => {\r\n setDenetimList(value);\r\n\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n useEffect(() => {\r\n fetchDenetimList();\r\n }, []);\r\n\r\n const populateProjectData = () => {\r\n fetch(\"countprojectbytype\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({})\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n\r\n response.json().then(async data => {\r\n data = JSON.parse(data);\r\n var dataarray = [];\r\n var maxDurumId = 10;\r\n var rec = 0;\r\n\r\n\r\n\r\n var temp = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\r\n for (var i = 0; i < data.length; i++) {\r\n var dt = data[i].BasvuruDurumu;\r\n if (maxDurumId < dt)\r\n maxDurumId = dt;\r\n temp[dt] = temp[dt] + data[i].Toplam;\r\n rec += data[i].Toplam;\r\n }\r\n\r\n\r\n dataarray.push(['Durum', 'Toplam', { role: 'annotation' }, { role: \"style\" }]);\r\n for (var i = 1; i < maxDurumId; i++) {\r\n if (i == 9 || i == 8) continue;//ignore sureç tamamlanan apps\r\n var d = denetimlist.find(rec => rec.id == i);\r\n dataarray.push([d == null ? i : d.name, temp[i], temp[i], ' stroke-width: 1; color:' + chartColors[(i - 1) % chartColors.length] + \"; stroke-color: #000000;\"]);\r\n }\r\n\r\n drawChart(dataarray, 'userstaticpanel2');\r\n setReccount(rec)\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n var columns;\r\n const generateTable = () => {\r\n\r\n const columnSet = new Set();\r\n \r\n tableData.forEach(row => {\r\n Object.keys(row).forEach(key => { if (key != report.baseRow) columnSet.add(key) });\r\n });\r\n \r\n columns = Array.from(columnSet);\r\n columns.unshift(report.baseRow)\r\n\r\n return <div className=\"table-responsive\">\r\n <table className='table table-vdstriped' aria-labelledby=\"tabelLabel\" id=\"reportTable\">\r\n <thead >\r\n \r\n {columns.map(c => <th className=\"text-start ps-1\">{c}</th>)}\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {tableData.map((rec, idx) => \r\n <tr>\r\n {columns.map(c => <td className=\"text-start\">{rec[c]}</td>)}\r\n \r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n }\r\n\r\n\r\n\r\n\r\n const drawChart = (dataarray, target) => {\r\n var data = window.google.visualization.arrayToDataTable(dataarray);\r\n var options = {\r\n colors: chartColors,\r\n chartArea: {\r\n // leave room for y-axis labels\r\n top: 20,\r\n width: '100%',\r\n height: '70%'\r\n },\r\n hAxis: {\r\n slantedTextAngle: 45,\r\n textStyle: {\r\n fontSize: 14\r\n\r\n },\r\n baselineColor: \"EEF8FB\",\r\n gridlines: {\r\n color: \"transparent\"\r\n },\r\n\r\n },\r\n vAxis: {\r\n gridlines: {\r\n color: \"EEF8FB\"\r\n },\r\n\r\n minorGridlines: {\r\n color: 'transparent'\r\n\r\n },\r\n textStyle: {\r\n fontSize: 16 // or the number you want\r\n }\r\n ,\r\n baselineColor: \"DDF7FD\"\r\n\r\n },\r\n annotations: {\r\n stem: {\r\n length: 0\r\n },\r\n alwaysOutside: true,\r\n textStyle: {\r\n auraColor: 'none',\r\n color: '#000000',\r\n }\r\n\r\n },\r\n animation: {\r\n duration: 1200,\r\n easing: 'out',\r\n \"startup\": true\r\n },\r\n\r\n width: '100%',\r\n legend: { position: \"none\" },\r\n\r\n };\r\n\r\n\r\n var chart = new window.google.visualization.ColumnChart(document.getElementById(target));\r\n\r\n chart.draw(data, options);\r\n ReactDOM.render(generateTable(), document.getElementById(\"tablePart\"));\r\n\r\n }\r\n\r\n \r\n\r\n return (\r\n <div>\r\n <a download=\"report.csv\" id=\"downloadlink\" onClick={() => { exportExcel(\"reportTable\", \"downloadlink\") }} href=\"#\" className=\"btn btn-link btn-sm text-decoration-none text-success\"><i class=\"fa fa-file-excel-o\" aria-hidden=\"true\"></i></a>\r\n {generateTable() }\r\n </div>\r\n\r\n );\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useLocation } from 'react-router-dom'\r\nimport SurecSta from './SurecSta.js';\r\nimport PersonelPerfSta from './PersonelPerfSta.js';\r\nimport AppMonthStatistic from './AppMonthStatistic.js';\r\nimport BasvuruTamamlamaSta from './BasvuruTamamlamaSta.js';\r\nimport BasvuruAdetStat from './TmamlanmaStat.js';\r\nimport TahsilEdilenHarcStat from './TahsilEdilenHarcStat.js';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport { useGlobalState, sendget, sendpost } from '../GlobalState.js';\r\nimport Report from './Report.js';\r\n\r\nexport default function StatisticPanel(props) {\r\n const [activePanel, setActivePanel] = useState(<SurecSta />);\r\n const [role, setRole] = useGlobalState('role');\r\n const [reports, setReports] = useState([]);\r\n\r\n const makeBold = (e) => {\r\n\r\n var btns = document.getElementById(\"buttonsbox\").querySelectorAll(\".btn\");\r\n btns.forEach(x => { if (x.classList.contains(\"btn-link\") == false) { x.classList.remove(\"btn-primary\"); x.classList.add(\"text-muted\") } })\r\n if (e == null) return;\r\n var b = e.target;\r\n b.classList.remove(\"text-muted\")\r\n b.classList.add(\"btn-primary\")\r\n }\r\n\r\n useEffect(() => {\r\n sendget(\"reportlist\", \"myspinner\", (resp) => {\r\n resp.json().then(value => {\r\n setReports(value)\r\n })\r\n })\r\n }, [])\r\n\r\n return <div className=\"row p-1 pb-5 pt-2 d-flex\" style={{ \"background-color\": \"#ebebeb\", \"height\": \"100%\" }} >\r\n\r\n <div className=\"col-md-2 col-12 flex-grow-1\" id=\"buttonsbox\">\r\n <div className=\"bg-white rounded-3 p-2\">\r\n {role.indexOf(UserPermConstants.Anlik_Istatistikleri_Gorme) > -1 && <div className='row'>\r\n <div className=\"col-12 ps-2\">\r\n <button type=\"button\" className=\"text-start btn fw-bold btn-sm text-decoration-none \" onClick={(e) => { makeBold(e); setActivePanel(<SurecSta />) }}>\r\n Anlık Süreç Bilgileri\r\n </button>\r\n </div>\r\n </div>}\r\n {role.indexOf(UserPermConstants.Proje_Istatistiklerini_Gorme) > -1 && <div className='row mt-4'>\r\n <div className=\"col-12 ps-2\">\r\n <button type=\"button\" className=\"text-start btn fw-bold btn-sm text-decoration-none \" onClick={(e) => { makeBold(e); setActivePanel(<BasvuruAdetStat />) }}>\r\n Tamamlanma Ä°statistikleri\r\n </button>\r\n </div>\r\n </div>}\r\n {role.indexOf(UserPermConstants.Kontrolor_Istatistiklerini_Gorme) > -1 && <div className='row mt-4'>\r\n <div className=\"col-12 ps-2\">\r\n <button type=\"button\" className=\"text-start btn fw-bold btn-sm text-decoration-none \" onClick={(e) => { makeBold(e); setActivePanel(<PersonelPerfSta />) }}>\r\n Personel Performansı\r\n </button>\r\n </div>\r\n </div>}\r\n\r\n\r\n {role.indexOf(UserPermConstants.Zamansal_Istatistikleri_Gorme) > -1 && <div className='row mt-4'>\r\n <div className=\"col-12 ps-2\">\r\n <button type=\"button\" className=\"btn fw-bold btn-sm text-decoration-none \" onClick={(e) => { makeBold(e); setActivePanel(<AppMonthStatistic />) }}>\r\n Aylık BaÅŸvurular\r\n </button>\r\n </div>\r\n </div>}\r\n\r\n {/*<div className='row mt-4'>*/}\r\n {/* <div className=\"col-12 ps-2\">*/}\r\n {/* <button type=\"button\" className=\"btn fw-bold btn-link btn-sm text-muted text-decoration-none p-0\" onClick={() => { setActivePanel(<TahsilEdilenHarcStat />) }}>*/}\r\n {/* Tahsil Edilen Harçlar*/}\r\n {/* </button>*/}\r\n {/* </div>*/}\r\n {/*</div>*/}\r\n\r\n\r\n\r\n\r\n {reports.map(r => <div className='row mt-4 '>\r\n <div className=\"col-12 ps-2\">\r\n <button type=\"button\" className=\"btn fw-bold btn-sm text-decoration-none \" onClick={(e) => {\r\n makeBold(e);\r\n sendpost(\"getrport\",r.id, \"myspinner\", (resp) => {\r\n resp.json().then(value => {\r\n setActivePanel(<Report data={JSON.parse(value)} report={r} />)\r\n })\r\n })\r\n \r\n }}>\r\n {r.name}\r\n </button>\r\n </div>\r\n </div>)}\r\n\r\n </div>\r\n </div>\r\n <div className=\"col-md-10 col-12 rounded-3 border-1\" >\r\n\r\n <div className=\"bg-white rounded-3 p-3 me-1 align-items-center justify-content-center border\" style={{ \"height\": \"100%\" }} >\r\n {activePanel}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n}\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { isEmpty, useGlobalState } from '../GlobalState.js';\r\nimport axios from \"axios\";\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport HelpPanel from './HelpPanel.js';\r\n\r\nexport default function HelpVideoPanel(props) {\r\n\r\n\r\n const [helpRec, setHelpRec] = useState(props.helpRec);\r\n\r\n\r\n useEffect(() => {\r\n\r\n\r\n }, [])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n return (\r\n <div className=\"rounded\">\r\n\r\n <div className=\"row mt-3\">\r\n <div className=\"col-10\">\r\n <h5 className=\"text-primary\">Yardım Video -{helpRec.id}</h5>\r\n </div>\r\n <div className=\"col-2 text-end\">\r\n <button className=\"btn btn-sm btn-link text-decoration-none p-0 me-1\" type=\"button\" onClick={() => props.changeComponent(<HelpPanel changeComponent={props.changeComponent} />)} title=\"kapat\"> <i class=\"fa fa-close\" style={{ \"font-size\": \"18px\" }}></i></button>\r\n \r\n </div>\r\n </div>\r\n\r\n\r\n \r\n <div className=\"row mt-3\">\r\n <div className=\"col-10\">\r\n {helpRec.caption}\r\n </div>\r\n <div className=\"col-2 text-end\">\r\n {helpRec.postDate}\r\n </div>\r\n </div>\r\n\r\n <div className=\"row p-3\" >\r\n <div className=\"col-12 \" style={{ resize: \"vertical\", overflow:\"hidden\" }}>\r\n\r\n <iframe width=\"100%\" height=\"100%\" style={{ minHeight: \"480px\" }}\r\n src={helpRec.url}>\r\n </iframe>\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { isEmpty, useGlobalState } from '../GlobalState.js';\r\nimport axios from \"axios\";\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport HelpVideoPanel from './HelpVideoPanel.js';\r\nimport $ from 'jquery';\r\nimport { logout, passFilter, removeTurkcLow } from '../GlobalState.js';\r\n\r\n\r\nexport default function HelpSettingPanel(props) {\r\n var postdata = {};\r\n postdata[\"FileType\"] = \"pdf\";\r\n var selectedRecord = null;\r\n const [listData, setListData] = useState(null);\r\n const [makaleList, setMakaleList] = useState(null);\r\n const [formList, setFormList] = useState(null);\r\n const [userData, setUserData] = useState([]);\r\n var multiselectRef = React.createRef();\r\n const [role, setRole] = useGlobalState('role');\r\n const [myuserName, setuserName] = useGlobalState('userName');\r\n\r\n\r\n useEffect(() => {\r\n fetchUserData();\r\n\r\n\r\n }, [])\r\n\r\n\r\n const fetchUserData = () => {\r\n var param = \"?user=\" + myuserName;\r\n fetch(\"getuser\" + param, {\r\n method: 'GET'\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setUserData(data);\r\n getHelpList();\r\n fetchMakaleList()\r\n fetchSampleFormList();\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n const filterTable = (event) => {\r\n var textbox = document.getElementById(\"ara\")\r\n if (textbox == null)\r\n return;\r\n var value = textbox.value.toLowerCase();\r\n\r\n $(\"#myTable div.filterable\").filter(function () {\r\n var keywords = value.split(\" \");\r\n var ret = true;\r\n var t1 = removeTurkcLow($(this).text());\r\n for (let index = 0; index < keywords.length; ++index) {\r\n var t2 = removeTurkcLow(keywords[index]);\r\n if (t1.indexOf(t2) == -1)\r\n return $(this).toggle(false);\r\n }\r\n return $(this).toggle(true);\r\n });\r\n\r\n }\r\n\r\n\r\n const fetchMakaleList = () => {\r\n\r\n fetch(\"getmakalelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setMakaleList(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const fetchSampleFormList = () => {\r\n\r\n fetch(\"getsampleformlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setFormList(value)\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const getHelpList = () => {\r\n fetch(\"gethelplist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value)\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n const getFileIcon = (filname) => {\r\n if (filname.endsWith(\"pdf\")) return <i class=\"fa fa-file-pdf-o text-danger\" style={{ \"font-size\": \"32px\" }}></i>\r\n if (filname.endsWith(\"doc\") || filname.endsWith(\"docx\")) return <i class=\"fa fa-file-word-o text-primary\" style={{ \"font-size\": \"32px\" }}></i>\r\n if (filname.endsWith(\"xls\") || filname.endsWith(\"xlsx\")) return <i class=\"fa fa-file-excel-o text-success\" style={{ \"font-size\": \"32px\" }}></i>\r\n if (filname.endsWith(\"zip\") || filname.endsWith(\"rar\")) return <i class=\"fa fa-file-zip-o text-info\" style={{ \"font-size\": \"32px\" }}></i>\r\n return <i class=\"fa fa-file-text-o\" style={{ \"font-size\": \"32px\" }}></i>\r\n }\r\n\r\n const renderSampleFormTable = (tabledata) => {\r\n var mytable = <div className=\"row p-2\" >\r\n\r\n {tabledata.map(apprec => <div className=\"col-12 col-md-4 mb-4 mt-1 filterable \" key={apprec.id} style={{ \"font-family\": \"Inter\" }}>\r\n\r\n <div className=\"rounded-3 p-3 bg-light rounded-4 overflow-auto\">\r\n <div>\r\n <div className=\"row align-bottom d-flex align-items-end text-secondary mt-2\">\r\n <div className=\"col-10 align-bottom\">\r\n {isEmpty(apprec.fileName) == false &&\r\n <a className=\"text-decoration-none\" href={'getsampleform?id=' + apprec.id} download={apprec.fileName}>\r\n {getFileIcon(apprec.fileName)} {apprec.fileName}\r\n </a>\r\n }\r\n\r\n </div>\r\n </div>\r\n <div className=\"fw-bold text-justify mt-2\" style={{ \"font-size\": \"16px\", \"color\": \"#78829d\", \"text-align\": \"justify\" }}>\r\n <div className=\"col-12\" > <div className=\"mt-1\" dangerouslySetInnerHTML={{ __html: apprec.caption }} /></div>\r\n </div>\r\n\r\n <div className=\" text-start mt-2\" style={{ \"font-size\": \"15px\" }}>\r\n <a href={apprec.url} target=\"_blank\" className=\"text-decoration-none\"> {apprec.url} </a>\r\n </div>\r\n\r\n <div className=\"row text-secondary mt-3\">\r\n <div className=\"col-10 \">\r\n <img className=\"rounded-circle\" style={{ width: \"32px\", height: \"32px\" }} src={\"/getuserpic?user=\" + apprec.userName} />\r\n <span style={{ \"font-size\": \"14px\", \"font-weight\": \"600\", \"color\": \"#4b5675\" }}> {apprec.userName}</span> <span style={{ \"font-size\": \"14px\", \"font-weight\": \"600\", \"color\": \"#99a1b7\" }}>{apprec.postDate}</span>\r\n </div>\r\n <div className=\"col-2 text-end \">\r\n {apprec.id}\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>)}\r\n </div>\r\n\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n const renderMakaleTable = (tabledata) => {\r\n\r\n var mylist = tabledata.filter(x => isEmpty(x.roles) || x.roles.split(',').some(x => role.includes(x)));\r\n\r\n var mytable = <div className=\"row\" >\r\n\r\n {mylist.map(apprec => <div className=\"col-12 col-md-6 mb-4 mt-1 filterable\" key={apprec.id} style={{ \"font-family\": \"Inter\" }}>\r\n\r\n <div className=\"rounded-3 p-3\">\r\n <div>\r\n <div className=\" text-start mt-1 fw-bold pb-2\" style={{ \"font-size\": \"16px\", \"font-weight\": \"600\", \"color\": \"#071437\" }}>{apprec.title}</div>\r\n <div className=\" text-justify\" style={{ \"font-size\": \"15px\", \"color\": \"#78829d\", \"text-align\": \"justify\" }}>\r\n <div className=\"col-12\" > <div className=\"mt-1\" dangerouslySetInnerHTML={{ __html: apprec.text }} /></div>\r\n </div>\r\n <div className=\"row align-bottom d-flex align-items-end text-secondary mt-3\">\r\n <div className=\"col-10 align-bottom\">\r\n <img className=\"rounded-circle\" style={{ width: \"32px\", height: \"32px\" }} src={\"/getuserpic?user=\" + apprec.userName} />\r\n <span style={{ \"font-size\": \"14px\", \"font-weight\": \"600\", \"color\": \"#4b5675\" }}> {apprec.userName}</span> <span style={{ \"font-size\": \"14px\", \"font-weight\": \"600\", \"color\": \"#99a1b7\" }}>{apprec.sendDate}</span> {apprec.id}\r\n </div>\r\n <div className=\"col-2 text-end align-bottom\">\r\n {apprec.id}\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>)}\r\n </div>\r\n\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n var userTypes = userData.userType.split(\",\");\r\n var mylist = tabledata.filter(x => isEmpty(x.roles) || x.roles.split(',').some(y => userTypes.includes(y)));\r\n var mytable = <div className=\"row\" >\r\n {mylist.map(apprec =>\r\n <div className=\"col-12 col-md-4 mb-4 mt-1 filterable\" key={apprec.id} style={{ \"font-family\": \"Inter\" }}>\r\n <div className=\"rounded-3 p-3\">\r\n {isEmpty(apprec.url) == false &&\r\n <a className=\"text-decoration-none text-secondary\" href=\"#\" style={{ position: \"relative\", display: \"grid\" }}\r\n onClick={() => props.changeComponent(<HelpVideoPanel changeComponent={props.changeComponent}\r\n helpRec={apprec} />)}>\r\n <img className=\"w-100 rounded-3 \" src={\"https://img.youtube.com/vi/\" + apprec.url.substring(apprec.url.lastIndexOf(\"/\") + 1) + \"/mqdefault.jpg\"} />\r\n\r\n <i class=\"fa fa-youtube-play\" style={{ position: \"absolute\", \"z-index\": 2, top: \"40%\", left: \"40%\", \"opacity\": 0.8, \"font-size\": \"48px\" }}></i>\r\n </a>\r\n }\r\n <div>\r\n <div className=\" text-start mt-1 fw-bold\" style={{ \"font-size\": \"16px\", \"font-weight\": \"600\", \"color\": \"#071437\" }}>{apprec.title}</div>\r\n <div className=\" fw-bold text-start \" style={{ \"font-size\": \"15px\", \"font-weight\": \"500\", \"color\": \"#78829d\" }}>\r\n {apprec.caption}\r\n </div>\r\n <div className=\"row mt-2 align-bottom d-flex align-items-end text-secondary\">\r\n <div className=\"col-8 align-bottom\">\r\n <img className=\"rounded-circle\" style={{ width: \"32px\", height: \"32px\" }} src={\"/getuserpic?user=\" + apprec.userName} />\r\n <span style={{ \"font-size\": \"14px\", \"font-weight\": \"600\", \"color\": \"#4b5675\" }}> {apprec.userName} </span> <span style={{ \"font-size\": \"14px\", \"font-weight\": \"600\", \"color\": \"#99a1b7\" }}> {apprec.postDate}</span> {apprec.id}\r\n </div>\r\n <div className=\"col-4 text-end\">\r\n {isEmpty(apprec.fileName) == false &&\r\n <a className=\"text-decoration-none align-middle btn-sm btn btn-primary\" href={'gethelpfile?id=' + apprec.id} download={apprec.fileName}> Ek Dosya</a>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n\r\n\r\n\r\n return (mytable);\r\n }\r\n\r\n var helplistTable = <div class=\"spinner-border \" ></div>;\r\n var sampleformTable = <div class=\"spinner-border \" ></div>;\r\n var makalelistTable = <div class=\"spinner-border \" ></div>;\r\n\r\n if (listData != null) {\r\n helplistTable = renderTable(listData);\r\n }\r\n if (makaleList != null) {\r\n makalelistTable = renderMakaleTable(makaleList);\r\n }\r\n\r\n if (formList != null) {\r\n sampleformTable = renderSampleFormTable(formList);\r\n }\r\n\r\n\r\n return (\r\n <div className=\"mt-2 rounded bg-light p-2 rounded-3 \" style={{ \"font-family\": \"Inter\" }}>\r\n <div className=\"mb-3\" style={{ \"font-size\": 18, \"font-weight\": \"600\", \"color\": \"#252f4a\" }}>Yardım Paneli</div>\r\n <div className=\"m-1 rounded-3 border bg-white shadow-sm\" >\r\n\r\n <div className=\"row align-middle d-flex align-items-center \" >\r\n <div className=\"col-12 col-md-1 \"></div>\r\n <div className=\"col-12 col-md-7 pt-5 pb-4\">\r\n <div className=\"align-middle ms-1 me-5\" style={{ \"font-size\": 23, \"font-weight\": \"600\", \"color\": \"#252f4a\" }}>\r\n Size Nasıl Yardımcı Olabiliriz ?\r\n\r\n <div className=\"row border rounded-3 ms-1 mt-4 p-1 d-flex align-items-center\" >\r\n <div className=\"col-1 d-flex align-items-center\"><span className='fa fa-circle-o text-primary' style={{ \"font-size\": 16 }}> </span></div>\r\n <div className=\"col-10 \">\r\n <input type=\"text\" className=\"form-control form-control-sm border-0 shadow-none\" id=\"ara\" defaultValue=\"\" placeholder=\"\" name=\"ara\" onKeyUp={filterTable} />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-12 col-md-4 text-center\">\r\n <img src={require('../Header/textlogo.png').default} style={{ \"max-width\": \"auto\", \"max-height\": \"128px\", \"object-fit\": \"cover\" }} />\r\n </div>\r\n </div>\r\n\r\n <div className=\"row ms-5 me-5 mb-3 rounded-3 bg-light \" >\r\n\r\n <div className=\"col-12 p-2\">\r\n <a className=\"btn text-start btn-outline-primary text-decoration-none me-1 border-0 rounded-2 p-2 ps-3 pe-3\" style={{ \"font-size\": 14, \"font-weight\": \"600\" }} href=\"#makalelerdiv\">\r\n MAKALELER\r\n </a>\r\n <a className=\"btn text-start btn-outline-primary text-decoration-none me-1 border-0 rounded-2 p-2 ps-3 pe-3\" style={{ \"font-size\": 14, \"font-weight\": \"600\" }} href=\"#videolardiv\">\r\n VÄ°DEOLAR\r\n </a>\r\n <a className=\"btn text-start btn-outline-primary text-decoration-none me-1 border-0 rounded-2 p-2 ps-3 pe-3\" style={{ \"font-size\": 14, \"font-weight\": \"600\" }} href=\"#formlardiv\">\r\n ÖRNEK FORMLAR\r\n </a>\r\n <a className=\"btn text-start btn-outline-primary text-decoration-none me-1 border-0 rounded-2 p-2 ps-3 pe-3\" style={{ \"font-size\": 14, \"font-weight\": \"600\" }} href=\"https://universe.web.tr/iletisim/\" target=\"_blank\">\r\n DESTEK TALEBÄ°\r\n </a>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n <div id=\"myTable\">\r\n <div className=\"mt-5 bg-white border rounded-3 p-4 shadow-sm border-bottom pb-3\" id=\"makalelerdiv\">\r\n <div className=\"mb-2 border-bottom pb-3\" style={{ \"font-size\": 18, \"font-weight\": \"600\", \"color\": \"#252f4a\" }}>Makaleler</div>\r\n {makalelistTable}\r\n </div>\r\n\r\n <div className=\"mt-5 bg-white border rounded-3 p-4 shadow-sm\" id=\"videolardiv\">\r\n <div className=\"mb-2 border-bottom pb-3\" style={{ \"font-size\": 18, \"font-weight\": \"600\", \"color\": \"#252f4a\" }}>Videolar</div>\r\n {helplistTable}\r\n </div>\r\n\r\n <div className=\"mt-5 bg-white border rounded-3 p-4 shadow-sm mb-4\" id=\"formlardiv\">\r\n <div className=\"mb-2 border-bottom pb-3\" style={{ \"font-size\": 18, \"font-weight\": \"600\", \"color\": \"#252f4a\" }}>Örnek Formlar</div>\r\n {sampleformTable}\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { showConfirmMessage, showErrorMessage, showSuccessMessage, useGlobalState } from '../GlobalState.js';\r\nimport { ajaxFail, removeTurkcLow } from '../GlobalState.js';\r\nimport $ from 'jquery';\r\n\r\nimport axios from \"axios\";\r\n\r\nexport default function FileSettingPanel(props) {\r\n var postdata = {};\r\n postdata[\"FileType\"] = \"\";\r\n const [listData, setListData] = useState([]);\r\n const [fileGurups, setFileGrupList] = useState([]);\r\n const [typeOptions, setTypeOptions] = useState([]);\r\n var multiselectRef = React.createRef();\r\n var multiselectRef2 = React.createRef();\r\n var sortField = null;\r\n const [role, setrol] = useGlobalState('role');\r\n const [roles, setRoles] = useState([]);\r\n const multiselectRefNewRole = React.createRef();\r\n\r\n\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n const update = (rec) => {\r\n fetch(\"updatesablonfile\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n showSuccessMessage(\"Guncelleme BaÅŸarılı\")\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const sil = (rec) => {\r\n showConfirmMessage(rec.id + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removesablonfile\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec.id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n }));\r\n\r\n }\r\n\r\n const onSelect1 = (selectedList, selectedItem) => {\r\n postdata[\"BasvuruTipi\"] = multiselectRef.current.getSelectedItems().join(\", \")\r\n }\r\n const onRemove1 = (selectedList, removedItem) => {\r\n postdata[\"BasvuruTipi\"] = multiselectRef.current.getSelectedItems().join(\", \")\r\n }\r\n const onSelect2 = (selectedList, selectedItem) => {\r\n postdata[\"fileType\"] = selectedList.join(\", \")\r\n }\r\n const onRemove2 = (selectedList, removedItem) => {\r\n postdata[\"fileType\"] = selectedList.join(\", \")\r\n }\r\n\r\n\r\n const getAppTypes = () => {\r\n fetch(\"denetimlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n var opt = [];\r\n value = value.filter(x => x.isadimi != true);\r\n for (var x of value) {\r\n opt.push(x.name)\r\n }\r\n setTypeOptions(opt);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const fetchFileList = () => {\r\n fetch(\"sablonfilenamelist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n <div className=\"table-responsive mainpagescroll\" style={{ \"height\": \"85vh\" }}>\r\n <table className='table table-vdstriped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead style={{ \"position\": \"sticky\", \"top\": 0, \"z-index\": \"1\" }} className=\"bg-light \">\r\n <tr>\r\n <th width=\"3%\">id</th>\r\n <th width=\"30%\">Açıklama</th>\r\n <th width=\"25%\">BaÅŸvuru Türü</th>\r\n <th width=\"20%\">Dosya Ä°smi</th>\r\n <th width=\"20%\">Tarih</th>\r\n <th width=\"2%\"></th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n <tr key={apprec.id}>\r\n <td>{apprec.id}</td>\r\n <td>\r\n \r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Açıklama\" name=\"caption\" defaultValue={apprec.caption} onChange={(e) => updateRecord(apprec, e)} />\r\n\r\n </td>\r\n <td>\r\n <Multiselect className=\"text-dark form-select-sm m-0 p-0 w-100\"\r\n options={typeOptions}\r\n emptyRecordMsg=\"BaÅŸka kayıt yok\"\r\n isObject={false}\r\n readonly\r\n selectedValues={apprec.basvuruTipi != null && apprec.basvuruTipi.length > 0 ? apprec.basvuruTipi.split(',') : []}\r\n onSelect={(selectedList, removedItem) => { apprec.basvuruTipi = selectedList.length == 0 ? null : selectedList.join() }} \r\n onRemove={(selectedList, removedItem) => { apprec.basvuruTipi = selectedList.length == 0 ? null : selectedList.join() }} \r\n hidePlaceholder={true}\r\n />\r\n {/*{apprec.basvuruTipi != null && apprec.basvuruTipi.length > 0 ? apprec.basvuruTipi.split(',') : \"\"}*/}\r\n </td>\r\n <td>{apprec.fileName}</td>\r\n <td>{apprec.tarih}</td>\r\n <td>\r\n <button onClick={() => sil(apprec)} className=\"btn btn-link btn-sm text-decoration-none\">Sil</button>\r\n <button onClick={() => { update(apprec); }} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Guncelle</button>\r\n <a href={\"./getsablonfile?id=\" + apprec.id} download={apprec.fileName} className=\"text-primary text-decoration-none\">Ä°ndir</a>\r\n </td>\r\n </tr>\r\n )}\r\n <tr className=\"bg-white\">\r\n <td></td>\r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"caption\" placeholder=\"Açıklama\" name=\"caption\" onChange={handleInputChange} />\r\n </td>\r\n <td >\r\n\r\n <Multiselect className=\"text-dark form-select-sm m-0 p-0\"\r\n options={typeOptions}\r\n emptyRecordMsg=\"BaÅŸka BaÅŸvuru Tipi Yok\"\r\n isObject={false}\r\n ref={multiselectRef2}\r\n // onSelect={onSelect2} \r\n // onRemove={onRemove2} \r\n hidePlaceholder={true}\r\n\r\n />\r\n </td>\r\n <td >\r\n </td>\r\n <td>\r\n </td>\r\n\r\n <td>\r\n <button className=\"btn btn-sm fw-bold p-1 ps-2 pe-2 me-2\"\r\n style={{ \"background-color\": \"#E1F0FF\", \"color\": \"#36A4FF\" }} onClick={() => { document.getElementById(\"selectedsablonFile\").click(); }} > <i class=\"fa fa-plus\" style={{ \"font-size\": \"18px\" }}></i>\r\n </button>\r\n <input type=\"file\" id=\"selectedsablonFile\" style={{ \"display\": \"none\" }} accept=\"\" onChange={(e) => handleSelectedFile(e)} />\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n const SendFiles = (file) => {\r\n\r\n var formData = new FormData();\r\n formData.append(\"dosya\", file);\r\n formData.append(\"fileName\", file.name);\r\n formData.append(\"caption\", document.getElementById(\"caption\").value);\r\n formData.append(\"basvuruTipi\", multiselectRef2.current.getSelectedItems().join(\", \"));\r\n axios.post(\r\n \"submitsablonfile\",\r\n formData,\r\n {\r\n headers: { \"Content-type\": \"multipart/form-data\", },\r\n }\r\n ).then(res => {\r\n document.getElementById(\"caption\").value = \"\";\r\n multiselectRef2.current.resetSelectedValues();\r\n fetchFileList();\r\n\r\n\r\n })\r\n .catch(err => { showErrorMessage(err); })\r\n }\r\n\r\n\r\n\r\n const handleSelectedFile = (event) => {\r\n if (event.target.files[0] != null) {\r\n SendFiles(event.target.files[0]);\r\n }\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value;\r\n }\r\n\r\n useEffect(() => {\r\n fetchFileList();\r\n getAppTypes();\r\n }, [])\r\n\r\n\r\n var listTable = renderTable(listData);\r\n\r\n return (\r\n <div >\r\n <h5>Åablon Dosyalar</h5>\r\n <div className=\"row\">\r\n <div className=\"col-12\">\r\n {listTable}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { ajaxFail, showConfirmMessage, showSuccessMessage } from '../GlobalState.js';\r\n\r\nexport default function FileGroupsSetting(props) {\r\n var postdata = {};\r\n const [listData, setListData] = useState([]);\r\n const multiselectRef = React.createRef();\r\n\r\n const multiselectRefNew = React.createRef();\r\n\r\n\r\n\r\n\r\n const fetchFileGroupList = () => {\r\n fetch(\"filegroupslist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n <div className=\"table-responsive mainpagescroll\" style={{ \"height\": \"85vh\" }}>\r\n <table className='table table-vdstriped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead style={{ \"position\": \"sticky\", \"top\": 0, \"z-index\": \"1\" }} className=\"bg-light\" >\r\n <tr>\r\n <th width=\"35px\">ID</th>\r\n <th>Grup Adı</th>\r\n <th>Sıra</th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n <tr key={apprec.id}>\r\n <td>{apprec.id}</td>\r\n <td><input type=\"text\" className=\"form-control form-control-sm \" style={{ \"background-color\": \"transparent\" }} placeholder=\"Dosya Grubu\" name=\"name\" onChange={(e) => updateRecord(apprec, e)} defaultValue={apprec.name} /></td>\r\n <td><input type=\"number\" className=\"form-control form-control-sm \" style={{ \"background-color\": \"transparent\" }} placeholder=\"Sıra\" name=\"sira\" onChange={(e) => updateRecord(apprec, e)} defaultValue={apprec.sira} /></td>\r\n\r\n <td className=\"text-end\"> <button onClick={() => { savedenetim(apprec); }} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Guncelle</button>\r\n \r\n <button onClick={() => { sil(apprec.id); }} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Sil</button>\r\n </td>\r\n </tr>\r\n )}\r\n <tr className=\"bg-white\">\r\n <td></td>\r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"name\" placeholder=\"Dosya Grubu\" name=\"name\" onChange={handleInputChange} />\r\n </td>\r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"sira\" placeholder=\"Sıra\" name=\"sira\" onChange={handleInputChange} />\r\n </td>\r\n\r\n <td className=\"text-end\"> <button onClick={() => savedenetim(null)} className=\"btn btn-sm btn-link text-decoration-none m-0 p-0\">Ekle</button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n const sil = (rec) => {\r\n showConfirmMessage(rec.id + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removefilegroup\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n }));\r\n\r\n }\r\n\r\n\r\n\r\n const savedenetim = (rec) => {\r\n var r = rec;\r\n if (r == null)\r\n r = postdata;\r\n\r\n fetch(\"savefilegroup\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(r)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n if (rec != null) {\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı. \")\r\n }\r\n else {\r\n document.getElementById(\"name\").value = \"\";\r\n document.getElementById(\"sira\").value = \"\";\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value;\r\n\r\n if (target.name == \"deadline\" && value == '')\r\n postdata[target.name] = null;\r\n\r\n }\r\n\r\n\r\n useEffect(() => {\r\n fetchFileGroupList();\r\n }, [])\r\n\r\n\r\n var listTable =renderTable(listData);\r\n\r\n return (\r\n <div className=\"border rounded border-light\">\r\n\r\n <h5>Dosya Grupları</h5>\r\n <div className=\"row\">\r\n <div className=\"col-12\">\r\n {listTable}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\n\r\nexport default function EimzaNameSetting(props) {\r\n var postdata = {};\r\n const [listData, setListData] = useState(null);\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n\r\n\r\n\r\n const removeRecord = (id) => {\r\n showConfirmMessage(id + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removeeimzaname\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n fetchList();\r\n }\r\n }))\r\n }\r\n\r\n const gerial = () => {\r\n var uuid = document.getElementById(\"eimzauuid\");\r\n if (uuid == null || isEmpty(uuid.value)) {\r\n showErrorMessage(\"UUID BoÅŸ olamaz\");\r\n return;\r\n }\r\n\r\n\r\n fetch(\"rolbackeimza\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(uuid.value)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.text().then(value => {\r\n showSuccessMessage(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const submitUpdateRecord = (rec) => {\r\n\r\n fetch(\"updateeimzaname\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı\")\r\n }\r\n });\r\n }\r\n const fetchList = () => {\r\n\r\n fetch(\"geteimzanamelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const Add = () => {\r\n fetch(\"addeimzaname\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(document.getElementById(\"name\").value)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n document.getElementById(\"name\").value = \"\";\r\n fetchList();\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n <div className=\"table-responsive mainpagescroll\" style={{ \"height\": \"85vh\" }}>\r\n <table className='table table-striped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead style={{ \"position\": \"sticky\", \"top\": 0, \"z-index\": \"1\" }} className=\"bg-light\">\r\n <tr>\r\n <th width=\"50px\">No</th>\r\n <th >Eimza Süreç Ä°smi</th>\r\n <th width=\"190px\">Kayıt Tarihi</th>\r\n <th width=\"130px\">Ekleyen</th>\r\n <th width=\"100px\"></th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n <tr key={apprec.id}>\r\n <td>{apprec.id}</td>\r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"\" name=\"name\" defaultValue={apprec.name} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n <td>{apprec.tarih}</td>\r\n <td>{apprec.ekleyen}</td>\r\n\r\n <td>\r\n <button onClick={() => submitUpdateRecord(apprec)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Güncelle</button> \r\n <button onClick={() => removeRecord(apprec.id)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Sil</button>\r\n </td>\r\n </tr>\r\n )}\r\n <tr className=\"bg-white\">\r\n <td></td>\r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"name\" placeholder=\"Yeni Süreç Ä°smi\" name=\"message\" defaultValue=\"\" />\r\n </td>\r\n\r\n <td></td>\r\n <td></td>\r\n <td> <button onClick={Add} className=\"btn btn-sm btn-link text-decoration-none m-0 p-0\">Ekle</button></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n }, [])\r\n\r\n\r\n var listTable = \"\";\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n else\r\n listTable = renderTable([]);\r\n\r\n return (\r\n <div className=\" rounded \">\r\n\r\n <h5 className=\"ps-1\">Eimza Dosya Geri Yükleme</h5>\r\n <div className=\"row mb-4 \">\r\n <div className=\"col-9 bg-light p-2\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"UUID\" name=\"eimzauuid\" id=\"eimzauuid\" defaultValue=\"\" />\r\n </div>\r\n <div className=\"col-3 bg-light p-2 text-end\">\r\n <button onClick={gerial} className=\"btn btn-sm btn-primary mb-2 rounded-3 \">Geri Al</button>\r\n </div>\r\n </div>\r\n\r\n <h5 className=\"ps-1\">Eimza Süreç Ä°simleri</h5>\r\n <div className=\"row\">\r\n <div className=\"col-12\">\r\n {listTable}\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { ajaxFail, showConfirmMessage, showSuccessMessage } from '../GlobalState.js';\r\n\r\nexport default function AppTypeGroupSetting(props) {\r\n var postdata = {};\r\n const [listData, setListData] = useState([]);\r\n const multiselectRef = React.createRef();\r\n\r\n const multiselectRefNew = React.createRef();\r\n\r\n\r\n\r\n\r\n const fetchList = () => {\r\n fetch(\"apptypegroupslist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n <div className=\"table-responsive table-sm mainpagescroll\" style={{ \"height\": \"85vh\" }}>\r\n <table className='table table-vdstriped ' aria-labelledby=\"tabelLabel\">\r\n <thead style={{ \"position\": \"sticky\", \"top\": 0, \"z-index\": \"1\" }} className=\"bg-light \">\r\n <tr>\r\n <th width=\"35px\">ID</th>\r\n <th>Grup Adı</th>\r\n <th>Sıra</th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n <tr key={apprec.id}>\r\n <td>{apprec.id}</td>\r\n <td><input type=\"text\" className=\"form-control form-control-sm \" style={{ \"background-color\": \"transparent\" }} placeholder=\"Dosya Grubu\" name=\"name\" onChange={(e) => updateRecord(apprec, e)} defaultValue={apprec.name} /></td>\r\n <td><input type=\"number\" className=\"form-control form-control-sm \" style={{ \"background-color\": \"transparent\" }} placeholder=\"Sıra\" name=\"sira\" onChange={(e) => updateRecord(apprec, e)} defaultValue={apprec.sira} /></td>\r\n\r\n <td className=\"text-end\"> <button onClick={() => { save(apprec); }} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Guncelle</button>\r\n \r\n <button onClick={() => { sil(apprec.id); }} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Sil</button>\r\n </td>\r\n </tr>\r\n )}\r\n <tr className=\"bg-white\">\r\n <td></td>\r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"name\" placeholder=\"Dosya Grubu\" name=\"name\" onChange={handleInputChange} />\r\n </td>\r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"sira\" placeholder=\"Sıra\" name=\"sira\" onChange={handleInputChange} />\r\n </td>\r\n\r\n <td className=\"text-end\"> <button onClick={() => save(null)} className=\"btn btn-sm btn-link text-decoration-none m-0 p-0\">Ekle</button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n const sil = (rec) => {\r\n showConfirmMessage(rec.id + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removeapptypegroup\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n }));\r\n\r\n }\r\n\r\n\r\n\r\n const save = (rec) => {\r\n var r = rec;\r\n if (r == null)\r\n r = postdata;\r\n\r\n fetch(\"saveapptypegroup\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(r)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n if (rec != null) {\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı. \")\r\n }\r\n else {\r\n document.getElementById(\"name\").value = \"\";\r\n document.getElementById(\"sira\").value = \"\";\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value;\r\n\r\n if (target.name == \"deadline\" && value == '')\r\n postdata[target.name] = null;\r\n\r\n }\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n }, [])\r\n\r\n\r\n var listTable = renderTable(listData);\r\n\r\n return (\r\n <div className=\"border rounded border-light\">\r\n <h5>BaÅŸvuru Tipi Grupları</h5>\r\n <div className=\"row\">\r\n <div className=\"col-12\">\r\n {listTable}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, showConfirmMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport ReactQuill from 'react-quill';\r\nimport 'react-quill/dist/quill.snow.css';\r\n\r\nexport default function MakaleSetting(props) {\r\n var postdata =\"\";\r\n const [listData, setListData] = useState(null);\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n const removeRecord = (id) => {\r\n showConfirmMessage(id + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removemakale\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n fetchList();\r\n }\r\n }));\r\n }\r\n\r\n\r\n\r\n const submitUpdateRecord = (rec) => {\r\n\r\n fetch(\"updatemakale\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı\")\r\n }\r\n });\r\n }\r\n const fetchList = () => {\r\n\r\n fetch(\"getmakalelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const Add = () => {\r\n fetch(\"addmakale\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({ \"title\": document.getElementById(\"title\").value, \"text\": postdata })\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n \r\n document.getElementById(\"title\").value = \"\";\r\n fetchList();\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n\r\n <table className='table table-striped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead>\r\n <tr>\r\n <th width=\"2%\">No</th>\r\n <th width=\"18%\">BaÅŸlık</th>\r\n <th width=\"50%\">Açıklama</th>\r\n <th width=\"10%\">Kayıt Tarihi</th>\r\n <th width=\"10%\">Ekleyen</th>\r\n <th width=\"10%\"></th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n <tr key={apprec.id}>\r\n <td>{apprec.id}</td>\r\n <td>\r\n\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"\" name=\"title\" defaultValue={apprec.title} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n <td>\r\n <td style={{ \"resize\": \"vertical\", \"overflow-y\": \"scroll\", \"height\": \"120px\", \"min-width\": \"500px\" }} className=\"p-2\">\r\n <ReactQuill className=\"h-100\" theme=\"snow\" onChange={(e) => apprec.text = e} defaultValue={apprec.text} />\r\n </td>\r\n {/* <textarea className=\"form-control form-control-sm\" placeholder=\"\" name=\"text\" defaultValue={apprec.text} onChange={(e) => updateRecord(apprec, e)} />*/}\r\n </td>\r\n\r\n <td>{apprec.sendDate}</td>\r\n <td>{apprec.userName}</td>\r\n\r\n <td className=\"text-end\">\r\n <button onClick={() => submitUpdateRecord(apprec)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Güncelle</button> \r\n <button onClick={() => removeRecord(apprec.id)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Sil</button>\r\n </td>\r\n </tr>\r\n )}\r\n <tr className=\"bg-white\">\r\n <td></td>\r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"BaÅŸlık\" id=\"title\" name=\"title\" defaultValue=\"\" />\r\n </td>\r\n <td>\r\n <ReactQuill className=\"\" theme=\"snow\" value=\"\" onChange={(e) => postdata = e} />\r\n \r\n </td>\r\n\r\n <td></td>\r\n <td></td>\r\n\r\n <td className=\"text-end\"> <button onClick={Add} className=\"btn btn-sm btn-link text-decoration-none m-0 p-0\">Ekle</button></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n }, [])\r\n\r\n\r\n var listTable = \"\";\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n else\r\n listTable = renderTable([]);\r\n\r\n return (\r\n <div className=\" rounded \">\r\n\r\n <h5 className=\"ps-1\">Duyurular</h5>\r\n <div className=\"row\">\r\n <div className=\"col-12\">\r\n {listTable}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { showConfirmMessage, showErrorMessage, showSuccessMessage, useGlobalState } from '../GlobalState.js';\r\nimport axios from \"axios\";\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\n\r\nexport default function SampleFormSetting(props) {\r\n var postdata = {};\r\n postdata[\"FileType\"] = \"pdf\";\r\n var selectedRecord = null;\r\n const [listData, setListData] = useState(null);\r\n const [typeOptions, setTypeOptions] = useState([]);\r\n var multiselectRef = React.createRef();\r\n const [role, setRole] = useGlobalState('role');\r\n\r\n useEffect(() => {\r\n getHelpList();\r\n initModal();\r\n }, [])\r\n\r\n const sil = (rec) => {\r\n showConfirmMessage(rec.id + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removesampleform\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec.id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n }));\r\n }\r\n\r\n\r\n const SendFiles = (event) => {\r\n document.getElementById(\"fileuploadsp\").hidden = false;\r\n\r\n\r\n\r\n var selectedFile = { file: event.target.files[0] }\r\n var formData = new FormData();\r\n formData.append(\"file\", selectedFile.file);\r\n formData.append(\"caption\", selectedFile.file.name);\r\n formData.append(\"appid\", selectedRecord.id);\r\n axios.post(\"submitsampleform\",formData,\r\n {\r\n headers: {\r\n \"Content-type\": \"multipart/form-data\",\r\n },\r\n }\r\n ).then(res => {\r\n document.getElementById(\"fileuploadsp\").hidden = true;\r\n var locModal = document.getElementById('myModal');\r\n locModal.style.display = \"none\";\r\n locModal.classList.add(\"hide\");\r\n setListData(res.data);\r\n })\r\n .catch(err => { showErrorMessage(err); })\r\n }\r\n\r\n\r\n const initModal = () => {\r\n var locModal = document.getElementById('myModal');\r\n var btnclosedown = document.getElementById('downclosemodal');\r\n btnclosedown.addEventListener('click', (e) => {\r\n locModal.style.display = \"none\";\r\n locModal.classList.add(\"hide\");\r\n });\r\n }\r\n\r\n\r\n\r\n const onSelect = (selectedList, selectedItem) => {\r\n postdata[\"roles\"] = multiselectRef.current.getSelectedItems().map(c => c.appType).join(\", \")\r\n }\r\n const onRemove = (selectedList, removedItem) => {\r\n postdata[\"roles\"] = multiselectRef.current.getSelectedItems().map(c => c.appType).join(\", \")\r\n }\r\n\r\n\r\n\r\n\r\n const getHelpList = () => {\r\n fetch(\"getsampleformlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value)\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n const updatehelplist = (rec) => {\r\n fetch(\"updatesampleform\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value)\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı\")\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const Add = () => {\r\n fetch(\"addsampleform\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(postdata)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n document.getElementById(\"caption\").value = \"\";\r\n document.getElementById(\"url\").value = \"\";\r\n getHelpList();\r\n }\r\n });\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value;\r\n }\r\n\r\n var controlPanel = \"\";\r\n\r\n\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n\r\n <table className='table table-vdstriped table-sm text-start' aria-labelledby=\"tabelLabel\">\r\n <thead className=\"text-start\">\r\n <tr>\r\n <th width=\"3%\" className=\"text-start\">No</th>\r\n <th width=\"30%\" className=\"text-start\">Açıklama</th>\r\n <th width=\"27%\" className=\"text-start\">Link</th>\r\n <th width=\"10%\" className=\"text-start\">Dosya</th>\r\n <th width=\"10%\" className=\"text-start\">Ekleyen</th>\r\n <th width=\"10%\" className=\"text-start\">Kayıt Tarihi</th>\r\n <th width=\"10%\" className=\"text-end\"></th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n <tr key={apprec.id}>\r\n <td>{apprec.id}</td>\r\n <td>\r\n {apprec.caption}\r\n\r\n </td>\r\n <td>\r\n <a href={apprec.url} target=\"_blank\" > {apprec.url} </a>\r\n </td>\r\n\r\n <td><a href={'getsampleform?id=' + apprec.id} download={apprec.fileName}> {apprec.fileName} </a></td>\r\n <td>{apprec.userName}</td>\r\n <td>{apprec.postDate}</td>\r\n <td>{role.indexOf(UserPermConstants.Yonetmelik_Yukleme) != -1 && <>\r\n <button onClick={() => sil(apprec)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Sil</button> \r\n <button onClick={() => {\r\n document.getElementById('myModal').style.display = \"block\";\r\n document.getElementById('myModal').classList.remove(\"hide\");\r\n selectedRecord = apprec;\r\n }} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">\r\n Dosya Ekle</button></>}</td>\r\n </tr>\r\n )}\r\n {role.indexOf(UserPermConstants.Yonetmelik_Yukleme) != -1 &&\r\n <tr className=\"bg-white\">\r\n <td></td>\r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"caption\" placeholder=\"Açıklama\" name=\"caption\" onChange={handleInputChange} />\r\n </td>\r\n <td>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"url\" placeholder=\"Link\" name=\"url\" onChange={handleInputChange} />\r\n </td>\r\n <td></td>\r\n <td></td>\r\n <td></td>\r\n <td> <button onClick={Add} className=\"btn btn-sm btn-link text-decoration-none m-0 p-0\">Ekle</button></td>\r\n </tr>}\r\n </tbody>\r\n </table>\r\n\r\n return (mytable);\r\n }\r\n\r\n var listTable = <div class=\"spinner-border \" ></div>;\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n\r\n return (\r\n <div className=\" mt-2 rounded\">\r\n\r\n <h5>Örnek Formlar</h5>\r\n <div className=\"row\">\r\n <div className=\"col-12 text-center\">\r\n {listTable}\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div className=\"modal\" id=\"myModal\" >\r\n <div class=\"modal-dialog modal modal-dialog-centered \">\r\n <div class=\"modal-content\" >\r\n <div class=\"modal-body\" id=\"mymodalbody\" >\r\n\r\n <div className=\"row\">\r\n <div className=\"col-10\">\r\n\r\n <label for=\"formFile\" class=\"form-label\">Dosya Yukle</label>\r\n <br />\r\n <input class=\"form-control form-control-sm mt-2\" type=\"file\" id=\"formFile\" onChange={(e) => SendFiles(e)} />\r\n </div>\r\n\r\n <div className=\"col-2 text-end\">\r\n <div class=\"spinner-border spinner-border-sm\" hidden id=\"fileuploadsp\" ></div>\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-danger\" id=\"downclosemodal\" data-bs-dismiss=\"modal\">Close</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n );\r\n\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { isEmpty, useGlobalState } from '../GlobalState.js';\r\nimport axios from \"axios\";\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport HelpVideoPanel from './HelpVideoPanel.js';\r\nimport $ from 'jquery';\r\nimport { logout, passFilter, removeTurkcLow } from '../GlobalState.js';\r\n\r\nexport default function MevzuatPanel(props) {\r\n var postdata = {};\r\n postdata[\"FileType\"] = \"pdf\";\r\n const [listData, setListData] = useState(null);\r\n\r\n\r\n useEffect(() => {\r\n\r\n getHelpList();\r\n\r\n }, [])\r\n\r\n\r\n const filterTable = (event) => {\r\n var textbox = document.getElementById(\"ara\")\r\n if (textbox == null)\r\n return;\r\n var value = textbox.value.toLowerCase();\r\n\r\n $(\"#myTable div.filterable\").filter(function () {\r\n var keywords = value.split(\" \");\r\n var ret = true;\r\n var t1 = removeTurkcLow($(this).text());\r\n for (let index = 0; index < keywords.length; ++index) {\r\n var t2 = removeTurkcLow(keywords[index]);\r\n if (t1.indexOf(t2) == -1)\r\n return $(this).toggle(false);\r\n }\r\n return $(this).toggle(true);\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const getHelpList = () => {\r\n fetch(\"getyonetmenliklist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value)\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n const getFileIcon = (filname) => {\r\n if (filname.endsWith(\"pdf\")) return <i class=\"fa fa-file-pdf-o text-danger\" style={{ \"font-size\": \"32px\" }}></i>\r\n if (filname.endsWith(\"doc\") || filname.endsWith(\"docx\")) return <i class=\"fa fa-file-word-o text-primary\" style={{ \"font-size\": \"32px\" }}></i>\r\n if (filname.endsWith(\"xls\") || filname.endsWith(\"xlsx\")) return <i class=\"fa fa-file-excel-o text-success\" style={{ \"font-size\": \"32px\" }}></i>\r\n if (filname.endsWith(\"zip\") || filname.endsWith(\"rar\")) return <i class=\"fa fa-file-zip-o text-info\" style={{ \"font-size\": \"32px\" }}></i>\r\n return <i class=\"fa fa-file-text-o\" style={{ \"font-size\": \"32px\" }}></i>\r\n }\r\n\r\n const renderSampleFormTable = (tabledata) => {\r\n var mytable = <div className=\"row p-2\" >\r\n\r\n {tabledata.map(apprec => <div className=\"col-12 col-md-4 mb-4 mt-1 filterable \" key={apprec.id} style={{ \"font-family\": \"Inter\" }}>\r\n\r\n <div className=\"rounded-3 p-3 bg-light rounded-4 \">\r\n <div>\r\n <div className=\"row align-bottom d-flex align-items-end text-secondary mt-2\">\r\n <div className=\"col-10 align-bottom\">\r\n {isEmpty(apprec.fileName) == false &&\r\n <a className=\"text-decoration-none\" href={'getyonetmenlik?id=' + apprec.id} download={apprec.fileName}>\r\n {getFileIcon(apprec.fileName)} {apprec.fileName}\r\n </a>\r\n }\r\n\r\n </div>\r\n </div>\r\n <div className=\"fw-bold text-justify mt-2\" style={{ \"font-size\": \"16px\", \"color\": \"#78829d\", \"text-align\": \"justify\" }}>\r\n <div className=\"col-12\" > <div className=\"mt-1\" dangerouslySetInnerHTML={{ __html: apprec.caption }} /></div>\r\n </div>\r\n\r\n <div className=\" text-start mt-2\" style={{ \"font-size\": \"15px\" }}>\r\n <a href={apprec.url} target=\"_blank\" className=\"text-decoration-none\"> {apprec.url} </a>\r\n </div>\r\n\r\n <div className=\"row text-secondary mt-3\">\r\n <div className=\"col-10 \">\r\n <img className=\"rounded-circle\" style={{ width: \"32px\", height: \"32px\" }} src={\"/getuserpic?user=\" + apprec.userName} />\r\n <span style={{ \"font-size\": \"14px\", \"font-weight\": \"600\", \"color\": \"#4b5675\" }}> {apprec.userName}</span> <span style={{ \"font-size\": \"14px\", \"font-weight\": \"600\", \"color\": \"#99a1b7\" }}>{apprec.postDate}</span>\r\n </div>\r\n <div className=\"col-2 text-end \">\r\n {apprec.id}\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>)}\r\n </div>\r\n\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable = <div className=\"row p-2\" >\r\n\r\n {tabledata.map(apprec => <div className=\"col-12 col-md-4 mb-4 mt-1 filterable \" key={apprec.id} style={{ \"font-family\": \"Inter\" }}>\r\n\r\n <div className=\"rounded-3 p-3 bg-light rounded-4 overflow-auto\">\r\n <div>\r\n <div className=\"fw-bold text-justify mt-2 \" style={{ \"font-size\": \"16px\", \"color\": \"#78829d\", \"text-align\": \"justify\" }}>\r\n <div className=\"col-12\" > <div className=\"mt-1\" dangerouslySetInnerHTML={{ __html: apprec.caption }} /></div>\r\n </div>\r\n <div className=\"row align-bottom d-flex align-items-end text-secondary mt-2 overflow-auto\">\r\n <div className=\"col-10 align-bottom overflow-auto\">\r\n {isEmpty(apprec.fileName) == false &&\r\n <a className=\"text-decoration-none\" href={'getyonetmenlik?id=' + apprec.id} download={apprec.fileName}>\r\n {getFileIcon(apprec.fileName)} {apprec.fileName}\r\n </a>\r\n }\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\" text-start mt-2\" style={{ \"font-size\": \"15px\" }}>\r\n <a href={apprec.url} target=\"_blank\" className=\"text-decoration-none\"> {apprec.url} </a>\r\n </div>\r\n\r\n <div className=\"row text-secondary mt-3\">\r\n <div className=\"col-10 \">\r\n <img className=\"rounded-circle\" style={{ width: \"32px\", height: \"32px\" }} src={\"/getuserpic?user=\" + apprec.userName} />\r\n <span style={{ \"font-size\": \"14px\", \"font-weight\": \"600\", \"color\": \"#4b5675\" }}> {apprec.userName}</span> <span style={{ \"font-size\": \"14px\", \"font-weight\": \"600\", \"color\": \"#99a1b7\" }}>{apprec.postDate}</span>\r\n </div>\r\n <div className=\"col-2 text-end \">\r\n {apprec.id}\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>)}\r\n </div>\r\n\r\n return (mytable);\r\n }\r\n\r\n var mevzuatTable = <div class=\"spinner-border \" ></div>;\r\n if (listData != null) {\r\n mevzuatTable = renderTable(listData);\r\n }\r\n \r\n\r\n\r\n return (\r\n <div className=\"mt-2 rounded bg-light p-2 rounded-3 \" style={{ \"font-family\": \"Inter\" }}>\r\n <div className=\"mb-3\" style={{ \"font-size\": 18, \"font-weight\": \"600\", \"color\": \"#252f4a\" }}>Mevzuat Paneli</div>\r\n <div className=\"m-1 rounded-3 border bg-white shadow-sm\" >\r\n\r\n <div className=\"row align-middle d-flex align-items-center \" >\r\n <div className=\"col-12 col-md-1 \"></div>\r\n <div className=\"col-12 col-md-7 pt-5 pb-4\">\r\n <div className=\"align-middle ms-1 me-5\" style={{ \"font-size\": 23, \"font-weight\": \"600\", \"color\": \"#252f4a\" }}>\r\n Aradığınız YönetmeliÄŸi Hızlıca Bulun\r\n\r\n <div className=\"row border rounded-3 ms-1 mt-4 p-1 d-flex align-items-center\" >\r\n <div className=\"col-1 d-flex align-items-center\"><span className='fa fa-circle-o text-primary' style={{ \"font-size\": 16 }}> </span></div>\r\n <div className=\"col-10 \">\r\n <input type=\"text\" className=\"form-control form-control-sm border-0 shadow-none\" id=\"ara\" defaultValue=\"\" placeholder=\"\" name=\"ara\" onKeyUp={filterTable} />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-12 col-md-4 text-center\">\r\n <img src={require('../Header/textlogo.png').default} style={{ \"max-width\": \"auto\", \"max-height\": \"128px\", \"object-fit\": \"cover\" }} />\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div id=\"myTable\">\r\n <div className=\"mt-5 bg-white border rounded-3 p-4 shadow-sm mb-4\" id=\"formlardiv\">\r\n <div className=\"mb-2 border-bottom pb-3\" style={{ \"font-size\": 18, \"font-weight\": \"600\", \"color\": \"#252f4a\" }}>Mevzuat</div>\r\n {mevzuatTable}\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport Application from \"./Application.js\"\r\nimport { useGlobalState, logout, passFilter, removeTurkcLow, isEmpty, showErrorMessage } from '../GlobalState.js';\r\nimport $ from 'jquery';\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport { userInfo } from 'os';\r\n\r\nexport default function DeletedAppList(props) {\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [userName, setUserName] = useGlobalState('userName');\r\n const [applist, setApplist] = useState(null);\r\n\r\n const [spinnerClass, setSpinnerClass] = useState(\"fa fa-refresh\");\r\n const [devamstat, setDevamstat] = useState(null);\r\n\r\n const [surecList, setSurecList] = useState([]);\r\n const [colnames, setColnames] = useState([\"id\", \"mahalle\", \"ada\", \"basvuruTipi\", \"basvuruDurumu\", \"basvuruYapan\", \"basvuruTarihi\", \"removedby\", \"removeComment\"]);\r\n const [sortDirection, setSortDirection] = useState({});\r\n\r\n\r\n var sortField = null;\r\n\r\n\r\n useEffect(() => {\r\n \r\n fetchSurecList();\r\n }, []);\r\n\r\n\r\n\r\n const stopSpinner = () => {\r\n setSpinnerClass(\"fa fa-refresh\")\r\n }\r\n\r\n const startSpinner = () => {\r\n setSpinnerClass(\"spinner-grow spinner-grow-sm\")\r\n }\r\n\r\n\r\n\r\n\r\n const myCompare = (a, b) => {\r\n\r\n var av = a[sortField];\r\n var bv = b[sortField];\r\n\r\n if (sortField == \"basvuruDurumu\") {\r\n av = getDurumName(av);\r\n bv = getDurumName(bv);\r\n }\r\n\r\n var ret = 1;\r\n if (sortDirection[sortField] == \"ZA\")\r\n ret = -1;\r\n\r\n if (av == null && a.appData != null && a.appData.length > 2) {\r\n var oa = a.appDataObject[sortField];\r\n if (oa != null && oa.value != null)\r\n av = oa.value;\r\n }\r\n if (bv == null && b.appData != null && b.appData.length > 2) {\r\n var ob = b.appDataObject[sortField];\r\n if (ob != null && ob.value != null)\r\n bv = ob.value;\r\n }\r\n if (av == null && bv != null)\r\n return -1 * ret;\r\n if (av != null && bv == null)\r\n return ret;\r\n\r\n\r\n if (typeof av === 'string' || av instanceof String)\r\n if (typeof bv === 'string' || bv instanceof String)\r\n return av.localeCompare(bv) * ret;\r\n\r\n if (av < bv) {\r\n return -1 * ret;\r\n }\r\n if (av > bv) {\r\n return ret;\r\n }\r\n return 0;\r\n }\r\n const myCompareRev = (a, b) => {\r\n return -1 * myCompare(a, b)\r\n }\r\n\r\n\r\n\r\n const sortList = (fildname) => {\r\n sortField = fildname;\r\n if (sortDirection[sortField] == null || sortDirection[sortField] == \"ZA\") {\r\n sortDirection[sortField] = \"AZ\";\r\n }\r\n else {\r\n sortDirection[sortField] = \"ZA\";\r\n }\r\n\r\n\r\n var temp = [...applist]; //clone the array to update the component on setApplist\r\n temp.sort(myCompare);\r\n setApplist(temp);\r\n }\r\n const getSortedList = (data, temp) => {\r\n if (data.sort != null && data.sort.length > 0) {\r\n var sf = data.sort.split(\",\");\r\n if (sf.length > 0) {\r\n for (var i = 0; i < sf.length; i++) {\r\n if (sf[i][0] == '-') {\r\n sortField = sf[i].substring(1);\r\n temp.sort(myCompareRev);\r\n }\r\n else {\r\n sortField = sf[i];\r\n temp.sort(myCompare);\r\n }\r\n }\r\n }\r\n\r\n }\r\n return temp;\r\n }\r\n\r\n\r\n\r\n\r\n const getApplicationList = (sablonlist, removed) => {\r\n fetch(\"applicationlist?removedstatus=1\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n\r\n response.json().then(async applist => {\r\n setApplist(applist);\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n const filterTable = (event) => {\r\n var textbox = document.getElementById(\"mySearchInput\")\r\n if (textbox == null)\r\n return;\r\n var value = textbox.value.toLowerCase();\r\n\r\n $(\"#myTable tr\").filter(function () {\r\n var keywords = value.split(\" \");\r\n var ret = true;\r\n var t1 = removeTurkcLow($(this).text());\r\n for (let index = 0; index < keywords.length; ++index) {\r\n var t2 = removeTurkcLow(keywords[index]);\r\n if (t1.indexOf(t2) == -1)\r\n return $(this).toggle(false);\r\n }\r\n return $(this).toggle(true);\r\n });\r\n document.getElementById(\"totalrec\").innerHTML = $(\"#myTable tr:visible\").length + \" kayıt\";\r\n }\r\n\r\n const getcurrentFilters = () => {\r\n var cl = colnames;\r\n var val = []\r\n val.push(document.getElementById(\"mySearchInput\").value);\r\n for (var c = 0; c < cl.length; c++) {\r\n val.push(document.getElementById(cl[c]).value);\r\n }\r\n return val;\r\n }\r\n\r\n\r\n\r\n\r\n const filterColumn = (root) => {\r\n var cl = colnames;\r\n $(root).find(\"#myTable tr\").filter(function () {\r\n\r\n for (var c = 0; c < cl.length; c++) {\r\n var keywordElem = root.getElementById(cl[c]);\r\n var td = $(this).children().eq(c);\r\n if (keywordElem != null && isEmpty(keywordElem.value) == false) {\r\n var keyword = keywordElem.value;\r\n var pass = true;\r\n if (keyword.startsWith(\"-\")) {\r\n pass = false\r\n keyword = keyword.substr(1);\r\n }\r\n if (keyword.length == 0) break;\r\n td.attr('style', 'background: #fff8dd !important');\r\n var t1 = removeTurkcLow(td.text());\r\n var t2 = removeTurkcLow(keyword);\r\n if ((t1.indexOf(t2) == -1) == pass)\r\n return $(this).toggle(false);\r\n }\r\n else\r\n td.removeAttr('style');\r\n }\r\n return $(this).toggle(true);\r\n });\r\n\r\n if (root.getElementById(\"totalrec\") != null && $(\"#myTable tr:visible\") != null)\r\n root.getElementById(\"totalrec\").innerHTML = $(\"#myTable tr:visible\").length + \" kayıt\";\r\n }\r\n\r\n\r\n\r\n\r\n const fetchSurecList = () => {\r\n\r\n fetch(\"sureclist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n\r\n }\r\n else {\r\n response.json().then(value => {\r\n value.hashtable = {};\r\n value.forEach(element => value.hashtable[element.id] = element.name);\r\n setSurecList(value);\r\n getApplicationList()\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const setAppRemovedState = (app, isremoved, delete_comment) => {\r\n app.removed = isremoved;\r\n app.removeComment = delete_comment;\r\n fetch(\"saveapplication\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(app)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n getApplicationList();\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const deleteApp = (app) => {\r\n\r\n if (app.removed != true) {\r\n var comment = window.prompt(\"Lütfen Silme Nedenini Açıklayınız\")\r\n if (comment == null || comment.length == 0) {\r\n showErrorMessage(\"Açıklama BoÅŸ Olamaz\");\r\n return;\r\n }\r\n setAppRemovedState(app, true, comment);\r\n return;\r\n }\r\n fetch(\"removeapp\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(app)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setApplist(data);\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n const getDurumName = (i) => {\r\n\r\n var r = surecList.find(element => element.id == i);\r\n if (r == null) return i;\r\n return r.name;\r\n }\r\n\r\n const reduceTotalNames = (str) => {\r\n if (isEmpty(str)) return str;\r\n var parts = str.split(',')\r\n if (parts.length <= 2)\r\n return str;\r\n var vis = parts[0] + \" , \" + parts[1];\r\n vis = vis + \", +\" + (parts.length - 2);\r\n return <> {vis} <span hidden>{str}</span></>;\r\n }\r\n\r\n const findRowCount = (sab, tabledata) => {\r\n return tabledata.length;\r\n }\r\n\r\n const generateColumnHeader = (c) => {\r\n\r\n var t = c.toUpperCase() == \"ADA\" ? \"ADA/PARSEL\" : c.toUpperCase();\r\n var t = c.toUpperCase() == \"REMOVECOMMENT\" ? \"SÄ°LME NEDENÄ°\" : c.toUpperCase();\r\n var t = c.toUpperCase() == \"REMOVEDBY\" ? \"SÄ°LEN\" : c.toUpperCase();\r\n if (t.length > 14) {\r\n t = t.substr(0, 12) + \"...\";\r\n }\r\n return t;\r\n }\r\n\r\n\r\n\r\n\r\n const renderToList = (tabledata) => {\r\n\r\n\r\n if (tabledata == null || tabledata.length == 0)\r\n return <div className=\"w-100 text-center\" >Kayıt Yok</div>;\r\n\r\n\r\n\r\n\r\n var devamarray = [];\r\n if (devamstat != null && devamstat.appState != undefined)\r\n devamarray = devamstat.appState.split(\",\");\r\n\r\n\r\n var rows = tabledata.map(apprec =>\r\n <tr key={apprec.id}>\r\n {colnames.map(c => {\r\n if (apprec[c] != null) {\r\n if (c == \"basvuruDurumu\") return <td >{surecList.hashtable[apprec[c]]}</td>\r\n else if (c == \"müellif\") {\r\n return <td title={apprec.allmuelliflist}>\r\n {apprec[c]}{apprec.muellifCount > 2 ? (\", +\" + (apprec.muellifCount - 2)) : \"\"}\r\n </td>\r\n }\r\n else if (c == \"kontrolor\") {\r\n return <td title={apprec.kontrolorNameFamily}>{reduceTotalNames(apprec.kontrolorNameFamily)}</td>\r\n }\r\n else if (c == \"tümKontrolorler\") {\r\n return <td title={apprec.tümKontrolorler}>{reduceTotalNames(apprec.tümKontrolorler)}</td>\r\n }\r\n else return <td >{apprec[c]}</td>\r\n }\r\n try {\r\n var appDData = apprec.appDataObject;\r\n if (appDData != null && appDData[c] != null) {\r\n if (appDData[c].type != null && appDData[c].type == \"checkbox\") {\r\n return <td className=\"text-center\"><input type=\"checkbox\" className=\"form-check-input p-0 \" checked={appDData[c].value} /></td>\r\n }\r\n return <td >{appDData[c].value}</td>\r\n }\r\n }\r\n catch (ex) {\r\n return <td>{ex.toString()}</td>\r\n }\r\n\r\n return <td></td>\r\n })}\r\n\r\n <td style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\", \"font-size\": \"20px\" }}>\r\n {apprec.removed == true && role != null && (role.indexOf(UserPermConstants.Basvuru_Silme) > -1 || (apprec.basvuruDurumu==1 && userName == apprec.basvuruYapan)) && <a href=\"/#\" onClick={() => { setAppRemovedState(apprec, false) }} className=\"text-decoration-none align-middle\" ><i className=\"fa fa-refresh align-middle\"></i></a>}\r\n {((userName == apprec.basvuruYapan && apprec.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Taslak) || (role != null && role.indexOf(UserPermConstants.Basvuru_Silme) > -1)) && <a href=\"/#\" onClick={() => { deleteApp(apprec) }} className=\"text-decoration-none material-icons align-middle\" >delete</a>}\r\n </td>\r\n </tr>\r\n );\r\n\r\n var selectedSablonIndex = window.localStorage.getItem('sablon');\r\n if (selectedSablonIndex == null)\r\n selectedSablonIndex = 0;\r\n\r\n var mytable =\r\n <div className=\"mt-1\" key={selectedSablonIndex}>\r\n\r\n <div className=\"table-responsive mainpagescroll\" style={{ \"transform\": \"rotateX(180deg)\" }}>\r\n <table className='table table-vdstriped' aria-labelledby=\"tabelLabel\" style={{ \"transform\": \"rotateX(180deg)\" }}>\r\n <thead>\r\n <tr >\r\n\r\n {colnames.map((c, idx) =>\r\n <th> <div><button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(c)} title={c}> {generateColumnHeader(c)}</button></div>\r\n <div>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id={c} placeholder=\"\" name={c} onChange={() => filterColumn(document)} />\r\n </div></th>\r\n )}\r\n \r\n <th id=\"totalrec\" key={rows.length}>{rows.length} kayıt</th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {rows}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n var tabledata = <div class=\"d-flex justify-content-center\"><div class=\"spinner-border\" role=\"status\"></div></div>\r\n\r\n if (applist != null) {\r\n tabledata = renderToList(applist);\r\n }\r\n\r\n\r\n return <div id=\"applistroot\">\r\n {/*<div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" hidden={allready == true} ><div className=\"spinner-border\" ></div></div>*/}\r\n <div className=\" align-items-center justify-content-center p-1\" >\r\n\r\n <div className=\"row\">\r\n <div className=\"col-12 col-md-4\">\r\n </div>\r\n <div className=\"col-12 col-md-4\">\r\n <input className=\"form-control form-control-sm\" id=\"mySearchInput\" type=\"text\" placeholder=\"Ara\" onKeyUp={filterTable} />\r\n\r\n </div>\r\n\r\n </div>\r\n {tabledata}\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n};\r\n","import React, { useState, useEffect } from 'react';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport Application from \"./Application.js\"\r\nimport { useGlobalState, logout, passFilter, removeTurkcLow, isEmpty, showErrorMessage, showConfirmMessage } from '../GlobalState.js';\r\nimport $ from 'jquery';\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport { userInfo } from 'os';\r\n\r\nexport default function ArchivedAppList(props) {\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [userName, setUserName] = useGlobalState('userName');\r\n\r\n const [applist, setApplist] = useState(null);\r\n\r\n const [spinnerClass, setSpinnerClass] = useState(\"fa fa-refresh\");\r\n const [devamstat, setDevamstat] = useState(null);\r\n\r\n const [surecList, setSurecList] = useState([]);\r\n const [colnames, setColnames] = useState([\"id\", \"mahalle\", \"ada\", \"basvuruTipi\", \"basvuruDurumu\", \"basvuruYapan\", \"basvuruTarihi\"]);\r\n const [sortDirection, setSortDirection] = useState({});\r\n\r\n\r\n var sortField = null;\r\n\r\n\r\n useEffect(() => {\r\n\r\n fetchSurecList();\r\n }, []);\r\n\r\n\r\n\r\n const stopSpinner = () => {\r\n setSpinnerClass(\"fa fa-refresh\")\r\n }\r\n\r\n const startSpinner = () => {\r\n setSpinnerClass(\"spinner-grow spinner-grow-sm\")\r\n }\r\n\r\n\r\n\r\n\r\n const myCompare = (a, b) => {\r\n\r\n var av = a[sortField];\r\n var bv = b[sortField];\r\n\r\n if (sortField == \"basvuruDurumu\") {\r\n av = getDurumName(av);\r\n bv = getDurumName(bv);\r\n }\r\n\r\n var ret = 1;\r\n if (sortDirection[sortField] == \"ZA\")\r\n ret = -1;\r\n\r\n if (av == null && a.appData != null && a.appData.length > 2) {\r\n var oa = a.appDataObject[sortField];\r\n if (oa != null && oa.value != null)\r\n av = oa.value;\r\n }\r\n if (bv == null && b.appData != null && b.appData.length > 2) {\r\n var ob = b.appDataObject[sortField];\r\n if (ob != null && ob.value != null)\r\n bv = ob.value;\r\n }\r\n if (av == null && bv != null)\r\n return -1 * ret;\r\n if (av != null && bv == null)\r\n return ret;\r\n\r\n\r\n if (typeof av === 'string' || av instanceof String)\r\n if (typeof bv === 'string' || bv instanceof String)\r\n return av.localeCompare(bv) * ret;\r\n\r\n if (av < bv) {\r\n return -1 * ret;\r\n }\r\n if (av > bv) {\r\n return ret;\r\n }\r\n return 0;\r\n }\r\n const myCompareRev = (a, b) => {\r\n return -1 * myCompare(a, b)\r\n }\r\n\r\n\r\n\r\n const sortList = (fildname) => {\r\n sortField = fildname;\r\n if (sortDirection[sortField] == null || sortDirection[sortField] == \"ZA\") {\r\n sortDirection[sortField] = \"AZ\";\r\n }\r\n else {\r\n sortDirection[sortField] = \"ZA\";\r\n }\r\n\r\n\r\n var temp = [...applist]; //clone the array to update the component on setApplist\r\n temp.sort(myCompare);\r\n setApplist(temp);\r\n }\r\n const getSortedList = (data, temp) => {\r\n if (data.sort != null && data.sort.length > 0) {\r\n var sf = data.sort.split(\",\");\r\n if (sf.length > 0) {\r\n for (var i = 0; i < sf.length; i++) {\r\n if (sf[i][0] == '-') {\r\n sortField = sf[i].substring(1);\r\n temp.sort(myCompareRev);\r\n }\r\n else {\r\n sortField = sf[i];\r\n temp.sort(myCompare);\r\n }\r\n }\r\n }\r\n\r\n }\r\n return temp;\r\n }\r\n\r\n\r\n\r\n\r\n const getApplicationList = (sablonlist, removed) => {\r\n fetch(\"applicationlist?removedstatus=archived\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n\r\n response.json().then(async applist => {\r\n setApplist(applist);\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n const filterTable = (event) => {\r\n var textbox = document.getElementById(\"mySearchInput\")\r\n if (textbox == null)\r\n return;\r\n var value = textbox.value.toLowerCase();\r\n\r\n $(\"#myTable tr\").filter(function () {\r\n var keywords = value.split(\" \");\r\n var ret = true;\r\n var t1 = removeTurkcLow($(this).text());\r\n for (let index = 0; index < keywords.length; ++index) {\r\n var t2 = removeTurkcLow(keywords[index]);\r\n if (t1.indexOf(t2) == -1)\r\n return $(this).toggle(false);\r\n }\r\n return $(this).toggle(true);\r\n });\r\n document.getElementById(\"totalrec\").innerHTML = $(\"#myTable tr:visible\").length + \" kayıt\";\r\n }\r\n\r\n const getcurrentFilters = () => {\r\n var cl = colnames;\r\n var val = []\r\n val.push(document.getElementById(\"mySearchInput\").value);\r\n for (var c = 0; c < cl.length; c++) {\r\n val.push(document.getElementById(cl[c]).value);\r\n }\r\n return val;\r\n }\r\n\r\n\r\n\r\n\r\n const filterColumn = (root) => {\r\n var cl = colnames;\r\n $(root).find(\"#myTable tr\").filter(function () {\r\n\r\n for (var c = 0; c < cl.length; c++) {\r\n var keywordElem = root.getElementById(cl[c]);\r\n var td = $(this).children().eq(c);\r\n if (keywordElem != null && isEmpty(keywordElem.value) == false) {\r\n var keyword = keywordElem.value;\r\n var pass = true;\r\n if (keyword.startsWith(\"-\")) {\r\n pass = false\r\n keyword = keyword.substr(1);\r\n }\r\n if (keyword.length == 0) break;\r\n td.attr('style', 'background: #fff8dd !important');\r\n var t1 = removeTurkcLow(td.text());\r\n var t2 = removeTurkcLow(keyword);\r\n if ((t1.indexOf(t2) == -1) == pass)\r\n return $(this).toggle(false);\r\n }\r\n else\r\n td.removeAttr('style');\r\n }\r\n return $(this).toggle(true);\r\n });\r\n\r\n if (root.getElementById(\"totalrec\") != null && $(\"#myTable tr:visible\") != null)\r\n root.getElementById(\"totalrec\").innerHTML = $(\"#myTable tr:visible\").length + \" kayıt\";\r\n }\r\n\r\n\r\n\r\n\r\n const fetchSurecList = () => {\r\n\r\n fetch(\"sureclist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n\r\n }\r\n else {\r\n response.json().then(value => {\r\n value.hashtable = {};\r\n value.forEach(element => value.hashtable[element.id] = element.name);\r\n setSurecList(value);\r\n getApplicationList()\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const setAppRemovedState = (app, isremoved, delete_comment) => {\r\n app.removed = isremoved;\r\n app.removeComment = delete_comment;\r\n fetch(\"saveapplication\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(app)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n getApplicationList();\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const deleteApp = (app) => {\r\n\r\n if (app.removed != true) {\r\n var comment = window.prompt(\"Lütfen Silme Nedenini Açıklayınız\")\r\n if (comment == null || comment.length == 0) {\r\n showErrorMessage(\"Açıklama BoÅŸ Olamaz\");\r\n return;\r\n }\r\n setAppRemovedState(app, true, comment);\r\n return;\r\n }\r\n fetch(\"removeapp\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(app.id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setApplist(data);\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n const getDurumName = (i) => {\r\n\r\n var r = surecList.find(element => element.id == i);\r\n if (r == null) return i;\r\n return r.name;\r\n }\r\n\r\n const reduceTotalNames = (str) => {\r\n if (isEmpty(str)) return str;\r\n var parts = str.split(',')\r\n if (parts.length <= 2)\r\n return str;\r\n var vis = parts[0] + \" , \" + parts[1];\r\n vis = vis + \", +\" + (parts.length - 2);\r\n return <> {vis} <span hidden>{str}</span></>;\r\n }\r\n\r\n const findRowCount = (sab, tabledata) => {\r\n return tabledata.length;\r\n }\r\n\r\n const generateColumnHeader = (c) => {\r\n\r\n var t = c.toUpperCase() == \"ADA\" ? \"ADA/PARSEL\" : c.toUpperCase();\r\n var t = c.toUpperCase() == \"REMOVECOMMENT\" ? \"SÄ°LME NEDENÄ°\" : c.toUpperCase();\r\n if (t.length > 14) {\r\n t = t.substr(0, 12) + \"...\";\r\n }\r\n return t;\r\n }\r\n\r\n\r\n\r\n\r\n const renderToList = (tabledata) => {\r\n\r\n\r\n if (tabledata == null || tabledata.length == 0)\r\n return <div className=\"w-100 text-center\" >Kayıt Yok</div>;\r\n\r\n\r\n\r\n\r\n var devamarray = [];\r\n if (devamstat != null && devamstat.appState != undefined)\r\n devamarray = devamstat.appState.split(\",\");\r\n\r\n\r\n var rows = tabledata.map(apprec =>\r\n <tr key={apprec.id}>\r\n {colnames.map(c => {\r\n if (apprec[c] != null) {\r\n if (c == \"basvuruDurumu\") return <td >{surecList.hashtable[apprec[c]]}</td>\r\n else if (c == \"müellif\") {\r\n return <td title={apprec.allmuelliflist}>\r\n {apprec[c]}{apprec.muellifCount > 2 ? (\", +\" + (apprec.muellifCount - 2)) : \"\"}\r\n </td>\r\n }\r\n else if (c == \"kontrolor\") {\r\n return <td title={apprec.kontrolorNameFamily}>{reduceTotalNames(apprec.kontrolorNameFamily)}</td>\r\n }\r\n else if (c == \"tümKontrolorler\") {\r\n return <td title={apprec.tümKontrolorler}>{reduceTotalNames(apprec.tümKontrolorler)}</td>\r\n }\r\n else return <td >{apprec[c]}</td>\r\n }\r\n try {\r\n var appDData = apprec.appDataObject;\r\n if (appDData != null && appDData[c] != null) {\r\n if (appDData[c].type != null && appDData[c].type == \"checkbox\") {\r\n return <td className=\"text-center\"><input type=\"checkbox\" className=\"form-check-input p-0 \" checked={appDData[c].value} /></td>\r\n }\r\n return <td >{appDData[c].value}</td>\r\n }\r\n }\r\n catch (ex) {\r\n return <td>{ex.toString()}</td>\r\n }\r\n\r\n return <td></td>\r\n })}\r\n\r\n <td style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\", \"font-size\": \"20px\" }}>\r\n {apprec.removed != true && <a href=\"#\" onClick={() => { window.changeComponent(<Application key={apprec.id} appData={apprec} changeComponent={window.changeComponent} backButton={<ArchivedAppList changeComponent={props.changeComponent} filters={getcurrentFilters()} />} />) }} className=\" text-decoration-none material-icons align-middle\" >edit</a>}\r\n {apprec.removed == true && role != null && role.indexOf(UserPermConstants.Basvuru_Silme) > -1 && <a href=\"/#\" onClick={() => { setAppRemovedState(apprec, false) }} className=\"text-decoration-none align-middle\" ><i className=\"fa fa-refresh align-middle\"></i></a>}\r\n {((userName == apprec.basvuruYapan && apprec.basvuruDurumu == UserPermConstants.Basvuru_Durumu_Taslak) || (role != null && role.indexOf(UserPermConstants.Basvuru_Silme) > -1)) && <a href=\"/#\" onClick={() => { showConfirmMessage(\"Taslak Olmayan BaÅŸvuruları Silmek Beklenmeyen Hatalara Sebep Olabilir.\", \"Silmek IstediÄŸinzden Emin misiniz?\", \"Evet\", \"Hayır\", () => setTimeout(()=>deleteApp(apprec),100)) }} className=\"text-decoration-none material-icons align-middle\" >delete</a>}\r\n </td>\r\n\r\n </tr>\r\n );\r\n\r\n var selectedSablonIndex = window.localStorage.getItem('sablon');\r\n if (selectedSablonIndex == null)\r\n selectedSablonIndex = 0;\r\n\r\n var mytable =\r\n <div className=\"mt-1\" key={selectedSablonIndex}>\r\n\r\n <div className=\"table-responsive mainpagescroll\" style={{ \"transform\": \"rotateX(180deg)\" }}>\r\n <table className='table table-vdstriped' aria-labelledby=\"tabelLabel\" style={{ \"transform\": \"rotateX(180deg)\" }}>\r\n <thead>\r\n <tr >\r\n\r\n {colnames.map((c, idx) =>\r\n <th> <div><button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(c)} title={c}> {generateColumnHeader(c)}</button></div>\r\n <div>\r\n <input type=\"text\" className=\"form-control form-control-sm\" id={c} placeholder=\"\" name={c} onChange={() => filterColumn(document)} />\r\n </div></th>\r\n )}\r\n\r\n <th id=\"totalrec\" key={rows.length}>{rows.length} kayıt</th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {rows}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n var tabledata = <div class=\"d-flex justify-content-center\"><div class=\"spinner-border\" role=\"status\"></div></div>\r\n\r\n if (applist != null) {\r\n tabledata = renderToList(applist);\r\n }\r\n\r\n\r\n return <div id=\"applistroot\">\r\n {/*<div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" hidden={allready == true} ><div className=\"spinner-border\" ></div></div>*/}\r\n <div className=\" align-items-center justify-content-center p-1\" >\r\n\r\n <div className=\"row\">\r\n <div className=\"col-12 col-md-4\">\r\n </div>\r\n <div className=\"col-12 col-md-4\">\r\n <input className=\"form-control form-control-sm\" id=\"mySearchInput\" type=\"text\" placeholder=\"Ara\" onKeyUp={filterTable} />\r\n\r\n </div>\r\n\r\n </div>\r\n {tabledata}\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n};\r\n","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, sendpost, showConfirmMessage } from '../GlobalState.js';\r\nimport $ from 'jquery';\r\nimport Application from \"./Application.js\"\r\n\r\nexport default function RemovedFiles(props) {\r\n\r\n const [filelist, setFilelist] = useState([]);\r\n const [sortDirection, setSortDirection] = useState({ \"transactionUUID\": 1 });\r\n\r\n const changeComponent = props.changeComponent;\r\n var sortField = null;\r\n\r\n useEffect(() => {\r\n getFileList();\r\n }, [])\r\n\r\n\r\n const myCompare = (a, b) => {\r\n if (sortField == null)\r\n sortField = \"transactionUUID\"\r\n var av = a[sortField];\r\n var bv = b[sortField];\r\n\r\n if (av == null && a.imza != null) {\r\n av = a.imza[sortField];\r\n }\r\n if (bv == null && b.imza != null) {\r\n bv = b.imza[sortField];\r\n }\r\n if (av == null && bv == null)\r\n return 0;\r\n if (av == null && bv != null)\r\n return -1 * sortDirection[sortField];\r\n if (av != null && bv == null)\r\n return 1 * sortDirection[sortField];\r\n\r\n if (typeof av === 'string' || av instanceof String)\r\n if (typeof bv === 'string' || bv instanceof String)\r\n return av.localeCompare(bv) * sortDirection[sortField];\r\n\r\n if (av < bv) {\r\n return -1 * sortDirection[sortField];\r\n }\r\n if (av > bv) {\r\n return 1 * sortDirection[sortField];\r\n }\r\n return 0;\r\n }\r\n\r\n\r\n const sortList = (fildname) => {\r\n sortField = fildname;\r\n\r\n if (sortDirection[sortField] == null || sortDirection[sortField] == -1) {\r\n sortDirection[sortField] = 1;\r\n }\r\n else {\r\n sortDirection[sortField] = -1;\r\n }\r\n\r\n var temp = [...filelist]; //clone the array to update the component on setApplist\r\n temp.sort(myCompare);\r\n setFilelist(temp);\r\n }\r\n\r\n \r\n\r\n const getFileList = () => {\r\n\r\n fetch(\"getremovedfiles\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n\r\n else {\r\n response.json().then(async data => {\r\n setFilelist(data);\r\n });\r\n }\r\n });\r\n }\r\n\r\n const removefile = (rec) => {\r\n\r\n showConfirmMessage(rec.caption + \" dosyasını silmek istediÄŸinizden emin misiniz?\",\r\n '', 'Evet', 'Hayır', () => {\r\n sendpost(\"removefile\", rec,\"\", () => {\r\n setFilelist(filelist.filter(x => x.id != rec.id));\r\n })\r\n });\r\n }\r\n\r\n const removeRecs = () => {\r\n var r = [];\r\n $(\"#myTable tr\").each(function () {\r\n if ($(this).is(\":visible\"))\r\n r.push(filelist.find(x =>x.id == this.id));\r\n\r\n });\r\n if (r.length > 0) {\r\n showConfirmMessage( r.length + \" dosyayı silmek istediÄŸinizden emin misiniz?\",\r\n '', 'Evet', 'Hayır', () => {\r\n sendpost(\"removefiles\", r,\"removeallspin\", () => {\r\n document.getElementById(\"arama\").value = \"\";\r\n $(\"#myTable tr\").each(function () {\r\n $(this).toggle(true)\r\n });\r\n getFileList();\r\n })\r\n });\r\n }\r\n }\r\n \r\n\r\n const filterTable = event => {\r\n const target = event.target;\r\n const value = target.value.toLowerCase();\r\n $(\"#myTable tr\").filter(function () {\r\n var keywords = value.split(\" \");\r\n for (let index = 0; index < keywords.length; ++index)\r\n if ($(this).text().toLowerCase().indexOf(keywords[index]) == -1)\r\n return $(this).toggle(false);\r\n return $(this).toggle(true);\r\n });\r\n document.getElementById(\"totalrec\").innerHTML = $(\"#myTable tr:visible\").length + \" kayıt\";\r\n }\r\n\r\n\r\n return <div className=\"align-items-center justify-content-center\" >\r\n <div className=\"row mb-2\">\r\n <div className=\"col-6 text-center rounded-3\">\r\n <input className=\"form-control form-control-sm\" id=\"arama\" type=\"text\" placeholder=\"Ara...\" onKeyUp={filterTable} />\r\n </div>\r\n <div className=\"col-6 text-end rounded-3\">\r\n <span className=\"spinner-border spinner-border-sm\" hidden id=\"removeallspin\"></span>\r\n < button className=\"btn btn-sm btn-danger text-decoration-none p-1\" type=\"button\" onClick={removeRecs}>\r\n Tümünü Sil\r\n </button>\r\n \r\n </div>\r\n </div>\r\n\r\n <div className=\"mb-1 w-100 text-center align-items-center justify-content-center \">\r\n \r\n </div>\r\n <div className=\"overflow-auto\" style={{ maxHeight: 600 }}>\r\n\r\n <table className='table table-vdstriped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead>\r\n <tr >\r\n\r\n <th className=\"text-start\">\r\n <div>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"appId\")} >BaÅŸvuru No </button>\r\n </div>\r\n </th>\r\n\r\n <th className=\"text-start\">\r\n <div>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"id\")} >Dosya No </button>\r\n </div>\r\n </th>\r\n <th className=\"text-start\">\r\n <div>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"caption\")} >Dosya Ä°smi </button>\r\n </div>\r\n </th>\r\n {/*<th className=\"text-start\">*/}\r\n {/* <div>*/}\r\n {/* <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"typeId\")} >Dosya Turu </button>*/}\r\n {/* </div>*/}\r\n {/*</th>*/}\r\n <th className=\"text-start\">\r\n <div>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"userName\")} >Ekleyen </button>\r\n </div>\r\n </th>\r\n <th className=\"text-start\">\r\n <div>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"removedBy\")} >Silen </button>\r\n </div>\r\n </th>\r\n\r\n <th className=\"text-start\">\r\n <div>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"tarih\")} >Ekleme Tarihi </button>\r\n </div>\r\n </th>\r\n\r\n <th className=\"text-start\">\r\n <div>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"removedDate\")} >Silme Tarihi </button>\r\n </div>\r\n </th>\r\n\r\n <th className=\"text-start\">\r\n <div id=\"totalrec\" key={filelist.length}>\r\n {filelist.length} kayıt\r\n </div>\r\n </th>\r\n\r\n </tr>\r\n </thead>\r\n\r\n\r\n <tbody id=\"myTable\">\r\n {filelist.map(apprec => <tr id={apprec.id}>\r\n <td >\r\n {apprec.appId}\r\n </td>\r\n <td >\r\n {apprec.id}\r\n </td>\r\n <td >\r\n {apprec.caption}\r\n </td>\r\n {/*<td >*/}\r\n {/* {apprec.typeId}*/}\r\n {/*</td>*/}\r\n <td >\r\n {apprec.userName}\r\n </td>\r\n <td >\r\n {apprec.removedBy}\r\n </td>\r\n <td >\r\n {apprec.tarih}\r\n </td>\r\n <td >\r\n {apprec.removedDate}\r\n </td>\r\n \r\n <td style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }}>\r\n <a className=\"text-decoration-none align-middle\" href={'getfile?id=' + apprec.id + \"&appid=\" + apprec.appId + \"&sec=\" + apprec.readers} title=\"Aç\" target=\"_blank\"><i className=\"\tfa fa-television\" style={{ \"font-size\": \"18px\" }} ></i> </a>\r\n <a href=\"#\" onClick={() => { removefile(apprec) }} className=\" text-decoration-none \"><i className=\"fa fa-trash align-middle\" style={{ \"font-size\": \"20px\" }}></i></a>\r\n \r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { ajaxFail, isEmpty, sendpost, showErrorMessage, showSuccessMessage, levenshtein, toLowerCaseTurkce, capitalizeWords } from '../GlobalState.js';\r\nimport { typeOf } from 'react-is';\r\nimport BasvuruTipleriList from './BasvuruTipleriList.js';\r\nimport HavaleSablonSetting from './HavaleSablonSetting.js';\r\nimport bootstrap from 'bootstrap/dist/js/bootstrap.min.js'\r\nimport $ from 'jquery';\r\nimport stringSimilarity from 'string-similarity'\r\n\r\n\r\nexport default function BasvuruTipleriDetail(props) {\r\n var postdata = {};\r\n var listData = props.basvuruTipleri;\r\n var appTypeGroups = props.appTypeGroups;\r\n const multiselectRef = React.createRef();\r\n const [basvuruTipi, setbasvuruTipi] = useState({ ...props.basvuruTipi });\r\n const [basvuruTipiAdimlari, setBasvuruTipiAdimlari] = useState(props.basvuruTipiAdimlari.filter(x => x.basvuruTipi == basvuruTipi.id));\r\n const multiselectRefNew = React.createRef();\r\n const [showIsAdimlari, setShowIsAdimlari] = useState(false);\r\n\r\n useEffect(() => {\r\n var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"popover\"]'))\r\n var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {\r\n return new bootstrap.Popover(popoverTriggerEl)\r\n })\r\n $(\"#basvuruTipiPaneli\").on(\"click\", function (e) {\r\n const windowElement = document.getElementById('floatingWindow');\r\n windowElement.style.display = 'none';\r\n });\r\n }, [])\r\n\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value.trim();\r\n const name = target.name;\r\n rec[name] = value;\r\n\r\n if (name == \"mahalleAktif\") {\r\n document.getElementById(\"mahalleZorunlu\").checked = value\r\n rec[\"mahalleZorunlu\"] = value;\r\n if (value == false) {\r\n rec[\"adaZorunlu\"] = value;\r\n rec[\"adaAktif\"] = value;\r\n document.getElementById(\"adaZorunlu\").checked = value\r\n document.getElementById(\"adaAktif\").checked = value\r\n }\r\n \r\n }\r\n if (name == \"adaAktif\") {\r\n document.getElementById(\"adaZorunlu\").checked = value\r\n rec[\"adaZorunlu\"] = value;\r\n if (value == true) {\r\n document.getElementById(\"mahalleZorunlu\").checked = value\r\n document.getElementById(\"mahalleAktif\").checked = value\r\n \r\n rec[\"mahalleZorunlu\"] = value;\r\n rec[\"mahalleAktif\"] = value;\r\n }\r\n\r\n \r\n }\r\n\r\n if (isEmpty(value))\r\n rec[name] = null;\r\n }\r\n\r\n const addBasvuruTipiisAdimi = (item) => {\r\n var rec = {};\r\n rec.basvuruTipi = basvuruTipi.id;\r\n rec.isAdimi = item.id;\r\n sendpost(\"savebasvurutipisadimi\", rec, \"adresspiner\", (response) => {\r\n response.json().then(value => {\r\n setBasvuruTipiAdimlari(value)\r\n })\r\n })\r\n }\r\n\r\n const removeBasvuruTipiisAdimi = (rec) => {\r\n var rec2 = basvuruTipiAdimlari.find(b => b.isAdimi == rec.id);\r\n if (rec2 == null) {\r\n showErrorMessage(\"Ä°ÅŸ Adımı Silinemedi\");\r\n return;\r\n }\r\n sendpost(\"removebasvurutipisadimi\", rec2.id, \"adresspiner\", (response) => {\r\n response.json().then(value => {\r\n setBasvuruTipiAdimlari(value)\r\n })\r\n\r\n })\r\n }\r\n\r\n\r\n\r\n const showWindow = (target) => {\r\n const windowElement = document.getElementById('floatingWindow');\r\n var inputText = toLowerCaseTurkce(target.value);\r\n const matchedItems = props.basvuruTipleri.filter(x => x.removed!=true)\r\n .map(item => ({\r\n item,\r\n similarity: stringSimilarity.compareTwoStrings(inputText.toLowerCase(), item.name.toLowerCase())\r\n }))\r\n .filter(({ similarity }) => similarity > 0.1) // Only keep items with some similarity\r\n .sort((a, b) => b.similarity - a.similarity);\r\n\r\n if (matchedItems.length > 0 && matchedItems[0].similarity == 1)\r\n document.getElementById('kaydetbut').disabled = true;\r\n else\r\n document.getElementById('kaydetbut').disabled = false;\r\n\r\n if (matchedItems.length > 0 && inputText !== '') {\r\n windowElement.innerHTML = \"<div class='text-danger border-bottom border-primary '>Daha önce eklediÄŸiniz benzer kayıtlar</div>\" +\r\n matchedItems.map(item =>\r\n `<div class='border-bottom fw-bold text-dark' style='opacity:${0.2 + item.similarity}'>\r\n <button class='btn btn-link btn-sm text-decoration-none shadow-none' \r\n onclick=\"window.similarItemSelect(${item.item.id},'${item.item.name}')\">\r\n ${item.item.name + \" \" + item.similarity}\r\n </button>\r\n </div>`).join('');\r\n const rect = target.getBoundingClientRect();\r\n windowElement.style.left = rect.left + 3 + 'px';\r\n windowElement.style.top = rect.bottom + 5 + 'px';\r\n windowElement.style.display = 'block';\r\n } else {\r\n windowElement.style.display = 'none';\r\n }\r\n }\r\n\r\n window.similarItemSelect = (id, name) => {\r\n /* showConfirmMessage(name + \" kaydının bilgileri yüklensin mı?\", \"\", \"Evet\", \"Hayır\", () => {\r\n document.getElementById('kaudetbut').disabled = false;\r\n window.changeComponent(<BasvuruTipleriDetail basvuruTipi={props.basvuruTipleri.find(x => x.id == id)} basvuruTipleri={props.basvuruTipleri} />);\r\n })*/\r\n }\r\n\r\n const savedenetim = (rec) => {\r\n var r = rec;\r\n\r\n if (r == null) {\r\n postdata.hide = showIsAdimlari;\r\n r = postdata;\r\n }\r\n if (isEmpty(rec.name)) {\r\n showErrorMessage(\"BaÅŸvuru Tipi Adı BoÅŸ Olamaz !\");\r\n return;\r\n }\r\n rec.name = capitalizeWords(rec.name);\r\n if (document.getElementById(\"basvuruTipiName\"))\r\n document.getElementById(\"basvuruTipiName\").value = rec.name;\r\n\r\n if (rec.grup == null) {\r\n showErrorMessage(\"BaÅŸvuru Gurubunu Seçiniz\");\r\n return;\r\n }\r\n\r\n\r\n\r\n fetch(\"savedenetim\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(r)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n if (rec.id != null) {\r\n showSuccessMessage(\"BaÅŸvuru Tipi Güncellendi. \")\r\n }\r\n else {\r\n showSuccessMessage(\"BaÅŸvuru Tipi Eklendi \", \"\", () => {\r\n response.json().then(value => {\r\n setbasvuruTipi(value)\r\n })\r\n })\r\n }\r\n //else {\r\n\r\n // if (document.getElementById(\"DenetimAdi\")) document.getElementById(\"DenetimAdi\").value = \"\";\r\n // if (document.getElementById(\"active\")) document.getElementById(\"active\").checked = false;\r\n // if (document.getElementById(\"onaysureci\")) document.getElementById(\"onaysureci\").checked = false;\r\n // if (document.getElementById(\"ruhsatsureci\")) document.getElementById(\"ruhsatsureci\").checked = false;\r\n // if (document.getElementById(\"hide\")) document.getElementById(\"hide\").checked = false;\r\n // if (document.getElementById(\"eksiksiz\")) document.getElementById(\"eksiksiz\").checked = false;\r\n // if (document.getElementById(\"deadline\")) document.getElementById(\"deadline\").value = \"\";\r\n // if (document.getElementById(\"duzeltmeDeadline\")) document.getElementById(\"duzeltmeDeadline\").value = \"\";\r\n // if (document.getElementById(\"duzeltmeSayi\")) document.getElementById(\"duzeltmeSayi\").value = \"\";\r\n // if (document.getElementById(\"hizliArsiv\")) document.getElementById(\"hizliArsiv\").checked = false;\r\n // if (document.getElementById(\"grup\")) document.getElementById(\"grup\").selectedIndex = -1;\r\n // if (multiselectRefNew.current) multiselectRefNew.current.resetSelectedValues();\r\n // postdata = {};\r\n\r\n //}\r\n }\r\n });\r\n\r\n }\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n return (\r\n <div className=\"p-2 rounded-3\" style={{ \"background-color\": \"#EDEDF7\", \"min-height\": \"100vh\" }} id=\"basvuruTipiPaneli\">\r\n <div className=\"row \" >\r\n <div className=\"col-12 col-md-6 \" >\r\n\r\n <span className=\"me-3\" style={{ \"font-size\": \"14px\", \"font-weight\": \"600\", \"color\": \"#4b5675\" }}> {basvuruTipi.userName} </span>\r\n <span className=\"me-3\" style={{ \"font-size\": \"14px\", \"font-weight\": \"600\", \"color\": \"#99a1b7\" }}>{basvuruTipi.crerateTime} </span>\r\n <span style={{ \"font-size\": \"14px\", \"font-weight\": \"600\", \"color\": \"#99a1b7\" }}> Id: {basvuruTipi.id} </span>\r\n\r\n </div>\r\n <div className=\"col-12 col-md-6 text-end pt-1\" >\r\n <button id=\"kaydetbut\" onClick={() => {\r\n savedenetim(basvuruTipi)\r\n }\r\n } className=\"btn btn-primary btn-sm text-decoration-none me-2\" > Kaydet </button>\r\n <button onClick={() => window.changeComponent(<BasvuruTipleriList />)} className=\"btn btn-secondary btn-sm text-decoration-none\">Geri Dön</button >\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-1 p-3\" >\r\n <div className=\"col-12 col-md-6\" >\r\n <div className=\" bg-white rounded-3\" >\r\n <div className=\"p-2 fw-bold border-bottom\" >\r\n Genel Özellikler\r\n\r\n </div>\r\n <div className=\"p-3 pt-2\" >\r\n BaÅŸvuru Tipi <span className=\"text-danger\" >* </span>\r\n <input type=\"text\" autocomplete=\"off\" className=\"form-control form-control-sm\" pattern=\"[a-zA-Z0-9ÜüÅşÇçÖöÄğİı\\(\\)_\\- ]+\" placeholder=\"BaÅŸvuru Tipi\" name=\"name\" id=\"basvuruTipiName\" key={basvuruTipi.name} defaultValue={basvuruTipi.name} onChange={(e) => { updateRecord(basvuruTipi, e); showWindow(e.target); }} />\r\n <div id=\"floatingWindow\" class=\"floating-window\"></div>\r\n </div>\r\n\r\n\r\n <div className=\"p-3 pt-1\" >\r\n BaÅŸvuru Grubu\r\n <select className=\"form-select form-select-sm\" name=\"grup\" required={true} onChange={(e) => updateRecord(basvuruTipi, e)}>\r\n <option></option>\r\n {appTypeGroups.map(x => <option value={x.id} selected={x.id == basvuruTipi.grup}>{x.name}</option>)}\r\n </select>\r\n </div>\r\n\r\n <div className=\"p-3 pt-1\" >\r\n Dilekçe BaÅŸlığı <span className=\"text-danger\" > </span>\r\n <input type=\"text\" autocomplete=\"off\" className=\"form-control form-control-sm\" pattern=\"[a-zA-Z0-9ÜüÅşÇçÖöÄğİı\\(\\)_\\- ]+\" placeholder=\"\" name=\"ciktiTitle\" id=\"ciktiTitle\" key={basvuruTipi.ciktiTitle} defaultValue={basvuruTipi.ciktiTitle} onChange={(e) => { updateRecord(basvuruTipi, e); }} />\r\n <div id=\"floatingWindow\" class=\"floating-window\"></div>\r\n </div>\r\n\r\n \r\n\r\n\r\n <div className=\"p-3 pt-1 row\" >\r\n <div class=\"col-4\" >\r\n <label class=\"form-check-label\" for=\"inlineCheckbox1\" > Aktif </label>\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"active\" defaultChecked={basvuruTipi.active} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n <div class=\"col-7 textvmuted small\" style={{ \"text-align\": \"justify\" }}>\r\n <button type=\"button\" className=\"btn btn-secondary bg-secondary btn-sm fw-bold pt-0 pb-0 mt-0 \"\r\n id=\"mypopover1\" data-bs-toggle=\"popover\" data-bs-trigger=\"focus\"\r\n title=\"AÇIKLAMA\" data-bs-content=\" BaÅŸvurunun yayında olup olmayacagini belirler.\">?</button>\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n <div className=\"p-3 pt-1 row\" >\r\n <div class=\"col-4\" >\r\n <label class=\"form-check-label\" for=\"inlineCheckbox1\" > Gizli </label>\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"hide\" defaultChecked={basvuruTipi.hide} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n <div class=\"col-7 textvmuted\" style={{ \"text-align\": \"justify\" }}>\r\n <button type=\"button\" className=\"btn btn-secondary bg-secondary btn-sm fw-bold pt-0 pb-0 mt-0 \"\r\n id=\"mypopover0\" data-bs-toggle=\"popover\" data-bs-trigger=\"focus\"\r\n title=\"AÇIKLAMA\" data-bs-content=\"BaÅŸvuru Tipini Müelliflerden gizler\">\r\n ?</button>\r\n </div>\r\n </div>\r\n <div className=\"p-3 pt-1 row\" >\r\n <div class=\"col-4\" >\r\n <label class=\"form-check-label\" for=\"inlineCheckbox1\" > Zorunlu Dosya Kontrol </label>\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"eksiksiz\" defaultChecked={basvuruTipi.eksiksiz} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n <div class=\"col-7 textvmuted small\" style={{ \"text-align\": \"justify\" }}>\r\n <button type=\"button\" className=\"btn btn-secondary bg-secondary btn-sm fw-bold pt-0 pb-0 mt-0 \"\r\n id=\"mypopover2\" data-bs-toggle=\"popover\" data-bs-trigger=\"focus\"\r\n title=\"AÇIKLAMA\" data-bs-content=\"Bu baÅŸvuruda zorunlu olarak isaretlediÄŸiniz dosyaların yüklenmeden baÅŸvurunun gönderilmesini engeller.\">\r\n ?</button>\r\n </div>\r\n </div>\r\n\r\n <div className=\"p-3 pt-1 row\" >\r\n <div class=\"col-4\" >\r\n <label class=\"form-check-label\" for=\"inlineCheckbox1\" > Hızlı ArÅŸiv </label>\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"hizliArsiv\" defaultChecked={basvuruTipi.hizliArsiv} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n <div class=\"col-7 textvmuted small\" style={{ \"text-align\": \"justify\" }}>\r\n <button type=\"button\" className=\"btn btn-secondary bg-secondary btn-sm fw-bold pt-0 pb-0 mt-0\"\r\n id=\"mypopover3\" data-bs-toggle=\"popover\" data-bs-trigger=\"focus\"\r\n title=\"AÇIKLAMA\" data-bs-content=\"Bu baÅŸvuruda zorunlu olarak isaretlediÄŸiniz dosyaların yüklenmeden baÅŸvurunun gönderilmesini engeller.\">\r\n ?</button>\r\n </div>\r\n </div>\r\n\r\n <div className=\"p-3 pt-1 row\" >\r\n <div class=\"col-4\" >\r\n <label class=\"form-check-label\" for=\"inlineCheckbox1\" >Kabul Süreci </label>\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"kabulSureci\" defaultChecked={basvuruTipi.kabulSureci} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n <div class=\"col-7 textvmuted small\" style={{ \"text-align\": \"justify\" }}>\r\n <button type=\"button\" className=\"btn btn-secondary bg-secondary btn-sm fw-bold pt-0 pb-0 mt-0\"\r\n id=\"mypopover6\" data-bs-toggle=\"popover\" data-bs-trigger=\"focus\"\r\n title=\"AÇIKLAMA\" data-bs-content=\"Bu baÅŸvuruda kabul süreci otomatik olarak geçilerek baÅŸvuru yapıldığı anda havale sürecine düşer. Ä°ÅŸaretli olursa normal süreç, iÅŸaret konmazsa otomatik olarak havale aÅŸamasına düşecek\">\r\n ?</button>\r\n </div>\r\n </div>\r\n <div className=\"p-3 pt-1 row\" >\r\n <div class=\"col-4\" >\r\n <label class=\"form-check-label\" for=\"inlineCheckbox1\" > Onay Süreci </label>\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"onaysureci\" defaultChecked={basvuruTipi.onaysureci} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n <div class=\"col-7 textvmuted small\" style={{ \"text-align\": \"justify\" }}>\r\n <button type=\"button\" className=\"btn btn-secondary bg-secondary btn-sm fw-bold pt-0 pb-0 mt-0\"\r\n id=\"mypopover4\" data-bs-toggle=\"popover\" data-bs-trigger=\"focus\"\r\n title=\"AÇIKLAMA\" data-bs-content=\"BaÅŸvurunun kontrolü tamamlandıktan sonra yöneticinin onayına sunulmasını saÄŸlar. Bunun için yöneticinin rolüne Kullanıcı Yönetimi /Kullanıcı Rolleri ekranından Onay yetkisi verilmelidir. \">\r\n ?</button>\r\n\r\n </div>\r\n </div>\r\n <div className=\"p-3 pt-1 row\" >\r\n <div class=\"col-4\" >\r\n <label class=\"form-check-label\" for=\"inlineCheckbox1\" > Ruhsat Süreci </label>\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"ruhsatsureci\" defaultChecked={basvuruTipi.ruhsatsureci} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n <div class=\"col-7 textvmuted small\" style={{ \"text-align\": \"justify\" }}>\r\n <button type=\"button\" className=\"btn btn-secondary bg-secondary btn-sm fw-bold pt-0 pb-0 mt-0\"\r\n id=\"mypopover5\" data-bs-toggle=\"popover\" data-bs-trigger=\"focus\"\r\n title=\"AÇIKLAMA\" data-bs-content=\" BaÅŸvurunun ruhsat aÅŸamasının olup olmayacağını belirler.\">\r\n ?</button>\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"p-3 pt-1 row\" >\r\n <div class=\"col-4\" >\r\n <label class=\"form-check-label\" for=\"inlineCheckbox1\" > Paralel BaÅŸvuru </label>\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"paralelBasvuru\" defaultChecked={basvuruTipi.paralelBasvuru} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n <div class=\"col-7 textvmuted small\" style={{ \"text-align\": \"justify\" }}>\r\n <button type=\"button\" className=\"btn btn-secondary bg-secondary btn-sm fw-bold pt-0 pb-0 mt-0\"\r\n id=\"mypopover5\" data-bs-toggle=\"popover\" data-bs-trigger=\"focus\"\r\n title=\"AÇIKLAMA\" data-bs-content=\"Aynı konuma paralel baÅŸvuruların yapılmasına izin verilecektir\">\r\n ?</button>\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n <div className=\"col-12 col-md-6\" >\r\n <div className=\"bg-white rounded-3\" >\r\n <div className=\"p-2 fw-bold border-bottom\" >\r\n Süreler ve Kıstaslar\r\n\r\n </div>\r\n <div className=\"row p-3 pt-2\" >\r\n <div className=\"col-4\" >\r\n\r\n Düzeltme Süre <button type=\"button\" className=\"btn btn-secondary bg-secondary btn-sm fw-bold pt-0 pb-0 mt-0 ms-3 mb-1\"\r\n id=\"mypopover6\" data-bs-toggle=\"popover\" data-bs-trigger=\"focus\"\r\n title=\"AÇIKLAMA\" data-bs-content=\"Kontrolörlerin istediÄŸi düzeltmeler için müellife verilen süredir. Bu süre zarfında düzeltme yapılıpmaz ise düzeltmeyi gönder butonuo pasif olur ve baÅŸvuru Ä°ade Listesi ne düşer. Kurum içindeki yetkili kullanıcı kendisi isterse düzeltmeyi gönder butonuna basarak baÅŸvuruyu müellif adına belediyeye gönderebilir.\">\r\n ?</button>\r\n <input type=\"number\" className=\"form-control form-control-sm \" style={{ \"background-color\": \"transparent\" }} placeholder=\"\" name=\"duzeltmeDeadline\" onChange={(e) => updateRecord(basvuruTipi, e)} defaultValue={basvuruTipi.duzeltmeDeadline} />\r\n </div>\r\n < div className=\"col-4\" >\r\n Düzeltme Sayı<button type=\"button\" className=\"btn btn-secondary bg-secondary btn-sm fw-bold pt-0 pb-0 mt-0 ms-3 mb-1\"\r\n id=\"mypopover7\" data-bs-toggle=\"popover\" data-bs-trigger=\"focus\"\r\n title=\"AÇIKLAMA\" data-bs-content=\" Kontrolörlerin isteyeceÄŸi düzeltmelere bir sayı sınırı koyar. Bu sınır geçtiÄŸinde düzeltmeyi gönder butonu pasif olur ve baÅŸvuru Ä°ade Listesi ne düşer. Kurum içindeki yetkili kullanıcı kendisi isterse düzeltmeyi gönder butonuna basarak baÅŸvuruyu müellif adına belediyeye gönderebilir.\">\r\n ?</button>\r\n <input type=\"number\" className=\"form-control form-control-sm \" style={{ \"background-color\": \"transparent\" }} placeholder=\"\" name=\"duzeltmeSayi\" onChange={(e) => updateRecord(basvuruTipi, e)} defaultValue={basvuruTipi.duzeltmeSayi} />\r\n </div>\r\n\r\n\r\n\r\n\r\n <div className=\"col-4\" >\r\n Kontrol Süre <button type=\"button\" className=\"btn btn-secondary bg-secondary btn-sm fw-bold pt-0 pb-0 mt-0 ms-3 mb-1\"\r\n id=\"mypopover8\" data-bs-toggle=\"popover\" data-bs-trigger=\"focus\"\r\n title=\"AÇIKLAMA\" data-bs-content=\"Kontrollerini tamamlamaları için Kontrolörlere verilen süredir. Bu sürede kontrol tamamlanmazsa geciken baÅŸvurular bölümüne düşer. Verilen süre kontrolör ekranında, yetkisi olan kullanıcılara geri sayım olarak görünür. Belirtilen süre Ä°Å GÃœNÃœDÃœR. Hafta sonları dahil deÄŸildir.\">\r\n ?</button>\r\n <input type=\"number\" className=\"form-control form-control-sm \" placeholder=\"\" name=\"deadline\" onChange={(e) => updateRecord(basvuruTipi, e)} defaultValue={basvuruTipi.deadline} />\r\n\r\n </div>\r\n </div>\r\n <div className=\"row mt-2 border-top pt-3 ps-2\" >\r\n <div class=\"col-2\" >\r\n\r\n </div>\r\n <div class=\"col-1 text-primary\" >\r\n Aktif\r\n </div>\r\n <div class=\"col-1 text-primary\" >\r\n Zorunlu\r\n </div>\r\n <div class=\"col-3\" >\r\n </div>\r\n <div class=\"col-2\" >\r\n\r\n </div>\r\n <div class=\"col-1 text-primary\" >\r\n Aktif\r\n </div>\r\n <div class=\"col-1 text-primary\" >\r\n Zorunlu\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row ps-3\" >\r\n <div class=\"col-2\" >\r\n Mevki\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"mevkiAktif\" defaultChecked={basvuruTipi.mevkiAktif} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"mevkiZorunlu\" defaultChecked={basvuruTipi.mevkiZorunlu} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n <div class=\"col-3\" >\r\n </div>\r\n <div class=\"col-2\" >\r\n Mahalle\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" id=\"mahalleAktif\" name=\"mahalleAktif\" defaultChecked={basvuruTipi.mahalleAktif} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" id=\"mahalleZorunlu\" disabled name=\"mahalleZorunlu\" defaultChecked={basvuruTipi.mahalleZorunlu} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n </div>\r\n <div className=\"row ps-3 mt-2\" >\r\n <div class=\"col-2\" >\r\n Ada/Parsel\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" id=\"adaAktif\" name=\"adaAktif\" defaultChecked={basvuruTipi.adaAktif} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" id=\"adaZorunlu\" disabled name=\"adaZorunlu\" defaultChecked={basvuruTipi.adaZorunlu} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n <div class=\"col-3\" >\r\n </div>\r\n <div class=\"col-2\" >\r\n Sokak\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"sokakAktif\" defaultChecked={basvuruTipi.sokakAktif} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"sokakZorunlu\" defaultChecked={basvuruTipi.sokakZorunlu} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n </div>\r\n <div className=\"row ps-3 mt-2\" >\r\n <div class=\"col-2\" >\r\n No\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"noAktif\" defaultChecked={basvuruTipi.noAktif} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"noZorunlu\" defaultChecked={basvuruTipi.noZorunlu} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n <div class=\"col-3\" >\r\n </div>\r\n <div class=\"col-2\" >\r\n Müellif\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"muellifAktif\" defaultChecked={basvuruTipi.muellifAktif} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"muellifZorunlu\" defaultChecked={basvuruTipi.muellifZorunlu} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n </div>\r\n <div className=\"row ps-3 mt-2\" >\r\n <div class=\"col-2\" >\r\n Idari Mahalle\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"idariMahalleAktif\" defaultChecked={basvuruTipi.idariMahalleAktif} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"idariMahalleZorunlu\" defaultChecked={basvuruTipi.idariMahalleZorunlu} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n\r\n <div class=\"col-3\" >\r\n </div>\r\n <div class=\"col-2\" >\r\n Taşınmaz Sahibi\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"tasinamazSahibiAktif\" defaultChecked={basvuruTipi.tasinamazSahibiAktif} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n <div class=\"col-1\" >\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"tasinamazSahibiZorunlu\" defaultChecked={basvuruTipi.tasinamazSahibiZorunlu} onChange={(e) => updateRecord(basvuruTipi, e)} />\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n\r\n < div className=\"p-3 pt-3 mt-3 border-top\" >\r\n <div style={{ \"text-align\": \"justify\" }}> KoÅŸul\r\n <button type=\"button\" className=\"btn btn-secondary bg-secondary btn-sm fw-bold pt-0 pb-0 mt-0 ms-2\"\r\n id=\"mypopover8\" data-bs-toggle=\"popover\" data-bs-trigger=\"focus\"\r\n title=\"AÇIKLAMA\" data-bs-content=\"BaÅŸvurunun yapılabilmesi için seçilecek diÄŸer baÅŸvuruların sürecinin tamamlanmasını gerektirir.\">\r\n ?</button>\r\n <Multiselect className=\"p-0 ps-1 mt-1 form-control-sm\"\r\n options={listData.filter(x => x.isadimi != true)}\r\n emptyRecordMsg=\"BaÅŸka Kayıt Yok\"\r\n ref={multiselectRef}\r\n displayValue=\"name\"\r\n isObject={true}\r\n onSelect={(selectedList, removedItem) => basvuruTipi[\"precondition\"] = selectedList.length == 0 ? null : selectedList.map(rec => rec.id).join()} // Function will trigger on select event\r\n onRemove={(selectedList, removedItem) => basvuruTipi[\"precondition\"] = selectedList.length == 0 ? null : selectedList.map(rec => rec.id).join()} // Function will trigger on remove event\r\n selectedValues={basvuruTipi.precondition == null ? [] : listData.filter(x => x.isadimi != true && basvuruTipi.precondition.split(\",\").includes(x.id + \"\"))}\r\n />\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n\r\n <div className=\"bg-white rounded-3 mt-3\" >\r\n <div className=\"p-2 fw-bold border-bottom\" >\r\n Ä°ÅŸ Adımları\r\n <span className=\"spinner-border spinner-border-sm ms-3\" id=\"adresspiner\" hidden> </span>\r\n </div>\r\n {basvuruTipi.id == null && <div className=\"text-muted ps-2\">Ä°ÅŸ Adımlarını seçmek için önce BaÅŸvuru Tipini Kaydediniz </div>}\r\n\r\n\r\n < div className=\"p-2\" >\r\n <Multiselect className=\"p-0 ps-1 form-control-sm\"\r\n options={listData.filter(x => x.isadimi == true)}\r\n emptyRecordMsg=\"BaÅŸka Kayıt Yok\"\r\n ref={multiselectRef}\r\n\r\n displayValue=\"name\"\r\n disable={basvuruTipi.id == null}\r\n isObject={true}\r\n onSelect={(selectedList, item) => addBasvuruTipiisAdimi(item)} // Function will trigger on select event\r\n onRemove={(selectedList, item) => removeBasvuruTipiisAdimi(item)} // Function will trigger on remove event\r\n selectedValues={listData.filter(x => x.isadimi == true && basvuruTipiAdimlari.some(b => b.isAdimi == x.id))}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n {basvuruTipi.id != null ? <HavaleSablonSetting disabled basvuruTipi={basvuruTipi} isAdimlari={basvuruTipiAdimlari} key={basvuruTipiAdimlari} /> : <span className=\"text-muted p-3\">Havale Åablonları eklemek için önce BaÅŸvuru Tipini Kaydediniz </span>}\r\n\r\n </div>\r\n\r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { ajaxFail, sendpost, isEmpty, showConfirmMessage, levenshtein, showSuccessMessage, capitalizeWords, showErrorMessage } from '../GlobalState.js';\r\nimport { typeOf } from 'react-is';\r\nimport BasvuruTipleriDetail from './BasvuruTipleriDetail.js';\r\nimport bootstrap from 'bootstrap/dist/js/bootstrap.min.js'\r\nimport $ from 'jquery';\r\n\r\nexport default function BasvuruTipleriList(props) {\r\n var postdata = {};\r\n const [listData, setListData] = useState([]);\r\n const [userDenetimPerms, setuserDenetimPerms] = useState([]);\r\n const [userlist, setUserList] = useState([]);\r\n const [appTypeGroups, setappTypeGroups] = useState([]);\r\n const [basvuruTipiAdimlari, setBasvuruTipiAdimlari] = useState([]);\r\n\r\n const multiselectRef = React.createRef();\r\n\r\n const multiselectRefNew = React.createRef();\r\n\r\n const [showIsAdimlari, setShowIsAdimlari] = useState(false);\r\n\r\n useEffect(() => {\r\n fetchDenetimList();\r\n fetchAppTypeGrupList();\r\n getbasvurutipiadiımlari();\r\n fetchUserList();\r\n\r\n var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"popover\"]'))\r\n var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {\r\n return new bootstrap.Popover(popoverTriggerEl)\r\n })\r\n $(\"#basvuruTipiListesi\").on(\"click\", function (e) {\r\n var windowElement = document.getElementsByClassName('floating-window');\r\n Array.prototype.slice.call(windowElement).forEach(w => w.style.display = 'none')\r\n });\r\n\r\n }, [])\r\n\r\n\r\n const showWindow = (id) => {\r\n const windowElement = document.getElementById('floatingWindow' + id);\r\n var target = document.getElementById('name' + id)\r\n var inputText = target.value.toLowerCase();\r\n const matchedItems = listData.filter(x=>x.id!=id)\r\n .map(item => ({\r\n item,\r\n similarity: levenshtein(inputText.toLowerCase(), item.name.toLowerCase())\r\n }))\r\n .filter(({ similarity }) => similarity > 0.1) // Only keep items with some similarity\r\n .sort((a, b) => b.similarity - a.similarity);\r\n\r\n if (document.getElementById('save' + id) != null) {\r\n if (matchedItems.length > 0 && matchedItems[0].similarity == 1)\r\n document.getElementById('save' + id).disabled = true;\r\n else\r\n document.getElementById('save' + id).disabled = false;\r\n\r\n }\r\n\r\n\r\n if (matchedItems.length > 0 && inputText !== '') {\r\n windowElement.innerHTML = \"<div class='text-danger border-bottom border-primary '>Daha önce eklediÄŸiniz benzer kayıtlar</div>\" +\r\n matchedItems.map(item =>\r\n `<div class='border-bottom fw-bold text-dark' style='opacity:${0.2 + item.similarity}'>\r\n <span class='btn btn-link btn-sm text-decoration-none shadow-none'>\r\n ${item.item.name}\r\n </span>\r\n </div>`).join('');\r\n const rect = target.getBoundingClientRect();\r\n windowElement.style.left = rect.left + 3 + 'px';\r\n windowElement.style.top = rect.bottom + 5 + 'px';\r\n windowElement.style.display = 'block';\r\n } else {\r\n windowElement.style.display = 'none';\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n const fetchList = () => {\r\n fetch(\"getdenetimperms\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(\"\")\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setuserDenetimPerms(value);\r\n\r\n })\r\n\r\n }\r\n });\r\n }\r\n\r\n const fetchUserList = () => {\r\n fetch(\"userlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n fetchList();\r\n value.forEach(x => x.fullName = x.name + \" \" + x.family + \"(\" + x.userName + \")\")\r\n setUserList(value);\r\n\r\n })\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n const Add = (id, username) => {\r\n var postdata = {};\r\n postdata.UserName = username;\r\n postdata.DenetimId = id;\r\n sendpost(\"mapdenetimtouser\", postdata, \"spin1\");\r\n\r\n }\r\n\r\n const remove = (id, username) => {\r\n var postdata = {}\r\n postdata.UserName = username;\r\n postdata.denetimId = id;\r\n sendpost(\"removedenetimfromuser\", postdata, \"spin1\");\r\n }\r\n\r\n\r\n const fetchAppTypeGrupList = () => {\r\n fetch(\"apptypegroupslist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setappTypeGroups(value);\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const fetchDenetimList = () => {\r\n fetch(\"denetimlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value.trim();\r\n const name = target.name;\r\n rec[name] = value;\r\n if ((name == \"deadline\" || name == \"precondition\") && value == '')\r\n rec[name] = null;\r\n }\r\n\r\n const renderIsAdimiTable = (tabledata) => {\r\n if (tabledata == null)\r\n return \"\";\r\n var mytable = <div>\r\n <div className=\"row mt-2 pb-2\">\r\n\r\n <div className=\"col-3\">\r\n <input autocomplete=\"off\" id=\"nameNew\" type=\"text\" className=\"form-control form-control-sm\" placeholder=\"Ä°ÅŸ Adımı\" name=\"name\" onChange={(e) => { handleInputChange(e); showWindow(\"New\") }} />\r\n <div id=\"floatingWindowNew\" className=\"floating-window\"></div>\r\n </div>\r\n\r\n\r\n <div className=\"col-2\">\r\n Aktif \r\n <input type=\"checkbox\" className=\"ms-2 form-check-input\" name=\"active\" id=\"active\" defaultChecked={false} onChange={handleInputChange} />\r\n </div>\r\n <div className=\"col-2\">\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"deadline\" placeholder=\"Kontrol Süre\" name=\"deadline\" onChange={handleInputChange} />\r\n </div>\r\n <div className=\"col-2\">\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"duzeltmeDeadline\" placeholder=\"Düzeltme Süre\" name=\"duzeltmeDeadline\" onChange={handleInputChange} />\r\n </div>\r\n <div className=\"col-2\">\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"duzeltmeSayi\" placeholder=\"Düzeltme Sayı\" name=\"duzeltmeSayi\" onChange={handleInputChange} />\r\n </div>\r\n\r\n <div className=\"col-1 text-end\" > <button id=\"saveNew\" onClick={() => savedenetim(null)} className=\"btn btn-sm btn-link text-decoration-none m-0 p-0\"><i class=\"fa fa-plus-circle fs-5\" aria-hidden=\"true\" title=\"Ekle\"></i></button>\r\n\r\n </div>\r\n </div>\r\n\r\n <div className=\"table-responsive mainpagescroll mt-2 border-top border-2\" style={{ \"height\": \"85vh\" }} >\r\n <table className='table table-vdstriped table-sm ' aria-labelledby=\"tabelLabel\">\r\n <thead style={{ \"position\": \"sticky\", \"top\": 0, \"z-index\": \"1\" }} className=\"bg-light \">\r\n\r\n <th className=\"text-start\">Id</th>\r\n <th className=\"text-start\">\r\n Yapılan Ä°ÅŸin Adı\r\n <button type=\"button\" className=\"btn btn-secondary bg-secondary btn-sm fw-bold pt-0 pb-0 mt-0 ms-2\" id=\"mypopover2\" data-bs-toggle=\"popover\" data-bs-trigger=\"focus\" title=\"AÇIKLAMA\" data-bs-content=\"'BaÅŸvuru Tipleri' tab'ında yer alan baÅŸvurulara iliÅŸkin yapılan havaleler ile ilgilidir. Kontrolörlerin ilgili baÅŸvuruda gerçekleÅŸtirdikleri eylemlere verilen isimleridir. Bu sayede o baÅŸvuruda hangi kontrolör tarafından hangi iÅŸlerin yapıldığı görülmüş olur.\">?</button>\r\n\r\n </th>\r\n <th className=\"text-start\">Yetkili KiÅŸiler <span className=\"spinner-border spinner-border-sm ms-3\" id=\"spin1\" hidden> </span></th>\r\n <th className=\"text-start\">Aktif</th>\r\n <th className=\"text-start\">Kontrol Süre</th>\r\n <th className=\"text-start\">Düzeltme Süre</th>\r\n <th className=\"text-start\">Düzeltme Sayı</th>\r\n <th className=\"text-end\"></th>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n <tr key={apprec.id}>\r\n\r\n <td>{apprec.id}</td>\r\n <td>\r\n <input autocomplete=\"off\" id={\"name\" + apprec.id} type=\"text\" className=\"form-control form-control-sm \" style={{ \"background-color\": \"transparent\", \"min-width\": \"200px\" }} placeholder=\"Denetim Adı\" name=\"name\" onChange={(e) => { updateRecord(apprec, e); showWindow(apprec.id); }} defaultValue={apprec.name} />\r\n <div id={\"floatingWindow\" + apprec.id} className=\"floating-window\"></div>\r\n </td>\r\n\r\n <td>\r\n <Multiselect className=\"p-0 ps-1 form-control-sm bg-white mb-2\"\r\n options={userlist}\r\n emptyRecordMsg=\"BaÅŸka Kayıt Yok\"\r\n displayValue=\"fullName\"\r\n isObject={true}\r\n closeOnSelect={true}\r\n selectedValues={userlist.filter(x => userDenetimPerms.some(y => y.creatorUserName == x.userName && apprec.name == y.name))}\r\n avoidHighlightFirstOption={true}\r\n onSelect={(selectedList, item) => { Add(apprec.id, item.userName) }}\r\n onRemove={(selectedList, item) => { remove(apprec.id, item.userName) }}\r\n />\r\n </td>\r\n\r\n\r\n <td>\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"active\" defaultChecked={apprec.active} onChange={(e) => updateRecord(apprec, e)} />\r\n </td>\r\n <td style={{ \"min-width\": \"60px\" }}><input type=\"number\" className=\"form-control form-control-sm \" style={{ \"background-color\": \"transparent\" }} placeholder=\"\" name=\"deadline\" onChange={(e) => updateRecord(apprec, e)} defaultValue={apprec.deadline} /></td>\r\n <td style={{ \"min-width\": \"60px\" }}><input type=\"number\" className=\"form-control form-control-sm \" style={{ \"background-color\": \"transparent\" }} placeholder=\"\" name=\"duzeltmeDeadline\" onChange={(e) => updateRecord(apprec, e)} defaultValue={apprec.duzeltmeDeadline} /></td>\r\n <td style={{ \"min-width\": \"60px\" }}><input type=\"number\" className=\"form-control form-control-sm \" style={{ \"background-color\": \"transparent\" }} placeholder=\"\" name=\"duzeltmeSayi\" onChange={(e) => updateRecord(apprec, e)} defaultValue={apprec.duzeltmeSayi} /></td>\r\n\r\n\r\n <td className=\"text-end\">\r\n <button id={\"save\" + apprec.id} onClick={() => { savedenetim(apprec); }} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0 shadow-none\"><i className=\"fa fa-floppy-o fs-6\" aria-hidden=\"true\" title=\"Güncelle\"></i></button>\r\n \r\n \r\n <button onClick={() => { sil(apprec); }} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0 shadow-none\"><i className=\"fa fa-trash text-danger fs-6\" aria-hidden=\"true\" title=\"Sil\"></i></button>\r\n\r\n </td>\r\n </tr>\r\n )}\r\n\r\n\r\n </tbody>\r\n </table>\r\n </div>\r\n </div >\r\n return (mytable);\r\n }\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n if (tabledata == null)\r\n return \"\";\r\n var mytable = <div>\r\n <div className=\" text-end mt-1\">\r\n <button onClick={() => window.changeComponent(<BasvuruTipleriDetail basvuruTipleri={listData} basvuruTipi={new Object()} basvuruTipleri={listData} appTypeGroups={appTypeGroups} basvuruTipiAdimlari={[]} />)} className=\" btn btn-sm btn-primary\">Yeni BaÅŸvuru Tipi OluÅŸtur </button>\r\n </div>\r\n <div className=\"table-responsive mainpagescroll mt-1\" style={{ \"height\": \"85vh\" }} >\r\n\r\n <table className='table table-vdstriped table-sm ' aria-labelledby=\"tabelLabel\">\r\n <thead style={{ \"position\": \"sticky\", \"top\": 0, \"z-index\": \"1\" }} className=\"bg-light \">\r\n\r\n <th className=\"text-start\">Id</th>\r\n <th className=\"text-start\"> BaÅŸvuru Adı</th>\r\n <th className=\"text-start\"> Ekleme Tarihi</th>\r\n\r\n <th className=\"text-start\">Aktif</th>\r\n <th className=\"text-start\">Kabul</th>\r\n <th className=\"text-start\">Onay</th>\r\n <th className=\"text-start\">Ruhsat</th>\r\n <th className=\"text-start\">Zorunlu Dosya Kontrol</th>\r\n <th className=\"text-start\">Hızlı ArÅŸiv</th>\r\n\r\n <th className=\"text-end\"></th>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {tabledata.filter(x => (x.isadimi == true) == showIsAdimlari).map(apprec =>\r\n <tr key={apprec.id}>\r\n <td>{apprec.id}</td>\r\n <td>\r\n {apprec.name}\r\n </td>\r\n <td>\r\n {apprec.crerateTime}\r\n </td>\r\n\r\n <td>\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"active\" checked={apprec.active} disabled />\r\n </td>\r\n {showIsAdimlari == false && <td>\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"kabulSureci\" checked={apprec.kabulSureci} disabled />\r\n </td>}\r\n {showIsAdimlari == false && <td>\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"onaysureci\" checked={apprec.onaysureci} disabled />\r\n </td>}\r\n {showIsAdimlari == false && <td>\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"ruhsatsureci\" checked={apprec.ruhsatsureci} disabled />\r\n </td>}\r\n {showIsAdimlari == false && <td>\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"eksiksiz\" checked={apprec.eksiksiz} disabled />\r\n </td>}\r\n {showIsAdimlari == false && <td>\r\n <input type=\"checkbox\" className=\"form-check-input\" name=\"hizliArsiv\" checked={apprec.hizliArsiv} disabled />\r\n </td>}\r\n\r\n\r\n {/*<td>{apprec.creatorUserName}</td>*/}\r\n {/*<td>{apprec.crerateTime}</td>*/}\r\n <td className=\"text-end\"> <button onClick={() => {\r\n window.changeComponent(<BasvuruTipleriDetail basvuruTipi={apprec} appTypeGroups={appTypeGroups} basvuruTipiAdimlari={basvuruTipiAdimlari} basvuruTipleri={listData} />)\r\n\r\n }} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\"><i className=\"fa fa-edit fs-6\" aria-hidden=\"true\" title=\"Güncelle\"></i></button>\r\n \r\n {/* <button onClick={() => {\r\n showConfirmMessage(apprec.hide == true ? \"Kayıt BaÅŸvuru Tiplerine Taşınacaktır\" : \"Kayıt Ä°ÅŸ Adımlarına Taşınacaktır\", \"\", \"Devam Et\", \"Ä°ptal\", () => {\r\n apprec.hide = apprec.hide == true ? false : true;\r\n savedenetim(apprec);\r\n })\r\n\r\n\r\n }} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">\r\n <i className={apprec.hide == true ? \"fa fa-book fs-6\" : \"fa fa-code-fork fs-6\"} aria-hidden=\"true\" title={apprec.hide == true ? \"BaÅŸvuru Tiplerine Taşı\" : \"Ä°ÅŸ Adımlarına Taşı\"}></i></button>*/}\r\n\r\n <button onClick={() => { sil(apprec); }} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\"><i className=\"fa fa-trash text-danger fs-6\" aria-hidden=\"true\" title=\"Sil\"></i></button>\r\n\r\n </td>\r\n </tr>\r\n )}\r\n\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n const sil = (rec) => {\r\n var r = rec;\r\n\r\n showConfirmMessage(rec.name + \" Ä°simli Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removedenetim\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n }));\r\n\r\n }\r\n\r\n const getbasvurutipiadiımlari = (rec) => {\r\n sendpost(\"basvurutipisadimlist\", null, \"\", (response) => {\r\n response.json().then(value => {\r\n setBasvuruTipiAdimlari(value);\r\n })\r\n\r\n })\r\n }\r\n\r\n const savedenetim = (rec) => {\r\n var r = rec;\r\n if (r == null) {\r\n postdata.isadimi = showIsAdimlari;\r\n r = postdata;\r\n }\r\n\r\n r.name = capitalizeWords(r.name);\r\n if (document.getElementById(\"name\" + r.id))\r\n document.getElementById(\"name\" + r.id).value = r.name;\r\n if (isEmpty(r.name)) {\r\n showErrorMessage(\"Ä°sim BoÅŸ Olamaz\");\r\n return;\r\n }\r\n\r\n fetch(\"savedenetim\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(r)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n if (rec != null) {\r\n showSuccessMessage(\"Ä°ÅŸ Adımı Güncellendi. \")\r\n // fetchDenetimList();\r\n }\r\n else {\r\n fetchDenetimList();\r\n if (document.getElementById(\"nameNew\")) document.getElementById(\"nameNew\").value = \"\";\r\n if (document.getElementById(\"active\")) document.getElementById(\"active\").checked = false;\r\n if (document.getElementById(\"onaysureci\")) document.getElementById(\"onaysureci\").checked = false;\r\n if (document.getElementById(\"ruhsatsureci\")) document.getElementById(\"ruhsatsureci\").checked = false;\r\n if (document.getElementById(\"hide\")) document.getElementById(\"hide\").checked = false;\r\n if (document.getElementById(\"eksiksiz\")) document.getElementById(\"eksiksiz\").checked = false;\r\n if (document.getElementById(\"deadline\")) document.getElementById(\"deadline\").value = \"\";\r\n if (document.getElementById(\"duzeltmeDeadline\")) document.getElementById(\"duzeltmeDeadline\").value = \"\";\r\n if (document.getElementById(\"duzeltmeSayi\")) document.getElementById(\"duzeltmeSayi\").value = \"\";\r\n if (document.getElementById(\"hizliArsiv\")) document.getElementById(\"hizliArsiv\").checked = false;\r\n if (document.getElementById(\"grup\")) document.getElementById(\"grup\").selectedIndex = -1;\r\n if (multiselectRefNew.current) multiselectRefNew.current.resetSelectedValues();\r\n postdata = {};\r\n\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n var value = target.type === 'checkbox' ? target.checked : target.value;\r\n if (target.type === 'text' && isEmpty(value) == false)\r\n value = value.trim();\r\n\r\n postdata[target.name] = value;\r\n\r\n if (target.name == \"deadline\" && value == '')\r\n postdata[target.name] = null;\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n return (\r\n <div className=\"\" id=\"basvuruTipiListesi\">\r\n <ul className=\"nav nav-tabs nav-pills\">\r\n <li className=\"nav-item\">\r\n <a className=\"nav-link active\" id=\"basvurTipleri\" aria-current=\"page\" href=\"#\" onClick={(e) => {\r\n document.getElementById(\"isAdimlari\").classList.remove('active');\r\n document.getElementById(\"basvurTipleri\").classList.add('active');\r\n setShowIsAdimlari(false);\r\n }}>BaÅŸvuru Tipleri <i className={\"fa fa-book fs-6\"} aria-hidden=\"true\" ></i></a>\r\n </li>\r\n <li className=\"nav-item\">\r\n <a className=\"nav-link\" href=\"#\" id=\"isAdimlari\"\r\n onClick={(e) => {\r\n document.getElementById(\"basvurTipleri\").classList.remove('active');\r\n document.getElementById(\"isAdimlari\").classList.add('active');\r\n setShowIsAdimlari(true);\r\n }}\r\n >Ä°ÅŸ Adımları <i className={\"fa fa-code-fork fs-6\"} aria-hidden=\"true\" ></i></a>\r\n </li>\r\n </ul>\r\n <div className=\"row\">\r\n <div className=\"col-12\" >\r\n {showIsAdimlari != true ? renderTable(listData.filter(x => x.isadimi != true)) : renderIsAdimiTable(listData.filter(x => x.isadimi == true))}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { ajaxFail, showConfirmMessage, showSuccessMessage, sendpost, sendget, isEmpty, showErrorMessage } from '../GlobalState.js';\r\n\r\nexport default function TarifeCetveliSetting(props) {\r\n var postdata = {};\r\n const [listData, setListData] = useState([]);\r\n const [sortDirection, setSortDirection] = useState({});\r\n var sortField = null;\r\n\r\n useEffect(() => {\r\n fetchList();\r\n }, [])\r\n\r\n\r\n const sortList = (fildname) => {\r\n sortField = fildname;\r\n if (sortDirection[sortField] == null || sortDirection[sortField] == \"ZA\") {\r\n sortDirection[sortField] = \"AZ\";\r\n }\r\n else {\r\n sortDirection[sortField] = \"ZA\";\r\n }\r\n\r\n var temp = [...listData]; //clone the array to update the component on setApplist\r\n temp.sort(myCompare);\r\n setListData(temp);\r\n }\r\n\r\n const myCompare = (a, b) => {\r\n var av = a[sortField];\r\n var bv = b[sortField];\r\n var ret = 1;\r\n if (sortDirection[sortField] == \"ZA\")\r\n ret = -1;\r\n\r\n if (av == null && bv != null)\r\n return -1 * ret;\r\n if (av != null && bv == null)\r\n return 1 * ret;\r\n if (av == null && bv == null)\r\n return 0;\r\n\r\n if (typeof av === 'string' || av instanceof String)\r\n if (typeof bv === 'string' || bv instanceof String)\r\n return av.localeCompare(bv) * ret\r\n\r\n if (av < bv) {\r\n return -1 * ret;\r\n }\r\n if (av > bv) {\r\n return 1 * ret;\r\n }\r\n return 0;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const fetchList = () => {\r\n sendget(\"tarifecetvelilist\", \"spinner1\", (response) => {\r\n response.json().then(value => {\r\n setListData(value)\r\n })\r\n })\r\n }\r\n\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n var value = target.type === 'checkbox' ? target.checked : target.value.trim();\r\n const name = target.name;\r\n\r\n if (isEmpty(value) == false && /^[a-zA-Z0-9_.]+$/.test(value) == false) {\r\n showErrorMessage(\"Sadece harf, rakam veya _ girebilirsiniz\");\r\n return;\r\n }\r\n rec[name] = value;\r\n if (isEmpty(value))\r\n rec[name] = null;\r\n }\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n <div className=\"table-responsive mainpagescroll\" style={{ \"height\": \"85vh\" }}>\r\n <table className='table table-vdstriped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead style={{ \"position\": \"sticky\", \"top\": 0, \"z-index\": \"1\" }} className=\"bg-white\" >\r\n <th width=\"35px\">\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"id\")}>Id</button>\r\n </th>\r\n <th>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"name\")}>Ad</button>\r\n </th>\r\n <th>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"nitelik\")}>Çarpan</button>\r\n </th>\r\n <th>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"deger\")}>DeÄŸer</button>\r\n </th>\r\n <th>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"low\")}>Alt Sınır</button>\r\n </th>\r\n <th>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"high\")}>Ãœst Sınır</button>\r\n </th>\r\n <th>\r\n <button className=\"btn btn-link btn-sm text-decoration-none\" onClick={() => sortList(\"tarih\")}>Tarih</button>\r\n </th>\r\n <th></th>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n <tr key={apprec.id}>\r\n <td>{apprec.id}</td>\r\n <td><input type=\"text\" className=\"form-control form-control-sm \" style={{ \"background-color\": \"transparent\" }} name=\"name\" onChange={(e) => updateRecord(apprec, e)} defaultValue={apprec.name} /></td>\r\n <td><input type=\"text\" className=\"form-control form-control-sm \" style={{ \"background-color\": \"transparent\" }} name=\"nitelik\" onChange={(e) => updateRecord(apprec, e)} defaultValue={apprec.nitelik} /></td>\r\n <td><input type=\"number\" className=\"form-control form-control-sm \" style={{ \"background-color\": \"transparent\" }} name=\"deger\" onChange={(e) => updateRecord(apprec, e)} defaultValue={apprec.deger} /></td>\r\n <td><input type=\"number\" className=\"form-control form-control-sm \" style={{ \"background-color\": \"transparent\" }} name=\"low\" onChange={(e) => updateRecord(apprec, e)} defaultValue={apprec.low} /></td>\r\n <td><input type=\"number\" className=\"form-control form-control-sm \" style={{ \"background-color\": \"transparent\" }} name=\"high\" onChange={(e) => updateRecord(apprec, e)} defaultValue={apprec.high} /></td>\r\n\r\n\r\n <td>{apprec.tarih}</td>\r\n\r\n <td className=\"text-end\"> <button onClick={() => { save(apprec); }} className=\"btn btn-link btn-sm text-decoration-none shadow-none\"><i class=\"fa fa-save\" title=\"Güncelle\"></i></button>\r\n \r\n <button onClick={() => { sil(apprec); }} className=\"btn btn-link btn-sm text-decoration-none shadow-none ps-0\"><i class=\"fa fa-trash-o\" title=\"Sil\"></i></button>\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n const sil = (rec) => {\r\n showConfirmMessage(rec.id + \" numaralı kayıt silinsin mı?\",\"\",\"Evet\",\"Hayır\", () => {\r\n\r\n \r\n sendpost(\"removetarifecetveli\", rec, \"spinner1\", (response) => {\r\n response.json().then(value => {\r\n setListData(value)\r\n })\r\n })\r\n })\r\n\r\n }\r\n\r\n\r\n\r\n const save = (rec) => {\r\n if (rec == null)\r\n rec = postdata;\r\n if (isEmpty(rec.name) || isEmpty(rec.nitelik) || isEmpty(rec.deger)) {\r\n showErrorMessage(\"Tüm Bilgileri Doldurunuz\", \"\");\r\n return;\r\n }\r\n \r\n rec.name = rec.name.trim();\r\n if (/^[a-zA-Z0-9_]+$/.test(rec.name) == false) {\r\n showErrorMessage(\"Ad sadece harf veya rakam içerebilir\");\r\n return;\r\n }\r\n\r\n\r\n\r\n sendpost(\"savetarifecetveli\", rec, \"spinner1\", (response) => {\r\n response.json().then(value => {\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı\", \"\");\r\n setListData(value)\r\n })\r\n })\r\n\r\n\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value.trim();\r\n\r\n if (isEmpty(value) == false && /^[a-zA-Z0-9_.,]+$/.test(value) == false) {\r\n showErrorMessage(\"Sadece harf, rakam veya _ girebilirsiniz\");\r\n return;\r\n }\r\n\r\n postdata[target.name] = value;\r\n }\r\n\r\n return (\r\n <div className=\"border rounded border-light\">\r\n <div className=\"row\">\r\n <div className=\"col-9\">\r\n <h5>Tarife Cetveli</h5>\r\n </div>\r\n <div className=\"col-3 text-end \">\r\n <span class=\"ms-1 spinner-border spinner-border-sm\" id=\"spinner1\" hidden></span>\r\n </div>\r\n </div>\r\n \r\n \r\n <div className=\"row border rounded-2 m-1 p-2 \">\r\n <div className=\"col-md-3 col-12\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"name\" placeholder=\"Ad\" name=\"name\" onChange={handleInputChange} key={listData} />\r\n </div>\r\n <div className=\"col-md-2 col-12\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"sira\" placeholder=\"Çarpan\" name=\"nitelik\" onChange={handleInputChange} key={listData} />\r\n </div>\r\n <div className=\"col-md-2 col-12\">\r\n <input type=\"number\" className=\"form-control form-control-sm \" placeholder=\"DeÄŸer\" name=\"deger\" onChange={handleInputChange} key={listData} />\r\n </div>\r\n <div className=\"col-md-2 col-12\">\r\n <input type=\"number\" className=\"form-control form-control-sm \" placeholder=\"Alt sınır\" name=\"low\" onChange={handleInputChange} key={listData} />\r\n </div>\r\n <div className=\"col-md-2 col-12\">\r\n <input type=\"number\" className=\"form-control form-control-sm \" placeholder=\"Ãœst sınır\" name=\"high\" onChange={handleInputChange} key={listData} />\r\n </div>\r\n <div className=\"col-md-1 col-12 text-end\">\r\n <button onClick={() => save(null)} className=\"btn btn-sm btn-link text-decoration-none shadow-none\"><i className=\"fa fa-plus-circle align-middle\" style={{ \"font-size\": \"20px\" }}></i> </button>\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"col-12\">\r\n {renderTable(listData)}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport TarifeSetting from './TarifeSetting';\r\nimport { ajaxFail, showConfirmMessage, showSuccessMessage, sendpost, sendget, isEmpty, showErrorMessage } from '../GlobalState.js';\r\n\r\nexport default function TarifeDetail(props) {\r\n var postdata = {};\r\n const [tarifeCetveli, setListData] = useState([]);\r\n const [tarife, setTarife] = useState(props.tarife);\r\n var changeComponent = props.changeComponent;\r\n\r\n useEffect(() => {\r\n fetchList();\r\n }, [])\r\n\r\n\r\n\r\n\r\n const [formulaParts, setFormulaParts] = useState([]);\r\n const [selectedPart, setSelectedPart] = useState(null);\r\n \r\n const [finalFormula, setFinalFormula] = useState(\"\");\r\n const [selectedOperator, setSelectedOperator] = useState(\"+\");\r\n const [showIfModal, setShowIfModal] = useState(false);\r\n\r\n var conditionLeft = \"\", conditionRight = \"\", ifTrueValue = \"\", ifFalseValue = \"\", conditionOperator = \"\";\r\n //const [conditionLeft, setConditionLeft] = useState(\"\");\r\n // const [conditionOperator, setConditionOperator] = useState(\"\");\r\n // const [conditionRight, setConditionRight] = useState(\"\");\r\n // const [ifTrueValue, setIfTrueValue] = useState(\"\");\r\n // const [ifFalseValue, setIfFalseValue] = useState(\"\");\r\n const [lastElementType, setLastElementType] = useState(\"O\");\r\n\r\n\r\n const operators = [\"+\", \"-\", \"*\", \"/\", \"if\"];\r\n const conditionOperators = [\"=\", \">\", \"<\", \">=\", \"<=\", \"!=\"];\r\n\r\n const handleAddKey = (key) => {\r\n \r\n var c = document.getElementById(\"newFormul\").value;\r\n document.getElementById(\"newFormul\").value= c + key\r\n \r\n };\r\n\r\n const resetCombos = () => {\r\n document.getElementById(\"tarifecetveliselect\").selectedIndex = -1;\r\n document.getElementById(\"soruselect\").selectedIndex = -1;\r\n document.getElementById(\"birlestirmeselect\").selectedIndex = -1;\r\n document.getElementById(\"sabitsayi\").value = \"\";\r\n };\r\n\r\n\r\n\r\n const handleAddOperator = (operator) => {\r\n if (operator === \"if\") {\r\n \r\n setShowIfModal(true); // Open modal to define the if statement\r\n } else {\r\n\r\n \r\n var c = document.getElementById(\"newFormul\").value;\r\n resetCombos();\r\n var c = document.getElementById(\"newFormul\").value;\r\n document.getElementById(\"newFormul\").value = c + \" \" + operator + \" \";\r\n \r\n \r\n }\r\n };\r\n\r\n const handleAddConstant = (constant) => {\r\n \r\n\r\n var c = document.getElementById(\"newFormul\").value;\r\n document.getElementById(\"newFormul\").value = c + constant ;\r\n resetCombos();\r\n };\r\n\r\n const handleSavePart = () => {\r\n var currentPart=document.getElementById(\"newFormul\").value;\r\n if (currentPart.trim() !== \"\") {\r\n setFormulaParts((prev) => [...prev, currentPart]);\r\n document.getElementById(\"newFormul\").value = \"\";\r\n }\r\n };\r\n\r\n const handleAddToFinalFormula = () => {\r\n\r\n var part = null;\r\n if (selectedPart == null) {\r\n showErrorMessage(\"Bir Formül Seçiniz\");\r\n return;\r\n }\r\n part = selectedPart;\r\n\r\n const formulaUpdate = finalFormula\r\n ? `(${finalFormula}) ${selectedOperator} (${part})`\r\n : part;\r\n setFinalFormula(formulaUpdate);\r\n };\r\n\r\n const handleSaveIfStatement = () => {\r\n const condition = conditionLeft + \" \" + conditionOperator + \" \" + conditionRight;\r\n const ifStatement = 'if(' + condition + ' , ' + ifTrueValue + ' , ' + ifFalseValue + ')';\r\n // setFormulaParts((prev) => [...prev, ifStatement]);\r\n resetCombos();\r\n var c=document.getElementById(\"newFormul\").value;\r\n document.getElementById(\"newFormul\").value= c + ifStatement;\r\n \r\n //setCurrentPart(\"\");\r\n setShowIfModal(false);\r\n resetIfModal();\r\n \r\n };\r\n\r\n const resetIfModal = () => {\r\n // setConditionLeft(\"\");\r\n // setConditionOperator(\"\");\r\n // setConditionRight(\"\");\r\n // setIfTrueValue(\"\");\r\n // setIfFalseValue(\"\");\r\n conditionLeft = \"\";\r\n conditionRight = \"\";\r\n ifTrueValue = \"\";\r\n ifFalseValue = \"\";\r\n conditionOperator = \"\";\r\n };\r\n\r\n const renderOptions = () => {\r\n return [\r\n ...tarifeCetveli.map(({ name }) => name),\r\n ...formulaParts,\r\n ...(isEmpty(tarife.sorular) ? [] : JSON.parse(tarife.sorular).map(x =>x.tip==\"text\"?\"'\"+x.name+\"'\":x.name)),\r\n \"Sabit DeÄŸer\",\r\n ];\r\n };\r\n\r\n const addSoru = () => {\r\n var soruadi = document.getElementById(\"soru\").value;\r\n var sorutipi = document.getElementById(\"sorutip\").value;\r\n var sorudegeri = document.getElementById(\"options\").value;\r\n if (isEmpty(soruadi) || isEmpty(sorutipi)) {\r\n showErrorMessage(\"Soru Adı ve Soru Teipi Seçilmelidir\");\r\n return;\r\n }\r\n soruadi = soruadi.trim();\r\n if (/^[a-zA-Z0-9_]+$/.test(soruadi) == false) {\r\n showErrorMessage(\"Soru Adı sadece harf veya rakam içerebilir\");\r\n return;\r\n }\r\n\r\n var newsoru = { name: soruadi, tip: sorutipi, options: sorudegeri }\r\n if (isEmpty(tarife.sorular)) {\r\n tarife.sorular = JSON.stringify([newsoru])\r\n }\r\n else {\r\n var s = JSON.parse(tarife.sorular);\r\n s.push(newsoru);\r\n tarife.sorular = JSON.stringify(s);\r\n }\r\n save(tarife)\r\n\r\n };\r\n\r\n const soruSil = (idx) => {\r\n if (isEmpty(tarife.sorular)) {\r\n return;\r\n }\r\n else {\r\n var s = JSON.parse(tarife.sorular);\r\n s.splice(idx, 1);\r\n tarife.sorular = JSON.stringify(s);\r\n }\r\n save(tarife)\r\n\r\n };\r\n\r\n\r\n\r\n\r\n const renderDropdown = (key, setValue, label) => (\r\n <div className=\"row mb-1\">\r\n <div className=\"col-3\">\r\n {label}\r\n </div>\r\n <div className=\"col-6\">\r\n <select\r\n \r\n onChange={(e) => {\r\n if (e.target.value == \"Sabit DeÄŸer\")\r\n document.getElementById(\"id\" + key).hidden = false;\r\n setValue(e.target.value)\r\n }\r\n }\r\n className=\"form-select form-select-sm shadow-none\"\r\n >\r\n <option value=\"\">Seç</option>\r\n {renderOptions().map((option) => (\r\n <option key={option} value={option}>\r\n {option}\r\n </option>\r\n ))}\r\n </select>\r\n </div>\r\n\r\n <div className=\"col-3 ps-0\" id={\"id\" + key} hidden>\r\n <input className=\"form-control form-control-sm\"\r\n type=\"text\"\r\n placeholder=\"\"\r\n onChange={(e) => {\r\n if (isEmpty(e.target.value)==false && /^[a-zA-Z0-9_.]+$/.test(e.target.value) == false) {\r\n showErrorMessage(\"Sabit deÄŸer sadece harf veya rakam içerebilir\");\r\n \r\n }\r\n else\r\n setValue(e.target.value)\r\n }}\r\n\r\n />\r\n </div>\r\n \r\n </div>\r\n );\r\n\r\n\r\n\r\n const renderSorularTable = () => {\r\n var sorular = [];\r\n if (isEmpty(tarife.sorular) == false) {\r\n sorular = JSON.parse(tarife.sorular);\r\n if (sorular.map == null) {\r\n showErrorMessage(\"Sorular Listesi Hatalı \" + tarife.sorular);\r\n sorular = [];\r\n tarife.sorular = null;\r\n }\r\n }\r\n\r\n var mytable = <div className=\"border rounded-1 p-1 mb-3\">\r\n\r\n <div className=\"row p-2\">\r\n <div className=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"soru\" placeholder=\"Soru\" name=\"soru\" />\r\n </div>\r\n <div className=\"col-3\">\r\n <select className=\"form-select form-select-sm\" id=\"sorutip\" placeholder=\"Soru Tipi\" name=\"sorutip\" >\r\n <option value=\"\"></option>\r\n <option value=\"text\">Yazı</option>\r\n <option value=\"number\">Sayı</option>\r\n <option value=\"select\">Çoktan Seçmeli</option>\r\n\r\n </select>\r\n </div>\r\n <div className=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"options\" placeholder=\"Varsayılan DeÄŸer\" name=\"options\" />\r\n\r\n </div>\r\n\r\n <div className=\"col-3 text-end\">\r\n <button className=\"btn btn-sm btn-primary\" onClick={addSoru}>Ekle</button>\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"table-responsive mainpagescroll mt-3 border-top\">\r\n <table className='table table-vdstriped table-sm ' aria-labelledby=\"tabelLabel\">\r\n <thead className=\"\">\r\n\r\n <th className=\"text-start\">Soru</th>\r\n <th className=\"text-start\">Soru Tipi</th>\r\n <th className=\"text-start\">Varsayılan DeÄŸer</th>\r\n\r\n </thead>\r\n <tbody >\r\n {sorular.map((apprec, idx) =>\r\n <tr className=\"mt-0 mb-0 pt-0 pb-0\">\r\n <td>{apprec.name} </td>\r\n <td>\r\n {apprec.tip}\r\n </td>\r\n <td>{apprec.options}\r\n </td>\r\n <td>\r\n <button className=\"btn btn-sm btn-link text-decoration-none text-danger\" onClick={(e) => soruSil(idx)}><i className=\"fa fa-trash\"></i></button>\r\n </td>\r\n </tr>\r\n )}\r\n\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n const fetchList = () => {\r\n sendget(\"tarifecetvelilist\", \"spinner1\", (response) => {\r\n response.json().then(value => {\r\n setListData(value)\r\n })\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n\r\n\r\n\r\n const save = (rec, confirm) => {\r\n if (rec == null)\r\n rec = postdata;\r\n if (isEmpty(rec.name)) {\r\n showErrorMessage(\"Tüm Bilgileri Doldurunuz\", \"\");\r\n return;\r\n }\r\n sendpost(\"savetarife\", rec, \"spinner1\", (response) => {\r\n response.json().then(value => {\r\n if (confirm)\r\n showSuccessMessage(\"Tarife Kaydedildi\")\r\n var newtarife = value.find(x => x.id == props.tarife.id);\r\n if (newtarife) {\r\n setTarife(newtarife);\r\n }\r\n })\r\n })\r\n\r\n\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value.trim();\r\n }\r\n\r\n return (\r\n <div className=\"border rounded border-light\">\r\n <div className=\"row mb-2\">\r\n\r\n <div className=\"col-2\">{tarife.id} - {tarife.tarih}\r\n <input type=\"text\" id=\"tarifeName\" className=\"form-control form-control-sm shadow-none\" defaultValue={tarife.name} />\r\n </div>\r\n <div className=\"col-7 text-primary fw-bold\">\r\n <br />\r\n <strong>Mevcut Formul</strong> : {tarife.formul}\r\n\r\n </div>\r\n <div className=\"col-1 text-end \">\r\n <span class=\"ms-1 spinner-border spinner-border-sm\" id=\"spinner1\" hidden></span>\r\n </div>\r\n <div className=\"col-2 text-end \">\r\n <button className=\"btn btn-success btn-sm me-1\" onClick={() => {\r\n if (isEmpty(finalFormula) == false)\r\n tarife.formul = finalFormula;\r\n\r\n var name = document.getElementById(\"tarifeName\").value;\r\n if (isEmpty(name) == false)\r\n tarife.name = name;\r\n save(tarife, true);\r\n }}>\r\n Kaydet\r\n </button>\r\n <button className=\"btn btn-sm btn-primary\" onClick={() => changeComponent(<TarifeSetting changeComponent={changeComponent} />)}>Geri Dön</button>\r\n </div>\r\n </div>\r\n\r\n {renderSorularTable()}\r\n\r\n\r\n <div className=\"bg-light border rounded-2 p-2 mt-5\">\r\n <div className=\"row\">\r\n <div className=\"col-12 \">\r\n\r\n <strong>Formul Paneli</strong>\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n\r\n <div className=\"col-3\">\r\n <div className=\"\">\r\n Tarife Cetveli\r\n </div>\r\n <div className=\"\">\r\n <select id=\"tarifecetveliselect\" onChange={(e) => handleAddKey(e.target.value)} className=\"form-select shadow-none form-select-sm\">\r\n <option value=\"\">\r\n </option>\r\n {[...new Set(tarifeCetveli.map(({ name }) => name))].map((name) => (\r\n <option value={name} key={name}>\r\n {name}\r\n </option>\r\n ))}\r\n </select>\r\n </div>\r\n </div>\r\n <div className=\"col-3\">\r\n <div className=\"\">\r\n Tarife Soruları\r\n </div>\r\n <div className=\"\">\r\n {isEmpty(tarife.sorular) ? \"Soru Bulunmamaktadır\" :\r\n <select id=\"soruselect\" onChange={(e) => handleAddKey(e.target.value)} className=\"form-select shadow-none form-select-sm\">\r\n <option value=\"\" >\r\n </option>\r\n {JSON.parse(tarife.sorular).map(x => (\r\n <option value={x.tip == \"text\" ? \"'\" + x.name + \"'\" : x.name}>\r\n {x.tip==\"text\"?\"'\"+x.name+\"'\":x.name}\r\n </option>\r\n ))}\r\n </select>}\r\n </div>\r\n </div>\r\n <div className=\"col-3\">\r\n <div className=\"\">\r\n Sabit DeÄŸer\r\n </div>\r\n <div className=\"input-group \">\r\n <input \r\n type=\"number\"\r\n className=\"form-control form-control-sm shadow-none\"\r\n placeholder=\"Saysal deÄŸer\"\r\n id=\"sabitsayi\"\r\n />\r\n <button className=\"btn btn-link p-0 ms-1\" onClick={() => handleAddConstant(document.getElementById(\"sabitsayi\").value)} >\r\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div className=\"col-2\">\r\n <div className=\"\">\r\n Ä°ÅŸlem\r\n </div>\r\n\r\n <div className=\"btn-group\">\r\n {operators.map((operator) => (\r\n <button\r\n key={operator}\r\n className=\"btn btn-outline-primary btn-sm\"\r\n onClick={() => handleAddOperator(operator)}\r\n >\r\n {operator}\r\n </button>\r\n ))}\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mt-1\">\r\n <div className=\"col-11 pe-0\">\r\n <div className=\"mb-2 text-primary fw-bold\">\r\n Ãœretilecek Formül: <input type=\"text\" id=\"newFormul\" className=\"form-control form-control-sm shadow-none\" />\r\n </div>\r\n </div>\r\n <div className=\"col-1 text-end\">\r\n <br />\r\n <button className=\"btn btn-primary btn-sm shadow-none\" onClick={handleSavePart}>\r\n Ekle\r\n </button>\r\n </div>\r\n </div>\r\n <div className=\"border rounded-1 ms-1 p-1\">\r\n <div className=\"row\">\r\n <div className=\"col-12\">\r\n\r\n <div className=\"mb-2 fw-bold\">\r\n Eklenen Geçici Formüller\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n {formulaParts.map((part, index) => (\r\n <div className={\"row m-1 \" + (index % 2 == 1 ? \"\" : \" bg-light\")} >\r\n <div className=\"col-12\">\r\n <div class=\"form-check \">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"flexRadioDefault\" id=\"flexRadioDefault2\"\r\n onClick={() => setSelectedPart(part)}\r\n />\r\n <label class=\"form-check-label\" for=\"flexRadioDefault2\">\r\n {part}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n ))}\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"col-2\">\r\n <select id=\"birlestirmeselect\" \r\n className=\"form-select form-select-sm\"\r\n value={selectedOperator}\r\n onChange={(e) => setSelectedOperator(e.target.value)}\r\n >\r\n <option value=\"\"></option>\r\n {operators.filter(x => x != \"if\").map((operator) => (\r\n <option key={operator} value={operator}>\r\n {operator}\r\n </option>\r\n ))}\r\n </select>\r\n\r\n </div>\r\n <div className=\"col-3\">\r\n\r\n <button\r\n className=\"btn btn-primary btn-sm\"\r\n onClick={() => handleAddToFinalFormula()}\r\n >\r\n Son Formüle Ekle\r\n </button>\r\n\r\n <button className=\"btn btn-warning btn-sm ms-2\" onClick={() => setFormulaParts([])}>\r\n Tümünü Sil\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"mb-1 mt-2 ms-1 p-1 border\">\r\n <span className=\"fw-bold\">Son Formül</span>\r\n\r\n <button className=\"btn btn-warning btn-sm ms-2\" onClick={() => setFinalFormula(\"\")}>\r\n Temizle\r\n </button>\r\n <div className=\" p-2\">{finalFormula}</div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n {showIfModal && (\r\n <div\r\n className=\"modal fade show d-block\"\r\n tabIndex=\"-1\"\r\n style={{ background: \"rgba(0,0,0,0.5)\" }}\r\n >\r\n <div className=\"modal-dialog\">\r\n <div className=\"modal-content\">\r\n <div className=\"modal-header\">\r\n <h5 className=\"modal-title\">KoÅŸul Ayarları</h5>\r\n <button\r\n type=\"button\"\r\n className=\"btn-close\"\r\n onClick={() => setShowIfModal(false)}\r\n ></button>\r\n </div>\r\n <div className=\"modal-body\">\r\n {renderDropdown(\"conditionLeft\", (v) => conditionLeft=v, \"Sol DeÄŸer\")}\r\n <div className=\"row\">\r\n <div className=\"col-3\">Ä°ÅŸlem</div>\r\n <div className=\"col-6\">\r\n <select\r\n className=\"form-select form-select-sm mb-1\"\r\n \r\n onChange={(e) => conditionOperator = e.target.value}>\r\n <option value=\"\">Select</option>\r\n {conditionOperators.map((operator) => (\r\n <option key={operator} value={operator}>\r\n {operator}\r\n </option>\r\n ))}\r\n </select>\r\n </div>\r\n </div>\r\n {renderDropdown(\"conditionRight\", (v) => conditionRight=v, \"SaÄŸ DeÄŸer\")}\r\n {renderDropdown(\"ifTrueValue\", (v) => ifTrueValue = v, <span className=\"text-success\">ise</span>)}\r\n {renderDropdown(\"ifFalseValue\", (v) => ifFalseValue = v, <span className=\"text-danger\">DeÄŸilse</span>)}\r\n </div>\r\n <div className=\"modal-footer\">\r\n <button\r\n className=\"btn btn-primary\"\r\n onClick={handleSaveIfStatement}\r\n >\r\n Kaydet\r\n </button>\r\n <button\r\n className=\"btn btn-secondary\"\r\n onClick={() => setShowIfModal(false)}\r\n >\r\n Vazgeç\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div >\r\n\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { ajaxFail, showConfirmMessage, showSuccessMessage, sendpost, sendget, isEmpty, showErrorMessage } from '../GlobalState.js';\r\nimport TarifeDetail from './TarifeDetail.js';\r\n\r\nexport default function TarifeSetting(props) {\r\n var postdata = {};\r\n const [listData, setListData] = useState([]);\r\n var changeComponent = props.changeComponent;\r\n useEffect(() => {\r\n fetchList();\r\n }, [])\r\n\r\n\r\n\r\n\r\n\r\n const fetchList = () => {\r\n sendget(\"tarifelist\", \"spinner1\", (response) => {\r\n response.json().then(value => {\r\n setListData(value)\r\n })\r\n })\r\n }\r\n\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n <div className=\"table-responsive mainpagescroll\" style={{ \"height\": \"85vh\" }}>\r\n <table className='table table-vdstriped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead style={{ \"position\": \"sticky\", \"top\": 0, \"z-index\": \"1\" }} className=\"bg-light\" >\r\n <th width=\"35px\" className=\"text-start\">id</th>\r\n <th className=\"text-start\">Ad</th>\r\n {/*<th>Nitelik</th>*/}\r\n {/*<th>DeÄŸer</th>*/}\r\n <th className=\"text-start\">Tarih</th>\r\n <th></th>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n <tr key={apprec.id}>\r\n <td>{apprec.id}</td>\r\n <td >{apprec.name} </td>\r\n {/*<td><input type=\"text\" className=\"form-control form-control-sm \" style={{ \"background-color\": \"transparent\" }} name=\"nitelik\" onChange={(e) => updateRecord(apprec, e)} defaultValue={apprec.nitelik} /></td>*/}\r\n {/*<td><input type=\"number\" className=\"form-control form-control-sm \" style={{ \"background-color\": \"transparent\" }} name=\"deger\" onChange={(e) => updateRecord(apprec, e)} defaultValue={apprec.deger} /></td>*/}\r\n <td className=\"text-start\">{apprec.tarih}</td>\r\n\r\n <td className=\"text-end\">\r\n {/*<button onClick={() => { save(apprec); }} className=\"btn btn-link btn-sm text-decoration-none shadow-none\"><i class=\"fa fa-save\" title=\"Güncelle\"></i></button>*/}\r\n <button onClick={() => { changeComponent(<TarifeDetail tarife={apprec} changeComponent={changeComponent} />) }} className=\"btn btn-link btn-sm text-decoration-none shadow-none\"><i class=\"fa fa-edit\" title=\"Güncelle\"></i></button>\r\n\r\n <button onClick={() => { sil(apprec); }} className=\"btn btn-link btn-sm text-decoration-none shadow-none ps-0\"><i class=\"fa fa-trash-o\" title=\"Sil\"></i></button>\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n const sil = (rec) => {\r\n showConfirmMessage(rec.id + \" numaralı kayıt silinsin mı?\", \"\", \"Evet\", \"Hayır\", () => {\r\n\r\n\r\n sendpost(\"removetarife\", rec, \"spinner1\", (response) => {\r\n response.json().then(value => {\r\n setListData(value)\r\n })\r\n })\r\n })\r\n\r\n }\r\n\r\n\r\n\r\n const save = (rec) => {\r\n if (rec == null)\r\n rec = postdata;\r\n if (isEmpty(rec.name) ) {\r\n showErrorMessage(\"Tarife Ä°smini Doldurunuz\", \"\");\r\n return;\r\n }\r\n sendpost(\"savetarife\", rec, \"spinner1\", (response) => {\r\n response.json().then(value => {\r\n setListData(value)\r\n })\r\n })\r\n\r\n\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value.trim();\r\n }\r\n\r\n return (\r\n <div className=\"border rounded border-light\">\r\n <div className=\"row\">\r\n <div className=\"col-9\">\r\n <h5>Tarifeler</h5>\r\n </div>\r\n <div className=\"col-3 text-end \">\r\n <span class=\"ms-1 spinner-border spinner-border-sm\" id=\"spinner1\" hidden></span>\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row border rounded-2 m-1 p-2\">\r\n <div className=\"col-md-4 col-12\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"name\" placeholder=\"Yeni Tarife Adı\" name=\"name\" onChange={handleInputChange} key={listData} />\r\n </div>\r\n <div className=\"col-md-4 col-12\">\r\n {/*<input type=\"text\" className=\"form-control form-control-sm\" id=\"sira\" placeholder=\"Nitelik\" name=\"nitelik\" onChange={handleInputChange} key={listData} />*/}\r\n </div>\r\n <div className=\"col-md-3 col-12\">\r\n {/*<input type=\"number\" className=\"form-control form-control-sm \" laceholder=\"DeÄŸer\" name=\"deger\" onChange={handleInputChange} key={listData} />*/}\r\n </div>\r\n <div className=\"col-md-1 col-12 text-end\">\r\n <button onClick={() => save(null)} className=\"btn btn-sm btn-link text-decoration-none shadow-none\"><i className=\"fa fa-plus-circle align-middle\" style={{ \"font-size\": \"20px\" }}></i> </button>\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"col-12\">\r\n {renderTable(listData)}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, sendget, showSuccessMessage, useGlobalState, showErrorMessage, sendpost, getHtmlTag, isEmpty } from '../GlobalState.js';\r\n\r\nimport CommunicationSetting from './CommunicationSetting.js';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport ReactQuill from 'react-quill';\r\nimport 'react-quill/dist/quill.snow.css';\r\nimport axios from \"axios\";\r\n\r\nexport default function AllEvents(props) {\r\n var [events, setEvents] = useState({ items:[]});\r\n var [currentPage, setCurrentPage] = useState(1);\r\n const [role, setRole] = useGlobalState('role');\r\n const [userName, setUserName] = useGlobalState('userName');\r\n\r\n useEffect(() => {\r\n\r\n }, [])\r\n\r\n const Pagination = ( totalCount, pageSize, currentPage, onPageChange ) => {\r\n const totalPages = Math.ceil(totalCount / pageSize);\r\n if (totalPages <= 1) return null; // No pagination needed for a single page\r\n const handlePageChange = (page) => {\r\n if (page > 0 && page <= totalPages) {\r\n onPageChange(page);\r\n }\r\n };\r\n const pageNumbers = Array.from({ length: totalPages }, (_, index) => index + 1);\r\n return (\r\n <div\r\n className=\"overflow-auto w-100 mainpagescroll\"\r\n style={{\r\n whiteSpace: \"nowrap\",\r\n maxWidth: \"100%\",\r\n }}\r\n >\r\n <nav aria-label=\"Page navigation\">\r\n <ul className=\"pagination mb-0 pb-0\">\r\n {pageNumbers.map((page) => (\r\n <li\r\n key={page}\r\n className={`page-item ${page === currentPage ? \"active\" : \"\"}`}>\r\n <button\r\n className=\"page-link \"\r\n onClick={() => handlePageChange(page)}\r\n >\r\n {page}\r\n </button>\r\n </li>\r\n ))}\r\n </ul>\r\n </nav>\r\n </div>\r\n );\r\n };\r\n\r\n const sendRequest = (cp) => {\r\n var keywords = getHtmlTag(\"keyword\", \"value\");\r\n var start = getHtmlTag(\"startDate\", \"value\");\r\n var end = getHtmlTag(\"endDate\", \"value\");\r\n if (isEmpty(keywords) && isEmpty(start) && isEmpty(end) ) {\r\n showErrorMessage(\"Anahtar kelime boÅŸ olamaz\")\r\n return;\r\n }\r\n var keywords = {\r\n keywords: keywords,\r\n startDate: start,\r\n endDate:end\r\n }\r\n sendpost(\"geteventlist?pageNumber=\" + cp, JSON.stringify(keywords), \"loadspin1\", (response) => {\r\n response.json().then(async data => {\r\n setEvents(data);\r\n setCurrentPage(cp)\r\n });\r\n })\r\n }\r\n\r\n return (\r\n <div className=\"rounded-3\">\r\n <h5>GeçmiÅŸ Aktiviteler</h5>\r\n\r\n <div className=\"row\">\r\n <div className=\"col-3\">\r\n Anahtar Kelimeler <input type=\"text\" className=\"form-control form-control-sm\" placeholder=\"\" id=\"keyword\" />\r\n </div>\r\n <div className=\"col-2\">\r\n BaÅŸlangıç <input type=\"date\" className=\"form-control form-control-sm\" placeholder=\"Anahtar Kelimeler\" id=\"startDate\" />\r\n </div>\r\n <div className=\"col-2\">\r\n BitiÅŸ <input type=\"date\" className=\"form-control form-control-sm\" placeholder=\"Anahtar Kelimeler\" id=\"endDate\" />\r\n </div>\r\n <div className=\"col-3\"><br />\r\n <button className=\"btn btn-sm btn-primary me-1\" onClick={()=>sendRequest(1)}>Göster</button>\r\n <button className=\"btn btn-sm btn-primary me-1\" onClick={() => setEvents({ items: [] })}>Temizle</button>\r\n <span class=\"spinner-border spinner-border-sm\" hidden id=\"loadspin1\" ></span>\r\n </div>\r\n </div>\r\n <div className=\"row mt-1\">\r\n <div className=\"col-12\" id=\"pagination\">\r\n {Pagination(events.totalCount, 200, currentPage, (p) => {\r\n setCurrentPage(p)\r\n sendRequest(p);\r\n })}\r\n </div>\r\n </div>\r\n\r\n <div className=\"border rounded-3 mt-2\" key={events}>\r\n\r\n {\r\n events.items.map((e, idx) =>\r\n <div className=\"row border-bottom\" style={{ backgroundColor: (idx % 2 == 0) ? \"#efffff\" : \"\" }}>\r\n <div className=\"col-8\">\r\n {e.comment}\r\n </div>\r\n <div className=\"col-2\">\r\n {e.eventDate}\r\n </div>\r\n <div className=\"col-2\">\r\n {e.userName}\r\n </div>\r\n </div>\r\n )\r\n }\r\n </div>\r\n </div>\r\n );\r\n\r\n\r\n}\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport MessageMenu from './MessageMenu.js';\r\nimport EImzaMenu from '../Eimza/EImzaMenu.js';\r\nimport FileSettingList from '../Setting/FileSettingList.js';\r\nimport EkranSetting from '../Setting/EkranSetting.js';\r\nimport DocumentSetting from '../Setting/MevzuaatSetting.js';\r\nimport BasvuruAlanlariuSetting from '../Setting/BasvuruAlanlariSetting.js';\r\nimport GeneralSettingPanel from '../Setting/GeneralSettingPanel.js';\r\nimport AppTypePanel from '../Setting/UserTypePanel.js';\r\nimport SureclerPanel from '../Setting/SureclerPanel.js';\r\nimport RegisterSettingPanel from '../Setting/RegisterSettingPanel.js';\r\nimport DuyuruSetting from '../Setting/DuyuruSetting.js';\r\nimport HelpSettingPanel from '../Setting/HelpSettingPanel.js';\r\nimport AdaSetting from '../Setting/AdaSetting.js';\r\nimport MevkiSetting from '../Setting/MevkiSetting.js';\r\nimport ReportSetting from '../Setting/ReportSetting.js';\r\nimport SettingRoles from '../Setting/SettingRoles.js';\r\nimport Apply1 from \"../Application/Apply1.js\";\r\nimport ApplicationList from \"../Application/ApplicationList.js\";\r\nimport ApplicationListCardView from \"../Application/ApplicationListCardView.js\";\r\nimport AllApplicationList from '../Application/AllApplicationList.js';\r\nimport HavaleSablonSetting from '../Setting/HavaleSablonSetting.js';\r\nimport UserAppCard from \"../Application/UserAppCard.js\";\r\nimport IadeListesi from \"../Application/IadeListesi.js\";\r\n\r\n\r\nimport SharedApplicationList from '../Application/SharedApplicationList.js';\r\nimport UserList from \"../User/UserList.js\";\r\nimport UserWorkLoad from '../User/UserWorkLoad.js';\r\nimport Register1 from \"../User/Register1.js\";\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport AddressBook from \"../Dashboard/AddressBook.js\";\r\nimport AppGroupSetting from '../Setting/AppGroupSetting.js';\r\nimport SettingIdariMahalle from '../Setting/SettingIdariMahalle.js';\r\n\r\nimport DelayedApplications from '../Application/DelayedApplications.js';\r\nimport TakipEdilenler from '../Application/TakipEdilenler.js';\r\nimport { useGlobalState } from '../GlobalState.js';\r\nimport StatisticPanel from '../Statistic/StatisticPanel.js';\r\nimport HelpPanel from '../Dashboard/HelpPanel.js';\r\n\r\nimport Home from \"../Dashboard/Home\";\r\nimport SabitSoruSetting from '../Setting/SabitSoruSetting.js';\r\nimport SablonFileSetting from '../Setting/SablonFileSetting.js';\r\nimport FileGroupsSetting from '../Setting/FileGroupsSetting.js';\r\nimport EimzaNameSetting from '../Setting/EimzaNameSetting.js';\r\nimport AppTypeGroupSetting from '../Setting/AppTypeGroupSetting.js';\r\nimport CBSMahalleSetting from '../Setting/CBSMahalleSetting.js';\r\nimport CBSAdaSetting from '../Setting/CBSAdaSetting.js';\r\nimport MakaleSetting from '../Setting/MakaleSetting.js';\r\nimport SampleFormSetting from '../Setting/SampleFormSetting.js';\r\nimport MevzuatPanel from '../Dashboard/MevzuatPanel.js';\r\nimport DeletedAppList from '../Application/DeletedAppList.js';\r\nimport ArchivedAppList from '../Application/ArchivedAppList.js';\r\nimport MaksList from '../MAKS/MaksList.js';\r\nimport KadastralVeri from '../Application/KadastralVeri.js';\r\nimport RemovedFiles from '../Application/RemovedFiles.js';\r\nimport BasvuruTipleriList from '../Setting/BasvuruTipleriList.js';\r\nimport TarifeCetveliSetting from '../Setting/TarifeCetveliSetting.js';\r\nimport TarifeSetting from '../Setting/TarifeSetting.js';\r\nimport AllEvents from '../Setting/AllEvents.js';\r\n\r\nexport default function CommonSideBar(props) {\r\n var panel = props.panel;\r\n var tags = props.tags;\r\n\r\n\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [userName, setUserName] = useGlobalState('userName');\r\n\r\n useEffect(() => {\r\n\r\n }, [role]);\r\n\r\n\r\n var list = [];\r\n if (panel != null)\r\n list.push(panel.map(p => <Link to={p.target} state={p.state} className={\"d-block p-2 m-2 text-decoration-none rounded-3 \"} >\r\n <i style={{ \"font-size\": \"16px\" }} class={p.icon}></i> {p.name}</Link>));\r\n\r\n if (tags != null)\r\n list.push(tags.map(p => <div > {p}</div>));\r\n\r\n\r\n const changeComponent = (name) => {\r\n props.setComponent(name);\r\n\r\n }\r\n\r\n \r\n\r\n return <div className=\"sidebar\" key={role}>\r\n\r\n <div>\r\n <a href=\"#\" onClick={() => { changeComponent(<Home changeComponent={changeComponent} />) }}>\r\n <i className=\"fa fa-home\"></i>\r\n Ana Ekran\r\n </a>\r\n </div>\r\n\r\n <div>\r\n <a data-bs-toggle=\"collapse\" data-bs-target=\"#basvuruoptions\" href=\"#\">\r\n <i className=\"fa fa-clone\"></i> BaÅŸvurular</a>\r\n </div>\r\n <div className=\"collapse\" id=\"basvuruoptions\">\r\n <div>\r\n <a href=\"#\" onClick={() => { changeComponent(<Apply1 changeComponent={changeComponent} />) }}> <i className=\"fa fa-folder-o ps-4\"></i> Yeni BaÅŸvuru</a>\r\n </div>\r\n\r\n <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<ApplicationList changeComponent={changeComponent} role={role} />) }}> <i className=\"fa fa-clone ps-4\"></i> Liste Görünümü</a>\r\n </div>\r\n <div>\r\n <a href=\"#\" onClick={() => { changeComponent(<ApplicationListCardView changeComponent={changeComponent} role={role} userName={userName} />) }}> <i className=\"fa fa-th-large ps-4\"></i> Kart Görünümü</a>\r\n </div>\r\n <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<DeletedAppList changeComponent={changeComponent} role={role} />) }}> <i className=\"fa fa-trash-o ps-4\"></i> Silinen BaÅŸvurular</a>\r\n </div>\r\n {(userName.toLowerCase() == \"admin\" || userName.toLowerCase() == \"a\" || userName.toLowerCase() == \"universe\") && < div >\r\n <a href=\"#\" onClick={() => { changeComponent(<RemovedFiles changeComponent={changeComponent} role={role} />) }}> <i className=\"fa fa-trash-o ps-4\"></i> Silinen Dosyalar</a>\r\n </div>}\r\n\r\n <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<ArchivedAppList changeComponent={changeComponent} role={role} />) }}> <i className=\"fa fa-archive ps-4\"></i> ArÅŸivlenen BaÅŸvurular</a>\r\n </div>\r\n\r\n {role.indexOf(UserPermConstants.Is_Yuku) > -1 && <div>\r\n <a href=\"#\" onClick={() => { changeComponent(<UserAppCard changeComponent={changeComponent} role={role} userName={userName} />) }}> <i className=\"fa fa-group ps-4\"></i> Ä°ÅŸ Yükü Görünümü</a>\r\n </div>}\r\n\r\n {/*{role.indexOf(UserPermConstants.MAKS_Veri_Girisi) >= 0 && <div >*/}\r\n {/* <a href=\"#\" onClick={() => { changeComponent(<MaksList changeComponent={changeComponent} role={role} />) }}> <i className=\"fa fa-bank ps-4\"></i>MAKS BaÅŸvuruları</a>*/}\r\n {/*</div>}*/}\r\n\r\n <div>\r\n <a href=\"#\" onClick={() => { changeComponent(<SharedApplicationList changeComponent={changeComponent} />) }}> <i className=\"fa fa-share-alt ps-4\"></i> Paylaşılan BaÅŸvurular</a>\r\n </div>\r\n <div>\r\n <a href=\"#\" onClick={() => { changeComponent(<AllApplicationList changeComponent={changeComponent} />) }}> <i className=\"fa fa fa-cubes ps-4\"></i> Tüm Görevler</a>\r\n </div>\r\n <div >\r\n {role.indexOf(UserPermConstants.Tum_Geciken_Basvurular) > -1 &&\r\n <a href=\"#\" onClick={() => { changeComponent(<DelayedApplications changeComponent={changeComponent} role={role} />) }}> <i className=\"fa fa-clone ps-4\"></i> Geciken BaÅŸvurular</a>\r\n }\r\n </div>\r\n <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<TakipEdilenler changeComponent={changeComponent} role={role} />) }}> <i className=\"fa fa-clone ps-4\"></i> Takip Edilen BaÅŸvurular</a>\r\n </div>\r\n\r\n <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<IadeListesi changeComponent={changeComponent} role={role} />) }}> <i className=\"fa fa-clone ps-4\"></i> Ä°ade Listesi</a>\r\n </div>\r\n\r\n\r\n <div>\r\n <EImzaMenu changeComponent={changeComponent} />\r\n </div>\r\n\r\n </div>\r\n {(role.indexOf(UserPermConstants.Adres_Defterini_Duzenleme) > -1 || role.indexOf(UserPermConstants.Adres_Defterini_Gorme) > -1) &&\r\n <div>\r\n <a href=\"#\" onClick={() => { changeComponent(<AddressBook changeComponent={changeComponent} />) }}> <i className=\"fa fa-id-card\"></i> Adres Defteri</a>\r\n </div>\r\n }\r\n\r\n\r\n\r\n <div>\r\n <MessageMenu changeComponent={changeComponent} />\r\n </div>\r\n\r\n {(role.indexOf(UserPermConstants.Kontrolor_Istatistiklerini_Gorme) > -1 || role.indexOf(UserPermConstants.Proje_Istatistiklerini_Gorme) > -1\r\n || role.indexOf(UserPermConstants.Muellif_Istatistiklerini_Gorme) > -1 || role.indexOf(UserPermConstants.Mekansal_Istatistikleri_Gorme) > -1\r\n || role.indexOf(UserPermConstants.Zamansal_Istatistikleri_Gorme) > -1 || role.indexOf(UserPermConstants.Anlik_Istatistikleri_Gorme) > -1\r\n || role.indexOf(UserPermConstants.Anlik_Istatistikleri_Gorme) > -1\r\n ) && <div>\r\n <a href=\"#\" onClick={() => { changeComponent(<StatisticPanel />) }}> <i className=\"fa fa-bar-chart\"></i> Ä°statistik</a>\r\n </div>}\r\n\r\n <div>\r\n <a href=\"#\" onClick={() => { changeComponent(<MevzuatPanel />) }}> <i className=\"fa fa-bank\"></i> Mevzuat</a>\r\n </div>\r\n\r\n\r\n {(role.indexOf(UserPermConstants.Tarife_Yonetimi) > -1) && <div>\r\n <a data-bs-toggle=\"collapse\" data-bs-target=\"#tarifecetvelioptions\" href=\"#\">\r\n <i className=\"fa fa-dollar\"></i>Tarife Yönetimi</a></div>}\r\n <div className=\"collapse\" id=\"tarifecetvelioptions\">\r\n\r\n {role.indexOf(UserPermConstants.Tarife_Yonetimi) > -1 && < div >\r\n <a href=\"#\" onClick={() => { changeComponent(<TarifeSetting changeComponent={changeComponent} />) }}> <i className=\"fa fa-dollar ps-4\"></i> Tarifeler</a>\r\n </div>}\r\n\r\n {role.indexOf(UserPermConstants.Tarife_Yonetimi) > -1 && < div >\r\n <a href=\"#\" onClick={() => { changeComponent(<TarifeCetveliSetting />) }}> <i className=\"fa fa-dollar ps-4\"></i> Tarife Cetveli</a>\r\n </div>}\r\n\r\n </div>\r\n <div>\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n {/* ----------------------------------------------------------------------*/}\r\n\r\n\r\n {(role.indexOf(UserPermConstants.Basvuru_Formu) > -1 || role.indexOf(UserPermConstants.Dosyalar) > -1\r\n || role.indexOf(UserPermConstants.Ekran_Yonetimi) > -1 || role.indexOf(UserPermConstants.Surecler) > -1\r\n || role.indexOf(UserPermConstants.Kadastral_Ayarlar) > -1) && <div>\r\n <a data-bs-toggle=\"collapse\" data-bs-target=\"#basvuruayarlaroptions\" href=\"#\">\r\n <i className=\"fa fa-gears\"></i>BaÅŸvuru Yönetimi</a></div>}\r\n\r\n <div className=\"collapse\" id=\"basvuruayarlaroptions\">\r\n {role.indexOf(UserPermConstants.Basvuru_Formu) > -1 && <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<BasvuruTipleriList />) }}> <i className=\"fa fa-edit ps-4\"></i> BaÅŸvuru Tipleri</a>\r\n </div>}\r\n {role.indexOf(UserPermConstants.Basvuru_Formu) > -1 && <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<AppTypeGroupSetting />) }}> <i className=\"fa fa-edit ps-4\"></i>BaÅŸvuru Tipi Grupları</a>\r\n </div>}\r\n {role.indexOf(UserPermConstants.Basvuru_Formu) > -1 && <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<HavaleSablonSetting />) }}> <i className=\"fa fa-dedent ps-4\"></i>Havale Sablonu</a>\r\n </div>}\r\n {role.indexOf(UserPermConstants.Dosyalar) > -1 && <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<FileSettingList />) }}> <i className=\"fa fa-folder-open-o ps-4\"></i>Dosyalar</a>\r\n </div>}\r\n {role.indexOf(UserPermConstants.Dosyalar) > -1 && <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<FileGroupsSetting />) }}> <i className=\"fa fa-folder-open-o ps-4\"></i>Dosyalar BaÅŸlıkları</a>\r\n </div>}\r\n {role.indexOf(UserPermConstants.Dosyalar) > -1 && <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<SablonFileSetting />) }}> <i className=\"fa fa-folder-open-o ps-4\"></i>Åablon Dosyalar</a>\r\n </div>}\r\n\r\n {role.indexOf(UserPermConstants.Basvuru_Formu) > -1 && <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<BasvuruAlanlariuSetting />) }}> <i className=\"fa fa-files-o ps-4\"></i> BaÅŸvuru Alanları</a>\r\n </div>}\r\n {/*{role.indexOf(UserPermConstants.Basvuru_Formu) > -1 && <div >*/}\r\n {/* <a href=\"#\" onClick={() => { changeComponent(<SabitSoruSetting />) }}> <i className=\"fa fa-question ps-4\"></i>Sabit Alanlar</a>*/}\r\n {/*</div>}*/}\r\n {role.indexOf(UserPermConstants.Surecler) > -1 && <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<SureclerPanel />) }}> <i className=\"fa fa-refresh ps-4\"></i> BaÅŸvuru Durumları</a>\r\n </div>}\r\n {role.indexOf(UserPermConstants.Surecler) > -1 && <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<AppGroupSetting />) }}> <i className=\"\tfa fa-credit-card ps-4\"></i>BaÅŸvuru Durumu Grupları</a>\r\n </div>}\r\n\r\n {/*<div >*/}\r\n {/* <a href=\"#\" onClick={() => { }}> <i className=\"fa fa-files-o ps-4\"></i> BaÅŸvuru Standartları</a>*/}\r\n {/*</div>*/}\r\n {role.indexOf(UserPermConstants.Ekran_Yonetimi) > -1 && <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<EkranSetting />) }}> <i className=\"fa fa-server ps-4\"></i>Ekran Yönetimi</a>\r\n </div>}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n {/*<div >*/}\r\n {/* <a href=\"#\" onClick={() => { changeComponent(<MevkiSetting />) }}> <i className=\"fa fa-map-marker ps-4\"></i>Mevki</a>*/}\r\n {/*</div>*/}\r\n {/*<div >*/}\r\n {/* <a href=\"#\" onClick={() => { changeComponent(<MahalleSetting />) }}> <i className=\"fa fa-map ps-4\"></i>Mahalle</a>*/}\r\n {/*</div>*/}\r\n {/*<div >*/}\r\n {/* <a href=\"#\" onClick={() => { changeComponent(<AdaSetting />) }}> <i className=\"fa fa-home ps-4\"></i>Ada/Parsel</a>*/}\r\n {/*</div>*/}\r\n\r\n\r\n\r\n\r\n\r\n {role.indexOf(UserPermConstants.Kadastral_Ayarlar) > -1 && <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<KadastralVeri changeComponent={changeComponent} />) }}> <i className=\"fa fa-dedent ps-4\"></i> Kadastral Veri</a>\r\n </div>}\r\n\r\n\r\n\r\n {role.indexOf(UserPermConstants.Basvuru_Formu) > -1 && <div>\r\n <a href=\"#\" onClick={() => { changeComponent(<EimzaNameSetting changeComponent={changeComponent} />) }}> <i className=\"fa fa-bookmark ps-4\"></i>Eimza Geri Yükleme</a>\r\n </div>}\r\n </div >\r\n\r\n {(role.indexOf(UserPermConstants.Kullanici_Listesini_Gorme_Profil_Bilgilerini) > -1 || role.indexOf(UserPermConstants.Kullanici_Tipleri) > -1\r\n || role.indexOf(UserPermConstants.Kullanici_Kayit_Formu) > -1 || role.indexOf(UserPermConstants.Kullanici_Rolleri) > -1\r\n || role.indexOf(UserPermConstants.Is_Yuku) > -1) &&\r\n <div> <a data-bs-toggle=\"collapse\" data-bs-target=\"#usersayarlaroptions\" href=\"#\">\r\n <i className=\"fa fa-gears\"></i> Kullanıcı Yönetimi </a> </div >}\r\n\r\n\r\n\r\n <div className=\"collapse\" id=\"usersayarlaroptions\">\r\n {role.indexOf(UserPermConstants.Kullanici_Kayit_Formu) > -1 && <div >\r\n <a href=\"#\" onClick={() => {\r\n window.userdata = { tc: \"direct\" }\r\n changeComponent(<Register1 changeComponent={changeComponent} />)\r\n }}> <i className=\"fa fa-user-plus ps-4\"></i> Yeni Kullanıcı</a>\r\n </div>}\r\n {role.indexOf(UserPermConstants.Kullanici_Listesini_Gorme_Profil_Bilgilerini) > -1 && <div >\r\n\r\n <a href=\"#\" onClick={() => { changeComponent(<UserList changeComponent={changeComponent} />) }}> <i className=\"fa fa-users ps-4\"></i> Kullanıcılar Listesi</a>\r\n </div>}\r\n\r\n {role.indexOf(UserPermConstants.Kullanici_Tipleri) > -1 && <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<AppTypePanel />) }}> <i className=\"fa fa-map-signs ps-4\"></i> Kullanıcı Tipi</a>\r\n </div>}\r\n\r\n {role.indexOf(UserPermConstants.Kullanici_Kayit_Formu) > -1 && <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<RegisterSettingPanel />) }}> <i className=\"fa fa-address-card-o ps-4\"></i>Kullanıcı Kayıt Formu</a>\r\n </div>}\r\n\r\n {role.indexOf(UserPermConstants.Kullanici_Rolleri) > -1 && <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<SettingRoles />) }}> <i className=\"fa fa-lock ps-4\"></i>Kullanıcı Rolleri</a>\r\n </div>}\r\n {/*{role.indexOf(UserPermConstants.Is_Yuku) > -1 && <div >*/}\r\n {/* <a href=\"#\" onClick={() => { changeComponent(<UserWorkLoad changeComponent={changeComponent} />) }}> <i className=\"fa fa-bar-chart ps-4\"></i> Ä°ÅŸ Yuku</a>*/}\r\n {/*</div>}*/}\r\n </div >\r\n\r\n\r\n\r\n\r\n\r\n {/*<div >*/}\r\n {/* <a href=\"#\" onClick={() => { changeComponent(<FollowSetting />) }}> <i className=\"fa fa-bell-o ps-4\"></i>Bidirimler</a>*/}\r\n {/*</div>*/}\r\n\r\n\r\n\r\n\r\n {/*<div >*/}\r\n {/* <a href=\"#\" onClick={() => { changeComponent(<DocumentSetting />) }}> <i className=\"fa fa-info-circle\"></i>Yönetmelik</a>*/}\r\n {/*</div>*/}\r\n\r\n\r\n\r\n\r\n {(role.indexOf(UserPermConstants.Duyuru_Yonetimi) > -1 || role.indexOf(UserPermConstants.Kurum_Bilgileri) > -1\r\n || role.indexOf(UserPermConstants.Yonetmelik_Yukleme) > -1 || role.indexOf(UserPermConstants.Yardim_Ekranlari) > -1\r\n || role.indexOf(UserPermConstants.Is_Yuku) > -1) && <div>\r\n <a data-bs-toggle=\"collapse\" data-bs-target=\"#ayarlaroptions\" href=\"#\">\r\n <i className=\"fa fa-gears\"></i> Ayarlar</a>\r\n </div>}\r\n <div className=\"collapse\" id=\"ayarlaroptions\">\r\n {role.indexOf(UserPermConstants.Duyuru_Yonetimi) > -1 && <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<DuyuruSetting />) }}> <i className=\"fa fa-comments-o ps-4\"></i>Duyuru Yönetimi</a>\r\n </div>}\r\n {/*{role.indexOf(UserPermConstants.Megsis_Ayarlar) > -1 && <>*/}\r\n {/* <div >*/}\r\n {/* <a href=\"#\" onClick={() => { changeComponent(<CBSMahalleSetting changeComponent={changeComponent} />) }}> <i className=\"fa fa-map-marker ps-4\"></i>CBS Mahalleler</a>*/}\r\n {/* </div>*/}\r\n <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<ReportSetting changeComponent={changeComponent} />) }}> <i className=\"fa fa-map-marker ps-4\"></i>Raporlar</a>\r\n </div>\r\n {/* </>*/}\r\n {role.indexOf(UserPermConstants.Yardim_Ekranlari) > -1 && <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<HelpSettingPanel />) }}> <i className=\"fa fa-info-circle ps-4\"></i>Yardım</a>\r\n </div>}\r\n {role.indexOf(UserPermConstants.Kurum_Bilgileri) > -1 && <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<GeneralSettingPanel />) }}> <i className=\"fa fa-reorder ps-4\"></i>Kurum Ayarları</a>\r\n </div>}\r\n {/*<div >*/}\r\n {/* <a href=\"#\" onClick={() => { changeComponent(<SettingIdariMahalle />) }}> <i className=\"fa fa-map ps-4\"></i>Idari Mahalle</a>*/}\r\n {/*</div>*/}\r\n\r\n {role.indexOf(UserPermConstants.Yonetmelik_Yukleme) > -1 && <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<DocumentSetting />) }}> <i className=\"fa fa-bank ps-4\"></i> Mevzuat</a>\r\n </div>}\r\n\r\n {role.indexOf(UserPermConstants.Yardim_Ekranlari) > -1 && <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<MakaleSetting />) }}> <i className=\"fa fa-dedent ps-4\"></i>Makaleler</a>\r\n </div>}\r\n\r\n {role.indexOf(UserPermConstants.Yardim_Ekranlari) > -1 && <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<SampleFormSetting />) }}> <i className=\"fa fa-dedent ps-4\"></i>Örnek Formlar</a>\r\n </div>}\r\n\r\n {role.indexOf(UserPermConstants.Kurum_Bilgileri) > -1 && <div >\r\n <a href=\"#\" onClick={() => { changeComponent(<AllEvents />) }}> <i className=\"fa fa-dedent ps-4\"></i>GeçmiÅŸ Aktiviteler</a>\r\n </div>}\r\n\r\n </div >\r\n\r\n <div>\r\n\r\n\r\n <a href=\"#\" onClick={() => { changeComponent(<HelpPanel changeComponent={changeComponent} />) }}> <i className=\"\tfa fa-info ps-2\"></i> Yardım</a>\r\n\r\n </div>\r\n\r\n\r\n </div >\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport UploadFile from \"../User/UploadFile.js\";\r\nimport { ajaxFail, sendget, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport KadastralVeri from '../Application/KadastralVeri.js';\r\nexport default function CBSMAhalleLocal(props) {\r\n var postdata = {};\r\n const [listData, setListData] = useState([]);\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n const removeRecord = (id) => {\r\n showConfirmMessage(id + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removecbslocalmahalle\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n }))\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n const submitUpdateRecord = (rec) => {\r\n\r\n fetch(\"updatecbslocalmahalle\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı\")\r\n }\r\n });\r\n }\r\n\r\n const fetchList = () => {\r\n\r\n sendget(\"cbslocalmahallelist\", \"loadspin1\", (response) => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n\r\n })\r\n\r\n\r\n }\r\n\r\n const Add = () => {\r\n fetch(\"addcbslocalmahalle\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(postdata)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n document.getElementById(\"name\").value = \"\";\r\n document.getElementById(\"mahalleid\").value = \"\";\r\n \r\n fetchList();\r\n\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value;\r\n }\r\n\r\n const handleFile = (resp) => {\r\n fetchList();\r\n if (resp.data != null && resp.data.length > 0) {\r\n showErrorMessage(\"Eklenmeyen (Hatalı) Satırlar: \\n\" + resp.data)\r\n }\r\n }\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n\r\n var mytable = <div>\r\n\r\n\r\n\r\n\r\n {tabledata.map(apprec =>\r\n < div className=\"row rounded-3\" key={apprec.id}>\r\n <div className=\"col-1\" >\r\n {apprec.id}\r\n </div>\r\n <div className=\"col-4\" >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" name=\"mahalleid\" defaultValue={apprec.mahalleid} onChange={(e) => updateRecord(apprec, e)} />\r\n </div>\r\n <div className=\"col-4 \" >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" name=\"name\" defaultValue={apprec.name} onChange={(e) => updateRecord(apprec, e)} />\r\n </div>\r\n\r\n <div className=\"col-3 text-end\" >\r\n <button onClick={() => submitUpdateRecord(apprec)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Güncelle</button> \r\n <button onClick={() => removeRecord(apprec.id)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Sil</button>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n }, [])\r\n\r\n\r\n var listTable = \"\";\r\n listTable = renderTable(listData);\r\n\r\n\r\n\r\n return (\r\n <div className=\"bg-light m-2 p-3 \">\r\n\r\n <div className=\"row mb-3\">\r\n <div className=\"col-6 \" >\r\n <h5>CBS Mahalle Bilgi GiriÅŸi</h5>\r\n </div>\r\n <div className=\"col-2 \" >\r\n <span class=\"spinner-border spinner-border-sm\" hidden id=\"loadspin1\" ></span>\r\n </div>\r\n <div className=\"col-4 text-end\" >\r\n <button onClick={() => props.changeComponent(<KadastralVeri changeComponent={props.changeComponent} />)} className=\"btn btn-primary btn-sm text-decoration-none \">Geri Dön</button>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row rounded-3 p-1 mb-3\">\r\n <div className=\"col-3\">\r\n Mahalle ID\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"mahalleid\" placeholder=\"\" name=\"mahalleid\" onChange={handleInputChange} defaultValue=\"\" />\r\n </div>\r\n <div className=\"col-3\">\r\n Mahalle Ad\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"name\" placeholder=\"\" name=\"name\" onChange={handleInputChange} defaultValue=\"\" />\r\n </div>\r\n\r\n <div className=\"col-2\">\r\n <br/>\r\n <button onClick={Add} className=\"btn btn-sm btn-primary text-decoration-none \">Ekle</button>\r\n\r\n </div>\r\n\r\n\r\n <div className=\"col-4 text-end\">\r\n <UploadFile spinner={\"loadspin1\"} setSumbitResult={handleFile} username={\"\"} filelabel={\"Dosyadan Yukle\"} target={\"addlocalmahallefile\"} />\r\n </div>\r\n </div>\r\n\r\n\r\n {listTable}\r\n\r\n\r\n\r\n </div>\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { isEmpty, showConfirmMessage, useGlobalState } from '../GlobalState.js';\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport MevkiSetting from '../Setting/MevkiSetting.js';\r\nimport MahalleSetting from '../Setting/MahalleSetting.js';\r\nimport CBSMahalleSetting from '../Setting/CBSMahalleSetting.js';\r\nimport AdaSetting from '../Setting/AdaSetting.js';\r\nimport CBSAdaSetting from '../Setting/CBSAdaSetting.js';\r\nimport SettingIdariMahalle from '../Setting/SettingIdariMahalle.js';\r\nimport CBSMAhalleLocal from '../Setting/CBSMahalleLocal.js';\r\n\r\n\r\nexport default function KadastralVeri(props) {\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [userName, setuserName] = useGlobalState('userName');\r\n\r\n const [info, setInfo] = useState([\"\",\"\",\"\",\"\",\"\"]);\r\n\r\n useEffect(() => {\r\n getcbsinfo();\r\n }, [])\r\n\r\n\r\n const getcbsinfo = (rec) => {\r\n\r\n fetch(\"getcbsinfo\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.text().then(value => {\r\n setInfo(value.replaceAll('\"','').split(\" \"));\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n return (\r\n <div className=\"p-2 rounded-3\" style={{ \"background-color\": \"#EDEDF7\", \"min-height\": \"100vh\" }}>\r\n\r\n <div className=\"row mt-3 p-3\" >\r\n <div className=\"col-12 col-md-6 \">\r\n <div className=\" bg-white rounded-3 shadow-sm\" >\r\n <div className=\"p-3 fw-bold text-center\" >\r\n <div className=\"row pt-2 mb-4 \">\r\n <div className=\"col-4 align-middle fw-bold pt-4 text-center \" >\r\n TAPU KADASTRODAN GELEN KADASTRAL VERÄ°\r\n </div>\r\n <div className=\"col-8\" >\r\n <div className=\"bg-light p-3 rounded-3 textvmuted fw-bold align-middle\" >\r\n <span className=\"fa fa-info pe-3\" style={{ color: \"lightblue\", fontSize: \"26px\" }} ></span>\r\n Tapu Kadastronun web servis ile paylaÅŸtığı veridir\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div className=\"row m-3 border-top pt-2\">\r\n <div className=\"col-6 \" >\r\n <button onClick={() => 1 == 1} className=\"btn btn-link btn-sm text-decoration-none \" disabled> MEVKÄ°</button>\r\n \r\n </div>\r\n <div className=\"col-6 pt-2\" >-\r\n </div>\r\n </div>\r\n <div className=\"row m-3 border-top pt-2\">\r\n <div className=\"col-6 \" >\r\n <button onClick={() => props.changeComponent(<CBSMahalleSetting changeComponent={props.changeComponent} />)} className=\"btn btn-link btn-sm text-decoration-none\">MAHALLE</button>\r\n \r\n </div>\r\n <div className=\"col-6\" >{info[3]}\r\n </div>\r\n </div>\r\n <div className=\"row m-3 border-top pt-2 pb-5\">\r\n <div className=\"col-6 \" >\r\n <button onClick={() => props.changeComponent(<CBSAdaSetting changeComponent={props.changeComponent} />)} className=\"btn btn-link btn-sm text-decoration-none \"> ADA/PARSEL</button>\r\n \r\n </div>\r\n <div className=\"col-6\" >{info[1]}\r\n </div>\r\n </div>\r\n\r\n <div className=\"row m-3 border-top mt-4 pt-2 border-bottom pb-5\">\r\n <div className=\"col-6 \" >\r\n <button onClick={() => props.changeComponent(<CBSMAhalleLocal changeComponent={props.changeComponent} />)} className=\"btn btn-link btn-sm text-decoration-none \"> MAHALLE BÄ°LGÄ° DÃœZELTME</button>\r\n\r\n </div>\r\n <div className=\"col-6\" > </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <div className=\"col-12 col-md-6\">\r\n <div className=\"bg-white rounded-3 shadow-sm\" >\r\n <div className=\"p-3 fw-bold text-center\" >\r\n <div className=\"row pt-2 mb-4 \">\r\n <div className=\"col-4 align-middle fw-bold pt-4 text-center \" >\r\n UNIVERSE'DE KULLANILAN KADASTRAL VERÄ°\r\n </div>\r\n <div className=\"col-8\" >\r\n <div className=\"bg-light p-3 rounded-3 textvmuted fw-bold align-middle\" >\r\n <span className=\"fa fa-info pe-3\" style={{ color: \"lightblue\", fontSize: \"26px\" }} ></span>\r\n Universe sisteminde baÅŸvurularda kullanılan ada/parsel verisidir\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"row m-3 border-top pt-2\">\r\n <div className=\"col-6 \" >\r\n <button onClick={() => props.changeComponent(<MevkiSetting changeComponent={props.changeComponent}/>)} className=\"btn btn-link btn-sm text-decoration-none \">MEVKÄ°</button>\r\n </div>\r\n <div className=\"col-6\" >{info[4]}\r\n </div>\r\n </div>\r\n <div className=\"row m-3 border-top pt-2\">\r\n <div className=\"col-6 \" >\r\n <button onClick={() => props.changeComponent(<MahalleSetting changeComponent={props.changeComponent} />)} className=\"btn btn-link btn-sm text-decoration-none \">MAHALLE</button>\r\n </div>\r\n <div className=\"col-6\" >{info[2]}\r\n </div>\r\n </div>\r\n <div className=\"row m-3 border-top pt-2\">\r\n <div className=\"col-6 \" >\r\n <button className=\"btn btn-link btn-sm text-decoration-none \" onClick={() => { props.changeComponent(<SettingIdariMahalle changeComponent={props.changeComponent} />) }}> Ä°DARÄ° MAHALLE</button>\r\n </div>\r\n <div className=\"col-6\" >\r\n <div className=\"col-6\" >{info[5]} </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row m-3 border-top pt-2 border-bottom pb-5\">\r\n <div className=\"col-6 \" >\r\n <button onClick={() => props.changeComponent(<AdaSetting changeComponent={props.changeComponent} />)} className=\"btn btn-link btn-sm text-decoration-none \">ADA/PARSEL</button>\r\n </div>\r\n <div className=\"col-6\" >{info[0]}\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n );\r\n}\r\n\r\n\r\n\r\n","export default __webpack_public_path__ + \"static/media/100yıl.c5f65a39.png\";","export default \"data:image/png;base64,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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwM8JjXStAWC0SPAAAAAASUVORK5CYII=\"","export default __webpack_public_path__ + \"static/media/edevlet_eimza.e31f425d.png\";","export default __webpack_public_path__ + \"static/media/eimzaerror1.baf9b920.png\";","export default __webpack_public_path__ + \"static/media/eimzaerror2.9e1824f5.jpg\";","export default __webpack_public_path__ + \"static/media/eimzaerror3.a1d1e058.jpg\";","export default __webpack_public_path__ + \"static/media/eimzaerror4.d8ee049d.jpg\";","export default __webpack_public_path__ + \"static/media/dwg.596171c6.png\";","import React, { useState, useEffect } from 'react';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport { isEmpty, showInfoMessage, showConfirmMessage, showErrorMessage, useGlobalState, maskStringWithStar, sendpost, calculateDateDifference } from '../GlobalState.js';\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport PDFView from '../Application/PDFView';\r\nimport EImzaDetails from './EImzaDetails';\r\nimport EImzaTekrar from './EImzaTekrar';\r\nimport EImzaList from './EImzaList';\r\nimport EimzaOnaylarim from './EimzaOnaylarim';\r\n\r\n\r\n\r\n\r\nexport default function EImza(props) {\r\n const [e, setEimza] = useState(props.Eimza);\r\n const [imzalayanlist, setimzalayanlist] = useState([]);\r\n const [role, setRole] = useGlobalState('role');\r\n const [userName, setuserName] = useGlobalState('userName');\r\n var [guncelnecekEimza, setGuncelnecekEimza] = useState(null);\r\n\r\n\r\n\r\n var changeComponent = props.changeComponent;\r\n if (changeComponent != null) {\r\n window.changeComponent = changeComponent;\r\n }\r\n else\r\n changeComponent = window.changeComponent;\r\n\r\n\r\n useEffect(() => {\r\n if (props.showImzaciList == true)\r\n getimzalistesi();\r\n\r\n }, [])\r\n\r\n var source = < EImzaList appData={props.appData} targetEimza={e} setActivePanel={props.setActivePanel} />\r\n\r\n\r\n\r\n const getimzalistesi = () => {\r\n document.getElementById(\"imzalistspin\" + e.id).hidden = false;\r\n fetch(\"imzalayanlist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(e.id + \"\")\r\n }).then(async response => {\r\n document.getElementById(\"imzalistspin\" + e.id).hidden = true;\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setimzalayanlist(value.sort((a, b) => a.sira - b.sira));\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const doremove = (id, status) => {\r\n fetch(\"seteimzaremovestatus?eimzaid=\" + id + \"&status=\" + status, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'text/html'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n /*setEimza({ ...e, \"removed\": status == 1 })\r\n props.updateEimza({ ...e, \"removed\": status == 1 }, imzalayanlist)*/\r\n props.fetcheimzatasks();\r\n }\r\n })\r\n }\r\n const rejectEimza = (rec, rejectEimza) => {\r\n e.rejectText = rejectEimza;\r\n sendpost(\"rejecteimza\", e, \"imzalistspin\" + e.id, (response) => {\r\n response.json().then(value => {\r\n setEimza(value);\r\n })\r\n })\r\n }\r\n\r\n\r\n\r\n const getImzaButtons = (e, rec) => {\r\n //if (isEmpty(e.serviceProvider) || e.serviceProvider==\"Arksigner\") {\r\n // return <><button className={\"btn btn-sm rounded ps-1 pe-1 me-1 \" + (rec.uuid != null ? \"btn-secondary\" : \"btn-primary\")} onClick={() => imzabaslat(e, rec)}>\r\n // Süreci_BaÅŸlat\r\n // </button>\r\n // <span class=\"ms-1 spinner-border spinner-border-sm\" role=\"status\" hidden key={rec.uuid}></span>\r\n\r\n // {\r\n // rec.uuid != null &&\r\n // <a href={\"https://via.arksigner.com/Imzala.aspx?documentUUID=\" + rec.uuid} className=\"btn btn-sm btn-primary rounded text-decoration-none text-white\" target=\"_blank\"> Ä°mzala</a>\r\n // }\r\n // {role.indexOf(UserPermConstants.Tarife_Cetveli) > -1 ? <button className=\"btn btn-sm btn-primary rounded text-decoration-none text-white\" onClick={() => changeComponent(<EimzaOnaylarim source={source} changeComponent={changeComponent} setActivePanel={props.setActivePanel} appData={props.appData} eimza={e} imzalayanlist={imzalayanlist} imzalayan={rec} />)}> Onaylarımdan Ä°mzala</button> : \"\"}\r\n // </>\r\n\r\n\r\n //}\r\n if (props.appData.archived == true)\r\n return \"ArÅŸivelenen Dosya Ä°mzalanamz\";\r\n\r\n if (e.rejected == true) {\r\n return \"\";\r\n }\r\n\r\n return <><button className=\"btn btn-sm btn-primary rounded text-decoration-none text-white\"\r\n onClick={() => changeComponent(<EimzaOnaylarim source={source} changeComponent={changeComponent}\r\n setActivePanel={props.setActivePanel} appData={props.appData} eimza={e}\r\n imzalayanlist={imzalayanlist} imzalayan={rec} />)}> Ä°mzala\r\n </button>\r\n <button className=\"ms-1 btn btn-sm btn-danger rounded text-decoration-none text-white\"\r\n onClick={() => showConfirmMessage(\"E-Ä°mzayı Redetmek istediÄŸinizden eminmisniz?\", \"Ä°mza süreci durdurulacaktır\", \"Evet\", \"Hayır\", () => {\r\n setTimeout(() => {\r\n let rejecttext = prompt(\"Lütfen reddetme gerekçesini yazınız\");\r\n if (isEmpty(rejecttext)) {\r\n showErrorMessage(\"Red gerekçesi boÅŸ olamaz\");\r\n return;\r\n }\r\n rejectEimza(rec, rejecttext)\r\n }, 300);\r\n\r\n })}>\r\n Reddet\r\n </button>\r\n </>\r\n\r\n\r\n }\r\n\r\n const seteimzaremovestatus = (id, status) => {\r\n if (status == 1)\r\n showConfirmMessage(\"E-Ä°mzayı Silmek Ä°stediÄŸinizden Emin misiniz?\", \"\", \"Evet\", \"Hayır\", () => doremove(id, status));\r\n else\r\n doremove(id, status)\r\n\r\n }\r\n\r\n\r\n const imzaiptal = () => {\r\n\r\n fetch(\"canceleimza?id=\" + e.id, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'text/html'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n setEimza({ ...e, imzatarih: UserPermConstants.EIMZA_IPTAL });\r\n props.fetcheimzatasks();\r\n }\r\n });\r\n }\r\n\r\n const imzabaslat = (e, rec) => {\r\n var posrdata = { eimzaid: e.id, username: rec.userName, appid: e.appId }\r\n document.getElementById(\"imzalabuttonarea\" + rec.id).children[1].hidden = false;\r\n fetch(\"startsigntaskforuser\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(posrdata)\r\n }).then(async response => {\r\n document.getElementById(\"imzalabuttonarea\" + rec.id).children[1].hidden = true;\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n getimzalistesi();\r\n }\r\n });\r\n }\r\n\r\n const updateEimza = (e) => {\r\n\r\n sendpost(\"updateeimza\", e, \"imzalistspin\" + e.id, (response) => {\r\n response.json().then(async data => {\r\n setEimza(data);\r\n });\r\n })\r\n\r\n }\r\n\r\n\r\n\r\n var minsira = Number.MAX_SAFE_INTEGER;\r\n imzalayanlist.filter(x => isEmpty(x.imzatarih)).forEach(x => minsira = Math.min(minsira, x.sira))\r\n\r\n return <div className=\"border p-3 pt-2 bg-light mt-4 rounded\" id={\"EimzaRec\" + e.id} >\r\n {e.removed != true && <> <div className=\"row\" key={e.imzatarih} >\r\n </div>\r\n {e.eimzaTextPos == false &&\r\n <div className=\"row\" key={e.imzatarih} >\r\n <div className=\"col-12 text-danger small fw-bold mb-1\"> YüklediÄŸiniz belgede "{e-imza " ve "e-imza}" ifadeleri bulunamamıştır. Yasal e-imza metni ve QR kod belgenin altına yerleÅŸtirilecektir.</div>\r\n </div>\r\n }</>\r\n }\r\n <div className=\"row \" >\r\n {e.removed != true ? <div className=\"col-12 col-md-6 ps-0\">\r\n {/* <span className=\"badge bg-info mt-0\">{e.userFileId != null ? (e.userFileId):\"\"}</span>*/}\r\n\r\n\r\n {e.success == true && role.indexOf(UserPermConstants.Surec_Sonu_Dosya_Indirme) == -1 ?\r\n <button className=\"btn btn-link fw-bold btn-sm text-decoration-none align-middle\" onClick={() => showInfoMessage(\"Bu dosyaya süreç tamamlandıktan sonra eriÅŸebilirsiniz\", \"\", \"Tamam\")}>\r\n <span className=\"fw-bold h6 \"> {e.userFileId != null ? (e.userFileId + \" - \") : \"\"}\r\n {e.surecname} ({\"id: \" + e.id})\r\n </span>\r\n </button>\r\n :\r\n <a href={'geteimzaoriginaldosya?eimzaid=' + e.id} className=\"text-decoration-none btn btn-sm btn-link p-0 text-start\"\r\n target=\"_blank\" download=\"imzalanacak_evrak.pdf\">\r\n <span className=\"fw-bold h6 \"> {e.userFileId != null ? (e.userFileId + \" - \") : \"\"}\r\n {e.surecname} ({\"id: \" + e.id})\r\n </span>\r\n\r\n </a>\r\n }\r\n\r\n\r\n\r\n {e.veriGirisindenSonraIndirme == true && isEmpty(e.veriGirisTarihi) &&\r\n <sup className=\"badge rounded-pill bg-danger\">\r\n Veri GiriÅŸi Bekleniyor\r\n </sup>}\r\n {e.rejected == true &&<div>\r\n <span className=\"text-danger ms-1 fw-bold\">\r\n Eimza {e.rejectedBy} tarafından Rededildi ({e.rejectText})\r\n </span>\r\n {e.userName == userName && <button className=\"btn btn-success btn-sm ms-1 p-1\" onClick={() => { e.rejected = false; updateEimza(e); }}>Yeniden Devam Et</button>}\r\n </div>}\r\n </div> :\r\n <div className=\"col-12 col-md-6\">\r\n {role.indexOf(UserPermConstants.Imza_Silme) > -1 &&\r\n <>\r\n <span className=\"fw-bold h6 \"> {e.userFileId != null ? (e.userFileId + \" - \") : \"\"}\r\n {e.surecname} ({\"id: \" + e.id})\r\n </span>\r\n <button onClick={() => seteimzaremovestatus(e.id, 0)} className=\"btn btn-sm btn-success p-1 ms-1 ps-2 pe-2\"\r\n target=\"_blank\"> Geri Al</button></>\r\n }\r\n </div>\r\n }\r\n\r\n <div className=\"col-12 col-md-6 text-end \">\r\n {imzalayanlist.length > 0 && <span className=\"fw-bold text-primary me-2\" id=\"yeniCounter\">\r\n <i className={\"pe-1 fa fa-user\" + (imzalayanlist.length > 1 ? \"s\" : \"\")} style={{ fontSize: \"18px\" }} ></i>{imzalayanlist.length}\r\n </span>}\r\n <div class=\"btn-group\">\r\n <button type=\"button\" onClick={() => getimzalistesi()} className=\"rounded-1 btn btn-sm btn-primary me-1 shadow-none\"\r\n target=\"_blank\">\r\n Ä°mza Listesi\r\n </button>\r\n\r\n\r\n <div className=\"dropdown\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle shadow-none\" type=\"button\" id=\"dropdownMenuButton1\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n Ä°ÅŸlemler\r\n </button>\r\n <ul class=\"dropdown-menu\" aria-labelledby=\"dropdownMenuButton1\">\r\n {e.imzatarih != UserPermConstants.EIMZA_IPTAL && e.removed != true && <>\r\n <li>\r\n {isEmpty(e.imzatarih) == false && <>\r\n {(e.veriGirisindenSonraIndirme == true && isEmpty(e.veriGirisTarihi) && role.indexOf(UserPermConstants.Imza_Veri_Girisi) == -1) ?\r\n <span className=\"text-secondary ms-3\"><span className=\"fa fa-cloud-download\" style={{ \"font-size\": \"18px\" }}></span> Veri GiriÅŸi Bekleniyor</span>\r\n : <a className=\"dropdown-item text-success \" href={'getimzalidosya?eimzaid=' + e.id} download=\"eimza.pdf\"><i className=\"fa fa-cloud-download\" style={{ \"font-size\": \"18px\" }}></i> Ä°mzalı Dosya Ä°ndir </a>\r\n }</>\r\n }\r\n </li>\r\n <li>\r\n\r\n {role.indexOf(UserPermConstants.Imza_Sertifikali) > -1 && <>\r\n {(e.veriGirisindenSonraIndirme == true && isEmpty(e.veriGirisTarihi) && role.indexOf(UserPermConstants.Imza_Veri_Girisi) == -1) ?\r\n <span className=\"text-secondary ms-3\"><span className=\"fa fa-cloud-download\" style={{ \"font-size\": \"18px\" }}></span> Veri GiriÅŸi Bekleniyor</span>\r\n :\r\n (e.removed != true && e.imzatarih != null\r\n && e.imzatarih != UserPermConstants.EIMZA_IPTAL &&\r\n <a className=\"dropdown-item text-success \" href={'getimzalidosya?eimzaid=' + e.id + '&sert=1'} download=\"eimza.pdf\"><i className=\"fa fa-cloud-download\" style={{ \"font-size\": \"18px\" }}></i> Sertifikalı Belge Ä°ndir</a>)\r\n }\r\n </>\r\n }\r\n </li>\r\n {props.appData.archived != true && <>\r\n {role.indexOf(UserPermConstants.Imza_Sertifikali) > -1 && e.removed != true\r\n && e.imzatarih != null && e.imzatarih != UserPermConstants.EIMZA_IPTAL &&<li>\r\n <a className=\"dropdown-item text-success \" href={'UpgradePades?id=' + e.id}\r\n download=\"eimza.pdf\"><i className=\"fa fa-cloud-download\"\r\n style={{ \"font-size\": \"18px\" }}></i> Zaman Damgası Al</a>\r\n </li>}\r\n\r\n\r\n <li>\r\n <button disabled={(role.indexOf(UserPermConstants.Imza_Guncelleme) == -1 && userName != e.downloadUrl)} className=\"dropdown-item \" onClick={() => { props.setActivePanel(<EImzaTekrar source={source} setActivePanel={props.setActivePanel} appData={props.appData} eimza={e} imzalayanlist={imzalayanlist} VizeKontrol={null} />) }}> <span className=\"fa fa-list-ul\" style={{ \"font-size\": \"18px\" }}>\r\n </span> Ä°mzacıları Güncelle\r\n </button>\r\n {<li>\r\n <button disabled={(role.indexOf(UserPermConstants.Imza_Yerlestirme) == -1 && userName != e.downloadUrl)} className=\"dropdown-item \" onClick={() => props.setActivePanel(<PDFView Eimza={e} setActivePanel={props.setActivePanel} appData={props.appData} />)} > <i class=\" fa fa-file-pdf-o\" style={{ \"font-size\": \"18px\" }} aria-hidden=\"true\"></i> Ä°mzayı YerleÅŸtir</button>\r\n </li>}\r\n {role.indexOf(UserPermConstants.Imza_Veri_Girisi) > -1 && <li>\r\n <button className=\"dropdown-item \" onClick={() => props.setActivePanel(<EImzaDetails eimza={e} setActivePanel={props.setActivePanel} appData={props.appData} />)}> <i class=\"fa fa-cog\" style={{ \"font-size\": \"18px\" }} aria-hidden=\"true\"></i> Veri GiriÅŸi Yap</button>\r\n\r\n </li>}\r\n\r\n </li>\r\n {(role.indexOf(UserPermConstants.Imza_Vize_Kontrol) > -1) && <li>\r\n\r\n {(e.veriGirisindenSonraIndirme == true && isEmpty(e.veriGirisTarihi)) ?\r\n <span className=\"text-secondary ms-3\"><span className=\"fa fa-user\" style={{ \"font-size\": \"18px\" }}></span> Veri GiriÅŸi Bekleniyor</span>\r\n :\r\n <button className=\"dropdown-item \" onClick={() => { props.setActivePanel(<EImzaTekrar source={source} setActivePanel={props.setActivePanel} appData={props.appData} eimza={e} imzalayanlist={imzalayanlist} VizeKontrol={true} />) }}>\r\n <span className=\"fa fa-user\" style={{ \"font-size\": \"18px\" }}></span> Vize Kontrolü</button>\r\n\r\n }\r\n </li>}\r\n </>}\r\n\r\n\r\n </>\r\n\r\n }\r\n {props.appData.archived != true && <>\r\n <li>\r\n {role.indexOf(UserPermConstants.Imza_Silme) > -1 && isEmpty(e.imzatarih) == false && e.removed != 1 &&\r\n <button onClick={() => seteimzaremovestatus(e.id, 1)} className=\"dropdown-item text-danger\" target=\"_blank\" title=\"Sil\"> <span className=\"fa fa-trash-o\" style={{ \"font-size\": \"18px\" }}>\r\n\r\n </span> Sil</button>\r\n }\r\n </li>\r\n\r\n <li>\r\n\r\n {role.indexOf(UserPermConstants.Imza_Silme) > -1 && isEmpty(e.imzatarih) && e.basvuruCiktisi != true &&\r\n <button onClick={() => showConfirmMessage(\"E-Ä°mza Süreci Ä°ptal Edilsin Mı?\", \"Bu iÅŸlem geri döndürülemez\", \"Evet\", \"Hayır\", imzaiptal)} className=\"dropdown-item text-danger\" target=\"_blank\"><i class=\" \tfa fa-minus-circle\" style={{ \"font-size\": \"18px\" }} aria-hidden=\"true\"></i> Ä°ptal Et</button>\r\n }\r\n\r\n </li></>}\r\n\r\n\r\n\r\n </ul>\r\n </div>\r\n </div>\r\n <div id={\"downloadbuttons\" + e.id}>\r\n\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n <div className=\"row mt-1 rounded text-secondary fw-bold\" key={e.imzatarih} >\r\n <div className=\"col-12 col-md-4 ps-0\" title={e.userName}>BaÅŸlama: {e.tarih}</div>\r\n <div className=\"col-12 col-md-4 ps-0\">BitiÅŸ: {e.imzatarih}</div>\r\n <div className=\"col-12 col-md-1 ps-0\">{e.imzaType}</div>\r\n <div className=\"col-12 col-md-3 ps-0 pe-0 text-end\">\r\n {e.removed != true && e.imzatarih != null\r\n && e.imzatarih != UserPermConstants.EIMZA_IPTAL &&\r\n <div className=\"text-success fw-bold \">Süreç Tamamlanmıştır</div>}\r\n </div>\r\n\r\n\r\n\r\n </div><span class=\"ps-0 spinner-border spinner-border-sm\" hidden id={\"imzalistspin\" + e.id} ></span>\r\n \r\n\r\n <div className=\"table-responsive\">\r\n\r\n <table className='table mt-3 table-vdstriped p-0' aria-labelledby=\"tabelLabel\">\r\n <tbody id=\"myTable\">\r\n {imzalayanlist.map((rec, idx) =>\r\n\r\n <tr className={((rec.imzatarih != null && rec.imzatarih.length > 0) ? \"text-success fw-bold\" : \"\")}>\r\n <td>\r\n {rec.sira}\r\n </td>\r\n <td>\r\n {rec.name} {rec.family}\r\n </td>\r\n <td>\r\n {maskStringWithStar(rec.tc)}\r\n </td>\r\n <td>\r\n {rec.rol}\r\n </td>\r\n <td>\r\n {rec.vizeKontrolTur}\r\n </td>\r\n <td>\r\n {rec.uuid}\r\n </td>\r\n <td title=\"Ä°mzalama Tarihi\">\r\n {rec.imzatarih}\r\n </td>\r\n <td title=\"Bekletme Süresi\">\r\n {isEmpty(rec.siraTarih) ? \"\" :\r\n (isEmpty(rec.imzatarih) ? calculateDateDifference(rec.siraTarih, new Date())\r\n : calculateDateDifference(rec.siraTarih, new Date(rec.imzatarih.split(\" \")[0])))}\r\n </td>\r\n {e.imzatarih != UserPermConstants.EIMZA_IPTAL && e.removed != true &&\r\n <td className=\"text-end\" width=\"25%\">\r\n {isEmpty(rec.imzatarih) == false ? \"Imzaladı\" :\r\n (rec.sira == minsira)\r\n && <div className=\"p-0\" id={\"imzalabuttonarea\" + rec.id}>\r\n {(e.rejected == true && e.rejectedBy == rec.userName) ? <span className=\"text-danger fw-bold\">Reddedildi</span> :\r\n (userName == rec.userName ? getImzaButtons(e, rec) : UserPermConstants.EIMZA_BEKLENIYOR)}\r\n </div>}\r\n\r\n\r\n </td>}\r\n\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n \r\n\r\n </div>\r\n\r\n <div class=\"modal fade\" id={\"eimzaGuncellModal\" + e.id} tabindex=\"-1\" aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog modal-xl\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\">Eimzayı Güncelle</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\" onClick={getimzalistesi}></button>\r\n </div>\r\n\r\n {guncelnecekEimza != null && <div class=\"modal-body\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n E-Ä°mza ID: {guncelnecekEimza[0].id}\r\n </div>\r\n </div>\r\n <EImzaTekrar appData={props.appData} eimza={guncelnecekEimza[0]} imzalayanlist={guncelnecekEimza[1]} VizeKontrol={guncelnecekEimza[2]} />\r\n </div>}\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-sm btn-primary\" data-bs-dismiss=\"modal\" onClick={getimzalistesi}>Bitti</button>\r\n {/*<button type=\"button\" class=\"btn btn-sm btn-primary\">Güncelle</button>*/}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport EImza from './EImza';\r\nimport ApplicationAuthorPanel from '../Application/ApplicationAuthorPanel';\r\nimport bootstrap from 'bootstrap/dist/js/bootstrap.min.js'\r\nimport $ from 'jquery';\r\n\r\n\r\nimport { useGlobalState, showConfirmMessage, showErrorMessage, isEmpty, maskStringWithStar, setHtmlTag, getHtmlTag } from '../GlobalState.js';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport PDFView from '../Application/PDFView';\r\n\r\nexport default function EImzaList(props) {\r\n var appData = props.appData;\r\n const [role, setRole] = useGlobalState('role');\r\n const [imzalayabilenler, setImzalayabilenler] = useState(null);\r\n const [imzalayanlist, setimzalayanlist] = useState([]);\r\n var [eimzatasklist, setEimzatasklist] = useState([]);\r\n var [showFromAllApps, setShowFromAllApps] = useState(false);\r\n const [userName, setuserName] = useGlobalState('userName');\r\n\r\n var [eimzaNameList, setEimzaNameList] = useState([]);\r\n const colors = [\"text-warning\", \"text-success\"]\r\n\r\n useEffect(() => {\r\n if (props.targetEimza == null) { \r\n document.getElementById(\"activepaneldiv\").scrollTo(0, 0)\r\n }\r\n getvakaletdurums();\r\n getyeniimzalistesi();\r\n fetcheimzatasks();\r\n fetchEimzaNameList();\r\n\r\n\r\n }, [])\r\n\r\n\r\n\r\n\r\n const getvakaletdurums = () => {\r\n fetch(\"getvakaletdurums\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(appData.id),\r\n }).then(async response => {\r\n\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n getimzalayabilenler(data);\r\n\r\n });\r\n }\r\n });\r\n }\r\n\r\n const imzalayanekle = (imazalayan) => {\r\n fetch(\"imzalayanekle\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(imazalayan)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setimzalayanlist(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const adayEkle = (rec) => {\r\n var maxSira = 0;\r\n imzalayanlist.forEach(x => maxSira = Math.max(maxSira, x.sira))\r\n maxSira = maxSira + 1;\r\n\r\n var items = rec.Rol.split(',').map(item => item.trim());\r\n var roldindex = items.indexOf(rec.selectedRol);\r\n var siras = rec.sira.split(',').map(item => item.trim());\r\n if (siras.length > roldindex)\r\n if (isEmpty(siras[roldindex]) == false)\r\n maxSira = Number(siras[roldindex]);\r\n\r\n var imazalayan = { eimzaid: 0, sira: maxSira, userName: rec.userName, tc: rec.tc, rol: rec.selectedRol, name: rec.Name, family: rec.Family }\r\n if (imzalayanlist.filter(x => x.userName == imazalayan.userName && x.rol == imazalayan.rol).length > 0) {\r\n showErrorMessage(\"Adayı imza listesinde bulunmaktadır.\");\r\n return;\r\n }\r\n setimzalayanlist([...imzalayanlist, imazalayan]);\r\n\r\n }\r\n\r\n const adaylariKopyala = (eimzaid) => {\r\n if (eimzaid < 0)\r\n showErrorMessage(\"Bir Eimza Sürecini Seçiniz\");\r\n if (imzalayanlist.length > 0) {\r\n showErrorMessage(\"Kopyalama Ä°ÅŸlemi İçin Yeni E-Ä°mza Listesi BoÅŸ Olmalıdır.\", \"Kopaylamadan sonra listeyi güncelleyebilirsiniz\");\r\n return;\r\n }\r\n\r\n fetch(\"imzalayanlist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(eimzaid)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n value.forEach(x => { x.eimzaid = 0; x.id = 0; x.imzatarih = null; x.vizeKontrolTur = null; x.uuid = null; })\r\n setimzalayanlist([...imzalayanlist, ...value]);\r\n\r\n\r\n })\r\n }\r\n });\r\n\r\n\r\n /*var imazalayan = { eimzaid: \"NEW\" + appData.id, sira: eimzaid, userName: \"\", tc: \"COPY\", rol: \"\", name: \"\", family: \"\" }\r\n\r\n imzalayanekle(imazalayan)*/\r\n }\r\n\r\n\r\n const adaySil = (idx) => {\r\n imzalayanlist.splice(idx, 1)\r\n setimzalayanlist([...imzalayanlist]);\r\n }\r\n\r\n const getyeniimzalistesi = () => {\r\n fetch(\"imzalayanlist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(\"NEW\" + appData.id)\r\n }).then(async response => {\r\n if (!response.ok) { ajaxFail(response); }\r\n else {\r\n response.json().then(value => {\r\n setimzalayanlist(value);\r\n })\r\n\r\n }\r\n });\r\n }\r\n\r\n const getimzalayabilenler = (vekils) => {\r\n fetch(\"imzalaybilenler\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(appData.id)\r\n }).then(async response => {\r\n if (!response.ok) { ajaxFail(response); }\r\n else {\r\n response.json().then(value => {\r\n var data = JSON.parse(value);\r\n for (var i = 0; i < data.length; i++) {\r\n var v = vekils.find(x => x.userName == data[i].userName);\r\n if (v != null)\r\n data[i].vekil = v.appID;\r\n }\r\n\r\n setImzalayabilenler(data);\r\n setTimeout(() => {\r\n var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"popover\"]'))\r\n var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {\r\n return new bootstrap.Popover(popoverTriggerEl)\r\n })\r\n }, 1400)\r\n })\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const adaylar = () => {\r\n\r\n\r\n\r\n\r\n\r\n\r\n imzalayabilenler.forEach(rec => {\r\n rec.selectedRol = rec.Rol;\r\n if (rec.Rol != null && rec.Rol.includes(',')) {\r\n rec.selectedRol = rec.Rol.split(\",\")[0];\r\n }\r\n\r\n })\r\n\r\n return <div className=\"p-3 border border-rounded rounded-3 bg-white\" >\r\n <h5>E-Ä°mza Adayları</h5>\r\n <div className='' >\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"Kabul\" defaultChecked={false} onChange={(e) => setShowFromAllApps(e.target.checked)} /> Aynı Konuma Yapılan DiÄŸer BaÅŸvuruların da Adaylarını Göster\r\n </div>\r\n\r\n\r\n\r\n <div className=\"mt-1\">\r\n <div className=\"table-responsive\">\r\n <table className='table mt-3 table-vdstriped' aria-labelledby=\"tabelLabel\">\r\n <thead >\r\n <th className='text-start'> Ä°sim\r\n </th>\r\n <th className='text-start'>\r\n Soyisim\r\n </th >\r\n <th className='text-start'>\r\n TC\r\n </th>\r\n <th className='text-start'>\r\n Kullanıcı Tipi\r\n </th>\r\n <th className='text-start'>\r\n BaÅŸvuru\r\n </th>\r\n <th className='text-start'>\r\n E-Ä°mza\r\n </th>\r\n\r\n <th className='text-start'>\r\n\r\n </th>\r\n </thead>\r\n <tbody id=\"myTable\" key={imzalayanlist.length}>\r\n {imzalayabilenler.filter(rec => (showFromAllApps == true || rec.appID == appData.id)).map(rec =>\r\n\r\n <tr className=\"p-1\">\r\n <td>\r\n {rec.Name}\r\n </td>\r\n <td>\r\n {rec.Family}\r\n </td>\r\n <td>\r\n {maskStringWithStar(rec.tc)}\r\n </td>\r\n <td>\r\n {(rec.Rol != null && rec.Rol.includes(',')) ?\r\n <select className=\"form-select form-select-sm d-inline-block me-2\" onChange={(e) => rec.selectedRol = e.target.value} >\r\n {rec.Rol.split(\",\").map((u, idx) => <option value={u}>{rec.sira.split(',')[idx]} - {u}</option>)}\r\n </select>\r\n : rec.sira.split(',')[0] + \"-\" + rec.Rol\r\n }\r\n </td>\r\n <td >\r\n {rec.appID}\r\n </td>\r\n <td >\r\n {rec.eimza == true ? \"Evet\" :\r\n <div> E-imzam Yok\r\n <button className=\"btn btn-secondary ms-1 btn-sm text-decoration-none fw-bold p-1 pt-0 pb-0\" id=\"mypopover2\" data-bs-toggle=\"popover\" data-bs-trigger=\"focus\" title=\"AÇIKLAMA\" data-bs-content=\"Kullanıcıların e-imza atabilmeleri için, profil sayfalarındaki “İletiÅŸim Bilgileri†bölümünden “E-Ä°mza Kullanabilirim†seçeneÄŸini iÅŸaretlemeleri ve “Güncelle†butonuna basmaları gerekmektedir.\">?</button>\r\n\r\n </div>\r\n\r\n\r\n }\r\n </td>\r\n\r\n <td>\r\n <div style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }} className=\"text-end\">\r\n\r\n {/*{rec.vekil != null && rec.mappingID >= 0 && <button className={\"btn btn-link text-decoration-none pe-1 \" + colors[rec.vekil]} title=\"Vekalet Bilgisi\" onClick={(e) => { props.setActivePanel(<Vekalet appData={appData} setActivePanel={props.setActivePanel} mapping={{ id: rec.mappingID, userName: rec.userName, muellifType: rec.Rol }} />) }} > <i class=\"fa fa-vimeo-square\" aria-hidden=\"true\"></i> </button>}*/}\r\n\r\n {rec.vekil != null &&\r\n <button className={\"btn btn-link text-decoration-none pe-1 \" + colors[rec.vekil]} title=\"Vekalet Bilgisi\" onClick={(e) => { props.setActivePanel(<ApplicationAuthorPanel appData={appData} setActivePanel={props.setActivePanel} />) }} > <i class=\"fa fa-vimeo-square\" aria-hidden=\"true\"></i> </button>}\r\n\r\n \r\n\r\n <a hidden={rec.tc == null || rec.tc.length == 0 || rec.eimza != true} href=\"#\" onClick={() => { adayEkle(rec) }} className=\" text-decoration-none \"><i className=\"fa fa-plus-circle align-middle\" style={{ \"font-size\": \"22px\" }}></i></a>\r\n </div>\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n const recalculateSira = (mapping) => {\r\n const sortedArray = mapping.map(x => x.sira).sort((a, b) => a - b);\r\n const max = sortedArray[sortedArray.length - 1];\r\n var missingNumbers = [];\r\n for (let i = 1; i <= max; i++) {\r\n if (!sortedArray.includes(i)) {\r\n missingNumbers.push(i);\r\n }\r\n }\r\n for (var x of missingNumbers) {\r\n for (var r of mapping) {\r\n if (r.sira >= x)\r\n r.sira--;\r\n }\r\n }\r\n return mapping;\r\n };\r\n\r\n const imzalistesi = () => {\r\n var maxSira = 0;\r\n imzalayanlist.forEach(x => maxSira = Math.max(maxSira, x.sira))\r\n if (imzalayanlist.filter(x => x.sira == maxSira).length > 1)\r\n maxSira++;\r\n var iz2 = imzalayanlist.sort((a, b) => a.sira - b.sira)\r\n return <div >\r\n <div className=\"row\">\r\n <div className=\"col-8\" id=\"yeniCounter\">\r\n <h5>Yeni E-Ä°mza Listesi</h5>\r\n </div>\r\n <div className=\"col-4 text-end fw-bold text-primary\" id=\"yeniCounter\">\r\n <i className={\"pe-1 fa fa-user\" + (iz2.length > 1 ? \"s\" : \"\")} style={{ fontSize: \"18px\"}} ></i>{iz2.length}\r\n </div>\r\n\r\n </div>\r\n <div className=\"\" key={eimzatasklist.length}>\r\n <div className=\"table-responsive\">\r\n <table className='table table-vdstriped' aria-labelledby=\"tabelLabel\">\r\n <thead >\r\n <th className='text-start'>\r\n </th>\r\n <th className='text-start'> Sıra\r\n </th>\r\n <th className='text-start'> Ä°sim\r\n </th>\r\n <th className='text-start'>\r\n Soyisim\r\n </th >\r\n <th className='text-start'>\r\n TC\r\n </th>\r\n <th className='text-start'>\r\n Kullanıcı Tipi\r\n </th>\r\n <th className='text-start'>\r\n Ä°mza Tarihi\r\n </th>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {iz2.map((rec, idx) =>\r\n\r\n <tr>\r\n <td>\r\n <div>\r\n\r\n <button disabled={rec.sira <= 1} type=\"button\" className=\"btn btn-link p-0 m-0 shadow-none\" onClick={(e) => {\r\n rec.sira--;\r\n iz2 = recalculateSira(iz2);\r\n setimzalayanlist([...iz2]);\r\n }} >\r\n <span class=\"material-icons\">\r\n remove_circle\r\n </span>\r\n </button>\r\n <button type=\"button\" className=\"btn btn-link p-0 m-0 shadow-none\" disabled={rec.sira >= maxSira} onClick={(e) => {\r\n rec.sira++;\r\n iz2 = recalculateSira(iz2);\r\n setimzalayanlist([...iz2]);\r\n }}>\r\n <span class=\"material-icons\">\r\n add_circle\r\n </span>\r\n </button>\r\n\r\n </div>\r\n </td>\r\n <td>\r\n {rec.sira}\r\n </td>\r\n <td>\r\n {rec.name}\r\n </td>\r\n <td>\r\n {rec.family}\r\n </td>\r\n <td>\r\n {maskStringWithStar(rec.tc)}\r\n </td>\r\n <td>\r\n {rec.rol}\r\n </td>\r\n\r\n <td>\r\n {rec.imzatarih}\r\n </td>\r\n <td>\r\n <div style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }}>\r\n <a href=\"#\" onClick={() => { adaySil(idx) }} className=\" text-decoration-none\"><i className=\"fa fa-trash align-middle\" style={{ \"font-size\": \"20px\" }}></i></a>\r\n </div>\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n\r\n\r\n const fetcheimzatasks = () => {\r\n fetch(\"getimzatasks\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(appData.id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setEimzatasklist(data);\r\n\r\n var maxRepeat = 20;\r\n var refreshIntervalId = setInterval(() => {\r\n if (props.targetEimza != null && document.getElementById(\"EimzaRec\" + props.targetEimza.id) != null) {\r\n $('#activepaneldiv').animate({ scrollTop: $(\"#EimzaRec\" + props.targetEimza.id).offset().top }, 500);\r\n $(\"#EimzaRec\" + props.targetEimza.id).addClass(\"border-3 border-primary \");\r\n clearInterval(refreshIntervalId);\r\n }\r\n if (maxRepeat < 0) {\r\n clearInterval(refreshIntervalId);\r\n }\r\n maxRepeat--;\r\n }, 200);\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n const changeLoginButton = (e) => {\r\n document.getElementById(\"buttonlabel\").innerHTML = \"Süreç BaÅŸlatılıyor... \"\r\n document.getElementById(\"buttonSpinner\").hidden = false;\r\n }\r\n\r\n const fetchEimzaNameList = () => {\r\n\r\n fetch(\"geteimzanamelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setEimzaNameList(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const submiteimzadata = (posrdata) => {\r\n changeLoginButton();\r\n if (imzalayanlist.length == 0) {\r\n showErrorMessage(\"En az bir Ä°mza adayı ekleyiniz\");\r\n }\r\n posrdata.adaylar = JSON.stringify(imzalayanlist);\r\n posrdata.showNamesOnPDF = getHtmlTag(\"showNamesOnPDF\",\"checked\")\r\n var buton = document.getElementById(\"startbutton\");\r\n if (buton) {\r\n buton.disabled = true;\r\n }\r\n\r\n\r\n\r\n fetch(\"createsigntask\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(posrdata)\r\n }).then(async response => {\r\n document.getElementById(\"buttonlabel\").innerHTML = \"Yeni E-Ä°mza Sürecini BaÅŸlat\"\r\n document.getElementById(\"buttonSpinner\").hidden = true;\r\n if (buton) {\r\n buton.disabled = false;\r\n }\r\n\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n\r\n\r\n\r\n if (document.getElementById(\"imzadosya\") != null)\r\n document.getElementById(\"imzadosya\").value = null;\r\n else\r\n document.getElementById(\"fileselection\").innerHTML = \"\";\r\n\r\n if (data == null || data.length == 0) {\r\n showErrorMessage(\"Dosya #eimza ibaersini içermelidir\");\r\n return;\r\n\r\n }\r\n setHtmlTag(\"veriGirisindenSonraIndirme\", false, \"checked\")\r\n setHtmlTag(\"showNamesOnPDF\", false, \"checked\")\r\n\r\n setimzalayanlist([]);\r\n setEimzatasklist(data);\r\n var new_element = data[0]; //this the newly created eimza\r\n if (new_element.eimzaTextPos != true) {\r\n props.setActivePanel(<PDFView Eimza={new_element} setActivePanel={props.setActivePanel} source=\"NEW_TASK\" appData={appData} changeComponent={props.changeComponent} />)\r\n }\r\n\r\n\r\n\r\n });\r\n }\r\n });\r\n }\r\n\r\n const startNewEimza = () => {\r\n const fr = new FileReader();\r\n\r\n // var serviceProvider = window.location.hostname.includes(\"milas\") ? \"Arksigner\" : \"Onaylarim\";\r\n var serviceProvider = \"Onaylarim\";\r\n var providerselect = document.getElementById(\"onaylarimRadio\");\r\n if (providerselect != null) {\r\n if (providerselect.checked == true)\r\n serviceProvider = \"Onaylarim\";\r\n else\r\n serviceProvider = \"Arksigner\";\r\n }\r\n\r\n var veriGirisindenSonraIndirme = false;\r\n if (document.getElementById(\"veriGirisindenSonraIndirme\") != null) {\r\n if (document.getElementById(\"veriGirisindenSonraIndirme\").checked == true) {\r\n veriGirisindenSonraIndirme = true;\r\n }\r\n }\r\n\r\n var imzatur = \"PAdES\";\r\n var imzaturelem = document.getElementById(\"CAdES\");\r\n if (imzaturelem != null && imzaturelem.checked == true) {\r\n imzatur = \"CAdES\";\r\n }\r\n\r\n\r\n if (imzalayanlist == null || imzalayanlist.length == 0) {\r\n showErrorMessage(\"En az bir imza adayı ekleyiniz\")\r\n return;\r\n }\r\n if (props.targetFile != null) {\r\n submiteimzadata({ id: appData.id, file: \"#id:\" + props.targetFile.id, caption: props.targetFile.caption, surecName: props.targetFile.typeName, serviceProvider: serviceProvider, imzaType: imzatur, veriGirisindenSonraIndirme: veriGirisindenSonraIndirme })\r\n return;\r\n }\r\n const surecisim = document.getElementById(\"eimzasureismi\").value;\r\n if (surecisim == null || surecisim == \"\") {\r\n showErrorMessage(\"Bir Süreç Ä°smi Seçiniz\")\r\n return;\r\n }\r\n\r\n const file = document.getElementById(\"imzadosya\").files[0];\r\n if (file == null && props.targetFile == null) {\r\n showErrorMessage(\"Ä°mzalanacak Dosyayı Seçiniz.\")\r\n return;\r\n }\r\n if (appData.basvuruDurmu != UserPermConstants.Basvuru_Durumu_Onay_Verildi\r\n || appData.basvuruDurmu != UserPermConstants.Basvuru_Durumu_Ruhsat_Verildi\r\n || appData.basvuruDurmu != UserPermConstants.Basvuru_Durumu_Kontrol_Tamamlandi) {\r\n showConfirmMessage(\"Henüz kontrolünü tamamlamadığınız bir baÅŸvuruyu imzaya açmak üzeresiniz.\", \"Bu iÅŸleme devam etmek istiyor musunuz ?\", \"Evet\", \"Hayır\", () => {\r\n fr.readAsDataURL(file);\r\n fr.onloadend = function (evt) {\r\n submiteimzadata({ id: appData.id, file: evt.target.result, surecName: surecisim, serviceProvider: serviceProvider, imzaType: imzatur, veriGirisindenSonraIndirme: veriGirisindenSonraIndirme })\r\n }\r\n })\r\n }\r\n else {\r\n fr.readAsDataURL(file);\r\n fr.onloadend = function (evt) {\r\n submiteimzadata({ id: appData.id, file: evt.target.result, surecName: surecisim, serviceProvider: serviceProvider, imzaType: imzatur, veriGirisindenSonraIndirme: veriGirisindenSonraIndirme })\r\n }\r\n }\r\n\r\n }\r\n\r\n if (imzalayabilenler == null) {\r\n return <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n\r\n }\r\n\r\n return <div> {(role.indexOf(UserPermConstants.Imzaya_Açma) > -1 || props.targetFile != null) && appData.archived != true &&\r\n\r\n <div>\r\n {props.targetFile != null ? adaylar() : \"\"}\r\n\r\n {props.targetFile != null && <div className=\"p-3 mt-4 border border-rounded rounded-3 bg-white\">\r\n {imzalistesi()}\r\n\r\n <div className=\"row\">\r\n <div className=\"col-12 col-md-2\">\r\n {props.targetFile == null ? \"Eimza Süreç Ä°smi\" : \"\"}\r\n </div >\r\n <div className=\"col-12 col-md-4\">\r\n {props.targetFile == null && <select className=\"form-select form-select-sm\" id=\"eimzasureismi\" name=\"eimzasureismi\">\r\n <option value=\"\"></option> {eimzaNameList.map(x => <option value={x.name}> {x.name}</option>)}\r\n </select>}\r\n </div >\r\n\r\n {/*{role.indexOf(UserPermConstants.Tarife_Cetveli) > -1 &&*/}\r\n {/* <div className=\"col-12 col-md-6\" hidden={!window.location.hostname.includes(\"milas\")}>*/}\r\n {/* <div class=\"form-check form-check-inline \">*/}\r\n {/* <input className=\"form-check-input\" type=\"radio\" name=\"flexRadioDefault\" id=\"onaylarimRadio\" defaultChecked={!window.location.hostname.includes(\"milas\")} />*/}\r\n {/* Onaylarım*/}\r\n {/* </div>*/}\r\n {/* <div className=\"form-check form-check-inline \">*/}\r\n {/* <input className=\"form-check-input me-0\" type=\"radio\" name=\"flexRadioDefault\" id=\"flexRadioDefault2\" defaultChecked={window.location.hostname.includes(\"milas\")} />ArkSigner*/}\r\n {/* </div>*/}\r\n {/* </div>}*/}\r\n </div >\r\n\r\n {/*{role.indexOf(UserPermConstants.Tarife_Cetveli) > -1 && <div className=\"row mt-1\" >*/}\r\n {/* <div className=\"col-12 col-md-3 \" >*/}\r\n {/* <div className=\"form-check form-check-inline fw-bold\">*/}\r\n {/* <input className=\"form-check-input me-0\" type=\"radio\" name=\"imzatype\" id=\"PAdES\" defaultChecked={true} />*/}\r\n {/* PAdES*/}\r\n {/* </div>*/}\r\n {/* <div class=\"form-check form-check-inline fw-bold\">*/}\r\n {/* <input className=\"form-check-input\" type=\"radio\" name=\"imzatype\" id=\"CAdES\" />*/}\r\n {/* CAdES*/}\r\n {/* </div>*/}\r\n\r\n {/* </div>*/}\r\n {/* <div className=\"col-12 col-md-9 text-secondary\" >*/}\r\n {/* Belge daha önce CAdES formatında imzalanmış ise CAdES olarak, PAdES formatında imzalanmış ise PAdES olarak imzaya açılmalıdır aksi taktirde önceki imzalar geçersiz olur.*/}\r\n {/* </div>*/}\r\n {/*</div>}*/}\r\n {role.indexOf(UserPermConstants.Imza_Veri_Girisi) > -1 && <div className=\"row mt-2\">\r\n <div className=\"col-md-6 col-12 \">\r\n <div class=\"form-check\">\r\n <input className=\"form-check-input\" type=\"checkbox\" id=\"veriGirisindenSonraIndirme\" />\r\n <label className=\"form-check-label\" for=\"veriGirisindenSonraIndirme\">\r\n Veri giriÅŸi yapılmadan imzalı dosya indirilemesin\r\n </label>\r\n </div>\r\n </div >\r\n <div className=\"col-md-6 col-12 \">\r\n <div class=\"form-check\">\r\n <input className=\"form-check-input\" type=\"checkbox\" id=\"showNamesOnPDF\" />\r\n <label className=\"form-check-label\" for=\"showNamesOnPDF\">\r\n Ä°mzalayanların ismi dosyada görunsun. \r\n </label>\r\n </div>\r\n </div >\r\n </div >}\r\n\r\n <div className=\"row mt-2\" id=\"fileselection\">\r\n <div className=\"col-12 col-md-6\">\r\n {props.targetFile == null ?\r\n <input accept=\".pdf\" style={{ maxWidth: \"400px\" }} class=\"form-control form-control-sm\" type=\"file\" id=\"imzadosya\" />\r\n : props.targetFile.id + \" \" + props.targetFile.typeName\r\n }\r\n </div >\r\n <div className=\"col-12 col-md-4\">\r\n <button className=\"btn btn-sm btn-success rounded\" onClick={startNewEimza} id=\"startbutton\">\r\n <i className=\"\tfa fa-star pe-1\"></i>\r\n <span id=\"buttonlabel\">Yeni E-Ä°mza Süreci BaÅŸlat</span>\r\n <span class=\"ms-1 spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\" id=\"buttonSpinner\" hidden></span>\r\n </button>\r\n </div >\r\n </div >\r\n\r\n\r\n\r\n\r\n <div className='mt-3' >\r\n <button type=\"button\" className=\" p-0 btn btn-link text-decoration-none\" data-bs-toggle=\"collapse\" data-bs-target=\"#demo\"> Adayları BaÅŸka E-imza Sürecinden Kopyala</button>\r\n <div id=\"demo\" className=\"collapse mt-2\">\r\n <div className='row ' >\r\n <div className='col-5' >\r\n <select class=\"form-select form-select-sm\" aria-label=\".form-select-sm example\" id=\"copycombobox\">\r\n <option value=\"-1\" selected></option>\r\n {eimzatasklist.map(ez => <option value={ez.id} > {ez.id} - {ez.surecname}</option>)}\r\n </select>\r\n </div>\r\n <div className='col-3' >\r\n <button type=\"button\" class=\"btn btn-sm btn-primary\" onClick={(value) => adaylariKopyala(document.getElementById(\"copycombobox\").value)}> Kopyala</button>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>}\r\n </div >}\r\n\r\n <div className={\"p-3 border border-rounded rounded-3 bg-white \" + (props.targetFile == null ? \"\" : \"mt-4\")}>\r\n <div className=\"row \">\r\n <div className=\"col-6\">\r\n <h5>BaÅŸlatılan E-imza Süreçleri </h5>\r\n </div>\r\n\r\n <div className=\"col-4 text-end\">\r\n <a onClick={fetcheimzatasks} href=\"#\" className=\"text-primary\"> <i className=\"\tfa fa-refresh pe-1\"></i></a>\r\n </div>\r\n </div>\r\n {eimzatasklist.filter(e => e.removed != true && (role.indexOf(UserPermConstants.Imzaya_Açma) > -1 || e.imzatarih != 'Ä°ptal Edildi')).map(e =>\r\n <div><EImza Eimza={e} key={e.id + \" \" + e.imzatarih + \" \" + e.removed} setEimzatasklist={setEimzatasklist} setActivePanel={props.setActivePanel} appData={appData} fetcheimzatasks={fetcheimzatasks} changeComponent={props.changeComponent} showImzaciList={props.targetEimza != null && props.targetEimza.id == e.id} /></div>)}\r\n </div >\r\n\r\n\r\n {role.indexOf(UserPermConstants.Eimza_Geri_Alma) > -1 && eimzatasklist.some(e => e.removed == true) && <div className=\"p-2 mt-5 border border-rounded rounded-3 bg-secondary\">\r\n <div className=\"row \">\r\n <div className=\"col-12 rounded-3\"><a href=\"#\" className=\"text-decoration-none text-white \" data-bs-toggle=\"collapse\" data-bs-target=\"#silinenliste\"> Silinen E-imza Süreçleri </a></div>\r\n </div>\r\n <div id=\"silinenliste\" class=\"collapse\">\r\n {eimzatasklist.filter(e => e.removed == true).map(e =>\r\n <div >\r\n <EImza Eimza={e} key={e.id + \" \" + e.imzatarih + \" \" + e.removed} setEimzatasklist={setEimzatasklist} setActivePanel={props.setActivePanel} appData={appData} fetcheimzatasks={fetcheimzatasks} changeComponent={props.changeComponent} />\r\n </div>)}\r\n </div>\r\n </div >}\r\n\r\n\r\n </div>\r\n}\r\n","export const Gorebildigi_Basvurulari_Editleme = \"GörebildiÄŸi BaÅŸvuruları Düzenleme\"\r\nexport const Yeni_Basvuru_Yapabilme = \"Yeni BaÅŸvuru Yapabilme\"\r\nexport const Yeni_Basvuruda_Zorunlu_Alanlari_Bos_Birakabilme = \"Yeni BaÅŸvuruda Zorunlu Alanları BoÅŸ Bırakabilme\"\r\nexport const Adres_Defterini_Gorme = \"Adres Defterini Görme\"\r\nexport const Adres_Defterini_Duzenleme = \"Adres Defterini Düzenleme\"\r\nexport const Kontrolor_Istatistiklerini_Gorme = \"Kontrolör Ä°statistiklerini Görme\"\r\nexport const Proje_Istatistiklerini_Gorme = \"Proje Ä°statistiklerini Görme\"\r\nexport const Muellif_Istatistiklerini_Gorme = \"Müellif Ä°statistiklerini Görme\"\r\nexport const Mekansal_Istatistikleri_Gorme = \"Mekansal Ä°statistikleri Görme\"\r\nexport const Zamansal_Istatistikleri_Gorme = \"Zamansal Ä°statistikleri Görme\"\r\nexport const Anlik_Istatistikleri_Gorme = \"Anlık Ä°statistikleri Görme\"\r\nexport const Yonetmelik_Yukleme = \"Yönetmelik Yükleme\"\r\nexport const Basvuru_Tipleri = \"BaÅŸvuru Yönetimi\"\r\nexport const Basvuru_Formu = \"BaÅŸvuru Yönetimi\"\r\nexport const Basvuru_Liste = \"Tüm BaÅŸvuruları Görme\"\r\nexport const Ekran_Yonetimi = \"Ekran Yönetimi\"\r\nexport const Dosyalar = \"Dosya Yönetimi\"\r\nexport const Dosya_Alani_Yaratma = \"Dosya Alanı Yaratma\"\r\n\r\nexport const Dosya_Yukleme = \"Dosya Yükleme\"\r\nexport const Dosya_Gizleme = \"Dosya Gizleme\"\r\nexport const Dosya_Degistirme_Silme = \"Dosya DeÄŸiÅŸtirme / Silme\"\r\nexport const Ada_Parsel_Girisi = \"Ada / Parsel GiriÅŸi\"\r\nexport const Surecler = \"Süreç Yönetimi\"\r\nexport const Kullaniciyla_Kart_Paylasimi = \"BaÅŸvuru PaylaÅŸma (Kart)\"\r\nexport const Link_ile_Kart_Paylasimi = \"BaÅŸvuru PaylaÅŸma (Link)\"\r\nexport const Manuel_Bildirim_Gonderme = \"Manuel Bildirim Gönderme\"\r\nexport const Yeni_Kullanici_Kaydetme = \"Yeni Kullanıcı Kaydetme\"\r\nexport const Yeni_Kullanici_Kaydinda_Zorunlu_Alanlari_Bos_Birakabilme = \"Yeni Kullanıcı Kaydında Zorunlu Alanları BoÅŸ Bırakabilme\"\r\nexport const Kullanici_Listesini_Gorme_Profil_Bilgilerini = \"Kullanıcı Listesini Görme (Profil Bilgilerini)\"\r\nexport const Kullanici_Bilgilerini_Editleme_Roller_Denetim_Yetkileri_Haric = \"Kullanıcı Bilgilerini Düzenleme\"\r\n/*export const Kullanici_Rollerini_Editleme = \"Kullanıcı Rol Yönetimi\"*/\r\nexport const Kullanici_Denetim_Yetkilerini_Editleme = \"Kullanıcı Yetkilerini Düzenleme\"\r\nexport const Kullanici_Silme = \"Kullanıcı Silme\"\r\nexport const Basvuru_Silme = \"BaÅŸvuru Silme\"\r\nexport const Kullanici_Tipleri = \"Kullanıcı Tipleri\"\r\nexport const Kullanici_Kayit_Formu = \"Kullanıcı Kayıt Formu\"\r\nexport const Kullanici_Rolleri = \"Kullanıcı Rolleri\"\r\nexport const Is_Yuku = \"Ä°ÅŸ Yükü\"\r\nexport const Kullnici_Kara_Liste = \"Kullanıcıyı Kara Listeye Alma\"\r\nexport const Duyuru_Yonetimi = \"Duyuru Yönetimi\"\r\nexport const Tarife_Yonetimi = \"Tarife Yönetimi\"\r\nexport const Tarife_Gorme = \"Tarifeleri Görme\"\r\nexport const Tarife_Duzenleme = \"Tarifeleri Düzenleme\"\r\nexport const Basvuru_Standartlari = \"BaÅŸvuru Standartları\"\r\nexport const Varsayilan_Takip_Ayarlari = \"Varsayılan Takip Ayarları\"\r\nexport const Kurum_Bilgileri = \"Kurum Ayarları\"\r\nexport const Api_Yonetimi = \"Api Yönetimi\"\r\nexport const Pop_Up_Yonetimi = \"Pop-Up Yönetimi\"\r\nexport const Yardim_Ekranlari = \"Yardım Menusu\"\r\nexport const Ayarlar_Gorme = \"Ayarları Gorme\"\r\nexport const Gizli_Alanlari_Gorme = \"BaÅŸvuru Formunda Gizli Alanları Görme\"\r\nexport const Gizli_Basvuru_Gorme = \"Gizli BaÅŸvuru Turlerini Görme\"\r\nexport const Basvurudan_Sonra_Sabit_Editleme = \"BaÅŸvurudan Sonra Sabit Soruları Düzenleme\"\r\nexport const Basvurudan_Sonra_Dinamik_Editleme = \"BaÅŸvurudan Sonra Dinamik Soruları Düzenleme\"\r\nexport const Sifre_Degistirme = \"Kullanıcı Åifresini DeÄŸiÅŸtirme\"\r\nexport const Tum_Geciken_Basvurular = \"Tüm Geciken BaÅŸvuruları Görme\"\r\n\r\nexport const Basvuru_Vekili_Update = \"BaÅŸvuru Vekilini DeÄŸiÅŸtirme\"\r\nexport const Dosyalari_Eimzaya_Acima = \"Ä°mzaya Açma (Dosyalar Sekmesinden)\"\r\n\r\nexport const Basvuru_Onaylama = \"BaÅŸvuru Kabul (Dosya Kontrol)\"\r\nexport const Eksiklik_Girme = \"Eksiklik Girme\"\r\nexport const Havale_Yapma = \"Havale Yapma\"\r\nexport const Ruhsat_Onaylama = \"Ruhsat Onaylama\"\r\nexport const Imzaya_Açma = \"Ä°mzaya Açma (E-Ä°mza Sekmesinden)\"\r\nexport const Imza_Silme = \"Ä°mza Silme\"\r\nexport const Imza_Veri_Girisi = \"Ä°mza Veri GiriÅŸi\"\r\nexport const Imza_Vize_Kontrol = \"Ä°mza Vize Kontrol\"\r\nexport const Imza_Yerlestirme = \"Ä°mza YerleÅŸtirme\"\r\nexport const Imza_Guncelleme = \"Ä°mza Güncelleme\"\r\nexport const Imza_Sertifikali = \"Sertifikalı Belge Ä°ndirme\"\r\n\r\n\r\nexport const Basvuru_Onaylama_Kontrolorden_Sonraki_Biti_Onayi = \"BaÅŸvuru Onaylama\"\r\nexport const Ruhsat_Kesme = \"Ruhsat Kesme\"\r\nexport const Son_Imza = \"Sabit Ä°mzacı\"\r\n\r\nexport const Iade_Basvuruyu_Gonderme = \"Ä°ade Listesindeki BaÅŸvuruyu Gönderme\"\r\n\r\nexport const Vekalet_Onay = \"Ä°mza Vekalet Onayı\"\r\n\r\nexport const Kontrolor_Dosyasi_Yukleme = \"Kontrolör Dosyası Yükleme\"\r\nexport const Ilgili_Basvurulari_Gorme = \"Ä°lgili BaÅŸvuruları Görme\"\r\nexport const Kalan_Sure_Gorme = \"Kalan Kontrol Süreyi Görme\"\r\n\r\nexport const Kadastral_Ayarlar = \"Kadastral Veri\"\r\nexport const Edevletsiz_Basvuru = \"E-Devletsiz BaÅŸvuru Yapabilme\"\r\nexport const EImzali_Gonderme = \"E-imzalı BaÅŸvuru Gönderme\"\r\nexport const Sabitlenen_Profil_Degistirme = \"Sabitlenen Profil Verilerini Düzenleme\"\r\nexport const MAKS_Veri_Girisi = \"Maks Veri GiriÅŸi\"\r\nexport const Gizli_Aktiviteleri_Gorme = \"Gizli GeçmiÅŸ Aktiviteleri Görme\"\r\nexport const Basvuru_Arsiv = \"BaÅŸvuruyu ArÅŸive Alma\"\r\nexport const Basvuru_Arsiv_Cikar = \"BaÅŸvuruyu ArÅŸivden Çıkarma\"\r\n\r\nexport const Eimza_Geri_Alma = \"Silinen Ä°mzayı Geri Alma\"\r\nexport const DWG_Karsilastirma = \"DWG KarşılaÅŸtırma\"\r\nexport const Surec_Sonu_Dosya_Indirme = \"Süreç Sonu Dosya Ä°ndirime\"\r\n\r\nexport const Basvuru_Durumu_Taslak = 1\r\nexport const Basvuru_Durumu_Onay_Bekliyor = 2\r\nexport const Basvuru_Durumu_Havale_Bekliyor = 3\r\nexport const Basvuru_Durumu_Kontrol_Sirada_Bekliyor = 4\r\nexport const Basvuru_Durumu_Kontrol_Ediliyor = 5\r\nexport const Basvuru_Durumu_Duzeltme_Bekleniyor = 6\r\nexport const Basvuru_Durumu_Kontrol_Tamamlandi = 7\r\nexport const Basvuru_Durumu_Onay_Verildi = 8\r\nexport const Basvuru_Durumu_Ruhsat_Verildi = 9\r\nexport const Basvuru_Durumu_Iade_Edildi = 10\r\nexport const Basvuru_Durumu_Ucret_Bekleniyor = 11\r\nexport const Basvuru_Durumu_Tahakkuk_Bekleniyor = 12\r\nexport const Basvuru_Durumu_EIMZA_Bekleniyor = 13\r\nexport const Basvuru_Durumu_GeriGonderildi = 14\r\nexport const Basvuru_Durumu_Harc_Odeme_Kontrolu_Bekliyor = 15;\r\n\r\nexport const EIMZA_IPTAL = \"Ä°ptal Edildi\"\r\nexport const EIMZA_BEKLENIYOR = \"Ä°mza Bekleniyor\"\r\nexport const EIMZA_TAMAM = \"Ä°mza Süreci Tamamlandı\"\r\n\r\n\r\nexport const BASKA_BASVURU_GONDERME = \"BaÅŸka baÅŸvuru gönderme\"\r\nexport const HARC_DOSYALARI = \"Harç Detaylar\"","import React, { useState, useEffect } from 'react';\r\nimport { useGlobalState, ajaxFail } from '../GlobalState.js';\r\n\r\n\r\nexport default function Statistic(props) {\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [sureslist, setSurecList] = useState([]);\r\n\r\n const drawChart = (dataarray, target, ftitle) => {\r\n var data = window.google.visualization.arrayToDataTable(dataarray);\r\n var options = {\r\n chartArea: {\r\n // leave room for y-axis labels\r\n width: '90%'\r\n },\r\n height: \"300\",\r\n width: '100%',\r\n title: ftitle,\r\n legend: { position: \"bottom\" },\r\n titleTextStyle: {\r\n color: '#0098db',\r\n fontSize: 16\r\n //bold: true\r\n },\r\n is3D: true,\r\n\r\n\r\n };\r\n var targetc=document.getElementById(target)\r\n if (targetc) {\r\n var chart = new window.google.visualization.PieChart(targetc);\r\n chart.draw(data, options);\r\n }\r\n\r\n }\r\n\r\n useEffect(() => {\r\n const script = document.createElement(\"script\");\r\n script.src = \"https://www.gstatic.com/charts/loader.js\";\r\n script.async = true;\r\n document.getElementById(\"myscript\").appendChild(script);\r\n script.onload = () => {\r\n window.google.charts.load(\"current\", { packages: ['corechart'] });\r\n window.google.charts.setOnLoadCallback(sureclist);\r\n }\r\n \r\n\r\n }, [])\r\n\r\n const sureclist = () => {\r\n fetch(\"sureclist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n\r\n response.json().then(async data => {\r\n setSurecList(data);\r\n populateProjectData(data);\r\n });\r\n }\r\n });\r\n }\r\n\r\n const populateProjectData = (sureclist) => {\r\n fetch(\"countprojectbytype\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({})\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n\r\n response.json().then(async data => {\r\n var dataset = JSON.parse(data);\r\n\r\n data = JSON.parse(dataset[0]);\r\n var dataarray1 = [];\r\n var colors = ['#2E4C6D', '#396EB0', '#DADDFC', '#FC997C', '#66806A', '#7E8BD9', '#558D97', '#B4C6A6', '#FFC286', '#FFF1AF'];\r\n dataarray1.push(['Durum', 'Toplam', { role: \"style\" }]);\r\n var cidx = 0;\r\n for (var i in data) {\r\n dataarray1.push([i, data[i], colors[cidx++]]);\r\n }\r\n drawChart(dataarray1, 'columnchart_material', 'BaÅŸvuru Durumları');\r\n\r\n\r\n\r\n\r\n data = JSON.parse(dataset[1]);\r\n var dataarray2 = [];\r\n var colors = ['#2E4C6D', '#396EB0', '#DADDFC', '#FC997C', '#66806A', '#7E8BD9', '#558D97', '#B4C6A6', '#FFC286', '#FFF1AF'];\r\n dataarray2.push(['Durum', 'Toplam', { role: \"style\" }]);\r\n cidx = 0;\r\n for (var i in data) {\r\n dataarray2.push([i, data[i], colors[cidx++]]);\r\n }\r\n\r\n\r\n drawChart(dataarray2, 'kullanıcilarpanel', 'BaÅŸvuru Tipleri');\r\n\r\n\r\n\r\n\r\n\r\n\r\n data = JSON.parse(dataset[2]);\r\n /* var dataarray3 = [];\r\n var colors = ['#2E4C6D', '#396EB0', '#DADDFC', '#FC997C', '#66806A', '#7E8BD9', '#558D97', '#B4C6A6', '#FFC286', '#FFF1AF'];\r\n dataarray3.push(['Durum', 'Toplam', { role: \"style\" }]);\r\n for (var i = 0; i < data.length; i++) {\r\n dataarray3.push([data[i].userName, data[i].Toplam, colors[i]]);\r\n }\r\n drawChart(dataarray3, 'kullanıcilarpanel', 'Görev Durumları')*/\r\n if (document.getElementById(\"aktifbasvuru\"))\r\n document.getElementById(\"aktifbasvuru\").innerHTML = \" Aktif: \" + data.Aktif\r\n if (document.getElementById(\"tamamlananbasvuru\"))\r\n document.getElementById(\"tamamlananbasvuru\").innerHTML = \" Tamamlanan: \" + data.Tamamlanan\r\n if (document.getElementById(\"toplambasvuru\"))\r\n document.getElementById(\"toplambasvuru\").innerHTML = \" Toplam: \" + data.Toplam\r\n\r\n\r\n\r\n\r\n });\r\n }\r\n });\r\n }\r\n\r\n \r\n\r\n //appData.basvuruDurumu != \"Kontrol Ediliyor\"\r\n return (\r\n <div >\r\n <div id=\"myscript\"></div>\r\n <div className=\"row\">\r\n <div className=\"col-6 p-0 m-0\">\r\n <div id=\"columnchart_material\"></div>\r\n </div>\r\n <div className=\"col-6 p-0 m-0\">\r\n <div id=\"kullanıcilarpanel\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty } from '../GlobalState.js';\r\nexport default function ToDoList(props) {\r\n var postdata = {};\r\n const [listData, setListData] = useState([]);\r\n //const colors = [\"#fff8dd\", \"#e8fff3\", \"#fff5f8\", \"#f8f5ff\"]\r\n const bordercolors = [\"#50cc88\", \"#009cf7\", \"#ffc800\", \"#f1416d\"]\r\n const colors = [\"#fff0ee\", \"#ffffff\"]\r\n \r\n var duyurucount = listData.length;\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n const removeRecord = (id) => {\r\n fetch(\"removetodoList\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const submitUpdateRecord = (rec) => {\r\n\r\n fetch(\"updatetodolist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n alert(response.statusText)\r\n })\r\n }\r\n else {\r\n alert(\"Güncelleme BaÅŸarıyla TamamlanmÅŸtır\")\r\n }\r\n });\r\n }\r\n\r\n const fetchList = () => {\r\n\r\n fetch(\"gettodolist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const Add = () => {\r\n fetch(\"addtodolist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(postdata)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n document.getElementById(\"taskName\").value = \"\";\r\n fetchList();\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value;\r\n }\r\n\r\n const changeSize = (event) => {\r\n const target = event.target;\r\n if (isEmpty(target.style.height))\r\n target.style.height = target.scrollHeight + \"px\";\r\n else\r\n target.style.height = null;\r\n }\r\n \r\n\r\n const renderTable = (tabledata) => {\r\n\r\n var mytable = <div className=\"overflow-auto vdscrollbar\" style={{ maxHeight: \"300px\" }}>\r\n <div className=\"row pt-1 pb-1 m-1 rounded-3\">\r\n <div className=\"col-md-11 col-12 m-0 p-0\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"taskName\" placeholder=\"Yeni\" name=\"taskName\" onChange={handleInputChange} defaultValue=\"\" />\r\n </div>\r\n <div className=\"col-12 col-md-1 text-end\"> <button onClick={Add} className=\"btn btn-sm btn-link text-decoration-none p-0 shadow-none\" style={{ fontSize:\"17px\" }}><i className=\"fa fa-plus-circle\"></i></button></div>\r\n </div>\r\n\r\n\r\n {tabledata.map((apprec,idx) =>\r\n < div className=\"row pt-2 pb-2 m-1 mb-1 rounded-3\" style={{ \"background-color\": colors[idx % colors.length] }} key={apprec.id}>\r\n\r\n <div className=\"col-md-10 col-12 \" >\r\n <textarea className=\"form-control form-control-sm border-0\" rows={1} style={{ \"background-color\": \"transparent\" }} name=\"taskName\" defaultValue={apprec.taskName} onChange={(e) => updateRecord(apprec, e)} onClick={ changeSize} />\r\n </div>\r\n\r\n <div className=\"col-md-2 col-12 text-end\" >\r\n <button onClick={() => submitUpdateRecord(apprec)} className=\"btn btn-link btn-sm text-decoration-none p-0 shadow-none\" style={{ fontSize: \"16px\" }}><i className=\"fa fa-floppy-o\"></i></button>\r\n <button onClick={() => removeRecord(apprec.id)} className=\"btn btn-link btn-sm text-decoration-none p-0 shadow-none\" style={{ fontSize: \"16px\" }}><i className=\"fa fa-trash-o\"></i></button>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n }, [])\r\n\r\n\r\n var listTable = \"\";\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n else\r\n listTable = renderTable([]);\r\n\r\n return (\r\n <div className=\" rounded-3 1\">\r\n <div className=\"row\">\r\n <div className=\"col-7\">\r\n <h6 style={{color: \"#0098db\"}}>Yapılacaklar Listesi</h6>\r\n </div>\r\n <div className=\"col-5 justify-content-end align-items-end text-end text-secondary\"><b>{duyurucount}</b> kayıt</div>\r\n </div>\r\n\r\n \r\n {listTable}\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty } from '../GlobalState.js';\r\n\r\n\r\nexport default function DuyuruPanel(props) {\r\n\r\n const [listData, setListData] = useState([]);\r\n const colors = [\"#f2fff2\", \"#ffffff\"]\r\n //const colors = [\"#fff8dd\", \"#e8fff3\", \"#fff5f8\", \"#f8f5ff\"]\r\n var duyurucount = listData.length;\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n\r\n const fetchList = () => {\r\n fetch(\"getduyurulist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n <div className=\"overflow-auto vdscrollbar\" style={{ maxHeight: \"280px\" }}>\r\n {tabledata.map((apprec, idx) =>\r\n <div className=\"row pt-2 ms-2 me-2 rounded-3\" style={{ \"background-color\": colors[idx % colors.length] }} key={apprec.id}>\r\n <div className=\"col-6\" >\r\n <img className=\"rounded-circle\" style={{ width: \"32px\", height: \"32px\" }} src={\"/getuserpic?user=\" + apprec.userName} /> {apprec.temp}\r\n </div>\r\n <div className=\"col-6 text-end\" >\r\n {apprec.postDate}\r\n </div>\r\n <div className=\"col-12 \" > <div className=\"mt-1\" dangerouslySetInnerHTML={{ __html: apprec.message }} /></div>\r\n <div className=\"col-12 \" >\r\n {isEmpty(apprec.fileName) == false &&\r\n <a className=\"text-decoration-none\" href={'getduyurufile?id=' + apprec.id} download={apprec.fileName}> {apprec.fileName} </a>\r\n }\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n )}\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n }, [])\r\n\r\n\r\n var listTable = \"\";\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n else\r\n listTable = renderTable([]);\r\n\r\n return (\r\n <div className=\" rounded-3 shadow-sm\">\r\n <div className=\"row\">\r\n <div className=\"col-md-7 col-12\">\r\n <h6 style={{ color: \"#0098db\" }}>Duyurular</h6>\r\n </div>\r\n <div className=\"col-md-5 col-12 text-end text-secondary \">{duyurucount} duyuru</div>\r\n </div>\r\n {listTable}\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Statistic from \"./Statistic.js\";\r\nimport { useGlobalState, logout, showInfoMessage, isEmpty } from '../GlobalState.js';\r\nimport Calendar from 'react-calendar';\r\nimport 'react-calendar/dist/Calendar.css';\r\nimport ToDoList from \"./ToDoList.js\";\r\nimport AddressBook from \"./AddressBook.js\";\r\nimport DuyuruPanel from './DuyuruPanel.js';\r\nimport UserStatistics from '../User/UserStatistics.js';\r\nimport AppMonthStatistic from '../Statistic/AppMonthStatistic.js';\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport EImzaListem from '../Eimza/EImzaListem.js';\r\nimport MessagePanel from '../User/MessagePanel.js';\r\n\r\n\r\n\r\nexport default function Home(props) {\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [activepannel, setActivepannel] = useState(null);\r\n\r\n var [globalData, setGlobalData] = useGlobalState('globalData');\r\n\r\n const fetchGeneralData = () => {\r\n fetch(\"getgeneraldata\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setGlobalData(data);\r\n });\r\n }\r\n });\r\n }\r\n\r\n const initModal = () => {\r\n var locModal = document.getElementById('myModal');\r\n if (locModal == null) return;\r\n var btncloseup = document.getElementById('upclosemodal');\r\n var btnclosedown = document.getElementById('downclosemodal');\r\n\r\n\r\n btncloseup.addEventListener('click', (e) => {\r\n locModal.style.display = \"none\";\r\n locModal.classList.add(\"hide\");\r\n if (document.getElementById(\"gosterme\").checked == true) {\r\n disablePopup();\r\n }\r\n });\r\n btnclosedown.addEventListener('click', (e) => {\r\n locModal.style.display = \"none\";\r\n locModal.classList.add(\"hide\");\r\n if (document.getElementById(\"gosterme\").checked == true) {\r\n disablePopup();\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const disablePopup = () => {\r\n fetch(\"disablepopup\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n });\r\n }\r\n\r\n\r\n const fetchUserData = () => {\r\n fetch(\"getuser\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n var userdata = JSON.parse(data);\r\n if (userdata != null && userdata.showPopup == true && globalData != null && isEmpty(globalData.popupMessage) == false && globalData.popupMessage.length>12) {\r\n\r\n var message = \"\";\r\n if (!isEmpty(globalData.popupMessageFile))\r\n message += '<a class= \"small text-decoration-none\" href=\"getgeneralfile?id=popupMessageFile\" download=\"popupMessageFile.pdf\">'+ globalData.popupMessageFile+'</a>'\r\n\r\n showInfoMessage(globalData.popupMessage + message, \"\", \"Bir Daha Gösterme\", \"Tamam\", disablePopup);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n useEffect(() => {\r\n \r\n fetchUserData();\r\n }, []);\r\n\r\n\r\n\r\n var stat = <Statistic />;\r\n var addressBook = <AddressBook />;\r\n var cal = <Calendar className=\"border border-rounded rounded-3 h-100 w-100\" />;\r\n var todo = <ToDoList />;\r\n var duyuru = <DuyuruPanel />;\r\n var homepage = null;\r\nvar userstat = <UserStatistics counter={0} />;\r\n var appmonthstat = \"\";// <AppMonthStatistic />\r\n\r\n\r\n if (globalData != null && globalData.belediyeName != null) {\r\n homepage = <div className=\"text-center border rounded border m-1 pt-3 pb-3 shadow\">\r\n <img src={require('./logobig.jpeg').default} width=\"100%\" />\r\n <h2 className=\"font-weight-bold pt-3\" style={{ \"text-shadow\": \"0px 0px 1px grey\", color: \"#0098db\" }}>{globalData.belediyeName}</h2>\r\n </div>\r\n }\r\n\r\n\r\n \r\n\r\n const showPanel = (name) => {\r\n setActivepannel(name);\r\n }\r\n\r\n\r\n return (\r\n\r\n <div className=\"rounded-3\" >\r\n <div className=\"\" >\r\n <div className=\"row\">\r\n <div className=\"col-12 col-md-6 rounded-3 \">\r\n {duyuru}\r\n\r\n </div>\r\n <div className=\"col-12 col-md-4\">\r\n {stat} \r\n </div>\r\n <div className=\"col-12 col-md-2 pt-2\" style={{ fontSize: \"14px\" }}>\r\n <div className=\"border rounded-2 p-1 pt-3 pb-3 mb-3\">\r\n <i class=\"fa fa-bookmark-o text-primary me-1\" style={{ fontSize: \"18px\" }}></i>\r\n\r\n <a id=\"bekleyeneimza\" href=\"#\" className=\"text-decoration-none\" onClick={() => { props.changeComponent(<EImzaListem changeComponent={props.changeComponent} />) }}>\r\n Bekleyen E-Ä°mza:0\r\n </a>\r\n </div>\r\n <div className=\"border rounded-2 p-1 pt-3 pb-3 mb-3\">\r\n <i class=\"\tfa fa-envelope-o text-primary\" style={{ fontSize: \"18px\" }}></i><span id=\"yenibildirim\"> Yeni Bildirim:0</span> \r\n </div>\r\n <div className=\"border rounded-2 p-1 pt-2 mb-3\">\r\n <div className=\"fw-bold text-secondary pb-3\">\r\n <i class=\"fa fa-folder-open-o text-primary\" style={{ fontSize: \"18px\" }}></i> BaÅŸvurular\r\n </div>\r\n <div className=\"text-secondary pb-2\"> <i class=\"fa fa-tag text-primary ms-3\" style={{ fontSize: \"18px\" }}></i><span id=\"aktifbasvuru\">Aktif:0</span> </div>\r\n <div className=\"text-secondary pb-2\"> <i class=\"fa fa-check-square-o text-primary ms-3\" style={{ fontSize: \"18px\" }}></i><span id=\"tamamlananbasvuru\">Tamamlanan:0</span> </div>\r\n <div className=\"text-secondary pb-2\"> <i class=\"\tfa fa-star text-primary ms-3\" style={{ fontSize: \"18px\" }}></i><span id=\"toplambasvuru\">Toplam:0</span></div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-2 mb-1 me-1\">\r\n <div className=\"col-md-6 col-12 rounded-3 \" >\r\n <MessagePanel messages={[]} changeComponent={props.changeComponent} height={\"35vh\"} />\r\n </div>\r\n <div className=\"col-md-6 col-12 border rounded-3 border-secondary\" >\r\n {todo}\r\n </div>\r\n </div>\r\n <div className=\"row mb-3 p-2 p-3\">\r\n <div className=\"col-12 col-md-12\" >\r\n <div className=\"bg-white rounded-3 m-1\"> {appmonthstat}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n {/*<div className=\"modal \" id=\"myModal\" >*/}\r\n {/* <div class=\"modal-dialog modal modal-dialog-scrollable modal-dialog-centered modal-lg \">*/}\r\n {/* <div class=\"modal-content shadow border-2 border-dark\" >*/}\r\n {/* <div class=\"modal-header bg-light\">*/}\r\n {/* <h4 class=\"modal-title\">Bilgi</h4>*/}\r\n\r\n {/* <button type=\"button\" class=\"btn-close\" id=\"upclosemodal\" data-bs-dismiss=\"modal\"></button>*/}\r\n\r\n {/* </div>*/}\r\n {/* <div class=\"modal-body \" id=\"mymodalbody\" >*/}\r\n\r\n {/* </div>*/}\r\n\r\n\r\n {/* <div class=\"modal-footer bg-light\">*/}\r\n {/* <div className=\"form-check\">*/}\r\n {/* <input className=\"form-check-input\" type=\"checkbox\" name=\"gosterme\" id=\"gosterme\" />*/}\r\n {/* <label className=\"form-check-label\" for=\"gosterme\">*/}\r\n {/* Tekrar Gösterme*/}\r\n {/* </label>*/}\r\n {/* </div>*/}\r\n {/* <button type=\"button\" class=\"btn btn-danger\" id=\"downclosemodal\" data-bs-dismiss=\"modal\">Close</button>*/}\r\n {/* </div>*/}\r\n\r\n {/* </div>*/}\r\n {/* </div>*/}\r\n {/*</div>*/}\r\n </div>\r\n );\r\n}\r\n","export default __webpack_public_path__ + \"static/media/logo2.f102096b.png\";","export default __webpack_public_path__ + \"static/media/logobig.6a564770.jpeg\";","import React, { useState, useEffect } from 'react';\r\nimport { isEmpty, showSuccessMessage, useGlobalState } from '../GlobalState.js';\r\nimport $ from 'jquery';\r\nimport background from \"../Dashboard/loading.gif\";\r\nimport EImzaDetails from '../Eimza/EImzaDetails';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport EImzaList from '../Eimza/EImzaList.js';\r\n\r\nexport default function PDFView(props) {\r\n const [role, setRole] = useGlobalState('role');\r\n const [e, setEimza] = useState(props.Eimza);\r\n const [numPages, setNumPages] = useState(null);\r\n const [draggedObjectList, setDraggedObjectList] = useState({});\r\n\r\n const [pageNumber, setPageNumber] = useState(1);\r\n var zoom = 0;\r\n\r\n if (isEmpty(e.detectedPos) == false)\r\n e.detectedPosObject = JSON.parse(e.detectedPos)\r\n\r\n useEffect(() => {\r\n placeObjectsOnPic();\r\n }, [])\r\n\r\n\r\n const updateWidthHeight = (id) => {\r\n var obj = document.getElementById(id);\r\n if (obj == null)\r\n return;\r\n\r\n var border = Math.abs(obj.clientWidth - obj.offsetWidth);\r\n\r\n if (id.startsWith(\"DGID\")) {\r\n var myid = id.substring(4);\r\n var textobj = e.detectedPosObject.find(x => x.text == myid);\r\n if (textobj != null) {\r\n textobj.width = obj.clientWidth + border;\r\n textobj.height = obj.clientHeight + (2 * border)\r\n }\r\n return;\r\n }\r\n\r\n\r\n if (draggedObjectList[id] != null) {\r\n draggedObjectList[id].width = obj.clientWidth + border;\r\n draggedObjectList[id].height = obj.clientHeight + (2 * border)\r\n }\r\n }\r\n\r\n\r\n\r\n const submitEimzaVisualSetting = () => {\r\n updateWidthHeight(\"DGformaltext\")\r\n updateWidthHeight(\"DGqrcode\")\r\n updateWidthHeight(\"DGID#ruhsatno\")\r\n updateWidthHeight(\"DGID#kot\")\r\n updateWidthHeight(\"DGID#fikra\")\r\n updateWidthHeight(\"DGID#bend\")\r\n updateWidthHeight(\"DGID#madde\")\r\n\r\n\r\n fetch(\"submitEimzaVisualSetting\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({ \"eimzaid\": e.id, \"zoom\": zoom, \"draggedObjectList\": draggedObjectList, detectedPosObject: e.detectedPosObject })\r\n\r\n }).then(async response => {\r\n if (!response.ok) {\r\n // ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n if (props.source == \"NEW_TASK\") {\r\n props.setActivePanel(<EImzaList appData={props.appData} setActivePanel={props.setActivePanel} changeComponent={props.changeComponent}/>)\r\n showSuccessMessage(\"YerleÅŸtirme iÅŸlemi tamamlandı. Sayfanın altında bulunan alanda imza sürecini baÅŸlatarak evrakınızı imzalayabilirsiniz.\");\r\n return;\r\n }\r\n setDraggedObjectList({ ...draggedObjectList })\r\n setEimza(data);\r\n showSuccessMessage(\"YerleÅŸtirme baÅŸarıyla tamamlandı\");\r\n });\r\n\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n const drag = (event) => {\r\n var id = event.target.id;\r\n var rect = event.target.getBoundingClientRect();\r\n var grabX = event.clientX - rect.left;\r\n var grabY = event.clientY - rect.top;\r\n\r\n\r\n event.dataTransfer.setData(\"text\", id);\r\n event.dataTransfer.setData(\"grabX\", grabX);\r\n event.dataTransfer.setData(\"grabY\", grabY);\r\n }\r\n const allowDrop = (event) => {\r\n event.preventDefault();\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n const drop = (event) => {\r\n event.preventDefault();\r\n var dragid = event.dataTransfer.getData(\"text\");\r\n if (dragid == null || dragid.startsWith(\"DG\") == false)\r\n return;\r\n\r\n var grabX = event.dataTransfer.getData(\"grabX\");\r\n var grabY = event.dataTransfer.getData(\"grabY\");\r\n\r\n\r\n var DraggedObject = document.getElementById(dragid);\r\n var div = DraggedObject.parentElement;\r\n var droppableArea = document.getElementById(\"pdfimage\");\r\n var droppableDiv = droppableArea.parentElement;\r\n\r\n\r\n var activepaneldiv = document.getElementById(\"activepaneldiv\");;\r\n var scleft = activepaneldiv.scrollLeft + droppableDiv.scrollLeft;\r\n var sctop = activepaneldiv.scrollTop + droppableDiv.scrollTop;\r\n\r\n\r\n\r\n div.style.position = \"absolute\";\r\n\r\n var dragWidth = DraggedObject.clientWidth\r\n var dragHeight = DraggedObject.clientHeight\r\n\r\n\r\n\r\n var x = event.clientX - droppableDiv.offsetLeft - grabX + scleft;\r\n var y = event.clientY - droppableDiv.offsetTop - grabY + sctop;\r\n if (x < 0) x = 0;\r\n if (y < 0) y = 0;\r\n //if (x > droppableDiv.clientWidth - dragWidth)\r\n // x = droppableDiv.clientWidth - dragWidth;\r\n //if (y > droppableDiv.clientWidth - dragWidth)\r\n // y = droppableDiv.clientWidth - dragHeight;\r\n\r\n\r\n div.style.left = x + \"px\";\r\n div.style.top = y + \"px\";\r\n div.style.zIndex = 2;\r\n var fontsize = document.getElementById(\"fontsize\").value;\r\n droppableDiv.appendChild(div);\r\n if (dragid.startsWith(\"DGID\")) {\r\n var id = dragid.substring(4);\r\n if (e.detectedPosObject == null)\r\n e.detectedPosObject = [];\r\n\r\n var obj = e.detectedPosObject.find(x => x.text == id)\r\n if (obj != null) {\r\n obj.x = x;\r\n obj.y = y;\r\n obj.width = dragWidth;\r\n obj.height = dragHeight;\r\n obj.font = fontsize;\r\n }\r\n else {\r\n e.detectedPosObject.push({ text: id, x: x, y: y, width: dragWidth, height: dragHeight, font: fontsize });\r\n }\r\n }\r\n else\r\n draggedObjectList[dragid] = { x: x, y: y, width: dragWidth, height: dragHeight, font: fontsize };\r\n\r\n }\r\n\r\n const dragleave = (event) => {\r\n event.preventDefault();\r\n\r\n }\r\n const enter = (event) => {\r\n event.preventDefault();\r\n\r\n }\r\n\r\n\r\n const zoomin = () => {\r\n var myImg = document.getElementById(\"pdfimage\");\r\n var currWidth = myImg.clientWidth;\r\n zoom += 1;\r\n myImg.style.width = (currWidth + 5000) + \"px\";\r\n\r\n }\r\n\r\n const zoomout = () => {\r\n var myImg = document.getElementById(\"pdfimage\");\r\n var currWidth = myImg.clientWidth;\r\n if (zoom == 0) return false;\r\n else {\r\n myImg.style.width = (currWidth - 5000) + \"px\";\r\n zoom -= 1;\r\n }\r\n }\r\n\r\n\r\n const updateBoxfont = (id, fontsize, source) => {\r\n var item = document.getElementById(id);\r\n if (item != null) {\r\n item.style.fontSize = fontsize + \"px\";\r\n if (id.startsWith(\"DGID\"))\r\n id = id.substring(4);\r\n\r\n if (source != null && source[id] != null) {\r\n source[id].font = fontsize;\r\n }\r\n if (e.detectedPosObject != null) {\r\n var obj = e.detectedPosObject.find(x => x.text == id)\r\n if (obj != null)\r\n obj.font = fontsize;\r\n }\r\n }\r\n }\r\n\r\n const updatefont = () => {\r\n var fontsize = document.getElementById(\"fontsize\").value;\r\n updateBoxfont(\"DGformaltext\", fontsize, draggedObjectList);\r\n updateBoxfont(\"DGID#tarih\", fontsize, null);\r\n updateBoxfont(\"DGID#ruhsatno\", fontsize, null);\r\n updateBoxfont(\"DGID#kot\", fontsize, null);\r\n updateBoxfont(\"DGID#fikra\", fontsize, null);\r\n updateBoxfont(\"DGID#bend\", fontsize, null);\r\n updateBoxfont(\"DGID#madde\", fontsize, null);\r\n\r\n }\r\n\r\n\r\n const hasloc = (data, text) => {\r\n if (data.detectedPosObject == null) return false\r\n var list = data.detectedPosObject.filter(x => x.text == text);\r\n if (list.length > 0) {\r\n return true\r\n }\r\n return false;\r\n }\r\n\r\n const getUnwknownItems = () => {\r\n var paftaRuhsatOnayKod = <></>;\r\n var paftaRuhsatTarih = <></>;\r\n var kot = <></>;\r\n var fikra = <></>;\r\n var bend = <></>;\r\n var madde = <></>;\r\n var boxWidth = \"100%\"\r\n if (isEmpty(e.paftaRuhsatOnayKod) == false) {\r\n paftaRuhsatOnayKod = <div className=\"col-1\" style={{ \"background-color\": \"white\" }}>\r\n <div style={{ minHeight: \"20px\", \"background-color\": \"white\" }}>\r\n <div id={\"DGID#ruhsatno\"} className=\"border border-warning border-3\" draggable=\"true\" onDragStart={drag} onDragOver={allowDrop} onDrop={drop} onDragEnter={enter} onDragLeave={dragleave} style={{ width: boxWidth, height: \"30px\", \"z-index\": 2, resize: \"both\", overflow: \"hidden\", fontSize: \"10px\", \"background-color\": \"transparent\" }}>\r\n <div className=\"text-danger\" style={{ \"background-color\": \"transparent\" }}> {e.paftaRuhsatOnayKod} </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n if (isEmpty(e.paftaRuhsatTarih) == false) {\r\n paftaRuhsatTarih = <div className=\"col-1\" style={{ \"background-color\": \"white\" }}>\r\n <div style={{ minHeight: \"20px\", \"background-color\": \"white\" }}>\r\n <div id={\"DGID#tarih\"} className=\"border border-warning border-3\" draggable=\"true\" onDragStart={drag} onDragOver={allowDrop} onDrop={drop} onDragEnter={enter} onDragLeave={dragleave} style={{ width: boxWidth, height: \"30px\", \"z-index\": 2, resize: \"both\", overflow: \"hidden\", fontSize: \"10px\", \"background-color\": \"transparent\" }}>\r\n <div className=\"text-danger\" style={{ \"background-color\": \"transparent\" }}> {e.paftaRuhsatTarih} </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n if (isEmpty(e.kot) == false) {\r\n kot = <div className=\"col-1\" style={{ \"background-color\": \"white\" }}>\r\n <div style={{ minHeight: \"20px\", \"background-color\": \"white\" }}>\r\n <div id={\"DGID#kot\"} className=\"border border-warning border-3\" draggable=\"true\" onDragStart={drag} onDragOver={allowDrop} onDrop={drop} onDragEnter={enter} onDragLeave={dragleave} style={{ width: boxWidth, height: \"30px\", \"z-index\": 2, resize: \"both\", overflow: \"hidden\", fontSize: \"10px\", \"background-color\": \"transparent\" }}>\r\n <div className=\"text-danger\" style={{ \"background-color\": \"transparent\" }}> {e.kot} </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n if (isEmpty(e.fikra) == false) {\r\n fikra = <div className=\"col-1\" style={{ \"background-color\": \"white\" }}>\r\n <div style={{ minHeight: \"20px\", \"background-color\": \"white\" }}>\r\n <div id={\"DGID#fikra\"} className=\"border border-warning border-3\" draggable=\"true\" onDragStart={drag} onDragOver={allowDrop} onDrop={drop} onDragEnter={enter} onDragLeave={dragleave} style={{ width: boxWidth, height: \"30px\", \"z-index\": 2, resize: \"both\", overflow: \"hidden\", fontSize: \"10px\", \"background-color\": \"transparent\" }}>\r\n <div className=\"text-danger\" style={{ \"background-color\": \"transparent\" }}> {e.fikra} </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n if (isEmpty(e.bend) == false) {\r\n bend = <div className=\"col-1\" style={{ \"background-color\": \"white\" }}>\r\n <div style={{ minHeight: \"20px\", \"background-color\": \"white\" }}>\r\n <div id={\"DGID#bend\"} className=\"border border-warning border-3\" draggable=\"true\" onDragStart={drag} onDragOver={allowDrop} onDrop={drop} onDragEnter={enter} onDragLeave={dragleave} style={{ width: boxWidth, height: \"30px\", \"z-index\": 2, resize: \"both\", overflow: \"hidden\", fontSize: \"10px\", \"background-color\": \"transparent\" }}>\r\n <div className=\"text-danger\" style={{ \"background-color\": \"transparent\" }}> {e.bend} </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n if (isEmpty(e.madde) == false) {\r\n madde = <div className=\"col-1\" style={{ \"background-color\": \"white\" }}>\r\n <div style={{ minHeight: \"20px\", \"background-color\": \"white\" }}>\r\n <div id={\"DGID#madde\"} className=\"border border-warning border-3\" draggable=\"true\" onDragStart={drag} onDragOver={allowDrop} onDrop={drop} onDragEnter={enter} onDragLeave={dragleave} style={{ width: boxWidth, height: \"30px\", \"z-index\": 2, resize: \"both\", overflow: \"hidden\", fontSize: \"10px\", \"background-color\": \"transparent\" }}>\r\n <div className=\"text-danger\" style={{ \"background-color\": \"transparent\" }}> {e.madde} </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n\r\n return <div className=\"row border-bottom mb-2 pb-2 \" id=\"unknownlocitems\" >\r\n {paftaRuhsatOnayKod}\r\n {paftaRuhsatTarih}\r\n {kot}\r\n {fikra}\r\n {bend}\r\n {madde}\r\n </div>\r\n }\r\n\r\n\r\n\r\n const placeObjectsOnPic = () => {\r\n if (isEmpty(e.detectedPos) == true)\r\n return;\r\n\r\n var detectedPos = JSON.parse(e.detectedPos);\r\n for (var rec of detectedPos) {\r\n var value = \"unkown\"\r\n if (rec.text == \"#tarih\") {\r\n value = e.paftaRuhsatTarih;\r\n }\r\n if (rec.text == \"#ruhsatno\") {\r\n value = e.paftaRuhsatOnayKod;\r\n }\r\n if (rec.text == \"#kot\") {\r\n value = e.kot;\r\n }\r\n if (rec.text == \"#fikra\") {\r\n value = e.fikra;\r\n }\r\n if (rec.text == \"#bend\") {\r\n value = e.bend;\r\n }\r\n if (rec.text == \"#madde\") {\r\n value = e.madde;\r\n }\r\n var xloc = rec.x;// * PNG_PDF_RATIO;\r\n var yloc = rec.y;// * PNG_PDF_RATIO;\r\n\r\n var div = document.createElement('div');\r\n div.innerHTML = value;\r\n div.classList.add(\"border\");\r\n div.classList.add(\"border-warning\");\r\n div.classList.add(\"border-3\");\r\n div.classList.add(\"text-danger\");\r\n div.id = \"DGID\" + rec.text\r\n div.draggable = true\r\n div.addEventListener('dragenter', enter);\r\n div.addEventListener('dragover', allowDrop);\r\n div.addEventListener('dragleave', dragleave);\r\n div.addEventListener('dragstart', drag);\r\n div.addEventListener('drop', drop);\r\n div.style.resize = \"both\";\r\n div.style.overflow = \"hidden\";\r\n div.style[\"background-color\"] = \"transparent\";\r\n\r\n\r\n\r\n var droppableArea = document.getElementById(\"pdfimage\");\r\n var droppableDiv = droppableArea.parentElement;\r\n\r\n\r\n var div0 = document.createElement('div');\r\n\r\n div0.style.left = xloc + \"px\";\r\n div0.style.top = yloc + \"px\";\r\n div0.style.width = rec.width + \"px\";\r\n div0.style.height = rec.height + \"px\";\r\n div0.style.zIndex = 2;\r\n div0.style.position = \"absolute\";\r\n\r\n \r\n\r\n div0.appendChild(div);\r\n droppableDiv.appendChild(div0);\r\n\r\n\r\n\r\n\r\n\r\n\r\n //fontsize = 8 * PNG_PDF_RATIO;\r\n //if (rec.font != null)\r\n // fontsize = rec.font * PNG_PDF_RATIO;\r\n //textwidth = rec.width * PNG_PDF_RATIO;\r\n // float height = rec.height * PNG_PDF_RATIO;\r\n //getRotationMargin(rotation, textwidth, height, 0, pageWidth, pageHeight, ref xloc, ref yloc);\r\n\r\n }\r\n\r\n\r\n /*\r\n var paftaRuhsatOnayKod = <></>;\r\n var paftaRuhsatTarih = <></>;\r\n var kot = <></>;\r\n var fikra = <></>;\r\n var bend = <></>;\r\n var madde = <></>;\r\n var boxWidth = \"100%\"\r\n if (isEmpty(e.paftaRuhsatOnayKod) == false) {\r\n paftaRuhsatOnayKod = <div className=\"col-1\" style={{ \"background-color\": \"white\" }}>\r\n <div style={{ minHeight: \"20px\", \"background-color\": \"white\" }}>\r\n <div id={\"DGID#ruhsatno\"} className=\"border border-warning border-3\" draggable=\"true\" onDragStart={drag} onDragOver={allowDrop} onDrop={drop} onDragEnter={enter} onDragLeave={dragleave} style={{ width: boxWidth, height: \"30px\", \"z-index\": 2, resize: \"both\", overflow: \"hidden\", fontSize: \"10px\", \"background-color\": \"transparent\" }}>\r\n <div className=\"text-danger\" style={{ \"background-color\": \"transparent\" }}> {e.paftaRuhsatOnayKod} </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n if (isEmpty(e.paftaRuhsatTarih) == false) {\r\n paftaRuhsatTarih = <div className=\"col-1\" style={{ \"background-color\": \"white\" }}>\r\n <div style={{ minHeight: \"20px\", \"background-color\": \"white\" }}>\r\n <div id={\"DGID#tarih\"} className=\"border border-warning border-3\" draggable=\"true\" onDragStart={drag} onDragOver={allowDrop} onDrop={drop} onDragEnter={enter} onDragLeave={dragleave} style={{ width: boxWidth, height: \"30px\", \"z-index\": 2, resize: \"both\", overflow: \"hidden\", fontSize: \"10px\", \"background-color\": \"transparent\" }}>\r\n <div className=\"text-danger\" style={{ \"background-color\": \"transparent\" }}> {e.paftaRuhsatTarih} </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n if (isEmpty(e.kot) == false) {\r\n kot = <div className=\"col-1\" style={{ \"background-color\": \"white\" }}>\r\n <div style={{ minHeight: \"20px\", \"background-color\": \"white\" }}>\r\n <div id={\"DGID#kot\"} className=\"border border-warning border-3\" draggable=\"true\" onDragStart={drag} onDragOver={allowDrop} onDrop={drop} onDragEnter={enter} onDragLeave={dragleave} style={{ width: boxWidth, height: \"30px\", \"z-index\": 2, resize: \"both\", overflow: \"hidden\", fontSize: \"10px\", \"background-color\": \"transparent\" }}>\r\n <div className=\"text-danger\" style={{ \"background-color\": \"transparent\" }}> {e.kot} </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n if (isEmpty(e.fikra) == false) {\r\n fikra = <div className=\"col-1\" style={{ \"background-color\": \"white\" }}>\r\n <div style={{ minHeight: \"20px\", \"background-color\": \"white\" }}>\r\n <div id={\"DGID#fikra\"} className=\"border border-warning border-3\" draggable=\"true\" onDragStart={drag} onDragOver={allowDrop} onDrop={drop} onDragEnter={enter} onDragLeave={dragleave} style={{ width: boxWidth, height: \"30px\", \"z-index\": 2, resize: \"both\", overflow: \"hidden\", fontSize: \"10px\", \"background-color\": \"transparent\" }}>\r\n <div className=\"text-danger\" style={{ \"background-color\": \"transparent\" }}> {e.fikra} </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n if (isEmpty(e.bend) == false) {\r\n bend = <div className=\"col-1\" style={{ \"background-color\": \"white\" }}>\r\n <div style={{ minHeight: \"20px\", \"background-color\": \"white\" }}>\r\n <div id={\"DGID#bend\"} className=\"border border-warning border-3\" draggable=\"true\" onDragStart={drag} onDragOver={allowDrop} onDrop={drop} onDragEnter={enter} onDragLeave={dragleave} style={{ width: boxWidth, height: \"30px\", \"z-index\": 2, resize: \"both\", overflow: \"hidden\", fontSize: \"10px\", \"background-color\": \"transparent\" }}>\r\n <div className=\"text-danger\" style={{ \"background-color\": \"transparent\" }}> {e.bend} </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n if (isEmpty(e.madde) == false) {\r\n madde = <div className=\"col-1\" style={{ \"background-color\": \"white\" }}>\r\n <div style={{ minHeight: \"20px\", \"background-color\": \"white\" }}>\r\n <div id={\"DGID#madde\"} className=\"border border-warning border-3\" draggable=\"true\" onDragStart={drag} onDragOver={allowDrop} onDrop={drop} onDragEnter={enter} onDragLeave={dragleave} style={{ width: boxWidth, height: \"30px\", \"z-index\": 2, resize: \"both\", overflow: \"hidden\", fontSize: \"10px\", \"background-color\": \"transparent\" }}>\r\n <div className=\"text-danger\" style={{ \"background-color\": \"transparent\" }}> {e.madde} </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n\r\n return <div className=\"row border-bottom mb-2 pb-2 \" id=\"unknownlocitems\" >\r\n {paftaRuhsatOnayKod}\r\n {paftaRuhsatTarih}\r\n {kot}\r\n {fikra}\r\n {bend}\r\n {madde}\r\n </div>*/\r\n }\r\n\r\n\r\n if (props.source == \"NEW_TASK\") {\r\n window.Swal.fire({\r\n title: \"Lütfen QR Kod ve Kırmızı renkli yasal metni, evrakın görmek istediÄŸiniz yerine sürükleyerek taşıyınız.\", confirmButtonText: \"Tamam\", confirmButtonColor: \"#0d6efd\",\r\n icon: 'warning',\r\n }).then((result) => {\r\n })\r\n\r\n }\r\n return (\r\n <div key={pageNumber} >\r\n {props.source == \"NEW_TASK\" && <div className=\"row mb-1\" >\r\n <div className=\"col-12 text-center fw-bold text-danger\">\r\n <h5 className=\"fw-bold\">YüklediÄŸiniz dosyada yasal yazı ve QR kod konumu tespit edilemedi.Lütfen QR Kod ve Kırmızı renkli yasal metni, evrakın görmek istediÄŸiniz yerine sürükleyerek taşıyınız.</h5>\r\n </div>\r\n </div>}\r\n\r\n\r\n {props.source == \"DETAL_UPDATE\" && <div className=\"row mb-1\" >\r\n <div className=\"col-12 text-center fw-bold text-warning\">\r\n AÅŸağıdaki maddelerin konumunu belirtiniz.\r\n </div>\r\n </div>}\r\n\r\n\r\n <div className=\"row mb-1\" >\r\n <div className=\"col-3\">\r\n <h6 className=\"text-primary p-0 m-0\">PDF Ayarları</h6 >\r\n </div>\r\n <div className=\"col-6 text-center text-info\">\r\n E-Ä°mza ID: {e.id}\r\n </div>\r\n <div className=\"col-3 text-end\">\r\n {isEmpty(e.imzatarih) == false && <a className=\"text-decoration-none align-middle me-2\" href={'getimzalidosya?eimzaid=' + e.id} download=\"eimza.pdf\"><i className=\"fa fa-cloud-download\" style={{ \"font-size\": \"20px\" }}></i> </a>}\r\n {role.indexOf(UserPermConstants.Imzaya_Açma) > -1 && <a className=\"text-decoration-none btn btn-link border-0 p-0 me-2\" onClick={() => props.setActivePanel(<EImzaDetails eimza={e} setActivePanel={props.setActivePanel} appData={props.appData} />)}> <i class=\"fa fa-cog\" aria-hidden=\"true\"></i></a>}\r\n\r\n <button className=\"btn btn-sm btn-link text-decoration-none p-0 me-1\" type=\"button\" onClick={() => props.setActivePanel(<EImzaList appData={props.appData} setActivePanel={props.setActivePanel} changeComponent={props.changeComponent}/>)} title=\"kapat\"> <i class=\"fa fa-close\" style={{ \"font-size\": \"18px\" }}></i></button>\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row mb-2\" id=\"mainrow\">\r\n {/*<div className=\"col-1\">*/}\r\n\r\n {/* */}{/*<button className=\"btn btn-sm btn-primary me-1\" type=\"button\" onClick={zoomin}> <i class=\"fa fa-search-plus\"></i></button>*/}\r\n {/* */}{/*<button className=\"btn btn-sm btn-primary me-1\" type=\"button\" onClick={zoomout}> <i class=\"fa fa-search-minus\"></i></button>*/}\r\n\r\n {/*</div>*/}\r\n\r\n <div className=\"col-2\">\r\n <div class=\"form-group\">\r\n <label for=\"email\">Metin Boyutu:</label>\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"fontsize\" defaultValue={10} placeholder=\"Font\" name=\"fontsize\" onChange={updatefont} />\r\n\r\n </div>\r\n </div>\r\n <div className=\"col-1\">\r\n </div>\r\n <div className=\"col-6 text-info text-center\">\r\n Kutucukları sürükleyerek belgede ilgili alana bırakın.\r\n </div>\r\n\r\n <div className=\"col-3 text-end\">\r\n <button className=\"btn btn-sm btn-primary me-1\" type=\"button\" onClick={() => setPageNumber(pageNumber + 1)}> Sıfırla</button>\r\n\r\n <button className=\"btn btn-sm btn-primary me-1\" type=\"button\" onClick={submitEimzaVisualSetting}> Uygula</button>\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n\r\n {props.source != \"DETAL_UPDATE\" ? <div className=\"row border-bottom mb-2 pb-2\" >\r\n <div className=\"col-1\">\r\n <div style={{ minHeight: \"50px\" }} >\r\n <div className=\"border border-warning border-3 p-0\" draggable=\"true\" onDragStart={drag} onDragOver={allowDrop} onDrop={drop} onDragEnter={enter} onDragLeave={dragleave} style={{ width: \"auto\", height: \"50px\", \"z-index\": 2, resize: \"both\", overflow: \"hidden\", \"aspect-ratio\": \"1/1\" }}>\r\n <img id=\"DGqrcode\" className=\"p-0\" src={require('../Dashboard/qr.png').default} style={{ width: \"100%\", height: \"100%;auto\", \"z-index\": 2, resize: \"both\", overflow: \"auto\", \"aspect-ratio\": \"1/1\" }} />\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"col-5\" style={{ \"background-color\": \"transparent\" }}>\r\n <div style={{ minHeight: \"50px\", \"background-color\": \"transparent\" }}>\r\n <div id=\"DGformaltext\" className=\"border border-warning border-3\" draggable=\"true\" onDragStart={drag} onDragOver={allowDrop} onDrop={drop} onDragEnter={enter} onDragLeave={dragleave} style={{ width: \"300px\", height: \"50px\", \"z-index\": 2, resize: \"both\", overflow: \"hidden\", fontSize: \"10px\", \"background-color\": \"transparent\" }}>\r\n <div className=\"text-danger\" style={{ \"background-color\": \"transparent\" }}> {/*<i class=\"fa fa-arrows text-secondary\" ></i>*/} Bu belge, güvenli elektronik imza ile imzalanmıştır. DoÄŸrulama Kodu: 2409c458dee211edb5ea0242ac120002 DoÄŸrulama: https://www.belediye.bel.tr/eimzadogrulama</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div> : getUnwknownItems()}\r\n\r\n\r\n\r\n\r\n\r\n\r\n <div id=\"pdfimagediv\" style={{\r\n backgroundImage: `url(${background})`, backgroundRepeat: \"no-repeat\", backgroundSize: \"50px 50px\", backgroundPosition: \"center\", overflow: \"auto\", width: \"100%\", height: \"700px\", \"z-index\": 1, position: \"relative\"\r\n }} onDragOver={allowDrop} onDrop={drop} onDragEnter={enter} onDragLeave={dragleave} >\r\n\r\n <img id=\"pdfimage\" src={\"/getdosyaasimage?eimzaid=\" + e.id} style={{ Width: \"100%\", Height: \"100%\", objectFit: \"contain\" }} />\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { Component, useEffect, useState } from 'react';\r\nimport { logout, ajaxFail } from '../GlobalState.js';\r\n\r\nexport default function UserLabel(props) {\r\n const [myuser, setUser] = useState(props.user);\r\n\r\n var size = props.picSize != null ? props.picSize : 32;\r\n\r\n size=size+\"px\"\r\n useEffect(() => {\r\n if (myuser.family == null)\r\n getuserinfo();\r\n }, [])\r\n\r\n const getuserinfo = () => {\r\n\r\n fetch(\"getuserpublcinfo\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(props.user.userName)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(async data => {\r\n if (data != null && data.length > 0) {\r\n data = JSON.parse(data);\r\n setUser(data);\r\n if (props.setNameFamily) {\r\n props.setNameFamily(data)\r\n }\r\n }\r\n\r\n });\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n\r\n\r\n return <span >\r\n {/* < img className=\"rounded-circle\" style={{ width: size, height: size }} src={\"/getuserpic?user=\" + props.user.userName} /> */}\r\n {myuser.name} {myuser.family} {props.showUserName == true ? \"(\"+props.user.userName+\")\":\"\"}\r\n </span>\r\n\r\n\r\n}\r\n\r\n\r\n\r\n","import React, { useEffect } from 'react';\r\n\r\nimport { BrowserRouter as Router, Route, Routes, Navigate } from \"react-router-dom\";\r\nimport Register from \"./User/Register.js\";\r\nimport Login from \"./User/Login.js\";\r\n\r\nimport ApplicationListCardView from \"./Application/ApplicationListCardView.js\";\r\n\r\nimport Application from \"./Application/Application.js\";\r\nimport Dashboard from \"./Dashboard/Dashboard.js\";\r\nimport { useGlobalState } from './GlobalState.js';\r\n\r\nimport Sharing from './Application/Sharing.js';\r\nimport TwoStep from './User/TwoStep..js';\r\n\r\nexport default function App(props) {\r\n const [role, setRole] = useGlobalState('role');\r\n useEffect(() => {\r\n window.process = {\r\n ...window.process,\r\n };\r\n }, []);\r\n\r\n return (\r\n <div >\r\n <Router>\r\n <div className=\"container-fluid\">\r\n {/* {(role == null || role.length == 0) && <Login />}*/}\r\n \r\n\r\n <Routes>\r\n <Route path=\"/register\" element={<Register />} />\r\n <Route path=\"/login\" element={<Login />} />\r\n \r\n <Route path=\"/applicationlistcard\" element={<ApplicationListCardView view={\"card\"} />} />\r\n\r\n \r\n <Route path=\"/application\" element={<Application />} />\r\n \r\n\r\n \r\n <Route path=\"/\" element={<Dashboard />} />\r\n <Route path=\"/Front\" element={<Navigate to=\"/\" />} />\r\n\r\n \r\n \r\n <Route path=\"/appsharing\" element={<Sharing />} />\r\n {/* <Route path=\"/sharedapplicationlist\" element={<SharedApplicationList />} />*/}\r\n\r\n </Routes>\r\n </div>\r\n </Router>\r\n </div>\r\n );\r\n}\r\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\n\r\n\r\n\r\nimport App from './App';\r\nimport reportWebVitals from './reportWebVitals';\r\nimport 'bootstrap/dist/css/bootstrap.min.css'\r\nimport 'bootstrap/dist/js/bootstrap.min.js'\r\nimport './index.css';\r\nReactDOM.render(\r\n <React.StrictMode>\r\n \r\n <App />\r\n \r\n </React.StrictMode>,\r\n document.getElementById('root')\r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n","import React, { useState, useEffect } from 'react';\r\nimport UserLabel from \"../User/UserLabel.js\";\r\nimport { isEmpty, showConfirmMessage, showErrorMessage, useGlobalState } from '../GlobalState.js';\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport Vekalet from './Vekalet.js';\r\nimport $ from 'jquery';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\n\r\nexport default function ApplicationAuthorPanel(props) {\r\n const appData = props.appData\r\n const [userName, setuserName] = useGlobalState('userName');\r\n const waiting = <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n var muelliflist = []\r\n const [tabledata, setTabledata] = useState([]);\r\n const [previousAppAuthors, setPreviousAppAuthors] = useState(null);\r\n const [userTypeList, setUserTypeList] = useState([]);\r\n const [user, setUser] = useState(null);\r\n const colors = [\"text-primary\", \"text-warning\", \"text-success\"]\r\n const [role, setRole] = useGlobalState('role');\r\n const [vekils, setVekils] = useState([]);\r\n\r\n\r\n useEffect(() => {\r\n getvakaletdurums();\r\n fetchPreviousAppsAuthers();\r\n }, [])\r\n\r\n\r\n \r\n const addAuthor = (u, t) => {\r\n if (t == null || t == \"\") {\r\n showErrorMessage(\"Muellif Tipi BoÅŸ olamaz\");\r\n return;\r\n }\r\n if (u == null || u == \"\") {\r\n showErrorMessage(\"Kullanıcı Adı BoÅŸ olamaz\");\r\n return;\r\n }\r\n\r\n fetch(\"addauther\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({\r\n appID: appData.id,\r\n userName: u,\r\n muellifType: t,\r\n ekleyen: appData.securityToken\r\n })\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n if (isEmpty(value) == false) {\r\n value = value.replaceAll('\"', '');\r\n showErrorMessage(value)\r\n }\r\n })\r\n\r\n }\r\n else {\r\n document.getElementById(\"muellifusername\").value = \"\";\r\n\r\n fetchAuthers();\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const getvakaletdurums = () => {\r\n fetch(\"getvakaletdurums\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(appData.id),\r\n }).then(async response => {\r\n\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setVekils(data);\r\n fetchAuthers(data);\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const fetchAuthers = (newlist) => {\r\n fetch(\"appauthorlist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({ \"id\": appData.id, \"secret\": appData.securityToken }),\r\n }).then(async response => {\r\n\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n if (data == null) {\r\n setTabledata([])\r\n return;\r\n }\r\n data = JSON.parse(data)\r\n //the fatch result may receive before page update\r\n var vekiller = vekils;\r\n if (vekils.length == 0 && newlist != null && newlist.length > 0) {\r\n vekiller = newlist;\r\n }\r\n\r\n for (var i = 0; i < data.length; i++) {\r\n data[i].vekil = 0;\r\n var v = vekiller.find(x => x.id == data[i].id);\r\n if (v != null)\r\n data[i].vekil = v.appID + 1;\r\n }\r\n\r\n setTabledata(data)\r\n\r\n\r\n\r\n });\r\n }\r\n });\r\n }\r\n\r\n const fetchPreviousAppsAuthers = () => {\r\n fetch(\"appauthorlist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({ \"id\":-1, \"secret\": \"\" }),\r\n }).then(async response => {\r\n\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n if (data == null) {\r\n setPreviousAppAuthors([])\r\n return;\r\n }\r\n data = JSON.parse(data)\r\n var ulist = data.map(rec => <tr>\r\n <td width=\"30%\">\r\n {rec.name} {rec.family} ({rec.userName})\r\n </td>\r\n <td width=\"30%\"> {rec.muellifType}</td>\r\n <td width=\"30%\">\r\n {rec.gecicimuellif == true ? \"Belge Miadı\" : \"\"} {isEmpty(rec.gecicisure) == false ? \"(\" + rec.gecicisure + \")\" : \"\"}\r\n </td>\r\n <td className=\"text-end\">\r\n <button className=\"btn btn-sm btn-link\" onClick={() => { addAuthor(rec.userName, rec.muellifType) }}> <i className=\"fa fa-plus-circle align-middle\" style={{ \"font-size\": \"18px\" }}></i> </button>\r\n </td></tr>\r\n );\r\n setPreviousAppAuthors(ulist)\r\n });\r\n }\r\n });\r\n }\r\n\r\n const getuser = (myself) => {\r\n\r\n var u = document.getElementById(\"muellifusername\").value;\r\n if (myself != null) {\r\n u = myself;\r\n }\r\n if (u == null || u == \"\") {\r\n showErrorMessage(\"Müellif Kodunu Giriniz\");\r\n return;\r\n }\r\n fetch(\"getuserpublcinfo\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(u)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(user => {\r\n if (user == null || user.length == 0) {\r\n showErrorMessage(\"Müellif Bulunamadı\");\r\n return;\r\n }\r\n var u = JSON.parse(user);\r\n if (u.name == null || u.family == null) {\r\n showErrorMessage(\"Bir hata oluÅŸtur\" + user);\r\n return;\r\n }\r\n if (isEmpty(u.userType)) {\r\n showErrorMessage(\"Müellif türü boÅŸ olamaz\");\r\n return;\r\n\r\n }\r\n\r\n var temp = u.userType.split(\",\")\r\n\r\n\r\n setUser(u);\r\n setUserTypeList(temp);\r\n $('#ModalButton').click();\r\n\r\n\r\n })\r\n\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const removeAuthor = (id) => {\r\n showConfirmMessage(\"Müellifi silmek istediÄŸinizden emin misniz?\", \"\", \"Evet\", \"Hayır\", () => {\r\n fetch(\"removeauther\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({ \"id\": id, \"secret\": appData.securityToken })\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n document.getElementById(\"muellifusername\").value = \"\";\r\n fetchAuthers();\r\n }\r\n });\r\n });\r\n }\r\n\r\n const isVisibleForUser = () => {\r\n try {\r\n if (appData.basvuruYapan == userName)\r\n return true;\r\n if (props.denetimpaenls != null && props.denetimpaenls.some(x => x.userName == userName))\r\n return true;\r\n\r\n if (role.indexOf(UserPermConstants.Havale_Yapma) > -1 || role.indexOf(UserPermConstants.Basvuru_Liste) > -1)\r\n return true;\r\n\r\n\r\n // müellif listesinde varsa dosyayı gostermiyoruz\r\n if (isEmpty(appData.müellifKullanıcıAdı) == false && appData.müellifKullanıcıAdı.includes(userName + \" \"))\r\n return false;\r\n /* if (rec.appId == appData.id || role.indexOf(UserPermConstants.Basvuru_Onaylama) > -1)\r\n return true;\r\n if (appData.relatedApps != null && appData.relatedApps.map(x => x.id).includes(rec.appId) && role.indexOf(UserPermConstants.Ilgili_Basvurulari_Gorme) > -1)\r\n return true;*/\r\n return true;\r\n }\r\n catch (ex) {\r\n console.log(ex);\r\n }\r\n return false;\r\n }\r\n\r\n return (\r\n <div>\r\n <div className=\"row\">\r\n <div className=\"col-12 \">\r\n <h5 className=\"text-primary\">Müellif Listesi </h5>\r\n </div>\r\n <div className=\"col-2 justify-content-end align-items-end text-end \">\r\n {muelliflist.length > 0 && <span className=\"small badge bg-primary rounded-pill me-2\">{muelliflist.length}</span>}\r\n\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n\r\n <div className=\"col-12 col-md-4 mt-2\">\r\n <input type=\"text\" className=\"form-control form-control-sm d-inline-block\" placeholder=\"Müellif Kodu veya TCKN\" name=\"muellifusername\" id=\"muellifusername\" defaultValue=\"\" />\r\n </div>\r\n <div className=\"col-12 col-md-6 mt-2\">\r\n {appData.archived != true ? <>\r\n <button onClick={() => getuser()} className=\"btn btn-primary btn-sm ms-1 d-inline-block\">Müellif Ekle</button>\r\n <button onClick={() => getuser(userName)} className=\"btn btn-primary btn-sm ms-2 d-inline-block\">Kendimi Ekle</button></>\r\n\r\n : <span className=\"text-secondary fw-bold\">ArÅŸivlenen BaÅŸvuruya Müellif Eklenemez</span>}\r\n\r\n\r\n </div>\r\n </div>\r\n <div className=\"row mt-5\">\r\n <div className=\"col-12 text-primary \">\r\n <h6>BaÅŸvuruya Eklenen Müellifler</h6>\r\n </div>\r\n <div className=\"col-12\">\r\n {tabledata != null ? <table className='table table-sm' >\r\n <tbody >\r\n {tabledata.map(rec => <tr title={\"Kayıt No: \" + rec.id} key={rec.id} className=\"p-0 m-0\">\r\n <td width=\"30%\">\r\n {rec.name} {rec.family} ({rec.userName})\r\n </td>\r\n\r\n <td width=\"20%\">\r\n {rec.muellifType}\r\n </td>\r\n <td width=\"30%\">\r\n {rec.gecicimuellif == true ? \"Belge Miadı\" : \"\"} {isEmpty(rec.gecicisure) == false ? \"(\" + rec.gecicisure +\")\" : \"\"}\r\n </td>\r\n <td className=\"text-end\">\r\n <button className={\"btn btn-link text-decoration-none pe-1 \" + colors[rec.vekil]} title=\"Vekalet Bilgisi\" onClick={(e) => { props.setActivePanel(<Vekalet appData={appData} setActivePanel={props.setActivePanel} mapping={rec} />) }} > <i class=\"fa fa-vimeo-square\" aria-hidden=\"true\"></i> </button>\r\n\r\n {isVisibleForUser()&&\r\n <button className=\"btn text-danger btn-link \" onClick={() => { removeAuthor(rec.id) }} disabled={appData.archived == true}>\r\n <i class=\"fa fa-trash\" aria-hidden=\"true\"></i>\r\n </button>}\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table> : waiting}\r\n </div>\r\n </div>\r\n\r\n {appData.archived != true && <div className=\"row mt-5 border-top pt-2\">\r\n <div className=\"col-12 text-success\">\r\n <h6>Önceki BaÅŸvurularınıza EklediÄŸiniz Müellifler</h6>\r\n </div>\r\n <div className=\"col-12\">\r\n {previousAppAuthors != null ? <table className=' table table-sm' aria-labelledby=\"tabelLabel\">\r\n <tbody >\r\n {previousAppAuthors}\r\n </tbody>\r\n </table> : waiting}\r\n </div>\r\n </div>}\r\n\r\n <button type=\"button\" id=\"ModalButton\" class=\"btn btn-primary\" data-bs-toggle=\"modal\" data-bs-target=\"#confirmModal\" hidden>\r\n\r\n </button>\r\n\r\n\r\n <div class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" id=\"confirmModal\">\r\n <div class=\"modal-dialog\" >\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h5 class=\"modal-title\">Müellif Türünü Seçiniz</h5>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div class=\"mb-3\">\r\n {user != null ? user.name.substr(0, 2) + \"*** \" + user.family.substr(0, 2) + \"*** için bir müellif türü seçiniz\" : \"\"}\r\n\r\n </div>\r\n\r\n <select className=\"form-select form-select-sm d-inline-block me-2\" id=\"kullanicitipleri\" name=\"userType\">\r\n {userTypeList.map(u => <option value={u}>{u}</option>)}\r\n\r\n </select>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary\" data-bs-dismiss=\"modal\">Vazgeç</button>\r\n <button type=\"button\" class=\"btn btn-primary\" data-bs-dismiss=\"modal\" onClick={() => { addAuthor(user.userName, document.getElementById(\"kullanicitipleri\").value) }}>Ekle</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div >\r\n );\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import React, { Component } from 'react';\r\nimport AppCard from './AppCard.js';\r\nimport UserAppCard from '../Application/UserAppCard.js';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport { passFilter, removeTurkcLow } from '../GlobalState.js';\r\nimport { ajaxFail, isEmpty } from '../GlobalState.js';\r\n\r\nimport $ from 'jquery';\r\n\r\n\r\nexport default class ApplicationListCardView extends Component {\r\n sortField = \"\";\r\n constructor(props) {\r\n super(props);\r\n this.role = props.role;\r\n this.userName = props.userName;\r\n this.state = {\r\n showgroups: false,\r\n status: \"init\", applist: null, colnames: [\"id\", \"basvuruTarihi\", \"basvuruTipi\", \"ada\", \"mahalle\", \"mevki\", \"mimar\"]\r\n };\r\n this.getApplicationList = this.getApplicationList.bind(this);\r\n \r\n this.getAppGroupList = this.getAppGroupList.bind(this);\r\n this.refreshList = this.refreshList.bind(this);\r\n this.generateGroupList = this.generateGroupList.bind(this);\r\n /*this.renderToCards = this.renderToCards.bind(this);*/\r\n this.getAppTypes = this.getAppTypes.bind(this);\r\n this.fetchDenetimList = this.fetchDenetimList.bind(this);\r\n this.fetchkabullistperm = this.fetchkabullistperm.bind(this);\r\n\r\n this.getSablon = this.getSablon.bind(this)\r\n this.filterTable = this.filterTable.bind(this)\r\n this.handleSablonChange = this.handleSablonChange.bind(this)\r\n this.setDevamStat = this.setDevamStat.bind(this)\r\n this.devamstat = { biten: false, devam: false, bekleyen: false, tumu: false };\r\n\r\n this.filter = null;\r\n this.mysablons = null;\r\n this.changeComponent = props.changeComponent;\r\n this.appGroups = null;\r\n this.kabulPerms = null;\r\n this.appTypes = [];\r\n this.bordercolors = [\"#50cc88\", \"#009cf7\", \"#ffc800\", \"#f1416d\"];\r\n this.handleDenetimChange = this.handleDenetimChange.bind(this);\r\n }\r\n\r\n refreshList(data) {\r\n this.setState({\r\n status: \"init\", applist: data\r\n })\r\n }\r\n componentDidMount() {\r\n this.getSablon();\r\n this.fetchDenetimList();\r\n this.getAppGroupList();\r\n this.getAppTypes();\r\n this.fetchkabullistperm();\r\n }\r\n\r\n myCompare = (a, b) => {\r\n if (a[this.sortField] < b[this.sortField]) {\r\n return -1;\r\n }\r\n if (a[this.sortField] > b[this.sortField]) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n\r\n\r\n setDevamStat = (d) => {\r\n this.devamstat = d;\r\n this.setState({ ...this.state, \"devamstat\": d });\r\n }\r\n\r\n myCompareBasvuruTipi = (a, b) => {\r\n var s1 = a[this.sortField];\r\n var s2 = b[this.sortField];\r\n if (s1 == null) return -1;\r\n if (s2 == null) return 1;\r\n\r\n var sa = s1.replaceAll('\"name\":', \"\").replaceAll(']', \"\").replaceAll('[', \"\").replaceAll('{', \"\").replaceAll('}', \"\").replaceAll('\"', \"\");\r\n var sb = s2.replaceAll('\"name\":', \"\").replaceAll(']', \"\").replaceAll('[', \"\").replaceAll('{', \"\").replaceAll('}', \"\").replaceAll('\"', \"\");\r\n\r\n if (sa < sb) {\r\n return -1;\r\n }\r\n if (sa > sb) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n\r\n sortList = (fildname) => {\r\n this.sortField = fildname;\r\n var temp = this.state.applist;\r\n if (fildname.toUpperCase() == \"BASVURUTIPI\")\r\n temp.sort(this.myCompareBasvuruTipi);\r\n else\r\n temp.sort(this.myCompare);\r\n this.setState({ applist: temp, status: \"done\" });\r\n }\r\n\r\n fetchkabullistperm () {\r\n fetch(\"kabullistpermsnames\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(this.userName)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n this.kabulPerms=value;\r\n })\r\n }\r\n });\r\n }\r\n\r\n getSablon() {\r\n var refreshButton = document.getElementById(\"refreshButton\");\r\n if (refreshButton != null) {\r\n refreshButton.classList.remove(\"fa\", \"fa-refresh\")\r\n refreshButton.classList.add(\"spinner-grow\", \"spinner-grow-sm\")\r\n }\r\n\r\n\r\n fetch(\"getmysablon\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n this.setState({ status: response.statusText })\r\n }\r\n else {\r\n response.json().then(async data => {\r\n data = data.filter(r => r.forTableView == true);\r\n this.mysablons = data;\r\n if (data != null && data.length > 0) {\r\n data = this.mysablons[0];\r\n if (window.localStorage.getItem('sablon') != null && this.mysablons[window.localStorage.getItem('sablon')] != null)\r\n data = this.mysablons[window.localStorage.getItem('sablon')];\r\n if (data.filter != null)\r\n this.filter = data.filter;\r\n if (data.colNames != null && data.colNames.length > 0) {\r\n var d = data.colNames.replaceAll('\"', \"\");\r\n if (d.length > 0)\r\n this.setState({ ...this.state, colnames: d.split(\",\") });\r\n }\r\n }\r\n\r\n\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n getAppGroupList() {\r\n\r\n\r\n fetch(\"getappgrouplist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n this.appGroups = value;\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n getAppTypes() {\r\n\r\n fetch(\"sureclist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n this.appTypes = value;\r\n this.getApplicationList()\r\n })\r\n }\r\n });\r\n }\r\n\r\n fetchDenetimList() {\r\n fetch(\"denetimlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(data => {\r\n\r\n this.denetimlist = data;\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n showApplication(id) {\r\n this.setState({ applist: this.state.applist, status: \"appdetails\", appid: id });\r\n }\r\n\r\n handleSablonChange(sab) {\r\n window.localStorage.setItem('sablon', sab);\r\n var data = this.mysablons[sab];\r\n if (data.filter != null)\r\n this.filter = data.filter;\r\n if (data.colNames != null && data.colNames.length > 0) {\r\n var d = data.colNames.replaceAll('\"', \"\");\r\n if (d.length > 0)\r\n this.setState({ ...this.state, colnames: d.split(\",\") });\r\n }\r\n }\r\n\r\n\r\n appsauthorlist = (applist) => {\r\n var ids = applist.map(x => x.id).join();\r\n fetch(\"appsauthorlist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(ids)\r\n\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n applist.forEach((k) => { k.müellif = \"\" });\r\n data.forEach((k) => { applist.find(x => x.id == k.appID).müellif += k.userName + \"(\" + k.muellifType + \") \" });\r\n this.setState({ applist: applist, status: \"done\" });\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n getcontrollerlist = (applist) => {\r\n var ids = applist.map(x => x.id).join();\r\n fetch(\"getcontrollerlist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(ids)\r\n\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n applist.forEach(x => {\r\n x.tümKontrolorler = \"\"\r\n x.müellif = \"\";\r\n x.muellifCount = 0;\r\n x.totallContolorCount = 0;\r\n x.activeContolorCount = 0;\r\n x.allmuelliflist = \"\";\r\n x.kontrolorNameFamily = \"\"\r\n x.kontrolor = \"\"\r\n });\r\n data = JSON.parse(data)\r\n data.forEach((k) => {\r\n var apprec = applist.find(x => x.id == k.appID);\r\n\r\n if (k.sira == k.activeDenetim) {\r\n if (isEmpty(apprec.kontrolor) == false) {\r\n apprec.kontrolor += \", \";\r\n apprec.kontrolorNameFamily += \", \";\r\n }\r\n apprec.kontrolor += k.userName;\r\n apprec.kontrolorNameFamily += k.Name + \" \" + k.Family;\r\n }\r\n\r\n\r\n if (isEmpty(apprec.tümKontrolorler) == false)\r\n apprec.tümKontrolorler += \", \";\r\n apprec.tümKontrolorler += k.Name + \" \" + k.Family;\r\n\r\n\r\n\r\n\r\n\r\n if (k.userName == this.userName) {\r\n\r\n if (isEmpty(k.Started) && k.duzeltmeDurum != true && k.sira == k.activeDenetim) {\r\n apprec[\"Kontrol Durumu\"] = this.getDurumName(UserPermConstants.Basvuru_Durumu_Kontrol_Sirada_Bekliyor)\r\n }\r\n\r\n if (isEmpty(k.Started) == false && isEmpty(k.Completed) && k.sira == k.activeDenetim) {\r\n apprec[\"Kontrol Durumu\"] = this.getDurumName(UserPermConstants.Basvuru_Durumu_Kontrol_Ediliyor)\r\n }\r\n\r\n if (isEmpty(k.Completed) == false) {\r\n apprec[\"Kontrol Durumu\"] = this.getDurumName(UserPermConstants.Basvuru_Durumu_Kontrol_Tamamlandi)\r\n }\r\n\r\n if (isEmpty(k.Started) && isEmpty(k.duzeltmeIste) == false && k.duzeltmeDurum == true && k.sira == k.activeDenetim) {\r\n apprec[\"Kontrol Durumu\"] = this.getDurumName(UserPermConstants.Basvuru_Durumu_Duzeltme_Bekleniyor)\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n });\r\n this.appsauthorlist(applist);\r\n \r\n\r\n\r\n\r\n });\r\n }\r\n });\r\n }\r\n\r\n getDurumName = (i) => {\r\n var r = this.appTypes.find(element => element.id == i);\r\n if (r == null) return i;\r\n return r.name;\r\n }\r\n\r\n \r\n\r\n\r\n getApplicationList() {\r\n fetch(\"applicationlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n var refreshButton = document.getElementById(\"refreshButton\");\r\n if (refreshButton != null && refreshButton.classList.contains(\"fa-refresh\") == false) {\r\n refreshButton.classList.remove(\"spinner-grow\", \"spinner-grow-sm\")\r\n refreshButton.classList.add(\"fa\", \"fa-refresh\")\r\n }\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n this.setState({ status: response.statusText })\r\n }\r\n else {\r\n response.json().then(async data => {\r\n var notremoved = data.filter(x => x.removed != true).sort((a, b) => {\r\n return a.basvuruTarihi < b.basvuruTarihi ? 1 : -1;\r\n });\r\n this.setState({ applist: notremoved, status: \"done\" });\r\n\r\n this.getcontrollerlist(notremoved);\r\n });\r\n }\r\n });\r\n }\r\n showApplication(id) {\r\n this.setState({ applist: this.state.applist, status: \"appdetails\", appid: id });\r\n }\r\n\r\n filterTable(event) {\r\n const target = event.target;\r\n const value = target.value.toLowerCase();\r\n $(\"#myTable td.align-top div.border\").filter(function () {\r\n var keywords = value.split(\" \");\r\n var t1 = removeTurkcLow($(this).text())\r\n for (let index = 0; index < keywords.length; ++index)\r\n if (t1.indexOf(removeTurkcLow(keywords[index])) == -1)\r\n return $(this).toggle(false);\r\n return $(this).toggle(true);\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n generateGroupList(data) {\r\n var appglist = [];\r\n data = data.filter(apprec => passFilter(apprec, this.filter, this.userName, this.kabulPerms) == true)\r\n if (this.selectedDenetim != null)\r\n data = data.filter(apprec => apprec.basvuruTipi == null || apprec.basvuruTipi.length == 0 || apprec.basvuruTipi == this.selectedDenetim)\r\n\r\n for (var i = 0; i < this.appGroups.length + 1; i++)\r\n appglist.push([]);\r\n for (var i = 0; i < data.length; i++) {\r\n var j = 0;\r\n for (var j = 0; j < this.appGroups.length; j++)\r\n if (this.appGroups[j].appState!=null && this.appGroups[j].appState.length > 0)\r\n if (this.appGroups[j].appState.split(\",\").includes(data[i].basvuruDurumu + \"\"))\r\n break;\r\n appglist[j].push(data[i]);\r\n }\r\n return appglist;\r\n }\r\n\r\n handleDenetimChange() {\r\n this.selectedDenetim = document.getElementById(\"denetimSelect\").value;\r\n if (this.selectedDenetim.trim().length == 0)\r\n this.selectedDenetim = null;\r\n\r\n this.setState({ ...this.state, selectedDenetim: this.selectedDenetim });\r\n }\r\n\r\n\r\n\r\n findRowCount = (sab, tabledata) => {\r\n\r\n var r = tabledata.filter(apprec =>\r\n apprec.removed != true &&\r\n passFilter(apprec, this.mysablons[sab].filter, this.userName, this.kabulPerms) == true && (this.selectedDenetim == null || this.selectedDenetim.appState == undefined || this.selectedDenetim.appState.split(\",\").includes(apprec.basvuruDurumu + \"\")));\r\n return r.length;\r\n }\r\n\r\n renderToGroupCards(tabledata) {\r\n\r\n var selectedSablonIndex = window.localStorage.getItem('sablon');\r\n if (selectedSablonIndex == null)\r\n selectedSablonIndex = 0;\r\n\r\n\r\n var tablegdata = this.generateGroupList(tabledata);\r\n\r\n\r\n\r\n\r\n\r\n\r\n var mytable = <div key={tabledata}>\r\n <div className=\" align-items-center justify-content-center p-1\" >\r\n <div class=\"row rounded-3 ms-2 me-2 p-2 justify-content-left bg-white\">\r\n\r\n <div class=\"col-md-3\">\r\n {this.denetimlist != null ? <select className=\"form-select form-select-sm\" id=\"denetimSelect\" name=\"denetimSelect\" onChange={this.handleDenetimChange}>\r\n <option value=\"\" selected></option> {this.denetimlist.map((s, idx) => <option value={s.name} > {s.name}</option>)}\r\n </select> : \"\"}\r\n </div>\r\n <div class=\"col-md-4\">\r\n <input className=\"form-control form-control-sm\" id=\"myInput\" type=\"text\" placeholder=\"Arama...\" onKeyUp={this.filterTable} />\r\n\r\n </div>\r\n <div className=\"col-5 text-end pt-2\">\r\n <a onClick={() => {\r\n this.getSablon();\r\n this.fetchDenetimList();\r\n this.getAppGroupList();\r\n this.getAppTypes();\r\n }} href=\"#\" className=\"text-primary\"> <i className=\"fa fa-refresh\" id=\"refreshButton\"></i></a>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"p-2\">\r\n <div className=\"overflow-auto w-100 mainpagescroll\" style={{ \"white-space\": \"nowrap\" }}>\r\n {this.mysablons != null ? this.mysablons.map((s, idx) => <button className={\"btn me-2 text-decoration-none border mb-1 mt-1\" + (selectedSablonIndex == idx ? \" btn-primary\" : \" btn-link\")} onClick={() => this.handleSablonChange(idx)}> {s.name} ({this.findRowCount(idx, tabledata)})</button>) : \"\"}\r\n </div>\r\n </div>\r\n\r\n\r\n {/*<div className=\"mt-1 \" style={{ overflow: \"scroll\", width: \"100%\", height: \"80vh\", display: \"block\", \"overflow-x\": \"auto\", \"white-space\": \"nowrap\" }}>*/}\r\n <div className=\"table-responsive mt-1 mainpagescroll\" style={{ \"transform\": \"rotateX(180deg)\" }}>\r\n\r\n <table className=\"table\" id=\"myTable\" style={{ \"transform\": \"rotateX(180deg)\" }}>\r\n <tr className=\"m-0 p-0 text-center\">{this.appGroups.map((grec, idx) =>\r\n <th className=\"m-0 p-0\" style={{ \"width\": \"1%\", \"min-width\": \"17vw\" }}>\r\n <div className=\"border-4 ms-3 me-3 p-1 fw-bold text-dark\" style={{ \"border-bottom\": \"4px solid \" + this.bordercolors[grec.id % 4] }} > {grec.name} ({tablegdata[idx].length})\r\n </div>\r\n\r\n {/* {Object.keys(mevki_statis[idx]).map(mev => <div className=\"text-muted m-0 p-0\"> {(mev==\"null\"|| mev==\"\")?\"Bilinmeyen\":mev} : {mevki_statis[idx][mev]} </div>)}*/}\r\n\r\n\r\n\r\n </th>)}\r\n <th className=\"m-0 p-0\" style={{ \"width\": \"1%\", \"min-width\": \"17vw\" }}>\r\n <div className=\"border-bottom border-4 ms-3 me-3 p-1 border-primary\"> DiÄŸer ({tablegdata[tablegdata.length - 1].length})</div>\r\n {/* {Object.keys(mevki_statis[tablegdata.length - 1]).map(mev => <div className=\"text-muted m-0 p-0\"> {mev == \"null\" ? \"Bilinmeyen\" : mev} : {mevki_statis[tablegdata.length - 1][mev]} </div>)}*/}\r\n\r\n </th>\r\n </tr>\r\n\r\n\r\n <tr className=\"\">\r\n {tablegdata.map(grec =>\r\n <td className=\"align-top\">\r\n {grec.map(apprec => <AppCard appTypes={this.appTypes} apprec={apprec} colnames={this.state.colnames} changeComponent={this.changeComponent} />\r\n )}\r\n </td>\r\n\r\n )} </tr>\r\n </table>\r\n </div>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n render() {\r\n var tabledata = <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" >\r\n <div className=\"spinner-border\" ></div>\r\n </div>\r\n if (this.state.applist != null) {\r\n tabledata = <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n if (this.state.applist.length > 0) {\r\n if (this.appGroups.length > 0 && this.state.showgroups == false && this.kabulPerms!=null) {\r\n tabledata = this.renderToGroupCards(this.state.applist);\r\n }\r\n }\r\n }\r\n\r\n return <div style={{ \"background-color\": \"#f5f8fa\" }}>\r\n {tabledata}\r\n </div>\r\n\r\n\r\n\r\n }\r\n\r\n};\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useGlobalState, logout, showErrorMessage, removeTurkcLow } from '../GlobalState.js';\r\n\r\n\r\n\r\nexport default function NotePanel(props) {\r\n\r\n const [appData, setData] = useState(props.appData);\r\n // const setLastNote = props.appData[1];\r\n const [notes, setNotes] = useState([]);\r\n const [userName, setuserName] = useGlobalState('userName');\r\n var panelid = \"notetable\";\r\n if (props.panelid != null) {\r\n panelid = props.panelid;\r\n }\r\n\r\n var reccount = 0;\r\n\r\n const removeRecord = (id) => {\r\n fetch(\"removeapplicationnotes\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n showErrorMessage(response.statusText)\r\n })\r\n }\r\n else {\r\n response.json().then(value => {\r\n setNotes(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n if (notes.length > 0) {\r\n if (document.getElementById(\"headlastnote\") != null)\r\n document.getElementById(\"headlastnote\").innerHTML = notes[notes.length - 1].note;\r\n }\r\n\r\n const fetchNotes = (e) => {\r\n fetch(\"getapplicationnotes\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: appData.id\r\n }).then(async response => {\r\n if (!response.ok) {\r\n showErrorMessage(response.statusText)\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setNotes(data)\r\n });\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n fetchNotes();\r\n }, [props.appData]) //this is to force chid refresh when parent chnge appdata\r\n\r\n\r\n\r\n const addNot = () => {\r\n fetch(\"addnote\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({ appId: appData.id, note: document.getElementById(panelid + \"not\").value })\r\n }).then(async response => {\r\n if (!response.ok) {\r\n showErrorMessage(response.statusText)\r\n }\r\n else {\r\n document.getElementById(panelid + \"not\").value = \"\";\r\n fetchNotes();\r\n }\r\n });\r\n }\r\n\r\n return (\r\n <div className=\" rounded \">\r\n <div className=\"row\">\r\n <div className=\"col-md-10 col-12\">\r\n <h5 className=\"text-primary\">Notlar </h5>\r\n\r\n </div>\r\n <div className=\"col-md-2 col-12 justify-content-end align-items-end text-end \">\r\n {notes.length > 0 && <span className=\"small badge bg-primary rounded-pill me-2\">{notes.length}</span>}\r\n\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"col-12\">\r\n <div className=\"mb-4\">\r\n\r\n <input type=\"text\" className=\"form-control form-control-sm w-75 d-inline-block\" id={panelid + \"not\"} placeholder=\"Yeni Not\" name=\"not\" defaultValue=\"\" />\r\n <button type=\"button\" onClick={() => addNot()} className=\"btn btn-primary btn-sm ms-2 d-inline-block\">Ekle</button> \r\n\r\n </div>\r\n <table className=' table table-striped border table-sm' aria-labelledby=\"tabelLabel\">\r\n <tbody >\r\n {notes.map(rec => <tr><td width=\"32px\">\r\n <img className=\"rounded-circle\" style={{ 'width': '32px', 'height': '32px' }} src={'/getuserpic?user=' + rec.userName} />\r\n </td>\r\n <td width=\"20%\"> {rec.userName} </td><td> {rec.note}</td><td width=\"25%\"> {rec.sendDate}</td>\r\n\r\n <td width=\"70px\">\r\n <button disabled={removeTurkcLow(rec.userName) != removeTurkcLow(userName)} onClick={() => removeRecord(rec.id)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0 text-muted\"><span className=\"text-decoration-none material-icons align-middle text-danger\" >delete</span></button>\r\n </td>\r\n </tr>\r\n )}\r\n {(appData.iadeEden != null && appData.iadeNedeni != null) && <tr><td width=\"32px\">\r\n <img className=\"rounded-circle\" style={{ 'width': '32px', 'height': '32px' }} src={'/getuserpic?user=' + appData.iadeEden} />\r\n </td>\r\n <td width=\"20%\"> {appData.iadeEden} </td><td> {appData.iadeNedeni}</td><td width=\"25%\"> {appData.iadeTarihi}</td>\r\n\r\n <td width=\"70px\" className=\"text-danger fw-bold\">\r\n Ä°ade Notu\r\n </td>\r\n </tr> }\r\n\r\n\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </div >\r\n );\r\n}\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { isEmpty, showErrorMessage, useGlobalState, sendpost } from '../GlobalState.js';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport Vekalet from '../Application/Vekalet.js';\r\n\r\nimport $ from 'jquery';\r\n\r\nexport default function EImzaTekrar(props) {\r\n var appData = props.appData;\r\n const eimza = props.eimza;\r\n const VizeKontrol = props.VizeKontrol;\r\n const [imzalayanlist, setimzalayanlist] = useState([]);\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const [imzalayabilenler, setImzalayabilenler] = useState([]);\r\n const [vizekontrolValue, setvizekontrolValue] = useState(null);\r\n\r\n const colors = [\"text-warning\", \"text-success\"]\r\n var [showFromAllApps, setShowFromAllApps] = useState(false);\r\n\r\n useEffect(() => {\r\n getimzalayabilenler();\r\n getimzalistesi();\r\n $('#activepaneldiv').animate({ scrollTop: 0 }, 500);\r\n // document.getElementById(\"activepaneldiv\").scrollTo(0, 0)\r\n }, [])\r\n\r\n const getimzalistesi = () => {\r\n // document.getElementById(\"imzalistspin\" + e.id).hidden = false;\r\n fetch(\"imzalayanlist\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(eimza.id + \"\")\r\n }).then(async response => {\r\n // document.getElementById(\"imzalistspin\" + e.id).hidden = true;\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setimzalayanlist(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n \r\n\r\n\r\n const adayEkle = (rec) => {\r\n var imazalayan = rec;\r\n var maxSira = 0;\r\n imzalayanlist.forEach(x => maxSira = Math.max(maxSira, x.sira))\r\n\r\n if (rec.id == null) {\r\n imazalayan = { eimzaid: props.eimza.id + \"\", sira: maxSira + 1, userName: rec.userName, tc: rec.tc, rol: rec.selectedRol, name: rec.Name, family: rec.Family }\r\n if (VizeKontrol != true && imzalayanlist.filter(x => x.userName == rec.userName && x.rol == imazalayan.rol).length > 0) {\r\n showErrorMessage(\"Adayı imza listesinde bulunmaktadır.\");\r\n return;\r\n }\r\n if (VizeKontrol == true && isEmpty(vizekontrolValue)) {\r\n showErrorMessage(\"Vize Kontol Türünü Seçiniz\");\r\n return;\r\n }\r\n if (!isEmpty(vizekontrolValue))\r\n imazalayan.vizeKontrolTur = vizekontrolValue;\r\n\r\n }\r\n \r\n\r\n sendpost(\"imzalayanekle\", imazalayan, \"snipper1\", (response) => {\r\n response.json().then(value => {\r\n setimzalayanlist(value);\r\n })\r\n })\r\n\r\n }\r\n\r\n\r\n const adaySil = (rec) => {\r\n document.getElementById(\"snipper1\").hidden = false;\r\n fetch(\"imzalayancikar\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n document.getElementById(\"snipper1\").hidden = true;\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setimzalayanlist(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const getimzalayabilenler = () => {\r\n fetch(\"imzalaybilenler\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(appData.id)\r\n }).then(async response => {\r\n if (!response.ok) { ajaxFail(response); }\r\n else {\r\n response.json().then(value => {\r\n\r\n setImzalayabilenler(JSON.parse(value));\r\n })\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const adaylar = () => {\r\n imzalayabilenler.forEach(rec => {\r\n rec.selectedRol = rec.Rol;\r\n if (rec.Rol != null && rec.Rol.includes(',')) {\r\n rec.selectedRol = rec.Rol.split(\",\")[0];\r\n }\r\n })\r\n return <div className=\"m-2 p-3 border border-rounded rounded-3 bg-white\" >\r\n <h6>E-Ä°mza Adayları (Eklenebilir KiÅŸiler)</h6>\r\n <div className='' >\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"Kabul\" defaultChecked={false} onChange={(e) => setShowFromAllApps(e.target.checked)} /> Aynı Konuma Yapılan DiÄŸer BaÅŸvuruların da Adaylarını Göster\r\n </div>\r\n\r\n {VizeKontrol == true &&\r\n <div className=\"row mt-3\" >\r\n <div className=\"col-12 col-md-2 \" >\r\n Vize Kontol Türü\r\n </div>\r\n <div className=\"col-12 col-md-10\" >\r\n <div >\r\n <select className=\"form-select form-select-sm selectpicker\" style={{ \"maxWidth\": \"400px\" }} onChange={(e) => { setvizekontrolValue(e.target.value) }} hidden={VizeKontrol != true}>\r\n\r\n <option value=\"\"></option>\r\n <option value=\"Toprak\">Toprak</option>\r\n <option value=\"Zemin aplikasyon\">Zemin aplikasyon</option>\r\n <option value=\"Temel\">Temel</option>\r\n <option value=\"Bodrum\">Bodrum</option>\r\n <option value=\"Subasman\">Subasman</option>\r\n <option value=\"Kat\">Kat</option>\r\n <option value=\"Çatı\">Çatı</option>\r\n <option value=\"Su yalıtımı\">Su yalıtımı</option>\r\n <option value=\"Isı yalıtımı\">Isı yalıtımı</option>\r\n <option value=\"Kanalizasyon\">Kanalizasyon/Fosseptik</option>\r\n <option value=\"Mekanik tesisat\">Mekanik tesisat</option>\r\n <option value=\"Elektrik\">Elektrik/Ä°letiÅŸim tesisatı</option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n </div>}\r\n\r\n\r\n <div className=\"mt-1\">\r\n <div className=\"table-responsive\">\r\n <table className='table mt-3 table-vdstriped' aria-labelledby=\"tabelLabel\">\r\n <thead >\r\n <th className='text-start'> Ä°sim\r\n </th>\r\n <th className='text-start'>\r\n Soyisim\r\n </th >\r\n <th className='text-start'>\r\n TC\r\n </th>\r\n <th className='text-start'>\r\n Rol\r\n </th>\r\n <th className='text-start'>\r\n E-Ä°mza\r\n </th>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {imzalayabilenler.filter(rec => (showFromAllApps == true || rec.appID == appData.id)).map(rec =>\r\n\r\n <tr className=\"p-1\">\r\n <td>\r\n {rec.Name}\r\n </td>\r\n <td>\r\n {rec.Family}\r\n </td>\r\n <td>\r\n {rec.tc}\r\n </td>\r\n <td>\r\n {(rec.Rol != null && rec.Rol.includes(',')) ?\r\n <select className=\"form-select form-select-sm d-inline-block me-2\" onChange={(e) => rec.selectedRol = e.target.value} >\r\n {rec.Rol.split(\",\").map(u => <option value={u}>{u}</option>)}\r\n </select>\r\n : rec.Rol\r\n }\r\n </td>\r\n <td>\r\n {rec.eimza == true ? \"Evet\" : \"Hayır\"}\r\n </td>\r\n <td>\r\n <div style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }} className=\"text-end\">\r\n {rec.vekil != null && rec.mappingID >= 0 && <button className={\"btn btn-link text-decoration-none pe-1 \" + colors[rec.vekil]} title=\"Vekalet Bilgisi\" onClick={(e) => { props.setActivePanel(<Vekalet appData={appData} setActivePanel={props.setActivePanel} mapping={{ id: rec.mappingID, userName: rec.userName, muellifType: rec.Rol }} />) }} > <i class=\"fa fa-vimeo-square\" aria-hidden=\"true\"></i> </button>} \r\n <a hidden={rec.tc == null || rec.tc.length == 0 || rec.eimza != true} href=\"#\" onClick={() => { adayEkle(rec) }} className=\" text-decoration-none text-primary\"><i className=\"fa fa-plus-circle align-middle\" style={{ \"font-size\": \"22px\" }}></i></a>\r\n </div>\r\n </td>\r\n\r\n\r\n {/*<td>*/}\r\n {/* <div style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }}>*/}\r\n {/* <a hidden={rec.tc == null || rec.tc.length == 0 || rec.eimza != true} href=\"#\" onClick={() => { adayEkle(rec) }} className=\" text-decoration-none \"><i className=\"fa fa-plus-circle align-middle\" style={{ \"font-size\": \"22px\" }}></i></a>*/}\r\n {/* </div>*/}\r\n {/*</td>*/}\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </div >\r\n }\r\n\r\n var maxSira = 0;\r\n imzalayanlist.forEach(x => maxSira = Math.max(maxSira, x.sira))\r\n if (imzalayanlist.filter(x => x.sira == maxSira).length > 1)\r\n maxSira++;\r\n var iz2 = imzalayanlist.sort((a, b) => a.sira - b.sira)\r\n\r\n\r\n\r\n return <div className=\"p-0\">\r\n <div className=\"row\">\r\n <div className=\"col-10\">\r\n <h6 className=\"text-primary fw-bold\">{VizeKontrol == true ? \"Vize Kontrolü\" : \"Adayları Güncelle\"} ({props.eimza.id})</h6>\r\n </div >\r\n <div className=\"col-2 text-end\">\r\n <button className=\"btn btn-sm btn-link text-decoration-none p-0 me-1\" type=\"button\" onClick={() => props.setActivePanel(props.source)} title=\"kapat\"> <i class=\"fa fa-close\" style={{ \"font-size\": \"18px\" }}></i></button>\r\n\r\n </div >\r\n </div >\r\n <div className=\"table-responsive m-2 p-3 mt-2 border border-rounded rounded-3 bg-white\">\r\n <div className=\"row\">\r\n <div className=\"col-8\">\r\n <h6>E-Ä°mza Listesi (Seçilen KiÅŸiler)</h6>\r\n </div >\r\n <div className=\"col-4 text-end\">\r\n <span class=\"spinner-border spinner-border-sm\" id=\"snipper1\" hidden></span>\r\n </div >\r\n </div >\r\n\r\n <table className='table mt-3 table-vdstriped p-0' aria-labelledby=\"tabelLabel\">\r\n <tbody id=\"myTable\">\r\n {iz2.map((rec, idx) =>\r\n\r\n <tr className={\"p-1 \" + ((rec.imzatarih != null && rec.imzatarih.length > 0) ? \"text-success fw-bold\" : \"\")}>\r\n <td>\r\n {rec.imzatarih == null && <div>\r\n\r\n <button disabled={rec.sira <= 1} type=\"button\" className=\"btn btn-link p-0 m-0 shadow-none\" onClick={(e) => {\r\n rec.sira--;\r\n\r\n adayEkle(rec)\r\n }} >\r\n <span class=\"material-icons\">\r\n remove_circle\r\n </span>\r\n </button>\r\n <button type=\"button\" className=\"btn btn-link p-0 m-0 shadow-none\" disabled={rec.sira >= maxSira} onClick={(e) => {\r\n rec.sira++;\r\n adayEkle(rec)\r\n }}>\r\n <span class=\"material-icons\">\r\n add_circle\r\n </span>\r\n </button>\r\n\r\n </div>}\r\n </td>\r\n\r\n <td>\r\n {rec.sira}\r\n </td>\r\n <td>\r\n {rec.name}\r\n </td>\r\n <td>\r\n {rec.family}\r\n </td>\r\n <td>\r\n {rec.tc}\r\n </td>\r\n <td>\r\n {rec.rol}\r\n </td>\r\n <td>\r\n {rec.vizeKontrolTur}\r\n </td>\r\n <td>\r\n {rec.imzatarih}\r\n </td>\r\n <td>\r\n {rec.imzatarih == null && <div style={{ \"overflow\": \"hidden\", \"white-space\": \"nowrap\" }}>\r\n <a href=\"#\" onClick={() => { adaySil(rec) }} className=\" text-decoration-none \"><i className=\"fa fa-trash align-middle text-danger\" style={{ \"font-size\": \"20px\" }}></i></a>\r\n </div>}\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n\r\n\r\n <div>{adaylar()}\r\n\r\n </div >\r\n\r\n </div>\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { isEmpty, showErrorMessage } from '../GlobalState';\r\n\r\n\r\nexport default function SharedUsersPanel(props) {\r\n var postdata = {};\r\n const [shareduserList, setSharedUserList] = useState([]);\r\n\r\n var appData = props.appData;\r\n var showCompact = props.showCompact;\r\n\r\n\r\n useEffect(() => {\r\n fetchSharedUsers();\r\n\r\n }, [])\r\n\r\n\r\n\r\n var compactList = shareduserList.map((r, idx) => <img className=\"rounded-circle\" style={{ width: \"32px\", height: \"32px\" }} title={r.userName} src={\"/getuserpic?user=\" + r.userName} />)\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value;\r\n }\r\n\r\n const fetchSharedUsers = () => {\r\n fetch(\"getsharedusers\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(appData)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n showErrorMessage(value)\r\n })\r\n }\r\n else {\r\n response.json().then(value => {\r\n setSharedUserList(value);\r\n })\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n var mytable =\r\n <div className=\"table-responsive mt-2\" >\r\n <table className='table ' aria-labelledby=\"tabelLabel\">\r\n <thead >\r\n <tr>\r\n\r\n <th className=\"text-start\"> Kullanıcı Adı</th>\r\n <th className=\"text-start\"> Yetki</th>\r\n <th className=\"text-start\"> Süre</th>\r\n <th className=\"text-start\"> PaylaÅŸan</th>\r\n <th className=\"text-start\"> PaylaÅŸma Tarihi</th>\r\n <th> </th>\r\n\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n\r\n\r\n {tabledata.map(r =>\r\n <tr key={r.id} >\r\n\r\n <td ><img className=\"rounded-circle\" style={{ width: \"32px\", height: \"32px\" }} src={\"/getuserpic?user=\" + r.userName} /> {r.userName}</td>\r\n <td >{r.sharingType}\r\n </td>\r\n <td >{r.deadline}\r\n </td>\r\n <td>{r.sharedBy}</td>\r\n <td>{r.sharingDate}</td>\r\n <td> <button onClick={() => { Sil(r.id) }} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Sil</button></td>\r\n </tr>\r\n )}\r\n <tr className=\"bg-white\">\r\n <td >\r\n <input type=\"text\" className=\"form-control form-control-sm d-inline-block\" placeholder=\"Kullanıcı Kodu\" name=\"muellifusername\" id=\"usercode\" defaultValue=\"\" />\r\n </td>\r\n <td >\r\n\r\n <div class=\"form-check form-check-inline\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"sharingType\" id=\"goruntule\" value=\"Görüntüleme\" defaultChecked={false}/>\r\n <label class=\"form-check-label\" for=\"inlineRadio1\" >Görüntüleme</label>\r\n </div>\r\n <div class=\"form-check form-check-inline\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"sharingType\" id=\"duzenle\" value=\"Düzenleme\" defaultChecked={false}/>\r\n <label class=\"form-check-label\" for=\"inlineRadio2\">Düzenleme</label>\r\n </div>\r\n </td>\r\n <td >\r\n <input className=\"form-control form-control-sm\" type=\"date\" name=\"deadline\" id=\"deadline\" placeholder=\"YYYY.MM.DD\" />\r\n\r\n </td>\r\n <td > </td>\r\n <td > </td>\r\n <td> <button onClick={addSharing} className=\"btn btn-sm btn-link text-decoration-none m-0 p-0\">Ekle</button></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n const Sil = (id) => {\r\n fetch(\"removesharing\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({ \"id\": id, \"secret\": appData.securityToken })\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n showErrorMessage(response.statusText + \" \" + value)\r\n })\r\n }\r\n else {\r\n fetchSharedUsers();\r\n\r\n }\r\n });\r\n }\r\n\r\n const addSharing = () => {\r\n var sharingType = \"\"\r\n if (document.getElementById(\"goruntule\").checked == true) {\r\n sharingType = \"Görüntüleme\";\r\n }\r\n else if (document.getElementById(\"duzenle\").checked == true) {\r\n sharingType = \"Düzenleme\";\r\n }\r\n else {\r\n showErrorMessage(\"PaylaÅŸtığınız kullanıcının baÅŸvuruyu düzenleme yetkisine(dosya yükleme, silme, imzalama, paylaÅŸma, vb) sahip olmasını istiyorsanız 'Düzenleme' yi seciniz. Hiç bir iÅŸlem yapmadan sadece dosyaları gorebilmesini istiyorsanız 'Görüntüleme' yi seçebilirsiniz.\")\r\n return;\r\n }\r\n\r\n\r\n var deadline = document.getElementById(\"deadline\").value;\r\n if (isEmpty(deadline) == false) {\r\n deadline = deadline.replaceAll(\"-\", \"/\").replaceAll(\".\", \"/\");\r\n }\r\n fetch(\"addsharing\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({ userName: document.getElementById(\"usercode\").value, appId: appData.id, sharingType: sharingType, deadline: deadline, sharedBy: appData.securityToken })\r\n }).then(async response => {\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n showErrorMessage(response.statusText + \" \" + value)\r\n })\r\n }\r\n else {\r\n document.getElementById(\"usercode\").value = null;\r\n document.getElementById(\"deadline\").value = null;\r\n document.getElementById(\"goruntule\").checked = false;\r\n document.getElementById(\"duzenle\").checked = false;\r\n fetchSharedUsers();\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n var listTable = \"\";\r\n if (shareduserList != null) {\r\n listTable = renderTable(shareduserList);\r\n }\r\n else\r\n listTable = renderTable([]);\r\n\r\n\r\n if (showCompact == null) {\r\n compactList = <div className=\"p-1\">\r\n <h5 style={{ color: \"#0098db\" }}>Paylaşılan Kullanıcılar</h5>\r\n {listTable}\r\n </div>\r\n }\r\n else {\r\n compactList = <div > {compactList} </div>\r\n }\r\n return (compactList);\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport { isEmpty, showSuccessMessage, useGlobalState } from '../GlobalState.js';\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport PDFView from '../Application/PDFView';\r\nimport EImzaList from './EImzaList.js';\r\n\r\nexport default function EImzaDetails(props) {\r\n const [e, setEimza] = useState(props.eimza);\r\n const [role, setRole] = useGlobalState('role');\r\n\r\n if (isEmpty(e.detectedPos) == false)\r\n e.detectedPosObject = JSON.parse(e.detectedPos)\r\n\r\n\r\n useEffect(() => {\r\n document.getElementById(\"activepaneldiv\").scrollTo(0, 0)\r\n }, [])\r\n\r\n const getValue = (v) => {\r\n if (isEmpty(v)) return null;\r\n return v;\r\n\r\n }\r\n\r\n\r\n\r\n\r\n const updateeimza = (detectedPos) => {\r\n e.detectedPos = detectedPos;\r\n e.detectedPosObject = null;\r\n fetch(\"updateeimza\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n\r\n },\r\n body: JSON.stringify(e)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setEimza(data);\r\n if (detectedPos == \"UPDATEME\")\r\n return;\r\n\r\n if ((isEmpty(data.paftaRuhsatOnayKod) == false && hasloc(data,\"#ruhsatno\") == false) ||\r\n (isEmpty(data.paftaRuhsatTarih) == false && hasloc(data, \"#tarih\") == false) ||\r\n (isEmpty(data.kot) == false && hasloc(data, \"#kot\") == false) ||\r\n (isEmpty(data.fikra) == false && hasloc(data, \"#fikra\") == false) ||\r\n (isEmpty(data.bend) == false && hasloc(data, \"#bend\") == false) ||\r\n (isEmpty(data.madde) == false && hasloc(data, \"#madde\") == false)\r\n ) {\r\n props.setActivePanel(<PDFView Eimza={e} setActivePanel={props.setActivePanel} source=\"DETAL_UPDATE\" />);\r\n return;\r\n } \r\n\r\n\r\n showSuccessMessage(\"Guncelleme BaÅŸarılı\");\r\n \r\n \r\n \r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n const hasloc = (data,text) => {\r\n if (data.detectedPosObject == null) return false\r\n var list = data.detectedPosObject.filter(x => x.text == text);\r\n if (list.length > 0) {\r\n return true\r\n }\r\n return false;\r\n }\r\n\r\n\r\n const getloc = (text) => {\r\n if (e.detectedPosObject == null) return <span className='text-danger'> Tespit Edilmedi</span>\r\n\r\n\r\n var list = e.detectedPosObject.filter(x => x.text == text);\r\n if (list.length > 0) {\r\n return <span className='text-success'> {list[0].x} , {list[0].y} </span>\r\n }\r\n return <span className='text-danger'> Tespit Edilmedi</span>\r\n }\r\n\r\n return <div >\r\n <div className=\"row mb-1\" >\r\n <div className=\"col-3\">\r\n <h6 className=\"text-primary \">E-Ä°mza Ayarları</h6 >\r\n </div>\r\n <div className=\"col-6 text-center text-info\">\r\n E-Ä°mza ID: {e.id}\r\n </div>\r\n <div className=\"col-3 text-end\">\r\n {isEmpty(e.imzatarih) == false && <a className=\"text-decoration-none align-middle me-2\" href={'getimzalidosya?eimzaid=' + e.id} download=\"eimza.pdf\"><i className=\"fa fa-cloud-download\" style={{ \"font-size\": \"20px\" }}></i> </a>}\r\n {role.indexOf(UserPermConstants.Imzaya_Açma) > -1 && <a className=\"text-decoration-none btn btn-link border-0 p-0 me-2\" onClick={() => props.setActivePanel(<PDFView Eimza={e} setActivePanel={props.setActivePanel} appData={props.appData}/>)} > <i class=\" fa fa-file-pdf-o\" aria-hidden=\"true\"></i></a>}\r\n <button className=\"btn btn-sm btn-link text-decoration-none p-0 me-1\" type=\"button\" onClick={() => props.setActivePanel(<EImzaList appData={props.appData} setActivePanel={props.setActivePanel} />)} title=\"kapat\"> <i class=\"fa fa-close\" style={{ \"font-size\": \"18px\" }}></i></button>\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n\r\n <div class=\"col-12 text-end \">\r\n <button type=\"button\" id=\"uygulabutton\" class=\"btn btn-sm btn-primary\" onClick={() => updateeimza(e.detectedPos)}>Uygula</button>\r\n <div id={\"downloadspinner\"} className=\"spinner-border spinner-border-sm\" hidden>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12 fw-bold text-primary\">\r\n Yasal Yazı Ayarları\r\n </div>\r\n\r\n <div class=\"row mt-1\">\r\n <div class=\"col-2 \">X\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"x_text\" defaultValue={e.x_text} name=\"x_text\" onChange={(ev) => e.x_text = getValue(ev.target.value)} />\r\n </div>\r\n\r\n <div class=\"col-2\">Y\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"y_text\" defaultValue={e.y_text} name=\"y_text\" onChange={(ev) => e.y_text = getValue(ev.target.value)} />\r\n </div>\r\n <div class=\"col-2 \"> Alan Eni\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"w_text\" defaultValue={e.w_text} name=\"w_text\" onChange={(ev) => e.w_text = getValue(ev.target.value)} />\r\n </div>\r\n <div class=\"col-2 \"> Alan Boyu\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"h_text\" defaultValue={e.h_text} name=\"h_text\" onChange={(ev) => e.h_text = getValue(ev.target.value)} />\r\n </div>\r\n\r\n <div class=\"col-2\"> Font\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"font_size\" defaultValue={e.font_size} name=\"y_qr\" onChange={(ev) => e.font_size = getValue(ev.target.value)} />\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"row mt-4\">\r\n <div class=\"col-12 fw-bold text-primary\">\r\n QR Kod Ayarları\r\n </div>\r\n <div class=\"col-2\">X\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"x_qr\" defaultValue={e.x_qr} name=\"x_qr\" onChange={(ev) => e.x_qr = getValue(ev.target.value)} />\r\n </div>\r\n\r\n <div class=\"col-2\">Y\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"y_qr\" defaultValue={e.y_qr} name=\"y_qr\" onChange={(ev) => e.y_qr = getValue(ev.target.value)} />\r\n </div>\r\n\r\n <div class=\"col-2\">Ölçek\r\n <input type=\"number\" className=\"form-control form-control-sm\" id=\"scale_qr\" defaultValue={e.scale_qr} name=\"scale_qr\" onChange={(ev) => e.scale_qr = getValue(ev.target.value)} />\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n <div class=\"row mt-5\">\r\n <div class=\"col-12 fw-bold text-primary\">\r\n Yapı Kullanma Numaraları ve DeÄŸerleri\r\n </div>\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"col-3 \">\r\n 10. Belgenin onay tarihi\r\n </div>\r\n <div class=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"x_qr\" defaultValue={e.yapiBelgeOnay} name=\"yapiBelgeOnay\" onChange={(ev) => e.yapiBelgeOnay = getValue(ev.target.value)} />\r\n </div>\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"col-3\">\r\n 11. Belge no\r\n </div>\r\n <div class=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"x_qr\" defaultValue={e.yapiBelgeNo} name=\"yapiBelgeNo\" onChange={(ev) => e.yapiBelgeNo = getValue(ev.target.value)} />\r\n </div>\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"col-3\">\r\n 136. Onay kodu\r\n </div>\r\n <div class=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"x_qr\" defaultValue={e.yapiOnayKod} name=\"yapiOnayKod\" onChange={(ev) => e.yapiOnayKod = getValue(ev.target.value)} />\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div class=\"row mt-5\">\r\n <div class=\"col-12 fw-bold text-primary\">\r\n Ruhsat Numaraları ve DeÄŸerleri\r\n </div>\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"col-3\">\r\n 10.Ruhsatın onay tarihi\r\n </div>\r\n <div class=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"x_qr\" defaultValue={e.ruhsatOnayTarih} name=\"ruhsatOnayTarih\" onChange={(ev) => e.ruhsatOnayTarih = getValue(ev.target.value)} />\r\n </div>\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"col-3\">\r\n 11.Ruhsat no\r\n </div>\r\n <div class=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"x_qr\" defaultValue={e.ruhsatNo} name=\"ruhsatNo\" onChange={(ev) => e.ruhsatNo = getValue(ev.target.value)} />\r\n </div>\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"col-3\">\r\n 27.Ruhsatın geçerlilik tarihi\r\n </div>\r\n <div class=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"x_qr\" defaultValue={e.ruhsatTarih} name=\"ruhsatTarih\" onChange={(ev) => e.ruhsatTarih = getValue(ev.target.value)} />\r\n </div>\r\n </div>\r\n\r\n <div class=\"row mt-1\">\r\n <div class=\"col-3\">\r\n 121.Onay kodu\r\n </div>\r\n <div class=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"x_qr\" defaultValue={e.ruhsatOnayKod} name=\"ruhsatOnayKod\" onChange={(ev) => e.ruhsatOnayKod = getValue(ev.target.value)} />\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"row mt-5\">\r\n <div class=\"col-12 fw-bold text-primary\">\r\n Yıkım Ruhsatı DeÄŸerleri \r\n </div>\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"col-3\">\r\n 12.Yıkım ruhsatının onay tarihi\r\n </div>\r\n <div class=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"x_qr\" defaultValue={e.yikimRuhsatOnayTarihi} name=\"yikimRuhsatOnayTarihi\" onChange={(ev) => e.yikimRuhsatOnayTarihi = getValue(ev.target.value)} />\r\n </div>\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"col-3\">\r\n 13.Yıkım ruhsat no\r\n </div>\r\n <div class=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"x_qr\" defaultValue={e.yikimRuhsatNo} name=\"yikimRuhsatNo\" onChange={(ev) => e.yikimRuhsatNo = getValue(ev.target.value)} />\r\n </div>\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"col-3\">\r\n 19. Yıkım ruhsatının geçerlilik tarihi\r\n </div>\r\n <div class=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"x_qr\" defaultValue={e.yikimRuhsatGecerlilikTarihi} name=\"yikimRuhsatGecerlilikTarihi\" onChange={(ev) => e.yikimRuhsatGecerlilikTarihi = getValue(ev.target.value)} />\r\n </div>\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"col-3\">\r\n 73.Onay kodu\r\n </div>\r\n <div class=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"x_qr\" defaultValue={e.yikimOnayKod} name=\"yikimOnayKod\" onChange={(ev) => e.yikimOnayKod = getValue(ev.target.value)} />\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n\r\n <div class=\"row mt-5\">\r\n <div class=\"col-12 fw-bold text-primary\">\r\n Yanan ve Yıkılan Yapılar Formu \r\n </div>\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"col-3\">\r\n 7.Formun onay tarihi\r\n </div>\r\n <div class=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"x_qr\" defaultValue={e.yananFormOnayTarih} name=\"yananFormOnayTarih\" onChange={(ev) => e.yananFormOnayTarih = getValue(ev.target.value)} />\r\n </div>\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"col-3\">\r\n 8..Form no\r\n </div>\r\n <div class=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"x_qr\" defaultValue={e.yananFormNo} name=\"yananFormNo\" onChange={(ev) => e.yananFormNo = getValue(ev.target.value)} />\r\n </div>\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"col-3\">\r\n 67.Onay kodu\r\n </div>\r\n <div class=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"x_qr\" defaultValue={e.yananOnayKod} name=\"yananOnayKod\" onChange={(ev) => e.yananOnayKod = getValue(ev.target.value)} />\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div class=\"row mt-5\">\r\n <div class=\"col-10 fw-bold text-primary\">\r\n Pafta DeÄŸerleri\r\n </div>\r\n <div class=\"col-2 text-primary text-end\">\r\n <a className=\"text-primary\" onClick={() => updateeimza(\"UPDATEME\")} href=\"#\" title=\"Yenile\"> <i className=\"\tfa fa-refresh\"></i></a>\r\n </div>\r\n\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"col-3\">\r\n #Ruhsat Tarih\r\n </div>\r\n <div class=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" defaultValue={e.paftaRuhsatTarih} id=\"paftaRuhsatTarih\" name=\"paftaRuhsatTarih\" onChange={(ev) => e.paftaRuhsatTarih = getValue(ev.target.value)} />\r\n </div>\r\n <div class=\"col-6\">\r\n {getloc(\"#tarih\")}\r\n </div>\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"col-3\">\r\n #Ruhsat No\r\n </div>\r\n <div class=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" defaultValue={e.paftaRuhsatOnayKod} id=\"paftaRuhsatOnayKod\" name=\"paftaRuhsatOnayKod\" onChange={(ev) => e.paftaRuhsatOnayKod = getValue(ev.target.value)} />\r\n </div>\r\n <div class=\"col-6\">\r\n {getloc(\"#ruhsatno\")}\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n\r\n <div class=\"row mt-5\">\r\n <div class=\"col-10 fw-bold text-primary\">\r\n Kot Krokisi Bilgileri\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"row mt-1\">\r\n <div class=\"col-3\">\r\n #Madde\r\n </div>\r\n <div class=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" defaultValue={e.madde} id=\"madde\" name=\"madde\" onChange={(ev) => e.madde = getValue(ev.target.value)} />\r\n </div>\r\n <div class=\"col-6\">\r\n {getloc(\"#madde\")}\r\n </div>\r\n </div>\r\n\r\n <div class=\"row mt-1\">\r\n <div class=\"col-3\">\r\n #Bend\r\n </div>\r\n <div class=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" defaultValue={e.bend} id=\"bend\" name=\"bend\" onChange={(ev) => e.bend = getValue(ev.target.value)} />\r\n </div>\r\n <div class=\"col-6\">\r\n {getloc(\"#bend\")}\r\n </div>\r\n </div>\r\n\r\n <div class=\"row mt-1\">\r\n <div class=\"col-3\">\r\n #Fikra\r\n </div>\r\n <div class=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" defaultValue={e.fikra} id=\"fikra\" name=\"fikra\" onChange={(ev) => e.fikra = getValue(ev.target.value)} />\r\n </div>\r\n <div class=\"col-6\">\r\n {getloc(\"#fikra\")}\r\n </div>\r\n </div>\r\n\r\n <div class=\"row mt-1\">\r\n <div class=\"col-3\">\r\n #Kot\r\n </div>\r\n <div class=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" defaultValue={e.kot} id=\"kot\" name=\"kot\" onChange={(ev) => e.kot = getValue(ev.target.value)} />\r\n </div>\r\n <div class=\"col-6\">\r\n {getloc(\"#kot\")}\r\n </div>\r\n </div>\r\n\r\n <div class=\"row mt-5\">\r\n <div class=\"col-10 fw-bold text-primary\">\r\n Ä°ÅYERÄ° TESLÄ°M TUTANAÄI\r\n \r\n\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"row mt-1\">\r\n <div class=\"col-3\">\r\n #Teslim Tarihi\r\n </div>\r\n <div class=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" defaultValue={e.kot} id=\"teslimtarihi\" name=\"teslimtarihi\" onChange={(ev) => e.teslimtarihi = getValue(ev.target.value)} />\r\n </div>\r\n <div class=\"col-6\">\r\n {getloc(\"#teslimtarihi\")}\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport axios from \"axios\";\r\nimport { setVisible, showErrorMessage } from '../GlobalState.js';\r\n\r\nexport default function UploadFile(props) {\r\n var selectedfile;\r\n const setfile = (e) => {\r\n selectedfile = e.target.files[0];\r\n var formData = new FormData();\r\n formData.append(\"file\", selectedfile);\r\n formData.append(\"caption\", props.username);\r\n formData.append(\"typeID\", 0);\r\n formData.append(\"appid\", 0);\r\n\r\n\r\n var loadspin1 = document.getElementById(props.spinner);\r\n if (loadspin1)\r\n loadspin1.hidden = false;\r\n\r\n\r\n axios.post(\r\n props.target,\r\n formData,\r\n {\r\n headers: {\r\n \"Content-type\": \"multipart/form-data\"\r\n },\r\n }\r\n )\r\n .then(async res => {\r\n if (loadspin1)\r\n loadspin1.hidden = true;\r\n // this.setState({ status: \"ok\" }); \r\n if (props.setFiles != null) props.setFiles(res);\r\n if (props.setSumbitResult != null)\r\n props.setSumbitResult(res);\r\n })\r\n .catch(err => {\r\n showErrorMessage(err)\r\n })\r\n }\r\n\r\n\r\n\r\n return (\r\n <div >\r\n\r\n <label for=\"formFile\" className=\"form-label text-primary pt-2\" role='button'><i class=\"fa fa-upload\"></i> </label>\r\n <input class=\"form-control form-control-sm\" hidden type=\"file\" id=\"formFile\" placeholder={props.filelabel}\r\n onChange={(e) => { setfile(e); }}\r\n />\r\n\r\n </div>\r\n );\r\n\r\n\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail } from '../GlobalState.js';\r\n\r\nexport default function (props) {\r\n\r\n\r\n const [refcounter, setRefcount] = useState(props.counter);\r\n\r\n\r\n useEffect(() => {\r\n\r\n const script = document.createElement(\"script\");\r\n script.src = \"https://www.gstatic.com/charts/loader.js\";\r\n script.async = true;\r\n document.getElementById(\"myscript\").appendChild(script);\r\n script.onload = () => {\r\n window.google.charts.load('current', { 'packages': ['bar'] });\r\n window.google.charts.setOnLoadCallback(getWorkLoadList);\r\n }\r\n\r\n }, [props.counter]);\r\n\r\n\r\n const getWorkLoadList = () => {\r\n fetch(\"getuserworkloads\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n this.setState({ status: response.statusText })\r\n }\r\n else {\r\n response.json().then(async data => {\r\n var dataarray = [];\r\n var userstat = {}\r\n var colors = [\"color: #fff8dd\", \"color: #e8fff3\", \"color: #fff5f8\", \"color: #f8f5ff\"];\r\n dataarray.push(['', 'Toplam', 'Biten', 'Devam Eden', 'Sırada Bekleyen', 'Günllük Ortalama', { role: \"style\" }]);\r\n\r\n for (var i = 0; i < data.length; i++) {\r\n userstat[data[i].userName] = { toplam: 0, biten: 0, devam: 0, bekleyen: 0, ortalama: 0 }\r\n }\r\n\r\n for (var i = 0; i < data.length; i++) {\r\n userstat[data[i].userName].toplam++;\r\n if (data[i].started == null && data[i].completed == null)\r\n userstat[data[i].userName].bekleyen++;\r\n if (data[i].started != null && data[i].completed == null)\r\n userstat[data[i].userName].devam++;\r\n if (data[i].started != null && data[i].completed != null)\r\n userstat[data[i].userName].biten++;\r\n }\r\n for (var i = 0; i < data.length; i++) {\r\n userstat[data[i].userName].ortalama = userstat[data[i].userName].biten / 30.0;\r\n }\r\n\r\n var i = 0;\r\n for (var rec in userstat)\r\n dataarray.push([rec, userstat[rec].toplam, userstat[rec].biten, userstat[rec].devam, userstat[rec].bekleyen, userstat[rec].ortalama, colors[0]]);\r\n\r\n drawChart(dataarray, 'userstaticpanel2')\r\n });\r\n }\r\n });\r\n }\r\n\r\n const drawChart = (dataarray, target) => {\r\n var data = window.google.visualization.arrayToDataTable(dataarray);\r\n var options = {\r\n colors: ['#2E4C6D', '#DADDFC', '#FC997C', '#66806A', '#7E8BD9', '#558D97', '#B4C6A6', '#FFC286', '#FFF1AF'],\r\n chartArea: {\r\n // leave room for y-axis labels\r\n width: '90%'\r\n },\r\n hAxis: {\r\n textStyle: {\r\n fontSize: 18\r\n\r\n }\r\n\r\n },\r\n vAxis: {\r\n\r\n textStyle: {\r\n fontSize: 18 // or the number you want\r\n }\r\n\r\n },\r\n animation: {\r\n duration: 1000,\r\n easing: 'out',\r\n \"startup\": true\r\n },\r\n height: 100 * dataarray.length,\r\n width: '100%',\r\n bars: 'horizontal' // Required for Material Bar Charts.\r\n\r\n };\r\n var chart = new window.google.charts.Bar(document.getElementById(target));\r\n chart.draw(data, window.google.charts.Bar.convertOptions(options));\r\n\r\n } \r\n return (\r\n <div className=\"border shadow rounded-2 border p-1 mt-1 me-2\" >\r\n <div id=\"myscript\"></div>\r\n <div className=\"row\">\r\n <div className=\"col-7\">\r\n <h4 style={{ \"text-shadow\": \"0px 0px 1px grey\", color: \"#0098db\" }}>Ä°ÅŸ Yükü</h4>\r\n </div>\r\n\r\n </div>\r\n <div id=\"userstaticpanel2\"></div>\r\n </div>\r\n\r\n );\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","import { useLocation } from 'react-router-dom'\r\nimport React, { useState, useEffect } from 'react';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport { showErrorMessage, useGlobalState } from '../GlobalState.js';\r\n\r\nexport default function UserPersonelData(props) {\r\n const [userdata, setUserData] = useState(props.userdata);\r\n const [role, setRole] = useGlobalState('role');\r\n \r\n const handleInputChange = (event) => {\r\n const target = event.target.name;\r\n const value = event.target.type === 'checkbox' ? event.target.checked : event.target.value;\r\n userdata[target] = value;\r\n\r\n if (event.target.type === 'checkbox' && event.target.id === \"karaliste\")\r\n document.getElementById(\"karalistesure\").disabled = !event.target.checked;\r\n\r\n if (event.target.type === 'checkbox' && event.target.id === \"denetimYetkisi\" && value == true) {\r\n showErrorMessage(\"Yetki Turleri Denetim Yetkileri Panelinden Belirlenmelidir\")\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n return <div key={userdata}>\r\n <div className=\"row\">\r\n \r\n <div className=\"col-3\">\r\n<h5>KiÅŸisel Bilgileri</h5>\r\n </div>\r\n <div className=\"col-2\">\r\n <img className=\"rounded-circle\" style={{ width: \"48px\", height: \"48px\" }} src={\"/getuserpic?user=\" + userdata.userName + \"&_=\" + Date.now()} />\r\n \r\n </div>\r\n </div>\r\n\r\n <div className=\"row pt-4\">\r\n <div className=\"col-3\">\r\n <label htmlFor=\"UserName\" className=\"form-label\">Kullanıcı Adı</label>\r\n </div>\r\n <div className=\"col-8\">\r\n <input readOnly type=\"text\" className=\"form-control col-9\" id=\"UserName\" placeholder=\"UserName\" name=\"userName\" onChange={handleInputChange} defaultValue={userdata.userName} />\r\n </div>\r\n </div>\r\n\r\n <div className=\"row pt-4\">\r\n <div className=\"col-3\">\r\n <label htmlFor=\"UserName\" className=\"form-label\">T.C</label>\r\n </div>\r\n <div className=\"col-8\">\r\n <input type=\"text\" maxLength=\"11\" className=\"form-control col-9\" id=\"tc\" placeholder=\"T.C\" name=\"tc\" onChange={handleInputChange} defaultValue={userdata.tc} disabled={userdata.edveletConfirmed == true && role.indexOf(UserPermConstants.Sabitlenen_Profil_Degistirme)==-1 } />\r\n </div>\r\n </div>\r\n\r\n <div className=\"row pt-4\">\r\n <div className=\"col-3\">\r\n <label htmlFor=\"Name\" className=\"form-label\">Adı</label>\r\n </div>\r\n <div className=\"col-8\">\r\n <input type=\"text\" className=\"form-control\" id=\"Name\" placeholder=\"Name\" name=\"name\" onChange={handleInputChange} defaultValue={userdata.name} disabled={userdata.edveletConfirmed == true && role.indexOf(UserPermConstants.Sabitlenen_Profil_Degistirme) == -1} />\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row pt-4\">\r\n <div className=\"col-3\">\r\n <label htmlFor=\"Family\" className=\"form-label\">Soyadı</label>\r\n </div>\r\n <div className=\"col-8\">\r\n <input type=\"text\" className=\"form-control\" id=\"Family\" placeholder=\"Family\" name=\"family\" onChange={handleInputChange} defaultValue={userdata.family} disabled={userdata.edveletConfirmed == true && role.indexOf(UserPermConstants.Sabitlenen_Profil_Degistirme) == -1} />\r\n </div>\r\n </div>\r\n\r\n <div className=\"row pt-4\">\r\n <div className=\"col-3\">\r\n <label htmlFor=\"Family\" className=\"form-label\">DoÄŸum Tarihi</label>\r\n </div>\r\n <div className=\"col-8\">\r\n <input type=\"date\" className=\"form-control\" id=\"birthdate\" placeholder=\"DoÄŸum Tarihi\" name=\"birthdate\" onChange={handleInputChange} defaultValue={userdata.birthdate} />\r\n </div>\r\n </div>\r\n\r\n <div className=\"row pt-4\">\r\n <div className=\"col-3\">\r\n <label htmlFor=\"RegDate\" className=\"form-label\">Ãœyelik Tarihi</label>\r\n </div>\r\n <div className=\"col-8\">\r\n <input readOnly type=\"text\" className=\"form-control\" id=\"RegDate\" placeholder=\"RegDate\" name=\"regDate\" defaultValue={userdata.regDate} />\r\n </div>\r\n </div>\r\n\r\n <button type=\"submit\" className=\"btn btn-primary btn-sm mt-4\">Güncelle</button>\r\n </div>\r\n\r\n\r\n }\r\n\r\n\r\n\r\n\r\n","import { useLocation } from 'react-router-dom'\r\nimport React, { useState, useEffect } from 'react';\r\nimport { showErrorMessage } from '../GlobalState';\r\n\r\n\r\nexport default function UserMeslekData(props) {\r\n const [userdata, setUserData] = useState(props.userdata);\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target.name;\r\n const value = event.target.type === 'checkbox' ? event.target.checked : event.target.value;\r\n userdata[target] = value;\r\n\r\n if (event.target.type === 'checkbox' && event.target.id === \"karaliste\")\r\n document.getElementById(\"karalistesure\").disabled = !event.target.checked;\r\n\r\n if (event.target.type === 'checkbox' && event.target.id === \"denetimYetkisi\" && value == true) {\r\n showErrorMessage(\"Yetki Turleri Denetim Yetkileri Panelinden Belirlenmelidir\")\r\n }\r\n\r\n }\r\n\r\n return <div >\r\n <div className=\"row\">\r\n <h5>Meslek Bilgileri</h5>\r\n <div className=\"col-3\">\r\n\r\n </div>\r\n <div className=\"col-2\">\r\n </div>\r\n </div>\r\n\r\n <div className=\"row pt-4\">\r\n <div className=\"col-3\">\r\n <label htmlFor=\"UserName\" className=\"form-label\">Meslek</label>\r\n </div>\r\n <div className=\"col-8\">\r\n <input type=\"text\" className=\"form-control col-9\" id=\"meslek\" placeholder=\"Meslek\" name=\"meslek\" onChange={handleInputChange} defaultValue={userdata.meslek} />\r\n </div>\r\n </div>\r\n\r\n <div className=\"row pt-4\">\r\n <div className=\"col-3\">\r\n <label htmlFor=\"UserName\" className=\"form-label\">Firma</label>\r\n </div>\r\n <div className=\"col-8\">\r\n <input type=\"text\" className=\"form-control col-9\" id=\"firma\" placeholder=\"Firma\" name=\"firma\" onChange={handleInputChange} defaultValue={userdata.firma} />\r\n </div>\r\n </div>\r\n\r\n <div className=\"row pt-4\">\r\n <div className=\"col-3\">\r\n <label htmlFor=\"Name\" className=\"form-label\">Pozisyonu</label>\r\n </div>\r\n <div className=\"col-8\">\r\n <input type=\"text\" className=\"form-control\" id=\"pozisyonu\" placeholder=\"Pozisyonu\" name=\"pozisyonu\" onChange={handleInputChange} defaultValue={userdata.pozisyonu} />\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row pt-4\">\r\n <div className=\"col-3\">\r\n <label htmlFor=\"Family\" className=\"form-label\">Firma Konumu</label>\r\n </div>\r\n <div className=\"col-8\">\r\n <input type=\"text\" className=\"form-control\" id=\"firmaKonumu\" placeholder=\"Firma Konumu\" name=\"firmaKonumu\" onChange={handleInputChange} defaultValue={userdata.firmaKonumu} />\r\n </div>\r\n </div>\r\n\r\n <div className=\"row pt-4\">\r\n <div className=\"col-3\">\r\n <label htmlFor=\"Family\" className=\"form-label\">Firma Web Sitesi</label>\r\n </div>\r\n <div className=\"col-8\">\r\n <input type=\"text\" className=\"form-control\" id=\"firmaWebSitesi\" placeholder=\"Firma Web Sitesi\" name=\"firmaWebSitesi\" onChange={handleInputChange} defaultValue={userdata.firmaWebSitesi} />\r\n </div>\r\n </div>\r\n\r\n <button type=\"submit\" className=\"btn btn-primary btn-sm mt-4\">Güncelle</button>\r\n </div>\r\n\r\n\r\n}\r\n\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty, sendpost } from '../GlobalState.js';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport bootstrap from 'bootstrap/dist/js/bootstrap.min.js'\r\n\r\n\r\nexport default function DenetimPermissionPanel(props) {\r\n \r\n const [listData, setListData] = useState([]);\r\n const [denetimList, setdenetimList] = useState(props.denetimList.filter(x=>x.isadimi==true));\r\n const multiselectRefNew = React.createRef();\r\n var username = props.username;\r\n\r\n const fetchList = () => {\r\n fetch(\"getdenetimperms\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(username)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n \r\n })\r\n \r\n }\r\n });\r\n }\r\n\r\n \r\n\r\n\r\n\r\n \r\n\r\n\r\n const Add = (item) => {\r\n var postdata = {};\r\n postdata.UserName = username;\r\n postdata.DenetimId = item.id;\r\n sendpost(\"mapdenetimtouser\", postdata, \"spin1\");\r\n \r\n }\r\n\r\n const Sil = (denetim) => {\r\n var postdata = {}\r\n postdata.UserName = username;\r\n postdata.denetimId = denetim.id;\r\n sendpost(\"removedenetimfromuser\", postdata, \"spin1\");\r\n }\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"popover\"]'))\r\n var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {\r\n return new bootstrap.Popover(popoverTriggerEl)\r\n })\r\n }, [])\r\n \r\n var selectedids = listData.map(x => x.id);\r\n\r\n return (\r\n <div >\r\n <div className=\"row\">\r\n <div className=\"col-8\">\r\n <h6>Ä°ÅŸ Adımı Yetkileri\r\n <button type=\"button\" className=\"btn btn-secondary btn-sm fw-bold pt-0 pb-0 mt-0 ms-2\" id=\"mypopover2\" data-bs-toggle=\"popover\" data-bs-trigger=\"focus\" title=\"AÇIKLAMA\" data-bs-content=\"Kontrolörlere hangi iÅŸ adımlarının havale edilebileceÄŸini seçebilirsiniz. Her kontrolöre sadece burada yer alan iÅŸ adımlarından havale yapılabilir.\">?</button>\r\n </h6>\r\n </div>\r\n\r\n <div className=\"col-4 text-end\">\r\n <span className=\"spinner-border spinner-border-sm ms-3\" id=\"spin1\" hidden> </span>\r\n </div>\r\n </div>\r\n <Multiselect className=\"p-0 ps-1 form-control-sm bg-white mb-2\"\r\n options={denetimList}\r\n emptyRecordMsg=\"BaÅŸka Kayıt Yok\"\r\n displayValue=\"name\"\r\n isObject={true}\r\n closeOnSelect={true}\r\n ref={multiselectRefNew}\r\n selectedValues={listData}\r\n avoidHighlightFirstOption={true}\r\n onSelect={(selectedList, item) => { Add(item) }} \r\n onRemove={(selectedList, item) => { Sil(item) }}\r\n />\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, sendpost, useGlobalState } from '../GlobalState.js';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport bootstrap from 'bootstrap/dist/js/bootstrap.min.js'\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\n\r\nexport default function ListAppTypePermission(props) {\r\n var postdata = {};\r\n const [listData, setListData] = useState([]);\r\n const [denetimList, setDenetimList] = useState(props.denetimList);\r\n var username = props.username;\r\n const multiselectRefNew = React.createRef();\r\n const [role, setRole] = useGlobalState('role');\r\n\r\n const fetchList = () => {\r\n fetch(\"applistperms\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(username)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n\r\n })\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const Add = (item) => {\r\n var postdata = {};\r\n postdata.UserName = username;\r\n postdata.appType = item.id;\r\n sendpost(\"addapplistperm\", postdata, \"spin2\");\r\n }\r\n\r\n const Sil = (postdata) => {\r\n sendpost(\"removeapplistperm\", listData.find(x => x.appType == postdata.id), \"spin2\");\r\n\r\n }\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"popover\"]'))\r\n var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {\r\n return new bootstrap.Popover(popoverTriggerEl)\r\n })\r\n }, [])\r\n\r\n\r\n\r\n var selectedids = listData.map(x => x.appType);\r\n if (denetimList != null) {\r\n selectedids.forEach(s => {\r\n if (denetimList.find(x => x.id == s) == null) {\r\n denetimList.push({ id: s, name: \"Bilinmeyen BaÅŸvuru Tipi\" })\r\n }\r\n })\r\n }\r\n return (\r\n <div >\r\n <div className=\"row\">\r\n <div className=\"col-8\">\r\n <h6>BaÅŸvuru Listesi Yetkileri\r\n <button type=\"button\" className=\"btn btn-secondary btn-sm fw-bold pt-0 pb-0 mt-0 ms-2\" id=\"mypopover2\" data-bs-toggle=\"popover\" data-bs-trigger=\"focus\" title=\"AÇIKLAMA\"\r\n data-bs-content=\"Kullanıcının görebileceÄŸi baÅŸvurular, burada seçilecek baÅŸvuru tipleri ile kısıtlanır.\">\r\n ?</button>\r\n </h6>\r\n </div>\r\n <div className=\"col-4 text-end\">\r\n <span className=\"spinner-border spinner-border-sm ms-3\" id=\"spin2\" hidden> </span>\r\n </div>\r\n </div>\r\n\r\n {role.indexOf(UserPermConstants.Gizli_Aktiviteleri_Gorme) == -1 && <span>\r\n Bu alanda baÅŸvuru tiplerinde kısıtlama yapabilmek için öncelikle Kullanıcı Rolleri ekranından kullanıcıya \"Tüm BaÅŸvuruları Görme\" yetkisi verilmelidir\r\n </span>}\r\n\r\n\r\n <Multiselect className=\"p-0 ps-1 form-control-sm bg-white mb-2\"\r\n options={denetimList}\r\n emptyRecordMsg=\"BaÅŸka Kayıt Yok\"\r\n displayValue=\"name\"\r\n isObject={true}\r\n closeOnSelect={true}\r\n ref={multiselectRefNew}\r\n selectedValues={denetimList.filter(x => selectedids.includes(x.id))}\r\n avoidHighlightFirstOption={true}\r\n onSelect={(selectedList, item) => { Add(item) }}\r\n onRemove={(selectedList, item) => { Sil(item) }}\r\n />\r\n\r\n\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, sendpost } from '../GlobalState.js';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport bootstrap from 'bootstrap/dist/js/bootstrap.min.js'\r\n\r\n\r\nexport default function KabulAppTypePermission(props) {\r\n var postdata = {};\r\n const [listData, setListData] = useState([]);\r\n const [denetimList, setDenetimList] = useState(props.denetimList);\r\n var username = props.username;\r\n const multiselectRefNew = React.createRef();\r\n \r\n const fetchList = () => {\r\n fetch(\"kabullistperms\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(username)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n \r\n })\r\n\r\n }\r\n });\r\n }\r\n\r\n \r\n var selectedids = listData.map(x => x.appType);\r\n\r\n\r\n \r\n\r\n const Add = (item) => {\r\n \r\n var postdata = {};\r\n postdata.UserName = username;\r\n postdata.appType = item.id;\r\n sendpost(\"addkabullistperm\", postdata, \"spin3\");\r\n\r\n \r\n }\r\n\r\n const Sil = (a) => {\r\n sendpost(\"removekabullistperm\", listData.find(x => x.appType == a.id), \"spin3\");\r\n \r\n }\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"popover\"]'))\r\n var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {\r\n return new bootstrap.Popover(popoverTriggerEl)\r\n })\r\n }, [])\r\n\r\n\r\n\r\n return (\r\n <div >\r\n <div className=\"row\">\r\n <div className=\"col-8\">\r\n <h6>BaÅŸvuru Kabul Yetkileri\r\n <button type=\"button\" className=\"btn btn-secondary btn-sm fw-bold pt-0 pb-0 mt-0 ms-2\" id=\"mypopover2\" data-bs-toggle=\"popover\" data-bs-trigger=\"focus\" title=\"AÇIKLAMA\" data-bs-content=\"Kullanıcının hangi baÅŸvuruları kabul edebileceÄŸini buradan kısıtlayabilirsiniz.\">?</button>\r\n\r\n </h6>\r\n </div>\r\n <div className=\"col-4 text-end\">\r\n <span className=\"spinner-border spinner-border-sm ms-3\" id=\"spin3\" hidden> </span>\r\n </div>\r\n </div>\r\n <Multiselect className=\"p-0 ps-1 form-control-sm bg-white mb-2\"\r\n options={denetimList}\r\n emptyRecordMsg=\"BaÅŸka Kayıt Yok\"\r\n displayValue=\"name\"\r\n isObject={true}\r\n closeOnSelect={true}\r\n ref={multiselectRefNew}\r\n selectedValues={denetimList.filter(x => selectedids.includes(x.id))}\r\n avoidHighlightFirstOption={true}\r\n onSelect={(selectedList, item) => { Add(item) }}\r\n onRemove={(selectedList, item) => { Sil(item) }}\r\n />\r\n\r\n\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import { useLocation } from 'react-router-dom'\r\nimport React, { useState, useEffect } from 'react';\r\nimport { showErrorMessage, useGlobalState } from '../GlobalState.js';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport DenetimPermissionPanel from './DenetimPermissionPanel.js';\r\nimport ListAppTypePermission from './ListAppTypePermission.js';\r\n\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport KabulAppTypePermission from './KabulAppTypePermission.js';\r\n\r\nexport default function UserTypeData(props) {\r\n const [userdata, setUserData] = useState(props.userdata);\r\n const [role, setRole] = useGlobalState('role');\r\n const multiselectUserTypeRef = React.createRef();\r\n const multiselectPermRef = React.createRef();\r\n const [options, setOptions] = useState(null);\r\n const [rolelist, setRollist] = useState(null);\r\n const [denetimList, setDenetimList] = useState([]);\r\n\r\n useEffect(() => {\r\n fetchUserTypeList();\r\n fetchRoles();\r\n fetchDenetimList();\r\n }, [])\r\n\r\n\r\n const fetchRoles = () => {\r\n fetch(\"getrolelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setRollist(value)\r\n })\r\n }\r\n });\r\n\r\n }\r\n\r\n const fetchDenetimList = () => {\r\n fetch(\"denetimlist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n\r\n setDenetimList(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const fetchUserTypeList = () => {\r\n\r\n fetch(\"getusertypelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n var i = 0;\r\n var opts = [];\r\n for (i = 0; i < value.length; i++) {\r\n opts.push(value[i].appType)\r\n\r\n }\r\n setOptions(opts.sort())\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target.name;\r\n const value = event.target.type === 'checkbox' ? event.target.checked : event.target.value;\r\n userdata[target] = value;\r\n\r\n if (event.target.type === 'checkbox' && event.target.id === \"karaliste\")\r\n document.getElementById(\"karalistesure\").disabled = !event.target.checked;\r\n\r\n if (event.target.type === 'checkbox' && event.target.id === \"gecicimuellif\") {\r\n if (event.target.checked != true) {\r\n document.getElementById(\"gecicisure\").value = \"\";\r\n userdata[\"gecicisure\"] = \"\";\r\n }\r\n document.getElementById(\"gecicisure\").disabled = !event.target.checked;\r\n\r\n }\r\n\r\n if (event.target.type === 'checkbox' && event.target.id === \"denetimYetkisi\" && value == true) {\r\n showErrorMessage(\"Yetki Turleri Denetim Yetkileri Panelinden Belirlenmelidir\")\r\n }\r\n return true;\r\n }\r\n\r\n const onSelect = (selectedList, selectedItem) => {\r\n var clist = selectedList.join();\r\n userdata[\"userType\"] = clist;\r\n\r\n }\r\n\r\n const onRemove = (selectedList, removedItem) => {\r\n var clist = selectedList.join();\r\n userdata[\"userType\"] = clist;\r\n \r\n }\r\n\r\n\r\n\r\n return <div >\r\n <div className=\"row\">\r\n <h5> Kullanıcı Tipi ve Yetkileri</h5>\r\n </div>\r\n\r\n\r\n\r\n {(options == null || rolelist == null) ?\r\n <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n\r\n :\r\n <fieldset className=\" ms-1 me-1 mt-3\">\r\n <div className=\"row mb-1 mt-1 \">\r\n\r\n <div className='col-3' >\r\n <label htmlFor=\"Tel\" className=\"form-label\">Kullanıcı Tipi/Sıfatı</label>\r\n </div>\r\n <div className='col-8' >\r\n <Multiselect className=\"p-0 ps-1 form-control-sm bg-white\" id=\"kullanicitiplerim\"\r\n options={options}\r\n placeholder=\"Kullanıcı Tipi\"\r\n emptyRecordMsg=\"BaÅŸka Kullanıcı Tipi Yok\"\r\n ref={multiselectUserTypeRef}\r\n isObject={false}\r\n onSelect={onSelect} // Function will trigger on select event\r\n onRemove={onRemove} // Function will trigger on remove event\r\n selectedValues={userdata.userType != null ? userdata.userType.split(',') : []}\r\n />\r\n </div>\r\n </div>\r\n <div className='row mt-3' hidden={role.indexOf(UserPermConstants.Kullanici_Denetim_Yetkilerini_Editleme) == -1}>\r\n <div className=\"col-3\">\r\n <label htmlFor=\"roles\" className=\"form-label\">Rol</label>\r\n </div>\r\n <div className=\"col-8\">\r\n <select className=\"form-select form-select-sm\" name=\"role\" onChange={handleInputChange} >\r\n <option selected={userdata == null || userdata.role == null} value={null}></option>\r\n {\r\n rolelist.map(x => <option value={x.id} selected={userdata != null && x.id == userdata.role}>{x.name}</option>)\r\n }\r\n </select>\r\n </div>\r\n </div >\r\n <div className='row mt-3' hidden={role.indexOf(UserPermConstants.Kullanici_Rolleri) == -1}>\r\n <div className=\"col-5\">\r\n <label htmlFor=\"roles\" className=\"form-label\">Sabit Ä°mzacı</label>\r\n </div>\r\n <div className=\"col-6 \" >\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"sabitImzaci\" id=\"sabitImzaci\" defaultChecked={userdata.sabitImzaci} onChange={handleInputChange} />\r\n\r\n </div>\r\n </div >\r\n <div className='row mt-1' hidden={role.indexOf(UserPermConstants.Gizli_Aktiviteleri_Gorme) == -1}>\r\n <div className=\"col-5\">\r\n <label htmlFor=\"roles\" className=\"form-label\">BaÅŸvuru GeçmiÅŸ Aktivite Kaydı Gizleme</label>\r\n </div>\r\n <div className=\"col-6 \" >\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"hideEvents\" id=\"hideEvents\" defaultChecked={userdata.hideEvents} onChange={handleInputChange} />\r\n </div>\r\n </div >\r\n <div className='row mt-1' hidden={role.indexOf(UserPermConstants.Kullanici_Rolleri) == -1}>\r\n <div className=\"col-5\">\r\n <label className=\"form-label\">Pasif Kullanıcı</label>\r\n </div>\r\n <div className=\"col-6 \" >\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"pasif\" id=\"pasif\" defaultChecked={userdata.pasif} onChange={handleInputChange} />\r\n </div>\r\n </div >\r\n </fieldset>\r\n }\r\n\r\n <div hidden={role.indexOf(UserPermConstants.Kullnici_Kara_Liste) == -1}>\r\n <div className='row mt-2' >\r\n <div className='col-2 ps-3' >\r\n Kara liste\r\n </div>\r\n <div className='col-1' >\r\n <div className=\"form-check\">\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"karaliste\" id=\"karaliste\" defaultChecked={userdata.karaliste} onChange={handleInputChange} />\r\n </div>\r\n\r\n </div>\r\n <div className='col-3 ' >\r\n \r\n <input className=\"form-control form-control-sm\" type=\"date\" name=\"karalistesure\" id=\"karalistesure\" defaultValue={userdata.karalistesure} placeholder=\"Geçerlilk süresi (örnek 2022/01/01)\" onChange={handleInputChange} disabled={!userdata.karaliste} />\r\n \r\n </div>\r\n <div className='col-6 textvmuted small' >\r\n tarihine kadar sisteme giriÅŸ yapamaz\r\n </div>\r\n </div>\r\n <div className='row mt-2 mb-3 ' >\r\n <div className='col-2 ps-3' >\r\n Beyaz Liste\r\n </div>\r\n <div className='col-1' >\r\n <div className=\"form-check\">\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"gecicimuellif\" id=\"gecicimuellif\" defaultChecked={userdata.gecicimuellif} onChange={handleInputChange} />\r\n </div>\r\n\r\n </div>\r\n <div className='col-3 ' >\r\n <div >\r\n <input className=\"form-control form-control-sm\" type=\"date\" name=\"gecicisure\" id=\"gecicisure\" defaultValue={userdata.gecicisure} placeholder=\"Geçerlilk süresi (örnek 2022/01/01)\" onChange={handleInputChange} disabled={!userdata.gecicimuellif} />\r\n </div>\r\n </div>\r\n <div className='col-6 textvmuted small' >\r\n tarihine kadar baÅŸvuru yapabilir veya müellif olarak eklenebilir\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div hidden={role.indexOf(UserPermConstants.Kullanici_Denetim_Yetkilerini_Editleme) == -1} >\r\n <div className='row ms-1 me-1 mt-3 mb-4 pt-2 border bg-light' >\r\n <DenetimPermissionPanel username={userdata.userName} denetimList={denetimList} key={denetimList} />\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div hidden={role.indexOf(UserPermConstants.Kullanici_Denetim_Yetkilerini_Editleme) == -1} >\r\n <div className='row ms-1 me-1 mt-3 mb-4 pt-2 border bg-light' >\r\n <ListAppTypePermission username={userdata.userName} denetimList={denetimList.filter(x=>x.isadimi!=true)} key={denetimList} />\r\n </div>\r\n </div>\r\n\r\n <div hidden={role.indexOf(UserPermConstants.Kullanici_Denetim_Yetkilerini_Editleme) == -1} >\r\n <div className='row ms-1 me-1 mt-3 mb-4 pt-2 border bg-light' >\r\n <KabulAppTypePermission username={userdata.userName} denetimList={denetimList.filter(x => x.isadimi != true)} key={denetimList} />\r\n </div>\r\n </div>\r\n\r\n\r\n <button type=\"submit\" className=\"btn btn-primary btn-sm mt-2\">Güncelle</button>\r\n\r\n </div>\r\n\r\n\r\n}\r\n\r\n\r\n\r\n\r\n","import { useLocation } from 'react-router-dom'\r\nimport React, { useState, useEffect } from 'react';\r\nimport { ajaxFail } from '../GlobalState.js';\r\n\r\nexport default function UserPersonelData(props) {\r\n const [userdata, setUserData] = useState(props.userdata);\r\n const [filds, setDynamicFields] = useState(null);\r\n\r\n var dynamicdata = {}\r\n var dynamicFields = \"\";\r\n\r\n\r\n if (userdata != null && userdata.dynamicData) {\r\n dynamicdata = JSON.parse(userdata.dynamicData);\r\n }\r\n\r\n\r\n useEffect(() => {\r\n getFieldList();\r\n\r\n }, [])\r\n\r\n const handleDynamicChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n dynamicdata[target.name] = { \"value\": value, \"type\": target.type };\r\n }\r\n\r\n \r\n\r\n const writeDynamicDataToObject = () => {\r\n userdata.dynamicData = JSON.stringify(dynamicdata);\r\n }\r\n\r\n\r\n const getFieldList = () => {\r\n fetch(\"getuserfields\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setDynamicFields(data);\r\n\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n if (filds != null) { //!!!!!dont set the dynamicFields in fetch repoonce. it is in another scope and not see the handlechange\r\n dynamicFields =\r\n\r\n filds.map(rec => <div className=\"row mt-3\"> <div className=\"col-12\">\r\n <label htmlFor={rec.name} className=\"form-label m-0\">{rec.name} {rec.reqired==true?'*':\"\"}</label><br />\r\n {rec.type != \"select\" ?\r\n <input type={rec.type} className={rec.type != \"checkbox\" ? \"form-control\" : \"form-check-input\"}\r\n id={rec.name} required={rec.reqired} name={rec.name} defaultChecked={dynamicdata[rec.name] != null ? dynamicdata[rec.name].value : rec.initValue} defaultValue={dynamicdata[rec.name] != null ? dynamicdata[rec.name].value : rec.initValue} onChange={handleDynamicChange} />\r\n :\r\n <select className=\"form-select form-select-sm\" id={rec.name} required={rec.reqired} name={rec.name} placeholder=\"Soru Türü\" onChange={handleDynamicChange} defaultValue={dynamicdata[rec.name] != null ? dynamicdata[rec.name].value : rec.initValue}>\r\n {rec.initValue != null ? rec.initValue.split(\",\").map(rec =>\r\n <option value={rec} >{rec}</option>) : \"\"}\r\n </select>\r\n\r\n }\r\n\r\n </div></div>)\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n return <div >\r\n <div className=\"row\">\r\n\r\n <div className=\"col-3\">\r\n <h5>DiÄŸer Bilgileri</h5>\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n\r\n {dynamicFields}\r\n </div>\r\n\r\n\r\n <button type=\"submit\" onMouseDown={ writeDynamicDataToObject} className=\"btn btn-primary btn-sm mt-4\">Güncelle</button>\r\n </div>\r\n\r\n\r\n}\r\n\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useGlobalState,ajaxFail } from '../GlobalState.js';\r\n\r\n\r\nexport default function UserEventsPanel(props) {\r\n\r\n \r\n const [events, setEvents] = useState(null);\r\n const colors = [\"#fff8dd\", \"#e8fff3\", \"#fff5f8\", \"#f8f5ff\"]\r\n const scolors = [\"text-primary\", \"text-success\", \"text-danger\", \"text-warning\", \"text-info\"]\r\n const [myuserName, setuserName] = useGlobalState('userName');\r\n\r\n const fetchEvents = (e) => {\r\n fetch(\"getuserevents\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(props.userdata != null ? props.userdata.userName :myuserName)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n\r\n setEvents(data);\r\n rendertolist(data);\r\n });\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n fetchEvents();\r\n }, [])\r\n\r\n\r\n\r\n const rendertolist = (events) => {\r\n var groupedEvents = {};\r\n for (var i = 0; i < events.length; i++) {\r\n var d = events[i].eventDate.split(\" \")[0];\r\n var t = events[i].eventDate.split(\" \")[1];\r\n if (groupedEvents[d] == null) groupedEvents[d] = [];\r\n groupedEvents[d].push(t);\r\n }\r\n var tab = \"\";\r\n var c = 0;\r\n for (var d in groupedEvents) {\r\n tab += '<div class=\"row ms-2 me-2 p-2 mb-3 rounded-2 border border-rounded\" style=\"background-color:' + colors[c % 4] + ';\"}><div class=\"col-12\"><h5 class=\"text-secondary\"><span class=\"fa fa-calendar text-muted\"></span> <b>' + d + '</b></h5></div><div class=\"pt-2\">'\r\n for (var i = 0; i < events.length; i++) {\r\n var m = events[i].eventDate.split(\" \")[0];\r\n var t = events[i].eventDate.split(\" \")[1];\r\n if (d == m) {\r\n tab += \"<div class='row'>\"\r\n tab += \"<div class=' col-3 col-md-1 mb-1' style='position: relative;'> <span class='ps-1 pe-3 text-muted fw-bold' style='position: absolute; top:-5px;'>\" + t + \"</span></div>\"\r\n tab += \"<div class=' col-9 col-md-9 border-start border-4 ps-0 mt-2' style='position: relative;'> <span style='margin-left:-8px; position: absolute; top:-10px;' class='fa fa-circle-o me-2 fw-bold \" + scolors[i % 5] + \"'> </span> \"\r\n tab += \"<div class='ms-2 mb-3' style='margin-top:-18px;'>\" + events[i].comment+ \" <img class=\\\"rounded-circle\\\" style='width:30px; height:30px;'src='/getuserpic?user=\" + events[i].userName + \"'/><span class='ps-2 text-muted'>\" + events[i].userName + \"</span>\";\r\n tab += \"</div></div>\";\r\n\r\n tab += \"</div>\"\r\n }\r\n\r\n }\r\n tab += \"</div></div>\"\r\n c++;\r\n }\r\n\r\n const para = document.getElementById(\"appevents\");\r\n\r\n para.innerHTML = tab;\r\n return para;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n var panel = \"\";\r\n\r\n\r\n if (events == null)\r\n panel = <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center\" ><div className=\"spinner-border\" ></div></div>\r\n else if (events.length == 0)\r\n panel = <div className=\"w-100 mt-4 mb-4 text-center align-items-center justify-content-center text-danger\" >Kayıt Yok</div>\r\n\r\n\r\n\r\n\r\n return (\r\n <div >\r\n <div className=\"row\">\r\n <div className=\"col-10\">\r\n <h5 className=\"text-primary pb-3\">GeçmiÅŸ Aktiviteler</h5 >\r\n </div>\r\n <div className=\"col-2 justify-content-end align-items-end text-end \">\r\n {events != null && events.length > 0 && <span className=\"small badge bg-primary rounded-pill me-2\">{events.length}</span>}\r\n </div>\r\n\r\n </div>\r\n <div id=\"appevents\">\r\n {panel}\r\n </div>\r\n </div>\r\n\r\n );\r\n}\r\n\r\n\r\n\r\n","import { useLocation } from 'react-router-dom'\r\nimport React, { useState, useEffect } from 'react';\r\n\r\nimport UploadFile from \"./UploadFile.js\";\r\nimport { isEmpty, setVisible, showErrorMessage, showSuccessMessage, useGlobalState } from '../GlobalState.js';\r\nimport UserWorkLoad from './UserWorkLoad.js';\r\n\r\nimport UserFilePanel from \"./UserFilePanel.js\";\r\nimport UserPersonelData from './UserPersonelData.js';\r\nimport UserMeslekData from './UserMeslekData.js';\r\nimport UserComData from './UserComData.js';\r\nimport UserTipData from './UserTypeData.js';\r\nimport UserDynamicData from './UserDynamicData.js';\r\nimport { ajaxFail } from '../GlobalState.js';\r\n\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\n\r\nimport UserEventsPanel from './UserEventsPanel.js';\r\nimport axios from \"axios\";\r\n\r\n\r\nexport default function UserDetails(props) {\r\n let location = useLocation();\r\n const [userdata, setUserData] = useState(props.rec != null ? props.rec : location.state != null ? location.state.rec : null);\r\n\r\n\r\n\r\n const [activePanel, setActivePanel] = useState(userdata != null ? <UserPersonelData userdata={userdata} /> : null);\r\n\r\n\r\n // sidebartags.push(<a className=\"d-block p-2 m-2 rounded-3 text-decoration-none\" href=\"javascript:void(0)\" onClick={() => setData()}>Tum Mesajlar</a>);\r\n var sidebarPanel = [];\r\n sidebarPanel.push({ target: \"/applicationform\", state: { rec: userdata }, name: \"Ä°ÅŸ Yuku\", icon: \"\tfa fa-bar-chart\" });\r\n\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n var dynamicFields = \"\";\r\n const handleDynamicChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked.toString() : target.value;\r\n //dynamicdata[target.name] = { \"value\": value, \"type\": target.type };\r\n }\r\n\r\n if (userdata != null && userdata.dynamicData) {\r\n\r\n var ddata = JSON.parse(userdata.dynamicData);\r\n var keys = Object.keys(ddata);\r\n dynamicFields =\r\n keys.map(k =>\r\n <div className=\"col-6\">\r\n <label htmlFor={k} className=\"form-label\">{k}</label><br />\r\n {ddata[k].type != \"select-one\" ?\r\n <input type={ddata[k].type} className={ddata[k].type != \"checkbox\" ? \"form-control\" : \"form-check-input\"}\r\n id={k} placeholder={k} name={k} defaultValue={ddata[k].value} defaultChecked={ddata[k].value} onChange={handleDynamicChange} />\r\n :\r\n <select className=\"form-select form-select-sm\" id={k} name={k} onChange={handleDynamicChange} >\r\n {ddata[k].value != null ? ddata[k].value.split(\",\").map(rec =>\r\n <option value={rec}>{rec}</option>) : \"\"}\r\n </select>\r\n\r\n }\r\n </div>\r\n\r\n )\r\n }\r\n\r\n useEffect(() => {\r\n if (userdata) {\r\n if (userdata.pic) {\r\n if (document.getElementById(\"selectedimage\") != null) document.getElementById(\"selectedimage\").src = \"data:image/png;base64,\" + userdata.pic;\r\n if (document.getElementById(\"selectedimageright\") != null) document.getElementById(\"selectedimageright\").src = \"data:image/png;base64,\" + userdata.pic;\r\n }\r\n\r\n }\r\n else\r\n fetchUserData();\r\n\r\n }, [])\r\n\r\n\r\n\r\n\r\n\r\n const onSubmit = (e) => {\r\n if(e)\r\n e.preventDefault();\r\n\r\n if (isEmpty(userdata.role)) {\r\n showErrorMessage(\"Kullanıcı Rolu BoÅŸ Olamaz.\")\r\n return;\r\n }\r\n if (isEmpty(userdata.userType)) {\r\n showErrorMessage(\"Kullanıcı Tipi BoÅŸ Olamaz.\")\r\n return;\r\n }\r\n\r\n\r\n fetch(\"updateuser\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(userdata)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response, true)\r\n }\r\n else {\r\n // setUserData({ ... userdata })\r\n showSuccessMessage(\"Kullanıcı Bilgileri GüncellenmiÅŸtir. \");\r\n }\r\n });\r\n }\r\n\r\n const fetchUserData = () => {\r\n var param = \"\";\r\n if (userdata != null)\r\n param = \"?user=\" + userdata.userName;\r\n fetch(\"getuser\" + param, {\r\n method: 'GET'\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setUserData(data);\r\n setActivePanel(<UserPersonelData userdata={data} />)\r\n if (document.getElementById(\"selectedimage\") != null) document.getElementById(\"selectedimage\").src = \"data:image/png;base64,\" + data.pic;\r\n if (document.getElementById(\"selectedimageright\") != null) document.getElementById(\"selectedimageright\").src = \"data:image/png;base64,\" + data.pic;\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n const hasNumber = (myString) => {\r\n return /\\d/.test(myString);\r\n }\r\n const hasChar = (myString) => {\r\n return /[a-zA-Z]/g.test(myString);\r\n }\r\n\r\n\r\n const updatePassword = (event) => {\r\n var mevcut = document.getElementById(\"Password\").value;\r\n var new1 = document.getElementById(\"newpass1\").value;\r\n var new2 = document.getElementById(\"newpass2\").value;\r\n var pass = JSON.stringify({ username: userdata.userName, mevcut: mevcut, new1: new1, new2: new2 });\r\n if ((mevcut == null || mevcut.length == 0) && role.indexOf(UserPermConstants.Sifre_Degistirme) == -1) {\r\n showErrorMessage(\"Mevcut Åifrenizi Giriniz\");\r\n return;\r\n }\r\n if (new1 == null || new1.length < 8 || new2 == null || new2.length < 8) {\r\n showErrorMessage(\"Åifre en az 8 karakter, 1 harf ve 1 rakam içermelidr\");\r\n return;\r\n }\r\n if (hasNumber(new1) == false || hasChar(new1) == false) {\r\n showErrorMessage(\"Åifre en az 8 karakter, 1 harf ve 1 rakam içermelidr\");\r\n return;\r\n }\r\n\r\n if (new1 != new2) {\r\n showErrorMessage(\"Yeni girilen ÅŸifreler aynı deÄŸildir !\");\r\n return;\r\n }\r\n\r\n fetch(\"updatepassword\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: pass\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n showSuccessMessage(\"Åifre GuncellenmiÅŸtir.\")\r\n }\r\n });\r\n }\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target.name;\r\n const value = event.target.type === 'checkbox' ? event.target.checked : event.target.value;\r\n userdata[target] = value;\r\n\r\n if (event.target.type === 'checkbox' && event.target.id === \"karaliste\")\r\n document.getElementById(\"karalistesure\").disabled = !event.target.checked;\r\n\r\n if (event.target.type === 'checkbox' && event.target.id === \"denetimYetkisi\" && value == true) {\r\n showErrorMessage(\"Yetki Turleri Denetim Yetkileri Panelinden Belirlenmelidir\")\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n var sifrepanel = \"\";\r\n\r\n if (userdata != null) {\r\n sifrepanel = <div >\r\n {role.indexOf(UserPermConstants.Kullanici_Denetim_Yetkilerini_Editleme) > -1 && <div className=\"row\">\r\n <div className=\"col-4 ps-3\">\r\n Ä°ki aÅŸamalı kullanıcı doÄŸrulama\r\n </div>\r\n <div className=\"col-2\">\r\n <div className='col-4' >\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"Kabul\" defaultChecked={userdata!=null && userdata.twoStep!=false} onChange={(e) => { userdata.twoStep = e.target.checked; onSubmit(); }} />\r\n </div>\r\n </div>\r\n </div>}\r\n <div className=\"border mt-5 p-2 rounded-3\">\r\n <div className=\"row\">\r\n < div className=\"col-3 fw-bold\">\r\n Åifre DeÄŸiÅŸtir\r\n </div>\r\n <div className=\"col-2\">\r\n </div>\r\n </div>\r\n <div className=\"row pt-1\">\r\n <div className=\"col-3\">\r\n <label htmlFor=\"Password\" className=\"form-label\">Mevcut Åifre</label>\r\n </div>\r\n <div className=\"col-8\">\r\n <input type=\"password\" className=\"form-control\" id=\"Password\" placeholder=\"Mevcut Åifre\" name=\"password\" onChange={handleInputChange} defaultValue=\"\" />\r\n </div>\r\n </div>\r\n <div className=\"row pt-2\">\r\n <div className=\"col-3\">\r\n <label htmlFor=\"newpass1\" className=\"form-label\">Yeni Åifre</label>\r\n </div>\r\n <div className=\"col-8\">\r\n <input type=\"password\" className=\"form-control\" id=\"newpass1\" placeholder=\"Åifre en az 8 karakter, 1 harf ve 1 rakam içermelidr\" name=\"newpass1\" onChange={handleInputChange} defaultValue=\"\" />\r\n </div>\r\n </div>\r\n\r\n <div className=\"row pt-2\">\r\n <div className=\"col-3\">\r\n <label htmlFor=\"newpass2\" className=\"form-label\">Yeni Åifre (Tekrar)</label>\r\n </div>\r\n <div className=\"col-8\">\r\n <input type=\"password\" className=\"form-control\" id=\"newpass2\" placeholder=\"Yeni Åifre (Tekrar)\" name=\"newpass2\" onChange={handleInputChange} defaultValue=\"\" />\r\n </div>\r\n\r\n </div><button type=\"button\" onClick={updatePassword} className=\"btn btn-primary btn-sm mt-2\">DeÄŸiÅŸtir</button>\r\n </div>\r\n </div >\r\n\r\n }\r\n\r\n\r\n\r\n var isyuku = \"\";\r\n if (role.indexOf(UserPermConstants.Is_Yuku) >= 0 && userdata != null) {\r\n isyuku = <button type=\"button\" className=\"btn btn-link btn-sm text-decoration-none p-0\" data-bs-toggle=\"modal\" data-bs-target=\"#myModal\">\r\n Ä°ÅŸ Yuku\r\n </button>\r\n\r\n }\r\n\r\n const deletefile = (e) => {\r\n var formData = new FormData();\r\n formData.append(\"caption\", userdata.userName);\r\n formData.append(\"typeID\", 0);\r\n formData.append(\"appid\", 0);\r\n setVisible(\"myspiner\", true);\r\n axios.post(\r\n \"submituserpic\",\r\n formData,\r\n {\r\n headers: {\r\n \"Content-type\": \"multipart/form-data\"\r\n },\r\n }\r\n )\r\n .then(async res => {\r\n setVisible(\"myspiner\", false);\r\n setActivePanel(<UserPersonelData userdata={userdata} />)\r\n\r\n })\r\n .catch(err => {\r\n setVisible(\"myspiner\", false);\r\n showErrorMessage(err)\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n if (userdata == null) {\r\n return <div>lütfen bekleyin..</div>\r\n }\r\n const changeComponent = props.changeComponent;\r\n\r\n return (\r\n\r\n <div className=\"p-4 pt-3\" style={{ \"background-color\": \"#ebebeb\", \"min-height\": \"100vh\" }} key={userdata}>\r\n <div className=\"row mb-1\">\r\n <div className=\"col-12 text-end\">\r\n <button className=\"btn btn-sm btn-primary rounded me-2\" onClick={() => { fetchUserData() }}> <i className=\"fa fa-refresh pe-1\"></i> Yenile</button>\r\n\r\n <button className=\"btn btn-sm btn-primary rounded me-3\" onClick={() => {\r\n if (props.backButton)\r\n changeComponent(props.backButton)\r\n else {\r\n window.location.href = \"/\";\r\n }\r\n }}> <i className=\"fa fa-arrow-circle-left pe-1\"></i> Geri Don</button>\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"col-md-3 col-12\">\r\n <div className=\"bg-white rounded-3 p-2\">\r\n <div className='row'>\r\n <div className=\"col-12 col-md-4\">\r\n <img className=\"rounded-circle\" style={{ width: \"48px\", height: \"48px\" }} src={\"/getuserpic?user=\" + userdata.userName + \"&_=\" + Date.now()} />\r\n <div className=\"d-flex\">\r\n\r\n <UploadFile username={userdata.userName} filelabel={\"FotoÄŸrafı DeÄŸiÅŸtir\"} target={\"submituserpic\"}\r\n setSumbitResult={(g) => setActivePanel(<UserPersonelData userdata={userdata} />)} />\r\n <button className=\"btn btn-link m-0 p-0 ps-2\" onClick={deletefile}><i class=\"fa fa-trash-o\"></i></button>\r\n <span className=\"spinner-border spinner-border-sm ms-3\" id=\"myspiner\" hidden> </span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"col-12 col-md-8\">\r\n <div className=\"fw-bold text-black\"> {userdata.userName}</div>\r\n <div className=\"fw-bold text-muted\"> {userdata.name}</div>\r\n <div className=\"fw-bold text-muted\"> {userdata.family}</div>\r\n </div>\r\n </div>\r\n <div className='row mt-4'>\r\n <div className=\"col-12 ps-4\">\r\n <button type=\"button\" className=\"btn fw-bold btn-link btn-sm text-muted text-decoration-none p-0\" onClick={() => { setActivePanel(<UserPersonelData userdata={userdata} />) }}>\r\n KiÅŸisel Bilgiler\r\n </button>\r\n </div>\r\n </div>\r\n <div className='row mt-4'>\r\n <div className=\"col-12 ps-4\">\r\n <button type=\"button\" className=\"btn fw-bold btn-link btn-sm text-muted text-decoration-none p-0\" onClick={() => { setActivePanel(<UserMeslekData userdata={userdata} />) }}>\r\n Mesleki Bilgiler\r\n </button>\r\n </div>\r\n </div>\r\n <div className='row mt-4'>\r\n <div className=\"col-12 ps-4\">\r\n <button type=\"button\" className=\"btn fw-bold btn-link btn-sm text-muted text-decoration-none p-0\" onClick={() => { setActivePanel(sifrepanel) }}>\r\n Güvenlik\r\n </button>\r\n </div>\r\n </div>\r\n <div className='row mt-4'>\r\n <div className=\"col-12 ps-4\">\r\n <button type=\"button\" className=\"btn fw-bold btn-link btn-sm text-muted text-decoration-none p-0\" onClick={() => { setActivePanel(< UserComData userdata={userdata} />) }}>\r\n Ä°letiÅŸim Bilgileri\r\n </button>\r\n </div>\r\n </div>\r\n <div className='row mt-4'>\r\n <div className=\"col-12 ps-4\">\r\n <button type=\"button\" className=\"btn fw-bold btn-link btn-sm text-muted text-decoration-none p-0\" onClick={() => { setActivePanel(<UserTipData userdata={userdata} />) }}>\r\n Kullanıcı Tipi ve Yetkileri\r\n </button>\r\n </div>\r\n </div>\r\n <div className='row mt-4'>\r\n <div className=\"col-12 ps-4\">\r\n <button type=\"button\" className=\"btn fw-bold btn-link btn-sm text-muted text-decoration-none p-0\" onClick={() => { setActivePanel(<UserFilePanel userdata={userdata} />) }}>\r\n Dosyalar\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div className='row mt-4'>\r\n <div className=\"col-12 ps-4\">\r\n <button type=\"button\" className=\"btn fw-bold btn-link btn-sm text-muted text-decoration-none p-0\" onClick={() => { setActivePanel(<UserEventsPanel userdata={userdata} />) }}>\r\n GeçmiÅŸ Aktiviteler\r\n </button>\r\n </div>\r\n </div>\r\n <div className='row mt-4'>\r\n <div className=\"col-12 ps-4\">\r\n <button type=\"button\" className=\"btn fw-bold btn-link btn-sm text-muted text-decoration-none p-0\" onClick={() => { setActivePanel(<UserWorkLoad userdata={userdata} />) }}>\r\n Ä°ÅŸ Yuku\r\n </button>\r\n </div>\r\n </div>\r\n <div className='row mt-4'>\r\n <div className=\"col-12 ps-4\">\r\n <button type=\"button\" className=\"btn fw-bold btn-link btn-sm text-muted text-decoration-none p-0\" onClick={() => { setActivePanel(<UserDynamicData userdata={userdata} changeComponent={props.changeComponent} />) }}>\r\n DiÄŸer\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-md-9 col-12 rounded-3\">\r\n\r\n <div className=\"bg-white rounded-3 p-3 me-3\">\r\n <form className=\"mt-1\" method=\"POST\" onSubmit={onSubmit} key={userdata}>\r\n <fieldset disabled={role.indexOf(UserPermConstants.Kullanici_Bilgilerini_Editleme_Roller_Denetim_Yetkileri_Haric) == -1}>\r\n {activePanel}\r\n </fieldset>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport 'bootstrap/dist/js/bootstrap.min.js'\r\nimport Register2 from \"./Register2.js\";\r\nimport { isEmpty, capitalizeWords, sendpost, showErrorMessage, showSuccessMessage, useGlobalState } from '../GlobalState.js';\r\nimport UserFilePanel from \"./UserFilePanel.js\";\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport axios from \"axios\";\r\n\r\nexport default function Register3(props) {\r\n const [filds, setDynamicFields] = useState(null);\r\n var dynamicdata = {};\r\n var dynamicFields = null;\r\n const [captcha, setCaptcha] = useState(\"\");\r\n var [globalData, setGlobalData] = useGlobalState('globalData');\r\n\r\n useEffect(() => {\r\n\r\n getFieldList();\r\n fetchgetcaptcha();\r\n fetchGeneralData();\r\n }, [])\r\n\r\n const getFieldList = () => {\r\n fetch(\"getuserfields\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setDynamicFields(data);\r\n\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n const fetchGeneralData = () => {\r\n fetch(\"getgeneraldata\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setGlobalData(data);\r\n });\r\n }\r\n });\r\n }\r\n\r\n const fetchgetcaptcha = () => {\r\n fetch(\"getcaptcha\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.text().then(async data => {\r\n setCaptcha(data.replaceAll('\"', \"\"));\r\n const script = document.createElement(\"script\");\r\n script.src = \"https://www.google.com/recaptcha/api.js\";\r\n script.async = true;\r\n script.defer = true;\r\n document.getElementById(\"myscript\").appendChild(script);\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n const handleDynamicChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked.toString() : target.value;\r\n dynamicdata[target.name] = { \"value\": value, \"type\": target.type };\r\n }\r\n\r\n if (filds != null) { //!!!!!dont set the dynamicFields in fetch repoonce. it is in another scope and not see the handlechange\r\n dynamicFields = <div className=\"mb-3 mt-3 row\">\r\n {filds.map(rec => <div className=\"col-12 col-md-6 text-start\">\r\n <label htmlFor={rec.name} className=\"form-label m-0\">{rec.name}</label><br />\r\n {rec.type != \"select\" ?\r\n <input type={rec.type} required={rec.reqired} className={rec.type != \"checkbox\" ? \"form-control\" : \"form-check-input\"} id={rec.name} name={rec.name} defaultValue={dynamicdata[rec.name] != null ? dynamicdata[rec.name] : rec.initValue} onChange={handleDynamicChange} />\r\n :\r\n <select className=\"form-select form-select-sm\" required={rec.reqired} id={rec.name} name={rec.name} placeholder=\"Soru Türü\" onChange={handleDynamicChange} >\r\n <option value=\"\"></option>\r\n {rec.initValue != null ? rec.initValue.split(\",\").map(rec =>\r\n <option value={rec}>{rec}</option>) : \"\"}\r\n </select>\r\n\r\n }\r\n </div>\r\n )}\r\n\r\n </div>\r\n }\r\n\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked.toString() : target.value;\r\n window.userdata[target.name] = value;\r\n }\r\n\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n var check1 = document.getElementById(\"registerAgrement\");\r\n var check2 = document.getElementById(\"registerKVKK\");\r\n if (check1 != null && check1.checked == false) {\r\n showErrorMessage(\"Zorunlu metinler kabul edilmelidir.\");\r\n return;\r\n }\r\n if (check2 != null && check2.checked == false) {\r\n showErrorMessage(\"Zorunlu metinler kabul edilmelidir.\");\r\n return;\r\n }\r\n\r\n window.userdata.name = capitalizeWords(window.userdata.name);\r\n window.userdata.family = capitalizeWords(window.userdata.family);\r\n\r\n\r\n window.userdata.dynamicData = JSON.stringify(dynamicdata);\r\n\r\n if (window.grecaptcha.getResponse() == \"\") {\r\n showErrorMessage(\"Ben robot deÄŸilim testi baÅŸarısız !\");\r\n return false;\r\n }\r\n\r\n sendpost(\"submituser\", window.userdata, \"filesspin\", (response) => {\r\n showSuccessMessage(\"Kullanıcı Kaydı BaÅŸarıyla Tamamlanmıştır\", \"\", () => window.location.href = \"/\")\r\n }, (response) => {\r\n response.text().then(value => {\r\n showErrorMessage(value)\r\n\r\n })\r\n });\r\n\r\n\r\n\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n return <div className=\"mt-3\">\r\n <div id=\"myscript\"></div>\r\n <div className=\"row\" >\r\n <div className=\"ms-2 me-2 p-0 col-md-3 col-12 border-bottom border-3 \" > 1. KiÅŸisel Bilgiler\r\n </div>\r\n <div className=\"ms-3 me-2 p-0 col-md-3 col-12 border-bottom border-3 \" >2. Mesleki Bilgiler\r\n </div>\r\n <div className=\"ms-3 me-2 p-0 col-md-3 col-12 border-bottom border-3 text-primary border-primary fw-bold\" > 3. DiÄŸer\r\n </div>\r\n </div>\r\n <div className=\"\" >\r\n <div className=\"\" >\r\n <div className=\"\" >\r\n <form action=\"submitapplication\" className=\"mt-3\" method=\"POST\" onSubmit={onSubmit}>\r\n\r\n <div>\r\n {dynamicFields}\r\n\r\n\r\n\r\n {globalData != null &&\r\n (isEmpty(globalData.registerKVKK) == false || isEmpty(globalData.registerKVKKFile) == false) &&\r\n <div className=\" row\" >\r\n <div className=\"col-12 text-start\">\r\n <input class=\"form-check-input\" type=\"checkbox\" id=\"registerKVKK\" name=\"registerKVKK\" />\r\n <label class=\"form-check-label\" dangerouslySetInnerHTML={{ __html: globalData.registerKVKK }}></label>\r\n {globalData != null && isEmpty(globalData.registerKVKKFile) == false &&\r\n <a className=\"text-decoration-none\" href='getgeneralfile?id=registerKVKKFile' download={globalData.registerKVKKFile}> {globalData.registerKVKKFile} </a>\r\n }\r\n </div>\r\n </div>}\r\n\r\n\r\n {globalData != null &&\r\n (isEmpty(globalData.registerAgrement) == false || isEmpty(globalData.registerAgrementFile) == false) &&\r\n < div className=\" row mt-3 mb-3\">\r\n <div className=\"col-12 text-start\">\r\n <input class=\"form-check-input me-1\" type=\"checkbox\" id=\"registerAgrement\" name=\"registerAgrement\" />\r\n {isEmpty(globalData.registerAgrement) == false && <label className=\"form-check-label me-1\" dangerouslySetInnerHTML={{ __html: globalData.registerAgrement }}></label>}\r\n {isEmpty(globalData.registerAgrementFile) == false &&\r\n\r\n <a className=\"text-decoration-none\" href='getgeneralfile?id=registerAgrementFile' download={globalData.registerAgrementFile}> {globalData.registerAgrementFile} </a>\r\n\r\n }\r\n\r\n </div>\r\n </div>}\r\n\r\n <div className=\"mt-3 pt-2\" class=\"g-recaptcha\" data-sitekey={captcha}></div>\r\n\r\n <div className=\"row mt-3 border-top pt-2\" >\r\n <div className=\"col-6 col-md-6 text-start\">\r\n <button type=\"button\" name=\"actionSave\" value=\"Save\" className=\"btn btn-sm btn-primary mb-2 \" onClick={() => { props.changeComponent(<Register2 changeComponent={props.changeComponent} />) }}>Geri Dön</button>\r\n </div>\r\n <div className=\"col-6 col-md-6 text-end\">\r\n <span className=\"ms-1 spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\" id=\"filesspin\" hidden ></span>\r\n\r\n <button type=\"submit\" name=\"actionSave\" value=\"Save\" className=\"btn btn-sm btn-primary mb-2 \">Tamamla</button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </form>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport 'bootstrap/dist/js/bootstrap.min.js'\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { ajaxFail, isEmpty, showErrorMessage } from '../GlobalState.js';\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport { useGlobalState } from '../GlobalState.js';\r\n\r\n\r\nimport Register3 from \"./Register3.js\";\r\n\r\nimport Register1 from \"./Register1.js\";\r\n\r\n\r\nexport default function Register2(props) {\r\n\r\n useEffect(() => {\r\n fetchUserTypeList();\r\n\r\n }, [])\r\n const [options, setOptions] = useState([]);\r\n const multiselectRef = React.createRef();\r\n \r\n const [role, setRole] = useGlobalState('role');\r\n const zorunlo = role.indexOf(UserPermConstants.Yeni_Kullanici_Kaydinda_Zorunlu_Alanlari_Bos_Birakabilme) == -1;\r\n\r\n\r\n\r\n\r\n const fetchUserTypeList = () => {\r\n fetch(\"getusertypelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n var i = 0;\r\n var opts = [];\r\n for (i = 0; i < value.length; i++) {\r\n opts.push(value[i].appType)\r\n\r\n }\r\n setOptions(opts)\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked.toString() : target.value;\r\n window.userdata[target.name] = value;\r\n }\r\n const onSelect = (selectedList, selectedItem) => {\r\n var clist = selectedList.join();\r\n window.userdata[\"userType\"] = clist;\r\n\r\n }\r\n\r\n const onRemove = (selectedList, removedItem) => {\r\n var clist = selectedList.join();\r\n window.userdata[\"userType\"] = clist;\r\n\r\n }\r\n\r\n const nextPage = (e) => {\r\n \r\n if (isEmpty(window.userdata[\"userType\"])) {\r\n showErrorMessage(\"Kullanıcı Tipi boÅŸ olamaz.\");\r\n return;\r\n }\r\n props.changeComponent(<Register3 changeComponent={props.changeComponent} />)\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n return <div className=\"mt-3\">\r\n <div id=\"myscript\"></div>\r\n <div className=\"row\" >\r\n <div className=\"ms-2 me-2 p-0 col-md-3 col-12 border-bottom border-3 \" > 1. KiÅŸisel Bilgiler\r\n </div>\r\n <div className=\"ms-3 me-2 p-0 col-md-3 col-12 border-bottom border-3 text-primary border-primary fw-bold\" >2. Mesleki Bilgiler\r\n </div>\r\n <div className=\"ms-3 me-2 p-0 col-md-3 col-12 border-bottom border-3 \" > 3. DiÄŸer\r\n </div>\r\n </div>\r\n <div className=\"row m-3\" >\r\n <div className=\"col-12\" >\r\n <div className=\" align-items-center justify-content-center p-1\" >\r\n \r\n\r\n <div>\r\n <div className=\"row mt-3 pt-2\" >\r\n\r\n <div className=\"col-12 col-md-5\">\r\n <label className=\"form-label m-0\">Kullanici Tipi</label>\r\n <Multiselect className=\"p-0 form-control-sm bg-white\" id=\"kullanicitiplerim\"\r\n options={options}\r\n emptyRecordMsg=\"BaÅŸka Kullanıcı Tipi Yok\"\r\n ref={multiselectRef}\r\n isObject={false}\r\n onSelect={onSelect}\r\n onRemove={onRemove}\r\n selectedValues={window.userdata.userType != null ? window.userdata.userType.split(',') : []}\r\n placeholder=\"Kullanıcı Tipi\"\r\n />\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n <div className=\"row pt-4\">\r\n <div className=\"col-5\">\r\n <label htmlFor=\"UserName\" className=\"form-label m-0\">Meslek</label>\r\n <input type=\"text\" className=\"form-control col-9\" id=\"meslek\" placeholder=\"Meslek\" name=\"meslek\" onChange={handleInputChange} defaultValue={window.userdata.meslek} />\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div className=\"row pt-4\">\r\n <div className=\"col-5\">\r\n <label htmlFor=\"UserName\" className=\"form-label m-0\">Firma</label>\r\n <input type=\"text\" className=\"form-control col-9\" id=\"firma\" placeholder=\"Firma\" name=\"firma\" onChange={handleInputChange} defaultValue={window.userdata.firma} />\r\n </div>\r\n <div className=\"col-5\">\r\n <label htmlFor=\"Name\" className=\"form-label m-0\">Pozisyonu</label>\r\n <input type=\"text\" className=\"form-control\" id=\"pozisyonu\" placeholder=\"Pozisyonu\" name=\"pozisyonu\" onChange={handleInputChange} defaultValue={window.userdata.pozisyonu} />\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row pt-4\">\r\n <div className=\"col-5\">\r\n <label htmlFor=\"Family\" className=\"form-label m-0\">Firma Konumu</label>\r\n <input type=\"text\" className=\"form-control\" id=\"firmaKonumu\" placeholder=\"Firma Konumu\" name=\"firmaKonumu\" onChange={handleInputChange} defaultValue={window.userdata.firmaKonumu} />\r\n </div>\r\n \r\n <div className=\"col-5\">\r\n <label htmlFor=\"Family\" className=\"form-label m-0\">Firma Web Sitesi</label>\r\n <input type=\"text\" className=\"form-control\" id=\"firmaWebSitesi\" placeholder=\"Firma Web Sitesi\" name=\"firmaWebSitesi\" onChange={handleInputChange} defaultValue={window.userdata.firmaWebSitesi} />\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-3 border-top pt-2\" >\r\n <div className=\"col-6 col-md-6 text-start\">\r\n <button type=\"button\" name=\"actionSave\" value=\"Save\" className=\"btn btn-sm btn-primary mb-2 \" onClick={() => { props.changeComponent(<Register1 changeComponent={props.changeComponent} />) }}>Geri Dön</button>\r\n </div>\r\n <div className=\"col-12 col-md-6 text-end\">\r\n <button type=\"button\" className=\"btn btn-sm btn-primary mb-2 \" onClick={nextPage}>Devam</button>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport 'bootstrap/dist/js/bootstrap.min.js'\r\nimport { ajaxFail, isEmpty, showErrorMessage } from '../GlobalState.js';\r\nimport $ from 'jquery';\r\nimport Register2 from \"./Register2.js\";\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\nimport { useGlobalState, } from '../GlobalState.js';\r\n\r\nexport default function Register1(props) {\r\n \r\n\r\n useEffect(() => {\r\n \r\n }, [])\r\n\r\n if (window.userdata.sendMessage == null)\r\n window.userdata.sendMessage = true;\r\n if (window.userdata.sendEmail == null)\r\n window.userdata.sendEmail = true;\r\n if (window.userdata.sendSMS==null)\r\n window.userdata.sendSMS = true;\r\n\r\n \r\n\r\n\r\n\r\n $('#Name,#Family').on('keypress', function (event) {\r\n var regex = new RegExp(\"^[a-zA-ZğüçşöıÖÇÅÄ°ÄÃœ \\.]+$\");\r\n var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);\r\n if (!regex.test(key)) {\r\n event.preventDefault();\r\n return false;\r\n }\r\n });\r\n\r\n\r\n $('#UserName').on('keypress', function (event) {\r\n var regex = new RegExp(\"^[a-zA-Z0-9_\\.]+$\");\r\n var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);\r\n if (!regex.test(key)) {\r\n event.preventDefault();\r\n return false;\r\n }\r\n });\r\n\r\n $('#TC').on('keypress', function (event) {\r\n var regex = new RegExp(\"^[0-9]+$\");\r\n var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);\r\n if (!regex.test(key)) {\r\n event.preventDefault();\r\n return false;\r\n }\r\n });\r\n\r\n const hasNumber = (myString) => {\r\n return /\\d/.test(myString);\r\n }\r\n const hasChar = (myString) => {\r\n return /[a-zA-Z]/g.test(myString);\r\n }\r\n\r\n\r\n\r\n const [role, setRole] = useGlobalState('role');\r\n const zorunlo = role.indexOf(UserPermConstants.Yeni_Kullanici_Kaydinda_Zorunlu_Alanlari_Bos_Birakabilme) == -1;\r\n\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n var value = target.type === 'checkbox' ? target.checked : target.value.trim();\r\n window.userdata[target.name] = value;\r\n }\r\n\r\n const nextPage = (event) => {\r\n if (window.userdata.password == null || window.userdata.password.length < 8) {\r\n showErrorMessage(\"Åifre en az 8 karakter, 1 harf ve 1 rakam içermelidr\");\r\n return;\r\n }\r\n if (hasNumber(window.userdata.password) == false || hasChar(window.userdata.password) == false) {\r\n showErrorMessage(\"Åifre en az 8 karakter, 1 harf ve 1 rakam içermelidr\");\r\n return;\r\n }\r\n if (document.getElementById(\"Password\").value != document.getElementById(\"Password2\").value) {\r\n showErrorMessage(\"Girilen ÅŸifreler aynı deÄŸil\");\r\n return;\r\n }\r\n if (isEmpty(window.userdata.birthdate) ) {\r\n showErrorMessage(\"DoÄŸum Tarihi BoÅŸ Olamaz\");\r\n return;\r\n }\r\n if (isEmpty(window.userdata.name)) {\r\n showErrorMessage(\"Ä°sim BoÅŸ Olamaz\");\r\n return;\r\n }\r\n if (isEmpty(window.userdata.family)) {\r\n showErrorMessage(\"Ä°sim BoÅŸ Olamaz\");\r\n return;\r\n }\r\n if (isEmpty(window.userdata.tc) || window.userdata.tc==\"direct\") {\r\n showErrorMessage(\"TC BoÅŸ Olamaz\");\r\n return;\r\n }\r\n if (isEmpty(window.userdata.email)) {\r\n showErrorMessage(\"Email Adresi BoÅŸ Olamaz\");\r\n return;\r\n }\r\n if (isEmpty(window.userdata.tel)) {\r\n showErrorMessage(\"Telefon Numarası BoÅŸ Olamaz\");\r\n return;\r\n }\r\n if (isEmpty(window.userdata.userName)) {\r\n showErrorMessage(\"Kullanıcı Adı BoÅŸ Olamaz\");\r\n return;\r\n }\r\n\r\n props.changeComponent(<Register2 changeComponent={props.changeComponent} />)\r\n\r\n }\r\n \r\n\r\n const onSubmitSave = (e) => {\r\n window.userdata.bildirimTercihleri = \"EÄ°mzaSira\"; //initlaly all users have this activated\r\n fetch(\"updateuser\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(window.userdata)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n props.changeComponent(<Register2 changeComponent={props.changeComponent} />)\r\n\r\n }\r\n });\r\n }\r\n\r\n return <div className=\"mt-3\">\r\n <div id=\"myscript\"></div>\r\n <div className=\"row\" >\r\n <div className=\"ms-2 me-2 p-0 col-md-3 col-12 text-primary border-primary fw-bold border-bottom border-3 \" > 1. KiÅŸisel Bilgiler\r\n </div>\r\n <div className=\"ms-3 me-2 p-0 col-md-3 col-12 border-bottom border-3 \" >2. Mesleki Bilgiler\r\n </div>\r\n <div className=\"ms-3 me-2 p-0 col-md-3 col-12 border-bottom border-3 \" > 3. DiÄŸer\r\n </div>\r\n </div>\r\n <div className=\"row m-3\" >\r\n <div className=\"col-12\" >\r\n <div className=\" p-1\" >\r\n \r\n\r\n <div>\r\n <div className=\"mt-1 row mb-2\" >\r\n <div className=\"col-12 col-md-5\">\r\n <label className=\"form-label\">TC (ÅŸirketlerde yetkilinin TC'si yazılmalıdır) </label>\r\n <input type=\"text\" className=\"form-control\" pattern=\"[0-9]{1,20}\" maxLength=\"15\" id=\"TC\" placeholder=\"TC\" name=\"tc\" onChange={handleInputChange} defaultValue={window.userdata.tc == \"direct\" ? \"\" : window.userdata.tc} disabled={window.edevletlogin == true && role.indexOf(UserPermConstants.Kullanici_Kayit_Formu) == -1} />\r\n </div>\r\n <div className=\"col-12 col-md-5\">\r\n <label className=\"form-label\">DoÄŸum Tarihi </label>\r\n <input type=\"date\" max=\"2999-12-31\" className=\"form-control\" id=\"birthdate\" placeholder=\"DoÄŸum Tarihi\" name=\"birthdate\" required={zorunlo} onChange={handleInputChange} defaultValue={window.userdata.birthdate} />\r\n </div>\r\n\r\n </div>\r\n\r\n <div className=\"mt-1 row mb-2\" >\r\n <div className=\"col-12 col-md-5\">\r\n <label htmlFor=\"Name\" className=\"form-label m-0\">Adı</label>\r\n <input type=\"text\" className=\"form-control\" id=\"Name\" pattern=\"[a-zA-Z0-9ğüçşöıÖÇÅÄ°ÄÃœ ]+$\" placeholder=\"Adı\" name=\"name\" required={zorunlo} onChange={handleInputChange} defaultValue={window.userdata.name} disabled={window.edevletlogin == true && role.indexOf(UserPermConstants.Kullanici_Kayit_Formu) == -1} />\r\n\r\n </div>\r\n <div className=\"col-12 col-md-5\">\r\n <label htmlFor=\"Family\" className=\"form-label m-0\">Soyadı</label>\r\n <input type=\"text\" className=\"form-control\" id=\"Family\" pattern=\"[a-zA-Z0-9ğüçşöıÖÇÅÄ°ÄÃœ ]+$\" placeholder=\"Soyadı\" name=\"family\" required={zorunlo} onChange={handleInputChange} defaultValue={window.userdata.family} disabled={window.edevletlogin == true && role.indexOf(UserPermConstants.Kullanici_Kayit_Formu) == -1} />\r\n </div>\r\n </div>\r\n\r\n <div className=\"mt-1 row mb-2\" >\r\n <div className=\"col-12 col-md-5\">\r\n <label htmlFor=\"Tel\" className=\"form-label m-0\">GSM No (Başında 0 olmadan)</label>\r\n <input type=\"text\" pattern=\"[5-5]{1}[0-9]{2}[0-9]{7}\" maxLength=\"10\" placeholder=\"5__ ___ ____\" className=\"form-control\" id=\"Tel\" name=\"tel\" required={zorunlo} onChange={handleInputChange} defaultValue={window.userdata.tel} />\r\n\r\n </div>\r\n <div className=\"col-12 col-md-5\">\r\n <label htmlFor=\"Tel\" className=\"form-label m-0\">Email</label>\r\n <input type=\"email\" pattern=\"[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2, 4}$\" maxLength=\"50\" className=\"form-control\" id=\"email\" placeholder=\"email\" name=\"email\" required={zorunlo} onChange={handleInputChange} defaultValue={window.userdata.email} />\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"mt-1 row mb-2\" >\r\n <div className=\"col-12 col-md-5\">\r\n <label htmlFor=\"UserName\" className=\"form-label m-0\">Kullanıcı Adı</label>\r\n <input type=\"text\" className=\"form-control\" id=\"UserName\" maxLength=\"50\" placeholder=\"\" name=\"userName\" onChange={handleInputChange} required defaultValue={window.userdata.userName} />\r\n </div>\r\n\r\n <div className=\"col-12 col-md-6 pt-4\">\r\n <label className=\"form-label me-3\">Ä°letiÅŸim Yöntemi</label>\r\n <div className=\"form-check form-check-inline\">\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"sendMessage\" id=\"sendMessage\" defaultChecked={window.userdata.sendMessage} onChange={handleInputChange} defaultValue={window.userdata.sendMessage} />\r\n <label className=\"form-check-label m-0\" for=\"sendMessage\">\r\n Mesajlarım\r\n </label>\r\n </div>\r\n <div className=\"form-check form-check-inline\">\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"sendEmail\" id=\"sendEmail\" defaultChecked={window.userdata.sendEmail} onChange={handleInputChange} defaultValue={window.userdata.sendEmail} />\r\n <label className=\"form-check-label m-0\" for=\"sendEmail\">\r\n Email\r\n </label>\r\n </div>\r\n <div className=\"form-check form-check-inline\">\r\n <input className=\"form-check-input\" type=\"checkbox\" name=\"sendSMS\" id=\"sendSMS\" defaultChecked={window.userdata.sendSMS} onChange={handleInputChange} defaultValue={window.userdata.sendSMS} />\r\n <label className=\"form-check-label m-0\" for=\"sendSMS\">\r\n SMS\r\n </label>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n <div className=\" row mb-2\" id=\"passwordrow\" >\r\n <div className=\"col-12 col-md-5\">\r\n Åifre\r\n <input type=\"password\" maxLength=\"30\" className=\"form-control\" id=\"Password\" placeholder=\"Åifre en az 8 karakter, 1 harf ve 1 rakam içermelidr\" name=\"password\" required onChange={handleInputChange} defaultValue={window.userdata.password} />\r\n </div>\r\n <div className=\"col-12 col-md-5\">\r\n Åifre - Tekrar\r\n <input type=\"password\" maxLength=\"30\" className=\"form-control\" id=\"Password2\" placeholder=\"Åifre en az 8 karakter, 1 harf ve 1 rakam içermelidr\" name=\"password\" required onChange={handleInputChange} defaultValue={window.userdata.password} />\r\n </div>\r\n\r\n </div>\r\n\r\n \r\n <div className=\"row mt-3 border-top pt-2\" >\r\n <div className=\"col-12 col-md-12 text-end\">\r\n <button type=\"button\" className=\"btn btn-sm btn-primary mb-2 \" id=\"devambutton\" onClick={nextPage }>Devam</button>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div >\r\n </div >\r\n}\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, sendget, sendpost, showConfirmMessage, showSuccessMessage } from '../GlobalState.js';\r\nimport AdaSetting from './AdaSetting.js';\r\n\r\n\r\nexport default function CBSADAMatching(props) {\r\n const [listData, setListData] = useState(null);\r\n const [matchresult, setMAtchResult] = useState(null);\r\n const [cbsListData, setCBSListData] = useState(props.cbsdata);\r\n\r\n const [listtype, setListType] = useState(\"MATCH\");\r\n\r\n useEffect(() => {\r\n match();\r\n\r\n\r\n }, [])\r\n\r\n\r\n\r\n const fetchAdaList = () => {\r\n\r\n sendget(\"getadalist?mevki=NOTMATCH&mahalle=NOTMATCH\", \"universelistspin\", (response) => {\r\n\r\n response.json().then(value => {\r\n setListData(value)\r\n })\r\n });\r\n }\r\n\r\n\r\n const fetchCbsList = () => {\r\n\r\n sendget(\"getcbsadalist?param=NOTMATCHED\", \"cbslistspin\", (response) => {\r\n\r\n response.json().then(value => {\r\n setCBSListData(value)\r\n\r\n\r\n })\r\n\r\n });\r\n }\r\n\r\n const match = () => {\r\n\r\n sendget(\"matchada\", \"spinner1\", (response)=> {\r\n response.text().then(value => {\r\n var nums = value.replaceAll('\"', '').split(' ');\r\n setMAtchResult(nums)\r\n fetchAdaList();\r\n fetchCbsList();\r\n })\r\n });\r\n }\r\n\r\n const removeAda = (id) => {\r\n showConfirmMessage(id + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removeada\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n\r\n }\r\n else {\r\n setListData([...listData.filter(x => x.id != id)]);\r\n }\r\n }));\r\n }\r\n\r\n\r\n const removenotmatched = (list) => {\r\n fetch(\"removenotmatchedadas\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n fetchAdaList();\r\n }\r\n });\r\n }\r\n\r\n const addnotmatched = (rec) => {\r\n\r\n sendpost(\"addnotmatchedcbsadas\", rec, \"spinner1\", (response)=> {\r\n fetchCbsList();\r\n fetchAdaList();\r\n \r\n });\r\n }\r\n\r\n\r\n const renderCBSTable = (tabledata) => {\r\n var count = tabledata.length;\r\n tabledata = tabledata.slice(0, Math.min(30000, tabledata.length));\r\n var mytable = <div><div className=\"fw-bold mb-1 text-center\">TKGM'de olan Universe'de olmayan {count} kayıt\r\n\r\n </div>\r\n\r\n <div className=\"table-responsive mainpagescroll table-sm \" style={{ \"height\": \"85vh\" }}>\r\n <table className='table table-vdstriped table-sm' aria-labelledby=\"tabelLabel\">\r\n <tbody id=\"myTable\">\r\n {tabledata.map(rec =>\r\n <tr style={{ \"height\": \"15px\" }}>\r\n <td >{rec.tapumahalleref + \" \" + rec.adano + \"/\" + rec.parselno}</td>\r\n <td className=\"text-end\" ><button className=\"btn btn-sm btn-primary me-2 p-0 ps-1 pe-1 text-decoration-none\" onClick={() => addnotmatched(rec)}>Ekle</button></td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n \r\n return (mytable);\r\n }\r\n\r\n const renderAdaTable = (tabledata) => {\r\n var count = tabledata.length;\r\n tabledata = tabledata.slice(0, Math.min(30000, tabledata.length));\r\n var mytable = <div > <div className=\"fw-bold mb-1 text-center \">Universe'de olan TKGM'de olmayan {count} kayıt\r\n\r\n </div>\r\n\r\n <div className=\"table-responsive mainpagescroll table-sm \" style={{ \"height\": \"85vh\" }}>\r\n <table className='table table-vdstriped table-sm' aria-labelledby=\"tabelLabel\">\r\n <tbody id=\"myTable\">\r\n {tabledata.map(rec =>\r\n <tr style={{ \"height\": \"15px\" }}>\r\n <td >{rec.userName + \" \" + rec.name}</td>\r\n <td className=\"text-end\" ><button className=\" btn btn-sm btn-secondary me-2 p-0 ps-1 pe-1 text-decoration-none\" onClick={() => removeAda(rec.id)}>Sil</button></td>\r\n\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div >\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n var listTable = \"\";\r\n\r\n var taskpart = document.getElementById(\"taskpart\")\r\n if (taskpart != null) {\r\n if (listtype == \"MATCH\") {\r\n taskpart.hidden = true;\r\n }\r\n else {\r\n taskpart.hidden = false;\r\n }\r\n }\r\n\r\n return (\r\n <div className=\"p-3\">\r\n\r\n\r\n <div className=\"row mb-1\">\r\n <div className=\"col-10\">\r\n <h5 className=\"\">TKGM'deki Veri ile EÅŸleÅŸtir</h5>\r\n </div>\r\n <div className=\"col-2 text-end\" >\r\n <button onClick={() => props.changeComponent(<AdaSetting changeComponent={props.changeComponent} />)} className=\"btn btn-primary btn-sm text-decoration-none \">Geri Dön</button>\r\n </div>\r\n </div>\r\n <div className=\"row mb-3\">\r\n <div className=\"col-12 textvmuted \" style={{ \"text-align\": \"justify\" }} >\r\n <div className=\"bg-light p-3 rounded-3 textvmuted fw-bold align-middle\" >\r\n <span className=\"fa fa-info pe-3\" style={{ color: \"lightblue\", fontSize: \"26px\" }} ></span>\r\n Bu ekranda TKGM den gelen parsel verileri ile Universe'de kullanılan parsel verisi karşılaÅŸtırılmaktadır.\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div className=\"\" id=\"spinner1\" hidden>\r\n <span >EÅŸleÅŸtirme yapılıyor. Lütfen iÅŸlem tamamlanmadan sayfayı kapatmayınız...</span>\r\n <div className=\"spinner-border spinner-border-sm ms-1\" role=\"status\" ></div>\r\n </div>\r\n\r\n {matchresult != null && <div class=\"mt-3 text-primary\" id=\"reportdata\">\r\n <div className=\"row mb-1\" >\r\n <div className=\"col-4 \">\r\n Universe Parsel Sayısı: {matchresult[0]}\r\n </div>\r\n <div className=\"col-4\">\r\n TKGM Parsel Sayısı: {matchresult[1]}\r\n </div>\r\n <div className=\"col-4 \">\r\n EÅŸleÅŸen Kayıt Sayısı: {matchresult[2]}\r\n </div>\r\n <div className=\"col-4 \">\r\n Universe'de olan TKGM'de olmayan: {matchresult[3]}\r\n </div>\r\n <div className=\"col-4\">\r\n TKGM'de olan Universe'de olmayan: {matchresult[4]}\r\n </div>\r\n </div>\r\n </div>}\r\n\r\n\r\n\r\n\r\n <div className=\"row mb-1\" hidden id=\"taskpart\">\r\n <div className=\"col-12 text-end\">\r\n <button onClick={removenotmatched} className=\"btn btn-link btn-sm me-1 text-decoration-none\">EÅŸleÅŸmeyen Tüm Lokal Kayıtları Sil</button>\r\n <button onClick={() => { addnotmatched(cbsListData.filter(x => x.ada == null)) }} className=\"btn btn-link btn-sm text-decoration-none\">EÅŸleÅŸmeyen Tüm CBS Kayıtları Ekle</button>\r\n\r\n </div>\r\n </div>\r\n <div className=\"row mt-4\" id=\"tablepart\">\r\n <div className=\"col-6\" >\r\n <button className=\"ms-1 btn btn-sm btn-danger me-2 mb-1 text-decoration-none\" onClick={() => removenotmatched()}>Universe'de olan TKGM'de olmayan tüm kayıtları sil ({listData != null ? listData.length + \" kayıt\" : \"0 kayıt\"})</button>\r\n\r\n </div>\r\n <div className=\"col-6\" >\r\n <button className=\"ms-1 btn btn-sm btn-success me-2 mb-1 text-decoration-none\" onClick={() => addnotmatched()}>TKGM'de olan Universe'de olmayan tüm kayıtları ekle ({cbsListData != null ? cbsListData.length + \" kayıt\" : \"0 kayıt\"})</button>\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row\" >\r\n <div className=\"col-6 text-center\" >\r\n <div hidden className=\"spinner-border spinner-border-sm\" role=\"status\" id=\"universelistspin\"></div>\r\n </div>\r\n <div className=\"col-6 text-center\" >\r\n <div hidden claclassNamess=\"spinner-border spinner-border-sm\" role=\"status\" id=\"cbslistspin\"></div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-4\" id=\"tablepart\">\r\n <div className=\"col-6\" >\r\n {listData != null ? renderAdaTable(listData, \"userName\", \"mahal\") : \"\"}\r\n </div>\r\n <div className=\"col-6\" >\r\n {cbsListData != null ? renderCBSTable(cbsListData, \"tapumahalleref\", \"mahal\") : \"\"}\r\n </div>\r\n </div>\r\n\r\n\r\n <div className=\"row\" key={listTable} id=\"progress-row\" hidden>\r\n <div className=\"col-12\" >\r\n\r\n <div className=\"mt-4\" >\r\n <div className=\"progress\" >\r\n <div className=\"progress-bar p-0\" style={{ \"width\": \"0%\" }} id=\"progressbar\">0%</div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"\" id=\"recordstatus\">\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n </div >\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport CBSMahalleMatching from './CBSMahalleMatching.js';\r\nimport KadastralVeri from '../Application/KadastralVeri.js';\r\nimport { ajaxFail, showConfirmMessage, showErrorMessage, showSuccessMessage } from '../GlobalState.js';\r\n\r\nimport bootstrap from 'bootstrap/dist/js/bootstrap.min.js'\r\nexport default function MahalleSetting(props) {\r\n var postdata = {};\r\n const [listData, setListData] = useState(null);\r\n const [MevkiList, setMevkiList] = useState([]);\r\n var sortField = null;\r\n const [sortDirection, setSortDirection] = useState({});\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n\r\n useEffect(() => {\r\n var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"popover\"]'))\r\n var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {\r\n return new bootstrap.Popover(popoverTriggerEl)\r\n })\r\n }, [])\r\n\r\n const myCompare = (a, b) => {\r\n var av = a[sortField];\r\n var bv = b[sortField];\r\n var ret = 1;\r\n if (sortDirection[sortField] == \"ZA\")\r\n ret = -1;\r\n\r\n if (av == null && bv != null)\r\n return -1 * ret;\r\n if (av != null && bv == null)\r\n return ret;\r\n\r\n\r\n if (typeof av === 'string' || av instanceof String)\r\n if (typeof bv === 'string' || bv instanceof String)\r\n return av.localeCompare(bv) * ret;\r\n if (av < bv) {\r\n return -1 * ret;\r\n }\r\n if (av > bv) {\r\n return ret;\r\n }\r\n return 0;\r\n }\r\n\r\n const sortList = (fildname) => {\r\n sortField = fildname;\r\n if (sortDirection[sortField] == null || sortDirection[sortField] == \"ZA\") {\r\n sortDirection[sortField] = \"AZ\";\r\n }\r\n else {\r\n sortDirection[sortField] = \"ZA\";\r\n }\r\n var temp = [...listData]; //clone the array to update the component on setApplist\r\n temp.sort(myCompare);\r\n setListData(temp);\r\n }\r\n\r\n\r\n const removeRecord = (id) => {\r\n showConfirmMessage(id + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removemahalle\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify([id])\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n }));\r\n }\r\n\r\n const fetchMevkiList = () => {\r\n\r\n fetch(\"getmevkilist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n var i = 0;\r\n var c = document.getElementById(\"mevkiId\");\r\n c.innerHTML = \"\";\r\n for (i = 0; i < value.length; i++) {\r\n var opt = document.createElement('option');\r\n opt.value = value[i].id;\r\n opt.innerHTML = value[i].name;;\r\n c.appendChild(opt);\r\n }\r\n c.selectedIndex = -1;\r\n setMevkiList(value);\r\n fetchList();\r\n })\r\n }\r\n });\r\n }\r\n\r\n \r\n\r\n const getMevkiName = (rec) => {\r\n var id = rec.mevkiId\r\n for (var i = 0; i < MevkiList.length; i++) {\r\n if (MevkiList[i].id == id) {\r\n rec.mevkiName = MevkiList[i].name;\r\n return MevkiList[i].name;\r\n }\r\n }\r\n }\r\n\r\n const submitUpdateRecord = (rec) => {\r\n\r\n fetch(\"updatemahalle\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı\")\r\n }\r\n });\r\n }\r\n\r\n const fetchList = () => {\r\n\r\n fetch(\"getmahallelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const Add = () => {\r\n if (document.getElementById(\"mevkiId\").selectedIndex == -1) {\r\n showErrorMessage(\"Mevki SeçilmemiÅŸ\");\r\n return;\r\n }\r\n postdata[\"mevkiId\"]=document.getElementById(\"mevkiId\").value;\r\n\r\n fetch(\"addmahalle\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify([postdata])\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n document.getElementById(\"name\").value = \"\";\r\n document.getElementById(\"koordinat\").value = \"\";\r\n fetchList();\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value;\r\n }\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n\r\n var mytable = <div>\r\n <div className=\"row mb-2 pt-2 border-top\">\r\n <div className=\"col-12 fw-bold\">\r\n Manuel Mahalle Ekle\r\n </div>\r\n </div>\r\n <div className=\"row mb-3 pb-3 border-bottom\">\r\n <div className=\"col-12 col-md-3\">\r\n Mevki Seç (Zorunlu)\r\n <select className=\"form-select form-select-sm\" id=\"mevkiId\" name=\"mevkiId\" required={true} >\r\n </select>\r\n </div>\r\n <div className=\"col-12 col-md-3\">\r\n Mahalle Adını Gir (Zorunlu)\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"name\" placeholder=\"\" name=\"name\" onChange={handleInputChange} defaultValue=\"\" />\r\n </div>\r\n <div className=\"col-12 col-md-5\">\r\n Koordinat Gir\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"koordinat\" placeholder=\"\" name=\"koordinat\" onChange={handleInputChange} defaultValue=\"\" />\r\n </div>\r\n \r\n <div className=\"col-12 col-md-1\">\r\n <br />\r\n <button onClick={Add} className=\"btn btn-sm btn-primary text-decoration-none\">Ekle</button>\r\n </div>\r\n </div>\r\n < div className=\"row rounded-3\">\r\n <div className=\"col-3 m-1 text-center fw-bold\" >\r\n <button onClick={() => sortList(\"mevkiName\")} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Mevki</button>\r\n \r\n </div>\r\n <div className=\"col-3 m-1 text-center fw-bold\" >\r\n <button onClick={() => sortList(\"name\")} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Mahalle</button>\r\n \r\n </div>\r\n <div className=\"col-4 text-center fw-bold\" >\r\n <button onClick={() => sortList(\"koordinat\")} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Koordinat</button>\r\n </div>\r\n <div className=\"col-2 text-center fw-bold\" >\r\n </div>\r\n </div>\r\n\r\n {tabledata.map(apprec =>\r\n < div className=\"row rounded-3 mt-2\" key={apprec.id}>\r\n {/*<div className=\"col-1\" >*/}\r\n {/* {apprec.id} */}\r\n {/*</div>*/}\r\n <div className=\"col-3\" >\r\n <select className=\"form-select form-select-sm\" name=\"mevkiId\" defaultValue={apprec.mevkiId} onChange={(e) => updateRecord(apprec, e)} >\r\n <option value={-1}></option>\r\n {MevkiList.map(x => <option value={x.id}>{x.name}</option>)}\r\n </select>\r\n\r\n </div>\r\n <div className=\"col-3\" >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" name=\"name\" defaultValue={apprec.name} onChange={(e) => updateRecord(apprec, e)} />\r\n </div>\r\n\r\n <div className=\"col-4\" >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" name=\"koordinat\" defaultValue={apprec.koordinat} onChange={(e) => updateRecord(apprec, e)} />\r\n </div>\r\n <div className=\"col-2 text-end\" >\r\n <button onClick={() => submitUpdateRecord(apprec)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Güncelle</button> \r\n <button onClick={() => removeRecord(apprec.id)} className=\"btn btn-link btn-sm text-danger text-decoration-none m-0 p-0\">Sil</button>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n \r\n fetchMevkiList();\r\n }, [])\r\n\r\n\r\n var listTable = \"\";\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n else\r\n listTable = renderTable([]);\r\n\r\n return (\r\n <div className=\"bg-light m-2 p-3 rounded-3\">\r\n <div className=\"row mb-3 \">\r\n <div className=\"col-6 \" >\r\n <h5>MAHALLE</h5>\r\n </div>\r\n <div className=\"col-6 text-end\" >\r\n <button onClick={() => props.changeComponent(<CBSMahalleMatching changeComponent={props.changeComponent} />)} className=\"btn btn-sm btn-success text-decoration-none me-1\">TKGM ile EÅŸleÅŸtir</button>\r\n <button className=\"btn btn-secondary me-3 btn-sm text-decoration-none fw-bold\" id=\"mypopover\" data-bs-trigger=\"focus\" data-bs-toggle=\"popover\" title=\"AÇIKLAMA\" data-bs-content=\"TKGM mahalle verisi ile UNIVERSE'de kullanılan BAÅVURUYA ESAS mahalle verisini karşılaÅŸtırır. Toplu olarak veri ekleyip silebileceÄŸiniz gibi tek tek de iÅŸlem yapabilirsiniz.\">?</button>\r\n\r\n <button onClick={() => props.changeComponent(<KadastralVeri changeComponent={props.changeComponent} />)} className=\"btn btn-primary btn-sm text-decoration-none \">Geri Dön</button>\r\n </div>\r\n </div>\r\n {listTable}\r\n </div>\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport KadastralVeri from '../Application/KadastralVeri.js';\r\nimport { ajaxFail, showConfirmMessage, showErrorMessage, showSuccessMessage, removeTurkcLow } from '../GlobalState.js';\r\nimport CBSADAMatching from './CBSADAMatching.js';\r\nimport $ from 'jquery';\r\n\r\nimport bootstrap from 'bootstrap/dist/js/bootstrap.min.js'\r\n\r\nexport default function AdaSetting(props) {\r\n var postdata = {};\r\n const [listData, setListData] = useState(null);\r\n const [MahalleList, setMahalleList] = useState([]);\r\n\r\n\r\n\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n useEffect(() => {\r\n var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"popover\"]'))\r\n var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {\r\n return new bootstrap.Popover(popoverTriggerEl)\r\n })\r\n }, [])\r\n\r\n var sortField = null;\r\n const [sortDirection, setSortDirection] = useState({});\r\n\r\n const myCompare = (a, b) => {\r\n var av = a[sortField];\r\n var bv = b[sortField];\r\n var ret = 1;\r\n if (sortDirection[sortField] == \"ZA\")\r\n ret = -1;\r\n\r\n if (av == null && bv != null)\r\n return -1 * ret;\r\n if (av != null && bv == null)\r\n return ret;\r\n\r\n\r\n if (typeof av === 'string' || av instanceof String)\r\n if (typeof bv === 'string' || bv instanceof String)\r\n return av.localeCompare(bv) * ret;\r\n if (av < bv) {\r\n return -1 * ret;\r\n }\r\n if (av > bv) {\r\n return ret;\r\n }\r\n return 0;\r\n }\r\n\r\n const sortList = (fildname) => {\r\n sortField = fildname;\r\n if (sortDirection[sortField] == null || sortDirection[sortField] == \"ZA\") {\r\n sortDirection[sortField] = \"AZ\";\r\n }\r\n else {\r\n sortDirection[sortField] = \"ZA\";\r\n }\r\n var temp = [...listData]; //clone the array to update the component on setApplist\r\n temp.sort(myCompare);\r\n setListData(temp);\r\n }\r\n\r\n const removeRecord = (id) => {\r\n showConfirmMessage(id + \" Numaralı Kaydı Silmek Ä°stedinizden Emin Misiniz?\", \"\", \"Evet\", \"Hayır\", () =>\r\n fetch(\"removeada\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n\r\n }\r\n else {\r\n fetchList();\r\n }\r\n }));\r\n }\r\n\r\n\r\n const validateNumberAndForwardSlash = (event) => {\r\n var key = event.which;\r\n if (key >= 48 && key <= 57 || key == 47) {\r\n return true;\r\n } else {\r\n\r\n event.preventDefault()\r\n }\r\n }\r\n\r\n\r\n const submitUpdateRecord = (rec) => {\r\n\r\n fetch(\"updateada\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n showSuccessMessage(\"Güncelleme BaÅŸarılı\")\r\n }\r\n });\r\n }\r\n\r\n const fetchList = () => {\r\n var mahalle = JSON.parse(document.getElementById(\"mahalleId\").value);\r\n document.getElementById(\"mahallesecimmsg\").innerHTML = \"\";\r\n\r\n postdata[\"mahalleId\"] = mahalle.id;\r\n\r\n fetch(\"getadalistbyid?mevki=\" + mahalle.mevkiId + \"&mahalle=\" + mahalle.id, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const Add = () => {\r\n if (document.getElementById(\"mahalleId\").selectedIndex == -1) {\r\n showErrorMessage(\"Mahalle SeçilmemiÅŸ\");\r\n return;\r\n }\r\n var mahalle = JSON.parse(document.getElementById(\"mahalleId\").value);\r\n postdata[\"mahalleId\"] = mahalle.id;\r\n\r\n fetch(\"addada\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(postdata)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n document.getElementById(\"name\").value = \"\";\r\n document.getElementById(\"koordinat\").value = \"\";\r\n fetchList();\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value;\r\n }\r\n\r\n const getMahalleName = (id) => {\r\n for (var i = 0; i < MahalleList.length; i++) {\r\n if (MahalleList[i].id == id)\r\n return MahalleList[i].name;\r\n }\r\n }\r\n\r\n\r\n const filterTable = (event) => {\r\n var textbox = event.target;\r\n if (textbox == null)\r\n return;\r\n var value = textbox.value;\r\n\r\n $(\"#myTable .row \").filter(function () {\r\n var rowtext = $(this).children().eq(1).children().eq(0).val()\r\n var t1 = removeTurkcLow(rowtext);\r\n var t2 = removeTurkcLow(value);\r\n if (t1.indexOf(t2) == -1)\r\n return $(this).toggle(false);\r\n return $(this).toggle(true);\r\n });\r\n if (document.getElementById(\"totalrec\") != null && $(\"#myTable div:visible\") != null)\r\n document.getElementById(\"totalrec\").innerHTML = $(\"#myTable div:visible\").length + \" kayıt\";\r\n\r\n }\r\n\r\n\r\n\r\n\r\n const renderTable = (tabledata) => {\r\n\r\n var mytable = <div>\r\n < div className=\"row rounded-3\">\r\n <div className=\"col-3 fw-bold\" >\r\n <button onClick={() => sortList(\"mevkiName\")} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Mahalle</button>\r\n\r\n </div>\r\n <div className=\"col-2 fw-bold\" >\r\n <button onClick={() => sortList(\"name\")} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Ada/Parsel</button>\r\n\r\n </div>\r\n <div className=\"col-4 fw-bold\" >\r\n <button onClick={() => sortList(\"koordinat\")} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Koordinat</button>\r\n </div>\r\n {/*<div className=\"col-1 \" >*/}\r\n {/*Kara Liste*/}\r\n {/*</div>*/}\r\n <div className=\"col-2 \" >\r\n Kara Liste\r\n </div>\r\n <div className=\"col-1 \" >\r\n </div>\r\n </div>\r\n\r\n < div id=\"myTable\">\r\n {tabledata.map(apprec =>\r\n < div className=\"row rounded-3\" key={apprec.id}>\r\n <div className=\"col-3 mt-1\" >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" name=\"name\" value={getMahalleName(apprec.mahalleId)} />\r\n </div>\r\n <div className=\"col-2 mt-1\" >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" name=\"name\" defaultValue={apprec.name} onChange={(e) => updateRecord(apprec, e)} />\r\n </div>\r\n <div className=\"col-4 mt-1\" >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" name=\"koordinat\" defaultValue={apprec.koordinat} onChange={(e) => updateRecord(apprec, e)} />\r\n </div>\r\n {/* <div className=\"col-1 mt-1\" >*/}\r\n {/* <input type=\"checkbox\" className=\"form-check-input\" name=\"karaListe\" defaultChecked={apprec.karaListe} onChange={(e) => updateRecord(apprec, e)} />*/}\r\n {/*</div>*/}\r\n <div className=\"col-2 mt-1\" >\r\n <input className=\"form-control form-control-sm\" type=\"date\" name=\"karaListeTarih\" id=\"karaListeTarih\" defaultValue={apprec.karaListeTarih} placeholder=\"2024/01/01\" onChange={(e) => updateRecord(apprec, e)} />\r\n\r\n </div>\r\n <div className=\"col-1 text-end\" >\r\n <button onClick={() => submitUpdateRecord(apprec)} className=\"btn btn-link text-decoration-none m-0 p-0\"><i class=\"fa fa-save\" title=\"Güncelle\"></i></button> \r\n <button onClick={() => removeRecord(apprec.id)} className=\"btn btn-link text-danger text-decoration-none m-0 p-0\"><i class=\"fa fa-trash-o\" title=\"Sil\"></i></button>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n\r\n return (mytable);\r\n }\r\n\r\n const fetchMahalleList = () => {\r\n\r\n fetch(\"getmahallelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n var i = 0;\r\n var c = document.getElementById(\"mahalleId\");\r\n c.innerHTML = \"\";\r\n var opt = document.createElement('option');\r\n opt.value = JSON.stringify(\"\");\r\n opt.innerHTML = \"Mahalle Seçiniz\";\r\n opt.disabled = true;\r\n opt.selected = true;\r\n c.appendChild(opt);\r\n\r\n for (i = 0; i < value.length; i++) {\r\n var opt = document.createElement('option');\r\n opt.value = JSON.stringify(value[i]);\r\n opt.innerHTML = value[i].name;;\r\n c.appendChild(opt);\r\n }\r\n setMahalleList(value);\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchMahalleList();\r\n\r\n }, [])\r\n\r\n\r\n var listTable = \"\";\r\n if (listData != null && listData.length > 0) {\r\n listTable = renderTable(listData);\r\n }\r\n\r\n\r\n return (\r\n <div className=\"\">\r\n <div className=\"bg-light m-2 p-3 rounded-3\">\r\n <div className=\"row mb-3 pb-3 border-bottom\">\r\n <div className=\"col-6 \" >\r\n <h5>Ada/Parsel</h5>\r\n </div>\r\n <div className=\"col-6 text-end\" >\r\n <button onClick={() => props.changeComponent(<CBSADAMatching changeComponent={props.changeComponent} />)} className=\"btn btn-sm btn-success text-decoration-none me-1\">TKGM ile EÅŸleÅŸtir</button>\r\n <button className=\"btn btn-secondary me-3 btn-sm text-decoration-none fw-bold\" id=\"mypopover\" data-bs-trigger=\"focus\" data-bs-toggle=\"popover\" title=\"AÇIKLAMA\" data-bs-content=\"TKGM ada/parsel verisi ile UNIVERSE'de kullanılan BAÅVURUYA ESAS ada/parsel verisini karşılaÅŸtırır. Toplu olarak veri ekleyip silebileceÄŸiniz gibi tek tek de iÅŸlem yapabilirsiniz. Dikkat: Bu iÅŸlem uzun sürebilmektedir. Lütfen iÅŸlem tamamlanmadan sayfayı kapatmayınız.\">?</button>\r\n\r\n <button onClick={() => props.changeComponent(<KadastralVeri changeComponent={props.changeComponent} />)} className=\"btn btn-primary btn-sm text-decoration-none \">Geri Dön</button>\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"col-12 fw-bold mb-4\">\r\n Manuel Ada/Parsel Ekle\r\n </div>\r\n\r\n </div>\r\n\r\n <div className=\"row mb-2 pb-4 border-bottom\">\r\n <div className=\"col-3\">\r\n <select className=\"form-select form-select-sm\" id=\"mahalleId\" name=\"mahalleId\" required={true} onChange={fetchList} >\r\n </select>\r\n </div>\r\n <div className=\"col-3\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"name\" placeholder=\"Ada/Parsel\" name=\"name\" onChange={handleInputChange} defaultValue=\"\" onKeyPress={validateNumberAndForwardSlash} />\r\n </div>\r\n <div className=\"col-5\">\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"koordinat\" placeholder=\"Koordinat\" name=\"koordinat\" onChange={handleInputChange} defaultValue=\"\" />\r\n </div>\r\n <div className=\"col-1 text-end\"> <button onClick={Add} className=\"btn btn-sm btn-primary text-decoration-none\">Ekle</button></div>\r\n </div>\r\n\r\n\r\n <div className=\"row mt-2\">\r\n <div className=\"col-3\" id=\"totalrec\">\r\n {listData != null ? listData.length : 0} kayıt\r\n </div>\r\n <div className=\"col-3 text-center\">\r\n <input className=\"form-control form-control-sm \" id=\"mySearchInput\" type=\"text\" placeholder=\"Ara\" onKeyUp={filterTable} />\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n \r\n\r\n {listTable}\r\n </div>\r\n <div className=\"text-center mt-5 textvmuted\" id=\"mahallesecimmsg\"><h2>Lütfen öncelikle mahalle seçimi yapınız</h2> </div>\r\n </div>\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport KadastralVeri from '../Application/KadastralVeri.js';\r\nimport $ from 'jquery';\r\nimport { ajaxFail, cutString, isEmpty, showErrorMessage, toUpperCaseTurkce } from '../GlobalState.js';\r\nimport CBSADAMatching from './CBSADAMatching.js';\r\nimport CBSAdaSorgula from './CBSAdaSorgula.js';\r\nimport bootstrap from 'bootstrap/dist/js/bootstrap.min.js'\r\nimport { Tarife_Cetveli } from '../User/UserPermConstants.js';\r\n\r\nexport default function CBSAdaSetting(props) {\r\n const [listData, setListData] = useState(props.cbsdata);\r\n const [searchKeyword, setSearchKeyWord] = useState(null);\r\n var recivedRecCount = 0;\r\n useEffect(() => {\r\n if (listData == null)\r\n fetchList();\r\n var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"popover\"]'))\r\n var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {\r\n return new bootstrap.Popover(popoverTriggerEl)\r\n })\r\n }, [])\r\n\r\n\r\n const getDurumName = (d) => {\r\n if (d == 0) return \"Bilinmiyor\";\r\n if (d == 1) return \"Taslak\";\r\n if (d == 2) return \"Pasif\";\r\n if (d == 3) return \"Aktif\";\r\n }\r\n\r\n\r\n const refreshList = () => {\r\n var durum = \"\";\r\n document.getElementById(\"errorbox\").innerHTML = \"\";\r\n var raktif = document.getElementById(\"Aktif\").checked;\r\n var rpasif = document.getElementById(\"Pasif\").checked;\r\n\r\n if (raktif == true)\r\n durum = \"durum=3\";\r\n else if (rpasif == true)\r\n durum = \"durum=2\";\r\n\r\n var strtType = \"start\";\r\n if (document.getElementById(\"start0\").checked)\r\n strtType = \"continue\";\r\n if (document.getElementById(\"fromdate\").checked) {\r\n strtType = \"fromdate\";\r\n var tarih = document.getElementById(\"tarih\").value;\r\n if (isEmpty(tarih)) {\r\n showErrorMessage(\"Tarih BoÅŸ Olamaz\");\r\n return;\r\n }\r\n if (durum.length > 0)\r\n durum = durum + \" and \";\r\n durum = durum + \"sistemkayittarihi>%27\" + tarih + \"%27\"; //%27 is '\r\n\r\n }\r\n\r\n setListData([]);\r\n recivedRecCount = 0;\r\n\r\n\r\n var source = new EventSource('fetchcbsadalist?durum=' + durum + \"&startType=\" + strtType);\r\n\r\n source.onmessage = function (event) {\r\n\r\n var rec = null;\r\n try {\r\n rec=JSON.parse(event.data)\r\n }\r\n catch (ex) {\r\n\r\n }\r\n if (rec==null || rec.tapukimlikno == \"-1\") {\r\n document.getElementById(\"errorbox\").innerHTML = event.data;\r\n return;\r\n }\r\n\r\n\r\n recivedRecCount++;\r\n var table = document.getElementById(\"myTable\")\r\n if (table == null)\r\n source.close();\r\n\r\n var row = table.insertRow(0); //-1 to end\r\n var trowcount = table.rows.length;\r\n if (trowcount > 5000)\r\n table.deleteRow(trowcount - 1);\r\n\r\n row.style.height = \"15px\";\r\n var cell0 = row.insertCell(0);\r\n var cell1 = row.insertCell(1);\r\n var cell2 = row.insertCell(2);\r\n var cell3 = row.insertCell(3);\r\n var cell4 = row.insertCell(4);\r\n cell0.innerHTML = rec.tapukimlikno;\r\n cell1.innerHTML = rec.tapumahalleref;\r\n cell2.innerHTML = rec.adano + \"/\" + rec.parselno;\r\n cell3.innerHTML = rec.durum + \"( \" + getDurumName(rec.durum) + \")\";\r\n cell4.innerHTML = cutString(rec.coordinates, 70);\r\n var reccount = document.getElementById(\"reccount\")\r\n if (reccount == null) {\r\n source.close();\r\n }\r\n else {\r\n reccount.innerHTML = recivedRecCount + \" kayıt.\";\r\n reccount.innerHTML += \" index=\" + rec.index;\r\n }\r\n };\r\n\r\n source.onopen = function (event) {\r\n console.log('connected');\r\n var sp = document.getElementById(\"loadspinner\");\r\n if (sp != null)\r\n sp.hidden = false;\r\n };\r\n\r\n source.onerror = function (event) {\r\n console.log(event);\r\n var sp = document.getElementById(\"loadspinner\");\r\n if (sp != null)\r\n sp.hidden = true;\r\n source.close();\r\n }\r\n\r\n }\r\n\r\n \r\n\r\n const searchSimilarAdas = (apprec) => {\r\n var popup = window.open(\"/\");\r\n popup.searchAda = apprec;\r\n }\r\n\r\n\r\n const fetchList = () => {\r\n fetch(\"getcbsadalist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const renderTable = (tabledata) => {\r\n var array10 = tabledata;\r\n var reccount = document.getElementById(\"reccount\")\r\n if (isEmpty(searchKeyword)) {\r\n if (tabledata.length > 100) {\r\n var len = tabledata.length;\r\n array10 = []\r\n for (var i = 0; i < 100; i++) {\r\n var rect = tabledata[Math.floor(Math.random() * len)]\r\n array10.push(rect);\r\n }\r\n }\r\n if (reccount != null) {\r\n reccount.innerHTML = tabledata.length + \" kayıt.\";\r\n }\r\n }\r\n else {\r\n var keys = searchKeyword.split(\" \");\r\n array10 = tabledata.filter(x => toUpperCaseTurkce(x.tapumahalleref).includes(toUpperCaseTurkce(keys[0]))\r\n || x.adano.includes(keys[0])\r\n || x.parselno.includes(keys[0])\r\n || (x.adano + \"/\" + x.parselno).includes(keys[0])\r\n )\r\n for (var i = 1; i < keys.length; i++) {\r\n array10 = array10.filter(x => toUpperCaseTurkce(x.tapumahalleref).includes(toUpperCaseTurkce(keys[i]))\r\n || x.adano.includes(keys[i])\r\n || x.parselno.includes(keys[i])\r\n || (x.adano + \"/\" + x.parselno).includes(keys[i])\r\n )\r\n }\r\n\r\n\r\n\r\n if (reccount != null) {\r\n reccount.innerHTML = array10.length + \" kayıt.\";\r\n }\r\n\r\n }\r\n var mytable =\r\n <div className=\"table-responsive mainpagescroll table-sm \" style={{ \"height\": \"80vh\" }}>\r\n <table className='table table-vdstriped table-sm' aria-labelledby=\"tabelLabel\">\r\n <thead style={{ \"position\": \"sticky\", \"top\": 0, \"z-index\": \"1\" }} className=\"bg-light\">\r\n <tr>\r\n <th className=\"text-start\" style={{ \"width\": \"10%\", overflow: \"hidden\" }}>ID</th>\r\n <th className=\"text-start\" >Mahalle</th>\r\n <th className=\"text-start\" >Ada/Parsel No</th>\r\n <th className=\"text-start\" >Durum</th>\r\n <th className=\"text-start\" >Koordinat</th>\r\n <th ></th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"myTable\">\r\n {array10.map(apprec =>\r\n <tr style={{ \"height\": \"15px\" }}>\r\n <td >{apprec.tapukimlikno}</td>\r\n {/* <td title={apprec.tapucinsaciklama} >{apprec.tapucinsaciklama}</td>*/}\r\n {/*<td >{apprec.tapuzeminref}</td>*/}\r\n <td >{apprec.tapumahalleref}</td>\r\n {/* <td >{apprec.tapualan}</td>*/}\r\n <td >{apprec.adano}/{apprec.parselno}</td>\r\n {/* <td >{apprec.durum + \"( \" + getDurumName(apprec.durum) + \")\"}</td>*/}\r\n <td >{getDurumName(apprec.durum)}</td>\r\n <td >{cutString(apprec.coordinates, 100)}</td>\r\n <td className=\"text-end\">\r\n <button className=\"btn btn-sm btn-link\" onClick={() => searchSimilarAdas(apprec) }>\r\n <i className=\"fa fa-search-plus\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n return (mytable);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n var listTable = <div class=\"d-flex justify-content-center\"><div class=\"spinner-border\" role=\"status\"></div></div>;\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n\r\n return (\r\n <div className=\"p-2\">\r\n <div className=\"row mb-1\">\r\n <div className=\"col-11\">\r\n <h5 className=\"ps-1\">KADASTRO VERÄ°SÄ° - (ADA/PARSEL)</h5>\r\n </div>\r\n <div className=\"col-1 text-end\" >\r\n <button onClick={() => props.changeComponent(<KadastralVeri changeComponent={props.changeComponent} />)} className=\"btn btn-primary btn-sm text-decoration-none \">Geri Dön</button>\r\n </div>\r\n\r\n </div>\r\n <div className=\"row mb-3\">\r\n <div className=\"col-12 textvmuted \" style={{ \"text-align\": \"justify\" }} >\r\n <div className=\"bg-light p-3 rounded-3 textvmuted fw-bold align-middle\" >\r\n <span className=\"fa fa-info pe-3\" style={{ color: \"lightblue\", fontSize: \"26px\" }} ></span>\r\n Bu ekranda, tapu kadastrodan gelen veriler indirilerek Universe içerisinde ayrı bir alana kaydedilmektedir. Burada kaydedeceÄŸiniz veriler baÅŸvuru esnasında kullandığınız veriler DEÄÄ°LDÄ°R. Burada yaptıklarınız baÅŸvuru sırasında kullanılan parsel verilerinizi ETKÄ°LEMEZ/DEÄÄ°ÅTÄ°RMEZ. BaÅŸvuru esnasında kullandığınız veriler UNIVERSE'de kullanılan Kadastral Veriler baÅŸlığı altında yer almaktadır.\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mb-1 border p-1 pt-3\">\r\n\r\n <div className=\"col-12 col-md-3 \">\r\n <div class=\"form-check form-check\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"startType\" id=\"start0\" value=\"start0\" defaultChecked={true} onClick={() => document.getElementById(\"tarih\").disabled = true}/>\r\n <label class=\"form-check-label\" for=\"inlineRadio1\">Kaldığım Yerden Devam et</label>\r\n </div>\r\n <div class=\"form-check form-check\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"startType\" id=\"continue\" value=\"continue\" onClick={() => document.getElementById(\"tarih\").disabled = true}/>\r\n <label class=\"form-check-label\" for=\"inlineRadio2\">Yeniden BaÅŸlat</label>\r\n </div>\r\n\r\n <div class=\"form-check form-check\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"startType\" id=\"fromdate\" value=\"fromdate\" onClick={() => document.getElementById(\"tarih\").disabled=false} />\r\n\r\n <label class=\"form-check-label\" for=\"inlineRadio2\">AÅŸağıdaki Tarihten Sonra Eklenenler\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"tarih\" defaultValue=\"\" placeholder=\"Örnek : 2023-10-22\" name=\"tarih\" disabled />\r\n</label>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div className=\"col-12 col-md-3 \">\r\n <button onClick={refreshList} className=\"btn btn-primary btn-sm \">TKGM'deki VERÄ°YÄ° Ä°NDÄ°R</button>\r\n <button className=\"btn btn-secondary ms-1 btn-sm text-decoration-none fw-bold\" id=\"mypopover2\" data-bs-toggle=\"popover\" data-bs-trigger=\"focus\" title=\"AÇIKLAMA\" data-bs-content=\"AÅŸağıdaki parsel verilerinin tamamı silinerek TKGM'deki mahalle verileri indirilir. Ä°ÅŸlemi yarım bırakırsanız veriler eksik indirilebilir ve yeniden indirmeniz gerekir. Bu veriler UNIVERSE'de kullanılan BAÅVURUYA ESAS parsel verileriniz DEÄÄ°LDÄ°R. Bu iÅŸlem, baÅŸvuruda kullanılan parsel listesinizde herhangi bir deÄŸiÅŸiklik yapmaz. Bu iÅŸlem oldukça uzun sürmektedir. Lütfen iÅŸlem tamamlanmadan sayfayı kapatmayınız...\">?</button>\r\n\r\n <br />\r\n <div class=\"form-check form-check-inline\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"Durum\" id=\"Pasif\" value=\"2\" />\r\n <label class=\"form-check-label\" for=\"inlineRadio1\">Pasif</label>\r\n </div>\r\n <div class=\"form-check form-check-inline\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"Durum\" id=\"Aktif\" value=\"3\" defaultChecked={true}/>\r\n <label class=\"form-check-label\" for=\"inlineRadio2\">Aktif</label>\r\n </div>\r\n <div class=\"form-check form-check-inline\">\r\n <input class=\"form-check-input\" type=\"radio\" name=\"Durum\" id=\"Hepsi\" value=\"\" />\r\n <label class=\"form-check-label\" for=\"inlineRadio3\">Hepsi</label>\r\n </div>\r\n </div>\r\n <div className=\"col-12 col-md-3 fw-bold\" >\r\n Son Ä°ndirilen Veri: {listData != null && listData[0] != null ? listData[0].updateTime : \"\"}\r\n <br />\r\n Parsel: {listData != null ? listData.length : \"\"}\r\n </div>\r\n <div className=\"col-12 col-md-2 \" id=\"reccount\">\r\n\r\n </div>\r\n <div className=\"col-12 col-md-1 text-end \" id=\"loadspinner\" hidden>\r\n <div class=\"spinner-border spinner-border-sm ps-1\"></div>\r\n </div>\r\n </div>\r\n <div className=\"row \">\r\n <div className=\"col-12 text-danger\" style={{ \"text-align\": \"justify\" }} id=\"errorbox\" >\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-4 mb-1\" >\r\n <div className=\"col-12 col-md-4\" >\r\n\r\n <button onClick={() => props.changeComponent(<CBSAdaSorgula cbsdata={listData} changeComponent={props.changeComponent} />)} className=\"btn btn-primary btn-sm \">TKGM'de ARAMA YAP</button>\r\n <button className=\"btn btn-secondary ms-1 btn-sm text-decoration-none fw-bold \" id=\"mypopover1\" data-bs-toggle=\"popover\" data-bs-trigger=\"focus\" title=\"AÇIKLAMA\" data-bs-content=\"Veriyi indirmeden TKGM içerisinde arama yapabilir, istediklerinizi UNIVERSE'de kullanılan BAÅVURUYA ESAS ada/parsel listenize ekleyebilirsiniz.\">?</button>\r\n \r\n </div>\r\n <div className=\"col-12 col-md-3\" >\r\n <input type=\"text\" className=\"form-control form-control-sm\" id=\"ara\" defaultValue=\"\" placeholder=\"Arama için en az 3 karakter giriniz\" name=\"ara\" />\r\n </div>\r\n <div className=\"col-12 col-md-5\" >\r\n <button type=\"button\" className=\"btn btn-sm btn-primary me-1 ps-3 pe-3\" onClick={(e) => { var sk = document.getElementById(\"ara\").value; if (sk.length == 0 || sk.length > 2) setSearchKeyWord(sk); else showErrorMessage(\"En az 3 karakter giriniz\") }}>\r\n Ara\r\n </button>\r\n <button type=\"button\" className=\"btn btn-sm btn-primary \" onClick={(e) => { document.getElementById(\"ara\").value = \"\"; setSearchKeyWord(\"\") }}>\r\n Temizle\r\n </button>\r\n </div>\r\n </div>\r\n <div className=\"row mb-1\" >\r\n <div className=\"col-12 textvmuted text-center\" >\r\n AÅŸağıda sadece rasgele 100 kayıt gösterilmektedir. Kayıtların tamamından ulaÅŸmak istediÄŸiniz veri için, yukarıdaki arama kutusunu kullanabilirsiniz\r\n </div>\r\n </div>\r\n <div className=\"row\" key={listTable}>\r\n <div className=\"col-12\" id=\"tablediv\" >\r\n {listTable}\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n\r\n );\r\n\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport UserStatistics from './UserStatistics.js';\r\nimport $ from 'jquery';\r\nimport { ajaxFail, sendget } from '../GlobalState.js';\r\nimport Application from '../Application/Application.js';\r\nimport UserDetails from './UserDetails.js';\r\n\r\nexport default function UserWorkLoad(props) {\r\n const [workload, setWorkLoad] = React.useState(null);\r\n const [listtype, setListType] = React.useState(1);\r\n const [username, setUserName] = useState(props.userdata==null?null:props.userdata.userName);\r\n\r\n useEffect(() => {\r\n getWorkLoadList(\"username=\" + username + \"&listtype=1\");\r\n }, []);\r\n\r\n\r\n\r\n\r\n const getApp = (id) => {\r\n fetch(\"getapp\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body:id\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response);\r\n }\r\n else {\r\n response.json().then(value => {\r\n window.changeComponent(<Application appData={value} changeComponent={window.changeComponent} backButton={<UserDetails changeComponent={props.changeComponent} userdata={props.userdata} />} />)\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n const getWorkLoadList = (params) => {\r\n sendget(\"userapps?\" + params, \"spn1\", (response) => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setWorkLoad(data);\r\n });\r\n }\r\n })\r\n }\r\n\r\n const filterTable = (event) => {\r\n const target = event.target;\r\n const value = target.value.toLowerCase();\r\n $(\"#myTable tr\").filter(function () {\r\n var keywords = value.split(\" \");\r\n for (let index = 0; index < keywords.length; ++index)\r\n if ($(this).text().toLowerCase().indexOf(keywords[index]) == -1)\r\n return $(this).toggle(false);\r\n return $(this).toggle(true);\r\n });\r\n let rowCount = $('#myTable tr:visible').length;\r\n document.getElementById(\"reccount\").innerHTML = rowCount + \" kayıt\"\r\n }\r\n\r\n \r\n const changeTab = (t) => {\r\n document.getElementById(\"basvuruyapan\").classList.remove(\"active\");\r\n document.getElementById(\"muellif\").classList.remove(\"active\");\r\n document.getElementById(\"kontrolor\").classList.remove(\"active\");\r\n document.getElementById(\"myInput\").value = \"\";\r\n if (t == 1) {\r\n document.getElementById(\"basvuruyapan\").classList.add(\"active\");\r\n }\r\n if (t == 2) {\r\n document.getElementById(\"muellif\").classList.add(\"active\");\r\n }\r\n if (t == 3) {\r\n document.getElementById(\"kontrolor\").classList.add(\"active\");\r\n }\r\n setListType(t);\r\n getWorkLoadList(\"username=\" + username + \"&listtype=\" + t);\r\n\r\n }\r\n\r\n\r\n\r\n const renderToList = () => {\r\n var mytable =\r\n <div className=\"\">\r\n <table className='table mt-3 table-vdstriped table-sm' aria-labelledby=\"tabelLabel\" id=\"myTable\" key={workload}>\r\n <thead>\r\n <th className=\"text-start\"> Kullanıcı</th>\r\n <th className=\"text-start\"> BaÅŸvuru No</th>\r\n <th className=\"text-start\"> Durum</th>\r\n <th className=\"text-start\"> BaÅŸvuru Tipi</th>\r\n <th className=\"text-start\"> BaÅŸvuru Tarihi</th>\r\n <th className=\"text-start\"> Konum</th>\r\n </thead>\r\n <tbody id=\"myworkloadTable\">\r\n {workload.map(rec =>\r\n <tr key={rec.id} role=\"button\" className=\"v-hover\" onClick={() => { getApp(rec.id)}}>\r\n\r\n <td>{rec.enlem}</td>\r\n <td>{rec.id}</td>\r\n <td>{rec.temp}</td>\r\n <td>{rec.basvuruTipi}</td>\r\n <td>{rec.basvuruTarihi}</td>\r\n <td>{rec.mahalle + \" \" + rec.ada}</td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n \r\n document.getElementById(\"reccount\").innerHTML = workload.length+ \" kayıt\"\r\n\r\n return (mytable);\r\n }\r\n\r\n \r\n\r\n const renderToListKontrolor = () => {\r\n var mytable =\r\n <div className=\"\">\r\n <table className='table mt-3 table-vdstriped table-sm' aria-labelledby=\"tabelLabel\" id=\"myTable\" key={workload}>\r\n <thead>\r\n <th className=\"text-start\"> Kullanıcı</th>\r\n <th className=\"text-start\"> Id</th>\r\n <th className=\"text-start\"> Durum</th>\r\n <th className=\"text-start\"> BaÅŸvuruTipi</th>\r\n <th className=\"text-start\"> Konum</th>\r\n <th className=\"text-start\"> Görev</th>\r\n <th className=\"text-start\"> Atama</th>\r\n <th className=\"text-start\"> BaÅŸlama</th>\r\n <th className=\"text-start\"> Tamamlama</th>\r\n \r\n </thead>\r\n <tbody id=\"myworkloadTable\">\r\n {workload.map(rec =>\r\n <tr key={rec.id} role=\"button\" className=\"v-hover\" onClick={() => { getApp(rec.id) }}>\r\n <td>{rec.enlem}</td>\r\n <td>{rec.id}</td>\r\n <td>{rec.temp}</td>\r\n <td>{rec.basvuruTipi}</td>\r\n \r\n <td>{rec.mahalle + \" \" + rec.ada}</td>\r\n <td>{rec.vekilTel}</td>\r\n <td>{rec.vekaletDosyaname}</td>\r\n <td>{rec.vekilName}</td>\r\n <td>{rec.vekilTC}</td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n document.getElementById(\"reccount\").innerHTML = workload.length + \" kayıt\"\r\n return (mytable);\r\n\r\n\r\n }\r\n const renderToListMuellif = () => {\r\n var mytable =\r\n <div className=\"\">\r\n <table className='table mt-3 table-vdstriped table-sm' aria-labelledby=\"tabelLabel\" id=\"myTable\" key={workload}>\r\n <thead>\r\n <th className=\"text-start\"> Kullanıcı</th>\r\n <th className=\"text-start\"> BaÅŸvuruNo</th>\r\n <th className=\"text-start\"> Durum</th>\r\n <th className=\"text-start\"> BaÅŸvuruTipi</th>\r\n <th className=\"text-start\"> BaÅŸvuru Tarihi</th>\r\n <th className=\"text-start\"> Konum</th>\r\n <th className=\"text-start\"> Görev</th>\r\n </thead>\r\n <tbody id=\"myworkloadTable\">\r\n {workload.map(rec =>\r\n <tr key={rec.id} role=\"button\" className=\"v-hover\" onClick={() => { getApp(rec.id) }}>\r\n <td>{rec.enlem}</td>\r\n <td>{rec.id}</td>\r\n <td>{rec.temp}</td>\r\n <td>{rec.basvuruTipi}</td>\r\n <td>{rec.basvuruTarihi}</td>\r\n <td>{rec.mahalle + \" \" + rec.ada}</td>\r\n <td>{rec.boylam}</td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n document.getElementById(\"reccount\").innerHTML = workload.length + \" kayıt\"\r\n return (mytable);\r\n }\r\n\r\n var tabledata = \"\";\r\n\r\n if (workload != null) {\r\n if (listtype == 1)\r\n tabledata = renderToList();\r\n else if (listtype == 2) {\r\n tabledata = renderToListMuellif();\r\n }\r\n else if (listtype == 3) {\r\n tabledata = renderToListKontrolor();\r\n }\r\n\r\n }\r\n\r\n\r\n return <div >\r\n <div className=\"row\">\r\n <div className=\"col-md-3 col-12\">\r\n\r\n </div>\r\n <div className=\"col-md-6 col-12\">\r\n <input className=\"form-control form-control-sm\" id=\"myInput\" type=\"text\" placeholder=\"Arama...\" onKeyUp={filterTable} />\r\n </div>\r\n <div className=\"col-md-3 col-12 text-end\" id=\"reccount\">\r\n \r\n </div>\r\n </div>\r\n\r\n\r\n <ul className=\"nav nav-tabs mt-2\">\r\n <li className=\"nav-item\">\r\n <a className=\"nav-link active\" href=\"#\" id=\"basvuruyapan\" onClick={()=>changeTab(1)}>BaÅŸvuru Yapan</a>\r\n </li>\r\n <li className=\"nav-item\">\r\n <a className=\"nav-link\" href=\"#\" id=\"muellif\" onClick={() => changeTab(2)}>Muellif</a>\r\n </li>\r\n <li className=\"nav-item\">\r\n <a className=\"nav-link\" href=\"#\" id=\"kontrolor\" onClick={() => changeTab(3)}>Kontrolör</a>\r\n </li>\r\n </ul>\r\n <div className=\"w-100 text-center\">\r\n <div className=\"spinner-border spinner-border-sm\" id=\"spn1\"></div>\r\n </div>\r\n <div >\r\n {tabledata}\r\n\r\n </div>\r\n <div >\r\n\r\n {username == null ? <UserStatistics /> : \"\"}\r\n\r\n </div>\r\n </div>\r\n\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Select from \"react-select\";\r\nimport axios from \"axios\";\r\nimport { isImage, isEmpty, ajaxFail, showErrorMessage } from '../GlobalState.js';\r\n\r\nexport default function UserUploadFilePanel(props) {\r\n\r\n \r\n const [options, setOptions] = useState([]);\r\n var userType = props.userdata.userType;\r\n const [fileType, setFileType] = useState(\"\");\r\n\r\n useEffect(() => {\r\n userfilenamelist();\r\n }, [])\r\n\r\n const handleTypeChange = (event) => {\r\n\r\n document.getElementById(\"formFile\").accept = \"\";\r\n document.getElementById(\"formFile\").value = \"\";\r\n for (var i = 0; i < options.length; i++) {\r\n if (options[i].id == Number(event.target.value) && isEmpty(options[i].fileType) == false) {\r\n setFileType(options[i].fileType)\r\n break;\r\n }\r\n }\r\n \r\n\r\n }\r\n\r\n\r\n const userfilenamelist = () => {\r\n\r\n fetch(\"userfilenamelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setOptions(value);\r\n if (value.length > 0 && !isEmpty(value[0].fileType)) {\r\n setFileType(value[0].fileType)\r\n }\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const getOptions = () => {\r\n var o = [];\r\n if (options == null)\r\n return o;\r\n\r\n for (var i = 0; i < options.length; i++) {\r\n if (options[i].userType != null) {\r\n if (userType == null)\r\n continue;\r\n if (options[i].userType.split(',').some(t => userType.includes(t.trim())) == false)\r\n continue;\r\n }\r\n o.push(<option value={options[i].id} tag={i}>{options[i].name + (options[i].zorunlu == true ? \" *\" : \"\")}</option>)\r\n }\r\n return o;\r\n }\r\n\r\n const SendFiles = (selectedFiles) => {\r\n var uploadspinner = document.getElementById(\"uploadspinner\"); //this element is in parent component\r\n if (uploadspinner != null)\r\n uploadspinner.hidden = false;\r\n\r\n for (let i = 0; i < selectedFiles.length; i++) {\r\n var formData = new FormData();\r\n formData.append(\"file\", selectedFiles[i].file);\r\n // formData.append(\"caption\", selectedFiles[i].file.name);\r\n var extns = \"\";\r\n var idxx = selectedFiles[i].file.name.lastIndexOf(\".\");\r\n if (idxx >= 0)\r\n extns = selectedFiles[i].file.name.substr(idxx);\r\n\r\n\r\n\r\n formData.append(\"caption\", options.find(x => x.id == selectedFiles[i].TypeID).name + extns);\r\n formData.append(\"typeID\", selectedFiles[i].TypeID);\r\n formData.append(\"userName\", props.userdata.userName);\r\n axios.post(\r\n \"submituserfile\",\r\n formData,\r\n {\r\n headers: {\r\n //\"Authorization\": \"YOUR_API_AUTHORIZATION_KEY_SHOULD_GOES_HERE_IF_HAVE\",\r\n \"Content-type\": \"multipart/form-data\",\r\n },\r\n }\r\n ).then(res => {\r\n if (uploadspinner != null)\r\n uploadspinner.hidden = true;\r\n document.getElementById(\"myfiletypeselect\").selectedIndex = -1;\r\n if (props.refreshFiles)\r\n props.refreshFiles();\r\n\r\n })\r\n .catch(err => { showErrorMessage(err); })\r\n }\r\n }\r\n\r\n const handleSelectedFile = (event) => {\r\n if (event.target.files[0] != null) {\r\n if (event.target.files[0].size > 20971520) {\r\n showErrorMessage(\"dosya boyu en fazla 20 MB olabilir\");\r\n event.target.value = \"\";\r\n return;\r\n }\r\n if (document.getElementById(\"myfiletypeselect\").selectedIndex == -1) {\r\n showErrorMessage(\"Dosya Tipini Seçiniz\")\r\n return;\r\n }\r\n var filetyp=options.find(x => x.id == document.getElementById(\"myfiletypeselect\").value)\r\n\r\n\r\n if (isEmpty(filetyp.fileType) == false) {\r\n var filename = event.target.files[0].name.toLowerCase();\r\n var acceptedTypes = filetyp.fileType.toLowerCase().split(\",\");\r\n\r\n if (acceptedTypes.some(x => filename.endsWith(x.trim()) || (x.trim().toLowerCase() == \"image/*\" && isImage(filename))) == false) {\r\n showErrorMessage(\"dosya uzantısı \" + filetyp.fileType + \" olabilir\");\r\n return;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n SendFiles([{ file: event.target.files[0], TypeID: document.getElementById(\"myfiletypeselect\").value }]);\r\n }\r\n }\r\n \r\n\r\n return (\r\n <div >\r\n <div className=\" p-1 mb-2\" >\r\n <div className=\"row pt-2 pb-2 \">\r\n <div className=\"col-11\">\r\n\r\n <label for=\"formFile\" class=\"form-label\">Dosya Yukle</label>\r\n <br />\r\n <select id=\"myfiletypeselect\" className=\"mb-1 form-select form-select-sm\" placeholder=\"Dosya Türü\" name=\"filenames\"\r\n onChange={(e) => handleTypeChange(e)}\r\n >\r\n {getOptions()}\r\n </select>\r\n <input className=\"form-control form-control-sm\" type=\"file\" id=\"formFile\" accept={fileType} onChange={(e) => handleSelectedFile(e)} />\r\n </div>\r\n <div className=\"col-1 text-center\" id=\"uploadspinner\" hidden>\r\n <div className=\"spinner-border spinner-border-sm\" ></div>\r\n </div>\r\n </div>\r\n </div >\r\n </div >\r\n );\r\n\r\n\r\n }\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useGlobalState, ajaxFail } from '../GlobalState.js';\r\n\r\nimport UserUploadFilePanel from \"./UserUploadFilePanel.js\";\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\n\r\n\r\nexport default function UserFilePanel(props) {\r\n\r\n const [userdata, setData] = useState(props.userdata);\r\n const [fileNameList, setfileNameList] = useState(null);\r\n const [files, setFiles] = useState([]);\r\n const [userName, setUserNAme] = useGlobalState('userName');\r\n var eksikdosyauyari = \"\";\r\n\r\n\r\n\r\n const handleFile = (files) => {\r\n // selectedFiles = files;\r\n }\r\n\r\n const userfilenamelist = () => {\r\n fetch(\"userfilenamelist\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setfileNameList(value);\r\n fetchFiles();\r\n })\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n userfilenamelist();\r\n }, [props.userdata]) //this is to force chid refresh when parent chnge appdata\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n const getFileType = (id) => {\r\n if (fileNameList == null) return id;\r\n for (var i = 0; i < fileNameList.length; i++)\r\n if (fileNameList[i].id == id)\r\n return fileNameList[i].name;\r\n return id;\r\n }\r\n\r\n\r\n const fetchFiles = () => {\r\n fetch(\"getuserfiles\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(props.userdata.userName)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(async data => {\r\n setFiles(data);\r\n if (props.refreshFiles)\r\n props.refreshFiles(data);\r\n });\r\n }\r\n });\r\n }\r\n\r\n const removefile = (rec) => {\r\n fetch('removeuserfile?id=' + rec.id, {\r\n method: 'GET'\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n setFiles(files.filter(x => x.id != rec.id));\r\n }\r\n });\r\n }\r\n\r\n\r\n return (\r\n <div>\r\n <div className=\"row\">\r\n <div className=\"col-3\">\r\n <h5 className=\"text-primary\">Dosyalar</h5 >\r\n\r\n </div>\r\n <div className=\"col-9 text-danger justify-content-end align-items-end text-end pe-4\" id=\"eksikdosyauyari\">\r\n\r\n </div>\r\n\r\n <div className=\"col-12\" id=\"filetable\">\r\n (*) ile iÅŸaretlenen dosyaların yuklenmesi zorunludur.\r\n <UserUploadFilePanel setFiles={handleFile} userdata={props.userdata} refreshFiles={fetchFiles} showAll={props.showAll} />\r\n\r\n <table className='table table-striped table-sm' aria-labelledby=\"tabelLabel\">\r\n <tbody id=\"userfiles\">\r\n {files.map(rec => <tr><td ></td><td> {rec.userName} </td><td >\r\n {rec.tarih} </td><td> \r\n {getFileType(rec.typeId)} </td><td className=\"text-end\"><a href={'/getuserfile?id=' + rec.id} download={\r\n rec.caption}> <i className=\"fa fa-cloud-download\" style={{ \"font-size\": \"20px\" }}></i></a> \r\n {rec.userName == userName && <a onClick={() => removefile(rec)} href=\"#\"><i className=\"fa fa-trash-o\" style={{ \"font-size\": \"20px\" }}></i></a>}\r\n\r\n </td></tr>)}\r\n\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n \r\n </div>\r\n </div >\r\n );\r\n}\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport Application from \"./Application.js\"\r\nimport SharedUsersPanel from './SharedUsersPanel.js';\r\nimport ApplicationListCardView from './ApplicationListCardView.js';\r\nimport { useGlobalState } from '../GlobalState.js';\r\n\r\nexport default function AppCard(props) {\r\n var apprec = props.apprec;\r\n const [role, setRole] = useGlobalState('role');\r\n const [userName, setUserName] = useGlobalState('userName');\r\n useEffect(() => {\r\n\r\n }, [])\r\n var colors = [\"#fff8dd\", \"#e8fff3\", \"#fff5f8\", \"#f8f5ff\"]\r\n var bordercolors = [\"#50cc88\", \"#009cf7\", \"#ffc800\", \"#f1416d\"]\r\n\r\n const getBasvuruTuruName = (name) => {\r\n return name.replaceAll('\"name\":', \"\").replaceAll(']', \"\").replaceAll('[', \"\").replaceAll('{', \"\").replaceAll('}', \"\").replaceAll('\"', \"\")\r\n\r\n }\r\n\r\n const getAppTypeName = (i) => {\r\n if (props.appTypes == null) return i + \"\";\r\n var r = props.appTypes.find(element => element.id == i);\r\n if (r == null) return i;\r\n return r.name;\r\n }\r\n\r\n const drag = (event) => {\r\n //event.dataTransfer.effectAllowed = \"move\";\r\n event.dataTransfer.setDragImage(document.getElementById(\"card\" + apprec.id + \" \" + apprec.id1), 0, 0)\r\n event.dataTransfer.setData(\"text\", apprec.id + \" \" + (props.kontrolUserName != null ? props.kontrolUserName + \" \" + props.apprec.id1:\"\"));\r\n }\r\n const allowDrop = (event) => {\r\n event.preventDefault();\r\n }\r\n\r\n const drop = (event) => {\r\n event.preventDefault();\r\n document.getElementById(\"card\" + apprec.id + \" \" + apprec.id1).classList.remove(\"pt-3\", \"opacity-75\")\r\n if (props.kontrolUserName != null)\r\n props.drop(event,props.kontrolUserName)\r\n \r\n }\r\n \r\n var dragCount = 0;\r\n const dragleave = (event) => {\r\n dragCount--;\r\n event.preventDefault();\r\n if (dragCount <= 0)\r\n document.getElementById(\"card\" + apprec.id + \" \" + apprec.id1).classList.remove(\"pt-3\", \"opacity-75\")\r\n }\r\n const enter = (event) => {\r\n dragCount++;\r\n event.preventDefault();\r\n if (dragCount == 1)\r\n document.getElementById(\"card\" + apprec.id + \" \" + apprec.id1).classList.add( \"pt-3\", \"opacity-75\")\r\n }\r\n\r\n return <div className=\"p-0\" id={\"card\" + apprec.id + \" \" + apprec.id1} draggable=\"true\" onDragStart={drag} onDragOver={allowDrop} onDrop={drop} onDragEnter={enter} onDragLeave={dragleave}>\r\n\r\n <div className=\" p-3 border border-rounded rounded-3 bg-white\" >\r\n\r\n <div className=\"d-inline p-1 fw-bold d-block rounded-3\" style={{ \"background-color\": colors[apprec.id % 4] }}><img className=\"rounded-circle\" style={{ width: \"32px\", height: \"32px\" }} src={\"/getuserpic?user=\" + apprec.basvuruYapan.substring(0,1)} /> {apprec.ada}-{apprec.arsaSahibi == null ? \"\" : apprec.arsaSahibi.substring(0, Math.min(apprec.arsaSahibi.length, 20)) + (apprec.arsaSahibi.length > 20 ? \"...\" : \"\")}</div>\r\n\r\n \r\n <div className=\"mt-3 mb-4\" >\r\n <a href=\"#\" className=\"text-decoration-none text-secondary \" onClick={() => { props.changeComponent(<Application appData={apprec} changeComponent={props.changeComponent} backButton={<ApplicationListCardView changeComponent={props.changeComponent} role={role} userName={userName}/>} />) }}>\r\n {props.colnames.map(c => {\r\n if (c == \"basvuruTipi\" && apprec[c] != null) {\r\n return <div><span className=\"text-dark\">BaÅŸvuru Tipi</span>: <span className=\"text-muted fw-bold\">{getBasvuruTuruName(apprec[c]).substring(0, 24)}</span></div>\r\n }\r\n if (c == \"basvuruDurumu\" && apprec[c] != null) {\r\n return <div><span className=\"text-dark\">BaÅŸvuru Durumu</span>: <span className=\"text-muted fw-bold\">{getAppTypeName(apprec[c]).substring(0, 24)}</span></div>\r\n }\r\n if (apprec[c] != null) {\r\n return <div><span className=\"text-dark\">{c.charAt(0).toUpperCase() + c.slice(1)}</span>: <span className=\"text-muted fw-bold\">{String(apprec[c]).substring(0, Math.min(String(apprec[c]).length, 20)) + (String(apprec[c]).length > 20 ? \"...\" : \"\")}</span></div>\r\n\r\n }\r\n\r\n if (apprec.appData != null && apprec.appData.length > 2) {\r\n var appdata = JSON.parse(apprec.appData)\r\n if (appdata[c] != null) {\r\n if (appdata[c].type == \"checkbox\")\r\n return <div><span className=\"text-dark\">{c.charAt(0).toUpperCase() + c.slice(1)}</span>: <input className=\"form-check-input\" type=\"checkbox\" checked={appdata[c].value} /> </div>\r\n return <div><span className=\"text-dark\">{c.charAt(0).toUpperCase() + c.slice(1)}</span>: <span className=\"text-muted fw-bold\">{String(appdata[c].value).substring(0, Math.min(String(appdata[c].value).length, 20)) + (String(appdata[c].value).length > 20 ? \"...\" : \"\")}</span></div>\r\n }\r\n }\r\n return <div><span className=\"text-dark\">{c.charAt(0).toUpperCase() + c.slice(1)}</span>: </div>\r\n })}\r\n </a>\r\n\r\n </div>\r\n\r\n {/* <SharedUsersPanel appData={apprec} showCompact={true} />*/}\r\n </div>\r\n </div>\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Link } from \"react-router-dom\";\r\nimport { useState, useEffect } from 'react';\r\nimport { showErrorMessage, useGlobalState } from '../GlobalState.js';\r\n\r\n\r\n\r\nexport default function RegisterUser(props) {\r\n const [overedvelet, setOveredevlet] = useState(\"\");\r\n\r\n useEffect(() => {\r\n registeroveredevlet();\r\n\r\n }, [])\r\n\r\n const registeroveredevlet = () => {\r\n fetch(\"registeroveredevlet\", {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }).then(async response => {\r\n if (!response.ok) {\r\n }\r\n else {\r\n response.text().then(async data => {\r\n\r\n setOveredevlet(data.replaceAll('\"', ''));\r\n\r\n });\r\n }\r\n });\r\n }\r\n\r\n if (overedvelet == \"1\") {\r\n return <div className=\"text-center mt-4 pt-4\">\r\n <h5 className=\"mt-4 pt-4\">Kayıt olmak için önce E-Devlet kapısı uzerinden giriÅŸ yapmanız gerekmektedir.</h5>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-3\"> </div>\r\n <div className=\"col-12 col-lg-6 text-center \">\r\n <a className=\"btn btn-sm btn-danger text-decoration-none w-100 rounded-3 mt-3\" href=\"register\">\r\n <img src={require('../Dashboard/edevletlogo.png').default} style={{ width: \"28px\", height: \"28px\" }} />\r\n <b> E-Devlet ÅŸifresi ile Kayıt Ol</b>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n else if (overedvelet == \"0\"){\r\n return <div className=\"text-center mt-4 pt-4\">\r\n <h5 className=\"mt-4 pt-4\">Sisteme daha önce kaydedilmemiÅŸ T.C, Email ve Telefon numarası girmelisniz.</h5>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-3\"> </div>\r\n <div className=\"col-12 col-lg-6 text-center \">\r\n <a className=\"btn btn-sm btn-primary text-decoration-none w-100 rounded-3 mt-3\" href=\"register\"> Devam Et</a>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n }\r\n return \"\";\r\n}\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Navigate } from 'react-router-dom'\r\nimport { isEmpty, sendpost, showErrorMessage, useGlobalState, sendget } from '../GlobalState.js';\r\nimport Register1 from \"./Register1.js\";\r\nimport ForgotPassword from \"./ForgotPassword.js\";\r\nimport aes from 'crypto-js/aes';\r\nimport crypto from 'crypto-js';\r\nimport { ajaxFail } from '../GlobalState.js';\r\nimport { useSearchParams } from 'react-router-dom'\r\nimport VersionData from \"../version.json\";\r\nimport TwoStep from './TwoStep..js';\r\n\r\n\r\nexport default function Login(props) {\r\n const [searchParams, setSearchParams] = useSearchParams();\r\n var user_d = searchParams.get(\"tc\");\r\n var verify = searchParams.get(\"code\");\r\n const [activepannel, setActivepannel] = useState(null);\r\n const [klavuzlink, setklavuzlink] = useState(null);\r\n \r\n const [token, setToken] = useGlobalState('token');\r\n\r\n if (isEmpty(user_d) == false && activepannel == null) {\r\n const Buffer = require(\"buffer\").Buffer;\r\n var value = Buffer.from(user_d, 'base64').toString('utf-8').split(\"$\");\r\n if (user_d != \"direct\") {\r\n window.userdata = { tc: value[0], name: value[1], family: value[2], gecicisure: verify }\r\n window.edevletlogin = true\r\n setActivepannel(<Register1 changeComponent={setActivepannel} />)\r\n }\r\n else {\r\n window.userdata = {tc:user_d}\r\n setActivepannel(<Register1 changeComponent={setActivepannel} />)\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n sendget(\"getversion\", \"\", (response) => {\r\n response.text().then(value => {\r\n value=value.replaceAll('\"', '');\r\n value = value.split(\"#\");\r\n var b = document.getElementById(\"backendversion\");\r\n if (b)\r\n b.innerHTML = \"/\" + value[0];\r\n b = document.getElementById(\"helplink\");\r\n if (b)\r\n b.href = value[1];\r\n\r\n if (!isEmpty(value[2]))\r\n setklavuzlink(value[2])\r\n \r\n })\r\n }, () => {\r\n var b = document.getElementById(\"backendversion\");\r\n if (b)\r\n b.innerHTML = \"/Error\";\r\n })\r\n\r\n }, []);\r\n\r\n\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n // sendpost(\"comparedwg\", null, \"mu\");\r\n // return;\r\n\r\n\r\n\r\n document.getElementById(\"buttonlabel\").innerHTML = \"GiriÅŸ Yapılıyor... \"\r\n document.getElementById(\"buttonSpinner\").hidden = false;\r\n var logindata = {\r\n UserName: document.getElementById(\"UserName\").value,\r\n Password: document.getElementById(\"Password\").value\r\n };\r\n\r\n //fetch(\"yapiruhsatkaydet\", {\r\n // method: 'POST',\r\n // headers: {\r\n // 'Accept': 'application/json',\r\n // 'Content-Type': 'application/json'\r\n // }\r\n //}).then(async response => {\r\n\r\n //});\r\n //return;\r\n\r\n fetch(\"submitlogin\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(logindata)\r\n }).then(async response => {\r\n document.getElementById(\"buttonlabel\").innerHTML = \"Devam Et\"\r\n document.getElementById(\"buttonSpinner\").hidden = true;\r\n\r\n if (!response.ok) {\r\n response.text().then(value => {\r\n if (isEmpty(value))\r\n window.location.href = \"/\";\r\n else\r\n showErrorMessage(value)\r\n })\r\n\r\n }\r\n else {\r\n response.text().then(value => {\r\n value = value.replaceAll('\"', '');\r\n if (value.startsWith(\"2step\")) {\r\n setActivepannel(<TwoStep channel={value.split(\"_\")[1]} setToken={setToken} logindata={logindata} />)\r\n return;\r\n }\r\n\r\n const Buffer = require(\"buffer\").Buffer;\r\n value = Buffer.from(value, 'base64').toString('utf-8')\r\n var k = value.substring(0, 16)\r\n value = value.substring(16);\r\n var c = crypto.AES.encrypt(JSON.stringify({ value }), k).toString();\r\n setToken(k + c);\r\n })\r\n }\r\n document.getElementById(\"Password\").value = \"\";\r\n document.getElementById(\"UserName\").value = \"\";\r\n });\r\n\r\n }\r\n\r\n\r\n if (token != null && token.length > 0) {\r\n return <Navigate to=\"/\" />\r\n }\r\n\r\n\r\n var login = <>\r\n <form className=\"row\" method=\"POST\" onSubmit={onSubmit}>\r\n <div className=\"row\">\r\n <div className=\"col-12 col-lg-3\"> </div>\r\n <div className=\"col-12 col-lg-6 text-center\">\r\n\r\n <div className=\"mb-4 mt-3\">\r\n <label htmlFor=\"UserName\" className=\"form-label text-muted \"><b>Kullanıcı Adı</b> veya<b> Mail Adresi</b></label>\r\n <input type=\"text\" className=\"form-control bg-light\" id=\"UserName\" placeholder=\"\" name=\"UserName\" />\r\n </div>\r\n <div className=\"\">\r\n <label htmlFor=\"Password\" className=\"form-label text-muted\"><b>Åifre</b></label>\r\n </div>\r\n\r\n <div className=\"mb-3\">\r\n <input type=\"password\" className=\"form-control bg-light\" id=\"Password\" placeholder=\"\" name=\"Password\" />\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"col-md-12 col-lg-3\"> </div>\r\n <div className=\"col-12 col-lg-6 text-center\">\r\n <button type=\"submit\" className=\"btn btn-primary w-100 rounded-3 mt-3\">\r\n <span id=\"buttonlabel\"> GiriÅŸ </span>\r\n <span className=\"ms-1 spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\" id=\"buttonSpinner\" hidden></span>\r\n </button>\r\n\r\n </div>\r\n </div>\r\n\r\n <div className=\"row\">\r\n <div className=\"col-md-12 col-lg-3\"> </div>\r\n <div className=\"col-12 col-lg-6 text-center \">\r\n <a className=\"btn btn-sm btn-danger text-decoration-none w-100 rounded-3 mt-3\" href=\"edevletlogin\"> <img src={require('../Dashboard/edevletlogo.png').default} style={{ width: \"28px\", height: \"28px\" }} /> <b> e-Devlet Kapısı ile GiriÅŸ Yap</b></a>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row\">\r\n <div className=\"col-md-12 col-lg-6\"> </div>\r\n <div className=\"col-12 col-lg-3 text-center\">\r\n <div className=\" text-end mt-1\">\r\n <button className=\"btn btn-sm btn-link text-decoration-none \" onClick={() => { setActivepannel(<ForgotPassword />) }}><b>Åifremi Unuttum </b></button>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n </form ></>\r\n\r\n return <div className=\"row \">\r\n <div id=\"aesscript\"></div>\r\n <div className=\"col-sm-12 col-md-4 m-0 ps-0\" >\r\n {/* <img src={require('../Dashboard/loginleft.jpg').default} style={{ width: \"98%\" }} />*/}\r\n <img src='./getfile?sec=loginleft.jpg' style={{ width: \"98%\" }} />\r\n\r\n </div>\r\n\r\n <div className=\"col-sm-12 col-md-8 pt-3 mt-4 text-center\" >\r\n <div className=\"text-center\">\r\n {window.location.href.includes(\"cankaya\")&& < font style={{ fontSize: \"calc(1.5rem + .6vw)\", fontFamily: \"Roboto\", color: \"#108b4e\" }}><b>Dijital</b> Çankaya</font>}\r\n <h4 className=\"font-weight-bold\"><b>Universe'e HoÅŸgeldin</b></h4>\r\n {activepannel != null && <><b><span className=\"text-secondary\">Kullanıcı hesabın varmı ?</span></b>\r\n <a className=\"btn btn-sm btn-link text-decoration-none\" href=\"/\"><b>GiriÅŸ Yap</b> </a>\r\n </>}\r\n </div>\r\n {activepannel == null ? login : activepannel}\r\n\r\n {activepannel == null && isEmpty(user_d) && <div className=\"mt-4\"><b><span className=\"text-secondary\">Henüz üye olmadıysanız,</span></b>\r\n <a className=\"btn btn-sm btn-link text-decoration-none text-danger\" href=\"register\">\r\n <b> E-Devlet Kapısı ile ÃœYE OLMAK için tıklayın</b>\r\n </a></div>}\r\n\r\n {activepannel == null && isEmpty(user_d) && <div className=\"row\">\r\n <div className=\"mt-5 text-center text-muted align-bottom \">\r\n <a href=\"https://universe.web.tr/iletisim/\" id=\"helplink\" className=\"text-decoration-none\" >Universe Hakkında Destek</a>\r\n </div>\r\n {!isEmpty(klavuzlink)&&\r\n <div className=\"mt-1 text-center text-muted align-bottom \">\r\n <a href={klavuzlink} id=\"klavuzlink\" className=\"text-decoration-none\" >Yardım Klavuzu</a>\r\n </div>\r\n }\r\n </div>}\r\n\r\n\r\n {activepannel == null && <> <div className=\"mt-5 pt-2\" >\r\n <img src={require('../Header/100yıl.png').default} style={{ maxWidth: \"120px\" }} className=\"ms-auto me-auto mt-auto mb-0 \" />\r\n </div>\r\n <p className=\"\" >{VersionData.version}<span id=\"backendversion\"></span> </p></>}\r\n </div>\r\n\r\n </div>\r\n\r\n}\r\n\r\n\r\n","export default __webpack_public_path__ + \"static/media/loading.803f2436.gif\";","import React, { useState, useEffect } from 'react';\r\nimport { ajaxFail, isEmpty, showErrorMessage } from '../GlobalState.js';\r\nimport { useGlobalState } from '../GlobalState.js';\r\nimport ApplicationAuthorPanel from './ApplicationAuthorPanel.js';\r\nimport UserLabel from \"../User/UserLabel.js\";\r\nimport axios from \"axios\";\r\nimport * as UserPermConstants from '../User/UserPermConstants';\r\n\r\nexport default function Vekalet(props) {\r\n var postdata = {};\r\n const [listData, setListData] = useState(null);\r\n const [filename, setFileName] = useState(null);\r\n const [role, setRole] = useGlobalState('role');\r\n\r\n const mapping = props.mapping;\r\n const updateRecord = (rec, event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n rec[name] = value;\r\n }\r\n\r\n const removeRecord = (id) => {\r\n fetch(\"removevekalet\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const save = (rec) => {\r\n \r\n if (isEmpty(rec.muvekkilFamily) || isEmpty(rec.muvekkilName) || isEmpty(rec.muvekkilTC)) {\r\n showErrorMessage(\"Müvekkil Bilgileri BoÅŸ Olamaz\");\r\n return;\r\n }\r\n fetch(\"savevekalet\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(rec)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n //const submitUpdateRecord = (rec) => {\r\n\r\n // fetch(\"updatemevki\", {\r\n // method: 'POST',\r\n // headers: {\r\n // 'Accept': 'application/json',\r\n // 'Content-Type': 'application/json'\r\n // },\r\n // body: JSON.stringify(rec)\r\n // }).then(async response => {\r\n // if (!response.ok) {\r\n // ajaxFail(response)\r\n // }\r\n // else {\r\n // alert(\"Güncelleme BaÅŸarıyla TamamlanmÅŸtır\")\r\n // }\r\n // });\r\n //}\r\n\r\n const fetchList = () => {\r\n\r\n fetch(\"getvekaletlistformapping\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(mapping.id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n setListData(value);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const getFileName = () => {\r\n\r\n fetch(\"getvekaletfilename\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(mapping.id)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.text().then(value => {\r\n setFileName(value.replaceAll(\"\\\"\",\"\"));\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n const Add = () => {\r\n postdata.authorMappingID = mapping.id;\r\n\r\n postdata.vekilUserName = mapping.userName;\r\n\r\n if (isEmpty(document.getElementById(\"muvekkilFamily\").value)||\r\n isEmpty(document.getElementById(\"muvekkilTC\").value)||\r\n isEmpty(document.getElementById(\"muvekkilName\").value)) {\r\n showErrorMessage(\"Tüm Bilgiler Doldurulmalıdır\");\r\n return;\r\n }\r\n if (document.getElementById('muvekkilTC').checkValidity() == false) {\r\n showErrorMessage(\"TC numarası yanlış girlimÅŸ.\");\r\n return;\r\n }\r\n\r\n\r\n\r\n fetch(\"addvekalet\", {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(postdata)\r\n }).then(async response => {\r\n if (!response.ok) {\r\n ajaxFail(response)\r\n }\r\n else {\r\n response.json().then(value => {\r\n document.getElementById(\"muvekkilFamily\").value = \"\";\r\n document.getElementById(\"muvekkilTC\").value = \"\";\r\n document.getElementById(\"muvekkilName\").value = \"\";\r\n setListData(value);\r\n })\r\n }\r\n });\r\n\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n postdata[target.name] = value;\r\n }\r\n\r\n const handleFile = (resp) => {\r\n fetchList();\r\n if (resp.data != null && resp.data.length > 0) {\r\n showErrorMessage(\"Eklenmeyen (Hatalı) Satırlar: \\n\" + resp.data)\r\n }\r\n\r\n\r\n }\r\n\r\n const renderTable = (tabledata) => {\r\n\r\n var mytable = <div>\r\n\r\n <h6 className=\"text-primary\" >Müvekkil Listesi (Yerine imza atılan)</h6>\r\n\r\n {tabledata.map(apprec =>\r\n < div className={\"row rounded-3 border-top\" } key={apprec.id}>\r\n {/*<div className=\"col-1\" >*/}\r\n {/* {apprec.id}*/}\r\n {/*</div>*/}\r\n {/*<div className=\"col-1\" >*/}\r\n {/* {apprec.vekilUserName + \" - \" + apprec.authorMappingID}*/}\r\n {/*</div>*/}\r\n\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" name=\"name\" defaultValue={apprec.muvekkilTC} onChange={(e) => updateRecord(apprec, e)} />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" name=\"name\" defaultValue={apprec.muvekkilName} onChange={(e) => updateRecord(apprec, e)} />\r\n </div>\r\n <div className=\"col-2\" >\r\n <input type=\"text\" className=\"form-control form-control-sm border-0\" name=\"name\" defaultValue={apprec.muvekkilFamily} onChange={(e) => updateRecord(apprec, e)} />\r\n </div>\r\n <div className={\"col-2 \" + (apprec.approved == true ? \"text-success\" : \"\")} >\r\n {apprec.approved==true?\"Onaylandı\":\"Onay Bekliyor\"}\r\n </div>\r\n <div className=\"col-2\" >\r\n {apprec.ekleyen}\r\n </div>\r\n <div className=\"col-2 tex-end\" >\r\n {role.indexOf(UserPermConstants.Vekalet_Onay) >= 0&&\r\n <button onClick={() => { apprec.approved = !apprec.approved; save(apprec) }} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">{apprec.approved!=true?\"Onayla\":\"Onayı Kaldır\"}</button>} \r\n <button onClick={() => removeRecord(apprec.id)} className=\"btn btn-link btn-sm text-decoration-none m-0 p-0\">Sil</button>\r\n </div>\r\n </div>\r\n )}\r\n <div className=\"row mt-5 pt-3 border-top\" >\r\n <div className=\"col-12\" >\r\n <h6 className=\"text-primary\" >Yeni Müvekkil Ekle</h6>\r\n </div>\r\n </div>\r\n <div className=\"row mb-2 pb-3\" >\r\n <div className=\"col-3\" >\r\n <input type=\"text\" className=\"form-control form-control-sm \" name=\"muvekkilTC\" id=\"muvekkilTC\" pattern=\"[0-9]{1,20}\" maxLength=\"11\" placeholder=\"Müvekkilin TC Numarası\" defaultValue=\"\" onChange={handleInputChange} />\r\n </div>\r\n <div className=\"col-3\" >\r\n <input type=\"text\" className=\"form-control form-control-sm \" name=\"muvekkilName\" id=\"muvekkilName\" placeholder=\"Müvekkilin Ä°smi\" defaultValue=\"\" onChange={handleInputChange} />\r\n </div>\r\n <div className=\"col-3\" >\r\n <input type=\"text\" className=\"form-control form-control-sm \" name=\"muvekkilFamily\" id=\"muvekkilFamily\" placeholder=\"Müvekkilin Soyismi\" defaultValue=\"\" onChange={handleInputChange} />\r\n </div>\r\n <div className=\"col-3 text-end\"> <button onClick={Add} className=\"btn btn-sm btn-primary \">Ekle</button></div>\r\n\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n return (mytable);\r\n }\r\n\r\n\r\n const SendFiles = (selectedFiles) => {\r\n var formData = new FormData();\r\n document.getElementById(\"fileregionspinner\").hidden = false; \r\n document.getElementById(\"fileregion\").hidden = true; \r\n formData.append(\"file\", selectedFiles);\r\n formData.append(\"caption\", mapping.id + \"\");//send mappingid in caption\r\n formData.append(\"appid\", props.appData.id);\r\n axios.post(\r\n \"submitvekaletfile\",\r\n formData,\r\n {\r\n headers: {\r\n //\"Authorization\": \"YOUR_API_AUTHORIZATION_KEY_SHOULD_GOES_HERE_IF_HAVE\",\r\n \"Content-type\": \"multipart/form-data\",\r\n },\r\n }\r\n ).then(res => {\r\n document.getElementById(\"fileregionspinner\").hidden = true;\r\n document.getElementById(\"fileregion\").hidden = false; \r\n getFileName();\r\n\r\n })\r\n .catch(err => {\r\n showErrorMessage(err);\r\n document.getElementById(\"fileregionspinner\").hidden = true;\r\n document.getElementById(\"fileregion\").hidden = false; \r\n })\r\n\r\n }\r\n\r\n const handleSelectedFile = (event) => {\r\n if (event.target.files[0] != null) {\r\n if (event.target.files[0].size > 20971520) {\r\n showErrorMessage(\"dosya boyu en fazla 20 MB olabilir\");\r\n event.target.value = \"\";\r\n return;\r\n }\r\n SendFiles(event.target.files[0]);\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n fetchList();\r\n getFileName();\r\n }, [])\r\n\r\n\r\n var listTable = \"\";\r\n if (listData != null) {\r\n listTable = renderTable(listData);\r\n }\r\n else\r\n listTable = renderTable([]);\r\n\r\n return (\r\n <div >\r\n <h5 className=\"text-primary\">Vekalet Bilgileri</h5>\r\n\r\n <div className=\"row\">\r\n <div className=\"text-start col-3\">\r\n Kayıt No: {mapping.id}\r\n </div>\r\n\r\n <div className=\"text-end col-9\">\r\n <button type=\"button\" className=\"btn btn-primary btn-sm text-decoration-none me-2\" onClick={(e) => { props.setActivePanel(<ApplicationAuthorPanel appData={props.appData} setActivePanel={props.setActivePanel} />) }}>\r\n Müellif Listesine Dön\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row mt-3 pt-1\">\r\n <div className=\"text-start col-12\">\r\n <h6 className=\"text-primary\" >Vekil (Yerine imzayı atan)</h6>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row pb-3 mb-5 border-bottom\">\r\n <div className=\"text-start col-4\">\r\n <UserLabel user={{ userName: mapping.userName }} /> ({mapping.muellifType})\r\n </div>\r\n <div className=\"text-start col-4\" id=\"fileregion\">\r\n {(filename == null || filename == \"\") ? <span className=\"text-danger\">\r\n Vekalet Dosyası YuklenmemiÅŸ\r\n </span> :\r\n <span className=\"text-success\">\r\n <a className=\"text-decoration-none align-middle\" href={'getvekaletdosya?mappingid=' + mapping.id}> {filename } </a>\r\n </span>\r\n }\r\n </div>\r\n <div className=\"text-start col-4\" id=\"fileregionspinner\" hidden={true}>\r\n <div class=\"spinner-border spinner-border-sm\" role=\"status\">\r\n </div>\r\n </div>\r\n\r\n <div className=\"text-end col-4\">\r\n <input type=\"file\" id={\"VekaletFile\"} accept=\".pdf\" style={{ \"display\": \"none\" }} onChange={handleSelectedFile} />\r\n\r\n <button type=\"button\" className=\"btn btn-primary btn-sm text-decoration-none me-2\" disabled={props.appData.archived==true} onClick={() => { document.getElementById(\"VekaletFile\").click(); }}>\r\n Vekalet Dosyası Ekle\r\n </button>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n\r\n {props.appData.archived!=true?listTable:\"\"}\r\n\r\n\r\n\r\n </div>\r\n );\r\n\r\n\r\n}"],"sourceRoot":""}