{"version":3,"sources":["images/V_logo_v_cruises_small_2x.png","index.js","adalConfig.js","api.js","components/common/Navbar.js","components/common/topNavigation.js","components/common/OverlayLoader.js","components/common/customTooltip.js","components/pages/Dashboard.js","components/common/CheckBox.js","components/pages/TransactionHistory.js","components/pages/Refund.js","components/common/MultipleSelect.js","components/common/segmentEditor.js","components/common/segmentRenderer.js","components/pages/Exchange.js","components/pages/BatchProcess.js","components/common/CRUDButtons.js","components/common/GridDataFilter.js","components/common/DataGrid.js","components/pages/RefundWaiver.js","components/common/DetailsButtonRenderer.js","components/pages/BatchHistory.js","components/common/DeleteButtonRenderer.js","components/pages/BatchQueue.js","components/pages/BatchUpload.js","components/pages/EventMaster.js","components/pages/ExchangeWaiver.js","components/pages/CruiseExclusionMaster.js","components/pages/ErrorLog.js","components/common/Routes.js","App.js","serviceWorker.js","indexApp.js","ApiConfig.js"],"names":["module","exports","__webpack_require__","r","__webpack_exports__","_pnp_sp__WEBPACK_IMPORTED_MODULE_0__","react_adal__WEBPACK_IMPORTED_MODULE_1__","_adalConfig__WEBPACK_IMPORTED_MODULE_2__","runWithAdal","adalContext","AuthContext","GetGraphToken","GetToken","then","token","sp","setup","headers","Authorization","concat","require","adalConfig","tenant","defaultUserSetting","clientId","endpoints","api","apiUrl","cacheLocation","adalGraphConfig","authContext","AuthenticationContext","authGraphContext","AdalContext","Object","D_a_1_s_ReactApp_vikingcruise_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__","this","adalGetToken","logOut","getUserName","withAdalLogin","getCachedUser","getGraphToken","getCachedToken","getUserRoleDetails","Axios","create","baseURL","interceptors","request","use","Promise","resolve","reject","acquireToken","message","msg","App-UserId","JSON","parse","sessionStorage","getItem","alertify","error","LogOut","Navbar","props","_this","classCallCheck","possibleConstructorReturn","getPrototypeOf","call","state","getDisplayUserName","memberGroupValue","displayAdminMenu","_this2","setItem","stringify","profile","tempRequest","groupIds","adminId","post","response","console","log","memberGroupValueRes","data","value","length","setState","catch","err","react_default","a","createElement","className","react_router_dom","to","exact","activeClassName","mdbreact_esm","icon","React","Component","TopNavigation","localStorage","clear","removeItem","txtUsername","name","style","backgroundColor","dark","expand","scrolling","fixed","href","alt","src","logo","id","navbar","left","active","right","nav","caret","onClick","onLogOut","bind","OverlayLoader","Fragment","big","CustomTooltip","reactContainer","isHeader","undefined","rowIndex","isGroupedHeader","colDef","children","valueToDisplay","map","header","idx","headerName","Dashboard","nr","radio","getFromDate","txtFromDate","onGridReady","params","gridApi","gridColumnApi","columnApi","sizeColumnsToFit","onGridTransactionReady","gridTransactionApi","gridTransactionColumnApi","toggle","modalNumber","defineProperty","hideOverlay","getCurrentUserID","isLoading","isUserDataLoading","gridSummeryData","requesteduserId","displaySummeryData","isDisplayPopup","modal5","activePage","totalDataCount","displayBatchSummeryData","transactionTypeParams","TransactionStatusParams","headerNameParam","transactionBatchId","gridBatchSummeryData","columnDefs1","field","width","headerTooltip","tooltipComponent","cellClass","columnDefs2","columnDefsPopup","rowData","rowData2","rowDataPopup","frameworkComponents","customTooltip","rowSelection","rowHeight","defaultColDef","resizable","sortable","suppressMovable","getGridViewData","assertThisInitialized","txtnewFromDate","moment","format","CurrentUserID","transactionSummeryRequestJSON","FromDate","ToDate","Users","toString","batchSummeryRequestJSON","Date","UserId","API","tempSummeryData","trnSummary","toConsumableArray","totalAll","totalPassed","totalFail","totalRemoved","totalPending","forEach","p","parseInt","All","Passed","Failed","Removed","Pending","totalSummeryData","TransactionType","push","tempBatchSummeryData","batchTrnSummary","_this3","setTimeout","_this4","CurrentUserInfo","submitRequestJSON","UserName","FirstName","given_name","LastName","family_name","EmailAddress","unique_name","Id","pageNumber","showLoadingOverlay","onTransactionCellClicked","onCellClicked","arguments","transactionRequest","PageNumber","PageSize","Critera","Exchange","Refund","Total","TransactionStatus","TransactionSource","SortBy","SortOrder","getPopupDetailsData","BatchId","apiData","_this5","tempRowData","Items","TotalCount","event","preventDefault","isOpen","size","height","boxSizing","main","columnDefs","suppressRowClickSelection","enableRangeSelection","pagination","headerHeight","enableCellTextSelection","Pagination_default","itemsCountPerPage","totalItemsCount","pageRangeDisplayed","onChange","handlePageChange","_this$state","openPopupModel","md","sm","getValue","autoOk","far","checked","label","type","color","disabled","role","tableType","context","CheckBox","key","handleCheckboxChange","isChecked","TransactionHistory","getToDate","txtToDate","txtChangeHandler","target","transactionTypes","transactionType","transactionStatuses","transactionStatus","transactionSources","transactionSource","users","user","isDisabled","selectedUserListDD","resetHistoryData","displayRetriveData","txtPNR","txtEvent","txtBatch","inputEventValue","selectEventValue","userListDD","checkedItem","tableSummeryData","enableBrowserTooltips","paginationPageSize","paginationNumberFormatter","toLocaleString","transactionHistorySubmit","handleSelectInputChange","handleSelectUserChange","SearchTransactionLogExcel","TourCode","Endorsement","OSI","transactionTypesValues","filter","txtnewToDate","Pnr","EventName","Event","Batch","EventSearchOption","tempTransactionRequest","transactionRequestJson","excelBlob","Blob","csvFileurl","window","URL","createObjectURL","link","document","body","appendChild","download","click","revokeObjectURL","get","GetUserListData","userObject","_this6","index","common_CheckBox","assign","isFirstColumn","getAllDisplayedColumns","column","getWaiverCodeData","waiverData","_WaiverNamearray","airlineObject","airlineresult","groupBy","waiverboxarray","WaiverNamearray","apply","airlineObjectArray","airline","first","WaiverBoxObj","WaiverName","toUpperCase","WaiverBox","waiverbox","Airline","pnrRetriveClick","pnrInputError","pnrRetriveError","isClearDisabled","pnrDataId","pnrRetriveData","RefundTickets","uniqueCarrier","uniq","carrierApiOutpt","item","array","waiverCodeData","waiverFormatData","elmt","Penalty","pnrDataItems","ErrorMessage","onGridWaiverReady","gridWaiverApi","gridWaiverColumnApi","resetData","clearInterval","pnrRetriveTimeOut","displayStatusDisplay","chkStatusCounter","pnrDataItem","processTransactionIds","isSubmitLoading","tooltipField","editable","checkEditable","cellRenderer","statusRendererFunc","cellEditorSelector","values","component","WaiverboxNameChange","checkEditableWaiver","headerCheckboxSelection","checkboxSelection","suppressHorizontalScroll","defaultColDef2","overlayLoadingTemplate","overlayNoRowsTemplate","getRowNodeId","pnrHandleChange","pnrRetriveSubmit","toggleStatusDisplay","html","node","selected","waiverBoxObject","txtboxes","getElementsByClassName","txtosis","innerHTML","stopEditing","penalties","isErrorReceived","reg","testIsNumericPenalty","test","RefundRequests","selectedBookingIds","isSelected","Status","waiverCodeObjectArray","p1","Carrier","waiverCodeObject","BookingID","Ticket","Waiver","parseFloat","PenaltyAmount","Source","Cancel","penaltyCheck","waiverCheck","transactionIds","join","getTransactionStatus","chkStatusCounterHandle","transactionResponse","oldElmt","processPnrData","TicketNumber","updateRowData","update","tmpStatusCountChk","statusCountChk","success","i","innerText","setAttribute","which","selectedData","getSelectedRows","penaltyData","querySelectorAll","setInterval","onKeyPress","handleEnterClick","maxLength","required","suppressCellSelection","onRowSelected","enableCellChangeFlash","singleClickEdit","onCellValueChanged","stopEditingWhenGridLosesFocus","suppressCellFlash","Option","chunk_5d200a41_browser_esm","Name","Origin","Destination","MultiValue","MultipleSelect","_this$props","options","onChangeCallback","otherProps","objectWithoutProperties","react_select_browser_esm","closeMenuOnSelect","isMulti","components","filterOptions","hideSelectedOptions","backspaceRemovesValue","e","defaultProps","SegmentEditor","segmentOptionProps","ExchangeSegments","invokePopupMethod","componentParent","selectedSegmentVal","element","focus","container","ReactDOM","findDOMNode","refs","alert","selectedSegments","ref","borderRadius","border","background","padding","textAlign","display","Height","tabIndex","common_MultipleSelect","SegmentRenderer","segments","str","sort","b","substr","getSegments","exchangePnrClick","exchangeInputError","exchangePnrDataId","ExchangeTickets","ExchangeFee","rowData1","toureCodeArray","getPaxName","cellEditor","colId","rowDataSegments","columnDefsSegments","segmentRenderer","segmentEditor","exchangeHandleChange","txtEndo","testIsNumericFee","exchangeRequests","newSegmentString","NewSegment","ChangeFee","digitArray","concatString","singleDigit","match","compressSegmentArr","arr","start","stop","arrLength","result","selectedRows","gridSegmentApi","BatchProcess","renderTableHeader","renderTableBody","col","j","renderTable","bordered","Headers","file","errorMessages","batchIdData","gridDisplayData","displayErrorCard","displaySuccessCard","displayConfirmUploadMessage","handleUploadBatch","batchUploadHandler","confirmBatchUploadHandler","cancelSubmit","confirmFileUpload","formData","FormData","append","confirm","responseBatchId","fileData","fileType","lastIndexOf","indexOf","toLowerCase","responseGridData","errorMessagesData","Error","Message","getElementById","files","CRUDButtons","addDataRow","deleteData","updateData","GridDataFilter","valueAirlineData","valueWaiverName","switchChecked","onChangeSwitch","labelLeft","labelRight","getSearchData","isSearchLoading","getClearData","DataGrid","domLayout","RefundWaiver","handleSwitchChange","switchNumber","handleSpaceClick","txtSearchData","txtCarrier","txtWaiverCodeName","txtWaiverBox","txtOSI","statusSwitch1","statusSwitch2","txtSearchWaiverName","txtSearchAirlineData","displaySaveWaiverBox","hide","cellEditorParams","cols","rows","statusCellRenderer","updateWaiverData","addWaiverDataRow","deleteWaiverData","saveWaiverData","cancelWaiverData","IsActive","updateWaiverRes","add","updateWaiverRequests","selectedWaiverIds","testtxtWaiverBox","splice","remove","AirlineCode","dataResponse","sortBy","reverse","onFilterValueChanged","DataGrid_DataGrid","DetailsButtonRenderer","onPopupSelected","BatchHistory","batchTypes","batchType","displayBatchHistoryGrid","activePopupPage","totalDataPopupCount","popupBatchId","batchHistorySubmit","cell","batchId","batchTypesValues","tempUserCheckObject","BatchTypes","handlePopupPageChange","DeleteButtonRenderer","invokeDeleteMethod","onRemoveSelected","TransactionId","BatchQueue","txtTicket","displayBatchQueueGrid","batchQueueSubmit","transactionId","BatchUpload","EventMaster","txtStatus","txtEventData","displaySaveEventBox","updateEventData","addEventDataRow","deleteEventData","saveEventData","cancelEventData","updateEventRes","updateEventRequests","selectedEventIds","ExchangeWaiver","txtTourCode","txtEndorsement","input","config","CruiseExclusionMaster","txtCruise","txtCruiseData","displaySaveCruiseBox","saveData","cancelData","CruiseId","updateRequests","selectedDataIds","ErrorLog","displayErrorLogGrid","errorLogSubmit","Routes","react_router","path","App","topNavigation","common_Navbar","common_Routes","Boolean","location","hostname","render","src_App_0","navigator","serviceWorker","ready","registration","unregister","d","process","agentId"],"mappings":"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","file":"static/js/main.3744b792.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH4AAABJCAYAAAD7XJKdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTREMDM4MjlBMjRCMTFFNzg5NjRDODhDNUUwODVDQTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTREMDM4MkFBMjRCMTFFNzg5NjRDODhDNUUwODVDQTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5NEQwMzgyN0EyNEIxMUU3ODk2NEM4OEM1RTA4NUNBNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5NEQwMzgyOEEyNEIxMUU3ODk2NEM4OEM1RTA4NUNBNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Po3eH4MAABMkSURBVHja7F0JeBVV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\"","// import { sp } from '@pnp/sp';\r\n\r\n// import { runWithAdal } from 'react-adal';\r\n// import { authContext } from './adalConfig';\r\n \r\n// const DO_NOT_LOGIN = false;\r\n \r\n// runWithAdal(authContext, () => {\r\n \r\n// require('./indexApp.js');\r\n \r\n// },DO_NOT_LOGIN);\r\n\r\n\r\nimport { sp } from '@pnp/sp';\r\nimport { runWithAdal } from 'react-adal';\r\nimport adalContext from './adalConfig';\r\n\r\nconst DO_NOT_LOGIN = false;\r\n\r\nrunWithAdal(adalContext.AuthContext, () => {\r\n adalContext.GetGraphToken();\r\n adalContext.GetToken()\r\n .then(token => {\r\n sp.setup({\r\n sp: {\r\n headers: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n }\r\n });\r\n require('./indexApp.js');\r\n });\r\n }, DO_NOT_LOGIN);\r\n","import { AuthenticationContext, adalFetch, withAdalLogin, adalGetToken } from 'react-adal';\r\nimport {defaultUserSetting} from './ApiConfig';\r\n\r\nexport const endpoint = 'https://graph.microsoft.com';\r\n\r\nexport const adalConfig = {\r\n tenant: defaultUserSetting.tenant,\r\n clientId: defaultUserSetting.clientId,\r\n endpoints: {\r\n api: defaultUserSetting.api,\r\n // graphapi:endpoint\r\n },\r\n 'apiUrl': defaultUserSetting.apiUrl,\r\n cacheLocation: 'localStorage',\r\n}; \r\n\r\nexport const adalGraphConfig = {\r\n tenant: defaultUserSetting.tenant,\r\n clientId: defaultUserSetting.clientId,\r\n endpoints: {\r\n api: 'https://graph.microsoft.com',\r\n },\r\n cacheLocation: 'localStorage',\r\n};\r\n\r\n\r\nexport const authContext = new AuthenticationContext(adalConfig); \r\n\r\nexport const authGraphContext = new AuthenticationContext(adalGraphConfig);\r\n\r\n\r\n\r\nclass AdalContext {\r\n constructor() {\r\n this.authContext = new AuthenticationContext(adalConfig);\r\n this.authGraphContext = new AuthenticationContext(adalGraphConfig);\r\n }\r\n\r\n get AuthContext() {\r\n return this.authContext;\r\n }\r\n\r\n get AuthGraphContext() {\r\n return this.authGraphContext;\r\n }\r\n\r\n GetToken() {\r\n return adalGetToken(this.authContext, adalConfig.endpoints.api);\r\n }\r\n\r\n GetGraphToken() {\r\n return adalGetToken(this.authGraphContext, adalGraphConfig.endpoints.api);\r\n }\r\n\r\n LogOut() {\r\n this.authContext.logOut();\r\n }\r\n}\r\n\r\nconst adalContext = new AdalContext();\r\n\r\nexport const adalApiFetch = (fetch, url, options) =>\r\nadalFetch(authContext, adalConfig.endpoints.api, fetch, url, options);\r\n\r\nexport const withAdalLoginApi = withAdalLogin(authContext, adalConfig.endpoints.api);\r\n\r\nexport const getUserName = () => {\r\n return authContext.getCachedUser();\r\n};\r\n\r\nexport const getToken = () => {\r\n return authContext.getCachedToken(adalConfig.endpoints.api);\r\n};\r\n\r\nexport const adalGraphApiFetch = (fetch, url, options) =>\r\nadalFetch(authGraphContext, adalGraphConfig.endpoints.api, fetch, url, options);\r\n\r\n\r\nexport const getGraphToken = () => {\r\n \r\n //console.log(\"auth context\", authGraphContext.getCachedToken(adalGraphConfig.endpoints.api));\r\n return authGraphContext.getCachedToken(adalGraphConfig.endpoints.api);\r\n};\r\n\r\nexport default adalContext;","import Axios from 'axios';\r\nimport adalContext, { adalConfig } from './adalConfig';\r\nimport { AuthenticationContext } from 'react-adal';\r\nimport {defaultUserSetting} from './ApiConfig';\r\nimport alertify from 'alertifyjs';\r\nimport {getGraphToken} from './adalConfig';\r\n\r\nfunction getCurrentUserID() {\r\n return JSON.parse(sessionStorage.getItem(\"UserId\")); \r\n}\r\n\r\nexport function getUserRoleDetails() {\r\n return getGraphToken();\r\n}\r\n\r\n\r\n\r\nexport const authContext = new AuthenticationContext();\r\n//here is where we are defining our custom axios instance.\r\n//if all of your API routes come from the same location, or you are using a web proxy to hit the server, you can provide a base url\r\n//you can also attach axios interceptors to custom axios instances as well\r\nexport const api = Axios.create({\r\n baseURL: defaultUserSetting.baseURL,\r\n});\r\n\r\napi.interceptors.request.use((request) => {\r\n // Check and acquire a token before the request is sent\r\n return new Promise((resolve, reject) => {\r\n authContext.acquireToken(adalConfig.endpoints.api, (message, token, msg) => {\r\n if (!!token) {\r\n request.headers = {\r\n Authorization: `Bearer ${token}`,\r\n 'App-UserId': `${getCurrentUserID()}`\r\n }\r\n resolve(request);\r\n } else {\r\n // Do something with error of acquiring the token\r\n alertify.error('System Time Out. Please Login Again');\r\n adalContext.LogOut();\r\n reject(request);\r\n }\r\n })\r\n })\r\n }, function(error) {\r\n // Do something with error of the request\r\n return Promise.reject(error)\r\n })\r\n\r\nexport default api;\r\n","import React from 'react';\r\n// eslint-disable-next-line\r\nimport { MDBIcon } from 'mdbreact';\r\nimport { getUserName } from '../../adalConfig';\r\nimport {NavLink} from 'react-router-dom';\r\nimport {defaultUserSetting} from '../../ApiConfig';\r\nimport {getGraphToken} from '../../adalConfig';\r\nimport {getUserRoleDetails} from '../../api';\r\nimport Axios from 'axios'\r\n\r\nclass Navbar extends React.Component {\r\n\tconstructor(props) {\r\n\t\t super(props);\r\n\t\t this.state = {\r\n\t\t\t getDisplayUserName: '',\r\n\t\t\t memberGroupValue: '',\r\n\t\t\t displayAdminMenu: false\r\n\t\t };\r\n\t}\r\n \r\n\tcomponentDidMount() {\r\n\t\tsessionStorage.setItem(\"userInfo\", JSON.stringify(getUserName().profile));\r\n\t\t\r\n\t\tlet tempRequest = {\r\n\t\t\t  \"groupIds\": [defaultUserSetting.adminId]\r\n\t\t} \r\n\t\tgetUserRoleDetails();\r\n\t\tAxios.post(\"https://graph.microsoft.com/v1.0/me/checkMemberGroups\" , tempRequest,\r\n\t\t\t{ headers: { Authorization: `Bearer ${getUserRoleDetails()}` } }).then(response => {\r\n\t\t\t \tconsole.log(\"graph response\", response);\r\n\t\t\t \tlet memberGroupValueRes = response.data.value;\r\n\t\t\t \tconsole.log(\"memberGroupValueRes\", memberGroupValueRes);\r\n\t\t\t \tif(memberGroupValueRes && memberGroupValueRes.length > 0){\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tdisplayAdminMenu: true\r\n\t\t\t\t\t});\r\n\t\t\t\t}else{\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tdisplayAdminMenu: false\r\n\t\t\t\t\t});\r\n\t\t\t\t}\t\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\t console.log(\"submit error\", err);\r\n\t\t});\r\n\t}\r\n\t \r\n\trender() {\r\n\t\treturn( \r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
  • Dashboard
  • \r\n\t\t\t\t\t\t\t\t\t\t
  • Transaction History
  • \r\n\t\t\t\t\t\t\t\t\t\t
  • Refund
  • \r\n\t\t\t\t\t\t\t\t\t\t
  • Exchange
  • \r\n\t\t\t\t\t\t\t\t\t\t
  • Batch Process
  • \r\n\t\t\t\t\t\t\t\t\t\t
  • Batch History
  • \r\n\t\t\t\t\t\t\t\t\t\t
  • Evolution Queue
  • \r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{ this.state.displayAdminMenu &&\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
  •   Admin
  • \r\n\t\t\t\t\t\t\t\t\t\t\t
  • Refund Waiver
  • \r\n\t\t\t\t\t\t\t\t\t\t\t
  • Exchange Waiver
  • \r\n\t\t\t\t\t\t\t\t\t\t\t{/*
  • Validating Carrier
  • */}\r\n\t\t\t\t\t\t\t\t\t\t\t
  • Event Masters
  • \r\n\t\t\t\t\t\t\t\t\t\t\t
  • Cruise Exclusion
  • \r\n\t\t\t\t\t\t\t\t\t\t\t
  • Error Log
  • \r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n}\r\n \r\nexport default Navbar;\r\n","import React from 'react';\r\nimport logo from \"../../images/V_logo_v_cruises_small_2x.png\";\r\nimport { MDBNavbar, MDBNavbarBrand, MDBNavbarNav, MDBCollapse, MDBNavItem, MDBIcon, MDBDropdown, MDBDropdownToggle, MDBDropdownMenu, MDBDropdownItem } from 'mdbreact';\r\n// import { BrowserRouter as Router } from 'react-router-dom';\r\nimport adalContext, {getUserName} from '../../adalConfig';\r\n\r\n\r\nclass TopNavigation extends React.Component {\r\n onLogOut() {\r\n adalContext.LogOut();\r\n localStorage.clear();\r\n sessionStorage.removeItem(\"UserId\");\r\n sessionStorage.removeItem(\"userInfo\");\r\n }\r\n \r\n render() {\r\n const bgWhite = {backgroundColor: '#ffffff'};\r\n const txtUsername = getUserName().profile.name;\r\n return( \r\n
\r\n \r\n \r\n \"MDB\r\n \r\n {/* */}\r\n \r\n \r\n \r\n |   AIR REFUNDS\r\n \r\n \r\n \r\n \r\n \r\n \r\n {txtUsername} \r\n \r\n \r\n Logout\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default TopNavigation;","import React from 'react'\r\nimport { MDBSpinner } from 'mdbreact';\r\n\r\nexport default (props) => {\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n};","import React, {Component} from 'react';\r\n\r\nexport default class CustomTooltip extends Component {\r\n componentDidMount() {\r\n this.props.reactContainer.className = 'custom-tooltip';\r\n }\r\n\r\n render() {\r\n var props = this.props,\r\n isHeader = props.rowIndex === undefined,\r\n isGroupedHeader = isHeader && !!props.colDef.children,\r\n valueToDisplay = props.value.value ? props.value.value : '- Missing -';\r\n\r\n return isHeader ? \r\n (\r\n
\r\n

{props.value}

\r\n {isGroupedHeader ?
: null}\r\n { isGroupedHeader ?\r\n props.colDef.children.map(function(header, idx) {\r\n return (\r\n

Child {idx + 1} - { header.headerName }

\r\n );\r\n })\r\n : null\r\n }\r\n
)\r\n :\r\n (\r\n
\r\n

{valueToDisplay}

\r\n
\r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\n// eslint-disable-next-line\r\nimport { MDBContainer, MDBDatePicker, MDBIcon, MDBRow, MDBBtn, MDBCard, MDBCardBody, MDBModal, MDBModalBody, MDBModalHeader, MDBCol, MDBInput, MDBTable, MDBTableBody, MDBTableHead } from 'mdbreact';\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport adalContext from '../../adalConfig';\r\nimport { NavLink } from 'react-router-dom';\r\nimport moment from 'moment';\r\nimport API from '../../api';\r\nimport alertify from 'alertifyjs';\r\nimport OverlayLoader from '../common/OverlayLoader';\r\nimport CustomTooltip from \"../common/customTooltip\";\r\nimport Pagination from \"react-js-pagination\";\r\n\r\nclass Dashboard extends Component {\r\n\tconstructor(props) {\r\n super(props);\r\n this.state = {\r\n\t\t\tradio: 1,\r\n\t\t\tgetCurrentUserID: '',\r\n\t\t\tisLoading: false,\r\n\t\t\tisUserDataLoading: false,\r\n\t\t\tgridSummeryData: [],\r\n\t\t\trequesteduserId: '',\r\n\t\t\tdisplaySummeryData: false,\r\n\t\t\tisDisplayPopup: false,\r\n\t\t\tmodal5: false,\r\n\t\t\tactivePage: 1,\r\n\t\t\ttotalDataCount: 0,\r\n\t\t\tdisplayBatchSummeryData: false,\r\n\t\t\ttransactionTypeParams: '',\r\n\t\t\tTransactionStatusParams: '',\r\n\t\t\theaderNameParam: '',\r\n\t\t\ttransactionBatchId: '',\r\n\t\t\tgridBatchSummeryData: [],\r\n\t\t\tcolumnDefs1: [\r\n {headerName: 'Last Batch Id', field: 'BatchId', width: 90, headerTooltip: \"Last Batch Id\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'All', field: 'All', width: 120, cellClass: 'navLinkTextGrid', headerTooltip: \"All Transaction\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Passed', field: 'Passed', width: 210, cellClass: 'navLinkTextGrid', headerTooltip: \"Passed Transaction\", tooltipComponent: \"customTooltip\"},\r\n {headerName: 'Fail', field: 'Failed', width: 200, cellClass: 'navLinkTextGrid', headerTooltip: \"Fail Transaction\", tooltipComponent: \"customTooltip\"},\r\n {headerName: 'Removed', field: 'Removed', width: 180, cellClass: 'navLinkTextGrid', headerTooltip: \"Removed Transaction\", tooltipComponent: \"customTooltip\"},\r\n {headerName: 'Pending', field: 'Pending', cellClass: 'navLinkTextGrid', headerTooltip: \"Pending Transaction\", tooltipComponent: \"customTooltip\"},\r\n ],\r\n\t\t\tcolumnDefs2: [\r\n {headerName: 'Transaction', field: 'TransactionType', width: 90, headerTooltip: \"Transaction Type\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'All', field: 'All', width: 120, cellClass: 'navLinkTextGrid', headerTooltip: \"All Transaction\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Passed', field: 'Passed', width: 210, cellClass: 'navLinkTextGrid', headerTooltip: \"Passed Transaction\", tooltipComponent: \"customTooltip\"},\r\n {headerName: 'Fail', field: 'Failed', width: 200, cellClass: 'navLinkTextGrid', headerTooltip: \"Fail Transaction\", tooltipComponent: \"customTooltip\"},\r\n {headerName: 'Removed', field: 'Removed', width: 180, cellClass: 'navLinkTextGrid', headerTooltip: \"Removed Transaction\", tooltipComponent: \"customTooltip\"},\r\n {headerName: 'Pending', field: 'Pending', cellClass: 'navLinkTextGrid', headerTooltip: \"Pending Transaction\", tooltipComponent: \"customTooltip\"},\r\n ],\r\n\t\t\tcolumnDefsPopup: [\r\n\t\t\t\t{headerName: 'Cruise Booking ID', field: 'BookingNumber', width: 130, headerTooltip: \"Cruise Booking ID\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Old PNR/New PNR', field: 'PNR', width: 140, headerTooltip: \"PNR\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Ticket', field: 'TicketNumber', width: 140, headerTooltip: \"Ticket Number\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Status', field: 'TransactionStatus', width: 90, headerTooltip: \"Transaction Status\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Error Message', field: 'ErrorMessage', width: 750, headerTooltip: \"Error Message\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Transaction Type', field: 'TransactionType', width: 140, headerTooltip: \"Transaction Type\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Batch ID', field: 'BatchId', width: 90, headerTooltip: \"Batch ID\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Event Name', field: 'EventName', width: 180, headerTooltip: \"Event Name\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'UserName', field: 'UserName', width: 130, headerTooltip: \"UserName\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'PCC', field: 'PCC', width: 80, headerTooltip: \"PCC\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'EPR', field: 'EPR', width: 80, headerTooltip: \"EPR\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Penalty Amount', field: 'PenaltyAmount', width: 120, headerTooltip: \"Penalty Amount\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Refund Tax', field: 'RefundTax', width: 120, headerTooltip: \"Refund Tax\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Refund Value', field: 'RefundValue', width: 120, headerTooltip: \"Refund Value\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Exchange Change Fee', field: 'ExchangeChangeFee', width: 180, headerTooltip: \"Exchange Change Fee\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Exchange ADC', field: 'ExchangeADC', width: 140, headerTooltip: \"Exchange ADC\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'WaiverBox', field: 'WaiverBox', width: 140, headerTooltip: \"WaiverBox\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'OSI', field: 'OSI', width: 140, headerTooltip: \"OSI\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Endorsement', field: 'Endorsement', width: 140, headerTooltip: \"Endorsement\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'TourCode', field: 'TourCode', width: 140, headerTooltip: \"TourCode\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'NewSegment', field: 'NewSegment', width: 140, headerTooltip: \"NewSegment\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Transaction Source', field: 'TransactionSource', width: 140, headerTooltip: \"Transaction Source\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Request Entered Datetime', field: 'ReqEnteredDate', width: 200, headerTooltip: \"Request Entered Datetime\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Transaction Id', field: 'TransactionId', width: 140, headerTooltip: \"Transaction Id\", tooltipComponent: \"customTooltip\"}\r\n\t\t\t],\r\n\t\t\trowData: [],\r\n\t\t\trowData2: [],\r\n\t\t\trowDataPopup: [],\r\n\t\t\tframeworkComponents: { customTooltip: CustomTooltip },\r\n\t\t\trowSelection: \"single\",\r\n\t\t\trowHeight: 50,\r\n defaultColDef: {\r\n\t\t resizable: false,\r\n\t\t\t\tsortable: false,\r\n\t\t\t\tsuppressMovable: true,\r\n \t\twidth: 120\r\n\t\t }\r\n };\r\n \r\n\t\tthis.getGridViewData = this.getGridViewData.bind(this);\r\n\t}\r\n\r\n\tonClick = nr => () =>{\r\n\t this.setState({\r\n\t radio: nr\r\n\t });\r\n\t}\r\n\r\n\tgetFromDate = value => {\r\n\t\tthis.setState({\r\n\t\t\ttxtFromDate: value\r\n\t\t}, () => console.log(this.state.txtFromDate));\r\n\t}\r\n\r\n\tgetGridViewData(msg){\r\n\t\tif(!(msg === 'retriveDataOnPageLoad')) {\r\n\t\t\tthis.setState({ isLoading: true });\r\n\t\t}\r\n\t\tlet txtnewFromDate = moment(this.state.txtFromDate).format(\"MM/DD/YYYY\"); // you get \"16/05/2018\"\r\n\t\t//console.log(txtnewToDate);\r\n\t\tlet CurrentUserID = JSON.parse(sessionStorage.getItem(\"UserId\"));\r\n\t\tconsole.log(\"CurrentUserIDpre\", CurrentUserID);\r\n\t\tlet transactionSummeryRequestJSON = {\r\n\t\t\t\"FromDate\": txtnewFromDate,\r\n\t\t\t\"ToDate\": txtnewFromDate,\r\n\t\t\t\"Users\": (this.state.radio === 1 && CurrentUserID) ? [CurrentUserID.toString()] : [],\r\n\t\t};\r\n\t\tlet batchSummeryRequestJSON = {\r\n\t\t\t\"Date\": txtnewFromDate,\r\n\t\t\t\"UserId\":(this.state.radio === 1 && CurrentUserID) ? CurrentUserID.toString() : \"\",\r\n\t\t};\r\n\t\t//console.log(\"transactionSummeryRequestJSON \" , transactionSummeryRequestJSON);\r\n\t\t\r\n\t\tAPI.post(\"GetTransactionSummary\", transactionSummeryRequestJSON).then(response => {\r\n\t\t\t\r\n\t\t\tif(response && response.data){\r\n\t\t\t\tlet tempSummeryData = response.data.trnSummary;\r\n\t\t\t\tif(tempSummeryData.length === 0){\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tgridSummeryData: [...tempSummeryData],\r\n\t\t\t\t\t\trowData: [...tempSummeryData],\r\n\t\t\t\t\t\tdisplaySummeryData: true,\r\n\t\t\t\t\t\tisLoading: false\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tlet totalAll = 0;\r\n\t\t\t\t\tlet totalPassed = 0;\r\n\t\t\t\t\tlet totalFail = 0;\r\n\t\t\t\t\tlet totalRemoved = 0;\r\n\t\t\t\t\tlet totalPending = 0;\r\n\r\n\t\t\t\t\ttempSummeryData.forEach(p => {\r\n\t\t\t\t\t\ttotalAll = totalAll + parseInt(p.All);\r\n\t\t\t\t\t\ttotalPassed = totalPassed + parseInt(p.Passed);\r\n\t\t\t\t\t\ttotalFail = totalFail + parseInt(p.Failed);\r\n\t\t\t\t\t\ttotalRemoved = totalRemoved + parseInt(p.Removed);\r\n\t\t\t\t\t\ttotalPending = totalPending + parseInt(p.Pending);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tlet totalSummeryData = {\r\n\t\t\t\t\t\tTransactionType: \"Total\", \"All\" : totalAll, \"Passed\" : totalPassed, \"Failed\" : totalFail, \"Removed\" : totalRemoved, \"Pending\" : totalPending\r\n\t\t\t\t\t}\r\n\t\t\t\t\ttempSummeryData.push(totalSummeryData);\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tgridSummeryData: [...tempSummeryData],\r\n\t\t\t\t\t\trowData: [...tempSummeryData],\r\n\t\t\t\t\t\tdisplaySummeryData: true,\r\n\t\t\t\t\t\tisLoading: false\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\t//let tempSummeryData = response.data.trnSummary;\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoading: false\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\tconsole.log(\"submit error\", err);\r\n\t\t\tthis.setState({\r\n\t\t\t\tisLoading: false\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tAPI.post(\"GetBatchTransactionSummary\", batchSummeryRequestJSON).then(response => {\r\n\t\t\t\r\n\t\t\tif(response && response.data){\r\n\t\t\t\tlet tempBatchSummeryData = response.data.batchTrnSummary;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tgridBatchSummeryData: [...tempBatchSummeryData],\r\n\t\t\t\t\trowData2: [...tempBatchSummeryData],\r\n\t\t\t\t\tdisplayBatchSummeryData: true,\r\n\t\t\t\t\tisLoading: false\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\tconsole.log(\"submit error\", err);\r\n\t\t\tthis.setState({\r\n\t\t\t\tisLoading: false\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tgetGridtimeoutData() {\r\n\t\t// subscriber\r\n\t\tsetTimeout(() => this.getGridViewData(\"retriveDataOnPageLoad\"), 2000);\r\n }\r\n\tcomponentDidMount() {\r\n\t\tlet CurrentUserInfo = JSON.parse(sessionStorage.getItem(\"userInfo\"));\r\n\t\tthis.setState({\r\n\t\t\tisUserDataLoading : true\r\n\t\t});\r\n\t\tlet submitRequestJSON = {\r\n\t\t\t\"UserName\": CurrentUserInfo && CurrentUserInfo.name ? CurrentUserInfo.name : \"\",\r\n\t\t\t\"FirstName\": CurrentUserInfo && CurrentUserInfo.given_name ? CurrentUserInfo.given_name : \"\",\r\n\t\t\t\"LastName\": CurrentUserInfo && CurrentUserInfo.family_name ? CurrentUserInfo.family_name : \"\",\r\n\t\t\t\"EmailAddress\": CurrentUserInfo && CurrentUserInfo.unique_name ? CurrentUserInfo.unique_name : \"\",\r\n\t\t};\r\n\t\tAPI.post(\"UpdateUserDetails\", submitRequestJSON).then(response => {\r\n\t\t\tif(response && response.data ){\r\n\t\t\t\tif(response.data.Id)\r\n\t\t\t\t{\r\n\t\t\t\t\tlet UserId = response.data.Id;\r\n\t\t\t\t\tif(UserId){\r\n\t\t\t\t\t\tsessionStorage.setItem(\"UserId\", UserId);\r\n\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\tgetCurrentUserID: UserId,\r\n\t\t\t\t\t\t\tisUserDataLoading : false\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.getGridViewData(\"retriveDataOnPageLoad\");\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\talertify.error('You Are Not Authenticated To Login');\r\n\t\t\t\t\t\tadalContext.LogOut();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\talertify.error('You Are Not Authenticated To Login');\r\n\t\t\t\t\tadalContext.LogOut();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisUserDataLoading : false\r\n\t\t\t\t});\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\tthis.setState({\r\n\t\t\t\tisUserDataLoading : false\r\n\t\t\t});\r\n\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\tconsole.log(\"submit error\", err);\r\n\t\t}); \r\n\t\t//this.getGridtimeoutData();\r\n\t\t\r\n\t}\r\n\r\n\r\n\r\n\thandlePageChange(pageNumber) {\r\n\t\tif (this.gridApi) {\r\n\t\t\tthis.gridApi.showLoadingOverlay();\r\n\t\t}\r\n\t\t//this.getGridViewData(pageNumber);\r\n\t\tif(this.state.headerNameParam === \"transactionSummary\"){\r\n\t\t\tthis.onTransactionCellClicked(null, pageNumber);\r\n\t\t}\r\n\t\telse{\r\n\t\t\tthis.onCellClicked(null, pageNumber);\r\n\t\t}\r\n\r\n\t\tthis.setState({activePage: pageNumber});\r\n\t}\r\n\r\n\tonTransactionCellClicked(params, pageNumber=1){\r\n\t\tif(params && params.colDef && !(params.colDef.headerTooltip === 'Transaction')) {\r\n\t\t\tif(params.data[params.colDef.field] === 0){\r\n\t\t\t\t\r\n\t\t\t\talertify.error(\"There is no records to show\");\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tthis.setState({\r\n\t\t\t\ttransactionTypeParams: params.data.TransactionType,\r\n\t\t\t\tTransactionStatusParams: params.colDef.field,\r\n\t\t\t\theaderNameParam: \"transactionSummary\"\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t\tlet transactionTypes = {\r\n\t\t\t\t\"Exchange\" : [\"102\"],\r\n\t\t\t\t\"Refund\" : [\"101\"],\r\n\t\t\t\t\"Total\" : []\r\n\t\t\t}\r\n\r\n\t\t\tlet transactionStatuses = {\r\n\t\t\t\t\"Pending\" : [\"100\"],\r\n\t\t\t\t\"Passed\" : [\"102\"],\r\n\t\t\t\t\"Failed\": [\"103\"],\r\n\t\t\t\t\"Removed\": [\"104\"],\r\n\t\t\t\t\"All\" : []\r\n\t\t\t};\r\n\t\t\t\r\n\t\t\tthis.setState({\r\n\t\t\t\tisDisplayPopup : true,\r\n\t\t\t\tmodal5: true,\r\n\t\t\t\tactivePage: 1,\r\n\t\t\t\t\r\n\t\t\t});\r\n\t\t\tconsole.log(\"this.state.activePage\", this.state.activePage);\r\n\t\t\tlet txtnewFromDate = moment(this.state.txtFromDate).format(\"MM/DD/YYYY\");\r\n\t\t\tlet CurrentUserID = JSON.parse(sessionStorage.getItem(\"UserId\"));\r\n\t\t\tlet submitRequestJSON = {\r\n\t\t\t\t\"FromDate\": txtnewFromDate,\r\n\t\t\t\t\"ToDate\": txtnewFromDate,\r\n\t\t\t\t\"TransactionType\": transactionTypes[this.state.transactionTypeParams],\r\n\t\t\t\t\"TransactionStatus\": transactionStatuses[this.state.TransactionStatusParams],\r\n\t\t\t\t\"TransactionSource\": [],\r\n\t\t\t\t\"Users\": (this.state.radio === 1 && CurrentUserID) ? [CurrentUserID.toString()] : [],\r\n\t\t\t};\r\n\t\t\t//let pageNumber = 1;\r\n\t\t\tpageNumber = pageNumber -1;\r\n\t\t\tlet transactionRequest = {\r\n\t\t\t\t\"PageNumber\" : pageNumber,\r\n\t\t\t\t\"PageSize\" : 10,\r\n\t\t\t\t\"Critera\" : submitRequestJSON,\r\n\t\t\t\t\"SortBy\": \"\",\r\n\t \t\t\"SortOrder\": \"\"\r\n\t\t\t};\r\n\t\t\tthis.getPopupDetailsData(transactionRequest);\r\n\t}\r\n\r\n\tonCellClicked(params, pageNumber=1){\r\n\t\tconsole.log(\"cell Params\", params);\r\n\t\tif(params && params.colDef && !(params.colDef.headerName === 'Last Batch Id')) {\r\n\t\t\tif(params.data[params.colDef.field] === 0){\r\n\t\t\t\talertify.error(\"There is no records to show\");\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tthis.setState({\r\n\t\t\t\tTransactionStatusParams: params.colDef.field,\r\n\t\t\t\ttransactionBatchId: params.data.BatchId,\r\n\t\t\t\theaderNameParam: \"batchTransaction\"\r\n\t\t\t});\r\n\t\t}\r\n\t\t\t\r\n\t\t\tlet transactionStatuses = {\r\n\t\t\t\t\"Pending\" : [\"100\"],\r\n\t\t\t\t\"Passed\" : [\"102\"],\r\n\t\t\t\t\"Failed\": [\"103\"],\r\n\t\t\t\t\"Removed\": [\"104\"],\r\n\t\t\t\t\"All\" : []\r\n\t\t\t};\r\n\r\n\t\t\t//let selectedBatchId = params.data.BatchId;\r\n\t\t\t\r\n\t\t\tthis.setState({\r\n\t\t\t\tisDisplayPopup : true,\r\n\t\t\t\tmodal5: true,\r\n\t\t\t\tactivePage: 1\r\n\t\t\t});\r\n\t\t\tlet txtnewFromDate = moment(this.state.txtFromDate).format(\"MM/DD/YYYY\");\r\n\t\t\tlet submitRequestJSON = {\r\n\t\t\t\t\"FromDate\": txtnewFromDate,\r\n\t\t\t\t\"ToDate\": txtnewFromDate,\r\n\t\t\t\t\"BatchId\": this.state.transactionBatchId,\r\n\t\t\t\t\"TransactionStatus\": transactionStatuses[this.state.TransactionStatusParams],\r\n\t\t\t\t\"TransactionSource\": []\r\n\t\t\t};\r\n\t\t\tpageNumber = pageNumber -1;\r\n\t\t\tlet transactionRequest = {\r\n\t\t\t\t\"PageNumber\" : pageNumber,\r\n\t\t\t\t\"PageSize\" : 10,\r\n\t\t\t\t\"Critera\" : submitRequestJSON,\r\n\t\t\t\t\"SortBy\": \"\",\r\n\t \t\t\"SortOrder\": \"\"\r\n\t\t\t};\r\n\t\t\t\r\n\t\t\tthis.getPopupDetailsData(transactionRequest);\r\n\t\t\r\n\t}\r\n\r\n\tgetPopupDetailsData(apiData){\r\n\t\tif (this.gridTransactionApi) {\r\n\t\t\tthis.gridTransactionApi.showLoadingOverlay();\r\n\t\t}\r\n\t\tAPI.post(\"SearchTransactionLog\", apiData).then(response => {\r\n\t\t\tconsole.log(\"mydata\",response);\r\n\t\t\t\r\n\t\t\tif(response && response.data){\r\n\t\t\t\tlet tempRowData = response.data.Items;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\trowDataPopup: [...tempRowData],\r\n\t\t\t\t\tisDisplayPopup: true,\r\n\t\t\t\t\ttotalDataCount: response.data.TotalCount,\r\n\t\t\t\t})\r\n\r\n\t\t\t\tif (this.gridTransactionApi) {\r\n\t\t\t\t\tthis.gridTransactionApi.hideOverlay();\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\tconsole.log(\"submit error\", err);\r\n\t\t});\r\n\t}\r\n\r\n\tonGridReady = params => {\r\n\t this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n\t\tparams.api.sizeColumnsToFit();\r\n\t};\r\n\r\n\tonGridTransactionReady = params => {\r\n\t this.gridTransactionApi = params.api;\r\n this.gridTransactionColumnApi = params.columnApi;\r\n\t};\r\n\r\n\tprocessSummeryData(event) {\r\n\t\tevent.preventDefault();\r\n\t\tthis.getGridViewData();\r\n\t}\r\n\r\n\ttoggle = nr => () => {\r\n\t\tlet modalNumber = 'modal' + nr\r\n\t\tthis.setState({\r\n\t\t [modalNumber]: !this.state[modalNumber]\r\n\t\t});\r\n\t\tif (this.gridApi) {\r\n\t\t\tthis.gridApi.hideOverlay();\r\n\t\t}\r\n\t}\r\n\r\n\topenPopupModel(){\r\n\t\treturn (\r\n Transaction Details:\r\n \r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n
\r\n
)\r\n\t}\r\n\r\n\trender() {\r\n\t\tconst { isUserDataLoading, isLoading, displaySummeryData, displayBatchSummeryData } = this.state;\r\n return (\r\n\t\t\t<>\r\n\t\t\t{ isUserDataLoading && }\r\n\t\t\t
\r\n\t\t\t\t

Dashboard

\r\n\t\t\t\t{ this.state.isDisplayPopup ? this.openPopupModel() : null }\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tDate\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isLoading &&
Loading... 
} Search\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t{ displaySummeryData &&\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{/*

Number of batches uploaded: 99

*/}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tBatch History\r\n\t\t\t\t\t\t\t\t\t   |   \r\n\t\t\t\t\t\t\t\t\tEvolution Queue\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n\t\t\t\t\t{ displayBatchSummeryData &&\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t

Transaction Summary

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n );\r\n }\r\n}\r\n\r\nexport default Dashboard;\r\n","import React from 'react'\r\nimport { MDBInput} from 'mdbreact';\r\n\r\nexport const CheckBox = props => {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport default CheckBox","import React, { Component } from 'react';\r\n// import {NavLink} from 'react-router-dom';\r\n// eslint-disable-next-line\r\nimport { MDBContainer, MDBRow, MDBCol, MDBDatePicker, MDBIcon, MDBInput, MDBBtn, MDBCard, MDBCardBody} from 'mdbreact';\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport CheckBox from '../common/CheckBox';\r\nimport moment from 'moment';\r\nimport API from '../../api';\r\nimport alertify from 'alertifyjs';\r\nimport Pagination from \"react-js-pagination\";\r\nimport CustomTooltip from \"../common/customTooltip\";\r\n\r\nclass TransactionHistory extends Component {\r\n\tconstructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n\t\t\ttxtPNR: '',\r\n\t\t\ttxtEvent: '',\r\n\t\t\ttxtBatch: '',\r\n\t\t\tselectEventValue: '',\r\n\t\t\ttxtFromDate: new Date(),\r\n\t\t\ttxtToDate: new Date(),\r\n\t\t\tdisplayRetriveData: false,\r\n\t\t\tdisplaySummeryData: false,\r\n\t\t\ttempSummeryData: [],\r\n\t\t\tisDisabled: true,\r\n\t\t\tuserListDD: [],\r\n\t\t\tselectedUserListDD: \"\",\r\n\t\t\tactivePage: 1,\r\n\t\t\tisLoading: false,\r\n\t\t\tinputEventValue: '',\r\n\t\t\ttotalDataCount: 0,\r\n\t\t\ttransactionTypes: [\r\n\t\t\t\t{id: 1, value: \"chkExchange\", isChecked: false, label:\"Exchange\"},\r\n\t\t\t\t{id: 2, value: \"101\", isChecked: false, label:\"Refund\"},\r\n\t\t\t],\r\n\t\t\ttransactionStatuses: [\r\n\t\t\t\t{id: 3, value: \"102\", isChecked: false, label:\"Pass\"},\r\n\t\t\t\t{id: 4, value: \"103\", isChecked: true, label:\"Fail\"},\r\n\t\t\t\t{id: 5, value: \"104\", isChecked: false, label:\"Removed\"},\r\n\t\t\t],\r\n\t\t\ttransactionSources: [\r\n\t\t\t\t{id: 6, value: \"System\", isChecked: false, label:\"System\"},\r\n\t\t\t\t{id: 7, value: \"Evolution\", isChecked: false, label:\"Evolution\"},\r\n\t\t\t],\r\n\t\t\tusers: [\r\n\t\t\t\t{id: 8, value: \"chkMyRequest\", isChecked: false, label:\"My Requests\"},\r\n\t\t\t\t{id: 9, value: \"chkOthers\", isChecked: false, label:\"Others\"},\r\n\t\t\t],\r\n\t\t\tcheckedItem: false,\r\n \tcolumnDefs: [\r\n\t\t\t\t{headerName: 'Cruise Booking ID', field: 'BookingNumber', width: 130, headerTooltip: \"Cruise Booking ID\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Old PNR/New PNR', field: 'PNR', width: 140, headerTooltip: \"PNR\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Ticket', field: 'TicketNumber', width: 130, headerTooltip: \"Ticket Number\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Status', field: 'TransactionStatus', width: 90, headerTooltip: \"Transaction Status\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Error Message', field: 'ErrorMessage', width: 750, headerTooltip: \"Error Message\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Transaction Type', field: 'TransactionType', width: 140, headerTooltip: \"Transaction Type\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Batch ID', field: 'BatchId', width: 90, headerTooltip: \"Batch ID\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Event Name', field: 'EventName', width: 180, headerTooltip: \"Event Name\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'UserName', field: 'UserName', width: 130, headerTooltip: \"UserName\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'PCC', field: 'PCC', width: 80, headerTooltip: \"PCC\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'EPR', field: 'EPR', width: 80, headerTooltip: \"EPR\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Penalty Amount', field: 'PenaltyAmount', width: 120, headerTooltip: \"Penalty Amount\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Refund Tax', field: 'RefundTax', width: 120, headerTooltip: \"Refund Tax\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Refund Value', field: 'RefundValue', width: 120, headerTooltip: \"Refund Value\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Exchange Change Fee', field: 'ExchangeChangeFee', width: 180, headerTooltip: \"Exchange Change Fee\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Exchange ADC', field: 'ExchangeADC', width: 140, headerTooltip: \"Exchange ADC\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'WaiverBox', field: 'WaiverBox', width: 140, headerTooltip: \"WaiverBox\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'OSI', field: 'OSI', width: 140, headerTooltip: \"OSI\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Endorsement', field: 'Endorsement', width: 140, headerTooltip: \"Endorsement\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'TourCode', field: 'TourCode', width: 140, headerTooltip: \"TourCode\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'NewSegment', field: 'NewSegment', width: 140, headerTooltip: \"NewSegment\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Transaction Source', field: 'TransactionSource', width: 140, headerTooltip: \"Transaction Source\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Request Entered Datetime', field: 'ReqEnteredDate', width: 200, headerTooltip: \"Request Entered Datetime\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Transaction Id', field: 'TransactionId', width: 140, headerTooltip: \"Transaction Id\", tooltipComponent: \"customTooltip\"}\r\n\t\t\t],\r\n\t\t\tcolumnDefs2: [\r\n {headerName: 'Transaction', field: 'TransactionType', width: 120, headerTooltip: \"Transaction Type\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'All', field: 'All', width: 120, headerTooltip: \"All\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Passed', field: 'Passed', width: 210, headerTooltip: \"Passed\", tooltipComponent: \"customTooltip\"},\r\n {headerName: 'Fail', field: 'Failed', width: 200, headerTooltip: \"Fail\", tooltipComponent: \"customTooltip\"},\r\n {headerName: 'Removed', field: 'Removed', width: 180, headerTooltip: \"Removed\", tooltipComponent: \"customTooltip\"},\r\n {headerName: 'Pending', field: 'Pending', headerTooltip: \"Pending\", tooltipComponent: \"customTooltip\"},\r\n ],\r\n\t\t\trowData: [],\r\n\t\t\trowData2: [],\r\n\t\t\ttableSummeryData: [],\r\n\t\t\tframeworkComponents: { customTooltip: CustomTooltip },\r\n\t\t\tenableBrowserTooltips: true,\r\n rowSelection: \"multiple\",\r\n\t\t\trowHeight: 50,\r\n\t\t\tpaginationPageSize: 4,\r\n\t\t\tpaginationNumberFormatter: function(params) {\r\n\t\t\t\treturn \"[\" + params.value.toLocaleString() + \"]\";\r\n\t\t\t},\r\n defaultColDef: {\r\n\t\t resizable: false,\r\n\t\t\t\twidth: 130,\r\n\t\t\t\tsortable: false,\r\n\t\t\t\tsuppressMovable: true,\r\n\t\t }\r\n\t\t}\r\n\t\tthis.transactionHistorySubmit = this.transactionHistorySubmit.bind(this);\r\n\t\tthis.txtChangeHandler = this.txtChangeHandler.bind(this);\r\n\t\tthis.handleSelectInputChange = this.handleSelectInputChange.bind(this);\r\n\t\tthis.handleSelectUserChange = this.handleSelectUserChange.bind(this);\r\n\t\tthis.SearchTransactionLogExcel = this.SearchTransactionLogExcel.bind(this);\r\n\t\tthis.resetHistoryData = this.resetHistoryData.bind(this);\r\n\t}\r\n\t\r\n\tgetFromDate = value => {\r\n\t\tthis.setState({\r\n\t\t\ttxtFromDate: value\r\n\t\t}, () => console.log(this.state.txtFromDate));\r\n\t}\r\n\r\n\tgetWaiverDetailsDisc(params){\r\n if (params.value !== null) {\r\n return params.data.TourCode + ' / ' + params.data.Endorsement + ' / ' + params.data.OSI;\r\n }\r\n }\r\n\r\n\tgetToDate = value => {\r\n\t\tthis.setState({\r\n\t\t\ttxtToDate: value\r\n\t\t}, () => console.log(this.state.txtToDate));\r\n\t}\r\n\t\r\n\ttxtChangeHandler = event => {\r\n\t\tthis.setState({ [event.target.name]: event.target.value });\r\n\t\t//console.log(\"this.state.selectEventValue\", this.state.selectEventValue)\r\n\t};\r\n\r\n\t\r\n\r\n\thandleSelectInputChange(event) {\r\n\t\tthis.setState({inputEventValue: event.target.value});\r\n\t}\r\n\r\n\thandleSelectUserChange(event){\r\n\t\tthis.setState({selectedUserListDD: event.target.value});\r\n\t\tconsole.log(this.state.selectedUserListDD);\r\n\t}\r\n\r\n\r\n\t\r\n\tonGridReady = params => {\r\n\t this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n\t\t//params.api.sizeColumnsToFit();\r\n\t};\r\n\r\n\tonGridTransactionReady = params => {\r\n\t this.gridTransactionApi = params.api;\r\n this.gridTransactionColumnApi = params.columnApi;\r\n\t\tparams.api.sizeColumnsToFit();\r\n\t};\r\n\r\n\ttransactionRequestJson( pageNumber = 0, pageSize = 10 ){\r\n\t\tlet transactionTypesValues = this.state.transactionTypes.filter(p=>p.isChecked).map( transactionType => {\r\n\t\t\tif(transactionType.value === \"chkExchange\"){\r\n\t\t\t\treturn \"102\";\r\n\t\t\t}\r\n\t\t\treturn transactionType.value;\r\n\t\t});\r\n\r\n\t\tlet transactionStatuses = this.state.transactionStatuses.filter(p=>p.isChecked).map( transactionStatus => {\r\n\t\t\treturn transactionStatus.value;\r\n\t\t});\r\n\r\n\t\tlet transactionSources = this.state.transactionSources.filter(p=>p.isChecked).map( transactionSource => {\r\n\t\t\treturn transactionSource.value;\r\n\t\t});\r\n\r\n\t\tlet users = [];\r\n\t\tlet CurrentUserID = JSON.parse(sessionStorage.getItem(\"UserId\"));\r\n\t\tthis.state.users.filter(p=>p.isChecked).forEach( user => {\r\n\t\t\tif(user.value === \"chkMyRequest\"){\r\n\t\t\t\tusers.push(CurrentUserID.toString());\r\n\t\t\t\t//return this.state.selectedUserListDD;\r\n\t\t\t}\r\n\t\t\tif(user.value === \"chkOthers\"){\r\n\t\t\t\tusers.push(this.state.selectedUserListDD.toString());\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tlet txtnewFromDate = moment(this.state.txtFromDate).format(\"MM/DD/YYYY\"); // you get \"16/05/2018\"\r\n\t\tlet txtnewToDate = moment(this.state.txtToDate).format(\"MM/DD/YYYY\"); // you get \"16/05/2018\"\r\n\r\n\t\tlet txtnewFromDateTemp = new Date(moment(this.state.txtFromDate).format(\"MM/DD/YYYY\")); \r\n\t\tlet txtnewToDateTemp = new Date(moment(this.state.txtToDate).format(\"MM/DD/YYYY\")); \r\n\t\t//console.log(txtnewToDate);\r\n\r\n\t\tif (txtnewFromDateTemp > txtnewToDateTemp) {\r\n\t\t\talertify.error(\"From Date is greater than To Date\");\r\n\t\t\tthis.setState({\r\n\t\t\t\tdisplayRetriveData: false,\r\n\t\t\t\tdisplaySummeryData: false,\r\n\t\t\t})\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tlet submitRequestJSON = {\r\n\t\t\t\"FromDate\": txtnewFromDate,\r\n\t\t\t\"ToDate\": txtnewToDate,\r\n\t\t\t\"Pnr\": this.state.txtPNR,\r\n\t\t\t\"EventName\": this.state.txtEvent,\r\n\t\t\t\"Event\": this.state.txtEvent,\r\n\t\t\t\"BatchId\": this.state.txtBatch,\r\n\t\t\t\"Batch\": this.state.txtBatch,\r\n\t\t\t\"TransactionType\": transactionTypesValues,\r\n\t\t\t\"TransactionStatus\": transactionStatuses,\r\n\t\t\t\"TransactionSource\": transactionSources,\r\n\t\t\t\"EventSearchOption\": this.state.inputEventValue,\r\n\t\t\t\"Users\": users,\r\n\t\t\t\r\n\t\t};\r\n\r\n\t\treturn submitRequestJSON;\r\n\t}\r\n\r\n\tgetGridViewData(pageNumber){\r\n\t\tthis.setState({isLoading: true});\r\n\t\t\r\n\t\tlet tempTransactionRequest = this.transactionRequestJson(pageNumber, 10);\r\n\t\tif(tempTransactionRequest === false){\r\n\t\t\tthis.setState({\r\n\t\t\t\tisLoading: false\r\n\t\t\t});\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tconsole.log(\"tempTransactionRequest\", tempTransactionRequest);\r\n\r\n\t\t\r\n\t\tlet transactionRequest = {\r\n\t\t\t\"PageNumber\" : pageNumber - 1,\r\n\t\t\t\"PageSize\" : 10,\r\n\t\t\t\"Critera\" : tempTransactionRequest,\r\n\t\t\t\"SortBy\": \"\",\r\n \t\t\"SortOrder\": \"\"\r\n\t\t};\r\n\t\tconsole.log(\"transactionRequest \" , transactionRequest);\r\n\t\tAPI.post(\"SearchTransactionLog\", transactionRequest).then(response => {\r\n\t\t\tconsole.log(\"page\", this.state.activePage);\r\n\t\t\tconsole.log(\"mydata\",response);\r\n\t\t\t\r\n\t\t\tif(response && response.data ){\r\n\t\t\t\tlet tempRowData = response.data.Items;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\ttotalDataCount: response.data.TotalCount,\r\n\t\t\t\t\trowData: [...tempRowData],\r\n\t\t\t\t\tdisplayRetriveData: true,\r\n\t\t\t\t\tisLoading: false\r\n\t\t\t\t})\r\n\t\t\t\t\r\n\t\t\t\tif (this.gridApi) {\r\n\t\t\t\t\tthis.gridApi.hideOverlay();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\tthis.setState({\r\n\t\t\t\tisLoading: false\r\n\t\t\t});\r\n\t\t\tconsole.log(\"submit error\", err);\r\n\t\t});\r\n\r\n\t\tAPI.post(\"GetTransactionSummary\", tempTransactionRequest).then(response => {\r\n\t\t\t//console.log(\"GetTransactionSummary Responce\",response);\r\n\t\t\t\r\n\t\t\tif(response && response.data){\r\n\t\t\t\tlet tempSummeryData = response.data.trnSummary;\r\n\t\t\t\tconsole.log(\"GetTransactionSummary response data\", tempSummeryData);\r\n\t\t\t\tif(tempSummeryData.length === 0){\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\trowData2: [...tempSummeryData],\r\n\t\t\t\t\t\tdisplaySummeryData: true,\r\n\t\t\t\t\t\tisLoading: false\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tlet totalAll = 0;\r\n\t\t\t\t\tlet totalPassed = 0;\r\n\t\t\t\t\tlet totalFail = 0;\r\n\t\t\t\t\tlet totalRemoved = 0;\r\n\t\t\t\t\tlet totalPending = 0;\r\n\r\n\t\t\t\t\ttempSummeryData.forEach(p => {\r\n\t\t\t\t\t\ttotalAll = totalAll + parseInt(p.All);\r\n\t\t\t\t\t\ttotalPassed = totalPassed + parseInt(p.Passed);\r\n\t\t\t\t\t\ttotalFail = totalFail + parseInt(p.Failed);\r\n\t\t\t\t\t\ttotalRemoved = totalRemoved + parseInt(p.Removed);\r\n\t\t\t\t\t\ttotalPending = totalPending + parseInt(p.Pending);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tlet totalSummeryData = {\r\n\t\t\t\t\t\tTransactionType: \"Total\", \"All\" : totalAll, \"Passed\" : totalPassed, \"Failed\" : totalFail, \"Removed\" : totalRemoved, \"Pending\" : totalPending\r\n\t\t\t\t\t}\r\n\t\t\t\t\ttempSummeryData.push(totalSummeryData);\r\n\t\t\t\t\tconsole.log(tempSummeryData);\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t// \ttotalDataCount: response.data.TotalCount,\r\n\t\t\t\t\t\t//tempSummeryData: [...tempSummeryData],\r\n\t\t\t\t\t\trowData2: [...tempSummeryData],\r\n\t\t\t\t\t\tdisplaySummeryData: true,\r\n\t\t\t\t\t\tisLoading: false\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (this.gridApi) {\r\n\t\t\t\t\t\tthis.gridApi.hideOverlay();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\tconsole.log(\"submit error\", err);\r\n\t\t\tthis.setState({\r\n\t\t\t\tisLoading: false\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\ttransactionHistorySubmit(event) {\r\n\t\tevent.preventDefault();\r\n\t\tthis.setState({\r\n\t\t\tactivePage: 1,\r\n\t\t});\r\n\t\tif (this.gridApi) {\r\n\t\t\tthis.gridApi.showLoadingOverlay();\r\n\t\t};\r\n\t\tthis.getGridViewData(1);\r\n\t}\r\n\r\n\tSearchTransactionLogExcel(event){\r\n\t\tevent.preventDefault();\r\n\t\tlet tempTransactionRequest = this.transactionRequestJson(1, 1000);\r\n\t\tconsole.log(\"tempTransactionRequest\", tempTransactionRequest);\r\n\t\tlet pageNumber = 1;\r\n\r\n\t\tlet transactionRequest = {\r\n\t\t\t\"PageNumber\" : pageNumber - 1,\r\n\t\t\t\"PageSize\" : 1000,\r\n\t\t\t\"Critera\" : tempTransactionRequest,\r\n\t\t\t\"SortBy\": \"\",\r\n \t\t\"SortOrder\": \"\"\r\n\t\t};\r\n\t\t\r\n\t\tAPI.post(\"SearchTransactionLogExcel\", transactionRequest).then(response => {\r\n\t\t\t\r\n\t\t\tif(response && response.data ){\r\n\t\t\t\tlet excelBlob = new Blob( [response.data] , {type:'application/vnd.ms-excel'});\r\n\t\t\t\tlet csvFileurl = window.URL.createObjectURL(excelBlob);\r\n\t\t\t\tlet link = document.createElement(\"a\");\r\n\t\t\t\tdocument.body.appendChild(link);\r\n\t\t\t\tlink.href = csvFileurl;\r\n\t\t\t\tlink.download = \"TransactionHistory.csv\";\r\n\t\t\t\tlink.click();\r\n\t\t\t\tsetTimeout(function() {window.URL.revokeObjectURL(csvFileurl);},0);\r\n\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tdisplayRetriveData: true,\r\n\t\t\t\t\tisLoading: false\r\n\t\t\t\t})\r\n\t\t\t\t\r\n\t\t\t\tif (this.gridApi) {\r\n\t\t\t\t\tthis.gridApi.hideOverlay();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoading: false\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\tthis.setState({\r\n\t\t\t\tisLoading: false\r\n\t\t\t});\r\n\t\t\tconsole.log(\"submit error\", err);\r\n\t\t});\r\n\t}\r\n\r\n\thandlePageChange(pageNumber) {\r\n\t\tconsole.log(`active page is ${pageNumber}`);\r\n\t\tthis.setState({activePage: pageNumber});\r\n\t\tif (this.gridApi) {\r\n\t\t\tthis.gridApi.showLoadingOverlay();\r\n\t\t}\r\n\t\tthis.getGridViewData(pageNumber);\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n API.get('GetUserList')\r\n\t\t .then(GetUserListData => {\r\n\t\t\t if(GetUserListData && GetUserListData.data){\r\n\t\t\t\tlet selectObject = {\r\n\t\t\t\t\t\"Id\":\"\",\r\n\t\t\t\t\t\"UserName\":\"Select\"\r\n\t\t\t\t}\r\n\t\t\t\tlet userObject = [];\r\n\t\t\t\tuserObject.push(selectObject);\r\n\t\t\t\tGetUserListData.data.forEach(p=>{\r\n\t\t\t\t\tuserObject.push(p);\r\n\t\t\t\t});\r\n\t\t\t\tGetUserListData.data.push(\"Select User\");\r\n\t\t\t\t this.setState({userListDD: userObject});\r\n\t\t\t\t console.log(\"this.state.userListDD\", this.state.userListDD);\r\n\t\t\t }\r\n\t\t})\r\n\t\t.catch(err => console.log(err));\r\n }\r\n\t\r\n\thandleCheckboxChange = (event) => {\r\n\t\tlet transactionTypes = this.state.transactionTypes;\r\n\t\ttransactionTypes.forEach(transactionType => {\r\n\t\t if (transactionType.value === event.target.value)\r\n\t\t transactionType.isChecked = event.target.checked\r\n\t\t });\r\n\t\tthis.setState({transactionTypes: transactionTypes}, () => console.log(this.state.transactionTypes));\r\n\r\n\t\tlet transactionStatuses = this.state.transactionStatuses;\r\n\t\ttransactionStatuses.forEach(transactionStatus => {\r\n\t\t if (transactionStatus.value === event.target.value)\r\n\t\t transactionStatus.isChecked = event.target.checked\r\n\t\t });\r\n\t\tthis.setState({transactionStatuses: transactionStatuses});\r\n\r\n\t\tlet transactionSources = this.state.transactionSources;\r\n\t\ttransactionSources.forEach(transactionSource => {\r\n\t\t if (transactionSource.value === event.target.value)\r\n\t\t transactionSource.isChecked = event.target.checked\r\n\t\t });\r\n\t\tthis.setState({transactionSources: transactionSources});\r\n\r\n\t\tlet users = this.state.users;\r\n\t\tusers.forEach(user => {\r\n\t\t\tif(user){\r\n\t\t\t\tif (user.value === event.target.value){\r\n\t\t\t\t\tuser.isChecked = event.target.checked\r\n\t\t\t\t }\r\n\t\t\t\t if(user.value === \"chkOthers\" && user.isChecked === true){\r\n\t\t\t\t\t //alert(\"chkothers\");\r\n\t\t\t\t\t this.setState({\r\n\t\t\t\t\t\t isDisabled: false\r\n\t\t\t\t\t });\r\n\t\t\t\t }\r\n\t\t\t\t else if(user.value === \"chkOthers\"){\r\n\t\t\t\t\t this.setState({\r\n\t\t\t\t\t\t isDisabled: true,\r\n\t\t\t\t\t\t selectedUserListDD: ''\r\n\t\t\t\t\t });\r\n\t\t\t\t }\r\n\t\t\t\t console.log(\"this.state.isDisabled\",this.state.isDisabled)\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis.setState({users: users});\r\n\t\t//alert(\"checked\");\r\n\t}\r\n\r\n\tresetHistoryData = () => {\r\n\r\n\t\tlet users = this.state.users;\r\n\t\tusers.forEach(user => {\r\n\t\t user.isChecked = false\r\n\t\t});\r\n\t\r\n\t\tlet transactionTypes = this.state.transactionTypes;\r\n\t\ttransactionTypes.forEach(transactionType => {\r\n\t\t transactionType.isChecked = false\r\n\t\t});\r\n\r\n\t\tlet transactionStatuses = this.state.transactionStatuses;\r\n\t\ttransactionStatuses.forEach(transactionStatus => {\r\n\t\t transactionStatus.isChecked = false\r\n\t\t});\r\n\r\n\t\tlet transactionSources = this.state.transactionSources;\r\n\t\ttransactionSources.forEach(transactionSource => {\r\n\t\t transactionSource.isChecked = false\r\n\t\t});\r\n\r\n\t\tthis.setState({\r\n\t\t\trowData: [],\r\n\t\t\trowData2:[],\r\n\t\t\ttotalDataCount: 0,\r\n\t\t\tdisplaySummeryData: false,\r\n\t\t\tdisplayRetriveData: false,\r\n\t\t\ttxtPNR: '',\r\n\t\t\ttxtEvent: '',\r\n\t\t\ttxtBatch: '',\r\n\t\t\tinputEventValue: '',\r\n\t\t\tselectedUserListDD:'',\r\n\t\t\tusers: users,\r\n\t\t\ttransactionTypes: transactionTypes,\r\n\t\t\ttransactionStatuses: transactionStatuses,\r\n\t\t\ttransactionSources: transactionSources,\r\n\t\t\ttxtFromDate: new Date(),\r\n\t\t\ttxtToDate: new Date(),\r\n\t\t})\r\n\t}\r\n\r\n\trender(){\r\n\t\t\r\n\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t

Transaction History

\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{/*

{this.state.selectEventValue}

*/}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.transactionTypes.map((transactionType, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn ()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.transactionStatuses.map((transactionStatus, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn ()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* this.checkboxTest()} value={this.state.checkedItem}/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.checkboxTest()} value={this.state.checkedItem}/> */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.transactionSources.map((transactionSource, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn ()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.users.map((user, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn ()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{ this.state.isLoading &&
Loading... 
}  Search\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\tClear\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{/* { this.state.displaySummeryData && this.state.rowData2.length === 1 && this.state.rowData2[0].All === 0 && \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

Transaction Summary: No Records Found

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t} */}\r\n\t\t\t\t\t{ this.state.displaySummeryData &&\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t

Transaction Summary

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n\t\t\t\t\t{ this.state.displayRetriveData && this.state.rowData.length === 0 && \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

Total Transaction Records Found: {this.state.totalDataCount}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n\t\t\t\t\t{ this.state.displayRetriveData && this.state.rowData && this.state.rowData.length > 0 && \r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t

Transactions

\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t  Export To Excel\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n\t\t\t\t
\r\n\t\t\t
\r\n );\r\n\t}\r\n}\r\n\r\nexport default TransactionHistory;","import React, { Component } from 'react';\r\nimport { MDBContainer, MDBRow, MDBCol, MDBInput, MDBBtn, MDBCard, MDBCardBody, MDBCardTitle, MDBCloseIcon } from 'mdbreact';\r\n\r\nimport { AgGridReact } from 'ag-grid-react';\r\n\r\nimport { map, uniq, forEach, first, groupBy } from 'lodash';\r\nimport alertify from 'alertifyjs';\r\nimport API from '../../api';\r\n\r\n\r\nclass Refund extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n radio: 1,\r\n isLoading: false,\r\n pnrDataItems: [],\r\n\t\t\tpnrDataItem: {},\r\n\t\t\t\r\n pnrDataId: '',\r\n\t\t\tpnrRetriveError: \"\",\r\n\r\n\t\t\tprocessTransactionIds: '',\r\n\t\t\tpnrRetriveTimeOut: '',\r\n\r\n\t\t\tdisplayRetriveData: false,\r\n\t\t\tisClearDisabled: false,\r\n\t\t\tpnrInputError: true,\r\n\r\n\t\t\tchkStatusCounter: 0,\r\n\r\n\t\t\tisSubmitLoading: false,\r\n\t\t\tdisplayStatusDisplay: false,\r\n\r\n\t\t\tWaiverNamearray: [],\r\n columnDefs: [\r\n {headerName: 'Booking', field: 'BookingID', width: 100, tooltipField: 'BookingID', headerTooltip: \"Booking ID\"},\r\n {headerName: 'First Name', field: 'FirstName', width: 80, tooltipField: 'FirstName', headerTooltip: \"First Name\"},\r\n {headerName: 'Last Name', field: 'LastName', width: 80, tooltipField: 'LastName', headerTooltip: \"Last Name\"},\r\n\t\t\t\t{headerName: 'Validating Carrier', field: 'Carrier', width: 110, tooltipField: 'Carrier', headerTooltip: \"Validating Carrier\"},\r\n\t\t\t\t{headerName: 'Ticket', field: 'Ticket', width: 112, tooltipField: 'Ticket', headerTooltip: \"Ticket\"},\r\n {headerName: 'Refund Segments', field: 'RefundSegments', width: 120, tooltipField: 'RefundSegments', headerTooltip: \"Refund Segments\"},\r\n\t\t\t\t{headerName: 'Penalty', field: 'Penalty', \r\n\t\t\t\t\teditable: this.checkEditable.bind(this),\r\n\t\t\t\t\t//editable: true,\r\n\t\t\t\t\tcellClass: 'gridInputBox Penalty smallBox', \r\n\t\t\t\t\twidth: 60,\r\n\t\t\t\t\theaderTooltip: \"Penalty\"\r\n\t\t\t\t},\r\n\t\t\t\t{headerName: 'Status', field: 'Status', width: 70, cellRenderer: this.statusRendererFunc, headerTooltip: \"Status\"},\r\n\t\t\t\t{headerName: 'Error Message', field: 'ErrorMessage', width: 200, cellClass: 'jsErrorMessage', headerTooltip: \"Error Message\"} \r\n\t\t\t],\r\n\t\t\tcolumnDefs2: [\r\n {headerName: 'Validating Carrier', field: 'Airline', width: 100, headerTooltip: \"Validating Carrier\"},\r\n\t\t\t\t{\r\n\t\t\t\t\theaderName: 'Waiver', \r\n\t\t\t\t\tfield: 'WaiverName', \r\n\t\t\t\t\teditable: true, \r\n\t\t\t\t\twidth: 150,\r\n\t\t\t\t\tcellClass: 'gridSelectBox drpbox gridtxtWaiverName',\r\n\t\t\t\t\tcellEditorSelector:function (params){\r\n\t\t\t\t\t\tparams.values = params.data.WaiverNamearray;\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tcomponent: 'agSelectCellEditor'\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcellRenderer: this.WaiverboxNameChange,\r\n\t\t\t\t\theaderTooltip: \"Waiver\"\r\n\t\t\t\t},\r\n\t\t\t\t{headerName: 'Waiver Box', field: 'waiverbox', headerTooltip: \"Waiver Box\", editable: this.checkEditableWaiver.bind(this), width: 180, cellClass:\"gridInputBox txtcellBox waiverBoxSpacing\" },\r\n\t\t\t\t{headerName: 'OSI', field: 'OSI', headerTooltip: \"OSI\", editable: this.checkEditableWaiver.bind(this), width: 180, cellClass: 'gridInputBox txtcellOSI waiverBoxSpacing'},\r\n\t\t\t\t\r\n ],\r\n\t\t\trowSelection: \"multiple\",\r\n\t\t\tenableBrowserTooltips: true,\r\n defaultColDef: {\r\n\t\t resizable: false,\r\n\t\t headerCheckboxSelection: isFirstColumn,\r\n\t\t\t\tcheckboxSelection: isFirstColumn,\r\n\t\t\t\tsuppressHorizontalScroll: true,\r\n\t\t\t\tsortable: false,\r\n\t\t\t\tsuppressMovable: true,\r\n\t\t\t\tenableBrowserTooltips: true,\r\n\t\t\t},\r\n\t\t\tdefaultColDef2: {\r\n\t\t resizable: false,\r\n\t\t\t\tsuppressHorizontalScroll: true,\r\n\t\t\t\twidth: 130,\r\n\t\t\t\tsortable: false,\r\n\t\t\t\tsuppressMovable: true,\r\n\t\t\t\tenableBrowserTooltips: true,\r\n\t\t\t},\r\n\t\t\trowData: [],\r\n\t\t\trowData2: [],\r\n\t\t\theaderHeight: 50,\r\n\t\t\toverlayLoadingTemplate: 'Please wait while your rows are loading',\r\n \t\toverlayNoRowsTemplate: \"No Rows\",\r\n\t\t\tgetRowNodeId: function(data) {\r\n\t\t\t\treturn data.id;\r\n\t\t\t}\r\n };\r\n \r\n\r\n this.pnrHandleChange = this.pnrHandleChange.bind(this);\r\n\t\tthis.pnrRetriveClick = this.pnrRetriveClick.bind(this);\r\n\t\tthis.pnrRetriveSubmit = this.pnrRetriveSubmit.bind(this);\r\n\t\tthis.resetData = this.resetData.bind(this);\r\n\t\tthis.toggleStatusDisplay = this.toggleStatusDisplay.bind(this);\r\n\t}\r\n\t\r\n\r\n statusRendererFunc(params) {\r\n var html;\r\n if (params.value === \"Fail\") {\r\n html = ' Fail'\r\n\t\t}\r\n\t\tif (params.value === \"Pass\"){\r\n\t\t\thtml = ' Pass'\r\n\t\t}\r\n\t\tif (params.value === \"Pending\"){\r\n\t\t\thtml = ' Pending'\r\n\t\t}\r\n\t\tif (params.value === \"InProgress\"){\r\n\t\t\thtml = ' In Progress'\r\n\t\t}\r\n\t\t\r\n return html;\r\n\t}\r\n\r\n\tcheckEditable(params, event){\r\n\t\tif(params.node.selected){\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tconsole.log(\"editable params\" , params.node.selected);\r\n\t}\r\n\r\n\tcheckEditableWaiver(params){\r\n\t\tconsole.log(params.data.WaiverName);\r\n\t\tif(params.data.WaiverName === \"One Off Waiver\"){\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\tWaiverboxNameChange(params){\r\n\t\t//console.log(\"WaiverboxNameChange\",params);\r\n\t\tif(params.data && params.data.waiverboxarray){\r\n\t\tlet waiverBoxObject = params.data.waiverboxarray.filter(p=> p.WaiverName.toUpperCase() === params.value.toUpperCase());\r\n\t\tlet txtboxes = document.getElementsByClassName(\"txtcellBox\");\r\n\t\tlet txtosis = document.getElementsByClassName(\"txtcellOSI\");\r\n\t\tlet rowIndex = parseInt(params.rowIndex);\r\n\t\tif(waiverBoxObject && waiverBoxObject.length > 0){\r\n\t\t\t\r\n\t\t\tif(waiverBoxObject[0]){\r\n\t\t\t\tparams.data.waiverbox = waiverBoxObject[0].WaiverBox;\r\n\t\t\t\tparams.data.OSI = waiverBoxObject[0].OSI;\r\n\t\t\t\t\r\n\t\t\t\tconsole.log(\"row index\", rowIndex);\r\n\t\t\t\tconsole.log(\"txtboxes\", txtboxes);\r\n\t\t\t\tconsole.log(\"txtosis\", txtosis);\r\n\t\t\t\t//if(txtboxes && txtboxes.length>0){\r\n\t\t\t\t\t//for (var i = 0; i < txtboxes.length-1; i++) {\r\n\t\t\t\t\t\tif(txtboxes[rowIndex]){\r\n\t\t\t\t\t\t\ttxtboxes[rowIndex].innerHTML = params.data.waiverbox;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif(txtosis[rowIndex]){\r\n\t\t\t\t\t\t\t\ttxtosis[rowIndex].innerHTML = params.data.OSI;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t//}\r\n\t\t\t\t//}\r\n\t\t\t}\t\r\n\t\t\t\r\n\t\t}\r\n\t\telse{\r\n\t\t\tparams.data.waiverbox = \"\";\r\n\t\t\tparams.data.OSI = \"\";\r\n\t\t\tif(txtboxes[rowIndex]){\r\n\t\t\t\ttxtboxes[rowIndex].innerHTML = \"\";\r\n\t\t\t}\r\n\t\t\tif(txtosis[rowIndex]){\r\n\t\t\t\ttxtosis[rowIndex].innerHTML = \"\";\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\treturn params.value;\r\n\t}\r\n pnrHandleChange(event) {\r\n this.setState({\r\n pnrDataId: event.target.value\r\n });\r\n\t}\r\n\t\r\n\tpnrRetriveSubmit() {\r\n\t\tthis.setState({ isSubmitLoading: true }, () => {\r\n\t\t\t//event.preventDefault();\r\n\t\t\tthis.gridApi.stopEditing();\r\n\t\t\tthis.gridWaiverApi.stopEditing();\r\n\t\t\tlet penalties = document.getElementsByClassName(\"Penalty\");\r\n\t\t\tlet isErrorReceived = false;\r\n\t\t\tconsole.log(penalties);\r\n\t\t\t//console.log(\"pnrRetriveSubmit grid1 data: \", this.state.rowData );\r\n\t\t\t//console.log(\"pnrRetriveSubmit grid2 data: \", this.state.rowData2 );\r\n\r\n\t\t\tif (this.state.rowData) {\r\n\t\t\t\tlet reg = /^(\\d*\\.)?\\d+$/;\r\n\t\t\t\tthis.state.rowData.forEach(p => {\r\n\t\t\t\t\tlet testIsNumericPenalty = reg.test(p.Penalty);\r\n\t\t\t\t\tif (p && p.Penalty && !testIsNumericPenalty) {\r\n\t\t\t\t\t\talertify.error(\"Please enter decimal value in Penalty\");\r\n\t\t\t\t\t\tthis.setState({ isSubmitLoading: false });\r\n\t\t\t\t\t\tisErrorReceived = true;\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tif(isErrorReceived){\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.state.rowData2) {\r\n\t\t\t\tthis.state.rowData2.forEach(p => {\r\n\t\t\t\t\tif (p && p.OSI && p.OSI.length > 45) {\r\n\t\t\t\t\t\talertify.error(\"OSI value is more then 45 characters\");\r\n\t\t\t\t\t\tthis.setState({ isSubmitLoading: false });\r\n\t\t\t\t\t\tisErrorReceived = true;\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tif(isErrorReceived){\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.state.rowData2) {\r\n\t\t\t\tthis.state.rowData2.forEach(p => {\r\n\t\t\t\t\tif (p && p.waiverbox && p.waiverbox.length > 45) {\r\n\t\t\t\t\t\talertify.error(\"waiverbox value is more then 45 characters\");\r\n\t\t\t\t\t\tthis.setState({ isSubmitLoading: false });\r\n\t\t\t\t\t\tisErrorReceived = true;\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tif(isErrorReceived){\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tlet RefundRequests = [];\r\n\t\t\t\r\n\t\t\tlet selectedBookingIds = this.state.rowData.filter(p=>p.isSelected && !p.Status);\r\n\t\t\r\n\t\t\tif(selectedBookingIds && selectedBookingIds.length > 0){\r\n\t\t\t\tselectedBookingIds.forEach(p=>{\r\n\t\t\t\t\tlet waiverCodeObjectArray = this.state.rowData2.filter(p1=>p1.Airline.toUpperCase() === p.Carrier.toUpperCase());\r\n\t\t\t\t\tlet waiverCodeObject = (waiverCodeObjectArray && waiverCodeObjectArray.length > 0) ? waiverCodeObjectArray[0] : null;\r\n\t\t\t\t\tif(waiverCodeObject && waiverCodeObject.WaiverName === \"One Off Waiver\" && !waiverCodeObject.waiverbox && !waiverCodeObject.OSI){\r\n\t\t\t\t\t\talertify.error(\"Please enter value in at least WaiverBox or OSI\");\r\n\t\t\t\t\t\tthis.setState({ isSubmitLoading: false });\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlet submitRequestJSON = {\r\n\t\t\t\t\t\t\"BookingID\": p.BookingID,\r\n\t\t\t\t\t\t\"Carrier\": p.Carrier,\r\n\t\t\t\t\t\t\"Pnr\": this.state.pnrDataId,\r\n\t\t\t\t\t\t\"Ticket\": p.Ticket,\r\n\t\t\t\t\t\t\"Waiver\": (waiverCodeObject && waiverCodeObject.WaiverName !== \"Select\") ? \"Y\" : \"N\",\r\n\t\t\t\t\t\t\"WaiverBox\": waiverCodeObject ? waiverCodeObject.waiverbox : \"\",\r\n\t\t\t\t\t\t\"OSI\": waiverCodeObject ? waiverCodeObject.OSI : \"\",\r\n\t\t\t\t\t\t\"Penalty\": (p.Penalty && parseFloat(p.Penalty) > 0) ? \"Y\" : \"N\",\r\n\t\t\t\t\t\t\"PenaltyAmount\": p.Penalty,\r\n\t\t\t\t\t\t\"Event\": \"Single PNR Refund\",\r\n\t\t\t\t\t\t\"Source\": \"Screen\",\r\n\t\t\t\t\t\t\"Cancel\": this.state.radio === 2 ? \"Y\" : \"N\"\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\tRefundRequests.push(submitRequestJSON);\r\n\t\t\t\t});\r\n\t\t\t\r\n\t\t\t\tRefundRequests.forEach(p => {\r\n\t\t\t\t\tif (p.PenaltyAmount === \"\" && p.WaiverBox === \"\" && p.OSI === \"\" && p.WaiverName === \"Select\") {\r\n\t\t\t\t\t\talertify.error(\"Please enter at least Penalty or Select Waiver\");\r\n\t\t\t\t\t\tthis.setState({ isSubmitLoading: false });\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\tlet penaltyCheck = RefundRequests.filter(p=>p.Penalty === \"N\" && p.Waiver === \"N\")\r\n\t\t\t\tif(penaltyCheck && penaltyCheck.length > 0){\r\n\t\t\t\t\talertify.error(\"Please enter at least Penalty or Select Waiver\");\r\n\t\t\t\t\tthis.setState({ isSubmitLoading: false });\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlet waiverCheck = RefundRequests.filter(p=>p.Penalty === \"Y\" && p.Waiver === \"Y\")\r\n\t\t\t\tif(waiverCheck && waiverCheck.length > 0){\r\n\t\t\t\t\talertify.error(\"Please enter Penalty 0\");\r\n\t\t\t\t\tthis.setState({ isSubmitLoading: false });\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlet tempRequest = { RefundRequests };\r\n\t\t\t\tif(RefundRequests && RefundRequests.length > 0){\r\n\t\t\t\t\tAPI.post(\"SubmitRefundRQ\", tempRequest).then(response => {\r\n\t\t\t\t\t\tif(response && response.data && response.data.length > 0){\r\n\t\t\t\t\t\t\tlet transactionIds = response.data.join();\r\n\t\t\t\t\t\t\tthis.getTransactionStatus(transactionIds);\r\n\t\t\t\t\t\t\tthis.chkStatusCounterHandle();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((err) => {\r\n\t\t\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\t\t\tconsole.log(\"submit error\", err);\r\n\t\t\t\t\t\tthis.setState({ isSubmitLoading: false });\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\talertify.error(\"Choose penalty or waiver\");\r\n\t\t\t\t\t\tthis.setState({ isSubmitLoading: false });\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tlet selectedBookingIds = this.state.rowData.filter(p=>p.isSelected && p.Status);\r\n\t\t\t\t\t\tif(selectedBookingIds.length > 0){\r\n\t\t\t\t\t\t\talertify.error(\"Refund for Selected Ticket is already processed\");\r\n\t\t\t\t\t\t\tthis.setState({ isSubmitLoading: false });\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\talertify.error(\"Select at least one ticket\");\r\n\t\t\t\t\t\t\tthis.setState({ isSubmitLoading: false });\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tgetTransactionStatus(transactionIds){\r\n\t\t\r\n\t\tAPI.get('GetTransactionStaus?TransactionID=' + transactionIds).then(transactionResponse => {\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\tlet tempRowData = this.state.rowData;\r\n\t\t\ttempRowData.forEach(oldElmt => {\r\n\t\t\t\tlet processPnrData = transactionResponse.data.filter(p=>p.TicketNumber === oldElmt.Ticket);\r\n\t\t\t\tif(processPnrData[0]){\r\n\t\t\t\t\toldElmt.Status = processPnrData[0].Status;\r\n\t\t\t\t\toldElmt.ErrorMessage = processPnrData[0].ErrorMessage;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tconsole.log(tempRowData);\r\n\t\t\tthis.setState({\r\n\t\t\t\tisSubmitLoading: false,\r\n\t\t\t\trowData: [...tempRowData],\r\n\t\t\t\trowData2: [...this.state.rowData2],\r\n\t\t\t\ttransactionIds : transactionIds\r\n\t\t\t});\r\n\r\n\t\t\tthis.gridApi.updateRowData({ update: tempRowData});\r\n\t\t\tlet tmpStatusCountChk = tempRowData.filter( p => p.Status && p.isSelected && p.Status !== '' );\r\n\t\t\t\r\n\t\t\tlet statusCountChk = tempRowData.filter(p => p.Status && p.isSelected && (p.Status !== '' && p.Status.toUpperCase() !== \"PENDING\" && p.Status.toUpperCase() !== \"INPROGRESS\" && ((p.Status.toUpperCase() === \"PASS\" && p.ErrorMessage === '') || (p.Status.toUpperCase() === \"FAIL\" && p.ErrorMessage !== ''))));\r\n\t\t\tlet selectedBookingIds = this.state.rowData.filter(p=>p.isSelected && !p.Status);\r\n\r\n\t\t\t//let tmpStatusCountChk = tempRowData.filter( p => p.Status && p.Status !== '' );\r\n\t\t\t\r\n\t\t\t//let statusCountChk = tempRowData.filter(p => p.Status && (p.Status !== '' && p.Status.toUpperCase() !== \"PENDING\" && p.Status.toUpperCase() !== \"INPROGRESS\"));\r\n\t\t\t\r\n\t\t\tif(statusCountChk.length === tmpStatusCountChk.length){\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\ttransactionIds: ''\r\n\t\t\t\t});\r\n\t\t\t\tclearInterval(this.state.pnrRetriveTimeOut);\r\n\t\t\t}\r\n\t\t\telse if(this.state.chkStatusCounter >= 24 && selectedBookingIds.length !== statusCountChk.length){\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tchkStatusCounter: 0\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse if(this.state.chkStatusCounter === 24){\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\ttransactionIds: '',\r\n\t\t\t\t\tchkStatusCounter: 0,\r\n\t\t\t\t\tdisplayStatusDisplay: true\r\n\t\t\t\t});\r\n\t\t\t\tclearInterval(this.state.pnrRetriveTimeOut);\r\n\t\t\t\t//alertify.error(\"Sorry we are unable to retrieve status. Please check Transaction History\");\r\n\t\t\t}\r\n\t\t\t// else if(this.state.chkStatusCounter >= 24 && selectedBookingIds.length !== statusCountChk.length){\r\n\t\t\t// \tthis.setState({\r\n\t\t\t// \t\ttransactionIds: '',\r\n\t\t\t// \t\tchkStatusCounter: 0,\r\n\t\t\t// \t\tdisplayStatusDisplay: true\r\n\t\t\t// \t});\r\n\t\t\t// \tclearInterval(this.state.pnrRetriveTimeOut);\r\n\t\t\t// }\r\n\t\t\t// else if(this.state.chkStatusCounter === 24){\r\n\t\t\t// \tthis.setState({\r\n\t\t\t// \t\ttransactionIds: '',\r\n\t\t\t// \t\tchkStatusCounter: 0,\r\n\t\t\t// \t\tdisplayStatusDisplay: true\r\n\t\t\t// \t});\r\n\t\t\t// \tclearInterval(this.state.pnrRetriveTimeOut);\r\n\t\t\t// \t//alertify.error(\"Sorry we are unable to retrieve status. Please check Transaction History\");\r\n\t\t\t// }\r\n\t\t\t\r\n\t\t\ttempRowData.forEach(p => {\r\n\t\t\t\tif(p.Status === 'Passed'){\r\n\t\t\t\t\talertify.success(\"PNR Refund Processed Successfully\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif(p.Status === 'Failed'){\r\n\t\t\t\t\talertify.error(\"PNR Refund Failed\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tfor(let i=0; i<=document.getElementsByClassName(\"jsErrorMessage\").length-1;i++){\r\n\t\t\t\tif(document.getElementsByClassName(\"jsErrorMessage\")[i].innerText.length > 0) \r\n\t\t\t\t{\r\n\t\t\t\t\tdocument.getElementsByClassName(\"jsErrorMessage\")[i].setAttribute(\"Title\", document.getElementsByClassName(\"jsErrorMessage\")[i].innerText);\r\n\t\t\t\t} \r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\talertify.error('Error retriving transaction');\r\n\t\t\tconsole.log('Error retriving transaction', err);\r\n\t\t\tthis.setState({\r\n\t\t\t\ttransactionIds: '',\r\n\t\t\t\tchkStatusCounter: 0,\r\n\t\t\t\tdisplayStatusDisplay: true,\r\n\t\t\t\tisSubmitLoading: false\r\n\t\t\t});\r\n\t\t\tclearInterval(this.state.pnrRetriveTimeOut);\r\n\t\t\t//this.setState({ isSubmitLoading: false });\r\n\t\t});\r\n\t}\r\n\r\n\ttoggleStatusDisplay(event){\r\n\t\tevent.preventDefault();\r\n\t\tthis.setState({\r\n\t\t\tdisplayStatusDisplay: false\r\n\t\t});\r\n\t}\r\n\r\n\tgetWaiverCodeData = (waiverData) => {\r\n\t\tlet airlineresult = groupBy(waiverData,\"Airline\");\r\n\t\tlet waiverboxarray = [];\r\n\t\tlet WaiverNamearray = [];\r\n\t\t//WaiverNamearray.push(\"Select\");\r\n\t\tvar newWaiverItems = [\"Select\", \"One Off Waiver\"];\r\n\t\tWaiverNamearray.push(...newWaiverItems);\r\n\t\tconsole.log(WaiverNamearray);\r\n\t\tlet airlineObject;\r\n\t\tlet airlineObjectArray = [];\r\n\t\tforEach(airlineresult, function(value) {\r\n\t\t\t//console.log(\"WaiverNameCheck\",value);\r\n\t\t\twaiverboxarray = value;//map(value, 'WaiverBox');\r\n\t\t\tWaiverNamearray = WaiverNamearray.concat(map(value, 'WaiverName'));\r\n\t\t\tlet airline = first( map(value, 'Airline'), 'Airline');\r\n\t\t\tlet WaiverBoxObj = value.filter(p=>p.WaiverName.toUpperCase() === WaiverNamearray[0].toUpperCase());\r\n\t\t\t//console.log(\"WaiverBoxObj\",WaiverBoxObj);\r\n\t\t\tlet WaiverBox = (WaiverBoxObj && WaiverBoxObj.length > 0) ? WaiverBoxObj[0].WaiverBox : \"\";\r\n\t\t\tlet OSI = (WaiverBoxObj && WaiverBoxObj.length > 0) ? WaiverBoxObj[0].OSI : \"\";\r\n\t\t\t//console.log(\"WaiverBox chk\",WaiverBox);\r\n\t\t\tairlineObject = { \"waiverboxarray\" : waiverboxarray, \"waiverbox\" : WaiverBox,\"WaiverName\" : WaiverNamearray[0], \"WaiverNamearray\" : WaiverNamearray, \"Airline\" : airline, \"OSI\" : OSI }\r\n\t\t\t//this.aireLineWaiverNamearray.push(airlineObject)\r\n\t\t\tairlineObjectArray.push(airlineObject);\r\n\t\t\tWaiverNamearray = [];\r\n\t\t\twaiverboxarray = [];\r\n\t\t});\r\n\r\n\t\treturn airlineObjectArray[0];\r\n\t}\r\n\r\n pnrRetriveClick = () => {\r\n\t\tthis.setState({ isLoading: true, pnrInputError: true, pnrRetriveError:\"\", isClearDisabled:true, displayRetriveData: false }, () => {\r\n\t\t\tAPI.get('GetRefundPnrDetails?pnr='+this.state.pnrDataId.toUpperCase())\r\n\t\t\t.then(pnrRetriveData => {\r\n\t\t\t\tif(pnrRetriveData.data && pnrRetriveData.data.RefundTickets && pnrRetriveData.data.RefundTickets.length > 0){\r\n\t\t\t\t\tlet uniqueCarrier = uniq(map(pnrRetriveData.data.RefundTickets, 'Carrier'));\r\n\t\t\t\t\tlet carrierApiOutpt = [];\r\n\t\t\t\t\tuniqueCarrier.forEach((item, index, array) => {\r\n\t\t\t\t\t\tAPI.get('/GetRefundWaivers?AirLine='+item)\r\n\t\t\t\t\t\t\t.then(waiverCodeData => {\r\n\t\t\t\t\t\t\t\tif(waiverCodeData.data && waiverCodeData.data.length > 0){\r\n\t\t\t\t\t\t\t\t\tlet waiverFormatData = this.getWaiverCodeData(waiverCodeData.data);\r\n\t\t\t\t\t\t\t\t\tcarrierApiOutpt.push(waiverFormatData);\r\n\t\t\t\t\t\t\t\t\tpnrRetriveData.data.RefundTickets.forEach(function(elmt){\r\n\t\t\t\t\t\t\t\t\t\telmt.Penalty = \"\";\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t//if(index === (array.length - 1)){\r\n\t\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\t\tisLoading: false,\r\n\t\t\t\t\t\t\t\t\t\t\tpnrInputError: true,\r\n\t\t\t\t\t\t\t\t\t\t\tpnrDataItems: [...pnrRetriveData.data.RefundTickets],\r\n\t\t\t\t\t\t\t\t\t\t\trowData: [...pnrRetriveData.data.RefundTickets],\r\n\t\t\t\t\t\t\t\t\t\t\trowData2: [...carrierApiOutpt],\r\n\t\t\t\t\t\t\t\t\t\t\tdisplayRetriveData: true,\r\n\t\t\t\t\t\t\t\t\t\t\tisClearDisabled:false\r\n\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t //}\r\n\t\t\t\t\t\t\t\t\tthis.WaiverNamearray = waiverFormatData.WaiverNamearray;\r\n\t\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\t\tlet WaiverNamearray = [];\r\n\t\t\t\t\t\t\t\t\t//var newWaiverItems = [\"One Off Waiver\"];\r\n\t\t\t\t\t\t\t\t\tvar newWaiverItems = [\"Select\", \"One Off Waiver\"];\r\n\t\t\t\t\t\t\t\t\tWaiverNamearray.push(...newWaiverItems);\r\n\t\t\t\t\t\t\t\t\tlet airlineObject = { \"waiverboxarray\" : null, \"waiverbox\" : \"\", \"WaiverName\" : WaiverNamearray[0], \"WaiverNamearray\" : WaiverNamearray, \"Airline\" : item, \"OSI\" : \"\" };\r\n\t\t\t\t\t\t\t\t\tcarrierApiOutpt.push(airlineObject);\r\n\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\trowData: [...pnrRetriveData.data.RefundTickets],\r\n\t\t\t\t\t\t\t\t\t\trowData2: [...carrierApiOutpt],\r\n\t\t\t\t\t\t\t\t\t\tisLoading: false,\r\n\t\t\t\t\t\t\t\t\t\tdisplayRetriveData: true,\r\n\t\t\t\t\t\t\t\t\t\tisClearDisabled:false\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}).catch((err) => {\r\n\t\t\t\t\t\t\t\tthis.setState({ isLoading: false, pnrInputError:false, pnrRetriveError: \"System Error - unable to retrieve data from server\", displayRetriveData: false, isClearDisabled:false })\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\t// event.preventDefault();\r\n\t\t\t\t\tthis.setState({ isLoading: false, pnrInputError:false, pnrRetriveError: pnrRetriveData.data.ErrorMessage, displayRetriveData: false, isClearDisabled:false })\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.setState({ isLoading: false, pnrInputError:false, pnrRetriveError: \"System Error - unable to retrieve data from server\", displayRetriveData: false, isClearDisabled:false })\r\n\t\t\t});\r\n });\r\n\t}\r\n\r\n\thandleEnterClick(event) {\r\n\t\tif (event.which === 13 /* Enter */) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tthis.pnrRetriveClick();\r\n\t\t}\r\n\t}\r\n\r\n\tonRowSelected(event,params) {\r\n\t\tevent.data.isSelected = event.node.selected;\r\n\t\tvar selectedData = this.gridApi.getSelectedRows();\r\n\t\tconsole.log(selectedData);\r\n\t\tconsole.log(\"editable params\", params);\r\n\t\tif(!event.node.selected){\r\n\t\t\tvar penaltyData = document.querySelectorAll('.Penalty .ag-cell-wrapper .ag-cell-value');\r\n\t\t\tthis.gridApi.stopEditing();\r\n\t\t\tpenaltyData.innerHTML = '';\r\n\t\t\tpenaltyData.innerText = '';\r\n\t\t\tconsole.log(\"penaltyData innerHTML\", penaltyData.innerHTML);\r\n\t\t\tevent.data.Penalty = '';\r\n\t\t\tconsole.log(event.data.Penalty);\r\n\t\t}\r\n\t\tconsole.log(event.data);\r\n\t\treturn event;\r\n\t}\r\n\r\n\tonCellValueChanged(event) {\r\n\t\t//event.value = event.data.Penalty\r\n\t\tconsole.log(\"data after changes is: \", event.data);\r\n\t\t//this.gridApi.stopEditing();\r\n\t\t//return event.value;\r\n\t}\r\n\r\n\tchkStatusCounterHandle() {\r\n\t\tlet pnrRetriveTimeOut = setInterval(() => {\r\n\t\t\tconsole.log(this.state.transactionIds);\r\n\t\t\tif(this.state.transactionIds){\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tchkStatusCounter: this.state.chkStatusCounter + 1\r\n\t\t\t\t});\r\n\t\t\t\tconsole.log(\"get transaction called\", this.state.transactionIds)\r\n\t\t\t\tthis.getTransactionStatus(this.state.transactionIds);\t\r\n\t\t\t}\r\n\t\t},5000);\r\n\t\tthis.setState({ pnrRetriveTimeOut: pnrRetriveTimeOut })\r\n\t}\r\n\r\n\tcomponentWillUnmount() {\r\n\t\tconsole.log(\"Unmounting pnrRetriveTimeOut\", this.state.pnrRetriveTimeOut)\r\n\t\tclearInterval(this.state.pnrRetriveTimeOut);\r\n\t}\r\n\t\r\n\tonGridWaiverReady = params => {\r\n\t this.gridWaiverApi = params.api;\r\n this.gridWaiverColumnApi = params.columnApi;\r\n\t\tparams.api.sizeColumnsToFit();\r\n\t};\r\n\r\n\tonGridReady = params => {\r\n\t this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n\t\tparams.api.sizeColumnsToFit();\r\n\t};\r\n\r\n onClick = nr => () =>{\r\n this.setState({\r\n radio: nr\r\n });\r\n\t}\r\n\t\r\n\tresetData = () => {\r\n\t\tclearInterval(this.state.pnrRetriveTimeOut);\r\n\t\tthis.setState({\r\n\t\t\tpnrDataId: '',\r\n\t\t\tdisplayRetriveData: false,\r\n\t\t\tpnrInputError: true,\r\n\t\t\tpnrRetriveError: '',\r\n\t\t\tradio: 1,\r\n\t\t\tdisplayStatusDisplay: false,\r\n\t\t\tchkStatusCounter: 0,\r\n\t\t})\r\n\t}\r\n\r\n render() {\r\n const { isLoading, pnrRetriveError,displayRetriveData, pnrInputError, isClearDisabled, displayStatusDisplay } = this.state;\r\n \r\n return (\r\n\t\t\t<>\r\n\t\t\t{ displayStatusDisplay && \r\n\t\t\t\t
\r\n\t\t\t\t\tSorry, We are unable to retrieve status from server. Please check Transaction History.\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t}\r\n
\r\n

PNR Refund

\r\n \r\n \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ isLoading &&
Loading... 
} Search\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tClear\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
{ pnrRetriveError }
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{ displayRetriveData && \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

Ticket Details

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n \r\n

Select Waiver Code

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tSelect Action Type\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ this.state.isSubmitLoading &&
Loading... 
} Process\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n\t\t\t\t
\r\n
\r\n\t\t\t\r\n );\r\n }\r\n}\r\n\r\nfunction isFirstColumn(params) {\r\n\tif(params && params.columnApi)\r\n {\r\n\t\tvar displayedColumns = params.columnApi.getAllDisplayedColumns();\r\n\t\tvar thisIsFirstColumn = displayedColumns[0] === params.column;\r\n \treturn thisIsFirstColumn;\r\n\t}\r\n}\r\n\r\n\r\n\r\n\r\nexport default Refund;\r\n","import React, { Component } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport Select, { components } from \"react-select\";\r\n\r\nconst Option = props => (\r\n
\r\n \r\n null} />{\" \"}\r\n \r\n \r\n \r\n \r\n
\r\n);\r\n\r\nconst MultiValue = props => (\r\n \r\n {props.data.Name}\r\n \r\n);\r\n\r\nclass MultipleSelect extends Component {\r\n static propTypes = {\r\n options: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n Name: PropTypes.node,\r\n Origin: PropTypes.node,\r\n Destination: PropTypes.node,\r\n value: PropTypes.node\r\n })\r\n ).isRequired,\r\n onChangeCallback: PropTypes.func.isRequired\r\n };\r\n\r\n static defaultProps = {\r\n options: []\r\n };\r\n\r\n render() {\r\n const { options, onChangeCallback, ...otherProps } = this.props;\r\n\r\n return (\r\n onChangeCallback(e)}\r\n {...otherProps}\r\n />\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default MultipleSelect;\r\n","import React, {Component} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport MultipleSelect from \"../common/MultipleSelect\";\r\n\r\nexport default class SegmentEditor extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n segmentOptionProps: this.props.node.data.ExchangeSegments\r\n }\r\n //this.onHappyClick = this.onHappyClick.bind(this);\r\n\r\n console.log(\"ExchangeSegments\",this.props.node.data.ExchangeSegments); \r\n this.invokePopupMethod = this.invokePopupMethod.bind(this);\r\n console.log(\"props\", this.props.context.componentParent.state.selectedSegmentVal);\r\n if(this.props && this.props.node && this.props.node.data && this.props.node.data.ExchangeSegments){\r\n this.props.node.data.ExchangeSegments.forEach(element => {\r\n element.value = element.Name;\r\n element.isSelected = true;\r\n });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.focus();\r\n }\r\n\r\n componentDidUpdate() {\r\n this.focus();\r\n }\r\n\r\n focus() {\r\n window.setTimeout(() => {\r\n let container = ReactDOM.findDOMNode(this.refs.container);\r\n if (container) {\r\n container.focus();\r\n }\r\n })\r\n }\r\n\r\n getValue() {\r\n return this.state.segmentOptionProps;\r\n }\r\n\r\n isPopup() {\r\n return true;\r\n }\r\n\r\n onHappyClick() {\r\n // this.props.api.stopEditing()\r\n alert(\"click\");\r\n }\r\n\r\n invokePopupMethod(response) {\r\n console.log(\"InvokePopupCalled\",this.props.node.data.ExchangeSegments);\r\n \r\n this.props.node.data.selectedSegments = response;\r\n console.log(\"selectedSegments response\" , response);\r\n \r\n }\r\n\r\n render() {\r\n let mood = {\r\n borderRadius: 0,\r\n border: \"1px solid grey\",\r\n background: \"#e6e6e6\",\r\n padding: 0,\r\n textAlign: \"center\",\r\n display: \"inline-block\",\r\n width: \"200px\",\r\n Height: \"200px\"\r\n };\r\n\r\nfunction demo(data){\r\n //alert(\"hello\");\r\n console.log(\"Data passed\", JSON.stringify(data));\r\n}\r\n return (\r\n
\r\n { demo(this.props.node.data.ExchangeSegments) }\r\n {/* */}\r\n { this.invokePopupMethod(response); } } />\r\n
\r\n );\r\n }\r\n}","import React, {Component} from \"react\";\r\n\r\nexport default class SegmentRenderer extends Component {\r\n\r\n getSegments(segments) {\r\n var str = \"\";\r\n if(segments){\r\n segments = segments.sort((a,b) => (a.Name > b.Name) ? 1 : ((b.Name > a.Name) ? -1 : 0));\r\n //segments = segments.sort((a, b) => a - b);\r\n segments.forEach(element => {\r\n str += \",\" + element.Name;\r\n });\r\n str = str.substr(1,str.length);\r\n }\r\n \r\n console.log(str);\r\n return str;\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n {this.getSegments(this.props.node.data.selectedSegments)}\r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\n// eslint-disable-next-line\r\nimport { MDBContainer, MDBRow, MDBCol, MDBInput, MDBBtn, MDBCard, MDBCardBody, MDBCloseIcon } from 'mdbreact';\r\n// eslint-disable-next-line\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport API from '../../api';\r\nimport SegmentEditor from \"../common/segmentEditor\";\r\nimport SegmentRenderer from \"../common/segmentRenderer\";\r\nimport { map, uniq, forEach, first, groupBy } from 'lodash';\r\nimport alertify from 'alertifyjs';\r\n\r\nclass Exchange extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n exchangeInputError: true,\r\n isLoading: false,\r\n exchangePnrDataId: '',\r\n pnrRetriveError: \"\",\r\n displaySummeryData: false,\r\n isDisplayPopup: false,\r\n selectedSegmentVal: [],\r\n\r\n chkStatusCounter: 0,\r\n\t\t\tisSubmitLoading: false,\r\n\t\t\t\r\n\t\t\tdisplayRetriveData: false,\r\n\t\t\tdisplayStatusDisplay: false,\r\n\t\t\tisClearDisabled: false,\r\n \r\n \tcolumnDefs: [\r\n {headerName: 'Booking', field: 'BookingID', width: 120, headerTooltip: \"Booking ID\", tooltipField: 'BookingID'},\r\n {headerName: 'PAX', field: 'FirstName', width: 150, cellRenderer: this.getPaxName, headerTooltip: \"Passenger Name\", tooltipField: 'FirstName'},\r\n {headerName: 'Validating Carrier', field: 'Carrier', width: 135, headerTooltip: \"Validating Carrier\", tooltipField: 'Carrier'},\r\n {headerName: 'Ticket', field: 'Ticket', width: 150, headerTooltip: \"Ticket Number\", tooltipField: 'Ticket'},\r\n // {headerName: 'Pricing Type', field: 'PricingType', width: 100},\r\n\t\t\t\t{headerName: 'Exhange Fee', field: 'ExchangeFee', \r\n\t\t\t\t\teditable: this.checkEditable.bind(this), \r\n\t\t\t\t\tcellClass: 'gridInputBox exchangeFee Penalty smallBox', \r\n\t\t\t\t\twidth: 110, \r\n\t\t\t\t\theaderTooltip: \"Exhange Fee\"\r\n\t\t\t\t},\r\n {headerName: 'New Segments', field: 'ExchangeSegments', editable: this.checkEditable.bind(this), \r\n width: 220,\r\n cellRenderer: \"segmentRenderer\",\r\n cellEditor: \"segmentEditor\",\r\n // cellRenderer: \"SegmentDataRenderer\",\r\n colId: \"params\", \r\n\t\t\t\t\tcellClass: 'gridSelectBox sgBox',\r\n\t\t\t\t\theaderTooltip: \"New Segments\"\r\n }, \r\n {headerName: 'Status', field: 'Status', width: 90, cellRenderer: this.statusRendererFunc, headerTooltip: \"Status\"},\r\n {headerName: 'Error Message', field: 'ErrorMessage', width: 240, cellClass: 'jsErrorMessage', headerTooltip: \"Error Message\"}\r\n ],\r\n columnDefs2: [\r\n {headerName: 'Validating Carrier', field: 'Airline', headerTooltip: \"Validating Carrier\"},\r\n {\r\n\t\t\t\t\theaderName: 'Waiver', \r\n\t\t\t\t\tfield: 'WaiverName', \r\n\t\t\t\t\teditable: true, \r\n\t\t\t\t\twidth: 150,\r\n\t\t\t\t\tcellClass: 'gridSelectBox drpbox gridtxtWaiverName',\r\n\t\t\t\t\theaderTooltip: \"Waiver\",\r\n\t\t\t\t\tcellEditorSelector:function (params){\r\n params.values = params.data.WaiverNamearray;\r\n return {\r\n component: 'agSelectCellEditor'\r\n };\r\n },\r\n\t\t\t\tcellRenderer: this.WaiverboxNameChange\r\n\t\t\t },\r\n {headerName: 'Tour Code', field: 'TourCode', tooltipField: 'TourCode', headerTooltip: \"Tour Code\", cellClass:\"gridInputBox txtcellBox waiverBoxSpacing\", editable: this.checkEditableWaiver.bind(this)},\r\n {headerName: 'OSI', field: 'OSI', tooltipField: 'OSI', headerTooltip: \"OSI\", cellClass: 'gridInputBox txtcellOSI waiverBoxSpacing', editable: this.checkEditableWaiver.bind(this)},\r\n {headerName: 'Endorsement', field: 'Endorsement', tooltipField: 'Endorsement', headerTooltip: \"Endorsement\", cellClass: 'gridInputBox txtcellEndo waiverBoxSpacing', editable: this.checkEditableWaiver.bind(this)}\r\n ],\r\n rowData1: [],\r\n rowData2: [],\r\n rowDataSegments: [],\r\n columnDefsSegments: [\r\n {headerName: 'Name', field: 'Name'},\r\n {headerName: 'Origin', field: 'Origin'},\r\n {headerName: 'Destination', field: 'Destination'}\r\n ],\r\n rowSelection: \"multiple\",\r\n context: { componentParent: this },\r\n frameworkComponents: {\r\n //SegmentDataRenderer: SegmentDataRenderer,\r\n segmentRenderer: SegmentRenderer,\r\n segmentEditor: SegmentEditor\r\n },\r\n rowHeight: 50,\r\n defaultColDef: {\r\n\t\t resizable: false,\r\n\t\t headerCheckboxSelection: isFirstColumn,\r\n \t\tcheckboxSelection: isFirstColumn,\r\n\t\t\t\twidth: 130,\r\n\t\t\t\tsortable: false,\r\n\t\t\t\tsuppressMovable: true,\r\n\t\t\t\tsuppressHorizontalScroll: false,\r\n\t\t\t\tenableBrowserTooltips: true,\r\n },\r\n defaultColDef2: {\r\n\t\t resizable: false,\r\n\t\t\t\twidth: 130,\r\n\t\t\t\tsortable: false,\r\n\t\t\t\tsuppressMovable: true,\r\n\t\t\t\tenableBrowserTooltips: true,\r\n\t\t }\r\n }\r\n\r\n this.exchangeHandleChange = this.exchangeHandleChange.bind(this);\r\n this.exchangePnrClick = this.exchangePnrClick.bind(this);\r\n\t\tthis.pnrRetriveSubmit = this.pnrRetriveSubmit.bind(this);\r\n\t\tthis.resetData = this.resetData.bind(this);\r\n\t\tthis.toggleStatusDisplay = this.toggleStatusDisplay.bind(this);\r\n\t\t// this.exchangeRetriveSubmit = this.exchangeRetriveSubmit.bind(this);\r\n }\r\n\r\n checkEditableWaiver(params){\r\n\t\tconsole.log(params.data.WaiverName);\r\n\t\tif(params.data.WaiverName === \"One Off Waiver\"){\r\n\t\t\treturn true;\r\n\t\t}\r\n }\r\n \r\n checkEditable(params){\r\n\t\tif(params.node.selected){\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tconsole.log(\"editable params\" , params.node.selected);\r\n\t}\r\n\r\n statusRendererFunc(params) {\r\n var html;\r\n if (params.value === \"Fail\") {\r\n html = ' Fail'\r\n\t\t}\r\n\t\tif (params.value === \"Pass\"){\r\n\t\t\thtml = ' Pass'\r\n\t\t}\r\n\t\tif (params.value === \"Pending\"){\r\n\t\t\thtml = ' Pending'\r\n\t\t}\r\n\t\tif (params.value === \"InProgress\"){\r\n\t\t\thtml = ' In Progress'\r\n\t\t}\t\r\n return html;\r\n }\r\n \r\n getPaxName(params){\r\n if (params.value !== null) {\r\n return params.data.LastName + ' / ' + params.data.FirstName;\r\n }\r\n }\r\n \r\n onGridWaiverReady = params => {\r\n\t this.gridWaiverApi = params.api;\r\n this.gridWaiverColumnApi = params.columnApi;\r\n\t\tparams.api.sizeColumnsToFit();\r\n\t};\r\n\r\n\tonGridReady = params => {\r\n\t this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n\t\tparams.api.sizeColumnsToFit();\r\n\t};\r\n\r\n exchangeHandleChange(event) {\r\n this.setState({\r\n exchangePnrDataId: event.target.value\r\n });\r\n }\r\n\r\n exchangePnrClick = () => {\r\n\t\tthis.setState({ isLoading: true, exchangeInputError: true, pnrRetriveError:\"\", isClearDisabled:true, displayRetriveData: false }, () => {\r\n\t\t\tAPI.get('GetExchangePnrDetails?pnr='+this.state.exchangePnrDataId.toUpperCase())\r\n\t\t\t.then(pnrRetriveData => {\r\n\t\t\t\tif(pnrRetriveData.data && pnrRetriveData.data.ExchangeTickets && pnrRetriveData.data.ExchangeTickets.length > 0){\r\n\t\t\t\t\tlet uniqueCarrier = uniq(map(pnrRetriveData.data.ExchangeTickets, 'Carrier'));\r\n\t\t\t\t\tlet carrierApiOutpt = [];\r\n\t\t\t\t\tuniqueCarrier.forEach((item, index, array) => {\r\n\t\t\t\t\t\tAPI.get('GetExchangeWaivers?AirLine='+item)\r\n\t\t\t\t\t\t\t.then(waiverCodeData => {\r\n\t\t\t\t\t\t\t\tif(waiverCodeData.data && waiverCodeData.data.length > 0){\r\n\t\t\t\t\t\t\t\t\tlet waiverFormatData = this.getWaiverCodeData(waiverCodeData.data);\r\n\t\t\t\t\t\t\t\t\tcarrierApiOutpt.push(waiverFormatData);\r\n\t\t\t\t\t\t\t\t\tpnrRetriveData.data.ExchangeTickets.forEach(function(elmt){\r\n\t\t\t\t\t\t\t\t\t\telmt.ExchangeFee = \"\";\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t//if(index === (array.length - 1)){\r\n\t\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\t\tisLoading: false,\r\n\t\t\t\t\t\t\t\t\t\t\texchangeInputError: true,\r\n\t\t\t\t\t\t\t\t\t\t\trowData1: [...pnrRetriveData.data.ExchangeTickets],\r\n\t\t\t\t\t\t\t\t\t\t\trowData2: [...carrierApiOutpt],\r\n\t\t\t\t\t\t\t\t\t\t\tdisplayRetriveData: true,\r\n\t\t\t\t\t\t\t\t\t\t\tisClearDisabled:false\r\n\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t //}\r\n\t\t\t\t\t\t\t\t\tthis.WaiverNamearray = waiverFormatData.WaiverNamearray;\r\n\t\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\t\tlet WaiverNamearray = [];\r\n\t\t\t\t\t\t\t\t\tvar newWaiverItems = [\"Select\", \"One Off Waiver\"];\r\n\t\t\t\t\t\t\t\t\tWaiverNamearray.push(...newWaiverItems);\r\n\t\t\t\t\t\t\t\t\tlet airlineObject = { \"toureCodeArray\" : null, \"waiverbox\" : \"\", \"WaiverName\" : WaiverNamearray[0], \"WaiverNamearray\" : WaiverNamearray, \"Airline\" : item, \"OSI\" : \"\", \"Endorsement\" : \"\" };\r\n\t\t\t\t\t\t\t\t\tcarrierApiOutpt.push(airlineObject);\r\n\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\trowData1: [...pnrRetriveData.data.ExchangeTickets],\r\n\t\t\t\t\t\t\t\t\t\trowData2: [...carrierApiOutpt],\r\n\t\t\t\t\t\t\t\t\t\tisLoading: false,\r\n\t\t\t\t\t\t\t\t\t\tdisplayRetriveData: true,\r\n\t\t\t\t\t\t\t\t\t\tisClearDisabled:false\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tconsole.log(\"carrierApiOutpt\",this.state.rowData2);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}).catch((err) => {\r\n\t\t\t\t\t\t\t\tthis.setState({ isLoading: false, exchangeInputError:false, pnrRetriveError: \"System Error - unable to retrieve data from server\", displayRetriveData: false, isClearDisabled:false })\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\t// event.preventDefault();\r\n\t\t\t\t\tthis.setState({ isLoading: false, exchangeInputError:false, pnrRetriveError: pnrRetriveData.data.ErrorMessage, displayRetriveData: false, isClearDisabled:false })\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t)\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.setState({ isLoading: false, exchangeInputError:false, pnrRetriveError: \"System Error - unable to retrieve data from server\", displayRetriveData: false, isClearDisabled:false })\r\n\t\t\t});\r\n });\r\n\t}\r\n \r\n getWaiverCodeData = (waiverData) => {\r\n\t\tlet airlineresult = groupBy(waiverData,\"Airline\");\r\n\t\tlet toureCodeArray = [];\r\n\t\tlet WaiverNamearray = [];\r\n\t\t//WaiverNamearray.push(\"Select\");\r\n\t\tvar newWaiverItems = [\"Select\", \"One Off Waiver\"];\r\n\t\tWaiverNamearray.push(...newWaiverItems);\r\n\t\tconsole.log(WaiverNamearray);\r\n\t\tlet airlineObject;\r\n\t\tlet airlineObjectArray = [];\r\n\t\tforEach(airlineresult, function(value) {\r\n\t\t\t//console.log(\"WaiverNameCheck\",value);\r\n\t\t\ttoureCodeArray = value;//map(value, 'WaiverBox');\r\n\t\t\tWaiverNamearray = WaiverNamearray.concat(map(value, 'WaiverName'));\r\n\t\t\tlet airline = first( map(value, 'Airline'), 'Airline');\r\n\t\t\tlet WaiverBoxObj = value.filter(p=>p.WaiverName.toUpperCase() === WaiverNamearray[0].toUpperCase());\r\n\t\t\tconsole.log(\"WaiverBoxObj\",WaiverBoxObj);\r\n\t\t\t//let WaiverBox = (WaiverBoxObj && WaiverBoxObj.length > 0) ? WaiverBoxObj[0].WaiverBox : \"\";\r\n let OSI = (WaiverBoxObj && WaiverBoxObj.length > 0) ? WaiverBoxObj[0].OSI : \"\";\r\n let TourCode = (WaiverBoxObj && WaiverBoxObj.length > 0) ? WaiverBoxObj[0].TourCode : \"\";\r\n\t\t\tlet Endorsement = (WaiverBoxObj && WaiverBoxObj.length > 0) ? WaiverBoxObj[0].Endorsement : \"\";\r\n\t\t\t//console.log(\"WaiverBox chk\",WaiverBox);\r\n\t\t\tairlineObject = { \"toureCodeArray\" : toureCodeArray, \"TourCode\" : TourCode, \"Endorsement\": Endorsement, \"WaiverName\" : WaiverNamearray[0], \"WaiverNamearray\" : WaiverNamearray, \"Airline\" : airline, \"OSI\" : OSI }\r\n\t\t\t//this.aireLineWaiverNamearray.push(airlineObject)\r\n\t\t\tairlineObjectArray.push(airlineObject);\r\n\t\t\tWaiverNamearray = [];\r\n\t\t\ttoureCodeArray = [];\r\n\t\t});\r\n\r\n\t\treturn airlineObjectArray[0];\r\n }\r\n \r\n WaiverboxNameChange(params){\r\n\t\t//console.log(\"WaiverboxNameChange\",params);\r\n\t\tif(params.data && params.data.toureCodeArray){\r\n\t\tlet waiverBoxObject = params.data.toureCodeArray.filter(p=> p.WaiverName.toUpperCase() === params.value.toUpperCase());\r\n\t\tlet txtboxes = document.getElementsByClassName(\"txtcellBox\");\r\n let txtosis = document.getElementsByClassName(\"txtcellOSI\");\r\n let txtEndo = document.getElementsByClassName(\"txtcellEndo\");\r\n\t\tlet rowIndex = parseInt(params.rowIndex);\r\n\t\tif(waiverBoxObject && waiverBoxObject.length > 0){\r\n\t\t\t\r\n\t\t\tif(waiverBoxObject[0]){\r\n\t\t\t\tparams.data.waiverbox = waiverBoxObject[0].WaiverBox;\r\n params.data.OSI = waiverBoxObject[0].OSI;\r\n params.data.TourCode = waiverBoxObject[0].TourCode;\r\n params.data.Endorsement = waiverBoxObject[0].Endorsement;\r\n\t\t\t\t\r\n\t\t\t\tconsole.log(\"row index\", rowIndex);\r\n\t\t\t\tconsole.log(\"txtboxes\", txtboxes);\r\n\t\t\t\tconsole.log(\"txtosis\", txtosis);\r\n if(txtboxes[rowIndex]){\r\n txtboxes[rowIndex].innerHTML = params.data.TourCode;\r\n }\r\n if(txtosis[rowIndex]){\r\n txtosis[rowIndex].innerHTML = params.data.OSI;\r\n }\r\n if(txtEndo[rowIndex]){\r\n txtEndo[rowIndex].innerHTML = params.data.Endorsement;\r\n }\r\n\t\t\t}\t\r\n\t\t\t\r\n\t\t}\r\n\t\telse{\r\n\t\t\tparams.data.waiverbox = \"\";\r\n\t\t\tparams.data.OSI = \"\";\r\n\t\t\tparams.data.Endorsement = \"\";\r\n\t\t\tparams.data.TourCode = \"\";\r\n\t\t\tif(txtboxes[rowIndex]){\r\n\t\t\t\ttxtboxes[rowIndex].innerHTML = \"\";\r\n\t\t\t}\r\n\t\t\tif(txtosis[rowIndex]){\r\n\t\t\t\ttxtosis[rowIndex].innerHTML = \"\";\r\n\t\t\t}\r\n\t\t\tif(txtEndo[rowIndex]){\r\n\t\t\t\ttxtEndo[rowIndex].innerHTML = \"\";\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\treturn params.value;\r\n }\r\n\r\n onRowSelected(event,params) {\r\n\t\tevent.data.isSelected = event.node.selected;\r\n\t\tvar selectedData = this.gridApi.getSelectedRows();\r\n\t\tconsole.log(selectedData);\r\n\t\tconsole.log(\"editable params\", params);\r\n\t\tif(!event.node.selected){\r\n\t\t\tvar penaltyData = document.querySelectorAll('.Penalty .ag-cell-wrapper .ag-cell-value');\r\n\t\t\tthis.gridApi.stopEditing();\r\n\t\t\tpenaltyData.innerHTML = '';\r\n\t\t\tpenaltyData.innerText = '';\r\n\t\t\tconsole.log(\"penaltyData innerHTML\", penaltyData.innerHTML);\r\n\t\t\tevent.data.Penalty = '';\r\n\t\t\tconsole.log(event.data.Penalty);\r\n\t\t}\r\n\t\tconsole.log(event.data);\r\n\t\treturn event;\r\n\t}\r\n \r\n pnrRetriveSubmit(event) {\r\n\t\tthis.setState({ isSubmitLoading: true }, () => {\r\n\t\t\t//event.preventDefault();\r\n\t\t\tthis.gridApi.stopEditing();\r\n\t\t\tthis.gridWaiverApi.stopEditing();\r\n\t\t\tlet isErrorReceived = false;\r\n\t\t\tlet penalties = document.getElementsByClassName(\"exchangeFee\");\r\n\t\t\tconsole.log(penalties);\r\n\t\t\tconsole.log(\"pnrRetriveSubmit grid1 data: \", this.state.rowData1 );\r\n\t\t\tconsole.log(\"pnrRetriveSubmit grid2 data: \", this.state.rowData2 );\r\n\r\n\t\t\tif (this.state.rowData1) {\r\n\t\t\t\tlet reg = /^(\\d*\\.)?\\d+$/;\r\n\t\t\t\tthis.state.rowData1.forEach(p => {\r\n\t\t\t\t\tlet testIsNumericFee = reg.test(p.ExchangeFee);\r\n\t\t\t\t\tif (p && p.ExchangeFee && !testIsNumericFee) {\r\n\t\t\t\t\t\talertify.error(\"Please enter decimal value in exchange fee\");\r\n\t\t\t\t\t\tthis.setState({ isSubmitLoading: false });\r\n\t\t\t\t\t\tisErrorReceived = true;\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tif(isErrorReceived){\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.state.rowData2) {\r\n\t\t\t\tthis.state.rowData2.forEach(p => {\r\n\t\t\t\t\tif (p && p.TourCode && p.TourCode.length > 45) {\r\n\t\t\t\t\t\talertify.error(\"TourCode value is more then 45 characters\");\r\n\t\t\t\t\t\tthis.setState({ isSubmitLoading: false });\r\n\t\t\t\t\t\tisErrorReceived = true;\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tif(isErrorReceived){\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.state.rowData2) {\r\n\t\t\t\tthis.state.rowData2.forEach(p => {\r\n\t\t\t\t\tif (p && p.OSI && p.OSI.length > 45) {\r\n\t\t\t\t\t\talertify.error(\"OSI value is more then 45 characters\");\r\n\t\t\t\t\t\tthis.setState({ isSubmitLoading: false });\r\n\t\t\t\t\t\tisErrorReceived = true;\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tif(isErrorReceived){\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.state.rowData2) {\r\n\t\t\t\tthis.state.rowData2.forEach(p => {\r\n\t\t\t\t\tif (p && p.Endorsement && p.Endorsement.length > 45) {\r\n\t\t\t\t\t\talertify.error(\"Endorsement value is more then 45 characters\");\r\n\t\t\t\t\t\tthis.setState({ isSubmitLoading: false });\r\n\t\t\t\t\t\tisErrorReceived = true;\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tif(isErrorReceived){\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tlet exchangeRequests = [];\r\n\t\t\t\r\n\t\t\tlet selectedBookingIds = this.state.rowData1.filter(p=>p.isSelected && !p.Status);\r\n\r\n\t\t\tif(selectedBookingIds && selectedBookingIds.length > 0){\r\n\t\t\t\tselectedBookingIds.forEach(p=>{\r\n\t\t\t\t\tlet waiverCodeObjectArray = this.state.rowData2.filter(p1=>p1.Airline.toUpperCase() === p.Carrier.toUpperCase());\r\n\t\t\t\t\tlet waiverCodeObject = (waiverCodeObjectArray && waiverCodeObjectArray.length > 0) ? waiverCodeObjectArray[0] : null;\r\n\t\t\t\t\tif(waiverCodeObject && waiverCodeObject.WaiverName === \"One Off Waiver\" && !waiverCodeObject.TourCode && !waiverCodeObject.OSI && !waiverCodeObject.Endorsement){\r\n\t\t\t\t\t\talertify.error(\"Please enter value in at least WaiverBox or OSI or Endorsement\");\r\n\t\t\t\t\t\tthis.setState({ isSubmitLoading: false });\r\n\t\t\t\t\t\treturn false;\r\n }\r\n \r\n let newSegmentString = this.segmentRenderer(p.selectedSegments);\r\n console.log(newSegmentString);\r\n\r\n\t\t\t\t\tlet submitRequestJSON = {\r\n\t\t\t\t\t\t\"BookingID\": p.BookingID,\r\n\t\t\t\t\t\t\"Carrier\": p.Carrier,\r\n\t\t\t\t\t\t\"Pnr\": this.state.exchangePnrDataId,\r\n \"Ticket\": p.Ticket,\r\n \"NewSegment\": newSegmentString,\r\n\t\t\t\t\t\t\"Waiver\": (waiverCodeObject && waiverCodeObject.WaiverName !== \"Select\") ? \"Y\" : \"N\",\r\n\t\t\t\t\t\t\"TourCode\": waiverCodeObject ? waiverCodeObject.TourCode : \"\",\r\n \"OSI\": waiverCodeObject ? waiverCodeObject.OSI : \"\",\r\n \"Endorsement\": waiverCodeObject ? waiverCodeObject.Endorsement : \"\",\r\n\t\t\t\t\t\t\"Penalty\": (p.ExchangeFee && p.ExchangeFee !== \"0\") ? \"Y\" : \"N\",\r\n\t\t\t\t\t\t\"ChangeFee\": p.ExchangeFee,\r\n\t\t\t\t\t\t\"Event\": \"\",\r\n\t\t\t\t\t\t\"Source\": \"System\"\r\n };\r\n \r\n console.log(\"submitRequestJSON\",submitRequestJSON);\r\n\t\t\t\t\texchangeRequests.push(submitRequestJSON);\r\n\t\t\t\t});\r\n\r\n\r\n\t\t\t\texchangeRequests.forEach(p => {\r\n // var countSegmentMatch = exchangeRequests.filter(p1=>p.NewSegment===p1.NewSegment);\r\n // if(countSegmentMatch.length !== exchangeRequests.length){\r\n // alertify.error(\"Please select proper segment\");\r\n // return false;\r\n // }\r\n\t\t\t\t\tif (p.ChangeFee === \"\" && p.TourCode === \"\" && p.OSI === \"\" && p.Endorsement === \"\" && p.WaiverName === \"Select\") {\r\n\t\t\t\t\t\talertify.error(\"Please enter at least Exchange Fee or Select Waiver\");\r\n\t\t\t\t\t\tthis.setState({ isSubmitLoading: false });\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\tlet penaltyCheck = exchangeRequests.filter(p=>p.Penalty === \"N\" && p.Waiver === \"N\")\r\n\t\t\t\tif(penaltyCheck && penaltyCheck.length > 0){\r\n\t\t\t\t\talertify.error(\"Please enter at least Exchange Fee or Select Waiver\");\r\n\t\t\t\t\tthis.setState({ isSubmitLoading: false });\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlet waiverCheck = exchangeRequests.filter(p=>p.Penalty === \"Y\" && p.Waiver === \"Y\")\r\n\t\t\t\tif(waiverCheck && waiverCheck.length > 0){\r\n\t\t\t\t\talertify.error(\"Please enter Exchange Fee 0\");\r\n\t\t\t\t\tthis.setState({ isSubmitLoading: false });\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlet tempRequest = { exchangeRequests };\r\n\t\t\t\tif(exchangeRequests && exchangeRequests.length > 0){\r\n\t\t\t\t\tAPI.post(\"SubmitExchangeRQ\", tempRequest).then(response => {\r\n\t\t\t\t\t\tif(response && response.data && response.data.length > 0){\r\n\t\t\t\t\t\t\tlet transactionIds = response.data.join();\r\n\t\t\t\t\t\t\tthis.getTransactionStatus(transactionIds);\r\n\t\t\t\t\t\t\tthis.chkStatusCounterHandle();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((err) => {\r\n\t\t\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\t\t\tconsole.log(\"submit error\", err);\r\n\t\t\t\t\t\tthis.setState({ isSubmitLoading: false });\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\talertify.error(\"Choose penalty or waiver\");\r\n\t\t\t\t\t\tthis.setState({ isSubmitLoading: false });\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tlet selectedBookingIds = this.state.rowData1.filter(p=>p.isSelected && p.Status);\r\n\t\t\t\t\t\tif(selectedBookingIds.length > 0){\r\n\t\t\t\t\t\t\talertify.error(\"Exchange for Selected Ticket is already processed\");\r\n\t\t\t\t\t\t\tthis.setState({ isSubmitLoading: false });\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\talertify.error(\"Select at least one ticket\");\r\n\t\t\t\t\t\t\tthis.setState({ isSubmitLoading: false });\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t});\r\n }\r\n\r\n segmentRenderer(selectedSegments){\r\n\t\tlet digitArray = [];\r\n\t\tlet concatString = \"\";\r\n\t\tif(selectedSegments && selectedSegments.length > 0){\r\n\t\t\tselectedSegments.forEach(p=>{\r\n\t\t\t\tlet singleDigit = parseInt(p.Name.match(/\\d+/)[0]);\r\n\t\t\t\tdigitArray.push(singleDigit);\r\n\t\t\t });\r\n\t\t\t digitArray = digitArray.sort((a, b) => a - b);\r\n\t\t\t concatString = this.compressSegmentArr(digitArray);\r\n\t\t}\r\n \r\n return concatString;\r\n }\r\n\r\n compressSegmentArr (arr) {\r\n let start = arr[0];\r\n let stop = start;\r\n let arrLength = arr.length;\r\n let result = '';\r\n \r\n for (let i = 1; i < arrLength; i++) { \t\r\n \r\n if (arr[i] === stop+1) {\r\n stop = arr[i];\r\n } else {\r\n \r\n if (start === stop) {\r\n result += start + '/'; \r\n } else {\r\n result += start+ '-' +stop+ '/';\r\n }\r\n start = arr[i];\r\n stop = start;\r\n }\r\n }\r\n \r\n if (start === stop) {\r\n result += start; \r\n } else {\r\n result += start+ '-' +stop;\r\n }\r\n return \"S\"+result;\r\n\r\n //s1-3\r\n //s1/3\r\n }\r\n \r\n \r\n \r\n getTransactionStatus(transactionIds){\r\n\t\tAPI.get('GetTransactionStaus?TransactionID=' + transactionIds).then(transactionResponse => {\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\tlet tempRowData = this.state.rowData1;\r\n\t\t\ttempRowData.forEach(oldElmt => {\r\n\t\t\t\tlet processPnrData = transactionResponse.data.filter(p=>p.TicketNumber === oldElmt.Ticket);\r\n\t\t\t\tif(processPnrData[0]){\r\n\t\t\t\t\toldElmt.Status = processPnrData[0].Status;\r\n\t\t\t\t\toldElmt.ErrorMessage = processPnrData[0].ErrorMessage;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tconsole.log(tempRowData);\r\n\t\t\tthis.setState({\r\n\t\t\t\tisSubmitLoading: false,\r\n\t\t\t\trowData1: [...tempRowData],\r\n\t\t\t\trowData2: [...this.state.rowData2],\r\n\t\t\t\ttransactionIds : transactionIds\r\n\t\t\t});\r\n\r\n\t\t\tthis.gridApi.updateRowData({ update: tempRowData});\r\n\t\t\tlet tmpStatusCountChk = tempRowData.filter( p => p.Status && p.isSelected && p.Status !== '' );\r\n\t\t\t\r\n\t\t\tlet statusCountChk = tempRowData.filter(p => p.Status && p.isSelected && (p.Status !== '' && p.Status.toUpperCase() !== \"PENDING\" && p.Status.toUpperCase() !== \"INPROGRESS\"));\r\n\t\t\tlet selectedBookingIds = this.state.rowData1.filter(p=>p.isSelected && !p.Status);\r\n\t\t\t\r\n\t\t\tif(statusCountChk.length === tmpStatusCountChk.length){\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\ttransactionIds: ''\r\n\t\t\t\t});\r\n\t\t\t\tclearInterval(this.state.pnrRetriveTimeOut);\r\n\t\t\t}else if(this.state.chkStatusCounter === 24 && selectedBookingIds.length !== statusCountChk.length){\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tchkStatusCounter: 0\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse if(this.state.chkStatusCounter === 24){\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\ttransactionIds: '',\r\n\t\t\t\t\tchkStatusCounter: 0,\r\n\t\t\t\t\tdisplayStatusDisplay: true\r\n\t\t\t\t});\r\n\t\t\t\tclearInterval(this.state.pnrRetriveTimeOut);\r\n\t\t\t\t//alertify.error(\"Sorry we are unable to retrieve status. Please check Transaction History\");\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\ttempRowData.forEach(p => {\r\n\t\t\t\tif(p.Status === 'Passed'){\r\n\t\t\t\t\talertify.success(\"PNR Exchange Processed Successfully\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif(p.Status === 'Failed'){\r\n\t\t\t\t\talertify.error(\"PNR Exchange Failed\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tfor(let i=0; i<=document.getElementsByClassName(\"jsErrorMessage\").length-1;i++){\r\n\t\t\t\tif(document.getElementsByClassName(\"jsErrorMessage\")[i].innerText.length > 0) \r\n\t\t\t\t{\r\n\t\t\t\t\tdocument.getElementsByClassName(\"jsErrorMessage\")[i].setAttribute(\"Title\", document.getElementsByClassName(\"jsErrorMessage\")[i].innerText);\r\n\t\t\t\t} \r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\talertify.error('Error retriving transaction');\r\n\t\t\tconsole.log('Error retriving transaction', err);\r\n\t\t\tthis.setState({\r\n\t\t\t\ttransactionIds: '',\r\n\t\t\t\tchkStatusCounter: 0,\r\n\t\t\t\tdisplayStatusDisplay: true,\r\n\t\t\t\tisSubmitLoading: false\r\n\t\t\t});\r\n\t\t\tclearInterval(this.state.pnrRetriveTimeOut);\r\n\t\t});\r\n }\r\n \r\n chkStatusCounterHandle() {\r\n\t\tlet pnrRetriveTimeOut = setInterval(() => {\r\n\t\t\tconsole.log(this.state.transactionIds);\r\n\t\t\tif(this.state.transactionIds){\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tchkStatusCounter: this.state.chkStatusCounter + 1\r\n\t\t\t\t});\r\n\t\t\t\tconsole.log(\"get transaction called\", this.state.transactionIds)\r\n\t\t\t\tthis.getTransactionStatus(this.state.transactionIds);\t\r\n\t\t\t}\r\n\t\t},5000);\r\n\t\tthis.setState({ pnrRetriveTimeOut: pnrRetriveTimeOut })\r\n\t}\r\n\r\n\ttoggleStatusDisplay(event){\r\n\t\tevent.preventDefault();\r\n\t\tthis.setState({\r\n\t\t\tdisplayStatusDisplay: false\r\n\t\t});\r\n\t}\r\n\r\n\tcomponentWillUnmount() {\r\n\t\tconsole.log(\"Unmounting pnrRetriveTimeOut\", this.state.pnrRetriveTimeOut)\r\n\t\tclearInterval(this.state.pnrRetriveTimeOut);\r\n\t}\r\n \r\n handleEnterClick(event) {\r\n\t\tif (event.which === 13 /* Enter */) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tthis.exchangePnrClick();\r\n\t\t}\r\n }\r\n \r\n onSelectionChanged() {\r\n var selectedRows = this.gridSegmentApi.getSelectedRows();\r\n console.log(\"selectedRows\", selectedRows);\r\n console.log(\"this.gridSegmentApi\",this.gridSegmentApi);\r\n }\r\n\r\n resetData = () => {\r\n\t\tclearInterval(this.state.pnrRetriveTimeOut);\r\n\t\tthis.setState({\r\n\t\t\texchangePnrDataId: '',\r\n\t\t\tdisplayRetriveData: false,\r\n\t\t\texchangeInputError: true,\r\n\t\t\tpnrRetriveError: '',\r\n\t\t\tdisplayStatusDisplay: false\r\n\t\t})\r\n\t}\r\n \r\n render() {\r\n const { isLoading, exchangeInputError, pnrRetriveError, displayRetriveData, isClearDisabled, displayStatusDisplay } = this.state;\r\n\r\n return (\r\n\t\t\t<>\r\n\t\t\t{ displayStatusDisplay && \r\n\t\t\t
\r\n\t\t\t\tSorry, We are unable to retrieve status from server. Please check Transaction History.\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t}\r\n\t\t\t
\r\n\t\t\t\t

