{"version":3,"file":"static/js/index.5c8aa41a9b3c8ff1.js","sources":["webpack://fason-surec-takipv3/./src/auth/local-storage-service.ts","webpack://fason-surec-takipv3/./src/models/dto/excel.ts","webpack://fason-surec-takipv3/./src/models/enum/language.ts","webpack://fason-surec-takipv3/./src/auth/interceptors.ts","webpack://fason-surec-takipv3/./src/redux/modals/reducers.tsx","webpack://fason-surec-takipv3/./src/redux/spinner/reducers.tsx","webpack://fason-surec-takipv3/./src/redux/root-reducer.tsx","webpack://fason-surec-takipv3/./src/redux/spinner/types.tsx","webpack://fason-surec-takipv3/./src/auth/redirect.tsx","webpack://fason-surec-takipv3/./src/components/common/no-match-404.tsx","webpack://fason-surec-takipv3/./src/components/default_screens/dashboard.tsx","webpack://fason-surec-takipv3/./src/components/default_screens/forgot-password.tsx","webpack://fason-surec-takipv3/./src/components/default_screens/login.tsx","webpack://fason-surec-takipv3/./src/components/default_screens/reset-password.tsx","webpack://fason-surec-takipv3/./src/services/translation-service.ts","webpack://fason-surec-takipv3/./src/services/_singletons.ts","webpack://fason-surec-takipv3/./src/services/excel-service.ts","webpack://fason-surec-takipv3/./src/components/modals/import-mapped-excel-runtime/import-mapped-excel-runtime.tsx","webpack://fason-surec-takipv3/./src/routes/private-route.tsx","webpack://fason-surec-takipv3/./src/routes/route.tsx","webpack://fason-surec-takipv3/./src/components/default_screens/kuika-info.tsx","webpack://fason-surec-takipv3/./src/components/mfe/mfe-login.tsx","webpack://fason-surec-takipv3/./src/components/msal/msal-auth-config.ts","webpack://fason-surec-takipv3/./src/components/msal/msal-login.tsx","webpack://fason-surec-takipv3/./src/components/msal/msal-redirect.tsx","webpack://fason-surec-takipv3/./src/screens/wf-mail-interaction.tsx","webpack://fason-surec-takipv3/./src/routes/router.tsx","webpack://fason-surec-takipv3/./src/app-types/kuika-auth-app.tsx","webpack://fason-surec-takipv3/./src/services/session-service.ts","webpack://fason-surec-takipv3/./src/bootstrapper.tsx","webpack://fason-surec-takipv3/./src/components/dynamic-styled-component-wrapper.tsx","webpack://fason-surec-takipv3/./src/index.tsx","webpack://fason-surec-takipv3/./src/web-component-init.tsx","webpack://fason-surec-takipv3/./src/models/dto/login.dto.ts","webpack://fason-surec-takipv3/./src/models/enum/auth.ts","webpack://fason-surec-takipv3/./src/redux/modals/actions.tsx","webpack://fason-surec-takipv3/./src/redux/modals/types.tsx","webpack://fason-surec-takipv3/./src/models/dto/save-application-request.dto.ts","webpack://fason-surec-takipv3/./src/services/application-service.ts","webpack://fason-surec-takipv3/./src/services/helper-service.ts","webpack://fason-surec-takipv3/./src/services/user-service.ts","webpack://fason-surec-takipv3/./src/services/workflow-service.ts","webpack://fason-surec-takipv3/./src/shared/hoc/with-common-events.tsx","webpack://fason-surec-takipv3/./src/shared/hoc/with-context.tsx","webpack://fason-surec-takipv3/./src/shared/hoc/with-double-click-edit.tsx","webpack://fason-surec-takipv3/./src/shared/hoc/with-form.tsx","webpack://fason-surec-takipv3/./src/shared/hoc/with-google-login.tsx","webpack://fason-surec-takipv3/./src/shared/hoc/with-history.tsx","webpack://fason-surec-takipv3/./src/shared/utilty/screen-input-helper.tsx","webpack://fason-surec-takipv3/./src/shared/hoc/with-screen-input.tsx","webpack://fason-surec-takipv3/./src/shared/utilty/component-functions.ts","webpack://fason-surec-takipv3/./src/shared/utilty/constants.tsx","webpack://fason-surec-takipv3/./src/shared/utilty/kuika-react-helper.ts","webpack://fason-surec-takipv3/./src/shared/utilty/kuika-app-manager.tsx","webpack://fason-surec-takipv3/./src/shared/utilty/main-functions.ts","webpack://fason-surec-takipv3/./src/models/dto/workflow-task.dto.ts","webpack://fason-surec-takipv3/./src/services/files-download-service.ts","webpack://fason-surec-takipv3/./src/services/iyzico-service.ts","webpack://fason-surec-takipv3/./src/services/language-service.ts","webpack://fason-surec-takipv3/./src/services/notification-service.ts","webpack://fason-surec-takipv3/./src/services/stripe-service.ts","webpack://fason-surec-takipv3/./src/shared/utilty/cryptojs-helper.ts","webpack://fason-surec-takipv3/./src/shared/utilty/react-system-functions.tsx"],"sourcesContent":["import { ApplicationService } from \"../services/application-service\";\n\ndeclare let window: any;\n\nconst LocalStorageService = (() => {\n let _service: any;\n function _getService(this: {\n getService: () => any;\n setToken: (tokenObj: any) => void;\n getAccessToken: () => string | null;\n getRefreshToken: () => string | null;\n clearToken: () => void;\n }) {\n if (!_service) {\n _service = this;\n return _service;\n }\n return _service;\n }\n function _setToken(tokenObj: any) {\n localStorage.setItem(\"tokenString\", tokenObj.tokenString);\n localStorage.setItem(\"refreshToken\", tokenObj.refreshToken);\n }\n\n function _setVerificationStatus(status: any) {\n localStorage.setItem(\"isVerificationValid\", status);\n }\n function _getVerificationStatus() {\n return localStorage.getItem(\"isVerificationValid\");\n }\n\n function _setResetPasswordStatus(status) {\n localStorage.setItem(\"reset_pw_status\", status);\n }\n\n function _getResetPasswordStatus() {\n return localStorage.getItem(\"reset_pw_status\");\n }\n\n function _setLoginStatus(status: any) {\n localStorage.setItem(\"login_status\", status);\n }\n function _getLoginStatus() {\n return localStorage.getItem(\"login_status\");\n }\n function _setUserLanguage(tokenObj: any) {\n if (tokenObj.language) {\n localStorage.setItem(\"ml\", tokenObj.language);\n }\n }\n function _setForgotPasswordEmail(email: string) {\n localStorage.setItem(\"forgotPasswordEmail\", email);\n }\n function _setCurrentDomain(domainName: string) {\n // localStorage.setItem(\"currentDomain\", domainName);\n window.currentDomain = domainName;\n // window.currentDomain = \"Kuika\";\n }\n function _getForgotPasswordEmail() {\n return localStorage.getItem(\"forgotPasswordEmail\");\n }\n function _getAccessToken() {\n return localStorage.getItem(\"tokenString\");\n }\n function _getRefreshToken() {\n return localStorage.getItem(\"refreshToken\");\n }\n function _getCurrentDomain() {\n // window.currentDomain = \"Kuika\";\n // return \"Kuika\";\n return window.currentDomain;\n // return localStorage.getItem(\"currentDomain\");\n }\n\n function _setVerificationUserName(userName) {\n localStorage.setItem(\"verificationUserName\", userName);\n }\n\n function _getVerificationUserName() {\n return localStorage.getItem(\"verificationUserName\");\n }\n\n function _clearSessionStorage() {\n const applications = structuredClone(ApplicationService.getAllApplicationsFromSessionStorageRaw());\n\n sessionStorage.clear();\n\n if (applications) {\n sessionStorage.setItem(\"all-applications\", applications.allApplications);\n sessionStorage.setItem(\"front-end-applications\", applications.frontEndApplications);\n }\n }\n\n function _clearToken() {\n localStorage.removeItem(\"tokenString\");\n localStorage.removeItem(\"refreshToken\");\n localStorage.removeItem(\"forgotPasswordEmail\");\n localStorage.removeItem(\"verificationUserName\");\n _clearSessionStorage();\n }\n\n return {\n getService: _getService,\n setToken: _setToken,\n setCurrentDomain: _setCurrentDomain,\n getAccessToken: _getAccessToken,\n getRefreshToken: _getRefreshToken,\n clearSessionStorage: _clearSessionStorage,\n clearToken: _clearToken,\n setForgotPasswordEmail: _setForgotPasswordEmail,\n getForgotPasswordEmail: _getForgotPasswordEmail,\n getCurrentDomain: _getCurrentDomain,\n setUserLanguage: _setUserLanguage,\n setLoginStatus: _setLoginStatus,\n getLoginStatus: _getLoginStatus,\n getVerificationStatus: _getVerificationStatus,\n setVerificationStatus: _setVerificationStatus,\n setResetPasswordStatus: _setResetPasswordStatus,\n getResetPasswordStatus: _getResetPasswordStatus,\n setVerificationUserName: _setVerificationUserName,\n getVerificationUserName: _getVerificationUserName\n };\n})();\nexport default LocalStorageService;\n","export interface IImportMappedExcelColumnMapDefinition {\n isEnabled: boolean;\n source: string;\n alias: string;\n primaryKey: string | null;\n}\n\nexport interface IImportMappedExcelColumnMap extends IImportMappedExcelColumnMapDefinition {\n target?: string;\n defaultValue?: string;\n}\n\nexport interface IImportMappedExcelRequest {\n datasourceId: string;\n tableName: string;\n primaryKey: string;\n mappedColumns: IImportMappedExcelColumnMap[];\n columns: string[];\n data: object[];\n language: string;\n}\n\nexport enum ImportMappedExcelStatus {\n Success,\n Error,\n PartialSuccess,\n Queued\n}\n\nexport interface IImportMappedExcelResponse {\n status: ImportMappedExcelStatus;\n errorCount: number;\n successCount: number;\n totalCount: number;\n rowsInserted: number;\n rowsUpdated: number;\n erroredRows: object[];\n rowsWithValidationErrors: object[];\n}\n","export enum ELanguage {\n EN = \"en_US\",\n FR = \"fr_FR\",\n TR = \"tr_TR\"\n}\n","import axios from \"axios\";\nimport HelperService from \"../services/helper-service\";\nimport { KuikaAppManager } from \"../shared/utilty/kuika-app-manager\";\nimport LocalStorageService from \"./local-storage-service\";\n\ndeclare const window: any;\n\nconst backendUrl = KuikaAppManager.GetBackendUrl();\nlet isTokenRefreshing = false;\nlet failedQueue = [] as any;\n// LocalstorageService\nconst localStorageService = LocalStorageService.getService();\n\nconst processQueue = (error, token = null) => {\n failedQueue.forEach((promise) => {\n if (error) {\n promise.reject(error);\n } else {\n promise.resolve(token);\n }\n });\n failedQueue = [];\n};\n\n// Add a request interceptor\naxios.interceptors.request.use(\n (config) => {\n const urlItems = document.location.pathname.substring(1).split(/\\//);\n const token = localStorageService.getAccessToken();\n const language = localStorage.getItem(\"ml\");\n if (language && language.length) {\n config.headers.cultureName = language;\n }\n if (token) {\n config.headers.Authorization = `Bearer ${token}`;\n config.headers.domainName = urlItems[0];\n }\n if (window.kuika && window.kuika?.project && window.kuika?.project.domainId) {\n config.headers.domainId = window.kuika?.project.domainId;\n }\n // config.headers['Content-Type'] = 'application/json';\n return config;\n },\n (error) => {\n Promise.reject(error);\n }\n);\n\n// Add a response interceptor\naxios.interceptors.response.use(\n (response) => {\n return response;\n },\n (error) => {\n const originalRequest = error.config;\n\n if (!error.response) {\n return Promise.reject(error);\n }\n\n if (error.response.status === 401 && originalRequest.url === `${backendUrl}/auth/login`) {\n return Promise.reject(error);\n }\n\n if (error.response.status === 401 && !originalRequest._retry) {\n // Starting to try refresh token\n originalRequest._retry = true;\n if (isTokenRefreshing === false) {\n // Token refreshing.\n isTokenRefreshing = true;\n const refreshToken = localStorageService.getRefreshToken();\n if (refreshToken === \"null\" || refreshToken === \"\" || refreshToken === undefined || refreshToken === null) {\n localStorageService.clearToken();\n // const language = localStorage.getItem(\"ml\");\n // let translatedTitle = \"\";\n // switch (language) {\n // case \"fr_FR\":\n // translatedTitle = \"Pour ce faire, vous devez vous connecter au système\";\n // break;\n // case \"tr_TR\":\n // translatedTitle = \"Bu işlemi yapabilmeniz için sisteme giriş yapmanız gerkmektedir\";\n // break;\n // case \"en_US\":\n // translatedTitle = \"To do this, you need to sign in to the system\";\n // break;\n // default:\n // translatedTitle = \"To do this, you need to sign in to the system\";\n // break;\n // }\n // KMainFunctions.displayWarningNotification(translatedTitle);\n // HelperService.gotoLogin(); buraya geldiğinde zaten logine redirect etmiş olduğu için kapatıldı farklı case'ler varsa gözden geçirilmeli\n return;\n }\n return axios\n .post(`${backendUrl}/auth/refreshtoken`, {\n refreshtoken: refreshToken\n })\n .then((res) => {\n // Token refreshed.\n isTokenRefreshing = false;\n if (res && res.status === 200) {\n localStorageService.setToken(res.data);\n axios.defaults.headers.common.Authorization = `Bearer ${localStorageService.getAccessToken()}`;\n processQueue(null, res.data.token);\n return axios(originalRequest);\n }\n })\n .catch((e) => {\n localStorageService.clearToken();\n HelperService.gotoLogin();\n });\n }\n // Token already refreshing, requests adding to queue.\n return new Promise((resolve, reject) => {\n failedQueue.push({ resolve, reject });\n })\n .then((token) => {\n originalRequest.headers.Authorization = `Bearer ${token}`;\n return axios(originalRequest);\n })\n .catch((err) => {\n return Promise.reject(err);\n });\n }\n\n if (error.response.status >= 400 && error.config.url.indexOf(\"refreshtoken\") > -1) {\n localStorageService.clearToken();\n HelperService.gotoLogin();\n }\n return Promise.reject(error);\n }\n);\n","import { IImportMappedExcelColumnMapDefinition } from \"../../models/dto/excel\";\nimport {\n HIDE_IMPORT_MAPPED_EXCEL_MODAL,\n HIDE_IYZICO_DRAWER,\n HIDE_PHOTO_TAKE,\n HIDE_STRIPE_DRAWER,\n ImportMappedExcelModalActionTypes,\n IyzicoDrawerActionTypes,\n PhotoTakeActionTypes,\n PhotoTakeState,\n SHOW_IMPORT_MAPPED_EXCEL_MODAL,\n SHOW_IYZICO_DRAWER,\n SHOW_PHOTO_TAKE,\n SHOW_STRIPE_DRAWER,\n StripeDrawerActionTypes\n} from \"./types\";\n\nconst initialState: PhotoTakeState = {\n visible: false\n};\n\nconst initialStripeState: StripeDrawerState = {\n visible: false,\n payload: undefined,\n callback: undefined,\n screen: undefined,\n futureUse: undefined\n};\nconst initialIyzicoState: IyzicoDrawerState = {\n visible: false,\n payload: undefined,\n callback: undefined,\n screen: undefined\n};\nconst initialImportMappedExcelModalState: ImportMappedExcelModalState = {\n visible: false,\n dsId: null,\n tableName: null,\n primaryKey: null,\n columnMapping: []\n};\ninterface StripeDrawerState {\n visible: boolean;\n payload: any;\n callback: any;\n screen: any;\n futureUse: any;\n}\ninterface IyzicoDrawerState {\n visible: boolean;\n payload: any;\n callback: any;\n screen: any;\n}\ninterface ImportMappedExcelModalState {\n visible: boolean;\n dsId: string | null;\n tableName: string | null;\n primaryKey: string | null;\n columnMapping: IImportMappedExcelColumnMapDefinition[];\n}\n\nexport const photoTakeReducer = (state = initialState, action: PhotoTakeActionTypes): PhotoTakeState => {\n switch (action.type) {\n case SHOW_PHOTO_TAKE:\n return {\n visible: true\n };\n case HIDE_PHOTO_TAKE:\n return {\n visible: false\n };\n default:\n return state;\n }\n};\nexport const stripeDrawerReducer = (state = initialStripeState, action: StripeDrawerActionTypes): StripeDrawerState => {\n switch (action.type) {\n case SHOW_STRIPE_DRAWER:\n return {\n visible: true,\n payload: action.payload,\n callback: action.callback,\n screen: action.screen,\n futureUse: action.futureUse\n };\n case HIDE_STRIPE_DRAWER:\n return {\n visible: false,\n payload: action.payload,\n callback: action.callback,\n screen: action.screen,\n futureUse: state.futureUse\n };\n default:\n return state;\n }\n};\n\nexport const iyzicoDrawerReducer = (state = initialIyzicoState, action: IyzicoDrawerActionTypes): IyzicoDrawerState => {\n switch (action.type) {\n case SHOW_IYZICO_DRAWER:\n return {\n visible: true,\n payload: action.payload,\n callback: action.callback,\n screen: action.screen\n };\n case HIDE_IYZICO_DRAWER:\n return {\n visible: false,\n payload: action.payload,\n callback: action.callback,\n screen: action.screen\n };\n default:\n return state;\n }\n};\n\nexport const importMappedExcelModalReducer = (\n state = initialImportMappedExcelModalState,\n action: ImportMappedExcelModalActionTypes\n): ImportMappedExcelModalState => {\n switch (action.type) {\n case SHOW_IMPORT_MAPPED_EXCEL_MODAL:\n return {\n visible: true,\n dsId: action.dsId,\n tableName: action.tableName,\n primaryKey: action.primaryKey,\n columnMapping: action.columnMapping\n };\n case HIDE_IMPORT_MAPPED_EXCEL_MODAL:\n return {\n visible: false,\n dsId: null,\n tableName: null,\n primaryKey: null,\n columnMapping: []\n };\n default:\n return state;\n }\n};\n","import { HIDE_SPINNER, SHOW_SPINNER, SpinnerActionTypes, SpinnerState } from \"./types\";\n\nconst initialState: SpinnerState = {\n spinnerCount: 0\n};\n\nexport const spinnerReducer = (state = initialState, action: SpinnerActionTypes): SpinnerState => {\n switch (action.type) {\n case SHOW_SPINNER:\n return {\n spinnerCount: state.spinnerCount + 1\n };\n case HIDE_SPINNER:\n let count = state.spinnerCount;\n if (count > 0) count--;\n return {\n spinnerCount: count\n };\n default:\n return state;\n }\n};\n","import { combineReducers, createStore } from \"redux\";\nimport {\n importMappedExcelModalReducer,\n iyzicoDrawerReducer,\n photoTakeReducer,\n stripeDrawerReducer\n} from \"./modals/reducers\";\nimport { spinnerReducer } from \"./spinner/reducers\";\n\nconst rootReducer = combineReducers({\n spinnerReducer,\n photoTakeReducer,\n stripeDrawerReducer,\n iyzicoDrawerReducer,\n importMappedExcelModalReducer\n});\n\nexport type AppState = ReturnType;\n\nconst globalStore = createStore(rootReducer);\nconst configureStore = () => globalStore;\nexport default configureStore;\n","export const SHOW_SPINNER = \"SHOW_SPINNER\";\nexport const HIDE_SPINNER = \"HIDE_SPINNER\";\n\nexport interface SpinnerState {\n spinnerCount: number;\n}\n\ninterface ShowSpinnerAction {\n type: typeof SHOW_SPINNER;\n meta: {\n params: {};\n };\n}\n\ninterface HideSpinnerAction {\n type: typeof HIDE_SPINNER;\n meta: {\n params: {};\n };\n}\n\nexport type SpinnerActionTypes = ShowSpinnerAction | HideSpinnerAction;\n","import * as React from \"react\";\nimport { UserService } from \"../services/user-service\";\nimport { KNavigator, withHistory } from \"../shared/hoc/with-history\";\nimport { KMainFunctions } from \"../shared/utilty/main-functions\";\nimport LocalStorageService from \"./local-storage-service\";\n\ninterface IRedirectProps {\n navigator: KNavigator;\n}\n\ndeclare let window: any;\n\nclass Redirect extends React.PureComponent {\n async componentDidMount() {\n // Import anonymous starting screen here, if required\n try {\n if (LocalStorageService.getRefreshToken() === null) {\n this.props.navigator.gotoLogin();\n return;\n }\n if (window.userInfo === undefined) {\n await UserService.GetUserInfo();\n }\n this.props.navigator.gotoStartingScreen();\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n }\n }\n\n render() {\n return <>;\n }\n}\n\nconst redirect = withHistory(Redirect);\nexport { redirect as Redirect };\n","import { Button, Result } from \"antd/es\";\nimport * as React from \"react\";\nimport { KNavigator, withHistory } from \"../../shared/hoc/with-history\";\n\ninterface ILogoState {}\n\ninterface ILogoProps {\n navigator: KNavigator;\n}\n\nclass NoMatch404 extends React.PureComponent {\n componentDidMount() {\n setTimeout(() => {\n this.props.navigator.gotoRoot();\n }, 3000);\n }\n\n render() {\n return (\n <>\n Back Home}\n />\n \n );\n }\n}\n\nconst noMatch404 = withHistory(NoMatch404);\nexport { noMatch404 as NoMatch404 };\n","import { Button } from \"antd/es\";\nimport * as React from \"react\";\nimport { UserService } from \"../../services/user-service\";\nimport { KNavigator, withHistory } from \"../../shared/hoc/with-history\";\n\ninterface IDashboardState {}\n\ninterface IDashboardProps {\n navigator: KNavigator;\n}\n\nclass Dashboard extends React.PureComponent {\n render() {\n return (\n <>\n
Dashboard Screen
\n \n \n );\n }\n}\n\nconst dashboard = withHistory(Dashboard);\nexport { dashboard as Dashboard };\n","import { Button, Form, Input } from \"antd/es\";\nimport * as React from \"react\";\nimport { UserService } from \"../../services/user-service\";\nimport { KNavigator, withHistory } from \"../../shared/hoc/with-history\";\nimport { KMainFunctions } from \"../../shared/utilty/main-functions\";\n\ninterface IForgotPasswordState {\n forgotPasswordErrorMessage: string;\n isCheckYourMailOpen: boolean;\n isLoading: boolean;\n}\n\ninterface IForgotPasswordProps {\n navigator: KNavigator;\n}\n\nclass ForgotPassword extends React.PureComponent {\n constructor(props) {\n super(props);\n this.state = { forgotPasswordErrorMessage: \"\", isCheckYourMailOpen: false, isLoading: false };\n }\n\n goToSignIn = () => {\n this.props.navigator.gotoLogin();\n };\n\n onSubmit = async (data: any) => {\n this.setState({ isLoading: true });\n try {\n UserService.ForgotPassword(data).then(\n (res) => {\n if (res && res.status === 200) {\n this.setState({ forgotPasswordErrorMessage: \"\", isCheckYourMailOpen: true, isLoading: false });\n alert(\"Your password reset request has been received. We will send you an email if your email is correct.\");\n }\n },\n (error) => {\n if (error.response.data.message) {\n this.setState({\n forgotPasswordErrorMessage: error.response.data.message,\n isLoading: false\n });\n }\n }\n );\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n }\n };\n\n render() {\n return (\n
\n
\n
\n \n \n \n \n \n
\n {this.state.isCheckYourMailOpen ? (\n
\n
\n \n \n \n \n \n \n \n \n Check your email\n \n \n We have sent a password recover instructions to your email.\n \n
\n this.goToSignIn()}>\n Return sign in\n \n
\n
\n
\n
\n ) : (\n
\n Reset your password\n
\n
\n \n \n \n \n \n }\n placeholder=\"E-Mail\"\n />\n \n {this.state.forgotPasswordErrorMessage !== \"\" ? (\n
\n {this.state.forgotPasswordErrorMessage}\n
\n ) : (\n
\n Error\n
\n )}\n \n \n CONTINUE\n \n \n
\n this.goToSignIn()}>\n Return sign in\n \n
\n \n
\n
\n )}\n
\n
\n \n Privacy\n \n \n Terms\n \n
\n \n );\n }\n}\n\nconst forgotPassword = withHistory(ForgotPassword);\nexport { forgotPassword as ForgotPassword };\n","import { Button, Form, Input } from \"antd/es\";\nimport * as React from \"react\";\nimport { UserService } from \"../../services/user-service\";\nimport { KNavigator, withHistory } from \"../../shared/hoc/with-history\";\nimport { KMainFunctions } from \"../../shared/utilty/main-functions\";\n\ndeclare let window: any;\n\ninterface ILoginState {\n loginErrorMessage: string;\n isLoading: boolean;\n}\n\ninterface ILoginProps {\n navigator: KNavigator;\n from: any;\n}\n\nclass Login extends React.PureComponent {\n constructor(props) {\n super(props);\n this.state = { loginErrorMessage: \"\", isLoading: false };\n }\n\n goToSignUp = () => {\n this.props.navigator.gotoSignup();\n };\n\n goToForgotPassword = () => {\n this.props.navigator.gotoForgotPassword();\n };\n\n onSubmit = async (data: any) => {\n this.setState({ isLoading: true });\n try {\n UserService.Login(data).then(\n (res) => {\n this.setState({ loginErrorMessage: res?.data?.message });\n if (res && res.status === 200) {\n if (res?.data?.forceResetPassword === true) {\n this.props.navigator.goToResetPasswordScreen();\n } else if (this.props?.from?.pathname?.length > 0) {\n this.props.navigator.gotoUrl(this.props.from.pathname);\n } else {\n this.props.navigator.gotoStartingScreen();\n }\n this.setState({ isLoading: false });\n }\n },\n (error) => {\n if (error.response.data.message) {\n this.setState({ loginErrorMessage: error.response.data.message, isLoading: false });\n }\n }\n );\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n this.setState({ isLoading: false });\n }\n };\n\n render() {\n return (\n
\n
\n
\n
\n
\n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n
\n

Drag-and-drop elements

\n Prepare quick screen designs by drag-and-drop ready-to-use elements.\n
\n
\n
\n \n \n \n\n
\n

Add actions

\n Determine how elements should behave on the application.\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n
\n

Connect to database

\n Use Kuika’s managed database or an existing MSSQL database.\n
\n
\n
\n \n \n \n \n \n \n \n \n\n
\n

Publish mobile and web apps

\n \n Publish apps to the web or upload apps to stores as native iOS or Android.\n \n
\n
\n
\n
\n Sign in to your account\n
\n this.setState({ loginErrorMessage: \"\" })}\n >\n \n \n \n \n \n }\n placeholder=\"Username\"\n />\n \n \n \n \n \n \n \n \n \n }\n iconRender={(visible) =>\n visible ? (\n \n \n \n \n \n ) : (\n \n \n \n \n \n \n )\n }\n placeholder=\"Password\"\n />\n \n
{this.state.loginErrorMessage ?? \"\"}
\n \n \n Sign in\n \n
\n this.goToForgotPassword()}>\n Forgot your password?\n \n
\n
\n
\n this.goToSignUp()}>\n Don't have an account?\n Sign up\n \n
\n \n
\n
\n
\n
\n \n Privacy\n \n \n Terms\n \n
\n
\n );\n }\n}\n\nconst login = withHistory(Login);\nexport { login as Login };\n","import { Button, Form, Input, Tooltip } from \"antd/es\";\nimport * as React from \"react\";\nimport { IResetPasswordWithTokenDto } from \"../../models/dto/reset-password-with-token\";\nimport { UserService } from \"../../services/user-service\";\nimport { KNavigator, withHistory } from \"../../shared/hoc/with-history\";\nimport { KMainFunctions } from \"../../shared/utilty/main-functions\";\n\ninterface IResetPasswordState {\n resetPasswordErrorMessage: string;\n}\n\ninterface IResetPasswordProps {\n navigator: KNavigator;\n}\n\nclass ResetPassword extends React.PureComponent {\n private tokenString = \"\";\n\n constructor(props) {\n super(props);\n this.state = { resetPasswordErrorMessage: \"\" };\n this.getToken();\n }\n\n componentDidMount = () => {\n if (this.tokenString === \"\") {\n this.setState({ resetPasswordErrorMessage: \"Invalid token.\" });\n }\n };\n\n getToken = () => {\n if (\n this.props &&\n this.props.navigator.history &&\n this.props.navigator.history.location &&\n this.props.navigator.history.location.search\n ) {\n let idx = this.props.navigator.history.location.search.indexOf(\"token=\");\n const idx2 = this.props.navigator.history.location.search.indexOf(\"&username\");\n if (idx > -1 && idx2 > -1) {\n idx += 6;\n const token = this.props.navigator.history.location.search.substring(idx, idx2);\n this.tokenString = token;\n }\n }\n };\n\n goToSignIn = () => {\n this.props.navigator.gotoLogin();\n };\n\n onSubmit = async (data: any) => {\n try {\n if (data.confirmPassword !== data.NewPassword) {\n this.setState({\n resetPasswordErrorMessage: \"Your second password doesn't match with the first one.\"\n });\n return;\n }\n const formData = data as IResetPasswordWithTokenDto;\n formData.token = this.tokenString;\n UserService.ResetPassword(formData).then(\n (res) => {\n if (res && res.status === 200) {\n this.setState({ resetPasswordErrorMessage: \"\" });\n this.goToSignIn();\n }\n },\n (error) => {\n if (error.response.data.message) {\n this.setState({\n resetPasswordErrorMessage: error.response.data.message\n });\n }\n }\n );\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n }\n };\n\n render() {\n return (\n <>\n
\n
\n \"kuika\"\n
\n \n Set New Password\n {UserService.getEmailToResetPassword() !== null && (\n \n for {UserService.getEmailToResetPassword()}\n \n )}\n \n
\n \n \n \n \n \n \n \n \n \n \n \n }\n type=\"password\"\n placeholder=\" Password\"\n />\n \n \n \n \n \n \n \n \n \n \n \n \n }\n type=\"password\"\n placeholder=\" Confirm password\"\n />\n \n \n \n Set new password\n \n \n \n
\n this.goToSignIn()}>\n Sign in\n \n
\n \n Terms of services\n \n {this.state.resetPasswordErrorMessage !== \"\" && (\n \n
{this.state.resetPasswordErrorMessage}
\n
\n )}\n
\n \n );\n }\n}\n\nconst resetPassword = withHistory(ResetPassword);\nexport { resetPassword as ResetPassword };\n","import * as _ from \"lodash\";\nimport { ELanguage } from \"../models/enum/language\";\nimport translations from \"../shared/json/translations.json\";\n\nclass TranslationService {\n private readonly translations = translations;\n\n private readonly fallbackLanguage: ELanguage = ELanguage.EN;\n\n private _translate(key: string, language?: ELanguage): string {\n const languageToBeUsed: string = language || localStorage.getItem(\"ml\") || this.fallbackLanguage;\n\n return TranslationService.ensureString(\n key,\n _.get(\n this.translations,\n `${languageToBeUsed}.${key}`,\n this.fallbackLanguage !== languageToBeUsed ? this.translate(key, this.fallbackLanguage) : key\n )\n );\n }\n\n public translate(key: string, language?: ELanguage, values?: Record): string {\n if (!values) {\n return this._translate(key, language);\n }\n\n return TranslationService.interpolate(this._translate(key, language), values);\n }\n\n public static interpolate(text: string, values: Record): string {\n const regex = /{{\\s?(\\w+)\\s?}}/g;\n return text.replace(regex, (match, key) => values[key]);\n }\n\n public static ensureString(key: string, value: unknown): string {\n if (typeof value === \"string\") {\n return value;\n }\n\n return key;\n }\n}\n\nexport default TranslationService;\n","import TranslationService from \"./translation-service\";\n\n// TODO: Ilyas: Injection container\n// TODO: Ilyas: inject() function and @inject() decorator\n\nexport const translationService = new TranslationService();\n","import Axios, { AxiosResponse } from \"axios\";\nimport { IImportMappedExcelRequest, IImportMappedExcelResponse } from \"../models/dto/excel\";\nimport { KuikaAppManager } from \"../shared/utilty/kuika-app-manager\";\n\nclass ExcelService {\n private static readonly BACKEND_URL: string = KuikaAppManager.GetBackendUrl();\n\n public static async ImportMappedExcel(\n request: IImportMappedExcelRequest\n ): Promise> {\n return Axios.post>(\n `${ExcelService.BACKEND_URL}/excel/import`,\n request\n );\n }\n}\n\nexport default ExcelService;\n","import { Button, Input, Modal, Select } from \"antd\";\nimport classNames from \"classnames\";\nimport { saveAs } from \"file-saver\";\nimport _ from \"lodash\";\nimport React, { PureComponent } from \"react\";\nimport { connect } from \"react-redux\";\nimport { AnyAction, Dispatch } from \"redux\";\nimport type { WorkBook } from \"xlsx\";\nimport {\n IImportMappedExcelColumnMap,\n IImportMappedExcelColumnMapDefinition,\n ImportMappedExcelStatus\n} from \"../../../models/dto/excel\";\nimport { ELanguage } from \"../../../models/enum/language\";\nimport { hideImportMappedExcelModal } from \"../../../redux/modals/actions\";\nimport { AppState } from \"../../../redux/root-reducer\";\nimport { translationService } from \"../../../services/_singletons\";\nimport ExcelService from \"../../../services/excel-service\";\nimport { KMainFunctions } from \"../../../shared/utilty/main-functions\";\nimport \"./import-mapped-excel-runtime.scss\";\n\ninterface ImportMappedExcelRuntimeProps {\n dsId: string | null;\n tableName: string | null;\n primaryKey: string | null;\n columnMappings: IImportMappedExcelColumnMapDefinition[];\n onClose: () => void;\n}\n\ninterface ImportMappedExcelRuntimeState {\n file: File | null;\n workbook: WorkBook | null;\n columns: string[];\n sheet: unknown[] | null;\n selectedSheetName: string | null;\n columnMappings: IImportMappedExcelColumnMap[];\n status: \"map\" | \"success\" | \"partial-success\" | \"error\" | \"queued\";\n isUploadLoading: boolean;\n errorCount: number;\n successCount: number;\n totalCount: number;\n rowsInserted: number;\n rowsUpdated: number;\n erroredRows: object[];\n rowsWithValidationErrors: object[];\n}\n\nclass ImportMappedExcelRuntime extends PureComponent {\n private inputRef = React.createRef();\n\n private translationService = translationService;\n\n constructor(props: ImportMappedExcelRuntimeProps) {\n super(props);\n this.state = {\n file: null,\n workbook: null,\n sheet: null,\n selectedSheetName: null,\n columns: [],\n columnMappings: [],\n status: \"map\",\n isUploadLoading: false,\n errorCount: 0,\n successCount: 0,\n totalCount: 0,\n rowsInserted: 0,\n rowsUpdated: 0,\n erroredRows: [],\n rowsWithValidationErrors: []\n };\n }\n\n private get language() {\n const language = localStorage.getItem(\"ml\") as ELanguage;\n\n if (!language) {\n return ELanguage.EN;\n }\n\n return language;\n }\n\n componentDidMount() {\n // if (_.isEmpty(this.props.dsId) || _.isEmpty(this.props.tableName) || _.isEmpty(this.props.primaryKey)) {\n // KMainFunctions.displayErrorNotification(\"Import Mapped Excel not initialized correctly\");\n // this.props.onClose();\n // return;\n // }\n\n this.setState({\n columnMappings: _.cloneDeep(this.props.columnMappings.filter((columnMapping) => columnMapping.isEnabled) ?? [])\n });\n }\n\n onClose = () => {\n this.props.onClose();\n };\n\n onClickUpload = async () => {\n if (!this.inputRef.current) return;\n this.inputRef.current.click();\n };\n\n onClickNext = async () => {\n try {\n if (this.getIsNextDisabled()) return;\n this.setState({ isUploadLoading: true });\n\n const primaryKeyMapping: IImportMappedExcelColumnMap = this.state.columnMappings.find(\n (columnMapping) => columnMapping.source === this.props.primaryKey\n );\n\n if (primaryKeyMapping?.source !== \"Id\" && !primaryKeyMapping?.target) {\n KMainFunctions.displayWarningNotification(\n this.translationService.translate(\"import_mapped_excel_runtime.primary_key_warning\")\n );\n return;\n }\n\n const response = await ExcelService.ImportMappedExcel({\n datasourceId: this.props.dsId,\n tableName: this.props.tableName,\n primaryKey: this.props.primaryKey,\n mappedColumns: this.state.columnMappings,\n columns: this.state.columns,\n data: this.state.sheet as object[],\n language: this.language\n });\n\n if (response.status === 200) {\n let status: \"map\" | \"success\" | \"partial-success\" | \"error\" | \"queued\" = \"map\";\n\n if (response.data.status === ImportMappedExcelStatus.Success) {\n status = \"success\";\n }\n\n if (response.data.status === ImportMappedExcelStatus.PartialSuccess) {\n status = \"partial-success\";\n }\n\n if (response.data.status === ImportMappedExcelStatus.Error) {\n status = \"error\";\n }\n\n if (response.data.status === ImportMappedExcelStatus.Queued) {\n status = \"queued\";\n }\n\n this.setState({\n status,\n errorCount: response.data.errorCount,\n successCount: response.data.successCount,\n totalCount: response.data.totalCount,\n rowsInserted: response.data.rowsInserted,\n rowsUpdated: response.data.rowsUpdated,\n erroredRows: response.data.erroredRows,\n rowsWithValidationErrors: response.data.rowsWithValidationErrors\n });\n }\n } catch (e) {\n KMainFunctions.exceptionHandler(e);\n } finally {\n this.setState({ isUploadLoading: false });\n }\n };\n\n getIsNextDisabled = () => {\n if (this.state.isUploadLoading) return true;\n if (!this.state.file) return true;\n if (!this.state.workbook) return true;\n if (!this.state.sheet) return true;\n if (!this.state.selectedSheetName) return true;\n if (!this.state.columns) return true;\n if (!this.state.columnMappings) return true;\n if (this.state.columnMappings.length === 0) return true;\n\n if (\n this.state.columnMappings.some(\n (columnMapping) => columnMapping.target === undefined || columnMapping.target === \"\"\n )\n ) {\n return true;\n }\n\n if (\n this.state.columnMappings.some(\n (columnMapping) => columnMapping.target === \"\" && _.isEmpty(columnMapping.defaultValue)\n )\n ) {\n return true;\n }\n\n return false;\n };\n\n getIsNextLoading = () => {\n return this.state.isUploadLoading;\n };\n\n onChangeUploadedFile = async (e: React.ChangeEvent) => {\n const file = e.target.files[0];\n if (!file) return;\n const reader = new FileReader();\n // Since this is a modal that will be existing all apps whether the app needs\n // xlsx or not, we need to dynamically import it.\n const XLSX = await import(/* webpackChunkName: \"xlsx\" */ \"xlsx\");\n\n reader.onload = async (e) => {\n const data: Uint8Array = new Uint8Array(e.target.result as ArrayBufferLike);\n const workbook: WorkBook = XLSX.read(data, { type: \"array\", cellDates: true, dateNF: 'yyyy-mm-dd\"T\"hh:mm:ss' });\n this.setState(\n {\n file,\n workbook,\n sheet: null,\n selectedSheetName: null,\n columns: [],\n errorCount: 0,\n successCount: 0,\n totalCount: 0,\n erroredRows: [],\n rowsWithValidationErrors: [],\n status: \"map\"\n },\n () => {\n const sheetNames: string[] =\n workbook.SheetNames?.filter((sheetName) => sheetName !== \"Errors\" && sheetName !== \"Hatalar\") ?? [];\n if (sheetNames.length === 1) {\n this.onChangeSheet(workbook.SheetNames[0]);\n }\n }\n );\n };\n\n reader.readAsArrayBuffer(file);\n };\n\n onChangeSheet = async (selectedSheetName: string) => {\n const XLSX = await import(/* webpackChunkName: \"xlsx\" */ \"xlsx\");\n\n const sheet = XLSX.utils.sheet_to_json(this.state.workbook.Sheets[selectedSheetName], {\n header: 1,\n raw: false,\n rawNumbers: false,\n dateNF: 'yyyy-mm-dd\"T\"hh:mm:ss' // Set date format\n });\n\n // Names in the first row\n const columns = sheet.shift() as string[] | undefined;\n\n if (columns === undefined || columns.length === 0) {\n KMainFunctions.displayWarningNotification(`No columns found in sheet \"${selectedSheetName}\"`);\n return;\n }\n\n const columnMappings: IImportMappedExcelColumnMap[] = this.state.columnMappings.map((columnMapping) => {\n const targetColumn = columns.find((column) => column === columnMapping.alias || column === columnMapping.source);\n\n if (columnMapping.target && columns.includes(columnMapping.target)) {\n // If the target column is already set, we don't need to do anything\n } else if (\n targetColumn?.toLowerCase() === columnMapping.alias?.toLowerCase() ||\n targetColumn?.toLowerCase() === columnMapping.source?.toLowerCase()\n ) {\n columnMapping.target = targetColumn;\n } else {\n columnMapping.target = null;\n }\n\n return columnMapping;\n });\n\n this.setState({ sheet, selectedSheetName, columns, columnMappings });\n };\n\n renderMapColumnsRow = (columnMapping: IImportMappedExcelColumnMap) => {\n return (\n \n \n {columnMapping.alias} \n {this.props.primaryKey === columnMapping.source && (Primary Key)}\n \n {this.renderColumnToMap(columnMapping)}\n \n this.onChangeDefaultValue(columnMapping, e.target.value)}\n disabled={!columnMapping.target || this.props.primaryKey === columnMapping.source}\n placeholder={this.translationService.translate(\"common.default_value\", this.language)}\n bordered={false}\n />\n \n \n );\n };\n\n renderUploadIcon = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n );\n };\n\n onChangeColumnToMap = (columnMapping: IImportMappedExcelColumnMap, column?: string) => {\n if (column === null) {\n columnMapping.target = null;\n columnMapping.defaultValue = null;\n } else {\n columnMapping.target = column;\n }\n\n this.setState({ columnMappings: _.cloneDeep(this.state.columnMappings) });\n };\n\n onChangeDefaultValue = (columnMapping: IImportMappedExcelColumnMap, value: string) => {\n columnMapping.defaultValue = value;\n this.setState({ columnMappings: _.cloneDeep(this.state.columnMappings) });\n };\n\n renderColumnToMap = (columnMapping: IImportMappedExcelColumnMap) => {\n return (\n this.onChangeColumnToMap(columnMapping, value)}\n placeholder={this.translationService.translate(\"import_mapped_excel_runtime.select_column\", this.language)}\n bordered={false}\n >\n \n \n {this.translationService.translate(\"import_mapped_excel_runtime.skip\", this.language)}\n \n \">\n {this.translationService.translate(\"import_mapped_excel_runtime.use_default_value\", this.language)}\n \n \n \n {this.state.columns.map((column: string) => (\n \n {column}\n \n ))}\n \n \n );\n };\n\n renderMainContent = () => {\n return (\n <>\n
\n {this.translationService.translate(\"import_mapped_excel_runtime.upload_excel_file.title\", this.language)}\n
\n
\n {this.translationService.translate(\n \"import_mapped_excel_runtime.upload_excel_file.description\",\n this.language\n )}\n
\n \n
\n {this.state.file === null ? (\n \n {/* Upload Excel File */}\n {this.translationService.translate(\"import_mapped_excel_runtime.upload_excel_file.button\", this.language)}\n {this.renderUploadIcon()}\n \n ) : (\n \n )}\n {this.state.workbook ? (\n \n {this.state.workbook.SheetNames.filter(\n (sheetName) => sheetName !== \"Errors\" && sheetName !== \"Hatalar\"\n ).map((sheet) => (\n \n {sheet}\n \n ))}\n \n ) : (\n
\n )}\n
\n
\n {this.translationService.translate(\"import_mapped_excel_runtime.map_the_sheet_columns.title\", this.language)}\n
\n \n \n {/* Source Column */}\n {/* Column to Map */}\n {/* Default Value */}\n \n {this.translationService.translate(\n \"import_mapped_excel_runtime.map_the_sheet_columns.source_column\",\n this.language\n )}\n \n \n {this.translationService.translate(\n \"import_mapped_excel_runtime.map_the_sheet_columns.column_to_map\",\n this.language\n )}\n \n \n {this.translationService.translate(\n \"import_mapped_excel_runtime.map_the_sheet_columns.default_value\",\n this.language\n )}\n \n \n \n {this.state.sheet &&\n this.state.columnMappings\n .sort((a, b) => {\n // Primary key goes first\n if (a.source === this.props.primaryKey) return -1;\n if (b.source === this.props.primaryKey) return 1;\n return a.source.localeCompare(b.alias, undefined, { numeric: true }); // Alphanumeric sort\n })\n .map((columnMapping: IImportMappedExcelColumnMap) => this.renderMapColumnsRow(columnMapping))}\n \n \n {!this.state.sheet && (\n
\n {this.translationService.translate(\n \"import_mapped_excel_runtime.map_the_sheet_columns.no_sheet_is_selected\",\n this.language\n )}\n
\n )}\n \n );\n };\n\n renderSuccessResultIcon = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n };\n\n renderPartialSuccessResultIcon = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n };\n\n renderQueuedResultIcon = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n };\n\n renderErrorResultIcon = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n };\n\n renderSuccessContent = () => {\n return (\n
\n {this.renderSuccessResultIcon()}\n
\n {this.translationService.translate(\"import_mapped_excel_runtime.result.success.title\", this.language)}\n
\n
\n {/* Data has been successfully imported into the system. */}\n {this.translationService.translate(\"import_mapped_excel_runtime.result.success.description\", this.language)}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n {this.translationService.translate(\n \"import_mapped_excel_runtime.result.success.rows_inserted\",\n this.language\n )}\n \n {this.translationService.translate(\n \"import_mapped_excel_runtime.result.success.rows_updated\",\n this.language\n )}\n
{this.state.rowsInserted}{this.state.rowsUpdated}
\n
\n );\n };\n\n renderErrorContent = () => {\n return (\n
\n {this.renderErrorResultIcon()}\n
\n {this.translationService.translate(\"import_mapped_excel_runtime.result.error.title\", this.language)}\n
\n
\n {this.translationService.translate(\"import_mapped_excel_runtime.result.error.description\", this.language)}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n {this.translationService.translate(\"import_mapped_excel_runtime.result.error.error\", this.language)}\n
\n
\n {this.state.errorCount} \n {this.translationService.translate(\"import_mapped_excel_runtime.result.error.errors\", this.language)}\n
\n \n
\n
\n {this.translationService.translate(\"import_mapped_excel_runtime.result.tip\", this.language)}\n
\n
\n );\n };\n\n renderPartialSuccessContent = () => {\n return (\n
\n {this.renderPartialSuccessResultIcon()}\n
\n {this.translationService.translate(\"import_mapped_excel_runtime.result.partial_success.title\", this.language)}\n
\n
\n {/* Some of the data has been successfully imported into the system. */}\n {this.translationService.translate(\n \"import_mapped_excel_runtime.result.partial_success.description\",\n this.language\n )}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n {this.translationService.translate(\n \"import_mapped_excel_runtime.result.partial_success.rows_inserted\",\n this.language\n )}\n \n {this.translationService.translate(\n \"import_mapped_excel_runtime.result.partial_success.rows_updated\",\n this.language\n )}\n \n {this.translationService.translate(\n \"import_mapped_excel_runtime.result.partial_success.error\",\n this.language\n )}\n
{this.state.rowsInserted}{this.state.rowsUpdated}\n
\n {this.state.errorCount} \n {this.translationService.translate(\n \"import_mapped_excel_runtime.result.partial_success.errors\",\n this.language\n )}\n
\n \n
\n
\n {this.translationService.translate(\"import_mapped_excel_runtime.result.tip\", this.language)}\n
\n
\n );\n };\n\n onClickDownloadErrors = async () => {\n // Since this is a modal that will be existing all apps whether the app needs\n // xlsx or not, we need to dynamically import it.\n const XLSX = await import(/* webpackChunkName: \"xlsx\" */ \"xlsx\");\n\n // New Workbook\n const workbook = _.cloneDeep(this.state.workbook);\n // Remove sheets other than the selected sheet\n workbook.Sheets = _.pick(workbook.Sheets, this.state.selectedSheetName);\n\n let worksheet = XLSX.utils.sheet_to_json(workbook.Sheets[this.state.selectedSheetName], {\n header: 1,\n raw: true,\n rawNumbers: false\n });\n const columns = worksheet.shift() as string[] | undefined;\n\n const errors: object[] = [...(this.state.rowsWithValidationErrors ?? []), ...(this.state.erroredRows ?? [])];\n\n let primaryKeyIndex = columns?.findIndex((column) => {\n const columnMapping = this.state.columnMappings.find((columnMapping) => columnMapping.target === column);\n return column === columnMapping?.target;\n });\n\n if (this.props.primaryKey === \"Id\" && primaryKeyIndex === -1) {\n columns.unshift(\"Id\");\n primaryKeyIndex = 0;\n }\n\n if (primaryKeyIndex === -1) {\n // We can safely return here because the primary key is required.\n // If the primary key is not found, the user will be notified in the UI prior to importing the data.\n throw new Error(\"Primary key not found\");\n }\n\n let primaryKeySourceName = this.state.columnMappings.find(\n (columnMapping) => columnMapping.target === columns[primaryKeyIndex]\n )?.source;\n\n if (this.props.primaryKey === \"Id\" && primaryKeySourceName === undefined) {\n primaryKeySourceName = \"Id\";\n }\n\n if (!primaryKeySourceName) {\n // We can safely return here because the primary key is required.\n // If the primary key is not found, the user will be notified in the UI prior to importing the data.\n throw new Error(\"Primary key source not found\");\n }\n\n let primaryKeyTargetName = this.state.columnMappings.find(\n (columnMapping) => columnMapping.target === columns[primaryKeyIndex]\n )?.target;\n\n if (this.props.primaryKey === \"Id\" && primaryKeyTargetName === undefined) {\n primaryKeyTargetName = \"Id\";\n }\n\n if (!primaryKeyTargetName) {\n // We can safely return here because the primary key is required.\n // If the primary key is not found, the user will be notified in the UI prior to importing the data.\n throw new Error(\"Primary key target not found\");\n }\n\n worksheet = worksheet\n .filter((row) => {\n const error = errors.find((e) => {\n // eslint-disable-next-line eqeqeq\n return e[primaryKeySourceName] == row[primaryKeyIndex];\n });\n return error !== undefined;\n })\n .map((row: object) => Object.values(row));\n\n const worksheetData = [columns, ...worksheet] as object[][];\n\n workbook.Sheets[this.state.selectedSheetName] = XLSX.utils.aoa_to_sheet(worksheetData);\n\n const getErrorMessage = (error: object) => {\n if (_.get(error, \"_validationErrors\", null)) {\n return _.get(error, \"_validationErrors\", [])\n .map((error: object) => _.get(error, \"errorMessage\", \"\"))\n .join(\"\\n\");\n }\n\n if (_.get(error, \"_errorReason\", null)) {\n return _.get(error, \"_errorReason\");\n }\n\n return \"\";\n };\n\n const errorWorkSheetData = [\n [primaryKeyTargetName, this.language === ELanguage.TR ? \"Hata\" : \"Error\"],\n ...errors.map((error) => [error[primaryKeySourceName], getErrorMessage(error)])\n ];\n\n if (workbook.Sheets.Hatalar) {\n delete workbook.Sheets.Hatalar;\n workbook.SheetNames = workbook.SheetNames.filter((sheetName) => sheetName !== \"Hatalar\");\n }\n\n if (workbook.Sheets.Errors) {\n delete workbook.Sheets.Errors;\n workbook.SheetNames = workbook.SheetNames.filter((sheetName) => sheetName !== \"Errors\");\n }\n\n const errorWorkSheet = XLSX.utils.aoa_to_sheet(errorWorkSheetData);\n workbook.Sheets[this.language === ELanguage.TR ? \"Hatalar\" : \"Errors\"] = errorWorkSheet;\n workbook.SheetNames.push(this.language === ELanguage.TR ? \"Hatalar\" : \"Errors\");\n\n // Download the excel file\n const blob = new Blob([XLSX.write(workbook, { bookType: \"xlsx\", type: \"array\" })], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"\n });\n\n let filename = this.state.file.name;\n\n if (filename.endsWith(\".xlsx\")) {\n filename = filename.substring(0, filename.length - 5);\n } else if (filename.endsWith(\".xls\")) {\n filename = filename.substring(0, filename.length - 4);\n }\n\n saveAs(blob, `${filename}-${this.language === ELanguage.TR ? \"hatalar\" : \"errors\"}.xlsx`);\n };\n\n renderFooter = () => {\n if (this.state.status === \"success\" || this.state.status === \"partial-success\" || this.state.status === \"error\") {\n return (\n
\n \n
\n );\n }\n\n return (\n
\n \n {this.state.isUploadLoading\n ? this.translationService.translate(\"common.importing\", this.language)\n : this.translationService.translate(\"common.next\", this.language)}\n \n
\n );\n };\n\n renderTitle = () => {\n let button = (\n /* TODO: Make this a proper button */\n \n \n \n \n \n \n \n \n \n \n \n );\n\n return (\n
\n
\n {this.translationService.translate(\"import_mapped_excel_runtime.title\", this.language)}\n
\n {button}\n
\n );\n };\n\n renderQueuedContent = () => {\n return (\n
\n {this.renderQueuedResultIcon()}\n
\n {this.translationService.translate(\"import_mapped_excel_runtime.result.queued.title\", this.language)}\n
\n
\n {this.translationService.translate(\"import_mapped_excel_runtime.result.queued.description\", this.language)}\n
\n
\n );\n };\n\n render() {\n return (\n \n {this.state.status === \"map\" && this.renderMainContent()}\n {this.state.status === \"error\" && this.renderErrorContent()}\n {this.state.status === \"success\" && this.renderSuccessContent()}\n {this.state.status === \"partial-success\" && this.renderPartialSuccessContent()}\n {this.state.status === \"queued\" && this.renderQueuedContent()}\n \n );\n }\n}\n\nconst mapStateToProps = (state: AppState) => {\n return {\n dsId: state.importMappedExcelModalReducer.dsId ?? null,\n tableName: state.importMappedExcelModalReducer.tableName ?? null,\n primaryKey: state.importMappedExcelModalReducer.primaryKey ?? null,\n columnMappings: state.importMappedExcelModalReducer.columnMapping ?? []\n };\n};\n\nconst mapDispatchToProps = (dispatch: Dispatch) => {\n return {\n onClose: () => dispatch(hideImportMappedExcelModal())\n };\n};\n\nconst importMappedExcelRuntime = connect(mapStateToProps, mapDispatchToProps)(ImportMappedExcelRuntime);\nexport { importMappedExcelRuntime as ImportMappedExcelRuntime };\n","import { CloseOutlined } from \"@ant-design/icons\";\nimport { Modal } from \"antd/es\";\nimport { PureComponent, ReactNode } from \"react\";\nimport { isMobile } from \"react-device-detect\";\nimport { Camera, FACING_MODES, IMAGE_TYPES } from \"react-html5-camera-photo\";\nimport { connect } from \"react-redux\";\nimport { Redirect, Route } from \"react-router-dom\";\nimport LocalStorageService from \"../auth/local-storage-service\";\nimport { ImportMappedExcelRuntime } from \"../components/modals/import-mapped-excel-runtime/import-mapped-excel-runtime\";\nimport { PaymentElementStripe } from \"../components/web-components\";\nimport { IIyzicoCheckoutFormResponseDto } from \"../models/dto/iyzico.dto\";\nimport {\n hideImportMappedExcelModal,\n hideIyzicoDrawer,\n hidePhotoTake,\n hideStripeDrawer,\n showImportMappedExcelModal,\n showIyzicoDrawer,\n showPhotoTake,\n showStripeDrawer\n} from \"../redux/modals/actions\";\nimport { AppState } from \"../redux/root-reducer\";\nimport { UserService } from \"../services/user-service\";\nimport { KContext } from \"../shared/hoc/with-context\";\nimport { KNavigator, withHistory } from \"../shared/hoc/with-history\";\nimport { KMainFunctions } from \"../shared/utilty/main-functions\";\n\ndeclare let window: Window & { userInfo: any };\n\ninterface PrivateRouteProps {\n component: any;\n exact?: boolean;\n path: string;\n photoTakeVisible?: any;\n hidePhotoTake?: any;\n stripeDrawerVisible?: any;\n iyzicoDrawerVisible?: any;\n hideStripeDrawer: any;\n hideIyzicoDrawer: any;\n stripeData?: any;\n stripeCallBack?: any;\n iyzicoCallBack?: any;\n iyzicoData?: any;\n screen?: any;\n futureUse?: any;\n navigator?: KNavigator;\n isImportMappedExcelModalVisible?: boolean;\n}\n\ninterface PrivateRouteState {\n context: KContext | undefined;\n}\n\nclass PrivateRoute extends PureComponent {\n constructor(props: PrivateRouteProps) {\n super(props);\n this.state = { context: undefined };\n }\n\n async componentDidMount() {\n if (!(this.props.path === \"/redirect\" && this.props.screen === undefined)) {\n await UserService.GetUserInfo();\n }\n\n this.setState({ context: new KContext() });\n\n const virtualDirectoryURL: string =\n KMainFunctions.virtualDirectoryURL === \"auto\" ? \"\" : KMainFunctions.virtualDirectoryURL;\n const pathname: string = window.location.pathname.replace(virtualDirectoryURL, \"\");\n\n if (pathname === \"/\" && window.userInfo) {\n this.props.navigator?.gotoStartingScreen();\n }\n }\n\n handleClosePhoto = () => {\n const imgNode: HTMLImageElement = document\n .getElementsByClassName(\"react-html5-camera-photo\")[0]\n .getElementsByTagName(\"img\")[0];\n imgNode.src = \"\";\n this.props.hidePhotoTake();\n };\n\n renderStripeDrawer = () => {\n if (this.props.stripeDrawerVisible) {\n return (\n {\n this.props.screen.setState(\n { OpenStripePaymentDrawer: { isSuccess: false, errorMessage: \"Action aborted by the user\" } },\n () => {\n this.props.hideStripeDrawer();\n this.props.stripeCallBack();\n }\n );\n }}\n footer={null}\n open={this.props.stripeDrawerVisible}\n >\n \n \n );\n }\n return <>;\n };\n\n renderIyzicoDrawer = () => {\n if (this.props.iyzicoDrawerVisible) {\n var timer;\n setTimeout(() => {\n const data = this.props.iyzicoData.data as IIyzicoCheckoutFormResponseDto;\n var checkoutFormContent = data.checkoutFormContent;\n var checkoutFormContent = checkoutFormContent.replace(\n /|<\\/script>/gi,\n \"\"\n );\n const iframe = document.getElementById(\"iyzipay-iframe\") as any;\n const iframeWin = iframe.contentWindow || iframe;\n const iframeDoc = iframe.contentDocument || iframeWin.document;\n var scriptElement = iframeDoc.createElement(\"script\");\n scriptElement.innerHTML = checkoutFormContent;\n iframeDoc.documentElement.addEventListener(\"popstate\", () => alert(\"hi\"));\n\n timer = setInterval(() => {\n const iframe = document.getElementById(\"iyzipay-iframe\") as any;\n const iframeWin = iframe.contentWindow || iframe;\n try {\n var a = iframeWin.location.host;\n if (a === \"\") {\n } else {\n clearInterval(timer);\n this.props.screen.setState(\n {\n IyzicoInitializeCheckoutForm: {\n checkoutFormContent: data.checkoutFormContent,\n token: data.token,\n status: data.status,\n statusCode: data.statusCode,\n errorMessage: data.errorMessage,\n conversationId: data.conversationId\n }\n },\n () => {\n this.props.hideIyzicoDrawer();\n if (this.props.iyzicoCallBack) {\n this.props.iyzicoCallBack();\n }\n }\n );\n }\n } catch (error) {\n clearInterval(timer);\n this.props.screen.setState(\n {\n IyzicoInitializeCheckoutForm: {\n checkoutFormContent: data.checkoutFormContent,\n token: data.token,\n status: data.status,\n statusCode: data.statusCode,\n errorMessage: data.errorMessage,\n conversationId: data.conversationId\n }\n },\n () => {\n this.props.hideIyzicoDrawer();\n if (this.props.iyzicoCallBack) {\n this.props.iyzicoCallBack();\n }\n }\n );\n }\n }, 50);\n iframeDoc.documentElement.appendChild(scriptElement);\n }, 1000);\n return (\n {\n this.props.screen.setState(\n {\n IyzicoInitializeCheckoutForm: {\n checkoutFormContent: \"\",\n token: \"\",\n status: \"Aborted\",\n statusCode: 0,\n errorMessage: \"Action aborted by the user\",\n conversationId: \"\"\n }\n },\n () => {\n this.props.hideIyzicoDrawer();\n clearInterval(timer);\n if (this.props.iyzicoCallBack) {\n this.props.iyzicoCallBack();\n }\n }\n );\n }}\n footer={null}\n open={this.props.iyzicoDrawerVisible}\n >\n \"\n >\n \n );\n }\n return <>;\n };\n\n renderPhotoTake = () => {\n if (!this.props.photoTakeVisible) {\n return <>;\n }\n if (isMobile) {\n return (\n <>\n \n \n \n );\n }\n return (\n \n \n \n );\n };\n\n renderImportMappedExcel = () => {\n if (!this.props.isImportMappedExcelModalVisible) {\n return <>;\n }\n return ;\n };\n\n render(): ReactNode {\n if (this.state.context !== undefined) {\n return (\n <>\n {this.renderPhotoTake()}\n {this.renderStripeDrawer()}\n {this.renderIyzicoDrawer()}\n {this.renderImportMappedExcel()}\n {\n return LocalStorageService.getAccessToken() !== null ? (\n \n ) : (\n \n );\n }}\n />\n \n );\n }\n return
Loading!
;\n }\n}\n\nconst PrivateRoute2 = ({ component: Component, ...rest }) => {\n return (\n <>\n \n LocalStorageService.getAccessToken() !== null ? (\n \n ) : (\n \n )\n }\n />\n \n );\n};\n\nconst mapStateToProps = (state: AppState) => {\n return {\n spinnerCount: state.spinnerReducer.spinnerCount,\n photoTakeVisible: state.photoTakeReducer.visible,\n stripeDrawerVisible: state.stripeDrawerReducer.visible,\n stripeData: state.stripeDrawerReducer.payload,\n stripeCallBack: state.stripeDrawerReducer.callback,\n iyzicoCallBack: state.iyzicoDrawerReducer.callback,\n screen: state.stripeDrawerReducer.screen ?? state.iyzicoDrawerReducer.screen,\n futureUse: state.stripeDrawerReducer.futureUse,\n iyzicoDrawerVisible: state.iyzicoDrawerReducer.visible,\n iyzicoData: state.iyzicoDrawerReducer.payload,\n isImportMappedExcelModalVisible: state.importMappedExcelModalReducer.visible ?? false\n };\n};\n\nconst mapDispatchToProps = (dispatch) => ({\n showPhotoTake: () => dispatch(showPhotoTake()),\n hidePhotoTake: () => dispatch(hidePhotoTake()),\n showStripeDrawer: (data, callback, screen, futureUse) =>\n dispatch(showStripeDrawer(data, callback, screen, futureUse)),\n hideStripeDrawer: (data, callback, screen) => dispatch(hideStripeDrawer(data, callback, screen)),\n showIyzicoDrawer: (data, callback, that) => dispatch(showIyzicoDrawer(data, callback, that)),\n hideIyzicoDrawer: (data, callback, that) => dispatch(hideIyzicoDrawer(data, callback, that)),\n showImportMappedExcelModal: (dsId, tableName, primaryKey, columnMapping) =>\n dispatch(showImportMappedExcelModal(dsId, tableName, primaryKey, columnMapping)),\n hideImportMappedExcelModal: () => dispatch(hideImportMappedExcelModal())\n});\n\nconst privateRoute = connect(mapStateToProps, mapDispatchToProps)(withHistory(PrivateRoute));\nexport { privateRoute as PrivateRoute };\n","import { CloseOutlined } from \"@ant-design/icons\";\nimport { Modal } from \"antd/es\";\nimport { PureComponent, ReactNode } from \"react\";\nimport { isMobile } from \"react-device-detect\";\nimport { Camera, FACING_MODES, IMAGE_TYPES } from \"react-html5-camera-photo\";\nimport { connect } from \"react-redux\";\nimport { Route as DomRoute } from \"react-router-dom\";\nimport { ImportMappedExcelRuntime } from \"../components/modals/import-mapped-excel-runtime/import-mapped-excel-runtime\";\nimport { PaymentElementStripe } from \"../components/web-components\";\nimport {\n hideImportMappedExcelModal,\n hideIyzicoDrawer,\n hidePhotoTake,\n hideStripeDrawer,\n showImportMappedExcelModal,\n showIyzicoDrawer,\n showPhotoTake,\n showStripeDrawer\n} from \"../redux/modals/actions\";\nimport { AppState } from \"../redux/root-reducer\";\nimport { KContext } from \"../shared/hoc/with-context\";\n\ninterface RouteProps {\n component?: any;\n exact?: boolean;\n path: string;\n photoTakeVisible?: any;\n hidePhotoTake?: any;\n stripeDrawerVisible?: any;\n hideStripeDrawer?: any;\n stripeData?: any;\n stripeCallBack?: any;\n screen?: any;\n futureUse?: any;\n isImportMappedExcelModalVisible?: boolean;\n}\n\ninterface RouteState {\n context: KContext | undefined;\n}\n\nclass Route extends PureComponent {\n constructor(props: RouteProps) {\n super(props);\n this.state = { context: undefined };\n }\n\n handleClosePhoto = () => {\n const imgNode: HTMLImageElement = document\n .getElementsByClassName(\"react-html5-camera-photo\")[0]\n .getElementsByTagName(\"img\")[0];\n imgNode.src = \"\";\n this.props.hidePhotoTake();\n };\n\n renderStripeDrawer = () => {\n if (this.props.stripeDrawerVisible) {\n return (\n {\n this.props.screen.setState(\n { OpenStripePaymentDrawer: { isSuccess: false, errorMessage: \"Action aborted by the user\" } },\n () => {\n this.props.hideStripeDrawer();\n this.props.stripeCallBack();\n }\n );\n }}\n footer={null}\n open={this.props.stripeDrawerVisible}\n >\n \n \n );\n }\n return <>;\n };\n\n renderPhotoTake = () => {\n if (!this.props.photoTakeVisible) {\n return <>;\n }\n if (isMobile) {\n return (\n <>\n \n \n \n );\n }\n return (\n \n \n \n );\n };\n\n renderImportMappedExcel = () => {\n if (!this.props.isImportMappedExcelModalVisible) {\n return <>;\n }\n return ;\n };\n\n render(): ReactNode {\n return (\n <>\n {this.renderPhotoTake()}\n {this.renderStripeDrawer()}\n {this.renderImportMappedExcel()}\n {\n return ;\n }}\n />\n \n );\n }\n}\nconst mapStateToProps = (state: AppState) => {\n return {\n spinnerCount: state.spinnerReducer.spinnerCount,\n photoTakeVisible: state.photoTakeReducer.visible,\n stripeDrawerVisible: state.stripeDrawerReducer.visible,\n stripeData: state.stripeDrawerReducer.payload,\n isImportMappedExcelModalVisible: state.importMappedExcelModalReducer.visible ?? false,\n stripeCallBack: state.stripeDrawerReducer.callback,\n iyzicoCallBack: state.iyzicoDrawerReducer.callback,\n screen: state.stripeDrawerReducer.screen ?? state.iyzicoDrawerReducer.screen,\n futureUse: state.stripeDrawerReducer.futureUse\n };\n};\n\nconst mapDispatchToProps = (dispatch) => ({\n showPhotoTake: () => dispatch(showPhotoTake()),\n hidePhotoTake: () => dispatch(hidePhotoTake()),\n showStripeDrawer: (data, callback, screen, futureUse) =>\n dispatch(showStripeDrawer(data, callback, screen, futureUse)),\n hideStripeDrawer: (data, callback, screen) => dispatch(hideStripeDrawer(data, callback, screen)),\n showIyzicoDrawer: (data, callback, that) => dispatch(showIyzicoDrawer(data, callback, that)),\n hideIyzicoDrawerAction: (data, callback, that) => dispatch(hideIyzicoDrawer(data, callback, that)),\n showImportMappedExcelModal: (dsId, tableName, primaryKey, columnMapping) =>\n dispatch(showImportMappedExcelModal(dsId, tableName, primaryKey, columnMapping)),\n hideImportMappedExcelModal: () => dispatch(hideImportMappedExcelModal())\n});\n\nconst route = connect(mapStateToProps, mapDispatchToProps)(Route);\nexport { route as Route };\n","import * as React from \"react\";\nimport { KuikaAppManager } from \"../../shared/utilty/kuika-app-manager\";\n\ninterface IKuikaInfoState {}\n\ninterface IKuikaInfoProps {}\n\ndeclare let window: any;\n\nclass KuikaInfo extends React.PureComponent {\n render() {\n const appName = \"fasonSurecTakipv3\";\n const workspace = \"yildizPul\";\n const webComponentTag = \"yildiz-pul-fason-surec-takipv3\";\n const frontEndUrl = KuikaAppManager.GetFrontEndSourceUrl();\n const backEndUrl = KuikaAppManager.GetBackendUrl(true);\n const kuikaInfoJson = {\n workspace,\n appName,\n frontEndUrl,\n backEndUrl,\n webComponentTag\n };\n var json = JSON.stringify(kuikaInfoJson);\n var blob = new Blob([json], { type: \"application/json\" });\n var url = URL.createObjectURL(blob);\n window.location = url;\n return <>;\n }\n}\n\nconst kuikaInfo = KuikaInfo;\nexport { kuikaInfo as KuikaInfo };\n","import { EExternalTokenProviderTypes, IExternalTokenRequest } from \"../../models/dto/login.dto\";\nimport { UserService } from \"../../services/user-service\";\nimport { withHistory } from \"../../shared/hoc/with-history\";\n\nlet kuikaRestApiCalled = false;\nconst MfeLogin = (props) => {\n if (kuikaRestApiCalled === false) {\n const { external_access_token } = props;\n const { external_refresh_token } = props;\n let { external_user } = props;\n\n if (external_user === undefined) {\n external_user = \"\";\n }\n\n if (\n external_access_token !== null &&\n external_access_token !== undefined &&\n external_access_token !== \"\" &&\n external_refresh_token !== null &&\n external_refresh_token !== undefined &&\n external_refresh_token !== \"\"\n ) {\n const externalTokenRequest: IExternalTokenRequest = {\n providerType: EExternalTokenProviderTypes.None,\n refreshToken: external_refresh_token,\n tokenString: external_access_token,\n username: external_user\n };\n\n kuikaRestApiCalled = true;\n UserService.LoginWithExternalToken(externalTokenRequest).then(\n (res) => {\n if (res && res.status === 200) {\n if (props?.from?.pathname?.length > 0) {\n props.navigator.gotoUrl(props.from.pathname);\n } else {\n props.navigator.gotoStartingScreen();\n }\n }\n },\n (error) => {\n if (error.response?.data?.message) {\n alert(error.response.data.message);\n window.location.reload();\n }\n }\n );\n }\n }\n return <>Conneting to external login service, please wait...;\n};\n\nconst mfeLogin = withHistory(MfeLogin);\nexport { mfeLogin as MfeLogin };\n","export const msalConfig = {\n clientId: \"@MSALClientId\",\n authority: \"https://login.microsoftonline.com/common\",\n redirectUri: \"/msalredirect\",\n postLogoutRedirectUri: \"/logout\",\n scope: \"user.read\"\n};\n","import LocalStorageService from \"../../auth/local-storage-service\";\nimport HelperService from \"../../services/helper-service\";\nimport { msalConfig } from \"./msal-auth-config\";\n\nexport const MsalLogin = (props) => {\n if (LocalStorageService.getAccessToken() !== null) {\n HelperService.redirectGotoStartingScreen();\n } else {\n indexedDB.databases().then((databases) => {\n const exists = databases.some((db) => db.name === \"msalDb\");\n if (exists) {\n indexedDB.deleteDatabase(\"msalDb\");\n const msalLogoutUrl: string = `${msalConfig.authority}/oauth2/v2.0/logout?post_logout_redirect_uri=${window.location.origin}${msalConfig.postLogoutRedirectUri}&client_id=${msalConfig.clientId}`;\n window.location.replace(msalLogoutUrl);\n } else {\n const authorizationRequestUrl: string = `${msalConfig.authority}/oauth2/v2.0/authorize?client_id=${\n msalConfig.clientId\n }&redirect_uri=${window.location.origin + msalConfig.redirectUri}&response_type=code&scope=${msalConfig.scope}`;\n window.location.replace(authorizationRequestUrl);\n }\n });\n }\n return <>Conneting azure active directory, please wait...;\n};\n","import LocalStorageService from \"../../auth/local-storage-service\";\nimport { EExternalTokenProviderTypes, IExternalTokenRequest } from \"../../models/dto/login.dto\";\nimport HelperService from \"../../services/helper-service\";\nimport { UserService } from \"../../services/user-service\";\nimport { msalConfig } from \"./msal-auth-config\";\n\nexport const MsalRedirect = (props) => {\n const loginWithMsal = (codeParam: string) => {\n const externalTokenRequest: IExternalTokenRequest = {\n providerType: EExternalTokenProviderTypes.AzureAD,\n refreshToken: \"\",\n tokenString: \"\",\n username: \"\",\n redirectUri: window.location.origin + msalConfig.redirectUri,\n externalParameters: { code: codeParam }\n };\n UserService.LoginWithExternalToken(externalTokenRequest).then(\n (res) => {\n if (res && res.status === 200) {\n HelperService.redirectGotoStartingScreen();\n }\n },\n (error) => {\n if (error.response?.data?.message) {\n alert(error.response.data.message);\n }\n }\n );\n };\n\n if (LocalStorageService.getAccessToken() !== null) {\n HelperService.redirectGotoStartingScreen();\n return <>;\n }\n\n if (window.location?.search?.length > 1) {\n var codeParam = new URLSearchParams(window.location?.search).get(\"code\");\n if (codeParam && codeParam.length > 0) {\n loginWithMsal(codeParam);\n }\n }\n\n return <>Please wait...;\n};\n","import * as React from \"react\";\nimport { WorkflowService } from \"../services/workflow-service\";\nimport { KMainFunctions } from \"../shared/utilty/main-functions\";\n\ninterface IWFMailInteractionState {\n params: any;\n}\n\ninterface IWFMailInteractionProps {}\n\nexport class WFMailInteraction extends React.PureComponent {\n constructor(props) {\n super(props);\n this.state = {\n params: {}\n };\n }\n\n componentDidMount() {\n const searchParams = new URLSearchParams(window.location.search);\n const params = {};\n searchParams.forEach((value, key) => {\n params[key] = value;\n });\n\n this.setState({ params }, () => {\n this.sendParamsToApi();\n });\n }\n\n sendParamsToApi = () => {\n const { params } = this.state;\n\n const queryString = new URLSearchParams(params).toString();\n WorkflowService.SendMailInteraction(queryString).then((response) => {\n if (response.status === 200) {\n KMainFunctions.displaySuccessNotification(\"The process progressed successfully.\");\n } else {\n KMainFunctions.displayErrorNotification(\"An error occurred while progressing the process.\");\n }\n\n setTimeout(() => {\n window.close();\n }, 2000);\n });\n };\n\n render() {\n return <>;\n }\n}\n","import React from \"react\";\nimport { BrowserRouter, HashRouter, Switch } from \"react-router-dom\";\nimport { Redirect } from \"../auth/redirect\";\nimport { NoMatch404 } from \"../components/common/no-match-404\";\nimport { Dashboard, ForgotPassword, Login, ResetPassword } from \"../components/default_screens/index\";\nimport { PrivateRoute } from \"./private-route\";\nimport { Route } from \"./route\";\nimport { Login_Screen } from \"../screens/login/login\";\nimport { ForgotPassword_Screen } from \"../screens/forgotpassword/forgotpassword\";\nimport { Profil_Screen } from \"../screens/profil/profil\";\nimport { VerificationCode_Screen } from \"../screens/verificationcode/verificationcode\";\nimport { Signincopy_Screen } from \"../screens/signincopy/signincopy\";\nimport { HomePage_Screen } from \"../screens/homepage/homepage\";\nimport { FasonTakipLayout_Screen } from \"../screens/fasontakiplayout/fasontakiplayout\";\nimport { Marketing_Dashboard_With_Left_Menu_Screen } from \"../screens/marketing_dashboard_with_left_menu/marketing_dashboard_with_left_menu\";\nimport { Signup_Screen } from \"../screens/signup/signup\";\nimport { ResetPassword_Screen } from \"../screens/resetpassword/resetpassword\";\nimport { Ayarlar_Screen } from \"../screens/ayarlar/ayarlar\";\nimport { Sales_Dashboard_With_Left_Menu_Screen } from \"../screens/sales_dashboard_with_left_menu/sales_dashboard_with_left_menu\";\nimport { LeftMenu_Screen } from \"../screens/leftmenu/leftmenu\";\nimport { ResimDetay_Screen } from \"../screens/resimdetay/resimdetay\";\nimport { Tedarikcitanimlama_Screen } from \"../screens/tedarikcitanimlama/tedarikcitanimlama\";\n\n\n\nimport { IAppMode, IAuthType } from \"../bootstrapper\";\nimport { KuikaInfo } from \"../components/default_screens/kuika-info\";\nimport { MfeLogin } from \"../components/mfe/mfe-login\";\nimport { MsalLogin } from \"../components/msal/msal-login\";\nimport { MsalRedirect } from \"../components/msal/msal-redirect\";\nimport { WFMailInteraction } from \"../screens/wf-mail-interaction\";\nimport { KMainFunctions } from \"../shared/utilty/main-functions\";\n\nconst confJson = require(\"../shared/json/conf.json\");\n\ninterface IRouterState {}\n\nexport type IRouterType = \"HashRouter\" | \"BrowserRouter\";\n\ninterface IRouterProps {\n authType: IAuthType;\n routerType?: IRouterType;\n external_access_token?: string;\n external_refresh_token?: string;\n external_user?: string;\n appMode?: IAppMode;\n}\n\ndeclare let window: any;\nexport class Router extends React.Component {\n timerId: any = null;\n\n componentDidMount = () => {\n window.onfocus = function () {\n if (window.kuika === undefined) {\n window.kuika = {};\n }\n window.kuika.isTabActive = true;\n };\n\n window.onblur = function () {\n if (window.kuika === undefined) {\n window.kuika = {};\n }\n window.kuika.isTabActive = false;\n };\n\n if (!window.styler_speed) {\n window.styler_speed = 20;\n } else if (window.styler_speed < 500) {\n window.styler_speed += 100;\n }\n\n if (window?.kuika?.activeKuikaComponent !== undefined) {\n return;\n }\n const runTimeout = () => {\n this.timerId = setTimeout(() => {\n const allFormItems: NodeListOf = document.querySelectorAll(\".kFormItem\");\n if (allFormItems) {\n allFormItems.forEach((formItem) => {\n if (formItem.getAttribute(\"data-display-affected\") === \"true\") {\n return;\n }\n const antFormItemControlInputContent: HTMLElement = formItem.querySelector(\n \".ant-form-item-control .ant-form-item-control-input .ant-form-item-control-input-content\"\n );\n const antFormItemControlInput: HTMLElement = formItem.querySelector(\n \".ant-form-item-control .ant-form-item-control-input\"\n );\n const antFormItemControl: HTMLElement = formItem.querySelector(\".ant-form-item-control\");\n\n if (\n antFormItemControlInputContent &&\n antFormItemControlInputContent.children &&\n antFormItemControlInputContent.children.length > 0\n ) {\n const formChild: HTMLElement = antFormItemControlInputContent.children[0] as HTMLElement;\n let calculatedDisplay: string = formChild.style.display;\n if (\n calculatedDisplay &&\n antFormItemControl &&\n antFormItemControlInput &&\n antFormItemControlInputContent\n ) {\n if (calculatedDisplay === \"inline-flex\" || calculatedDisplay === \"inline-block\") {\n calculatedDisplay = \"\";\n formItem.style.width = formChild.style.width ?? \"auto\";\n formItem.style.display = \"inline-block\";\n formItem.setAttribute(\"data-display-affected\", \"true\");\n }\n }\n }\n });\n }\n this.componentDidMount();\n }, window.styler_speed);\n };\n\n runTimeout();\n\n setTimeout(() => {\n clearTimeout(this.timerId);\n }, 10000);\n };\n\n render() {\n const KuikaRouter = this.KuikaRouter();\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n\n KuikaRouter = () => {\n // Web component case\n let isWebComponentApp: any;\n isWebComponentApp = this.props.appMode === \"WebComponent\";\n if (\n confJson?.domainName !== undefined &&\n confJson?.applicationName !== undefined &&\n confJson?.applicationName !== \"\" &&\n window.kuika !== undefined &&\n window.kuika?.apps !== undefined &&\n window.kuika?.apps.length !== undefined &&\n window.kuika?.apps.length > 0\n ) {\n window.kuika?.apps.forEach((app: any) => {\n if (app.appName === confJson.applicationName && app.workspace === confJson.domainName) {\n isWebComponentApp = true;\n }\n });\n }\n if (window.kuika === undefined) {\n window.kuika = {};\n }\n window.kuika.isWebComponentApp = isWebComponentApp;\n\n if (isWebComponentApp === true || this.props.routerType === \"HashRouter\") {\n return (props: any) => {\n return {props.children};\n };\n }\n return (props: any) => {\n if (KMainFunctions.virtualDirectoryURL === \"auto\" || window?.location?.protocol === \"file:\") {\n return {props.children};\n }\n return (\n \n {props.children}\n \n );\n };\n };\n\n LoginComponent = () => {\n if (this.props.authType === \"MSAL\") {\n return MsalLogin;\n }\n\n const { external_access_token } = this.props;\n const { external_refresh_token } = this.props;\n const { external_user } = this.props;\n if (\n external_access_token !== null &&\n external_access_token !== undefined &&\n external_access_token !== \"\" &&\n external_refresh_token !== null &&\n external_refresh_token !== undefined &&\n external_refresh_token !== \"\"\n ) {\n return (props: any) => {\n return (\n \n );\n };\n }\n\n if (this.props.authType === \"Kuika\") {\n return Login_Screen;\n }\n return <>;\n };\n}\n","import { ConfigProvider } from \"antd/es\";\nimport * as React from \"react\";\nimport { memo } from \"react\";\nimport PWAPrompt from \"react-ios-pwa-prompt\";\nimport ReactNotification from \"react-notifications-component\";\nimport \"react-notifications-component/dist/theme.css\";\nimport { Provider } from \"react-redux\";\nimport \"../auth/interceptors\";\nimport { IAppMode, IAuthType } from \"../bootstrapper\";\nimport configureStore from \"../redux/root-reducer\";\nimport { IRouterType, Router } from \"../routes/router\";\nimport { ReactSystemFunctions } from \"../shared/utilty/react-system-functions\";\n\nconst store = configureStore();\n\ninterface IAppProps {\n routerType?: IRouterType;\n authType?: IAuthType;\n external_access_token?: string;\n external_refresh_token?: string;\n external_user?: string;\n appMode?: IAppMode;\n}\n\nconst KuikaAuthApp = (props: IAppProps) => {\n let { authType } = props;\n if (authType == undefined) {\n authType = \"Kuika\";\n }\n return (\n <>\n {/* */}\n \n \n \n \n \n \n \n \n \n {/* */}\n \n );\n};\n\nexport default memo(KuikaAuthApp);\n","import { Guid } from \"guid-typescript\";\nimport { AppBootstrapper } from \"../bootstrapper\";\nimport HelperService from \"./helper-service\";\nimport { UserService } from \"./user-service\";\n\nconst ONE_SECOND = 1000;\n\nenum ESessionTimeoutEventType {\n RESET_INACTIVITY_COUNTDOWN = 0,\n LOGGED_OUT = 1,\n NEW_INSTANCE_JOINED = 2\n}\n\ninterface IResetCountdownMessage {\n instance: string;\n type: ESessionTimeoutEventType;\n}\n\ninterface ISessionServiceConstructor {\n bootstrapper: AppBootstrapper;\n inactivityThresholdAsSeconds: number;\n logoutWarningThreshold: number;\n continueTimeoutCountdownAfterExit: boolean;\n}\n\nclass SessionService {\n private readonly bootstrapper: AppBootstrapper;\n\n private readonly inactivityThresholdAsSeconds: number;\n\n private readonly logoutWarningThreshold: number;\n\n private readonly continueTimeoutCountdownAfterExit: boolean;\n\n private uniqueInstanceIdentifier: Guid = Guid.create();\n\n private broadcast: BroadcastChannel | null = null;\n\n private INACTIVITY_TICK = ONE_SECOND;\n\n private MICRO_INACTIVITY_THRESHOLD = ONE_SECOND;\n\n private inactivityIntervalId: Guid | null;\n\n private eventActivityMap: { [key: string]: boolean } = {};\n\n private eventActivityTimeoutMap: { [key: string]: NodeJS.Timeout | null } = {};\n\n private _inactivityCountdown: number;\n\n private isResettingInactivityCountdownPaused: boolean = false;\n\n private lastUpdatedRemainingSessionTime: number = 0;\n\n private isLoggingOut: boolean = false;\n\n constructor(options: ISessionServiceConstructor) {\n this.bootstrapper = options.bootstrapper;\n this.inactivityThresholdAsSeconds = options.inactivityThresholdAsSeconds;\n this.logoutWarningThreshold = options.logoutWarningThreshold;\n this.continueTimeoutCountdownAfterExit = options.continueTimeoutCountdownAfterExit;\n this.initializeContinueTimeoutCountdownAfterExit();\n this.resetInactivityCountdown();\n }\n\n private getCurrentDateAsSeconds(): number {\n return Math.floor(new Date().getTime() / 1000);\n }\n\n private initializeContinueTimeoutCountdownAfterExit(): void {\n if (this.continueTimeoutCountdownAfterExit) {\n if (!localStorage.getItem(\"SESSION_TIMEOUT_START_TIME\")) {\n localStorage.setItem(\"SESSION_TIMEOUT_START_TIME\", this.getCurrentDateAsSeconds().toString());\n } else {\n // If greater than the timeout threshold, then logout.\n const startTime: number = parseInt(localStorage.getItem(\"SESSION_TIMEOUT_START_TIME\") as string, 10);\n const currentTime: number = this.getCurrentDateAsSeconds();\n const difference: number = currentTime - startTime;\n\n if (difference >= this.inactivityThresholdAsSeconds) {\n this.onClickLogout();\n localStorage.removeItem(\"SESSION_TIMEOUT_START_TIME\");\n }\n }\n } else {\n localStorage.removeItem(\"SESSION_TIMEOUT_START_TIME\");\n }\n }\n\n /**\n * We can't afford to verify if the user is logged in or not\n * by sending a request to the backend every time an event is\n * triggered.\n *\n * So we will use the tokenString to verify if the user is\n * logged in or not.\n * */\n static getIsConsideredLoggedIn(): boolean {\n return !!localStorage.getItem(\"tokenString\");\n }\n\n get inactivityCountdown(): number {\n return this._inactivityCountdown;\n }\n\n set inactivityCountdown(value: number) {\n this._inactivityCountdown = value;\n\n if (this.bootstrapper?.state?.isMounted) {\n this.bootstrapper.updateRemainingSessionTime(value);\n }\n\n // In order to threshold to be valid, it must be greater than 0.\n if (this.logoutWarningThreshold > 0 && value <= this.logoutWarningThreshold) {\n this.isResettingInactivityCountdownPaused = true;\n }\n }\n\n public resetInactivityCountdown(): void {\n const currentTime: number = this.getCurrentDateAsSeconds();\n if (\n this.continueTimeoutCountdownAfterExit &&\n localStorage.getItem(\"SESSION_TIMEOUT_START_TIME\") !== currentTime.toString()\n ) {\n localStorage.setItem(\"SESSION_TIMEOUT_START_TIME\", currentTime.toString());\n }\n\n this.inactivityCountdown = this.inactivityThresholdAsSeconds;\n this.isResettingInactivityCountdownPaused = false;\n }\n\n private onEvent(e: Event, broadcastMessage: boolean = true): void {\n if (!SessionService.getIsConsideredLoggedIn()) return;\n\n if (!this.isResettingInactivityCountdownPaused) {\n this.resetInactivityCountdown();\n }\n\n this.eventActivityMap[e.type] = true;\n\n if (this.eventActivityTimeoutMap[e.type]) {\n clearTimeout(this.eventActivityTimeoutMap[e.type]);\n this.eventActivityTimeoutMap[e.type] = null;\n }\n\n this.eventActivityTimeoutMap[e.type] = setTimeout(() => {\n this.eventActivityMap[e.type] = false;\n this.eventActivityTimeoutMap[e.type] = null;\n }, this.MICRO_INACTIVITY_THRESHOLD);\n\n if (!this.isResettingInactivityCountdownPaused && broadcastMessage) {\n this.broadCastMessage({\n instance: this.uniqueInstanceIdentifier.toString(),\n type: ESessionTimeoutEventType.RESET_INACTIVITY_COUNTDOWN\n });\n }\n }\n\n /**\n * Touch events are a bit different from the other events\n * as they start with a touchstart event and end with a\n * touchend event.\n *\n * So we need to keep track if the user is touching the screen\n * or not as touching but not firing any touchmove events still\n * counts as activity.\n */\n private onTouchStart(e: TouchEvent): void {\n this.eventActivityMap.isTouching = true;\n this.onEvent(e);\n }\n\n private onTouchMove(e: TouchEvent): void {\n this.onEvent(e);\n }\n\n private onTouchEnd(e: TouchEvent): void {\n this.eventActivityMap.isTouching = false;\n this.onEvent(e);\n }\n\n /**\n * Returns if any of the registered events are been triggered _in_ the last\n * {inactivityThresholdAsSeconds} amount of seconds.\n */\n private getIsInactive(): boolean {\n return Object.values(this.eventActivityMap).some((v: boolean) => !v);\n }\n\n private async handleInactivityCountdown(): Promise {\n if (!SessionService.getIsConsideredLoggedIn()) return;\n if (this.isLoggingOut) return;\n\n if (this.inactivityCountdown <= 0) {\n this.isLoggingOut = true;\n\n this.broadCastMessage({\n instance: this.uniqueInstanceIdentifier.toString(),\n type: ESessionTimeoutEventType.LOGGED_OUT\n });\n\n await UserService.Logout();\n this.isLoggingOut = false;\n this.resetInactivityCountdown();\n HelperService.gotoLogin();\n return;\n }\n\n if (!this.getIsInactive() && !this.isResettingInactivityCountdownPaused) {\n return;\n }\n\n if (Date.now() - this.lastUpdatedRemainingSessionTime >= ONE_SECOND) {\n this.inactivityCountdown -= 1;\n this.lastUpdatedRemainingSessionTime = Date.now();\n }\n }\n\n private setInterval(id?: Guid): void {\n const identifier: Guid = id ?? Guid.create();\n\n if (this.inactivityIntervalId && !this.inactivityIntervalId.equals(identifier)) {\n return;\n }\n\n if (!this.inactivityIntervalId) {\n this.inactivityIntervalId = identifier;\n }\n\n HelperService.setCorrectTimer(\n this.INACTIVITY_TICK,\n 24,\n () => {},\n () => {\n this.handleInactivityCountdown();\n\n if (this.inactivityCountdown >= 0) {\n this.setInterval(identifier);\n }\n }\n );\n }\n\n public onClickContinue(): void {\n this.resetInactivityCountdown();\n }\n\n public async onClickLogout(broadcast: boolean = true): Promise {\n if (broadcast) {\n this.broadCastMessage({\n instance: this.uniqueInstanceIdentifier.toString(),\n type: ESessionTimeoutEventType.LOGGED_OUT\n });\n }\n this.resetInactivityCountdown();\n\n this.isLoggingOut = true;\n await UserService.Logout();\n this.isLoggingOut = false;\n HelperService.gotoLogin();\n }\n\n private broadCastMessage(message: IResetCountdownMessage): void {\n if (this.broadcast) {\n this.broadcast.postMessage(message);\n }\n }\n\n private onBroadcastMessage(e: MessageEvent): void {\n const message: IResetCountdownMessage = e.data;\n\n if (message.instance === this.uniqueInstanceIdentifier.toString()) {\n return;\n }\n\n if (message.type === ESessionTimeoutEventType.NEW_INSTANCE_JOINED) {\n this.resetInactivityCountdown();\n }\n\n if (message.type === ESessionTimeoutEventType.RESET_INACTIVITY_COUNTDOWN) {\n if (this.isResettingInactivityCountdownPaused) {\n this.resetInactivityCountdown();\n } else {\n this.onEvent(e, false);\n }\n }\n\n if (message.type === ESessionTimeoutEventType.LOGGED_OUT) {\n this.onClickLogout(false);\n }\n }\n\n public registerEventListeners(): void {\n /**\n * Destroy any existing event listeners\n * before registering new ones in case\n * of this method being called multiple times\n * for some reason.\n */\n this.destroyEventListeners();\n document.addEventListener(\"mousemove\", this.onEvent.bind(this));\n document.addEventListener(\"focus\", this.onEvent.bind(this));\n document.addEventListener(\"keypress\", this.onEvent.bind(this));\n document.addEventListener(\"touchstart\", this.onTouchStart.bind(this));\n document.addEventListener(\"touchmove\", this.onTouchMove.bind(this));\n document.addEventListener(\"touchend\", this.onTouchEnd.bind(this));\n window.addEventListener(\"scroll\", this.onEvent.bind(this));\n this.setInterval();\n\n if (BroadcastChannel) {\n this.broadcast = new BroadcastChannel(\"session-channel\");\n this.broadcast.addEventListener(\"message\", this.onBroadcastMessage.bind(this));\n\n this.broadCastMessage({\n instance: this.uniqueInstanceIdentifier.toString(),\n type: ESessionTimeoutEventType.NEW_INSTANCE_JOINED\n });\n }\n\n // This is to sync the countdown between bootstrapper and this service.\n this.resetInactivityCountdown();\n }\n\n public destroyEventListeners(): void {\n document.removeEventListener(\"mousemove\", this.onEvent.bind(this));\n document.removeEventListener(\"focus\", this.onEvent.bind(this));\n document.removeEventListener(\"keypress\", this.onEvent.bind(this));\n document.removeEventListener(\"touchstart\", this.onTouchStart.bind(this));\n document.removeEventListener(\"touchmove\", this.onTouchMove.bind(this));\n document.removeEventListener(\"touchend\", this.onTouchEnd.bind(this));\n window.removeEventListener(\"scroll\", this.onEvent.bind(this));\n\n if (this.broadcast) {\n this.broadcast.removeEventListener(\"message\", this.onBroadcastMessage.bind(this));\n this.broadcast.close();\n this.broadcast = null;\n }\n\n this.inactivityIntervalId = null;\n }\n}\n\nexport default SessionService;\n","import \"animate.css/animate.min.css\";\n// import \"antd/dist/antd.min.css\";\nimport { GoogleOAuthProvider } from \"@react-oauth/google\";\nimport Axios from \"axios\";\nimport React from \"react\";\nimport \"slick-carousel/slick/slick-theme.css\";\nimport \"slick-carousel/slick/slick.css\";\nimport { setInterval } from \"worker-timers\";\nimport KuikaAuthApp from \"./app-types/kuika-auth-app\";\nimport LocalStorageService from \"./auth/local-storage-service\";\nimport { IRouterType } from \"./routes/router\";\nimport { ApplicationService } from \"./services/application-service\";\nimport HelperService from \"./services/helper-service\";\nimport { UserService } from \"./services/user-service\";\nimport { KuikaAppManager } from \"./shared/utilty/kuika-app-manager\";\nimport \"./styles/components/badge.scss\";\nimport \"./styles/components/divider.scss\";\nimport \"./styles/components/kanban-board.scss\";\nimport \"./styles/fonts.scss\";\nimport \"./styles/form.scss\";\nimport \"./styles/general.scss\";\nimport \"./styles/registration.scss\";\n\nimport SessionService from \"./services/session-service\";\nimport { translationService } from './services/_singletons';\nimport { Modal, Button } from \"antd/es\";\n\n\nexport type IAuthType = \"MSAL\" | \"Kuika\";\nexport type IAppMode = \"WebComponent\" | \"WebSite\";\n\ninterface IBootStrapperProps {\n authType: IAuthType;\n routerType?: IRouterType;\n tagName?: string;\n external_access_token?: string;\n external_refresh_token?: string;\n external_user?: string;\n appMode?: IAppMode;\n}\n\ndeclare let window: any;\n\ninterface IBootstrapperState {\n // session-service-state-placeholder\n isMounted: boolean;\n remainingSessionTime: number;\n}\n\nexport class AppBootstrapper extends React.Component {\n \n private readonly inactivityThreshold = 900;\n private readonly logoutWarningThreshold = 10;\n private readonly sessionService = new SessionService({\n bootstrapper: this,\n inactivityThresholdAsSeconds: this.inactivityThreshold,\n logoutWarningThreshold: this.logoutWarningThreshold,\n continueTimeoutCountdownAfterExit: false\n });\n\n constructor(props: IBootStrapperProps) {\n super(props);\n this.state = {\n isMounted: false,\n // Initial value is set to 99999999999 to prevent the session warning modal from showing up on the first render.\n remainingSessionTime: 99999999999\n };\n }\n\n getProps = () => {\n if (this.props == undefined) return \"\";\n return JSON.stringify(this.props);\n };\n\n webComponentAttached() {\n console.log(`attachedCallback:${this.getProps()}`);\n }\n\n webComponentConnected() {\n console.log(`connectedCallback:${this.getProps()}`);\n }\n\n webComponentDisconnected() {\n console.log(`disconnectedCallback:${this.getProps()}`);\n }\n\n webComponentAttributeChanged() {\n console.log(`attributeChangedCallback:${this.getProps()}`);\n }\n\n webComponentAdopted() {\n console.log(`adoptedCallback:${this.getProps()}`);\n }\n\n checkIsTokenExpired = async () => {\n if (!localStorage.getItem(\"tokenString\") && !localStorage.getItem(\"refreshToken\")) {\n return;\n }\n\n const isSessionValid: boolean = await UserService.GetIsTokenValid();\n\n if (isSessionValid) {\n return;\n }\n\n LocalStorageService.clearToken();\n HelperService.gotoLogin();\n };\n\n async componentDidMount(): Promise {\n // CODE GENERATION FLAGS!!!\n const IS_SAVE_APPLICATION_ENABLED: boolean = true;\n const IS_EXPIRE_OLD_SESSIONS_ENABLED: boolean = false;\n\n if (this.props.appMode === \"WebSite\" && IS_SAVE_APPLICATION_ENABLED) {\n await this.handleRequestSaveApplication();\n await ApplicationService.saveAllApplicationsToSessionStorage();\n ApplicationService.injectPreConnectLinks();\n }\n\n this.setKuikaInfo();\n\n this.setState({ isMounted: true }, () => {\n localStorage.removeItem(\"isGoogleLoginInProgress\");\n localStorage.removeItem(\"isGoogleLoginAborted\");\n });\n\n \n this.sessionService.registerEventListeners();\n\n Axios.defaults.headers.ClientSecret = HelperService.getClientSecret();\n\n if (IS_EXPIRE_OLD_SESSIONS_ENABLED) {\n this.checkIsTokenExpired();\n setInterval(async () => {\n this.checkIsTokenExpired();\n }, 10000);\n }\n }\n\n componentWillUnmount() {\n this.sessionService.destroyEventListeners();\n }\n\n setKuikaInfo() {\n if (this.props === undefined) {\n return;\n }\n if (!window.kuika) {\n window.kuika = {};\n }\n window.kuika.info = {};\n const appName = \"fasonSurecTakipv3\";\n const workspace = \"yildizPul\";\n const webComponentTag = \"yildiz-pul-fason-surec-takipv3\";\n const frontEndUrl = KuikaAppManager.GetFrontEndSourceUrl();\n const backEndUrl = KuikaAppManager.GetBackendUrl(true);\n const { authType } = this.props;\n const html = String.raw`\n \n \n \n \n \n \n \n \n `;\n window.kuika.info.workspace = workspace;\n window.kuika.info.applicationName = appName;\n window.kuika.info.webComponentTag = webComponentTag;\n window.kuika.info.frontEndUrl = frontEndUrl;\n window.kuika.info.backEndUrl = backEndUrl;\n window.kuika.info.authType = authType;\n window.kuika.html = html;\n window.kuika.getModule = () => {\n console.log(window.kuika.html);\n };\n }\n\n handleRequestSaveApplication = async () => {\n const SAVE_APP_REQUEST_KEY = \"SAVE_APP_REQUESTED\";\n\n const isRequestedBefore: string = sessionStorage.getItem(SAVE_APP_REQUEST_KEY);\n\n if (isRequestedBefore) {\n return;\n }\n\n try {\n await ApplicationService.saveApplication();\n sessionStorage.setItem(SAVE_APP_REQUEST_KEY, \"true\");\n } catch (e) {\n setTimeout(this.handleRequestSaveApplication.bind(this), 10000);\n }\n };\n\n \n onClickContinue = () => {\n this.sessionService.onClickContinue();\n };\n\n onClickLogout = () => {\n this.sessionService.onClickLogout();\n };\n\n\n updateRemainingSessionTime = (remainingSessionTime: number) => {\n this.setState({ remainingSessionTime });\n };\n\n public render() {\n return (\n \n \n \n 0 && this.state.remainingSessionTime <= this.logoutWarningThreshold}\n footer={[\n ,\n \n ]}\n >\n
\n { translationService.translate('session_timeout.logout_warning_text', undefined, { seconds: this.state.remainingSessionTime.toString() }) }\n
\n \n\n
\n );\n }\n}\n\nexport default AppBootstrapper;\n","import React, { ReactNode } from \"react\";\nimport styled, { css } from \"styled-components\";\nimport withCommonEvents from \"../shared/hoc/with-common-events\";\n\ninterface Props {\n dynamicStyles: string;\n className?: string;\n children: ReactNode;\n}\nconst StyledComponent = styled.div.attrs((props) => ({\n className: props.className\n}))`\n ${(props: any) => css`\n ${props.dynamicStyles}\n `}\n`;\n\nconst DynamicStyleComponent: React.FC = ({ dynamicStyles, className, children }) => {\n return {children};\n};\n\nexport default withCommonEvents(DynamicStyleComponent);\n","import { createRoot } from \"react-dom/client\";\nimport { AppBootstrapper, IAppMode, IAuthType } from \"./bootstrapper\";\nimport { IRouterType } from \"./routes/router\";\nimport { KMainFunctions } from \"./shared/utilty/main-functions\";\nimport WebComponentInit from \"./web-component-init\";\n\nKMainFunctions.ignoreKnownConsoleErrors();\nKMainFunctions.ignoreKnownConsoleWarns();\n\nconst owner = document.getElementById(\"yildiz-pul-fason-surec-takipv3\");\nif (owner) {\n const container = document.getElementById(\"yildiz-pul-fason-surec-takipv3\");\n\n const root = createRoot(container!);\n\n const authType: IAuthType = \"Kuika\";\n const routerType: IRouterType = \"BrowserRouter\";\n const appMode: IAppMode = \"WebSite\";\n\n root.render();\n\n if ((module as any).hot) {\n (module as any).hot.accept();\n }\n} else {\n WebComponentInit();\n}\n\nconst workspace = \"yildizPul\";\nconst app = \"fasonSurecTakipv3\";\nconst webComponentTag = \"yildiz-pul-fason-surec-takipv3\";\nexport { app, webComponentTag, workspace };\n","import React from \"react\";\nimport { define } from \"remount\";\nimport { IAppMode, IAuthType } from \"./bootstrapper\";\nimport { IRouterType } from \"./routes/router\";\n\nconst authType: IAuthType = \"Kuika\";\nconst routerType: IRouterType = \"HashRouter\";\nconst appMode: IAppMode = \"WebComponent\";\n\nexport default () => {\n const AppBootstrapper = React.lazy(() =>\n import(\"./bootstrapper\").then((module) => ({ default: module.AppBootstrapper }))\n );\n\n const WebComponent = ({ external_user, external_access_token, external_refresh_token }) => {\n return (\n \n );\n };\n define(\n {\n \"yildiz-pul-fason-surec-takipv3\": {\n component: WebComponent,\n attributes: [\"external_user\", \"external_access_token\", \"external_refresh_token\"]\n }\n },\n {\n shadow: false,\n retarget: true,\n quiet: true\n }\n );\n};\n","import { CheckResultType } from \"../enum/auth\";\n\nexport interface ILoginDto {\n username: string;\n password: string;\n}\nexport interface IExternalTokenRequest {\n providerType: EExternalTokenProviderTypes;\n username: string;\n tokenString: string;\n refreshToken: string;\n redirectUri?: string;\n claims?: Record;\n externalParameters?: Record;\n}\n\nexport enum EExternalTokenProviderTypes {\n None = 0,\n AzureAD = 1,\n Google = 2,\n Apple = 3,\n Facebook = 4\n}\n\ninterface ICheckResult {\n resultType: CheckResultType;\n message: string;\n}\n\ninterface ILoginResponse {\n /** UUID */\n id: string;\n username: string;\n firstName: string;\n lastName: string;\n tokenString: string;\n refreshToken: string;\n language: string | null;\n forceResetPassword: boolean;\n passwordValidationResult?: {\n checkResults: ICheckResult[];\n hasWarnings: boolean;\n hasErrors: boolean;\n errors: string;\n warnings: string;\n };\n}\n","export enum CheckResultType {\n Success,\n Warning,\n Error\n}\n\nexport enum EAccountStatus {\n Valid = 0,\n ForceResetPassword = 1,\n ShouldActivated = 2,\n TwoFactorAuthentication = 3\n}\n","import { IImportMappedExcelColumnMapDefinition } from \"../../models/dto/excel\";\nimport {\n HIDE_IMPORT_MAPPED_EXCEL_MODAL,\n HIDE_IYZICO_DRAWER,\n HIDE_PHOTO_TAKE,\n HIDE_STRIPE_DRAWER,\n ImportMappedExcelModalActionTypes,\n IyzicoDrawerActionTypes,\n PhotoTakeActionTypes,\n SHOW_IMPORT_MAPPED_EXCEL_MODAL,\n SHOW_IYZICO_DRAWER,\n SHOW_PHOTO_TAKE,\n SHOW_STRIPE_DRAWER,\n StripeDrawerActionTypes\n} from \"./types\";\n\nexport const hidePhotoTake = (): PhotoTakeActionTypes => {\n return {\n type: HIDE_PHOTO_TAKE,\n meta: {\n params: {}\n }\n };\n};\n\nexport const showPhotoTake = (): PhotoTakeActionTypes => {\n return {\n type: SHOW_PHOTO_TAKE,\n meta: {\n params: {}\n }\n };\n};\n\nexport const showStripeDrawer = (data, callback, screen, futureUse): StripeDrawerActionTypes => {\n return {\n type: SHOW_STRIPE_DRAWER,\n payload: data,\n callback,\n screen,\n futureUse,\n meta: {\n params: {}\n }\n };\n};\n\nexport const hideStripeDrawer = (data, callback, screen): StripeDrawerActionTypes => {\n return {\n type: HIDE_STRIPE_DRAWER,\n payload: data,\n callback,\n screen,\n meta: {\n params: {}\n }\n };\n};\n\nexport const showIyzicoDrawer = (data, callback, screen): IyzicoDrawerActionTypes => {\n return {\n type: SHOW_IYZICO_DRAWER,\n payload: data,\n callback,\n screen,\n meta: {\n params: {}\n }\n };\n};\n\nexport const hideIyzicoDrawer = (data, callback, screen): IyzicoDrawerActionTypes => {\n return {\n type: HIDE_IYZICO_DRAWER,\n payload: data,\n callback,\n screen,\n meta: {\n params: {}\n }\n };\n};\n\nexport const showImportMappedExcelModal = (\n dsId: string,\n tableName: string,\n primaryKey: string,\n columnMapping: IImportMappedExcelColumnMapDefinition[]\n): ImportMappedExcelModalActionTypes => {\n return {\n type: SHOW_IMPORT_MAPPED_EXCEL_MODAL,\n dsId,\n tableName,\n primaryKey,\n columnMapping\n };\n};\n\nexport const hideImportMappedExcelModal = (): ImportMappedExcelModalActionTypes => {\n return {\n type: HIDE_IMPORT_MAPPED_EXCEL_MODAL\n };\n};\n\ntype SpinnerActionType = typeof hidePhotoTake | typeof showPhotoTake;\n","import { IImportMappedExcelColumnMapDefinition } from \"../../models/dto/excel\";\n\nexport const SHOW_PHOTO_TAKE = \"SHOW_PHOTO_TAKE\";\nexport const HIDE_PHOTO_TAKE = \"HIDE_PHOTO_TAKE\";\nexport const SHOW_STRIPE_DRAWER = \"SHOW_STRIPE_DRAWER\";\nexport const HIDE_STRIPE_DRAWER = \"HIDE_STRIPE_DRAWER\";\nexport const SHOW_IYZICO_DRAWER = \"SHOW_IYZICO_DRAWER\";\nexport const HIDE_IYZICO_DRAWER = \"HIDE_IYZICO_DRAWER\";\nexport const SHOW_IMPORT_MAPPED_EXCEL_MODAL = \"SHOW_IMPORT_MAPPED_EXCEL_MODAL\";\nexport const HIDE_IMPORT_MAPPED_EXCEL_MODAL = \"HIDE_IMPORT_MAPPED_EXCEL_MODAL\";\n\nexport interface PhotoTakeState {\n visible: boolean;\n}\n\ninterface StripeDrawerState {\n visible: boolean;\n}\n\ninterface IyzicoDrawerState {\n visible: boolean;\n}\ninterface ShowPhotoTakeAction {\n type: typeof SHOW_PHOTO_TAKE;\n meta: {\n params: {};\n };\n}\n\ninterface HidePhotoTakeAction {\n type: typeof HIDE_PHOTO_TAKE;\n meta: {\n params: {};\n };\n}\ninterface ShowStripeDrawerAction {\n type: typeof SHOW_STRIPE_DRAWER;\n payload?: any;\n callback?: any;\n screen?: any;\n futureUse?: any;\n meta: {\n params: {};\n };\n}\ninterface HideStripeDrawerAction {\n type: typeof HIDE_STRIPE_DRAWER;\n payload?: any;\n callback?: any;\n screen?: any;\n\n meta: {\n params: {};\n };\n}\n\ninterface ShowIyzicoDrawerAction {\n type: typeof SHOW_IYZICO_DRAWER;\n payload?: any;\n callback?: any;\n screen?: any;\n meta: {\n params: {};\n };\n}\ninterface HideIyzicoDrawerAction {\n type: typeof HIDE_IYZICO_DRAWER;\n payload?: any;\n callback?: any;\n screen?: any;\n\n meta: {\n params: {};\n };\n}\n\ninterface ShowImportMappedExcelModalAction {\n type: typeof SHOW_IMPORT_MAPPED_EXCEL_MODAL;\n dsId: string;\n tableName: string;\n primaryKey: string;\n columnMapping: IImportMappedExcelColumnMapDefinition[];\n}\n\ninterface HideImportMappedExcelModalAction {\n type: typeof HIDE_IMPORT_MAPPED_EXCEL_MODAL;\n}\n\nexport type PhotoTakeActionTypes = ShowPhotoTakeAction | HidePhotoTakeAction;\nexport type StripeDrawerActionTypes = ShowStripeDrawerAction | HideStripeDrawerAction;\nexport type IyzicoDrawerActionTypes = ShowIyzicoDrawerAction | HideIyzicoDrawerAction;\nexport type ImportMappedExcelModalActionTypes = ShowImportMappedExcelModalAction | HideImportMappedExcelModalAction;\n","export interface ISaveApplicationRequestDTO {\n projectId: string;\n applicationName: string;\n applicationType: EApplicationType;\n baseUrl: string;\n pingUrl?: string;\n description: string;\n}\n\nexport enum EApplicationType {\n Backend = 0,\n Frontend = 1,\n SchedulerJob = 2,\n Workflow = 3\n}\n","import Axios, { AxiosResponse } from \"axios\";\nimport { IApplicationInfo } from \"../models/dto/application.dto\";\nimport { EApplicationType, ISaveApplicationRequestDTO } from \"../models/dto/save-application-request.dto\";\nimport { KuikaAppManager } from \"../shared/utilty/kuika-app-manager\";\nimport { KMainFunctions } from \"../shared/utilty/main-functions\";\n\nconst backendUrl = KuikaAppManager.GetBackendUrl();\nconst projectId = \"43fa4f4e-9806-4ab6-a965-6fc337e591bc\";\nconst projectName = \"FasonSurecTakipv3\";\n\nexport class ApplicationService {\n public static async saveApplication() {\n const virtualDirectoryURL: string = \"auto\"; // Use by code generation\n return Axios.post>(`${backendUrl}/application`, {\n projectId,\n applicationType: EApplicationType.Frontend,\n applicationName: projectName,\n baseUrl: KMainFunctions.windowLocationOrigin,\n description: `${projectName} application frontend`\n });\n }\n\n public static async getAllApplications(): Promise> {\n return Axios.get(`${backendUrl}/application/all`);\n }\n\n public static injectPreConnectLinks = () => {\n const APPS_TO_BE_PRECONNECTED: string[] = [];\n\n if (APPS_TO_BE_PRECONNECTED.length === 0) {\n return;\n }\n\n const applications = this.getAllApplicationsFromSessionStorage()?.frontEndApplications || [];\n\n if (applications.length === 0) {\n return;\n }\n\n const head: HTMLHeadElement = document.getElementsByTagName(\"head\")[0];\n const preconnectLinks: NodeListOf = head.querySelectorAll(\"link[rel='preconnect']\");\n const preconnectLinksHref = Array.from(preconnectLinks).map((link) => link.href);\n\n applications.forEach((app) => {\n if (APPS_TO_BE_PRECONNECTED.includes(app.baseUrl) && !preconnectLinksHref.includes(app.baseUrl)) {\n const link = document.createElement(\"link\");\n link.rel = \"preconnect\";\n link.href = app.baseUrl;\n head.appendChild(link);\n }\n });\n };\n\n public static saveAllApplicationsToSessionStorage = async () => {\n if (sessionStorage.getItem(\"all-applications\") && sessionStorage.getItem(\"front-end-applications\")) {\n return;\n }\n\n const response = await ApplicationService.getAllApplications();\n\n if (response.status !== 200) return;\n\n sessionStorage.setItem(\"all-applications\", JSON.stringify(response.data));\n sessionStorage.setItem(\n \"front-end-applications\",\n JSON.stringify(response.data.filter((app) => app.applicationType === EApplicationType.Frontend))\n );\n };\n\n public static getAllApplicationsFromSessionStorageRaw = (): {\n allApplications: string;\n frontEndApplications: string;\n } | null => {\n const allApplications = sessionStorage.getItem(\"all-applications\");\n const frontEndApplications = sessionStorage.getItem(\"front-end-applications\");\n if (!allApplications || !frontEndApplications) {\n return null;\n }\n return {\n allApplications,\n frontEndApplications\n };\n };\n\n public static getAllApplicationsFromSessionStorage = (): {\n allApplications: IApplicationInfo[];\n frontEndApplications: IApplicationInfo[];\n } | null => {\n const applications = ApplicationService.getAllApplicationsFromSessionStorageRaw();\n\n if (!applications) return null;\n\n return {\n allApplications: JSON.parse(applications.allApplications),\n frontEndApplications: JSON.parse(applications.frontEndApplications)\n };\n };\n}\n","import { setTimeout } from \"worker-timers\";\nimport { KuikaAppManager } from \"../shared/utilty/kuika-app-manager\";\nimport { ReactSystemFunctions } from \"../shared/utilty/react-system-functions\";\n\ninterface IRedirectToOptions {\n openInNewTab: boolean;\n}\n\ndeclare let window: any;\n\nclass HelperService {\n static getClientSecret(): string {\n return \"9e3f75e265baf9ad3adfaed394e452c17480e6aa33920580fcfd9016a15fc9e1\";\n }\n\n static redirectGotoStartingScreen = async (screen?: string) => {\n let screenName: string = ReactSystemFunctions.getScreenNameByActiveUserRoles();\n\n if (\n (screenName === \"\" || screenName === undefined) &&\n window.userInfo?.startingScreenId &&\n window.userInfo.startingScreenId.length > 0\n ) {\n screenName = ReactSystemFunctions.getScreenNameById(window.userInfo.startingScreenId);\n }\n\n if (screenName === \"\" || screenName === undefined) {\n HelperService.redirectToPath(screen ?? \"/HomePage\");\n } else {\n HelperService.redirectToPath(`/${screenName}`);\n }\n };\n\n static gotoLogin() {\n HelperService.redirectToPath(\"/login\");\n }\n\n static redirectToPath(path: string, options?: IRedirectToOptions): void {\n const frontEndUrl = KuikaAppManager.GetFrontEndUrl();\n const isWebComponent = KuikaAppManager.IsWebComponent();\n HelperService.redirectToFullUrl(`${frontEndUrl}${isWebComponent === true ? \"#\" : \"\"}${path}`, options);\n }\n\n static redirectToFullUrl(url: string, options?: IRedirectToOptions): void {\n if (options?.openInNewTab) {\n window.open(url, \"_blank\", \"noopener,noreferrer\");\n } else {\n window.location.replace(url);\n }\n }\n\n static setCorrectTimer(\n timeout: number,\n iterationPerSecond: number,\n onIteration: (steps: number, count: number) => void,\n onCompleted: (steps: number, count: number) => void\n ): void {\n const steps: number = (timeout / 100) * (iterationPerSecond / 10);\n const speed: number = timeout / steps;\n const start: number = new Date().getTime();\n let count: number = 0;\n\n const instance = () => {\n count += 1;\n\n if (count === steps) {\n onCompleted(steps, count);\n } else {\n onIteration(steps, count);\n\n const diff: number = new Date().getTime() - start - count * speed;\n setTimeout(instance, speed - diff);\n }\n };\n\n setTimeout(instance, speed);\n }\n}\n\nexport default HelperService;\n","import { GoogleTokenResponse } from \"@kuika/kuika-cl-model\";\nimport Axios, { AxiosResponse } from \"axios\";\nimport _ from \"lodash\";\nimport LocalStorageService from \"../auth/local-storage-service\";\nimport { IChangeTwoFactorAuthenticationType } from \"../models/dto/IChangeTwoFactorAuthenticationType.dto\";\nimport { IChangePasswordDto } from \"../models/dto/change-password.dto\";\nimport { ICreateUserWithPasswordDto } from \"../models/dto/create-user-with-password\";\nimport { ICreateUserDto } from \"../models/dto/createuser\";\nimport { IForgotPasswordDto } from \"../models/dto/forgotpassword.dto\";\nimport { IExternalTokenRequest, ILoginDto } from \"../models/dto/login.dto\";\nimport { IResetPasswordWithTokenDto } from \"../models/dto/reset-password-with-token\";\nimport { ISignupDto } from \"../models/dto/signup.dto\";\nimport { IUpdateUserStartingScreen } from \"../models/dto/update-user-starting-screen.dto\";\nimport { IUpdateUsernameDto } from \"../models/dto/update-username.dto\";\nimport { IUserInfoDto } from \"../models/dto/user-info.dto\";\nimport { IUserRoleDto } from \"../models/dto/userrole.dto\";\nimport { IVerifyVerificationCodeDto } from \"../models/dto/verify-verification-code.dto\";\nimport { CheckResultType } from \"../models/enum/auth\";\nimport { KuikaAppManager } from \"../shared/utilty/kuika-app-manager\";\nimport { KMainFunctions } from \"../shared/utilty/main-functions\";\nimport HelperService from \"./helper-service\";\n\nconst backendUrl = KuikaAppManager.GetBackendUrl();\n\ndeclare let window: any;\nexport class UserService {\n public static async Login(user: ILoginDto): Promise {\n try {\n const res = await Axios.post(`${backendUrl}/auth/login`, user);\n const result = UserService.ProcessLoginResult(res);\n return await result;\n } catch (error: any) {\n if (\n error?.response?.data?.message === \"Your password has expired\" ||\n error?.response?.data?.message === \"Şifrenizin süresi doldu\" ||\n error?.response?.data?.message === \"Votre mot de passe a expiré\"\n ) {\n throw new Error(error.response.data.message);\n }\n\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async EncryptedLogin(user: ILoginDto): Promise {\n try {\n const res = await Axios.post(`${backendUrl}/auth/encryptedlogin`, user);\n const result = UserService.ProcessLoginResult(res);\n return await result;\n } catch (error: any) {\n if (\n error?.response?.data?.message === \"Your password has expired\" ||\n error?.response?.data?.message === \"Şifrenizin süresi doldu\" ||\n error?.response?.data?.message === \"Votre mot de passe a expiré\"\n ) {\n throw new Error(error.response.data.message);\n }\n\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async LoginWithVerificationCode(user: any): Promise {\n try {\n const res = await Axios.post(`${backendUrl}/auth/loginwithverificationcode`, user);\n LocalStorageService.setVerificationStatus(\"true\");\n LocalStorageService.setVerificationUserName(\"\");\n const result = UserService.ProcessLoginResult(res);\n return await result;\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async LoginWithExternalToken(externalTokenRequest: IExternalTokenRequest): Promise {\n try {\n const res = await Axios.post(`${backendUrl}/auth/loginwithtoken`, externalTokenRequest);\n const result = UserService.ProcessLoginResult(res);\n return await result;\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n private static async ProcessLoginResult(res: AxiosResponse): Promise {\n if (res && res.status === 200) {\n if (res.data.status === 2) {\n return res;\n }\n LocalStorageService.setToken(res.data);\n LocalStorageService.setUserLanguage(res.data);\n LocalStorageService.setLoginStatus(res.data.status);\n if (window.userInfo === undefined) {\n if (res.data.status === 0) {\n await UserService.GetUserInfo();\n }\n }\n\n res.data?.passwordValidationResult?.checkResults?.forEach((result) => {\n if (result.resultType === CheckResultType.Warning) {\n KMainFunctions.displayWarningNotification(result.message);\n }\n });\n }\n\n return res;\n }\n\n public static async SignUp(user: ISignupDto): Promise {\n try {\n return await Axios.post(`${backendUrl}/auth/signup`, user);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async VerifyVerificationCode(obj: IVerifyVerificationCodeDto): Promise {\n try {\n return await Axios.post(`${backendUrl}/auth/isverificationcodevalid`, obj);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async ResetPasswordWithToken(user: IResetPasswordWithTokenDto): Promise {\n try {\n return await Axios.post(`${backendUrl}/auth/resetpasswordwithtoken`, user);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async CreateUser(user: ICreateUserDto): Promise {\n try {\n await Axios.post(`${backendUrl}/auth/createuser`, user);\n return \"\";\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n if (error && error.response && error.response.data) {\n return error.response.data.message;\n }\n return \"An error has been occurred. Please try again.\";\n }\n }\n\n public static async CreateUserWithPassword(user: ICreateUserWithPasswordDto): Promise {\n try {\n await Axios.post(`${backendUrl}/auth/createuserwithpassword`, user);\n return \"\";\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n if (error && error.response && error.response.data) {\n return error.response.data.message;\n }\n return \"An error has been occurred. Please try again.\";\n }\n }\n\n public static async ForgotPassword(user: IForgotPasswordDto): Promise {\n try {\n const result = await Axios.post(`${backendUrl}/auth/forgotpassword`, user);\n LocalStorageService.setForgotPasswordEmail(user.email);\n return result;\n } catch (error: any) {\n LocalStorageService.setForgotPasswordEmail(\"\");\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async ResetPassword(user: IResetPasswordWithTokenDto): Promise {\n try {\n return await Axios.post(\n `${backendUrl}/auth/resetpasswordwithtoken`,\n user\n );\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static getEmailToResetPassword(): any {\n return LocalStorageService.getForgotPasswordEmail();\n }\n\n public static async Logout(): Promise {\n try {\n var request = indexedDB.open(\"msalDb\", 1);\n request.onupgradeneeded = function (event: any) {\n var db = event.target.result;\n var objectStore = db.createObjectStore(\"logingout\", { keyPath: \"id\" });\n objectStore.add({ id: 1, status: \"true\" });\n };\n await Axios.post(`${backendUrl}/auth/logout`, {});\n LocalStorageService.clearToken();\n window.userInfo = undefined;\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n }\n }\n\n public static async ChangePassword(obj: IChangePasswordDto): Promise {\n try {\n return await Axios.post(`${backendUrl}/auth/changepassword`, obj);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async GetUserInfo(): Promise {\n if (!window?.userInfo?.username) {\n try {\n const res = await Axios.get(`${backendUrl}/auth/userinfo`);\n if (res && res.status === 200) {\n window.userInfo = res.data as IUserInfoDto;\n }\n } catch (error) {\n window.userInfo = undefined;\n\n if (error?.response?.status && error.response.status !== 401 && error.response.status >= 400) {\n LocalStorageService.clearToken();\n HelperService.gotoLogin();\n }\n\n // KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n return window.userInfo as IUserInfoDto;\n }\n\n public static async GetUserInfoForce(): Promise {\n try {\n const res = await Axios.get(`${backendUrl}/auth/userinfo`);\n if (res && res.status === 200) {\n if (res?.data?.userLogoutMessage?.length > 0) {\n KMainFunctions.displayWarningNotification(res?.data?.userLogoutMessage);\n setTimeout(() => {\n UserService.Logout();\n }, 3000);\n return;\n }\n window.userInfo = res.data;\n LocalStorageService.setCurrentDomain(res.data.lastUsedDomainName);\n return window.userInfo;\n }\n } catch (error: any) {\n window.userInfo = undefined;\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async AddUserToRole(obj: IUserRoleDto): Promise {\n try {\n return await Axios.post(`${backendUrl}/authorization/addusertorole`, obj);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async RemoveUserFromRole(obj: IUserRoleDto): Promise {\n try {\n return await Axios.post(`${backendUrl}/authorization/removeuserfromrole`, obj);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async EnableUser(userName: string): Promise {\n try {\n return await Axios.put(`${backendUrl}/auth/enableuser`, { email: userName });\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async DisableUser(userName: string): Promise {\n try {\n return await Axios.put(`${backendUrl}/auth/disableuser`, { email: userName });\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async UpdateUserName(obj: IUpdateUsernameDto): Promise {\n try {\n return await Axios.post(`${backendUrl}/auth/updateusername`, obj);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async UpdateUserStartingScreen(obj: IUpdateUserStartingScreen): Promise {\n try {\n return await Axios.post(`${backendUrl}/auth/updateuserstartingscreen`, obj);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async ValidateToken(): Promise {\n try {\n return await Axios.post(`${backendUrl}/auth/validatetoken`);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async AuthenticateWithGoogle(authCode: string): Promise> {\n try {\n return await Axios.post>(`${backendUrl}/auth/authenticatewithgoogle`, {\n authCode,\n redirectUri: location.origin\n });\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async SendVerificationCode(obj: IForgotPasswordDto) {\n try {\n return await Axios.post(`${backendUrl}/auth/sendverificationcode`, obj);\n } catch (error) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async ChangeTwoFactorAuthenticationType(obj: IChangeTwoFactorAuthenticationType) {\n try {\n return await Axios.post(`${backendUrl}/auth/changetwofactorauthenticationtype`, obj);\n } catch (error) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async GetIsTokenValid(): Promise {\n try {\n const refreshToken: string | null = LocalStorageService.getRefreshToken();\n\n if (!refreshToken || _.isEmpty(refreshToken)) {\n return false;\n }\n\n const res = await Axios.post<{ token: string }, AxiosResponse>(`${backendUrl}/auth/getistokenvalid`, {\n token: refreshToken\n });\n\n if (res?.data?.isValid) {\n return true;\n }\n return false;\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return false;\n }\n }\n}\n","import { WorkflowWithStepsDto } from \"@kuika/kuika-cl-model/src/dtos/workflow.dto\";\nimport Axios, { AxiosResponse } from \"axios\";\nimport { ITaskDataParameters, ITaskNavigationParameters } from \"../models/dto/workflow-task.dto\";\nimport { KuikaAppManager } from \"../shared/utilty/kuika-app-manager\";\nimport { KMainFunctions } from \"../shared/utilty/main-functions\";\n\nconst backendUrl = KuikaAppManager.GetBackendUrl();\n\nexport class WorkflowService {\n // public static async ListMyTasks(request: IPendingTasksRequestDto): Promise> {\n // try {\n // return await Axios.post(`${backendUrl}/Workflows/usertasks`, request);\n // } catch (error: any) {\n // KMainFunctions.exceptionHandler(error);\n // return error;\n // }\n // }\n\n // public static async GetTaskDetail(stepInstance: string): Promise> {\n // try {\n // return await Axios.get(`${backendUrl}/Workflows/usertasks/${stepInstance}`);\n // } catch (error: any) {\n // KMainFunctions.exceptionHandler(error);\n // return error;\n // }\n // }\n\n // public static async ListMyRequests(\n // request: IProcessHistoryRequestDto\n // ): Promise> {\n // try {\n // return await Axios.post(`${backendUrl}/Workflows/userprocesses`, request);\n // } catch (error: any) {\n // KMainFunctions.exceptionHandler(error);\n // return error;\n // }\n // }\n\n // public static async ListUserRequests(\n // request: IWorkflowInstanceDto,\n // user?: string\n // ): Promise> {\n // try {\n // return await Axios.post(`${backendUrl}/Workflows/userprocesses/${user}`, request);\n // } catch (error: any) {\n // KMainFunctions.exceptionHandler(error);\n // return error;\n // }\n // }\n\n // public static async ShowWorkflowHistory(ProcessInstance: string): Promise> {\n // try {\n // return await Axios.get(`${backendUrl}/Workflows/processhistory/${ProcessInstance}`);\n // } catch (error: any) {\n // KMainFunctions.exceptionHandler(error);\n // return error;\n // }\n // }\n\n // public static async GetWorkflowEngine(): Promise> {\n // try {\n // return await Axios.get(`${backendUrl}/Application/workflowengine`);\n // } catch (error: any) {\n // KMainFunctions.exceptionHandler(error);\n // return error;\n // }\n // }\n\n public static async GetNavigationParameters(key: string): Promise> {\n try {\n return await Axios.get(`${backendUrl}/Workflows/navigationparameters/${key}`);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async GetStepScreen(processId: string, stepId: string, appId: string): Promise> {\n try {\n if (appId && appId.length > 0)\n return await Axios.get(\n `${backendUrl}/Workflows/stepscreen/${processId}/${stepId}/${appId}`\n );\n return await Axios.get(`${backendUrl}/Workflows/stepscreen/${processId}/${stepId}`);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async GetTaskInstanceParameters(key: string): Promise> {\n try {\n return await Axios.get(`${backendUrl}/Workflows/stepdata/${key}`);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n // public static async AssignTask(stepKey: string, userKey: string): Promise> {\n // try {\n // return await Axios.post(`${backendUrl}/Workflows/assigntask/${stepKey}/${userKey}`);\n // } catch (error: any) {\n // KMainFunctions.exceptionHandler(error);\n // return error;\n // }\n // }\n\n // public static async ReleaseTask(stepKey: string): Promise> {\n // try {\n // return await Axios.post(`${backendUrl}/Workflows/releasetask/${stepKey}`);\n // } catch (error: any) {\n // KMainFunctions.exceptionHandler(error);\n // return error;\n // }\n // }\n\n public static async GetWorkflowWithSteps(instanceId: string): Promise> {\n try {\n return await Axios.get(`${backendUrl}/workflows/workflowWithSteps/${instanceId}`);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async SendMailInteraction(queryString: string): Promise> {\n try {\n return await Axios.get(`${backendUrl}/workflows/mailInteraction?${queryString}`);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n}\n","import { Component } from \"react\";\nimport { CommonProps } from \"../../components/web-components/common/common-props\";\n\nconst withCommonEvents = (WrappedComponent) => {\n class CommonEventComponent extends Component

{\n constructor(props: any) {\n super(props);\n }\n\n handleClick = (e: any) => {\n if (this.props.onClick && typeof this.props.onClick === \"function\") {\n this.props.onClick(e, this.props.rowIndex);\n }\n };\n\n render() {\n if (this.props.visibility !== \"hidden\")\n return this.applyEditablty(\n \n {...(this.props as P)}\n onClick={this.handleClick}\n ref={this.props.kuikaRef}\n tabIndex={this.props.editability === \"disabled\" ? -1 : undefined}\n />\n );\n\n return <>;\n }\n\n applyEditablty = (child: any) => {\n if (this.props.editability === \"disabled\" && child?.props?.style) {\n const style: any = {};\n Object.assign(style, child.props.style);\n style.pointerEvents = \"none\";\n style.opacity = 0.7;\n child = {\n ...child,\n props: {\n ...child.props,\n style\n }\n };\n }\n\n return child;\n };\n }\n\n return CommonEventComponent;\n};\n\nexport default withCommonEvents;\n","import { IUserInfoDto } from \"../../models/dto/user-info.dto\";\n\ndeclare let window: any;\n\ninterface ContextHocProp {\n context: KContext;\n}\n\nexport const withContext = (Component: any) => {\n return (props: any) => {\n const context = new KContext();\n return ;\n };\n};\n\nexport class KContext {\n userInfo: IUserInfoDto;\n\n isWebComponentApp: boolean;\n\n constructor() {\n const { userInfo, kuika } = window;\n this.userInfo = userInfo;\n this.isWebComponentApp = kuika.isWebComponentApp;\n }\n}\n","import { Input } from \"antd/es\";\nimport { TextAreaRef } from \"antd/es/input/TextArea\";\nimport { CSSProperties, Component, KeyboardEvent, createRef } from \"react\";\nimport { FrameMessageSender } from \"../../components/web-components/kuika-cl-model-runtimes\";\n\ndeclare let window: any;\n\nconst withDoubleClickEdit = (WrappedComponent, propertyName: string) => {\n interface IDoubleClickEditElementState {\n isEditEnabled: boolean;\n }\n\n class DoubleClickEditElement extends Component {\n editInput = createRef();\n\n designer: FrameMessageSender;\n\n constructor(props: any) {\n super(props);\n this.designer = new FrameMessageSender();\n\n this.state = {\n isEditEnabled: false\n };\n }\n\n getProps = () => {\n return { ...this.props } as any;\n };\n\n getInputStyles = () => {\n let inputStyles: CSSProperties = {\n lineHeight: \"unset\",\n overflowWrap: \"normal\"\n };\n const { style } = this.getProps();\n if (style) {\n inputStyles = {\n ...inputStyles,\n ...style\n };\n }\n\n return inputStyles;\n };\n\n handleElementDoubleClick = (e) => {\n if (e?.detail !== 2) return;\n\n this.setState({ isEditEnabled: true }, () => {\n this.editInput.current.focus();\n this.editInput.current.resizableTextArea.textArea.select();\n });\n };\n\n handleInputOnBlur = (shouldSave: boolean = true) => {\n if (shouldSave) {\n const props = this.getProps();\n\n this.designer.propertyChangedMessage({\n kuikaId: props.kuikaid,\n propertyName,\n value: this.editInput.current.resizableTextArea.textArea.value,\n shouldClosePropertyExpand: true\n });\n }\n this.setState({ isEditEnabled: false });\n };\n\n handleInputOnKeyDown = (e: KeyboardEvent) => {\n switch (e.key) {\n case \"Enter\": {\n e.preventDefault();\n this.editInput.current.blur();\n break;\n }\n case \"Escape\": {\n this.handleInputOnBlur(false);\n break;\n }\n }\n };\n\n render() {\n if (!window.kuika?.isDesignTime) return {...(this.props as P)} />;\n\n if (this.state.isEditEnabled)\n return (\n this.handleInputOnBlur(e.target.value !== this.getProps()[propertyName])}\n bordered={false}\n style={this.getInputStyles()}\n autoSize={true}\n draggable={false}\n />\n );\n\n return {...(this.getProps() as P)} onClick={this.handleElementDoubleClick} />;\n }\n }\n\n return DoubleClickEditElement;\n};\n\nexport default withDoubleClickEdit;\n","import { Form } from \"antd/es\";\n\nexport const withForm = (Component: any) => {\n return (props: any) => {\n const [form] = Form.useForm();\n return ;\n };\n};\n","import { CodeResponse, useGoogleLogin } from \"@react-oauth/google\";\nimport { useHistory } from \"react-router-dom\";\nimport { EExternalTokenProviderTypes } from \"../../models/dto/login.dto\";\nimport { UserService } from \"../../services/user-service\";\nimport { KuikaAppManager } from \"../utilty/kuika-app-manager\";\nimport { KNavigator } from \"./with-history\";\n\nconst backendUrl = KuikaAppManager.GetBackendUrl();\n\nexport const withGoogleLogin = (Component: any) => {\n return (props: any) => {\n const history: any = useHistory();\n const navigator = new KNavigator(history);\n\n const onSuccess = async (response: CodeResponse) => {\n const authWithGoogleResponse = await UserService.AuthenticateWithGoogle(response.code);\n\n if (authWithGoogleResponse.status !== 200) {\n console.error(authWithGoogleResponse);\n return;\n }\n\n const jwt = authWithGoogleResponse.data.id_token;\n const userInfo = JSON.parse(atob(jwt.split(\".\")[1]));\n await UserService.LoginWithExternalToken({\n providerType: EExternalTokenProviderTypes.Google,\n username: userInfo.email,\n tokenString: jwt,\n refreshToken: null,\n redirectUri: location.origin\n });\n\n localStorage.setItem(\"isGoogleLoginInProgress\", \"false\");\n };\n\n const googleLogin = useGoogleLogin({\n flow: \"auth-code\",\n onSuccess,\n onError: (error) => {\n localStorage.setItem(\"isGoogleLoginInProgress\", \"false\");\n localStorage.setItem(\"isGoogleLoginAborted\", \"true\");\n },\n onNonOAuthError: (nonOAuthError) => {\n if (nonOAuthError.type === \"popup_closed\") {\n localStorage.setItem(\"isGoogleLoginInProgress\", \"false\");\n localStorage.setItem(\"isGoogleLoginAborted\", \"true\");\n }\n }\n });\n\n return ;\n };\n};\n","import { useHistory } from \"react-router-dom\";\nimport { ReactSystemFunctions } from \"../utilty/react-system-functions\";\n\ndeclare let window: any;\n\nexport const withHistory = (Component: any) => {\n return (props: any) => {\n const history: any = useHistory();\n const kNavigator = new KNavigator(history);\n return ;\n };\n};\n\nexport class KNavigator {\n history: any;\n\n constructor(history: any) {\n this.history = history;\n }\n\n public gotoLogin = () => {\n this.history.push({\n pathname: \"/login\"\n });\n };\n\n public gotoStartingScreen = async (screen?: string) => {\n let screenName: string = ReactSystemFunctions.getScreenNameByActiveUserRoles();\n\n if (\n (screenName === \"\" || screenName === undefined) &&\n window.userInfo?.startingScreenId &&\n window.userInfo.startingScreenId.length > 0\n ) {\n screenName = ReactSystemFunctions.getScreenNameById(window.userInfo.startingScreenId);\n }\n\n if (screenName === \"\" || screenName === undefined) {\n this.history.push({\n pathname: screen ?? \"/HomePage\"\n });\n } else {\n this.history.push({\n pathname: `/${screenName}`\n });\n }\n };\n\n public goToResetPasswordScreen = () => {\n this.history.push(\"/\" + \"resetpassword\");\n };\n\n public goToVerificationCodeScreen = () => {\n this.history.push(\"/\" + \"verificationcode\");\n };\n\n public gotoRoot = () => {\n this.history.push({\n pathname: \"/\"\n });\n };\n\n public gotoSignup = () => {\n this.history.push(\"/signup\");\n };\n\n public goto = (type, id) => {\n this.history.push(`/${type}/${id}`);\n };\n\n public goto2 = (type) => {\n this.history.push(type);\n };\n\n public gotoUrl = (url) => {\n this.history.push(url);\n };\n\n public goBack = () => {\n if (this.history.length > 1) {\n this.history.goBack();\n } else {\n this.gotoStartingScreen();\n }\n };\n\n public gotoForgotPassword = () => {\n this.history.push(\"/forgotpassword\");\n };\n\n public gotoDashboard = () => {\n this.history.push(\"/dashboard\");\n };\n}\n","const screenInputData = {\n ResimDetay: [{\"name\":\"KayitID\",\"type\":\"Int32\",\"cardinality\":1,\"isExpandedPanel\":null}]\n};\n\nexport class ScreenInputHelper {\n public static getScreenInputValue(screenName: string, inputName: string, value: string): any {\n switch (this.getScreenInputType(screenName, inputName)) {\n case \"String\":\n return value;\n case \"Boolean\":\n return value.toLowerCase() === \"true\";\n // TODO\n }\n\n return value;\n }\n\n private static getScreenInputType(screenName: string, inputName: string): string {\n const data = screenInputData[screenName]?.find((x) => x.Name === inputName);\n return data?.TypeName ? data.TypeName : \"\";\n }\n}\n","import * as QueryStringify from \"querystringify\";\nimport { ScreenInputHelper } from \"../utilty/screen-input-helper\";\n\nexport const withScreenInput = (Component: any) => {\n return (props: any) => {\n const screenInputsByQueryString = {};\n let screenInputsByProp = {};\n let screenInputsByState = {};\n\n if (props?.location?.search) {\n const obj = QueryStringify.parse(props.location.search);\n const screenName = /[^/]*$/.exec(props.location.pathname)![0];\n for (const key in obj) {\n screenInputsByQueryString[key] = ScreenInputHelper.getScreenInputValue(screenName, key, obj[key]);\n }\n }\n if (props?.screenInputs) {\n screenInputsByProp = props.screenInputs;\n }\n if (props?.location?.state?.screenInputs) {\n screenInputsByState = props.location.state.screenInputs;\n }\n\n return (\n <>\n \n \n );\n };\n};\n","export class KComponentFunctions {\n static isButtonElement = (element: Element): boolean => {\n if (element && element.nodeName && element.nodeName.toLowerCase() === \"button\") {\n return true;\n }\n if (element && element.parentElement) {\n return KComponentFunctions.isButtonElement(element.parentElement);\n }\n return false;\n };\n\n static isImgElement = (element: Element): boolean => {\n if (element && element.nodeName && element.nodeName.toLowerCase() === \"img\") {\n return true;\n }\n return false;\n };\n}\n","import { IStripeSettings } from \"../../models/dto/stripe-settings\";\n\nexport const STRIPE_SETTINGS = {} as IStripeSettings;\n\nexport const BASE_64_REGEX = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;\n\nexport const DEFAULT_IMAGE =\n \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTAiIGhlaWdodD0iOTAiIHZpZXdCb3g9IjAgMCA5MCA5MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjkwIiBoZWlnaHQ9IjkwIiBmaWxsPSIjRTVFRUZGIi8+CjxwYXRoIGQ9Ik00NS44NDU4IDQzLjI0NEw1MC4xMjE4IDM1LjQ4MzJDNTEuOTE3NyAzMi4yMjM3IDU2LjY2ODcgMzIuNDI4OCA1OC4xNzcgMzUuODMxTDY1LjYzOSA1Mi42NjNDNjcuNjkwOSA1Ny4yOTE0IDY0LjMwMjUgNjIuNSA1OS4yMzk3IDYyLjVIMzEuMjk1NEMyNi4wOTkyIDYyLjUgMjIuNzE0MyA1Ny4wMzgxIDI1LjAyNjggNTIuMzg0OEwyOS41MjQ0IDQzLjMzNDNDMzEuMTkyOSAzOS45NzY4IDM1Ljk1NSAzOS45MDAzIDM3LjczMDUgNDMuMjAyNEMzOS40NjQgNDYuNDI2MyA0NC4wNzk1IDQ2LjQ0OTkgNDUuODQ1OCA0My4yNDRaIiBmaWxsPSIjQjJDQ0ZGIi8+CjxwYXRoIGQ9Ik0zOS41IDMxLjVDMzkuNSAzMy43MDkxIDM3LjcwOTEgMzUuNSAzNS41IDM1LjVDMzMuMjkwOSAzNS41IDMxLjUgMzMuNzA5MSAzMS41IDMxLjVDMzEuNSAyOS4yOTA5IDMzLjI5MDkgMjcuNSAzNS41IDI3LjVDMzcuNzA5MSAyNy41IDM5LjUgMjkuMjkwOSAzOS41IDMxLjVaIiBmaWxsPSIjQjJDQ0ZGIi8+Cjwvc3ZnPgo=\";\n","\nexport class KuikaHelper {\n public static addExtraHeaderForApiCall(request: any, url: string, backendUrl: string) {\n switch (url) {\n \n default:\n break;\n }\n }\n}\n\n\n","import Axios, { AxiosRequestConfig, AxiosResponse } from \"axios\";\nimport { IValidationData } from \"../../models/dto/validation-data\";\nimport { KuikaHelper } from \"./kuika-react-helper\";\nimport { KMainFunctions } from \"./main-functions\";\n\ndeclare let window: any;\nconst confJson = require(\"../json/conf.json\");\n\nexport class KuikaAppManager {\n public static addToPageInputVariables(screen: any, paramName: string, val: any) {\n if (!window.kuika) window.kuika = {};\n if (!window.kuika?.navigationScreenInputs) window.kuika.navigationScreenInputs = {};\n window.kuika.navigationScreenInputs[paramName] = val;\n }\n\n public static increaseServerRequestCount() {\n if (!window.kuika) window.kuika = {};\n if (window.kuika?.serverRequestCount === undefined) window.kuika.serverRequestCount = 0;\n window.kuika.serverRequestCount++;\n }\n\n public static resetServerRequestCount() {\n if (!window.kuika) window.kuika = {};\n window.kuika.serverRequestCount = 0;\n }\n\n public static prepareForNavigation() {\n KuikaAppManager.resetServerRequestCount();\n window.kuika.navigationScreenInputs = {} as any;\n }\n\n static GetBackendUrl(forOnlyInfo = false) {\n if (window._env_ && window._env_.BACKEND_URL) {\n return window._env_.BACKEND_URL;\n }\n\n let backendUrl = \"\";\n\n // JSON case\n if (backendUrl === \"\" && confJson?.backendUrlOverride?.length > 1) {\n backendUrl = confJson.backendUrlOverride;\n if (!backendUrl.endsWith(\"/v1/api\")) {\n backendUrl = `${backendUrl}/v1/api`;\n }\n }\n\n // Web component case\n if (\n confJson?.domainName !== undefined &&\n confJson?.applicationName !== undefined &&\n confJson?.applicationName !== \"\" &&\n window.kuika !== undefined &&\n window.kuika?.apps !== undefined &&\n window.kuika?.apps.length !== undefined &&\n window.kuika?.apps.length > 0\n ) {\n window.kuika?.apps.forEach((app: any) => {\n if (app?.manifest?.appName === confJson.applicationName && app?.manifest?.workspace === confJson?.domainName) {\n if (app?.manifest?.backendUrlOverride?.length && app?.manifest?.backendUrlOverride.length > 0) {\n backendUrl = KuikaAppManager.removeTrailingSlash(app?.manifest?.backendUrlOverride);\n if (!backendUrl.endsWith(\"/v1/api\")) {\n backendUrl = `${backendUrl}/v1/api`;\n }\n } else {\n backendUrl = KuikaAppManager.getBackendUrlFromFullUrl(app?.appConfig?.frontEndUrl);\n }\n }\n });\n }\n\n if (backendUrl === \"\") {\n backendUrl = KuikaAppManager.getBackendUrlFromFullUrl(KMainFunctions.windowLocationOrigin);\n }\n\n if (backendUrl.indexOf(\"localhost\") > -1 && backendUrl.indexOf(\"https\") === 0) {\n const port = this.getPortFromURL(backendUrl);\n if (port !== undefined && port.length > 0) {\n let difference: number = 0;\n if (forOnlyInfo === false) {\n difference = 200;\n }\n const sslPort = (Number(port) + difference).toString();\n backendUrl = backendUrl.replace(port, sslPort);\n }\n }\n\n return KuikaAppManager.removeTrailingSlash(backendUrl);\n }\n\n static getPortFromURL(url: string) {\n const regex = /^(http|https):\\/\\/[^:\\/]+(?::(\\d+))?/;\n const match = url.match(regex);\n if (match === null || match === undefined) {\n return undefined;\n }\n return match[2] ? match[2] : undefined;\n }\n\n static IsWebComponent() {\n let result = false;\n // Web component case\n if (\n confJson?.domainName !== undefined &&\n confJson?.applicationName !== undefined &&\n confJson?.applicationName !== \"\" &&\n window.kuika !== undefined &&\n window.kuika?.apps !== undefined &&\n window.kuika?.apps.length !== undefined &&\n window.kuika?.apps.length > 0\n ) {\n window.kuika?.apps.forEach((app: any) => {\n if (app?.manifest?.appName === confJson.applicationName && app?.manifest?.workspace === confJson?.domainName) {\n result = true;\n }\n });\n }\n return result;\n }\n\n static GetFrontEndSourceUrl() {\n let result = \"\";\n // Web component case\n if (\n confJson?.domainName !== undefined &&\n confJson?.applicationName !== undefined &&\n confJson?.applicationName !== \"\" &&\n window.kuika !== undefined &&\n window.kuika?.apps !== undefined &&\n window.kuika?.apps.length !== undefined &&\n window.kuika?.apps.length > 0\n ) {\n window.kuika?.apps.forEach((app: any) => {\n if (app?.manifest?.appName === confJson.applicationName && app?.manifest?.workspace === confJson?.domainName) {\n result = KuikaAppManager.removeTrailingSlash(app?.appConfig?.frontEndUrl);\n }\n });\n }\n if (result === \"\") {\n result = KuikaAppManager.GetFrontEndUrl();\n }\n result = KuikaAppManager.removeTrailingSlash(result);\n return result;\n }\n\n static GetFrontEndUrl() {\n let origin = KMainFunctions.windowLocationOrigin;\n let result = KuikaAppManager.removeTrailingSlash(origin);\n return result;\n }\n\n public static getBackendUrlFromFullUrl = (baseUrl: string) => {\n baseUrl = KuikaAppManager.removeTrailingSlash(baseUrl);\n if (baseUrl.indexOf(\"localhost\") > -1)\n return `${window.location.protocol === \"file:\" ? \"http:\" : window.location.protocol}//localhost:21562/v1/api`;\n let kuikaUrls = [\"https://localhost\", \"https://demo.kuika.com\", \"https://beta.kuika.com\", \"https://designerdev.kuika.com\", \"https://designerdev2.kuika.com\", \"https://alpha.kuika.com\", \"https://preprod.kuika.com\", \"https://platform.kuika.com\", \"https://izzymobility.kuika.com\", \"https://idata.kuika.com\", \"https://alpha.kuika.com\", \"https://designerdev1.kuika.com\",\"https://test.kuika.com\",\"https://test1.kuika.com\",\"https://test2.kuika.com\",\"https://perftest.kuika.com\"];\n if (kuikaUrls.indexOf(baseUrl) > -1) return baseUrl + \":21562/v1/api\";\n return KuikaAppManager.getApiUrlFromBaseUrl(baseUrl);\n };\n\n public static getApiUrlFromBaseUrl = (baseUrl: string) => {\n baseUrl = KuikaAppManager.removeTrailingSlash(baseUrl);\n const re = new RegExp(\"(.*//)([a-zA-Z0-9-]+)(..*)\");\n let result = \"\";\n const isDesignTime = window.kuika && window.kuika.isDesignTime;\n if (isDesignTime === true || baseUrl.indexOf(\".kuika.com/\") === -1) {\n // Design, UAT, Prod etc. Env.\n result = baseUrl.replace(re, \"$1$2api$3/v1/api\");\n } else {\n // Kuika Preview Env (Run)\n result = baseUrl.replace(re, \"$1$2$3-api/v1/api\");\n }\n return result;\n };\n\n public static removeTrailingSlash(inputString) {\n if (inputString.endsWith(\"/\")) {\n return inputString.slice(0, -1);\n }\n return inputString;\n }\n\n public static ApiRequest = async (screen: any, requestPath, vars?: any, httpMethod = \"post\") => {\n try {\n let backendUrl = KuikaAppManager.GetBackendUrl();\n if (!backendUrl.endsWith(\"/\")) backendUrl += \"/\";\n const url = backendUrl + requestPath;\n const config: AxiosRequestConfig = {\n headers: {\n projectHash: \"ba76a2fb2f29981702a2710a15748d4a7e2bfa614e1fb2e9602994120747199f\" || \"\"\n }\n };\n\n if (config && url) {\n KuikaHelper.addExtraHeaderForApiCall(config, url, backendUrl);\n }\n\n if (httpMethod === \"post\") {\n const res = await Axios.post(url, vars, config);\n return res;\n }\n if (httpMethod === \"get\") {\n const res = await Axios.get(url, config);\n return res;\n }\n if (httpMethod === \"put\") {\n const res = await Axios.put(url, vars, config);\n return res;\n }\n if (httpMethod === \"delete\") {\n const res = await Axios.delete(url, config);\n return res;\n }\n } catch (ex: any) {\n KuikaAppManager.hideSpinner(screen);\n KMainFunctions.exceptionHandler(ex);\n return ex;\n }\n };\n\n public static showSpinner(screen: any) {\n screen.setState({ spinnerCount: screen.state.spinnerCount + 1 });\n }\n\n public static hideSpinner(screen: any) {\n screen.setState({ spinnerCount: 0 });\n }\n\n public static calculateAndSetBodyHeight(screenName: string, masterScreenName: string) {\n const hasMaster = masterScreenName && masterScreenName !== \"\";\n setTimeout(() => {\n const body = window.document.getElementById(`${screenName}_body`);\n if (!body) return;\n let headerHeight: number = 0;\n let footerHeight: number = 0;\n\n const header = window.document.getElementById(`${screenName}_header`);\n const footer = window.document.getElementById(`${screenName}_footer`);\n const layout_header = window.document.getElementById(`${masterScreenName.replace(\"_screen\", \"\")}_layout_header`);\n const layout_footer = window.document.getElementById(`${masterScreenName.replace(\"_screen\", \"\")}_layout_footer`);\n const masterRootDI = window.document.getElementById(\"masterRootDI\");\n\n if (masterRootDI && hasMaster) {\n let headerHeight = layout_header ? parseFloat(window.getComputedStyle(layout_header).height) : 0;\n let footerHeight = layout_footer ? parseFloat(window.getComputedStyle(layout_footer).height) : 0;\n\n masterRootDI.style.height = `calc(100vh - ${headerHeight + footerHeight}px)`;\n }\n if (!header && !footer) {\n const layout_header = window.document.getElementById(\n `${masterScreenName.replace(\"_screen\", \"\")}_layout_header`\n );\n const layout_footer = window.document.getElementById(\n `${masterScreenName.replace(\"_screen\", \"\")}_layout_footer`\n );\n if (layout_header) {\n const headerStyles = window.getComputedStyle(layout_header);\n const headerPaddingTop = parseFloat(headerStyles.paddingTop) || 0;\n const headerPaddingBottom = parseFloat(headerStyles.paddingBottom) || 0;\n headerHeight = parseFloat(headerStyles.height) + headerPaddingTop + headerPaddingBottom;\n }\n\n if (layout_footer) {\n const footerStyles = window.getComputedStyle(layout_footer);\n const footerPaddingTop = parseFloat(footerStyles.paddingTop) || 0;\n const footerPaddingBottom = parseFloat(footerStyles.paddingBottom) || 0;\n footerHeight = parseFloat(footerStyles.height) + footerPaddingTop + footerPaddingBottom;\n }\n } else {\n if (header) {\n const headerStyles = window.getComputedStyle(header);\n const headerPaddingTop = parseFloat(headerStyles.paddingTop) || 0;\n const headerPaddingBottom = parseFloat(headerStyles.paddingBottom) || 0;\n headerHeight = parseFloat(headerStyles.height) + headerPaddingTop + headerPaddingBottom;\n }\n\n if (footer) {\n const footerStyles = window.getComputedStyle(footer);\n const footerPaddingTop = parseFloat(footerStyles.paddingTop) || 0;\n const footerPaddingBottom = parseFloat(footerStyles.paddingBottom) || 0;\n footerHeight = parseFloat(footerStyles.height) + footerPaddingTop + footerPaddingBottom;\n }\n }\n\n const layout_right = window.document.getElementById(`${masterScreenName.replace(\"_screen\", \"\")}_layout_right`);\n const layout_left = window.document.getElementById(`${masterScreenName.replace(\"_screen\", \"\")}_layout_left`);\n const layout_left_rect = layout_left ? layout_left.getBoundingClientRect() : undefined;\n const layout_right_rect = layout_right ? layout_right.getBoundingClientRect() : undefined;\n const layout_footer_rect = layout_footer ? layout_footer.getBoundingClientRect() : undefined;\n const isChildOfMasterRootDI = (element: HTMLElement) => {\n if (!element) return false;\n if (element.id === \"masterRootDI\") return true;\n return isChildOfMasterRootDI(element.parentElement);\n };\n const isHeaderExistInMasterDI = isChildOfMasterRootDI(header);\n const isFooterExistInMasterDI = isChildOfMasterRootDI(footer);\n if (header && header.style && isHeaderExistInMasterDI) {\n const leftAndRightLayoutsWidth = layout_left_rect?.width + layout_right_rect?.width;\n header.style.zIndex = 1;\n header.style.width = leftAndRightLayoutsWidth > 0 ? `calc(100% - ${leftAndRightLayoutsWidth}px)` : \"100%\";\n if (layout_right && layout_right.style) {\n layout_right.style.zIndex = 1;\n }\n }\n\n if (footer && footer.style && isFooterExistInMasterDI) {\n const leftAndRightLayoutsWidth = layout_left_rect?.width + layout_right_rect?.width;\n footer.style.zIndex = 1;\n footer.style.width = leftAndRightLayoutsWidth > 0 ? `calc(100% - ${leftAndRightLayoutsWidth}px)` : \"100%\";\n footer.style.bottom = layout_footer && layout_footer_rect ? `${layout_footer_rect.height}px` : \"0px\";\n if (layout_right && layout_right.style) {\n layout_right.style.zIndex = 1;\n }\n }\n\n if (body && body.style) {\n const parentModal = body.closest(\".ant-modal-body\");\n if (parentModal) {\n const modalComputedStyle = window.getComputedStyle(parentModal);\n const modalHeight = parseFloat(modalComputedStyle.height);\n const modalPadding = parseFloat(modalComputedStyle.padding);\n body.style.height = `calc(${modalHeight}px - ${headerHeight + footerHeight + modalPadding}px)`;\n body.style.minHeight = `calc(${modalHeight}px - ${headerHeight + footerHeight + modalPadding}px)`;\n body.style.maxHeight = `calc(${modalHeight}px - ${headerHeight + footerHeight + modalPadding}px)`;\n body.style.overflowY = \"auto\";\n if (layout_footer && parentModal.clientHeight) {\n let topValue = parentModal.clientHeight;\n if (layout_header && layout_header.style && layout_header.style.height) {\n topValue -= parseInt(layout_header.style.height) + 20;\n } else {\n topValue -= 60;\n }\n layout_footer.style.position = \"absolute\";\n layout_footer.style.top = `${topValue}px`;\n layout_footer.style.width = \"100%\";\n }\n } else if (isChildOfMasterRootDI(body)) {\n if (footer && footer.style) {\n footer.style.bottom = \"0px\";\n footer.style.width = \"100%\";\n footer.style.position =\n footer.style.backgroundColor !== \"transparent\" &&\n footer.style.backgroundColor !== \"\" &&\n footer.style.backgroundColor !== \"rgba(0, 0, 0, 0)\"\n ? \"sticky\"\n : \"fixed\";\n }\n body.style.height = \"\";\n body.style.minHeight = \"\";\n body.style.maxHeight = \"\";\n let currentElement = body;\n while (currentElement && currentElement.id !== \"masterRootDI\") {\n currentElement.style.height = \"100%\";\n currentElement = currentElement.parentElement;\n }\n return;\n } else {\n const bodyPaddingTop = parseFloat(window.getComputedStyle(body).paddingTop) || 0;\n const bodyPaddingBottom = parseFloat(window.getComputedStyle(body).paddingBottom) || 0;\n let heightNum = headerHeight + bodyPaddingTop + bodyPaddingBottom;\n if (\n footer &&\n footer.style.backgroundColor !== \"transparent\" &&\n footer.style.backgroundColor !== \"\" &&\n footer.style.backgroundColor !== \"rgba(0, 0, 0, 0)\"\n ) {\n heightNum += footerHeight;\n }\n const heightStr = `calc(100vh - ${heightNum}px - env(safe-area-inset-bottom, 0)`;\n body.style.height = heightStr;\n body.style.minHeight = heightStr;\n body.style.maxHeight = heightStr;\n body.style.overflow = \"auto\";\n if (footer && footer.style) {\n footer.style.bottom = \"0px\";\n footer.style.width = \"100%\";\n footer.style.position =\n footer.style.backgroundColor !== \"transparent\" &&\n footer.style.backgroundColor !== \"\" &&\n footer.style.backgroundColor !== \"rgba(0, 0, 0, 0)\"\n ? \"sticky\"\n : \"fixed\";\n\n const currentPadding = getComputedStyle(footer).padding || \"0px\";\n const paddingValues = currentPadding.split(\" \");\n\n const paddingTop = paddingValues[0] || \"0px\";\n const paddingRight = paddingValues[1] || paddingTop;\n const paddingBottom = paddingValues[2] || paddingTop;\n const paddingLeft = paddingValues[3] || paddingRight;\n\n footer.style.padding = `${paddingTop} ${paddingRight} calc(${paddingBottom} + env(safe-area-inset-bottom, 0)) ${paddingLeft}`;\n } else if (body.style.paddingBottom) {\n const currentPadding = getComputedStyle(body).padding || \"0px\";\n const paddingValues = currentPadding.split(\" \");\n\n const paddingTop = paddingValues[0] || \"0px\";\n const paddingRight = paddingValues[1] || paddingTop;\n const paddingBottom = paddingValues[2] || paddingTop;\n const paddingLeft = paddingValues[3] || paddingRight;\n\n body.style.padding = `calc(${paddingTop} + env(safe-area-inset-top, 0)) ${paddingRight} calc(${paddingBottom} + env(safe-area-inset-bottom, 0)) ${paddingLeft}`;\n }\n }\n }\n }, 1);\n }\n\n public static handleValidations(screen: any, data: IValidationData[], callback?: () => void): boolean {\n const validationsErrorsToRemove = data.filter(\n (x) => x.condition === false || (x.condition === true && x.isValid === true)\n );\n const validationsErrorsToShow = data.filter((x) => x.condition === true && x.isValid === false);\n const hasValidationError = validationsErrorsToShow.length > 0;\n\n validationsErrorsToRemove.forEach((x) => {\n screen.props.form.setFields([\n {\n name: x.formName,\n errors: []\n }\n ]);\n });\n\n validationsErrorsToShow.forEach((x) => {\n screen.props.form.setFields([\n {\n name: x.formName,\n errors: [x.message]\n }\n ]);\n });\n\n if (callback) {\n setTimeout(() => {\n callback();\n }, 100);\n }\n\n if (hasValidationError) {\n this.hideSpinner(screen);\n }\n return hasValidationError;\n }\n\n public static isPageInitPrevented(): boolean {\n if (!window?.kuika?.pageInitCallers) return false;\n // TODO:TURENC FURKAN, CAGAN bu bölüm Virtual directoryler için ayrı normal hosting için ayrı test edilmeli!\n const hash = window.location.hash?.substring(2);\n const path = window.location.pathname?.substring(1);\n if (hash && window.kuika.pageInitCallers[hash] !== undefined && window.kuika.pageInitCallers[hash] === false)\n return true;\n if (path && window.kuika.pageInitCallers[path] !== undefined && window.kuika.pageInitCallers[path] === false)\n return true;\n return false;\n }\n}\n","import { AxiosResponse } from \"axios\";\nimport FileSaver from \"file-saver\";\nimport { Guid } from \"guid-typescript\";\nimport isRelativeUrl from \"is-relative-url\";\nimport { store } from \"react-notifications-component\";\nimport mimeTypeMappings from \"../json/mime-types-mappings.json\";\nimport { BASE_64_REGEX } from \"./constants\";\nimport { KuikaAppManager } from \"./kuika-app-manager\";\n\nexport class KMainFunctions {\n static virtualDirectoryURL: string = \"auto\"; // Use by code generation\n\n // NOTIFY ACTION DEFAULT DURATIONS\n static NOTIFY_ACTION_DEFAULT_DEFAULT_DURATION = 5;\n\n static NOTIFY_ACTION_DEFAULT_SUCCESS_DURATION = 5;\n\n static NOTIFY_ACTION_DEFAULT_INFO_DURATION = 7;\n\n static NOTIFY_ACTION_DEFAULT_WARNING_DURATION = 15;\n\n static NOTIFY_ACTION_DEFAULT_ERROR_DURATION = 0;\n\n static get windowLocationOrigin() {\n let origin = window?.location?.origin;\n if (window?.location?.protocol === \"file:\") {\n origin = `file://${window.location.pathname}`;\n return origin;\n }\n return KMainFunctions.virtualDirectoryURL === \"auto\" ? origin : `${origin}${KMainFunctions.virtualDirectoryURL}`;\n }\n\n static exceptionHandler(e) {\n const msg = e?.response?.data?.message;\n if (msg) {\n this.displayErrorNotification(msg);\n } else if (e?.message) {\n console.error(e.message);\n this.displayErrorNotification(e.message);\n }\n if (e?.stack) {\n console.error(e.stack);\n }\n }\n\n static displaySuccessNotification(message, params?) {\n store.addNotification({\n title: params?.title ? params.title : \"Success!\",\n message,\n type: \"success\",\n container: params?.container ? params.container : \"bottom-right\",\n animationIn: params?.animationIn ? params.animationIn : [\"animated\", \"flipInX\"],\n animationOut: params?.animationOut ? params.animationOut : [\"animated\", \"fadeOut\"],\n dismiss: {\n duration: params?.duration ? params.duration : this.NOTIFY_ACTION_DEFAULT_SUCCESS_DURATION * 1000,\n pauseOnHover: params?.pauseOnHover ? params.pauseOnHover : true,\n showIcon: params?.showIcon ? params.showIcon : true\n }\n });\n }\n\n static ignoreKnownConsoleWarns(): void {\n if (!window.location.href.includes(\"localhost\")) {\n const ignoredWarnings: string[] = [\n \"[webpack-dev-server\",\n \"Google Maps JavaScript\",\n \"allow-scripts and allow-same-origin\",\n \"It looks like there are several\",\n \"styled-components\",\n \"link preload but not used within a few second\",\n \"react-fast-compare cannot handle circular refs\",\n \"componentWillReceiveProps has been renamed\"\n ];\n const originalConsoleWarns = console.warn;\n console.warn = function (...args) {\n if (args[0] && ignoredWarnings.some((element) => args[0].toString().includes(element))) {\n return;\n }\n originalConsoleWarns.apply(console, args);\n };\n }\n }\n\n static ignoreKnownConsoleErrors(): void {\n if (!window.location.href.includes(\"localhost\")) {\n const ignoredErrors: string[] = [\n \"is deprecated in StrictMode\",\n \"Invalid DOM property\",\n \"X-Frame-Options may only be\",\n \"spell it as lowercase\",\n \"A valid state object (or null) must be returned\",\n \"Each child in a list should have a unique\",\n \"or a non-boolean attribute\",\n \"Invalid value for prop\",\n \"is not connected to any Form element.\",\n \"onResize is not a function\",\n \"listener to be a function\",\n \"Unknown event handler property\",\n \"validateDOMNesting(...)\",\n \"Failed prop type: Invalid prop\"\n ];\n const originalConsoleErrors = console.error;\n console.error = function (...args) {\n if (args[0] && ignoredErrors.some((element) => args[0].toString().includes(element))) {\n return;\n }\n originalConsoleErrors.apply(console, args);\n };\n }\n }\n\n static displayWarningNotification(message, params?) {\n store.addNotification({\n title: params?.title ? params.title : \"Warning!\",\n message,\n type: \"warning\",\n container: params?.container ? params.container : \"bottom-right\",\n animationIn: params?.animationIn ? params.animationIn : [\"animated\", \"flipInX\"],\n animationOut: params?.animationOut ? params.animationOut : [\"animated\", \"fadeOut\"],\n dismiss: {\n duration: params?.duration ? params.duration : this.NOTIFY_ACTION_DEFAULT_WARNING_DURATION * 1000,\n pauseOnHover: params?.pauseOnHover ? params.pauseOnHover : true,\n showIcon: params?.showIcon ? params.showIcon : true\n }\n });\n }\n\n static displayErrorNotification(message, params?) {\n if (message) {\n store.addNotification({\n title: params?.title ? params.title : \"Error!\",\n message,\n type: \"danger\",\n container: params?.container ? params.container : \"bottom-right\",\n animationIn: params?.animationIn ? params.animationIn : [\"animated\", \"flipInX\"],\n animationOut: params?.animationOut ? params.animationOut : [\"animated\", \"fadeOut\"],\n dismiss: {\n duration: params?.duration ? params.duration : this.NOTIFY_ACTION_DEFAULT_ERROR_DURATION * 1000,\n pauseOnHover: params?.pauseOnHover ? params.pauseOnHover : true,\n showIcon: params?.showIcon ? params.showIcon : true\n }\n });\n }\n }\n\n static toCamelCase(value: string): string {\n if (!value || (this.isLetter(value[0]) && !this.isUpperCase(value[0]))) {\n return value;\n }\n\n let prefix = \"\";\n let chars = value.split(\"\");\n\n if (!this.isLetter(value[0])) {\n prefix = value[0];\n chars = value.slice(1).split(\"\");\n }\n\n for (let i = 0; i < chars.length; i++) {\n if (i === 1 && !this.isUpperCase(chars[i])) {\n break;\n }\n const hasNext = i + 1 < chars.length;\n\n // Stop when next char is already lowercase.\n if (i > 0 && hasNext && !this.isUpperCase(chars[i + 1])) {\n // If the next char is a space, lowercase current char before exiting.\n if (chars[i + 1] === \" \") {\n chars[i] = chars[i].toLowerCase();\n }\n break;\n }\n\n chars[i] = chars[i].toLowerCase();\n }\n\n return prefix + chars.join(\"\");\n }\n\n // Static helper method to check if a character is a letter\n private static isLetter(char: string): boolean {\n return /^[a-zA-Z]$/.test(char);\n }\n\n // Static helper method to check if a character is uppercase\n private static isUpperCase(char: string): boolean {\n if (!this.isLetter(char)) {\n return false;\n }\n\n return char === char.toUpperCase();\n }\n\n static IsResStatus2XX(res: AxiosResponse): boolean {\n return !!(res?.status && res.status >= 200 && res.status < 300);\n }\n\n static getTextAlignAsJustifyContent(value: string) {\n if (value) {\n if (value.includes(\"center\")) return \"center\";\n if (value.includes(\"right\")) return \"flex-end\";\n if (value.includes(\"left\")) return \"flex-start\";\n }\n }\n\n static setChildWidthAndAlignment(child) {\n const kuikablockstyle = child.getAttribute(\"kuikablockstyle\");\n const componentname = child.getAttribute(\"kuikacomponentname\");\n const childClassName = child.className;\n if (child.parentElement.className?.includes(\"ant-table-cell\") && child.className?.includes(\"ant-space\")) {\n child.style.height = \"auto\";\n }\n if (\n kuikablockstyle === \"2\" ||\n componentname === \"Date\" ||\n childClassName?.includes(\"kuika_table__wrapper\") ||\n childClassName?.includes(\"ant-form-item-row\") ||\n childClassName?.includes(\"kFormItem\") ||\n childClassName?.includes(\"ant-row\") ||\n childClassName?.startsWith(\"kuikaStepperComponent\") ||\n child?.style?.display === \"block\"\n ) {\n child.style.width = \"100%\";\n } else {\n child.style.alignSelf = \"center\";\n }\n }\n\n static setKFormItemStyles(child) {\n const imageInputs = child.querySelectorAll(\".kuika-image-input\");\n for (let i = 0; i < imageInputs.length; i++) {\n const imageInput = imageInputs[i];\n const kFormItemParent = imageInput.closest(\".kFormItem\");\n if (kFormItemParent) {\n kFormItemParent.style.width = \"auto\";\n kFormItemParent.style.alignSelf = \"center\";\n }\n }\n }\n\n static setDisplayBlockForImages(node) {\n const images = node.querySelectorAll(\"[kuikacomponentname='Image']\");\n for (let i = 0; i < images.length; i++) {\n const image = images[i];\n if (image && image.children && image.children[0]) {\n image.children[0].style.display = \"block\";\n }\n }\n }\n\n static handleAlignments(node: any, styles: any, isInline?: boolean) {\n if (styles && styles.alignItems && node && node.style) {\n node.style.display = isInline ? \"inline-flex\" : \"flex\";\n node.style.flexWrap = \"wrap\";\n node.style.placeContent = styles.alignItems;\n\n if (node.children) {\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n if (child) {\n this.setChildWidthAndAlignment(child);\n this.setKFormItemStyles(child);\n }\n }\n this.setDisplayBlockForImages(node);\n }\n }\n\n if (styles && styles.alignItems && styles.textAlign && node && node.style) {\n const justify = KMainFunctions.getTextAlignAsJustifyContent(styles.textAlign);\n node.style.justifyContent = justify;\n } else if (styles && styles.alignItems && !styles.textAlign && node && node.style) {\n node.style.justifyContent = \"flex-start\";\n }\n\n return node;\n }\n\n static isValidUrl(url: string) {\n if (!url) return false;\n\n try {\n // eslint-disable-next-line no-new\n new URL(url);\n return true;\n } catch {\n return false;\n }\n }\n\n static isRelativeUrl(url: string): boolean {\n return isRelativeUrl(url);\n }\n\n static isBase64(str: string) {\n if (!str) return false;\n return BASE_64_REGEX.test(str);\n }\n\n public static openBase64Pdf(data: string, warnLandscape: boolean, openAs: \"newTab\" | \"currentPage\"): void {\n const base64WithoutPrefix = data.substring(\"data:application/pdf;base64,\".length);\n const bytes = atob(base64WithoutPrefix);\n let { length } = bytes;\n const out = new Uint8Array(length);\n\n while (length--) {\n out[length] = bytes.charCodeAt(length);\n }\n\n const url = URL.createObjectURL(new Blob([out], { type: \"application/pdf\" }));\n KMainFunctions.openUrlPdf(url, openAs);\n }\n\n public static openUrlPdf(url: string, openAs: \"newTab\" | \"currentPage\"): void {\n if (openAs === \"currentPage\") {\n window.open(url, \"_self\")?.focus();\n return;\n }\n\n // openAs === \"newTab\"\n window.open(url, \"_blank\")?.focus();\n }\n\n public static downloadFile(data: string | Blob, fileName: string): void {\n FileSaver.saveAs(data, fileName);\n }\n\n public static async toBlob(dataUrl: string): Promise {\n const response = await fetch(dataUrl);\n return response.blob();\n }\n\n public static getBase64UrlPrefix(mimeType: string): string {\n return `data:${mimeType};base64,`;\n }\n\n public static getUrlByWithResourceId = (\n guid: string,\n width?: string | number,\n height?: string | number,\n imageFit?: 0 | 1 | 2\n ) => {\n const url: URL = new URL(`${KuikaAppManager.GetBackendUrl()}/resource/runtime/byid`);\n\n url.searchParams.append(\"resourceId\", guid);\n\n if (width && typeof width === \"string\" && !width?.includes(\"%\") && !width?.includes(\"vw\")) {\n url.searchParams.append(\"width\", width.toString());\n }\n\n if (height && typeof height === \"string\" && !height?.includes(\"%\") && !height?.includes(\"vh\")) {\n url.searchParams.append(\"height\", height.toString());\n }\n\n if (imageFit) {\n url.searchParams.append(\"imageFit\", imageFit.toString());\n }\n\n return url.toString();\n };\n\n public static getExtensionByMimeType(mimeType: string): string {\n const extension = mimeTypeMappings[mimeType];\n\n if (!extension) {\n return \"\";\n }\n\n return extension;\n }\n\n public static generateFilenameForDownloadFile(filename: string, extension: string): string {\n const isExtensionValid: boolean = extension && extension !== \"\" && extension !== \"undefined\";\n const isFilenameValid: boolean = filename && filename !== \"\" && filename !== \"undefined\";\n\n if (isFilenameValid && filename.endsWith(`.${extension}`)) {\n return filename;\n }\n\n if (!isFilenameValid && isExtensionValid) {\n return `${Guid.create().toString()}.${extension}`;\n }\n\n if (isFilenameValid && !isExtensionValid) {\n return filename;\n }\n\n if (isFilenameValid && isExtensionValid) {\n return `${filename}.${extension}`;\n }\n\n return Guid.create().toString();\n }\n\n public static getIsValidHttpUrl(value: unknown): boolean {\n if (typeof value !== \"string\") {\n return false;\n }\n\n let url: URL;\n\n try {\n url = new URL(value);\n } catch (_) {\n return false;\n }\n\n return url.protocol === \"http:\" || url.protocol === \"https:\";\n }\n\n public static convertBlobToBase64(blob: Blob): Promise {\n const reader = new FileReader();\n reader.readAsDataURL(blob);\n\n return new Promise((resolve) => {\n reader.onloadend = () => {\n resolve(reader.result);\n };\n });\n }\n}\n","type Dictionary = [{ key: string; value: string }];\n\nconst addToDictionary = (dictionary: any | undefined, key: string, value: string): Dictionary => {\n if (dictionary && dictionary.length && dictionary.length > 0) {\n const result = dictionary.find((p) => p.key === key);\n if (result !== undefined) {\n result.value = value;\n } else {\n dictionary.push({ key, value });\n }\n } else {\n dictionary = [{ key, value }];\n }\n return dictionary;\n};\n\nexport const getDictionaryValueByKey = (dictionary: any | undefined, key: string): string => {\n let result: string | undefined = \"\";\n if (dictionary && dictionary.length && dictionary.length > 0) {\n result = dictionary.find((p) => p.key === key)?.value;\n }\n if (result === undefined) {\n result = \"\";\n }\n return result;\n};\n\n// export interface IWorkflowTaskDto {\n// processNo: number;\n// processName: string;\n// processInstanceId: string;\n// processStartDate: any;\n// processStartedUserId: string;\n// processStartedUserFullName: string;\n// taskNo: number;\n// stepKey: string;\n// stepName: string;\n// stepDescription: string;\n// stepStartDate: any;\n// dueDate: string;\n// assignedUserName: string;\n// assignedUserFullName: string;\n// processVersion: number;\n// totalPageCount: number;\n// }\n\n// export interface IUserTaskCount {\n// onMe: number;\n// inPool: number;\n// }\n\n// export interface IWorkflowStepParametersDto {\n// stepParamaters: Dictionary;\n// inputsMap: Dictionary;\n// // outputsMap: Dictionary;\n// key: string;\n// eventKey: string;\n// assignedUserId: string;\n// steptype: number;\n// // stepId: string;\n// screenId: string;\n// stepName: string;\n// workflowInstanceId: string;\n// }\n\nexport interface ITaskNavigationParameters {\n stepId: string;\n processId: string;\n assignedUserId: string;\n appId?: string;\n webViewUrl?: string;\n}\n\nexport interface ITaskDataParameters {\n stepData: Dictionary;\n workflowStepInstanceId: string;\n processInstance: string;\n assignedUserId: string;\n redirect: boolean;\n redirectMessage: string;\n}\n\n// export interface IProcessConfigData {\n// projectId: string;\n// processId: string;\n// stepId: string;\n// screenId: string;\n// }\n\n// export interface IApplicationRegistery {\n// id: string;\n// projectId: string;\n// applicationType: number;\n// baseUrl: string;\n// pingUrl: string;\n// description: string;\n// createdAt: Date;\n// updateAt?: Date;\n// }\n\n// VTO: Refactor\n// export interface IWorkflowInstanceDto {\n// processNo: number;\n// processInstanceId: string;\n// processName: string;\n// createdAt: Date;\n// dueDate: Date;\n// currentPendingStep: string;\n// currentUserFullName: string;\n// status: number;\n// wfData: Dictionary;\n// history: IWorkflowHistoryDto[];\n// totalPageCount: number;\n// }\n\n// export interface IWorkflowHistoryDto {\n// taskNo: number;\n// stepName: string;\n// createdAt: Date;\n// completedAt: Date | undefined;\n// stepUser: string;\n// status: string;\n// data: Dictionary;\n// }\n\n// export interface IPendingTasksRequestDto {\n// user: string;\n// app: string;\n// searchKey: string;\n// showPool: boolean;\n// showClaimed: boolean;\n// page: number;\n// pageSize: number;\n// }\n\n// export interface IProcessHistoryRequestDto {\n// user: string;\n// app: string;\n// searchKey: string;\n// processName: string;\n// showCompleted: boolean;\n// page: number;\n// pageSize: number;\n// }\n\n//\n// export interface IUserTaskDto {\n// totalTaskCount: number;\n// inPoolTaskCount: number;\n// claimedTaskCount: number;\n// taskList: IStepInstance[];\n// }\n\n// export interface IStepInstance {\n// processDefinitionId: string;\n// processInstanceId: string;\n// processNo: number;\n// processName: string;\n// processStartedUserName: string;\n// processStartedUserFullName: string;\n// instanceId: string;\n// no: number;\n// name: string;\n// description: string;\n// app: string;\n// startedAt?: Date;\n// dueDate?: Date;\n// status: number;\n// statusMessage: string;\n// claimableUserNames: string[];\n// claimableUserFullNames: string[];\n// assignedUserName: string;\n// assignedUserFullName: string;\n// completedAt?: Date;\n// completedUserName: string;\n// completedUserFullName: string;\n// }\n//\n","import Axios, { AxiosResponse } from \"axios\";\nimport { KuikaAppManager } from \"../shared/utilty/kuika-app-manager\";\nimport { KMainFunctions } from \"../shared/utilty/main-functions\";\n\nconst backendUrl = KuikaAppManager.GetBackendUrl();\n\nclass ServerFilesService {\n public static async DownloadFile(fileId: string): Promise> {\n const data = {\n fileId // Update with the actual file name\n };\n try {\n const res = await Axios.post(`${backendUrl}/resource/download`, data, {\n responseType: \"blob\" // important for handling binary data\n });\n\n const url = window.URL.createObjectURL(new Blob([res.data]));\n const link = document.createElement(\"a\");\n link.href = url;\n link.setAttribute(\"download\", data.fileId); // Set the file name here\n document.body.appendChild(link);\n link.click();\n\n // Clean up\n link.parentNode.removeChild(link);\n window.URL.revokeObjectURL(url);\n return res;\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async DeleteFile(fileId: string): Promise> {\n const data = {\n fileId // Update with the actual file name\n };\n try {\n const res = await Axios.post(`${backendUrl}/resource/delete`, data);\n return res.data;\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n}\n\nexport default ServerFilesService;\n","import Axios, { AxiosResponse } from \"axios\";\nimport { IIyzicoCheckoutFormDto, IIyzicoCheckoutFormResponseDto } from \"../models/dto/iyzico.dto\";\nimport { KuikaAppManager } from \"../shared/utilty/kuika-app-manager\";\nimport { KMainFunctions } from \"../shared/utilty/main-functions\";\n\nconst backendUrl = KuikaAppManager.GetBackendUrl();\n\nexport class IyzicoService {\n public static async CheckoutForm(\n dto: IIyzicoCheckoutFormDto\n ): Promise> {\n try {\n return await Axios.post(`${backendUrl}/Iyzico/checkoutform`, dto);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n}\n","import Axios, { AxiosResponse } from \"axios\";\nimport { KuikaAppManager } from \"../shared/utilty/kuika-app-manager\";\nimport { KMainFunctions } from \"../shared/utilty/main-functions\";\n\nconst backendUrl = KuikaAppManager.GetBackendUrl();\n\ndeclare let window: any;\nexport class LanguageService {\n public static async SaveLanguage(language): Promise {\n try {\n const res = await Axios.put(`${backendUrl}/auth/language?language=${language}`);\n return res;\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n}\n","import Axios, { AxiosResponse } from \"axios\";\nimport { KuikaAppManager } from \"../shared/utilty/kuika-app-manager\";\nimport { KMainFunctions } from \"../shared/utilty/main-functions\";\n\nconst backendUrl = KuikaAppManager.GetBackendUrl();\n\ninterface ISendPushNotificationToUsernamePayload {\n username: string;\n title: string;\n message: string;\n extraData?: { [key: string | number]: unknown };\n}\n\nclass NotificationService {\n public static async SendPushNotificationToUsername(\n payload: ISendPushNotificationToUsernamePayload\n ): Promise {\n try {\n return await Axios.post(`${backendUrl}/notification/sendtouser`, {\n ...payload,\n extraData: payload.extraData ? JSON.stringify(payload.extraData) : undefined\n });\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n}\n\nexport default NotificationService;\n","import Axios, { AxiosResponse } from \"axios\";\nimport { IStripePayment, IStripeSetupIntent } from \"../models/dto/stripe-payment\";\nimport {\n IStripeCancelPaymentDto,\n IStripeCaptureDto,\n IStripeChargePaymentMethodDto,\n IStripeConnectedAccountDto,\n IStripeConnectedAccountOnboardingDto,\n IStripeConnectedAccountPayout,\n IStripeConnectedAccountWithdraw,\n IStripeCreateConnectedAccountDto,\n IStripeDeletePaymentMethodDto,\n IStripeListCustomerPaymentMethodsByIdDto,\n IStripeMasterAccountDetailsDto,\n IStripeMasterAccountDto,\n IStripePaymentDto,\n IStripeRefundDto,\n IStripeUpdateCustomerDto\n} from \"../models/dto/stripe.dto\";\nimport { KuikaAppManager } from \"../shared/utilty/kuika-app-manager\";\nimport { KMainFunctions } from \"../shared/utilty/main-functions\";\n\nconst backendUrl = KuikaAppManager.GetBackendUrl();\n\nexport class StripeService {\n public static async OneTimePayment(dto: IStripePaymentDto): Promise> {\n try {\n return await Axios.post(`${backendUrl}/Stripe/onetimepayment`, dto);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async SetupIntent(dto: any): Promise> {\n try {\n return await Axios.post(`${backendUrl}/Stripe/savePaymentInfo`, dto);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async OneTimePaymentWithDestination(dto: IStripePaymentDto): Promise> {\n try {\n return await Axios.post(\n `${backendUrl}/Stripe/onetimepaymentWithDestination`,\n dto\n );\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async RefundPayment(dto: IStripeRefundDto): Promise> {\n try {\n return await Axios.post(`${backendUrl}/Stripe/refundStripeCharge`, dto);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async CapturePayment(dto: IStripeCaptureDto): Promise> {\n try {\n return await Axios.post(`${backendUrl}/Stripe/captureReservedFunds`, dto);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async ChargePaymentMethod(dto: IStripeChargePaymentMethodDto): Promise> {\n try {\n return await Axios.post(\n `${backendUrl}/Stripe/chargePaymentMethod`,\n dto\n );\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async GetMasterAccountBalance(dto: IStripeMasterAccountDto): Promise> {\n try {\n return await Axios.post(\n `${backendUrl}/Stripe/getMasterAccountBalance`,\n dto\n );\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async CancelPaymentIntent(dto: IStripeCancelPaymentDto): Promise> {\n try {\n return await Axios.post(`${backendUrl}/Stripe/cancelPayment`, dto);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async UpdateStripeUserInfo(dto: IStripeUpdateCustomerDto): Promise> {\n try {\n return await Axios.post(`${backendUrl}/Stripe/updateCustomer`, dto);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async DeletePaymentMethod(dto: IStripeDeletePaymentMethodDto): Promise> {\n try {\n return await Axios.post(`${backendUrl}/Stripe/deletePaymentMethod`, dto);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async GetCustomerPaymentMethods(): Promise> {\n try {\n return await Axios.post(`${backendUrl}/Stripe/customerPaymentMethods`);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async GetCustomerPaymentMethodsbyId(\n dto: IStripeListCustomerPaymentMethodsByIdDto\n ): Promise> {\n try {\n return await Axios.post(`${backendUrl}/Stripe/customerPaymentMethodsbyId`, dto);\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async GetPaymentReceiptBase64(dto: IStripeCancelPaymentDto): Promise> {\n try {\n return await Axios.post(\n `${backendUrl}/Stripe/getPaymentReceiptBase64`,\n dto\n );\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async GetPaymentReceiptLink(dto: IStripeCancelPaymentDto): Promise> {\n try {\n return await Axios.post(\n `${backendUrl}/Stripe/getPaymentReceiptLink`,\n dto\n );\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async CheckPaymentIntentStatus(dto: IStripeCancelPaymentDto): Promise> {\n try {\n return await Axios.post(\n `${backendUrl}/Stripe/CheckPaymentIntentStatus`,\n dto\n );\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async GetMasterAccountBalanceHistory(dto: IStripeMasterAccountDetailsDto): Promise> {\n try {\n return await Axios.post(\n `${backendUrl}/Stripe/getMasterAccountsBalanceHistory`,\n dto\n );\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async GetConnectedAccountBalance(dto: IStripeConnectedAccountDto): Promise> {\n try {\n return await Axios.post(\n `${backendUrl}/Stripe/getConnectedAccountBalance`,\n dto\n );\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async GetConnectedAccountStatus(dto: IStripeConnectedAccountDto): Promise> {\n try {\n return await Axios.post(\n `${backendUrl}/Stripe/getConnectedAccountStatus`,\n dto\n );\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async GetConnectedAccountOnboardingLink(\n dto: IStripeConnectedAccountOnboardingDto\n ): Promise> {\n try {\n return await Axios.post(\n `${backendUrl}/Stripe/createAccountOnboardingLink`,\n dto\n );\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async CreateConnectedAccount(dto: IStripeCreateConnectedAccountDto): Promise> {\n try {\n return await Axios.post(\n `${backendUrl}/Stripe/createConnectedAccount`,\n dto\n );\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async ConnectedAccountWithdraw(dto: IStripeConnectedAccountWithdraw): Promise> {\n try {\n return await Axios.post(\n `${backendUrl}/Stripe/connectedAcountWithdraw`,\n dto\n );\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n\n public static async ConnectedAccountPayout(dto: IStripeConnectedAccountPayout): Promise> {\n try {\n return await Axios.post(\n `${backendUrl}/Stripe/connectedAcountPayout`,\n dto\n );\n } catch (error: any) {\n KMainFunctions.exceptionHandler(error);\n return error;\n }\n }\n}\n","import CryptoJS from \"crypto-js\";\n\nexport class CryptoJSHelper {\n private static getBase64CryptoParamsForLogin() {\n const base64EncSettings = {\n password: \"tK5UTui+DPh8lIlBxya5XVsmeDCoUl6vHhdIESMB6sQ=\",\n salt: \"QWlGNHNhMTJTQWZ2bGhpV3U=\",\n iv: \"bVQzNFNhRkQ1Njc4UUFaWA==\"\n };\n const salt = CryptoJS.enc.Base64.parse(base64EncSettings.salt);\n const key = CryptoJS.PBKDF2(base64EncSettings.password, salt, { keySize: 256 / 32, iterations: 10000 });\n const iv = CryptoJS.enc.Base64.parse(base64EncSettings.iv);\n return { key, iv };\n }\n\n public static encryptToAESAndEncode(raw) {\n const { key, iv } = this.getBase64CryptoParamsForLogin();\n const encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(raw), key, { iv });\n return CryptoJS.enc.Base64.stringify(encrypted.ciphertext);\n }\n}\n","import ar_EG from \"antd/es/locale/ar_EG\";\nimport cs_CZ from \"antd/es/locale/cs_CZ\";\nimport da_DK from \"antd/es/locale/da_DK\";\nimport de_DE from \"antd/es/locale/de_DE\";\nimport en_GB from \"antd/es/locale/en_GB\";\nimport en_US from \"antd/es/locale/en_US\";\nimport es_ES from \"antd/es/locale/es_ES\";\nimport fr_FR from \"antd/es/locale/fr_FR\";\nimport it_IT from \"antd/es/locale/it_IT\";\nimport nl_NL from \"antd/es/locale/nl_NL\";\nimport tr_TR from \"antd/es/locale/tr_TR\";\nimport { Guid } from \"guid-typescript\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\nimport printJS from \"print-js\";\nimport QRCode from \"qrcode\";\nimport querystringify from \"querystringify\";\nimport { store } from \"react-notifications-component\";\nimport generatePDF, { Resolution } from \"react-to-pdf\";\nimport { TOTP } from \"totp-generator\";\nimport VCard from \"vcard-creator\";\nimport { setTimeout } from \"worker-timers\";\nimport LocalStorageService from \"../../auth/local-storage-service\";\nimport { IChangePasswordDto } from \"../../models/dto/change-password.dto\";\nimport { ICreateUserWithPasswordDto } from \"../../models/dto/create-user-with-password\";\nimport { ICreateUserDto } from \"../../models/dto/createuser\";\nimport { IImportMappedExcelColumnMapDefinition } from \"../../models/dto/excel\";\nimport { IForgotPasswordDto } from \"../../models/dto/forgotpassword.dto\";\nimport { IIyzicoAddressDto, IIyzicoCheckoutFormDto } from \"../../models/dto/iyzico.dto\";\nimport { IResetPasswordWithTokenDto } from \"../../models/dto/reset-password-with-token\";\nimport { IRestResult } from \"../../models/dto/rest-result.dto\";\nimport { ISignupDto } from \"../../models/dto/signup.dto\";\nimport { IStripePayment } from \"../../models/dto/stripe-payment\";\nimport {\n IStripeCaptureDto,\n IStripeChargePaymentMethodDto,\n IStripeConnectedAccountDto,\n IStripeConnectedAccountOnboardingDto,\n IStripeConnectedAccountPayout,\n IStripeConnectedAccountWithdraw,\n IStripeCreateConnectedAccountDto,\n IStripeDeletePaymentMethodDto,\n IStripeMasterAccountDetailsDto,\n IStripeMasterAccountDto,\n IStripePaymentDto,\n IStripeRefundDto,\n IStripeUpdateCustomerDto\n} from \"../../models/dto/stripe.dto\";\nimport { IUpdateUserStartingScreen } from \"../../models/dto/update-user-starting-screen.dto\";\nimport { IUpdateUsernameDto } from \"../../models/dto/update-username.dto\";\nimport { IUserRoleDto } from \"../../models/dto/userrole.dto\";\nimport { ITaskDataParameters, getDictionaryValueByKey } from \"../../models/dto/workflow-task.dto\";\nimport { EAccountStatus } from \"../../models/enum/auth\";\nimport ServerFilesService from \"../../services/files-download-service\";\nimport HelperService from \"../../services/helper-service\";\nimport { IyzicoService } from \"../../services/iyzico-service\";\nimport { LanguageService } from \"../../services/language-service\";\nimport NotificationService from \"../../services/notification-service\";\nimport { StripeService } from \"../../services/stripe-service\";\nimport { UserService } from \"../../services/user-service\";\nimport { WorkflowService } from \"../../services/workflow-service\";\nimport { OTP_ALGORITHM, OTP_DIGITS, OTP_PERIOD, OTP_SECRET_KEY } from \"../json/otp.json\";\nimport { CryptoJSHelper } from \"./cryptojs-helper\";\nimport { KuikaAppManager } from \"./kuika-app-manager\";\nimport { KMainFunctions } from \"./main-functions\";\n\ndeclare let window: Window & { [key: string]: any };\ndeclare let google: any;\nlet TOKEN = \"\";\nlet USER = \"\";\nlet enteredPassword = \"\";\n\nexport class ReactSystemFunctions {\n public static convertToTypeByName(data: any, targetTypeName: string): any {\n if ((data == null || data == undefined) && targetTypeName == \"boolean\") {\n return false;\n }\n if (data == null) return null;\n targetTypeName = targetTypeName.toLowerCase();\n if (targetTypeName === \"string\" || targetTypeName === \"string?\")\n return data !== undefined && data !== null ? data.toString() : \"\";\n if (targetTypeName === \"guid\" || targetTypeName === \"guid?\") {\n if (data !== undefined && data !== null && Guid.isGuid(data)) {\n return data.toString();\n }\n return null;\n }\n if (targetTypeName === \"boolean\" || targetTypeName === \"boolean?\")\n return !!(data && data.toString && data.toString().toLowerCase() === \"true\");\n if (targetTypeName === \"date\" || targetTypeName === \"date?\") return this.getDate(data);\n if (targetTypeName === \"number\" || targetTypeName === \"number?\")\n return data !== undefined && data !== null && data !== \"\" ? data : null;\n if (targetTypeName.includes(\"[]\")) {\n if (Array.isArray(data)) return data;\n return data !== undefined && data !== null ? [...data.split(\",\")] : [];\n }\n return data;\n }\n\n static getDate = (data: string) => {\n if (data !== undefined && data !== null && data !== \"\") {\n const date = moment(data);\n\n if (date.hour() === 0 && date.minute() === 0 && date.second() === 0 && date.millisecond() === 0) {\n const utcOffset = date.utcOffset() === 0 ? date.utcOffset() : date.utcOffset() / 60;\n date.add(utcOffset, \"hours\");\n }\n\n return date;\n }\n\n return null;\n };\n\n // public static async listMyTasks(that: any, showPool: any, page: any, pageSize: any, searchKey: any) {\n // const user = that.props?.context?.userInfo?.username;\n // if (user === undefined) {\n // return [];\n // }\n // const request = {\n // user,\n // app: window.kuika.info.applicationName,\n // searchKey,\n // showPool,\n // page,\n // pageSize\n // };\n // const tasks = await WorkflowService.ListMyTasks(request);\n // return tasks;\n // }\n\n // public static async listMyRequests(\n // that: any,\n // showCompleted: any,\n // page: any,\n // pageSize: any,\n // processName: any,\n // searchKey: any\n // ) {\n // const user = that.props?.context?.userInfo?.username;\n // if (user === undefined) {\n // return [];\n // }\n // const request = {\n // user,\n // app: window.kuika.info.applicationName,\n // searchKey,\n // processName,\n // showCompleted,\n // page,\n // pageSize\n // };\n // const tasks = await WorkflowService.ListMyRequests(request);\n // return tasks;\n // }\n\n // public static async getTaskDetail(stepInstance: string) {\n // const history = await WorkflowService.GetTaskDetail(stepInstance.toString());\n // return history;\n // }\n\n // public static async showHistory(processInstance: string) {\n // const history = await WorkflowService.ShowWorkflowHistory(processInstance);\n // return history;\n // }\n\n // Authentication\n // signup({a0}, {a1}, {a2}, {a3})\n\n public static async signup(\n _screen: any,\n username: string,\n password: string,\n firstName: string,\n lastName: string,\n confirmEmail?: boolean,\n dontSendEmail?: boolean,\n phoneNumber?: string,\n language?: string\n ) {\n const credientials = {\n username,\n password,\n firstName,\n lastName,\n VerifyEMailAddress: confirmEmail || false,\n dontSendEmail: dontSendEmail || false,\n phoneNumber: phoneNumber || \"\",\n language: language || \"\"\n } as ISignupDto;\n LocalStorageService.clearToken();\n window.userInfo = undefined;\n const res = await UserService.SignUp(credientials);\n USER = username;\n enteredPassword = password;\n if (res?.data?.status !== undefined) {\n LocalStorageService.setLoginStatus(res.data.status);\n LocalStorageService.setVerificationUserName(\n res.data.status === EAccountStatus.TwoFactorAuthentication ? username : \"\"\n );\n }\n return res;\n }\n\n public static async isVerificationCodeValid(_screen: any, verificationCode: string) {\n TOKEN = verificationCode;\n const loginStatus = LocalStorageService.getLoginStatus();\n if (OTP_SECRET_KEY) {\n const userName = USER || LocalStorageService.getVerificationUserName();\n const otp = this.generateOTP(userName || \"\");\n if (otp === verificationCode) {\n return true;\n }\n }\n if (loginStatus === EAccountStatus.TwoFactorAuthentication.toString()) return;\n\n const res = await UserService.VerifyVerificationCode({ username: USER, verificationCode });\n if (KMainFunctions.IsResStatus2XX(res)) {\n LocalStorageService.setVerificationStatus(\"true\");\n return true;\n }\n LocalStorageService.setVerificationStatus(\"false\");\n return false;\n }\n\n public static async setPasswordWithVerificationCode(\n _screen: any,\n userName: string,\n verificationCode: string,\n newPassword: string,\n language?: string\n ) {\n const res = await UserService.ResetPasswordWithToken({\n UserName: userName,\n newPassword,\n token: verificationCode,\n dontSendEmail: false,\n language: language || \"\"\n });\n if (KMainFunctions.IsResStatus2XX(res)) {\n LocalStorageService.setResetPasswordStatus(EAccountStatus.Valid);\n return true;\n }\n\n LocalStorageService.setResetPasswordStatus(EAccountStatus.ForceResetPassword);\n return false;\n }\n\n public static async encryptedSignin(username: string, password: string) {\n USER = username;\n TOKEN = password;\n enteredPassword = password;\n\n const encyriptedUserName = CryptoJSHelper.encryptToAESAndEncode(username);\n const encyriptedPassword = CryptoJSHelper.encryptToAESAndEncode(password);\n const res = await this.signin(undefined, encyriptedUserName, encyriptedPassword, true);\n return res;\n }\n\n public static async signin(\n _screen: any,\n username: string,\n password: string,\n isEncrypted: boolean = false\n ): Promise {\n let loginFunction = UserService.Login;\n if (!isEncrypted) {\n USER = username;\n enteredPassword = password;\n TOKEN = password;\n } else {\n loginFunction = UserService.EncryptedLogin;\n }\n\n await loginFunction({\n username,\n password\n }).then(\n (res) => {\n LocalStorageService.setLoginStatus(res.data?.status?.toString());\n LocalStorageService.setVerificationUserName(\n res.data?.status === EAccountStatus.TwoFactorAuthentication ? username : \"\"\n );\n return res;\n },\n (error) => {\n if (\n error.message === \"Your password has expired\" ||\n error.message === \"Şifrenizin süresi doldu\" ||\n error.message === \"Votre mot de passe a expiré\"\n ) {\n KMainFunctions.displayWarningNotification(error.message);\n LocalStorageService.setLoginStatus(\"1\");\n }\n\n if (error.response?.data?.message) {\n alert(error.response.data.message);\n window.location.reload();\n }\n }\n );\n return {};\n }\n\n public static async signinWithVerificationCode(): Promise {\n await UserService.LoginWithVerificationCode({\n username: USER,\n verificationCode: TOKEN\n }).then(\n (res) => {\n if (res.data?.status) LocalStorageService.setLoginStatus(res.data?.status?.toString());\n return res;\n },\n (error) => {\n if (error.response?.data?.message) {\n alert(error.response.data.message);\n window.location.reload();\n }\n }\n );\n return {};\n }\n\n public static async goToNextScreenAfterSignup(screen: any) {\n const status = LocalStorageService.getLoginStatus();\n if (status == EAccountStatus.ShouldActivated.toString()) {\n screen.props.navigator.goToVerificationCodeScreen();\n } else if (status == EAccountStatus.Valid.toString()) {\n await this.signin(this, USER, enteredPassword);\n this.goToNextScreenAfterLogin(screen);\n }\n return true;\n }\n\n public static goToNextScreenAfterLogin(screen: any) {\n const status = LocalStorageService.getLoginStatus();\n if (status == EAccountStatus.ForceResetPassword.toString()) {\n screen.props.navigator.goToResetPasswordScreen();\n } else if (\n status == EAccountStatus.ShouldActivated.toString() ||\n status == EAccountStatus.TwoFactorAuthentication.toString()\n ) {\n screen.props.navigator.goToVerificationCodeScreen();\n } else if (status == EAccountStatus.Valid.toString()) {\n screen.props.navigator.gotoStartingScreen();\n }\n return true;\n }\n\n public static goToSignInActivity(screen: any) {\n if (LocalStorageService.getResetPasswordStatus() === EAccountStatus.ForceResetPassword.toString()) {\n LocalStorageService.setResetPasswordStatus(\"\");\n return;\n }\n\n if (LocalStorageService.getResetPasswordStatus() == EAccountStatus.Valid.toString()) {\n LocalStorageService.setResetPasswordStatus(\"\");\n HelperService.gotoLogin();\n } else {\n localStorage.clear();\n LocalStorageService.clearSessionStorage();\n window.userInfo = undefined;\n screen.props.navigator.gotoStartingScreen(\"/\");\n }\n }\n\n public static async goToNextScreenAfterVerifyCode(screen: any) {\n const status = LocalStorageService.getLoginStatus();\n const verificationStatus = LocalStorageService.getVerificationStatus();\n if (status == EAccountStatus.ShouldActivated.toString()) {\n await this.signin(this, USER, enteredPassword);\n this.goToNextScreenAfterLogin(screen);\n } else if (status == EAccountStatus.TwoFactorAuthentication.toString()) {\n await this.signinWithVerificationCode();\n this.goToNextScreenAfterLogin(screen);\n } else if (verificationStatus === \"true\") {\n screen.props.navigator.goToResetPasswordScreen();\n }\n return true;\n }\n\n public static goToVerificationCodeActivity(screen: {\n props: { navigator: { goToVerificationCodeScreen: () => void } };\n }) {\n const email = LocalStorageService.getForgotPasswordEmail();\n if (email) screen.props.navigator.goToVerificationCodeScreen();\n }\n\n public static async forgotPassword(\n _screen: any,\n username: string,\n dontSendEmail?: boolean,\n language?: string\n ): Promise {\n USER = username;\n const credientials = {\n email: username,\n dontSendEmail: dontSendEmail || false,\n language: language || \"\"\n } as IForgotPasswordDto;\n\n await UserService.ForgotPassword(credientials);\n }\n\n public static async createUser(\n username: string,\n firstName: string,\n lastName: string,\n dontSendEmail?: boolean,\n phoneNumber?: string,\n language?: string\n ): Promise {\n const credientials = {\n username,\n firstName,\n lastName,\n dontSendEmail: dontSendEmail || false,\n phoneNumber: phoneNumber || \"\",\n language: language || \"\"\n } as ICreateUserDto;\n\n await UserService.CreateUser(credientials);\n }\n\n public static createUserWithPassword(\n username: string,\n password: string,\n firstName: string,\n lastName: string,\n dontSendEmail?: boolean,\n phoneNumber?: string,\n language?: string\n ): any {\n const credientials = {\n username,\n password,\n firstName,\n lastName,\n dontSendEmail: dontSendEmail || false,\n phoneNumber: phoneNumber || \"\",\n language: language || \"\"\n } as ICreateUserWithPasswordDto;\n\n UserService.CreateUserWithPassword(credientials);\n }\n\n public static async resetPassword(\n _screen: any,\n newpassword: string,\n dontSendEmail?: boolean,\n language?: string\n ): Promise {\n const credientials = {\n newPassword: newpassword,\n token: TOKEN,\n UserName: USER,\n dontSendEmail: dontSendEmail || false,\n language: language || \"\"\n } as IResetPasswordWithTokenDto;\n enteredPassword = newpassword;\n const res = await UserService.ResetPassword(credientials);\n\n if (KMainFunctions.IsResStatus2XX(res)) {\n LocalStorageService.setResetPasswordStatus(EAccountStatus.Valid);\n } else {\n LocalStorageService.setResetPasswordStatus(EAccountStatus.ForceResetPassword);\n }\n }\n\n public static async addUserToRole(roleName: string, userName: string) {\n const credientials = {\n roleName,\n userName\n } as IUserRoleDto;\n\n await UserService.AddUserToRole(credientials);\n }\n\n public static async removeUserFromRole(roleName: string, userName: string) {\n const credientials = {\n roleName,\n userName\n } as IUserRoleDto;\n\n await UserService.RemoveUserFromRole(credientials);\n }\n\n public static async enableUser(userName: string): Promise {\n let data = (await UserService.EnableUser(userName)).data;\n return data;\n }\n\n public static async disableUser(userName: string): Promise {\n let data = (await UserService.DisableUser(userName)).data;\n return data;\n }\n\n // signin: _signin,\n // signup: _signup,\n // createUser: _createUser,\n // getMyUsername: _getMyUsername,\n // sendResetPasswordMail: _sendResetPasswordMail,\n // resetPassword: _resetPassword,\n // changePassword: _changePassword,\n // logout: _logout,\n // hasRole: _hasRole,\n // hasOneOfRoles: _hasOneOfRoles,\n\n public static sendResetPasswordMail(_val: string) {\n console.log(\"TODO!\");\n }\n\n // Convertion\n public static dateAddYears(date: any, yearsToAdd: any) {\n const d = moment(date);\n d.add(yearsToAdd, \"years\");\n return d;\n }\n\n public static dateAddDays(date: any, daysToAdd: any) {\n const d = moment(date);\n d.add(daysToAdd, \"days\");\n return d;\n }\n\n public static dateAddMinutes(date: any, minutesToAdd: any) {\n const d = moment(date);\n d.add(minutesToAdd, \"minutes\");\n return d;\n }\n\n public static dateAddHours(date: any, hoursToAdd: any) {\n const d = moment(date);\n d.add(hoursToAdd, \"hours\");\n return d;\n }\n\n public static dateDiffInMinutes(date1: any, date2: any) {\n const a = moment(date1);\n const b = moment(date2);\n\n return b.diff(a, \"minutes\");\n }\n\n public static dateDiffInHours(date1: any, date2: any) {\n const a = moment(date1);\n const b = moment(date2);\n\n return b.diff(a, \"hours\");\n }\n\n public static dateDiffInDays(date1: any, date2: any) {\n const a = moment(date1);\n const b = moment(date2);\n\n return b.diff(a, \"days\");\n }\n\n public static value(\n screen: any,\n val: any,\n varName?: string,\n actionName?: string,\n pkFieldName?: string,\n targetField?: string\n ) {\n if (\n actionName &&\n actionName.length > 0 &&\n pkFieldName &&\n pkFieldName.length > 0 &&\n targetField &&\n targetField.length > 0 &&\n pkFieldName !== targetField\n ) {\n if (\n varName != undefined &&\n screen[`${val}_kuikaSelectBoxRef`] != undefined &&\n screen[`${val}_kuikaSelectBoxRef`] != null &&\n screen[`${val}_kuikaSelectBoxRef`].current != undefined &&\n screen[`${val}_kuikaSelectBoxRef`].current != null &&\n screen[`${val}_kuikaSelectBoxRef`].current.getAllData != undefined\n ) {\n const selectBoxOptionsProp = screen[`${val}_kuikaSelectBoxRef`].current.getAllData();\n if (selectBoxOptionsProp && selectBoxOptionsProp.find) {\n const result = selectBoxOptionsProp.find(\n (x: { [x: string]: any }) => x[pkFieldName] == screen.props.form.getFieldValue(val)\n );\n if (result && result[targetField] !== undefined) return result[targetField];\n }\n } else {\n const result = screen.state[actionName].find(\n (x: { [x: string]: any }) => x[pkFieldName] == screen.props.form.getFieldValue(val)\n );\n if (result && result[targetField] !== undefined) return result[targetField];\n }\n }\n if (\n varName != undefined &&\n screen[`${val}_kuikaMultiSelectRef`] != undefined &&\n screen[`${val}_kuikaMultiSelectRef`] != null &&\n screen[`${val}_kuikaMultiSelectRef`].current != undefined &&\n screen[`${val}_kuikaMultiSelectRef`].current != null &&\n screen[`${val}_kuikaMultiSelectRef`].current.getAllData != undefined\n ) {\n const selectBoxOptionsProp = screen[`${val}_kuikaMultiSelectRef`].current.getAllData();\n if (selectBoxOptionsProp && selectBoxOptionsProp.find) {\n const result = selectBoxOptionsProp?.filter((x: { [x: string]: any }) =>\n screen.props.form.getFieldValue?.(val)?.includes?.(x?.[pkFieldName])\n );\n if (result && result.length > 0 && result?.[0] && result?.[0]?.[targetField] !== undefined) {\n return result?.map?.((x: { [x: string]: any }) => x?.[targetField]);\n }\n }\n }\n\n if (\n varName != undefined &&\n screen[`${val}_kuikaNoneRef`] != undefined &&\n screen[`${val}_kuikaNoneRef`] != null &&\n screen[`${val}_kuikaNoneRef`].current != undefined &&\n screen[`${val}_kuikaNoneRef`].current != null\n ) {\n if (varName == \"fileId\") return screen[`${val}_kuikaNoneRef`].current.state.fileGuid;\n if (varName == \"fileName\") return screen[`${val}_kuikaNoneRef`].current.state.fileToBeUpload.name;\n }\n\n if (\n varName != undefined &&\n screen[`${val}_kuikaTableRef`] != undefined &&\n screen[`${val}_kuikaTableRef`] != null &&\n screen[`${val}_kuikaTableRef`].current != undefined &&\n screen[`${val}_kuikaTableRef`].current != null &&\n screen[`${val}_kuikaTableRef`].current.getSelectedRowData != undefined\n ) {\n const currentTableRef = screen[`${val}_kuikaTableRef`].current;\n\n const parentTableId = screen[`${val}_kuikaTableRef`].current?.getParentTableIdIfExist();\n const parentTableRef = screen[`${val.replace(currentTableRef.props.id, parentTableId)}_kuikaTableRef`];\n\n if (parentTableRef?.current) {\n const dataSourcePath = currentTableRef.props?.dataSourceOriginal?.match(\n /\\[datafield:((?:(?!\\[datafield:).)*)\\]/\n );\n const dataSourcePathValue = dataSourcePath ? dataSourcePath[1] : \"\";\n\n const nestedTableRowIdx = parentTableRef.current.getNestedTableSelectedIndex(\n document.getElementById(parentTableId)\n );\n\n if (\n nestedTableRowIdx !== undefined &&\n parentTableRef.current.getSelectedRowData()[dataSourcePathValue] !== undefined &&\n parentTableRef.current.getSelectedRowData()[dataSourcePathValue][nestedTableRowIdx] !== undefined\n ) {\n return parentTableRef.current.getSelectedRowData()[dataSourcePathValue][nestedTableRowIdx][varName];\n }\n }\n\n if (varName.charAt(0) === \".\") varName = varName.substr(1);\n if (varName === \"k_rowIndex\") {\n return screen[`${val}_kuikaTableRef`].current.getSelectedIndex();\n }\n if (varName === \"k_columnIndex\") {\n return screen[`${val}_kuikaTableRef`].current.getSelectedColumnIndex();\n }\n if (varName === \"selectedValues\") {\n return screen[`${val}_kuikaTableRef`].current.getSelectedValues();\n }\n return (\n screen[`${val}_kuikaTableRef`].current.getSelectedRowData() &&\n screen[`${val}_kuikaTableRef`].current.getSelectedRowData()[varName]\n );\n }\n\n if (\n varName != undefined &&\n screen[`${val}_kuikaKanbanBoardRef`] != undefined &&\n screen[`${val}_kuikaKanbanBoardRef`] != null &&\n screen[`${val}_kuikaKanbanBoardRef`].current != undefined &&\n screen[`${val}_kuikaKanbanBoardRef`].current != null\n ) {\n if (varName === \"laneId\" || targetField === \"k_laneId\") {\n return screen[`${val}_kuikaKanbanBoardRef`].current.getLaneId();\n }\n\n if (varName === \"laneTitle\" || targetField === \"k_laneTitle\") {\n return screen[`${val}_kuikaKanbanBoardRef`].current.getLaneTitle();\n }\n\n if (varName === \"laneLabel\" || targetField === \"k_laneLabel\") {\n return screen[`${val}_kuikaKanbanBoardRef`].current.getLaneLabel();\n }\n\n if (varName === \"laneDroppable\" || targetField === \"k_laneDroppable\") {\n return screen[`${val}_kuikaKanbanBoardRef`].current.getLaneDroppable();\n }\n\n if (varName === \"laneIndex\" || targetField === \"k_laneIndex\") {\n return screen[`${val}_kuikaKanbanBoardRef`].current.getLaneIndex();\n }\n\n if (varName === \"laneTargetIndex\" || targetField === \"k_laneTargetIndex\") {\n return screen[`${val}_kuikaKanbanBoardRef`].current.getLaneTargetIndex();\n }\n\n if (varName === \"cardId\" || targetField === \"k_cardId\") {\n return screen[`${val}_kuikaKanbanBoardRef`].current.getCardId();\n }\n\n if (varName === \"cardLaneId\" || targetField === \"k_cardLaneId\") {\n return screen[`${val}_kuikaKanbanBoardRef`].current.getCardLaneId();\n }\n\n if (varName === \"cardTargetLaneId\" || targetField === \"k_cardTargetLaneId\") {\n return screen[`${val}_kuikaKanbanBoardRef`].current.getCardTargetLaneId();\n }\n\n if (varName === \"cardTitle\" || targetField === \"k_cardTitle\") {\n return screen[`${val}_kuikaKanbanBoardRef`].current.getCardTitle();\n }\n\n if (varName === \"cardLabel\" || targetField === \"k_cardLabel\") {\n return screen[`${val}_kuikaKanbanBoardRef`].current.getCardLabel();\n }\n\n if (varName === \"cardSubTitle\" || targetField === \"k_cardSubTitle\") {\n return screen[`${val}_kuikaKanbanBoardRef`].current.getCardSubTitle();\n }\n\n if (varName === \"cardDescription\" || targetField === \"k_cardDescription\") {\n return screen[`${val}_kuikaKanbanBoardRef`].current.getCardDescription();\n }\n\n if (varName === \"cardEscalationText\" || targetField === \"k_cardEscalationText\") {\n return screen[`${val}_kuikaKanbanBoardRef`].current.getCardEscalationText();\n }\n\n if (varName === \"cardDraggable\" || targetField === \"k_cardDraggable\") {\n return screen[`${val}_kuikaKanbanBoardRef`].current.getCardDraggable();\n }\n\n if (varName === \"cardIndex\" || targetField === \"k_cardIndex\") {\n return screen[`${val}_kuikaKanbanBoardRef`].current.getCardIndex();\n }\n\n if (varName === \"cardTargetIndex\" || targetField === \"k_cardTargetIndex\") {\n return screen[`${val}_kuikaKanbanBoardRef`].current.getCardTargetIndex();\n }\n }\n\n if (\n varName != undefined &&\n screen[`${val}_kuikaGalleryViewRef`] != undefined &&\n screen[`${val}_kuikaGalleryViewRef`] != null &&\n screen[`${val}_kuikaGalleryViewRef`].current != undefined &&\n screen[`${val}_kuikaGalleryViewRef`].current != null &&\n screen[`${val}_kuikaGalleryViewRef`].current.getSelectedRowData != undefined\n ) {\n if (varName.charAt(0) === \".\") varName = varName.substr(1);\n\n if (varName === \"k_rowIndex\") {\n return screen[`${val}_kuikaGalleryViewRef`].current.getSelectedIndex();\n }\n\n return (\n screen[`${val}_kuikaGalleryViewRef`].current.getSelectedRowData() &&\n screen[`${val}_kuikaGalleryViewRef`].current.getSelectedRowData()[varName]\n );\n }\n if (\n varName != undefined &&\n screen[`${val}_kuikaCarouselRef`] != undefined &&\n screen[`${val}_kuikaCarouselRef`] != null &&\n screen[`${val}_kuikaCarouselRef`].current != undefined &&\n screen[`${val}_kuikaCarouselRef`].current != null &&\n screen[`${val}_kuikaCarouselRef`].current.getSelectedRowData != undefined\n ) {\n if (varName.charAt(0) === \".\") varName = varName.substr(1);\n\n if (varName === \"k_rowIndex\") {\n return screen[`${val}_kuikaCarouselRef`].current.getSelectedIndex();\n }\n\n return (\n screen[`${val}_kuikaCarouselRef`].current.getCarouselCurrentData() &&\n screen[`${val}_kuikaCarouselRef`].current.getCarouselCurrentData()[varName]\n );\n }\n if (\n varName != undefined &&\n screen[`${val}_kuikaFlexGridRef`] != undefined &&\n screen[`${val}_kuikaFlexGridRef`] != null &&\n screen[`${val}_kuikaFlexGridRef`].current != undefined &&\n screen[`${val}_kuikaFlexGridRef`].current != null &&\n screen[`${val}_kuikaFlexGridRef`].current.getSelectedRowData != undefined\n ) {\n if (varName.charAt(0) === \".\") varName = varName.substr(1);\n\n if (varName === \"k_rowIndex\") {\n return screen[`${val}_kuikaFlexGridRef`].current.getSelectedIndex();\n }\n\n return (\n screen[`${val}_kuikaFlexGridRef`].current.getSelectedRowData() &&\n screen[`${val}_kuikaFlexGridRef`].current.getSelectedRowData()[varName]\n );\n }\n if (\n varName != undefined &&\n screen[`${val}_kuikaHorizontalTableRef`] != undefined &&\n screen[`${val}_kuikaHorizontalTableRef`] != null &&\n screen[`${val}_kuikaHorizontalTableRef`].current != undefined &&\n screen[`${val}_kuikaHorizontalTableRef`].current != null &&\n screen[`${val}_kuikaHorizontalTableRef`].current.getSelectedRowData != undefined\n ) {\n if (varName.charAt(0) === \".\") varName = varName.substr(1);\n\n if (varName === \"k_rowIndex\") {\n return screen[`${val}_kuikaHorizontalTableRef`].current.getSelectedIndex();\n }\n\n return (\n screen[`${val}_kuikaHorizontalTableRef`].current.getSelectedRowData() &&\n screen[`${val}_kuikaHorizontalTableRef`].current.getSelectedRowData()[varName]\n );\n }\n if (\n varName != undefined &&\n screen[`${val}_kuikaPaginationRef`] != undefined &&\n screen[`${val}_kuikaPaginationRef`] != null\n ) {\n if (\n screen[`${val}_kuikaPaginationRef`].current != undefined &&\n screen[`${val}_kuikaPaginationRef`].current != null &&\n screen[`${val}_kuikaPaginationRef`].current.getCurrentData != undefined\n ) {\n if (varName.charAt(0) === \".\") varName = varName.substr(1);\n return (\n screen[`${val}_kuikaPaginationRef`].current.getCurrentData() &&\n screen[`${val}_kuikaPaginationRef`].current.getCurrentData()[varName]\n );\n }\n if (varName === \"current\") return 1;\n return 10;\n }\n if (\n varName != undefined &&\n screen[`${val}_kuikaSelectBoxRef`] != undefined &&\n screen[`${val}_kuikaSelectBoxRef`] != null &&\n screen[`${val}_kuikaSelectBoxRef`].current != undefined &&\n screen[`${val}_kuikaSelectBoxRef`].current != null &&\n screen[`${val}_kuikaSelectBoxRef`].current.getSearchValue != undefined\n ) {\n if (targetField && targetField.charAt(0) === \".\") targetField = targetField.substr(1);\n if (targetField === \"k_searchValue\") {\n return screen[`${val}_kuikaSelectBoxRef`].current.getSearchValue();\n }\n } else if (\n varName != undefined &&\n screen[`${val}_kuikaMultiSelectRef`] != undefined &&\n screen[`${val}_kuikaMultiSelectRef`] != null &&\n screen[`${val}_kuikaMultiSelectRef`].current != undefined &&\n screen[`${val}_kuikaMultiSelectRef`].current != null &&\n screen[`${val}_kuikaMultiSelectRef`].current.getSearchValue != undefined\n ) {\n if (targetField && targetField.charAt(0) === \".\") targetField = targetField.substr(1);\n if (targetField === \"k_searchValue\") {\n return screen[`${val}_kuikaMultiSelectRef`].current.getSearchValue();\n }\n } else if (\n varName != undefined &&\n screen[`${val}_kuikaAutoCompleteRef`] != undefined &&\n screen[`${val}_kuikaAutoCompleteRef`] != null &&\n screen[`${val}_kuikaAutoCompleteRef`].current != undefined &&\n screen[`${val}_kuikaAutoCompleteRef`].current != null &&\n screen[`${val}_kuikaAutoCompleteRef`].current.getSearchValue != undefined\n ) {\n if (targetField && targetField.charAt(0) === \".\") targetField = targetField.substr(1);\n if (targetField === \"k_searchValue\") {\n return screen[`${val}_kuikaAutoCompleteRef`].current.getSearchValue();\n }\n } else if (\n varName != undefined &&\n screen[`${val}_kuikaGoogleMapsRef`] != undefined &&\n screen[`${val}_kuikaGoogleMapsRef`] != null &&\n screen[`${val}_kuikaGoogleMapsRef`].current != undefined &&\n screen[`${val}_kuikaGoogleMapsRef`].current != null &&\n screen[`${val}_kuikaGoogleMapsRef`].current.getLatValue != undefined\n ) {\n if (targetField && targetField.charAt(0) === \".\") targetField = targetField.substr(1);\n if (varName === \"Latitude\") {\n return screen[`${val}_kuikaGoogleMapsRef`].current.getLatValue();\n }\n if (varName === \"Longitude\") {\n return screen[`${val}_kuikaGoogleMapsRef`].current.getLngValue();\n }\n if (varName.charAt(0) === \".\") varName = varName.substr(1);\n return (\n screen[`${val}_kuikaGoogleMapsRef`].current.getSelectedRowData() &&\n screen[`${val}_kuikaGoogleMapsRef`].current.getSelectedRowData()[varName]\n );\n } else if (\n varName != undefined &&\n screen[`${val}_kuikaChatRef`] != undefined &&\n screen[`${val}_kuikaChatRef`] != null &&\n screen[`${val}_kuikaChatRef`].current != undefined &&\n screen[`${val}_kuikaChatRef`].current != null &&\n screen[`${val}_kuikaChatRef`].current.getMessage != undefined &&\n screen[`${val}_kuikaChatRef`].current.getCurrentlyEditingMessageId != undefined\n ) {\n if (varName === \"message\" || targetField === \"k_message\") {\n return screen[`${val}_kuikaChatRef`].current.getMessage();\n }\n\n if (varName === \"currentlyEditingMessageId\" || targetField === \"k_currentlyEditingMessageId\") {\n return screen[`${val}_kuikaChatRef`].current.getCurrentlyEditingMessageId();\n }\n\n if (varName === \"messageIdToBeDeleted\" || targetField === \"k_messageIdToBeDeleted\") {\n return screen[`${val}_kuikaChatRef`].current.messageIdToBeDeleted;\n }\n } else if (\n varName != undefined &&\n screen[`${val}_kuikaPlacesAutocompleteInputRef`] != undefined &&\n screen[`${val}_kuikaPlacesAutocompleteInputRef`] != null &&\n screen[`${val}_kuikaPlacesAutocompleteInputRef`].current != undefined &&\n screen[`${val}_kuikaPlacesAutocompleteInputRef`].current != null &&\n screen[`${val}_kuikaPlacesAutocompleteInputRef`].current.getLatitude != undefined\n ) {\n if (varName === \"Latitude\" || targetField === \"k_latitude\") {\n return screen[`${val}_kuikaPlacesAutocompleteInputRef`].current.getLatitude();\n }\n if (varName === \"Longitude\" || targetField === \"k_longitude\") {\n return screen[`${val}_kuikaPlacesAutocompleteInputRef`].current.getLongitude();\n }\n if (varName === \"Address\" || targetField === \"k_address\") {\n return screen[`${val}_kuikaPlacesAutocompleteInputRef`].current.getAddress();\n }\n } else if (\n varName != undefined &&\n screen[`${val}_kuikaLocationPickerComponentRef`] &&\n screen[`${val}_kuikaLocationPickerComponentRef`] != undefined &&\n screen[`${val}_kuikaLocationPickerComponentRef`] != null &&\n screen[`${val}_kuikaLocationPickerComponentRef`].current != undefined &&\n screen[`${val}_kuikaLocationPickerComponentRef`].current != null &&\n screen[`${val}_kuikaLocationPickerComponentRef`].current.getLatitude != undefined\n ) {\n if (varName === \"Latitude\" || targetField === \"k_latitude\") {\n return screen[`${val}_kuikaLocationPickerComponentRef`].current.getLatitude();\n }\n if (varName === \"Longitude\" || targetField === \"k_longitude\") {\n return screen[`${val}_kuikaLocationPickerComponentRef`].current.getLongitude();\n }\n } else if (\n varName != undefined &&\n screen[`${val}_kuikaStepperComponentRef`] &&\n screen[`${val}_kuikaStepperComponentRef`] != undefined &&\n screen[`${val}_kuikaStepperComponentRef`] != null &&\n screen[`${val}_kuikaStepperComponentRef`].current != undefined &&\n screen[`${val}_kuikaStepperComponentRef`].current != null &&\n screen[`${val}_kuikaStepperComponentRef`].current.getIndex != undefined\n ) {\n let index = screen[`${val}_kuikaStepperComponentRef`].current.getIndex();\n if (index === null || index === undefined || index < 0) return;\n\n return index + 1;\n } else if (\n screen[`${val}_kuikaWebViewRef`] &&\n screen[`${val}_kuikaWebViewRef`] != undefined &&\n screen[`${val}_kuikaWebViewRef`] != null &&\n screen[`${val}_kuikaWebViewRef`].current != undefined &&\n screen[`${val}_kuikaWebViewRef`].current != null &&\n screen[`${val}_kuikaWebViewRef`].current.getUrl != undefined\n ) {\n if (varName === \"url\" || targetField === \"k_url\") {\n return screen[`${val}_kuikaWebViewRef`].current.getUrl();\n }\n } else if (\n screen?.[`${val}_kuikaCalendarRef`]?.current != undefined &&\n screen?.[`${val}_kuikaCalendarRef`]?.current != null\n ) {\n if (varName === \"panel\" || varName === \"k_panel\" || targetField === \"k_panel\") {\n return screen[`${val}_kuikaCalendarRef`].current?.getPanel?.();\n }\n\n if (varName === \"currentDate\" || varName === \"k_currentDate\" || targetField === \"k_currentDate\") {\n return screen[`${val}_kuikaCalendarRef`].current?.getCurrentDate?.();\n }\n\n if (varName === \"currentDay\" || varName === \"k_currentDay\" || targetField === \"k_currentDay\") {\n return screen[`${val}_kuikaCalendarRef`].current.getCurrentDay?.();\n }\n\n if (varName === \"currentMonth\" || varName === \"k_currentMonth\" || targetField === \"k_currentMonth\") {\n return screen[`${val}_kuikaCalendarRef`].current.getCurrentMonth?.();\n }\n\n if (varName === \"currentYear\" || varName === \"k_currentYear\" || targetField === \"k_currentYear\") {\n return screen[`${val}_kuikaCalendarRef`].current.getCurrentYear?.();\n }\n\n if (\n varName === \"currentRangeStart\" ||\n varName === \"k_currentRangeStart\" ||\n targetField === \"k_currentRangeStart\"\n ) {\n return screen[`${val}_kuikaCalendarRef`].current.getCurrentRangeStart?.();\n }\n\n if (varName === \"currentRangeEnd\" || varName === \"k_currentRangeEnd\" || targetField === \"k_currentRangeEnd\") {\n return screen[`${val}_kuikaCalendarRef`].current.getCurrentRangeEnd?.();\n }\n\n if (\n varName === \"k_eventId\" ||\n varName === \"k_currentEvent.k_eventId\" ||\n targetField === \"k_eventId\" ||\n targetField === \"k_currentEvent.k_eventId\"\n ) {\n return screen[`${val}_kuikaCalendarRef`].current.getCurrentEvent?.()?.id;\n }\n\n if (\n varName === \"k_eventTitle\" ||\n varName === \"k_currentEvent.k_eventTitle\" ||\n targetField === \"k_eventTitle\" ||\n targetField === \"k_currentEvent.k_eventTitle\"\n ) {\n return screen[`${val}_kuikaCalendarRef`].current.getCurrentEvent?.()?.title;\n }\n\n if (\n varName === \"k_eventStartDate\" ||\n varName === \"k_currentEvent.k_eventStartDate\" ||\n targetField === \"k_eventStartDate\" ||\n targetField === \"k_currentEvent.k_eventStartDate\"\n ) {\n return screen[`${val}_kuikaCalendarRef`].current.getCurrentEvent?.()?.start;\n }\n\n if (\n varName === \"k_eventEndDate\" ||\n varName === \"k_currentEvent.k_eventEndDate\" ||\n targetField === \"k_eventEndDate\" ||\n targetField === \"k_currentEvent.k_eventEndDate\"\n ) {\n return screen[`${val}_kuikaCalendarRef`].current.getCurrentEvent?.()?.end;\n }\n\n if (\n varName === \"k_eventColor\" ||\n varName === \"k_currentEvent.k_eventColor\" ||\n targetField === \"k_eventColor\" ||\n targetField === \"k_currentEvent.k_eventColor\"\n ) {\n return screen[`${val}_kuikaCalendarRef`].current.getCurrentEvent?.()?.backgroundColor;\n }\n\n return screen[`${val}_kuikaCalendarRef`].current.getCurrentEvent?.()?.[varName?.toLowerCase()];\n } else if (\n screen[`${val}_kuikaStopwatchRef`] &&\n screen[`${val}_kuikaStopwatchRef`] != undefined &&\n screen[`${val}_kuikaStopwatchRef`] != null &&\n screen[`${val}_kuikaStopwatchRef`].current != undefined &&\n screen[`${val}_kuikaStopwatchRef`].current != null &&\n screen[`${val}_kuikaStopwatchRef`].current.getValue != undefined\n ) {\n return screen[`${val}_kuikaStopwatchRef`].current.getValue();\n } else if (varName === undefined) return val;\n\n const formVal = screen.props.form.getFieldValue(val);\n if (formVal == undefined && varName == \"checked\")\n return screen.props.form.getFieldValue(val.replace(\"_value\", \"_checked\"));\n if (val.endsWith(\"_value\") && varName == \"checked\") return formVal ?? false;\n if (formVal != null && val.endsWith(\"_value\") && varName !== \"value\") {\n // Multiple value component\n return formVal[varName];\n }\n if (formVal != null && val.endsWith(\"_selectedkey\") && varName == \"selectedKey\") {\n // Menu Component Case!\n return formVal[varName];\n }\n\n return formVal;\n }\n\n public static dateIsWeekDay = (date: string | number | Date) => {\n if (!date) return false;\n return moment(date).isoWeekday() <= 5;\n };\n\n public static dateGetDay = (val1, val2) => {\n if (!val1 || !val2) return 0;\n if (typeof val1 === \"string\" && moment(val1).isValid()) {\n return moment(val1).date();\n }\n return moment(val2).date();\n };\n\n public static dateGetMonth = (val1, val2) => {\n if (!val1 || !val2) return 0;\n if (typeof val1 === \"string\" && moment(val1).isValid()) {\n return moment(val1).month() + 1;\n }\n return moment(val2).month() + 1;\n };\n\n public static dateGetYear = (val1, val2) => {\n if (!val1 || !val2) return 0;\n if (typeof val1 === \"string\" && moment(val1).isValid()) {\n return moment(val1).year();\n }\n return moment(val2).year();\n };\n\n public static toString = (_screen: any, val: any) => {\n if (val === null || val === undefined) return \"\"; // false değeri için böyle kalmalı\n if (Array.isArray(val)) {\n const returnValue: any[] = [];\n for (let i = 0; i < val.length; i++) {\n const vi: any = val[i];\n returnValue.push(vi.toString());\n }\n return returnValue;\n }\n return val.toString();\n };\n\n public static toBoolean = (_screen: any, val: any) => {\n if (!val) return false;\n if (val instanceof Boolean) return val;\n if (val instanceof String) {\n val = val.toLowerCase();\n }\n switch (val) {\n case true:\n case \"true\":\n case \"on\":\n case \"yes\":\n case 1:\n return true;\n default:\n return false;\n }\n };\n\n public static toDecimal = (_screen: any, val: any) => {\n if (!val) return val;\n\n if (val instanceof Date) {\n return val.getTime();\n }\n\n if (val instanceof moment) {\n return val.valueOf();\n }\n\n if ((parseFloat(val).toString() === \"NaN\") === true) {\n return val;\n }\n\n return parseFloat(val);\n };\n\n public static toDate(_screen: any, value: any) {\n if (!value) return null;\n\n if (value instanceof moment) return value;\n\n const dateFormat = this.getFormat(value);\n if (dateFormat === null) return null;\n return moment(value, dateFormat);\n }\n\n private static getDateFormat() {\n return {\n kuika_hhmm: \"HH:mm\",\n kuika_hhmmss: \"HH:mm:ss\",\n kuika_ddmmyyyy: \"DD.MM.YYYY\",\n kuika_ddmmyyyyhh: \"DD.MM.YYYY HH\",\n kuika_ddmmyyyyhhmm: \"DD.MM.YYYY HH:mm\",\n kuika_ddmmyyyyhhmmss: \"DD.MM.YYYY HH:mm:ss\",\n iso_int: \"YYYY-MM-DD\",\n short_date: \"DD/MM/YYYY\",\n iso_date_time: \"YYYY-MM-DDTHH:mm:ss\",\n iso_date_time_utc: \"YYYY-MM-DDTHH:mm:ssZ\"\n };\n }\n\n private static getFormat(d: moment.MomentInput) {\n const dateFormats = this.getDateFormat();\n for (const prop in dateFormats) {\n if (moment(d, dateFormats[prop], true).isValid()) {\n return dateFormats[prop];\n }\n }\n return null;\n }\n\n public static toInteger = (screen: any, val: any, varName?: string) => {\n if (!val) return val;\n if (varName && varName.length) {\n return this.toInteger(screen, this.value(screen, val, varName));\n }\n if (val === \"\") return val;\n if (val === true) return 1;\n if (val === false) return 0;\n if (val === \"true\") return 1;\n if (val === \"false\") return 0;\n if (val === \"True\") return 1;\n if (val === \"False\") return 0;\n if ((parseInt(val, 10).toString() === \"NaN\") === true) {\n return val;\n }\n return parseInt(val, 10);\n };\n\n public static toDouble = (screen: any, val: any, varName?: string) => {\n if (!val) return val;\n if (varName && varName.length) {\n return this.toDouble(screen, this.value(screen, val, varName));\n }\n if (val === \"\") return val;\n if (val === true) return 1;\n if (val === false) return 0;\n if (val === \"true\") return 1;\n if (val === \"false\") return 0;\n if (val === \"True\") return 1;\n if (val === \"False\") return 0;\n if ((parseFloat(val).toString() === \"NaN\") === true) {\n return val;\n }\n return parseFloat(val);\n };\n\n // public static async claimTask(screen: any, StepKey: string) {\n // const userId = screen.props?.context?.userInfo?.id;\n // if (userId !== undefined) {\n // const result = (await WorkflowService.AssignTask(StepKey, userId)).data;\n // // if (result) this.navigateToTask(screen, StepKey);\n // }\n // }\n\n // public static async assignTask(_screen: any, StepKey: string, user: string) {\n // if (user !== undefined) {\n // const result = (await WorkflowService.AssignTask(StepKey, user)).data;\n // }\n // }\n\n // public static async releaseTask(_screen: any, StepKey: string) {\n // const result = (await WorkflowService.ReleaseTask(StepKey)).data;\n // }\n\n public static toGuid(_screen: any, val: string) {\n if (!val) return null;\n if (!Guid.isGuid(val)) return null;\n\n return Guid.parse(val);\n }\n\n public static async navigateToTask(screen: any, StepKey: string) {\n const stepInfo = (await WorkflowService.GetNavigationParameters(StepKey)).data;\n if (stepInfo !== undefined && stepInfo.assignedUserId !== undefined) {\n const screenName = (await WorkflowService.GetStepScreen(stepInfo.processId, stepInfo.stepId, stepInfo.appId))\n .data;\n if (screenName !== undefined && screenName !== \"\") {\n const navigationScreenInputs = {} as any;\n navigationScreenInputs.workflowStepInstanceId = StepKey;\n\n let screenInputsQuery = \"\";\n screenInputsQuery = querystringify.stringify(navigationScreenInputs, true);\n if (screenName.includes(\"#\")) {\n const pathLastSlash = window.location.href.lastIndexOf(\"/\");\n const originWithExtras = window.location.href.slice(0, pathLastSlash);\n const newPath = `${originWithExtras}/${screenName}${screenInputsQuery}`;\n // TODO: Also push to history before redirect??\n window.location.replace(newPath);\n } else {\n const { history } = screen.props.navigator;\n history.push({\n pathname: screenName,\n search: screenInputsQuery,\n state: {\n screenInputs: {\n // TODO\n }\n }\n });\n }\n } else if (stepInfo.webViewUrl && stepInfo.webViewUrl !== \"\") {\n window.location.replace(stepInfo.webViewUrl);\n }\n }\n }\n\n public static async loadWorkflowStepInstanceParameters(screen: any, StepKey: string) {\n const stepdata = (await WorkflowService.GetTaskInstanceParameters(StepKey)).data;\n const userId = window?.userInfo?.id;\n if (stepdata !== undefined) {\n if (stepdata?.redirect === true) {\n this.notify(this, stepdata.redirectMessage, \"warning\", \"bottom-right\", 3, null, null, null);\n screen.props.navigator.gotoStartingScreen();\n }\n return stepdata;\n }\n return undefined;\n }\n\n public static getProcessParameterValue(form: any, screenName, diId, propertyName) {\n if (form) {\n const value = form.getFieldValue(`${screenName}_${diId}_${propertyName}`);\n if (value && value !== \"\") return value;\n return \"\";\n }\n return \"\";\n }\n\n public static getStepDataValue(bag: ITaskDataParameters, key: string) {\n if (bag !== undefined) {\n if (key == \"StepInstanceId\") return bag.workflowStepInstanceId;\n if (key == \"ProcessInstanceId\") return bag.processInstance;\n if (bag.stepData && bag.stepData.length > 0) {\n const data = bag.stepData.find((b) => b.key === key);\n if (data !== undefined) return data.value;\n }\n }\n return \"\";\n }\n\n public static postWebKitMessage(scope: any, messageBody) {\n if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.iosKuikaListener)\n window.webkit.messageHandlers.iosKuikaListener.postMessage(messageBody); // {\"actionType\":\"CLOSE_WEBVIEW\"}\n else if (window.AndroidKuikaListener) window.AndroidKuikaListener.postMessage(JSON.stringify(messageBody));\n else console.log(\"Mobile message handlers not supported by browser\");\n }\n\n // obsolete\n // public static getStepScreenId = (processId, stepId): string => {\n // const cnf = ProcessConfig.processScreens as IProcessConfigData[];\n // const screenConfig = cnf.find((s) => s.processId == processId && s.stepId === stepId);\n // if (screenConfig !== undefined) return screenConfig.screenId;\n // return undefined;\n // };\n\n public static getScreenNameById = (screenId: string): string => {\n const screenList = this.getScreenList();\n const screenName = getDictionaryValueByKey(screenList, screenId);\n return screenName;\n };\n\n public static getScreenNameByActiveUserRoles = (): string => {\n const roleStartingScreenIdList = this.getRoleStartingScreenIdList();\n const userRoles = window?.userInfo?.roles;\n let result = \"\";\n userRoles?.forEach((role: { name: string }) => {\n const screenId = getDictionaryValueByKey(roleStartingScreenIdList, role?.name);\n if (screenId !== undefined) {\n const startingScreenName = this.getScreenNameById(screenId);\n if (startingScreenName !== undefined && startingScreenName !== \"\") {\n result = startingScreenName;\n }\n }\n });\n return result;\n };\n\n public static getScreenList = () => {\n return [ { key: \"e29fbb19-71f2-4341-8610-05b734f62ab4\", value: \"Login\"}, { key: \"dce790a5-4354-4f3b-88e6-3479d49c137d\", value: \"ForgotPassword\"}, { key: \"55248f36-d1c7-4b73-9900-38de757b2676\", value: \"Profil\"}, { key: \"9d414fc8-aee7-41f7-9bee-3f226536ec3b\", value: \"VerificationCode\"}, { key: \"ba4691e1-0277-4fc5-82bb-4352336e316a\", value: \"Signincopy\"}, { key: \"746a3f21-601d-4c2c-9a73-4bb1362ad10e\", value: \"HomePage\"}, { key: \"450d0377-46f2-4d74-9f4f-5a5423b0bdc1\", value: \"FasonTakipLayout\"}, { key: \"f2d77b1c-c4e0-42f8-b0e6-70ea5435d8e5\", value: \"Marketing_Dashboard_With_Left_Menu\"}, { key: \"c6a5dd9e-9589-4c6d-86a4-7cccce408fbf\", value: \"Signup\"}, { key: \"49d077ba-0435-4cdf-8b53-83b590a3e416\", value: \"ResetPassword\"}, { key: \"aa34dcf0-40e7-4de0-a4fc-9d04c35542a5\", value: \"Ayarlar\"}, { key: \"366167ea-1553-4546-b008-c22c6ca9279f\", value: \"Sales_Dashboard_With_Left_Menu\"}, { key: \"220d24ad-52b5-4f34-ad00-d5372aff0b07\", value: \"LeftMenu\"}, { key: \"1848dfd7-7cb1-4a58-a86c-e261849b1a30\", value: \"ResimDetay\"}, { key: \"9e780e63-a194-477b-844a-e603d6646acf\", value: \"Tedarikcitanimlama\"},];\n };\n\n public static getRoleStartingScreenIdList = () => {\n return [];\n };\n\n // Navigation\n // 0: {name: \"fromScreenId\", Typename: \"String\", cardinality: 1, isMandatory: false, ownerClassName: null, …}\n // 1: {name: \"toScreenId\", Typename: \"String\", cardinality: 1, isMandatory: false, ownerClassName: null, …}\n // 2: {name: \"toUrl\", Typename: \"String\", cardinality: 1, isMandatory: false, ownerClassName: null, …}\n // 3: {name: \"openAs\", Typename: \"String\", cardinality: 1, isMandatory: false, ownerClassName: null, …}\n // 4: {name: \"navigationKuikaId\", Typename: \"String\", cardinality: 1, isMandatory: false, ownerClassName: null, …}\n public static navigate(\n screen: any,\n _callback: any,\n fromScreen: string,\n toScreen: string,\n _toUrl: string,\n openAs: string | null,\n navigationKuikaId: string | null,\n _title: string | null,\n _placement: string | null,\n _closable: string | null,\n _width: string | null,\n _height: string | null,\n executePageInitActionsAfterClose: boolean\n ): string {\n const { history } = screen.props.navigator;\n\n let screenInputsQuery = \"\";\n if (window.kuika?.navigationScreenInputs && !_.isEmpty(window.kuika?.navigationScreenInputs)) {\n screenInputsQuery = querystringify.stringify(window.kuika?.navigationScreenInputs, true);\n }\n\n if (!window.kuika) window.kuika = {};\n\n if ((screen.props.navigator as any)?.history?.location?.search?.includes(\"redirectOnMobile=true\")) {\n this.postWebKitMessage(null, {\n actionType: \"NAVIGATE\",\n openAs: `${openAs}`,\n width: `${_width}`,\n height: `${_height}`,\n placement: `${_placement}`,\n toScreen: `${toScreen}`,\n triggerPageInit: `${executePageInitActionsAfterClose}`,\n screenInputs: `${screenInputsQuery}`\n });\n return \"\";\n }\n\n switch (openAs) {\n case \"currentPage\":\n history.push({\n pathname: toScreen,\n search: screenInputsQuery,\n state: {\n screenInputs: {\n // TODO\n }\n }\n });\n\n if (fromScreen === toScreen || toScreen === window.kuika?.navigationComponentMasterScreen) {\n window.location.reload();\n }\n // delete window.kuika?.navigationComponentMasterScreen;\n\n if (!window.kuika?.pageInitCallers) window.kuika.pageInitCallers = {};\n window.kuika.pageInitCallers[fromScreen] = executePageInitActionsAfterClose;\n\n break;\n\n case \"newTab\":\n case \"newWindow\":\n HelperService.redirectToPath(`/${toScreen}${screenInputsQuery}`, { openInNewTab: true });\n break;\n\n default:\n if (!window.kuika?.navigationComponentMasterScreen) window.kuika.navigationComponentMasterScreen = fromScreen;\n else if (\n window.kuika.navigationComponentMasterScreen &&\n fromScreen !== window.kuika.navigationComponentMasterScreen\n ) {\n window.kuika.navigationComponentMasterScreen = fromScreen;\n }\n const obj = {};\n obj[`NavVisible${navigationKuikaId}`] = true;\n screen.setState(obj);\n break;\n }\n\n return \"\";\n }\n\n // GoBack\n public static goBack(screen: { props: { onClose: () => void; navigator: { goBack: () => void } } }) {\n if (screen?.props?.onClose) {\n KuikaAppManager.hideSpinner(screen);\n screen.props.onClose();\n return;\n }\n if (screen.props.navigator.goBack) {\n if ((screen.props.navigator as any)?.history?.location?.search?.includes(\"redirectOnMobile=true\")) {\n this.postWebKitMessage(null, { actionType: \"GO_BACK\" });\n } else {\n const isWebView = window.location !== window.parent.location;\n if (isWebView) {\n const hasHistory = (screen.props.navigator as any)?.history?.action === \"PUSH\";\n const parentWindow = window.parent;\n\n if (parentWindow) {\n const antDrawerWrapperBody = parentWindow.document.querySelector(\".ant-drawer-wrapper-body\");\n const antModal = parentWindow.document.querySelector(\".ant-modal-root\");\n\n if (antModal) {\n const antModalClose: any = antModal.querySelector(\".ant-modal-close\");\n\n if (antModalClose) {\n hasHistory ? screen.props.navigator.goBack() : antModalClose.click();\n }\n } else if (antDrawerWrapperBody) {\n const antDrawerClose: any = antDrawerWrapperBody.querySelector(\".ant-drawer-close\");\n\n if (antDrawerClose) {\n hasHistory ? screen.props.navigator.goBack() : antDrawerClose.click();\n }\n } else {\n screen.props.navigator.goBack();\n }\n }\n } else {\n screen.props.navigator.goBack();\n }\n }\n }\n }\n\n public static getMyUsername(): string {\n return window?.userInfo?.username;\n }\n\n public static async logout(): Promise {\n await UserService.Logout();\n }\n\n public static async signinwithMSAL(): Promise {\n sessionStorage.setItem(\"msalRedirectionStarted\", \"loaded\");\n HelperService.gotoLogin();\n }\n\n // Notification\n // sendPushNotificationToUsername: _sendPushNotificationToUsername,\n // sendPushNotificationToApp: _sendPushNotificationToApp,\n public static notify(\n screen: any,\n message: string,\n type: \"success\" | \"danger\" | \"info\" | \"default\" | \"warning\" | \"custom\",\n position:\n | \"top-left\"\n | \"top-right\"\n | \"top-center\"\n | \"bottom-left\"\n | \"bottom-right\"\n | \"bottom-center\"\n | \"top\"\n | \"bottom\",\n duration: number,\n backgroundColor: string | null,\n textColor: string | null,\n fontSize: number | null\n ): boolean | undefined {\n if (message === undefined || message === null) message = \"\";\n if (typeof message === \"object\") message = JSON.stringify(message);\n else if (typeof message !== \"string\" && (message as any).toString) message = (message as any).toString();\n if (message) {\n // todo message = ReactSystemFunctions.translateCustomActions(screen.ml, \"{actionID}\", screen.this.defaultML, message);\n\n if (duration === null || duration === undefined || duration < 0) {\n switch (type) {\n case \"success\": {\n duration = KMainFunctions.NOTIFY_ACTION_DEFAULT_SUCCESS_DURATION;\n break;\n }\n case \"danger\": {\n duration = KMainFunctions.NOTIFY_ACTION_DEFAULT_ERROR_DURATION;\n break;\n }\n case \"info\": {\n duration = KMainFunctions.NOTIFY_ACTION_DEFAULT_INFO_DURATION;\n break;\n }\n case \"warning\": {\n duration = KMainFunctions.NOTIFY_ACTION_DEFAULT_WARNING_DURATION;\n break;\n }\n case \"default\":\n default: {\n duration = KMainFunctions.NOTIFY_ACTION_DEFAULT_DEFAULT_DURATION;\n break;\n }\n }\n }\n if (position === \"top\") position = \"top-center\";\n if (position === \"bottom\") position = \"bottom-center\";\n\n const instanceId = Guid.create().toString();\n\n let customStyle: string | undefined;\n\n if (type === \"custom\") {\n type = \"default\";\n\n const style = document.getElementById(\"dynamic_style\");\n\n customStyle = `\n .custom-notification-${instanceId} {\n background-color: ${backgroundColor} !important;\n border-left: unset !important;\n\n .notification__close {\n opacity: 0 !important;\n }\n\n .notification__message {\n color: ${textColor} !important;\n font-size: ${fontSize}px !important;\n }\n }\n `\n .replace(\" \", \"\")\n .trim()\n .replace(/(\\r\\n|\\n|\\r)/gm, \"\");\n\n style.innerHTML += customStyle;\n }\n\n setTimeout(() => {\n if (duration < 0) duration = 0;\n if (position === \"top\") position = \"top-center\";\n if (position === \"bottom\") position = \"bottom-center\";\n if (type === \"custom\") {\n type = \"default\";\n\n setTimeout(() => {\n const style = document.getElementById(\"dynamic_style\");\n style.innerHTML = style.innerHTML.replace(customStyle, \"\");\n }, duration * 1000 + 1000);\n }\n\n store.addNotification({\n title: \"\",\n message,\n type,\n container: position,\n animationIn: [`custom-notification-${instanceId}`, \"animated\", \"flipInX\"],\n animationOut: [`custom-notification-${instanceId}`, \"animated\", \"fadeOut\"],\n dismiss: {\n duration: duration * 1000,\n pauseOnHover: true,\n showIcon: true\n }\n });\n }, 150);\n return true;\n }\n }\n\n // Device\n\n public static printCurrentScreen() {}\n\n public static getPhotoFromGallery = () =>\n new Promise((resolve, reject) => {\n let listener = false;\n const input = document.createElement(\"input\");\n input.classList.add(\"kuika-take-photo-gallery\");\n input.setAttribute(\"type\", \"file\");\n input.setAttribute(\"name\", \"kuika_photo_take\");\n input.style.display = \"none\";\n input.accept = \"image/*,application/pdf\";\n listener = true;\n\n window.addEventListener(\"focus\", () => {\n setTimeout(() => {\n if (listener) {\n listener = false;\n let files = Array.from(input.files);\n if (files.length === 0) {\n resolve(\"\");\n }\n }\n }, 1000);\n });\n\n input.onchange = () => {\n let files = Array.from(input.files);\n if (files.length === 0) {\n resolve(\"\");\n }\n\n const [file] = files;\n\n const reader = new FileReader();\n reader.addEventListener(\"load\", (e) => {\n resolve(e.target.result);\n });\n reader.addEventListener(\"error\", (e) => {\n reject(e.target.error);\n });\n\n reader.readAsDataURL(file);\n };\n\n input.click();\n });\n\n public static uploadFile = () => {\n return new Promise((resolve) => {\n let input = document.createElement(\"input\");\n input.type = \"file\";\n input.multiple = false;\n input.accept = \"*\";\n\n input.onchange = () => {\n let files = Array.from(input.files);\n if (files.length === 0) {\n resolve(\"\");\n }\n\n const [file] = files;\n\n const reader = new FileReader();\n reader.addEventListener(\"load\", (e) => {\n resolve(e.target.result);\n });\n reader.addEventListener(\"error\", (e) => {\n KMainFunctions.exceptionHandler(e);\n resolve({});\n });\n reader.readAsDataURL(file);\n };\n\n input.oncancel = () => {\n resolve({});\n };\n\n input.click();\n });\n };\n\n public static uploadFileWithInfo = () => {\n return new Promise((resolve) => {\n let input = document.createElement(\"input\");\n input.type = \"file\";\n input.multiple = false;\n input.accept = \"*\";\n\n input.onchange = () => {\n let files = Array.from(input.files);\n if (files.length === 0) {\n resolve({\n data: {}\n });\n }\n\n const [file] = files;\n var resultObj = {\n data: {}\n } as any;\n resultObj.data.name = file.name;\n resultObj.data.type = file.type;\n resultObj.data.size = file.size;\n const reader = new FileReader();\n reader.addEventListener(\"load\", (e) => {\n resultObj.data.data = e.target.result;\n resolve(resultObj);\n });\n reader.addEventListener(\"error\", (e) => {\n KMainFunctions.exceptionHandler(e);\n resolve({});\n });\n reader.readAsDataURL(file);\n };\n\n input.oncancel = () => {\n resolve({});\n };\n\n input.click();\n });\n };\n\n public static takePhotoKuikaFunction = (comp: {\n props: { showPhotoTake: () => void; hidePhotoTake: () => void };\n forceUpdate: () => void;\n }) =>\n new Promise((resolve, _reject) => {\n comp.props.showPhotoTake();\n setTimeout(() => {\n const imgNode: HTMLImageElement = document\n ?.getElementsByClassName(\"react-html5-camera-photo\")[0]\n ?.getElementsByTagName(\"img\")[0];\n if (imgNode) {\n imgNode.addEventListener(\"load\", () => {\n comp.props.hidePhotoTake();\n comp.forceUpdate();\n resolve(imgNode.src);\n });\n }\n const myInterval = setInterval(() => {\n const imgNode: HTMLCollectionOf = document.getElementsByClassName(\"react-html5-camera-photo\");\n if (!imgNode.length) {\n clearInterval(myInterval);\n resolve(\"\");\n }\n }, 1000);\n }, 350);\n });\n\n // openInBrowser: _openInBrowser,\n public static openInBrowser(val: unknown, openAs: \"current\" | \"newtab\") {\n if (typeof val !== \"string\") {\n KMainFunctions.displayErrorNotification(\"Invalid URL\");\n return;\n }\n\n let url: string = val;\n\n if (!url.startsWith(\"http://\") && !url.startsWith(\"https://\")) {\n url = `https://${url}`;\n }\n\n if (!KMainFunctions.getIsValidHttpUrl(url)) {\n KMainFunctions.displayErrorNotification(`Invalid URL: \"${url}\"`);\n return;\n }\n\n if (openAs === \"newtab\") {\n setTimeout(() => window.open(url, \"_blank\").focus(), 100);\n } else {\n setTimeout(() => window.open(url, \"_self\").focus(), 100);\n }\n }\n\n public static openInWebView(val: string) {\n let url: string = val;\n if (url === undefined || url === null || url === \"\") {\n window.open(\"\", \"_blank\").focus();\n return;\n }\n\n if (!url.startsWith(\"http://\") && !url.startsWith(\"https://\")) {\n url = `https://${url}`;\n }\n\n setTimeout(() => window.open(url, \"_blank\").focus(), 100);\n }\n\n public static printPdf(base64: string) {\n let base64WithoutPrefix = base64;\n if (base64.startsWith(\"data:application/pdf;base64,\")) {\n base64WithoutPrefix = base64.substring(\"data:application/pdf;base64,\".length);\n }\n printJS({ printable: base64WithoutPrefix, type: \"pdf\", base64: true });\n }\n\n public static printExcel(base64: any) {\n console.log(\"TODO: SYSTEM FUNCTION NOT IMPLEMENTED YET: printExcel\");\n console.log(base64);\n }\n\n // Local Storage\n // addToBag: _addToBag,\n // removeFromBag: _removeFromBag,\n // clearBag: _clearBag,\n\n // Location\n\n public static async locationCoordinatesOfAdress(address: string): Promise {\n if (address === undefined || address === \"\") {\n return { data: { latitude: \"0\", longitude: \"0\" } };\n }\n if (!this.isDocumentReady()) {\n return new Promise((resolve) => {\n setTimeout(async () => {\n const res = await this.locationCoordinatesOfAdress(address);\n resolve(res);\n }, 100);\n });\n }\n\n const geocoder = new google.maps.Geocoder();\n\n try {\n const response = await geocoder.geocode({ address });\n if (response?.results.length > 0) {\n const lat = response.results[0].geometry?.location?.lat();\n const lng = response.results[0].geometry?.location?.lng();\n const result = { data: { latitude: lat, longitude: lng } };\n return result;\n }\n } catch (error) {\n KMainFunctions.exceptionHandler(error);\n return { data: { latitude: undefined, longitude: undefined } };\n }\n }\n\n public static async locationAdressOfCoordinates(latitude: any, longitude: any): Promise {\n if (latitude === undefined || latitude === \"\" || longitude === undefined || latitude === \"\") {\n return { data: { address: \"\", city: \"\", state: \"\", country: \"\" } };\n }\n if (!this.isDocumentReady()) {\n return new Promise((resolve) => {\n setTimeout(async () => {\n const res = await this.locationAdressOfCoordinates(latitude, longitude);\n resolve(res);\n }, 100);\n });\n }\n\n const geocoder = new google.maps.Geocoder();\n\n try {\n const response = await geocoder.geocode({ location: { lat: Number(latitude), lng: Number(longitude) } });\n\n let city: any;\n let state: any;\n let country: any;\n let address: any;\n\n const r = response.results[0];\n if (r) {\n address = r.formatted_address;\n const { address_components } = r;\n if (address_components?.length > 0) {\n for (let i = 0; i < address_components.length; i++) {\n if (address_components[i]?.types?.length > 0) {\n for (let j = 0; j < address_components[i].types.length; j++) {\n if (address_components[i]?.types) {\n switch (address_components[i].types[j]) {\n case \"administrative_area_level_1\":\n city = address_components[i].long_name;\n break;\n case \"administrative_area_level_2\":\n state = address_components[i].long_name;\n break;\n case \"country\":\n country = address_components[i].long_name;\n break;\n }\n }\n }\n }\n }\n }\n }\n const result = { data: { address, city, state, country } };\n return result;\n } catch (error) {\n KMainFunctions.exceptionHandler(error);\n return { data: { address: undefined, city: undefined, state: undefined, country: undefined } };\n }\n }\n\n public static async locationGetCurrentCoordinates(): Promise {\n try {\n const coordinates = await this.locationGetCurrentCoordinatesPromise();\n const result = {\n data: {\n accuracy: coordinates?.coords?.accuracy,\n latitude: coordinates?.coords?.latitude,\n longitude: coordinates?.coords?.longitude\n }\n };\n return result;\n } catch (error) {\n KMainFunctions.exceptionHandler(error);\n return { data: { accuracy: undefined, latitude: undefined, longitude: undefined } };\n }\n }\n\n static async locationGetCurrentCoordinatesPromise(): Promise {\n return new Promise((resolve, reject) => {\n navigator.geolocation.getCurrentPosition(resolve, reject, {\n enableHighAccuracy: true, // Use high-accuracy mode, if available\n timeout: 10000, // Set a timeout of 10 seconds\n maximumAge: 0 // Force a fresh location\n });\n });\n }\n\n // UI\n public static changeVisibilityOf(screen: any, stateName: string, isVisible: string, _arg: string = \"\") {\n const obj = {};\n obj[stateName] = isVisible;\n screen.setState(obj);\n }\n\n public static toggleVisibilityOf(screen: any, stateName: string) {\n const obj = {};\n let isVisible = screen.state[stateName];\n if (isVisible === \"hidden\") {\n isVisible = \"visible\";\n } else {\n isVisible = \"hidden\";\n }\n obj[stateName] = isVisible;\n screen.setState(obj);\n }\n\n public static toggleEditabilityOf(screen: any, stateName: string) {\n const obj = {};\n let isVisible = screen.state[stateName];\n if (isVisible === \"disabled\") {\n isVisible = \"enabled\";\n } else {\n isVisible = \"disabled\";\n }\n obj[stateName] = isVisible;\n screen.setState(obj);\n }\n\n public static changeEnabledOf(screen: any, stateName: string, isEnabled: string) {\n const obj = {};\n obj[stateName] = isEnabled;\n screen.setState(obj);\n }\n\n public static hideIsNotAuthorized(screen: any, stateName: string, roleIds: string[]) {\n const obj = {} as any;\n let isVisible = \"hidden\";\n const { userInfo } = screen.props.context;\n if (userInfo == null || userInfo == undefined) return isVisible;\n const role =\n userInfo.roles &&\n userInfo.roles.find((r: { id: string; name: string }) => roleIds.find((p) => p === r.id || p === r.name));\n if (role || roleIds.length == 0) {\n isVisible = \"visible\";\n }\n obj[stateName] = isVisible;\n screen.setState(obj);\n }\n\n public static sendWhatsappMessage(number: string, message: string) {\n const urlParams = new URLSearchParams(window.location.search);\n const redirectOnMobileValue = urlParams.get(\"redirectOnMobile\");\n\n if (redirectOnMobileValue === \"true\") {\n this.postWebKitMessage(null, {\n actionType: \"SEND_WP_MESSAGE\",\n number: `${number}`,\n message: `${message}`\n });\n } else {\n window.open(`https://wa.me/${number}?text=${encodeURIComponent(message)}`);\n }\n }\n\n public static disableIsNotAuthorized(screen: any, stateName: string, roleIds: string[]) {\n const obj = {} as any;\n let isEnabled = \"disabled\";\n const { userInfo } = screen.props.context;\n const role = userInfo?.roles?.find((r: { id: string; name: string }) =>\n roleIds.find((p) => p === r.id || p === r.name)\n );\n if (role) {\n isEnabled = \"enabled\";\n }\n obj[stateName] = isEnabled;\n screen.setState(obj);\n }\n\n public static setValueOf(\n screen: any,\n componentName: any,\n value: any,\n multipleValuePropName?: string | null,\n _pk?: any\n ) {\n if (!screen) return;\n // pagination case start\n if (\n screen[`${componentName}_kuikaPaginationRef`] != undefined ||\n screen[`${componentName}_kuikaPaginationRef`] != null\n ) {\n if (\n screen[`${componentName}_kuikaPaginationRef`].current != undefined &&\n screen[`${componentName}_kuikaPaginationRef`].current != null &&\n screen[`${componentName}_kuikaPaginationRef`].current.setPaginationData != undefined\n ) {\n if (\n multipleValuePropName === \"pageSize\" &&\n screen[`${componentName}_kuikaPaginationRef`].current.setPageSize != undefined\n ) {\n screen[`${componentName}_kuikaPaginationRef`].current.setPageSize(value);\n } else {\n screen[`${componentName}_kuikaPaginationRef`].current.setPaginationData(value);\n }\n }\n }\n // pagination case end\n if (screen[`${componentName}_kuikaTableRef`] != undefined || screen[`${componentName}_kuikaTableRef`] != null) {\n if (\n screen[`${componentName}_kuikaTableRef`].current != undefined &&\n screen[`${componentName}_kuikaTableRef`].current != null &&\n screen[`${componentName}_kuikaTableRef`].current.setSelectedValues != undefined\n ) {\n if (\n multipleValuePropName === \"selectedValues\" &&\n screen[`${componentName}_kuikaTableRef`].current.setSelectedValues != undefined\n ) {\n screen[`${componentName}_kuikaTableRef`].current.setSelectedValues(value);\n }\n }\n }\n // MicroApp\n else if (\n screen[`${componentName}_kuikaMicroAppRef`] != undefined ||\n screen[`${componentName}_kuikaMicroAppRef`] != null\n ) {\n if (screen[`${componentName}_kuikaMicroAppRef`].current) {\n if (multipleValuePropName === \"workspace\" && screen[`${componentName}_kuikaMicroAppRef`].current.setWorkspace) {\n screen[`${componentName}_kuikaMicroAppRef`].current.setWorkspace(value);\n } else if (\n multipleValuePropName === \"appName\" &&\n screen[`${componentName}_kuikaMicroAppRef`].current.setAppName\n ) {\n screen[`${componentName}_kuikaMicroAppRef`].current.setAppName(value);\n } else if (\n multipleValuePropName === \"projectId\" &&\n screen[`${componentName}_kuikaMicroAppRef`].current.setProjectId\n ) {\n screen[`${componentName}_kuikaMicroAppRef`].current.setProjectId(value);\n } else if (\n multipleValuePropName === \"backEndUrl\" &&\n screen[`${componentName}_kuikaMicroAppRef`].current.setBackEndUrl\n ) {\n screen[`${componentName}_kuikaMicroAppRef`].current.setBackEndUrl(value);\n }\n }\n } else if (\n screen[`${componentName}_kuikaChatRef`] != undefined &&\n screen[`${componentName}_kuikaChatRef`] != null &&\n screen[`${componentName}_kuikaChatRef`].current\n ) {\n if (multipleValuePropName === \"message\" && screen[`${componentName}_kuikaChatRef`].current.setMessage) {\n screen[`${componentName}_kuikaChatRef`].current.setMessage(value);\n }\n\n if (\n multipleValuePropName === \"currentlyEditingMessageId\" &&\n screen[`${componentName}_kuikaChatRef`].current.setCurrentlyEditingMessageId\n ) {\n screen[`${componentName}_kuikaChatRef`].current.setCurrentlyEditingMessageId(value);\n }\n } else if (\n screen[`${componentName}_kuikaWebViewRef`] != undefined ||\n screen[`${componentName}_kuikaWebViewRef`] != null\n ) {\n if (screen[`${componentName}_kuikaWebViewRef`].current) {\n if (screen[`${componentName}_kuikaWebViewRef`].current.setUrl) {\n screen[`${componentName}_kuikaWebViewRef`].current.setUrl(value);\n }\n }\n } else if (\n screen[`${componentName}_kuikaCarouselRef`] != undefined ||\n screen[`${componentName}_kuikaCarouselRef`] != null\n ) {\n if (screen[`${componentName}_kuikaCarouselRef`].current) {\n if (screen[`${componentName}_kuikaCarouselRef`].current.setStartingIndex) {\n screen[`${componentName}_kuikaCarouselRef`].current.setStartingIndex(value);\n }\n }\n }\n // LocationSearch CASE START\n else if (\n screen[`${componentName}_kuikaPlacesAutocompleteInputRef`] != undefined &&\n screen[`${componentName}_kuikaPlacesAutocompleteInputRef`] != null\n ) {\n if (screen[`${componentName}_kuikaPlacesAutocompleteInputRef`].current != null) {\n if (screen[`${componentName}_kuikaPlacesAutocompleteInputRef`].current.handleChange) {\n screen[`${componentName}_kuikaPlacesAutocompleteInputRef`].current.handleChange(value);\n }\n }\n }\n // LocationSearch CASE END\n else if (\n (screen[`${componentName}_kuikaDateRef`] != undefined ||\n screen[`${componentName}_kuikaDateRef`] != null ||\n screen[`${componentName}_kuikaDatePickerRef`] != undefined ||\n screen[`${componentName}_kuikaDatetimeRef`] != undefined) &&\n multipleValuePropName === \"disablebeforedate\"\n ) {\n let refText =\n screen[`${componentName}_kuikaDateRef`] != undefined\n ? \"_kuikaDateRef\"\n : screen[`${componentName}_kuikaDatePickerRef`] !== undefined\n ? \"_kuikaDatePickerRef\"\n : screen[`${componentName}_kuikaDatetimeRef`] !== undefined\n ? \"_kuikaDatetimeRef\"\n : \"\";\n if (screen[`${componentName}${refText}`].current) {\n if (screen[`${componentName}${refText}`].current.setDisableBeforeDate) {\n screen[`${componentName}${refText}`].current.setDisableBeforeDate(value);\n }\n }\n } else if (\n screen?.[`${componentName}_kuikaCalendarRef`]?.current != undefined &&\n screen?.[`${componentName}_kuikaCalendarRef`]?.current != null\n ) {\n if (multipleValuePropName === \"defaultPanel\") {\n screen?.[`${componentName}_kuikaCalendarRef`]?.current?.setPanel(value);\n }\n } else {\n const data = {};\n if (multipleValuePropName) {\n let obj = screen.props.form.getFieldValue(componentName);\n if (obj === undefined) {\n obj = {};\n }\n if (typeof obj !== \"object\" || obj === null) {\n obj = {};\n }\n obj[multipleValuePropName] = value;\n data[componentName] = obj;\n } else {\n data[componentName] = value;\n }\n\n screen.props.form.setFieldsValue(data);\n return Guid.create().toString();\n }\n }\n\n public static toggleLeftMenu(screen: any): string {\n screen.setState({ isLeftMenuVisible: !screen.state.isLeftMenuVisible });\n return \"\";\n }\n\n public static async changePassword(\n currentpassword: string,\n newpassword: string,\n dontSendEmail?: boolean,\n language?: string,\n callback?: () => {}\n ) {\n const credientials = {\n currentpassword,\n newpassword,\n newpasswordConfirm: newpassword,\n dontSendEmail: dontSendEmail || false,\n language: language || \"\"\n } as IChangePasswordDto;\n\n try {\n await UserService.ChangePassword(credientials);\n } catch (error) {\n KMainFunctions.exceptionHandler(error);\n } finally {\n if (callback) callback();\n }\n }\n\n public static readFromLocalStorage(key: string) {\n return window.localStorage.getItem(key);\n }\n\n public static writeToLocalStorage(key: string, value: string) {\n window.localStorage.setItem(key, value);\n }\n\n public static deleteFromLocalStorage(key: string) {\n window.localStorage.removeItem(key);\n }\n\n public static readFromSessionStorage(key: string) {\n return window.sessionStorage.getItem(key);\n }\n\n public static writeToSessionStorage(key: string, value: string) {\n window.sessionStorage.setItem(key, value);\n }\n\n public static deleteFromSessionStorage(key: string) {\n window.sessionStorage.removeItem(key);\n }\n\n public static isDate(value: any, _value2: any): string {\n let result = value instanceof Date || value instanceof moment;\n if (result === true) return \"\";\n result = isNaN(Date.parse(value)) === false || moment(value).isValid();\n return result === true ? \"\" : \"Invalid Date\";\n }\n\n public static isEmpty(val: any, _val2?: any): boolean {\n if (typeof val === \"number\") {\n return false;\n }\n return _.isEmpty(val);\n }\n\n // setValueOfDI: _setValueOfDI,\n\n // Comparison\n public static isGreaterThan(val1: string | any[], val2: string | any[]): boolean {\n if (val1 === undefined || val2 === undefined || val1 === null || val2 === null) return false;\n if (val1.length === 0 || val2.length === 0) return false;\n return Number(val1) > Number(val2);\n }\n\n public static isGreaterOrEqual(val1: string | any[], val2: string | any[]): boolean {\n if (val1 === undefined || val2 === undefined || val1 === null || val2 === null) return false;\n if (val1.length === 0 || val2.length === 0) return false;\n return Number(val1) >= Number(val2);\n }\n\n public static isLessThan(val1: string | any[], val2: string | any[]): boolean {\n if (val1 === undefined || val2 === undefined || val1 === null || val2 === null) return false;\n if (val1.length === 0 || val2.length === 0) return false;\n return Number(val1) < Number(val2);\n }\n\n public static isLessOrEqual(val1: string | any[], val2: string | any[]): boolean {\n if (val1 === undefined || val2 === undefined || val1 === null || val2 === null) return false;\n if (val1.length === 0 || val2.length === 0) return false;\n return Number(val1) <= Number(val2);\n }\n\n public static isEqualTo(val1: string | boolean, val2: string | boolean): boolean {\n if (val1 === undefined || val2 === undefined || val1 === null || val2 === null) return false;\n if (\n (val1 === \"true\" && val2 === true) ||\n (val1 === \"false\" && val2 === false) ||\n (val1 === true && val2 === \"true\") ||\n (val1 === false && val2 === \"false\")\n ) {\n return true;\n }\n return val1 == val2;\n }\n\n public static isShorterOrEqualLength(val1: string, val2: null): boolean {\n if (val1 === undefined || val2 === undefined || val1 === null || val2 === null) return false;\n return val1.length <= Number(val2);\n }\n\n public static isShorterLength(val1: string, val2: null): boolean {\n if (val1 === undefined || val2 === undefined || val1 === null || val2 === null) return false;\n return val1.length < Number(val2);\n }\n\n public static isLongerLength(val1: string, val2: null): boolean {\n if (val1 === undefined || val2 === undefined || val1 === null || val2 === null) return false;\n return val1.length > Number(val2);\n }\n\n public static isLongerOrEqualLength(val1: string, val2: null): boolean {\n if (val1 === undefined || val2 === undefined || val1 === null || val2 === null) return false;\n return val1.length >= Number(val2);\n }\n\n public static isEqualLength(val1: string, val2: null): boolean {\n if (val1 === undefined || val2 === undefined || val1 === null || val2 === null) return false;\n return val1.length === Number(val2);\n }\n\n public static isNotEqualTo(val1: any, val2: any): boolean {\n if (\n (val1 === \"true\" && val2 === true) ||\n (val1 === \"false\" && val2 === false) ||\n (val1 === true && val2 === \"true\") ||\n (val1 === false && val2 === \"false\")\n ) {\n return false;\n }\n\n return val1 != val2;\n }\n\n public static startsWith(val1: string, val2: string | any): boolean {\n if (val1 === undefined || val2 === undefined) return false;\n if (val1 === null || val2 === null) return false;\n if (val1.length === 0 || val2.length === 0) return false;\n if (val1.startsWith && val1.startsWith(val2)) return true;\n return false;\n }\n\n public static doesNotStartWith(val1: string, val2: string | any): boolean {\n if (val1 === undefined || val2 === undefined) return false;\n if (val1 === null || val2 === null) return false;\n if (val1.length === 0 || val2.length === 0) return false;\n if (!val1.startsWith(val2)) return true;\n return false;\n }\n\n public static endsWith(val1: string, val2: string | any): boolean {\n if (val1 === undefined || val2 === undefined) return false;\n if (val1 === null || val2 === null) return false;\n if (val1.length === 0 || val2.length === 0) return false;\n if (val1.endsWith && val1.endsWith(val2)) return true;\n return false;\n }\n\n public static contains(val1: string | any[], val2: string | any): boolean {\n if (val1 === undefined || val2 === undefined || val1 === null || val2 === null) return false;\n if (val1.length === 0 || val2.length === 0) return false;\n if (val1.indexOf && val1.indexOf(val2) > -1) return true;\n return false;\n }\n\n public static isEarlierThan(val1: moment.MomentInput, val2: moment.MomentInput): boolean {\n if (val1 === null || val2 === null) return false;\n if (val1 === undefined || val2 === undefined) return false;\n return moment(val1).isBefore(moment(val2));\n }\n\n public static isEarlierOrEqual(val1: moment.MomentInput, val2: moment.MomentInput): boolean {\n if (val1 === null || val2 === null) return false;\n if (val1 === undefined || val2 === undefined) return false;\n return moment(val1).isSameOrBefore(moment(val2), \"day\");\n }\n\n public static isLaterThan(val1: moment.MomentInput, val2: moment.MomentInput): boolean {\n if (val1 === undefined || val2 === undefined) return false;\n return moment(val1).isAfter(moment(val2));\n }\n\n public static isLaterOrEqual(val1: moment.MomentInput, val2: moment.MomentInput): boolean {\n if (val1 === null || val2 === null) return false;\n if (val1 === undefined || val2 === undefined) return false;\n return moment(val1).isSameOrAfter(moment(val2), \"day\");\n }\n\n /* public static isSameDay(val1, val2): boolean {\n if (val1 === null || val2 === null) return false;\n if (val1 === undefined || val2 === undefined) return false;\n alert(\"TODO: SYSTEM FUNCTION NOT IMPLEMENTED YET: isSameDay\");\n return false;\n }\n\n public static isSameMonth(val1, val2): boolean {\n if (val1 === null || val2 === null) return false;\n if (val1 === undefined || val2 === undefined) return false;\n alert(\"TODO: SYSTEM FUNCTION NOT IMPLEMENTED YET: isSameMonth\");\n return false;\n }\n\n public static isSameYear(val1, val2): boolean {\n if (val1 === null || val2 === null) return false;\n if (val1 === undefined || val2 === undefined) return false;\n alert(\"TODO: SYSTEM FUNCTION NOT IMPLEMENTED YET: isSameYear\");\n return false;\n }\n */\n\n public static isNotEmpty(val: any, _x?: any): boolean {\n if (val === 0) {\n return true;\n }\n if (!val || val == \"\") {\n return false;\n }\n return true;\n }\n\n public static isGuid(val): boolean {\n return Guid.isGuid(val);\n }\n\n public static scanBarcode() {}\n\n // Remaining\n // isValid: _isValid,\n public static isValid(val1: any): boolean {\n if (typeof val1 === \"string\") return val1.length === 0;\n if (val1 === false) return false;\n if (val1 === true) return true;\n return true;\n }\n\n public static validateToken() {}\n\n public static async downloadFile(data: string | IRestResult, filename?: string): Promise {\n if (!data || data === \"\") {\n this.notify(undefined, \"Invalid file data.\", \"warning\", \"bottom-right\", 3, null, null, null);\n return;\n }\n if (typeof data === \"string\" && KMainFunctions.isValidUrl(data)) {\n const blob: Blob = await KMainFunctions.toBlob(data);\n KMainFunctions.downloadFile(\n blob,\n KMainFunctions.generateFilenameForDownloadFile(filename, KMainFunctions.getExtensionByMimeType(blob.type))\n );\n return;\n }\n\n if (typeof data === \"string\" && Guid.parse(data).toString() !== Guid.EMPTY) {\n const url = KMainFunctions.getUrlByWithResourceId(data);\n const blob: Blob = await KMainFunctions.toBlob(url);\n KMainFunctions.downloadFile(\n blob,\n KMainFunctions.generateFilenameForDownloadFile(filename, KMainFunctions.getExtensionByMimeType(blob.type))\n );\n return;\n }\n\n if (typeof data === \"string\" && KMainFunctions.isRelativeUrl(data)) {\n const backendUrl: string = KuikaAppManager.GetBackendUrl();\n const absoluteUrl: string = data.startsWith(\"/\") ? `${backendUrl}${data}` : `${backendUrl}/${data}`;\n const blob: Blob = await KMainFunctions.toBlob(absoluteUrl);\n KMainFunctions.downloadFile(\n blob,\n KMainFunctions.generateFilenameForDownloadFile(filename, KMainFunctions.getExtensionByMimeType(blob.type))\n );\n return;\n }\n\n if (typeof data === \"string\" && KMainFunctions.isBase64(data)) {\n const blob: Blob = await KMainFunctions.toBlob(data);\n KMainFunctions.downloadFile(\n blob,\n KMainFunctions.generateFilenameForDownloadFile(filename, KMainFunctions.getExtensionByMimeType(blob.type))\n );\n return;\n }\n\n if (typeof data === \"object\") {\n const blob: Blob = await KMainFunctions.toBlob(\n `${KMainFunctions.getBase64UrlPrefix(data.mimeType)}${data.content}`\n );\n KMainFunctions.downloadFile(\n blob,\n KMainFunctions.generateFilenameForDownloadFile(\n filename ?? data.fileName,\n KMainFunctions.getExtensionByMimeType(blob.type)\n )\n );\n return;\n }\n\n this.notify(undefined, \"Invalid file data.\", \"warning\", \"bottom-right\", 3, null, null, null);\n return;\n }\n\n public static getLanguage(_languages: any, defaultLanguage: string): string {\n let retVal = \"\";\n const mlFromLocalStorage = localStorage.getItem(\"ml\");\n if (!mlFromLocalStorage) {\n if (defaultLanguage) {\n localStorage.setItem(\"ml\", defaultLanguage);\n retVal = defaultLanguage;\n }\n } else {\n retVal = mlFromLocalStorage;\n }\n return retVal;\n }\n\n public static toggleMenuCollapse(screen: any, stateName: string) {\n const obj = {} as any;\n var tmp = Object.keys(screen.props.form.getFieldsValue()).find((v) => v.includes(stateName));\n\n var value = screen.props.form.getFieldValue(tmp);\n obj.tmp = value;\n obj.tmp.collapsed = !obj.tmp.collapsed;\n screen.props.form.setFieldsValue(!value);\n }\n\n public static setLanguage(_screen: any, culture: string) {\n const currentML = localStorage.getItem(\"ml\");\n if (currentML && currentML != culture) {\n localStorage.setItem(\"ml\", culture);\n if (localStorage.getItem(\"refreshToken\") && localStorage.getItem(\"refreshToken\").length) {\n LanguageService.SaveLanguage(culture);\n }\n window.location.reload();\n } else {\n localStorage.setItem(\"ml\", culture);\n if (localStorage.getItem(\"refreshToken\") && localStorage.getItem(\"refreshToken\").length) {\n LanguageService.SaveLanguage(culture);\n }\n }\n }\n\n public static getAvailableLanguages(languages: any[]) {\n const languageList: any = [];\n languages?.map((x: { ShortName: string; IsDefault: any; Name: any }) => {\n if (x.ShortName !== \"FixedValues\") {\n languageList.push({\n shortName: x.ShortName,\n isDefault: x.IsDefault,\n name: x.Name\n });\n }\n });\n return languageList;\n }\n\n public static translateCustomActions(languages: any, actionId: any, defaultLanguage: any, defaultValue: string) {\n let retVal = \"\";\n const lastUnderscoreIndex = actionId.lastIndexOf(\"_\");\n const stringWithoutLastUnderscore = actionId.substring(0, lastUnderscoreIndex).replace(/_/g, \"-\");\n actionId = stringWithoutLastUnderscore + actionId.substring(lastUnderscoreIndex);\n let selectedLanguage = languages?.find(\n (x: { Name: string }) => x.Name === this.getLanguage(languages, defaultLanguage)\n );\n if (!selectedLanguage)\n selectedLanguage = languages.find((x: { ShortName: string }) => x.ShortName == \"FixedValues\");\n if (selectedLanguage !== undefined) {\n const item = selectedLanguage?.LanguagePhrases?.find(\n (x: { Id: any; PropertyName: any }) => x.PropertyName === actionId\n );\n retVal = item?.Value ? item.Value : \"\";\n\n if (retVal === \"\") {\n const fixedValues = languages.find((x: { ShortName: string }) => x.ShortName == \"FixedValues\");\n if (fixedValues) {\n const phrase = fixedValues.LanguagePhrases.find(\n (x: { Id: any; PropertyName: any }) => x.PropertyName === actionId\n );\n if (phrase) retVal = phrase.Value;\n }\n }\n }\n return retVal.length ? retVal : defaultValue;\n }\n\n public static translate(languages: any, diId: any, propertyName: any, defaultLanguage: any) {\n let retVal = \"\";\n let selectedLanguage = languages?.find(\n (x: { Name: string }) => x.Name === this.getLanguage(languages, defaultLanguage)\n );\n if (!selectedLanguage)\n selectedLanguage = languages.find((x: { ShortName: string }) => x.ShortName == \"FixedValues\");\n if (selectedLanguage !== undefined) {\n const item = selectedLanguage?.LanguagePhrases?.find(\n (x: { Id: any; PropertyName: any }) => x.Id === diId && x.PropertyName === propertyName\n );\n retVal = item?.Value ? item.Value : \"\";\n\n if (retVal === \"\") {\n const fixedValues = languages.find((x: { ShortName: string }) => x.ShortName == \"FixedValues\");\n if (fixedValues) {\n const phrase = fixedValues.LanguagePhrases.find(\n (x: { Id: any; PropertyName: any }) => x.Id === diId && x.PropertyName === propertyName\n );\n if (phrase) retVal = phrase.Value;\n }\n }\n }\n return retVal;\n }\n\n public static getEmailValidationMessage() {\n const language = localStorage.getItem(\"ml\");\n let retValue = \"\";\n switch (language) {\n case \"en_US\":\n retValue = \"Please Enter a Valid Email.\";\n break;\n\n case \"fr_FR\":\n retValue = \"Veuillez saisir un e-mail valide.\";\n break;\n\n case \"tr_TR\":\n retValue = \"Geçerli bir mail adresi giriniz.\";\n break;\n default:\n retValue = \"Please Enter a Valid Email.\";\n break;\n }\n return retValue;\n }\n\n public static openInMap(p1: any, p2: any, _p3: any, _p4: any) {\n window.open(`https://www.google.com/maps/@${p1},${p2},12.00z`);\n return;\n }\n\n public static phoneNumberCall(number: any) {\n window.open(`tel:${number}`);\n }\n // validatePhoneNumber: _validatePhoneNumber,\n // validateEmail: _validateEmail,\n\n // toLocaleString: _toLocaleString,\n // trimRight: _trimRight,\n // toTitleCase: _toTitleCase,\n // substring: _substring,\n // concatenate: _concatenate,\n\n // registerPopup: _registerPopup,\n // deregisterPopup: _deregisterPopup,\n\n // attachFile: _attachFile,\n // attachFileUrl: _attachFileUrl,\n // downloadFile: _downloadFile,\n // downloadFileUrl: _downloadFileUrl,\n\n // scanBarcodeKuikaFunction: _scanBarcodeKuikaFunction,\n\n // searchOnClientSide: _searchOnClientSide,\n // kuikaSearchOnClientSide: _kuikaSearchOnClientSide,\n\n // getFromLangPack: _getFromLangPack,\n // setLanguage: _setLanguage,\n // getLanguage: _getLanguage,\n // getAvailableLanguages: _getAvailableLanguages,\n // translate: _translate,\n // translateToStringArray: _translateToStringArray,\n\n // isNotEmpty: _isNotEmpty,\n // getColorForTableRow: _getColorForTableRow,\n // increment: _increment,\n // and: _and,\n // or: _or,\n // not: _not,\n\n // base64ToBlob: _base64ToBlob,\n // downloadFile: _downloadFile,\n // authGoogleExternalLogin: _authGoogleExternalLogin,\n public static goToFullScreen(): void {\n const elem: any = document.getElementsByTagName(\"html\")[0];\n\n const urlParams = new URLSearchParams(window.location.search);\n const redirectOnMobileValue = urlParams.get(\"redirectOnMobile\");\n\n if (redirectOnMobileValue === \"true\") {\n this.postWebKitMessage(null, {\n actionType: \"GO_TO_FULL_SCREEN\"\n });\n } else if (elem.requestFullscreen) {\n elem.requestFullscreen();\n } else if (elem.webkitRequestFullscreen) {\n /* Safari */\n elem.webkitRequestFullscreen();\n } else if (elem.msRequestFullscreen) {\n /* IE11 */\n elem.msRequestFullscreen();\n }\n }\n\n public static getLocale(): any {\n let mlKey = localStorage.getItem(\"ml\");\n if (!mlKey) {\n mlKey = \"en_US\";\n }\n switch (mlKey) {\n case \"ar_EG\":\n return ar_EG;\n\n case \"cs_CZ\":\n return cs_CZ;\n\n case \"da_DK\":\n return da_DK;\n\n case \"de_DE\":\n return de_DE;\n\n case \"en_US\":\n return en_US;\n\n case \"en_GB\":\n return en_GB;\n\n case \"fr_FR\":\n return fr_FR;\n\n case \"it_IT\":\n return it_IT;\n\n case \"nl_NL\":\n return nl_NL;\n\n case \"tr_TR\":\n return tr_TR;\n\n case \"es_ES\":\n return es_ES;\n\n default:\n return en_US;\n }\n }\n\n public static updateUserName(\n currentUserName: string,\n newUserName: string,\n dontSendEmail?: boolean,\n language?: string\n ): void {\n const obj = {\n userName: currentUserName,\n newUserName,\n dontSendEmail: dontSendEmail || false,\n language: language || \"\"\n } as IUpdateUsernameDto;\n UserService.UpdateUserName(obj);\n }\n\n public static updateUserStartingScreen(currentUserName: string, startingScreenId: string): void {\n const obj: IUpdateUserStartingScreen = {\n userName: currentUserName,\n startingScreenId\n };\n UserService.UpdateUserStartingScreen(obj);\n }\n\n public static async componentToPDF(targetComponent: string, quality: string, orientation: string) {\n const options: any = {\n method: \"build\",\n resolution: Resolution[quality],\n overrides: {\n pdf: {\n compress: true\n },\n canvas: {\n useCORS: true\n }\n },\n page: {\n orientation: orientation ?? \"portrait\"\n }\n };\n const getTargetElement = () => document.getElementById(targetComponent);\n var a = await generatePDF(getTargetElement, options);\n var blobValue = a.output(\"blob\");\n return new Promise((resolve, _) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result);\n reader.readAsDataURL(blobValue);\n });\n }\n\n public static async componentToPDFSave(\n targetComponent: string,\n filename: string,\n quality: string,\n orientation: string\n ) {\n const urlParams = new URLSearchParams(window.location.search);\n const redirectOnMobileValue = urlParams.get(\"redirectOnMobile\");\n\n let file = filename;\n if (!file.endsWith(\".pdf\")) {\n file = `${file}.pdf`;\n }\n\n const options: any = {\n filename: file,\n method: \"save\",\n resolution: Resolution[quality],\n overrides: {\n pdf: {\n compress: true\n },\n canvas: {\n useCORS: true\n }\n },\n page: {\n orientation: orientation ?? \"portrait\"\n }\n };\n const getTargetElement = () => document.getElementById(targetComponent);\n const result = await generatePDF(getTargetElement, options);\n if (redirectOnMobileValue === \"true\") {\n const blob = result.output(\"blob\");\n const base64 = await KMainFunctions.convertBlobToBase64(blob);\n this.postWebKitMessage(null, {\n actionType: \"DOWNLOAD_BLOB\",\n filename: `${file}`,\n base64Str: `${base64}`,\n mimeType: `${blob.type}`\n });\n }\n }\n\n public static scrollTo(elemenetId: string) {\n if (!elemenetId) return;\n const element = window.document.getElementById(elemenetId);\n if (!element) return;\n element.scrollIntoView({ behavior: \"smooth\" });\n }\n\n public static setFocusTo(elementId: string) {\n if (!elementId) return;\n const element = window.document.getElementById(elementId);\n const element2: HTMLElement = window.document.querySelector(`[focusId=\"${elementId}\"]`);\n if (!element && !element2) return;\n setTimeout(() => {\n element?.focus();\n element2?.focus();\n }, 0);\n }\n\n public static openPdf(data: string, warnLandscape: boolean, openAs: \"newTab\" | \"currentPage\"): void {\n if (KMainFunctions.isBase64(data) || data.startsWith(\"data:application/pdf;base64\")) {\n KMainFunctions.openBase64Pdf(data, warnLandscape, openAs);\n return;\n }\n\n if (KMainFunctions.isValidUrl(data)) {\n KMainFunctions.openUrlPdf(data, openAs);\n return;\n }\n\n const urlParams = new URLSearchParams(window.location.search);\n const redirectOnMobileValue = urlParams.get(\"redirectOnMobile\");\n\n if (redirectOnMobileValue === \"true\") {\n this.postWebKitMessage(null, {\n actionType: \"GET_REPORT\",\n link: `${data}`,\n warnLandscape: `${warnLandscape}`,\n openAs: `${openAs}`\n });\n return;\n }\n\n this.notify(undefined, \"Invalid pdf data.\", \"warning\", \"bottom-right\", 3, null, null, null);\n return;\n }\n\n public static async share(data: string): Promise {\n try {\n if (!navigator.share || !data) return;\n\n let text: string | undefined;\n let files: File[];\n\n if (data.startsWith(\"VCARD\")) {\n const blob: Blob = await KMainFunctions.toBlob(data);\n files = [new File([blob], \"Share.vcf\", { type: \"text/vcard\" })];\n } else if (\n (data.toLowerCase().startsWith(\"http://\") || data.toLowerCase().startsWith(\"https://\")) &&\n data.toLowerCase().endsWith(\".pdf\") &&\n data.indexOf(\" \") < 0\n ) {\n const blob: Blob = await KMainFunctions.toBlob(data);\n files = [new File([blob], `${Guid.create().toString()}.${blob.type.split(\"/\")[1]}`, { type: blob.type })];\n } else {\n text = data;\n }\n await navigator.share({ text, files });\n } catch (e) {\n KMainFunctions.exceptionHandler(e);\n }\n }\n\n public static selectLanguage(): string {\n return \"\";\n }\n\n public static getVersionInfo(): string {\n return \"1.0.0\";\n }\n\n public static getMyNotifications(_username: any, _no: any, _no2: any, _no3: any) {\n console.log(\"TODO: SYSTEM FUNCTION NOT IMPLEMENTED YET: getMyNotifications\");\n }\n\n public static markAsReadNotification(_username: any, _notificationId: any) {\n console.log(\"TODO: SYSTEM FUNCTION NOT IMPLEMENTED YET: markAsReadNotification\");\n }\n\n public static async sendPushNotificationToUsername(\n username: string,\n title: string,\n message: string,\n extraData: any\n ): Promise {\n NotificationService.SendPushNotificationToUsername({\n username,\n title,\n message,\n extraData\n });\n }\n\n public static isValidEmail(val1: any, _val2: any): any {\n if (!val1) return true;\n\n return /^([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+|\\x22([^\\x0d\\x22\\x5c\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x22)(\\x2e([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+|\\x22([^\\x0d\\x22\\x5c\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x22))*\\x40([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+|\\x5b([^\\x0d\\x5b-\\x5d\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x5d)(\\x2e([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+|\\x5b([^\\x0d\\x5b-\\x5d\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x5d))*$/.test(\n val1?.toString()\n );\n // return /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/.test(val1?.toString());\n }\n\n public static SendPushNotification(p1, p2, p3) {}\n\n public static async isLoggedIn() {\n const token = localStorage.getItem(\"tokenString\");\n if (token && token.length > 0) {\n const result = await UserService.ValidateToken();\n return KMainFunctions.IsResStatus2XX(result);\n }\n return false;\n }\n\n // STRIPE ACTIONS START\n public static async stripePayment(amount: string, currency: string, description: string): Promise {\n const stripePaymentDto = {\n amount,\n currency,\n description\n } as IStripePaymentDto;\n const res = await StripeService.OneTimePayment(stripePaymentDto);\n if (res.status === 200) {\n return res.data;\n }\n return {} as IStripePayment;\n }\n\n public static async getPaymentReceiptLink(paymentIntent: string): Promise {\n const dto = {\n paymentIntent\n } as IStripeCaptureDto;\n const res = await StripeService.GetPaymentReceiptLink(dto);\n if (res.status === 200) {\n return res.data;\n }\n return {} as any;\n }\n\n public static async getPaymentReceiptBase64(paymentIntent: string): Promise {\n const dto = {\n paymentIntent\n } as IStripeCaptureDto;\n const res = await StripeService.GetPaymentReceiptBase64(dto);\n if (res.status === 200) {\n return res.data;\n }\n return {} as any;\n }\n\n public static async checkPaymentIntentStatus(paymentIntent: string): Promise {\n const dto = {\n paymentIntent\n } as IStripeCaptureDto;\n const res = await StripeService.CheckPaymentIntentStatus(dto);\n if (res.status === 200) {\n return res;\n }\n return {} as any;\n }\n\n public static async openStripePaymentDrawer(\n screen: any,\n cllbck: any,\n amount: string,\n currency: string,\n description: string,\n applicationFee: string,\n destination: string,\n captureMethod: string,\n paymentType: string,\n supportedPaymentTypes?: string\n ): Promise {\n const stripePaymentDto = {\n amount,\n currency,\n description,\n applicationFeeAmount: applicationFee,\n ConnectedAccount: destination,\n captureMethod,\n supportedPaymentTypes\n } as IStripePaymentDto;\n const endPoint =\n paymentType === \"single\" ? StripeService.OneTimePayment : StripeService.OneTimePaymentWithDestination;\n const res = await endPoint(stripePaymentDto);\n if (res.status === 200) {\n const response = {};\n screen?.props.showStripeDrawer(res.data, cllbck, screen, false);\n return res.data;\n }\n return \"\";\n }\n\n public static async setupIntent(screen: any, cllbck: any, supportedPaymentTypes: string): Promise {\n const stripePaymentDto = {\n supportedPaymentTypes\n } as any;\n const res = await StripeService.SetupIntent(stripePaymentDto);\n if (res.status === 200) {\n const response = {};\n screen?.props.showStripeDrawer(res.data, cllbck, screen, true);\n return res.data;\n }\n return \"\";\n }\n\n public static async refundStripePayment(paymentIntent: string, reason: string, amount: string): Promise {\n const stripePaymentDto = {\n amount,\n reason,\n paymentIntent\n } as IStripeRefundDto;\n const res = await StripeService.RefundPayment(stripePaymentDto);\n if (res.status === 200) {\n return res.data;\n }\n return false;\n }\n\n public static async captureReservedFunds(paymentIntent: string, amount: string): Promise {\n const stripePaymentDto = {\n amount,\n paymentIntent\n } as IStripeCaptureDto;\n const res = await StripeService.CapturePayment(stripePaymentDto);\n if (res.status === 200) {\n return res.data;\n }\n return false;\n }\n\n public static async chargePaymentMethod(\n paymentmethod: string,\n currency: string,\n amount: string,\n stripeCustomerId: string,\n description: string,\n paymenttype: string,\n feeamount: string,\n destination: string\n ): Promise {\n const stripePaymentDto = {\n paymentmethod,\n amount,\n currency,\n stripeCustomerId,\n description,\n paymenttype,\n feeamount,\n destination\n } as IStripeChargePaymentMethodDto;\n const res = await StripeService.ChargePaymentMethod(stripePaymentDto);\n if (res.status === 200) {\n return res.data;\n }\n return false;\n }\n\n public static async getStripeMasterAccountBalance(secretKey: string): Promise {\n const stripePaymentDto = {\n secretKey\n } as IStripeMasterAccountDto;\n const res = await StripeService.GetMasterAccountBalance(stripePaymentDto);\n if (res.status === 200) {\n return res.data;\n }\n return undefined;\n }\n\n public static async getStripeMasterAccountBalanceHistory(secretKey: string, count: number): Promise {\n const stripePaymentDto = {\n secretKey,\n count\n } as IStripeMasterAccountDetailsDto;\n const res = await StripeService.GetMasterAccountBalanceHistory(stripePaymentDto);\n if (res.status === 200) {\n return res.data;\n }\n return undefined;\n }\n\n public static async getConnectedAccountBalance(connectedAccount: string): Promise {\n const stripePaymentDto = {\n connectedAccount\n } as IStripeConnectedAccountDto;\n const res = await StripeService.GetConnectedAccountBalance(stripePaymentDto);\n if (res.status === 200) {\n return res.data;\n }\n return undefined;\n }\n\n public static async getConnectedAccountStatus(connectedAccount: string): Promise {\n const stripePaymentDto = {\n connectedAccount\n } as IStripeConnectedAccountDto;\n const res = await StripeService.GetConnectedAccountStatus(stripePaymentDto);\n if (res.status === 200) {\n return res.data;\n }\n return false;\n }\n\n public static async getConnectedAccountOnboardingLink(connectedAccount: string): Promise {\n const stripePaymentDto = {\n connectedAccount,\n returnLocation: KMainFunctions.windowLocationOrigin\n } as IStripeConnectedAccountOnboardingDto;\n const res = await StripeService.GetConnectedAccountOnboardingLink(stripePaymentDto);\n if (res.status === 200) {\n return res.data;\n }\n return KMainFunctions.windowLocationOrigin;\n }\n\n public static async createConnectedAccount(type: string, country: string, email: string): Promise {\n const stripePaymentDto = {\n type,\n country,\n email\n } as IStripeCreateConnectedAccountDto;\n const res = await StripeService.CreateConnectedAccount(stripePaymentDto);\n if (res.status === 200) {\n return res.data;\n }\n return \"\";\n }\n\n public static async connectedAccountWithdraw(\n amount: string,\n connectedAccount: string,\n currency: string\n ): Promise {\n const stripePaymentDto = {\n amount,\n connectedAccount,\n currency\n } as IStripeConnectedAccountWithdraw;\n const res = await StripeService.ConnectedAccountWithdraw(stripePaymentDto);\n if (res.status === 200) {\n return res.data;\n }\n return \"\";\n }\n\n public static async connectedAccountPayout(amount: string, connectedAccount: string, currency: string): Promise {\n const stripePaymentDto = {\n amount,\n connectedAccount,\n currency\n } as IStripeConnectedAccountPayout;\n const res = await StripeService.ConnectedAccountPayout(stripePaymentDto);\n if (res.status === 200) {\n return res.data;\n }\n return \"\";\n }\n\n public static async cancelStripePayment(paymentIntent: string): Promise {\n const dto = {\n paymentIntent\n } as IStripeCaptureDto;\n const res = await StripeService.CancelPaymentIntent(dto);\n if (res.status === 200) {\n return res.data;\n }\n return false;\n }\n\n public static async updateStripeUserInfo(\n email: string,\n name: string,\n phone: string,\n description: string\n ): Promise {\n const dto = {\n email,\n name,\n phone,\n description\n } as IStripeUpdateCustomerDto;\n const res = await StripeService.UpdateStripeUserInfo(dto);\n if (res.status === 200) {\n return res.data;\n }\n return false;\n }\n\n public static async removeStripePaymentMethod(paymentmethod: string): Promise {\n const stripePaymentDto = {\n paymentmethod\n } as IStripeDeletePaymentMethodDto;\n const res = await StripeService.DeletePaymentMethod(stripePaymentDto);\n if (res.status === 200) {\n return res.data;\n }\n return undefined;\n }\n\n public static async getCustomerPaymentMethods(): Promise {\n const res = await StripeService.GetCustomerPaymentMethods();\n if (res.status === 200) {\n return res;\n }\n return undefined;\n }\n\n public static async getCustomerPaymentMethodsbyId(stripeCustomerId: string): Promise {\n const res = await StripeService.GetCustomerPaymentMethodsbyId({ stripeCustomerId });\n if (res.status === 200) {\n return res;\n }\n return undefined;\n }\n\n // STRIPE ACTIONS END\n public static async printPDFQZ(\n printerName: string,\n pdfBase64: string,\n pageW: number,\n pageH: number,\n totalHeight: number,\n stickyPaper: boolean,\n onePage: boolean,\n pdfList: any\n ): Promise {\n const qz = (await import(\"qz-tray\")).default;\n const { KEYUTIL, KJUR, stob64, hextorstr } = await import(\"jsrsasign\");\n\n const privateKey = `-----BEGIN PRIVATE KEY-----\n MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDuSx1EduN/GsG1\n VqyRoNHlnHckbGyYTlyltzBFnSzwfdWTLEqV9IRH20wmz8IaVO06yYI+BVbm5b2q\n Rc4YHQswUKQzap9bbaGrl4sW6dYOJwCCRziu8iBMdu0xH5oziHFCHgXTg5o3mDLE\n XAMDCkoMnqnjepf9MvM9oztNQRftKNh0DfygqMrdIUfNQOu8gqSJ7JKYXXaXIYlQ\n yud032xyAfUOkPq4EcerBSLttQxHDa9oUYBeuRoHK18iUH+vOCw8gDQivRJ9w42E\n reg5cl7rykhjTQAmRubOntKCPEZT+WlWEkj/AxGoeNcnvXTpq9fmH8ioOR8S2MZA\n jTThSquLAgMBAAECggEAUrrvWVKxXvKKKAwEc7bSyJXO421lMmeaUMpNzw1nicMW\n QDdTWcZ/mnbvdFYS/JNZnVxShHfUGOvQMmpzx/llZgvJRjSRSOvCAlHlrznV4Cn4\n SkKx0kMrpYBwjup63cNUFvFXcnyxMPX9QiDzxr1uwfzf3KM2W2ix/EdMkmC0DtjA\n 86/tqIXSksjGYpSJ9r9CcBRrYC5rd0QhMPav+sk5W9NF5OKjVP5LhBCwdc2kDywU\n zi0+2I7T1C4zSUHLpIKE0FPioQO5XlZ0Q4dDh3b4tlOAd2R9+YC9aAOGKmIZ/BhF\n N673ymjEVnw/LwiAEnLV3z+cClhvuIa4uj4yCssBiQKBgQD5ILI9aQr3iBMLv4f/\n czGgz/CW6k9bjebSOZf9SzpasTgzYMl/34jswO8UXwkupGsqksMKLMVwEuVoH3hp\n JpCIV9W/0/fA75eHxdbbFsiCyrbD0nnOYyM/MICzlYr6fokqR0cWoAms436/27w2\n j3x2Zw4muCy32OMSRef7X73xjQKBgQD03ehlJVPqNeK8PDmE0Qm2lYJitlO7fm1U\n WTYfN+L44EAzpv/+FbB808iqLeMIQdaw9XEm4x4tlSegUKJozLNfI3OGsYIFPMKD\n OEH7kGFVDe94m1hqnW2iAYu9ZlDS4WVLmnzCRTmbgQYiMjtVKL+BhDpQWvPdDNCS\n LkF9f2CvdwKBgQCvwSRd9KxbAzHEmQP98Kuzct+d6IHB6nNMHnueo6LwdpRaks61\n GuODe31vlrhoonBEYbOdiwZjUcFsWr9dF2rh9W2D3qur/pudmrJAcGtW8mJL9kIe\n m4wzOSmjCD47CGgGXrDFQnRw9zHlcsTujP3Wnk+6ezZ5IVbY/l5x1hKvxQKBgQCo\n doMME0JIQApdtpFb7vTfyLyLbSTuOWy+OyIhGDHvR1jkMGCuTf2943aKnkczxxgN\n Zs8SEe8RLSy1/sO9lhdRvPIeGMF7GPI5lNrQV+Sev5ehQj7yGpzyeF3LUDkK3Eb0\n XLS4cyfO9FVj8Wsgi4g1cuMrpWdhDQ/xgiFMVfYOwQKBgQDfMQtOzuZV99IT06Qu\n erlLLg3pkC5RE5b2lsHmXOS0J0K7Wd8QjvmCPxdrympyQmAFHz+4+0Xw5WOaDD5e\n s5GI6sJs+6/lMiAJV3UQhp0FpU5OhhLOz/VpaCTTcYP/OoS5ajKsS8rnCt3T2YAF\n CcbqViPtkJAPIj35xNBGC4K3gw==\n -----END PRIVATE KEY-----`;\n\n qz.security.setSignatureAlgorithm(\"SHA512\"); // Since 2.1\n qz.security.setSignaturePromise((toSign: any) => {\n return function (resolve: (arg0: any) => void, reject: (arg0: any) => void) {\n try {\n const pk = KEYUTIL.getKey(privateKey);\n const sig = new KJUR.crypto.Signature({ alg: \"SHA512withRSA\" }); // Use \"SHA1withRSA\" for QZ Tray 2.0 and older\n sig.init(pk);\n sig.updateString(toSign);\n const hex = sig.sign();\n resolve(stob64(hextorstr(hex)));\n } catch (err) {\n console.error(err);\n reject(err);\n }\n };\n });\n\n try {\n const config = qz.configs.create(printerName);\n config.config = {\n orientation: \"portrait\",\n size: {\n width: pageW,\n height: pageH\n },\n units: \"in\"\n };\n\n if (totalHeight == 0) totalHeight = pageH;\n\n qz.security.setCertificatePromise((resolve: (arg0: string) => void, _reject: any) => {\n resolve(`-----BEGIN CERTIFICATE-----\n MIID4TCCAsmgAwIBAgIUTix9J/qAFmdZj1DlZ32r5UCBQzgwDQYJKoZIhvcNAQEL\n BQAwfzELMAkGA1UEBhMCVFIxCzAJBgNVBAgMAlRSMQswCQYDVQQHDAJUUjEOMAwG\n A1UECgwFSURBVEExDjAMBgNVBAsMBUlEQVRBMRcwFQYDVQQDDA4qLmlkYXRhLmNv\n bS50cjEdMBsGCSqGSIb3DQEJARYOKi5pZGF0YS5jb20udHIwIBcNMjIwNDIwMTQ0\n MDQwWhgPMjA1MzEwMTMxNDQwNDBaMH8xCzAJBgNVBAYTAlRSMQswCQYDVQQIDAJU\n UjELMAkGA1UEBwwCVFIxDjAMBgNVBAoMBUlEQVRBMQ4wDAYDVQQLDAVJREFUQTEX\n MBUGA1UEAwwOKi5pZGF0YS5jb20udHIxHTAbBgkqhkiG9w0BCQEWDiouaWRhdGEu\n Y29tLnRyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7ksdRHbjfxrB\n tVaskaDR5Zx3JGxsmE5cpbcwRZ0s8H3VkyxKlfSER9tMJs/CGlTtOsmCPgVW5uW9\n qkXOGB0LMFCkM2qfW22hq5eLFunWDicAgkc4rvIgTHbtMR+aM4hxQh4F04OaN5gy\n xFwDAwpKDJ6p43qX/TLzPaM7TUEX7SjYdA38oKjK3SFHzUDrvIKkieySmF12lyGJ\n UMrndN9scgH1DpD6uBHHqwUi7bUMRw2vaFGAXrkaBytfIlB/rzgsPIA0Ir0SfcON\n hK3oOXJe68pIY00AJkbmzp7SgjxGU/lpVhJI/wMRqHjXJ7106avX5h/IqDkfEtjG\n QI004UqriwIDAQABo1MwUTAdBgNVHQ4EFgQU9+kYlFmzC7HX7RGKDZ3KJJj4l8Yw\n HwYDVR0jBBgwFoAU9+kYlFmzC7HX7RGKDZ3KJJj4l8YwDwYDVR0TAQH/BAUwAwEB\n /zANBgkqhkiG9w0BAQsFAAOCAQEAQbRjJC6k5ZFYOgHTAhBsrwsvZ6ukbzEHbBhC\n rbE7NzTYS2QhYMbYM6O0e0jJ57dnEk03V4fXuaKLRVfKAqwFNEZgydwOZ7rZXi6O\n 6Pi2IIxN7LHYtYrZwnANaWfUvwbULa439Fh1L5mVbKNpI0qLoC8JSO1gn+7BFv0v\n 4AkgeFoEXa2IqlpupGIHFKPNA3M3RGNNFrysDDDKwV+cc2oAmXnxsEPI59sF4D1C\n l71cSa0tP2ZrHiv6PqgYQRSp4Tx2NlohkAmR/cZYmHjWb+jPYb/uVSNQP3ytoo+7\n XO7lMjGj++rQ+cqglSQrz6Tga4XFqseviYcWz11N8r5r6n7qww==\n -----END CERTIFICATE-----\n `);\n });\n\n if (onePage) {\n qz.websocket.connect().then(() => {\n const base64string = pdfBase64.split(\",\")[1];\n const printData = [\n \"^XA\\n\",\n `^MN${stickyPaper ? \"Y\" : \"N\"}\\n`,\n `^LL${totalHeight * 203.2}\\n`,\n {\n type: \"pdf\",\n format: \"base64\",\n data: base64string,\n options: {\n language: \"ZPL\",\n pageHeight: totalHeight * 203.2,\n pageWidth: pageW * 203.2\n }\n },\n \"^XZ\\n\"\n ];\n qz.print(config, printData)\n .catch()\n .then(() => {\n qz.websocket.disconnect();\n });\n });\n } else {\n qz.websocket.connect().then(() => {\n pdfList = pdfBase64.split(\"#####\");\n for (const item of pdfList) {\n const base64string = item.split(\",\")[1];\n const printData = [\n \"^XA\\n\",\n `^MN${stickyPaper ? \"Y\" : \"N\"}\\n`,\n `^LL${totalHeight * 203.2}\\n`,\n {\n type: \"pdf\",\n format: \"base64\",\n data: base64string,\n options: {\n language: \"ZPL\",\n pageHeight: totalHeight * 203.2,\n pageWidth: pageW * 203.2\n }\n },\n \"^XZ\\n\"\n ];\n qz.print(config, printData)\n .catch()\n .then(() => {\n qz.websocket.disconnect();\n });\n }\n });\n }\n return true;\n } catch {\n return false;\n }\n }\n\n public static async generateQrCode(value: any) {\n try {\n const qr = await QRCode.toDataURL(value, { errorCorrectionLevel: \"H\" });\n return qr;\n } catch (err) {\n console.error(err);\n return \"\";\n }\n }\n\n public static updateUserRoles(roles: any) {\n if (window.userInfo) {\n window.userInfo.roles = roles;\n }\n }\n\n public static generateVcf(\n name: string,\n surname: string,\n email: string,\n mobile: string,\n workPhone: string,\n homePhone: string,\n _gender: string,\n photo: string,\n nickname: string,\n note: string,\n organization: string,\n role: string,\n title: string,\n url: string,\n workUrl: string,\n homeUrl: string\n ): string {\n const vCard = new VCard();\n vCard.addName(surname, name);\n\n if (!_.isEmpty(email)) {\n vCard.addEmail(email);\n }\n\n if (!_.isEmpty(mobile)) {\n vCard.addPhoneNumber(mobile, \"CELL\");\n }\n\n if (!_.isEmpty(workPhone)) {\n vCard.addPhoneNumber(workPhone, \"WORK\");\n }\n\n if (!_.isEmpty(homePhone)) {\n vCard.addPhoneNumber(homePhone, \"HOME\");\n }\n\n if (!_.isEmpty(photo)) {\n vCard.addPhoto(photo);\n }\n\n if (!_.isEmpty(nickname)) {\n vCard.addNickname(nickname);\n }\n\n if (!_.isEmpty(note)) {\n vCard.addNote(note);\n }\n\n if (!_.isEmpty(organization)) {\n vCard.addCompany(organization);\n }\n\n if (!_.isEmpty(role)) {\n vCard.addRole(role);\n }\n\n if (!_.isEmpty(title)) {\n vCard.addJobtitle(title);\n }\n\n if (!_.isEmpty(url)) {\n vCard.addURL(url);\n }\n\n if (!_.isEmpty(workUrl)) {\n vCard.addURL(workUrl, \"WORK\");\n }\n\n if (!_.isEmpty(homeUrl)) {\n vCard.addURL(homeUrl, \"HOME\");\n }\n\n return vCard.toString();\n }\n\n public static downloadVcf(\n name: string,\n surname: string,\n email: string,\n mobile: string,\n workPhone: string,\n homePhone: string,\n gender: string,\n photo: string,\n nickname: string,\n note: string,\n organization: string,\n role: string,\n title: string,\n url: string,\n workUrl: string,\n homeUrl: string\n ): void {\n const vcfString = this.generateVcf(\n name,\n surname,\n email,\n mobile,\n workPhone,\n homePhone,\n gender,\n photo,\n nickname,\n note,\n organization,\n role,\n title,\n url,\n workUrl,\n homeUrl\n );\n\n const blob = new Blob([vcfString], {\n type: \"text/vcard\"\n });\n\n const objectUrl = window.URL.createObjectURL(blob);\n const a = document.createElement(\"a\");\n a.href = objectUrl;\n a.download = `${name}_${surname}.vcf`;\n a.click();\n }\n\n public static isWeb(): boolean {\n return true;\n }\n\n public static isIOS(): boolean {\n return false;\n }\n\n public static isAndroid(): boolean {\n return false;\n }\n\n public static isOnline(): boolean {\n return true;\n }\n\n // ARITHMETIC\n\n public static increment(value, seed) {\n return this.toDecimal(undefined, value) + this.toDecimal(undefined, seed);\n }\n\n public static decrament(value, value2) {\n return this.toDecimal(undefined, value) - this.toDecimal(undefined, value2);\n }\n\n public static sum(value, value2) {\n return this.toDecimal(undefined, value) + this.toDecimal(undefined, value2);\n }\n\n public static subtract(value, value2) {\n return this.toDecimal(undefined, value) - this.toDecimal(undefined, value2);\n }\n\n public static divide(value, value2) {\n return this.toDecimal(undefined, value) / this.toDecimal(undefined, value2);\n }\n\n public static multiply(value, value2) {\n return this.toDecimal(undefined, value) * this.toDecimal(undefined, value2);\n }\n\n public static subArray(value, startingIndex: number, count: number) {\n if (!value) return null;\n\n if (Array.isArray(value) && value.every((item) => typeof item === \"number\")) {\n const inputVal: number[] = value;\n const retVal: number[] = [];\n\n for (let i = startingIndex; i < startingIndex + count; i++) {\n if (i >= 0 && i < inputVal.length) {\n retVal.push(inputVal[i]);\n }\n }\n\n return retVal;\n }\n if (typeof value === \"string\") {\n return this.subString(value, startingIndex, count).split(\"\");\n }\n if (Array.isArray(value)) {\n const retVal: any[] = [];\n\n for (let i = startingIndex; i < startingIndex + count; i++) {\n if (i >= 0 && i < value.length) {\n retVal.push(value[i]);\n }\n }\n\n return retVal;\n }\n\n return value;\n }\n\n public static subString(value: string | null | undefined, startingIndex: number, count: number): any {\n if (value === null || value === undefined) return null;\n return value.substring(startingIndex, startingIndex + count);\n }\n\n public static async iyzicoInitializeCheckoutForm(\n screen: any,\n cllbck: any,\n userName: string,\n pricingPlanReferenceCode: string,\n phoneNumber: string,\n identityNumber: string,\n address: string,\n city: string,\n country: string,\n zipCode: string\n ) {\n const ad = { address1: address, address2: \"\", city, country, zipCode } as IIyzicoAddressDto;\n const u = {\n userName,\n pricingPlanReferenceCode,\n address: ad,\n phoneNumber,\n identityNumber\n } as IIyzicoCheckoutFormDto;\n await IyzicoService.CheckoutForm(u)\n .then((response) => {\n if (response && response.data && response.data.checkoutFormContent) {\n screen?.props.showIyzicoDrawer({ data: response.data }, cllbck, screen);\n } else {\n KuikaAppManager.hideSpinner(screen);\n }\n })\n .catch(() => {\n KuikaAppManager.hideSpinner(screen);\n });\n }\n\n public static generateLink(screenName?: string, parameters?: { [key: string]: any }) {\n let linkString = window.location.href;\n\n if (screenName) {\n let lastIndex = linkString.lastIndexOf(\"/\");\n if (lastIndex !== -1) {\n linkString = linkString.substring(0, lastIndex);\n linkString += `/${screenName}`;\n }\n }\n\n if (Object.keys(parameters).length > 0) {\n linkString += \"?\";\n }\n\n let index: number = 0;\n for (const [key, value] of Object.entries(parameters)) {\n const escapedString: string = encodeURIComponent(String(value));\n linkString += `${key}=${escapedString}`;\n if (index < Object.keys(parameters).length - 1) {\n linkString += \"&\";\n }\n index += 1;\n }\n\n return linkString;\n }\n\n public static runUIVisionMacro(stringifiedMacro: string) {\n try {\n const json = JSON.parse(stringifiedMacro);\n\n const isExtensionLoaded = function () {\n const $root = document.documentElement;\n return !!$root && !!$root.getAttribute(\"data-kantu\");\n };\n const openExternal = function (url) {\n const $el = document.createElement(\"a\");\n $el.setAttribute(\"target\", \"_blank\");\n $el.setAttribute(\"href\", url);\n $el.style.position = \"absolute\";\n $el.style.top = \"-9999px\";\n $el.style.left = \"-9999px\";\n document.body.appendChild($el);\n $el.click();\n setTimeout(() => {\n $el.remove();\n }, 200);\n };\n const openWebsite = function () {\n openExternal(\"https://ui.vision/rpa/home/getrpa\");\n };\n if (!isExtensionLoaded()) {\n if (confirm(\"UI.Vision RPA is not installed yet. Do you want to download it now?\")) {\n return openWebsite();\n }\n } else {\n return window.dispatchEvent(\n new CustomEvent(\"kantuSaveAndRunMacro\", {\n detail: {\n direct: 1,\n closeRpa: 1,\n json\n }\n })\n );\n }\n } catch (error) {\n KMainFunctions.exceptionHandler(error);\n }\n }\n\n public static async copyToClipboard(value?: string) {\n try {\n await navigator.clipboard.writeText(value);\n } catch (e) {\n KMainFunctions.exceptionHandler(e);\n }\n }\n\n public static signinwithgoogle(screen: any): Promise<{}> {\n screen.props.googleLogin();\n localStorage.setItem(\"isGoogleLoginInProgress\", \"true\");\n localStorage.setItem(\"isGoogleLoginAborted\", \"false\");\n\n const previousUser = _.cloneDeep(window.userInfo ?? {});\n\n return new Promise((resolve, reject) => {\n const interval = setInterval(() => {\n if (localStorage.getItem(\"isGoogleLoginInProgress\") === \"false\") {\n clearInterval(interval);\n if (localStorage.getItem(\"isGoogleLoginAborted\") === \"true\") {\n localStorage.removeItem(\"isGoogleLoginInProgress\");\n localStorage.removeItem(\"isGoogleLoginAborted\");\n KuikaAppManager.hideSpinner(screen);\n reject();\n } else {\n resolve({});\n }\n\n if (previousUser && !_.isEqual(previousUser, window.userInfo)) {\n clearInterval(interval);\n localStorage.removeItem(\"isGoogleLoginInProgress\");\n localStorage.removeItem(\"isGoogleLoginAborted\");\n resolve({});\n }\n }\n }, 200);\n });\n }\n\n public static getPublicIpAddress(): string {\n try {\n // Send a cross-origin request to get the public IP address\n const request = new XMLHttpRequest();\n request.open(\"GET\", \"https://api.ipify.org?format=json\", false);\n request.send(null);\n if (request.status === 200) {\n const response = JSON.parse(request.responseText);\n return response.ip;\n }\n return \"\";\n } catch (error) {\n KMainFunctions.exceptionHandler(error);\n return \"\";\n }\n }\n\n public static sendVerificationCode(screen: any) {\n UserService.SendVerificationCode({ email: USER, dontSendEmail: false, language: \"\" })\n .then(() => {})\n .catch((e) => {\n KMainFunctions.exceptionHandler(e);\n });\n\n return \"Mail send\";\n }\n\n public static generateOTP(userName: string) {\n const secret = this.convertToOtpSecret(userName.toLowerCase());\n\n let algorithm: \"SHA-1\" | \"SHA-256\" | \"SHA-512\" = \"SHA-1\";\n\n if (OTP_ALGORITHM === \"SHA256\") algorithm = \"SHA-256\";\n else if (OTP_ALGORITHM === \"SHA512\") algorithm = \"SHA-512\";\n\n return TOTP.generate(secret, {\n period: OTP_PERIOD,\n digits: OTP_DIGITS,\n algorithm\n }).otp;\n }\n\n public static generateAuthenticatorAppUri(userName?: string) {\n try {\n const language = localStorage.getItem(\"ml\");\n if (!userName) {\n let message = \"\";\n switch (language) {\n case \"en_US\":\n message = \"Unable to generate authenticator app (OTP) URI without username.\";\n break;\n\n case \"fr_FR\":\n message = \"Impossible de générer l'URI de l'application d'authentification (OTP) sans nom d'utilisateur.\";\n break;\n\n case \"tr_TR\":\n message = \"Kullanıcı adı olmadan Kimlik Doğrulayıcı (OTP) ugulama URI'yı oluşturulamaz.\";\n break;\n }\n throw new Error(message);\n }\n\n if (!OTP_SECRET_KEY) {\n let message = \"Authenticator (OTP) application settings are missing. Please contact your Administrator\";\n switch (language) {\n case \"en_US\":\n message = \"Authenticator (OTP) application settings are missing. Please contact your Administrator\";\n break;\n\n case \"fr_FR\":\n message =\n \"Les paramètres de l'application Authentificateur (OTP) sont manquants. Veuillez contacter votre administrateur\";\n break;\n\n case \"tr_TR\":\n message = \"Kimlik Doğrulayıcı (OTP) uygulama ayarları eksik. Lütfen Yöneticinizle iletişime geçin\";\n break;\n }\n throw new Error(message);\n }\n const usrName = userName?.toString()?.toLowerCase() ?? \"\";\n const domainName = this.removeSpecialCharacter(window.kuika?.info?.workspace ?? \"\");\n const secret = this.convertToOtpSecret(usrName);\n const url = `otpauth://totp/${domainName}:${usrName}?secret=${secret}&issuer=${domainName}&algorithm=${OTP_ALGORITHM}&digits=${OTP_DIGITS}&period=${OTP_PERIOD}`;\n return url;\n } catch (error) {\n KMainFunctions.exceptionHandler(error);\n return \"\";\n }\n }\n\n public static convertToOtpSecret(userName: string) {\n const secretKey: string = `${userName.toLowerCase()}${OTP_SECRET_KEY}KUIKAMOBILEKEYKUIKAMOBILEKEY2345KUIKAMOBILEKEYKUIKAMOBILEKEY2345`;\n const secret = this.subString(this.ignoreNonAllowedCharacters4Base32Secret(secretKey), 0, 64);\n\n return secret ?? \"\";\n }\n\n public static async changeTwoFactorAuthenticationType(authenticationType) {\n try {\n await UserService.ChangeTwoFactorAuthenticationType({ authenticationType });\n } catch (error) {\n KMainFunctions.exceptionHandler(error);\n }\n }\n\n public static removeSpecialCharacter(value: string): string {\n return value.replace(/[^A-Za-z0-9 ]/g, \"\");\n }\n\n public static ignoreNonAllowedCharacters4Base32Secret(value: string) {\n return value.replace(/[^A-Za-z2-7 ]/g, \"\");\n }\n\n public static importTableConfigs = (screen, tableName, configJSON) => {\n const screenTable = Object.keys(screen).filter((v) => v.includes(tableName));\n const refTable = screenTable.find((v) => v.includes(\"kuikaTableRef\") || v.includes(\"kuikaPivotTableRef\"));\n if (\n screen[refTable] != undefined &&\n screen[refTable] != null &&\n screen[refTable].current != undefined &&\n screen[refTable].current != null &&\n screen[refTable].current.setTableConfigJson != undefined &&\n configJSON != undefined &&\n configJSON != null &&\n configJSON != \"\"\n ) {\n console.log(screen[refTable].current);\n screen[refTable].current.setTableConfigJson(configJSON);\n }\n };\n\n public static exportTableConfigs = (screen, tableName) => {\n const screenTable = Object.keys(screen).filter((v) => v.includes(tableName));\n const refTable = screenTable.find((v) => v.includes(\"kuikaTableRef\") || v.includes(\"kuikaPivotTableRef\"));\n if (\n screen[refTable] != undefined &&\n screen[refTable] != null &&\n screen[refTable].current != undefined &&\n screen[refTable].current != null &&\n screen[refTable].current.getTableConfigJson != undefined\n ) {\n return screen[refTable].current.getTableConfigJson();\n }\n return \"\";\n };\n\n public static clearTableFilteringConfigs = (screen, tableName) => {\n const screenTable = Object.keys(screen).filter((v) => v.includes(tableName));\n const refTable = screenTable.find((v) => v.includes(\"kuikaTableRef\"));\n if (\n screen[refTable] != undefined &&\n screen[refTable] != null &&\n screen[refTable].current != undefined &&\n screen[refTable].current != null &&\n screen[refTable].current.clearFilterConfigs != undefined\n ) {\n screen[refTable].current.clearFilterConfigs();\n }\n };\n\n public static resetTableConfigs = (screen, tableName) => {\n const screenTable = Object.keys(screen).filter((v) => v.includes(tableName));\n const refTable = screenTable.find((v) => v.includes(\"kuikaTableRef\") || v.includes(\"kuikaPivotTableRef\"));\n if (\n screen[refTable] != undefined &&\n screen[refTable] != null &&\n screen[refTable].current != undefined &&\n screen[refTable].current != null &&\n screen[refTable].current.resetTableConfigs != undefined\n ) {\n screen[refTable].current.resetTableConfigs();\n }\n };\n\n public static readNFC = () => {\n KMainFunctions.displayWarningNotification(\"Action ReadNFC is not supported on web.\");\n return null;\n };\n\n public static isInList(value1: unknown, value2: unknown): boolean {\n if (value1 === null || value1 === undefined || value2 === null || value2 === undefined) {\n return false;\n }\n if (Array.isArray(value2)) {\n for (let i = 0; i < value2.length; i++) {\n if (value2[i] === value1) {\n return true;\n }\n }\n return false;\n }\n return false;\n }\n\n public static async downloadFileFromServer(path, fileid) {\n await ServerFilesService.DownloadFile(path, fileid);\n return \"\";\n }\n\n public static async deleteFileFromServer(path, fileid) {\n return ServerFilesService.DeleteFile(path, fileid);\n }\n\n public static isDocumentReady() {\n switch (document.readyState) {\n case \"complete\":\n return true;\n default:\n return false;\n }\n }\n\n public static mqttpublish = (client, topic, message, qos, retain = false) => {\n if (!client || !client.connected) {\n console.error(\"MQTT client is not connected\");\n return;\n }\n\n if (qos === undefined || qos === null) {\n qos = 0;\n }\n\n qos = Number(qos);\n\n client.publish(topic, message, { qos, retain }, (error) => {\n if (error) {\n console.error(\"MQTT publish failed:\", error);\n }\n });\n };\n\n public static mqttsubscribe = async (client, subscribeAction, topic) => {\n return new Promise((resolve, reject) => {\n const mqttTopic = topic;\n\n if (!client._resubscribeTopics || !client._resubscribeTopics[topic]) {\n client.subscribe(topic, { nl: true }, (err) => {\n if (err) {\n resolve({ isSuccess: false });\n }\n\n client.on(\"message\", (topic, message) => {\n if (mqttTopic === topic) {\n subscribeAction(message);\n }\n });\n\n resolve({ isSuccess: true });\n });\n } else {\n resolve({ isSuccess: true });\n }\n });\n };\n\n public static getMqttClientId(clientName, screenName) {\n var mqttClientId = this.readFromLocalStorage(`${clientName}_${screenName}_MQTT_CLIENT_ID`);\n if (mqttClientId === undefined || mqttClientId === null) {\n mqttClientId = Guid.create().toString();\n this.writeToLocalStorage(`${clientName}_${screenName}_MQTT_CLIENT_ID`, mqttClientId);\n }\n return mqttClientId;\n }\n\n public static async openImportMappedExcelModal(\n screen: any,\n datasourceId: string,\n tableName: string,\n primaryKey: string,\n mappedColumnsJson: string\n ) {\n const mappedColumns: IImportMappedExcelColumnMapDefinition[] = JSON.parse(mappedColumnsJson);\n screen?.props?.showImportMappedExcelModal(datasourceId, tableName, primaryKey, mappedColumns);\n\n return new Promise((resolve, reject) => {\n const interval = setInterval(() => {\n if (screen.props.isImportMappedExcelModalVisible === false) {\n clearInterval(interval);\n resolve();\n }\n }, 100);\n });\n }\n\n \n}\n"],"names":["_service","_clearSessionStorage","applications","structuredClone","ApplicationService","sessionStorage","tokenObj","localStorage","domainName","window","email","status","userName","ImportMappedExcelStatus","ELanguage","backendUrl","KuikaAppManager","isTokenRefreshing","failedQueue","localStorageService","LocalStorageService","processQueue","error","token","promise","axios","config","urlItems","document","language","Promise","response","originalRequest","refreshToken","res","e","HelperService","resolve","reject","err","initialState","initialStripeState","undefined","initialIyzicoState","initialImportMappedExcelModalState","rootReducer","combineReducers","spinnerReducer","state","action","count","photoTakeReducer","SHOW_PHOTO_TAKE","HIDE_PHOTO_TAKE","stripeDrawerReducer","SHOW_STRIPE_DRAWER","HIDE_STRIPE_DRAWER","iyzicoDrawerReducer","SHOW_IYZICO_DRAWER","HIDE_IYZICO_DRAWER","importMappedExcelModalReducer","SHOW_IMPORT_MAPPED_EXCEL_MODAL","HIDE_IMPORT_MAPPED_EXCEL_MODAL","globalStore","createStore","Redirect","React","UserService","KMainFunctions","redirect","withHistory","NoMatch404","setTimeout","Result","Button","noMatch404","Dashboard","dashboard","ForgotPassword","props","data","alert","Form","Input","forgotPassword","Login","visible","ResetPassword","idx","idx2","formData","Tooltip","resetPassword","TranslationService","translations","key","languageToBeUsed","_","values","text","match","value","translationService","ExcelService","request","Axios","ImportMappedExcelRuntime","PureComponent","columnMapping","primaryKeyMapping","file","reader","FileReader","XLSX","Uint8Array","workbook","sheetNames","sheetName","selectedSheetName","sheet","columns","columnMappings","targetColumn","column","Select","classNames","a","b","worksheet","errors","primaryKeyIndex","Error","primaryKeySourceName","primaryKeyTargetName","worksheetData","row","Object","getErrorMessage","errorWorkSheetData","errorWorkSheet","blob","Blob","filename","saveAs","button","Modal","importMappedExcelRuntime","connect","dispatch","hideImportMappedExcelModal","PrivateRoute","KContext","virtualDirectoryURL","imgNode","PaymentElementStripe","timer","checkoutFormContent","iframe","iframeWin","iframeDoc","scriptElement","setInterval","clearInterval","isMobile","CloseOutlined","Camera","IMAGE_TYPES","FACING_MODES","Route","privateRoute","showPhotoTake","hidePhotoTake","callback","screen","futureUse","showStripeDrawer","hideStripeDrawer","that","showIyzicoDrawer","hideIyzicoDrawer","dsId","tableName","primaryKey","showImportMappedExcelModal","DomRoute","route","KuikaInfo","frontEndUrl","backEndUrl","JSON","workspace","appName","webComponentTag","url","URL","kuikaRestApiCalled","mfeLogin","external_access_token","external_refresh_token","external_user","externalTokenRequest","EExternalTokenProviderTypes","msalConfig","MsalLogin","indexedDB","databases","db","msalLogoutUrl","authorizationRequestUrl","MsalRedirect","codeParam","URLSearchParams","loginWithMsal","WFMailInteraction","searchParams","params","queryString","WorkflowService","confJson","require","Router","runTimeout","allFormItems","formItem","antFormItemControlInputContent","antFormItemControlInput","antFormItemControl","formChild","calculatedDisplay","clearTimeout","KuikaRouter","Switch","HomePage_Screen","ForgotPassword_Screen","Profil_Screen","VerificationCode_Screen","Signincopy_Screen","Marketing_Dashboard_With_Left_Menu_Screen","Signup_Screen","ResetPassword_Screen","Ayarlar_Screen","Sales_Dashboard_With_Left_Menu_Screen","LeftMenu_Screen","ResimDetay_Screen","Tedarikcitanimlama_Screen","isWebComponentApp","app","HashRouter","BrowserRouter","MfeLogin","Login_Screen","memo","authType","Provider","ReactNotification","ConfigProvider","ReactSystemFunctions","PWAPrompt","SessionService","Guid","options","Math","Date","startTime","parseInt","currentTime","broadcastMessage","v","id","identifier","broadcast","message","BroadcastChannel","AppBootstrapper","console","html","String","SAVE_APP_REQUEST_KEY","remainingSessionTime","GoogleOAuthProvider","KuikaAuthApp","StyledComponent","styled","css","withCommonEvents","dynamicStyles","className","children","container","root","createRoot","module","WebComponentInit","define","CheckResultType","EAccountStatus","EApplicationType","projectName","projectId","APPS_TO_BE_PRECONNECTED","head","preconnectLinksHref","Array","link","allApplications","frontEndApplications","screenName","path","isWebComponent","timeout","iterationPerSecond","onIteration","onCompleted","steps","speed","start","instance","diff","user","result","obj","event","objectStore","authCode","location","processId","stepId","appId","instanceId","WrappedComponent","CommonEventComponent","Component","child","style","withContext","context","userInfo","kuika","propertyName","DoubleClickEditElement","createRef","FrameMessageSender","inputStyles","shouldSave","withForm","form","withGoogleLogin","history","useHistory","KNavigator","onSuccess","authWithGoogleResponse","jwt","atob","googleLogin","useGoogleLogin","nonOAuthError","kNavigator","type","screenInputData","ScreenInputHelper","inputName","x","withScreenInput","screenInputsByQueryString","screenInputsByProp","screenInputsByState","QueryStringify","KComponentFunctions","element","STRIPE_SETTINGS","BASE_64_REGEX","DEFAULT_IMAGE","KuikaHelper","paramName","val","forOnlyInfo","port","difference","sslPort","Number","origin","baseUrl","kuikaUrls","re","RegExp","isDesignTime","inputString","requestPath","vars","httpMethod","ex","masterScreenName","hasMaster","body","headerHeight","footerHeight","header","footer","layout_header","layout_footer","masterRootDI","parseFloat","headerStyles","headerPaddingTop","headerPaddingBottom","footerStyles","footerPaddingTop","footerPaddingBottom","layout_right","layout_left","layout_left_rect","layout_right_rect","layout_footer_rect","isChildOfMasterRootDI","isHeaderExistInMasterDI","isFooterExistInMasterDI","leftAndRightLayoutsWidth","parentModal","modalComputedStyle","modalHeight","modalPadding","topValue","currentElement","bodyPaddingTop","heightNum","heightStr","paddingValues","currentPadding","getComputedStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","validationsErrorsToRemove","validationsErrorsToShow","hasValidationError","hash","msg","store","ignoredWarnings","originalConsoleWarns","args","ignoredErrors","originalConsoleErrors","prefix","chars","i","hasNext","char","kuikablockstyle","componentname","childClassName","imageInputs","kFormItemParent","imageInput","node","images","image","styles","isInline","justify","isRelativeUrl","str","warnLandscape","openAs","bytes","length","out","fileName","FileSaver","dataUrl","fetch","mimeType","guid","width","height","imageFit","extension","mimeTypeMappings","isExtensionValid","isFilenameValid","getDictionaryValueByKey","dictionary","p","ServerFilesService","fileId","IyzicoService","dto","LanguageService","NotificationService","payload","StripeService","CryptoJSHelper","salt","CryptoJS","iv","raw","encrypted","TOKEN","USER","enteredPassword","targetTypeName","date","moment","utcOffset","_screen","username","password","firstName","lastName","confirmEmail","dontSendEmail","phoneNumber","verificationCode","loginStatus","OTP_SECRET_KEY","otp","newPassword","encyriptedUserName","encyriptedPassword","isEncrypted","loginFunction","verificationStatus","newpassword","credientials","roleName","_val","yearsToAdd","d","daysToAdd","minutesToAdd","hoursToAdd","date1","date2","varName","actionName","pkFieldName","targetField","selectBoxOptionsProp","currentTableRef","parentTableId","parentTableRef","dataSourcePath","dataSourcePathValue","nestedTableRowIdx","index","formVal","val1","val2","returnValue","vi","Boolean","dateFormat","dateFormats","prop","StepKey","stepInfo","navigationScreenInputs","screenInputsQuery","querystringify","pathLastSlash","originWithExtras","newPath","stepdata","diId","bag","scope","messageBody","screenId","roleStartingScreenIdList","userRoles","role","startingScreenName","_callback","fromScreen","toScreen","_toUrl","navigationKuikaId","_title","_placement","_closable","_width","_height","executePageInitActionsAfterClose","hasHistory","parentWindow","antDrawerWrapperBody","antModal","antModalClose","antDrawerClose","position","duration","backgroundColor","textColor","fontSize","customStyle","listener","input","files","resultObj","comp","_reject","myInterval","base64","base64WithoutPrefix","printJS","address","geocoder","google","lat","lng","latitude","longitude","city","country","r","address_components","j","coordinates","navigator","stateName","isVisible","_arg","isEnabled","roleIds","number","redirectOnMobileValue","urlParams","encodeURIComponent","componentName","multipleValuePropName","_pk","refText","currentpassword","_value2","isNaN","_val2","_x","absoluteUrl","_languages","defaultLanguage","retVal","mlFromLocalStorage","tmp","culture","currentML","languages","languageList","actionId","defaultValue","lastUnderscoreIndex","stringWithoutLastUnderscore","selectedLanguage","item","fixedValues","phrase","retValue","p1","p2","_p3","_p4","elem","mlKey","ar_EG","cs_CZ","da_DK","de_DE","en_US","en_GB","fr_FR","it_IT","nl_NL","tr_TR","es_ES","currentUserName","newUserName","startingScreenId","targetComponent","quality","orientation","Resolution","blobValue","generatePDF","elemenetId","elementId","element2","File","_username","_no","_no2","_no3","_notificationId","title","extraData","p3","amount","currency","description","paymentIntent","cllbck","applicationFee","destination","captureMethod","paymentType","supportedPaymentTypes","endPoint","reason","paymentmethod","stripeCustomerId","paymenttype","feeamount","secretKey","connectedAccount","stripePaymentDto","name","phone","printerName","pdfBase64","pageW","pageH","totalHeight","stickyPaper","onePage","pdfList","qz","KEYUTIL","KJUR","stob64","hextorstr","privateKey","toSign","pk","sig","hex","base64string","printData","QRCode","roles","surname","mobile","workPhone","homePhone","_gender","photo","nickname","note","organization","workUrl","homeUrl","vCard","VCard","gender","objectUrl","seed","value2","startingIndex","inputVal","pricingPlanReferenceCode","identityNumber","zipCode","parameters","linkString","lastIndex","escapedString","stringifiedMacro","json","openExternal","$el","isExtensionLoaded","$root","CustomEvent","confirm","previousUser","interval","XMLHttpRequest","secret","algorithm","OTP_ALGORITHM","TOTP","OTP_PERIOD","OTP_DIGITS","usrName","authenticationType","configJSON","refTable","screenTable","value1","fileid","client","topic","qos","retain","subscribeAction","clientName","mqttClientId","datasourceId","mappedColumnsJson","mappedColumns"],"mappings":"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"}