{"version":3,"sources":["assets/smallLogo.png","redux/reducers.js","util/Auth.js","redux/actions.js","components/Assets/PageTitle.js","components/Assets/Header.js","components/Assets/MobileHeader.js","components/Layout.js","components/Assets/Loading.js","components/Assets/StatusRender.js","components/Assets/boldWords.js","components/Assets/boldMain.js","components/equipment/EquipmentTable.js","components/equipment/EquipmentMobileLoading.js","components/Assets/BranchCard.js","components/Assets/loaders/BranchMobileLoader.js","components/Assets/loaders/EmployeeMobileLoader.js","components/equipment/EquipmentMobileCard.js","components/equipment/EquipmentMobileList.js","components/equipment/EquipmentForm.js","views/Equipment/Index.js","components/Assets/SearchResults.js","components/Assets/EmployeeCard.js","components/Assets/loaders/ContactLoader.js","components/Assets/loaders/EmployeeLoader.js","views/Equipment/Details.js","views/NotFound/Index.js","views/Login/Index.js","views/Login/Callback.js","views/Contact/About.js","components/App.js","index.js","assets/smallBlue.png"],"names":["module","exports","equipmentReducer","createReducer","categoryList","subCategoryList","subCategoryLoader","category","equipmentList","equipmentTotal","equipmentDetail","equipmentLoader","equipmentFetchID","user","employees","employeesLoader","branchList","branchListLoader","detailsFromTable","branchDetail","branchMaster","branchDetailLoader","contentLoader","wildcardFilter","loading","error","statusFilterOptions","name","value","key","branchRegions","conditions","EQUIPMENT_START","state","action","EQUIPMENT_SUCCESS","payload","newFetchID","items","totalCount","extraData","EQUIPMENT_ERROR","EQUIPMENTDETAILS_START","EQUIPMENTDETAILS_SUCCESS","SETFETCHID","fetchID","SETDETAILS","EQUIPMENTDETAILS_ERROR","USER_START","USER_SUCCESS","USER_ERROR","validated","BRANCH_START","BRANCH_SUCCESS","BRANCH_ERROR","BRANCHDETAIL_START","BRANCHDETAIL_SUCCESS","BRANCHDETAIL_ERROR","BRANCHMASTER_SUCCESS","BRANCHREGION","CATEGORY_START","CATEGORY_SUCCESS","CATEGORY_ERROR","SUBCATEGORY_START","SUBCATEGORY_SUCCESS","EMPLOYEES_START","EMPLOYEES_SUCCESS","EMPLOYEES_ERROR","CONDITIONS","rootReducer","combineReducers","exchangeCodeForAccess","code","a","config","headers","accept","data","grant_type","client_id","process","redirect_uri","window","location","protocol","code_verifier","axios","post","querystring","stringify","access","success","validateUser","Authorization","getAccessToken","get","isError","saveAccessToken","accessToken","localStorage","setItem","e","deleteAccessToken","removeItem","getItem","handleStatusError","statusCode","redirectURLParams","saveRedirectPath","redirectPath","getRedirectPath","href","pathname","split","APIRoute","fetchUser","dispatch","type","result","userName","Value","assignedBranch","filter","r","Key","regionCode","length","undefined","message","response","status","setEquipmentFetchID","fetchEquipmentForm","params","setEquipmentDetails","equipmentDetails","fetchEquipmentDetails","fleetNo","branchID","fetchBranchDetails","branchCode","Take","masterParams","fetchBranchEmployees","queryParams","employeesList","fetchConditions","fetchCategories","sort","sortFunction","fetchSubCategories","catType","b","fetchBranchRegions","branches","Set","map","item","PageTitle","props","mobile","useLocation","title","icon","startsWith","className","style","color","paddingRight","Header","menu","Item","onClick","overlay","trigger","alt","src","MobileHeader","sideMenu","to","fontSize","withRouter","history","path","useState","selected","setSelected","redux","useEffect","selectedMenu","includes","image","smallLogo","query","matches","selectedKeys","mode","width","padding","component","push","Loading","StatusRender","qtyAvail","available","qtyOnHire","condition","terminated","reserved","find","c","colorHex","text","boldWords","word","pn","__html","singleBold","w","reduce","acc","val","concat","splitedWord","trim","forEach","bw","replace","start","toLowerCase","search","firstPart","substring","mid","endPart","bold","boldMain","desc","isMain","branch","EquipmentTable","pageLength","wildWords","sortDir","setStateSort","setStateSortDirection","sortIcon","field","handleClickHeader","Array","apply","i","slice","elem","index","fleetBranchId","dangerouslySetInnerHTML","fldDesc","description","EquipmentMobileLoading","BranchCard","list","bookedPickupDate","bookedDeliveryDate","bottomContent","renderProgress","bottom","top","dark","Date","getTime","end","today","p","Math","round","percent","showInfo","content","BranchMobileLoader","height","speed","primaryColor","secondaryColor","paddingTop","x","y","rx","ry","EmployeeMobileLoader","EquipmentMobileCard","useReducer","employeesError","branchLoader","branchError","branchDetails","mainBranchDetails","toggle","setToggle","fetched","setFetched","fetchEmployees","selectedEmployees","role","cleanDivision","divisionName","Number","phone","address","marginTop","renderBranchContact","employee","roleName","email","phoneNumber","EquipmentMobileList","TreeNode","TreeSelect","Option","Select","EquipmentForm","setParams","stateSearch","stateStatus","stateCategory","stateCatType","stateSelectedRegion","stateSubCategory","stateCatCode","stateExclude","toggleDrawer","setToggleDrawer","locationTreeValues","categoryTreeValues","setSearch","setStatus","setCategory","setCatType","selectedRegion","setSelectedRegion","tempCategory","setTempCategory","subCategory","setSubCategory","catCode","setCatCode","exclude","setExclude","locRef","setLocRef","catRef","setCatRef","tooltipVisible","setTooltipVisible","tooltipVisibleTemp","setTooltipVisibleTemp","stateExpandedKeys","setStateExpandedKeys","selectedBranch","setSelectedBranch","stateSearchValue","setStateSearchValue","selectedCategories","setSelectedCategories","defaultBranch","id","interval","setTimeout","clearTimeout","suggestions","localSuggestions","setLocalSuggestions","submitForm","clearForm","handleClose","keyCode","target","blur","equipmentForm","onSubmit","preventDefault","console","log","tempSuggestions","unshift","join","saveLocalSuggestion","onKeyUp","onTouchEnd","defaultActiveFirstOption","defaultValue","dataSource","filterOption","option","onChange","placement","ExclamationCircleOutlined","treeDefaultExpandAll","minWidth","onSelect","onBlur","showSearch","onSearch","searchedBranch","dropdownStyle","maxHeight","moreData","region","treeData","onTreeExpand","treeExpandedKeys","searchValue","searchedCat","cat","filterTreeNode","node","treeCheckable","showCheckedStrategy","multiple","cats","label","extra","triggerValue","allIndex","findIndex","splice","onMouseEnter","onMouseLeave","visible","checked","closable","onClose","onSwipedRight","onSwipedLeft","Equipment","timestamp","parse","urlBranchID","urlBranchCode","urlSearch","urlStatus","urlRegion","urlCategory","urlCatType","urlPage","page","urlPageLength","urlSubCategory","urlExclude","urlCatCode","urlSort","urlSortDir","setBranchID","setBranchCode","setStateSelectedRegion","setStateSearch","setStateStatus","isArray","setStateCategory","statePage","setStatePage","statePageLength","setStatePageLength","setStateSubCategory","setStateCatCode","JSON","setStateExclude","stateFetchID","setStateFetchID","stateSort","stateSortDir","setStateSortDir","renderCount","setRenderCount","handleTableURLChanges","setLocationTreeValues","setCategoryTreeValues","values","categoryIndex","children","subCategoryIndex","isLeaf","categoryTreeBuilder","regionIndex","mainBranch","mainBranchIndex","country","branchIndex","locationTreeBuilder","buildURL","operands","Field","FilterType","getOperands","json","stringValue","url","handleChangeForm","route","tempPage","ceil","fetchEquipment","max","SearchResults","head","EmployeeCard","cell","ContactLoader","EmployeeLoader","EquipmentDetails","match","branchInfo","employeeList","NotFound","Login","urlParams","response_type","scope","code_challenge_method","code_challenge","autoLogin","smallBlue","Callback","modalVisible","setModalVisible","handleRedirect","parsed","access_token","handleAccess","loader","footer","About","pageNum","setPage","contactInfo","pagers","disabled","imagesPath","download","connectedEquipmentView","connect","toString","actionCreators","connectedEquipmentDetailsView","connectedAbout","connectedCallback","store","configureStore","reducer","middleware","getDefaultMiddleware","reduxThunk","connectUser","Layout","connectLogin","App","exact","reload","ReactDOM","render","basename","document","getElementById"],"mappings":"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","file":"static/js/main.126bfcdc.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAMAAAC8EZcfAAAAolBMVEVMaXH///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8v1+23AAAANXRSTlMAECB0QPnz7+CgwPftTH7rxDD1s/CL9j360+hb2JhmlPjOsuT83Mi6qHBq4qz7vuflUMpkWIpY7f0AAAAJcEhZcwAALEoAACxKAXd6dE0AAAVWSURBVHic7Zt7e6MoFMZRUXE1GjV3kzZNp9N2Ou3M7C7f/6vtAxoDeEkcr509718JJfLzAIfDgSIQCAQCgUAgEAgEAoFAINDnkB6YtL3MQO/rbf/uAI9p3hcg6QiQ9AXodATo9AWIHNKF+uMD/e+1zwbofqqGsLNZak+ApVQA2FYA2FYA2FYA2FYA2FaTB5x8sAD6c2WUbqWM6bxv+X50Qrs3AGwrAGwrAGwrAGyrzwFoB2TvMO3Jzp4Y4MHaLrFUgpdb6zAaT0Hlafvekvl/qPD9M3mzmXbkWenw0aX5e0uZwtZ2qU0Fb7Z1c67oLco/r7azCdChGRHOx9wZml1oqUlGR9SJdHxH1PMok4Sj8jnK6WIBkFJzRH+t7dTVrQSQ0t1Ys2UtjLbz3NWQps5nSqP1KHzfiiSULpxFsZBa38bga3K4vRqecLZqwEfpamh/s7YoXf3z71ZgMBfEuccY3ztkIVp36ziscrfjUMf1oYjmZWnAeT74YtHhhXE+FOdZ4tCrn8vXWpTlu3R1V1eBW85ipOnK5hXzMIaXAuJzZvOh7oF3K+r6twOy1/fqHse78HhCCHncF+fWwTiPY7TUi2OETkf2YVP3ysyjLm4HtOvzuFrmAM2HO9bFXjq89CWx2JstLLJMu2vN6Hdkl41It6aTr7TYsHosTdCfvN0ZiYSyKI0StJ9Sze8DAerSCvLG+PQn1SuaT8yK2ptY9l49DzoFnIuNBowvKVtUrIQRBmJR9Y2eLgE10UW7zCj+lxI+Sr/4qrmtylHYJeBSaHGTVPNlhMlGKFl2DGh8/UvSV+buxE5jvm1dvejx5UNcbYKqh/4mYCGlkSCkC7OVdbBWFr6ctdDkTo50hBK1ktMdoK308PzqhS5HmVRL4cSsB0Ai95gZorL4VBSbFqHggrYlIXeHgLE8BB9vuBHHWn+8fA0Kfr5TQD+PDrhesrW4TmxJf7n8nQ1Kvz9AjBCWv4bX4mo2DJTfYKVKd4CmjpBx+crCrSW9JjYthHFqIKQrL9UdoFJUNp6KUsatU5zGnQNaB4yNqGITXFBWKzIwPljDAPLoOWkIyMMvY0DAsBngMRwQMEow/uU1tKD3C+MkGgbwrB8IoeergM8IoR9Fml4ALdnLshr3VwHvZSK/uDr266ivAg7pqLmXFZY6Zpy6YItme0nhMZHs67sGfJGd7i2eOi7+5EWp0nG4tZfNoReThKJYSCsafd9vuKWuvrG6xytorhhZWZm7BlTjFzatayNWV6mgxjZtAQ+WLck9KBEgM+HdRm0xF0/HfAgFLDo8uPJD+aFjl9tO0awuW2IPVTGhyZoWz034vG/eYsPq0rTgWb9TOaF5OmcS8/epzH30l/rgWT+/jNDk+b69WDRM6kPxLLzR9WOB73FdeJlqA3acfpM9S2oWQ949ZSnXspoDAOrnZAd5Yk53lxommQepR46CeZLW2+V1mFY1WeiGgMxz7Wr+vswtwp2adc5Qa5jpnMIyuAPEuR0rM0dZCti6HfD7hm5qU9rcKGxdTb3useTYdUZ4Zpon0Tlp7X/T+Ru6qUnAFp/u1B+88HnCuuR0nrKBIeb+NCP/L8tT1oE1M+SWFptqZlJqvb5+iOteEPu8i/04EIIw8+P1dUWpOfRRU6nrq5bZ4BBkDMIR+BDy30tILFIW3LyPwXd2I5LcEIXFUmusC8vrwoakdKu8GOfAnUl72FwF3DyMesFn5l0B9Ea/OeOIY84M5ZSmO4U7hJrhXZhW5HJqYnrGVK5vhbFXOEz04nHvHKnSjZgEtn2kR9v+QWIDbjeCQCAQCAQCgUAgEAgEAn1yIYT+AwObNEKNqTDZAAAAAElFTkSuQmCC\"","import { createReducer, combineReducers } from \"redux-starter-kit\";\n\nconst initialState = {\n loading: true,\n error: null,\n statusFilterOptions: [\n { name: \"All\", value: 0, key: \"ALL\" },\n { name: \"In\", value: 1, key: \"IN\" },\n { name: \"Out\", value: 2, key: \"OUT\" },\n { name: \"Reserved\", value: 3, key: \"Reserved\" }\n ],\n branchRegions: [],\n conditions: []\n};\n\nconst equipmentReducer = createReducer(\n {\n categoryList: [],\n subCategoryList: [],\n subCategoryLoader: false,\n category: \"\",\n equipmentList: [],\n equipmentTotal: \"\",\n equipmentDetail: {},\n equipmentLoader: true,\n equipmentFetchID: 0,\n user: {},\n employees: [],\n employeesLoader: false,\n branchList: [],\n branchListLoader: true,\n detailsFromTable: false,\n branchDetail: {},\n branchMaster: {},\n branchDetailLoader: false,\n contentLoader: false,\n wildcardFilter: [],\n ...initialState\n },\n {\n EQUIPMENT_START: (state, action) => {\n state.equipmentLoader = true;\n state.equipmentList = [];\n },\n EQUIPMENT_SUCCESS: (state, action) => {\n if (action.payload.newFetchID === state.equipmentFetchID) {\n state.equipmentLoader = false;\n state.equipmentList = action.payload.items;\n state.equipmentTotal = action.payload.totalCount;\n state.wildcardFilter = action.payload.extraData.wildcardFilter;\n }\n },\n EQUIPMENT_ERROR: (state, action) => {\n state.equipmentLoader = false;\n state.error = action.payload;\n },\n EQUIPMENTDETAILS_START: (state, action) => {\n state.equipmentDetail = {};\n state.employees = [];\n state.employeesLoader = true;\n state.branchDetailLoader = true;\n state.branchDetail = {};\n },\n EQUIPMENTDETAILS_SUCCESS: (state, action) => {\n state.branchDetailLoader = false;\n state.equipmentDetail = action.payload;\n state.detailsFromTable = false;\n },\n SETFETCHID: (state, action) => {\n state.equipmentFetchID = action.payload.fetchID;\n },\n SETDETAILS: (state, action) => {\n state.branchDetailLoader = false;\n state.equipmentDetail = action.payload;\n state.detailsFromTable = true;\n },\n EQUIPMENTDETAILS_ERROR: (state, action) => {\n state.branchDetailLoader = false;\n state.error = action.payload;\n },\n USER_START: (state, action) => {\n state.loading = true;\n },\n USER_SUCCESS: (state, action) => {\n state.loading = false;\n state.user = action.payload;\n },\n USER_ERROR: (state, action) => {\n state.user.validated = false;\n },\n BRANCH_START: (state, action) => {\n state.branchListLoader = true;\n },\n BRANCH_SUCCESS: (state, action) => {\n state.branchListLoader = false;\n state.branchList = action.payload;\n },\n BRANCH_ERROR: (state, action) => {\n state.branchListLoader = false;\n state.error = action.payload;\n },\n BRANCHDETAIL_START: (state, action) => {\n state.contentLoader = true;\n state.branchDetail = {};\n state.branchMaster = {};\n },\n BRANCHDETAIL_SUCCESS: (state, action) => {\n state.contentLoader = false;\n state.branchDetail = action.payload;\n },\n BRANCHDETAIL_ERROR: (state, action) => {\n state.contentLoader = false;\n state.error = action.payload;\n },\n BRANCHMASTER_SUCCESS: (state, action) => {\n state.branchMaster = action.payload;\n },\n BRANCHREGION: (state, action) => {\n state.branchRegions = action.payload;\n },\n CATEGORY_START: (state, action) => {},\n CATEGORY_SUCCESS: (state, action) => {\n state.categoryList = action.payload;\n },\n CATEGORY_ERROR: (state, action) => {\n state.error = action.payload;\n },\n SUBCATEGORY_START: (state, action) => {\n state.subCategoryLoader = true;\n state.subCategoryList = [];\n },\n SUBCATEGORY_SUCCESS: (state, action) => {\n state.subCategoryList = action.payload;\n state.subCategoryLoader = false;\n },\n EMPLOYEES_START: (state, action) => {\n state.employees = [];\n state.employeesLoader = true;\n },\n EMPLOYEES_SUCCESS: (state, action) => {\n state.employeesLoader = false;\n state.employees = action.payload;\n },\n EMPLOYEES_ERROR: (state, action) => {\n state.employeesLoader = false;\n state.error = action.payload;\n },\n CONDITIONS: (state, action) => {\n state.conditions = action.payload;\n }\n }\n);\n\nconst rootReducer = combineReducers({\n equipmentReducer\n});\n\nexport default rootReducer;\n","import axios from \"axios\";\nimport querystring from \"query-string\";\n\nexport const exchangeCodeForAccess = async code => {\n const config = {\n headers: {\n accept: \"application/json\",\n \"cache-control\": \"no-cache\",\n \"content-type\": \"application/x-www-form-urlencoded\"\n }\n };\n const data = {\n grant_type: \"authorization_code\",\n client_id: process.env.REACT_APP_OKTA_CLIENT_ID,\n redirect_uri: `${window.location.protocol}${process.env.REACT_APP_URL}/implicit/callback`,\n code: code,\n code_verifier: \"M25iVXpKU3puUjFaYWg3T1NDTDQtcW1ROUY5YXlwalNoc0hhakxifmZHag\"\n };\n\n try {\n const access = await axios.post(\n `${process.env.REACT_APP_OKTA_ORG_URL}/oauth2/v1/token`,\n querystring.stringify(data),\n config\n );\n return { data: access.data, success: true };\n } catch (error) {\n return { data: error, success: false };\n }\n};\n\nexport const validateUser = async () => {\n const config = {\n headers: {\n accept: \"application/json\",\n Authorization: `Bearer ${getAccessToken()}`\n }\n };\n const access = await axios.get(\n `${process.env.REACT_APP_API_HOST}identity/api/user/validate`,\n config\n );\n if (access.data.isError) {\n window.location = \"/equipmentfinder/login\";\n }\n return access.data;\n};\n\nexport const saveAccessToken = accessToken => {\n try {\n window.localStorage.setItem(\"accessToken\", accessToken);\n return true;\n } catch (e) {\n return false;\n }\n};\n\nexport const deleteAccessToken = () => {\n try {\n window.localStorage.removeItem(\"accessToken\");\n return true;\n } catch (e) {\n return false;\n }\n};\n\nexport const getAccessToken = () => {\n try {\n const accessToken = window.localStorage.getItem(\"accessToken\");\n return accessToken;\n } catch (e) {\n return false;\n }\n};\n\nexport const handleStatusError = statusCode => {\n switch (statusCode) {\n case 401:\n deleteAccessToken();\n redirectURLParams();\n window.location = `/equipmentfinder/login?autoLogin=1`;\n break;\n default:\n break;\n }\n};\n\nexport const saveRedirectPath = redirectPath => {\n try {\n window.localStorage.setItem(\"redirectPath\", redirectPath);\n } catch (e) {}\n};\n\nexport const getRedirectPath = () =>\n window.localStorage.getItem(\"redirectPath\");\n\nexport const deleteRedirectPath = () => {\n window.localStorage.removeItem(\"redirectPath\");\n};\n\nexport const redirectURLParams = () => {\n let { href, pathname } = window.location;\n pathname = pathname.split(\"/\")[2];\n if (pathname === \"login\") {\n return;\n }\n saveRedirectPath(`${href}`);\n};\n","import axios from \"axios\";\nimport {\n getAccessToken,\n validateUser,\n handleStatusError\n} from \"../util/Auth.js\";\nimport querystring from \"query-string\";\n\nconst APIRoute = process.env.REACT_APP_API_HOST;\n\nexport const fetchUser = () => async dispatch => {\n dispatch({ type: \"USER_START\" });\n try {\n const access = await validateUser();\n const { result } = access;\n const { Value: userName } = result[0];\n\n let assignedBranch = result.filter(r => r.Key === \"FleetBranchId\");\n let regionCode = result.filter(r => r.Key === \"RegionCode\");\n\n assignedBranch =\n assignedBranch.length > 0 ? assignedBranch[0].Value : undefined;\n\n regionCode = regionCode.length > 0 ? regionCode[0].Value : undefined;\n\n dispatch({\n type: \"USER_SUCCESS\",\n payload: {\n user: userName,\n assignedBranch,\n regionCode,\n validated: true\n }\n });\n } catch (error) {\n dispatch({ type: \"USER_ERROR\", payload: error.message });\n handleStatusError(error.response && error.response.status);\n }\n};\n\nexport const setEquipmentFetchID = fetchID => dispatch => {\n dispatch({ type: \"SETFETCHID\", payload: { fetchID } });\n};\n\nexport const fetchEquipmentForm = (params, newFetchID) => async dispatch => {\n dispatch({ type: \"EQUIPMENT_START\" });\n try {\n const equipmentList = await axios.get(\n `${APIRoute}baseplan/api/product/serial-product?${params}`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${getAccessToken()}`\n }\n }\n );\n dispatch({\n type: \"EQUIPMENT_SUCCESS\",\n payload: { ...equipmentList.data.result, newFetchID }\n });\n } catch (e) {\n if (e && e.response) handleStatusError(e.response.status);\n }\n};\n\nexport const setEquipmentDetails = equipmentDetails => async dispatch => {\n dispatch({\n type: \"SETDETAILS\",\n payload: equipmentDetails\n });\n};\n\nexport const fetchEquipmentDetails = (fleetNo, branchID) => async dispatch => {\n dispatch({ type: \"EQUIPMENTDETAILS_START\" });\n try {\n const params =\n \"take=10\" +\n \"&Where.OperatorType=And\" +\n \"&Where.Operands[0].Field=fleetNo\" +\n \"&Where.Operands[0].FilterType=Equal\" +\n `&Where.Operands[0].Value=${fleetNo}` +\n \"&Where.Operands[1].Field=fleetBranchId\" +\n \"&Where.Operands[1].FilterType=Equal\" +\n `&Where.Operands[1].Value=${branchID}`;\n\n const equipmentDetails = await axios.get(\n `${APIRoute}baseplan/api/product/serial-product?${params}`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${getAccessToken()}`\n }\n }\n );\n dispatch({\n type: \"EQUIPMENTDETAILS_SUCCESS\",\n payload: equipmentDetails.data.result.items[0]\n });\n return equipmentDetails.data.result.items;\n } catch (error) {\n dispatch({ type: \"EQUIPMENTDETAILS_ERROR\", payload: error.message });\n handleStatusError(error.response.status);\n }\n};\n\nexport const fetchBranchDetails = (branchID, branchCode) => async dispatch => {\n dispatch({ type: \"BRANCHDETAIL_START\" });\n try {\n let params = {\n Take: 10,\n \"Where.OperatorType\": \"And\",\n \"Where.Operands[0].Field\": \"id\",\n \"Where.Operands[0].FilterType\": \"Equal\",\n \"Where.Operands[0].Value\": branchID,\n \"Where.Operands[1].Field\": \"code\",\n \"Where.Operands[1].FilterType\": \"contains\",\n \"Where.Operands[1].Value\": branchCode\n };\n const branchList = await axios.get(\n `${APIRoute}baseplan/api/branch/divisions?${querystring.stringify(\n params\n )}`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${getAccessToken()}`\n }\n }\n );\n dispatch({\n type: \"BRANCHDETAIL_SUCCESS\",\n payload: branchList.data.result[0]\n });\n const masterParams = {\n ...params,\n \"Where.Operands[2].Field\": \"isMain\",\n \"Where.Operands[2].FilterType\": \"Equal\",\n \"Where.Operands[2].Value\": \"True\"\n };\n\n const branchMaster = await axios.get(\n `${APIRoute}baseplan/api/branch/divisions?${querystring.stringify(\n masterParams\n )}`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${getAccessToken()}`\n }\n }\n );\n dispatch({\n type: \"BRANCHMASTER_SUCCESS\",\n payload: branchMaster.data.result[0]\n });\n } catch (error) {\n dispatch({ type: \"BRANCHDETAIL_ERROR\", payload: error.message });\n handleStatusError(error.response.status);\n }\n};\n\nexport const fetchBranchEmployees = branchID => async dispatch => {\n dispatch({ type: \"EMPLOYEES_START\" });\n try {\n const queryParams =\n `Where.OperatorType=And` +\n `&Where.Operands[0].Field=fleetBranchId` +\n `&Where.Operands[0].FilterType=Equal` +\n `&Where.Operands[0].Value=${branchID}` +\n `&OrderBy[0].Field=Description` +\n `&OrderBy[0].Order=Asc`;\n const employeesList = await axios.get(\n `${APIRoute}baseplan/api/user?${queryParams}`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${getAccessToken()}`\n }\n }\n );\n const { result } = employeesList.data;\n dispatch({ type: \"EMPLOYEES_SUCCESS\", payload: result });\n } catch (error) {\n dispatch({ type: \"EMPLOYEES_ERROR\", payload: error.response.data });\n handleStatusError(error.response.status);\n }\n};\n\nexport const fetchConditions = () => async dispatch => {\n try {\n const queryParams = \"OrderBy[0].Field=Status&OrderBy[0].Order=Asc\";\n const conditions = await axios.get(\n `${APIRoute}baseplan/api/product/conditions?${queryParams}`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${getAccessToken()}`\n }\n }\n );\n dispatch({ type: \"CONDITIONS\", payload: conditions.data.result });\n } catch (error) {\n handleStatusError(error.response && error.response.status);\n }\n};\n\nexport const fetchCategories = () => async dispatch => {\n dispatch({ type: \"CATEGORY_START\" });\n try {\n const categoryList = await axios.get(\n `${APIRoute}baseplan/api/product/categories`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${getAccessToken()}`\n }\n }\n );\n const { result } = categoryList.data;\n dispatch({\n type: \"CATEGORY_SUCCESS\",\n payload: result.sort(sortFunction)\n });\n } catch (error) {\n dispatch({ type: \"CATEGORY_ERROR\", payload: error.message });\n handleStatusError(error.response && error.response.status);\n }\n};\n\nexport const fetchSubCategories = catType => async dispatch => {\n dispatch({ type: \"SUBCATEGORY_START\" });\n try {\n const categoryList = await axios.get(\n `${APIRoute}baseplan/api/product/sub-categories?OrderBy[0].Field=type&OrderBy[0].Order=Asc`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${getAccessToken()}`\n }\n }\n );\n const { result } = categoryList.data;\n dispatch({\n type: \"SUBCATEGORY_SUCCESS\",\n payload: result\n });\n } catch (error) {\n dispatch({ type: \"CATEGORY_ERROR\", payload: error.message });\n handleStatusError(error.response && error.response.status);\n }\n};\n\nfunction sortFunction(a, b) {\n if (a < b) {\n return -1;\n }\n if (a > b) {\n return 1;\n }\n return 0;\n}\n\nexport const fetchBranchRegions = () => async dispatch => {\n try {\n const branchList = await axios.get(\n `${APIRoute}baseplan/api/branch?Skip=0&Take=300&OrderBy[0].Field=description&OrderBy[0].Order=Asc`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${getAccessToken()}`\n }\n }\n );\n const branches = branchList.data.result;\n // there is no api that fetches all the equipment categories so we need\n // to fetch all the branches and then get all the regionCode's\n dispatch({ type: \"BRANCH_SUCCESS\", payload: branches.items });\n dispatch({\n type: \"BRANCHREGION\",\n payload: [...new Set(branches.items.map(item => item.regionCode))].sort(\n sortFunction\n )\n });\n } catch (error) {\n handleStatusError(error.response && error.response.status);\n }\n};\n","import React from \"react\";\nimport { Icon } from \"antd\";\nimport { useLocation } from \"react-router-dom\";\n\nconst PageTitle = props => {\n const { mobile } = props;\n let location = useLocation();\n\n let title = \"\";\n let icon = \"\";\n switch (true) {\n case location.pathname === \"/\" || location.pathname === \"/equipment\":\n title = \"Equipment Finder\";\n icon = \"profile\";\n break;\n case location.pathname === \"/about\":\n title = \"About\";\n icon = \"\";\n break;\n case location.pathname.startsWith(\"/equipment\"):\n title = \"Equipment Details\";\n icon = \"profile\";\n break;\n default: {\n title = \"\";\n }\n }\n\n return (\n
\n

\n {icon && mobile && (\n \n )}\n {title}\n

\n
\n );\n};\n\nexport default PageTitle;\n","import React from \"react\";\n\nimport { Icon, Dropdown, Menu } from \"antd\";\nimport { deleteAccessToken } from \"../../util/Auth.js\";\nimport PageTitle from \"./PageTitle\";\n\nconst Header = props => {\n const { name } = props;\n\n const userMenu = () => (\n \n
\n
{name}
\n \"user\n
\n
\n );\n\n const logout = () => {\n deleteAccessToken();\n window.location = \"/equipmentfinder/login\";\n };\n\n const menu = (\n \n \n \n My profile\n \n \n \n Logout\n \n \n );\n\n return (\n
\n
\n \n
\n {userMenu()}\n
\n );\n};\n\nexport default Header;\n","import React from \"react\";\n\nimport { Icon, Dropdown, Menu } from \"antd\";\nimport { deleteAccessToken } from \"../../util/Auth.js\";\nimport { Link } from \"react-router-dom\";\nimport PageTitle from \"./PageTitle\";\n\nconst MobileHeader = props => {\n const { name } = props;\n\n const userMenu = () => (\n \n
\n
{name}
\n \"user\n
\n
\n );\n\n const logout = () => {\n deleteAccessToken();\n window.location = \"/equipmentfinder/login\";\n };\n\n const menu = (\n \n \n \n My profile\n \n \n \n Logout\n \n \n );\n\n const sideMenu = (\n \n \n \n
Home
\n \n
\n \n \n
About
\n \n
\n
\n );\n\n return (\n
\n
\n
\n \n \n \n
\n \n
\n {userMenu()}\n
\n );\n};\n\nexport default MobileHeader;\n","import React, { useState, useEffect } from \"react\";\nimport { Menu, Icon } from \"antd\";\nimport { withRouter } from \"react-router-dom\";\nimport Media from \"react-media\";\n\nimport { getAccessToken } from \"../util/Auth\";\nimport Header from \"./Assets/Header\";\nimport MobileHeader from \"./Assets/MobileHeader.js\";\nimport smallLogo from \"../assets/smallLogo.png\";\n\nconst Layout = props => {\n const { history } = props;\n const path = history.location.pathname;\n const [selected, setSelected] = useState(\"menu\");\n\n const { user } = props.redux;\n\n useEffect(() => {\n const accessToken = getAccessToken();\n if (accessToken) {\n props.fetchUser(accessToken);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n selectedMenu();\n });\n\n const selectedMenu = () => {\n if (path === \"/\" || path.includes(\"equipment\")) {\n setSelected(\"Equipment\");\n }\n if (path.includes(\"about\")) {\n setSelected(\"About\");\n }\n };\n\n const image = () => (\n \"eflogo\"\n );\n\n const menu = () => (\n \n {matches =>\n matches ? (\n \n ) : (\n <>\n
\n setSelected(e.key)}\n selectedKeys={[selected]}\n mode=\"inline\"\n style={{ width: \"100%\" }}\n >\n \n \n \n history.push(\"/equipment?clear=true\")}\n >\n Home\n \n history.push(\"/about\")}>\n About\n \n \n
\n
\n \n )\n }\n \n );\n\n const redirect = () => {\n return
;\n };\n return user.validated ? menu() : redirect();\n};\n\nexport default withRouter(Layout);\n","import React from \"react\";\nimport smallLogo from \"../../assets/smallBlue.png\";\n\nconst Loading = () => (\n
\n \"eflogo\"\n
\n);\n\nexport default Loading;\n","import React from \"react\";\nimport { Badge } from \"antd\";\n\nexport const StatusRender = props => {\n const {\n qtyAvail,\n available,\n catType,\n qtyOnHire,\n conditions,\n condition,\n terminated,\n reserved\n } = props;\n\n let color = conditions.find(c => c.condition === condition);\n if (!color) {\n color.colorHex = \"white\";\n color.condition = \"\";\n }\n // Equipment sometimes comes with multiple status, they can be reserved out\n // and in at the same time\n // with this first switch we validate against the status selected on the form.\n if (catType === \"SERIAL\") {\n switch (true) {\n case reserved >= qtyAvail:\n return (\n \n );\n case terminated >= qtyAvail:\n return (\n \n );\n case qtyAvail === qtyOnHire:\n return (\n \n );\n case available > 0:\n return (\n \n );\n default:\n return (\n
\n \n
\n );\n }\n }\n return (\n
\n \n \n \n \n \n
\n );\n};\n","const boldWords = (word, boldWords, pn) => {\n if (!boldWords) {\n return { __html: word };\n }\n\n let singleBold = [...new Set(boldWords.map(w => w.split(\" \")))].reduce(\n (acc, val) => acc.concat(val),\n []\n );\n\n let splitedWord = word.trim();\n // this case is for the part numbers\n\n singleBold.forEach(bw => {\n bw = bw.replace(\"*\", \"\");\n bw = bw.trim();\n const start = splitedWord.toLowerCase().search(bw.toLowerCase());\n if (start !== -1 && splitedWord[start - 1] !== \"<\") {\n let firstPart = splitedWord.substring(0, start);\n let mid = splitedWord.substring(start, start + bw.length);\n let endPart = splitedWord.substring(mid.length + start);\n\n splitedWord = firstPart + mid.bold() + endPart;\n }\n });\n\n return {\n __html: splitedWord\n };\n};\n\nexport default boldWords;\n","const boldMain = (desc, code, isMain) => {\n let branch = code.length > 4 ? code : code + \" - \" + desc;\n\n if (isMain) {\n return {\n __html: branch.bold()\n };\n }\n return {\n __html: branch\n };\n};\n\nexport default boldMain;\n","import React from \"react\";\nimport { Icon } from \"antd\";\nimport { StatusRender } from \"../Assets/StatusRender\";\nimport { saveRedirectPath } from \"../../util/Auth\";\nimport boldWords from \"../Assets/boldWords\";\nimport boldMain from \"../Assets/boldMain\";\n\nconst EquipmentTable = props => {\n const {\n history,\n equipmentList,\n pageLength,\n equipmentLoader,\n conditions,\n setEquipmentDetails,\n wildWords,\n sort,\n sortDir,\n setStateSort,\n setStateSortDirection\n } = props;\n\n const sortIcon = field =>\n sort === field &&\n (sortDir === \"Asc\" ? : );\n\n const handleClickHeader = field => {\n if (field !== sort) {\n setStateSort(field);\n setStateSortDirection(\"Asc\");\n return;\n } else if (sortDir === \"Asc\") {\n setStateSortDirection(\"Desc\");\n return;\n }\n setStateSort(\"rank\");\n setStateSortDirection(\"Desc\");\n };\n\n const table = () => {\n return (\n
\n \n \n \n handleClickHeader(\"fldDesc\")}\n >\n Description {sortIcon(\"fldDesc\")}\n \n \n handleClickHeader(\"branchCode\")}\n >\n Branch {sortIcon(\"branchCode\")}\n \n handleClickHeader(\"fleetNo\")}\n >\n Product {sortIcon(\"fleetNo\")}\n \n handleClickHeader(\"type\")}\n >\n Category {sortIcon(\"type\")}\n \n handleClickHeader(\"regionCode\")}\n >\n Region {sortIcon(\"regionCode\")}\n \n \n \n \n {equipmentLoader\n ? Array.apply(null, { length: pageLength }).map((e, i) => (\n \n \n \n \n \n \n \n \n ))\n : equipmentList.slice(0, pageLength).map((elem, index) => (\n {\n setEquipmentDetails(elem);\n saveRedirectPath(`/${window.location.search}`);\n history.push(\n `/equipment/${elem.fleetNo}/${\n elem.fleetBranchId\n }/${elem.branchCode.substring(0, 4)}`\n );\n }}\n >\n \n \n \n \n \n \n \n ))}\n \n
Status
\n \n \n {elem.type} - {elem.catType}\n {elem.regionCode}
\n
\n );\n };\n\n return table();\n};\n\nexport default EquipmentTable;\n","import React from \"react\";\n\nconst EquipmentMobileLoading = () => (\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n);\nexport default EquipmentMobileLoading;\n","import React from \"react\";\nimport { Progress } from \"antd\";\n\nconst BranchCard = props => {\n const { list, bookedPickupDate, bookedDeliveryDate, renderProgress } = props;\n const bottomContent = (bottom, type) => {\n switch (type) {\n case undefined:\n return ;\n case \"email\":\n return (\n \n );\n case \"phone\":\n return (\n \n );\n default:\n return ;\n }\n };\n\n const content = (top, bottom, dark = false, type) => {\n if ((!bookedPickupDate || !bookedDeliveryDate) && type === \"progress\") {\n return (\n
\n \n {bottomContent(bottom, type)}\n
\n );\n }\n\n const start = new Date(bookedDeliveryDate).getTime() / 1000;\n\n const end = new Date(bookedPickupDate).getTime() / 1000;\n\n const today = new Date().getTime() / 1000;\n\n const p = Math.round(((today - start) / (end - start)) * 100);\n return (\n
\n {type === \"progress\" ? (\n <>\n
\n {top}\n
\n \n
\n
{`${bookedDeliveryDate.substring(\n 5,\n 7\n )}/${bookedDeliveryDate.substring(\n 8,\n 10\n )}/${bookedDeliveryDate.substring(0, 4)}`}
\n
{`${bookedPickupDate.substring(\n 5,\n 7\n )}/${bookedPickupDate.substring(\n 8,\n 10\n )}/${bookedPickupDate.substring(0, 4)}`}
\n
\n \n ) : (\n <>\n \n {bottomContent(bottom, type)}\n \n )}\n
\n );\n };\n\n return (\n
\n {list.map((elem, index) =>\n content(elem.top, elem.bottom, true, elem.type)\n )}\n
\n );\n};\n\nexport default BranchCard;\n","import React from \"react\";\nimport ContentLoader from \"react-content-loader\";\n\nconst BranchMobileLoader = () => (\n \n \n \n \n \n \n \n);\n\nexport default BranchMobileLoader;\n","import React from \"react\";\nimport ContentLoader from \"react-content-loader\";\n\nconst EmployeeMobileLoader = () => (\n \n \n \n \n \n \n \n);\n\nexport default EmployeeMobileLoader;\n","import React, { useState, useEffect, useReducer } from \"react\";\nimport { Tag, Icon, Progress } from \"antd\";\nimport axios from \"axios\";\nimport BranchCard from \"../Assets/BranchCard.js\";\nimport { StatusRender } from \"../Assets/StatusRender\";\nimport BranchMobileLoader from \"../Assets/loaders/BranchMobileLoader\";\nimport EmployeeMobileLoader from \"../Assets/loaders/EmployeeMobileLoader\";\nimport { getAccessToken, handleStatusError } from \"./../../util/Auth\";\nimport boldWords from \"../Assets/boldWords\";\nimport boldMain from \"../Assets/boldMain\";\n\nconst EquipmentMobileCard = props => {\n const APIRoute = process.env.REACT_APP_API_HOST;\n const { conditions, wildWords } = props;\n\n const {\n fleetBranchId,\n fldDesc,\n fleetNo,\n qtyAvail,\n available,\n terminated,\n reserved,\n catType,\n qtyOnHire,\n branchCode,\n isMain,\n description,\n type,\n regionCode,\n condition,\n bookedDeliveryDate,\n bookedPickupDate\n } = props.elem;\n\n const initialState = {\n employeesLoader: false,\n employees: [],\n employeesError: false,\n branchLoader: true,\n branchDetails: {},\n branchError: false,\n mainBranchDetails: {}\n };\n\n function reducer(state, action) {\n switch (action.type) {\n case \"START_EMPLOYEES\":\n return { ...state, employeesLoader: true, employeesError: false };\n case \"SUCCESS_EMPLOYEES\":\n return { ...state, employees: action.payload, employeesLoader: false };\n case \"ERROR_EMPLOYEES\":\n return {\n ...state,\n employees: [],\n employeesLoader: false,\n employeesError: true\n };\n case \"START_BRANCH\":\n return { ...state, branchLoader: true, branchError: false };\n case \"SUCCESS_BRANCH\":\n return { ...state, branchDetails: action.payload };\n case \"SUCCESS_MAINBRANCH\":\n return {\n ...state,\n mainBranchDetails: action.payload,\n branchLoader: false\n };\n case \"ERROR_BRANCH\":\n return {\n ...state,\n branchDetails: {},\n branchLoader: false,\n branchError: true\n };\n default: {\n return { ...state };\n }\n }\n }\n const [state, dispatch] = useReducer(reducer, initialState);\n\n const {\n employeesLoader,\n employees,\n branchDetails,\n branchMaster,\n branchLoader,\n employeesError,\n branchError\n } = state;\n\n const [toggle, setToggle] = useState(false);\n // variable to know if info was fetched already.\n const [fetched, setFetched] = useState(false);\n\n useEffect(() => {\n if (!fetched && toggle) {\n setFetched(true);\n fetchEmployees();\n fetchBranchDetails();\n setFetched(true);\n }\n }, [toggle, fetched]);\n\n const fetchEmployees = async () => {\n dispatch({ type: \"START_EMPLOYEES\" });\n try {\n const queryParams =\n `Where.OperatorType=And` +\n `&Where.Operands[0].Field=fleetBranchId` +\n `&Where.Operands[0].FilterType=Equal` +\n `&Where.Operands[0].Value=${fleetBranchId}` +\n `&OrderBy[0].Field=Description` +\n `&OrderBy[0].Order=Asc`;\n const employeesList = await axios.get(\n `${APIRoute}baseplan/api/user?${queryParams}`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${getAccessToken()}`\n }\n }\n );\n const selectedEmployees = employeesList.data.result.filter(\n e =>\n (e.role === \"111\" || e.role === \"21\") && e.branchCode === branchCode\n );\n dispatch({ type: \"SUCCESS_EMPLOYEES\", payload: selectedEmployees });\n } catch (error) {\n handleStatusError(error.response.status);\n dispatch({ type: \"ERROR_EMPLOYEES\" });\n }\n };\n\n const fetchBranchDetails = async () => {\n dispatch({ type: \"START_BRANCH\" });\n try {\n const params =\n `take=10` +\n `&Where.OperatorType=And` +\n `&Where.Operands[0].Field=id` +\n `&Where.Operands[0].FilterType=Equal` +\n `&Where.Operands[0].Value=${fleetBranchId}` +\n `&Where.Operands[1].Field=code` +\n `&Where.Operands[1].FilterType=Equal` +\n `&Where.Operands[1].Value=${branchCode.substring(0, 4)}`;\n\n const branchDetail = await axios.get(\n `${APIRoute}baseplan/api/branch/divisions?${params}`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${getAccessToken()}`\n }\n }\n );\n dispatch({\n type: \"SUCCESS_BRANCH\",\n payload: branchDetail.data.result[0]\n });\n const masterParams =\n params +\n `&Where.Operands[2].Field=isMain` +\n `&Where.Operands[2].FilterType=Equal` +\n `&Where.Operands[2].Value=True`;\n\n const branchMaster = await axios.get(\n `${APIRoute}baseplan/api/branch/divisions?${masterParams}`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${getAccessToken()}`\n }\n }\n );\n dispatch({\n type: \"SUCCESS_MAINBRANCH\",\n payload: branchMaster.data.result[0]\n });\n } catch (e) {\n handleStatusError(e.response.status);\n dispatch({\n type: \"ERROR_BRANCH\"\n });\n }\n };\n\n const renderEmployeeList = () => {\n if (employeesLoader || branchLoader) {\n return (\n <>\n \n \n \n \n );\n }\n if (employeesError) {\n return (\n
\n Failed to retrieve contact information, please try again latter\n
\n );\n }\n if (employees.length === 0) {\n return

No contact informattion available on baseplan

;\n }\n return employees.map((employee, index) => (\n
\n
\n Name \n
{employee.description}
\n
\n
\n Role \n
{employee.roleName}
\n
\n
\n Email: \n {employee.email ? (\n \n {employee.email}\n \n ) : (\n \"No record\"\n )}\n
\n
\n Phone: \n {employee.phoneNumber ? (\n \n {employee.phoneNumber}\n \n ) : (\n \"No record\"\n )}\n
\n
\n Mobile Phone: \n {employee.mobile ? (\n {employee.mobile}\n ) : (\n \"No record\"\n )}\n
\n
\n ));\n };\n\n const renderBranchContact = () => {\n if (branchLoader || employeesLoader) {\n return ;\n }\n if (branchError) {\n return
Failed to retrieve branch data, please try again latter
;\n }\n let cleanDivision = branchDetails.divisionName\n ? branchDetails.divisionName.replace(/\\b(\\w*Rain for Rent\\w*)/i, \"\")\n : \"No information available\";\n if (Number(cleanDivision.substring(0, 4))) {\n cleanDivision = cleanDivision.substring(4).replace(\"-\", \"\");\n }\n\n const list = [\n {\n top: \"Division\",\n bottom: cleanDivision\n },\n {\n top: \"Phone\",\n bottom: branchDetails.phone\n ? branchDetails.phone\n : branchMaster && branchMaster.phone\n ? branchMaster.phone\n : undefined,\n type: \"phone\"\n },\n {\n top: \"Address\",\n bottom: branchDetails.address\n ? branchDetails.address\n : branchMaster && branchMaster.address\n ? branchMaster.address\n : \"No contact information is available please contact support.\"\n }\n ];\n return (\n <>\n {branchDetails.isMain && (\n \n Main branch\n \n )}\n\n \n \n );\n };\n\n const renderProgress = () => {\n if (employeesLoader || branchLoader) {\n return;\n }\n if (\n !bookedPickupDate ||\n !bookedDeliveryDate ||\n catType === \"BULK\" ||\n qtyOnHire !== qtyAvail\n ) {\n return null;\n }\n const start = new Date(bookedDeliveryDate).getTime() / 1000;\n const end = new Date(bookedPickupDate).getTime() / 1000;\n const today = new Date().getTime() / 1000;\n const p = Math.round(((today - start) / (end - start)) * 100);\n return (\n
\n Due Progress\n \n
\n
{`${bookedDeliveryDate.substring(\n 5,\n 7\n )}/${bookedDeliveryDate.substring(\n 8,\n 10\n )}/${bookedDeliveryDate.substring(0, 4)}`}
\n
{`${bookedPickupDate.substring(\n 5,\n 7\n )}/${bookedPickupDate.substring(8, 10)}/${bookedPickupDate.substring(\n 0,\n 4\n )}`}
\n
\n
\n );\n };\n\n return (\n
\n
\n
\n Description \n
\n
\n
\n Status\n \n
\n
\n Branch \n
\n
\n
\n Product \n
\n
\n
\n Category \n
{type}
\n
\n
\n Region \n
{regionCode}
\n
\n
\n\n {toggle && (\n <>\n {renderProgress()}\n {renderBranchContact()}\n {renderEmployeeList()}\n \n )}\n
\n setToggle(!toggle)}\n />\n
\n \n );\n};\nexport default EquipmentMobileCard;\n","import React from \"react\";\n\nimport EquipmentMobileLoading from \"./EquipmentMobileLoading\";\nimport EquipmentMobileCard from \"./EquipmentMobileCard\";\n\nconst EquipmentMobileList = props => {\n const {\n equipmentList,\n equipmentLoader,\n pageLength,\n history,\n conditions,\n wildWords\n } = props;\n\n const list = () => {\n if (equipmentList.length === 0) {\n return;\n }\n return equipmentList\n .slice(0, pageLength)\n .map((elem, index) => (\n \n ));\n };\n\n return (\n
\n {equipmentLoader\n ? Array.apply(null, { length: pageLength }).map((e, i) => (\n
{EquipmentMobileLoading()}
\n ))\n : list()}\n
\n );\n};\n\nexport default EquipmentMobileList;\n","import React, { useState, useEffect } from \"react\";\nimport {\n Icon,\n TreeSelect,\n Select,\n Checkbox,\n AutoComplete,\n Drawer,\n Tooltip,\n} from \"antd\";\nimport Media from \"react-media\";\nimport { Swipeable } from \"react-swipeable\";\nimport { useLocation } from \"react-router-dom\";\nimport { ExclamationCircleOutlined } from \"@ant-design/icons\";\n\nconst { TreeNode } = TreeSelect;\nconst { Option } = Select;\n\nconst EquipmentForm = (props) => {\n const {\n setParams,\n stateSearch,\n stateStatus,\n stateCategory,\n stateCatType,\n branchList,\n branchID,\n branchCode,\n subCategoryList,\n stateSelectedRegion,\n stateSubCategory,\n branchListLoader,\n stateCatCode,\n stateExclude,\n toggleDrawer,\n setToggleDrawer,\n locationTreeValues,\n categoryTreeValues,\n sort,\n setStateSort,\n sortDir,\n setStateSortDirection,\n } = props;\n\n const [search, setSearch] = useState(stateSearch || \"\");\n const [status, setStatus] = useState(stateStatus);\n const [category, setCategory] = useState(stateCategory || \"\");\n const [catType, setCatType] = useState(stateCatType || \"\");\n const [selectedRegion, setSelectedRegion] = useState(\n stateSelectedRegion || \"\"\n );\n\n const [tempCategory, setTempCategory] = useState(\"\");\n const [subCategory, setSubCategory] = useState(stateSubCategory || \"All\");\n const [catCode, setCatCode] = useState(stateCatCode);\n const [exclude, setExclude] = useState(stateExclude);\n\n const [locRef, setLocRef] = useState(null);\n const [catRef, setCatRef] = useState(null);\n const [tooltipVisible, setTooltipVisible] = useState(false);\n const [tooltipVisibleTemp, setTooltipVisibleTemp] = useState(false);\n const [stateExpandedKeys, setStateExpandedKeys] = useState([]);\n const [selectedBranch, setSelectedBranch] = useState(\"\");\n const [stateSearchValue, setStateSearchValue] = useState(\"\");\n const [selectedCategories, setSelectedCategories] = useState(\n stateCategory || [\"All\"]\n );\n\n useEffect(() => {\n if (!branchListLoader && branchList.length > 0) {\n if (branchID && branchCode) {\n const defaultBranch = branchList.find(\n (elem) => elem.code === branchCode && elem.id === Number(branchID)\n );\n if (defaultBranch) {\n setSelectedBranch(defaultBranch);\n }\n }\n }\n }, [branchListLoader, branchList]);\n\n const tooltipTimer = () => {\n if (!tooltipVisible) {\n setTooltipVisible(true);\n setTimeout(() => {\n setTooltipVisible(false);\n }, 2000);\n }\n };\n\n useEffect(() => {\n if (tooltipVisibleTemp) setTooltipVisible(true);\n const interval = setTimeout(() => {\n setTooltipVisible(tooltipVisibleTemp);\n }, 500);\n return () => {\n clearTimeout(interval);\n };\n }, [tooltipVisibleTemp]);\n\n const getLocalSuggestions = () => {\n const suggestions = window.localStorage.getItem(\"Searches\");\n if (suggestions) return suggestions.split(\"||\");\n return [];\n };\n\n const [localSuggestions, setLocalSuggestions] = useState(getLocalSuggestions);\n const saveLocalSuggestion = () => {\n if (search === \"\") return;\n let tempSuggestions = localSuggestions;\n if (tempSuggestions.length >= 10) {\n tempSuggestions.length = 9;\n }\n tempSuggestions.unshift(search);\n tempSuggestions = [...new Set(tempSuggestions)];\n window.localStorage.setItem(\"Searches\", tempSuggestions.join(\"||\"));\n setLocalSuggestions(tempSuggestions);\n };\n\n useEffect(() => {\n if (!branchListLoader) {\n submitForm();\n }\n }, [\n search,\n selectedBranch,\n status,\n selectedCategories,\n category,\n setSelectedRegion,\n subCategory,\n catType,\n exclude,\n ]);\n useEffect(() => {\n // Temp is for the search\n if (tempCategory && !branchListLoader) {\n setCategory(tempCategory.type);\n setSubCategory(tempCategory.catType);\n setCatCode(tempCategory.catCode);\n if (!tempCategory.subCategory) {\n setSelectedCategories([\n ...selectedCategories.filter((e) => e !== \"All\"),\n `{\"cat\": \"${tempCategory.type}\", \"catType\": \"${tempCategory.catType}\", \"catCode\": \"${tempCategory.catCode}\"}`,\n ]);\n setStateSearchValue(\"\");\n } else {\n }\n }\n }, [tempCategory, branchListLoader]);\n\n const clearForm = () => {\n setSearch(\"\");\n setStatus(1);\n setCatType(\"\");\n setCategory(\"All\");\n setSelectedBranch(\"All\");\n setSelectedRegion(\"All\");\n setExclude(true);\n setSubCategory(\"\");\n setSelectedCategories([\"All\"]);\n setCatCode(\"\");\n setStateSort(\"rank\");\n setStateSortDirection(\"Desc\");\n setStateSearchValue(\"\");\n setStateExpandedKeys([]);\n };\n const location = useLocation();\n\n useEffect(() => {\n if (location.search.includes(\"clear=true\")) {\n clearForm();\n }\n }, [location]);\n\n const submitForm = () => {\n setParams({\n search,\n status,\n category,\n catType,\n selectedCategories,\n branchID: selectedBranch ? selectedBranch.id : \"\",\n branchCode: selectedBranch ? selectedBranch.code : \"\",\n selectedRegion,\n subCategory,\n exclude,\n catCode,\n });\n };\n\n const handleClose = (e, type) => {\n if (e && e.keyCode === 13) {\n if (e.target) {\n e.target.blur();\n }\n if (locRef && type === \"loc\") {\n // locRef.click();\n locRef.blur();\n }\n if (catRef && type === \"cat\") {\n // catRef.click();\n catRef.blur();\n }\n }\n };\n const equipmentForm = (mobile) => (\n {\n e.preventDefault();\n submitForm();\n console.log(\"submit?\");\n saveLocalSuggestion();\n }}\n >\n
\n
\n handleClose(e, \"auto\")}\n onTouchEnd={(e) => handleClose(e, \"loc\")}\n >\n \n
\n {\n return option.key.includes(search);\n }}\n onChange={(value) => setSearch(value)}\n />\n \n \n \n
\n
\n
\n \n
\n {\n setStatus(value);\n }}\n >\n \n \n \n \n \n \n \n \n
\n
\n handleClose(e, \"loc\")}\n onTouchEnd={(e) => handleClose(e, \"loc\")}\n >\n \n
\n {\n if (!locRef) {\n setLocRef(e.target);\n }\n }}\n className=\"testTree\"\n showSearch\n onSearch={(e) => {\n let search = e.toLowerCase();\n if (search.length < 3) return;\n\n let searchedBranch = branchList.filter((branch) => {\n let desc = branch.description.toLowerCase();\n if (\n branch.code.startsWith(search) ||\n desc.startsWith(search) ||\n `${branch.code} ${desc}`.startsWith(search)\n ) {\n return true;\n }\n return false;\n });\n if (searchedBranch.length === 1) {\n setStateSearchValue(\"\");\n setSelectedBranch(searchedBranch[0]);\n }\n }}\n dropdownStyle={{ maxHeight: 300 }}\n onSelect={(value, moreData) => {\n if (moreData.props.region) {\n setSelectedBranch({});\n setSelectedRegion(value);\n } else {\n setSelectedRegion(\"\");\n setSelectedBranch(moreData.props);\n }\n }}\n value={\n selectedBranch && selectedBranch.description\n ? selectedBranch.description === \"All\"\n ? selectedBranch.description\n : `${selectedBranch.code} ${selectedBranch.description}`\n : selectedRegion\n }\n treeData={locationTreeValues}\n />\n
\n
\n handleClose(e, \"cat\")}\n onTouchEnd={(e) => handleClose(e, \"cat\")}\n >\n \n
\n {\n if (!catRef) {\n setCatRef(e.target);\n }\n }}\n onTreeExpand={(e) => setStateExpandedKeys(e)}\n treeExpandedKeys={stateExpandedKeys}\n searchValue={stateSearchValue}\n onSearch={(e) => {\n setStateSearchValue(e);\n let search = e.toLowerCase();\n if (search.length < 3) return;\n let searchedCat = subCategoryList.filter((cat) => {\n let type = cat.type.toLowerCase();\n let catType = cat.catType.toLowerCase();\n return (\n type.startsWith(search) ||\n `${type} ${catType}`.startsWith(search)\n );\n });\n if (searchedCat.length === 1) {\n setTempCategory(searchedCat[0]);\n }\n }}\n filterTreeNode={(search, node) => {\n let { title } = node.props;\n search = search.toLowerCase();\n title = title.toLowerCase();\n if (title === \"all\") {\n return title.startsWith(search);\n }\n title = title.toLowerCase();\n if (title.startsWith(search)) {\n return true;\n }\n return false;\n }}\n treeCheckable\n showCheckedStrategy=\"SHOW_PARENT\"\n multiple\n showSearch\n style={{ minWidth: \"230px\" }}\n dropdownStyle={{ maxHeight: 300 }}\n onChange={(cats, label, extra) => {\n if (cats.length === 0 || extra.triggerValue === \"All\") {\n setSelectedCategories([\"All\"]);\n return;\n }\n if (cats.length >= 11) {\n tooltipTimer();\n return;\n }\n let allIndex = cats.findIndex((e) => e === \"All\");\n if (allIndex !== -1) cats.splice(allIndex, 1);\n setSelectedCategories(cats);\n return;\n }}\n value={selectedCategories}\n treeData={categoryTreeValues}\n />\n {\n setTooltipVisibleTemp(true);\n }}\n onMouseLeave={() => {\n setTooltipVisibleTemp(false);\n }}\n >\n \n \n \n
\n \n \n
\n {\n setExclude(!exclude);\n }}\n >\n Exclude in Repair\n \n
Clear All
\n
\n {mobile && (\n
\n

Sort By:

\n
\n
\n \n \n
\n
\n \n setStateSortDirection(e)}\n >\n \n \n \n
\n
\n
\n )}\n \n \n \n );\n\n const mobileForm = () => (\n <>\n
\n
\n setToggleDrawer(true)} />\n
\n
\n setToggleDrawer(false)}\n >\n {\n setToggleDrawer(false);\n }}\n onSwipedLeft={() => setToggleDrawer(true)}\n >\n
\n {equipmentForm(true)}\n