Exchange

\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ isLoading &&
Loading... 
} Search\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tClear\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n
\r\n
\r\n \r\n
{ pnrRetriveError }
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{ displayRetriveData && \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

New Itinerary

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

Select Waiver Code

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{ this.state.isSubmitLoading &&
Loading... 
} Process\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n );\r\n }\r\n}\r\nfunction isFirstColumn(params) {\r\n if(params && params.columnApi)\r\n {\r\n\t\tvar displayedColumns = params.columnApi.getAllDisplayedColumns();\r\n\t\tvar thisIsFirstColumn = displayedColumns[0] === params.column;\r\n \treturn thisIsFirstColumn;\r\n\t}\r\n}\r\n\r\nexport default Exchange;\r\n","import React, { Component } from 'react';\r\nimport { MDBContainer, MDBRow, MDBCol, MDBCard, MDBCardBody, MDBBtn, MDBInput, MDBTable, MDBTableBody, MDBTableHead } from 'mdbreact';\r\nimport API from '../../api';\r\n\r\nimport alertify from 'alertifyjs';\r\n\r\nclass BatchProcess extends Component {\r\n constructor(props) {\r\n super(props);\r\n \r\n this.state = {\r\n file: null,\r\n radio: 1,\r\n errorMessages: '',\r\n batchIdData: '',\r\n gridDisplayData: {},\r\n displayErrorCard: false,\r\n displaySuccessCard: false,\r\n displayConfirmUploadMessage: false,\r\n isLoading: false\r\n };\r\n \r\n this.handleUploadBatch = this.handleUploadBatch.bind(this);\r\n this.batchUploadHandler = this.batchUploadHandler.bind(this);\r\n this.confirmBatchUploadHandler = this.confirmBatchUploadHandler.bind(this);\r\n this.cancelSubmit = this.cancelSubmit.bind(this);\r\n }\r\n\r\n cancelSubmit(event){\r\n event.preventDefault();\r\n this.setState({\r\n displayErrorCard: false,\r\n displaySuccessCard: false,\r\n });\r\n }\r\n\r\n confirmBatchUploadHandler(event){\r\n event.preventDefault();\r\n let confirmFileUpload = this.state.file;\r\n let formData = new FormData();\r\n \r\n formData.append(\"Confirm fileExcel\", confirmFileUpload);\r\n \r\n alertify.confirm('Confirm File Processing?', ' Are you sure you wish to process the selected file?',\r\n () => {\r\n API.post(\"SubmitBatchExcel?Process=Y&type=\"+this.state.radio, formData).then(response => {\r\n if(response && response.data){\r\n //let responseConfirmGridData = response.data;\r\n alertify.success(\"Batch Uploaded Successfully\");\r\n let responseBatchId = response.data.BatchId;\r\n this.setState({\r\n displayErrorCard: false,\r\n displaySuccessCard: false,\r\n displayConfirmUploadMessage: true,\r\n batchIdData: responseBatchId\r\n })\r\n }\r\n else{\r\n alertify.error('System Error - unable to retrieve data from server');\r\n this.setState({\r\n isLoading: false,\r\n displayConfirmUploadMessage: false\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n alertify.error('System Error - unable to retrieve data from server');\r\n this.setState({\r\n isLoading: false\r\n });\r\n });\r\n }, () => {\r\n //Leave alert\r\n })\r\n }\r\n\r\n batchUploadHandler(e){\r\n let fileData = this.state.file;//document.getElementById(\"fileExcel\").files[0];\r\n if(this.state.file === null){\r\n alertify.error(\"Please Select File For Processing\");\r\n return true;\r\n }\r\n let formData = new FormData();\r\n\r\n let fileExtValidation = [\"xls\" , \"xlsx\"];\r\n let fileType = fileData.name.substr(fileData.name.lastIndexOf('.') + 1);\r\n console.log(\"fileType\", fileType);\r\n if(fileType && fileExtValidation.indexOf(fileType.toLowerCase())=== -1){\r\n this.setState({\r\n displayErrorCard: false,\r\n displaySuccessCard: false,\r\n displayConfirmUploadMessage: false\r\n });\r\n alertify.error(\"File Type not supported\");\r\n return false;\r\n }\r\n \r\n this.setState({isLoading: true})\r\n formData.append(\"fileExcel\", fileData);\r\n //var ext = fileData.name.split('.').pop()\r\n //console.log(formData);\r\n API.post(\"SubmitBatchExcel?Process=N&type=\"+this.state.radio, formData).then(response => {\r\n \r\n\t\t\tif(response && response.data){\r\n let responseGridData = response.data;\r\n \r\n let errorMessagesData = responseGridData.Error.Message;\r\n \r\n if(responseGridData.Status === 0){\r\n this.setState({\r\n displayErrorCard: true,\r\n displaySuccessCard: false,\r\n errorMessages: errorMessagesData,\r\n gridDisplayData: responseGridData,\r\n displayConfirmUploadMessage: false,\r\n //batchIdData: responseBatchId,\r\n isLoading: false\r\n });\r\n }\r\n else{\r\n this.setState({\r\n displayErrorCard: false,\r\n displaySuccessCard: true,\r\n displayConfirmUploadMessage: false,\r\n gridDisplayData: responseGridData,\r\n isLoading: false\r\n });\r\n }\r\n // console.log(\"this.state.batchIdData\", this.state.batchIdData);\r\n // console.log(\"responseBatchId\", responseBatchId);\r\n\t\t\t}\r\n\t\t\telse{\r\n alertify.error('System Error - unable to retrieve data from server');\r\n this.setState({\r\n isLoading: false\r\n });\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n alertify.error('System Error - unable to retrieve data from server');\r\n this.setState({\r\n\t\t\t\tisLoading: false\r\n\t\t\t});\r\n\t\t\tconsole.log(\"submit error\", err);\r\n\t\t});\r\n }\r\n\r\n handleUploadBatch(e) {\r\n let fileObject = document.getElementById(\"fileExcel\");\r\n let file = fileObject.files[0];\r\n this.setState({\r\n file: file,\r\n isLoading: false\r\n });\r\n }\r\n \r\n onClick = nr => () => {\r\n this.setState({\r\n radio: nr\r\n });\r\n }\r\n\r\n renderTableHeader = (data) =>data.map((item, i) => {item});\r\n renderTableBody = (data) => data.map((item, i) => {item.map((col, j) => {col})});\r\n\r\n renderTable = (data) => (\r\n \r\n {this.renderTableHeader([...data.Headers])}\r\n {this.renderTableBody([...data.Items])}\r\n \r\n )\r\n\r\n render() {\r\n const { errorMessages, displayErrorCard, displaySuccessCard, isLoading, batchIdData, displayConfirmUploadMessage } = this.state;\r\n return (\r\n
\r\n

Batch Upload

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n { isLoading &&
Loading... 
}  Upload\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n { displayErrorCard && \r\n \r\n \r\n
{errorMessages}
\r\n
{this.renderTable(this.state.gridDisplayData)}
\r\n
\r\n \r\n \r\n Ok\r\n \r\n \r\n
\r\n }\r\n { displaySuccessCard && \r\n \r\n \r\n
{this.renderTable(this.state.gridDisplayData)}
\r\n
\r\n \r\n \r\n Cancel\r\n Confirm Processing\r\n \r\n \r\n
\r\n }\r\n {\r\n displayConfirmUploadMessage &&\r\n \r\n \r\n
Batch Id: {batchIdData} Processed Succesfully
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default BatchProcess;\r\n","import React from 'react';\r\nimport { MDBRow, MDBCol, MDBBtn } from 'mdbreact';\r\n\r\nexport default (props) => {\r\n return (\r\n <>\r\n \r\n \r\n Add\r\n Remove\r\n Update\r\n \r\n

{props.apiData}

\r\n
\r\n \r\n );\r\n};","import React from \"react\";\r\nimport { MDBRow, MDBCol, MDBInput, MDBCard, MDBCardBody, MDBSwitch, MDBIcon, MDBBtn } from 'mdbreact';\r\n\r\nexport default (props) => {\r\n return (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{ props.isSearchLoading &&
Loading... 
}   Search\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\tClear\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n );\r\n};","import React, {Component} from \"react\";\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport { MDBRow, MDBCol } from 'mdbreact';\r\n\r\nexport default class DataGrid extends Component {\r\n constructor(props) {\r\n super(props);\r\n\t\tthis.state = {\r\n\t\t\tdefaultColDef: {\r\n\t\t resizable: false,\r\n\t\t\t\tsuppressHorizontalScroll: true,\r\n\t\t\t\tsortable: false,\r\n\t\t\t\tsuppressMovable: true,\r\n\t\t\t\tcheckboxSelection: isFirstColumn,\r\n\t\t\t},\r\n\t\t\trowData: [],\r\n\t\t\tdomLayout: \"autoHeight\",\r\n\t\t\trowSelection: \"single\",\r\n\t\t\tgetRowNodeId: function(data) {\r\n\t\t\t\treturn data.id;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n render() {\r\n return (\r\n \r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n );\r\n }\r\n};\r\n\r\nfunction isFirstColumn(params) {\r\n var displayedColumns = params.columnApi.getAllDisplayedColumns();\r\n\tvar thisIsFirstColumn = displayedColumns[0] === params.column;\r\n return thisIsFirstColumn;\r\n}\r\n","import React, { Component } from 'react';\r\nimport { MDBContainer, MDBRow, MDBCol, MDBBtn, MDBInput, MDBCard, MDBCardBody, MDBSwitch } from 'mdbreact';\r\n// import GridDataFilter from '../common/GridDataFilter';\r\nimport API from '../../api';\r\nimport { sortBy } from 'lodash';\r\nimport alertify from 'alertifyjs';\r\nimport CRUDButtons from '../common/CRUDButtons';\r\nimport Pagination from 'react-js-pagination';\r\nimport GridDataFilter from '../common/GridDataFilter';\r\nimport DataGrid from '../common/DataGrid';\r\n\r\nclass RefundWaiver extends Component {\r\n\tconstructor(props) {\r\n super(props);\r\n this.state = {\r\n\t\t\ttxtSearchData:'',\r\n\t\t\ttxtCarrier: '',\r\n\t\t\ttxtWaiverCodeName: '',\r\n\t\t\ttxtWaiverBox: '',\r\n\t\t\ttxtOSI: '',\r\n\t\t\tisLoading: false,\r\n\t\t\tstatusSwitch1: true,\r\n\t\t\tstatusSwitch2: true,\r\n\t\t\tisDisabled: false,\r\n\t\t\tisSearchLoading: false,\r\n\t\t\ttxtSearchWaiverName: '',\r\n\t\t\ttxtSearchAirlineData: '',\r\n\t\t\tactivePage: 1,\r\n\t\t\ttotalDataCount: 0,\r\n\t\t\tdisplaySaveWaiverBox: false, \r\n\t\t\tcolumnDefs: [\r\n\t\t\t\t{headerName: \"\", field: \"Id\", hide: true},\r\n\t\t\t\t{headerName: 'Validating Carrier', \r\n\t\t\t\t\tfield: 'Airline', \r\n\t\t\t\t\twidth: 50, cellClass: 'editableInputBox firstInput text-uppercase',\r\n\t\t\t\t\tfilter: true, \r\n\t\t\t\t\teditable: this.checkEditable.bind(this),\r\n\t\t\t\t\tcellEditor: 'agLargeTextCellEditor',\r\n\t\t\t\t\tcellEditorParams: {\r\n\t\t\t\t\t\tmaxLength: '2', // override the editor defaults\r\n\t\t\t\t\t\tcols: '15',\r\n\t\t\t\t\t\trows: '1',\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{headerName: 'Waiver Code Name', \r\n\t\t\t\t\tfield: 'WaiverName', \r\n\t\t\t\t\twidth: 120, cellClass: 'editableInputBox lgWaiverBox',\r\n\t\t\t\t\tfilter: true, \r\n\t\t\t\t\teditable: this.checkEditable.bind(this),\r\n\t\t\t\t\tcellEditor: 'agLargeTextCellEditor',\r\n\t\t\t\t\tcellEditorParams: {\r\n\t\t\t\t\t\tmaxLength: '45', // override the editor defaults\r\n\t\t\t\t\t\tcols: '40',\r\n\t\t\t\t\t\trows: '1',\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{headerName: 'Waiver Box', \r\n\t\t\t\t\tfield: 'WaiverBox', width: 60, \r\n\t\t\t\t\tcellClass: 'editableInputBox',\r\n\t\t\t\t\tfilter: true, \r\n\t\t\t\t\teditable: this.checkEditable.bind(this),\r\n\t\t\t\t\tcellEditor: 'agLargeTextCellEditor',\r\n\t\t\t\t\tcellEditorParams: {\r\n\t\t\t\t\t\tmaxLength: '14', // override the editor defaults\r\n\t\t\t\t\t\tcols: '20',\r\n\t\t\t\t\t\trows: '1',\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{headerName: 'OSI', field: 'OSI', width: 60, \r\n\t\t\t\t\tcellClass: 'editableInputBox',\r\n\t\t\t\t\tfilter: true, \r\n\t\t\t\t\teditable: this.checkEditable.bind(this),\r\n\t\t\t\t\tcellEditor: 'agLargeTextCellEditor',\r\n\t\t\t\t\tcellEditorParams: {\r\n\t\t\t\t\t\tmaxLength: '45', // override the editor defaults\r\n\t\t\t\t\t\tcols: '20',\r\n\t\t\t\t\t\trows: '1',\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{headerName: 'Status', field: 'IsActive', width: 40, cellClass: 'gridSelectBox smallBox',\r\n // cellRenderer: \"CheckboxSwitchRenderer\", \r\n cellEditor: 'agPopupSelectCellEditor',\r\n cellEditorParams: {\r\n cellRenderer: this.statusCellRenderer,\r\n values: ['Active', 'In-active']\r\n },\r\n colId: \"params\", \r\n filter: true, \r\n editable: this.checkEditable.bind(this),\r\n }\r\n\t\t\t]\r\n\t\t}\r\n\t\t// this.onAddWaiverData = this.onAddWaiverData.bind(this);\r\n\t\tthis.updateWaiverData = this.updateWaiverData.bind(this);\r\n\t\tthis.addWaiverDataRow = this.addWaiverDataRow.bind(this);\r\n\t\tthis.deleteWaiverData = this.deleteWaiverData.bind(this);\r\n\t\tthis.saveWaiverData = this.saveWaiverData.bind(this);\r\n\t\tthis.cancelWaiverData = this.cancelWaiverData.bind(this);\r\n\t\tthis.getGridViewData = this.getGridViewData.bind(this);\r\n\t}\r\n\r\n\tstatusCellRenderer(params) {\r\n return params.value;\r\n }\r\n\r\n\tonRowSelected(event,params) {\r\n\t\tevent.data.isSelected = event.node.selected;\r\n\t\tconsole.log(\"editable params\", params);\r\n\t\t\r\n\t\treturn event;\r\n\t}\r\n\r\n\tonGridReady = params => {\r\n\t this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n\t\tparams.api.sizeColumnsToFit();\r\n\t}\r\n\r\n\tsaveWaiverData(event){\r\n\t\tevent.preventDefault();\r\n\t\tthis.gridApi.stopEditing();\r\n\t\tthis.setState({\r\n\t\t\tisLoading: true\r\n\t\t});\r\n\t\tif(this.state.txtCarrier === ''){\r\n\t\t\talertify.error(\"Cannot save empty Validating carrier\");\r\n\t\t\tthis.setState({\r\n\t\t\t\tisLoading: false\r\n\t\t\t});\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tif(this.state.txtWaiverCodeName === ''){\r\n\t\t\talertify.error(\"Cannot save empty Waiver Code Name\");\r\n\t\t\tthis.setState({\r\n\t\t\t\tisLoading: false\r\n\t\t\t});\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif(this.state.txtWaiverBox === '' && this.state.txtOSI === ''){\r\n\t\t\talertify.error(\"Please enter value in Waiver Box or OSI\");\r\n\t\t\tthis.setState({\r\n\t\t\t\tisLoading: false\r\n\t\t\t});\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\t\r\n\t\tlet submitRequestJSON = {\r\n\t\t\t\"Airline\": this.state.txtCarrier,\r\n\t\t\t\"OSI\": this.state.txtOSI,\r\n\t\t\t\"WaiverBox\": this.state.txtWaiverBox,\r\n\t\t\t\"WaiverName\": this.state.txtWaiverCodeName,\r\n\t\t\t\"IsActive\": this.state.statusSwitch1\r\n\t\t};\r\n\t\tconsole.log(\"submitRequestJSON\", submitRequestJSON);\r\n\t\tthis.gridApi.showLoadingOverlay();\r\n\t\tif(submitRequestJSON){\r\n\t\t\tAPI.post('InsertRefundWaiver', submitRequestJSON)\r\n\t\t\t.then(response => {\r\n\t\t\t\tif(response && response.data){\r\n\t\t\t\t\tsubmitRequestJSON.Id = response.data;\r\n\t\t\t\t\tthis.state.rowData.push(submitRequestJSON);\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\trowData : this.state.rowData, \r\n\t\t\t\t\t\ttxtCarrier: '',\r\n\t\t\t\t\t\ttxtWaiverCodeName: '',\r\n\t\t\t\t\t\ttxtWaiverBox: '',\r\n\t\t\t\t\t\ttxtOSI: '',\r\n\t\t\t\t\t\tstatusSwitch1: true,\r\n\t\t\t\t\t\tisLoading: false\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (this.gridApi) {\r\n\t\t\t\t\t\tthis.gridApi.hideOverlay();\r\n\t\t\t\t\t}\r\n\t\t\t\t\talertify.success(\"Succefully Added Waiver\");\r\n\t\t\t\t\tif(submitRequestJSON.IsActive === true){\r\n\t\t\t\t\t\tsubmitRequestJSON.IsActive = 'Active'\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tsubmitRequestJSON.IsActive = 'In-active'\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar updateWaiverRes = this.gridApi.updateRowData({ add: [submitRequestJSON] });\r\n\t\t\t\t\tconsole.log(updateWaiverRes);\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\t\tif (this.gridApi) {\r\n\t\t\t\t\t\tthis.gridApi.hideOverlay();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tisLoading: false\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch(error=>{\r\n\t\t\t\tconsole.log(error);\r\n\t\t\t\tif (this.gridApi) {\r\n\t\t\t\t\tthis.gridApi.hideOverlay();\r\n\t\t\t\t}\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoading: false\r\n\t\t\t\t});\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tupdateWaiverData(event){\r\n\t\tevent.preventDefault();\r\n\t\tthis.gridApi.stopEditing();\r\n\t\tlet isErrorReceived = false;\r\n\t\tlet updateWaiverRequests = [];\r\n\t\tlet selectedWaiverIds = this.state.rowData.filter(p=>p.isSelected);\r\n\t\t//console.log(\"selectedWaiverIds\", selectedWaiverIds);\r\n\t\tif (selectedWaiverIds) {\r\n\t\t\t\r\n\t\t\tselectedWaiverIds.forEach(p => {\r\n\t\t\t\tlet testRegWaiver = /^[^\\s@]+$/;\r\n\t\t\t\tlet testtxtWaiverBox = testRegWaiver.test(p.WaiverBox);\r\n\t\t\t\tif (p && !(p.Airline)) {\r\n\t\t\t\t\talertify.error(\"Please enter Validating Carrier\");\r\n\t\t\t\t\tisErrorReceived = true;\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\tif(p && !(p.WaiverName)){\r\n\t\t\t\t\talertify.error(\"Please enter Waiver code Name\");\r\n\t\t\t\t\tisErrorReceived = true;\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\tif(p && !(p.WaiverBox) && !(p.OSI)){\r\n\t\t\t\t\talertify.error(\"Please enter value in WaiverBox or OSI\");\r\n\t\t\t\t\tisErrorReceived = true;\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\tif (p && p.WaiverBox && !testtxtWaiverBox) {\r\n\t\t\t\t\talertify.error(\"No Spaces allowed in Waiver Box\");\r\n\t\t\t\t\tisErrorReceived = true;\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\tif(p && p.Airline && p.Airline.length > 2){\r\n\t\t\t\t\talertify.error(\"Please enter only 2 Characters for Validating Carrier\");\r\n\t\t\t\t\tisErrorReceived = true;\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tif(isErrorReceived){\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif(selectedWaiverIds && selectedWaiverIds.length > 0){\r\n\t\t\tselectedWaiverIds.forEach(p=>{\r\n\t\t\t\tlet submitRequestJSON = {\r\n\t\t\t\t\t\"Id\": p.Id,\r\n\t\t\t\t\t\"Airline\": p.Airline,\r\n\t\t\t\t\t\"WaiverName\": p.WaiverName,\r\n\t\t\t\t\t\"WaiverBox\": p.WaiverBox,\r\n\t\t\t\t\t\"OSI\": p.OSI,\r\n\t\t\t\t\t\"IsActive\": p.IsActive === \"Active\" ? true : false\r\n\t\t\t\t};\r\n\r\n\t\t\t\tupdateWaiverRequests.push(submitRequestJSON);\r\n\t\t\t});\r\n\r\n\t\t\tif(updateWaiverRequests && updateWaiverRequests.length > 0){\r\n\t\t\t\tconsole.log(\"updateWaiverRequests\", updateWaiverRequests);\r\n\t\t\t\tAPI.post('UpdateRefundWaiver', updateWaiverRequests[0])\r\n\t\t\t\t.then(response => {\r\n\t\t\t\t\tif(response && response.data){\r\n\t\t\t\t\t\tif(response.data === 1){\r\n\t\t\t\t\t\t\talertify.success(\"Succefully updated\")\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if(response.data === 0){\r\n\t\t\t\t\t\t\talertify.error(\"Error while updating\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(error=>{\r\n\t\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\tdeleteWaiverData(event){\r\n\t\tevent.preventDefault();\r\n\t\r\n\t\tvar selectedData = this.gridApi.getSelectedRows();\r\n\t\tselectedData.forEach(p => {\r\n\t\t\tif(p.IsActive === \"Active\"){\r\n\t\t\t\tp.IsActive = true\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tp.IsActive = false\r\n\t\t\t}\r\n\t\t});\r\n\t\talertify.confirm('Delete Selected Refund Waiver Detail?', ' Are you sure you wish to delete the selected row?',\r\n\t\t() => {\r\n\t\t\tAPI.post(\"DeleteRefundWaiver\", selectedData[0]).then(response => {\r\n\t\t\t\tif(response && response.data){\r\n\t\t\t\t\tconsole.log(response);\r\n\t\t\t\t\tif(response.data === 1){\r\n\t\t\t\t\t\tthis.state.rowData.splice(selectedData.rowIndex, 1);\r\n\t\t\t\t\t\tthis.gridApi.updateRowData({ remove: selectedData });\r\n\t\t\t\t\t\talertify.success(\"deleted successfully\")\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if(response.data === 0){\r\n\t\t\t\t\t\talertify.error(\"error\");\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\tconsole.log(\"submit error\", err);\r\n\t\t\t});\r\n\t\t}, () => {\r\n //Leave alert\r\n });\r\n\t}\r\n\r\n\ttxtChangeHandler = event => {\r\n\t\tthis.setState({ [event.target.name]: event.target.value });\r\n\t};\r\n\r\n\taddWaiverDataRow(){\r\n\t\tthis.setState({\r\n\t\t\tdisplaySaveWaiverBox: true,\r\n\t\t\tisDisabled: true\r\n\t\t})\r\n\t}\r\n\tcancelWaiverData(){\r\n\t\tthis.setState({\r\n\t\t\tdisplaySaveWaiverBox: false,\r\n\t\t\tisDisabled: false,\r\n\t\t\ttxtCarrier: '',\r\n\t\t\ttxtWaiverCodeName: '',\r\n\t\t\ttxtWaiverBox: '',\r\n\t\t\ttxtOSI: '',\r\n\t\t\tstatusSwitch1: false,\r\n\t\t});\r\n\t}\r\n\r\n\tcheckEditable(params){\r\n\t\tif(params.node.selected){\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tconsole.log(\"editable params\" , params.node.selected);\r\n\t}\r\n\tonCellValueChanged(event) {\r\n\t\tthis.gridApi.stopEditing();\r\n\t\treturn;\r\n\t}\r\n\thandlePageChange(pageNumber) {\r\n\t\t\r\n\t\tthis.setState({activePage: pageNumber});\r\n\t\tif (this.gridApi) {\r\n\t\t\tthis.gridApi.showLoadingOverlay();\r\n\t\t}\r\n\t\tthis.getGridViewData(pageNumber);\r\n\t}\r\n\t\r\n\tgetGridViewData(pageNumber = 1, msg){\r\n\t\tif(!(msg === 'retriveDataOnPageLoad')) {\r\n\t\t\tthis.setState({ isSearchLoading: true });\r\n\t\t}\r\n\t\tpageNumber = pageNumber -1;\r\n\t\tlet transactionRequest = {\r\n\t\t\t\"PageNumber\": pageNumber,\r\n\t\t\t\"PageSize\": 10,\r\n\t\t\t\"Critera\": {\r\n\t\t\t\t\"AirlineCode\" : this.state.txtSearchAirlineData,\r\n\t\t\t \t\"WaiverName\": this.state.txtSearchWaiverName,\r\n\t\t\t\t\"IsActive\": this.state.statusSwitch2,\r\n\t\t\t},\r\n\t\t\t\"SortBy\": \"\",\r\n\t\t\t\"SortOrder\": \"\"\r\n\t\t}\r\n API.post('GetRefundWaiverPagedList', transactionRequest)\r\n\t\t .then(response => {\r\n if(response && response.data){\r\n\t\t\t\tlet dataResponse = response.data.Items;\r\n\t\t\t\tdataResponse = sortBy(dataResponse, 'IsActive').reverse();\r\n\r\n\t\t\t\tresponse.data.Items.forEach(p => {\r\n\t\t\t\t\tif(p.IsActive === true){\r\n\t\t\t\t\t\tp.IsActive = \"Active\"\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tp.IsActive = \"In-active\"\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t this.setState({\r\n\t\t\t\t\trowData: dataResponse,\r\n\t\t\t\t\ttotalDataCount: response.data.TotalCount,\r\n\t\t\t\t\tisSearchLoading: false\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\tthis.setState({isSearchLoading: false});\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\talertify.error(err);\r\n\t\t\tthis.setState({isSearchLoading: false});\r\n\t\t\tconsole.log(\"submit error\", err);\r\n\t\t});\r\n\t}\r\n\t\r\n\tcomponentDidMount() {\r\n\t\tthis.getGridViewData(1, 'retriveDataOnPageLoad');\r\n\t}\r\n\t\r\n\thandleSwitchChange = nr => () => {\r\n\t\tlet switchNumber = `statusSwitch${nr}`;\r\n\t\tthis.setState({\r\n\t\t [switchNumber]: !this.state[switchNumber]\r\n\t\t});\r\n\t}\r\n\r\n\tonFilterValueChanged() {\r\n\t\tthis.getGridViewData(1);\r\n\t}\r\n\t\r\n\thandleSpaceClick = event =>{\r\n\t\tlet k = event.which;\r\n\t\tif (k === 32) { \r\n\t\t\tevent.preventDefault();\r\n\t\t\treturn false;\r\n\t\t } else {\r\n\t\t\treturn true;\r\n\t\t};\r\n\t}\r\n\tresetData(){\r\n\t\tthis.setState({\r\n\t\t\ttxtSearchAirlineData: '',\r\n\t\t\ttxtSearchWaiverName: '',\r\n\t\t\tstatusSwitch2: true\r\n\t\t}, () => this.getGridViewData(1));\r\n\t}\r\n\r\n render() {\r\n\t\tconst { isLoading, displaySaveWaiverBox, isDisabled } = this.state;\r\n return (\r\n\t\t\t
\r\n\t\t\t\t

Refund Waiver Master

\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{ displaySaveWaiverBox &&\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t { return this.handleSpaceClick(event);}}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{ isLoading &&
Loading... 
} Save \r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tCancel\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t
\r\n\t\t\t
\r\n );\r\n }\r\n}\r\n\r\n\r\nexport default RefundWaiver;\r\n","import React, {Component} from \"react\";\r\nimport { MDBBtn } from 'mdbreact';\r\n\r\nexport default class DetailsButtonRenderer extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.invokePopupMethod = this.invokePopupMethod.bind(this);\r\n }\r\n\r\n invokePopupMethod() {\r\n this.props.context.componentParent.onPopupSelected(this.props.node.rowIndex, this.props.node.data.BatchId, 1);\r\n //rowIndex, batchId, PageNumber\r\n //console.log(\"this.props.node\" , this.props.node);\r\n \r\n }\r\n\r\n render() {\r\n return (\r\n Details\r\n );\r\n }\r\n};","import React, { Component } from 'react';\r\nimport { MDBContainer, MDBRow, MDBCol, MDBDatePicker, MDBIcon, MDBModal, MDBModalBody, MDBModalHeader, MDBBtn, MDBCard, MDBCardBody } from 'mdbreact';\r\nimport { AgGridReact } from 'ag-grid-react';\r\n// import {NavLink} from 'react-router-dom';\r\nimport moment from 'moment';\r\nimport API from '../../api';\r\nimport alertify from 'alertifyjs';\r\nimport CheckBox from '../common/CheckBox';\r\nimport Pagination from \"react-js-pagination\";\r\nimport DetailsButtonRenderer from \"../common/DetailsButtonRenderer\";\r\nimport CustomTooltip from \"../common/customTooltip\";\r\n\r\nclass BatchHistory extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n\t\t\ttxtFromDate: new Date(),\r\n\t\t\ttxtToDate: new Date(),\r\n\t\t\tactivePage: 1,\r\n\t\t\tactivePopupPage: 1,\r\n\t\t\ttotalDataPopupCount: 0,\r\n\t\t\ttotalDataCount: 0,\r\n\t\t\tisDisplayPopup: false,\r\n\t\t\tisLoading: false,\r\n\t\t\tmodal5: false,\r\n\t\t\tpopupBatchId: '',\r\n\t\t\tdisplayBatchHistoryGrid: false,\r\n\t\t\tbatchTypes: [\r\n\t\t\t\t{id: 1, value: \"202\", isChecked: false, label:\"Exchange\"},\r\n\t\t\t\t{id: 2, value: \"201\", isChecked: false, label:\"Refund\"},\r\n\t\t\t],\r\n\t\t\tusers: [\r\n\t\t\t\t{id: 8, value: \"chkMyRequest\", isChecked: false, label:\"My Requests\"},\r\n\t\t\t\t{id: 9, value: \"chkOthers\", isChecked: false, label:\"Others\"},\r\n\t\t\t],\r\n \tcolumnDefs: [\r\n {headerName: 'Batch#', field: 'BatchId', width: 90, headerTooltip: \"Batch Id\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Batch Type', field: 'BatchType', width: 140, headerTooltip: \"Batch Type\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Batch Date', field: 'BatchDate', width: 210, headerTooltip: \"Batch Date\", tooltipComponent: \"customTooltip\"},\r\n {headerName: 'User', field: 'UserName', width: 200, headerTooltip: \"UserName\", tooltipComponent: \"customTooltip\"},\r\n {headerName: 'Transaction Count', field: 'Total', width: 180, headerTooltip: \"Transaction Count\", tooltipComponent: \"customTooltip\"},\r\n {headerName: 'Pass Count', field: 'Pass', headerTooltip: \"Pass Count\", tooltipComponent: \"customTooltip\"},\r\n {headerName: 'Fail Count', field: 'Fail', headerTooltip: \"Fail Count\", tooltipComponent: \"customTooltip\"},\r\n {headerName: 'In Progress Count', field: 'InProgress', width: 200, headerTooltip: \"In Progress Count\", tooltipComponent: \"customTooltip\"},\r\n {headerName: 'View Details', field: 'viewDetails', cellRenderer: \"DetailsButtonRenderer\", colId: \"params\", width: 140, headerTooltip: \"View Details\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t],\r\n\t\t\tcolumnDefs2: [\r\n\t\t\t\t{headerName: 'Cruise Booking ID', field: 'BookingNumber', width: 130, headerTooltip: \"Cruise Booking ID\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Old PNR/New PNR', field: 'PNR', width: 140, headerTooltip: \"PNR\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Ticket', field: 'TicketNumber', width: 140, headerTooltip: \"Ticket Number\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Status', field: 'TransactionStatus', width: 90, headerTooltip: \"Transaction Status\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Error Message', field: 'ErrorMessage', width: 750, headerTooltip: \"Error Message\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Transaction Type', field: 'TransactionType', width: 140, headerTooltip: \"Transaction Type\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Batch ID', field: 'BatchId', width: 90, headerTooltip: \"Batch ID\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Event Name', field: 'EventName', width: 180, headerTooltip: \"Event Name\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'UserName', field: 'UserName', width: 130, headerTooltip: \"UserName\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'PCC', field: 'PCC', width: 80, headerTooltip: \"PCC\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'EPR', field: 'EPR', width: 80, headerTooltip: \"EPR\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Penalty Amount', field: 'PenaltyAmount', width: 120, headerTooltip: \"Penalty Amount\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Refund Tax', field: 'RefundTax', width: 120, headerTooltip: \"Refund Tax\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Refund Value', field: 'RefundValue', width: 120, headerTooltip: \"Refund Value\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Exchange Change Fee', field: 'ExchangeChangeFee', width: 180, headerTooltip: \"Exchange Change Fee\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Exchange ADC', field: 'ExchangeADC', width: 140, headerTooltip: \"Exchange ADC\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'WaiverBox', field: 'WaiverBox', width: 140, headerTooltip: \"WaiverBox\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'OSI', field: 'OSI', width: 140, headerTooltip: \"OSI\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Endorsement', field: 'Endorsement', width: 140, headerTooltip: \"Endorsement\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'TourCode', field: 'TourCode', width: 140, headerTooltip: \"TourCode\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'NewSegment', field: 'NewSegment', width: 140, headerTooltip: \"NewSegment\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Transaction Source', field: 'TransactionSource', width: 140, headerTooltip: \"Transaction Source\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Request Entered Datetime', field: 'ReqEnteredDate', width: 200, headerTooltip: \"Request Entered Datetime\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Transaction Id', field: 'TransactionId', width: 140, headerTooltip: \"Transaction Id\", tooltipComponent: \"customTooltip\"}\r\n\t\t\t],\r\n\r\n\t\t\trowData: [],\r\n\t\t\trowData2: [],\r\n\t\t\tcontext: { componentParent: this },\r\n frameworkComponents: {\r\n\t\t\t\tDetailsButtonRenderer: DetailsButtonRenderer,\r\n\t\t\t\tcustomTooltip: CustomTooltip\r\n },\r\n rowSelection: \"multiple\",\r\n\t\t\trowHeight: 50,\r\n\t\t\tpaginationPageSize: 4,\r\n\t\t\tpaginationNumberFormatter: function(params) {\r\n\t\t\t\treturn \"[\" + params.value.toLocaleString() + \"]\";\r\n\t\t\t},\r\n defaultColDef: {\r\n\t\t resizable: false,\r\n\t\t\t\tsortable: false,\r\n\t\t\t\tsuppressMovable: true,\r\n \t\twidth: 120\r\n\t\t }\r\n\t\t}\r\n\t\tthis.batchHistorySubmit = this.batchHistorySubmit.bind(this);\r\n\t\tthis.SearchTransactionLogExcel = this.SearchTransactionLogExcel.bind(this);\r\n\t\tthis.resetHistoryData = this.resetHistoryData.bind(this);\r\n\t}\r\n\r\n\thandlePageChange(pageNumber) {\r\n\t\tthis.setState({activePage: pageNumber});\r\n\t\tif (this.gridApi) {\r\n\t\t\tthis.gridApi.showLoadingOverlay();\r\n\t\t}\r\n\t\tthis.getGridViewData(pageNumber);\r\n\t}\r\n\r\n\thandlePopupPageChange(pageNumber) {\r\n\t\tif (this.gridTransactionApi) {\r\n\t\t\tthis.gridTransactionApi.showLoadingOverlay();\r\n\t\t}\r\n\t\tthis.setState({ activePopupPage: pageNumber });\r\n\t\tthis.onPopupSelected(null, this.state.popupBatchId, pageNumber);\r\n\t}\r\n\r\n\tonPopupSelected(cell, batchId, pageNumber){\r\n\r\n\t\tthis.setState({\r\n\t\t\tisDisplayPopup : true,\r\n\t\t\tmodal5: true,\r\n\t\t\tpopupBatchId: batchId,\r\n\t\t\tactivePopupPage: pageNumber,\r\n\t\t});\r\n\t\tconsole.log(\"popupBatchId\",this.state.popupBatchId);\r\n\t\t//var selectedData = this.gridApi.getSelectedRows();\r\n\t\tlet txtnewFromDate = moment(this.state.txtFromDate).format(\"MM/DD/YYYY\"); // you get \"16/05/2018\"\r\n\t\tlet txtnewToDate = moment(this.state.txtToDate).format(\"MM/DD/YYYY\"); // you get \"16/05/2018\"\r\n\t\tlet submitRequestJSON = {\r\n\t\t\t\"FromDate\": txtnewFromDate,\r\n\t\t\t\"ToDate\": txtnewToDate,\r\n\t\t\t\"BatchId\": batchId,\r\n\t\t\t\"TransactionSource\":[]\r\n\t\t};\r\n\t\tlet transactionRequest = {\r\n\t\t\t\"PageNumber\" : pageNumber - 1,\r\n\t\t\t\"PageSize\" : 10,\r\n\t\t\t\"Critera\" : submitRequestJSON,\r\n\t\t\t\"SortBy\": \"\",\r\n \t\t\"SortOrder\": \"\"\r\n\t\t};\r\n\t\tAPI.post(\"SearchTransactionLog\", transactionRequest).then(response => {\r\n\t\t\t\r\n\t\t\tif(response && response.data){\r\n\t\t\t\tlet tempRowData = response.data.Items;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\trowData2: [...tempRowData],\r\n\t\t\t\t\ttotalDataPopupCount: response.data.TotalCount,\r\n\t\t\t\t\theaderNameParam: \"transactionSummary\"\r\n\t\t\t\t})\r\n\t\t\t\tif (this.gridTransactionApi) {\r\n\t\t\t\t\tthis.gridTransactionApi.hideOverlay();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\tconsole.log(\"submit error\", err);\r\n\t\t});\r\n\t\t//display details using SearchTransactionLog based on pnr\r\n\t}\r\n\r\n\tgetFromDate = value => {\r\n\t\tthis.setState({\r\n\t\t\ttxtFromDate: value\r\n\t\t}, () => console.log(this.state.txtFromDate));\r\n\t}\r\n\r\n\tgetToDate = value => {\r\n\t\tthis.setState({\r\n\t\t\ttxtToDate: value\r\n\t\t}, () => console.log(this.state.txtToDate));\r\n\t}\r\n\r\n onGridReady = params => {\r\n\t this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n\t\tparams.api.sizeColumnsToFit();\r\n\t};\r\n\r\n\tonGridTransactionReady = params => {\r\n\t this.gridTransactionApi = params.api;\r\n this.gridTransactionColumnApi = params.columnApi;\r\n\t\t//params.api.sizeColumnsToFit();\r\n\t};\r\n\r\n\tbatchHistorySubmit(event) {\r\n\t\tevent.preventDefault();\r\n\t\tthis.setState({\r\n\t\t\tactivePage: 1,\r\n\t\t});\r\n\t\tif (this.gridApi) {\r\n\t\t\tthis.gridApi.showLoadingOverlay();\r\n\t\t}\r\n\t\tthis.getGridViewData(1);\t\r\n\t}\r\n\r\n\ttransactionRequestJson( pageNumber = 0, pageSize = 10 ){\r\n\t\t//alert(\"test\");\r\n\t\tlet batchTypesValues = this.state.batchTypes.filter(p=>p.isChecked).map( batchType => {\r\n\t\t\treturn batchType.value;\r\n\t\t});\r\n\t\r\n\t\tlet tempUserCheckObject = this.state.users.filter(p=>p.isChecked && (p.value ===\"chkOthers\" || p.value ===\"chkMyRequest\"));\r\n\t\tlet users = [];\r\n\t\tif(tempUserCheckObject && tempUserCheckObject.length===1){\r\n\t\t\tusers = this.state.users.filter(p=>p.isChecked).map( user => {\r\n\t\t\t\tlet CurrentUserID = JSON.parse(sessionStorage.getItem(\"UserId\"));\r\n\t\t\t\tif(user.value === \"chkMyRequest\"){\r\n\t\t\t\t\treturn CurrentUserID.toString();\r\n\t\t\t\t}else\r\n\t\t\t\tif(user.value === \"chkOthers\"){\r\n\t\t\t\t\treturn \"Others\";\r\n\t\t\t\t}\r\n\t\t\t\treturn \"\";\r\n\t\t\t});\r\n\t\t}\r\n\t\r\n\t\tlet txtnewFromDate = moment(this.state.txtFromDate).format(\"MM/DD/YYYY\"); // you get \"16/05/2018\"\r\n\t\tlet txtnewToDate = moment(this.state.txtToDate).format(\"MM/DD/YYYY\"); // you get \"16/05/2018\"\r\n\t\r\n\t\tlet txtnewFromDateTemp = new Date(moment(this.state.txtFromDate).format(\"MM/DD/YYYY\")); // you get \"16/05/2018\"\r\n\t\tlet txtnewToDateTemp = new Date(moment(this.state.txtToDate).format(\"MM/DD/YYYY\")); // you get \"16/05/2018\"\r\n\t\t//console.log(txtnewToDate);\r\n\t\r\n\t\tif (txtnewFromDateTemp > txtnewToDateTemp) {\r\n\t\t\talertify.error(\"From Date is greater than To Date\");\r\n\t\t\tthis.setState({\r\n\t\t\t\tdisplayBatchHistoryGrid: false,\r\n\t\t\t\tisLoading: false\r\n\t\t\t})\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\t\r\n\t\tlet submitRequestJSON = {\r\n\t\t\t\"FromDate\": txtnewFromDate,\r\n\t\t\t\"ToDate\": txtnewToDate,\r\n\t\t\t\"BatchTypes\": batchTypesValues,\r\n\t\t\t\"UserId\": (users && users.length>0) ? users[0] : \"\"\r\n\t\t\t//\"UserId\": users.length > 1 ? \"all\" : users[0]\r\n\t\t\t\r\n\t\t};\r\n\t\tpageNumber = pageNumber -1;\r\n\t\tlet transactionRequest = {\r\n\t\t\t\"PageNumber\" : pageNumber,\r\n\t\t\t\"PageSize\" : 10,\r\n\t\t\t\"Critera\" : submitRequestJSON,\r\n\t\t\t\"SortBy\": \"\",\r\n\t\t\t\"SortOrder\": \"\"\r\n\t\t};\r\n\t\r\n\t\treturn transactionRequest;\r\n\t}\r\n\r\n\tgetGridViewData(pageNumber){\r\n\t\tthis.setState({ isLoading: true});\r\n\t\tlet tempTransactionRequest = this.transactionRequestJson(pageNumber);\r\n\t\tif(tempTransactionRequest === false){\r\n\t\t\tthis.setState({\r\n\t\t\t\tisLoading: false\r\n\t\t\t});\r\n\t\t\treturn false;\r\n\t\t}\r\n API.post(\"SearchBatchQueue\", tempTransactionRequest).then(response => {\r\n\t\t\t\r\n\t\t\tif(response && response.data){\r\n\t\t\t\tlet tempRowData = response.data.Items;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\ttotalDataCount: response.data.TotalCount,\r\n\t\t\t\t\trowData: [...tempRowData],\r\n\t\t\t\t\tdisplayBatchHistoryGrid: true,\r\n\t\t\t\t\tisLoading: false,\r\n\t\t\t\t\theaderNameParam: \"batchTransactionSummary\"\r\n\t\t\t\t})\r\n\t\t\t\tif (this.gridApi) {\r\n\t\t\t\t\tthis.gridApi.hideOverlay();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoading: false\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\tthis.setState({\r\n\t\t\t\tisLoading: false\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\t\r\n\thandleCheckboxChange = (event) => {\r\n\t\tlet batchTypes = this.state.batchTypes;\r\n\t\tbatchTypes.forEach(batchType => {\r\n\t\t if (batchType.value === event.target.value)\r\n\t\t batchType.isChecked = event.target.checked\r\n\t\t });\r\n\t\tthis.setState({batchTypes: batchTypes}, () => console.log(this.state.batchTypes));\r\n\r\n\t\tlet users = this.state.users;\r\n\t\tusers.forEach(user => {\r\n\t\t if (user.value === event.target.value)\r\n\t\t user.isChecked = event.target.checked\r\n\t\t });\r\n\t\tthis.setState({users: users});\r\n\t\t//alert(\"checked\");\r\n\t}\r\n\r\n\ttoggle = nr => () => {\r\n\t\tlet modalNumber = 'modal' + nr\r\n\t\tthis.setState({\r\n\t\t [modalNumber]: !this.state[modalNumber]\r\n\t\t});\r\n\t}\r\n\r\n\tSearchTransactionLogExcel(pageNumber){\r\n\t\tlet tempTransactionRequest = this.transactionRequestJson(1, 1000);\r\n\t\t//let pageNumber = 1;\r\n\t\tAPI.post(\"SearchBatchQueueExcel\", tempTransactionRequest).then(response => {\r\n\t\t\t\r\n\t\t\tif(response && response.data ){\r\n\t\t\t\tlet excelBlob = new Blob( [response.data] , {type:'application/vnd.ms-excel'});\r\n\t\t\t\tlet csvFileurl = window.URL.createObjectURL(excelBlob);\r\n\t\t\t\tlet link = document.createElement(\"a\");\r\n\t\t\t\tdocument.body.appendChild(link);\r\n\t\t\t\tlink.href = csvFileurl;\r\n\t\t\t\tlink.download = \"BatchQueueTransactions.csv\";\r\n\t\t\t\tlink.click();\r\n\t\t\t\tsetTimeout(function() {window.URL.revokeObjectURL(csvFileurl);},0);\r\n\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tdisplayRetriveData: true,\r\n\t\t\t\t})\r\n\t\t\t\t\r\n\t\t\t\tif (this.gridApi) {\r\n\t\t\t\t\tthis.gridApi.hideOverlay();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\tconsole.log(\"submit error\", err);\r\n\t\t});\r\n\t}\r\n\r\n\topenPopupModel(){\r\n\t\treturn (\r\n Transaction Details:\r\n \r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n
\r\n
)\r\n\t}\r\n\r\n\tresetHistoryData = () => { \r\n\t\tlet batchTypes = this.state.batchTypes;\r\n\t\tbatchTypes.forEach(batchType => {\r\n\t\t \tbatchType.isChecked = false\r\n\t\t });\r\n\t\t\r\n\t\tlet users = this.state.users;\r\n\t\tusers.forEach(user => {\r\n\t\t user.isChecked = false\r\n\t\t});\r\n\r\n\t\tthis.setState({\r\n\t\t\tbatchTypes: batchTypes,\r\n\t\t\tusers: users,\r\n\t\t\ttxtFromDate: new Date(),\r\n\t\t\ttxtToDate: new Date(),\r\n\t\t\trowData: [],\r\n\t\t\ttotalDataCount: 0,\r\n\t\t\tdisplayBatchHistoryGrid: false\r\n\t\t});\r\n\t}\r\n\r\n render() {\r\n return (\r\n\t\t\t
\r\n\t\t\t\t

Batch History

\r\n\t\t\t\t\r\n\t\t\t\t{ this.state.isDisplayPopup ? this.openPopupModel() : null }\r\n \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.batchTypes.map((batchType, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn ()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.users.map((user, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn ()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{ this.state.isLoading &&
Loading... 
}  Search\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\tClear\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{ this.state.displayBatchHistoryGrid && \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

Total Records Found: {this.state.totalDataCount}

\r\n\t\t\t\t\t\t\t\t{ this.state.rowData && this.state.rowData.length > 0 &&\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t  Export To Excel\r\n\t\t\t\t\t\t\t\t\t\t{/*  Export To Excel */}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{ this.state.rowData && this.state.rowData.length > 0 &&\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n\t\t\t\t
\r\n\t\t\t
\r\n );\r\n }\r\n}\r\n\r\nexport default BatchHistory;\r\n","import React, {Component} from \"react\";\r\nimport { MDBIcon} from 'mdbreact';\r\n\r\nexport default class DeleteButtonRenderer extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.invokeDeleteMethod = this.invokeDeleteMethod.bind(this);\r\n }\r\n\r\n invokeDeleteMethod() {\r\n this.props.context.componentParent.onRemoveSelected(this.props.node.rowIndex, this.props.node.data.TransactionId);\r\n }\r\n\r\n render() {\r\n return (\r\n Delete\r\n );\r\n }\r\n};","import React, { Component } from 'react';\r\nimport { MDBContainer, MDBRow, MDBCol, MDBInput, MDBBtn, MDBCard, MDBCardBody } from 'mdbreact';\r\nimport { AgGridReact } from 'ag-grid-react';\r\n// import {NavLink} from 'react-router-dom';\r\nimport API from '../../api';\r\nimport alertify from 'alertifyjs';\r\nimport Pagination from \"react-js-pagination\";\r\nimport DeleteButtonRenderer from \"../common/DeleteButtonRenderer\";\r\nimport CustomTooltip from \"../common/customTooltip\";\r\n\r\nclass BatchQueue extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n txtPNR: '',\r\n\t\t\ttxtTicket: '',\r\n activePage: 1,\r\n totalDataCount: 0,\r\n isLoading: false,\r\n displayBatchQueueGrid: false,\r\n \tcolumnDefs: [\r\n {headerName: 'Transaction Source', field: 'TransactionSource', headerTooltip: \"Transaction Source\", tooltipComponent: \"customTooltip\"},\r\n\t\t\t\t{headerName: 'Reuest Entered Date Time', field: 'ReqEnteredDate', width: 200, headerTooltip: \"Reuest Entered Date Time\", tooltipComponent: \"customTooltip\"},\r\n {headerName: 'PNR#', field: 'PNR', width: 100, headerTooltip: \"PNR\", tooltipComponent: \"customTooltip\"},\r\n {headerName: 'Ticket', field: 'TicketNumber', width: 120, headerTooltip: \"Ticket Number\", tooltipComponent: \"customTooltip\"},\r\n {headerName: 'Refund Penalty (IN)', field: 'PenaltyAmount', width: 150, headerTooltip: \"Refund Penalty\", tooltipComponent: \"customTooltip\"},\r\n {headerName: 'Transaction Type', field: 'TransactionType', width: 150, headerTooltip: \"Transaction Type\", tooltipComponent: \"customTooltip\"},\r\n {headerName: 'User', field: 'UserName', width: 150, headerTooltip: \"UserName\", tooltipComponent: \"customTooltip\"},\r\n {headerName: 'Action', field: 'value', width: 100, cellRenderer: \"DeleteButtonRenderer\", colId: \"params\", headerTooltip: \"Action\", tooltipComponent: \"customTooltip\" },\r\n \r\n ],\r\n rowData: [],\r\n context: { componentParent: this },\r\n frameworkComponents: {\r\n DeleteButtonRenderer: DeleteButtonRenderer,\r\n customTooltip: CustomTooltip\r\n },\r\n rowSelection: \"single\",\r\n\t\t\trowHeight: 50,\r\n\t\t\tpaginationPageSize: 4,\r\n\t\t\tpaginationNumberFormatter: function(params) {\r\n\t\t\t\treturn \"[\" + params.value.toLocaleString() + \"]\";\r\n\t\t\t},\r\n defaultColDef: {\r\n\t\t resizable: false,\r\n width: 150,\r\n sortable: false,\r\n\t\t\t\tsuppressMovable: true\r\n\t\t }\r\n }\r\n this.batchQueueSubmit = this.batchQueueSubmit.bind(this);\r\n\t\tthis.txtChangeHandler = this.txtChangeHandler.bind(this);\r\n }\r\n getWaiverDetailsDisc(params){\r\n if (params.value !== null) {\r\n return params.data.WaiverBox + ' / ' + params.data.OSI;\r\n }\r\n }\r\n onGridReady = params => {\r\n\t this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n }\r\n\r\n invokeDeleteMethod(){\r\n //alert(\"click\");\r\n }\r\n onRemoveSelected(cell, transactionId) {\r\n console.log(\"onRemoveSelected click\" + cell);\r\n var selectedData = this.gridApi.getSelectedRows();\r\n console.log(\"selectedData\", selectedData);\r\n alertify.confirm('Delete Batch Queue Detail?', ' Are you sure you wish to delete the selected row?',\r\n () => {\r\n API.get(\"RemoveQueueTransaction?TransactionId=\"+transactionId).then(response => {\r\n console.log(response);\r\n //this.gridApi.updateRowData({ update: response});\r\n if(response.data === 1){\r\n this.state.rowData.splice(selectedData.rowIndex, 1);\r\n this.gridApi.updateRowData({ remove: selectedData });\r\n //console.log(response);\r\n alertify.success(\"deleted successfully\")\r\n }\r\n else if(response.data === 0){\r\n alertify.error(\"error\");\r\n }\r\n })\r\n .catch((err) => {\r\n alertify.error('System Error - unable to retrieve data from server');\r\n console.log(\"submit error\", err);\r\n });\r\n }, () => {\r\n //Leave alert\r\n })\r\n\t\t\r\n }\r\n\r\n txtChangeHandler = event => {\r\n\t\tthis.setState({ [event.target.name]: event.target.value });\r\n }\r\n\r\n handlePageChange(pageNumber) {\r\n\t\tconsole.log(`active page is ${pageNumber}`);\r\n\t\tthis.setState({activePage: pageNumber});\r\n\t\tif (this.gridApi) {\r\n\t\t\tthis.gridApi.showLoadingOverlay();\r\n\t\t}\r\n\t\tthis.getGridViewData(pageNumber);\r\n }\r\n \r\n batchQueueSubmit(event) {\r\n event.preventDefault();\r\n this.setState({\r\n\t\t\tactivePage: 1,\r\n\t\t});\r\n\t\tif (this.gridApi) {\r\n\t\t\tthis.gridApi.showLoadingOverlay();\r\n\t\t}\r\n\t\tthis.getGridViewData(1);\r\n }\r\n\r\n getGridViewData(pageNumber){\r\n this.setState({ isLoading: true});\r\n let submitRequestJSON = {\r\n\t\t\t\"Pnr\": this.state.txtPNR,\r\n\t\t\t\"TicketNumber\": this.state.txtTicket\r\n };\r\n pageNumber = pageNumber -1;\r\n let transactionRequest = {\r\n\t\t\t\"PageNumber\" : pageNumber,\r\n\t\t\t\"PageSize\" : 10,\r\n\t\t\t\"Critera\" : submitRequestJSON,\r\n\t\t\t\"SortBy\": \"\",\r\n \t\t\"SortOrder\": \"\"\r\n };\r\n API.post(\"SearchTransactionQueue\", transactionRequest).then(response => {\r\n\t\t\tconsole.log(\"page\", this.state.activePage);\r\n\t\t\tconsole.log(\"mydata\",response);\r\n\t\t\t\r\n\t\t\tif(response && response.data){\r\n\t\t\t\tlet tempRowData = response.data.Items;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\ttotalDataCount: response.data.TotalCount,\r\n\t\t\t\t\trowData: [...tempRowData],\r\n displayBatchQueueGrid: true,\r\n isLoading: false\r\n\t\t\t\t})\r\n\t\t\t\tif (this.gridApi) {\r\n\t\t\t\t\tthis.gridApi.hideOverlay();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n console.log(\"submit error\", err);\r\n this.setState({\r\n isLoading: false\r\n });\r\n\t\t});\r\n }\r\n \r\n render() {\r\n return (\r\n\t\t\t
\r\n\t\t\t\t

Evolution Queue

\r\n\t\t\t\t\r\n \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n { this.state.isLoading &&
Loading... 
}  Search\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\t\t\t\t\t
\r\n { this.state.displayBatchQueueGrid && this.state.rowData.length === 0 && \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

Total Records Found: {this.state.totalDataCount}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n { this.state.displayBatchQueueGrid && this.state.rowData && this.state.rowData.length > 0 && \r\n
\r\n \r\n \r\n
\r\n
\r\n {/*  Refresh */}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n }\r\n\t\t\t\t
\r\n\t\t\t
\r\n );\r\n }\r\n}\r\n\r\nexport default BatchQueue;\r\n","import React, { Component } from 'react';\r\n// import { MDBContainer, MDBRow, MDBCol, MDBCard, MDBCardBody, MDBBtn, MDBInput, MDBTable, MDBTableBody, MDBTableHead } from 'mdbreact';\r\n// import API from '../../api';\r\n\r\n// import alertify from 'alertifyjs';\r\n\r\nclass BatchUpload extends Component {\r\n // constructor(props) {\r\n // super(props);\r\n \r\n // this.state = {\r\n // file: null,\r\n // radio: 1,\r\n // errorMessages: '',\r\n // gridDisplayData: {},\r\n // displayErrorCard: false,\r\n // displaySuccessCard: false,\r\n // isLoading: false\r\n // };\r\n \r\n // this.handleUploadBatch = this.handleUploadBatch.bind(this);\r\n // this.batchUploadHandler = this.batchUploadHandler.bind(this);\r\n // this.confirmBatchUploadHandler = this.confirmBatchUploadHandler.bind(this);\r\n // this.cancelSubmit = this.cancelSubmit.bind(this);\r\n // }\r\n\r\n // cancelSubmit(event){\r\n // event.preventDefault();\r\n // this.setState({\r\n // displayErrorCard: false,\r\n // displaySuccessCard: false,\r\n // });\r\n // }\r\n\r\n // confirmBatchUploadHandler(event){\r\n // event.preventDefault();\r\n // let confirmFileUpload = this.state.file;\r\n // let formData = new FormData();\r\n // console.log(confirmFileUpload);\r\n // formData.append(\"Confirm fileExcel\", confirmFileUpload);\r\n\r\n // alertify.confirm('Confirm File Processing?', ' Are you sure you wish to process the selected file?',\r\n // () => {\r\n // API.post(\"SubmitBatchExcel?Process=Y\", formData).then(response => {\r\n // console.log(response);\r\n // if(response && response.data){\r\n // let responseConfirmGridData = response.data;\r\n // console.log(\"responseConfirmGridData\", responseConfirmGridData);\r\n // alertify.success(\"Processed file succesfully\");\r\n // this.setState({\r\n // displayErrorCard: false,\r\n // displaySuccessCard: false\r\n // })\r\n // }\r\n // else{\r\n // alertify.error('System Error - unable to retrieve data from server');\r\n // }\r\n // });\r\n // }, () => {\r\n // //Leave it\r\n // })\r\n // }\r\n\r\n // batchUploadHandler(e){\r\n // let fileData = this.state.file;//document.getElementById(\"fileExcel\").files[0];\r\n // let formData = new FormData();\r\n // this.setState({isLoading: true})\r\n // formData.append(\"fileExcel\", fileData);\r\n // console.log(\"fileData name\", this.state.file)\r\n // //var ext = fileData.name.split('.').pop()\r\n\r\n // console.log(formData);\r\n // API.post(\"SubmitBatchExcel?Process=N\", formData).then(response => {\r\n // console.log(\"response recived\", response);\r\n\t// \t\tif(response && response.data){\r\n // let responseGridData = response.data;\r\n // console.log(responseGridData);\r\n\t// \t\t\tlet errorMessagesData = responseGridData.Error.Message;\r\n // if(responseGridData.Status === 0){\r\n // this.setState({\r\n // displayErrorCard: true,\r\n // displaySuccessCard: false,\r\n // errorMessages: errorMessagesData,\r\n // gridDisplayData: responseGridData,\r\n // isLoading: false\r\n // });\r\n // console.log(\"errorMessages this.state.errorMessages\" , this.state.errorMessages);\r\n // }\r\n // else{\r\n // this.setState({\r\n // displayErrorCard: false,\r\n // displaySuccessCard: true,\r\n // gridDisplayData: responseGridData,\r\n // isLoading: false\r\n // });\r\n // console.log(\"errorMessages this.state.errorMessages\" , this.state.errorMessages);\r\n // }\r\n\t// \t\t}\r\n\t// \t\telse{\r\n\t// \t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t// \t\t}\r\n\t// \t})\r\n\t// \t.catch((err) => {\r\n\t// \t\talertify.error('System Error - unable to retrieve data from server');\r\n\t// \t\tconsole.log(\"submit error\", err);\r\n\t// \t});\r\n // }\r\n\r\n // handleUploadBatch(e) {\r\n // let fileObject = document.getElementById(\"fileExcel\");\r\n // let file = fileObject.files[0];\r\n // this.setState({\r\n // file: file,\r\n // isLoading: false\r\n // });\r\n // }\r\n \r\n // onClick = nr => () => {\r\n // this.setState({\r\n // radio: nr\r\n // });\r\n // }\r\n\r\n // renderTableHeader = (data) =>data.map((item, i) => {item});\r\n // renderTableBody = (data) => data.map((item, i) => {item.map((col, j) => {col})});\r\n\r\n // renderTable = (data) => (\r\n // \r\n // {this.renderTableHeader([...data.Headers])}\r\n // {this.renderTableBody([...data.Items])}\r\n // \r\n // )\r\n\r\n render() {\r\n // const { errorMessages, displayErrorCard, displaySuccessCard, isLoading } = this.state;\r\n return (\r\n
\r\n

Batch Upload

\r\n
\r\n //
\r\n //

Batch Upload

\r\n \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // {/* \r\n // \r\n // Upload\r\n // */}\r\n // \r\n // \r\n //
\r\n //
\r\n // \r\n // \r\n // { isLoading &&
Loading... 
}  Upload\r\n //
\r\n //
\r\n //
\r\n //
\r\n //
\r\n // \r\n // \r\n // \r\n // \r\n // \r\n //
\r\n //
\r\n // { displayErrorCard && \r\n // \r\n // \r\n // {/* {errorMessages.map(errorMessage =>

{errorMessage}

)} */}\r\n //
{errorMessages}
\r\n //
{this.renderTable(this.state.gridDisplayData)}
\r\n //
\r\n // \r\n // \r\n // Ok\r\n // \r\n // \r\n //
\r\n // }\r\n // { displaySuccessCard && \r\n // \r\n // \r\n //
{this.renderTable(this.state.gridDisplayData)}
\r\n //
\r\n // \r\n // \r\n // Cancel\r\n // Confirm Processing\r\n // \r\n // \r\n //
\r\n // }\r\n //
\r\n //
\r\n //
\r\n //
\r\n );\r\n }\r\n}\r\n\r\nexport default BatchUpload;\r\n\r\n\r\n","import React, { Component } from 'react';\r\nimport { MDBContainer, MDBRow, MDBCol, MDBBtn, MDBInput, MDBCard, MDBCardBody, MDBSwitch, MDBIcon } from 'mdbreact'\r\nimport API from '../../api';\r\nimport { sortBy } from 'lodash';\r\nimport alertify from 'alertifyjs';\r\nimport CRUDButtons from '../common/CRUDButtons';\r\nimport Pagination from \"react-js-pagination\";\r\nimport DataGrid from '../common/DataGrid';\r\n\r\nclass EventMaster extends Component {\r\n\tconstructor(props) {\r\n super(props);\r\n this.state = {\r\n\t\t\ttxtEvent: '',\r\n\t\t\ttxtStatus: '',\r\n\t\t\ttxtEventData: '',\r\n\t\t\tstatusSwitch1: true,\r\n\t\t\tstatusSwitch2: true,\r\n\t\t\tisLoading: false,\r\n\t\t\tisDisabled: false,\r\n\t\t\tactivePage: 1,\r\n\t\t\ttotalDataCount: 0,\r\n\t\t\tdisplaySaveEventBox: false, \r\n\t\t\tcolumnDefs: [\r\n\t\t\t\t{headerName: \"\", field: \"Id\", hide: true },\r\n\t\t\t\t{headerName: 'Events', field: 'EventName', width: 150, cellClass: 'editableInputBox eventlgBox firstInput', \r\n\t\t\t\t\tfilter: true, \r\n\t\t\t\t\teditable: this.checkEditable.bind(this),\r\n\t\t\t\t\tcellEditor: 'agLargeTextCellEditor',\r\n\t\t\t\t\tcellEditorParams: {\r\n\t\t\t\t\t\tmaxLength: '50', // override the editor defaults\r\n\t\t\t\t\t\tcols: '50',\r\n\t\t\t\t\t\trows: '1',\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{headerName: 'Status', field: 'IsActive', width: 40, cellClass: 'gridSelectBox smallBox',\r\n // cellRenderer: \"CheckboxSwitchRenderer\", \r\n cellEditor: 'agPopupSelectCellEditor',\r\n cellEditorParams: {\r\n cellRenderer: this.statusCellRenderer,\r\n values: ['Active', 'In-active']\r\n },\r\n colId: \"params\", \r\n filter: true, \r\n editable: this.checkEditable.bind(this),\r\n }\r\n\t\t\t]\r\n\t\t}\r\n\t\t// this.onAddWaiverData = this.onAddWaiverData.bind(this);\r\n\t\tthis.updateEventData = this.updateEventData.bind(this);\r\n\t\tthis.addEventDataRow = this.addEventDataRow.bind(this);\r\n\t\tthis.deleteEventData = this.deleteEventData.bind(this);\r\n\t\tthis.saveEventData = this.saveEventData.bind(this);\r\n\t\tthis.cancelEventData = this.cancelEventData.bind(this);\r\n\t}\r\n\t\r\n\thandleSwitchChange = nr => () => {\r\n\t\tlet switchNumber = `statusSwitch${nr}`;\r\n\t\tthis.setState({\r\n\t\t [switchNumber]: !this.state[switchNumber]\r\n\t\t});\r\n\t}\r\n\t\r\n\tstatusCellRenderer(params) {\r\n return params.value;\r\n }\r\n\r\n\tonRowSelected(event,params) {\r\n\t\tevent.data.isSelected = event.node.selected;\r\n\t\tconsole.log(\"editable params\", params);\r\n\t\t\r\n\t\treturn event;\r\n\t}\r\n\r\n\tonGridReady = params => {\r\n\t this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n\t\tparams.api.sizeColumnsToFit();\r\n\t}\r\n\r\n\tsaveEventData(event){\r\n\t\tevent.preventDefault();\r\n\t\tthis.gridApi.stopEditing();\r\n\t\tthis.setState({\r\n\t\t\tisLoading: true\r\n\t\t});\r\n\t\tif(this.state.txtEvent === ''){\r\n\t\t\talertify.error(\"Cannot save empty data\");\r\n\t\t\tthis.setState({\r\n\t\t\t\tisLoading: false\r\n\t\t\t});\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tlet submitRequestJSON = {\r\n\t\t\t\"EventName\": this.state.txtEvent,\r\n\t\t\t\"IsActive\": this.state.statusSwitch1\r\n\t\t};\r\n\t\tconsole.log(\"submitRequestJSON\", submitRequestJSON);\r\n\t\tthis.gridApi.showLoadingOverlay();\r\n\t\tif(submitRequestJSON){\r\n\t\t\tAPI.post('InsertEvent', submitRequestJSON)\r\n\t\t\t.then(response => {\r\n\t\t\t\tif(response && response.data){\r\n\t\t\t\t\tsubmitRequestJSON.Id = response.data;\r\n\t\t\t\t\tthis.state.rowData.push(submitRequestJSON);\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\trowData : this.state.rowData, \r\n\t\t\t\t\t\ttxtEvent: '',\r\n\t\t\t\t\t\tstatusSwitch1: true,\r\n\t\t\t\t\t\tisLoading: false\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (this.gridApi) {\r\n\t\t\t\t\t\tthis.gridApi.hideOverlay();\r\n\t\t\t\t\t}\r\n\t\t\t\t\talertify.success(\"Succefully Added Event\");\r\n\t\t\t\t\tif(submitRequestJSON.IsActive === true){\r\n\t\t\t\t\t\tsubmitRequestJSON.IsActive = 'Active'\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tsubmitRequestJSON.IsActive = 'In-active'\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar updateEventRes = this.gridApi.updateRowData({ add: [submitRequestJSON] });\r\n\t\t\t\t\tconsole.log(updateEventRes);\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch(error=>{\r\n\t\t\t\tconsole.log(error);\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tupdateEventData(event){\r\n\t\tevent.preventDefault();\r\n\t\tthis.gridApi.stopEditing();\r\n\t\tlet updateEventRequests = [];\r\n\t\tlet selectedEventIds = this.state.rowData.filter(p=>p.isSelected);\r\n\t\tconsole.log(\"selectedEventIds\", selectedEventIds);\r\n\t\tif(selectedEventIds && selectedEventIds.length > 0){\r\n\t\t\tselectedEventIds.forEach(p=>{\r\n\t\t\t\tlet submitRequestJSON = {\r\n\t\t\t\t\t\"Id\": p.Id,\r\n\t\t\t\t\t\"EventName\": p.EventName,\r\n\t\t\t\t\t\"IsActive\": p.IsActive === \"Active\" ? true : false\r\n \t\t\t// \"IsActive\": p.IsActive\r\n\t\t\t\t};\r\n\r\n\t\t\t\tupdateEventRequests.push(submitRequestJSON);\r\n\t\t\t});\r\n\r\n\t\t\tif(updateEventRequests && updateEventRequests.length > 0){\r\n\t\t\t\tconsole.log(\"updateEventRequests\", updateEventRequests);\r\n\t\t\t\tAPI.post('UpdateEvent', updateEventRequests[0])\r\n\t\t\t\t.then(response => {\r\n\t\t\t\t\tif(response && response.data){\r\n\t\t\t\t\t\tif(response.data === 1){\r\n\t\t\t\t\t\t\talertify.success(\"Succefully updated\");\r\n\t\t\t\t\t\t\t//var updateEventMaster = this.gridApi.updateRowData({ add: [updateEventRequests] });\r\n\t\t\t\t\t\t\t//console.log(updateEventMaster);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if(response.data === 0){\r\n\t\t\t\t\t\t\talertify.error(\"Error while updating\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(error=>{\r\n\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\tdeleteEventData(event){\r\n\t\tevent.preventDefault();\r\n\t\r\n\t\tvar selectedData = this.gridApi.getSelectedRows();\r\n\t\tselectedData.forEach(p => {\r\n\t\t\tif(p.IsActive === \"Active\"){\r\n\t\t\t\tp.IsActive = true\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tp.IsActive = false\r\n\t\t\t}\r\n\t\t});\r\n\t\talertify.confirm('Delete Selected Event Detail?', ' Are you sure you wish to delete the selected row?',\r\n\t\t() => {\r\n\t\t\tAPI.post(\"DeleteEvent\", selectedData[0]).then(response => {\r\n\t\t\t\tif(response && response.data){\r\n\t\t\t\t\tif(response.data === 1){\r\n\t\t\t\t\t\tthis.state.rowData.splice(selectedData.rowIndex, 1);\r\n\t\t\t\t\t\tthis.gridApi.updateRowData({ remove: selectedData });\r\n\t\t\t\t\t\talertify.success(\"deleted successfully\")\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if(response.data === 0){\r\n\t\t\t\t\t\talertify.error(\"error\");\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\tconsole.log(\"submit error\", err);\r\n\t\t\t});\r\n\t\t}, () => {\r\n //Leave alert\r\n });\r\n\t}\r\n\r\n\ttxtChangeHandler = event => {\r\n\t\tthis.setState({ [event.target.name]: event.target.value });\r\n\t};\r\n\r\n\taddEventDataRow(){\r\n\t\tthis.setState({\r\n\t\t\tdisplaySaveEventBox: true,\r\n\t\t\tisDisabled: true\r\n\t\t})\r\n\t}\r\n\tcancelEventData(){\r\n\t\tthis.setState({\r\n\t\t\tdisplaySaveEventBox: false,\r\n\t\t\tisDisabled: false,\r\n\t\t\ttxtEvent: '',\r\n\t\t\tstatusSwitch1: false,\r\n\t\t});\r\n\t}\r\n\r\n\tcheckEditable(params){\r\n\t\tif(params.node.selected){\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tconsole.log(\"editable params\" , params.node.selected);\r\n\t}\r\n\tonCellValueChanged(event) {\r\n\t\tconsole.log(\"data after changes is: \", event.data);\r\n\t\tthis.gridApi.stopEditing();\r\n\t\treturn;\r\n\t}\r\n\r\n\thandlePageChange(pageNumber) {\r\n\t\t\r\n\t\tthis.setState({activePage: pageNumber});\r\n\t\tif (this.gridApi) {\r\n\t\t\tthis.gridApi.showLoadingOverlay();\r\n\t\t}\r\n\t\tthis.getGridViewData(pageNumber);\r\n\t}\r\n\r\n\tgetGridViewData(pageNumber){\r\n\t\tpageNumber = pageNumber -1;\r\n\t\tlet transactionRequest = {\r\n\t\t\t\"PageNumber\": pageNumber,\r\n\t\t\t\"PageSize\": 10,\r\n\t\t\t\"Critera\": {\r\n\t\t\t\t\"Name\": this.state.txtEventData,\r\n\t\t\t\t\"IsActive\": this.state.statusSwitch2\r\n\t\t\t},\r\n\t\t\t\"SortBy\": \"\",\r\n\t\t\t\"SortOrder\": \"\"\r\n\t\t}\r\n API.post('GetEventPagedList', transactionRequest)\r\n\t\t .then(response => {\r\n if(response && response.data){\r\n\t\t\t\tlet dataResponse = response.data.Items;\r\n\t\t\t\tdataResponse = sortBy(dataResponse, 'IsActive').reverse();\r\n\r\n\t\t\t\tresponse.data.Items.forEach(p => {\r\n\t\t\t\t\tif(p.IsActive === true){\r\n\t\t\t\t\t\tp.IsActive = \"Active\"\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tp.IsActive = \"In-active\"\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t this.setState({\r\n\t\t\t\t\trowData: dataResponse,\r\n\t\t\t\t\ttotalDataCount: response.data.TotalCount,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\t//alert(JSON.stringify(err));\r\n\t\t\t//adalContext.LogOut();\r\n\t\t\talertify.error(err);\r\n\t\t\tconsole.log(\"submit error\", err);\r\n\t\t});\r\n\t}\r\n\t\r\n\tcomponentDidMount() {\r\n\t\tthis.getGridViewData(1);\r\n\t}\r\n\r\n\tonFilterValueChanged() {\r\n\t\tthis.getGridViewData(1);\r\n\t}\r\n\r\n\tresetData(){\r\n\t\tthis.setState({\r\n\t\t\ttxtEventData: '',\r\n\t\t\tstatusSwitch2: true\r\n\t\t}, () => this.getGridViewData(1));\r\n\t}\r\n\t\r\n\r\n render() {\r\n\t\tconst { isLoading, displaySaveEventBox, isDisabled } = this.state;\r\n return (\r\n\t\t\t
\r\n\t\t\t\t

