{"version":3,"file":"locations-CopdIlQa.js","sources":["../../../app/frontend/entrypoints/admin/components/locations.jsx"],"sourcesContent":["import React, {useState, useEffect } from \"react\";\nimport LocationTable from \"./location-table\";\nimport { exportLocations, fetchLocations } from '../modules/locations'\nimport { currentTime } from '../lib/datetime'\nimport LocationsSearch from './locations-search';\n\nconst initSearch = {\n name: \"\",\n city: \"\",\n address: \"\",\n state_code: \"\",\n chain_id: null,\n status: '',\n total: 0,\n perPage: 50,\n page: 1,\n init: false,\n sort_column: \"id\",\n sort_direction: \"desc\"\n}\n\nfunction Locations() {\n const [locations, setLocations] = useState([]);\n const [key, setKey] = useState(0);\n const [query, setQuery] = useState(initSearch);\n\n useEffect(() => {\n if(query.init) return;\n search()\n }, [query]);\n\n function search() {\n fetchLocations(query).then((data) => {\n setLocations(data.result);\n setQuery({\n ...query,\n total: data.pagination.total,\n init: true,\n })\n });\n }\n\n function clearSearch() {\n setQuery(initSearch);\n setKey(prevKey => prevKey + 1);\n }\n\n function updateSearch(field, value) {\n setQuery({\n ...query,\n page: 1,\n init: false,\n [field]: value\n });\n }\n\n function updateSort(sort_column, sort_direction) {\n setQuery({\n ...query,\n init: false,\n sort_column,\n sort_direction,\n })\n }\n\n function submitSearch() {\n submit();\n }\n\n function updatePagination(page) {\n setQuery({\n ...query,\n init: false,\n page\n })\n }\n\n function handleExportLocations() {\n exportLocations(query)\n .then((blob) => {\n const url = window.URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.href = url;\n link.download = `locations-${currentTime()}.csv`\n link.click();\n window.revokeObjectURL(url);\n })\n }\n\n return (\n <>\n \n \n \n )\n}\n\n\nexport default Locations;"],"names":["initSearch","Locations","locations","setLocations","useState","key","setKey","query","setQuery","useEffect","search","fetchLocations","data","clearSearch","prevKey","updateSearch","field","value","updateSort","sort_column","sort_direction","submitSearch","updatePagination","page","handleExportLocations","exportLocations","blob","url","link","currentTime","jsxs","Fragment","jsx","LocationsSearch","LocationTable"],"mappings":"uuBAMA,MAAMA,EAAa,CACjB,KAAM,GACN,KAAM,GACN,QAAS,GACT,WAAY,GACZ,SAAU,KACV,OAAQ,GACR,MAAO,EACP,QAAS,GACT,KAAM,EACN,KAAM,GACN,YAAa,KACb,eAAgB,MAClB,EAEA,SAASC,GAAY,CACnB,KAAM,CAACC,EAAWC,CAAY,EAAIC,EAAA,SAAS,CAAE,CAAA,EACvC,CAACC,EAAKC,CAAM,EAAIF,WAAS,CAAC,EAC1B,CAACG,EAAOC,CAAQ,EAAIJ,WAASJ,CAAU,EAE7CS,EAAAA,UAAU,IAAM,CACXF,EAAM,MACFG,GAAA,EACN,CAACH,CAAK,CAAC,EAEV,SAASG,GAAS,CAChBC,EAAeJ,CAAK,EAAE,KAAMK,GAAS,CACnCT,EAAaS,EAAK,MAAM,EACfJ,EAAA,CACP,GAAGD,EACH,MAAOK,EAAK,WAAW,MACvB,KAAM,EAAA,CACP,CAAA,CACF,CACH,CAEA,SAASC,GAAc,CACrBL,EAASR,CAAU,EACZM,EAAAQ,GAAWA,EAAU,CAAC,CAC/B,CAES,SAAAC,EAAaC,EAAOC,EAAO,CACzBT,EAAA,CACP,GAAGD,EACH,KAAM,EACN,KAAM,GACN,CAACS,CAAK,EAAGC,CAAA,CACV,CACH,CAES,SAAAC,EAAWC,EAAaC,EAAgB,CACtCZ,EAAA,CACP,GAAGD,EACH,KAAM,GACN,YAAAY,EACA,eAAAC,CAAA,CACD,CACH,CAEA,SAASC,GAAe,CACf,QACT,CAEA,SAASC,EAAiBC,EAAM,CACrBf,EAAA,CACP,GAAGD,EACH,KAAM,GACN,KAAAgB,CAAA,CACD,CACH,CAEA,SAASC,GAAwB,CAC/BC,EAAgBlB,CAAK,EAClB,KAAMmB,GAAS,CACd,MAAMC,EAAM,OAAO,IAAI,gBAAgBD,CAAI,EACrCE,EAAO,SAAS,cAAc,GAAG,EACvCA,EAAK,KAAOD,EACPC,EAAA,SAAW,aAAaC,EAAa,CAAA,OAC1CD,EAAK,MAAM,EACX,OAAO,gBAAgBD,CAAG,CAAA,CAC3B,CACL,CAEA,OAEIG,EAAA,KAAAC,WAAA,CAAA,SAAA,CAAAC,EAAA,IAACC,EAAA,CACC,MAAA1B,EACA,OAAQc,EACR,aAAAN,EACA,YAAAF,EACA,gBAAiBW,CAAA,EACZnB,CACP,EACA2B,EAAA,IAACE,EAAA,CACC,UAAAhC,EACA,MAAAK,EACA,iBAAAe,EACA,WAAAJ,CAAA,CACF,CACF,CAAA,CAAA,CAEJ"}