Giter VIP home page Giter VIP logo

mapboard's Introduction

Mapboard is a framework for building data-rich mapping applications for the City of Philadelphia. It can be used as a template for creating any application which presents information about an address. It can have either of the following two elements alone, or both side-by-side: the map panel and topic panel.

Atlas RealEstate

Mapboard uses functions of the library phila-vue-datafetch (@phila/vue-datafetch in npmjs.com), allowing it to return data based on any address.

A Map Panel uses phila-vue-mapping (@phila/vue-mapping in npmjs.com), a library of Vue components for mapping such as Maps, ESRI WebMaps, and Cyclomedia Widgets, etc.

Data returned is presented in the Topic Panel of the application using components of the library phila-vue-comps (@phila/vue-comps in npmjs.com), such as Vertical Tables or Horizontal Tables, etc.

Usage

Check out the wiki for usage documentation.

Publishing

To publish a new version of Mapboard to NPM:

  1. Commit your changes to master.
  2. Bump the NPM version with npm version major|minor|patch.
  3. Push with tags: git push && git push --tags.
  4. Update wiki docs to reflect new version and/or dependency changes.

Travis will now run a build and publish to NPM.

Release Notes

4.4.27 - 1/30/2024

  • fixes bug with regmaps not showing

4.4.26 - 1/25/2024

  • uses @phila/vue-comps 3.0.12 - fixes cells of horizontal tables

4.4.25 - 1/25/2024

  • uses @phila/vue-comps 3.0.11 - adds translation ability to many components
  • uses @phila/vue-mapping 3.1.22 - fixes long standing bug with mixed up imagery and cyclomedia buttons
  • general bug fixing for creation of voter hub

4.4.24 - 12/8/2023

  • uses @phila/vue-comps 3.0.10 which fixes bug with horizontal tables

4.4.23 - 12/8/2023

  • fixes bug with previous release where packages were npm linked

4.4.22 - 12/7/2023

  • incorporates all changes for adding new data to the nearby topic of atlas

4.4.21 - 11/10/2023

  • fixes issue that causes non-effecting error in console from MapPanel.vue when searching an address with the L&I topic open

4.4.20 - 11/10/2023

  • fixes bug in store.js

4.4.19 - 11/10/2023

  • uses @phila/vue-mapping 3.1.20
  • uses @phila/vue-comps 3.0.8
  • uses @phila/vue-datafetch 2.2.15
  • all changes for adding building certs to atlas

4.4.18 - 7/26/2023

  • requests esri token on load
  • uses @phila/vue-datafetch 2.2.14 which allows adding esri token

4.4.17 - 4/20/2023

  • fixes bug with zoomToShape if the markerForTopic is missing

4.4.16 - 4/19/2023

  • uses @phila/vue-comps 3.0.7 which fixes hard-coded bug with BadgeSet.vue

4.4.15 - 3/23/2023

  • uses @phila/vue-datafetch that replaces geometry server

4.4.14 - 3/21/2023

  • uses @phila/vue-mapping that uses maplibre 2.4.0 and turf 6.5.0

4.4.13 - 3/15/2023

  • uses @phila/vue-mapping that fixes cyclomedia and pictometry popouts

4.4.12 - 3/15/2023

  • changes for using cyclomedia 23.2

4.4.11 - 2/8/2023

  • uses updated @phila/... packages
  • ran package updates

4.4.10 - 1/3/2023

  • adds 2022 imagery and fixes bug with labels on imagery when it is switched

4.4.9 - 9/9/2022

  • uses updated @phila/... packages
  • ran package updates

4.4.8 - 8/3/2022

  • uses pvc 3.0.4 with fix for translating subtitles of vertical tables

4.4.7 - 7/22/2022

  • uses pvc 3.0.3, adds subtitle to vertical table

4.4.6 - 3/18/2022

  • uses pvm 3.1.8 and pvc 3.0.2 which roll back to fontawesome 5.15.4 so that they are not ahead of @phila/phila-ui

4.4.5 - 3/10/2022

  • uses pvm 3.1.7, pvc 3.0.1, and fontawesome 6.0.0
  • uses fontawesome-svg-core 1.2.36, because 1.3.0 causes errors

4.4.4 - 3/2/2022

  • uses pvd 2.2.7 which allows esri-client.js fetchBySpatialQuery to take a where clause

4.4.3 - 1/31/2022

  • uses pvd 2.2.6 which fixes bug with using geocode of otherParcel if there is no geocode

4.4.2 - 1/31/2022

  • uses pvd 2.2.5 which fixes bug with missing variable in console log

4.4.1 - 11/15/2021

  • uses pvd 2.2.3 and pvm 3.1.0

4.4.0 - 11/15/2021

  • deyarns

4.3.10 - 10/15/2021

  • fixes typo

4.3.9 - 10/14/2021

  • allows bypassing of errors for mapmarkers with missing data