Event Master

\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{ displaySaveEventBox &&\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{ isLoading &&
Loading... 
} Save \r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tCancel\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{ this.state.isSearchLoading &&
Loading... 
}   Search\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tClear\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n );\r\n }\r\n}\r\n\r\nexport default EventMaster;\r\n\r\n","import React, { Component } from 'react';\r\nimport { MDBContainer, MDBRow, MDBCol, MDBBtn, MDBInput, MDBCard, MDBCardBody, MDBSwitch } from 'mdbreact';\r\nimport API from '../../api';\r\nimport { sortBy } from 'lodash';\r\nimport alertify from 'alertifyjs';\r\nimport CRUDButtons from '../common/CRUDButtons';\r\n// import {updateMasterData} from '../common/crudFunction';\r\nimport Pagination from \"react-js-pagination\";\r\nimport GridDataFilter from '../common/GridDataFilter';\r\nimport DataGrid from '../common/DataGrid';\r\n\r\nclass ExchangeWaiver extends Component {\r\n\tconstructor(props) {\r\n super(props);\r\n this.state = {\r\n\t\t\ttxtSearchData:'',\r\n\t\t\ttxtCarrier: '',\r\n\t\t\ttxtWaiverCodeName: '',\r\n\t\t\ttxtTourCode: '',\r\n txtOSI: '',\r\n txtEndorsement: '',\r\n\t\t\tstatusSwitch1: true,\r\n\t\t\tstatusSwitch2: true,\r\n\t\t\tisLoading: false,\r\n\t\t\tisDisabled: false,\r\n\t\t\tactivePage: 1,\r\n\t\t\ttotalDataCount: 0,\r\n\t\t\tisSearchLoading: false,\r\n\t\t\ttxtSearchWaiverName: '',\r\n\t\t\ttxtSearchAirlineData: '',\r\n\t\t\tdisplaySaveWaiverBox: false, \r\n\t\t\tcolumnDefs: [\r\n\t\t\t\t{headerName: \"\", field: \"Id\", hide: true},\r\n\t\t\t\t{headerName: 'Validating Carrier', field: 'Airline', \r\n\t\t\t\t\twidth: 60, cellClass: 'editableInputBox firstInput text-uppercase', \r\n\t\t\t\t\teditable: this.checkEditable.bind(this), \r\n\t\t\t\t\tfilter: true,\r\n\t\t\t\t\tcellEditor: 'agLargeTextCellEditor',\r\n\t\t\t\t\tcellEditorParams: {\r\n\t\t\t\t\t\tmaxLength: '2', // override the editor defaults\r\n\t\t\t\t\t\tcols: '15',\r\n\t\t\t\t\t\trows: '1',\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n {headerName: 'Waiver Code Name', field: 'WaiverName', width: 110, cellClass: 'editableInputBox lgWaiverBox', editable: this.checkEditable.bind(this), filter: true},\r\n\t\t\t\t{headerName: 'Tour Code', field: 'TourCode', \r\n\t\t\t\t\twidth: 50, cellClass: 'editableInputBox text-uppercase', \r\n\t\t\t\t\teditable: this.checkEditable.bind(this), \r\n\t\t\t\t\tfilter: true,\r\n\t\t\t\t\tcellEditor: 'agLargeTextCellEditor',\r\n\t\t\t\t\tcellEditorParams: {\r\n\t\t\t\t\t\tmaxLength: '45', // override the editor defaults\r\n\t\t\t\t\t\tcols: '25',\r\n\t\t\t\t\t\trows: '1',\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{headerName: 'OSI', field: 'OSI', \r\n\t\t\t\t\twidth: 50, cellClass: 'editableInputBox text-uppercase', \r\n\t\t\t\t\teditable: this.checkEditable.bind(this), \r\n\t\t\t\t\tfilter: true,\r\n\t\t\t\t\tcellEditor: 'agLargeTextCellEditor',\r\n\t\t\t\t\tcellEditorParams: {\r\n\t\t\t\t\t\tmaxLength: '45', // override the editor defaults\r\n\t\t\t\t\t\tcols: '25',\r\n\t\t\t\t\t\trows: '1',\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{headerName: 'Endorsement', field: 'Endorsement', \r\n\t\t\t\t\twidth: 50, \r\n\t\t\t\t\tcellClass: 'editableInputBox text-uppercase', \r\n\t\t\t\t\teditable: this.checkEditable.bind(this), \r\n\t\t\t\t\tfilter: true,\r\n\t\t\t\t\tcellEditor: 'agLargeTextCellEditor',\r\n\t\t\t\t\tcellEditorParams: {\r\n\t\t\t\t\t\tmaxLength: '45', // override the editor defaults\r\n\t\t\t\t\t\tcols: '25',\r\n\t\t\t\t\t\trows: '1',\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t// {headerName: 'Status', field: 'IsActive', editable: true, cellRenderer: this.checkboxCellRenderer},\r\n\t\t\t\t{headerName: 'Status', field: 'IsActive', width: 40, cellClass: 'gridSelectBox smallBox',\r\n // cellRenderer: \"CheckboxSwitchRenderer\", \r\n cellEditor: 'agPopupSelectCellEditor',\r\n cellEditorParams: {\r\n cellRenderer: this.statusCellRenderer,\r\n values: ['Active', 'In-active']\r\n },\r\n colId: \"params\",\r\n\t\t\t\t\teditable: this.checkEditable.bind(this),\r\n\t\t\t\t\tfilter: true\r\n }\r\n ],\t\r\n\t\t}\r\n\t\t// this.onAddWaiverData = this.onAddWaiverData.bind(this);\r\n\t\tthis.updateWaiverData = this.updateWaiverData.bind(this);\r\n\t\tthis.addWaiverDataRow = this.addWaiverDataRow.bind(this);\r\n\t\tthis.deleteWaiverData = this.deleteWaiverData.bind(this);\r\n\t\tthis.saveWaiverData = this.saveWaiverData.bind(this);\r\n\t\tthis.cancelWaiverData = this.cancelWaiverData.bind(this);\r\n }\r\n statusCellRenderer(params) {\r\n return params.value;\r\n }\r\n\t\r\n\tcheckboxCellRenderer (params){\r\n\t\tvar input = document.createElement(\"input\")\r\n\t\tinput.type = \"checkbox\";\r\n\t\tinput.checked = params.value\r\n\t\treturn input\r\n\t}\r\n\r\n\tonRowSelected(event,params) {\r\n\t\tevent.data.isSelected = event.node.selected;\r\n\t\tconsole.log(\"editable params\", params);\r\n\t\treturn event;\r\n\t}\r\n\r\n\tonGridReady = params => {\r\n\t this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n\t\tparams.api.sizeColumnsToFit();\r\n\t}\r\n\r\n\tsaveWaiverData(event){\r\n\t\tevent.preventDefault();\r\n\t\tthis.gridApi.stopEditing();\r\n\t\tthis.setState({\r\n\t\t\tisLoading: true\r\n\t\t});\r\n\t\tif(this.state.txtCarrier === ''){\r\n\t\t\talertify.error(\"Cannot save empty Validating carrier\");\r\n\t\t\tthis.setState({\r\n\t\t\t\tisLoading: false\r\n\t\t\t});\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tif(this.state.txtWaiverCodeName === ''){\r\n\t\t\talertify.error(\"Cannot save empty Waiver Code Name\");\r\n\t\t\tthis.setState({\r\n\t\t\t\tisLoading: false\r\n\t\t\t});\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tif(this.state.txtTourCode === '' && this.state.txtOSI === '' && this.state.txtEndorsement === '') {\r\n\t\t\talertify.error(\"Please enter value in TourCode or OSI or Endorsement\");\r\n\t\t\tthis.setState({\r\n\t\t\t\tisLoading: false\r\n\t\t\t});\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tlet submitRequestJSON = {\r\n\t\t\t\"Airline\": this.state.txtCarrier,\r\n\t\t\t\"OSI\": this.state.txtOSI,\r\n\t\t\t\"TourCode\": this.state.txtTourCode,\r\n \"WaiverName\": this.state.txtWaiverCodeName,\r\n \"Endorsement\": this.state.txtEndorsement,\r\n \"IsActive\": this.state.statusSwitch1\r\n\t\t};\r\n\t\tconsole.log(\"submitRequestJSON\", submitRequestJSON);\r\n\t\tthis.gridApi.showLoadingOverlay();\r\n\t\tif(submitRequestJSON){\r\n\t\t\tAPI.post('InsertExchangeWaiver', submitRequestJSON)\r\n\t\t\t.then(response => {\r\n if(response && response.data){\r\n console.log(response.data);\r\n submitRequestJSON.Id = response.data;\r\n console.log(response.config.data);\r\n this.state.rowData.push(submitRequestJSON);\r\n this.setState({\r\n rowData : this.state.rowData, \r\n txtCarrier: '',\r\n txtWaiverCodeName: '',\r\n txtTourCode: '',\r\n txtOSI: '',\r\n txtEndorsement: '',\r\n statusSwitch1: true,\r\n isLoading: false\r\n });\r\n if (this.gridApi) {\r\n this.gridApi.hideOverlay();\r\n }\r\n\t\t\t\t\talertify.success(\"Succefully Added Waiver\");\r\n\t\t\t\t\tif(submitRequestJSON.IsActive === true){\r\n\t\t\t\t\t\tsubmitRequestJSON.IsActive = 'Active'\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tsubmitRequestJSON.IsActive = 'In-active'\r\n\t\t\t\t\t}\r\n var updateWaiverRes = this.gridApi.updateRowData({ add: [submitRequestJSON] });\r\n console.log(updateWaiverRes);\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tisLoading: false\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (this.gridApi) {\r\n this.gridApi.hideOverlay();\r\n }\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch(error=>{\r\n\t\t\t\tconsole.log(error);\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoading: false\r\n\t\t\t\t});\r\n\t\t\t\tif (this.gridApi) {\r\n\t\t\t\t\tthis.gridApi.hideOverlay();\r\n\t\t\t\t}\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tupdateWaiverData(event){\r\n\t\tevent.preventDefault();\r\n\t\tthis.gridApi.stopEditing();\r\n\t\tlet updateWaiverRequests = [];\r\n\t\tlet isErrorReceived = false;\r\n\t\tlet selectedWaiverIds = this.state.rowData.filter(p=>p.isSelected);\r\n\t\t//console.log(\"selectedWaiverIds\", selectedWaiverIds);\r\n\t\tif (selectedWaiverIds) {\r\n\t\t\tselectedWaiverIds.forEach(p => {\r\n\t\t\t\tif (p && !(p.Airline)) {\r\n\t\t\t\t\talertify.error(\"Please enter Validating Carrier\");\r\n\t\t\t\t\tisErrorReceived = true;\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\tif(p && !(p.WaiverName)){\r\n\t\t\t\t\talertify.error(\"Please enter Waiver code Name\");\r\n\t\t\t\t\tisErrorReceived = true;\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\tif(p && !(p.TourCode) && !(p.OSI) && !(p.Endorsement)){\r\n\t\t\t\t\talertify.error(\"Please enter value in TourCode or OSI or Endorsement\");\r\n\t\t\t\t\tisErrorReceived = true;\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tif(isErrorReceived){\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif(selectedWaiverIds && selectedWaiverIds.length > 0){\r\n\t\t\tselectedWaiverIds.forEach(p=>{\r\n\t\t\t\tlet submitRequestJSON = {\r\n\t\t\t\t\t\"Id\": p.Id,\r\n\t\t\t\t\t\"Airline\": p.Airline,\r\n\t\t\t\t\t\"WaiverName\": p.WaiverName,\r\n\t\t\t\t\t\"TourCode\": p.TourCode,\r\n \"OSI\": p.OSI,\r\n \"Endorsement\": p.Endorsement,\r\n \"IsActive\": p.IsActive === \"Active\" ? true : false\r\n\t\t\t\t};\r\n\r\n\t\t\t\tupdateWaiverRequests.push(submitRequestJSON);\r\n\t\t\t});\r\n\r\n\t\t\tif(updateWaiverRequests && updateWaiverRequests.length > 0){\r\n\t\t\t\tconsole.log(\"updateWaiverRequests\", updateWaiverRequests);\r\n\t\t\t\tAPI.post('UpdateExchangeWaiver', updateWaiverRequests[0])\r\n\t\t\t\t.then(response => {\r\n if(response && response.data){\r\n if(response.data === 1){\r\n\t\t\t\t\t\t\talertify.success(\"Succefully updated\")\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if(response.data === 0){\r\n\t\t\t\t\t\t\talertify.error(\"Error while updating\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(error=>{\r\n\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\tdeleteWaiverData(event){\r\n\t\tevent.preventDefault();\r\n\t\tvar selectedData = this.gridApi.getSelectedRows();\r\n\t\tconsole.log(\"selectedData\", selectedData);\r\n\t\tselectedData.forEach(p => {\r\n\t\t\tif(p.IsActive === \"Active\"){\r\n\t\t\t\tp.IsActive = true\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tp.IsActive = false\r\n\t\t\t}\r\n\t\t});\r\n\t\talertify.confirm('Delete Selected Refund Waiver Detail?', ' Are you sure you wish to delete the selected row?',\r\n\t\t() => {\r\n\t\t\tAPI.post(\"DeleteExchangeWaiver\", selectedData[0]).then(response => {\r\n if(response && response.data){\r\n console.log(response);\r\n //this.gridApi.updateRowData({ update: response});\r\n if(response.data === 1){\r\n this.state.rowData.splice(selectedData.rowIndex, 1);\r\n this.gridApi.updateRowData({ remove: selectedData });\r\n //console.log(response);\r\n alertify.success(\"deleted successfully\")\r\n }\r\n else if(response.data === 0){\r\n alertify.error(\"error\");\r\n }\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\tconsole.log(\"submit error\", err);\r\n\t\t\t});\r\n\t\t}, () => {\r\n //Leave alert\r\n });\r\n\t}\r\n\r\n\ttxtChangeHandler = event => {\r\n\t\tthis.setState({ [event.target.name]: event.target.value });\r\n\t};\r\n\r\n\taddWaiverDataRow(){\r\n\t\tthis.setState({\r\n\t\t\tdisplaySaveWaiverBox: true,\r\n\t\t\tisDisabled: true\r\n\t\t})\r\n\t}\r\n\tcancelWaiverData(){\r\n\t\tthis.setState({\r\n\t\t\tdisplaySaveWaiverBox: false,\r\n\t\t\tisDisabled: false,\r\n\t\t\ttxtCarrier: '',\r\n\t\t\ttxtWaiverCodeName: '',\r\n txtOSI: '',\r\n txtTourCode: '',\r\n\t\t\ttxtEndorsement: '',\r\n\t\t\tstatusSwitch1: false,\r\n\t\t});\r\n\t}\r\n\tcheckEditable(params){\r\n\t\tif(params.node.selected){\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tconsole.log(\"editable params\" , params.node.selected);\r\n\t}\r\n\tonCellValueChanged(event) {\r\n\t\tconsole.log(\"data after changes is: \", event.data);\r\n\t\tthis.gridApi.stopEditing();\r\n\t\treturn;\r\n }\r\n handleSwitchChange = nr => () => {\r\n\t\tlet switchNumber = `statusSwitch${nr}`;\r\n\t\tthis.setState({\r\n\t\t [switchNumber]: !this.state[switchNumber]\r\n\t\t});\r\n\t}\r\n\thandlePageChange(pageNumber) {\r\n\t\t\r\n\t\tthis.setState({activePage: pageNumber});\r\n\t\tif (this.gridApi) {\r\n\t\t\tthis.gridApi.showLoadingOverlay();\r\n\t\t}\r\n\t\tthis.getGridViewData(pageNumber);\r\n\t}\r\n\r\n\tgetGridViewData(pageNumber){\r\n\t\tpageNumber = pageNumber -1;\r\n\t\tlet transactionRequest = {\r\n\t\t\t\"PageNumber\": pageNumber,\r\n\t\t\t\"PageSize\": 10,\r\n\t\t\t\"Critera\": {\r\n\t\t\t\t\"AirlineCode\" : this.state.txtSearchAirlineData,\r\n\t\t\t \t\"WaiverName\": this.state.txtSearchWaiverName,\r\n\t\t\t\t\"IsActive\": this.state.statusSwitch2,\r\n\t\t\t},\r\n\t\t\t\"SortBy\": \"\",\r\n\t\t\t\"SortOrder\": \"\"\r\n\t\t}\r\n API.post('GetExchangeWaiverPagedList', transactionRequest)\r\n\t\t .then(response => {\r\n if(response && response.data){\r\n\t\t\t\tlet dataResponse = response.data.Items;\r\n\t\t\t\tdataResponse = sortBy(dataResponse, 'IsActive').reverse();\r\n\r\n\t\t\t\tresponse.data.Items.forEach(p => {\r\n\t\t\t\t\tif(p.IsActive === true){\r\n\t\t\t\t\t\tp.IsActive = \"Active\"\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tp.IsActive = \"In-active\"\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t this.setState({\r\n\t\t\t\t\trowData: dataResponse,\r\n\t\t\t\t\ttotalDataCount: response.data.TotalCount,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\talertify.error(err);\r\n\t\t\tconsole.log(\"submit error\", err);\r\n\t\t});\r\n\t}\r\n\t\r\n\tcomponentDidMount() {\r\n\t\tthis.getGridViewData(1);\r\n\t}\r\n\t\r\n\tonFilterValueChanged() {\r\n\t\tthis.getGridViewData(1);\r\n\t}\r\n\r\n\tresetData(){\r\n\t\tthis.setState({\r\n\t\t\ttxtSearchAirlineData: '',\r\n\t\t\ttxtSearchWaiverName: '',\r\n\t\t\tstatusSwitch2: true\r\n\t\t}, () => this.getGridViewData(1));\r\n\t}\r\n\r\n render() {\r\n\t\tconst { isLoading, displaySaveWaiverBox, isDisabled } = this.state;\r\n return (\r\n\t\t\t
\r\n\t\t\t\t

