{"version":3,"file":"EventScheduleListing.min.js","names":["window","onpopstate","console","log","location","reload","mobileFilters","$","click","e","preventDefault","animate","left","mobileAdjustments","width","length","after","remove","EventScheduleListing","props","_AntiForgeryToken","id","ajax","url","type","dataType","beforeSend","xhr","setRequestHeader","success","data","complete","html","responseText","error","version","state","APIEndPoint","origin","queryParams","URLSearchParams","search","p","pageNo","get","perPage","pr","includes","listsData","totalResults","queryCategory","filterCateValue","filterURLCateCount","split","locations","queryLocations","filterLocationValue","filterURLLocationCount","filterShowing","setFilterShowing","React","useState","currentPage","setCurrentPage","responseData","setResponseData","showLoader","setShowLoader","totalRecordsCount","setTotalRecordsCount","setError","isLoaded","setIsLoaded","categories","setCategories","cateSelectedCount","setCateSelectedCount","filterCategory","setFilterCategory","errorCate","setErrorCate","fromMonth","fromYear","toMonth","queryFromdate","queryTodate","fromDateParts","fromDate","toDateParts","toDate","toYear","selectedDateCount","currentDate","Date","getMonth","padStart","getFullYear","dateSelectedCount","setDateSelectedCount","filterFromMonth","setfilterFromMonth","filterFromYear","setfilterFromYear","filterFromDate","setfilterFromDate","filterToMonth","setfilterToMonth","filterToYear","setfilterToYear","filterToDate","setfilterToDate","errorMsgDate","setErrorMsgDate","dateMonths","key","value","currentDate1","dateYear","dateYears","y","push","filterLocations","setFilterLocations","locationSelectedCount","setLocationSelectedCount","payload","setPayload","secondAPICall","getProductName","pname","name","re1","replace","re2","re3","toLowerCase","date_time_formate","Date_string","date","DD","getDate","M","YYYY","date_time_formatted","useEffect","dtFrmDate","dtToDate","ACate","fetch","method","headers","RequestVerificationToken","val","then","result","json","sort","a","b","title","map","category","b1","Bcategory","ci","pageChangeURL","eventListsDataResponseCode","pageAPI","sizeAPI","catAPI","formDateAPI","toDateAPI","locAPI","apiCallToGeteventLists","arr","arrURL","br1","arrloc","arrURLloc","l","l1","regdate","substring","history","pushState","pathname","params","\"Content-Type\"","body","results","status","href","hasOwnProperty","errors","totalRecords","getTotalResult","getListingData","eventList","createElement","className","pIndex","eventDetailURL","src","eventImage","alt","eventName","categoryTitle","eventStartDate","eventEndDate","handleResetFilterClick","fromMonth1","fromYear1","range","start","end","Array","from","_","idx","usePagination","totalCount","pageSize","siblingCount","paginationRange","useMemo","totalPageCount","Math","ceil","totalPageNumbers","leftSiblingIndex","max","rightSiblingIndex","min","parseInt","shouldShowLeftDots","shouldShowRightDots","firstPageIndex","lastPageIndex","sCount","rCount","leftItemCount","leftRange","endRange","rightItemCount","rightRange","middleRange","middleRangeResponsive","Fragment","style","display","onClick","openFilter","emptyStyle","handleCateSelect","event","target","cateArr","filter","cate","cat","c","checked","onChange","htmlFor","handleMonthFromChange","handleYearFromChange","handleMonthToChange","handleYearToChange","month","m","year","color","handleLocationSelect","loc","toLocaleLowerCase","handleShowingChangeSelect2","handleShowingChange","select2","minimumResultsForSearch","off","on","onPageChange","onNext","onPrevious","lastPage","pointerEvents","pageNumber","page","scrollTo","ReactDOM","render","document","querySelector"],"sources":["EventScheduleListing.js"],"sourcesContent":["'use strict';\r\nwindow.onpopstate = function (e) {\r\n console.log(\"Page reload\");\r\n location.reload(true);\r\n};\r\n\r\nfunction mobileFilters() {\r\n $('.filter-view-toggle').click(function (e) {\r\n e.preventDefault();\r\n $('.product-filters').animate({\r\n left: '0'\r\n });\r\n });\r\n $('.close-filter').click(function (e) {\r\n e.preventDefault();\r\n $('.product-filters').animate({\r\n left: '-100%'\r\n });\r\n });\r\n}\r\nfunction mobileAdjustments() {\r\n if ($(window).width() < 768) {\r\n if ($('.event-listing-block .product-tiles-block .filter-view-toggle').length < 1) {\r\n $('.product-tiles-block .events-filters').after('Filters');\r\n $('.event-listing-block .sidebar-head label').after('');\r\n mobileFilters();\r\n }\r\n } else {\r\n $('.event-listing-block .product-tiles-block .filter-view-toggle').remove();\r\n $('.sidebar-head .close-filter').remove();\r\n }\r\n}\r\n\r\nconst EventScheduleListing = (props) => {\r\n const {\r\n version, state\r\n } = props;\r\n\r\n var APIEndPoint = window.location.origin;\r\n const queryParams = new URLSearchParams(window.location.search);\r\n var p = 1;\r\n var pageNo = queryParams.get('page');\r\n if (pageNo !== '' && pageNo !== null) {\r\n p = pageNo;\r\n }\r\n var perPage = 24;\r\n var pr = queryParams.get('items');\r\n var pageArray = ['24', '48', '96'];\r\n\r\n if (pr !== '' && pr !== null && pr !== undefined && pr !== 0) {\r\n if (pageArray.includes(pr)) {\r\n if (pr == '24' || pr == '48' || pr == '96') {\r\n perPage = pr;\r\n }\r\n }\r\n }\r\n var totalResults = 0;\r\n var listsData;\r\n var queryCategory = queryParams.get('cat');\r\n var filterCateValue = [];\r\n var filterURLCateCount = 0;\r\n if (queryCategory != undefined && queryCategory != 'undefined' && queryCategory != '') {\r\n filterCateValue = queryCategory.split(\",\");\r\n filterURLCateCount = filterCateValue.length;\r\n }\r\n\r\n const locations = [\"ACT\", \"NSW\", \"NT\", \"QLD\", \"SA\", \"TAS\", \"VIC\", \"WA\"];\r\n var queryLocations = queryParams.get('locations');\r\n var filterLocationValue = [];\r\n var filterURLLocationCount = 0;\r\n if (queryLocations != undefined && queryLocations != 'undefined' && queryLocations != '') {\r\n filterLocationValue = queryLocations.split(\",\");\r\n filterURLLocationCount = filterLocationValue.length;\r\n }\r\n const [filterShowing, setFilterShowing] = React.useState(perPage);\r\n const [currentPage, setCurrentPage] = React.useState(p);\r\n const [responseData, setResponseData] = React.useState(null);\r\n const [showLoader, setShowLoader] = React.useState(false);\r\n const [totalRecordsCount, setTotalRecordsCount] = React.useState(0);\r\n const [error, setError] = React.useState(null);\r\n const [isLoaded, setIsLoaded] = React.useState(false);\r\n const [categories, setCategories] = React.useState([]);\r\n const [cateSelectedCount, setCateSelectedCount] = React.useState(filterURLCateCount);\r\n const [filterCategory, setFilterCategory] = React.useState(filterCateValue);\r\n const [errorCate, setErrorCate] = React.useState(false);\r\n var queryFromdate = queryParams.get('from');\r\n var queryTodate = queryParams.get('to');\r\n var fromDateParts = '';\r\n var fromDate = '';\r\n var toDateParts = '';\r\n var toDate = '';\r\n var fromMonth, fromYear, toMonth, toYear = '';\r\n var selectedDateCount = 0;\r\n if (queryFromdate && queryFromdate !== undefined && queryFromdate !== null) {\r\n fromDateParts = queryFromdate.split('-');\r\n fromMonth = fromDateParts[1].length < 2 ? '0' + fromDateParts[1] : fromDateParts[1];\r\n fromYear = fromDateParts[2];\r\n fromDate = fromDateParts[0] + '/' + fromDateParts[1] + '/' + fromDateParts[2];\r\n selectedDateCount = 1;\r\n } else {\r\n var currentDate = new Date();\r\n fromMonth = String(currentDate.getMonth() + 1).padStart(2, '0');\r\n fromYear = currentDate.getFullYear();\r\n fromDate = '01/' + fromMonth + '/' + fromYear;\r\n }\r\n\r\n if (queryTodate && queryTodate !== undefined && queryTodate !== null) {\r\n toDateParts = queryTodate.split('-');\r\n toMonth = toDateParts[1].length < 2 ? '0' + toDateParts[1] : toDateParts[1];\r\n toYear = toDateParts[2];\r\n toDate = toDateParts[0] + '/' + toDateParts[1] + '/' + toDateParts[2];\r\n selectedDateCount = 1;\r\n }\r\n const [dateSelectedCount, setDateSelectedCount] = React.useState(selectedDateCount);\r\n const [filterFromMonth, setfilterFromMonth] = React.useState(fromMonth);\r\n const [filterFromYear, setfilterFromYear] = React.useState(fromYear);\r\n const [filterFromDate, setfilterFromDate] = React.useState(fromDate);\r\n const [filterToMonth, setfilterToMonth] = React.useState(toMonth);\r\n const [filterToYear, setfilterToYear] = React.useState(toYear);\r\n const [filterToDate, setfilterToDate] = React.useState(toDate);\r\n const [errorMsgDate, setErrorMsgDate] = React.useState('');\r\n\r\n const dateMonths = [\r\n { 'key': '', 'value': 'Month' },\r\n { 'key': '01', 'value': \"January\" },\r\n { 'key': '02', 'value': \"February\" },\r\n { 'key': '03', 'value': \"March\" },\r\n { 'key': '04', 'value': \"April\" },\r\n { 'key': '05', 'value': \"May\" },\r\n { 'key': '06', 'value': \"June\" },\r\n { 'key': '07', 'value': \"July\" },\r\n { 'key': '08', 'value': \"August\" },\r\n { 'key': '09', 'value': \"September\" },\r\n { 'key': '10', 'value': \"October\" },\r\n { 'key': '11', 'value': \"November\" },\r\n { 'key': '12', 'value': \"December\" }\r\n ];\r\n\r\n var currentDate1 = new Date();\r\n var dateYear = currentDate1.getFullYear();\r\n const dateYears = [{ 'key': '', 'value': 'Year' }];\r\n for (let y = dateYear; y > 2017; y--) {\r\n dateYears.push({ 'key': y, 'value': y });\r\n }\r\n const [filterLocations, setFilterLocations] = React.useState(filterLocationValue);\r\n const [locationSelectedCount, setLocationSelectedCount] = React.useState(filterURLLocationCount);\r\n\r\n const [payload, setPayload] = React.useState({\r\n \"secondAPICall\": false,\r\n \"currentPage\": p,\r\n \"filterShowing\": perPage,\r\n \"filterCategory\": filterCateValue,\r\n \"filterFromDate\": fromDate,\r\n \"filterToDate\": toDate,\r\n \"filterLocations\": filterLocationValue\r\n });\r\n\r\n //Global functions\r\n function _AntiForgeryToken(id) {\r\n $.ajax({\r\n url: \"/login/RefreshToken\",\r\n type: \"GET\",\r\n dataType: \"json\",\r\n beforeSend: function (xhr) {\r\n xhr.setRequestHeader('Content-Type', 'application/json');\r\n },\r\n success: function (data) {\r\n //console.log(data);\r\n },\r\n complete: function (data) {\r\n //console.log(\"Hello\", data);\r\n $(id).html(data.responseText);\r\n // Set our complete callback, \r\n },\r\n error: function (e) {\r\n //alert(\"error\");\r\n }\r\n });\r\n }\r\n const getProductName = (pname) => {\r\n var name = '';\r\n let re1 = /[^\\w\\d]/ig;\r\n name = pname.replace(re1, '-');\r\n\r\n let re2 = /[ ]/;\r\n name = name.replace(re2, '-');\r\n\r\n let re3 = /-+/g;\r\n name = name.replace(re3, '-');\r\n return name.toLowerCase();\r\n\r\n }\r\n const date_time_formate = (Date_string) => {\r\n const date = new Date(Date_string);\r\n var DD = String(date.getDate()).padStart(2, '0');\r\n var M = String(date.getMonth() + 1).padStart(2, '0');\r\n var YYYY = date.getFullYear();\r\n var date_time_formatted = DD + '/' + M + '/' + YYYY;\r\n return date_time_formatted;\r\n }\r\n React.useEffect(() => {\r\n if (filterFromMonth && filterFromYear) {\r\n setfilterFromDate('01/' + filterFromMonth + '/' + filterFromYear);\r\n setPayload({ ...payload, filterFromDate: '01/' + filterFromMonth + '/' + filterFromYear });\r\n setDateSelectedCount(1);\r\n }\r\n else {\r\n setfilterFromDate('');\r\n setPayload({ ...payload, filterFromDate: '' });\r\n }\r\n if(filterFromMonth!=='' && filterFromYear!==''){\r\n if (filterToMonth && filterToYear) {\r\n var dtFrmDate = new Date(+filterFromMonth + '/01/' + filterFromYear);\r\n var dtToDate = new Date(+filterToMonth + '/01/' + filterToYear);\r\n if (dtToDate < dtFrmDate) {\r\n setfilterToYear('');\r\n setfilterToMonth('');\r\n setErrorMsgDate('Please select a later end date');\r\n } else {\r\n setfilterToDate('01/' + filterToMonth + '/' + filterToYear);\r\n setPayload({ ...payload, filterToDate: '01/' + filterToMonth + '/' + filterToYear });\r\n setErrorMsgDate('');\r\n setDateSelectedCount(1);\r\n }\r\n } else {\r\n setfilterToDate('');\r\n setPayload({ ...payload, filterToDate: '' });\r\n }\r\n }\r\n }, [filterFromMonth, filterFromYear, filterToMonth, filterToYear]);\r\n\r\n\r\n\r\n React.useEffect(() => {\r\n var ACate = [];\r\n fetch(APIEndPoint + '/api/event/geteventcategories', {\r\n method: 'GET',\r\n headers: {\r\n \"RequestVerificationToken\": $(\"#checkloginApi [name='__RequestVerificationToken']\").val()\r\n }\r\n })\r\n .then(result => result.json())\r\n .then(data => {\r\n _AntiForgeryToken(\"#checkloginApi\");\r\n data.sort((a, b) => (a.title > b.title) ? 1 : ((b.title > a.title) ? -1 : 0));\r\n setCategories(data);\r\n\r\n if (filterCategory.length > 0) {\r\n data.length > 0 ?\r\n filterCategory.map((category, b1) => {\r\n data.map((Bcategory, ci) => {\r\n if (getProductName(Bcategory.title) == category) {\r\n ACate.push(Bcategory.title);\r\n }\r\n });\r\n })\r\n : null\r\n if (ACate.length > 0) {\r\n setFilterCategory(ACate);\r\n setPayload({ ...payload, filterCategory: ACate,secondAPICall:true });\r\n } else {\r\n setFilterCategory([]);\r\n //setPayload({ ...payload, filterCategory: [] });\r\n setErrorCate(true);\r\n setShowLoader(false);\r\n }\r\n }else{\r\n setPayload({ ...payload,secondAPICall:true});\r\n }\r\n }, (error) => {\r\n _AntiForgeryToken(\"#checkloginApi\");\r\n //console.log(error);\r\n })\r\n }, []);\r\n\r\n React.useEffect(() => { \r\n setShowLoader(true);\r\n var pageChangeURL = '';\r\n var eventListsDataResponseCode = '';\r\n var pageAPI = '';\r\n var sizeAPI = '';\r\n var catAPI = '[]';\r\n var formDateAPI = '';\r\n var toDateAPI = '';\r\n var locAPI = '[]';\r\n const apiCallToGeteventLists = () => {\r\n setShowLoader(true);\r\n pageChangeURL = '';\r\n if (payload.filterShowing !== '' && payload.filterShowing > 0) {\r\n if (payload.filterShowing != 24) {\r\n pageChangeURL += '&items=' + payload.filterShowing;\r\n }\r\n sizeAPI = payload.filterShowing;\r\n }\r\n if (payload.currentPage !== '') {\r\n if (payload.currentPage != 1) {\r\n pageChangeURL += '&page=' + payload.currentPage;\r\n }\r\n pageAPI = payload.currentPage;\r\n }\r\n if (payload.filterCategory.length > 0 && payload.filterCategory !== '' && payload.filterCategory !== null) {\r\n var arr = '';\r\n var arrURL = '';\r\n payload.filterCategory.map((br1, b1) => {\r\n arr += (b1 > 0 ? ',' : '') + '\"' + br1 + '\"';\r\n arrURL += (b1 > 0 ? ',' : '') + getProductName(br1);\r\n });\r\n catAPI = '[' + arr + ']';\r\n if (arrURL !== '' && arrURL !== undefined && arrURL !== null) {\r\n pageChangeURL += \"&cat=\" + arrURL;\r\n }\r\n arr = '';\r\n arrURL = '';\r\n }\r\n\r\n if (payload.filterLocations.length > 0 && payload.filterLocations !== '' && payload.filterLocations !== null) {\r\n var arrloc = '';\r\n var arrURLloc = '';\r\n payload.filterLocations.map((l, l1) => {\r\n arrloc += (l1 > 0 ? ',' : '') + '\"' + l + '\"';\r\n arrURLloc += (l1 > 0 ? ',' : '') + getProductName(l);\r\n });\r\n locAPI = '[' + arrloc + ']';\r\n if (arrURLloc !== '' && arrURLloc !== undefined && arrURLloc !== null) {\r\n pageChangeURL += \"&locations=\" + arrURLloc;\r\n }\r\n arrloc = '';\r\n arrURLloc = '';\r\n }\r\n\r\n const regdate = /\\//ig;\r\n if (payload.filterFromDate && payload.filterFromDate !== '') {\r\n formDateAPI = '01/' + filterFromMonth + '/' + filterFromYear;\r\n //formDateAPI = payload.filterFromDate;\r\n //pageChangeURL += \"&from=\" + payload.filterFromDate.replace(regdate, '-');\r\n pageChangeURL += \"&from=\" + formDateAPI.replace(regdate, '-');\r\n }\r\n\r\n if (payload.filterToDate && payload.filterToDate !== '') {\r\n toDateAPI = payload.filterToDate;\r\n\r\n pageChangeURL += \"&to=\" + payload.filterToDate.replace(regdate, '-');\r\n }\r\n if (pageChangeURL != '') {\r\n pageChangeURL = \"?\" + pageChangeURL.substring(1);\r\n }\r\n history.pushState({}, null, window.location.origin + window.location.pathname + pageChangeURL);\r\n\r\n var params = '{\"Page\":{\"current\":' + pageAPI + ',\"size\":' + sizeAPI + '},\"Categories\":' + catAPI + ',\"datefrom\":\"' + formDateAPI + '\",\"dateto\":\"' + toDateAPI + '\",\"locations\":' + locAPI + '}';\r\n fetch(APIEndPoint + '/api/event/GetEventList', {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n \"RequestVerificationToken\": $(\"#checkloginApi [name='__RequestVerificationToken']\").val()\r\n },\r\n body: params,\r\n }).then(results => {\r\n eventListsDataResponseCode = results.status;\r\n if (eventListsDataResponseCode == 204) {\r\n window.location.href = window.location.origin + '/404';\r\n }\r\n return results.json();\r\n }).then((data) => {\r\n _AntiForgeryToken(\"#checkloginApi\");\r\n if (data) {\r\n setIsLoaded(true);\r\n if (data.hasOwnProperty('errors')) {\r\n setError(data.errors);\r\n setShowLoader(false);\r\n }\r\n else {\r\n setResponseData(data);\r\n if (data.hasOwnProperty('totalRecords')) {\r\n setTotalRecordsCount(data.totalRecords);\r\n }\r\n setShowLoader(false);\r\n }\r\n } else {\r\n console.log(\"Some thing went Wrong...\");\r\n setShowLoader(false);\r\n }\r\n },\r\n (error) => {\r\n _AntiForgeryToken(\"#checkloginApi\");\r\n console.log(\"error================\", error);\r\n setIsLoaded(true);\r\n setError(error);\r\n setShowLoader(false);\r\n })\r\n }\r\n\r\n if(errorCate===false && payload.secondAPICall == true){\r\n apiCallToGeteventLists(payload); \r\n }\r\n }, [errorCate,payload]);\r\n\r\n\r\n const getTotalResult = () => {\r\n if (responseData !== null) {\r\n if (responseData.hasOwnProperty('totalRecords')) {\r\n totalResults = responseData.totalRecords;\r\n }\r\n }\r\n return totalResults;\r\n }\r\n const getListingData = () => {\r\n mobileAdjustments();\r\n if (responseData !== null) {\r\n listsData = responseData.eventList;\r\n\r\n if (listsData !== null && listsData.length > 0) {\r\n return (\r\n