\n Quick Tip: You can open this menu just by swiping left on your\n screen.\n

\n
\n \n \n \n );\n return (\n \n {(matches) => (matches ? mobileForm() : equipmentForm())}\n \n );\n};\n\nexport default EquipmentForm;\n","import React, { useEffect, useState } from \"react\";\nimport querystring from \"querystring\";\nimport Media from \"react-media\";\nimport Loading from \"../../components/Assets/Loading.js\";\nimport EquipmentTable from \"../../components/equipment/EquipmentTable\";\nimport EquipmentMobileList from \"../../components/equipment/EquipmentMobileList\";\nimport EquipmentForm from \"../../components/equipment/EquipmentForm\";\nimport { Pagination } from \"antd\";\nimport { Swipeable } from \"react-swipeable\";\n\nconst Equipment = (props) => {\n const {\n redux,\n history,\n fetchBranchRegions,\n fetchCategories,\n fetchSubCategories,\n fetchEquipmentForm,\n fetchConditions,\n setEquipmentDetails,\n setEquipmentFetchID,\n timestamp,\n } = props;\n\n const {\n loading,\n statusFilterOptions,\n categoryList,\n branchList,\n contentLoader,\n branchRegions,\n equipmentList,\n equipmentLoader,\n equipmentTotal,\n subCategoryLoader,\n subCategoryList,\n conditions,\n branchListLoader,\n wildcardFilter,\n } = redux;\n\n const {\n branchID: urlBranchID,\n branchCode: urlBranchCode,\n search: urlSearch,\n status: urlStatus,\n selectedRegion: urlRegion,\n category: urlCategory,\n catType: urlCatType,\n page: urlPage,\n pageLength: urlPageLength,\n subCategory: urlSubCategory,\n exclude: urlExclude,\n catCode: urlCatCode,\n sort: urlSort,\n sortDir: urlSortDir,\n } = querystring.parse(window.location.search.substring(1));\n\n const [branchID, setBranchID] = useState(urlBranchID);\n const [branchCode, setBranchCode] = useState(urlBranchCode);\n const [stateSelectedRegion, setStateSelectedRegion] = useState(\n urlRegion || \"All\"\n );\n const [stateSearch, setStateSearch] = useState(urlSearch || \"\");\n const [stateStatus, setStateStatus] = useState(Number(urlStatus || \"1\"));\n const [stateCategory, setStateCategory] = useState(\n urlCategory\n ? Array.isArray(urlCategory)\n ? urlCategory\n : [urlCategory] || [\"All\"]\n : [\"All\"]\n ); // urlCategory ||\n const [stateCatType, setCatType] = useState(urlCatType || \"\");\n const [statePage, setStatePage] = useState(Number(urlPage) || 1);\n const [statePageLength, setStatePageLength] = useState(\n Number(urlPageLength) || 10\n );\n const [stateSubCategory, setStateSubCategory] = useState(\n urlSubCategory || \"\"\n );\n const [stateCatCode, setStateCatCode] = useState(urlCatCode);\n const [stateExclude, setStateExclude] = useState(\n urlExclude ? JSON.parse(urlExclude) : true\n );\n const [toggleDrawer, setToggleDrawer] = useState(false);\n const [stateFetchID, setStateFetchID] = useState(0);\n const [stateSort, setStateSort] = useState(urlSort || \"rank\");\n const [stateSortDir, setStateSortDir] = useState(urlSortDir || \"Desc\");\n const [renderCount, setRenderCount] = useState(0);\n useEffect(() => {\n setEquipmentFetchID(stateFetchID);\n }, [stateFetchID, setEquipmentFetchID]);\n\n useEffect(() => {\n if (categoryList.length < 1) {\n fetchCategories();\n }\n if (conditions) {\n fetchConditions();\n }\n if (branchList.length < 1) {\n fetchBranchRegions();\n }\n if (subCategoryList.length < 1) {\n fetchSubCategories();\n }\n }, []);\n\n useEffect(() => {\n handleTableURLChanges(statePage, statePageLength, stateSortDir, stateSort);\n }, [statePage, statePageLength, stateSortDir, stateSort]);\n\n const [locationTreeValues, setLocationTreeValues] = useState([]);\n const [categoryTreeValues, setCategoryTreeValues] = useState([]);\n\n const locationTreeBuilder = () => {\n const values = branchRegions.map((region, regionIndex) => {\n return {\n value: region,\n title: region,\n region: true,\n key: regionIndex,\n children:\n branchList.filter(\n (branch) => branch.regionCode === region && branch.isMain\n ).length > 0\n ? branchList\n .filter(\n (branch) => branch.regionCode === region && branch.isMain\n )\n .map((mainBranch, mainBranchIndex) => {\n return {\n id: mainBranch.id,\n code: mainBranch.code,\n key: `${regionIndex}-${mainBranchIndex}`,\n value: `${mainBranch.code} ${mainBranch.description}`,\n description: mainBranch.description,\n title: `${mainBranch.code} ${mainBranch.description}`,\n children: branchList\n .filter(\n (branch) =>\n branch.regionCode === region &&\n !branch.isMain &&\n branch.code === mainBranch.code &&\n mainBranch.country === branch.country\n )\n .map((branch, branchIndex) => {\n return {\n isLeaf: true,\n id: branch.id,\n code: branch.code,\n key: `${regionIndex}-${mainBranchIndex}-${branchIndex}`,\n value: `${branch.code} ${branch.description}`,\n title: `${branch.code} ${branch.description}`,\n description: branch.description,\n };\n }),\n };\n })\n : branchList\n .filter(\n (branch) => branch.regionCode === region && !branch.isMain\n )\n .map((branch, branchIndex) => {\n return {\n isLeaf: true,\n id: branch.id,\n code: branch.code,\n key: `${regionIndex}-nonmain-${branchIndex}`,\n value: `${branch.code} ${branch.description}`,\n title: `${branch.code} ${branch.description}`,\n description: branch.description,\n };\n }),\n };\n });\n values.unshift({\n value: \"All\",\n description: \"All\",\n title: \"All\",\n key: \"All\",\n });\n return values;\n };\n\n const categoryTreeBuilder = () => {\n const treeData = categoryList.map((category, categoryIndex) => {\n return {\n value: `{ \"value\": \"${category}\", \"subCategory\": true}`,\n title: category,\n key: categoryIndex,\n subCategory: true,\n children: subCategoryList\n .filter((subCategory) => subCategory.catCode === category)\n .map((subCategory, subCategoryIndex) => {\n return {\n isLeaf: true,\n catType: subCategory.catType,\n cat: subCategory.type,\n catCode: subCategory.catCode,\n key: `${categoryIndex}-${subCategoryIndex}`,\n value: `{\"cat\": \"${subCategory.type}\", \"catType\": \"${subCategory.catType}\", \"catCode\": \"${subCategory.catCode}\"}`,\n title: `${subCategory.type} ${subCategory.catType}`,\n };\n }),\n };\n });\n treeData.unshift({\n value: `All`,\n description: \"All\",\n title: \"All\",\n key: \"All\",\n });\n return treeData;\n };\n\n useEffect(() => {\n if (!subCategoryLoader && categoryList.length > 0) {\n const values = categoryTreeBuilder();\n setCategoryTreeValues(values);\n }\n }, [categoryList, subCategoryLoader]);\n\n useEffect(() => {\n if (!branchListLoader && branchRegions) {\n const values = locationTreeBuilder();\n setLocationTreeValues(values);\n }\n }, [branchRegions]);\n\n const getOperands = () => {\n const operands = [];\n if (branchID) {\n operands.push({\n Field: \"fleetBranchId\",\n FilterType: \"Equal\",\n Value: branchID,\n });\n operands.push({\n Field: \"branchCode\",\n FilterType: \"startsWith\",\n Value: branchCode,\n });\n } else if (stateSelectedRegion && stateSelectedRegion !== \"All\") {\n operands.push({\n Field: \"regionCode\",\n FilterType: \"Equal\",\n Value: stateSelectedRegion,\n });\n }\n if (stateStatus !== 0) {\n operands.push({\n Field: \"Status\",\n FilterType: \"Equal\",\n Value: stateStatus,\n });\n }\n\n if (stateCategory[0] && stateCategory[0] !== \"All\") {\n operands.push({\n Field: \"type\",\n FilterType: \"Equal\",\n Value: stateCategory,\n });\n } else if (stateSubCategory && stateSubCategory !== \"All\") {\n operands.push({\n Field: \"catCode\",\n FilterType: \"Equal\",\n Value: stateSubCategory,\n });\n }\n if (stateSearch.trim() !== \"\") {\n operands.push({\n Field: \"fldDesc\",\n FilterType: \"Contains\",\n Value: stateSearch,\n });\n }\n if (stateExclude) {\n operands.push({\n Field: \"condition\",\n FilterType: \"NotEqual\",\n Value: \"Repair\",\n });\n }\n return operands;\n };\n\n const buildURL = () => {\n const operands = getOperands();\n let queryParams = \"\";\n queryParams += `Skip=${(statePage - 1) * statePageLength || 0}`;\n queryParams += `&Take=${statePageLength || 10}`;\n queryParams += `&OrderBy[0].Field=${stateSort}`;\n queryParams += `&OrderBy[0].Order=${stateSortDir}`;\n if (operands.length > 0) {\n if (operands.length !== 0) {\n queryParams += \"&Where.OperatorType=And\";\n }\n operands.forEach((elem, index) => {\n switch (elem.Field) {\n case \"fldDesc\": {\n elem.Value.replace(\"&\", \"%26\");\n elem.Value = elem.Value.replace(/[\\u2018\\u2019]/g, '\"') // fancy coma iPhone\n .replace(/[\\u201C\\u201D]/g, '\"') // fancy coma iPhone\n .trim();\n queryParams += `&Where.Operands[${index}].Field=fldDesc`;\n queryParams += `&Where.Operands[${index}].FilterType=Contains`;\n queryParams += `&Where.Operands[${index}].Value=${elem.Value}`;\n break;\n }\n case \"type\": {\n queryParams += `&Where.Operands[${index}].OperatorType=Or`;\n elem.Value.forEach((elem, i) => {\n let json = JSON.parse(elem);\n\n if (json.subCategory) {\n json.value = json.value.replace(\"&\", \"%26\");\n queryParams += `&Where.Operands[${index}].Operands[${i}].Field=catCode`;\n queryParams += `&Where.Operands[${index}].Operands[${i}].FilterType=Equal`;\n queryParams += `&Where.Operands[${index}].Operands[${i}].Value=${json.value}`;\n } else {\n json.catType = json.catType.replace(\"&\", \"%26\");\n json.cat = json.cat.replace(\"&\", \"%26\");\n queryParams += `&Where.Operands[${index}].Operands[${i}].OperatorType=And`;\n queryParams += `&Where.Operands[${index}].Operands[${i}].Operands[0].Field=catType`;\n queryParams += `&Where.Operands[${index}].Operands[${i}].Operands[0].FilterType=Equal`;\n queryParams += `&Where.Operands[${index}].Operands[${i}].Operands[0].Value=${json.catType}`;\n queryParams += `&Where.Operands[${index}].Operands[${i}].Operands[1].Field=type`;\n queryParams += `&Where.Operands[${index}].Operands[${i}].Operands[1].FilterType=Equal`;\n queryParams += `&Where.Operands[${index}].Operands[${i}].Operands[1].Value=${json.cat}`;\n }\n });\n break;\n }\n case \"Status\": {\n switch (elem.Value) {\n case 1: {\n queryParams += `&Where.Operands[${index}].Field=available`;\n queryParams += `&Where.Operands[${index}].FilterType=GreaterThan`;\n queryParams += `&Where.Operands[${index}].Value=0`;\n break;\n }\n case 2: {\n queryParams += `&Where.Operands[${index}].Field=available`;\n queryParams += `&Where.Operands[${index}].FilterType=Equal`;\n queryParams += `&Where.Operands[${index}].Value=0`;\n break;\n }\n case 3: {\n queryParams += `&Where.Operands[${index}].Field=reserved`;\n queryParams += `&Where.Operands[${index}].FilterType=GreaterThan`;\n queryParams += `&Where.Operands[${index}].Value=0`;\n break;\n }\n case 4: {\n queryParams += `&Where.Operands[${index}].Field=terminated`;\n queryParams += `&Where.Operands[${index}].FilterType=GreaterThan`;\n queryParams += `&Where.Operands[${index}].Value=0`;\n break;\n }\n default: {\n break;\n }\n }\n break;\n }\n default: {\n if (typeof stringValue === \"string\") {\n elem.Value.replace(\"&\", \"%26\");\n }\n queryParams += `&Where.Operands[${index}].Field=${elem.Field}`;\n queryParams += `&Where.Operands[${index}].FilterType=${elem.FilterType}`;\n queryParams += `&Where.Operands[${index}].Value=${elem.Value}`;\n }\n }\n });\n }\n return queryParams;\n };\n\n const handleTableURLChanges = (page, pageLength, sortDir, sort) => {\n const url = querystring.parse(window.location.search.substring(1));\n if (page !== 1) {\n url.page = page;\n } else {\n delete url.page;\n }\n if (pageLength !== 10) {\n url.pageLength = pageLength;\n } else {\n delete url.pageLength;\n }\n if (sort === \"rank\") {\n delete url.sortDir;\n delete url.sort;\n } else {\n url.sortDir = sortDir;\n url.sort = sort;\n }\n history.push({\n search: querystring.stringify(url),\n });\n };\n\n const handleChangeForm = (params) => {\n const {\n search,\n status,\n category,\n catType,\n selectedRegion,\n branchID,\n stateCategory,\n branchCode,\n subCategory,\n exclude,\n catCode,\n selectedCategories,\n } = params;\n\n const route = {};\n\n if (status !== 1) route.status = status;\n if (category && category !== \"All\") route.category = category;\n if (catType) route.catType = catType;\n if (branchID) route.branchID = branchID;\n if (branchCode) route.branchCode = branchCode;\n if (selectedRegion && selectedRegion !== \"All\")\n route.selectedRegion = selectedRegion;\n if (search) route.search = search;\n if (subCategory && subCategory !== \"All\") route.subCategory = subCategory;\n if (!exclude) route.exclude = exclude;\n if (catCode) route.catCode = catCode;\n if (statePage !== 10) route.page = statePage;\n if (statePageLength !== 1) route.pageLength = statePageLength;\n if (selectedCategories !== \"\") route.category = selectedCategories;\n\n history.push({\n search: querystring.stringify(route),\n });\n setStateSearch(search);\n setStateStatus(status);\n setStateCategory(selectedCategories);\n setCatType(catType);\n setBranchCode(branchCode);\n setBranchID(branchID);\n setStateSelectedRegion(selectedRegion);\n if(renderCount > 1){\n setStatePage(1);\n }\n setStateSubCategory(subCategory);\n setStateExclude(exclude);\n setStateCatCode(catCode);\n };\n\n useEffect(() => {\n // If the user is on a page that that exceeds the number of results this\n // function brings them back to a real page\n // Ej if they select a page 8 but there is only 33 results this will take them to page 4\n let tempPage = Math.ceil(equipmentTotal / statePageLength);\n if (equipmentTotal && tempPage < statePage) {\n setStatePage(tempPage);\n }\n }, [equipmentTotal]);\n\n // this is kinda repeated function but only renders when we change the page length\n // so that when going from 30 to 10 dosnt nead to make another api call and just split the array\n useEffect(() => {\n if (!equipmentLoader && statePageLength > equipmentList.length) {\n fetchEquipment();\n }\n }, [statePageLength]);\n\n const fetchEquipment = () => {\n setRenderCount(renderCount + 1);\n const path = buildURL();\n const newFetchID = stateFetchID + 1;\n setStateFetchID(newFetchID);\n fetchEquipmentForm(path, newFetchID);\n };\n\n useEffect(() => {\n const interval = setTimeout(() => {\n if (Number(statePage)) fetchEquipment();\n }, 750);\n return () => {\n clearTimeout(interval);\n };\n }, [\n stateSearch,\n stateStatus,\n stateCategory,\n stateCatType,\n branchID,\n statePage,\n stateSelectedRegion,\n stateSubCategory,\n stateExclude,\n stateSortDir,\n stateSort,\n ]);\n\n const pagging = () => (\n
\n
\n setStatePageLength(10)}\n >\n 10\n
\n setStatePageLength(20)}\n >\n 20\n
\n setStatePageLength(30)}\n >\n 30\n \n \n
\n
setStatePage(statePage === 1 ? 1 : statePage - 1)}>\n {\"<\"}\n
\n
\n {\n if (e.target.value === \"e\") return;\n const max = Math.ceil(equipmentTotal / statePageLength);\n const value = Number(e.target.value);\n if (value) {\n if (value > max) {\n setStatePage(max);\n return;\n }\n if (value <= 0) {\n setStatePage(1);\n return;\n }\n setStatePage(value);\n } else {\n if (e.target.value === \"\") {\n setStatePage(\"\");\n }\n }\n }}\n onKeyUp={(e) => {\n if (e.keyCode === 13) {\n if (!Number(statePage)) {\n setStatePage(1);\n }\n e.target.blur();\n }\n }}\n />\n
\n
/
\n
{Math.ceil(equipmentTotal / statePageLength)}
\n \n setStatePage(\n statePage === Math.ceil(equipmentTotal / statePageLength)\n ? statePage\n : statePage + 1\n )\n }\n >\n {\">\"}\n
\n \n \n );\n\n const content = () => {\n return (\n
\n {\n setToggleDrawer(false);\n }}\n onSwipedLeft={() => setToggleDrawer(true)}\n >\n
\n {!contentLoader && !branchListLoader && !subCategoryLoader && (\n \n )}\n
\n {pagging()}\n\n
\n
\n {`Total Results: ${\n equipmentLoader ? \"Loading...\" : equipmentTotal\n } `}\n
\n
\n \n {(matches) =>\n matches ? (\n \n ) : (\n \n )\n }\n \n {!equipmentLoader && equipmentList.length === 0 && (\n
\n

No match found, please try again

\n
\n )}\n
\n
\n \n
\n );\n };\n\n return
{loading ? : content()}
;\n};\n\nexport default Equipment;\n","import React from \"react\";\n\nconst SearchResults = props => {\n const { headers } = props;\n\n const head = (head, content, key) => (\n
\n \n

