CartoDB / airship

A design library for building Location Intelligence applications.
https://carto.com/developers/airship/
BSD 3-Clause "New" or "Revised" License
75 stars 14 forks source link

Time Series widget + Airship <-> VL Bindings #544

Closed rjimenezda closed 5 years ago

rjimenezda commented 5 years ago

Fix #534 Fix #536 Fix #537 Fix #538 Fix #513 Fix #530 Fix #440 Fix #457

This PR also contains #539

This started like a little function that handled all the animation stuff and turned into the monster that lies before you.

This PR enables some bindings / shortcuts to:

Please check DEVELOPERS.md for some of my thoughts on this, and an explanation of how it works internally.

There are examples using this on time-series-widget and histogram-widget.

The multiple widget selection works like on builder (for the most part) but it's incredibly expensive. There's a proposal on DEVELOPERS.md for an alternative that should be cheaper, but I think we should consider adding some extra stuff to VL.

Remaining important things we have to do (not necessarily on this PR)

I would suggest making this an alpha / beta, so documenting can be drafty and can afford to break the API for a little bit. I've taken some decisions like asking for an actual Viz instead of a string, maybe that's stupid and I didn't notice, and so on.

We're only going to publish this on the CDN for now, and keep it as a beta of some sorts. It requires a lot of validation and input.

rjimenezda commented 5 years ago

For the build / distribution:

Right now I'm compiling TS and bundling with webpack into a single file. This is great for the CDN, but kind of annoying for NPM.

There's not much to tree shake right now, though, so I wonder if it's worth it uploading something different to NPM. We could upload the bundle and also the TS source code / definitions.

rjimenezda commented 5 years ago

time-series branch (this branch's original parent) has a few commits ( 721b991...ffc7cda) that this one is lacking. We should merge it into this one and remove the other PR, an hope for the best :see_no_evil:

rjimenezda commented 5 years ago

I've merged the time-series PR onto this one. I'll write the docs / examples for the time-series widget and as soon as we solve the conflicts, we can do some smoke testing :+1: