Commit Graph

430 Commits

Author SHA1 Message Date
Maxime Beauchemin
87c3e831a8 Using user-defined Javascript to customize geospatial visualization (#4173)
* Using JS to customize spatial viz and tooltips

* Add missing deck_multi.png

* Improve GeoJSON layer with JS support and extra controls

* Addressing comments
2018-01-11 15:42:44 -08:00
Maxime Beauchemin
5916291901 [explore] fix json highlighting for Druid queries (#4201) 2018-01-11 15:41:28 -08:00
Beto Dealmeida
9176a4072b Enable SQL syntax highlighting in View Query (#4184)
* Enable SQL syntax highlighting in View Query

* Enable SQL syntax highlighting in View Query
2018-01-10 20:49:28 -08:00
Maxime Beauchemin
c49fb0aa9b Make Welcome page into a simple React app (#4147)
* Make Welcome page into a simple React app

This removes a dependency on datatables, we should be able to get rid
of it as we re-write the Table and PivotTable viz

* tests/lint

* Bump node version to latest
2018-01-07 22:13:06 -08:00
Grace Guo
e7f8143c3b [Bug] Closing change datasource modal throws JS error (#4157) 2018-01-05 14:21:52 -08:00
Maxime Beauchemin
0a6208296e [explore] add datasource metadata (#4104) 2018-01-02 08:41:27 -08:00
Maxime Beauchemin
45686a1af6 Multi layers DECK.GL visualization (#4096)
* Multi layers DECK.GL viz

* Fix tests

* rebasing

* Fix error handling in chartActions

* Addressing comments
2017-12-26 10:47:29 -08:00
James Pesculis
6e1ec8347d Update UserInfo.jsx and set additional properties for react-gravatar (#4118) 2017-12-25 23:29:27 -08:00
Hugh A. Miles II
f905726c24 [geo] Added DeckGL GeoJson layer (#4097)
* added deckgl geojson layer

* linting

* fixed comments

* addressed comments

* added override with controls.color_picker > 0

* set var properly

* set colors if property doesnt exist at all

* refacator on property mapping
2017-12-22 14:40:08 -08:00
Maxime Beauchemin
69195f8d2d Introduce Javascript controls (#4076)
* Introduce Javascript controls

This allows power-users to perform intricate transformations on data and
objects using javascript code.

The operations allowed are "sanboxed" or limited using node's vm
`runInNewContext`
https://nodejs.org/api/vm.html#vm_vm_runinnewcontext_code_sandbox_options

For now I'm only enabling in the line chart visualization, but the plan
would be to go towards offering more power to people who can write some
JS moving forward.

* Not applied
2017-12-20 21:24:35 -08:00
Maxime Beauchemin
44e753d94d [sql lab] deeper support for templating (#3996)
* [sql lab] deeper support for templating

* Fixing py tests

* Fix typo
2017-12-19 15:55:58 -08:00
Maxime Beauchemin
e4903e6dc6 [geo] add support for deck.gl's path layer (#4067)
* [geo] add support for deck.gl's path layer

Works with json and polyline data.

* Lint
2017-12-19 12:38:03 -08:00
Maxime Beauchemin
d4e8d57fc4 Using TextAreaControl for WHERE and HAVING clause section (#4090) 2017-12-19 12:11:35 -08:00
fabianmenges
71e1eea9f4 DB migration of annotation_layers on slice objects and slimming down annotation object. (#4072) 2017-12-18 13:11:06 -08:00
Jeff Niu
1e79e9cd2a [Bugfix] Issues with table filtering (#4073)
* Fixing some issues with table filtering

* Added some comments
2017-12-17 15:43:34 -08:00
fabianmenges
500e6256c0 Full Annotation Framework (#3518)
* Adding full Annotation Framework

* Viz types

* Re organizing native annotations

* liniting

* Bug fix

* Handle no data

* Cleanup

* Refactor slice form_data to data
2017-12-16 16:10:45 -08:00
Maxime Beauchemin
fc85756c20 [geo] turn off renderTrigger on viewport control (#4066)
For context, the viewport gets updated dynamically from the user
actions on the map. This is done on a timer every second or so to keep
the form data updated with the viewport settings.

With renderTrigger=true on that control that generates re-renders which
introduces glitches while zooming/panning. So turning it off as we don't
really expect users to input viewport info directly in the control
anyways.
2017-12-15 14:59:54 -08:00
Maxime Beauchemin
c21513fb8c Adding rowcount label to explore view header (#4059) 2017-12-15 11:47:44 -08:00
Maxime Beauchemin
ec752b1378 [geo] provide more flexible Spatial controls (#4032)
Before this PR the only way to query lat/long is in the shape of 2
columns that contains lat and long.

Now we're adding 2 more options:
* a single column that has lat and long with a delimiter in between
* support for geohashes - geohashes are cool
2017-12-15 11:47:27 -08:00
Hugh A. Miles II
c84211ec44 Change reference for slices to chart (#4049)
* change reference for slices to chart

* change profile page reference

* change reference for Associated Slices

* change back to single quotes

* fix other single quotes

* linting

* last one

* fix test
2017-12-12 18:02:17 -08:00
Grace Guo
61755f0b7d apply custom css for dashboard initially load (#4031) 2017-12-07 16:56:40 -08:00
Beto Dealmeida
81df7087db Remove unused callbacks when setting state (#4015) 2017-12-06 21:56:28 -08:00
Maxime Beauchemin
5bc581fd44 New time_pivot visualization (#3941)
* New time_pivot visualization

* Minor tweaks

* Addressing comments
2017-12-06 21:50:33 -08:00
Maxime Beauchemin
a26cf001c4 Add row_limit to heatmap controls (#3969) 2017-12-06 21:49:27 -08:00
Maxime Beauchemin
defe6789c0 [sql lab] fix position of 'save query' Popover (#3999)
* [sql lab] fix position of 'save query' Popover

The "Save Query" popover renders on the upper left corner as opposed to
where it should (relative to the Save Query button). After a bit of
research, it seems like Popover won't render in the right place when
parents are absolute.

I'm guessing this stopped working properly when I added the resizable
panes.

Anyhow, the solution here is to use a modal instead.

* Fixing tests
2017-12-05 11:37:13 -08:00
Beto Dealmeida
823f306f24 Call props.onChange only when closing filter (#4003) 2017-12-05 11:17:12 -08:00
Grace Guo
028456572b [Dashboard] fix a filter refresh bug and add Test (#3967) 2017-12-01 10:58:55 -08:00
Chris Williams
76a2f95231 [time series table] visual improvements (#3957)
* [time series table] visual improvements

* [time series table] don't set cell color if text color isn't set
2017-11-30 20:48:17 -08:00
Maxime Beauchemin
16ab696d7c [country_map] use Albers USA projection (#3946)
* [country_map] use Albers USA projection

* Minor touchups

* Adding color scheme
2017-11-30 14:09:53 -08:00
Maxime Beauchemin
d9fda346cb Add an "Edit Mode" to Dashboard view (#3940)
* Add a togglable edit mode to dashboard

* Submenu for controls

* Allowing 'Save as' outside of editMode

* Set editMode to false as default
2017-11-28 09:10:21 -08:00
Maxime Beauchemin
c5ddf57124 Fix call in Chart (#3945) 2017-11-27 21:06:47 -08:00
kkalyan
f9202ba179 minor filter select enhancements (#3933)
* `values_for_column` configurable row limit

* `FilterControl` cancels active ajax request if any
2017-11-27 21:05:53 -08:00
Jeff Niu
5466fab2a0 Switched to span instead of textarea for copytoclipboard (#3923) 2017-11-21 22:09:41 -08:00
Jeff Niu
ed85032277 Moved percent metrics to its own row (#3924) 2017-11-21 22:08:15 -08:00
michellethomas
12fb7c1a62 When checking if you should renderTriggered make sure key exists in controls (#3912) 2017-11-21 10:22:55 -08:00
Maxime Beauchemin
32b38ee2d6 [bugfix] allow limiting word cloud (#3902) 2017-11-20 10:32:14 -08:00
Maxime Beauchemin
1d702f2142 Fixes default hanlding in Altered slice tag (#3903) 2017-11-20 08:43:38 -08:00
Alan Cruickshank
39ee33aeff Add datasource to the SliceAddView modal (#3884) (#3900) 2017-11-17 20:11:23 -08:00
Grace Guo
831cd21737 [dashboard bug]Instant control should take effect instantly (#3890)
in explore view, controls like color cheme, legend, rich tooltip, etc., change these controls should see effect instantly, without click Run Query.
2017-11-17 16:34:53 -08:00
Maxime Beauchemin
a82bb588f4 Allow users to specify label->color mapping (#3879)
Users can define `label_colors` in a dashboard's JSON metadata that
enforces a label to color mapping.

This also makes the function that maps labels to colors case insensitive.
2017-11-17 15:56:04 -08:00
michellethomas
a84bd5225c Only refreshing non instant filters on apply (#3893) 2017-11-17 12:52:48 -08:00
Maxime Beauchemin
3a8af5d0b0 DECKGL integration - Phase 1 (#3771)
* DECKGL integration

Adding a new set of geospatial visualizations building on top of the
awesome deck.gl library. https://github.com/uber/deck.gl

While the end goal it to expose all types of layers and let users bind
their data to control most props exposed by the deck.gl API, this
PR focusses on a first set of visualizations and props:

* ScatterLayer
* HexagonLayer
* GridLayer
* ScreenGridLayer

* Addressing comments

* lint

* Linting

* Addressing chri's comments
2017-11-16 00:30:02 -08:00
Maxime Beauchemin
1c545d3a2d Further refactoring around dashboards (#3843)
I was wondering what was left to do in order to remove Dashboard.jsx
and superset.js, and it looks like they can just be pulled out.

I am so happy to get rid of what used to be the messiest JS files in the
whole repo.

Thanks @graceguo!
2017-11-16 00:27:15 -08:00
Grace Guo
120a5d08f9 [dashboard bug] Fix standalone slice (#3877) 2017-11-15 12:38:07 -08:00
Grace Guo
8643228b51 [Dashboard bug] Fix merged filter param name (#3866)
front-end merge time filter params, and update query with param name 'extra_filters'
2017-11-14 12:28:55 -08:00
Grace Guo
de869973c7 Fix cachedDttm prop type (#3858) 2017-11-14 08:14:59 -08:00
Grace Guo
eb5d220b5e [Dashboard bug] Slice doesn't show loading icon when loading (#3834) 2017-11-13 16:07:15 -08:00
Grace Guo
3f076b00cd [Dashboard bug]Fix userId prop in Explore view Save_Modal (#3857)
For userId, the attribute name in bootstrap data is user_id
2017-11-13 16:06:45 -08:00
Maxime Beauchemin
514f9452f3 [sql lab] minor cosmetic touchups on Run / Save buttons (#3850) 2017-11-13 12:39:28 -08:00
Maxime Beauchemin
068c343be0 [sqllab] fix wrong error msg (#3849)
I was getting some "Could not connect to server" when there was
a proper json payload with an `error` key, the change here makes sure to
prioritize those messages over the generic one.
2017-11-12 21:24:20 -08:00