* update to datsource tab
* second update
* style updates
* update style and fix metrics bug
* updates to datsource panel
* backgrounds and borders
* more updates
* shuffling some paddings around
* more updates
* moving some more paddings around!
* Fixing sidebar width
* using Global to adjust body layout
* update test and fix bug
* removing hotkeys
* layout fixes for short content, simplifying some class names
* more styles
* add tooltip to collapse and div clickable
* more updates
* more updates for styles and add list component
* update from comments
* vising cosmetic issue with line-wrapping drop down caret on controls sections
* controls area scrolling properly again.
* change lists to old list and updates from comments
* border radius from theme
* add length field and updates from comments
* more changes from comments
* integrate health with new control
* change callapse back from stylsheet more udpates
* substitution string
* more substitution strings
* fix tests
* datasource alignment
* taking margin off the search input
* update input to flex
* fix lint
* adjusting column/metric label stylng
* fixing scrollable area layout, one more color variable
* simplifying some styles
* nixing a bad left margin
* Using gridunit for padding
* using gridUnit for padding
* define types for datsource panel
* fixing a padding issue
Co-authored-by: Evan Rusackas <evan@preset.io>
* Changed security permissions for annotations and annotation layers
* Updated permissions in annotation layers list
* Created test for retrieving premissions info. Updated uris from f-strings to strings
* Updated annotations in security_tests and added annotations to NEW_SECURITY_CONVERGE_VIEWS
* Added migration for annotations security converge
* Updated current revision after rebase master
* Updated migration name to annotations security converge
* Updated annotations permissions names in AnnotationLayersList and updated test since 'can_write' has wider permissions
* Updated annotations migration to current
* Migrate react-select to Antd select in Metrics popover
* Fix tests
* Migrate react-select to Antd select in Filters popover
* Migrate SelectControl to Antd Select
* Add label with number of options left
* feat: add hook for dataset health check
* add event log
* optimize datasource json data like certified data
* add unit test
* fix review comments
* extra code review comments
* Removes hard coded colors
Removes hard coded colors defined in src/components/styles.ts. The colors defined in this file were used only in the Select component so they were migrated to src/components/Select/styles.tsx and ajusted to conform to the theme colors.
* Use theme context for Select styles
* Includes Theme Provider in tests with Select
* upgrade redux and react-redux, adjust types
* first round of test fixes
* fix rest of unit tests
* lint
Co-authored-by: Phillip Kelley-Dotson <pkelleydotson@yahoo.com>
* create boiler modal component
* hello world modal
* setup modal flow
* setup savemodal for components
* flake8
* fix onclick reference
* working create datasource boiler
* saving spot for callback on text input
* working dataset with input box
* working redirect on completion
* get data for owners dropdown
* fix build with pull from master
* fix the filteroption
* 💯
* move state to upper component
* add overwrite state
* hacked overwrite process
* linting
* fix filter
* cleaning up the coe
* Delete preset.code-workspace
* remove unused code
* remove visualize
* update default value
* remove unneeded vars
* checkout package-lock.json
* linting
* get user id
* remove page filter
* setup proper call for updating columns in dataset
* add move to explore flow
* linting
* add param for overriding columns
* linting
* change title
* fix some tings
* cleanup
* linting
* add types in some places
* save toast
* use moment
* add error toast
* create enum for radio states
* initial state for saving query
* add tpying
* addressing concerns
* update propTypes
* add functionality for CTAS explor btn
* handle CTAS state
* fix onclick to reference upper level component
* formatting
* reset state after closing
* add error message when user doesn't pick an already selected dataset
* remove unneeded todo
* remove styling
* move async calls to api directory
* remove console.log
* add user id param
* typing
* littty
* move put to seperate file
* save
* dsf
* fix typing errors
* adding more types
* fix typing erros
* linting
* add basic spec test
* create dataset modal
* add components reference
* Rename SaveDatasetModal_spec.jsx to SaveDatasetModal_spec.tsx
* remove sinon for now
* fix typing errors on modal files
* fix linting
* address comments
* attempt to fix linting
* add props
* fix test
* fix the linting
* yerp
* fix this references
* spaces
* handleOverwriteCancel reference cleanup
* rename bool value for shouldOverwriteDataset
* fix typing for onChange
* you still the best in the world
* fix spec
* align branches
* push
* fix key names
* fix dataset reference
* lowercase
* fix save bug with tiem
* fixed styling
* fix date state after push to explore
* add disabling states
* plz refactor this
* this is working fully now
* do some renaming
* renaming
* remove console.logs
* still refactoring
* remove unneeded code
* remove unneeded variables
* still cleaning
* added interface
* fix typing issues
* cleanup unused code
* fix npm lnit
* fix initial problems
* add props to test
* remove unneeded files
* skip linting
* saving
* this works
* remove old test
* remove old test
* fix linting
* fix broken test
* remove jsx file
* refactoring
* cleanup
* remove comments
* reset user object
* fix functions
* fix this
* reverting CTAS btn flow
* remove onclick
* save frontend work
* allow for database id to be passed as param in body
* use enum
* fix linting
* style alignment
* get rid of .then
* add function to compute default value with tiem
* lit
* remove ts-error
* fix typing
* Upgrade react-split
* Implement split on ExploreChartPanel
* Implement tabs with collapse
* Fix run query button
* Fix copy to clipboard button
* Move table controls to separate file
* Make component more generic to handle samples
* Remove samples from DisplayQueryButton
* Move data tables to separate file
* Make split dynamically controlled
* Fix unit test
* Fix arrow not centered
* fixup! Fix arrow not centered
* Change copy button paddings
* Use translations
* Fix grammar in a comment
* Fix imports
* Use grid units
* Convert new files to typescript
* Fix after rebase
* Remove forceRender
* Fix big_number test
* Delay making request until panel is opened
* White background in south panel
* fixup! White background in south panel
* Lint fix
* Lint fix
* Remove redundant prop types
* Remove console log
* Delay loading samples until user switches tab
* Add debounce to filter input
* Use gridUnit for gutter sizes
* Change types object to Record<string, any>
* fix (dataset editor) add read-only mode for Source tab
* add feature flag, add unit tests
* rebase and fix comment
* add message for padlock
* move padlock to the bottom of tab
* feat(saved queries): security perm simplification
* migration script and frontend
* add downgrade procedure
* downgrade procedure, inferred from the upgrade data
* fix JS test
* improve code
* add tests for role migration
* more tests and a short description for each one
* Improve readability
* simplify dataclass creation
* fix dataclass
* Refactor tooltip in ColumnElement
* Refactor tooltip for Button
* Remove redundant import
* Refactor tooltip in SqlEditor
* Increase line height in tooltip so that the text is centered
* Refactor tooltip in Link
* Refactor tooltip in AdhocMetricEditPopoverTitle
* Refactor tooltip from ControlHeader
* Refactor tooltip in DateFilterControl
* Refactor tooltip in VizTypeControl
* fixup! Refactor tooltip in AdhocMetricEditPopoverTitle
* Refactor tooltip in QueryAndSaveBtns
* fixup! Refactor tooltip in DateFilterControl
* Refactor tooltip in CopyToClipboard, fix cursor pointer
* Refactor tooltip in TooltipWrapper
* Refactor tooltip in Field/DatasourceEditor
* Remove redundant import
* Fix typing for placement prop
* Decrease margin in ColumnElement divider
* Change default export to named
* Move SqlLab Tooltip styles to Emotion
* Fix tests
* Fix paste not working in Metrics and Filter inputs
* Use noOp instead of empty function
* Use default Select component instead of OnPasteSelect
* Revert onPaste override
* Remove MenuItem from CopyToClipboard
* Refactor DateFilterControl
* fixup! Remove MenuItem from CopyToClipboard
* Remove console log
* Refactor LanguagePicker
* Refactor HeaderActionsDropdown
* Remove dir with Menu component
* Add imports to common/components/index
* Fix after rebase
* Refactor Dialogs in dashboard properties modal
* Refactor Dialogs in explore properties modal
* Refactor dialogs in DatasourceModal
* Refactor dialogs in ExploreResultsButton
* Remove react-bootstrap-dialog from ExploreCtasResultsButton
* Remove react-bootstrap-dialog dependency
* Remove unnecessary functions from Modal
* Bump antd version to fix a bug
* Fix unit tests
* Fix e2e test
* Change antd version to 4.5.4 to fix tests
* Reenable all tests in control
* Another version bump to fix tests
* 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