Commit Graph

3176 Commits

Author SHA1 Message Date
Chris Williams 04fc1d1089 [dashboard v2] add MissingChart component in the case that chart component has no slice definition, add tests. (#5296) 2018-06-27 11:20:10 -07:00
Grace Guo 17b4298401
[dashobard fix]: fix validation check for default_filters (#5297) 2018-06-27 11:00:50 -07:00
John Bodley 117507cf31
[get_df] Fix datetime conversion (#5274) 2018-06-27 09:09:42 -07:00
Jeffrey Wang fb988fee2e Pin boto3 to 1.4.7 (#5290) 2018-06-27 08:55:47 -07:00
Grace Guo 4ee984c6de
[dashboard fix] force refresh charts under tabs (#5291) 2018-06-26 17:46:28 -07:00
Chris Williams 05a39b395a
fix sqllab <Loading /> css, fix double AddSliceCard margin and drag border (#5293)
* fix sqllab <Loading /> css, fix double AddSliceCard margin and drag border

* [dashboard v2] improve cached visual indicator, add last fetched messaging

* [dashboard v2] fix ctrl + cmd + z + UndoRedoKeylisteners
2018-06-26 16:47:41 -07:00
timifasubaa b0eee129e9
add more precise types to hive table from csv (#5267) 2018-06-25 16:12:01 -07:00
timifasubaa bd24f854c9
specify hve namespace for tables (#5268) 2018-06-25 12:04:27 -07:00
Chris Williams c065319508
[wip] dashboard builder v2 (#4528)
* [dashboard builder] Add dir structure for dashboard/v2, simplified Header, split pane, Draggable side panel

[grid] add <DashboardGrid />, <ResizableContainer />, and initial grid components.

[grid] gridComponents/ directory, add fixtures/ directory and test layout, add <Column />

[grid] working grid with gutters

[grid] design tweaks and polish, add <Tabs />

[header] add gradient header logo and favicon

[dnd] begin adding dnd functionality

[dnd] add util/isValidChild.js

[react-beautiful-dnd] iterate on dnd until blocked

[dnd] refactor to use react-dnd

[react-dnd] refactor to use composable <DashboardComponent /> structure

[dnd] factor out DashboardComponent, let components render dropInidcator and set draggableRef, add draggable tabs

[dnd] refactor to use redux, add DashboardComponent and DashboardGrid containers

[dragdroppable] rename horizontal/vertical => row/column

[builder] refactor into HoverMenu, add WithPopoverMenu

[builder] add editable header and disableDragDrop prop for Dragdroppable's

[builder] make tabs editable

[builder] add generic popover dropdown and header row style editability

[builder] add hover rowStyle dropdown, make row styles editable

[builder] add some new component icons, add popover with delete to charts

[builder] add preview icons, add popover menu to rows.

[builder] add IconButton and RowStyleDropdown

[resizable] use ResizableContainer instead of DimensionProvider, fix resize and delete bugs

[builder] fix bug with spacer

[builder] clean up, header.size => header.headerSize

[builder] support more drag/drop combinations by wrapping some components in rows upon drop. fix within list drop index. refactor some utils.

[builder][tabs] fix broken add tab button

[dashboard builder] don't pass dashboard layout to all dashboard components, improve drop indicator logic, fix delete component pure component bug

[dnd] refactor drop position logic

* fix rebase error, clean up css organization and use @less vars

* [dashboard-builder] add top-level tabs + undo-redo (#4626)

* [top-level-tabs] initial working version of top-level tabs

* [top-level-tabs] simplify redux and disable ability to displace top-level tabs with other tabs

* [top-level-tabs] improve tab drag and drop css

* [undo-redo] add redux undo redo

* [dnd] clean up dropResult shape, add new component source id + type, use css for drop indicator instead of styles and fix tab indicators.

* [top-level-tabs] add 'Collapse tab content' to delete tabs button

* [dnd] add depth validation to drag and drop logic

* [dashboard-builder] add resize action, enforce minimum width of columns, column children inherit column size when necessary, meta.rowStyle => meta.background, add background to columns

* [dashboard-builder] make sure getChildWidth returns a number

* [dashboard builder] static layout + toasts (#4763)

* [dashboard-builder] remove spacer component

* [dashboard-builder] better transparent indicator, better grid gutter logic, no dragging top-level tabs, headers are multiples of grid unit, fix row height granularity, update redux state key dashboard => dashboardLayout

* [dashboard-builder] don't blast column child dimensions on resize

* [dashboard-builder] ResizableContainer min size can't be smaller than size, fix row style, role=none on WithPopoverMenu container

* [edit mode] add edit mode to redux and propogate to all <DashboardComponent />s

* [toasts] add Toast component, ToastPresenter container and component, and toast redux actions + reducers

* [dashboard-builder] add info toast when dropResult overflows parent

* [dashboard builder] git mv to src/ post-rebase

* Dashboard builder rebased + linted (#4849)

* define dashboard redux state

* update dashboard state reducer

* dashboard layout converter + grid render

* builder pane + slice adder

* Dashboard header + slice header controls

* fix linting

* 2nd code review comments

* [dashboard builder] improve perf (#4855)

* address major perf + css issues

[dashboard builder] fix dashboard filters and some css

[dashboard builder] use VIZ_TYPES, move stricter .eslintrc to dashboard/, more css fixes

[builder] delete GridCell and GridLayout, remove some unused css. fix broken tabs.

* [builder] fix errors post-rebase

* [builder] add support for custom DragDroppable drag layer and add AddSliceDragPreview

* [AddSliceDragPreview] fix type check

* [dashboard builder] add prettier and update all files

* [dashboard builder] merge v2/ directory int dashboard/

* [dashboard builder] move component/*Container => containers/*

* add sticky tabs + sidepane, better tabs perf, better container hierarchy, better chart header (#4893)

* dashboard header, slice header UI improvement

* add slider and sticky

* dashboard header, slice header UI improvement

* make builder pane floating

* [dashboard builder] add sticky top-level tabs, refactor for performant tabs

* [dashboard builder] visually distinct containers, icons for undo-redo, fix some isValidChild bugs

* [dashboard builder] better undo redo <> save changes state, notify upon reaching undo limit

* [dashboard builder] hook up edit + create component actions to saved-state pop.

* [dashboard builder] visual refinement, refactor Dashboard header content and updates into layout for undo-redo, refactor save dashboard modal to use toasts instead of notify.

* [dashboard builder] refactor chart name update logic to use layout for undo redo, save slice name changes on dashboard save

* add slider and sticky

* [dashboard builder] fix layout converter slice_id + chartId type casting, don't change grid size upon edit (perf)

* [dashboard builder] don't set version key in getInitialState

* [dashboard builder] make top level tabs addition/removal undoable, fix double sticky tabs + side panel.

* [dashboard builder] fix sticky tabs offset bug

* [dashboard builder] fix drag preview width, css polish, fix rebase issue

* [dashboard builder] fix side pane labels and hove z-index

* Markdown for dashboard (#4962)

* fix dashboard server-side unit tests (#5009)

* Dashboard save button (#4979)

* save button

* fix slices list height

* save custom css

* merge save-dash changes from dashboard v1
https://github.com/apache/incubator-superset/pull/4900
https://github.com/apache/incubator-superset/pull/5051

* [dashboard v2] check for default_filters before json_loads-ing them (#5064)

[dashboard v2] check for default_filters before json-loads-ing them

* [dashboard v2] fix bugs from rebase

* [dashboard v2] tests! (#5066)

* [dashboard v2][tests] add tests for newComponentFactory, isValidChild, dropOverflowsParent, and dnd-reorder

* [dashboard v2][tests] add tests for componentIsResizable, findParentId, getChartIdsFromLayout, newEntitiesFromDrop, and getDropPosition

* [dashboard v2][tests] add mockStore, mockState, and tests for DragDroppable, DashboardBuilder, DashboardGrid, ToastPresenter, and Toast

* [dashboard builder][tests] separate files for state tree fixtures, add ChartHolder, Chart, Divider, Header, Row tests and WithDragDropContext helper

* [dashboard v2][tests] fix dragdrop context with util/getDragDropManager, add test for menu/* and resizable/*, and new components

* [dashboard v2][tests] fix and re-write Dashboard tests, add getFormDataWithExtraFilters_spec

* [dashboard v2][tests] add reducer tests, fix lint error

* [dashboard-v2][tests] add actions/dashboardLayout_spec

* [dashboard v2] fix some prop bugs, open side pane on edit, fix slice name bug

* [dashboard v2] fix slice name save bug

* [dashboard v2] fix lint errors

* [dashboard v2] fix filters bug and add test

* [dashboard v2] fix getFormDataWithExtraFilters_spec

* [dashboard v2] logging updates (#5087)

* [dashboard v2] initial logging refactor

* [dashboard v2] clean up logger

* [logger] update explore with new log events, add refresh dashboard + refresh dashboard chart actions

* [logging] add logger_spec.js, fix reducers/dashboardState_spec + gridComponents/Chart_spec

* [dashboard v2][logging] refactor for bulk logging in python

* [logging] tweak python, fix and remove dup start_offset entries

* [dashboard v2][logging] add dashboard_first_load event

* [dashboard v2][logging] add slice_ids to dashboard pane load event

* [tests] fix npm test script

* Fix: update slices list when add/remove multiple slices (#5138)

* [dashboard v2] add v1 switch (#5126)

* [dashboard] copy all dashboard v1 into working v1 switch

* [dashboard] add functional v1 <> v2 switch with messaging

* [dashboard] add v2 logging to v1 dashboard, add read-v2-changes link, add client logging to track v1 <> v2 switches

* [dashboard] Remove default values for feedback url + v2 auto convert date

* [dashboard v2] fix misc UI/UX issues

* [dashboard v2] fix Markdown persistance issues and css, fix copy dash title, don't enforce shallow hovering with drop indicator

* [dashboard v2] improve non-shallow drop target UX, fix Markdown drop indicator, clarify slice adder filter/sort

* [dashboard v2] delete empty rows on drag or delete events that leave them without children, add test

* [dashboard v2] improve v1<>v2 switch modals, add convert to v2 badge in v1, fix unsaved changes issue in preview mode, don't auto convert column child widths for now

* [dashboard v2][dnd] add drop position cache to fix non-shallow drops

* [dashboard] fix test script with glob instead of recurse, fix tests, add temp fix for tab nesting, ignore v1 lint errors

* [dashboard] v2 badge style tweaks, add back v1 _set_dash_metadata for v1 editing

* [dashboard] fix python linting and tests

* [dashboard] lint tests

* add slice from explore view (#5141)

* Fix dashboard position row data (#5131)

* add slice_name to markdown

(cherry picked from commit 14b01f1)

* set min grid width be 1 column

* remove empty column

* check total columns count <= 12

* scan position data and fix rows

* fix dashboard url with default_filters

* [dashboard v2]  better grid drop ux, fix tab bugs 🐛 (#5151)

* [dashboard v2] add empty droptarget to dashboard grid for better ux and update test

* [dashboard] reset tab index upon top-level tab deletion, fix findparentid bug

* [dashboard] update v1<>v2 modal link for tracking

* Fix: Should pass slice_can_edit flag down (#5159)

* [dash builder fix] combine markdown and slice name, slice picker height (#5165)

* combine markdown code and markdown slice name

* allow dynamic height for slice picker cell

* add word break for long datasource name

* [fix] new dashboard state (#5213)

* [dashboard v2] ui + ux fixes (#5208)

* [dashboard v2] use <Loading /> throughout, small loading gif, improve row/column visual hierarchy, add cached data pop

* [dashboard v2] lots of polish

* [dashboard v2] remove markdown padding on edit, more opaque slice drag preview, unsavedChanges=true upon moving a component, fix initial load logging.

* [dashboard v2] gray loading.gif, sticky header, undo/redo keyboard shortcuts, fix move component saved changes update, v0 double scrollbar fix

* [dashboard v2] move UndoRedoKeylisteners into Header, render only in edit mode, show visual feedback for keyboard shortcut, hide hover menu in top-level tabs

* [dashboard v2] fix grid + sidepane height issues

* [dashboard v2] add auto-resize functionality, update tests. cache findParentId results.

* [dashboard v2][tests] add getDetailedComponentWidth_spec.js

* [dashboard v2] fix lint

* [fix] layout converter fix (#5218)

* [fix] layout converter fix

* add changed_on into initial sliceEntity data

* add unit tests for SliceAdder component

* remove old fixtures file

* [dashboard v2] remove webpack-cli, fresh yarn.lock post-rebase

* [dashboard v2] lint javascript

* [dashboard v2] fix python tests

* [Fix] import/export dash in V2 (#5273)

* [dashboard v2] add markdown tests (#5275)

* [dashboard v2] add Markdown tests

* [dashboard v2][mocks] fix markdown mock
2018-06-25 09:17:22 -07:00
John Bodley ca5cc672ca
[metric] Fixing ad-hoc metric for dual-line chart (#5271) 2018-06-22 14:31:43 -07:00
John Bodley 7de50238a4
[druid] Adding verbose_name to editable columns (#5249) 2018-06-21 22:15:06 -07:00
Hugh A. Miles II d4672dbfb7 make sure there is a val to be set for existing filters (#5257) 2018-06-21 22:00:50 -07:00
Maxime Beauchemin e1618ddddb
Fix edge case around NaN values (#4964) 2018-06-21 18:10:04 -07:00
Maxime Beauchemin b344056932
[bugfix] add support for numeric nodes in Sankey (#5154)
* [bugfix] add support for numeric nodes in Sankey

closes https://github.com/apache/incubator-superset/issues/5142

* lint
2018-06-21 18:09:08 -07:00
Maxime Beauchemin 5a716e9925
[bugfix] get word_cloud to support complex metrics (#5248) 2018-06-21 18:04:56 -07:00
Gabe Lyons 2f274328ed fixing regex displaying as undefined in the pill (#5266) 2018-06-21 18:01:31 -07:00
Maxime Beauchemin 73295f25a3
Bump pydruid to 0.4.4 (#5262) 2018-06-21 17:42:44 -07:00
timifasubaa 0e5293b9be
Update db_engine_specs.py (#5264) 2018-06-21 16:01:34 -07:00
Chris Williams 15c8e5bfa9
[timeseries table] use verbose date in tooltip by default (#5263) 2018-06-21 13:34:49 -07:00
michellethomas eb676519ba Moving homogenize_types to after no data exception (#5214) 2018-06-20 17:31:23 -07:00
Grace Guo 13cbf80fb3 [Explore] Handle empty metrics control data (#5241) 2018-06-20 12:41:48 -07:00
Maxime Beauchemin 409ac6824a
[sql lab] Fix issue around VARBINARY type in Presto (#5121)
When receiving a VARBINARY field out of Presto, it shows up as type
`bytes` out of the pyhive driver. Then the pre 3.15 version of
simplejson attempts to convert it to utf8 by default and it craps out.

I bumped to simplejson>=3.25.0 and set `encoding=None` as documented
here
https://simplejson.readthedocs.io/en/latest/#basic-usage so that we can
handle bytes on our own.
2018-06-20 12:16:59 -07:00
Jeffrey Wang 2a3d297950 Allow users to view dashboards they own (#4520)
* Allow owners to view their own dashboards

* Update docstring

* update sm variable

* Add unit test

* misc linter
2018-06-20 12:08:16 -07:00
John Bodley 62427c8b8d
Revert "[perf] add webpack 4 + SplitChunks + lazy load visualizations" (#5253)
* Revert "[sqllab] Fix sql lab resolution link (#5216)"

This reverts commit 93cdf60920.

* Revert "Pin botocore version (#5184)"

This reverts commit 70679d4c93.

* Revert "Describe the use of custom OAuth2 authorization servers (#5220)"

This reverts commit a84f4304de.

* Revert "[bubble-chart] Fixing issue w/ metric names (#5237)"

This reverts commit 5c106b9a20.

* Revert "[adhoc-filters] Adding adhoc-filters to all viz types (#5206)"

This reverts commit d483ed121c.

* Revert "[perf] add webpack 4 + SplitChunks + lazy load visualizations (#5240)"

This reverts commit 1fc4ee0d3c.
2018-06-20 12:07:42 -07:00
timifasubaa 93cdf60920
[sqllab] Fix sql lab resolution link (#5216)
* pass link

* update frontend to show link differently

* nits
2018-06-19 20:33:24 -07:00
Louis-Etienne 70679d4c93 Pin botocore version (#5184)
* Pin botocore version

* Version range for botocore
2018-06-19 08:49:51 -07:00
Ricardo Peironcely a84f4304de Describe the use of custom OAuth2 authorization servers (#5220)
As Superset extends flask SecurityManager with its own implementation, it's not obvious how to connect Superset with OAuth2 authorization servers that are not covered under flask.
2018-06-19 08:48:48 -07:00
John Bodley 5c106b9a20
[bubble-chart] Fixing issue w/ metric names (#5237) 2018-06-18 15:50:49 -07:00
John Bodley d483ed121c
[adhoc-filters] Adding adhoc-filters to all viz types (#5206) 2018-06-18 15:43:18 -07:00
Chris Williams 1fc4ee0d3c [perf] add webpack 4 + SplitChunks + lazy load visualizations (#5240)
* [webpack] setup lazy loading for all visualizations

* [lazy-load] push renderVis function to <Chart /> state

* no mapbox token

* [lazy loading] use native webpack import func to fix chunk names, add babel-plugin-syntax-dynamic-import, fix rebase bug.

* fix geojson import, undefined t, and fix async css bug

* [lazy load] actually add babel-plugin-syntax-dynamic-import

* [webpack] working dev version of webpack v4

* [webpack 4] fix url issues, use mini-css-extract-plugin and webpack-assets-manifest plugins

* [webpack 4] use splitchunks for all files, update templates to multi-file entrypoints

* [webpack 4] multiple theme entry files for markup vis css, don't uglify mapbox

* [webpack 4] lint python manifest changes, update yarn lock.

* [webpack 4] fix tests with babel-plugin-dynamic-import-node

* [webpack 4] only use 'dynamic-import-node' plugin in tests, update <Chart /> vis promise when vis type changes

* [webpack 4] clean up package.json and yarn.lock after rebase

* [webpack 4] lint?

* [webpack 4] lint for real

* [webpack 4][istanbul] ignore visualizations/index.js
2018-06-18 15:28:13 -07:00
Grace Guo 480ddfc7ad
[CRUD] disable user change slices from dashboardmodelview (#5217) 2018-06-18 15:08:03 -07:00
John Bodley d7d5327ef7
[CRUD] Improving performance by disabling editing Associated Chart] (#5238) 2018-06-18 14:33:13 -07:00
Grace Guo 0509d7aefd
[Explore] Enable Rich tooltip by default (#5215) 2018-06-18 10:45:31 -07:00
Riccardo Magliocchetti c670621012 setup: improve description (#5226)
* setup: improve description

* setup: use README.md as long_description

As pypy.io now should render markdown.
2018-06-18 08:42:48 -07:00
Maxime Beauchemin c89933d870
[sql lab] quote schema and table name (#5195)
fixes https://github.com/apache/incubator-superset/issues/4595
2018-06-18 08:42:08 -07:00
Ville Brofeldt ccf211036d Bump Celery to 4.2.0 (#5222)
* Downgrade celery and kombu

* Remove kombu from requirements.txt

* Pin kombu at 4.1.0

* Bump celery to 4.2.0
2018-06-18 08:19:07 -07:00
Riccardo Magliocchetti 00fad1cbf9 README: update Maieutical Labs url (#5227) 2018-06-18 08:14:12 -07:00
Chris Williams 7b49b6c2de Revert "[webpack] setup lazy loading for all visualizations" (#5219)
* Revert "[explore] fix autocomplete on verbose names (#5204)"

This reverts commit d5ebc430c2.

* Revert "[webpack] setup lazy loading for all visualizations (#4727)"

This reverts commit de0aaf42ed.
2018-06-15 17:23:57 -07:00
Maxime Beauchemin d5ebc430c2
[explore] fix autocomplete on verbose names (#5204)
* [explore] fix autocomplete on verbose names

Currently when searching for metrics or groupbys, the autocomplete
search functionality only matches based on the metric_name, though in
some cases the verbose_name is displayed and disregarded for search
purposes.

Also another issue is that not all pre-defined metrics show up in the
drop down which is confusing. Users may have simple metrics for which
they setup a nice verbose name and/or description and expect to see
those in the dropdown.

This PR addresses it for metric and column-related dropdowns.

* Add unit test
2018-06-15 15:56:05 -07:00
Chris Williams de0aaf42ed
[webpack] setup lazy loading for all visualizations (#4727)
* [webpack] setup lazy loading for all visualizations

* [lazy-load] push renderVis function to <Chart /> state

* no mapbox token

* [lazy loading] use native webpack import func to fix chunk names, add babel-plugin-syntax-dynamic-import, fix rebase bug.

* fix geojson import, undefined t, and fix async css bug

* [lazy load] actually add babel-plugin-syntax-dynamic-import

* [webpack] working dev version of webpack v4

* [webpack 4] fix url issues, use mini-css-extract-plugin and webpack-assets-manifest plugins

* [webpack 4] use splitchunks for all files, update templates to multi-file entrypoints

* [webpack 4] multiple theme entry files for markup vis css, don't uglify mapbox

* [webpack 4] lint python manifest changes, update yarn lock.

* [webpack 4] fix tests with babel-plugin-dynamic-import-node

* [webpack 4] only use 'dynamic-import-node' plugin in tests, update <Chart /> vis promise when vis type changes

* [webpack 4] clean up package.json and yarn.lock after rebase

* [webpack 4] lint?

* [webpack 4] lint for real
2018-06-14 18:29:05 -07:00
John Bodley 8cdc9cad9c
[pie-chart] Restricting query to single metric (#5203) 2018-06-14 18:14:13 -07:00
michellethomas b60ac5f160 Fixing issue with table viz for table with no metrics (#5205) 2018-06-14 17:15:00 -07:00
timifasubaa 4b7a14de77
Merge pull request #5194 from timifasubaa/pass_error_link_separately
pass error message separately
2018-06-14 12:01:45 -07:00
Timi Fasubaa 7fa5559a66 remove resolution link prop 2018-06-14 11:32:50 -07:00
timifasubaa 66ffcb665a
Merge pull request #5118 from michellethomas/add_metrics_control_sort_by
Adding the MetricsControl to the timeseries_limit_metric field
2018-06-14 10:38:32 -07:00
Grace Guo 585dbe6638
fix Formula type annotation, it doesn't show up since #4630 (#5181) 2018-06-14 10:12:29 -07:00
Maxime Beauchemin a1095437bc
Introduce class attr BaseViz.enforce_numerical_metrics (#5176) 2018-06-13 22:45:03 -07:00
Maxime Beauchemin 30111bf3fd
Repoint .istambul.yml to the right location (#5187)
Never did this when I renamed the folder. `npm run cover` currently
doesn't generate a proper coverage report, this fixes it
2018-06-13 22:22:39 -07:00
Timi Fasubaa 7a107fac62 pass_error_message_separately 2018-06-13 21:43:48 -07:00
timifasubaa 6e37d3f882
Merge pull request #5190 from timifasubaa/fix_null_metrics
[bugfix] form_data - fix empty metrics
2018-06-13 17:53:42 -07:00