{"version":3,"sources":["app/store/actions/types.js","_metronic/ducks/i18n.js","app/crud/auth.crud.js","app/router/RouterHelpers.js","app/store/ducks/auth.duck.js","_metronic/utils/utils.js","_metronic/layout/LayoutConfig.js","_metronic/layout/MenuConfig.js","_metronic/ducks/builder.js","_metronic/layout/LayoutContext.js","app/crud/config.crud.js","_metronic/layout/LayoutInitializer.js","_metronic/i18n/I18nProvider.js","_metronic/materialUIThemeProvider/ThemeProvider.js","_metronic/index.js","app/store/reduxStore.js","app/store/sagas/config.js","app/store/sagas/globalConfig.js","app/crud/runtime.crud.js","app/store/sagas/runtime.js","app/crud/powerbi.crud.js","app/store/sagas/reports.js","app/crud/subcriptions.crud.js","app/store/sagas/subscriptions.js","app/crud/tenant.crud.js","app/store/sagas/tenant.js","app/crud/tenantIndustry.crud.js","app/store/sagas/tenantIndustry.js","app/crud/organisation.crud.js","app/store/sagas/organisation.js","app/crud/tenantconfiguration.crud.js","app/store/sagas/tenantconfiguration.js","app/crud/role.crud.js","app/store/sagas/roles.js","app/store/sagas/workspace.js","app/crud/permission.curd.js","app/store/sagas/permission.js","app/crud/powerBICapacityManagement.crud.js","app/store/sagas/powerBICapacityManagement.js","app/crud/companyPolicy.crud.js","app/store/sagas/companyPolicy.js","app/crud/fileOperations.crud.js","app/store/sagas/fileOperations.js","app/store/actions/configureWorkspacesAction.js","app/crud/configureWorkspaces.curd.js","app/store/sagas/configureWorkspaces.js","app/crud/manageUser.curd.js","app/store/sagas/manageUser.js","app/crud/managereport.crud.js","app/store/sagas/managereport.js","app/crud/modules.crud.js","app/store/sagas/modules.js","app/crud/cefit.curd.js","app/store/sagas/cefit.js","app/store/reducers/configReducer.js","app/store/reducers/globalConfigReducer.js","app/store/reducers/runtimeReducer.js","app/store/reducers/reportsReducer.js","app/store/reducers/subscriptionsReducer.js","app/store/reducers/tenantReducer.js","app/store/reducers/tenantIndustryReducer.js","app/store/reducers/tenantIndustryLevelsReducer.js","app/store/reducers/levelsTypeReducer.js","app/store/reducers/organisationReducer.js","app/store/reducers/tenantconfigurationReducer.js","app/store/reducers/roleReducer.js","app/store/reducers/workspaceReducer.js","app/store/reducers/permissionRaducer.js","app/store/reducers/companyPolicyReducer.js","app/store/reducers/fileOperationReducer.js","app/store/reducers/configureWorkspacesRaducer.js","app/store/reducers/manageUserReducer.js","app/store/reducers/manageReportReducer.js","app/store/reducers/modulesReducer.js","app/store/reducers/cefitReducer.js","app/store/reducers/powerBICapacityManagementReducer.js","app/store/rootDuck.js","app/store/store.js","app/partials/content/Notice.js","app/pages/home/Builder.js","app/pages/home/Dashboard.js","app/partials/layout/Pagination.js","app/pages/home/runtime/package/PackageItems.js","app/pages/home/runtime/package/PackageList.js","app/pages/home/runtime/package/index.js","app/store/actions/runtimeAction.js","app/pages/home/runtime/auditTrail/AuditTrailItems.js","app/pages/home/runtime/auditTrail/AuditTrailList.js","app/pages/home/runtime/auditTrail/index.js","app/pages/home/runtime/tableData/TableDataList.js","app/pages/home/runtime/tableData/index.js","app/pages/home/runtime/index.js","app/store/actions/reportsAction.js","app/pages/home/reports/globalDashboard/index.js","app/pages/home/reports/eligibility/index.js","app/pages/home/reports/chronicConditions/index.js","app/pages/home/reports/jbs-quarterly-reports/index.js","app/pages/home/reports/jbs-utilization-indicators/index.js","app/pages/home/reports/jbs-claims/index.js","app/pages/home/reports/jbs-claims-lag/index.js","app/pages/home/reports/poc-utilization/index.js","app/pages/home/reports/poc-demographics/index.js","app/pages/home/reports/ReportsPages.js","app/pages/home/reports/index.js","app/pages/tenants/TenantInitializer.js","app/pages/tenants/tenant-item/TenantItem.js","app/pages/tenants/TenantsPage.js","app/pages/tenants/TenantBase.js","app/pages/tenants/index.js","app/pages/tenants/tenant-edit/edit-pages/FormValidations.js","app/pages/tenants/tenant-edit/edit-pages/BasicCustomerInForm.js","app/pages/tenants/tenant-edit/edit-pages/BasicCustomerInformation.js","app/pages/tenants/tenant-edit/configure-workspaces/ConfigureWorkspacesItem.js","app/pages/tenants/tenant-edit/configure-workspaces/ConfigureWorkspacesPage.js","app/pages/tenants/tenant-edit/configure-workspaces/ConfigureWorkspacesBase.js","app/pages/tenants/tenant-edit/configure-workspaces/index.js","app/pages/tenants/tenant-edit/EditTenantPage.js","app/pages/tenants/tenant-edit/EditTenantBase.js","app/pages/tenants/tenant-edit/tenantMenu/tenantMenu.js","app/pages/tenants/tenant-edit/index.js","app/pages/home/admin/AcceptPolicy.js","app/partials/content/Content.js","app/partials/content/ContentRoute.js","app/pages/cefit/CefitUiContext.js","app/pages/cefit/cefit-loading-dialog/CefitLoadingDialog.js","app/pages/cefit/cefits-table/cefit-item/CefitItem.js","app/pages/cefit/cefits-table/CefitsTable.js","app/pages/cefit/CefitCard.js","app/pages/cefit/CefitPages.js","app/pages/cefit/CefitRouter.js","app/pages/home/HomePage.js","app/pages/errors/ErrorPage1.js","app/pages/errors/ErrorPage2.js","app/pages/errors/ErrorPage3.js","app/pages/errors/ErrorPage4.js","app/pages/errors/ErrorPage5.js","app/pages/errors/ErrorPage6.js","app/pages/errors/ErrorsPage.js","app/pages/auth/Logout.js","app/partials/layout/SearchResult.js","app/partials/content/CustomDropdowns/HeaderDropdownToggle.js","_metronic/layout/assets/layout-svg-icons/Search.svg","_metronic/layout/assets/layout-svg-icons/Compiling.svg","app/partials/layout/SearchDropdown.js","_metronic/layout/assets/layout-svg-icons/Layout-4-blocks.svg","app/partials/layout/UserNotifications.js","_metronic/layout/header/QuickPanelToggle.js","app/pages/auth/authProvider.js","app/partials/layout/AzureLogOut.js","app/partials/layout/UserProfile.js","_metronic/layout/header/Topbar.js","_metronic/layout/header/HMenu/HMenuItemInner.js","_metronic/layout/header/HMenu/HMenuColumn.js","_metronic/layout/header/HMenu/HMenuItem.js","_metronic/layout/header/HMenu/HMenu.js","app/partials/layout/AnimateLoading.js","_metronic/layout/header/Header.js","_metronic/layout/sub-header/components/BreadCrumbs.js","_metronic/layout/sub-header/SubHeader.js","_metronic/layout/header/HeaderMobile.js","_metronic/layout/brand/Brand.js","_metronic/layout/headerSearch/HeaderSearch.js","_metronic/layout/aside/MenuSection.js","_metronic/layout/aside/MenuItemSeparator.js","_metronic/layout/aside/MenuItemText.js","_metronic/layout/aside/MenuSubmenu.js","_metronic/layout/aside/MenuItem.js","_metronic/layout/aside/MenuList.js","_metronic/layout/aside/Menu.js","_metronic/layout/aside/AsideLeft.js","app/partials/layout/ScrollTop.js","_metronic/layout/HTMLClassService.js","app/partials/layout/QuickPanel.js","_metronic/layout/KtContent.js","app/store/actions/modulesAction.js","_metronic/layout/Layout.js","_metronic/layout/cefit/CefitLayoutInitializer.js","_metronic/layout/cefit/CefitMenuConfig.js","_metronic/layout/cefit/CefitLayout.js","app/pages/auth/AzureLogin.js","app/pages/auth/Login.js","app/pages/auth/Registration.js","app/pages/auth/ForgotPassword.js","app/pages/auth/UserConfirmation.js","app/pages/auth/signUp.js","app/pages/auth/ResetPassword.js","app/pages/auth/AuthPage.js","app/router/Routes.js","App.js","index.js","app/pages/cefit/CefitUiHelpers.js","_metronic/_assets/js/util.js","app/crud/LayoutUtilsService.js","app/store/actions/subscriptionsAction.js","app/pages/tenants/TenantEditHead.js","_metronic/layout/assets/layout-svg-icons/Angle-double-left.svg","_metronic/layout/assets/layout-svg-icons/Angle-double-right.svg","_metronic/_assets/js/offcanvas.js","app/store/actions/globalConfigAction.js","app/partials/content/Portlet.js","_metronic/_assets/js/toggle.js","app/crud/globalConfig.crud.js","app/store/actions/permissionAction.js","app/crud/SortGrid.js","app/store/actions/powerBICapacityManagementAction.js","_metronic/_assets/js/menu.js","app/store/actions/tenantConfigurationAction.js","app/store/actions/tenantAction.js","app/pages/home/admin/role/RoleInitializer.js","app/pages/home/admin/role/Role-add/RoleAdd.js","app/pages/home/admin/role/Role-list/RoleList.js","app/pages/home/admin/role/RoleBase.js","app/pages/home/admin/role/index.js","app/pages/home/admin/company-policy/CompanyPolicyItem.js","app/pages/home/admin/company-policy/CompanyPolicyList.js","app/pages/home/admin/company-policy/CompanyPolicyBase.js","app/pages/home/admin/company-policy/index.js","app/pages/tenants/tenant-edit/organisation/OrganisationAdd.js","app/pages/tenants/tenant-edit/organisation/ChildOrganisationList.js","app/pages/tenants/tenant-edit/organisation/OrganisationItem.js","app/pages/tenants/tenant-edit/organisation/OrganisationList.js","app/pages/tenants/tenant-edit/organisation/model/ImportHirarchy.js","app/pages/tenants/tenant-edit/organisation/model/index.js","app/pages/tenants/tenant-edit/organisation/index.js","app/pages/home/admin/company-policy/TextEditor.js","app/pages/home/admin/company-policy/CompanyPolicyEdit.js","app/store/actions/fileOperationsAction.js","app/pages/tenants/tenant-edit/fileOperations/index.js","app/pages/cefit/cefits-edit/CefitsEdit.js","app/pages/cefit/cefits-edit/custom-add-col/custom-table/CustomTableItem.js","app/pages/cefit/cefits-edit/custom-add-col/custom-table/CustomTable.js","app/pages/cefit/cefits-edit/custom-add-col/CustomAddCol.js","app/pages/home/admin/users/ManageUserAdd.js","app/pages/home/admin/users/ManageUserList.js","app/pages/home/admin/users/ManageUserBase.js","app/pages/home/admin/users/index.js","app/store/actions/configAction.js","app/store/actions/manageUserAction.js","app/store/actions/cefitAction.js","app/crud/Toast.js","app/partials/controls/forms/FieldFeedbackLabel.js","app/partials/controls/forms/InputGroup.js","app/partials/controls/forms/Input.js","app/partials/controls/forms/Select.js","app/partials/controls/Card.js","app/partials/controls/AnimateLoading.js","app/_helpers/AssetsHelpers.js","app/partials/controls/Notice.js","app/partials/controls/LoadingDialog.js","app/partials/controls/index.js","app/store/actions/organisationAction.js","app/pages/cefit/cefits-edit/CefitsEditForm.js","_metronic/_assets/js/header.js","_metronic/_assets/js/scrolltop.js","app/store/actions/roleAction.js","app/store/actions/companyPolicyAction.js","app/pages/tenants/tenant-edit/organisation/model/types.js","app/store/actions/tenantIndustryAction.js"],"names":["FETCH_CONFIG","CREATE_CONFIG_REQUEST","FETCH_CONFIG_SUCCESS","FETCH_CONFIG_FAILURE","DELETE_CONFIG_REQUEST","UPDATE_CONFIG_REQUEST","CONFIG_ERROR","UPDATE_CONFIG_SUCCESS","ADD_CONFIG_SUCCESS","DELETE_CONFIG_SUCCESS","FETCH_FILE_OPERATIONS","FETCH_FILE_OPERATIONS_SUCCESS","CREATE_FILE_OPERATIONS_REQUEST","CREATE_FILE_OPERATIONS_SUCCESS","UPDATE_FILE_OPERATIONS_REQUEST","UPDATE_FILE_OPERATIONS_SUCCESS","DELETE_FILE_OPERATIONS_REQUEST","DELETE_FILE_OPERATIONS_SUCCESS","FETCH_AUTO_CLEANSING","FETCH_AUTO_CLEANSING_SUCCESS","FETCH_BASED_CLEANSING_SUCCESS","FETCH_BASED_CLEANSING","FETCH_CUSTOMERS","FETCH_CUSTOMERS_SUCCESS","FETCH_STAGE","FETCH_STAGE_SUCCESS","FETCH_RUNTIME","FETCH_RUNTIME_SUCCESS","FETCH_RUNTIME_FILTER","FETCH_RUNTIME_FILTER_SUCCESS","FETCH_AUDIT","FETCH_AUDIT_FILTER","FETCH_AUDIT_FILTER_SUCCESS","FETCH_AUDIT_SUCCESS","FETCH_TABLEDATA","FETCH_TABLEDATA_SUCCESS","UPDATE_TABLEDATA_REQUEST","UPDATE_TABLEDATA_SUCCESS","FETCH_REPORTS","FETCH_REPORTS_SUCCESS","EXPORT_REPORT","EXPORT_REPORT_SUCCESS","RESET_REPORT_FILE","FETCH_GLOBAL_CONFIG","FETCH_GLOBAL_CONFIG_SUCCESS","FETCH_ALL_GLOBAL_CONFIG","UPDATE_GLOBAL_CONFIG_REQUEST","UPDATE_GLOBAL_CONFIG_SUCCESS","ADD_GLOBAL_CONFIG_REQUEST","ADD_GLOBAL_CONFIG_SUCCESS","DELETE_GLOBAL_CONFIG_REQUEST","DELETE_GLOBAL_CONFIG_SUCCESS","GLOBAL_CONFIG_ERROR","GET_ALL_POWERBI_CAPACITY_MANAGEMENT","GET_ALL_POWERBI_CAPACITY_MANAGEMENT_SUCCESS","GET_ALL_CAPACITIES","GET_ALL_CAPACITIES_SUCCESS","UPDATE_POWERBI_CAPACITY_MANAGEMENT","UPDATE_POWERBI_CAPACITY_MANAGEMENT_SUCCESS","POWERBI_CAPACITY_MANAGEMENT_ERROR","POWERBI_CAPACITY_MANAGEMENT_RESET","FETCH_ACTIVE_SUBSCRIPTIONS","FETCH_ACTIVE_SUBSCRIPTIONS_SUCCESS","FETCH_ALL_SUBSCRIPTIONS","FETCH_ALL_SUBSCRIPTIONS_SUCCESS","UPDATE_SUBSCRIPTIONS_REQUEST","UPDATE_SUBSCRIPTIONS_SUCCESS","ADD_SUBSCRIPTIONS_REQUEST","ADD_SUBSCRIPTIONS_SUCCESS","DELETE_SUBSCRIPTIONS_REQUEST","DELETE_SUBSCRIPTIONS_SUCCESS","SUBSCRIPTIONS_ERROR","FETCH_TENANT","FETCH_TENANT_SUCCESS","FETCH_TENANT_BY_ID","FETCH_TENANT_BY_ID_SUCCESS","UPDATE_TENANT_REQUEST","UPDATE_TENANT_SUCCESS","ADD_TENANT_REQUEST","ADD_TENANT_SUCCESS","DELETE_TENANT_REQUEST","DELETE_TENANT_SUCCESS","FATCH_COUNTRY","FATCH_COUNTRY_SUCCESS","FATCH_STATE","FATCH_STATE_SUCCESS","TENANT_ACTIVE_STEP_SET","RUN_E2E_REQUEST","RUN_E2E_SUCCESS","RUN_ADD_NEW_USERS_TO_REPORTS_REQUEST","RUN_ADD_NEW_USERS_TO_REPORTS_SUCCESS","GET_ALL_TENANTINDUSTRIES","GET_ALL_TENANTINDUSTRIES_SUCCESS","GET_ACTIVE_TENANTINDUSTRIES","GET_ACTIVE_TENANTINDUSTRIES_SUCCESS","UPDATE_TENANTINDUSTRY_REQUEST","UPDATE_TENANTINDUSTRY_SUCCESS","ADD_TENANTINDUSTRY_REQUEST","ADD_TENANTINDUSTRY_SUCCESS","DELETE_TENANTINDUSTRY_REQUEST","DELETE_TENANTINDUSTRY_SUCCESS","TENANTINDUSTRY_ERROR","FETCH_TENANTINDUSTRY_LEVELS","FETCH_TENANTINDUSTRY_LEVELS_SUCCESS","FETCH_TENANTINDUSTRY_BYID_LEVELS","UPDATE_TENANTINDUSTRY_LEVELS_REQUEST","UPDATE_TENANTINDUSTRY_LEVELS_SUCCESS","ADD_TENANTINDUSTRY_LEVELS_REQUEST","ADD_TENANTINDUSTRY_LEVELS_SUCCESS","DELETE_TENANTINDUSTRY_LEVELS_REQUEST","DELETE_TENANTINDUSTRY_LEVELS_SUCCESS","FETCH_LEVELS_TYPE","FETCH_LEVELS_TYPE_SUCCESS","UPDATE_LEVELS_TYPE_REQUEST","UPDATE_LEVELS_TYPE_SUCCESS","ADD_LEVELS_TYPE_REQUEST","ADD_LEVELS_TYPE_SUCCESS","DELETE_LEVELS_TYPE_REQUEST","DELETE_LEVELS_TYPE_SUCCESS","FETCH_ALL_TenantConfig","FETCH_TenantConfig_SUCCESS","UPDATE_TenantConfig","UPDATE_TenantConfig_success","TenantConfig_Error","FETCH_ORGANISATION","FETCH_ORGANISATION_SUCCESS","UPDATE_ORGANISATION_REQUEST","UPDATE_ORGANISATION_SUCCESS","ADD_ORGANISATION_REQUEST","ADD_ORGANISATION_SUCCESS","DELETE_ORGANIZATION_REQUEST","DELETE_ORGANIZATION_SUCCESS","ORGANISATION_importHierarchyFile_REQUEST","ORGANISATION_importHierarchyFile_SUCCESS","ORGANISATION_Error","FETCH_ALL_Role","FETCH_Role_SUCCESS","FETCH_ALL_Role_tenant","FETCH_Role_Tenant_SUCCESS","ADD_Role_REQUEST","ADD_Role_SUCCESS","ADD_Role_create_REQUEST","ADD_Role_create_SUCCESS","UPDATE_Role_REQUEST","UPDATE_Role_SUCCESS","DELETE_Role_Request","DELETE_Role_SUCCESS","FETCH_Role_BY_ID_REQUEST","FETCH_Role_BY_ID_SUCCESS","FETCH_Role_BY_tenantID_REQUEST","FETCH_Role_BY_tenantID_SUCCESS","Role_Error","FETCH_WORKSPACE","FETCH_WORKSPACE_SUCCESS","FETCH_PERMISSION","FETCH_PERMISSION_SUCCESS","SAVE_PERMISSION","SAVE_PERMISSION_SUCCESS","ADD_PERMISSION","ADD_PERMISSION_SUCCESS","PERMISSION_ERROR","FETCH_COMPANYPOLICY","FETCH_COMPANYPOLICY_SUCCESS","FETCH_COMPANYPOLICY_TENANT","FETCH_COMPANYPOLICY_TENANT_SUCCESS","SAVE_COMPANYPOLICY","SAVE_COMPANYPOLICY_SUCCESS","ADD_COMPANYPOLICY","ADD_COMPANYPOLICY_SUCCESS","CREATE_COMPANYPOLICY","CREATE_COMPANYPOLICY_SUCCESS","COMPANYPOLICY_PUBLISH","COMPANYPOLICY_PUBLISH_SUCCESS","COMPANYPOLICY_ACCEPT","COMPANYPOLICY_ACCEPT_SUCCESS","COMPANYPOLICY_LATEST","COMPANYPOLICY_LATEST_SUCCESS","COMPANYPOLICY_LATEST_TENANT","COMPANYPOLICY_LATEST_TENANT_SUCCESS","COMPANYPOLICY_ERROR","FETCH_FILEOPERATION","FETCH_FILEOPERATION_SUCCESS","SAVE_FILEOPERATION","SAVE_FILEOPERATION_SUCCESS","ADD_FILEOPERATION","ADD_FILEOPERATION_SUCCESS","FETCH_ConfigureWorkspaces","FETCH_ConfigureWorkspaces_Success","UPDATE_ConfigureWorkspaces","UPDATE_ConfigureWorkspaces_Success","ConfigureWorkspaces_Error","FETCH_MANAGEUSER_REQUEST","FETCH_MANAGEUSER_SUCCESS","FETCH_MANAGEUSER_TENANTID_REQUEST","FETCH_MANAGEUSER_TENANTID_SUCCESS","FETCH_MANAGEUSER_BYUSERID_REQUEST","FETCH_MANAGEUSER_BYUSERID_SUCCESS","ADD_MANAGEUSER_REQUEST","ADD_MANAGEUSER_SUCCESS","UPDATE_MANAGEUSER_REQUEST","UPDATE_MANAGEUSER_SUCCESS","DELETE_MANAGEUSER_REQUEST","DELETE_MANAGEUSER_SUCCESS","CREATE_MANAGEUSER_REQUEST","CREATE_MANAGEUSER_SUCCESS","CREATE_MANAGEUSER_BYTENANTID_REQUEST","CREATE_MANAGEUSER_BYTENANTID_SUCCESS","MANAGEUSER_ERROR","RESET_MANAGEUSER_STORE_DATA","FETCH_MANAGE_REPORT","FETCH_MANAGE_REPORT_SUCCESS","UPDATE_REPORT_REQUEST","UPDATE_REPORT_SUCCESS","FETCH_REPORT_BY_MODULEID_REQUEST","FETCH_REPORT_BY_MODULEID_SUCCESS","FETCH_REPORT_BY_ID_REQUEST","FETCH_REPORT_BY_ID_SUCCESS","FETCH_REPORT_FROM_POWERBI_REQUEST","FETCH_REPORT_FROM_POWERBI_SUCCESS","FETCH_MODULES","FETCH_MODULES_SUCCESS","FETCH_REPORT_BY_REPORTID","FETCH_REPORT_BY_REPORTID_SUCCESS","TENANT_ERROR","RESET_STORE","FETCH_CEFIT_LIST","FETCH_CEFIT_LIST_SUCCESS","FETCH_CEFIT_BY_ID","FETCH_CEFIT_BY_ID_SUCCESS","FETCH_CEFIT_TABLE_NAME","FETCH_CEFIT_TABLE_NAME_SUCCESS","FETCH_CEFIT_COLUMN_NAME","FETCH_CEFIT_COLUMN_NAME_SUCCESS","FETCH_CEFIT_UPDATE_EXCEL","FETCH_CEFIT_UPDATE_EXCEL_SUCCESS","FETCH_CEFIT_UPDATE","FETCH_CEFIT_UPDATE_SUCCESS","FETCH_CEFIT_CREATE","FETCH_CEFIT_CREATE_SUCCESS","FETCH_CEFIT_DELETE","FETCH_CEFIT_DELETE_SUCCESS","FETCH_CEFIT_TEST","FETCH_CEFIT_TEST_SUCCESS","FETCH_CEFIT_APPROVE","FETCH_CEFIT_APPROVE_SUCCESS","FETCH_CEFIT_REFRESH","FETCH_CEFIT_REFRESH_SUCCESS","RESET_UPDATE_VALUE","CEFIT_ERROR","actionTypes","initialState","lang","reducer","persistReducer","storage","key","state","action","type","payload","actions","setLanguage","getUserByToken","azureUser","params","name","split","email","phoneNumber","axios","method","url","data","getUserByTokenOne","oneUser","firstName","lastName","forgotLastLocation","utils","getLastLocation","localStorateLocations","_userLocations","JSON","parse","length","pop","saga","initialAuthState","user","undefined","accessToken","whitelist","jwtIdToken","account","routerHelpers","sessionStorage","removeItem","login","oneLogin","register","logout","requestUser","requestUserOne","fulfillUser","takeLatest","loginSaga","put","loginSagaOne","registerSaga","userRequested","call","statusCode","removeCSSClass","ele","cls","reg","RegExp","className","replace","toAbsoluteUrl","pathname","process","removeStorage","localStorage","setItem","e","getStorage","now","Date","expiresIn","getItem","Math","abs","setStorage","value","expires","schedule","initLayoutConfig","demo","self","layout","logo","dark","light","brand","green","loader","enabled","message","colors","primary","success","info","warning","danger","base","label","shape","toolbar","display","header","width","skin","fixed","desktop","mobile","menu","arrow","toggle","submenu","accordion","subheader","displayDesc","displayDaterangepicker","clear","style","content","aside","minimize","default","footer","dropdown","scroll","tenant","LayoutConfig","stringify","SetMenuConfig","SetLayoutConfigs","SetLayoutConfigsWithPageRefresh","SetHtmlClassService","selectors","getClasses","store","htmlClassServiceObjects","builder","path","toString","getAttributes","getConfig","layoutConfig","objectPath","get","getLogo","menuAsideLeftSkin","logoObject","logos","Object","keys","getStickyLogo","menuConfig","items","blacklist","setMenuConfig","setLayoutConfigs","setLayoutConfigsWithPageRefresh","setHtmlClassService","LayoutContext","State","createContext","Dispatch","init","slice","reverse","title","breadcrumb","description","splashScreen","refs","nextState","id","nextRefs","LayoutContextProvider","history","children","useReducer","location","dispatch","useEffect","listen","splashScreenRefs","splashScreenVisible","useMemo","document","getElementById","classList","remove","add","timeout","setTimeout","clearTimeout","Provider","LayoutContextConsumer","Consumer","LayoutSplashScreen","visible","useContext","random","All_CONFIG_ADD","getConfigAll","createConfig","post","updateConfig","deleteConfig","getAllFileOperations","getAllAutoCleansing","gatAllBasedCleansing","gatAllCustomers","gatAllStage","LayoutInitializer","htmlClassService","useDispatch","builderState","useSelector","useLocation","then","res","result","allMessages","de","en","es","fr","ja","zh","I18nProvider","locale","i18n","messages","theme","createMuiTheme","MuiButton","containedPrimary","backgroundColor","typography","fontFamily","join","palette","main","secondary","contrastText","error","props","MuiButtonBase","disableRipple","MuiPopover","elevation","ThemeProvider","metronic","initializing","initialized","idToken","AuthenticationState","Unauthenticated","authReducer","AuthenticationActions","Initializing","Initialized","AcquiredIdTokenSuccess","AcquiredAccessTokenSuccess","AcquiredAccessTokenError","LoginSuccess","LoginError","AcquiredIdTokenError","LogoutSuccess","AuthenticatedStateChanged","getConfigRequest","createConfigItem","watchCreateCinfigRequest","updateConfigItem","watchUpdateCinfigRequest","deleteConfigItem","watchDeleteConfigRequest","getFileOperations","getFileOperationsRequest","createFileOperationsItem","watchCreateFileOperationsRequest","updateFileOperationsItem","watchUpdateFileOperationsRequest","deleteFileOperationsItem","watchDeleteFileOperationsRequest","getAutoCleansing","getAutoCleansingRequest","getBaseCleansing","getBasedCleansingRequest","getCustomers","getCustomersRequest","getStage","getStageRequest","types","takeEvery","userId","take","configSaga","fork","getGlobalConfig","getGlobalRequest","getAllGlobalConfigs","getAllGlobalConfigRequest","updateGlobalConfigItem","watchUpdateGlobalConfigRequest","addGlobalConfigItem","watchAddGlobalConfigRequest","deleteGlobalConfigItem","watchDeleteGlobalConfigRequest","getGlobalConfigAll","getAllGlobalConfig","updateGlobalConfig","addGlobalConfig","deleteGlobalConfig","globalConfigSaga","RUNTIME_API","AUDITE_API","TABLEDATA_API","getRunTimeFilter","getRunTimeAll","getAuditTrailAll","date","getDate","full","getFullYear","getMonth","getAuditTrailFilter","getTableDataAll","updateTableData","getPackageFilter","getPackageFilterRequest","getRuntime","getRuntimeRequest","getRuntimeFilter","getRuntimeRequestFilter","getAuditTrail","getAuditTrailRequest","getTableData","getTableDataRequest","updateTableDataItem","watchUpdateTableDataRequest","runtimeSaga","getPowerBi","details","userName","reportID","fetchPoewrBiByID","exportReport","responseType","getReports","getReportsRequest","getReportByReportId","getReportByReportIdRequest","exportReportHandler","exportReportRequest","reportsSaga","getAllSubscriptions","getActiveSubscriptions","addSubscription","updateSubscription","deleteSubscription","delete","subscriptionID","getAllSubscriptionsRequest","getActiveSubscriptionsRequest","updateSubItem","watchUpdateSubRequest","addSubItem","watchAddSubRequest","deleteSubItem","watchDeleteSubRequest","sunbscritionsSaga","getTenantAllList","getTenantById","getCountry","getState","createInformation","console","log","updateInformation","deleteInformation","DoesDomainExists","domainName","exceptDomainId","runE2E","runAddNewUsersToReports","getTenant","getTenantRequest","getTenantByTenantId","getTenantByIdRequest","getCountries","getCountriesRequest","getStates","getStateRequest","updateTenantItem","watchUpdateTenantRequest","addTenantItem","watchAddTenantRequest","deleteTenantItem","watchDeleteTenantRequest","callRunE2E","watchRunE2ERequest","callRunAddNewUsersToReports","watchRunAddNewUsersToReportsRequest","push","tenantID","response","E2ERan","tenantSaga","getUrl","getAllTenantIndustries","getActiveTenantIndustries","addTenantIndustry","updateTenantIndustry","deleteTenantIndustry","tenantIndustryID","getTenantIndustryLevelsList","updateTenantIndustryLevels","addTenantIndustryLevels","deleteTenantIndustryLevels","tenantIndustryLevelsID","getLevelsTypeList","updateLevelsType","addLevelsType","deleteLevelsType","levelSubTypeID","getAllTenantIndustriesHandler","getAllTenantIndustriesRequest","getActiveTenantIndustriesHandler","getActiveTenantIndustriesRequest","updateTenantIdustryItem","watchUpdateTenantIdustryRequest","addTenantIdustryItem","watchAddTenantIdustryRequest","deleteTenantIdustryItem","watchDeleteTenantIdustryRequest","getTenantIdustryLevels","getTenantIdustryLevelsRequest","updateTenantIdustryLevelsItem","watchUpdateTenantIdustryLevelsRequest","addTenantIdustryLevelsItem","watchAddTenantIdustryLevelsRequest","deleteTenantIdustryLevelsItem","watchDeleteTenantIdustryLevelsRequest","getLevelsType","getLevelsTypeRequest","updateLevelsTypeItem","watchUpdateLevelsTypeRequest","addLevelsTypeItem","watchAddLevelsTypeRequest","deleteLevelsTypeItem","watchDeleteLevelsTypeRequest","tenantIdustrySaga","fetchOrganisationById","fetchOrganisationAdd","fetchOrganisationUpdate","deleteOrganization","importHierarchyFile","file","formData","FormData","append","headers","getOrganisationById","getOrganisationByIdRequest","addOrganisationRow","addOrganisationRowRequest","updateOrganisationRow","updateOrganisationRowRequest","importHierarchyFileHandler","importOrganisationsRequest","deleteOrganizationItem","watchDeleteOrganizationRequest","OrganisationSaga","getTenantConfigAllList","updateTenantConfiguration","getworkspacereport","getAllTenantConfig","getAllTenantConfigRequest","updateTenantConfig","updateTenantConfigRequest","tenantconfigurationSaga","getRolesAllList","getRolesAllTenantList","updateRole","addRole","getCreateRole","deleteRole","roleID","getRoleItem","getTenantRoleCreate","getRole","getRoleRequest","getRoleTenant","getRoleTenantRequest","getRoleByIDReq","getRoleByIdRequest","updateRoleItem","watchUpdateRoleRequest","addRoleItem","watchAddRoleRequest","addRoleCreateItem","watchAddRoleCreateRequest","deleteRoleItem","watchDeleteRoleRequest","addRoleCreateTenantItem","watchAddRoleCreateTenantRequest","RoleSaga","getWorkspacer","getWorkspacerRequest","tenantWorkspacerSaga","getPermissionsList","savePermissions","addPermissions","getPermissions","getPermissionsRequest","savePermissionsData","savePermissionsRequest","addPermissionsData","addPermissionsRequest","permissionSaga","getEndPoint","updateEndPoint","getCapacitiesEndPoint","getAllPowerBICapacityManagement","updatePowerBICapacityManagement","GetAllCapacities","getAllPowerBICapacityManagementHandler","getAllPowerBICapacityManagementRequest","GetAllCapacitiesHandler","GetAllCapacitiesRequest","updatePowerBICapacityManagementHandler","updatePowerBICapacityManagementRequest","powerBICapacityManagementSaga","getCompanyPolicyList","getCompanyPolicyTenantList","companyPolicyUpdate","companyPolicyCreate","companyPolicyAdd","companyPolicyPublish","companyPolicyAccept","companyPolicyLatest","companyPolicyLatestTenant","getCompanyPolicy","getCompanyPolicyRequest","getCompanyPolicyTenant","getCompanyPolicyTenantRequest","updateCompanyPolicy","updateCompanyPolicyRequest","addCompanyPolicy","addCompanyPolicyRequest","createTenantCompanyPolicy","createTenantCompanyPolicyRequest","getCompanyPolicyLatest","companyPolicyLatestRequest","getCompanyPolicyLatestTenant","companyPolicyLatestTenantRequest","getCompanyPolicyAccept","companyPolicyAcceptRequest","getCompanyPolicyPublish","companyPolicyPublishRequest","companyPolicySaga","fetchFileOperationsById","fetchFileOperationsAdd","getFileOperationById","getFileOperationByIdRequest","addFileOperationsRow","addFileOperationsRowRequest","FileOperationsSaga","reset","getConfigureWorkspaces","updateConfigureWorkspaces","getConfigureWorkspacesById","getConfigureWorkspacesRequest","updateConfigureWorkspacesAll","updateConfigureWorkspacesRequest","ConfigureWorkspacesSaga","fetchManageUser","fetchManageTenantUser","fetchManageUserByUserId","fetchCreateManageUser","fetchCreateManageUserByTenantId","fetchUpdateManageUser","fetchAddManageUser","deleteManageUser","getManageUser","getManageUserRequest","getManageUserTenantId","getManageUserTenantIdRequest","getManageUserByUserId","getManageUserByUserIdRequest","createManageUser","creatManageUserRequest","createManageUserTenantId","createManageUserTenantIdRequest","updateManageUser","updateManageUserTenantIdRequest","addManageUser","addManageUserTenantIdRequest","deleteManageUserItem","watchDeleteManageUserRequest","ErrorMessage","manageUserSaga","getReport","updateReport","getReportByModuleId","getReportById","getReportFromPowerBi","getReportItems","getReportRequest","updateReportItem","updateReportRequest","getReportItemByModuleId","getReportByModuleIdRequest","getReportItemById","getReportByIdRequest","getReportItemsFromPowerBi","getReportFromPowerBiRequest","status","listParams","manageReportSaga","fetchModules","getModules","getModulesRequest","modulesSaga","CEFIT_URL","getCefitList","getCefitById","getTableName","dataType","getColumnName","columnName","getCefitTestMapping","getCefitApprove","getCefitDelete","getCefitRefresh","uploadExcel","f","JsonFile","FileDataType","rowsToSkip","tenantid","fileName","getUpdateCefit","getCefit","getCefitRequest","getCefitByCId","getCefitByIdRequest","getCefitTableName","getCefitTableNameRequest","getCefitColumnName","getCefitColumnNameRequest","getCefitExcel","getCefitExcelRequest","getCefitUpdate","getCefitUpdateRequest","cefitCreate","getCefitCreateRequest","cefitTest","getCefitTestRequest","cefitApprove","getCefitApproveRequest","cefitDelete","getCefitDeleteRequest","cefitRefresh","getCefitRefreshRequest","cefitSaga","INITIAL_STATE","fileData","autoData","basedData","customer","stageData","package","auditTrail","TableData","TableName","token","reportItem","reportFile","allSubscriptions","item","addItem","countries","cuntryState","activeStep","activeData","levels","roledata","selectRow","addData","latest","accept","users","userdata","listLoading","actionsLoading","cefitForEdit","updateResult","tableName","updateExcel","deleteSuccess","capacitiesData","rootSaga","rootReducer","combineReducers","assign","config","configData","configString","configurations","ID","configData2","configList1","configData1","configList","configData6","configList7","fileData2","fileData1","fileData4","fileData3","fileData6","fileData5","aData","configSet","rulesSet","customerData","stageList","globalConfig","runtime","tableData","auth","reports","Blob","subscriptions","tenantIndustry","industryLevels","levelsType","organisation","tenantConfig","roles","workspace","permission","permissionRaducer","permissionAdd","permissionAddRaducer","powerBICapacityManagement","companyPolicy","fileOperation","configureWorkspaces","manageUser","userID","manageReport","modules","cefits","editData","all","organisationSaga","fileOperationsSaga","composeEnhancers","window","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","sagaMiddleware","createSagaMiddleware","createStore","applyMiddleware","persistor","persistStore","run","forwardRef","ref","icon","iconRef","textRef","iconWrapperRef","role","clsx","useStyles","makeStyles","root","boxShadow","Builder","classes","activeTab","useState","shallowEqual","loadingPreview","setLoadingPreview","paddingRight","loadingButtonPreviewStyle","setLoadingButtonPreviewStyle","loadingReset","setLoadingReset","loadingButtonResetStyle","setLoadingButtonResetStyle","updateLayoutConfig","_config","reload","initialValues","merge","onSubmit","values","onReset","handleReset","handleSubmit","handleChange","handleBlur","padding","Portlet","onBlur","onChange","FormHelperText","onClick","Dashboard","brandColor","dangerColor","successColor","primaryColor","chart1","color","border","chart2","chart3","chart4","useStyles1","flexShrink","text","marginLeft","spacing","TablePaginationActions","useTheme","count","page","rowsPerPage","onChangePage","IconButton","event","disabled","aria-label","direction","ceil","max","PackageItems","packageItem","packageStatus","enum","num","this","bindToolTip","nextProps","setState","newRows","map","val","rowref","current","scrollWidth","clientWidth","open","findDate","getHours","getMinutes","getSeconds","getMilliseconds","i","TableRow","TableCell","cell","SnapShotName","CreatedOn","ItemCount","align","to","SnapShotTableName","Tooltip","TagTableName","disableHoverListener","getStatus","Status","filter","allItemRows","order","orderBy","forEach","perItemRows","renderItem","concat","Component","headCells","numeric","disablePadding","PackageList","chips","background","marginBottom","searchBox","multiselectContainer","zIndex","minWidth","marginRight","updatedRow","show","modelText","limit","personName","filterNum","except","selectedValue","ieBrowser","addPackage","ItemIds","handleChangePage","bind","handleChangeRowsPerPage","handleRequestSort","handleClose","onFilderByDate","setRowsPerPage","onSelect","onRemove","isIE","documentMode","target","newPage","setPage","parseInt","rowId","splice","currentExpandedRows","newExpandedRows","includes","TextField","heandleChange","getTime","property","isAsc","onFilter","prevState","selectedList","selectedItem","removedItem","emptyRows","min","stableSort","getComparator","dataslice","Paper","portlet","headerClassName","portletHead","position","maxHeight","data-ktmenu-vertical","alignItems","FormControlLabel","labelPlacement","control","Switch","checked","handleChangeSwitch","options","selectedValues","displayValue","placeholder","Button","variant","button","wheelSpeed","wheelPropagation","Table","stickyHeader","height","onRequestSort","rowCount","TableBody","colSpan","TableFooter","TablePagination","rowsPerPageOptions","SelectProps","inputProps","native","onChangeRowsPerPage","ActionsComponent","Modal","onHide","centered","Header","closeButton","Title","modalTitle","withStyles","marginTop","margin","cellHead","maxWidth","textOverflow","overflowX","whiteSpace","cellBtn","right","borderRadius","borderBottom","minHeight","visuallyHidden","clip","overflow","top","fontSize","formControl","Package","fetchRunTime","packageList","pageLoader","heandleFilter","React","createRef","load","fetchRunTimeFilter","progressBar","CircularProgress","overrides","MuiExpansionPanelSummary","lineHeight","expandIcon","MuiExpansionPanelDetails","MuiTableCell","head","sizeSmall","MuiFormControl","MuiFormControlLabel","MuiList","paddingTop","paddingBottom","MuiListItem","MuiTooltip","tooltip","MuiInputLabel","transform","shrink","MuiInput","connect","bottom","left","justifyContent","AuditTrailItems","auditTrailList","auditTrailRow","dataTime","packageId","snapShotName","processStep","additionalInfo","AuditTrailList","endDateFind","setHours","setTime","toUTCString","selectedStartDate","selectedEndDate","addAuditTrail","setDate","serHours","endDate","substring","DateFnsUtils","handleDateChange","format","KeyboardButtonProps","formMargin","minDate","handleEndDateChange","size","AuditTrail","fetchAuditTrail","startdate","fetchAuditTrailFilter","MuiIconButton","marginNormal","TableDataList","expandedRows","tableDataList","saveMode","diraction","renderTableHeader","evt","idx","x","onSave","headCellsList","when","trim","saveTableData","discardTableData","itemsdata","fetchTableData","toastVisible","level","pageLoading","updateTableDataRequest","heandleUpdateTableData","Toast","borderRight","underline","RunTimePage","exact","from","component","fetchReports","GlobalDashboard","prevProps","embedUrl","filterPaneEnabled","navContentPaneEnabled","tokenType","Eligibility","onEmbedded","ChronicConditions","JBSQuarterlyReportComponent","JBSUtilizationIndicatorsComponent","JBSClaimsComponent","JBSClaimsLogComponent","POCUtilization","POCDemographics","ReportsPages","setData","embedData","reportFileName","setReportFileName","exportReportInProgress","setExportReportInProgress","reportId","userHasExportPermission","setUserHasExportPermisssion","reportGUID","vhUser","currentReportModule","find","m","moduleName","hasExportPermisssion","permissions","some","p","permissionName","URL","createObjectURL","link","createElement","href","setAttribute","body","appendChild","click","ReportId","Format","Reports","routers","subModule","pageUrl","render","TenantInitializer","TenantItem","useHistory","index","deleteItem","setDelete","tenantName","subscriptionName","domain","_openDialog","handleDelete","rowIndex","onDelete","filterButton","inputLabel","InputBase","Tenants","currentState","tenentSuccess","tenantMassage","setParams","setOrder","setOrderBy","prev","sortField","sortDirection","setAllItemRows","setCount","setLevel","setMessage","setToastVisible","setItems","searchText","pageNumbers","totalItems","pageSize","table","pageNumber","BootstrapInput","input","transition","transitions","create","borderColor","TenantBase","setValue","setSearchText","isLoading","setIsLoading","getSearchResult","src","fontWeight","FormControl","searchValue","onKeyUp","preventDefault","textField","Tenant","MuiPagination","ul","FormValidationsAdd","Yup","required","matches","emailDomain","allowAccount","superFirstName","superLastName","superPhoneNo","excludeEmptyString","superEmail","test","parent","endsWith","sponsarFirstName","sponsarLastName","sponsarPhoneNo","sponsarEmail","businessName","billingEmail","address1","taxID","tenantIndustryLevelID","countryID","city","zipCode","FormValidationsEdit","BasicCustomerInForm","currentUsers","match","saveInformation","industry","country","backToTenantList","states","addUrl","toastLevel","setToastLevel","fakeUrl","logoImage","fileUrl","setFileUrl","countryItems","setcountryItems","statesItem","setStates","manageUserActions","dataSource","setFileNames","fileFind","reader","FileReader","readAsDataURL","onload","temp","onerror","alert","leveldata","tenantIndustryLevels","setSubdata","subLevel","setSubLevel","subscriptionType","setSubscriptionName","showLogo","setShowLogo","handleResetLogo","handleEmailDomainChanged","setValues","a","handleDomainChanged","setErrors","errors","existsResponse","hendlePurchased","field","selfServiceBIPurchased","Boolean","subscription","s","onSubmitHeandle","enableReinitialize","validationSchema","touched","setFieldValue","container","commonContainer","basicLable","profileContainer","profileImage","img","alt","uploadContainer","onDrop","acceptedFiles","handleDrop","getRootProps","getInputProps","files","hendleImages","inputContainer","Input","customDomain","domainContainer","InputGroups","groupSuffix","handleAllowAccountChange","selfServiceBI","hendleSubcription","leveldatas","hendleIndustry","leveldataaa","levelSubType","hendleLevels","hendleCountry","countryName","as","stateID","stateName","borderTop","list","float","BasicCustomerInformation","setLogoImage","Image","setLoading","industryActions","subActions","tenantGUID","tenantIndustryType","tenantType","subType","paramsValues","address2","otherState","active","superUserID","sponsarUserID","editParams","changesLogoIages","heandleChangeSub","SelfServiceBIPurchased","ConfigureWorkspacesItem","setworkspaceConfiguration","col","showlogo","workspaceName","reportName","Checkbox","isSelected","onChangeDynamicValue","cellP0","cellDiv","cellDivcl","textAlign","ConfigureWorkspacesPage","workspaceValue","setDataSource","loadeSelect","setCheckBox","Form","Control","btn","btnRight","TenantID","TenantWorkspace","fontsize","letterspacing","fontweight","flex","ConfigureWorkspacesBase","ConfigureWorkspaces","TenantEditHead","PrivateSwitchBase","EditTanentPage","steps","setMatch","setActiveStep","Set","setCompleted","skipped","setSkipped","Stepper","alternativeLabel","connector","ColorlibConnector","ColorlibConnectorAdd","step","stepProps","has","completed","Step","editable","StepLabel","StepIconComponent","icons","1","2","3","4","5","6","7","containerRoot","String","ColorlibStepIcon","stepIcon","containerRootAdd","ColorAddlibStepIcon","handleStep","instructions","fileoperations","getStepContent","stepData","propsData","itemdata","getStepCreateContent","backButton","line","StepConnector","EditTenantBase","initialValue","useStyle","tenantMenu","minMenu","addbtn","pagination","setMinMenu","hendleChange","oAction","Pagination","EditTenant","MuiStep","MuiStepLabel","iconContainer","AcceptPolicy","hendleClose","letastPolicy","authActions","acceptedPolicyID","policyContent","companyPolicyID","Content","useRouteMatch","cssClassesState","setCssClassesState","fullClasses","startAnimation","el","timeOutId","ContentRoute","routeProps","CefitUiContext","useCefitUiContext","CefitUIProvider","cefitUIEvents","initialFilter","queryParams","setQueryParamsBase","ids","setIds","setQueryParams","useCallback","nextQueryParams","prevQueryParams","isFunction","isEqual","newCefitButtonClick","openEditCefitPage","openDeleteCefitDialog","openFetchCefitDialog","openUpdateCefitStatusDialog","CefitLoadingDialog","CefitItem","setIndex","fileFormat","fileDataType","stagingTableName","storedProcedureName","submittedOn","submittedBy","deploymentStatus","cellRight","userHasDeletePermission","CefitTable","cefitSuccess","cefitMassage","setUserHasDeletePermission","fileMappingModule","hasDeletePermission","cefitsUIContext","cefitsUIProps","deleteCefit","headCellsWithoutDelete","CefitCard","openDeleteCefitsDialog","openUpdateCefitsStatusDialog","openFetchCefitsDialog","userHasCreatePermission","setUserHasCreatePermission","hasCreatePermission","CefitPages","CefitRouter","fallback","CefitsEdit","AdminPage","lazy","HomePage","setInterval","lastRequestDateTime","sessionTimeout","currentRequestDateTime","policyAccepted","aria-labelledby","aria-describedby","modal","paper","modelTitle","peparContainer","CompanyPolicyEdit","shadows","modelSubmitBtn","formGroup","formLabel","formlLabelName","ErrorPage1","backgroundImage","ErrorPage2","ErrorPage3","ErrorPage4","ErrorPage5","ErrorPage6","ErrorsPage","Logout","hasAuthToken","authToken","SearchResult","Fragment","iconImage","iconClassName","HeaderDropdownToggle","displayName","_style","_desc","_g","_extends","arguments","source","prototype","hasOwnProperty","apply","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","_ref","svgRef","y","viewBox","enableBackground","xmlSpace","d","ForwardRef","perfectScrollbarOptions","fakeData","authProvider","MsalAuthProvider","authority","clientId","postLogoutRedirectUri","origin","redirectUri","validateAuthority","navigateToLoginRequestUrl","system","logger","Logger","logLevel","containsPii","LogLevel","Verbose","piiLoggingEnabled","cache","cacheLocation","storeAuthStateInCookie","scopes","loginType","LoginType","Popup","tokenRefreshUri","AzureLogout","provider","forceLogin","authenticationState","isInProgress","accountInfo","InProgress","isAuthenticated","Authenticated","isUnauthenticated","onLogOut","UserProfile","showHi","showBadge","showAvatar","Dropdown","drop","alignRight","Toggle","Menu","charAt","Topbar","HMenuItemInner","parentItem","bullet","itemCssClassWithBullet","badge","HMenuColumn","currentUrl","heading","child","HMenuItem","getItemAttrSubmenuToggle","isMenuItemIsActive","isMenuRootItemIsActive","_subItem","columns","_column","getItemCssClasses","isActive","menuType","customClass","getItemMenuSubmenuClass","alignment","rootArrowEnabled","aria-haspopup","data-ktmenu-submenu-toggle","data-ktmenu-submenu-mode","mode","data-ktmenu-dropdown-toggle-class","offcanvasOptions","overlay","baseClass","closeBy","toggleBy","HMenu","offCanvasCommonRef","ktMenuCommonRef","initOffCanvas","KTOffcanvas","initKTMenu","menuOptions","tablet","slideSpeed","expandAll","menuDesktopMode","getAttribute","KTMenu","headerSelfSkin","disabledAsideSelfDisplay","ktMenuClasses","ulClasses","getHeaderLogo","withRouter","AnimateLoading","routeChanged","animate","animateTimeout","stopAnimate","animateInterval","stopAnimateTimeout","Progress","headerCommonRef","KTHeader","menuHeaderDisplay","headerAttributes","headerClasses","fluid","BreadCrumbs","SubHeader","wrapper","subheaderCssClasses","subheaderContainerCssClasses","subheaderMobileToggle","HeaderMobile","toggleButtonRef","KTToggle","toggleOptions","headerLogo","asideDisplay","headerMenuSelfDisplay","headerMobileCssClasses","headerMobileAttributes","targetState","togglerState","Brand","ktToggleRef","brandClasses","asideSelfMinimizeToggle","headerStickyLogo","HeaderSearch","filterMenu","searchClasses","MuiOutlinedInput","MenuSection","section","MenuItemSeparator","MenuItemText","svg","translate","defaultMessage","displayModuleName","MenuSubmenu","separator","MenuItem","asideLeftLIRef","isDropdown","contains","submenuToggle","mouseEnter","mouseLeave","removeAttribute","subItem","data-placement","onMouseEnter","onMouseLeave","MenuList","menuAccess","AsideLeft","asideMenuRef","outsideTm","insideTm","KTUtil","isInResponsiveRange","kUtilIsResponsiveRange","initMenu","setupMenuOptions","asideMenuAttr","asideClassesFromConfig","disableAsideSelfDisplay","asideOffCanvasRef","filterMenuHeandle","menuCanvasOptions","disableScroll","ScrollTop","scrollTopCommonRef","KTScrolltop","offset","speed","HtmlClassService","header_container","header_mobile","header_menu","aside_menu","subheader_container","content_container","footer_container","attributes","initLayout","initLoader","initHeader","initSubheader","initContent","initAside","initFooter","initSkin","Array","isArray","_selfBodyClass","cssClass","additionalHeaderCssClass","asideSubmenuDHoverTimeout","QuickPanel","selectedTab","setTab","_tabName","Tab","Container","defaultActiveKey","Nav","Item","Link","eventKey","Pane","contentContainerClasses","getModuls","HTMLClassService","selfLayout","tenantDisplay","subheaderDisplay","desktopHeaderDisplay","setConfig","contentCssClasses","acceptCookies","cookies","setCookies","colorPrimary","MuiTableHead","AzureLogin","loginData","logOut","injectIntl","intl","loading","loadingButtonStyle","setLoadingButtonStyle","disableLoading","password","validate","formatMessage","setStatus","setSubmitting","Password","catch","isSubmitting","noValidate","autoComplete","helperText","fullname","username","acceptTerms","confirmPassword","rel","ForgotPassword","isRequested","fullWidth","UserConfirmation","BasicSignUpSchema","is","oneOf","SignUp","useParams","uid","tid","Active","signupValue","setsignUpData","userConfirmation","setuserConfirmation","isLinkValid","setIsLinkValid","onChangevalue","CheckUserSignUpLinkExpired","resp","GetUsersByID","signupForm","passwordUpdate","ResetPassword","code","CheckResetPasswordLinkExpired","form","resetPassword","AuthPage","Login","Registration","Routes","isCorrectSubdomain","setIsCorrectSubdomain","lastLocation","_useLocations","acceptLocation","useLastLocation","urls","isAuthorized","userLastLocation","LogoutPage","App","basename","Suspense","interceptors","request","use","Authorization","err","Promise","reject","defaults","withCredentials","baseURL","subject","Subject","subject$","asObservable","tableName$","columnName$","setXlsxKey","next","setTableName","setColumnName","model","manufacture","VINCode","sortOrder","FILE_DATA_TYPE","FILE_FORMAT","Element","msMatchesSelector","webkitMatchesSelector","closest","ancestor","documentElement","parentElement","elem","parentNode","removeChild","lastTime","vendors","requestAnimationFrame","cancelAnimationFrame","callback","currTime","timeToCall","Document","DocumentFragment","defineProperty","configurable","enumerable","writable","argArr","docFrag","createDocumentFragment","argItem","isNode","Node","createTextNode","insertBefore","firstChild","KTUtilElementDataStore","KTUtilElementDataStoreID","KTUtilDelegatedEventHandlers","resizeHandlers","breakpoints","sm","md","lg","xl","_windowResizeHandler","addEventListener","_runResizeHandlers","addResizeHandler","removeResizeHandler","runResizeHandlers","resize","Event","dispatchEvent","createEvent","initUIEvent","getURLParam","paramName","search","unescape","isMobileDevice","getViewPort","getBreakpoint","isDesktopDevice","breakpoint","getUniqueID","prefix","floor","isset","obj","stone","Error","shift","getHighestZindex","css","isNaN","hasFixedPositionedParent","sleep","milliseconds","start","getRandomInt","isAngularVersion","Zone","deepExtend","out","extend","query","nodeType","getElementsByTagName","getElementsByClassName","getByID","getByTag","getByClass","hasClasses","classesArr","hasClass","addClass","classNames","removeClass","triggerCustomEvent","eventName","CustomEvent","detail","initCustomEvent","triggerEvent","node","doc","ownerDocument","eventClass","bubbles","initEvent","synthetic","fireEvent","createEventObject","elm","c","string","eventTriggered","currentTarget","dataset","triggered","querySelector","findAll","querySelectorAll","insertAfter","referenceNode","nextSibling","parents","selector","matchesSelector","mozMatchesSelector","oMatchesSelector","childNodes","l","tagName","element","set","customDataTag","outerWidth","parseFloat","offsetWidth","rect","win","getClientRects","getBoundingClientRect","defaultView","pageYOffset","pageXOffset","offsetHeight","attr","hasAttr","removeAttr","duration","update","easing","done","easings","linear","t","b","rAF","change","performance","loop","timestamp","time","actualCss","prop","HTMLElement","cssText","actualHeight","actualWidth","getScroll","browserSupportsBoxModel","styleProp","getComputedStyle","toLowerCase","getPropertyValue","currentStyle","str","letter","toUpperCase","oldLeft","oldRsLeft","runtimeStyle","pixelLeft","slide","dir","recalcMaxHeight","calcHeight","calcPaddingTop","calcPaddingBottom","slideUp","slideDown","hide","addEvent","handler","one","removeEvent","removeEventListener","on","eventId","targets","j","off","callee","hash","charCodeAt","animateClass","animationName","animation","animations","OAnimation","MozAnimation","WebkitAnimation","msAnimation","transitionEnd","OTransition","MozTransition","WebkitTransition","msTransition","animationEnd","animateDelay","animateDuration","scrollTo","targetPos","scrollPos","scrollTop","ready","attachEvent","readyState","isEmpty","numberString","nStr","x1","x2","rgx","detectIE","ua","navigator","userAgent","msie","rv","edge","isRTL","scrollInit","ps","Function","mobileNativeScroll","disableForMobile","resetHeightOnDestroy","destroy","desktopNativeScroll","PerfectScrollbar","swipeEasing","windowScroll","minScrollbarLength","maxScrollbarLength","suppressScrollX","rememberPosition","Cookies","pos","handleWindowResize","scrollUpdate","scrollUpdateAll","scrollers","len","scrollDestroy","setHTML","html","innerHTML","getHTML","getDocumentHeight","scrollHeight","clientHeight","getScrollTop","scrollingElement","module","exports","DeleteConfirmation","CheckCircleIcon","WarningIcon","ErrorIcon","InfoIcon","amber","iconVariant","opacity","showDialog","fetchAllSubscriptions","fetchActiveSubscriptions","updateSubscriptionRequest","addSubscriptionRequest","deleteSubscriptionRequest","userHasSuperAdminRole","setUserHasSuperAdminRole","superAdminRole","r","systemDefined","isDeleted","roleName","containerTop","runE2ERequest","_title","_defs","SvgAngleDoubleLeft","stroke","strokeWidth","fill","fillRule","points","SvgAngleDoubleRight","elementId","the","defaultOptions","Plugin","construct","build","events","classBase","classShown","classOverlay","isShown","eventTrigger","togglerClass","stopPropagation","args","fired","setDefaults","updateGlobalConfigRequest","addGlobalConfigRequest","deleteGlobalConfigRequest","PortletHeaderTitle","PortletHeaderToolbar","PortletHeader","sticky","labelRef","setTop","windowHeight","setWindowHeight","handleResize","innerWidth","headerElement","subheaderElement","headerMobileElement","nextMarginTop","isFragment","PortletBody","fit","PortletFooter","fluidHeight","toggleOn","toggleOff","globalConfigID","getPermission","savePermission","addPermission","descendingComparator","array","comparator","stabilizedThis","sort","EnhancedTableHead","headCell","getAllCapacities","autoScroll","autoScrollSpeed","eventHandlers","pauseDropdownHoverTime","resetSubmenuProps","handleSubmenuAccordion","getSubmenuMode","isConditionalSubmenuDropdown","handleSubmenuDrodownHoverEnter","handleSubmenuDrodownHoverExit","handleSubmenuDropdownClick","handleSubmenuDropdownTabClick","handleLinkClick","submenus","resumeDropdownHover","showSubmenuDropdown","hideSubmenuDropdown","hideSubmenuDropdowns","handleSubmenuDropdownClose","shown","li","subnav","closables","el_","submenu_","scrollToItem","classAlso","cnt","createSubmenuDropdownClickDropoff","dropoff","pauseDropdownHover","resetActiveItem","i_","len_","setActiveItem","getBreadcrumbs","breadcrumbs","submenuLink","getPageTitle","scrollReInit","hideDropdown","hideDropdowns","fetchTenantConfigAllList","updateTenantConfigAllList","getAllTenant","updateTenantRequest","runAddNewUsersToReportsRequest","deleteTenantRequest","addTenantRequest","stepNumber","RoleInitializer","RoleAdd","itemData","SelectAll","setSelectAll","SelectAllReportsView","setSelectAllReportsView","SelectAllReportsExport","setSelectAllReportsExport","calculateSelectAllReportPermissionsCheckBox","calculateSelectAllPermissionsCheckBox","childModules","cm","cp","selectAllReports","heandleChangeInput","FormGroup","row","itm","pre","pi","childIndex","heandleChangeValue","childItem","ci","childpre","cpi","parentIndex","heandleChangeValueChild","pannelList","tenantContentSidebar","tenantdetailrightcontent","paddingLeft","tenantMinContent","searchControl","rolesearchcontainer","hidden","selected","setIsSending","updateItem","setUpdateItem","roleToDelete","setRoleToDelete","setAddItem","userHasEditTenantPermission","setUserHasEditTenantPermission","hasPermission","initialRole","roleMessage","setExpandedRows","isRowExpanded","setExpandState","deleteClose","handleEpandRow","deleteConfirm","preven","openAddRow","close","closeAdd","Role","createdBy","createdOn","published","onOpenEditPage","CompanyPolicyList","CompanyPolicy","OrganisationAdd","formErrors","setFormErrors","setIsSubmitting","Name","levelID","ParentOrganisationID","organizationID","setInitialValue","onAddRow","borderLeft","setUpdatedRow","getExpandedRows","setAdd","organizationSuccess","organizationMassage","onUpdateRow","useImperativeHandle","getParentAdd","idColumnName","maxLevel","childRef","useRef","setPanelIndex","setPanelItem","setIsModalActive","editTenantIndutry","setEditTenantIndutry","heandleUpdate","tenantLevel","currentLevel","childOrganization","tenantLevels","ImportHirarchy","setOnShow","setFile","setFileName","checkFile","download","htmlFor","fileupload","submitBtn","gridTemplate","gridRow","gridColumn","cursor","onshow","Body","oActions","TableContainer","TableHead","levelName","scope","createEditorState","contentState","stateFromHTML","EditorState","createWithContent","TextEditor","onEditorStateChange","editorState","resetTest","convertToRaw","getCurrentContent","setContent","publishDate","tenantActions","goBack","blocks","getFilesOperation","StyledRadio","Radio","radioRoot","checkedIcon","radioIcon","FileOperationsSchemaSftp","server","folder","failedFilesFolder","FileOperationsSchema","azureConnString","azureFolder","azureFailedFilesFolder","letterSpacing","subtitle","outline","outlineOffset","filesValue","onSubmitFile","RadioGroup","connectionString","getElementsByName","clipboard","writeText","handleCopyToClipboard","readOnly","setRoles","updateData","setUpdateData","setFiles","setKey","setCefitDate","setAccept","setTableNameData","setColumnNameData","storeValue","setStoreValue","refreshMap","setRefreshMap","excName","fieldName","excTabName","excRulesName","defaultValues","setDefaultValues","testMappingsArray","sqlTableNamesStr","excelFieldsNamesStr","excNames","excelDetails","configuration","healthSystem","employerName","sheetName","sheetNames","sheetNSel","initCefit","setInitCefit","subscribe","tenantList","tableNameList","columnNameList","tenantAction","backToCefitsList","currentData","sheets","mappings","prepareUpload","paramsUpload","selectTableName","select","selectElement","L","removeOptions","findColumn","opt","onSubmiHendle","saveParams","prepearSubmit","onTestMapping","onCefitApprove","mappingValue","sourceBlobFileUrl","columnMappingJson","configurationStatus","onRefreshMaping","prepareRefresh","addNewRow","rows","removeRow","onCancleButton","cefit","saveCefit","handleFileInput","prevValues","selectDataType","setAcceptType","onChangedSheetName","onChangedRowsToSkip","CustomTableItem","onSelectChangeTableName","getValues","useFieldArray","fields","prepend","userHasUpdatePermission","setUserHasUpdatePermission","hasUpdatePermission","defaultValue","keyitem","tableitem","column","columnOption","createCol","getColumn","prependCol","removeRowItem","CustomTable","useForm","rowPerPage","setrowPerPage","striped","bordered","condensed","hover","addField","argument","removeField","CustomAddCol","inline","dropdownMenu","treeRoot","flexGrow","headLabelName","setValidated","validated","ReactDOM","findDOMNode","checkValidity","heandleChangeAccess","grandParent","orgAccessChildListOpen","setOrgAccessChildListOpen","renderOrganizationsAccessList","organizationAccess","List","dense","labelId","ListItem","ListItemIcon","tabIndex","ListItemText","ExpandLess","ExpandMore","Collapse","in","unmountOnExit","oaChild","oaChildlabelId","nested","Group","controlId","pattern","minLength","maxLength","Feedback","phipiiAccess","heandlephipiiChangeValue","organizationsAccess","flexWrap","userToDelete","setUserToDelete","rolePermissions","manageUserSuccess","manageUserMassage","allowedUsersExceeded","setAllowedUsersExceeded","ManageUserList","ManageUser","fetchConfigAll","createConfigRequest","updateConfigRequest","deleteUserRequest","configError","createFileOperationsRequest","updateFileOperationsRequest","deleteFileOperationsRequest","fetchAutoCleansing","fetchBasedCleansing","fetchCustomer","fetchStage","parmas","createManageUserByTenantId","deleteManageUserRequest","resetData","fetchCefitList","fetchCefitById","fetchCefitTableName","fetchUpdateExcel","fetchUpdate","fetchDelete","fetchTestMapping","fetchCefitApprove","fetchRefreshCifit","resetUpdateValue","getIcon","customFeedbackLabel","FieldFeedbackLabel","selectLabel","getFieldCSSClasses","withFeedbackLabel","InputGroup","Append","Text","Select","useField","meta","erros","CardHeaderTitle","scrollToTop","scrollToTopBtn","ProgressBar","initCssClasses","LoadingDialog","cssClasses","setCssClasses","timeoutId","getOrganisation","fetchUpdateRow","fetchAddRow","deleteOrganizationRequest","CefitEditSchema","CefitsEditForm","selectedIndex","classic","lastScrollTop","eventTriggerState","st","toggleClass","handle","getAllRoles","getAllTenantRoles","updateRoleRequest","addRoleCreateRequest","addRoleRequest","deleteRoleRequest","getRoleRequestById","getRoleRequestByTenantId","updateTenantIndustryRequest","addTenantIndustryRequest","deleteTenantIndustryRequest","updateTenantIndustryLevelsRequest","addTenantIndustryLevelsRequest","deleteTenantIndustryLevelsRequest","updateLevelsTypeRequest","addLevelsTypeRequest","deleteLevelsTypeRequest"],"mappings":"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","file":"static/js/main.9e0e196c.chunk.js","sourcesContent":["/****SnapShot Types****/\r\nexport const FETCH_CONFIG = \"FETCH_CONFIG\";\r\nexport const CREATE_CONFIG_REQUEST = \"CREATE_CONFIG_REQUEST\";\r\nexport const FETCH_CONFIG_SUCCESS = \"FETCH_CONFIG_SUCCESS\";\r\nexport const FETCH_CONFIG_FAILURE = \"FETCH_CONFIG_FAILURE\";\r\nexport const DELETE_CONFIG_REQUEST = \"DELETE_CONFIG_REQUEST\";\r\nexport const UPDATE_CONFIG_REQUEST = \"UPDATE_CONFIG_REQUEST\";\r\nexport const CONFIG_ERROR = \"CONFIG_ERROR\";\r\nexport const UPDATE_CONFIG_SUCCESS = \"UPDATE_CONFIG_SUCCESS\";\r\nexport const ADD_CONFIG_SUCCESS = \"ADD_CONFIG_SUCCESS\";\r\nexport const DELETE_CONFIG_SUCCESS = \"DELETE_CONFIG_SUCCESS\";\r\n/****File Operations****/\r\nexport const FETCH_FILE_OPERATIONS = \"FETCH_FILE_OPERATIONS\";\r\nexport const FETCH_FILE_OPERATIONS_SUCCESS = \"FETCH_FILE_OPERATIONS_SUCCESS\";\r\nexport const CREATE_FILE_OPERATIONS_REQUEST = \"CREATE_FILE_OPERATIONS_REQUEST\";\r\nexport const CREATE_FILE_OPERATIONS_SUCCESS = \"CREATE_FILE_OPERATIONS_SUCCESS\";\r\nexport const UPDATE_FILE_OPERATIONS_REQUEST = \"UPDATE_FILE_OPERATIONS_REQUEST\";\r\nexport const UPDATE_FILE_OPERATIONS_SUCCESS = \"UPDATE_FILE_OPERATIONS_SUCCESS\";\r\nexport const DELETE_FILE_OPERATIONS_REQUEST = \"DELETE_FILE_OPERATIONS_REQUEST\";\r\nexport const DELETE_FILE_OPERATIONS_SUCCESS = \"DELETE_FILE_OPERATIONS_SUCCESS\";\r\n/**** Automated Cleansing ****/\r\nexport const FETCH_AUTO_CLEANSING = 'FETCH_AUTO_CLEANSING';\r\nexport const FETCH_AUTO_CLEANSING_SUCCESS = \"FETCH_AUTO_CLEANSING_SUCCESS\";\r\n/**** Based Cleansing */\r\nexport const FETCH_BASED_CLEANSING_SUCCESS = \"FETCH_BASED_CLEANSING_SUCCESS\";\r\nexport const FETCH_BASED_CLEANSING = \"FETCH_BASED_CLEANSING\";\r\n/*** Customer ***/\r\nexport const FETCH_CUSTOMERS = \"FETCH_CUSTOMERS\";\r\nexport const FETCH_CUSTOMERS_SUCCESS = \"FETCH_CUSTOMERS_SUCCESS\";\r\n/*** Staging ***/\r\nexport const FETCH_STAGE = \"FETCH_STAGE\";\r\nexport const FETCH_STAGE_SUCCESS = \"FETCH_STAGE_SUCCESS\";\r\n/***********************RunTime************************/\r\nexport const FETCH_RUNTIME = 'FETCH_RUNTIME';\r\nexport const FETCH_RUNTIME_SUCCESS = 'FETCH_RUNTIME_SUCCESS';\r\nexport const FETCH_RUNTIME_FILTER = 'FETCH_RUNTIME_FILTER';\r\nexport const FETCH_RUNTIME_FILTER_SUCCESS = 'FETCH_RUNTIME_FILTER_SUCCESS';\r\nexport const FETCH_AUDIT = 'FETCH_AUDIT';\r\nexport const FETCH_AUDIT_FILTER = 'FETCH_AUDIT_FILTER';\r\nexport const FETCH_AUDIT_FILTER_SUCCESS = 'FETCH_AUDIT_FILTER_SUCCESS'\r\nexport const FETCH_AUDIT_SUCCESS = 'FETCH_AUDIT_SUCCESS';\r\nexport const FETCH_TABLEDATA = 'FETCH_TABLEDATA';\r\nexport const FETCH_TABLEDATA_SUCCESS = 'FETCH_TABLEDATA_SUCCESS';\r\nexport const UPDATE_TABLEDATA_REQUEST = 'UPDATE_TABLEDATA_REQUEST';\r\nexport const UPDATE_TABLEDATA_SUCCESS = 'UPDATE_TABLEDATA_SUCCESS';\r\n\r\n/****************************Reports******************************/\r\n\r\nexport const FETCH_REPORTS = 'FETCH_REPORTS';\r\nexport const FETCH_REPORTS_SUCCESS = 'FETCH_REPORTS_SUCCESS';\r\nexport const EXPORT_REPORT = 'EXPORT_REPORT';\r\nexport const EXPORT_REPORT_SUCCESS = 'EXPORT_REPORT_SUCCESS';\r\nexport const RESET_REPORT_FILE = 'RESET_REPORT_FILE';\r\n\r\n/****************************Global Config******************************/\r\n\r\nexport const FETCH_GLOBAL_CONFIG = \"FETCH_GLOBAL_CONFIG\";\r\nexport const FETCH_GLOBAL_CONFIG_SUCCESS = \"FETCH_GLOBAL_CONFIG_SUCCESS\";\r\nexport const FETCH_ALL_GLOBAL_CONFIG = \"FETCH_ALL_GLOBAL_CONFIG\";\r\nexport const FETCH_ALL_GLOBAL_CONFIG_SUCCESS = \"FETCH_ALL_GLOBAL_CONFIG_SUCCESS\";\r\nexport const UPDATE_GLOBAL_CONFIG_REQUEST = 'UPDATE_GLOBAL_CONFIG_REQUEST';\r\nexport const UPDATE_GLOBAL_CONFIG_SUCCESS = 'UPDATE_GLOBAL_CONFIG_SUCCESS';\r\nexport const ADD_GLOBAL_CONFIG_REQUEST = 'ADD_GLOBAL_CONFIG_REQUEST';\r\nexport const ADD_GLOBAL_CONFIG_SUCCESS = 'ADD_GLOBAL_CONFIG_SUCCESS';\r\nexport const DELETE_GLOBAL_CONFIG_REQUEST = 'DELETE_GLOBAL_CONFIG_REQUEST';\r\nexport const DELETE_GLOBAL_CONFIG_SUCCESS = 'DELETE_GLOBAL_CONFIG_SUCCESS';\r\nexport const GLOBAL_CONFIG_ERROR = 'GLOBAL_CONFIG_ERROR';\r\n\r\n/****************************Global Config******************************/\r\n\r\nexport const GET_ALL_POWERBI_CAPACITY_MANAGEMENT = \"GET_ALL_POWERBI_CAPACITY_MANAGEMENT\";\r\nexport const GET_ALL_POWERBI_CAPACITY_MANAGEMENT_SUCCESS = \"GET_ALL_POWERBI_CAPACITY_MANAGEMENT_SUCCESS\";\r\nexport const GET_ALL_CAPACITIES = \"GET_ALL_CAPACITIES\";\r\nexport const GET_ALL_CAPACITIES_SUCCESS = \"GET_ALL_CAPACITIES_SUCCESS\";\r\nexport const UPDATE_POWERBI_CAPACITY_MANAGEMENT = \"UPDATE_POWERBI_CAPACITY_MANAGEMENT\";\r\nexport const UPDATE_POWERBI_CAPACITY_MANAGEMENT_SUCCESS = \"UPDATE_POWERBI_CAPACITY_MANAGEMENT_SUCCESS\";\r\nexport const POWERBI_CAPACITY_MANAGEMENT_ERROR=\"POWERBI_CAPACITY_MANAGEMENT_ERROR\";\r\nexport const POWERBI_CAPACITY_MANAGEMENT_RESET=\"POWERBI_CAPACITY_MANAGEMENT_RESET\";\r\n/****************************Subscriptions******************************/\r\nexport const FETCH_ACTIVE_SUBSCRIPTIONS = \"FETCH_ACTIVE_SUBSCRIPTIONS\";\r\nexport const FETCH_ACTIVE_SUBSCRIPTIONS_SUCCESS = \"FETCH_ACTIVE_SUBSCRIPTIONS_SUCCESS\";\r\nexport const FETCH_ALL_SUBSCRIPTIONS = \"FETCH_ALL_SUBSCRIPTIONS\";\r\nexport const FETCH_ALL_SUBSCRIPTIONS_SUCCESS = \"FETCH_ALL_SUBSCRIPTIONS_SUCCESS\";\r\n\r\nexport const UPDATE_SUBSCRIPTIONS_REQUEST = 'UPDATE_SUBSCRIPTIONS_REQUEST';\r\nexport const UPDATE_SUBSCRIPTIONS_SUCCESS = 'UPDATE_SUBSCRIPTIONS_SUCCESS';\r\nexport const ADD_SUBSCRIPTIONS_REQUEST = 'ADD_SUBSCRIPTIONS_REQUEST';\r\nexport const ADD_SUBSCRIPTIONS_SUCCESS = 'ADD_SUBSCRIPTIONS_SUCCESS';\r\nexport const DELETE_SUBSCRIPTIONS_REQUEST = 'DELETE_SUBSCRIPTIONS_REQUEST';\r\nexport const DELETE_SUBSCRIPTIONS_SUCCESS = 'DELETE_SUBSCRIPTIONS_SUCCESS';\r\nexport const SUBSCRIPTIONS_ERROR = 'SUBSCRIPTIONS_ERROR'\r\n\r\n/****************************Tenant******************************/\r\n\r\nexport const FETCH_TENANT = \"FETCH_TENANT\";\r\nexport const FETCH_TENANT_SUCCESS = \"FETCH_TENANT_SUCCESS\";\r\nexport const FETCH_TENANT_BY_ID = \"FETCH_TENANT_BY_ID\";\r\nexport const FETCH_TENANT_BY_ID_SUCCESS = \"FETCH_TENANT_BY_ID_SUCCESS\";\r\nexport const UPDATE_TENANT_REQUEST = 'UPDATE_TENANT_REQUEST';\r\nexport const UPDATE_TENANT_SUCCESS = 'UPDATE_TENANT_SUCCESS';\r\nexport const ADD_TENANT_REQUEST = 'ADD_TENANT_REQUEST';\r\nexport const ADD_TENANT_SUCCESS = 'ADD_TENANT_SUCCESS';\r\nexport const DELETE_TENANT_REQUEST = 'DELETE_TENANT_REQUEST';\r\nexport const DELETE_TENANT_SUCCESS = 'DELETE_TENANT_SUCCESS';\r\nexport const FATCH_COUNTRY = 'FATCH_COUNTRY';\r\nexport const FATCH_COUNTRY_SUCCESS = 'FATCH_COUNTRY_SUCCESS';\r\nexport const FATCH_STATE = 'FATCH_STATE';\r\nexport const FATCH_STATE_SUCCESS = 'FATCH_STATE_SUCCESS';\r\nexport const TENANT_ACTIVE_STEP_SET = 'TENANT_ACTIVE_STEP_SET';\r\nexport const RUN_E2E_REQUEST = 'RUN_E2E_REQUEST';\r\nexport const RUN_E2E_SUCCESS = 'RUN_E2E_SUCCESS';\r\nexport const RUN_ADD_NEW_USERS_TO_REPORTS_REQUEST = 'RUN_ADD_NEW_USERS_TO_REPORTS_REQUEST';\r\nexport const RUN_ADD_NEW_USERS_TO_REPORTS_SUCCESS = 'RUN_ADD_NEW_USERS_TO_REPORTS_SUCCESS';\r\n/****************************TenantIndustry******************************/\r\n\r\nexport const GET_ALL_TENANTINDUSTRIES = \"GET_ALL_TENANTINDUSTRIES\";\r\nexport const GET_ALL_TENANTINDUSTRIES_SUCCESS = \"GET_ALL_TENANTINDUSTRIES_SUCCESS\";\r\n\r\nexport const GET_ACTIVE_TENANTINDUSTRIES = \"GET_ACTIVE_TENANTINDUSTRIES\";\r\nexport const GET_ACTIVE_TENANTINDUSTRIES_SUCCESS = \"GET_ACTIVE_TENANTINDUSTRIES_SUCCESS\";\r\n\r\nexport const UPDATE_TENANTINDUSTRY_REQUEST = 'UPDATE_TENANTINDUSTRY_REQUEST';\r\nexport const UPDATE_TENANTINDUSTRY_SUCCESS = 'UPDATE_TENANTINDUSTRY_SUCCESS';\r\nexport const ADD_TENANTINDUSTRY_REQUEST = 'ADD_TENANTINDUSTRY_REQUEST';\r\nexport const ADD_TENANTINDUSTRY_SUCCESS = 'ADD_TENANTINDUSTRY_SUCCESS';\r\nexport const DELETE_TENANTINDUSTRY_REQUEST = 'DELETE_TENANTINDUSTRY_REQUEST';\r\nexport const DELETE_TENANTINDUSTRY_SUCCESS = 'DELETE_TENANTINDUSTRY_SUCCESS';\r\nexport const TENANTINDUSTRY_ERROR = 'TENANTINDUSTRY_ERROR'\r\n\r\n/****************************TenantIndustryLevels******************************/\r\n\r\nexport const FETCH_TENANTINDUSTRY_LEVELS = \"FETCH_TENANTINDUSTRY_LEVELS\";\r\nexport const FETCH_TENANTINDUSTRY_LEVELS_SUCCESS = \"FETCH_TENANTINDUSTRY_LEVELS_SUCCESS\";\r\nexport const FETCH_TENANTINDUSTRY_BYID_LEVELS = \"FETCH_TENANTINDUSTRY_BYID_LEVELS\";\r\nexport const FETCH_TENANTINDUSTRY_BYID_LEVELS_SUCCESS = \"FETCH_TENANTINDUSTRY_BYID_LEVELS_SUCCESS\";\r\nexport const UPDATE_TENANTINDUSTRY_LEVELS_REQUEST = 'UPDATE_TENANTINDUSTRY_LEVELS_REQUEST';\r\nexport const UPDATE_TENANTINDUSTRY_LEVELS_SUCCESS = 'UPDATE_TENANTINDUSTRY_LEVELS_SUCCESS';\r\nexport const ADD_TENANTINDUSTRY_LEVELS_REQUEST = 'ADD_TENANTINDUSTRY_LEVELS_REQUEST';\r\nexport const ADD_TENANTINDUSTRY_LEVELS_SUCCESS = 'ADD_TENANTINDUSTRY_LEVELS_SUCCESS';\r\nexport const DELETE_TENANTINDUSTRY_LEVELS_REQUEST = 'DELETE_TENANTINDUSTRY_LEVELS_REQUEST';\r\nexport const DELETE_TENANTINDUSTRY_LEVELS_SUCCESS = 'DELETE_TENANTINDUSTRY_LEVELS_SUCCESS';\r\n\r\n/****************************LevelsType******************************/\r\n\r\nexport const FETCH_LEVELS_TYPE = \"FETCH_LEVELS_TYPE\";\r\nexport const FETCH_LEVELS_TYPE_SUCCESS = \"FETCH_LEVELS_TYPE_SUCCESS\";\r\nexport const UPDATE_LEVELS_TYPE_REQUEST = 'UPDATE_LEVELS_TYPE_REQUEST';\r\nexport const UPDATE_LEVELS_TYPE_SUCCESS = 'UPDATE_LEVELS_TYPE_SUCCESS';\r\nexport const ADD_LEVELS_TYPE_REQUEST = 'ADD_LEVELS_TYPE_REQUEST';\r\nexport const ADD_LEVELS_TYPE_SUCCESS = 'ADD_LEVELS_TYPE_SUCCESS';\r\nexport const DELETE_LEVELS_TYPE_REQUEST = 'DELETE_LEVELS_TYPE_REQUEST';\r\nexport const DELETE_LEVELS_TYPE_SUCCESS = 'DELETE_LEVELS_TYPE_SUCCESS';\r\n\r\n/****************************LevelsType******************************/\r\n\r\nexport const FETCH_ALL_TenantConfig=\"FETCH_ALL_TenantConfig\";\r\nexport const FETCH_TenantConfig_SUCCESS=\"FETCH_TenantConfig_SUCCESS\";\r\nexport const UPDATE_TenantConfig=\"UPDATE_TenantConfig\";\r\nexport const UPDATE_TenantConfig_success=\"UPDATE_TenantConfig_success\";\r\nexport const TenantConfig_Error = 'TenantConfig_Error'\r\n\r\n/************************organisation*******************************/\r\n\r\nexport const FETCH_ORGANISATION = \"FETCH_ORGANISATION\";\r\nexport const FETCH_ORGANISATION_SUCCESS = \"FETCH_ORGANISATION_SUCCESS\";\r\nexport const UPDATE_ORGANISATION_REQUEST = 'UPDATE_ORGANISATION_REQUEST';\r\nexport const UPDATE_ORGANISATION_SUCCESS = 'UPDATE_ORGANISATION_SUCCESS';\r\nexport const ADD_ORGANISATION_REQUEST = 'ADD_ORGANISATION_REQUEST';\r\nexport const ADD_ORGANISATION_SUCCESS = 'ADD_ORGANISATION_SUCCESS';\r\nexport const DELETE_ORGANIZATION_REQUEST = 'DELETE_ORGANIZATION_REQUEST';\r\nexport const DELETE_ORGANIZATION_SUCCESS = 'DELETE_ORGANIZATION_SUCCESS';\r\nexport const ORGANISATION_importHierarchyFile_REQUEST = 'ORGANISATION_importHierarchyFile_REQUEST';\r\nexport const ORGANISATION_importHierarchyFile_SUCCESS = 'ORGANISATION_importHierarchyFile_SUCCESS';\r\nexport const ORGANISATION_Error = 'ORGANISATION_Error'\r\n\r\n/****************************Role******************************/\r\n\r\nexport const FETCH_ALL_Role=\"FETCH_ALL_Role\";\r\nexport const FETCH_Role_SUCCESS=\"FETCH_Role_SUCCESS\";\r\nexport const FETCH_ALL_Role_tenant=\"FETCH_ALL_Role_tenant\";\r\nexport const FETCH_Role_Tenant_SUCCESS=\"FETCH_Role_Tenant_SUCCESS\";\r\nexport const ADD_Role_REQUEST=\"ADD_Role_REQUEST\";\r\nexport const ADD_Role_SUCCESS=\"ADD_Role_SUCCESS\";\r\nexport const ADD_Role_create_REQUEST=\"ADD_Role_create_REQUEST\";\r\nexport const ADD_Role_create_SUCCESS=\"ADD_Role_create_SUCCESS\"\r\nexport const UPDATE_Role_REQUEST=\"UPDATE_Role_REQUEST\";\r\nexport const UPDATE_Role_SUCCESS=\"UPDATE_Role_SUCCESS\";\r\nexport const DELETE_Role_Request=\"DELETE_Role_Request\";\r\nexport const DELETE_Role_SUCCESS=\"DELETE_Role_SUCCESS\";\r\nexport const FETCH_Role_BY_ID_REQUEST=\"FETCH_Role_BY_ID_REQUEST\";\r\nexport const FETCH_Role_BY_ID_SUCCESS=\"FETCH_Role_BY_ID_SUCCESS\"\r\nexport const FETCH_Role_BY_tenantID_REQUEST=\"FETCH_Role_BY_tenantID_REQUEST\"\r\nexport const FETCH_Role_BY_tenantID_SUCCESS=\"FETCH_Role_BY_tenantID_SUCCESS\"\r\nexport const Role_Error = 'Role_Error'\r\n\r\n/**************************Workspace***********************/\r\n\r\nexport const FETCH_WORKSPACE = \"FETCH_WORKSPACE\";\r\nexport const FETCH_WORKSPACE_SUCCESS = \"FETCH_WORKSPACE_SUCCESS\";\r\n\r\n/**************************Permission***********************/\r\n\r\nexport const FETCH_PERMISSION = \"FETCH_PERMISSION\";\r\nexport const FETCH_PERMISSION_SUCCESS = \"FETCH_PERMISSION_SUCCESS\";\r\nexport const SAVE_PERMISSION = \"SAVE_PERMISSION\";\r\nexport const SAVE_PERMISSION_SUCCESS = \"SAVE_PERMISSION_SUCCESS\";\r\nexport const ADD_PERMISSION = \"ADD_PERMISSION\";\r\nexport const ADD_PERMISSION_SUCCESS = \"ADD_PERMISSION_SUCCESS\";\r\nexport const PERMISSION_ERROR = 'PERMISSION_ERROR'\r\n\r\n/**************************CompanyPolicy***********************/\r\n\r\nexport const FETCH_COMPANYPOLICY = \"FETCH_COMPANYPOLICY\";\r\nexport const FETCH_COMPANYPOLICY_SUCCESS = \"FETCH_COMPANYPOLICY_SUCCESS\";\r\nexport const FETCH_COMPANYPOLICY_TENANT = \"FETCH_COMPANYPOLICY_TENANT\";\r\nexport const FETCH_COMPANYPOLICY_TENANT_SUCCESS = \"FETCH_COMPANYPOLICY_TENANT_SUCCESS\";\r\nexport const SAVE_COMPANYPOLICY = \"SAVE_COMPANYPOLICY\";\r\nexport const SAVE_COMPANYPOLICY_SUCCESS = \"SAVE_COMPANYPOLICY_SUCCESS\";\r\nexport const ADD_COMPANYPOLICY = \"ADD_COMPANYPOLICY\";\r\nexport const ADD_COMPANYPOLICY_SUCCESS = \"ADD_COMPANYPOLICY_SUCCESS\";\r\nexport const CREATE_COMPANYPOLICY = \"CREATE_COMPANYPOLICY\";\r\nexport const CREATE_COMPANYPOLICY_SUCCESS = \"CREATE_COMPANYPOLICY_SUCCESS\";\r\nexport const COMPANYPOLICY_PUBLISH = \"COMPANYPOLICY_PUBLISH\";\r\nexport const COMPANYPOLICY_PUBLISH_SUCCESS = \"COMPANYPOLICY_PUBLISH_SUCCESS\";\r\nexport const COMPANYPOLICY_ACCEPT = \"COMPANYPOLICY_ACCEPT\";\r\nexport const COMPANYPOLICY_ACCEPT_SUCCESS = \"COMPANYPOLICY_ACCEPT_SUCCESS\";\r\nexport const COMPANYPOLICY_LATEST = \"COMPANYPOLICY_LATEST\";\r\nexport const COMPANYPOLICY_LATEST_SUCCESS = \"COMPANYPOLICY_LATEST_SUCCESS\";\r\nexport const COMPANYPOLICY_LATEST_TENANT = \"COMPANYPOLICY_LATEST_TENANT\";\r\nexport const COMPANYPOLICY_LATEST_TENANT_SUCCESS = \"COMPANYPOLICY_LATEST_TENANT_SUCCESS\";\r\nexport const COMPANYPOLICY_ERROR = 'COMPANYPOLICY_ERROR'\r\n\r\n/**************************File Operations***********************/\r\n\r\nexport const FETCH_FILEOPERATION = \"FETCH_FILEOPERATION\";\r\nexport const FETCH_FILEOPERATION_SUCCESS = \"FETCH_FILEOPERATION_SUCCESS\";\r\nexport const SAVE_FILEOPERATION = \"SAVE_FILEOPERATION\";\r\nexport const SAVE_FILEOPERATION_SUCCESS = \"SAVE_FILEOPERATION_SUCCESS\";\r\nexport const ADD_FILEOPERATION = \"ADD_FILEOPERATION\";\r\nexport const ADD_FILEOPERATION_SUCCESS = \"ADD_FILEOPERATION_SUCCESS\";\r\n\r\n/************************ConfigureWorkspaces************************/\r\n\r\nexport const FETCH_ConfigureWorkspaces = 'FETCH_ConfigureWorkspaces';\r\nexport const FETCH_ConfigureWorkspaces_Success = 'FETCH_ConfigureWorkspaces_Success';\r\nexport const UPDATE_ConfigureWorkspaces = 'UPDATE_ConfigureWorkspaces'\r\nexport const UPDATE_ConfigureWorkspaces_Success = 'UPDATE_ConfigureWorkspaces_Success'\r\nexport const ConfigureWorkspaces_Error = 'ConfigureWorkspaces_Error'\r\n\r\n/***************************ManageUser****************************/\r\n\r\nexport const FETCH_MANAGEUSER_REQUEST = \"FETCH_MANAGEUSER_REQUEST\";\r\nexport const FETCH_MANAGEUSER_SUCCESS = \"FETCH_MANAGEUSER_SUCCESS\";\r\nexport const FETCH_MANAGEUSER_TENANTID_REQUEST = \"FETCH_MANAGEUSER_TENANTID_REQUEST\";\r\nexport const FETCH_MANAGEUSER_TENANTID_SUCCESS = \"FETCH_MANAGEUSER_TENANTID_SUCCESS\";\r\nexport const FETCH_MANAGEUSER_BYTENANTID_REQUEST = \"FETCH_MANAGEUSER_BYTENANTID_REQUEST\";\r\nexport const FETCH_MANAGEUSER_BYTENANTID_SUCCESS = \"FETCH_MANAGEUSER_BYTENANTID_SUCCESS\";\r\nexport const FETCH_MANAGEUSER_BYUSERID_REQUEST = \"FETCH_MANAGEUSER_BYUSERID_REQUEST\";\r\nexport const FETCH_MANAGEUSER_BYUSERID_SUCCESS = \"FETCH_MANAGEUSER_BYUSERID_SUCCESS\";\r\nexport const ADD_MANAGEUSER_REQUEST = \"ADD_MANAGEUSER_REQUEST\";\r\nexport const ADD_MANAGEUSER_SUCCESS = \"ADD_MANAGEUSER_SUCCESS\";\r\nexport const UPDATE_MANAGEUSER_REQUEST = \"UPDATE_MANAGEUSER_REQUEST\";\r\nexport const UPDATE_MANAGEUSER_SUCCESS = \"UPDATE_MANAGEUSER_SUCCESS\";\r\nexport const DELETE_MANAGEUSER_REQUEST = \"DELETE_MANAGEUSER_REQUEST\";\r\nexport const DELETE_MANAGEUSER_SUCCESS = \"DELETE_MANAGEUSER_SUCCESS\";\r\nexport const CREATE_MANAGEUSER_REQUEST = \"CREATE_MANAGEUSER_REQUEST\";\r\nexport const CREATE_MANAGEUSER_SUCCESS = \"CREATE_MANAGEUSER_SUCCESS\";\r\nexport const CREATE_MANAGEUSER_BYTENANTID_REQUEST = \"CREATE_MANAGEUSER_BYTENANTID_REQUEST\";\r\nexport const CREATE_MANAGEUSER_BYTENANTID_SUCCESS = \"CREATE_MANAGEUSER_BYTENANTID_SUCCESS\";\r\nexport const MANAGEUSER_ERROR = 'MANAGEUSER_ERROR';\r\nexport const RESET_MANAGEUSER_STORE_DATA = \"RESET_MANAGEUSER_STORE_DATA\";\r\n\r\n/****************************Manage Report******************************/\r\n\r\nexport const FETCH_MANAGE_REPORT = \"FETCH_MANAGE_REPORT\";\r\nexport const FETCH_MANAGE_REPORT_SUCCESS = \"FETCH_MANAGE_REPORT_SUCCESS\";\r\nexport const UPDATE_REPORT_REQUEST = \"UPDATE_REPORT_REQUEST\";\r\nexport const UPDATE_REPORT_SUCCESS = \"UPDATE_REPORT_SUCCESS\";\r\nexport const FETCH_REPORT_BY_MODULEID_REQUEST = 'FETCH_REPORT_BY_MODULEID_REQUEST';\r\nexport const FETCH_REPORT_BY_MODULEID_SUCCESS = 'FETCH_REPORT_BY_MODULEID_SUCCESS';\r\nexport const FETCH_REPORT_BY_ID_REQUEST = 'FETCH_REPORT_BY_ID_REQUEST';\r\nexport const FETCH_REPORT_BY_ID_SUCCESS = 'FETCH_REPORT_BY_ID_SUCCESS';\r\nexport const FETCH_REPORT_FROM_POWERBI_REQUEST = 'FETCH_REPORT_FROM_POWERBI_REQUEST';\r\nexport const FETCH_REPORT_FROM_POWERBI_SUCCESS = 'FETCH_REPORT_FROM_POWERBI_SUCCESS';\r\n\r\n/*******************************Modules************************************/\r\n\r\nexport const FETCH_MODULES = 'FETCH_MODULES'\r\nexport const FETCH_MODULES_SUCCESS = 'FETCH_MODULES_SUCCESS'\r\n\r\n/*******************************REPORT*************************************/\r\n\r\nexport const FETCH_REPORT_BY_REPORTID = 'FETCH_REPORT_BY_REPORTID';\r\nexport const FETCH_REPORT_BY_REPORTID_SUCCESS = 'FETCH_REPORT_BY_REPORTID_SUCCESS';\r\nexport const TENANT_ERROR = 'TENANT_ERROR'\r\nexport const RESET_STORE = 'RESET_STORE';\r\n\r\n/*******************************Cefit********************************/\r\n\r\nexport const FETCH_CEFIT_LIST = 'FETCH_CEFIT_LIST';\r\nexport const FETCH_CEFIT_LIST_SUCCESS = 'FETCH_CEFIT_LIST_SUCCESS';\r\nexport const FETCH_CEFIT_BY_ID = 'FETCH_CEFIT_BY_ID';\r\nexport const FETCH_CEFIT_BY_ID_SUCCESS = 'FETCH_CEFIT_BY_ID_SUCCESS'\r\nexport const FETCH_CEFIT_TABLE_NAME = 'FETCH_CEFIT_TABLE_NAME';\r\nexport const FETCH_CEFIT_TABLE_NAME_SUCCESS = 'FETCH_CEFIT_TABLE_NAME_SUCCESS';\r\nexport const FETCH_CEFIT_COLUMN_NAME = 'FETCH_CEFIT_COLUMN_NAME';\r\nexport const FETCH_CEFIT_COLUMN_NAME_SUCCESS = 'FETCH_CEFIT_COLUMN_NAME_SUCCESS';\r\nexport const FETCH_CEFIT_UPDATE_EXCEL = 'FETCH_CEFIT_UPDATE_EXCEL';\r\nexport const FETCH_CEFIT_UPDATE_EXCEL_SUCCESS = 'FETCH_CEFIT_UPDATE_EXCEL_SUCCESS';\r\nexport const FETCH_CEFIT_UPDATE = 'FETCH_CEFIT_UPDATE';\r\nexport const FETCH_CEFIT_UPDATE_SUCCESS = 'FETCH_CEFIT_UPDATE_SUCCESS';\r\nexport const FETCH_CEFIT_CREATE = 'FETCH_CEFIT_CREATE';\r\nexport const FETCH_CEFIT_CREATE_SUCCESS = 'FETCH_CEFIT_CREATE_SUCCESS';\r\nexport const FETCH_CEFIT_DELETE = 'FETCH_CEFIT_DELETE';\r\nexport const FETCH_CEFIT_DELETE_SUCCESS = 'FETCH_CEFIT_DELETE_SUCCESS';\r\nexport const FETCH_CEFIT_TEST = 'FETCH_CEFIT_TEST';\r\nexport const FETCH_CEFIT_TEST_SUCCESS = 'FETCH_CEFIT_TEST_SUCCESS';\r\nexport const FETCH_CEFIT_APPROVE = 'FETCH_CEFIT_APPROVE';\r\nexport const FETCH_CEFIT_APPROVE_SUCCESS = 'FETCH_CEFIT_APPROVE_SUCCESS';\r\nexport const FETCH_CEFIT_REFRESH = 'FETCH_CEFIT_REFRESH';\r\nexport const FETCH_CEFIT_REFRESH_SUCCESS = 'FETCH_CEFIT_REFRESH_SUCCESS';\r\nexport const RESET_UPDATE_VALUE = 'RESET_UPDATE_VALUE'\r\nexport const CEFIT_ERROR = 'CEFIT_ERROR'","import { persistReducer } from \"redux-persist\";\r\nimport storage from \"redux-persist/lib/storage\";\r\n\r\nconst actionTypes = {\r\n SetLanguage: \"i18n/SET_LANGUAGE\"\r\n};\r\n\r\nconst initialState = {\r\n lang: \"en\"\r\n};\r\n\r\nexport const reducer = persistReducer(\r\n { storage, key: \"i18n\" },\r\n (state = initialState, action) => {\r\n switch (action.type) {\r\n case actionTypes.SetLanguage:\r\n return { ...state, lang: action.payload.lang };\r\n\r\n default:\r\n return state;\r\n }\r\n }\r\n);\r\n\r\nexport const actions = {\r\n setLanguage: lang => ({ type: actionTypes.SetLanguage, payload: { lang } })\r\n};\r\n","import axios from \"axios\";\r\nimport mockAuth from \"../../_metronic/__mocks__/mockAuth\";\r\nimport { toAbsoluteUrl } from \"../../_metronic/utils/utils\";\r\nexport const LOGIN_URL = \"Users/authenticate\";\r\nexport const REGISTER_URL = \"api/auth/register\";\r\nexport const REQUEST_PASSWORD_URL = \"email/forgotpassword\";\r\nexport const USER_DETAILS = 'users/VerifyUser?email='\r\nexport const SIGNUP_URL=\"users/VerifyUserSignUp\";\r\nexport const ME_URL = \"api/me\";\r\nexport const USERBYID_URL=\"users/getuserbyid\";\r\nexport const RESET_URL=\"email/resetpassword\";\r\n\r\nexport function checkIfCorrectSubdomain(){\r\n return axios.get(\"Users/isCorrectSubdomain\");\r\n}\r\n\r\nexport function login(email, password) {\r\n return axios.post(LOGIN_URL, { userName: email, Password: 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 passwordUpdate(params) {\r\n return axios.put(SIGNUP_URL, params);\r\n}\r\n\r\nexport function resetPassword(params){\r\n return axios.post(RESET_URL,params)\r\n}\r\nexport function GetUsersByID(params) {\r\n return axios.get(`${USERBYID_URL}/${params.userId}`, params);\r\n}\r\nexport function CheckResetPasswordLinkExpired(params){\r\n return axios.get('Email/CheckResetPasswordLinkExpired', {params:params});\r\n}\r\nexport function CheckUserSignUpLinkExpired(params){\r\n return axios.get('users/CheckUserSignUpLinkExpired', {params:params});\r\n}\r\nexport function requestPassword(email) {\r\n return axios.post(REQUEST_PASSWORD_URL, { email });\r\n}\r\n\r\nexport function getUserByToken(azureUser) {\r\n // const userdetails = azureUser\r\n const params = {\r\n \"firstName\": azureUser.name.split(\" \")[0],\r\n \"lastName\": azureUser.name.split(\" \")[1],\r\n \"Email\": azureUser.email,\r\n \"phoneNumber\":azureUser.phoneNumber\r\n }\r\n return axios(\r\n {\r\n method: 'post',\r\n url: `users/VerifyUser`,\r\n data: params\r\n }\r\n );\r\n}\r\n\r\nexport function getUserByTokenOne(azureUser) {\r\n const params = {\r\n \"firstName\": azureUser.oneUser.firstName,\r\n \"lastName\": azureUser.oneUser.lastName,\r\n \"Email\": azureUser.oneUser.email,\r\n \"phoneNumber\":azureUser.oneUser.phoneNumber\r\n\r\n }\r\n return axios(\r\n {\r\n method: 'post',\r\n url: `users/VerifyUser`,\r\n data: params\r\n }\r\n );\r\n}\r\n\r\n// const fakeLoginRequest = username =>\r\n// new Promise((resolve, reject) =>\r\n// setTimeout(() => {\r\n// username === \"foo\" ? resolve(username) : reject(\"No such user\");\r\n// }, 1000),\r\n// );\r\n\r\n// const data = {\r\n// id: 1,\r\n// username: \"admin\",\r\n// password: \"demo\",\r\n// email: \"demo@jadebiz.com\",\r\n// accessToken: \"access-token-8f3ae836da744329a6f93bf20594b5cc\",\r\n// refreshToken: \"access-token-f8c137a2c98743f48b643e71161d90aa\",\r\n// roles: [1], // Administrator\r\n// pic: toAbsoluteUrl(\"/media/users/300_25.jpg\"),\r\n// fullname: \"Demo Uder\",\r\n// occupation: \"CEO\",\r\n// companyName: \"Keenthemes\",\r\n// phone: \"456669067890\",\r\n// address: {\r\n// addressLine: \"L-12-20 Vertex, Cybersquare\",\r\n// city: \"San Francisco\",\r\n// state: \"California\",\r\n// postCode: \"45000\"\r\n// },\r\n// socialNetworks: {\r\n// linkedIn: \"https://linkedin.com/admin\",\r\n// facebook: \"https://facebook.com/admin\",\r\n// twitter: \"https://twitter.com/admin\",\r\n// instagram: \"https://instagram.com/admin\"\r\n// }\r\n// }\r\n","import * as utils from \"../../_metronic/utils/utils\";\r\n\r\nconst localStorageLastLocationKey = \"demo1-lastLocation\";\r\n\r\nconst 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 const saveLastLocation = (lastLocation) => {\r\n const localStorateLocations = utils.getStorage(localStorageLastLocationKey);\r\n let _useLocations = localStorateLocations\r\n ? JSON.parse(localStorateLocations)\r\n : [];\r\n\r\n if (acceptLocation(lastLocation)) {\r\n _useLocations.push(lastLocation.pathname);\r\n utils.setStorage(\r\n localStorageLastLocationKey,\r\n JSON.stringify(_useLocations),\r\n 120\r\n );\r\n }\r\n}\r\n\r\nexport const forgotLastLocation = () => {\r\n utils.removeStorage(localStorageLastLocationKey);\r\n}\r\n\r\nexport const getLastLocation = () => {\r\n const localStorateLocations = utils.getStorage(localStorageLastLocationKey);\r\n if (!localStorateLocations) {\r\n return \"/\";\r\n }\r\n\r\n const _userLocations = JSON.parse(localStorateLocations);\r\n const result = _userLocations.length > 0 ? _userLocations.pop() : \"/\";\r\n return result;\r\n}\r\n","import { persistReducer } from \"redux-persist\";\r\nimport storage from \"redux-persist/lib/storage\";\r\nimport { put, takeLatest, call } from \"redux-saga/effects\";\r\nimport { AuthenticationActions, AuthenticationState } from 'react-aad-msal';\r\nimport { getUserByToken, getUserByTokenOne } from \"../../crud/auth.crud\";\r\nimport * as routerHelpers from \"../../router/RouterHelpers\";\r\nimport { toAbsoluteUrl } from \"../../../_metronic/utils/utils\";\r\n\r\nexport const actionTypes = {\r\n Login: \"[Login] Action\",\r\n OneLogin: \"[OneLogin] Action\",\r\n Logout: \"[Logout] Action\",\r\n Register: \"[Register] Action\",\r\n UserRequested: \"[Request User] Action\",\r\n UserRequestedOne: \"[User Requested One] Action\",\r\n UserLoaded: \"[Load User] Auth API\"\r\n};\r\n\r\nconst initialAuthState = {\r\n user: undefined,\r\n oneUser: undefined,\r\n azureUser: undefined,\r\n accessToken: undefined\r\n};\r\n\r\nexport const reducer = persistReducer(\r\n { storage, key: \"demo1-auth\", whitelist: [\"user\", \"accessToken\"] },\r\n (state = initialAuthState, action) => {\r\n switch (action.type) {\r\n case actionTypes.Login: {\r\n \r\n // console.log(\"Login\", state, action.payload );\r\n const { accessToken } = action.payload;\r\n return { accessToken: action.payload.accessToken.jwtIdToken, azureUser: action.payload.accessToken.account };\r\n }\r\n\r\n case actionTypes.OneLogin: {\r\n // console.log(\"OneLogin\", state, action.payload );\r\n return {accessToken: action.payload.accessToken, oneUser: action.payload.oneUser};\r\n }\r\n\r\n case actionTypes.Register: {\r\n const { accessToken } = action.payload;\r\n return { accessToken, user: action.payload.oneUser };\r\n }\r\n\r\n case actionTypes.UserRequestedOne: {\r\n \r\n // console.log(\"UserRequestedOne\", state, action.payload );\r\n return { \r\n ...state,\r\n accessToken: action.payload.accessToken, \r\n user: undefined//action.payload.oneUser \r\n };\r\n }\r\n\r\n case actionTypes.Logout: {\r\n routerHelpers.forgotLastLocation();\r\n sessionStorage.removeItem('accessToken');\r\n return initialAuthState;\r\n }\r\n\r\n case actionTypes.UserLoaded: {\r\n // console.log(\"UserLoaded\", state, action.payload );\r\n\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: (accessToken, azureUser) => ({ \r\n type: actionTypes.Login, \r\n payload: { accessToken, azureUser } \r\n }),\r\n\r\n oneLogin: (accessToken, oneUser) => ({ \r\n type: actionTypes.OneLogin, \r\n payload: {accessToken, oneUser}\r\n }),\r\n\r\n register: accessToken => ({\r\n type: actionTypes.Register,\r\n payload: { accessToken }\r\n }),\r\n logout: () => ({ \r\n type: actionTypes.Logout \r\n }),\r\n requestUser: (user, azureUser) => ({\r\n type: actionTypes.UserRequested,\r\n payload: { user, azureUser },\r\n }),\r\n requestUserOne: (accessToken, oneUser) => ({\r\n type: actionTypes.UserRequestedOne,\r\n payload: {accessToken, oneUser},\r\n }),\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({payload}) {\r\n yield put(actions.requestUser(undefined, payload.accessToken.account));\r\n });\r\n\r\n yield takeLatest(actionTypes.OneLogin, function* loginSagaOne({payload}) {\r\n yield put(actions.requestUserOne(payload.accessToken, payload.oneUser));\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({payload}) {\r\n const { data: user } = yield call(getUserByToken, payload.azureUser);\r\n if(user.statusCode === 200){\r\n yield put(actions.fulfillUser(user['result']));\r\n } else {\r\n yield put(actions.logout());\r\n }\r\n \r\n });\r\n\r\n yield takeLatest(actionTypes.UserRequestedOne, function* ({payload}) {\r\n const { data: user } = yield call(getUserByTokenOne, payload);\r\n if(user.statusCode === 200){\r\n yield put(actions.fulfillUser(user['result']));\r\n } else {\r\n yield put(actions.logout());\r\n }\r\n \r\n });\r\n}\r\n","\r\nimport {actions} from \"../../app/store/ducks/auth.duck\";\r\n\r\nexport 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\r\nexport const LastRequestDateTime_Key = \"lrdt\";\r\nexport function setupAxios(axios, store) {\r\n axios.interceptors.request.use(\r\n config => {\r\n const {\r\n auth: {accessToken, user }\r\n } = store.getState(); \r\n // console.log(\"Utils\", accessToken, user);\r\n // if(accessToken !== user?.accessToken)\r\n // console.log(\"Utils accessToken is not same as that of user's accesstoken\");\r\n if(accessToken && user ){ // \r\n let lastRequestDateTime = getStorage(LastRequestDateTime_Key);\r\n if(!lastRequestDateTime){\r\n lastRequestDateTime = Date.now();\r\n setStorage(LastRequestDateTime_Key, lastRequestDateTime);\r\n // console.log(`util: session didn't have lastRequestDateTime, added new ${new Date(lastRequestDateTime)}`);\r\n }else{\r\n const sessionTimeout = parseInt(user.sessionTimeout)||1;\r\n // console.log(\"util: sessionTimeout\", user.sessionTimeout, sessionTimeout);\r\n const currentRequestDateTime = Date.now();\r\n var duration = parseInt((currentRequestDateTime-lastRequestDateTime)/(60000)); // in minutes\r\n // console.log(`util: Duration ${duration}`,new Date(lastRequestDateTime), new Date(currentRequestDateTime));\r\n // if DateTime.now() - lastRequestDateTime >= sessionTimeout\r\n // console.log(`util: Duration ${duration}`,new Date(parseInt(lastRequestDateTime)), new Date(currentRequestDateTime));\r\n if(duration >= sessionTimeout){\r\n // logout user and redirect to login screen\r\n removeStorage(LastRequestDateTime_Key);\r\n store.dispatch(actions.logout());\r\n return config;\r\n\r\n }else{\r\n setStorage(LastRequestDateTime_Key, currentRequestDateTime);\r\n // console.log(`util: lastRequestDateTime has been reset to ${new Date(currentRequestDateTime)}`);\r\n } \r\n\r\n // at main layout there should be timeInterval running every minute to check if user session timedout, log him out\r\n } \r\n config.headers.Authorization = `Bearer ${accessToken}`;\r\n }\r\n return config;\r\n },\r\n err => Promise.reject(err)\r\n );\r\n}\r\n\r\n/* removeStorage: removes a key from localStorage and its sibling expiracy key\r\n params:\r\n key : localStorage key to remove\r\n returns:\r\n : telling if operation succeeded\r\n */\r\nexport function removeStorage(key) {\r\n try {\r\n localStorage.setItem(key, \"\");\r\n localStorage.setItem(key + \"_expiresIn\", \"\");\r\n } catch (e) {\r\n // console.log(\r\n // \"removeStorage: Error removing key [\" +\r\n // key +\r\n // \"] from localStorage: \" +\r\n // JSON.stringify(e)\r\n // );\r\n return false;\r\n }\r\n return true;\r\n}\r\n\r\n/* getStorage: retrieves a key from localStorage previously set with setStorage().\r\n params:\r\n key : localStorage key\r\n returns:\r\n : value of localStorage key\r\n null : in case of expired key or failure\r\n */\r\nexport function getStorage(key) {\r\n const now = Date.now();\r\n let expiresIn = localStorage.getItem(key + \"_expiresIn\");\r\n if (expiresIn === undefined || expiresIn === null) {\r\n expiresIn = 0;\r\n }\r\n\r\n expiresIn = Math.abs(expiresIn);\r\n if (expiresIn < now) {\r\n // Expired\r\n removeStorage(key);\r\n return null;\r\n } else {\r\n try {\r\n const value = localStorage.getItem(key);\r\n return value;\r\n } catch (e) {\r\n // console.log(\r\n // \"getStorage: Error reading key [\" +\r\n // key +\r\n // \"] from localStorage: \" +\r\n // JSON.stringify(e)\r\n // );\r\n return null;\r\n }\r\n }\r\n}\r\n/* setStorage: writes a key into localStorage setting a expire time\r\n params:\r\n key : localStorage key\r\n value : localStorage value\r\n expires : number of seconds from now to expire the key\r\n returns:\r\n : telling if operation succeeded\r\n */\r\nexport function setStorage(key, value, expires) {\r\n if (expires === undefined || expires === null) {\r\n expires = 24 * 60 * 60; // default: seconds for 1 day\r\n }\r\n\r\n const now = Date.now(); //millisecs since epoch time, lets deal only with integer\r\n const schedule = now + expires * 1000;\r\n try {\r\n localStorage.setItem(key, value);\r\n localStorage.setItem(key + \"_expiresIn\", schedule);\r\n } catch (e) {\r\n // console.log(\r\n // \"setStorage: Error setting key [\" +\r\n // key +\r\n // \"] in localStorage: \" +\r\n // JSON.stringify(e)\r\n // );\r\n return false;\r\n }\r\n return true;\r\n}\r\n","import { toAbsoluteUrl } from \"../utils/utils\";\r\n\r\nexport const initLayoutConfig = {\r\n demo: \"demo1\",\r\n // == Base Layout\r\n self: {\r\n layout: \"fluid\",\r\n // body: { \"background-image\": toAbsoluteUrl(\"/media/misc/bg-1.jpg\") },\r\n logo: {\r\n dark: toAbsoluteUrl(\"/media/logos/logo-light.png\"),\r\n light: toAbsoluteUrl(\"/media/logos/logo-light.png\"),\r\n brand: toAbsoluteUrl(\"/media/logos/logo-light.png\"),\r\n green: toAbsoluteUrl(\"/media/logos/logo-light.png\")\r\n }\r\n },\r\n // == Portlet Plugin\r\n // portlet: {\r\n // sticky: {\r\n // offset: 50\r\n // }\r\n // },\r\n // == Page Splash Screen loading\r\n loader: {\r\n enabled: true,\r\n type: \"spinner-logo\",\r\n logo: toAbsoluteUrl(\"/media/logos/logo-mini-md.png\"),\r\n message: \"Please wait...\"\r\n },\r\n // == Colors for javascript\r\n colors: {\r\n state: {\r\n brand: \"#5d78ff\",\r\n dark: \"#282a3c\",\r\n light: \"#ffffff\",\r\n primary: \"#5867dd\",\r\n success: \"#34bfa3\",\r\n info: \"#36a3f7\",\r\n warning: \"#ffb822\",\r\n danger: \"#fd3995\"\r\n },\r\n base: {\r\n label: [\"#c5cbe3\", \"#a1a8c3\", \"#3d4465\", \"#3e4466\"],\r\n shape: [\"#f0f3ff\", \"#d9dffa\", \"#afb4d4\", \"#646c9a\"]\r\n }\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 skin: \"light\",\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\",\r\n \"root-arrow\": false,\r\n \"icon-style\": \"duotone\"\r\n },\r\n desktop: {\r\n arrow: true,\r\n toggle: \"click\",\r\n submenu: {\r\n skin: \"light\",\r\n arrow: true\r\n }\r\n },\r\n mobile: {\r\n submenu: {\r\n skin: \"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'\r\n },\r\n content: {\r\n width: \"fluid\"\r\n },\r\n brand: {\r\n self: {\r\n skin: \"light\"\r\n }\r\n },\r\n aside: {\r\n self: {\r\n skin: \"light\",\r\n display: true,\r\n fixed: true,\r\n minimize: {\r\n toggle: true,\r\n default: false\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\",\r\n scroll: false,\r\n \"icon-style\": \"duotone\",\r\n submenu: {\r\n accordion: true,\r\n dropdown: {\r\n arrow: true,\r\n \"hover-timeout\": 100\r\n }\r\n }\r\n }\r\n }, \r\n tenant: {\r\n self: {\r\n skin: \"light\",\r\n display: true,\r\n fixed: true,\r\n minimize: {\r\n toggle: true,\r\n default: false\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\",\r\n scroll: false,\r\n \"icon-style\": \"duotone\",\r\n submenu: {\r\n accordion: true,\r\n dropdown: {\r\n arrow: true,\r\n \"hover-timeout\": 100\r\n }\r\n }\r\n }\r\n },\r\n footer: {\r\n self: {\r\n width: 'fluid',\r\n fixed: false\r\n }\r\n }\r\n};\r\n\r\nlet LayoutConfig = JSON.parse(JSON.stringify(initLayoutConfig)); // deep object copy\r\nexport default LayoutConfig;","import axios from \"axios\";\r\nimport { toAbsoluteUrl } from \"../../_metronic/utils/utils\";\r\nconst url = 'Modules/getAllModules';\r\n\r\nexport function getMenuItem () {//https://app-security-dev.azurewebsites.net/api/\r\n return axios.get(`${process.env.REACT_APP_SECURITY_API}${url}`).then(res => {\r\n const menuitem = res.data.result\r\n return menuitem;\r\n });\r\n}\r\n\r\nconst menu = {\r\n header: {\r\n self: {\r\n skin: \"light\"\r\n },\r\n items: []\r\n },\r\n aside: {\r\n self: {},\r\n items: []\r\n }\r\n};\r\n\r\nexport default menu;","import objectPath from \"object-path\";\r\nimport { persistReducer } from \"redux-persist\";\r\nimport storage from \"redux-persist/lib/storage\";\r\n\r\nimport LayoutConfig from \"../layout/LayoutConfig\";\r\nimport MenuConfig from \"../layout/MenuConfig\";\r\n\r\nexport const actionTypes = {\r\n SetMenuConfig: \"builder/SET_MENU_CONFIG\",\r\n SetLayoutConfigs: \"builder/SET_LAYOUT_CONFIGS\",\r\n SetLayoutConfigsWithPageRefresh: \"builder/SET_LAYOUT_CONFIGS_WITH_PAGE_REFRESH\",\r\n SetHtmlClassService: \"builder/SET_HTML_CLASS_SERVICE\"\r\n};\r\n\r\nexport const selectors = {\r\n getClasses: (store, params) => {\r\n const { htmlClassServiceObjects } = store.builder;\r\n\r\n return htmlClassServiceObjects\r\n ? htmlClassServiceObjects.getClasses(params.path, params.toString)\r\n : \"\";\r\n },\r\n getAttributes: (store, params) => {\r\n if (params.path) {\r\n // if path is specified, get the value within object\r\n const { htmlClassServiceObjects } = store.builder;\r\n\r\n return htmlClassServiceObjects\r\n ? htmlClassServiceObjects.getAttributes(params.path)\r\n : []; }\r\n\r\n return [];\r\n },\r\n getConfig: (state, path) => {\r\n const { layoutConfig } = state.builder;\r\n\r\n if (path) {\r\n // if path is specified, get the value within object\r\n return objectPath.get(layoutConfig, path);\r\n }\r\n\r\n return \"\";\r\n },\r\n\r\n getLogo: ({ builder: { layoutConfig } }) => {\r\n const menuAsideLeftSkin = objectPath.get(layoutConfig, \"brand.self.skin\");\r\n // set brand logo\r\n const logoObject = objectPath.get(layoutConfig, \"self.logo\");\r\n let logo;\r\n if (typeof logoObject === \"string\") {\r\n logo = logoObject;\r\n }\r\n\r\n if (typeof logoObject === \"object\") {\r\n logo = objectPath.get(logoObject, menuAsideLeftSkin + \"\");\r\n }\r\n\r\n if (typeof logo === \"undefined\") {\r\n try {\r\n const logos = objectPath.get(this.layoutConfig, \"self.logo\");\r\n logo = logos[Object.keys(logos)[0]];\r\n } catch (e) {}\r\n }\r\n return logo;\r\n },\r\n\r\n getStickyLogo: store => {\r\n const { layoutConfig } = store.builder;\r\n let logo = objectPath.get(layoutConfig, \"self.logo.sticky\");\r\n if (typeof logo === \"undefined\") {\r\n logo = selectors.getLogo(store);\r\n }\r\n return logo + \"\";\r\n }\r\n};\r\n\r\nconst initialState = {\r\n menuConfig: MenuConfig,\r\n layoutConfig: LayoutConfig,\r\n htmlClassServiceObjects: undefined\r\n};\r\n\r\nexport const reducer = persistReducer(\r\n {\r\n storage,\r\n key: \"build-demo1\",\r\n blacklist: [\"htmlClassServiceObjects\"]\r\n },\r\n (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case actionTypes.SetMenuConfig:\r\n return { ...state, menuConfig: payload };\r\n\r\n case actionTypes.SetLayoutConfigs:\r\n return { ...state, layoutConfig: payload };\r\n\r\n case actionTypes.SetLayoutConfigsWithPageRefresh: {\r\n return {...state, layoutConfig: payload};\r\n }\r\n case actionTypes.SetHtmlClassService:\r\n return { ...state, htmlClassServiceObjects: payload };\r\n\r\n default:\r\n return state;\r\n }\r\n }\r\n);\r\n\r\nexport const actions = {\r\n setMenuConfig: payload => ({ payload, type: actionTypes.SetMenuConfig }),\r\n\r\n setLayoutConfigs: payload => ({\r\n payload,\r\n type: actionTypes.SetLayoutConfigs\r\n }),\r\n\r\n setLayoutConfigsWithPageRefresh: payload => ({\r\n payload,\r\n type: actionTypes.SetLayoutConfigsWithPageRefresh\r\n }),\r\n\r\n setHtmlClassService: payload => ({\r\n payload,\r\n type: actionTypes.SetHtmlClassService\r\n })\r\n};\r\n","import React, {\r\n createContext,\r\n useContext,\r\n useEffect,\r\n useMemo,\r\n useReducer\r\n} from \"react\";\r\n\r\n/**\r\n * Both context used to create inside react `redux`-like global state managed\r\n * entirely by react.\r\n *\r\n * @see https://kentcdodds.com/blog/how-to-use-react-context-effectively\r\n */\r\n\r\nconst LayoutContext = {\r\n /**\r\n * Stores layout state, can be consumed globally.\r\n */\r\n State: createContext(null),\r\n\r\n /**\r\n * Stores `dispatch` function to update layout state, intended to be internal.\r\n */\r\n Dispatch: createContext(null)\r\n};\r\n\r\n/**\r\n * Layout action types, used to filter out dispatched actions.\r\n */\r\nconst actionTypes = {\r\n /**\r\n * Initializes layout state from provided `{ pathname, menuConfig }` action\r\n * payload.\r\n */\r\n INIT: \"INIT\",\r\n\r\n /**\r\n * Updates current subheader from provided `{ title }` action payload.\r\n */\r\n SET_SUBHEADER: \"SET_SUBHEADER\",\r\n\r\n /**\r\n * Controls splash screen visibility.\r\n */\r\n SHOW_SPLASH_SCREEN: \"SHOW_SPLASH_SCREEN\",\r\n HIDE_SPLASH_SCREEN: \"HIDE_SPLASH_SCREEN\"\r\n};\r\n\r\n/**\r\n * Recursively runs over `items` to find `pageConfig` of `currentPage`.\r\n *\r\n * Returns `undefined` if there are no matches.\r\n */\r\nconst findPageConfig = (currentPage, items, breadcrumbs) => {\r\n // Ignore non array `items`.\r\n if (!items || !Array.isArray(items)) {\r\n return;\r\n }\r\n\r\n for (const item of items) {\r\n // Return `item` if it's `page` matches `currentPage`\r\n if (currentPage === item.page && !item.submenu) {\r\n return item;\r\n }\r\n\r\n // Try to `pageConfig` in `item.submenu` if it is defined.\r\n if (item.submenu) {\r\n const pageConfig = findPageConfig(currentPage, item.submenu, breadcrumbs);\r\n if (pageConfig) {\r\n breadcrumbs.push(item);\r\n return pageConfig;\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Used to lazily create initial layout state.\r\n */\r\nconst init = ({ pathname, menuConfig }) => {\r\n const currentPage = pathname.slice(1 /* Remove leading slash. */);\r\n let breadcrumbs = [];\r\n // const pageConfig =\r\n // findPageConfig(currentPage, menuConfig.aside.items, breadcrumbs) ||\r\n // findPageConfig(currentPage, menuConfig.header.items, breadcrumbs);\r\n\r\n breadcrumbs.reverse();\r\n const state = { subheader: { title: \"\", breadcrumb: [], description: \"\" }, splashScreen: { refs: {} } };\r\n // if (pageConfig) {\r\n // breadcrumbs.push(pageConfig);\r\n // state.subheader.title = pageConfig.title;\r\n // state.subheader.breadcrumb = breadcrumbs;\r\n // }\r\n\r\n return state;\r\n}\r\n\r\nconst reducer = (state, { type, payload }) => {\r\n if (type === actionTypes.INIT) {\r\n const nextState = init(payload);\r\n\r\n // Update only subheader.\r\n return { ...state, subheader: nextState.subheader };\r\n }\r\n\r\n if (type === actionTypes.SET_SUBHEADER) {\r\n return { ...state, subheader: payload };\r\n }\r\n\r\n if (type === actionTypes.SHOW_SPLASH_SCREEN) {\r\n return {\r\n ...state,\r\n splashScreen: {\r\n ...state.splashScreen,\r\n refs: { ...state.splashScreen.refs, [payload.id]: true }\r\n }\r\n };\r\n }\r\n\r\n if (type === actionTypes.HIDE_SPLASH_SCREEN) {\r\n const { [payload.id]: skip, ...nextRefs } = state.splashScreen.refs;\r\n\r\n return {\r\n ...state,\r\n splashScreen: { ...state.splashScreen, refs: nextRefs }\r\n };\r\n }\r\n\r\n return state;\r\n}\r\n\r\n/**\r\n * Creates layout reducer and provides it's `state` and ` dispatch`.\r\n */\r\nexport const LayoutContextProvider = ({ history, children, menuConfig }) => {\r\n const [state, dispatch] = useReducer(\r\n reducer,\r\n { menuConfig, pathname: history.location.pathname },\r\n // See https://reactjs.org/docs/hooks-reference.html#lazy-initialization\r\n init\r\n );\r\n\r\n // Subscribe to history changes and reinitialize on each change.\r\n useEffect(\r\n () =>\r\n history.listen(({ pathname }) => {\r\n dispatch({\r\n type: actionTypes.INIT,\r\n payload: { pathname, menuConfig }\r\n });\r\n }),\r\n\r\n /**\r\n * Passing `history` and `menuConfig` to `deps` ensures that `useEffect`\r\n * will cleanup current `history` listener and will dispatch `INIT`\r\n * with `menuConfig` reference from current render.\r\n *\r\n * @see https://reactjs.org/docs/hooks-reference.html#conditionally-firing-an-effect\r\n */\r\n [history, menuConfig]\r\n );\r\n\r\n const { refs: splashScreenRefs } = state.splashScreen;\r\n const splashScreenVisible = useMemo(\r\n () => Object.keys(splashScreenRefs).length > 0,\r\n [splashScreenRefs]\r\n );\r\n\r\n useEffect(() => {\r\n const splashScreen = document.getElementById(\"splash-screen\");\r\n\r\n if (splashScreenVisible) {\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 const timeout = setTimeout(() => {\r\n splashScreen.classList.add(\"hidden\");\r\n }, 1000);\r\n\r\n return () => {\r\n clearTimeout(timeout);\r\n };\r\n }, [splashScreenVisible]);\r\n\r\n // Pass state and dispatch to it's contexts.\r\n return (\r\n \r\n \r\n {children}\r\n \r\n \r\n );\r\n}\r\n\r\n/**\r\n * Used to access latest layout context state.\r\n *\r\n * @example\r\n *\r\n * export function Subheader() {\r\n * return (\r\n * \r\n * {({ subheader: { title } }) =>

{title}

}\r\n *
\r\n * );\r\n * }\r\n */\r\nexport const LayoutContextConsumer = LayoutContext.State.Consumer;\r\n\r\n/**\r\n * Hook to access latest layout context state.\r\n *\r\n * @example\r\n *\r\n * export function Subheader() {\r\n * const { subheader: { title } } = useLayoutContext();\r\n *\r\n * return

{title}

;\r\n * }\r\n */\r\nexport const useLayoutContext = () => {\r\n const context = useContext(LayoutContext.State);\r\n\r\n if (!context) {\r\n throw new Error(\"\");\r\n }\r\n\r\n return context;\r\n}\r\n\r\n/**\r\n * Used to override layout subheader state.\r\n */\r\nexport const LayoutSubheader = ({ title, breadcrumb, description }) => {\r\n const dispatch = useContext(LayoutContext.Dispatch);\r\n\r\n useEffect(() => {\r\n dispatch({\r\n type: actionTypes.SET_SUBHEADER,\r\n payload: { title, breadcrumb, description }\r\n });\r\n }, [dispatch, title, breadcrumb, description]);\r\n\r\n return null;\r\n}\r\n\r\nexport const LayoutSplashScreen = ({ visible = false }) => {\r\n const dispatch = useContext(LayoutContext.Dispatch);\r\n\r\n useEffect(() => {\r\n if (!visible) {\r\n return;\r\n }\r\n\r\n const id = Math.random();\r\n\r\n dispatch({ type: actionTypes.SHOW_SPLASH_SCREEN, payload: { id } });\r\n\r\n return () => {\r\n dispatch({ type: actionTypes.HIDE_SPLASH_SCREEN, payload: { id } });\r\n };\r\n }, [visible, dispatch]);\r\n\r\n return null;\r\n}\r\n","import axios from \"axios\";\r\nexport const ALL_CONFIG_LIST = \"api/config/all\";\r\nexport const CREATE_CONFIG_REQUEST = \"api/config/add\";\r\nexport const DELETE_CONFIG_REQUEST = \"api/config/delete\";\r\nexport const UPDATE_CONFIG_REQUEST = \"api/config/update\";\r\nexport const All_CONFIG_ADD = 'configurations?code=Dq2oj2R11WnznXmL/3R7Oha8c7CpCytm/JnMZKs8RQl73gTZ0AW3ug==';\r\n\r\nexport const FILE_OPERATIONS_API = 'configurations?code=Dq2oj2R11WnznXmL/3R7Oha8c7CpCytm/JnMZKs8RQl73gTZ0AW3ug==&id=1';\r\nexport const All_CONFIG_API = 'configurations?code=Dq2oj2R11WnznXmL/3R7Oha8c7CpCytm/JnMZKs8RQl73gTZ0AW3ug==&id=2';\r\nexport const AUTO_CLEANSING_API = 'configurations?code=Dq2oj2R11WnznXmL/3R7Oha8c7CpCytm/JnMZKs8RQl73gTZ0AW3ug==&id=3';\r\nexport const AUTO_BASED_CLEANSING_API = 'configurations?code=Dq2oj2R11WnznXmL/3R7Oha8c7CpCytm/JnMZKs8RQl73gTZ0AW3ug==&id=4';\r\nexport const AUTO_CUSTOMER_API = 'configurations?code=Dq2oj2R11WnznXmL/3R7Oha8c7CpCytm/JnMZKs8RQl73gTZ0AW3ug==&id=6';\r\nexport const AUTO_STAGE_API = 'configurations?code=Dq2oj2R11WnznXmL/3R7Oha8c7CpCytm/JnMZKs8RQl73gTZ0AW3ug==&id=5';\r\n\r\nexport const getConfigAll = () => {\r\n return axios.get(All_CONFIG_API);\r\n // return fetch(All_CONFIG_API, { \r\n // method: 'GET'\r\n // })\r\n // .then((response) => {\r\n // if(response.ok) {\r\n // return response.json();\r\n // } else {\r\n // }\r\n // })\r\n // .catch((ex) => {\r\n // throw new Error('fetch failed' + ex)\r\n // });\r\n};\r\n\r\nexport const createConfig = (params) => {\r\n return axios.post(All_CONFIG_ADD, params);\r\n// return fetch(All_CONFIG_ADD, {\r\n// method: 'POST',\r\n// body: JSON.stringify(params)\r\n// })\r\n// .then((response) => response.json())\r\n// .then((items) => {\r\n// return({items, success: 'Added Successfully'});\r\n// })\r\n// .catch((error) => {\r\n// return(error);\r\n// })\r\n}\r\n\r\nexport const updateConfig = (params) => {\r\n return axios.post(All_CONFIG_ADD, params);\r\n// return fetch(All_CONFIG_ADD, {\r\n// method: 'POST',\r\n// body: JSON.stringify(params)\r\n// })\r\n// .then((response) => response.json())\r\n// .then((items) => {\r\n// return({items, success: 'Update has been Successfully'});\r\n// })\r\n// .catch((error) => {\r\n// return(error);\r\n// })\r\n}\r\n\r\nexport const deleteConfig = (params) => {\r\n return axios.post(All_CONFIG_ADD, params);\r\n // return fetch(All_CONFIG_ADD, {\r\n // method: 'POST',\r\n // body: JSON.stringify(params)\r\n // })\r\n // .then((response) => response.json())\r\n // .then((items) => {\r\n // return({items, success: 'Delete has been Successfully'});\r\n // })\r\n // .catch((error) => {\r\n // console.error(error);\r\n // })\r\n}\r\n\r\nexport const getAllFileOperations = () => {\r\n return axios.get(FILE_OPERATIONS_API);\r\n // return fetch(FILE_OPERATIONS_API, { \r\n // method: 'GET'\r\n // })\r\n // .then((response) => {\r\n // if(response.ok) {\r\n // return response.json();\r\n // } else {\r\n // }\r\n // })\r\n // .catch((ex) => {\r\n // throw new Error('fetch failed' + ex)\r\n // });\r\n}\r\n\r\nexport const getAllAutoCleansing = () => {\r\n return axios.get(AUTO_CLEANSING_API);\r\n // return fetch(AUTO_CLEANSING_API, { \r\n // method: 'GET'\r\n // })\r\n // .then((response) => {\r\n // if(response.ok) {\r\n // return response.json();\r\n // } else {\r\n // }\r\n // })\r\n // .catch((ex) => {\r\n // throw new Error('fetch failed' + ex)\r\n // });\r\n}\r\n\r\nexport const gatAllBasedCleansing = () => {\r\n return axios.get(AUTO_BASED_CLEANSING_API);\r\n // return fetch(AUTO_BASED_CLEANSING_API, { \r\n // method: 'GET'\r\n // })\r\n // .then((response) => {\r\n // if(response.ok) {\r\n // return response.json();\r\n // } else {\r\n // }\r\n // })\r\n // .catch((ex) => {\r\n // throw new Error('fetch failed' + ex)\r\n // });\r\n}\r\n\r\nexport const gatAllCustomers = () => {\r\n return axios.get(AUTO_CUSTOMER_API);\r\n // return fetch(AUTO_CUSTOMER_API, { \r\n // method: 'GET'\r\n // })\r\n // .then((response) => {\r\n // if(response.ok) {\r\n // return response.json();\r\n // } else {\r\n // }\r\n // })\r\n // .catch((ex) => {\r\n // throw new Error('fetch failed' + ex)\r\n // });\r\n}\r\n\r\nexport const gatAllStage = () => {\r\n return axios.get(AUTO_STAGE_API);\r\n // return fetch(AUTO_STAGE_API, { \r\n // method: 'GET'\r\n // })\r\n // .then((response) => {\r\n // if(response.ok) {\r\n // return response.json();\r\n // } else {\r\n // }\r\n // })\r\n // .catch((ex) => {\r\n // throw new Error('fetch failed' + ex)\r\n // });\r\n}","import React, { useEffect } from \"react\";\r\nimport axios from \"axios\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { LayoutSplashScreen } from \"./LayoutContext\";\r\nimport * as builder from \"../ducks/builder\";\r\nimport { useLocation } from 'react-router-dom'\r\nimport { getMenuItem } from '../layout/MenuConfig'\r\n\r\n/**\r\n * Used to synchronize current layout `menuConfig`, `layoutConfig` and\r\n * `htmlClassService` with redux store.\r\n */\r\nexport default function LayoutInitializer({\r\n children,\r\n menuConfig,\r\n layoutConfig,\r\n htmlClassService\r\n}) {\r\n const dispatch = useDispatch();\r\n const builderState = useSelector(({ builder }) => builder);\r\n const location = useLocation();\r\n\r\n // useEffect(() => {\r\n // dispatch(builder.actions.setMenuConfig(menuConfig));\r\n // }, [dispatch, menuConfig]);\r\n useEffect(() => {\r\n getMenuItem().then(res => {\r\n dispatch(builder.actions.setMenuConfig(res));\r\n });\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n if (layoutConfig.demo !== builderState.layoutConfig.demo) {\r\n dispatch(builder.actions.setLayoutConfigs(layoutConfig));\r\n }\r\n }, [dispatch, builderState, layoutConfig]);\r\n\r\n useEffect(() => {\r\n dispatch(builder.actions.setHtmlClassService(htmlClassService));\r\n }, [dispatch, htmlClassService]);\r\n\r\n return htmlClassService === builderState.htmlClassServiceObjects && (\r\n // Render content when `htmlClassService` synchronized with redux store.\r\n <>{children}\r\n ) //: (\r\n // // Otherwise sow loading splash screen.\r\n // \r\n // );\r\n}\r\n","import React from \"react\";\r\nimport { useSelector } from \"react-redux\";\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\nconst I18nProvider = ({ children }) => {\r\n const locale = useSelector(({ i18n }) => i18n.lang);\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\nexport default I18nProvider\r\n","import React from \"react\";\r\nimport { createMuiTheme } from \"@material-ui/core\";\r\nimport { ThemeProvider as MuiThemeProvider } from \"@material-ui/styles\";\r\n\r\nconst theme = createMuiTheme(\r\n {\r\n MuiButton: {\r\n containedPrimary: {\r\n backgroundColor: '#0078d4'\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 //contrastThreshold: 2,\r\n primary: {\r\n // light: will be calculated from palette.primary.main,\r\n main: \"#0078d4\"\r\n // dark: will be calculated from palette.primary.main,\r\n // contrastText: 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: \"#0abb87\",\r\n // dark: will be calculated from palette.primary.main,\r\n contrastText: \"#ffffff\"\r\n },\r\n error: {\r\n // light: will be calculated from palette.primary.main,\r\n main: \"#fd397a\"\r\n // dark: will be calculated from palette.primary.main,\r\n // contrastText: 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 \r\n\r\n \r\n \r\n props: {\r\n MuiButtonBase: {\r\n disableRipple: true,\r\n containedPrimary: {\r\n backgroundColor: '#0078d4'\r\n }\r\n },\r\n MuiPopover: {\r\n elevation: 1\r\n }\r\n }\r\n }\r\n);\r\n\r\nexport default function ThemeProvider(props) {\r\n const { children } = props;\r\n return {children};\r\n}\r\n","import * as i18n from \"./ducks/i18n\";\r\nimport * as builder from \"./ducks/builder\";\r\n\r\n/**\r\n * Reexports\r\n */\r\nexport * from \"./utils/utils\";\r\nexport * from \"./layout/LayoutContext\";\r\nexport * from \"./layout/LayoutConfig\";\r\nexport { default as LayoutConfig } from \"./layout/LayoutConfig\";\r\nexport { default as mockAxios } from \"./__mocks__/mockAxios\";\r\nexport { default as LayoutInitializer } from \"./layout/LayoutInitializer\";\r\nexport { default as I18nProvider } from \"./i18n/I18nProvider\";\r\nexport { default as ThemeProvider } from \"./materialUIThemeProvider/ThemeProvider\";\r\n\r\n/**\r\n * Ducks\r\n */\r\n\r\nexport const metronic = { i18n, builder };\r\n","import { createStore } from 'redux';\r\nimport { AuthenticationActions, AuthenticationState } from 'react-aad-msal';\r\n\r\nconst initialState = {\r\n initializing: false,\r\n initialized: false,\r\n idToken: null,\r\n accessToken: null,\r\n state: AuthenticationState.Unauthenticated,\r\n};\r\n\r\nconst authReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case AuthenticationActions.Initializing:\r\n return {\r\n ...state,\r\n initializing: true,\r\n initialized: false,\r\n };\r\n case AuthenticationActions.Initialized:\r\n return {\r\n ...state,\r\n initializing: false,\r\n initialized: true,\r\n };\r\n case AuthenticationActions.AcquiredIdTokenSuccess:\r\n return {\r\n ...state,\r\n idToken: action.payload,\r\n };\r\n case AuthenticationActions.AcquiredAccessTokenSuccess:\r\n return {\r\n ...state,\r\n accessToken: action.payload,\r\n };\r\n case AuthenticationActions.AcquiredAccessTokenError:\r\n return {\r\n ...state,\r\n accessToken: null,\r\n };\r\n case AuthenticationActions.LoginSuccess:\r\n return {\r\n ...state,\r\n account: action.payload.account,\r\n };\r\n case AuthenticationActions.LoginError:\r\n case AuthenticationActions.AcquiredIdTokenError:\r\n case AuthenticationActions.LogoutSuccess:\r\n return { ...state, idToken: null, accessToken: null, account: null };\r\n case AuthenticationActions.AuthenticatedStateChanged:\r\n return {\r\n ...state,\r\n state: action.payload,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default authReducer;\r\n","import { takeEvery, takeLatest, take, call, fork, put } from 'redux-saga/effects';\r\nimport * as types from '../actions/types';\r\nimport {\r\n getConfigAll, \r\n createConfig, \r\n deleteConfig, \r\n updateConfig, \r\n getAllFileOperations, \r\n getAllAutoCleansing,\r\n gatAllBasedCleansing,\r\n gatAllCustomers,\r\n gatAllStage\r\n} from \"../../crud/config.crud\";\r\nimport * as action from '../actions/configAction';\r\n\r\n/*** snapshot ***/\r\nfunction* getConfig(){\r\n try{\r\n const result = yield call(getConfigAll);\r\n yield put({\r\n type: types.FETCH_CONFIG_SUCCESS,\r\n payload: {\r\n items: result.data\r\n },\r\n });\r\n }catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to get the user'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getConfigRequest(){\r\n yield takeEvery(types.FETCH_CONFIG, getConfig);\r\n}\r\n\r\nfunction* createConfigItem({payload}){\r\n try{\r\n const items = yield call(createConfig, payload);\r\n\r\n yield put({\r\n type: types.ADD_CONFIG_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n\r\n }catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to create the snapshop'\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchCreateCinfigRequest(){\r\n yield takeLatest(types.CREATE_CONFIG_REQUEST, createConfigItem);\r\n}\r\n\r\nfunction* updateConfigItem({payload}){\r\n try{\r\n \r\n const items = yield call(updateConfig, payload);\r\n yield put({\r\n type: types.UPDATE_CONFIG_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n } catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to update the snapshop'\r\n }));\r\n //yield call(getConfig);\r\n }\r\n}\r\n\r\nfunction* watchUpdateCinfigRequest(){\r\n yield takeLatest(types.UPDATE_CONFIG_REQUEST, updateConfigItem);\r\n}\r\n\r\nfunction* deleteConfigItem(userId){\r\n try{\r\n const items = yield call(deleteConfig, userId);\r\n\r\n yield put({\r\n type: types.DELETE_CONFIG_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n }catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to delete the snapshop'\r\n }));\r\n\t}\r\n}\r\n\r\nfunction* watchDeleteConfigRequest(){\r\n while(true){\r\n const {payload} = yield take(types.DELETE_CONFIG_REQUEST);\r\n yield call(deleteConfigItem, payload.userId);\r\n }\r\n}\r\n\r\n/*** File Operations ***/\r\n\r\nfunction* getFileOperations(){\r\n try{\r\n const result = yield call(getAllFileOperations);\r\n yield put({\r\n type: types.FETCH_FILE_OPERATIONS_SUCCESS,\r\n payload: {\r\n items: result.data\r\n },\r\n });\r\n }catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to get the user'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getFileOperationsRequest(){\r\n yield takeEvery(types.FETCH_FILE_OPERATIONS, getFileOperations);\r\n}\r\n\r\n\r\nfunction* createFileOperationsItem({payload}){\r\n try{\r\n const items = yield call(createConfig, payload);\r\n\r\n yield put({\r\n type: types.CREATE_FILE_OPERATIONS_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n\r\n }catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to create the File Operations'\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchCreateFileOperationsRequest(){\r\n yield takeLatest(types.CREATE_FILE_OPERATIONS_REQUEST, createFileOperationsItem);\r\n}\r\n\r\n\r\nfunction* updateFileOperationsItem({payload}){\r\n try{\r\n \r\n const items = yield call(updateConfig, payload);\r\n yield put({\r\n type: types.UPDATE_FILE_OPERATIONS_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n yield call(getFileOperations);\r\n } catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to update the File Operations'\r\n }));\r\n //yield call(getConfig);\r\n }\r\n}\r\n\r\nfunction* watchUpdateFileOperationsRequest(){\r\n yield takeLatest(types.UPDATE_FILE_OPERATIONS_REQUEST, updateFileOperationsItem);\r\n}\r\n\r\n\r\nfunction* deleteFileOperationsItem(userId){\r\n try{\r\n const items = yield call(deleteConfig, userId);\r\n\r\n yield put({\r\n type: types.DELETE_FILE_OPERATIONS_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n }catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to delete the File Operations'\r\n }));\r\n\t}\r\n}\r\n\r\nfunction* watchDeleteFileOperationsRequest(){\r\n while(true){\r\n const {payload} = yield take(types.DELETE_FILE_OPERATIONS_REQUEST);\r\n yield call(deleteFileOperationsItem, payload.userId);\r\n }\r\n}\r\n\r\n/**** Automated Cleansing ****/\r\n\r\nfunction* getAutoCleansing(){\r\n try{\r\n const result = yield call(getAllAutoCleansing);\r\n yield put({\r\n type: types.FETCH_AUTO_CLEANSING_SUCCESS,\r\n payload: {\r\n items: result.data\r\n },\r\n });\r\n }catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to get the user'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getAutoCleansingRequest(){\r\n yield takeEvery(types.FETCH_AUTO_CLEANSING, getAutoCleansing);\r\n}\r\n\r\n/**** Rule Based Cleansing ****/\r\n\r\nfunction* getBaseCleansing(){\r\n try{\r\n const result = yield call(gatAllBasedCleansing);\r\n yield put({\r\n type: types.FETCH_BASED_CLEANSING_SUCCESS,\r\n payload: {\r\n items: result.data\r\n },\r\n });\r\n }catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to get the user'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getBasedCleansingRequest(){\r\n yield takeEvery(types.FETCH_BASED_CLEANSING, getBaseCleansing);\r\n}\r\n\r\n/**** Customers ****/\r\n\r\nfunction* getCustomers(){\r\n try{\r\n const result = yield call(gatAllCustomers);\r\n yield put({\r\n type: types.FETCH_CUSTOMERS_SUCCESS,\r\n payload: {\r\n items: result.data\r\n },\r\n });\r\n }catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to get the user'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getCustomersRequest(){\r\n yield takeEvery(types.FETCH_CUSTOMERS, getCustomers);\r\n}\r\n\r\n/*** Staging ***/\r\n\r\nfunction* getStage(){\r\n try{\r\n const result = yield call(gatAllStage);\r\n yield put({\r\n type: types.FETCH_STAGE_SUCCESS,\r\n payload: {\r\n items: result.data\r\n },\r\n });\r\n }catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to get the user'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getStageRequest(){\r\n yield takeEvery(types.FETCH_STAGE, getStage);\r\n}\r\n\r\n\r\nconst configSaga = [\r\n fork(getConfigRequest),\r\n fork(watchCreateCinfigRequest),\r\n fork(watchDeleteConfigRequest),\r\n fork(watchUpdateCinfigRequest),\r\n fork(getFileOperationsRequest),\r\n fork(watchCreateFileOperationsRequest),\r\n fork(watchUpdateFileOperationsRequest),\r\n fork(watchDeleteFileOperationsRequest),\r\n fork(getAutoCleansingRequest),\r\n fork(getBasedCleansingRequest),\r\n fork(getCustomersRequest),\r\n fork(getStageRequest)\r\n];\r\n\r\nexport default configSaga;","import { takeEvery, takeLatest, take, call, fork, put } from 'redux-saga/effects';\r\nimport * as types from '../actions/types';\r\nimport * as action from '../actions/globalConfigAction';\r\n\r\nimport { getGlobalConfigAll, getAllGlobalConfig, updateGlobalConfig, addGlobalConfig, deleteGlobalConfig } from '../../crud/globalConfig.crud';\r\n\r\nfunction* getGlobalConfig() {\r\n try {\r\n const res = yield call(getGlobalConfigAll);\r\n yield put({\r\n type: types.FETCH_GLOBAL_CONFIG_SUCCESS,\r\n payload: {\r\n items: res.data.result\r\n },\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* getGlobalRequest() {\r\n yield takeEvery(types.FETCH_GLOBAL_CONFIG, getGlobalConfig);\r\n}\r\n\r\n\r\nfunction* getAllGlobalConfigs() {\r\n try {\r\n const result = yield call(getAllGlobalConfig);\r\n yield put({\r\n type: types.FETCH_GLOBAL_CONFIG_SUCCESS,\r\n payload: {\r\n items: result.data.result\r\n },\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* getAllGlobalConfigRequest() {\r\n yield takeEvery(types.FETCH_ALL_GLOBAL_CONFIG, getAllGlobalConfigs);\r\n}\r\n\r\n\r\nfunction* updateGlobalConfigItem({ payload }) {\r\n try {\r\n\r\n const items = yield call(updateGlobalConfig, payload);\r\n yield put({\r\n type: types.UPDATE_GLOBAL_CONFIG_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n yield call(getGlobalRequest);\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchUpdateGlobalConfigRequest() {\r\n yield takeLatest(types.UPDATE_GLOBAL_CONFIG_REQUEST, updateGlobalConfigItem);\r\n}\r\n\r\nfunction* addGlobalConfigItem({ payload }) {\r\n try {\r\n\r\n const items = yield call(addGlobalConfig, payload);\r\n yield put({\r\n type: types.ADD_GLOBAL_CONFIG_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n yield call(getGlobalRequest);\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchAddGlobalConfigRequest() {\r\n yield takeLatest(types.ADD_GLOBAL_CONFIG_REQUEST, addGlobalConfigItem);\r\n}\r\n\r\nfunction* deleteGlobalConfigItem({ payload }) {\r\n try {\r\n\r\n const items = yield call(deleteGlobalConfig, payload);\r\n yield put({\r\n type: types.DELETE_GLOBAL_CONFIG_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n yield call(getGlobalRequest);\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchDeleteGlobalConfigRequest() {\r\n yield takeLatest(types.DELETE_GLOBAL_CONFIG_REQUEST, deleteGlobalConfigItem);\r\n}\r\n\r\nconst globalConfigSaga = [\r\n fork(getGlobalRequest),\r\n fork(getAllGlobalConfigRequest),\r\n fork(watchUpdateGlobalConfigRequest),\r\n fork(watchAddGlobalConfigRequest),\r\n fork(watchDeleteGlobalConfigRequest)\r\n];\r\n\r\nexport default globalConfigSaga;\r\n","import axios from \"axios\";\r\nexport const RUNTIME_API = 'getPackageList?code=LM0AfvtmdBxf5HgngXbfxTbTjyAN6L9jTawBmaktQiPlZD38f5rE9w==';\r\nexport const AUDITE_API = 'getAuditTrail?code=HSt2A1fHbcWBz73Wt2rmlLmg2VXG8pyLZarzTXENypoM1XG6pr4rHA==';\r\nexport const TABLEDATA_API = 'getSnapShotData?code=iqBW3jRQlte59slVdSKE5DUPsnC3rlthhJOkl/WIlgLFtBLGY7jkpQ==&tablename='\r\n\r\n\r\n\r\nexport const getRunTimeFilter = (params) => {\r\n return axios.get(RUNTIME_API, params);\r\n // return fetch(`https://VegaLyticsapplication.azurewebsites.net/api/${RUNTIME_API}`, {\r\n // method: 'POST',\r\n // Body: params\r\n // })\r\n // .then((response) => {\r\n // if(response.ok) {\r\n // return(response.json());\r\n // } else {\r\n // return({success: false});\r\n // }\r\n // })\r\n // .catch((error) => {\r\n // return({success: false});\r\n // })\r\n};\r\n\r\nexport const getRunTimeAll = () => {\r\n const params ={\r\n \"except\":\"false\",\r\n \"filter\": [\"1\"]\r\n }\r\n return axios.get(RUNTIME_API, {params});\r\n};\r\n\r\nexport const getAuditTrailAll = () => {\r\n const date = new Date().getDate()\r\n const year = new Date().getFullYear()\r\n const month = new Date().getMonth() + 1\r\n const full = year + \"/\" + month + \"/\" + date; \r\n const params = {\r\n 'startdate': full,\r\n 'enddate': full\r\n }\r\n return axios.get(AUDITE_API, {params});\r\n};\r\n\r\nexport const getAuditTrailFilter = (params) => {\r\n return axios.get(AUDITE_API, params);\r\n};\r\n\r\nexport const getTableDataAll = (items) => {\r\n return axios.get(TABLEDATA_API+items, items);\r\n};\r\n\r\nexport const updateTableData = (items) => {\r\n return axios.post(TABLEDATA_API+items.type, items.data);\r\n // return fetch(TABLEDATA_API+items.type, {\r\n // method: 'POST',\r\n // body: JSON.stringify(items.data)\r\n // })\r\n // .then((response) => {\r\n // if(response.ok) {\r\n // return({success: true});\r\n // } else {\r\n // return({success: false});\r\n // }\r\n // })\r\n // .catch((error) => {\r\n // return({success: false});\r\n // })\r\n}","import { takeEvery, takeLatest, take, call, fork, put } from 'redux-saga/effects';\r\nimport * as types from '../actions/types';\r\nimport {\r\n getRunTimeAll, \r\n getAuditTrailAll,\r\n getTableDataAll,\r\n updateTableData,\r\n getAuditTrailFilter,\r\n getRunTimeFilter\r\n} from \"../../crud/runtime.crud\";\r\nimport * as action from '../actions/configAction';\r\n\r\n/*** snapshot ***/\r\nfunction* getPackageFilter(params){\r\n try{\r\n const result = yield call(getRunTimeFilter, {params});\r\n yield put({\r\n type: types.FETCH_RUNTIME_SUCCESS,\r\n payload: {\r\n items: result.data\r\n },\r\n });\r\n }catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to get the user'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getPackageFilterRequest(){\r\n while(true){\r\n const {payload} = yield take(types.FETCH_RUNTIME_FILTER);\r\n yield call(getPackageFilter, payload);\r\n }\r\n}\r\n\r\nfunction* getRuntime(){\r\n try{\r\n const result = yield call(getRunTimeAll);\r\n yield put({\r\n type: types.FETCH_RUNTIME_SUCCESS,\r\n payload: {\r\n items: result.data\r\n },\r\n });\r\n }catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to get the user'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getRuntimeRequest(){\r\n yield takeEvery(types.FETCH_RUNTIME, getRuntime);\r\n}\r\n\r\nfunction* getRuntimeFilter(params){\r\n try{\r\n const result = yield call(getAuditTrailFilter, {params});\r\n yield put({\r\n type: types.FETCH_AUDIT_FILTER_SUCCESS,\r\n payload: {\r\n items: result.data\r\n },\r\n });\r\n }catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to get the user'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getRuntimeRequestFilter(){\r\n //yield takeEvery(types.FETCH_AUDIT_FILTER, getRuntimeFilter);\r\n while(true){\r\n const {payload} = yield take(types.FETCH_AUDIT_FILTER);\r\n yield call(getRuntimeFilter, payload);\r\n }\r\n}\r\n\r\nfunction* getAuditTrail(){\r\n try{\r\n const result = yield call(getAuditTrailAll);\r\n yield put({\r\n type: types.FETCH_AUDIT_SUCCESS,\r\n payload: {\r\n items: result.data\r\n },\r\n });\r\n }catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to get the user'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getAuditTrailRequest(){\r\n yield takeEvery(types.FETCH_AUDIT, getAuditTrail);\r\n}\r\n\r\n\r\nfunction* getTableData(items){\r\n try{\r\n const result = yield call(getTableDataAll, items);\r\n yield put({\r\n type: types.FETCH_TABLEDATA_SUCCESS,\r\n payload: {\r\n items: result.data\r\n },\r\n });\r\n }catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to get the user'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getTableDataRequest(){\r\n //yield takeEvery(types.FETCH_TABLEDATA, getTableData);\r\n while(true){\r\n const {payload} = yield take(types.FETCH_TABLEDATA);\r\n yield call(getTableData, payload.items);\r\n }\r\n}\r\n\r\nfunction* updateTableDataItem({payload}){\r\n try{\r\n \r\n const items = yield call(updateTableData, payload);\r\n yield put({\r\n type: types.UPDATE_TABLEDATA_SUCCESS,\r\n payload: {\r\n items\r\n },\r\n });\r\n yield call(getTableData, payload.type);\r\n } catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to update the File Operations'\r\n }));\r\n //yield call(getConfig);\r\n }\r\n}\r\n\r\nfunction* watchUpdateTableDataRequest(){\r\n yield takeLatest(types.UPDATE_TABLEDATA_REQUEST, updateTableDataItem);\r\n}\r\n\r\n\r\nconst runtimeSaga = [\r\n fork(getRuntimeRequest),\r\n fork(getPackageFilterRequest),\r\n fork(getRuntimeRequestFilter),\r\n fork(getAuditTrailRequest),\r\n fork(getTableDataRequest),\r\n fork(watchUpdateTableDataRequest)\r\n];\r\n\r\nexport default runtimeSaga;","import axios from \"axios\";\r\n\r\nexport const getPowerBi = (details) => {\r\n return axios.get(`EmbedInfo?userName=${details.userName}&reportId=${details.reportID}`);\r\n};\r\n\r\nexport const fetchPoewrBiByID = (id) => {\r\n return axios.get(`report/getReport/${id}`)\r\n}\r\n\r\nexport const exportReport = (data)=>{\r\n return axios.post('report/exportReport', data, {responseType: 'blob'});\r\n}","import { takeEvery, call, fork, put } from 'redux-saga/effects';// takeLatest, take,\r\nimport * as types from '../actions/types';\r\nimport {\r\n getPowerBi,\r\n fetchPoewrBiByID,\r\n exportReport\r\n} from \"../../crud/powerbi.crud\";\r\nimport * as action from '../actions/configAction';\r\n\r\nfunction* getReports({payload}){\r\n try{\r\n const result = yield call(getPowerBi, payload);\r\n yield put({\r\n type: types.FETCH_REPORTS_SUCCESS,\r\n payload: {\r\n items: result.data\r\n },\r\n });\r\n }catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to get the user'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getReportsRequest(){\r\n yield takeEvery(types.FETCH_REPORTS, getReports);\r\n}\r\n\r\n\r\nfunction* getReportByReportId({payload}){\r\n try{\r\n const res = yield call(fetchPoewrBiByID, payload);\r\n yield put({\r\n type: types.FETCH_REPORT_BY_REPORTID_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n }catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to get the user'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getReportByReportIdRequest(){\r\n yield takeEvery(types.FETCH_REPORT_BY_REPORTID, getReportByReportId);\r\n}\r\n\r\nfunction* exportReportHandler({payload}){\r\n try{\r\n const result = yield call(exportReport, payload);\r\n\r\n yield put({\r\n type: types.EXPORT_REPORT_SUCCESS,\r\n payload: result,\r\n });\r\n }catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to export report'\r\n }));\r\n }\r\n}\r\n\r\nfunction* exportReportRequest(){\r\n yield takeEvery(types.EXPORT_REPORT, exportReportHandler);\r\n}\r\nconst reportsSaga = [\r\n fork(getReportsRequest),\r\n fork(getReportByReportIdRequest),\r\n fork(exportReportRequest)\r\n];\r\n\r\nexport default reportsSaga;","import axios from 'axios';\r\nconst getAllUrl = 'subscription/GetAllSubscription/true';\r\nconst getActiveUrl = 'subscription/GetAllSubscription/false';\r\nconst updateUrl = 'subscription/updatesubscription';\r\nconst addUrl = 'subscription/createsubscription';\r\nconst deleteUrl = 'subscription/deletesubscription';\r\n\r\nexport const getAllSubscriptions = () => axios.get(getAllUrl);\r\n\r\nexport const getActiveSubscriptions = () => axios.get(getActiveUrl);\r\n\r\nexport const addSubscription=(params) => axios.post(addUrl, params);\r\n\r\nexport const updateSubscription=(params) => axios.post(updateUrl, params);\r\n\r\nexport const deleteSubscription=(params) => axios.delete(`${deleteUrl}/${params.subscriptionID}`, params);","import { takeEvery, takeLatest, take, call, fork, put } from 'redux-saga/effects';\r\nimport * as types from '../actions/types';\r\nimport {} from \"../../crud/config.crud\";\r\nimport * as action from '../actions/subscriptionsAction';\r\nimport {getAllSubscriptions, getActiveSubscriptions, updateSubscription, addSubscription, deleteSubscription } from '../../crud/subcriptions.crud'\r\n\r\nfunction* getAllSubscriptionsRequest() {\r\n yield takeEvery(types.FETCH_ALL_SUBSCRIPTIONS, function*() {\r\n try {\r\n const result = yield call(getAllSubscriptions);\r\n yield put({\r\n type: types.FETCH_ALL_SUBSCRIPTIONS_SUCCESS,\r\n payload: {\r\n items: result.data.result\r\n },\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n });\r\n}\r\n\r\nfunction* getActiveSubscriptionsRequest() {\r\n yield takeEvery(types.FETCH_ACTIVE_SUBSCRIPTIONS, function*() {\r\n try {\r\n const result = yield call(getActiveSubscriptions);\r\n yield put({\r\n type: types.FETCH_ACTIVE_SUBSCRIPTIONS_SUCCESS,\r\n payload: {\r\n items: result.data.result\r\n },\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n });\r\n}\r\n\r\nfunction* updateSubItem({ payload }) {\r\n try {\r\n\r\n const items = yield call(updateSubscription, payload);\r\n yield put({\r\n type: types.UPDATE_SUBSCRIPTIONS_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchUpdateSubRequest() {\r\n yield takeLatest(types.UPDATE_SUBSCRIPTIONS_REQUEST, updateSubItem);\r\n}\r\n\r\n\r\n\r\nfunction* addSubItem({ payload }) {\r\n try {\r\n\r\n const items = yield call(addSubscription, payload);\r\n yield put({\r\n type: types.ADD_SUBSCRIPTIONS_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchAddSubRequest() {\r\n yield takeLatest(types.ADD_SUBSCRIPTIONS_REQUEST, addSubItem);\r\n}\r\n\r\nfunction* deleteSubItem({ payload }) {\r\n try {\r\n\r\n const items = yield call(deleteSubscription, payload);\r\n yield put({\r\n type: types.DELETE_SUBSCRIPTIONS_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchDeleteSubRequest() {\r\n yield takeLatest(types.DELETE_SUBSCRIPTIONS_REQUEST, deleteSubItem);\r\n}\r\n\r\nconst sunbscritionsSaga = [ \r\n fork(getAllSubscriptionsRequest),\r\n fork(getActiveSubscriptionsRequest),\r\n fork(watchUpdateSubRequest),\r\n fork(watchAddSubRequest),\r\n fork(watchDeleteSubRequest)\r\n];\r\n\r\nexport default sunbscritionsSaga;","import axios from 'axios'\r\nconst url = 'tenant';\r\nconst COUNTRY_URL = 'country'\r\nconst STATE = 'state/getstatebycountryid'\r\n\r\nexport function getTenantAllList(params) {\r\n return axios.post(`${url}/getalltenant`, params);\r\n}\r\n\r\nexport function getTenantById(id) {\r\n return axios.get(`${url}/${id}`);\r\n}\r\n\r\nexport function getCountry() {\r\n return axios.get(COUNTRY_URL);\r\n}\r\n\r\nexport function getState(id) {\r\n return axios.get(`${STATE}/${id}`);\r\n}\r\n\r\nexport function createInformation(params){\r\n console.log('in createInformation', params);\r\n return axios.post(`${url}/createtenant`, params);\r\n}\r\n\r\nexport function updateInformation(params){\r\n console.log('in updateInformation', params);\r\n return axios.post(`${url}/updatetenant`, params);\r\n}\r\n\r\nexport function deleteInformation(id){\r\n return axios.delete(`${url}/${id}`);\r\n}\r\n\r\nexport function DoesDomainExists(domainName, exceptDomainId){\r\n return axios.get(`${url}/DoesDomainExists/${domainName}/${exceptDomainId}`);\r\n}\r\n\r\nexport function runE2E(params){\r\n return axios.post(`${url}/runE2E`, params);\r\n}\r\nexport function runAddNewUsersToReports(params){\r\n return axios.post(`${url}/runPowerBIRefreshUserRoles`, params);\r\n}","import { takeEvery, takeLatest, take, call, fork, put } from 'redux-saga/effects';\r\nimport * as types from '../actions/types';\r\nimport * as action from '../actions/tenantAction';\r\nimport { Link, useHistory, useLocation } from 'react-router-dom';\r\n\r\nimport { \r\n getTenantAllList, \r\n getTenantById, \r\n getCountry, \r\n updateInformation, \r\n createInformation, \r\n getState, \r\n deleteInformation,\r\n runE2E,\r\n runAddNewUsersToReports \r\n} from '../../crud/tenant.crud';\r\n\r\nfunction* getTenant({ payload }) {\r\n try {\r\n const result = yield call(getTenantAllList, payload);\r\n yield put({\r\n type: types.FETCH_TENANT_SUCCESS,\r\n payload: result.data.result\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* getTenantRequest() {\r\n yield takeEvery(types.FETCH_TENANT, getTenant);\r\n}\r\n\r\nfunction* getTenantByTenantId({ payload }) {\r\n try {\r\n \r\n const result = yield call(getTenantById, payload);\r\n yield put({\r\n type: types.FETCH_TENANT_BY_ID_SUCCESS,\r\n payload: {\r\n items: result.data.result\r\n },\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* getTenantByIdRequest() {\r\n yield takeEvery(types.FETCH_TENANT_BY_ID, getTenantByTenantId);\r\n}\r\n\r\n\r\n\r\nfunction* getCountries() {\r\n try {\r\n \r\n const result = yield call(getCountry);\r\n yield put({\r\n type: types.FATCH_COUNTRY_SUCCESS,\r\n payload: result.data.result\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* getCountriesRequest() {\r\n yield takeEvery(types.FATCH_COUNTRY, getCountries);\r\n}\r\n\r\nfunction* getStates({ payload }) {\r\n try {\r\n \r\n const result = yield call(getState, payload);\r\n yield put({\r\n type: types.FATCH_STATE_SUCCESS,\r\n payload: result.data.result\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* getStateRequest() {\r\n yield takeEvery(types.FATCH_STATE, getStates);\r\n}\r\n\r\nfunction* updateTenantItem({payload}){\r\n try{\r\n \r\n const items = yield call(updateInformation, payload);\r\n yield put({\r\n type: types.UPDATE_TENANT_SUCCESS,\r\n payload: items.data.result,\r\n });\r\n // yield call(getTenantByIdRequest);\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchUpdateTenantRequest(){\r\n yield takeLatest(types.UPDATE_TENANT_REQUEST, updateTenantItem);\r\n}\r\n\r\nfunction* addTenantItem({payload}){\r\n try{\r\n const items = yield call(createInformation, payload.data);\r\n const loader = document.getElementById('splash-screen');\r\n items.data.result && payload.history.push(`/tenant/${items.data.result[0].tenantID}/edit`)\r\n loader.classList.add('hidden')\r\n yield put({\r\n type: types.FETCH_TENANT_BY_ID_SUCCESS,\r\n payload: {\r\n items: items.data.result\r\n },\r\n });\r\n //yield call(getTenantById, items.data.result.tenantID);\r\n } catch (e) {\r\n const loader = document.getElementById('splash-screen');\r\n console.log(\"Exception while add tenant\", e);\r\n yield put(action.error({\r\n error: e.response.data\r\n }));\r\n loader.classList.add('hidden')\r\n }\r\n}\r\n\r\nfunction* watchAddTenantRequest(){\r\n yield takeLatest(types.ADD_TENANT_REQUEST, addTenantItem);\r\n}\r\n\r\nfunction* deleteTenantItem({payload}){\r\n try{\r\n const items = yield call(deleteInformation, payload);\r\n yield put({\r\n type: types.DELETE_TENANT_SUCCESS,\r\n payload: items.data.result,\r\n });\r\n //yield call(getTenantRequest);\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchDeleteTenantRequest(){\r\n yield takeLatest(types.DELETE_TENANT_REQUEST, deleteTenantItem);\r\n}\r\nfunction* callRunE2E({payload}){\r\n try{\r\n console.log(payload);\r\n const response = yield call(runE2E, payload);\r\n const loader = document.getElementById('splash-screen');\r\n loader.classList.add('hidden');\r\n console.log(response);\r\n yield put({\r\n type: types.RUN_E2E_SUCCESS,\r\n payload: {\r\n E2ERan: response.data\r\n },\r\n });\r\n } catch (e) {\r\n const loader = document.getElementById('splash-screen');\r\n console.log(\"Exception while runE2E\", e);\r\n yield put(action.error({\r\n error: e.response.data\r\n }));\r\n loader.classList.add('hidden')\r\n }\r\n}\r\nfunction* watchRunE2ERequest(){\r\n yield takeLatest(types.RUN_E2E_REQUEST, callRunE2E);\r\n}\r\nfunction* callRunAddNewUsersToReports({payload}){\r\n try{\r\n console.log(payload);\r\n const response = yield call(runAddNewUsersToReports, payload);\r\n const loader = document.getElementById('splash-screen');\r\n loader.classList.add('hidden');\r\n console.log(response);\r\n yield put({\r\n type: types.RUN_ADD_NEW_USERS_TO_REPORTS_SUCCESS,\r\n payload: {\r\n E2ERan: response.data\r\n },\r\n });\r\n } catch (e) {\r\n const loader = document.getElementById('splash-screen');\r\n console.log(\"Exception while runAddNewUsersToReports\", e);\r\n yield put(action.error({\r\n error: e.response.data\r\n }));\r\n loader.classList.add('hidden')\r\n }\r\n}\r\nfunction* watchRunAddNewUsersToReportsRequest(){\r\n yield takeLatest(types.RUN_ADD_NEW_USERS_TO_REPORTS_REQUEST, callRunAddNewUsersToReports);\r\n}\r\nconst tenantSaga = [\r\n fork(getTenantRequest),\r\n fork(getTenantByIdRequest),\r\n fork(getCountriesRequest),\r\n fork(getStateRequest),\r\n fork(watchUpdateTenantRequest),\r\n fork(watchAddTenantRequest),\r\n fork(watchDeleteTenantRequest),\r\n fork(watchRunE2ERequest),\r\n fork(watchRunAddNewUsersToReportsRequest)\r\n];\r\n\r\nexport default tenantSaga;","import axios from 'axios'\r\nconst getUrl = 'tenantindustry'\r\nconst updateUrl = 'tenantindustry/updatetenantindustry'\r\nconst addUrl = 'tenantindustry/createtenantindustry'\r\nconst getLevelsUrl = 'tenantindustrylevels'\r\nconst updateLevelsUrl = 'tenantindustrylevels/updatetenantindustrylevel'\r\nconst addLevelsUrl = 'tenantindustrylevels/createtenantindustrylevel'\r\nconst getLevelsTypeUrl = 'levelsubtype'\r\nconst updateLevelsTypeUrl = 'levelsubtype/updatelevelsubtype'\r\nconst addLevelsTypeUrl = 'levelsubtype/createlevelsubtype'\r\n\r\n\r\nexport function getAllTenantIndustries() {\r\n // fetches all tenant industries including active and inactive\r\n return axios.get(`${getUrl}/getAll/false`);\r\n}\r\nexport function getActiveTenantIndustries() {\r\n // fetches only active tenant industries\r\n return axios.get(`${getUrl}/getAll/true`);\r\n}\r\nexport function addTenantIndustry(params) {\r\n return axios.post(addUrl, params);\r\n}\r\nexport function updateTenantIndustry(params) {\r\n return axios.post(updateUrl, params);\r\n}\r\nexport function deleteTenantIndustry(params) {\r\n return axios.delete(`${getUrl}/${params.tenantIndustryID}`);\r\n}\r\n\r\nexport function fetchTenantIndustryLevelsById(id) {\r\n return axios.get(`${getLevelsUrl}/${id}`);\r\n}\r\n\r\n\r\n\r\nexport function getTenantIndustryLevelsList() {\r\n return axios.get(getLevelsUrl);\r\n}\r\n\r\nexport function updateTenantIndustryLevels(params) {\r\n return axios.post(updateLevelsUrl, params);\r\n}\r\n\r\nexport function addTenantIndustryLevels(params) {\r\n return axios.post(addLevelsUrl, params);\r\n}\r\n\r\nexport function deleteTenantIndustryLevels(params) {\r\n return axios.delete(`${getLevelsUrl}/${params.tenantIndustryLevelsID}`);\r\n}\r\n\r\n\r\nexport function getLevelsTypeList(params) {\r\n return axios.get(`${getLevelsTypeUrl}/getsubtypebylevelid/${params.tenantIndustryLevelsID}`); \r\n}\r\n\r\nexport function updateLevelsType(params) {\r\n return axios.post(updateLevelsTypeUrl, params);\r\n}\r\n\r\nexport function addLevelsType(params) {\r\n return axios.post(addLevelsTypeUrl, params);\r\n}\r\n\r\nexport function deleteLevelsType(params) {\r\n return axios.delete(`${getLevelsTypeUrl}/${params.levelSubTypeID}`);\r\n}","import { takeEvery, takeLatest, take, call, fork, put } from 'redux-saga/effects';\r\nimport * as types from '../actions/types';\r\nimport * as action from '../actions/tenantIndustryAction';\r\nimport { \r\n getAllTenantIndustries, \r\n getActiveTenantIndustries,\r\n updateTenantIndustry, \r\n addTenantIndustry, \r\n deleteTenantIndustry,\r\n getTenantIndustryLevelsList, \r\n updateTenantIndustryLevels, \r\n addTenantIndustryLevels, \r\n deleteTenantIndustryLevels,\r\n getLevelsTypeList, \r\n updateLevelsType, \r\n addLevelsType, \r\n deleteLevelsType,\r\n fetchTenantIndustryLevelsById\r\n} from '../../crud/tenantIndustry.crud'\r\n\r\nfunction* getAllTenantIndustriesHandler(){\r\n try{\r\n const result = yield call(getAllTenantIndustries);\r\n yield put({\r\n type: types.GET_ALL_TENANTINDUSTRIES_SUCCESS,\r\n payload: {\r\n items: result.data.result\r\n },\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e.response?.data || e\r\n }));\r\n }\r\n}\r\n\r\nfunction* getAllTenantIndustriesRequest(){\r\n yield takeEvery(types.GET_ALL_TENANTINDUSTRIES, getAllTenantIndustriesHandler);\r\n}\r\nfunction* getActiveTenantIndustriesHandler(){\r\n try{\r\n const result = yield call(getActiveTenantIndustries);\r\n yield put({\r\n type: types.GET_ACTIVE_TENANTINDUSTRIES_SUCCESS,\r\n payload: {\r\n items: result.data.result\r\n },\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e.response?.data || e\r\n }));\r\n }\r\n}\r\n\r\nfunction* getActiveTenantIndustriesRequest(){\r\n yield takeEvery(types.GET_ACTIVE_TENANTINDUSTRIES, getActiveTenantIndustriesHandler);\r\n}\r\n\r\nfunction* updateTenantIdustryItem({payload}){\r\n try{\r\n \r\n const items = yield call(updateTenantIndustry, payload);\r\n yield put({\r\n type: types.UPDATE_TENANTINDUSTRY_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n yield call(getAllTenantIndustries);\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e.response?.data || e\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchUpdateTenantIdustryRequest(){\r\n yield takeLatest(types.UPDATE_TENANTINDUSTRY_REQUEST, updateTenantIdustryItem);\r\n}\r\n\r\n\r\n\r\nfunction* addTenantIdustryItem({payload}){\r\n try{\r\n \r\n const items = yield call(addTenantIndustry, payload);\r\n yield put({\r\n type: types.ADD_TENANTINDUSTRY_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n yield call(getAllTenantIndustries);\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e.response?.data || e\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchAddTenantIdustryRequest(){\r\n yield takeLatest(types.ADD_TENANTINDUSTRY_REQUEST, addTenantIdustryItem);\r\n}\r\n\r\nfunction* deleteTenantIdustryItem({payload}){\r\n try{\r\n \r\n const items = yield call(deleteTenantIndustry, payload);\r\n yield put({\r\n type: types.DELETE_TENANTINDUSTRY_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n yield call(getAllTenantIndustries);\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e.response?.data || e\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchDeleteTenantIdustryRequest(){\r\n yield takeLatest(types.DELETE_TENANTINDUSTRY_REQUEST, deleteTenantIdustryItem);\r\n}\r\n\r\nfunction* getTenantIdustryLevels(){\r\n try{\r\n const result = yield call(getTenantIndustryLevelsList);\r\n yield put({\r\n type: types.FETCH_TENANTINDUSTRY_LEVELS_SUCCESS,\r\n payload: {\r\n items: result.data.result\r\n },\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e.response?.data || e\r\n }));\r\n }\r\n}\r\n\r\nfunction* getTenantIdustryLevelsRequest(){\r\n yield takeEvery(types.FETCH_TENANTINDUSTRY_BYID_LEVELS, getTenantIdustryLevels);\r\n}\r\n\r\nfunction* updateTenantIdustryLevelsItem({payload}){\r\n try{\r\n \r\n const items = yield call(updateTenantIndustryLevels, payload);\r\n yield put({\r\n type: types.UPDATE_TENANTINDUSTRY_LEVELS_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n yield call(getTenantIdustryLevels);\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e.response?.data || e\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchUpdateTenantIdustryLevelsRequest(){\r\n yield takeLatest(types.UPDATE_TENANTINDUSTRY_LEVELS_REQUEST, updateTenantIdustryLevelsItem);\r\n}\r\n\r\n\r\n\r\nfunction* addTenantIdustryLevelsItem({payload}){\r\n try{\r\n \r\n const items = yield call(addTenantIndustryLevels, payload);\r\n yield put({\r\n type: types.ADD_TENANTINDUSTRY_LEVELS_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n yield call(getTenantIdustryLevels);\r\n } catch (e) {\r\n\r\n yield put(action.error({\r\n error: e.response?.data || e\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchAddTenantIdustryLevelsRequest(){\r\n yield takeLatest(types.ADD_TENANTINDUSTRY_LEVELS_REQUEST, addTenantIdustryLevelsItem);\r\n}\r\n\r\nfunction* deleteTenantIdustryLevelsItem({payload}){\r\n try{\r\n \r\n const items = yield call(deleteTenantIndustryLevels, payload);\r\n yield put({\r\n type: types.DELETE_TENANTINDUSTRY_LEVELS_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n // yield call(getTenantIdustryLevels);\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e.response?.data || e\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchDeleteTenantIdustryLevelsRequest(){\r\n yield takeLatest(types.DELETE_TENANTINDUSTRY_LEVELS_REQUEST, deleteTenantIdustryLevelsItem);\r\n}\r\n\r\n\r\nfunction* getLevelsType({ payload }){\r\n try{\r\n const result = yield call(getLevelsTypeList, payload);\r\n yield put({\r\n type: types.FETCH_LEVELS_TYPE_SUCCESS,\r\n payload: {\r\n items: result.data.result\r\n },\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* getLevelsTypeRequest(){\r\n yield takeEvery(types.FETCH_LEVELS_TYPE, getLevelsType);\r\n}\r\n\r\nfunction* updateLevelsTypeItem({payload}){\r\n try{\r\n \r\n const items = yield call(updateLevelsType, payload);\r\n yield put({\r\n type: types.UPDATE_LEVELS_TYPE_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchUpdateLevelsTypeRequest(){\r\n yield takeLatest(types.UPDATE_LEVELS_TYPE_REQUEST, updateLevelsTypeItem);\r\n}\r\n\r\n\r\n\r\nfunction* addLevelsTypeItem({payload}){\r\n try{\r\n \r\n const items = yield call(addLevelsType, payload);\r\n yield put({\r\n type: types.ADD_LEVELS_TYPE_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchAddLevelsTypeRequest(){\r\n yield takeLatest(types.ADD_LEVELS_TYPE_REQUEST, addLevelsTypeItem);\r\n}\r\n\r\nfunction* deleteLevelsTypeItem({payload}){\r\n try{\r\n \r\n const items = yield call(deleteLevelsType, payload);\r\n yield put({\r\n type: types.DELETE_LEVELS_TYPE_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchDeleteLevelsTypeRequest(){\r\n yield takeLatest(types.DELETE_LEVELS_TYPE_REQUEST, deleteLevelsTypeItem);\r\n}\r\n\r\nconst tenantIdustrySaga = [\r\n fork(getAllTenantIndustriesRequest),\r\n fork(getActiveTenantIndustriesRequest),\r\n fork(watchUpdateTenantIdustryRequest),\r\n fork(watchAddTenantIdustryRequest),\r\n fork(watchDeleteTenantIdustryRequest),\r\n fork(getTenantIdustryLevelsRequest),\r\n fork(watchUpdateTenantIdustryLevelsRequest),\r\n fork(watchAddTenantIdustryLevelsRequest),\r\n fork(watchDeleteTenantIdustryLevelsRequest),\r\n fork(getLevelsTypeRequest),\r\n fork(watchUpdateLevelsTypeRequest),\r\n fork(watchAddLevelsTypeRequest),\r\n fork(watchDeleteLevelsTypeRequest)\r\n];\r\n\r\nexport default tenantIdustrySaga;","import axios from 'axios';\r\n\r\nexport const fetchOrganisationById = (id) => {\r\n return axios.get(`organization/GetOrganizationByTenantId/${id}`);\r\n}\r\n\r\nexport const fetchOrganisationAdd = (params) => {\r\n return axios.post(`organization/createOrganization`, params);\r\n}\r\n\r\nexport const fetchOrganisationUpdate = (params) => {\r\n return axios.post(`organization/updateOrganization`, params);\r\n}\r\n\r\n// export const importFile = (data) => {\r\n// return axios.post(`organization/importhierarchy/tenant/${data.id}`, data.params);\r\n// }\r\n\r\nexport function deleteOrganization(id){\r\n return axios.delete(`organization/${id}`);\r\n}\r\n\r\nexport const importHierarchyFile = ({file, tenantID})=>{\r\n var formData = new FormData();\r\n formData.append(\"tenantID\", tenantID);\r\n formData.append(\"file\", file);\r\n return axios.post( 'organization/importhierarchy', formData, {\r\n headers: {\r\n 'Content-Type': 'multipart/form-data'\r\n }\r\n });\r\n}","import { takeEvery, takeLatest, take, call, fork, put } from 'redux-saga/effects';\r\nimport * as types from '../actions/types';\r\nimport * as action from '../actions/organisationAction';\r\nimport { \r\n fetchOrganisationById, \r\n fetchOrganisationAdd, \r\n fetchOrganisationUpdate, \r\n importHierarchyFile,\r\n deleteOrganization\r\n } from '../../crud/organisation.crud';\r\n\r\n\r\nfunction* getOrganisationById({ payload }){\r\n try{\r\n const result = yield call(fetchOrganisationById, payload);\r\n yield put({\r\n type: types.FETCH_ORGANISATION_SUCCESS,\r\n payload: {\r\n items: result.data.result\r\n },\r\n });\r\n }catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* getOrganisationByIdRequest(){\r\n yield takeEvery(types.FETCH_ORGANISATION, getOrganisationById);\r\n}\r\n\r\n\r\nfunction* addOrganisationRow({ payload }){\r\n try{\r\n const result = yield call(fetchOrganisationAdd, payload);\r\n yield put({\r\n type: types.ADD_ORGANISATION_SUCCESS,\r\n payload: {\r\n items: result.data.result\r\n },\r\n });\r\n }catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* addOrganisationRowRequest(){\r\n yield takeEvery(types.ADD_ORGANISATION_REQUEST, addOrganisationRow);\r\n}\r\n\r\nfunction* updateOrganisationRow({ payload }){\r\n try{\r\n const result = yield call(fetchOrganisationUpdate, payload);\r\n yield put({\r\n type: types.UPDATE_ORGANISATION_SUCCESS,\r\n payload: {\r\n items: result.data.result\r\n },\r\n });\r\n }catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* updateOrganisationRowRequest(){\r\n yield takeEvery(types.UPDATE_ORGANISATION_REQUEST, updateOrganisationRow);\r\n}\r\n\r\nfunction* importHierarchyFileHandler({ payload }){\r\n try{\r\n const result = yield call(importHierarchyFile, payload);\r\n yield put({\r\n type: types.ORGANISATION_importHierarchyFile_SUCCESS,\r\n payload: {\r\n items: result.data.result\r\n },\r\n });\r\n }catch (e) {\r\n console.log(\"Organization Saga\", e);\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* importOrganisationsRequest(){\r\n yield takeEvery(types.ORGANISATION_importHierarchyFile_REQUEST, importHierarchyFileHandler);\r\n}\r\n\r\nfunction* deleteOrganizationItem({payload}){\r\n try{\r\n const items = yield call(deleteOrganization, payload);\r\n yield put({\r\n type: types.DELETE_ORGANIZATION_SUCCESS,\r\n payload: items.data.result\r\n });\r\n yield call(getOrganisationByIdRequest);\r\n }catch(e){\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchDeleteOrganizationRequest(){\r\n yield takeLatest(types.DELETE_ORGANIZATION_REQUEST, deleteOrganizationItem);\r\n}\r\n\r\nconst OrganisationSaga = [\r\n fork(getOrganisationByIdRequest),\r\n fork(addOrganisationRowRequest),\r\n fork(updateOrganisationRowRequest),\r\n fork(importOrganisationsRequest),\r\n fork(watchDeleteOrganizationRequest)\r\n];\r\n\r\nexport default OrganisationSaga;","import axios from 'axios'\r\nconst getUrl = 'subscription/TenantConfiguration'\r\nconst updateUrl = 'subscription/createtenantconfiguration'\r\nconst workspaceUrl = 'workspace/getallworkspace'\r\n\r\n\r\n\r\nexport function getTenantConfigAllList() {\r\n return axios.get(getUrl);\r\n}\r\nexport function updateTenantConfiguration(params) {\r\n return axios.post(updateUrl, params);\r\n}\r\nexport function getworkspacereport(params) {\r\n return axios.post(workspaceUrl, params);\r\n}\r\n","import { takeEvery, call, fork, put } from 'redux-saga/effects';// takeLatest, take,\r\nimport * as types from '../actions/types';\r\nimport * as action from '../actions/tenantConfigurationAction';\r\nimport { getTenantConfigAllList, updateTenantConfiguration } from '../../crud/tenantconfiguration.crud'\r\n\r\n\r\n\r\nfunction* getAllTenantConfig(){\r\n try{\r\n const result = yield call(getTenantConfigAllList);\r\n yield put({\r\n type: types.FETCH_TenantConfig_SUCCESS,\r\n payload: {\r\n items: result.data.result\r\n },\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* getAllTenantConfigRequest(){\r\n yield takeEvery(types.FETCH_ALL_TenantConfig, getAllTenantConfig);\r\n}\r\n\r\nfunction* updateTenantConfig({payload}){\r\n try{\r\n const result = yield call(updateTenantConfiguration, payload);\r\n yield put({\r\n type: types.UPDATE_TenantConfig_success,\r\n payload: {\r\n items: result.data.result\r\n },\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* updateTenantConfigRequest(){\r\n yield takeEvery(types.UPDATE_TenantConfig, updateTenantConfig);\r\n}\r\n\r\n\r\nconst tenantconfigurationSaga = [\r\n fork(getAllTenantConfigRequest),\r\n fork(updateTenantConfigRequest)\r\n];\r\n\r\nexport default tenantconfigurationSaga;","import axios from 'axios'\r\nconst getUrl = 'roles/getAll'\r\n// const updateUrl = 'roles/updaterole'\r\n// const addUrl = 'roles/createrole'\r\nconst url = 'roles'\r\n// const getUrlID='roles/getRolesPermissions'\r\n\r\n\r\nexport function getRolesAllList(params) {\r\n return axios.post(getUrl, params);\r\n}\r\nexport function getRolesAllTenantList(data) {\r\n return axios.post(`${getUrl}/tenant/${data.id}`, data.params);\r\n}\r\nexport function updateRole(params) {\r\n return axios.post(`${url}/save`, params);\r\n}\r\nexport function addRole(params) {\r\n return axios.post(`${url}/save`, params);\r\n}\r\nexport function getCreateRole() {\r\n return axios.get(`${url}/create`);\r\n}\r\nexport function deleteRole(params) {\r\n return axios.delete(`${url}/${params.roleID}`,params);\r\n}\r\nexport function getRoleItem(roleID) {\r\n return axios.get(`${url}/${roleID}`);\r\n}\r\nexport function getTenantRoleCreate(id) {\r\n return axios.get(`${url}/create/tenant/${id}`);\r\n}","import { takeEvery, takeLatest, take, call, fork, put } from 'redux-saga/effects';\r\nimport * as types from '../actions/types';\r\nimport * as action from '../actions/roleAction';\r\n\r\nimport { \r\n getRolesAllList,\r\n updateRole,\r\n addRole,\r\n deleteRole,\r\n getRoleItem,\r\n getCreateRole,\r\n getTenantRoleCreate,\r\n getRolesAllTenantList\r\n} from '../../crud/role.crud';\r\n\r\nfunction* getRole({payload}) {\r\n try {\r\n const res = yield call(getRolesAllList, payload);\r\n yield put({\r\n type: types.FETCH_Role_SUCCESS,\r\n payload: {\r\n items: res.data.result.items\r\n },\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: 'An error occurred when trying to get the user'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getRoleRequest() {\r\n yield takeEvery(types.FETCH_ALL_Role, getRole);\r\n}\r\n\r\n\r\nfunction* getRoleTenant({payload}) {\r\n try {\r\n const res = yield call(getRolesAllTenantList, payload);\r\n yield put({\r\n type: types.FETCH_Role_SUCCESS,\r\n payload: {\r\n items: res.data.result.items\r\n },\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: 'An error occurred when trying to get the user'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getRoleTenantRequest() {\r\n yield takeEvery(types.FETCH_ALL_Role_tenant, getRoleTenant);\r\n}\r\n\r\nfunction* getRoleByIDReq({payload}) {\r\n try {\r\n const res = yield call(getRoleItem ,payload);\r\n yield put({\r\n type: types.FETCH_Role_BY_ID_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: 'An error occurred when trying to get the role'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getRoleByIdRequest() {\r\n yield takeEvery(types.FETCH_Role_BY_ID_REQUEST, getRoleByIDReq);\r\n}\r\n\r\nfunction* updateRoleItem({ payload }) {\r\n try {\r\n const items = yield call(updateRole, payload);\r\n yield put({\r\n type: types.UPDATE_Role_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n yield call(getRoleRequest);\r\n } catch (e) {\r\n yield put(action.error({\r\n error: 'An error occurred when trying to update the Role'\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchUpdateRoleRequest() {\r\n yield takeLatest(types.UPDATE_Role_REQUEST, updateRoleItem);\r\n}\r\n\r\nfunction* addRoleItem({ payload }) {\r\n try {\r\n\r\n const items = yield call(addRole, payload);\r\n yield put({\r\n type: types.ADD_Role_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n yield call(getRoleRequest);\r\n } catch (e) {\r\n yield put(action.error({\r\n error: 'An error occurred when trying to add the Role'\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchAddRoleRequest() {\r\n yield takeLatest(types.ADD_Role_REQUEST, addRoleItem);\r\n}\r\n\r\nfunction* addRoleCreateItem() {\r\n try {\r\n\r\n const res = yield call(getCreateRole);\r\n yield put({\r\n type: types.ADD_Role_create_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n yield call(getRoleRequest);\r\n } catch (e) {\r\n yield put(action.error({\r\n error: 'An error occurred when trying to add the Role'\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchAddRoleCreateRequest() {\r\n yield takeLatest(types.ADD_Role_create_REQUEST, addRoleCreateItem);\r\n}\r\n\r\nfunction* deleteRoleItem({ payload }) {\r\n try {\r\n\r\n const items = yield call(deleteRole, payload);\r\n yield put({\r\n type: types.DELETE_Role_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n // yield call(getRoleRequest);\r\n } catch (e) {\r\n yield put(action.error({\r\n error: 'An error occurred when trying to delete the Role'\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchDeleteRoleRequest() {\r\n yield takeLatest(types.DELETE_Role_Request, deleteRoleItem);\r\n}\r\n\r\nfunction* addRoleCreateTenantItem({ payload }) {\r\n try {\r\n\r\n const res = yield call(getTenantRoleCreate, payload);\r\n yield put({\r\n type: types.FETCH_Role_BY_tenantID_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n yield call(getRoleRequest);\r\n } catch (e) {\r\n yield put(action.error({\r\n error: 'An error occurred when trying to add the Role'\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchAddRoleCreateTenantRequest() {\r\n yield takeLatest(types.FETCH_Role_BY_tenantID_REQUEST, addRoleCreateTenantItem);\r\n}\r\n\r\n\r\nconst RoleSaga = [\r\n fork(getRoleRequest),\r\n fork(watchUpdateRoleRequest),\r\n fork(watchAddRoleRequest),\r\n fork(watchDeleteRoleRequest),\r\n fork(getRoleByIdRequest),\r\n fork(watchAddRoleCreateRequest),\r\n fork(watchAddRoleCreateTenantRequest),\r\n fork(getRoleTenantRequest)\r\n];\r\n\r\nexport default RoleSaga;\r\n","import { takeEvery, call, fork, put } from 'redux-saga/effects';//takeLatest, take,\r\nimport * as types from '../actions/types';\r\nimport * as action from '../actions/configAction';\r\nimport { \r\n getworkspacereport\r\n} from '../../crud/tenantconfiguration.crud'\r\nfunction* getWorkspacer({payload}){\r\n try{\r\n const result = yield call(getworkspacereport, payload);\r\n yield put({\r\n type: types.FETCH_WORKSPACE_SUCCESS,\r\n payload: {\r\n items: result.data.result\r\n },\r\n });\r\n }catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to get the user'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getWorkspacerRequest(){\r\n yield takeEvery(types.FETCH_WORKSPACE, getWorkspacer);\r\n}\r\n\r\nconst tenantWorkspacerSaga = [\r\n fork(getWorkspacerRequest)\r\n];\r\n\r\nexport default tenantWorkspacerSaga;","import axios from 'axios'\r\nconst url = 'Permission';\r\n\r\nexport function getPermissionsList(params) {\r\n return axios.get(`${url}/getPermissions`, params);\r\n}\r\n\r\nexport function savePermissions(params) {\r\n return axios.post(`${url}/saveAllMapping`, params);\r\n}\r\n\r\nexport function addPermissions(params) {\r\n return axios.post(`${url}/createPermission`, params);\r\n}","import { takeEvery, call, fork, put } from 'redux-saga/effects';// takeLatest, take,\r\nimport * as types from '../actions/types';\r\nimport * as action from '../actions/permissionAction';\r\nimport { \r\n getPermissionsList,\r\n savePermissions,\r\n addPermissions\r\n} from '../../crud/permission.curd'\r\nfunction* getPermissions(){\r\n try{\r\n const result = yield call(getPermissionsList);\r\n yield put({\r\n type: types.FETCH_PERMISSION_SUCCESS,\r\n payload: {\r\n items: result.data.result\r\n },\r\n });\r\n }catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* getPermissionsRequest(){\r\n yield takeEvery(types.FETCH_PERMISSION, getPermissions);\r\n}\r\n\r\nfunction* savePermissionsData({payload}){\r\n try{\r\n const result = yield call(savePermissions, payload);\r\n yield put({\r\n type: types.SAVE_PERMISSION_SUCCESS,\r\n payload: {\r\n items: result.data.result\r\n },\r\n });\r\n }catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* savePermissionsRequest(){\r\n yield takeEvery(types.SAVE_PERMISSION, savePermissionsData);\r\n}\r\n\r\nfunction* addPermissionsData({payload}){\r\n try{\r\n const result = yield call(addPermissions, payload);\r\n yield put({\r\n type: types.ADD_PERMISSION_SUCCESS,\r\n payload: {\r\n items: result.data.result\r\n },\r\n });\r\n }catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* addPermissionsRequest(){\r\n yield takeEvery(types.ADD_PERMISSION, addPermissionsData);\r\n}\r\n\r\nconst permissionSaga = [\r\n fork(getPermissionsRequest),\r\n fork(savePermissionsRequest),\r\n fork(addPermissionsRequest)\r\n];\r\n\r\nexport default permissionSaga;","import axios from \"axios\";\r\nconst endPoint = \"SKU\";\r\nconst getEndPoint = `${endPoint}/getAllSetting`;\r\nconst updateEndPoint = `${endPoint}`;\r\nconst getCapacitiesEndPoint = `${endPoint}/GetCapacityList`;\r\nexport function getAllPowerBICapacityManagement () { return axios.get(getEndPoint) ;}\r\nexport function updatePowerBICapacityManagement (data) { return axios.post(updateEndPoint, data); }\r\nexport function GetAllCapacities() { return axios.get(getCapacitiesEndPoint); }","import { takeEvery, takeLatest, take, call, fork, put } from 'redux-saga/effects';\r\nimport * as types from '../actions/types';\r\nimport * as action from '../actions/powerBICapacityManagementAction';\r\n\r\nimport { getAllPowerBICapacityManagement, GetAllCapacities, updatePowerBICapacityManagement } from '../../crud/powerBICapacityManagement.crud';\r\n\r\nfunction* getAllPowerBICapacityManagementHandler() {\r\n try {\r\n const res = yield call(getAllPowerBICapacityManagement);\r\n yield put({\r\n type: types.GET_ALL_POWERBI_CAPACITY_MANAGEMENT_SUCCESS,\r\n payload: {\r\n items: res.data\r\n },\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* getAllPowerBICapacityManagementRequest() {\r\n yield takeEvery(types.GET_ALL_POWERBI_CAPACITY_MANAGEMENT, getAllPowerBICapacityManagementHandler);\r\n}\r\nfunction* GetAllCapacitiesHandler() {\r\n try {\r\n const res = yield call(GetAllCapacities);\r\n yield put({\r\n type: types.GET_ALL_CAPACITIES_SUCCESS,\r\n payload: {\r\n items: res.data\r\n },\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* GetAllCapacitiesRequest() {\r\n yield takeEvery(types.GET_ALL_CAPACITIES, GetAllCapacitiesHandler);\r\n}\r\n\r\nfunction* updatePowerBICapacityManagementHandler({ payload }) {\r\n try {\r\n\r\n const items = yield call(updatePowerBICapacityManagement, payload);\r\n yield put({\r\n type: types.UPDATE_POWERBI_CAPACITY_MANAGEMENT_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n yield call(getAllPowerBICapacityManagement);\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* updatePowerBICapacityManagementRequest() {\r\n yield takeLatest(types.UPDATE_POWERBI_CAPACITY_MANAGEMENT, updatePowerBICapacityManagementHandler);\r\n}\r\n\r\n\r\nconst powerBICapacityManagementSaga = [\r\n fork(getAllPowerBICapacityManagementRequest),\r\n fork(GetAllCapacitiesRequest),\r\n fork(updatePowerBICapacityManagementRequest),\r\n];\r\n\r\nexport default powerBICapacityManagementSaga;\r\n","import axios from \"axios\";\r\nconst url = 'CompanyPolicy';\r\n\r\nexport const getCompanyPolicyList = () => {\r\n return axios.post(`${url}/getAll`);\r\n}\r\n\r\nexport const getCompanyPolicyTenantList = (id) => {\r\n return axios.post(`${url}/getAll/tenant/${id}`);\r\n}\r\n\r\nexport const getCompanyPolicyListByTenantId = (id) => {\r\n return axios.get(`${url}/GetLatestPolicy/${id}`);\r\n}\r\n\r\nexport const companyPolicyUpdate = (params) => {\r\n return axios.post(url, params);\r\n}\r\n\r\nexport const companyPolicyCreate = () => {\r\n return axios.get(`CompanyPolicy/create`);\r\n}\r\n\r\nexport const companyPolicyAdd = (id) => {\r\n return axios.get(`${url}/create/tenant/${id}`);\r\n}\r\n\r\nexport const companyPolicyDelete = (id) => {\r\n return axios.delete(`${url}/${id}`);\r\n}\r\n\r\nexport const companyPolicyPublish = (id) => {\r\n return axios.put(`CompanyPolicy/publishPolicy/${id}`);\r\n}\r\n\r\nexport function companyPolicyAccept(params){\r\n return axios.post(`CompanyPolicy/accept`, params)\r\n}\r\n\r\nexport function companyPolicyLatest(){\r\n return axios.get(`CompanyPolicy/GetLatestPolicy`)\r\n}\r\n\r\nexport function companyPolicyLatestTenant(id){\r\n return axios.get(`CompanyPolicy/GetLatestPolicy/${id}`)\r\n}","import { takeEvery, call, fork, put } from 'redux-saga/effects';//takeLatest, take,\r\nimport * as types from '../actions/types';\r\nimport * as action from '../actions/companyPolicyAction';\r\n\r\nimport { \r\n getCompanyPolicyList,\r\n getCompanyPolicyTenantList,\r\n companyPolicyUpdate,\r\n companyPolicyCreate,\r\n companyPolicyAdd,\r\n companyPolicyLatest,\r\n companyPolicyLatestTenant,\r\n companyPolicyAccept,\r\n companyPolicyPublish\r\n} from '../../crud/companyPolicy.crud';\r\n\r\nfunction* getCompanyPolicy() {\r\n try {\r\n const res = yield call(getCompanyPolicyList);\r\n yield put({\r\n type: types.FETCH_COMPANYPOLICY_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* getCompanyPolicyRequest() {\r\n yield takeEvery(types.FETCH_COMPANYPOLICY, getCompanyPolicy);\r\n}\r\n\r\nfunction* getCompanyPolicyTenant({ payload }) {\r\n try {\r\n const res = yield call(getCompanyPolicyTenantList, payload);\r\n yield put({\r\n type: types.FETCH_COMPANYPOLICY_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* getCompanyPolicyTenantRequest() {\r\n yield takeEvery(types.FETCH_COMPANYPOLICY_TENANT, getCompanyPolicyTenant);\r\n}\r\n\r\nfunction* updateCompanyPolicy({ payload }) {\r\n try {\r\n const res = yield call(companyPolicyUpdate, payload);\r\n yield put({\r\n type: types.SAVE_COMPANYPOLICY_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* updateCompanyPolicyRequest() {\r\n yield takeEvery(types.SAVE_COMPANYPOLICY, updateCompanyPolicy);\r\n}\r\n\r\nfunction* addCompanyPolicy() {\r\n try {\r\n const res = yield call(companyPolicyCreate);\r\n yield put({\r\n type: types.ADD_COMPANYPOLICY_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* addCompanyPolicyRequest() {\r\n yield takeEvery(types.ADD_COMPANYPOLICY, addCompanyPolicy);\r\n}\r\n\r\nfunction* createTenantCompanyPolicy({ payload }) {\r\n try {\r\n const res = yield call(companyPolicyAdd, payload);\r\n yield put({\r\n type: types.ADD_COMPANYPOLICY_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* createTenantCompanyPolicyRequest() {\r\n yield takeEvery(types.CREATE_COMPANYPOLICY, createTenantCompanyPolicy);\r\n}\r\n\r\nfunction* getCompanyPolicyLatest() {\r\n try {\r\n const res = yield call(companyPolicyLatest);\r\n yield put({\r\n type: types.COMPANYPOLICY_LATEST_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* companyPolicyLatestRequest() {\r\n yield takeEvery(types.COMPANYPOLICY_LATEST, getCompanyPolicyLatest);\r\n}\r\n\r\nfunction* getCompanyPolicyLatestTenant({ payload }) {\r\n try {\r\n const res = yield call(companyPolicyLatestTenant, payload);\r\n yield put({\r\n type: types.COMPANYPOLICY_LATEST_TENANT_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* companyPolicyLatestTenantRequest() {\r\n yield takeEvery(types.COMPANYPOLICY_LATEST_TENANT, getCompanyPolicyLatestTenant);\r\n}\r\n\r\nfunction* getCompanyPolicyAccept({ payload }) {\r\n try {\r\n const res = yield call(companyPolicyAccept, payload);\r\n yield put({\r\n type: types.COMPANYPOLICY_ACCEPT_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* companyPolicyAcceptRequest() {\r\n yield takeEvery(types.COMPANYPOLICY_ACCEPT, getCompanyPolicyAccept);\r\n}\r\n\r\nfunction* getCompanyPolicyPublish({ payload }) {\r\n try {\r\n const res = yield call(companyPolicyPublish, payload);\r\n yield put({\r\n type: types.COMPANYPOLICY_PUBLISH_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* companyPolicyPublishRequest() {\r\n yield takeEvery(types.COMPANYPOLICY_PUBLISH, getCompanyPolicyPublish);\r\n}\r\n\r\nconst companyPolicySaga = [\r\n fork(getCompanyPolicyRequest),\r\n fork(getCompanyPolicyTenantRequest),\r\n fork(updateCompanyPolicyRequest),\r\n fork(addCompanyPolicyRequest),\r\n fork(createTenantCompanyPolicyRequest),\r\n fork(companyPolicyLatestRequest),\r\n fork(companyPolicyLatestTenantRequest),\r\n fork(companyPolicyAcceptRequest),\r\n fork(companyPolicyPublishRequest)\r\n];\r\n\r\nexport default companyPolicySaga;","import axios from 'axios';\r\n\r\nexport const fetchFileOperationsById = (id) => {\r\n return axios.get(`tenant/getfileOperations/${id}`);\r\n}\r\n\r\nexport const fetchFileOperationsAdd = (params) => {\r\n return axios.post(`tenant/fileOperations`, params);\r\n}\r\n\r\n","import { takeEvery, call, fork, put } from 'redux-saga/effects';//takeLatest, take,\r\nimport * as types from '../actions/types';\r\nimport * as action from '../actions/configAction';\r\nimport { fetchFileOperationsById,fetchFileOperationsAdd } from '../../crud/fileOperations.crud';\r\n\r\n\r\nfunction* getFileOperationById({ payload }){\r\n try{\r\n const result = yield call(fetchFileOperationsById, payload);\r\n yield put({\r\n type: types.FETCH_FILEOPERATION_SUCCESS,\r\n payload: result.data.result\r\n });\r\n }catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to get the user'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getFileOperationByIdRequest(){\r\n yield takeEvery(types.FETCH_FILEOPERATION, getFileOperationById);\r\n}\r\n\r\n\r\nfunction* addFileOperationsRow({ payload }){\r\n try{\r\n const result = yield call(fetchFileOperationsAdd, payload);\r\n yield put({\r\n type: types.FETCH_FILEOPERATION_SUCCESS,\r\n payload: result.data.result\r\n });\r\n }catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to get the user'\r\n }));\r\n }\r\n}\r\n\r\nfunction* addFileOperationsRowRequest(){\r\n yield takeEvery(types.ADD_FILEOPERATION, addFileOperationsRow);\r\n}\r\n\r\n\r\nconst FileOperationsSaga = [\r\n fork(getFileOperationByIdRequest),\r\n fork(addFileOperationsRowRequest)\r\n];\r\n\r\nexport default FileOperationsSaga;","import * as types from './types'\r\n\r\n\r\nconst getconfigureWorkspaces = (id) => ({\r\n type: types.FETCH_ConfigureWorkspaces,\r\n payload: id\r\n})\r\nconst getconfigureWorkspacesSuccess = ({ items }) => ({\r\n type: types.FETCH_ConfigureWorkspaces_Success,\r\n payload: items\r\n})\r\n\r\nconst updateConfigureWorkspaces = (params) => ({\r\n type: types.UPDATE_ConfigureWorkspaces,\r\n payload: params\r\n})\r\nconst updateConfigureWorkspacesSuccess = ({ items }) => ({\r\n type: types.UPDATE_ConfigureWorkspaces_Success,\r\n payload: items\r\n})\r\nconst error = ({error}) => ({\r\n type: types.ConfigureWorkspaces_Error,\r\n payload: error\r\n});\r\n\r\nconst reset = () => ({\r\n type: types.RESET_STORE\r\n})\r\n\r\nexport {\r\n getconfigureWorkspaces,\r\n getconfigureWorkspacesSuccess,\r\n updateConfigureWorkspaces,\r\n updateConfigureWorkspacesSuccess,\r\n error,\r\n reset\r\n}","import axios from \"axios\";\r\n\r\nconst url = 'workspace';\r\n\r\nexport const getConfigureWorkspaces = (id) => {\r\n return axios.get(`${url}/TenantWorkspaceReport/${id}`);\r\n};\r\n\r\nexport const updateConfigureWorkspaces = (params) => {\r\n return axios.post(`${url}/TenantWorkspaceReport`, params);\r\n};","import { takeEvery, call, fork, put } from 'redux-saga/effects';//takeLatest, take,\r\nimport * as types from '../actions/types';\r\nimport * as action from '../actions/configureWorkspacesAction';\r\nimport { getConfigureWorkspaces, updateConfigureWorkspaces } from '../../crud/configureWorkspaces.curd';\r\n\r\n\r\nfunction* getConfigureWorkspacesById({ payload }){\r\n try{\r\n const result = yield call(getConfigureWorkspaces, payload);\r\n yield put({\r\n type: types.FETCH_ConfigureWorkspaces_Success,\r\n payload: result.data.result\r\n });\r\n }catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* getConfigureWorkspacesRequest(){\r\n yield takeEvery(types.FETCH_ConfigureWorkspaces, getConfigureWorkspacesById);\r\n}\r\n\r\nfunction* updateConfigureWorkspacesAll({ payload }){\r\n try{\r\n const result = yield call(updateConfigureWorkspaces, payload);\r\n yield put({\r\n type: types.UPDATE_ConfigureWorkspaces_Success,\r\n payload: result.data.result\r\n });\r\n }catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* updateConfigureWorkspacesRequest(){\r\n yield takeEvery(types.UPDATE_ConfigureWorkspaces, updateConfigureWorkspacesAll);\r\n}\r\n\r\nconst ConfigureWorkspacesSaga = [\r\n fork(getConfigureWorkspacesRequest),\r\n fork(updateConfigureWorkspacesRequest)\r\n];\r\n\r\nexport default ConfigureWorkspacesSaga;","import axios from 'axios';\r\nconst url = 'users'\r\nexport const fetchManageUser = (params) => {\r\n return axios.post(`${url}/admin/getall`, params);\r\n}\r\nexport const fetchManageTenantUser = (data) => {\r\n return axios.post(`${url}/tenant/getall/${data.id}`, data.params);\r\n}\r\nexport const fetchManageUserByUserId = (id) => {\r\n return axios.get(`${url}/getuserbyid/${id}`);\r\n}\r\nexport const fetchCreateManageUser = () => {\r\n return axios.get(`${url}/admin/create`);\r\n}\r\nexport const fetchCreateManageUserByTenantId = (id) => {\r\n return axios.get(`${url}/tenant/create/${id}`);\r\n}\r\n\r\nexport const fetchUpdateManageUser = (params) => {\r\n return axios.post(`${url}/updateuser`, params);\r\n}\r\n\r\nexport const fetchAddManageUser = (params) => {\r\n return axios.post(`${url}/saveUser`, params);\r\n}\r\nexport const deleteManageUser = (params) => {\r\n // console.log(\"manageUser crud delete\", {params:params});\r\n return axios.delete(`${url}/tenant/deleteuser`, {params:params});\r\n}\r\n\r\n","import { takeEvery, takeLatest, take, call, fork, put } from 'redux-saga/effects';\r\nimport * as types from '../actions/types';\r\nimport * as action from '../actions/manageUserAction';\r\n\r\nimport { \r\n fetchManageUser,\r\n fetchManageUserByUserId,\r\n fetchCreateManageUser,\r\n fetchCreateManageUserByTenantId,\r\n fetchManageTenantUser,\r\n fetchUpdateManageUser,\r\n fetchAddManageUser,\r\n deleteManageUser\r\n} from '../../crud/manageUser.curd';\r\n\r\nfunction* getManageUser({ payload }){\r\n try{\r\n const result = yield call(fetchManageUser, payload);\r\n yield put({\r\n type: types.FETCH_MANAGEUSER_SUCCESS,\r\n payload: result.data.result\r\n });\r\n }catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* getManageUserRequest(){\r\n yield takeEvery(types.FETCH_MANAGEUSER_REQUEST, getManageUser);\r\n}\r\n\r\nfunction* getManageUserTenantId({ payload }){\r\n try{\r\n const result = yield call(fetchManageTenantUser, payload);\r\n yield put({\r\n type: types.FETCH_MANAGEUSER_SUCCESS,\r\n payload: result.data.result\r\n });\r\n }catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* getManageUserTenantIdRequest(){\r\n yield takeEvery(types.FETCH_MANAGEUSER_TENANTID_REQUEST, getManageUserTenantId);\r\n}\r\n\r\nfunction* getManageUserByUserId({ payload }){\r\n try{\r\n const result = yield call(fetchManageUserByUserId, payload);\r\n yield put({\r\n type: types.FETCH_MANAGEUSER_BYUSERID_SUCCESS,\r\n payload: result.data.result\r\n });\r\n }catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* getManageUserByUserIdRequest(){\r\n yield takeEvery(types.FETCH_MANAGEUSER_BYUSERID_REQUEST, getManageUserByUserId);\r\n}\r\n\r\nfunction* createManageUser(){\r\n try{\r\n const result = yield call(fetchCreateManageUser);\r\n yield put({\r\n type: types.CREATE_MANAGEUSER_SUCCESS,\r\n payload: result.data.result\r\n });\r\n }catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* creatManageUserRequest(){\r\n yield takeEvery(types.CREATE_MANAGEUSER_REQUEST, createManageUser);\r\n}\r\n\r\nfunction* createManageUserTenantId({ payload }){\r\n try{\r\n const result = yield call(fetchCreateManageUserByTenantId, payload);\r\n yield put({\r\n type: types.CREATE_MANAGEUSER_BYTENANTID_SUCCESS,\r\n payload: result.data.result\r\n });\r\n }catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* createManageUserTenantIdRequest(){\r\n yield takeEvery(types.CREATE_MANAGEUSER_BYTENANTID_REQUEST, createManageUserTenantId);\r\n}\r\n\r\nfunction* updateManageUser({ payload }){\r\n try{\r\n const result = yield call(fetchUpdateManageUser, payload);\r\n yield put({\r\n type: types.UPDATE_MANAGEUSER_SUCCESS,\r\n payload: result.data.result\r\n });\r\n }catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* updateManageUserTenantIdRequest(){\r\n yield takeEvery(types.UPDATE_MANAGEUSER_REQUEST, updateManageUser);\r\n}\r\n\r\nfunction* addManageUser({ payload }){\r\n try{\r\n const result = yield call(fetchAddManageUser, payload);\r\n if(result.data.ErrorMessage){\r\n yield put({\r\n type: types.MANAGEUSER_ERROR,\r\n payload: {\r\n ErrorMessage: result.data.ErrorMessage,\r\n error: result.data.ErrorMessage,\r\n success: false\r\n }\r\n \r\n });\r\n }else{\r\n yield put({\r\n type: types.ADD_MANAGEUSER_SUCCESS,\r\n payload: result.data.result\r\n });\r\n }\r\n }catch (e) {\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* addManageUserTenantIdRequest(){\r\n yield takeEvery(types.ADD_MANAGEUSER_REQUEST, addManageUser);\r\n}\r\n\r\n\r\nfunction* deleteManageUserItem({payload}){\r\n try{\r\n // console.log(\"SagaManageUser deleteManageUserItem\", payload);\r\n const items = yield call(deleteManageUser, payload);\r\n yield put({\r\n type: types.DELETE_MANAGEUSER_SUCCESS,\r\n payload: items.data.result\r\n });\r\n // yield call(getManageUserTenantIdRequest);\r\n }catch(e){\r\n // console.log(e);\r\n yield put(action.error({\r\n error: e\r\n }));\r\n }\r\n}\r\n\r\nfunction* watchDeleteManageUserRequest(){\r\n yield takeLatest(types.DELETE_MANAGEUSER_REQUEST, deleteManageUserItem);\r\n}\r\n\r\n\r\n\r\nconst manageUserSaga = [\r\n fork(getManageUserRequest),\r\n fork(getManageUserTenantIdRequest),\r\n fork(getManageUserByUserIdRequest),\r\n fork(creatManageUserRequest),\r\n fork(createManageUserTenantIdRequest),\r\n fork(updateManageUserTenantIdRequest),\r\n fork(addManageUserTenantIdRequest),\r\n fork(watchDeleteManageUserRequest),\r\n\r\n];\r\n\r\nexport default manageUserSaga;","import axios from 'axios'\r\nconst getUrl = 'workspace/reports'\r\nconst updateUrl = 'report/updatereport'\r\nconst getByModuleIdUrl = 'report/getReportByModuleId'\r\nconst getByIdUrl = 'report/getReport'\r\nconst reloadFromPowerBiUrl = 'workspace/reloadReportsFromPowerBi'\r\n\r\nexport function getReport(params) {\r\n return axios.post(getUrl, params);\r\n};\r\n\r\nexport function updateReport(params) {\r\n return axios.post(updateUrl, params);\r\n}\r\n\r\nexport function getReportByModuleId(id) {\r\n return axios.get(`${getByModuleIdUrl}/${id}`);\r\n}\r\n\r\nexport function getReportById(id) {\r\n return axios.get(`${getByIdUrl}/${id}`);\r\n}\r\n\r\nexport function getReportFromPowerBi(params) {\r\n return axios.post(reloadFromPowerBiUrl, params);\r\n};","import { takeEvery, takeLatest, take, call, fork, put } from 'redux-saga/effects';\r\nimport * as types from '../actions/types';\r\nimport { } from \"../../crud/config.crud\";\r\nimport * as action from '../actions/configAction';\r\nimport {\r\n getReport,\r\n updateReport,\r\n getReportByModuleId,\r\n getReportById,\r\n getReportFromPowerBi\r\n} from '../../crud/managereport.crud'\r\n\r\nfunction* getReportItems({ payload }) {\r\n try {\r\n const result = yield call(getReport, payload);\r\n yield put({\r\n type: types.FETCH_MANAGE_REPORT_SUCCESS,\r\n payload: {\r\n items: result.data.result\r\n },\r\n });\r\n } catch (e) {\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to get the report'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getReportRequest() {\r\n yield takeLatest(types.FETCH_MANAGE_REPORT, getReportItems);\r\n}\r\n\r\nfunction* updateReportItem({ payload }) {\r\n try {\r\n const items = yield call(updateReport, payload.payload);\r\n yield put({\r\n type: types.UPDATE_REPORT_SUCCESS,\r\n payload: {\r\n items: items.data\r\n },\r\n });\r\n if (items.status == 200) {\r\n yield put({\r\n type: types.FETCH_MANAGE_REPORT,\r\n payload: payload.listParams\r\n });\r\n }\r\n } catch (e) {\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to update the report item'\r\n }));\r\n }\r\n}\r\n\r\nfunction* updateReportRequest() {\r\n yield takeLatest(types.UPDATE_REPORT_REQUEST, updateReportItem);\r\n}\r\n\r\nfunction* getReportItemByModuleId({ payload }) {\r\n try {\r\n\r\n const result = yield call(getReportByModuleId, payload);\r\n yield put({\r\n type: types.FETCH_REPORT_BY_MODULEID_SUCCESS,\r\n payload: {\r\n items: result.data.result\r\n },\r\n });\r\n } catch (e) {\r\n yield put({\r\n type: types.FETCH_REPORT_BY_MODULEID_SUCCESS,\r\n payload: {\r\n items: null\r\n },\r\n });\r\n }\r\n}\r\n\r\nfunction* getReportByModuleIdRequest() {\r\n yield takeEvery(types.FETCH_REPORT_BY_MODULEID_REQUEST, getReportItemByModuleId);\r\n}\r\n\r\nfunction* getReportItemById({ payload }) {\r\n try {\r\n\r\n const result = yield call(getReportById, payload);\r\n yield put({\r\n type: types.FETCH_REPORT_BY_ID_SUCCESS,\r\n payload: {\r\n items: result.data.result\r\n },\r\n });\r\n } catch (e) {\r\n yield put({\r\n type: types.FETCH_REPORT_BY_ID_SUCCESS,\r\n payload: {\r\n items: null\r\n },\r\n });\r\n }\r\n}\r\n\r\nfunction* getReportByIdRequest() {\r\n yield takeEvery(types.FETCH_REPORT_BY_ID_REQUEST, getReportItemById);\r\n}\r\n\r\nfunction* getReportItemsFromPowerBi({ payload }) {\r\n try {\r\n const result = yield call(getReportFromPowerBi, payload);\r\n if (result.status == 200) {\r\n yield put({\r\n type: types.FETCH_MANAGE_REPORT,\r\n payload: payload\r\n });\r\n }\r\n } catch (e) {\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to get the report'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getReportFromPowerBiRequest() {\r\n yield takeEvery(types.FETCH_REPORT_FROM_POWERBI_REQUEST, getReportItemsFromPowerBi);\r\n}\r\n\r\nconst manageReportSaga = [\r\n fork(getReportRequest),\r\n fork(updateReportRequest),\r\n fork(getReportByModuleIdRequest),\r\n fork(getReportByIdRequest),\r\n fork(getReportFromPowerBiRequest)\r\n];\r\n\r\nexport default manageReportSaga;","import axios from 'axios';\r\nconst url = 'Modules/getAllModules'\r\n\r\n\r\nexport const fetchModules = () => {\r\n return axios.get(url)\r\n}","import { takeEvery, call, fork, put } from 'redux-saga/effects';// takeLatest, take,\r\nimport * as types from '../actions/types';\r\nimport * as action from '../actions/configAction';\r\nimport { fetchModules } from '../../crud/modules.crud';\r\n\r\nfunction* getModules(){\r\n try{\r\n const result = yield call(fetchModules);\r\n yield put({\r\n type: types.FETCH_MODULES_SUCCESS,\r\n payload: result.data.result\r\n });\r\n }catch(e){\r\n yield put(action.configError({\r\n error: 'An error occurred when trying to get the user'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getModulesRequest(){\r\n yield takeEvery(types.FETCH_MODULES, getModules);\r\n}\r\n\r\nconst modulesSaga = [\r\n fork(getModulesRequest)\r\n];\r\n\r\nexport default modulesSaga;","import axios from \"axios\";\r\nexport const CEFIT_URL = process.env.REACT_APP_CEFIT_API;\r\n\r\nexport const getCefitList = (params) => {\r\n return axios.post(`${CEFIT_URL}/getViewConfiguration`, params);\r\n}\r\n\r\nexport const getCefitById = (id) => {\r\n return axios.get(`${CEFIT_URL}/editConfiguration/${id}`);\r\n}\r\n\r\nexport const getTableName = (dataType) => {\r\n return axios.get(`${CEFIT_URL}/getTableColumnName?fileDataType=${dataType}`)\r\n //return axios.get(`${CEFIT_URL}/getTableName?fileDataType=${dataType}`);\r\n}\r\n\r\nexport const getColumnName = (columnName) => {\r\n return axios.get(`${CEFIT_URL}/getTableField?tableName=${columnName}`);\r\n}\r\n\r\nexport const getCefitTestMapping = (id) => {\r\n return axios.get(`${CEFIT_URL}/testConfiguration?id=${id}`);\r\n}\r\n\r\nexport const getCefitApprove = (id) => {\r\n return axios.get(`${CEFIT_URL}/approveDeploy?id=${id}`);\r\n}\r\n\r\nexport const getCefitDelete = (id) => {\r\n return axios.delete(`${CEFIT_URL}/deleteConfiguration/${id}`);\r\n}\r\n\r\nexport const getCefitRefresh = (params) => {\r\n return axios.post(`${CEFIT_URL}/refreshMapping`, params);\r\n}\r\n\r\n\r\n\r\nexport const uploadExcel = (params) => {\r\n let f = new FormData();\r\n f.append(\"FileObject\", params.JsonFile)\r\n f.append('FileDataType', params.FileDataType)\r\n f.append('RowsToSkip', params.rowsToSkip)\r\n f.append('Tenantid', params.tenantid)\r\n f.append('FileName', params.fileName)\r\n return axios.post(`${CEFIT_URL}/uploadFile`, f, {\r\n headers: { 'Content-Type': 'multipart/form-data' }\r\n });\r\n}\r\n\r\nexport const getUpdateCefit = (params) => {\r\n return axios.post(`${CEFIT_URL}/saveField`, params)\r\n}","import { takeEvery, call, fork, put } from 'redux-saga/effects';//takeLatest, take,\r\nimport * as types from '../actions/types';\r\nimport {\r\n getCefitList,\r\n getCefitById,\r\n getTableName,\r\n getColumnName,\r\n uploadExcel,\r\n getUpdateCefit,\r\n getCefitApprove,\r\n getCefitDelete,\r\n getCefitRefresh,\r\n getCefitTestMapping,\r\n} from \"../../crud/cefit.curd\";\r\nimport * as action from '../actions/cefitAction';\r\n\r\nfunction* getCefit({ payload }) {\r\n try {\r\n const res = yield call(getCefitList, payload);\r\n yield put({\r\n type: types.FETCH_CEFIT_LIST_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n } catch (e) {\r\n console.log(e);\r\n yield put(action.error({\r\n error: e.response?.data || 'Something is wrong to fetch list..'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getCefitRequest() {\r\n yield takeEvery(types.FETCH_CEFIT_LIST, getCefit);\r\n}\r\n\r\nfunction* getCefitByCId({ payload }) {\r\n try {\r\n const res = yield call(getCefitById, payload);\r\n yield put({\r\n type: types.FETCH_CEFIT_BY_ID_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e.response?.data || 'Something is wrong to fetch by id'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getCefitByIdRequest() {\r\n yield takeEvery(types.FETCH_CEFIT_BY_ID, getCefitByCId);\r\n}\r\n\r\nfunction* getCefitTableName({ payload }) {\r\n try {\r\n const res = yield call(getTableName, payload);\r\n yield put({\r\n type: types.FETCH_CEFIT_TABLE_NAME_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e.response?.data || 'Something is wrong to fetch table name...'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getCefitTableNameRequest() {\r\n yield takeEvery(types.FETCH_CEFIT_TABLE_NAME, getCefitTableName);\r\n}\r\n\r\nfunction* getCefitColumnName({ payload }) {\r\n try {\r\n const res = yield call(getColumnName, payload);\r\n yield put({\r\n type: types.FETCH_CEFIT_COLUMN_NAME_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e.response?.data || 'Something is wrong to fetch column name...'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getCefitColumnNameRequest() {\r\n yield takeEvery(types.FETCH_CEFIT_COLUMN_NAME, getCefitColumnName);\r\n}\r\n\r\nfunction* getCefitExcel({ payload }) {\r\n try {\r\n const res = yield call(uploadExcel, payload);\r\n yield put({\r\n type: types.FETCH_CEFIT_UPDATE_EXCEL_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n } catch (e) {\r\n console.log(e)\r\n yield put(action.error({\r\n error: e.response?.data || 'Something is wrong to upload file...'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getCefitExcelRequest() {\r\n yield takeEvery(types.FETCH_CEFIT_UPDATE_EXCEL, getCefitExcel);\r\n}\r\n\r\nfunction* getCefitUpdate({ payload }) {\r\n try {\r\n const res = yield call(getUpdateCefit, payload);\r\n yield put({\r\n type: types.FETCH_CEFIT_UPDATE_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e.response?.data || 'Something is wrong to update cefit..'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getCefitUpdateRequest() {\r\n yield takeEvery(types.FETCH_CEFIT_UPDATE, getCefitUpdate);\r\n}\r\n\r\nfunction* cefitCreate({ payload }) {\r\n try {\r\n const res = yield call(getUpdateCefit, payload);\r\n yield put({\r\n type: types.FETCH_CEFIT_CREATE_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e.response?.data || 'Something is wrong to create cefit..'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getCefitCreateRequest() {\r\n yield takeEvery(types.FETCH_CEFIT_CREATE, cefitCreate);\r\n}\r\n\r\nfunction* cefitTest({ payload }) {\r\n try {\r\n const res = yield call(getCefitTestMapping, payload);\r\n yield put({\r\n type: types.FETCH_CEFIT_TEST_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e.response?.data || 'Something is wrong to test mapping..'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getCefitTestRequest() {\r\n yield takeEvery(types.FETCH_CEFIT_TEST, cefitTest);\r\n}\r\n\r\nfunction* cefitApprove({ payload }) {\r\n try {\r\n const res = yield call(getCefitApprove, payload);\r\n yield put({\r\n type: types.FETCH_CEFIT_APPROVE_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e.response?.data || 'Something is wrong to approving..'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getCefitApproveRequest() {\r\n yield takeEvery(types.FETCH_CEFIT_APPROVE, cefitApprove);\r\n}\r\n\r\nfunction* cefitDelete({ payload }) {\r\n try {\r\n const res = yield call(getCefitDelete, payload);\r\n yield put({\r\n type: types.FETCH_CEFIT_DELETE_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e.response?.data || 'Something is wrong to delete cefit..'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getCefitDeleteRequest() {\r\n yield takeEvery(types.FETCH_CEFIT_DELETE, cefitDelete);\r\n}\r\n\r\nfunction* cefitRefresh({ payload }) {\r\n try {\r\n const res = yield call(getCefitRefresh, payload);\r\n yield put({\r\n type: types.FETCH_CEFIT_REFRESH_SUCCESS,\r\n payload: res.data.result,\r\n });\r\n } catch (e) {\r\n yield put(action.error({\r\n error: e.response?.data || 'Something is wrong to refresh cefit..'\r\n }));\r\n }\r\n}\r\n\r\nfunction* getCefitRefreshRequest() {\r\n yield takeEvery(types.FETCH_CEFIT_REFRESH, cefitRefresh);\r\n}\r\n\r\nconst cefitSaga = [\r\n fork(getCefitRequest),\r\n fork(getCefitByIdRequest),\r\n fork(getCefitTableNameRequest),\r\n fork(getCefitColumnNameRequest),\r\n fork(getCefitExcelRequest),\r\n fork(getCefitUpdateRequest),\r\n fork(getCefitCreateRequest),\r\n fork(getCefitTestRequest),\r\n fork(getCefitApproveRequest),\r\n fork(getCefitDeleteRequest),\r\n fork(getCefitRefreshRequest)\r\n];\r\n\r\nexport default cefitSaga;","import * as types from '../actions/types';\r\n\r\n\r\nconst INITIAL_STATE={\r\n data: [],\r\n fileData: undefined,\r\n autoData: [],\r\n basedData: [],\r\n customer: undefined,\r\n stageData: undefined,\r\n id: undefined,\r\n success: ''\r\n}\r\n\r\nexport default (state=INITIAL_STATE, action) => {\r\n switch(action.type)\r\n {\r\n /****SnapShot****/\r\n case types.FETCH_CONFIG_SUCCESS:\r\n const configData = JSON.parse(action.payload.items.configString);\r\n return {\r\n data: configData.configurations,\r\n id: action.payload.items.ID,\r\n }\r\n case types.ADD_CONFIG_SUCCESS:\r\n const configData2 = JSON.parse(action.payload.items.items);\r\n const configList1 = JSON.parse(configData2.configString);\r\n return {\r\n ...state,\r\n data: configList1.configurations,\r\n id: configData2.id,\r\n success: action.payload.items.success\r\n }\r\n case types.UPDATE_CONFIG_SUCCESS:\r\n const configData1 = JSON.parse(action.payload.items.items);\r\n const configList = JSON.parse(configData1.configString);\r\n return {\r\n ...state,\r\n data: configList.configurations,\r\n id: configData1.id,\r\n success: action.payload.items.success\r\n }\r\n case types.DELETE_CONFIG_SUCCESS:\r\n const configData6 = JSON.parse(action.payload.items.items);\r\n const configList7 = JSON.parse(configData6.configString);\r\n return {\r\n ...state,\r\n data: configList7.configurations,\r\n id: configData6.id,\r\n success: action.payload.items.success\r\n } \r\n case types.CONFIG_ERROR:\r\n return {\r\n ...state,\r\n error: action.payload.error\r\n }\r\n /****File Operations****/\r\n case types.FETCH_FILE_OPERATIONS_SUCCESS:\r\n const fileData = JSON.parse(action.payload.items.configString);\r\n return {\r\n fileData: fileData,\r\n id: action.payload.items.ID,\r\n }\r\n case types.CREATE_FILE_OPERATIONS_SUCCESS:\r\n const fileData2 = JSON.parse(action.payload.items.items);\r\n const fileData1 = JSON.parse(fileData2.configString);\r\n return {\r\n ...state,\r\n fileData: fileData1.fileData,\r\n id: fileData2.id,\r\n success: action.payload.items.success\r\n }\r\n case types.UPDATE_FILE_OPERATIONS_SUCCESS:\r\n const fileData4 = JSON.parse(action.payload.items.items);\r\n const fileData3 = JSON.parse(fileData4.configString);\r\n return {\r\n ...state,\r\n fileData: fileData3.fileData,\r\n id: fileData4.id,\r\n success: action.payload.items.success\r\n }\r\n case types.DELETE_FILE_OPERATIONS_SUCCESS:\r\n const fileData6 = JSON.parse(action.payload.items.items);\r\n const fileData5 = JSON.parse(fileData6.configString);\r\n return {\r\n ...state,\r\n fileData: fileData5.fileData,\r\n id: fileData6.id,\r\n success: action.payload.items.success\r\n }\r\n /**** Automated Cleansing ****/\r\n case types.FETCH_AUTO_CLEANSING_SUCCESS:\r\n const aData = JSON.parse(action.payload.items.configString);\r\n return {\r\n autoData: aData.configSet,\r\n id: action.payload.items.ID,\r\n }\r\n /**** Automated Cleansing ****/\r\n case types.FETCH_BASED_CLEANSING_SUCCESS:\r\n const basedData = JSON.parse(action.payload.items.configString);\r\n return {\r\n basedData: basedData.rulesSet,\r\n id: action.payload.items.ID,\r\n }\r\n /**** Automated Cleansing ****/\r\n case types.FETCH_CUSTOMERS_SUCCESS:\r\n const customerData = JSON.parse(action.payload.items.configString);\r\n return {\r\n customer: customerData,\r\n id: action.payload.items.ID,\r\n }\r\n case types.FETCH_STAGE_SUCCESS:\r\n const stageList =JSON.parse(action.payload.items.configString);\r\n return {\r\n stageData: stageList,\r\n id: action.payload.items.id\r\n }\r\n default:\r\n return state;\r\n } \r\n};","import * as types from '../actions/types';\r\n\r\n\r\nconst INITIAL_STATE = {\r\n data: [],\r\n id: undefined,\r\n success: false,\r\n message: '',\r\n error: null\r\n}\r\n\r\nexport default (state = INITIAL_STATE, action) => {\r\n switch (action.type) {\r\n case types.FETCH_GLOBAL_CONFIG_SUCCESS:\r\n return {\r\n ...state,\r\n data: action.payload,\r\n }\r\n case types.UPDATE_GLOBAL_CONFIG_SUCCESS:\r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Item has been successfully updated..'\r\n }\r\n case types.ADD_GLOBAL_CONFIG_SUCCESS:\r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Item has been successfully added..'\r\n }\r\n case types.DELETE_GLOBAL_CONFIG_SUCCESS:\r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Item has been successfully deleted..'\r\n }\r\n \r\n case types.GLOBAL_CONFIG_ERROR: \r\n return {\r\n ...state,\r\n error: action.payload.ErrorMessage ? action.payload.ErrorMessage : 'Please Try again...'\r\n }\r\n case types.RESET_STORE: \r\n return {\r\n ...state,\r\n success: false,\r\n message: '',\r\n error: null\r\n }\r\n default:\r\n return state;\r\n }\r\n};\r\n","import * as types from '../actions/types';\r\n\r\n\r\nconst INITIAL_STATE={\r\n package: [],\r\n auditTrail: [],\r\n TableData: [],\r\n TableName: '',\r\n id: undefined,\r\n success: false\r\n}\r\n\r\n\r\nexport default (state=INITIAL_STATE, action) => {\r\n switch(action.type)\r\n {\r\n /****Package****/\r\n case types.FETCH_RUNTIME_SUCCESS:\r\n return {\r\n package: action.payload.items\r\n }\r\n case types.FETCH_AUDIT_SUCCESS:\r\n return {\r\n auditTrail: action.payload.items\r\n }\r\n case types.FETCH_TABLEDATA_SUCCESS:\r\n const data = JSON.parse(action.payload.items.TableData);\r\n return {\r\n tableData: data,\r\n TableName: action.payload.items.TableName\r\n }\r\n case types.UPDATE_TABLEDATA_SUCCESS: \r\n return {\r\n success: action.payload.items.success\r\n }\r\n case types.FETCH_AUDIT_FILTER_SUCCESS:\r\n return {\r\n auditTrail: action.payload.items\r\n }\r\n default:\r\n return state;\r\n } \r\n};","import * as types from '../actions/types';\r\n\r\n\r\nconst INITIAL_STATE={\r\n token: '',\r\n reportItem: null,\r\n reportFile: null \r\n}\r\n\r\nexport default (state=INITIAL_STATE, action) => {\r\n switch(action.type){\r\n case types.FETCH_REPORTS_SUCCESS:\r\n return {\r\n ...state,\r\n token: action.payload.items\r\n }\r\n case types.FETCH_REPORT_BY_REPORTID_SUCCESS:\r\n return {\r\n ...state,\r\n reportItem: action.payload\r\n }\r\n case types.EXPORT_REPORT_SUCCESS:\r\n return {\r\n ...state, \r\n reportFile: new Blob([action.payload.data], {type: action.payload.headers[\"content-type\"]}) \r\n }\r\n case types.RESET_REPORT_FILE:\r\n return {\r\n ...state,\r\n reportFile: null\r\n }\r\n default:\r\n return state;\r\n } \r\n};","import * as types from '../actions/types';\r\n\r\n\r\nconst INITIAL_STATE={\r\n allSubscriptions: [],\r\n data: [],\r\n id: undefined,\r\n success: false,\r\n message: '',\r\n error: null\r\n}\r\n\r\nexport default (state=INITIAL_STATE, action) => {\r\n switch(action.type)\r\n {\r\n case types.FETCH_ALL_SUBSCRIPTIONS_SUCCESS:\r\n return {\r\n ...state,\r\n allSubscriptions: action.payload,\r\n }\r\n case types.FETCH_ACTIVE_SUBSCRIPTIONS_SUCCESS:\r\n return {\r\n ...state,\r\n data: action.payload,\r\n }\r\n case types.ADD_SUBSCRIPTIONS_SUCCESS:\r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Subscriptions has been successfully added..'\r\n }\r\n case types.UPDATE_SUBSCRIPTIONS_SUCCESS:\r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Subscriptions has been successfully updated..'\r\n }\r\n case types.DELETE_SUBSCRIPTIONS_SUCCESS:\r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Subscriptions has been successfully deleted..'\r\n }\r\n case types.SUBSCRIPTIONS_ERROR: \r\n return {\r\n ...state,\r\n error: action.payload.ErrorMessage ? action.payload.ErrorMessage : 'Please Try again...'\r\n }\r\n case types.RESET_STORE: \r\n return {\r\n ...state,\r\n success: false,\r\n message: '',\r\n error: null\r\n }\r\n default:\r\n return state;\r\n } \r\n};","import * as types from '../actions/types';\r\n\r\nconst INITIAL_STATE = {\r\n data: null,\r\n item: null,\r\n addItem: null,\r\n countries: [],\r\n cuntryState: [],\r\n id: undefined,\r\n success: false,\r\n message: '',\r\n error: null,\r\n activeStep: 0,\r\n E2ERan: false\r\n}\r\n\r\n\r\n\r\n\r\nexport default (state = INITIAL_STATE, action) => {\r\n switch (action.type) {\r\n case types.FETCH_TENANT_SUCCESS:\r\n return {\r\n ...state,\r\n data: action.payload,\r\n }\r\n case types.FETCH_TENANT_BY_ID_SUCCESS:\r\n return {\r\n ...state,\r\n item: action.payload.items,\r\n addItem: null,\r\n }\r\n case types.FATCH_COUNTRY_SUCCESS:\r\n return {\r\n ...state,\r\n countries: action.payload,\r\n }\r\n case types.FATCH_STATE_SUCCESS:\r\n return {\r\n ...state,\r\n cuntryState: action.payload,\r\n }\r\n case types.ADD_TENANT_SUCCESS: \r\n return {\r\n ...state,\r\n addItem: action.payload.items,\r\n success: true,\r\n message: 'Tenant has been successfully added..'\r\n }\r\n case types.UPDATE_TENANT_SUCCESS: \r\n return {\r\n ...state,\r\n item: action.payload,\r\n success: true,\r\n message: 'Tenant has been successfully updated..'\r\n }\r\n case types.RUN_E2E_SUCCESS:\r\n console.log(action.payload);\r\n return {\r\n ...state,\r\n E2ERan: action.payload.E2ERan,\r\n };\r\n case types.DELETE_TENANT_SUCCESS: \r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Tenant has been successfully deleted..'\r\n }\r\n case types.TENANT_ERROR: \r\n return {\r\n ...state,\r\n error: action.payload.ErrorMessage ? action.payload.ErrorMessage : 'Please Try again...'\r\n }\r\n case types.RESET_STORE: \r\n return {\r\n ...state,\r\n success: false,\r\n message: '',\r\n error: null\r\n }\r\n case types.TENANT_ACTIVE_STEP_SET:\r\n return {\r\n ...state,\r\n activeStep:action.payload\r\n } \r\n default:\r\n return state;\r\n }\r\n};","import * as types from '../actions/types';\r\n\r\n\r\nconst INITIAL_STATE = {\r\n data: [],\r\n activeData: [],\r\n id: undefined,\r\n success: false,\r\n message: '',\r\n error: null\r\n}\r\n\r\nexport default (state = INITIAL_STATE, action) => {\r\n switch (action.type) {\r\n case types.GET_ALL_TENANTINDUSTRIES_SUCCESS:\r\n return {\r\n ...state,\r\n data: action.payload,\r\n }\r\n case types.GET_ACTIVE_TENANTINDUSTRIES_SUCCESS:\r\n return {\r\n ...state,\r\n activeData: action.payload,\r\n }\r\n case types.UPDATE_TENANTINDUSTRY_SUCCESS:\r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Industry has been successfully updated..'\r\n }\r\n case types.ADD_TENANTINDUSTRY_SUCCESS:\r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Industry has been successfully added..'\r\n }\r\n case types.DELETE_TENANTINDUSTRY_SUCCESS:\r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Industry has been successfully deleted..'\r\n }\r\n case types.UPDATE_TENANTINDUSTRY_LEVELS_SUCCESS:\r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Levels has been successfully updated..'\r\n }\r\n case types.ADD_TENANTINDUSTRY_LEVELS_SUCCESS:\r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Levels has been successfully added..'\r\n }\r\n case types.DELETE_TENANTINDUSTRY_LEVELS_SUCCESS:\r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Levels has been successfully deleted..'\r\n }\r\n case types.UPDATE_LEVELS_TYPE_SUCCESS:\r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Type has been successfully updated..'\r\n }\r\n case types.ADD_LEVELS_TYPE_SUCCESS:\r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Type has been successfully added..'\r\n }\r\n case types.DELETE_LEVELS_TYPE_SUCCESS:\r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Type has been successfully deleted..'\r\n }\r\n case types.TENANTINDUSTRY_ERROR:\r\n return {\r\n ...state,\r\n error: action.payload.ErrorMessage || 'Please Try again...'\r\n }\r\n case types.RESET_STORE:\r\n return {\r\n ...state,\r\n success: false,\r\n message: '',\r\n error: null\r\n }\r\n default:\r\n return state;\r\n }\r\n};","import * as types from '../actions/types';\r\n\r\n\r\nconst INITIAL_STATE={\r\n levels: [],\r\n id: undefined,\r\n success: ''\r\n}\r\n\r\nexport default (state=INITIAL_STATE, action) => {\r\n switch(action.type){\r\n case types.FETCH_TENANTINDUSTRY_LEVELS_SUCCESS:\r\n return {\r\n levels: action.payload,\r\n }\r\n default:\r\n return state;\r\n } \r\n};","import * as types from '../actions/types';\r\n\r\n\r\nconst INITIAL_STATE={\r\n types: [],\r\n id: undefined,\r\n success: ''\r\n}\r\n\r\nexport default (state=INITIAL_STATE, action) => {\r\n switch(action.type){\r\n case types.FETCH_LEVELS_TYPE_SUCCESS:\r\n return {\r\n types: action.payload,\r\n }\r\n default:\r\n return state;\r\n } \r\n};","import * as types from '../actions/types';\r\n\r\nconst INITIAL_STATE = {\r\n data: [],\r\n item: {},\r\n countries: [],\r\n id: undefined,\r\n success: false,\r\n message: '',\r\n error: null\r\n}\r\n\r\n\r\nexport default (state = INITIAL_STATE, action) => {\r\n switch (action.type) {\r\n case types.FETCH_ORGANISATION_SUCCESS:\r\n return {\r\n ...state,\r\n data: action.payload,\r\n }\r\n case types.ADD_ORGANISATION_SUCCESS: \r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Organisation has been successfully added..',\r\n }\r\n case types.UPDATE_ORGANISATION_SUCCESS: \r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Organisation has been successfully updated..',\r\n }\r\n case types.DELETE_ORGANIZATION_SUCCESS: \r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Organization has been successfully deleted..'\r\n } \r\n case types.ORGANISATION_importHierarchyFile_SUCCESS:\r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Organization Hierarchi imported successfully!'\r\n } \r\n case types.ORGANISATION_Error: \r\n return {\r\n ...state,\r\n error: 'Please try again...'\r\n }\r\n case types.RESET_STORE: \r\n return {\r\n ...state,\r\n success: false,\r\n message: '',\r\n error: null\r\n }\r\n default:\r\n return state;\r\n }\r\n};","import * as types from '../actions/types';\r\n\r\n\r\nconst INITIAL_STATE={\r\n data:undefined,\r\n id: undefined,\r\n success: false,\r\n message: '',\r\n error: null\r\n}\r\n\r\nexport default (state=INITIAL_STATE, action) => {\r\n switch(action.type)\r\n {\r\n case types.FETCH_TenantConfig_SUCCESS:\r\n return {\r\n ...state,\r\n data: action.payload,\r\n }\r\n case types.UPDATE_TenantConfig_success: \r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Configuration has been successfully updated..'\r\n\r\n }\r\n case types.TenantConfig_Error: \r\n return {\r\n ...state,\r\n error: action.payload.ErrorMessage ? action.payload.ErrorMessage : 'Please Try again...'\r\n }\r\n case types.RESET_STORE: \r\n return {\r\n ...state,\r\n success: false,\r\n message: '',\r\n error: null\r\n }\r\n default:\r\n return state;\r\n } \r\n};","import * as types from '../actions/types';\r\n\r\n\r\nconst INITIAL_STATE={\r\n data: [],\r\n roledata: null,\r\n selectRow: null,\r\n id: undefined,\r\n success: ''\r\n}\r\n\r\nexport default (state=INITIAL_STATE, action) => {\r\n switch(action.type)\r\n {\r\n case types.FETCH_Role_SUCCESS:\r\n return {\r\n ...state,\r\n data: action.payload,\r\n selectRow: 0\r\n }\r\n case types.FETCH_Role_BY_ID_SUCCESS:\r\n return {\r\n ...state,\r\n roledata: action.payload,\r\n selectRow: action.payload.roleID\r\n }\r\n case types.ADD_Role_create_SUCCESS: \r\n return {\r\n ...state,\r\n roledata: action.payload,\r\n selectRow: null\r\n }\r\n case types.FETCH_Role_BY_tenantID_SUCCESS: \r\n return {\r\n ...state,\r\n roledata: action.payload,\r\n selectRow: null\r\n }\r\n case types.ADD_Role_SUCCESS:\r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Role has been successfully added...'\r\n };\r\n case types.DELETE_Role_SUCCESS: \r\n return {\r\n ...state,\r\n userdata: action.payload,\r\n success: true,\r\n message: 'Role has been successfully deleted..'\r\n } \r\n case types.Role_Error: \r\n return {\r\n ...state,\r\n error: action.payload.ErrorMessage ? action.payload.ErrorMessage : 'Please Try again...'\r\n }\r\n case types.RESET_STORE: \r\n return {\r\n ...state,\r\n success: false,\r\n message: '',\r\n error: null\r\n } \r\n default:\r\n return state;\r\n } \r\n};","import * as types from '../actions/types';\r\n\r\nconst INITIAL_STATE = {\r\n}\r\n\r\n\r\nexport default (state = INITIAL_STATE, action) => {\r\n switch (action.type) {\r\n case types.FETCH_WORKSPACE_SUCCESS:\r\n return action.payload\r\n default:\r\n return state;\r\n }\r\n};","import * as types from '../actions/types';\r\n\r\nconst INITIAL_STATE = {\r\n items: [],\r\n success: false,\r\n message: '',\r\n error: null\r\n}\r\n\r\n\r\nexport default (state = INITIAL_STATE, action) => {\r\n switch (action.type) {\r\n case types.FETCH_PERMISSION_SUCCESS:\r\n return {\r\n ...state, \r\n items: action.payload\r\n }\r\n case types.ADD_PERMISSION_SUCCESS:\r\n return {\r\n ...state, \r\n success: true,\r\n message: 'Permission has been successfully added..'\r\n }\r\n case types.SAVE_PERMISSION_SUCCESS:\r\n return {\r\n ...state, \r\n success: true,\r\n message: 'Permission has been successfully updated..'\r\n }\r\n case types.MANAGEUSER_ERROR: \r\n return {\r\n ...state,\r\n error: action.payload.ErrorMessage ? action.payload.ErrorMessage : 'Please Try again...'\r\n }\r\n case types.RESET_STORE: \r\n return {\r\n ...state,\r\n success: false,\r\n message: '',\r\n error: null\r\n }\r\n default:\r\n return state;\r\n }\r\n};","import * as types from '../actions/types';\r\n\r\nconst INITIAL_STATE={\r\n data: [],\r\n id: undefined,\r\n addData: {},\r\n latest: {},\r\n accept: {},\r\n success: false,\r\n message: '',\r\n error: null\r\n}\r\n\r\nexport default (state=INITIAL_STATE, action) => {\r\n switch(action.type)\r\n {\r\n case types.FETCH_COMPANYPOLICY_SUCCESS:\r\n return {\r\n ...state,\r\n data: action.payload,\r\n }\r\n case types.ADD_COMPANYPOLICY_SUCCESS:\r\n return {\r\n ...state,\r\n addData: action.payload,\r\n success: true,\r\n // message: 'Policy has been successfully added..'\r\n }\r\n case types.SAVE_COMPANYPOLICY_SUCCESS:\r\n return {\r\n ...state,\r\n addData: action.payload,\r\n success: true,\r\n message: 'Policy has been successfully saved..'\r\n }\r\n case types.COMPANYPOLICY_LATEST_SUCCESS:\r\n return {\r\n ...state,\r\n latest: action.payload,\r\n }\r\n case types.COMPANYPOLICY_LATEST_TENANT_SUCCESS:\r\n return {\r\n ...state,\r\n latest: action.payload,\r\n }\r\n case types.COMPANYPOLICY_ACCEPT_SUCCESS:\r\n return {\r\n ...state,\r\n accept: action.payload,\r\n success: true,\r\n message: 'Policy has been successfully accepted..'\r\n }\r\n case types.COMPANYPOLICY_PUBLISH_SUCCESS: \r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Policy has been successfully published..'\r\n }\r\n case types.COMPANYPOLICY_ERROR: \r\n return {\r\n ...state,\r\n error: action.payload.ErrorMessage ? action.payload.ErrorMessage : 'Please Try again...'\r\n }\r\n case types.RESET_STORE: \r\n return {\r\n ...state,\r\n success: false,\r\n message: '',\r\n error: null\r\n }\r\n default:\r\n return state;\r\n } \r\n};","import * as types from '../actions/types';\r\n\r\nconst INITIAL_STATE = {\r\n data: [],\r\n item: {},\r\n id: undefined,\r\n success: ''\r\n}\r\n\r\n\r\nexport default (state = INITIAL_STATE, action) => {\r\n switch (action.type) {\r\n case types.FETCH_FILEOPERATION_SUCCESS:\r\n return {\r\n data: action.payload,\r\n }\r\n default:\r\n return state;\r\n }\r\n};","import * as types from '../actions/types';\r\n\r\n\r\nconst INITIAL_STATE={\r\n data: [],\r\n id: undefined,\r\n success: false,\r\n message: '',\r\n error: null\r\n}\r\n\r\nexport default (state=INITIAL_STATE, action) => {\r\n switch(action.type){\r\n case types.FETCH_ConfigureWorkspaces_Success:\r\n return {\r\n ...state,\r\n data: action.payload\r\n } \r\n case types.UPDATE_ConfigureWorkspaces_Success:\r\n return {\r\n ...state, \r\n data: action.payload,\r\n success: true,\r\n message: 'Workspaces has been successfully updated..'\r\n }\r\n case types.ConfigureWorkspaces_Error: \r\n return {\r\n ...state,\r\n error: 'Something is wrong...'\r\n }\r\n case types.RESET_STORE: \r\n return {\r\n ...state,\r\n success: false,\r\n message: '',\r\n error: null\r\n }\r\n default:\r\n return state;\r\n }\r\n}","import * as types from '../actions/types';\r\n\r\n\r\nconst INITIAL_STATE={\r\n users: [],\r\n userdata: null,\r\n selectRow: null,\r\n id: undefined,\r\n success: false,\r\n message: '',\r\n error: null\r\n}\r\n\r\nexport default (state=INITIAL_STATE, action) => {\r\n // console.log(\"ManageUserAction\", action, state);\r\n switch(action.type){\r\n case types.FETCH_MANAGEUSER_SUCCESS:\r\n return {\r\n ...state,\r\n users: action.payload,\r\n selectRow: 0\r\n }\r\n case types.FETCH_MANAGEUSER_BYUSERID_SUCCESS:\r\n return {\r\n ...state,\r\n userdata: action.payload,\r\n selectRow: action.payload.userID\r\n }\r\n case types.CREATE_MANAGEUSER_SUCCESS: \r\n return {\r\n ...state,\r\n userdata: action.payload,\r\n selectRow: null,\r\n // success: true,\r\n // message: 'User has been successfully created..'\r\n }\r\n case types.CREATE_MANAGEUSER_BYTENANTID_SUCCESS: \r\n return {\r\n ...state,\r\n userdata: action.payload,\r\n selectRow: null,\r\n // success: true,\r\n // message: 'Tenent user has been successfully created..'\r\n }\r\n case types.ADD_MANAGEUSER_SUCCESS: \r\n return {\r\n ...state,\r\n userdata: action.payload,\r\n selectRow: action.payload?.userID,\r\n success: true,\r\n message: 'User has been successfully added..'\r\n }\r\n case types.UPDATE_MANAGEUSER_SUCCESS: \r\n return {\r\n ...state,\r\n userdata: action.payload,\r\n selectRow: action.payload.userID,\r\n success: true,\r\n message: 'user has been successfully updated..'\r\n }\r\n case types.DELETE_MANAGEUSER_SUCCESS: \r\n return {\r\n ...state,\r\n userdata: action.payload,\r\n success: true,\r\n message: 'user has been successfully deleted..'\r\n }\r\n case types.MANAGEUSER_ERROR: \r\n return {\r\n ...state,\r\n error: action.payload.ErrorMessage ? action.payload.ErrorMessage : 'Please Try again...'\r\n }\r\n case types.RESET_STORE: \r\n return {\r\n ...state,\r\n success: false,\r\n message: '',\r\n error: null\r\n }\r\n case types.RESET_MANAGEUSER_STORE_DATA:\r\n return {\r\n ...INITIAL_STATE\r\n };\r\n default:\r\n return state;\r\n } \r\n};","import * as types from '../actions/types';\r\n\r\n\r\nconst INITIAL_STATE = {\r\n data: [],\r\n id: undefined,\r\n success: ''\r\n}\r\n\r\nexport default (state = INITIAL_STATE, action) => {\r\n\r\n switch (action.type) {\r\n case types.FETCH_MANAGE_REPORT_SUCCESS:\r\n return {\r\n data: action.payload,\r\n }\r\n default:\r\n return state;\r\n }\r\n};","import * as types from '../actions/types';\r\n\r\n\r\nconst INITIAL_STATE={\r\n data: []\r\n}\r\n\r\nexport default (state=INITIAL_STATE, action) => {\r\n switch(action.type){\r\n case types.FETCH_MODULES_SUCCESS:\r\n return {\r\n ...state,\r\n data: action.payload,\r\n }\r\n default:\r\n return state;\r\n }\r\n}","import * as types from '../actions/types';\r\n\r\nconst INITIAL_STATE = {\r\n listLoading: [],\r\n actionsLoading: false,\r\n cefitForEdit: undefined,\r\n updateResult: undefined,\r\n tableName: [],\r\n columnName: [],\r\n updateExcel: undefined,\r\n success: false,\r\n deleteSuccess: false,\r\n message: '',\r\n error: null\r\n}\r\n\r\nexport default (state = INITIAL_STATE, action) => {\r\n switch (action.type) {\r\n case types.FETCH_CEFIT_LIST_SUCCESS:\r\n return {\r\n ...state,\r\n listLoading: action.payload\r\n }\r\n case types.FETCH_CEFIT_BY_ID_SUCCESS:\r\n const editData = action.payload;\r\n editData['file'] = ''\r\n return {\r\n ...state,\r\n cefitForEdit: editData\r\n }\r\n case types.FETCH_CEFIT_TABLE_NAME_SUCCESS:\r\n return {\r\n ...state,\r\n tableName: action.payload\r\n }\r\n case types.FETCH_CEFIT_COLUMN_NAME_SUCCESS:\r\n return {\r\n ...state,\r\n columnName: action.payload\r\n }\r\n case types.FETCH_CEFIT_UPDATE_EXCEL_SUCCESS:\r\n return {\r\n ...state,\r\n updateExcel: action.payload,\r\n success: true,\r\n message: 'File has been successfully uploaded..'\r\n }\r\n case types.FETCH_CEFIT_UPDATE_SUCCESS:\r\n return {\r\n ...state,\r\n updateResult: action.payload,\r\n success: true,\r\n message: 'CEFIT Config has been successfully updated..'\r\n }\r\n case types.FETCH_CEFIT_CREATE_SUCCESS:\r\n return {\r\n ...state,\r\n updateResult: action.payload,\r\n success: true,\r\n message: 'Cefit has been successfully added..'\r\n }\r\n case types.FETCH_CEFIT_TEST_SUCCESS:\r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Test Mapping has been successfully tested..'\r\n }\r\n case types.FETCH_CEFIT_APPROVE_SUCCESS:\r\n return {\r\n ...state,\r\n success: true,\r\n message: 'Cefit has been successfully approved..'\r\n }\r\n case types.FETCH_CEFIT_DELETE_SUCCESS:\r\n return {\r\n ...state,\r\n success: true,\r\n deleteSuccess: true,\r\n message: 'Cefit has been successfully deleted..'\r\n }\r\n case types.RESET_STORE:\r\n return {\r\n ...state,\r\n success: false,\r\n deleteSuccess: false,\r\n message: '',\r\n error: null\r\n }\r\n case types.RESET_UPDATE_VALUE:\r\n return {\r\n ...state,\r\n cefitForEdit: undefined,\r\n updateExcel: undefined\r\n }\r\n case types.CEFIT_ERROR:\r\n return {\r\n ...state,\r\n error: action.payload.ErrorMessage || \"Please Try again...\"\r\n }\r\n default:\r\n return state;\r\n }\r\n};","import * as types from '../actions/types';\r\n\r\nconst INITIAL_STATE = {\r\n data: [],\r\n capacitiesData:[],\r\n success: false,\r\n message: '',\r\n error: null\r\n}\r\n\r\nexport default(state= INITIAL_STATE, action)=>{\r\n switch(action.type){\r\n case types.GET_ALL_POWERBI_CAPACITY_MANAGEMENT_SUCCESS:\r\n return{\r\n ...state,\r\n data: action.payload.items\r\n };\r\n case types.GET_ALL_CAPACITIES_SUCCESS:\r\n return {\r\n ...state,\r\n capacitiesData: action.payload.items\r\n };\r\n case types.UPDATE_POWERBI_CAPACITY_MANAGEMENT_SUCCESS:\r\n return {\r\n ...state,\r\n success: true,\r\n message: \"Data has been successfully updated...\"\r\n };\r\n case types.POWERBI_CAPACITY_MANAGEMENT_ERROR:\r\n return {\r\n ...state,\r\n error: action.payload.ErrorMessage ? action.payload.ErrorMessage : 'Please Try again...'\r\n };\r\n case types.POWERBI_CAPACITY_MANAGEMENT_RESET:\r\n return {\r\n ...state,\r\n success: false,\r\n message: '',\r\n error: null\r\n };\r\n default:\r\n return state;\r\n }\r\n}","import { all } from \"redux-saga/effects\";\r\nimport { combineReducers } from \"redux\";\r\nimport configSaga from './sagas/config';\r\nimport globalConfigSaga from './sagas/globalConfig';\r\nimport runtimeSaga from './sagas/runtime';\r\nimport reportsSaga from './sagas/reports'\r\nimport sunbscritionsSaga from './sagas/subscriptions'\r\nimport tenantSaga from './sagas/tenant'\r\nimport tenantIdustrySaga from './sagas/tenantIndustry'\r\nimport organisationSaga from './sagas/organisation'\r\nimport tenantconfigurationSaga from './sagas/tenantconfiguration'\r\nimport roles from './sagas/roles'\r\nimport tenantWorkspacerSaga from './sagas/workspace'\r\nimport permissionSaga from './sagas/permission';\r\nimport powerBICapacityManagementSaga from './sagas/powerBICapacityManagement'\r\nimport companyPolicySaga from './sagas/companyPolicy'\r\nimport * as auth from \"./ducks/auth.duck\";\r\nimport fileOperationsSaga from \"./sagas/fileOperations\";\r\nimport ConfigureWorkspacesSaga from './sagas/configureWorkspaces'\r\nimport RoleSaga from \"./sagas/roles\";\r\nimport manageUserSaga from './sagas/manageUser'\r\nimport manageReportSaga from './sagas/managereport';\r\nimport modulesSaga from './sagas/modules'\r\nimport cefitSaga from './sagas/cefit';\r\n\r\n\r\n//import * as config from \"./ducks/configurations.duck\"\r\nimport ConfigReducer from \"./reducers/configReducer\";\r\nimport GlobalConfigReducer from './reducers/globalConfigReducer';\r\nimport RuntimeReducer from \"./reducers/runtimeReducer\";\r\nimport ReportReducer from './reducers/reportsReducer';\r\nimport { metronic } from \"../../_metronic\";\r\nimport authReducer from './reduxStore';\r\nimport SubscriptionReducer from './reducers/subscriptionsReducer';\r\nimport TenantReducer from './reducers/tenantReducer'\r\nimport tenantIndustryReducer from './reducers/tenantIndustryReducer'\r\nimport tenantIndustryLevels from './reducers/tenantIndustryLevelsReducer'\r\nimport levelsTypeReducer from './reducers/levelsTypeReducer'\r\nimport organisationReducer from './reducers/organisationReducer'\r\nimport tenantconfigurationReducer from './reducers/tenantconfigurationReducer'\r\nimport rolereducer from './reducers/roleReducer'\r\nimport workspaceReducer from './reducers/workspaceReducer'\r\nimport permissionRaducer from './reducers/permissionRaducer'\r\nimport permissionAddRaducer from './reducers/permissionRaducer'\r\nimport companyPolicyReducer from './reducers/companyPolicyReducer'\r\nimport fileOperationsReducer from './reducers/fileOperationReducer'\r\nimport configureWorkspacesRaducer from './reducers/configureWorkspacesRaducer'\r\nimport manageUserReducer from './reducers/manageUserReducer'\r\nimport manageReportReducer from './reducers/manageReportReducer';\r\nimport modulesReducer from './reducers/modulesReducer'\r\nimport cefitReducer from \"./reducers/cefitReducer\";\r\nimport powerBICapacityManagementReducer from \"./reducers/powerBICapacityManagementReducer\";\r\n\r\nexport const rootReducer = combineReducers(Object.assign({\r\n config: ConfigReducer,\r\n globalConfig: GlobalConfigReducer,\r\n runtime: RuntimeReducer,\r\n auth: auth.reducer,\r\n authReducer: authReducer,\r\n i18n: metronic.i18n.reducer,\r\n builder: metronic.builder.reducer,\r\n reports: ReportReducer,\r\n subscriptions: SubscriptionReducer,\r\n tenant: TenantReducer,\r\n tenantIndustry: tenantIndustryReducer,\r\n industryLevels: tenantIndustryLevels,\r\n levelsType: levelsTypeReducer,\r\n organisation: organisationReducer, \r\n tenantConfig:tenantconfigurationReducer,\r\n roles:rolereducer,\r\n workspace: workspaceReducer,\r\n permission: permissionRaducer,\r\n permissionAdd: permissionAddRaducer,\r\n powerBICapacityManagement: powerBICapacityManagementReducer,\r\n companyPolicy: companyPolicyReducer,\r\n fileOperation:fileOperationsReducer,\r\n configureWorkspaces: configureWorkspacesRaducer,\r\n manageUser: manageUserReducer,\r\n manageReport: manageReportReducer,\r\n modules: modulesReducer,\r\n cefits: cefitReducer\r\n}));\r\n\r\nexport function* rootSaga() {\r\n yield all([\r\n ...configSaga,\r\n ...globalConfigSaga,\r\n ...runtimeSaga,\r\n ...reportsSaga,\r\n ...sunbscritionsSaga,\r\n ...tenantSaga,\r\n ...tenantIdustrySaga,\r\n ...organisationSaga,\r\n ...tenantconfigurationSaga,\r\n ...RoleSaga,\r\n ...tenantWorkspacerSaga,\r\n ...permissionSaga,\r\n ...powerBICapacityManagementSaga,\r\n ...companyPolicySaga,\r\n ...fileOperationsSaga,\r\n ...ConfigureWorkspacesSaga,\r\n ...manageUserSaga,\r\n ...manageReportSaga,\r\n ...modulesSaga,\r\n ...cefitSaga,\r\n auth.saga(),\r\n ]);\r\n}\r\n","import { applyMiddleware, compose, createStore } from \"redux\";\r\nimport createSagaMiddleware from \"redux-saga\";\r\nimport { persistStore } from \"redux-persist\";\r\nimport authReducer from \"./reduxStore\";\r\n\r\nimport { rootReducer, rootSaga } from \"./rootDuck\";\r\n\r\nconst composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\r\n\r\nconst sagaMiddleware = createSagaMiddleware();\r\nconst store = createStore(\r\n rootReducer,\r\n composeEnhancers(applyMiddleware(sagaMiddleware))\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, { forwardRef } from \"react\";\r\nimport clsx from \"clsx\";\r\n\r\nconst Notice = forwardRef(\r\n (\r\n { icon, iconRef, textRef, iconWrapperRef, className, children, ...props },\r\n ref\r\n ) => {\r\n return (\r\n \r\n {icon && (\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\nexport default Notice;\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, { useMemo, useState } from \"react\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { Formik } from \"formik\";\r\nimport { get, merge } from \"lodash\";\r\nimport { FormHelperText, Switch, Tab, Tabs } from \"@material-ui/core\";\r\nimport clsx from \"clsx\";\r\nimport { metronic, initLayoutConfig, LayoutConfig } from \"../../../_metronic\";\r\nimport {\r\n Portlet,\r\n PortletBody,\r\n PortletFooter,\r\n PortletHeader,\r\n PortletHeaderToolbar\r\n} from \"../../partials/content/Portlet\";\r\n// import { CodeBlock } from \"../../partials/content/CodeExample\";\r\nimport Notice from \"../../partials/content/Notice\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n boxShadow: 'none'\r\n },\r\n}));\r\n\r\nconst localStorageActiveTabKey = \"builderActiveTab\";\r\nexport default function Builder() {\r\n const classes = useStyles();\r\n const activeTab = localStorage.getItem(localStorageActiveTabKey);\r\n const [tab, setTab] = useState(activeTab ? +activeTab : 0);\r\n const dispatch = useDispatch();\r\n const { layoutConfig } = useSelector(\r\n ({ builder }) => ({ layoutConfig: builder.layoutConfig }),\r\n shallowEqual\r\n );\r\n const [loadingPreview, setLoadingPreview] = useState(false);\r\n const [loadingButtonPreviewStyle, setLoadingButtonPreviewStyle] = useState({\r\n paddingRight: \"2.5rem\"\r\n });\r\n const [loadingReset, setLoadingReset] = useState(false);\r\n const [loadingButtonResetStyle, setLoadingButtonResetStyle] = useState({\r\n paddingRight: \"2.5rem\"\r\n });\r\n\r\n const enableLoadingPreview = () => {\r\n setLoadingPreview(true);\r\n setLoadingButtonPreviewStyle({ paddingRight: \"3.5rem\" });\r\n };\r\n const enableLoadingReset = () => {\r\n setLoadingReset(true);\r\n setLoadingButtonResetStyle({ paddingRight: \"3.5rem\" });\r\n };\r\n const updateLayoutConfig = _config => {\r\n dispatch(metronic.builder.actions.setLayoutConfigs(_config));\r\n setTimeout(() => {\r\n window.location.reload();\r\n }, 1000);\r\n };\r\n\r\n const initialValues = useMemo(\r\n () =>\r\n merge(\r\n // Fulfill changeable fields.\r\n LayoutConfig,\r\n layoutConfig\r\n ),\r\n [layoutConfig]\r\n );\r\n\r\n return (\r\n <>\r\n {/* \r\n The layout builder helps to configure the layout with preferred options\r\n and preview it in real time. The configured layout options will be saved\r\n until you change or reset them. To use the layout builder choose the\r\n layout options and click the Preview button to preview the\r\n changes.\r\n */}\r\n {/*Formic off site: https://jaredpalmer.com/formik/docs/overview*/}\r\n {\r\n enableLoadingPreview();\r\n updateLayoutConfig(values);\r\n }}\r\n onReset={() => {\r\n enableLoadingReset();\r\n updateLayoutConfig(initLayoutConfig);\r\n }}\r\n >\r\n {({ values, handleReset, handleSubmit, handleChange, handleBlur }) => (\r\n
\r\n \r\n \r\n // {\r\n // setTab(nextTab);\r\n // localStorage.setItem(localStorageActiveTabKey, nextTab);\r\n // }}\r\n // >\r\n // \r\n // {/* */}\r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // }\r\n />\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Select header skin\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Select header menu skin\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Select logo bar skin\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Select logo bar skin\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n Apply\r\n {\" \"}\r\n \r\n Reset\r\n \r\n
\r\n
\r\n
\r\n\r\n {/* \r\n \r\n Generated Config{\" \"}\r\n \r\n can be used for layout config in{\" \"}\r\n /src/_metronic/layouts/demo1/LayoutConfig.js\r\n \r\n \r\n }\r\n />\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 { useSelector } from \"react-redux\";\r\nimport {\r\n Portlet,\r\n PortletBody,\r\n PortletHeader,\r\n PortletHeaderToolbar\r\n} from \"../../partials/content/Portlet\";\r\nimport { metronic } from \"../../../_metronic\";\r\nimport QuickStatsChart from \"../../widgets/QuickStatsChart\";\r\nimport OrderStatisticsChart from \"../../widgets/OrderStatisticsChart\";\r\nimport OrdersWidget from \"../../widgets/OrdersWidget\";\r\nimport SalesBarChart from \"../../widgets/SalesBarChart\";\r\nimport DownloadFiles from \"../../widgets/DownloadFiles\";\r\nimport NewUsers from \"../../widgets/NewUsers\";\r\nimport LatestUpdates from \"../../widgets/LatestUpdates\";\r\nimport BestSellers from \"../../widgets/BestSellers\";\r\nimport RecentActivities from \"../../widgets/RecentActivities\";\r\nimport PortletHeaderDropdown from \"../../partials/content/CustomDropdowns/PortletHeaderDropdown\";\r\n\r\nconst Dashboard = () => {\r\n const { brandColor, dangerColor, successColor, primaryColor } = useSelector(\r\n state => ({\r\n brandColor: metronic.builder.selectors.getConfig(\r\n state,\r\n \"colors.state.brand\"\r\n ),\r\n dangerColor: metronic.builder.selectors.getConfig(\r\n state,\r\n \"colors.state.danger\"\r\n ),\r\n successColor: metronic.builder.selectors.getConfig(\r\n state,\r\n \"colors.state.success\"\r\n ),\r\n primaryColor: metronic.builder.selectors.getConfig(\r\n state,\r\n \"colors.state.primary\"\r\n )\r\n })\r\n );\r\n\r\n const chartOptions = useMemo(\r\n () => ({\r\n chart1: {\r\n data: [10, 14, 18, 11, 9, 12, 14, 17, 18, 14],\r\n color: brandColor,\r\n border: 3\r\n },\r\n\r\n chart2: {\r\n data: [11, 12, 18, 13, 11, 12, 15, 13, 19, 15],\r\n color: dangerColor,\r\n border: 3\r\n },\r\n\r\n chart3: {\r\n data: [12, 12, 18, 11, 15, 12, 13, 16, 11, 18],\r\n color: successColor,\r\n border: 3\r\n },\r\n\r\n chart4: {\r\n data: [11, 9, 13, 18, 13, 15, 14, 13, 18, 15],\r\n color: primaryColor,\r\n border: 3\r\n }\r\n }),\r\n [brandColor, dangerColor, primaryColor, successColor]\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 // \r\n // \r\n\r\n //
\r\n\r\n // \r\n // \r\n // \r\n // \r\n // \r\n //
\r\n\r\n //
\r\n // \r\n // \r\n // \r\n // \r\n // \r\n\r\n //
\r\n\r\n // \r\n // \r\n // \r\n // \r\n // \r\n //
\r\n //
\r\n //
\r\n\r\n //
\r\n // \r\n // \r\n // \r\n // \r\n // }\r\n // />\r\n\r\n // \r\n // \r\n // \r\n // \r\n //
\r\n //
\r\n\r\n // \r\n // \r\n //
\r\n //
\r\n // \r\n //
\r\n //
\r\n // \r\n //
\r\n //
\r\n // \r\n //
\r\n //
\r\n //
\r\n //
\r\n\r\n //
\r\n //
\r\n // \r\n //
\r\n //
\r\n // \r\n //
\r\n //
\r\n // \r\n //
\r\n //
\r\n\r\n // {/*
\r\n //
\r\n //
\r\n // \r\n //
\r\n //
*/}\r\n\r\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 Dashboard;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport FirstPageIcon from '@material-ui/icons/FirstPage';\r\nimport KeyboardArrowLeft from '@material-ui/icons/KeyboardArrowLeft';\r\nimport KeyboardArrowRight from '@material-ui/icons/KeyboardArrowRight';\r\nimport LastPageIcon from '@material-ui/icons/LastPage';\r\n\r\nconst useStyles1 = makeStyles(theme => ({\r\n root: {\r\n flexShrink: 0,\r\n color: theme.palette.text.secondary,\r\n marginLeft: theme.spacing(2.5),\r\n },\r\n}));\r\n\r\nconst TablePaginationActions = (props) => {\r\n const classes = useStyles1();\r\n const theme = useTheme();\r\n const { count, page, rowsPerPage, onChangePage } = props;\r\n\r\n function handleFirstPageButtonClick(event) {\r\n onChangePage(event, 0);\r\n }\r\n\r\n function handleBackButtonClick(event) {\r\n onChangePage(event, page - 1);\r\n }\r\n\r\n function handleNextButtonClick(event) {\r\n onChangePage(event, page + 1);\r\n }\r\n\r\n function handleLastPageButtonClick(event) {\r\n onChangePage(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));\r\n }\r\n\r\n return (\r\n
\r\n \r\n {theme.direction === 'rtl' ? : }\r\n \r\n \r\n {theme.direction === 'rtl' ? : }\r\n \r\n = Math.ceil(count / rowsPerPage) - 1}\r\n aria-label=\"Next Page\"\r\n >\r\n {theme.direction === 'rtl' ? : }\r\n \r\n = Math.ceil(count / rowsPerPage) - 1}\r\n aria-label=\"Last Page\"\r\n >\r\n {theme.direction === 'rtl' ? : }\r\n \r\n
\r\n );\r\n\r\n}\r\n\r\nTablePaginationActions.propTypes = {\r\n count: PropTypes.number.isRequired,\r\n onChangePage: PropTypes.func.isRequired,\r\n page: PropTypes.number.isRequired,\r\n rowsPerPage: PropTypes.number.isRequired,\r\n};\r\n\r\nexport {\r\n TablePaginationActions\r\n}","import React, { Component, Fragment } from 'react';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableRow from '@material-ui/core/TableRow';\r\nimport { Link } from 'react-router-dom';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport { \r\n getComparator,\r\n stableSort,\r\n EnhancedTableHead \r\n} from '../../../../crud/SortGrid';\r\n\r\nclass PackageItems extends Component {\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n packageItem: this.props.packageItem,\r\n packageStatus: [\r\n {enum: 'UNKNOWN', num: 0},\r\n {enum: 'CREATED', num: 1},\r\n {enum: 'CHOSEN_FOR_PROCESSING', num: 2},\r\n {enum: 'FAILED_AUTOMATED_CLEANSING', num: 3},\r\n {enum: 'FINISHED_AUTOMATED_CLEANSING', num: 4},\r\n {enum: 'NO_AUTO_CLEANING_REQUIRED', num: 5},\r\n {enum: 'FAILED_RULE_BASED_CLEANSING', num: 6},\r\n {enum: 'FINISHED_RULE_BASED_CLEANSING', num: 7},\r\n {enum: 'NO_RULEBASED_CLEANING_REQUIRED', num: 8},\r\n {enum: 'NEED_MANUAL_CLEANING', num: 9},\r\n {enum: 'MANUALLY_CLEANED', num: 10},\r\n {enum: 'SENT_TO_CUSTOMERES', num: 11},\r\n {enum: 'RECEIVED_FROM_CUSTOMER', num: 12},\r\n {enum: 'FAILED_IN_STAGING', num: 13},\r\n {enum: 'COMPLETE', num: 14}\r\n ]\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.bindToolTip()\r\n }\r\n\r\n componentWillReceiveProps(nextProps){\r\n if(nextProps.packageItem){\r\n if(nextProps.packageItem !== this.state.packageItem){\r\n this.setState({\r\n packageItem: nextProps.packageItem,\r\n });\r\n }\r\n }\r\n }\r\n\r\n bindToolTip(){\r\n const { packageItem } = this.state;\r\n const packeageRow = packageItem.slice();\r\n const newRows = packeageRow.map(val => {\r\n if (val.rowref.current.scrollWidth > val.rowref.current.clientWidth) {\r\n val.open = false;\r\n }\r\n return val;\r\n });\r\n this.setState({ packageItem: newRows });\r\n\r\n }\r\n\r\n findDate(item){\r\n const findDate = `${new Date(item).getFullYear()}/${new Date(item).getMonth() + 1}/${new Date(item).getDate()} ${new Date(item).getHours()}:${new Date(item).getMinutes()}:${new Date(item).getSeconds()}:${new Date(item).getMilliseconds()}`;\r\n return findDate;\r\n }\r\n\r\n renderItem(item, i){\r\n const { classes } = this.props;\r\n const itemReturn = [\r\n \r\n \r\n {item.SnapShotName}\r\n \r\n \r\n {this.findDate(item.CreatedOn)}\r\n \r\n \r\n {item.ItemCount}\r\n \r\n \r\n {\r\n \r\n {item.SnapShotTableName}\r\n \r\n }\r\n \r\n \r\n \r\n {item.TagTableName}\r\n \r\n \r\n \r\n {this.getStatus(item.Status)}\r\n \r\n \r\n ]\r\n return itemReturn;\r\n }\r\n\r\n getStatus(item){\r\n const { packageStatus } = this.state;\r\n const status = packageStatus.filter(res => {\r\n if(res.num === item){\r\n return res\r\n }\r\n })\r\n return status[0].enum;\r\n }\r\n\r\n render(){\r\n const { packageItem, order, orderBy,} = this.state;\r\n let allItemRows = [];\r\n packageItem && packageItem.forEach((item, i) => {\r\n const perItemRows = this.renderItem(item, i);\r\n allItemRows = allItemRows.concat(perItemRows);\r\n });\r\n return(\r\n \r\n {allItemRows}\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default PackageItems;","import React, { Component, Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Button from '@material-ui/core/Button';\r\nimport Table from '@material-ui/core/Table';\r\nimport TableBody from '@material-ui/core/TableBody';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableRow from '@material-ui/core/TableRow';\r\nimport { Link } from 'react-router-dom';\r\nimport TableFooter from '@material-ui/core/TableFooter';\r\nimport TablePagination from '@material-ui/core/TablePagination';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport { Multiselect } from 'multiselect-react-dropdown';\r\nimport {\r\n Portlet,\r\n PortletBody,\r\n PortletHeader,\r\n} from \"../../../../partials/content/Portlet\";\r\nimport { TablePaginationActions } from '../../../../partials/layout/Pagination';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\r\nimport 'react-perfect-scrollbar/dist/css/styles.css';\r\nimport { \r\n getComparator,\r\n stableSort,\r\n EnhancedTableHead \r\n} from '../../../../crud/SortGrid';\r\nimport { Modal } from \"react-bootstrap\";\r\nimport PackageItems from './PackageItems';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport Switch from '@material-ui/core/Switch';\r\n\r\nconst headCells = [\r\n { id: 'SnapShotName', numeric: false, disablePadding: true, align: 'left', label: 'SnapShot Name' },\r\n { id: 'CreatedOn', numeric: false, disablePadding: false, align: 'left', label: 'CreatedOn' },\r\n { id: 'ItemCount', numeric: false, disablePadding: false, align: 'left', label: 'Item Count' },\r\n { id: 'SnapShotTableName', numeric: true, disablePadding: false, align: 'left', label: 'SnapShot Table Name' },\r\n { id: 'TagTableName', numeric: false, disablePadding: false, align: 'left', label: 'Tag Table Name' },\r\n { id: 'Status', numeric: false, disablePadding: false, align: 'right', label: 'Status' },\r\n];\r\n\r\nclass PackageList extends Component {\r\n constructor(props){\r\n super(props);\r\n this.style = {\r\n chips: {\r\n background: \"#0078d4\",\r\n marginBottom: 0\r\n },\r\n searchBox: {\r\n border: '1px solid #e2e5ec'\r\n },\r\n multiselectContainer: {\r\n color: \"#0078d4\",\r\n width: 'auto',\r\n zIndex: '9999',\r\n minWidth: 300,\r\n marginRight: 10\r\n }\r\n };\r\n this.state = {\r\n packageItem: [],\r\n updatedRow: [],\r\n page: 0,\r\n rowsPerPage: 25,\r\n order: 'asc',\r\n orderBy: 'CreatedOn',\r\n show: false,\r\n modelText: '',\r\n limit: '40',\r\n personName: [],\r\n filterNum: [],\r\n except: false,\r\n selectedValue: '',\r\n ieBrowser: false,\r\n addPackage: {\r\n ID: undefined,\r\n SnapShotName: \"\",\r\n CreatedOn: \"\",\r\n ItemCount: undefined,\r\n SnapShotTableName: \"\",\r\n TagTableName: \"\",\r\n Status: undefined,\r\n ItemIds: null,\r\n },\r\n packageStatus: [\r\n //{enum: 'UNKNOWN', num: 0},\r\n {name: 'CREATED', enum: 'CREATED', num: 1},\r\n {name: 'CHOSEN_FOR_PROCESSING', enum: 'CHOSEN_FOR_PROCESSING', num: 2},\r\n {name: 'FAILED_AUTOMATED_CLEANSING', enum: 'FAILED_AUTOMATED_CLEANSING', num: 3},\r\n {name: 'FINISHED_AUTOMATED_CLEANSING', num: 4},\r\n {name: 'FINISHED_AUTOMATED_CLEANSING', enum: 'NO_AUTO_CLEANING_REQUIRED', num: 5},\r\n {name: 'FAILED_RULE_BASED_CLEANSING', enum: 'FAILED_RULE_BASED_CLEANSING', num: 6},\r\n {name: 'FINISHED_RULE_BASED_CLEANSING', enum: 'FINISHED_RULE_BASED_CLEANSING', num: 7},\r\n {name: 'NO_RULEBASED_CLEANING_REQUIRED', enum: 'NO_RULEBASED_CLEANING_REQUIRED', num: 8},\r\n {name: 'NEED_MANUAL_CLEANING', enum: 'NEED_MANUAL_CLEANING', num: 9},\r\n {name: 'MANUALLY_CLEANED', enum: 'MANUALLY_CLEANED', num: 10},\r\n {name: 'SENT_TO_CUSTOMERES', enum: 'SENT_TO_CUSTOMERES', num: 11},\r\n {name: 'RECEIVED_FROM_CUSTOMER', enum: 'RECEIVED_FROM_CUSTOMER', num: 12},\r\n {name: 'FAILED_IN_STAGING', enum: 'FAILED_IN_STAGING', num: 13},\r\n {name: 'COMPLETE', enum: 'COMPLETE', num: 14}\r\n ]\r\n }\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleChangeRowsPerPage = this.handleChangeRowsPerPage.bind(this);\r\n this.handleRequestSort = this.handleRequestSort.bind(this);\r\n this.handleClose = this.handleClose.bind(this);\r\n this.onFilderByDate = this.onFilderByDate.bind(this);\r\n this.setRowsPerPage = this.setRowsPerPage.bind(this);\r\n this.onSelect = this.onSelect.bind(this);\r\n this.onRemove = this.onRemove.bind(this);\r\n }\r\n\r\n componentDidMount(){\r\n var isIE = /*@cc_on!@*/false || !!document.documentMode;\r\n \r\n this.setState({\r\n packageItem: this.props.data,\r\n ieBrowser: isIE ? true : false\r\n }) \r\n }\r\n\r\n componentWillReceiveProps(nextProps){\r\n if(nextProps.data){\r\n if(nextProps.data !== this.state.packageItem){\r\n this.setState({\r\n packageItem: nextProps.data,\r\n });\r\n }\r\n }\r\n }\r\n\r\n heandleChange(e, type){\r\n const { addPackage } = this.state;\r\n this.setState({\r\n addPackage: {\r\n ...addPackage,\r\n [type]: e.target.value\r\n }\r\n })\r\n }\r\n\r\n handleChangePage(event, newPage) {\r\n this.setPage(newPage)\r\n return this.state.page;\r\n }\r\n\r\n setPage(newPage){\r\n this.setState({\r\n page: newPage\r\n })\r\n }\r\n \r\n handleChangeRowsPerPage(event) {\r\n const data = parseInt(event.target.value, 10);\r\n this.setRowsPerPage(data);\r\n return this.state.rowsPerPage;\r\n }\r\n\r\n setRowsPerPage(data){\r\n this.setState({rowsPerPage: data})\r\n }\r\n\r\n\r\n heandleUpdate(item, rowId){\r\n const { updatedRow, addPackage } = this.state\r\n setTimeout(() => {\r\n updatedRow.length > 0 && updatedRow.splice(0 , 1);\r\n const currentExpandedRows = updatedRow;\r\n const isRowCurrentlyExpanded = currentExpandedRows.includes(rowId);\r\n const newExpandedRows = isRowCurrentlyExpanded ? \r\n currentExpandedRows.filter((id) => id !== rowId) : \r\n (\r\n currentExpandedRows.concat(rowId)\r\n );\r\n rowId === 0 || rowId > 0 ?\r\n this.setState({updatedRow : newExpandedRows, addPackage : item}) :\r\n this.setState({updatedRow : newExpandedRows, addPackage: addPackage})\r\n\r\n }, 500)\r\n }\r\n\r\n closeRow(){\r\n const { addPackage } = this.state\r\n this.setState({updatedRow : [], addPackage : addPackage})\r\n }\r\n\r\n heandlePopup(event, item){\r\n this.setState({\r\n show: true,\r\n modelText: item\r\n })\r\n }\r\n\r\n handleClose() {\r\n this.setState({ show: false });\r\n }\r\n\r\n renderItem(item, i){\r\n const { classes } = this.props;\r\n const { updatedRow, addPackage, limit } = this.state;\r\n const itemReturn = [\r\n \r\n \r\n {updatedRow.includes(i) ? this.heandleChange(e, 'SnapShotName')}\r\n /> \r\n :\r\n item.SnapShotName}\r\n \r\n \r\n {updatedRow.includes(i) ? this.heandleChange(e, 'CreatedOn')}\r\n /> \r\n :\r\n new Date(item.CreatedOn).getTime()}\r\n \r\n \r\n {updatedRow.includes(i) ? this.heandleChange(e, 'ItemCount')}\r\n /> \r\n :\r\n item.ItemCount}\r\n \r\n \r\n {updatedRow.includes(i) ? this.heandleChange(e, 'SnapShotTableName')}\r\n /> \r\n :\r\n \r\n \r\n {item.SnapShotTableName}\r\n \r\n }\r\n \r\n \r\n \r\n {item.TagTableName}\r\n \r\n \r\n \r\n {updatedRow.includes(i) ? this.heandleChange(e, 'Status')}\r\n /> \r\n :\r\n this.getStatus(item.Status)}\r\n \r\n \r\n ]\r\n return itemReturn;\r\n }\r\n\r\n getStatus(item){\r\n const { packageStatus } = this.state;\r\n const status = packageStatus.filter(res => {\r\n if(res.num === item){\r\n return res\r\n }\r\n })\r\n return status[0].enum;\r\n }\r\n\r\n handleRequestSort(event, property) {\r\n const { orderBy, order } = this.state;\r\n // const isAsc = orderBy === property && order === 'asc';\r\n // this.setState({\r\n // order: isAsc ? 'desc' : 'asc',\r\n // orderBy: property\r\n // })\r\n if(orderBy === ''){\r\n const isAsc = true;\r\n this.setState({\r\n order: 'desc',\r\n orderBy: property,\r\n })\r\n } else{\r\n const isAsc = orderBy === property && order === 'asc';\r\n this.setState({\r\n order: isAsc ? 'desc' : 'asc',\r\n orderBy: property,\r\n })\r\n }\r\n };\r\n\r\n handleChange(event, type){\r\n const value = event.target.value;\r\n this.setState({\r\n personName: value\r\n })\r\n }\r\n\r\n onFilderByDate(){\r\n const { onFilter } = this.props;\r\n const { personName, packageStatus, except } = this.state;\r\n const data = personName.map(item => {\r\n for(let key in packageStatus){\r\n if(packageStatus[key].enum === item){\r\n return packageStatus[key].num \r\n }\r\n }\r\n })\r\n const params ={\r\n \"except\": except,\r\n \"filter\": data, //[\"1\", \"2\", \"3\", \"14\"]\r\n }\r\n onFilter(params, true);\r\n }\r\n\r\n handleChangeSwitch(event){\r\n this.setState(prevState => ({\r\n except: !prevState.except\r\n }))\r\n }\r\n\r\n \r\n\r\n onSelect(selectedList, selectedItem) {\r\n const name = selectedList.map(item => {\r\n return item.name\r\n })\r\n this.setState({\r\n personName: name\r\n });\r\n }\r\n \r\n onRemove(selectedList, removedItem) {\r\n const name = selectedList.map(item => {\r\n return item.name\r\n })\r\n this.setState({\r\n personName: name\r\n });\r\n }\r\n\r\n render(){\r\n const { classes } = this.props;\r\n const { packageItem, ieBrowser, order, orderBy, packageStatus, except, rowsPerPage, page } = this.state;\r\n const emptyRows = rowsPerPage - Math.min(rowsPerPage, packageItem.length - page * rowsPerPage);\r\n let allItemRows = [];\r\n packageItem && stableSort(packageItem, getComparator(order, orderBy)).forEach((item, i) => {\r\n const perItemRows = this.renderItem(item, i);\r\n allItemRows = allItemRows.concat(perItemRows);\r\n });\r\n \r\n let dataslice = packageItem.length> 0 ? stableSort(packageItem, getComparator(order, orderBy)) : packageItem;\r\n let items = dataslice.length> 0 ? dataslice.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage) : dataslice;\r\n \r\n const ITEM_HEIGHT = 48;\r\n const ITEM_PADDING_TOP = 8;\r\n const MenuProps = {\r\n PaperProps: {\r\n style: {\r\n maxHeight: ITEM_HEIGHT * 4.5 + ITEM_PADDING_TOP,\r\n width: 250,\r\n },\r\n },\r\n };\r\n return(\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n this.handleChangeSwitch(e)}\r\n name=\"checkedB\"\r\n color=\"primary\"\r\n />\r\n }\r\n />\r\n
\r\n {/* \r\n Please Select Status\r\n this.handleChange(e)}\r\n input={}\r\n renderValue={selected => selected.join(', ')}\r\n MenuProps={MenuProps}\r\n >\r\n {packageStatus.map((name, i) => (\r\n \r\n -1} />\r\n \r\n \r\n ))}\r\n \r\n */}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {packageItem.length > 0 && }\r\n {emptyRows > 0 && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {this.state.modelText}\r\n \r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nconst useStyles = theme => ({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n cell: {\r\n maxWidth: 300,\r\n width: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n maxWidth: 35,\r\n minWidth: 35,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n modalTitle: {\r\n fontSize: '1rem !important'\r\n },\r\n formControl: {\r\n margin: theme.spacing(1),\r\n minWidth: 300,\r\n maxWidth: '100%',\r\n },\r\n})\r\n\r\nPackageList.propTypes = {\r\n classes: PropTypes.object.isRequired\r\n};\r\n\r\nexport default withStyles(useStyles)(PackageList);","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { ThemeProvider, withStyles, createMuiTheme } from '@material-ui/core/styles'\r\nimport { fetchRunTime, fetchRunTimeFilter } from '../../../../store/actions/runtimeAction'\r\nimport PackageList from './PackageList'\r\n\r\nclass Package extends Component {\r\n constructor(props){\r\n super(props);\r\n this.props.fetchRunTime();\r\n this.state = {\r\n packageList: [],\r\n pageLoader: true\r\n }\r\n this.heandleFilter = this.heandleFilter.bind(this);\r\n }\r\n\r\n componentDidMount(){\r\n const { packageList } = this.state\r\n }\r\n\r\n componentWillReceiveProps(nextProps){\r\n if(nextProps.package){\r\n if(nextProps.package !== this.state.packageList){\r\n if(nextProps.package){\r\n nextProps.package.map(res => {\r\n res['open'] = true;\r\n res['rowref'] = React.createRef()\r\n })\r\n }\r\n this.setState({\r\n packageList: nextProps.package,\r\n pageLoader: false \r\n });\r\n }\r\n }\r\n }\r\n\r\n heandleFilter(params, load){\r\n params ? this.props.fetchRunTimeFilter(params) : this.props.fetchRunTime();\r\n this.setState({\r\n pageLoader: load\r\n })\r\n }\r\n\r\n render(){\r\n const { classes } = this.props;\r\n const { packageList, pageLoader } = this.state\r\n return(\r\n \r\n \r\n {pageLoader &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst theme = createMuiTheme({\r\n overrides: {\r\n MuiExpansionPanelSummary: {\r\n content: {\r\n padding: 0,\r\n margin: '0px !important'\r\n }\r\n },\r\n MuiButtonBase: {\r\n root: {\r\n minHeight: '25px !important',\r\n lineHeight: '1.2 !important'\r\n },\r\n expandIcon: {\r\n padding: 5\r\n },\r\n },\r\n MuiButton: {\r\n text: {\r\n color: '#333333',\r\n },\r\n containedPrimary: {\r\n backgroundColor: '#0078d4',\r\n '&:hover': {\r\n backgroundColor: '#0078d4',\r\n }\r\n }\r\n },\r\n MuiExpansionPanelDetails: {\r\n root: {\r\n padding: '0px !important',\r\n backgroundColor: 'rgba(0, 0, 0, 0.0) !important'\r\n }\r\n },\r\n MuiTableCell: {\r\n root: {\r\n padding: 5,\r\n fontSize: '1rem'\r\n },\r\n head: {\r\n lineHeight: '2.5rem'\r\n },\r\n sizeSmall: {\r\n padding: 5,\r\n },\r\n stickyHeader: {\r\n backgroundColor: '#ffffff'\r\n }\r\n },\r\n MuiFormControl: {\r\n root: {\r\n width: 'auto'\r\n }\r\n },\r\n MuiFormControlLabel: {\r\n root: {\r\n marginBottom: 0,\r\n marginLeft: 0\r\n }\r\n },\r\n MuiList: {\r\n padding: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n }\r\n },\r\n MuiListItem: {\r\n root: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n }\r\n },\r\n MuiTooltip: {\r\n tooltip: {\r\n fontSize: 14\r\n }\r\n },\r\n MuiInputLabel: {\r\n formControl: {\r\n transform: 'translate(0, 7px) scale(1)'\r\n },\r\n shrink: {\r\n transform: 'translate(0, 31px) scale(0.75)'\r\n }\r\n },\r\n MuiInput: {\r\n formControl: {\r\n marginTop: '0 !important'\r\n }\r\n }\r\n },\r\n});\r\n\r\n\r\nconst useStyles = theme => ({\r\n progressBar: {\r\n top: 31,\r\n right: 0,\r\n bottom: 0,\r\n left: 0,\r\n position: 'absolute',\r\n background: 'rgba(0, 0, 0, 0.1)',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n zIndex: 99999\r\n }\r\n});\r\n\r\nconst mapStateToProps = state => ({\r\n package: state.runtime.package\r\n})\r\n\r\nexport default connect(mapStateToProps, {\r\n fetchRunTime,\r\n fetchRunTimeFilter\r\n})(withStyles(useStyles)(Package));","import * as types from './types';\r\n\r\n\r\nconst fetchRunTime = () => ({\r\n type: types.FETCH_RUNTIME,\r\n})\r\n\r\nconst fetchRunTimeSuccess = ({items}) => ({\r\n type: types.FETCH_RUNTIME_SUCCESS,\r\n payload: { \r\n items\r\n }\r\n})\r\n\r\nconst fetchRunTimeFilter = (data) => ({\r\n type: types.FETCH_RUNTIME_FILTER,\r\n payload: data\r\n})\r\n\r\nconst fetchRunTimeFilterSuccess = ({items}) => ({\r\n type: types.FETCH_RUNTIME_FILTER_SUCCESS,\r\n payload: { \r\n items\r\n }\r\n})\r\n\r\nconst fetchAuditTrail = () => ({\r\n type: types.FETCH_AUDIT,\r\n})\r\n\r\nconst fetchAuditTrailFilter = (data) => ({\r\n type: types.FETCH_AUDIT_FILTER,\r\n payload: data\r\n})\r\n\r\nconst fetchAuditTrailFilterSuccess = ({items}) => ({\r\n type: types.FETCH_AUDIT_FILTER_SUCCESS,\r\n payload: { \r\n items\r\n }\r\n})\r\n\r\nconst fetchAuditTrailSuccess = ({items}) => ({\r\n type: types.FETCH_AUDIT_SUCCESS,\r\n payload: { \r\n items\r\n }\r\n})\r\n\r\nconst fetchTableData = (items) => ({\r\n type: types.FETCH_TABLEDATA,\r\n payload: { \r\n items\r\n }\r\n})\r\n\r\nconst fetchTableDataSuccess = ({items}) => ({\r\n type: types.FETCH_TABLEDATA_SUCCESS,\r\n payload: { \r\n items\r\n }\r\n})\r\n\r\nconst updateTableDataRequest = (data, type) => ({\r\n type: types.UPDATE_TABLEDATA_REQUEST,\r\n payload: {\r\n data,\r\n type\r\n },\r\n});\r\n\r\nconst updateTableDataSuccess = ({ items }) => ({\r\n type: types.UPDATE_TABLEDATA_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nexport {\r\n fetchRunTime,\r\n fetchRunTimeSuccess,\r\n fetchAuditTrail,\r\n fetchAuditTrailFilter,\r\n fetchAuditTrailFilterSuccess, \r\n fetchAuditTrailSuccess,\r\n fetchTableData,\r\n fetchTableDataSuccess,\r\n updateTableDataRequest,\r\n updateTableDataSuccess,\r\n fetchRunTimeFilter,\r\n fetchRunTimeFilterSuccess\r\n}","import React, { Component, Fragment } from 'react';\r\nimport clsx from \"clsx\";\r\n// import Table from '@material-ui/core/Table';\r\n// import TableBody from '@material-ui/core/TableBody';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableRow from '@material-ui/core/TableRow';\r\n// import { \r\n// getComparator,\r\n// stableSort,\r\n// EnhancedTableHead \r\n// } from '../../../../crud/SortGrid';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\n\r\nclass AuditTrailItems extends Component {\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n auditTrailList: this.props.auditTrailList\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.bindToolTip()\r\n }\r\n\r\n componentWillReceiveProps(nextProps){\r\n if(nextProps.auditTrailList){\r\n if(nextProps.auditTrailList !== this.state.auditTrailList){\r\n this.setState({\r\n auditTrailList: nextProps.auditTrailList,\r\n });\r\n this.bindToolTip()\r\n }\r\n }\r\n }\r\n\r\n bindToolTip(){\r\n const { auditTrailList } = this.state;\r\n const auditTrailRow = auditTrailList.slice();\r\n const newRows = auditTrailRow.map(val => {\r\n if (val.rowref.current.scrollWidth > val.rowref.current.clientWidth) {\r\n val.open = false;\r\n }\r\n return val;\r\n });\r\n this.setState({ auditTrailRow: newRows });\r\n\r\n }\r\n\r\n findDate(item){\r\n const findDate = `${new Date(item).getFullYear()}/${new Date(item).getMonth() + 1}/${new Date(item).getDate()} ${new Date(item).getHours()}:${new Date(item).getMinutes()}:${new Date(item).getSeconds()}:${new Date(item).getMilliseconds()}`;\r\n return findDate;\r\n }\r\n\r\n renderItem(item, i){\r\n const { classes } = this.props;\r\n const itemReturn = [\r\n \r\n \r\n {this.findDate(item.dataTime)}\r\n \r\n \r\n \r\n {item.fileName}\r\n \r\n \r\n \r\n \r\n {item.packageId}\r\n \r\n \r\n \r\n \r\n {item.snapShotName}\r\n \r\n \r\n \r\n \r\n {item.processStep}\r\n \r\n \r\n \r\n \r\n {item.additionalInfo}\r\n \r\n \r\n \r\n {item.userId}\r\n \r\n \r\n ]\r\n return itemReturn;\r\n }\r\n\r\n render(){\r\n const { page, rowsPerPage } = this.props\r\n const { auditTrailList, order, orderBy } = this.state;\r\n let allItemRows = [];\r\n auditTrailList.length > 0 && auditTrailList.forEach((item, i) => {\r\n const perItemRows = this.renderItem(item, i);\r\n allItemRows = allItemRows.concat(perItemRows);\r\n });\r\n return(\r\n \r\n {allItemRows}\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default AuditTrailItems;","import React, { Component, Fragment } from 'react';\r\nimport clsx from \"clsx\";\r\nimport { withStyles } from '@material-ui/core/styles'\r\nimport { \r\n TableFooter, \r\n TablePagination,\r\n Button,\r\n TableRow,\r\n TableCell,\r\n TableBody,\r\n Table,\r\n Paper,\r\n TextField,\r\n Tooltip\r\n} from '@material-ui/core'\r\nimport {\r\n Portlet,\r\n PortletBody,\r\n PortletHeader,\r\n PortletHeaderToolbar\r\n} from \"../../../../partials/content/Portlet\";\r\nimport { TablePaginationActions } from '../../../../partials/layout/Pagination';\r\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\r\nimport 'react-perfect-scrollbar/dist/css/styles.css';\r\nimport { \r\n getComparator,\r\n stableSort,\r\n EnhancedTableHead \r\n} from '../../../../crud/SortGrid';\r\nimport { Modal } from \"react-bootstrap\";\r\nimport DateFnsUtils from '@date-io/date-fns';\r\nimport {\r\n MuiPickersUtilsProvider,\r\n KeyboardTimePicker,\r\n KeyboardDatePicker,\r\n} from '@material-ui/pickers';\r\nimport AuditTrailItems from './AuditTrailItems';\r\n\r\nclass AuditTrailList extends Component {\r\n constructor(props){\r\n super(props);\r\n const endDateFind = new Date();\r\n endDateFind.setHours(24,59,59,999);\r\n const setTime = endDateFind.toUTCString();//new Date(endDateFind).getFullYear() + \"/\" + new Date(endDateFind).getMonth() + 1 + \"/\" + new Date(endDateFind).getDate();\r\n this.state = {\r\n auditTrailList: this.props.data,\r\n updatedRow: [],\r\n page: 0,\r\n rowsPerPage: 25,\r\n order: 'asc',\r\n orderBy: 'fileName',\r\n show: false,\r\n modelText: '',\r\n limit: '23',\r\n selectedStartDate: new Date().toUTCString(),\r\n selectedEndDate: setTime,\r\n ieBrowser: false,\r\n addAuditTrail: {\r\n ID: undefined,\r\n dataTime: \"\",\r\n fileName: \"\",\r\n packageId: undefined,\r\n snapShotName: \"\",\r\n processStep: \"\",\r\n additionalInfo: \"\",\r\n userId: \"\"\r\n }\r\n }\r\n this.handleChangePage = this.handleChangePage.bind(this);\r\n this.handleChangeRowsPerPage = this.handleChangeRowsPerPage.bind(this);\r\n this.handleRequestSort = this.handleRequestSort.bind(this);\r\n this.handleClose = this.handleClose.bind(this);\r\n this.onFilderByDate = this.onFilderByDate.bind(this);\r\n }\r\n\r\n \r\n\r\n componentDidMount(){\r\n // const {selectedEndDate} = this.state;\r\n // selectedEndDate.setHours(24,59,59,999);\r\n // const setTime = new Date().getFullYear() + \"/\" + new Date().getMonth() + 1 + \"/\" + new Date().getDate();\r\n var isIE = /*@cc_on!@*/false || !!document.documentMode;\r\n this.setState({\r\n auditTrailList: this.props.data,\r\n ieBrowser: isIE ? true : false\r\n }) \r\n }\r\n\r\n componentWillReceiveProps(nextProps){\r\n if(nextProps.data){\r\n if(nextProps.data !== this.state.auditTrailList){\r\n this.setState({\r\n auditTrailList: nextProps.data,\r\n });\r\n }\r\n }\r\n }\r\n\r\n handleChangePage(event, newPage) {\r\n this.setPage(newPage)\r\n return this.state.page;\r\n }\r\n\r\n setPage(newPage){\r\n this.setState({\r\n page: newPage\r\n })\r\n }\r\n \r\n handleChangeRowsPerPage(event) {\r\n const data = parseInt(event.target.value, 10);\r\n this.setRowsPerPage(data);\r\n return this.state.rowsPerPage;\r\n }\r\n\r\n setRowsPerPage(data){\r\n this.setState({rowsPerPage: data})\r\n }\r\n\r\n heandleChange(e, type){\r\n const { addAuditTrail } = this.state;\r\n this.setState({\r\n addAuditTrail: {\r\n ...addAuditTrail,\r\n [type]: e.target.value\r\n }\r\n })\r\n }\r\n\r\n heandleUpdate(item, rowId){\r\n const { updatedRow, addAuditTrail } = this.state\r\n setTimeout(() => {\r\n updatedRow.length > 0 && updatedRow.splice(0 , 1);\r\n const currentExpandedRows = updatedRow;\r\n const isRowCurrentlyExpanded = currentExpandedRows.includes(rowId);\r\n const newExpandedRows = isRowCurrentlyExpanded ? \r\n currentExpandedRows.filter((id) => id !== rowId) : \r\n (\r\n currentExpandedRows.concat(rowId)\r\n );\r\n rowId === 0 || rowId > 0 ?\r\n this.setState({updatedRow : newExpandedRows, addAuditTrail : item}) :\r\n this.setState({updatedRow : newExpandedRows, addAuditTrail: addAuditTrail})\r\n\r\n }, 500)\r\n }\r\n\r\n closeRow(){\r\n const { addAuditTrail } = this.state\r\n this.setState({updatedRow : [], addAuditTrail : addAuditTrail})\r\n }\r\n\r\n heandlePopup(event, item){\r\n this.setState({\r\n show: true,\r\n modelText: item\r\n })\r\n }\r\n\r\n handleClose() {\r\n this.setState({ show: false });\r\n }\r\n\r\n handleDateChange(item) {\r\n const { selectedEndDate, selectedStartDate } = this.state;\r\n const setDate = new Date(item)\r\n const date = new Date(item).getDate()\r\n const year = new Date(item).getFullYear()\r\n const month = new Date(item).getMonth() + 1\r\n const full = year + \"/\" + month + \"/\" + date;\r\n const serHours = setDate.setHours(24,59,59,999);\r\n const findDate = `${new Date(serHours).getFullYear()}/${new Date(serHours).getMonth() + 1}/${new Date(serHours).getDate()}`;\r\n const endDate = `${new Date(selectedEndDate).getFullYear()}/${new Date(selectedEndDate).getMonth() + 1}/${new Date(selectedEndDate).getDate()}`;\r\n this.setState({\r\n selectedStartDate: full,\r\n })\r\n \r\n if(Date.parse(endDate) < Date.parse(full)) {\r\n this.setState({\r\n selectedEndDate: findDate\r\n })\r\n }\r\n }\r\n\r\n\r\n handleEndDateChange(item) {\r\n const date = new Date(item).getDate()\r\n const year = new Date(item).getFullYear()\r\n const month = new Date(item).getMonth() + 1\r\n const full = year + \"/\" + month + \"/\" + date;\r\n this.setState({\r\n selectedEndDate: full\r\n })\r\n }\r\n\r\n renderItem(item, i){\r\n const { classes } = this.props;\r\n const { updatedRow, addAuditTrail, limit } = this.state;\r\n const itemReturn = [\r\n \r\n \r\n {updatedRow.includes(i) ? this.heandleChange(e, 'dataTime')}\r\n /> \r\n :\r\n new Date(item.dataTime).getTime()}\r\n \r\n \r\n {updatedRow.includes(i) ? this.heandleChange(e, 'CreatedOn')}\r\n /> \r\n :\r\n \r\n
\r\n {item.fileName.length > 20 ?

{item.fileName.substring(0,limit)+\"...\"}

: item.fileName}\r\n {/* {item.fileName.length > 20 && this.heandlePopup(e, item.fileName)}>read more} */}\r\n
\r\n
}\r\n
\r\n \r\n {updatedRow.includes(i) ? this.heandleChange(e, 'ItemCount')}\r\n /> \r\n :\r\n \r\n
\r\n {item.packageId.length > 20 ?

{item.packageId.substring(0,limit)+\"...\"}

: item.packageId}\r\n {/* {item.packageId.length > 20 && this.heandlePopup(e, item.packageId)}>read more} */}\r\n
\r\n
}\r\n
\r\n \r\n {updatedRow.includes(i) ? this.heandleChange(e, 'SnapShotTableName')}\r\n /> \r\n :\r\n \r\n {item.snapShotName ?\r\n
\r\n {item.snapShotName.length > 20 ?

{item.snapShotName.substring(0,limit)+\"...\"}

: item.snapShotName}\r\n {/* {item.snapShotName.length > 20 && this.heandlePopup(e, item.snapShotName)}\r\n >\r\n read more\r\n } */}\r\n
\r\n : item.snapShotName}\r\n
}\r\n
\r\n \r\n {updatedRow.includes(i) ? this.heandleChange(e, 'TagTableName')}\r\n /> \r\n :\r\n \r\n
\r\n {item.processStep.length > 20 ?

{item.processStep.substring(0,limit)+\"...\"}

: item.processStep}\r\n {/* {item.processStep.length > 20 && this.heandlePopup(e, item.processStep)}>read more} */}\r\n
\r\n
}\r\n
\r\n \r\n {updatedRow.includes(i) ? this.heandleChange(e, 'Status')}\r\n /> \r\n :\r\n \r\n
\r\n {item.additionalInfo.length > 20 ?

{item.additionalInfo.substring(0,limit)+\"...\"}

: item.additionalInfo}\r\n {/* {item.additionalInfo.length > 20 && this.heandlePopup(e, item.additionalInfo)}>read more} */}\r\n
\r\n
\r\n }\r\n
\r\n \r\n {updatedRow.includes(i) ? this.heandleChange(e, 'userId')}\r\n /> \r\n :\r\n item.userId}\r\n \r\n
\r\n ]\r\n return itemReturn;\r\n }\r\n\r\n handleRequestSort(event, property) {\r\n const { orderBy, order } = this.state;\r\n // const isAsc = orderBy === property && order === 'asc';\r\n // this.setState({\r\n // order: isAsc ? 'desc' : 'asc',\r\n // orderBy: property\r\n // })\r\n if(orderBy === ''){\r\n const isAsc = true;\r\n this.setState({\r\n order: 'desc',\r\n orderBy: property,\r\n })\r\n } else{\r\n const isAsc = orderBy === property && order === 'asc';\r\n this.setState({\r\n order: isAsc ? 'desc' : 'asc',\r\n orderBy: property,\r\n })\r\n }\r\n };\r\n\r\n onFilderByDate(){\r\n const { onFilter } = this.props;\r\n const { selectedStartDate, selectedEndDate } = this.state;\r\n const params = {\r\n 'startdate': selectedStartDate,\r\n 'enddate': selectedEndDate\r\n }\r\n onFilter(params);\r\n }\r\n\r\n\r\n\r\n render(){\r\n const { classes } = this.props;\r\n const { auditTrailList, ieBrowser, order, orderBy, selectedStartDate, rowsPerPage, page, selectedEndDate } = this.state;\r\n const emptyRows = rowsPerPage - Math.min(rowsPerPage, auditTrailList.length - page * rowsPerPage);\r\n let allItemRows = [];\r\n stableSort(auditTrailList, getComparator(order, orderBy)).slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage).forEach((item, i) => {\r\n const perItemRows = this.renderItem(item, i);\r\n allItemRows = allItemRows.concat(perItemRows);\r\n });\r\n let dataslice = auditTrailList.length> 0 ? stableSort(auditTrailList, getComparator(order, orderBy)) : auditTrailList;\r\n let items = dataslice.length> 0 ? dataslice.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage) : dataslice;\r\n // let dataslice = auditTrailList.length> 0 ? auditTrailList.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage) : auditTrailList;\r\n // let items = stableSort(dataslice, getComparator(order, orderBy));\r\n return(\r\n \r\n \r\n \r\n \r\n
\r\n \r\n this.handleDateChange(e)}\r\n format=\"yyyy/MM/dd\"\r\n KeyboardButtonProps={{\r\n 'aria-label': 'change date',\r\n }}\r\n className={classes.formMargin}\r\n />\r\n \r\n this.handleEndDateChange(e)}\r\n format=\"yyyy/MM/dd\"\r\n KeyboardButtonProps={{\r\n 'aria-label': 'change date',\r\n }}\r\n className={classes.formMargin}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {auditTrailList.length > 0 && }\r\n {emptyRows > 0 && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n

{this.state.modelText}

\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst headCells = [\r\n { id: 'dataTime', numeric: false, disablePadding: true, align: 'left', label: 'Data Time' },\r\n { id: 'fileName', numeric: false, disablePadding: false, align: 'left', label: 'File Name' },\r\n { id: 'packageId', numeric: false, disablePadding: false, align: 'left', label: 'Package Id' },\r\n { id: 'snapShotName', numeric: false, disablePadding: false, align: 'left', label: 'SnapShot Name' },\r\n { id: 'processStep', numeric: false, disablePadding: false, align: 'left', label: 'Process Step' },\r\n { id: 'additionalInfo', numeric: false, disablePadding: false, align: 'left', label: 'Additional Info' },\r\n { id: 'userId', numeric: false, disablePadding: false, align: 'right', label: 'User Id' },\r\n];\r\n\r\nconst useStyles = theme => ({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n cell: {\r\n maxWidth: 300,\r\n width: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n maxWidth: 35,\r\n minWidth: 35,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n modalTitle: {\r\n fontSize: '1rem !important'\r\n },\r\n formMargin: {\r\n marginRight: '15px !important'\r\n }\r\n})\r\n\r\nexport default withStyles(useStyles)(AuditTrailList);","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { ThemeProvider, withStyles, createMuiTheme } from '@material-ui/core/styles'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport AuditTrailList from './AuditTrailList';\r\nimport { fetchAuditTrail, fetchAuditTrailFilter } from '../../../../store/actions/runtimeAction';\r\n\r\nclass AuditTrail extends Component {\r\n constructor(props){\r\n super(props);\r\n this.props.fetchAuditTrail();\r\n this.state = {\r\n auditTrail: [],\r\n pageLoader: true\r\n }\r\n }\r\n\r\n componentDidMount(){\r\n const { auditTrail } = this.state\r\n }\r\n\r\n componentWillReceiveProps(nextProps){\r\n if(nextProps.auditTrail){\r\n if(nextProps.auditTrail !== this.state.auditTrail){\r\n if(nextProps.auditTrail){\r\n nextProps.auditTrail.map(res => {\r\n res['open'] = true;\r\n res['rowref'] = React.createRef()\r\n })\r\n }\r\n this.setState(state => {\r\n state.auditTrail = nextProps.auditTrail;\r\n state.pageLoader = false; //state.auditTrail.length > 0 ? false : true\r\n });\r\n }\r\n }\r\n }\r\n\r\n heandleFilter(params){\r\n params.startdate ? this.props.fetchAuditTrailFilter(params) : this.props.fetchAuditTrail();\r\n }\r\n\r\n render(){\r\n const { classes } = this.props;\r\n const { auditTrail, pageLoader } = this.state;\r\n return(\r\n \r\n this.heandleFilter(e)}/>\r\n {pageLoader &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst theme = createMuiTheme({\r\n overrides: {\r\n MuiExpansionPanelSummary: {\r\n content: {\r\n padding: 0,\r\n margin: '0px !important'\r\n }\r\n },\r\n MuiButtonBase: {\r\n root: {\r\n minHeight: '25px !important',\r\n lineHeight: '1.2 !important'\r\n },\r\n expandIcon: {\r\n padding: 5\r\n },\r\n },\r\n MuiButton: {\r\n text: {\r\n color: '#333333',\r\n },\r\n containedPrimary: {\r\n backgroundColor: '#0078d4',\r\n '&:hover': {\r\n backgroundColor: '#0078d4',\r\n }\r\n }\r\n },\r\n MuiIconButton: {\r\n root: {\r\n padding: '0px !important',\r\n minHeight: '20px !important',\r\n minWidth: '20px !important',\r\n }\r\n },\r\n MuiExpansionPanelDetails: {\r\n root: {\r\n padding: '0px !important',\r\n backgroundColor: 'rgba(0, 0, 0, 0.0) !important'\r\n }\r\n },\r\n MuiTableCell: {\r\n root: {\r\n padding: 5,\r\n fontSize: '1rem'\r\n },\r\n head: {\r\n lineHeight: '2.5rem'\r\n },\r\n sizeSmall: {\r\n padding: 5,\r\n },\r\n stickyHeader: {\r\n backgroundColor: '#ffffff'\r\n }\r\n },\r\n MuiFormControl: {\r\n root: {\r\n width: '100%',\r\n },\r\n marginNormal: {\r\n marginRight: '15px !important'\r\n }\r\n },\r\n MuiList: {\r\n padding: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n }\r\n },\r\n MuiListItem: {\r\n root: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n }\r\n },\r\n MuiFormControl: {\r\n marginNormal: {\r\n marginTop: 0,\r\n marginBottom: 0\r\n }\r\n },\r\n MuiTooltip: {\r\n tooltip: {\r\n fontSize: 14\r\n }\r\n },\r\n MuiInputLabel: {\r\n formControl: {\r\n transform: 'translate(0, 7px) scale(1)'\r\n },\r\n shrink: {\r\n transform: 'translate(0, 31px) scale(0.75)'\r\n }\r\n },\r\n MuiInput: {\r\n formControl: {\r\n marginTop: '0 !important'\r\n }\r\n }\r\n },\r\n});\r\n\r\nconst mapStateToProps = state => ({\r\n auditTrail: state.runtime.auditTrail\r\n})\r\n\r\nconst useStyles = theme => ({\r\n progressBar: {\r\n top: 0,\r\n right: 0,\r\n bottom: 0,\r\n left: 0,\r\n position: 'absolute',\r\n background: 'rgba(0, 0, 0, 0.1)',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n zIndex: 99999\r\n }\r\n});\r\n\r\nexport default connect(mapStateToProps, {\r\n fetchAuditTrail,\r\n fetchAuditTrailFilter\r\n})(withStyles(useStyles)(AuditTrail));","import React, { Component, Fragment } from 'react';\r\nimport { Prompt } from \"react-router-dom\";\r\nimport { withStyles } from '@material-ui/core/styles'\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Table from '@material-ui/core/Table';\r\nimport TableBody from '@material-ui/core/TableBody';\r\nimport TableCell from '@material-ui/core/TableCell';\r\n// import TableHead from '@material-ui/core/TableHead';\r\nimport TableRow from '@material-ui/core/TableRow';\r\nimport TextField from '@material-ui/core/TextField'\r\nimport Button from '@material-ui/core/Button';\r\nimport {\r\n Portlet,\r\n PortletBody,\r\n PortletHeader,\r\n PortletHeaderToolbar\r\n} from \"../../../../partials/content/Portlet\";\r\n// import clsx from \"clsx\";\r\n// import ArrowUpwardIcon from '@material-ui/icons/ArrowUpward';\r\n// import ArrowDownwardIcon from '@material-ui/icons/ArrowDownward';\r\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\r\nimport { Link } from 'react-router-dom';\r\nimport 'react-perfect-scrollbar/dist/css/styles.css';\r\nimport { \r\n getComparator,\r\n stableSort,\r\n EnhancedTableHead \r\n} from '../../../../crud/SortGrid';\r\n\r\nclass TableDataList extends Component {\r\n// asideMenuRef = React.createRef();\r\n// insideTm;\r\n// outsideTm;\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n expandedRows: [],\r\n headCells: [],\r\n order: 'asc',\r\n orderBy: [],\r\n tableDataList: [],\r\n saveMode: false,\r\n diraction: 'ascending',\r\n }\r\n this.handleRequestSort = this.handleRequestSort.bind(this);\r\n this.renderTableHeader.bind(this);\r\n }\r\n\r\n componentWillMount(){\r\n var isIE = /*@cc_on!@*/false || !!document.documentMode;\r\n this.setState(state => {\r\n state.orderBy = this.props.data.length > 0 ? Object.keys(this.props.data[0])[0] : [];\r\n state.tableDataList = this.props.data;\r\n state.ieBrowser = isIE ? true : false\r\n });\r\n }\r\n\r\n componentWillReceiveProps(nextProps){\r\n if(nextProps.data){\r\n if(nextProps.data !== this.state.tableDataList){\r\n this.setState(state => {\r\n state.orderBy = nextProps.data.length > 0 ? Object.keys(nextProps.data[0])[0] : [];\r\n state.tableDataList = nextProps.data\r\n });\r\n }\r\n }\r\n }\r\n\r\n closeRow(){\r\n this.setState({\r\n expandedRows : []\r\n })\r\n }\r\n\r\n heandleChange(evt, type, idx) {\r\n const value = evt.target.value\r\n const { tableDataList } = this.state;\r\n tableDataList[idx][type] = value;\r\n this.setState({\r\n tableDataList: tableDataList,\r\n saveMode: true,\r\n })\r\n // this.setState(state => {\r\n // state.saveMode = true;\r\n // const tableDataList = state.tableDataList.slice();\r\n // for (let i = idx; i <= idx; i++) {\r\n // tableDataList[i] = { ...tableDataList[i], [type]: value};\r\n // }\r\n // return { tableDataList };\r\n // });\r\n };\r\n\r\n renderItem(item, i){\r\n let key = Object.keys(item)\r\n const itemReturn = [\r\n \r\n {key.map((x, idx) => (\r\n \r\n {/* {item[x]} */}\r\n this.heandleChange(e, x, i)}\r\n /> \r\n \r\n ))}\r\n \r\n ]\r\n\r\n return itemReturn;\r\n }\r\n\r\n saveTableData(){\r\n const { onSave, title } = this.props;\r\n const { tableDataList } = this.state\r\n let TableDt = JSON.stringify(tableDataList);\r\n const data = {\r\n TableName: title,\r\n TableData: TableDt\r\n }\r\n let objSerialized={\r\n \"table\": JSON.stringify(data)\r\n }\r\n onSave(objSerialized);\r\n setTimeout(() => {\r\n this.setState({\r\n saveMode: false,\r\n tableDataList: this.props.data\r\n })\r\n }, 2000)\r\n }\r\n\r\n discardTableData(){\r\n this.setState({\r\n tableDataList: this.props.data\r\n })\r\n }\r\n\r\n renderTableHeader(){\r\n const { classes } = this.props;\r\n const { tableDataList, order, orderBy } = this.state; \r\n let header = tableDataList.length > 0 && Object.keys(tableDataList[0]);\r\n // this.setState(state => {\r\n // state.orderBy = header[0];\r\n // })\r\n const headCells = []\r\n header && header.map(item => {\r\n const headCellsList = {};\r\n headCellsList['label'] = item;\r\n headCellsList['align'] = 'left';\r\n headCellsList['disablePadding'] = false;\r\n headCellsList['numeric'] = false;\r\n headCellsList['id'] = item\r\n headCells.push(headCellsList);\r\n return item;\r\n })\r\n return(\r\n tableDataList.length > 0 ? \r\n : null\r\n )\r\n }\r\n\r\n handleRequestSort(event, property) {\r\n const { orderBy, order } = this.state;\r\n const isAsc = orderBy === property && order === 'asc';\r\n this.setState({\r\n order: isAsc ? 'desc' : 'asc',\r\n orderBy: property\r\n })\r\n };\r\n\r\n render(){\r\n const { classes } = this.props;\r\n const { tableDataList, ieBrowser, saveMode, order, orderBy } = this.state;\r\n let allItemRows = [];\r\n tableDataList.length > 0 && stableSort(tableDataList, getComparator(order, orderBy)).forEach((item, i) => {\r\n const perItemRows = this.renderItem(item, i);\r\n allItemRows = allItemRows.concat(perItemRows);\r\n });\r\n return(\r\n \r\n \r\n \r\n `Unsaved changes will be lost. Do you want to proceed ?`}\r\n />\r\n \r\n \r\n Back\r\n \r\n {saveMode && \r\n \r\n \r\n }\r\n \r\n }\r\n headerClassName={classes.portletHead}\r\n />\r\n \r\n \r\n \r\n \r\n {this.renderTableHeader()}\r\n \r\n {allItemRows}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst useStyles = theme => ({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n button: {\r\n margin: '0 0 0 8px',\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n //maxWidth: 125,\r\n //minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n cell: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n})\r\n\r\nexport default withStyles(useStyles)(TableDataList);","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux'\r\nimport { ThemeProvider, withStyles, createMuiTheme } from '@material-ui/core/styles'\r\nimport { fetchTableData, updateTableDataRequest } from '../../../../store/actions/runtimeAction'\r\nimport TableDataList from './TableDataList'\r\nimport Toast from '../../../../crud/Toast';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\n\r\nclass TableData extends Component {\r\n constructor(props){\r\n super(props);\r\n const itemsdata= props.location.state.title;\r\n this.props.fetchTableData(itemsdata)\r\n this.state = {\r\n title: itemsdata,\r\n tableDataList: [],\r\n success: false,\r\n toastVisible: false,\r\n level: '',\r\n message: '',\r\n pageLoading: true\r\n }\r\n }\r\n\r\n componentDidMount(){\r\n const { tableDataList } = this.state\r\n }\r\n\r\n componentWillReceiveProps(nextProps){\r\n if(nextProps.tableData){\r\n if(nextProps.tableData !== this.state.tableDataList){\r\n this.setState(state => {\r\n state.tableDataList = nextProps.tableData;\r\n state.pageLoading = false;\r\n });\r\n }\r\n }\r\n }\r\n \r\n heandleUpdateTableData(item){\r\n const { title, success } = this.state;\r\n this.props.updateTableDataRequest(item, title);\r\n this.setState({\r\n toastVisible: true,\r\n level: 'success',\r\n message: 'List has been update successfully'\r\n })\r\n setTimeout(() => {\r\n this.setState({\r\n toastVisible: false,\r\n level: '',\r\n message: ''\r\n })\r\n }, 1000)\r\n // setTimeout(() => {\r\n // this.setState({\r\n // success: this.props.success\r\n // })\r\n // if(success){\r\n // this.setState({\r\n // toastVisible: true,\r\n // level: 'success',\r\n // message: 'List has been added successfully'\r\n // })\r\n // setTimeout(() => {\r\n // this.setState({\r\n // toastVisible: false,\r\n // level: '',\r\n // message: ''\r\n // })\r\n // }, 3000)\r\n // } else {\r\n // this.setState({\r\n // toastVisible: true,\r\n // level: 'danger',\r\n // message: 'Some thing is wrong..'\r\n // })\r\n // setTimeout(() => {\r\n // this.setState({\r\n // toastVisible: false,\r\n // level: '',\r\n // message: ''\r\n // })\r\n // }, 3000)\r\n // }\r\n // }, 500)\r\n }\r\n\r\n render(){\r\n const { classes } = this.props;\r\n const { tableDataList, title, toastVisible, message, level, pageLoading } = this.state;\r\n return(\r\n \r\n this.heandleUpdateTableData(e)} />\r\n \r\n {pageLoading &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst theme = createMuiTheme({\r\n overrides: {\r\n MuiExpansionPanelSummary: {\r\n content: {\r\n padding: 0,\r\n margin: '0px !important'\r\n }\r\n },\r\n MuiButtonBase: {\r\n root: {\r\n minHeight: '25px !important',\r\n lineHeight: '1.2 !important'\r\n },\r\n expandIcon: {\r\n padding: 5\r\n },\r\n },\r\n MuiButton: {\r\n text: {\r\n color: '#333333',\r\n },\r\n containedPrimary: {\r\n backgroundColor: '#0078d4',\r\n '&:hover': {\r\n backgroundColor: '#0078d4',\r\n }\r\n }\r\n },\r\n MuiExpansionPanelDetails: {\r\n root: {\r\n padding: '0px !important',\r\n backgroundColor: 'rgba(0, 0, 0, 0.0) !important'\r\n }\r\n },\r\n MuiTableCell: {\r\n root: {\r\n borderRight:' solid 1px #ddd',\r\n padding: '1px 5px',\r\n fontSize: '1rem'\r\n }\r\n },\r\n MuiFormControl: {\r\n root: {\r\n width: '100%'\r\n }\r\n },\r\n MuiList: {\r\n padding: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n }\r\n },\r\n MuiListItem: {\r\n root: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n }\r\n },\r\n MuiInput: {\r\n underline: {\r\n '&:before': {\r\n borderBottom: 'none'\r\n },\r\n '&:after': {\r\n borderBottom: 'none'\r\n },\r\n '&:hover:not(.Mui-disabled):before': {\r\n borderBottom: 'none'\r\n }\r\n }\r\n }\r\n },\r\n});\r\n\r\nconst useStyles = theme => ({\r\n progressBar: {\r\n top: 0,\r\n right: 0,\r\n bottom: 0,\r\n left: 0,\r\n position: 'absolute',\r\n background: 'rgba(0, 0, 0, 0.1)',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center'\r\n }\r\n});\r\n\r\nconst mapStateToProps = state => ({\r\n tableData: state.runtime.tableData,\r\n success: state.runtime.success\r\n})\r\n\r\nexport default connect(mapStateToProps, {\r\n fetchTableData,\r\n updateTableDataRequest\r\n})(withStyles(useStyles)(TableData));","import React, { Component } from 'react';\r\nimport { Redirect, Route, Switch } from \"react-router-dom\";\r\nimport Package from './package';\r\nimport AuditTrail from './auditTrail';\r\nimport TableData from './tableData'\r\n\r\n\r\nclass RunTimePage extends Component{ \r\n render(){\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\nexport default RunTimePage;","import * as types from './types';\r\n\r\n\r\nconst fetchReports = (params) => ({\r\n type: types.FETCH_REPORTS,\r\n payload: params\r\n})\r\n\r\n\r\nconst fetchReportsSuccess = ({items}) => ({\r\n type: types.FETCH_REPORTS_SUCCESS,\r\n payload: { \r\n items\r\n }\r\n})\r\n\r\nconst fetchReportByReportId = (params) => ({\r\n type: types.FETCH_REPORT_BY_REPORTID,\r\n payload: params\r\n})\r\n\r\n\r\nconst fetchReportByReportIdSuccess = ({items}) => ({\r\n type: types.FETCH_REPORT_BY_REPORTID_SUCCESS,\r\n payload: { \r\n items\r\n }\r\n})\r\n\r\nconst exportReport = (params)=>({\r\n type: types.EXPORT_REPORT,\r\n payload: params\r\n});\r\n\r\n\r\nconst resetReportFile = () => ({\r\n type: types.RESET_REPORT_FILE\r\n});\r\n\r\nexport {\r\n fetchReports,\r\n fetchReportsSuccess,\r\n fetchReportByReportId,\r\n fetchReportByReportIdSuccess,\r\n exportReport,\r\n resetReportFile\r\n}","import React from 'react'\r\nimport { connect } from \"react-redux\";\r\nimport PowerbiEmbedded from \"react-powerbi\";\r\nimport {\r\n fetchReports\r\n} from '../../../../store/actions/reportsAction'\r\n\r\nclass GlobalDashboard extends React.Component{\r\n\r\n constructor(props){\r\n super(props);\r\n this.props.fetchReports('b8388a72-c3ac-4281-8d96-86b14192123d');\r\n this.state = {\r\n reportID: 'b8388a72-c3ac-4281-8d96-86b14192123d',\r\n user: this.props.user,\r\n token: {}\r\n }\r\n const {user, reportID} = this.state;\r\n user && this.props.fetchReports({reportID, user});\r\n }\r\n\r\n componentWillReceiveProps(nextProps, prevProps){\r\n if(nextProps.token){\r\n if(nextProps.token !== this.state.token){\r\n this.setState({\r\n token: nextProps.token,\r\n user: nextProps.user\r\n });\r\n \r\n }\r\n }\r\n }\r\n\r\n render(){\r\n const { token, user } = this.state;\r\n const { reportID } = this.state;\r\n return(\r\n
\r\n {token && }\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n token: state.token.token,\r\n user: state.auth.user\r\n})\r\n\r\nexport default connect(mapStateToProps, {\r\n fetchReports\r\n})(GlobalDashboard);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport PowerbiEmbedded from \"react-powerbi\";\r\nimport {\r\n fetchReports\r\n} from '../../../../store/actions/reportsAction'\r\n\r\nclass Eligibility extends React.Component{\r\n constructor(props){\r\n super(props);\r\n console.log(\"eligibility index\", this.props.user);\r\n this.props.fetchReports('aeafbb4a-5ce0-45be-bb52-f7410441d1df');\r\n this.state = {\r\n reportID: 'aeafbb4a-5ce0-45be-bb52-f7410441d1df',\r\n user: this.props.user,\r\n token: {}\r\n }\r\n const {user, reportID} = this.state;\r\n user && this.props.fetchReports({reportID, user});\r\n }\r\n\r\n componentWillReceiveProps(nextProps, prevProps){\r\n if(nextProps.token){\r\n if(nextProps.token !== this.state.token){\r\n this.setState({\r\n token: nextProps.token,\r\n user: nextProps.user\r\n });\r\n \r\n }\r\n }\r\n }\r\n render() {\r\n const { token, user } = this.state;\r\n const { reportID } = this.state;\r\n console.log(\"eligibility index\", this.props.user);\r\n return (\r\n
\r\n {token && }\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n token: state.token.token,\r\n user: state.auth.user\r\n\r\n})\r\n\r\nexport default connect(mapStateToProps, {\r\n fetchReports\r\n})(Eligibility);","import React from 'react'\r\nimport { connect } from \"react-redux\";\r\nimport PowerbiEmbedded from \"react-powerbi\";\r\nimport {\r\n fetchReports\r\n} from '../../../../store/actions/reportsAction'\r\n\r\nclass ChronicConditions extends React.Component{\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n reportID: '5e9e5659-625f-44b1-8c44-54e76d33fb54',\r\n user: this.props.user,\r\n token: {}\r\n }\r\n const {user, reportID} = this.state;\r\n user && this.props.fetchReports({reportID, user});\r\n }\r\n\r\n componentWillReceiveProps(nextProps, prevProps){\r\n if(nextProps.token){\r\n if(nextProps.token !== this.state.token){\r\n this.setState({\r\n token: nextProps.token,\r\n user: nextProps.user\r\n });\r\n \r\n }\r\n }\r\n }\r\n\r\n render(){\r\n const { token, user } = this.state;\r\n const { reportID } = this.state;\r\n return(\r\n
\r\n {token && }\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n token: state.token.token,\r\n user: state.auth.user\r\n})\r\n\r\nexport default connect(mapStateToProps, {\r\n fetchReports\r\n})(ChronicConditions);","import React, { Component } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport PowerbiEmbedded from \"react-powerbi\";\r\nimport {\r\n fetchReports\r\n} from '../../../../store/actions/reportsAction'\r\n\r\nclass JBSQuarterlyReportComponent extends Component{\r\n constructor(props){\r\n super(props);\r\n this.props.fetchReports('7facc7d1-01fa-466a-9b76-a3c02168f0c0');\r\n this.state = {\r\n reportID: '7facc7d1-01fa-466a-9b76-a3c02168f0c0',\r\n user: this.props.user,\r\n token: {}\r\n }\r\n const {user, reportID} = this.state;\r\n user && this.props.fetchReports({reportID, user});\r\n }\r\n\r\n componentWillReceiveProps(nextProps, prevProps){\r\n if(nextProps.token){\r\n if(nextProps.token !== this.state.token){\r\n this.setState({\r\n token: nextProps.token,\r\n user: nextProps.user\r\n });\r\n \r\n }\r\n }\r\n }\r\n\r\n render(){\r\n const { token, user } = this.state;\r\n const { reportID } = this.state;\r\n return(\r\n
\r\n {token && }\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n token: state.token.token,\r\n user: state.auth.user\r\n})\r\n\r\nexport default connect(mapStateToProps, {\r\n fetchReports\r\n})(JBSQuarterlyReportComponent);","import React, { Component } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport PowerbiEmbedded from \"react-powerbi\";\r\nimport {\r\n fetchReports\r\n} from '../../../../store/actions/reportsAction'\r\n\r\nclass JBSUtilizationIndicatorsComponent extends Component{\r\n constructor(props){\r\n super(props);\r\n this.props.fetchReports('10ba86bb-5051-4221-8edd-3330e4c541a4');\r\n this.state = {\r\n reportID: '10ba86bb-5051-4221-8edd-3330e4c541a4',\r\n user: this.props.user,\r\n token: {}\r\n }\r\n const {user, reportID} = this.state;\r\n user && this.props.fetchReports({reportID, user});\r\n }\r\n\r\n componentWillReceiveProps(nextProps, prevProps){\r\n if(nextProps.token){\r\n if(nextProps.token !== this.state.token){\r\n this.setState({\r\n token: nextProps.token,\r\n user: nextProps.user\r\n });\r\n \r\n }\r\n }\r\n }\r\n\r\n render(){\r\n const { token, user } = this.state;\r\n const { reportID } = this.state;\r\n return(\r\n
\r\n {token && }\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n token: state.token.token,\r\n user: state.auth.user\r\n})\r\n\r\nexport default connect(mapStateToProps, {\r\n fetchReports\r\n})(JBSUtilizationIndicatorsComponent);","import React, { Component } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport PowerbiEmbedded from \"react-powerbi\";\r\nimport {\r\n fetchReports\r\n} from '../../../../store/actions/reportsAction'\r\n\r\nclass JBSClaimsComponent extends Component{\r\n constructor(props){\r\n super(props);\r\n this.props.fetchReports('b44ee1eb-e7bb-417e-99a1-ac5af6c44b0f');\r\n this.state = {\r\n reportID: 'b44ee1eb-e7bb-417e-99a1-ac5af6c44b0f',\r\n user: this.props.user,\r\n token: {}\r\n }\r\n const {user, reportID} = this.state;\r\n user && this.props.fetchReports({reportID, user});\r\n }\r\n\r\n componentWillReceiveProps(nextProps, prevProps){\r\n if(nextProps.token){\r\n if(nextProps.token !== this.state.token){\r\n this.setState({\r\n token: nextProps.token,\r\n user: nextProps.user\r\n });\r\n \r\n }\r\n }\r\n }\r\n\r\n render(){\r\n const { token, user } = this.state;\r\n const { reportID } = this.state;\r\n return(\r\n
\r\n {token && }\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n token: state.token.token,\r\n user: state.auth.user\r\n})\r\n\r\nexport default connect(mapStateToProps, {\r\n fetchReports\r\n})(JBSClaimsComponent);","import React, { Component } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport PowerbiEmbedded from \"react-powerbi\";\r\nimport {\r\n fetchReports\r\n} from '../../../../store/actions/reportsAction'\r\n\r\nclass JBSClaimsLogComponent extends Component{\r\n constructor(props){\r\n super(props);\r\n this.props.fetchReports('120f09b3-fed2-4cd9-9504-ae4331d047ee');\r\n this.state = {\r\n reportID: '120f09b3-fed2-4cd9-9504-ae4331d047ee',\r\n user: this.props.user,\r\n token: {}\r\n }\r\n const {user, reportID} = this.state;\r\n user && this.props.fetchReports({reportID, user});\r\n }\r\n\r\n componentWillReceiveProps(nextProps, prevProps){\r\n if(nextProps.token){\r\n if(nextProps.token !== this.state.token){\r\n this.setState({\r\n token: nextProps.token,\r\n user: nextProps.user\r\n });\r\n \r\n }\r\n }\r\n }\r\n\r\n render(){\r\n const { token, user } = this.state;\r\n const { reportID } = this.state;\r\n return(\r\n
\r\n {token && }\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n token: state.token.token,\r\n user: state.auth.user\r\n})\r\n\r\nexport default connect(mapStateToProps, {\r\n fetchReports\r\n})(JBSClaimsLogComponent);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport PowerbiEmbedded from \"react-powerbi\";\r\nimport {\r\n fetchReports\r\n} from '../../../../store/actions/reportsAction'\r\n\r\nclass POCUtilization extends React.Component{\r\n constructor(props){\r\n super(props);\r\n this.props.fetchReports('cc17295e-d6f6-4a88-badc-ebec3180ffb9');\r\n this.state = {\r\n reportID: 'cc17295e-d6f6-4a88-badc-ebec3180ffb9',\r\n user: this.props.user,\r\n token: {}\r\n }\r\n const {user, reportID} = this.state;\r\n user && this.props.fetchReports({reportID, user});\r\n }\r\n\r\n componentWillReceiveProps(nextProps, prevProps){\r\n if(nextProps.token){\r\n if(nextProps.token !== this.state.token){\r\n this.setState({\r\n token: nextProps.token,\r\n user: nextProps.user\r\n });\r\n \r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const { token, user } = this.state;\r\n const { reportID } = this.state;\r\n return (\r\n
\r\n {token && }\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n token: state.token.token,\r\n user: state.auth.user\r\n})\r\n\r\nexport default connect(mapStateToProps, {\r\n fetchReports\r\n})(POCUtilization);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport PowerbiEmbedded from \"react-powerbi\";\r\nimport {\r\n fetchReports\r\n} from '../../../../store/actions/reportsAction'\r\n\r\nclass POCDemographics extends React.Component{\r\n constructor(props){\r\n super(props);\r\n this.props.fetchReports('a70a2565-ed72-4892-8144-5bf691824be2');\r\n this.state = {\r\n reportID: 'a70a2565-ed72-4892-8144-5bf691824be2',\r\n user: this.props.user,\r\n token: {}\r\n }\r\n const {user, reportID} = this.state;\r\n user && this.props.fetchReports({reportID, user});\r\n }\r\n\r\n componentWillReceiveProps(nextProps, prevProps){\r\n if(nextProps.token){\r\n if(nextProps.token !== this.state.token){\r\n this.setState({\r\n token: nextProps.token,\r\n user: nextProps.user\r\n });\r\n \r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const { token, user } = this.state;\r\n const { reportID } = this.state;\r\n return (\r\n
\r\n {token && }\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n token: state.token.token,\r\n user: state.auth.user\r\n})\r\n\r\nexport default connect(mapStateToProps, {\r\n fetchReports\r\n})(POCDemographics);","import React, { useEffect, useState } from 'react'\r\nimport { useDispatch, useSelector, shallowEqual } from 'react-redux';\r\nimport PowerbiEmbedded from \"react-powerbi\";\r\nimport * as actions from '../../../store/actions/reportsAction';\r\nimport {IconButton, Tooltip } from '@material-ui/core';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\n\r\nexport default function ReportsPages(props){\r\n const [data, setData] = React.useState(props.data)\r\n useEffect(() => {\r\n setData(props.data);\r\n }, [props.data])\r\n const dispatch = useDispatch();\r\n const {user, reportItem, reportFile, embedData } = useSelector((state) => ({\r\n user: state.auth.user,\r\n reportItem: state.reports.reportItem,\r\n reportFile: state.reports.reportFile,\r\n embedData: state.reports.token\r\n }), shallowEqual);\r\n const [reportFileName, setReportFileName] = useState('');\r\n const [exportReportInProgress, setExportReportInProgress] = useState(false);\r\n useEffect(() => {\r\n if(data){\r\n console.log(data);\r\n dispatch(actions.fetchReportByReportId(data.reportId))\r\n }\r\n }, [data,dispatch]);\r\n const [userHasExportPermission, setUserHasExportPermisssion] = useState(false);\r\n useEffect(()=>{\r\n console.log(user, reportItem,data);\r\n if(user && reportItem && data && reportItem.reportID===data.reportId){\r\n const params = {\r\n reportID: reportItem.reportGUID,\r\n userName: user.email\r\n }\r\n dispatch(actions.fetchReports(params));\r\n if(user.vhUser){\r\n setUserHasExportPermisssion(true); \r\n }else{\r\n var currentReportModule = user.modules?.find(m=>m.moduleName===reportItem.name);\r\n if(currentReportModule){\r\n var hasExportPermisssion = !!currentReportModule.permissions.some(p=>p.permissionName === \"Export\");\r\n setUserHasExportPermisssion(hasExportPermisssion); \r\n }else{ \r\n setUserHasExportPermisssion(false); \r\n } \r\n }\r\n }\r\n },[user,reportItem,data, dispatch]);\r\n\r\n useEffect(()=>{\r\n setExportReportInProgress(false);\r\n if(reportFile){\r\n const url = window.URL.createObjectURL(reportFile);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n // link.setAttribute('target',\"_blank\");\r\n link.setAttribute('download', reportFileName);\r\n document.body.appendChild(link); \r\n link.click(); \r\n setTimeout(dispatch(actions.resetReportFile()),100);\r\n }\r\n },[reportFile]);\r\n const downloadPDF = (e)=>{\r\n const params = {\r\n ReportId: reportItem.reportID,\r\n Format: \"PDF\"\r\n };\r\n setReportFileName(`${reportItem.name||'report'}.pdf`);\r\n setExportReportInProgress(true);\r\n dispatch(actions.exportReport(params));\r\n }\r\n // const downloadExcel = (e)=>{\r\n // const params = {\r\n // ReportId: reportItem.reportID,\r\n // Format: \"XLSX\"\r\n // };\r\n // dispatch(actions.exportReport(params));\r\n // }\r\n const downloadPowerPoint = (e)=>{\r\n const params = {\r\n ReportId: reportItem.reportID,\r\n Format: \"PPTX\"\r\n };\r\n setReportFileName(`${reportItem.name||'report'}.pptx`);\r\n setExportReportInProgress(true);\r\n dispatch(actions.exportReport(params));\r\n }\r\n return(<>\r\n {userHasExportPermission &&
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n */}\r\n
}\r\n {exportReportInProgress &&
\r\n Download in Progress\r\n
}\r\n
\r\n {embedData && }\r\n
\r\n )\r\n}","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux'\r\nimport { Redirect, Route, Switch } from \"react-router-dom\";\r\nimport GlobalDashboard from './globalDashboard';\r\nimport Eligibility from './eligibility';\r\nimport ChronicConditions from './chronicConditions';\r\nimport JBSQuarterlyReportComponent from './jbs-quarterly-reports';\r\nimport JBSUtilizationIndicatorsComponent from './jbs-utilization-indicators'\r\nimport JBSClaimsComponent from './jbs-claims'\r\nimport JBSClaimsLogComponent from './jbs-claims-lag'\r\nimport POCUtilizationComponent from './poc-utilization'\r\nimport POCDemographicsComponent from './poc-demographics'\r\nimport ReportsPages from './ReportsPages'\r\n\r\nclass Reports extends Component{ \r\n constructor(props){\r\n super(props)\r\n const modules = props.modules.find(item => item.moduleName === 'Reports')\r\n this.state = {\r\n routers: modules ? modules.subModule : []\r\n }\r\n }\r\n\r\n componentWillReceiveProps(nextProps){\r\n const modules = nextProps && nextProps.modules ? nextProps.modules.find(item => item.moduleName === 'Reports') : []\r\n // console.log('nextProps', modules)\r\n this.setState({\r\n routers: modules.subModule.length > 0 ? modules.subModule : []\r\n })\r\n }\r\n \r\n render(){\r\n const { routers } = this.state\r\n return(\r\n \r\n {\r\n routers && routers.map(\r\n (item, key) => \r\n }\r\n />\r\n )\r\n }\r\n \r\n )\r\n }\r\n}\r\n\r\nconst matStateToProps = (state) => ({\r\n modules: state.modules.data\r\n})\r\n\r\nexport default connect(matStateToProps)(Reports);","import React from \"react\";//, { useEffect }\r\n// import axios from \"axios\";\r\n// import { useDispatch, useSelector } from \"react-redux\";\r\n// import * as actions from \"../../store/actions/tenantAction\";\r\n// import { useLocation } from 'react-router-dom'\r\n// import {\r\n// getTenantAllList\r\n// } from '../../crud/tenant.crud';\r\n\r\n\r\nexport default function TenantInitializer({\r\n children,\r\n params,\r\n}) {\r\n\r\n return ( \r\n <> { children } \r\n )\r\n}","import React, { useState, Fragment } from 'react'\r\nimport {\r\n TableCell,\r\n TableRow,\r\n IconButton,\r\n} from '@material-ui/core';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n// import CreateIcon from '@material-ui/icons/Create'\r\nimport DeleteIcon from '@material-ui/icons/Delete'\r\nimport { useHistory } from 'react-router-dom';//Link,\r\nimport { DeleteConfirmation } from '../../../crud/LayoutUtilsService'\r\n\r\nexport default function TenantItem(props) {\r\n const history = useHistory()\r\n const classes = useStyles();\r\n const [item, setItem] = useState(props.item);\r\n React.useEffect(() => {\r\n setItem(props.item)\r\n }, [props.item])\r\n const [index, setIndex] = useState(props.index)\r\n const [deleteItem, setDelete] = useState(false);\r\n const onOpenEditPage = (tenant) => {\r\n history.push(`/tenant/${tenant.tenantID}/edit`)\r\n }\r\n const deleteConfirm = () => {\r\n setDelete(true)\r\n }\r\n \r\n const deteteClose = (rowIndex, action) => {\r\n if (action === 'delete') {\r\n const loader = document.getElementById('splash-screen');\r\n loader.classList.remove('hidden')\r\n props.onDelete(item);\r\n setTimeout(() => {\r\n loader.classList.add('hidden')\r\n setDelete(false);\r\n }, 2000);\r\n } else if (action === 'close') {\r\n setTimeout(() => {\r\n setDelete(false);\r\n }, 500)\r\n }\r\n }\r\n return ( \r\n \r\n { item.tenantID } \r\n \r\n onOpenEditPage(item)} style={{color: '#0095ff'}}>\r\n {item.tenantName}\r\n \r\n \r\n { item.subscriptionName } \r\n { item.domain } \r\n \r\n \r\n \r\n \r\n {deleteItem &&\r\n \r\n } \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n padding: 0\r\n },\r\n filterButton: {\r\n marginTop: 20\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n cell: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n width: 35,\r\n minWidth: 35,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n formControl: {\r\n margin: '0 15px 0px 0px',\r\n minWidth: 180,\r\n maxWidth: '100%',\r\n },\r\n margin: {\r\n margin: '0 15px 0px 0px',\r\n },\r\n inputLabel: {\r\n top: 12,\r\n left: 10\r\n },\r\n InputBase: {\r\n root: {\r\n marginTop: 0\r\n }\r\n }\r\n});\r\n","import React, { useState, useEffect } from 'react';\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../store/actions/tenantAction\";\r\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport {\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableRow,\r\n TablePagination\r\n} from '@material-ui/core';\r\nimport { EnhancedTableHead } from '../../crud/SortGrid';\r\nimport TenantItem from './tenant-item/TenantItem';\r\nimport Toast from '../../crud/Toast';\r\n\r\nexport default function Tenants(props) {\r\n const dispatch = useDispatch();\r\n const { currentState, tenentSuccess, tenantMassage, error } = useSelector(\r\n (state) => ({ \r\n currentState: state.tenant.data,\r\n tenentSuccess: state.tenant.success,\r\n tenantMassage: state.tenant.message,\r\n error: state.tenant.error\r\n }),\r\n shallowEqual\r\n );\r\n const [params, setParams] = useState({\r\n \"sortField\": \"tenantName\",\r\n \"sortDirection\": \"asc\",\r\n \"pageSize\": 10,\r\n \"pageNumber\": 1,\r\n \"searchText\": \"\"\r\n }); \r\n \r\n const loader = document.getElementById('splash-screen');\r\n useEffect(() => { \r\n loader.classList.remove('hidden')\r\n dispatch(actions.getAllTenant(params));\r\n setTimeout(() => {\r\n loader.classList.add('hidden') \r\n }, 2000)\r\n }, [dispatch, params]);\r\n\r\n const [page, setPage] = React.useState(0);\r\n const [rowsPerPage, setRowsPerPage] = React.useState(10); \r\n\r\n const handleChangePage = (event, value) => {\r\n setAllItemRows([])\r\n const pageNumber = value + 1\r\n setPage(value)\r\n setParams({...params, pageNumber})\r\n };\r\n \r\n const handleChangeRowsPerPage = (event) => {\r\n setRowsPerPage(parseInt(event.target.value));\r\n setAllItemRows([]);\r\n const pageSize= event.target.value;\r\n setParams({...params, pageSize});\r\n };\r\n const [order, setOrder] = useState('asc');\r\n const [orderBy, setOrderBy] = useState('tenantName');\r\n useEffect(()=>{\r\n if(orderBy.length > 0){\r\n setParams(prev=>({...prev, sortField: orderBy,sortDirection: order}));\r\n // console.log(\"handleRequestSort\", order, orderBy);\r\n } \r\n },[order, orderBy]);\r\n const handleRequestSort = (event, property) => {\r\n if (orderBy === '') {\r\n setOrder('desc');\r\n setOrderBy(property);\r\n } else {\r\n const isAsc = orderBy === property && order === 'asc';\r\n setOrder(isAsc ? 'desc' : 'asc');\r\n setOrderBy(property);\r\n }\r\n };\r\n let [allItemRows, setAllItemRows] = useState([])\r\n const [isLoading, setIsLoading] = useState(false)\r\n const [count, setCount] = useState(0);\r\n const classes = useStyles();\r\n const [level, setLevel] = React.useState('')\r\n const [message, setMessage] = React.useState('')\r\n const [toastVisible, setToastVisible] = React.useState(false)\r\n const [items, setItems] = useState([])\r\n\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const handlePageChange = pageNumber => { setCurrentPage(pageNumber) }\r\n\r\n\r\n useEffect(() => {\r\n if(tenentSuccess){\r\n setLevel('success')\r\n setMessage(tenantMassage)\r\n setToastVisible(tenentSuccess)\r\n loader.classList.add('hidden');\r\n //dispatch(actions.getAllTenant(params));\r\n setTimeout(() => {\r\n dispatch(actions.getAllTenant(params))\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 1)\r\n }else { \r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }\r\n }, [tenentSuccess, tenantMassage, dispatch]);\r\n useEffect(() => {\r\n if(error){\r\n setLevel('danger')\r\n setMessage(error)\r\n setToastVisible(true)\r\n loader.classList.add('hidden')\r\n setTimeout(() => {\r\n dispatch(actions.reset())\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 3000)\r\n }\r\n }, [error]);\r\n useEffect(() => {\r\n setItems(currentState && currentState.items ? currentState.items : []);\r\n }, [currentState])\r\n useEffect(()=>{\r\n setParams(prev=>({...prev, searchText: props.searchText}));\r\n }, [props.searchText]);\r\n\r\n\r\n\r\n const onDelete = (item) => {\r\n if(item.tenantID){\r\n dispatch(actions.deleteTenantRequest(item.tenantID));\r\n loader.classList.remove('hidden');\r\n setTimeout(()=>dispatch(actions.getAllTenant(params)),3000);\r\n }\r\n }\r\n \r\n const pageNumbers = [];\r\n if(currentState && currentState.totalItems){\r\n for (let i = 1; i <= Math.ceil(currentState.totalItems / params.pageSize); i++) {\r\n pageNumbers.push(i);\r\n }\r\n }\r\n useEffect(() => {\r\n setCount(Math.ceil(currentState && currentState.totalItems / params.pageSize));\r\n }, [pageNumbers])\r\n const emptyRows = currentState && rowsPerPage - Math.min(rowsPerPage, currentState.length - page * rowsPerPage);\r\n currentState && currentState.items.forEach((item, i) => {\r\n const perItemRows = ;\r\n allItemRows = allItemRows.concat(perItemRows);\r\n });\r\n\r\n var isIE = /*@cc_on!@*/false || !!document.documentMode;\r\n const [ieBrowser, setIeBrowser] = useState(isIE ? true : false);\r\n return ( <>\r\n {/* */}\r\n \r\n \r\n \r\n {allItemRows}\r\n {emptyRows > 0 && (\r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n {/*
*/}\r\n \r\n \r\n )\r\n}\r\n\r\nconst headCells = [\r\n { id: 'tenantID', numeric: false, disablePadding: false, align: 'left', label: 'ID' },\r\n { id: 'tenantName', numeric: false, disablePadding: false, align: 'left', label: 'Tenant Name ' },\r\n { id: 'subscriptionName', numeric: false, disablePadding: false, align: 'left', label: 'Subscription Type' },\r\n { id: 'domain', numeric: false, disablePadding: false, align: 'left', label: 'Domain' },\r\n { id: 'actions', numeric: false, disablePadding: false, align: 'right', label: 'Actions' },\r\n];\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n },\r\n filterButton: {\r\n marginTop: 20\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n cell: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n width: 35,\r\n minWidth: 35,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n formControl: {\r\n margin: '0 15px 0px 0px',\r\n minWidth: 180,\r\n maxWidth: '100%',\r\n },\r\n margin: {\r\n margin: '0 15px 0px 0px',\r\n },\r\n inputLabel: {\r\n //zIndex: 3,\r\n top: 12,\r\n left: 10\r\n },\r\n InputBase: {\r\n root: {\r\n marginTop: 0\r\n }\r\n }\r\n})\r\n","import React,{ useState } from 'react';//, useEffect\r\nimport {\r\n Paper,\r\n Button,\r\n FormControl,\r\n InputBase\r\n} from '@material-ui/core';// InputLabel,\r\nimport { useDispatch } from \"react-redux\";//, shallowEqual, useSelector\r\nimport { useHistory } from 'react-router-dom';// Link,\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport {\r\n Portlet,\r\n PortletBody,\r\n PortletHeader,\r\n PortletHeaderToolbar,\r\n PortletHeaderTitle\r\n} from \"../../partials/content/Portlet\";\r\nimport TenantInitializer from './TenantInitializer';\r\nimport SVG from \"react-inlinesvg\";\r\n// import * as actions from \"../../store/actions/tenantAction\";\r\nimport TenantsPage from './TenantsPage';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\r\n\r\nconst toAbsoluteUrl = pathname => process.env.PUBLIC_URL + pathname;\r\n\r\nconst BootstrapInput = withStyles((theme) => ({\r\n root: {\r\n 'label + &': {\r\n marginTop: theme.spacing(3),\r\n },\r\n },\r\n input: {\r\n borderRadius: 4,\r\n position: 'relative',\r\n backgroundColor: 'transparent',\r\n border: '1px solid #ced4da',\r\n fontSize: 10,\r\n padding: '10px 26px 10px 12px',\r\n transition: theme.transitions.create(['border-color', 'box-shadow']),\r\n // Use the system font instead of the default Roboto font.\r\n fontFamily: [\r\n '-apple-system',\r\n 'BlinkMacSystemFont',\r\n '\"Segoe UI\"',\r\n 'Roboto',\r\n '\"Helvetica Neue\"',\r\n 'Arial',\r\n 'sans-serif',\r\n '\"Apple Color Emoji\"',\r\n '\"Segoe UI Emoji\"',\r\n '\"Segoe UI Symbol\"',\r\n ].join(','),\r\n '&:focus': {\r\n borderRadius: 4,\r\n borderColor: '#80bdff',\r\n boxShadow: '0 0 0 0.2rem rgba(0,123,255,.25)',\r\n },\r\n },\r\n}))(InputBase);\r\n\r\n\r\nexport default function TenantBase() {\r\n const history = useHistory();\r\n // const loader = document.getElementById('splash-screen');\r\n // const dispatch = useDispatch();\r\n const classes = useStyles();\r\n const [value, setValue] = useState('');\r\n const [searchText, setSearchText] = useState(\"\");\r\n const [isLoading, setIsLoading] = useState(false);\r\n const searchValue = (e) => {\r\n setValue(e.target.value);\r\n }\r\n const onOpenAddPage = () => {\r\n history.push(`/tenant/add`)\r\n }\r\n const clearSearch = ()=>{\r\n setValue(\"\");\r\n setSearchText(\"\");\r\n }\r\n const onKeyUp = (e)=>{\r\n if (e.key === 'Enter') {\r\n e.preventDefault();\r\n getSearchResult();\r\n }\r\n }\r\n const getSearchResult = () => {\r\n setSearchText(value);\r\n setIsLoading(true);\r\n }\r\n return(\r\n \r\n \r\n \r\n \r\n \r\n Tenant\r\n \r\n }\r\n toolbar={\r\n \r\n \r\n \r\n }\r\n headerClassName={classes.portletHead}\r\n />\r\n \r\n \r\n
\r\n \r\n
\r\n searchValue(e)} onKeyUp={onKeyUp} value={value} id=\"bootstrap-input\" placeholder=\"Search\" className={classes.textField} />\r\n \r\n \r\n GO\r\n \r\n \r\n {value.length>0 && }\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n },\r\n textField:{\r\n\r\n },\r\n filterButton: {\r\n marginTop: 20\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n cell: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n width: 35,\r\n minWidth: 35,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n formControl: {\r\n margin: '0 15px 0px 0px',\r\n minWidth: 180,\r\n maxWidth: '100%',\r\n },\r\n margin: {\r\n margin: '0 15px 0px 0px',\r\n },\r\n inputLabel: {\r\n //zIndex: 3,\r\n top: 12,\r\n left: 10\r\n },\r\n InputBase: {\r\n root: {\r\n marginTop: 0\r\n }\r\n }\r\n})\r\n","import React from 'react';//, { useEffect, useState }\r\nimport { ThemeProvider, createMuiTheme } from '@material-ui/core/styles';// withStyles,\r\nimport TenantBase from './TenantBase'\r\n\r\nexport default function Tenant() {\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst theme = createMuiTheme({\r\n overrides: {\r\n MuiExpansionPanelSummary: {\r\n content: {\r\n padding: 0,\r\n margin: '0px !important'\r\n }\r\n },\r\n MuiPagination: {\r\n root: {\r\n marginTop: 10,\r\n alignItems: 'center'\r\n },\r\n ul: {\r\n marginTop: 10,\r\n alignItems: 'center'\r\n }\r\n },\r\n MuiButtonBase: {\r\n root: {\r\n minHeight: '25px !important',\r\n lineHeight: '1.2 !important'\r\n },\r\n expandIcon: {\r\n padding: 5\r\n },\r\n },\r\n MuiButton: {\r\n text: {\r\n color: '#333333',\r\n },\r\n containedPrimary: {\r\n backgroundColor: '#0078d4',\r\n '&:hover': {\r\n backgroundColor: '#0078d4',\r\n }\r\n }\r\n },\r\n MuiExpansionPanelDetails: {\r\n root: {\r\n padding: '0px !important',\r\n backgroundColor: 'rgba(0, 0, 0, 0.0) !important'\r\n }\r\n },\r\n MuiTableCell: {\r\n root: {\r\n padding: 5,\r\n fontSize: '1rem'\r\n },\r\n head: {\r\n lineHeight: '2.5rem'\r\n },\r\n sizeSmall: {\r\n padding: 5,\r\n },\r\n stickyHeader: {\r\n backgroundColor: '#ffffff'\r\n }\r\n },\r\n MuiFormControl: {\r\n root: {\r\n width: 'auto'\r\n }\r\n },\r\n MuiFormControlLabel: {\r\n root: {\r\n marginBottom: 0,\r\n marginLeft: 0\r\n }\r\n },\r\n MuiList: {\r\n padding: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n }\r\n },\r\n MuiListItem: {\r\n root: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n }\r\n },\r\n MuiTooltip: {\r\n tooltip: {\r\n fontSize: 14\r\n }\r\n },\r\n MuiInputLabel: {\r\n formControl: {\r\n transform: 'translate(0, 7px) scale(1)'\r\n },\r\n shrink: {\r\n transform: 'translate(0, 31px) scale(0.75)'\r\n }\r\n },\r\n MuiInput: {\r\n formControl: {\r\n marginTop: '0 !important'\r\n }\r\n }\r\n },\r\n});\r\n\r\n// const useStyles = theme => ({\r\n// progressBar: {\r\n// top: 31,\r\n// right: 0,\r\n// bottom: 0,\r\n// left: 0,\r\n// position: 'absolute',\r\n// background: 'rgba(0, 0, 0, 0.1)',\r\n// display: 'flex',\r\n// alignItems: 'center',\r\n// justifyContent: 'center',\r\n// zIndex: 99999\r\n// }\r\n// });","import * as Yup from \"yup\";\r\n// import {DoesDomainExists} from '../../../../crud/tenant.crud';\r\nconst FormValidationsAdd = Yup.object().shape({\r\n tenantName: Yup.string()\r\n .required(\"Tenant Name is required\")\r\n .matches(/^[aA-zZ\\s]+$/, \"Only alphabets are allowed for this field \"),\r\n emailDomain: Yup.string()\r\n .required(\"Email Domain Name is required\")\r\n .matches(/^(([a-zA-Z]{1})|([a-zA-Z]{1}[a-zA-Z]{1})|([a-zA-Z]{1}[0-9]{1})|([0-9]{1}[a-zA-Z]{1})|([a-zA-Z0-9][a-zA-Z0-9-_]{1,61}[a-zA-Z0-9]))\\.([a-zA-Z]{2,6}|[a-zA-Z0-9-]{2,30}\\.[a-zA-Z]{2,3})$/, \"Valid domain name allowed\"),\r\n subscriptionID: Yup.string()\r\n .required(\"subscriptionID is required\"),\r\n // domain: Yup.string()\r\n // .test(\r\n // 'does-domain-exists',\r\n // 'domain already exists',\r\n // async (value, testContext) => {\r\n // var response = await fetch('http://localhost:5001/api/tenant/DoesDomainExists/' + value + '/0').result;\r\n // console.log(response);\r\n // return response;\r\n // }\r\n // // {\r\n // // // var response = (await DoesDomainExists(value,0));\r\n // // // console.log(response.data.result);\r\n // // return true;\r\n // // }\r\n // ),\r\n allowAccount: Yup.number()\r\n .required(\"allowAccount is required\"),\r\n superFirstName: Yup.string()\r\n .required(\"First Name is required\")\r\n .matches(/^[aA-zZ\\s]+$/, \"Only alphabets are allowed for this field \"),\r\n superLastName: Yup.string()\r\n .required(\"Last Name is required\")\r\n .matches(/^[aA-zZ\\s]+$/, \"Only alphabets are allowed for this field \"),\r\n superPhoneNo: Yup.string().length(10,\"Should have exactly 10 digits\")\r\n .matches(/(?:\\d{1}\\s)?\\(?(\\d{3})\\)?-?\\s?(\\d{3})-?\\s?(\\d{4})/, {\r\n message: \"Please provide a valid Phone Number.\",\r\n excludeEmptyString: false,\r\n })\r\n .required(\"Phone No. is required\"),\r\n superEmail: Yup.string()\r\n .email('Invalid email')\r\n .required(\"Email is required\")\r\n .test('ends-email-domain','email must ends with email-doamin', function (value) {\r\n console.log(value);\r\n console.log(this.parent.emailDomain);\r\n if(value && this.parent.emailDomain){\r\n return value.endsWith(this.parent.emailDomain); \r\n } \r\n return true; \r\n }),\r\n sponsarFirstName: Yup.string()\r\n .required(\"First Name is required\")\r\n .matches(/^[aA-zZ\\s]+$/, \"Only alphabets are allowed for this field \"),\r\n sponsarLastName: Yup.string()\r\n .required(\"Last Name is required\")\r\n .matches(/^[aA-zZ\\s]+$/, \"Only alphabets are allowed for this field \"),\r\n sponsarPhoneNo: Yup.string().length(10,\"Should have exactly 10 digits\")\r\n .matches(/(?:\\d{1}\\s)?\\(?(\\d{3})\\)?-?\\s?(\\d{3})-?\\s?(\\d{4})/, {\r\n message: \"Please provide a valid Phone Number.\",\r\n excludeEmptyString: false,\r\n })\r\n .required(\"Phone No. is required\"),\r\n sponsarEmail: Yup.string()\r\n .email('Invalid email')\r\n .required(\"Email is required\")\r\n .test('ends-email-domain','email must ends with email-doamin', function (value) {\r\n console.log(value);\r\n console.log(this.parent.emailDomain);\r\n if(value && this.parent.emailDomain){\r\n return value.endsWith(this.parent.emailDomain); \r\n } \r\n return true; \r\n }),\r\n businessName: Yup.string()\r\n .required(\"businessName is required\")\r\n .matches(/^[aA-zZ\\s]+$/, \"Only alphabets are allowed for this field \"),\r\n billingEmail: Yup.string()\r\n .email('Invalid email')\r\n .required(\"billingEmail is required\"),\r\n address1: Yup.string()\r\n .required(\"address1 is required\"),\r\n taxID: Yup.string()\r\n .required(\"taxID is required\"),\r\n tenantIndustryID: Yup.number()\r\n .required(\"tenantIndustryID is required\"),\r\n tenantIndustryLevelID: Yup.number()\r\n .required(\"tenantIndustryLevelID is required\"),\r\n // levelSubTypeID: Yup.number()\r\n // .required(\"levelSubTypeID is required\"),\r\n countryID: Yup.number()\r\n .required(\"countryID is required\"),\r\n // stateID: Yup.number()\r\n // .required(\"stateID is required\"),\r\n city: Yup.string()\r\n .required(\"City is required\"),\r\n zipCode: Yup.string()\r\n .matches(/^[0-9]*$/)\r\n .required(\"zipCode is required\"),\r\n});\r\n\r\nconst FormValidationsEdit = Yup.object().shape({\r\n tenantName: Yup.string()\r\n .required(\"Tenant Name is required\")\r\n .matches(/^[aA-zZ\\s]+$/, \"Only alphabets are allowed for this field \"),\r\n subscriptionID: Yup.string()\r\n .required(\"subscriptionID is required\"),\r\n allowAccount: Yup.number()\r\n .required(\"allowAccount is required\"),\r\n // superFirstName: Yup.string()\r\n // .required(\"First Name is required\")\r\n // .matches(/^[aA-zZ\\s]+$/, \"Only alphabets are allowed for this field \"),\r\n // superLastName: Yup.string()\r\n // .required(\"Last Name is required\")\r\n // .matches(/^[aA-zZ\\s]+$/, \"Only alphabets are allowed for this field \"),\r\n // superPhoneNo: Yup.string()\r\n // .required(\"Phone No. is required\"),\r\n // superEmail: Yup.string()\r\n // .email('Invalid email')\r\n // .required(\"Email is required\"),\r\n // sponsarFirstName: Yup.string()\r\n // .required(\"First Name is required\")\r\n // .matches(/^[aA-zZ\\s]+$/, \"Only alphabets are allowed for this field \"),\r\n // sponsarLastName: Yup.string()\r\n // .required(\"Last Name is required\")\r\n // .matches(/^[aA-zZ\\s]+$/, \"Only alphabets are allowed for this field \"),\r\n // sponsarPhoneNo: Yup.string()\r\n // .required(\"Phone No. is required\"),\r\n // sponsarEmail: Yup.string()\r\n // .email('Invalid email')\r\n // .required(\"Email is required\"),\r\n businessName: Yup.string()\r\n .required(\"businessName is required\")\r\n .matches(/^[aA-zZ\\s]+$/, \"Only alphabets are allowed for this field \"),\r\n billingEmail: Yup.string()\r\n .email('Invalid email')\r\n .required(\"billingEmail is required\"),\r\n address1: Yup.string()\r\n .required(\"address1 is required\"),\r\n taxID: Yup.string()\r\n .required(\"taxID is required\"),\r\n tenantIndustryID: Yup.number()\r\n .required(\"tenantIndustryID is required\"),\r\n tenantIndustryLevelID: Yup.number()\r\n .required(\"tenantIndustryLevelID is required\"),\r\n // levelSubTypeID: Yup.number()\r\n // .required(\"levelSubTypeID is required\"),\r\n countryID: Yup.number()\r\n .required(\"countryID is required\"),\r\n // stateID: Yup.number()\r\n // .required(\"stateID is required\"),\r\n city: Yup.string()\r\n .required(\"City is required\"),\r\n zipCode: Yup.string()\r\n .matches(/^[0-9]*$/)\r\n .required(\"zipCode is required\"),\r\n});\r\n\r\nexport {\r\n FormValidationsAdd,\r\n FormValidationsEdit\r\n}","import React, { useState, useEffect, useMemo, Fragment} from 'react';// , useRef \r\nimport { useDispatch, useSelector, shallowEqual } from 'react-redux'\r\nimport { Formik, Form, Field, ErrorMessage } from \"formik\";\r\nimport Dropzone from \"react-dropzone\";\r\nimport Button from '@material-ui/core/Button'\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { Input, InputGroups, Select } from \"../../../../partials/controls\";//, Checkbox\r\nimport * as actions from '../../../../store/actions/tenantAction'\r\nimport * as manageUserActions from '../../../../store/actions/manageUserAction'\r\n//import SelectChange from './SelectChanges';\r\nimport Toast from '../../../../crud/Toast'\r\nimport { FormValidationsAdd, FormValidationsEdit } from './FormValidations';\r\nimport {DoesDomainExists} from '../../../../crud/tenant.crud'\r\n\r\nexport default function BasicCustomerInForm(props) {\r\n const dispatch = useDispatch();\r\n\r\n const { currentUsers}=useSelector((state)=>({\r\n currentUsers: state.manageUser.users,\r\n }), shallowEqual);\r\n\r\n const { item, match, saveInformation, industry,\r\n country, backToTenantList, subscriptions, states,\r\n } = props;\r\n const addUrl = '/tenant/add'\r\n const [toastVisible, setToastVisible] = useState(false);\r\n const [message, setMessage] = useState('');\r\n const [toastLevel, setToastLevel] = useState('');\r\n const classes = useStyles();\r\n const [dataSource, setItems] = useState(item)\r\n const fakeUrl = 'iVBORw0KGgoAAAANSUhEUgAAAG4AAABuCAIAAABJObGsAAAACXBIWXMAAC4jAAAuIwF4pT92AAAGXGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIxLTAzLTE3VDE0OjI3OjI3KzA1OjMwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIxLTAzLTE3VDE0OjI3OjI3KzA1OjMwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMS0wMy0xN1QxNDoyNzoyNyswNTozMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyMzg1MTQxMC00OTY3LWEwNGUtYmQ2OC1kNWM5N2FkNmI2ZjIiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpiOTVhMGYxNS04N2Q4LTYzNGQtOGUyYi04YjBjZjAyYmUxMTgiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyZTM5MDQxZC0xM2QwLWJjNDktYTBlZi1mMWU0MmFjOTM3ZjgiIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDoyZTM5MDQxZC0xM2QwLWJjNDktYTBlZi1mMWU0MmFjOTM3ZjgiIHN0RXZ0OndoZW49IjIwMjEtMDMtMTdUMTQ6Mjc6MjcrMDU6MzAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4yIChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjM4NTE0MTAtNDk2Ny1hMDRlLWJkNjgtZDVjOTdhZDZiNmYyIiBzdEV2dDp3aGVuPSIyMDIxLTAzLTE3VDE0OjI3OjI3KzA1OjMwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDxwaG90b3Nob3A6VGV4dExheWVycz4gPHJkZjpCYWc+IDxyZGY6bGkgcGhvdG9zaG9wOkxheWVyTmFtZT0iVVBMT0FEICBMT0dPIiBwaG90b3Nob3A6TGF5ZXJUZXh0PSJVUExPQUQgIExPR08iLz4gPC9yZGY6QmFnPiA8L3Bob3Rvc2hvcDpUZXh0TGF5ZXJzPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pt3NRrEAAAZdSURBVHic7Z1tTFNXGIBfvAItF/ohzS3FBTqYIBBXcSZGHJGhA1lCXIwKGpItgY0luGXBX2r0h8tGZoLRBJOxQYyJmeASM+MywGxKwtAs2dS6CANdV5zKeoO2hV5aaK53P46UUkok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'\r\n const [fileUrl, setFileUrl] = useState(item.logoImage);\r\n const [countryItems, setcountryItems] = useState(country);\r\n const [statesItem, setStates] = useState(states);\r\n useEffect(()=>{\r\n console.log(\"id changed\", match.params?.id);\r\n if(match.params?.id){\r\n dispatch(manageUserActions.getManageUserTenantId({\r\n params: {\r\n \"sortField\":\"\",\r\n \"sortDirection\":\"\",\r\n \"pageSize\":10,\r\n \"pageNumber\":1,\r\n \"searchText\":\"\"\r\n },\r\n id: match.params.id}));\r\n }else{\r\n dispatch(manageUserActions.resetData());\r\n }\r\n dispatch(actions.setActiveStep(0));\r\n },[dispatch, match.params.id]);\r\n useEffect(() => {\r\n setcountryItems(country)\r\n }, [country])\r\n useEffect(() => {\r\n setFileUrl(item.logoImage ? item.logoImage : fakeUrl);\r\n }, [item.logoImage])\r\n useEffect(() => {\r\n setStates(states)\r\n }, [states])\r\n const items = useMemo(() => {\r\n if(item?.domain){\r\n const editItem = {...item, domain: item.domain.split(\".\")[0]}; \r\n return {\r\n dataSource: editItem,\r\n setItems\r\n };\r\n }else{\r\n return {\r\n dataSource: item,\r\n setItems\r\n };\r\n }\r\n }, [item]);\r\n const [fileNames, setFileNames] = useState([]);\r\n const handleDrop = (acceptedFiles, field, values, setValues) => {\r\n setFileNames(acceptedFiles.map((file) => (file.name)));\r\n let file = acceptedFiles[0];\r\n if (file['type'] === 'image/jpeg' || file['type'] === 'image/png') {\r\n fileFind(file);\r\n }\r\n }\r\n // const [isAddMode, setIsAddMode] = useState(false);\r\n const fileFind = (file) => {\r\n let reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n let temp = reader.result;\r\n setFileUrl(temp.split(',')[1])\r\n };\r\n reader.onerror = function (error) {\r\n alert(\"Error : \" + JSON.stringify(error));\r\n };\r\n }\r\n const leveldata = industry && industry.find(value => value.tenantIndustryID === item.tenantIndustryID);\r\n const [level, setLevel] = useState(leveldata ? leveldata.tenantIndustryLevels : []);\r\n const setSubdata = leveldata && leveldata.tenantIndustryLevels && leveldata.tenantIndustryLevels.find(value => value.tenantIndustryLevelsID === item.tenantIndustryLevelID);\r\n const [subLevel, setSubLevel] = useState(setSubdata && setSubdata['levelSubType']);\r\n const [subscriptionName, setSubscriptionName] = useState(item.subscriptionType);\r\n\r\n function hendleCountry(e, field, values, setValues) {\r\n const countryID = parseInt(e.target.value);\r\n setValues({ ...values, countryID });\r\n items.setItems({ ...items.dataSource, countryID });\r\n dispatch(actions.getState(countryID))\r\n field.onChange(e);\r\n }\r\n\r\n function hendleIndustry(e, field, values, setValues) {\r\n const tenantIndustryID = parseInt(e.target.value);\r\n const leveldatas = industry && industry.find(value => value.tenantIndustryID === tenantIndustryID);\r\n setLevel(leveldatas ? leveldatas.tenantIndustryLevels ? leveldatas.tenantIndustryLevels : [] : []);\r\n items.setItems({ ...items.dataSource, tenantIndustryID });\r\n field.onChange(e);\r\n }\r\n\r\n function hendleLevels(e, field, values, setValues) {\r\n const tenantIndustryLevelID = parseInt(e.target.value);\r\n const leveldataaa = level && level.find(value => value.tenantIndustryLevelsID === tenantIndustryLevelID);\r\n setSubLevel(leveldataaa ? leveldataaa.levelSubType ? leveldataaa.levelSubType : [] : []);\r\n items.setItems({ ...items.dataSource, tenantIndustryLevelID });\r\n field.onChange(e);\r\n }\r\n // const [allowAccount, setAllowAccount] = useState(5);\r\n // const [selfServiceBI, setSelfServiceBI] = useState(false);\r\n const [showLogo, setShowLogo] = useState(false);\r\n function hendleSubcription(e, field, value, values, setValues, setFieldValue) {\r\n const subscriptionID = parseInt(e.target.value)\r\n setSubscriptionName(value.subscriptionName);\r\n const domain = value.subscriptionName === 'Premium' ? values.domain : 'xxxx';\r\n \r\n // setAllowAccount(value.allowAccount);\r\n setFieldValue('allowAccount', value.allowAccount);\r\n setFieldValue('selfServiceBIPurchased', value.selfServiceBI);\r\n // setSelfServiceBI(value.selfServiceBI);\r\n \r\n setShowLogo(value.showLogo);\r\n if(!value.showLogo){\r\n setFileUrl(null);\r\n }else{\r\n setFileUrl(item?.logoImage||fakeUrl);\r\n }\r\n items.setItems({\r\n ...items.dataSource,\r\n subscriptionID,\r\n domain\r\n });\r\n field.onChange(e);\r\n }\r\n const handleResetLogo = (e)=>{\r\n setFileUrl(null);\r\n }\r\n const handleEmailDomainChanged = async (e,values,setValues)=>{\r\n var emailDomain = values.emailDomain;\r\n var superEmail = \"email@\"+ emailDomain\r\n setValues({...values, 'superEmail':superEmail,'sponsarEmail':superEmail});\r\n items.setItems({...items.dataSource, 'superEmail':superEmail,'sponsarEmail':superEmail});\r\n }\r\n const handleDomainChanged = async (e, values, setErrors, errors)=>{\r\n console.log(e, values, setErrors, errors);\r\n var domainName = values.domain;\r\n if(parseInt(values.subscriptionID) === 1)\r\n {\r\n setToastVisible(false);\r\n console.log(parseInt(values.subscriptionID) === 1);\r\n return;\r\n }\r\n var existsResponse = await DoesDomainExists(domainName, values.tenantID||0); \r\n console.log(existsResponse);\r\n if(existsResponse.data.result === true){\r\n setErrors({...errors, 'domain': 'domain already exists please choose another domain.'});\r\n setMessage('domain already exists please choose another domain.');\r\n setToastLevel('danger');\r\n setToastVisible(true);\r\n }else{\r\n setToastVisible(false);\r\n } \r\n }\r\n // function handlePhoneNumberChange(e, field, values, setErrors){\r\n // var value = values[field.name];\r\n // // if(!value || value.length !== 10){\r\n // // setErrors({[field.name]: \"Phone Number should be exactly 10 digits.\"});\r\n // // }\r\n // console.log(value);\r\n // field.onBlur(e);\r\n // }\r\n function handleAllowAccountChange(e, field, values, setErrors){ \r\n console.log(currentUsers, values.allowAccount,match.params?.id);\r\n if(match.params?.id && currentUsers && values.allowAccount < currentUsers.totalItems){\r\n setErrors({allowAccount: 'Please delete the Users from ‘Manage Users Page’ to reflect the number of Users you want to reduce to'}); \r\n }\r\n field.onBlur(e);\r\n }\r\n useEffect(()=>{\r\n var subscription = subscriptions.items?.find(s=>s.subscriptionID === parseInt(item.subscriptionID));\r\n if(subscription){ \r\n setShowLogo(subscription.showLogo);\r\n if(!subscription.showLogo){\r\n setFileUrl(null);\r\n }\r\n } \r\n },[item.subscriptionID, subscriptions]);\r\n\r\n function hendlePurchased(e, field, values, setValues) {\r\n const selfServiceBIPurchased = Boolean(e.target.value);\r\n // setSelfServiceBI(prev=>!prev);\r\n items.setItems({ ...items.dataSource, selfServiceBIPurchased });\r\n field.onChange(e);\r\n }\r\n\r\n function hendleImages(e, field, values, setValues) {\r\n const file = e.target.files[0]\r\n fileFind(file)\r\n setValues({ ...items.dataSource, fileUrl });\r\n }\r\n\r\n const onSubmitHeandle = async (values,{setErrors}) => {\r\n console.log(\"in onSubmitHeandle\", values, currentUsers);\r\n if(parseInt(values.subscriptionID) !== 1){\r\n var domainName = values.domain;\r\n var existsResponse = await DoesDomainExists(domainName, values.tenantID ||0); \r\n console.log(existsResponse);\r\n if( existsResponse.data.result === true){\r\n setErrors({'domain': 'domain already exists please choose another domain.'});\r\n setMessage('domain already exists please choose another domain.');\r\n setToastLevel('danger');\r\n setToastVisible(true); \r\n return; \r\n }\r\n }\r\n if(match.params?.id && currentUsers && values.allowAccount < currentUsers.totalItems){ \r\n setErrors({allowAccount: 'Please delete the Users from ‘Manage Users Page’ to reflect the number of Users you want to reduce to'});\r\n // setMessage('Please delete the Users from ‘Manage Users Page’ to reflect the number of Users you want to reduce to');\r\n // setToastLevel('danger');\r\n // setToastVisible(true);\r\n }else if (!values.countryID) { \r\n setErrors({countryID: 'Please select country...'});\r\n setMessage('Please select country...');\r\n setToastLevel('danger');\r\n setToastVisible(true);\r\n } else if (!values.tenantIndustryID) { \r\n setErrors({tenantIndustryID: 'Please select Tenant Industry...'});\r\n setMessage('Please select Tenant Industry...');\r\n setToastLevel('danger');\r\n setToastVisible(true);\r\n } else if (!values.tenantIndustryLevelID) { \r\n setErrors({tenantIndustryLevelID: 'Please select Tenant Industry Level...'});\r\n setMessage('Please select Tenant Industry Level...');\r\n setToastLevel('danger');\r\n setToastVisible(true);\r\n } else {\r\n if(fileUrl === fakeUrl){ \r\n setFileUrl(null);\r\n saveInformation(values);\r\n }else{\r\n saveInformation(values, fileUrl);\r\n }\r\n }\r\n // // Commented to make it non required field while submitting\r\n // else if(!values.levelSubTypeID) {\r\n // setMessage('Please select Level Type...');\r\n // setToastVisible(true)\r\n // }\r\n };\r\n\r\n return (\r\n <>\r\n {items.dataSource && {\r\n console.log('in formik onSubmit',values);\r\n await onSubmitHeandle( values, actions);\r\n }}\r\n >\r\n {({ handleSubmit, values, errors, touched, setValues, setFieldValue, setErrors }) => (\r\n
\r\n
\r\n {showLogo &&
\r\n
\r\n
Upload Logo*:
\r\n
\r\n
\r\n
\r\n \"Profile\r\n
\r\n \r\n
\r\n
\r\n \r\n {({ field }) => (\r\n handleDrop(e, field, values, setValues)}>\r\n {({ getRootProps, getInputProps }) => (\r\n
\r\n <>\r\n hendleImages(e, field, values, setValues)} type=\"file\" />\r\n \r\n

Drag'n'drop files, or click to select files

\r\n
\r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n
}\r\n
\r\n
\r\n
\r\n
\r\n
Tenant Name*:
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
s.subscriptionID === parseInt(values.subscriptionID))?.customDomain?16:0 }}>Domain:
\r\n
\r\n
\r\n {subscriptions.items && subscriptions.items.map((value) => ( \r\n \r\n {value.subscriptionID === parseInt(values.subscriptionID) ? \r\n <>\r\n {value.customDomain ? \r\n
\r\n handleDomainChanged(e, values, setErrors, errors)}\r\n className={\"form-control\"} \r\n disabled={match.url !== addUrl}\r\n />\r\n \r\n
\r\n : <>\r\n \r\n {({ field }) => (\r\n <>\r\n \r\n \r\n )}\r\n \r\n }\r\n \r\n : null}\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Number of account allowed*:
\r\n
\r\n
\r\n \r\n \r\n {({field})=>(\r\n handleAllowAccountChange(e, field, values, setErrors)}\r\n />\r\n )}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {subscriptions.items && subscriptions.items.map((value) => (\r\n
\r\n \r\n {({ field }) => (\r\n <>\r\n hendleSubcription(e, field, value, values, setValues, setFieldValue)}\r\n checked={parseInt(field.value) === value.subscriptionID}\r\n />\r\n {value.subscriptionName}\r\n \r\n )}\r\n \r\n \r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Email Domain Name*:
\r\n
\r\n
\r\n handleEmailDomainChanged(e,values,setValues)}\r\n disabled={match.url !== addUrl} \r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Super Admin*:
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Sponsor*:
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Tenant Industry:
\r\n
\r\n
\r\n \r\n {({ field }) => (\r\n hendleIndustry(e, field, values, setValues)}\r\n >\r\n \r\n {industry && industry.map((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
Tenant/Entity type*
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {({ field }) => (\r\n hendleLevels(e, field, values, setValues)}\r\n >\r\n \r\n {level && level.map((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
\r\n
\r\n
\r\n
Customer Info
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Business Legal Name*:
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Billing Email*:
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Address 1*:
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Address 2:
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Country*:
\r\n
\r\n
\r\n \r\n {({ field }) => (\r\n hendleCountry(e, field, values, setValues)}\r\n >\r\n \r\n {countryItems && countryItems.map(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
State*:
\r\n
\r\n
\r\n {statesItem && statesItem.length > 0 ?\r\n <>\r\n \r\n \r\n {statesItem.map((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
\r\n
City*:
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
ZipCode:
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Tax ID:
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Self Service BI required?*
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {({ field }) => (\r\n <>\r\n hendlePurchased(e, field, values, setValues)}\r\n checked={field.value === true || field.value === 'true'}//{selfServiceBI === true}//\r\n />\r\n Yes\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n {({ field }) => (\r\n <>\r\n hendlePurchased(e, field, values, setValues)}\r\n checked={field.value === false || field.value === 'false'}//{selfServiceBI === false}//\r\n />\r\n No\r\n \r\n )}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Back\r\n \r\n   \r\n {\r\n //await handleDomainChanged(e,values, setErrors, errors);\r\n console.log(\"submit button onclick\");\r\n // handleSubmit();\r\n }}\r\n disabled={match.params.id ? false : !values.tenantID ? false : true}\r\n >\r\n Submit\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n }\r\n \r\n \r\n )\r\n}\r\n\r\nconst useStyles = makeStyles({\r\n container: {\r\n padding: 10,\r\n borderTop: 'solid 1px #dddddd'\r\n },\r\n list: {\r\n display: 'flex',\r\n justifyContent: 'flex-start',\r\n padding: '8px 0px'\r\n },\r\n commonContainer: {\r\n display: 'flex',\r\n justifyContent: 'flex-start',\r\n alignItems: 'center',\r\n padding: '10px 0px',\r\n '@media (max-width:1140px)': { \r\n display: 'block',\r\n overflow: 'hidden'\r\n }\r\n },\r\n basicLable: {\r\n minWidth: 155,\r\n '@media (max-width:1540px)': { \r\n minWidth: 100,\r\n },\r\n '@media (max-width:1140px)': { \r\n minWidth: \"100%\",\r\n paddingBottom: 10\r\n }\r\n },\r\n profileContainer: {\r\n minWidth: 240,\r\n display: 'flex',\r\n '@media (max-width:1140px)': { \r\n float: 'left',\r\n minWidth: 140,\r\n }\r\n },\r\n profileImage: {\r\n width: 120,\r\n height: 120\r\n },\r\n img: {\r\n maxWidth: '100%',\r\n maxHeight: '100%'\r\n },\r\n uploadContainer: {\r\n width: 'calc(100% - 435px)',\r\n '@media (max-width:1140px)': { \r\n width: 'calc(100% - 140px)',\r\n float: 'left'\r\n }\r\n },\r\n inputContainer: {\r\n width: 'calc(100% - 155px)',\r\n '@media (max-width:1540px)': { \r\n width: 'calc(100% - 100px)',\r\n },\r\n '@media (max-width:1140px)': { \r\n width: '100%',\r\n }\r\n },\r\n domainContainer: {\r\n width: 'calc(100% - 55px)',\r\n '@media (max-width:1540px)': { \r\n width: 'calc(100% - 55px)',\r\n },\r\n '@media (max-width:1140px)': { \r\n width: '100%',\r\n }\r\n },\r\n head: {\r\n padding: '10px 0px'\r\n }\r\n});","import React, {useState, useEffect, useMemo, Fragment} from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles'; \r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { Link, useHistory, useLocation } from 'react-router-dom';\r\nimport * as actions from \"../../../../store/actions/tenantAction\";\r\nimport * as industryActions from \"../../../../store/actions/tenantIndustryAction\";\r\nimport * as subActions from \"../../../../store/actions/subscriptionsAction\";\r\nimport {Form, Col, ListGroup, InputGroup, FormControl, Row} from 'react-bootstrap';\r\nimport BasicCustomerInForm from './BasicCustomerInForm';\r\n\r\nexport default function BasicCustomerInformation(props){\r\n const classes = useStyles();\r\n const { match } = props;\r\n const [item, setItem] = useState(props.item);\r\n const loader = document.getElementById('splash-screen');\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n useEffect(() => {\r\n setItem(props.item)\r\n if(props && props.item && props.item.countryID){\r\n dispatch(actions.getState(props.item && props.item.countryID))\r\n }\r\n }, [props.item]);\r\n \r\n const fakeUrl = ''\r\n const [logoImage, setLogoImage] = useState('');\r\n const Image = useMemo(() => {\r\n return {\r\n logoImage: props.item ? props.item.logoImage : fakeUrl,\r\n setLogoImage\r\n };\r\n }, [props.item]);\r\n const params = {\r\n \"sortField\": \"tenantName\",\r\n \"sortDirection\": \"\",\r\n \"pageSize\": 10,\r\n \"pageNumber\": 1,\r\n \"searchText\": \"\"\r\n }\r\n \r\n const [isLoading, setIsLoading] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n \r\n const {currentState, states, industry, country, subscriptions} = useSelector(\r\n (state) => ({ \r\n industry: state.tenantIndustry.activeData.items,\r\n country: state.tenant.countries,\r\n subscriptions: state.subscriptions.data,\r\n states: state.tenant.cuntryState\r\n }), \r\n shallowEqual\r\n );\r\n useEffect(() => {\r\n setIsLoading(true);\r\n dispatch(industryActions.getActiveTenantIndustries());\r\n dispatch(actions.getCountry());\r\n dispatch(subActions.fetchActiveSubscriptions());\r\n setIsLoading(false);\r\n }, [dispatch, isLoading]);\r\n const heandleChange = (e, type) => {\r\n \r\n }\r\n const saveInformation = (values, fileUrl) => {\r\n console.log(\"In SaveInformation\");\r\n const paramsValues = editParams(values, fileUrl)\r\n if (values.tenantID) {\r\n loader.classList.remove('hidden')\r\n paramsValues['TenantID'] = parseInt(values.tenantID);\r\n dispatch(actions.updateTenantRequest(paramsValues));\r\n setTimeout(() => {\r\n dispatch(actions.getAllTenant(params))\r\n }, 2000)\r\n } else {\r\n const loader = document.getElementById('splash-screen');\r\n loader.classList.remove('hidden')\r\n dispatch(actions.addTenantRequest(paramsValues, history))\r\n setTimeout(() => {\r\n dispatch(actions.getAllTenant(params))\r\n //loader.classList.add('hidden')\r\n }, 10000)\r\n }\r\n };\r\n function editParams(values, fileUrl) {\r\n const params = {\r\n //\"TenantID\":parseInt(values.tenantID),\r\n \"TenantName\":values.tenantName,\r\n \"SubscriptionID\":parseInt(values.subscriptionID),\r\n \"AllowAccount\":parseInt(values.allowAccount),\r\n \"Domain\":`${values.domain}`,\r\n \"emailDomain\":`${values.emailDomain}`,\r\n \"TenantIndustryID\":parseInt(values.tenantIndustryID),\r\n \"TenantIndustryLevelID\":parseInt(values.tenantIndustryLevelID),\r\n \"LevelSubTypeID\":parseInt(values.levelSubTypeID),\r\n \"LogoImage\":fileUrl,\r\n \"BusinessName\":values.businessName,\r\n \"BillingEmail\":values.billingEmail,\r\n \"Address1\":values.address1,\r\n \"Address2\":values.address2,\r\n \"CountryID\":parseInt(values.countryID),\r\n \"StateID\":parseInt(values.stateID),\r\n \"OtherState\": values.otherState,\r\n \"City\":values.city,\r\n \"TaxID\":values.taxID,\r\n \"SelfServiceBIPurchased\":values.selfServiceBIPurchased == 'true' ? 1 : 0,\r\n \"Active\":values.active,\r\n \"SuperUserID\":parseInt(values.superUserID),\r\n \"SuperFirstName\":values.superFirstName,\r\n \"SuperLastName\":values.superLastName,\r\n \"SuperPhoneNo\":values.superPhoneNo,\r\n \"SuperEmail\":values.superEmail,\r\n \"SponsarID\":parseInt(values.sponsarUserID),\r\n \"SponsarFirstName\":values.sponsarFirstName,\r\n \"SponsarLastName\":values.sponsarLastName,\r\n \"SponsarPhoneNo\":values.sponsarPhoneNo,\r\n \"SponsarEmail\":values.sponsarEmail,\r\n \"ZipCode\": values.zipCode\r\n }\r\n return params;\r\n }\r\n const backToTenantList = () => {\r\n history.push(`/tenant`);\r\n };\r\n\r\n const backToTenantEdit = () => {\r\n setTimeout(() => {\r\n history.push(`/tenant/${item.tenantID}/edit`);\r\n },1000)\r\n };\r\n \r\n const heandleChangeSub = (value) => {\r\n setLoading(true);\r\n item.subscriptionID = value.subscriptionID;\r\n item.allowAccount = value.allowAccount;\r\n item.SelfServiceBIPurchased = value.SelfServiceBIPurchased;\r\n setLoading(false);\r\n }\r\n const changesLogoIages = (logoImage) => {\r\n Image.setLogoImage(...item, logoImage)\r\n }\r\n\r\n return(\r\n <>\r\n {item && \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Subscription Type:
\r\n
\r\n
\r\n

{item.subscriptionType}

\r\n
\r\n
\r\n
\r\n
\r\n
Domain:
\r\n
\r\n
\r\n

{item.domain.split(\".\")[0]}{process.env.REACT_APP_TENANT_DOMAIN_SUFFIX}

\r\n
\r\n
\r\n
\r\n
\r\n
Tenant ID:
\r\n
\r\n
\r\n

{item.tenantGUID}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Tenant Industry Type:
\r\n
\r\n
\r\n

{item.tenantIndustryType}

\r\n
\r\n
\r\n
\r\n
\r\n
Tenant Type:
\r\n
\r\n
\r\n

{item.tenantType}

\r\n
\r\n
\r\n
\r\n
\r\n
Sub Type:
\r\n
\r\n
\r\n

{item.subType}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {item && industry && country && states && subscriptions && }\r\n
}\r\n \r\n )\r\n}\r\n\r\nconst useStyles = makeStyles({\r\n container: {\r\n padding: 10,\r\n borderTop: 'solid 1px #dddddd'\r\n },\r\n list: {\r\n display: 'flex',\r\n justifyContent: 'flex-start',\r\n padding: '8px 0px'\r\n },\r\n commonContainer: {\r\n display: 'flex',\r\n justifyContent: 'flex-start',\r\n alignItems: 'center'\r\n },\r\n basicLable: {\r\n minWidth: 165,\r\n },\r\n profileContainer: {\r\n minWidth: 240,\r\n },\r\n profileImage: {\r\n width: 120,\r\n height: 120\r\n },\r\n uploadContainer: {\r\n width: 'calc(100% - 405px)',\r\n },\r\n inputContainer: {\r\n width: 'calc(100% - 165px)'\r\n }\r\n})","import React, { useState } from 'react';//, Fragment\r\nimport {\r\n TableCell,\r\n TableRow,\r\n Checkbox\r\n} from '@material-ui/core';\r\n // IconButton,\r\n // TextField,\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n\r\nexport default function ConfigureWorkspacesItem(props) {\r\n const { items, index, data, col, setworkspaceConfiguration} = props\r\n const [item, setItem] = useState(props.item)\r\n React.useEffect(() => {\r\n setItem(props.item)\r\n }, [props.item])\r\n const [parentData, setParentData] = useState(data);\r\n const classes = useStyles();\r\n const [editGlobalConfig, setEditGlobalConfig] = useState({\r\n showlogo: \"\",\r\n allowAccount:\"\"\r\n })\r\n const heandleChange = (e, type) => {\r\n setEditGlobalConfig({\r\n ...editGlobalConfig,\r\n [type]: e.target.value\r\n })\r\n }\r\n const updateSubmit = () => {\r\n data[index] = editGlobalConfig;\r\n props.onSave(editGlobalConfig);\r\n \r\n }\r\n function onChangeDynamicValue(e){\r\n const {name, checked} = e.target\r\n items[index][name] = checked === true ? 1 : 0;\r\n setItem({...item, [name]: checked === true ? 1 : 0})\r\n setworkspaceConfiguration(items)\r\n }\r\n return (\r\n \r\n \r\n {item.workspaceName}\r\n \r\n \r\n {item.reportName}\r\n \r\n \r\n onChangeDynamicValue(e)}\r\n />\r\n \r\n \r\n )\r\n}\r\n\r\nconst useStyles = makeStyles(() => ({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n padding: 0\r\n },\r\n filterButton: {\r\n marginTop: 20\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n cell: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n '&:first-child': {\r\n borderRight: 'solid 1px #ddd',\r\n }\r\n },\r\n cellP0: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n padding: 0,\r\n borderRight: 'solid 1px #ddd',\r\n },\r\n cellDiv: {\r\n padding: 4,\r\n borderBottom: 'solid 1px #ddd',\r\n width: '100%',\r\n display: 'flex',\r\n alignItems: 'center',\r\n minHeight: 34,\r\n '&:last-child': {\r\n borderBottom: 'solid 1px transparent',\r\n }\r\n },\r\n cellDivcl: {\r\n padding: 4,\r\n borderBottom: 'solid 1px #ddd',\r\n textAlign: 'center',\r\n width: '100%',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n minHeight: 34,\r\n '&:last-child': {\r\n borderBottom: 'solid 1px transparent',\r\n }\r\n },\r\n cellBtn: {\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n formControl: {\r\n margin: '0 15px 0px 0px',\r\n minWidth: 180,\r\n maxWidth: '100%',\r\n },\r\n margin: {\r\n margin: '0 15px 0px 0px',\r\n },\r\n inputLabel: {\r\n //zIndex: 3,\r\n top: 12,\r\n left: 10\r\n },\r\n InputBase: {\r\n root: {\r\n marginTop: 0\r\n }\r\n }\r\n}))","import React, { useState } from 'react';//, useEffect\r\nimport { makeStyles } from '@material-ui/styles'\r\nimport { useDispatch } from 'react-redux'\r\nimport * as Yup from \"yup\";\r\nimport {\r\n Table,\r\n TableBody,\r\n Button\r\n} from '@material-ui/core';\r\nimport {\r\n getComparator,\r\n stableSort,\r\n EnhancedTableHead\r\n} from '../../../../crud/SortGrid';\r\nimport { Form } from 'react-bootstrap'\r\nimport * as actions from '../../../../store/actions/configureWorkspacesAction'\r\nimport ConfigureWorkspacesItem from './ConfigureWorkspacesItem'\r\n\r\nexport default function ConfigureWorkspacesPage(props){\r\n const classes = useStyles()\r\n const dispatch = useDispatch()\r\n const { match, tenant, items } = props\r\n const [order, setOrder] = useState('asc');\r\n const [orderBy, setOrderBy] = useState('');\r\n const [workspaceValue, setWorkspacesValue] = useState(null)\r\n const [dataSource, setDataSource] = useState([items])\r\n const [loadeSelect, setLoadSelect] = useState(false)\r\n const loader = document.getElementById('splash-screen');\r\n const handleRequestSort = (event, property) => {\r\n if(orderBy === ''){\r\n setOrder('desc');\r\n setOrderBy(property);\r\n setDataSource(stableSort(dataSource, getComparator('asc', property)))\r\n } else{\r\n const isAsc = orderBy === property && order === 'asc';\r\n setOrder(isAsc ? 'desc' : 'asc');\r\n setOrderBy(property);\r\n setDataSource(stableSort(dataSource, getComparator(order, orderBy)))\r\n }\r\n };\r\n function setCheckBox(values){\r\n setDataSource(values)\r\n }\r\n let allItemRows = [];\r\n items && items.forEach((item, i) => {\r\n const perItemRows = ;\r\n allItemRows = allItemRows.concat(perItemRows);\r\n });\r\n function updateConfig(){\r\n const params = {\r\n TenantID: match.params.id,\r\n TenantWorkspace: items\r\n }\r\n loader.classList.remove('hidden')\r\n dispatch(actions.updateConfigureWorkspaces(params))\r\n }\r\n return(\r\n <>\r\n \r\n \r\n\r\n \r\n {allItemRows}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {items && items.map((item, i) => (\r\n (i !== 0) && \r\n ))}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nconst headCells = [\r\n { id: 'workspace', numeric: false, disablePadding: false, align: 'left', label: 'Workspace' },\r\n { id: 'reports', numeric: false, disablePadding: false, align: 'left', label: 'Reports' },\r\n { id: 'actions', numeric: false, disablePadding: false, align: 'right', label: 'Show/Hide' }\r\n];\r\n\r\nconst useStyles = makeStyles({\r\n container: {\r\n padding: '0 10px',\r\n //borderTop: 'solid 1px #dddddd'\r\n minHeight: 400\r\n },\r\n list: {\r\n display: 'flex',\r\n justifyContent: 'flex-start',\r\n padding: '8px 0px'\r\n },\r\n commonContainer: {\r\n display: 'flex',\r\n justifyContent: 'flex-start',\r\n alignItems: 'center',\r\n padding: '10px 0px'\r\n },\r\n basicLable: {\r\n minWidth: 195,\r\n },\r\n profileContainer: {\r\n minWidth: 240,\r\n },\r\n profileImage: {\r\n width: 120,\r\n height: 120\r\n },\r\n img: {\r\n maxWidth: '100%',\r\n maxHeight: '100%'\r\n },\r\n uploadContainer: {\r\n width: 'calc(100% - 435px)',\r\n },\r\n inputContainer: {\r\n width: 'calc(100% - 195px)'\r\n },\r\n head: {\r\n padding: '20px 0px' \r\n },\r\n title:{\r\n fontsize: '16px',\r\n color: '#0078d4',\r\n letterspacing: 'normal',\r\n fontweight: 'bold',\r\n margin: 0,\r\n fontFamily: 'Roboto, sans-serif'\r\n },\r\n btn: {\r\n whiteSpace: 'nowrap',\r\n padding: 12,\r\n borderRadius: 0,\r\n flex: '0 0 170px',\r\n marginLeft: 10\r\n },\r\n btnRight: {\r\n whiteSpace: 'nowrap',\r\n padding: 12,\r\n borderRadius: 0,\r\n }\r\n})","import React, { useState, useEffect } from 'react'\r\nimport { \r\n Paper,\r\n Button,\r\n} from '@material-ui/core';\r\nimport { useDispatch, useSelector, shallowEqual } from 'react-redux'\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport SVG from \"react-inlinesvg\";\r\nimport {\r\n Portlet,\r\n PortletBody,\r\n PortletHeader,\r\n PortletHeaderToolbar,\r\n PortletHeaderTitle\r\n} from \"../../../../partials/content/Portlet\";\r\nimport * as actions from '../../../../store/actions/configureWorkspacesAction'\r\nimport ConfigureWorkspacesPage from './ConfigureWorkspacesPage'\r\n\r\n\r\nconst toAbsoluteUrl = pathname => process.env.PUBLIC_URL + pathname;\r\n\r\nexport default function ConfigureWorkspacesBase(props){\r\n const {match, tenant} = props\r\n const classes = useStyles();\r\n const [items, setItems] = useState([])\r\n const dispatch = useDispatch();\r\n const { configureWorkspaces } = useSelector((state) => ({\r\n configureWorkspaces: state.configureWorkspaces.data\r\n }), shallowEqual)\r\n useEffect(() => {\r\n setItems(configureWorkspaces)\r\n }, [configureWorkspaces])\r\n useEffect(() => {\r\n if(match.params.id)\r\n dispatch(actions.getconfigureWorkspaces(match.params.id))\r\n }, [dispatch])\r\n return(\r\n \r\n \r\n \r\n \r\n Configure Workspaces\r\n \r\n }\r\n headerClassName={classes.portletHead}\r\n >\r\n \r\n \r\n {items && items.length > 0 && }\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n }\r\n})","import React from 'react'\r\nimport { useDispatch, useSelector, shallowEqual } from 'react-redux'\r\nimport TenantEditHead from '../../TenantEditHead'\r\nimport { ThemeProvider, withStyles, createMuiTheme } from '@material-ui/core/styles';\r\nimport ConfigureWorkspacesBase from './ConfigureWorkspacesBase'\r\nimport * as actions from '../../../../store/actions/configureWorkspacesAction'\r\nimport Toast from '../../../../crud/Toast'\r\n\r\n\r\nexport default function ConfigureWorkspaces(props){\r\n const { match, tenant } = props\r\n const dispatch = useDispatch()\r\n const [level, setLevel] = React.useState('')\r\n const [message, setMessage] = React.useState('')\r\n const [toastVisible, setToastVisible] = React.useState(false)\r\n const loader = document.getElementById('splash-screen');\r\n const {tenentSuccess, tenantMassage, error} = useSelector((state) => ({\r\n tenentSuccess: state.configureWorkspaces.success,\r\n tenantMassage: state.configureWorkspaces.message,\r\n error: state.configureWorkspaces.error\r\n }), shallowEqual)\r\n \r\n React.useEffect(() => {\r\n if(tenentSuccess){\r\n setLevel('success')\r\n setMessage(tenantMassage)\r\n setToastVisible(tenentSuccess)\r\n loader.classList.add('hidden')\r\n setTimeout(() => {\r\n dispatch(actions.reset())\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 5000)\r\n }else { \r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }\r\n }, [tenentSuccess, tenantMassage])\r\n React.useEffect(() => {\r\n if(error){\r\n setLevel('danger')\r\n setMessage(error)\r\n setToastVisible(true)\r\n loader.classList.add('hidden')\r\n setTimeout(() => {\r\n dispatch(actions.reset())\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 5000)\r\n }\r\n }, [error, dispatch])\r\n return(\r\n \r\n {tenant && }\r\n
\r\n \r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\nconst theme = createMuiTheme({\r\n overrides: {\r\n MuiExpansionPanelSummary: {\r\n content: {\r\n padding: 0,\r\n margin: '0px !important'\r\n }\r\n },\r\n MuiPagination: {\r\n root: {\r\n marginTop: 10,\r\n alignItems: 'center'\r\n },\r\n ul: {\r\n marginTop: 10,\r\n alignItems: 'center'\r\n }\r\n },\r\n MuiButtonBase: {\r\n root: {\r\n minHeight: '25px !important',\r\n lineHeight: '1.2 !important'\r\n },\r\n expandIcon: {\r\n padding: 5\r\n },\r\n },\r\n MuiButton: {\r\n text: {\r\n color: '#333333',\r\n },\r\n containedPrimary: {\r\n backgroundColor: '#0078d4',\r\n '&:hover': {\r\n backgroundColor: '#0078d4',\r\n }\r\n }\r\n },\r\n MuiExpansionPanelDetails: {\r\n root: {\r\n padding: '0px !important',\r\n backgroundColor: 'rgba(0, 0, 0, 0.0) !important'\r\n }\r\n },\r\n PrivateSwitchBase:{\r\n root:{\r\n padding: 0\r\n }\r\n },\r\n MuiTableCell: {\r\n root: {\r\n padding: 5,\r\n fontSize: '1rem'\r\n },\r\n head: {\r\n lineHeight: '2.5rem'\r\n },\r\n sizeSmall: {\r\n padding: 5,\r\n },\r\n stickyHeader: {\r\n backgroundColor: '#ffffff'\r\n }\r\n },\r\n MuiFormControl: {\r\n root: {\r\n width: 'auto'\r\n }\r\n },\r\n MuiFormControlLabel: {\r\n root: {\r\n marginBottom: 0,\r\n marginLeft: 0\r\n }\r\n },\r\n MuiList: {\r\n padding: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n }\r\n },\r\n MuiListItem: {\r\n root: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n }\r\n },\r\n MuiTooltip: {\r\n tooltip: {\r\n fontSize: 14\r\n }\r\n },\r\n MuiInputLabel: {\r\n formControl: {\r\n transform: 'translate(0, 7px) scale(1)'\r\n },\r\n shrink: {\r\n transform: 'translate(0, 31px) scale(0.75)'\r\n }\r\n },\r\n MuiInput: {\r\n formControl: {\r\n marginTop: '0 !important'\r\n }\r\n }\r\n },\r\n});","import React, {useEffect, useState} from 'react';\r\nimport { makeStyles, withStyles } from \"@material-ui/core/styles\";\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport Stepper from '@material-ui/core/Stepper';\r\nimport Step from '@material-ui/core/Step';\r\nimport StepLabel from '@material-ui/core/StepLabel';\r\nimport StepConnector from '@material-ui/core/StepConnector';\r\nimport BasicCustomerInformation from './edit-pages/BasicCustomerInformation';\r\nimport Organisation from './organisation'\r\nimport FileOperations from './fileOperations'\r\nimport Role from '../../home/admin/role'\r\nimport CompanyPolicy from '../../home/admin/company-policy'\r\nimport ConfigureWorkspaces from './configure-workspaces'\r\nimport ManageUser from '../../home/admin/users'\r\nimport { useDispatch } from \"react-redux\";\r\nimport * as actions from \"../../../store/actions/tenantAction\";\r\n\r\n\r\nexport default function EditTanentPage(props){\r\n const dispatch = useDispatch();\r\n const steps = props.match.params.id ? getSteps() : getCreateSteps();\r\n const [match, setMatch] = useState(props.match)\r\n const [item, setItem] = useState(props.item)\r\n const classes = useStyles();\r\n const [activeStep, setActiveStep] = React.useState(props.activeStep);\r\n const [completed, setCompleted] = React.useState(new Set());\r\n const [skipped, setSkipped] = React.useState(new Set());\r\n useEffect(() => {\r\n setItem(props.item)\r\n if(props.match.url !== match.url){\r\n setMatch(props.match)\r\n setActiveStep(props.activeStep)\r\n setCompleted(new Set())\r\n setSkipped(new Set())\r\n }\r\n }, [props]);\r\n useEffect(()=>{\r\n if(activeStep >=0){\r\n dispatch(actions.setActiveStep(activeStep));\r\n }\r\n },[dispatch, activeStep]);\r\n const handleStep = (step) => {\r\n\r\n setActiveStep(step);\r\n };\r\n const isStepSkipped = (step) => {\r\n return skipped.has(step);\r\n };\r\n // const totalSteps = () => {\r\n // return props.match.params.id ? getSteps().length : getCreateSteps().length;\r\n // };\r\n \r\n // const skippedSteps = () => {\r\n // return skipped.size;\r\n // };\r\n \r\n // const completedSteps = () => {\r\n // return completed.size;\r\n // };\r\n \r\n // const allStepsCompleted = () => {\r\n // return completedSteps() === totalSteps() - skippedSteps();\r\n // };\r\n \r\n // const isLastStep = () => {\r\n // return activeStep === totalSteps() - 1;\r\n // };\r\n // const handleNext = () => {\r\n // const newActiveStep =\r\n // isLastStep() && !allStepsCompleted()\r\n // ? \r\n // steps.findIndex((step, i) => !completed.has(i))\r\n // : activeStep + 1;\r\n \r\n // setActiveStep(newActiveStep);\r\n // };\r\n\r\n // const handleStepAdd = (step) => {\r\n // setActiveStep(step);\r\n // }\r\n \r\n \r\n // function isStepComplete(step) {\r\n // return completed.has(step);\r\n // }\r\n function getStepCreateContent(stepData, propsData, itemdata) {\r\n if(itemdata){\r\n if(itemdata && itemdata.tenantID) {\r\n if(stepData === 0){\r\n stepData = 0\r\n } else if(stepData === 1){\r\n stepData = 1\r\n } else {\r\n stepData = 0\r\n }\r\n } else {\r\n stepData = 0\r\n }\r\n switch (stepData) {\r\n case 0:\r\n return ;\r\n case 1:\r\n return ;\r\n case 2:\r\n return ;\r\n case 3:\r\n return ;\r\n case 4:\r\n return ;\r\n case 5:\r\n return ;\r\n default:\r\n return 'Unknown step';\r\n }\r\n } else {\r\n return 'Unknown step';\r\n }\r\n }\r\n return(\r\n <>\r\n
\r\n : }>\r\n {steps.map((label, index) => {\r\n const stepProps = {};\r\n // const buttonProps = {};\r\n const labelProps = {};\r\n if (isStepSkipped(index)) {\r\n stepProps.completed = false;\r\n }\r\n return (\r\n \r\n props.match.params.id ? ColorlibStepIcon(e) : ColorAddlibStepIcon(e, item)}\r\n onClick={()=>handleStep(index)}\r\n >\r\n {label}\r\n \r\n \r\n );\r\n })}\r\n \r\n
\r\n
\r\n
\r\n {props.match.params.id ? getStepContent(activeStep, props, item) : getStepCreateContent(activeStep, props, item, match)}\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nfunction getSteps() {\r\n return [\r\n 'Basic Customer Information', \r\n 'File Operations', \r\n 'Configure Workspaces', \r\n 'Organization Hierarchy', \r\n 'Manage Roles', \r\n 'Manage Users', \r\n 'Company Policy'\r\n ];\r\n}\r\n\r\nfunction getCreateSteps() {\r\n return [\r\n 'Basic Customer Information', \r\n 'File Operations', \r\n 'Configure Workspaces', \r\n 'Organization Hierarchy', \r\n 'Manage Roles', \r\n 'Manage Users'\r\n ];\r\n}\r\nfunction getStepContent(step, props) {\r\n switch (step) {\r\n case 0:\r\n return ;\r\n case 1:\r\n return ;\r\n case 2:\r\n return ;\r\n case 3:\r\n return ;\r\n case 4:\r\n return ;\r\n case 5:\r\n return ;\r\n case 6:\r\n return ;\r\n default:\r\n return 'Unknown step';\r\n }\r\n}\r\n\r\n\r\n\r\nfunction ColorlibStepIcon(props) {\r\n const classes = useStyles();\r\n const { active, completed } = props;\r\n const icons = {\r\n 1: ,\r\n 2: ,\r\n 3: ,\r\n 4: ,\r\n 5: ,\r\n 6: ,\r\n 7: \r\n };\r\n \r\n return (\r\n \r\n {icons[String(props.icon)]}\r\n
\r\n );\r\n }\r\n \r\n ColorlibStepIcon.propTypes = {\r\n active: PropTypes.bool,\r\n completed: PropTypes.bool,\r\n icon: PropTypes.node,\r\n};\r\n\r\nfunction ColorAddlibStepIcon(props, item) {\r\n const classes = useStyles();\r\n const stepIcon = {\r\n active: false,\r\n completed: false\r\n }\r\n if(item && item.tenantID) {\r\n if(props.icon === 1){\r\n stepIcon.completed = true\r\n stepIcon.active = false\r\n } else if(props.icon === 2){\r\n stepIcon.completed = false\r\n stepIcon.active = true\r\n } else {\r\n stepIcon.completed = false\r\n stepIcon.active = false\r\n }\r\n } else {\r\n if(props.icon === 1){\r\n stepIcon.completed = true\r\n stepIcon.active = false\r\n } else{\r\n stepIcon.completed = false\r\n stepIcon.active = false\r\n }\r\n }\r\n\r\n const icons = {\r\n 1: ,\r\n 2: ,\r\n 3: ,\r\n 4: ,\r\n 5: ,\r\n 6: \r\n };\r\n\r\n return (\r\n \r\n {icons[String(props.icon)]}\r\n
\r\n );\r\n}\r\n\r\nColorAddlibStepIcon.propTypes = {\r\n active: PropTypes.bool,\r\n completed: PropTypes.bool,\r\n icon: PropTypes.node,\r\n props: PropTypes.object\r\n};\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n width: \"100%\"\r\n },\r\n button: {\r\n marginRight: theme.spacing(1)\r\n },\r\n backButton: {\r\n marginRight: theme.spacing(1)\r\n },\r\n // completed: {\r\n // display: \"inline-block\"\r\n // },\r\n instructions: {\r\n marginTop: theme.spacing(1),\r\n marginBottom: theme.spacing(1)\r\n },\r\n containerRoot: {\r\n backgroundColor: '#0078d4',\r\n zIndex: 1,\r\n color: '#fff',\r\n width: 50,\r\n height: 50,\r\n display: 'flex',\r\n borderRadius: '50%',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n },\r\n containerRootAdd: {\r\n backgroundColor: '#dddddd',\r\n zIndex: 1,\r\n color: '#fff',\r\n width: 50,\r\n height: 50,\r\n display: 'flex',\r\n borderRadius: '50%',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n },\r\n active: {\r\n backgroundColor: '#ffffff',\r\n border: 'solid 2px #0078d4',\r\n color: '#0078d4'\r\n },\r\n completed: {\r\n backgroundColor: '#ffffff !important',\r\n border: 'solid 2px #0078d4',\r\n color: '#0078d4 !important'\r\n },\r\n}));\r\n\r\nconst ColorlibConnector = withStyles({\r\n alternativeLabel: {\r\n top: 22,\r\n },\r\n active: {\r\n '& $line': {\r\n backgroundColor: '#8dcdff ',\r\n },\r\n },\r\n completed: {\r\n '& $line': {\r\n backgroundColor: '#8dcdff',\r\n },\r\n },\r\n line: {\r\n height: 3,\r\n border: 0,\r\n backgroundColor: '#0078d4',\r\n borderRadius: 1,\r\n },\r\n})(StepConnector);\r\n\r\nconst ColorlibConnectorAdd = withStyles({\r\n alternativeLabel: {\r\n top: 22,\r\n },\r\n active: {\r\n '& $line': {\r\n backgroundColor: '#8dcdff ',\r\n },\r\n },\r\n completed: {\r\n '& $line': {\r\n backgroundColor: '#dddddd',\r\n },\r\n },\r\n line: {\r\n height: 3,\r\n border: 0,\r\n backgroundColor: '#dddddd',\r\n borderRadius: 1,\r\n },\r\n})(StepConnector);","import React, {useState, useEffect} from 'react';\r\nimport {\r\n Paper,\r\n Button,\r\n FormControl,\r\n InputLabel,\r\n InputBase\r\n} from '@material-ui/core'; \r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport clsx from 'clsx'\r\nimport SVG from \"react-inlinesvg\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\r\nimport {\r\n Portlet,\r\n PortletBody,\r\n PortletHeader,\r\n PortletHeaderToolbar,\r\n PortletHeaderTitle\r\n} from \"../../../partials/content/Portlet\";\r\nimport * as actions from \"../../../store/actions/tenantAction\";\r\nimport * as subActions from \"../../../store/actions/subscriptionsAction\";\r\nimport EditTanentPage from './EditTenantPage';\r\nconst toAbsoluteUrl = pathname => process.env.PUBLIC_URL + pathname;\r\n\r\nexport default function EditTenantBase(props) {\r\n const dispatch = useDispatch()\r\n const classes = useStyles();\r\n //const activeStep = 0\r\n let initialValue = {\r\n active: true,\r\n address1: \"\",\r\n address2: \"\",\r\n allowAccount: 5,\r\n billingEmail: \"\",\r\n businessName: \"\",\r\n city: \"\",\r\n countryID: 0,\r\n domain: \"xxxx\",\r\n levelSubTypeID: 0,\r\n logoImage: \"\",\r\n selfServiceBIPurchased: false,\r\n sponsarEmail: \"\",\r\n sponsarFirstName: \"\",\r\n sponsarLastName: \"\",\r\n sponsarPhoneNo: \"\",\r\n // sponsarUserID: undefined,\r\n stateID: 0,\r\n subscriptionID: '1',\r\n superEmail: \"\",\r\n superFirstName: \"\",\r\n superLastName: \"\",\r\n superPhoneNo: \"\",\r\n // superUserID: null,\r\n taxID: \"\",\r\n tenantGUID: \"\",\r\n //tenantID: 0,\r\n tenantIndustryID: 0,\r\n tenantIndustryLevelID: 0,\r\n tenantName: '',\r\n zipCode: ''\r\n };\r\n const [item, setItem] = useState(initialValue);\r\n\r\n var isIE = /*@cc_on!@*/false || !!document.documentMode;\r\n const [ieBrowser, setIeBrowser] = useState(isIE ? true : false);\r\n\r\n const { items, addItem, organisation, subscriptions, activeStep} = useSelector((state) => ({\r\n items: state.tenant,\r\n addItem: state.tenant.addItem,\r\n organisation: state.organisation.data && state.organisation.data.items,\r\n subscriptions: state.subscriptions.data,\r\n activeStep: state.tenant.activeStep\r\n }), \r\n shallowEqual);\r\n\r\n // useEffect(()=>{ \r\n // },[items, addItem, organisation, subscriptions]);\r\n useEffect(() => {\r\n dispatch(subActions.fetchActiveSubscriptions());\r\n }, [dispatch]); \r\n useEffect(() => {\r\n if(props.match.path === '/tenant/:id/edit'){\r\n setItem(items && items.item && items.item[0])\r\n // }else {\r\n // setItem(initialValue);\r\n }\r\n }, [items, props.match.params]);\r\n\r\n useEffect(() => {\r\n if(props.match.path === '/tenant/add' && subscriptions?.items){\r\n const subscription = subscriptions.items?.find(s=>s.subscriptionID === parseInt(initialValue.subscriptionID));\r\n const allowAccount = subscription.allowAccount;\r\n const selfServiceBIPurchased = subscription.selfServiceBI;\r\n \r\n initialValue = {...initialValue, allowAccount, selfServiceBIPurchased };\r\n setItem(initialValue);\r\n }\r\n }, [props.match.path, subscriptions]);\r\n\r\n useEffect(() => {\r\n if(props.match.params.id){\r\n dispatch(actions.getTenantById(props.match.params.id));\r\n }\r\n }, [props.match.params.id]);\r\n \r\n return(\r\n <>\r\n {\r\n \r\n \r\n \r\n {props.match.params.id ? 'Edit Tenant' : 'Add Tenant'}\r\n \r\n }\r\n headerClassName={classes.portletHead}/>\r\n \r\n \r\n {props.match.path !== '/tenant/add' ? \r\n : }\r\n \r\n \r\n \r\n }\r\n \r\n )\r\n}\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n },\r\n textField:{\r\n\r\n },\r\n filterButton: {\r\n marginTop: 20\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n cell: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n width: 35,\r\n minWidth: 35,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n formControl: {\r\n margin: '0 15px 0px 0px',\r\n minWidth: 180,\r\n maxWidth: '100%',\r\n },\r\n margin: {\r\n margin: '0 15px 0px 0px',\r\n },\r\n inputLabel: {\r\n //zIndex: 3,\r\n top: 12,\r\n left: 10\r\n },\r\n InputBase: {\r\n root: {\r\n marginTop: 0\r\n }\r\n }\r\n})\r\n","import React, {useState, useEffect} from 'react';\r\nimport {\r\n Button\r\n} from '@material-ui/core';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { shallowEqual, useDispatch, useSelector, connect } from \"react-redux\";\r\nimport clsx from 'clsx';\r\nimport Pagination from '@material-ui/lab/Pagination';\r\nimport * as actions from \"../../../../store/actions/tenantAction\";\r\nimport * as oAction from '../../../../store/actions/organisationAction'\r\nimport { /*Link,*/ useHistory } from 'react-router-dom';\r\nimport { ReactComponent as AngleDoubleLeftIcon } from \"../../../../../_metronic/layout/assets/layout-svg-icons/Angle-double-left.svg\";\r\nimport { ReactComponent as AngleDoubleRightIcon } from \"../../../../../_metronic/layout/assets/layout-svg-icons/Angle-double-right.svg\";\r\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\r\n\r\n/*export default*/ function TenantMenu(props) {\r\n const classes = useStyle();\r\n const [minMenu, setMinMenu] = useState(false)\r\n const history = useHistory()\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [count, setCount] = useState(0);\r\n const [page, setPage] = React.useState(1);\r\n const dispatch = useDispatch();\r\n const loader = document.getElementById('splash-screen');\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.tenant.data }),\r\n shallowEqual\r\n );\r\n const [params, setParams] = useState({\r\n \"sortField\": \"tenantName\",\r\n \"sortDirection\": \"asc\",\r\n \"pageSize\": 15,\r\n \"pageNumber\": 1,\r\n \"searchText\": \"\"\r\n })\r\n const items = currentState && currentState.items ? currentState.items : undefined;\r\n useEffect(() => {\r\n dispatch(actions.getAllTenant(params));\r\n }, [dispatch, params]);\r\n \r\n const onOpenEditPage = (tenant) => {\r\n history.push(`/tenant/${tenant.tenantID}/edit`);\r\n loader.classList.remove('hidden')\r\n dispatch(actions.getTenantById(tenant.tenantID))\r\n dispatch(oAction.getOrganisation(tenant.tenantID))\r\n setTimeout(() => {\r\n loader.classList.add('hidden')\r\n }, 400)\r\n }\r\n const hendleMinMenu = () => {\r\n setMinMenu(!minMenu);\r\n }\r\n const hendleChange = (e) => {\r\n params.searchText = e.target.value;\r\n dispatch(actions.getAllTenant(params));\r\n }\r\n const openAddScreen = () => {\r\n history.push(`/tenant/add`);\r\n }\r\n\r\n const pageNumbers = [];\r\n if(currentState && currentState.totalItems){\r\n for (let i = 1; i <= Math.ceil(currentState.totalItems / params.pageSize); i++) {\r\n pageNumbers.push(i);\r\n }\r\n }\r\n useEffect(() => {\r\n setCount(Math.ceil(currentState && currentState.totalItems / params.pageSize));\r\n }, [pageNumbers])\r\n\r\n function pageChange(event, value) {\r\n const pageNumber = value\r\n setPage(value)\r\n setParams(prev=>({...params, pageNumber}));\r\n }\r\n\r\n return(\r\n
\r\n
\r\n
\r\n hendleMinMenu()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {props.user.vhUser &&
\r\n \r\n
}\r\n
\r\n hendleChange(e)} className=\"form-control\" type=\"text\" placeholder=\"Search\"/>\r\n
\r\n \r\n
\r\n {items && items.map((item) => (\r\n \r\n ))}\r\n
\r\n \r\n
\r\n {currentState && currentState.totalItems > params.pageSize && }\r\n
\r\n
\r\n )\r\n}\r\n\r\nconst useStyle = makeStyles({\r\n tenantMenu: {\r\n width: 220,\r\n height: '100vh',\r\n background:'#ffffff',\r\n zIndex: '1',\r\n borderRight: 'solid 1px #ddd',\r\n ['@media (max-width:1540px)']: { \r\n width: 180,\r\n },\r\n ['@media (max-width:1024px)']: { \r\n width: '100%',\r\n flex: '0 0 100%',\r\n height: 'auto'\r\n }\r\n },\r\n minMenu: {\r\n width:50,\r\n overflow: 'hidden',\r\n },\r\n addbtn: {\r\n padding: '4px 10px'\r\n },\r\n pagination: {\r\n marginTop: 10,\r\n alignItems: 'center',\r\n display: 'flex'\r\n }\r\n})\r\n\r\n\r\nconst mapStateToProps = store => ({ \r\n user: store.auth.user\r\n });\r\n \r\nexport default connect(mapStateToProps)(TenantMenu);","import React from 'react';//, { useEffect, useState } \r\nimport { ThemeProvider, createMuiTheme } from '@material-ui/core/styles';// withStyles,\r\nimport { useDispatch, useSelector, shallowEqual } from 'react-redux'\r\nimport EditTenantBase from './EditTenantBase';\r\nimport TenantMenu from './tenantMenu/tenantMenu';\r\nimport Toast from '../../../crud/Toast'\r\nimport * as actions from \"../../../store/actions/tenantAction\";\r\n\r\nexport default function EditTenant(props) {\r\n const dispatch = useDispatch()\r\n const [level, setLevel] = React.useState('')\r\n const [message, setMessage] = React.useState('')\r\n const [toastVisible, setToastVisible] = React.useState(false)\r\n const loader = document.getElementById('splash-screen');\r\n const {tenentSuccess, tenantMassage, error} = useSelector((state) => ({\r\n tenentSuccess: state.tenant.success,\r\n tenantMassage: state.tenant.message,\r\n error: state.tenant.error\r\n }), shallowEqual)\r\n React.useEffect(() => {\r\n if(tenentSuccess){\r\n setLevel('success')\r\n setMessage(tenantMassage)\r\n setToastVisible(tenentSuccess)\r\n loader.classList.add('hidden')\r\n setTimeout(() => {\r\n dispatch(actions.reset())\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 5000)\r\n }else { \r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }\r\n }, [tenentSuccess, tenantMassage])\r\n React.useEffect(() => {\r\n if(error){\r\n setLevel('danger')\r\n setMessage(error)\r\n setToastVisible(true)\r\n loader.classList.add('hidden')\r\n setTimeout(() => {\r\n dispatch(actions.reset())\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 5000)\r\n }\r\n }, [error])\r\n return(\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nconst theme = createMuiTheme({\r\n overrides: {\r\n MuiStep: {\r\n completed: {\r\n MuiStepLabel: {\r\n iconContainer: {\r\n backgroundColor: '#ffffff',\r\n border: 'solid 2px #0078d4',\r\n color: '#0078d4'\r\n }\r\n }\r\n }\r\n },\r\n MuiExpansionPanelSummary: {\r\n content: {\r\n padding: 0,\r\n margin: '0px !important'\r\n }\r\n },\r\n MuiButtonBase: {\r\n root: {\r\n minHeight: '25px !important',\r\n lineHeight: '1.2 !important'\r\n },\r\n expandIcon: {\r\n padding: 5\r\n },\r\n },\r\n MuiButton: {\r\n text: {\r\n color: '#333333',\r\n },\r\n containedPrimary: {\r\n backgroundColor: '#0078d4',\r\n '&:hover': {\r\n backgroundColor: '#0078d4',\r\n }\r\n }\r\n },\r\n MuiExpansionPanelDetails: {\r\n root: {\r\n padding: '0px !important',\r\n backgroundColor: 'rgba(0, 0, 0, 0.0) !important'\r\n }\r\n },\r\n MuiTableCell: {\r\n root: {\r\n padding: 5,\r\n fontSize: '1rem'\r\n },\r\n head: {\r\n lineHeight: '2.5rem'\r\n },\r\n sizeSmall: {\r\n padding: 5,\r\n },\r\n stickyHeader: {\r\n backgroundColor: '#ffffff'\r\n }\r\n },\r\n MuiFormControl: {\r\n root: {\r\n width: 'auto'\r\n }\r\n },\r\n MuiFormControlLabel: {\r\n root: {\r\n marginBottom: 0,\r\n marginLeft: 0\r\n }\r\n },\r\n MuiList: {\r\n padding: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n }\r\n },\r\n MuiListItem: {\r\n root: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n }\r\n },\r\n MuiTooltip: {\r\n tooltip: {\r\n fontSize: 14\r\n }\r\n },\r\n MuiInputLabel: {\r\n formControl: {\r\n transform: 'translate(0, 7px) scale(1)'\r\n },\r\n shrink: {\r\n transform: 'translate(0, 31px) scale(0.75)'\r\n }\r\n },\r\n MuiInput: {\r\n formControl: {\r\n marginTop: '0 !important'\r\n }\r\n }\r\n },\r\n});","import React, {useEffect} from 'react';//useState, \r\nimport { useDispatch, useSelector, shallowEqual } from 'react-redux'\r\nimport { Button } from 'react-bootstrap'\r\nimport * as actions from '../../../store/actions/companyPolicyAction'\r\nimport * as authActions from '../../../store/ducks/auth.duck'\r\n\r\nexport default function AcceptPolicy(props){\r\n const { user, hendleClose } = props\r\n const dispatch = useDispatch()\r\n const { letastPolicy, accept,success } = useSelector((state) => ({\r\n letastPolicy: state.companyPolicy.latest,\r\n accept: state.companyPolicy.accept,\r\n success: state.companyPolicy.success\r\n }), shallowEqual)\r\n // console.log('user', letastPolicy);\r\n useEffect(() => {\r\n if(user.vhUser){\r\n dispatch(actions.companyPolicyLatest())\r\n } else {\r\n dispatch(actions.companyPolicyLatestTenant(user.tenantID))\r\n }\r\n console.log(\"user changed\", user);\r\n }, [user]);\r\n useEffect(()=>{\r\n console.log(letastPolicy);\r\n },[letastPolicy]);\r\n useEffect(()=>{\r\n if(success && accept){ \r\n console.log(\"Before doing request User One\");\r\n dispatch(authActions.actions.requestUserOne(user.accessToken, user));\r\n hendleClose(); \r\n }\r\n console.log(accept, success);\r\n },[accept, success]);\r\n function onsubmit(){\r\n const params = {\r\n \"CompanyPolicyID\":letastPolicy.companyPolicyID, \r\n \"UserID\":user.userID \r\n }\r\n\r\n console.log(\"before accepting company policy\");\r\n dispatch(actions.companyPolicyAccept(params))\r\n }\r\n\r\n return(\r\n <>\r\n {accept && accept.acceptedPolicyID && (\r\n
\r\n
You successfully accepted company policy...
\r\n
\r\n )}\r\n
\r\n {letastPolicy.policyContent}\r\n {/*
Privacy Policy
\r\n

Last updated: (add date)

\r\n

My Company (change this) (\"us\", \"we\", or \"our\") operates http://url.com (change this) (the\r\n \"Site\"). This page informs you of our policies regarding the collection, use and disclosure of\r\n Personal Information we receive from users of the Site.

\r\n

We use your Personal Information only for providing and improving the Site. By using the Site, you\r\n agree to the collection and use of information in accordance with this policy.\r\n Information Collection And Use

\r\n

While using our Site, we may ask you to provide us with certain personally identifiable information\r\n that can be used to contact or identify you. Personally identifiable information may include, but is not\r\n limited to your name (\"Personal Information\").

\r\n
Log Data
\r\n

Like many site operators, we collect information that your browser sends whenever you visit our Site\r\n (\"Log Data\").

\r\n

This Log Data may include information such as your computer's Internet Protocol (\"IP\") address,\r\n browser type, browser version, the pages of our Site that you visit, the time and date of your visit,\r\n the time spent on those pages and other statistics.

\r\n

In addition, we may use third party services such as Google Analytics that collect, monitor and\r\n analyze this …

*/}\r\n
\r\n \r\n
\r\n
\r\n
\r\n Accept\r\n
\r\n
\r\n
\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, useCallback } from \"react\";\r\nimport { isEqual, isFunction } from \"lodash\";\r\nimport { initialFilter } from \"./CefitUiHelpers\";\r\n\r\nconst CefitUiContext = createContext();\r\n\r\nexport function useCefitUiContext() {\r\n return useContext(CefitUiContext);\r\n}\r\n\r\nexport const CefitUIConsumer = CefitUiContext.Consumer;\r\n\r\nexport function CefitUIProvider({ cefitUIEvents, 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 newCefitButtonClick: cefitUIEvents.newCefitButtonClick,\r\n openEditCefitPage: cefitUIEvents.openEditCefitPage,\r\n openDeleteCefitDialog: cefitUIEvents.openDeleteCefitDialog,\r\n openDeleteCefitDialog: cefitUIEvents.openDeleteCefitDialog,\r\n openFetchCefitDialog: cefitUIEvents.openFetchCefitDialog,\r\n openUpdateCefitStatusDialog: cefitUIEvents.openUpdateCefitStatusDialog,\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}","import React, {useEffect} from \"react\";\r\nimport {shallowEqual, useSelector} from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../partials/controls\";\r\n\r\nexport function CefitLoadingDialog() {\r\n const { isLoading } = useSelector(\r\n state => ({ isLoading: state.cefits.listLoading }),\r\n shallowEqual\r\n );\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { makeStyles } from '@material-ui/styles'\r\nimport { useHistory } from 'react-router-dom'\r\nimport {\r\n TableCell,\r\n TableRow,\r\n IconButton,\r\n Button\r\n} from '@material-ui/core';\r\nimport { DeleteConfirmation } from '../../../../crud/LayoutUtilsService'\r\n\r\nexport function CefitItem(props) {\r\n const classes = useStyles()\r\n const history = useHistory()\r\n const [item, setItem] = useState(props.item);\r\n const [index, setIndex] = useState(props.index)\r\n const [deleteItem, setDelete] = useState(false);\r\n useEffect(() => {\r\n setItem(props.item)\r\n setIndex(props.index)\r\n }, [props.item, props.index])\r\n const deleteConfirm = () => {\r\n setDelete(true)\r\n }\r\n const deteteClose = (rowIndex, action) => {\r\n if (action === 'delete') {\r\n props.onDelete(item);\r\n setDelete(false);\r\n } else if (action === 'close') {\r\n setDelete(false);\r\n }\r\n }\r\n return (\r\n \r\n {item.id}\r\n {item.tenantID}\r\n {item.tenantName}\r\n {item.fileFormat}\r\n {item.fileDataType}\r\n {item.fileName}\r\n {item.stagingTableName}\r\n {item.storedProcedureName}\r\n {item.submittedOn}\r\n {item.submittedBy}\r\n {item.deploymentStatus}\r\n \r\n \r\n \r\n {props.userHasDeletePermission && \r\n \r\n {deleteItem && \r\n }\r\n }\r\n \r\n )\r\n} \r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n button: {\r\n margin: '0',\r\n padding: 0\r\n },\r\n filterButton: {\r\n marginTop: 20\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n cell: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n width: 35,\r\n minWidth: 35,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellRight: {\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n textAlign: 'right'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n formControl: {\r\n margin: '0 15px 0px 0px',\r\n minWidth: 180,\r\n maxWidth: '100%',\r\n },\r\n margin: {\r\n margin: '0 15px 0px 0px',\r\n },\r\n inputLabel: {\r\n top: 12,\r\n left: 10\r\n },\r\n InputBase: {\r\n root: {\r\n marginTop: 0\r\n }\r\n },\r\n});","import React, { useMemo, useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector, shallowEqual } from 'react-redux';\r\nimport * as actions from '../../../store/actions/cefitAction';\r\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\r\nimport { makeStyles } from '@material-ui/styles';\r\nimport {\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableRow,\r\n TablePagination\r\n} from '@material-ui/core';\r\nimport { EnhancedTableHead } from '../../../crud/SortGrid';\r\nimport { CefitItem } from './cefit-item/CefitItem';\r\nimport Toast from '../../../crud/Toast';\r\nimport { useCefitUiContext } from \"../CefitUiContext\";\r\nimport { PromptState } from 'msal/lib-commonjs/utils/Constants';\r\n\r\nexport function CefitTable(props) {\r\n const dispatch = useDispatch();\r\n const { currentState, deleteSuccess, cefitSuccess, cefitMassage, error, user } = useSelector(\r\n (state) => ({\r\n currentState: state.cefits,\r\n deleteSuccess: state.cefits.deleteSuccess,\r\n cefitSuccess: state.cefits.success,\r\n cefitMassage: state.cefits.message,\r\n error: state.cefits.error,\r\n user: state.auth.user\r\n }),\r\n shallowEqual\r\n );\r\n // const [userHasCreatePermission, setUserHasCreatePermission] = useState(false);\r\n // const [userHasUpdatePermission, setUserHasUpdatePermission] = useState(false);\r\n const [userHasDeletePermission, setUserHasDeletePermission] = useState(false);\r\n useEffect(() => {\r\n if (user) {\r\n // console.log(user.vhUser);\r\n if (user.vhUser) {\r\n // setUserHasCreatePermission(true);\r\n // setUserHasUpdatePermission(true);\r\n setUserHasDeletePermission(true);\r\n } else {\r\n var fileMappingModule = user.modules?.find(m => m.moduleName === 'FileMapping');\r\n if (fileMappingModule) {\r\n // var hasCreatePermission = !!fileMappingModule.permissions.some(p => p.permissionName === 'Create');\r\n // var hasUpdatePermission = !!fileMappingModule.permissions.some(p => p.permissionName === 'Update');\r\n var hasDeletePermission = !!fileMappingModule.permissions.some(p => p.permissionName === 'Delete');\r\n // setUserHasCreatePermission(hasCreatePermission);\r\n // setUserHasUpdatePermission(hasUpdatePermission);\r\n setUserHasDeletePermission(hasDeletePermission);\r\n } else {\r\n // setUserHasCreatePermission(false);\r\n // setUserHasUpdatePermission(false);\r\n setUserHasDeletePermission(false);\r\n }\r\n }\r\n }\r\n }, [user]);\r\n const [params, setParams] = useState({\r\n \"sortField\": \"fileName\",\r\n \"sortDirection\": \"asc\",\r\n \"pageSize\": 10,\r\n \"pageNumber\": 1,\r\n \"searchText\": props.searchText\r\n });\r\n useEffect(()=>{\r\n setParams(prev=>({...prev, searchText: props.searchText}));\r\n }, [props.searchText]);\r\n const loader = document.getElementById('splash-screen');\r\n useEffect(() => {\r\n loader.classList.remove('hidden')\r\n dispatch(actions.fetchCefitList(params));\r\n setTimeout(() => {\r\n loader.classList.add('hidden')\r\n }, 2000)\r\n }, [dispatch, params, loader]);\r\n const [page, setPage] = React.useState(0);\r\n const [rowsPerPage, setRowsPerPage] = React.useState(10);\r\n useEffect(()=>{\r\n if(rowsPerPage){\r\n setParams(prev=>({\r\n ...prev,\r\n \"pageSize\": rowsPerPage\r\n }))\r\n }\r\n },[rowsPerPage]);\r\n\r\n const handleChangePage = (event, value) => {\r\n setAllItemRows([])\r\n const pageNumber = value + 1;\r\n setPage(value);\r\n setParams(prev => ({...prev, pageNumber }));\r\n };\r\n\r\n const handleChangeRowsPerPage = (event) => {\r\n setRowsPerPage(parseInt(event.target.value));\r\n setAllItemRows([]);\r\n const pageSize = event.target.value;\r\n setParams(prev => ({...prev, pageSize }));\r\n };\r\n const [order, setOrder] = useState('asc');\r\n const [orderBy, setOrderBy] = useState('fileName');\r\n useEffect(() => {\r\n if (orderBy.length > 0) {\r\n setParams(prev => ({...prev, sortField: orderBy, sortDirection: order }));\r\n // console.log(\"handleRequestSort\", order, orderBy);\r\n }\r\n }, [order, orderBy]);\r\n const handleRequestSort = (event, property) => {\r\n if (orderBy === '') {\r\n setOrder('desc');\r\n setOrderBy(property);\r\n } else {\r\n const isAsc = orderBy === property && order === 'asc';\r\n setOrder(isAsc ? 'desc' : 'asc');\r\n setOrderBy(property);\r\n }\r\n };\r\n\r\n const classes = useStyles();\r\n let [allItemRows, setAllItemRows] = useState([])\r\n const cefitsUIContext = useCefitUiContext();\r\n const cefitsUIProps = useMemo(() => {\r\n return {\r\n ids: cefitsUIContext.ids,\r\n setIds: cefitsUIContext.setIds,\r\n queryParams: cefitsUIContext.queryParams,\r\n setQueryParams: cefitsUIContext.setQueryParams,\r\n openEditCefitPage: cefitsUIContext.openEditCefitPage,\r\n openDeleteCefitDialog: cefitsUIContext.openDeleteCefitDialog,\r\n };\r\n }, [cefitsUIContext]);\r\n\r\n\r\n const [level, setLevel] = React.useState('')\r\n const [message, setMessage] = React.useState('')\r\n const [toastVisible, setToastVisible] = React.useState(false)\r\n const [count, setCount] = useState(0);\r\n const [items, setItems] = useState([])\r\n\r\n const { listLoading } = currentState;\r\n useEffect(() => {\r\n if (cefitSuccess) {\r\n setLevel('success')\r\n setMessage(cefitMassage)\r\n setToastVisible(cefitSuccess)\r\n loader.classList.add('hidden')\r\n setTimeout(() => {\r\n dispatch(actions.reset())\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 5000)\r\n } else {\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }\r\n }, [dispatch, cefitSuccess, cefitMassage])\r\n useEffect(() => {\r\n if (error) {\r\n setLevel('danger')\r\n setMessage(error)\r\n setToastVisible(true)\r\n loader.classList.add('hidden')\r\n setTimeout(() => {\r\n dispatch(actions.reset())\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 5000)\r\n }\r\n }, [error])\r\n useEffect(() => {\r\n if (deleteSuccess) {\r\n dispatch(actions.fetchCefitList(params));\r\n }\r\n }, [deleteSuccess]);\r\n useEffect(() => {\r\n dispatch(actions.fetchCefitList(params));\r\n }, [dispatch]);\r\n\r\n function deleteCefit(item) {\r\n dispatch(actions.fetchDelete(item.id))\r\n }\r\n // const emptyRows = listLoading?.items && rowsPerPage - Math.min(rowsPerPage, listLoading.items.length - page * rowsPerPage);\r\n\r\n listLoading?.items && listLoading.items.forEach((item, i) => {\r\n const perItemRows = < CefitItem\r\n openEditCefitPage = { cefitsUIProps.openEditCefitPage }\r\n key = { i }\r\n item = { item }\r\n index = { i }\r\n onDelete = { deleteCefit }\r\n userHasDeletePermission = { userHasDeletePermission }\r\n />;\r\n allItemRows = allItemRows.concat(perItemRows);\r\n });\r\n \r\n var isIE = /*@cc_on!@*/false || !!document.documentMode;\r\n const [ieBrowser, setIeBrowser] = useState(isIE ? true : false);\r\n return ( <>\r\n {/* */}\r\n \r\n \r\n \r\n {allItemRows}\r\n {/* {emptyRows > 0 && (\r\n \r\n \r\n \r\n )} */}\r\n \r\n
\r\n\r\n \r\n{/*
*/}\r\n)\r\n}\r\n\r\nconst headCells = [\r\n { id: 'inner_actions', numeric: true, disablePadding: false, align: 'left', label: 'ID' },\r\n { id: 'tenantID', numeric: false, disablePadding: false, align: 'left', label: 'Tenant ID' },\r\n { id: 'tenantName', numeric: false, disablePadding: false, align: 'left', label: 'Tenant' },\r\n { id: 'FileFormat', numeric: false, disablePadding: false, align: 'left', label: 'File Format' },\r\n { id: 'FileDataType', numeric: false, disablePadding: false, align: 'left', label: 'File Data Type' },\r\n { id: 'FileName', numeric: false, disablePadding: false, align: 'left', label: 'File Name' },\r\n { id: 'StagingTableName', numeric: false, disablePadding: false, align: 'left', label: 'Staging Table Name' },\r\n { id: 'StoredProcedureName', numeric: false, disablePadding: false, align: 'left', label: 'Stored Procedure Name' },\r\n { id: 'SubmittedOn', numeric: false, disablePadding: false, align: 'left', label: 'Submitted On' },\r\n { id: 'SubmittedBy', numeric: false, disablePadding: false, align: 'left', label: 'Submitted By' },\r\n { id: 'DeploymentStatus', numeric: false, disablePadding: false, align: 'left', label: 'Configuration Status' },\r\n { id: 'actions', numeric: false, disablePadding: false, align: 'right', label: 'View' },\r\n { id: 'actions2', numeric: false, disablePadding: false, align: 'right', label: 'Decline' },\r\n];\r\n\r\nconst headCellsWithoutDelete = [\r\n { id: 'inner_actions', numeric: true, disablePadding: false, align: 'left', label: 'ID' },\r\n { id: 'tenantID', numeric: false, disablePadding: false, align: 'left', label: 'Tenant ID' },\r\n { id: 'tenantName', numeric: false, disablePadding: false, align: 'left', label: 'Tenant' },\r\n { id: 'FileFormat', numeric: false, disablePadding: false, align: 'left', label: 'File Format' },\r\n { id: 'FileDataType', numeric: false, disablePadding: false, align: 'left', label: 'File Data Type' },\r\n { id: 'FileName', numeric: false, disablePadding: false, align: 'left', label: 'File Name' },\r\n { id: 'StagingTableName', numeric: false, disablePadding: false, align: 'left', label: 'Staging Table Name' },\r\n { id: 'StoredProcedureName', numeric: false, disablePadding: false, align: 'left', label: 'Stored Procedure Name' },\r\n { id: 'SubmittedOn', numeric: false, disablePadding: false, align: 'left', label: 'Submitted On' },\r\n { id: 'SubmittedBy', numeric: false, disablePadding: false, align: 'left', label: 'Submitted By' },\r\n { id: 'DeploymentStatus', numeric: false, disablePadding: false, align: 'left', label: 'Configuration Status' },\r\n { id: 'actions', numeric: false, disablePadding: false, align: 'right', label: 'View' },\r\n];\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n },\r\n filterButton: {\r\n marginTop: 20\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n\r\n },\r\n cell: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n width: 35,\r\n minWidth: 35,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n formControl: {\r\n margin: '0 15px 0px 0px',\r\n minWidth: 180,\r\n maxWidth: '100%',\r\n },\r\n margin: {\r\n margin: '0 15px 0px 0px',\r\n },\r\n inputLabel: {\r\n //zIndex: 3,\r\n top: 12,\r\n left: 10\r\n },\r\n InputBase: {\r\n root: {\r\n marginTop: 0\r\n }\r\n }\r\n})","import React, {useMemo, useState, useEffect} from \"react\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport SVG from \"react-inlinesvg\";\r\nimport {\r\n Button,\r\n FormControl,\r\n InputBase,\r\n} from '@material-ui/core';\r\n// import clsx from 'clsx'\r\nimport { CefitTable } from \"./cefits-table/CefitsTable\";\r\nimport { useCefitUiContext } from \"./CefitUiContext\";\r\nimport {\r\n Portlet,\r\n PortletBody,\r\n PortletHeader,\r\n PortletHeaderToolbar,\r\n PortletHeaderTitle\r\n} from \"../../partials/content/Portlet\";\r\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { withStyles } from '@material-ui/core/styles';\r\n \r\nconst toAbsoluteUrl = pathname => process.env.PUBLIC_URL + pathname;\r\n\r\nconst BootstrapInput = withStyles((theme) => ({\r\n root: {\r\n 'label + &': {\r\n marginTop: theme.spacing(3),\r\n },\r\n },\r\n input: {\r\n borderRadius: 4,\r\n position: 'relative',\r\n backgroundColor: 'transparent',\r\n border: '1px solid #ced4da',\r\n fontSize: 10,\r\n padding: '10px 26px 10px 12px',\r\n transition: theme.transitions.create(['border-color', 'box-shadow']),\r\n // Use the system font instead of the default Roboto font.\r\n fontFamily: [\r\n '-apple-system',\r\n 'BlinkMacSystemFont',\r\n '\"Segoe UI\"',\r\n 'Roboto',\r\n '\"Helvetica Neue\"',\r\n 'Arial',\r\n 'sans-serif',\r\n '\"Apple Color Emoji\"',\r\n '\"Segoe UI Emoji\"',\r\n '\"Segoe UI Symbol\"',\r\n ].join(','),\r\n '&:focus': {\r\n borderRadius: 4,\r\n borderColor: '#80bdff',\r\n boxShadow: '0 0 0 0.2rem rgba(0,123,255,.25)',\r\n },\r\n },\r\n}))(InputBase);\r\nexport function CefitCard() {\r\n const classes = useStyles();\r\n const cefitsUIContext = useCefitUiContext();\r\n const cefitsUIProps = useMemo(() => {\r\n return {\r\n ids: cefitsUIContext.ids,\r\n queryParams: cefitsUIContext.queryParams,\r\n setQueryParams: cefitsUIContext.setQueryParams,\r\n newCefitButtonClick: cefitsUIContext.newCefitButtonClick,\r\n openDeleteCefitsDialog: cefitsUIContext.openDeleteCefitDialog,\r\n openEditCefitPage: cefitsUIContext.openEditCefitPage,\r\n openUpdateCefitsStatusDialog: cefitsUIContext.openUpdateCefitsStatusDialog,\r\n openFetchCefitsDialog: cefitsUIContext.openFetchCefitsDialog,\r\n ieBrowser: cefitsUIContext.ieBrowser\r\n };\r\n }, [cefitsUIContext]);\r\n var isIE = /*@cc_on!@*/false || !!document.documentMode;\r\n const [ieBrowser] = useState(isIE ? true : false);//, setIeBrowser\r\n const { user } = useSelector((state)=>({\r\n user: state.auth.user\r\n }), shallowEqual);\r\n \r\n const [userHasCreatePermission, setUserHasCreatePermission] = useState(false);\r\n// const [userHasUpdatePermission, setUserHasUpdatePermission] = useState(false);\r\n// const [userHasDeletePermission, setUserHasDeletePermission] = useState(false);\r\n useEffect(()=>{\r\n if(user){\r\n if(user.vhUser){\r\n setUserHasCreatePermission(true); \r\n // setUserHasUpdatePermission(true); \r\n // setUserHasDeletePermission(true);\r\n }else{\r\n var fileMappingModule = user.modules?.find(m=>m.moduleName==='FileMapping');\r\n if(fileMappingModule){\r\n var hasCreatePermission = !!fileMappingModule.permissions.some(p=>p.permissionName === 'Create');\r\n // var hasUpdatePermission = !!fileMappingModule.permissions.some(p=>p.permissionName === 'Update');\r\n // var hasDeletePermission = !!fileMappingModule.permissions.some(p=>p.permissionName === 'Delete');\r\n setUserHasCreatePermission(hasCreatePermission); \r\n // setUserHasUpdatePermission(hasUpdatePermission); \r\n // setUserHasDeletePermission(hasDeletePermission); \r\n }else{ \r\n setUserHasCreatePermission(false); \r\n // setUserHasUpdatePermission(false); \r\n // setUserHasDeletePermission(false); \r\n } \r\n }\r\n }\r\n },[user]);\r\n\r\n const [value, setValue] = useState('');\r\n const [searchText, setSearchText] = useState(\"\");\r\n const [isLoading, setIsLoading] = useState(false);\r\n const searchValue = (e) => {\r\n setValue(e.target.value);\r\n }\r\n const clearSearch = ()=>{\r\n setValue(\"\");\r\n setSearchText(\"\");\r\n }\r\n const onKeyUp = (e)=>{\r\n if (e.key === 'Enter') {\r\n e.preventDefault();\r\n getSearchResult();\r\n }\r\n }\r\n const getSearchResult = () => {\r\n setSearchText(value);\r\n setIsLoading(true);\r\n }\r\n\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n View Configurations\r\n \r\n }\r\n toolbar={\r\n \r\n {userHasCreatePermission && (\r\n \r\n )}\r\n \r\n }\r\n headerClassName={classes.portletHead}\r\n />\r\n \r\n \r\n
\r\n \r\n
\r\n searchValue(e)} onKeyUp={onKeyUp} value={value} id=\"bootstrap-input\" placeholder=\"Search\" className={classes.textField} />\r\n \r\n \r\n GO\r\n \r\n \r\n {value.length>0 && }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n },\r\n textField:{\r\n\r\n },\r\n filterButton: {\r\n marginTop: 20\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n cell: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n width: 35,\r\n minWidth: 35,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n formControl: {\r\n margin: '0 15px 0px 0px',\r\n minWidth: 180,\r\n maxWidth: '100%',\r\n },\r\n margin: {\r\n margin: '0 15px 0px 0px',\r\n },\r\n inputLabel: {\r\n //zIndex: 3,\r\n top: 12,\r\n left: 10\r\n },\r\n InputBase: {\r\n root: {\r\n marginTop: 0\r\n }\r\n }\r\n})\r\n","import React from 'react'\r\nimport { Route } from 'react-router-dom'\r\nimport { ThemeProvider, createMuiTheme } from '@material-ui/core/styles';\r\nimport { CefitUIProvider } from './CefitUiContext'\r\nimport { CefitLoadingDialog } from \"./cefit-loading-dialog/CefitLoadingDialog\";\r\nimport { CefitCard } from './CefitCard'\r\n\r\nexport function CefitPages({ history }) {\r\n var isIE = /*@cc_on!@*/false || !!document.documentMode;\r\n const [ieBrowser] = React.useState(isIE ? true : false);\r\n const cefitUIEvents = {\r\n newCefitButtonClick: () => {\r\n history.push(\"/cefit/list/add\");\r\n },\r\n openEditCefitPage: (id) => {\r\n history.push(`/cefit/list/${id}/edit`);\r\n },\r\n openDeleteCefitDialog: (id) => {\r\n history.push(`/cefit/list/${id}/delete`);\r\n },\r\n openDeleteCefitDialog: () => {\r\n history.push(`/cefit/deleteCefit`);\r\n },\r\n openFetchCefitDialog: () => {\r\n history.push(`/cefit/fetch`);\r\n },\r\n openUpdateCefitStatusDialog: () => {\r\n history.push(\"/cefit/updateStatus\");\r\n },\r\n ieBrowser: ieBrowser,\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst theme = createMuiTheme({\r\n overrides: {\r\n MuiExpansionPanelSummary: {\r\n content: {\r\n padding: 0,\r\n margin: '0px !important'\r\n }\r\n },\r\n MuiPagination: {\r\n root: {\r\n marginTop: 10,\r\n alignItems: 'center'\r\n },\r\n ul: {\r\n marginTop: 10,\r\n alignItems: 'center'\r\n }\r\n },\r\n MuiButtonBase: {\r\n root: {\r\n minHeight: '25px !important',\r\n lineHeight: '1.2 !important'\r\n },\r\n expandIcon: {\r\n padding: 5\r\n },\r\n },\r\n MuiButton: {\r\n text: {\r\n color: '#333333',\r\n },\r\n containedPrimary: {\r\n backgroundColor: '#0078d4',\r\n '&:hover': {\r\n backgroundColor: '#0078d4',\r\n }\r\n }\r\n },\r\n MuiExpansionPanelDetails: {\r\n root: {\r\n padding: '0px !important',\r\n backgroundColor: 'rgba(0, 0, 0, 0.0) !important'\r\n }\r\n },\r\n MuiTableCell: {\r\n root: {\r\n padding: 5,\r\n fontSize: '1rem'\r\n },\r\n head: {\r\n lineHeight: '2.5rem'\r\n },\r\n sizeSmall: {\r\n padding: 5,\r\n },\r\n stickyHeader: {\r\n backgroundColor: '#ffffff'\r\n }\r\n },\r\n MuiFormControl: {\r\n root: {\r\n width: 'auto'\r\n }\r\n },\r\n MuiFormControlLabel: {\r\n root: {\r\n marginBottom: 0,\r\n marginLeft: 0\r\n }\r\n },\r\n MuiList: {\r\n padding: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n }\r\n },\r\n MuiListItem: {\r\n root: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n }\r\n },\r\n MuiTooltip: {\r\n tooltip: {\r\n fontSize: 14\r\n }\r\n },\r\n MuiInputLabel: {\r\n formControl: {\r\n transform: 'translate(0, 7px) scale(1)'\r\n },\r\n shrink: {\r\n transform: 'translate(0, 31px) scale(0.75)'\r\n }\r\n },\r\n MuiInput: {\r\n formControl: {\r\n marginTop: '0 !important'\r\n }\r\n }\r\n },\r\n});\r\n\r\nconst useStyles = theme => ({\r\n progressBar: {\r\n top: 31,\r\n right: 0,\r\n bottom: 0,\r\n left: 0,\r\n position: 'absolute',\r\n background: 'rgba(0, 0, 0, 0.1)',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n zIndex: 99999\r\n }\r\n});","import React, { Suspense } from 'react'\r\nimport { Redirect, Route, Switch } from \"react-router-dom\";\r\nimport { LayoutSplashScreen } from \"../../../_metronic\";\r\nimport { ContentRoute } from '../../partials/content/ContentRoute';\r\nimport { CefitPages } from './CefitPages'\r\nimport { CefitsEdit } from './cefits-edit/CefitsEdit'\r\n\r\nexport function CefitRouter(){\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}","import React, { Suspense, lazy } from \"react\";\r\nimport { Redirect, Route, Switch } from \"react-router-dom\";\r\nimport { connect } from 'react-redux'\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { Button } from '@material-ui/core'\r\nimport Builder from \"./Builder\";\r\nimport Dashboard from \"./Dashboard\";\r\n// import DocsPage from \"./docs/DocsPage\";\r\nimport { LastRequestDateTime_Key, LayoutSplashScreen } from \"../../../_metronic\";\r\nimport RunTimePage from './runtime';\r\nimport Reports from './reports'\r\nimport Tenants from '../tenants/index';\r\nimport EditTenantComponent from '../tenants/tenant-edit'\r\nimport CompanyPolicyEdit from '../home/admin/company-policy/CompanyPolicyEdit'\r\nimport Modal from '@material-ui/core/Modal';\r\nimport AcceptPolicy from './admin/AcceptPolicy'\r\nimport { CefitRouter } from '../cefit/CefitRouter';\r\n\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { getStorage, setStorage, removeStorage } from \"../../../_metronic\";\r\nimport {actions} from \"../../store/ducks/auth.duck\";\r\n\r\n// const GoogleMaterialPage = lazy(() =>\r\n// import(\"./google-material/GoogleMaterialPage\")\r\n// );\r\nconst AdminPage = lazy(() =>\r\n import(\"./admin/AdminPage\")\r\n);\r\nclass HomePage extends React.Component{\r\n constructor(props){\r\n super(props)\r\n this.state = {\r\n open: true\r\n }\r\n this.hendleClose = this.hendleClose.bind(this);\r\n const user = props.user;\r\n setInterval(()=>{\r\n if(user && user.accessToken){\r\n let lastRequestDateTime = getStorage(LastRequestDateTime_Key);\r\n if(!lastRequestDateTime){\r\n lastRequestDateTime = Date.now();\r\n setStorage(LastRequestDateTime_Key, lastRequestDateTime);\r\n // console.log(`Home: session didn't have lastRequestDateTime, added new ${new Date(lastRequestDateTime)}`);\r\n }else{\r\n const sessionTimeout = parseInt(user.sessionTimeout)||1;\r\n // console.log(\"Home: sessionTimeout\", user.sessionTimeout, sessionTimeout);\r\n const currentRequestDateTime = Date.now();\r\n var duration = parseInt((currentRequestDateTime-lastRequestDateTime)/(60000)); // in minutes\r\n // if DateTime.now() - lastRequestDateTime >= sessionTimeout\r\n // console.log(`Home: Duration ${duration}`,new Date(parseInt(lastRequestDateTime)), new Date(currentRequestDateTime));\r\n if(duration >= sessionTimeout){\r\n // logout user and redirect to login screen\r\n removeStorage(LastRequestDateTime_Key);\r\n // dispatch(actions.logout());\r\n props.logout(); \r\n }\r\n }\r\n }\r\n },30*1000);\r\n }\r\n \r\n hendleClose(){ \r\n this.setState({\r\n open: false\r\n })\r\n }\r\n render() {\r\n const { classes } = this.props;\r\n const { user } = this.props;\r\n\r\n return (\r\n <>\r\n {!user.policyAccepted && \r\n
\r\n
\r\n

Accept Policy

\r\n {/* */}\r\n
\r\n
\r\n \r\n
\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.vhUser && } />}\r\n } />\r\n } />\r\n {user.vhUser && } />}\r\n {user.vhUser && }\r\n {!user.vhUser && }\r\n {/* */}\r\n \r\n {/* */}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n\r\nconst useStyles = theme => ({\r\n modal: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n paper: {\r\n position: 'absolute',\r\n width: 700,\r\n backgroundColor: theme.palette.background.paper,\r\n border: '1px solid #dddddd',\r\n boxShadow: theme.shadows[5],\r\n padding: 0,\r\n },\r\n modelTitle: {\r\n marginBottom: 0,\r\n display: 'block',\r\n fontWeight: '700',\r\n color: '#646c9a',\r\n fontSize: '13px',\r\n padding: 10,\r\n borderBottom: 'solid 1px #ddd',\r\n },\r\n closeButton: {\r\n position: 'absolute',\r\n right: '-40px',\r\n top: '-36px',\r\n background: 'none',\r\n boxShadow: 'none',\r\n padding: '0px !important',\r\n margin: '0px !important',\r\n width: '35px',\r\n height: '35px',\r\n border: '2px solid #fff',\r\n borderRadius: '50%',\r\n display: 'inline-block',\r\n color: '#fff',\r\n lineHeight: '30px',\r\n },\r\n peparContainer: {\r\n padding: 10,\r\n },\r\n modelSubmitBtn: {\r\n padding: 10\r\n },\r\n formGroup: {\r\n alignItems: 'center'\r\n },\r\n formLabel: {\r\n marginRight: 5\r\n },\r\n formlLabelName: {\r\n marginRight: 15,\r\n marginBottom: 0\r\n }\r\n})\r\n\r\nconst mapStateToProps = (state) => ({\r\n user: state.auth.user\r\n})\r\nconst {logout} = actions;\r\nexport default connect(mapStateToProps, {logout})(withStyles(useStyles)(HomePage));\r\n","import React from \"react\";\r\nimport { toAbsoluteUrl } from \"../../../_metronic\";\r\nimport \"../../../_metronic/_assets/sass/pages/error/error-1.scss\";\r\n\r\nexport function ErrorPage1() {\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n

404

\r\n

OOPS! 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\";\r\nimport \"../../../_metronic/_assets/sass/pages/error/error-2.scss\";\r\n\r\nexport function ErrorPage2() {\r\n return (\r\n <>\r\n
\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
\r\n
\r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { toAbsoluteUrl } from \"../../../_metronic\";\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
\r\n
\r\n

404

\r\n
\r\n

How did you get here

\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}\r\n","import React from \"react\";\r\nimport { toAbsoluteUrl } from \"../../../_metronic\";\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

ERROR

\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\";\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 \r\n

Oops!

\r\n
\r\n

Something went wrong here.

\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}\r\n","import React from \"react\";\r\nimport { toAbsoluteUrl } from \"../../../_metronic\";\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
\r\n

Oops...

\r\n
\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}\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","import React, { Component } from \"react\";\r\nimport * as auth from \"../../store/ducks/auth.duck\";\r\nimport { connect } from \"react-redux\";\r\nimport { Redirect } from \"react-router-dom\";\r\nimport { LayoutSplashScreen } from \"../../../_metronic\";\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\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","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport clsx from \"clsx\";\r\n\r\nexport default class SearchResult extends React.Component {\r\n render() {\r\n const { data } = this.props;\r\n\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 {data.map((item, index) => (\r\n \r\n {item.type === 1 && (\r\n
\r\n
\r\n {item.iconClassName ? (\r\n \r\n ) : item.iconImage ? (\r\n \"\"\r\n ) : null}\r\n
\r\n\r\n
\r\n \r\n {item.text}\r\n \r\n
\r\n {item.description}\r\n
\r\n
\r\n
\r\n )}\r\n\r\n {item.type === 0 && (\r\n
{item.text}
\r\n )}\r\n
\r\n ))}\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\n\r\nconst HeaderDropdownToggle = 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\nHeaderDropdownToggle.displayName = 'HeaderDropdownToggle';\r\nexport default HeaderDropdownToggle;\r\n","var _style, _desc, _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgSearch = function SvgSearch(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 24 24\",\n style: {\n enableBackground: \"new 0 0 24 24\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\r\\n\\t.st0{fill:none;}\\r\\n\\t.st1{fill:#CAE6FF;enable-background:new ;}\\r\\n\\t.st2{fill:#FFFFFF;}\\r\\n\")), _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Stockholm-icons-_x2F_-General-_x2F_-Search\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"bound\",\n className: \"st0\",\n width: 24,\n height: 24\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path-2\",\n className: \"st1\",\n d: \"M14.3,16.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l4,4c0.4,0.4,0.4,1,0,1.4s-1,0.4-1.4,0L14.3,16.7z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path\",\n className: \"st2\",\n d: \"M11,16c2.8,0,5-2.2,5-5s-2.2-5-5-5s-5,2.2-5,5S8.2,16,11,16z M11,18c-3.9,0-7-3.1-7-7s3.1-7,7-7 s7,3.1,7,7S14.9,18,11,18z\"\n }))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgSearch, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Search.ba8b8292.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _desc, _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgCompiling = function SvgCompiling(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 24 24\",\n style: {\n enableBackground: \"new 0 0 24 24\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\r\\n\\t.st0{fill:none;}\\r\\n\\t.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;enable-background:new ;}\\r\\n\\t.st2{fill-rule:evenodd;clip-rule:evenodd;fill:#CAE6FF;}\\r\\n\")), _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Stockholm-icons-_x2F_-Code-_x2F_-Compiling\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"bound\",\n className: \"st0\",\n width: 24,\n height: 24\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Combined-Shape\",\n className: \"st1\",\n d: \"M2.6,10.7l2.1-2.1C5.3,8,6.2,8,6.8,8.6l2.1,2.1c0.6,0.6,0.6,1.5,0,2.1l-2.1,2.1 c-0.6,0.6-1.5,0.6-2.1,0l-2.1-2.1C2,12.2,2,11.3,2.6,10.7z M14.6,10.7l2.1-2.1c0.6-0.6,1.5-0.6,2.1,0l2.1,2.1 c0.6,0.6,0.6,1.5,0,2.1l-2.1,2.1c-0.6,0.6-1.5,0.6-2.1,0l-2.1-2.1C14,12.2,14,11.3,14.6,10.7z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Combined-Shape_1_\",\n className: \"st2\",\n d: \"M8.6,16.7l2.1-2.1c0.6-0.6,1.5-0.6,2.1,0l2.1,2.1c0.6,0.6,0.6,1.5,0,2.1l-2.1,2.1 c-0.6,0.6-1.5,0.6-2.1,0l-2.1-2.1C8,18.2,8,17.3,8.6,16.7z M8.6,4.7l2.1-2.1c0.6-0.6,1.5-0.6,2.1,0l2.1,2.1c0.6,0.6,0.6,1.5,0,2.1 l-2.1,2.1c-0.6,0.6-1.5,0.6-2.1,0L8.6,6.8C8,6.2,8,5.3,8.6,4.7z\"\n }))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgCompiling, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Compiling.9209b5ef.svg\";\nexport { ForwardRef as ReactComponent };","import React, { createRef } from \"react\";\r\nimport clsx from \"clsx\";\r\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\r\nimport SearchResult from \"./SearchResult\";\r\nimport { toAbsoluteUrl } from \"../../../_metronic\";\r\nimport { Dropdown } from \"react-bootstrap\";\r\nimport HeaderDropdownToggle from \"../content/CustomDropdowns/HeaderDropdownToggle\";\r\nimport { ReactComponent as SearchIcon } from \"../../../_metronic/layout/assets/layout-svg-icons/Search.svg\";\r\n\r\nconst perfectScrollbarOptions = {\r\n wheelSpeed: 2,\r\n wheelPropagation: false\r\n};\r\n\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 kt-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 kt-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 kt-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 kt-font-info\"\r\n }\r\n];\r\n\r\nexport default class SearchDropdown extends React.Component {\r\n buttonRef = createRef();\r\n state = { loading: false, data: null, searchValue: \"\" };\r\n\r\n clearTimeout() {\r\n if (this.timeoutId) {\r\n clearTimeout(this.timeoutId);\r\n this.timeoutId = undefined;\r\n }\r\n }\r\n\r\n handleSearchChange = event => {\r\n this.setState({ data: null, searchValue: event.target.value });\r\n\r\n if (event.target.value.length > 2) {\r\n this.clearTimeout();\r\n\r\n this.setState({ loading: true });\r\n\r\n // simulate getting search result\r\n this.timeoutId = setTimeout(() => {\r\n this.setState({ data: fakeData, loading: false });\r\n }, 500);\r\n }\r\n };\r\n\r\n clear = () => {\r\n this.setState({ data: null, searchValue: \"\" });\r\n };\r\n\r\n componentWillUnmount() {\r\n this.clearTimeout();\r\n }\r\n\r\n render() {\r\n const { data, loading, searchValue } = this.state;\r\n const { useSVG, icon, iconType } = this.props;\r\n return (\r\n {\r\n this.setState({\r\n data: null,\r\n loading: false,\r\n searchValue: \"\"\r\n });\r\n }}\r\n >\r\n \r\n \r\n {!useSVG ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n","var _style, _desc, _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgLayout4Blocks = function SvgLayout4Blocks(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 24 24\",\n style: {\n enableBackground: \"new 0 0 24 24\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\r\\n\\t.st0{fill:none;}\\r\\n\\t.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#CAE6FF;}\\r\\n\\t.st2{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;enable-background:new ;}\\r\\n\")), _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Stockholm-icons-_x2F_-Layout-_x2F_-Layout-4-blocks\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"bound\",\n className: \"st0\",\n width: 24,\n height: 24\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Rectangle-7\",\n className: \"st1\",\n d: \"M5.5,4h4C10.3,4,11,4.7,11,5.5v4c0,0.8-0.7,1.5-1.5,1.5h-4C4.7,11,4,10.3,4,9.5v-4 C4,4.7,4.7,4,5.5,4z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Combined-Shape\",\n className: \"st2\",\n d: \"M5.5,13h4c0.8,0,1.5,0.7,1.5,1.5v4c0,0.8-0.7,1.5-1.5,1.5h-4C4.7,20,4,19.3,4,18.5v-4 C4,13.7,4.7,13,5.5,13z M14.5,4h4C19.3,4,20,4.7,20,5.5v4c0,0.8-0.7,1.5-1.5,1.5h-4c-0.8,0-1.5-0.7-1.5-1.5v-4 C13,4.7,13.7,4,14.5,4z M14.5,13h4c0.8,0,1.5,0.7,1.5,1.5v4c0,0.8-0.7,1.5-1.5,1.5h-4c-0.8,0-1.5-0.7-1.5-1.5v-4 C13,13.7,13.7,13,14.5,13z\"\n }))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLayout4Blocks, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Layout-4-blocks.c4b07263.svg\";\nexport { ForwardRef as ReactComponent };","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport { Nav, Tab, Dropdown } from \"react-bootstrap\";\r\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\r\nimport HeaderDropdownToggle from \"../content/CustomDropdowns/HeaderDropdownToggle\";\r\nimport { ReactComponent as CompilingIcon } from \"../../../_metronic/layout/assets/layout-svg-icons/Compiling.svg\";\r\n\r\nconst perfectScrollbarOptions = {\r\n wheelSpeed: 2,\r\n wheelPropagation: false\r\n};\r\n\r\nexport default class UserNotifications extends React.Component {\r\n state = { key: \"Alerts\" };\r\n\r\n getHeaderTopBarCssClassList = () => {\r\n let result = \"kt-header__topbar-icon \";\r\n if (this.props.pulse) {\r\n result += \"kt-pulse kt-pulse--brand \";\r\n }\r\n\r\n const { iconType } = this.props;\r\n if (iconType) {\r\n result += `kt-header__topbar-icon--${iconType}`;\r\n }\r\n\r\n return result;\r\n };\r\n\r\n getSvgCssClassList = () => {\r\n let result = \"kt-svg-icon \";\r\n const { iconType } = this.props;\r\n if (iconType) {\r\n result += `kt-svg-icon--${iconType}`;\r\n }\r\n\r\n return result;\r\n };\r\n\r\n getHetBackGroundCssClassList = () => {\r\n let result = \"kt-head \";\r\n if (this.props.skin) {\r\n result += `kt-head--skin-${this.props.skin} `;\r\n }\r\n\r\n result += \"kt-head--fit-x kt-head--fit-b\";\r\n return result;\r\n };\r\n\r\n backGroundStyle = () => {\r\n if (!this.props.bgImage) {\r\n return \"none\";\r\n }\r\n\r\n return \"url(\" + this.props.bgImage + \")\";\r\n };\r\n\r\n userNotificationsButtonCssClassList = () => {\r\n let result = \"btn \";\r\n if (this.props.type) {\r\n result += `btn-${this.props.type} `;\r\n }\r\n\r\n result += \"btn-sm btn-bold btn-font-md\";\r\n return result;\r\n };\r\n\r\n ulTabsClassList = () => {\r\n let result = \"nav nav-tabs nav-tabs-line nav-tabs-bold nav-tabs-line-3x \";\r\n if (this.props.type) {\r\n result += `nav-tabs-line-${this.props.type} `;\r\n }\r\n\r\n result += \"kt-notification-item-padding-x\";\r\n return result;\r\n };\r\n\r\n render() {\r\n // eslint-disable-next-line no-unused-vars\r\n const { key } = this.state;\r\n const { useSVG, icon, pulse } = this.props;\r\n return (\r\n \r\n \r\n \r\n {!useSVG && }\r\n\r\n {useSVG && (\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n\r\n \r\n
\r\n {/** Head */}\r\n \r\n

\r\n User Notifications \r\n \r\n 23 new\r\n \r\n

\r\n\r\n \r\n this.setState({ key: _key })}\r\n >\r\n \r\n \r\n Alerts\r\n \r\n \r\n \r\n \r\n Events\r\n \r\n \r\n \r\n \r\n Logs\r\n \r\n \r\n \r\n\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 order has been received\r\n
\r\n
\r\n 2 hrs ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n New customer is registered\r\n
\r\n
\r\n 3 hrs ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Application has been approved\r\n
\r\n
\r\n 3 hrs ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n New file has been uploaded\r\n
\r\n
\r\n 5 hrs ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n New user feedback received\r\n
\r\n
\r\n 8 hrs ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n System reboot has been successfully completed\r\n
\r\n
\r\n 12 hrs ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n New order has been placed\r\n
\r\n
\r\n 15 hrs ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Company meeting canceled\r\n
\r\n
\r\n 19 hrs ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n New report has been received\r\n
\r\n
\r\n 23 hrs ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Finance report has been generated\r\n
\r\n
\r\n 25 hrs ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n New customer comment recieved\r\n
\r\n
\r\n 2 days ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n New customer is registered\r\n
\r\n
\r\n 3 days ago\r\n
\r\n
\r\n
\r\n \r\n \r\n \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 report has been received\r\n
\r\n
\r\n 23 hrs ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Finance report has been generated\r\n
\r\n
\r\n 25 hrs ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n New order has been received\r\n
\r\n
\r\n 2 hrs ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n New customer is registered\r\n
\r\n
\r\n 3 hrs ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Application has been approved\r\n
\r\n
\r\n 3 hrs ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n New file has been uploaded\r\n
\r\n
\r\n 5 hrs ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n New user feedback received\r\n
\r\n
\r\n 8 hrs ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n System reboot has been successfully completed\r\n
\r\n
\r\n 12 hrs ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n New order has been placed\r\n
\r\n
\r\n 15 hrs ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Company meeting canceled\r\n
\r\n
\r\n 19 hrs ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n New report has been received\r\n
\r\n
\r\n 23 hrs ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Finance report has been generated\r\n
\r\n
\r\n 25 hrs ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n New customer comment recieved\r\n
\r\n
\r\n 2 days ago\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n New customer is registered\r\n
\r\n
\r\n 3 days ago\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n All caught up!\r\n
\r\n No new notifications.\r\n
\r\n
\r\n \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-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { ReactComponent as Layout4BlocksIcon } from \"../assets/layout-svg-icons/Layout-4-blocks.svg\";\r\nimport KTOffcanvas from \"../../_assets/js/offcanvas\";\r\n\r\nexport default class QuickPanelToggler extends React.Component {\r\n componentDidMount() {\r\n // eslint-disable-next-line\r\n const panel = document.getElementById(\"kt_quick_panel\");\r\n\r\n // eslint-disable-next-line\r\n const offCanvas = new KTOffcanvas(panel, {\r\n overlay: true,\r\n baseClass: \"kt-quick-panel\",\r\n closeBy: \"kt_quick_panel_close_btn\",\r\n toggleBy: \"kt_quick_panel_toggler_btn\"\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n <>\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","import { MsalAuthProvider, LoginType } from \"react-aad-msal\";\r\nimport { Logger, LogLevel } from \"msal\";\r\n\r\nexport const authProvider = new MsalAuthProvider(\r\n {\r\n auth: {\r\n authority: \"https://login.microsoftonline.com/common\",\r\n clientId: \"33865b71-a07e-45a7-b5a4-842a6ec2b0aa\",\r\n postLogoutRedirectUri: `${window.location.origin}/auth/login`,\r\n redirectUri: `${window.location.origin}/`,\r\n validateAuthority: true,\r\n navigateToLoginRequestUrl: true\r\n },\r\n system: {\r\n logger: new Logger(\r\n (logLevel, message, containsPii) => {\r\n // console.log(\"[MSAL]\", message);\r\n },\r\n {\r\n level: LogLevel.Verbose,\r\n piiLoggingEnabled: false\r\n }\r\n )\r\n },\r\n cache: {\r\n cacheLocation: \"sessionStorage\",\r\n storeAuthStateInCookie: true\r\n }\r\n },\r\n {\r\n scopes: [\"openid\"]\r\n },\r\n {\r\n loginType: LoginType.Popup,\r\n tokenRefreshUri: window.location.origin + \"/auth.html\"\r\n }\r\n);","import React, { Component } from 'react';\r\nimport { Link, Redirect } from \"react-router-dom\";\r\nimport * as auth from \"../../store/ducks/auth.duck\";\r\nimport { connect } from \"react-redux\";\r\nimport { AzureAD, AuthenticationState } from 'react-aad-msal';\r\nimport { authProvider } from '../../pages/auth/authProvider';\r\nimport { LayoutSplashScreen } from \"../../../_metronic\";\r\n\r\n \r\nclass AzureLogout extends Component {\r\n componentDidMount() {\r\n }\r\n onLogOut(logout){\r\n const { hasAuthToken } = this.props;\r\n this.props.logout();\r\n logout();\r\n return hasAuthToken ? : ;\r\n }\r\n\r\n render(){\r\n return(\r\n \r\n {\r\n ({login, logout, authenticationState, error, accountInfo}) => {\r\n const isInProgress = authenticationState === AuthenticationState.InProgress;\r\n const isAuthenticated = authenticationState === AuthenticationState.Authenticated;\r\n const isUnauthenticated = authenticationState === AuthenticationState.Unauthenticated;\r\n\r\n if (isAuthenticated) {\r\n return (\r\n \r\n \r\n Sign Out\r\n \r\n \r\n );\r\n } else if (isUnauthenticated || isInProgress) {\r\n return (\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\nexport default connect(\r\n ({ auth }) => ({ hasAuthToken: Boolean(auth.authToken) }),\r\n auth.actions\r\n)(AzureLogout);","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport Dropdown from \"react-bootstrap/Dropdown\";\r\nimport { connect } from \"react-redux\";\r\nimport { toAbsoluteUrl } from \"../../../_metronic\";\r\nimport HeaderDropdownToggle from \"../content/CustomDropdowns/HeaderDropdownToggle\";\r\nimport AzureLogout from './AzureLogOut';\r\n\r\nclass UserProfile extends React.Component {\r\n render() {\r\n const { user, showHi, showAvatar, showBadge } = this.props;\r\n\r\n return (\r\n \r\n \r\n
\r\n {/* {showHi && (\r\n // \r\n // Hi,\r\n // \r\n )} */}\r\n\r\n {showHi && (\r\n \r\n {user.firstName}\r\n \r\n )}\r\n\r\n {/* {showAvatar && \"Pic\"} */}\r\n\r\n {showBadge && (\r\n \r\n {/* TODO: Should get from currentUser */}\r\n John Doe\r\n \r\n )}\r\n
\r\n \r\n \r\n {/** ClassName should be 'dropdown-menu dropdown-menu-fit dropdown-menu-right dropdown-menu-anim dropdown-menu-top-unround dropdown-menu-xl' */}\r\n \r\n
\r\n \r\n {user && user.firstName.charAt(0)}\r\n \r\n
\r\n
{user.firstName}
\r\n {/*
\r\n \r\n 23 messages\r\n \r\n
*/}\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ auth: { user } }) => ({\r\n user\r\n});\r\n\r\nexport default connect(mapStateToProps)(UserProfile);\r\n","import React from \"react\";\r\nimport SearchDropdown from \"../../../app/partials/layout/SearchDropdown\";\r\nimport UserNotifications from \"../../../app/partials/layout/UserNotifications\";\r\n//import MyCart from \"../../../app/partials/layout/MyCart\";\r\n//import QuickActionsPanel from \"../../../app/partials/layout/QuickActionsPanel\";\r\nimport QuickPanelToggler from \"./QuickPanelToggle\";\r\n//import LanguageSelector from \"../../../app/partials/layout/LanguageSelector\";\r\nimport UserProfile from \"../../../app/partials/layout/UserProfile\";\r\n//import { toAbsoluteUrl } from \"../../utils/utils\";\r\nimport { Link } from \"react-router-dom\";\r\nimport SVG from 'react-inlinesvg'\r\n\r\nconst toAbsoluteUrl = pathname => process.env.PUBLIC_URL + pathname;\r\n\r\nexport default class Topbar extends React.Component {\r\n render() {\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","import React from \"react\";\r\n\r\nexport default class HMenuItemInner extends React.Component {\r\n\r\n itemCssClassWithBullet(item, parentItem) {\r\n if (item.bullet) {\r\n return `kt-menu__link-bullet--${item.bullet}`;\r\n }\r\n\r\n if (parentItem && parentItem.bullet) {\r\n return `kt-menu__link-bullet--${parentItem.bullet}`;\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n render() {\r\n const { item, parentItem} = this.props;\r\n return (\r\n <>\r\n {/* if menu item has icon */}\r\n {item.icon && (\r\n \r\n )}\r\n\r\n {/* if menu item using bullet */}\r\n {(!item.icon && (item.bullet || (parentItem && parentItem.bullet))) && (\r\n \r\n )}\r\n\r\n {!item.badge ? (\r\n <>\r\n \r\n {/* menu item title text */}\r\n {item.title}\r\n \r\n ) : (\r\n <>\r\n {/* menu item with badge */}\r\n {item.title}\r\n \r\n \r\n {item.badge.value}\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport HMenuItem from \"./HMenuItem\";\r\n\r\nexport default class HMenuColumn extends React.Component {\r\n render() {\r\n const { item, currentUrl } = this.props;\r\n return (\r\n
  • \r\n {item.heading && (\r\n

    \r\n {item.heading.title}\r\n \r\n

    \r\n )}\r\n {item.items && item.items.length && (\r\n
      \r\n {item.items.map((child, 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","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport objectPath from \"object-path\";\r\nimport clsx from \"clsx\";\r\nimport MenuItemInner from \"./HMenuItemInner\";\r\nimport HMenuColumn from \"./HMenuColumn\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nexport default class HMenuItem extends React.Component {\r\n /**\r\n * Returns Attribute SubMenu Toggle\r\n * @param item: any\r\n */\r\n getItemAttrSubmenuToggle = item => {\r\n const toggleEvent = objectPath.get(item, \"toggle\");\r\n if (toggleEvent === \"click\") {\r\n return \"click\";\r\n }\r\n\r\n if (objectPath.get(item, \"submenu.type\") === \"tabs\") {\r\n return \"tabs\";\r\n }\r\n\r\n return \"hover\";\r\n };\r\n\r\n /**\r\n * Check Menu is active\r\n * @param item: any\r\n */\r\n isMenuItemIsActive = item => {\r\n if (item.submenu) {\r\n return this.isMenuRootItemIsActive(item);\r\n }\r\n\r\n if (!item.page) {\r\n return false;\r\n }\r\n\r\n return this.props.currentUrl.indexOf(item.page) !== -1;\r\n };\r\n\r\n /**\r\n * Check Menu Root Item is active\r\n * @param item: any\r\n */\r\n isMenuRootItemIsActive = item => {\r\n if (item.submenu && !item.submenu.type) {\r\n for (const _subItem of item.submenu) {\r\n const isActive = this.isMenuItemIsActive(_subItem);\r\n if (isActive) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n if (item.submenu && item.submenu.columns) {\r\n for (const _column of item.submenu.columns) {\r\n for (const _subItem of _column.items)\r\n {\r\n const isActive = this.isMenuItemIsActive(_subItem);\r\n if (isActive) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n return false;\r\n };\r\n\r\n /**\r\n * Return Css Class Name\r\n * @param item: any\r\n */\r\n getItemCssClasses = item => {\r\n let classes = \"kt-menu__item\";\r\n\r\n if (objectPath.get(item, \"submenu\")) {\r\n classes += \" kt-menu__item--submenu\";\r\n }\r\n\r\n const isActive = this.isMenuItemIsActive(item);\r\n if (!item.submenu && isActive) {\r\n classes += \" kt-menu__item--active kt-menu__item--here\";\r\n }\r\n\r\n if (item.submenu && isActive) {\r\n classes += \" kt-menu__item--open kt-menu__item--here\";\r\n }\r\n\r\n if (objectPath.get(item, \"resizer\")) {\r\n classes += \" kt-menu__item--resize\";\r\n }\r\n\r\n const menuType = objectPath.get(item, \"submenu.type\") || \"classic\";\r\n if (\r\n (objectPath.get(item, \"root\") && menuType === \"classic\") ||\r\n parseInt(objectPath.get(item, \"submenu.width\"), 10) > 0\r\n ) {\r\n classes += \" kt-menu__item--rel\";\r\n }\r\n\r\n const customClass = objectPath.get(item, \"custom-class\");\r\n if (customClass) {\r\n classes += \" \" + customClass;\r\n }\r\n\r\n if (objectPath.get(item, \"icon-only\")) {\r\n classes += \" kt-menu__item--icon-only\";\r\n }\r\n\r\n return classes;\r\n };\r\n\r\n /**\r\n * Returns Submenu CSS Class Name\r\n * @param item: any\r\n */\r\n getItemMenuSubmenuClass = item => {\r\n let classes = \"\";\r\n\r\n const alignment = objectPath.get(item, \"alignment\") || \"right\";\r\n\r\n if (alignment) {\r\n classes += \" kt-menu__submenu--\" + alignment;\r\n }\r\n\r\n const type = objectPath.get(item, \"type\") || \"classic\";\r\n if (type === \"classic\") {\r\n classes += \" kt-menu__submenu--classic\";\r\n }\r\n if (type === \"tabs\") {\r\n classes += \" kt-menu__submenu--tabs\";\r\n }\r\n if (type === \"mega\") {\r\n if (objectPath.get(item, \"width\")) {\r\n classes += \" kt-menu__submenu--fixed\";\r\n }\r\n }\r\n\r\n if (objectPath.get(item, \"pull\")) {\r\n classes += \" kt-menu__submenu--pull\";\r\n }\r\n\r\n return classes;\r\n };\r\n\r\n render() {\r\n const { item, parentItem, currentUrl, rootArrowEnabled } = this.props;\r\n return (\r\n \r\n {/* if item has submenu */}\r\n {item.submenu && (\r\n \r\n \r\n {rootArrowEnabled && (\r\n <>\r\n {item.submenu && item.root && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n\r\n {item.submenu && !item.root && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n\r\n {/* if item hasn't submenu */}\r\n {!item.submenu && (\r\n \r\n \r\n \r\n )}\r\n\r\n {/* if menu item has submenu child then recursively call new menu item component */}\r\n {item.submenu && (\r\n \r\n \r\n\r\n {item.submenu && item.submenu.length && (\r\n
      \r\n {item.submenu.map((child, index) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n })}\r\n
    \r\n )}\r\n\r\n {item.submenu.items && item.submenu.items.length && (\r\n
      \r\n {item.submenu.items.map((child, index) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n })}\r\n
    \r\n )}\r\n\r\n {item.submenu.type === \"mega\" &&\r\n (item.submenu.columns && item.submenu.columns.length) && (\r\n
    \r\n
      \r\n {item.submenu.columns.map((child, 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","import React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport objectPath from \"object-path\";\r\nimport HMenuItem from \"./HMenuItem\";\r\nimport * as builder from \"../../../ducks/builder\";\r\nimport { toAbsoluteUrl } from \"../../..\";\r\nimport KTMenu from \"../../../_assets/js/menu\";\r\nimport KTOffcanvas from \"../../../_assets/js/offcanvas\";\r\n\r\nconst offcanvasOptions = {\r\n overlay: true,\r\n baseClass: \"kt-header-menu-wrapper\",\r\n closeBy: \"kt_header_menu_mobile_close_btn\",\r\n toggleBy: {\r\n target: \"kt_header_mobile_toggler\",\r\n state: \"kt-header-mobile__toolbar-toggler--active\"\r\n }\r\n};\r\n\r\nclass HMenu extends React.Component {\r\n offCanvasCommonRef = React.createRef();\r\n ktMenuCommonRef = React.createRef();\r\n\r\n getHeaderLogo() {\r\n let result = \"logo-light.png\";\r\n if (this.props.headerSelfSkin && this.props.headerSelfSkin !== \"dark\") {\r\n result = \"logo-dark.png\";\r\n }\r\n return toAbsoluteUrl(`/media/logos/${result}`);\r\n }\r\n\r\n get currentUrl() {\r\n return this.props.location.pathname.split(/[?#]/)[0];\r\n }\r\n\r\n componentDidMount() {\r\n // Canvas\r\n this.initOffCanvas();\r\n // Menu\r\n this.initKTMenu();\r\n }\r\n\r\n initOffCanvas = () => {\r\n // eslint-disable-next-line no-undef\r\n new KTOffcanvas(this.offCanvasCommonRef.current, offcanvasOptions);\r\n };\r\n\r\n initKTMenu = () => {\r\n let menuOptions = {\r\n submenu: {\r\n desktop: \"dropdown\",\r\n tablet: \"accordion\",\r\n mobile: \"accordion\"\r\n },\r\n accordion: {\r\n slideSpeed: 200, // accordion toggle slide speed in milliseconds\r\n expandAll: false // allow having multiple expanded accordions in the menu\r\n },\r\n dropdown: {\r\n timeout: 50\r\n }\r\n };\r\n\r\n let menuDesktopMode = \"accordion\";\r\n if (\r\n this.ktMenuCommonRef.current.getAttribute(\"data-ktmenu-dropdown\") === \"1\"\r\n ) {\r\n menuDesktopMode = \"dropdown\";\r\n }\r\n\r\n if (typeof objectPath.get(menuOptions, \"submenu.desktop\") === \"object\") {\r\n menuOptions.submenu.desktop = {\r\n default: menuDesktopMode\r\n };\r\n }\r\n\r\n // eslint-disable-next-line no-undef\r\n new KTMenu(this.ktMenuCommonRef.current, menuOptions);\r\n };\r\n\r\n render() {\r\n const {\r\n disabledAsideSelfDisplay,\r\n ktMenuClasses,\r\n ulClasses,\r\n rootArrowEnabled\r\n } = this.props;\r\n //const items = this.props.menuConfig.header.items;\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n {disabledAsideSelfDisplay && (\r\n
    \r\n \r\n \"logo\"\r\n \r\n
    \r\n )}\r\n\r\n \r\n
      \r\n {/* {items.map((item, index) => {\r\n return (\r\n \r\n {item.title && (\r\n \r\n )}\r\n \r\n );\r\n })} */}\r\n
    \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = store => ({\r\n config: store.builder.layoutConfig,\r\n menuConfig: store.builder.menuConfig,\r\n ktMenuClasses: builder.selectors.getClasses(store, {\r\n path: \"header_menu\",\r\n toString: true\r\n }),\r\n rootArrowEnabled: builder.selectors.getConfig(\r\n store,\r\n \"header.menu.self.root-arrow\"\r\n ),\r\n headerSelfSkin: builder.selectors.getConfig(store, \"header.self.skin\"),\r\n ulClasses: builder.selectors.getClasses(store, {\r\n path: \"header_menu_nav\",\r\n toString: true\r\n }),\r\n disabledAsideSelfDisplay:\r\n objectPath.get(store.builder.layoutConfig, \"aside.self.display\") === false\r\n});\r\n\r\nexport default withRouter(connect(mapStateToProps)(HMenu));\r\n","import React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Progress } from \"reactstrap\";\r\n\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 }\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 from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport objectPath from \"object-path\";\r\nimport Topbar from \"./Topbar\";\r\nimport HMenu from \"./HMenu/HMenu\";\r\nimport AnimateLoading from \"../../../app/partials/layout/AnimateLoading\";\r\nimport KTHeader from \"../../_assets/js/header\";\r\nimport * as builder from \"../../ducks/builder\";\r\n// import QuickPanelToggler from './QuickPanelToggle'\r\n\r\nclass Header extends React.Component {\r\n headerCommonRef = React.createRef();\r\n\r\n componentDidMount() {\r\n let options = {};\r\n if (\r\n this.headerCommonRef.current.getAttribute(\"data-ktheader-minimize\") ===\r\n \"1\"\r\n ) {\r\n options[\"minimize.desktop.on\"] = \"kt-header--minimize\";\r\n options[\"offset.desktop\"] = 130;\r\n }\r\n\r\n // eslint-disable-next-line no-undef\r\n new KTHeader(this.headerCommonRef.current, options);\r\n }\r\n\r\n render() {\r\n const {\r\n menuHeaderDisplay,\r\n headerAttributes,\r\n headerClasses\r\n } = this.props;\r\n return (\r\n \r\n \r\n {/* */}\r\n {menuHeaderDisplay && }\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {!menuHeaderDisplay &&
    }\r\n \r\n {/* */}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = store => ({\r\n headerClasses: builder.selectors.getClasses(store, {\r\n path: \"header\",\r\n toString: true\r\n }),\r\n headerAttributes: builder.selectors.getAttributes(store, { path: \"header\" }),\r\n menuHeaderDisplay: objectPath.get(\r\n store.builder.layoutConfig,\r\n \"header.menu.self.display\"\r\n ),\r\n fluid:\r\n objectPath.get(store.builder.layoutConfig, \"header.self.width\") === \"fluid\"\r\n});\r\n\r\nexport default connect(mapStateToProps)(Header);\r\n","/* eslint-disable jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nfunction BreadCrumbs(props) {\r\n const { items } = props;\r\n if (!items || !items.length) {\r\n return \"\";\r\n }\r\n\r\n const length = items.length;\r\n return (\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 {length !== index + 1 && (\r\n \r\n )}\r\n \r\n ))}\r\n
    \r\n );\r\n}\r\n\r\nexport default BreadCrumbs;\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { Link } from 'react-router-dom';\r\nimport objectPath from \"object-path\";\r\nimport { withRouter } from \"react-router-dom\";\r\n//import { QuickActions } from \"./components/QuickActions\";\r\nimport { LayoutContextConsumer } from \"../LayoutContext\";\r\n//import { ReactComponent as SortNum1Icon } from \"../../../_metronic/layout/assets/layout-svg-icons/SortNum1.svg\";\r\nimport * as builder from \"../../ducks/builder\";\r\nimport BreadCrumbs from \"./components/BreadCrumbs\";\r\nimport SVG from 'react-inlinesvg'\r\n\r\nconst toAbsoluteUrl = pathname => process.env.PUBLIC_URL + pathname;\r\n\r\nclass SubHeader extends React.Component {\r\n componentWillMount(){\r\n // let classes1 = 'kt_subheader'; \r\n // var myEla = document.getElementById(classes1);\r\n // const { history } = this.props;\r\n // let classes1 = 'kt_subheader'; \r\n // var myEla = document.getElementById(classes1);\r\n // if(history.location.pathname === '/runtime/tableData'){\r\n // myEla.style.display = 'block'\r\n // }\r\n var wrapper = document.getElementById('kt_wrapper');\r\n if(wrapper){\r\n if (window.location.href.indexOf('tableData') > 0) {\r\n // myEla.setAttribute(\"style\", \"display:none\");\r\n wrapper.setAttribute('style', \"padding-top: 64px\")\r\n }else {\r\n // myEla.setAttribute(\"style\", \"display:inherit\");\r\n wrapper.setAttribute('style', \"padding-top: 100px\")\r\n }\r\n }\r\n }\r\n render() {\r\n const {\r\n subheaderCssClasses,\r\n subheaderContainerCssClasses,\r\n subheaderMobileToggle, \r\n } = this.props;\r\n return (\r\n \r\n
    \r\n
    \r\n {subheaderMobileToggle && (\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n {({ subheader: { title, breadcrumb } }) => (\r\n <>\r\n {/*

    {title}

    */}\r\n \r\n \r\n )}\r\n
    \r\n\r\n {/* \r\n #XRS-45670\r\n \r\n Add New\r\n */}\r\n
    \r\n\r\n
    \r\n
    \r\n {/* \r\n */}\r\n {/*
    \r\n \r\n \r\n \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = store => ({\r\n config: store.builder.layoutConfig,\r\n menuConfig: store.builder.menuConfig,\r\n subheaderMobileToggle: objectPath.get(\r\n store.builder.layoutConfig,\r\n \"subheader.mobile-toggle\"\r\n ),\r\n subheaderCssClasses: builder.selectors.getClasses(store, {\r\n path: \"subheader\",\r\n toString: true\r\n }),\r\n subheaderContainerCssClasses: builder.selectors.getClasses(store, {\r\n path: \"subheader_container\",\r\n toString: true\r\n })\r\n});\r\n\r\nexport default withRouter(connect(mapStateToProps)(SubHeader));\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\nimport objectPath from \"object-path\";\r\nimport * as builder from \"../../ducks/builder\";\r\nimport KTToggle from \"../../_assets/js/toggle\";\r\n\r\nclass HeaderMobile extends React.Component {\r\n toggleButtonRef = React.createRef();\r\n\r\n componentDidMount() {\r\n new KTToggle(this.toggleButtonRef.current, this.props.toggleOptions);\r\n }\r\n\r\n render() {\r\n const {\r\n headerLogo,\r\n asideDisplay,\r\n headerMenuSelfDisplay,\r\n headerMobileCssClasses,\r\n headerMobileAttributes\r\n } = this.props;\r\n return (\r\n \r\n
    \r\n \r\n \"logo\"\r\n \r\n
    \r\n\r\n
    \r\n {asideDisplay && (\r\n \r\n \r\n \r\n )}\r\n\r\n {headerMenuSelfDisplay && (\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = store => ({\r\n headerLogo: builder.selectors.getStickyLogo(store),\r\n asideDisplay: objectPath.get(\r\n store.builder.layoutConfig,\r\n \"aside.self.display\"\r\n ),\r\n headerMenuSelfDisplay:\r\n objectPath.get(store.builder.layoutConfig, \"header.menu.self.display\") ===\r\n true,\r\n toggleOptions: {\r\n target: \"body\",\r\n targetState: \"kt-header__topbar--mobile-on\",\r\n togglerState: \"kt-header-mobile__toolbar-topbar-toggler--active\"\r\n },\r\n headerMobileCssClasses: builder.selectors.getClasses(store, {\r\n path: \"header_mobile\",\r\n toString: true\r\n }),\r\n headerMobileAttributes: builder.selectors.getAttributes(store, {\r\n path: \"aside_menu\"\r\n })\r\n});\r\n\r\nexport default connect(mapStateToProps)(HeaderMobile);\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\nimport objectPath from \"object-path\";\r\nimport KTToggle from \"../../_assets/js/toggle\";\r\nimport * as builder from \"../../ducks/builder\";\r\n// import { ReactComponent as AngleDoubleLeftIcon } from \"../assets/layout-svg-icons/Angle-double-left.svg\";\r\n// import { ReactComponent as AngleDoubleRightIcon } from \"../assets/layout-svg-icons/Angle-double-right.svg\";\r\n\r\n\r\nclass Brand extends React.Component {\r\n ktToggleRef = React.createRef();\r\n\r\n componentDidMount() {\r\n // eslint-disable-next-line no-undef\r\n new KTToggle(this.ktToggleRef.current, this.props.toggleOptions);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n
    \r\n \r\n \"logo\"\r\n \r\n
    \r\n\r\n {/* {this.props.asideSelfMinimizeToggle && (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )} */}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = store => {\r\n return {\r\n brandClasses: builder.selectors.getClasses(store, {\r\n path: \"brand\",\r\n toString: true\r\n }),\r\n asideSelfMinimizeToggle: objectPath.get(\r\n store.builder.layoutConfig,\r\n \"aside.self.minimize.toggle\"\r\n ),\r\n headerLogo: builder.selectors.getLogo(store),\r\n headerStickyLogo: builder.selectors.getStickyLogo(store),\r\n toggleOptions: {\r\n target: \"body\",\r\n targetState: \"kt-aside--minimize\",\r\n togglerState: \"kt-aside__brand-aside-toggler--active\"\r\n }\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(Brand);\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\nimport objectPath from \"object-path\";\r\nimport KTToggle from \"../../_assets/js/toggle\";\r\nimport { OutlinedInput, InputAdornment, IconButton, Visibility, createMuiTheme, ThemeProvider } from '@material-ui/core'\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport * as builder from \"../../ducks/builder\";\r\nimport { ReactComponent as AngleDoubleLeftIcon } from \"../assets/layout-svg-icons/Angle-double-left.svg\";\r\nimport { ReactComponent as AngleDoubleRightIcon } from \"../assets/layout-svg-icons/Angle-double-right.svg\";\r\n\r\n\r\nclass HeaderSearch extends React.Component {\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n values: ''\r\n }\r\n }\r\n ktToggleRef = React.createRef();\r\n\r\n componentDidMount() {\r\n // eslint-disable-next-line no-undef\r\n new KTToggle(this.ktToggleRef.current, this.props.toggleOptions);\r\n }\r\n\r\n heandleChange(event){\r\n const { filterMenu } = this.props;\r\n this.setState({\r\n values: event.target.value\r\n }) \r\n filterMenu(event.target.value)\r\n }\r\n\r\n render() {\r\n const { values } = this.state;\r\n return (\r\n \r\n \r\n
    \r\n {/* this.heandleChange(e)}\r\n className='qqqq'\r\n endAdornment={\r\n \r\n \r\n {}\r\n \r\n \r\n }\r\n //labelWidth='100%'\r\n /> */}\r\n
    \r\n\r\n {this.props.asideSelfMinimizeToggle && (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )}\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = store => {\r\n return {\r\n searchClasses: builder.selectors.getClasses(store, {\r\n path: \"search\",\r\n toString: true\r\n }),\r\n asideSelfMinimizeToggle: objectPath.get(\r\n store.builder.layoutConfig,\r\n \"aside.self.minimize.toggle\"\r\n ),\r\n headerLogo: builder.selectors.getLogo(store),\r\n headerStickyLogo: builder.selectors.getStickyLogo(store),\r\n toggleOptions: {\r\n target: \"body\",\r\n targetState: \"kt-aside--minimize\",\r\n togglerState: \"kt-aside__search-aside-toggler--active\"\r\n }\r\n };\r\n};\r\n\r\nconst theme = createMuiTheme({\r\n MuiOutlinedInput: {\r\n input: {\r\n padding: 5\r\n }\r\n }\r\n})\r\n\r\nexport default connect(mapStateToProps)(HeaderSearch);","import React from \"react\";\r\n\r\nexport default class MenuSection extends React.Component {\r\n render() {\r\n const { item } = this.props;\r\n return (\r\n
  • \r\n

    {item.section}

    \r\n \r\n
  • \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\n\r\nexport default class MenuItemSeparator extends React.Component {\r\n render() {\r\n return (\r\n
  • \r\n \r\n
  • \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport SVG from \"react-inlinesvg\";\r\n\r\nconst toAbsoluteUrl = pathname => process.env.PUBLIC_URL + pathname;\r\n\r\nexport default class MenuItemText extends React.Component {\r\n render() {\r\n const { item, parentItem } = this.props;\r\n const { user } = this.props\r\n return (\r\n <>\r\n {item.icon && }\r\n {item.svg && }\r\n {parentItem && parentItem.bullet === \"dot\" && (\r\n \r\n \r\n \r\n )}\r\n\r\n {parentItem && parentItem.bullet === \"line\" && (\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n {!item.translate ? (\r\n item.displayModuleName\r\n ) : (\r\n \r\n )}\r\n \r\n\r\n {item.badge && (\r\n \r\n \r\n {item.badge.value}\r\n \r\n \r\n )}\r\n\r\n {user && !user.vhUser && item.displayModuleName !== 'Admin' && item.subModule.length > 0 && }\r\n {user && user.vhUser && item.subModule.length > 0 && }\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport MenuSection from \"./MenuSection\";\r\nimport MenuItemSeparator from \"./MenuItemSeparator\";\r\nimport MenuItem from \"./MenuItem\";\r\nimport { connect } from \"react-redux\";\r\n\r\nclass MenuSubmenu extends React.Component {\r\n render() {\r\n const { \r\n item, \r\n currentUrl, \r\n layoutConfig \r\n } = this.props;\r\n return (\r\n
      \r\n {item.subModule.map((child, index) => (\r\n \r\n {child.section && (\r\n \r\n )}\r\n\r\n {child.separator && (\r\n \r\n )}\r\n {child.moduleName && (this.props.user.vhUser || this.props.user.modules.find(m=>m.moduleName.trim() === child.moduleName.trim())) && (\r\n \r\n )}\r\n \r\n ))}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = store => ({\r\n user: store.auth.user\r\n });\r\n \r\nexport default connect(mapStateToProps)(MenuSubmenu);\r\n","import React from \"react\";\r\nimport objectPath from \"object-path\";\r\nimport { Link } from \"react-router-dom\";\r\nimport MenuItemText from \"./MenuItemText\";\r\nimport MenuSubmenu from \"./MenuSubmenu\";\r\nimport clsx from \"clsx\";\r\nimport { connect } from \"react-redux\";\r\n\r\nclass MenuItem extends React.Component {\r\n asideLeftLIRef = React.createRef();\r\n isDropdown = document.body.classList.contains(\"kt-aside-menu--dropdown\");\r\n\r\n submenuToggle =\r\n this.props.item.toggle === \"click\"\r\n ? \"click\"\r\n : objectPath.get(this.props.item, \"submenu.type\") === \"tabs\"\r\n ? \"tabs\"\r\n : \"hover\";\r\n\r\n /**\r\n * Use for fixed left aside menu, to show menu on mouseenter event.\r\n * @param event Event\r\n */\r\n mouseEnter = event => {\r\n if (!this.isDropdown) {\r\n return;\r\n }\r\n\r\n if (this.props.item.subModule.length > 0) {\r\n this.asideLeftLIRef.current.classList.add(\"kt-menu__item--hover\");\r\n this.asideLeftLIRef.current.setAttribute(\r\n \"data-ktmenu-submenu-toggle\",\r\n this.submenuToggle\r\n );\r\n }\r\n };\r\n\r\n /**\r\n * Mouse Leave event\r\n * @param event: MouseEvent\r\n */\r\n mouseLeave = event => {\r\n if (!this.isDropdown) {\r\n return;\r\n }\r\n\r\n if (this.props.item.subModule.length > 0 && this.submenuToggle === \"hover\") {\r\n this.asideLeftLIRef.current.classList.remove(\"kt-menu__item--hover\");\r\n this.asideLeftLIRef.current.removeAttribute(\"data-ktmenu-submenu-toggle\");\r\n }\r\n };\r\n\r\n isMenuItemIsActive = item => {\r\n if (item.subModule.length > 0) {\r\n return this.isMenuRootItemIsActive(item);\r\n }\r\n\r\n if (!item.pageUrl) {\r\n return false;\r\n }\r\n\r\n return this.props.currentUrl.indexOf(item.pageUrl) !== -1;\r\n };\r\n\r\n isMenuRootItemIsActive = item => {\r\n for (const subItem of item.subModule) {\r\n if (this.isMenuItemIsActive(subItem)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n };\r\n\r\n render() {\r\n const { item, currentUrl, parentItem, layoutConfig } = this.props;\r\n const isActive = this.isMenuItemIsActive(item);\r\n const { user } = this.props;\r\n\r\n return (\r\n 0,\r\n \"kt-menu__item--open kt-menu__item--here\": isActive && item.subModule.length > 0,\r\n \"kt-menu__item--active kt-menu__item--here\":\r\n isActive && !item.subModule.length > 0,\r\n \"kt-menu__item--icon-only\": item[\"icon-only\"]\r\n },\r\n item[\"custom-class\"]\r\n )}\r\n data-ktmenu-dropdown-toggle-class={item[\"dropdown-toggle-class\"]}\r\n >\r\n \r\n {item.subModule.length === 0 && (\r\n item.displayModuleName !== 'File Mapping' ? \r\n \r\n : \r\n \r\n \r\n File Mapping\r\n \r\n )}\r\n {user && user.vhUser && item.displayModuleName === 'Admin' && <>\r\n\r\n {item.subModule.length > 0 && (\r\n // eslint-disable-next-line jsx-a11y/anchor-is-valid\r\n \r\n \r\n \r\n )}\r\n \r\n {item.subModule.length > 0 && (\r\n
    \r\n \r\n \r\n {item[\"custom-class\"] === \"kt-menu__item--submenu-fullheight\" && (\r\n
    \r\n \r\n
    \r\n )}\r\n\r\n {item[\"custom-class\"] !== \"kt-menu__item--submenu-fullheight\" && (\r\n \r\n )}\r\n
    \r\n )}\r\n }\r\n {user && !user.vhUser && item.displayModuleName === 'Admin' &&<> \r\n \r\n \r\n \r\n }\r\n\r\n {user && !user.vhUser && item.displayModuleName !== 'Admin' && item.subModule.length > 0 && (\r\n // eslint-disable-next-line jsx-a11y/anchor-is-valid\r\n \r\n \r\n \r\n )}\r\n \r\n {user && !user.vhUser && item.displayModuleName !== 'Admin' && item.subModule.length > 0 && (\r\n
    \r\n \r\n\r\n {item[\"custom-class\"] === \"kt-menu__item--submenu-fullheight\" && (\r\n
    \r\n \r\n
    \r\n )}\r\n\r\n {item[\"custom-class\"] !== \"kt-menu__item--submenu-fullheight\" && (\r\n \r\n )}\r\n
    \r\n )}\r\n \r\n {user && user.vhUser && item.displayModuleName !== 'Admin' && item.subModule.length > 0 && (\r\n // eslint-disable-next-line jsx-a11y/anchor-is-valid\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {user && user.vhUser && item.displayModuleName !== 'Admin' && item.subModule.length > 0 && (\r\n
    \r\n \r\n\r\n {item[\"custom-class\"] === \"kt-menu__item--submenu-fullheight\" && (\r\n
    \r\n \r\n
    \r\n )}\r\n\r\n {item[\"custom-class\"] !== \"kt-menu__item--submenu-fullheight\" && (\r\n \r\n )}\r\n
    \r\n )}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n\r\nconst mapStateToProps = store => ({\r\n user: store.auth.user\r\n});\r\n\r\nexport default connect(mapStateToProps)(MenuItem);","import React from \"react\";\r\nimport MenuSection from \"./MenuSection\";\r\nimport MenuItemSeparator from \"./MenuItemSeparator\";\r\nimport MenuItem from \"./MenuItem\";\r\n\r\nexport default class MenuList extends React.Component {\r\n render() {\r\n const { currentUrl, menuConfig, layoutConfig } = this.props;\r\n return menuConfig.length > 0 ? menuConfig.map((child, index) => {\r\n return (\r\n \r\n {child.section && }\r\n {child.separator && }\r\n { (this.props.user.vhUser || (this.props.user.menuAccess && this.props.user.menuAccess.includes(child.moduleName))) && (\r\n \r\n )}\r\n \r\n );\r\n }) :
    Loading...
    ;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport objectPath from \"object-path\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport clsx from \"clsx\";\r\nimport { removeCSSClass } from \"../../utils/utils\";\r\nimport * as builder from \"../../ducks/builder\";\r\nimport MenuList from \"./MenuList\";\r\nimport KTMenu from \"../../_assets/js/menu\";\r\nimport KTUtil from \"../../_assets/js/util\";\r\n\r\nclass AsideLeft extends React.Component {\r\n asideMenuRef = React.createRef();\r\n\r\n insideTm;\r\n outsideTm;\r\n\r\n componentDidMount() {\r\n this.initMenu(); // By ID\r\n\r\n const options = this.setupMenuOptions();\r\n const ktMenu = new KTMenu(this.asideMenuRef.current, options); // eslint-disable-line\r\n }\r\n\r\n initMenu() {\r\n const { config } = this.props;\r\n if (\r\n objectPath.get(config, \"aside.menu.dropdown\") !== \"true\" &&\r\n objectPath.get(config, \"aside.self.fixed\")\r\n ) {\r\n this.asideMenuRef.current.setAttribute(\"data-ktmenu-scroll\", \"1\");\r\n }\r\n\r\n if (objectPath.get(config, \"aside.menu.dropdown\") === \"true\") {\r\n this.asideMenuRef.current.setAttribute(\"data-ktmenu-dropdown\", \"1\");\r\n this.asideMenuRef.current.setAttribute(\r\n \"data-ktmenu-dropdown-timeout\",\r\n objectPath.get(config, \"aside.menu.submenu.dropdown.hover-timeout\")\r\n );\r\n }\r\n }\r\n\r\n setupMenuOptions() {\r\n let menuOptions = {\r\n // vertical scroll\r\n scroll: null,\r\n // submenu setup\r\n submenu: {\r\n desktop: {\r\n // by default the menu mode set to accordion in desktop mode\r\n default: \"dropdown\"\r\n },\r\n tablet: \"accordion\", // menu set to accordion in tablet mode\r\n mobile: \"accordion\" // menu set to accordion in mobile mode\r\n },\r\n // accordion setup\r\n accordion: {\r\n expandAll: false // allow having multiple expanded accordions in the menu\r\n }\r\n };\r\n\r\n // init aside menu\r\n let menuDesktopMode = \"accordion\";\r\n const dataKtmenuDropdown = this.asideMenuRef.current.getAttribute(\r\n \"data-ktmenu-dropdown\"\r\n );\r\n if (dataKtmenuDropdown === \"1\") {\r\n menuDesktopMode = \"dropdown\";\r\n }\r\n\r\n if (typeof objectPath.get(menuOptions, \"submenu.desktop\") === \"object\") {\r\n menuOptions.submenu.desktop.default = menuDesktopMode;\r\n }\r\n\r\n return menuOptions;\r\n }\r\n\r\n get currentUrl() {\r\n return this.props.location.pathname.split(/[?#]/)[0];\r\n }\r\n\r\n /**\r\n * Use for fixed left aside menu, to show menu on mouseenter event.\r\n * @param e Event\r\n */\r\n mouseEnter = e => {\r\n // check if the left aside menu is fixed\r\n if (document.body.classList.contains(\"kt-aside--fixed\")) {\r\n if (this.outsideTm) {\r\n clearTimeout(this.outsideTm);\r\n this.outsideTm = null;\r\n }\r\n\r\n this.insideTm = setTimeout(() => {\r\n // if the left aside menu is minimized\r\n if (\r\n document.body.classList.contains(\"kt-aside--minimize\") &&\r\n // eslint-disable-next-line no-undef\r\n KTUtil.isInResponsiveRange(\"desktop\")\r\n ) {\r\n removeCSSClass(document.body, \"kt-aside--minimize\");\r\n document.body.classList.add(\"kt-aside--minimize-hover\");\r\n }\r\n }, 50);\r\n }\r\n };\r\n\r\n /**\r\n * Use for fixed left aside menu, to show menu on mouseenter event.\r\n * @param e Event\r\n */\r\n mouseLeave = e => {\r\n if (document.body.classList.contains(\"kt-aside--fixed\")) {\r\n if (this.insideTm) {\r\n clearTimeout(this.insideTm);\r\n this.insideTm = null;\r\n }\r\n\r\n this.outsideTm = setTimeout(() => {\r\n // if the left aside menu is expand\r\n /* eslint-disable-next-line */\r\n const kUtilIsResponsiveRange = KTUtil.isInResponsiveRange(\"desktop\");\r\n const hasMinimizeHover = document.body.classList.contains(\r\n \"kt-aside--minimize-hover\"\r\n );\r\n if (\r\n hasMinimizeHover &&\r\n // eslint-disable-next-line no-undef\r\n kUtilIsResponsiveRange\r\n ) {\r\n // hide back the left aside menu\r\n removeCSSClass(document.body, \"kt-aside--minimize-hover\");\r\n document.body.classList.add(\"kt-aside--minimize\");\r\n }\r\n }, 100);\r\n }\r\n };\r\n\r\n render() {\r\n const {\r\n ulClasses,\r\n menuConfig,\r\n layoutConfig,\r\n asideMenuAttr,\r\n asideClassesFromConfig,\r\n location: { pathname }\r\n } = this.props;\r\n\r\n return (\r\n <>\r\n \r\n {this.props.disableAsideSelfDisplay && (\r\n
    \r\n \r\n \"logo\"\r\n \r\n
    \r\n )}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = store => ({\r\n //layoutConfig: store.builder.layoutConfig,\r\n headerLogo: builder.selectors.getLogo(store),\r\n // asideMenuAttr: builder.selectors.getAttributes(store, { path: \"aside_menu\" }),\r\n // disableAsideSelfDisplay:\r\n // builder.selectors.getConfig(store, \"aside.self.display\") === false,\r\n\r\n ulClasses: builder.selectors.getClasses(store, {\r\n path: \"aside_menu_nav\",\r\n toString: true\r\n }),\r\n\r\n asideClassesFromConfig: builder.selectors.getClasses(store, {\r\n path: \"aside_menu\",\r\n toString: true\r\n })\r\n});\r\n\r\nexport default withRouter(connect(mapStateToProps)(AsideLeft));\r\n","import React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport * as builder from \"../../ducks/builder\";\r\nimport Brand from \"../brand/Brand\";\r\nimport HeaderSearch from \"../headerSearch/HeaderSearch\";\r\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\r\nimport Menu from \"./Menu\";\r\nimport KTOffcanvas from \"../../_assets/js/offcanvas\";\r\n\r\nclass AsideLeft extends React.Component {\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n menuConfig: this.props.menuConfig\r\n }\r\n this.filterMenuHeandle = this.filterMenuHeandle.bind(this)\r\n }\r\n asideOffCanvasRef = React.createRef();\r\n\r\n componentDidMount() {\r\n // eslint-disable-next-line\r\n \r\n const ktoffConvas = new KTOffcanvas(\r\n this.asideOffCanvasRef.current,\r\n this.props.menuCanvasOptions\r\n );\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n this.setState({\r\n menuConfig: nextProps.menuConfig\r\n })\r\n }\r\n\r\n filterMenuHeandle(value){\r\n const { menuConfig } = this.props;\r\n // if(!value){\r\n // this.setState({\r\n // menuConfig: this.props.menuConfig\r\n // })\r\n // } else{\r\n // const filterData = menuConfig\r\n // const data = menuConfig.aside.items.filter(name => name.title.includes(value))\r\n // filterData.aside.items = data;\r\n // this.setState({\r\n // menuConfig: filterData\r\n // })\r\n // }\r\n }\r\n\r\n render() {\r\n const { layoutConfig, asideMenuAttr, disableAsideSelfDisplay } = this.props\r\n const { menuConfig } = this.state;\r\n return (\r\n <>\r\n {this.props.user && <>\r\n \r\n \r\n \r\n {this.props.disableScroll && (\r\n menuConfig.length > 0 && \r\n )}\r\n {!this.props.disableScroll && (\r\n \r\n {menuConfig.length > 0 && }\r\n \r\n )}\r\n \r\n
    © VegaLytics
    \r\n }\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = store => ({\r\n menuConfig: store.builder.menuConfig,\r\n user: store.auth.user,\r\n layoutConfig: store.builder.layoutConfig,\r\n asideMenuAttr: builder.selectors.getAttributes(store, { path: \"aside_menu\" }),\r\n disableAsideSelfDisplay:\r\n builder.selectors.getConfig(store, \"aside.self.display\") === false,\r\n disableScroll:\r\n builder.selectors.getConfig(store, \"aside.menu.dropdown\") === \"true\" ||\r\n false,\r\n asideClassesFromConfig: builder.selectors.getClasses(store, {\r\n path: \"aside\",\r\n toString: true\r\n }),\r\n menuCanvasOptions: {\r\n baseClass: \"kt-aside\",\r\n overlay: true,\r\n closeBy: \"kt_aside_close_btn\",\r\n toggleBy: {\r\n target: \"kt_aside_mobile_toggler\",\r\n state: \"kt-header-mobile__toolbar-toggler--active\"\r\n }\r\n }\r\n});\r\n\r\nexport default connect(mapStateToProps)(AsideLeft);\r\n","import React from \"react\";\r\nimport KTScrolltop from \"../../../_metronic/_assets/js/scrolltop\";\r\n\r\nexport default class ScrollTop extends React.Component {\r\n scrollTopCommonRef = React.createRef();\r\n\r\n componentDidMount() {\r\n const scrollTopOptions = {\r\n offset: 300,\r\n speed: 600\r\n };\r\n // eslint-disable-next-line no-undef\r\n new KTScrolltop(this.scrollTopCommonRef.current, scrollTopOptions);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import objectPath from \"object-path\";\r\n\r\nexport default 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 = 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 // not yet implemented\r\n // this.initAsideSecondary();\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 this.initSkin();\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 /**\r\n * Init Layout\r\n */\r\n initLayout() {\r\n if (objectPath.has(this.config, \"self.body.background-image\")) {\r\n document.body.style.backgroundImage =\r\n 'url(\"' +\r\n objectPath.get(this.config, \"self.body.background-image\") +\r\n '\")';\r\n }\r\n\r\n const _selfBodyClass = objectPath.get(this.config, \"self.body.class\");\r\n if (_selfBodyClass) {\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\r\n // Offcanvas directions\r\n document.body.classList.add(\"kt-quick-panel--right\");\r\n document.body.classList.add(\"kt-demo-panel--right\");\r\n document.body.classList.add(\"kt-offcanvas-panel--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 if (objectPath.get(this.config, \"header.self.fixed.desktop\")) {\r\n document.body.classList.add(\"kt-header--fixed\");\r\n objectPath.push(this.classes, \"header\", \"kt-header--fixed\");\r\n } else {\r\n document.body.classList.add(\"kt-header--static\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"header.self.fixed.mobile\")) {\r\n document.body.classList.add(\"kt-header-mobile--fixed\");\r\n objectPath.push(this.classes, \"header_mobile\", \"kt-header-mobile--fixed\");\r\n }\r\n\r\n const additionalHeaderCssClass = objectPath.get(\r\n this.config,\r\n \"header.menu.self.layout\"\r\n );\r\n if (additionalHeaderCssClass) {\r\n objectPath.push(\r\n this.classes,\r\n \"header_menu\",\r\n \"kt-header-menu--layout-\" + additionalHeaderCssClass\r\n );\r\n }\r\n\r\n if (objectPath.get(this.config, \"header.self.width\") === \"fluid\") {\r\n objectPath.push(this.classes, \"header_container\", \"kt-container--fluid\");\r\n }\r\n }\r\n\r\n /**\r\n * Init Subheader\r\n */\r\n initSubheader() {\r\n if (objectPath.get(this.config, \"subheader.display\")) {\r\n document.body.classList.add(\"kt-subheader--enabled\");\r\n }\r\n\r\n // Fixed content head\r\n if (\r\n objectPath.get(this.config, \"subheader.fixed\") &&\r\n objectPath.get(this.config, \"header.self.fixed.desktop\")\r\n ) {\r\n document.body.classList.add(\"kt-subheader--fixed\");\r\n }\r\n\r\n if (objectPath.has(this.config, \"subheader.style\")) {\r\n document.body.classList.add(\r\n \"kt-subheader--\" + objectPath.get(this.config, \"subheader.style\")\r\n );\r\n }\r\n\r\n if (objectPath.get(this.config, \"subheader.width\") === \"fluid\") {\r\n objectPath.push(\r\n this.classes,\r\n \"subheader_container\",\r\n \"kt-container--fluid\"\r\n );\r\n }\r\n\r\n if (objectPath.get(this.config, \"subheader.clear\")) {\r\n objectPath.push(this.classes, \"subheader\", \"kt-subheader--clear\");\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\", \"kt-content--fit-top\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"content.fit-bottom\")) {\r\n objectPath.push(this.classes, \"content\", \"kt-content--fit-bottom\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"content.width\") === \"fluid\") {\r\n objectPath.push(this.classes, \"content_container\", \"kt-container--fluid\");\r\n }\r\n }\r\n\r\n /**\r\n * Init Aside\r\n */\r\n initAside() {\r\n if (objectPath.get(this.config, \"aside.self.display\") !== true) {\r\n return;\r\n }\r\n\r\n document.body.classList.add(\"kt-aside--enabled\");\r\n\r\n // Fixed Aside\r\n if (objectPath.get(this.config, \"aside.self.fixed\")) {\r\n document.body.classList.add(\"kt-aside--fixed\");\r\n objectPath.push(this.classes, \"aside\", \"kt-aside--fixed\");\r\n } else {\r\n document.body.classList.add(\"kt-aside--static\");\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(\"kt-aside--minimize\");\r\n }\r\n\r\n // Menu\r\n // Dropdown Submenu\r\n if (objectPath.get(this.config, \"aside.menu.dropdown\") === \"true\") {\r\n objectPath.push(this.classes, \"aside_menu\", \"kt-aside-menu--dropdown\");\r\n document.body.classList.add(\"kt-aside-menu--dropdown\");\r\n this.attributes.aside_menu[\"data-ktmenu-dropdown\"] = \"1\";\r\n this.attributes.aside_menu[\"data-ktmenu-scroll\"] = \"0\";\r\n } else {\r\n this.attributes.aside_menu[\"data-ktmenu-scroll\"] = \"1\";\r\n }\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-ktmenu-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.self.fixed\")) {\r\n document.body.classList.add(\"kt-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\", \"kt-container--fluid\");\r\n }\r\n }\r\n\r\n /**\r\n * Set the body class name based on page skin options\r\n */\r\n initSkin() {\r\n if (objectPath.get(this.config, \"header.self.skin\")) {\r\n document.body.classList.add(\r\n \"kt-header-base-\" + objectPath.get(this.config, \"header.self.skin\")\r\n );\r\n }\r\n\r\n if (objectPath.get(this.config, \"header.menu.desktop.submenu.skin\")) {\r\n document.body.classList.add(\r\n \"kt-header-menu-\" +\r\n objectPath.get(this.config, \"header.menu.desktop.submenu.skin\")\r\n );\r\n }\r\n\r\n if (objectPath.get(this.config, \"aside.self.display\") === false) {\r\n document.body.classList.add(\r\n \"kt-header-base-\" + objectPath.get(this.config, \"header.self.skin\")\r\n );\r\n } else {\r\n document.body.classList.add(\r\n \"kt-brand-\" + objectPath.get(this.config, \"brand.self.skin\")\r\n );\r\n }\r\n\r\n if (objectPath.get(this.config, \"aside.self.skin\")) {\r\n document.body.classList.add(\r\n \"kt-aside-\" + objectPath.get(this.config, \"aside.self.skin\")\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 PerfectScrollbar from \"react-perfect-scrollbar\";\r\nimport { Nav, Tab } from \"react-bootstrap\";\r\n\r\nconst perfectScrollbarOptions = {\r\n wheelSpeed: 2,\r\n wheelPropagation: false\r\n};\r\n\r\nexport default class QuickPanel extends React.Component {\r\n state = { selectedTab: \"Notifications\" };\r\n setTab = _tabName => {\r\n this.setState({ selectedTab: _tabName });\r\n };\r\n\r\n render() {\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n Notifications\r\n \r\n \r\n \r\n \r\n Audit Logs\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 \r\n
    \r\n
    \r\n
    \r\n New order has been received\r\n
    \r\n
    \r\n 2 hrs ago\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n New customer is registered\r\n
    \r\n
    \r\n 3 hrs ago\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n Application has been approved\r\n
    \r\n
    \r\n 3 hrs ago\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n New file has been uploaded\r\n
    \r\n
    \r\n 5 hrs ago\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n New user feedback received\r\n
    \r\n
    \r\n 8 hrs ago\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n System reboot has been successfully completed\r\n
    \r\n
    \r\n 12 hrs ago\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n New order has been placed\r\n
    \r\n
    \r\n 15 hrs ago\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n Company meeting canceled\r\n
    \r\n
    \r\n 19 hrs ago\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n New report has been received\r\n
    \r\n
    \r\n 23 hrs ago\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n Finance report has been generated\r\n
    \r\n
    \r\n 25 hrs ago\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n New customer comment recieved\r\n
    \r\n
    \r\n 2 days ago\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n New customer is registered\r\n
    \r\n
    \r\n 3 days ago\r\n
    \r\n
    \r\n
    \r\n
    \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
    \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 2 new items submited\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 79 PSD files generated\r\n
    \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 $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 4.5h-avarage response time\r\n
    \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 Database server is down\r\n
    \r\n
    \r\n 10 mins ago\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n System report has been generated\r\n
    \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 4.5h-avarage response time\r\n
    \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 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 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 Members\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \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, { useEffect, useState } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport * as builder from \"../ducks/builder\";\r\n\r\nconst KtContent = ({ children, contentContainerClasses }) => {\r\n const match = useRouteMatch() || {};\r\n const animationEndClass = \"kt-grid--animateContent-finished\";\r\n const [cssClassesState, setCssClassesState] = useState([\r\n \"kt-grid--animateContent\",\r\n \"kt-container\",\r\n contentContainerClasses.split(\" \"),\r\n \"kt-grid__item kt-grid__item--fluid\",\r\n animationEndClass\r\n ]);\r\n\r\n useEffect(() => {\r\n // for animation start should toggle 'kt-grid--animateContent-finished' css class\r\n // TODO: change useMemo\r\n // let classes1 = 'kt_subheader'; \r\n // var myEla = document.getElementById(classes1);\r\n // var wrapper = document.getElementById('kt_wrapper');\r\n // if (window.location.href.indexOf('tableData') > 0) {\r\n // myEla.setAttribute(\"style\", \"display:none\");\r\n // wrapper.setAttribute('style', \"padding-top: 64px\")\r\n // }else {\r\n // myEla.setAttribute(\"style\", \"display:inherit\");\r\n // wrapper.setAttribute('style', \"padding-top: 100px\")\r\n // }\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\r\nconst mapStateToProps = store => ({\r\n contentContainerClasses: builder.selectors.getClasses(store, {\r\n path: \"content_container\",\r\n toString: true\r\n })\r\n});\r\n\r\nexport default connect(mapStateToProps)(KtContent);\r\n\r\n\r\n","import * as types from './types';\r\n\r\nexport const getModuls = () => ({\r\n type: types.FETCH_MODULES\r\n})\r\n\r\nexport const getModulsSuccess = ({ items }) => ({\r\n type: types.FETCH_MODULES_SUCCESS,\r\n payload: items\r\n})","import React, { useState, useEffect } from \"react\";\r\nimport { connect, useDispatch } from \"react-redux\";\r\nimport objectPath from \"object-path\";\r\nimport { Button } from '@material-ui/core';\r\nimport { makeStyles } from '@material-ui/styles'\r\nimport Header from \"./header/Header\";\r\nimport SubHeader from \"./sub-header/SubHeader\";\r\nimport HeaderMobile from \"./header/HeaderMobile\";\r\nimport AsideLeft from \"./aside/AsideLeft\";\r\n// import TenantMenu from './tenantMenu/TenantMenu'\r\n// import Footer from \"./footer/Footer\";\r\nimport ScrollTop from \"../../app/partials/layout/ScrollTop\";\r\nimport HTMLClassService from \"./HTMLClassService\";\r\nimport LayoutConfig from \"./LayoutConfig\";\r\n// import { getMenuItem } from \"./MenuConfig\";\r\nimport LayoutInitializer from \"./LayoutInitializer\";\r\nimport QuickPanel from \"../../app/partials/layout/QuickPanel\";\r\n// import RulesQuickPanel from '../../app/pages/home/admin/configurations/basedCleansing/RulesQuickPanel'\r\nimport KtContent from \"./KtContent\";\r\nimport Brand from './brand/Brand'\r\nimport \"./assets/Base.scss\";\r\nimport * as actions from \"../../app/store/actions/modulesAction\";\r\nimport { ThemeProvider, withStyles, createMuiTheme } from '@material-ui/core/styles';\r\nconst htmlClassService = new HTMLClassService();\r\n\r\nconst Layout = ({\r\n children,\r\n asideDisplay,\r\n subheaderDisplay,\r\n selfLayout,\r\n layoutConfig,\r\n contentContainerClasses\r\n}) => {\r\n htmlClassService.setConfig(layoutConfig);\r\n const classes = useStyles()\r\n const dispatch = useDispatch()\r\n useEffect(() => {\r\n dispatch(actions.getModuls())\r\n }, [dispatch])\r\n // scroll to top after location changes\r\n // window.scrollTo(0, 0);\r\n\r\n const contentCssClasses = htmlClassService.classes.content.join(\" \");\r\n const acceptCookies = localStorage.getItem('accept-cookies')\r\n const [cookies, setCookies] = useState(acceptCookies)\r\n const hendleAcceptcookies = () =>{\r\n localStorage.setItem('accept-cookies', true)\r\n setCookies(true)\r\n }\r\n //const menuConfig = getMenuItem().then(res => {return res})\r\n return selfLayout !== \"blank\" ? (\r\n \r\n \r\n {/* */}\r\n \r\n {/* */}\r\n\r\n
    \r\n {/* */}
    \r\n \r\n
    \r\n
    \r\n \r\n {subheaderDisplay && }\r\n
    \r\n {/* */}\r\n \r\n {asideDisplay && (\r\n <>\r\n \r\n \r\n )}\r\n {/* */}\r\n {/* start:: tenant Menu */}\r\n {/* */}\r\n {/* ens:: tenant Menu */}\r\n \r\n {/* */}\r\n\r\n {/* */}\r\n\r\n {/* */}\r\n {/* */}\r\n \r\n {/* */}\r\n {/* */}\r\n\r\n {/* */}\r\n {/* TODO: add class to animate kt-grid--animateContent-finished */}\r\n \r\n {children}\r\n \r\n {/**/}\r\n
    \r\n {/* */}\r\n {/* */}\r\n {/*
    */}\r\n {cookies === 'false' &&
    \r\n
    \r\n

    This website uses cookies to ensure you get the best experience on our website. What is cookie? Our Cookie Policy

    \r\n \r\n
    \r\n
    }\r\n
    \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\nconst useStyles = makeStyles({\r\n btn: {\r\n whiteSpace: 'nowrap',\r\n padding: 12,\r\n borderRadius: 0,\r\n flex: '0 0 170px',\r\n marginLeft: 10\r\n }\r\n})\r\n\r\nconst mapStateToProps = ({ builder: { layoutConfig } }) => ({\r\n layoutConfig,\r\n selfLayout: objectPath.get(layoutConfig, \"self.layout\"),\r\n asideDisplay: objectPath.get(layoutConfig, \"aside.self.display\"),\r\n tenantDisplay: objectPath.get(layoutConfig, \"tenant.self.display\"),\r\n subheaderDisplay: objectPath.get(layoutConfig, \"subheader.display\"),\r\n desktopHeaderDisplay: objectPath.get(\r\n layoutConfig,\r\n \"header.self.fixed.desktop\"\r\n ),\r\n contentContainerClasses: \"\"\r\n});\r\n\r\nexport default connect(mapStateToProps)(Layout);\r\nconst theme = createMuiTheme({\r\n overrides: {\r\n MuiExpansionPanelSummary: {\r\n content: {\r\n padding: 0,\r\n margin: '0px !important'\r\n }\r\n },\r\n MuiButtonBase: {\r\n root: {\r\n minHeight: '25px !important',\r\n lineHeight: '1.2 !important'\r\n },\r\n expandIcon: {\r\n padding: 5\r\n },\r\n },\r\n MuiIconButton: {\r\n root: {\r\n padding: 0\r\n },\r\n colorPrimary: {\r\n padding: 0\r\n }\r\n },\r\n MuiButton: {\r\n root: {\r\n borderRadius: 0\r\n },\r\n text: {\r\n color: '#333333',\r\n },\r\n containedPrimary: {\r\n backgroundColor: '#0078d4',\r\n '&:hover': {\r\n backgroundColor: '#0078d4',\r\n }\r\n }\r\n },\r\n MuiExpansionPanelDetails: {\r\n root: {\r\n padding: '0px !important',\r\n backgroundColor: 'rgba(0, 0, 0, 0.0) !important'\r\n }\r\n },\r\n MuiTableCell: {\r\n root: {\r\n padding: 5,\r\n fontSize: '1rem'\r\n },\r\n head: {\r\n lineHeight: '2.5rem'\r\n },\r\n sizeSmall: {\r\n padding: 5,\r\n },\r\n stickyHeader: {\r\n backgroundColor: '#ffffff'\r\n }\r\n },\r\n MuiTableHead: {\r\n root: {\r\n borderTop: 'solid 1px #ddd'\r\n }\r\n },\r\n MuiFormControl: {\r\n root: {\r\n width: 'auto'\r\n }\r\n },\r\n MuiFormControlLabel: {\r\n root: {\r\n marginBottom: 0,\r\n marginLeft: 0,\r\n marginRight: 8\r\n }\r\n },\r\n MuiList: {\r\n padding: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n }\r\n },\r\n MuiListItem: {\r\n root: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n }\r\n },\r\n MuiTooltip: {\r\n tooltip: {\r\n fontSize: 14\r\n }\r\n },\r\n MuiInputLabel: {\r\n formControl: {\r\n transform: 'translate(0, 7px) scale(1)'\r\n },\r\n shrink: {\r\n transform: 'translate(0, 31px) scale(0.75)'\r\n }\r\n },\r\n MuiInput: {\r\n formControl: {\r\n marginTop: '0 !important'\r\n }\r\n },\r\n PrivateSwitchBase: {\r\n root: {\r\n padding: 0\r\n }\r\n }\r\n },\r\n});\r\n","import React, { useEffect } from \"react\";\r\nimport axios from \"axios\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { LayoutSplashScreen } from \"../LayoutContext\";\r\nimport * as builder from \"../../ducks/builder\";\r\nimport { useLocation } from 'react-router-dom'\r\nimport { getCefitMenuItem } from './CefitMenuConfig'\r\n\r\n/**\r\n * Used to synchronize current layout `menuConfig`, `layoutConfig` and\r\n * `htmlClassService` with redux store.\r\n */\r\nexport default function LayoutInitializer({\r\n children,\r\n menuConfig,\r\n layoutConfig,\r\n htmlClassService\r\n}) {\r\n const dispatch = useDispatch();\r\n const builderState = useSelector(({ builder }) => builder);\r\n const location = useLocation();\r\n\r\n // useEffect(() => {\r\n // dispatch(builder.actions.setMenuConfig(menuConfig));\r\n // }, [dispatch, menuConfig]);\r\n useEffect(() => {\r\n getCefitMenuItem().then(res => {\r\n dispatch(builder.actions.setMenuConfig(res));\r\n });\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n if (layoutConfig.demo !== builderState.layoutConfig.demo) {\r\n dispatch(builder.actions.setLayoutConfigs(layoutConfig));\r\n }\r\n }, [dispatch, builderState, layoutConfig]);\r\n\r\n useEffect(() => {\r\n dispatch(builder.actions.setHtmlClassService(htmlClassService));\r\n }, [dispatch, htmlClassService]);\r\n\r\n return htmlClassService === builderState.htmlClassServiceObjects && (\r\n // Render content when `htmlClassService` synchronized with redux store.\r\n <>{children}\r\n ) //: (\r\n // // Otherwise sow loading splash screen.\r\n // \r\n // );\r\n}\r\n","import axios from \"axios\";\r\n// import { toAbsoluteUrl } from \"../../utils/utils\";\r\nconst url = 'Modules/getAllModules';\r\n\r\nexport function getCefitMenuItem () {\r\n return axios.get(url).then(res => {\r\n const menuitem = res.data.result\r\n return menuitem;\r\n });\r\n}\r\n\r\n// const items = [\r\n// {\r\n// active: true,\r\n// displayModuleName: \"Dashboard\",\r\n// icon: \"fas fa-home\",\r\n// moduleID: 1,\r\n// moduleName: \"Dashboard\",\r\n// pageUrl: \"/cefit/dashboard\",\r\n// parentModuleID: null,\r\n// reportId: 0,\r\n// subModule: []\r\n// },\r\n// {\r\n// active: true,\r\n// displayModuleName: \"Configration\",\r\n// icon: \"fas fa-home\",\r\n// moduleID: 1,\r\n// moduleName: \"Configration\",\r\n// pageUrl: \"/cefit/Configration\",\r\n// parentModuleID: null,\r\n// reportId: 0,\r\n// subModule: []\r\n// }\r\n// ]\r\n\r\nconst menu = {\r\n header: {\r\n self: {\r\n skin: \"light\"\r\n },\r\n items: []\r\n },\r\n aside: {\r\n self: {},\r\n items: []\r\n }\r\n};\r\n\r\nexport default menu;","import React, { useState, useEffect } from \"react\";\r\nimport { connect, useDispatch } from \"react-redux\";\r\nimport objectPath from \"object-path\";\r\nimport { Button } from '@material-ui/core';\r\nimport { makeStyles } from '@material-ui/styles'\r\nimport Header from \"../header/Header\";\r\nimport SubHeader from \"../sub-header/SubHeader\";\r\nimport HeaderMobile from \"../header/HeaderMobile\";\r\nimport AsideLeft from \"../aside/AsideLeft\";\r\nimport ScrollTop from \"../../../app/partials/layout/ScrollTop\";\r\nimport HTMLClassService from \"../HTMLClassService\";\r\nimport LayoutConfig from \"../LayoutConfig\";\r\nimport CefitLayoutInitializer from \"./CefitLayoutInitializer\";\r\nimport QuickPanel from \"../../../app/partials/layout/QuickPanel\";\r\nimport KtContent from \"../KtContent\";\r\nimport Brand from '../brand/Brand'\r\nimport \"../assets/Base.scss\";\r\nimport * as actions from \"../../../app/store/actions/modulesAction\";\r\n\r\nconst htmlClassService = new HTMLClassService();\r\n\r\nconst CefitLayout = ({\r\n children,\r\n asideDisplay,\r\n subheaderDisplay,\r\n selfLayout,\r\n layoutConfig,\r\n contentContainerClasses\r\n}) => {\r\n htmlClassService.setConfig(layoutConfig);\r\n const classes = useStyles()\r\n const dispatch = useDispatch()\r\n useEffect(() => {\r\n dispatch(actions.getModuls())\r\n }, [dispatch])\r\n // scroll to top after location changes\r\n // window.scrollTo(0, 0);\r\n\r\n const contentCssClasses = htmlClassService.classes.content.join(\" \");\r\n const acceptCookies = localStorage.getItem('accept-cookies')\r\n const [cookies, setCookies] = useState(acceptCookies)\r\n const hendleAcceptcookies = () =>{\r\n localStorage.setItem('accept-cookies', true)\r\n setCookies(true)\r\n }\r\n //const menuConfig = getMenuItem().then(res => {return res})\r\n return selfLayout !== \"blank\" ? (\r\n \r\n {/* */}\r\n \r\n {/* */}\r\n\r\n
    \r\n {/* */}
    \r\n \r\n
    \r\n
    \r\n \r\n {subheaderDisplay && }\r\n
    \r\n {/* */}\r\n \r\n {asideDisplay && (\r\n <>\r\n \r\n \r\n )}\r\n {/* */}\r\n {/* start:: tenant Menu */}\r\n {/* */}\r\n {/* ens:: tenant Menu */}\r\n \r\n {/* */}\r\n\r\n {/* */}\r\n\r\n {/* */}\r\n {/* */}\r\n \r\n {/* */}\r\n {/* */}\r\n\r\n {/* */}\r\n {/* TODO: add class to animate kt-grid--animateContent-finished */}\r\n \r\n {children}\r\n \r\n {/**/}\r\n
    \r\n {/* */}\r\n {/* */}\r\n {/*
    */}\r\n {cookies === 'false' &&
    \r\n
    \r\n

    This website uses cookies to ensure you get the best experience on our website. What is cookie? Our Cookie Policy

    \r\n Understand\r\n
    \r\n
    }\r\n
    \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\nconst useStyles = makeStyles({\r\n btn: {\r\n whiteSpace: 'nowrap',\r\n padding: 12,\r\n borderRadius: 0,\r\n flex: '0 0 170px',\r\n marginLeft: 10\r\n }\r\n})\r\n\r\nconst mapStateToProps = ({ builder: { layoutConfig } }) => ({\r\n layoutConfig,\r\n selfLayout: objectPath.get(layoutConfig, \"self.layout\"),\r\n asideDisplay: objectPath.get(layoutConfig, \"aside.self.display\"),\r\n tenantDisplay: objectPath.get(layoutConfig, \"tenant.self.display\"),\r\n subheaderDisplay: objectPath.get(layoutConfig, \"subheader.display\"),\r\n desktopHeaderDisplay: objectPath.get(\r\n layoutConfig,\r\n \"header.self.fixed.desktop\"\r\n ),\r\n contentContainerClasses: \"\"\r\n});\r\n\r\nexport default connect(mapStateToProps)(CefitLayout);\r\n","import React, { Component } from 'react';\r\nimport { AzureAD, AuthenticationState } from 'react-aad-msal';\r\nimport { CircularProgress } from '@material-ui/core';\r\nimport { Redirect } from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\nimport { FormattedMessage, injectIntl } from \"react-intl\";\r\nimport * as auth from \"../../store/ducks/auth.duck\";\r\nimport { authProvider } from './authProvider';\r\n\r\n \r\nclass AzureLogin extends Component {\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n user: {}\r\n }\r\n }\r\n\r\n // componentDidMount() {\r\n // // setTimeout(()=> {\r\n // // this.setState( { user: this.props.user })\r\n // // }, 5000);\r\n // }\r\n\r\n logOut(logout){\r\n setTimeout(()=> {\r\n this.setState( { user: this.props.user })\r\n !this.state.user && logout();\r\n !this.state.user && alert('Access Denied : Your credentials do not match our records. Please try again with valid Vegalytics credentials!');\r\n return !this.state.user ? : '';\r\n }, 5000);\r\n }\r\n \r\n render(){\r\n const loginData = this.props.login;\r\n const { user } = this.state\r\n\r\n return(\r\n \r\n {\r\n ({login, logout, authenticationState, error, accountInfo}) => {\r\n const isInProgress = authenticationState === AuthenticationState.InProgress;\r\n const isAuthenticated = authenticationState === AuthenticationState.Authenticated;\r\n const isUnauthenticated = authenticationState === AuthenticationState.Unauthenticated;\r\n //authenticationState && login(accountInfo);\r\n\r\n if (isAuthenticated) {\r\n loginData(accountInfo);\r\n return(\r\n
    \r\n {this.logOut(logout)}\r\n \r\n
    )\r\n } else if (isUnauthenticated || isInProgress) {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n }\r\n
    \r\n )\r\n }\r\n}\r\nconst mapStateToProps = ({ auth: { user } }) => ({\r\n user\r\n});\r\n\r\nexport default injectIntl(\r\n connect(\r\n mapStateToProps,\r\n auth.actions\r\n )(AzureLogin)\r\n);","import React, { useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Formik } from \"formik\";\r\nimport { connect } from \"react-redux\";\r\nimport { FormattedMessage, injectIntl } from \"react-intl\";\r\nimport { TextField } from \"@material-ui/core\";\r\nimport clsx from \"clsx\";\r\nimport * as auth from \"../../store/ducks/auth.duck\";\r\nimport { login } from \"../../crud/auth.crud\";\r\nimport AzureLogin from './AzureLogin';\r\n\r\nconst Login = (props) => {\r\n const { intl } = props;\r\n const [loading, setLoading] = useState(false);\r\n const [loadingButtonStyle, setLoadingButtonStyle] = useState({\r\n paddingRight: \"2.5rem\"\r\n });\r\n\r\n const enableLoading = () => {\r\n setLoading(true);\r\n setLoadingButtonStyle({ paddingRight: \"3.5rem\" });\r\n };\r\n\r\n const disableLoading = () => {\r\n setLoading(false);\r\n setLoadingButtonStyle({ paddingRight: \"2.5rem\" });\r\n };\r\n\r\n return (\r\n <>\r\n\r\n
    \r\n
    \r\n
    \r\n

    \r\n {/* https://github.com/formatjs/react-intl/blob/master/docs/Components.md#formattedmessage */}\r\n \r\n

    \r\n
    \r\n\r\n {\r\n const errors = {};\r\n\r\n if (!values.email) {\r\n // https://github.com/formatjs/react-intl/blob/master/docs/API.md#injection-api\r\n errors.email = intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\"\r\n });\r\n } else if (\r\n !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i.test(values.email)\r\n ){\r\n errors.email = intl.formatMessage({\r\n id: \"AUTH.VALIDATION.INVALID_FIELD\"\r\n });\r\n }\r\n\r\n if (!values.password) {\r\n errors.password = intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\"\r\n });\r\n }\r\n\r\n return errors;\r\n }}\r\n onSubmit={(values, { setStatus, setSubmitting }) => {\r\n enableLoading();\r\n setTimeout(() => {\r\n disableLoading();\r\n //props.login('access-token-8f3ae836da744329a6f93bf20594b5cc');\r\n login(values.email, values.password)\r\n .then(({ data }) => {\r\n disableLoading();\r\n localStorage.setItem('accept-cookies', false);\r\n \r\n props.oneLogin(data.result.accessToken, data.result);\r\n })\r\n .catch(() => {\r\n disableLoading();\r\n setSubmitting(true);\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 values,\r\n status,\r\n errors,\r\n touched,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit,\r\n isSubmitting\r\n }) => (\r\n \r\n {status && (\r\n
    \r\n
    {status}
    \r\n
    \r\n )} \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n \r\n Sign In\r\n \r\n
    \r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n OR\r\n \r\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 injectIntl(\r\n connect(\r\n null,\r\n auth.actions\r\n )(Login)\r\n);\r\n","import React from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { connect } from \"react-redux\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { FormattedMessage, injectIntl } from \"react-intl\";\r\nimport { Checkbox, FormControlLabel, TextField } from \"@material-ui/core\";\r\nimport * as auth from \"../../store/ducks/auth.duck\";\r\nimport { register } from \"../../crud/auth.crud\";\r\n\r\nconst Registration = (props) => {\r\n const { intl } = props;\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 const errors = {};\r\n\r\n if (!values.email) {\r\n errors.email = intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\"\r\n });\r\n } else if (\r\n !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i.test(values.email)\r\n ) {\r\n errors.email = intl.formatMessage({\r\n id: \"AUTH.VALIDATION.INVALID_FIELD\"\r\n });\r\n }\r\n\r\n if (!values.fullname) {\r\n errors.fullname = intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\"\r\n });\r\n }\r\n\r\n if (!values.username) {\r\n errors.username = intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\"\r\n });\r\n }\r\n\r\n if (!values.password) {\r\n errors.password = intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\"\r\n });\r\n }\r\n\r\n if (!values.confirmPassword) {\r\n errors.confirmPassword = intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\"\r\n });\r\n } else if (values.password !== values.confirmPassword) {\r\n errors.confirmPassword =\r\n \"Password and Confirm Password didn't match.\";\r\n }\r\n\r\n if (!values.acceptTerms) {\r\n errors.acceptTerms = \"Accept Terms\";\r\n }\r\n\r\n return errors;\r\n }}\r\n onSubmit={(values, { setStatus, setSubmitting }) => {\r\n register(\r\n values.email,\r\n values.fullname,\r\n values.username,\r\n values.password\r\n )\r\n .then(({ data: { accessToken } }) => {\r\n props.register(accessToken);\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 });\r\n }}\r\n >\r\n {({\r\n values,\r\n status,\r\n errors,\r\n touched,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit,\r\n isSubmitting\r\n }) => (\r\n
    \r\n {status && (\r\n
    \r\n
    {status}
    \r\n
    \r\n )}\r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n I agree the{\" \"}\r\n \r\n Terms & Conditions\r\n \r\n \r\n }\r\n control={\r\n \r\n }\r\n />\r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n Submit\r\n \r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default injectIntl(\r\n connect(\r\n null,\r\n auth.actions\r\n )(Registration)\r\n);\r\n","import React, { Component } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { connect } from \"react-redux\";\r\nimport { TextField } from \"@material-ui/core\";\r\nimport { Link, Redirect } from \"react-router-dom\";\r\nimport { FormattedMessage, injectIntl } from \"react-intl\";\r\nimport * as auth from \"../../store/ducks/auth.duck\";\r\nimport { requestPassword } from \"../../crud/auth.crud\";\r\n\r\nclass ForgotPassword extends Component {\r\n state = { isRequested: false, success: false };\r\n \r\n render() {\r\n const { intl } = this.props;\r\n const { isRequested } = this.state;\r\n \r\n if (isRequested) {\r\n setTimeout(() => {\r\n this.setState({\r\n success: false\r\n })\r\n return ;\r\n }, 3000)\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 {\r\n const errors = {};\r\n\r\n if (!values.email) {\r\n errors.email = intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\"\r\n });\r\n } else if (\r\n !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i.test(values.email)\r\n ) {\r\n errors.email = intl.formatMessage({\r\n id: \"AUTH.VALIDATION.INVALID_FIELD\"\r\n });\r\n }\r\n\r\n return errors;\r\n }}\r\n onSubmit={(values, { setStatus, setSubmitting }) => {\r\n requestPassword(values.email)\r\n .then(() => {\r\n this.setState({ \r\n isRequested: true, \r\n success: true });\r\n })\r\n .catch(() => {\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 values,\r\n status,\r\n errors,\r\n touched,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit,\r\n isSubmitting\r\n }) => (\r\n
    \r\n {status && (\r\n
    \r\n
    {status}
    \r\n
    \r\n )}\r\n {this.state.success && (\r\n
    \r\n
    Please Check Email....
    \r\n
    \r\n )}\r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n Back\r\n \r\n \r\n\r\n \r\n Submit\r\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 injectIntl(connect(null, auth.actions)(ForgotPassword));\r\n","\r\nimport React, { useState } from \"react\";\r\nimport Link from '@material-ui/core/Link';\r\nimport Login from './Login'\r\nimport { useHistory } from 'react-router-dom'\r\n\r\n\r\n\r\nexport default function UserConfirmation() {\r\n const history = useHistory()\r\n function handleClick(event) {\r\n event.preventDefault();\r\n history.push('/auth/login')\r\n }\r\n \r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n Your account has been activated. Click here to \r\n \r\n login\r\n \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, { useEffect, useState } from \"react\";\r\nimport { useHistory, useParams } from \"react-router\";\r\nimport { Formik } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { TextField } from \"@material-ui/core\";\r\nimport { GetUsersByID, passwordUpdate, CheckUserSignUpLinkExpired } from \"../../crud/auth.crud\";\r\nimport UserConfirmation from \"./UserConfirmation\";\r\n\r\nconst BasicSignUpSchema = Yup.object().shape({\r\n firstName: Yup.string()\r\n .required(\"First Name is required\"),\r\n lastName: Yup.string()\r\n .required(\"Last Name is required\"),\r\n password: Yup.string()\r\n .required(\"This field is required\")\r\n .matches(\r\n /^(?=.*[A-Za-z])(?=.*\\d)(?=.*[@$!%*#?&])[A-Za-z\\d@$!%*#?&]{12,}$/,\r\n \"Must Contain 12 Characters, One Uppercase, One Lowercase and one special case Character\"\r\n ),\r\n confirmPassword: Yup.string().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 \"Both password need to be the same\"\r\n )\r\n })\r\n});\r\nexport default function SignUp() {\r\n let { tid,uid,token } = useParams();\r\n const [signupValue, setsignUpData] = useState({\r\n userId: uid,\r\n token: token,\r\n firstName: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n Active: true,\r\n password: \"\",\r\n confirmPassword: \"\"\r\n })\r\n const params = {\r\n \"userId\": uid\r\n }\r\n\r\n const [userConfirmation, setuserConfirmation] = useState(400);\r\n\r\n const [isLinkValid, setIsLinkValid] = useState(null);\r\n\r\n useEffect(()=>{\r\n // set screen busy\r\n // check if signupLink is valid\r\n CheckUserSignUpLinkExpired({token: signupValue.token})\r\n .then(resp=>{\r\n setIsLinkValid(resp.status === 200);\r\n })\r\n .catch(error=>{\r\n setIsLinkValid(false);\r\n })\r\n // set screen shown\r\n },[]);\r\n\r\n useEffect(() => {\r\n GetUsersByID(params)\r\n .then(items => {\r\n let firstName = items.data.result.firstName;\r\n let lastName = items.data.result.lastName;\r\n let email = items.data.result.email;\r\n setsignUpData({ ...signupValue, firstName, lastName, email });\r\n }); \r\n }, [uid])\r\n\r\n function onChangevalue(e) {\r\n const { name, value } = e.target\r\n setsignUpData({ ...signupValue, [name]: value });\r\n\r\n }\r\n\r\n const signupForm = (
    \r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n\r\n {userConfirmation == 400 ? {\r\n passwordUpdate(values)\r\n .then((res) => {\r\n setuserConfirmation(res.statusCode)\r\n\r\n })\r\n .catch(() => {\r\n setSubmitting(false);\r\n return (\r\n \r\n )\r\n });\r\n }}\r\n >\r\n {({\r\n values,\r\n status,\r\n errors,\r\n touched,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit,\r\n isSubmitting\r\n }) => (\r\n
    \r\n {status && (\r\n
    \r\n
    {status}
    \r\n
    \r\n )}\r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n \r\n
    \r\n
    \r\n )}\r\n : }\r\n
    \r\n
    );\r\n if(isLinkValid)\r\n return signupForm;\r\n else if(isLinkValid == null){\r\n return (
    \r\n
    \r\n
    \r\n

    Validating signup link....

    \r\n
    );\r\n }else{\r\n return (
    \r\n
    \r\n
    \r\n

    Your signup link has expired!

    \r\n
    );\r\n }\r\n}\r\n\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useHistory, useParams } from \"react-router\";\r\nimport { Formik } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { TextField } from \"@material-ui/core\";\r\nimport { resetPassword , CheckResetPasswordLinkExpired} from \"../../crud/auth.crud\";\r\nimport Login from \"./Login\";\r\n\r\nconst BasicSignUpSchema = Yup.object().shape({\r\n password: Yup.string()\r\n .required(\"This field is required\")\r\n .matches(\r\n /^(?=.*[A-Za-z])(?=.*\\d)(?=.*[@$!%*#?&])[A-Za-z\\d@$!%*#?&]{12,}$/,\r\n \"Must Contain 12 Characters, One Uppercase, One Lowercase and one special case Character\"\r\n ),\r\n confirmPassword: Yup.string().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 \"Both password need to be the same\"\r\n )\r\n })\r\n});\r\nexport default function ResetPassword() {\r\n let { code } = useParams();\r\n const [signupValue, setsignUpData] = useState({\r\n token: code,\r\n password: \"\",\r\n confirmPassword: \"\"\r\n })\r\n const params = {\r\n \"token\": code\r\n }\r\n\r\n const [userConfirmation, setuserConfirmation] = useState(400);\r\n\r\n const [isLinkValid, setIsLinkValid] = useState(null);\r\n\r\n useEffect(()=>{\r\n \r\n // set screen busy\r\n // check if signupLink is valid\r\n CheckResetPasswordLinkExpired({token: signupValue.token})\r\n .then(resp=>{\r\n setIsLinkValid(resp.status === 200);\r\n })\r\n .catch(error=>{\r\n setIsLinkValid(false);\r\n })\r\n // set screen shown\r\n },[])\r\n\r\n function onChangevalue(e) {\r\n const { name, value } = e.target\r\n setsignUpData({ ...signupValue, [name]: value });\r\n\r\n }\r\n\r\n\r\n const form = (\r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n\r\n {userConfirmation == 400 ? {\r\n resetPassword(values)\r\n .then((res) => {\r\n setuserConfirmation(res.statusCode)\r\n })\r\n .catch(() => {\r\n setSubmitting(false);\r\n return (\r\n \r\n )\r\n });\r\n }}\r\n >\r\n {({\r\n values,\r\n status,\r\n errors,\r\n touched,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit,\r\n isSubmitting\r\n }) => (\r\n
    \r\n {status && (\r\n
    \r\n
    {status}
    \r\n
    \r\n )}\r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n \r\n
    \r\n
    \r\n )}\r\n : }\r\n
    \r\n
    \r\n );\r\n\r\nif(isLinkValid)\r\n return form;\r\nelse if(isLinkValid == null){\r\n return (
    \r\n
    \r\n
    \r\n

    Validating reset password link....

    \r\n
    );\r\n}else{\r\n return (
    \r\n
    \r\n
    \r\n

    Your reset password link has expired!

    \r\n
    );\r\n}\r\n\r\n}\r\n\r\n","import React from \"react\";\r\nimport { Link, Switch, Route, Redirect } from \"react-router-dom\";\r\nimport { toAbsoluteUrl } from \"../../../_metronic\";\r\nimport \"../../../_metronic/_assets/sass/pages/login/login-1.scss\";\r\nimport Login from \"./Login\";\r\nimport Registration from \"./Registration\";\r\nimport ForgotPassword from \"./ForgotPassword\";\r\nimport SignUp from \"./signUp\"\r\nimport UserConfirmation from \"./UserConfirmation\";\r\nimport ResetPassword from \"./ResetPassword\";\r\n\r\nconst AuthPage = () => {\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

    Welcome to VegaLytics!

    \r\n {/*

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

    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n © VegaLytics\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
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\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 AuthPage;\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/pages/auth/AuthPage`, `src/pages/home/HomePage`).\r\n */\r\n\r\nimport React, { Suspense, useEffect, useState } from \"react\";\r\nimport { Redirect, Route, Switch, withRouter } from \"react-router-dom\";\r\nimport { shallowEqual, useSelector} from \"react-redux\";\r\nimport { useLastLocation } from \"react-router-last-location\";\r\nimport { AzureAD, AuthenticationState } from 'react-aad-msal';\r\nimport { LayoutSplashScreen } from \"../../_metronic\";\r\nimport HomePage from \"../pages/home/HomePage\";\r\nimport ErrorsPage from \"../pages/errors/ErrorsPage\";\r\nimport LogoutPage from \"../pages/auth/Logout\";\r\nimport { LayoutContextProvider } from \"../../_metronic\";\r\nimport Layout from \"../../_metronic/layout/Layout\";\r\nimport CefitLayout from '../../_metronic/layout/cefit/CefitLayout'\r\nimport * as routerHelpers from \"../router/RouterHelpers\";\r\nimport AuthPage from \"../pages/auth/AuthPage\";\r\nimport { authProvider } from '../pages/auth/authProvider';\r\nimport { CefitRouter } from '../pages/cefit/CefitRouter';\r\nimport { checkIfCorrectSubdomain } from \"../crud/auth.crud\";\r\nimport { ErrorPage1 } from \"../pages/errors/ErrorPage1\";\r\nimport { ErrorPage2 } from \"../pages/errors/ErrorPage2\";\r\nimport { ErrorPage3 } from \"../pages/errors/ErrorPage3\";\r\nimport { ErrorPage4 } from \"../pages/errors/ErrorPage4\";\r\nimport { ErrorPage5 } from \"../pages/errors/ErrorPage5\";\r\nimport { ErrorPage6 } from \"../pages/errors/ErrorPage6\";\r\n\r\n\r\nexport const Routes = withRouter(({ history }) => {\r\n const [isCorrectSubdomain, setIsCorrectSubdomain] =useState(null);\r\n const lastLocation = useLastLocation();\r\n //console.log('history', history);\r\n routerHelpers.saveLastLocation(lastLocation);\r\n const { isAuthorized, menuConfig, userLastLocation } = useSelector(\r\n ({ auth, urls, builder: { menuConfig } }) => ({\r\n menuConfig,\r\n isAuthorized: auth.user != null,\r\n userLastLocation: routerHelpers.getLastLocation()\r\n }),\r\n shallowEqual\r\n );\r\n useEffect(()=>{\r\n checkIfCorrectSubdomain()\r\n .then(({ data }) => {\r\n console.log(data);\r\n if(data.success) {\r\n setIsCorrectSubdomain(data.result);\r\n }\r\n })\r\n .catch(() => {\r\n setIsCorrectSubdomain(null);\r\n });\r\n },[]);\r\n return (\r\n \r\n \r\n {!isAuthorized ? (\r\n (isCorrectSubdomain == null)?\r\n \r\n : isCorrectSubdomain === true ? : \r\n ) : (\r\n \r\n )}\r\n\r\n \r\n \r\n {!isAuthorized ? (\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\nimport { Provider } from \"react-redux\";\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport { PersistGate } from \"redux-persist/integration/react\";\r\nimport { LastLocationProvider } from \"react-router-last-location\";\r\nimport { Routes } from \"./app/router/Routes\";\r\nimport { I18nProvider, LayoutSplashScreen, ThemeProvider } from \"./_metronic\";\r\n\r\n\r\nconst 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 Metronic theme overrides. */}\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}\r\n\r\nexport default App;\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 { render } from 'react-dom';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport axios from \"axios\";\r\nimport { setupAxios } from \"./_metronic\";\r\nimport store, { persistor } from \"./app/store/store\";\r\nimport App from \"./App\";\r\nimport \"./index.scss\"; // Standard version\r\n// import \"./sass/style.react.rtl.css\"; // RTL version\r\nimport \"socicon/css/socicon.css\";\r\nimport \"@fortawesome/fontawesome-free/css/all.min.css\";\r\nimport \"./_metronic/_assets/plugins/line-awesome/css/line-awesome.css\";\r\nimport \"./_metronic/_assets/plugins/flaticon/flaticon.css\";\r\nimport \"./_metronic/_assets/plugins/flaticon2/flaticon.css\";\r\n//import express from 'express'\r\n//import wildcardSubdomains from 'wildcard-subdomains'\r\nconst { PUBLIC_URL } = process.env;\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 =*/ //mockAxios(axios);\r\n/**\r\n * Inject metronic interceptors for axios.\r\n *\r\n * @see https://github.com/axios/axios#interceptors\r\n */\r\nsetupAxios(axios, store);\r\naxios.defaults.withCredentials = true;\r\naxios.defaults.baseURL = process.env.REACT_APP_SECURITY_API;\r\nrender(\r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);","import { Subject } from 'rxjs';\r\nexport const subject = new Subject();\r\nexport const subject$ = subject.asObservable()\r\nexport const tableName = new Subject();\r\nexport const tableName$ = tableName.asObservable()\r\nexport const columnName = new Subject();\r\nexport const columnName$ = columnName.asObservable()\r\nexport const CefitStatusCssClasses = [\"success\", \"info\", \"\"];\r\nexport const CefitStatusTitles = [\"Selling\", \"Sold\"];\r\nexport const CefitConditionCssClasses = [\"success\", \"danger\", \"\"];\r\nexport const CefitConditionTitles = [\"New\", \"Used\"];\r\nexport 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 setXlsxKey = (data) => {\r\n subject.next(data)\r\n}\r\nexport const setTableName = (data) => {\r\n tableName.next(data)\r\n}\r\nexport const setColumnName = (data) => {\r\n columnName.next(data)\r\n}\r\nexport const initialFilter = {\r\n filter: {\r\n model: \"\",\r\n manufacture: \"\",\r\n VINCode: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"VINCode\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\nexport const AVAILABLE_COLORS = [\r\n \"Red\",\r\n \"CadetBlue\",\r\n \"Eagle\",\r\n \"Gold\",\r\n \"LightSlateGrey\",\r\n \"RoyalBlue\",\r\n \"Crimson\",\r\n \"Blue\",\r\n \"Sienna\",\r\n \"Indigo\",\r\n \"Green\",\r\n \"Violet\",\r\n \"GoldenRod\",\r\n \"OrangeRed\",\r\n \"Khaki\",\r\n \"Teal\",\r\n \"Purple\",\r\n \"Orange\",\r\n \"Pink\",\r\n \"Black\",\r\n \"DarkTurquoise\"\r\n];\r\n\r\nexport const AVAILABLE_MANUFACTURES = [\r\n \"Pontiac\",\r\n \"Kia\",\r\n \"Lotus\",\r\n \"Subaru\",\r\n \"Jeep\",\r\n \"Isuzu\",\r\n \"Mitsubishi\",\r\n \"Oldsmobile\",\r\n \"Chevrolet\",\r\n \"Chrysler\",\r\n \"Audi\",\r\n \"Suzuki\",\r\n \"GMC\",\r\n \"Cadillac\",\r\n \"Infinity\",\r\n \"Mercury\",\r\n \"Dodge\",\r\n \"Ram\",\r\n \"Lexus\",\r\n \"Lamborghini\",\r\n \"Honda\",\r\n \"Nissan\",\r\n \"Ford\",\r\n \"Hyundai\",\r\n \"Saab\",\r\n \"Toyota\"\r\n];\r\n\r\nexport const FILE_DATA_TYPE = [\r\n \"Enrollment\",\r\n \"Payment\",\r\n \"Claim\"\r\n]\r\n\r\nexport const FILE_FORMAT = [\r\n 'CSV',\r\n 'Excel'\r\n]\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,no-loop-func,no-undef,no-restricted-globals,strict,no-unused-vars,no-cond-assign,eqeqeq,no-throw-literal,no-unreachable,no-useless-escape,no-redeclare,no-useless-concat,no-unused-expressions,no-sequences */\r\n\"use strict\";\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// 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// Global variables\r\nwindow.KTUtilElementDataStore = {};\r\nwindow.KTUtilElementDataStoreID = 0;\r\nwindow.KTUtilDelegatedEventHandlers = {};\r\n\r\nvar 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: 1024, // 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 timeout = false; // holder for timeout id\r\n var delay = 250; // delay after event is \"complete\" to run callback\r\n\r\n window.addEventListener('resize', function() {\r\n clearTimeout(timeout);\r\n timeout = setTimeout(function() {\r\n _runResizeHandlers();\r\n }, delay); // wait 50ms until window resize finishes.\r\n });\r\n };\r\n\r\n return {\r\n /**\r\n * Class main initializer.\r\n * @param {object} options.\r\n * @returns null\r\n */\r\n //main function to initiate the theme\r\n init: function(options) {\r\n if (options && options.breakpoints) {\r\n breakpoints = options.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 return (this.getViewPort().width < this.getBreakpoint('lg') ? true : false);\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 /**\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 elem = KTUtil.get(el),\r\n position, value;\r\n\r\n while (elem && elem !== 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(elem, '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(elem, 'z-index'));\r\n\r\n if (!isNaN(value) && value !== 0) {\r\n return value;\r\n }\r\n }\r\n\r\n elem = elem.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 get: function(query) {\r\n var el;\r\n\r\n if (query === document) {\r\n return document;\r\n }\r\n\r\n if (!!(query && query.nodeType === 1)) {\r\n return query;\r\n }\r\n\r\n if (el = document.getElementById(query)) {\r\n return el;\r\n } else if (el = document.getElementsByTagName(query), el.length > 0) {\r\n return el[0];\r\n } else if (el = document.getElementsByClassName(query), el.length > 0) {\r\n return el[0];\r\n } else {\r\n return null;\r\n }\r\n },\r\n\r\n getByID: function(query) {\r\n if (!!(query && query.nodeType === 1)) {\r\n return query;\r\n }\r\n\r\n return document.getElementById(query);\r\n },\r\n\r\n getByTag: function(query) {\r\n var el;\r\n\r\n if (el = document.getElementsByTagName(query)) {\r\n return el[0];\r\n } else {\r\n return null;\r\n }\r\n },\r\n\r\n getByClass: function(query) {\r\n var el;\r\n\r\n if (el = document.getElementsByClassName(query)) {\r\n return el[0];\r\n } else {\r\n return null;\r\n }\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( elm ){\r\n elm = KTUtil.get(elm);\r\n var c = elm.parentNode.children, i = 0;\r\n for(; i < c.length; i++ )\r\n if( c[i] == elm ) 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.get(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.get(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(element) {\r\n element = KTUtil.get(element);\r\n\r\n return {\r\n set: function(name, data) {\r\n if (element === undefined) {\r\n return;\r\n }\r\n\r\n if (element.customDataTag === undefined) {\r\n window.KTUtilElementDataStoreID++;\r\n element.customDataTag = window.KTUtilElementDataStoreID;\r\n }\r\n\r\n if (window.KTUtilElementDataStore[element.customDataTag] === undefined) {\r\n window.KTUtilElementDataStore[element.customDataTag] = {};\r\n }\r\n\r\n window.KTUtilElementDataStore[element.customDataTag][name] = data;\r\n },\r\n\r\n get: function(name) {\r\n if (element === undefined) {\r\n return;\r\n }\r\n\r\n if (element.customDataTag === undefined) {\r\n return null;\r\n }\r\n\r\n return this.has(name) ? window.KTUtilElementDataStore[element.customDataTag][name] : null;\r\n },\r\n\r\n has: function(name) {\r\n if (element === undefined) {\r\n return false;\r\n }\r\n\r\n if (element.customDataTag === undefined) {\r\n return false;\r\n }\r\n\r\n return (window.KTUtilElementDataStore[element.customDataTag] && window.KTUtilElementDataStore[element.customDataTag][name]) ? true : false;\r\n },\r\n\r\n remove: function(name) {\r\n if (element && this.has(name)) {\r\n delete window.KTUtilElementDataStore[element.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(elem) {\r\n var rect, win;\r\n elem = KTUtil.get(elem);\r\n\r\n if ( !elem ) {\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 ( !elem.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 = elem.getBoundingClientRect();\r\n win = elem.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 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 el = KTUtil.get(el);\r\n\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 el = KTUtil.get(el);\r\n\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 el = KTUtil.get(el);\r\n\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 el = KTUtil.get(el);\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 el = KTUtil.get(el);\r\n\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 callback();\r\n el.style.height = '';\r\n el.style.display = 'none';\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 callback();\r\n el.style.height = '';\r\n el.style.display = '';\r\n el.style.overflow = '';\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 el = KTUtil.get(el);\r\n\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 el = KTUtil.get(el);\r\n\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 = KTUtil.get(el);\r\n\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 // 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 target = KTUtil.get(target);\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 return (KTUtil.attr(KTUtil.get('html'), 'direction') == 'rtl');\r\n },\r\n\r\n //\r\n\r\n // Scroller\r\n scrollInit: function(element, options) {\r\n if(!element) return;\r\n // Define init function\r\n function init() {\r\n var ps;\r\n var height;\r\n\r\n if (options.height instanceof Function) {\r\n height = parseInt(options.height.call());\r\n } else {\r\n height = parseInt(options.height);\r\n }\r\n\r\n // Destroy scroll on table and mobile modes\r\n if ((options.mobileNativeScroll || options.disableForMobile) && KTUtil.isInResponsiveRange('tablet-and-mobile')) {\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 // Init scroll\r\n KTUtil.css(element, 'overflow', 'hidden');\r\n\r\n ps = KTUtil.data(element).get('ps');\r\n if (ps) {\r\n ps.update();\r\n } else {\r\n KTUtil.addClass(element, 'kt-scroll');\r\n ps = new PerfectScrollbar(element, {\r\n wheelSpeed: 0.5,\r\n swipeEasing: true,\r\n wheelPropagation: (options.windowScroll === false ? false : true),\r\n minScrollbarLength: 40,\r\n maxScrollbarLength: 300,\r\n suppressScrollX: KTUtil.attr(element, 'data-scroll-x') != 'true' ? true : false\r\n });\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\r\n if (options.rememberPosition === true && Cookies && uid) {\r\n if (Cookies.get(uid)) {\r\n var pos = parseInt(Cookies.get(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 Cookies.set(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) {\r\n var ps = KTUtil.data(element).get('ps');\r\n if (ps) {\r\n ps.destroy();\r\n ps = KTUtil.data(element).remove('ps');\r\n }\r\n },\r\n\r\n setHTML: function(el, html) {\r\n if (KTUtil.get(el)) {\r\n KTUtil.get(el).innerHTML = html;\r\n }\r\n },\r\n\r\n getHTML: function(el) {\r\n if (KTUtil.get(el)) {\r\n return KTUtil.get(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}();\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 KTUtil.init();\r\n});\r\n\r\n// CSS3 Transitions only after page load(.kt-page-loading class added to body tag and remove with JS on page load)\r\nwindow.onload = function() {\r\n KTUtil.removeClass(KTUtil.get('body'), 'kt-page--loading');\r\n}\r\n\r\nexport default KTUtil;\r\n","import React from 'react';\r\nimport Snackbar from '@material-ui/core/Snackbar';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\r\nimport ErrorIcon from '@material-ui/icons/Error';\r\nimport InfoIcon from '@material-ui/icons/Info';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport { amber, green } from '@material-ui/core/colors';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport SnackbarContent from '@material-ui/core/SnackbarContent';\r\nimport WarningIcon from '@material-ui/icons/Warning';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport IconCancel from '@material-ui/icons/Cancel';\r\nimport Button from '@material-ui/core/Button';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\n\r\n// const MessageType = {\r\n// Success: 'success', \r\n// Warning: 'warning', \r\n// Error: 'error', \r\n// Info: 'info'\r\n// }\r\n\r\nconst variantIcon = {\r\n success: CheckCircleIcon,\r\n warning: WarningIcon,\r\n error: ErrorIcon,\r\n info: InfoIcon,\r\n};\r\n\r\nconst useStyles1 = makeStyles(theme => ({\r\n success: {\r\n backgroundColor: green[600],\r\n },\r\n error: {\r\n backgroundColor: theme.palette.error.dark,\r\n },\r\n info: {\r\n backgroundColor: theme.palette.primary.main,\r\n },\r\n warning: {\r\n backgroundColor: amber[700],\r\n },\r\n icon: {\r\n fontSize: 20,\r\n },\r\n iconVariant: {\r\n opacity: 0.9,\r\n marginRight: theme.spacing(1),\r\n },\r\n message: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n}));\r\n\r\nconst MySnackbarContentWrapper = (props) => {\r\n const classes = useStyles1();\r\n const { className, message, onClose, variant, ...other } = props;\r\n const Icon = variantIcon[variant];\r\n \r\n return (\r\n \r\n \r\n {message}\r\n \r\n }\r\n action={[\r\n onClose(false)}>\r\n \r\n ,\r\n ]}\r\n {...other}\r\n />\r\n );\r\n}\r\n\r\nMySnackbarContentWrapper.propTypes = {\r\n className: PropTypes.string,\r\n message: PropTypes.node,\r\n onClose: PropTypes.func,\r\n variant: PropTypes.oneOf(['success', 'warning', 'error', 'info']).isRequired,\r\n};\r\n\r\nconst useStyles2 = makeStyles(theme => ({\r\n margin: {\r\n margin: theme.spacing(1),\r\n },\r\n}));\r\n\r\nconst ShowActionNotification = ({ _message, _type, _duration, _showCloseButton, _showUndoButton, _undoButtonDuration, _verticalPosition, _open, onClose }) => {\r\n const _data = { \r\n message: _message, \r\n showCloseButton: _showCloseButton, \r\n showUndoButton: _showUndoButton, \r\n undoButtonDuration: _undoButtonDuration, \r\n verticalPosition: _verticalPosition, \r\n type: _type, \r\n action: 'Undo', \r\n open: _open \r\n };\r\n const classes = useStyles2();\r\n const [open] = React.useState(_open);\r\n\r\n // const handleClose = (data) => {\r\n // setOpen(false)\r\n // }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst DeleteConfirmation = ({_openDialog, handleDelete, index}) => {\r\n const [showDialog] = React.useState(_openDialog);\r\n\r\n // const handleCloseClick = () => {\r\n // setShowDialog(false);\r\n // };\r\n\r\n return (\r\n \r\n Are you sure you want to delete this entity?\r\n \r\n {/*
    \r\n //Your actions will be logged.\r\n
    */}\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n}\r\n\r\nDeleteConfirmation.propTypes = {\r\n handleDelete: PropTypes.func.isRequired,\r\n};\r\n\r\nexport {\r\n ShowActionNotification,\r\n DeleteConfirmation\r\n}","import * as types from './types';\r\n\r\n\r\n\r\nconst fetchAllSubscriptions = () => ({\r\n type: types.FETCH_ALL_SUBSCRIPTIONS\r\n});\r\n\r\nconst fetchActiveSubscriptions = () => ({\r\n type: types.FETCH_ACTIVE_SUBSCRIPTIONS\r\n});\r\n\r\nconst fetchSubSuccess = ({items}) => ({\r\n type: types.FETCH_ACTIVE_SUBSCRIPTIONS_SUCCESS,\r\n payload: { \r\n items\r\n }\r\n})\r\n\r\nconst updateSubscriptionRequest = (data) => ({\r\n type: types.UPDATE_SUBSCRIPTIONS_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst updateSubscriptionSuccess = ({ items }) => ({\r\n type: types.UPDATE_SUBSCRIPTIONS_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst addSubscriptionRequest = (data) => ({\r\n type: types.ADD_SUBSCRIPTIONS_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst addSubscriptionSuccess = ({ items }) => ({\r\n type: types.ADD_SUBSCRIPTIONS_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst deleteSubscriptionRequest = (data) => ({\r\n type: types.DELETE_SUBSCRIPTIONS_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst deleteSubscriptionSuccess = ({ items }) => ({\r\n type: types.DELETE_SUBSCRIPTIONS_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst error = ({error}) => ({\r\n type: types.SUBSCRIPTIONS_ERROR,\r\n payload: error\r\n});\r\n\r\nconst reset = () => ({\r\n type: types.RESET_STORE\r\n})\r\n\r\nexport {\r\n fetchAllSubscriptions,\r\n fetchActiveSubscriptions,\r\n fetchSubSuccess,\r\n updateSubscriptionRequest,\r\n updateSubscriptionSuccess,\r\n addSubscriptionRequest,\r\n addSubscriptionSuccess,\r\n deleteSubscriptionRequest,\r\n deleteSubscriptionSuccess,\r\n error,\r\n reset\r\n}","import React, {useEffect, useState} from 'react';\r\nimport { makeStyles } from '@material-ui/styles';\r\nimport { Button } from '@material-ui/core';\r\nimport { shallowEqual, useSelector, useDispatch } from \"react-redux\";\r\nimport {runE2ERequest} from \"../../store/actions/tenantAction\";\r\n\r\nexport default function TenantEditHead(props){\r\n const { tenant } = props\r\n const classes = useStyles()\r\n const { user, E2ERan } = useSelector((state)=>({\r\n user: state.auth.user,\r\n E2ERan: state.tenant.E2ERan\r\n }), shallowEqual);\r\n const dispatch = useDispatch();\r\n const [userHasSuperAdminRole, setUserHasSuperAdminRole] = useState(false);\r\n\r\n useEffect(() => {\r\n if(user){\r\n if(user.vhUser){\r\n // setUserHasSuperAdminRole(true);\r\n }else{\r\n var superAdminRole = user.roles?.find(r=> r.systemDefined === true && r.isDeleted === false && r.roleName === 'Super Admin');\r\n if(superAdminRole){\r\n setUserHasSuperAdminRole(true);\r\n }\r\n else{\r\n setUserHasSuperAdminRole(false);\r\n } \r\n }\r\n }else{ \r\n setUserHasSuperAdminRole(false);\r\n }\r\n },[user]);\r\n const runE2E=()=>{\r\n dispatch(runE2ERequest({tenantGUID: tenant.tenantGUID}));\r\n }\r\n return(\r\n <>\r\n {tenant &&
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Subscription Type:
    \r\n
    \r\n
    \r\n

    {tenant.subscriptionType}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Domain:
    \r\n
    \r\n
    \r\n

    {tenant.domain}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Tenant ID:
    \r\n
    \r\n
    \r\n

    {tenant.tenantGUID}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Tenant Industry Type:
    \r\n
    \r\n
    \r\n

    {tenant.tenantIndustryType}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Tenant Type:
    \r\n
    \r\n
    \r\n

    {tenant.tenantType}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Sub Type:
    \r\n
    \r\n
    \r\n

    {tenant.subType}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {userHasSuperAdminRole && \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    e2e Aggregator:
    */}\r\n
    \r\n
    \r\n

    \r\n \r\n \r\n {E2ERan && } \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    }\r\n
    }\r\n \r\n )\r\n}\r\n\r\nconst useStyles = makeStyles({\r\n container: {\r\n width: '100%',\r\n padding: 10,\r\n },\r\n paper: {\r\n width: '100%',\r\n padding: 10\r\n },\r\n table: {\r\n minWidth: '100%',\r\n //borderLeft: 'solid 2px #0078d4'\r\n },\r\n title: {\r\n color: 'rgba(0, 0, 0, 0.87)',\r\n fontWeight: 500,\r\n lineHeight: '2.5rem'\r\n },\r\n containerTop: {\r\n padding: 10,\r\n marginBottom: 10,\r\n borderTop: 'solid 1px #dddddd',\r\n borderBottom: 'solid 1px #dddddd'\r\n },\r\n list: {\r\n display: 'flex',\r\n justifyContent: 'flex-start',\r\n padding: '8px 0px'\r\n },\r\n commonContainer: {\r\n display: 'flex',\r\n justifyContent: 'flex-start',\r\n alignItems: 'center'\r\n },\r\n basicLable: {\r\n minWidth: 165,\r\n },\r\n profileContainer: {\r\n minWidth: 240,\r\n },\r\n profileImage: {\r\n width: 120,\r\n height: 120\r\n },\r\n uploadContainer: {\r\n width: 'calc(100% - 405px)',\r\n },\r\n inputContainer: {\r\n width: 'calc(100% - 165px)'\r\n }\r\n});","var _title, _desc, _defs, _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgAngleDoubleLeft = function SvgAngleDoubleLeft(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"24px\",\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), title === undefined ? _title || (_title = /*#__PURE__*/React.createElement(\"title\", null, \"Stockholm-icons / Navigation / Angle-double-left\")) : title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null)), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Stockholm-icons-/-Navigation-/-Angle-double-left\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Shape\",\n points: \"0 0 24 0 24 24 0 24\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.29288961,6.70710318 C4.90236532,6.31657888 4.90236532,5.68341391 5.29288961,5.29288961 C5.68341391,4.90236532 6.31657888,4.90236532 6.70710318,5.29288961 L12.7071032,11.2928896 C13.0856821,11.6714686 13.0989277,12.281055 12.7371505,12.675721 L7.23715054,18.675721 C6.86395813,19.08284 6.23139076,19.1103429 5.82427177,18.7371505 C5.41715278,18.3639581 5.38964985,17.7313908 5.76284226,17.3242718 L10.6158586,12.0300721 L5.29288961,6.70710318 Z\",\n id: \"Path-94\",\n fill: \"#000000\",\n fillRule: \"nonzero\",\n transform: \"translate(8.999997, 11.999999) scale(-1, 1) translate(-8.999997, -11.999999) \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.7071009,15.7071068 C10.3165766,16.0976311 9.68341162,16.0976311 9.29288733,15.7071068 C8.90236304,15.3165825 8.90236304,14.6834175 9.29288733,14.2928932 L15.2928873,8.29289322 C15.6714663,7.91431428 16.2810527,7.90106866 16.6757187,8.26284586 L22.6757187,13.7628459 C23.0828377,14.1360383 23.1103407,14.7686056 22.7371482,15.1757246 C22.3639558,15.5828436 21.7313885,15.6103465 21.3242695,15.2371541 L16.0300699,10.3841378 L10.7071009,15.7071068 Z\",\n id: \"Path-94\",\n fill: \"#000000\",\n fillRule: \"nonzero\",\n opacity: 0.3,\n transform: \"translate(15.999997, 11.999999) scale(-1, 1) rotate(-270.000000) translate(-15.999997, -11.999999) \"\n }))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgAngleDoubleLeft, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Angle-double-left.5056745c.svg\";\nexport { ForwardRef as ReactComponent };","var _title, _desc, _defs, _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgAngleDoubleRight = function SvgAngleDoubleRight(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"24px\",\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), title === undefined ? _title || (_title = /*#__PURE__*/React.createElement(\"title\", null, \"Stockholm-icons / Navigation / Angle-double-right\")) : title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null)), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Stockholm-icons-/-Navigation-/-Angle-double-right\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Shape\",\n points: \"0 0 24 0 24 24 0 24\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.2928955,6.70710318 C11.9023712,6.31657888 11.9023712,5.68341391 12.2928955,5.29288961 C12.6834198,4.90236532 13.3165848,4.90236532 13.7071091,5.29288961 L19.7071091,11.2928896 C20.085688,11.6714686 20.0989336,12.281055 19.7371564,12.675721 L14.2371564,18.675721 C13.863964,19.08284 13.2313966,19.1103429 12.8242777,18.7371505 C12.4171587,18.3639581 12.3896557,17.7313908 12.7628481,17.3242718 L17.6158645,12.0300721 L12.2928955,6.70710318 Z\",\n id: \"Path-94\",\n fill: \"#000000\",\n fillRule: \"nonzero\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.70710678,15.7071068 C3.31658249,16.0976311 2.68341751,16.0976311 2.29289322,15.7071068 C1.90236893,15.3165825 1.90236893,14.6834175 2.29289322,14.2928932 L8.29289322,8.29289322 C8.67147216,7.91431428 9.28105859,7.90106866 9.67572463,8.26284586 L15.6757246,13.7628459 C16.0828436,14.1360383 16.1103465,14.7686056 15.7371541,15.1757246 C15.3639617,15.5828436 14.7313944,15.6103465 14.3242754,15.2371541 L9.03007575,10.3841378 L3.70710678,15.7071068 Z\",\n id: \"Path-94\",\n fill: \"#000000\",\n fillRule: \"nonzero\",\n opacity: 0.3,\n transform: \"translate(9.000003, 11.999999) rotate(-270.000000) translate(-9.000003, -11.999999) \"\n }))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgAngleDoubleRight, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Angle-double-right.5590cf20.svg\";\nexport { ForwardRef as ReactComponent };","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,no-loop-func,no-undef,no-restricted-globals,strict,no-unused-vars,no-cond-assign,eqeqeq,no-throw-literal,no-unreachable,no-useless-escape,no-redeclare,no-useless-concat,no-unused-expressions,no-sequences */\r\nimport KTUtil from \"./util\";\r\n\r\n\"use strict\";\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.get(elementId);\r\n var body = KTUtil.get('body');\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {};\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 the.overlay;\r\n\r\n the.classBase = the.options.baseClass;\r\n the.classShown = the.classBase + '--on';\r\n the.classOverlay = the.classBase + '-overlay';\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( the.options.toggleBy, 'click', function(e) {\r\n e.preventDefault();\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( the.options.toggleBy[i].target, 'click', function(e) {\r\n e.preventDefault();\r\n Plugin.toggle();\r\n });\r\n }\r\n } else {\r\n for (var i in the.options.toggleBy) {\r\n KTUtil.addEvent( the.options.toggleBy[i], 'click', function(e) {\r\n e.preventDefault();\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( the.options.toggleBy.target, 'click', function(e) {\r\n e.preventDefault();\r\n Plugin.toggle();\r\n });\r\n }\r\n }\r\n\r\n // offcanvas close\r\n var closeBy = KTUtil.get(the.options.closeBy);\r\n if (closeBy) {\r\n KTUtil.addEvent(closeBy, 'click', function(e) {\r\n e.preventDefault();\r\n Plugin.hide();\r\n });\r\n }\r\n\r\n // Window resize\r\n /*\r\n KTUtil.addResizeHandler(function() {\r\n if (parseInt(KTUtil.css(element, 'left')) >= 0 || parseInt(KTUtil.css(element, 'right') >= 0) || KTUtil.css(element, 'position') != 'fixed') {\r\n KTUtil.css(element, 'opacity', '1');\r\n }\r\n });\r\n */\r\n },\r\n\r\n isShown: function(target) {\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(this);\r\n } else {\r\n Plugin.show(this);\r\n }\r\n },\r\n\r\n show: function(target) {\r\n if (the.state == 'shown') {\r\n return;\r\n }\r\n\r\n Plugin.eventTrigger('beforeShow');\r\n\r\n Plugin.togglerClass(target, 'show');\r\n\r\n // Offcanvas panel\r\n KTUtil.addClass(body, the.classShown);\r\n KTUtil.addClass(element, the.classShown);\r\n //KTUtil.css(element, 'opacity', '1');\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 KTUtil.addEvent(the.overlay, 'click', function(e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n Plugin.hide(target);\r\n });\r\n }\r\n\r\n Plugin.eventTrigger('afterShow');\r\n },\r\n\r\n hide: function(target) {\r\n if (the.state == 'hidden') {\r\n return;\r\n }\r\n\r\n Plugin.eventTrigger('beforeHide');\r\n\r\n Plugin.togglerClass(target, 'hide');\r\n\r\n KTUtil.removeClass(body, the.classShown);\r\n KTUtil.removeClass(element, the.classShown);\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 /*\r\n KTUtil.transitionEnd(element, function() {\r\n KTUtil.css(element, 'opacity', '0');\r\n });\r\n */\r\n\r\n Plugin.eventTrigger('afterHide');\r\n },\r\n\r\n togglerClass: function(target, mode) {\r\n // Toggler\r\n var id = KTUtil.attr(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.get(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 the.setDefaults = function(options) {\r\n defaultOptions = options;\r\n };\r\n\r\n the.isShown = function() {\r\n return Plugin.isShown();\r\n };\r\n\r\n the.hide = function() {\r\n return Plugin.hide();\r\n };\r\n\r\n the.show = function() {\r\n return Plugin.show();\r\n };\r\n\r\n the.on = function(name, handler) {\r\n return Plugin.addEvent(name, handler);\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 // 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;\r\n","// import * as types from './types';\r\n\r\n// const getAllGlobalConfig = () => ({\r\n// type: types.FETCH_GLOBAL_CONFIG,\r\n// })\r\n\r\n// export {\r\n// getAllGlobalConfig\r\n// }\r\n\r\nimport * as types from './types';\r\n\r\nconst getAllGlobalConfig = (data) => ({\r\n type: types.FETCH_GLOBAL_CONFIG,\r\n payload: data\r\n})\r\n\r\nconst fetchGlobalConfigAllList = () => ({\r\n type: types.FETCH_ALL_GLOBAL_CONFIG\r\n})\r\n\r\nconst fetchGlobalConfigSuccess = ({ items }) => ({\r\n type: types.FETCH_GLOBAL_CONFIG_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst updateGlobalConfigRequest = (data) => ({\r\n type: types.UPDATE_GLOBAL_CONFIG_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst updateGlobalConfigSuccess = ({ items }) => ({\r\n type: types.UPDATE_GLOBAL_CONFIG_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst addGlobalConfigRequest = (data) => ({\r\n type: types.ADD_GLOBAL_CONFIG_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst addGlobalConfigSuccess = ({ items }) => ({\r\n type: types.ADD_GLOBAL_CONFIG_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst deleteGlobalConfigRequest = (data) => ({\r\n type: types.DELETE_GLOBAL_CONFIG_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst deleteGlobalConfigSuccess = ({ items }) => ({\r\n type: types.DELETE_GLOBAL_CONFIG_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst error = ({error}) => ({\r\n type: types.GLOBAL_CONFIG_ERROR,\r\n payload: error\r\n});\r\n\r\nconst reset = () => ({\r\n type: types.RESET_STORE\r\n});\r\n\r\n\r\nexport {\r\n getAllGlobalConfig,\r\n fetchGlobalConfigAllList,\r\n fetchGlobalConfigSuccess,\r\n updateGlobalConfigRequest,\r\n updateGlobalConfigSuccess,\r\n addGlobalConfigRequest,\r\n addGlobalConfigSuccess,\r\n deleteGlobalConfigRequest,\r\n deleteGlobalConfigSuccess,\r\n error,\r\n reset\r\n}\r\n","import React, { forwardRef, useEffect, useState } from \"react\";\r\nimport clsx from \"clsx\";\r\nimport { isFragment } from \"react-is\";\r\n\r\nexport const PortletHeaderIcon = forwardRef(({ className }, ref) => (\r\n \r\n));\r\n\r\nexport const PortletHeaderTitle = forwardRef(({ className, ...props }, ref) => (\r\n // eslint-disable-next-line jsx-a11y/heading-has-content\r\n \r\n));\r\n\r\nexport const PortletHeaderToolbar = forwardRef(\r\n ({ className, ...props }, ref) => (\r\n \r\n )\r\n);\r\n\r\nexport const PortletHeader = forwardRef(\r\n (\r\n { icon, title, toolbar, className, sticky = false, headerClassName, labelRef, ...props },\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(\".kt-header\");\r\n const subheaderElement = document.querySelector(\".kt-subheader\");\r\n const headerMobileElement = document.querySelector(\".kt-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(\"kt-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(\"kt-header--fixed\")) {\r\n nextMarginTop += headerElement.offsetHeight;\r\n }\r\n\r\n if (document.body.classList.contains(\"kt-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 PortletHeaderTitle */\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 \r\n );\r\n }\r\n);\r\n\r\nexport const PortletBody = forwardRef(\r\n ({ fit, fluid, className, ...props }, ref) => (\r\n \r\n )\r\n);\r\n\r\nexport const PortletFooter = forwardRef(({ className, ...props }, ref) => (\r\n
    \r\n));\r\n\r\nexport const Portlet = forwardRef(\r\n ({ fluidHeight, className, ...props }, ref) => (\r\n \r\n )\r\n);\r\n\r\n// Set display names for debugging.\r\nif (process.env.NODE_ENV !== \"production\") {\r\n Portlet.displayName = \"Portlet\";\r\n\r\n PortletHeader.displayName = \"PortletHeader\";\r\n PortletHeaderIcon.displayName = \"PortletHeaderIcon\";\r\n PortletHeaderTitle.displayName = \"PortletHeaderTitle\";\r\n PortletHeaderToolbar.displayName = \"PortletHeaderToolbar\";\r\n\r\n PortletBody.displayName = \"PortletBody\";\r\n PortletFooter.displayName = \"PortletFooter\";\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,no-loop-func,no-undef,no-restricted-globals,strict,no-unused-vars,no-cond-assign,eqeqeq,no-throw-literal,no-unreachable,no-useless-escape,no-redeclare,no-useless-concat,no-unused-expressions,no-sequences */\r\nimport KTUtil from \"./util\";\r\n\r\n\"use strict\";\r\n\r\n// plugin setup\r\nvar KTToggle = 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.get(elementId);\r\n var body = KTUtil.get('body'); \r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\r\n togglerState: '',\r\n targetState: ''\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 the.target = KTUtil.get(the.options.target);\r\n the.targetState = the.options.targetState;\r\n the.togglerState = the.options.togglerState;\r\n\r\n the.state = KTUtil.hasClasses(the.target, the.targetState) ? 'on' : 'off';\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 KTUtil.addClass(the.target, the.targetState);\r\n\r\n if (the.togglerState) {\r\n KTUtil.addClass(element, the.togglerState);\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 KTUtil.removeClass(the.target, the.targetState);\r\n\r\n if (the.togglerState) {\r\n KTUtil.removeClass(element, the.togglerState);\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;\r\n","\r\nimport axios from \"axios\";\r\nconst getUrl = 'Configuration'\r\nconst updateUrl = 'Configuration/UpdateGlobalConfig'\r\nconst addUrl = 'Configuration/CreateGlobalConfig'\r\nconst deleteUrl = 'Configuration/DeleteGlobalConfig'\r\n\r\nexport function getGlobalConfigAll() {\r\n return axios.get(getUrl);\r\n}\r\n\r\nexport function updateGlobalConfig(params) {\r\n return axios.post(updateUrl, params);\r\n}\r\n\r\nexport function addGlobalConfig(params) {\r\n return axios.post(addUrl, params);\r\n}\r\n\r\nexport function deleteGlobalConfig(params) {\r\n return axios.delete(`${deleteUrl}/${params.globalConfigID}`, params);\r\n}\r\nexport function getAllGlobalConfig() {\r\n return axios.get(getUrl);\r\n}\r\n","import * as types from './types'\r\n\r\n\r\nconst getPermission = () => ({\r\n type: types.FETCH_PERMISSION\r\n})\r\n\r\nconst getPermissionSuccess = ({ items }) => ({\r\n type: types.FETCH_PERMISSION_SUCCESS,\r\n payload: items\r\n})\r\n\r\nconst savePermission = (data) => ({\r\n type: types.SAVE_PERMISSION,\r\n payload: data\r\n})\r\n\r\nconst savePermissionSuccess = ({ items }) => ({\r\n type: types.SAVE_PERMISSION_SUCCESS,\r\n payload: items\r\n})\r\n\r\nconst addPermission = (data) => ({\r\n type: types.ADD_PERMISSION,\r\n payload: data\r\n})\r\n\r\nconst addPermissionSuccess = ({ items }) => ({\r\n type: types.ADD_PERMISSION_SUCCESS,\r\n payload: items\r\n})\r\n\r\nconst error = ({error}) => ({\r\n type: types.PERMISSION_ERROR,\r\n payload: error\r\n});\r\n\r\nconst reset = () => ({\r\n type: types.RESET_STORE\r\n})\r\n\r\nexport {\r\n getPermission,\r\n getPermissionSuccess,\r\n savePermission,\r\n savePermissionSuccess,\r\n addPermission,\r\n addPermissionSuccess,\r\n error,\r\n reset\r\n}","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableHead from '@material-ui/core/TableHead';\r\nimport TableRow from '@material-ui/core/TableRow';\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel';\r\n\r\n\r\nconst descendingComparator = (a, b, orderBy) => {\r\n if (b[orderBy] < a[orderBy]) {\r\n return -1;\r\n }\r\n if (b[orderBy] > a[orderBy]) {\r\n return 1;\r\n }\r\n return 0;\r\n}\r\n\r\nconst getComparator = (order, orderBy) => {\r\n return order === 'desc'\r\n ? (a, b) => descendingComparator(a, b, orderBy)\r\n : (a, b) => -descendingComparator(a, b, orderBy);\r\n}\r\n\r\nconst stableSort = (array, comparator) => {\r\n const stabilizedThis = array.map((el, index) => [el, index]);\r\n stabilizedThis.sort((a, b) => {\r\n const order = comparator(a[0], b[0]);\r\n if (order !== 0) return order;\r\n return a[1] - b[1];\r\n });\r\n return stabilizedThis.map((el) => el[0]);\r\n}\r\n\r\nconst EnhancedTableHead = (props) => {\r\n const { classes, order, orderBy, onRequestSort, headCells } = props;\r\n const createSortHandler = (property) => (event) => {\r\n onRequestSort(event, property);\r\n };\r\n \r\n return (\r\n \r\n \r\n {headCells.map((headCell) => (\r\n \r\n {headCell.id === 'inner_actions' || headCell.id === 'actions' || headCell.id === 'actions2' ? headCell.label : \r\n {headCell.label}\r\n {orderBy === headCell.id ? (\r\n \r\n {order === 'desc' ? 'sorted descending' : 'sorted ascending'}\r\n \r\n ) : null}\r\n }\r\n \r\n ))}\r\n \r\n \r\n );\r\n }\r\n \r\nEnhancedTableHead.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n headCells: PropTypes.array.isRequired,\r\n onRequestSort: PropTypes.func.isRequired,\r\n order: PropTypes.oneOf(['asc', 'desc']).isRequired,\r\n orderBy: PropTypes.string.isRequired,\r\n rowCount: PropTypes.number.isRequired,\r\n};\r\n\r\nexport {\r\n descendingComparator,\r\n getComparator,\r\n stableSort,\r\n EnhancedTableHead\r\n}","\r\nimport * as types from './types';\r\n\r\nconst getAllPowerBICapacityManagement = ()=>({\r\n type: types.GET_ALL_POWERBI_CAPACITY_MANAGEMENT,\r\n});\r\n\r\nconst getAllCapacities = ()=>({\r\n type: types.GET_ALL_CAPACITIES\r\n});\r\n\r\nconst updatePowerBICapacityManagement = (data)=>({\r\n type: types.UPDATE_POWERBI_CAPACITY_MANAGEMENT,\r\n payload: data\r\n})\r\n\r\nconst error = ({error})=>({\r\n type: types.POWERBI_CAPACITY_MANAGEMENT_ERROR,\r\n payload: error\r\n});\r\n\r\nconst reset = ()=>({\r\n type: types.POWERBI_CAPACITY_MANAGEMENT_RESET\r\n})\r\n\r\n\r\nexport {\r\n getAllPowerBICapacityManagement,\r\n getAllCapacities,\r\n updatePowerBICapacityManagement,\r\n error,\r\n reset\r\n}","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,no-loop-func,no-undef,no-restricted-globals,strict,no-unused-vars,no-cond-assign,eqeqeq,no-throw-literal,no-unreachable,no-useless-escape,no-redeclare,no-useless-concat,no-unused-expressions,no-sequences */\r\nimport KTUtil from \"./util\";\r\n\r\n\"use strict\";\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.get(elementId);\r\n var body = KTUtil.get('body');\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, '.kt-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-ktmenu-submenu-toggle=\"hover\"]', 'mouseover', Plugin.handleSubmenuDrodownHoverEnter);\r\n the.eventHandlers['event_3'] = KTUtil.on( element, '[data-ktmenu-submenu-toggle=\"hover\"]', 'mouseout', Plugin.handleSubmenuDrodownHoverExit);\r\n\r\n // dropdown submenu - click toggle\r\n the.eventHandlers['event_4'] = KTUtil.on( element, '[data-ktmenu-submenu-toggle=\"click\"] > .kt-menu__toggle, [data-ktmenu-submenu-toggle=\"click\"] > .kt-menu__link .kt-menu__toggle', 'click', Plugin.handleSubmenuDropdownClick);\r\n the.eventHandlers['event_5'] = KTUtil.on( element, '[data-ktmenu-submenu-toggle=\"tab\"] > .kt-menu__toggle, [data-ktmenu-submenu-toggle=\"tab\"] > .kt-menu__link .kt-menu__toggle', 'click', Plugin.handleSubmenuDropdownTabClick);\r\n }\r\n\r\n // handle link click\r\n the.eventHandlers['event_6'] = KTUtil.on(element, '.kt-menu__item > .kt-menu__link:not(.kt-menu__toggle):not(.kt-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);\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);\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.isInResponsiveRange('desktop') ) {\r\n if (el && KTUtil.hasAttr(el, 'data-ktmenu-submenu-toggle') && KTUtil.attr(el, 'data-ktmenu-submenu-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.isInResponsiveRange('tablet') && KTUtil.isset(the.options.submenu, 'tablet') ) {\r\n return the.options.submenu.tablet;\r\n } else if ( KTUtil.isInResponsiveRange('mobile') && 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.isInResponsiveRange('desktop') && 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, '.kt-menu__submenu');\r\n if ( submenus ) {\r\n for (var i = 0, len = submenus.length; i < len; i++) {\r\n KTUtil.css(submenus[0], 'display', '');\r\n KTUtil.css(submenus[0], 'overflow', '');\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('.kt-menu__item');\r\n\r\n if ( item.getAttribute('data-ktmenu-submenu-mode') == 'accordion' ) {\r\n return;\r\n }\r\n\r\n if ( KTUtil.hasClass(item, 'kt-menu__item--hover') === false ) {\r\n KTUtil.addClass(item, 'kt-menu__item--open-dropdown');\r\n Plugin.showSubmenuDropdown(item);\r\n } else {\r\n KTUtil.removeClass(item, 'kt-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\r\n var item = this.closest('.kt-menu__item');\r\n\r\n if (item.getAttribute('data-ktmenu-submenu-mode') == 'accordion') {\r\n return;\r\n }\r\n\r\n if (KTUtil.hasClass(item, 'kt-menu__item--hover') == false) {\r\n KTUtil.addClass(item, 'kt-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('.kt-menu__item.kt-menu__item--submenu'); //\r\n\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('.kt-menu__item.kt-menu__item--submenu.kt-menu__item--hover:not(.kt-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, 'kt-menu__toggle') === false && el.querySelectorAll('.kt-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 if ( Plugin.getSubmenuMode(el) === 'dropdown' && (query = item.closest('.kt-menu__item') ) ) {\r\n if (query.getAttribute('data-ktmenu-submenu-mode') != 'accordion' ) {\r\n e.preventDefault();\r\n return;\r\n }\r\n }\r\n\r\n var li = item.closest('.kt-menu__item');\r\n var submenu = KTUtil.child(li, '.kt-menu__submenu, .kt-menu__inner');\r\n\r\n if (KTUtil.hasClass(item.closest('.kt-menu__item'), 'kt-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, 'kt-menu__item--open') === false ) {\r\n // hide other accordions\r\n if ( the.options.accordion.expandAll === false ) {\r\n var subnav = item.closest('.kt-menu__nav, .kt-menu__subnav');\r\n var closables = KTUtil.children(subnav, '.kt-menu__item.kt-menu__item--open.kt-menu__item--submenu:not(.kt-menu__item--here):not(.kt-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_, '.kt-menu__submenu');\r\n if ( submenu_ ) {\r\n KTUtil.slideUp(submenu_, speed, function() {\r\n Plugin.scrollUpdate();\r\n KTUtil.removeClass(el_, 'kt-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, 'kt-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, 'kt-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.isInResponsiveRange('desktop') && the.options.accordion.autoScroll && element.getAttribute('data-ktmenu-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, 'kt-menu__item--hover');\r\n KTUtil.removeClass(item, 'kt-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-ktmenu-dropdown-toggle-class') ) {\r\n KTUtil.removeClass(body, item.getAttribute('data-ktmenu-dropdown-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('.kt-menu__item--submenu.kt-menu__item--hover:not(.kt-menu__item--tabs):not([data-ktmenu-submenu-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('.kt-menu__item--submenu.kt-menu__item--hover, .kt-menu__item--submenu.kt-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, 'kt-menu__item--hover');\r\n\r\n if ( item.getAttribute('data-ktmenu-dropdown-toggle-class') ) {\r\n KTUtil.addClass(body, item.getAttribute('data-ktmenu-dropdown-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, '.kt-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('.kt-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, 'kt-menu__item--active');\r\n KTUtil.hide( KTUtil.child(el, '.kt-menu__submenu') );\r\n parents = KTUtil.parents(el, '.kt-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_, 'kt-menu__item--open');\r\n KTUtil.hide( KTUtil.child(el_, '.kt-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('.kt-menu__item--open') ) {\r\n for (var i = 0, len = list.length; i < len; i++) {\r\n KTUtil.removeClass(parents[0], 'kt-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, '.kt-menu__item--submenu') || [];\r\n for (var i = 0, len = parents.length; i < len; i++) {\r\n KTUtil.addClass(KTUtil.get(parents[i]), 'kt-menu__item--open');\r\n }\r\n\r\n KTUtil.addClass(KTUtil.get(item), 'kt-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, '.kt-menu__link');\r\n\r\n breadcrumbs.push({\r\n text: (query = KTUtil.child(link, '.kt-menu__link-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, '.kt-menu__item--submenu');\r\n for (var i = 0, len = parents.length; i < len; i++) {\r\n var submenuLink = KTUtil.child(parents[i], '.kt-menu__link');\r\n\r\n breadcrumbs.push({\r\n text: (query = KTUtil.child(submenuLink, '.kt-menu__link-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, '.kt-menu__link-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.get('body');\r\n var query;\r\n if ( query = body.querySelectorAll('.kt-menu__nav .kt-menu__item.kt-menu__item--submenu.kt-menu__item--hover:not(.kt-menu__item--tabs)[data-ktmenu-submenu-toggle=\"click\"]') ) {\r\n for (var i = 0, len = query.length; i < len; i++) {\r\n var element = query[i].closest('.kt-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;\r\n","import * as types from './types';\r\n\r\n\r\nconst fetchTenantConfigAllList = () => ({\r\n type: types.FETCH_ALL_TenantConfig\r\n})\r\n\r\nconst fetchTenantConfigSuccess = ({items}) => ({\r\n type: types.FETCH_TenantConfig_SUCCESS,\r\n payload: { \r\n items\r\n }\r\n})\r\n\r\nconst updateTenantConfigAllList = (data) => ({\r\n type: types.UPDATE_TenantConfig,\r\n payload: data\r\n})\r\n\r\nconst updateTenantConfigSuccess = ({items}) => ({\r\n type: types.UPDATE_TenantConfig_success,\r\n payload: { \r\n items\r\n }\r\n})\r\n\r\nconst error = ({error}) => ({\r\n type: types.TenantConfig_Error,\r\n payload: error\r\n});\r\n\r\nconst reset = () => ({\r\n type: types.RESET_STORE\r\n})\r\n\r\n\r\nexport {\r\n fetchTenantConfigAllList,\r\n fetchTenantConfigSuccess,\r\n updateTenantConfigAllList,\r\n updateTenantConfigSuccess,\r\n error,\r\n reset\r\n}","import * as types from './types';\r\n\r\nconst getAllTenant = (data) => ({\r\n type: types.FETCH_TENANT,\r\n payload: data\r\n})\r\n\r\nconst fetchTenantSuccess = ({ items }) => ({\r\n type: types.FETCH_TENANT_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst getTenantById = (id) => ({\r\n type: types.FETCH_TENANT_BY_ID,\r\n payload: id\r\n})\r\n\r\nconst fetchTenantByIdSuccess = ({ items }) => ({\r\n type: types.FETCH_TENANT_BY_ID_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst getCountry = () => ({\r\n type: types.FATCH_COUNTRY,\r\n})\r\n\r\nconst fetchCountrySuccess = ({ items }) => ({\r\n type: types.FATCH_COUNTRY_SUCCESS,\r\n payload: items\r\n})\r\n\r\nconst getState = (data) => ({\r\n type: types.FATCH_STATE,\r\n payload: data\r\n})\r\n\r\nconst fetchStateSuccess = ({ items }) => ({\r\n type: types.FATCH_STATE_SUCCESS,\r\n payload: items\r\n})\r\n\r\nconst updateTenantRequest = (data) => ({\r\n type: types.UPDATE_TENANT_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst updateTenantSuccess = ({ items }) => ({\r\n type: types.UPDATE_TENANT_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n});\r\nconst runE2ERequest = ( data ) => ({\r\n type: types.RUN_E2E_REQUEST, \r\n payload: data\r\n});\r\nconst runAddNewUsersToReportsRequest = ( data ) => ({\r\n type: types.RUN_ADD_NEW_USERS_TO_REPORTS_REQUEST, \r\n payload: data\r\n});\r\nconst runE2ESuccess = ({ items }) => ({\r\n type: types.RUN_E2E_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n});\r\nconst runAddNewUsersToReportsSuccess = ({ items }) => ({\r\n type: types.RUN_ADD_NEW_USERS_TO_REPORTS_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n});\r\nconst deleteTenantRequest = (data) => ({\r\n type: types.DELETE_TENANT_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst deleteTenantSuccess = ({ items }) => ({\r\n type: types.DELETE_TENANT_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst addTenantRequest = (data, history) => ({\r\n type: types.ADD_TENANT_REQUEST,\r\n payload: {data, history},\r\n});\r\n\r\n\r\nconst addTenantSuccess = ({ items }) => ({\r\n type: types.ADD_TENANT_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst error = ({error}) => ({\r\n type: types.TENANT_ERROR,\r\n payload: error\r\n});\r\n\r\nconst reset = () => ({\r\n type: types.RESET_STORE\r\n})\r\n\r\nconst setActiveStep = (stepNumber)=>({\r\n type: types.TENANT_ACTIVE_STEP_SET,\r\n payload: stepNumber\r\n})\r\n\r\n\r\nexport {\r\n getAllTenant,\r\n fetchTenantSuccess,\r\n getTenantById,\r\n fetchTenantByIdSuccess,\r\n fetchCountrySuccess,\r\n getCountry,\r\n getState,\r\n fetchStateSuccess,\r\n updateTenantRequest,\r\n updateTenantSuccess,\r\n deleteTenantRequest,\r\n deleteTenantSuccess,\r\n addTenantRequest,\r\n addTenantSuccess,\r\n runE2ERequest,\r\n runE2ESuccess,\r\n runAddNewUsersToReportsRequest,\r\n runAddNewUsersToReportsSuccess,\r\n error,\r\n reset,\r\n setActiveStep\r\n}","import React from \"react\";//,{ useEffect }\r\n// import axios from \"axios\";\r\n// import { useDispatch, useSelector } from \"react-redux\";\r\n// import * as actions from \"../../../../store/actions/globalConfigAction\";\r\n// import { useLocation } from 'react-router-dom'\r\n\r\n\r\nexport default function RoleInitializer({\r\n children,\r\n params\r\n}) {\r\n\r\n return (\r\n <> { children } \r\n )\r\n}\r\n","import React, { useState, useEffect } from 'react';// Fragment,\r\nimport { useDispatch, useSelector, shallowEqual } from 'react-redux'\r\nimport * as actions from '../../../../../store/actions/roleAction'\r\nimport FormGroup from '@material-ui/core/FormGroup';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport { Checkbox, Button } from '@material-ui/core';\r\nimport { Form } from \"react-bootstrap\";\r\nimport { makeStyles } from '@material-ui/core/styles'; \r\n//import PerfectScrollbar from \"react-perfect-scrollbar\"; \r\n\r\nexport default function RoleAdd(props) {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const { itemData, match } = props;\r\n const [items, setItem] = useState(null);\r\n const [SelectAll, setSelectAll] = useState(false);\r\n const [SelectAllReportsView, setSelectAllReportsView] = useState(true);\r\n const [SelectAllReportsExport, setSelectAllReportsExport] = useState(false);\r\n const { role } = useSelector(\r\n (state) => ({role: state.roles}),\r\n shallowEqual\r\n );\r\n const params = {\r\n \"sortField\":\"\",\r\n \"sortDirection\":\"\",\r\n \"pageSize\":60,\r\n \"pageNumber\":1,\r\n \"searchText\":\"\"\r\n }\r\n useEffect(() => {\r\n setItem(role.roledata); \r\n }, [role]);\r\n useEffect(() => { \r\n if(items){ \r\n calculateSelectAllReportPermissionsCheckBox(items,'View');\r\n calculateSelectAllReportPermissionsCheckBox(items,'Export');\r\n calculateSelectAllPermissionsCheckBox(items);\r\n } \r\n }, [items]);\r\n const calculateSelectAllReportPermissionsCheckBox = (items, permissionName)=>{\r\n for(var m=0;m{\r\n for(var m=0;m {\r\n return itemData\r\n }, [itemData]);\r\n const [addRole, setAddRole] = useState({\r\n roleName: \"\",\r\n description: \"\",\r\n systemDefined: true,\r\n })\r\n const closeRow = () => {\r\n props.close();\r\n }\r\n const onAddSubmit = () => {\r\n addRole.roleName && props.onAdd(addRole);\r\n addRole.roleName && props.close();\r\n }\r\n const selectAllReports = (e, permissionName) => {\r\n const {checked} = e.target;\r\n if(permissionName ==='View'){\r\n setSelectAllReportsView(checked);\r\n }else if(permissionName ==='Export'){\r\n setSelectAllReportsExport(checked);\r\n }\r\n for(var m=0;m{\r\n console.log(\"selectAll Changed\",SelectAll);\r\n },[SelectAll]);\r\n const selectAllPermissions = (e)=>{\r\n const {checked} = e.target;\r\n setSelectAll(checked);\r\n console.log(\"SelectAll Permissions on Change event\", checked);\r\n for(var m=0;m {\r\n const {name, checked} = e.target;\r\n items.modules[index].permissions[childIndex].isSelected = checked\r\n setItem({\r\n ...items\r\n })\r\n }\r\n function heandleChangeValueChild(e, index, parentIndex, childIndex){\r\n const {name, checked} = e.target;\r\n items.modules[index].childModules[parentIndex].permissions[childIndex].isSelected = checked\r\n setItem({\r\n ...items,\r\n })\r\n }\r\n\r\n const heandleChangeInput = (e) => {\r\n const {name, value} = e.target;\r\n setItem({\r\n ...items,\r\n [name]: value\r\n })\r\n }\r\n\r\n function onSubmitValue(){\r\n if(items.roleID > 0){\r\n dispatch(actions.updateRoleRequest(items))\r\n } else {\r\n dispatch(actions.addRoleRequest(items))\r\n setTimeout(() => {\r\n if(match.params.id){\r\n const data = {\r\n params: params,\r\n id: match.params.id\r\n }\r\n dispatch(actions.getAllTenantRoles(data));\r\n } else {\r\n dispatch(actions.getAllRoles(params)); \r\n }\r\n }, 2000)\r\n }\r\n }\r\n return (\r\n <>\r\n {items && \r\n // \r\n
    \r\n
    \r\n
    Role Info
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n heandleChangeInput(e)}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n heandleChangeInput(e)}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Permissions
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {items && items.modules.length > 0 && \r\n {items.modules.map((itm, i) => {\r\n if(![\"RunTime\",\"Admin\"].includes(itm.moduleName.trim()))\r\n return <> \r\n
    \r\n
    \r\n {itm.moduleName}\r\n
    \r\n {itm.moduleName === 'Reports' &&\r\n <>\r\n selectAllReports(e,\"View\")} checked={SelectAllReportsView} />\r\n \r\n selectAllReports(e,\"Export\")} checked={SelectAllReportsExport} />\r\n \r\n \r\n }\r\n
    \r\n {itm.permissions && itm.permissions.length > 0 &&
    \r\n <>\r\n {itm.permissions.map((pre, pi) => (\r\n <>\r\n
    \r\n heandleChangeValue(e, i, pi)}\r\n />\r\n }\r\n />\r\n \r\n
    \r\n \r\n ))}\r\n \r\n
    }\r\n \r\n {itm.childModules && itm.childModules.length > 0 &&
    \r\n {itm.childModules.map((childItem, ci) => (\r\n <>\r\n
    \r\n
    \r\n {childItem.moduleName}\r\n
    \r\n
    \r\n
    \r\n {childItem.permissions.map((childpre, cpi) => (\r\n <>\r\n
    \r\n heandleChangeValueChild(e, i, ci, cpi)}\r\n name=\"isSelected\" \r\n color=\"primary\"\r\n />\r\n }\r\n />\r\n \r\n
    \r\n \r\n ))}\r\n
    \r\n \r\n ))}\r\n
    }\r\n \r\n else return <>;\r\n })}\r\n
    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n onSubmitValue()}\r\n >\r\n Submit\r\n \r\n
    \r\n
    \r\n
    \r\n // \r\n }\r\n \r\n )\r\n }\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n padding: 0\r\n },\r\n filterButton: {\r\n marginTop: 20\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n cell: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n formControl: {\r\n margin: '0 15px 0px 0px',\r\n minWidth: 180,\r\n maxWidth: '100%',\r\n },\r\n margin: {\r\n margin: '0 15px 0px 0px',\r\n },\r\n inputLabel: {\r\n //zIndex: 3,\r\n top: 12,\r\n left: 10\r\n },\r\n InputBase: {\r\n root: {\r\n marginTop: 0\r\n }\r\n },\r\n title:{\r\n color:'#0078d4',\r\n paddingBottom:10,\r\n paddingTop:10\r\n\r\n }\r\n})\r\n","import React, { useState,useEffect, Fragment, useCallback } from 'react';\r\nimport { shallowEqual, useDispatch, useSelector, connect } from \"react-redux\";\r\nimport * as actions from \"../../../../../store/actions/roleAction\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport clsx from 'clsx';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport { ReactComponent as AngleDoubleLeftIcon } from \"../../../../../../_metronic/layout/assets/layout-svg-icons/Angle-double-left.svg\"\r\nimport { ReactComponent as AngleDoubleRightIcon } from \"../../../../../../_metronic/layout/assets/layout-svg-icons/Angle-double-right.svg\";\r\nimport { DeleteConfirmation } from '../../../../../crud/LayoutUtilsService'\r\n\r\nimport {\r\n Table,\r\n TableBody,\r\n TableRow,\r\n TableCell,\r\n IconButton,\r\n Checkbox\r\n} from '@material-ui/core';\r\nimport DeleteIcon from '@material-ui/icons/Delete'\r\nimport DoneIcon from '@material-ui/icons/Done'\r\nimport {\r\n getComparator, \r\n stableSort,\r\n EnhancedTableHead\r\n} from '../../../../../crud/SortGrid';\r\nimport RoleAdd from '../Role-add/RoleAdd';\r\nimport { Form } from 'react-bootstrap'\r\nimport Toast from '../../../../../crud/Toast';\r\n\r\nfunction RoleList(props){\r\n const { match , user} = props\r\n const loader = document.getElementById('splash-screen');\r\n const [isSending, setIsSending] = useState(true)\r\n const[updateItem, setUpdateItem] = useState(null)\r\n const[deleteItem, setDelete] = useState(null)\r\n const [roleToDelete, setRoleToDelete] = useState(null);\r\n const classes = useStyles();\r\n const [addItem, setAddItem] = useState(null);\r\n const [minMenu, setMinMenu] = useState(false);\r\n const [userHasEditTenantPermission, setUserHasEditTenantPermission] = useState(false);\r\n useEffect(()=>{\r\n var hasPermission = !!user?.modules?.find(m=>m.moduleName==='Tenants' && m.permissions?.some(p=>p.permissionName === 'Create'||p.permissionName === 'Update'));\r\n setUserHasEditTenantPermission(hasPermission);\r\n },[]);\r\n const history = useHistory()\r\n const params = {\r\n \"sortField\":\"\",\r\n \"sortDirection\":\"\",\r\n \"pageSize\":10,\r\n \"pageNumber\":1,\r\n \"searchText\":\"\"\r\n }\r\n const initialRole = {\r\n roleID: undefined,\r\n roleName: \"\",\r\n description: \"\",\r\n systemDefined: false,\r\n active: false,\r\n user: null,\r\n rolePermissions: null\r\n }\r\n const dispatch = useDispatch();\r\n const[dataSource, setDataSource] = useState([])\r\n useEffect(() => {\r\n loader.classList.remove('hidden')\r\n if(match.params.id){\r\n const data = {\r\n params: params,\r\n id: match.params.id\r\n }\r\n dispatch(actions.getAllTenantRoles(data));\r\n } else {\r\n dispatch(actions.getAllRoles(params)); \r\n }\r\n setTimeout(() => {\r\n loader.classList.add('hidden')\r\n }, 1000)\r\n }, [match.params]);\r\n const { currentState, row, success, roleMessage, error } = useSelector(\r\n (state) => ({ \r\n currentState: state.roles.data, \r\n row: state.roles.selectRow,\r\n success: state.roles.success,\r\n roleMessage: state.roles.message,\r\n error: state.roles.error\r\n }),\r\n shallowEqual\r\n );\r\n const [level, setLevel] = React.useState('')\r\n const [message, setMessage] = React.useState('')\r\n const [toastVisible, setToastVisible] = React.useState(false) ;\r\n useEffect(() => {\r\n console.log('success/message changed', success, roleMessage);\r\n if(success){\r\n setExpandedRows([]);\r\n setLevel('success')\r\n setMessage(roleMessage)\r\n setToastVisible(success)\r\n loader.classList.add('hidden')\r\n setTimeout(() => {\r\n dispatch(actions.reset());\r\n if(match.params.id){\r\n const data = {\r\n params: params,\r\n id: match.params.id\r\n }\r\n dispatch(actions.getAllTenantRoles(data));\r\n } else {\r\n dispatch(actions.getAllRoles(params)); \r\n }\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 1000);\r\n }else { \r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }\r\n }, [success, roleMessage]); \r\n useEffect(() => {\r\n if(error){\r\n setLevel('danger')\r\n setMessage(error)\r\n setToastVisible(true)\r\n loader.classList.add('hidden')\r\n setTimeout(() => {\r\n dispatch(actions.reset());\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 100)\r\n }\r\n }, [error]);\r\n useEffect(() => {\r\n const currentExpandedRows = [];\r\n const isRowExpanded = currentExpandedRows.includes(row);\r\n let obj = {};\r\n isRowExpanded ? (obj[row] = false) : (obj[row] = true);\r\n setExpandState(obj);\r\n const newExpandedRows = isRowExpanded ?\r\n currentExpandedRows.filter(id => id !== row) :\r\n currentExpandedRows.concat(row);\r\n setExpandedRows(newExpandedRows);\r\n setAddItem(row == 0 ? currentState && currentState.items && currentState.items[0] : null);\r\n }, [row])\r\n useEffect(() => {\r\n setDataSource(currentState && currentState.items);\r\n setAddItem(row == 0 ? currentState && currentState.items && currentState.items.length > 0 ? currentState.items[0] : null : null)\r\n if(currentState && currentState.items && currentState.items.length > 0){\r\n const currentExpandedRows = [];\r\n const isRowExpanded = currentExpandedRows.includes(currentState.items[0].roleID);\r\n let obj = {};\r\n isRowExpanded ? (obj[currentState.items[0].roleID] = false) : (obj[currentState.items[0].roleID] = true);\r\n setExpandState(obj);\r\n const newExpandedRows = isRowExpanded ?\r\n currentExpandedRows.filter(id => id !== currentState.items[0].roleID) :\r\n currentExpandedRows.concat(currentState.items[0].roleID);\r\n setExpandedRows(newExpandedRows);\r\n console.log('getRoleRequestById called from items changes');\r\n dispatch(actions.getRoleRequestById(currentState.items[0].roleID))\r\n }\r\n },[currentState])\r\n const [order, setOrder] = useState('asc');\r\n const [orderBy, setOrderBy] = useState('');\r\n const handleRequestSort = (event, property) => {\r\n if(orderBy === ''){\r\n setOrder('desc');\r\n setOrderBy(property);\r\n setDataSource(stableSort(dataSource, getComparator('asc', property)))\r\n } else{\r\n const isAsc = orderBy === property && order === 'asc';\r\n setOrder(isAsc ? 'desc' : 'asc');\r\n setOrderBy(property);\r\n setDataSource(stableSort(dataSource, getComparator(order, orderBy)))\r\n }\r\n };\r\n useEffect(() => {\r\n if (updateItem){\r\n setIsSending(false)\r\n setDataSource([]);\r\n dispatch(actions.updateRoleRequest(updateItem));\r\n setTimeout(() => {\r\n setUpdateItem(null);\r\n setIsSending(true)\r\n }, 500)\r\n }\r\n }, [dispatch, updateItem]);\r\n const [expandedRows, setExpandedRows] = useState([]);\r\n const [expandState, setExpandState] = useState({});\r\n\r\n const handleEpandRow = (event, item) => {\r\n console.log(event.target?.type);\r\n \r\n console.log('getRoleRequestById called from handleExpandRow',item.roleID, roleToDelete?.roleID);\r\n if(item.roleID === roleToDelete?.roleID){\r\n setExpandedRows([]);\r\n return;\r\n }\r\n\r\n setAddItem(null);\r\n const currentExpandedRows = [];\r\n const isRowExpanded = currentExpandedRows.includes(item.roleID);\r\n let obj = {};\r\n isRowExpanded ? (obj[item.roleID] = false) : (obj[item.roleID] = true);\r\n setExpandState(obj);\r\n const newExpandedRows = isRowExpanded ?\r\n currentExpandedRows.filter(id => id !== item.roleID) :\r\n currentExpandedRows.concat(item.roleID);\r\n setExpandedRows(newExpandedRows);\r\n setAddItem(item);\r\n dispatch(actions.getRoleRequestById(item.roleID));\r\n }\r\n\r\n const hendleMinMenu = () => {\r\n setMinMenu(!minMenu);\r\n }\r\n const hendleChange = (e) => {\r\n params.searchText = e.target.value;\r\n dispatch(actions.getAllRoles());\r\n }\r\n const deleteConfirm = (item) => {\r\n setRoleToDelete(item);\r\n setDelete(true);\r\n }\r\n const deleteClose = (rowIndex, action) => {\r\n if (action === 'delete') {\r\n const loader = document.getElementById('splash-screen');\r\n loader.classList.remove('hidden');\r\n console.log('Delete Role', roleToDelete);\r\n setExpandedRows([]);\r\n dispatch(actions.deleteRoleRequest(roleToDelete));\r\n //props.onDelete(item);\r\n setTimeout(()=>{\r\n setDelete(false);\r\n loader.classList.add('hidden');\r\n }, 100);\r\n return;\r\n //setDelete(false);\r\n } else if (action === 'close') {\r\n setDelete(false);\r\n }\r\n }\r\n let allItemRows = [];\r\n console.log(expandedRows);\r\n dataSource && dataSource.forEach((item, i) => {\r\n const perItemRows = handleEpandRow(event, item)}\r\n className={expandedRows.includes(item.roleID) ? clsx('row-color role-row ', classes.selected) : 'row-color role-row'}\r\n key={\"row-data-\" + i}\r\n >\r\n \r\n {item.roleName}\r\n \r\n \r\n {item.description}\r\n \r\n \r\n {item.systemDefined ? 'true' : 'false'}\r\n \r\n \r\n \r\n {userHasEditTenantPermission && !item.systemDefined && (\r\n {e.preventDefault(); deleteConfirm(item,e.preven);}}>\r\n \r\n \r\n {deleteItem && }\r\n )}\r\n \r\n ;\r\n //;\r\n allItemRows = allItemRows.concat(perItemRows);\r\n });\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n hendleMinMenu()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {props.openAddRow && \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleChange(e, index, i)} \r\n name=\"systemDefined\" \r\n color=\"primary\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {allItemRows}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n <>\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nconst headCells = [\r\n { id: 'roleName', numeric: false, disablePadding: false, align: 'left', label: 'Role Name' },\r\n { id: 'description', numeric: false, disablePadding: false, align: 'left', label: 'Description' },\r\n { id: 'systemDefined', numeric: false, disablePadding: false, align: 'left', label: 'SystemDefined' },\r\n { id: 'actions', numeric: false, disablePadding: false, align: 'right', label: 'Actions' },\r\n\r\n];\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n pannelList: {\r\n position: 'absolute',\r\n top: '0',\r\n left: '0',\r\n width: 550,\r\n background: '#fff',\r\n transition: 'all .1s ease-out',\r\n paddingRight: 10\r\n },\r\n tenantContentSidebar : {\r\n position: 'absolute',\r\n top: '0',\r\n left: '0',\r\n width: 49,\r\n background: '#fff',\r\n transition: 'all .1s ease-out',\r\n paddingRight: 10\r\n },\r\n tenantdetailrightcontent: {\r\n marginLeft: 540,\r\n transition: 'all .1s ease-out',\r\n paddingLeft: 0\r\n },\r\n tenantMinContent: {\r\n marginLeft: 49,\r\n transition: 'all .1s ease-out',\r\n paddingLeft: 0\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n },\r\n filterButton: {\r\n marginTop: 20\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n cell: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n width: 35,\r\n minWidth: 35,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n formControl: {\r\n margin: '0 15px 0px 0px',\r\n minWidth: 180,\r\n maxWidth: '30%',\r\n },\r\n margin: {\r\n margin: '0 15px 0px 0px',\r\n },\r\n inputLabel: {\r\n //zIndex: 3,\r\n top: 12,\r\n left: 10\r\n },\r\n InputBase: {\r\n root: {\r\n marginTop: 0\r\n }\r\n },\r\n tenantMenu: {\r\n width: '100%',\r\n height: '100vh',\r\n background:'#ffffff',\r\n zIndex: '1',\r\n borderRight: 'solid 1px #ddd'\r\n },\r\n minMenu: {\r\n width:50,\r\n overflow: 'hidden',\r\n },\r\n addbtn: {\r\n padding: '4px 10px'\r\n },\r\n searchControl:{\r\n width:30\r\n },\r\n rolesearchcontainer:{\r\n padding:10,\r\n width:35\r\n },\r\n hidden: {\r\n display:'none' \r\n },\r\n selected: {\r\n '& > td': {\r\n borderTop: 'solid 1px #004d88 !important',\r\n borderBottom: 'solid 1px #004d88 !important',\r\n background: '#0078d4',\r\n color: '#ffffff'\r\n }\r\n }\r\n})\r\n\r\nconst mapStateToProps = store => ({\r\n user: store.auth.user\r\n });\r\n \r\nexport default connect(mapStateToProps)(RoleList);","import React, { useState, useEffect } from 'react';\r\nimport {\r\n Paper,\r\n Button,\r\n} from '@material-ui/core';\r\nimport { useDispatch , connect} from 'react-redux'\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport {\r\n Portlet,\r\n PortletBody,\r\n PortletHeader,\r\n PortletHeaderToolbar,\r\n PortletHeaderTitle\r\n} from \"../../../../partials/content/Portlet\";\r\nimport RoleInitializer from './RoleInitializer'\r\nimport SVG from \"react-inlinesvg\";\r\nimport RoleList from './Role-list/RoleList'\r\nimport * as actions from '../../../../store/actions/roleAction'\r\n\r\nconst toAbsoluteUrl = pathname => process.env.PUBLIC_URL + pathname;\r\n\r\n\r\nfunction RoleBase({ match , user}) {\r\n const dispatch = useDispatch();\r\n const classes = useStyles();\r\n const [openAddRow, setOpenAddRow] = useState(false)\r\n const openAdd = () => {\r\n if(match.params.id){\r\n dispatch(actions.getRoleRequestByTenantId(match.params.id))\r\n return\r\n }\r\n dispatch(actions.addRoleCreateRequest())\r\n }\r\n\r\n const [userHasEditTenantPermission, setUserHasEditTenantPermission] = useState(false);\r\n useEffect(()=>{\r\n var hasPermission = !!user?.modules?.find(m=>m.moduleName==='Tenants' && m.permissions?.some(p=>p.permissionName === 'Create'||p.permissionName === 'Update'));\r\n setUserHasEditTenantPermission(hasPermission);\r\n },[]);\r\n const closeAdd = () => {\r\n }\r\n return(\r\n \r\n \r\n \r\n \r\n \r\n Role\r\n \r\n }\r\n toolbar={\r\n \r\n {userHasEditTenantPermission && ()}\r\n \r\n }\r\n headerClassName={classes.portletHead}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n },\r\n filterButton: {\r\n marginTop: 20\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n cell: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n width: 35,\r\n minWidth: 35,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n formControl: {\r\n margin: '0 15px 0px 0px',\r\n minWidth: 180,\r\n maxWidth: '100%',\r\n },\r\n margin: {\r\n margin: '0 15px 0px 0px',\r\n },\r\n inputLabel: {\r\n //zIndex: 3,\r\n top: 12,\r\n left: 10\r\n },\r\n InputBase: {\r\n root: {\r\n marginTop: 0\r\n }\r\n }\r\n})\r\n\r\nconst mapStateToProps = store => ({\r\n user: store.auth.user\r\n });\r\n \r\nexport default connect(mapStateToProps)(RoleBase);","import React from 'react';//, { useEffect, useState } \r\nimport { ThemeProvider, createMuiTheme } from '@material-ui/core/styles';//withStyles,\r\nimport RoleBase from './RoleBase'\r\n// import RoleList from './Role-list/RoleList';\r\nimport TenantEditHead from '../../../tenants/TenantEditHead';\r\n\r\nexport default function Role(props) {\r\n const { match, tenant } = props;\r\n return (\r\n \r\n {tenant && }\r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nconst theme = createMuiTheme({\r\n overrides: {\r\n MuiExpansionPanelSummary: {\r\n content: {\r\n padding: 0,\r\n margin: '0px !important'\r\n }\r\n },\r\n MuiButtonBase: {\r\n root: {\r\n minHeight: '25px !important',\r\n lineHeight: '1.2 !important'\r\n },\r\n expandIcon: {\r\n padding: 5\r\n },\r\n },\r\n MuiIconButton: {\r\n root: {\r\n padding: 0\r\n },\r\n colorPrimary: {\r\n padding: 0\r\n }\r\n },\r\n MuiButton: {\r\n root: {\r\n borderRadius: 0\r\n },\r\n text: {\r\n color: '#333333',\r\n },\r\n containedPrimary: {\r\n backgroundColor: '#0078d4',\r\n '&:hover': {\r\n backgroundColor: '#0078d4',\r\n }\r\n }\r\n },\r\n MuiExpansionPanelDetails: {\r\n root: {\r\n padding: '0px !important',\r\n backgroundColor: 'rgba(0, 0, 0, 0.0) !important'\r\n }\r\n },\r\n MuiTableCell: {\r\n root: {\r\n padding: 5,\r\n fontSize: '1rem'\r\n },\r\n head: {\r\n lineHeight: '2.5rem'\r\n },\r\n sizeSmall: {\r\n padding: 5,\r\n },\r\n stickyHeader: {\r\n backgroundColor: '#ffffff'\r\n }\r\n },\r\n MuiTableHead: {\r\n root: {\r\n borderTop: 'solid 1px #ddd'\r\n }\r\n },\r\n MuiFormControl: {\r\n root: {\r\n width: 'auto'\r\n }\r\n },\r\n MuiFormControlLabel: {\r\n root: {\r\n marginBottom: 0,\r\n marginLeft: 0,\r\n marginRight: 8\r\n }\r\n },\r\n MuiList: {\r\n padding: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n }\r\n },\r\n MuiListItem: {\r\n root: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n }\r\n },\r\n MuiTooltip: {\r\n tooltip: {\r\n fontSize: 14\r\n }\r\n },\r\n MuiInputLabel: {\r\n formControl: {\r\n transform: 'translate(0, 7px) scale(1)'\r\n },\r\n shrink: {\r\n transform: 'translate(0, 31px) scale(0.75)'\r\n }\r\n },\r\n MuiInput: {\r\n formControl: {\r\n marginTop: '0 !important'\r\n }\r\n },\r\n PrivateSwitchBase: {\r\n root: {\r\n padding: 0\r\n }\r\n }\r\n },\r\n});\r\n\r\n// const useStyles = theme => ({\r\n// progressBar: {\r\n// top: 31,\r\n// right: 0,\r\n// bottom: 0,\r\n// left: 0,\r\n// position: 'absolute',\r\n// background: 'rgba(0, 0, 0, 0.1)',\r\n// display: 'flex',\r\n// alignItems: 'center',\r\n// justifyContent: 'center',\r\n// zIndex: 99999\r\n// }\r\n// });\r\n","import React, {useState, useEffect} from 'react'\r\nimport { connect} from 'react-redux'\r\nimport {\r\n TableRow,\r\n TableCell,\r\n IconButton\r\n} from '@material-ui/core';\r\nimport { useHistory } from 'react-router-dom'\r\nimport CreateIcon from '@material-ui/icons/Create'\r\nimport FileCopyIcon from '@material-ui/icons/FileCopy';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n\r\nfunction CompanyPolicyItem({\r\n item, user\r\n}){\r\n const history = useHistory()\r\n const classes = useStyles()\r\n const onOpenEditPage = (item) => {\r\n history.push({pathname: `${history.location.pathname}/${item.companyPolicyID}`, state: item})\r\n }\r\n const [userHasEditTenantPermission, setUserHasEditTenantPermission] = useState(false);\r\n useEffect(()=>{\r\n var hasPermission = !!user?.modules?.find(m=>m.moduleName==='Tenants' && m.permissions?.some(p=>p.permissionName === 'Create'||p.permissionName === 'Update'));\r\n setUserHasEditTenantPermission(hasPermission);\r\n },[]);\r\n return(\r\n \r\n {item.policyContent}\r\n {item.createdBy}\r\n {item.createdOn}\r\n {item.published ? 'true' : 'false'}\r\n \r\n {userHasEditTenantPermission && ( onOpenEditPage(item)}\r\n >\r\n \r\n )}{userHasEditTenantPermission && (\r\n \r\n \r\n )}\r\n \r\n \r\n )\r\n}\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n padding: 0\r\n },\r\n filterButton: {\r\n marginTop: 20\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n cell: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n formControl: {\r\n margin: '0 15px 0px 0px',\r\n minWidth: 180,\r\n maxWidth: '100%',\r\n },\r\n margin: {\r\n margin: '0 15px 0px 0px',\r\n },\r\n inputLabel: {\r\n top: 12,\r\n left: 10\r\n },\r\n InputBase: {\r\n root: {\r\n marginTop: 0\r\n }\r\n }\r\n})\r\nconst mapStateToProps = store => ({\r\n user: store.auth.user\r\n });\r\n \r\nexport default connect(mapStateToProps)(CompanyPolicyItem);","import React, { useState,useEffect, Fragment, useCallback } from 'react';\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport clsx from 'clsx';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport { DeleteConfirmation } from '../../../../crud/LayoutUtilsService'\r\n\r\nimport {\r\n Table,\r\n TableBody,\r\n} from '@material-ui/core';\r\nimport DeleteIcon from '@material-ui/icons/Delete'\r\nimport DoneIcon from '@material-ui/icons/Done'\r\nimport {\r\n getComparator, \r\n stableSort,\r\n EnhancedTableHead\r\n} from '../../../../crud/SortGrid';\r\nimport { Form } from 'react-bootstrap'\r\nimport CompanyPolicyItem from './CompanyPolicyItem'\r\n\r\nexport default function CompanyPolicyList({ companyPolicy }){\r\n const classes = useStyles()\r\n const [dataSource, setDataSource] = useState(companyPolicy)\r\n useEffect(() => {\r\n setDataSource(companyPolicy)\r\n }, [companyPolicy])\r\n const [order, setOrder] = useState('asc');\r\n const [orderBy, setOrderBy] = useState('');\r\n const handleRequestSort = (event, property) => {\r\n if(orderBy === ''){\r\n setOrder('desc');\r\n setOrderBy(property);\r\n setDataSource(stableSort(dataSource, getComparator('asc', property)))\r\n } else{\r\n const isAsc = orderBy === property && order === 'asc';\r\n setOrder(isAsc ? 'desc' : 'asc');\r\n setOrderBy(property);\r\n setDataSource(stableSort(dataSource, getComparator(order, orderBy)))\r\n }\r\n };\r\n let allItemRows = [];\r\n dataSource.forEach((item, i) => {\r\n const perItemRows = ;\r\n allItemRows = allItemRows.concat(perItemRows);\r\n });\r\n return(\r\n \r\n \r\n \r\n {allItemRows}\r\n \r\n
    \r\n )\r\n}\r\n\r\nconst headCells = [\r\n { id: 'policyContent', numeric: false, disablePadding: false, align: 'left', label: 'Policy Content' },\r\n { id: 'createdBy', numeric: false, disablePadding: false, align: 'left', label: 'Created By' },\r\n { id: 'createdDate', numeric: false, disablePadding: false, align: 'left', label: 'Created Date' },\r\n { id: 'published', numeric: false, disablePadding: false, align: 'left', label: 'Published' },\r\n { id: 'actions', numeric: false, disablePadding: false, align: 'right', label: 'Actions' }\r\n];\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n },\r\n filterButton: {\r\n marginTop: 20\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n cell: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n width: 35,\r\n minWidth: 35,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n formControl: {\r\n margin: '0 15px 0px 0px',\r\n minWidth: 180,\r\n maxWidth: '100%',\r\n },\r\n margin: {\r\n margin: '0 15px 0px 0px',\r\n },\r\n inputLabel: {\r\n //zIndex: 3,\r\n top: 12,\r\n left: 10\r\n },\r\n InputBase: {\r\n root: {\r\n marginTop: 0\r\n }\r\n }\r\n})","import React, { useState, useEffect } from 'react';\r\nimport {\r\n Paper,\r\n Button,\r\n} from '@material-ui/core';\r\nimport { useHistory } from 'react-router-dom'\r\nimport { useDispatch, useSelector, shallowEqual, connect } from 'react-redux'\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport {\r\n Portlet,\r\n PortletBody,\r\n PortletHeader,\r\n PortletHeaderToolbar,\r\n PortletHeaderTitle\r\n} from \"../../../../partials/content/Portlet\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport CompanyPolicyList from './CompanyPolicyList'\r\nimport * as actions from '../../../../store/actions/companyPolicyAction'\r\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\r\n\r\nconst toAbsoluteUrl = pathname => process.env.PUBLIC_URL + pathname;\r\nfunction CompanyPolicyBase(props){\r\n const { match,user } = props\r\n const history = useHistory();\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const { companyPolicy } = useSelector((state) => ({\r\n companyPolicy: state.companyPolicy.data\r\n }), shallowEqual);\r\n React.useEffect(() => {\r\n if(match.params.id){\r\n dispatch(actions.getCompanyPolicyTenantList(match.params.id))\r\n return\r\n } else {\r\n dispatch(actions.getCompanyPolicyList())\r\n }\r\n }, [match.params]);\r\n const [userHasEditTenantPermission, setUserHasEditTenantPermission] = useState(false);\r\n useEffect(()=>{\r\n var hasPermission = !!user?.modules?.find(m=>m.moduleName==='Tenants' && m.permissions?.some(p=>p.permissionName === 'Create'||p.permissionName === 'Update'));\r\n setUserHasEditTenantPermission(hasPermission);\r\n },[]);\r\n const hendleOpen = () => {\r\n history.push(`${history.location.pathname}/add`)\r\n }\r\n return(\r\n \r\n \r\n \r\n \r\n Company Policy\r\n \r\n }\r\n toolbar={\r\n \r\n {userHasEditTenantPermission && ()}\r\n \r\n }\r\n headerClassName={classes.portletHead}\r\n />\r\n \r\n \r\n {companyPolicy.length > 0 && \r\n \r\n \r\n } \r\n \r\n \r\n )\r\n}\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n },\r\n filterButton: {\r\n marginTop: 20\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n cell: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n width: 35,\r\n minWidth: 35,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n formControl: {\r\n margin: '0 15px 0px 0px',\r\n minWidth: 180,\r\n maxWidth: '100%',\r\n },\r\n margin: {\r\n margin: '0 15px 0px 0px',\r\n },\r\n inputLabel: {\r\n //zIndex: 3,\r\n top: 12,\r\n left: 10\r\n },\r\n InputBase: {\r\n root: {\r\n marginTop: 0\r\n }\r\n },\r\n paper: {\r\n position: 'absolute',\r\n width: 400,\r\n backgroundColor: theme.palette.background.paper,\r\n border: '1px solid #dddddd',\r\n boxShadow: theme.shadows[5],\r\n padding: 0,\r\n },\r\n modelTitle: {\r\n marginBottom: 0,\r\n display: 'block',\r\n fontWeight: '700',\r\n color: '#646c9a',\r\n fontSize: '13px',\r\n padding: 10,\r\n borderBottom: 'solid 1px #ddd',\r\n },\r\n closeButton: {\r\n position: 'absolute',\r\n right: '-40px',\r\n top: '-36px',\r\n background: 'none',\r\n boxShadow: 'none',\r\n padding: '0px !important',\r\n margin: '0px !important',\r\n width: '35px',\r\n height: '35px',\r\n border: '2px solid #fff',\r\n borderRadius: '50%',\r\n display: 'inline-block',\r\n color: '#fff',\r\n lineHeight: '30px',\r\n },\r\n peparContainer: {\r\n padding: 10,\r\n },\r\n modelSubmitBtn: {\r\n padding: 10\r\n },\r\n formGroup: {\r\n alignItems: 'center'\r\n },\r\n formLabel: {\r\n marginRight: 5\r\n },\r\n formlLabelName: {\r\n marginRight: 15,\r\n marginBottom: 0\r\n }\r\n}))\r\n\r\n\r\nconst mapStateToProps = store => ({\r\n user: store.auth.user\r\n });\r\n \r\nexport default connect(mapStateToProps)(CompanyPolicyBase);","import React from 'react';\r\nimport { useDispatch, useSelector, shallowEqual } from 'react-redux'\r\nimport { ThemeProvider, withStyles, createMuiTheme } from '@material-ui/core/styles';\r\nimport CompanyPolicyBase from './CompanyPolicyBase'\r\nimport Toast from '../../../../crud/Toast'\r\nimport * as actions from \"../../../../store/actions/manageUserAction\";\r\n\r\nexport default function CompanyPolicy(props){\r\n const { match } = props\r\n const dispatch = useDispatch()\r\n const loader = document.getElementById('splash-screen');\r\n const [level, setLevel] = React.useState('')\r\n const [message, setMessage] = React.useState('')\r\n const [toastVisible, setToastVisible] = React.useState(false)\r\n const {tenentSuccess, tenantMassage, error} = useSelector((state) => ({\r\n tenentSuccess: state.companyPolicy.success,\r\n tenantMassage: state.companyPolicy.message,\r\n error: state.companyPolicy.error\r\n }), shallowEqual)\r\n React.useEffect(() => {\r\n if(tenentSuccess){\r\n setLevel('success')\r\n setMessage(tenantMassage)\r\n setToastVisible(tenentSuccess)\r\n loader.classList.add('hidden')\r\n setTimeout(() => {\r\n dispatch(actions.reset())\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 5000)\r\n }else { \r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }\r\n }, [tenentSuccess, tenantMassage])\r\n React.useEffect(() => {\r\n if(error){\r\n setLevel('danger')\r\n setMessage(error)\r\n setToastVisible(true)\r\n loader.classList.add('hidden')\r\n setTimeout(() => {\r\n dispatch(actions.reset())\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 5000)\r\n }\r\n }, [error])\r\n return(\r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n )\r\n}\r\n\r\nconst theme = createMuiTheme({\r\n overrides: {\r\n MuiExpansionPanelSummary: {\r\n content: {\r\n padding: 0,\r\n margin: '0px !important'\r\n }\r\n },\r\n MuiButtonBase: {\r\n root: {\r\n minHeight: '25px !important',\r\n lineHeight: '1.2 !important'\r\n },\r\n expandIcon: {\r\n padding: 5\r\n },\r\n },\r\n MuiIconButton: {\r\n root: {\r\n padding: 0\r\n },\r\n colorPrimary: {\r\n padding: 0\r\n }\r\n },\r\n MuiButton: {\r\n root: {\r\n borderRadius: 0\r\n },\r\n text: {\r\n color: '#333333',\r\n },\r\n containedPrimary: {\r\n backgroundColor: '#0078d4',\r\n '&:hover': {\r\n backgroundColor: '#0078d4',\r\n }\r\n }\r\n },\r\n MuiExpansionPanelDetails: {\r\n root: {\r\n padding: '0px !important',\r\n backgroundColor: 'rgba(0, 0, 0, 0.0) !important'\r\n }\r\n },\r\n MuiTableCell: {\r\n root: {\r\n padding: 5,\r\n fontSize: '1rem'\r\n },\r\n head: {\r\n lineHeight: '2.5rem'\r\n },\r\n sizeSmall: {\r\n padding: 5,\r\n },\r\n stickyHeader: {\r\n backgroundColor: '#ffffff'\r\n }\r\n },\r\n MuiTableHead: {\r\n root: {\r\n borderTop: 'solid 1px #ddd'\r\n }\r\n },\r\n MuiFormControl: {\r\n root: {\r\n width: 'auto'\r\n }\r\n },\r\n MuiFormControlLabel: {\r\n root: {\r\n marginBottom: 0,\r\n marginLeft: 0,\r\n marginRight: 8\r\n }\r\n },\r\n MuiList: {\r\n padding: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n }\r\n },\r\n MuiListItem: {\r\n root: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n }\r\n },\r\n MuiTooltip: {\r\n tooltip: {\r\n fontSize: 14\r\n }\r\n },\r\n MuiInputLabel: {\r\n formControl: {\r\n transform: 'translate(0, 7px) scale(1)'\r\n },\r\n shrink: {\r\n transform: 'translate(0, 31px) scale(0.75)'\r\n }\r\n },\r\n MuiInput: {\r\n formControl: {\r\n marginTop: '0 !important'\r\n }\r\n },\r\n PrivateSwitchBase: {\r\n root: {\r\n padding: 0\r\n }\r\n }\r\n },\r\n});\r\n\r\nconst useStyles = theme => ({\r\n progressBar: {\r\n top: 31,\r\n right: 0,\r\n bottom: 0,\r\n left: 0,\r\n position: 'absolute',\r\n background: 'rgba(0, 0, 0, 0.1)',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n zIndex: 99999\r\n }\r\n});","import React, {useState,useEffect, Fragment} from 'react';\r\nimport { useDispatch } from 'react-redux'\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport * as actions from '../../../../store/actions/organisationAction'\r\nimport {\r\n TableCell,\r\n TableRow,\r\n IconButton,\r\n TextField,\r\n} from '@material-ui/core';\r\nimport DoneIcon from '@material-ui/icons/Done'\r\nimport ClearIcon from '@material-ui/icons/Clear'\r\n\r\nexport default function OrganisationAdd(props){\r\n const classes = useStyles();\r\n const dispatch = useDispatch()\r\n const [formErrors, setFormErrors] = useState({});\r\n const [isSubmitting, setIsSubmitting] = useState(false);\r\n const [initialValue, setInitialValue] = useState({\r\n Name:\"\",\r\n levelID:\"\",\r\n ParentOrganisationID:props.organizationID,\r\n TenantID:props.tenantID,\r\n Active:true\r\n })\r\n\r\n const submit = () => {\r\n dispatch(actions.fetchAddRow(initialValue))\r\n setTimeout(function(){ \r\n props.onAddRow();\r\n dispatch(actions.getOrganisation(props.tenantID))\r\n }, 2000);\r\n };\r\n\r\n const handleChange = (e) => {\r\n const { name, value } = e.target;\r\n setInitialValue({ ...initialValue, [name]: value });\r\n };\r\n\r\n const handleSubmit = (e) => {\r\n e.preventDefault();\r\n setFormErrors(validate(initialValue));\r\n setIsSubmitting(true);\r\n };\r\n\r\n const validate = (values) => {\r\n let errors = {};\r\n if (!values.Name) {\r\n errors.Name = \"Cannot be blank\";\r\n } \r\n if (!values.levelID) {\r\n errors.levelID = \"Cannot be blank\";\r\n } \r\n return errors;\r\n };\r\n useEffect(() => {\r\n if (Object.keys(formErrors).length === 0 && isSubmitting) {\r\n submit();\r\n }\r\n }, [formErrors]);\r\n return(\r\n \r\n \r\n \r\n \r\n \r\n \r\n handleChange(e) \r\n }\r\n /> \r\n \r\n \r\n handleChange(e) \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \t\t\t\r\n \r\n \r\n )\r\n}\r\n\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n padding: 0\r\n },\r\n filterButton: {\r\n marginTop: 20\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n title: {\r\n color: 'rgba(0, 0, 0, 0.87)',\r\n fontWeight: 500,\r\n lineHeight: '2.5rem'\r\n },\r\n cell: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n formControl: {\r\n margin: '0 15px 0px 0px',\r\n minWidth: 180,\r\n maxWidth: '100%',\r\n },\r\n margin: {\r\n margin: '0 15px 0px 0px',\r\n },\r\n inputLabel: {\r\n //zIndex: 3,\r\n top: 12,\r\n left: 10\r\n },\r\n InputBase: {\r\n root: {\r\n marginTop: 0\r\n }\r\n }\r\n})","import React, { useState, forwardRef, useEffect, useImperativeHandle, useCallback } from 'react';\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../../store/actions/organisationAction\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n\r\nimport { \r\n Table,\r\n TableBody,\r\n} from '@material-ui/core';\r\n\r\nimport { \r\n getComparator,\r\n stableSort,\r\n EnhancedTableHead \r\n} from '../../../../crud/SortGrid';\r\nimport OrganisationItem from './OrganisationItem';\r\nimport OrganisationAdd from './OrganisationAdd';\r\nimport Toast from '../../../../crud/Toast';\r\n\r\nconst ChildOrganisationList = (props, ref) => {\r\n const loader = document.getElementById('splash-screen');\r\n const [isSending, setIsSending] = useState(true)\r\n const [updateItem, setUpdateItem] = useState(null)\r\n const [addItem, setAddItem] = useState(null)\r\n const [deleteItem, setDeleteItem] = useState(null)\r\n const [updatedRow, setUpdatedRow] = useState([]);\r\n const [expandedRows, getExpandedRows] = useState([]);\r\n const [add, setAdd] = useState(false)\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const { currentState, organizationSuccess, organizationMassage, error } = useSelector(\r\n (state) => ({ \r\n currentState: state.organisation.data,\r\n organizationSuccess: state.organisation.success,\r\n organizationMassage: state.organisation.message,\r\n error: state.organisation.error\r\n }),\r\n shallowEqual\r\n ); \r\n const [level, setLevel] = React.useState('')\r\n const [message, setMessage] = React.useState('')\r\n const [toastVisible, setToastVisible] = React.useState(false) \r\n useEffect(() => {\r\n if(organizationSuccess){\r\n setLevel('success')\r\n setMessage(organizationMassage)\r\n setToastVisible(organizationSuccess)\r\n loader.classList.add('hidden')\r\n setTimeout(() => {\r\n dispatch(actions.getOrganisation(props.tenant.tenantID));\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 1);\r\n }else { \r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }\r\n }, [organizationSuccess, organizationMassage]);\r\n useEffect(() => {\r\n if(error){\r\n setLevel('danger')\r\n setMessage(error)\r\n setToastVisible(true)\r\n loader.classList.add('hidden')\r\n setTimeout(() => {\r\n dispatch(actions.reset())\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 1)\r\n }\r\n }, [error]);\r\n const [dataSource, setDataSource] = useState(...props.dataSource);\r\n React.useEffect(() => {\r\n setDataSource(props.dataSource);\r\n }, [props.dataSource])\r\n const [order, setOrder] = useState('asc');\r\n const [orderBy, setOrderBy] = useState('');\r\n const handleRequestSort = (event, property) => {\r\n if(orderBy === ''){\r\n setOrder('desc');\r\n setOrderBy(property);\r\n setDataSource(stableSort(dataSource, getComparator('asc', property)))\r\n } else{\r\n const isAsc = orderBy === property && order === 'asc';\r\n setOrder(isAsc ? 'desc' : 'asc');\r\n setOrderBy(property);\r\n setDataSource(stableSort(dataSource, getComparator(order, orderBy)))\r\n }\r\n };\r\n const onDelete = (item)=>{\r\n \r\n if(item.organizationID){\r\n dispatch(actions.deleteOrganizationRequest(item.organizationID));\r\n loader.classList.remove('hidden')\r\n }\r\n }\r\n const onUpdateRow = (data) => {\r\n // setUpdateItem(data);\r\n }\r\n useImperativeHandle(ref, () => ({\r\n getParentAdd() {\r\n setAdd(!add)\r\n }\r\n }));\r\n function onAddRow() {\r\n setAdd(!add)\r\n }\r\n const headCells = [\r\n { id: 'inner_actions', numeric: false, disablePadding: false, align: 'left', label: '' },\r\n { id: 'name', numeric: false, disablePadding: false, align: 'left', label: 'Name' },\r\n { id: 'levelid', numeric: false, disablePadding: false, align: 'left', label: `${props.idColumnName} ID` },\r\n { id: 'actions', numeric: false, disablePadding: false, align: 'right', label: 'Actions' }\r\n ];\r\n let allItemRows = [];\r\n dataSource && dataSource.length > 0 && dataSource.forEach((item, i) => {\r\n const perItemRows = ;\r\n allItemRows = allItemRows.concat(perItemRows);\r\n });\r\n return (\r\n <> \r\n \r\n \r\n \r\n \r\n {add && }\r\n {allItemRows}\r\n \r\n
    \r\n \r\n \r\n )\r\n}\r\n\r\n\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n table: {\r\n minWidth: '100%',\r\n borderTop: 'solid 1px #ddd',\r\n borderRight: 'solid 1px #ddd',\r\n borderLeft: 'solid 2px #0078d4'\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n },\r\n filterButton: {\r\n marginTop: 20\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n cell: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n width: 35,\r\n minWidth: 35,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n formControl: {\r\n margin: '0 15px 0px 0px',\r\n minWidth: 180,\r\n maxWidth: '100%',\r\n },\r\n margin: {\r\n margin: '0 15px 0px 0px',\r\n },\r\n inputLabel: {\r\n //zIndex: 3,\r\n top: 12,\r\n left: 10\r\n },\r\n InputBase: {\r\n root: {\r\n marginTop: 0\r\n }\r\n }\r\n})\r\n\r\nexport default forwardRef(ChildOrganisationList);","import React, { useState, useEffect, useRef, Fragment } from 'react'\r\nimport { useDispatch, connect } from 'react-redux'\r\nimport {\r\n TableCell,\r\n TableRow,\r\n IconButton,\r\n TextField,\r\n} from '@material-ui/core';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport AddIcon from '@material-ui/icons/Add'\r\nimport CreateIcon from '@material-ui/icons/Create'\r\nimport DeleteIcon from '@material-ui/icons/Delete'\r\nimport DoneIcon from '@material-ui/icons/Done'\r\nimport RemoveIcon from '@material-ui/icons/Remove';\r\nimport ClearIcon from '@material-ui/icons/Clear'\r\nimport Button from '@material-ui/core/Button';\r\nimport * as actions from '../../../../store/actions/organisationAction'\r\nimport { DeleteConfirmation } from '../../../../crud/LayoutUtilsService'\r\nimport ChildOrganisationList from './ChildOrganisationList'\r\n\r\nfunction OrganisationItem(props) {\r\n const { updatedRow, setUpdatedRow, expandedRows, item, getExpandedRows, user } = props\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const loader = document.getElementById('splash-screen');\r\n const childRef = useRef();\r\n // const [item, setItem] = useState({});\r\n // React.useEffect(() => {\r\n // setItem(props.item);\r\n // }, [props.item])\r\n const [userHasEditTenantPermission, setUserHasEditTenantPermission] = useState(false);\r\n useEffect(()=>{\r\n var hasPermission = !!user?.modules?.find(m=>m.moduleName==='Tenants' && m.permissions?.some(p=>p.permissionName === 'Create'||p.permissionName === 'Update'));\r\n // console.log(hasPermission)\r\n setUserHasEditTenantPermission(hasPermission);\r\n },[]);\r\n const [index, setIndex] = useState(props.index);\r\n const [data, getData] = useState(props.data);\r\n const [formErrors, setFormErrors] = useState({});\r\n const [isSubmitting, setIsSubmitting] = useState(false);\r\n const [panelIndex, setPanelIndex] = useState(undefined);\r\n const [panelItem, setPanelItem] = useState({});\r\n const [isModalActive, setIsModalActive] = useState(false)\r\n const [editTenantIndutry, setEditTenantIndutry] = useState({\r\n name: \"\",\r\n organizationID: undefined,\r\n levelID: null\r\n })\r\n const [deleteItem, setDelete] = useState(false);\r\n const handleRowClick = () => {\r\n setPanelIndex(index);\r\n setPanelItem(item);\r\n const currentExpandedRows = [];\r\n const isRowCurrentlyExpanded = currentExpandedRows.includes(index);\r\n\r\n const newExpandedRows = isRowCurrentlyExpanded ?\r\n currentExpandedRows.filter((id) => id !== index) :\r\n currentExpandedRows.concat(index);\r\n getExpandedRows(newExpandedRows);\r\n setIsModalActive(true);\r\n }\r\n const handleRowClose = () => {\r\n setPanelIndex(index);\r\n setPanelItem(item);\r\n const currentExpandedRows = expandedRows;\r\n const isRowCurrentlyExpanded = currentExpandedRows.includes(index);\r\n\r\n const newExpandedRows = isRowCurrentlyExpanded ?\r\n currentExpandedRows.filter((id) => id !== index) :\r\n currentExpandedRows.concat(index);\r\n getExpandedRows(newExpandedRows);\r\n setIsModalActive(true);\r\n }\r\n const heandleUpdate = () => {\r\n const currentExpandedRows = [];\r\n const isRowCurrentlyExpanded = currentExpandedRows.includes(index);\r\n const newExpandedRows = isRowCurrentlyExpanded ?\r\n currentExpandedRows.filter((id) => id !== index) :\r\n currentExpandedRows.concat(index);\r\n setUpdatedRow(newExpandedRows);\r\n setEditTenantIndutry(item);\r\n }\r\n \r\n const heandleClose = () => {\r\n const currentExpandedRows = updatedRow;\r\n const isRowCurrentlyExpanded = currentExpandedRows.includes(index);\r\n const newExpandedRows = isRowCurrentlyExpanded ?\r\n currentExpandedRows.filter((id) => id !== index) :\r\n currentExpandedRows.concat(index);\r\n setUpdatedRow(newExpandedRows);\r\n setEditTenantIndutry(item);\r\n }\r\n const deleteConfirm = () => {\r\n setDelete(true)\r\n }\r\n const deleteClose = (rowIndex, action) => {\r\n if (action === 'delete') {\r\n const loader = document.getElementById('splash-screen');\r\n loader.classList.remove('hidden');\r\n props.onDelete(item);\r\n setTimeout(() => {\r\n loader.classList.add('hidden')\r\n setDelete(false);\r\n }, 2000);\r\n return;\r\n } else if (action === 'close') {\r\n setTimeout(()=>{\r\n setDelete(false);\r\n },1);\r\n }\r\n }\r\n\r\n const submit = () => {\r\n dispatch(actions.fetchUpdateRow(editTenantIndutry))\r\n loader.classList.remove('hidden')\r\n setTimeout(function(){ \r\n heandleUpdate();\r\n props.tenant && dispatch(actions.getOrganisation(props.tenant.tenantID))\r\n return;\r\n }, 2000);\r\n };\r\n\r\n const handleChange = (e) => {\r\n const { name, value } = e.target;\r\n setEditTenantIndutry({ ...editTenantIndutry, [name]: value });\r\n };\r\n\r\n const handleSubmit = (e) => {\r\n e.preventDefault();\r\n setFormErrors(validate(editTenantIndutry));\r\n setIsSubmitting(true);\r\n };\r\n\r\n const validate = (values) => {\r\n let errors = {};\r\n \r\n if (!values.name) {\r\n errors.levelID = \"Cannot be blank\";\r\n } \r\n \r\n if (!values.levelID) {\r\n errors.levelID = \"Cannot be blank\";\r\n } \r\n \r\n return errors;\r\n };\r\n useEffect(() => {\r\n if (Object.keys(formErrors).length === 0 && isSubmitting) {\r\n submit();\r\n }\r\n }, [formErrors]);\r\n return ( \r\n \r\n \r\n \r\n {props.tenant.tenantLevel == 3 ? \r\n props.tenant.maxLevel !== item.currentLevel : \r\n props.tenant.maxLevel !== item.currentLevel - 1 && \r\n <>\r\n {!expandedRows.includes(index) && \r\n \r\n } \r\n {expandedRows.includes(index) && \r\n \r\n }\r\n } \r\n \r\n \r\n {updatedRow.includes(index) ? \r\n handleChange(e) \r\n }\r\n /> : item.name\r\n } \r\n \r\n \r\n {updatedRow.includes(index) ? \r\n handleChange(e) \r\n }\r\n /> : item.levelID\r\n } \r\n \r\n \r\n \r\n {!updatedRow.includes(index) && userHasEditTenantPermission && \r\n \r\n \r\n \r\n \r\n { item.childOrganization && item.childOrganization.length === 0 &&\r\n \r\n \r\n }\r\n {deleteItem &&\r\n \r\n } \r\n \r\n } \r\n {updatedRow.includes(index) && \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n } \r\n \t\t\t\r\n \r\n {expandedRows.includes(index) &&\r\n \r\n \r\n
    \r\n
    {props.tenant.tenantLevels[props.tenant.tenantLevel == 2 || props.tenant.tenantLevel == 3 ? item.currentLevel + 1 : item.currentLevel]}
    \r\n {userHasEditTenantPermission && (
    \r\n \r\n
    )}\r\n
    \r\n \r\n \r\n \r\n }\r\n\r\n
    \r\n )\r\n}\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n padding: 0\r\n },\r\n filterButton: {\r\n marginTop: 20\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n title: {\r\n color: 'rgba(0, 0, 0, 0.87)',\r\n fontWeight: 500,\r\n lineHeight: '2.5rem'\r\n },\r\n cell: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n formControl: {\r\n margin: '0 15px 0px 0px',\r\n minWidth: 180,\r\n maxWidth: '100%',\r\n },\r\n margin: {\r\n margin: '0 15px 0px 0px',\r\n },\r\n inputLabel: {\r\n //zIndex: 3,\r\n top: 12,\r\n left: 10\r\n },\r\n InputBase: {\r\n root: {\r\n marginTop: 0\r\n }\r\n }\r\n})\r\n\r\n\r\nconst mapStateToProps = store => ({\r\n user: store.auth.user\r\n });\r\n \r\nexport default connect(mapStateToProps)(OrganisationItem);","import React, { useState, forwardRef, useEffect, useImperativeHandle, useCallback } from 'react';\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../../store/actions/organisationAction\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n\r\nimport { \r\n Table,\r\n TableBody,\r\n} from '@material-ui/core';\r\n\r\nimport { \r\n getComparator,\r\n stableSort,\r\n EnhancedTableHead \r\n} from '../../../../crud/SortGrid';\r\nimport OrganisationItem from './OrganisationItem';\r\nimport OrganisationAdd from './OrganisationAdd';\r\nimport Toast from '../../../../crud/Toast';\r\n\r\nconst OrganisationList = (props, ref) => {\r\n const loader = document.getElementById('splash-screen');\r\n const [isSending, setIsSending] = useState(true)\r\n const [updateItem, setUpdateItem] = useState(null)\r\n const [addItem, setAddItem] = useState(null)\r\n const [deleteItem, setDeleteItem] = useState(null)\r\n const [add, setAdd] = useState(false)\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const { currentState, organizationSuccess, organizationMassage, error } = useSelector(\r\n (state) => ({ \r\n currentState: state.organisation.data,\r\n organizationSuccess: state.organisation.success,\r\n organizationMassage: state.organisation.message,\r\n error: state.organisation.error\r\n }),\r\n shallowEqual\r\n ); \r\n const [level, setLevel] = React.useState('')\r\n const [message, setMessage] = React.useState('')\r\n const [toastVisible, setToastVisible] = React.useState(false) \r\n useEffect(() => {\r\n if(organizationSuccess){\r\n setLevel('success')\r\n setMessage(organizationMassage)\r\n setToastVisible(organizationSuccess)\r\n loader.classList.add('hidden')\r\n setTimeout(() => {\r\n dispatch(actions.getOrganisation(props.tenant.tenantID));\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 1);\r\n }else { \r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }\r\n }, [organizationSuccess, organizationMassage]);\r\n useEffect(() => {\r\n if(error){\r\n setLevel('danger')\r\n setMessage(error)\r\n setToastVisible(true)\r\n loader.classList.add('hidden')\r\n setTimeout(() => {\r\n dispatch(actions.reset())\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 1)\r\n }\r\n }, [error]);\r\n const [dataSource, setDataSource] = useState(props.dataSource);\r\n const [updatedRow, setUpdatedRow] = useState([]);\r\n const [expandedRows, getExpandedRows] = useState([]);\r\n\r\n React.useEffect(() => {\r\n setDataSource(props.dataSource);\r\n }, [props.dataSource])\r\n const [order, setOrder] = useState('asc');\r\n const [orderBy, setOrderBy] = useState('');\r\n const handleRequestSort = (event, property) => {\r\n if(orderBy === ''){\r\n setOrder('desc');\r\n setOrderBy(property);\r\n setDataSource(stableSort(dataSource, getComparator('asc', property)))\r\n } else{\r\n const isAsc = orderBy === property && order === 'asc';\r\n setOrder(isAsc ? 'desc' : 'asc');\r\n setOrderBy(property);\r\n setDataSource(stableSort(dataSource, getComparator(order, orderBy)))\r\n }\r\n };\r\n const onDelete = (item)=>{\r\n \r\n if(item.organizationID){\r\n dispatch(actions.deleteOrganizationRequest(item.organizationID));\r\n loader.classList.remove('hidden')\r\n }\r\n }\r\n const onUpdateRow = (data) => {\r\n dispatch(actions.fetchUpdateRow(data))\r\n }\r\n useImperativeHandle(ref, () => ({\r\n getParentAdd() {\r\n setAdd(!add)\r\n }\r\n }));\r\n function onAddRow() {\r\n setAdd(!add)\r\n }\r\n let allItemRows = [];\r\n dataSource && dataSource.length > 0 && dataSource.forEach((item, i) => {\r\n const perItemRows = ;\r\n allItemRows = allItemRows.concat(perItemRows);\r\n });\r\n const headCells = [\r\n { id: 'inner_actions', numeric: false, disablePadding: false, align: 'left', label: '' },\r\n { id: 'name', numeric: false, disablePadding: false, align: 'left', label: 'Name' },\r\n { id: 'levelid', numeric: false, disablePadding: false, align: 'left', label: `${props.tenant.tenantLevels[props.tenant.tenantLevel]} ID` },\r\n { id: 'actions', numeric: false, disablePadding: false, align: 'right', label: 'Actions' }\r\n ];\r\n return (\r\n <> \r\n {dataSource && \r\n \r\n \r\n \r\n {add && }\r\n {allItemRows}\r\n \r\n
    }\r\n \r\n \r\n )\r\n}\r\n\r\n\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n table: {\r\n minWidth: '100%',\r\n borderTop: 'solid 1px #ddd',\r\n borderRight: 'solid 1px #ddd',\r\n borderLeft: 'solid 2px #0078d4'\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n },\r\n filterButton: {\r\n marginTop: 20\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n cell: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n width: 35,\r\n minWidth: 35,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n formControl: {\r\n margin: '0 15px 0px 0px',\r\n minWidth: 180,\r\n maxWidth: '100%',\r\n },\r\n margin: {\r\n margin: '0 15px 0px 0px',\r\n },\r\n inputLabel: {\r\n //zIndex: 3,\r\n top: 12,\r\n left: 10\r\n },\r\n InputBase: {\r\n root: {\r\n marginTop: 0\r\n }\r\n }\r\n})\r\n\r\nexport default forwardRef(OrganisationList);","import React, { useState } from 'react';\r\nimport { useDispatch, useSelector, shallowEqual } from 'react-redux'\r\nimport { makeStyles } from '@material-ui/styles'\r\nimport XLSX from 'xlsx';\r\nimport { make_cols } from './MakeColumns';\r\nimport { SheetJSFT } from './types';\r\nimport * as actions from '../../../../../store/actions/organisationAction'\r\n\r\nexport default function ImportHirarchy(props) {\r\n const { id, organizationID, setOnShow } = props\r\n const classes = useStyles();\r\n const dispatch = useDispatch()\r\n const [file, setFile] = React.useState(null);\r\n const [fileName, setFileName] = React.useState('Click to upload file');\r\n const [data, setData] = React.useState([]);\r\n const [cols, setCols] = React.useState([]);\r\n const [checkFile, setCheckFile] = useState(true)\r\n const initialKey = [\r\n \"Name\",\r\n \"Code\",\r\n \"ParentOrganization\"\r\n ]\r\n function handleChange(e) {\r\n const files = e.target.files;\r\n if (files && files[0]) { setFile(files[0]); setFileName(files[0].name) };\r\n };\r\n function handleFile() {\r\n dispatch(actions.importHierarchyFile({file: file,tenantID: id}));\r\n setTimeout(() => {\r\n dispatch(actions.getOrganisation(id))\r\n setOnShow(false)\r\n }, 3000);\r\n // const reader = new FileReader();\r\n // const rABS = !!reader.readAsBinaryString;\r\n\r\n // reader.onload = (e) => {\r\n // const bstr = e.target.result;\r\n // const wb = XLSX.read(bstr, { type: rABS ? 'binary' : 'array', bookVBA: true });\r\n // const wsname = wb.SheetNames[0];\r\n // const ws = wb.Sheets[wsname];\r\n // const data = XLSX.utils.sheet_to_json(ws);\r\n // setData(data);\r\n // setCols(make_cols(ws['!ref']));\r\n // console.log('resultsss', JSON.stringify(data, null, 2));\r\n\r\n // if (data && data.length > 0) {\r\n // let keys = [];\r\n // data.map(d=>{ \r\n // keys = [...new Set([...keys, ...Object.keys(d)])];\r\n // });\r\n\r\n // console.log(keys);\r\n // const result = compareKeys(keys, initialKey)\r\n // const value = {\r\n // params: data,\r\n // id: id\r\n // }\r\n // if (result) {\r\n // dispatch(actions.importOrganisationRow(value));\r\n // setTimeout(() => {\r\n // dispatch(actions.getOrganisation(id))\r\n // setOnShow(false)\r\n // }, 3000)\r\n // }\r\n // } else {\r\n // alert('Invalid or corrupt excel file, please inform administrator');\r\n // }\r\n // };\r\n // if (rABS) {\r\n // reader.readAsBinaryString(file);\r\n // } else {\r\n // reader.readAsArrayBuffer(file);\r\n // };\r\n }\r\n\r\n function compareKeys(a, b) {\r\n var aKeys = Object.keys(a).sort();\r\n var bKeys = Object.keys(b).sort();\r\n console.log(\"companreKeys\", a, b);\r\n const result = JSON.stringify(aKeys) === JSON.stringify(bKeys);\r\n console.log('result', result)\r\n setCheckFile(result)\r\n return result;\r\n }\r\n return (\r\n
    \r\n {!checkFile && (\r\n
    \r\n
    Please add the correct file ...
    \r\n
    \r\n )}\r\n

    Note: You can download and use this template for importing users.

    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nconst useStyles = makeStyles({\r\n container: {\r\n minWidth: 800\r\n },\r\n uploadContainer: {\r\n display: 'grid',\r\n gridTemplate: '[row]1fr / [col] 1fr'\r\n },\r\n text: {\r\n gridRow: 'row 1',\r\n gridColumn: 'col 1',\r\n textAlign: 'left',\r\n border: '1px solid #dddddd',\r\n padding: 4,\r\n //width: 'calc(100% - 100px)'\r\n },\r\n fileupload: {\r\n gridRow: 'row 1',\r\n gridColumn: 'col 1',\r\n background: 'red',\r\n opacity: '0',\r\n cursor: 'pointer'\r\n },\r\n link: {\r\n color: '#0078d4'\r\n },\r\n submitBtn: {\r\n gridRow: 'row 1',\r\n gridColumn: 'auto',\r\n textAlign: 'center',\r\n border: '1px solid #dddddd',\r\n padding: 4,\r\n width: 150\r\n }\r\n})\r\n","import React ,{ useState, useEffect} from 'react';\r\nimport Button from '@material-ui/core/Button'\r\nimport { Modal } from \"react-bootstrap\";\r\nimport ImportHirarchy from './ImportHirarchy'\r\nimport { connect} from 'react-redux'\r\n\r\nfunction ImportModel(props){\r\n const { id, organizationID,user } = props\r\n const [onshow, setOnShow] = useState(false)\r\n function hideShowModal(){\r\n setOnShow(false)\r\n }\r\n const [userHasEditTenantPermission, setUserHasEditTenantPermission] = useState(false);\r\n useEffect(()=>{\r\n var hasPermission = !!user?.modules?.find(m=>m.moduleName==='Tenants' && m.permissions?.some(p=>p.permissionName === 'Create'||p.permissionName === 'Update'));\r\n setUserHasEditTenantPermission(hasPermission);\r\n },[]);\r\n return(\r\n <>\r\n
    \r\n {userHasEditTenantPermission && ()}\r\n
    \r\n hideShowModal()}\r\n >\r\n \r\n Import Users\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\nconst mapStateToProps = store => ({\r\n user: store.auth.user\r\n });\r\n \r\nexport default connect(mapStateToProps)(ImportModel);","import React, { useState, useRef, useMemo, useEffect } from 'react'\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { useDispatch, useSelector, shallowEqual, connect} from 'react-redux'\r\nimport Table from '@material-ui/core/Table';\r\nimport TableBody from '@material-ui/core/TableBody';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableContainer from '@material-ui/core/TableContainer';\r\nimport TableHead from '@material-ui/core/TableHead';\r\nimport TableRow from '@material-ui/core/TableRow';\r\nimport Paper from '@material-ui/core/Paper';\r\n//import { organisationServices, alertService, tenantServices } from '../../../../../_metronic/_services';\r\n//import * as actions from \"../../../../store/actions/tenantAction\";\r\nimport * as oActions from \"../../../../store/actions/organisationAction\";\r\nimport OrganisationList from './OrganisationList'\r\nimport Button from '@material-ui/core/Button';\r\nimport ImportModel from './model';\r\nimport Toast from '../../../../crud/Toast';\r\nimport TenantEditHead from '../../TenantEditHead';\r\n\r\nfunction Organisation({\r\n match,\r\n tenant,\r\n organisation,\r\n user\r\n}) {\r\n const dispatch = useDispatch()\r\n const [show, setShow] = useState(false)\r\n const childRef = useRef();\r\n const loader = document.getElementById('splash-screen');\r\n const classes = useStyles();\r\n const { id } = match.params;\r\n const [tenantItem, setTenantItem] = useState(undefined);\r\n const dataSource = useMemo(() => {\r\n return {organisation, tenant}\r\n }, [organisation, tenant])\r\n const [level, setLevel] = React.useState('')\r\n const [message, setMessage] = React.useState('')\r\n const [toastVisible, setToastVisible] = React.useState(false)\r\n const {tenentSuccess, tenantMassage, error} = useSelector((state) => ({\r\n tenentSuccess: state.organisation.success,\r\n tenantMassage: state.organisation.message,\r\n error: state.organisation.error\r\n }), shallowEqual)\r\n const [userHasEditTenantPermission, setUserHasEditTenantPermission] = useState(false);\r\n useEffect(()=>{\r\n var hasPermission = !!user?.modules?.find(m=>m.moduleName==='Tenants' && m.permissions?.some(p=>p.permissionName === 'Create'||p.permissionName === 'Update'));\r\n setUserHasEditTenantPermission(hasPermission);\r\n },[]);\r\n useEffect(() => {\r\n loader.classList.remove('hidden')\r\n dispatch(oActions.getOrganisation(id)) \r\n setTimeout(() => {\r\n loader.classList.add('hidden')\r\n }, 1000)\r\n }, [dispatch])\r\n\r\n const openImportModel = (id) => {\r\n setShow(true)\r\n }\r\n React.useEffect(() => {\r\n if(tenentSuccess){\r\n setLevel('success')\r\n setMessage(tenantMassage)\r\n setToastVisible(tenentSuccess)\r\n loader.classList.add('hidden')\r\n setTimeout(() => {\r\n dispatch(oActions.reset())\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 5000)\r\n }else { \r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }\r\n }, [tenentSuccess, tenantMassage])\r\n React.useEffect(() => {\r\n if(error){\r\n setLevel('danger')\r\n setMessage(error)\r\n setToastVisible(true)\r\n loader.classList.add('hidden')\r\n setTimeout(() => {\r\n dispatch(oActions.reset())\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 5000)\r\n }\r\n }, [error])\r\n return(\r\n <>\r\n {tenant && }\r\n {/* {dataSource.tenant &&
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Subscription Type:
    \r\n
    \r\n
    \r\n

    {dataSource.tenant.subscriptionType}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Domain:
    \r\n
    \r\n
    \r\n

    {dataSource.tenant.domain}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Tenant ID:
    \r\n
    \r\n
    \r\n

    {dataSource.tenant.tenantGUID}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Tenant Industry Type:
    \r\n
    \r\n
    \r\n

    {dataSource.tenant.tenantIndustryType}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Tenant Type:
    \r\n
    \r\n
    \r\n

    {dataSource.tenant.tenantType}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Sub Type:
    \r\n
    \r\n
    \r\n

    {dataSource.tenant.subType}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    } */}\r\n {dataSource.tenant &&
    \r\n
    \r\n <>\r\n {dataSource.organisation && dataSource.organisation.length > 0 &&\r\n }\r\n \r\n
    \r\n {dataSource.organisation && dataSource.organisation.length > 0 && \r\n \r\n \r\n \r\n Name\r\n {`${dataSource.tenant.levelName} ID`}\r\n \r\n \r\n \r\n \r\n \r\n {dataSource.organisation[0].name}\r\n \r\n \r\n {dataSource.organisation[0].levelID}\r\n \r\n \r\n {dataSource.tenant.maxLevel > 0 && \r\n \r\n }\r\n \r\n
    \r\n
    \r\n
    {dataSource.tenant.tenantLevels[dataSource.tenant.tenantLevel]}
    \r\n {userHasEditTenantPermission && (
    \r\n \r\n
    )}\r\n
    \r\n {dataSource.organisation && dataSource.organisation.length > 0 && }\r\n
    \r\n
    }\r\n \r\n
    }\r\n \r\n )\r\n}\r\n\r\nconst useStyles = makeStyles({\r\n container: {\r\n width: '100%',\r\n padding: 10,\r\n },\r\n paper: {\r\n width: '100%',\r\n padding: 10\r\n },\r\n table: {\r\n minWidth: '100%',\r\n //borderLeft: 'solid 2px #0078d4'\r\n },\r\n title: {\r\n color: 'rgba(0, 0, 0, 0.87)',\r\n fontWeight: 500,\r\n lineHeight: '2.5rem'\r\n },\r\n containerTop: {\r\n padding: 10,\r\n marginBottom: 10,\r\n borderTop: 'solid 1px #dddddd',\r\n borderBottom: 'solid 1px #dddddd'\r\n },\r\n list: {\r\n display: 'flex',\r\n justifyContent: 'flex-start',\r\n padding: '8px 0px'\r\n },\r\n commonContainer: {\r\n display: 'flex',\r\n justifyContent: 'flex-start',\r\n alignItems: 'center'\r\n },\r\n basicLable: {\r\n minWidth: 165,\r\n },\r\n profileContainer: {\r\n minWidth: 240,\r\n },\r\n profileImage: {\r\n width: 120,\r\n height: 120\r\n },\r\n uploadContainer: {\r\n width: 'calc(100% - 405px)',\r\n },\r\n inputContainer: {\r\n width: 'calc(100% - 165px)'\r\n }\r\n});\r\n\r\n\r\nconst mapStateToProps = store => ({\r\n user: store.auth.user\r\n });\r\n \r\nexport default connect(mapStateToProps)(Organisation);","import React, { Component } from 'react';\r\nimport { Editor } from 'react-draft-wysiwyg';\r\nimport { EditorState, convertToRaw } from 'draft-js';\r\nimport { stateToHTML } from 'draft-js-export-html';\r\nimport { stateFromHTML } from 'draft-js-import-html';\r\nimport { Button } from '@material-ui/core'\r\n \r\nimport 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css';\r\n\r\nconst createEditorState = (text) => {\r\n const contentState = stateFromHTML(text);\r\n return EditorState.createWithContent(contentState);\r\n};\r\n\r\nclass TextEditor extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n editorState: createEditorState(props.item.policyContent || ''),\r\n };\r\n }\r\n\r\n onEditorStateChange = (editorState) => {\r\n this.setState({ editorState });\r\n this.props.resetTest(convertToRaw(editorState.getCurrentContent()))\r\n };\r\n\r\n render() {\r\n const { editorState } = this.state;\r\n return (\r\n <>\r\n
    \r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default TextEditor;","import React, {useState} from 'react';\r\nimport { useDispatch, useSelector, shallowEqual } from 'react-redux'\r\nimport { withStyles } from '@material-ui/styles'\r\nimport { useHistory } from 'react-router-dom'\r\nimport TextEditor from './TextEditor'\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport {\r\n Paper,\r\n Button,\r\n} from '@material-ui/core';\r\nimport SVG from \"react-inlinesvg\";\r\nimport {\r\n Portlet,\r\n PortletBody,\r\n PortletHeader,\r\n PortletHeaderToolbar,\r\n PortletHeaderTitle\r\n} from \"../../../../partials/content/Portlet\";\r\nimport { green, purple, red } from '@material-ui/core/colors';\r\nimport * as actions from '../../../../store/actions/companyPolicyAction'\r\nimport Toast from '../../../../crud/Toast'\r\nimport * as tenantActions from \"../../../../store/actions/tenantAction\";\r\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\r\nconst toAbsoluteUrl = pathname => process.env.PUBLIC_URL + pathname;\r\n\r\nexport default function CompanyPolicyEdit(props){\r\n const dispatch = useDispatch()\r\n const loader = document.getElementById('splash-screen');\r\n const history = useHistory()\r\n const classes = useStyles();\r\n const [level, setLevel] = React.useState('')\r\n const [message, setMessage] = React.useState('')\r\n const [toastVisible, setToastVisible] = React.useState(false)\r\n const [content, setContent] = React.useState({});\r\n const initialValue = {\r\n companyPolicyID: 0,\r\n createdBy: \"\",\r\n createdOn: \"\",\r\n isDeleted: false,\r\n policyContent: \"\",\r\n publishDate: \"\",\r\n published: true,\r\n tenantID: null,\r\n }\r\n const [item, setItem] = React.useState(props.location.state || initialValue)\r\n console.log('history', history)\r\n const { addData, user, tenentSuccess, tenantMassage, error } = useSelector((state) => ({\r\n user: state.auth.user,\r\n addData: state.companyPolicy.addData,\r\n tenentSuccess: state.companyPolicy.success,\r\n tenantMassage: state.companyPolicy.message,\r\n error: state.companyPolicy.error\r\n }), shallowEqual);\r\n var isIE = /*@cc_on!@*/false || !!document.documentMode;\r\n const [ieBrowser] = useState(isIE ? true : false);//, setIeBrowser\r\n React.useEffect(()=>{\r\n if(user){\r\n dispatch(tenantActions.setActiveStep(user.vhUser? 6 : 5));\r\n }\r\n },[dispatch, user]);\r\n React.useEffect(() => {\r\n if(!history.location.state){\r\n const data = addData;\r\n data['createdBy'] = user ? user.email : ''\r\n setItem(addData)\r\n }\r\n }, [addData])\r\n React.useEffect(() => {\r\n if(!history.location.state){\r\n if(history.location.pathname.indexOf('tenant') > 0){\r\n dispatch(actions.createTenantCompanyPolicy(props.match.params.id))\r\n loader.classList.remove('hidden')\r\n } else {\r\n dispatch(actions.addCompanyPolicy())\r\n loader.classList.remove('hidden')\r\n }\r\n }\r\n }, [dispatch])\r\n function hendleCancle(){\r\n history.goBack();\r\n }\r\n const resetTest = (content) => {\r\n setContent(content)\r\n }\r\n function hendleSubmit(){\r\n const params = item\r\n content && content.blocks && (params['policyContent'] = content.blocks[0].text)\r\n dispatch(actions.updateCompanyPolicy(params))\r\n loader.classList.remove('hidden')\r\n }\r\n function hendlePublish(){\r\n dispatch(actions.companyPolicyPublish(item.companyPolicyID))\r\n loader.classList.remove('hidden')\r\n }\r\n React.useEffect(() => {\r\n if(tenentSuccess){\r\n if(tenantMassage){ \r\n setLevel('success')\r\n setMessage(tenantMassage)\r\n setToastVisible(tenentSuccess)\r\n }\r\n loader.classList.add('hidden')\r\n setTimeout(() => {\r\n dispatch(actions.reset())\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 5000)\r\n }else { \r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }\r\n }, [tenentSuccess, tenantMassage])\r\n React.useEffect(() => {\r\n if(error){\r\n setLevel('danger')\r\n setMessage(error)\r\n setToastVisible(true)\r\n loader.classList.add('hidden')\r\n setTimeout(() => {\r\n dispatch(actions.reset())\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 5000)\r\n }\r\n }, [error])\r\n return(\r\n \r\n \r\n \r\n \r\n Policy Content\r\n \r\n }\r\n headerClassName={classes.portletHead}\r\n />\r\n \r\n \r\n \r\n
    \r\n \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\n \r\n
    \r\n \r\n
    \r\n )\r\n}\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n },\r\n filterButton: {\r\n marginTop: 20\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n cell: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n width: 35,\r\n minWidth: 35,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n formControl: {\r\n margin: '0 15px 0px 0px',\r\n minWidth: 180,\r\n maxWidth: '100%',\r\n },\r\n margin: {\r\n margin: '0 15px 0px 0px',\r\n },\r\n inputLabel: {\r\n //zIndex: 3,\r\n top: 12,\r\n left: 10\r\n },\r\n InputBase: {\r\n root: {\r\n marginTop: 0\r\n }\r\n }\r\n})","import * as types from './types'\r\n\r\n\r\nconst getFilesOperation = (id) => ({\r\n type: types.FETCH_FILEOPERATION,\r\n payload: id\r\n})\r\nconst getFilesOperationSuccess = ({ items }) => ({\r\n type: types.FETCH_FILEOPERATION_SUCCESS,\r\n payload: items\r\n})\r\n\r\nconst saveFilesOperation = (data) => ({\r\n type: types.SAVE_FILEOPERATION,\r\n payload: data\r\n})\r\n\r\nconst saveFilesOperationSuccess = ({ items }) => ({\r\n type: types.SAVE_FILEOPERATION_SUCCESS,\r\n payload: items\r\n})\r\n\r\nconst addFilesOperation = (data) => ({\r\n type: types.ADD_FILEOPERATION,\r\n payload: data\r\n})\r\n\r\nconst addFilesOperationSuccess = ({ items }) => ({\r\n type: types.ADD_FILEOPERATION_SUCCESS,\r\n payload: items\r\n})\r\n\r\nexport {\r\n getFilesOperation,\r\n getFilesOperationSuccess,\r\n saveFilesOperation,\r\n saveFilesOperationSuccess,\r\n addFilesOperation,\r\n addFilesOperationSuccess\r\n}","import React, { useState, useRef, useMemo, useEffect } from 'react';\r\nimport { useHistory } from 'react-router-dom'\r\nimport clsx from 'clsx'\r\nimport { useDispatch, useSelector, shallowEqual, connect} from 'react-redux'\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { Input } from \"../../../../partials/controls\";\r\nimport Radio from '@material-ui/core/Radio';\r\nimport RadioGroup from '@material-ui/core/RadioGroup';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport * as action from \"../../../../store/actions/fileOperationsAction\";\r\nimport { Button } from '@material-ui/core';\r\nimport TenantEditHead from '../../TenantEditHead';\r\n\r\n\r\nfunction StyledRadio(props) {\r\n const classes = useStyles();\r\n \r\n return (\r\n }\r\n icon={}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nconst FileOperationsSchemaSftp = Yup.object().shape({\r\n server: Yup.string()\r\n .required(\"Server is required\"),\r\n userName: Yup.string()\r\n .required(\"User Name is required\")\r\n .matches(/^[aA-zZ\\s]+$/, \"Only alphabets are allowed for this field \"),\r\n password: Yup.string()\r\n .required(\"Password is required\")\r\n .matches(\r\n /^(?=.*[A-Za-z])(?=.*\\d)(?=.*[@$!%*#?&])[A-Za-z\\d@$!%*#?&]{8,}$/,\r\n \"Must Contain 8 Characters, One Uppercase, One Lowercase, One Number and one special case Character\"),\r\n folder: Yup.string()\r\n .required(\"Folder is required\")\r\n .matches(/^[aA-zZ\\s]+$/, \"Only alphabets are allowed for this field \"),\r\n failedFilesFolder: Yup.string()\r\n .required(\"Failed Files Folder is required\")\r\n .matches(/^[aA-zZ\\s]+$/, \"Only alphabets are allowed for this field \"),\r\n})\r\n\r\nconst FileOperationsSchema = Yup.object().shape({\r\n \r\n azureConnString: Yup.string()\r\n .required(\"Azure Connection String is required\"),\r\n azureFolder: Yup.string()\r\n .required(\"Azure Folder is required\")\r\n .matches(/^[a-zA-Z0-9\\/]+$/, \"Only alphabets are allowed for this field \"),\r\n azureFailedFilesFolder: Yup.string()\r\n .required(\"Azure Failed Files Folder is required\")\r\n .matches(/^[aA-zZ\\sS]+$/, \"Only alphabets are allowed for this field \"),\r\n});\r\n\r\nfunction FileOperations({\r\n match,\r\n tenant,\r\n fileoperations,\r\n user\r\n}) {\r\n const history = useHistory()\r\n const loader = document.getElementById('splash-screen');\r\n const dispatch = useDispatch()\r\n const initialValue = {\r\n tenantID: match.params.id,\r\n server: '',\r\n userName: '',\r\n password: '',\r\n folder: '',\r\n failedFilesFolder: '',\r\n azureConnString: \"\",\r\n azureFolder: '',\r\n azureFailedFilesFolder: ''\r\n }\r\n const [items, setItems] = useState(initialValue)\r\n const { filesValue } = useSelector(\r\n (state) => ({\r\n filesValue: state.fileOperation.data\r\n }),\r\n shallowEqual\r\n )\r\n const [userHasEditTenantPermission, setUserHasEditTenantPermission] = useState(false);\r\n useEffect(()=>{\r\n var hasPermission = !!user?.modules?.find(m=>m.moduleName==='Tenants' && m.permissions?.some(p=>p.permissionName === 'Create'||p.permissionName === 'Update'));\r\n setUserHasEditTenantPermission(hasPermission);\r\n },[]);\r\n useEffect(() => {\r\n setItems(filesValue)\r\n }, [filesValue])\r\n useEffect(() => {\r\n loader.classList.remove('hidden')\r\n dispatch(action.getFilesOperation(match.params.id))\r\n setTimeout(() => {\r\n loader.classList.add('hidden')\r\n }, 1000)\r\n }, [match.params.id]);\r\n // console.log(\"getfileinfo\",filesValue);\r\n const classes = useStyles();\r\n const [value, setValue] = React.useState('blob');\r\n const handleChange = (event) => {\r\n setValue(event.target.value);\r\n };\r\n \r\n function onhandleChange(e){\r\n const {name, value} = e.target;\r\n setItems({\r\n ...items,\r\n [name]: value\r\n })\r\n }\r\n function onSubmitFile(values){\r\n dispatch(action.addFilesOperation(values))\r\n setTimeout(() => {\r\n dispatch(action.getFilesOperation(tenant.tenantID))\r\n }, 2000)\r\n }\r\n function handleCopyToClipboard(){\r\n console.log(arguments);\r\n console.log(\"copy to clipboard clicked\");\r\n var connectionString = document.getElementsByName(\"azureConnString\")[0].value;\r\n navigator.clipboard.writeText(connectionString);\r\n }\r\n return (\r\n <>\r\n {tenant && }\r\n {items && items.azureConnString && {\r\n onSubmitFile(values)\r\n }}\r\n >\r\n {({handleSubmit, errors, touched}) => (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Source
    \r\n
    \r\n \r\n } label=\"SFTP\" />\r\n } label=\"Blob Storage\" />\r\n \r\n
    \r\n
    \r\n
    \r\n {value === \"sftp\" ?
    \r\n
    \r\n
    \r\n
    \r\n
    Server :\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    UserName:

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    Password:\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {({ field }) => (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Folder:

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Failed Files Folder:

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    :\r\n
    \r\n
    \r\n
    \r\n
    Azure Connection String:\r\n
    \r\n
    \r\n
    \r\n
    \r\n handleCopyToClipboard()}>\r\n \r\n {({ field }) => (\r\n \r\n )}\r\n \r\n Copy above connection link and open in Azure Storage Explorer\r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n

    Folder:

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    Failed Files Folder:\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n {userHasEditTenantPermission && (
    \r\n
    \r\n handleSubmit()}\r\n >\r\n Save\r\n \r\n
    \r\n
    )}\r\n
    \r\n
    \r\n
    \r\n )}\r\n }\r\n \r\n )\r\n}\r\n\r\nconst useStyles = makeStyles({\r\n container: {\r\n padding: 10,\r\n borderTop: 'solid 1px #dddddd'\r\n },\r\n list: {\r\n display: 'flex',\r\n justifyContent: 'flex-start',\r\n padding: '8px 0px'\r\n },\r\n commonContainer: {\r\n display: 'flex',\r\n justifyContent: 'flex-start',\r\n alignItems: 'center',\r\n padding: '10px 0px'\r\n },\r\n basicLable: {\r\n minWidth: 195,\r\n },\r\n profileContainer: {\r\n minWidth: 240,\r\n },\r\n profileImage: {\r\n width: 120,\r\n height: 120\r\n },\r\n img: {\r\n maxWidth: '100%',\r\n maxHeight: '100%'\r\n },\r\n uploadContainer: {\r\n width: 'calc(100% - 435px)',\r\n },\r\n inputContainer: {\r\n width: 'calc(100% - 195px)'\r\n },\r\n head: {\r\n padding: '10px 0px'\r\n },\r\n title: {\r\n fontSize: 16,\r\n color: '#0078d4',\r\n letterSpacing: 'normal',\r\n fontWeight: 'bold',\r\n\r\n },\r\n subtitle: {\r\n fontSize: 12,\r\n letterSpacing: 'normal',\r\n fontWeight: 'bold',\r\n\r\n },\r\n radioRoot: {\r\n '&:hover': {\r\n backgroundColor: 'transparent',\r\n },\r\n },\r\n radioIcon: {\r\n borderRadius: '50%',\r\n width: 16,\r\n height: 16,\r\n boxShadow: 'inset 0 0 0 1px rgba(16,22,26,.2), inset 0 -1px 0 rgba(16,22,26,.1)',\r\n backgroundColor: '#f5f8fa',\r\n backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0))',\r\n '$root.Mui-focusVisible &': {\r\n outline: '2px auto rgba(19,124,189,.6)',\r\n outlineOffset: 2,\r\n },\r\n 'input:hover ~ &': {\r\n backgroundColor: '#ebf1f5',\r\n },\r\n 'input:disabled ~ &': {\r\n boxShadow: 'none',\r\n background: 'rgba(206,217,224,.5)',\r\n },\r\n },\r\n checkedIcon: {\r\n backgroundColor: '#137cbd',\r\n backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0))',\r\n '&:before': {\r\n display: 'block',\r\n width: 16,\r\n height: 16,\r\n backgroundImage: 'radial-gradient(#fff,#fff 28%,transparent 32%)',\r\n content: '\"\"',\r\n },\r\n 'input:hover ~ &': {\r\n backgroundColor: '#106ba3',\r\n },\r\n },\r\n});\r\n\r\nconst mapStateToProps = store => ({\r\n user: store.auth.user\r\n });\r\n \r\nexport default connect(mapStateToProps)(FileOperations);","import React, { useState} from \"react\";//, useRef useMemo,\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { useDispatch, useSelector, shallowEqual } from 'react-redux'\r\nimport SVG from \"react-inlinesvg\";\r\n\r\nimport {\r\n Portlet,\r\n PortletBody,\r\n PortletHeader,\r\n PortletHeaderToolbar,\r\n PortletHeaderTitle\r\n} from \"../../../partials/content/Portlet\";\r\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\r\nimport { CefitsEditForm } from './CefitsEditForm'\r\nimport { CustomAddCol } from './custom-add-col/CustomAddCol'\r\nimport * as actions from '../../../store/actions/cefitAction'\r\nimport * as tenantAction from '../../../store/actions/tenantAction'\r\nimport { useEffect } from \"react\";\r\nimport XLSX from 'xlsx'\r\nimport { \r\n setXlsxKey, \r\n subject$, \r\n tableName$, \r\n setTableName, \r\n columnName$, \r\n setColumnName \r\n} from '../CefitUiHelpers'\r\nimport Toast from '../../../crud/Toast'\r\n \r\nconst toAbsoluteUrl = pathname => process.env.PUBLIC_URL + pathname;\r\n\r\nconst domReady = fn => {\r\n if (document.readyState === 'complete') {\r\n fn();\r\n return\r\n }\r\n \r\n document.addEventListener('readystatechange', () => {\r\n if (document.readyState !== 'complete') {\r\n return;\r\n }\r\n \r\n fn();\r\n });\r\n};\r\n\r\nexport function CefitsEdit({\r\n history,\r\n match\r\n}) {\r\n const loader = document.getElementById('splash-screen');\r\n const [level, setLevel] = React.useState('')\r\n const [message, setMessage] = React.useState('')\r\n const [toastVisible, setToastVisible] = React.useState(false)\r\n let [roles, setRoles] = useState(undefined);\r\n const [updateData, setUpdateData] = useState(undefined)\r\n const [files, setFiles] = useState(undefined)\r\n const [key, setKey] = useState([])\r\n const [fileName, setFileName] = useState('Choose file...')\r\n const [cefitDate, setCefitDate] = useState([])\r\n const [cefitJson, setCefitJson] = useState([])\r\n const [accept, setAccept] = useState([''])\r\n const [cefitBase, setCefitBase] = useState(undefined)\r\n const [tableName, setTableNameData] = useState([])\r\n const [columnName, setColumnNameData] = useState([])\r\n const [objJsonB64, setObjJsonB64] = useState([])\r\n const [storeValue, setStoreValue] = useState(undefined)\r\n const [refreshMap, setRefreshMap] = useState(false)\r\n const [params, setParams] = useState({\r\n \"sortField\": \"tenantName\",\r\n \"sortDirection\": \"asc\",\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 1,\r\n \"searchText\": \"\"\r\n })\r\n const [defaultValues, setDefaultValues] = useState({\r\n test: [\r\n { \r\n excName: \"\",\r\n fieldName: \"\",\r\n excTabName: \"\",\r\n excRulesName: \"\"\r\n }\r\n ]\r\n });\r\n const [initCefit, setInitCefit] = useState({\r\n testMappingsArray: null,\r\n sqlTableNamesStr: \"\",\r\n excelFieldsNamesStr: \"\",\r\n excNames: null,\r\n excelDetails: [\r\n { \r\n excName: \"\",\r\n fieldName: \"\",\r\n excTabName: \"\",\r\n excRulesName: \"\"\r\n }\r\n ],\r\n id: 0,\r\n rowsToSkip:0,\r\n configuration: \"\",\r\n healthSystem: \"\",\r\n employerName: \"\",\r\n fileDataType: \"\",\r\n fileFormat: \"\",\r\n stagingTableName: \"\",\r\n sheetName: {\r\n sheetNames: [],\r\n sheetNSel: \"\"\r\n },\r\n rowsToSkip: null,\r\n storedProcedureName: \"\",\r\n fileName: \"\",\r\n submittedOn: null,\r\n fileUrl: \"\",\r\n fileUrlJson: \"\",\r\n submittedBy: \"\",\r\n configurationStatus: \"\",\r\n user: \"\",\r\n file:'',\r\n deploymentStat: \"Not Deployed\",\r\n tenantID: undefined,\r\n tenantName: \"\"\r\n })\r\n subject$.subscribe(res => {\r\n setKey(res)\r\n })\r\n tableName$.subscribe(res => {\r\n setTableNameData(res)\r\n })\r\n columnName$.subscribe(res => {\r\n setColumnNameData(res)\r\n });\r\n\r\n const id = match.params.id;\r\n var isIE = /*@cc_on!@*/false || !!document.documentMode;\r\n const [ieBrowser] = React.useState(isIE ? true : false);\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n \r\n const { \r\n user,\r\n tableNameList, \r\n updateExcel, \r\n actionsLoading, \r\n cefitForEdit, \r\n tenantList, \r\n columnNameList,\r\n updateResult,\r\n cefitSuccess,\r\n cefitMassage,\r\n error,\r\n } = useSelector(\r\n (state) => ({\r\n user: state.auth.user,\r\n actionsLoading: state.cefits.actionsLoading,\r\n cefitForEdit: state.cefits.cefitForEdit,\r\n tenantList: id ? state.tenant.item : state.tenant.data ? state.tenant.data.items : [],\r\n tableNameList: state.cefits.tableName,\r\n columnNameList: state.cefits.columnName,\r\n updateExcel: state.cefits.updateExcel,\r\n updateResult: state.cefits.updateResult,\r\n cefitSuccess: state.cefits.success,\r\n cefitMassage: state.cefits.message,\r\n error: state.cefits.error\r\n }),\r\n shallowEqual\r\n );\r\n useEffect(()=>{\r\n dispatch(actions.resetUpdateValue());\r\n },[]);\r\n React.useEffect(() => {\r\n if(cefitSuccess){\r\n setLevel('success');\r\n setMessage(cefitMassage);\r\n setToastVisible(cefitSuccess);\r\n loader.classList.add('hidden');\r\n setTimeout(() => {\r\n dispatch(actions.reset());\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 5000)\r\n }else { \r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }\r\n }, [cefitSuccess, cefitMassage])\r\n React.useEffect(() => {\r\n if(error){\r\n setLevel('danger')\r\n setMessage(error)\r\n setToastVisible(true)\r\n loader.classList.add('hidden');\r\n setTimeout(() => {\r\n dispatch(actions.reset());\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 5000)\r\n }\r\n }, [error])\r\n \r\n useEffect(() => {\r\n if(match.params.id){\r\n loader.classList.remove('hidden')\r\n dispatch(actions.fetchCefitById(match.params.id))\r\n } else {\r\n dispatch(tenantAction.getAllTenant(params))\r\n }\r\n }, [dispatch]);\r\n \r\n useEffect(() => {\r\n setCefitDate(cefitForEdit)\r\n setFileName(cefitForEdit ? cefitForEdit.fileName : 'Choose file...')\r\n const fieldName = cefitForEdit ? JSON.parse(cefitForEdit.excelFieldsNamesStr) : key\r\n const table = cefitForEdit ? JSON.parse(cefitForEdit.sqlTableNamesStr) : []\r\n setKey(fieldName)\r\n if(id && cefitForEdit && cefitForEdit.tenantID === 0) {\r\n setTimeout(() => {\r\n alert('TenantId not found...')\r\n dispatch(actions.resetUpdateValue())\r\n backToCefitsList()\r\n }, 700)\r\n }\r\n if(cefitForEdit?.tenantID){\r\n loader.classList.add('hidden');\r\n dispatch(tenantAction.getTenantById(cefitForEdit.tenantID));\r\n setDefaultValues({...defaultValues, ['test']: cefitForEdit.excelDetails})\r\n setUpdateData(cefitForEdit)\r\n setStoreValue(cefitForEdit)\r\n if(cefitForEdit.fileFormat == 'CSV'){\r\n setAccept('.csv')\r\n } else {\r\n setAccept('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel')\r\n }\r\n setTimeout(() => {\r\n if(cefitForEdit.fileDataType){\r\n dispatch(actions.fetchCefitTableName(cefitForEdit.fileDataType));\r\n } \r\n }, 300)\r\n }\r\n setRefreshMap(false)\r\n }, [cefitForEdit]);\r\n useEffect(() => {\r\n if(updateResult && updateResult.id){\r\n history.push(`/cefit/list/${updateResult.id}/edit`); \r\n setTimeout(() => { \r\n dispatch(actions.fetchCefitById(updateResult.id)) \r\n loader.classList.remove('hidden')\r\n setRefreshMap(true)\r\n }, 700) \r\n }\r\n }, [updateResult])\r\n useEffect(() => {\r\n if(user){\r\n Object.keys(user.roles).forEach((i) => {\r\n if(user.roles[i].roleName === \"Tool Admin\"){\r\n setRoles(user.roles[i])\r\n return;\r\n } else if(user.roles[i].roleName === \"Tool User\"){\r\n setRoles(user.roles[i])\r\n return\r\n }\r\n })\r\n }\r\n }, [user]);\r\n useEffect(() => {\r\n const currentData = id ? cefitForEdit || initCefit : initCefit;\r\n currentData['sheetName'].sheetNames = updateExcel && updateExcel.sheets || [];\r\n currentData['rowsToSkip']= updateExcel && updateExcel.rowsToSkip || 0;\r\n currentData['fileName']= updateExcel && updateExcel.fileName || '';\r\n currentData['fileDataType']= updateExcel && updateExcel.fileDataType || '';\r\n currentData['tenantID']= updateExcel && updateExcel.tenantID || undefined;\r\n setXlsxKey(updateExcel ? updateExcel.columns : []);\r\n\r\n //console.log(\"Update Excel object Updated!\", updateExcel, id, cefitForEdit);\r\n\r\n if(updateExcel){\r\n if(!id) {\r\n setInitCefit(currentData);\r\n loader.classList.add('hidden');\r\n \r\n } else {\r\n setUpdateData(currentData);\r\n loader.classList.add('hidden'); \r\n }\r\n var mappings = updateExcel.columns.map(c=>({ \r\n excName: c,\r\n fieldName: \"\",\r\n excTabName: \"\",\r\n excRulesName: \"\"\r\n }));\r\n setDefaultValues(prev=>({...prev, ['test']: mappings}));\r\n }\r\n else{\r\n setDefaultValues(prev=>({...prev, ['test']: []}));\r\n }\r\n }, [updateExcel]);\r\n\r\n\r\n useEffect(() => {\r\n setTableName(tableNameList)\r\n setTableNameData(tableNameList)\r\n }, [tableNameList])\r\n\r\n useEffect(() => {\r\n setColumnName(columnNameList)\r\n }, [columnNameList])\r\n \r\n const saveCefit = (values) => {\r\n const paramsUpload = prepareUpload(values);\r\n setStoreValue(values);\r\n if (!match.params.id) {\r\n setInitCefit(values);\r\n }\r\n dispatch(actions.fetchUpdateExcel(paramsUpload));\r\n loader.classList.remove('hidden');\r\n };\r\n\r\n\r\n const prepareUpload = (values) => {\r\n const paramsUpload = {};\r\n paramsUpload['JsonFile'] = files;\r\n paramsUpload['FileDataType'] = values.fileDataType;\r\n paramsUpload['rowsToSkip'] = values.rowsToSkip;\r\n paramsUpload['tenantid'] = values.tenantID;\r\n paramsUpload['fileName'] = values.fileName;\r\n return paramsUpload;\r\n }\r\n \r\n const backToCefitsList = () => {\r\n history.push(`/cefit`);\r\n };\r\n\r\n const handleFileInput = (e, setValues) => {\r\n const file = e.target.files[0];\r\n setFiles(file)\r\n // console.log(file)\r\n loader.classList.remove('hidden') \r\n setFileName(file ? file.name : 'Choose file...')\r\n if(id){\r\n setValues(prevValues => ({\r\n ...prevValues,\r\n ['fileName']: file && file.name,\r\n }))\r\n } else {\r\n setValues(prevValues => ({\r\n ...prevValues,\r\n ['fileName']: file && file.name,\r\n }))\r\n }\r\n loader.classList.add('hidden') \r\n };\r\n function XlsxToJson(selectedFile){\r\n if(selectedFile) {\r\n // console.log(\"hi\");\r\n var fileReader = new FileReader();\r\n fileReader.onload = function(event) {\r\n var data = event.target.result;\r\n var workbook = XLSX.read(data, {\r\n type: \"binary\"\r\n });\r\n workbook.SheetNames.forEach(sheet => {\r\n let rowObject = XLSX.utils.sheet_to_row_object_array(\r\n workbook.Sheets[sheet]\r\n );\r\n // console.log('rowObject', rowObject)\r\n let objJson = Buffer.from(rowObject).toString(\"base64\");\r\n setCefitJson(rowObject);\r\n setObjJsonB64(objJson);\r\n if(rowObject.length > 0) {\r\n const keys = Object.keys(rowObject[0])\r\n setXlsxKey(keys)\r\n loader.classList.add('hidden') \r\n }\r\n });\r\n };\r\n fileReader.readAsBinaryString(selectedFile);\r\n }\r\n }\r\n function selectDataType(e){\r\n setUpdateData(null)\r\n setFileName('Choose file...')\r\n setFiles(undefined)\r\n if(e.target.value){\r\n dispatch(actions.fetchCefitTableName(e.target.value));\r\n }\r\n }\r\n\r\n const selectTableName = (e, index) => {\r\n const select = document.getElementById(`select-clumn-${index}`)\r\n removeOptions(select)\r\n let findColumn = tableName && tableName.find(item => item.name == e.target.value)\r\n let data = findColumn && findColumn.columns\r\n if(data){\r\n for (var i = 0; i <= data.length-1; i++){\r\n var opt = document.createElement('option');\r\n opt.value = data[i];\r\n opt.innerHTML = data[i];\r\n select.appendChild(opt);\r\n }\r\n }\r\n }\r\n function removeOptions(selectElement) {\r\n var i, L = selectElement.options.length - 1;\r\n for(i = L; i >= 0; i--) {\r\n if(i != 0){\r\n selectElement.remove(i);\r\n }\r\n }\r\n }\r\n const setAcceptType = (type) => {\r\n if(type == 'CSV'){\r\n setUpdateData(null)\r\n setFileName('Choose CSV file...')\r\n setFiles(undefined)\r\n setAccept('.csv') \r\n } else if(type == 'Excel'){\r\n setUpdateData(null)\r\n setFileName('Choose Excel file...')\r\n setFiles(undefined)\r\n setAccept('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel')\r\n }\r\n const sheetName = {\r\n sheetNames: [],\r\n sheetNSel: ''\r\n }\r\n setInitCefit({\r\n ...initCefit,\r\n ['sheetName']: sheetName\r\n })\r\n }\r\n\r\n function onSubmiHendle(value){\r\n let saveParams = prepearSubmit(value);\r\n // console.log('saveParams', saveParams)\r\n dispatch(actions.fetchUpdate(saveParams))\r\n loader.classList.remove('hidden')\r\n }\r\n\r\n function onTestMapping(){\r\n dispatch(actions.fetchTestMapping(id))\r\n loader.classList.remove('hidden')\r\n }\r\n\r\n function onCefitApprove(){\r\n dispatch(actions.fetchCefitApprove(id))\r\n loader.classList.remove('hidden')\r\n }\r\n\r\n const prepearSubmit = (mappingValue) => {\r\n let values = storeValue;\r\n if(!values){\r\n alert('Something is wrong with your submission!');\r\n return;\r\n }\r\n if(values.fileFormat != 'CSV' && values.sheetName && !values.sheetName.sheetNSel){\r\n alert('please select sheet name...')\r\n return \r\n } else if(values.rowsToSkip < 0){\r\n alert('please select Rows To Skip...')\r\n return \r\n }\r\n console.log(values);\r\n let saveParams = {};\r\n saveParams[\"testMappingsArray\"]= values.testMappingsArray \r\n saveParams[\"sqlTableNamesStr\"]= values.sqlTableNamesStr\r\n saveParams[\"excelFieldsNamesStr\"]= JSON.stringify(values.excelFieldsNamesStr)\r\n saveParams[\"excNames\"]= values.excNames\r\n saveParams[\"excelDetails\"]= mappingValue\r\n saveParams[\"id\"]= values.id\r\n saveParams[\"tenantID\"]= values.tenantID\r\n saveParams[\"tenantName\"]= values.tenantName || tenantList[0]?.tenantName || '-'\r\n saveParams[\"fileDataType\"]= values.fileDataType\r\n saveParams[\"fileFormat\"]= values.fileFormat\r\n saveParams[\"stagingTableName\"]= values.stagingTableName\r\n saveParams[\"sheetName\"]= values.sheetName\r\n saveParams[\"rowsToSkip\"]= values.rowsToSkip\r\n saveParams[\"storedProcedureName\"]= values.storedProcedureName\r\n saveParams[\"fileName\"]= values.fileName\r\n saveParams[\"submittedOn\"]= id ? new Date(values.submittedOn) : null\r\n saveParams[\"sourceBlobFileUrl\"]= values.sourceBlobFileUrl\r\n saveParams[\"columnMappingJson\"]= values.columnMappingJson\r\n saveParams[\"submittedBy\"]= user.email\r\n saveParams[\"configurationStatus\"]= values.configurationStatus\r\n saveParams[\"user\"]= id ? values.user : null\r\n saveParams[\"deploymentStatus\"]= values.deploymentStatus\r\n return saveParams;\r\n }\r\n function onRefreshMaping(){\r\n const values = id ? updateData : initCefit\r\n const params = prepareRefresh(values)\r\n dispatch(actions.fetchRefreshCifit(params));\r\n }\r\n const prepareRefresh = (values) => {\r\n const params = {\r\n \"filedataType\": values.fileDataType,\r\n \"fileName\": values.fileName.sheetNSel,\r\n \"sheetName\": values.sheetName,\r\n \"tenantID\": values.tenantID\r\n }\r\n return params;\r\n }\r\n function onChangedSheetName(e){\r\n // console.log(e)\r\n if(!id) {\r\n const sheetName = {\r\n sheetNames: initCefit.sheetName.sheetNames,\r\n sheetNSel: e\r\n }\r\n setInitCefit({\r\n ...initCefit,\r\n ['fileFormat']: accept != '.csv' ? 'Excel' : 'CSV' ,\r\n ['sheetName']: sheetName\r\n })\r\n setStoreValue({\r\n ...initCefit,\r\n ['fileFormat']: accept != '.csv' ? 'Excel' : 'CSV' ,\r\n ['sheetName']: sheetName\r\n })\r\n } else {\r\n const sheetName = {\r\n sheetNames: updateData.sheetName.sheetNames,\r\n sheetNSel: e\r\n }\r\n setUpdateData({\r\n ...updateData, \r\n ['fileFormat']: accept != '.csv' ? 'Excel' : 'CSV' ,\r\n ['sheetName']: sheetName\r\n })\r\n setStoreValue({\r\n ...updateData,\r\n ['fileFormat']: accept != '.csv' ? 'Excel' : 'CSV' ,\r\n ['sheetName']: sheetName\r\n })\r\n }\r\n }\r\n function addNewRow(value, i){\r\n //console.log(\"addNewRow\", value, i);\r\n setRefreshMap(true)\r\n setTimeout(() => {\r\n const rows = value ? value : []\r\n const newRow = { \r\n excName: \"\",\r\n fieldName: \"\",\r\n excTabName: \"\",\r\n excRulesName: \"\"\r\n };\r\n rows.splice(i+1, 0, newRow);\r\n setDefaultValues({...defaultValues, ['test']: rows})\r\n setRefreshMap(false)\r\n }, 100)\r\n }\r\n function removeRow(value, i) {\r\n setRefreshMap(true)\r\n setTimeout(() => {\r\n var array = [...value];\r\n if (i !== -1) {\r\n array.splice(i, 1);\r\n setDefaultValues({...defaultValues, ['test']: array})\r\n }\r\n setRefreshMap(false)\r\n }, 100)\r\n }\r\n function onCancleButton(){\r\n history.push('./cefit/list')\r\n }\r\n function onChangedRowsToSkip(value){\r\n if(storeValue){\r\n setStoreValue({...storeValue, ['rowsToSkip']: value})\r\n }\r\n }\r\n return (\r\n \r\n \r\n \r\n {id ? 'Edit' : 'Add'} Configurations\r\n \r\n }\r\n toolbar={\r\n \r\n {/* */}\r\n \r\n }\r\n headerClassName={classes.portletHead}\r\n />\r\n \r\n \r\n
    \r\n \r\n {/* {console.log(\"CefitsEdit is passing defaultValues \", defaultValues)} */}\r\n {!refreshMap && id ? updateData && updateData.fileName && \r\n :\r\n !refreshMap && updateExcel && \r\n fileName !== 'Choose file...' && \r\n key.length > 0 && tableName && \r\n }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n padding: '6px 16px'\r\n },\r\n textField:{\r\n\r\n },\r\n filterButton: {\r\n marginTop: 20\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n cell: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n width: 35,\r\n minWidth: 35,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n formControl: {\r\n margin: '0 15px 0px 0px',\r\n minWidth: 180,\r\n maxWidth: '100%',\r\n },\r\n margin: {\r\n margin: '0 15px 0px 0px',\r\n },\r\n inputLabel: {\r\n //zIndex: 3,\r\n top: 12,\r\n left: 10\r\n },\r\n InputBase: {\r\n root: {\r\n marginTop: 0\r\n }\r\n }\r\n})\r\n","import React, {useState, useEffect} from 'react';\r\nimport { useDispatch, useSelector, shallowEqual } from 'react-redux';\r\nimport { Table, Button, Form } from \"react-bootstrap\";\r\nimport { Select, MenuItem } from '@material-ui/core'\r\nimport { useFieldArray } from \"react-hook-form\";\r\n\r\nexport function CustomTableItem({\r\n keys,\r\n tableName,\r\n onSelectChangeTableName,\r\n control, \r\n register, \r\n errors,\r\n reset,\r\n addNewRow,\r\n removeRow,\r\n setValue,\r\n getValues\r\n}) {\r\n const { fields, append, remove, prepend } = useFieldArray({\r\n control,\r\n name: \"test\"\r\n });\r\n const {user} = useSelector((state)=>({\r\n user: state.auth.user\r\n }), shallowEqual);\r\n //const [userHasCreatePermission, setUserHasCreatePermission] = useState(false);\r\n const [userHasUpdatePermission, setUserHasUpdatePermission] = useState(false);\r\n // const [userHasDeletePermission, setUserHasDeletePermission] = useState(false);\r\n useEffect(()=>{\r\n if(user){\r\n console.log(user.vhUser);\r\n if(user.vhUser){\r\n // setUserHasCreatePermission(true); \r\n setUserHasUpdatePermission(true); \r\n // setUserHasDeletePermission(true);\r\n }else{\r\n var fileMappingModule = user.modules?.find(m=>m.moduleName==='FileMapping');\r\n if(fileMappingModule){\r\n var hasCreatePermission = !!fileMappingModule.permissions.some(p=>p.permissionName === 'Create');\r\n var hasUpdatePermission = !!fileMappingModule.permissions.some(p=>p.permissionName === 'Update');\r\n // var hasDeletePermission = !!fileMappingModule.permissions.some(p=>p.permissionName === 'Delete');\r\n // setUserHasCreatePermission(hasCreatePermission); \r\n setUserHasUpdatePermission(hasCreatePermission || hasUpdatePermission); \r\n // setUserHasDeletePermission(hasDeletePermission); \r\n console.log(hasCreatePermission,hasUpdatePermission);\r\n }else{ \r\n // setUserHasCreatePermission(false); \r\n setUserHasUpdatePermission(false); \r\n // setUserHasDeletePermission(false); \r\n } \r\n }\r\n }\r\n },[user]); \r\n function getColumn(item){\r\n const findColumn = tableName && tableName.find(column => column.name === item.excTabName)\r\n let columnOption = []\r\n findColumn && findColumn.columns.map((col, i) => {\r\n const createCol = [\r\n \r\n ]\r\n columnOption = columnOption.concat(createCol)\r\n })\r\n return columnOption\r\n }\r\n function prependCol(i){\r\n const data = getValues()\r\n addNewRow(data && data.test, i)\r\n }\r\n\r\n function removeRowItem(index){\r\n const data = getValues()\r\n removeRow(data && data.test, index)\r\n }\r\n return(\r\n <>\r\n {control && <>\r\n {fields.map((item, 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 {userHasUpdatePermission && \r\n (<>\r\n {' '}\r\n )\r\n }\r\n \r\n );\r\n })}\r\n }\r\n \r\n \r\n )\r\n}","import React, { useState, useMemo, useEffect } from 'react';\r\nimport { useDispatch, useSelector, shallowEqual } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom'\r\nimport { Table, Button, Form } from \"react-bootstrap\";\r\nimport { Select, MenuItem } from '@material-ui/core'\r\nimport { CustomTableItem } from './CustomTableItem'\r\nimport { useForm } from \"react-hook-form\";\r\n\r\nexport function CustomTable({\r\n keys,\r\n tableName,\r\n columnName,\r\n onSelectChangeTableName,\r\n onSubmiHendle,\r\n defaultValues,\r\n roles,\r\n match,\r\n onTestMapping,\r\n onCefitApprove,\r\n onRefreshMaping,\r\n addNewRow,\r\n onCancleButton,\r\n removeRow\r\n}){ \r\n const {user} = useSelector((state)=>({\r\n user: state.auth.user\r\n }), shallowEqual);\r\n //const [userHasCreatePermission, setUserHasCreatePermission] = useState(false);\r\n const [userHasUpdatePermission, setUserHasUpdatePermission] = useState(false);\r\n // const [userHasDeletePermission, setUserHasDeletePermission] = useState(false);\r\n useEffect(()=>{\r\n if(user){\r\n console.log(user.vhUser);\r\n if(user.vhUser){\r\n // setUserHasCreatePermission(true); \r\n setUserHasUpdatePermission(true); \r\n // setUserHasDeletePermission(true);\r\n }else{\r\n var fileMappingModule = user.modules?.find(m=>m.moduleName==='FileMapping');\r\n if(fileMappingModule){\r\n var hasCreatePermission = !!fileMappingModule.permissions.some(p=>p.permissionName === 'Create');\r\n var hasUpdatePermission = !!fileMappingModule.permissions.some(p=>p.permissionName === 'Update');\r\n // var hasDeletePermission = !!fileMappingModule.permissions.some(p=>p.permissionName === 'Delete');\r\n // setUserHasCreatePermission(hasCreatePermission); \r\n setUserHasUpdatePermission(hasCreatePermission || hasUpdatePermission); \r\n // setUserHasDeletePermission(hasDeletePermission); \r\n console.log(hasCreatePermission,hasUpdatePermission);\r\n }else{ \r\n // setUserHasCreatePermission(false); \r\n setUserHasUpdatePermission(false); \r\n // setUserHasDeletePermission(false); \r\n } \r\n }\r\n }\r\n },[user]); \r\n const history = useHistory()\r\n const id = match.params.id\r\n const {\r\n control,\r\n register,\r\n handleSubmit,\r\n getValues,\r\n errors,\r\n reset,\r\n setValue\r\n } = useForm({defaultValues: defaultValues});\r\n const [rowPerPage, setrowPerPage] = useState(3)\r\n React.useEffect(() => {\r\n reset(defaultValues)\r\n }, [defaultValues])\r\n function addField (argument) {\r\n setrowPerPage(rowPerPage + 1)\r\n }\r\n function removeField (argument) {\r\n setrowPerPage(rowPerPage > 1 ? rowPerPage - 1 : 1)\r\n }\r\n\r\n const onSubmit = (data) => {\r\n console.log(\"data\", data)\r\n onSubmiHendle(data.test)\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 \r\n \r\n \r\n \r\n {tableName && tableName.length > 0 && }\r\n \r\n
    File Field NameTable NameTarget Column NameRules {userHasUpdatePermission && \r\n \r\n }
    \r\n
    \r\n
    \r\n {userHasUpdatePermission && }\r\n {' '}\r\n {userHasUpdatePermission && Test Mapping }\r\n {' '}\r\n {/* && roles && roles.roleName === 'Tool Admin' */}\r\n {(userHasUpdatePermission || (user.vhUser && roles?.roleName === 'Tool Admin')) && }\r\n {' '}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}","import React from 'react'\r\nimport { CustomTable } from './custom-table/CustomTable'\r\n\r\nexport function CustomAddCol(props){\r\n return(\r\n <>\r\n {props.defaultValues && }\r\n \r\n )\r\n}","import React, { useState, Fragment, useEffect } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { useDispatch, useSelector, shallowEqual,connect } from 'react-redux'\r\nimport * as actions from '../../../../store/actions/manageUserAction'\r\nimport FormGroup from '@material-ui/core/FormGroup';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport { Checkbox, Button, List, ListItem, ListItemText, ListItemIcon, Collapse } from '@material-ui/core';\r\nimport {ExpandLess , ExpandMore} from \"@material-ui/icons\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { makeStyles } from '@material-ui/core/styles'; \r\n\r\nfunction ManageUserAdd(props) {\r\n const loader = document.getElementById('splash-screen');\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const { itemData, match, emailDomain } = props;\r\n const [items, setItem] = useState(null);\r\n const { user } = useSelector(\r\n (state) => ({user: state.manageUser}),\r\n shallowEqual\r\n );\r\n console.log(\"email domain: \",emailDomain);\r\n const [userHasEditTenantPermission, setUserHasEditTenantPermission] = useState(false);\r\n useEffect(()=>{\r\n var hasPermission = !!(props.user?.modules?.find(m=>m.moduleName==='Tenants' && m.permissions?.some(p=>p.permissionName === 'Create'||p.permissionName === 'Update')));\r\n \r\n setUserHasEditTenantPermission(hasPermission);\r\n },[]);\r\n const params = {\r\n \"sortField\":\"\",\r\n \"sortDirection\":\"\",\r\n \"pageSize\":10,\r\n \"pageNumber\":1,\r\n \"searchText\":\"\"\r\n }\r\n useEffect(() => {\r\n setItem(user.userdata)\r\n setValidated(false);\r\n }, [user])\r\n // const item = React.useMemo(() => {\r\n // return itemData\r\n // }, [itemData]);\r\n const [isPhoneValid, setIsPhoneValid] = useState(true);\r\n const [validated, setValidated] = useState(false);\r\n\r\n const [addRole, setAddRole] = useState({\r\n firstName: \"\",\r\n description: \"\",\r\n systemDefined: true,\r\n })\r\n const closeRow = () => {\r\n props.close();\r\n }\r\n const onAddSubmit = () => {\r\n addRole.firstName && props.onAdd(addRole);\r\n addRole.firstName && props.close();\r\n }\r\n const heandleChangeValue = (e, index) => {\r\n const {name, checked} = e.target;\r\n items.roles[index].isSelected = checked\r\n setItem({\r\n ...items\r\n });\r\n }\r\n const heandlephipiiChangeValue = (e) => {\r\n const {name, checked} = e.target;\r\n //items.phipiiAccess = checked;\r\n setItem({\r\n ...items,\r\n [name]: checked\r\n });\r\n }\r\n // const handleOnBlur = (e) => {\r\n // const {value} = e.target;\r\n // console.log(e);\r\n // console.log(value);\r\n // console.log(items['phoneNumber']);\r\n // if(value.length !== 10){\r\n // setIsPhoneValid(false);\r\n // setValidated(true);\r\n // setMessage(\"Invalid Phone Number\");\r\n // setLevel('danger');\r\n // setToastVisible(true);\r\n // setTimeout(() => { \r\n // setToastVisible(false);\r\n // },5);\r\n // }else{\r\n // setIsPhoneValid(true);\r\n // setValidated(true); \r\n // }\r\n // };\r\n const heandleChangeInput = (e) => {\r\n const {name, value} = e.target;\r\n setItem({\r\n ...items,\r\n [name]: value\r\n });\r\n ReactDOM.findDOMNode(document.getElementById('userEditorForm')).checkValidity();\r\n }\r\n // const [level, setLevel] = React.useState('')\r\n // const [message, setMessage] = React.useState('')\r\n // const [toastVisible, setToastVisible] = React.useState(false) \r\n function onSubmitValue(event){\r\n event.preventDefault();\r\n event.stopPropagation();\r\n const form = event.currentTarget;\r\n console.log('on submit');\r\n if (form.checkValidity() === false) {\r\n console.log('checkvalidity === false');\r\n }else{\r\n if(items.userID > 0){\r\n dispatch(actions.updateManageUser(items))\r\n loader.classList.remove('hidden')\r\n } else {\r\n dispatch(actions.addManageUser(items))\r\n loader.classList.remove('hidden')\r\n setTimeout(() => {\r\n if(match.params.id){\r\n const data = {\r\n params: params,\r\n id: match.params.id\r\n }\r\n dispatch(actions.getManageUserTenantId(data));\r\n } else {\r\n dispatch(actions.getManageUser(params))\r\n } \r\n }, 2000)\r\n }\r\n }\r\n setValidated(true);\r\n }\r\n function heandleChangeAccess(e, current,parent, grandParent){\r\n const {checked} = e.target\r\n current.isSelected = checked;\r\n \r\n // if a child is selected,\r\n if(checked ){ \r\n //set parent and grand parents selected\r\n if(parent){// && !parent.isSelected\r\n parent.isSelected = checked;\r\n if(grandParent && !grandParent.isSelected){\r\n grandParent.isSelected = checked;\r\n }\r\n }\r\n // set all of its child selected\r\n if(current.parent) { // current.parent is actually child of current\r\n current.parent.forEach(p=>{\r\n p.isSelected = checked;\r\n if(p.child){\r\n p.child.forEach(c=>{\r\n c.isSelected = checked;\r\n })\r\n }\r\n });\r\n }\r\n if(current.child){\r\n current.child.forEach(c=>{\r\n c.isSelected = checked;\r\n })\r\n }\r\n }else{\r\n // if all siblings are unchecked uncheck parent as well\r\n if(parent){\r\n if(parent.parent && !parent.parent.some(p=>p.isSelected)){\r\n parent.isSelected = checked;\r\n \r\n }\r\n if(parent.child && !parent.child.some(p=>p.isSelected)){\r\n parent.isSelected = checked;\r\n if(grandParent.parent && !grandParent.parent.some(p=>p.isSelected)){\r\n grandParent.isSelected = checked;\r\n }\r\n }\r\n }\r\n\r\n // set all of its child deselected\r\n if(current.parent) { // current.parent is actually child of current\r\n current.parent.forEach(p=>{\r\n p.isSelected = checked;\r\n if(p.child){\r\n p.child.forEach(c=>{\r\n c.isSelected = checked;\r\n })\r\n }\r\n });\r\n }\r\n if(current.child){\r\n current.child.forEach(c=>{\r\n c.isSelected = checked;\r\n })\r\n } \r\n }\r\n setItem({\r\n ...items\r\n })\r\n }\r\n // const handleToggleOrganizationAccess = (e, value) => {\r\n // const currentIndex = checked.indexOf(value);\r\n // const newChecked = [...checked];\r\n \r\n // if (currentIndex === -1) {\r\n // newChecked.push(value);\r\n // } else {\r\n // newChecked.splice(currentIndex, 1);\r\n // }\r\n \r\n // setChecked(newChecked);\r\n // };\r\n const [orgAccessChildListOpen, setOrgAccessChildListOpen] = useState({});\r\n const expandCollapseOrgAccListItem = (id)=>{\r\n setOrgAccessChildListOpen(prev => ({...prev, [id]: !prev[id]}));\r\n }\r\n const renderOrganizationsAccessList=(organizationAccess)=>{\r\n return \r\n {organizationAccess.parent && organizationAccess.parent.map((value) => {\r\n const labelId = `organization-access-${value.organizationID}-label`;\r\n return (\r\n expandCollapseOrgAccListItem(value.organizationID)}> \r\n \r\n \r\n heandleChangeAccess(e, value, organizationAccess)}\r\n onClick={(e) => e.stopPropagation()}\r\n color=\"primary\"\r\n disabled={!userHasEditTenantPermission}\r\n inputProps={{ 'aria-labelledby': labelId }}\r\n /> \r\n \r\n \r\n {value.child && value.child.length > 0 ? (orgAccessChildListOpen[value.organizationID] ? : ):\"\"}\r\n \r\n \r\n \r\n \r\n {value.child && value.child.map((oaChild) => {\r\n \r\n const oaChildlabelId = `organization-access-${value.organizationID}-label`;\r\n return ( \r\n \r\n \r\n heandleChangeAccess(e, oaChild, value, organizationAccess)}\r\n disabled={!userHasEditTenantPermission}\r\n inputProps={{ 'aria-labelledby': oaChildlabelId }}\r\n />\r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n \r\n );\r\n })}\r\n };\r\n \r\n\r\n return (\r\n <>\r\n {items &&
    \r\n
    \r\n
    Profile
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n heandleChangeInput(e)}\r\n disabled={!userHasEditTenantPermission}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n heandleChangeInput(e)}\r\n disabled={!userHasEditTenantPermission}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n heandleChangeInput(e)}\r\n // onBlur={handleOnBlur}\r\n disabled={!userHasEditTenantPermission}\r\n required\r\n type=\"text\"\r\n pattern=\"\\d{10}\"\r\n minLength=\"10\" maxLength=\"10\" />\r\n \r\n Please provide a valid Phone Number.\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n heandleChangeInput(e)}\r\n disabled={!userHasEditTenantPermission}\r\n required\r\n type=\"text\"\r\n pattern={'.+@'+ emailDomain.replace('.','\\\\.')} />\r\n \r\n \r\n Email must ends with {emailDomain}.\r\n \r\n \r\n {/* {!emailDomain && \r\n heandleChangeInput(e)}\r\n disabled={!userHasEditTenantPermission}\r\n required\r\n type=\"text\"\r\n pattern={'.+@'+ emailDomain.replace('.','\\\\.')} />\r\n \r\n \r\n Email must ends with {emailDomain}.\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 Roles
    \r\n
    \r\n
    \r\n
    \r\n {items && items.roles && items.roles.length > 0 && \r\n <> \r\n {items.roles.map((pre, pi) => (\r\n
    \r\n heandleChangeValue(e, pi)}\r\n disabled={!userHasEditTenantPermission}\r\n />\r\n }\r\n />\r\n \r\n
    \r\n ))}\r\n \r\n
    }\r\n
    \r\n
    \r\n
    \r\n
    PHI PII Access
    \r\n heandlephipiiChangeValue(e)}\r\n disabled={!userHasEditTenantPermission}\r\n />}\r\n />\r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n \r\n
    \r\n heandlephipiiChangeValue(e)}\r\n disabled={!userHasEditTenantPermission}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    */}\r\n {match.params.id && items.organizationsAccess && items.organizationsAccess.length > 0 &&\r\n <>\r\n
    \r\n
    Organisation Access
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {items.organizationsAccess.map((pre, pi) => (\r\n
    \r\n \r\n \r\n <>\r\n
    \r\n heandleChangeAccess(e, pre)}\r\n disabled={!userHasEditTenantPermission}\r\n />\r\n }\r\n />\r\n \r\n
    \r\n
    {renderOrganizationsAccessList(pre)}
    \r\n \r\n
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n
    \r\n }\r\n {userHasEditTenantPermission && (
    \r\n
    \r\n onSubmitValue()}\r\n >\r\n Submit\r\n \r\n
    \r\n
    )}\r\n
    }\r\n {/* */}\r\n \r\n )\r\n }\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n padding: 0\r\n },\r\n filterButton: {\r\n marginTop: 20\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n cell: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n formControl: {\r\n margin: '0 15px 0px 0px',\r\n minWidth: 180,\r\n maxWidth: '100%',\r\n },\r\n margin: {\r\n margin: '0 15px 0px 0px',\r\n },\r\n inputLabel: {\r\n //zIndex: 3,\r\n top: 12,\r\n left: 10\r\n },\r\n InputBase: {\r\n root: {\r\n marginTop: 0\r\n }\r\n },\r\n title:{\r\n color:'#0078d4',\r\n paddingBottom:10,\r\n paddingTop:10\r\n\r\n },\r\n inline: {\r\n display: 'inline-block',\r\n },\r\n dropdown: {\r\n width: '100%',\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n \"&:hover, &:focus, &:active\": {\r\n backgroundColor: '#ffffff !important',\r\n border: 'solid 1px #dddddd !important',\r\n color: '#333333 !important'\r\n }\r\n },\r\n dropdownMenu: {\r\n width: '100%'\r\n },\r\n treeRoot: {\r\n height: 240,\r\n flexGrow: 1,\r\n maxWidth: 400,\r\n },\r\n headLabelName: {\r\n fontWeight: 700\r\n }\r\n})\r\n\r\nconst mapStateToProps = store => ({\r\n user: store.auth.user\r\n });\r\n \r\nexport default connect(mapStateToProps)(ManageUserAdd);","import React, { useState,useEffect, Fragment, useCallback } from 'react';\r\nimport { shallowEqual, useDispatch, useSelector, connect } from \"react-redux\";\r\nimport * as actions from \"../../../../store/actions/manageUserAction\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport clsx from 'clsx';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport { ReactComponent as AngleDoubleLeftIcon } from \"../../../../../_metronic/layout/assets/layout-svg-icons/Angle-double-left.svg\"\r\nimport { ReactComponent as AngleDoubleRightIcon } from \"../../../../../_metronic/layout/assets/layout-svg-icons/Angle-double-right.svg\";\r\nimport { DeleteConfirmation } from '../../../../crud/LayoutUtilsService'\r\n\r\nimport Toast from '../../../../crud/Toast';\r\nimport {\r\n Table,\r\n TableBody,\r\n TableRow,\r\n TableCell,\r\n IconButton,\r\n Checkbox\r\n} from '@material-ui/core';\r\nimport DeleteIcon from '@material-ui/icons/Delete'\r\nimport DoneIcon from '@material-ui/icons/Done'\r\nimport {\r\n getComparator, \r\n stableSort,\r\n EnhancedTableHead\r\n} from '../../../../crud/SortGrid';\r\nimport ManageUserAdd from './ManageUserAdd';\r\nimport { Form } from 'react-bootstrap'\r\n\r\nfunction ManangeUserList(props){\r\n const { match, user } = props\r\n const loader = document.getElementById('splash-screen');\r\n const [isSending, setIsSending] = useState(true)\r\n const[updateItem, setUpdateItem] = useState(null)\r\n const[deleteItem, setDelete] = useState(null)\r\n const [userToDelete, setUserToDelete] = useState(null)\r\n const classes = useStyles();\r\n const [addItem, setAddItem] = useState(null);\r\n const [minMenu, setMinMenu] = useState(false)\r\n const history = useHistory()\r\n const params = {\r\n \"sortField\":\"\",\r\n \"sortDirection\":\"\",\r\n \"pageSize\":60,\r\n \"pageNumber\":1,\r\n \"searchText\":\"\"\r\n }\r\n const initialRole = {\r\n userID: undefined,\r\n roleName: \"\",\r\n description: \"\",\r\n systemDefined: false,\r\n active: false,\r\n user: null,\r\n rolePermissions: null\r\n }\r\n const [userHasEditTenantPermission, setUserHasEditTenantPermission] = useState(false);\r\n useEffect(()=>{\r\n var hasPermission = !!user?.modules?.find(m=>m.moduleName==='Tenants' && m.permissions?.some(p=>p.permissionName === 'Create'||p.permissionName === 'Update'));\r\n setUserHasEditTenantPermission(hasPermission);\r\n },[]);\r\n const dispatch = useDispatch();\r\n const[dataSource, setDataSource] = useState([])\r\n useEffect(() => {\r\n loader.classList.remove('hidden')\r\n if(match.params.id){\r\n const data = {\r\n params: params,\r\n id: match.params.id\r\n }\r\n dispatch(actions.getManageUserTenantId(data));\r\n } else {\r\n dispatch(actions.getManageUser(params))\r\n }\r\n setTimeout(() => {\r\n loader.classList.add('hidden')\r\n }, 1000)\r\n }, [match.params]);\r\n const { currentState, row, manageUserSuccess, manageUserMassage, error } = useSelector(\r\n (state) => ({ \r\n currentState: state.manageUser.users, \r\n row: state.manageUser.selectRow,\r\n manageUserSuccess: state.manageUser.success,\r\n manageUserMassage: state.manageUser.message,\r\n error: state.manageUser.error\r\n }),\r\n shallowEqual\r\n );\r\n const [level, setLevel] = React.useState('')\r\n const [message, setMessage] = React.useState('')\r\n const [toastVisible, setToastVisible] = React.useState(false) \r\n useEffect(() => {\r\n if(manageUserSuccess){\r\n setLevel('success')\r\n setMessage(manageUserMassage)\r\n setToastVisible(manageUserSuccess)\r\n loader.classList.add('hidden')\r\n setTimeout(() => {\r\n dispatch(actions.getManageUserTenantId({params: params, id: match.params.id}));\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 100);\r\n }else { \r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }\r\n }, [manageUserSuccess, manageUserMassage]);\r\n useEffect(() => {\r\n if(error){\r\n setLevel('danger')\r\n setMessage(error)\r\n setToastVisible(true)\r\n loader.classList.add('hidden')\r\n setTimeout(() => {\r\n dispatch(actions.reset())\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 100)\r\n }\r\n }, [error]);\r\n let items = currentState && currentState.items;\r\n useEffect(() => {\r\n const currentExpandedRows = [];\r\n const isRowExpanded = currentExpandedRows.includes(row);\r\n let obj = {};\r\n isRowExpanded ? (obj[row] = false) : (obj[row] = true);\r\n setExpandState(obj);\r\n const newExpandedRows = isRowExpanded ?\r\n currentExpandedRows.filter(id => id !== row) :\r\n currentExpandedRows.concat(row);\r\n setExpandedRows(newExpandedRows);\r\n setAddItem(row == 0 ? currentState && currentState.items && currentState.items[0] : null);\r\n }, [row])\r\n useEffect(() => {\r\n setDataSource(currentState && currentState.items);\r\n setAddItem(row == 0 ? currentState && currentState.items && currentState.items.length > 0 ? currentState.items[0] : null : null)\r\n if(currentState && currentState.items && currentState.items.length > 0){\r\n const currentExpandedRows = [];\r\n const isRowExpanded = currentExpandedRows.includes(currentState.items[0].userID);\r\n let obj = {};\r\n isRowExpanded ? (obj[currentState.items[0].userID] = false) : (obj[currentState.items[0].userID] = true);\r\n setExpandState(obj);\r\n const newExpandedRows = isRowExpanded ?\r\n currentExpandedRows.filter(id => id !== currentState.items[0].userID) :\r\n currentExpandedRows.concat(currentState.items[0].userID);\r\n setExpandedRows(newExpandedRows);\r\n dispatch(actions.getManageUserByUserId(currentState.items[0].userID))\r\n }\r\n },[items])\r\n const [order, setOrder] = useState('asc');\r\n const [orderBy, setOrderBy] = useState('');\r\n const handleRequestSort = (event, property) => {\r\n if(orderBy === ''){\r\n setOrder('desc');\r\n setOrderBy(property);\r\n setDataSource(stableSort(dataSource, getComparator('asc', property)))\r\n } else{\r\n const isAsc = orderBy === property && order === 'asc';\r\n setOrder(isAsc ? 'desc' : 'asc');\r\n setOrderBy(property);\r\n setDataSource(stableSort(dataSource, getComparator(order, orderBy)))\r\n }\r\n };\r\n useEffect(() => {\r\n if (updateItem){\r\n setIsSending(false)\r\n setDataSource([]);\r\n //dispatch(actions.updateRoleRequest(updateItem));\r\n setTimeout(() => {\r\n setUpdateItem(null);\r\n setIsSending(true)\r\n }, 500)\r\n }\r\n }, [dispatch, updateItem]);\r\n const [expandedRows, setExpandedRows] = useState([]);\r\n const [expandState, setExpandState] = useState({});\r\n\r\n const handleEpandRow = (event, item) => {\r\n setAddItem(null);\r\n const currentExpandedRows = [];\r\n const isRowExpanded = currentExpandedRows.includes(item.userID);\r\n let obj = {};\r\n isRowExpanded ? (obj[item.userID] = false) : (obj[item.userID] = true);\r\n setExpandState(obj);\r\n const newExpandedRows = isRowExpanded ?\r\n currentExpandedRows.filter(id => id !== item.userID) :\r\n currentExpandedRows.concat(item.userID);\r\n setExpandedRows(newExpandedRows);\r\n setAddItem(item);\r\n dispatch(actions.getManageUserByUserId(item.userID))\r\n }\r\n\r\n const hendleMinMenu = () => {\r\n setMinMenu(!minMenu);\r\n }\r\n const hendleChange = (e) => {\r\n params.searchText = e.target.value;\r\n //dispatch(actions.getAllRoles());\r\n }\r\n const deleteConfirm = (item) => {\r\n setUserToDelete(item);\r\n setDelete(true)\r\n }\r\n const onDelete = (item)=>{\r\n if(item.userID){\r\n dispatch(actions.deleteManageUserRequest({tenantID: item.tenantID, id: item.userID}));\r\n loader.classList.remove('hidden');\r\n } \r\n }\r\n const deleteClose = (rowIndex, action) => {\r\n if (action === 'delete') {\r\n const loader = document.getElementById('splash-screen');\r\n loader.classList.remove('hidden');\r\n onDelete(userToDelete);\r\n setTimeout(() => {\r\n setDelete(false);\r\n loader.classList.add('hidden');\r\n }, 2000);\r\n return;\r\n } else if (action === 'close') {\r\n setDelete(false);\r\n }\r\n }\r\n let allItemRows = [];\r\n dataSource && dataSource.forEach((item, i) => {\r\n const perItemRows = handleEpandRow(event, item)}\r\n className={expandedRows.includes(item.userID) ? clsx('row-color role-row ', classes.selected) : 'row-color role-row'}\r\n key={\"row-data-\" + i}\r\n >\r\n \r\n {item.firstName}\r\n \r\n \r\n {item.lastName}\r\n \r\n \r\n {item.email}\r\n \r\n {/* \r\n {item.organizationName}\r\n */}\r\n \r\n {userHasEditTenantPermission && !item.systemDefined && (\r\n deleteConfirm(item)}>\r\n \r\n \r\n {deleteItem && }\r\n )}\r\n \r\n ;\r\n //;\r\n allItemRows = allItemRows.concat(perItemRows);\r\n });\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n hendleMinMenu()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {props.openAddRow && \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n handleChange(e, index, i)} \r\n name=\"systemDefined\" \r\n color=\"primary\"\r\n />\r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {allItemRows}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n <>\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nconst headCells = [\r\n { id: 'firstName', numeric: false, disablePadding: false, align: 'left', label: 'First Name' },\r\n { id: 'lastName', numeric: false, disablePadding: false, align: 'left', label: 'Last Name' },\r\n { id: 'userName', numeric: false, disablePadding: false, align: 'left', label: 'UserName' },\r\n // { id: 'systemDefined', numeric: false, disablePadding: false, align: 'left', label: 'System Defined' },\r\n //{ id: 'parentOrganisation', numeric: false, disablePadding: false, align: 'left', label: 'Parent Organisation' },\r\n { id: 'actions', numeric: false, disablePadding: false, align: 'right', label: 'Actions' },\r\n\r\n];\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n pannelList: {\r\n position: 'absolute',\r\n top: '0',\r\n left: '0',\r\n width: 608,\r\n background: '#fff',\r\n transition: 'all .1s ease-out',\r\n paddingRight: 10\r\n },\r\n tenantContentSidebar : {\r\n position: 'absolute',\r\n top: '0',\r\n left: '0',\r\n width: 49,\r\n background: '#fff',\r\n transition: 'all .1s ease-out',\r\n paddingRight: 10\r\n },\r\n tenantdetailrightcontent: {\r\n marginLeft: 608,\r\n transition: 'all .1s ease-out',\r\n paddingLeft: 0\r\n },\r\n tenantMinContent: {\r\n marginLeft: 49,\r\n transition: 'all .1s ease-out',\r\n paddingLeft: 0\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n },\r\n filterButton: {\r\n marginTop: 20\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n //maxWidth: 125,\r\n //minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n cell: {\r\n //maxWidth: 125,\r\n //minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n width: 35,\r\n minWidth: 35,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n formControl: {\r\n margin: '0 15px 0px 0px',\r\n minWidth: 180,\r\n maxWidth: '30%',\r\n },\r\n margin: {\r\n margin: '0 15px 0px 0px',\r\n },\r\n inputLabel: {\r\n //zIndex: 3,\r\n top: 12,\r\n left: 10\r\n },\r\n InputBase: {\r\n root: {\r\n marginTop: 0\r\n }\r\n },\r\n tenantMenu: {\r\n width: '100%',\r\n // height: '100vh',\r\n background:'#ffffff',\r\n zIndex: '1',\r\n borderRight: 'solid 1px #ddd'\r\n },\r\n minMenu: {\r\n width:50,\r\n overflow: 'hidden',\r\n },\r\n addbtn: {\r\n padding: '4px 10px'\r\n },\r\n searchControl:{\r\n width:30\r\n },\r\n rolesearchcontainer:{\r\n padding:10,\r\n width:35\r\n },\r\n hidden: {\r\n display:'none' \r\n },\r\n selected: {\r\n '& > td': {\r\n borderTop: 'solid 1px #004d88 !important',\r\n borderBottom: 'solid 1px #004d88 !important',\r\n background: '#0078d4',\r\n color: '#ffffff'\r\n }\r\n }\r\n})\r\n\r\n\r\nconst mapStateToProps = store => ({\r\n user: store.auth.user\r\n });\r\n \r\nexport default connect(mapStateToProps)(ManangeUserList);","import React, { useState, useEffect } from 'react';\r\nimport {\r\n Paper,\r\n Button,\r\n} from '@material-ui/core';\r\nimport { useDispatch, useSelector, shallowEqual, connect } from 'react-redux'\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport {\r\n Portlet,\r\n PortletBody,\r\n PortletHeader,\r\n PortletHeaderToolbar,\r\n PortletHeaderTitle\r\n} from \"../../../../partials/content/Portlet\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport ManageUserList from './ManageUserList'\r\nimport * as actions from '../../../../store/actions/manageUserAction';\r\nimport {runAddNewUsersToReportsRequest} from \"../../../../store/actions/tenantAction\";\r\nimport Toast from '../../../../crud/Toast'\r\n\r\nconst toAbsoluteUrl = pathname => process.env.PUBLIC_URL + pathname;\r\nfunction ManageUserBase({ match , user, tenant}) {\r\n const dispatch = useDispatch();\r\n const classes = useStyles();\r\n const [toastVisible, setToastVisible] = useState(false);\r\n const [message, setMessage] = useState('');\r\n const [toastLevel, setToastLevel] = useState('');\r\n const [openAddRow, setOpenAddRow] = useState(false)\r\n const openAdd = () => {\r\n if(match.params.id){\r\n dispatch(actions.createManageUserByTenantId(match.params.id))\r\n return\r\n }\r\n dispatch(actions.createManageUser())\r\n };\r\n const addNewUsersToReports = () =>{\r\n dispatch(runAddNewUsersToReportsRequest());\r\n setMessage('Add user to Reports Process has been started.');\r\n setToastLevel('success');\r\n setToastVisible(true);\r\n setTimeout(() =>{setToastVisible(false);},5000);\r\n };\r\n const [userHasEditTenantPermission, setUserHasEditTenantPermission] = useState(false);\r\n useEffect(()=>{\r\n var hasPermission = !!user?.modules?.find(m=>m.moduleName==='Tenants' && m.permissions?.some(p=>p.permissionName === 'Create'||p.permissionName === 'Update'));\r\n setUserHasEditTenantPermission(hasPermission);\r\n },[]);\r\n const closeAdd = () => {\r\n }\r\n const { currentUsers}=useSelector((state)=>({\r\n currentUsers: state.manageUser.users,\r\n }), shallowEqual);\r\n const [allowedUsersExceeded, setAllowedUsersExceeded] = useState(false);\r\n useEffect(()=>{\r\n if(currentUsers && tenant){// && subscriptions?.items\r\n // const subscription = subscriptions.items.find(s=>s.subscriptionID === tenant.subscriptionID);\r\n // if(subscription){\r\n const allowedUsersExceeded = currentUsers.totalItems >= tenant.allowAccount;\r\n setAllowedUsersExceeded(allowedUsersExceeded);\r\n // }\r\n }\r\n },[currentUsers, tenant, tenant?.allowAccount]);\r\n\r\n return(\r\n <>\r\n \r\n \r\n \r\n \r\n Manage User\r\n \r\n }\r\n toolbar={\r\n \r\n {!allowedUsersExceeded && userHasEditTenantPermission && (\r\n <>\r\n \r\n \r\n \r\n\r\n )}\r\n \r\n }\r\n headerClassName={classes.portletHead}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '100%',\r\n marginTop: 0,\r\n boxShadow: 'none'\r\n },\r\n button: {\r\n margin: '0 8px 0 0',\r\n },\r\n filterButton: {\r\n marginTop: 20\r\n },\r\n portlet: {\r\n marginBottom: 0\r\n },\r\n cellHead: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden',\r\n whiteSpace: 'nowrap'\r\n },\r\n cell: {\r\n maxWidth: 125,\r\n minWidth: 125,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n cellBtn: {\r\n width: 35,\r\n minWidth: 35,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflowX: 'hidden'\r\n },\r\n portletHead: {\r\n position: 'fixed',\r\n width: '100%',\r\n background: '#ffffff',\r\n zIndex: '99999',\r\n right: 0,\r\n padding: '0px 10px !important',\r\n borderRadius: '0px !important',\r\n borderBottom: 'solid 1px #b6bbc2 !important',\r\n minHeight: '32px !important'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1,\r\n },\r\n formControl: {\r\n margin: '0 15px 0px 0px',\r\n minWidth: 180,\r\n maxWidth: '100%',\r\n },\r\n margin: {\r\n margin: '0 15px 0px 0px',\r\n },\r\n inputLabel: {\r\n //zIndex: 3,\r\n top: 12,\r\n left: 10\r\n },\r\n InputBase: {\r\n root: {\r\n marginTop: 0\r\n }\r\n }\r\n})\r\n\r\n\r\n\r\nconst mapStateToProps = store => ({\r\n user: store.auth.user\r\n });\r\n \r\nexport default connect(mapStateToProps)(ManageUserBase);","import React from 'react'\r\nimport { useDispatch, useSelector, shallowEqual } from 'react-redux'\r\nimport { ThemeProvider, withStyles, createMuiTheme } from '@material-ui/core/styles';\r\nimport TenantEditHead from '../../../tenants/TenantEditHead';\r\nimport ManageUserBase from './ManageUserBase'\r\nimport Toast from '../../../../crud/Toast'\r\nimport * as actions from \"../../../../store/actions/manageUserAction\";\r\n\r\nexport default function ManageUser(props){\r\n const { match, tenant } = props;\r\n const dispatch = useDispatch()\r\n const loader = document.getElementById('splash-screen');\r\n const [level, setLevel] = React.useState('')\r\n const [message, setMessage] = React.useState('')\r\n const [toastVisible, setToastVisible] = React.useState(false)\r\n const {tenentSuccess, tenantMassage, error} = useSelector((state) => ({\r\n tenentSuccess: state.manageUser.success,\r\n tenantMassage: state.manageUser.message,\r\n error: state.manageUser.error\r\n }), shallowEqual)\r\n React.useEffect(() => {\r\n if(tenentSuccess){\r\n setLevel('success')\r\n setMessage(tenantMassage)\r\n setToastVisible(tenentSuccess)\r\n loader.classList.add('hidden')\r\n setTimeout(() => {\r\n dispatch(actions.reset())\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 5000)\r\n }else { \r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }\r\n }, [tenentSuccess, tenantMassage])\r\n React.useEffect(() => {\r\n if(error){\r\n setLevel('danger')\r\n setMessage(error)\r\n setToastVisible(true)\r\n loader.classList.add('hidden')\r\n setTimeout(() => {\r\n dispatch(actions.reset())\r\n setLevel('')\r\n setMessage('')\r\n setToastVisible(false)\r\n }, 5000)\r\n }\r\n }, [error])\r\n return(\r\n \r\n {tenant && }\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n )\r\n}\r\n\r\nconst theme = createMuiTheme({\r\n overrides: {\r\n MuiExpansionPanelSummary: {\r\n content: {\r\n padding: 0,\r\n margin: '0px !important'\r\n }\r\n },\r\n MuiButtonBase: {\r\n root: {\r\n minHeight: '25px !important',\r\n lineHeight: '1.2 !important'\r\n },\r\n expandIcon: {\r\n padding: 5\r\n },\r\n },\r\n MuiIconButton: {\r\n root: {\r\n padding: 0\r\n },\r\n colorPrimary: {\r\n padding: 0\r\n }\r\n },\r\n MuiButton: {\r\n root: {\r\n borderRadius: 0\r\n },\r\n text: {\r\n color: '#333333',\r\n },\r\n containedPrimary: {\r\n backgroundColor: '#0078d4',\r\n '&:hover': {\r\n backgroundColor: '#0078d4',\r\n }\r\n }\r\n },\r\n MuiExpansionPanelDetails: {\r\n root: {\r\n padding: '0px !important',\r\n backgroundColor: 'rgba(0, 0, 0, 0.0) !important'\r\n }\r\n },\r\n MuiTableCell: {\r\n root: {\r\n padding: 5,\r\n fontSize: '1rem'\r\n },\r\n head: {\r\n lineHeight: '2.5rem'\r\n },\r\n sizeSmall: {\r\n padding: 5,\r\n },\r\n stickyHeader: {\r\n backgroundColor: '#ffffff'\r\n }\r\n },\r\n MuiTableHead: {\r\n root: {\r\n borderTop: 'solid 1px #ddd'\r\n }\r\n },\r\n MuiFormControl: {\r\n root: {\r\n width: 'auto'\r\n }\r\n },\r\n MuiFormControlLabel: {\r\n root: {\r\n marginBottom: 0,\r\n marginLeft: 0,\r\n marginRight: 8\r\n }\r\n },\r\n MuiList: {\r\n padding: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n }\r\n },\r\n MuiListItem: {\r\n root: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n }\r\n },\r\n MuiTooltip: {\r\n tooltip: {\r\n fontSize: 14\r\n }\r\n },\r\n MuiInputLabel: {\r\n formControl: {\r\n transform: 'translate(0, 7px) scale(1)'\r\n },\r\n shrink: {\r\n transform: 'translate(0, 31px) scale(0.75)'\r\n }\r\n },\r\n MuiInput: {\r\n formControl: {\r\n marginTop: '0 !important'\r\n }\r\n },\r\n PrivateSwitchBase: {\r\n root: {\r\n padding: 0\r\n }\r\n }\r\n },\r\n});","import * as types from './types';\r\n\r\n/****SnapShot Actions****/\r\n\r\nconst fetchConfigAll = () => ({\r\n type: types.FETCH_CONFIG,\r\n})\r\n\r\n\r\nconst fetchConfigSuccess = ({items}) => ({\r\n type: types.FETCH_CONFIG_SUCCESS,\r\n payload: { \r\n items\r\n }\r\n})\r\n\r\nconst fetchConfigError = (error) => ({\r\n type: types.FETCH_CONFIG_FAILURE,\r\n payload: error\r\n});\r\n\r\nconst createConfigRequest = (data) => ({\r\n type: types.CREATE_CONFIG_REQUEST,\r\n payload: data\r\n});\r\n\r\nconst createConfigSuccess = ({ items }) => ({\r\n type: types.ADD_CONFIG_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst updateConfigRequest = (data) => ({\r\n type: types.UPDATE_CONFIG_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst updateConfigSuccess = ({ items }) => ({\r\n type: types.UPDATE_CONFIG_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst deleteUserRequest = (userId) => ({\r\n type: types.DELETE_CONFIG_REQUEST,\r\n payload: {\r\n userId\r\n }\r\n});\r\n\r\nconst deleteUserSuccess = ({ items }) => ({\r\n type: types.DELETE_CONFIG_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst configError = ({error}) => ({\r\n type: types.CONFIG_ERROR,\r\n payload: {\r\n error\r\n }\r\n});\r\n\r\n/****File Operations****/\r\n\r\nconst getAllFileOperations = () => ({\r\n type: types.FETCH_FILE_OPERATIONS\r\n})\r\n\r\nconst fetchFileOperationsSuccess = ({items}) => ({\r\n type: types.FETCH_FILE_OPERATIONS_SUCCESS,\r\n payload: { \r\n items\r\n }\r\n})\r\n\r\nconst createFileOperationsRequest = (data) => ({\r\n type: types.CREATE_FILE_OPERATIONS_REQUEST,\r\n payload: data\r\n});\r\n\r\nconst createFileOperationsSuccess = ({ items }) => ({\r\n type: types.CREATE_FILE_OPERATIONS_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst updateFileOperationsRequest = (data) => ({\r\n type: types.UPDATE_FILE_OPERATIONS_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst updateFileOperationsSuccess = ({ items }) => ({\r\n type: types.UPDATE_FILE_OPERATIONS_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst deleteFileOperationsRequest = (userId) => ({\r\n type: types.DELETE_FILE_OPERATIONS_REQUEST,\r\n payload: {\r\n userId\r\n }\r\n});\r\n\r\nconst deleteFileOperationsSuccess = ({ items }) => ({\r\n type: types.DELETE_FILE_OPERATIONS_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\n/**** Automated Cleansing ****/\r\n\r\nconst fetchAutoCleansing = () => ({\r\n type: types.FETCH_AUTO_CLEANSING,\r\n})\r\n\r\n\r\nconst fetchAutoCleansingSuccess = ({items}) => ({\r\n type: types.FETCH_AUTO_CLEANSING_SUCCESS,\r\n payload: { \r\n items\r\n }\r\n})\r\n\r\n/**** Automated Cleansing ****/\r\n\r\nconst fetchBasedCleansing = () => ({\r\n type: types.FETCH_BASED_CLEANSING,\r\n})\r\n\r\n\r\nconst fetchBasedCleansingSuccess = ({items}) => ({\r\n type: types.FETCH_BASED_CLEANSING_SUCCESS,\r\n payload: { \r\n items\r\n }\r\n})\r\n\r\n/**** Automated Cleansing ****/\r\n\r\nconst fetchCustomer = () => ({\r\n type: types.FETCH_CUSTOMERS,\r\n})\r\n\r\n\r\nconst fetchCustomerSuccess = ({items}) => ({\r\n type: types.FETCH_CUSTOMERS_SUCCESS,\r\n payload: { \r\n items\r\n }\r\n})\r\n\r\n/**** Staging ****/\r\n\r\nconst fetchStage = () => ({\r\n type: types.FETCH_STAGE,\r\n})\r\n\r\n\r\nconst fetchStageSuccess = ({items}) => ({\r\n type: types.FETCH_STAGE_SUCCESS,\r\n payload: { \r\n items\r\n }\r\n})\r\n\r\nexport {\r\n fetchConfigAll,\r\n createConfigRequest,\r\n fetchConfigSuccess,\r\n fetchConfigError,\r\n deleteUserRequest,\r\n updateConfigRequest,\r\n updateConfigSuccess,\r\n configError,\r\n createConfigSuccess,\r\n deleteUserSuccess,\r\n getAllFileOperations,\r\n fetchFileOperationsSuccess,\r\n createFileOperationsRequest,\r\n createFileOperationsSuccess,\r\n updateFileOperationsRequest,\r\n updateFileOperationsSuccess,\r\n deleteFileOperationsRequest,\r\n deleteFileOperationsSuccess,\r\n fetchAutoCleansing,\r\n fetchAutoCleansingSuccess,\r\n fetchBasedCleansing,\r\n fetchBasedCleansingSuccess,\r\n fetchCustomer,\r\n fetchCustomerSuccess,\r\n fetchStage,\r\n fetchStageSuccess\r\n};","import * as types from './types';\r\n\r\nconst getManageUser = (parmas) => ({\r\n type: types.FETCH_MANAGEUSER_REQUEST,\r\n payload: parmas\r\n})\r\n\r\nconst getManageUserSuccess = ({ items }) => ({\r\n type: types.FETCH_MANAGEUSER_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst getManageUserTenantId = (parmas) => ({\r\n type: types.FETCH_MANAGEUSER_TENANTID_REQUEST,\r\n payload: parmas\r\n})\r\n\r\nconst getManageUserTenantIdSuccess = ({ items }) => ({\r\n type: types.FETCH_MANAGEUSER_TENANTID_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst getManageUserByUserId = (data) => ({\r\n type: types.FETCH_MANAGEUSER_BYUSERID_REQUEST,\r\n payload: data\r\n})\r\n\r\nconst getManageUserByUserIdSuccess = ({ items }) => ({\r\n type: types.FETCH_MANAGEUSER_BYUSERID_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst createManageUserByTenantId = (data) => ({\r\n type: types.CREATE_MANAGEUSER_BYTENANTID_REQUEST,\r\n payload: data\r\n})\r\n\r\nconst createManageUserByTenantIdSuccess = ({ items }) => ({\r\n type: types.CREATE_MANAGEUSER_BYTENANTID_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst createManageUser = () => ({\r\n type: types.CREATE_MANAGEUSER_REQUEST,\r\n})\r\n\r\nconst createManageUserSuccess = ({ items }) => ({\r\n type: types.CREATE_MANAGEUSER_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst addManageUser = (data) => ({\r\n type: types.ADD_MANAGEUSER_REQUEST,\r\n payload: data\r\n})\r\n\r\nconst addManageUserSuccess = ({ items }) => ({\r\n type: types.ADD_MANAGEUSER_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst updateManageUser = (data) => ({\r\n type: types.UPDATE_MANAGEUSER_REQUEST,\r\n payload: data\r\n})\r\n\r\nconst updateManageUserSuccess = ({ items }) => ({\r\n type: types.UPDATE_MANAGEUSER_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst deleteManageUserRequest = (data) => ({\r\n type: types.DELETE_MANAGEUSER_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst deleteManageUserSuccess = ({ items }) => ({\r\n type: types.DELETE_MANAGEUSER_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n});\r\nconst error = ({error}) => ({\r\n type: types.MANAGEUSER_ERROR,\r\n payload: error\r\n});\r\n\r\nconst reset = () => ({\r\n type: types.RESET_STORE\r\n});\r\nconst resetData = () => ({\r\n type: types.RESET_MANAGEUSER_STORE_DATA\r\n});\r\n\r\nexport {\r\n getManageUser,\r\n getManageUserSuccess,\r\n getManageUserTenantId,\r\n getManageUserTenantIdSuccess,\r\n getManageUserByUserId,\r\n getManageUserByUserIdSuccess,\r\n createManageUserByTenantId,\r\n createManageUserByTenantIdSuccess,\r\n createManageUser,\r\n createManageUserSuccess,\r\n addManageUser,\r\n addManageUserSuccess,\r\n updateManageUser,\r\n updateManageUserSuccess,\r\n deleteManageUserRequest,\r\n deleteManageUserSuccess,\r\n error,\r\n reset,\r\n resetData\r\n}","import * as types from './types';\r\n\r\n\r\nconst fetchCefitList = (data) => ({\r\n type: types.FETCH_CEFIT_LIST,\r\n payload: data\r\n})\r\n\r\nconst fetchCefitSuccess = ({ items }) => ({\r\n type: types.FETCH_CEFIT_LIST_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst fetchCefitById = (data) => ({\r\n type: types.FETCH_CEFIT_BY_ID,\r\n payload: data\r\n})\r\n\r\nconst fetchCefitByIdSuccess = ({ items }) => ({\r\n type: types.FETCH_CEFIT_BY_ID_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst fetchCefitTableName = (data) => ({\r\n type: types.FETCH_CEFIT_TABLE_NAME,\r\n payload: data\r\n})\r\n\r\nconst fetchCefitTableNameSuccess = ({ items }) => ({\r\n type: types.FETCH_CEFIT_TABLE_NAME_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst fetchCefitColumnName = (data) => ({\r\n type: types.FETCH_CEFIT_COLUMN_NAME,\r\n payload: data\r\n})\r\n\r\n\r\nconst fetchCefitColumnNameSuccess = ({ items }) => ({\r\n type: types.FETCH_CEFIT_COLUMN_NAME_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst fetchUpdateExcel = (data) => ({\r\n type: types.FETCH_CEFIT_UPDATE_EXCEL,\r\n payload: data\r\n})\r\n\r\nconst fetchUpdateExcelSuccess = ({ items }) => ({\r\n type: types.FETCH_CEFIT_UPDATE_EXCEL_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst fetchUpdate = (data) => ({\r\n type: types.FETCH_CEFIT_UPDATE,\r\n payload: data\r\n})\r\n\r\nconst fetchUpdateSuccess = ({ items }) => ({\r\n type: types.FETCH_CEFIT_UPDATE_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst fetchCreate = (data) => ({\r\n type: types.FETCH_CEFIT_CREATE,\r\n payload: data\r\n})\r\n\r\nconst fetchCreateSuccess = ({ items }) => ({\r\n type: types.FETCH_CEFIT_CREATE_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst fetchDelete = (data) => ({\r\n type: types.FETCH_CEFIT_DELETE,\r\n payload: data\r\n})\r\n\r\nconst fetchDeleteSuccess = ({ items }) => ({\r\n type: types.FETCH_CEFIT_DELETE_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst fetchTestMapping = (data) => ({\r\n type: types.FETCH_CEFIT_TEST,\r\n payload: data\r\n})\r\n\r\nconst fetchTestMappingSuccess = ({ items }) => ({\r\n type: types.FETCH_CEFIT_TEST_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst fetchCefitApprove = (data) => ({\r\n type: types.FETCH_CEFIT_APPROVE,\r\n payload: data\r\n})\r\n\r\nconst fetchCefitApproveSuccess = ({ items }) => ({\r\n type: types.FETCH_CEFIT_APPROVE_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst fetchRefreshCifit = (data) => ({\r\n type: types.FETCH_CEFIT_REFRESH,\r\n payload: data\r\n})\r\n\r\nconst fetchRefreshCifitSuccess = ({ items }) => ({\r\n type: types.FETCH_CEFIT_REFRESH_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst error = ({ error }) => ({\r\n type: types.CEFIT_ERROR,\r\n payload: error\r\n});\r\n\r\nconst reset = () => ({\r\n type: types.RESET_STORE\r\n})\r\n\r\nconst resetUpdateValue = () => ({\r\n type: types.RESET_UPDATE_VALUE\r\n})\r\n\r\nexport {\r\n fetchCefitList,\r\n fetchCefitSuccess,\r\n fetchCefitById,\r\n fetchCefitByIdSuccess,\r\n fetchCefitTableName,\r\n fetchCefitTableNameSuccess,\r\n fetchCefitColumnName,\r\n fetchCefitColumnNameSuccess,\r\n fetchUpdateExcel,\r\n fetchUpdateExcelSuccess,\r\n fetchUpdate,\r\n fetchUpdateSuccess,\r\n fetchCreate,\r\n fetchCreateSuccess,\r\n fetchDelete,\r\n fetchDeleteSuccess,\r\n fetchTestMapping,\r\n fetchTestMappingSuccess,\r\n fetchCefitApprove,\r\n fetchCefitApproveSuccess,\r\n resetUpdateValue,\r\n fetchRefreshCifit,\r\n fetchRefreshCifitSuccess,\r\n error,\r\n reset\r\n}","/* eslint-disable jsx-a11y/alt-text */\r\n/* eslint-disable default-case */\r\nimport React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nclass Toast extends Component {\r\n \r\n constructor (props) {\r\n super(props)\r\n this.state = {\r\n visible: this.props.visible\r\n }\r\n }\r\n \r\n render () {\r\n let classes = `toast ${this.props.level} `\r\n classes += this.state.visible ? 'visible' : ''\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n

    { this.props.message }

    \r\n
    \r\n )\r\n }\r\n \r\n getIcon () {\r\n switch (this.props.level) {\r\n case 'warning': return 'http://svgshare.com/i/19x.svg'\r\n case 'danger': return 'http://svgshare.com/i/19E.svg'\r\n case 'success': return 'http://svgshare.com/i/19y.svg'\r\n }\r\n }\r\n \r\n componentWillReceiveProps (nextProps) {\r\n if (this.props.visible !== nextProps.visible) {\r\n this.setState({\r\n visible: nextProps.visible\r\n })\r\n }\r\n }\r\n}\r\n \r\nToast.propTypes = {\r\n visible: PropTypes.bool.isRequired,\r\n message: PropTypes.string.isRequired\r\n}\r\n\r\nexport default Toast;","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 { InputGroup, FormControl } from 'react-bootstrap';\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 InputGroups({\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 = true,\r\n customFeedbackLabel,\r\n type = \"text\",\r\n groupSuffix=\"*\",\r\n ...props\r\n}) {\r\n return (\r\n <>\r\n {/* {label && } */}\r\n \r\n \r\n \r\n {groupSuffix}\r\n \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 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 = true,\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 {useField} from \"formik\";\r\nimport {FieldFeedbackLabel} from \"./FieldFeedbackLabel\";\r\n\r\nconst getFieldCSSClasses = (touched, errors) => {\r\n const classes = [\"form-control\", \"form-control-solid\"];\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 label,\r\n withFeedbackLabel = true,\r\n type,\r\n customFeedbackLabel,\r\n children,\r\n onChange,\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","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\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","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 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, {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","\r\n\r\n// Forms\r\nexport {FieldFeedbackLabel} from \"./forms/FieldFeedbackLabel\";\r\nexport {FormAlert} from \"./forms/FormAlert\";\r\nexport {InputGroups} from './forms/InputGroup'\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\nexport {RadioButton} from './forms/RadioButton'\r\n\r\n// Controls\r\nexport * from \"./Card\";\r\nexport {default as AnimateLoading} from \"./AnimateLoading\";\r\nexport {Notice} from \"./Notice\";\r\nexport {SplashScreen} from \"./SplashScreen\";\r\nexport {SVGIcon} from \"./SVGIcon\";\r\nexport {ModalProgressBar} from \"./ModalProgressBar\";\r\nexport {LoadingDialog} from './LoadingDialog'","import * as types from './types';\r\n\r\nconst getOrganisation = (id) => ({\r\n type: types.FETCH_ORGANISATION,\r\n payload: id\r\n})\r\n\r\nconst getOrganisationSuccess = ({ items }) => ({\r\n type: types.FETCH_ORGANISATION_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst fetchUpdateRow = (data) => ({\r\n type: types.UPDATE_ORGANISATION_REQUEST,\r\n payload: data\r\n})\r\n\r\nconst fetchUpdateRowSuccess = ({items}) => ({\r\n type: types.UPDATE_ORGANISATION_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst fetchAddRow = (data) => ({\r\n type: types.ADD_ORGANISATION_REQUEST,\r\n payload: data\r\n})\r\n\r\nconst fetchAddRowSuccess = ({items}) => ({\r\n type: types.ADD_ORGANISATION_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst importHierarchyFile = (data) => ({\r\n type: types.ORGANISATION_importHierarchyFile_REQUEST,\r\n payload: data\r\n})\r\n\r\nconst fetchOrganisationRow = ({items}) => ({\r\n type: types.ORGANISATION_importHierarchyFile_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n});\r\n\r\n\r\nconst deleteOrganizationRequest = (data) => ({\r\n type: types.DELETE_ORGANIZATION_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst deleteOrganizationSuccess = ({ items }) => ({\r\n type: types.DELETE_ORGANIZATION_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n});\r\n\r\nconst error = ({error}) => ({\r\n type: types.ORGANISATION_Error,\r\n payload: error\r\n});\r\n\r\nconst reset = () => ({\r\n type: types.RESET_STORE\r\n})\r\n\r\nexport {\r\n getOrganisation,\r\n getOrganisationSuccess,\r\n fetchUpdateRow,\r\n fetchUpdateRowSuccess,\r\n fetchAddRow,\r\n fetchAddRowSuccess,\r\n importHierarchyFile,\r\n fetchOrganisationRow,\r\n deleteOrganizationRequest,\r\n deleteOrganizationSuccess,\r\n error,\r\n reset\r\n}","import React, {useState, useEffect} from \"react\";\r\nimport { useDispatch, useSelector, shallowEqual } from 'react-redux'\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport { Button } from \"react-bootstrap\";\r\nimport { Input, Select } from \"../../../partials/controls\";\r\nimport {\r\n FILE_DATA_TYPE,\r\n FILE_FORMAT,\r\n CefitStatusTitles,\r\n CefitConditionTitles,\r\n} from \"../CefitUiHelpers\";\r\nimport { useMemo } from \"react\";\r\n\r\n// Validation schema\r\nconst CefitEditSchema = Yup.object().shape({\r\n tenantID: Yup.number()\r\n .required('Tenant Type is required'),\r\n fileDataType: Yup.string()\r\n .required(\"File Data Type is required\"),\r\n fileFormat: Yup.string()\r\n .required(\"File Type is required\"),\r\n rowsToSkip: Yup.number()\r\n .min(0, 'Min value 0.')\r\n .required(\"Rows To Skip is required\"),\r\n});\r\n\r\nexport function CefitsEditForm(props) {\r\n const {user} = useSelector((state)=>({\r\n user: state.auth.user\r\n }), shallowEqual);\r\n //const [userHasCreatePermission, setUserHasCreatePermission] = useState(false);\r\n const [userHasUpdatePermission, setUserHasUpdatePermission] = useState(false);\r\n // const [userHasDeletePermission, setUserHasDeletePermission] = useState(false);\r\n useEffect(()=>{\r\n if(user){\r\n if(user.vhUser){\r\n // setUserHasCreatePermission(true); \r\n setUserHasUpdatePermission(true); \r\n // setUserHasDeletePermission(true);\r\n }else{\r\n var fileMappingModule = user.modules?.find(m=>m.moduleName==='FileMapping');\r\n if(fileMappingModule){\r\n var hasCreatePermission = !!fileMappingModule.permissions.some(p=>p.permissionName === 'Create');\r\n var hasUpdatePermission = !!fileMappingModule.permissions.some(p=>p.permissionName === 'Update');\r\n // var hasDeletePermission = !!fileMappingModule.permissions.some(p=>p.permissionName === 'Delete');\r\n // setUserHasCreatePermission(hasCreatePermission); \r\n setUserHasUpdatePermission(hasCreatePermission || hasUpdatePermission); \r\n // setUserHasDeletePermission(hasDeletePermission); \r\n console.log(hasCreatePermission,hasUpdatePermission);\r\n }else{ \r\n // setUserHasCreatePermission(false); \r\n setUserHasUpdatePermission(false); \r\n // setUserHasDeletePermission(false); \r\n } \r\n }\r\n }\r\n },[user]); \r\n function onSubmitHeandle(values) {\r\n // debugger\r\n props.saveCefit(values)\r\n }\r\n return (\r\n <>\r\n {props.cefit && {\r\n onSubmitHeandle(values);\r\n }}\r\n >\r\n {({ handleSubmit, values, errors, touched, setValues }) => (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n {({field})=>(\r\n props.tenantList && \r\n )}\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {({ field }) => (\r\n FILE_DATA_TYPE && \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {({ field }) => (\r\n FILE_FORMAT && \r\n )}\r\n \r\n
    \r\n {<>\r\n
    \r\n \r\n {({ field }) => (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n {\r\n setValues(prevValues => ({\r\n ...prevValues,\r\n [e.target.name]: e.target.value\r\n }))\r\n props.onChangedRowsToSkip(e.target.value)\r\n }}\r\n />\r\n {/* \r\n {({ field }) => (\r\n {\r\n setValues(prevValues => ({\r\n ...prevValues,\r\n [e.target.name]: e.target.value\r\n }))\r\n props.onChangedRowsToSkip(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 {({ field }) => (\r\n
    \r\n \r\n props.handleFileInput(e, setValues)}\r\n />\r\n
    \r\n )} \r\n
    \r\n
    \r\n
    \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-script-url,jsx-a11y/anchor-is-valid,no-loop-func,no-undef,no-restricted-globals,strict,no-unused-vars,no-cond-assign,eqeqeq,no-throw-literal,no-unreachable,no-useless-escape,no-redeclare,no-useless-concat,no-unused-expressions,no-sequences */\r\nimport KTUtil from \"./util\";\r\n\r\n\"use strict\";\r\nvar KTHeader = 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.get(elementId);\r\n var body = KTUtil.get('body');\r\n\r\n if (element === undefined) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\r\n classic: false,\r\n offset: {\r\n mobile: 150,\r\n desktop: 200\r\n },\r\n minimize: {\r\n mobile: false,\r\n desktop: false\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 {KTHeader}\r\n */\r\n construct: function(options) {\r\n if (KTUtil.data(element).has('header')) {\r\n the = KTUtil.data(element).get('header');\r\n } else {\r\n // reset header\r\n Plugin.init(options);\r\n\r\n // build header\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('header', the);\r\n }\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Handles subheader click toggle\r\n * @returns {KTHeader}\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 /**\r\n * Reset header\r\n * @returns {KTHeader}\r\n */\r\n build: function() {\r\n var lastScrollTop = 0;\r\n var eventTriggerState = true;\r\n var viewportHeight = KTUtil.getViewPort().height;\r\n var documentHeight = KTUtil.getDocumentHeight();\r\n\r\n if (the.options.minimize.mobile === false && the.options.minimize.desktop === false) {\r\n return;\r\n }\r\n\r\n window.addEventListener('scroll', function() {\r\n var offset = 0, on, off, st;\r\n\r\n if (KTUtil.isInResponsiveRange('desktop')) {\r\n offset = the.options.offset.desktop;\r\n on = the.options.minimize.desktop.on;\r\n off = the.options.minimize.desktop.off;\r\n } else if (KTUtil.isInResponsiveRange('tablet-and-mobile')) {\r\n offset = the.options.offset.mobile;\r\n on = the.options.minimize.mobile.on;\r\n off = the.options.minimize.mobile.off;\r\n }\r\n\r\n st = KTUtil.getScrollTop();\r\n\r\n if (\r\n (KTUtil.isInResponsiveRange('tablet-and-mobile') && the.options.classic && the.options.classic.mobile) ||\r\n (KTUtil.isInResponsiveRange('desktop') && the.options.classic && the.options.classic.desktop)\r\n ) {\r\n if (st > offset) { // down scroll mode\r\n KTUtil.addClass(body, on);\r\n KTUtil.removeClass(body, off);\r\n\r\n if (eventTriggerState) {\r\n Plugin.eventTrigger('minimizeOn', the);\r\n eventTriggerState = false;\r\n }\r\n } else { // back scroll mode\r\n KTUtil.addClass(body, off);\r\n KTUtil.removeClass(body, on);\r\n\r\n if (eventTriggerState == false) {\r\n Plugin.eventTrigger('minimizeOff', the);\r\n eventTriggerState = true;\r\n }\r\n }\r\n } else {\r\n if (st > offset && lastScrollTop < st) { // down scroll mode\r\n KTUtil.addClass(body, on);\r\n KTUtil.removeClass(body, off);\r\n\r\n if (eventTriggerState) {\r\n Plugin.eventTrigger('minimizeOn', the);\r\n eventTriggerState = false;\r\n }\r\n } else { // back scroll mode\r\n KTUtil.addClass(body, off);\r\n KTUtil.removeClass(body, on);\r\n\r\n if (eventTriggerState == false) {\r\n Plugin.eventTrigger('minimizeOff', the);\r\n eventTriggerState = true;\r\n }\r\n }\r\n\r\n lastScrollTop = st;\r\n }\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 * Register 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 // ** 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 = KTHeader;\r\n}\r\n\r\nexport default KTHeader;\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,no-loop-func,no-undef,no-restricted-globals,strict,no-unused-vars,no-cond-assign,eqeqeq,no-throw-literal,no-unreachable,no-useless-escape,no-redeclare,no-useless-concat,no-unused-expressions,no-sequences */\r\nimport KTUtil from \"./util\";\r\n\r\n\"use strict\";\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.get(elementId);\r\n var body = KTUtil.get('body');\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: 600,\r\n toggleClass: 'kt-scrolltop--on'\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 // handle window scroll\r\n if (navigator.userAgent.match(/iPhone|iPad|iPod/i)) {\r\n window.addEventListener('touchend', function() {\r\n Plugin.handle();\r\n });\r\n\r\n window.addEventListener('touchcancel', function() {\r\n Plugin.handle();\r\n });\r\n\r\n window.addEventListener('touchleave', function() {\r\n Plugin.handle();\r\n });\r\n } else {\r\n window.addEventListener('scroll', function() { \r\n Plugin.handle();\r\n });\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 = window.pageYOffset; // current vertical position\r\n if (pos > the.options.offset) {\r\n KTUtil.addClass(body, the.options.toggleClass);\r\n } else {\r\n KTUtil.removeClass(body, the.options.toggleClass);\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;\r\n","import * as types from './types';\r\n\r\nconst getAllRoles = (data) => ({\r\n type: types.FETCH_ALL_Role,\r\n payload: data,\r\n})\r\n\r\nconst fetchRoleSuccess = ({items}) => ({\r\n type: types.FETCH_Role_SUCCESS,\r\n payload: { \r\n items\r\n }\r\n})\r\n\r\nconst getAllTenantRoles = (data) => ({\r\n type: types.FETCH_ALL_Role_tenant,\r\n payload: data,\r\n})\r\n\r\nconst fetchRoleTenantSuccess = ({items}) => ({\r\n type: types.FETCH_Role_Tenant_SUCCESS,\r\n payload: { \r\n items\r\n }\r\n})\r\n\r\nconst updateRoleRequest = (data) => ({\r\n type: types.UPDATE_Role_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst updateRoleSuccess=({items})=>({\r\n type: types.UPDATE_Role_SUCCESS,\r\n payload: { \r\n items\r\n }\r\n})\r\n\r\nconst addRoleCreateRequest = () => ({\r\n type: types.ADD_Role_create_REQUEST\r\n});\r\n\r\nconst addRoleRequest = (data) => ({\r\n type: types.ADD_Role_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst addRoleSuccess=({additem})=>({\r\n type: types.ADD_Role_SUCCESS,\r\n payload: { \r\n additem\r\n }\r\n\r\n})\r\n\r\nconst deleteRoleRequest=(data)=>({\r\n type: types.DELETE_Role_Request,\r\n payload:data\r\n \r\n})\r\n\r\nconst deleteRoleSuccess = ({ items }) => ({\r\n type: types.DELETE_Role_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst getRoleRequestById = (data) => ({\r\n type: types.FETCH_Role_BY_ID_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst getRoleRequestByIdSuccess = ({additem}) => ({\r\n type: types.FETCH_Role_BY_ID_SUCCESS,\r\n payload: { \r\n additem\r\n }\r\n\r\n})\r\n\r\nconst getRoleRequestByTenantId = (data) => ({\r\n type: types.FETCH_Role_BY_tenantID_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst getRoleRequestByTenantIdSuccess = ({items}) => ({\r\n type: types.FETCH_Role_BY_tenantID_SUCCESS,\r\n payload: { \r\n items\r\n }\r\n\r\n});\r\n\r\nconst error = ({error}) => ({\r\n type: types.Role_Error,\r\n payload: error\r\n});\r\n\r\nconst reset = () => ({\r\n type: types.RESET_STORE\r\n});\r\n\r\nexport {\r\n getAllRoles,\r\n fetchRoleSuccess,\r\n updateRoleRequest,\r\n updateRoleSuccess,\r\n addRoleCreateRequest,\r\n addRoleRequest,\r\n addRoleSuccess,\r\n deleteRoleRequest,\r\n deleteRoleSuccess,\r\n getRoleRequestById,\r\n getRoleRequestByIdSuccess,\r\n getRoleRequestByTenantId,\r\n getRoleRequestByTenantIdSuccess,\r\n getAllTenantRoles,\r\n fetchRoleTenantSuccess,\r\n error,\r\n reset\r\n}","import * as types from './types';\r\n\r\nconst getCompanyPolicyList = () => ({\r\n type: types.FETCH_COMPANYPOLICY,\r\n})\r\n\r\nconst getCompanyPolicyListSuccess = ({items}) => ({\r\n type: types.FETCH_COMPANYPOLICY_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst getCompanyPolicyTenantList = (data) => ({\r\n type: types.FETCH_COMPANYPOLICY_TENANT,\r\n payload: data\r\n})\r\n\r\nconst getCompanyPolicyTenantListSuccess = ({items}) => ({\r\n type: types.FETCH_COMPANYPOLICY_TENANT_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst updateCompanyPolicy = (data) => ({\r\n type: types.SAVE_COMPANYPOLICY,\r\n payload: data\r\n})\r\n\r\nconst updateCompanyPolicySuccess = ({items}) => ({\r\n type: types.SAVE_COMPANYPOLICY_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst addCompanyPolicy = () => ({\r\n type: types.ADD_COMPANYPOLICY\r\n})\r\n\r\nconst addCompanyPolicySuccess = ({items}) => ({\r\n type: types.ADD_COMPANYPOLICY_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst createTenantCompanyPolicy = (data) => ({\r\n type: types.CREATE_COMPANYPOLICY,\r\n payload: data\r\n})\r\n\r\nconst createTenantCompanyPolicySuccess = ({items}) => ({\r\n type: types.CREATE_COMPANYPOLICY_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst companyPolicyLatest = () => ({\r\n type: types.COMPANYPOLICY_LATEST\r\n})\r\n\r\nconst companyPolicyLatestSuccess = ({items}) => ({\r\n type: types.COMPANYPOLICY_LATEST_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst companyPolicyLatestTenant = (data) => ({\r\n type: types.COMPANYPOLICY_LATEST_TENANT,\r\n payload: data\r\n})\r\n\r\nconst companyPolicyLatestTenantSuccess = ({items}) => ({\r\n type: types.COMPANYPOLICY_LATEST_TENANT_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst companyPolicyAccept = (data) => ({\r\n type: types.COMPANYPOLICY_ACCEPT,\r\n payload: data\r\n})\r\n\r\nconst companyPolicyAcceptSuccess = ({items}) => ({\r\n type: types.COMPANYPOLICY_ACCEPT_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst companyPolicyPublish = (data) => ({\r\n type: types.COMPANYPOLICY_PUBLISH,\r\n payload: data\r\n})\r\n\r\nconst companyPolicyPublishSuccess = ({items}) => ({\r\n type: types.COMPANYPOLICY_PUBLISH_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst error = ({error}) => ({\r\n type: types.COMPANYPOLICY_ERROR,\r\n payload: error\r\n});\r\n\r\nconst reset = () => ({\r\n type: types.RESET_STORE\r\n})\r\n\r\n\r\nexport {\r\n getCompanyPolicyList,\r\n getCompanyPolicyListSuccess,\r\n getCompanyPolicyTenantList,\r\n getCompanyPolicyTenantListSuccess,\r\n updateCompanyPolicy,\r\n updateCompanyPolicySuccess,\r\n addCompanyPolicy,\r\n addCompanyPolicySuccess,\r\n createTenantCompanyPolicy,\r\n createTenantCompanyPolicySuccess,\r\n companyPolicyLatest,\r\n companyPolicyLatestSuccess,\r\n companyPolicyLatestTenant,\r\n companyPolicyLatestTenantSuccess,\r\n companyPolicyAccept,\r\n companyPolicyAcceptSuccess,\r\n companyPolicyPublish,\r\n companyPolicyPublishSuccess,\r\n error,\r\n reset\r\n}\r\n","const SheetJSFT = [\r\n\t\"xlsx\"\r\n].map(function(x) { return \".\" + x; }).join(\",\");","import * as types from './types';\r\n\r\nconst getAllTenantIndustries = () => ({\r\n type: types.GET_ALL_TENANTINDUSTRIES,\r\n});\r\n\r\n\r\nconst getActiveTenantIndustries = () => ({\r\n type: types.GET_ACTIVE_TENANTINDUSTRIES,\r\n});\r\n\r\n\r\nconst fetchTenantIndustryLevelsById = (id) => ({\r\n type: types.FETCH_TENANTINDUSTRY_BYID_LEVELS,\r\n payload: id\r\n});\r\n\r\nconst updateTenantIndustryRequest = (data) => ({\r\n type: types.UPDATE_TENANTINDUSTRY_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst updateTenantIndustrySuccess = ({ items }) => ({\r\n type: types.UPDATE_TENANTINDUSTRY_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst addTenantIndustryRequest = (data) => ({\r\n type: types.ADD_TENANTINDUSTRY_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst addTenantIndustrySuccess = ({ items }) => ({\r\n type: types.ADD_TENANTINDUSTRY_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst deleteTenantIndustryRequest = (data) => ({\r\n type: types.DELETE_TENANTINDUSTRY_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst deleteTenantIndustrySuccess = ({ items }) => ({\r\n type: types.DELETE_TENANTINDUSTRY_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst fetchTenantIndustryLevelsAll = () => ({\r\n type: types.FETCH_TENANTINDUSTRY_LEVELS,\r\n})\r\n\r\nconst fetchTenantIndustryLevelsSuccess = ({items}) => ({\r\n type: types.FETCH_TENANTINDUSTRY_LEVELS_SUCCESS,\r\n payload: { \r\n items\r\n }\r\n})\r\n\r\nconst updateTenantIndustryLevelsRequest = (data) => ({\r\n type: types.UPDATE_TENANTINDUSTRY_LEVELS_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst updateTenantIndustryLevelsSuccess = ({ items }) => ({\r\n type: types.UPDATE_TENANTINDUSTRY_LEVELS_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst addTenantIndustryLevelsRequest = (data) => ({\r\n type: types.ADD_TENANTINDUSTRY_LEVELS_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst addTenantIndustryLevelsSuccess = ({ items }) => ({\r\n type: types.ADD_TENANTINDUSTRY_LEVELS_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst deleteTenantIndustryLevelsRequest = (data) => ({\r\n type: types.DELETE_TENANTINDUSTRY_LEVELS_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst deleteTenantIndustryLevelsSuccess = ({ items }) => ({\r\n type: types.DELETE_TENANTINDUSTRY_LEVELS_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst fetchLevelsTypeAll = (data) => ({\r\n type: types.FETCH_LEVELS_TYPE,\r\n payload: data\r\n})\r\n\r\nconst fetchLevelsTypeSuccess = ({items}) => ({\r\n type: types.FETCH_LEVELS_TYPE_SUCCESS,\r\n payload: { \r\n items\r\n }\r\n})\r\n\r\nconst updateLevelsTypeRequest = (data) => ({\r\n type: types.UPDATE_LEVELS_TYPE_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst updateLevelsTypeSuccess = ({ items }) => ({\r\n type: types.UPDATE_LEVELS_TYPE_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst addLevelsTypeRequest = (data) => ({\r\n type: types.ADD_LEVELS_TYPE_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst addLevelsTypeSuccess = ({ items }) => ({\r\n type: types.ADD_LEVELS_TYPE_REQUEST,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst deleteLevelsTypeRequest = (data) => ({\r\n type: types.DELETE_LEVELS_TYPE_REQUEST,\r\n payload: data,\r\n});\r\n\r\nconst deleteLevelsTypeSuccess = ({ items }) => ({\r\n type: types.DELETE_LEVELS_TYPE_SUCCESS,\r\n payload: {\r\n items\r\n }\r\n})\r\n\r\nconst error = ({error}) => ({\r\n type: types.TENANTINDUSTRY_ERROR,\r\n payload: error\r\n});\r\n\r\nconst reset = () => ({\r\n type: types.RESET_STORE\r\n})\r\n\r\nexport {\r\n getAllTenantIndustries,\r\n getActiveTenantIndustries,\r\n updateTenantIndustryRequest,\r\n updateTenantIndustrySuccess,\r\n addTenantIndustryRequest,\r\n addTenantIndustrySuccess,\r\n deleteTenantIndustryRequest,\r\n deleteTenantIndustrySuccess,\r\n fetchTenantIndustryLevelsAll,\r\n fetchTenantIndustryLevelsSuccess,\r\n updateTenantIndustryLevelsRequest,\r\n updateTenantIndustryLevelsSuccess,\r\n addTenantIndustryLevelsRequest,\r\n addTenantIndustryLevelsSuccess,\r\n deleteTenantIndustryLevelsRequest,\r\n deleteTenantIndustryLevelsSuccess,\r\n fetchLevelsTypeAll,\r\n fetchLevelsTypeSuccess,\r\n updateLevelsTypeRequest,\r\n updateLevelsTypeSuccess,\r\n addLevelsTypeRequest,\r\n addLevelsTypeSuccess,\r\n deleteLevelsTypeRequest,\r\n deleteLevelsTypeSuccess,\r\n fetchTenantIndustryLevelsById,\r\n error,\r\n reset\r\n}"],"sourceRoot":""}