* Fix spaces and comas not working in filter popover
* Fix popup not opening automatically
* Add e2e test
* Remove only from test
* Remove redundant test, add checking label content
* Add comments to e2e test
* Fix unit test
* Use destructuring
* Always open popup for functions and saved metrics, too
* Fix popover for adhoc metrics too
* Small refactor to consistency
* Refactor for consistency
* Remove redundant functions
* Test fix
Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
* toggleSchedule
* cleaning up run query button
* removing unnecessary (subtle!) style overrides
* bulk action classname to button style prop
* nixing btn-primary
* nixing cancelQuery class
* togglesave
* nixing autocomplete class
* linting
* nixing button classes of 'ok' and 'reset'
* unoing diagnostic test
* begrudgingly adding an m-r-3 class... for now
* this is not a class to worry about
* test fixes for limit control
* updating TODO notes, calling it a day for now.
* gah... copy paste error.
* use conditional operator for lookup
* editing dashboard title should update after save
* uncomment test
* fix json metadata save
* json metadata color scheme should overwrite state
* test's functionality is no longer applicable
* add lastModifiedTime to DashboardInfo
* Remove usages of reactable in AlteredSliceTag
* Fix tests
* Move mocked data to fixtures file
* Use optional chaining
* Remove default value, change a unit test logic
* Code review fixes
* error -> error-solid
* warning -> warning-solid
* all the new icons mixed in!
* card-view -> card_view
* circle-check-solid -> circle_check_solid
* corrected circle-check to new name and correct (stroke) icon
* sort-asc/desc -> sort_asc/desc
* databases -> database
* compass -> nav_explore
* pencil -> edit-alt
* more pencil migrations
* easy list view rename
* star -> favorite (changed in Figma)
* removing deprecated icon
* renaming icon to mach figma
* More -> More Horiz
* forgot to change this when ranming the file
* updating some icon names in use
* adding hella icons
* fixing errant viewboxes
* removing dropdown-arrow in favor of triangle-down
* adding key to storybook map.
* fixing icon component reference
* tweaks to fave star styling to support revised icon
* fixing a bad icon inclusion
* missed a license
* touchup to virtual dataset... will tweak later.
* e2e fix
* linting
* use svg for checkbox component
* add vertical align to svg
* use emotion styling
* update import to superset core
Co-authored-by: Elizabeth Thompson <elizabeth@preset.io>
* Update eslint version to 7.8.1
* Give names to unnamed functions to fix lint errors
* Update eslint-import-resolver-webpack
* Update eslint-plugin-cypress
* Add eslint-plugin-react-hooks
* Update necessary peer dependencies for eslint-config-airbnb
* Update eslint airbnb config and ts plugins
* Remove "this" from functional component
* Disable all rules that cause new errors
* Fix linting errors in tests
* Add licenses to .eslintrc files
* Add path and zlib to package.json
* Disable incompatible rule in eslint-plugin-cypress
* Remove redundant config for typescript linting
* Mark disabled rules with comments
* Remove path and zlib from deps, disable import rule for webpack files
* fix: ColorSchemeControl should not be CreatableSelect
Currently if you type to search in ColorSchemeControl it crashes the
whole page.
* Make it possible to filter by label
* Fix ColorSchemeControl unit test
* getting rid of weird focus/active outline ring
* Buttons... buttons _everywhere_
* linting
* Nixing views/CRUD/dataset/Button component
* fixing 2 typing errors
* fixing more TS errors
* prefer src path for include
* one more real button, one less CSS class
* one more "button" to "Button"
* Published Status is now a proper clickable Label
* nixing the CRUD button again
* touching up stories, with SupersetButton story
* SIP-34 button colors
* adding polished package to mix colors
* updating button colors to match Superset theme
* abstracting away from bootstrap-specific props (might pivot libraries soon!)
* more abstraction from bsStyle/bsSize props
* exchanging styles for a prop
* linting
* restoring feature flag to stock
* using src alias
* last <button> replacement
* this classname would never be applied
* more linting action
* fixing unsupported bsSize 'medium', and cta typing error
* more cta action
* unnecessary styles
* errant bsSize prop
* cleanup
* tweaks to make new New button work
* Linting
* fixing a couple tests
* fixing theme based test failure
* margin tweak for NEW button
* another fixed test
* another fixed test
* fixing two more tests
* fixing last broken tests.
* always be linting
* Adding tertiary/dashed buttons
* cleaning up QueryAndSave buttons
* fixing "link" button styles
* fixing/updating link button styles
* cta buttons on Modal component
* linting.
* exporting button story knobs, making ALL knobs safe for export.
* capitalizing a file... no big whoop
* Basic button tests
* renaming button - temporarily
* renaming file to fix capitalization issue
* passing theme through to a difficult popover.
* fixin' a newly busted unit test
* lint fixin'
* oops, shouldn't have changed this prop!
* adding a dive() to themedShallow, and fixing a cypress/jest test
* addressing lint stuff
* touching up stories, with SupersetButton story
* SIP-34 button colors
* updating button colors to match Superset theme
* abstracting away from bootstrap-specific props (might pivot libraries soon!)
* linting
* restoring feature flag to stock
* cleanup
* Linting
* renaming button - temporarily
* renaming file to fix capitalization issue
* oops, shouldn't have changed this prop!
* adding a dive() to themedShallow, and fixing a cypress/jest test
* addressing lint stuff
* nixing new modal button
* Fixing another popover/button issue that should break cypress
* lint ✨
* passing classNames through to new button (should fix some tests)
* cleaning unused classes, making cypress tests use data attrs
* fixin' the test
* fixing another class-based test with data-test attr
* no longer passing theme as prop to buttons in popovers... themeprovider is better
* outline/border tweaks!
* moving two console errors to logger errors
* nixing unused map index
* nixing unused param
* linting
* changing an alert to a toast
* fixing tests
* lint fix
* one letter change, just to see if iti gets CI to pass this test.
* chore: TypeScript <Label />
* rebase
* chore: TypeScript <Label />
* rebase
* A bunch o' test fixes. One more to go!
* helper for mountying Emotional components with Enzyme
* asf license
* fixed last test, some linting
* improve the storybook
* Adressing comments
Co-authored-by: Evan Rusackas <evan@preset.io>
* fix: show label for filters in filter box in explore
* test: add test for label in filter box
* test: add test / fix lint
* fix: fix CR notes
* refactor: add label propType to FilterBoxItemControl.jsx
* feat: improve filter control tooltips
* add styles
* break out utils into own file
* lint
* add tests
* styled component now working
* lint
* add license headers
* replace shallow with mount due to withTheme
Co-authored-by: Evan Rusackas <evan@preset.io>
* fix(log): log crashes if expired or not authenticated
* fix lint and rison
* add tests
* more tests
* perm fix
* fix test not found
* JS lint
* fix Jest test
* feat: SIP-34 explore save modal
* using a const for the session storage key
* backend changes
* minor tweaks
* more tweaks
* radio cosmetics
* styles
* fix tests
* CreatableSelect\!
* Fix cypress & lint
* fix unit
* lint
* Storybook added!
* starting to configure junk....
* Storybook works!!!
* Now with theme!
* apache boilerplate
* more apache comments
* lots o' knobs for the Button.... taking stock of the codebase
* more classes, but killing the knob for now.
* nixing unused module
* linting
* fresh package-lock
* now with tooltip!
* adding path and zlip because the linter told me to
* upgrading storybook packages from devdeps
* linting
* removing cruft
* killing an annoying (and old?) lint issue
* lint fix, take 2.
* removing zlib/path
* package lock reset from master
* re-adding new packages for this here PR
* nixing console log, simplifying
* nixing comment TODOs (done enough!)
* basic docs.
* fix: extra filters
* fix old test and add new test
* add test for null filter value
* leave lowercase until all operators are fully uppercased
* bump packages
* rename test
* fix: API marshmallow3 drop utc for naive datetime fields
* fix: API marshmallow3 drop utc for naive datetime fields
* fix, tests
* isort and test
* black
* add and fix test
* fix comment
* [WIP] Typeahead dashboard filter_box
* Make it work
* add config option for async filter_box
* enable for > 1000 options only
Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
* out with the old, in with the new
* vertically centering logo once and for all
* lint: black instead of IDE formating
* touch config.py
* Styles -> StyledHeader
* nixing vestigial SVG
* removing trademark
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
Glyphicons stopped working recently, not sure why, but let's get rid of
them and double down on font-awesome that we use a lot more in the
codebase. There's only a few instances of glyphicons and they all are
broken ATM.
Also a few other minor style tweaks
* remove word cloud from viz.py
* Fix Run in SQL Lab
* remove deprecated python tests
* break out legacy endpoint type into function
* Break out exploreChart from exportChart and implement results type
* Fix jest tests and refactor accordingly
* lint
* Rename v1 payload function
* Add dashboard id to v1 chart data request url params
* Add support for domain sharding to v1 chart data request
* refactor(frontend): move utils to typescript (#9101)
* refactor(frontend): don't export interfaces
* test(frontend): update types and test for isValidChild
* feat: upgrade react-select v1.3.0 to v3.1.0
Upgrade `react-select`, replace `react-virtualized-select` with a custom
solution implemented with `react-window`.
Future plans include deprecate `react-virtualized` used in other places, too.
Migrate all react-select related components to `src/Components/Select`.
* Fix new list view
* Fix tests
* Address PR comments
* Fix a flacky Cypress test
* Adjust styles for Select in CRUD ListView
* Fix loadOptions for owners select in chart PropertiesModal
TODO: add typing support for AsyncSelect props.
* Address PR comments; allow isMulti in SelectControl, too
* Clean up NaN in table filter values
* Fix flacky test
* feat(frontend): add ability to export dashboard and chart as image (#6973)
* refactor: migrate download image as to typescript
* feature(frontend): download as image updates
add toast message if error occurs.
make generate file stem an internal method.
* refactor(frontend): move default background color to a const
* feat(frontend): wrap download image toast in translate function
* calling new chart api (mostly working)
* can't .then when the promise has already been await-ed
* Add handling for v1 API response
* comment
* update word cloud plugin & dependencies
* testing
* try just waiting
* Revert "try just waiting"
This reverts commit 10c092effd.
* tweaking bootstrap types
* Bumping word cloud package version
* new package lock
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
Co-authored-by: Evan Rusackas <evan@preset.io>
* Expose additional APP_ICON_WIDTH python config variable to ui via app bootstrap for use in Menu
* Update base.py to inclue APP_ICON_WIDTH via bracket notation instead of .get and adjust Menu proptypes to be required.
Co-authored-by: Natalie Ruhe <nruhe@nruhe.attlocal.net>
Co-authored-by: Natalie Ruhe <natalie@preset.io>
* improve history for query params
* fix: push browser history on pagination in react listviews
* fix spec
Co-authored-by: Tai Dupree <tdupreetan@gmail.com>
* feat: [explore] don't save filters inherited from a dashboard
When navigating to explore from a dashboard context, the current
dashboard filter(s) are passed along to explore so that the context is
kept. So say you're filtering on "country=Romania", in your dashboard
and pivot to explore, that filter is still there and keep on exploring.
Now a common issue is that you'll want to make some tweak to your chart
that are unrelated to the filter, say toggling the legend off for
instance, and then save it. Now you back to your dashboard and even
though you started with an "all countries" dashboard, with a global
filter on country, now that one chart is stuck on "Romania". Typically
you notice this when filtering on something else, say "Italy" and then
that one chart now has two mutually exclusive filters, and show "No data".
Now, the fix is to flag the filter as "extra" (that's the not-so-good internal
name we use for these inherited filters) and make it clear that that
specific filter is special and won't be saved when saving the chart.
* fix build
* Upgrade webpack, babel and React
* Upgrade all Babel related packages
Also remove babel-plugin-css-modules-transform that is not in use.
* Remvoe tslib as dependency
* Remove unnecesary packages
* typescriptification
* use the chart edit modal on the react list view
* linting
* typings don't work on old react-bootstrap version
* lint
* remove duplicate field
* [datasets] new, react listview
* add hidden columns to support filtering by columns not rendered
* throw exception if config is incorrect
* fix database filter
* update endpoints to point to datasets; fix translation strings
* move Link into src/components
* add add new record button to datasets listview
* Add feature flags to control query sharing, KV exposure
* Add tests, fix bug
* Skip test for kv endpoints when they are disabled
* ESLint fixes
* Remove unnecessary binds
* Fix eslint errors
* Add note to UPDATING.md RE: new feature flag options
* Use expanded version of RBAC
* Enable KV_STORE and SHARE_QUERIES_VIA_KV_STORE feature flags in the test environment
* Fix black