{content}

\n
\n );\n return (\n
\n {headers.map((elem, key) => head(elem.key, elem.value, key))}\n
\n );\n};\n\nexport default SearchResults;\n","import React from \"react\";\n\nconst EmployeeCard = props => {\n const { list, fleetNo, fldDesc } = props;\n const bottomContent = (bottom, type) => {\n if (!bottom) return ;\n switch (type) {\n case undefined:\n return ;\n case \"email\":\n return (\n \n );\n case \"phone\":\n return (\n \n );\n default:\n break;\n }\n };\n\n const cell = (top, bottom, dark = false, type) => (\n
\n \n {bottomContent(bottom, type)}\n
\n );\n return (\n
\n {/*
*/}\n {list.map((elem, index) => cell(elem.top, elem.bottom, true, elem.type))}\n
\n );\n};\n\nexport default EmployeeCard;\n","import React from \"react\";\nimport ContentLoader from \"react-content-loader\";\n\nconst ContactLoader = () => (\n \n \n \n \n \n \n \n);\n\nexport default ContactLoader;\n","import React from \"react\";\nimport ContentLoader from \"react-content-loader\";\n\nconst EmployeeLoader = () => (\n \n \n \n \n \n \n \n);\n\nexport default EmployeeLoader;\n","import React, { useEffect } from \"react\";\n\nimport { Tag, Icon } from \"antd\";\nimport Loading from \"../../components/Assets/Loading.js\";\nimport SearchResults from \"../../components/Assets/SearchResults.js\";\nimport BranchCard from \"../../components/Assets/BranchCard.js\";\nimport EmployeeCard from \"../../components/Assets/EmployeeCard.js\";\nimport { StatusRender } from \"../../components/Assets/StatusRender.js\";\nimport ContactLoader from \"../../components/Assets/loaders/ContactLoader\";\nimport EmployeeLoader from \"../../components/Assets/loaders/EmployeeLoader\";\nimport { getRedirectPath } from \"../../util/Auth\";\n\nconst EquipmentDetails = props => {\n const {\n fetchEquipmentDetails,\n fetchBranchDetails,\n fetchBranchEmployees,\n redux,\n fetchConditions,\n history\n } = props;\n\n const {\n loading,\n equipmentDetail,\n branchDetail,\n employees,\n employeesLoader,\n branchDetailLoader,\n branchMaster,\n contentLoader,\n conditions,\n detailsFromTable\n } = redux;\n\n useEffect(() => {\n fetchConditions();\n }, []);\n\n const { fleetNo, branchID, branchCode } = props.match.params;\n useEffect(() => {\n if (!detailsFromTable) {\n fetchEquipmentDetails(fleetNo, branchID);\n }\n fetchBranchDetails(branchID, branchCode);\n fetchBranchEmployees(branchID);\n }, [\n fleetNo,\n branchID,\n branchCode,\n fetchEquipmentDetails,\n fetchBranchDetails,\n fetchBranchEmployees,\n detailsFromTable\n ]);\n\n const {\n fldDesc,\n status,\n bookedPickupDate,\n bookedDeliveryDate,\n qtyAvail,\n available,\n terminated,\n reserved,\n catType,\n qtyOnHire,\n condition,\n description,\n regionCode\n } = equipmentDetail;\n\n const { address, divisionName, phone } =\n (typeof branchDetail !== \"undefined\" && branchDetail) || {};\n\n const employeeList = () => {\n if (employeesLoader) {\n return Array.apply(null, { length: 5 }).map((e, i) => (\n \n ));\n }\n\n const selectedEmployees = employees.filter(\n e => (e.role === \"111\" || e.role === \"21\") && e.branchCode === branchCode\n );\n if (selectedEmployees.length > 0) {\n return selectedEmployees.map((elem, index) => (\n \n ));\n }\n return (\n
\n

