{"version":3,"sources":["local.tsx","i18n.tsx","api/index.tsx","utils/index.tsx","components/overdueform/index.tsx","components/ErrorModal/ErrorModal.tsx","components/overduetable/index.tsx","components/overduebills/index.tsx","App.tsx","reportWebVitals.ts","components/errorboundry/index.tsx","index.tsx"],"names":["win","window","location","href","includes","document","documentElement","lang","localhostSettings","resources","en","translation","translationEN","ar","translationAR","lng","i18n","use","XHR","initReactI18next","init","fallbackLng","debug","keySeparator","interpolation","escapeValue","react","useSuspense","counter","apiBaseURL","token","reGenerateTokenUrl","serverURL","errorPage","config","api","baseURL","headers","Accept","Authorization","axios","create","simpleApi","reGenerateToken","console","log","Promise","resolve","reject","fetch","method","then","res","text","result","catch","err","defaults","validateStatus","interceptors","request","a","conf","response","data","code","oldRequest","error","getIdTypes","get","Date","getTime","Utils","lastDigitChecksumForId","digits","length","bits","total","i","v","parseInt","j","MR","idCheckSum","custId","substring","MySelf","formRef","React","createRef","validateId","_","value","t","props","idTypeField","current","getFieldInstance","idType","toLowerCase","startsWith","Error","OverDueForm","submitForm","form","state","loading","buttonDisabled","categories","catDataText","this","setState","Object","values","id_types","changedFields","allFields","buttonDisable","forEach","field","formField","name","fieldPh","placeholder","errors","size","spinning","formModal","title","titleClass","subTitle","subTitleClass","id","captcha","captchaKey","changeFields","formChangeFields","rows","rowClass","cols","label","type","maxLength","colClass","itemName","colItemRules","required","message","pattern","validator","tip","tipClass","buttonClass","buttonText","disabled","buttonAction","Component","withTranslation","ErrorModal","Myself","firstButtonText","description","modalFirstButtonClick","secButtonText","modalSecondButtonClick","useEffect","body","style","overflow","className","onClick","OverDueTable","tableData","showError","num","test","fetchOverDueBills","idNumber","newData","isDiscount","status","item","isNumeric","discount","newItem","serviceAccountNumber","msisdnMasked","msisdn","activationDate","dueAmount","dueAfterDiscount","discountExpDate","duePaymentStatusDesc","duePaymentStatus","push","newItem1","ids","keys","getFieldsValue","innerCol","getFieldValue","row","find","undefined","modifiedId","updateData","showBackButton","backButtonAction","previousPage","nullValue","dispalyCols","dispalyColsClass","postfixValues","postfix","ignoredValues","disableOn","noDataMsg","noDataMsgClass","firstCol","idCol","colItemClass","visible","overDueUrl","OverDueBills","nextPage","page","submitOverDueForm","contactNumber","isError","errorMsg","bind","paramName","search","URLSearchParams","selectedRows","accountInfo","amount","parseFloat","toFixed","acctInfo","accountNumber","accountType","serviceInfo","serviceType","serviceValue","jsonOrder","netAmount","vatAmount","san","totalAmount","paymentCategory","feedbackUrl","autoRedirect","consumerInfo","fullfilment","fullfilmentInfo","language","post","initiatePayment","responseCode","sessionStorage","overDuePayTransId","paymentTransactionId","overDueTotal","paymentUrl","responseMessage","arabicDetail","englishDetail","submitOverDueTable","App","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ErrorBoundary","hasError","info","children","docDir","thanksUrl","pStatus","ReactDOM","render","direction","getElementById"],"mappings":"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","file":"static/js/main.0592b46f.chunk.js","sourcesContent":["class localhostSettings {}\r\n\r\nconst win: any = window;\r\nif (window.location.href.includes(\"localhost\")) {\r\n win[\"lang\"] = \"en\";\r\n //win[\"lang\"] = \"ar\";\r\n //document.documentElement.dir = \"rtl\";\r\n document.documentElement.lang = win[\"lang\"];\r\n win[\"base_api_url\"] = \"https://apisit.mobily.com.sa/api\";\r\n if (!win[\"clientToken\"]) {\r\n win[\"clientToken\"] = \"df294218-92ae-4bfa-b7a7-342d4cdd0a82\";\r\n }\r\n win[\"CEM_KEY\"] = \"liCENcCCGpHUsEPHNhySYGXCnmhwzZ\";\r\n //win[\"storeServerURL\"] = \"http://sdea004:8080\";\r\n win[\"regenerate_url\"] =\r\n \"/wps/portal/web/personal/store/cartmgmt/!ut/p/z1/jZDNDoIwEISfxSfo9oe211IQkBooBMVeDAdjMIoejM8vIerBCLK3Tb6Z3RnkUI1c1zzaY3Nvr11z7ved43uuPBJRwDlQA2DN0gsTYShEAm0HIMGpjleM5BkUFGzMfKZ1RmhCkJuj5zYIIe0ByUGCrYz25VpgUGKeHkZGwX-9G5BPAlmooEdgY0sT4LAUL2DsRUK-HX50MOmg3icmUpSHDt0uVVVDm5yYWjwBkQFJJA!!/dz/d5/L2dBISEvZ0FBIS9nQSEh/p0/IZ7_6A52G301P02H10QT8H4TPI0052=CZ6_6A52G301P03L00QLF5EI7L30G7=NJreGenerateToken=/\";\r\n win[\"errorPageURL\"] =\r\n \"/wps/portal/web/personal/store/error?errorSource=Store\";\r\n}\r\n\r\nexport default localhostSettings;\r\n","import i18n from \"i18next\";\r\nimport { initReactI18next } from \"react-i18next\";\r\nimport XHR from \"i18next-xhr-backend\";\r\nimport translationEN from \"./translations/en.json\";\r\nimport translationAR from \"./translations/ar.json\";\r\n\r\nconst win: any = window;\r\n//win[\"lang\"]=\"en\";\r\n//document.documentElement.lang = win[\"lang\"];\r\n//document.documentElement.dir = \"rtl\";\r\n\r\n// the translations\r\nconst resources = {\r\n en: {\r\n translation: translationEN,\r\n },\r\n ar: {\r\n translation: translationAR,\r\n },\r\n};\r\n\r\nlet lng: string | undefined = win[\"lang\"] == null ? \"en\" : win[\"lang\"];\r\n\r\ni18n\r\n .use(XHR)\r\n .use(initReactI18next)\r\n .init({\r\n resources,\r\n fallbackLng: \"en\",\r\n lng,\r\n debug: false,\r\n keySeparator: false,\r\n interpolation: {\r\n escapeValue: false,\r\n },\r\n // backend: {\r\n // loadPath: './translations/{{lng}}.json',\r\n // //loadPath: window.location.href.includes(\"localhost\") ? '/translations/{{lng}}.json' : \"/.store.cartmgmt/react-app/build/translations/{{lng}}.json\",\r\n // allowMultiLoading: true,\r\n // },\r\n react: {\r\n useSuspense: true,\r\n },\r\n });\r\n\r\nexport default i18n;\r\n","import axios from \"axios\";\r\n\r\nvar counter = 0;\r\nconst win: any = window;\r\nconst lang = win[\"lang\"];\r\nconst apiBaseURL = win[\"base_api_url\"];\r\nvar token = win[\"clientToken\"];\r\nvar reGenerateTokenUrl = win[\"regenerate_url\"];\r\nvar serverURL = win[\"base_portal_url\"];\r\nvar errorPage = win[\"errorPageURL\"];\r\n\r\nlet config = {\r\n api: {\r\n baseURL: apiBaseURL,\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"\",\r\n \"cem-key\": win[\"CEM_KEY\"],\r\n },\r\n },\r\n};\r\n\r\nexport const api = axios.create({ ...config.api });\r\nexport const simpleApi = axios.create();\r\n\r\napi.defaults.validateStatus = function () {\r\n return true;\r\n};\r\n\r\napi.interceptors.request.use(\r\n async (conf: any) => {\r\n console.log(\"token : \" + token);\r\n conf.headers.Authorization = \"Bearer \" + token;\r\n conf.headers[\"cem-key\"] = win[\"CEM_KEY\"];\r\n //conf.headers.Authorization = \"Basic Y2tfMjRlMjgwMWNhZjdiODM2ZWY2NDg4MzBlODI5NjYyMmMxMWQ0ZDNkMjpjc18yMDg2ZWQ0YjdlNmFkY2QyMDVhMzRiM2Q5MjhmN2Q5MDBiMjMzNTA0\";\r\n return conf;\r\n },\r\n (err) => {\r\n console.log(\"error in getting \", err);\r\n }\r\n);\r\n\r\napi.interceptors.response.use(\r\n async (response: any) => {\r\n if (\r\n (response.data.code && response.data.code === \"APIGEE-001\") ||\r\n (response.data.code && response.data.code === \"APIGEE-002\")\r\n ) {\r\n counter++;\r\n token = await reGenerateToken();\r\n\r\n const { config: oldRequest } = response;\r\n if (counter < 2) return api.request({ ...oldRequest });\r\n }\r\n\r\n return response;\r\n },\r\n async (error: any) => {\r\n if (!!errorPage) {\r\n document.location.href = errorPage;\r\n } else {\r\n document.location.href = \"/wps/portal/web/personal/store/error\";\r\n }\r\n return error;\r\n }\r\n);\r\n\r\nfunction reGenerateToken() {\r\n console.log(\"reGenerateToken :: Enter\");\r\n console.log(\"reGenerateTokenUrl => \" + serverURL + \"\" + reGenerateTokenUrl);\r\n\r\n return new Promise((resolve, reject) => {\r\n fetch(serverURL + \"\" + reGenerateTokenUrl, {\r\n method: \"GET\",\r\n headers: {\r\n \"Content-type\": \"text/html; charset=UTF-8\",\r\n \"cem-key\": win[\"CEM_KEY\"],\r\n },\r\n })\r\n .then((res) => res.text())\r\n\r\n .then((result) => {\r\n //console.log(\"Token res -> \"+result);\r\n resolve(result);\r\n })\r\n .catch((err) => {\r\n //console.log(err);\r\n reject(err);\r\n });\r\n });\r\n}\r\n\r\nconst getIdTypes = async () => {\r\n return simpleApi.get(\r\n `${apiBaseURL}/digital/v1/data/mappings?contextId=CTX_LOOKUPS&catalogKey=OD_IDTYPE&lang=${lang}×tamp=${new Date().getTime()}`,\r\n {\r\n headers:{\r\n \"cem-key\":win[\"CEM_KEY\"]\r\n }\r\n }\r\n );\r\n};\r\n\r\nconst getOverDueBills = (idType: any, idNumber: any) => {\r\n // return api.get('http://localhost:3001/getOverDueAmount');\r\n // return api.get('http://localhost:3001/getOverNoDueAmount');\r\n return api.get(\r\n `${apiBaseURL}/payment/v3/overdue?idNumber=${idNumber}&lang=${lang}×tamp=${new Date().getTime()}`,\r\n {\r\n headers:{\r\n \"cem-key\":win[\"CEM_KEY\"]\r\n }\r\n }\r\n );\r\n};\r\n\r\nconst initiatePayment = (data: any) => {\r\n return api.post(`${apiBaseURL}/payment/v1/3rd/initiatePayment`, data);\r\n};\r\n\r\nexport { getIdTypes, getOverDueBills, initiatePayment };\r\n","export default class Utils {\r\n static lastDigitChecksumForId = (digits: any) => {\r\n var ln = digits.length;\r\n\r\n if (ln !== 9) {\r\n return -1;\r\n }\r\n\r\n var bits = digits;\r\n // take each odd digit, multiply by two, and then apply formula such that\r\n // 0 1 2 3 4 5 6 7 8 9 becomes:\r\n // --> 0 2 4 6 8 1 3 5 7 9\r\n // then add to running total\r\n var total = 0;\r\n for (var i = 0; i < 9; i += 2) {\r\n var v = parseInt(bits[i]);\r\n\r\n if (v < 5) {\r\n total = total + v * 2;\r\n } else {\r\n total = total + (2 * v - 9);\r\n }\r\n }\r\n // now add the even digits to this total\r\n for (var j = 1; j < 9; j += 2) {\r\n var w = parseInt(bits[j]);\r\n total = total + w;\r\n }\r\n // now take the ones digit of this total, called the MR digit...\r\n var MR = total % 10;\r\n\r\n // ...and return the last digit as:\r\n if (MR === 0) {\r\n return 0;\r\n } else {\r\n return 10 - MR;\r\n }\r\n };\r\n\r\n static idCheckSum = (custId: any) => {\r\n var lastDigit = 0;\r\n var lastDigitChks = 0;\r\n lastDigit = parseInt(custId[9]);\r\n\r\n lastDigitChks = Utils.lastDigitChecksumForId(custId.substring(0, 9));\r\n\r\n if (lastDigit !== lastDigitChks) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport { MobilyForm } from \"mobilyform/lib\";\r\nimport { Spin } from \"antd\";\r\nimport { getIdTypes } from \"../../api\";\r\nimport Utils from \"./../../utils\";\r\nconst win: any = window;\r\n\r\nvar MySelf: OverDueForm;\r\nvar formRef: any = React.createRef();\r\n\r\nconst validateId = (_: any, value: any) => {\r\n const { t } = MySelf.props;\r\n var idTypeField = formRef.current.current.getFieldInstance(\"idtype\");\r\n var idType: any = idTypeField ? idTypeField.props.value : null;\r\n\r\n if (\r\n !idTypeField ||\r\n !value ||\r\n !idType ||\r\n (value && value.length !== 10) ||\r\n (idType &&\r\n idType.toLowerCase().includes(\"iqama\") &&\r\n value.startsWith(\"2\") &&\r\n Utils.idCheckSum(value)) ||\r\n (idType &&\r\n idType.toLowerCase().includes(\"national\") &&\r\n value.startsWith(\"1\") &&\r\n Utils.idCheckSum(value))\r\n ) {\r\n return Promise.resolve();\r\n }\r\n\r\n return Promise.reject(new Error(t(\"idnumber_missing\")));\r\n};\r\n\r\nclass OverDueForm extends Component {\r\n constructor(props: any) {\r\n super(props);\r\n MySelf = this;\r\n this.state = {\r\n loading: true,\r\n buttonDisabled: true,\r\n categories: [],\r\n catDataText: \"english_name\",\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n getIdTypes().then((response: any) => {\r\n if (response && response.data) {\r\n this.setState({\r\n categories: Object.values(response.data.data.id_types),\r\n loading: false,\r\n catDataText: win[\"lang\"] === \"en\" ? \"id_type_en\" : \"id_type_ar\",\r\n });\r\n }\r\n });\r\n }\r\n\r\n submitForm = (form: any) => {\r\n this.props.submitForm(form);\r\n };\r\n\r\n formChangeFields(changedFields: any, allFields: any) {\r\n var buttonDisable = false;\r\n\r\n allFields.forEach((field: any) => {\r\n var formField = formRef.current.current.getFieldInstance(field.name);\r\n var fieldPh = \"\";\r\n if (formField && formField.props && formField.props.placeholder) {\r\n fieldPh = formField.props.placeholder;\r\n }\r\n\r\n if (!field.name[0].toLowerCase().includes(\"button\")) {\r\n if (\r\n (fieldPh.includes(\"*\") &&\r\n (!field.value || field.value.length === 0)) ||\r\n (field.errors && field.errors.length > 0)\r\n ) {\r\n buttonDisable = true;\r\n }\r\n }\r\n });\r\n\r\n MySelf.setState({\r\n buttonDisabled: buttonDisable,\r\n });\r\n }\r\n\r\n render() {\r\n const { t } = this.props;\r\n\r\n if (!this.state.categories || this.state.categories.length === 0) {\r\n return ;\r\n }\r\n\r\n var formModal = {\r\n name: \"getInfoForm\",\r\n title: t(\"overdueFirstTitle\"),\r\n titleClass: \"\",\r\n subTitle: t(\"overdueFirstSubTitle\"),\r\n subTitleClass: \"mb-5\",\r\n id: \"getInfoForm\",\r\n captcha: true,\r\n captchaKey: \"6LeDEBAaAAAAALpUmENFbnG_Kc-cN0H_Gch4BpRf\",\r\n //formClass: \"col-12\",\r\n changeFields: this.formChangeFields,\r\n rows: [\r\n {\r\n rowClass: \"row\",\r\n cols: [\r\n {\r\n label: t(\"idnumber\"),\r\n type: \"text\",\r\n maxLength: 255,\r\n colClass: \"col-md-4 col-sm-4\",\r\n itemName: \"idnumber\",\r\n colItemRules: [\r\n { required: true, message: t(\"idnumber_missing\") },\r\n {\r\n message: t(\"idnumber_missing\"),\r\n pattern: /^(1|2)([0-9]{9})$/,\r\n },\r\n { validator: validateId },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n rowClass: \"row\",\r\n cols: [\r\n {\r\n label: t(\"contactnumber\"),\r\n type: \"text\",\r\n maxLength: 255,\r\n tip: t(\"contacttip\"),\r\n tipClass: \"\",\r\n colClass: \"col-md-4 col-sm-4\",\r\n itemName: \"contactnumber\",\r\n colItemRules: [\r\n { required: true, message: t(\"contactnumber_missing\") },\r\n {\r\n message: t(\"contactnumber_format_missing\"),\r\n pattern: /^(((9665)(5|0|3|6|4|9|1|8|7)([0-9]{7}))||((05)(5|0|3|6|4|9|1|8|7)([0-9]{7})))$/,\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n rowClass: \"row pt-4\",\r\n cols: [\r\n {\r\n buttonClass: \"w-100 text-uppercase\",\r\n buttonText: t(\"submit\"),\r\n colClass: \"col-md-4 col-sm-4 col-8\",\r\n itemName: \"submitbutton\",\r\n type: \"button\",\r\n disabled: this.state.buttonDisabled,\r\n buttonAction: this.submitForm,\r\n },\r\n ],\r\n },\r\n ],\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withTranslation()(OverDueForm);\r\n","import { useEffect } from 'react';\r\nimport './ErrorModal.scss';\r\ninterface Props {\r\n id: string;\r\n title: string;\r\n description: string;\r\n firstButtonText: string;\r\n secButtonText?: string;\r\n modalFirstButtonClick: () => void;\r\n modalSecondButtonClick?: () => void;\r\n}\r\n\r\nfunction ErrorModal({ id, title, description, firstButtonText, secButtonText, modalFirstButtonClick, modalSecondButtonClick }: Props) {\r\n\r\n useEffect(() => {\r\n document.body.style.overflow = 'hidden';\r\n }, []);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

{title}

\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ErrorModal;","import { Component } from \"react\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport { MobilyForm } from \"mobilyform/lib\";\r\nimport { Spin } from \"antd\";\r\nimport { getOverDueBills } from \"../../api\";\r\n// import { message } from \"antd\";\r\nimport ErrorModal from '../ErrorModal/ErrorModal';\r\nconst win: any = window;\r\nvar errorPage = win[\"errorPageURL\"];\r\nvar MySelf: OverDueTable;\r\n\r\nclass OverDueTable extends Component {\r\n constructor(props: any) {\r\n super(props);\r\n MySelf = this;\r\n this.state = {\r\n loading: true,\r\n buttonDisabled: true,\r\n data: [],\r\n tableData: [],\r\n showError: false,\r\n };\r\n }\r\n\r\n isNumeric(num: any) {\r\n return /^-?\\d+|\\d+\\.\\d+$/.test(num);\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n this.fetchOverDueBills();\r\n }\r\n\r\n fetchOverDueBills() {\r\n getOverDueBills(this.props.idType, this.props.idNumber)\r\n .then((response: any) => {\r\n const { t } = MySelf.props;\r\n\r\n if (response && response.data) {\r\n var newData: any = [];\r\n var isDiscount: boolean = false;\r\n\r\n if (response.status === 500) {\r\n this.setState({\r\n showError: true,\r\n loading: false\r\n });\r\n return;\r\n }\r\n\r\n if (response.status === 200) {\r\n if (response.data.status.code === 'MAPI-000' && response.data?.data?.length > 0 && response.data.data !== null) {\r\n //check if any item has discount\r\n response.data.data.forEach((item: any) => {\r\n if (MySelf.isNumeric(item.discount)) {\r\n isDiscount = true;\r\n }\r\n });\r\n\r\n response.data.data.forEach((item: any) => {\r\n if (isDiscount) {\r\n var newItem = {\r\n serviceAccountNumber: item.serviceAccountNumber,\r\n msisdnMasked:\r\n item.msisdn && item.msisdn.length > 0\r\n ? item.msisdnMasked\r\n : item.serviceAccountNumber,\r\n activationDate: item.activationDate,\r\n dueAmount: item.dueAmount,\r\n discount: item.discount,\r\n dueAfterDiscount: item.dueAfterDiscount,\r\n discountExpDate: item.discountExpDate,\r\n duePaymentStatusDesc: t(\"paymentStatus\" + item.duePaymentStatus),\r\n duePaymentStatus: item.duePaymentStatus,\r\n };\r\n newData.push(newItem);\r\n } else {\r\n var newItem1 = {\r\n serviceAccountNumber: item.serviceAccountNumber,\r\n msisdnMasked:\r\n item.msisdn && item.msisdn.length > 0\r\n ? item.msisdnMasked\r\n : item.serviceAccountNumber,\r\n activationDate: item.activationDate,\r\n dueAmount: item.dueAmount,\r\n };\r\n\r\n newData.push(newItem1);\r\n }\r\n });\r\n\r\n this.setState({\r\n loading: false,\r\n data: response.data.data,\r\n tableData: newData,\r\n showError: false\r\n });\r\n } else {\r\n this.setState({\r\n loading: false,\r\n showError: true,\r\n });\r\n return;\r\n }\r\n }\r\n \r\n if (!response.data.data) {\r\n document.location.href = errorPage;\r\n return;\r\n }\r\n }\r\n }).catch((error: any) => {\r\n this.setState({\r\n showError: true,\r\n loading: false\r\n });\r\n });\r\n }\r\n\r\n submitForm(form: any) {\r\n var ids: any = [];\r\n Object.keys(form.getFieldsValue()).forEach((innerCol: any, j: any) => {\r\n if (form.getFieldValue(innerCol)) {\r\n var row = MySelf.state.data.find(\r\n (item: any) =>\r\n item.serviceAccountNumber === form.getFieldValue(innerCol)[0]\r\n );\r\n if (row !== undefined) {\r\n ids.push(row);\r\n }\r\n }\r\n });\r\n MySelf.props.submitForm(ids);\r\n }\r\n\r\n updateInputValue(value: any, modifiedId: any) {\r\n var row = MySelf.state.updateData.find(\r\n (item: any) =>\r\n item.serviceAccountNumber === modifiedId\r\n );\r\n row[\"dueAmount\"] = value;\r\n var row1 = MySelf.state.updateData.find(\r\n (item: any) =>\r\n item.serviceAccountNumber === modifiedId\r\n );\r\n }\r\n\r\n formChangeFields(changedFields: any, allFields: any) {\r\n var buttonDisable = true;\r\n allFields.forEach((field: any) => {\r\n if (field.value && field.value.length > 0) {\r\n buttonDisable = false;\r\n }\r\n });\r\n\r\n MySelf.setState({\r\n buttonDisabled: buttonDisable,\r\n });\r\n }\r\n\r\n render() {\r\n const { t } = this.props;\r\n\r\n if (this.state.loading) {\r\n return ;\r\n }\r\n\r\n const formModal = {\r\n name: \"overDueBillsTableForm\",\r\n title: t(\"overdueFirstTitle\"),\r\n titleClass: \"\",\r\n subTitle: t(\"overdueSecondSubTitle\"),\r\n // subTitleClass: \"mb-5\",\r\n id: \"overDueBillsTableForm\",\r\n //formClass: \"container\",\r\n showBackButton: true,\r\n backButtonAction: this.props.previousPage,\r\n changeFields: this.formChangeFields,\r\n rows: [\r\n {\r\n rowClass: \"w-100\",\r\n cols: [\r\n {\r\n label: \"\",\r\n itemName: \"dataTable\",\r\n type: \"table\",\r\n nullValue: \"\",\r\n dispalyCols: [\r\n \"msisdnMasked\",\r\n \"activationDate\",\r\n \"dueAmount\",\r\n \"discount\",\r\n \"dueAfterDiscount\",\r\n \"discountExpDate\",\r\n \"duePaymentStatusDesc\",\r\n ],\r\n dispalyColsClass: [\r\n \"col-md-1 col-sm-6\",\r\n \"col-md-2 col-sm-6\",\r\n \"col-md-2 col-sm-6\",\r\n \"col-md-2 col-sm-6\",\r\n \"col-md-2 col-sm-6\",\r\n \"col-md-2 col-sm-6\",\r\n \"col-md-2 col-sm-6\",\r\n \"col-md-2 col-sm-6\",\r\n ],\r\n postfixValues: [\r\n { name: \"dueAmount\", postfix: \"SAR\", ignoredValues: [\"N/A\"] },\r\n {\r\n name: \"dueAfterDiscount\",\r\n postfix: \"SAR\",\r\n ignoredValues: [\"N/A\"],\r\n },\r\n { name: \"discount\", postfix: \"%\", ignoredValues: [\"N/A\"] },\r\n ],\r\n disableOn: { name: \"duePaymentStatus\", values: [\"6\"] },\r\n noDataMsg: t(\"noDataFound\"),\r\n noDataMsgClass: \"formLabel\",\r\n //colClass: \"col-md-auto\",\r\n firstCol: \"checkbox\",\r\n idCol: \"serviceAccountNumber\",\r\n data: this.state.tableData,\r\n },\r\n ],\r\n },\r\n {\r\n rowClass: \"row\",\r\n cols: [\r\n {\r\n colClass: \"col-md-6 col-sm-6\",\r\n colItemClass: \"formLabel\",\r\n text: t(\"billsTableNote\"),\r\n type: \"label\",\r\n visible: this.state.data.length > 0,\r\n },\r\n ],\r\n },\r\n {\r\n rowClass: \"row\",\r\n cols: [\r\n {\r\n colClass: \"col-md-6 col-sm-6\",\r\n colItemClass: \"formLabel\",\r\n text: t(\"billsTableNote2\"),\r\n type: \"label\",\r\n visible: this.state.data.length > 0,\r\n },\r\n ],\r\n },\r\n {\r\n rowClass: \"row\",\r\n cols: [\r\n {\r\n buttonClass: \"w-100 text-uppercase\",\r\n buttonText: t(\"next\"),\r\n colClass: \"col-md-4 col-sm-4\",\r\n itemName: \"submitbutton\",\r\n type: \"button\",\r\n disabled: this.state.buttonDisabled,\r\n buttonAction: this.submitForm,\r\n },\r\n ],\r\n },\r\n ],\r\n };\r\n\r\n const handleGetclick = () => {\r\n this.setState({\r\n showError: false,\r\n loading: false\r\n });\r\n this.props.previousPage()\r\n }\r\n\r\n return (\r\n
\r\n \r\n {this.state.showError && (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withTranslation()(OverDueTable);","import { Component } from \"react\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport OverDueForm from \"./../overdueform\";\r\nimport OverDueTable from \"./../overduetable\";\r\nimport { initiatePayment } from \"../../api\";\r\nimport { message } from \"antd\";\r\n\r\nconst win: any = window;\r\nconst lang = win[\"lang\"];\r\nvar serverURL = win[\"base_portal_url\"];\r\nvar overDueUrl = win[\"overDueUrl\"]\r\n ? serverURL + win[\"overDueUrl\"]\r\n : serverURL + \"/wps/portal/web/personal/previous-overdue-bills\";\r\n\r\nvar Myself: OverDueBills;\r\n\r\nclass OverDueBills extends Component {\r\n constructor(props: any) {\r\n super(props);\r\n Myself = this;\r\n this.state = {\r\n loading: true,\r\n page: 1,\r\n isError: false,\r\n errorMsg: \"\",\r\n };\r\n\r\n this.nextPage = this.nextPage.bind(this);\r\n this.previousPage = this.previousPage.bind(this);\r\n }\r\n\r\n nextPage = () => {\r\n this.setState({ page: this.state.page + 1 });\r\n };\r\n\r\n previousPage = () => {\r\n this.setState({ page: this.state.page - 1 });\r\n };\r\n\r\n getParameter(paramName: any) {\r\n const search = window.location.search;\r\n const params = new URLSearchParams(search);\r\n\r\n return params.get(paramName);\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({\r\n loading: false,\r\n });\r\n }\r\n\r\n submitOverDueForm = (form: any) => {\r\n var idType = form.getFieldValue(\"idtype\");\r\n var idNumber = form.getFieldValue(\"idnumber\");\r\n var contactNumber = form.getFieldValue(\"contactnumber\");\r\n this.setState({\r\n isError: false,\r\n errorMsg: \"\",\r\n loading: false,\r\n idType: idType,\r\n idNumber: idNumber,\r\n contactNumber: contactNumber,\r\n });\r\n this.nextPage();\r\n };\r\n\r\n isNumeric(num: any) {\r\n return /^-?\\d+|\\d+\\.\\d+$/.test(num);\r\n }\r\n\r\n submitOverDueTable(selectedRows: any) {\r\n Myself.setState({\r\n isError: false,\r\n errorMsg: \"\",\r\n loading: true,\r\n });\r\n console.log(selectedRows);\r\n var total: any = 0;\r\n var accountInfo: any = [];\r\n\r\n selectedRows.forEach((row: any) => {\r\n var amount;\r\n if (row.dueAfterDiscount && Myself.isNumeric(row.dueAfterDiscount)) {\r\n amount = row.dueAfterDiscount;\r\n } else {\r\n amount = row.dueAmount;\r\n }\r\n\r\n total += parseFloat(amount);\r\n });\r\n\t total = total.toFixed(2);\r\n selectedRows.forEach((row: any) => {\r\n var amount;\r\n if (row.dueAfterDiscount && Myself.isNumeric(row.dueAfterDiscount)) {\r\n amount = row.dueAfterDiscount;\r\n } else {\r\n amount = row.dueAmount;\r\n }\r\n console.log(amount);\r\n var acctInfo = {\r\n accountNumber:\r\n row.msisdn && row.msisdn.length > 0\r\n ? row.msisdn\r\n : row.serviceAccountNumber,\r\n accountType: row.msisdn && row.msisdn.length > 0 ? \"MSISDN\" : \"SAN\",\r\n serviceInfo: {\r\n serviceType: \"DUE_AMNT\",\r\n serviceValue: \"\",\r\n jsonOrder:\r\n '{\"OrderHeader\" : {\"OrderType\" : \"PAY_OVERDUE_AMOUNT_ORDER\",\"OrderTransactionId\": \"overdue4_' +\r\n +new Date() +\r\n '\",\"DestinationFuncId\": \"CUSTOMER_NOTIFICATION\"},\"OrderBody\":{ \"CustomerOrder\": {\"totalPaymentAmount\": \"' +\r\n total +\r\n '\",\"serviceNumber\": \"' +\r\n Myself.state.contactNumber +\r\n '\"}}}',\r\n amount: amount,\r\n netAmount: amount,\r\n vatAmount: \"0\",\r\n },\r\n san: row.serviceAccountNumber,\r\n };\r\n\r\n accountInfo.push(acctInfo);\r\n });\r\n\r\n var data = {\r\n totalAmount: total,\r\n paymentCategory: \"Consumer\",\r\n accountNumber: \"guest\",\r\n accountType: \"MSISDN\",\r\n feedbackUrl: overDueUrl,\r\n autoRedirect: true,\r\n consumerInfo: {\r\n fullfilment: \"DUE_AMNT\",\r\n fullfilmentInfo: {\r\n accountInfo: accountInfo,\r\n },\r\n },\r\n language:lang\r\n };\r\n\r\n console.log(data);\r\n\r\n initiatePayment(data).then((response: any) => {\r\n console.log(response);\r\n if (\r\n response &&\r\n response.data.data &&\r\n response.data.data.responseCode === \"0000\"\r\n ) {\r\n window.sessionStorage.overDuePayTransId =\r\n response.data.data.paymentTransactionId;\r\n window.sessionStorage.overDueTotal = total;\r\n window.location = response.data.data.paymentUrl;\r\n return;\r\n } else {\r\n if (response.data.data) {\r\n Myself.setState({\r\n isError: true,\r\n errorMsg: response.data.data.responseMessage,\r\n loading: false,\r\n });\r\n } else if (response.data.message) {\r\n Myself.setState({\r\n isError: true,\r\n errorMsg: response.data.message,\r\n loading: false,\r\n });\r\n } else if (response.data.status) {\r\n Myself.setState({\r\n isError: true,\r\n errorMsg:\r\n lang === \"ar\"\r\n ? response.data.status.arabicDetail\r\n : response.data.status.englishDetail,\r\n loading: false,\r\n });\r\n } else {\r\n Myself.setState({\r\n isError: true,\r\n errorMsg:\r\n lang === \"ar\"\r\n ? \"همم...صار خطأ في العملية.\"\r\n : \"Hmm...Something went wrong.\",\r\n loading: false,\r\n });\r\n }\r\n\r\n message.error(Myself.state.errorMsg);\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n const { page } = this.state;\r\n return (\r\n
\r\n {page === 1 && (\r\n \r\n )}\r\n {page === 2 && (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withTranslation()(OverDueBills);","import \"./local\";\r\nimport \"./i18n\";\r\nimport React from \"react\";\r\nimport \"./App.css\";\r\nimport OverDueBills from \"./components/overduebills\";\r\n\r\nfunction App() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default App;\r\n","import { ReportHandler } from \"web-vitals\";\r\n\r\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import(\"web-vitals\").then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import React, { Component } from \"react\";\r\n\r\nexport default class ErrorBoundary extends Component {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { hasError: false };\r\n }\r\n\r\n componentDidCatch(error: any, info: any) {\r\n // Display fallback UI\r\n this.setState({ hasError: true });\r\n // You can also log the error to an error reporting service\r\n //logErrorToMyService(error, info);\r\n }\r\n\r\n render() {\r\n if (this.state.hasError) {\r\n // You can render any custom fallback UI\r\n return

Something went wrong.

;\r\n }\r\n return this.props.children;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport \"./index.css\";\r\nimport App from \"./App\";\r\nimport reportWebVitals from \"./reportWebVitals\";\r\nimport ErrorBoundary from \"./components/errorboundry\";\r\nimport \"./index.scss\";\r\nimport { DirectionType } from \"antd/lib/config-provider\";\r\nimport { ConfigProvider } from \"antd\";\r\nimport './portal.css';\r\n\r\nconst win: any = window;\r\n\r\nlet docDir: DirectionType | undefined =\r\n win[\"lang\"] === null || win[\"lang\"] === \"en\" ? \"ltr\" : \"rtl\";\r\n\r\nvar thanksUrl = win[\"overdue_thanks_url\"];\r\nvar errorPage =\r\n win[\"errorPageURL\"] && win[\"errorPageURL\"] !== \"null\"\r\n ? win[\"errorPageURL\"]\r\n : \"/wps/portal/web/personal/store/error\";\r\n\r\nvar pStatus = win[\"pStatus\"];\r\n\r\nif (pStatus && pStatus != null && pStatus.toLowerCase().includes(\"success\")) {\r\n window.location = thanksUrl;\r\n} else if (\r\n pStatus &&\r\n pStatus != null &&\r\n !pStatus.toLowerCase().includes(\"success\") &&\r\n !pStatus.toLowerCase().includes(\"null\")\r\n) {\r\n window.location = errorPage;\r\n}\r\n\r\nReactDOM.render(\r\n \r\n \r\n {!pStatus ||\r\n pStatus === null ||\r\n pStatus.toLowerCase().includes(\"null\") ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n"],"sourceRoot":""}