4.3.8 - 11/12/2020

  • uses pvc 2.1.22 which is removes code specific to real estate tax
  • fixes on load css issue in real estate tax

4.3.7 - 10/29/2020

  • uses pvd that fixes bugs related to routing

4.3.6 - 10/29/2020

  • fixes bugs related to routing

4.3.5 - 10/29/2020

  • fixes bug in real estate tax routing

4.3.4 - 10/29/2020

  • fixes bug in real estate tax routing

4.3.3 - 10/28/2020

  • fixes bug in real estate tax routing

4.3.2 - 10/28/2020

  • uses new pvc and pvd for update to real estate tax

4.3.1 - 10/27/2020

  • uses github actions to push to npmjs

4.3.0 - 10/22/2020

  • uses vue-router and i18n

4.2.6 - 10/13/2020

  • fixes geojsonForTopic issue for voting topic of atlas

4.2.5 - 10/7/2020

  • uses upgraded vue libraries:
    • @phila/vue-mapping 2.2.9
    • @phila/vue-comps 2.1.15
    • @phila/vue-datafetch 1.4.3

4.2.4 - 10/5/2020

  • uses pvm 2.2.8 fixing bug with cyclomedia and pictometry popout

4.2.3 - 9/15/2020

  • fixes issue in real estate tax by allowing the app to use input in tips if geocode fails

4.2.2 - 9/15/2020

  • fixes issue with map loading for the first time

4.2.1 - 9/4/2020

  • uses updated pvc and pvm for WAVE

4.2.0 - 8/29/2020

  • uses releases of pvd and pvm that remove imports of leaflet and esri-leaflet

4.1.10 - 8/11/2020

  • adds the parcel overlay for imagery to the mapbox map

4.1.9 - 8/4/2020

  • fixes small bug with cyclomedia circles when mapbox map is used

4.1.8 - 8/3/2020

  • uses pvc with small fix to optional buttons in HorizontalTable.vue

4.1.7 - 7/31/2020

  • converts measure tool area to square feet from square meters

4.1.6 - 7/30/2020

  • allows moving legend to right side of map

4.1.5 - 7/30/2020

  • uses @phila/vue-mapping that uses a version of mapbox-gl-draw that does not prevent clicks in mobile
  • switches positions of the draw widget and the zoom and geolocate widgets, so that on mobile they do not overlap buttons if cyclomedia or pictometry is turned on

4.1.4 - 7/29/2020

  • uses @phila/vue-mapping with small fix to year dropdown in mapbox

4.1.3 - 7/29/2020

  • fixes to all libraries for final bugs in adding mapbox to mapboard

4.1.2 - 7/20/2020

  • uses pvm 2.1.12 - includes updates for using mapbox in mapboard
  • uses pvd 1.3.0 (updates unrelated to mapboard)

4.1.1 - 5/27/2020

  • upgrades all packages

4.1.0 - 5/6/2020

  • uses minor releases of libraries:
    • @phila/vue-comps 2.1.1
    • @phila/vue-mapping 2.1.1
    • @phila/vue-datafetch 1.2.0

4.0.8 - 3/2/2020

4.0.7 - 2/6/2020

  • fixes bug with pictometry popout button

4.0.6 - 1/31/2020

  • fixes map size on phone

4.0.5 - 1/31/2020

  • pushes to @phila/mapboard instead of @philly/mapboard

4.0.4 - 1/30/2020

4.0.3 - 1/17/2020

  • uses pvd 1.0.3 which fixes bug with handleMapClick in Atlas

4.0.2 - 1/14/2020

4.0.1 - 12/30/2019

4.0.0 - 12/17/2019

  • Uses new major releases:
    • Uses @philly/vue-comps 2.0.0
    • Uses @philly/vue-mapping 2.0.0
    • Uses @philly/vue-datafetch 1.0.0

3.0.50 - 12/9/2019

  • uses pvc that fixes generation of xml for epay

3.0.49 - 11/12/2019

  • uses new release of pvd which finishes passing the state to callback function in http-get

3.0.48 - 11/12/2019

  • uses new release of pvd which passes the state to callback function in http-get

3.0.47 - 11/8/2019

  • adds back in polyline

3.0.46 - 10/22/2019

  • uses pvc 1.0.46 which has more bugfixes for new date-fns

3.0.45 - 10/22/2019

  • fixes bug with update to date-fns 2.6.0:
    • date transforms must have the following format:

      import { format, parseISO } from 'date-fns'; ...

      ... date: { transform: function (value) { return format(parseISO(value), 'MM/dd/yyyy'); }, },

3.0.44 - 10/22/2019

  • incorporates all pull requests created by dependabot

3.0.43 - 10/7/2019

  • Uses new releases of @philly libraries which ran upgrades
    • Uses @philly/vue-comps 1.0.40
    • Uses @philly/vue-mapping 1.0.41
  • Uses new restructured pvd (which also ran upgrades)
    • Uses @philly/vue-datafetch 0.0.26