No contact information available from Baseplan

\n
\n );\n };\n\n const branchInfo = () => {\n if (contentLoader) {\n return ;\n }\n\n let cleanDivision = \"\";\n if (divisionName) {\n cleanDivision = divisionName.replace(/\\b(\\w*Rain for Rent\\w*)/i, \"\");\n if (Number(cleanDivision.substring(0, 4))) {\n cleanDivision = cleanDivision.substring(4).replace(\"-\", \"\");\n }\n }\n\n const list = [\n {\n top: \"Division\",\n bottom: divisionName ? cleanDivision : \"No information available\"\n },\n {\n top: \"Phone\",\n bottom: phone\n ? phone\n : branchMaster && branchMaster.phone\n ? branchMaster.phone\n : undefined,\n type: \"phone\"\n },\n {\n top: \"Address\",\n bottom: address\n ? address\n : branchMaster && branchMaster.address\n ? branchMaster.address\n : \"No contact information is available please contact support.\"\n }\n ];\n if (catType === \"SERIAL\" && qtyAvail === qtyOnHire) {\n list.push({\n top: \"Due Progress\",\n type: \"progress\",\n bottom: \"Progress not available\"\n });\n }\n return (\n <>\n {branchDetail.isMain && (\n \n Main branch\n \n )}\n \n \n );\n };\n\n const content = () => {\n return (\n <>\n {branchDetailLoader ? (\n \n ) : (\n
\n history.push(getRedirectPath() || \"/\")}\n className=\"backButton\"\n >\n \n Back\n
\n \n )\n }\n ]}\n />\n {branchInfo()}\n
\n {employeeList()}\n \n )}\n \n );\n };\n\n return <>{loading && conditions ? : content()};\n};\n\nexport default EquipmentDetails;\n","import React from 'react'\n\nconst NotFound = () =>
404 page not found
\n\nexport default NotFound\n","import React from \"react\";\nimport querystring from \"query-string\";\nimport smallBlue from \"../../assets/smallBlue.png\";\n\nconst Login = props => {\n const { user } = props.redux;\n\n if (user.validated) {\n props.history.push(\"/\");\n }\n\n let urlParams = {\n client_id: process.env.REACT_APP_OKTA_CLIENT_ID,\n response_type: \"code\",\n scope: \"openid\",\n redirect_uri: `${window.location.protocol}${process.env.REACT_APP_URL}/implicit/callback`,\n state: \"state\",\n code_challenge_method: \"s256\",\n code_challenge: \"qjrzSW9gMiUgpUvqgEPE4_-8swvyCtfOVvg55o5S_es\"\n };\n\n urlParams = querystring.stringify(urlParams);\n const route = `${process.env.REACT_APP_OKTA_ORG_URL}/oauth2/v1/authorize?${urlParams}`;\n\n const parsed = querystring.parse(window.location.search.substring(1));\n\n if (parsed.autoLogin === \"1\") {\n window.location.replace(route);\n }\n\n return (\n
\n
\n
\n \"EF\n
\n
\n

