consbio / salcc_blueprint2 Goto Github PK
View Code? Open in Web Editor NEWSouth Atlantic Conservation Blueprint 2.2 Simple Viewer
Home Page: https://blueprint.southatlanticlcc.org/
License: MIT License
South Atlantic Conservation Blueprint 2.2 Simple Viewer
Home Page: https://blueprint.southatlanticlcc.org/
License: MIT License
Provide a specific mode for doing pixel level identify, and show crosshairs in middle of screen (possibly with magnifier).
Right now, state management is sort of spread around the application, which makes it harder to know the single source of truth on something, as well as better coordinating state of selected sub-views in indicators tab.
Find a tile without the Bahamas, the light blue in satellite imagery is confusing ESRI users
Need to make it much easier to load SVGs into the frontend.
Seems limited to the indicators tab, other tabs have scrollbar in correct position.
SALCC staff are unanimous that they want pie charts...
Victory charts may work well: https://formidable.com/open-source/victory/docs/victory-pie/
Minimum requirements:
Given an ID to a reporting unit:
Map and charts will be handled in separate issues.
SALCC staff pointed out that the Blueprint 1.0 text doesn't match latest updates. Check that through the stack.
Need to get service worker and other PWA related functionality working again
This is a nice to have rather than a hard requirement
From Mike L's review long ago.
For the credits: instead just say “South Atlantic Blueprint” (fix the broken link)
For citation: “The South Atlantic Blueprint Version 2.2 (2017)”
Per direction from SALCC, add a column on the left side of the indicator tables. This will have no column header.
the first (when sorted from highest value) row will have a value of (high)
in this column, and the last row will have (low)
.
Should be able to add from a babel plugin.
Also - test heavily on IE11
Since we need this on both the backend and the frontend, a JSON file will be the easiest way to centralize the lookup of ecosystem to all other info.
https://material.io/tools/icons/?style=baseline
Right now, it is hard to have the right set of icons that feel like they are part of a family.
Info / Home: https://material.io/tools/icons/?icon=home&style=baseline
Map: https://material.io/tools/icons/?icon=map&style=baseline
or https://material.io/tools/icons/?icon=language&style=baseline
Search location: https://material.io/tools/icons/?icon=pin_drop&style=baseline
or https://material.io/tools/icons/?icon=not_listed_location&style=baseline
or https://material.io/tools/icons/?icon=search&style=baseline
Priorities: https://material.io/tools/icons/?icon=extension&style=baseline
or https://material.io/tools/icons/?icon=stars&style=baseline
or https://material.io/tools/icons/?icon=verified_user&style=baseline
or https://material.io/tools/icons/?icon=flag&style=baseline
https://material.io/tools/icons/?icon=pie_chart&style=baseline
Indicators: https://material.io/tools/icons/?icon=bar_chart&style=baseline
Threats: https://material.io/tools/icons/?icon=warning&style=baseline
or https://material.io/tools/icons/?icon=new_releases&style=baseline
or https://material.io/tools/icons/?icon=report&style=baseline
Partners: https://material.io/tools/icons/?icon=people&style=baseline
reset icon: https://material.io/tools/icons/?icon=cancel&style=baseline
Leave all maps & images as TODOs.
The template will include boilerplate and links from SALCC.
Sections:
TODO: data is not yet prepared
Need to choose a color that is easily visible against basemap.
Might be easier to do this after migrating to mapbox GL
Tables run across page breaks. It's possible to prevent this within MS Word by checking the "Keep with next" box in the Paragraph window, but setting that within document creation is still a mystery.
Should be laid out more similarly to the existing simple viewer
Amy @ SALCC provided new threats data and direction on use of line charts for displaying these.
Also consider showing watersheds at a lower zoom level than mobile.
Decision needed: How should we indicate that a ecosystem has no indicators listed? Just listing the name and the % of area then moving on to the next ecosystem name (a heading of the same level) looks like something is missing/went wrong.
Currently I'm appending (No indicators for this ecosystem.)
after the ecosystem name and %.
Thresholds are here:
https://docs.google.com/spreadsheets/d/1tYyafF3KVD5vtO7gDrwX_YFAbisOJn4w3ZYbXm-IenI/edit#gid=0
/cc @EstiShay this has implications for reporting that we'll discuss once I get firm direction from SALCC
Some (but not all) indicators have a "good" condition threshold.
This is stored in the goodCondition
key in the config/ecosystems.json
file on master
. This refers to the value of that indicator that is in good condition: any indicator values >= this value are considered in good condition.
See table on page 6 of the example report from SALCC for an example of how they'd like this used. We don't have to exactly replicate the styling of the "total in good condition" "total not in good condition" rows, but we need to add those rows to the table and style them so they stand out.
You will have to calculate the total in good condition and the total not in good condition.
I handled it this way in the frontend:
const hasGoodThreshold = goodThreshold !== null
let goodPercents = null
let notGoodPercents = null
let totalGoodPercent = 0
let totalNotGoodPercent = 0
if (hasGoodThreshold) {
goodPercents = percents.filter(p => p.value >= goodThreshold)
notGoodPercents = percents.filter(p => p.value < goodThreshold)
totalGoodPercent = goodPercents.reduce((total, p) => total + p.percent, 0)
totalNotGoodPercent = notGoodPercents.reduce((total, p) => total + p.percent, 0)
}
Note: in this case, percents
is an array of objects with a value, label, and description. You'll have to adapt to your particular data.
You only need to add these to the table if the goodThreshold
key is present for an indicator.
Users are confused about the indicator charts representing the average for the watershed or marine block. Help them be clear on this.
Also make the triangle dark gray instead of orange.
These just aren't working great in the header. Put them in the footer as tabs instead.
When Search is selected from the footer, show the search input + cancel in the header.
Otherwise, header shows the SALCC logo and site name for context.
Pull from prior version
Will requiring ejecting from create-react-app
. Test this in a dedicated commit to make rollback easier.
Use this: https://facebook.github.io/react/blog/2017/07/26/error-handling-in-react-16.html
(likely more recent info now available too)
See previous version for google analytics code
Adding in the Map
tab for use in mobile means that we are doing some wonky things throughout the application, and this makes it harder to trace.
Ultimately, we need to find a better way of accessing info about isMobile
from the main reducer. Either we leverage redux-thunk
to do so: https://stackoverflow.com/questions/42239302/accessing-a-part-of-reducer-state-from-one-reducer-within-another-reducer
Or we better consolidate information about where we are bringing that tab in at all.
Remaining tasks:
Add a contact tab in mobile view, and add contact pathways in footer in desktop view
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.