Exchange Waiver Master

\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{ displaySaveWaiverBox &&\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n \r\n\t\t\t\t\t\t\t\t\t
\r\n \r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n \r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{ isLoading &&
Loading... 
} Save \r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tCancel\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n );\r\n }\r\n}\r\n\r\nexport default ExchangeWaiver;\r\n","import React, { Component } from 'react';\r\nimport { MDBContainer, MDBRow, MDBCol, MDBBtn, MDBInput, MDBCard, MDBCardBody, MDBSwitch, MDBIcon } from 'mdbreact'\r\nimport API from '../../api';\r\nimport { sortBy } from 'lodash';\r\nimport alertify from 'alertifyjs';\r\nimport CRUDButtons from '../common/CRUDButtons';\r\nimport Pagination from \"react-js-pagination\";\r\nimport DataGrid from '../common/DataGrid';\r\n\r\nclass CruiseExclusionMaster extends Component {\r\n\tconstructor(props) {\r\n super(props);\r\n this.state = {\r\n\t\t\ttxtCruise: '',\r\n\t\t\tstatusSwitch1: true,\r\n\t\t\tstatusSwitch2: true,\r\n\t\t\tisLoading: false,\r\n\t\t\tisDisabled: false,\r\n\t\t\tactivePage: 1,\r\n\t\t\ttxtCruiseData: '',\r\n\t\t\ttotalDataCount: 0,\r\n\t\t\tdisplaySaveCruiseBox: false, \r\n\t\t\tcolumnDefs: [\r\n\t\t\t\t{headerName: \"\", field: \"Id\", hide: true},\r\n\t\t\t\t{headerName: 'Cruise Id', field: 'CruiseId', width: 60, \r\n\t\t\t\t\tcellClass: 'editableInputBox firstInput', \r\n\t\t\t\t\tfilter: true, \r\n\t\t\t\t\teditable: this.checkEditable.bind(this),\r\n\t\t\t\t\tcellEditor: 'agLargeTextCellEditor',\r\n\t\t\t\t\tcellEditorParams: {\r\n\t\t\t\t\t\tmaxLength: '10', // override the editor defaults\r\n\t\t\t\t\t\tcols: '20',\r\n\t\t\t\t\t\trows: '1',\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{headerName: 'Status', field: 'IsActive', width: 40, cellClass: 'gridSelectBox smallBox',\r\n cellEditor: 'agPopupSelectCellEditor',\r\n cellEditorParams: {\r\n cellRenderer: this.statusCellRenderer,\r\n values: ['Active', 'In-active']\r\n },\r\n cellRenderer: this.statusRendererFunc,\r\n colId: \"params\", \r\n filter: true, \r\n editable: this.checkEditable.bind(this),\r\n }\r\n ],\r\n\t\t}\r\n\t\t// this.onAddWaiverData = this.onAddWaiverData.bind(this);\r\n\t\tthis.updateData = this.updateData.bind(this);\r\n\t\tthis.addDataRow = this.addDataRow.bind(this);\r\n\t\tthis.deleteData = this.deleteData.bind(this);\r\n\t\tthis.saveData = this.saveData.bind(this);\r\n\t\tthis.cancelData = this.cancelData.bind(this);\r\n }\r\n statusCellRenderer(params) {\r\n return params.value;\r\n }\r\n\t\r\n\tcheckboxCellRenderer (params){\r\n\t\tvar input = document.createElement(\"input\")\r\n\t\tinput.type = \"checkbox\";\r\n\t\tinput.checked = params.value\r\n\t\treturn input\r\n\t}\r\n\r\n\tonRowSelected(event,params) {\r\n\t\tevent.data.isSelected = event.node.selected;\r\n\t\tconsole.log(\"editable params\", params);\r\n\t\treturn event;\r\n\t}\r\n\r\n\tonGridReady = params => {\r\n\t this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n\t\tparams.api.sizeColumnsToFit();\r\n\t}\r\n\r\n\tsaveData(event){\r\n\t\tevent.preventDefault();\r\n\t\tthis.gridApi.stopEditing();\r\n\t\tthis.setState({\r\n\t\t\tisLoading: true\r\n\t\t});\r\n\t\tif(this.state.txtCruise === ''){\r\n\t\t\talertify.error(\"Cannot save empty data\");\r\n\t\t\tthis.setState({\r\n\t\t\t\tisLoading: false\r\n\t\t\t});\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tlet submitRequestJSON = {\r\n\t\t\t\"CruiseId\": this.state.txtCruise,\r\n \"IsActive\": this.state.statusSwitch1\r\n\t\t};\r\n\t\tconsole.log(\"submitRequestJSON\", submitRequestJSON);\r\n\t\tthis.gridApi.showLoadingOverlay();\r\n\t\tif(submitRequestJSON){\r\n\t\t\tAPI.post('InsertCruiseExclusion', submitRequestJSON)\r\n\t\t\t.then(response => {\r\n if(response && response.data){\r\n console.log(response.data);\r\n submitRequestJSON.Id = response.data;\r\n console.log(response.config.data);\r\n this.state.rowData.push(submitRequestJSON);\r\n this.setState({\r\n rowData : this.state.rowData, \r\n txtCruise: '',\r\n statusSwitch1: true,\r\n isLoading: false\r\n });\r\n if (this.gridApi) {\r\n this.gridApi.hideOverlay();\r\n }\r\n\t\t\t\t\talertify.success(\"Succefully Added data\");\r\n\t\t\t\t\tif(submitRequestJSON.IsActive === true){\r\n\t\t\t\t\t\tsubmitRequestJSON.IsActive = 'Active'\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tsubmitRequestJSON.IsActive = 'In-active'\r\n\t\t\t\t\t}\r\n var updateWaiverRes = this.gridApi.updateRowData({ add: [submitRequestJSON] });\r\n console.log(updateWaiverRes);\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n alertify.error('System Error - unable to retrieve data from server');\r\n this.setState({\r\n isLoading: false\r\n });\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch(error=>{\r\n\t\t\t\tconsole.log(error);\r\n alertify.error('System Error - unable to retrieve data from server');\r\n this.setState({\r\n isLoading: false\r\n });\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tupdateData(event){\r\n\t\tevent.preventDefault();\r\n\t\tthis.gridApi.stopEditing();\r\n\t\tlet updateRequests = [];\r\n\t\tlet selectedDataIds = this.state.rowData.filter(p=>p.isSelected);\r\n\t\tconsole.log(\"selectedDataIds\", selectedDataIds);\r\n\t\tif(selectedDataIds && selectedDataIds.length > 0){\r\n\t\t\tselectedDataIds.forEach(p=>{\r\n\t\t\t\tlet submitRequestJSON = {\r\n\t\t\t\t\t\"Id\": p.Id,\r\n\t\t\t\t\t\"CruiseId\": p.CruiseId,\r\n \"IsActive\": p.IsActive === \"Active\" ? true : false\r\n\t\t\t\t};\r\n\r\n\t\t\t\tupdateRequests.push(submitRequestJSON);\r\n\t\t\t});\r\n\r\n\t\t\tif(updateRequests && updateRequests.length > 0){\r\n\t\t\t\tconsole.log(\"updateRequests\", updateRequests);\r\n\t\t\t\tAPI.post('UpdateCruiseExclusion', updateRequests[0])\r\n\t\t\t\t.then(response => {\r\n if(response && response.data){\r\n if(response.data === 1){\r\n\t\t\t\t\t\t\talertify.success(\"Succefully updated\")\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if(response.data === 0){\r\n\t\t\t\t\t\t\talertify.error(\"Error while updating\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(error=>{\r\n\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\tdeleteData(event){\r\n\t\tevent.preventDefault();\r\n\t\r\n\t\tvar selectedData = this.gridApi.getSelectedRows();\r\n\t\tselectedData.forEach(p => {\r\n\t\t\tif(p.IsActive === \"Active\"){\r\n\t\t\t\tp.IsActive = true\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tp.IsActive = false\r\n\t\t\t}\r\n\t\t});\r\n\t\talertify.confirm('Delete Selected Detail?', ' Are you sure you wish to delete the selected row?',\r\n\t\t() => {\r\n\t\t\tAPI.post(\"DeleteCruiseExclusion\", selectedData[0]).then(response => {\r\n if(response && response.data){\r\n console.log(response);\r\n //this.gridApi.updateRowData({ update: response});\r\n if(response.data === 1){\r\n this.state.rowData.splice(selectedData.rowIndex, 1);\r\n this.gridApi.updateRowData({ remove: selectedData });\r\n //console.log(response);\r\n alertify.success(\"deleted successfully\")\r\n }\r\n else if(response.data === 0){\r\n alertify.error(\"error\");\r\n }\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\tconsole.log(\"submit error\", err);\r\n\t\t\t});\r\n\t\t\t//alert(\"refund waiver: \", selectedData)\r\n\t\t}, () => {\r\n //Leave alert\r\n });\r\n\t}\r\n\r\n\ttxtChangeHandler = event => {\r\n\t\tthis.setState({ [event.target.name]: event.target.value });\r\n\t};\r\n\r\n\taddDataRow(){\r\n\t\tthis.setState({\r\n\t\t\tdisplaySaveCruiseBox: true,\r\n\t\t\tisDisabled: true\r\n\t\t})\r\n\t}\r\n\tcancelData(){\r\n\t\tthis.setState({\r\n\t\t\tdisplaySaveCruiseBox: false,\r\n\t\t\tisDisabled: false,\r\n\t\t\ttxtCruise: '',\r\n\t\t\tstatusSwitch1: false,\r\n\t\t});\r\n\t}\r\n\tcheckEditable(params){\r\n\t\tif(params.node.selected){\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tconsole.log(\"editable params\" , params.node.selected);\r\n\t}\r\n\tonCellValueChanged(event) {\r\n\t\tconsole.log(\"data after changes is: \", event.data);\r\n\t\tthis.gridApi.stopEditing();\r\n\t\treturn;\r\n }\r\n handleSwitchChange = nr => () => {\r\n\t\tlet switchNumber = `statusSwitch${nr}`;\r\n\t\tthis.setState({\r\n\t\t [switchNumber]: !this.state[switchNumber]\r\n\t\t});\r\n\t}\r\n\thandlePageChange(pageNumber) {\r\n\t\tthis.setState({activePage: pageNumber});\r\n\t\tif (this.gridApi) {\r\n\t\t\tthis.gridApi.showLoadingOverlay();\r\n\t\t}\r\n\t\tthis.getGridViewData(pageNumber);\r\n\t}\r\n\r\n\tgetGridViewData(pageNumber){\r\n\t\tpageNumber = pageNumber -1;\r\n\t\tlet transactionRequest = {\r\n\t\t\t\"PageNumber\": pageNumber,\r\n\t\t\t\"PageSize\": 10,\r\n\t\t\t\"Critera\": {\r\n\t\t\t\t\"CruiseId\": this.state.txtCruiseData,\r\n\t\t\t\t\"IsActive\": this.state.statusSwitch2\r\n\t\t\t},\r\n\t\t\t\"SortBy\": \"\",\r\n\t\t\t\"SortOrder\": \"\"\r\n\t\t}\r\n API.post('GetCruiseExclusionPagedList', transactionRequest)\r\n\t\t .then(response => {\r\n if(response && response.data){\r\n\t\t\t\tlet dataResponse = response.data.Items;\r\n\t\t\t\tdataResponse = sortBy(dataResponse, 'IsActive').reverse();\r\n\r\n\t\t\t\tresponse.data.Items.forEach(p => {\r\n\t\t\t\t\tif(p.IsActive === true){\r\n\t\t\t\t\t\tp.IsActive = \"Active\"\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tp.IsActive = \"In-active\"\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t this.setState({\r\n\t\t\t\t\trowData: dataResponse,\r\n\t\t\t\t\ttotalDataCount: response.data.TotalCount,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\talertify.error(err);\r\n\t\t\tconsole.log(\"submit error\", err);\r\n\t\t});\r\n\t}\r\n\t\r\n\tcomponentDidMount() {\r\n\t\tthis.getGridViewData(1);\r\n\t}\r\n\r\n\tonFilterValueChanged() {\r\n\t\tthis.getGridViewData(1);\r\n\t}\r\n\r\n\tresetData(){\r\n\t\tthis.setState({\r\n\t\t\ttxtCruiseData: '',\r\n\t\t\tstatusSwitch2: true\r\n\t\t}, () => this.getGridViewData(1));\r\n\t}\r\n\r\n render() {\r\n\t\tconst { isLoading, displaySaveCruiseBox, isDisabled } = this.state;\r\n return (\r\n\t\t\t
\r\n\t\t\t\t

