{"version":3,"sources":["components/AddressSearch.js","components/ServiceBox.js","components/PickupList.js","components/MapView.js","services/Titles.js","services/GISService.js","App.js","theme.js","index.js"],"names":["GEOCODER","AddressSearch","onAddressFound","fetchingData","onSearchTextCleared","useState","selectedAddress","setSelectedAddress","searchTextInput","setSearchTextInput","options","setOptions","loading","setLoading","useEffect","length","fetch","then","response","console","log","json","data","suggestions","catch","err","text","encodeURI","candidates","Autocomplete","sx","margin","fullWidth","autoComplete","freeSolo","filterOptions","x","getOptionLabel","option","onChange","event","newValue","onInputChange","newInputValue","renderInput","params","TextField","placeholder","variant","InputProps","startAdornment","InputAdornment","position","CircularProgress","ServiceBox","props","IconComponent","icon","Paper","backgroundColor","width","padding","Grid","container","direction","justifyContent","alignItems","fontSize","color","Typography","fontWeight","label","link","Button","href","target","buttonLabel","RecyclingIcon","createSvgIcon","d","PickupList","addressData","garbageDay","yardDay","recyclingDay","brushDay","councilDistrict","superDistrict","fireDistrict","AddressIcon","address","GarbageIcon","attributes","PickUpDay","YardIcon","Link","BrushIcon","ROUTE","CouncilIcon","District","SuperIcon","FireIcon","DIST_ID","mapDivStyle","height","INITIAL_EXTENT","Extent","xmin","ymax","xmax","ymin","spatialReference","wkid","latestWkid","MyMapView","location","graphics","mapDiv","useRef","mapView","current","webMap","WebMap","portalItem","id","MapView","map","extent","on","stopPropagation","popup","open","features","mapPoint","y","goTo","center","zoom","title","latitude","longitude","removeAll","addMany","style","ref","Titles","GARBAGE","YARD","RECYCLING","BRUSH","COUNCIL","SUPER","FIRE","getAreaGraphic","url","Promise","resolve","reject","queryFeatures","geometry","geometryType","inSR","outSR","spatialRel","outFields","returnGeometry","f","graphic","feature","polygon","Polygon","type","rings","fieldInfos","push","fieldName","Graphic","symbol","outline","popupTemplate","content","buildGraphic","getGarbageDays","a","getYardDays","getRecyclingDays","getBrushDays","getCouncilDistrict","getSuperDistrict","getFireDistrict","App","setFetchingData","setData","setGraphics","setGarbageDay","setYardDay","setRecyclingDay","setBrushDay","setCouncilDistrict","setSuperDistrict","setFireDistrict","mapExpanded","setMapExpanded","handleAddressFound","graphicsData","garbageData","yardData","recyclingData","brushData","councilDistrictData","superDistrictData","fireDistrictData","Box","display","flexDirection","Accordion","square","expanded","AccordionSummary","expandIcon","AccordionDetails","theme","createTheme","palette","primary","main","secondary","error","red","A400","white","contrastText","ReactDOM","render","StrictMode","ThemeProvider","CssBaseline","document","getElementById"],"mappings":"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","file":"static/js/main.ae58438b.chunk.js","sourcesContent":["import { useState, useEffect } from 'react';\r\nimport {\r\n Autocomplete,\r\n TextField,\r\n InputAdornment,\r\n CircularProgress,\r\n} from '@mui/material';\r\nimport SearchIcon from '@mui/icons-material/Search';\r\n\r\nconst GEOCODER =\r\n 'https://maps.victoriatx.org/arcgis/rest/services/CompositeLocator/GeocodeServer';\r\n// const SEARCH_EXTENT = {\r\n// xmin: -97.0928,\r\n// ymin: 28.9452,\r\n// xmax: -96.8374,\r\n// ymax: 28.7085,\r\n// spatialReference: { wkid: 4326, latestWkid: 4326 },\r\n// };\r\n\r\nexport default function AddressSearch({\r\n onAddressFound,\r\n fetchingData,\r\n onSearchTextCleared,\r\n}) {\r\n const [selectedAddress, setSelectedAddress] = useState('');\r\n const [searchTextInput, setSearchTextInput] = useState('');\r\n const [options, setOptions] = useState([]);\r\n const [loading, setLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n const getAddressOptions = () => {\r\n if (searchTextInput && searchTextInput.length > 3) {\r\n setLoading(true);\r\n fetch(`${GEOCODER}/suggest?text=${searchTextInput}&f=pjson`)\r\n .then((response) => {\r\n console.log('response:');\r\n console.log(response);\r\n return response.json();\r\n })\r\n .then((data) => {\r\n console.log('data:');\r\n console.log(data);\r\n setOptions(data.suggestions);\r\n setLoading(false);\r\n })\r\n .catch((err) => {\r\n console.log('error:');\r\n console.log(err);\r\n setOptions([{ text: 'Error looking up address' }]);\r\n setLoading(false);\r\n });\r\n }\r\n };\r\n getAddressOptions();\r\n }, [searchTextInput]);\r\n\r\n useEffect(() => {\r\n console.log('selectedAddress:');\r\n console.log(selectedAddress);\r\n if (selectedAddress) {\r\n // &magicKey=${selectedAddress.magicKey}\r\n fetch(\r\n `${GEOCODER}/findAddressCandidates?SingleLine=${encodeURI(\r\n selectedAddress.text\r\n )}&outSR=4326&f=json`\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log('selectedAddress data:');\r\n console.log(data);\r\n\r\n onAddressFound(data?.candidates?.[0]);\r\n })\r\n .catch((err) => {\r\n console.log('geocoding error:', err);\r\n });\r\n }\r\n }, [selectedAddress]);\r\n\r\n useEffect(() => {\r\n if (searchTextInput.length === 0) {\r\n onSearchTextCleared();\r\n }\r\n }, [searchTextInput]);\r\n\r\n return (\r\n <>\r\n x}\r\n getOptionLabel={(option) => (option.text ? option.text : '')}\r\n // getOptionSelect={(option, value) => option.name === value.name}\r\n onChange={(event, newValue) => setSelectedAddress(newValue)}\r\n onInputChange={(event, newInputValue) =>\r\n setSearchTextInput(newInputValue)\r\n }\r\n renderInput={(params) => (\r\n \r\n {fetchingData ? : }\r\n \r\n ),\r\n }}\r\n />\r\n )}\r\n />\r\n \r\n );\r\n}\r\n","import { Grid, Paper, Typography, Button } from '@mui/material';\r\n\r\nexport default function ServiceBox(props) {\r\n const IconComponent = props.icon;\r\n return (\r\n \r\n \r\n \r\n \r\n {props.label}\r\n \r\n {props.data}\r\n {props.link && (\r\n \r\n {props.buttonLabel ? props.buttonLabel : 'More Info'}\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import { createSvgIcon, Grid } from '@mui/material';\r\nimport ServiceBox from './ServiceBox';\r\nimport AddressIcon from '@mui/icons-material/Home';\r\nimport GarbageIcon from '@mui/icons-material/Delete';\r\nimport YardIcon from '@mui/icons-material/Grass';\r\nimport BrushIcon from '@mui/icons-material/Park';\r\nimport CouncilIcon from '@mui/icons-material/AccountBox';\r\nimport SuperIcon from '@mui/icons-material/AccountBalance';\r\nimport FireIcon from '@mui/icons-material/LocalFireDepartment';\r\n\r\nconst RecyclingIcon = createSvgIcon(\r\n \r\n);\r\n\r\nexport default function PickupList({\r\n addressData,\r\n garbageDay,\r\n yardDay,\r\n recyclingDay,\r\n brushDay,\r\n councilDistrict,\r\n superDistrict,\r\n fireDistrict,\r\n}) {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n }\r\n label='Recycling'\r\n data={recyclingDay?.attributes?.PickUpDay}\r\n link={recyclingDay?.attributes?.Link}\r\n buttonLabel='Calendar'\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useRef, useEffect } from 'react';\r\nimport WebMap from '@arcgis/core/WebMap';\r\nimport MapView from '@arcgis/core/views/MapView';\r\nimport Extent from '@arcgis/core/geometry/Extent';\r\n\r\nconst mapDivStyle = {\r\n width: '100%',\r\n height: 600,\r\n};\r\n\r\nconst INITIAL_EXTENT = new Extent({\r\n xmin: -97.0768,\r\n ymax: 28.9065,\r\n xmax: -96.8847,\r\n ymin: 28.7521,\r\n spatialReference: { wkid: 4326, latestWkid: 4326 },\r\n});\r\n\r\nexport default function MyMapView({ location, graphics }) {\r\n const mapDiv = useRef(null);\r\n\r\n useEffect(() => {\r\n let mapView;\r\n\r\n if (mapDiv.current) {\r\n const webMap = new WebMap({\r\n portalItem: {\r\n id: '4a66f3f05a3542058dcb76d8ddd2ce67',\r\n },\r\n });\r\n mapView = new MapView({\r\n map: webMap,\r\n container: mapDiv.current,\r\n extent: INITIAL_EXTENT,\r\n });\r\n mapView.on('click', (event) => {\r\n event.stopPropagation();\r\n mapView.popup.open({\r\n features: graphics,\r\n location: event.mapPoint,\r\n });\r\n });\r\n }\r\n\r\n console.log('location:', location);\r\n if (location?.location?.x) {\r\n console.log('zooming to location');\r\n const x = location.location.x;\r\n const y = location.location.y;\r\n mapView\r\n .goTo({\r\n center: [x, y],\r\n zoom: 12,\r\n })\r\n .then(() => {\r\n mapView.popup.open({\r\n title: location.address,\r\n location: {\r\n latitude: y,\r\n longitude: x,\r\n },\r\n });\r\n });\r\n }\r\n\r\n mapView.graphics.removeAll();\r\n if (graphics.length > 0) {\r\n mapView.graphics.addMany(graphics);\r\n }\r\n }, [location, graphics]);\r\n\r\n return
;\r\n}\r\n","// export const GARBAGE = 'Garbage';\r\n// export const YARD = 'Yard';\r\n// export const RECYCLING = 'Recycling';\r\n// export const BRUSH = 'Brush';\r\n// export const COUNCIL = 'Council District';\r\n// export const SUPER = 'Super District';\r\n// export const FIRE = 'Fire District';\r\n\r\nconst Titles = {\r\n GARBAGE: 'Garbage',\r\n YARD: 'Yard',\r\n RECYCLING: 'Recycling',\r\n BRUSH: 'Brush',\r\n COUNCIL: 'Council District',\r\n SUPER: 'Super District',\r\n FIRE: 'Fire District',\r\n};\r\n\r\nexport default Titles;\r\n","import { queryFeatures } from '@esri/arcgis-rest-feature-layer';\r\nimport Polygon from '@arcgis/core/geometry/Polygon';\r\nimport Graphic from '@arcgis/core/Graphic';\r\nimport Titles from './Titles';\r\n\r\nconst GARBAGE_SERVICE =\r\n 'https://maps.victoriatx.org/arcgis/rest/services/SOLID_WASTE/MapServer/0';\r\nconst YARD_SERVICE =\r\n 'https://maps.victoriatx.org/arcgis/rest/services/SOLID_WASTE/MapServer/1';\r\nconst RECYCLING_SERVICE =\r\n 'https://maps.victoriatx.org/arcgis/rest/services/SOLID_WASTE/MapServer/2';\r\nconst BRUSH_SERVICE =\r\n 'https://maps.victoriatx.org/arcgis/rest/services/SOLID_WASTE/MapServer/3';\r\nconst COUNCIL_DISTRICT_SERVICE =\r\n 'https://maps.victoriatx.org/arcgis/rest/services/Political_Boundaries/MapServer/1';\r\nconst SUPER_DISTRICT_SERVICE =\r\n 'https://maps.victoriatx.org/arcgis/rest/services/Political_Boundaries/MapServer/2';\r\nconst FIRE_DISTRICT_SERVICE =\r\n 'https://maps.victoriatx.org/arcgis/rest/services/Public_Safety/MapServer/3';\r\n\r\nfunction buildGraphic(feature, title) {\r\n const polygon = new Polygon({\r\n type: 'polygon',\r\n rings: feature.geometry.rings,\r\n });\r\n const fillSymbol = {\r\n type: 'simple-fill',\r\n // color,\r\n outline: {\r\n color: [255, 255, 255],\r\n width: 1,\r\n },\r\n };\r\n\r\n const fieldInfos = [];\r\n switch (title) {\r\n case Titles.GARBAGE:\r\n case Titles.YARD:\r\n case Titles.RECYCLING:\r\n fieldInfos.push({\r\n fieldName: 'PickUpDay',\r\n label: 'Day',\r\n });\r\n break;\r\n case Titles.BRUSH:\r\n fieldInfos.push({\r\n fieldName: 'ROUTE',\r\n label: 'Route',\r\n });\r\n break;\r\n case Titles.COUNCIL:\r\n case Titles.SUPER:\r\n fieldInfos.push({\r\n fieldName: 'District',\r\n label: 'District',\r\n });\r\n break;\r\n case Titles.FIRE:\r\n fieldInfos.push({\r\n fieldName: 'DIST_ID',\r\n label: 'District',\r\n });\r\n break;\r\n default:\r\n }\r\n const graphic = new Graphic({\r\n geometry: polygon,\r\n symbol: fillSymbol,\r\n attributes: feature.attributes,\r\n popupTemplate: {\r\n title,\r\n content: [\r\n {\r\n type: 'fields',\r\n fieldInfos,\r\n },\r\n ],\r\n },\r\n });\r\n\r\n return graphic;\r\n}\r\n\r\nfunction getAreaGraphic(url, title, x, y) {\r\n return new Promise((resolve, reject) => {\r\n queryFeatures({\r\n url,\r\n geometry: `${x},${y}`,\r\n geometryType: 'esriGeometryPoint',\r\n inSR: 4326,\r\n outSR: 4326,\r\n spatialRel: 'esriSpatialRelWithin',\r\n outFields: '*',\r\n returnGeometry: true,\r\n f: 'json',\r\n }).then((response) => {\r\n console.log('getAreaGraphic response:');\r\n console.log(response);\r\n if (response.features && response.features.length > 0) {\r\n const graphic = buildGraphic(response.features[0], title);\r\n resolve(graphic);\r\n } else {\r\n resolve(null);\r\n }\r\n });\r\n });\r\n}\r\n\r\nexport function getGarbageDays(x, y) {\r\n return new Promise(async (resolve, reject) => {\r\n const url = GARBAGE_SERVICE;\r\n const graphic = await getAreaGraphic(url, Titles.GARBAGE, x, y);\r\n console.log('garbage graphic:');\r\n console.log(graphic);\r\n // const day = graphic.features?.[0].attributes.PickUpDay;\r\n // console.log(`garbage day: ${day}`);\r\n // resolve(day);\r\n resolve(graphic);\r\n });\r\n}\r\n\r\nexport function getYardDays(x, y) {\r\n return new Promise(async (resolve, reject) => {\r\n const url = YARD_SERVICE;\r\n const graphic = await getAreaGraphic(url, Titles.YARD, x, y);\r\n console.log('yard graphic:');\r\n console.log(graphic);\r\n // const day = graphic.features?.[0].attributes.PickUpDay;\r\n // console.log(`yard day: ${day}`);\r\n // resolve(day);\r\n resolve(graphic);\r\n });\r\n}\r\n\r\nexport function getRecyclingDays(x, y) {\r\n return new Promise(async (resolve, reject) => {\r\n const url = RECYCLING_SERVICE;\r\n const graphic = await getAreaGraphic(url, Titles.RECYCLING, x, y);\r\n console.log('recycling graphic:');\r\n console.log(graphic);\r\n // const day = graphic.features?.[0].attributes.PickUpDay;\r\n // console.log(`recycling day: ${day}`);\r\n // resolve(day);\r\n resolve(graphic);\r\n });\r\n}\r\n\r\nexport function getBrushDays(x, y) {\r\n return new Promise(async (resolve, reject) => {\r\n const url = BRUSH_SERVICE;\r\n const graphic = await getAreaGraphic(url, Titles.BRUSH, x, y);\r\n console.log('brush graphic:');\r\n console.log(graphic);\r\n // const day = graphic.features?.[0].attributes.ROUTE;\r\n // console.log(`brush day: ${day}`);\r\n // resolve(day);\r\n resolve(graphic);\r\n });\r\n}\r\n\r\nexport function getCouncilDistrict(x, y) {\r\n return new Promise(async (resolve, reject) => {\r\n const url = COUNCIL_DISTRICT_SERVICE;\r\n const graphic = await getAreaGraphic(url, Titles.COUNCIL, x, y);\r\n console.log('council district graphic:');\r\n console.log(graphic);\r\n // const day = graphic.features?.[0].attributes.District;\r\n // console.log(`council district: ${day}`);\r\n // resolve(day);\r\n resolve(graphic);\r\n });\r\n}\r\n\r\nexport function getSuperDistrict(x, y) {\r\n return new Promise(async (resolve, reject) => {\r\n const url = SUPER_DISTRICT_SERVICE;\r\n const graphic = await getAreaGraphic(url, Titles.SUPER, x, y);\r\n console.log('super district graphic:');\r\n console.log(graphic);\r\n // const day = graphic.features?.[0].attributes.District;\r\n // console.log(`super district: ${day}`);\r\n // resolve(day);\r\n resolve(graphic);\r\n });\r\n}\r\n\r\nexport function getFireDistrict(x, y) {\r\n return new Promise(async (resolve, reject) => {\r\n const url = FIRE_DISTRICT_SERVICE;\r\n const graphic = await getAreaGraphic(url, Titles.FIRE, x, y);\r\n console.log('fire district graphic:');\r\n console.log(graphic);\r\n // const day = graphic.features?.[0].attributes.DIST_ID;\r\n // console.log(`fire district: ${day}`);\r\n // resolve(day);\r\n resolve(graphic);\r\n });\r\n}\r\n","import React, { useState } from 'react';\nimport {\n Typography,\n Box,\n Accordion,\n AccordionSummary,\n AccordionDetails,\n} from '@mui/material';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport AddressSearch from 'components/AddressSearch';\nimport PickupList from 'components/PickupList';\nimport MapView from 'components/MapView';\nimport {\n getGarbageDays,\n getYardDays,\n getRecyclingDays,\n getBrushDays,\n getCouncilDistrict,\n getSuperDistrict,\n getFireDistrict,\n} from 'services/GISService';\n\nfunction App() {\n const [fetchingData, setFetchingData] = useState(false);\n const [data, setData] = useState(null);\n const [graphics, setGraphics] = useState([]);\n const [garbageDay, setGarbageDay] = useState('');\n const [yardDay, setYardDay] = useState('');\n const [recyclingDay, setRecyclingDay] = useState('');\n const [brushDay, setBrushDay] = useState('');\n const [councilDistrict, setCouncilDistrict] = useState('');\n const [superDistrict, setSuperDistrict] = useState('');\n const [fireDistrict, setFireDistrict] = useState('');\n const [mapExpanded, setMapExpanded] = useState(false);\n\n const handleAddressFound = async (addressData) => {\n console.log('addressData:', addressData);\n setData(addressData);\n setFetchingData(true);\n if (addressData) {\n let graphicsData = [];\n const x = addressData.location.x;\n const y = addressData.location.y;\n\n const garbageData = await getGarbageDays(x, y);\n console.log('garbageData:');\n console.log(garbageData);\n console.log(`garbage day: ${garbageData.attributes.PickUpDay}`);\n setGarbageDay(garbageData);\n // graphicsData.push(garbageData);\n\n const yardData = await getYardDays(x, y);\n console.log(`yard day: ${yardData.attributes.PickUpDay}`);\n setYardDay(yardData);\n // graphicsData.push(yardData);\n\n const recyclingData = await getRecyclingDays(x, y);\n console.log(`recycling day: ${recyclingData.attributes.PickUpDay}`);\n setRecyclingDay(recyclingData);\n // graphicsData.push(recyclingData);\n\n const brushData = await getBrushDays(x, y);\n console.log(`brush day: ${brushData.attributes.ROUTE}`);\n setBrushDay(brushData);\n // graphicsData.push(brushData);\n\n const councilDistrictData = await getCouncilDistrict(x, y);\n console.log(\n `council district: ${councilDistrictData.attributes.District}`\n );\n setCouncilDistrict(councilDistrictData);\n graphicsData.push(councilDistrictData);\n\n const superDistrictData = await getSuperDistrict(x, y);\n console.log(`super district: ${superDistrictData.attributes.District}`);\n setSuperDistrict(superDistrictData);\n // graphicsData.push(superDistrictData);\n\n const fireDistrictData = await getFireDistrict(x, y);\n console.log(`fire district: ${fireDistrictData.attributes.DIST_ID}`);\n setFireDistrict(fireDistrictData);\n // graphicsData.push(fireDistrictData);\n\n setGraphics(graphicsData);\n }\n setFetchingData(false);\n };\n\n const handleSearchTextCleared = () => {};\n\n return (\n // \n \n \n \n
\n Please enter an address above\n
\n \n {data && (\n \n \n \n )}\n\n setMapExpanded(!mapExpanded)}\n >\n }\n sx={{ backgroundColor: '#00529b', color: '#FFFFFF' }}\n >\n Map\n \n \n \n \n \n {/*
*/}\n \n );\n}\n\nexport default App;\n","import { red } from '@mui/material/colors';\r\nimport { createTheme } from '@mui/material/styles';\r\n\r\n// A custom theme for this app\r\nconst theme = createTheme({\r\n palette: {\r\n primary: {\r\n main: '#556cd6',\r\n },\r\n secondary: {\r\n main: '#19857b',\r\n },\r\n error: {\r\n main: red.A400,\r\n },\r\n white: {\r\n main: '#FFFFFF',\r\n contrastText: '#00529b',\r\n },\r\n },\r\n});\r\n\r\nexport default theme;\r\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport CssBaseline from '@mui/material/CssBaseline';\nimport { ThemeProvider } from '@mui/material/styles';\nimport App from './App';\nimport theme from './theme';\n\nReactDOM.render(\n \n \n \n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\n// reportWebVitals();\n"],"sourceRoot":""}