-
Notifications
You must be signed in to change notification settings - Fork 13.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: sql lab toolbar fixes #12198
feat: sql lab toolbar fixes #12198
Conversation
* Add fav filter - tentative * Closes apache#11984 * Fix tests * Delete trailing spaces * Fix spec btns length * Fix mock test * Add urlDisplay option * Redirect with history * Catch initial fav filter
* fixing overflow issue * lint!
…2113) * WIP * camelCase everything * Hide 'fix did you mean?'
* feat: estimate query cost in Postgres * Add example in config * Fix lint
* 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 b1302d3. * Revert "add relative path to package.json" This reverts commit 26a7b40. * 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>
* 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 b1302d3. * Revert "add relative path to package.json" This reverts commit 26a7b40. * 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 * 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 * sleeker filter removal UX * 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 * fix package * 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 * Add Parent Filter input field to Config Modal * Create Cascade Filter & display children filters * Add Cascade Popover * Display Filter value both in Filter Bar and in Cascade Popover * Display the youngest filter value label in the Filter bar * Add styles to Cascade Popover and filters * Force to apply changes instantly for parent filters and refactor styles * Show error for no cyclical hierarchy and refactor * Add validation for parent filter to be applied instantly * Add Error Boundary to Filter Config Modal * 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 * Improve styling of Filter Config Modal * Improve styles for whole native filters feature * Add styles for active filter tab * Fix text for scoping * Clean up Filter Bar and Config Modal styles * Remove fractional gridUnits. Change name for CheckboxFormItem. Add placeholder to Parent Filter select. * Remove unnecessary button size for Config Modal * 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> * Add Cache Wrapper helper to avoid datasets requests deduplication * Add license to new Cache Wrapper helper * Add Cache Wrapper tests * Fix expanding Filter Bar * 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 * removing emotion/react and going old school on css animation * fxing css glitch on scoping disclaimer * src paths. * using gridUnits * nixing unnecessary diamonds * linting * fix type errors * Inverting collapsed icons... closer to data src selector design * restoring feature flag to proper default setting * missing condition * fix tests * patching test * just a button * flaky tests Co-authored-by: David Aaron Suddjian <aasuddjian@gmail.com> 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: David Aaron Suddjian <1858430+suddjian@users.noreply.github.com> Co-authored-by: Agata Stawarz-Pastewska <agata.stawarz-pastewska@polidea.com> Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* first attempts at dynamic plugin loading * dynamic import working for explore * memoize appropriately * add a backend for dynamic plugins * hack at getting dynamic plugins working with dashboards * more work on making it work, + feature flag * lint * actions to fix explore state when plugins load * handle dynamic control panel, functionify ExploreViewContainer * fix: rearrange migrations branch * fix: name and key as strings with length 50 * bundle url length 2000 * bundle url to text for some reason not supported on my sql * fix: too long varchart * fix: pre-commit typing * fix: licenses * fix: add slice container was not initing feature flags * fix: undo linting issue * fix: adjust down revision again * fix: adjust down revision again * isort * pylint * god damn linters * remove unnecessary(?) loading message * only log non-standard errors * testing * python is terrible * see above commit message * fix imports in DynamicPluginProvider * fix * shift migration forward * lint * fix form data calculations to handle missing control config * temp commit - waiting for superset-ui changes and crud fixes * remove unnecessary todo * use new superset-ui shared module function * fetch the plugins instead of hardcoding the test one * migration sort * remove duplicated import statement * format * try moving the import 🙄 * copy * fix frontend tests * safe access * comment out dead code * isort * disable pylint on necessary lines * use @superset-ui/logging instead of console * remove temp code * rearrange some code * try triggering mouseover in cypress before click * use loading spinner instead of text * trying to fix cypress * attempt cypress fix * customize permissions * update package lock * only admins can write to plugins by default * better copy * disable flaky tests * use makeApi * flaky tests * cleanup code * flaaaakkkyyyyyy * dry Co-authored-by: amitNielsen <amit.miran@nielsen.com>
* fix: start date format for executation log * fix: paginated query
* Explore SaveModal to typescript * Fix test * Fix * Fix lint * update SaveModal without any type * Update * Fix lint * Fix lint * Fix test * Fix * Fix * Fix lint * Refactor * Fix
* fix(report): fix last_eval_dttm sort and more tests * remove unnecessary permissions and split code path * remove SIP_34_ALERTS_UI * disabling an alert that is working will turn it to not triggered
* fix: database alpha permissions * add test
* Fix anchor-is-valid lint warnings * Change IconTooltip to use named exports
* Refresh interval * WIP
* Change chart_is_fav to chart_is_favorite * Trigger cypress tests * Retrigger cypress tests * Retrigger all tests * Dashboard * Additions
* fix(explore): save to dashboard not working * fix test
…pache#12174) * fix(reports): notification without standalone link back to superset * fix comment
* fix(alerts/reports): ensure correct type is sent to api * fix: chane actions labels to generic Edit/Delete * fix: ts-ignore * fix: add more dependencies to callback functions * fix: remove duplicate api calls when toggling between types * lint
* save quite * working func for ctas and cvas * fixing errors * fix type errors * fix things * fix * styling for toolbar * adjust styling Co-authored-by: hughhhh <hughmil3s@gmail.com>
18e711e
to
2fa872c
Compare
Codecov Report
@@ Coverage Diff @@
## feat-sql-toolbar #12198 +/- ##
====================================================
+ Coverage 63.27% 64.26% +0.98%
====================================================
Files 971 484 -487
Lines 48118 29764 -18354
Branches 4794 0 -4794
====================================================
- Hits 30446 19127 -11319
+ Misses 17479 10637 -6842
+ Partials 193 0 -193
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
SUMMARY
Fixes a few styling/interaction issues with sql lab toolbar:
DONE: Buttons aren't centered vertically in the container (currently too far down)
DONE: Tooltip on Run button currently shows up when hovering over CTAS and CVAS options
DONE Limit currently uses both commas and spaces - we should just use spaces
DONE overflow menu: style overflow dropdown menu to match run and limit dropdowns (no caret)
DONE overflow menu & dropdown buttons (run & limit): trigger dropdown on click instead of hover
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
toolbar2.mov
toolbar1.mov
TEST PLAN
existing jest tests should pass
ADDITIONAL INFORMATION