* Use react-grid-layout instead of gridster
* visualizations show and resize
* display slice name and description; links work
* positioning of widgets to match gridster, rowHeight matches
* Change margins, rowHeight, unpositioned viz, and expandedSlices to match gridster
* Saving dashboard, deleting slices, formatting on slices (chart control and resize handle), expanded slices fixed.
* responsiveness + use es6 classes
* Minor ui fixes + linting
* CSS transforms on slices messes up nvd3 tooltip positioning.
Turn off CSS transforms for the time being, with a cost of painting speed.
Issue is currently being looked at on the nvd3 repo
PR: https://github.com/novus/nvd3/pull/1674
* Remove breakpoint listener, fires when it shouldn't (i.e. too often)
* resize is no longer buggy, minor cleanup
* gridster class, const, landscape error
* one source of data for data to front end from python
* Created migration to fix the bug
* Working also on MySQL
* Added support for Vertica Grains (#515)
* Fix#529 1 "This Session's transaction has been rolled back" (#530)
* Fixing the specific issue
* Added an additional fix for a similar error in #529
Background:
- When an object is modified by SQLAlchemy, it is invalidated so need to be fetched again from the DB
- If there's an exception during a transaction, SQLAlchemy performs a rollback and mark the connection as dirty.
Bug:
- When handling exceptions, the exception handler tries to access the name of the cluster in the main object. Since the name has been invalidated due to a write, SQLAlchemy tries to fetch it on a 'dirty' connection and spits out an error. Solution:
- Fetch the information for handling the exception before starting the process.
* Modified the migration function to to automatically detect the the foreign keys based on the signature.
It supports also sqlite using batch migrations
* i18n: Fix typo in Druid cluster broker port label (#512)
* Update models.py (#541)
removing duplicated `user_id` def
* fix for default metric in table visualization
* better location for form override; covers all parameters
* remove dead code, use items instead of iteritems for python 3
* Fixing the specific issue
* Added an additional fix for a similar error in #529
Background:
- When an object is modified by SQLAlchemy, it is invalidated so need to be fetched again from the DB
- If there's an exception during a transaction, SQLAlchemy performs a rollback and mark the connection as dirty.
Bug:
- When handling exceptions, the exception handler tries to access the name of the cluster in the main object. Since the name has been invalidated due to a write, SQLAlchemy tries to fetch it on a 'dirty' connection and spits out an error. Solution:
- Fetch the information for handling the exception before starting the process.
It looks like COUNT(*) returns a numpy.int64 value that the
default JSONEncoder does not handle.
While at if we get a type we are not handling make it easier to
debug the issue by throwing a TypeError exception with useful
data.
Fix#486
* Allowing for templated urls in iFrame
This can allow for passing {{ width }} and {{ height }} as dynamic
attributes in the iFrame's URL.
The new method Slice.render_template method could do more eventually
exposing more variables to be used in dynamic strings.
* Passing function references
* js linting
* Improving the parallel coordinate viz
* Clear container on refresh
* Order of columns is kept
* Option to show/hide the series column in viz
* Color metric not shown by default
* JS linting