* [FilterBox] dashboard date range filtering
* [filtering] define combo of slice/fields unafected by filtering
* adding an entry to the docs
* Addressed comments
* Generalize switch between different datasources.
* Fix previous migration since slice model changed
* Fix warm up cache and other small stuff
* Adding modules and datasources through config
* Replace tabs w/ spaces
* Fix other style issues
* Change add method for SliceModelView to pick the first non-empty ds
* Remove tests on slice add redirect
* Change way of db migration
* Fix styling
* Fix create slice
* Small fixes
* Fix code climate check
* Adding notes on how to create new datasource in CONTRIBUTING.md
* Fix last merge
* A commit just to trigger travis build again
* Add migration to merge two heads
* Fix codeclimate
* Simplify source_registry
* Fix codeclimate
* Remove all getter methods
* pull explore actions button group into component
* use button component
* make sure we render all action buttons
* test that embed code is correct
* don't need before each
* generalize modal trigger for use with plain links or icons
Add an ENABLE_PROXY_FIX config param. When set to True, insert the Werkzeug ProxyFix
middleware. This middleware extracts and applies the X-Forwarded-* headers that are
inserted by common proxies and load balancers. Fixes#1139.
* Handling timeouts
* Fixing timer on non-utc server
* Allowing async with results
* [bugfix] database is not selected
* Making sure the session is up and running
* Cleaning up query results and query objects
* Picking a groupby and metric field on visualize flow
* Showing local time in query history
* Using pull-left pull-right instead of grid layout for table metdata
Long column name were looking weird and icons were wrapping oddly
* Linting
* Eliminating east buttons under the sql editor
* Sort database dropdown by name
* Linting
* Allowing non-SELECT statements to run
* Adding a db config
* Making sqla checkout check cross-db
* move initialization of Database sqlalchemy_uri and password from DatabaseView.pre_add to utils.get_or_create_main_db.
Unit tests for mysql and postgres include username and password in the SQLALCHEMY_DATABASE_URI.
* modified test_testconn to work with sqlalchemy uri with a username and password.
* When the label size is too short, the constant for calculating
margin_size does not apply. Also nvd3 auto-adjust font-size of axis
labels.
Temporary solution here: Setting a fixed font-size on nvd3 axis labels
and a minimum threshold for label size.
* Only stretch margin for dist_bar
margin_size does not apply. Also nvd3 auto-adjust font-size of axis
labels.
Temporary solution here: Setting a fixed font-size on nvd3 axis labels
and a minimum threshold for label size.
* Add time grain support for time columnd in unix timestamp
* Fix datetime parsing for unix epoch
Since we've already converted unix epoch to datetime type,
we shouldn't specify 'unit' parameter in pandas.to_datetime
* Fix SQLite timestamp to datetime conversion
* Improving the Visualize flow
* Fixed the timer
* CTAS
* Expiclit engine handling
* make tab full height, stretch for longer content (#1081)
* Better error handling for queries
* Hooked and fixed CSV export
* Linting
* Tying in the dttm in the viz flow
* Indicator showing when going offline
* Addressing comments, fixing the build
* Fixing unit tests
When specifying a table reference that can not be found, the system used
to still create the object, which would result in confusion and bad
error messages down the line. Now it will fail and not create the
object.
I also removed fields that are not necessary to worry about when
initially creating the table.
* we don't need tooltips on accordion menu, known ui pattern
* use consistent type sizes, bump body type down to 14px
* make editor same height as 3 selects
* table meta data accordion menu
- prevent default on accordion clicks
- always show table actions, they are more discoverable like that
- polish spacing/layout
* remove hover effect on table actions
* adjust bottom margin according to label sizes on x-axis
Note: same as the method in heatmap.js
* add default bottom_margin to dropdown
* Change default to auto
* [SQL Lab] Adding DB options for SQL LAb
each db can be exposed or not in SQL Lab
CTAS is an option
target_schema placeholder (not hooked yet, but would force the CTAS to
target a specific schema)
* Addressing comments
* call explore() directly from '/caravel/slice/id/' endpoint instead of redirecting to it.
* pass slice_id instead of slice_params in 'caravel/slice/id/' endpoint to avoid logging errors. add fix for MultiDict bug
* address max's comments
* remove the /slice/id/ endpoint in preference of /datasource_type/datasource_id/slice_id/
* pep8
* Carapal react mockup
This is really just a mock up written in React to try different
components. It could become scaffolding to build a prototype, or not.
* Merging in Alanna's theme tweaks for SQL lab
* Tweak the display of the alert message in navbar
* Sketching the middleware refresh for Queries
* Adjustments
* Implement timer sync.
* CTAS
* Refactor the queries to be stored as a dict. (#994)
* Download csv endpoint. (#992)
* CSV download engdpoint.
* Use lower case booleans.
* Replcate loop with the object lookup by key.
* First changes for the sync
* Address comments
* Fix query deletions. Update only the queries from the store.
* Sync queries using tmp_id.
* simplify
* Fix the tests in the carapal. (#1023)
* Sync queries using tmp_id.
* Fix the unit tests
* Bux fixes. Pass 2.
* Tweakin' & linting
* Adding alpha label to the SQL LAb navbar entry
* Fixing the python unit tests
* move slice header to partial, show datasource in slice title area if no slice is saved
* change partial name, and use same styling as slice title
* use jinja style guide spacing rule
* use [datasource] - untitled
`.jsx` linting is now in-scope for the `npm run lint` command, and
I linted the base files and some of the viz, there's still quite a bit
of work there, but that's a first pass on it.
* start hacking cosmo theme and fixing small ui bugs on pages.
* straighten up welcome page
* fix tab styling
* remove paper theme files
* add tables to docs
* make alerts lighter
* Hack around the "last migration doesn't stamp" Alembic bug
This makes MySQL, Sqlite and Postgres work with a special hard coded
rule. I'm hoping Alembic fixes the root cause eventually.
* Running db upgrade twice in tests
* update panel headings, titles
* remove panel heading collapser
* style slice meta controls
* fix favstar on dashboard
* add space between heat map and list
* gamma: filter the sqla tables the user has access to
Refs #359
* gamma: filter slices available for dashboards in DashboardModelView
Refs #359
* gamma: limit owners to dashboard to self
As we don't want to leak other users to unpriviliged users
Refs #359
* Refactor around how visualizations/*.js are required
* Reactifying FilterBox further
* Fixing the auto-refresh on filtering events
* Fixing preselected filters
* [panoramix] -> [dashed]
* merge from caravel/master
* Updated from airbnb
* Cleaning
* Rebase with upstream/master
* merge from caravel/master
* Updated from airbnb
* Cleaning
* Manual rebase
* Last pending change to rebase
* Convert date to datetime before serialization.
Approach choosen: transform data before serialize and keep just one way to serialize
* Unit test created
* stupid error :(
* remove uneeded code and rename test
* Avoid double type checking
Test updated
note: isinstance(<datetime>, <date>) == True, check order changed
* Increase coverage
* Fix assertRaises
* pass the request arg in the /caravel/slices/<slice_id>/ endpoint.
remove unused import.
* test that a single slice redirects rather than testing them all. update standalone redirect logic for Javascript 'false' instead of Python False
With gamma users saving the dashboard model would fail if they
are not owner of the dashboard.
So if that's not the case just disable the "Add a new slice to
the dashboard" and "Save the current positioning and CSS".
Refs #359
* Add Histogram as a visualization
The css and js file use the histogram code from https://bl.ocks.org/mbostock/3048450.
THe viz.py extends from BaseViz to create chart data only for one histogram
* using d3.layout.histogram
* CSS updated
The new css has been used from the d3 chart http://bl.ocks.org/mbostock/1933560
* bars are visible
* added semicolons
* histogram from http://bl.ocks.org/mbostock/1933560
It takes as input no of bins. The histogram cycles through
a set of colors for different lengths of the bar. It places a
y axis coordinate on top or on the upper end of the bar
whichever is suitable.
* update style changes
* Altering theme for more subtle alerts / labels / buttons
* Taking comments into account
* changed button-primary to more sober grey instead of brand-primary
* remove carousel from theme demo page and other useless items
* Forcing links to be gray
After ea8a7ec1ba creating a slice
started redirecting to druid datasource from sqlalchemy tables.
That's quite painful for sqlalchemy tables users.
Instead of hardcoding a choice just query the db, if we don't
have any druid datasource fallback to sqlalchemy tables.
Bonus points we remove hacky javascript and make the message
translatable.
While at it fix druid client test to not hardcode datasource id.
* caravel: fix visualization cache for python3
python3 wants bytes and not strings:
2016-07-22 10:36:09,474:INFO:root:Caching for the next 28800 seconds
2016-07-22 10:36:09,475:WARNING:root:Could not cache key 1eeb45f32960f0df0ad99a125bdaf199
2016-07-22 10:36:09,475:ERROR:root:'str' does not support the buffer interface
Traceback (most recent call last):
File "/home/rm/caraveltest/venv/lib/python3.4/site-packages/caravel/viz.py", line 306, in get_json
zlib.compress(self.json_dumps(payload)),
TypeError: 'str' does not support the buffer interface
Tested with memcached and pylibmc client library.
* docs: add note about using a proper memcached client library
* Preselect filters in filter boxes according to the get parameters
* Use the JSX version in dashboard.html
* Use default parameters in ES6 and fix the indent
* Added documentation of the health check endpoint
* Adding Minute and Second time grains for MySQL
* Fixed Migration script so that it doesn't break when new fields added to the models for Dashboards or Slices (using declarative base)
* Revert "Fixed Migration script so that it doesn't break when new fields added to the models for Dashboards or Slices (using declarative base)"
This reverts commit 0b6dd696d6.
* Code Cleanliness