* Bump node version to v15.8.0
* Update node version in Dockerfile and docker-compose.yml
* Set node version to LTS - v14.15.5
* Bump node version in .nvmrc
* moving Loading.tsx to the Loading folder
* Creating storybook for Loading component
* Creating unit test for Loading component
* fix eof on package.json
* Improving accessibility and interface
* just to run CI again
- Adds plugin:jest-dom/recommended to ESLint plugins list to enforce tests best practices
- Moves import @testing-library/jest-dom/extend-expect; from setup.ts to testing-library.tsx to avoid matchers collision
- Adds @testing-library/user-event to help simulate users events
* refactor: migrate table chart to new API
* chore: bump superset-ui to 0.17.0
* Fix Cypress tests
* Apply soft-conversion to numeric metrics
Fix time column formatting test
* Add translation to chart does not exist error
* Bump to 0.17.1
1. Upgrade match-sorter from 4.1.0 to 6.1.0
2. Add a debounce delay of 200 milliseconds to reduce excessive rendering (and searching)
3. Set keepDiacritics to true to improve performance
4. Display count of filtered results in "Showing x of xx", instead of the total results
5. Rank certified metrics to the top
* chore: migrate all harmless incubator refs like comments and documentation files
* chore: migrate all superset.incubator.apache.org to superset.apache.org to
* chore: migrate dist.apache.org refs
* chore: removing incubating and Disclaimer
* fix: linting issues
* 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>
* 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>
* 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>
* 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>
* Refactor DisplayQueryButton into functional component and use react-table
* Refactor EstimateQueryCostButton to functional component
* Use react-table instead of reactable-arc
* Remove reactable-arc dependency
* Add margin for copy button
* Make search case insensitive
* 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
Fixed a couple of criticle errors and left the warnings as is (mostly
from react-hooks/exhaustive-deps).
Let's fix the warnings in future PRs as sometimes unexhaustive deps
are intentional.
* 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
* 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!
* Niftier paddings
* upgrading storybook, fixing glob pattern
* moving a couple storybook dependencies to dev dependencies
* fixing annoying lint issue about dev dependencies needing to be dependencies
* adds essential addons, fixes backgrounds
* newline tweaks
* comment about no-extraneous-dependencies, higher specificity on that rule, other linting stuff
* a *python* linter doesn't like this whitespace?!
* putting the linespace back
* ugh, found the space causing CI issues... I think
* 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
* bumping style package (now with typography styles!)
* ThemeProvider ALL the things!
* package lock
* linting
* no need to parseInt here anymore, the values are numeric now.
* 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: bump superset-ui/time-format and big-number
This is for adding full dates to big number datetime formatted
by weekly interval.
* Bump time-format to v0.13.15
to bring in https://github.com/apache-superset/superset-ui/pull/493
* 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
* fix: invalid JSON in FR translation
* fix: broken or misformatted translations and add unit test for JSON validty
* Move translation lint test to CI task
* 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>
* build: collect code coverage from Cypress
Collect frontend code coverage reports from Cypress tests and add
proper tagging for all tests.
* Fix bash script lint error from shellcheck
* Revert Cypress to 4.3.0 to see if it fixes a failing test
* importing... this is going to break CI, but there it is.
* adding validator package.
* pluralization - maybe it should be plural, but whatevs
* updating validators to match new exports
* removing old validators
* lintage ✨
* validateNumeric -> validateNumber
* using legacyValidateInteger, legacyValidateNumber
* linting ✨
* removing extraneous package lock file
* control to turn off table bar-chart backgrounds
* flipping enable to disable, to support existing charts
* lint ✨
* Turn ON to enable (reversing logic)
* bumping big number chart
* ling ✨
* filter owners select by text input
* use rison
* fix backend owners filter logic
* use fullname, not username on owners inputs
* fix some tests
* fixing tests
* deterministic tests
* appease linter
* add back search by username
* more comprehensive filter test
* add clarifying text
* formatting...
* Use manifest hooks for dev server proxy
* Rewrite dashboard/App.jsx to supress Redux error in hot reload
* Update ChartRenderer to allow hot realod in Explore
* Fix hot reload in dashboars as well
* Revert changes to ChartRenderer.jsx
Will submit in another PR.
* Clean up
* 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
One of the pain points in developing Superset frontend code is the lack
of testing data. Local installation often do not have enough examples
setup to test all edge cases.
This change allows `webpack-dev-server` to proxy to any remote Superset
service, but the same time replaces frontend asset references in HTML
with links to local development version. This allows developers to test
with production data locally, tackling edge cases all while maintaining
the productivity of editing the code locally.
* 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