Comments (13)
Misc questions/issues:
- why is
labelTextColor
set onResponsiveBar
props instead of coming from theme? - why is font family specified in theme?
- should years of experience, company size, etc. all be refactored into the same component instead of all having separate files?
- refactor
SalaryPerCountryMapChart
andParticipationByCountryMapChart
into same component?
from stateofjs-legacy.
labelTextColor
can inherit from bar color, theme or be a static color, that's why.- font family is defined in theme because canvas doesn't care about stylesheets :)
- Maps could use the new
@nivo/geo
package'sChoropleth
component
from stateofjs-legacy.
Refactoring years of experience
, company size
, … means using an abstract bar component, I'm not sure it's required as nivo already provides the abstraction.
from stateofjs-legacy.
Regarding labelTextColor
, please have a look at this guide (Single color property)
from stateofjs-legacy.
Regarding refactoring, I think the biggest thing we're missing is some kind of generic block and component for things like bar charts. Looking at DemographicsSalaryBlock
for example, I don't see why it needs to have its own component?
And then same thing with DemographicsVerticalBarChart
, it could just be a generic VerticalBarChart
?
from stateofjs-legacy.
- Where do we get the tools descriptions (
block.sass.description
) from? If it's not automated, we might as well remove them? - Browsers/Form Factors/resources/etc.: can we combine main options with "other" option in a single chart?
from stateofjs-legacy.
- Is it useful to specify blocks in the raw sitemap for pages like Demographics since we also list them out in the component itself? Isn't that redundant?
from stateofjs-legacy.
- We need to harmonize names between the sitemap and data. For example the sitemap uses
company-size
but the data hascompany_size
from stateofjs-legacy.
Yes, because we wanted to use company-size
for urls, but it's not valid in elasticsearch
from stateofjs-legacy.
- It's also a little inconvenient that the data isn't always nested under the same property name. For example salary data is at
salary.ranges
but source data is atsources.by_source
.
from stateofjs-legacy.
- Another related issue: do we want to compute just the data relevant to a single block first and then pass that to the block; or else pass the entire page's data to the block and let it extract the relevant data? Currently we're doing approach #2 but it feels a little messier maybe…?
from stateofjs-legacy.
We could use the same terminology as elasticsearch which use the buckets
property, but I liked to have more meaningful names :) It might be easier when consuming the data for a single chart, but when manipulating it, it's really unpractical
from stateofjs-legacy.
I prefer the first approach, isolating the block's data, unless we have blocks which depends on each other
from stateofjs-legacy.
Related Issues (20)
- Add question(s) re: adoption of new Ecmascript features HOT 1
- Data inconsistency
- Wrong language in english translation of front-end-frameworks/conclusion
- Archive.org captures of StateOfJS pages lack the charts
- Typo in Russian language.
- Colors of map and other charts / diagrams
- [State of JS 2019] Question Outline HOT 12
- What should we use to style State of JS? HOT 3
- Managing styles
- Missing privacy policy and GDPR violation HOT 2
- [State of JS 2020] Feedback HOT 9
- Social Media Meta Information Missing / 2018 Image HOT 1
- Allow switching from dark mode to light mode
- Allow ‘guest’ entries HOT 2
- State of JS GraphQL API
- [2019]Broken by category visualisation on overview page HOT 1
- "Vim" appears twice in Text Editors section
- Next page navigation is the `page.notFound` page when in `/support`
- "Take Survey" broken? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stateofjs-legacy.