Cruise Exclusion Master

\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{ displaySaveCruiseBox &&\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n \r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{ isLoading &&
Loading... 
} Save \r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tCancel\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{ this.state.isSearchLoading &&
Loading... 
}   Search\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tClear\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n );\r\n }\r\n}\r\n\r\nexport default CruiseExclusionMaster;\r\n","import React, { Component } from 'react';\r\nimport { MDBContainer, MDBRow, MDBCol, MDBDatePicker, MDBIcon, MDBBtn, MDBCard, MDBCardBody } from 'mdbreact';\r\nimport { AgGridReact } from 'ag-grid-react';\r\n// import {NavLink} from 'react-router-dom';\r\nimport moment from 'moment';\r\nimport API from '../../api';\r\nimport alertify from 'alertifyjs';\r\nimport Pagination from \"react-js-pagination\";\r\n\r\n\r\nclass ErrorLog extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n\t\t\ttxtFromDate: new Date(),\r\n\t\t\ttxtToDate: new Date(),\r\n\t\t\tactivePage: 1,\r\n\t\t\ttotalDataCount: 0,\r\n\t\t\tisLoading: false,\r\n\t\t\tdisplayErrorLogGrid: false,\r\n \tcolumnDefs: [\r\n\t\t\t\t{headerName: 'Source', field: 'Source', width: 300, tooltipField: 'Source'},\r\n\t\t\t\t{headerName: 'Error Code', field: 'ErrorCode', width: 250, tooltipField: 'ErrorCode'},\r\n\t\t\t\t{headerName: 'Error', field: 'ErrorText', width: 400, tooltipField: 'ErrorText'},\r\n\t\t\t\t{headerName: 'User', field: 'CreatedById', width: 150, tooltipField: 'CreatedById'},\r\n\t\t\t\t{headerName: 'Created Date & Time', field: 'CreatedDate', width: 200, tooltipField: 'CreatedDate'},\r\n\t\t\t\t{headerName: 'Additional Info', field: 'AdditionalInfo', width: 250, tooltipField: 'AdditionalInfo'},\r\n {headerName: 'Stacktrace', field: 'StackTrace', width: 500, tooltipField: 'StackTrace'},\r\n ],\r\n\t\t\trowData: [],\r\n\t\t\trowSelection: \"multiple\",\r\n\t\t\tenableBrowserTooltips: true,\r\n defaultColDef: {\r\n\t\t resizable: false,\r\n\t\t\t\twidth: 130,\r\n\t\t\t\tsortable: false,\r\n\t\t\t\tsuppressMovable: true,\r\n\t\t }\r\n\t\t}\r\n\t\tthis.errorLogSubmit = this.errorLogSubmit.bind(this);\r\n\t\tthis.SearchTransactionLogExcel = this.SearchTransactionLogExcel.bind(this);\r\n\t}\r\n\r\n\thandlePageChange(pageNumber) {\r\n\t\tconsole.log(`active page is ${pageNumber}`);\r\n\t\tthis.setState({activePage: pageNumber});\r\n\t\tif (this.gridApi) {\r\n\t\t\tthis.gridApi.showLoadingOverlay();\r\n\t\t}\r\n\t\tthis.getGridViewData(pageNumber);\r\n\t}\r\n\r\n\r\n\tgetFromDate = value => {\r\n\t\tthis.setState({\r\n\t\t\ttxtFromDate: value\r\n\t\t}, () => console.log(this.state.txtFromDate));\r\n\t}\r\n\r\n\tgetToDate = value => {\r\n\t\tthis.setState({\r\n\t\t\ttxtToDate: value\r\n\t\t}, () => console.log(this.state.txtToDate));\r\n\t}\r\n\r\n onGridReady = params => {\r\n\t this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n\t\t//params.api.sizeColumnsToFit();\r\n\t};\r\n\r\n\r\n\terrorLogSubmit(event) {\r\n\t\tevent.preventDefault();\r\n\t\tthis.setState({\r\n\t\t\tactivePage: 1,\r\n\t\t});\r\n\t\tif (this.gridApi) {\r\n\t\t\tthis.gridApi.showLoadingOverlay();\r\n\t\t}\r\n\t\tthis.getGridViewData(1);\t\r\n\t}\r\n\r\n\ttransactionRequestJson( pageNumber = 0, pageSize = 10 ){\r\n\t\t\r\n\t\tlet txtnewFromDate = moment(this.state.txtFromDate).format(\"MM/DD/YYYY\"); // you get \"16/05/2018\"\r\n\t\tlet txtnewToDate = moment(this.state.txtToDate).format(\"MM/DD/YYYY\"); // you get \"16/05/2018\"\r\n\t\r\n\t\tlet txtnewFromDateTemp = new Date(moment(this.state.txtFromDate).format(\"MM/DD/YYYY\")); // you get \"16/05/2018\"\r\n\t\tlet txtnewToDateTemp = new Date(moment(this.state.txtToDate).format(\"MM/DD/YYYY\")); // you get \"16/05/2018\"\r\n\t\t//console.log(txtnewToDate);\r\n\t\r\n\t\tif (txtnewFromDateTemp > txtnewToDateTemp) {\r\n\t\t\talertify.error(\"From Date is greater than To Date\");\r\n\t\t\tthis.setState({\r\n\t\t\t\tdisplayErrorLogGrid: false,\r\n\t\t\t\tisLoading: false\r\n\t\t\t})\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\t\r\n\t\tlet submitRequestJSON = {\r\n\t\t\t\"FromDate\": txtnewFromDate,\r\n\t\t\t\"ToDate\": txtnewToDate\r\n\t\t\t//\"UserId\": users.length > 1 ? \"all\" : users[0]\r\n\t\t\t\r\n\t\t};\r\n\t\tpageNumber = pageNumber -1;\r\n\t\tlet transactionRequest = {\r\n\t\t\t\"PageNumber\" : pageNumber,\r\n\t\t\t\"PageSize\" : 10,\r\n\t\t\t\"Critera\" : submitRequestJSON,\r\n\t\t\t\"SortBy\": \"\",\r\n\t\t\t\"SortOrder\": \"\"\r\n\t\t};\r\n\t\tconsole.log(\"transactionRequest\", transactionRequest);\r\n\t\r\n\t\treturn transactionRequest;\r\n\t}\r\n\r\n\tgetGridViewData(pageNumber){\r\n\t\tthis.setState({ isLoading: true});\r\n\t\tlet tempTransactionRequest = this.transactionRequestJson(pageNumber);\r\n API.post(\"SearchErrorLog\", tempTransactionRequest).then(response => {\r\n\t\t\t\r\n\t\t\tif(response && response.data){\r\n\t\t\t\tlet tempRowData = response.data.Items;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\ttotalDataCount: response.data.TotalCount,\r\n\t\t\t\t\trowData: [...tempRowData],\r\n\t\t\t\t\tdisplayErrorLogGrid: true,\r\n\t\t\t\t\tisLoading: false\r\n\t\t\t\t})\r\n\t\t\t\tif (this.gridApi) {\r\n\t\t\t\t\tthis.gridApi.hideOverlay();\r\n\t\t\t\t}\r\n\t\t\t\tfor(let i=0; i<=document.getElementsByClassName(\"jsErrorMessage\").length-1;i++){\r\n\t\t\t\t\tif(document.getElementsByClassName(\"jsErrorMessage\")[i].innerText.length > 0) \r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tdocument.getElementsByClassName(\"jsErrorMessage\")[i].setAttribute(\"Title\", document.getElementsByClassName(\"jsErrorMessage\")[i].innerText);\r\n\t\t\t\t\t} \r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoading: false\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\tconsole.log(\"submit error\", err);\r\n\t\t\tthis.setState({\r\n\t\t\t\tisLoading: false\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\r\n\tSearchTransactionLogExcel(pageNumber){\r\n\t\t//alert(\"excel\");\r\n\t\tlet tempTransactionRequest = this.transactionRequestJson(1, 1000);\r\n\t\t//let pageNumber = 1;\r\n\t\tconsole.log(\"tempTransactionRequest\", tempTransactionRequest);\r\n\t\tAPI.post(\"SearchErrorLogExcel\", tempTransactionRequest).then(response => {\r\n\t\t\t\r\n\t\t\tif(response && response.data ){\r\n\t\t\t\tlet excelBlob = new Blob( [response.data] , {type:'application/vnd.ms-excel'});\r\n\t\t\t\tlet csvFileurl = window.URL.createObjectURL(excelBlob);\r\n\t\t\t\tlet link = document.createElement(\"a\");\r\n\t\t\t\tdocument.body.appendChild(link);\r\n\t\t\t\tlink.href = csvFileurl;\r\n\t\t\t\tlink.download = \"ErrorLogs.csv\";\r\n\t\t\t\tlink.click();\r\n\t\t\t\tsetTimeout(function() {window.URL.revokeObjectURL(csvFileurl);},0);\r\n\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tdisplayRetriveData: true,\r\n\t\t\t\t})\r\n\t\t\t\t\r\n\t\t\t\tif (this.gridApi) {\r\n\t\t\t\t\tthis.gridApi.hideOverlay();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\talertify.error('System Error - unable to retrieve data from server');\r\n\t\t\tconsole.log(\"submit error\", err);\r\n\t\t});\r\n\t}\r\n\r\n\t\r\n\r\n render() {\r\n return (\r\n\t\t\t
\r\n\t\t\t\t