\n Equipment Finder\n

\n
\n \n \n
\n
\n );\n};\n\nexport default Login;\n","import React, { useState } from \"react\";\nimport querystring from \"query-string\";\nimport { getRedirectPath, deleteRedirectPath } from \"../../util/Auth.js\";\nimport { Modal, Button } from \"antd\";\nimport { exchangeCodeForAccess, saveAccessToken } from \"../../util/Auth.js\";\nimport loader from \"../../components/Assets/Loading\";\n\nconst Callback = props => {\n const [modalVisible, setModalVisible] = useState(false);\n\n const handleRedirect = async () => {\n const redirectPath = await getRedirectPath();\n deleteRedirectPath();\n if (!redirectPath) {\n props.history.push(\"/\");\n return;\n }\n window.location.href = redirectPath;\n };\n\n const handleAccess = async () => {\n const parsed = querystring.parse(window.location.search.substring(1));\n if (parsed.code) {\n const access = await exchangeCodeForAccess(parsed.code);\n if (access.success) {\n saveAccessToken(access.data.access_token);\n props.fetchUser();\n handleRedirect();\n }\n } else {\n if (parsed.error === \"access_denied\") {\n setModalVisible(true);\n }\n }\n };\n\n handleAccess();\n\n return (\n
\n {loader()}\n {\n e.preventDefault();\n window.location = \"/equipmentfinder/login\";\n }}\n >\n Ok\n \n ]}\n >\n
This user is not authorized to access Equipment Finder.
\n
\n
Please contact IT Help Desk for assistance.
\n \n
\n );\n};\n\nexport default Callback;\n","import React, { useState, useEffect } from \"react\";\nimport { Button } from \"antd\";\n\nconst About = props => {\n const [pageNum, setPage] = useState(0);\n\n useEffect(() => {\n props.fetchCategories();\n }, []);\n\n if (props.redux.loading === true) {\n return
;\n }\n\n const contactInfo = (\n
\n

\n Equipment Finder\n

\n
\n
Copyright 2020 by Rain for Rent
\n
\n Version 1.1.0\n
\n
\n E-mail RFR IT Help Desk for support{\" \"}\n \n helpdesk@rainforrent.com\n \n
\n
\n or call{\" \"}\n \n +1 (661)634-6800\n \n
\n
\n
\n );\n\n const pagers = () => {\n return (\n
\n {pageNum !== 0 ? (\n \n ) : (\n \n )}\n\n {pageNum !== imagesPath.length - 1 ? (\n \n ) : (\n \n )}\n
\n );\n };\n\n const imagesPath = [\"/EFGuide0.jpg\", \"/EFGuide1.jpg\", \"/EFGuide2.jpg\", \"/EFGuide3.jpg\", \"/EFGuide4.jpg\", \"/EFGuide5.jpg\",];\n\n return (\n <>\n {contactInfo}\n
\n

\n User Guide\n

\n \n \n \n {pagers()}\n
\n \n
\n {pagers()}\n
\n \n );\n};\n\nexport default About;\n","import React from \"react\";\nimport { Provider, connect } from \"react-redux\";\nimport { Route, Switch, useLocation } from \"react-router-dom\";\nimport { configureStore, getDefaultMiddleware } from \"redux-starter-kit\";\nimport reduxThunk from \"redux-thunk\";\nimport rootReducer from \"../redux/reducers\";\nimport * as actionCreators from \"../redux/actions\";\nimport Layout from \"./Layout\";\nimport logger from \"redux-logger\";\nimport Equipment from \"../views/Equipment/Index.js\";\nimport EquipmentDetails from \"../views/Equipment/Details.js\";\n\nimport NotFound from \"../views/NotFound/Index.js\";\nimport Login from \"../views/Login/Index.js\";\nimport Callback from \"../views/Login/Callback\";\nimport About from \"../views/Contact/About\";\n\nimport \"antd/dist/antd.css\";\nimport \"./App.css\";\n\nconst connectedEquipmentView = connect(\n state => ({\n redux: state.equipmentReducer,\n timestamp: new Date().toString()\n }),\n actionCreators\n)(Equipment);\n\nconst connectedEquipmentDetailsView = connect(\n state => ({\n redux: state.equipmentReducer\n }),\n actionCreators\n)(EquipmentDetails);\n\nconst connectedAbout = connect(\n state => ({\n redux: state.equipmentReducer\n }),\n actionCreators\n)(About);\n\nconst connectedCallback = connect(\n state => ({\n redux: state.equipmentReducer\n }),\n actionCreators\n)(Callback);\n\nexport const store = configureStore({\n reducer: rootReducer,\n // immutableStateInvariant, thunk, serializableStateInvariant logger\n middleware: [...getDefaultMiddleware(), reduxThunk]\n // middleware: [...getDefaultMiddleware(), reduxThunk]\n});\n\nconst connectUser = connect(\n state => ({\n redux: state.equipmentReducer\n }),\n actionCreators\n)(Layout);\n\nconst connectLogin = connect(\n state => ({\n redux: state.equipmentReducer\n }),\n actionCreators\n)(Login);\n\nconst App = () => {\n let location = useLocation();\n\n return (\n \n {/* On login screen there is no need have the side bar space */}\n
\n \n
\n \n \n \n \n \n \n \n \n
\n
\n
\n );\n};\n\nexport default App;\n","import React from 'react'\nimport ReactDOM from 'react-dom';\n\nimport { BrowserRouter } from 'react-router-dom';\n\nimport App from './components/App.js';\n\nif (!window.localStorage.getItem(\"firstReload\")) {\n window.localStorage.setItem(\"firstReload\", \"true\");\n window.location.reload(true)\n}\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root'));","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAMAAAC8EZcfAAAA+VBMVEVMaXENltQNltQNltQNltQNltQNltQvQksvQksvQksNltQvQksNltQNltQNltQNltQNltQNltQNltQNltQNltQNltQNltQNltQNltQNltQNltQvQksvQksvQksNltQNltQvQksNltQNltQNltQNltQNltQvQksvQksvQksNltQNltQvQksNltQNltQvQksvQksvQksNltQNltQvQksvQksNltQNltQNltQNltQNltQvQksNltQNltQNltQvQksvQksvQksvQksvQksvQksvQksNltQNltQvQksvQksvQksNltQvQksvQksNltQvQksNltQNltQNltQvQktkkqh/AAAAUXRSTlMAQPMg4PkQ7+CgoMD37XTE60ww9X6z7/CL9j0g80DTW3T66JT4zth+mLJm6OT8TPr53NjI97pwauKY6/u+5/aLZtMQrPDlqKizW1DEyqztWGRvzoBJAAAACXBIWXMAACxKAAAsSgF3enRNAAAFk0lEQVR4nO2aZ3uiShSADwhouIIFscVoLCkm2U3ZJJu2ve+tw///MfeZAXEGBtSVtrvzfjJI4PVMO3MABAKBQCAQCAQCgUAgEAgEPwe7DxfO9lw87Kb1a/9KQA/zZ1qClYQEK2kJ7iQkuJOWIOxUkiA9P8Fvz6HXQQ+LGoiyN0rLBXDhIgS3RQhuixDcFiG4LUJwWwovWPhkQfDrss/dSu0X5/fy96MF2r0JwW0RgtsiBLdFCG7LzyFYfqgc7mAOK6flggkeD9692WOO7L15NzjOzScEv2yfWjH/F0Wa3ih3bcxEuelKxfqRWutKRizysKsVwIzQGFZ9N+vO8j/3ho0C2EFDUZehqzagsbRFqpK7YonWQ0gBAIU+oCrNXP10Ro8jiJCq56enTQIjgyeI0CSv0dKnepuHrIEWHM8IWf1c/F6GTRDq6J3wQSS/zMNP5ZhE0cvesNHbwA+hXtbzTV9GqPffv0PKQe0o+lSSpKmudOjoDnUdn5xsP9zdi09FNAMh1AaAmt/5bHrCa9p+V6wBQBshZMSP5VV3ZDm6dl6/jTuBRE7Gpu7KZpihU0zDFZQ8QXQQd8G3r53ro/UFPzqO80/M9yekCWdzADDIXOxHR5L8PEZzZ3EJYD7DH8YnMVc8dRzn4/qC5fg6ruZNgOrBCW5iw+1epa4i44btyEq3RI70sf1EmXg9shrTyCvuuOHpNjNAP5H7NhSLOma5WYL2iTnz74wES8wKcof9SpfBWVG9xFHU7uhjj6VsBGv0TevYb8RbVOQRNqzTh2qZCGr0FF3FQWk94/gh9KwVDLcc2QuTFOxSdxyPov08w9GYOtJNWHD/xR8ML3DZmW40PLf1oxc9snzQq0096qI/KBgqaXwDKFGjFTewxktfFnQ0tpGtEsA3XokkIcFyoIVxp9dj/BDSA4OqSz0xS0GwwraY2gRefkqDh0WTmoKGnJfoEhT8ynbBs5UBdEN4tvwTd8Kv6Qke+dkB4bO3FsdhAMDn5fe4Ux6lJ7gHIFEyEtt8XHA3CPzPXmqCF7sA5vJeON3qrvBzhwXVT02A3Yu0BMtsn8P9yeZK0dhsv9XDwzhxQflekkwrYhMcwjvLMiXpXs5GkGTPow0FSfplZijY3Exw1sxQ0BpJ0ndjwwga3yVpZGUjuOAVANysFLwBgFfLP1MVHLwHaC3vhbed05WC08WuzqUF8H6QliBvol4pmOVE7eyz2RYOTlyyhemw3QLnW/vpCX5hJ911Zmo7/C9f0hPE6dYVG45SuEhIg1NaOuhX6aZbg0DCagf3eCFqgSDjlXmQniAeJXT+gtPR2Iy1GjgB5zbBMbKN4PGgzHB9HMgAcQhPxjw1AinHPFEHcHZ4fM1elDx0THLbSefQVbzE3kflhOo9ronQnXT6Q3fc8HRmWJCq35xvqM4XlUT/90TWPtIrfZCqX4tnqOJtOz3osyp9BGYWctP+WcjvrB/6MdEBTLj8xs4sblhMdvfklVx5Z2YgWFoUO5RLnG5N3MCManV3RrbqtZF73sQ/B9OLDuCmgngqPY35vutHhOQB8qJCrUmYRQnLJBOg5McxsnLklYAH6wt+OHfOY0vaJCh4XXUTlRnnsWtDIZVpUkQnpkrcBY/OnfMP6wvC853nsd+TcYLzwfliyNZNuvanmfXFwJ57+WDMCFnnjpvSUBGSb2+f6HWvbrdIE7fsOpWEqU+3tz2E1KwfNXGnvmjcSbG4hjn4AbQeOSaywktuHvPwW0wjDNUmNMNH5fCDsmzohzYk3K1yJ58H7hjtYLxScHyQ6ws+DWOFoJH7mzM63efUJlvSrOb4ToqPZhpLp56yfGqiGmZRXt9q2kboYaJh5/vOUZCSaSv1dnuGZu32K8U241degUAgEAgEAoFAIBAIBILfnuIDAP8DGNXhaRliebcAAAAASUVORK5CYII=\""],"sourceRoot":""}