3.0.42 - 9/24/2019

  • Fixes icon issue with Cyclomedia 19.12

3.0.41 - 9/23/2019

  • Uses Cyclomedia 19.12

3.0.40 - 9/20/2019

  • Fixes for dor parcels that are listed with "pipes" in AIS, and for adding polylines in pvm

3.0.39 - 9/6/2019

  • Uses new releases of @philly libraries which ran upgrades
    • Uses @philly/vue-comps 1.0.37
    • Uses @philly/vue-mapping 1.0.36
    • Uses @philly/vue-datafetch 0.0.24

3.0.38 - 8/9/2019

  • Uses new releases of @philly libraries which ran upgrades
    • Uses @philly/vue-comps 1.0.36
    • Uses @philly/vue-mapping 1.0.35
    • Uses @philly/vue-datafetch 0.0.22
  • Adds ids to Horizontal and Vertical table html
  • Adds borders to Address Search bars
  • Fixes css where very wide horizontal tables were going way behind the map

3.0.37 - 7/12/2019

  • Uses new releases of @philly libraries which ran upgrades
    • Uses @philly/vue-comps 1.0.33
    • Uses @philly/vue-mapping 1.0.33
    • Uses @philly/vue-datafetch 0.0.21

3.0.36 - 7/11/2019

  • Uses new releases of @philly libraries which ran upgrades
    • Uses @philly/vue-comps 1.0.33
    • Uses @philly/vue-mapping 1.0.33
    • Uses @philly/vue-datafetch 0.0.20

3.0.35 - 6/2/2019

  • Uses new releases of @philly libraries which use axios 0.19.0:
    • Uses @philly/vue-comps 1.0.31
    • Uses @philly/vue-mapping 1.0.31
    • Uses @philly/vue-datafetch 0.0.18
  • Fixes sources for images in the MapPanel

3.0.34 - 5/30/2019

  • Uses @philly/vue-comps 1.0.29
  • Uses @philly/vue-mapping 1.0.30
  • Uses @philly/vue-datafetch 0.0.17
  • Allows you to use a footerContent parameter in your config, which lets you include as many popoverLink and Anchor components in your footer as you need.
  • Allows you to use a customComps parameter in your config to include your own components in a project.
  • Allows you to set up an initialPopover to put an alert modal on your site when it loads.

mapboard's People

Contributors

ajrothwell avatar bertday avatar dependabot-preview[bot] avatar dependabot[bot] avatar stevetotheizz0 avatar timwis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mapboard's Issues

Store table data in state

The problem is that when horizontal tables are filtered, the map features need to be filtered as well. Adding filtered table data to state should be a viable solution.

We could add something like this to the Vuex state:

tables: {
  activeFeature: null,
  rowsFiltered: {
    // table hash => [rows or row indexes]
  }
}

Use Standards

This will:

  • Keep things consistent with beta.phila.gov
  • Ensure that Mapboard works well on all devices
  • Improve accessibility

Make imagery basemap selector a dropdown

Instead of showing all years at once, the imagery selector could be a dropdown that only shows the year you're currently viewing (until you drop it down to select another year). This should free up some real estate.

Migrate content from Atlas

  • Related Addresses
  • Assessments
  • Deeds
    • Parcel Details
    • Documents
    • Registry Maps
  • Permits
  • Zoning
  • Water
  • Vacancy
  • 311

Set a default greeting

If no greeting components are specified in config, default to something generic. This component is already there in TopicPanel (I think?), just commented out.

Data transforms aren't reactive

When you apply transforms to data pulled in via the config file (i.e. main.js in the examples), the results aren't reactive.

How to fetch AIS results from map click?

Currently Mapboard is fetching AIS results based on the parcel ID of the active parcel layer. The problem is that if you switch to another tab that shows a different parcel layer, the address doesn't necessarily update to reflect that parcel. In general, it seems problematic to fetch AIS results based on something stateful, like the active parcel layer. Should we reverse geocode instead?

Use fetch instead of jQuery

In cyclomedia/recordings-client.js. fetch seems to be preferred over jQuery in Node.js projects.

Also remove jQuery from package.json deps.

Migrate Atlas from examples

Currently the Mapboard-backed version of Atlas lives inside the mapboard repo as an example. Create a separate repo/deployment workflow for Atlas.

Code publishing workflow

This is the process by which production versions of Mapboard get released.

The general idea is:

  1. npm version <patch | minor | major> (creates a commit tagged with a version number)
  2. git push (push to GitHub/Travis)
  3. Travis should build Mapboard and deploy to NPM.

Load base config at runtime

We want to turn versioning on for the org-level config.js in S3 (since it isn't checked in to version control), but we we don't want to version any of the bundled production code. As a workaround, create a new S3 bucket and store config there.

Topic rendering system

Render topics:

  • based on config
  • so they react to state
  • format values (e.g. money, timestamps)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.