Error Log

\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n \r\n \r\n { this.state.isLoading &&
Loading... 
}  Search\r\n
\r\n
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{ this.state.displayErrorLogGrid && \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

Total Records Found: {this.state.totalDataCount}

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t  Export To Excel\r\n\t\t\t\t\t\t\t\t\t{/*  Export To Excel */}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{ this.state.rowData && this.state.rowData.length > 0 &&\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n );\r\n }\r\n}\r\n\r\nexport default ErrorLog;\r\n","import React from 'react';\r\nimport { Route, Switch } from 'react-router-dom';\r\n\r\nimport Dashboard from '../pages/Dashboard';\r\nimport TransactionHistory from '../pages/TransactionHistory';\r\nimport Refund from '../pages/Refund';\r\nimport Exchange from '../pages/Exchange';\r\nimport BatchProcess from '../pages/BatchProcess';\r\nimport RefundWaiver from '../pages/RefundWaiver';\r\nimport BatchHistory from '../pages/BatchHistory';\r\nimport BatchQueue from '../pages/BatchQueue';\r\nimport BatchUpload from '../pages/BatchUpload';\r\nimport EventMaster from '../pages/EventMaster';\r\nimport ExchangeWaiver from '../pages/ExchangeWaiver';\r\nimport CruiseExclusionMaster from '../pages/CruiseExclusionMaster';\r\nimport ErrorLog from '../pages/ErrorLog';\r\n// import RefundDataTable from '../pages/RefundDataTable';\r\n\r\n\r\nconst Routes = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n);\r\n}\r\n\r\n\r\nexport default Routes;","import React, { Component } from 'react';\r\nimport './App.css';\r\nimport Navbar from './components/common/Navbar';\r\nimport TopNavigation from './components/common/topNavigation';\r\nimport Routes from './components/common/Routes';\r\n\r\n\r\nclass App extends Component {\r\n\r\n\trender() {\r\n\t return (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t );\r\n\t}\r\n }\r\n\r\nexport default App;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport '@fortawesome/fontawesome-free/css/all.min.css';\r\nimport 'bootstrap-css-only/css/bootstrap.min.css';\r\nimport 'mdbreact/dist/css/mdb.css';\r\n/*import \"./assets/scss/mdb.scss\"*/\r\nimport 'ag-grid-community/dist/styles/ag-grid.css';\r\nimport 'ag-grid-community/dist/styles/ag-theme-balham.css';\r\nimport 'alertifyjs/build/css/alertify.min.css';\r\nimport 'alertifyjs/build/css/themes/default.min.css';\r\n\r\n\r\nimport {BrowserRouter as Router} from 'react-router-dom';\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\n\r\nReactDOM.render(, document.getElementById('root'));\r\n\r\n\r\nserviceWorker.unregister();\r\n","export const defaultUserSetting = {\r\n \r\n adminId : process.env.REACT_APP_AREX_ADMIN_GROUPID,\r\n agentId : process.env.REACT_APP_AREX_AGENT_GROUPID,\r\n baseURL : process.env.REACT_APP_API_URL + '/',\r\n tenant : process.env.REACT_APP_TENANT,\r\n clientId : process.env.REACT_APP_CLIENT_ID,\r\n api : process.env.REACT_APP_ENDPOINTS_API,\r\n apiUrl : process.env.REACT_APP_API_URL\r\n\r\n}\r\n\r\nexport default {defaultUserSetting}"],"sourceRoot":""}