{"version":3,"sources":["_metronic/_assets/js/components/util.js","_metronic/_helpers/AssetsHelpers.js","_metronic/_helpers/RouterHelpers.js","_metronic/_helpers/TablePaginationHelpers.js","_metronic/_helpers/TableRowSelectionHelpers.js","_metronic/_helpers/TableSortingHelpers.js","_metronic/_helpers/index.js","app/modules/Auth/_redux/authCrud.js","app/modules/Auth/_redux/authRedux.js","app/modules/ECommerce/_redux/customers/customersSlice.js","app/modules/ECommerce/_redux/products/productsSlice.js","app/modules/Scholar/_redux/schConferences/schConferencesSlice.js","app/modules/Scholar/_redux/schCourseWorkInfos/schCourseWorkInfosSlice.js","app/modules/Scholar/_redux/schDocuments/schdocumentsSlice.js","app/modules/Scholar/_redux/schThesises/schThesisesSlice.js","app/modules/Scholar/_redux/schEducations/schEducationsSlice.js","app/modules/Scholar/_redux/schJobInfos/schJobInfosSlice.js","app/modules/Scholar/_redux/schPayReceipts/schPayReceiptsSlice.js","app/modules/Scholar/_redux/schPublications/schPublicationsSlice.js","app/modules/Scholar/_redux/schSynopsyses/schSynopsysesSlice.js","app/modules/Guide/_redux/guiAddresses/guiAddressesSlice.js","app/modules/Guide/_redux/guiAwards/guiAwardsSlice.js","app/modules/Guide/_redux/guiConfs/guiConfsSlice.js","app/modules/Guide/_redux/guiDocuments/guiDocumentsSlice.js","app/modules/Guide/_redux/guiEducations/guiEducationsSlice.js","app/modules/Guide/_redux/guiJobInfos/guiJobInfosSlice.js","app/modules/Guide/_redux/guiPatents/guiPatentsSlice.js","app/modules/Guide/_redux/guiPublications/guiPublicationsSlice.js","app/modules/Guide/_redux/guiJjtuScholars/guiJjtuScholarsSlice.js","app/modules/Admin/_redux/guideAddresses/guideAddressesSlice.js","redux/rootReducer.js","redux/store.js","_metronic/_partials/dashboards/Demo1Dashboard.js","_metronic/_partials/dashboards/Demo2Dashboard.js","_metronic/_partials/dashboards/Demo3Dashboard.js","_metronic/_partials/dashboards/Demo4Dashboard.js","_metronic/_partials/dashboards/Demo5Dashboard.js","_metronic/_partials/dashboards/Demo6Dashboard.js","_metronic/_partials/dashboards/Demo7Dashboard.js","_metronic/_partials/dashboards/Dashboard.js","app/pages/DashboardPage.js","components/BaseFile.js","app/modules/Scholar/Pages/profile/Profile.js","app/modules/Scholar/_redux/schConferences/schConferencesCrud.js","app/modules/Scholar/_redux/schConferences/schConferencesActions.js","app/modules/Scholar/Pages/schConferences/schConference-edit/SchConferenceEditForm.js","app/modules/Scholar/Pages/schConferences/schConference-edit/SchConferenceEdit.js","app/modules/Scholar/_redux/schDocuments/schdocumentsCrud.js","app/modules/Scholar/_redux/schDocuments/schdocumentsActions.js","app/modules/Scholar/Pages/schDocuments/schDocument-edit/SchDocumentEditForm.js","app/modules/Scholar/Pages/schDocuments/schDocument-edit/SchDocumentEdit.js","app/modules/Scholar/_redux/schThesises/schThesisesCrud.js","app/modules/Scholar/_redux/schThesises/schThesisesActions.js","app/modules/Scholar/Pages/schThesises/schThesis-edit/SchThesisEditForm.js","app/modules/Scholar/Pages/schThesises/schThesis-edit/SchThesisEdit.js","app/modules/Scholar/_redux/schEducations/schEducationsCrud.js","app/modules/Scholar/_redux/schEducations/schEducationsActions.js","app/modules/Scholar/Pages/schEducations/schEducation-edit/SchEducationEditForm.js","app/modules/Scholar/Pages/schEducations/schEducation-edit/SchEducationEdit.js","app/modules/Scholar/_redux/schJobInfos/schJobInfosCrud.js","app/modules/Scholar/_redux/schJobInfos/schJobInfosActions.js","app/modules/Scholar/Pages/schJobInfos/schJobInfo-edit/SchJobInfoEditForm.js","app/modules/Scholar/Pages/schJobInfos/schJobInfo-edit/SchJobInfoEdit.js","app/modules/Scholar/_redux/schPayReceipts/schPayReceiptsCrud.js","app/modules/Scholar/_redux/schPayReceipts/schPayReceiptsActions.js","app/modules/Scholar/Pages/schPayReceipts/schPayReceipt-edit/SchPayReceiptEditForm.js","app/modules/Scholar/Pages/schPayReceipts/schPayReceipt-edit/SchPayReceiptEdit.js","app/modules/Scholar/_redux/schPublications/schPublicationsCrud.js","app/modules/Scholar/_redux/schPublications/schPublicationsActions.js","app/modules/Scholar/Pages/schPublications/schPublication-edit/SchPublicationEditForm.js","app/modules/Scholar/Pages/schPublications/schPublication-edit/SchPublicationEdit.js","app/modules/Scholar/_redux/schCourseWorkInfos/schCourseWorkInfosCrud.js","app/modules/Scholar/_redux/schCourseWorkInfos/schCourseWorkInfosActions.js","app/modules/Scholar/Pages/schCourseWorkInfos/schCourseWorkInfo-edit/SchCourseWorkInfoEditForm.js","app/modules/Scholar/Pages/schCourseWorkInfos/schCourseWorkInfo-edit/SchCourseWorkInfoEdit.js","app/modules/Scholar/_redux/schSynopsyses/schSynopsysesCrud.js","app/modules/Scholar/_redux/schSynopsyses/schSynopsysesActions.js","app/modules/Scholar/Pages/schSynopsyses/schSynopsys-edit/SchSynopsysEditForm.js","app/modules/Scholar/Pages/schSynopsyses/schSynopsys-edit/SchSynopsysEdit.js","app/modules/Scholar/Pages/schConferences/SchConferencesUIContext.js","app/modules/Scholar/Pages/schConferences/schConference-delete-dialog/SchConferenceDeleteDialog.js","app/modules/Scholar/Pages/schDocuments/SchDocumentsUIHelpers.js","app/modules/Scholar/Pages/schDocuments/SchDocumentsUIContext.js","app/modules/Scholar/Pages/schDocuments/schDocument-delete-dialog/SchDocumentDeleteDialog.js","app/modules/Scholar/Pages/schThesises/SchThesisesUIHelpers.js","app/modules/Scholar/Pages/schThesises/SchThesisesUIContext.js","app/modules/Scholar/Pages/schThesises/schThesis-delete-dialog/SchThesisDeleteDialog.js","app/modules/Scholar/Pages/schEducations/SchEducationsUIHelpers.js","app/modules/Scholar/Pages/schEducations/SchEducationsUIContext.js","app/modules/Scholar/Pages/schEducations/schEducation-delete-dialog/SchEducationDeleteDialog.js","app/modules/Scholar/Pages/schJobInfos/SchJobInfosUIHelpers.js","app/modules/Scholar/Pages/schJobInfos/SchJobInfosUIContext.js","app/modules/Scholar/Pages/schJobInfos/schJobInfo-delete-dialog/SchJobInfoDeleteDialog.js","app/modules/Scholar/Pages/schPayReceipts/SchPayReceiptsUIHelpers.js","app/modules/Scholar/Pages/schPayReceipts/SchPayReceiptsUIContext.js","app/modules/Scholar/Pages/schPayReceipts/schPayReceipt-delete-dialog/SchPayReceiptDeleteDialog.js","app/modules/Scholar/Pages/schPublications/SchPublicationsUIHelpers.js","app/modules/Scholar/Pages/schPublications/SchPublicationsUIContext.js","app/modules/Scholar/Pages/schPublications/schPublication-delete-dialog/SchPublicationDeleteDialog.js","app/modules/Scholar/Pages/schCourseWorkInfos/SchCourseWorkInfosUIHelpers.js","app/modules/Scholar/Pages/schCourseWorkInfos/SchCourseWorkInfosUIContext.js","app/modules/Scholar/Pages/schCourseWorkInfos/schCourseWorkInfo-delete-dialog/SchCourseWorkInfoDeleteDialog.js","app/modules/Scholar/Pages/schSynopsyses/SchSynopsysesUIHelpers.js","app/modules/Scholar/Pages/schSynopsyses/SchSynopsysesUIContext.js","app/modules/Scholar/Pages/schSynopsyses/schSynopsys-delete-dialog/SchSynopsysDeleteDialog.js","app/modules/Scholar/ScholarPage.js","app/modules/Guide/pages/profile/GuideProfile.js","app/modules/Guide/_redux/guiConfs/guiConfsCrud.js","app/modules/Guide/_redux/guiConfs/guiConfsActions.js","app/modules/Guide/pages/guiConfs/guiConf-edit/GuiConfEditForm.js","app/modules/Guide/pages/guiConfs/guiConf-edit/GuiConfEdit.js","app/modules/Guide/_redux/guiDocuments/guiDocumentsCrud.js","app/modules/Guide/_redux/guiDocuments/guiDocumentsActions.js","app/modules/Guide/pages/guiDocuments/guiDocument-edit/GuiDocumentEditForm.js","app/modules/Guide/pages/guiDocuments/guiDocument-edit/GuiDocumentEdit.js","app/modules/Guide/_redux/guiPatents/guiPatentsCrud.js","app/modules/Guide/_redux/guiPatents/guiPatentsActions.js","app/modules/Guide/pages/guiPatents/guiPatent-edit/GuiPatentEditForm.js","app/modules/Guide/pages/guiPatents/guiPatent-edit/GuiPatentEdit.js","app/modules/Guide/_redux/guiEducations/guiEducationsCrud.js","app/modules/Guide/_redux/guiEducations/guiEducationsActions.js","app/modules/Guide/pages/guiEducations/guiEducation-edit/GuiEducationEditForm.js","app/modules/Guide/pages/guiEducations/guiEducation-edit/GuiEducationEdit.js","app/modules/Guide/_redux/guiJobInfos/guiJobInfosCrud.js","app/modules/Guide/_redux/guiJobInfos/guiJobInfosActions.js","app/modules/Guide/pages/guiJobInfos/guiJobInfo-edit/GuiJobInfoEditForm.js","app/modules/Guide/pages/guiJobInfos/guiJobInfo-edit/GuiJobInfoEdit.js","app/modules/Guide/_redux/guiAwards/guiAwardsCrud.js","app/modules/Guide/_redux/guiAwards/guiAwardsActions.js","app/modules/Guide/pages/guiAwards/guiAward-edit/GuiAwardEditForm.js","app/modules/Guide/pages/guiAwards/guiAward-edit/GuiAwardEdit.js","app/modules/Guide/_redux/guiPublications/guiPublicationsCrud.js","app/modules/Guide/_redux/guiPublications/guiPublicationsActions.js","app/modules/Guide/pages/guiPublications/guiPublication-edit/GuiPublicationEditForm.js","app/modules/Guide/pages/guiPublications/guiPublication-edit/GuiPublicationEdit.js","app/modules/Guide/_redux/guiJjtuScholars/guiJjtuScholarsCrud.js","app/modules/Guide/_redux/guiJjtuScholars/guiJjtuScholarsActions.js","app/modules/Guide/pages/guiJjtuScholars/guiJjtuScholar-edit/GuiJjtuScholarEditForm.js","app/modules/Guide/pages/guiJjtuScholars/guiJjtuScholar-edit/GuiJjtuScholarEdit.js","app/modules/Guide/GuidePage.js","app/BasePage.js","app/modules/Auth/pages/Login.js","app/modules/Auth/pages/Registration.js","app/modules/Auth/pages/ForgotPassword.js","app/modules/Auth/pages/AuthPage.js","app/modules/Auth/pages/Logout.js","app/modules/ErrorsExamples/ErrorPage1.js","app/modules/ErrorsExamples/ErrorPage2.js","app/modules/ErrorsExamples/ErrorPage3.js","app/modules/ErrorsExamples/ErrorPage4.js","app/modules/ErrorsExamples/ErrorPage5.js","app/modules/ErrorsExamples/ErrorPage6.js","app/modules/ErrorsExamples/ErrorsPage.js","app/Routes.js","_metronic/i18n/Metronici18n.js","_metronic/i18n/I18nProvider.js","app/App.js","redux/setupAxios.js","index.js","_metronic/_assets/js/components/offcanvas.js","_metronic/_assets/js/components/cookie.js","_metronic/layout/_core/LayoutConfig.js","_metronic/layout/_core/HTMLClassService.js","_metronic/layout/_core/MetronicLayout.js","_metronic/layout/components/extras/dropdowns/UserProfileDropdown.js","_metronic/layout/components/extras/QuiclUserToggler.js","_metronic/layout/components/header/Topbar.js","_metronic/layout/components/extras/dropdowns/search/SearchResult.js","_metronic/layout/components/extras/dropdowns/search/SearchDropdown.js","_metronic/layout/components/header/header-menu/HeaderMenuWrapper.js","_metronic/layout/components/header/Header.js","_metronic/layout/components/header-mobile/HeaderMobile.js","_metronic/layout/components/brand/Brand.js","components/LoadMenu.js","_metronic/layout/components/aside/aside-menu/AsideMenuList.js","_metronic/layout/components/aside/aside-menu/AsideMenu.js","_metronic/layout/components/aside/Aside.js","_metronic/_assets/js/layout/base/header.js","_metronic/_assets/js/layout/base/header-menu.js","_metronic/_assets/js/layout/base/header-topbar.js","_metronic/_assets/js/layout/base/brand.js","_metronic/_assets/js/layout/base/aside-menu.js","_metronic/_assets/js/layout/base/aside.js","_metronic/_assets/js/layout/base/subheader.js","_metronic/_assets/js/layout/base/sticky-card.js","_metronic/_assets/js/layout/base/aside-toggle.js","_metronic/_assets/js/layout/base/footer.js","_metronic/_assets/js/layout/base/content.js","_metronic/_assets/js/layout/extended/scrolltop.js","_metronic/_assets/js/layout/base/stretched-card.js","_metronic/_assets/js/layout/extended/quick-panel.js","_metronic/_assets/js/layout/extended/quick-user.js","_metronic/layout/components/LayoutInit.js","_metronic/layout/components/subheader/components/BreadCrumbs.js","_metronic/layout/_core/MetronicSubheader.js","_metronic/layout/components/subheader/SubHeader.js","_metronic/layout/components/extras/offcanvas/QuickPanel.js","_metronic/layout/components/extras/offcanvas/QuickUser.js","_metronic/layout/components/extras/ScrollTop.js","_metronic/layout/components/Layout.js","_metronic/layout/components/content/Content.js","_metronic/layout/components/content/ContentRoute.js","_metronic/layout/_core/MetronicSplashScreen.js","_metronic/layout/_core/MaterialThemeProvider.js","_metronic/layout/index.js","_metronic/_assets/js/components/menu.js","_metronic/_assets/js/components/toggle.js","_metronic/_partials/controls/Card.js","_metronic/_partials/controls/forms/FieldFeedbackLabel.js","_metronic/_partials/controls/forms/Input.js","_metronic/_partials/controls/forms/Select.js","_metronic/_partials/controls/pagination/PaginationLinks.js","_metronic/_partials/controls/pagination/PaginationToolbar.js","_metronic/_partials/controls/pagination/Pagination.js","_metronic/_partials/controls/AnimateLoading.js","_metronic/_partials/controls/LoadingDialog.js","_metronic/_partials/controls/Notice.js","_metronic/_partials/controls/ModalProgressBar.js","_metronic/_partials/controls/index.js","app/modules/Admin/utils/quick-form.js","app/modules/Admin/_redux/adminMenus/adminMenusSlice.js","app/modules/Admin/_redux/pageContents/pageContentsSlice.js","app/modules/Admin/_redux/webMenus/webMenusSlice.js","app/modules/Admin/_redux/countries/countriesSlice.js","app/modules/Admin/_redux/institutes/institutesSlice.js","app/modules/Admin/_redux/departments/departmentsSlice.js","app/modules/Admin/_redux/programs/programsSlice.js","app/modules/Admin/_redux/letterTypes/letterTypesSlice.js","app/modules/Admin/_redux/conferences/conferencesSlice.js","app/modules/Admin/_redux/galleryImages/galleryImagesSlice.js","app/modules/Admin/_redux/galleries/galleriesSlice.js","app/modules/Admin/_redux/newss/newssSlice.js","app/modules/Admin/_redux/courses/coursesSlice.js","app/modules/Admin/_redux/eventInfos/eventInfosSlice.js","app/modules/Admin/_redux/rtiUploads/rtiUploadsSlice.js","app/modules/Admin/_redux/facultyMembers/facultyMembersSlice.js","app/modules/Admin/_redux/universityInfos/universityInfosSlice.js","app/modules/Admin/_redux/departmentSubs/departmentSubsSlice.js","app/modules/Admin/_redux/docTypes/docTypesSlice.js","app/modules/Admin/_redux/downloadDocs/downloadDocsSlice.js","app/modules/Admin/_redux/feeTypes/feeTypesSlice.js","app/modules/Admin/_redux/users/usersSlice.js","app/modules/Admin/_redux/userRoles/userRolesSlice.js","app/modules/Admin/_redux/userRoleRights/userRoleRightsSlice.js","app/modules/Admin/_redux/scholars/scholarsSlice.js","app/modules/Admin/_redux/guides/guidesSlice.js","app/modules/Admin/_redux/scholarConferences/scholarConferencesSlice.js","app/modules/Admin/_redux/scholarCourseWorkInfos/scholarCourseWorkInfosSlice.js","app/modules/Admin/_redux/scholarDocuments/scholarDocumentsSlice.js","app/modules/Admin/_redux/scholarThesises/scholarThesisesSlice.js","app/modules/Admin/_redux/scholarEducations/scholarEducationsSlice.js","app/modules/Admin/_redux/scholarJobInfos/scholarJobInfosSlice.js","app/modules/Admin/_redux/scholarPayReceipts/scholarPayReceiptsSlice.js","app/modules/Admin/_redux/scholarPublications/scholarPublicationsSlice.js","app/modules/Admin/_redux/scholarSynopsyses/scholarSynopsysesSlice.js","app/modules/Admin/_redux/guideAwards/guideAwardsSlice.js","app/modules/Admin/_redux/guideConfs/guideConfsSlice.js","app/modules/Admin/_redux/guideDocuments/guideDocumentsSlice.js","app/modules/Admin/_redux/guideEducations/guideEducationsSlice.js","app/modules/Admin/_redux/guideJobInfos/guideJobInfosSlice.js","app/modules/Admin/_redux/guidePatents/guidePatentsSlice.js","app/modules/Admin/_redux/guidePublications/guidePublicationsSlice.js","app/modules/Admin/_redux/guideJjtuScholars/guideJjtuScholarsSlice.js","_metronic/_partials/dropdowns/DropdownMenu1.js","_metronic/_partials/dropdowns/DropdownMenu2.js","_metronic/_partials/dropdowns/DropdownMenu4.js","_metronic/_partials/dropdowns/DropdownCustomToggler.js","_metronic/_partials/dropdowns/DropdownTopbarItemToggler.js","_metronic/_partials/dropdowns/index.js","_metronic/_assets/js/components/card.js","_metronic/_assets/js/components/scrolltop.js"],"names":["Element","prototype","matches","msMatchesSelector","webkitMatchesSelector","closest","s","ancestor","this","document","documentElement","contains","parentElement","elem","i","length","window","remove","parentNode","removeChild","lastTime","vendors","x","requestAnimationFrame","cancelAnimationFrame","callback","currTime","Date","getTime","timeToCall","Math","max","id","setTimeout","clearTimeout","Document","DocumentFragment","forEach","item","hasOwnProperty","Object","defineProperty","configurable","enumerable","writable","value","argArr","Array","slice","call","arguments","docFrag","createDocumentFragment","argItem","isNode","Node","appendChild","createTextNode","String","insertBefore","firstChild","undefined","getAttributeNames","attributes","result","name","KTUtilElementDataStore","KTUtilElementDataStoreID","KTUtilDelegatedEventHandlers","KTUtil","resizeHandlers","breakpoints","sm","md","lg","xl","_windowResizeHandler","addEventListener","throttle","timer","_runResizeHandlers","init","settings","addResizeHandler","push","removeResizeHandler","runResizeHandlers","resize","Event","dispatchEvent","evt","createEvent","initUIEvent","getURLParam","paramName","val","params","location","search","substring","split","unescape","isMobileDevice","test","getViewPort","width","getBreakpoint","navigator","userAgent","match","isDesktopDevice","e","a","body","height","isInResponsiveRange","mode","breakpoint","isBreakpointUp","isBreakpointDown","getUniqueID","prefix","floor","random","isset","obj","keys","stone","indexOf","Error","shift","getHighestZindex","el","position","css","parseInt","isNaN","hasFixedPositionedParent","sleep","milliseconds","start","getRandomInt","min","isAngularVersion","Zone","deepExtend","out","key","extend","getById","getElementById","getByTag","query","getElementsByTagName","getByTagName","getByClass","getElementsByClassName","getBody","hasClasses","classes","classesArr","hasClass","trim","className","classList","RegExp","addClass","classNames","add","removeClass","replace","triggerCustomEvent","eventName","data","event","CustomEvent","detail","initCustomEvent","triggerEvent","node","doc","ownerDocument","nodeType","eventClass","bubbles","initEvent","synthetic","fireEvent","createEventObject","index","c","children","string","eventTriggered","currentTarget","dataset","triggered","find","parent","querySelector","findAll","querySelectorAll","insertAfter","referenceNode","nextSibling","parents","selector","matchesSelector","mozMatchesSelector","oMatchesSelector","log","childNodes","l","child","p","f","tagName","set","customDataTag","get","has","outerWidth","margin","parseFloat","offsetWidth","offset","rect","win","getClientRects","getBoundingClientRect","defaultView","top","pageYOffset","left","pageXOffset","outerHeight","withMargin","style","offsetHeight","getComputedStyle","marginTop","marginBottom","visible","attr","getAttribute","setAttribute","hasAttr","removeAttr","removeAttribute","animate","from","to","duration","update","easing","done","easings","t","b","d","linear","rAF","change","performance","now","loop","timestamp","time","actualCss","prop","cache","HTMLElement","cssText","actualHeight","actualWidth","getScroll","element","method","self","browserSupportsBoxModel","styleProp","toLowerCase","getPropertyValue","currentStyle","str","letter","toUpperCase","oldLeft","oldRsLeft","runtimeStyle","pixelLeft","slide","dir","speed","recalcMaxHeight","calcHeight","calcPaddingTop","calcPaddingBottom","paddingTop","paddingBottom","display","overflow","slideUp","slideDown","show","hide","addEvent","type","handler","one","removeEvent","removeEventListener","on","eventId","targets","target","j","off","callee","hash","charCodeAt","animateClass","animationName","animation","animations","OAnimation","MozAnimation","WebkitAnimation","msAnimation","transitionEnd","transition","transitions","OTransition","MozTransition","WebkitTransition","msTransition","animationEnd","animateDelay","animateDuration","scrollTo","targetPos","scrollPos","scrollTop","isArray","ready","attachEvent","readyState","isEmpty","numberString","nStr","x1","x2","rgx","detectIE","ua","msie","rv","edge","isRTL","html","scrollInit","options","wheelSpeed","swipeEasing","wheelPropagation","minScrollbarLength","maxScrollbarLength","suppressScrollX","handleWindowResize","ps","attrs","attrName","includes","optionName","filterBoolean","Function","mobileHeight","mobileNativeScroll","disableForMobile","desktopNativeScroll","windowScroll","PerfectScrollbar","uid","cookie","KTCookie","getCookie","rememberPosition","pos","setCookie","console","error","resetHeightOnDestroy","destroy","scrollDestroy","scrollUpdate","scrollUpdateAll","scrollers","len","resetAll","setProperty","setHTML","innerHTML","getHTML","getDocumentHeight","scrollHeight","clientHeight","getScrollTop","scrollingElement","changeColor","col","amt","usePound","num","r","g","toString","func","delay","debounce","btnWait","cls","message","disable","caption","btnRelease","isOffscreen","direction","windowWidth","windowHeight","module","exports","KTAppSettings","onload","toAbsoluteUrl","pathname","process","checkIsActive","url","current","getCurrentUrl","getPagesCount","totalSize","sizePerPage","ceil","getPages","page","pagesCount","paginationSize","shiftCount","getHandlerTableChange","setQueryParams","sortField","sortOrder","pageNumber","prev","pageSize","PleaseWaitMessage","entities","NoRecordsFoundMessage","customersList","SelectionCheckbox","isSelected","onChange","checked","getSelectRow","props","ids","setIds","clickToSelect","hideSelectAll","selectionHeaderRenderer","allIds","groupingAllOnSelect","selectionRenderer","rowIndex","some","customerId","filter","newIds","groupingItemOnSelect","sortCaret","order","column","src","LOGIN_URL","REGISTER_URL","REQUEST_PASSWORD_URL","ME_URL","saga","actionTypes","initialAuthState","user","authToken","reducer","persistReducer","storage","whitelist","state","action","payload","actions","login","register","logout","requestUser","fulfillUser","takeLatest","loginSaga","put","registerSaga","userRequested","axios","initialCustomersState","listLoading","actionsLoading","totalCount","customerForEdit","lastError","callTypes","customersSlice","createSlice","initialState","reducers","catchError","callType","startCall","customerFetched","customersFetched","customerCreated","customer","customerUpdated","map","entity","customerDeleted","customersDeleted","customersStatusUpdated","status","findIndex","initialProductsState","productForEdit","productsSlice","productFetched","productsFetched","productCreated","product","productUpdated","productDeleted","productsDeleted","productsStatusUpdated","initialSchConferencesState","schConferenceForEdit","schConferencesSlice","schConferenceFetched","schConferencesFetched","schConferenceCreated","schConference","schConferenceUpdated","schConferenceId","schConferenceDeleted","schConferencesDeleted","initialSchCourseWorkInfosState","schCourseWorkInfoForEdit","schCourseWorkInfosSlice","schCourseWorkInfoFetched","schCourseWorkInfosFetched","schCourseWorkInfoCreated","schCourseWorkInfo","schCourseWorkInfoUpdated","schCourseWorkInfoId","schCourseWorkInfoDeleted","schCourseWorkInfosDeleted","initialSchDocumentsState","schDocumentForEdit","schDocumentsSlice","schDocumentFetched","schDocumentsFetched","schDocumentCreated","schDocument","schDocumentUpdated","schDocumentId","schDocumentDeleted","schDocumentsDeleted","initialSchThesisesState","schThesisForEdit","schThesisesSlice","schThesisFetched","schThesisesFetched","schThesisCreated","schThesis","schThesisUpdated","schThesisId","schThesisDeleted","schThesisesDeleted","initialSchEducationsState","schEducationForEdit","schEducationsSlice","schEducationFetched","schEducationsFetched","schEducationCreated","schEducation","schEducationUpdated","schEducationId","schEducationDeleted","schEducationsDeleted","initialSchJobInfosState","schJobInfoForEdit","schJobInfosSlice","schJobInfoFetched","schJobInfosFetched","schJobInfoCreated","schJobInfo","schJobInfoUpdated","schJobInfoId","schJobInfoDeleted","schJobInfosDeleted","initialSchPayReceiptsState","schPayReceiptForEdit","schPayReceiptsSlice","schPayReceiptFetched","schPayReceiptsFetched","schPayReceiptCreated","schPayReceipt","schPayReceiptUpdated","schPayReceiptId","schPayReceiptDeleted","schPayReceiptsDeleted","initialSchPublicationsState","schPublicationForEdit","schPublicationsSlice","schPublicationFetched","schPublicationsFetched","schPublicationCreated","schPublication","schPublicationUpdated","schPublicationId","schPublicationDeleted","schPublicationsDeleted","initialSchSynopsysesState","schSynopsysForEdit","schSynopsysesSlice","schSynopsysFetched","schSynopsysesFetched","schSynopsysCreated","schSynopsys","schSynopsysUpdated","schSynopsysId","schSynopsysDeleted","schSynopsysesDeleted","initialGuiAddressesState","guiAddressForEdit","guiAddressesSlice","guiAddressFetched","guiAddressesFetched","guiAddressCreated","guiAddress","guiAddressUpdated","guiAddressId","guiAddressDeleted","guiAddressesDeleted","initialGuiAwardsState","guiAwardForEdit","guiAwardsSlice","guiAwardFetched","guiAwardsFetched","guiAwardCreated","guiAward","guiAwardUpdated","guiAwardId","guiAwardDeleted","guiAwardsDeleted","initialGuiConfsState","guiConfForEdit","guiConfsSlice","guiConfFetched","guiConfsFetched","guiConfCreated","guiConf","guiConfUpdated","guiConfId","guiConfDeleted","guiConfsDeleted","initialGuiDocumentsState","guiDocumentForEdit","guiDocumentsSlice","guiDocumentFetched","guiDocumentsFetched","guiDocumentCreated","guiDocument","guiDocumentUpdated","guiDocumentId","guiDocumentDeleted","guiDocumentsDeleted","initialGuiEducationsState","guiEducationForEdit","guiEducationsSlice","guiEducationFetched","guiEducationsFetched","guiEducationCreated","guiEducation","guiEducationUpdated","guiEducationId","guiEducationDeleted","guiEducationsDeleted","initialGuiJobInfosState","guiJobInfoForEdit","guiJobInfosSlice","guiJobInfoFetched","guiJobInfosFetched","guiJobInfoCreated","guiJobInfo","guiJobInfoUpdated","guiJobInfoId","guiJobInfoDeleted","guiJobInfosDeleted","initialGuiPatentsState","guiPatentForEdit","guiPatentsSlice","guiPatentFetched","guiPatentsFetched","guiPatentCreated","guiPatent","guiPatentUpdated","guiPatentId","guiPatentDeleted","guiPatentsDeleted","initialGuiPublicationsState","guiPublicationForEdit","guiPublicationsSlice","guiPublicationFetched","guiPublicationsFetched","guiPublicationCreated","guiPublication","guiPublicationUpdated","guiPublicationId","guiPublicationDeleted","guiPublicationsDeleted","initialGuiJjtuScholarsState","guiJjtuScholarForEdit","guiJjtuScholarsSlice","guiJjtuScholarFetched","guiJjtuScholarsFetched","guiJjtuScholarCreated","guiJjtuScholar","guiJjtuScholarUpdated","guiJjtuScholarId","guiJjtuScholarDeleted","guiJjtuScholarsDeleted","initialGuideAddressesState","guideAddressForEdit","guideAddressesSlice","guideAddressFetched","guideAddressesFetched","guideAddressCreated","guideAddress","guideAddressUpdated","guideAddressDeleted","guideAddressesDeleted","rootSaga","rootReducer","combineReducers","auth","customers","products","adminMenus","adminMenusSlice","pageContents","pageContentsSlice","webMenus","webMenusSlice","countries","countriesSlice","departments","departmentsSlice","institutes","institutesSlice","programs","programsSlice","letterTypes","letterTypesSlice","conferences","conferencesSlice","galleryImages","galleryImagesSlice","galleries","galleriesSlice","newss","newssSlice","courses","coursesSlice","eventInfos","eventInfosSlice","rtiUploads","rtiUploadsSlice","facultyMembers","facultyMembersSlice","universityInfos","universityInfosSlice","departmentSubs","departmentSubsSlice","docTypes","docTypesSlice","downloadDocs","downloadDocsSlice","users","usersSlice","userRoles","userRolesSlice","userRoleRights","userRoleRightsSlice","feeTypes","feeTypesSlice","scholars","scholarsSlice","schThesises","guides","guidesSlice","schConferences","schCourseWorkInfos","schDocuments","schEducations","schJobInfos","schPayReceipts","schPublications","schSynopsyses","guiAddresses","guiAwards","guiConfs","guiDocuments","guiEducations","guiJobInfos","guiPatents","guiPublications","guiJjtuScholars","scholarConferences","scholarConferencesSlice","scholarCourseWorkInfos","scholarCourseWorkInfosSlice","scholarDocuments","scholarDocumentsSlice","scholarEducations","scholarEducationsSlice","scholarJobInfos","scholarJobInfosSlice","scholarPayReceipts","scholarPayReceiptsSlice","scholarPublications","scholarPublicationsSlice","scholarSynopsyses","scholarSynopsysesSlice","scholarThesises","scholarThesisesSlice","guideAddresses","guideAwards","guideAwardsSlice","guideConfs","guideConfsSlice","guideDocuments","guideDocumentsSlice","guideEducations","guideEducationsSlice","guideJobInfos","guideJobInfosSlice","guidePatents","guidePatentsSlice","guidePublications","guidePublicationsSlice","guideJjtuScholars","guideJjtuScholarsSlice","all","sagaMiddleware","createSagaMiddleware","middleware","getDefaultMiddleware","immutableCheck","serializableCheck","thunk","store","configureStore","devTools","enhancers","reduxBatch","persistor","persistStore","run","Demo1Dashboard","Demo2Dashboard","Demo3Dashboard","Demo4Dashboard","Demo5Dashboard","Demo6Dashboard","Demo7Dashboard","Dashboard","uiService","useHtmlClassService","layoutProps","useMemo","demo","objectPath","config","DashboardPage","API_BASE","submitForm","contentType","setResponse","headers","then","response","catch","BaseFile","useState","sectionTitle","setSectionTitle","sectionDescription","setSectionDescription","webMenuId","setWebMenuId","sectionImage","setSectionImage","pageContentTag","setPageContentTag","pageContentSynopsys","setPageContentSynopsys","toBase64","Promise","resolve","reject","reader","FileReader","readAsDataURL","onerror","msg","placeholder","files","vaue","onClick","Profile","history","ScholarUrl","cellContent","row","profile","setProfile","useEffect","getScholar","ScholarId","scholarId","SchThesisUrl","SchJobInfoUrl","SchAddressUrl","SchDocumentUrl","SchSynopsysUrl","SchEducationUrl","SchInterviewUrl","SchConferenceUrl","SchPayReceiptUrl","SchPublicationUrl","SchCourseWorkMarkUrl","setDocument","address","setAddress","interview","setInterview","thesis","setThesis","education","setEducation","courseWorkMark","setCourseWorkMark","synopsys","setSynopsys","jobInfo","setJobInfo","publication","setPublication","conference","setConference","payReceipt","setPayReceipt","getDocument","getThesis","getCourseWorkMark","getEducation","getSynopsys","getJobInfo","getPublication","getConference","getPayReceipt","getInterview","getAddress","SCH_JOB_INFOS_URL","SCH_EDUCATIONS_URL","SCH_CONFERENCES_URL","SCH_COURSE_WORK_INFOS_URL","SCH_DOCUMENTS_URL","SCH_PAY_RECIEPTS_URL","SCH_PUBLICATIONS_URL","SCH_SYNOPSYSES_URL","SCH_THESISES_URL","Container","Image","borderRadius","profilePic","scholarName","batchCode","registrationNo","enrollmentNo","primaryContact","subject","dateofBirth","gender","castCategory","spouseName","fatherName","motherName","interviewDate","interviewType","addresses","addressType","addressLine1","addressLine2","city","guideId","Accordion","defaultActiveKey","Card","Header","Toggle","as","Button","variant","eventKey","color","fontWeight","float","padding","border","viewBox","stroke","strokeWidth","fill","strokeLinecap","strokeLinejoin","cx","cy","y1","y2","Collapse","Body","documents","docTitle","href","docPath","rel","backgroundColor","delete","deleteSchDocument","educationalInfo","degreeType","passingYear","subjectStudied","percentage","university","openEditSchEducationPage","deleteSchEducation","courseWork","firstCwStartDate","fristCwEndDate","certificateIssueDate","markSheetIssuedDate","openEditSchCourseWorkInfosPage","deleteSchCourseWorkInfo","thesises","Tab","Row","Col","Nav","Item","Link","Content","Pane","ListGroup","plagiarismPercentage","preThesisDate","softCopySubmissionDate","provisinalDegreeIssuedDate","dateUploaded","plagiarismCheckedDate","dateOfthesisSubmission","hardCopySubmissionDate","degreeIssuedDate","vivaVoceDate","referenceNumber","openEditSchThesisesPage","deleteSchThesis","synopsyses","dateOfDrcPresentation","dateOfDrc","drcRemark","shodhGangotriLink","isLabApplicable","openEditSchSynopsysesPage","deleteSchSynopsys","profession","companyName","jobTitle","jobType","startDate","endDate","expInYear","openEditSchJobInfosPage","deleteSchJobInfo","publications","authorNames","titleOfPaper","journalname","yearOfPublication","openEditSchPublicationsPage","deleteSchPublication","confTitle","paperName","openEditSchConferencesPage","deleteSchConference","payReceipts","feeType","transactionNo","amount","receiptNo","payDate","remark","openEditPayReceiptsPage","deleteSchPayReciept","fetchSchConferences","queryParams","dispatch","post","requestFromServer","clientMessage","fetchSchConference","createSchConference","schConferenceForCreation","isActive","updateSchConference","SchConferenceEditSchema","Yup","shape","required","SchConferenceEditForm","btnRef","saveSchConference","enableReinitialize","initialValues","validationSchema","onSubmit","values","handleSubmit","setFieldValue","component","Input","label","TextField","InputLabelProps","shrink","FormControl","FormLabel","RadioGroup","aria-label","participated","JSON","parse","FormControlLabel","control","Radio","labelPlacement","presented","ref","initSchConference","SchConferenceEdit","sid","useLayoutEffect","KTLayoutQuickForm","subheader","useSubheader","title","setTitle","useDispatch","useSelector","shallowEqual","_title","useRef","id1","backToSchConferencesList","click","fetchSchDocuments","fetchSchDocument","createSchDocument","schDocumentForCreation","updateSchDocument","SchDocumentEditSchema","SchDocumentEditForm","saveSchDocument","getFieldCSSClasses","touched","errors","join","accept","initSchDocument","docType","SchDocumentEdit","backToSchDocumentsList","fetchSchThesises","fetchSchThesis","createSchThesis","schThesisForCreation","updateSchThesis","SchThesisEditSchema","SchThesisEditForm","saveSchThesis","notifcationNumber","preThesisPresentation","isSubmitted","softCopy","hardCopy","shodhGanga","migrationCertificate","initSchThesis","nameOfthePannel","migrationCertificateDate","preThesisPresentationDate","SchThesisEdit","backToSchThesisesList","fetchSchEducations","fetchSchEducation","createSchEducation","schEducationForCreation","updateSchEducation","SchEducationEditSchema","examName","SchEducationEditForm","saveSchEducation","initSchEducation","rollNo","SchEducationEdit","backToSchEducationsList","fetchSchJobInfos","fetchSchJobInfo","createSchJobInfo","schJobInfoForCreation","updateSchJobInfo","SchJobInfoEditSchema","SchJobInfoEditForm","saveSchJobInfo","initSchJobInfo","annexure","SchJobInfoEdit","backToSchJobInfosList","fetchSchPayReceipts","fetchSchPayReceipt","deleteSchPayReceipt","createSchPayReceipt","schPayReceiptForCreation","updateSchPayReceipt","SchPayReceiptEditSchema","SchPayReceiptEditForm","saveSchPayReceipt","uploadImage","verifiedBy","initSchPayReceipt","downlodReceipt","uploadDoc","SchPayReceiptEdit","backToSchPayReceiptsList","fetchSchPublications","fetchSchPublication","createSchPublication","schPublicationForCreation","updateSchPublication","SchPublicationEditSchema","SchPublicationEditForm","saveSchPublication","initSchPublication","SchPublicationEdit","backToSchPublicationsList","fetchSchCourseWorkInfos","fetchSchCourseWorkInfo","createSchCourseWorkInfo","schCourseWorkInfoForCreation","updateSchCourseWorkInfo","SchCourseWorkInfoEditSchema","SchCourseWorkInfoEditForm","saveSchCourseWorkInfo","initSchCourseWorkInfo","secondCwStartDate","secondCwEndDate","SchCourseWorkInfoEdit","backToSchCourseWorkInfosList","fetchSchSynopsyses","fetchSchSynopsys","createSchSynopsys","schSynopsysForCreation","updateSchSynopsys","SchSynopsysEditSchema","submissionDate","SchSynopsysEditForm","saveSchSynopsys","synopsysSubmitted","drcHeld","shodhGangotri","isDrcLetterIssued","drcPresentationHeld","initSchSynopsys","labName","labCity","SchSynopsysEdit","backToSchSynopsysesList","SchConferencesUIContext","createContext","Consumer","SchConferenceDeleteDialog","onHide","schConferencesUIContext","useContext","schConferencesUIProps","isLoading","Modal","aria-labelledby","closeButton","Title","Footer","SchDocumentsUIContext","SchDocumentDeleteDialog","schDocumentsUIContext","schDocumentsUIProps","SchThesisesUIContext","SchThesisDeleteDialog","schThesisesUIContext","schThesisesUIProps","SchEducationsUIContext","SchEducationDeleteDialog","schEducationsUIContext","schEducationsUIProps","SchJobInfosUIContext","SchJobInfoDeleteDialog","schJobInfosUIContext","schJobInfosUIProps","SchPayReceiptsUIContext","SchPayReceiptDeleteDialog","schPayReceiptsUIContext","schPayReceiptsUIProps","SchPublicationsUIContext","SchPublicationDeleteDialog","schPublicationsUIContext","schPublicationsUIProps","SchCourseWorkInfosUIContext","SchCourseWorkInfoDeleteDialog","schCourseWorkInfosUIContext","schCourseWorkInfosUIProps","SchSynopsysesUIContext","SchSynopsysDeleteDialog","schSynopsysesUIContext","schSynopsysesUIProps","ScholarPage","fallback","exact","path","GuideProfile","GuideUrl","guide","setGuide","getGuide","GuideId","GuiPublicationUrl","GuiConfUrl","GuiJobInfoUrl","GuiEducationUrl","GuiPatentUrl","GuiAwardUrl","GuiAddressUrl","GuiDocumentUrl","GuiJjtuScholarUrl","setGuiPublication","setGuiConf","setGuiJobInfo","setGuiEducation","setGuiPatent","setGuiAward","setGuiAddress","setGuiDocument","setGuiJjtuScholar","getGuiPublication","getGuiConf","getGuiJobInfo","getGuiEducation","getGuiPatent","getGuiAward","getGuiAddress","getGuiDocument","getGuiJjtuScholar","GUI_AWARDS_URL","GUI_CONFS_URL","GUI_DOCUMENTS_URL","GUI_EDUCATIONS_URL","GUI_JJTU_SCHOLARS_URL","GUI_JOBINFOS_URL","GUI_PATENTS_URL","GUI_PUBLICATIONS_URL","guidePhoto","guideName","division","registrationNumber","specilization","secondaryContact","dateOfBirth","primaryEmail","maritalStatus","designation","secondaryEmail","guideGrade","Fragment","openEditGuiDocumentsPage","deleteGuiDocument","Education","openEditGuiEducationsPage","deleteGuiEducation","JobInfo","openEditGuiJobInfosPage","deleteGuiJobInfo","Publication","publicationTitle","category","publishedDate","publishLocation","openEditGuiPublicationsPage","deleteGuiPublications","Patent","patentTitle","patentRegNo","patentingOrg","patentDesc","openEditGuiPatentsPage","deleteGuiPatent","Conference","heldDate","openEditGuiConfsPage","deleteGuiConf","guiJjtScholorId","allocationDate","openEditGuiJjtuScholarsPage","deleteGuiJjtuScholar","Award","awardTitle","awardDate","openEditGuiAwardsPage","deleteGuiAward","fetchGuiConf","createGuiConf","guiConfForCreation","updateGuiConf","GuiConfEditSchema","GuiConfEditForm","saveGuiConf","uplaodFile","initGuiConf","link","GuiConfEdit","gid","backToGuiConfsList","fetchGuiDocument","createGuiDocument","guiDocumentForCreation","updateGuiDocument","GuiDocumentEditSchema","GuiDocumentEditForm","saveGuiDocument","uplaodDoc","initGuiDocument","GuiDocumentEdit","backToGuiDocumentsList","fetchGuiPatent","createGuiPatent","guiPatentForCreation","updateGuiPatent","GuiPatentEditSchema","GuiPatentEditForm","saveGuiPatent","initGuiPatent","GuiPatentEdit","backToGuiPatentsList","fetchGuiEducation","createGuiEducation","guiEducationForCreation","updateGuiEducation","GuiEducationEditSchema","GuiEducationEditForm","saveGuiEducation","initGuiEducation","GuiEducationEdit","backToGuiEducationsList","fetchGuiJobInfo","createGuiJobInfo","guiJobInfoForCreation","updateGuiJobInfo","GuiJobInfoEditSchema","GuiJobInfoEditForm","saveGuiJobInfo","initGuiJobInfo","GuiJobInfoEdit","backToGuiJobInfosList","fetchGuiAward","createGuiAward","guiAwardForCreation","updateGuiAward","GuiAwardEditSchema","GuiAwardEditForm","saveGuiAward","initGuiAward","remark1","GuiAwardEdit","backToGuiAwardsList","fetchGuiPublication","createGuiPublication","guiPublicationForCreation","updateGuiPublication","GuiPublicationEditSchema","GuiPublicationEditForm","saveGuiPublication","initGuiPublication","GuiPublicationEdit","backToGuiPublicationsList","fetchGuiJjtuScholar","createGuiJjtuScholar","guiJjtuScholarForCreation","updateGuiJjtuScholar","GuiJjtuScholarEditSchema","PageUrl1","GuiJjtuScholarEditForm","saveGuiJjtuScholar","menuForDropdown1","setMenuForDropdown1","getInnerPagesWithAxios1","Select","menu","initGuiJjtuScholar","GuiJjtuScholarEdit","backToGuiJjtuScholarsList","GuidePage","AdminPage","lazy","BasePage","role","email","password","injectIntl","connect","intl","loading","setLoading","LoginSchema","formatMessage","disableLoading","getInputClasses","fieldname","formik","useFormik","setStatus","setSubmitting","accessToken","getFieldProps","disabled","isSubmitting","fullname","username","changepassword","acceptTerms","RegistrationSchema","when","is","oneOf","isRequested","setIsRequested","ForgotPasswordSchema","AuthPage","backgroundImage","alt","Login","Registration","ForgotPassword","Logout","hasAuthToken","Component","Boolean","ErrorPage1","fontSize","ErrorPage2","ErrorPage3","ErrorPage4","ErrorPage5","ErrorPage6","ErrorsPage","Routes","isAuthorized","I18N_CONFIG_KEY","REACT_APP_I18N_CONFIG_KEY","selectedLang","getConfig","ls","localStorage","getItem","er","I18nContext","MetronicI18nProvider","lang","Provider","allMessages","de","en","es","fr","ja","zh","I18nProvider","locale","messages","App","basename","Suspense","interceptors","request","use","getState","Authorization","err","ReactDOM","render","KTOffcanvas","elementId","the","defaultOptions","attrCustom","Plugin","construct","build","events","classBase","baseClass","classShown","classOverlay","toggleBy","preventDefault","toggle","closeBy","isShown","eventTrigger","toggleClass","classCustom","overlay","createElement","args","fired","setDefaults","apply","decodeURIComponent","assign","expires","toUTCString","updatedCookie","encodeURIComponent","optionKey","optionValue","deleteCookie","getInitLayoutConfig","js","xxl","colors","theme","base","light","inverse","gray","fontFamily","loader","enabled","logo","toolbar","header","fixed","desktop","mobile","layout","arrow","submenu","accordion","displayDesc","displayDaterangepicker","clear","content","brand","aside","minimize","default","hoverable","footer","dropdown","scroll","extras","offcanvas","notifications","directions","languages","cart","chat","scrolltop","HtmlClassService","layoutConfig","preInit","header_container","header_mobile","header_menu","aside_menu","subheader_container","content_container","footer_container","initLayout","initLoader","initHeader","initSubheader","initContent","initAside","initFooter","initTheme","updatedConfig","headerSelfFixedDesktop","getLogo","selfBodyBackgroundImage","_selfBodyClass","cssClass","headerMenuSelfLayout","headerMenuLayoutCssClass","subheaderFixed","subheaderStyle","subheaderClass","asideSelfDisplay","asideMenuDropdown","asideSubmenuDHoverTimeout","brandSelfTheme","headerSelfTheme","LAYOUT_CONFIG_KEY","REACT_APP_LAYOUT_CONFIG_KEY","setLayoutConfig","setItem","stringify","reload","HtmlClassServiceContext","MetronicLayoutProvider","lc","hcs","service","setConfig","UserProfileDropdown","Dropdown","drop","alignRight","DropdownTopbarItemToggler","Menu","QuickUserToggler","OverlayTrigger","placement","Tooltip","Topbar","viewUserDisplay","perfectScrollbarOptions","SearchResult","maxHeight","fakeData","text","description","iconImage","iconClassName","SearchDropdown","timeoutId","setData","searchValue","setSearchValue","onToggle","clsx","autoFocus","HeaderMenuWrapper","viewSearchDisplay","ktMenuClasses","getClasses","rootArrowEnabled","menuDesktopToggle","headerMenuAttributes","getAttributes","ulClasses","disabledAsideSelfDisplay","getHeaderLogo","headerClasses","headerAttributes","headerContainerClasses","menuHeaderDisplay","HeaderMobile","headerLogo","getStickyLogo","asideDisplay","headerMenuSelfDisplay","headerMobileCssClasses","headerMobileAttributes","Brand","brandClasses","asideSelfMinimizeToggle","headerStickyLogo","PageUrl","LoadMenu","getMenuItemActive","setMenu","getInnerPagesWithAxios","pageUrl","aria-haspopup","menuName","AsideMenuList","useLocation","hasSubmenu","data-menu-toggle","AsideMenu","disableScroll","asideMenuAttr","asideClassesFromConfig","data-menu-vertical","Aside","disableAsideSelfDisplay","KTLayoutHeader","_element","_elementForMobile","idForMobile","isFixed","isFixedForMobile","getElement","getElementForMobile","getHeader","getHeight","_getHeight","getHeightForMobile","KTLayoutHeaderMenu","_menuElement","_menuObject","_offcanvasElement","_offcanvasObject","menuId","offcanvasId","KTMenu","tablet","slideSpeed","expandAll","getMenuElement","getOffcanvasElement","getMenu","pauseDropdownHover","getOffcanvas","closeMobileOffcanvas","KTLayoutHeaderTopbar","_toggleElement","KTToggle","targetState","toggleState","getToggleElement","KTLayoutBrand","KTLayoutAsideMenu","menuDesktopMode","KTLayoutAside","isMinimized","isHoverable","_init","_body","insideTm","outsideTm","offcanvasClass","KTLayoutSubheader","KTLayoutStickyCard","_object","KTCard","sticky","zIndex","card","right","cardWidth","initSticky","updateSticky","KTLayoutAsideToggle","_toggleObject","getToggle","KTLayoutFooter","KTLayoutContent","KTLayoutScrolltop","KTScrolltop","KTLayoutStretchedCard","cardBody","cardHeader","KTLayoutQuickPanel","_notificationsElement","_logsElement","_settingsElement","_getContentHeight","KTLayoutQuickUser","LayoutInit","BreadCrumbs","items","getBreadcrumbsAndTitle","pathName","breadcrumbs","activeLinks","titleSpans","titleSpan","breadCrumbs","getTitle","SubheaderContext","MetronicSubheaderProvider","setBreadcrumbs","SubHeader","subheaderMobileToggle","subheaderCssClasses","subheaderContainerCssClasses","QuickPanel","selectedTab","setSelectedTab","onSelect","_tabName","QuickUser","useHistory","occupation","ScrollTop","Layout","selfLayout","subheaderDisplay","desktopHeaderDisplay","contentCssClasses","contentContainerClasses","contentExtended","useRouteMatch","cssClassesState","setCssClassesState","fullClasses","startAnimation","timeOutId","ContentRoute","routeProps","React","MetronicSplashScreenContext","MetronicSplashScreenProvider","count","setCount","timeout","splashScreen","LayoutSplashScreen","createMuiTheme","typography","palette","primary","main","secondary","MuiButtonBase","disableRipple","MuiPopover","elevation","MaterialThemeProvider","ThemeProvider","getSubmenuMode","hideDropdowns","autoScroll","autoScrollSpeed","reset","eventHandlers","pauseDropdownHoverTime","resetSubmenuProps","handleSubmenuAccordion","isConditionalSubmenuDropdown","handleSubmenuDrodownHoverEnter","handleSubmenuDrodownHoverExit","handleSubmenuDropdownClick","handleSubmenuDropdownTabClick","handleLinkClick","submenus","hasAttribute","resumeDropdownHover","showSubmenuDropdown","hideSubmenuDropdown","hideSubmenuDropdowns","handleSubmenuDropdownClose","shown","li","subnav","closables","el_","submenu_","scrollToItem","classAlso","cnt","list","createSubmenuDropdownClickDropoff","dropoff","stopPropagation","date","resetActiveItem","i_","len_","setActiveItem","getBreadcrumbs","submenuLink","reverse","getPageTitle","scrollReInit","hideDropdown","toggleElement","targetElement","targetToggleMode","toggleOn","toggleOff","CardHeaderTitle","forwardRef","CardHeaderToolbar","CardHeader","icon","labelRef","setTop","setWindowHeight","handleResize","innerWidth","headerElement","subheaderElement","headerMobileElement","nextMarginTop","isFragment","CardBody","fit","fluid","fluidHeight","inputLabel","customFeedbackLabel","FieldFeedbackLabel","selectLabel","field","form","withFeedbackLabel","erros","PaginationLinks","paginationProps","pages","disabledClass","onPageChange","handlePrevPage","pageNum","handleNextPage","PaginationToolbar","sizePerPageList","onSizePerPageChange","newSize","option","isSelect","Pagination","AnimateLoading","routeChanged","nextProps","scrollToTop","scrollToTopBtn","animateTimeout","setState","stopAnimate","animateInterval","stopAnimateTimeout","ProgressBar","withRouter","initCssClasses","LoadingDialog","cssClasses","setCssClasses","Notice","svg","iconRef","textRef","iconWrapperRef","ModalProgressBar","animated","initialAdminMenusState","adminMenuForEdit","adminMenuFetched","adminMenusFetched","adminMenuCreated","adminMenu","adminMenuUpdated","adminMenuId","adminMenuDeleted","adminMenusDeleted","initialPageContentsState","pageContentForEdit","pageContentFetched","pageContentsFetched","pageContentCreated","pageContent","pageContentUpdated","pageContentId","pageContentDeleted","pageContentsDeleted","initialWebMenusState","webMenuForEdit","webMenuFetched","webMenusFetched","webMenuCreated","webMenu","webMenuUpdated","webMenuDeleted","webMenusDeleted","initialCountriesState","countryForEdit","countryFetched","countriesFetched","countryCreated","country","countryUpdated","countryId","countryDeleted","countriesDeleted","initialInstitutesState","instituteForEdit","instituteFetched","institutesFetched","instituteCreated","institute","instituteUpdated","instituteId","instituteDeleted","institutesDeleted","initialDepartmentsState","departmentForEdit","departmentFetched","departmentsFetched","departmentCreated","department","departmentUpdated","departmentId","departmentDeleted","departmentsDeleted","initialProgramsState","programForEdit","programFetched","programsFetched","programCreated","program","programUpdated","programId","programDeleted","programsDeleted","initialLetterTypesState","letterTypeForEdit","letterTypeFetched","letterTypesFetched","letterTypeCreated","letterType","letterTypeUpdated","letterTypeId","letterTypeDeleted","letterTypesDeleted","initialConferencesState","conferenceForEdit","conferenceFetched","conferencesFetched","conferenceCreated","conferenceUpdated","conferenceId","conferenceDeleted","conferencesDeleted","initialGalleryImagesState","galleryImageForEdit","galleryImageFetched","galleryImagesFetched","galleryImageCreated","galleryImage","galleryImageUpdated","galleryImageId","galleryImageDeleted","galleryImagesDeleted","initialGalleriesState","galleryForEdit","galleryFetched","galleriesFetched","galleryCreated","gallery","galleryUpdated","galleryId","galleryDeleted","galleriesDeleted","initialNewssState","newsForEdit","newsFetched","newssFetched","newsCreated","news","newsUpdated","newsId","newsDeleted","newssDeleted","initialCoursesState","courseForEdit","courseFetched","coursesFetched","courseCreated","course","courseUpdated","courseId","courseDeleted","coursesDeleted","initialEventInfosState","eventInfoForEdit","eventInfoFetched","eventInfosFetched","eventInfoCreated","eventInfo","eventInfoUpdated","eventInfoId","eventInfoDeleted","eventInfosDeleted","initialRtiUploadsState","rtiUploadForEdit","rtiUploadFetched","rtiUploadsFetched","rtiUploadCreated","rtiUpload","rtiUploadUpdated","rtiUploadId","rtiUploadDeleted","rtiUploadsDeleted","initialFacultyMembersState","facultyMemberForEdit","facultyMemberFetched","facultyMembersFetched","facultyMemberCreated","facultyMember","facultyMemberUpdated","facultyMemberId","facultyMemberDeleted","facultyMembersDeleted","initialUniversityInfosState","universityInfoForEdit","universityInfoFetched","universityInfosFetched","universityInfoCreated","universityInfo","universityInfoUpdated","universityInfoId","universityInfoDeleted","universityInfosDeleted","initialDepartmentSubsState","departmentSubForEdit","departmentSubFetched","departmentSubsFetched","departmentSubCreated","departmentSub","departmentSubUpdated","departmentSubId","departmentSubDeleted","departmentSubsDeleted","initialDocTypesState","docTypeForEdit","docTypeFetched","docTypesFetched","docTypeCreated","docTypeUpdated","docTypeId","docTypeDeleted","docTypesDeleted","initialDownloadDocsState","downloadDocForEdit","downloadDocFetched","downloadDocsFetched","downloadDocCreated","downloadDoc","downloadDocUpdated","downloadDocId","downloadDocDeleted","downloadDocsDeleted","initialFeeTypesState","feeTypeForEdit","feeTypeFetched","feeTypesFetched","feeTypeCreated","feeTypeUpdated","feeTypeId","feeTypeDeleted","feeTypesDeleted","initialUsersState","userForEdit","userFetched","usersFetched","userCreated","userUpdated","userId","userDeleted","usersDeleted","initialUserRolesState","userRoleForEdit","userRoleFetched","userRolesFetched","userRoleCreated","userRole","userRoleUpdated","userRoleId","userRoleDeleted","userRolesDeleted","initialUserRoleRightsState","userRoleRightForEdit","userRoleRightFetched","userRoleRightsFetched","userRoleRightCreated","userRoleRight","userRoleRightUpdated","userRoleRightId","userRoleRightDeleted","userRoleRightsDeleted","initialScholarsState","scholarForEdit","scholarFetched","scholarsFetched","scholarCreated","scholar","scholarUpdated","scholarDeleted","scholarsDeleted","initialGuidesState","guideForEdit","guideFetched","guidesFetched","guideCreated","guideUpdated","guideDeleted","guidesDeleted","initialScholarConferencesState","scholarConferenceForEdit","scholarConferenceFetched","scholarConferencesFetched","scholarConferenceCreated","scholarConference","scholarConferenceUpdated","scholarConferenceDeleted","scholarConferencesDeleted","initialScholarCourseWorkInfosState","scholarCourseWorkInfoForEdit","scholarCourseWorkInfoFetched","scholarCourseWorkInfosFetched","scholarCourseWorkInfoCreated","scholarCourseWorkInfo","scholarCourseWorkInfoUpdated","scholarCourseWorkInfoDeleted","scholarCourseWorkInfosDeleted","initialScholarDocumentsState","scholarDocumentForEdit","scholarDocumentFetched","scholarDocumentsFetched","scholarDocumentCreated","scholarDocumentUpdated","scholarDocumentDeleted","scholarDocumentsDeleted","initialScholarThesisesState","scholarThesisForEdit","scholarThesisFetched","scholarThesisesFetched","scholarThesisCreated","scholarThesis","scholarThesisUpdated","scholarThesisDeleted","scholarThesisesDeleted","initialScholarEducationsState","scholarEducationForEdit","scholarEducationFetched","scholarEducationsFetched","scholarEducationCreated","scholarEducation","scholarEducationUpdated","scholarEducationDeleted","scholarEducationsDeleted","initialScholarJobInfosState","scholarJobInfoForEdit","scholarJobInfoFetched","scholarJobInfosFetched","scholarJobInfoCreated","scholarJobInfo","scholarJobInfoUpdated","scholarJobInfoDeleted","scholarJobInfosDeleted","initialScholarPayReceiptsState","scholarPayReceiptForEdit","scholarPayReceiptFetched","scholarPayReceiptsFetched","scholarPayReceiptCreated","scholarPayReceipt","scholarPayReceiptUpdated","scholarPayReceiptDeleted","scholarPayReceiptsDeleted","initialScholarPublicationsState","scholarPublicationForEdit","scholarPublicationFetched","scholarPublicationsFetched","scholarPublicationCreated","scholarPublication","scholarPublicationUpdated","scholarPublicationDeleted","scholarPublicationsDeleted","initialScholarSynopsysesState","scholarSynopsysForEdit","scholarSynopsysFetched","scholarSynopsysesFetched","scholarSynopsysCreated","scholarSynopsys","scholarSynopsysUpdated","scholarSynopsysDeleted","scholarSynopsysesDeleted","initialGuideAwardsState","guideAwardForEdit","guideAwardFetched","guideAwardsFetched","guideAwardCreated","guideAward","guideAwardUpdated","guideAwardDeleted","guideAwardsDeleted","initialGuideConfsState","guideConfForEdit","guideConfFetched","guideConfsFetched","guideConfCreated","guideConf","guideConfUpdated","guideConfDeleted","guideConfsDeleted","initialGuideDocumentsState","guideDocumentForEdit","guideDocumentFetched","guideDocumentsFetched","guideDocumentCreated","guideDocument","guideDocumentUpdated","guideDocumentDeleted","guideDocumentsDeleted","initialGuideEducationsState","guideEducationForEdit","guideEducationFetched","guideEducationsFetched","guideEducationCreated","guideEducation","guideEducationUpdated","guideEducationDeleted","guideEducationsDeleted","initialGuideJobInfosState","guideJobInfoForEdit","guideJobInfoFetched","guideJobInfosFetched","guideJobInfoCreated","guideJobInfo","guideJobInfoUpdated","guideJobInfoDeleted","guideJobInfosDeleted","initialGuidePatentsState","guidePatentForEdit","guidePatentFetched","guidePatentsFetched","guidePatentCreated","guidePatent","guidePatentUpdated","guidePatentDeleted","guidePatentsDeleted","initialGuidePublicationsState","guidePublicationForEdit","guidePublicationFetched","guidePublicationsFetched","guidePublicationCreated","guidePublication","guidePublicationUpdated","guidePublicationDeleted","guidePublicationsDeleted","initialGuideJjtuScholarsState","guideJjtuScholarForEdit","guideJjtuScholarFetched","guideJjtuScholarsFetched","guideJjtuScholarCreated","guideJjtuScholar","guideJjtuScholarUpdated","guideJjtuScholarDeleted","guideJjtuScholarsDeleted","DropdownMenu1","data-toggle","data-placement","DropdownMenu2","DropdownMenu4","DropdownCustomToggler","displayName","toggleSpeed","releseOnReverse","onScrollSticky","st","resetSticky","setContent","getSelf","expand","collapse","destroySticky","handle"],"mappings":"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","file":"static/js/main.1ece29e8.chunk.js","sourcesContent":["/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport PerfectScrollbar from \"perfect-scrollbar\";\r\n\r\nimport { KTCookie } from \"./cookie.js\";\r\n\r\n/**\r\n * @class KTUtil base utilize class that privides helper functions\r\n */\r\n\r\n// Polyfills\r\n/**\r\n * Element.matches() polyfill (simple version)\r\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\r\n */\r\nif (!Element.prototype.matches) {\r\n\tElement.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\r\n}\r\n\r\n/**\r\n * Element.closest() polyfill\r\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Polyfill\r\n */\r\nif (!Element.prototype.closest) {\r\n\tif (!Element.prototype.matches) {\r\n\t\tElement.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\r\n\t}\r\n\tElement.prototype.closest = function (s) {\r\n\t\tvar el = this;\r\n\t\tvar ancestor = this;\r\n\t\tif (!document.documentElement.contains(el)) return null;\r\n\t\tdo {\r\n\t\t\tif (ancestor.matches(s)) return ancestor;\r\n\t\t\tancestor = ancestor.parentElement;\r\n\t\t} while (ancestor !== null);\r\n\t\treturn null;\r\n\t};\r\n}\r\n\r\n/**\r\n * ChildNode.remove() polyfill\r\n * https://gomakethings.com/removing-an-element-from-the-dom-the-es6-way/\r\n * @author Chris Ferdinandi\r\n * @license MIT\r\n */\r\n(function (elem) {\r\n\tfor (var i = 0; i < elem.length; i++) {\r\n\t\tif (!window[elem[i]] || 'remove' in window[elem[i]].prototype) continue;\r\n\t\twindow[elem[i]].prototype.remove = function () {\r\n\t\t\tthis.parentNode.removeChild(this);\r\n\t\t};\r\n\t}\r\n})(['Element', 'CharacterData', 'DocumentType']);\r\n\r\n\r\n//\r\n// requestAnimationFrame polyfill by Erik Möller.\r\n// With fixes from Paul Irish and Tino Zijdel\r\n//\r\n// http://paulirish.com/2011/requestanimationframe-for-smart-animating/\r\n// http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating\r\n//\r\n// MIT license\r\n//\r\n(function() {\r\n var lastTime = 0;\r\n var vendors = ['webkit', 'moz'];\r\n for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\r\n window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];\r\n window.cancelAnimationFrame =\r\n window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];\r\n }\r\n\r\n if (!window.requestAnimationFrame)\r\n window.requestAnimationFrame = function(callback) {\r\n var currTime = new Date().getTime();\r\n var timeToCall = Math.max(0, 16 - (currTime - lastTime));\r\n var id = window.setTimeout(function() {\r\n callback(currTime + timeToCall);\r\n }, timeToCall);\r\n lastTime = currTime + timeToCall;\r\n return id;\r\n };\r\n\r\n if (!window.cancelAnimationFrame)\r\n window.cancelAnimationFrame = function(id) {\r\n clearTimeout(id);\r\n };\r\n}());\r\n\r\n// Source: https://github.com/jserz/js_piece/blob/master/DOM/ParentNode/prepend()/prepend().md\r\n(function(arr) {\r\n arr.forEach(function(item) {\r\n if (item.hasOwnProperty('prepend')) {\r\n return;\r\n }\r\n Object.defineProperty(item, 'prepend', {\r\n configurable: true,\r\n enumerable: true,\r\n writable: true,\r\n value: function prepend() {\r\n var argArr = Array.prototype.slice.call(arguments),\r\n docFrag = document.createDocumentFragment();\r\n\r\n argArr.forEach(function(argItem) {\r\n var isNode = argItem instanceof Node;\r\n docFrag.appendChild(isNode ? argItem : document.createTextNode(String(argItem)));\r\n });\r\n\r\n this.insertBefore(docFrag, this.firstChild);\r\n }\r\n });\r\n });\r\n})([Element.prototype, Document.prototype, DocumentFragment.prototype]);\r\n\r\n// getAttributeNames\r\nif (Element.prototype.getAttributeNames == undefined) {\r\n Element.prototype.getAttributeNames = function () {\r\n var attributes = this.attributes;\r\n var length = attributes.length;\r\n var result = new Array(length);\r\n for (var i = 0; i < length; i++) {\r\n result[i] = attributes[i].name;\r\n }\r\n return result;\r\n };\r\n}\r\n\r\n// Global variables\r\nwindow.KTUtilElementDataStore = {};\r\nwindow.KTUtilElementDataStoreID = 0;\r\nwindow.KTUtilDelegatedEventHandlers = {};\r\n\r\nexport var KTUtil = function() {\r\n var resizeHandlers = [];\r\n\r\n /** @type {object} breakpoints The device width breakpoints **/\r\n var breakpoints = {\r\n sm: 544, // Small screen / phone\r\n md: 768, // Medium screen / tablet\r\n lg: 992, // Large screen / desktop\r\n xl: 1200 // Extra large screen / wide desktop\r\n };\r\n\r\n /**\r\n * Handle window resize event with some\r\n * delay to attach event handlers upon resize complete\r\n */\r\n var _windowResizeHandler = function() {\r\n var _runResizeHandlers = function() {\r\n // reinitialize other subscribed elements\r\n for (var i = 0; i < resizeHandlers.length; i++) {\r\n var each = resizeHandlers[i];\r\n each.call();\r\n }\r\n };\r\n\r\n var timer;\r\n\r\n window.addEventListener('resize', function() {\r\n KTUtil.throttle(timer, function() {\r\n _runResizeHandlers();\r\n }, 200);\r\n });\r\n };\r\n\r\n return {\r\n /**\r\n * Class main initializer.\r\n * @param {object} settings.\r\n * @returns null\r\n */\r\n //main function to initiate the theme\r\n init: function(settings) {\r\n if (settings && settings.breakpoints) {\r\n breakpoints = settings.breakpoints;\r\n }\r\n\r\n _windowResizeHandler();\r\n },\r\n\r\n /**\r\n * Adds window resize event handler.\r\n * @param {function} callback function.\r\n */\r\n addResizeHandler: function(callback) {\r\n resizeHandlers.push(callback);\r\n },\r\n\r\n /**\r\n * Removes window resize event handler.\r\n * @param {function} callback function.\r\n */\r\n removeResizeHandler: function(callback) {\r\n for (var i = 0; i < resizeHandlers.length; i++) {\r\n if (callback === resizeHandlers[i]) {\r\n delete resizeHandlers[i];\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Trigger window resize handlers.\r\n */\r\n runResizeHandlers: function() {\r\n _runResizeHandlers();\r\n },\r\n\r\n resize: function() {\r\n if (typeof(Event) === 'function') {\r\n // modern browsers\r\n window.dispatchEvent(new Event('resize'));\r\n } else {\r\n // for IE and other old browsers\r\n // causes deprecation warning on modern browsers\r\n var evt = window.document.createEvent('UIEvents');\r\n evt.initUIEvent('resize', true, false, window, 0);\r\n window.dispatchEvent(evt);\r\n }\r\n },\r\n\r\n /**\r\n * Get GET parameter value from URL.\r\n * @param {string} paramName Parameter name.\r\n * @returns {string}\r\n */\r\n getURLParam: function(paramName) {\r\n var searchString = window.location.search.substring(1),\r\n i, val, params = searchString.split(\"&\");\r\n\r\n for (i = 0; i < params.length; i++) {\r\n val = params[i].split(\"=\");\r\n if (val[0] == paramName) {\r\n return unescape(val[1]);\r\n }\r\n }\r\n\r\n return null;\r\n },\r\n\r\n /**\r\n * Checks whether current device is mobile touch.\r\n * @returns {boolean}\r\n */\r\n isMobileDevice: function() {\r\n var test = (this.getViewPort().width < this.getBreakpoint('lg') ? true : false);\r\n\r\n if (test === false) {\r\n // For use within normal web clients\r\n test = navigator.userAgent.match(/iPad/i) != null;\r\n }\r\n\r\n return test;\r\n },\r\n\r\n /**\r\n * Checks whether current device is desktop.\r\n * @returns {boolean}\r\n */\r\n isDesktopDevice: function() {\r\n return KTUtil.isMobileDevice() ? false : true;\r\n },\r\n\r\n /**\r\n * Gets browser window viewport size. Ref:\r\n * http://andylangton.co.uk/articles/javascript/get-viewport-size-javascript/\r\n * @returns {object}\r\n */\r\n getViewPort: function() {\r\n var e = window,\r\n a = 'inner';\r\n if (!('innerWidth' in window)) {\r\n a = 'client';\r\n e = document.documentElement || document.body;\r\n }\r\n\r\n return {\r\n width: e[a + 'Width'],\r\n height: e[a + 'Height']\r\n };\r\n },\r\n\r\n /**\r\n * Checks whether given device mode is currently activated.\r\n * @param {string} mode Responsive mode name(e.g: desktop,\r\n * desktop-and-tablet, tablet, tablet-and-mobile, mobile)\r\n * @returns {boolean}\r\n */\r\n isInResponsiveRange: function(mode) {\r\n var breakpoint = this.getViewPort().width;\r\n\r\n if (mode == 'general') {\r\n return true;\r\n } else if (mode == 'desktop' && breakpoint >= (this.getBreakpoint('lg') + 1)) {\r\n return true;\r\n } else if (mode == 'tablet' && (breakpoint >= (this.getBreakpoint('md') + 1) && breakpoint < this.getBreakpoint('lg'))) {\r\n return true;\r\n } else if (mode == 'mobile' && breakpoint <= this.getBreakpoint('md')) {\r\n return true;\r\n } else if (mode == 'desktop-and-tablet' && breakpoint >= (this.getBreakpoint('md') + 1)) {\r\n return true;\r\n } else if (mode == 'tablet-and-mobile' && breakpoint <= this.getBreakpoint('lg')) {\r\n return true;\r\n } else if (mode == 'minimal-desktop-and-below' && breakpoint <= this.getBreakpoint('xl')) {\r\n return true;\r\n }\r\n\r\n return false;\r\n },\r\n\r\n\t\t/**\r\n * Checks whether given device mode is currently activated.\r\n * @param {string} mode Responsive mode name(e.g: desktop,\r\n * desktop-and-tablet, tablet, tablet-and-mobile, mobile)\r\n * @returns {boolean}\r\n */\r\n isBreakpointUp: function(mode) {\r\n var width = this.getViewPort().width;\r\n\t\t\tvar breakpoint = this.getBreakpoint(mode);\r\n\r\n\t\t\treturn (width >= breakpoint);\r\n },\r\n\r\n\t\tisBreakpointDown: function(mode) {\r\n var width = this.getViewPort().width;\r\n\t\t\tvar breakpoint = this.getBreakpoint(mode);\r\n\r\n\t\t\treturn (width < breakpoint);\r\n },\r\n\r\n /**\r\n * Generates unique ID for give prefix.\r\n * @param {string} prefix Prefix for generated ID\r\n * @returns {boolean}\r\n */\r\n getUniqueID: function(prefix) {\r\n return prefix + Math.floor(Math.random() * (new Date()).getTime());\r\n },\r\n\r\n /**\r\n * Gets window width for give breakpoint mode.\r\n * @param {string} mode Responsive mode name(e.g: xl, lg, md, sm)\r\n * @returns {number}\r\n */\r\n getBreakpoint: function(mode) {\r\n return breakpoints[mode];\r\n },\r\n\r\n /**\r\n * Checks whether object has property matchs given key path.\r\n * @param {object} obj Object contains values paired with given key path\r\n * @param {string} keys Keys path seperated with dots\r\n * @returns {object}\r\n */\r\n isset: function(obj, keys) {\r\n var stone;\r\n\r\n keys = keys || '';\r\n\r\n if (keys.indexOf('[') !== -1) {\r\n throw new Error('Unsupported object path notation.');\r\n }\r\n\r\n keys = keys.split('.');\r\n\r\n do {\r\n if (obj === undefined) {\r\n return false;\r\n }\r\n\r\n stone = keys.shift();\r\n\r\n if (!obj.hasOwnProperty(stone)) {\r\n return false;\r\n }\r\n\r\n obj = obj[stone];\r\n\r\n } while (keys.length);\r\n\r\n return true;\r\n },\r\n\r\n /**\r\n * Gets highest z-index of the given element parents\r\n * @param {object} el jQuery element object\r\n * @returns {number}\r\n */\r\n getHighestZindex: function(el) {\r\n var position, value;\r\n\r\n while (el && el !== document) {\r\n // Ignore z-index if position is set to a value where z-index is ignored by the browser\r\n // This makes behavior of this function consistent across browsers\r\n // WebKit always returns auto if the element is positioned\r\n position = KTUtil.css(el, 'position');\r\n\r\n if (position === \"absolute\" || position === \"relative\" || position === \"fixed\") {\r\n // IE returns 0 when zIndex is not specified\r\n // other browsers return a string\r\n // we ignore the case of nested elements with an explicit value of 0\r\n //
\r\n value = parseInt(KTUtil.css(el, 'z-index'));\r\n\r\n if (!isNaN(value) && value !== 0) {\r\n return value;\r\n }\r\n }\r\n\r\n el = el.parentNode;\r\n }\r\n\r\n return null;\r\n },\r\n\r\n /**\r\n * Checks whether the element has any parent with fixed positionfreg\r\n * @param {object} el jQuery element object\r\n * @returns {boolean}\r\n */\r\n hasFixedPositionedParent: function(el) {\r\n var position;\r\n\r\n while (el && el !== document) {\r\n position = KTUtil.css(el, 'position');\r\n\r\n if (position === \"fixed\") {\r\n return true;\r\n }\r\n\r\n el = el.parentNode;\r\n }\r\n\r\n return false;\r\n },\r\n\r\n /**\r\n * Simulates delay\r\n */\r\n sleep: function(milliseconds) {\r\n var start = new Date().getTime();\r\n for (var i = 0; i < 1e7; i++) {\r\n if ((new Date().getTime() - start) > milliseconds) {\r\n break;\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Gets randomly generated integer value within given min and max range\r\n * @param {number} min Range start value\r\n * @param {number} max Range end value\r\n * @returns {number}\r\n */\r\n getRandomInt: function(min, max) {\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n },\r\n\r\n /**\r\n * Checks whether Angular library is included\r\n * @returns {boolean}\r\n */\r\n isAngularVersion: function() {\r\n return window.Zone !== undefined ? true : false;\r\n },\r\n\r\n // jQuery Workarounds\r\n\r\n // Deep extend: $.extend(true, {}, objA, objB);\r\n deepExtend: function(out) {\r\n out = out || {};\r\n\r\n for (var i = 1; i < arguments.length; i++) {\r\n var obj = arguments[i];\r\n\r\n if (!obj)\r\n continue;\r\n\r\n for (var key in obj) {\r\n if (obj.hasOwnProperty(key)) {\r\n if (typeof obj[key] === 'object')\r\n out[key] = KTUtil.deepExtend(out[key], obj[key]);\r\n else\r\n out[key] = obj[key];\r\n }\r\n }\r\n }\r\n\r\n return out;\r\n },\r\n\r\n // extend: $.extend({}, objA, objB);\r\n extend: function(out) {\r\n out = out || {};\r\n\r\n for (var i = 1; i < arguments.length; i++) {\r\n if (!arguments[i])\r\n continue;\r\n\r\n for (var key in arguments[i]) {\r\n if (arguments[i].hasOwnProperty(key))\r\n out[key] = arguments[i][key];\r\n }\r\n }\r\n\r\n return out;\r\n },\r\n\r\n getById: function(el) {\r\n if (typeof el === 'string') {\r\n return document.getElementById(el);\r\n } else {\r\n return el;\r\n }\r\n },\r\n\r\n getByTag: function(query) {\r\n return document.getElementsByTagName(query);\r\n },\r\n\r\n getByTagName: function(query) {\r\n return document.getElementsByTagName(query);\r\n },\r\n\r\n getByClass: function(query) {\r\n return document.getElementsByClassName(query);\r\n },\r\n\r\n getBody: function() {\r\n return document.getElementsByTagName('body')[0];\r\n },\r\n\r\n /**\r\n * Checks whether the element has given classes\r\n * @param {object} el jQuery element object\r\n * @param {string} Classes string\r\n * @returns {boolean}\r\n */\r\n hasClasses: function(el, classes) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n var classesArr = classes.split(\" \");\r\n\r\n for (var i = 0; i < classesArr.length; i++) {\r\n if (KTUtil.hasClass(el, KTUtil.trim(classesArr[i])) == false) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n },\r\n\r\n hasClass: function(el, className) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n return el.classList ? el.classList.contains(className) : new RegExp('\\\\b' + className + '\\\\b').test(el.className);\r\n },\r\n\r\n addClass: function(el, className) {\r\n if (!el || typeof className === 'undefined') {\r\n return;\r\n }\r\n\r\n var classNames = className.split(' ');\r\n\r\n if (el.classList) {\r\n for (var i = 0; i < classNames.length; i++) {\r\n if (classNames[i] && classNames[i].length > 0) {\r\n el.classList.add(KTUtil.trim(classNames[i]));\r\n }\r\n }\r\n } else if (!KTUtil.hasClass(el, className)) {\r\n for (var x = 0; x < classNames.length; x++) {\r\n el.className += ' ' + KTUtil.trim(classNames[x]);\r\n }\r\n }\r\n },\r\n\r\n removeClass: function(el, className) {\r\n if (!el || typeof className === 'undefined') {\r\n return;\r\n }\r\n\r\n var classNames = className.split(' ');\r\n\r\n if (el.classList) {\r\n for (var i = 0; i < classNames.length; i++) {\r\n el.classList.remove(KTUtil.trim(classNames[i]));\r\n }\r\n } else if (KTUtil.hasClass(el, className)) {\r\n for (var x = 0; x < classNames.length; x++) {\r\n el.className = el.className.replace(new RegExp('\\\\b' + KTUtil.trim(classNames[x]) + '\\\\b', 'g'), '');\r\n }\r\n }\r\n },\r\n\r\n triggerCustomEvent: function(el, eventName, data) {\r\n var event;\r\n if (window.CustomEvent) {\r\n event = new CustomEvent(eventName, {\r\n detail: data\r\n });\r\n } else {\r\n event = document.createEvent('CustomEvent');\r\n event.initCustomEvent(eventName, true, true, data);\r\n }\r\n\r\n el.dispatchEvent(event);\r\n },\r\n\r\n triggerEvent: function(node, eventName) {\r\n // Make sure we use the ownerDocument from the provided node to avoid cross-window problems\r\n var doc;\r\n if (node.ownerDocument) {\r\n doc = node.ownerDocument;\r\n } else if (node.nodeType == 9) {\r\n // the node may be the document itself, nodeType 9 = DOCUMENT_NODE\r\n doc = node;\r\n } else {\r\n throw new Error(\"Invalid node passed to fireEvent: \" + node.id);\r\n }\r\n\r\n if (node.dispatchEvent) {\r\n // Gecko-style approach (now the standard) takes more work\r\n var eventClass = \"\";\r\n\r\n // Different events have different event classes.\r\n // If this switch statement can't map an eventName to an eventClass,\r\n // the event firing is going to fail.\r\n switch (eventName) {\r\n case \"click\": // Dispatching of 'click' appears to not work correctly in Safari. Use 'mousedown' or 'mouseup' instead.\r\n case \"mouseenter\":\r\n case \"mouseleave\":\r\n case \"mousedown\":\r\n case \"mouseup\":\r\n eventClass = \"MouseEvents\";\r\n break;\r\n\r\n case \"focus\":\r\n case \"change\":\r\n case \"blur\":\r\n case \"select\":\r\n eventClass = \"HTMLEvents\";\r\n break;\r\n\r\n default:\r\n throw \"fireEvent: Couldn't find an event class for event '\" + eventName + \"'.\";\r\n break;\r\n }\r\n var event = doc.createEvent(eventClass);\r\n\r\n var bubbles = eventName == \"change\" ? false : true;\r\n event.initEvent(eventName, bubbles, true); // All events created as bubbling and cancelable.\r\n\r\n event.synthetic = true; // allow detection of synthetic events\r\n // The second parameter says go ahead with the default action\r\n node.dispatchEvent(event, true);\r\n } else if (node.fireEvent) {\r\n // IE-old school style\r\n var event = doc.createEventObject();\r\n event.synthetic = true; // allow detection of synthetic events\r\n node.fireEvent(\"on\" + eventName, event);\r\n }\r\n },\r\n\r\n index: function( el ){\r\n var c = el.parentNode.children, i = 0;\r\n for(; i < c.length; i++ )\r\n if( c[i] == el ) return i;\r\n },\r\n\r\n trim: function(string) {\r\n return string.trim();\r\n },\r\n\r\n eventTriggered: function(e) {\r\n if (e.currentTarget.dataset.triggered) {\r\n return true;\r\n } else {\r\n e.currentTarget.dataset.triggered = true;\r\n\r\n return false;\r\n }\r\n },\r\n\r\n remove: function(el) {\r\n if (el && el.parentNode) {\r\n el.parentNode.removeChild(el);\r\n }\r\n },\r\n\r\n find: function(parent, query) {\r\n parent = KTUtil.getById(parent);\r\n if (parent) {\r\n return parent.querySelector(query);\r\n }\r\n },\r\n\r\n findAll: function(parent, query) {\r\n parent = KTUtil.getById(parent);\r\n if (parent) {\r\n return parent.querySelectorAll(query);\r\n }\r\n },\r\n\r\n insertAfter: function(el, referenceNode) {\r\n return referenceNode.parentNode.insertBefore(el, referenceNode.nextSibling);\r\n },\r\n\r\n parents: function(elem, selector) {\r\n // Element.matches() polyfill\r\n if (!Element.prototype.matches) {\r\n Element.prototype.matches =\r\n Element.prototype.matchesSelector ||\r\n Element.prototype.mozMatchesSelector ||\r\n Element.prototype.msMatchesSelector ||\r\n Element.prototype.oMatchesSelector ||\r\n Element.prototype.webkitMatchesSelector ||\r\n function(s) {\r\n var matches = (this.document || this.ownerDocument).querySelectorAll(s),\r\n i = matches.length;\r\n while (--i >= 0 && matches.item(i) !== this) {}\r\n return i > -1;\r\n };\r\n }\r\n\r\n // Set up a parent array\r\n var parents = [];\r\n\r\n // Push each parent element to the array\r\n for ( ; elem && elem !== document; elem = elem.parentNode ) {\r\n if (selector) {\r\n if (elem.matches(selector)) {\r\n parents.push(elem);\r\n }\r\n continue;\r\n }\r\n parents.push(elem);\r\n }\r\n\r\n // Return our parent array\r\n return parents;\r\n },\r\n\r\n children: function(el, selector, log) {\r\n if (!el || !el.childNodes) {\r\n return;\r\n }\r\n\r\n var result = [],\r\n i = 0,\r\n l = el.childNodes.length;\r\n\r\n for (var i; i < l; ++i) {\r\n if (el.childNodes[i].nodeType == 1 && KTUtil.matches(el.childNodes[i], selector, log)) {\r\n result.push(el.childNodes[i]);\r\n }\r\n }\r\n\r\n return result;\r\n },\r\n\r\n child: function(el, selector, log) {\r\n var children = KTUtil.children(el, selector, log);\r\n\r\n return children ? children[0] : null;\r\n },\r\n\r\n matches: function(el, selector, log) {\r\n var p = Element.prototype;\r\n var f = p.matches || p.webkitMatchesSelector || p.mozMatchesSelector || p.msMatchesSelector || function(s) {\r\n return [].indexOf.call(document.querySelectorAll(s), this) !== -1;\r\n };\r\n\r\n if (el && el.tagName) {\r\n return f.call(el, selector);\r\n } else {\r\n return false;\r\n }\r\n },\r\n\r\n data: function(el) {\r\n return {\r\n set: function(name, data) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n if (el.customDataTag === undefined) {\r\n window.KTUtilElementDataStoreID++;\r\n el.customDataTag = window.KTUtilElementDataStoreID;\r\n }\r\n\r\n if (window.KTUtilElementDataStore[el.customDataTag] === undefined) {\r\n window.KTUtilElementDataStore[el.customDataTag] = {};\r\n }\r\n\r\n window.KTUtilElementDataStore[el.customDataTag][name] = data;\r\n },\r\n\r\n get: function(name) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n if (el.customDataTag === undefined) {\r\n return null;\r\n }\r\n\r\n return this.has(name) ? window.KTUtilElementDataStore[el.customDataTag][name] : null;\r\n },\r\n\r\n has: function(name) {\r\n if (!el) {\r\n return false;\r\n }\r\n\r\n if (el.customDataTag === undefined) {\r\n return false;\r\n }\r\n\r\n return (window.KTUtilElementDataStore[el.customDataTag] && window.KTUtilElementDataStore[el.customDataTag][name]) ? true : false;\r\n },\r\n\r\n remove: function(name) {\r\n if (el && this.has(name)) {\r\n delete window.KTUtilElementDataStore[el.customDataTag][name];\r\n }\r\n }\r\n };\r\n },\r\n\r\n outerWidth: function(el, margin) {\r\n var width;\r\n\r\n if (margin === true) {\r\n width = parseFloat(el.offsetWidth);\r\n width += parseFloat(KTUtil.css(el, 'margin-left')) + parseFloat(KTUtil.css(el, 'margin-right'));\r\n\r\n return parseFloat(width);\r\n } else {\r\n width = parseFloat(el.offsetWidth);\r\n\r\n return width;\r\n }\r\n },\r\n\r\n offset: function(el) {\r\n var rect, win;\r\n\r\n if ( !el ) {\r\n return;\r\n }\r\n\r\n // Return zeros for disconnected and hidden (display: none) elements (gh-2310)\r\n // Support: IE <=11 only\r\n // Running getBoundingClientRect on a\r\n // disconnected node in IE throws an error\r\n\r\n if ( !el.getClientRects().length ) {\r\n return { top: 0, left: 0 };\r\n }\r\n\r\n // Get document-relative position by adding viewport scroll to viewport-relative gBCR\r\n rect = el.getBoundingClientRect();\r\n win = el.ownerDocument.defaultView;\r\n\r\n return {\r\n top: rect.top + win.pageYOffset,\r\n left: rect.left + win.pageXOffset\r\n };\r\n },\r\n\r\n height: function(el) {\r\n return KTUtil.css(el, 'height');\r\n },\r\n\r\n outerHeight: function(el, withMargin) {\r\n var height = el.offsetHeight;\r\n var style;\r\n\r\n if (typeof withMargin !== 'undefined' && withMargin === true) {\r\n style = getComputedStyle(el);\r\n height += parseInt(style.marginTop) + parseInt(style.marginBottom);\r\n\r\n return height;\r\n } else {\r\n return height;\r\n }\r\n },\r\n\r\n visible: function(el) {\r\n return !(el.offsetWidth === 0 && el.offsetHeight === 0);\r\n },\r\n\r\n attr: function(el, name, value) {\r\n if (el == undefined) {\r\n return;\r\n }\r\n\r\n if (value !== undefined) {\r\n el.setAttribute(name, value);\r\n } else {\r\n return el.getAttribute(name);\r\n }\r\n },\r\n\r\n hasAttr: function(el, name) {\r\n if (el == undefined) {\r\n return;\r\n }\r\n\r\n return el.getAttribute(name) ? true : false;\r\n },\r\n\r\n removeAttr: function(el, name) {\r\n if (el == undefined) {\r\n return;\r\n }\r\n\r\n el.removeAttribute(name);\r\n },\r\n\r\n animate: function(from, to, duration, update, easing, done) {\r\n /**\r\n * TinyAnimate.easings\r\n * Adapted from jQuery Easing\r\n */\r\n var easings = {};\r\n var easing;\r\n\r\n easings.linear = function(t, b, c, d) {\r\n return c * t / d + b;\r\n };\r\n\r\n easing = easings.linear;\r\n\r\n // Early bail out if called incorrectly\r\n if (typeof from !== 'number' ||\r\n typeof to !== 'number' ||\r\n typeof duration !== 'number' ||\r\n typeof update !== 'function') {\r\n return;\r\n }\r\n\r\n // Create mock done() function if necessary\r\n if (typeof done !== 'function') {\r\n done = function() {};\r\n }\r\n\r\n // Pick implementation (requestAnimationFrame | setTimeout)\r\n var rAF = window.requestAnimationFrame || function(callback) {\r\n window.setTimeout(callback, 1000 / 50);\r\n };\r\n\r\n // Animation loop\r\n var canceled = false;\r\n var change = to - from;\r\n\r\n function loop(timestamp) {\r\n var time = (timestamp || +new Date()) - start;\r\n\r\n if (time >= 0) {\r\n update(easing(time, from, change, duration));\r\n }\r\n if (time >= 0 && time >= duration) {\r\n update(to);\r\n done();\r\n } else {\r\n rAF(loop);\r\n }\r\n }\r\n\r\n update(from);\r\n\r\n // Start animation loop\r\n var start = window.performance && window.performance.now ? window.performance.now() : +new Date();\r\n\r\n rAF(loop);\r\n },\r\n\r\n actualCss: function(el, prop, cache) {\r\n var css = '';\r\n\r\n if (el instanceof HTMLElement === false) {\r\n return;\r\n }\r\n\r\n if (!el.getAttribute('kt-hidden-' + prop) || cache === false) {\r\n var value;\r\n\r\n // the element is hidden so:\r\n // making the el block so we can meassure its height but still be hidden\r\n css = el.style.cssText;\r\n el.style.cssText = 'position: absolute; visibility: hidden; display: block;';\r\n\r\n if (prop == 'width') {\r\n value = el.offsetWidth;\r\n } else if (prop == 'height') {\r\n value = el.offsetHeight;\r\n }\r\n\r\n el.style.cssText = css;\r\n\r\n // store it in cache\r\n el.setAttribute('kt-hidden-' + prop, value);\r\n\r\n return parseFloat(value);\r\n } else {\r\n // store it in cache\r\n return parseFloat(el.getAttribute('kt-hidden-' + prop));\r\n }\r\n },\r\n\r\n actualHeight: function(el, cache) {\r\n return KTUtil.actualCss(el, 'height', cache);\r\n },\r\n\r\n actualWidth: function(el, cache) {\r\n return KTUtil.actualCss(el, 'width', cache);\r\n },\r\n\r\n getScroll: function(element, method) {\r\n // The passed in `method` value should be 'Top' or 'Left'\r\n method = 'scroll' + method;\r\n return (element == window || element == document) ? (\r\n self[(method == 'scrollTop') ? 'pageYOffset' : 'pageXOffset'] ||\r\n (browserSupportsBoxModel && document.documentElement[method]) ||\r\n document.body[method]\r\n ) : element[method];\r\n },\r\n\r\n css: function(el, styleProp, value) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n if (value !== undefined) {\r\n el.style[styleProp] = value;\r\n } else {\r\n var defaultView = (el.ownerDocument || document).defaultView;\r\n // W3C standard way:\r\n if (defaultView && defaultView.getComputedStyle) {\r\n // sanitize property name to css notation\r\n // (hyphen separated words eg. font-Size)\r\n styleProp = styleProp.replace(/([A-Z])/g, \"-$1\").toLowerCase();\r\n return defaultView.getComputedStyle(el, null).getPropertyValue(styleProp);\r\n } else if (el.currentStyle) { // IE\r\n // sanitize property name to camelCase\r\n styleProp = styleProp.replace(/\\-(\\w)/g, function(str, letter) {\r\n return letter.toUpperCase();\r\n });\r\n value = el.currentStyle[styleProp];\r\n // convert other units to pixels on IE\r\n if (/^\\d+(em|pt|%|ex)?$/i.test(value)) {\r\n return (function(value) {\r\n var oldLeft = el.style.left,\r\n oldRsLeft = el.runtimeStyle.left;\r\n el.runtimeStyle.left = el.currentStyle.left;\r\n el.style.left = value || 0;\r\n value = el.style.pixelLeft + \"px\";\r\n el.style.left = oldLeft;\r\n el.runtimeStyle.left = oldRsLeft;\r\n return value;\r\n })(value);\r\n }\r\n return value;\r\n }\r\n }\r\n },\r\n\r\n slide: function(el, dir, speed, callback, recalcMaxHeight) {\r\n if (!el || (dir == 'up' && KTUtil.visible(el) === false) || (dir == 'down' && KTUtil.visible(el) === true)) {\r\n return;\r\n }\r\n\r\n speed = (speed ? speed : 600);\r\n var calcHeight = KTUtil.actualHeight(el);\r\n var calcPaddingTop = false;\r\n var calcPaddingBottom = false;\r\n\r\n if (KTUtil.css(el, 'padding-top') && KTUtil.data(el).has('slide-padding-top') !== true) {\r\n KTUtil.data(el).set('slide-padding-top', KTUtil.css(el, 'padding-top'));\r\n }\r\n\r\n if (KTUtil.css(el, 'padding-bottom') && KTUtil.data(el).has('slide-padding-bottom') !== true) {\r\n KTUtil.data(el).set('slide-padding-bottom', KTUtil.css(el, 'padding-bottom'));\r\n }\r\n\r\n if (KTUtil.data(el).has('slide-padding-top')) {\r\n calcPaddingTop = parseInt(KTUtil.data(el).get('slide-padding-top'));\r\n }\r\n\r\n if (KTUtil.data(el).has('slide-padding-bottom')) {\r\n calcPaddingBottom = parseInt(KTUtil.data(el).get('slide-padding-bottom'));\r\n }\r\n\r\n if (dir == 'up') { // up\r\n el.style.cssText = 'display: block; overflow: hidden;';\r\n\r\n if (calcPaddingTop) {\r\n KTUtil.animate(0, calcPaddingTop, speed, function(value) {\r\n el.style.paddingTop = (calcPaddingTop - value) + 'px';\r\n }, 'linear');\r\n }\r\n\r\n if (calcPaddingBottom) {\r\n KTUtil.animate(0, calcPaddingBottom, speed, function(value) {\r\n el.style.paddingBottom = (calcPaddingBottom - value) + 'px';\r\n }, 'linear');\r\n }\r\n\r\n KTUtil.animate(0, calcHeight, speed, function(value) {\r\n el.style.height = (calcHeight - value) + 'px';\r\n }, 'linear', function() {\r\n el.style.height = '';\r\n el.style.display = 'none';\r\n\r\n if (typeof callback === 'function') {\r\n callback();\r\n }\r\n });\r\n\r\n\r\n } else if (dir == 'down') { // down\r\n el.style.cssText = 'display: block; overflow: hidden;';\r\n\r\n if (calcPaddingTop) {\r\n KTUtil.animate(0, calcPaddingTop, speed, function(value) {//\r\n el.style.paddingTop = value + 'px';\r\n }, 'linear', function() {\r\n el.style.paddingTop = '';\r\n });\r\n }\r\n\r\n if (calcPaddingBottom) {\r\n KTUtil.animate(0, calcPaddingBottom, speed, function(value) {\r\n el.style.paddingBottom = value + 'px';\r\n }, 'linear', function() {\r\n el.style.paddingBottom = '';\r\n });\r\n }\r\n\r\n KTUtil.animate(0, calcHeight, speed, function(value) {\r\n el.style.height = value + 'px';\r\n }, 'linear', function() {\r\n el.style.height = '';\r\n el.style.display = '';\r\n el.style.overflow = '';\r\n\r\n if (typeof callback === 'function') {\r\n callback();\r\n }\r\n });\r\n }\r\n },\r\n\r\n slideUp: function(el, speed, callback) {\r\n KTUtil.slide(el, 'up', speed, callback);\r\n },\r\n\r\n slideDown: function(el, speed, callback) {\r\n KTUtil.slide(el, 'down', speed, callback);\r\n },\r\n\r\n show: function(el, display) {\r\n if (typeof el !== 'undefined') {\r\n el.style.display = (display ? display : 'block');\r\n }\r\n },\r\n\r\n hide: function(el) {\r\n if (typeof el !== 'undefined') {\r\n el.style.display = 'none';\r\n }\r\n },\r\n\r\n addEvent: function(el, type, handler, one) {\r\n if (typeof el !== 'undefined' && el !== null) {\r\n el.addEventListener(type, handler);\r\n }\r\n },\r\n\r\n removeEvent: function(el, type, handler) {\r\n if (el !== null) {\r\n el.removeEventListener(type, handler);\r\n }\r\n },\r\n\r\n on: function(element, selector, event, handler) {\r\n if (!selector) {\r\n return;\r\n }\r\n\r\n var eventId = KTUtil.getUniqueID('event');\r\n\r\n window.KTUtilDelegatedEventHandlers[eventId] = function(e) {\r\n var targets = element.querySelectorAll(selector);\r\n var target = e.target;\r\n\r\n while (target && target !== element) {\r\n for (var i = 0, j = targets.length; i < j; i++) {\r\n if (target === targets[i]) {\r\n handler.call(target, e);\r\n }\r\n }\r\n\r\n target = target.parentNode;\r\n }\r\n }\r\n\r\n KTUtil.addEvent(element, event, window.KTUtilDelegatedEventHandlers[eventId]);\r\n\r\n return eventId;\r\n },\r\n\r\n off: function(element, event, eventId) {\r\n if (!element || !window.KTUtilDelegatedEventHandlers[eventId]) {\r\n return;\r\n }\r\n\r\n KTUtil.removeEvent(element, event, window.KTUtilDelegatedEventHandlers[eventId]);\r\n\r\n delete window.KTUtilDelegatedEventHandlers[eventId];\r\n },\r\n\r\n one: function onetime(el, type, callback) {\r\n el.addEventListener(type, function callee(e) {\r\n // remove event\r\n if (e.target && e.target.removeEventListener) {\r\n e.target.removeEventListener(e.type, callee);\r\n }\r\n\r\n // need to verify from https://themeforest.net/author_dashboard#comment_23615588\r\n if (el && el.removeEventListener) {\r\n\t\t\t\t e.currentTarget.removeEventListener(e.type, callee);\r\n\t\t\t }\r\n\r\n // call handler\r\n return callback(e);\r\n });\r\n },\r\n\r\n hash: function(str) {\r\n var hash = 0,\r\n i, chr;\r\n\r\n if (str.length === 0) return hash;\r\n for (i = 0; i < str.length; i++) {\r\n chr = str.charCodeAt(i);\r\n hash = ((hash << 5) - hash) + chr;\r\n hash |= 0; // Convert to 32bit integer\r\n }\r\n\r\n return hash;\r\n },\r\n\r\n animateClass: function(el, animationName, callback) {\r\n var animation;\r\n var animations = {\r\n animation: 'animationend',\r\n OAnimation: 'oAnimationEnd',\r\n MozAnimation: 'mozAnimationEnd',\r\n WebkitAnimation: 'webkitAnimationEnd',\r\n msAnimation: 'msAnimationEnd',\r\n };\r\n\r\n for (var t in animations) {\r\n if (el.style[t] !== undefined) {\r\n animation = animations[t];\r\n }\r\n }\r\n\r\n KTUtil.addClass(el, 'animated ' + animationName);\r\n\r\n KTUtil.one(el, animation, function() {\r\n KTUtil.removeClass(el, 'animated ' + animationName);\r\n });\r\n\r\n if (callback) {\r\n KTUtil.one(el, animation, callback);\r\n }\r\n },\r\n\r\n transitionEnd: function(el, callback) {\r\n var transition;\r\n var transitions = {\r\n transition: 'transitionend',\r\n OTransition: 'oTransitionEnd',\r\n MozTransition: 'mozTransitionEnd',\r\n WebkitTransition: 'webkitTransitionEnd',\r\n msTransition: 'msTransitionEnd'\r\n };\r\n\r\n for (var t in transitions) {\r\n if (el.style[t] !== undefined) {\r\n transition = transitions[t];\r\n }\r\n }\r\n\r\n KTUtil.one(el, transition, callback);\r\n },\r\n\r\n animationEnd: function(el, callback) {\r\n var animation;\r\n var animations = {\r\n animation: 'animationend',\r\n OAnimation: 'oAnimationEnd',\r\n MozAnimation: 'mozAnimationEnd',\r\n WebkitAnimation: 'webkitAnimationEnd',\r\n msAnimation: 'msAnimationEnd'\r\n };\r\n\r\n for (var t in animations) {\r\n if (el.style[t] !== undefined) {\r\n animation = animations[t];\r\n }\r\n }\r\n\r\n KTUtil.one(el, animation, callback);\r\n },\r\n\r\n animateDelay: function(el, value) {\r\n var vendors = ['webkit-', 'moz-', 'ms-', 'o-', ''];\r\n for (var i = 0; i < vendors.length; i++) {\r\n KTUtil.css(el, vendors[i] + 'animation-delay', value);\r\n }\r\n },\r\n\r\n animateDuration: function(el, value) {\r\n var vendors = ['webkit-', 'moz-', 'ms-', 'o-', ''];\r\n for (var i = 0; i < vendors.length; i++) {\r\n KTUtil.css(el, vendors[i] + 'animation-duration', value);\r\n }\r\n },\r\n\r\n scrollTo: function(target, offset, duration) {\r\n var duration = duration ? duration : 500;\r\n var targetPos = target ? KTUtil.offset(target).top : 0;\r\n var scrollPos = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n var from, to;\r\n\r\n if (offset) {\r\n scrollPos += offset;\r\n }\r\n\r\n from = scrollPos;\r\n to = targetPos;\r\n\r\n KTUtil.animate(from, to, duration, function(value) {\r\n document.documentElement.scrollTop = value;\r\n document.body.parentNode.scrollTop = value;\r\n document.body.scrollTop = value;\r\n }); //, easing, done\r\n },\r\n\r\n scrollTop: function(offset, duration) {\r\n KTUtil.scrollTo(null, offset, duration);\r\n },\r\n\r\n isArray: function(obj) {\r\n return obj && Array.isArray(obj);\r\n },\r\n\r\n ready: function(callback) {\r\n if (document.attachEvent ? document.readyState === \"complete\" : document.readyState !== \"loading\") {\r\n callback();\r\n } else {\r\n document.addEventListener('DOMContentLoaded', callback);\r\n }\r\n },\r\n\r\n isEmpty: function(obj) {\r\n for (var prop in obj) {\r\n if (obj.hasOwnProperty(prop)) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n },\r\n\r\n numberString: function(nStr) {\r\n nStr += '';\r\n var x = nStr.split('.');\r\n var x1 = x[0];\r\n var x2 = x.length > 1 ? '.' + x[1] : '';\r\n var rgx = /(\\d+)(\\d{3})/;\r\n while (rgx.test(x1)) {\r\n x1 = x1.replace(rgx, '$1' + ',' + '$2');\r\n }\r\n return x1 + x2;\r\n },\r\n\r\n detectIE: function() {\r\n var ua = window.navigator.userAgent;\r\n\r\n // Test values; Uncomment to check result …\r\n\r\n // IE 10\r\n // ua = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)';\r\n\r\n // IE 11\r\n // ua = 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko';\r\n\r\n // Edge 12 (Spartan)\r\n // ua = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0';\r\n\r\n // Edge 13\r\n // ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586';\r\n\r\n var msie = ua.indexOf('MSIE ');\r\n if (msie > 0) {\r\n // IE 10 or older => return version number\r\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\r\n }\r\n\r\n var trident = ua.indexOf('Trident/');\r\n if (trident > 0) {\r\n // IE 11 => return version number\r\n var rv = ua.indexOf('rv:');\r\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\r\n }\r\n\r\n var edge = ua.indexOf('Edge/');\r\n if (edge > 0) {\r\n // Edge (IE 12+) => return version number\r\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\r\n }\r\n\r\n // other browser\r\n return false;\r\n },\r\n\r\n isRTL: function() {\r\n var html = KTUtil.getByTagName('html')[0];\r\n\r\n if (html) {\r\n return (KTUtil.attr(html, 'direction') == 'rtl');\r\n }\r\n },\r\n\r\n // Scroller\r\n scrollInit: function(element, options) {\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Learn more: https://github.com/mdbootstrap/perfect-scrollbar#options\r\n var pluginDefOptions = {\r\n wheelSpeed: 0.5,\r\n swipeEasing: true,\r\n wheelPropagation: false,\r\n minScrollbarLength: 40,\r\n maxScrollbarLength: 300,\r\n suppressScrollX: true\r\n };\r\n\r\n options = KTUtil.deepExtend({}, pluginDefOptions, options);\r\n\r\n // Define init function\r\n function init() {\r\n var ps;\r\n var height;\r\n\r\n // Get extra options via data attributes\r\n var attrs = element.getAttributeNames();\r\n if (attrs.length > 0) {\r\n attrs.forEach(function(attrName) {\r\n \t\t\t// more options; https://github.com/ganlanyuan/tiny-slider#options\r\n \t\t\tif ((/^data-.*/g).test(attrName)) {\r\n if (['scroll', 'height', 'mobile-height'].includes(optionName) == false) {\r\n var optionName = attrName.replace('data-', '').toLowerCase().replace(/(?:[\\s-])\\w/g, function(match) {\r\n \t\t\t\t\treturn match.replace('-', '').toUpperCase();\r\n \t\t\t\t});\r\n\r\n options[optionName] = KTUtil.filterBoolean(element.getAttribute(attrName));\r\n }\r\n \t\t\t}\r\n \t\t});\r\n }\r\n\r\n if (options.height instanceof Function) {\r\n height = options.height.call();\r\n } else {\r\n if (KTUtil.isMobileDevice() === true && options.mobileHeight) {\r\n height = parseInt(options.mobileHeight);\r\n } else if (options.height) {\r\n height = parseInt(options.height);\r\n } else {\r\n height = parseInt(KTUtil.css(element, 'height'));\r\n }\r\n }\r\n\r\n if (height === false) {\r\n KTUtil.scrollDestroy(element, true);\r\n\r\n return;\r\n }\r\n\r\n height = parseInt(height);\r\n\r\n // Destroy scroll on table and mobile modes\r\n if ((options.mobileNativeScroll || options.disableForMobile) && KTUtil.isMobileDevice() === true) {\r\n ps = KTUtil.data(element).get('ps');\r\n if (ps) {\r\n if (options.resetHeightOnDestroy) {\r\n KTUtil.css(element, 'height', 'auto');\r\n } else {\r\n KTUtil.css(element, 'overflow', 'auto');\r\n if (height > 0) {\r\n KTUtil.css(element, 'height', height + 'px');\r\n }\r\n }\r\n\r\n ps.destroy();\r\n ps = KTUtil.data(element).remove('ps');\r\n } else if (height > 0){\r\n KTUtil.css(element, 'overflow', 'auto');\r\n KTUtil.css(element, 'height', height + 'px');\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (height > 0) {\r\n KTUtil.css(element, 'height', height + 'px');\r\n }\r\n\r\n if (options.desktopNativeScroll) {\r\n KTUtil.css(element, 'overflow', 'auto');\r\n return;\r\n }\r\n\r\n // Pass options via HTML Attributes\r\n if (KTUtil.attr(element, 'data-window-scroll') == 'true') {\r\n options.windowScroll = true;\r\n }\r\n\r\n // Init scroll\r\n ps = KTUtil.data(element).get('ps');\r\n\r\n if (ps) {\r\n ps.update();\r\n } else {\r\n KTUtil.css(element, 'overflow', 'hidden');\r\n KTUtil.addClass(element, 'scroll');\r\n\r\n ps = new PerfectScrollbar(element, options);\r\n\r\n KTUtil.data(element).set('ps', ps);\r\n }\r\n\r\n // Remember scroll position in cookie\r\n var uid = KTUtil.attr(element, 'id');\r\n try {\r\n if (uid) {\r\n var cookie = KTCookie.getCookie(uid);\r\n if (options.rememberPosition === true && cookie) {\r\n var pos = parseInt(cookie);\r\n if (pos > 0) {\r\n element.scrollTop = pos;\r\n }\r\n element.addEventListener('ps-scroll-y', function() {\r\n KTCookie.setCookie(uid, element.scrollTop, {});\r\n });\r\n }\r\n }\r\n }\r\n catch (e) {\r\n console.error(e);\r\n }\r\n\r\n // Todo:Consider using Localstorage\r\n if (options.rememberPosition === true && KTCookie && uid) {\r\n if (KTCookie.getCookie(uid)) {\r\n var pos = parseInt(KTCookie.getCookie(uid));\r\n\r\n if (pos > 0) {\r\n element.scrollTop = pos;\r\n }\r\n }\r\n\r\n element.addEventListener('ps-scroll-y', function() {\r\n KTCookie.setCookie(uid, element.scrollTop);\r\n });\r\n }\r\n }\r\n\r\n // Init\r\n init();\r\n\r\n // Handle window resize\r\n if (options.handleWindowResize) {\r\n KTUtil.addResizeHandler(function() {\r\n init();\r\n });\r\n }\r\n },\r\n\r\n scrollUpdate: function(element) {\r\n var ps = KTUtil.data(element).get('ps');\r\n if (ps) {\r\n ps.update();\r\n }\r\n },\r\n\r\n scrollUpdateAll: function(parent) {\r\n var scrollers = KTUtil.findAll(parent, '.ps');\r\n for (var i = 0, len = scrollers.length; i < len; i++) {\r\n KTUtil.scrollUpdate(scrollers[i]);\r\n }\r\n },\r\n\r\n scrollDestroy: function(element, resetAll) {\r\n var ps = KTUtil.data(element).get('ps');\r\n\r\n if (ps) {\r\n ps.destroy();\r\n ps = KTUtil.data(element).remove('ps');\r\n }\r\n\r\n if (element && resetAll) {\r\n element.style.setProperty('overflow', '');\r\n element.style.setProperty('height', '');\r\n }\r\n },\r\n\r\n filterBoolean: function(val) {\r\n // Convert string boolean\r\n\t\t\tif (val === true || val === 'true') {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\r\n\t\t\tif (val === false || val === 'false') {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n return val;\r\n },\r\n\r\n setHTML: function(el, html) {\r\n el.innerHTML = html;\r\n },\r\n\r\n getHTML: function(el) {\r\n if (el) {\r\n return el.innerHTML;\r\n }\r\n },\r\n\r\n getDocumentHeight: function() {\r\n var body = document.body;\r\n var html = document.documentElement;\r\n\r\n return Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight );\r\n },\r\n\r\n getScrollTop: function() {\r\n return (document.scrollingElement || document.documentElement).scrollTop;\r\n },\r\n\r\n changeColor: function(col, amt) {\r\n\r\n var usePound = false;\r\n\r\n if (col[0] == \"#\") {\r\n col = col.slice(1);\r\n usePound = true;\r\n }\r\n\r\n var num = parseInt(col,16);\r\n\r\n var r = (num >> 16) + amt;\r\n\r\n if (r > 255) r = 255;\r\n else if (r < 0) r = 0;\r\n\r\n var b = ((num >> 8) & 0x00FF) + amt;\r\n\r\n if (b > 255) b = 255;\r\n else if (b < 0) b = 0;\r\n\r\n var g = (num & 0x0000FF) + amt;\r\n\r\n if (g > 255) g = 255;\r\n else if (g < 0) g = 0;\r\n\r\n return (usePound?\"#\":\"\") + (g | (b << 8) | (r << 16)).toString(16);\r\n\r\n },\r\n\r\n // Throttle function: Input as function which needs to be throttled and delay is the time interval in milliseconds\r\n throttle: function (timer, func, delay) {\r\n \t// If setTimeout is already scheduled, no need to do anything\r\n \tif (timer) {\r\n \t\treturn;\r\n \t}\r\n\r\n \t// Schedule a setTimeout after delay seconds\r\n \ttimer = setTimeout(function () {\r\n \t\tfunc();\r\n\r\n \t\t// Once setTimeout function execution is finished, timerId = undefined so that in
\r\n \t\t// the next scroll event function execution can be scheduled by the setTimeout\r\n \t\ttimer = undefined;\r\n \t}, delay);\r\n },\r\n\r\n // Debounce function: Input as function which needs to be debounced and delay is the debounced time in milliseconds\r\n debounce: function (timer, func, delay) {\r\n \t// Cancels the setTimeout method execution\r\n \tclearTimeout(timer)\r\n\r\n \t// Executes the func after delay time.\r\n \ttimer = setTimeout(func, delay);\r\n },\r\n\r\n btnWait: function(el, cls, message, disable) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n if (typeof disable !== 'undefined' && disable === true) {\r\n KTUtil.attr(el, \"disabled\", true);\r\n }\r\n\r\n if (cls) {\r\n KTUtil.addClass(el, cls);\r\n KTUtil.attr(el, \"wait-class\", cls);\r\n }\r\n\r\n if (message) {\r\n var caption = KTUtil.find(el, '.btn-caption');\r\n\r\n if (caption) {\r\n KTUtil.data(caption).set('caption', KTUtil.getHTML(caption));\r\n KTUtil.setHTML(caption, message);\r\n } else {\r\n KTUtil.data(el).set('caption', KTUtil.getHTML(el));\r\n KTUtil.setHTML(el, message);\r\n }\r\n }\r\n },\r\n\r\n btnRelease: function(el) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n /// Show loading state on button\r\n KTUtil.removeAttr(el, \"disabled\");\r\n\r\n if (KTUtil.hasAttr(el, \"wait-class\")) {\r\n KTUtil.removeClass(el, KTUtil.attr(el, \"wait-class\"));\r\n }\r\n\r\n var caption = KTUtil.find(el, '.btn-caption');\r\n\r\n if (caption && KTUtil.data(caption).has('caption')) {\r\n KTUtil.setHTML(caption, KTUtil.data(caption).get('caption'));\r\n } else if (KTUtil.data(el).has('caption')) {\r\n KTUtil.setHTML(el, KTUtil.data(el).get('caption'));\r\n }\r\n },\r\n\r\n isOffscreen: function(el, direction, offset) {\r\n offset = offset || 0;\r\n\r\n var windowWidth = KTUtil.getViewPort().width;\r\n var windowHeight = KTUtil.getViewPort().height;\r\n\r\n var top = KTUtil.offset(el).top;\r\n var height = KTUtil.outerHeight(el) + offset;\r\n var left = KTUtil.offset(el).left;\r\n var width = KTUtil.outerWidth(el) + offset;\r\n\r\n if (direction == 'bottom') {\r\n if (windowHeight < top + height) {\r\n return true;\r\n } else if (windowHeight > top + height * 1.5) {\r\n return true;\r\n }\r\n }\r\n\r\n if (direction == 'top') {\r\n if (top < 0) {\r\n return true;\r\n } else if (top > height) {\r\n return true;\r\n }\r\n }\r\n\r\n if (direction == 'left') {\r\n if (left < 0) {\r\n return true;\r\n } else if (left * 2 > width) {\r\n //console.log('left 2');\r\n //return true;\r\n }\r\n }\r\n\r\n if (direction == 'right') {\r\n if (windowWidth < left + width) {\r\n return true;\r\n } else {\r\n //console.log('right 2');\r\n //return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n }\r\n}();\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n // module.exports = KTUtil;\r\n}\r\n\r\n// Initialize KTUtil class on document ready\r\nKTUtil.ready(function() {\r\n\tif (typeof KTAppSettings !== 'undefined') {\r\n\t\tKTUtil.init(KTAppSettings);\r\n\t} else {\r\n\t\tKTUtil.init();\r\n\t}\r\n});\r\n\r\n// CSS3 Transitions only after page load(.page-loading class added to body tag and remove with JS on page load)\r\nwindow.onload = function() {\r\n var result = KTUtil.getByTagName('body');\r\n if (result && result[0]) {\r\n KTUtil.removeClass(result[0], 'page-loading');\r\n }\r\n}\r\n","export function removeCSSClass(ele, cls) {\r\n const reg = new RegExp(\"(\\\\s|^)\" + cls + \"(\\\\s|$)\");\r\n ele.className = ele.className.replace(reg, \" \");\r\n}\r\n\r\nexport function addCSSClass(ele, cls) {\r\n ele.classList.add(cls);\r\n}\r\n\r\nexport const toAbsoluteUrl = pathname => process.env.PUBLIC_URL + pathname;\r\n","import * as utils from \"./LocalStorageHelpers\";\r\n\r\nconst localStorageLastLocationKey = \"metronic-lastLocation\";\r\n\r\nfunction acceptLocation(lastLocation) {\r\n if (\r\n lastLocation &&\r\n lastLocation.pathname &&\r\n lastLocation.pathname !== \"/\" &&\r\n lastLocation.pathname.indexOf(\"auth\") === -1 &&\r\n lastLocation.pathname !== \"/logout\"\r\n ) {\r\n return true;\r\n }\r\n\r\n return false;\r\n}\r\n\r\nexport function saveLastLocation(lastLocation) {\r\n if (acceptLocation(lastLocation)) {\r\n utils.setStorage(\r\n localStorageLastLocationKey,\r\n JSON.stringify(lastLocation),\r\n 120\r\n );\r\n }\r\n}\r\n\r\nexport function forgotLastLocation() {\r\n utils.removeStorage(localStorageLastLocationKey);\r\n}\r\n\r\nexport function getLastLocation() {\r\n const defaultLocation = { pathname: \"/\", title: \"Dashboard\"};\r\n const localStorateLocations = utils.getStorage(localStorageLastLocationKey);\r\n if (!localStorateLocations) {\r\n return { pathname: \"/\", title: \"Dashboard\"};\r\n }\r\n\r\n try {\r\n const result = JSON.parse(localStorateLocations);\r\n return result;\r\n } catch (error) {\r\n console.error(error);\r\n return defaultLocation;\r\n }\r\n}\r\n\r\nexport function getCurrentUrl(location) {\r\n return location.pathname.split(/[?#]/)[0];\r\n}\r\n\r\nexport function checkIsActive(location, url) {\r\n const current = getCurrentUrl(location);\r\n if (!current || !url) {\r\n return false;\r\n }\r\n\r\n if (current === url) {\r\n return true;\r\n }\r\n\r\n if (current.indexOf(url) > -1) {\r\n return true;\r\n }\r\n\r\n return false;\r\n}\r\n","/* Pagination Helprs */\r\nimport React from \"react\";\r\n\r\nexport const getPagesCount = (totalSize, sizePerPage) => {\r\n return Math.ceil(totalSize / sizePerPage);\r\n};\r\n\r\nexport const getPages = (page, pagesCount, paginationSize) => {\r\n const result = [];\r\n if (!page) {\r\n return result;\r\n }\r\n\r\n if (pagesCount === 1) {\r\n result.push(1);\r\n return result;\r\n }\r\n\r\n if (pagesCount < page) {\r\n return result;\r\n }\r\n\r\n if (pagesCount < paginationSize + 1) {\r\n for (let i = 1; i < pagesCount + 1; i++) {\r\n result.push(i);\r\n }\r\n return result;\r\n }\r\n\r\n if (page === 1) {\r\n for (let i = 1; i < paginationSize + 1; i++) {\r\n if (i < pagesCount) {\r\n result.push(i);\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n if (page === pagesCount) {\r\n for (let i = pagesCount - paginationSize + 1; i <= pagesCount; i++) {\r\n if (i <= pagesCount) {\r\n result.push(i);\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n const shiftCount = Math.floor(paginationSize / 2);\r\n if (shiftCount < 1) {\r\n result.push(page);\r\n return result;\r\n }\r\n\r\n //\r\n if (page < shiftCount + 2) {\r\n for (let i = 1; i < paginationSize + 1; i++) {\r\n result.push(i);\r\n }\r\n return result;\r\n }\r\n\r\n if (pagesCount - page < shiftCount + 2) {\r\n for (let i = pagesCount - paginationSize; i < pagesCount + 1; i++) {\r\n result.push(i);\r\n }\r\n return result;\r\n }\r\n\r\n for (let i = page - shiftCount; i < page; i++) {\r\n if (i > 0) {\r\n result.push(i);\r\n }\r\n }\r\n result.push(page);\r\n for (let i = page + 1; i < page + shiftCount + 1; i++) {\r\n if (i <= pagesCount) {\r\n result.push(i);\r\n }\r\n }\r\n\r\n return result;\r\n};\r\n\r\nexport function getHandlerTableChange(setQueryParams) {\r\n return (type, { page, sizePerPage, sortField, sortOrder, data }) => {\r\n const pageNumber = page || 1;\r\n setQueryParams((prev) =>\r\n type === \"sort\"\r\n ? { ...prev, sortOrder, sortField }\r\n : type === \"pagination\"\r\n ? { ...prev, pageNumber, pageSize: sizePerPage }\r\n : prev\r\n );\r\n };\r\n}\r\n\r\nexport function PleaseWaitMessage({ entities }) {\r\n return <>{entities === null &&
Please wait...
};\r\n}\r\n\r\nexport function NoRecordsFoundMessage({ entities }) {\r\n const customersList = entities === null ? [] : entities;\r\n return (\r\n <>\r\n {customersList.length === 0 && entities !== null && (\r\n
No records found
\r\n )}\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nfunction SelectionCheckbox({ isSelected, onChange }) {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nfunction groupingItemOnSelect(props) {\r\n const { ids, setIds, customerId } = props;\r\n if (ids.some((id) => id === customerId)) {\r\n setIds(ids.filter((id) => id !== customerId));\r\n } else {\r\n const newIds = [...ids];\r\n newIds.push(customerId);\r\n setIds(newIds);\r\n }\r\n}\r\n\r\nfunction groupingAllOnSelect(props) {\r\n const { isSelected, setIds, entities } = props;\r\n if (!isSelected) {\r\n const allIds = [];\r\n entities.forEach((el) => allIds.push(el.id));\r\n setIds(allIds);\r\n } else {\r\n setIds([]);\r\n }\r\n\r\n return isSelected;\r\n}\r\n\r\n// check official documentations: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Row%20Selection&selectedStory=Custom%20Selection%20Column%20Header%20Style&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\nexport function getSelectRow(props) {\r\n const { entities, ids, setIds } = props;\r\n return {\r\n mode: \"checkbox\",\r\n clickToSelect: true,\r\n hideSelectAll: false,\r\n selectionHeaderRenderer: () => {\r\n const isSelected =\r\n entities && entities.length > 0 && entities.length === ids.length;\r\n const props = { isSelected, entities, setIds };\r\n return (\r\n groupingAllOnSelect(props)}\r\n />\r\n );\r\n },\r\n selectionRenderer: ({ rowIndex }) => {\r\n const isSelected = ids.some((el) => el === entities[rowIndex].id);\r\n const props = { ids, setIds, customerId: entities[rowIndex].id };\r\n return (\r\n groupingItemOnSelect(props)}\r\n />\r\n );\r\n },\r\n };\r\n}\r\n","/* Pagination Helprs */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"./AssetsHelpers\";\r\n\r\nexport const sortCaret = (order, column) => {\r\n if (!order) return (\r\n \r\n \r\n \r\n );\r\n else if (order === \"asc\")\r\n return (\r\n \r\n \r\n \r\n );\r\n else if (order === \"desc\")\r\n return (\r\n \r\n \r\n \r\n );\r\n return null;\r\n};\r\n\r\nexport const headerSortingClasses = (column, sortOrder, isLastSorting, colIndex) => (\r\n (sortOrder === 'asc' || sortOrder === \"desc\") ? 'sortable-active' : ''\r\n);","export * from \"./AssetsHelpers\";\r\nexport * from \"./LocalStorageHelpers\";\r\nexport * from \"./RouterHelpers\";\r\nexport * from \"./TablePaginationHelpers\";\r\nexport * from \"./TableRowSelectionHelpers\";\r\nexport * from \"./TableSortingHelpers\";","import axios from \"axios\";\r\n\r\nexport const LOGIN_URL = `${process.env.REACT_APP_API_URL}/api/Auth/login`;\r\nexport const REGISTER_URL = `${process.env.REACT_APP_API_URL}/api/auth/register`;\r\nexport const REQUEST_PASSWORD_URL = `${process.env.REACT_APP_API_URL}/api/auth/forgot-password`;\r\n\r\nexport const ME_URL = `${process.env.REACT_APP_API_URL}/api/User/me`;\r\n\r\nexport function login(email, password) {\r\n return axios.post(LOGIN_URL, { email, password });\r\n}\r\n\r\nexport function register(email, fullname, username, password) {\r\n return axios.post(REGISTER_URL, { email, fullname, username, password });\r\n}\r\n\r\nexport function requestPassword(email) {\r\n return axios.post(REQUEST_PASSWORD_URL, { email });\r\n}\r\n\r\nexport function getUserByToken() {\r\n // Authorization head should be fulfilled in interceptor.\r\n return axios.get(ME_URL);\r\n}\r\n","import { persistReducer } from \"redux-persist\";\r\nimport storage from \"redux-persist/lib/storage\";\r\nimport { put, takeLatest } from \"redux-saga/effects\";\r\nimport { getUserByToken } from \"./authCrud\";\r\n\r\nexport const actionTypes = {\r\n Login: \"[Login] Action\",\r\n Logout: \"[Logout] Action\",\r\n Register: \"[Register] Action\",\r\n UserRequested: \"[Request User] Action\",\r\n UserLoaded: \"[Load User] Auth API\"\r\n};\r\n\r\n\r\nconst initialAuthState = {\r\n user: undefined,\r\n authToken: undefined\r\n};\r\n\r\nexport const reducer = persistReducer(\r\n { storage, key: \"jjtu-auth\", whitelist: [\"user\", \"authToken\"] },\r\n (state = initialAuthState, action) => {\r\n switch (action.type) {\r\n case actionTypes.Login: {\r\n const { authToken } = action.payload;\r\n\r\n return { authToken, user: undefined };\r\n }\r\n\r\n case actionTypes.Register: {\r\n const { authToken } = action.payload;\r\n\r\n return { authToken, user: undefined };\r\n }\r\n\r\n case actionTypes.Logout: {\r\n // TODO: Change this code. Actions in reducer aren't allowed.\r\n return initialAuthState;\r\n }\r\n\r\n case actionTypes.UserLoaded: {\r\n const { user } = action.payload;\r\n return { ...state, user };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n }\r\n);\r\n\r\nexport const actions = {\r\n login: authToken => ({ type: actionTypes.Login, payload: { authToken } }),\r\n register: authToken => ({\r\n type: actionTypes.Register,\r\n payload: { authToken }\r\n }),\r\n logout: () => ({ type: actionTypes.Logout }),\r\n requestUser: user => ({ type: actionTypes.UserRequested, payload: { user } }),\r\n fulfillUser: user => ({ type: actionTypes.UserLoaded, payload: { user } })\r\n};\r\n\r\nexport function* saga() {\r\n yield takeLatest(actionTypes.Login, function* loginSaga() {\r\n yield put(actions.requestUser());\r\n });\r\n\r\n yield takeLatest(actionTypes.Register, function* registerSaga() {\r\n yield put(actions.requestUser());\r\n });\r\n\r\n yield takeLatest(actionTypes.UserRequested, function* userRequested() {\r\n const { data: user } = yield getUserByToken();\r\n\r\n yield put(actions.fulfillUser(user));\r\n });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialProductsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n productForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const productsSlice = createSlice({\r\n name: \"products\",\r\n initialState: initialProductsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getProductById\r\n productFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.productForEdit = action.payload.productForEdit;\r\n state.error = null;\r\n },\r\n // findProducts\r\n productsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createProduct\r\n productCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.product);\r\n },\r\n // updateProduct\r\n productUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.product.id) {\r\n return action.payload.product;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteProduct\r\n productDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteProducts\r\n productsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // productsUpdateState\r\n productsStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialSchConferencesState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n schConferenceForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const schConferencesSlice = createSlice({\r\n name: \"schConferences\",\r\n initialState: initialSchConferencesState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getSchConferenceById\r\n schConferenceFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.schConferenceForEdit = action.payload.schConferenceForEdit;\r\n state.error = null;\r\n },\r\n // findSchConferences\r\n schConferencesFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createSchConference\r\n schConferenceCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.schConference);\r\n },\r\n // updateSchConference\r\n schConferenceUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.schConferenceId === action.payload.schConference.schConferenceId) {\r\n return action.payload.schConference;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteSchConference\r\n schConferenceDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.schConferenceId !== action.payload.schConferenceId);\r\n },\r\n // deleteSchConferences\r\n schConferencesDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.schConferenceId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialSchCourseWorkInfosState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n schCourseWorkInfoForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const schCourseWorkInfosSlice = createSlice({\r\n name: \"schCourseWorkInfos\",\r\n initialState: initialSchCourseWorkInfosState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getSchCourseWorkInfoById\r\n schCourseWorkInfoFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.schCourseWorkInfoForEdit = action.payload.schCourseWorkInfoForEdit;\r\n state.error = null;\r\n },\r\n // findSchCourseWorkInfos\r\n schCourseWorkInfosFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createSchCourseWorkInfo\r\n schCourseWorkInfoCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.schCourseWorkInfo);\r\n },\r\n // updateSchCourseWorkInfo\r\n schCourseWorkInfoUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.schCourseWorkInfoId === action.payload.schCourseWorkInfo.schCourseWorkInfoId) {\r\n return action.payload.schCourseWorkInfo;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteSchCourseWorkInfo\r\n schCourseWorkInfoDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.schCourseWorkInfoId !== action.payload.schCourseWorkInfoId);\r\n },\r\n // deleteSchCourseWorkInfos\r\n schCourseWorkInfosDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.schCourseWorkInfoId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialSchDocumentsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n schDocumentForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const schDocumentsSlice = createSlice({\r\n name: \"schDocuments\",\r\n initialState: initialSchDocumentsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getSchDocumentById\r\n schDocumentFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.schDocumentForEdit = action.payload.schDocumentForEdit;\r\n state.error = null;\r\n },\r\n // findSchDocuments\r\n schDocumentsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createSchDocument\r\n schDocumentCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.schDocument);\r\n },\r\n // updateSchDocument\r\n schDocumentUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.schDocumentId === action.payload.schDocument.schDocumentId) {\r\n return action.payload.schDocument;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteSchDocument\r\n schDocumentDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.schDocumentId !== action.payload.schDocumentId);\r\n },\r\n // deleteSchDocuments\r\n schDocumentsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.schDocumentId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialSchThesisesState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n schThesisForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const schThesisesSlice = createSlice({\r\n name: \"schThesises\",\r\n initialState: initialSchThesisesState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getSchThesisById\r\n schThesisFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.schThesisForEdit = action.payload.schThesisForEdit;\r\n state.error = null;\r\n },\r\n // findSchThesises\r\n schThesisesFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createSchThesis\r\n schThesisCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.schThesis);\r\n },\r\n // updateSchThesis\r\n schThesisUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.schThesisId === action.payload.schThesis.schThesisId) {\r\n return action.payload.schThesis;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteSchThesis\r\n schThesisDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.schThesisId !== action.payload.schThesisId);\r\n },\r\n // deleteSchThesises\r\n schThesisesDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.schThesisId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialSchEducationsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n schEducationForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const schEducationsSlice = createSlice({\r\n name: \"schEducations\",\r\n initialState: initialSchEducationsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getSchEducationById\r\n schEducationFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.schEducationForEdit = action.payload.schEducationForEdit;\r\n state.error = null;\r\n },\r\n // findSchEducations\r\n schEducationsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createSchEducation\r\n schEducationCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.schEducation);\r\n },\r\n // updateSchEducation\r\n schEducationUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.schEducationId === action.payload.schEducation.schEducationId) {\r\n return action.payload.schEducation;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteSchEducation\r\n schEducationDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.schEducationId !== action.payload.schEducationId);\r\n },\r\n // deleteSchEducations\r\n schEducationsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.schEducationId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialSchJobInfosState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n schJobInfoForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const schJobInfosSlice = createSlice({\r\n name: \"schJobInfos\",\r\n initialState: initialSchJobInfosState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getSchJobInfoById\r\n schJobInfoFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.schJobInfoForEdit = action.payload.schJobInfoForEdit;\r\n state.error = null;\r\n },\r\n // findSchJobInfos\r\n schJobInfosFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createSchJobInfo\r\n schJobInfoCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.schJobInfo);\r\n },\r\n // updateSchJobInfo\r\n schJobInfoUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.schJobInfoId === action.payload.schJobInfo.schJobInfoId) {\r\n return action.payload.schJobInfo;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteSchJobInfo\r\n schJobInfoDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.schJobInfoId !== action.payload.schJobInfoId);\r\n },\r\n // deleteSchJobInfos\r\n schJobInfosDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.schJobInfoId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialSchPayReceiptsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n schPayReceiptForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const schPayReceiptsSlice = createSlice({\r\n name: \"schPayReceipts\",\r\n initialState: initialSchPayReceiptsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getSchPayReceiptById\r\n schPayReceiptFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.schPayReceiptForEdit = action.payload.schPayReceiptForEdit;\r\n state.error = null;\r\n },\r\n // findSchPayReceipts\r\n schPayReceiptsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createSchPayReceipt\r\n schPayReceiptCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.schPayReceipt);\r\n },\r\n // updateSchPayReceipt\r\n schPayReceiptUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.schPayReceiptId === action.payload.schPayReceipt.schPayReceiptId) {\r\n return action.payload.schPayReceipt;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteSchPayReceipt\r\n schPayReceiptDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.schPayReceiptId !== action.payload.schPayReceiptId);\r\n },\r\n // deleteSchPayReceipts\r\n schPayReceiptsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.schPayReceiptId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialSchPublicationsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n schPublicationForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const schPublicationsSlice = createSlice({\r\n name: \"schPublications\",\r\n initialState: initialSchPublicationsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getSchPublicationById\r\n schPublicationFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.schPublicationForEdit = action.payload.schPublicationForEdit;\r\n state.error = null;\r\n },\r\n // findSchPublications\r\n schPublicationsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createSchPublication\r\n schPublicationCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.schPublication);\r\n },\r\n // updateSchPublication\r\n schPublicationUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.schPublicationId === action.payload.schPublication.schPublicationId) {\r\n return action.payload.schPublication;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteSchPublication\r\n schPublicationDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.schPublicationId !== action.payload.schPublicationId);\r\n },\r\n // deleteSchPublications\r\n schPublicationsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.schPublicationId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialSchSynopsysesState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n schSynopsysForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const schSynopsysesSlice = createSlice({\r\n name: \"schSynopsyses\",\r\n initialState: initialSchSynopsysesState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getSchSynopsysById\r\n schSynopsysFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.schSynopsysForEdit = action.payload.schSynopsysForEdit;\r\n state.error = null;\r\n },\r\n // findSchSynopsyses\r\n schSynopsysesFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createSchSynopsys\r\n schSynopsysCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.schSynopsys);\r\n },\r\n // updateSchSynopsys\r\n schSynopsysUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.schSynopsysId === action.payload.schSynopsys.schSynopsysId) {\r\n return action.payload.schSynopsys;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteSchSynopsys\r\n schSynopsysDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.schSynopsysId !== action.payload.schSynopsysId);\r\n },\r\n // deleteSchSynopsyses\r\n schSynopsysesDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.schSynopsysId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialGuiAddressesState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n guiAddressForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const guiAddressesSlice = createSlice({\r\n name: \"guiAddresses\",\r\n initialState: initialGuiAddressesState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getGuiAddressById\r\n guiAddressFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.guiAddressForEdit = action.payload.guiAddressForEdit;\r\n state.error = null;\r\n },\r\n // findGuiAddresses\r\n guiAddressesFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createGuiAddress\r\n guiAddressCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.guiAddress);\r\n },\r\n // updateGuiAddress\r\n guiAddressUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.guiAddressId === action.payload.guiAddress.guiAddressId) {\r\n return action.payload.guiAddress;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteGuiAddress\r\n guiAddressDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.guiAddressId !== action.payload.guiAddressId);\r\n },\r\n // deleteGuiAddresses\r\n guiAddressesDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.guiAddressId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialGuiAwardsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n guiAwardForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const guiAwardsSlice = createSlice({\r\n name: \"guiAwards\",\r\n initialState: initialGuiAwardsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getGuiAwardById\r\n guiAwardFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.guiAwardForEdit = action.payload.guiAwardForEdit;\r\n state.error = null;\r\n },\r\n // findGuiAwards\r\n guiAwardsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createGuiAward\r\n guiAwardCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.guiAward);\r\n },\r\n // updateGuiAward\r\n guiAwardUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.guiAwardId === action.payload.guiAward.guiAwardId) {\r\n return action.payload.guiAward;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteGuiAward\r\n guiAwardDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.guiAwardId !== action.payload.guiAwardId);\r\n },\r\n // deleteGuiAwards\r\n guiAwardsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.guiAwardId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialGuiConfsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n guiConfForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const guiConfsSlice = createSlice({\r\n name: \"guiConfs\",\r\n initialState: initialGuiConfsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getGuiConfById\r\n guiConfFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.guiConfForEdit = action.payload.guiConfForEdit;\r\n state.error = null;\r\n },\r\n // findGuiConfs\r\n guiConfsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createGuiConf\r\n guiConfCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.guiConf);\r\n },\r\n // updateGuiConf\r\n guiConfUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.guiConfId === action.payload.guiConf.guiConfId) {\r\n return action.payload.guiConf;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteGuiConf\r\n guiConfDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.guiConfId !== action.payload.guiConfId);\r\n },\r\n // deleteGuiConfs\r\n guiConfsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.guiConfId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialGuiDocumentsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n guiDocumentForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const guiDocumentsSlice = createSlice({\r\n name: \"guiDocuments\",\r\n initialState: initialGuiDocumentsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getGuiDocumentById\r\n guiDocumentFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.guiDocumentForEdit = action.payload.guiDocumentForEdit;\r\n state.error = null;\r\n },\r\n // findGuiDocuments\r\n guiDocumentsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createGuiDocument\r\n guiDocumentCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.guiDocument);\r\n },\r\n // updateGuiDocument\r\n guiDocumentUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.guiDocumentId === action.payload.guiDocument.guiDocumentId) {\r\n return action.payload.guiDocument;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteGuiDocument\r\n guiDocumentDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.guiDocumentId !== action.payload.guiDocumentId);\r\n },\r\n // deleteGuiDocuments\r\n guiDocumentsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.guiDocumentId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialGuiEducationsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n guiEducationForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const guiEducationsSlice = createSlice({\r\n name: \"guiEducations\",\r\n initialState: initialGuiEducationsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getGuiEducationById\r\n guiEducationFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.guiEducationForEdit = action.payload.guiEducationForEdit;\r\n state.error = null;\r\n },\r\n // findGuiEducations\r\n guiEducationsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createGuiEducation\r\n guiEducationCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.guiEducation);\r\n },\r\n // updateGuiEducation\r\n guiEducationUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.guiEducationId === action.payload.guiEducation.guiEducationId) {\r\n return action.payload.guiEducation;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteGuiEducation\r\n guiEducationDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.guiEducationId !== action.payload.guiEducationId);\r\n },\r\n // deleteGuiEducations\r\n guiEducationsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.guiEducationId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialGuiJobInfosState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n guiJobInfoForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const guiJobInfosSlice = createSlice({\r\n name: \"guiJobInfos\",\r\n initialState: initialGuiJobInfosState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getGuiJobInfoById\r\n guiJobInfoFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.guiJobInfoForEdit = action.payload.guiJobInfoForEdit;\r\n state.error = null;\r\n },\r\n // findGuiJobInfos\r\n guiJobInfosFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createGuiJobInfo\r\n guiJobInfoCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.guiJobInfo);\r\n },\r\n // updateGuiJobInfo\r\n guiJobInfoUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.guiJobInfoId === action.payload.guiJobInfo.guiJobInfoId) {\r\n return action.payload.guiJobInfo;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteGuiJobInfo\r\n guiJobInfoDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.guiJobInfoId !== action.payload.guiJobInfoId);\r\n },\r\n // deleteGuiJobInfos\r\n guiJobInfosDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.guiJobInfoId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialGuiPatentsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n guiPatentForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const guiPatentsSlice = createSlice({\r\n name: \"guiPatents\",\r\n initialState: initialGuiPatentsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getGuiPatentById\r\n guiPatentFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.guiPatentForEdit = action.payload.guiPatentForEdit;\r\n state.error = null;\r\n },\r\n // findGuiPatents\r\n guiPatentsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createGuiPatent\r\n guiPatentCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.guiPatent);\r\n },\r\n // updateGuiPatent\r\n guiPatentUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.guiPatentId === action.payload.guiPatent.guiPatentId) {\r\n return action.payload.guiPatent;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteGuiPatent\r\n guiPatentDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.guiPatentId !== action.payload.guiPatentId);\r\n },\r\n // deleteGuiPatents\r\n guiPatentsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.guiPatentId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialGuiPublicationsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n guiPublicationForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const guiPublicationsSlice = createSlice({\r\n name: \"guiPublications\",\r\n initialState: initialGuiPublicationsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getGuiPublicationById\r\n guiPublicationFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.guiPublicationForEdit = action.payload.guiPublicationForEdit;\r\n state.error = null;\r\n },\r\n // findGuiPublications\r\n guiPublicationsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createGuiPublication\r\n guiPublicationCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.guiPublication);\r\n },\r\n // updateGuiPublication\r\n guiPublicationUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.guiPublicationId === action.payload.guiPublication.guiPublicationId) {\r\n return action.payload.guiPublication;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteGuiPublication\r\n guiPublicationDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.guiPublicationId !== action.payload.guiPublicationId);\r\n },\r\n // deleteGuiPublications\r\n guiPublicationsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.guiPublicationId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialGuiJjtuScholarsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n guiJjtuScholarForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\nexport const guiJjtuScholarsSlice = createSlice({\r\n name: \"guiJjtuScholars\",\r\n initialState: initialGuiJjtuScholarsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getGuiJjtuScholarById\r\n guiJjtuScholarFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.guiJjtuScholarForEdit = action.payload.guiJjtuScholarForEdit;\r\n state.error = null;\r\n },\r\n // findGuiJjtuScholars\r\n guiJjtuScholarsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createGuiJjtuScholar\r\n guiJjtuScholarCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.guiJjtuScholar);\r\n },\r\n // updateGuiJjtuScholar\r\n guiJjtuScholarUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.guiJjtuScholarId === action.payload.guiJjtuScholar.guiJjtuScholarId) {\r\n return action.payload.guiJjtuScholar;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteGuiJjtuScholar\r\n guiJjtuScholarDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.guiJjtuScholarId !== action.payload.guiJjtuScholarId);\r\n },\r\n // deleteGuiJjtuScholars\r\n guiJjtuScholarsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.guiJjtuScholarId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialGuideAddressesState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n guideAddressForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const guideAddressesSlice = createSlice({\r\n name: \"guideAddresses\",\r\n initialState: initialGuideAddressesState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getGuideAddressById\r\n guideAddressFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.guideAddressForEdit = action.payload.guideAddressForEdit;\r\n state.error = null;\r\n },\r\n // findGuideAddresses\r\n guideAddressesFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createGuideAddress\r\n guideAddressCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.guideAddress);\r\n },\r\n // updateGuideAddress\r\n guideAddressUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.guiAddressId === action.payload.guideAddress.guiAddressId) {\r\n return action.payload.guideAddress;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteGuideAddress\r\n guideAddressDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.guiAddressId !== action.payload.guiAddressId);\r\n },\r\n // deleteGuideAddresses\r\n guideAddressesDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.guiAddressId)\r\n );\r\n },\r\n }\r\n});\r\n","import { all } from \"redux-saga/effects\";\r\nimport { combineReducers } from \"redux\";\r\n\r\nimport * as auth from \"../app/modules/Auth/_redux/authRedux\";\r\nimport { customersSlice } from \"../app/modules/ECommerce/_redux/customers/customersSlice\";\r\nimport { productsSlice } from \"../app/modules/ECommerce/_redux/products/productsSlice\";\r\nimport { adminMenusSlice } from \"../app/modules/Admin/_redux/adminMenus/adminMenusSlice\";\r\nimport { pageContentsSlice } from \"../app/modules/Admin/_redux/pageContents/pageContentsSlice\";\r\nimport { webMenusSlice } from \"../app/modules/Admin/_redux/webMenus/webMenusSlice\";\r\nimport { countriesSlice } from \"../app/modules/Admin/_redux/countries/countriesSlice\";\r\nimport { institutesSlice } from \"../app/modules/Admin/_redux/institutes/institutesSlice\";\r\nimport { departmentsSlice } from \"../app/modules/Admin/_redux/departments/departmentsSlice\";\r\nimport { programsSlice } from \"../app/modules/Admin/_redux/programs/programsSlice\";\r\nimport { letterTypesSlice } from \"../app/modules/Admin/_redux/letterTypes/letterTypesSlice\";\r\nimport { conferencesSlice } from \"../app/modules/Admin/_redux/conferences/conferencesSlice\";\r\n// import {galleryImageSlice} from \"../app/modules/Admin/_redux/galleryImages/galleryImagesSlice\";\r\nimport { galleryImagesSlice } from \"../app/modules/Admin/_redux/galleryImages/galleryImagesSlice\";\r\nimport { galleriesSlice } from \"../app/modules/Admin/_redux/galleries/galleriesSlice\";\r\nimport { newssSlice } from \"../app/modules/Admin/_redux/newss/newssSlice\";\r\nimport { coursesSlice } from \"../app/modules/Admin/_redux/courses/coursesSlice\";\r\nimport { eventInfosSlice } from \"../app/modules/Admin/_redux/eventInfos/eventInfosSlice\";\r\nimport { rtiUploadsSlice } from \"../app/modules/Admin/_redux/rtiUploads/rtiUploadsSlice\";\r\nimport { facultyMembersSlice } from \"../app/modules/Admin/_redux/facultyMembers/facultyMembersSlice\";\r\nimport { universityInfosSlice } from \"../app/modules/Admin/_redux/universityInfos/universityInfosSlice\";\r\nimport { departmentSubsSlice } from \"../app/modules/Admin/_redux/departmentSubs/departmentSubsSlice\";\r\nimport { docTypesSlice } from \"../app/modules/Admin/_redux/docTypes/docTypesSlice\";\r\nimport { downloadDocsSlice } from \"../app/modules/Admin/_redux/downloadDocs/downloadDocsSlice\";\r\nimport { feeTypesSlice } from \"../app/modules/Admin/_redux/feeTypes/feeTypesSlice\";\r\nimport { usersSlice } from \"../app/modules/Admin/_redux/users/usersSlice\";\r\nimport { userRolesSlice } from \"../app/modules/Admin/_redux/userRoles/userRolesSlice\";\r\nimport { userRoleRightsSlice } from \"../app/modules/Admin/_redux/userRoleRights/userRoleRightsSlice\";\r\nimport { scholarsSlice } from \"../app/modules/Admin/_redux/scholars/scholarsSlice\";\r\n\r\n\r\n\r\nimport { guidesSlice } from \"../app/modules/Admin/_redux/guides/guidesSlice\";\r\nimport { schConferencesSlice } from \"../app/modules/Scholar/_redux/schConferences/schConferencesSlice\";\r\nimport { schCourseWorkInfosSlice } from \"../app/modules/Scholar/_redux/schCourseWorkInfos/schCourseWorkInfosSlice\";\r\nimport { schDocumentsSlice } from \"../app/modules/Scholar/_redux/schDocuments/schdocumentsSlice\";\r\nimport { schThesisesSlice } from \"../app/modules/Scholar/_redux/schThesises/schThesisesSlice\";\r\nimport { schEducationsSlice } from \"../app/modules/Scholar/_redux/schEducations/schEducationsSlice\";\r\nimport { schJobInfosSlice } from \"../app/modules/Scholar/_redux/schJobInfos/schJobInfosSlice\";\r\nimport { schPayReceiptsSlice } from \"../app/modules/Scholar/_redux/schPayReceipts/schPayReceiptsSlice\";\r\nimport { schPublicationsSlice } from \"../app/modules/Scholar/_redux/schPublications/schPublicationsSlice\";\r\nimport { schSynopsysesSlice } from \"../app/modules/Scholar/_redux/schSynopsyses/schSynopsysesSlice\";\r\nimport { guiAddressesSlice } from \"../app/modules/Guide/_redux/guiAddresses/guiAddressesSlice\";\r\nimport { guiAwardsSlice } from \"../app/modules/Guide/_redux/guiAwards/guiAwardsSlice\";\r\nimport { guiConfsSlice } from \"../app/modules/Guide/_redux/guiConfs/guiConfsSlice\";\r\nimport { guiDocumentsSlice } from \"../app/modules/Guide/_redux/guiDocuments/guiDocumentsSlice\";\r\nimport { guiEducationsSlice } from \"../app/modules/Guide/_redux/guiEducations/guiEducationsSlice\";\r\nimport { guiJobInfosSlice } from \"../app/modules/Guide/_redux/guiJobInfos/guiJobInfosSlice\";\r\nimport { guiPatentsSlice } from \"../app/modules/Guide/_redux/guiPatents/guiPatentsSlice\";\r\nimport { guiPublicationsSlice } from \"../app/modules/Guide/_redux/guiPublications/guiPublicationsSlice\";\r\nimport { guiJjtuScholarsSlice } from \"../app/modules/Guide/_redux/guiJjtuScholars/guiJjtuScholarsSlice\";\r\nimport { scholarConferencesSlice } from \"../app/modules/Admin/_redux/scholarConferences/scholarConferencesSlice\";\r\nimport { scholarCourseWorkInfosSlice } from \"../app/modules/Admin/_redux/scholarCourseWorkInfos/scholarCourseWorkInfosSlice\";\r\nimport { scholarDocumentsSlice } from \"../app/modules/Admin/_redux/scholarDocuments/scholarDocumentsSlice\";\r\nimport { scholarThesisesSlice } from \"../app/modules/Admin/_redux/scholarThesises/scholarThesisesSlice\";\r\nimport { scholarEducationsSlice } from \"../app/modules/Admin/_redux/scholarEducations/scholarEducationsSlice\";\r\nimport { scholarJobInfosSlice } from \"../app/modules/Admin/_redux/scholarJobInfos/scholarJobInfosSlice\";\r\nimport { scholarPayReceiptsSlice } from \"../app/modules/Admin/_redux/scholarPayReceipts/scholarPayReceiptsSlice\";\r\nimport { scholarPublicationsSlice } from \"../app/modules/Admin/_redux/scholarPublications/scholarPublicationsSlice\";\r\nimport { scholarSynopsysesSlice } from \"../app/modules/Admin/_redux/scholarSynopsyses/scholarSynopsysesSlice\";\r\nimport { guideAddressesSlice } from \"../app/modules/Admin/_redux/guideAddresses/guideAddressesSlice\";\r\nimport { guideAwardsSlice } from \"../app/modules/Admin/_redux/guideAwards/guideAwardsSlice\";\r\nimport { guideConfsSlice } from \"../app/modules/Admin/_redux/guideConfs/guideConfsSlice\";\r\nimport { guideDocumentsSlice } from \"../app/modules/Admin/_redux/guideDocuments/guideDocumentsSlice\";\r\nimport { guideEducationsSlice } from \"../app/modules/Admin/_redux/guideEducations/guideEducationsSlice\";\r\nimport { guideJobInfosSlice } from \"../app/modules/Admin/_redux/guideJobInfos/guideJobInfosSlice\";\r\nimport { guidePatentsSlice } from \"../app/modules/Admin/_redux/guidePatents/guidePatentsSlice\";\r\nimport { guidePublicationsSlice } from \"../app/modules/Admin/_redux/guidePublications/guidePublicationsSlice\";\r\nimport { guideJjtuScholarsSlice } from \"../app/modules/Admin/_redux/guideJjtuScholars/guideJjtuScholarsSlice\";\r\n\r\nexport const rootReducer = combineReducers({\r\n auth: auth.reducer,\r\n customers: customersSlice.reducer,\r\n products: productsSlice.reducer,\r\n adminMenus: adminMenusSlice.reducer,\r\n pageContents: pageContentsSlice.reducer,\r\n webMenus: webMenusSlice.reducer,\r\n countries: countriesSlice.reducer,\r\n departments: departmentsSlice.reducer,\r\n institutes: institutesSlice.reducer,\r\n programs: programsSlice.reducer,\r\n letterTypes: letterTypesSlice.reducer,\r\n conferences: conferencesSlice.reducer,\r\n galleryImages: galleryImagesSlice.reducer,\r\n galleries: galleriesSlice.reducer,\r\n newss: newssSlice.reducer,\r\n courses: coursesSlice.reducer,\r\n eventInfos: eventInfosSlice.reducer,\r\n rtiUploads: rtiUploadsSlice.reducer,\r\n facultyMembers: facultyMembersSlice.reducer,\r\n universityInfos: universityInfosSlice.reducer,\r\n departmentSubs: departmentSubsSlice.reducer,\r\n docTypes: docTypesSlice.reducer,\r\n downloadDocs: downloadDocsSlice.reducer,\r\n users: usersSlice.reducer,\r\n userRoles: userRolesSlice.reducer,\r\n userRoleRights: userRoleRightsSlice.reducer,\r\n feeTypes: feeTypesSlice.reducer,\r\n scholars: scholarsSlice.reducer,\r\n schThesises: schThesisesSlice.reducer,\r\n \r\n guides: guidesSlice.reducer,\r\n schConferences: schConferencesSlice.reducer,\r\n schCourseWorkInfos: schCourseWorkInfosSlice.reducer,\r\n schDocuments: schDocumentsSlice.reducer,\r\n schEducations: schEducationsSlice.reducer,\r\n schJobInfos: schJobInfosSlice.reducer,\r\n schPayReceipts: schPayReceiptsSlice.reducer,\r\n schPublications: schPublicationsSlice.reducer,\r\n schSynopsyses: schSynopsysesSlice.reducer,\r\n guiAddresses: guiAddressesSlice.reducer,\r\n guiAwards: guiAwardsSlice.reducer,\r\n guiConfs: guiConfsSlice.reducer,\r\n guiDocuments: guiDocumentsSlice.reducer,\r\n guiEducations: guiEducationsSlice.reducer,\r\n guiJobInfos: guiJobInfosSlice.reducer,\r\n guiPatents: guiPatentsSlice.reducer,\r\n guiPublications: guiPublicationsSlice.reducer,\r\n guiJjtuScholars: guiJjtuScholarsSlice.reducer,\r\n scholarConferences: scholarConferencesSlice.reducer,\r\n scholarCourseWorkInfos: scholarCourseWorkInfosSlice.reducer,\r\n scholarDocuments: scholarDocumentsSlice.reducer,\r\n scholarEducations: scholarEducationsSlice.reducer,\r\n scholarJobInfos: scholarJobInfosSlice.reducer,\r\n scholarPayReceipts: scholarPayReceiptsSlice.reducer,\r\n scholarPublications: scholarPublicationsSlice.reducer,\r\n scholarSynopsyses: scholarSynopsysesSlice.reducer,\r\n scholarThesises: scholarThesisesSlice.reducer,\r\n guideAddresses: guideAddressesSlice.reducer,\r\n guideAwards: guideAwardsSlice.reducer,\r\n guideConfs: guideConfsSlice.reducer,\r\n guideDocuments: guideDocumentsSlice.reducer,\r\n guideEducations: guideEducationsSlice.reducer,\r\n guideJobInfos: guideJobInfosSlice.reducer,\r\n guidePatents: guidePatentsSlice.reducer,\r\n guidePublications: guidePublicationsSlice.reducer,\r\n guideJjtuScholars: guideJjtuScholarsSlice.reducer,\r\n});\r\n\r\nexport function* rootSaga() {\r\n yield all([auth.saga()]);\r\n}\r\n","import {configureStore, getDefaultMiddleware} from \"@reduxjs/toolkit\";\r\nimport createSagaMiddleware from \"redux-saga\";\r\nimport {reduxBatch} from \"@manaflair/redux-batch\";\r\nimport {persistStore} from \"redux-persist\";\r\nimport {rootReducer, rootSaga} from \"./rootReducer\";\r\n\r\nconst sagaMiddleware = createSagaMiddleware();\r\nconst middleware = [\r\n ...getDefaultMiddleware({\r\n immutableCheck: false,\r\n serializableCheck: false,\r\n thunk: true\r\n }),\r\n sagaMiddleware\r\n];\r\n\r\nconst store = configureStore({\r\n reducer: rootReducer,\r\n middleware,\r\n devTools: process.env.NODE_ENV !== \"production\",\r\n enhancers: [reduxBatch]\r\n});\r\n\r\n/**\r\n * @see https://github.com/rt2zz/redux-persist#persiststorestore-config-callback\r\n * @see https://github.com/rt2zz/redux-persist#persistor-object\r\n */\r\nexport const persistor = persistStore(store);\r\n\r\nsagaMiddleware.run(rootSaga);\r\n\r\nexport default store;\r\n","import React from \"react\";\r\nimport {\r\n // MixedWidget1,\r\n // MixedWidget14,\r\n // ListsWidget9,\r\n //StatsWidget11,\r\n //StatsWidget12,\r\n // ListsWidget1,\r\n // AdvanceTablesWidget2,\r\n // AdvanceTablesWidget4,\r\n // ListsWidget3,\r\n // ListsWidget4,\r\n // ListsWidget8\r\n} from \"../widgets\";\r\nexport function Demo1Dashboard() {\r\n return (\r\n <>\r\n
\r\n {/*
\r\n \r\n
*/}\r\n {/*
\r\n \r\n
*/}\r\n{/* \r\n
\r\n \r\n
\r\n
\r\n \r\n
*/}\r\n\r\n {/*
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
*/}\r\n
\r\n {/*
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
*/}\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nexport function Demo2Dashboard() {\r\n return <>;\r\n}\r\n","import React from \"react\";\r\n\r\nexport function Demo3Dashboard() {\r\n return <>;\r\n}\r\n","import React from \"react\";\r\n\r\nexport function Demo4Dashboard() {\r\n return <>;\r\n}\r\n","import React from \"react\";\r\n\r\nexport function Demo5Dashboard() {\r\n return <>;\r\n}\r\n","import React from \"react\";\r\n\r\nexport function Demo6Dashboard() {\r\n return <>;\r\n}\r\n","import React from \"react\";\r\n\r\nexport function Demo7Dashboard() {\r\n return <>;\r\n}\r\n","import React, {useMemo} from \"react\";\r\nimport objectPath from \"object-path\";\r\nimport {useHtmlClassService} from \"../../layout\";\r\nimport {Demo1Dashboard} from \"./Demo1Dashboard\";\r\nimport {Demo2Dashboard} from \"./Demo2Dashboard\";\r\nimport {Demo3Dashboard} from \"./Demo3Dashboard\";\r\nimport {Demo4Dashboard} from \"./Demo4Dashboard\";\r\nimport {Demo5Dashboard} from \"./Demo5Dashboard\";\r\nimport {Demo6Dashboard} from \"./Demo6Dashboard\";\r\nimport {Demo7Dashboard} from \"./Demo7Dashboard\";\r\n\r\nexport function Dashboard() {\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n demo: objectPath.get(\r\n uiService.config,\r\n \"demo\"\r\n )};\r\n }, [uiService]);\r\n return <>\r\n {layoutProps.demo === 'demo1' && }\r\n {layoutProps.demo === 'demo2' && }\r\n {layoutProps.demo === 'demo3' && }\r\n {layoutProps.demo === 'demo4' && }\r\n {layoutProps.demo === 'demo5' && }\r\n {layoutProps.demo === 'demo6' && }\r\n {layoutProps.demo === 'demo7' && }\r\n ;\r\n}\r\n","import React from \"react\";\r\nimport {\r\n Dashboard\r\n} from \"../../_metronic/_partials\";\r\n\r\nexport function DashboardPage() {\r\n return ;\r\n}\r\n","import React, { useState } from \"react\";\r\nimport axios from \"axios\";\r\n\r\nconst API_BASE = `${process.env.REACT_APP_API_URL}/api/pagecontent`;\r\n\r\nfunction submitForm(contentType, data, setResponse) {\r\n axios({\r\n url: API_BASE,\r\n method: \"POST\",\r\n data: data,\r\n headers: {\r\n \"Content-Type\": contentType,\r\n },\r\n })\r\n .then((response) => {\r\n setResponse(response.data);\r\n })\r\n .catch((error) => {\r\n setResponse(\"error\");\r\n });\r\n}\r\n\r\nfunction BaseFile() {\r\n const [sectionTitle, setSectionTitle] = useState(\"\");\r\n const [sectionDescription, setSectionDescription] = useState(\"\");\r\n const [webMenuId, setWebMenuId] = useState(\"\");\r\n const [sectionImage, setSectionImage] = useState(null);\r\n const [pageContentTag, setPageContentTag] = useState(\"\");\r\n const [pageContentSynopsys, setPageContentSynopsys] = useState(\"\");\r\n\r\n async function uploadWithJSON() {\r\n const toBase64 = (sectionImage) =>\r\n new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(sectionImage);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = (error) => reject(error);\r\n });\r\n\r\n const data = {\r\n sectionTitle: sectionTitle,\r\n sectionDescription: sectionDescription,\r\n webMenuId: parseInt(webMenuId),\r\n sectionImage: await toBase64(sectionImage),\r\n pageContentTag: pageContentTag,\r\n pageContentSynopsys: pageContentSynopsys,\r\n };\r\n\r\n submitForm(\"application/json\", data, (msg) => console.log(msg));\r\n }\r\n\r\n return (\r\n
\r\n

Page Content Form

\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\nexport default BaseFile;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Image, Container, Card, Button } from \"react-bootstrap\";\r\nimport Accordion from \"react-bootstrap/Accordion\";\r\nimport { Tab, Nav, Col, Row } from \"react-bootstrap\";\r\nimport { ListGroup } from \"react-bootstrap\";\r\nimport axios from \"axios\";\r\n//import { ListGroup, Form } from \"react-bootstrap\";\r\n\r\nexport function Profile({ history, props, cellContent, row, rowIndex, match }) {\r\n const ScholarUrl = `${process.env.REACT_APP_API_URL}/api/scholar/profile`;\r\n const [profile, setProfile] = useState([]);\r\n useEffect(() => {\r\n const getScholar = async () => {\r\n const response = await axios.get(ScholarUrl);\r\n setProfile(response.data);\r\n };\r\n getScholar();\r\n }, [setProfile, ScholarUrl]);\r\n //const ScholarId = profile.scholarId;\r\n const ScholarId = profile.scholarId===undefined?0:profile.scholarId;\r\n \r\n\r\n //const schvisitUrl = `${process.env.REACT_APP_API_URL}/api/schvisit`;\r\n const SchThesisUrl = `${process.env.REACT_APP_API_URL}/api/SchThesis/GetSchThesisBySchId?id=${ScholarId}`;\r\n //const SchPatentUrl = `${process.env.REACT_APP_API_URL}/api/SchPatent`;\r\n let SchJobInfoUrl = `${process.env.REACT_APP_API_URL}/api/SchJobInfo/GetSchJobInfoBySchId?id=${ScholarId}`;\r\n //const SchFeeInfoUrl = `${process.env.REACT_APP_API_URL}/api/SchFeeInfo`;\r\n const SchAddressUrl = `${process.env.REACT_APP_API_URL}/api/SchAddress/GetSchAddressBySchId?id=${ScholarId}`;\r\n\r\n const SchDocumentUrl = `${process.env.REACT_APP_API_URL}/api/SchDocument/GetSchDocumentBySchId?id=${ScholarId}`;\r\n const SchSynopsysUrl = `${process.env.REACT_APP_API_URL}/api/SchSynopsys/GetSchSynopsysBySchId?id=${ScholarId}`;\r\n //const SchPrintDocUrl = `${process.env.REACT_APP_API_URL}/api/SchPrintDoc`;\r\n const SchEducationUrl = `${process.env.REACT_APP_API_URL}/api/SchEducation/GetSchEducationBySchId?id=${ScholarId}`;\r\n const SchInterviewUrl = `${process.env.REACT_APP_API_URL}/api/SchInterview/GetSchInterviewBySchId?id=${ScholarId}`;\r\n const SchConferenceUrl = `${process.env.REACT_APP_API_URL}/api/SchConference/GetSchConferenceBySchId?id=${ScholarId}`;\r\n const SchPayReceiptUrl = `${process.env.REACT_APP_API_URL}/api/SchPayReceipt/GetSchPayReceiptBySchId?id=${ScholarId}`;\r\n const SchPublicationUrl = `${process.env.REACT_APP_API_URL}/api/SchPublication/GetSchPublicationBySchId?id=${ScholarId}`;\r\n //const SchPrintTemplateUrl = `${process.env.REACT_APP_API_URL}/api/SchPrintTemplate`;\r\n const SchCourseWorkMarkUrl = `${process.env.REACT_APP_API_URL}/api/SchCourseWorkInfo/GetSchCourseWorkInfoBySchId?id=${ScholarId}`;\r\n //const SchCourseWorkInfoUrl = `${process.env.REACT_APP_API_URL}/api/SchCourseWorkInfo`;\r\n //const SchThesisEvaluatorUrl = `${process.env.REACT_APP_API_URL}/api/SchThesisEvaluator`;\r\n\r\n const [document, setDocument] = useState([]);\r\n const [address, setAddress] = useState([]);\r\n const [interview, setInterview] = useState([]);\r\n const [thesis, setThesis] = useState([]);\r\n const [education, setEducation] = useState([]);\r\n const [courseWorkMark, setCourseWorkMark] = useState([]);\r\n const [synopsys, setSynopsys] = useState([]);\r\n const [jobInfo, setJobInfo] = useState([]);\r\n const [publication, setPublication] = useState([]);\r\n const [conference, setConference] = useState([]);\r\n const [payReceipt, setPayReceipt] = useState([]);\r\n\r\n useEffect(() => {\r\n const getDocument = async () => {\r\n const response = await axios.get(SchDocumentUrl);\r\n setDocument(response.data);\r\n };\r\n getDocument();\r\n const getThesis = async () => {\r\n const response = await axios.get(SchThesisUrl);\r\n setThesis(response.data);\r\n };\r\n getThesis();\r\n\r\n const getCourseWorkMark = async () => {\r\n const response = await axios.get(SchCourseWorkMarkUrl);\r\n setCourseWorkMark(response.data);\r\n };\r\n getCourseWorkMark();\r\n\r\n const getEducation = async () => {\r\n const response = await axios.get(SchEducationUrl);\r\n setEducation(response.data);\r\n };\r\n getEducation();\r\n\r\n const getSynopsys = async () => {\r\n const response = await axios.get(SchSynopsysUrl);\r\n setSynopsys(response.data);\r\n };\r\n getSynopsys();\r\n\r\n const getJobInfo = async () => {\r\n const response = await axios.get(SchJobInfoUrl);\r\n setJobInfo(response.data);\r\n };\r\n getJobInfo();\r\n\r\n const getPublication = async () => {\r\n const response = await axios.get(SchPublicationUrl);\r\n setPublication(response.data);\r\n };\r\n getPublication();\r\n\r\n const getConference = async () => {\r\n const response = await axios.get(SchConferenceUrl);\r\n setConference(response.data);\r\n };\r\n getConference();\r\n\r\n const getPayReceipt = async () => {\r\n const response = await axios.get(SchPayReceiptUrl);\r\n setPayReceipt(response.data);\r\n };\r\n getPayReceipt();\r\n\r\n const getInterview = async () => {\r\n const response = await axios.get(SchInterviewUrl);\r\n setInterview(response.data);\r\n };\r\n getInterview();\r\n const getAddress = async () => {\r\n const response = await axios.get(SchAddressUrl);\r\n setAddress(response.data);\r\n };\r\n getAddress();\r\n }, [\r\n SchAddressUrl,\r\n SchInterviewUrl,\r\n SchPayReceiptUrl,\r\n SchConferenceUrl,\r\n SchPublicationUrl,\r\n SchJobInfoUrl,\r\n SchSynopsysUrl,\r\n SchEducationUrl,\r\n SchCourseWorkMarkUrl,\r\n SchThesisUrl,\r\n SchDocumentUrl,\r\n setAddress,\r\n ScholarId,\r\n setThesis,\r\n setCourseWorkMark,\r\n setEducation,\r\n setSynopsys,\r\n setJobInfo,\r\n setPublication,\r\n setConference,\r\n setPayReceipt,\r\n setInterview,\r\n setDocument,\r\n ]);\r\n\r\n // Push to Create PAGE\r\n\r\n const backToSchEducationsForm = (id) => {\r\n history.push(`/scholar/scheducations/new/${id}`);\r\n };\r\n const backToSchCourseWorkInfosForm = (id) => {\r\n history.push(`/scholar/schcourseworkinfos/new/${id}`);\r\n };\r\n const backToSchConferencesForm = (id) => {\r\n history.push(`/scholar/schConferences/new/${id}`);\r\n };\r\n const backToSchDocumentsForm = (id) => {\r\n history.push(`/scholar/schdocuments/new/${id}`);\r\n };\r\n\r\n const backToPayReceiptsForm = (id) => {\r\n history.push(`/scholar/schpayreceipts/new/${id}`);\r\n };\r\n const backToJobInfosForm = (id) => {\r\n history.push(`/scholar/schjobinfos/new/${id}`);\r\n };\r\n const backToSchPublicationsForm = (id) => {\r\n history.push(`/scholar/schpublications/new/${id}`);\r\n };\r\n const backToSchSynopsysesForm = (id) => {\r\n history.push(`/scholar/schsynopsyses/new/${id}`);\r\n };\r\n const backToSchThesisesForm = (id) => {\r\n history.push(`/scholar/SchThesises/new/${id}`);\r\n };\r\n\r\n // Push to Edit/Update PAGE\r\n\r\n const openEditSchEducationPage = (schEducationId) => {\r\n history.push(`/scholar/schEducations/${schEducationId}/edit`);\r\n };\r\n const openEditPayReceiptsPage = (schPayReceiptId) => {\r\n history.push(`/scholar/schpayreceipts/${schPayReceiptId}/edit`);\r\n };\r\n\r\n const openEditSchJobInfosPage = (schJobInfoId) => {\r\n history.push(`/scholar/schjobinfos/${schJobInfoId}/edit`);\r\n };\r\n const openEditSchPublicationsPage = (schPublicationId) => {\r\n history.push(`/scholar/schpublications/${schPublicationId}/edit`);\r\n };\r\n const openEditSchSynopsysesPage = (schSynopsysId) => {\r\n history.push(`/scholar/schsynopsyses/${schSynopsysId}/edit`);\r\n };\r\n const openEditSchThesisesPage = (schThesisId) => {\r\n history.push(`/scholar/SchThesises/${schThesisId}/edit`);\r\n };\r\n const openEditSchCourseWorkInfosPage = (schCourseWorkInfoId) => {\r\n history.push(`/scholar/schcourseworkinfos/${schCourseWorkInfoId}/edit`);\r\n };\r\n const openEditSchConferencesPage = (schConferenceId) => {\r\n history.push(`/scholar/schConferences/${schConferenceId}/edit`);\r\n };\r\n const openEditSchDocumentsPage = (id) => {\r\n history.push(`/scholar/schdocuments/${id}/edit`);\r\n };\r\n\r\n const SCH_JOB_INFOS_URL = `${process.env.REACT_APP_API_URL}/api/SchJobInfo`;\r\n const deleteSchJobInfo = (schJobInfoId) => {\r\n axios.delete(`${SCH_JOB_INFOS_URL}/${schJobInfoId}`).then((response) => {\r\n history.push(\"/scholar/profile\");\r\n });\r\n };\r\n\r\n const SCH_EDUCATIONS_URL = `${process.env.REACT_APP_API_URL}/api/SchEducation`;\r\n const deleteSchEducation = (schEducationId) => {\r\n axios.delete(`${SCH_EDUCATIONS_URL}/${schEducationId}`).then((response) => {\r\n history.push(\"/scholar/profile\");\r\n });\r\n };\r\n\r\n const SCH_CONFERENCES_URL = `${process.env.REACT_APP_API_URL}/api/SchConference`;\r\n const deleteSchConference = (schConferenceId) => {\r\n axios\r\n .delete(`${SCH_CONFERENCES_URL}/${schConferenceId}`)\r\n .then((response) => {\r\n history.push(\"/scholar/profile\");\r\n });\r\n };\r\n\r\n const SCH_COURSE_WORK_INFOS_URL = `${process.env.REACT_APP_API_URL}/api/SchCourseWorkInfo`;\r\n const deleteSchCourseWorkInfo = (schCourseWorkInfoId) => {\r\n axios\r\n .delete(`${SCH_COURSE_WORK_INFOS_URL}/${schCourseWorkInfoId}`)\r\n .then((response) => {\r\n history.push(\"/scholar/profile\");\r\n });\r\n };\r\n\r\n const SCH_DOCUMENTS_URL = `${process.env.REACT_APP_API_URL}/api/SchDocument`;\r\n const deleteSchDocument = (schDocumentId) => {\r\n axios.delete(`${SCH_DOCUMENTS_URL}/${schDocumentId}`).then((response) => {\r\n history.push(\"/scholar/profile\");\r\n });\r\n };\r\n\r\n const SCH_PAY_RECIEPTS_URL = `${process.env.REACT_APP_API_URL}/api/SchPayReceipt`;\r\n const deleteSchPayReciept = (schPayReceiptId) => {\r\n axios\r\n .delete(`${SCH_PAY_RECIEPTS_URL}/${schPayReceiptId}`)\r\n .then((response) => {\r\n history.push(\"/scholar/profile\");\r\n });\r\n };\r\n\r\n const SCH_PUBLICATIONS_URL = `${process.env.REACT_APP_API_URL}/api/SchPublication`;\r\n const deleteSchPublication = (schPublicationId) => {\r\n axios\r\n .delete(`${SCH_PUBLICATIONS_URL}/${schPublicationId}`)\r\n .then((response) => {\r\n history.push(\"/scholar/profile\");\r\n });\r\n };\r\n\r\n const SCH_SYNOPSYSES_URL = `${process.env.REACT_APP_API_URL}/api/SchSynopsys`;\r\n const deleteSchSynopsys = (schSynopsysId) => {\r\n axios.delete(`${SCH_SYNOPSYSES_URL}/${schSynopsysId}`).then((response) => {\r\n history.push(\"/scholar/profile\");\r\n });\r\n };\r\n\r\n const SCH_THESISES_URL = `${process.env.REACT_APP_API_URL}/api/SchThesis`;\r\n const deleteSchThesis = (schThesisId) => {\r\n axios.delete(`${SCH_THESISES_URL}/${schThesisId}`).then((response) => {\r\n history.push(\"/scholar/profile\");\r\n });\r\n };\r\n // const openDeleteSchEducationsDialog = (schEducationId) => {\r\n // history.push(`/sch/schEducations/${schEducationId}/delete`);\r\n // };\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n

\r\n {!(profile.scholarName)?\"-\" : (profile.scholarName) } ({!(profile.batchCode)?\"-\" : (profile.batchCode)} )\r\n

\r\n\r\n
\r\n
\r\n \r\n
\r\n {!(profile.registrationNo)?\"-\" : (profile.registrationNo) }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {!(profile.enrollmentNo)?\"-\" : (profile.enrollmentNo) }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {!(profile.primaryContact)?\"-\" : (profile.primaryContact) }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {!(profile.subject)?\"-\" : (profile.subject) }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {!(profile.dateofBirth)?\"-\" : (profile.dateofBirth) }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
{!(profile.gender)?\"-\" : (profile.gender) }
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {!(profile.castCategory)?\"-\" : (profile.castCategory) }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {!(profile.spouseName)?\"-\" : (profile.spouseName) }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {!(profile.fatherName)?\"-\" : (profile.fatherName) }/{!(profile.motherName)?\"-\" : (profile.motherName) }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {!(interview.interviewDate)?\"-\" : (interview.interviewDate) } | {!(interview.interviewType)?\"-\" : (interview.interviewType) }\r\n
\r\n
\r\n
\r\n\r\n
\r\n {address.map((addresses) => (\r\n
\r\n \r\n {addresses.addressLine1}\r\n
\r\n {addresses.addressLine2},{addresses.city},\r\n {addresses.state}\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n\r\n
\r\n
\r\n

{profile.subject}

\r\n

Guided By : {profile.guideId}

\r\n\r\n
\r\n \r\n \r\n \r\n \r\n My Documents\r\n \r\n \r\n {\r\n backToSchDocumentsForm(profile.scholarId);\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 {document.map((documents, schDocumentId) => (\r\n \r\n {documents.docTitle} :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n openEditSchDocumentsPage(\r\n documents.schDocumentId\r\n );\r\n }}\r\n >\r\n \r\n \r\n {\r\n deleteSchDocument(\r\n documents.schDocumentId\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n
\r\n ))}\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n Educational Info\r\n \r\n \r\n {\r\n backToSchEducationsForm(profile.scholarId);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {education.map(\r\n (educationalInfo, schEducationId) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n
DegreeYearSubjectPercentageBoard/ University\r\n \r\n Actions\r\n \r\n
{educationalInfo.degreeType}{educationalInfo.passingYear}{educationalInfo.subjectStudied}{educationalInfo.percentage}{educationalInfo.university}\r\n \r\n {\r\n openEditSchEducationPage(\r\n educationalInfo.schEducationId\r\n );\r\n }}\r\n >\r\n \r\n \r\n {\r\n deleteSchEducation(\r\n educationalInfo.schEducationId\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 Course Work\r\n \r\n \r\n {\r\n backToSchCourseWorkInfosForm(profile.scholarId);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {courseWorkMark.map(\r\n (courseWork, schCourseWorkInfoId) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n
First Course Work StartDateFirst Course Work EndDatecertificateIssueDatemarkSheetIssuedDate\r\n \r\n Actions\r\n \r\n
{courseWork.firstCwStartDate}{courseWork.fristCwEndDate}{courseWork.certificateIssueDate}{courseWork.markSheetIssuedDate}\r\n \r\n {\r\n openEditSchCourseWorkInfosPage(\r\n courseWork.schCourseWorkInfoId\r\n );\r\n }}\r\n >\r\n \r\n \r\n {\r\n deleteSchCourseWorkInfo(\r\n courseWork.schCourseWorkInfoId\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 Coursework Period\r\n \r\n \r\n\r\n \r\n Start Date\r\n \r\n \r\n \r\n End Date\r\n \r\n \r\n \r\n Certificate Issue Date\r\n \r\n \r\n {\r\n openEditSchCourseWorkInfosPage(\r\n courseWorkMark.schCourseWorkInfoId\r\n );\r\n }}\r\n >\r\n \r\n \r\n {\r\n deleteSchCourseWorkInfo(\r\n courseWorkMark.schCourseWorkInfoId\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 Thesis\r\n \r\n \r\n {\r\n backToSchThesisesForm(profile.scholarId);\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 {thesis.map((thesises, schThesisId) => (\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 Plagiarism Percentage\r\n \r\n {thesises.plagiarismPercentage}\r\n \r\n \r\n \r\n Pre Thesis Date\r\n \r\n {thesises.preThesisDate}\r\n \r\n \r\n \r\n Soft Copy Submission Date\r\n \r\n {\r\n thesises.softCopySubmissionDate\r\n }\r\n \r\n \r\n \r\n Provisional Degree Issued Date\r\n \r\n {\r\n thesises.provisinalDegreeIssuedDate\r\n }\r\n \r\n \r\n \r\n Uploaded Date\r\n \r\n {thesises.dateUploaded}\r\n \r\n \r\n \r\n Plagiarism Checked Date\r\n \r\n {thesises.plagiarismCheckedDate}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date Of Thesis Submission\r\n \r\n {\r\n thesises.dateOfthesisSubmission\r\n }\r\n \r\n \r\n \r\n Hard Copy Submission Date\r\n \r\n {\r\n thesises.hardCopySubmissionDate\r\n }\r\n \r\n \r\n \r\n Degree Issued Date\r\n \r\n {thesises.degreeIssuedDate}\r\n \r\n \r\n \r\n Viva Voce Date\r\n \r\n {thesises.vivaVoceDate}\r\n \r\n \r\n \r\n Reference Number\r\n \r\n {thesises.referenceNumber}\r\n \r\n \r\n \r\n Actions\r\n \r\n {\r\n openEditSchThesisesPage(\r\n thesises.schThesisId\r\n );\r\n }}\r\n >\r\n \r\n \r\n {\r\n deleteSchThesis(\r\n thesises.schThesisId\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Synopsys\r\n \r\n \r\n {\r\n backToSchSynopsysesForm(profile.scholarId);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {synopsys.map((synopsyses, schSynopsysId) => (\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
Soft CopyHard CopyDate Of DRC Presentation Date Of DRCDRC RemarkShodh Gangotri LinkDate UploadedLab Applicable\r\n \r\n Actions\r\n \r\n
{synopsyses.softCopySubmissionDate}{synopsyses.hardCopySubmissionDate} {synopsyses.dateOfDrcPresentation} {synopsyses.dateOfDrc} {synopsyses.drcRemark}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {synopsyses.dateUploaded} {synopsyses.isLabApplicable} \r\n \r\n {\r\n openEditSchSynopsysesPage(\r\n synopsyses.schSynopsysId\r\n );\r\n }}\r\n >\r\n \r\n \r\n {\r\n deleteSchSynopsys(\r\n synopsyses.schSynopsysId\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 Profession\r\n \r\n\r\n \r\n {\r\n backToJobInfosForm(profile.scholarId);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {jobInfo.map((profession, schJobInfoId) => (\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
Company NameDesignation Emplyment Type Start Date End Date Total Experience\r\n \r\n Actions\r\n \r\n
{profession.companyName} {profession.jobTitle} {profession.jobType} {profession.startDate} {profession.endDate} {profession.expInYear} \r\n \r\n {\r\n openEditSchJobInfosPage(\r\n profession.schJobInfoId\r\n );\r\n }}\r\n >\r\n \r\n \r\n {\r\n deleteSchJobInfo(\r\n profession.schJobInfoId\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 Publication\r\n \r\n\r\n \r\n {\r\n backToSchPublicationsForm(profile.scholarId);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {publication.map(\r\n (publications, schPublicationId) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n
Author Names Title Of Paper Journal Name Year Of Publication\r\n \r\n Actions\r\n \r\n
{publications.authorNames}{publications.titleOfPaper}{publications.journalname} {publications.yearOfPublication} \r\n \r\n {\r\n openEditSchPublicationsPage(\r\n publications.schPublicationId\r\n );\r\n }}\r\n >\r\n \r\n \r\n {\r\n deleteSchPublication(\r\n publication.schPublicationId\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 Conference\r\n \r\n \r\n {/* */}\r\n {\r\n backToSchConferencesForm(profile.scholarId);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n */}\r\n \r\n \r\n \r\n {conference.map(\r\n (conferences, schConferenceId) => (\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
Institute Name Title Date Participation PresentationPaper Name\r\n \r\n Actions\r\n \r\n
JJTU {conferences.confTitle}\r\n {conferences.startDate} To{\" \"}\r\n {conferences.endDate}\r\n {conferences.participated}{conferences.presented}{conferences.paperName}\r\n \r\n {\r\n openEditSchConferencesPage(\r\n conferences.schConferenceId\r\n );\r\n }}\r\n >\r\n \r\n \r\n {\r\n deleteSchConference(\r\n conferences.schConferenceId\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 Payment\r\n \r\n \r\n {\r\n backToPayReceiptsForm(profile.scholarId);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {payReceipt.map(\r\n (payReceipts, schPayReceiptId) => (\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
Fee Type Instamment Amount Receipt Date Remark \r\n \r\n Actions\r\n \r\n
{payReceipts.feeType} {payReceipts.transactionNo}{payReceipts.amount}{payReceipts.receiptNo}{payReceipts.payDate}{payReceipts.remark}\r\n \r\n {\r\n openEditPayReceiptsPage(\r\n payReceipts.schPayReceiptId\r\n );\r\n }}\r\n >\r\n \r\n \r\n {\r\n deleteSchPayReciept(\r\n payReceipts.schPayReceiptId\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const SCH_CONFERENCES_URL = `${process.env.REACT_APP_API_URL}/api/SchConference`;\r\n\r\n// CREATE => POST: add a new schConference to the server\r\nexport function createSchConference(schConference) {\r\n return axios.post(SCH_CONFERENCES_URL, schConference);\r\n}\r\n\r\n// READ\r\nexport function getAllSchConferences() {\r\n return axios.get(SCH_CONFERENCES_URL);\r\n}\r\n\r\nexport function getSchConferenceById(schConferenceId) {\r\n return axios.get(`${SCH_CONFERENCES_URL}/${schConferenceId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findSchConferences(queryParams) {\r\n return axios.post(`${SCH_CONFERENCES_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the procuct on the server\r\nexport function updateSchConference(schConference) {\r\n return axios.put(`${SCH_CONFERENCES_URL}/${schConference.schConferenceId}`, schConference);\r\n}\r\n\r\n// // UPDATE Status\r\n// export function updateStatusForSchConferences(ids, status) {\r\n// return axios.post(`${SCH_CONFERENCES_URL}/updateStatusForSchConferences`, {\r\n// ids,\r\n// status\r\n// });\r\n// }\r\n\r\n// DELETE => delete the schConference from the server\r\nexport function deleteSchConference(schConferenceId) {\r\n return axios.delete(`${SCH_CONFERENCES_URL}/${schConferenceId}`);\r\n}\r\n\r\n// DELETE SchConferences by ids\r\nexport function deleteSchConferences(ids) {\r\n return axios.post(`${SCH_CONFERENCES_URL}/deleteSchConferences`, { ids });\r\n}\r\n","import * as requestFromServer from \"./schConferencesCrud\";\r\nimport { schConferencesSlice, callTypes } from \"./schConferencesSlice\";\r\n\r\nconst { actions } = schConferencesSlice;\r\n\r\nexport const fetchSchConferences = (queryParams) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findSchConferences(queryParams)\r\n .then((response) => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.schConferencesFetched({ totalCount, entities }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find schConferences\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchSchConference = (id) => (dispatch) => {\r\n if (!id) {\r\n return dispatch(actions.schConferenceFetched({ schConferenceForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getSchConferenceById(id)\r\n .then((response) => {\r\n const schConference = response.data;\r\n dispatch(actions.schConferenceFetched({ schConferenceForEdit: schConference }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find schConference\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteSchConference = (id) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteSchConference(id)\r\n .then((response) => {\r\n dispatch(actions.schConferenceDeleted({ id }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete schConference\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createSchConference = (schConferenceForCreation) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n schConferenceForCreation.isActive = true;\r\n return requestFromServer\r\n .createSchConference(schConferenceForCreation)\r\n .then((response) => {\r\n const { schConference } = response.data;\r\n schConference.id = schConference.schConferenceId;\r\n dispatch(actions.schConferenceCreated({ schConference }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't create schConference\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateSchConference = (schConference) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateSchConference(schConference)\r\n .then(() => {\r\n dispatch(actions.schConferenceUpdated({ schConference }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't update schConference\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteSchConferences = (ids) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteSchConferences(ids)\r\n .then(() => {\r\n dispatch(actions.schConferencesDeleted({ ids }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete schConferences\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Formik, Form, Field } from \"formik\";\r\n//import axios from \"axios\";\r\nimport * as Yup from \"yup\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport \"date-fns\";\r\n//import DateFnsAdapter from \"@date-io/date-fns\";\r\nimport { Input } from \"../../../../../../_metronic/_partials/controls\";\r\nimport {\r\n FormControl,\r\n FormControlLabel,\r\n FormLabel,\r\n RadioGroup,\r\n Radio,\r\n} from \"@material-ui/core\";\r\n\r\n// Validation schema\r\nconst SchConferenceEditSchema = Yup.object().shape({\r\n confTitle: Yup.string().required(\"Title is required\"),\r\n \r\n});\r\n\r\n//const PageUrl = `${process.env.REACT_APP_API_URL}/api/Scholar`;\r\n\r\nexport function SchConferenceEditForm({\r\n schConference,\r\n btnRef,\r\n saveSchConference,\r\n}) {\r\n // const [menuForDropdown, setMenuForDropdown] = useState([]);\r\n\r\n // useEffect(() => {\r\n // const getInnerPagesWithAxios = async () => {\r\n // const response = await axios.get(PageUrl);\r\n // setMenuForDropdown(response.data);\r\n // };\r\n // getInnerPagesWithAxios();\r\n // }, [setMenuForDropdown]);\r\n\r\n return (\r\n <>\r\n {\r\n try {\r\n values.scholarId = parseInt(values.scholarId);\r\n } catch {}\r\n saveSchConference(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values }) => (\r\n <>\r\n
\r\n
\r\n Scholar Id: {schConference.scholarId}\r\n {/* \r\n \r\n {menuForDropdown\r\n \r\n .filter((menu) => menu.isActive)\r\n .map((menu, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n /> */}\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n {\r\n setFieldValue(\"startDate\", e.target.value);\r\n }}\r\n />\r\n
\r\n\r\n
\r\n {\r\n setFieldValue(\"endDate\", e.target.value);\r\n }}\r\n />\r\n
\r\n\r\n
\r\n \r\n Participated: \r\n {\r\n setFieldValue(\"participated\", JSON.parse(e.target.value));\r\n }}\r\n >\r\n \r\n }\r\n label=\"Yes\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n }\r\n label=\"No\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n Presented: \r\n {\r\n setFieldValue(\"presented\", JSON.parse(e.target.value));\r\n }}\r\n >\r\n \r\n }\r\n label=\"Yes\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n }\r\n label=\"No\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n handleSubmit()}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,jsx-a11y/role-supports-aria-props */\r\nimport React, { useEffect, useState, useRef, useLayoutEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/schConferences/schConferencesActions\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nimport { SchConferenceEditForm } from \"./SchConferenceEditForm\";\r\nimport { useSubheader } from \"../../../../../../_metronic/layout\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { KTUtil } from \"../../../../../../_metronic/_assets/js/components/util\";\r\nimport KTLayoutQuickForm from \"../../../../Admin/utils/quick-form\";\r\nimport { Profile } from \"../../profile/Profile\";\r\n//import { ScholarProfile } from \"../../../../Admin/pages/scholars/scholars-profile/ScholarProfile\";\r\nimport axios from \"axios\";\r\n\r\nconst initSchConference = {\r\n id: undefined,\r\n scholarId: 0,\r\n confTitle: \"\",\r\n startDate: \"2020-10-16T05:53:31.195Z\",\r\n endDate: \"2020-10-16T05:53:31.195Z\",\r\n participated: true,\r\n presented: true,\r\n paperName: \"\",\r\n};\r\nexport function SchConferenceEdit({\r\n history,\r\n match: {\r\n params: { id,sid },\r\n },\r\n}) {\r\n useLayoutEffect(() => {\r\n KTUtil.ready(function() {\r\n KTLayoutQuickForm.init(\"kt_quick_form\");\r\n });\r\n }, []);\r\n // Subheader\r\n const subheader = useSubheader();\r\n\r\n // Tabs\r\n // const [tab, setTab] = useState(\"basic\");\r\n const [title, setTitle] = useState(\"\");\r\n const dispatch = useDispatch();\r\n // const layoutDispatch = useContext(LayoutContext.Dispatch);\r\n const { actionsLoading, schConferenceForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.schConferences.actionsLoading,\r\n schConferenceForEdit: state.schConferences.schConferenceForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n dispatch(actions.fetchSchConference(id));\r\n }, [id, dispatch]);\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Scholar Conference\";\r\n if (schConferenceForEdit && id) {\r\n _title = `Edit Scholar Conference ''`;\r\n }\r\n\r\n setTitle(_title);\r\n subheader.setTitle(_title);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [schConferenceForEdit, id]);\r\n\r\n const saveSchConference = (values) => {\r\n if (!id) {\r\n dispatch(actions.createSchConference(values)).then(() =>\r\n backToSchConferencesList()\r\n );\r\n } else {\r\n dispatch(actions.updateSchConference(values)).then(() =>\r\n backToSchConferencesList()\r\n );\r\n }\r\n };\r\n\r\n const btnRef = useRef();\r\n const saveSchConferenceClick = () => {\r\n if (btnRef && btnRef.current) {\r\n btnRef.current.click();\r\n }\r\n };\r\n\r\n const id1 = id===undefined?'':id\r\n const ScholarUrl = `${process.env.REACT_APP_API_URL}/api/SchConference/${id1}`;\r\n\r\n const [profile, setProfile] = useState([]);\r\n useEffect(() => {\r\n const getScholar = async () => {\r\n const response = await axios.get(`${ScholarUrl}`);\r\n setProfile(response.data);\r\n };\r\n getScholar();\r\n }, [setProfile, ScholarUrl]);\r\n const ScholarId = sid?sid:profile.scholarId;\r\n \r\n \r\n \r\n initSchConference.scholarId=ScholarId;\r\n\r\n const backToSchConferencesList = () => {\r\n history.push(`/scholar/profile`);\r\n };\r\n\r\n return (\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n {actionsLoading && }\r\n \r\n \r\n \r\n \r\n Close\r\n \r\n {/* */}\r\n \r\n Save\r\n \r\n \r\n \r\n \r\n {!actionsLoading && (\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const SCH_DOCUMENTS_URL = `${process.env.REACT_APP_API_URL}/api/SchDocument`;\r\n\r\n// CREATE => POST: add a new schDocument to the server\r\nexport function createSchDocument(schDocument) {\r\n return axios.post(SCH_DOCUMENTS_URL, schDocument);\r\n}\r\n\r\n// READ\r\nexport function getAllSchDocuments() {\r\n return axios.get(SCH_DOCUMENTS_URL);\r\n}\r\n\r\nexport function getSchDocumentById(schDocumentId) {\r\n return axios.get(`${SCH_DOCUMENTS_URL}/${schDocumentId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findSchDocuments(queryParams) {\r\n return axios.post(`${SCH_DOCUMENTS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the procuct on the server\r\nexport function updateSchDocument(schDocument) {\r\n return axios.put(`${SCH_DOCUMENTS_URL}/${schDocument.schDocumentId}`, schDocument);\r\n}\r\n\r\n// // UPDATE Status\r\n// export function updateStatusForSchDocuments(ids, status) {\r\n// return axios.post(`${SCH_DOCUMENTS_URL}/updateStatusForSchDocuments`, {\r\n// ids,\r\n// status\r\n// });\r\n// }\r\n\r\n// DELETE => delete the schDocument from the server\r\nexport function deleteSchDocument(schDocumentId) {\r\n return axios.delete(`${SCH_DOCUMENTS_URL}/${schDocumentId}`);\r\n}\r\n\r\n// DELETE SchDocuments by ids\r\nexport function deleteSchDocuments(ids) {\r\n return axios.post(`${SCH_DOCUMENTS_URL}/deleteSchDocuments`, { ids });\r\n}\r\n","import * as requestFromServer from \"./schdocumentsCrud\";\r\nimport { schDocumentsSlice, callTypes } from \"./schdocumentsSlice\";\r\n\r\nconst { actions } = schDocumentsSlice;\r\n\r\nexport const fetchSchDocuments = (queryParams) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findSchDocuments(queryParams)\r\n .then((response) => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.schDocumentsFetched({ totalCount, entities }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find schDocuments\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchSchDocument = (id) => (dispatch) => {\r\n if (!id) {\r\n return dispatch(actions.schDocumentFetched({ schDocumentForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getSchDocumentById(id)\r\n .then((response) => {\r\n const schDocument = response.data;\r\n dispatch(actions.schDocumentFetched({ schDocumentForEdit: schDocument }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find schDocument\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteSchDocument = (id) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteSchDocument(id)\r\n .then((response) => {\r\n dispatch(actions.schDocumentDeleted({ id }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete schDocument\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createSchDocument = (schDocumentForCreation) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n schDocumentForCreation.isActive = true;\r\n return requestFromServer\r\n .createSchDocument(schDocumentForCreation)\r\n .then((response) => {\r\n const { schDocument } = response.data;\r\n schDocument.id = schDocument.schDocumentId;\r\n dispatch(actions.schDocumentCreated({ schDocument }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't create schDocument\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateSchDocument = (schDocument) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateSchDocument(schDocument)\r\n .then(() => {\r\n dispatch(actions.schDocumentUpdated({ schDocument }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't update schDocument\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteSchDocuments = (ids) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteSchDocuments(ids)\r\n .then(() => {\r\n dispatch(actions.schDocumentsDeleted({ ids }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete schDocuments\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Formik, Form, Field } from \"formik\";\r\n//import axios from \"axios\";\r\nimport * as Yup from \"yup\";\r\nimport { Input } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\n// Validation schema\r\nconst SchDocumentEditSchema = Yup.object().shape({\r\n docTitle: Yup.string().required(\"Title is required\"),\r\n});\r\n\r\n//const PageUrl = `${process.env.REACT_APP_API_URL}/api/scholar`;\r\n//const PageUrl1 = `${process.env.REACT_APP_API_URL}/api/doctype`;\r\n\r\nexport function SchDocumentEditForm({ schDocument, btnRef, saveSchDocument }) {\r\n // const [menuForDropdown, setMenuForDropdown] = useState([]);\r\n // const [menuForDropdown1, setMenuForDropdown1] = useState([]);\r\n\r\n // useEffect(() => {\r\n // const getInnerPagesWithAxios = async () => {\r\n // const response = await axios.get(PageUrl);\r\n // setMenuForDropdown(response.data);\r\n // };\r\n // getInnerPagesWithAxios();\r\n // }, [setMenuForDropdown]);\r\n\r\n // useEffect(() => {\r\n // const getInnerPagesWithAxios = async () => {\r\n // const response = await axios.get(PageUrl1);\r\n // setMenuForDropdown1(response.data);\r\n // };\r\n // getInnerPagesWithAxios();\r\n // }, [setMenuForDropdown1]);\r\n\r\n const getFieldCSSClasses = (touched, errors) => {\r\n const classes = [\"form-control\"];\r\n if (touched && errors) {\r\n classes.push(\"is-invalid\");\r\n }\r\n\r\n if (touched && !errors) {\r\n classes.push(\"is-valid\");\r\n }\r\n\r\n return classes.join(\" \");\r\n };\r\n const toBase64 = (docPath) =>\r\n new Promise((resolve, reject) => {\r\n if (docPath && docPath !== \"\" && docPath !== \" \") {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(docPath);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = (error) => reject(error);\r\n } else {\r\n resolve(\"\");\r\n }\r\n });\r\n return (\r\n <>\r\n {\r\n try {\r\n values.scholarId = parseInt(values.scholarId);\r\n } catch {}\r\n saveSchDocument(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values, touched, errors }) => (\r\n <>\r\n
\r\n
\r\n Scholar Id: {schDocument.scholarId}\r\n {/* \r\n \r\n {menuForDropdown\r\n .filter((menu) => menu.isActive)\r\n .map((menu, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />*/}\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n {\r\n setFieldValue(\"docPath\", await toBase64(e.target.files[0]));\r\n }}\r\n accept=\"file\"\r\n />\r\n
\r\n\r\n handleSubmit()}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,jsx-a11y/role-supports-aria-props */\r\nimport React, { useEffect, useState, useRef, useLayoutEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport * as actions from \"./../../../_redux/schDocuments/schdocumentsActions\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { SchDocumentEditForm } from \"./SchDocumentEditForm\";\r\nimport { useSubheader } from \"../../../../../../_metronic/layout\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { KTUtil } from \"../../../../../../_metronic/_assets/js/components/util\";\r\nimport KTLayoutQuickForm from \"../../../../Admin/utils/quick-form\";\r\nimport {Profile} from \"../../profile/Profile\";\r\nimport axios from \"axios\";\r\n\r\nconst initSchDocument = {\r\n id: undefined,\r\n scholarId: 0,\r\n docType: \"\",\r\n docTitle: \"\",\r\n docPath: \"\",\r\n};\r\nexport function SchDocumentEdit({\r\n history,\r\n match: {\r\n params: { id,sid },\r\n },\r\n}) {\r\n useLayoutEffect(() => {\r\n KTUtil.ready(function() {\r\n KTLayoutQuickForm.init(\"kt_quick_form\");\r\n });\r\n }, []);\r\n // Subheader\r\n const subheader = useSubheader();\r\n\r\n // Tabs\r\n // const [tab, setTab] = useState(\"basic\");\r\n const [title, setTitle] = useState(\"\");\r\n const dispatch = useDispatch();\r\n // const layoutDispatch = useContext(LayoutContext.Dispatch);\r\n const { actionsLoading, schDocumentForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.schDocuments.actionsLoading,\r\n schDocumentForEdit: state.schDocuments.schDocumentForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n dispatch(actions.fetchSchDocument(id));\r\n }, [id, dispatch]);\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Scholar Document\";\r\n if (schDocumentForEdit && id) {\r\n _title = `Edit Scholar Document `;\r\n }\r\n\r\n setTitle(_title);\r\n subheader.setTitle(_title);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [schDocumentForEdit, id]);\r\n\r\n const saveSchDocument = (values) => {\r\n if (!id) {\r\n dispatch(actions.createSchDocument(values)).then(() => backToSchDocumentsList());\r\n } else {\r\n dispatch(actions.updateSchDocument(values)).then(() => backToSchDocumentsList());\r\n }\r\n };\r\n\r\n const btnRef = useRef();\r\n const saveSchDocumentClick = () => {\r\n if (btnRef && btnRef.current) {\r\n btnRef.current.click();\r\n }\r\n };\r\n\r\n const id1 = id===undefined?'':id\r\n //for close button\r\n const ScholarUrl = `${process.env.REACT_APP_API_URL}/api/schDocument/${id1}`;\r\n\r\n const [profile, setProfile] = useState([]);\r\n useEffect(() => {\r\n const getScholar = async () => {\r\n const response = await axios.get(`${ScholarUrl}`);\r\n setProfile(response.data);\r\n };\r\n getScholar();\r\n }, [setProfile, ScholarUrl]);\r\n const ScholarId = sid?sid:profile.scholarId;\r\n \r\n \r\n \r\n initSchDocument.scholarId=ScholarId;\r\n\r\n\r\n\r\n const backToSchDocumentsList = () => {\r\n history.push(`/scholar/profile`);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n {actionsLoading && }\r\n \r\n \r\n \r\n \r\n Close\r\n \r\n {/* */}\r\n \r\n Save\r\n \r\n \r\n \r\n \r\n {!actionsLoading && (\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const SCH_THESISES_URL = `${process.env.REACT_APP_API_URL}/api/SchThesis`;\r\n\r\n// CREATE => POST: add a new schThesis to the server\r\nexport function createSchThesis(schThesis) {\r\n return axios.post(SCH_THESISES_URL, schThesis);\r\n}\r\n\r\n// READ\r\nexport function getAllSchThesises() {\r\n return axios.get(SCH_THESISES_URL);\r\n}\r\n\r\nexport function getSchThesisById(schThesisId) {\r\n return axios.get(`${SCH_THESISES_URL}/${schThesisId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findSchThesises(queryParams) {\r\n return axios.post(`${SCH_THESISES_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the procuct on the server\r\nexport function updateSchThesis(schThesis) {\r\n return axios.put(`${SCH_THESISES_URL}/${schThesis.schThesisId}`, schThesis);\r\n}\r\n\r\n// // UPDATE Status\r\n// export function updateStatusForSchThesises(ids, status) {\r\n// return axios.post(`${SCH_THESISES_URL}/updateStatusForSchThesises`, {\r\n// ids,\r\n// status\r\n// });\r\n// }\r\n\r\n// DELETE => delete the schThesis from the server\r\nexport function deleteSchThesis(schThesisId) {\r\n return axios.delete(`${SCH_THESISES_URL}/${schThesisId}`);\r\n}\r\n\r\n// DELETE SchThesises by ids\r\nexport function deleteSchThesises(ids) {\r\n return axios.post(`${SCH_THESISES_URL}/deleteSchThesises`, { ids });\r\n}\r\n","import * as requestFromServer from \"./schThesisesCrud\";\r\nimport { schThesisesSlice, callTypes } from \"./schThesisesSlice\";\r\n\r\nconst { actions } = schThesisesSlice;\r\n\r\nexport const fetchSchThesises = (queryParams) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findSchThesises(queryParams)\r\n .then((response) => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.schThesisesFetched({ totalCount, entities }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find schThesises\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchSchThesis = (id) => (dispatch) => {\r\n if (!id) {\r\n return dispatch(actions.schThesisFetched({ schThesisForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getSchThesisById(id)\r\n .then((response) => {\r\n const schThesis = response.data;\r\n dispatch(actions.schThesisFetched({ schThesisForEdit: schThesis }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find schThesis\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteSchThesis = (id) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteSchThesis(id)\r\n .then((response) => {\r\n dispatch(actions.schThesisDeleted({ id }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete schThesis\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createSchThesis = (schThesisForCreation) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n schThesisForCreation.isActive = true;\r\n return requestFromServer\r\n .createSchThesis(schThesisForCreation)\r\n .then((response) => {\r\n const { schThesis } = response.data;\r\n schThesis.id = schThesis.schThesisId;\r\n dispatch(actions.schThesisCreated({ schThesis }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't create schThesis\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateSchThesis = (schThesis) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateSchThesis(schThesis)\r\n .then(() => {\r\n dispatch(actions.schThesisUpdated({ schThesis }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't update schThesis\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteSchThesises = (ids) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteSchThesises(ids)\r\n .then(() => {\r\n dispatch(actions.schThesisesDeleted({ ids }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete schThesises\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Formik, Form, Field } from \"formik\";\r\n//import axios from \"axios\";\r\nimport * as Yup from \"yup\";\r\nimport { Input } from \"../../../../../../_metronic/_partials/controls\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport {\r\n FormControl,\r\n FormControlLabel,\r\n FormLabel,\r\n RadioGroup,\r\n Radio,\r\n} from \"@material-ui/core\";\r\n\r\n// Validation schema\r\nconst SchThesisEditSchema = Yup.object().shape({\r\n plagiarismPercentage: Yup.string().required(\"Percentage is required\"),\r\n});\r\n\r\n//const PageUrl = `${process.env.REACT_APP_API_URL}/api/scholar`;\r\n\r\nexport function SchThesisEditForm({ schThesis, btnRef, saveSchThesis }) {\r\n // const [menuForDropdown, setMenuForDropdown] = useState([]);\r\n\r\n // useEffect(() => {\r\n // const getInnerPagesWithAxios = async () => {\r\n // const response = await axios.get(PageUrl);\r\n // setMenuForDropdown(response.data);\r\n // };\r\n // getInnerPagesWithAxios();\r\n // }, [setMenuForDropdown]);\r\n\r\n return (\r\n <>\r\n {\r\n try {\r\n values.scholarId = parseInt(values.scholarId);\r\n values.notifcationNumber = parseInt(values.notifcationNumber);\r\n values.referenceNumber = parseInt(values.referenceNumber);\r\n } catch {}\r\n saveSchThesis(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values }) => (\r\n <>\r\n
\r\n
\r\n Scholar Id: {schThesis.scholarId}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setFieldValue(\"plagiarismCheckedDate\", e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n \r\n \r\n Pre Thesis Presentation:{\" \"}\r\n \r\n {\r\n setFieldValue(\r\n \"preThesisPresentation\",\r\n JSON.parse(e.target.value)\r\n );\r\n }}\r\n >\r\n \r\n }\r\n label=\"Yes\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n }\r\n label=\"No\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n \r\n
\r\n\r\n
\r\n {\r\n setFieldValue(\"preThesisDate\", e.target.value);\r\n }}\r\n />\r\n
\r\n\r\n
\r\n \r\n Is Submitted: \r\n {\r\n setFieldValue(\"isSubmitted\", JSON.parse(e.target.value));\r\n }}\r\n >\r\n \r\n }\r\n label=\"Yes\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n }\r\n label=\"No\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n \r\n
\r\n\r\n
\r\n {\r\n setFieldValue(\"dateOfthesisSubmission\", e.target.value);\r\n }}\r\n />\r\n
\r\n\r\n
\r\n \r\n Soft Copy: \r\n {\r\n setFieldValue(\"softCopy\", JSON.parse(e.target.value));\r\n }}\r\n >\r\n \r\n }\r\n label=\"Yes\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n }\r\n label=\"No\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n \r\n
\r\n\r\n
\r\n {\r\n setFieldValue(\"softCopySubmissionDate\", e.target.value);\r\n }}\r\n />\r\n
\r\n\r\n
\r\n \r\n Hard Copy: \r\n {\r\n setFieldValue(\"hardCopy\", JSON.parse(e.target.value));\r\n }}\r\n >\r\n \r\n }\r\n label=\"Yes\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n }\r\n label=\"No\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n \r\n
\r\n\r\n
\r\n {\r\n setFieldValue(\"hardCopySubmissionDate\", e.target.value);\r\n }}\r\n />\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n {\r\n setFieldValue(\"vivaVoceDate\", e.target.value);\r\n }}\r\n />\r\n
\r\n\r\n
\r\n \r\n Shodh Ganga: \r\n {\r\n setFieldValue(\"shodhGanga\", JSON.parse(e.target.value));\r\n }}\r\n >\r\n \r\n }\r\n label=\"Yes\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n }\r\n label=\"No\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n \r\n
\r\n\r\n
\r\n {\r\n setFieldValue(\"dateUploaded\", e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setFieldValue(\"provisinalDegreeIssuedDate\", e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setFieldValue(\"degreeIssuedDate\", e.target.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 \r\n Migration Certificate:{\" \"}\r\n \r\n {\r\n setFieldValue(\r\n \"migrationCertificate\",\r\n JSON.parse(e.target.value)\r\n );\r\n }}\r\n >\r\n \r\n }\r\n label=\"Yes\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n }\r\n label=\"No\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n \r\n
\r\n\r\n
\r\n {\r\n setFieldValue(\"migrationCertificateDate\", e.target.value);\r\n }}\r\n />\r\n
\r\n\r\n
\r\n {\r\n setFieldValue(\"preThesisPresentationDate\", e.target.value);\r\n }}\r\n />\r\n
\r\n \r\n\r\n handleSubmit()}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,jsx-a11y/role-supports-aria-props */\r\nimport React, { useEffect, useState, useRef, useLayoutEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/schThesises/schThesisesActions\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { SchThesisEditForm } from \"./SchThesisEditForm\";\r\nimport { useSubheader } from \"../../../../../../_metronic/layout\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { KTUtil } from \"../../../../../../_metronic/_assets/js/components/util\";\r\nimport KTLayoutQuickForm from \"../../../../Admin/utils/quick-form\";\r\nimport { Profile } from \"../../profile/Profile\";\r\nimport axios from \"axios\";\r\n\r\nconst initSchThesis = {\r\n id: undefined,\r\n\r\n plagiarismPercentage: \"\",\r\n plagiarismCheckedDate: \"2020-10-17T04:28:21.707Z\",\r\n preThesisPresentation: true,\r\n preThesisDate: \"2020-10-17T04:28:21.707Z\",\r\n isSubmitted: true,\r\n dateOfthesisSubmission: \"2020-10-17T04:28:21.707Z\",\r\n softCopy: true,\r\n softCopySubmissionDate: \"2020-10-17T04:28:21.707Z\",\r\n hardCopy: true,\r\n hardCopySubmissionDate: \"2020-10-17T04:28:21.707Z\",\r\n nameOfthePannel: \"\",\r\n vivaVoceDate: \"2020-10-17T04:28:21.707Z\",\r\n shodhGanga: true,\r\n dateUploaded: \"2020-10-17T04:28:21.707Z\",\r\n provisinalDegreeIssuedDate: \"2020-10-17T04:28:21.707Z\",\r\n degreeIssuedDate: \"2020-10-17T04:28:21.707Z\",\r\n notifcationNumber: 0,\r\n referenceNumber: 0,\r\n migrationCertificate: true,\r\n migrationCertificateDate: \"2020-10-17T04:28:21.707Z\",\r\n preThesisPresentationDate: \"2020-10-17T04:28:21.707Z\",\r\n};\r\nexport function SchThesisEdit({\r\n history,\r\n match: {\r\n params: { id, sid },\r\n },\r\n}) {\r\n useLayoutEffect(() => {\r\n KTUtil.ready(function() {\r\n KTLayoutQuickForm.init(\"kt_quick_form\");\r\n });\r\n }, []);\r\n // Subheader\r\n const subheader = useSubheader();\r\n\r\n // Tabs\r\n // const [tab, setTab] = useState(\"basic\");\r\n const [title, setTitle] = useState(\"\");\r\n const dispatch = useDispatch();\r\n // const layoutDispatch = useContext(LayoutContext.Dispatch);\r\n const { actionsLoading, schThesisForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.schThesises.actionsLoading,\r\n schThesisForEdit: state.schThesises.schThesisForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n dispatch(actions.fetchSchThesis(id));\r\n }, [id, dispatch]);\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Scholar Thesis\";\r\n if (schThesisForEdit && id) {\r\n _title = `Edit Scholar Thesis`;\r\n }\r\n\r\n setTitle(_title);\r\n subheader.setTitle(_title);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [schThesisForEdit, id]);\r\n\r\n const saveSchThesis = (values) => {\r\n if (!id) {\r\n dispatch(actions.createSchThesis(values)).then(() =>\r\n backToSchThesisesList()\r\n );\r\n } else {\r\n dispatch(actions.updateSchThesis(values)).then(() =>\r\n backToSchThesisesList()\r\n );\r\n }\r\n };\r\n\r\n const btnRef = useRef();\r\n const saveSchThesisClick = () => {\r\n if (btnRef && btnRef.current) {\r\n btnRef.current.click();\r\n }\r\n };\r\n const id1 = id===undefined?'':id\r\n const ScholarUrl = `${process.env.REACT_APP_API_URL}/api/schThesis/${id1}`;\r\n\r\n const [profile, setProfile] = useState([]);\r\n useEffect(() => {\r\n const getScholar = async () => {\r\n const response = await axios.get(`${ScholarUrl}`);\r\n setProfile(response.data);\r\n };\r\n getScholar();\r\n }, [setProfile, ScholarUrl]);\r\n const ScholarId = sid ? sid : profile.scholarId;\r\n\r\n initSchThesis.scholarId = ScholarId;\r\n\r\n console.log(ScholarId);\r\n const backToSchThesisesList = () => {\r\n history.push(`/scholar/profile`);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n {actionsLoading && }\r\n \r\n \r\n \r\n \r\n Close\r\n \r\n {/* */}\r\n \r\n Save\r\n \r\n \r\n \r\n \r\n {!actionsLoading && (\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const SCH_EDUCATIONS_URL = `${process.env.REACT_APP_API_URL}/api/SchEducation`;\r\n\r\n// CREATE => POST: add a new schEducation to the server\r\nexport function createSchEducation(schEducation) {\r\n return axios.post(SCH_EDUCATIONS_URL, schEducation);\r\n}\r\n\r\n// READ\r\nexport function getAllSchEducations() {\r\n return axios.get(SCH_EDUCATIONS_URL);\r\n}\r\n\r\nexport function getSchEducationById(schEducationId) {\r\n return axios.get(`${SCH_EDUCATIONS_URL}/${schEducationId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findSchEducations(queryParams) {\r\n return axios.post(`${SCH_EDUCATIONS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the procuct on the server\r\nexport function updateSchEducation(schEducation) {\r\n return axios.put(`${SCH_EDUCATIONS_URL}/${schEducation.schEducationId}`, schEducation);\r\n}\r\n\r\n// // UPDATE Status\r\n// export function updateStatusForSchEducations(ids, status) {\r\n// return axios.post(`${SCH_EDUCATIONS_URL}/updateStatusForSchEducations`, {\r\n// ids,\r\n// status\r\n// });\r\n// }\r\n\r\n// DELETE => delete the schEducation from the server\r\nexport function deleteSchEducation(schEducationId) {\r\n return axios.delete(`${SCH_EDUCATIONS_URL}/${schEducationId}`);\r\n}\r\n\r\n// DELETE SchEducations by ids\r\nexport function deleteSchEducations(ids) {\r\n return axios.post(`${SCH_EDUCATIONS_URL}/deleteSchEducations`, { ids });\r\n}\r\n","import * as requestFromServer from \"./schEducationsCrud\";\r\nimport { schEducationsSlice, callTypes } from \"./schEducationsSlice\";\r\n\r\nconst { actions } = schEducationsSlice;\r\n\r\nexport const fetchSchEducations = (queryParams) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findSchEducations(queryParams)\r\n .then((response) => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.schEducationsFetched({ totalCount, entities }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find schEducations\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchSchEducation = (id) => (dispatch) => {\r\n if (!id) {\r\n return dispatch(actions.schEducationFetched({ schEducationForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getSchEducationById(id)\r\n .then((response) => {\r\n const schEducation = response.data;\r\n dispatch(actions.schEducationFetched({ schEducationForEdit: schEducation }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find schEducation\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteSchEducation = (id) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteSchEducation(id)\r\n .then((response) => {\r\n dispatch(actions.schEducationDeleted({ id }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete schEducation\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createSchEducation = (schEducationForCreation) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n schEducationForCreation.isActive = true;\r\n return requestFromServer\r\n .createSchEducation(schEducationForCreation)\r\n .then((response) => {\r\n const { schEducation } = response.data;\r\n schEducation.id = schEducation.schEducationId;\r\n dispatch(actions.schEducationCreated({ schEducation }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't create schEducation\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateSchEducation = (schEducation) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateSchEducation(schEducation)\r\n .then(() => {\r\n dispatch(actions.schEducationUpdated({ schEducation }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't update schEducation\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteSchEducations = (ids) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteSchEducations(ids)\r\n .then(() => {\r\n dispatch(actions.schEducationsDeleted({ ids }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete schEducations\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Formik, Form, Field } from \"formik\";\r\n//import axios from \"axios\";\r\nimport * as Yup from \"yup\";\r\n//import TextField from \"@material-ui/core/TextField\";\r\nimport \"date-fns\";\r\n//import DateFnsAdapter from \"@date-io/date-fns\";\r\nimport { Input } from \"../../../../../../_metronic/_partials/controls\";\r\n// import {\r\n// FormControl,\r\n// FormControlLabel,\r\n// FormLabel,\r\n// RadioGroup,\r\n// Radio,\r\n// } from \"@material-ui/core\";\r\n\r\n// Validation schema\r\nconst SchEducationEditSchema = Yup.object().shape({\r\n examName: Yup.string().required(\"Title is required\"),\r\n});\r\n\r\n//const PageUrl = `${process.env.REACT_APP_API_URL}/api/Scholar`;\r\n\r\nexport function SchEducationEditForm({\r\n schEducation,\r\n btnRef,\r\n saveSchEducation,\r\n}) {\r\n // const [menuForDropdown, setMenuForDropdown] = useState([]);\r\n\r\n // useEffect(() => {\r\n // const getInnerPagesWithAxios = async () => {\r\n // const response = await axios.get(PageUrl);\r\n // setMenuForDropdown(response.data);\r\n // };\r\n // getInnerPagesWithAxios();\r\n // }, [setMenuForDropdown]);\r\n\r\n return (\r\n <>\r\n {\r\n try {\r\n values.scholarId = parseInt(values.scholarId);\r\n } catch {}\r\n saveSchEducation(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values }) => (\r\n <>\r\n
\r\n
\r\n Scholar Id: {schEducation.scholarId}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n handleSubmit()}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,jsx-a11y/role-supports-aria-props */\r\nimport React, { useEffect, useState, useRef, useLayoutEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/schEducations/schEducationsActions\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { SchEducationEditForm } from \"./SchEducationEditForm\";\r\nimport { useSubheader } from \"../../../../../../_metronic/layout\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { KTUtil } from \"../../../../../../_metronic/_assets/js/components/util\";\r\nimport KTLayoutQuickForm from \"../../../../Admin/utils/quick-form\";\r\nimport { Profile } from \"../../profile/Profile\";\r\nimport axios from \"axios\";\r\n\r\nconst initSchEducation = {\r\n id: undefined,\r\n scholarId: 0,\r\n degreeType: \"\",\r\n rollNo: \"\",\r\n examName: \"\",\r\n passingYear: \"\",\r\n subjectStudied: \"\",\r\n percentage: \"\",\r\n university: \"\",\r\n};\r\nexport function SchEducationEdit({\r\n history,\r\n match: {\r\n params: { id,sid },\r\n },\r\n}) {\r\n useLayoutEffect(() => {\r\n KTUtil.ready(function() {\r\n KTLayoutQuickForm.init(\"kt_quick_form\");\r\n });\r\n }, []);\r\n // Subheader\r\n const subheader = useSubheader();\r\n\r\n // Tabs\r\n // const [tab, setTab] = useState(\"basic\");\r\n const [title, setTitle] = useState(\"\");\r\n const dispatch = useDispatch();\r\n // const layoutDispatch = useContext(LayoutContext.Dispatch);\r\n const { actionsLoading, schEducationForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.schEducations.actionsLoading,\r\n schEducationForEdit: state.schEducations.schEducationForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n dispatch(actions.fetchSchEducation(id));\r\n }, [id, dispatch]);\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Scholar Education\";\r\n if (schEducationForEdit && id) {\r\n _title = `Edit Scholar Education `;\r\n }\r\n\r\n setTitle(_title);\r\n subheader.setTitle(_title);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [schEducationForEdit, id]);\r\n\r\n const saveSchEducation = (values) => {\r\n if (!id) {\r\n dispatch(actions.createSchEducation(values)).then(() =>\r\n backToSchEducationsList()\r\n );\r\n } else {\r\n dispatch(actions.updateSchEducation(values)).then(() =>\r\n backToSchEducationsList()\r\n );\r\n }\r\n };\r\n\r\n const btnRef = useRef();\r\n const saveSchEducationClick = () => {\r\n if (btnRef && btnRef.current) {\r\n btnRef.current.click();\r\n }\r\n };\r\n\r\n const id1 = id===undefined?'':id\r\n const ScholarUrl = `${process.env.REACT_APP_API_URL}/api/schEducation/${id1}`;\r\n\r\n const [profile, setProfile] = useState([]);\r\n useEffect(() => {\r\n const getScholar = async () => {\r\n const response = await axios.get(`${ScholarUrl}`);\r\n setProfile(response.data);\r\n };\r\n getScholar();\r\n }, [setProfile, ScholarUrl]);\r\n const ScholarId = sid?sid:profile.scholarId;\r\n \r\n \r\n \r\n initSchEducation.scholarId=ScholarId;\r\n\r\n\r\n\r\n const backToSchEducationsList = () => {\r\n history.push(`/scholar/profile`);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n {actionsLoading && }\r\n \r\n \r\n \r\n \r\n Close\r\n \r\n {/* */}\r\n \r\n Save\r\n \r\n \r\n \r\n \r\n {!actionsLoading && (\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const SCH_JOB_INFOS_URL = `${process.env.REACT_APP_API_URL}/api/SchJobInfo`;\r\n\r\n// CREATE => POST: add a new schJobInfo to the server\r\nexport function createSchJobInfo(schJobInfo) {\r\n return axios.post(SCH_JOB_INFOS_URL, schJobInfo);\r\n}\r\n\r\n// READ\r\nexport function getAllSchJobInfos() {\r\n return axios.get(SCH_JOB_INFOS_URL);\r\n}\r\n\r\nexport function getSchJobInfoById(schJobInfoId) {\r\n return axios.get(`${SCH_JOB_INFOS_URL}/${schJobInfoId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findSchJobInfos(queryParams) {\r\n return axios.post(`${SCH_JOB_INFOS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the procuct on the server\r\nexport function updateSchJobInfo(schJobInfo) {\r\n return axios.put(`${SCH_JOB_INFOS_URL}/${schJobInfo.schJobInfoId}`, schJobInfo);\r\n}\r\n\r\n// // UPDATE Status\r\n// export function updateStatusForSchJobInfos(ids, status) {\r\n// return axios.post(`${SCH_JOB_INFOS_URL}/updateStatusForSchJobInfos`, {\r\n// ids,\r\n// status\r\n// });\r\n// }\r\n\r\n// DELETE => delete the schJobInfo from the server\r\nexport function deleteSchJobInfo(schJobInfoId) {\r\n return axios.delete(`${SCH_JOB_INFOS_URL}/${schJobInfoId}`);\r\n}\r\n\r\n// DELETE SchJobInfos by ids\r\nexport function deleteSchJobInfos(ids) {\r\n return axios.post(`${SCH_JOB_INFOS_URL}/deleteSchJobInfos`, { ids });\r\n}\r\n","import * as requestFromServer from \"./schJobInfosCrud\";\r\nimport { schJobInfosSlice, callTypes } from \"./schJobInfosSlice\";\r\n\r\nconst { actions } = schJobInfosSlice;\r\n\r\nexport const fetchSchJobInfos = (queryParams) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findSchJobInfos(queryParams)\r\n .then((response) => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.schJobInfosFetched({ totalCount, entities }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find schJobInfos\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchSchJobInfo = (id) => (dispatch) => {\r\n if (!id) {\r\n return dispatch(actions.schJobInfoFetched({ schJobInfoForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getSchJobInfoById(id)\r\n .then((response) => {\r\n const schJobInfo = response.data;\r\n dispatch(actions.schJobInfoFetched({ schJobInfoForEdit: schJobInfo }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find schJobInfo\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteSchJobInfo = (id) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteSchJobInfo(id)\r\n .then((response) => {\r\n dispatch(actions.schJobInfoDeleted({ id }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete schJobInfo\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createSchJobInfo = (schJobInfoForCreation) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n schJobInfoForCreation.isActive = true;\r\n return requestFromServer\r\n .createSchJobInfo(schJobInfoForCreation)\r\n .then((response) => {\r\n const { schJobInfo } = response.data;\r\n schJobInfo.id = schJobInfo.schJobInfoId;\r\n dispatch(actions.schJobInfoCreated({ schJobInfo }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't create schJobInfo\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateSchJobInfo = (schJobInfo) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateSchJobInfo(schJobInfo)\r\n .then(() => {\r\n dispatch(actions.schJobInfoUpdated({ schJobInfo }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't update schJobInfo\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteSchJobInfos = (ids) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteSchJobInfos(ids)\r\n .then(() => {\r\n dispatch(actions.schJobInfosDeleted({ ids }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete schJobInfos\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Formik, Form, Field } from \"formik\";\r\n//import axios from \"axios\";\r\nimport * as Yup from \"yup\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport { Input} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\n// Validation schema\r\nconst SchJobInfoEditSchema = Yup.object().shape({\r\n jobTitle: Yup.string().required(\"Title is required\"),\r\n});\r\n\r\n//const PageUrl = `${process.env.REACT_APP_API_URL}/api/scholar`;\r\n\r\nexport function SchJobInfoEditForm({ schJobInfo, btnRef, saveSchJobInfo }) {\r\n // const [menuForDropdown, setMenuForDropdown] = useState([]);\r\n\r\n // useEffect(() => {\r\n // const getInnerPagesWithAxios = async () => {\r\n // const response = await axios.get(PageUrl);\r\n // setMenuForDropdown(response.data);\r\n // };\r\n // getInnerPagesWithAxios();\r\n // }, [setMenuForDropdown]);\r\n return (\r\n <>\r\n {\r\n try {\r\n values.scholarId = parseInt(values.scholarId);\r\n }catch {}\r\n saveSchJobInfo(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values }) => (\r\n <>\r\n
\r\n
\r\n Scholar Id: {schJobInfo.scholarId}\r\n {/* \r\n \r\n {menuForDropdown\r\n .filter((menu) => menu.isActive)\r\n .map((menu, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n /> */}\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n {\r\n setFieldValue(\"startDate\", e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setFieldValue(\"endDate\", e.target.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 handleSubmit()}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,jsx-a11y/role-supports-aria-props */\r\nimport React, { useEffect, useState, useRef, useLayoutEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/schJobInfos/schJobInfosActions\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { SchJobInfoEditForm } from \"./SchJobInfoEditForm\";\r\nimport { Profile } from \"../../profile/Profile\";\r\nimport { useSubheader } from \"../../../../../../_metronic/layout\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { KTUtil } from \"../../../../../../_metronic/_assets/js/components/util\";\r\nimport KTLayoutQuickForm from \"../../../../Admin/utils/quick-form\";\r\nimport axios from \"axios\";\r\n\r\nconst initSchJobInfo = {\r\n id: undefined,\r\n scholarId: 0,\r\n companyName: \"\",\r\n jobTitle: \"\",\r\n jobType: \"\",\r\n startDate: \"2020-10-17T07:37:21.178Z\",\r\n endDate: \"2020-10-17T07:37:21.178Z\",\r\n expInYear: \"\",\r\n annexure: \"\",\r\n};\r\nexport function SchJobInfoEdit({\r\n history,\r\n match: {\r\n params: { id,sid },\r\n },\r\n}) {\r\n useLayoutEffect(() => {\r\n KTUtil.ready(function() {\r\n KTLayoutQuickForm.init(\"kt_quick_form\");\r\n });\r\n }, []);\r\n // Subheader\r\n const subheader = useSubheader();\r\n\r\n // Tabs\r\n // const [tab, setTab] = useState(\"basic\");\r\n const [title, setTitle] = useState(\"\");\r\n const dispatch = useDispatch();\r\n // const layoutDispatch = useContext(LayoutContext.Dispatch);\r\n const { actionsLoading, schJobInfoForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.schJobInfos.actionsLoading,\r\n schJobInfoForEdit: state.schJobInfos.schJobInfoForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n dispatch(actions.fetchSchJobInfo(id));\r\n }, [id, dispatch]);\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Scholar JobInfo\";\r\n if (schJobInfoForEdit && id) {\r\n _title = `Edit Scholar JobInfo'`;\r\n }\r\n\r\n setTitle(_title);\r\n subheader.setTitle(_title);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [schJobInfoForEdit, id]);\r\n\r\n const saveSchJobInfo = (values) => {\r\n if (!id) {\r\n dispatch(actions.createSchJobInfo(values)).then(() =>\r\n backToSchJobInfosList()\r\n );\r\n } else {\r\n dispatch(actions.updateSchJobInfo(values)).then(() =>\r\n backToSchJobInfosList()\r\n );\r\n }\r\n };\r\n\r\n const btnRef = useRef();\r\n const saveSchJobInfoClick = () => {\r\n if (btnRef && btnRef.current) {\r\n btnRef.current.click();\r\n }\r\n };\r\n\r\n\r\n const id1 = id===undefined?'':id\r\n const ScholarUrl = `${process.env.REACT_APP_API_URL}/api/schJobInfo/${id1}`;\r\n\r\n const [profile, setProfile] = useState([]);\r\n useEffect(() => {\r\n const getScholar = async () => {\r\n const response = await axios.get(`${ScholarUrl}`);\r\n setProfile(response.data);\r\n };\r\n getScholar();\r\n }, [setProfile, ScholarUrl]);\r\n const ScholarId = sid?sid:profile.scholarId;\r\n \r\n \r\n \r\n initSchJobInfo.scholarId=ScholarId;\r\n\r\n\r\n\r\n const backToSchJobInfosList = () => {\r\n history.push(`/scholar/profile`);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n {actionsLoading && }\r\n \r\n \r\n \r\n \r\n Close\r\n \r\n {/* */}\r\n \r\n Save\r\n \r\n \r\n \r\n \r\n {!actionsLoading && (\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const SCH_JOB_INFOS_URL = `${process.env.REACT_APP_API_URL}/api/SchPayReceipt`;\r\n\r\n// CREATE => POST: add a new schPayReceipt to the server\r\nexport function createSchPayReceipt(schPayReceipt) {\r\n return axios.post(SCH_JOB_INFOS_URL, schPayReceipt);\r\n}\r\n\r\n// READ\r\nexport function getAllSchPayReceipts() {\r\n return axios.get(SCH_JOB_INFOS_URL);\r\n}\r\n\r\nexport function getSchPayReceiptById(schPayReceiptId) {\r\n return axios.get(`${SCH_JOB_INFOS_URL}/${schPayReceiptId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findSchPayReceipts(queryParams) {\r\n return axios.post(`${SCH_JOB_INFOS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the procuct on the server\r\nexport function updateSchPayReceipt(schPayReceipt) {\r\n return axios.put(`${SCH_JOB_INFOS_URL}/${schPayReceipt.schPayReceiptId}`, schPayReceipt);\r\n}\r\n\r\n// // UPDATE Status\r\n// export function updateStatusForSchPayReceipts(ids, status) {\r\n// return axios.post(`${SCH_JOB_INFOS_URL}/updateStatusForSchPayReceipts`, {\r\n// ids,\r\n// status\r\n// });\r\n// }\r\n\r\n// DELETE => delete the schPayReceipt from the server\r\nexport function deleteSchPayReceipt(schPayReceiptId) {\r\n return axios.delete(`${SCH_JOB_INFOS_URL}/${schPayReceiptId}`);\r\n}\r\n\r\n// DELETE SchPayReceipts by ids\r\nexport function deleteSchPayReceipts(ids) {\r\n return axios.post(`${SCH_JOB_INFOS_URL}/deleteSchPayReceipts`, { ids });\r\n}\r\n","import * as requestFromServer from \"./schPayReceiptsCrud\";\r\nimport { schPayReceiptsSlice, callTypes } from \"./schPayReceiptsSlice\";\r\n\r\nconst { actions } = schPayReceiptsSlice;\r\n\r\nexport const fetchSchPayReceipts = (queryParams) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findSchPayReceipts(queryParams)\r\n .then((response) => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.schPayReceiptsFetched({ totalCount, entities }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find schPayReceipts\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchSchPayReceipt = (id) => (dispatch) => {\r\n if (!id) {\r\n return dispatch(actions.schPayReceiptFetched({ schPayReceiptForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getSchPayReceiptById(id)\r\n .then((response) => {\r\n const schPayReceipt = response.data;\r\n dispatch(actions.schPayReceiptFetched({ schPayReceiptForEdit: schPayReceipt }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find schPayReceipt\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteSchPayReceipt = (id) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteSchPayReceipt(id)\r\n .then((response) => {\r\n dispatch(actions.schPayReceiptDeleted({ id }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete schPayReceipt\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createSchPayReceipt = (schPayReceiptForCreation) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n schPayReceiptForCreation.isActive = true;\r\n return requestFromServer\r\n .createSchPayReceipt(schPayReceiptForCreation)\r\n .then((response) => {\r\n const { schPayReceipt } = response.data;\r\n schPayReceipt.id = schPayReceipt.schPayReceiptId;\r\n dispatch(actions.schPayReceiptCreated({ schPayReceipt }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't create schPayReceipt\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateSchPayReceipt = (schPayReceipt) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateSchPayReceipt(schPayReceipt)\r\n .then(() => {\r\n dispatch(actions.schPayReceiptUpdated({ schPayReceipt }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't update schPayReceipt\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteSchPayReceipts = (ids) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteSchPayReceipts(ids)\r\n .then(() => {\r\n dispatch(actions.schPayReceiptsDeleted({ ids }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete schPayReceipts\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\n//import axios from \"axios\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n Input,\r\n \r\n} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\n\r\n// Validation schema\r\nconst SchPayReceiptEditSchema = Yup.object().shape({\r\n receiptNo: Yup.string().required(\"No. is required\"),\r\n});\r\n\r\n//const PageUrl = `${process.env.REACT_APP_API_URL}/api/scholar`;\r\n\r\nexport function SchPayReceiptEditForm({ schPayReceipt, btnRef, saveSchPayReceipt }) {\r\n //const [menuForDropdown, setMenuForDropdown] = useState([]);\r\n\r\n // useEffect(() => {\r\n // const getInnerPagesWithAxios = async () => {\r\n // const response = await axios.get(PageUrl);\r\n // setMenuForDropdown(response.data);\r\n // };\r\n // getInnerPagesWithAxios();\r\n // }, [setMenuForDropdown]);\r\n\r\n const getFieldCSSClasses = (touched, errors) => {\r\n const classes = [\"form-control\"];\r\n if (touched && errors) {\r\n classes.push(\"is-invalid\");\r\n }\r\n\r\n if (touched && !errors) {\r\n classes.push(\"is-valid\");\r\n }\r\n\r\n return classes.join(\" \");\r\n };\r\n\r\n const toBase64 = (uploadImage) =>\r\n new Promise((resolve, reject) => {\r\n if (uploadImage && uploadImage !== \"\" && uploadImage !== \" \") {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(uploadImage);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = (error) => reject(error);\r\n } else {\r\n resolve(\"\");\r\n }\r\n });\r\n return (\r\n <>\r\n {\r\n try {\r\n values.scholarId = parseInt(values.scholarId);\r\n values.amount = parseInt(values.amount);\r\n values.verifiedBy = parseInt(values.verifiedBy);\r\n }catch {}\r\n saveSchPayReceipt(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values, touched, errors }) => (\r\n <>\r\n
\r\n \r\n
\r\n Scholar Id: {schPayReceipt.scholarId}\r\n {/* \r\n \r\n {menuForDropdown\r\n .filter((menu) => menu.isActive)\r\n .map((menu, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n /> */}\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n {\r\n setFieldValue(\"payDate\", e.target.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
\r\n\r\n
\r\n \r\n
\r\n\r\n {/*
\r\n \r\n {\r\n setFieldValue(\r\n \"downlodReceipt\",\r\n await toBase64(e.target.files[0])\r\n );\r\n }}\r\n accept=\"file\"\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 setFieldValue(\r\n \"uploadDoc\",\r\n await toBase64(e.target.files[0])\r\n );\r\n }}\r\n accept=\"file\"\r\n />\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n handleSubmit()}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,jsx-a11y/role-supports-aria-props */\r\nimport React, { useEffect, useState, useRef, useLayoutEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/schPayReceipts/schPayReceiptsActions\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { SchPayReceiptEditForm } from \"./SchPayReceiptEditForm\";\r\nimport { useSubheader } from \"../../../../../../_metronic/layout\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { KTUtil } from \"../../../../../../_metronic/_assets/js/components/util\";\r\nimport KTLayoutQuickForm from \"../../../../Admin/utils/quick-form\";\r\nimport { Profile } from \"../../profile/Profile\";\r\nimport axios from \"axios\";\r\n\r\nconst initSchPayReceipt = {\r\n id: undefined,\r\n scholarId: 0,\r\n receiptNo: \"\",\r\n payDate: \"2020-10-17T04:25:08.627Z\",\r\n feeType: \"\",\r\n amount: 0,\r\n transactionNo: \"\",\r\n downlodReceipt: \"\",\r\n verifiedBy: 0,\r\n remark: \"\",\r\n uploadDoc: \"\",\r\n status: \"\",\r\n};\r\nexport function SchPayReceiptEdit({\r\n history,\r\n match: {\r\n params: { id,sid },\r\n },\r\n}) {\r\n useLayoutEffect(() => {\r\n KTUtil.ready(function() {\r\n KTLayoutQuickForm.init(\"kt_quick_form\");\r\n });\r\n }, []);\r\n // Subheader\r\n const subheader = useSubheader();\r\n\r\n // Tabs\r\n // const [tab, setTab] = useState(\"basic\");\r\n const [title, setTitle] = useState(\"\");\r\n const dispatch = useDispatch();\r\n // const layoutDispatch = useContext(LayoutContext.Dispatch);\r\n const { actionsLoading, schPayReceiptForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.schPayReceipts.actionsLoading,\r\n schPayReceiptForEdit: state.schPayReceipts.schPayReceiptForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n dispatch(actions.fetchSchPayReceipt(id));\r\n }, [id, dispatch]);\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Scholar PayReceipt\";\r\n if (schPayReceiptForEdit && id) {\r\n _title = `Edit Scholar PayReceipt`;\r\n }\r\n\r\n setTitle(_title);\r\n subheader.setTitle(_title);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [schPayReceiptForEdit, id]);\r\n\r\n const saveSchPayReceipt = (values) => {\r\n if (!id) {\r\n dispatch(actions.createSchPayReceipt(values)).then(() =>\r\n backToSchPayReceiptsList()\r\n );\r\n } else {\r\n dispatch(actions.updateSchPayReceipt(values)).then(() =>\r\n backToSchPayReceiptsList()\r\n );\r\n }\r\n };\r\n\r\n const btnRef = useRef();\r\n const saveSchPayReceiptClick = () => {\r\n if (btnRef && btnRef.current) {\r\n btnRef.current.click();\r\n }\r\n };\r\n\r\n const id1 = id===undefined?'':id\r\n const ScholarUrl = `${process.env.REACT_APP_API_URL}/api/schPayReceipt/${id1}`;\r\n\r\n const [profile, setProfile] = useState([]);\r\n useEffect(() => {\r\n const getScholar = async () => {\r\n const response = await axios.get(`${ScholarUrl}`);\r\n setProfile(response.data);\r\n };\r\n getScholar();\r\n }, [setProfile, ScholarUrl]);\r\n const ScholarId = sid?sid:profile.scholarId;\r\n \r\n \r\n \r\n initSchPayReceipt.scholarId=ScholarId;\r\n\r\n const backToSchPayReceiptsList = () => {\r\n history.push(`/scholar/profile`);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n {actionsLoading && }\r\n \r\n \r\n \r\n \r\n Close\r\n \r\n {/* */}\r\n \r\n Save\r\n \r\n \r\n \r\n \r\n {!actionsLoading && (\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const SCH_PUBLICATIONS_URL = `${process.env.REACT_APP_API_URL}/api/SchPublication`;\r\n\r\n// CREATE => POST: add a new schPublication to the server\r\nexport function createSchPublication(schPublication) {\r\n return axios.post(SCH_PUBLICATIONS_URL, schPublication);\r\n}\r\n\r\n// READ\r\nexport function getAllSchPublications() {\r\n return axios.get(SCH_PUBLICATIONS_URL);\r\n}\r\n\r\nexport function getSchPublicationById(schPublicationId) {\r\n return axios.get(`${SCH_PUBLICATIONS_URL}/${schPublicationId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findSchPublications(queryParams) {\r\n return axios.post(`${SCH_PUBLICATIONS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the procuct on the server\r\nexport function updateSchPublication(schPublication) {\r\n return axios.put(`${SCH_PUBLICATIONS_URL}/${schPublication.schPublicationId}`, schPublication);\r\n}\r\n\r\n// // UPDATE Status\r\n// export function updateStatusForSchPublications(ids, status) {\r\n// return axios.post(`${SCH_PUBLICATIONS_URL}/updateStatusForSchPublications`, {\r\n// ids,\r\n// status\r\n// });\r\n// }\r\n\r\n// DELETE => delete the schPublication from the server\r\nexport function deleteSchPublication(schPublicationId) {\r\n return axios.delete(`${SCH_PUBLICATIONS_URL}/${schPublicationId}`);\r\n}\r\n\r\n// DELETE SchPublications by ids\r\nexport function deleteSchPublications(ids) {\r\n return axios.post(`${SCH_PUBLICATIONS_URL}/deleteSchPublications`, { ids });\r\n}\r\n","import * as requestFromServer from \"./schPublicationsCrud\";\r\nimport { schPublicationsSlice, callTypes } from \"./schPublicationsSlice\";\r\n\r\nconst { actions } = schPublicationsSlice;\r\n\r\nexport const fetchSchPublications = (queryParams) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findSchPublications(queryParams)\r\n .then((response) => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.schPublicationsFetched({ totalCount, entities }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find schPublications\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchSchPublication = (id) => (dispatch) => {\r\n if (!id) {\r\n return dispatch(actions.schPublicationFetched({ schPublicationForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getSchPublicationById(id)\r\n .then((response) => {\r\n const schPublication = response.data;\r\n dispatch(actions.schPublicationFetched({ schPublicationForEdit: schPublication }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find schPublication\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteSchPublication = (id) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteSchPublication(id)\r\n .then((response) => {\r\n dispatch(actions.schPublicationDeleted({ id }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete schPublication\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createSchPublication = (schPublicationForCreation) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n schPublicationForCreation.isActive = true;\r\n return requestFromServer\r\n .createSchPublication(schPublicationForCreation)\r\n .then((response) => {\r\n const { schPublication } = response.data;\r\n schPublication.id = schPublication.schPublicationId;\r\n dispatch(actions.schPublicationCreated({ schPublication }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't create schPublication\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateSchPublication = (schPublication) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateSchPublication(schPublication)\r\n .then(() => {\r\n dispatch(actions.schPublicationUpdated({ schPublication }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't update schPublication\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteSchPublications = (ids) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteSchPublications(ids)\r\n .then(() => {\r\n dispatch(actions.schPublicationsDeleted({ ids }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete schPublications\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Formik, Form, Field } from \"formik\";\r\n//import axios from \"axios\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n Input,\r\n \r\n} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\n\r\n// Validation schema\r\nconst SchPublicationEditSchema = Yup.object().shape({\r\n authorNames: Yup.string().required(\"Name is required\"),\r\n});\r\n\r\n//const PageUrl = `${process.env.REACT_APP_API_URL}/api/scholar`;\r\n\r\nexport function SchPublicationEditForm({ schPublication, btnRef, saveSchPublication }) {\r\n // const [menuForDropdown, setMenuForDropdown] = useState([]);\r\n\r\n // useEffect(() => {\r\n // const getInnerPagesWithAxios = async () => {\r\n // const response = await axios.get(PageUrl);\r\n // setMenuForDropdown(response.data);\r\n // };\r\n // getInnerPagesWithAxios();\r\n // }, [setMenuForDropdown]);\r\n return (\r\n <>\r\n {\r\n try {\r\n values.scholarId = parseInt(values.scholarId);\r\n }catch {}\r\n saveSchPublication(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values }) => (\r\n <>\r\n
\r\n
\r\n Scholar Id: {schPublication.scholarId}\r\n {/* \r\n \r\n {menuForDropdown\r\n .filter((menu) => menu.isActive)\r\n .map((menu, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n /> */}\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n handleSubmit()}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,jsx-a11y/role-supports-aria-props */\r\nimport React, { useEffect, useState, useRef, useLayoutEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/schPublications/schPublicationsActions\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { SchPublicationEditForm } from \"./SchPublicationEditForm\";\r\nimport { useSubheader } from \"../../../../../../_metronic/layout\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { KTUtil } from \"../../../../../../_metronic/_assets/js/components/util\";\r\nimport KTLayoutQuickForm from \"../../../../Admin/utils/quick-form\";\r\nimport { Profile } from \"../../profile/Profile\";\r\nimport axios from \"axios\";\r\n\r\nconst initSchPublication = {\r\n id: undefined,\r\n authorNames: \"\",\r\n titleOfPaper: \"\",\r\n journalname: \"\",\r\n yearOfPublication: \"\",\r\n};\r\nexport function SchPublicationEdit({\r\n history,\r\n match: {\r\n params: { id,sid },\r\n },\r\n}) {\r\n useLayoutEffect(() => {\r\n KTUtil.ready(function() {\r\n KTLayoutQuickForm.init(\"kt_quick_form\");\r\n });\r\n }, []);\r\n // Subheader\r\n const subheader = useSubheader();\r\n\r\n // Tabs\r\n // const [tab, setTab] = useState(\"basic\");\r\n const [title, setTitle] = useState(\"\");\r\n const dispatch = useDispatch();\r\n // const layoutDispatch = useContext(LayoutContext.Dispatch);\r\n const { actionsLoading, schPublicationForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.schPublications.actionsLoading,\r\n schPublicationForEdit: state.schPublications.schPublicationForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n dispatch(actions.fetchSchPublication(id));\r\n }, [id, dispatch]);\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Scholar Publication\";\r\n if (schPublicationForEdit && id) {\r\n _title = `Edit Scholar Publication `;\r\n }\r\n\r\n setTitle(_title);\r\n subheader.setTitle(_title);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [schPublicationForEdit, id]);\r\n\r\n const saveSchPublication = (values) => {\r\n if (!id) {\r\n dispatch(actions.createSchPublication(values)).then(() =>\r\n backToSchPublicationsList()\r\n );\r\n } else {\r\n dispatch(actions.updateSchPublication(values)).then(() =>\r\n backToSchPublicationsList()\r\n );\r\n }\r\n };\r\n\r\n const btnRef = useRef();\r\n const saveSchPublicationClick = () => {\r\n if (btnRef && btnRef.current) {\r\n btnRef.current.click();\r\n }\r\n };\r\n\r\n\r\n const id1 = id===undefined?'':id\r\n //for close button\r\n const ScholarUrl = `${process.env.REACT_APP_API_URL}/api/schPublication/${id1}`;\r\n\r\n const [profile, setProfile] = useState([]);\r\n useEffect(() => {\r\n const getScholar = async () => {\r\n const response = await axios.get(`${ScholarUrl}`);\r\n setProfile(response.data);\r\n };\r\n getScholar();\r\n }, [setProfile, ScholarUrl]);\r\n const ScholarId = sid?sid:profile.scholarId;\r\n \r\n \r\n \r\n initSchPublication.scholarId=ScholarId;\r\n\r\n\r\n const backToSchPublicationsList = () => {\r\n history.push(`/scholar/profile`);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n {actionsLoading && }\r\n \r\n \r\n \r\n \r\n Close\r\n \r\n {/* */}\r\n \r\n Save\r\n \r\n \r\n \r\n \r\n {!actionsLoading && (\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const SCH_COURSE_WORK_INFOS_URL = `${process.env.REACT_APP_API_URL}/api/SchCourseWorkInfo`;\r\n\r\n// CREATE => POST: add a new schCourseWorkInfo to the server\r\nexport function createSchCourseWorkInfo(schCourseWorkInfo) {\r\n return axios.post(SCH_COURSE_WORK_INFOS_URL, schCourseWorkInfo);\r\n}\r\n\r\n// READ\r\nexport function getAllSchCourseWorkInfos() {\r\n return axios.get(SCH_COURSE_WORK_INFOS_URL);\r\n}\r\n\r\nexport function getSchCourseWorkInfoById(schCourseWorkInfoId) {\r\n return axios.get(`${SCH_COURSE_WORK_INFOS_URL}/${schCourseWorkInfoId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findSchCourseWorkInfos(queryParams) {\r\n return axios.post(`${SCH_COURSE_WORK_INFOS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the procuct on the server\r\nexport function updateSchCourseWorkInfo(schCourseWorkInfo) {\r\n return axios.put(`${SCH_COURSE_WORK_INFOS_URL}/${schCourseWorkInfo.schCourseWorkInfoId}`, schCourseWorkInfo);\r\n}\r\n\r\n// // UPDATE Status\r\n// export function updateStatusForSchCourseWorkInfos(ids, status) {\r\n// return axios.post(`${SCH_COURSE_WORK_INFOS_URL}/updateStatusForSchCourseWorkInfos`, {\r\n// ids,\r\n// status\r\n// });\r\n// }\r\n\r\n// DELETE => delete the schCourseWorkInfo from the server\r\nexport function deleteSchCourseWorkInfo(schCourseWorkInfoId) {\r\n return axios.delete(`${SCH_COURSE_WORK_INFOS_URL}/${schCourseWorkInfoId}`);\r\n}\r\n\r\n// DELETE SchCourseWorkInfos by ids\r\nexport function deleteSchCourseWorkInfos(ids) {\r\n return axios.post(`${SCH_COURSE_WORK_INFOS_URL}/deleteSchCourseWorkInfos`, { ids });\r\n}\r\n","import * as requestFromServer from \"./schCourseWorkInfosCrud\";\r\nimport { schCourseWorkInfosSlice, callTypes } from \"./schCourseWorkInfosSlice\";\r\n\r\nconst { actions } = schCourseWorkInfosSlice;\r\n\r\nexport const fetchSchCourseWorkInfos = (queryParams) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findSchCourseWorkInfos(queryParams)\r\n .then((response) => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.schCourseWorkInfosFetched({ totalCount, entities }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find schCourseWorkInfos\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchSchCourseWorkInfo = (id) => (dispatch) => {\r\n if (!id) {\r\n return dispatch(actions.schCourseWorkInfoFetched({ schCourseWorkInfoForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getSchCourseWorkInfoById(id)\r\n .then((response) => {\r\n const schCourseWorkInfo = response.data;\r\n dispatch(actions.schCourseWorkInfoFetched({ schCourseWorkInfoForEdit: schCourseWorkInfo }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find schCourseWorkInfo\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteSchCourseWorkInfo = (id) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteSchCourseWorkInfo(id)\r\n .then((response) => {\r\n dispatch(actions.schCourseWorkInfoDeleted({ id }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete schCourseWorkInfo\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createSchCourseWorkInfo = (schCourseWorkInfoForCreation) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n schCourseWorkInfoForCreation.isActive = true;\r\n return requestFromServer\r\n .createSchCourseWorkInfo(schCourseWorkInfoForCreation)\r\n .then((response) => {\r\n const { schCourseWorkInfo } = response.data;\r\n schCourseWorkInfo.id = schCourseWorkInfo.schCourseWorkInfoId;\r\n dispatch(actions.schCourseWorkInfoCreated({ schCourseWorkInfo }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't create schCourseWorkInfo\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateSchCourseWorkInfo = (schCourseWorkInfo) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateSchCourseWorkInfo(schCourseWorkInfo)\r\n .then(() => {\r\n dispatch(actions.schCourseWorkInfoUpdated({ schCourseWorkInfo }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't update schCourseWorkInfo\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteSchCourseWorkInfos = (ids) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteSchCourseWorkInfos(ids)\r\n .then(() => {\r\n dispatch(actions.schCourseWorkInfosDeleted({ ids }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete schCourseWorkInfos\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Formik, Form } from \"formik\";\r\n//import axios from \"axios\";\r\nimport * as Yup from \"yup\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\n//import { Select } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nconst SchCourseWorkInfoEditSchema = Yup.object().shape({\r\n firstCwStartDate: Yup.date().required(\"Date is required\"),\r\n});\r\n\r\n//const PageUrl = `${process.env.REACT_APP_API_URL}/api/scholar`;\r\n\r\nexport function SchCourseWorkInfoEditForm({\r\n schCourseWorkInfo,\r\n btnRef,\r\n saveSchCourseWorkInfo,\r\n}) {\r\n // const [menuForDropdown, setMenuForDropdown] = useState([]);\r\n\r\n // useEffect(() => {\r\n // const getInnerPagesWithAxios = async () => {\r\n // const response = await axios.get(PageUrl);\r\n // setMenuForDropdown(response.data);\r\n // };\r\n // getInnerPagesWithAxios();\r\n // }, [setMenuForDropdown]);\r\n return (\r\n <>\r\n {\r\n try {\r\n values.scholarId = parseInt(values.scholarId);\r\n } catch {}\r\n saveSchCourseWorkInfo(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values }) => (\r\n <>\r\n
\r\n
\r\n Scholar Id: {schCourseWorkInfo.scholarId}\r\n {/* \r\n \r\n {menuForDropdown\r\n .filter((menu) => menu.isActive)\r\n .map((menu, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n
*/}\r\n \r\n
\r\n {\r\n setFieldValue(\"firstCwStartDate\", e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setFieldValue(\"fristCwEndDate\", e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setFieldValue(\"secondCwStartDate\", e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setFieldValue(\"secondCwEndDate\", e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setFieldValue(\"certificateIssueDate\", e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setFieldValue(\"markSheetIssuedDate\", e.target.value);\r\n }}\r\n />\r\n
\r\n\r\n handleSubmit()}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,jsx-a11y/role-supports-aria-props */\r\nimport React, { useEffect, useState, useRef, useLayoutEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/schCourseWorkInfos/schCourseWorkInfosActions\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { SchCourseWorkInfoEditForm } from \"./SchCourseWorkInfoEditForm\";\r\nimport { useSubheader } from \"../../../../../../_metronic/layout\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { KTUtil } from \"../../../../../../_metronic/_assets/js/components/util\";\r\nimport KTLayoutQuickForm from \"../../../../Admin/utils/quick-form\";\r\nimport { Profile } from \"../../profile/Profile\";\r\nimport axios from \"axios\";\r\n\r\nconst initSchCourseWorkInfo = {\r\n id: undefined,\r\n scholarId: 0,\r\n firstCwStartDate: \"2020-10-17T04:18:29.988Z\",\r\n fristCwEndDate: \"2020-10-17T04:18:29.988Z\",\r\n secondCwStartDate: \"2020-10-17T04:18:29.988Z\",\r\n secondCwEndDate: \"2020-10-17T04:18:29.988Z\",\r\n certificateIssueDate: \"2020-10-17T04:18:29.988Z\",\r\n markSheetIssuedDate: \"2020-10-17T04:18:29.988Z\",\r\n};\r\nexport function SchCourseWorkInfoEdit({\r\n history,\r\n match: {\r\n params: { id,sid },\r\n },\r\n}) {\r\n useLayoutEffect(() => {\r\n KTUtil.ready(function() {\r\n KTLayoutQuickForm.init(\"kt_quick_form\");\r\n });\r\n }, []);\r\n // Subheader\r\n const subheader = useSubheader();\r\n\r\n // Tabs\r\n // const [tab, setTab] = useState(\"basic\");\r\n const [title, setTitle] = useState(\"\");\r\n const dispatch = useDispatch();\r\n // const layoutDispatch = useContext(LayoutContext.Dispatch);\r\n const { actionsLoading, schCourseWorkInfoForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.schCourseWorkInfos.actionsLoading,\r\n schCourseWorkInfoForEdit: state.schCourseWorkInfos.schCourseWorkInfoForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n dispatch(actions.fetchSchCourseWorkInfo(id));\r\n }, [id, dispatch]);\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Scholar CourseWork Info\";\r\n if (schCourseWorkInfoForEdit && id) {\r\n _title = `Edit Scholar CourseWork Info '`;\r\n }\r\n\r\n setTitle(_title);\r\n subheader.setTitle(_title);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [schCourseWorkInfoForEdit, id]);\r\n\r\n const saveSchCourseWorkInfo = (values) => {\r\n if (!id) {\r\n dispatch(actions.createSchCourseWorkInfo(values)).then(() =>\r\n backToSchCourseWorkInfosList()\r\n );\r\n } else {\r\n dispatch(actions.updateSchCourseWorkInfo(values)).then(() =>\r\n backToSchCourseWorkInfosList()\r\n );\r\n }\r\n };\r\n\r\n const btnRef = useRef();\r\n const saveSchCourseWorkInfoClick = () => {\r\n if (btnRef && btnRef.current) {\r\n btnRef.current.click();\r\n }\r\n };\r\n const id1 = id===undefined?'':id\r\n const ScholarUrl = `${process.env.REACT_APP_API_URL}/api/schCourseWorkInfo/${id1}`;\r\n\r\n const [profile, setProfile] = useState([]);\r\n useEffect(() => {\r\n const getScholar = async () => {\r\n const response = await axios.get(`${ScholarUrl}`);\r\n setProfile(response.data);\r\n };\r\n getScholar();\r\n }, [setProfile, ScholarUrl]);\r\n const ScholarId = sid?sid:profile.scholarId;\r\n \r\n \r\n \r\n initSchCourseWorkInfo.scholarId=ScholarId;\r\n\r\n const backToSchCourseWorkInfosList = () => {\r\n history.push(`/scholar/profile`);\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n {actionsLoading && }\r\n \r\n \r\n \r\n \r\n Close\r\n \r\n {/* */}\r\n \r\n Save\r\n \r\n \r\n \r\n \r\n {!actionsLoading && (\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const SCH_SYNOPSYSES_URL = `${process.env.REACT_APP_API_URL}/api/SchSynopsys`;\r\n\r\n// CREATE => POST: add a new schSynopsys to the server\r\nexport function createSchSynopsys(schSynopsys) {\r\n return axios.post(SCH_SYNOPSYSES_URL, schSynopsys);\r\n}\r\n\r\n// READ\r\nexport function getAllSchSynopsyses() {\r\n return axios.get(SCH_SYNOPSYSES_URL);\r\n}\r\n\r\nexport function getSchSynopsysById(schSynopsysId) {\r\n return axios.get(`${SCH_SYNOPSYSES_URL}/${schSynopsysId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findSchSynopsyses(queryParams) {\r\n return axios.post(`${SCH_SYNOPSYSES_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the procuct on the server\r\nexport function updateSchSynopsys(schSynopsys) {\r\n return axios.put(`${SCH_SYNOPSYSES_URL}/${schSynopsys.schSynopsysId}`, schSynopsys);\r\n}\r\n\r\n// // UPDATE Status\r\n// export function updateStatusForSchSynopsyses(ids, status) {\r\n// return axios.post(`${SCH_SYNOPSYSES_URL}/updateStatusForSchSynopsyses`, {\r\n// ids,\r\n// status\r\n// });\r\n// }\r\n\r\n// DELETE => delete the schSynopsys from the server\r\nexport function deleteSchSynopsys(schSynopsysId) {\r\n return axios.delete(`${SCH_SYNOPSYSES_URL}/${schSynopsysId}`);\r\n}\r\n\r\n// DELETE SchSynopsyses by ids\r\nexport function deleteSchSynopsyses(ids) {\r\n return axios.post(`${SCH_SYNOPSYSES_URL}/deleteSchSynopsyses`, { ids });\r\n}\r\n","import * as requestFromServer from \"./schSynopsysesCrud\";\r\nimport { schSynopsysesSlice, callTypes } from \"./schSynopsysesSlice\";\r\n\r\nconst { actions } = schSynopsysesSlice;\r\n\r\nexport const fetchSchSynopsyses = (queryParams) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findSchSynopsyses(queryParams)\r\n .then((response) => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.schSynopsysesFetched({ totalCount, entities }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find schSynopsyses\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchSchSynopsys = (id) => (dispatch) => {\r\n if (!id) {\r\n return dispatch(actions.schSynopsysFetched({ schSynopsysForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getSchSynopsysById(id)\r\n .then((response) => {\r\n const schSynopsys = response.data;\r\n dispatch(actions.schSynopsysFetched({ schSynopsysForEdit: schSynopsys }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find schSynopsys\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteSchSynopsys = (id) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteSchSynopsys(id)\r\n .then((response) => {\r\n dispatch(actions.schSynopsysDeleted({ id }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete schSynopsys\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createSchSynopsys = (schSynopsysForCreation) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n schSynopsysForCreation.isActive = true;\r\n return requestFromServer\r\n .createSchSynopsys(schSynopsysForCreation)\r\n .then((response) => {\r\n const { schSynopsys } = response.data;\r\n schSynopsys.id = schSynopsys.schSynopsysId;\r\n dispatch(actions.schSynopsysCreated({ schSynopsys }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't create schSynopsys\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateSchSynopsys = (schSynopsys) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateSchSynopsys(schSynopsys)\r\n .then(() => {\r\n dispatch(actions.schSynopsysUpdated({ schSynopsys }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't update schSynopsys\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteSchSynopsyses = (ids) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteSchSynopsyses(ids)\r\n .then(() => {\r\n dispatch(actions.schSynopsysesDeleted({ ids }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete schSynopsyses\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Formik, Form, Field } from \"formik\";\r\n//import axios from \"axios\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport * as Yup from \"yup\";\r\nimport { Input } from \"../../../../../../_metronic/_partials/controls\";\r\nimport {\r\n FormControl,\r\n FormControlLabel,\r\n FormLabel,\r\n RadioGroup,\r\n Radio,\r\n} from \"@material-ui/core\";\r\n\r\n// Validation schema\r\nconst SchSynopsysEditSchema = Yup.object().shape({\r\n submissionDate: Yup.date().required(\"Date is required\"),\r\n});\r\n\r\n//const PageUrl = `${process.env.REACT_APP_API_URL}/api/scholar`;\r\n\r\nexport function SchSynopsysEditForm({ schSynopsys, btnRef, saveSchSynopsys }) {\r\n // const [menuForDropdown, setMenuForDropdown] = useState([]);\r\n\r\n // useEffect(() => {\r\n // const getInnerPagesWithAxios = async () => {\r\n // const response = await axios.get(PageUrl);\r\n // setMenuForDropdown(response.data);\r\n // };\r\n // getInnerPagesWithAxios();\r\n // }, [setMenuForDropdown]);\r\n \r\n return (\r\n <>\r\n {\r\n try {\r\n values.scholarId = parseInt(values.scholarId);\r\n } catch {}\r\n saveSchSynopsys(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values }) => (\r\n <>\r\n
\r\n
\r\n Scholar Id: {schSynopsys.scholarId}\r\n {/* \r\n \r\n {menuForDropdown\r\n .filter((menu) => menu.isActive)\r\n .map((menu, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n /> */}\r\n
\r\n
\r\n \r\n Synopsys Submitted: \r\n {\r\n setFieldValue(\r\n \"synopsysSubmitted\",\r\n JSON.parse(e.target.value)\r\n );\r\n }}\r\n >\r\n \r\n }\r\n label=\"Yes\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n }\r\n label=\"No\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n \r\n
\r\n\r\n
\r\n {\r\n setFieldValue(\"submissionDate\", e.target.value);\r\n }}\r\n />\r\n
\r\n\r\n
\r\n \r\n Soft Copy: \r\n {\r\n setFieldValue(\"softCopy\", JSON.parse(e.target.value));\r\n }}\r\n >\r\n \r\n }\r\n label=\"Yes\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n }\r\n label=\"No\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n \r\n
\r\n\r\n
\r\n {\r\n setFieldValue(\"softCopySubmissionDate\", e.target.value);\r\n }}\r\n />\r\n
\r\n\r\n
\r\n \r\n Hard Copy: \r\n {\r\n setFieldValue(\"hardCopy\", JSON.parse(e.target.value));\r\n }}\r\n >\r\n \r\n }\r\n label=\"Yes\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n }\r\n label=\"No\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n \r\n
\r\n\r\n
\r\n {\r\n setFieldValue(\"hardCopySubmissionDate\", e.target.value);\r\n }}\r\n />\r\n
\r\n\r\n
\r\n \r\n Drc Held: \r\n {\r\n setFieldValue(\"drcHeld\", JSON.parse(e.target.value));\r\n }}\r\n >\r\n \r\n }\r\n label=\"Yes\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n }\r\n label=\"No\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n \r\n
\r\n\r\n
\r\n {\r\n setFieldValue(\"dateOfDrc\", e.target.value);\r\n }}\r\n />\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n Shodh Gangotri: \r\n {\r\n setFieldValue(\r\n \"shodhGangotri\",\r\n JSON.parse(e.target.value)\r\n );\r\n }}\r\n >\r\n \r\n }\r\n label=\"Yes\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n }\r\n label=\"No\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n {\r\n setFieldValue(\"dateUploaded\", e.target.value);\r\n }}\r\n />\r\n
\r\n\r\n
\r\n \r\n \r\n Is Drc Letter Issued:{\" \"}\r\n \r\n {\r\n setFieldValue(\r\n \"isDrcLetterIssued\",\r\n JSON.parse(e.target.value)\r\n );\r\n }}\r\n >\r\n \r\n }\r\n label=\"Yes\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n }\r\n label=\"No\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n Drc Presentation Held:{\" \"}\r\n \r\n {\r\n setFieldValue(\r\n \"drcPresentationHeld\",\r\n JSON.parse(e.target.value)\r\n );\r\n }}\r\n >\r\n \r\n }\r\n label=\"Yes\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n }\r\n label=\"No\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n \r\n
\r\n\r\n
\r\n {\r\n setFieldValue(\"dateOfDrcPresentation\", e.target.value);\r\n }}\r\n />\r\n
\r\n\r\n
\r\n \r\n Is Lab Applicable: \r\n {\r\n setFieldValue(\r\n \"isLabApplicable\",\r\n JSON.parse(e.target.value)\r\n );\r\n }}\r\n >\r\n \r\n }\r\n label=\"Yes\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n }\r\n label=\"No\"\r\n labelPlacement=\"start\"\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 handleSubmit()}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,jsx-a11y/role-supports-aria-props */\r\nimport React, { useEffect, useState, useRef, useLayoutEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/schSynopsyses/schSynopsysesActions\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { SchSynopsysEditForm } from \"./SchSynopsysEditForm\";\r\nimport { useSubheader } from \"../../../../../../_metronic/layout\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { KTUtil } from \"../../../../../../_metronic/_assets/js/components/util\";\r\nimport KTLayoutQuickForm from \"../../../../Admin/utils/quick-form\";\r\nimport { Profile } from \"../../profile/Profile\";\r\nimport axios from \"axios\";\r\n\r\nconst initSchSynopsys = {\r\n id: undefined,\r\n scholarId: 0,\r\n synopsysSubmitted: true,\r\n submissionDate: \"2020-10-17T04:27:17.290Z\",\r\n softCopy: true,\r\n softCopySubmissionDate: \"2020-10-17T04:27:17.290Z\",\r\n hardCopy: true,\r\n hardCopySubmissionDate: \"2020-10-17T04:27:17.290Z\",\r\n drcHeld: true,\r\n dateOfDrc: \"2020-10-17T04:27:17.290Z\",\r\n drcRemark: \"\",\r\n shodhGangotri: true,\r\n shodhGangotriLink: \"\",\r\n dateUploaded: \"2020-10-17T04:27:17.290Z\",\r\n isDrcLetterIssued: true,\r\n drcPresentationHeld: true,\r\n dateOfDrcPresentation: \"2020-10-17T04:27:17.290Z\",\r\n isLabApplicable: true,\r\n labName: \"\",\r\n labCity: \"\",\r\n};\r\nexport function SchSynopsysEdit({\r\n history,\r\n match: {\r\n params: { id,sid },\r\n },\r\n}) {\r\n useLayoutEffect(() => {\r\n KTUtil.ready(function() {\r\n KTLayoutQuickForm.init(\"kt_quick_form\");\r\n });\r\n }, []);\r\n // Subheader\r\n const subheader = useSubheader();\r\n\r\n // Tabs\r\n // const [tab, setTab] = useState(\"basic\");\r\n const [title, setTitle] = useState(\"\");\r\n const dispatch = useDispatch();\r\n // const layoutDispatch = useContext(LayoutContext.Dispatch);\r\n const { actionsLoading, schSynopsysForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.schSynopsyses.actionsLoading,\r\n schSynopsysForEdit: state.schSynopsyses.schSynopsysForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n dispatch(actions.fetchSchSynopsys(id));\r\n }, [id, dispatch]);\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Scholar Synopsys\";\r\n if (schSynopsysForEdit && id) {\r\n _title = `Edit Scholar Synopsys`;\r\n }\r\n\r\n setTitle(_title);\r\n subheader.setTitle(_title);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [schSynopsysForEdit, id]);\r\n\r\n const saveSchSynopsys = (values) => {\r\n if (!id) {\r\n dispatch(actions.createSchSynopsys(values)).then(() =>\r\n backToSchSynopsysesList()\r\n );\r\n } else {\r\n dispatch(actions.updateSchSynopsys(values)).then(() =>\r\n backToSchSynopsysesList()\r\n );\r\n }\r\n };\r\n\r\n const btnRef = useRef();\r\n const saveSchSynopsysClick = () => {\r\n if (btnRef && btnRef.current) {\r\n btnRef.current.click();\r\n }\r\n };\r\n\r\n const id1 = id===undefined?'':id\r\n const ScholarUrl = `${process.env.REACT_APP_API_URL}/api/schSynopsys/${id1}`;\r\n\r\n const [profile, setProfile] = useState([]);\r\n useEffect(() => {\r\n const getScholar = async () => {\r\n const response = await axios.get(`${ScholarUrl}`);\r\n setProfile(response.data);\r\n };\r\n getScholar();\r\n }, [setProfile, ScholarUrl]);\r\n const ScholarId = sid?sid:profile.scholarId;\r\n \r\n \r\n \r\n initSchSynopsys.scholarId=ScholarId;\r\n\r\n console.log(ScholarId)\r\n\r\n const backToSchSynopsysesList = () => {\r\n history.push(`/scholar/profile`);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n {actionsLoading && }\r\n \r\n \r\n \r\n \r\n Close\r\n \r\n {/* */}\r\n \r\n Save\r\n \r\n \r\n \r\n \r\n {!actionsLoading && (\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { createContext, useContext, useState, useCallback } from \"react\";\r\nimport { isEqual, isFunction } from \"lodash\";\r\nimport { initialFilter } from \"./SchConferencesUIHelpers\";\r\n\r\nconst SchConferencesUIContext = createContext();\r\n\r\nexport function useSchConferencesUIContext() {\r\n return useContext(SchConferencesUIContext);\r\n}\r\n\r\nexport const SchConferencesUIConsumer = SchConferencesUIContext.Consumer;\r\n\r\nexport function SchConferencesUIProvider({ schConferencesUIEvents, children }) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback((nextQueryParams) => {\r\n setQueryParamsBase((prevQueryParams) => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n newSchConferenceButtonClick: schConferencesUIEvents.newSchConferenceButtonClick,\r\n openEditSchConferencePage: schConferencesUIEvents.openEditSchConferencePage,\r\n openDeleteSchConferenceDialog: schConferencesUIEvents.openDeleteSchConferenceDialog,\r\n openDeleteSchConferencesDialog: schConferencesUIEvents.openDeleteSchConferencesDialog,\r\n openFetchSchConferencesDialog: schConferencesUIEvents.openFetchSchConferencesDialog,\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/schConferences/schConferencesActions\";\r\nimport { useSchConferencesUIContext } from \"../SchConferencesUIContext\";\r\n\r\nexport function SchConferenceDeleteDialog({ id, show, onHide }) {\r\n // SchConferences UI Context\r\n const schConferencesUIContext = useSchConferencesUIContext();\r\n const schConferencesUIProps = useMemo(() => {\r\n return {\r\n setIds: schConferencesUIContext.setIds,\r\n queryParams: schConferencesUIContext.queryParams,\r\n };\r\n }, [schConferencesUIContext]);\r\n\r\n // SchConferences Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.schConferences.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteSchConference = () => {\r\n // server request for deleting schConference by id\r\n dispatch(actions.deleteSchConference(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchSchConferences(schConferencesUIProps.queryParams));\r\n // clear selections list\r\n schConferencesUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n SchConference Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this schConference?\r\n )}\r\n {isLoading && SchConference is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","export const defaultSorted = [{ dataField: \"id\", order: \"asc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n // model: \"\",\r\n // manufacture: \"\",\r\n docTitle: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"docTitle\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};","import React, { createContext, useContext, useState, useCallback } from \"react\";\r\nimport { isEqual, isFunction } from \"lodash\";\r\nimport { initialFilter } from \"./SchDocumentsUIHelpers\";\r\n\r\nconst SchDocumentsUIContext = createContext();\r\n\r\nexport function useSchDocumentsUIContext() {\r\n return useContext(SchDocumentsUIContext);\r\n}\r\n\r\nexport const SchDocumentsUIConsumer = SchDocumentsUIContext.Consumer;\r\n\r\nexport function SchDocumentsUIProvider({ schDocumentsUIEvents, children }) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback((nextQueryParams) => {\r\n setQueryParamsBase((prevQueryParams) => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n newSchDocumentButtonClick: schDocumentsUIEvents.newSchDocumentButtonClick,\r\n openEditSchDocumentPage: schDocumentsUIEvents.openEditSchDocumentPage,\r\n openDeleteSchDocumentDialog: schDocumentsUIEvents.openDeleteSchDocumentDialog,\r\n openDeleteSchDocumentsDialog: schDocumentsUIEvents.openDeleteSchDocumentsDialog,\r\n openFetchSchDocumentsDialog: schDocumentsUIEvents.openFetchSchDocumentsDialog,\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"./../../../_redux/schDocuments/schdocumentsActions\";\r\nimport { useSchDocumentsUIContext } from \"../SchDocumentsUIContext\";\r\n\r\nexport function SchDocumentDeleteDialog({ id, show, onHide }) {\r\n // SchDocuments UI Context\r\n const schDocumentsUIContext = useSchDocumentsUIContext();\r\n const schDocumentsUIProps = useMemo(() => {\r\n return {\r\n setIds: schDocumentsUIContext.setIds,\r\n queryParams: schDocumentsUIContext.queryParams,\r\n };\r\n }, [schDocumentsUIContext]);\r\n\r\n // SchDocuments Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.schDocuments.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteSchDocument = () => {\r\n // server request for deleting schDocument by id\r\n dispatch(actions.deleteSchDocument(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchSchDocuments(schDocumentsUIProps.queryParams));\r\n // clear selections list\r\n schDocumentsUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n SchDocument Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this schDocument?\r\n )}\r\n {isLoading && SchDocument is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","export const defaultSorted = [{ dataField: \"id\", order: \"asc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n // model: \"\",\r\n // manufacture: \"\",\r\n plagiarismPercentage: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"plagiarismPercentage\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};","import React, { createContext, useContext, useState, useCallback } from \"react\";\r\nimport { isEqual, isFunction } from \"lodash\";\r\nimport { initialFilter } from \"./SchThesisesUIHelpers\";\r\n\r\nconst SchThesisesUIContext = createContext();\r\n\r\nexport function useSchThesisesUIContext() {\r\n return useContext(SchThesisesUIContext);\r\n}\r\n\r\nexport const SchThesisesUIConsumer = SchThesisesUIContext.Consumer;\r\n\r\nexport function SchThesisesUIProvider({ schThesisesUIEvents, children }) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback((nextQueryParams) => {\r\n setQueryParamsBase((prevQueryParams) => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n newSchThesisButtonClick: schThesisesUIEvents.newSchThesisButtonClick,\r\n openEditSchThesisPage: schThesisesUIEvents.openEditSchThesisPage,\r\n openDeleteSchThesisDialog: schThesisesUIEvents.openDeleteSchThesisDialog,\r\n openDeleteSchThesisesDialog: schThesisesUIEvents.openDeleteSchThesisesDialog,\r\n openFetchSchThesisesDialog: schThesisesUIEvents.openFetchSchThesisesDialog,\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/schThesises/schThesisesActions\";\r\nimport { useSchThesisesUIContext } from \"../SchThesisesUIContext\";\r\n\r\n\r\n//schThesisDeleteDialog commit test1\r\n\r\nexport function SchThesisDeleteDialog({ id, show, onHide }) {\r\n // SchThesises UI Context\r\n const schThesisesUIContext = useSchThesisesUIContext();\r\n const schThesisesUIProps = useMemo(() => {\r\n return {\r\n setIds: schThesisesUIContext.setIds,\r\n queryParams: schThesisesUIContext.queryParams,\r\n };\r\n }, [schThesisesUIContext]);\r\n\r\n // SchThesises Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.schThesises.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch/\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteSchThesis = () => {\r\n // server request for deleting schThesis by id\r\n dispatch(actions.deleteSchThesis(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchSchThesises(schThesisesUIProps.queryParams));\r\n // clear selections list\r\n schThesisesUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n SchThesis Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this schThesis?\r\n )}\r\n {isLoading && SchThesis is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","export const defaultSorted = [{ dataField: \"id\", order: \"asc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n // model: \"\",\r\n // manufacture: \"\",\r\n examName: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"examName\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};","import React, { createContext, useContext, useState, useCallback } from \"react\";\r\nimport { isEqual, isFunction } from \"lodash\";\r\nimport { initialFilter } from \"./SchEducationsUIHelpers\";\r\n\r\nconst SchEducationsUIContext = createContext();\r\n\r\nexport function useSchEducationsUIContext() {\r\n return useContext(SchEducationsUIContext);\r\n}\r\n\r\nexport const SchEducationsUIConsumer = SchEducationsUIContext.Consumer;\r\n\r\nexport function SchEducationsUIProvider({ schEducationsUIEvents, children }) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback((nextQueryParams) => {\r\n setQueryParamsBase((prevQueryParams) => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n newSchEducationButtonClick: schEducationsUIEvents.newSchEducationButtonClick,\r\n openEditSchEducationPage: schEducationsUIEvents.openEditSchEducationPage,\r\n openDeleteSchEducationDialog: schEducationsUIEvents.openDeleteSchEducationDialog,\r\n openDeleteSchEducationsDialog: schEducationsUIEvents.openDeleteSchEducationsDialog,\r\n openFetchSchEducationsDialog: schEducationsUIEvents.openFetchSchEducationsDialog,\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/schEducations/schEducationsActions\";\r\nimport { useSchEducationsUIContext } from \"../SchEducationsUIContext\";\r\n\r\nexport function SchEducationDeleteDialog({ id, show, onHide }) {\r\n // SchEducations UI Context\r\n const schEducationsUIContext = useSchEducationsUIContext();\r\n const schEducationsUIProps = useMemo(() => {\r\n return {\r\n setIds: schEducationsUIContext.setIds,\r\n queryParams: schEducationsUIContext.queryParams,\r\n };\r\n }, [schEducationsUIContext]);\r\n\r\n // SchEducations Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.schEducations.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteSchEducation = () => {\r\n // server request for deleting schEducation by id\r\n dispatch(actions.deleteSchEducation(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchSchEducations(schEducationsUIProps.queryParams));\r\n // clear selections list\r\n schEducationsUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n SchEducation Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this schEducation?\r\n )}\r\n {isLoading && SchEducation is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","export const defaultSorted = [{ dataField: \"id\", order: \"asc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n // model: \"\",\r\n // manufacture: \"\",\r\n jobTitle: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"jobTitle\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};","import React, { createContext, useContext, useState, useCallback } from \"react\";\r\nimport { isEqual, isFunction } from \"lodash\";\r\nimport { initialFilter } from \"./SchJobInfosUIHelpers\";\r\n\r\nconst SchJobInfosUIContext = createContext();\r\n\r\nexport function useSchJobInfosUIContext() {\r\n return useContext(SchJobInfosUIContext);\r\n}\r\n\r\nexport const SchJobInfosUIConsumer = SchJobInfosUIContext.Consumer;\r\n\r\nexport function SchJobInfosUIProvider({ schJobInfosUIEvents, children }) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback((nextQueryParams) => {\r\n setQueryParamsBase((prevQueryParams) => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n newSchJobInfoButtonClick: schJobInfosUIEvents.newSchJobInfoButtonClick,\r\n openEditSchJobInfoPage: schJobInfosUIEvents.openEditSchJobInfoPage,\r\n openDeleteSchJobInfoDialog: schJobInfosUIEvents.openDeleteSchJobInfoDialog,\r\n openDeleteSchJobInfosDialog: schJobInfosUIEvents.openDeleteSchJobInfosDialog,\r\n openFetchSchJobInfosDialog: schJobInfosUIEvents.openFetchSchJobInfosDialog,\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/schJobInfos/schJobInfosActions\";\r\nimport { useSchJobInfosUIContext } from \"../SchJobInfosUIContext\";\r\n\r\nexport function SchJobInfoDeleteDialog({ id, show, onHide }) {\r\n // SchJobInfos UI Context\r\n const schJobInfosUIContext = useSchJobInfosUIContext();\r\n const schJobInfosUIProps = useMemo(() => {\r\n return {\r\n setIds: schJobInfosUIContext.setIds,\r\n queryParams: schJobInfosUIContext.queryParams,\r\n };\r\n }, [schJobInfosUIContext]);\r\n\r\n // SchJobInfos Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.schJobInfos.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteSchJobInfo = () => {\r\n // server request for deleting schJobInfo by id\r\n dispatch(actions.deleteSchJobInfo(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchSchJobInfos(schJobInfosUIProps.queryParams));\r\n // clear selections list\r\n schJobInfosUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n SchJobInfo Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this schJobInfo?\r\n )}\r\n {isLoading && SchJobInfo is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","export const defaultSorted = [{ dataField: \"id\", order: \"asc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n // model: \"\",\r\n // manufacture: \"\",\r\n receiptNo: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"receiptNo\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};","import React, { createContext, useContext, useState, useCallback } from \"react\";\r\nimport { isEqual, isFunction } from \"lodash\";\r\nimport { initialFilter } from \"./SchPayReceiptsUIHelpers\";\r\n\r\nconst SchPayReceiptsUIContext = createContext();\r\n\r\nexport function useSchPayReceiptsUIContext() {\r\n return useContext(SchPayReceiptsUIContext);\r\n}\r\n\r\nexport const SchPayReceiptsUIConsumer = SchPayReceiptsUIContext.Consumer;\r\n\r\nexport function SchPayReceiptsUIProvider({ schPayReceiptsUIEvents, children }) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback((nextQueryParams) => {\r\n setQueryParamsBase((prevQueryParams) => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n newSchPayReceiptButtonClick: schPayReceiptsUIEvents.newSchPayReceiptButtonClick,\r\n openEditSchPayReceiptPage: schPayReceiptsUIEvents.openEditSchPayReceiptPage,\r\n openDeleteSchPayReceiptDialog: schPayReceiptsUIEvents.openDeleteSchPayReceiptDialog,\r\n openDeleteSchPayReceiptsDialog: schPayReceiptsUIEvents.openDeleteSchPayReceiptsDialog,\r\n openFetchSchPayReceiptsDialog: schPayReceiptsUIEvents.openFetchSchPayReceiptsDialog,\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/schPayReceipts/schPayReceiptsActions\";\r\nimport { useSchPayReceiptsUIContext } from \"../SchPayReceiptsUIContext\";\r\n\r\nexport function SchPayReceiptDeleteDialog({ id, show, onHide }) {\r\n // SchPayReceipts UI Context\r\n const schPayReceiptsUIContext = useSchPayReceiptsUIContext();\r\n const schPayReceiptsUIProps = useMemo(() => {\r\n return {\r\n setIds: schPayReceiptsUIContext.setIds,\r\n queryParams: schPayReceiptsUIContext.queryParams,\r\n };\r\n }, [schPayReceiptsUIContext]);\r\n\r\n // SchPayReceipts Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.schPayReceipts.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteSchPayReceipt = () => {\r\n // server request for deleting schPayReceipt by id\r\n dispatch(actions.deleteSchPayReceipt(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchSchPayReceipts(schPayReceiptsUIProps.queryParams));\r\n // clear selections list\r\n schPayReceiptsUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n SchPayReceipt Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this schPayReceipt?\r\n )}\r\n {isLoading && SchPayReceipt is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","export const defaultSorted = [{ dataField: \"id\", order: \"asc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n // model: \"\",\r\n // manufacture: \"\",\r\n authorNames: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"authorNames\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};","import React, { createContext, useContext, useState, useCallback } from \"react\";\r\nimport { isEqual, isFunction } from \"lodash\";\r\nimport { initialFilter } from \"./SchPublicationsUIHelpers\";\r\n\r\nconst SchPublicationsUIContext = createContext();\r\n\r\nexport function useSchPublicationsUIContext() {\r\n return useContext(SchPublicationsUIContext);\r\n}\r\n\r\nexport const SchPublicationsUIConsumer = SchPublicationsUIContext.Consumer;\r\n\r\nexport function SchPublicationsUIProvider({ schPublicationsUIEvents, children }) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback((nextQueryParams) => {\r\n setQueryParamsBase((prevQueryParams) => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n newSchPublicationButtonClick: schPublicationsUIEvents.newSchPublicationButtonClick,\r\n openEditSchPublicationPage: schPublicationsUIEvents.openEditSchPublicationPage,\r\n openDeleteSchPublicationDialog: schPublicationsUIEvents.openDeleteSchPublicationDialog,\r\n openDeleteSchPublicationsDialog: schPublicationsUIEvents.openDeleteSchPublicationsDialog,\r\n openFetchSchPublicationsDialog: schPublicationsUIEvents.openFetchSchPublicationsDialog,\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/schPublications/schPublicationsActions\";\r\nimport { useSchPublicationsUIContext } from \"../SchPublicationsUIContext\";\r\n\r\nexport function SchPublicationDeleteDialog({ id, show, onHide }) {\r\n // SchPublications UI Context\r\n const schPublicationsUIContext = useSchPublicationsUIContext();\r\n const schPublicationsUIProps = useMemo(() => {\r\n return {\r\n setIds: schPublicationsUIContext.setIds,\r\n queryParams: schPublicationsUIContext.queryParams,\r\n };\r\n }, [schPublicationsUIContext]);\r\n\r\n // SchPublications Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.schPublications.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteSchPublication = () => {\r\n // server request for deleting schPublication by id\r\n dispatch(actions.deleteSchPublication(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchSchPublications(schPublicationsUIProps.queryParams));\r\n // clear selections list\r\n schPublicationsUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n SchPublication Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this schPublication?\r\n )}\r\n {isLoading && SchPublication is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","export const defaultSorted = [{ dataField: \"id\", order: \"asc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n // model: \"\",\r\n // manufacture: \"\",\r\n firstCwStartDate: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"firstCwStartDate\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};","import React, { createContext, useContext, useState, useCallback } from \"react\";\r\nimport { isEqual, isFunction } from \"lodash\";\r\nimport { initialFilter } from \"./SchCourseWorkInfosUIHelpers\";\r\n\r\nconst SchCourseWorkInfosUIContext = createContext();\r\n\r\nexport function useSchCourseWorkInfosUIContext() {\r\n return useContext(SchCourseWorkInfosUIContext);\r\n}\r\n\r\nexport const SchCourseWorkInfosUIConsumer = SchCourseWorkInfosUIContext.Consumer;\r\n\r\nexport function SchCourseWorkInfosUIProvider({ schCourseWorkInfosUIEvents, children }) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback((nextQueryParams) => {\r\n setQueryParamsBase((prevQueryParams) => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n newSchCourseWorkInfoButtonClick: schCourseWorkInfosUIEvents.newSchCourseWorkInfoButtonClick,\r\n openEditSchCourseWorkInfoPage: schCourseWorkInfosUIEvents.openEditSchCourseWorkInfoPage,\r\n openDeleteSchCourseWorkInfoDialog: schCourseWorkInfosUIEvents.openDeleteSchCourseWorkInfoDialog,\r\n openDeleteSchCourseWorkInfosDialog: schCourseWorkInfosUIEvents.openDeleteSchCourseWorkInfosDialog,\r\n openFetchSchCourseWorkInfosDialog: schCourseWorkInfosUIEvents.openFetchSchCourseWorkInfosDialog,\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/schCourseWorkInfos/schCourseWorkInfosActions\";\r\nimport { useSchCourseWorkInfosUIContext } from \"../SchCourseWorkInfosUIContext\";\r\n\r\nexport function SchCourseWorkInfoDeleteDialog({ id, show, onHide }) {\r\n // SchCourseWorkInfos UI Context\r\n const schCourseWorkInfosUIContext = useSchCourseWorkInfosUIContext();\r\n const schCourseWorkInfosUIProps = useMemo(() => {\r\n return {\r\n setIds: schCourseWorkInfosUIContext.setIds,\r\n queryParams: schCourseWorkInfosUIContext.queryParams,\r\n };\r\n }, [schCourseWorkInfosUIContext]);\r\n\r\n // SchCourseWorkInfos Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.schCourseWorkInfos.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteSchCourseWorkInfo = () => {\r\n // server request for deleting schCourseWorkInfo by id\r\n dispatch(actions.deleteSchCourseWorkInfo(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchSchCourseWorkInfos(schCourseWorkInfosUIProps.queryParams));\r\n // clear selections list\r\n schCourseWorkInfosUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n SchCourseWorkInfo Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this schCourseWorkInfo?\r\n )}\r\n {isLoading && SchCourseWorkInfo is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","export const defaultSorted = [{ dataField: \"id\", order: \"asc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n // model: \"\",\r\n // manufacture: \"\",\r\n synopsysSubmitted: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"synopsysSubmitted\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};","import React, { createContext, useContext, useState, useCallback } from \"react\";\r\nimport { isEqual, isFunction } from \"lodash\";\r\nimport { initialFilter } from \"./SchSynopsysesUIHelpers\";\r\n\r\nconst SchSynopsysesUIContext = createContext();\r\n\r\nexport function useSchSynopsysesUIContext() {\r\n return useContext(SchSynopsysesUIContext);\r\n}\r\n\r\nexport const SchSynopsysesUIConsumer = SchSynopsysesUIContext.Consumer;\r\n\r\nexport function SchSynopsysesUIProvider({ schSynopsysesUIEvents, children }) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback((nextQueryParams) => {\r\n setQueryParamsBase((prevQueryParams) => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n newSchSynopsysButtonClick: schSynopsysesUIEvents.newSchSynopsysButtonClick,\r\n openEditSchSynopsysPage: schSynopsysesUIEvents.openEditSchSynopsysPage,\r\n openDeleteSchSynopsysDialog: schSynopsysesUIEvents.openDeleteSchSynopsysDialog,\r\n openDeleteSchSynopsysesDialog: schSynopsysesUIEvents.openDeleteSchSynopsysesDialog,\r\n openFetchSchSynopsysesDialog: schSynopsysesUIEvents.openFetchSchSynopsysesDialog,\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/schSynopsyses/schSynopsysesActions\";\r\nimport { useSchSynopsysesUIContext } from \"../SchSynopsysesUIContext\";\r\n\r\nexport function SchSynopsysDeleteDialog({ id, show, onHide }) {\r\n // SchSynopsyses UI Context\r\n const schSynopsysesUIContext = useSchSynopsysesUIContext();\r\n const schSynopsysesUIProps = useMemo(() => {\r\n return {\r\n setIds: schSynopsysesUIContext.setIds,\r\n queryParams: schSynopsysesUIContext.queryParams,\r\n };\r\n }, [schSynopsysesUIContext]);\r\n\r\n // SchSynopsyses Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.schSynopsyses.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteSchSynopsys = () => {\r\n // server request for deleting schSynopsys by id\r\n dispatch(actions.deleteSchSynopsys(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchSchSynopsyses(schSynopsysesUIProps.queryParams));\r\n // clear selections list\r\n schSynopsysesUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n SchSynopsys Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this schSynopsys?\r\n )}\r\n {isLoading && SchSynopsys is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { Suspense } from \"react\";\r\nimport { Redirect, Switch } from \"react-router-dom\";\r\nimport { LayoutSplashScreen, ContentRoute } from \"../../../_metronic/layout\";\r\nimport { Profile } from \"./Pages/profile/Profile\";\r\n//import { SchEducationsPage } from \"../Scholar/Pages/schEducations/SchEducationsPage\";\r\nimport { SchConferenceEdit } from \"../Scholar/Pages/schConferences/schConference-edit/SchConferenceEdit\";\r\nimport { SchDocumentEdit } from \"../Scholar/Pages/schDocuments/schDocument-edit/SchDocumentEdit\";\r\nimport { SchThesisEdit } from \"../Scholar/Pages/schThesises/schThesis-edit/SchThesisEdit\";\r\nimport { SchEducationEdit } from \"../Scholar/Pages/schEducations/schEducation-edit/SchEducationEdit\";\r\nimport { SchJobInfoEdit } from \"../Scholar/Pages/schJobInfos/schJobInfo-edit/SchJobInfoEdit\";\r\nimport { SchPayReceiptEdit } from \"../Scholar/Pages/schPayReceipts/schPayReceipt-edit/SchPayReceiptEdit\";\r\nimport { SchPublicationEdit } from \"../Scholar/Pages/schPublications/schPublication-edit/SchPublicationEdit\";\r\nimport { SchCourseWorkInfoEdit } from \"../Scholar/Pages/schCourseWorkInfos/schCourseWorkInfo-edit/SchCourseWorkInfoEdit\";\r\nimport { SchSynopsysEdit } from \"../Scholar/Pages/schSynopsyses/schSynopsys-edit/SchSynopsysEdit\";\r\n\r\nimport { SchConferenceDeleteDialog } from \"../Scholar/Pages/schConferences/schConference-delete-dialog/SchConferenceDeleteDialog\";\r\nimport { SchDocumentDeleteDialog } from \"../Scholar/Pages/schDocuments/schDocument-delete-dialog/SchDocumentDeleteDialog\";\r\nimport { SchThesisDeleteDialog } from \"../Scholar/Pages/schThesises/schThesis-delete-dialog/SchThesisDeleteDialog\";\r\nimport { SchEducationDeleteDialog } from \"../Scholar/Pages/schEducations/schEducation-delete-dialog/SchEducationDeleteDialog\";\r\nimport { SchJobInfoDeleteDialog } from \"../Scholar/Pages/schJobInfos/schJobInfo-delete-dialog/SchJobInfoDeleteDialog\";\r\nimport { SchPayReceiptDeleteDialog } from \"../Scholar/Pages/schPayReceipts/schPayReceipt-delete-dialog/SchPayReceiptDeleteDialog\";\r\nimport { SchPublicationDeleteDialog } from \"../Scholar/Pages/schPublications/schPublication-delete-dialog/SchPublicationDeleteDialog\";\r\nimport { SchCourseWorkInfoDeleteDialog } from \"../Scholar/Pages/schCourseWorkInfos/schCourseWorkInfo-delete-dialog/SchCourseWorkInfoDeleteDialog\";\r\nimport { SchSynopsysDeleteDialog } from \"../Scholar/Pages/schSynopsyses/schSynopsys-delete-dialog/SchSynopsysDeleteDialog\";\r\n\r\nexport default function ScholarPage() {\r\n return (\r\n }>\r\n \r\n \r\n\r\n \r\n\r\n {/* */}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/scholar/schEducations\");\r\n }}\r\n />\r\n )}\r\n \r\n\r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/scholar/schThesises\");\r\n }}\r\n />\r\n )}\r\n \r\n\r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/scholar/schSynopsyses\");\r\n }}\r\n />\r\n )}\r\n \r\n\r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/scholar/schPublications\");\r\n }}\r\n />\r\n )}\r\n \r\n\r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/scholar/schPayReceipts\");\r\n }}\r\n />\r\n )}\r\n \r\n\r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/scholar/schJobInfos\");\r\n }}\r\n />\r\n )}\r\n \r\n\r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/scholar/schDocuments\");\r\n }}\r\n />\r\n )}\r\n \r\n\r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/scholar/schCourseWorkInfos\");\r\n }}\r\n />\r\n )}\r\n \r\n\r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/scholar/schConferences\");\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 { Image, Container, Card, Button } from \"react-bootstrap\";\r\nimport Accordion from \"react-bootstrap/Accordion\";\r\n// import { Tab, Nav, Col, Row } from \"react-bootstrap\";\r\n// import { ListGroup, Form } from \"react-bootstrap\";\r\nimport axios from \"axios\";\r\n// import { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\n// import SVG from \"react-inlinesvg\";\r\n// import { toAbsoluteUrl } from \"../../../../../_metronic/_helpers\";\r\n\r\nexport function GuideProfile({ history, match }) {\r\n //const id = match.params.guideId?match.params.guideId:match.params.gid;\r\n const GuideUrl = `${process.env.REACT_APP_API_URL}/api/Guide/profile`;\r\n\r\n const [guide, setGuide] = useState([]);\r\n\r\n useEffect(() => {\r\n const getGuide = async () => {\r\n const response = await axios.get(GuideUrl);\r\n setGuide(response.data);\r\n };\r\n getGuide();\r\n }, [setGuide, GuideUrl]);\r\n\r\n const GuideId = guide.guideId===undefined?0:guide.guideId;\r\n \r\n \r\n const GuiPublicationUrl = `${process.env.REACT_APP_API_URL}/api/GuiPublication/GetGuiPublicationBySchId?id=${GuideId}`;\r\n const GuiConfUrl = `${process.env.REACT_APP_API_URL}/api/GuiConf/GetGuiConfBySchId?id=${GuideId}`;\r\n const GuiJobInfoUrl = `${process.env.REACT_APP_API_URL}/api/GuiJobInfo/GetGuiJobInfoBySchId?id=${GuideId}`;\r\n const GuiEducationUrl = `${process.env.REACT_APP_API_URL}/api/GuiEducation/GetGuiEducationBySchId?id=${GuideId}`;\r\n const GuiPatentUrl = `${process.env.REACT_APP_API_URL}/api/GuiPatent/GetGuiPatentBySchId?id=${GuideId}`;\r\n const GuiAwardUrl = `${process.env.REACT_APP_API_URL}/api/GuiAward/GetGuiAwardBySchId?id=${GuideId}`;\r\n const GuiAddressUrl = `${process.env.REACT_APP_API_URL}/api/GuiAddress/GetGuiAddressBySchId?id=${GuideId}`;\r\n const GuiDocumentUrl = `${process.env.REACT_APP_API_URL}/api/GuiDocument/GetGuiDocumentBySchId?id=${GuideId}`;\r\n const GuiJjtuScholarUrl = `${process.env.REACT_APP_API_URL}/api/GuiJjtuScholar/GetGuiJjtuScholorByGuideId?id=${GuideId}`;\r\n\r\n const [guiPublication, setGuiPublication] = useState([]);\r\n const [guiConf, setGuiConf] = useState([]);\r\n const [guiJobInfo, setGuiJobInfo] = useState([]);\r\n const [guiEducation, setGuiEducation] = useState([]);\r\n const [guiPatent, setGuiPatent] = useState([]);\r\n const [guiAward, setGuiAward] = useState([]);\r\n const [guiAddress, setGuiAddress] = useState([]);\r\n const [guiDocument, setGuiDocument] = useState([]);\r\n const [guiJjtuScholar, setGuiJjtuScholar] = useState([]);\r\n\r\n useEffect(() => {\r\n const getGuiPublication = async () => {\r\n const response = await axios.get(GuiPublicationUrl);\r\n setGuiPublication(response.data);\r\n };\r\n getGuiPublication();\r\n\r\n const getGuiConf = async () => {\r\n const response = await axios.get(GuiConfUrl);\r\n setGuiConf(response.data);\r\n };\r\n getGuiConf();\r\n\r\n const getGuiJobInfo = async () => {\r\n const response = await axios.get(GuiJobInfoUrl);\r\n setGuiJobInfo(response.data);\r\n };\r\n getGuiJobInfo();\r\n\r\n const getGuiEducation = async () => {\r\n const response = await axios.get(GuiEducationUrl);\r\n setGuiEducation(response.data);\r\n };\r\n getGuiEducation();\r\n\r\n const getGuiPatent = async () => {\r\n const response = await axios.get(GuiPatentUrl);\r\n setGuiPatent(response.data);\r\n };\r\n getGuiPatent();\r\n\r\n const getGuiAward = async () => {\r\n const response = await axios.get(GuiAwardUrl);\r\n setGuiAward(response.data);\r\n };\r\n getGuiAward();\r\n const getGuiAddress = async () => {\r\n const response = await axios.get(GuiAddressUrl);\r\n setGuiAddress(response.data);\r\n };\r\n getGuiAddress();\r\n const getGuiDocument = async () => {\r\n const response = await axios.get(GuiDocumentUrl);\r\n setGuiDocument(response.data);\r\n };\r\n getGuiDocument();\r\n const getGuiJjtuScholar = async () => {\r\n const response = await axios.get(GuiJjtuScholarUrl);\r\n setGuiJjtuScholar(response.data);\r\n };\r\n getGuiJjtuScholar();\r\n }, [\r\n GuiPublicationUrl,\r\n GuiConfUrl,\r\n GuiJobInfoUrl,\r\n GuiEducationUrl,\r\n GuiPatentUrl,\r\n GuiAwardUrl,\r\n GuiAddressUrl,\r\n GuiDocumentUrl,\r\n GuiJjtuScholarUrl,\r\n GuideId,\r\n setGuiPublication,\r\n setGuiConf,\r\n setGuiJobInfo,\r\n setGuiEducation,\r\n setGuiPatent,\r\n setGuiAward,\r\n setGuiAddress,\r\n setGuiDocument,\r\n setGuiJjtuScholar,\r\n ]);\r\n\r\n // const backToGuiAddressesList = (id) => {\r\n // history.push(`/guide/guiaddresses/new/${id}`);\r\n // };\r\n const backToGuiConfsForm = (id) => {\r\n history.push(`/guide/guiconfs/new/${id}`);\r\n };\r\n const backToGuiDocumentsForm = (id) => {\r\n history.push(`/guide/guidocuments/new/${id}`);\r\n };\r\n const backToGuiEducationsForm = (id) => {\r\n history.push(`/guide/guieducations/new/${id}`);\r\n };\r\n const backToGuiAwardsForm = (id) => {\r\n history.push(`/guide/guiawards/new/${id}`);\r\n };\r\n const backToGuiJobInfosForm = (id) => {\r\n history.push(`/guide/guijobinfos/new/${id}`);\r\n };\r\n const backToGuiPublicationsForm = (id) => {\r\n history.push(`/guide/guipublications/new/${id}`);\r\n };\r\n const backToGuiPatentsForm = (id) => {\r\n history.push(`/guide/guipatents/new/${id}`);\r\n };\r\n const backToGuiJjtuScholarsForm = (id) => {\r\n history.push(`/guide/guijjtuscholars/new/${id}`);\r\n };\r\n\r\n //Edit Data By Id\r\n\r\n const openEditGuiConfsPage = (guiConfId) => {\r\n history.push(`/guide/guiconfs/${guiConfId}/edit`);\r\n };\r\n const openEditGuiDocumentsPage = (guiDocumentId) => {\r\n history.push(`/guide/guidocuments/${guiDocumentId}/edit`);\r\n };\r\n const openEditGuiEducationsPage = (guiEducationId) => {\r\n history.push(`/guide/guieducations/${guiEducationId}/edit`);\r\n };\r\n const openEditGuiAwardsPage = (guiAwardId) => {\r\n history.push(`/guide/guiawards/${guiAwardId}/edit`);\r\n };\r\n const openEditGuiJobInfosPage = (guiJobInfoId) => {\r\n history.push(`/guide/guijobinfos/${guiJobInfoId}/edit`);\r\n };\r\n const openEditGuiPublicationsPage = (guiPublicationId) => {\r\n history.push(`/guide/guipublications/${guiPublicationId}/edit`);\r\n };\r\n const openEditGuiPatentsPage = (guiPatentId) => {\r\n history.push(`/guide/guipatents/${guiPatentId}/edit`);\r\n };\r\n const openEditGuiJjtuScholarsPage = (guiJjtScholorId) => {\r\n history.push(`/guide/guijjtuscholars/${guiJjtScholorId}/edit`);\r\n };\r\n\r\n const GUI_AWARDS_URL = `${process.env.REACT_APP_API_URL}/api/GuiAward`;\r\n const deleteGuiAward = (guiAwardId) => {\r\n axios.delete(`${GUI_AWARDS_URL}/${guiAwardId}`).then((response) => {\r\n history.push(\"/guide/guideprofile\");\r\n });\r\n };\r\n\r\n const GUI_CONFS_URL = `${process.env.REACT_APP_API_URL}/api/GuiConf`;\r\n const deleteGuiConf = (guiConfId) => {\r\n axios.delete(`${GUI_CONFS_URL}/${guiConfId}`).then((response) => {\r\n history.push(\"/guide/guideprofile\");\r\n });\r\n };\r\n\r\n const GUI_DOCUMENTS_URL = `${process.env.REACT_APP_API_URL}/api/GuiDocument`;\r\n const deleteGuiDocument = (guiDocumentId) => {\r\n axios.delete(`${GUI_DOCUMENTS_URL}/${guiDocumentId}`).then((response) => {\r\n history.push(\"/guide/guideprofile\");\r\n });\r\n };\r\n\r\n const GUI_EDUCATIONS_URL = `${process.env.REACT_APP_API_URL}/api/guiEducation`;\r\n const deleteGuiEducation = (guiEducationId) => {\r\n axios.delete(`${GUI_EDUCATIONS_URL}/${guiEducationId}`).then((response) => {\r\n history.push(\"/guide/guideprofile\");\r\n });\r\n };\r\n\r\n const GUI_JJTU_SCHOLARS_URL = `${process.env.REACT_APP_API_URL}/api/GuiJjtuScholar`;\r\n const deleteGuiJjtuScholar = (guiJjtScholorId) => {\r\n axios\r\n .delete(`${GUI_JJTU_SCHOLARS_URL}/${guiJjtScholorId}`)\r\n .then((response) => {\r\n history.push(\"/guide/guideprofile\");\r\n });\r\n };\r\n\r\n const GUI_JOBINFOS_URL = `${process.env.REACT_APP_API_URL}/api/guijobinfo`;\r\n const deleteGuiJobInfo = (guiJobInfoId) => {\r\n axios.delete(`${GUI_JOBINFOS_URL}/${guiJobInfoId}`).then((response) => {\r\n history.push(\"/guide/guideprofile\");\r\n });\r\n };\r\n\r\n const GUI_PATENTS_URL = `${process.env.REACT_APP_API_URL}/api/guipatent`;\r\n const deleteGuiPatent = (guiPatentId) => {\r\n axios.delete(`${GUI_PATENTS_URL}/${guiPatentId}`).then((response) => {\r\n history.push(\"/guide/guideprofile\");\r\n });\r\n };\r\n\r\n const GUI_PUBLICATIONS_URL = `${process.env.REACT_APP_API_URL}/api/guipublication`;\r\n const deleteGuiPublications = (guiPublicationId) => {\r\n axios\r\n .delete(`${GUI_PUBLICATIONS_URL}/${guiPublicationId}`)\r\n .then((response) => {\r\n history.push(\"/guide/guideprofile\");\r\n });\r\n };\r\n\r\n\r\n \r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n

\r\n {!(guide.guideName)?\"-\" : (guide.guideName) } ({!(guide.division)?\"-\" : (guide.division) })\r\n

\r\n
\r\n
\r\n \r\n
\r\n {!(guide.registrationNumber)?\"-\" : (guide.registrationNumber) }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {!(guide.specilization)?\"-\" : (guide.specilization) }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {!(guide.primaryContact)?\"-\" : (guide.primaryContact) }/{guide.secondaryContact}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
{!(guide.subject)?\"-\" : (guide.subject) }
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {!(guide.dateOfBirth)?\"-\" : (guide.dateOfBirth) }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
{!(guide.gender)?\"-\" : (guide.gender) }
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {!(guide.primaryEmail)?\"-\" : (guide.primaryEmail) }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {!(guide.maritalStatus)?\"-\" : (guide.maritalStatus) }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {!(guide.spouseName)?\"-\" : (guide.spouseName) }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {!(guide.fatherName)?\" -\" : (guide.fatherName) }/{!(guide.motherName)?\"-\" : (guide.motherName) }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {!(guide.designation)?\" -\" : (guide.designation) }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {!(guide.secondaryEmail)?\" -\" : (guide.secondaryEmail) }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {!(guide.guideGrade)?\" -\" : (guide.guideGrade) }\r\n
\r\n
\r\n
\r\n
\r\n {guiAddress.map((addresses,guiAddressId) => (\r\n
\r\n \r\n {addresses.addressLine1}\r\n
\r\n {addresses.addressLine2},{addresses.city},\r\n {addresses.state}\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n

SUBJECT: {guide.subject}

\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n My Documents\r\n \r\n \r\n {\r\n backToGuiDocumentsForm(guide.guideId);\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 {guiDocument.map((documents, guiDocumentId) => (\r\n \r\n {documents.docTitle} :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n openEditGuiDocumentsPage(\r\n documents.guiDocumentId\r\n );\r\n }}\r\n >\r\n \r\n \r\n {\r\n deleteGuiDocument(\r\n documents.guiDocumentId\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n
\r\n ))}\r\n
\r\n {/* ))} */}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Educational Info\r\n \r\n \r\n {\r\n backToGuiEducationsForm(guide.guideId);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {guiEducation.map(\r\n (Education, guiEducationId) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n
DegreeYearSubjectPercentageBoard/ University\r\n \r\n Actions\r\n \r\n
{Education.degreeType}{Education.passingYear}{Education.subjectStudied}{Education.percentage}{Education.university}\r\n \r\n {\r\n openEditGuiEducationsPage(\r\n Education.guiEducationId\r\n );\r\n }}\r\n >\r\n \r\n \r\n {\r\n deleteGuiEducation(\r\n Education.guiEducationId\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Profession\r\n \r\n\r\n \r\n {\r\n backToGuiJobInfosForm(guide.guideId);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {guiJobInfo.map((JobInfo, guiJobInfoId) => (\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
Company NameCompany AddressDesignation Emplyment Type Start Date End Date Total Experience\r\n \r\n Actions\r\n \r\n
{JobInfo.companyName}{jobInfo.companyName} {JobInfo.jobTitle} {JobInfo.jobType} {JobInfo.startDate} {JobInfo.endDate} {JobInfo.expInYear} \r\n \r\n {\r\n openEditGuiJobInfosPage(\r\n JobInfo.guiJobInfoId\r\n );\r\n }}\r\n >\r\n \r\n \r\n {\r\n deleteGuiJobInfo(\r\n JobInfo.guiJobInfoId\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Publication\r\n \r\n\r\n \r\n {\r\n backToGuiPublicationsForm(guide.guideId);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {guiPublication.map(\r\n (Publication, guiPublicationId) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n
Publication Title Category Published Date Publish Location Remark\r\n \r\n Actions\r\n \r\n
{Publication.publicationTitle}{Publication.category}{Publication.publishedDate}{Publication.publishLocation} {Publication.remark} \r\n \r\n {\r\n openEditGuiPublicationsPage(\r\n Publication.guiPublicationId\r\n );\r\n }}\r\n >\r\n \r\n \r\n {\r\n deleteGuiPublications(\r\n Publication.guiPublicationId\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Patent\r\n \r\n\r\n \r\n {\r\n backToGuiPatentsForm(guide.guideId);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {guiPatent.map((Patent, guiPatentId) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Patent Title Patent Reg No Patenting Org Patent Desc Upload Doc\r\n \r\n Actions\r\n \r\n
{Patent.patentTitle}{Patent.patentRegNo}{Patent.patentingOrg}{Patent.patentDesc}{Patent.uploadDoc}\r\n \r\n {\r\n openEditGuiPatentsPage(\r\n Patent.guiPatentId\r\n );\r\n }}\r\n >\r\n \r\n \r\n {\r\n deleteGuiPatent(Patent.guiPatentId);\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 Conference\r\n \r\n \r\n {\r\n backToGuiConfsForm(guide.guideId);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n {guiConf.map((Conference, guiConfId) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n ))}\r\n \r\n
Category Conference Title Held Date Location Remark\r\n \r\n Actions\r\n \r\n Paper Name
{Conference.category} {Conference.confTitle}{Conference.heldDate}{Conference.location}{Conference.remark}\r\n \r\n {\r\n openEditGuiConfsPage(\r\n Conference.guiConfId\r\n );\r\n }}\r\n >\r\n \r\n \r\n {\r\n deleteGuiConf(Conference.guiConfId);\r\n }}\r\n >\r\n \r\n \r\n \r\n {guiConf.paperName}
\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 Guide JJTU Scholar\r\n \r\n \r\n {\r\n backToGuiJjtuScholarsForm(guide.guideId);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* */}\r\n \r\n {guiJjtuScholar.map(\r\n (guiJjtuScholars, guiJjtScholorId) => (\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
Scholar Id Allocation Date Remark\r\n \r\n Actions\r\n \r\n Paper Name
{guiJjtuScholars.scholarId} {guiJjtuScholars.allocationDate}{guiJjtuScholars.remark}\r\n
\r\n \r\n {\r\n openEditGuiJjtuScholarsPage(\r\n guiJjtuScholars.guiJjtScholorId\r\n );\r\n }}\r\n >\r\n \r\n \r\n {\r\n deleteGuiJjtuScholar(\r\n guiJjtuScholars.guiJjtScholorId\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n
\r\n
{guiConf.paperName}
\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 Awards\r\n \r\n \r\n {\r\n backToGuiAwardsForm(guide.guideId);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* */}\r\n \r\n {guiAward.map((Award, guiAwardId) => (\r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* */}\r\n \r\n ))}\r\n \r\n
Award Title Award Date Remark\r\n \r\n Actions\r\n \r\n Paper Name
{Award.awardTitle} {Award.awardDate}{Award.remark}\r\n \r\n {\r\n openEditGuiAwardsPage(\r\n Award.guiAwardId\r\n );\r\n }}\r\n >\r\n \r\n \r\n {\r\n deleteGuiAward(Award.guiAwardId);\r\n }}\r\n >\r\n \r\n \r\n \r\n {guiConf.paperName}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const GUI_CONFS_URL = `${process.env.REACT_APP_API_URL}/api/GuiConf`;\r\n\r\n// CREATE => POST: add a new guiConf to the server\r\nexport function createGuiConf(guiConf) {\r\n return axios.post(GUI_CONFS_URL, guiConf);\r\n}\r\n\r\n// READ\r\nexport function getAllGuiConfs() {\r\n return axios.get(GUI_CONFS_URL);\r\n}\r\n\r\nexport function getGuiConfById(guiConfId) {\r\n return axios.get(`${GUI_CONFS_URL}/${guiConfId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findGuiConfs(queryParams) {\r\n return axios.post(`${GUI_CONFS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the procuct on the server\r\nexport function updateGuiConf(guiConf) {\r\n return axios.put(`${GUI_CONFS_URL}/${guiConf.guiConfId}`, guiConf);\r\n}\r\n\r\n// // UPDATE Status\r\n// export function updateStatusForGuiConfs(ids, status) {\r\n// return axios.post(`${GUI_CONFS_URL}/updateStatusForGuiConfs`, {\r\n// ids,\r\n// status\r\n// });\r\n// }\r\n\r\n// DELETE => delete the guiConf from the server\r\nexport function deleteGuiConf(guiConfId) {\r\n return axios.delete(`${GUI_CONFS_URL}/${guiConfId}`);\r\n}\r\n\r\n// DELETE GuiConfs by ids\r\nexport function deleteGuiConfs(ids) {\r\n return axios.post(`${GUI_CONFS_URL}/deleteGuiConfs`, { ids });\r\n}\r\n","import * as requestFromServer from \"./guiConfsCrud\";\r\nimport { guiConfsSlice, callTypes } from \"./guiConfsSlice\";\r\n\r\nconst { actions } = guiConfsSlice;\r\n\r\nexport const fetchGuiConfs = (queryParams) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findGuiConfs(queryParams)\r\n .then((response) => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.guiConfsFetched({ totalCount, entities }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find guiConfs\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchGuiConf = (id) => (dispatch) => {\r\n if (!id) {\r\n return dispatch(actions.guiConfFetched({ guiConfForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getGuiConfById(id)\r\n .then((response) => {\r\n const guiConf = response.data;\r\n dispatch(actions.guiConfFetched({ guiConfForEdit: guiConf }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find guiConf\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteGuiConf = (id) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteGuiConf(id)\r\n .then((response) => {\r\n dispatch(actions.guiConfDeleted({ id }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete guiConf\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createGuiConf = (guiConfForCreation) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n guiConfForCreation.isActive = true;\r\n return requestFromServer\r\n .createGuiConf(guiConfForCreation)\r\n .then((response) => {\r\n const { guiConf } = response.data;\r\n guiConf.id = guiConf.guiConfId;\r\n dispatch(actions.guiConfCreated({ guiConf }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't create guiConf\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateGuiConf = (guiConf) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateGuiConf(guiConf)\r\n .then(() => {\r\n dispatch(actions.guiConfUpdated({ guiConf }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't update guiConf\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteGuiConfs = (ids) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteGuiConfs(ids)\r\n .then(() => {\r\n dispatch(actions.guiConfsDeleted({ ids }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete guiConfs\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\n//import axios from \"axios\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n Input,\r\n \r\n} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\n\r\n// Validation schema\r\nconst GuiConfEditSchema = Yup.object().shape({\r\n confTitle: Yup.string().required(\"Name is required\"),\r\n});\r\n\r\n//const PageUrl = `${process.env.REACT_APP_API_URL}/api/guide`;\r\n\r\nexport function GuiConfEditForm({ guiConf, btnRef, saveGuiConf }) {\r\n // const [menuForDropdown, setMenuForDropdown] = useState([]);\r\n\r\n // useEffect(() => {\r\n // const getInnerPagesWithAxios = async () => {\r\n // const response = await axios.get(PageUrl);\r\n // setMenuForDropdown(response.data);\r\n // };\r\n // getInnerPagesWithAxios();\r\n // }, [setMenuForDropdown]);\r\n\r\n const getFieldCSSClasses = (touched, errors) => {\r\n const classes = [\"form-control\"];\r\n if (touched && errors) {\r\n classes.push(\"is-invalid\");\r\n }\r\n\r\n if (touched && !errors) {\r\n classes.push(\"is-valid\");\r\n }\r\n\r\n return classes.join(\" \");\r\n };\r\n const toBase64 = (uplaodFile) =>\r\n new Promise((resolve, reject) => {\r\n if (uplaodFile && uplaodFile !== \"\" && uplaodFile !== \" \") {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(uplaodFile);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = (error) => reject(error);\r\n } else {\r\n resolve(\"\");\r\n }\r\n });\r\n return (\r\n <>\r\n {\r\n try {\r\n values.guideId = parseInt(values.guideId);\r\n }catch {}\r\n saveGuiConf(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values, touched, errors }) => (\r\n <>\r\n
\r\n \r\n
\r\n Guide Id: {guiConf.guideId}\r\n {/* \r\n \r\n {menuForDropdown\r\n .filter((menu) => menu.isActive)\r\n .map((menu, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n /> */}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n {\r\n setFieldValue(\"heldDate\", e.target.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
\r\n \r\n
\r\n \r\n {\r\n setFieldValue(\r\n \"uplaodFile\",\r\n await toBase64(e.target.files[0])\r\n );\r\n }}\r\n accept=\"file\"\r\n />\r\n
\r\n \r\n handleSubmit()}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,jsx-a11y/role-supports-aria-props */\r\nimport React, { useEffect, useState, useRef, useLayoutEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/guiConfs/guiConfsActions\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { GuiConfEditForm } from \"./GuiConfEditForm\";\r\nimport { useSubheader } from \"../../../../../../_metronic/layout\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { KTUtil } from \"../../../../../../_metronic/_assets/js/components/util\";\r\nimport KTLayoutQuickForm from \"../../../../Admin/utils/quick-form\";\r\nimport {GuideProfile} from \"../../profile/GuideProfile\";\r\nimport axios from \"axios\";\r\n\r\nconst initGuiConf = {\r\n id: undefined,\r\n guideId: 0,\r\n category: \"\",\r\n confTitle: \"\",\r\n heldDate: \"2020-10-17T04:36:46.479Z\",\r\n location: \"\",\r\n remark: \"\",\r\n link: \"\",\r\n uplaodFile: \"\",\r\n};\r\nexport function GuiConfEdit({\r\n history,\r\n match: {\r\n params: { id,gid },\r\n },\r\n}) {\r\n useLayoutEffect(() => {\r\n KTUtil.ready(function() {\r\n KTLayoutQuickForm.init(\"kt_quick_form\");\r\n });\r\n }, []);\r\n // Subheader\r\n const subheader = useSubheader();\r\n\r\n // Tabs\r\n // const [tab, setTab] = useState(\"basic\");\r\n const [title, setTitle] = useState(\"\");\r\n const dispatch = useDispatch();\r\n // const layoutDispatch = useContext(LayoutContext.Dispatch);\r\n const { actionsLoading, guiConfForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.guiConfs.actionsLoading,\r\n guiConfForEdit: state.guiConfs.guiConfForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n dispatch(actions.fetchGuiConf(id));\r\n }, [id, dispatch]);\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Guide Conference\";\r\n if (guiConfForEdit && id) {\r\n _title = `Edit Guide Conference`;\r\n }\r\n\r\n setTitle(_title);\r\n subheader.setTitle(_title);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [guiConfForEdit, id]);\r\n\r\n const saveGuiConf = (values) => {\r\n if (!id) {\r\n dispatch(actions.createGuiConf(values)).then(() => backToGuiConfsList());\r\n } else {\r\n dispatch(actions.updateGuiConf(values)).then(() => backToGuiConfsList());\r\n }\r\n };\r\n\r\n const btnRef = useRef();\r\n const saveGuiConfClick = () => {\r\n if (btnRef && btnRef.current) {\r\n btnRef.current.click();\r\n }\r\n };\r\n const id1 = id===undefined?'':id\r\n const GuideUrl = `${process.env.REACT_APP_API_URL}/api/GuiConf/${id1}`;\r\n\r\n const [guide, setGuide] = useState([]);\r\n\r\n useEffect(() => {\r\n const getGuide = async () => {\r\n const response = await axios.get(GuideUrl);\r\n setGuide(response.data);\r\n };\r\n getGuide();\r\n }, [setGuide,GuideUrl]);\r\n\r\n\r\n const GuideId = gid?gid:guide.guideId;\r\n \r\n \r\n \r\n initGuiConf.guideId=GuideId;\r\n\r\n\r\n console.log(GuideId)\r\n const backToGuiConfsList = () => {\r\n history.push(`/guide/guideprofile`);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n {actionsLoading && }\r\n \r\n \r\n \r\n \r\n Close\r\n \r\n {/* */}\r\n \r\n Save\r\n \r\n \r\n \r\n \r\n {!actionsLoading && (\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const GUI_DOCUMENTS_URL = `${process.env.REACT_APP_API_URL}/api/GuiDocument`;\r\n\r\n// CREATE => POST: add a new guiDocument to the server\r\nexport function createGuiDocument(guiDocument) {\r\n return axios.post(GUI_DOCUMENTS_URL, guiDocument);\r\n}\r\n\r\n// READ\r\nexport function getAllGuiDocuments() {\r\n return axios.get(GUI_DOCUMENTS_URL);\r\n}\r\n\r\nexport function getGuiDocumentById(guiDocumentId) {\r\n return axios.get(`${GUI_DOCUMENTS_URL}/${guiDocumentId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findGuiDocuments(queryParams) {\r\n return axios.post(`${GUI_DOCUMENTS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the procuct on the server\r\nexport function updateGuiDocument(guiDocument) {\r\n return axios.put(`${GUI_DOCUMENTS_URL}/${guiDocument.guiDocumentId}`, guiDocument);\r\n}\r\n\r\n// // UPDATE Status\r\n// export function updateStatusForGuiDocuments(ids, status) {\r\n// return axios.post(`${GUI_DOCUMENTS_URL}/updateStatusForGuiDocuments`, {\r\n// ids,\r\n// status\r\n// });\r\n// }\r\n\r\n// DELETE => delete the guiDocument from the server\r\nexport function deleteGuiDocument(guiDocumentId) {\r\n return axios.delete(`${GUI_DOCUMENTS_URL}/${guiDocumentId}`);\r\n}\r\n\r\n// DELETE GuiDocuments by ids\r\nexport function deleteGuiDocuments(ids) {\r\n return axios.post(`${GUI_DOCUMENTS_URL}/deleteGuiDocuments`, { ids });\r\n}\r\n","import * as requestFromServer from \"./guiDocumentsCrud\";\r\nimport { guiDocumentsSlice, callTypes } from \"./guiDocumentsSlice\";\r\n\r\nconst { actions } = guiDocumentsSlice;\r\n\r\nexport const fetchGuiDocuments = (queryParams) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findGuiDocuments(queryParams)\r\n .then((response) => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.guiDocumentsFetched({ totalCount, entities }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find guiDocuments\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchGuiDocument = (id) => (dispatch) => {\r\n if (!id) {\r\n return dispatch(actions.guiDocumentFetched({ guiDocumentForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getGuiDocumentById(id)\r\n .then((response) => {\r\n const guiDocument = response.data;\r\n dispatch(actions.guiDocumentFetched({ guiDocumentForEdit: guiDocument }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find guiDocument\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteGuiDocument = (id) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteGuiDocument(id)\r\n .then((response) => {\r\n dispatch(actions.guiDocumentDeleted({ id }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete guiDocument\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createGuiDocument = (guiDocumentForCreation) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n guiDocumentForCreation.isActive = true;\r\n return requestFromServer\r\n .createGuiDocument(guiDocumentForCreation)\r\n .then((response) => {\r\n const { guiDocument } = response.data;\r\n guiDocument.id = guiDocument.guiDocumentId;\r\n dispatch(actions.guiDocumentCreated({ guiDocument }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't create guiDocument\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateGuiDocument = (guiDocument) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateGuiDocument(guiDocument)\r\n .then(() => {\r\n dispatch(actions.guiDocumentUpdated({ guiDocument }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't update guiDocument\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteGuiDocuments = (ids) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteGuiDocuments(ids)\r\n .then(() => {\r\n dispatch(actions.guiDocumentsDeleted({ ids }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete guiDocuments\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Formik, Form, Field } from \"formik\";\r\n//import axios from \"axios\";\r\nimport * as Yup from \"yup\";\r\nimport { Input, } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\n// Validation schema\r\nconst GuiDocumentEditSchema = Yup.object().shape({\r\n docTitle: Yup.string().required(\"Name is required\"),\r\n});\r\n\r\n//const PageUrl = `${process.env.REACT_APP_API_URL}/api/guide`;\r\n//const PageUrl1 = `${process.env.REACT_APP_API_URL}/api/doctype`;\r\nexport function GuiDocumentEditForm({ guiDocument, btnRef, saveGuiDocument }) {\r\n // const [menuForDropdown, setMenuForDropdown] = useState([]);\r\n // const [menuForDropdown1, setMenuForDropdown1] = useState([]);\r\n\r\n // useEffect(() => {\r\n // const getInnerPagesWithAxios = async () => {\r\n // const response = await axios.get(PageUrl);\r\n // setMenuForDropdown(response.data);\r\n // };\r\n // getInnerPagesWithAxios();\r\n // }, [setMenuForDropdown]);\r\n\r\n // useEffect(() => {\r\n // const getInnerPagesWithAxios = async () => {\r\n // const response = await axios.get(PageUrl1);\r\n // setMenuForDropdown1(response.data);\r\n // };\r\n // getInnerPagesWithAxios();\r\n // }, [setMenuForDropdown1]);\r\n\r\n const getFieldCSSClasses = (touched, errors) => {\r\n const classes = [\"form-control\"];\r\n if (touched && errors) {\r\n classes.push(\"is-invalid\");\r\n }\r\n\r\n if (touched && !errors) {\r\n classes.push(\"is-valid\");\r\n }\r\n\r\n return classes.join(\" \");\r\n };\r\n const toBase64 = (uplaodDoc) =>\r\n new Promise((resolve, reject) => {\r\n if (uplaodDoc && uplaodDoc !== \"\" && uplaodDoc !== \" \") {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(uplaodDoc);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = (error) => reject(error);\r\n } else {\r\n resolve(\"\");\r\n }\r\n });\r\n return (\r\n <>\r\n {\r\n try {\r\n values.guideId = parseInt(values.guideId);\r\n } catch {}\r\n saveGuiDocument(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values, touched, errors }) => (\r\n <>\r\n
\r\n
\r\n Guide Id: {guiDocument.guideId}\r\n {/* \r\n \r\n {menuForDropdown\r\n .filter((menu) => menu.isActive)\r\n .map((menu, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n /> */}\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n \r\n {\r\n setFieldValue(\"docPath\", await toBase64(e.target.files[0]));\r\n }}\r\n accept=\"file\"\r\n />\r\n
\r\n\r\n handleSubmit()}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,jsx-a11y/role-supports-aria-props */\r\nimport React, { useEffect, useState, useRef, useLayoutEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/guiDocuments/guiDocumentsActions\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { GuiDocumentEditForm } from \"./GuiDocumentEditForm\";\r\nimport { useSubheader } from \"../../../../../../_metronic/layout\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { KTUtil } from \"../../../../../../_metronic/_assets/js/components/util\";\r\nimport KTLayoutQuickForm from \"../../../../Admin/utils/quick-form\";\r\nimport {GuideProfile} from \"../../profile/GuideProfile\"\r\nimport axios from \"axios\";\r\n\r\nconst initGuiDocument = {\r\n id: undefined,\r\n guideId: 0,\r\n docType: \"\",\r\n docTitle: \"\",\r\n docPath: \"\",\r\n \r\n};\r\nexport function GuiDocumentEdit({\r\n history,\r\n match: {\r\n params: { id,gid },\r\n },\r\n}) {\r\n useLayoutEffect(() => {\r\n KTUtil.ready(function() {\r\n KTLayoutQuickForm.init(\"kt_quick_form\");\r\n });\r\n }, []);\r\n // Subheader\r\n const subheader = useSubheader();\r\n\r\n // Tabs\r\n // const [tab, setTab] = useState(\"basic\");\r\n const [title, setTitle] = useState(\"\");\r\n const dispatch = useDispatch();\r\n // const layoutDispatch = useContext(LayoutContext.Dispatch);\r\n const { actionsLoading, guiDocumentForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.guiDocuments.actionsLoading,\r\n guiDocumentForEdit: state.guiDocuments.guiDocumentForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n dispatch(actions.fetchGuiDocument(id));\r\n }, [id, dispatch]);\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Guide Document\";\r\n if (guiDocumentForEdit && id) {\r\n _title = `Edit Guide Document `;\r\n }\r\n\r\n setTitle(_title);\r\n subheader.setTitle(_title);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [guiDocumentForEdit, id]);\r\n\r\n const saveGuiDocument = (values) => {\r\n if (!id) {\r\n dispatch(actions.createGuiDocument(values)).then(() =>\r\n backToGuiDocumentsList()\r\n );\r\n } else {\r\n dispatch(actions.updateGuiDocument(values)).then(() =>\r\n backToGuiDocumentsList()\r\n );\r\n }\r\n };\r\n\r\n const btnRef = useRef();\r\n const saveGuiDocumentClick = () => {\r\n if (btnRef && btnRef.current) {\r\n btnRef.current.click();\r\n }\r\n };\r\n\r\n const id1 = id===undefined?'':id\r\n const GuideUrl = `${process.env.REACT_APP_API_URL}/api/guiDocument/${id1}`;\r\n\r\n const [guide, setGuide] = useState([]);\r\n\r\n useEffect(() => {\r\n const getGuide = async () => {\r\n const response = await axios.get(GuideUrl);\r\n setGuide(response.data);\r\n };\r\n getGuide();\r\n }, [setGuide,GuideUrl]);\r\n\r\n\r\n const GuideId = gid?gid:guide.guideId;\r\n \r\n \r\n \r\n initGuiDocument.guideId=GuideId;\r\n\r\n console.log(GuideId)\r\n\r\n const backToGuiDocumentsList = () => {\r\n history.push(`/guide/guideprofile`);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n {actionsLoading && }\r\n \r\n \r\n \r\n \r\n Close\r\n \r\n {/* */}\r\n \r\n Save\r\n \r\n \r\n \r\n \r\n {!actionsLoading && (\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const GUI_PATENTS_URL = `${process.env.REACT_APP_API_URL}/api/GuiPatent`;\r\n\r\n// CREATE => POST: add a new guiPatent to the server\r\nexport function createGuiPatent(guiPatent) {\r\n return axios.post(GUI_PATENTS_URL, guiPatent);\r\n}\r\n\r\n// READ\r\nexport function getAllGuiPatents() {\r\n return axios.get(GUI_PATENTS_URL);\r\n}\r\n\r\nexport function getGuiPatentById(guiPatentId) {\r\n return axios.get(`${GUI_PATENTS_URL}/${guiPatentId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findGuiPatents(queryParams) {\r\n return axios.post(`${GUI_PATENTS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the procuct on the server\r\nexport function updateGuiPatent(guiPatent) {\r\n return axios.put(`${GUI_PATENTS_URL}/${guiPatent.guiPatentId}`, guiPatent);\r\n}\r\n\r\n// // UPDATE Status\r\n// export function updateStatusForGuiPatents(ids, status) {\r\n// return axios.post(`${GUI_PATENTS_URL}/updateStatusForGuiPatents`, {\r\n// ids,\r\n// status\r\n// });\r\n// }\r\n\r\n// DELETE => delete the guiPatent from the server\r\nexport function deleteGuiPatent(guiPatentId) {\r\n return axios.delete(`${GUI_PATENTS_URL}/${guiPatentId}`);\r\n}\r\n\r\n// DELETE GuiPatents by ids\r\nexport function deleteGuiPatents(ids) {\r\n return axios.post(`${GUI_PATENTS_URL}/deleteGuiPatents`, { ids });\r\n}\r\n","import * as requestFromServer from \"./guiPatentsCrud\";\r\nimport { guiPatentsSlice, callTypes } from \"./guiPatentsSlice\";\r\n\r\nconst { actions } = guiPatentsSlice;\r\n\r\nexport const fetchGuiPatents = (queryParams) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findGuiPatents(queryParams)\r\n .then((response) => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.guiPatentsFetched({ totalCount, entities }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find guiPatents\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchGuiPatent = (id) => (dispatch) => {\r\n if (!id) {\r\n return dispatch(actions.guiPatentFetched({ guiPatentForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getGuiPatentById(id)\r\n .then((response) => {\r\n const guiPatent = response.data;\r\n dispatch(actions.guiPatentFetched({ guiPatentForEdit: guiPatent }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find guiPatent\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteGuiPatent = (id) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteGuiPatent(id)\r\n .then((response) => {\r\n dispatch(actions.guiPatentDeleted({ id }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete guiPatent\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createGuiPatent = (guiPatentForCreation) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n guiPatentForCreation.isActive = true;\r\n return requestFromServer\r\n .createGuiPatent(guiPatentForCreation)\r\n .then((response) => {\r\n const { guiPatent } = response.data;\r\n guiPatent.id = guiPatent.guiPatentId;\r\n dispatch(actions.guiPatentCreated({ guiPatent }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't create guiPatent\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateGuiPatent = (guiPatent) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateGuiPatent(guiPatent)\r\n .then(() => {\r\n dispatch(actions.guiPatentUpdated({ guiPatent }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't update guiPatent\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteGuiPatents = (ids) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteGuiPatents(ids)\r\n .then(() => {\r\n dispatch(actions.guiPatentsDeleted({ ids }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete guiPatents\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Formik, Form, Field } from \"formik\";\r\n//import axios from \"axios\";\r\nimport * as Yup from \"yup\";\r\n// import CKEditor from \"ckeditor4-react\";\r\n// import { Config } from \"./../../../../Admin/utils/CkeditorConfig\";\r\nimport {\r\n Input,\r\n \r\n} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\n\r\n// Validation schema\r\nconst GuiPatentEditSchema = Yup.object().shape({\r\n patentTitle: Yup.string().required(\"Name is required\"),\r\n});\r\n\r\n//const PageUrl = `${process.env.REACT_APP_API_URL}/api/guide`;\r\n\r\nexport function GuiPatentEditForm({ guiPatent, btnRef, saveGuiPatent }) {\r\n //const [menuForDropdown, setMenuForDropdown] = useState([]);\r\n\r\n // useEffect(() => {\r\n // const getInnerPagesWithAxios = async () => {\r\n // const response = await axios.get(PageUrl);\r\n // setMenuForDropdown(response.data);\r\n // };\r\n // getInnerPagesWithAxios();\r\n // }, [setMenuForDropdown]);\r\n const getFieldCSSClasses = (touched, errors) => {\r\n const classes = [\"form-control\"];\r\n if (touched && errors) {\r\n classes.push(\"is-invalid\");\r\n }\r\n\r\n if (touched && !errors) {\r\n classes.push(\"is-valid\");\r\n }\r\n\r\n return classes.join(\" \");\r\n };\r\n const toBase64 = (uplaodDoc) =>\r\n new Promise((resolve, reject) => {\r\n if (uplaodDoc && uplaodDoc !== \"\" && uplaodDoc !== \" \") {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(uplaodDoc);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = (error) => reject(error);\r\n } else {\r\n resolve(\"\");\r\n }\r\n });\r\n return (\r\n <>\r\n {\r\n try {\r\n values.guideId = parseInt(values.guideId);\r\n }catch {}\r\n saveGuiPatent(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values, touched, errors }) => (\r\n <>\r\n
\r\n \r\n
\r\n Guide Id: {guiPatent.guideId}\r\n {/* \r\n \r\n {menuForDropdown\r\n .filter((menu) => menu.isActive)\r\n .map((menu, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n /> */}\r\n
\r\n
\r\n \r\n
\r\n {/*
\r\n \r\n\r\n {\r\n setFieldValue(\"patentDesc\", e.editor.getData());\r\n }}\r\n />\r\n
*/}\r\n
\r\n \r\n
\r\n {/*
\r\n \r\n
*/}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n {\r\n setFieldValue(\r\n \"uplaodDoc\",\r\n await toBase64(e.target.files[0])\r\n );\r\n }}\r\n accept=\"file\"\r\n />\r\n
\r\n \r\n handleSubmit()}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,jsx-a11y/role-supports-aria-props */\r\nimport React, { useEffect, useState, useRef, useLayoutEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/guiPatents/guiPatentsActions\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { GuiPatentEditForm } from \"./GuiPatentEditForm\";\r\nimport { useSubheader } from \"../../../../../../_metronic/layout\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { KTUtil } from \"../../../../../../_metronic/_assets/js/components/util\";\r\nimport KTLayoutQuickForm from \"../../../../Admin/utils/quick-form\";\r\nimport {GuideProfile} from \"../../profile/GuideProfile\";\r\nimport axios from \"axios\";\r\n\r\nconst initGuiPatent = {\r\n id: undefined,\r\n guideId: 0,\r\n patentRegNo: \"\",\r\n patentingOrg: \"\",\r\n patentTitle: \"\",\r\n patentDesc: \"\",\r\n uploadDoc: \"\",\r\n};\r\nexport function GuiPatentEdit({\r\n history,\r\n match: {\r\n params: { id,gid },\r\n },\r\n}) {\r\n useLayoutEffect(() => {\r\n KTUtil.ready(function() {\r\n KTLayoutQuickForm.init(\"kt_quick_form\");\r\n });\r\n }, []);\r\n // Subheader\r\n const subheader = useSubheader();\r\n\r\n // Tabs\r\n // const [tab, setTab] = useState(\"basic\");\r\n const [title, setTitle] = useState(\"\");\r\n const dispatch = useDispatch();\r\n // const layoutDispatch = useContext(LayoutContext.Dispatch);\r\n const { actionsLoading, guiPatentForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.guiPatents.actionsLoading,\r\n guiPatentForEdit: state.guiPatents.guiPatentForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n dispatch(actions.fetchGuiPatent(id));\r\n }, [id, dispatch]);\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Guide Patent\";\r\n if (guiPatentForEdit && id) {\r\n _title = `Edit Guide Patent`;\r\n }\r\n\r\n setTitle(_title);\r\n subheader.setTitle(_title);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [guiPatentForEdit, id]);\r\n\r\n const saveGuiPatent = (values) => {\r\n if (!id) {\r\n dispatch(actions.createGuiPatent(values)).then(() =>\r\n backToGuiPatentsList()\r\n );\r\n } else {\r\n dispatch(actions.updateGuiPatent(values)).then(() =>\r\n backToGuiPatentsList()\r\n );\r\n }\r\n };\r\n\r\n const btnRef = useRef();\r\n const saveGuiPatentClick = () => {\r\n if (btnRef && btnRef.current) {\r\n btnRef.current.click();\r\n }\r\n };\r\n\r\n const id1 = id===undefined?'':id\r\n const GuideUrl = `${process.env.REACT_APP_API_URL}/api/GuiPatent/${id1}`;\r\n\r\n const [guide, setGuide] = useState([]);\r\n\r\n useEffect(() => {\r\n const getGuide = async () => {\r\n const response = await axios.get(GuideUrl);\r\n setGuide(response.data);\r\n };\r\n getGuide();\r\n }, [setGuide,GuideUrl]);\r\n\r\n\r\n const GuideId = gid?gid:guide.guideId; \r\n \r\n initGuiPatent.guideId=GuideId;\r\n\r\n\r\n const backToGuiPatentsList = () => {\r\n history.push(`/guide/guideprofile`);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n {actionsLoading && }\r\n \r\n \r\n \r\n \r\n Close\r\n \r\n {/* */}\r\n \r\n Save\r\n \r\n \r\n \r\n \r\n {!actionsLoading && (\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const GUI_EDUCATIONS_URL = `${process.env.REACT_APP_API_URL}/api/GuiEducation`;\r\n\r\n// CREATE => POST: add a new guiEducation to the server\r\nexport function createGuiEducation(guiEducation) {\r\n return axios.post(GUI_EDUCATIONS_URL, guiEducation);\r\n}\r\n\r\n// READ\r\nexport function getAllGuiEducations() {\r\n return axios.get(GUI_EDUCATIONS_URL);\r\n}\r\n\r\nexport function getGuiEducationById(guiEducationId) {\r\n return axios.get(`${GUI_EDUCATIONS_URL}/${guiEducationId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findGuiEducations(queryParams) {\r\n return axios.post(`${GUI_EDUCATIONS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the procuct on the server\r\nexport function updateGuiEducation(guiEducation) {\r\n return axios.put(`${GUI_EDUCATIONS_URL}/${guiEducation.guiEducationId}`, guiEducation);\r\n}\r\n\r\n// // UPDATE Status\r\n// export function updateStatusForGuiEducations(ids, status) {\r\n// return axios.post(`${GUI_EDUCATIONS_URL}/updateStatusForGuiEducations`, {\r\n// ids,\r\n// status\r\n// });\r\n// }\r\n\r\n// DELETE => delete the guiEducation from the server\r\nexport function deleteGuiEducation(guiEducationId) {\r\n return axios.delete(`${GUI_EDUCATIONS_URL}/${guiEducationId}`);\r\n}\r\n\r\n// DELETE GuiEducations by ids\r\nexport function deleteGuiEducations(ids) {\r\n return axios.post(`${GUI_EDUCATIONS_URL}/deleteGuiEducations`, { ids });\r\n}\r\n","import * as requestFromServer from \"./guiEducationsCrud\";\r\nimport { guiEducationsSlice, callTypes } from \"./guiEducationsSlice\";\r\n\r\nconst { actions } = guiEducationsSlice;\r\n\r\nexport const fetchGuiEducations = (queryParams) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findGuiEducations(queryParams)\r\n .then((response) => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.guiEducationsFetched({ totalCount, entities }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find guiEducations\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchGuiEducation = (id) => (dispatch) => {\r\n if (!id) {\r\n return dispatch(actions.guiEducationFetched({ guiEducationForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getGuiEducationById(id)\r\n .then((response) => {\r\n const guiEducation = response.data;\r\n dispatch(actions.guiEducationFetched({ guiEducationForEdit: guiEducation }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find guiEducation\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteGuiEducation = (id) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteGuiEducation(id)\r\n .then((response) => {\r\n dispatch(actions.guiEducationDeleted({ id }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete guiEducation\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createGuiEducation = (guiEducationForCreation) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n guiEducationForCreation.isActive = true;\r\n return requestFromServer\r\n .createGuiEducation(guiEducationForCreation)\r\n .then((response) => {\r\n const { guiEducation } = response.data;\r\n guiEducation.id = guiEducation.guiEducationId;\r\n dispatch(actions.guiEducationCreated({ guiEducation }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't create guiEducation\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateGuiEducation = (guiEducation) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateGuiEducation(guiEducation)\r\n .then(() => {\r\n dispatch(actions.guiEducationUpdated({ guiEducation }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't update guiEducation\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteGuiEducations = (ids) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteGuiEducations(ids)\r\n .then(() => {\r\n dispatch(actions.guiEducationsDeleted({ ids }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete guiEducations\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Formik, Form, Field } from \"formik\";\r\n//import axios from \"axios\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n Input,\r\n \r\n} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\n\r\n// Validation schema\r\nconst GuiEducationEditSchema = Yup.object().shape({\r\n examName: Yup.string().required(\"Name is required\"),\r\n});\r\n\r\n//const PageUrl = `${process.env.REACT_APP_API_URL}/api/guide`;\r\n\r\nexport function GuiEducationEditForm({ guiEducation, btnRef, saveGuiEducation }) {\r\n // const [menuForDropdown, setMenuForDropdown] = useState([]);\r\n\r\n // useEffect(() => {\r\n // const getInnerPagesWithAxios = async () => {\r\n // const response = await axios.get(PageUrl);\r\n // setMenuForDropdown(response.data);\r\n // };\r\n // getInnerPagesWithAxios();\r\n // }, [setMenuForDropdown]);\r\n return (\r\n <>\r\n {\r\n try {\r\n values.guideId = parseInt(values.guideId);\r\n }catch {}\r\n saveGuiEducation(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values }) => (\r\n <>\r\n
\r\n \r\n
\r\n Guide Id: {guiEducation.guideId}\r\n {/* \r\n \r\n {menuForDropdown\r\n .filter((menu) => menu.isActive)\r\n .map((menu, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n /> */}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n handleSubmit()}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,jsx-a11y/role-supports-aria-props */\r\nimport React, { useEffect, useState, useRef, useLayoutEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/guiEducations/guiEducationsActions\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { GuiEducationEditForm } from \"./GuiEducationEditForm\";\r\nimport { useSubheader } from \"../../../../../../_metronic/layout\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { KTUtil } from \"../../../../../../_metronic/_assets/js/components/util\";\r\nimport KTLayoutQuickForm from \"../../../../Admin/utils/quick-form\";\r\nimport {GuideProfile} from \"../../profile/GuideProfile\";\r\nimport axios from \"axios\";\r\n\r\nconst initGuiEducation = {\r\n id: undefined,\r\n guideId: 0,\r\n degreeType: \"\",\r\n examName: \"\",\r\n passingYear: \"\",\r\n subjectStudied: \"\",\r\n percentage: \"\",\r\n university: \"\",\r\n};\r\nexport function GuiEducationEdit({\r\n history,\r\n match: {\r\n params: { id,gid },\r\n },\r\n}) {\r\n useLayoutEffect(() => {\r\n KTUtil.ready(function() {\r\n KTLayoutQuickForm.init(\"kt_quick_form\");\r\n });\r\n }, []);\r\n // Subheader\r\n const subheader = useSubheader();\r\n\r\n // Tabs\r\n // const [tab, setTab] = useState(\"basic\");\r\n const [title, setTitle] = useState(\"\");\r\n const dispatch = useDispatch();\r\n // const layoutDispatch = useContext(LayoutContext.Dispatch);\r\n const { actionsLoading, guiEducationForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.guiEducations.actionsLoading,\r\n guiEducationForEdit: state.guiEducations.guiEducationForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n dispatch(actions.fetchGuiEducation(id));\r\n }, [id, dispatch]);\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Guide Education\";\r\n if (guiEducationForEdit && id) {\r\n _title = `Edit Guide Education`;\r\n }\r\n\r\n setTitle(_title);\r\n subheader.setTitle(_title);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [guiEducationForEdit, id]);\r\n\r\n const saveGuiEducation = (values) => {\r\n if (!id) {\r\n dispatch(actions.createGuiEducation(values)).then(() =>\r\n backToGuiEducationsList()\r\n );\r\n } else {\r\n dispatch(actions.updateGuiEducation(values)).then(() =>\r\n backToGuiEducationsList()\r\n );\r\n }\r\n };\r\n\r\n const btnRef = useRef();\r\n const saveGuiEducationClick = () => {\r\n if (btnRef && btnRef.current) {\r\n btnRef.current.click();\r\n }\r\n };\r\n\r\n\r\n const id1 = id===undefined?'':id\r\n const GuideUrl = `${process.env.REACT_APP_API_URL}/api/guiEducation/${id1}`;\r\n\r\n const [guide, setGuide] = useState([]);\r\n\r\n useEffect(() => {\r\n const getGuide = async () => {\r\n const response = await axios.get(GuideUrl);\r\n setGuide(response.data);\r\n };\r\n getGuide();\r\n }, [setGuide,GuideUrl]);\r\n\r\n\r\n const GuideId = gid?gid:guide.guideId;\r\n \r\n \r\n \r\n initGuiEducation.guideId=GuideId;\r\n\r\n console.log(GuideId)\r\n\r\n const backToGuiEducationsList = () => {\r\n history.push(`/guide/guideprofile`);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n {actionsLoading && }\r\n \r\n \r\n \r\n \r\n Close\r\n \r\n {/* */}\r\n \r\n Save\r\n \r\n \r\n \r\n \r\n {!actionsLoading && (\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const GUI_JOBINFOS_URL = `${process.env.REACT_APP_API_URL}/api/GuiJobInfo`;\r\n\r\n// CREATE => POST: add a new guiJobInfo to the server\r\nexport function createGuiJobInfo(guiJobInfo) {\r\n return axios.post(GUI_JOBINFOS_URL, guiJobInfo);\r\n}\r\n\r\n// READ\r\nexport function getAllGuiJobInfos() {\r\n return axios.get(GUI_JOBINFOS_URL);\r\n}\r\n\r\nexport function getGuiJobInfoById(guiJobInfoId) {\r\n return axios.get(`${GUI_JOBINFOS_URL}/${guiJobInfoId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findGuiJobInfos(queryParams) {\r\n return axios.post(`${GUI_JOBINFOS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the procuct on the server\r\nexport function updateGuiJobInfo(guiJobInfo) {\r\n return axios.put(`${GUI_JOBINFOS_URL}/${guiJobInfo.guiJobInfoId}`, guiJobInfo);\r\n}\r\n\r\n// // UPDATE Status\r\n// export function updateStatusForGuiJobInfos(ids, status) {\r\n// return axios.post(`${GUI_JOBINFOS_URL}/updateStatusForGuiJobInfos`, {\r\n// ids,\r\n// status\r\n// });\r\n// }\r\n\r\n// DELETE => delete the guiJobInfo from the server\r\nexport function deleteGuiJobInfo(guiJobInfoId) {\r\n return axios.delete(`${GUI_JOBINFOS_URL}/${guiJobInfoId}`);\r\n}\r\n\r\n// DELETE GuiJobInfos by ids\r\nexport function deleteGuiJobInfos(ids) {\r\n return axios.post(`${GUI_JOBINFOS_URL}/deleteGuiJobInfos`, { ids });\r\n}\r\n","import * as requestFromServer from \"./guiJobInfosCrud\";\r\nimport { guiJobInfosSlice, callTypes } from \"./guiJobInfosSlice\";\r\n\r\nconst { actions } = guiJobInfosSlice;\r\n\r\nexport const fetchGuiJobInfos = (queryParams) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findGuiJobInfos(queryParams)\r\n .then((response) => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.guiJobInfosFetched({ totalCount, entities }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find guiJobInfos\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchGuiJobInfo = (id) => (dispatch) => {\r\n if (!id) {\r\n return dispatch(actions.guiJobInfoFetched({ guiJobInfoForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getGuiJobInfoById(id)\r\n .then((response) => {\r\n const guiJobInfo = response.data;\r\n dispatch(actions.guiJobInfoFetched({ guiJobInfoForEdit: guiJobInfo }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find guiJobInfo\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteGuiJobInfo = (id) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteGuiJobInfo(id)\r\n .then((response) => {\r\n dispatch(actions.guiJobInfoDeleted({ id }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete guiJobInfo\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createGuiJobInfo = (guiJobInfoForCreation) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n guiJobInfoForCreation.isActive = true;\r\n return requestFromServer\r\n .createGuiJobInfo(guiJobInfoForCreation)\r\n .then((response) => {\r\n const { guiJobInfo } = response.data;\r\n guiJobInfo.id = guiJobInfo.guiJobInfoId;\r\n dispatch(actions.guiJobInfoCreated({ guiJobInfo }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't create guiJobInfo\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateGuiJobInfo = (guiJobInfo) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateGuiJobInfo(guiJobInfo)\r\n .then(() => {\r\n dispatch(actions.guiJobInfoUpdated({ guiJobInfo }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't update guiJobInfo\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteGuiJobInfos = (ids) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteGuiJobInfos(ids)\r\n .then(() => {\r\n dispatch(actions.guiJobInfosDeleted({ ids }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete guiJobInfos\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Formik, Form, Field } from \"formik\";\r\n//import axios from \"axios\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n Input,\r\n \r\n} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\n\r\n// Validation schema\r\nconst GuiJobInfoEditSchema = Yup.object().shape({\r\n companyName: Yup.string().required(\"Name is required\"),\r\n});\r\n\r\n//const PageUrl = `${process.env.REACT_APP_API_URL}/api/guide`;\r\n\r\nexport function GuiJobInfoEditForm({ guiJobInfo, btnRef, saveGuiJobInfo }) {\r\n // const [menuForDropdown, setMenuForDropdown] = useState([]);\r\n\r\n // useEffect(() => {\r\n // const getInnerPagesWithAxios = async () => {\r\n // const response = await axios.get(PageUrl);\r\n // setMenuForDropdown(response.data);\r\n // };\r\n // getInnerPagesWithAxios();\r\n // }, [setMenuForDropdown]);\r\n return (\r\n <>\r\n {\r\n try {\r\n values.guideId = parseInt(values.guideId);\r\n }catch {}\r\n saveGuiJobInfo(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values }) => (\r\n <>\r\n
\r\n \r\n
\r\n Guide Id: {guiJobInfo.guideId}\r\n {/* \r\n \r\n {menuForDropdown\r\n .filter((menu) => menu.isActive)\r\n .map((menu, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n /> */}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setFieldValue(\"startDate\", e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setFieldValue(\"endDate\", e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n handleSubmit()}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,jsx-a11y/role-supports-aria-props */\r\nimport React, { useEffect, useState, useRef, useLayoutEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/guiJobInfos/guiJobInfosActions\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { GuiJobInfoEditForm } from \"./GuiJobInfoEditForm\";\r\nimport { useSubheader } from \"../../../../../../_metronic/layout\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { KTUtil } from \"../../../../../../_metronic/_assets/js/components/util\";\r\nimport KTLayoutQuickForm from \"../../../../Admin/utils/quick-form\";\r\nimport {GuideProfile} from \"../../profile/GuideProfile\";\r\nimport axios from \"axios\";\r\n\r\nconst initGuiJobInfo = {\r\n id: undefined,\r\n guideId: 0,\r\n companyName: \"\",\r\n jobTitle: \"\",\r\n jobType: \"\",\r\n startDate: \"2020-10-17T04:43:24.265Z\",\r\n endDate: \"2020-10-17T04:43:24.265Z\",\r\n expInYear: \"\",\r\n remark: \"\",\r\n};\r\nexport function GuiJobInfoEdit({\r\n history,\r\n match: {\r\n params: { id,gid },\r\n },\r\n}) {\r\n useLayoutEffect(() => {\r\n KTUtil.ready(function() {\r\n KTLayoutQuickForm.init(\"kt_quick_form\");\r\n });\r\n }, []);\r\n // Subheader\r\n const subheader = useSubheader();\r\n\r\n // Tabs\r\n // const [tab, setTab] = useState(\"basic\");\r\n const [title, setTitle] = useState(\"\");\r\n const dispatch = useDispatch();\r\n // const layoutDispatch = useContext(LayoutContext.Dispatch);\r\n const { actionsLoading, guiJobInfoForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.guiJobInfos.actionsLoading,\r\n guiJobInfoForEdit: state.guiJobInfos.guiJobInfoForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n dispatch(actions.fetchGuiJobInfo(id));\r\n }, [id, dispatch]);\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Guide JobInfo\";\r\n if (guiJobInfoForEdit && id) {\r\n _title = `Edit Guide JobInfo '`;\r\n }\r\n\r\n setTitle(_title);\r\n subheader.setTitle(_title);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [guiJobInfoForEdit, id]);\r\n\r\n const saveGuiJobInfo = (values) => {\r\n if (!id) {\r\n dispatch(actions.createGuiJobInfo(values)).then(() =>\r\n backToGuiJobInfosList()\r\n );\r\n } else {\r\n dispatch(actions.updateGuiJobInfo(values)).then(() =>\r\n backToGuiJobInfosList()\r\n );\r\n }\r\n };\r\n\r\n const btnRef = useRef();\r\n const saveGuiJobInfoClick = () => {\r\n if (btnRef && btnRef.current) {\r\n btnRef.current.click();\r\n }\r\n };\r\n const id1 = id===undefined?'':id\r\n const GuideUrl = `${process.env.REACT_APP_API_URL}/api/guiJobInfo/${id1}`;\r\n\r\n const [guide, setGuide] = useState([]);\r\n\r\n useEffect(() => {\r\n const getGuide = async () => {\r\n const response = await axios.get(GuideUrl);\r\n setGuide(response.data);\r\n };\r\n getGuide();\r\n }, [setGuide,GuideUrl]);\r\n\r\n\r\n const GuideId = gid?gid:guide.guideId;\r\n \r\n \r\n \r\n initGuiJobInfo.guideId=GuideId;\r\n console.log(GuideId)\r\n\r\n const backToGuiJobInfosList = () => {\r\n history.push(`/guide/guideprofile`);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n {actionsLoading && }\r\n \r\n \r\n \r\n \r\n Close\r\n \r\n {/* */}\r\n \r\n Save\r\n \r\n \r\n \r\n \r\n {!actionsLoading && (\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const GUI_AWARDS_URL = `${process.env.REACT_APP_API_URL}/api/GuiAward`;\r\n\r\n// CREATE => POST: add a new guiAward to the server\r\nexport function createGuiAward(guiAward) {\r\n return axios.post(GUI_AWARDS_URL, guiAward);\r\n}\r\n\r\n// READ\r\nexport function getAllGuiAwards() {\r\n return axios.get(GUI_AWARDS_URL);\r\n}\r\n\r\nexport function getGuiAwardById(guiAwardId) {\r\n return axios.get(`${GUI_AWARDS_URL}/${guiAwardId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findGuiAwards(queryParams) {\r\n return axios.post(`${GUI_AWARDS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the procuct on the server\r\nexport function updateGuiAward(guiAward) {\r\n return axios.put(`${GUI_AWARDS_URL}/${guiAward.guiAwardId}`, guiAward);\r\n}\r\n\r\n// // UPDATE Status\r\n// export function updateStatusForGuiAwards(ids, status) {\r\n// return axios.post(`${GUI_AWARDS_URL}/updateStatusForGuiAwards`, {\r\n// ids,\r\n// status\r\n// });\r\n// }\r\n\r\n// DELETE => delete the guiAward from the server\r\nexport function deleteGuiAward(guiAwardId) {\r\n return axios.delete(`${GUI_AWARDS_URL}/${guiAwardId}`);\r\n}\r\n\r\n// DELETE GuiAwards by ids\r\nexport function deleteGuiAwards(ids) {\r\n return axios.post(`${GUI_AWARDS_URL}/deleteGuiAwards`, { ids });\r\n}\r\n","import * as requestFromServer from \"./guiAwardsCrud\";\r\nimport { guiAwardsSlice, callTypes } from \"./guiAwardsSlice\";\r\n\r\nconst { actions } = guiAwardsSlice;\r\n\r\nexport const fetchGuiAwards = (queryParams) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findGuiAwards(queryParams)\r\n .then((response) => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.guiAwardsFetched({ totalCount, entities }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find guiAwards\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchGuiAward = (id) => (dispatch) => {\r\n if (!id) {\r\n return dispatch(actions.guiAwardFetched({ guiAwardForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getGuiAwardById(id)\r\n .then((response) => {\r\n const guiAward = response.data;\r\n dispatch(actions.guiAwardFetched({ guiAwardForEdit: guiAward }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find guiAward\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteGuiAward = (id) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteGuiAward(id)\r\n .then((response) => {\r\n dispatch(actions.guiAwardDeleted({ id }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete guiAward\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createGuiAward = (guiAwardForCreation) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n guiAwardForCreation.isActive = true;\r\n return requestFromServer\r\n .createGuiAward(guiAwardForCreation)\r\n .then((response) => {\r\n const { guiAward } = response.data;\r\n guiAward.id = guiAward.guiAwardId;\r\n dispatch(actions.guiAwardCreated({ guiAward }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't create guiAward\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateGuiAward = (guiAward) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateGuiAward(guiAward)\r\n .then(() => {\r\n dispatch(actions.guiAwardUpdated({ guiAward }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't update guiAward\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteGuiAwards = (ids) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteGuiAwards(ids)\r\n .then(() => {\r\n dispatch(actions.guiAwardsDeleted({ ids }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete guiAwards\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Formik, Form, Field } from \"formik\";\r\n//import axios from \"axios\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport * as Yup from \"yup\";\r\n\r\nimport { Input } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\n\r\n// Validation schema\r\nconst GuiAwardEditSchema = Yup.object().shape({\r\n awardTitle: Yup.string().required(\"Name is required\"),\r\n});\r\n\r\n//const PageUrl = `${process.env.REACT_APP_API_URL}/api/guide`;\r\n\r\nexport function GuiAwardEditForm({ guiAward, btnRef, saveGuiAward }) {\r\n // const [menuForDropdown, setMenuForDropdown] = useState([]);\r\n\r\n // useEffect(() => {\r\n // const getInnerPagesWithAxios = async () => {\r\n // const response = await axios.get(PageUrl);\r\n // setMenuForDropdown(response.data);\r\n // };\r\n // getInnerPagesWithAxios();\r\n // }, [setMenuForDropdown]);\r\n\r\n const getFieldCSSClasses = (touched, errors) => {\r\n const classes = [\"form-control\"];\r\n if (touched && errors) {\r\n classes.push(\"is-invalid\");\r\n }\r\n\r\n if (touched && !errors) {\r\n classes.push(\"is-valid\");\r\n }\r\n\r\n return classes.join(\" \");\r\n };\r\n const toBase64 = (uplaodDoc) =>\r\n new Promise((resolve, reject) => {\r\n if (uplaodDoc && uplaodDoc !== \"\" && uplaodDoc !== \" \") {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(uplaodDoc);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = (error) => reject(error);\r\n } else {\r\n resolve(\"\");\r\n }\r\n });\r\n return (\r\n <>\r\n {\r\n try {\r\n values.guideId = parseInt(values.guideId);\r\n } catch {}\r\n saveGuiAward(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values, touched, errors }) => (\r\n <>\r\n
\r\n
\r\n Guide Id: {guiAward.guideId}\r\n {/* \r\n \r\n {menuForDropdown\r\n .filter((menu) => menu.isActive)\r\n .map((menu, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n /> */}\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n {\r\n setFieldValue(\"awardDate\", e.target.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 setFieldValue(\r\n \"uplaodDoc\",\r\n await toBase64(e.target.files[0])\r\n );\r\n }}\r\n accept=\"file\"\r\n />\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n handleSubmit()}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,jsx-a11y/role-supports-aria-props */\r\nimport React, { useEffect, useState, useRef, useLayoutEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/guiAwards/guiAwardsActions\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { GuiAwardEditForm } from \"./GuiAwardEditForm\";\r\nimport { useSubheader } from \"../../../../../../_metronic/layout\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { KTUtil } from \"../../../../../../_metronic/_assets/js/components/util\";\r\nimport KTLayoutQuickForm from \"../../../../Admin/utils/quick-form\";\r\nimport {GuideProfile} from \"../../profile/GuideProfile\";\r\nimport axios from \"axios\";\r\n\r\nconst initGuiAward = {\r\n id: undefined,\r\n guideId: 0,\r\n awardTitle: \"\",\r\n awardDate: \"2020-10-17T04:16:37.559Z\",\r\n remark: \"\",\r\n uplaodDoc: \"\",\r\n remark1: \"\",\r\n \r\n};\r\nexport default function GuiAwardEdit({\r\n history,\r\n match: {\r\n params: { id,gid },\r\n },\r\n}) {\r\n useLayoutEffect(() => {\r\n KTUtil.ready(function() {\r\n KTLayoutQuickForm.init(\"kt_quick_form\");\r\n });\r\n }, []);\r\n // Subheader\r\n const subheader = useSubheader();\r\n\r\n // Tabs\r\n // const [tab, setTab] = useState(\"basic\");\r\n const [title, setTitle] = useState(\"\");\r\n const dispatch = useDispatch();\r\n // const layoutDispatch = useContext(LayoutContext.Dispatch);\r\n const { actionsLoading, guiAwardForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.guiAwards.actionsLoading,\r\n guiAwardForEdit: state.guiAwards.guiAwardForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n dispatch(actions.fetchGuiAward(id));\r\n }, [id, dispatch]);\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Guide Award\";\r\n if (guiAwardForEdit && id) {\r\n _title = `Edit Guide Award `;\r\n }\r\n\r\n setTitle(_title);\r\n subheader.setTitle(_title);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [guiAwardForEdit, id]);\r\n\r\n const saveGuiAward = (values) => {\r\n if (!id) {\r\n dispatch(actions.createGuiAward(values)).then(() =>\r\n backToGuiAwardsList()\r\n );\r\n } else {\r\n dispatch(actions.updateGuiAward(values)).then(() =>\r\n backToGuiAwardsList()\r\n );\r\n }\r\n };\r\n\r\n const btnRef = useRef();\r\n const saveGuiAwardClick = () => {\r\n if (btnRef && btnRef.current) {\r\n btnRef.current.click();\r\n }\r\n };\r\n\r\n\r\n const id1 = id===undefined?'':id\r\n const GuideUrl = `${process.env.REACT_APP_API_URL}/api/guiAward/${id1}`;\r\n\r\n const [guide, setGuide] = useState([]);\r\n\r\n useEffect(() => {\r\n const getGuide = async () => {\r\n const response = await axios.get(GuideUrl);\r\n setGuide(response.data);\r\n };\r\n getGuide();\r\n }, [setGuide,GuideUrl]);\r\n\r\n\r\n const GuideId = gid?gid:guide.guideId;\r\n \r\n \r\n \r\n initGuiAward.guideId=GuideId;\r\n\r\n console.log(GuideId)\r\n\r\n const backToGuiAwardsList = () => {\r\n history.push(`/guide/guideprofile`);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n {actionsLoading && }\r\n \r\n \r\n \r\n \r\n Close\r\n \r\n {/* */}\r\n \r\n Save\r\n \r\n \r\n \r\n \r\n {!actionsLoading && (\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const GUI_PUBLICATIONS_URL = `${process.env.REACT_APP_API_URL}/api/GuiPublication`;\r\n\r\n// CREATE => POST: add a new guiPublication to the server\r\nexport function createGuiPublication(guiPublication) {\r\n return axios.post(GUI_PUBLICATIONS_URL, guiPublication);\r\n}\r\n\r\n// READ\r\nexport function getAllGuiPublications() {\r\n return axios.get(GUI_PUBLICATIONS_URL);\r\n}\r\n\r\nexport function getGuiPublicationById(guiPublicationId) {\r\n return axios.get(`${GUI_PUBLICATIONS_URL}/${guiPublicationId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findGuiPublications(queryParams) {\r\n return axios.post(`${GUI_PUBLICATIONS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the procuct on the server\r\nexport function updateGuiPublication(guiPublication) {\r\n return axios.put(`${GUI_PUBLICATIONS_URL}/${guiPublication.guiPublicationId}`, guiPublication);\r\n}\r\n\r\n// // UPDATE Status\r\n// export function updateStatusForGuiPublications(ids, status) {\r\n// return axios.post(`${GUI_PUBLICATIONS_URL}/updateStatusForGuiPublications`, {\r\n// ids,\r\n// status\r\n// });\r\n// }\r\n\r\n// DELETE => delete the guiPublication from the server\r\nexport function deleteGuiPublication(guiPublicationId) {\r\n return axios.delete(`${GUI_PUBLICATIONS_URL}/${guiPublicationId}`);\r\n}\r\n\r\n// DELETE GuiPublications by ids\r\nexport function deleteGuiPublications(ids) {\r\n return axios.post(`${GUI_PUBLICATIONS_URL}/deleteGuiPublications`, { ids });\r\n}\r\n","import * as requestFromServer from \"./guiPublicationsCrud\";\r\nimport { guiPublicationsSlice, callTypes } from \"./guiPublicationsSlice\";\r\n\r\nconst { actions } = guiPublicationsSlice;\r\n\r\nexport const fetchGuiPublications = (queryParams) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findGuiPublications(queryParams)\r\n .then((response) => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.guiPublicationsFetched({ totalCount, entities }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find guiPublications\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchGuiPublication = (id) => (dispatch) => {\r\n if (!id) {\r\n return dispatch(actions.guiPublicationFetched({ guiPublicationForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getGuiPublicationById(id)\r\n .then((response) => {\r\n const guiPublication = response.data;\r\n dispatch(actions.guiPublicationFetched({ guiPublicationForEdit: guiPublication }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find guiPublication\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteGuiPublication = (id) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteGuiPublication(id)\r\n .then((response) => {\r\n dispatch(actions.guiPublicationDeleted({ id }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete guiPublication\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createGuiPublication = (guiPublicationForCreation) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n guiPublicationForCreation.isActive = true;\r\n return requestFromServer\r\n .createGuiPublication(guiPublicationForCreation)\r\n .then((response) => {\r\n const { guiPublication } = response.data;\r\n guiPublication.id = guiPublication.guiPublicationId;\r\n dispatch(actions.guiPublicationCreated({ guiPublication }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't create guiPublication\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateGuiPublication = (guiPublication) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateGuiPublication(guiPublication)\r\n .then(() => {\r\n dispatch(actions.guiPublicationUpdated({ guiPublication }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't update guiPublication\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteGuiPublications = (ids) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteGuiPublications(ids)\r\n .then(() => {\r\n dispatch(actions.guiPublicationsDeleted({ ids }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete guiPublications\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Formik, Form, Field } from \"formik\";\r\n//import axios from \"axios\";\r\nimport * as Yup from \"yup\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport { Input } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\n\r\n// Validation schema\r\nconst GuiPublicationEditSchema = Yup.object().shape({\r\n publicationTitle : Yup.string().required(\"Title is required\"),\r\n});\r\n\r\n//const PageUrl = `${process.env.REACT_APP_API_URL}/api/guide`;\r\n\r\nexport function GuiPublicationEditForm({\r\n guiPublication,\r\n btnRef,\r\n saveGuiPublication,\r\n}) {\r\n //const [menuForDropdown, setMenuForDropdown] = useState([]);\r\n\r\n // useEffect(() => {\r\n // const getInnerPagesWithAxios = async () => {\r\n // const response = await axios.get(PageUrl);\r\n // setMenuForDropdown(response.data);\r\n // };\r\n // getInnerPagesWithAxios();\r\n // }, [setMenuForDropdown]);\r\n\r\n const getFieldCSSClasses = (touched, errors) => {\r\n const classes = [\"form-control\"];\r\n if (touched && errors) {\r\n classes.push(\"is-invalid\");\r\n }\r\n\r\n if (touched && !errors) {\r\n classes.push(\"is-valid\");\r\n }\r\n\r\n return classes.join(\" \");\r\n };\r\n const toBase64 = (uplaodDoc) =>\r\n new Promise((resolve, reject) => {\r\n if (uplaodDoc && uplaodDoc !== \"\" && uplaodDoc !== \" \") {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(uplaodDoc);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = (error) => reject(error);\r\n } else {\r\n resolve(\"\");\r\n }\r\n });\r\n return (\r\n <>\r\n {\r\n try {\r\n values.guideId = parseInt(values.guideId);\r\n }catch {}\r\n saveGuiPublication(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values, touched, errors }) => (\r\n <>\r\n
\r\n
\r\n Guide Id: {guiPublication.guideId} \r\n {/* \r\n \r\n {menuForDropdown\r\n .filter((menu) => menu.isActive)\r\n .map((menu, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n /> */}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setFieldValue(\"publishedDate\", e.target.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 \r\n {\r\n setFieldValue(\r\n \"uplaodFile\",\r\n await toBase64(e.target.files[0])\r\n );\r\n }}\r\n accept=\"file\"\r\n />\r\n
\r\n\r\n handleSubmit()}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,jsx-a11y/role-supports-aria-props */\r\nimport React, { useEffect, useState, useRef, useLayoutEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/guiPublications/guiPublicationsActions\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { GuiPublicationEditForm } from \"./GuiPublicationEditForm\";\r\nimport { useSubheader } from \"../../../../../../_metronic/layout\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { KTUtil } from \"../../../../../../_metronic/_assets/js/components/util\";\r\nimport KTLayoutQuickForm from \"../../../../Admin/utils/quick-form\";\r\nimport {GuideProfile} from \"../../profile/GuideProfile\";\r\nimport axios from \"axios\";\r\n\r\nconst initGuiPublication = {\r\n id: undefined,\r\n guideId: 0,\r\n category: \"\",\r\n publicationTitle: \"\",\r\n link: \"\",\r\n publishedDate: \"2020-10-17T04:45:42.438Z\",\r\n publishLocation: \"\",\r\n remark: \"\",\r\n uplaodFile: \"\",\r\n};\r\nexport function GuiPublicationEdit({\r\n history,\r\n match: {\r\n params: { id,gid},\r\n },\r\n}) {\r\n useLayoutEffect(() => {\r\n KTUtil.ready(function() {\r\n KTLayoutQuickForm.init(\"kt_quick_form\");\r\n });\r\n }, []);\r\n // Subheader\r\n const subheader = useSubheader();\r\n\r\n // Tabs\r\n // const [tab, setTab] = useState(\"basic\");\r\n const [title, setTitle] = useState(\"\");\r\n const dispatch = useDispatch();\r\n // const layoutDispatch = useContext(LayoutContext.Dispatch);\r\n const { actionsLoading, guiPublicationForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.guiPublications.actionsLoading,\r\n guiPublicationForEdit: state.guiPublications.guiPublicationForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n dispatch(actions.fetchGuiPublication(id));\r\n }, [id, dispatch]);\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Guide Publication\";\r\n if (guiPublicationForEdit && id) {\r\n _title = `Edit Guide Publication`;\r\n }\r\n\r\n setTitle(_title);\r\n subheader.setTitle(_title);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [guiPublicationForEdit, id]);\r\n\r\n const saveGuiPublication = (values) => {\r\n if (!id) {\r\n dispatch(actions.createGuiPublication(values)).then(() =>\r\n backToGuiPublicationsList()\r\n );\r\n } else {\r\n dispatch(actions.updateGuiPublication(values)).then(() =>\r\n backToGuiPublicationsList()\r\n );\r\n }\r\n };\r\n\r\n const btnRef = useRef();\r\n const saveGuiPublicationClick = () => {\r\n if (btnRef && btnRef.current) {\r\n btnRef.current.click();\r\n }\r\n };\r\n const id1 = id===undefined?'':id\r\n const GuideUrl = `${process.env.REACT_APP_API_URL}/api/guiPublication/${id1}`;\r\n\r\n const [guide, setGuide] = useState([]);\r\n\r\n useEffect(() => {\r\n const getGuide = async () => {\r\n const response = await axios.get(GuideUrl);\r\n setGuide(response.data);\r\n };\r\n getGuide();\r\n }, [setGuide,GuideUrl]);\r\n\r\n\r\n const GuideId = gid?gid:guide.guideId;\r\n initGuiPublication.guideId=GuideId;\r\n\r\n\r\n const backToGuiPublicationsList = () => {\r\n history.push(`/guide/guideprofile`);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n {actionsLoading && }\r\n \r\n \r\n \r\n \r\n Close\r\n \r\n {/* */}\r\n \r\n Save\r\n \r\n \r\n \r\n \r\n {!actionsLoading && (\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const GUI_JJTU_SCHOLARS_URL = `${process.env.REACT_APP_API_URL}/api/GuiJjtuScholar`;\r\n\r\n// CREATE => POST: add a new guiJjtuScholar to the server\r\nexport function createGuiJjtuScholar(guiJjtuScholar) {\r\n return axios.post(GUI_JJTU_SCHOLARS_URL, guiJjtuScholar);\r\n}\r\n\r\n// READ\r\nexport function getAllGuiJjtuScholars() {\r\n return axios.get(GUI_JJTU_SCHOLARS_URL);\r\n}\r\n\r\nexport function getGuiJjtuScholarById(guiJjtuScholarId) {\r\n return axios.get(`${GUI_JJTU_SCHOLARS_URL}/${guiJjtuScholarId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findGuiJjtuScholars(queryParams) {\r\n return axios.post(`${GUI_JJTU_SCHOLARS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the procuct on the server\r\nexport function updateGuiJjtuScholar(guiJjtuScholar) {\r\n return axios.put(`${GUI_JJTU_SCHOLARS_URL}/${guiJjtuScholar.guiJjtuScholarId}`, guiJjtuScholar);\r\n}\r\n\r\n// // UPDATE Status\r\n// export function updateStatusForGuiJjtuScholars(ids, status) {\r\n// return axios.post(`${GUI_JJTU_SCHOLARS_URL}/updateStatusForGuiJjtuScholars`, {\r\n// ids,\r\n// status\r\n// });\r\n// }\r\n\r\n// DELETE => delete the guiJjtuScholar from the server\r\nexport function deleteGuiJjtuScholar(guiJjtuScholarId) {\r\n return axios.delete(`${GUI_JJTU_SCHOLARS_URL}/${guiJjtuScholarId}`);\r\n}\r\n\r\n// DELETE GuiJjtuScholars by ids\r\nexport function deleteGuiJjtuScholars(ids) {\r\n return axios.post(`${GUI_JJTU_SCHOLARS_URL}/deleteGuiJjtuScholars`, { ids });\r\n}\r\n","import * as requestFromServer from \"./guiJjtuScholarsCrud\";\r\nimport { guiJjtuScholarsSlice, callTypes } from \"./guiJjtuScholarsSlice\";\r\n\r\nconst { actions } = guiJjtuScholarsSlice;\r\n\r\nexport const fetchGuiJjtuScholars = (queryParams) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findGuiJjtuScholars(queryParams)\r\n .then((response) => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.guiJjtuScholarsFetched({ totalCount, entities }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find guiJjtuScholars\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchGuiJjtuScholar = (id) => (dispatch) => {\r\n if (!id) {\r\n return dispatch(actions.guiJjtuScholarFetched({ guiJjtuScholarForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getGuiJjtuScholarById(id)\r\n .then((response) => {\r\n const guiJjtuScholar = response.data;\r\n dispatch(actions.guiJjtuScholarFetched({ guiJjtuScholarForEdit: guiJjtuScholar }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't find guiJjtuScholar\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteGuiJjtuScholar = (id) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteGuiJjtuScholar(id)\r\n .then((response) => {\r\n dispatch(actions.guiJjtuScholarDeleted({ id }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete guiJjtuScholar\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createGuiJjtuScholar = (guiJjtuScholarForCreation) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n guiJjtuScholarForCreation.isActive = true;\r\n return requestFromServer\r\n .createGuiJjtuScholar(guiJjtuScholarForCreation)\r\n .then((response) => {\r\n const { guiJjtuScholar } = response.data;\r\n guiJjtuScholar.id = guiJjtuScholar.guiJjtuScholarId;\r\n dispatch(actions.guiJjtuScholarCreated({ guiJjtuScholar }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't create guiJjtuScholar\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateGuiJjtuScholar = (guiJjtuScholar) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateGuiJjtuScholar(guiJjtuScholar)\r\n .then(() => {\r\n dispatch(actions.guiJjtuScholarUpdated({ guiJjtuScholar }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't update guiJjtuScholar\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteGuiJjtuScholars = (ids) => (dispatch) => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteGuiJjtuScholars(ids)\r\n .then(() => {\r\n dispatch(actions.guiJjtuScholarsDeleted({ ids }));\r\n })\r\n .catch((error) => {\r\n error.clientMessage = \"Can't delete guiJjtuScholars\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport axios from \"axios\";\r\nimport * as Yup from \"yup\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport {\r\n Input,\r\n Select,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\n\r\n// Validation schema\r\nconst GuiJjtuScholarEditSchema = Yup.object().shape({\r\n allocationDate: Yup.date().required(\"Allocation Date is required\"),\r\n});\r\n\r\n//const PageUrl = `${process.env.REACT_APP_API_URL}/api/guide`;\r\nconst PageUrl1 = `${process.env.REACT_APP_API_URL}/api/Scholar`;\r\n\r\nexport function GuiJjtuScholarEditForm({ guiJjtuScholar, btnRef, saveGuiJjtuScholar }) {\r\n //const [menuForDropdown, setMenuForDropdown] = useState([]);\r\n const [menuForDropdown1, setMenuForDropdown1] = useState([]);\r\n\r\n // useEffect(() => {\r\n // const getInnerPagesWithAxios = async () => {\r\n // const response = await axios.get(PageUrl);\r\n // setMenuForDropdown(response.data);\r\n // };\r\n // getInnerPagesWithAxios();\r\n // }, [setMenuForDropdown]);\r\n\r\n useEffect(() => {\r\n const getInnerPagesWithAxios1 = async () => {\r\n const response = await axios.get(PageUrl1);\r\n setMenuForDropdown1(response.data);\r\n };\r\n getInnerPagesWithAxios1();\r\n }, [setMenuForDropdown1]);\r\n\r\n\r\n return (\r\n <>\r\n {\r\n try {\r\n values.guideId = parseInt(values.guideId);\r\n values.scholarId = parseInt(values.scholarId);\r\n }catch {}\r\n saveGuiJjtuScholar(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values,touched, errors }) => (\r\n <>\r\n
\r\n \r\n
\r\n Guide Id: {guiJjtuScholar.guideId}\r\n {/* \r\n \r\n {menuForDropdown\r\n .filter((menu) => menu.isActive)\r\n .map((menu, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n /> */}\r\n
\r\n
\r\n \r\n \r\n \r\n {menuForDropdown1\r\n .filter((menu) => menu.isActive)\r\n .map((menu, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n /> \r\n
\r\n
\r\n {\r\n setFieldValue(\"allocationDate\", e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n handleSubmit()}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,jsx-a11y/role-supports-aria-props */\r\nimport React, { useEffect, useState, useRef, useLayoutEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/guiJjtuScholars/guiJjtuScholarsActions\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { GuiJjtuScholarEditForm } from \"./GuiJjtuScholarEditForm\";\r\nimport { useSubheader } from \"../../../../../../_metronic/layout\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { KTUtil } from \"../../../../../../_metronic/_assets/js/components/util\";\r\nimport KTLayoutQuickForm from \"../../../../Admin/utils/quick-form\";\r\nimport {GuideProfile} from \"../../profile/GuideProfile\"\r\nimport axios from \"axios\";\r\n\r\nconst initGuiJjtuScholar = {\r\n id: undefined,\r\n guideId: 0,\r\n scholarId: 0,\r\n allocationDate: \"2020-10-19T12:17:40.994Z\",\r\n remark: \"\",\r\n \r\n};\r\nexport function GuiJjtuScholarEdit({\r\n history,\r\n match: {\r\n params: { id,gid },\r\n },\r\n}) {\r\n useLayoutEffect(() => {\r\n KTUtil.ready(function() {\r\n KTLayoutQuickForm.init(\"kt_quick_form\");\r\n });\r\n }, []);\r\n // Subheader\r\n const subheader = useSubheader();\r\n\r\n // Tabs\r\n // const [tab, setTab] = useState(\"basic\");\r\n const [title, setTitle] = useState(\"\");\r\n const dispatch = useDispatch();\r\n // const layoutDispatch = useContext(LayoutContext.Dispatch);\r\n const { actionsLoading, guiJjtuScholarForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.guiJjtuScholars.actionsLoading,\r\n guiJjtuScholarForEdit: state.guiJjtuScholars.guiJjtuScholarForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n dispatch(actions.fetchGuiJjtuScholar(id));\r\n }, [id, dispatch]);\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Guide JjtuScholar\";\r\n if (guiJjtuScholarForEdit && id) {\r\n _title = `Edit Guide JjtuScholar`;\r\n }\r\n\r\n setTitle(_title);\r\n subheader.setTitle(_title);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [guiJjtuScholarForEdit, id]);\r\n\r\n const saveGuiJjtuScholar = (values) => {\r\n if (!id) {\r\n dispatch(actions.createGuiJjtuScholar(values)).then(() =>\r\n backToGuiJjtuScholarsList()\r\n );\r\n } else {\r\n dispatch(actions.updateGuiJjtuScholar(values)).then(() =>\r\n backToGuiJjtuScholarsList()\r\n );\r\n }\r\n };\r\n\r\n const btnRef = useRef();\r\n const saveGuiJjtuScholarClick = () => {\r\n if (btnRef && btnRef.current) {\r\n btnRef.current.click();\r\n }\r\n };\r\n\r\n const id1 = id===undefined?'':id\r\n const GuideUrl = `${process.env.REACT_APP_API_URL}/api/GuiJjtuScholar/${id1}`;\r\n\r\n const [guide, setGuide] = useState([]);\r\n\r\n useEffect(() => {\r\n const getGuide = async () => {\r\n const response = await axios.get(GuideUrl);\r\n setGuide(response.data);\r\n };\r\n getGuide();\r\n }, [setGuide,GuideUrl]);\r\n\r\n\r\n const GuideId = gid?gid:guide.guideId;\r\n \r\n \r\n \r\n initGuiJjtuScholar.guideId=GuideId;\r\n\r\n console.log(GuideId)\r\n const backToGuiJjtuScholarsList = () => {\r\n history.push(`/guide/guideprofile`);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n {actionsLoading && }\r\n \r\n \r\n \r\n \r\n Close\r\n \r\n {/* */}\r\n \r\n Save\r\n \r\n \r\n \r\n \r\n {!actionsLoading && (\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n","import React, { Suspense } from \"react\";\r\nimport { Redirect, Switch } from \"react-router-dom\";\r\nimport { LayoutSplashScreen, ContentRoute } from \"../../../_metronic/layout\";\r\nimport { GuideProfile } from \"./pages/profile/GuideProfile\";\r\nimport { GuiConfEdit } from \"./pages/guiConfs/guiConf-edit/GuiConfEdit\";\r\nimport { GuiDocumentEdit } from \"./pages/guiDocuments/guiDocument-edit/GuiDocumentEdit\";\r\nimport { GuiPatentEdit } from \"./pages/guiPatents/guiPatent-edit/GuiPatentEdit\";\r\nimport { GuiEducationEdit } from \"./pages/guiEducations/guiEducation-edit/GuiEducationEdit\";\r\nimport { GuiJobInfoEdit } from \"./pages/guiJobInfos/guiJobInfo-edit/GuiJobInfoEdit\";\r\nimport GuiAwardEdit from \"./pages/guiAwards/guiAward-edit/GuiAwardEdit\";\r\nimport { GuiPublicationEdit } from \"./pages/guiPublications/guiPublication-edit/GuiPublicationEdit\";\r\nimport { GuiJjtuScholarEdit } from \"./pages/guiJjtuScholars/guiJjtuScholar-edit/GuiJjtuScholarEdit\";\r\n// import { GuiAddressEdit } from \"../Guide/Pages/guiAddresses/guiAddress-edit/GuiAddressEdit\";\r\n\r\n// import { GuiAddressDeleteDialog } from \"../Guide/Pages/guiAddresses/guiAddress-delete-dialog/GuiAddressDeleteDialog\";\r\n//import { GuiAwardDeleteDialog } from \"../Guide/Pages/guiAwards/guiAward-delete-dialog/GuiAwardDeleteDialog\";\r\n// import { GuiConfDeleteDialog } from \"../Guide/Pages/guiConfs/guiConf-delete-dialog/GuiConfDeleteDialog\";\r\n// import { GuiDocumentDeleteDialog } from \"../Guide/Pages/guiDocuments/guiDocument-delete-dialog/GuiDocumentDeleteDialog\";\r\n// import { GuiEducationDeleteDialog } from \"../Guide/Pages/guiEducations/guiEducation-delete-dialog/GuiEducationDeleteDialog\";\r\n// import { GuiJjtuScholarDeleteDialog } from \"../Guide/Pages/guiJjtuScholars/guiJjtuScholardelete-dialog/GuiJjtuScholarDeleteDialog\";\r\n// import { GuiJobInfoDeleteDialog } from \"../Guide/Pages/guiJobInfos/GuiJobInfo-delete-dialog/GuiJobInfoDeleteDialog\";\r\n// import { GuiPatentDeleteDialog } from \"../Guide/Pages/guiPatents/guiPatent-delete-dialog/GuiPatentDeleteDialog\";\r\n// import { GuiPublicationDeleteDialog } from \"../Guide/Pages/guiPublications/guiPublication-delete-dialog/GuiPublicationDeleteDialog\";\r\n\r\nexport default function GuidePage() {\r\n return (\r\n }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n );\r\n}\r\n","import React, { Suspense, lazy } from \"react\";\r\nimport { Redirect, Switch, Route } from \"react-router-dom\";\r\nimport { LayoutSplashScreen, ContentRoute } from \"../_metronic/layout\";\r\nimport { useSelector } from \"react-redux\";\r\n\r\n// import {BuilderPage} from \"./pages/BuilderPage\";\r\n// import {MyPage} from \"./pages/MyPage\";\r\nimport { DashboardPage } from \"./pages/DashboardPage\";\r\nimport BaseFile from \"../components/BaseFile\";\r\nimport ScholarPage from \"./modules/Scholar/ScholarPage\";\r\nimport GuidePage from \"./modules/Guide/GuidePage\";\r\n\r\n// const GoogleMaterialPage = lazy(() =>\r\n// import(\"./modules/GoogleMaterialExamples/GoogleMaterialPage\")\r\n// );\r\n// const ReactBootstrapPage = lazy(() =>\r\n// import(\"./modules/ReactBootstrapExamples/ReactBootstrapPage\")\r\n// );\r\n// const ECommercePage = lazy(() =>\r\n// import(\"./modules/ECommerce/pages/eCommercePage\")\r\n// );\r\nconst AdminPage = lazy(() => import(\"./modules/Admin/pages/AdminPage\"));\r\n\r\nexport default function BasePage() {\r\n const { user } = useSelector((state) => state.auth);\r\n\r\n // const PageUrl = `${process.env.REACT_APP_API_URL}/api/userrole/{id}`;\r\n // useEffect(() => {\r\n // const getInnerPagesWithAxios = async () => {\r\n // const response = await axios.get(PageUrl);\r\n // user(response.data);\r\n // };\r\n // getInnerPagesWithAxios();\r\n // }, [user]);\r\n\r\n return (\r\n }>\r\n \r\n {user.role === 1 ? : \" \"}\r\n {user.role === 2 ? : \" \"}\r\n {user.role === 3 ? : \" \"}\r\n \r\n \r\n {/* {user.role === 1 ? (\r\n \r\n ) : (\r\n \r\n )} */}\r\n ​​​​\r\n {user.role === 1 ? : \" \"}\r\n ​​​​ ​​​​\r\n {user.role === 2 || user.role === 1 ? : \"\"}\r\n ​​​​​\r\n {user.role === 3 || user.role === 1 ? : \"\"}\r\n ​​​​​\r\n \r\n {/* */}\r\n \r\n \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { useFormik } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport { connect } from \"react-redux\";\r\nimport { FormattedMessage, injectIntl } from \"react-intl\";\r\nimport * as auth from \"../_redux/authRedux\";\r\nimport { login } from \"../_redux/authCrud\";\r\n\r\n/*\r\n INTL (i18n) docs:\r\n https://github.com/formatjs/react-intl/blob/master/docs/Components.md#formattedmessage\r\n*/\r\n\r\n/*\r\n Formik+YUP:\r\n https://jaredpalmer.com/formik/docs/tutorial#getfieldprops\r\n*/\r\n\r\nconst initialValues = {\r\n email: \"\",\r\n password: \"\",\r\n};\r\n\r\nfunction Login(props) {\r\n const { intl } = props;\r\n const [loading, setLoading] = useState(false);\r\n const LoginSchema = Yup.object().shape({\r\n email: Yup.string()\r\n .email(\"Wrong email format\")\r\n .min(3, \"Minimum 3 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\r\n intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\",\r\n })\r\n ),\r\n password: Yup.string()\r\n .min(3, \"Minimum 3 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\r\n intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\",\r\n })\r\n ),\r\n });\r\n\r\n const enableLoading = () => {\r\n setLoading(true);\r\n };\r\n\r\n const disableLoading = () => {\r\n setLoading(false);\r\n };\r\n\r\n const getInputClasses = (fieldname) => {\r\n if (formik.touched[fieldname] && formik.errors[fieldname]) {\r\n return \"is-invalid\";\r\n }\r\n\r\n if (formik.touched[fieldname] && !formik.errors[fieldname]) {\r\n return \"is-valid\";\r\n }\r\n\r\n return \"\";\r\n };\r\n \r\n const formik = useFormik({\r\n initialValues,\r\n validationSchema: LoginSchema,\r\n onSubmit: (values, { setStatus, setSubmitting }) => {\r\n enableLoading();\r\n setTimeout(() => {\r\n login(values.email, values.password)\r\n .then(({ data: { accessToken } }) => {\r\n disableLoading();\r\n props.login(accessToken);\r\n \r\n })\r\n .catch(() => {\r\n disableLoading();\r\n setSubmitting(false);\r\n setStatus(\r\n intl.formatMessage({\r\n id: \"AUTH.VALIDATION.INVALID_LOGIN\",\r\n })\r\n );\r\n });\r\n }, 1000);\r\n },\r\n });\r\n\r\n return (\r\n
\r\n {/* begin::Head */}\r\n
\r\n

\r\n \r\n

\r\n

\r\n Enter your username and password\r\n

\r\n
\r\n {/* end::Head */}\r\n\r\n {/*begin::Form*/}\r\n \r\n {formik.status ? (\r\n
\r\n
{formik.status}
\r\n
\r\n ) : (\r\n
\r\n //
\r\n //
\r\n // Use account admin@demo.com and password{\" \"}\r\n // demo to continue.\r\n //
\r\n //
\r\n )}\r\n\r\n
\r\n \r\n {formik.touched.email && formik.errors.email ? (\r\n
\r\n
{formik.errors.email}
\r\n
\r\n ) : null}\r\n
\r\n
\r\n \r\n {formik.touched.password && formik.errors.password ? (\r\n
\r\n
{formik.errors.password}
\r\n
\r\n ) : null}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Sign In\r\n {loading && }\r\n \r\n
\r\n \r\n {/*end::Form*/}\r\n
\r\n );\r\n}\r\n\r\nexport default injectIntl(connect(null, auth.actions)(Login));\r\n","import React, { useState } from \"react\";\r\nimport { useFormik } from \"formik\";\r\nimport { connect } from \"react-redux\";\r\nimport * as Yup from \"yup\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { FormattedMessage, injectIntl } from \"react-intl\";\r\nimport * as auth from \"../_redux/authRedux\";\r\nimport { register } from \"../_redux/authCrud\";\r\n\r\nconst initialValues = {\r\n fullname: \"\",\r\n email: \"\",\r\n username: \"\",\r\n password: \"\",\r\n changepassword: \"\",\r\n acceptTerms: false,\r\n};\r\n\r\nfunction Registration(props) {\r\n const { intl } = props;\r\n const [loading, setLoading] = useState(false);\r\n const RegistrationSchema = Yup.object().shape({\r\n fullname: Yup.string()\r\n .min(3, \"Minimum 3 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\r\n intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\",\r\n })\r\n ),\r\n email: Yup.string()\r\n .email(\"Wrong email format\")\r\n .min(3, \"Minimum 3 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\r\n intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\",\r\n })\r\n ),\r\n username: Yup.string()\r\n .min(3, \"Minimum 3 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\r\n intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\",\r\n })\r\n ),\r\n password: Yup.string()\r\n .min(3, \"Minimum 3 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\r\n intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\",\r\n })\r\n ),\r\n changepassword: Yup.string()\r\n .required(\r\n intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\",\r\n })\r\n )\r\n .when(\"password\", {\r\n is: (val) => (val && val.length > 0 ? true : false),\r\n then: Yup.string().oneOf(\r\n [Yup.ref(\"password\")],\r\n \"Password and Confirm Password didn't match\"\r\n ),\r\n }),\r\n acceptTerms: Yup.bool().required(\r\n \"You must accept the terms and conditions\"\r\n ),\r\n });\r\n\r\n const enableLoading = () => {\r\n setLoading(true);\r\n };\r\n\r\n const disableLoading = () => {\r\n setLoading(false);\r\n };\r\n\r\n const getInputClasses = (fieldname) => {\r\n if (formik.touched[fieldname] && formik.errors[fieldname]) {\r\n return \"is-invalid\";\r\n }\r\n\r\n if (formik.touched[fieldname] && !formik.errors[fieldname]) {\r\n return \"is-valid\";\r\n }\r\n\r\n return \"\";\r\n };\r\n\r\n const formik = useFormik({\r\n initialValues,\r\n validationSchema: RegistrationSchema,\r\n onSubmit: (values, { setStatus, setSubmitting }) => {\r\n enableLoading();\r\n register(values.email, values.fullname, values.username, values.password)\r\n .then(({ data: { accessToken } }) => {\r\n props.register(accessToken);\r\n disableLoading();\r\n })\r\n .catch(() => {\r\n setSubmitting(false);\r\n setStatus(\r\n intl.formatMessage({\r\n id: \"AUTH.VALIDATION.INVALID_LOGIN\",\r\n })\r\n );\r\n disableLoading();\r\n });\r\n },\r\n });\r\n\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n

\r\n Enter your details to create your account\r\n

\r\n
\r\n\r\n \r\n {/* begin: Alert */}\r\n {formik.status && (\r\n
\r\n
{formik.status}
\r\n
\r\n )}\r\n {/* end: Alert */}\r\n\r\n {/* begin: Fullname */}\r\n
\r\n \r\n {formik.touched.fullname && formik.errors.fullname ? (\r\n
\r\n
{formik.errors.fullname}
\r\n
\r\n ) : null}\r\n
\r\n {/* end: Fullname */}\r\n\r\n {/* begin: Email */}\r\n
\r\n \r\n {formik.touched.email && formik.errors.email ? (\r\n
\r\n
{formik.errors.email}
\r\n
\r\n ) : null}\r\n
\r\n {/* end: Email */}\r\n\r\n {/* begin: Username */}\r\n
\r\n \r\n {formik.touched.username && formik.errors.username ? (\r\n
\r\n
{formik.errors.username}
\r\n
\r\n ) : null}\r\n
\r\n {/* end: Username */}\r\n\r\n {/* begin: Password */}\r\n
\r\n \r\n {formik.touched.password && formik.errors.password ? (\r\n
\r\n
{formik.errors.password}
\r\n
\r\n ) : null}\r\n
\r\n {/* end: Password */}\r\n\r\n {/* begin: Confirm Password */}\r\n
\r\n \r\n {formik.touched.changepassword && formik.errors.changepassword ? (\r\n
\r\n
\r\n {formik.errors.changepassword}\r\n
\r\n
\r\n ) : null}\r\n
\r\n {/* end: Confirm Password */}\r\n\r\n {/* begin: Terms and Conditions */}\r\n
\r\n \r\n {formik.touched.acceptTerms && formik.errors.acceptTerms ? (\r\n
\r\n
{formik.errors.acceptTerms}
\r\n
\r\n ) : null}\r\n
\r\n {/* end: Terms and Conditions */}\r\n
\r\n \r\n Submit\r\n {loading && }\r\n \r\n\r\n \r\n \r\n Cancel\r\n \r\n \r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default injectIntl(connect(null, auth.actions)(Registration));\r\n","import React, { useState } from \"react\";\r\nimport { useFormik } from \"formik\";\r\nimport { connect } from \"react-redux\";\r\nimport { Link, Redirect } from \"react-router-dom\";\r\nimport * as Yup from \"yup\";\r\nimport { injectIntl } from \"react-intl\";\r\nimport * as auth from \"../_redux/authRedux\";\r\nimport { requestPassword } from \"../_redux/authCrud\";\r\n\r\nconst initialValues = {\r\n email: \"\",\r\n};\r\n\r\nfunction ForgotPassword(props) {\r\n const { intl } = props;\r\n const [isRequested, setIsRequested] = useState(false);\r\n const ForgotPasswordSchema = Yup.object().shape({\r\n email: Yup.string()\r\n .email(\"Wrong email format\")\r\n .min(3, \"Minimum 3 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\r\n intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\",\r\n })\r\n ),\r\n });\r\n\r\n const getInputClasses = (fieldname) => {\r\n if (formik.touched[fieldname] && formik.errors[fieldname]) {\r\n return \"is-invalid\";\r\n }\r\n\r\n if (formik.touched[fieldname] && !formik.errors[fieldname]) {\r\n return \"is-valid\";\r\n }\r\n\r\n return \"\";\r\n };\r\n\r\n const formik = useFormik({\r\n initialValues,\r\n validationSchema: ForgotPasswordSchema,\r\n onSubmit: (values, { setStatus, setSubmitting }) => {\r\n requestPassword(values.email)\r\n .then(() => setIsRequested(true))\r\n .catch(() => {\r\n setIsRequested(false);\r\n setSubmitting(false);\r\n setStatus(\r\n intl.formatMessage(\r\n { id: \"AUTH.VALIDATION.NOT_FOUND\" },\r\n { name: values.email }\r\n )\r\n );\r\n });\r\n },\r\n });\r\n\r\n return (\r\n <>\r\n {isRequested && }\r\n {!isRequested && (\r\n
\r\n
\r\n

Forgotten Password ?

\r\n
\r\n Enter your email to reset your password\r\n
\r\n
\r\n \r\n {formik.status && (\r\n
\r\n
\r\n {formik.status}\r\n
\r\n
\r\n )}\r\n
\r\n \r\n {formik.touched.email && formik.errors.email ? (\r\n
\r\n
{formik.errors.email}
\r\n
\r\n ) : null}\r\n
\r\n
\r\n \r\n Submit\r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n
\r\n \r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default injectIntl(connect(null, auth.actions)(ForgotPassword));\r\n","/* eslint-disable jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport {Link, Switch, Redirect} from \"react-router-dom\";\r\nimport {toAbsoluteUrl} from \"../../../../_metronic/_helpers\";\r\nimport {ContentRoute} from \"../../../../_metronic/layout\"\r\nimport Login from \"./Login\";\r\nimport Registration from \"./Registration\";\r\nimport ForgotPassword from \"./ForgotPassword\";\r\nimport \"../../../../_metronic/_assets/sass/pages/login/classic/login-1.scss\";\r\n\r\nexport function AuthPage() {\r\n return (\r\n <>\r\n
\r\n {/*begin::Login*/}\r\n \r\n {/*begin::Aside*/}\r\n \r\n {/*begin: Aside Container*/}\r\n
\r\n {/* start:: Aside header */}\r\n \r\n \r\n \r\n {/* end:: Aside header */}\r\n\r\n {/* start:: Aside content */}\r\n
\r\n

\r\n Welcome to JJTU!\r\n

\r\n {/*

\r\n The ultimate Bootstrap & React 16 admin theme framework for next\r\n generation web apps.\r\n

*/}\r\n
\r\n {/* end:: Aside content */}\r\n\r\n {/* start:: Aside footer for desktop */}\r\n
\r\n
\r\n © 2020 JJTU\r\n
\r\n {/*
\r\n \r\n Privacy\r\n \r\n \r\n Legal\r\n \r\n \r\n Contact\r\n \r\n
*/}\r\n
\r\n {/* end:: Aside footer for desktop */}\r\n
\r\n {/*end: Aside Container*/}\r\n
\r\n {/*begin::Aside*/}\r\n\r\n {/*begin::Content*/}\r\n
\r\n {/*begin::Content header*/}\r\n {/*
\r\n Don't have an account yet?\r\n Sign Up!\r\n
\r\n {/*end::Content header*/}\r\n\r\n {/* begin::Content body */}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {/*end::Content body*/}\r\n\r\n {/* begin::Mobile footer */}\r\n \r\n
\r\n © 2020 JJTU\r\n
\r\n {/*
\r\n \r\n Privacy\r\n \r\n \r\n Legal\r\n \r\n \r\n Contact\r\n \r\n
*/}\r\n
\r\n {/* end::Mobile footer */}\r\n \r\n {/*end::Content*/}\r\n \r\n {/*end::Login*/}\r\n \r\n \r\n );\r\n}\r\n","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Redirect} from \"react-router-dom\";\r\nimport {LayoutSplashScreen} from \"../../../../_metronic/layout\";\r\nimport * as auth from \"../_redux/authRedux\";\r\n\r\nclass Logout extends Component {\r\n componentDidMount() {\r\n this.props.logout();\r\n }\r\n\r\n render() {\r\n const { hasAuthToken } = this.props;\r\n return hasAuthToken ? : ;\r\n }\r\n}\r\n\r\nexport default connect(\r\n ({ auth }) => ({ hasAuthToken: Boolean(auth.authToken) }),\r\n auth.actions\r\n)(Logout);\r\n","import React from \"react\";\r\nimport {toAbsoluteUrl} from \"../../../_metronic/_helpers\";\r\n\r\nexport function ErrorPage1() {\r\n return (\r\n
\r\n \r\n \r\n 404\r\n \r\n

\r\n OOPS! Something went wrong here\r\n

\r\n
\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport {toAbsoluteUrl} from \"../../../_metronic/_helpers\";\r\n\r\nexport function ErrorPage2() {\r\n return (\r\n
\r\n \r\n
\r\n

OOPS!

\r\n \r\n Something went wrong here\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport {toAbsoluteUrl} from \"../../../_metronic/_helpers\";\r\nimport \"../../../_metronic/_assets/sass/pages/error/error-3.scss\";\r\n\r\nexport function ErrorPage3() {\r\n return (\r\n
\r\n \r\n
\r\n

404

\r\n

\r\n How did you get here\r\n

\r\n

\r\n Sorry we can't seem to find the page you're looking for.\r\n

\r\n

\r\n There may be a misspelling in the URL entered,\r\n
\r\n or the page you are looking for may no longer exist.\r\n

\r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { toAbsoluteUrl } from \"../../../_metronic/_helpers\";\r\nimport \"../../../_metronic/_assets/sass/pages/error/error-4.scss\";\r\n\r\nexport function ErrorPage4() {\r\n return (\r\n
\r\n \r\n
\r\n

\r\n 404\r\n

\r\n

\r\n ERROR\r\n

\r\n

\r\n Nothing left to do here.\r\n

\r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { toAbsoluteUrl } from \"../../../_metronic/_helpers\";\r\nimport \"../../../_metronic/_assets/sass/pages/error/error-5.scss\";\r\n\r\nexport function ErrorPage5() {\r\n return (\r\n
\r\n \r\n
\r\n

\r\n Oops!\r\n

\r\n

\r\n Something went wrong here.\r\n

\r\n

\r\n We're working on it and we'll get it fixed\r\n
\r\n as soon possible.\r\n
\r\n You can back or use our Help Center.\r\n

\r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { toAbsoluteUrl } from \"../../../_metronic/_helpers\";\r\nimport \"../../../_metronic/_assets/sass/pages/error/error-6.scss\";\r\n\r\nexport function ErrorPage6() {\r\n return (\r\n
\r\n \r\n
\r\n \r\n Oops...\r\n \r\n

\r\n Looks like something went wrong.\r\n
\r\n We're working on it\r\n

\r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Redirect, Route, Switch } from \"react-router-dom\";\r\nimport { ErrorPage1 } from \"./ErrorPage1\";\r\nimport { ErrorPage2 } from \"./ErrorPage2\";\r\nimport { ErrorPage3 } from \"./ErrorPage3\";\r\nimport { ErrorPage4 } from \"./ErrorPage4\";\r\nimport { ErrorPage5 } from \"./ErrorPage5\";\r\nimport { ErrorPage6 } from \"./ErrorPage6\";\r\n\r\nexport default function ErrorsPage() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","/**\r\n * High level router.\r\n *\r\n * Note: It's recommended to compose related routes in internal router\r\n * components (e.g: `src/app/modules/Auth/pages/AuthPage`, `src/app/BasePage`).\r\n */\r\n\r\nimport React from \"react\";\r\nimport { Redirect, Switch, Route } from \"react-router-dom\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport {Layout} from \"../_metronic/layout\";\r\nimport BasePage from \"./BasePage\";\r\nimport { Logout, AuthPage } from \"./modules/Auth\";\r\nimport ErrorsPage from \"./modules/ErrorsExamples/ErrorsPage\";\r\n\r\nexport function Routes() {\r\n const {isAuthorized} = useSelector(\r\n ({auth}) => ({\r\n isAuthorized: auth.user != null,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n return (\r\n \r\n {!isAuthorized ? (\r\n /*Render auth page when user at `/auth` and not authorized.*/\r\n \r\n \r\n \r\n ) : (\r\n /*Otherwise redirect to root page (`/`)*/\r\n \r\n )}\r\n\r\n \r\n \r\n\r\n\r\n {!isAuthorized ? (\r\n /*Redirect to `/auth` when user is not authorized*/\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n}\r\n","import React, {createContext} from \"react\";\r\nimport {useMemo} from \"react\";\r\nimport {useContext} from \"react\";\r\n\r\nconst I18N_CONFIG_KEY = process.env.REACT_APP_I18N_CONFIG_KEY || \"i18nConfig\";\r\nconst initialState = {\r\n selectedLang: \"en\"\r\n };\r\n\r\nfunction getConfig() {\r\n const ls = localStorage.getItem(I18N_CONFIG_KEY);\r\n if (ls) {\r\n try {\r\n return JSON.parse(ls);\r\n } catch (er) {\r\n console.error(er);\r\n }\r\n }\r\n return initialState;\r\n}\r\n\r\n// Side effect\r\nexport function setLanguage(lang) {\r\n localStorage.setItem(I18N_CONFIG_KEY, JSON.stringify({ selectedLang: lang }));\r\n window.location.reload();\r\n}\r\n\r\nconst I18nContext = createContext();\r\n\r\nexport function useLang() {\r\n return useContext(I18nContext).selectedLang;\r\n}\r\n\r\nexport function withI18n(Component) {\r\n class WithI18n extends React.Component {\r\n static displayName = `WithI18n(${Component.displayName || Component.name})`;\r\n\r\n static contextType = I18nContext;\r\n\r\n render() {\r\n return ;\r\n }\r\n }\r\n\r\n return WithI18n;\r\n}\r\n\r\nexport const I18nConsumer = I18nContext.Consumer;\r\n\r\nexport function MetronicI18nProvider({ children }) {\r\n const lang = useMemo(getConfig, []);\r\n\r\n return {children};\r\n}\r\n","import React from \"react\";\r\nimport {useLang} from \"./Metronici18n\";\r\nimport {IntlProvider} from \"react-intl\";\r\nimport \"@formatjs/intl-relativetimeformat/polyfill\";\r\nimport \"@formatjs/intl-relativetimeformat/dist/locale-data/en\";\r\nimport \"@formatjs/intl-relativetimeformat/dist/locale-data/de\";\r\nimport \"@formatjs/intl-relativetimeformat/dist/locale-data/es\";\r\nimport \"@formatjs/intl-relativetimeformat/dist/locale-data/fr\";\r\nimport \"@formatjs/intl-relativetimeformat/dist/locale-data/ja\";\r\nimport \"@formatjs/intl-relativetimeformat/dist/locale-data/zh\";\r\n\r\nimport deMessages from \"./messages/de\";\r\nimport enMessages from \"./messages/en\";\r\nimport esMessages from \"./messages/es\";\r\nimport frMessages from \"./messages/fr\";\r\nimport jaMessages from \"./messages/ja\";\r\nimport zhMessages from \"./messages/zh\";\r\n\r\nconst allMessages = {\r\n de: deMessages,\r\n en: enMessages,\r\n es: esMessages,\r\n fr: frMessages,\r\n ja: jaMessages,\r\n zh: zhMessages\r\n};\r\n\r\nexport function I18nProvider({ children }) {\r\n const locale = useLang();\r\n const messages = allMessages[locale];\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","/**\r\n * Entry application component used to compose providers and render Routes.\r\n * */\r\n\r\nimport React from \"react\";\r\nimport { Provider } from \"react-redux\";\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport { PersistGate } from \"redux-persist/integration/react\";\r\nimport { Routes } from \"../app/Routes\";\r\nimport { I18nProvider } from \"../_metronic/i18n\";\r\nimport { LayoutSplashScreen, MaterialThemeProvider } from \"../_metronic/layout\";\r\n\r\nexport default function App({ store, persistor, basename }) {\r\n return (\r\n /* Provide Redux store */\r\n \r\n {/* Asynchronously persist redux stores and show `SplashScreen` while it's loading. */}\r\n }>\r\n {/* Add high level `Suspense` in case if was not handled inside the React tree. */}\r\n }>\r\n {/* Override `basename` (e.g: `homepage` in `package.json`) */}\r\n \r\n {/*This library only returns the location that has been active before the recent location change in the current window lifetime.*/}\r\n \r\n {/* Provide `react-intl` context synchronized with Redux state. */}\r\n \r\n {/* Render routes with provided `Layout`. */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","export default function setupAxios(axios, store) {\r\n axios.interceptors.request.use(\r\n config => {\r\n const {\r\n auth: { authToken }\r\n } = store.getState();\r\n\r\n if (authToken) {\r\n config.headers.Authorization = `Bearer ${authToken}`;\r\n }\r\n\r\n return config;\r\n },\r\n err => Promise.reject(err)\r\n );\r\n}\r\n","/**\r\n * Create React App entry point. This and `public/index.html` files can not be\r\n * changed or moved.\r\n */\r\nimport \"react-app-polyfill/ie11\";\r\nimport \"react-app-polyfill/stable\";\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport axios from \"axios\";\r\nimport * as _redux from \"./redux\";\r\nimport store, { persistor } from \"./redux/store\";\r\nimport App from \"./app/App\";\r\nimport \"./index.scss\"; // Standard version\r\n// import \"./sass/style.react.rtl.css\"; // RTL version\r\nimport \"./_metronic/_assets/plugins/keenthemes-icons/font/ki.css\";\r\nimport \"socicon/css/socicon.css\";\r\nimport \"@fortawesome/fontawesome-free/css/all.min.css\";\r\nimport \"./_metronic/_assets/plugins/flaticon/flaticon.css\";\r\nimport \"./_metronic/_assets/plugins/flaticon2/flaticon.css\";\r\n// Datepicker\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport {\r\n MetronicLayoutProvider,\r\n MetronicSplashScreenProvider,\r\n MetronicSubheaderProvider\r\n} from \"./_metronic/layout\";\r\nimport {MetronicI18nProvider} from \"./_metronic/i18n\";\r\n\r\n/**\r\n * Base URL of the website.\r\n *\r\n * @see https://facebook.github.io/create-react-app/docs/using-the-public-folder\r\n */\r\nconst { PUBLIC_URL } = process.env;\r\n\r\n/**\r\n * Creates `axios-mock-adapter` instance for provided `axios` instance, add\r\n * basic Metronic mocks and returns it.\r\n *\r\n * @see https://github.com/ctimmerm/axios-mock-adapter\r\n */\r\n/* const mock = _redux.mockAxios(axios);*/\r\n\r\n/**\r\n * Inject metronic interceptors for axios.\r\n *\r\n * @see https://github.com/axios/axios#interceptors\r\n */\r\n_redux.setupAxios(axios, store);\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./util\";\r\n\r\n// Component Definition\r\nvar KTOffcanvas = function(elementId, options) {\r\n // Main object\r\n var the = this;\r\n var init = false;\r\n\r\n // Get element object\r\n var element = KTUtil.getById(elementId);\r\n var body = KTUtil.getBody();\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\r\n attrCustom: ''\r\n };\r\n\r\n ////////////////////////////\r\n // ** Private Methods ** //\r\n ////////////////////////////\r\n\r\n var Plugin = {\r\n construct: function(options) {\r\n if (KTUtil.data(element).has('offcanvas')) {\r\n the = KTUtil.data(element).get('offcanvas');\r\n } else {\r\n // Reset offcanvas\r\n Plugin.init(options);\r\n\r\n // Build offcanvas\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('offcanvas', the);\r\n }\r\n\r\n return the;\r\n },\r\n\r\n init: function(options) {\r\n the.events = [];\r\n\r\n // merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n\r\n the.classBase = the.options.baseClass;\r\n the.attrCustom = the.options.attrCustom;\r\n the.classShown = the.classBase + '-on';\r\n the.classOverlay = the.classBase + '-overlay';\r\n the.target;\r\n\r\n the.state = KTUtil.hasClass(element, the.classShown) ? 'shown' : 'hidden';\r\n },\r\n\r\n build: function() {\r\n // offcanvas toggle\r\n if (the.options.toggleBy) {\r\n if (typeof the.options.toggleBy === 'string') {\r\n KTUtil.addEvent(KTUtil.getById(the.options.toggleBy), 'click', function(e) {\r\n e.preventDefault();\r\n the.target = this;\r\n Plugin.toggle();\r\n });\r\n } else if (the.options.toggleBy && the.options.toggleBy[0]) {\r\n if (the.options.toggleBy[0].target) {\r\n for (var i in the.options.toggleBy) {\r\n KTUtil.addEvent(KTUtil.getById(the.options.toggleBy[i].target), 'click', function(e) {\r\n e.preventDefault();\r\n the.target = this;\r\n Plugin.toggle();\r\n });\r\n }\r\n } else {\r\n for (var i in the.options.toggleBy) {\r\n KTUtil.addEvent(KTUtil.getById(the.options.toggleBy[i]), 'click', function(e) {\r\n e.preventDefault();\r\n the.target = this;\r\n Plugin.toggle();\r\n });\r\n }\r\n }\r\n\r\n } else if (the.options.toggleBy && the.options.toggleBy.target) {\r\n KTUtil.addEvent( KTUtil.getById(the.options.toggleBy.target), 'click', function(e) {\r\n e.preventDefault();\r\n the.target = this;\r\n Plugin.toggle();\r\n });\r\n }\r\n }\r\n\r\n // offcanvas close\r\n var closeBy = KTUtil.getById(the.options.closeBy);\r\n if (closeBy) {\r\n KTUtil.addEvent(closeBy, 'click', function(e) {\r\n e.preventDefault();\r\n the.target = this;\r\n Plugin.hide();\r\n });\r\n }\r\n },\r\n\r\n isShown: function() {\r\n return (the.state == 'shown' ? true : false);\r\n },\r\n\r\n toggle: function() {;\r\n Plugin.eventTrigger('toggle');\r\n\r\n if (the.state == 'shown') {\r\n Plugin.hide();\r\n } else {\r\n Plugin.show();\r\n }\r\n },\r\n\r\n show: function() {\r\n if (the.state == 'shown') {\r\n return;\r\n }\r\n\r\n Plugin.eventTrigger('beforeShow');\r\n\r\n Plugin.toggleClass('show');\r\n\r\n // Offcanvas panel\r\n KTUtil.attr(body, 'data-offcanvas-' + the.classBase, 'on');\r\n KTUtil.addClass(element, the.classShown);\r\n\r\n if (the.attrCustom.length > 0) {\r\n KTUtil.attr(body, 'data-offcanvas-' + the.classCustom, 'on');\r\n //KTUtil.addClass(body, the.classCustom);\r\n }\r\n\r\n the.state = 'shown';\r\n\r\n if (the.options.overlay) {\r\n the.overlay = KTUtil.insertAfter(document.createElement('DIV') , element );\r\n KTUtil.addClass(the.overlay, the.classOverlay);\r\n\r\n KTUtil.addEvent(the.overlay, 'click', function(e) {\r\n //e.stopPropagation();\r\n e.preventDefault();\r\n Plugin.hide(the.target);\r\n });\r\n }\r\n\r\n Plugin.eventTrigger('afterShow');\r\n },\r\n\r\n hide: function() {\r\n if (the.state == 'hidden') {\r\n return;\r\n }\r\n\r\n Plugin.eventTrigger('beforeHide');\r\n\r\n Plugin.toggleClass('hide');\r\n\r\n KTUtil.removeAttr(body, 'data-offcanvas-' + the.classBase);\r\n KTUtil.removeClass(element, the.classShown);\r\n\r\n if (the.attrCustom.length > 0) {\r\n KTUtil.removeAttr(body, 'data-offcanvas-' + the.attrCustom);\r\n }\r\n\r\n the.state = 'hidden';\r\n\r\n if (the.options.overlay && the.overlay) {\r\n KTUtil.remove(the.overlay);\r\n }\r\n\r\n Plugin.eventTrigger('afterHide');\r\n },\r\n\r\n toggleClass: function(mode) {\r\n var id = KTUtil.attr(the.target, 'id');\r\n var toggleBy;\r\n\r\n if (the.options.toggleBy && the.options.toggleBy[0] && the.options.toggleBy[0].target) {\r\n for (var i in the.options.toggleBy) {\r\n if (the.options.toggleBy[i].target === id) {\r\n toggleBy = the.options.toggleBy[i];\r\n }\r\n }\r\n } else if (the.options.toggleBy && the.options.toggleBy.target) {\r\n toggleBy = the.options.toggleBy;\r\n }\r\n\r\n if (toggleBy) {\r\n var el = KTUtil.getById(toggleBy.target);\r\n\r\n if (mode === 'show') {\r\n KTUtil.addClass(el, toggleBy.state);\r\n }\r\n\r\n if (mode === 'hide') {\r\n KTUtil.removeClass(el, toggleBy.state);\r\n }\r\n }\r\n },\r\n\r\n eventTrigger: function(name, args) {\r\n for (var i = 0; i < the.events.length; i++) {\r\n var event = the.events[i];\r\n if (event.name == name) {\r\n if (event.one == true) {\r\n if (event.fired == false) {\r\n the.events[i].fired = true;\r\n return event.handler.call(this, the, args);\r\n }\r\n } else {\r\n return event.handler.call(this, the, args);\r\n }\r\n }\r\n }\r\n },\r\n\r\n addEvent: function(name, handler, one) {\r\n the.events.push({\r\n name: name,\r\n handler: handler,\r\n one: one,\r\n fired: false\r\n });\r\n }\r\n };\r\n\r\n //////////////////////////\r\n // ** Public Methods ** //\r\n //////////////////////////\r\n\r\n /**\r\n * Set default options\r\n * @param options\r\n */\r\n the.setDefaults = function(options) {\r\n defaultOptions = options;\r\n };\r\n\r\n /**\r\n * Check if canvas is shown\r\n * @returns {boolean}\r\n */\r\n the.isShown = function() {\r\n return Plugin.isShown();\r\n };\r\n\r\n /**\r\n * Set to hide the canvas\r\n */\r\n the.hide = function() {\r\n return Plugin.hide();\r\n };\r\n\r\n /**\r\n * Set to show the canvas\r\n */\r\n the.show = function() {\r\n return Plugin.show();\r\n };\r\n\r\n /**\r\n * Attach event\r\n * @param name\r\n * @param handler\r\n */\r\n the.on = function(name, handler) {\r\n return Plugin.addEvent(name, handler);\r\n };\r\n\r\n /**\r\n * Attach event that will be fired once\r\n * @param name\r\n * @param handler\r\n */\r\n the.one = function(name, handler) {\r\n return Plugin.addEvent(name, handler, true);\r\n };\r\n\r\n ///////////////////////////////\r\n // ** Plugin Construction ** //\r\n ///////////////////////////////\r\n\r\n // Run plugin\r\n Plugin.construct.apply(the, [options]);\r\n\r\n // Init done\r\n init = true;\r\n\r\n // Return plugin instance\r\n return the;\r\n};\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n // module.exports = KTOffcanvas;\r\n}\r\n\r\nexport default KTOffcanvas;","/* eslint-disable */\r\n\"use strict\";\r\n// DOCS: https://javascript.info/cookie\r\n\r\n// Component Definition\r\nexport var KTCookie = function() {\r\n return {\r\n // returns the cookie with the given name,\r\n // or undefined if not found\r\n getCookie: function(name) {\r\n var matches = document.cookie.match(new RegExp(\r\n \"(?:^|; )\" + name.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+^])/g, '\\\\$1') + \"=([^;]*)\"\r\n ));\r\n return matches ? decodeURIComponent(matches[1]) : undefined;\r\n },\r\n // Please note that a cookie value is encoded,\r\n // so getCookie uses a built-in decodeURIComponent function to decode it.\r\n setCookie: function(name, value, options) {\r\n if (!options) {\r\n options = {};\r\n }\r\n\r\n options = Object.assign({}, {path: '/'}, options);\r\n\r\n if (options.expires instanceof Date) {\r\n options.expires = options.expires.toUTCString();\r\n }\r\n\r\n var updatedCookie = encodeURIComponent(name) + \"=\" + encodeURIComponent(value);\r\n\r\n for (var optionKey in options) {\r\n if (!options.hasOwnProperty(optionKey)) {\r\n continue;\r\n }\r\n updatedCookie += \"; \" + optionKey;\r\n var optionValue = options[optionKey];\r\n if (optionValue !== true) {\r\n updatedCookie += \"=\" + optionValue;\r\n }\r\n }\r\n\r\n document.cookie = updatedCookie;\r\n },\r\n // To delete a cookie, we can call it with a negative expiration date:\r\n deleteCookie: function(name) {\r\n setCookie(name, \"\", {\r\n 'max-age': -1\r\n })\r\n }\r\n }\r\n}();\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n // module.exports = KTCookie;\r\n}\r\n","import {toAbsoluteUrl} from \"../../_helpers\";\r\nexport function getInitLayoutConfig() {\r\n return {\r\n demo: \"demo1\",\r\n js: {\r\n breakpoints : {\r\n sm: \"576\",\r\n md: \"768\",\r\n lg: \"992\",\r\n xl: \"1200\",\r\n xxl: \"1200\"\r\n },\r\n colors: {\r\n theme: {\r\n base: {\r\n \"white\": \"#ffffff\",\r\n \"primary\": \"#6993FF\",\r\n \"secondary\": \"#E5EAEE\",\r\n \"success\": \"#1BC5BD\",\r\n \"info\": \"#8950FC\",\r\n \"warning\": \"#FFA800\",\r\n \"danger\": \"#F64E60\",\r\n \"light\": \"#F3F6F9\",\r\n \"dark\": \"#212121\"\r\n },\r\n light: {\r\n \"white\": \"#ffffff\",\r\n \"primary\": \"#E1E9FF\",\r\n \"secondary\": \"#ECF0F3\",\r\n \"success\": \"#C9F7F5\",\r\n \"info\": \"#EEE5FF\",\r\n \"warning\": \"#FFF4DE\",\r\n \"danger\": \"#FFE2E5\",\r\n \"light\": \"#F3F6F9\",\r\n \"dark\": \"#D6D6E0\"\r\n },\r\n inverse: {\r\n \"white\": \"#ffffff\",\r\n \"primary\": \"#ffffff\",\r\n \"secondary\": \"#212121\",\r\n \"success\": \"#ffffff\",\r\n \"info\": \"#ffffff\",\r\n \"warning\": \"#ffffff\",\r\n \"danger\": \"#ffffff\",\r\n \"light\": \"#464E5F\",\r\n \"dark\": \"#ffffff\"\r\n }\r\n },\r\n gray: {\r\n \"gray100\": \"#F3F6F9\",\r\n \"gray200\": \"#ECF0F3\",\r\n \"gray300\": \"#E5EAEE\",\r\n \"gray400\": \"#D6D6E0\",\r\n \"gray500\": \"#B5B5C3\",\r\n \"gray600\": \"#80808F\",\r\n \"gray700\": \"#464E5F\",\r\n \"gray800\": \"#1B283F\",\r\n \"gray900\": \"#212121\"\r\n }\r\n },\r\n fontFamily: \"Poppins\"\r\n },\r\n // == Page Splash Screen loading\r\n loader: {\r\n enabled: true,\r\n type: \"\", // default|spinner-message|spinner-logo\r\n logo: toAbsoluteUrl(\"/media/logos/logo-dark-sm.png\"),\r\n message: \"Please wait...\"\r\n },\r\n // page toolbar\r\n toolbar: {\r\n display: true\r\n },\r\n header: {\r\n self: {\r\n width: \"fluid\", // fixed|fluid\r\n theme: \"light\", // light|dark\r\n fixed: {\r\n desktop: true,\r\n mobile: true\r\n }\r\n },\r\n menu: {\r\n self: {\r\n display: true,\r\n layout: \"default\", // tab/default\r\n \"root-arrow\": false,\r\n \"icon-style\": \"duotone\" // duotone, line, bold, solid\r\n },\r\n desktop: {\r\n arrow: true,\r\n toggle: \"click\",\r\n submenu: {\r\n theme: \"light\", // light|dark\r\n arrow: true\r\n }\r\n },\r\n mobile: {\r\n submenu: {\r\n theme: \"dark\",\r\n accordion: true\r\n }\r\n }\r\n }\r\n },\r\n subheader: {\r\n display: true,\r\n displayDesc: false,\r\n displayDaterangepicker: true,\r\n layout: \"subheader-v1\",\r\n fixed: true,\r\n width: \"fluid\", // fixed/fluid,\r\n clear: false,\r\n style: \"solid\" // solid/transparent\r\n },\r\n content: {\r\n width: \"fixed\" // fluid|fixed\r\n },\r\n brand: {\r\n self: {\r\n theme: \"dark\" // light/dark\r\n }\r\n },\r\n aside: {\r\n self: {\r\n theme: \"dark\", // light/dark\r\n display: true,\r\n fixed: true,\r\n minimize: {\r\n toggle: true, // allow toggle\r\n default: false, // default state\r\n hoverable: true // allow hover\r\n }\r\n },\r\n footer: {\r\n self: {\r\n display: true\r\n }\r\n },\r\n menu: {\r\n dropdown: false, // ok\r\n scroll: true, // ok\r\n \"icon-style\": \"duotone\", // duotone, line, bold, solid\r\n submenu: {\r\n accordion: true,\r\n dropdown: {\r\n arrow: true,\r\n \"hover-timeout\": 500 // in milliseconds\r\n }\r\n }\r\n }\r\n },\r\n footer: {\r\n self: {\r\n fixed: true,\r\n width: \"fluid\"\r\n }\r\n },\r\n extras: {\r\n search: {\r\n display: true,\r\n layout: \"dropdown\", // offcanvas, dropdown\r\n offcanvas: {\r\n direction: \"right\"\r\n }\r\n },\r\n notifications: {\r\n display: true,\r\n layout: \"dropdown\", // offcanvas, dropdown\r\n dropdown: {\r\n style: \"dark\" // light, dark\r\n },\r\n offcanvas: {\r\n directions: \"right\"\r\n }\r\n },\r\n \"quick-actions\": {\r\n display: true,\r\n layout: \"dropdown\", // offcanvas, dropdown,\r\n dropdown: {\r\n style: \"dark\", // light, dark\r\n },\r\n offcanvas: {\r\n directions: \"right\"\r\n }\r\n },\r\n user: {\r\n display: true,\r\n layout: \"offcanvas\", // offcanvas, dropdown\r\n dropdown: {\r\n style: \"dark\"\r\n },\r\n offcanvas: {\r\n directions: \"right\"\r\n }\r\n },\r\n languages: {\r\n display: true\r\n },\r\n cart: {\r\n display: true,\r\n dropdown: {\r\n style: \"dark\", // ligth, dark\r\n }\r\n },\r\n \"quick-panel\": {\r\n display: true,\r\n offcanvas: {\r\n directions: \"right\"\r\n }\r\n },\r\n chat: {\r\n display: true\r\n },\r\n toolbar: {\r\n display: true\r\n },\r\n scrolltop: {\r\n display: true\r\n }\r\n }\r\n };\r\n}\r\n","import objectPath from \"object-path\";\r\nimport {toAbsoluteUrl} from \"../../_helpers\";\r\n\r\nexport class HtmlClassService {\r\n // Public properties\r\n config;\r\n classes;\r\n attributes;\r\n\r\n /**\r\n * Build html element classes from layout config\r\n * @param layoutConfig\r\n */\r\n setConfig(layoutConfig) {\r\n this.config = this.preInit(layoutConfig);\r\n\r\n // scope list of classes\r\n this.classes = {\r\n header: [],\r\n header_container: [],\r\n header_mobile: [],\r\n header_menu: [],\r\n aside: [],\r\n aside_menu: [],\r\n subheader: [],\r\n subheader_container: [],\r\n content: [],\r\n content_container: [],\r\n footer_container: []\r\n };\r\n\r\n this.attributes = {\r\n aside_menu: {},\r\n header_mobile: {},\r\n header_menu: {}\r\n };\r\n\r\n // init base layout\r\n this.initLayout();\r\n this.initLoader();\r\n\r\n // init header and subheader menu\r\n this.initHeader();\r\n this.initSubheader();\r\n\r\n this.initContent();\r\n // init aside and aside menu\r\n this.initAside();\r\n\r\n // init footer\r\n this.initFooter();\r\n\r\n // init theme\r\n this.initTheme();\r\n }\r\n\r\n preInit(layoutConfig) {\r\n const updatedConfig = Object.assign({}, layoutConfig);\r\n const headerSelfFixedDesktop = objectPath.get(updatedConfig, \"header.self.fixed.desktop\");\r\n const subheaderFixed = objectPath.get(updatedConfig, \"subheader.fixed\");\r\n if (subheaderFixed && headerSelfFixedDesktop) {\r\n // Page::setOption('layout', 'subheader/style', 'solid');\r\n updatedConfig.subheader.style = \"solid\"; \r\n } else {\r\n // Page::setOption('layout', 'subheader/fixed', false);\r\n updatedConfig.subheader.fixed = false;\r\n }\r\n return updatedConfig;\r\n }\r\n\r\n /**\r\n * Returns Classes\r\n *\r\n * @param path: string\r\n * @param toString boolean\r\n */\r\n getClasses(path, toString) {\r\n if (path) {\r\n const classes = objectPath.get(this.classes, path) || \"\";\r\n if (toString && Array.isArray(classes)) {\r\n return classes.join(\" \");\r\n }\r\n return classes.toString();\r\n }\r\n return this.classes;\r\n }\r\n\r\n getAttributes(path) {\r\n if (path) {\r\n const attributes = objectPath.get(this.attributes, path) || [];\r\n return attributes;\r\n }\r\n return [];\r\n }\r\n\r\n getLogo() {\r\n const brandSkin = objectPath.get(this.config, \"brand.self.theme\");\r\n if (brandSkin === \"light\") {\r\n return toAbsoluteUrl(\"/media/logos/\");\r\n } else {\r\n return toAbsoluteUrl(\"/media/logos/logo.png\");\r\n }\r\n }\r\n\r\n getStickyLogo() {\r\n let logo = objectPath.get(this.config, \"self.logo.sticky\");\r\n if (typeof logo === \"undefined\") {\r\n logo = this.getLogo();\r\n }\r\n return logo + \"\";\r\n }\r\n\r\n /**\r\n * Init Layout\r\n */\r\n initLayout() {\r\n const selfBodyBackgroundImage = objectPath.get(this.config, \"self.body.background-image\");\r\n if (selfBodyBackgroundImage) {\r\n document.body.style.backgroundImage = `url(\"${selfBodyBackgroundImage}'\")`;\r\n }\r\n\r\n const _selfBodyClass = objectPath.get(this.config, \"self.body.class\");\r\n if (_selfBodyClass) {\r\n const bodyClasses = _selfBodyClass.toString().split(\" \");\r\n bodyClasses.forEach(cssClass => document.body.classList.add(cssClass));\r\n }\r\n\r\n // Offcanvas directions\r\n document.body.classList.add(\"quick-panel-right\");\r\n document.body.classList.add(\"demo-panel-right\");\r\n document.body.classList.add(\"offcanvas-right\");\r\n }\r\n\r\n /**\r\n * Init Loader\r\n */\r\n initLoader() {}\r\n\r\n /**\r\n * Init Header\r\n */\r\n initHeader() {\r\n // Fixed header\r\n const headerSelfFixedDesktop = objectPath.get(this.config, \"header.self.fixed.desktop\");\r\n if (headerSelfFixedDesktop) {\r\n document.body.classList.add(\"header-fixed\");\r\n objectPath.push(this.classes, \"header\", \"header-fixed\");\r\n } else {\r\n document.body.classList.add(\"header-static\");\r\n }\r\n\r\n const headerSelfFixedMobile = objectPath.get(this.config, \"header.self.fixed.mobile\");\r\n if (headerSelfFixedMobile) {\r\n document.body.classList.add(\"header-mobile-fixed\");\r\n objectPath.push(this.classes, \"header_mobile\", \"header-mobile-fixed\");\r\n }\r\n\r\n // Menu\r\n const headerMenuSelfDisplay = objectPath.get(this.config, \"header.menu.self.display\");\r\n if (headerMenuSelfDisplay) {\r\n const headerMenuSelfLayout = objectPath.get(this.config, \"header.menu.self.layout\");\r\n const headerMenuLayoutCssClass = `header-menu-layout-${headerMenuSelfLayout}`;\r\n objectPath.push(this.classes, \"header_menu\", headerMenuLayoutCssClass);\r\n\r\n if (objectPath.get(this.config, \"header.menu.self.root-arrow\")) {\r\n objectPath.push(this.classes, \"header_menu\", \"header-menu-root-arrow\");\r\n }\r\n }\r\n\r\n const headerSelfWidth = objectPath.get(this.config, \"header.self.width\");\r\n if (headerSelfWidth === \"fluid\") {\r\n objectPath.push(this.classes, \"header_container\", \"container-fluid\");\r\n } else {\r\n objectPath.push(this.classes, \"header_container\", \"container\");\r\n }\r\n }\r\n\r\n /**\r\n * Init Subheader\r\n */\r\n initSubheader() {\r\n const subheaderDisplay = objectPath.get(this.config, \"subheader.display\");\r\n if (subheaderDisplay) {\r\n document.body.classList.add(\"subheader-enabled\");\r\n } else {\r\n return;\r\n }\r\n\r\n // Fixed content head\r\n const subheaderFixed = objectPath.get(this.config, \"subheader.fixed\");\r\n const headerSelfFixedDesktop = objectPath.get(this.config, \"header.self.fixed.desktop\");\r\n if (subheaderFixed && headerSelfFixedDesktop) {\r\n document.body.classList.add(\"subheader-fixed\");\r\n // Page::setOption('layout', 'subheader/style', 'solid'); => See preInit()\r\n } else {\r\n // Page::setOption('layout', 'subheader/fixed', false); => See preInit()\r\n }\r\n\r\n const subheaderStyle = objectPath.get(this.config, \"subheader.style\");\r\n if (subheaderStyle) {\r\n const subheaderClass = `subheader-${subheaderStyle}`;\r\n objectPath.push(this.classes, \"subheader\", subheaderClass);\r\n }\r\n\r\n const subheaderWidth = objectPath.get(this.config, \"subheader.width\");\r\n if (subheaderWidth === \"fluid\") {\r\n objectPath.push(this.classes, \"subheader_container\", \"container-fluid\");\r\n } else {\r\n objectPath.push(this.classes, \"subheader_container\", \"container\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"subheader.clear\")) {\r\n objectPath.push(this.classes, \"subheader\", \"mb-0\");\r\n }\r\n }\r\n\r\n /**\r\n * Init Content\r\n */\r\n initContent() {\r\n if (objectPath.get(this.config, \"content.fit-top\")) {\r\n objectPath.push(this.classes, \"content\", \"pt-0\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"content.fit-bottom\")) {\r\n objectPath.push(this.classes, \"content\", \"pb-0\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"content.width\") === \"fluid\") {\r\n objectPath.push(this.classes, \"content_container\", \"container-fluid\");\r\n } else {\r\n objectPath.push(this.classes, \"content_container\", \"container\");\r\n }\r\n }\r\n\r\n /**\r\n * Init Aside\r\n */\r\n initAside() {\r\n // Check Aside\r\n const asideSelfDisplay = objectPath.get(this.config, \"aside.self.display\");\r\n if (!asideSelfDisplay) {\r\n return;\r\n }\r\n\r\n // Enable Aside\r\n document.body.classList.add(\"aside-enabled\");\r\n\r\n // Fixed Aside\r\n const asideSelfFixed = objectPath.get(this.config, \"aside.self.fixed\");\r\n if (asideSelfFixed) {\r\n document.body.classList.add(\"aside-fixed\");\r\n objectPath.push(this.classes, \"aside\", \"aside-fixed\");\r\n } else {\r\n document.body.classList.add(\"aside-static\");\r\n }\r\n\r\n // Check Aside\r\n if (!asideSelfDisplay) {\r\n return;\r\n }\r\n\r\n // Default fixed\r\n if (objectPath.get(this.config, \"aside.self.minimize.default\")) {\r\n document.body.classList.add(\"aside-minimize\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"aside.self.minimize.hoverable\")) {\r\n document.body.classList.add(\"aside-minimize-hoverable\");\r\n }\r\n\r\n // Menu\r\n // Dropdown Submenu\r\n const asideMenuDropdown = objectPath.get(this.config, \"aside.menu.dropdown\");\r\n if (asideMenuDropdown) {\r\n objectPath.push(this.classes, \"aside_menu\", \"aside-menu-dropdown\");\r\n this.attributes.aside_menu[\"data-menu-dropdown\"] = \"1\";\r\n }\r\n\r\n // Scrollable Menu\r\n this.attributes.aside_menu[\"data-menu-scroll\"] = asideMenuDropdown ? \"0\" : \"1\";\r\n\r\n const asideSubmenuDHoverTimeout = objectPath.get(\r\n this.config,\r\n \"aside.menu.submenu.dropdown.hover-timeout\"\r\n );\r\n if (asideSubmenuDHoverTimeout) {\r\n this.attributes.aside_menu[\r\n \"data-menu-dropdown-timeout\"\r\n ] = asideSubmenuDHoverTimeout;\r\n }\r\n }\r\n\r\n /**\r\n * Init Footer\r\n */\r\n initFooter() {\r\n // Fixed header\r\n if (objectPath.get(this.config, \"footer.fixed\")) {\r\n document.body.classList.add(\"footer-fixed\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"footer.self.width\") === \"fluid\") {\r\n objectPath.push(this.classes, \"footer_container\", \"container-fluid\");\r\n } else {\r\n objectPath.push(this.classes, \"footer_container\", \"container\");\r\n }\r\n }\r\n\r\n /** Init Theme */\r\n initTheme() {\r\n const asideSelfDisplay = objectPath.get(this.config, \"aside.self.display\");\r\n if (!asideSelfDisplay) {\r\n const headerSelfTheme = objectPath.get(this.config, \"header.self.theme\");\r\n document.body.classList.add(`brand-${headerSelfTheme}`);\r\n } else {\r\n const brandSelfTheme = objectPath.get(this.config, \"brand.self.theme\");\r\n document.body.classList.add(`brand-${brandSelfTheme}`);\r\n }\r\n }\r\n}\r\n","import React, { createContext, useContext, useMemo } from \"react\";\r\nimport { getInitLayoutConfig } from \"./LayoutConfig\";\r\nimport { HtmlClassService } from \"./HTMLClassService\";\r\n\r\nconst LAYOUT_CONFIG_KEY =\r\n process.env.REACT_APP_LAYOUT_CONFIG_KEY || \"LayoutConfig\";\r\n\r\nfunction getConfig() {\r\n const ls = localStorage.getItem(LAYOUT_CONFIG_KEY);\r\n if (ls) {\r\n try {\r\n return JSON.parse(ls);\r\n } catch (er) {\r\n console.error(er);\r\n }\r\n }\r\n return getInitLayoutConfig();\r\n}\r\n\r\n// Side effect\r\nexport function setLayoutConfig(config) {\r\n localStorage.setItem(LAYOUT_CONFIG_KEY, JSON.stringify(config));\r\n window.location.reload();\r\n}\r\n\r\nconst HtmlClassServiceContext = createContext();\r\n\r\n/**\r\n *\r\n *\r\n * @export\r\n * @returns Layout context from 'localStorage'\r\n */\r\nexport function useHtmlClassService() {\r\n return useContext(HtmlClassServiceContext);\r\n}\r\n\r\nexport function withHtmlClassService(Component) {\r\n class WithHtmlClassService extends React.Component {\r\n static displayName = `WithHtmlClassService(${Component.displayName ||\r\n Component.name})`;\r\n\r\n static contextType = HtmlClassServiceContext;\r\n\r\n render() {\r\n return ;\r\n }\r\n }\r\n\r\n return WithHtmlClassService;\r\n}\r\n\r\nexport const HtmlClassServiceConsumer = HtmlClassServiceContext.Consumer;\r\n\r\nexport function MetronicLayoutProvider({ children }) {\r\n const lc = useMemo(getConfig, []);\r\n const hcs = useMemo(() => {\r\n const service = new HtmlClassService();\r\n\r\n service.setConfig(lc);\r\n\r\n return service;\r\n }, [lc]);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, {useMemo} from \"react\";\r\nimport {Link} from \"react-router-dom\";\r\nimport Dropdown from \"react-bootstrap/Dropdown\";\r\nimport {useSelector} from \"react-redux\";\r\nimport objectPath from \"object-path\";\r\nimport {useHtmlClassService} from \"../../../_core/MetronicLayout\";\r\nimport {toAbsoluteUrl} from \"../../../../_helpers\";\r\nimport {DropdownTopbarItemToggler} from \"../../../../_partials/dropdowns\";\r\n\r\nexport function UserProfileDropdown() {\r\n const {user} = useSelector(state => state.auth);\r\n\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n light: objectPath.get(uiService.config, \"extras.user.dropdown.style\") === \"light\",\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n \r\n \r\n
\r\n Hi, )\r\n \r\n {user.fullname}\r\n \r\n \r\n {user.fullname[0]}\r\n \r\n
\r\n \r\n \r\n <>\r\n {/** ClassName should be 'dropdown-menu p-0 m-0 dropdown-menu-right dropdown-menu-anim dropdown-menu-top-unround dropdown-menu-xl' */}\r\n {layoutProps.light && (<>\r\n
\r\n\r\n
\r\n \"\"/\r\n
\r\n
Sean Stone
\r\n 3 messages\r\n
\r\n
\r\n )}\r\n\r\n {!layoutProps.light && (\r\n \r\n
\r\n S\r\n {/*\"Pic\"*/}\r\n
\r\n
\r\n Sean Stone\r\n
\r\n \r\n 3 messages\r\n \r\n \r\n )}\r\n \r\n\r\n \r\n \r\n
\r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, {useMemo} from \"react\";\r\nimport {OverlayTrigger, Tooltip} from \"react-bootstrap\";\r\nimport {useSelector} from \"react-redux\";\r\nimport objectPath from \"object-path\";\r\nimport {useHtmlClassService} from \"../../_core/MetronicLayout\";\r\nimport {UserProfileDropdown} from \"./dropdowns/UserProfileDropdown\";\r\n\r\nexport function QuickUserToggler() {\r\n const {user} = useSelector(state => state.auth);\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n offcanvas: objectPath.get(uiService.config, \"extras.user.layout\") === \"offcanvas\",\r\n };\r\n }, [uiService]);\r\n\r\n return (<>\r\n {layoutProps.offcanvas && (View user}\r\n >\r\n
\r\n
\r\n <>\r\n\r\n Hi,\r\n \r\n {user.username}\r\n \r\n \r\n {user.username[0]}\r\n \r\n \r\n
\r\n
\r\n )}\r\n\r\n {!layoutProps.offcanvas && ()}\r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport objectPath from \"object-path\";\r\n// import SVG from \"react-inlinesvg\";\r\n// import { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\n// import { toAbsoluteUrl } from \"../../../_helpers\";\r\nimport { useHtmlClassService } from \"../../_core/MetronicLayout\";\r\n// import { SearchDropdown } from \"../extras/dropdowns/search/SearchDropdown\";\r\n// import { UserNotificationsDropdown } from \"../extras/dropdowns/UserNotificationsDropdown\";\r\n// import { QuickActionsDropdown } from \"../extras/dropdowns/QuickActionsDropdown\";\r\n// import { MyCartDropdown } from \"../extras/dropdowns/MyCartDropdown\";\r\n// import { LanguageSelectorDropdown } from \"../extras/dropdowns/LanguageSelectorDropdown\";\r\nimport { QuickUserToggler } from \"../extras/QuiclUserToggler\";\r\n\r\nexport function Topbar() {\r\n const uiService = useHtmlClassService();\r\n\r\n const layoutProps = useMemo(() => {\r\n return {\r\n // viewSearchDisplay: objectPath.get(\r\n // uiService.config,\r\n // \"extras.search.display\"\r\n // ),\r\n // viewNotificationsDisplay: objectPath.get(\r\n // uiService.config,\r\n // \"extras.notifications.display\"\r\n // ),\r\n // viewQuickActionsDisplay: objectPath.get(\r\n // uiService.config,\r\n // \"extras.quick-actions.display\"\r\n // ),\r\n // viewCartDisplay: objectPath.get(uiService.config, \"extras.cart.display\"),\r\n // viewQuickPanelDisplay: objectPath.get(\r\n // uiService.config,\r\n // \"extras.quick-panel.display\"\r\n // ),\r\n // viewLanguagesDisplay: objectPath.get(\r\n // uiService.config,\r\n // \"extras.languages.display\"\r\n // ),\r\n viewUserDisplay: objectPath.get(uiService.config, \"extras.user.display\"),\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n
\r\n {/* {layoutProps.viewSearchDisplay && }\r\n\r\n {layoutProps.viewNotificationsDisplay && }\r\n\r\n {layoutProps.viewQuickActionsDisplay && }\r\n\r\n {layoutProps.viewCartDisplay && }\r\n\r\n {layoutProps.viewQuickPanelDisplay && (\r\n Quick panel}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n )}\r\n\r\n {layoutProps.viewLanguagesDisplay && } */}\r\n\r\n {layoutProps.viewUserDisplay && }\r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\r\nimport { toAbsoluteUrl } from \"../../../../../_helpers\";\r\n\r\nconst perfectScrollbarOptions = {\r\n wheelSpeed: 2,\r\n wheelPropagation: false,\r\n};\r\n\r\nexport function SearchResult({ data }) {\r\n if (!data) {\r\n return null;\r\n }\r\n\r\n if (data.length === 0) {\r\n return (\r\n \r\n
\r\n
No record found
\r\n
\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n {/* begin: Section */}\r\n
\r\n Documents\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n AirPlus Requirements\r\n \r\n \r\n by Grog John\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n TechNav Documentation\r\n \r\n \r\n by Mary Broun\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n All Framework Docs\r\n \r\n \r\n by Nick Stone\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Finance & Accounting Reports\r\n \r\n \r\n by Jhon Larson\r\n \r\n
\r\n
\r\n
\r\n {/* end: Section */}\r\n\r\n {/* begin: Section */}\r\n
\r\n Members\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Milena Gibson\r\n \r\n \r\n UI Designer\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Stefan JohnStefan\r\n \r\n \r\n Marketing Manager\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Anna Strong\r\n \r\n \r\n Software Developer\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Nick Bold\r\n \r\n \r\n Project Coordinator\r\n \r\n
\r\n
\r\n
\r\n {/* end: Section */}\r\n\r\n {/* begin: Section */}\r\n
\r\n Files\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n 79 PSD files generated\r\n \r\n \r\n by Grog John\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n $2900 worth products sold\r\n \r\n \r\n Total 234 items\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n 4 New items submitted\r\n \r\n \r\n Marketing Manager\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n 4 New items submitted\r\n \r\n \r\n Marketing Manager\r\n \r\n
\r\n
\r\n
\r\n {/* end: Section */}\r\n
\r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport clsx from \"clsx\";\r\nimport { Dropdown, OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport objectPath from \"object-path\";\r\nimport { useHtmlClassService } from \"../../../../_core/MetronicLayout\";\r\nimport { SearchResult } from \"./SearchResult\";\r\nimport { toAbsoluteUrl } from \"../../../../../_helpers\";\r\nimport { DropdownTopbarItemToggler } from \"../../../../../_partials/dropdowns\";\r\nconst fakeData = [\r\n {\r\n type: 0,\r\n text: \"Reports\",\r\n },\r\n {\r\n type: 1,\r\n text: \"AirPlus Requirements\",\r\n description: \"by Grog John\",\r\n iconImage: toAbsoluteUrl(\"/media/files/doc.svg\"),\r\n },\r\n {\r\n type: 1,\r\n text: \"TechNav Documentation\",\r\n description: \"by Mary Brown\",\r\n iconImage: toAbsoluteUrl(\"/media/files/pdf.svg\"),\r\n },\r\n {\r\n type: 1,\r\n text: \"All Framework Docs\",\r\n description: \"by Grog John\",\r\n iconImage: toAbsoluteUrl(\"/media/files/zip.svg\"),\r\n },\r\n {\r\n type: 1,\r\n text: \"AirPlus Requirements\",\r\n description: \"by Tim Hardy\",\r\n iconImage: toAbsoluteUrl(\"/media/files/xml.svg\"),\r\n },\r\n {\r\n text: \"Customers\",\r\n type: 0,\r\n },\r\n {\r\n type: 1,\r\n text: \"Jimmy Curry\",\r\n description: \"Software Developer\",\r\n iconImage: toAbsoluteUrl(\"/media/users/300_11.jpg\"),\r\n },\r\n {\r\n type: 1,\r\n text: \"Milena Gibson\",\r\n description: \"UI Designer\",\r\n iconImage: toAbsoluteUrl(\"/media/users/300_16.jpg\"),\r\n },\r\n {\r\n type: 1,\r\n text: \"Stefan JohnStefan\",\r\n description: \"Marketing Manager\",\r\n iconImage: toAbsoluteUrl(\"/media/users/300_22.jpg\"),\r\n },\r\n {\r\n type: 1,\r\n text: \"Anna Strong\",\r\n description: \"Software Developer\",\r\n iconImage: toAbsoluteUrl(\"/media/users/300_5.jpg\"),\r\n },\r\n {\r\n type: 0,\r\n text: \"Files\",\r\n },\r\n {\r\n type: 1,\r\n text: \"2 New items submitted\",\r\n description: \"Marketing Manager\",\r\n iconClassName: \"flaticon2-box font-danger\",\r\n },\r\n {\r\n type: 1,\r\n text: \"79 PSD files generated\",\r\n description: \"by Grog John\",\r\n iconClassName: \"flaticon-psd font-brand\",\r\n },\r\n {\r\n type: 1,\r\n text: \"$2900 worth products sold\",\r\n description: \"Total 234 items\",\r\n iconClassName: \"flaticon2-supermarket font-warning\",\r\n },\r\n {\r\n type: 1,\r\n text: \"4 New items submitted\",\r\n description: \"Marketing Manager\",\r\n iconClassName: \"flaticon-safe-shield-protection font-info\",\r\n },\r\n];\r\n\r\nexport function SearchDropdown() {\r\n const [loading, setLoading] = useState(false);\r\n const [data, setData] = useState(null);\r\n const [searchValue, setSearchValue] = useState(\"\");\r\n let timeoutId;\r\n\r\n const clearTimeout = () => {\r\n if (timeoutId) {\r\n clearTimeout(timeoutId);\r\n timeoutId = undefined;\r\n }\r\n };\r\n\r\n const handleSearchChange = (event) => {\r\n setData(null);\r\n setSearchValue(event.target.value);\r\n\r\n if (event.target.value.length > 2) {\r\n clearTimeout();\r\n\r\n setLoading(true);\r\n\r\n // simulate getting search result\r\n timeoutId = setTimeout(() => {\r\n setData(fakeData);\r\n setLoading(false);\r\n }, 500);\r\n }\r\n };\r\n\r\n const clear = () => {\r\n setData(null);\r\n setSearchValue(\"\");\r\n };\r\n\r\n useEffect(() => {\r\n return () => {\r\n clearTimeout();\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n offcanvas:\r\n objectPath.get(uiService.config, \"extras.search.layout\") ===\r\n \"offcanvas\",\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <>\r\n {layoutProps.offcanvas && (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n )}\r\n {!layoutProps.offcanvas && (\r\n {\r\n setData(null);\r\n setLoading(false);\r\n setSearchValue(\"\");\r\n }}\r\n id=\"kt_quick_search_toggle\"\r\n >\r\n \r\n Quick search}\r\n >\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n \r\n \r\n 0\r\n ? \"none\"\r\n : \"flex\",\r\n }}\r\n onClick={clear}\r\n className=\"quick-search-close ki ki-close icon-sm text-muted\"\r\n />\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport objectPath from \"object-path\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { toAbsoluteUrl } from \"../../../../_helpers\";\r\nimport { useHtmlClassService } from \"../../../_core/MetronicLayout\";\r\n//import {HeaderMenu} from \"./HeaderMenu\";\r\nimport { SearchDropdown } from \"../../extras/dropdowns/search/SearchDropdown\";\r\nexport function HeaderMenuWrapper() {\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n viewSearchDisplay: objectPath.get(\r\n uiService.config,\r\n \"extras.search.display\"\r\n ),\r\n config: uiService.config,\r\n ktMenuClasses: uiService.getClasses(\"header_menu\", true),\r\n rootArrowEnabled: objectPath.get(\r\n uiService.config,\r\n \"header.menu.self.root-arrow\"\r\n ),\r\n menuDesktopToggle: objectPath.get(\r\n uiService.config,\r\n \"header.menu.desktop.toggle\"\r\n ),\r\n headerMenuAttributes: uiService.getAttributes(\"header_menu\"),\r\n headerSelfTheme: objectPath.get(uiService.config, \"header.self.theme\"),\r\n ulClasses: uiService.getClasses(\"header_menu_nav\", true),\r\n disabledAsideSelfDisplay:\r\n objectPath.get(uiService.config, \"aside.self.display\") === false,\r\n };\r\n }, [uiService]);\r\n const getHeaderLogo = () => {\r\n let result = \"logo.png\";\r\n if (layoutProps.headerSelfTheme && layoutProps.headerSelfTheme !== \"dark\") {\r\n result = \"logo.png\";\r\n }\r\n return toAbsoluteUrl(`/media/logos/${result}`);\r\n };\r\n\r\n return (\r\n <>\r\n {/*begin::Header Menu Wrapper*/}\r\n \r\n {layoutProps.disabledAsideSelfDisplay && (\r\n <>\r\n {/*begin::Header Logo*/}\r\n
\r\n \r\n \"logo\"\r\n \r\n
\r\n {/*end::Header Logo*/}\r\n \r\n )}\r\n {/*begin::Header Menu*/}\r\n {/* */}\r\n {/*end::Header Menu*/}\r\n\r\n {layoutProps.viewSearchDisplay && }\r\n \r\n\r\n {/*Header Menu Wrapper*/}\r\n \r\n );\r\n}\r\n","import React, {useMemo} from \"react\";\r\nimport objectPath from \"object-path\";\r\nimport {useHtmlClassService} from \"../../_core/MetronicLayout\";\r\nimport {Topbar} from \"./Topbar\";\r\nimport {HeaderMenuWrapper} from \"./header-menu/HeaderMenuWrapper\";\r\nimport {AnimateLoading} from \"../../../_partials/controls\";\r\n\r\nexport function Header() {\r\n const uiService = useHtmlClassService();\r\n\r\n const layoutProps = useMemo(() => {\r\n return {\r\n headerClasses: uiService.getClasses(\"header\", true),\r\n headerAttributes: uiService.getAttributes(\"header\"),\r\n headerContainerClasses: uiService.getClasses(\"header_container\", true),\r\n menuHeaderDisplay: objectPath.get(\r\n uiService.config,\r\n \"header.menu.self.display\"\r\n )\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <>\r\n {/*begin::Header*/}\r\n \r\n {/*begin::Container*/}\r\n
\r\n \r\n {/*begin::Header Menu Wrapper*/}\r\n {layoutProps.menuHeaderDisplay && }\r\n {!layoutProps.menuHeaderDisplay &&
}\r\n {/*end::Header Menu Wrapper*/}\r\n\r\n {/*begin::Topbar*/}\r\n \r\n {/*end::Topbar*/}\r\n
\r\n {/*end::Container*/}\r\n
\r\n {/*end::Header*/}\r\n \r\n );\r\n}\r\n","import React, {useMemo} from \"react\";\r\nimport {Link} from \"react-router-dom\";\r\nimport objectPath from \"object-path\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport {toAbsoluteUrl} from \"../../../_helpers\";\r\nimport {useHtmlClassService} from \"../../_core/MetronicLayout\";\r\n\r\nexport function HeaderMobile() {\r\n const uiService = useHtmlClassService();\r\n\r\n const layoutProps = useMemo(() => {\r\n return {\r\n headerLogo: uiService.getStickyLogo(),\r\n asideDisplay: objectPath.get(uiService.config, \"aside.self.display\"),\r\n headerMenuSelfDisplay:\r\n objectPath.get(uiService.config, \"header.menu.self.display\") === true,\r\n headerMobileCssClasses: uiService.getClasses(\"header_mobile\", true),\r\n headerMobileAttributes: uiService.getAttributes(\"header_mobile\")\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <>\r\n {/*begin::Header Mobile*/}\r\n \r\n {/*begin::Logo*/}\r\n \r\n \"logo\"\r\n \r\n {/*end::Logo*/}\r\n\r\n {/*begin::Toolbar*/}\r\n
\r\n {layoutProps.asideDisplay && (\r\n <>\r\n {/*begin::Aside Mobile Toggle*/}\r\n \r\n {/*end::Aside Mobile Toggle*/}\r\n \r\n )}\r\n\r\n {layoutProps.headerMenuSelfDisplay && (\r\n <>\r\n {/*begin::Header Menu Mobile Toggle*/}\r\n \r\n {/*end::Header Menu Mobile Toggle*/}\r\n \r\n )}\r\n\r\n {/*begin::Topbar Mobile Toggle*/}\r\n \r\n \r\n \r\n \r\n \r\n {/*end::Topbar Mobile Toggle*/}\r\n
\r\n {/*end::Toolbar*/}\r\n \r\n {/*end::Header Mobile*/}\r\n \r\n );\r\n}\r\n","import React, {useMemo} from \"react\";\r\nimport {Link} from \"react-router-dom\";\r\nimport objectPath from \"object-path\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport {useHtmlClassService} from \"../../_core/MetronicLayout\";\r\nimport {toAbsoluteUrl} from \"../../../_helpers\";\r\n\r\nexport function Brand() {\r\n const uiService = useHtmlClassService();\r\n\r\n const layoutProps = useMemo(() => {\r\n return {\r\n brandClasses: uiService.getClasses(\"brand\", true),\r\n asideSelfMinimizeToggle: objectPath.get(\r\n uiService.config,\r\n \"aside.self.minimize.toggle\"\r\n ),\r\n headerLogo: uiService.getLogo(),\r\n headerStickyLogo: uiService.getStickyLogo()\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <>\r\n {/* begin::Brand */}\r\n \r\n {/* begin::Logo */}\r\n \r\n \"logo\"\r\n \r\n {/* end::Logo */}\r\n\r\n {layoutProps.asideSelfMinimizeToggle && (\r\n <>\r\n {/* begin::Toggle */}\r\n \r\n {/* end::Toolbar */}\r\n \r\n )}\r\n \r\n {/* end::Brand */}\r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport axios from \"axios\";\r\nimport { NavLink } from \"react-router-dom\";\r\n\r\nconst PageUrl = `${process.env.REACT_APP_API_URL}/api/adminmenu`;\r\nexport default function LoadMenu(props) {\r\n const {getMenuItemActive} = props;\r\n const [Menu, setMenu] = useState([]);\r\n\r\n useEffect(() => {\r\n const getInnerPagesWithAxios = async () => {\r\n const response = await axios.get(PageUrl);\r\n setMenu(response.data);\r\n };\r\n getInnerPagesWithAxios();\r\n }, [setMenu]);\r\n\r\n // Menu.map((user) => (\r\n // // user.PageUrl\r\n // );\r\n return Menu.filter((menu) => menu.isActive).map((parent, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {parent.menuName}\r\n \r\n \r\n );\r\n });\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport { useLocation } from \"react-router\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { useSelector } from \"react-redux\";\r\n\r\nimport SVG from \"react-inlinesvg\";\r\nimport LoadMenu from \"../../../../../components/LoadMenu\";\r\nimport { toAbsoluteUrl, checkIsActive } from \"../../../../_helpers\";\r\n\r\nexport function AsideMenuList({ layoutProps }) {\r\n const location = useLocation();\r\n const { user } = useSelector((state) => state.auth);\r\n // user.role = 2;\r\n const getMenuItemActive = (url, hasSubmenu = false) => {\r\n return checkIsActive(location, url)\r\n ? ` ${!hasSubmenu && \"menu-item-active\"} menu-item-open `\r\n : \"\";\r\n };\r\n\r\n return (\r\n <>\r\n {/* begin::Menu Nav */}\r\n
    \r\n {/*begin::1 Level*/}\r\n {user.role === 1 ? (\r\n \r\n \r\n \r\n \r\n \r\n Dashboard\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {user.role === 2 ? (\r\n \r\n \r\n \r\n \r\n \r\n Profile\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {user.role === 3 ? (\r\n \r\n \r\n \r\n \r\n \r\n Profile\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n {/* \r\n \r\n \r\n \r\n \r\n Layout Builder\r\n \r\n */}\r\n {/*end::1 Level*/}\r\n\r\n {/* Components */}\r\n {/* begin::section */}\r\n {/*
  • \r\n

    Components

    \r\n \r\n
  • */}\r\n {/* end:: section */}\r\n {/* Modules */}\r\n {/*begin::1 Level*/}\r\n\r\n {user.role === 1 ? (\r\n \r\n \r\n \r\n \r\n \r\n Settings\r\n \r\n \r\n
    \r\n \r\n
      \r\n \r\n \r\n Settings\r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n \r\n ) : (\r\n \" \"\r\n )}\r\n\r\n {user.role === 1 ? (\r\n \r\n \r\n \r\n \r\n \r\n Scholars\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n {/*end::1 Level*/}\r\n {user.role === 1 ? (\r\n \r\n \r\n \r\n \r\n \r\n Guides\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n {user.role === 2 ? (\r\n \r\n \r\n \r\n \r\n \r\n Scholar\r\n \r\n \r\n
    \r\n \r\n
      \r\n \r\n \r\n Scholar\r\n \r\n \r\n\r\n {/* */}\r\n
    \r\n
    \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n {/*end::1 Level*/}\r\n {user.role === 3 ? (\r\n \r\n \r\n \r\n Guide\r\n \r\n \r\n
    \r\n \r\n
      \r\n \r\n \r\n Guide\r\n \r\n \r\n\r\n {/* */}\r\n
    \r\n
    \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n {user.role === 4 || user.role === 1 ? (\r\n \r\n \r\n \r\n Academic Students\r\n \r\n \r\n
    \r\n \r\n
      \r\n \r\n \r\n Academic Students\r\n \r\n \r\n\r\n {/* */}\r\n
    \r\n
    \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n \r\n );\r\n}\r\n","import React, {useMemo} from \"react\";\r\nimport {AsideMenuList} from \"./AsideMenuList\";\r\nimport {useHtmlClassService} from \"../../../_core/MetronicLayout\";\r\n\r\nexport function AsideMenu({disableScroll}) {\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n layoutConfig: uiService.config,\r\n asideMenuAttr: uiService.getAttributes(\"aside_menu\"),\r\n ulClasses: uiService.getClasses(\"aside_menu_nav\", true),\r\n asideClassesFromConfig: uiService.getClasses(\"aside_menu\", true)\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <>\r\n {/* begin::Menu Container */}\r\n \r\n \r\n \r\n {/* end::Menu Container */}\r\n \r\n );\r\n}\r\n","import React, {useMemo} from \"react\";\r\nimport {Link} from \"react-router-dom\";\r\nimport objectPath from \"object-path\";\r\nimport {Brand} from \"../brand/Brand\";\r\nimport {AsideMenu} from \"./aside-menu/AsideMenu\";\r\nimport {useHtmlClassService} from \"../../_core/MetronicLayout\";\r\n\r\nexport function Aside() {\r\n const uiService = useHtmlClassService();\r\n\r\n const layoutProps = useMemo(() => {\r\n return {\r\n disableScroll:\r\n objectPath.get(uiService.config, \"aside.menu.dropdown\") === \"true\" ||\r\n false,\r\n asideClassesFromConfig: uiService.getClasses(\"aside\", true),\r\n disableAsideSelfDisplay:\r\n objectPath.get(uiService.config, \"aside.self.display\") === false,\r\n headerLogo: uiService.getLogo()\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <>\r\n {/* begin::Aside */}\r\n
\r\n \r\n\r\n {/* begin::Aside Menu */}\r\n
\r\n {layoutProps.disableAsideSelfDisplay && (\r\n <>\r\n {/* begin::Header Logo */}\r\n
\r\n \r\n \"logo\"\r\n \r\n
\r\n {/* end::Header Logo */}\r\n \r\n )}\r\n \r\n
\r\n {/* end::Aside Menu */}\r\n
\r\n {/* end::Aside */}\r\n \r\n );\r\n}\r\n","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./../../components/util.js\";\r\n\r\nvar KTLayoutHeader = function() {\r\n // Private properties\r\n var _element;\r\n var _elementForMobile;\r\n var _object;\r\n\r\n\t// Private functions\r\n // Get Height\r\n var _getHeight = function() {\r\n var height = 0;\r\n\r\n if (_element) {\r\n height = KTUtil.actualHeight(_element) + 1;\r\n }\r\n\r\n return height;\r\n }\r\n\r\n // Get Height\r\n var _getHeightForMobile = function() {\r\n var height;\r\n\r\n height = KTUtil.actualHeight(_elementForMobile);\r\n\r\n return height;\r\n }\r\n\r\n // Public Methods\r\n\treturn {\r\n\t\tinit: function(id, idForMobile) {\r\n _element = KTUtil.getById(id);\r\n _elementForMobile = KTUtil.getById(idForMobile);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\t\t},\r\n\r\n isFixed: function() {\r\n return KTUtil.hasClass(KTUtil.getBody(), 'header-fixed')\r\n },\r\n\r\n isFixedForMobile: function() {\r\n return KTUtil.hasClass(KTUtil.getBody(), 'header-mobile-fixed')\r\n },\r\n\r\n getElement: function() {\r\n return _element;\r\n },\r\n\r\n getElementForMobile: function() {\r\n return _elementForMobile;\r\n },\r\n\r\n getHeader: function() {\r\n return _object;\r\n },\r\n\r\n getHeight: function() {\r\n return _getHeight();\r\n },\r\n\r\n getHeightForMobile: function() {\r\n return _getHeightForMobile();\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutHeader;\r\n}\r\n\r\nexport default KTLayoutHeader;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport KTOffcanvas from \"./../../components/offcanvas.js\";\r\nimport KTMenu from \"./../../components/menu.js\";\r\nimport { KTUtil } from \"./../../components/util.js\";\r\n\r\nvar KTLayoutHeaderMenu = function() {\r\n // Private properties\r\n\tvar _menuElement;\r\n var _menuObject;\r\n var _offcanvasElement;\r\n var _offcanvasObject;\r\n\r\n // Private functions\r\n\tvar _init = function() {\r\n\t\t_offcanvasObject = new KTOffcanvas(_offcanvasElement, {\r\n\t\t\toverlay: true,\r\n\t\t\tbaseClass: 'header-menu-wrapper',\r\n\t\t\tcloseBy: 'kt_header_menu_mobile_close_btn',\r\n\t\t\ttoggleBy: {\r\n\t\t\t\ttarget: 'kt_header_mobile_toggle',\r\n\t\t\t\tstate: 'mobile-toggle-active'\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\t\t_menuObject = new KTMenu(_menuElement, {\r\n\t\t\tsubmenu: {\r\n\t\t\t\tdesktop: 'dropdown',\r\n\t\t\t\ttablet: 'accordion',\r\n\t\t\t\tmobile: 'accordion'\r\n\t\t\t},\r\n\t\t\taccordion: {\r\n\t\t\t\tslideSpeed: 200, // accordion toggle slide speed in milliseconds\r\n\t\t\t\texpandAll: false // allow having multiple expanded accordions in the menu\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Close aside offcanvas panel before page reload On tablet and mobile\r\n _menuObject.on('linkClick', function(menu) {\r\n if (KTUtil.isBreakpointDown('lg')) { // Tablet and mobile mode\r\n _offcanvasObject.hide(); // Hide offcanvas after general link click\r\n }\r\n });\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n init: function(menuId, offcanvasId) {\r\n _menuElement = KTUtil.getById(menuId);\r\n _offcanvasElement = KTUtil.getById(offcanvasId);\r\n\r\n if (!_menuElement) {\r\n return;\r\n }\r\n\r\n // Initialize menu\r\n _init();\r\n\t\t},\r\n\r\n\t\tgetMenuElement: function() {\r\n\t\t\treturn _menuElement;\r\n\t\t},\r\n\r\n getOffcanvasElement: function() {\r\n\t\t\treturn _offcanvasElement;\r\n\t\t},\r\n\r\n getMenu: function() {\r\n\t\t\treturn _menuObject;\r\n\t\t},\r\n\r\n\t\tpauseDropdownHover: function(time) {\r\n\t\t\tif (_menuObject) {\r\n\t\t\t\t_menuObject.pauseDropdownHover(time);\r\n\t\t\t}\r\n\t\t},\r\n\r\n getOffcanvas: function() {\r\n\t\t\treturn _offcanvasObject;\r\n\t\t},\r\n\r\n\t\tcloseMobileOffcanvas: function() {\r\n\t\t\tif (_menuObject && KTUtil.isMobileDevice()) {\r\n\t\t\t\t_offcanvasObject.hide();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutHeaderMenu;\r\n}\r\n\r\nexport default KTLayoutHeaderMenu;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport KTToggle from \"./../../components/toggle.js\";\r\nimport { KTUtil } from \"./../../components/util.js\";\r\n\r\nvar KTLayoutHeaderTopbar = function() {\r\n // Private properties\r\n\tvar _toggleElement;\r\n var _toggleObject;\r\n\r\n // Private functions\r\n var _init = function() {\r\n\t\t\t_toggleObject = new KTToggle(_toggleElement, KTUtil.getBody(), {\r\n\t\t\t\ttargetState: 'topbar-mobile-on',\r\n\t\t\t\ttoggleState: 'active',\r\n\t\t\t});\r\n }\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _toggleElement = KTUtil.getById(id);\r\n\r\n\t\t\tif (!_toggleElement) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n\t\t},\r\n\r\n getToggleElement: function() {\r\n return _toggleElement;\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutHeaderTopbar;\r\n}\r\n\r\nexport default KTLayoutHeaderTopbar;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./../../components/util.js\";\r\n\r\nvar KTLayoutBrand = function() {\r\n // Private properties\r\n var _element;\r\n\r\n // Private functions\r\n var _getHeight = function() {\r\n var height = 0;\r\n\r\n if (_element) {\r\n height = KTUtil.actualHeight(_element);\r\n }\r\n\r\n return height;\r\n }\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\t\t},\r\n\r\n getElement: function() {\r\n return _element;\r\n },\r\n\r\n getHeight: function() {\r\n return _getHeight();\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutBrand;\r\n}\r\n\r\nexport default KTLayoutBrand;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./../../components/util.js\";\r\nimport KTLayoutBrand from \"./brand.js\";\r\nimport KTMenu from \"./../../components/menu.js\";\r\nimport KTLayoutAside from \"./aside.js\";\r\n\r\nvar KTLayoutAsideMenu = function() {\r\n // Private properties\r\n var _element;\r\n var _menuObject;\r\n\r\n\t// Initialize\r\n\tvar _init = function() {\r\n\t\tvar menuDesktopMode = (KTUtil.attr(_element, 'data-menu-dropdown') === '1' ? 'dropdown' : 'accordion');\r\n var scroll;\r\n\r\n\t\tif (KTUtil.attr(_element, 'data-menu-scroll') === '1') {\r\n\t\t\tscroll = {\r\n\t\t\t\trememberPosition: true, // remember position on page reload\r\n\t\t\t\theight: function() { // calculate available scrollable area height\r\n\t\t\t\t\tvar height = parseInt(KTUtil.getViewPort().height);\r\n\r\n\t\t\t\t\tif (KTUtil.isBreakpointUp('lg')) {\r\n\t\t\t\t\t\theight = height - KTLayoutBrand.getHeight();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\theight = height - (parseInt(KTUtil.css(_element, 'marginBottom')) + parseInt(KTUtil.css(_element, 'marginTop')));\r\n\r\n\t\t\t\t\treturn height;\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\t_menuObject = new KTMenu(_element, {\r\n\t\t\t// Vertical scroll\r\n\t\t\tscroll: scroll,\r\n\r\n\t\t\t// Submenu setup\r\n\t\t\tsubmenu: {\r\n\t\t\t\tdesktop: menuDesktopMode,\r\n\t\t\t\ttablet: 'accordion', // menu set to accordion in tablet mode\r\n\t\t\t\tmobile: 'accordion' // menu set to accordion in mobile mode\r\n\t\t\t},\r\n\r\n\t\t\t// Accordion setup\r\n\t\t\taccordion: {\r\n\t\t\t\texpandAll: false // allow having multiple expanded accordions in the menu\r\n\t\t\t}\r\n\t\t});\r\n\r\n // Disable menu click if aside is fixed and minimized\r\n _menuObject.on('submenuToggle', function(menu) {\r\n if (KTLayoutAside.isMinimized() === true && KTLayoutAside.isHoverable() === false) {\r\n return false;\r\n }\r\n });\r\n\r\n // Close aside offcanvas panel before page reload On tablet and mobile\r\n _menuObject.on('linkClick', function(menu) {\r\n if (KTUtil.isBreakpointDown('lg')) { // Tablet and mobile mode\r\n KTLayoutAside.getOffcanvas().hide(); // Hide offcanvas after general link click\r\n }\r\n });\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize menu\r\n _init();\r\n\t\t},\r\n\r\n\t\tgetElement: function() {\r\n\t\t\treturn _element;\r\n\t\t},\r\n\r\n getMenu: function() {\r\n\t\t\treturn _menuObject;\r\n\t\t},\r\n\r\n pauseDropdownHover: function(time) {\r\n\t\t\tif (_menuObject) {\r\n\t\t\t\t_menuObject.pauseDropdownHover(time);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tcloseMobileOffcanvas: function() {\r\n\t\t\tif (_menuObject && KTUtil.isMobileDevice()) {\r\n\t\t\t\t_menuObject.hide();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutAsideMenu;\r\n}\r\n\r\nexport default KTLayoutAsideMenu;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./../../components/util.js\";\r\nimport KTOffcanvas from \"./../../components/offcanvas.js\";\r\nimport KTLayoutAsideMenu from \"./aside-menu.js\";\r\n\r\nvar KTLayoutAside = function() {\r\n // Private properties\r\n var _body;\r\n var _element;\r\n var _offcanvasObject;\r\n\r\n // Private functions\r\n\t// Initialize\r\n\tvar _init = function() {\r\n\t\tvar offcanvasClass = KTUtil.hasClass(_element, 'aside-offcanvas-default') ? 'aside-offcanvas-default' : 'aside';\r\n\r\n // Initialize mobile aside offcanvas\r\n\t\t_offcanvasObject = new KTOffcanvas(_element, {\r\n\t\t\tbaseClass: offcanvasClass,\r\n\t\t\toverlay: true,\r\n\t\t\tcloseBy: 'kt_aside_close_btn',\r\n\t\t\ttoggleBy: {\r\n\t\t\t\ttarget: 'kt_aside_mobile_toggle',\r\n\t\t\t\tstate: 'mobile-toggle-active'\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Handle Minimized Aside Hover\r\n\t\tif (KTUtil.hasClass(_body, 'aside-fixed') && KTUtil.hasClass(_body, 'aside-minimize-hoverable')) {\r\n\t\t\tvar insideTm;\r\n\t\t\tvar outsideTm;\r\n\r\n // Handle Aside Hover Mode\r\n\t\t\tKTUtil.addEvent(_element, 'mouseenter', function(e) {\r\n\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\tif (KTUtil.isBreakpointUp('lg') === false) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (outsideTm) {\r\n\t\t\t\t\tclearTimeout(outsideTm);\r\n\t\t\t\t\toutsideTm = null;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tinsideTm = setTimeout(function() {\r\n\t\t\t\t\tif (KTUtil.hasClass(_body, 'aside-minimize') && KTUtil.isBreakpointUp('lg')) {\r\n\t\t\t\t\t\tKTUtil.removeClass(_body, 'aside-minimize');\r\n\r\n\t\t\t\t\t\t// Hover class\r\n\t\t\t\t\t\tKTUtil.addClass(_body, 'aside-minimize-hover');\r\n\r\n\t\t\t\t\t\tKTLayoutAsideMenu.getMenu().scrollUpdate();\r\n\t\t\t\t\t\tKTLayoutAsideMenu.getMenu().scrollTop();\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 50);\r\n\t\t\t});\r\n\r\n\t\t\tKTUtil.addEvent(_element, 'mouseleave', function(e) {\r\n\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\tif (KTUtil.isBreakpointUp('lg') === false) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (insideTm) {\r\n\t\t\t\t\tclearTimeout(insideTm);\r\n\t\t\t\t\tinsideTm = null;\r\n\t\t\t\t}\r\n\r\n\t\t\t\toutsideTm = setTimeout(function() {\r\n\t\t\t\t if (KTUtil.hasClass(_body, 'aside-minimize-hover') && KTUtil.isBreakpointUp('lg')) {\r\n\t\t\t\t\t KTUtil.removeClass(_body, 'aside-minimize-hover');\r\n\t\t\t\t\t KTUtil.addClass(_body, 'aside-minimize');\r\n\r\n\t\t\t\t\t\t// Hover class\r\n KTLayoutAsideMenu.getMenu().scrollUpdate();\r\n\t\t\t\t\t\tKTLayoutAsideMenu.getMenu().scrollTop();\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 100);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n _body = KTUtil.getBody();\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n },\r\n\r\n getElement: function() {\r\n return _element;\r\n },\r\n\r\n getOffcanvas: function() {\r\n return _offcanvasObject;\r\n },\r\n\r\n isFixed: function() {\r\n return KTUtil.hasClass(_body, 'aside-fixed');\r\n },\r\n\r\n isMinimized: function() {\r\n return (KTUtil.hasClass(_body, 'aside-fixed') && KTUtil.hasClass(_body, 'aside-minimize'));\r\n },\r\n\r\n isHoverable: function() {\r\n return (KTUtil.hasClass(_body, 'aside-fixed') && KTUtil.hasClass(_body, 'aside-minimize-hoverable'));\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutAside;\r\n}\r\n\r\nexport default KTLayoutAside;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./../../components/util.js\";\r\n\r\nvar KTLayoutSubheader = function() {\r\n // Private properties\r\n var _element;\r\n\r\n // Private functions\r\n var _getHeight = function() {\r\n var height = 0;\r\n\r\n if (_element) {\r\n height = KTUtil.actualHeight(_element);\r\n }\r\n\r\n return height;\r\n }\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\t\t},\r\n\r\n isFixed: function() {\r\n return KTUtil.hasClass(KTUtil.getBody(), 'subheader-fixed');\r\n },\r\n\r\n getElement: function() {\r\n return _element;\r\n },\r\n\r\n getHeight: function() {\r\n return _getHeight();\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutSubheader;\r\n}\r\n\r\nexport default KTLayoutSubheader;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport KTLayoutHeader from \"./header.js\";\r\nimport KTCard from \"./../../components/card.js\";\r\nimport { KTUtil } from \"./../../components/util.js\";\r\nimport KTLayoutSubheader from \"./subheader.js\";\r\n\r\nvar KTLayoutStickyCard = function() {\r\n // Private properties\r\n\tvar _element;\r\n var _object;\r\n\r\n\t// Private functions\r\n\tvar _init = function() {\r\n\t\tvar offset = 300;\r\n\r\n\t\tif (typeof KTLayoutHeader !== 'undefined') {\r\n\t\t\toffset = KTLayoutHeader.getHeight();\r\n\t\t}\r\n\r\n _object = new KTCard(_element, {\r\n\t\t\tsticky: {\r\n\t\t\t\toffset: offset,\r\n\t\t\t\tzIndex: 90,\r\n\t\t\t\tposition: {\r\n\t\t\t\t\ttop: function() {\r\n\t\t\t\t\t\tvar pos = 0;\r\n var body = KTUtil.getBody();\r\n\r\n\t\t\t\t\t\tif (KTUtil.isBreakpointUp('lg')) {\r\n\t\t\t\t\t\t\tif (typeof KTLayoutHeader !== 'undefined' && KTLayoutHeader.isFixed()) {\r\n\t\t\t\t\t\t\t\tpos = pos + KTLayoutHeader.getHeight();\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tif (typeof KTLayoutSubheader !== 'undefined' && KTLayoutSubheader.isFixed()) {\r\n\t\t\t\t\t\t\t\tpos = pos + KTLayoutSubheader.getHeight();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tif (typeof KTLayoutHeader !== 'undefined' && KTLayoutHeader.isFixedForMobile()) {\r\n\t\t\t\t\t\t\t\tpos = pos + KTLayoutHeader.getHeightForMobile();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tpos = pos - 1; // remove header border width\r\n\r\n\t\t\t\t\t\treturn pos;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tleft: function(card) {\r\n\t\t\t\t\t\treturn KTUtil.offset(_element).left;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tright: function(card) {\r\n\t\t\t\t\t\tvar body = KTUtil.getBody();\r\n\r\n\t\t\t\t\t\tvar cardWidth = parseInt(KTUtil.css(_element, 'width'));\r\n\t\t\t\t\t\tvar bodyWidth = parseInt(KTUtil.css(body, 'width'));\r\n\t\t\t\t\t\tvar cardOffsetLeft = KTUtil.offset(_element).left;\r\n\r\n\t\t\t\t\t\treturn bodyWidth - cardWidth - cardOffsetLeft;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t_object.initSticky();\r\n\r\n\t\tKTUtil.addResizeHandler(function() {\r\n\t\t\t_object.updateSticky();\r\n\t\t});\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n\t\t\t_init();\r\n\t\t},\r\n\r\n\t\tupdate: function() {\r\n\t\t\tif (_object) {\r\n\t\t\t\t_object.updateSticky();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutStickyCard;\r\n}\r\n\r\nexport default KTLayoutStickyCard;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport KTToggle from \"./../../components/toggle.js\";\r\nimport KTLayoutStickyCard from \"./sticky-card.js\";\r\nimport KTLayoutHeaderMenu from \"./header-menu.js\";\r\nimport KTLayoutAsideMenu from \"./aside-menu.js\";\r\nimport { KTCookie } from \"./../../components/cookie.js\";\r\nimport { KTUtil } from \"./../../components/util.js\";\r\n\r\nvar KTLayoutAsideToggle = function() {\r\n // Private properties\r\n var _body;\r\n var _element;\r\n var _toggleObject;\r\n\r\n\t// Initialize\r\n\tvar _init = function() {\r\n\t\t_toggleObject = new KTToggle(_element, _body, {\r\n\t\t\ttargetState: 'aside-minimize',\r\n\t\t\ttoggleState: 'active'\r\n\t\t});\r\n\r\n\t\t_toggleObject.on('toggle', function(toggle) {\r\n // Update sticky card\r\n if (typeof KTLayoutStickyCard !== 'undefined') {\r\n KTLayoutStickyCard.update();\r\n }\r\n\r\n // Pause header menu dropdowns\r\n if (typeof KTLayoutHeaderMenu !== 'undefined') {\r\n KTLayoutHeaderMenu.pauseDropdownHover(800);\r\n }\r\n\r\n // Pause aside menu dropdowns\r\n if (typeof KTLayoutAsideMenu !== 'undefined') {\r\n KTLayoutAsideMenu.pauseDropdownHover(800);\r\n }\r\n\r\n // Remember state in cookie\r\n\t\t\tKTCookie.setCookie('kt_aside_toggle_state', toggle.getState());\r\n\t\t\t// to set default minimized left aside use this cookie value in your\r\n\t\t\t// server side code and add \"kt-primary--minimize aside-minimize\" classes to\r\n\t\t\t// the body tag in order to initialize the minimized left aside mode during page loading.\r\n\t\t});\r\n\r\n\t\t_toggleObject.on('beforeToggle', function(toggle) {\r\n\t\t\tif (KTUtil.hasClass(_body, 'aside-minimize') === false && KTUtil.hasClass(_body, 'aside-minimize-hover')) {\r\n\t\t\t\tKTUtil.removeClass(_body, 'aside-minimize-hover');\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n _body = KTUtil.getBody();\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n\t\t},\r\n\r\n getElement: function() {\r\n return _element;\r\n },\r\n\r\n getToggle: function() {\r\n\t\t\treturn _toggleObject;\r\n\t\t},\r\n\r\n\t\tonToggle: function(handler) {\r\n\t\t\tif (typeof _toggleObject.element !== 'undefined') {\r\n\t\t\t\t_toggleObject.on('toggle', handler);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutAsideToggle;\r\n}\r\n\r\nexport default KTLayoutAsideToggle;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./../../components/util.js\";\r\n\r\nvar KTLayoutFooter = function() {\r\n // Private properties\r\n var _element;\r\n\r\n\t// Private functions\r\n\tvar _getHeight = function() {\r\n\t\tvar height = 0;\r\n\r\n if (_element) {\r\n height = KTUtil.actualHeight(_element);\r\n }\r\n\r\n\t\treturn height;\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\t\t},\r\n\r\n\t\tgetHeight: function() {\r\n\t\t\treturn _getHeight();\r\n\t\t},\r\n\r\n getElement: function() {\r\n return _element;\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutFooter;\r\n}\r\n\r\nexport default KTLayoutFooter;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./../../components/util.js\";\r\nimport KTLayoutHeader from \"./header.js\";\r\nimport KTLayoutSubheader from \"./subheader.js\";\r\nimport KTLayoutFooter from \"./footer.js\";\r\n\r\nvar KTLayoutContent = function() {\r\n // Private properties\r\n var _element;\r\n\r\n\t// Private functions\r\n\tvar _getHeight = function() {\r\n\t\tvar height;\r\n\r\n\t\theight = KTUtil.getViewPort().height;\r\n\r\n if (_element) {\r\n height = height - parseInt(KTUtil.css(_element, 'paddingTop')) - parseInt(KTUtil.css(_element, 'paddingBottom'));\r\n }\r\n\r\n height = height - KTLayoutHeader.getHeight();\r\n height = height - KTLayoutSubheader.getHeight();\r\n height = height - KTLayoutFooter.getHeight();\r\n\r\n\t\treturn height;\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\t\t},\r\n\r\n\t\tgetHeight: function() {\r\n\t\t\treturn _getHeight();\r\n\t\t},\r\n\r\n getElement: function() {\r\n return _element;\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutContent;\r\n}\r\n\r\nexport default KTLayoutContent;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport KTScrolltop from \"./../../components/scrolltop.js\";\r\nimport { KTUtil } from \"./../../components/util.js\";\r\n\r\nvar KTLayoutScrolltop = function() {\r\n // Private properties\r\n var _element;\r\n var _object;\r\n\r\n // Private functions\r\n var _init = function() {\r\n _object = new KTScrolltop(_element, {\r\n offset: 300,\r\n speed: 600,\r\n });\r\n }\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n\t\t},\r\n\r\n getElement: function() {\r\n return _element;\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutScrolltop;\r\n}\r\n\r\nexport default KTLayoutScrolltop;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./../../components/util.js\";\r\nimport KTLayoutContent from \"./content.js\";\r\n\r\nvar KTLayoutStretchedCard = function() {\r\n // Private properties\r\n\tvar _element;\r\n\r\n\t// Private functions\r\n\tvar _init = function() {\r\n\t\tvar scroll = KTUtil.find(_element, '.card-scroll');\r\n\t\tvar cardBody = KTUtil.find(_element, '.card-body');\r\n\t\tvar cardHeader = KTUtil.find(_element, '.card-header');\r\n\r\n\t\tvar height = KTLayoutContent.getHeight();\r\n\r\n\t\theight = height - parseInt(KTUtil.actualHeight(cardHeader));\r\n\r\n\t\theight = height - parseInt(KTUtil.css(_element, 'marginTop')) - parseInt(KTUtil.css(_element, 'marginBottom'));\r\n\t\theight = height - parseInt(KTUtil.css(_element, 'paddingTop')) - parseInt(KTUtil.css(_element, 'paddingBottom'));\r\n\r\n\t\theight = height - parseInt(KTUtil.css(cardBody, 'paddingTop')) - parseInt(KTUtil.css(cardBody, 'paddingBottom'));\r\n\t\theight = height - parseInt(KTUtil.css(cardBody, 'marginTop')) - parseInt(KTUtil.css(cardBody, 'marginBottom'));\r\n\r\n\t\theight = height - 3;\r\n\r\n\t\tKTUtil.css(scroll, 'height', height + 'px');\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n\t\t\t_init();\r\n\r\n // Re-calculate on window resize\r\n KTUtil.addResizeHandler(function() {\r\n\t\t\t\t_init();\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\tupdate: function() {\r\n\t\t\t_init();\r\n\t\t}\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutStretchedCard;\r\n}\r\n\r\nexport default KTLayoutStretchedCard;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./../../components/util.js\";\r\nimport KTOffcanvas from \"./../../components/offcanvas.js\";\r\n\r\nvar KTLayoutQuickPanel = function() {\r\n // Private properties\r\n var _element;\r\n var _offcanvasObject;\r\n var _notificationsElement;\r\n var _logsElement;\r\n var _settingsElement;\r\n\r\n // Private functions\r\n var _getContentHeight = function() {\r\n var height;\r\n\r\n var header = KTUtil.find(_element, '.offcanvas-header');\r\n var content = KTUtil.find(_element, '.offcanvas-content');\r\n\r\n var height = parseInt(KTUtil.getViewPort().height);\r\n\r\n if (header) {\r\n height = height - parseInt(KTUtil.actualHeight(header));\r\n height = height - parseInt(KTUtil.css(header, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(header, 'marginBottom'));\r\n }\r\n\r\n if (content) {\r\n height = height - parseInt(KTUtil.css(content, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(content, 'marginBottom'));\r\n }\r\n\r\n height = height - parseInt(KTUtil.css(_element, 'paddingTop'));\r\n height = height - parseInt(KTUtil.css(_element, 'paddingBottom'));\r\n\r\n height = height - 2;\r\n\r\n return height;\r\n }\r\n\r\n var _init = function() {\r\n _offcanvasObject = new KTOffcanvas(_element, {\r\n overlay: true,\r\n baseClass: 'offcanvas',\r\n placement: 'right',\r\n closeBy: 'kt_quick_panel_close',\r\n toggleBy: 'kt_quick_panel_toggle'\r\n });\r\n }\r\n\r\n var _initNotifications = function() {\r\n KTUtil.scrollInit(_notificationsElement, {\r\n mobileNativeScroll: true,\r\n resetHeightOnDestroy: true,\r\n handleWindowResize: true,\r\n height: function() {\r\n return _getContentHeight();\r\n }\r\n });\r\n }\r\n\r\n var _initLogs = function() {\r\n KTUtil.scrollInit(_logsElement, {\r\n mobileNativeScroll: true,\r\n resetHeightOnDestroy: true,\r\n handleWindowResize: true,\r\n height: function() {\r\n return _getContentHeight();\r\n }\r\n });\r\n }\r\n\r\n var _initSettings = function() {\r\n KTUtil.scrollInit(_settingsElement, {\r\n mobileNativeScroll: true,\r\n resetHeightOnDestroy: true,\r\n handleWindowResize: true,\r\n height: function() {\r\n return _getContentHeight();\r\n }\r\n });\r\n }\r\n\r\n var _updateScrollbars = function() {\r\n $(_element).find('a[data-toggle=\"tab\"]').on('shown.bs.tab', function (e) {\r\n KTUtil.scrollUpdate(_notificationsElement);\r\n KTUtil.scrollUpdate(_logsElement);\r\n KTUtil.scrollUpdate(_settingsElement);\r\n });\r\n }\r\n\r\n // Public methods\r\n return {\r\n init: function(id) {\r\n _element = KTUtil.getById(id);\r\n _notificationsElement = KTUtil.getById('kt_quick_panel_notifications');\r\n _logsElement = KTUtil.getById('kt_quick_panel_logs');\r\n _settingsElement = KTUtil.getById('kt_quick_panel_settings');\r\n\r\n _init();\r\n _initNotifications();\r\n _initLogs();\r\n _initSettings();\r\n\r\n \r\n }\r\n };\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutQuickPanel;\r\n}\r\n\r\nexport default KTLayoutQuickPanel;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./../../components/util.js\";\r\nimport KTOffcanvas from \"./../../components/offcanvas.js\";\r\n\r\nvar KTLayoutQuickUser = function() {\r\n // Private properties\r\n var _element;\r\n var _offcanvasObject;\r\n\r\n // Private functions\r\n var _init = function() {\r\n var header = KTUtil.find(_element, '.offcanvas-header');\r\n var content = KTUtil.find(_element, '.offcanvas-content');\r\n\r\n _offcanvasObject = new KTOffcanvas(_element, {\r\n overlay: true,\r\n baseClass: 'offcanvas',\r\n placement: 'right',\r\n closeBy: 'kt_quick_user_close',\r\n toggleBy: 'kt_quick_user_toggle'\r\n });\r\n\r\n KTUtil.scrollInit(content, {\r\n disableForMobile: true,\r\n resetHeightOnDestroy: true,\r\n handleWindowResize: true,\r\n height: function() {\r\n var height = parseInt(KTUtil.getViewPort().height);\r\n\r\n if (header) {\r\n height = height - parseInt(KTUtil.actualHeight(header));\r\n height = height - parseInt(KTUtil.css(header, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(header, 'marginBottom'));\r\n }\r\n\r\n if (content) {\r\n height = height - parseInt(KTUtil.css(content, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(content, 'marginBottom'));\r\n }\r\n\r\n height = height - parseInt(KTUtil.css(_element, 'paddingTop'));\r\n height = height - parseInt(KTUtil.css(_element, 'paddingBottom'));\r\n\r\n height = height - 2;\r\n\r\n return height;\r\n }\r\n });\r\n }\r\n\r\n // Public methods\r\n return {\r\n init: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n },\r\n\r\n getElement: function() {\r\n return _element;\r\n }\r\n };\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutQuickUser;\r\n}\r\n\r\nexport default KTLayoutQuickUser;","import React, {useLayoutEffect} from \"react\";\r\nimport {KTUtil} from \"../../_assets/js/components/util\";\r\nimport KTLayoutHeader from \"../../_assets/js/layout/base/header\";\r\nimport KTLayoutHeaderMenu from \"../../_assets/js/layout/base/header-menu\";\r\nimport KTLayoutHeaderTopbar from \"../../_assets/js/layout/base/header-topbar\";\r\nimport KTLayoutBrand from \"../../_assets/js/layout/base/brand\";\r\nimport KTLayoutAside from \"../../_assets/js/layout/base/aside\";\r\nimport KTLayoutAsideToggle from \"../../_assets/js/layout/base/aside-toggle\";\r\nimport KTLayoutAsideMenu from \"../../_assets/js/layout/base/aside-menu\";\r\nimport KTLayoutContent from \"../../_assets/js/layout/base/content\";\r\nimport KTLayoutFooter from \"../../_assets/js/layout/base/footer\";\r\nimport KTLayoutSubheader from \"../../_assets/js/layout/base/subheader\";\r\nimport KTLayoutScrolltop from \"../../_assets/js/layout/extended/scrolltop\";\r\nimport KTLayoutStickyCard from \"../../_assets/js/layout/base/sticky-card\";\r\nimport KTLayoutStretchedCard from \"../../_assets/js/layout/base/stretched-card\";\r\nimport KTLayoutQuickPanel from \"../../_assets/js/layout/extended/quick-panel\";\r\nimport KTLayoutQuickUser from \"../../_assets/js/layout/extended/quick-user\";\r\n\r\nexport function LayoutInit() {\r\n useLayoutEffect(() => {\r\n // Initialization\r\n KTUtil.ready(function () {\r\n ////////////////////////////////////////////////////\r\n // Layout Base Partials(mandatory for core layout)//\r\n ////////////////////////////////////////////////////\r\n // Init Desktop & Mobile Headers\r\n KTLayoutHeader.init('kt_header', 'kt_header_mobile');\r\n\r\n // Init Header Menu\r\n KTLayoutHeaderMenu.init('kt_header_menu', 'kt_header_menu_wrapper');\r\n // Init Header Topbar For Mobile Mode\r\n KTLayoutHeaderTopbar.init('kt_header_mobile_topbar_toggle');\r\n // Init Brand Panel For Logo\r\n KTLayoutBrand.init('kt_brand');\r\n // Init Aside\r\n KTLayoutAside.init('kt_aside');\r\n\r\n // Init Aside Menu Toggle\r\n KTLayoutAsideToggle.init('kt_aside_toggle');\r\n //\r\n // Init Aside Menu\r\n KTLayoutAsideMenu.init('kt_aside_menu');\r\n\r\n // Init Content\r\n KTLayoutContent.init('kt_content');\r\n\r\n // Init Footer\r\n KTLayoutFooter.init('kt_footer');\r\n\r\n\r\n //////////////////////////////////////////////\r\n // Layout Extended Partials(optional to use)//\r\n //////////////////////////////////////////////\r\n KTLayoutSubheader.init('kt_subheader');\r\n\r\n // Init Scrolltop\r\n KTLayoutScrolltop.init('kt_scrolltop');\r\n\r\n // Init Sticky Card\r\n KTLayoutStickyCard.init('kt_page_sticky_card');\r\n\r\n // Init Stretched Card\r\n KTLayoutStretchedCard.init('kt_page_stretched_card');\r\n\r\n // Init Quick Offcanvas Panel\r\n KTLayoutQuickPanel.init('kt_quick_panel');\r\n\r\n // Init Quick User Panel\r\n KTLayoutQuickUser.init('kt_quick_user');\r\n });\r\n }, []);\r\n return <>;\r\n}\r\n","/* eslint-disable jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport {Link} from \"react-router-dom\";\r\n\r\nexport function BreadCrumbs({items}) {\r\n if (!items || !items.length) {\r\n return \"\";\r\n }\r\n\r\n return (\r\n
    \r\n
  • \r\n \r\n \r\n \r\n
  • \r\n {items.map((item, index) => (\r\n
  • \r\n \r\n {item.title}\r\n \r\n
  • \r\n ))}\r\n
\r\n );\r\n}\r\n","import React, { createContext, useState, useContext } from \"react\";\r\n\r\nexport function getBreadcrumbsAndTitle(menuId, pathName) {\r\n const result = {\r\n breadcrumbs: [],\r\n title: \"\",\r\n };\r\n\r\n const menu = document.getElementById(menuId);\r\n if (!menu) {\r\n return result;\r\n }\r\n\r\n const activeLinksArray = Array.from(\r\n menu.getElementsByClassName(\"active\") || []\r\n );\r\n const activeLinks = activeLinksArray.filter((el) => el.tagName === \"A\");\r\n if (!activeLinks) {\r\n return result;\r\n }\r\n\r\n activeLinks.forEach((link) => {\r\n const titleSpans = link.getElementsByClassName(\"menu-text\");\r\n if (titleSpans) {\r\n const titleSpan = Array.from(titleSpans).find(\r\n (t) => t.innerHTML && t.innerHTML.trim().length > 0\r\n );\r\n if (titleSpan) {\r\n result.breadcrumbs.push({\r\n pathname: link.pathname,\r\n title: titleSpan.innerHTML,\r\n });\r\n }\r\n }\r\n });\r\n result.title = getTitle(result.breadcrumbs, pathName);\r\n return result;\r\n}\r\n\r\nexport function getTitle(breadCrumbs, pathname) {\r\n if (!breadCrumbs || !pathname) {\r\n return \"\";\r\n }\r\n\r\n const length = breadCrumbs.length;\r\n if (!length) {\r\n return \"\";\r\n }\r\n\r\n return breadCrumbs[length - 1].title;\r\n}\r\n\r\nconst SubheaderContext = createContext();\r\n\r\nexport function useSubheader() {\r\n return useContext(SubheaderContext);\r\n}\r\n\r\nexport const SubheaderConsumer = SubheaderContext.Consumer;\r\n\r\nexport function MetronicSubheaderProvider({ children }) {\r\n const [title, setTitle] = useState(\"\");\r\n const [breadcrumbs, setBreadcrumbs] = useState([]);\r\n const value = { title, setTitle, breadcrumbs, setBreadcrumbs };\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, {useMemo, useLayoutEffect, useEffect} from \"react\";\r\nimport objectPath from \"object-path\";\r\nimport {useLocation} from \"react-router-dom\";\r\n//import {QuickActions} from \"./components/QuickActions\";\r\nimport {BreadCrumbs} from \"./components/BreadCrumbs\";\r\nimport {getBreadcrumbsAndTitle, useSubheader} from \"../../_core/MetronicSubheader\";\r\nimport {useHtmlClassService} from \"../../_core/MetronicLayout\"\r\n\r\nexport function SubHeader() {\r\n const uiService = useHtmlClassService();\r\n const location = useLocation();\r\n const subheader = useSubheader();\r\n\r\n const layoutProps = useMemo(() => {\r\n return {\r\n config: uiService.config,\r\n subheaderMobileToggle: objectPath.get(\r\n uiService.config,\r\n \"subheader.mobile-toggle\"\r\n ),\r\n subheaderCssClasses: uiService.getClasses(\"subheader\", true),\r\n subheaderContainerCssClasses: uiService.getClasses(\r\n \"subheader_container\",\r\n true\r\n )\r\n };\r\n }, [uiService]);\r\n\r\n useLayoutEffect(() => {\r\n const aside = getBreadcrumbsAndTitle(\"kt_aside_menu\", location.pathname);\r\n const header = getBreadcrumbsAndTitle(\"kt_header_menu\", location.pathname);\r\n const breadcrumbs = (aside && aside.breadcrumbs.length > 0) ? aside.breadcrumbs : header.breadcrumbs;\r\n subheader.setBreadcrumbs(breadcrumbs);\r\n subheader.setTitle((aside && aside.title && aside.title.length > 0) ? aside.title : header.title);\r\n // eslint-disable-next-line\r\n }, [location.pathname]);\r\n\r\n // Do not remove this useEffect, need from update title/breadcrumbs outside (from the page)\r\n useEffect(() => {}, [subheader]);\r\n\r\n return (\r\n \r\n \r\n {/* Info */}\r\n
\r\n {layoutProps.subheaderMobileToggle && (\r\n \r\n \r\n \r\n )}\r\n\r\n
\r\n
\r\n <>\r\n {subheader.title}\r\n \r\n {/**/}\r\n
\r\n\r\n
\r\n\r\n\r\n \r\n
\r\n\r\n {/* Toolbar */}\r\n {/* */}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,no-undef */\r\nimport React, {useState} from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport {Tab, Nav} from \"react-bootstrap\";\r\nimport {toAbsoluteUrl} from \"../../../../_helpers\";\r\n\r\nexport function QuickPanel() {\r\n const [selectedTab, setSelectedTab] = useState(\"AuditLogs\");\r\n\r\n const setTab = _tabName => {\r\n setSelectedTab(_tabName);\r\n };\r\n\r\n return (\r\n
\r\n \r\n {/*begin::Header*/}\r\n \r\n \r\n \r\n \r\n Audit Logs\r\n \r\n \r\n \r\n \r\n Notifications\r\n \r\n \r\n \r\n \r\n Settings\r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {/*end::Header*/}\r\n\r\n {/*begin::Content*/}\r\n
\r\n
\r\n \r\n
\r\n
System Messages
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Top Authors\r\n \r\n \r\n Most Successful Fellas\r\n \r\n
\r\n \r\n +82$\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Popular Authors\r\n \r\n \r\n Most Successful Fellas\r\n \r\n
\r\n \r\n +280$\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n New Users\r\n \r\n \r\n Most Successful Fellas\r\n \r\n
\r\n \r\n +4500$\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Active Customers\r\n \r\n \r\n Most Successful Fellas\r\n \r\n
\r\n \r\n +4500$\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Bestseller Theme\r\n \r\n \r\n Most Successful Fellas\r\n \r\n
\r\n \r\n +4500$\r\n \r\n
\r\n
\r\n\r\n
\r\n
Notifications
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n \r\n Another purpose persuade\r\n \r\n \r\n Due in 2 Days\r\n \r\n
\r\n\r\n \r\n +28%\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n Would be to people\r\n \r\n \r\n Due in 2 Days\r\n \r\n
\r\n\r\n \r\n +50%\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n Purpose would be to persuade\r\n \r\n \r\n Due in 2 Days\r\n \r\n
\r\n\r\n \r\n -27%\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n \r\n The best product\r\n \r\n \r\n Due in 2 Days\r\n \r\n
\r\n\r\n \r\n +8%\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 5 new user generated report\r\n
\r\n
Reports based on sales
\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 2 new items submited\r\n
\r\n
by Grog John
\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 79 PSD files generated\r\n
\r\n
Reports based on sales
\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 $2900 worth producucts sold\r\n
\r\n
Total 234 items
\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 4.5h-avarage response time\r\n
\r\n
Fostest is Barry
\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 3 Defence alerts\r\n
\r\n
\r\n 40% less alerts thar last week\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 Avarage 4 blog posts per author\r\n
\r\n
Most posted 12 time
\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 16 authors joined last week\r\n
\r\n
\r\n 9 photodrapehrs, 7 designer\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 2 new items have been submited\r\n
\r\n
by Grog John
\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 2.8 GB-total downloads size\r\n
\r\n
\r\n Mostly PSD end AL concepts\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 $2900 worth producucts sold\r\n
\r\n
Total 234 items
\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 7 new user generated report\r\n
\r\n
Reports based on sales
\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 4.5h-avarage response time\r\n
\r\n
Fostest is Barry
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Customer Care
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
Reports
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
Memebers
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {/*end::Content*/}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,no-undef */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nimport { toAbsoluteUrl } from \"../../../../_helpers\";\r\n\r\nexport function QuickUser() {\r\n const history = useHistory();\r\n\r\n const logoutClick = () => {\r\n const toggle = document.getElementById(\"kt_quick_user_toggle\");\r\n if (toggle) {\r\n toggle.click();\r\n }\r\n history.push(\"/logout\");\r\n };\r\n const { user } = useSelector((state) => state.auth);\r\n\r\n \r\n\r\n return (\r\n \r\n
\r\n

\r\n User Profile\r\n {/* 12 messages */}\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 {user.username}\r\n \r\n
{user.occupation}
\r\n \r\n {/* \r\n Sign Out\r\n */}\r\n \r\n Sign out\r\n \r\n
\r\n
\r\n\r\n
\r\n {/* \r\n */}\r\n\r\n
\r\n\r\n {/*
\r\n
Recent Notifications
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n \r\n Another purpose persuade\r\n \r\n Due in 2 Days\r\n
\r\n\r\n \r\n +28%\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n Would be to people\r\n \r\n Due in 2 Days\r\n
\r\n\r\n \r\n +50%\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n Purpose would be to persuade\r\n \r\n Due in 2 Days\r\n
\r\n\r\n \r\n -27%\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n \r\n The best product\r\n \r\n Due in 2 Days\r\n
\r\n\r\n \r\n +8%\r\n \r\n
\r\n
*/}\r\n
\r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport {toAbsoluteUrl} from \"../../../_helpers\";\r\n\r\nexport function ScrollTop() {\r\n return (\r\n
\r\n \r\n \r\n {\" \"}\r\n
\r\n );\r\n}\r\n","import React, {useMemo} from \"react\";\r\nimport objectPath from \"object-path\";\r\n// LayoutContext\r\nimport {useHtmlClassService} from \"../_core/MetronicLayout\";\r\n// Import Layout components\r\nimport {Header} from \"./header/Header\";\r\nimport {HeaderMobile} from \"./header-mobile/HeaderMobile\";\r\nimport {Aside} from \"./aside/Aside\";\r\n//import {Footer} from \"./footer/Footer\";\r\nimport {LayoutInit} from \"./LayoutInit\";\r\nimport {SubHeader} from \"./subheader/SubHeader\";\r\nimport {QuickPanel} from \"./extras/offcanvas/QuickPanel\";\r\nimport {QuickUser} from \"./extras/offcanvas/QuickUser\";\r\nimport {ScrollTop} from \"./extras/ScrollTop\";\r\n//import {StickyToolbar} from \"./extras/StickyToolbar\";\r\n\r\nexport function Layout({ children }) {\r\n const uiService = useHtmlClassService();\r\n // Layout settings (cssClasses/cssAttributes)\r\n const layoutProps = useMemo(() => {\r\n return {\r\n layoutConfig: uiService.config,\r\n selfLayout: objectPath.get(uiService.config, \"self.layout\"),\r\n asideDisplay: objectPath.get(uiService.config, \"aside.self.display\"),\r\n subheaderDisplay: objectPath.get(uiService.config, \"subheader.display\"),\r\n desktopHeaderDisplay: objectPath.get(\r\n uiService.config,\r\n \"header.self.fixed.desktop\"\r\n ),\r\n contentCssClasses: uiService.getClasses(\"content\", true),\r\n contentContainerClasses: uiService.getClasses(\"content_container\", true),\r\n contentExtended: objectPath.get(uiService.config, \"content.extended\")\r\n };\r\n }, [uiService]);\r\n\r\n return layoutProps.selfLayout !== \"blank\" ? (\r\n <>\r\n {/*begin::Main*/}\r\n \r\n
\r\n {/*begin::Page*/}\r\n
\r\n {layoutProps.asideDisplay && (
\r\n {/*end::Wrapper*/}\r\n
\r\n {/*end::Page*/}\r\n
\r\n \r\n \r\n \r\n {/* */}\r\n {/*end::Main*/}\r\n \r\n \r\n ) : (\r\n // BLANK LAYOUT\r\n
{children}
\r\n );\r\n}\r\n","import React, {useEffect, useState} from \"react\";\r\nimport {useRouteMatch} from \"react-router-dom\";\r\n\r\nexport function Content({ children }) {\r\n const match = useRouteMatch() || {};\r\n const animationEndClass = \"grid-animateContent-finished\";\r\n const [cssClassesState, setCssClassesState] = useState([\r\n \"grid-animateContent\",\r\n animationEndClass\r\n ]);\r\n\r\n useEffect(() => {\r\n // for animation start should toggle 'grid-animateContent-finished' css class\r\n // TODO: change useMemo\r\n const fullClasses = [...cssClassesState];\r\n const startAnimation = fullClasses.filter(el => el !== animationEndClass);\r\n setCssClassesState(startAnimation);\r\n const timeOutId = setTimeout(() => {\r\n setCssClassesState(fullClasses);\r\n }, 200);\r\n\r\n return () => {\r\n clearTimeout(timeOutId);\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [match.url]);\r\n\r\n return <>{children};\r\n}\r\n","import React from \"react\";\r\nimport {Route} from \"react-router-dom\";\r\nimport {Content} from \"./Content\";\r\n\r\nexport function ContentRoute({ children, component, render, ...props }) {\r\n return (\r\n \r\n {routeProps => {\r\n if (typeof children === \"function\") {\r\n return {children(routeProps)};\r\n }\r\n\r\n if (!routeProps.match) {\r\n return null;\r\n }\r\n\r\n if (children) {\r\n return {children};\r\n }\r\n\r\n if (component) {\r\n return (\r\n {React.createElement(component, routeProps)}\r\n );\r\n }\r\n\r\n if (render) {\r\n return {render(routeProps)};\r\n }\r\n\r\n return null;\r\n }}\r\n \r\n );\r\n}\r\n","import React, {createContext, useContext, useState, useEffect} from \"react\";\r\n\r\nconst MetronicSplashScreenContext = createContext();\r\n\r\nexport function MetronicSplashScreenProvider({ children }) {\r\n const [count, setCount] = useState(0);\r\n let visible = count > 0;\r\n\r\n useEffect(() => {\r\n const splashScreen = document.getElementById(\"splash-screen\");\r\n\r\n // Show SplashScreen\r\n if (splashScreen && visible) {\r\n splashScreen.classList.remove(\"hidden\");\r\n\r\n return () => {\r\n splashScreen.classList.add(\"hidden\");\r\n };\r\n }\r\n\r\n // Hide SplashScreen\r\n let timeout;\r\n if (splashScreen && !visible) {\r\n timeout = setTimeout(() => {\r\n splashScreen.classList.add(\"hidden\");\r\n }, 3000);\r\n }\r\n\r\n return () => {\r\n clearTimeout(timeout);\r\n };\r\n }, [visible]);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nexport function LayoutSplashScreen({ visible = true }) {\r\n // Everything are ready - remove splashscreen\r\n const setCount = useContext(MetronicSplashScreenContext);\r\n\r\n useEffect(() => {\r\n if (!visible) {\r\n return;\r\n }\r\n\r\n setCount(prev => {\r\n return prev + 1;\r\n });\r\n\r\n return () => {\r\n setCount(prev => {\r\n return prev - 1;\r\n });\r\n };\r\n }, [setCount, visible]);\r\n\r\n return null;\r\n}\r\n","import React from \"react\";\r\nimport {createMuiTheme, ThemeProvider} from \"@material-ui/core\";\r\n\r\nconst theme = createMuiTheme(\r\n /**\r\n * @see https://material-ui.com/customization/themes/#theme-configuration-variables\r\n */\r\n {\r\n // direction: \"rtl\",\r\n typography: {\r\n fontFamily: [\"Poppins\"].join(\",\")\r\n },\r\n\r\n palette: {\r\n primary: {\r\n // light: will be calculated from palette.primary.main,\r\n main: \"#17c191\",\r\n // dark: will be calculated from palette.primary.main,\r\n // contrastText: \"#fff\" //will be calculated to contrast with palette.primary.main\r\n },\r\n secondary: {\r\n // light: will be calculated from palette.primary.main,\r\n main: \"#3783e7\",\r\n // dark: will be calculated from palette.primary.main,\r\n // contrastText: \"#fff\" //will be calculated to contrast with palette.primary.main\r\n },\r\n error: {\r\n // light: will be calculated from palette.primary.main,\r\n main: \"#f018a6\",\r\n // dark: will be calculated from palette.primary.main,\r\n // contrastText: \"#fff\" //will be calculated to contrast with palette.primary.main\r\n }\r\n },\r\n\r\n /**\r\n * @see https://material-ui.com/customization/globals/#default-props\r\n */\r\n props: {\r\n // Name of the component ⚛️\r\n MuiButtonBase: {\r\n // The properties to apply\r\n disableRipple: false // No more ripple, on the whole application 💣!\r\n },\r\n\r\n // Set default elevation to 1 for popovers.\r\n MuiPopover: {\r\n elevation: 1\r\n }\r\n }\r\n }\r\n);\r\n\r\nexport function MaterialThemeProvider(props) {\r\n const { children } = props;\r\n\r\n return {children};\r\n}\r\n","export {Layout} from \"./components/Layout\";\r\nexport {ContentRoute} from \"./components/content/ContentRoute\";\r\nexport {Content} from \"./components/content/Content\";\r\n\r\n// core\r\nexport * from \"./_core/LayoutConfig\";\r\nexport * from \"./_core/MetronicLayout\";\r\nexport * from \"./_core/MetronicSplashScreen\";\r\nexport * from \"./_core/MaterialThemeProvider\";\r\nexport * from \"./_core/MetronicSubheader\";\r\n","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./util\";\r\n\r\n// Component Definition\r\nvar KTMenu = function(elementId, options) {\r\n // Main object\r\n var the = this;\r\n var init = false;\r\n\r\n // Get element object\r\n var element = KTUtil.getById(elementId);\r\n var body = KTUtil.getBody();\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\r\n // scrollable area with Perfect Scroll\r\n scroll: {\r\n rememberPosition: false\r\n },\r\n\r\n // accordion submenu mode\r\n accordion: {\r\n slideSpeed: 200, // accordion toggle slide speed in milliseconds\r\n autoScroll: false, // enable auto scrolling(focus) to the clicked menu item\r\n autoScrollSpeed: 1200,\r\n expandAll: true // allow having multiple expanded accordions in the menu\r\n },\r\n\r\n // dropdown submenu mode\r\n dropdown: {\r\n timeout: 500 // timeout in milliseconds to show and hide the hoverable submenu dropdown\r\n }\r\n };\r\n\r\n ////////////////////////////\r\n // ** Private Methods ** //\r\n ////////////////////////////\r\n\r\n var Plugin = {\r\n /**\r\n * Run plugin\r\n * @returns {KTMenu}\r\n */\r\n construct: function(options) {\r\n if (KTUtil.data(element).has('menu')) {\r\n the = KTUtil.data(element).get('menu');\r\n } else {\r\n // reset menu\r\n Plugin.init(options);\r\n\r\n // reset menu\r\n Plugin.reset();\r\n\r\n // build menu\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('menu', the);\r\n }\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Handles submenu click toggle\r\n * @returns {KTMenu}\r\n */\r\n init: function(options) {\r\n the.events = [];\r\n\r\n the.eventHandlers = {};\r\n\r\n // merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n\r\n // pause menu\r\n the.pauseDropdownHoverTime = 0;\r\n\r\n the.uid = KTUtil.getUniqueID();\r\n },\r\n\r\n update: function(options) {\r\n // merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n\r\n // pause menu\r\n the.pauseDropdownHoverTime = 0;\r\n\r\n // reset menu\r\n Plugin.reset();\r\n\r\n the.eventHandlers = {};\r\n\r\n // build menu\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('menu', the);\r\n },\r\n\r\n reload: function() {\r\n // reset menu\r\n Plugin.reset();\r\n\r\n // build menu\r\n Plugin.build();\r\n\r\n // reset submenu props\r\n Plugin.resetSubmenuProps();\r\n },\r\n\r\n /**\r\n * Reset menu\r\n * @returns {KTMenu}\r\n */\r\n build: function() {\r\n // General accordion submenu toggle\r\n the.eventHandlers['event_1'] = KTUtil.on( element, '.menu-toggle', 'click', Plugin.handleSubmenuAccordion);\r\n\r\n // Dropdown mode(hoverable)\r\n if (Plugin.getSubmenuMode() === 'dropdown' || Plugin.isConditionalSubmenuDropdown()) {\r\n // dropdown submenu - hover toggle\r\n the.eventHandlers['event_2'] = KTUtil.on( element, '[data-menu-toggle=\"hover\"]', 'mouseover', Plugin.handleSubmenuDrodownHoverEnter);\r\n the.eventHandlers['event_3'] = KTUtil.on( element, '[data-menu-toggle=\"hover\"]', 'mouseout', Plugin.handleSubmenuDrodownHoverExit);\r\n\r\n // dropdown submenu - click toggle\r\n the.eventHandlers['event_4'] = KTUtil.on( element, '[data-menu-toggle=\"click\"] > .menu-toggle, [data-menu-toggle=\"click\"] > .menu-link .menu-toggle', 'click', Plugin.handleSubmenuDropdownClick);\r\n the.eventHandlers['event_5'] = KTUtil.on( element, '[data-menu-toggle=\"tab\"] > .menu-toggle, [data-menu-toggle=\"tab\"] > .menu-link .menu-toggle', 'click', Plugin.handleSubmenuDropdownTabClick);\r\n }\r\n\r\n // Handle general link click\r\n the.eventHandlers['event_6'] = KTUtil.on(element, '.menu-item > .menu-link:not(.menu-toggle):not(.menu-link-toggle-skip)', 'click', Plugin.handleLinkClick);\r\n\r\n // Init scrollable menu\r\n if (the.options.scroll && the.options.scroll.height) {\r\n Plugin.scrollInit();\r\n }\r\n },\r\n\r\n /**\r\n * Reset menu\r\n * @returns {KTMenu}\r\n */\r\n reset: function() {\r\n KTUtil.off( element, 'click', the.eventHandlers['event_1']);\r\n\r\n // dropdown submenu - hover toggle\r\n KTUtil.off( element, 'mouseover', the.eventHandlers['event_2']);\r\n KTUtil.off( element, 'mouseout', the.eventHandlers['event_3']);\r\n\r\n // dropdown submenu - click toggle\r\n KTUtil.off( element, 'click', the.eventHandlers['event_4']);\r\n KTUtil.off( element, 'click', the.eventHandlers['event_5']);\r\n\r\n // handle link click\r\n KTUtil.off(element, 'click', the.eventHandlers['event_6']);\r\n },\r\n\r\n /**\r\n * Init scroll menu\r\n *\r\n */\r\n scrollInit: function() {\r\n if ( the.options.scroll && the.options.scroll.height ) {\r\n KTUtil.scrollDestroy(element, true);\r\n KTUtil.scrollInit(element, {mobileNativeScroll: true, windowScroll: false, resetHeightOnDestroy: true, handleWindowResize: true, height: the.options.scroll.height, rememberPosition: the.options.scroll.rememberPosition});\r\n } else {\r\n KTUtil.scrollDestroy(element, true);\r\n }\r\n },\r\n\r\n /**\r\n * Update scroll menu\r\n */\r\n scrollUpdate: function() {\r\n if ( the.options.scroll && the.options.scroll.height ) {\r\n KTUtil.scrollUpdate(element);\r\n }\r\n },\r\n\r\n /**\r\n * Scroll top\r\n */\r\n scrollTop: function() {\r\n if ( the.options.scroll && the.options.scroll.height ) {\r\n KTUtil.scrollTop(element);\r\n }\r\n },\r\n\r\n /**\r\n * Get submenu mode for current breakpoint and menu state\r\n * @returns {KTMenu}\r\n */\r\n getSubmenuMode: function(el) {\r\n if ( KTUtil.isBreakpointUp('lg') ) {\r\n if (el && KTUtil.hasAttr(el, 'data-menu-toggle') && KTUtil.attr(el, 'data-menu-toggle') == 'hover') {\r\n return 'dropdown';\r\n }\r\n\r\n if ( KTUtil.isset(the.options.submenu, 'desktop.state.body') ) {\r\n if ( KTUtil.hasClasses(body, the.options.submenu.desktop.state.body) ) {\r\n return the.options.submenu.desktop.state.mode;\r\n } else {\r\n return the.options.submenu.desktop.default;\r\n }\r\n } else if ( KTUtil.isset(the.options.submenu, 'desktop') ) {\r\n return the.options.submenu.desktop;\r\n }\r\n } else if ( KTUtil.isBreakpointUp('md') && KTUtil.isBreakpointDown('lg') && KTUtil.isset(the.options.submenu, 'tablet') ) {\r\n return the.options.submenu.tablet;\r\n } else if ( KTUtil.isBreakpointDown('md') && KTUtil.isset(the.options.submenu, 'mobile') ) {\r\n return the.options.submenu.mobile;\r\n } else {\r\n return false;\r\n }\r\n },\r\n\r\n /**\r\n * Get submenu mode for current breakpoint and menu state\r\n * @returns {KTMenu}\r\n */\r\n isConditionalSubmenuDropdown: function() {\r\n if ( KTUtil.isBreakpointUp('lg') && KTUtil.isset(the.options.submenu, 'desktop.state.body') ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n },\r\n\r\n\r\n /**\r\n * Reset submenu attributes\r\n * @returns {KTMenu}\r\n */\r\n resetSubmenuProps: function(e) {\r\n var submenus = KTUtil.findAll(element, '.menu-submenu');\r\n if ( submenus ) {\r\n for (var i = 0, len = submenus.length; i < len; i++) {\r\n var submenu = submenus[0];\r\n\r\n KTUtil.css(submenu, 'display', '');\r\n KTUtil.css(submenu, 'overflow', '');\r\n\r\n if (submenu.hasAttribute('data-hor-direction')) {\r\n KTUtil.removeClass(submenu, 'menu-submenu-left');\r\n KTUtil.removeClass(submenu, 'menu-submenu-right');\r\n KTUtil.addClass(submenu, submenu.getAttribute('data-hor-direction'));\r\n }\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Handles submenu hover toggle\r\n * @returns {KTMenu}\r\n */\r\n handleSubmenuDrodownHoverEnter: function(e) {\r\n if ( Plugin.getSubmenuMode(this) === 'accordion' ) {\r\n return;\r\n }\r\n\r\n if ( the.resumeDropdownHover() === false ) {\r\n return;\r\n }\r\n\r\n var item = this;\r\n\r\n if ( item.getAttribute('data-hover') == '1' ) {\r\n item.removeAttribute('data-hover');\r\n clearTimeout( item.getAttribute('data-timeout') );\r\n item.removeAttribute('data-timeout');\r\n }\r\n\r\n Plugin.showSubmenuDropdown(item);\r\n },\r\n\r\n /**\r\n * Handles submenu hover toggle\r\n * @returns {KTMenu}\r\n */\r\n handleSubmenuDrodownHoverExit: function(e) {\r\n if ( the.resumeDropdownHover() === false ) {\r\n return;\r\n }\r\n\r\n if ( Plugin.getSubmenuMode(this) === 'accordion' ) {\r\n return;\r\n }\r\n\r\n var item = this;\r\n var time = the.options.dropdown.timeout;\r\n\r\n var timeout = setTimeout(function() {\r\n if ( item.getAttribute('data-hover') == '1' ) {\r\n Plugin.hideSubmenuDropdown(item, true);\r\n }\r\n }, time);\r\n\r\n item.setAttribute('data-hover', '1');\r\n item.setAttribute('data-timeout', timeout);\r\n },\r\n\r\n /**\r\n * Handles submenu click toggle\r\n * @returns {KTMenu}\r\n */\r\n handleSubmenuDropdownClick: function(e) {\r\n if ( Plugin.getSubmenuMode(this) === 'accordion' ) {\r\n return;\r\n }\r\n\r\n var item = this.closest('.menu-item');\r\n\r\n // Trigger click event handlers\r\n var result = Plugin.eventTrigger('submenuToggle', this, e);\r\n if (result === false) {\r\n return;\r\n }\r\n\r\n if ( item.getAttribute('data-menu-submenu-mode') == 'accordion' ) {\r\n return;\r\n }\r\n\r\n if ( KTUtil.hasClass(item, 'menu-item-hover') === false ) {\r\n KTUtil.addClass(item, 'menu-item-open-dropdown');\r\n Plugin.showSubmenuDropdown(item);\r\n } else {\r\n KTUtil.removeClass(item, 'menu-item-open-dropdown' );\r\n Plugin.hideSubmenuDropdown(item, true);\r\n }\r\n\r\n e.preventDefault();\r\n },\r\n\r\n /**\r\n * Handles tab click toggle\r\n * @returns {KTMenu}\r\n */\r\n handleSubmenuDropdownTabClick: function(e) {\r\n if (Plugin.getSubmenuMode(this) === 'accordion') {\r\n return;\r\n }\r\n var item = this.closest('.menu-item');\r\n\r\n // Trigger click event handlers\r\n var result = Plugin.eventTrigger('submenuToggle', this, e);\r\n if (result === false) {\r\n return;\r\n }\r\n\r\n if (item.getAttribute('data-menu-submenu-mode') == 'accordion') {\r\n return;\r\n }\r\n\r\n if (KTUtil.hasClass(item, 'menu-item-hover') == false) {\r\n KTUtil.addClass(item, 'menu-item-open-dropdown');\r\n Plugin.showSubmenuDropdown(item);\r\n }\r\n\r\n e.preventDefault();\r\n },\r\n\r\n /**\r\n * Handles link click\r\n * @returns {KTMenu}\r\n */\r\n handleLinkClick: function(e) {\r\n var submenu = this.closest('.menu-item.menu-item-submenu');\r\n\r\n // Trigger click event handlers\r\n var result = Plugin.eventTrigger('linkClick', this, e);\r\n if (result === false) {\r\n return;\r\n }\r\n\r\n if ( submenu && Plugin.getSubmenuMode(submenu) === 'dropdown' ) {\r\n Plugin.hideSubmenuDropdowns();\r\n }\r\n },\r\n\r\n /**\r\n * Handles submenu dropdown close on link click\r\n * @returns {KTMenu}\r\n */\r\n handleSubmenuDropdownClose: function(e, el) {\r\n // exit if its not submenu dropdown mode\r\n if (Plugin.getSubmenuMode(el) === 'accordion') {\r\n return;\r\n }\r\n\r\n var shown = element.querySelectorAll('.menu-item.menu-item-submenu.menu-item-hover:not(.menu-item-tabs)');\r\n\r\n // check if currently clicked link's parent item ha\r\n if (shown.length > 0 && KTUtil.hasClass(el, 'menu-toggle') === false && el.querySelectorAll('.menu-toggle').length === 0) {\r\n // close opened dropdown menus\r\n for (var i = 0, len = shown.length; i < len; i++) {\r\n Plugin.hideSubmenuDropdown(shown[0], true);\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * helper functions\r\n * @returns {KTMenu}\r\n */\r\n handleSubmenuAccordion: function(e, el) {\r\n var query;\r\n var item = el ? el : this;\r\n\r\n // Trigger click event handlers\r\n var result = Plugin.eventTrigger('submenuToggle', this, e);\r\n if (result === false) {\r\n return;\r\n }\r\n\r\n if ( Plugin.getSubmenuMode(el) === 'dropdown' && (query = item.closest('.menu-item') ) ) {\r\n if (query.getAttribute('data-menu-submenu-mode') != 'accordion' ) {\r\n e.preventDefault();\r\n return;\r\n }\r\n }\r\n\r\n var li = item.closest('.menu-item');\r\n var submenu = KTUtil.child(li, '.menu-submenu, .menu-inner');\r\n\r\n if (KTUtil.hasClass(item.closest('.menu-item'), 'menu-item-open-always')) {\r\n return;\r\n }\r\n\r\n if ( li && submenu ) {\r\n e.preventDefault();\r\n var speed = the.options.accordion.slideSpeed;\r\n var hasClosables = false;\r\n\r\n if ( KTUtil.hasClass(li, 'menu-item-open') === false ) {\r\n // hide other accordions\r\n if ( the.options.accordion.expandAll === false ) {\r\n var subnav = item.closest('.menu-nav, .menu-subnav');\r\n var closables = KTUtil.children(subnav, '.menu-item.menu-item-open.menu-item-submenu:not(.menu-item-here):not(.menu-item-open-always)');\r\n\r\n if ( subnav && closables ) {\r\n for (var i = 0, len = closables.length; i < len; i++) {\r\n var el_ = closables[0];\r\n var submenu_ = KTUtil.child(el_, '.menu-submenu');\r\n if ( submenu_ ) {\r\n KTUtil.slideUp(submenu_, speed, function() {\r\n Plugin.scrollUpdate();\r\n KTUtil.removeClass(el_, 'menu-item-open');\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n KTUtil.slideDown(submenu, speed, function() {\r\n Plugin.scrollToItem(item);\r\n Plugin.scrollUpdate();\r\n\r\n Plugin.eventTrigger('submenuToggle', submenu, e);\r\n });\r\n\r\n KTUtil.addClass(li, 'menu-item-open');\r\n\r\n } else {\r\n KTUtil.slideUp(submenu, speed, function() {\r\n Plugin.scrollToItem(item);\r\n Plugin.eventTrigger('submenuToggle', submenu, e);\r\n });\r\n\r\n KTUtil.removeClass(li, 'menu-item-open');\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * scroll to item function\r\n * @returns {KTMenu}\r\n */\r\n scrollToItem: function(item) {\r\n // handle auto scroll for accordion submenus\r\n if ( KTUtil.isBreakpointUp('lg') && the.options.accordion.autoScroll && element.getAttribute('data-menu-scroll') !== '1' ) {\r\n KTUtil.scrollTo(item, the.options.accordion.autoScrollSpeed);\r\n }\r\n },\r\n\r\n /**\r\n * Hide submenu dropdown\r\n * @returns {KTMenu}\r\n */\r\n hideSubmenuDropdown: function(item, classAlso) {\r\n // remove submenu activation class\r\n if ( classAlso ) {\r\n KTUtil.removeClass(item, 'menu-item-hover');\r\n KTUtil.removeClass(item, 'menu-item-active-tab');\r\n }\r\n\r\n // clear timeout\r\n item.removeAttribute('data-hover');\r\n\r\n if ( item.getAttribute('data-menu-toggle-class') ) {\r\n KTUtil.removeClass(body, item.getAttribute('data-menu-toggle-class'));\r\n }\r\n\r\n var timeout = item.getAttribute('data-timeout');\r\n item.removeAttribute('data-timeout');\r\n clearTimeout(timeout);\r\n },\r\n\r\n /**\r\n * Hide submenu dropdowns\r\n * @returns {KTMenu}\r\n */\r\n hideSubmenuDropdowns: function() {\r\n var items;\r\n if ( items = element.querySelectorAll('.menu-item-submenu.menu-item-hover:not(.menu-item-tabs):not([data-menu-toggle=\"tab\"])') ) {\r\n for (var j = 0, cnt = items.length; j < cnt; j++) {\r\n Plugin.hideSubmenuDropdown(items[j], true);\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * helper functions\r\n * @returns {KTMenu}\r\n */\r\n showSubmenuDropdown: function(item) {\r\n // close active submenus\r\n var list = element.querySelectorAll('.menu-item-submenu.menu-item-hover, .menu-item-submenu.menu-item-active-tab');\r\n\r\n if ( list ) {\r\n for (var i = 0, len = list.length; i < len; i++) {\r\n var el = list[i];\r\n if ( item !== el && el.contains(item) === false && item.contains(el) === false ) {\r\n Plugin.hideSubmenuDropdown(el, true);\r\n }\r\n }\r\n }\r\n\r\n // add submenu activation class\r\n KTUtil.addClass(item, 'menu-item-hover');\r\n\r\n // Change the alignment of submenu is offscreen.\r\n var submenu = KTUtil.find(item, '.menu-submenu');\r\n\r\n if (submenu && submenu.hasAttribute('data-hor-direction') === false) {\r\n if (KTUtil.hasClass(submenu, 'menu-submenu-left')) {\r\n submenu.setAttribute('data-hor-direction', 'menu-submenu-left');\r\n } else if (KTUtil.hasClass(submenu, 'menu-submenu-right')) {\r\n submenu.setAttribute('data-hor-direction', 'menu-submenu-right');\r\n }\r\n }\r\n\r\n if ( submenu && KTUtil.isOffscreen(submenu, 'left', 15) === true ) {\r\n KTUtil.removeClass(submenu, 'menu-submenu-left');\r\n KTUtil.addClass(submenu, 'menu-submenu-right');\r\n } else if ( submenu && KTUtil.isOffscreen(submenu, 'right', 15) === true ) {\r\n KTUtil.removeClass(submenu, 'menu-submenu-right');\r\n KTUtil.addClass(submenu, 'menu-submenu-left');\r\n }\r\n\r\n if ( item.getAttribute('data-menu-toggle-class') ) {\r\n KTUtil.addClass(body, item.getAttribute('data-menu-toggle-class'));\r\n }\r\n },\r\n\r\n /**\r\n * Handles submenu slide toggle\r\n * @returns {KTMenu}\r\n */\r\n createSubmenuDropdownClickDropoff: function(el) {\r\n var query;\r\n var zIndex = (query = KTUtil.child(el, '.menu-submenu') ? KTUtil.css(query, 'z-index') : 0) - 1;\r\n\r\n var dropoff = document.createElement('
');\r\n\r\n body.appendChild(dropoff);\r\n\r\n KTUtil.addEvent(dropoff, 'click', function(e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n KTUtil.remove(this);\r\n Plugin.hideSubmenuDropdown(el, true);\r\n });\r\n },\r\n\r\n /**\r\n * Handles submenu hover toggle\r\n * @returns {KTMenu}\r\n */\r\n pauseDropdownHover: function(time) {\r\n var date = new Date();\r\n\r\n the.pauseDropdownHoverTime = date.getTime() + time;\r\n },\r\n\r\n /**\r\n * Handles submenu hover toggle\r\n * @returns {KTMenu}\r\n */\r\n resumeDropdownHover: function() {\r\n var date = new Date();\r\n\r\n return (date.getTime() > the.pauseDropdownHoverTime ? true : false);\r\n },\r\n\r\n /**\r\n * Reset menu's current active item\r\n * @returns {KTMenu}\r\n */\r\n resetActiveItem: function(item) {\r\n var list;\r\n var parents;\r\n\r\n list = element.querySelectorAll('.menu-item-active');\r\n\r\n for (var i = 0, len = list.length; i < len; i++) {\r\n var el = list[0];\r\n KTUtil.removeClass(el, 'menu-item-active');\r\n KTUtil.hide( KTUtil.child(el, '.menu-submenu') );\r\n parents = KTUtil.parents(el, '.menu-item-submenu') || [];\r\n\r\n for (var i_ = 0, len_ = parents.length; i_ < len_; i_++) {\r\n var el_ = parents[i];\r\n KTUtil.removeClass(el_, 'menu-item-open');\r\n KTUtil.hide( KTUtil.child(el_, '.menu-submenu') );\r\n }\r\n }\r\n\r\n // close open submenus\r\n if ( the.options.accordion.expandAll === false ) {\r\n if ( list = element.querySelectorAll('.menu-item-open') ) {\r\n for (var i = 0, len = list.length; i < len; i++) {\r\n KTUtil.removeClass(parents[0], 'menu-item-open');\r\n }\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Sets menu's active item\r\n * @returns {KTMenu}\r\n */\r\n setActiveItem: function(item) {\r\n // reset current active item\r\n Plugin.resetActiveItem();\r\n\r\n var parents = KTUtil.parents(item, '.menu-item-submenu') || [];\r\n for (var i = 0, len = parents.length; i < len; i++) {\r\n KTUtil.addClass(parents[i], 'menu-item-open');\r\n }\r\n\r\n KTUtil.addClass(item, 'menu-item-active');\r\n },\r\n\r\n /**\r\n * Returns page breadcrumbs for the menu's active item\r\n * @returns {KTMenu}\r\n */\r\n getBreadcrumbs: function(item) {\r\n var query;\r\n var breadcrumbs = [];\r\n var link = KTUtil.child(item, '.menu-link');\r\n\r\n breadcrumbs.push({\r\n text: (query = KTUtil.child(link, '.menu-text') ? query.innerHTML : ''),\r\n title: link.getAttribute('title'),\r\n href: link.getAttribute('href')\r\n });\r\n\r\n var parents = KTUtil.parents(item, '.menu-item-submenu');\r\n for (var i = 0, len = parents.length; i < len; i++) {\r\n var submenuLink = KTUtil.child(parents[i], '.menu-link');\r\n\r\n breadcrumbs.push({\r\n text: (query = KTUtil.child(submenuLink, '.menu-text') ? query.innerHTML : ''),\r\n title: submenuLink.getAttribute('title'),\r\n href: submenuLink.getAttribute('href')\r\n });\r\n }\r\n\r\n return breadcrumbs.reverse();\r\n },\r\n\r\n /**\r\n * Returns page title for the menu's active item\r\n * @returns {KTMenu}\r\n */\r\n getPageTitle: function(item) {\r\n var query;\r\n\r\n return (query = KTUtil.child(item, '.menu-text') ? query.innerHTML : '');\r\n },\r\n\r\n /**\r\n * Trigger events\r\n */\r\n eventTrigger: function(name, target, e) {\r\n for (var i = 0; i < the.events.length; i++ ) {\r\n var event = the.events[i];\r\n if ( event.name == name ) {\r\n if ( event.one == true ) {\r\n if ( event.fired == false ) {\r\n the.events[i].fired = true;\r\n return event.handler.call(this, target, e);\r\n }\r\n } else {\r\n return event.handler.call(this, target, e);\r\n }\r\n }\r\n }\r\n },\r\n\r\n addEvent: function(name, handler, one) {\r\n the.events.push({\r\n name: name,\r\n handler: handler,\r\n one: one,\r\n fired: false\r\n });\r\n },\r\n\r\n removeEvent: function(name) {\r\n if (the.events[name]) {\r\n delete the.events[name];\r\n }\r\n }\r\n };\r\n\r\n //////////////////////////\r\n // ** Public Methods ** //\r\n //////////////////////////\r\n\r\n /**\r\n * Set default options\r\n */\r\n\r\n the.setDefaults = function(options) {\r\n defaultOptions = options;\r\n };\r\n\r\n /**\r\n * Update scroll\r\n */\r\n the.scrollUpdate = function() {\r\n return Plugin.scrollUpdate();\r\n };\r\n\r\n /**\r\n * Re-init scroll\r\n */\r\n the.scrollReInit = function() {\r\n return Plugin.scrollInit();\r\n };\r\n\r\n /**\r\n * Scroll top\r\n */\r\n the.scrollTop = function() {\r\n return Plugin.scrollTop();\r\n };\r\n\r\n /**\r\n * Set active menu item\r\n */\r\n the.setActiveItem = function(item) {\r\n return Plugin.setActiveItem(item);\r\n };\r\n\r\n the.reload = function() {\r\n return Plugin.reload();\r\n };\r\n\r\n the.update = function(options) {\r\n return Plugin.update(options);\r\n };\r\n\r\n /**\r\n * Set breadcrumb for menu item\r\n */\r\n the.getBreadcrumbs = function(item) {\r\n return Plugin.getBreadcrumbs(item);\r\n };\r\n\r\n /**\r\n * Set page title for menu item\r\n */\r\n the.getPageTitle = function(item) {\r\n return Plugin.getPageTitle(item);\r\n };\r\n\r\n /**\r\n * Get submenu mode\r\n */\r\n the.getSubmenuMode = function(el) {\r\n return Plugin.getSubmenuMode(el);\r\n };\r\n\r\n /**\r\n * Hide dropdown\r\n * @returns {Object}\r\n */\r\n the.hideDropdown = function(item) {\r\n Plugin.hideSubmenuDropdown(item, true);\r\n };\r\n\r\n /**\r\n * Hide dropdowns\r\n * @returns {Object}\r\n */\r\n the.hideDropdowns = function() {\r\n Plugin.hideSubmenuDropdowns();\r\n };\r\n\r\n /**\r\n * Disable menu for given time\r\n * @returns {Object}\r\n */\r\n the.pauseDropdownHover = function(time) {\r\n Plugin.pauseDropdownHover(time);\r\n };\r\n\r\n /**\r\n * Disable menu for given time\r\n * @returns {Object}\r\n */\r\n the.resumeDropdownHover = function() {\r\n return Plugin.resumeDropdownHover();\r\n };\r\n\r\n /**\r\n * Register event\r\n */\r\n the.on = function(name, handler) {\r\n return Plugin.addEvent(name, handler);\r\n };\r\n\r\n the.off = function(name) {\r\n return Plugin.removeEvent(name);\r\n };\r\n\r\n the.one = function(name, handler) {\r\n return Plugin.addEvent(name, handler, true);\r\n };\r\n\r\n ///////////////////////////////\r\n // ** Plugin Construction ** //\r\n ///////////////////////////////\r\n\r\n // Run plugin\r\n Plugin.construct.apply(the, [options]);\r\n\r\n // Handle plugin on window resize\r\n KTUtil.addResizeHandler(function() {\r\n if (init) {\r\n the.reload();\r\n }\r\n });\r\n\r\n // Init done\r\n init = true;\r\n\r\n // Return plugin instance\r\n return the;\r\n};\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n // module.exports = KTMenu;\r\n}\r\n\r\n// Plugin global lazy initialization\r\ndocument.addEventListener(\"click\", function (e) {\r\n var body = KTUtil.getByTagName('body')[0];\r\n var query;\r\n if ( query = body.querySelectorAll('.menu-nav .menu-item.menu-item-submenu.menu-item-hover:not(.menu-item-tabs)[data-menu-toggle=\"click\"]') ) {\r\n for (var i = 0, len = query.length; i < len; i++) {\r\n var element = query[i].closest('.menu-nav').parentNode;\r\n\r\n if ( element ) {\r\n var the = KTUtil.data(element).get('menu');\r\n\r\n if ( !the ) {\r\n break;\r\n }\r\n\r\n if ( !the || the.getSubmenuMode() !== 'dropdown' ) {\r\n break;\r\n }\r\n\r\n if ( e.target !== element && element.contains(e.target) === false ) {\r\n the.hideDropdowns();\r\n }\r\n }\r\n }\r\n }\r\n});\r\n\r\nexport default KTMenu;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./util\";\r\n\r\n// Component Definition\r\nvar KTToggle = function(toggleElement, targetElement, options) {\r\n // Main object\r\n var the = this;\r\n var init = false;\r\n\r\n // Get element object\r\n var element = toggleElement;\r\n var target = targetElement;\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\r\n targetToggleMode: 'class' // class|attribute\r\n };\r\n\r\n ////////////////////////////\r\n // ** Private Methods ** //\r\n ////////////////////////////\r\n\r\n var Plugin = {\r\n /**\r\n * Construct\r\n */\r\n\r\n construct: function(options) {\r\n if (KTUtil.data(element).has('toggle')) {\r\n the = KTUtil.data(element).get('toggle');\r\n } else {\r\n // reset menu\r\n Plugin.init(options);\r\n\r\n // build menu\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('toggle', the);\r\n }\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Handles subtoggle click toggle\r\n */\r\n init: function(options) {\r\n the.element = element;\r\n the.events = [];\r\n\r\n // Merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n\r\n //alert(the.options.target.tagName);\r\n the.target = target;\r\n\r\n the.targetState = the.options.targetState;\r\n the.toggleState = the.options.toggleState;\r\n\r\n if (the.options.targetToggleMode == 'class') {\r\n the.state = KTUtil.hasClasses(the.target, the.targetState) ? 'on' : 'off';\r\n } else {\r\n the.state = KTUtil.hasAttr(the.target, 'data-' + the.targetState) ? KTUtil.attr(the.target, 'data-' + the.targetState) : 'off';\r\n }\r\n },\r\n\r\n /**\r\n * Setup toggle\r\n */\r\n build: function() {\r\n KTUtil.addEvent(element, 'mouseup', Plugin.toggle);\r\n },\r\n\r\n /**\r\n * Handles offcanvas click toggle\r\n */\r\n toggle: function(e) {\r\n Plugin.eventTrigger('beforeToggle');\r\n\r\n if (the.state == 'off') {\r\n Plugin.toggleOn();\r\n } else {\r\n Plugin.toggleOff();\r\n }\r\n\r\n Plugin.eventTrigger('afterToggle');\r\n\r\n e.preventDefault();\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Handles toggle click toggle\r\n */\r\n toggleOn: function() {\r\n Plugin.eventTrigger('beforeOn');\r\n\r\n if (the.options.targetToggleMode == 'class') {\r\n KTUtil.addClass(the.target, the.targetState);\r\n } else {\r\n KTUtil.attr(the.target, 'data-' + the.targetState, 'on');\r\n }\r\n\r\n if (the.toggleState) {\r\n KTUtil.addClass(element, the.toggleState);\r\n }\r\n\r\n the.state = 'on';\r\n\r\n Plugin.eventTrigger('afterOn');\r\n\r\n Plugin.eventTrigger('toggle');\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Handles toggle click toggle\r\n */\r\n toggleOff: function() {\r\n Plugin.eventTrigger('beforeOff');\r\n\r\n if (the.options.targetToggleMode == 'class') {\r\n KTUtil.removeClass(the.target, the.targetState);\r\n } else {\r\n KTUtil.removeAttr(the.target, 'data-' + the.targetState);\r\n }\r\n\r\n if (the.toggleState) {\r\n KTUtil.removeClass(element, the.toggleState);\r\n }\r\n\r\n the.state = 'off';\r\n\r\n Plugin.eventTrigger('afterOff');\r\n\r\n Plugin.eventTrigger('toggle');\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Trigger events\r\n */\r\n eventTrigger: function(name) {\r\n for (var i = 0; i < the.events.length; i++) {\r\n var event = the.events[i];\r\n\r\n if (event.name == name) {\r\n if (event.one == true) {\r\n if (event.fired == false) {\r\n the.events[i].fired = true;\r\n return event.handler.call(this, the);\r\n }\r\n } else {\r\n return event.handler.call(this, the);\r\n }\r\n }\r\n }\r\n },\r\n\r\n addEvent: function(name, handler, one) {\r\n the.events.push({\r\n name: name,\r\n handler: handler,\r\n one: one,\r\n fired: false\r\n });\r\n\r\n return the;\r\n }\r\n };\r\n\r\n //////////////////////////\r\n // ** Public Methods ** //\r\n //////////////////////////\r\n\r\n /**\r\n * Set default options\r\n */\r\n\r\n the.setDefaults = function(options) {\r\n defaultOptions = options;\r\n };\r\n\r\n /**\r\n * Get toggle state\r\n */\r\n the.getState = function() {\r\n return the.state;\r\n };\r\n\r\n /**\r\n * Toggle\r\n */\r\n the.toggle = function() {\r\n return Plugin.toggle();\r\n };\r\n\r\n /**\r\n * Toggle on\r\n */\r\n the.toggleOn = function() {\r\n return Plugin.toggleOn();\r\n };\r\n\r\n /**\r\n * Toggle off\r\n */\r\n the.toggleOff = function() {\r\n return Plugin.toggleOff();\r\n };\r\n\r\n /**\r\n * Attach event\r\n * @returns {KTToggle}\r\n */\r\n the.on = function(name, handler) {\r\n return Plugin.addEvent(name, handler);\r\n };\r\n\r\n /**\r\n * Attach event that will be fired once\r\n * @returns {KTToggle}\r\n */\r\n the.one = function(name, handler) {\r\n return Plugin.addEvent(name, handler, true);\r\n };\r\n\r\n // Construct plugin\r\n Plugin.construct.apply(the, [options]);\r\n\r\n return the;\r\n};\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n // module.exports = KTToggle;\r\n}\r\n\r\nexport default KTToggle;","import React, { forwardRef, useEffect, useState } from \"react\";\r\nimport clsx from \"clsx\";\r\nimport {isFragment} from \"react-is\";\r\n\r\nexport const CardHeaderIcon = forwardRef(({ className }, ref) => (\r\n \r\n));\r\n\r\nexport const CardHeaderTitle = forwardRef(({ className, ...props }, ref) => (\r\n // eslint-disable-next-line jsx-a11y/heading-has-content\r\n

\r\n));\r\n\r\nexport const CardHeaderToolbar = forwardRef(\r\n ({ children, className, ...props }, ref) => (\r\n
\r\n {children}\r\n
\r\n )\r\n);\r\n\r\nexport const CardHeader = forwardRef(\r\n (\r\n {\r\n children,\r\n icon,\r\n title,\r\n toolbar,\r\n className,\r\n sticky = false,\r\n labelRef,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const [top, setTop] = useState(0);\r\n const [windowHeight, setWindowHeight] = useState(0);\r\n\r\n useEffect(() => {\r\n handleResize();\r\n\r\n function handleResize() {\r\n setWindowHeight(window.innerWidth);\r\n }\r\n\r\n window.addEventListener(\"resize\", handleResize);\r\n\r\n return () => {\r\n window.removeEventListener(\"resize\", handleResize);\r\n };\r\n });\r\n\r\n useEffect(() => {\r\n // Skip if sticky is disabled or on initial render when we don't know about window height.\r\n if (!sticky || windowHeight === 0) {\r\n return;\r\n }\r\n\r\n const headerElement = document.querySelector(\".header\");\r\n const subheaderElement = document.querySelector(\".subheader\");\r\n const headerMobileElement = document.querySelector(\".header-mobile\");\r\n\r\n let nextMarginTop = 0;\r\n\r\n // mobile header\r\n if (window.getComputedStyle(headerElement).height === \"0px\") {\r\n nextMarginTop = headerMobileElement.offsetHeight;\r\n } else {\r\n // desktop header\r\n if (document.body.classList.contains(\"header-minimize-topbar\")) {\r\n // hardcoded minimized header height\r\n nextMarginTop = 60;\r\n } else {\r\n // normal fixed header\r\n if (document.body.classList.contains(\"header-fixed\")) {\r\n nextMarginTop += headerElement.offsetHeight;\r\n }\r\n\r\n if (document.body.classList.contains(\"subheader-fixed\")) {\r\n nextMarginTop += subheaderElement.offsetHeight;\r\n }\r\n }\r\n }\r\n\r\n setTop(nextMarginTop);\r\n }, [sticky, windowHeight]);\r\n\r\n return (\r\n \r\n {title != null && (\r\n
\r\n {icon}\r\n\r\n {/* Wrap string and fragments in CardHeaderTitle */\r\n typeof title === \"string\" || isFragment(title) ? (\r\n {title}\r\n ) : (\r\n title\r\n )}\r\n
\r\n )}\r\n\r\n {toolbar}\r\n {children}\r\n \r\n );\r\n }\r\n);\r\n\r\nexport const CardBody = forwardRef(\r\n ({ fit, fluid, className, ...props }, ref) => (\r\n \r\n )\r\n);\r\n\r\nexport const CardFooter = forwardRef(({ className, ...props }, ref) => (\r\n
\r\n));\r\n\r\nexport const Card = forwardRef(({ fluidHeight, className, ...props }, ref) => (\r\n \r\n));\r\n\r\n// Set display names for debugging.\r\nif (process.env.NODE_ENV !== \"production\") {\r\n Card.displayName = \"Card\";\r\n\r\n CardHeader.displayName = \"CardHeader\";\r\n CardHeaderIcon.displayName = \"CardHeaderIcon\";\r\n CardHeaderTitle.displayName = \"CardHeaderTitle\";\r\n CardHeaderToolbar.displayName = \"CardHeaderToolbar\";\r\n\r\n CardBody.displayName = \"CardBody\";\r\n CardFooter.displayName = \"CardFooter\";\r\n}\r\n","import React from \"react\";\r\n\r\nconst inputLabel = ({ label, touched, error, customFeedbackLabel }) => {\r\n if (touched && error) {\r\n return
{error}
;\r\n }\r\n\r\n if (touched && !error && label) {\r\n return
{label} was entered correct
;\r\n }\r\n\r\n return (\r\n
\r\n {customFeedbackLabel && <>{customFeedbackLabel}}\r\n {!customFeedbackLabel && (\r\n <>\r\n Please enter {label}\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nconst selectLabel = ({ label, touched, error, customFeedbackLabel }) => {\r\n if (touched && error) {\r\n return
{error}
;\r\n }\r\n\r\n return (\r\n
\r\n {customFeedbackLabel && <>{customFeedbackLabel}}\r\n {!customFeedbackLabel && label && (\r\n <>\r\n Please select {label}\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport function FieldFeedbackLabel({\r\n label,\r\n touched,\r\n error,\r\n type,\r\n customFeedbackLabel\r\n}) {\r\n switch (type) {\r\n case \"text\":\r\n return inputLabel({ label, touched, error, customFeedbackLabel });\r\n case \"email\":\r\n return inputLabel({ label, touched, error, customFeedbackLabel });\r\n case \"password\":\r\n return inputLabel({ label, touched, error, customFeedbackLabel });\r\n default:\r\n return selectLabel({ label, touched, error, customFeedbackLabel });\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {FieldFeedbackLabel} from \"./FieldFeedbackLabel\";\r\n\r\nconst getFieldCSSClasses = (touched, errors) => {\r\n const classes = [\"form-control\"];\r\n if (touched && errors) {\r\n classes.push(\"is-invalid\");\r\n }\r\n\r\n if (touched && !errors) {\r\n classes.push(\"is-valid\");\r\n }\r\n\r\n return classes.join(\" \");\r\n};\r\n\r\nexport function Input({\r\n field, // { name, value, onChange, onBlur }\r\n form: { touched, errors }, // also values, setXXXX, handleXXXX, dirty, isValid, status, etc.\r\n label,\r\n withFeedbackLabel = false,\r\n customFeedbackLabel,\r\n type = \"text\",\r\n ...props\r\n}) {\r\n return (\r\n <>\r\n {label && }\r\n \r\n {withFeedbackLabel && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { FieldFeedbackLabel } from \"./FieldFeedbackLabel\";\r\n\r\nconst getFieldCSSClasses = (touched, errors) => {\r\n const classes = [\"form-control\"];\r\n if (touched && errors) {\r\n classes.push(\"is-invalid\");\r\n }\r\n\r\n if (touched && !errors) {\r\n classes.push(\"is-valid\");\r\n }\r\n\r\n return classes.join(\" \");\r\n};\r\n\r\nexport function Select({\r\n field,\r\n form: { touched, errors },\r\n label,\r\n withFeedbackLabel = false,\r\n type = \"text\",\r\n customFeedbackLabel,\r\n children,\r\n ...props\r\n}) {\r\n // const [field, meta] = useField(props);\r\n // const { touched, error } = meta;\r\n return (\r\n <>\r\n {label && }\r\n \r\n {children}\r\n \r\n {withFeedbackLabel && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport { getPages, getPagesCount } from \"../../../_helpers\";\r\n\r\nexport function PaginationLinks({ paginationProps }) {\r\n const { totalSize, sizePerPage, page, paginationSize } = paginationProps;\r\n const pagesCount = getPagesCount(totalSize, sizePerPage);\r\n const pages = getPages(page, pagesCount, paginationSize);\r\n const handleFirstPage = ({ onPageChange }) => {\r\n onPageChange(1);\r\n };\r\n\r\n const handlePrevPage = ({ page, onPageChange }) => {\r\n onPageChange(page - 1);\r\n };\r\n\r\n const handleNextPage = ({ page, onPageChange }) => {\r\n if (page < pagesCount) {\r\n onPageChange(page + 1);\r\n }\r\n };\r\n\r\n const handleLastPage = ({ onPageChange }) => {\r\n onPageChange(pagesCount);\r\n };\r\n\r\n const handleSelectedPage = ({ onPageChange }, pageNum) => {\r\n onPageChange(pageNum);\r\n };\r\n\r\n const disabledClass = pagesCount > 1 ? \"\" : \"disabled\";\r\n return (\r\n <>\r\n {pagesCount < 2 && <>}\r\n {pagesCount > 1 && (\r\n <>\r\n
\r\n handleFirstPage(paginationProps)}\r\n className=\"btn btn-icon btn-sm btn-light btn-hover-primary mr-2 my-1\"\r\n >\r\n \r\n \r\n handlePrevPage(paginationProps)}\r\n className=\"btn btn-icon btn-sm btn-light btn-hover-primary mr-2 my-1\"\r\n >\r\n \r\n \r\n\r\n {page > 1 && (\r\n \r\n ...\r\n \r\n )}\r\n {pages.map((p) => (\r\n handleSelectedPage(paginationProps, p)}\r\n className={`btn btn-icon btn-sm border-0 btn-light ${\r\n page === p ? \" btn-hover-primary active\" : \"\"\r\n } mr-2 my-1`}\r\n >\r\n {p}\r\n \r\n ))}\r\n {page < pagesCount && (\r\n \r\n ...\r\n \r\n )}\r\n handleNextPage(paginationProps)}\r\n className=\"btn btn-icon btn-sm btn-light btn-hover-primary mr-2 my-1\"\r\n >\r\n \r\n \r\n handleLastPage(paginationProps)}\r\n className=\"btn btn-icon btn-sm btn-light btn-hover-primary mr-2 my-1\"\r\n >\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n );\r\n}\r\n","/* eslint-disable no-unused-vars */\r\nimport React from \"react\";\r\nimport {PaginationTotalStandalone} from \"react-bootstrap-table2-paginator\";\r\n\r\nexport function PaginationToolbar(props) {\r\n const { isLoading, paginationProps } = props;\r\n const {\r\n sizePerPageList,\r\n sizePerPage,\r\n totalSize,\r\n onSizePerPageChange = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n ]\r\n } = paginationProps;\r\n const style = {\r\n width: \"75px\"\r\n };\r\n\r\n const onSizeChange = event => {\r\n const newSize = +event.target.value;\r\n onSizePerPageChange(newSize);\r\n };\r\n\r\n return (\r\n
\r\n {isLoading && (\r\n
\r\n
Loading...
\r\n
\r\n
\r\n )}\r\n \r\n {sizePerPageList.map(option => {\r\n const isSelect = sizePerPage === `${option.page}`;\r\n return (\r\n \r\n {option.text}\r\n \r\n );\r\n })}\r\n \r\n \r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\nimport {PaginationLinks} from \"./PaginationLinks\";\r\nimport {PaginationToolbar} from \"./PaginationToolbar\";\r\n\r\nexport function Pagination(props) {\r\n const { children, isLoading, paginationProps } = props;\r\n return (\r\n <>\r\n {children}\r\n
\r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport {withRouter} from \"react-router-dom\";\r\nimport {ProgressBar} from \"react-bootstrap\";\r\n\r\n// TODO: Should be rewrited to pure function\r\nclass AnimateLoading extends React.Component {\r\n animateTimeout;\r\n stopAnimateTimeout;\r\n state = {\r\n width: 0,\r\n routeChanged: false\r\n };\r\n\r\n componentDidUpdate(nextProps) {\r\n if (this.props.location.pathname !== nextProps.location.pathname) {\r\n this.animate();\r\n this.scrollToTop();\r\n }\r\n }\r\n\r\n scrollToTop() {\r\n const scrollToTopBtn = document.getElementById(\"kt_scrolltop\");\r\n if (scrollToTopBtn) {\r\n scrollToTopBtn.click();\r\n }\r\n }\r\n\r\n animate() {\r\n this.animateTimeout = setTimeout(() => {\r\n if (this.state.width <= 100) {\r\n this.setState({ width: this.state.width + 10 });\r\n this.animate();\r\n } else {\r\n this.stopAnimate();\r\n }\r\n }, 30);\r\n }\r\n stopAnimate() {\r\n clearTimeout(this.animateInterval);\r\n this.stopAnimateTimeout = setTimeout(() => {\r\n this.setState({ width: 0 });\r\n }, 300);\r\n }\r\n componentWillUnmount() {\r\n if (this.stopAnimateTimeout) {\r\n clearTimeout(this.stopAnimateTimeout);\r\n }\r\n if (this.animateTimeout) {\r\n clearTimeout(this.animateTimeout);\r\n }\r\n }\r\n render() {\r\n return (\r\n \r\n {this.state.width > 0 && (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(AnimateLoading);\r\n","import React, {useEffect, useState} from \"react\";\r\nimport {Portal} from \"react-portal\";\r\n\r\nconst animationStartClass = \"dialog-shown\";\r\nconst animationEndClass = \"dialog-hidden\";\r\nconst initCssClasses = [\r\n \"dialog\",\r\n \"dialog-default\",\r\n \"dialog-loader\",\r\n \"dialog-top-center\"\r\n];\r\n\r\nexport function LoadingDialog({ isLoading, text }) {\r\n const [cssClasses, setCssClasses] = useState(initCssClasses);\r\n\r\n useEffect(() => {\r\n // for animation start should toggle 'dialog-hidden' css class\r\n setCssClasses(initCssClasses);\r\n const timeoutId = setTimeout(() => {\r\n const cssClassForAdding = isLoading\r\n ? animationStartClass\r\n : animationEndClass;\r\n setCssClasses([...initCssClasses, cssClassForAdding]);\r\n }, 200);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n return () => {\r\n clearTimeout(timeoutId);\r\n };\r\n }, [isLoading]);\r\n\r\n return (\r\n \r\n
{text}
\r\n
\r\n );\r\n}\r\n","import React, { forwardRef } from \"react\";\r\nimport clsx from \"clsx\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport {toAbsoluteUrl} from \"../../_helpers\";\r\n\r\nexport const Notice = forwardRef(\r\n (\r\n {\r\n icon,\r\n svg,\r\n iconRef,\r\n textRef,\r\n iconWrapperRef,\r\n className,\r\n children,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n {children}\r\n
\r\n \r\n );\r\n }\r\n);\r\n\r\n// Set display name for debugging.\r\nif (process.env.NODE_ENV !== \"production\") {\r\n Notice.displayName = \"Notice\";\r\n}\r\n","import React from \"react\";\r\nimport { ProgressBar } from \"react-bootstrap\";\r\n\r\nexport function ModalProgressBar({variant = \"success\"}) {\r\n return (\r\n \r\n );\r\n}\r\n","// CodeExamples\r\nexport {CodeBlock} from \"./code-examples/CodeBlock\";\r\nexport {CodeBlockToolbar} from \"./code-examples/CodeBlockToolbar\";\r\nexport {CodeExample} from \"./code-examples/CodeExample\";\r\nexport {CodeExampleSimple} from \"./code-examples/CodeExampleSimple\";\r\n\r\n// KTCodeExamples\r\nexport {KTCodeBlock} from \"./code-examples-kt/KTCodeBlock\";\r\nexport {KTCodeExample} from \"./code-examples-kt/KTCodeExample\";\r\n\r\n// Forms\r\nexport {DatePickerField} from \"./forms/DatePickerField\";\r\nexport {FieldFeedbackLabel} from \"./forms/FieldFeedbackLabel\";\r\nexport {FormAlert} from \"./forms/FormAlert\";\r\nexport {Input} from \"./forms/Input\";\r\nexport {Select} from \"./forms/Select\";\r\nexport {Checkbox} from \"./forms/Checkbox\";\r\nexport {HeaderCheckbox} from \"./forms/HeaderCheckbox\";\r\n\r\n\r\n// Paginations\r\nexport {Pagination} from \"./pagination/Pagination\"\r\nexport {PaginationLinks} from \"./pagination/PaginationLinks\";\r\nexport {PaginationToolbar} from \"./pagination/PaginationToolbar\";\r\n\r\n// Controls\r\nexport * from \"./Card\";\r\nexport {default as AnimateLoading} from \"./AnimateLoading\";\r\nexport {LoadingDialog} from \"./LoadingDialog\";\r\nexport {Notice} from \"./Notice\";\r\nexport {SplashScreen} from \"./SplashScreen\";\r\nexport {SVGIcon} from \"./SVGIcon\";\r\nexport {ModalProgressBar} from \"./ModalProgressBar\";","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"../../../../_metronic/_assets/js/components/util.js\";\r\nimport KTOffcanvas from \"../../../../_metronic/_assets/js/components/offcanvas.js\";\r\n\r\nvar KTLayoutQuickForm = function() {\r\n // Private properties\r\n var _element;\r\n var _offcanvasObject;\r\n\r\n // Private functions\r\n var _init = function() {\r\n var header = KTUtil.find(_element, '.offcanvas-header');\r\n var content = KTUtil.find(_element, '.offcanvas-content');\r\n\r\n _offcanvasObject = new KTOffcanvas(_element, {\r\n overlay: true,\r\n baseClass: 'offcanvas',\r\n placement: 'right',\r\n closeBy: 'kt_quick_form_close',\r\n toggleBy: 'kt_quick_form_toggle'\r\n });\r\n\r\n KTUtil.scrollInit(content, {\r\n disableForMobile: true,\r\n resetHeightOnDestroy: true,\r\n handleWindowResize: true,\r\n height: function() {\r\n var height = parseInt(KTUtil.getViewPort().height);\r\n\r\n if (header) {\r\n height = height - parseInt(KTUtil.actualHeight(header));\r\n height = height - parseInt(KTUtil.css(header, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(header, 'marginBottom'));\r\n }\r\n\r\n if (content) {\r\n height = height - parseInt(KTUtil.css(content, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(content, 'marginBottom'));\r\n }\r\n\r\n height = height - parseInt(KTUtil.css(_element, 'paddingTop'));\r\n height = height - parseInt(KTUtil.css(_element, 'paddingBottom'));\r\n\r\n height = height - 2;\r\n\r\n return height;\r\n }\r\n });\r\n }\r\n\r\n // Public methods\r\n return {\r\n init: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n },\r\n\r\n getElement: function() {\r\n return _element;\r\n }\r\n };\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutQuickForm;\r\n}\r\n\r\nexport default KTLayoutQuickForm;","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialAdminMenusState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n adminMenuForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const adminMenusSlice = createSlice({\r\n name: \"adminMenus\",\r\n initialState: initialAdminMenusState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getAdminMenuById\r\n adminMenuFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.adminMenuForEdit = action.payload.adminMenuForEdit;\r\n state.error = null;\r\n },\r\n // findAdminMenus\r\n adminMenusFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createAdminMenu\r\n adminMenuCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.adminMenu);\r\n },\r\n // updateAdminMenu\r\n adminMenuUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.adminMenuId === action.payload.adminMenu.adminMenuId) {\r\n return action.payload.adminMenu;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteAdminMenu\r\n adminMenuDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.adminMenuId !== action.payload.adminMenuId);\r\n },\r\n // deleteAdminMenus\r\n adminMenusDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.adminMenuId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialPageContentsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n pageContentForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const pageContentsSlice = createSlice({\r\n name: \"pageContents\",\r\n initialState: initialPageContentsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getPageContentById\r\n pageContentFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.pageContentForEdit = action.payload.pageContentForEdit;\r\n state.error = null;\r\n },\r\n // findPageContents\r\n pageContentsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createPageContent\r\n pageContentCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.pageContent);\r\n },\r\n // updatePageContent\r\n pageContentUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.pageContentId === action.payload.pageContent.pageContentId) {\r\n return action.payload.pageContent;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deletePageContent\r\n pageContentDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.pageContentId !== action.payload.pageContentId);\r\n },\r\n // deletePageContents\r\n pageContentsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.pageContentId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialWebMenusState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n webMenuForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const webMenusSlice = createSlice({\r\n name: \"webMenus\",\r\n initialState: initialWebMenusState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getWebMenuById\r\n webMenuFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.webMenuForEdit = action.payload.webMenuForEdit;\r\n state.error = null;\r\n },\r\n // findWebMenus\r\n webMenusFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createWebMenu\r\n webMenuCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.webMenu);\r\n },\r\n // updateWebMenu\r\n webMenuUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.webMenuId === action.payload.webMenu.webMenuId) {\r\n return action.payload.webMenu;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteWebMenu\r\n webMenuDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.webMenuId !== action.payload.webMenuId);\r\n },\r\n // deleteWebMenus\r\n webMenusDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.webMenuId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCountriesState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n countryForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const countriesSlice = createSlice({\r\n name: \"countries\",\r\n initialState: initialCountriesState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCountryById\r\n countryFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.countryForEdit = action.payload.countryForEdit;\r\n state.error = null;\r\n },\r\n // findCountries\r\n countriesFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCountry\r\n countryCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.country);\r\n },\r\n // updateCountry\r\n countryUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.countryId === action.payload.country.countryId) {\r\n return action.payload.country;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCountry\r\n countryDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.countryId !== action.payload.countryId);\r\n },\r\n // deleteCountries\r\n countriesDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.countryId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialInstitutesState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n instituteForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const institutesSlice = createSlice({\r\n name: \"institutes\",\r\n initialState: initialInstitutesState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getInstituteById\r\n instituteFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.instituteForEdit = action.payload.instituteForEdit;\r\n state.error = null;\r\n },\r\n // findInstitutes\r\n institutesFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createInstitute\r\n instituteCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.institute);\r\n },\r\n // updateInstitute\r\n instituteUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.instituteId === action.payload.institute.instituteId) {\r\n return action.payload.institute;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteInstitute\r\n instituteDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.instituteId !== action.payload.instituteId);\r\n },\r\n // deleteInstitutes\r\n institutesDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.instituteId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialDepartmentsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n departmentForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const departmentsSlice = createSlice({\r\n name: \"departments\",\r\n initialState: initialDepartmentsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getDepartmentById\r\n departmentFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.departmentForEdit = action.payload.departmentForEdit;\r\n state.error = null;\r\n },\r\n // findDepartments\r\n departmentsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createDepartment\r\n departmentCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.department);\r\n },\r\n // updateDepartment\r\n departmentUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.departmentId === action.payload.department.departmentId) {\r\n return action.payload.department;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteDepartment\r\n departmentDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.departmentId !== action.payload.departmentId);\r\n },\r\n // deleteDepartments\r\n departmentsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.departmentId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialProgramsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n programForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const programsSlice = createSlice({\r\n name: \"programs\",\r\n initialState: initialProgramsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getProgramById\r\n programFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.programForEdit = action.payload.programForEdit;\r\n state.error = null;\r\n },\r\n // findPrograms\r\n programsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createProgram\r\n programCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.program);\r\n },\r\n // updateProgram\r\n programUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.programId === action.payload.program.programId) {\r\n return action.payload.program;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteProgram\r\n programDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.programId !== action.payload.programId);\r\n },\r\n // deletePrograms\r\n programsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.programId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialLetterTypesState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n letterTypeForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const letterTypesSlice = createSlice({\r\n name: \"letterTypes\",\r\n initialState: initialLetterTypesState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getLetterTypeById\r\n letterTypeFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.letterTypeForEdit = action.payload.letterTypeForEdit;\r\n state.error = null;\r\n },\r\n // findLetterTypes\r\n letterTypesFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createLetterType\r\n letterTypeCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.letterType);\r\n },\r\n // updateLetterType\r\n letterTypeUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.letterTypeId === action.payload.letterType.letterTypeId) {\r\n return action.payload.letterType;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteLetterType\r\n letterTypeDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.letterTypeId !== action.payload.letterTypeId);\r\n },\r\n // deleteLetterTypes\r\n letterTypesDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.letterTypeId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialConferencesState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n conferenceForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const conferencesSlice = createSlice({\r\n name: \"conferences\",\r\n initialState: initialConferencesState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getConferenceById\r\n conferenceFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.conferenceForEdit = action.payload.conferenceForEdit;\r\n state.error = null;\r\n },\r\n // findConferences\r\n conferencesFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createConference\r\n conferenceCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.conference);\r\n },\r\n // updateConference\r\n conferenceUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.conferenceId === action.payload.conference.conferenceId) {\r\n return action.payload.conference;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteConference\r\n conferenceDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.conferenceId !== action.payload.conferenceId);\r\n },\r\n // deleteConferences\r\n conferencesDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.conferenceId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialGalleryImagesState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n galleryImageForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const galleryImagesSlice = createSlice({\r\n name: \"galleryImages\",\r\n initialState: initialGalleryImagesState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getGalleryImageById\r\n galleryImageFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.galleryImageForEdit = action.payload.galleryImageForEdit;\r\n state.error = null;\r\n },\r\n // findGalleryImages\r\n galleryImagesFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createGalleryImage\r\n galleryImageCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.galleryImage);\r\n },\r\n // updateGalleryImage\r\n galleryImageUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.galleryImageId === action.payload.galleryImage.galleryImageId) {\r\n return action.payload.galleryImage;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteGalleryImage\r\n galleryImageDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.galleryImageId !== action.payload.galleryImageId);\r\n },\r\n // deleteGalleryImages\r\n galleryImagesDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.galleryImageId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialGalleriesState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n galleryForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const galleriesSlice = createSlice({\r\n name: \"galleries\",\r\n initialState: initialGalleriesState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getGalleryById\r\n galleryFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.galleryForEdit = action.payload.galleryForEdit;\r\n state.error = null;\r\n },\r\n // findGalleries\r\n galleriesFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createGallery\r\n galleryCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.gallery);\r\n },\r\n // updateGallery\r\n galleryUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.galleryId === action.payload.gallery.galleryId) {\r\n return action.payload.gallery;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteGallery\r\n galleryDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.galleryId !== action.payload.galleryId);\r\n },\r\n // deleteGalleries\r\n galleriesDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.galleryId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialNewssState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n newsForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const newssSlice = createSlice({\r\n name: \"newss\",\r\n initialState: initialNewssState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getNewsById\r\n newsFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.newsForEdit = action.payload.newsForEdit;\r\n state.error = null;\r\n },\r\n // findNewss\r\n newssFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createNews\r\n newsCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.news);\r\n },\r\n // updateNews\r\n newsUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.newsId === action.payload.news.newsId) {\r\n return action.payload.news;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteNews\r\n newsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.newsId !== action.payload.newsId);\r\n },\r\n // deleteNewss\r\n newssDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.newsId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCoursesState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n courseForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const coursesSlice = createSlice({\r\n name: \"courses\",\r\n initialState: initialCoursesState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCourseById\r\n courseFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.courseForEdit = action.payload.courseForEdit;\r\n state.error = null;\r\n },\r\n // findCourses\r\n coursesFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCourse\r\n courseCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.course);\r\n },\r\n // updateCourse\r\n courseUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.courseId === action.payload.course.courseId) {\r\n return action.payload.course;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCourse\r\n courseDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.courseId !== action.payload.courseId);\r\n },\r\n // deleteCourses\r\n coursesDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.courseId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialEventInfosState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n eventInfoForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const eventInfosSlice = createSlice({\r\n name: \"eventInfos\",\r\n initialState: initialEventInfosState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getEventInfoById\r\n eventInfoFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.eventInfoForEdit = action.payload.eventInfoForEdit;\r\n state.error = null;\r\n },\r\n // findEventInfos\r\n eventInfosFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createEventInfo\r\n eventInfoCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.eventInfo);\r\n },\r\n // updateEventInfo\r\n eventInfoUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.eventInfoId === action.payload.eventInfo.eventInfoId) {\r\n return action.payload.eventInfo;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteEventInfo\r\n eventInfoDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.eventInfoId !== action.payload.eventInfoId);\r\n },\r\n // deleteEventInfos\r\n eventInfosDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.eventInfoId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialRtiUploadsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n rtiUploadForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const rtiUploadsSlice = createSlice({\r\n name: \"rtiUploads\",\r\n initialState: initialRtiUploadsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getRtiUploadById\r\n rtiUploadFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.rtiUploadForEdit = action.payload.rtiUploadForEdit;\r\n state.error = null;\r\n },\r\n // findRtiUploads\r\n rtiUploadsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createRtiUpload\r\n rtiUploadCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.rtiUpload);\r\n },\r\n // updateRtiUpload\r\n rtiUploadUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.rtiUploadId === action.payload.rtiUpload.rtiUploadId) {\r\n return action.payload.rtiUpload;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteRtiUpload\r\n rtiUploadDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.rtiUploadId !== action.payload.rtiUploadId);\r\n },\r\n // deleteRtiUploads\r\n rtiUploadsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.rtiUploadId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialFacultyMembersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n facultyMemberForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const facultyMembersSlice = createSlice({\r\n name: \"facultyMembers\",\r\n initialState: initialFacultyMembersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getFacultyMemberById\r\n facultyMemberFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.facultyMemberForEdit = action.payload.facultyMemberForEdit;\r\n state.error = null;\r\n },\r\n // findFacultyMembers\r\n facultyMembersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createFacultyMember\r\n facultyMemberCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.facultyMember);\r\n },\r\n // updateFacultyMember\r\n facultyMemberUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.facultyMemberId === action.payload.facultyMember.facultyMemberId) {\r\n return action.payload.facultyMember;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteFacultyMember\r\n facultyMemberDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.facultyMemberId !== action.payload.facultyMemberId);\r\n },\r\n // deleteFacultyMembers\r\n facultyMembersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.facultyMemberId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialUniversityInfosState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n universityInfoForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const universityInfosSlice = createSlice({\r\n name: \"universityInfos\",\r\n initialState: initialUniversityInfosState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getUniversityInfoById\r\n universityInfoFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.universityInfoForEdit = action.payload.universityInfoForEdit;\r\n state.error = null;\r\n },\r\n // findUniversityInfos\r\n universityInfosFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createUniversityInfo\r\n universityInfoCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.universityInfo);\r\n },\r\n // updateUniversityInfo\r\n universityInfoUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.universityInfoId === action.payload.universityInfo.universityInfoId) {\r\n return action.payload.universityInfo;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteUniversityInfo\r\n universityInfoDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.universityInfoId !== action.payload.universityInfoId);\r\n },\r\n // deleteUniversityInfos\r\n universityInfosDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.universityInfoId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialDepartmentSubsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n departmentSubForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const departmentSubsSlice = createSlice({\r\n name: \"departmentSubs\",\r\n initialState: initialDepartmentSubsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getDepartmentSubById\r\n departmentSubFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.departmentSubForEdit = action.payload.departmentSubForEdit;\r\n state.error = null;\r\n },\r\n // findDepartmentSubs\r\n departmentSubsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createDepartmentSub\r\n departmentSubCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.departmentSub);\r\n },\r\n // updateDepartmentSub\r\n departmentSubUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.departmentSubId === action.payload.departmentSub.departmentSubId) {\r\n return action.payload.departmentSub;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteDepartmentSub\r\n departmentSubDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.departmentSubId !== action.payload.departmentSubId);\r\n },\r\n // deleteDepartmentSubs\r\n departmentSubsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.departmentSubId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialDocTypesState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n docTypeForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const docTypesSlice = createSlice({\r\n name: \"docTypes\",\r\n initialState: initialDocTypesState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getDocTypeById\r\n docTypeFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.docTypeForEdit = action.payload.docTypeForEdit;\r\n state.error = null;\r\n },\r\n // findDocTypes\r\n docTypesFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createDocType\r\n docTypeCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.docType);\r\n },\r\n // updateDocType\r\n docTypeUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.docTypeId === action.payload.docType.docTypeId) {\r\n return action.payload.docType;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteDocType\r\n docTypeDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.docTypeId !== action.payload.docTypeId);\r\n },\r\n // deleteDocTypes\r\n docTypesDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.docTypeId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialDownloadDocsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n downloadDocForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const downloadDocsSlice = createSlice({\r\n name: \"downloadDocs\",\r\n initialState: initialDownloadDocsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getDownloadDocById\r\n downloadDocFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.downloadDocForEdit = action.payload.downloadDocForEdit;\r\n state.error = null;\r\n },\r\n // findDownloadDocs\r\n downloadDocsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createDownloadDoc\r\n downloadDocCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.downloadDoc);\r\n },\r\n // updateDownloadDoc\r\n downloadDocUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.downloadDocId === action.payload.downloadDoc.downloadDocId) {\r\n return action.payload.downloadDoc;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteDownloadDoc\r\n downloadDocDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.downloadDocId !== action.payload.downloadDocId);\r\n },\r\n // deleteDownloadDocs\r\n downloadDocsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.downloadDocId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialFeeTypesState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n feeTypeForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const feeTypesSlice = createSlice({\r\n name: \"feeTypes\",\r\n initialState: initialFeeTypesState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getFeeTypeById\r\n feeTypeFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.feeTypeForEdit = action.payload.feeTypeForEdit;\r\n state.error = null;\r\n },\r\n // findFeeTypes\r\n feeTypesFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createFeeType\r\n feeTypeCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.feeType);\r\n },\r\n // updateFeeType\r\n feeTypeUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.feeTypeId === action.payload.feeType.feeTypeId) {\r\n return action.payload.feeType;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteFeeType\r\n feeTypeDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.feeTypeId !== action.payload.feeTypeId);\r\n },\r\n // deleteFeeTypes\r\n feeTypesDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.feeTypeId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialUsersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n userForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const usersSlice = createSlice({\r\n name: \"users\",\r\n initialState: initialUsersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getUserById\r\n userFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.userForEdit = action.payload.userForEdit;\r\n state.error = null;\r\n },\r\n // findUsers\r\n usersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createUser\r\n userCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.user);\r\n },\r\n // updateUser\r\n userUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.userId === action.payload.user.userId) {\r\n return action.payload.user;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteUser\r\n userDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.userId !== action.payload.userId);\r\n },\r\n // deleteUsers\r\n usersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.userId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialUserRolesState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n userRoleForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const userRolesSlice = createSlice({\r\n name: \"userRoles\",\r\n initialState: initialUserRolesState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getUserRoleById\r\n userRoleFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.userRoleForEdit = action.payload.userRoleForEdit;\r\n state.error = null;\r\n },\r\n // findUserRoles\r\n userRolesFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createUserRole\r\n userRoleCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.userRole);\r\n },\r\n // updateUserRole\r\n userRoleUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.userRoleId === action.payload.userRole.userRoleId) {\r\n return action.payload.userRole;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteUserRole\r\n userRoleDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.userRoleId !== action.payload.userRoleId);\r\n },\r\n // deleteUserRoles\r\n userRolesDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.userRoleId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialUserRoleRightsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n userRoleRightForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const userRoleRightsSlice = createSlice({\r\n name: \"userRoleRights\",\r\n initialState: initialUserRoleRightsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getUserRoleRightById\r\n userRoleRightFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.userRoleRightForEdit = action.payload.userRoleRightForEdit;\r\n state.error = null;\r\n },\r\n // findUserRoleRights\r\n userRoleRightsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createUserRoleRight\r\n userRoleRightCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.userRoleRight);\r\n },\r\n // updateUserRoleRight\r\n userRoleRightUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.userRoleRightId === action.payload.userRoleRight.userRoleRightId) {\r\n return action.payload.userRoleRight;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteUserRoleRight\r\n userRoleRightDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.userRoleRightId !== action.payload.userRoleRightId);\r\n },\r\n // deleteUserRoleRights\r\n userRoleRightsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.userRoleRightId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialScholarsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n scholarForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const scholarsSlice = createSlice({\r\n name: \"scholars\",\r\n initialState: initialScholarsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getScholarById\r\n scholarFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.scholarForEdit = action.payload.scholarForEdit;\r\n state.error = null;\r\n },\r\n // findScholars\r\n scholarsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createScholar\r\n scholarCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.scholar);\r\n },\r\n // updateScholar\r\n scholarUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.scholarId === action.payload.scholar.scholarId) {\r\n return action.payload.scholar;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteScholar\r\n scholarDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.scholarId !== action.payload.scholarId);\r\n },\r\n // deleteScholars\r\n scholarsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.scholarId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialGuidesState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n guideForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const guidesSlice = createSlice({\r\n name: \"guides\",\r\n initialState: initialGuidesState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getGuideById\r\n guideFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.guideForEdit = action.payload.guideForEdit;\r\n state.error = null;\r\n },\r\n // findGuides\r\n guidesFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createGuide\r\n guideCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.guide);\r\n },\r\n // updateGuide\r\n guideUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.guideId === action.payload.guide.guideId) {\r\n return action.payload.guide;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteGuide\r\n guideDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.guideId !== action.payload.guideId);\r\n },\r\n // deleteGuides\r\n guidesDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.guideId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialScholarConferencesState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n scholarConferenceForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const scholarConferencesSlice = createSlice({\r\n name: \"scholarConferences\",\r\n initialState: initialScholarConferencesState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getScholarConferenceById\r\n scholarConferenceFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.scholarConferenceForEdit = action.payload.scholarConferenceForEdit;\r\n state.error = null;\r\n },\r\n // findScholarConferences\r\n scholarConferencesFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createScholarConference\r\n scholarConferenceCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.scholarConference);\r\n },\r\n // updateScholarConference\r\n scholarConferenceUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.schConferenceId === action.payload.scholarConference.schConferenceId) {\r\n return action.payload.scholarConference;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteScholarConference\r\n scholarConferenceDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.schConferenceId !== action.payload.schConferenceId);\r\n },\r\n // deleteScholarConferences\r\n scholarConferencesDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.schConferenceId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialScholarCourseWorkInfosState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n scholarCourseWorkInfoForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const scholarCourseWorkInfosSlice = createSlice({\r\n name: \"scholarCourseWorkInfos\",\r\n initialState: initialScholarCourseWorkInfosState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getScholarCourseWorkInfoById\r\n scholarCourseWorkInfoFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.scholarCourseWorkInfoForEdit = action.payload.scholarCourseWorkInfoForEdit;\r\n state.error = null;\r\n },\r\n // findScholarCourseWorkInfos\r\n scholarCourseWorkInfosFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createScholarCourseWorkInfo\r\n scholarCourseWorkInfoCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.scholarCourseWorkInfo);\r\n },\r\n // updateScholarCourseWorkInfo\r\n scholarCourseWorkInfoUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.schCourseWorkInfoId === action.payload.scholarCourseWorkInfo.schCourseWorkInfoId) {\r\n return action.payload.scholarCourseWorkInfo;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteScholarCourseWorkInfo\r\n scholarCourseWorkInfoDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.schCourseWorkInfoId !== action.payload.schCourseWorkInfoId);\r\n },\r\n // deleteScholarCourseWorkInfos\r\n scholarCourseWorkInfosDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.schCourseWorkInfoId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialScholarDocumentsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n scholarDocumentForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const scholarDocumentsSlice = createSlice({\r\n name: \"scholarDocuments\",\r\n initialState: initialScholarDocumentsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getScholarDocumentById\r\n scholarDocumentFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.scholarDocumentForEdit = action.payload.scholarDocumentForEdit;\r\n state.error = null;\r\n },\r\n // findScholarDocuments\r\n scholarDocumentsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createScholarDocument\r\n scholarDocumentCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.schDocument);\r\n },\r\n // updateScholarDocument\r\n scholarDocumentUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.schDocumentId === action.payload.schDocument.schDocumentId) {\r\n return action.payload.schDocument;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteScholarDocument\r\n scholarDocumentDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.schDocumentId !== action.payload.schDocumentId);\r\n },\r\n // deleteScholarDocuments\r\n scholarDocumentsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.schDocumentId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialScholarThesisesState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n scholarThesisForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const scholarThesisesSlice = createSlice({\r\n name: \"scholarThesises\",\r\n initialState: initialScholarThesisesState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getScholarThesisById\r\n scholarThesisFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.scholarThesisForEdit = action.payload.scholarThesisForEdit;\r\n state.error = null;\r\n },\r\n // findScholarThesises\r\n scholarThesisesFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createScholarThesis\r\n scholarThesisCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.scholarThesis);\r\n },\r\n // updateScholarThesis\r\n scholarThesisUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.schThesisId === action.payload.scholarThesis.schThesisId) {\r\n return action.payload.scholarThesis;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteScholarThesis\r\n scholarThesisDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.schThesisId !== action.payload.schThesisId);\r\n },\r\n // deleteScholarThesises\r\n scholarThesisesDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.schThesisId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialScholarEducationsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n scholarEducationForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const scholarEducationsSlice = createSlice({\r\n name: \"scholarEducations\",\r\n initialState: initialScholarEducationsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getScholarEducationById\r\n scholarEducationFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.scholarEducationForEdit = action.payload.scholarEducationForEdit;\r\n state.error = null;\r\n },\r\n // findScholarEducations\r\n scholarEducationsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createScholarEducation\r\n scholarEducationCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.scholarEducation);\r\n },\r\n // updateScholarEducation\r\n scholarEducationUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.schEducationId === action.payload.scholarEducation.schEducationId) {\r\n return action.payload.scholarEducation;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteScholarEducation\r\n scholarEducationDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.schEducationId !== action.payload.schEducationId);\r\n },\r\n // deleteScholarEducations\r\n scholarEducationsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.schEducationId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialScholarJobInfosState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n scholarJobInfoForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const scholarJobInfosSlice = createSlice({\r\n name: \"scholarJobInfos\",\r\n initialState: initialScholarJobInfosState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getScholarJobInfoById\r\n scholarJobInfoFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.scholarJobInfoForEdit = action.payload.scholarJobInfoForEdit;\r\n state.error = null;\r\n },\r\n // findScholarJobInfos\r\n scholarJobInfosFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createScholarJobInfo\r\n scholarJobInfoCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.scholarJobInfo);\r\n },\r\n // updateScholarJobInfo\r\n scholarJobInfoUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.schJobInfoId === action.payload.scholarJobInfo.schJobInfoId) {\r\n return action.payload.scholarJobInfo;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteScholarJobInfo\r\n scholarJobInfoDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.schJobInfoId !== action.payload.schJobInfoId);\r\n },\r\n // deleteScholarJobInfos\r\n scholarJobInfosDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.schJobInfoId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialScholarPayReceiptsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n scholarPayReceiptForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const scholarPayReceiptsSlice = createSlice({\r\n name: \"scholarPayReceipts\",\r\n initialState: initialScholarPayReceiptsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getScholarPayReceiptById\r\n scholarPayReceiptFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.scholarPayReceiptForEdit = action.payload.scholarPayReceiptForEdit;\r\n state.error = null;\r\n },\r\n // findScholarPayReceipts\r\n scholarPayReceiptsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createScholarPayReceipt\r\n scholarPayReceiptCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.scholarPayReceipt);\r\n },\r\n // updateScholarPayReceipt\r\n scholarPayReceiptUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.schPayReceiptId === action.payload.scholarPayReceipt.schPayReceiptId) {\r\n return action.payload.scholarPayReceipt;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteScholarPayReceipt\r\n scholarPayReceiptDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.schPayReceiptId !== action.payload.schPayReceiptId);\r\n },\r\n // deleteScholarPayReceipts\r\n scholarPayReceiptsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.schPayReceiptId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialScholarPublicationsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n scholarPublicationForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const scholarPublicationsSlice = createSlice({\r\n name: \"scholarPublications\",\r\n initialState: initialScholarPublicationsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getScholarPublicationById\r\n scholarPublicationFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.scholarPublicationForEdit = action.payload.scholarPublicationForEdit;\r\n state.error = null;\r\n },\r\n // findScholarPublications\r\n scholarPublicationsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createScholarPublication\r\n scholarPublicationCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.scholarPublication);\r\n },\r\n // updateScholarPublication\r\n scholarPublicationUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.schPublicationId === action.payload.scholarPublication.schPublicationId) {\r\n return action.payload.scholarPublication;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteScholarPublication\r\n scholarPublicationDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.schPublicationId !== action.payload.schPublicationId);\r\n },\r\n // deleteScholarPublications\r\n scholarPublicationsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.schPublicationId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialScholarSynopsysesState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n scholarSynopsysForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const scholarSynopsysesSlice = createSlice({\r\n name: \"scholarSynopsyses\",\r\n initialState: initialScholarSynopsysesState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getScholarSynopsysById\r\n scholarSynopsysFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.scholarSynopsysForEdit = action.payload.scholarSynopsysForEdit;\r\n state.error = null;\r\n },\r\n // findScholarSynopsyses\r\n scholarSynopsysesFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createScholarSynopsys\r\n scholarSynopsysCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.scholarSynopsys);\r\n },\r\n // updateScholarSynopsys\r\n scholarSynopsysUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.schSynopsysId === action.payload.scholarSynopsys.schSynopsysId) {\r\n return action.payload.scholarSynopsys;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteScholarSynopsys\r\n scholarSynopsysDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.schSynopsysId !== action.payload.schSynopsysId);\r\n },\r\n // deleteScholarSynopsyses\r\n scholarSynopsysesDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.schSynopsysId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialGuideAwardsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n guideAwardForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const guideAwardsSlice = createSlice({\r\n name: \"guideAwards\",\r\n initialState: initialGuideAwardsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getGuideAwardById\r\n guideAwardFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.guideAwardForEdit = action.payload.guideAwardForEdit;\r\n state.error = null;\r\n },\r\n // findGuideAwards\r\n guideAwardsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createGuideAward\r\n guideAwardCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.guideAward);\r\n },\r\n // updateGuideAward\r\n guideAwardUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.guiAwardId === action.payload.guideAward.guiAwardId) {\r\n return action.payload.guideAward;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteGuideAward\r\n guideAwardDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.guiAwardId !== action.payload.guiAwardId);\r\n },\r\n // deleteGuideAwards\r\n guideAwardsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.guiAwardId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialGuideConfsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n guideConfForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const guideConfsSlice = createSlice({\r\n name: \"guideConfs\",\r\n initialState: initialGuideConfsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getGuideConfById\r\n guideConfFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.guideConfForEdit = action.payload.guideConfForEdit;\r\n state.error = null;\r\n },\r\n // findGuideConfs\r\n guideConfsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createGuideConf\r\n guideConfCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.guideConf);\r\n },\r\n // updateGuideConf\r\n guideConfUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.guiConfId === action.payload.guideConf.guiConfId) {\r\n return action.payload.guideConf;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteGuideConf\r\n guideConfDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.guiConfId !== action.payload.guiConfId);\r\n },\r\n // deleteGuideConfs\r\n guideConfsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.guiConfId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialGuideDocumentsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n guideDocumentForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const guideDocumentsSlice = createSlice({\r\n name: \"guideDocuments\",\r\n initialState: initialGuideDocumentsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getGuideDocumentById\r\n guideDocumentFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.guideDocumentForEdit = action.payload.guideDocumentForEdit;\r\n state.error = null;\r\n },\r\n // findGuideDocuments\r\n guideDocumentsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createGuideDocument\r\n guideDocumentCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.guideDocument);\r\n },\r\n // updateGuideDocument\r\n guideDocumentUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.guiDocumentId === action.payload.guideDocument.guiDocumentId) {\r\n return action.payload.guideDocument;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteGuideDocument\r\n guideDocumentDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.guiDocumentId !== action.payload.guiDocumentId);\r\n },\r\n // deleteGuideDocuments\r\n guideDocumentsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.guiDocumentId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialGuideEducationsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n guideEducationForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const guideEducationsSlice = createSlice({\r\n name: \"guideEducations\",\r\n initialState: initialGuideEducationsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getGuideEducationById\r\n guideEducationFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.guideEducationForEdit = action.payload.guideEducationForEdit;\r\n state.error = null;\r\n },\r\n // findGuideEducations\r\n guideEducationsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createGuideEducation\r\n guideEducationCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.guideEducation);\r\n },\r\n // updateGuideEducation\r\n guideEducationUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.guiEducationId === action.payload.guideEducation.guiEducationId) {\r\n return action.payload.guideEducation;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteGuideEducation\r\n guideEducationDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.guiEducationId !== action.payload.guiEducationId);\r\n },\r\n // deleteGuideEducations\r\n guideEducationsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.guiEducationId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialGuideJobInfosState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n guideJobInfoForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const guideJobInfosSlice = createSlice({\r\n name: \"guideJobInfos\",\r\n initialState: initialGuideJobInfosState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getGuideJobInfoById\r\n guideJobInfoFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.guideJobInfoForEdit = action.payload.guideJobInfoForEdit;\r\n state.error = null;\r\n },\r\n // findGuideJobInfos\r\n guideJobInfosFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createGuideJobInfo\r\n guideJobInfoCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.guideJobInfo);\r\n },\r\n // updateGuideJobInfo\r\n guideJobInfoUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.guiJobInfoId === action.payload.guideJobInfo.guiJobInfoId) {\r\n return action.payload.guideJobInfo;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteGuideJobInfo\r\n guideJobInfoDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.guiJobInfoId !== action.payload.guiJobInfoId);\r\n },\r\n // deleteGuideJobInfos\r\n guideJobInfosDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.guiJobInfoId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialGuidePatentsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n guidePatentForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const guidePatentsSlice = createSlice({\r\n name: \"guidePatents\",\r\n initialState: initialGuidePatentsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getGuidePatentById\r\n guidePatentFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.guidePatentForEdit = action.payload.guidePatentForEdit;\r\n state.error = null;\r\n },\r\n // findGuidePatents\r\n guidePatentsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createGuidePatent\r\n guidePatentCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.guidePatent);\r\n },\r\n // updateGuidePatent\r\n guidePatentUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.guiPatentId === action.payload.guidePatent.guiPatentId) {\r\n return action.payload.guidePatent;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteGuidePatent\r\n guidePatentDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.guiPatentId !== action.payload.guiPatentId);\r\n },\r\n // deleteGuidePatents\r\n guidePatentsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.guiPatentId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialGuidePublicationsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n guidePublicationForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const guidePublicationsSlice = createSlice({\r\n name: \"guidePublications\",\r\n initialState: initialGuidePublicationsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getGuidePublicationById\r\n guidePublicationFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.guidePublicationForEdit = action.payload.guidePublicationForEdit;\r\n state.error = null;\r\n },\r\n // findGuidePublications\r\n guidePublicationsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createGuidePublication\r\n guidePublicationCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.guidePublication);\r\n },\r\n // updateGuidePublication\r\n guidePublicationUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.guiPublicationId === action.payload.guidePublication.guiPublicationId) {\r\n return action.payload.guidePublication;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteGuidePublication\r\n guidePublicationDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.guiPublicationId !== action.payload.guiPublicationId);\r\n },\r\n // deleteGuidePublications\r\n guidePublicationsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.guiPublicationId)\r\n );\r\n },\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialGuideJjtuScholarsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n guideJjtuScholarForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\nexport const guideJjtuScholarsSlice = createSlice({\r\n name: \"guideJjtuScholars\",\r\n initialState: initialGuideJjtuScholarsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getGuideJjtuScholarById\r\n guideJjtuScholarFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.guideJjtuScholarForEdit = action.payload.guideJjtuScholarForEdit;\r\n state.error = null;\r\n },\r\n // findGuideJjtuScholars\r\n guideJjtuScholarsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createGuideJjtuScholar\r\n guideJjtuScholarCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.guideJjtuScholar);\r\n },\r\n // updateGuideJjtuScholar\r\n guideJjtuScholarUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.guiJjtuScholarId === action.payload.guideJjtuScholar.guiJjtuScholarId) {\r\n return action.payload.guideJjtuScholar;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteGuideJjtuScholar\r\n guideJjtuScholarDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.guiJjtuScholarId !== action.payload.guiJjtuScholarId);\r\n },\r\n // deleteGuideJjtuScholars\r\n guideJjtuScholarsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.guiJjtuScholarId)\r\n );\r\n },\r\n }\r\n});\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\n\r\nexport function DropdownMenu1() {\r\n return (<>\r\n {/*begin::Navigation*/}\r\n \r\n {/*end::Navigation*/}\r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\n\r\nexport function DropdownMenu2() {\r\n return <>\r\n {/*begin::Navigation*/}\r\n \r\n {/*end::Navigation*/}\r\n \r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\n\r\nexport function DropdownMenu4() {\r\n return <>\r\n {/*begin::Navigation*/}\r\n \r\n {/*end::Navigation*/}\r\n\r\n \r\n}\r\n","/* eslint-disable jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\n\r\nexport const DropdownCustomToggler = React.forwardRef((props, ref) => {\r\n return (\r\n {\r\n e.preventDefault();\r\n props.onClick(e);\r\n }}\r\n >\r\n {props.children}\r\n \r\n );\r\n});\r\n","import React from \"react\";\r\n\r\nexport const DropdownTopbarItemToggler = React.forwardRef((props, ref) => {\r\n return (\r\n {\r\n e.preventDefault();\r\n props.onClick(e);\r\n }}\r\n >\r\n {props.children}\r\n \r\n );\r\n});\r\n\r\nDropdownTopbarItemToggler.displayName = 'DropdownTopbarItemToggler';\r\n","// Dropdowns\r\nexport {DropdownMenu1} from \"./DropdownMenu1\";\r\nexport {DropdownMenu2} from \"./DropdownMenu2\";\r\nexport {DropdownMenu3} from \"./DropdownMenu3\";\r\nexport {DropdownMenu4} from \"./DropdownMenu4\";\r\n\r\nexport {DropdownCustomToggler} from \"./DropdownCustomToggler\";\r\nexport {DropdownTopbarItemToggler} from \"./DropdownTopbarItemToggler\";","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./util\";\r\n\r\n// Component Definition\r\nvar KTCard = function(elementId, options) {\r\n // Main object\r\n var the = this;\r\n var init = false;\r\n\r\n // Get element object\r\n var element = KTUtil.getById(elementId);\r\n var body = KTUtil.getBody();\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\r\n toggleSpeed: 400,\r\n sticky: {\r\n releseOnReverse: false,\r\n offset: 300,\r\n zIndex: 101\r\n }\r\n };\r\n\r\n ////////////////////////////\r\n // ** Private Methods ** //\r\n ////////////////////////////\r\n\r\n var Plugin = {\r\n /**\r\n * Construct\r\n */\r\n\r\n construct: function(options) {\r\n if (KTUtil.data(element).has('card')) {\r\n the = KTUtil.data(element).get('card');\r\n } else {\r\n // reset menu\r\n Plugin.init(options);\r\n\r\n // build menu\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('card', the);\r\n }\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Init card\r\n */\r\n init: function(options) {\r\n the.element = element;\r\n the.events = [];\r\n\r\n // merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n the.header = KTUtil.child(element, '.card-header');\r\n the.footer = KTUtil.child(element, '.card-footer');\r\n\r\n if (KTUtil.child(element, '.card-body')) {\r\n the.body = KTUtil.child(element, '.card-body');\r\n } else if (KTUtil.child(element, '.form')) {\r\n the.body = KTUtil.child(element, '.form');\r\n }\r\n },\r\n\r\n /**\r\n * Build Form Wizard\r\n */\r\n build: function() {\r\n // Remove\r\n var remove = KTUtil.find(the.header, '[data-card-tool=remove]');\r\n if (remove) {\r\n KTUtil.addEvent(remove, 'click', function(e) {\r\n e.preventDefault();\r\n Plugin.remove();\r\n });\r\n }\r\n\r\n // Reload\r\n var reload = KTUtil.find(the.header, '[data-card-tool=reload]');\r\n if (reload) {\r\n KTUtil.addEvent(reload, 'click', function(e) {\r\n e.preventDefault();\r\n Plugin.reload();\r\n });\r\n }\r\n\r\n // Toggle\r\n var toggle = KTUtil.find(the.header, '[data-card-tool=toggle]');\r\n if (toggle) {\r\n KTUtil.addEvent(toggle, 'click', function(e) {\r\n e.preventDefault();\r\n Plugin.toggle();\r\n });\r\n }\r\n },\r\n\r\n /**\r\n * Enable stickt mode\r\n */\r\n initSticky: function() {\r\n var lastScrollTop = 0;\r\n var offset = the.options.sticky.offset;\r\n\r\n if (!the.header) {\r\n return;\r\n }\r\n\r\n\t window.addEventListener('scroll', Plugin.onScrollSticky);\r\n },\r\n\r\n\t /**\r\n\t * Window scroll handle event for sticky card\r\n\t */\r\n\t onScrollSticky: function(e) {\r\n\t\t var offset = the.options.sticky.offset;\r\n\r\n\t\t if(isNaN(offset)) return;\r\n\r\n\t\t var st = KTUtil.getScrollTop();\r\n\r\n\t\t if (st >= offset && KTUtil.hasClass(body, 'card-sticky-on') === false) {\r\n\t\t\t Plugin.eventTrigger('stickyOn');\r\n\r\n\t\t\t KTUtil.addClass(body, 'card-sticky-on');\r\n\r\n\t\t\t Plugin.updateSticky();\r\n\r\n\t\t } else if ((st*1.5) <= offset && KTUtil.hasClass(body, 'card-sticky-on')) {\r\n\t\t\t // Back scroll mode\r\n\t\t\t Plugin.eventTrigger('stickyOff');\r\n\r\n\t\t\t KTUtil.removeClass(body, 'card-sticky-on');\r\n\r\n\t\t\t Plugin.resetSticky();\r\n\t\t }\r\n\t },\r\n\r\n updateSticky: function() {\r\n if (!the.header) {\r\n return;\r\n }\r\n\r\n var top;\r\n\r\n if (KTUtil.hasClass(body, 'card-sticky-on')) {\r\n if (the.options.sticky.position.top instanceof Function) {\r\n top = parseInt(the.options.sticky.position.top.call(this, the));\r\n } else {\r\n top = parseInt(the.options.sticky.position.top);\r\n }\r\n\r\n var left;\r\n if (the.options.sticky.position.left instanceof Function) {\r\n left = parseInt(the.options.sticky.position.left.call(this, the));\r\n } else {\r\n left = parseInt(the.options.sticky.position.left);\r\n }\r\n\r\n var right;\r\n if (the.options.sticky.position.right instanceof Function) {\r\n right = parseInt(the.options.sticky.position.right.call(this, the));\r\n } else {\r\n right = parseInt(the.options.sticky.position.right);\r\n }\r\n\r\n KTUtil.css(the.header, 'z-index', the.options.sticky.zIndex);\r\n KTUtil.css(the.header, 'top', top + 'px');\r\n KTUtil.css(the.header, 'left', left + 'px');\r\n KTUtil.css(the.header, 'right', right + 'px');\r\n }\r\n },\r\n\r\n resetSticky: function() {\r\n if (!the.header) {\r\n return;\r\n }\r\n\r\n if (KTUtil.hasClass(body, 'card-sticky-on') === false) {\r\n KTUtil.css(the.header, 'z-index', '');\r\n KTUtil.css(the.header, 'top', '');\r\n KTUtil.css(the.header, 'left', '');\r\n KTUtil.css(the.header, 'right', '');\r\n }\r\n },\r\n\r\n /**\r\n * Remove card\r\n */\r\n remove: function() {\r\n if (Plugin.eventTrigger('beforeRemove') === false) {\r\n return;\r\n }\r\n\r\n KTUtil.remove(element);\r\n\r\n Plugin.eventTrigger('afterRemove');\r\n },\r\n\r\n /**\r\n * Set content\r\n */\r\n setContent: function(html) {\r\n if (html) {\r\n the.body.innerHTML = html;\r\n }\r\n },\r\n\r\n /**\r\n * Get body\r\n */\r\n getBody: function() {\r\n return the.body;\r\n },\r\n\r\n /**\r\n * Get self\r\n */\r\n getSelf: function() {\r\n return element;\r\n },\r\n\r\n /**\r\n * Reload\r\n */\r\n reload: function() {\r\n Plugin.eventTrigger('reload');\r\n },\r\n\r\n /**\r\n * Toggle\r\n */\r\n toggle: function() {\r\n if (KTUtil.hasClass(element, 'card-collapse') || KTUtil.hasClass(element, 'card-collapsed')) {\r\n Plugin.expand();\r\n } else {\r\n Plugin.collapse();\r\n }\r\n },\r\n\r\n /**\r\n * Collapse\r\n */\r\n collapse: function() {\r\n if (Plugin.eventTrigger('beforeCollapse') === false) {\r\n return;\r\n }\r\n\r\n KTUtil.slideUp(the.body, the.options.toggleSpeed, function() {\r\n Plugin.eventTrigger('afterCollapse');\r\n });\r\n\r\n KTUtil.addClass(element, 'card-collapse');\r\n },\r\n\r\n /**\r\n * Expand\r\n */\r\n expand: function() {\r\n if (Plugin.eventTrigger('beforeExpand') === false) {\r\n return;\r\n }\r\n\r\n KTUtil.slideDown(the.body, the.options.toggleSpeed, function() {\r\n Plugin.eventTrigger('afterExpand');\r\n });\r\n\r\n KTUtil.removeClass(element, 'card-collapse');\r\n KTUtil.removeClass(element, 'card-collapsed');\r\n },\r\n\r\n /**\r\n * Trigger events\r\n */\r\n eventTrigger: function(name) {\r\n //KTUtil.triggerCustomEvent(name);\r\n for (var i = 0; i < the.events.length; i++) {\r\n var event = the.events[i];\r\n if (event.name == name) {\r\n if (event.one == true) {\r\n if (event.fired == false) {\r\n the.events[i].fired = true;\r\n return event.handler.call(this, the);\r\n }\r\n } else {\r\n return event.handler.call(this, the);\r\n }\r\n }\r\n }\r\n },\r\n\r\n addEvent: function(name, handler, one) {\r\n the.events.push({\r\n name: name,\r\n handler: handler,\r\n one: one,\r\n fired: false\r\n });\r\n\r\n return the;\r\n }\r\n };\r\n\r\n //////////////////////////\r\n // ** Public Methods ** //\r\n //////////////////////////\r\n\r\n /**\r\n * Set default options\r\n */\r\n\r\n the.setDefaults = function(options) {\r\n defaultOptions = options;\r\n };\r\n\r\n /**\r\n * Remove card\r\n */\r\n the.remove = function() {\r\n return Plugin.remove(html);\r\n };\r\n\r\n /**\r\n * Init sticky card\r\n */\r\n the.initSticky = function() {\r\n return Plugin.initSticky();\r\n };\r\n\r\n /**\r\n * Rerender sticky layout\r\n */\r\n the.updateSticky = function() {\r\n return Plugin.updateSticky();\r\n };\r\n\r\n /**\r\n * Reset the sticky\r\n */\r\n the.resetSticky = function() {\r\n return Plugin.resetSticky();\r\n };\r\n\r\n\t/**\r\n\t * Destroy sticky card\r\n\t */\r\n\tthe.destroySticky = function() {\r\n\t\tPlugin.resetSticky();\r\n\t\twindow.removeEventListener('scroll', Plugin.onScrollSticky);\r\n\t};\r\n\r\n /**\r\n * Reload card\r\n */\r\n the.reload = function() {\r\n return Plugin.reload();\r\n };\r\n\r\n /**\r\n * Set card content\r\n */\r\n the.setContent = function(html) {\r\n return Plugin.setContent(html);\r\n };\r\n\r\n /**\r\n * Toggle card\r\n */\r\n the.toggle = function() {\r\n return Plugin.toggle();\r\n };\r\n\r\n /**\r\n * Collapse card\r\n */\r\n the.collapse = function() {\r\n return Plugin.collapse();\r\n };\r\n\r\n /**\r\n * Expand card\r\n */\r\n the.expand = function() {\r\n return Plugin.expand();\r\n };\r\n\r\n /**\r\n * Get cardbody\r\n * @returns {jQuery}\r\n */\r\n the.getBody = function() {\r\n return Plugin.getBody();\r\n };\r\n\r\n /**\r\n * Get cardbody\r\n * @returns {jQuery}\r\n */\r\n the.getSelf = function() {\r\n return Plugin.getSelf();\r\n };\r\n\r\n /**\r\n * Attach event\r\n */\r\n the.on = function(name, handler) {\r\n return Plugin.addEvent(name, handler);\r\n };\r\n\r\n /**\r\n * Attach event that will be fired once\r\n */\r\n the.one = function(name, handler) {\r\n return Plugin.addEvent(name, handler, true);\r\n };\r\n\r\n // Construct plugin\r\n Plugin.construct.apply(the, [options]);\r\n\r\n return the;\r\n};\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n // module.exports = KTCard;\r\n}\r\n\r\nexport default KTCard;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./util\";\r\n\r\n// Component Definition\r\nvar KTScrolltop = function(elementId, options) {\r\n // Main object\r\n var the = this;\r\n var init = false;\r\n\r\n // Get element object\r\n var element = KTUtil.getById(elementId);\r\n var body = KTUtil.getBody();\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\r\n offset: 300,\r\n speed: 6000\r\n };\r\n\r\n ////////////////////////////\r\n // ** Private Methods ** //\r\n ////////////////////////////\r\n\r\n var Plugin = {\r\n /**\r\n * Run plugin\r\n * @returns {mscrolltop}\r\n */\r\n construct: function(options) {\r\n if (KTUtil.data(element).has('scrolltop')) {\r\n the = KTUtil.data(element).get('scrolltop');\r\n } else {\r\n // reset scrolltop\r\n Plugin.init(options);\r\n\r\n // build scrolltop\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('scrolltop', the);\r\n }\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Handles subscrolltop click toggle\r\n * @returns {mscrolltop}\r\n */\r\n init: function(options) {\r\n the.events = [];\r\n\r\n // merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n },\r\n\r\n build: function() {\r\n var timer;\r\n\r\n window.addEventListener('scroll', function() {\r\n KTUtil.throttle(timer, function() {\r\n Plugin.handle();\r\n }, 200);\r\n });\r\n\r\n // handle button click\r\n KTUtil.addEvent(element, 'click', Plugin.scroll);\r\n },\r\n\r\n /**\r\n * Handles scrolltop click scrollTop\r\n */\r\n handle: function() {\r\n var pos = KTUtil.getScrollTop(); // current vertical position\r\n\r\n if (pos > the.options.offset) {\r\n if (body.hasAttribute('data-scrolltop') === false) {\r\n body.setAttribute('data-scrolltop', 'on');\r\n }\r\n } else {\r\n if (body.hasAttribute('data-scrolltop') === true) {\r\n body.removeAttribute('data-scrolltop');\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Handles scrolltop click scrollTop\r\n */\r\n scroll: function(e) {\r\n e.preventDefault();\r\n\r\n KTUtil.scrollTop(0, the.options.speed);\r\n },\r\n\r\n\r\n /**\r\n * Trigger events\r\n */\r\n eventTrigger: function(name, args) {\r\n for (var i = 0; i < the.events.length; i++) {\r\n var event = the.events[i];\r\n if (event.name == name) {\r\n if (event.one == true) {\r\n if (event.fired == false) {\r\n the.events[i].fired = true;\r\n return event.handler.call(this, the, args);\r\n }\r\n } else {\r\n return event.handler.call(this, the, args);\r\n }\r\n }\r\n }\r\n },\r\n\r\n addEvent: function(name, handler, one) {\r\n the.events.push({\r\n name: name,\r\n handler: handler,\r\n one: one,\r\n fired: false\r\n });\r\n }\r\n };\r\n\r\n //////////////////////////\r\n // ** Public Methods ** //\r\n //////////////////////////\r\n\r\n /**\r\n * Set default options\r\n */\r\n\r\n the.setDefaults = function(options) {\r\n defaultOptions = options;\r\n };\r\n\r\n /**\r\n * Get subscrolltop mode\r\n */\r\n the.on = function(name, handler) {\r\n return Plugin.addEvent(name, handler);\r\n };\r\n\r\n /**\r\n * Set scrolltop content\r\n * @returns {mscrolltop}\r\n */\r\n the.one = function(name, handler) {\r\n return Plugin.addEvent(name, handler, true);\r\n };\r\n\r\n ///////////////////////////////\r\n // ** Plugin Construction ** //\r\n ///////////////////////////////\r\n\r\n // Run plugin\r\n Plugin.construct.apply(the, [options]);\r\n\r\n // Init done\r\n init = true;\r\n\r\n // Return plugin instance\r\n return the;\r\n};\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n // module.exports = KTScrolltop;\r\n}\r\n\r\nexport default KTScrolltop;"],"sourceRoot":""}