Commit Graph

78 Commits

Author SHA1 Message Date
David Aaron Suddjian
257385e888 feat(explore): Upgraded viz select gallery (#15303)
* add modal layout with description, rework styles

* thirty percent

* test correctly

* avoid any changes in modal height

* typescriptify

* feat(viz): add categories to the viz picker (#15304)

* feat(viz): add categories to the viz picker

* fix test types

* add a catch-all category

* tweak layout

* upgrade superset-ui to get new metadata

* do i look like i know what a jpeg is

* fix tests

* lint

* remove script count test requirement

* fix e2e test

* feat(explore): Viz picker search improvements (#15399)

* upgrade superset-ui, install fuse.js

* add metadata to plugin context

* get search working

* layout improvements

* fix tests

* Update superset-frontend/src/explore/components/controls/VizTypeControl/index.tsx

Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>

* use typography size instead of grid unit

* comments

Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>

* feat(explore): Examples image gallery in the viz type control (#15489)

* feat(explore): add section for example images in viz type control

* fix jpg webpack config

* formatting

* feat(Explore): Viz gallery component tweaks (#15520)

* separate viz gallery from the modal

* use gallery directly in add slice view

* more formatting on the add slice container

* restyle the thumbnail list

* explicit thumbnail width and height

* remove crappy hack

* remove useless line

* comment

* sort categories

* comments

* tweak search behavior

* fix tests

* open gallery to the currently selected viz type

* null safety

* show all plugins when searching empty string

* get the new metadatas

* adjust categories scrolling behavior

* add time series table metadata

* upgrade superset-ui

* attempt fixing tests

* upgrade descriptions

* fix unit test

* attempt fixing e2e again

* max width for viz gallery

* update package lock

* undo unnecessary webpack changes

* don't show search results until something is entered

* force modal to open to selected viz type

* tweaks to search behavior

* gallery layout tweaks

* enshrine pivot table v2 in a place of honor

* feat(viz): Clear viz gallery when navigating between categories (#15577)

* start viz gallery with null selection, clear when switching categories

* fix AddSliceContainer tests

* show a message when there is no viz type selected

* composition > inheritance

* clarify searching code

* comment

Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2021-07-12 10:59:10 -07:00
David Aaron Suddjian
83d50dd9fd chore: add metadata for filter box plugin (#15521)
* chore: add metadata for filter box plugin

* Update superset-frontend/src/visualizations/FilterBox/FilterBoxChartPlugin.js
2021-07-05 14:01:33 +08:00
Ville Brofeldt
422c32cb7d feat(filter-box): hide druid options if druid not enabled (#14921)
* feat(filter-box): hide druid options if druid not enabled

* add bootstrap export
2021-06-07 13:49:56 -06:00
Ville Brofeldt
20b86f81e7 fix(filter box): replace freeform where clause with ilike (#14900) 2021-06-04 06:43:07 +03:00
Yongjie Zhao
acbbced20b fix: timerange in filter box error (#14890) 2021-05-28 11:28:58 +08:00
Yongjie Zhao
9f54231af1 fix: filterbox apply single value (#14841)
* fix: filterbox apply single value

* fix ci

* fix e2e
2021-05-27 14:00:48 +08:00
Ville Brofeldt
e466066229 chore(native-filters): introduce experimental feature flag (#14814)
* chore(native-filters): introduce experimental feature flag

* break out util and add tests

* fix import
2021-05-26 17:20:33 +03:00
Evan Rusackas
568061e8d4 feat: bumping echarts plugin, adding new treemap plugin (#14560)
* chore: bumping echarts plugin

* feat: Upgrading to new treemap

* bump @superset-ui/plugin-chart-echarts 0.17.47

Co-authored-by: Yongjie Zhao <yongjie.zhao@gmail.com>
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
2021-05-13 22:52:17 +08:00
Mayur
05c24056b5 add new plugin (#14516) 2021-05-07 10:21:00 +03:00
Michael S. Molina
331310db9b refactor: Bootstrap to AntD - Form - iteration 2 (#14379) 2021-05-05 22:00:37 -07:00
Ville Brofeldt
5aef6bccd1 feat(viz): add funnel chart (#14480) 2021-05-05 14:26:12 +08:00
Amit Miran
13d4902711 feat(native-filters): select group by support (#14217)
* chore: initial commit

* feat: groupby filter

Co-authored-by: Simcha Shats <simcha.shats@nielsen.com>
2021-04-20 18:52:33 +03:00
Ville Brofeldt
7e0e9ac3fc feat(viz): add mixed and radar chart (#14197) 2021-04-16 23:59:32 +08:00
Kamil Gabryjelski
cab110e354 Enable the new pivot table (#14187) 2021-04-16 10:46:50 +02:00
krsnik93
ef1f048d81 feat: add Echarts gauge chart (#14072)
* feat: echarts gauge chart

* fix

* change plugin order

Co-authored-by: root <root@superset.ikrsnik.devonly.net>
2021-04-14 09:25:26 -07:00
Ville Brofeldt
375797f649 feat(native-filters): add timegrain and column filter (#13484)
* feat(native-filters): add timegrain and column filter

* add fetch values predicate

* bump deps

* lint

* fix test

* add python test for legacy merge

* fix default value and isInitialized to not check strict equality

* Address comments

* add FilterValue type

* address review comments
2021-03-09 17:27:46 +02:00
Yongjie Zhao
488da65986 feat(viz): implement time picker on filter box (#13377)
* refactor(explore): restructure DateFilterControl

* fix UT

* remove datasource props

* remove unused files

* fix DateFilterControl in filterbox over length
2021-03-02 07:50:58 +08:00
Mayur
6954114f84 feat: add Echarts Graph chart (#13111)
* update preset file

* migration added

* bug fix

* lint

* Update superset/migrations/versions/1412ec1e5a7b_legacy_force_directed_to_echart.py

Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>

* version bump

* bummp dependency

* add package.lock

* merge migrations

* add integration test

* lint

* remove unnecessary params from test

* check key existance in migrations

* test to typescript

* Update graph.test.ts

* fix migration downstream head

* Upgrade to lockfileversion 2

Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
2021-02-23 16:47:20 -08:00
pavlozt
4bc2daf4c1 fix: TimeTable average with nulls calculations (#13122) 2021-02-20 19:46:00 +02:00
Jesse Yang
571b53e9cf refactor: add frontend debounce constants (#13250) 2021-02-19 17:47:44 -08:00
michellethomas
91db008d72 fix: accept null groupby in form data for timeseries table viz (#13086)
* Allowing timeseries table groupby to be null in form data

* Check truthiness for is_group_by

Co-authored-by: michelle_thomas <michelle.thomas@airbnb.com>
2021-02-17 13:45:39 -08:00
simcha90
5aa38ef929 feat(native-filters): enable filter indicator and make datasource optional (#13148)
* refactor: continue decouple native filters

* refactor(native-filters): decouple native filter parms from config modal

* lint: fix TS errors

* lint: fix TS errors

* refactor: update filter badge

* refactor: rename ant filters

* test: fix tests

* test: fix tests

* refactor: remove 18 from dataset
2021-02-16 16:12:35 +02:00
Jesse Yang
613945a200 fix(FilterBox): treat empty defaultValues as null (#13109)
* fix(FilterBox): treat empty defaultValues as null

* Add a unit test and move constant around
2021-02-15 08:35:47 -08:00
simcha90
d6fc720f4c feat(native-filters): Time native filter (#12992)
* Add Time Filter component

* Improve Time Filter component

* Fix import errors

* Display Time Filter

* Remove console logs

* Change Control Panel

* Remove unnecessary files

* Use time range override

* test: fix tests

* feat: re run pipeline

* fix: fix some case for Time filter

* fix: merge with master

* use original time range

* fix height

* add cross filter behavior

* apply filters on initialization

* add applied filter to overrides

* add unit tests for merge_extra_form_data

Co-authored-by: Agata Stawarz-Pastewska <agata.stawarz-pastewska@polidea.com>
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
2021-02-13 12:09:54 +02:00
Michael S. Molina
7838f035ae Apply capitalization guidelines - iteration 9 (#12343) (#12455) 2021-01-21 21:46:29 -08:00
Kamil Gabryjelski
a90ebd94d4 fix(explore): Error message not displayed correctly in Timeseries table chart (#12659)
* Fix error message not displayed correctly in Timeseries table chart

* Fix lint error
2021-01-22 12:42:44 +13:00
Jesse Yang
1dd3344206 fix(explore): Add Time section back to FilterBox (#12537) 2021-01-14 22:09:33 -08:00
Geido
c1b8a46d01 fix: Popover closes on change of dropdowns values (#12410) 2021-01-14 10:33:20 -08:00
Grace Guo
e9d66e904f fix: do not show vertical scrollbar for charts in dashboard (#12478)
* fix: do not show vertical scrollbar for charts in dashboard

* Proper fix for #11419

Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
2021-01-12 17:16:25 -08:00
Jesse Yang
9acf48fd1e chore: upgrade eslint, babel, and prettier (#12393) 2021-01-10 17:26:35 -08:00
simchaNielsen
fecfc34cd3 feat: move filters from superset-ui to incubator (#12154)
* feat: move filters from superset-ui to incubator

* refactor: add safety check

* refactor: move extraForm data utils

* refactor: move extraForm data utils

* lint: fix lint

* chore: add license

* chore: undo changes to file

* refactor: fix CR notes / add tests

* test: update tests

* fix: fix range logic

Co-authored-by: Amit Miran <47772523+amitmiran137@users.noreply.github.com>
2021-01-08 14:44:25 +02:00
Ville Brofeldt
8afc4c4a44 fix(explore): bump superset-ui to 0.16.3 and fix DeckGL bug (#12242) 2021-01-04 22:01:09 -08:00
David Aaron Suddjian
865beae3d8 feat(dashboard): Dashboard-Native Filters (#11814)
* wip: filter create modal

* add a feature flag

* automatic changes to package lock

* wip

* filter sidebar and basic state management

* move create button to the sidebar

* first step for edit filterconfig

* partially fix tests...

* edits to types and comments

* respect feature flag on the filter sidebar

* add filterconfig form

* get input state working

* feat: tree filter scopes UI

* fix: turn on flag

* sticky filter bar

* stop preferring default export

* feat: finish filter scoping

* fix: under toggle

* fix: title

* fix: add licence

* refactor: update TS

* fix: fix on reopen modal + validation

* new filter bar menu

* adding, but commenting out, bulk scoping action

* adding some placeholder buttons and styles therefor

* feat: add filter chart

* add relative path to package.json

* update modal

* a little input styling... just getting warmed up

* Revert "feat: add filter chart"

This reverts commit b1302d35b6.

* Revert "add relative path to package.json"

This reverts commit 26a7b40e18.

* https package lock idk

* feat: add filter chart

* add relative path to package.json

* flexboxes all the way down

* dynamically generate groupby and datasource in select control

* big wip

* fix target column name

* no importing nonexistent things

* styles and name editing

* Add hook for retrieval of all filter states

* start with a new filter when clicking add filter

* handle removed filters gracefully

* fix incorrect default filter configuration

* add fields to useAllFilterState

* add redux for filterconfigs

* add support for native_filters

* remove consoles

* improve filter removal

* unbreak infinite loop

* basic sidebar toggling working!

* collapsing and menu working more smoothly

* linting

* make dataset and column inputs work

* save filter values properly

* add dashboard event for filter updates

* guarded

* apply filters properly

* fix schema

* making New Filter button a link

* gridunits ftw

* centering modal

* tis not a button anymore! nixing type.

* plus and collapse buttons instead of "more" menu

* updating full size filter icons

* adding icons to filter collapsing/expanding

* turning off animation, but leaving class-based animation css

* fix linting error

* fix native filters for legacy charts

* updates test

* no individual apply buttons

* fix bugs with filter config modal

* remove redundant code

* switch to the filter with validation errors on submit

* separate form validation

* switch config button from add to edit

* update tests

* oops forgot to add the fancy new useChangeEffect hook

* comments and code reorganization

* rename native_filters to extr_form_data and move hook

* disable native filters in viz selector

* add cascading

* implement new extra form data api

* cleanup

* updates tests

* bump npm packages

* fix bad merge on package.json + lock

* lint

* replace in and not in with uppercase

* lint

* lint

* lint

* lint

* bulk test fix

* Sort select input alphabetically

* Change type for sorting elements

* fix rest of unit tests

* make filter operators all uppercase

* Hide Filter bar when there are no filters

* Show edit button for dashboard owners only

* Add visible argument to filters toggle function to avoid future regression

* Improve Toggle filters bar function

* lint

* fix js lint + set createNewOnOpen

* Handle setting extra form data in Filter Bar instead of Filter Control

* Add Handle apply filter function to Apply button

* Allow applying changes instantly

* Fix types

* remove console logs

* Add Error Boundary component to Filter bar and Filter Config Modal

* fix jest tests

* update native filters tests to pass

* reset cypress baseUrl

* remove unnecessary field

* cleanup: remove unused state fields

* move unrelated types to an appropriate location

* remove misplaced resource fetch error logic

* fix cascadeParentIds error

* fix cypress password

* initial attempt at fixing scope issue

* fix bad merge

* fix lint

* trying out makeApi for saving filters

* remove unused import

* fix test

* silence bad test

* add native-filter feat flag config

* oops fix here

* remove space

* Update superset-frontend/src/common/components/index.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/cypress-base/cypress/integration/dashboard/nativeFilters.test.ts

Co-authored-by: Evan Rusackas <evan@preset.io>

* use styledMount in tests

* comment

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/nativeFilters/FilterBar.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/nativeFilters/FilterConfigModal.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/nativeFilters/FilterConfigurationLink.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* address PR feedback

* fix package lock

* null guards

* Fix charts resizing

* fix cypress tests

* add in nativefilters to form data

* fix lint and test

Co-authored-by: Phillip Kelley-Dotson <pkelleydotson@yahoo.com>
Co-authored-by: Simcha Shats <simcha.shats@nielsen.com>
Co-authored-by: amitNielsen <amit.miran@nielsen.com>
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: Agata Stawarz-Pastewska <agata.stawarz-pastewska@polidea.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-12-18 17:06:37 -08:00
Jesse Yang
8e625e0a64 fix: properly render booleans in FilterBox and explore page data preview (#12116) 2020-12-18 10:40:56 -08:00
Jesse Yang
af130ea5e9 fix: FilterBox select lose focus when focused (#12114) 2020-12-18 00:45:27 -08:00
Ville Brofeldt
2718909314 feat: add ECharts BoxPlot chart (#11199)
* feat: add ECharts BoxPlot chart

* lint

* fix cypress tests

* lint

* remove viz.py shim

* bump plugin package

* skip non-legacy plugin cypress dashboard tests

* fix cypress tests

* disable cypress tests for non-leagcy charts

* fix bad rebase

* use midpoint interpolation for quartile calculation

* bump packages and add support for no groupby

* whitespace

* whitespace

* linting

* fix tests

* xit mathjs load test

* bump mathjs to 8.0.1

* disable cypress filter test for v1 charts
2020-11-12 10:01:04 +02:00
Jesse Yang
92a9acd5c9 fix: minor style touch on dashboards (#11570) 2020-11-08 21:26:56 -08:00
David Aaron Suddjian
18658f45be feat(dashboards): Filter status indicators (#10936)
* Initial commit of new filters badge.

* refactor applied/rejected filters code

* finished filter indicators

* filter badge tested

* unnecessary imports

* formatting and types

* fixes

* license

* code quality tweaks

* state management for showing focused filter scope

* clean up filter key extraction code

* remove unnecessary styles

* temp css to demonstrate highlighting

* fix focused filter logic

* no more color badges

* new toys for highlighting dash components (#11144)

* tweak style for the filter chart when filter is focused

* style: Filters p0 css2 (#11151)

* nixing background tweak

* src paths

* another quick theme color

* src paths, adjusting pill icon color, changing icons, showing applied/busted counts

* linting stuff

* fixing and tweaking tests

* show filter indicator when filters are not active

* chart title bar cleanup

* open the right panel when popover opens

* unused import

* fix EditableTitle tests

* margin on dashboard header

* show the chart dropdown menu

* fix blur filter breaking dropdowns

* style tweak - no pointer events when irrelevant charts are blurred

* fix box shadow on filter highlight

* it's an array

* attempt fixing e2e

* style: filters p0 icon churn (#11215)

* new filters icon

* icon styling

* bigger icons in list views

* better sizing of table actions and favStars

* more icon sizing...

* fixing more button size jankiness

* linting

* Filters performance (#11255)

* fixing time filter "ok" button

* making unset filter menu collapsible

* sort alphabetically

* fix highlighting when removing items

* try a flex layout (for browser render perf)

* more specific transitioning

* temp: comment out some code as a test

* temp: comment out more code

* temp: remove possibly expensive computations from ChartHolder

* Revert "temp: comment out some code as a test"

This reverts commit 309b880e90.

* Revert "temp: comment out more code"

This reverts commit 64c88b2cba.

* Revert "temp: remove possibly expensive computations from ChartHolder"

This reverts commit 37ce0214f0.

* experiment: upgrade react-select to v3

* Revert "experiment: upgrade react-select to v3"

This reverts commit c3972ba486.

* fix the damn problem

* remove code used for testing purposes

* awful hack to avoid adding a class to a container

* approaching infinity... and not beyond!

* fix ref forwarding

* add theme to tests as necessary

* fix(extra-filters): add logic for identifying applied extra filters (#11325)

* fix: use dashboard id for stable cache key (#11293)

* fix: button translations missing (#11187)

* button translations missing

* blank space before text

* feat: update time_compare description and choices (#11294)

* feat: update time_compare description and choices

* Update sections.jsx

* fix(extra-filters): add logic for identifying applied extra filters

* lint

Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
Co-authored-by: rubenSastre <ruben.sastre@decathlon.com>
Co-authored-by: Erik Ritter <erik.ritter@airbnb.com>

* address design feedback

* slight tweak to panel logic, keep panels open that user has opened

* rearrange code to be more graceful

* fix: bump superset-ui/core (#11385)

* use is_dttm instead of is_temporal

* types, names

* only show unset filter panel if there are unset filters

* fix highlighting the filter control

* fix filterbox layout

* translations

* fix cypress

* actually add the test attribute

* Update superset-frontend/src/dashboard/components/DashboardBuilder.jsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/DashboardBuilder.jsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* formatting

* add link comment to hack

* Update superset-frontend/src/dashboard/components/gridComponents/ChartHolder.jsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* stop importing lodash

* Update superset-frontend/src/dashboard/components/gridComponents/ChartHolder.jsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/FiltersBadge/Styles.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/FiltersBadge/Styles.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/FiltersBadge/Styles.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/FiltersBadge/Styles.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* skip broken test

* Update superset-frontend/src/dashboard/components/FiltersBadge/Styles.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/FiltersBadge/Styles.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* adjust colors of titles

* linting

* no indicators when chart is loading

* support all time fields

* fix lock file

Co-authored-by: Natalie Ruhe <natalie@preset.io>
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
Co-authored-by: rubenSastre <ruben.sastre@decathlon.com>
Co-authored-by: Erik Ritter <erik.ritter@airbnb.com>
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
2020-10-28 15:46:24 -07:00
Kasia Kucharczyk
94e0f0cc2a Moved css of inline inputs of DateFilterControl to css of FilterBox where it appears. (#11427) 2020-10-26 21:50:27 -07:00
Kamil Gabryjelski
6acae9ab6d refactor: Replace usages of reactable in TimeTable (#11239)
* Refactor TimeTable to use react-table

* Fix import

* Refactor TimeTable into functional component
2020-10-26 10:25:41 -07:00
adam-stasiak-polidea
fc03549299 chore: Added data-test attributes for testing (#11254)
* Added data-test attributes for testing

* fixed incorrect naming change

* review changes
2020-10-14 16:12:01 -07:00
Grace Guo
88af85ac53 fix: show TIME COLUMN options in dashboard (#11210)
* fix: show TIME COLUMN options in dashboard

* add unit test
2020-10-12 21:43:30 -07:00
Erik Ritter
3d76f81bf7 Revert "refactor: Remove usages of reactable from TimeTable (#11046)" (#11150)
This reverts commit f01b8a30f7.
2020-10-02 22:21:10 -07:00
Kamil Gabryjelski
f01b8a30f7 refactor: Remove usages of reactable from TimeTable (#11046)
* Use ListView instead of reactable

* Refactor TimeTable

* Spark column width fix
2020-09-28 09:42:06 -07:00
Ville Brofeldt
a9eab33d64 feat: add ECharts Pie chart (#10966)
* feat: introduce echarts pie chart

* lint

* remove viz.py shim

* remove tests

* fix cypress test

* fix test
2020-09-22 19:27:40 +03:00
Kamil Gabryjelski
4835d3b0a2 ESLint: Re-enable rule no-access-state-in-setstate (#10870)
* Re-enable rule no-access-state-in-setstate

* Move accessing event values out of async functions
2020-09-20 23:48:23 -07:00
Kamil Gabryjelski
557a303cc5 ESLint: Enable rule no-named-as-default (#10879)
* Enable rule no-named-as-default

* Fix wrong import
2020-09-18 13:41:01 -07:00
Jesse Yang
0129c4253d feat: move ace-editor and mathjs to async modules (#10837)
Follow up on #10831, move brace and mathjs to async modules so that the initial page load for dashboards most pages can be faster.
2020-09-15 14:12:06 -07:00
Kamil Gabryjelski
e28f3d6220 Re-enable rule line-between-class-members (#10862) 2020-09-14 15:41:32 -07:00
Kamil Gabryjelski
2d8f4e3aaf Re-enable rule no-else-return (#10861) 2020-09-14 13:00:07 -07:00