This is an automated email from the ASF dual-hosted git repository.
villebro pushed a change to branch 0.38
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git.
discard 248e914 fix: Disabling timezone of dataframe before passing Prophet
(#11107)
discard cf49446 chore: update version
discard 0f089a9 fix(chart-data-api): ignore missing filters (#11112)
discard eba85d5 fix(presto): default unknown types to string type (#10753)
discard 8aceec3 fix: simply is_adhoc_metric (#10964)
discard e11888c fix(jinja): make context attrs private on SQL templates
(#10934)
discard d879944 fix(legacy-druid): undefined filter key (#10931)
discard 18bd3ce refactor: ASF only dependencies on base.txt (#10875)
discard 9b53c55 chore: deprecate python 3.6 support (#10803)
discard d98a099 chore: bump pyarrow (#10733)
discard b6edf0c chore: ci Initial hive support (#10593)
discard 4f3fcfd fix(db_engine_specs): improve Presto column type matching
(#10658)
discard f7e2dfa fix(sql-lab): relax column name restrictions (#10816)
discard d61ffb2 fix: ColorSchemeControl should not use CreatableSelect
(#10814)
discard 3d9eab5 Fix: Include RLS filters for cache keys (#10805)
discard a30c02a fix: MVC show saved query (#10781)
discard c75823b security: disallow uuid package on jinja2 (#10794)
discard 67a8939 fix: can not type `0.05` in `TextControl` (#10778)
discard 4dc269f fix: pivot table timestamp grouping (#10774)
discard d410b8b More Label touchups (margins) (#10722)
discard 5fbe751 fix: dashboard extra filters (#10692)
discard cb5e650 feat(viz): add ECharts Timeseries chart (#10752)
discard 5e76d71 moving all @types to dev dependencies (#10750)
discard b6c1173 Fix: Rejiggering some dependencies, trying to get CI to pass
(#10747)
discard 7291d89 fix(db-engine-spec): execute oracle DML statement bug in
sqllab (#10706)
discard 4a6964f fix(jinja): extract form_data from json body (#10684)
discard 19db441 refactor(database): use SupersetResultSet on
SqlaTable.get_df() (#10707)
discard 4cb9cfd fix: change public role like gamma procedure (#10674)
discard da2f907 fix: shorten url with extra request parameters (#10693)
discard 63ec3c2 feat(listview): set default view mode based on THUMBNAIL
feature flag (#10691)
discard 163f3ac fix(filter-box): don't add empty filter to filtersChoices
(#10687)
discard f189570 chore: Fix indentation issue (#10690)
discard b3c7740 refactor: useListViewResource hook for charts, dashboards,
datasets (#10680)
discard f8bdf5e fix: SubMenu css (#10682)
discard b85b277 fix: layout flexiness (#10681)
discard 0034951 feat(row-level-security): add hook for customizing form
dropdowns (#10683)
discard f66a412 fix: only call signal if executing on the main thread (#10677)
discard 5bf0ca4 Eslint error cleanup (#10657)
discard 59af29e fix(db_engine_specs): mysql longtext type should not be
numeric (#10661)
discard e288fb8 Remove incorrect comment (#10652)
discard 25e4f4e fix: remove FAB rendered menu in favor of react based one
(#10401)
discard c44ee37 feat: use shorten url in standalone iframe (#10651)
discard cfd8691 feat(listview): skeleton loading states for table and card
collections (#10606)
discard 3e8249b feat: Getting fancier with Storybook (#10647)
discard 7d62a72 fix: dedup groupby in viz.py while preserving order (#10633)
discard 604ac57 feat: bump superset-ui for certified tag (#10650)
add cb1989a feat: bump superset-ui for certified tag (#10650)
add 82dda47 fix: dedup groupby in viz.py while preserving order (#10633)
add 878f06d feat: Getting fancier with Storybook (#10647)
add b86c0e5 feat(listview): skeleton loading states for table and card
collections (#10606)
add aa8ff87 feat: use shorten url in standalone iframe (#10651)
add 45fee60 fix: remove FAB rendered menu in favor of react based one
(#10401)
add 0f44d3e Fix add chart page frontend i18n issue (#9321)
add 52d7671 Remove incorrect comment (#10652)
add 0177c2f fix(db_engine_specs): mysql longtext type should not be
numeric (#10661)
add 9461f9c fix(db_engine_specs): improve Presto column type matching
(#10658)
add fdfb7cd Eslint error cleanup (#10657)
add 4b40d44 style: Fancier menus, more SIP-34-ish (#10423)
add fe574fd fix(sqllab): log exceptions caused by the user as debug and
not error (#10676)
add 502f4db feature: Adding extra_filters to warm_up_cache (#10675)
add a6101f7 fix: only call signal if executing on the main thread (#10677)
add 4251b4e feat(row-level-security): add hook for customizing form
dropdowns (#10683)
add a95e5c9 fix: layout flexiness (#10681)
add bc0fc4e fix: SubMenu css (#10682)
add 6ff96cf refactor: useListViewResource hook for charts, dashboards,
datasets (#10680)
add 8581bda chore: Fix indentation issue (#10690)
add aaf04cc fix(filter-box): don't add empty filter to filtersChoices
(#10687)
add bb92c1f feat: chart and dashboard card list view e2e cypress test
(#10669)
add 81525c3 feat(listview): set default view mode based on THUMBNAIL
feature flag (#10691)
add 19a9bcc chore: ci Initial hive support (#10593)
add 7fc227c fix: shorten url with extra request parameters (#10693)
add 8d94534 style: Move security/manage navigation tabs into a settings
dropdown (#10439)
add 7abdf53 fix: card view failed cypress tests (#10699)
add 6ed3655 Use test name for the custom macros testing: (#10695)
add 937b868 style: add border between menu and submenu (#10698)
add c715cad feat: base tabbed modal for new database CRUD UI (#10668)
add 3e374da fix: change public role like gamma procedure (#10674)
add dd0bc47 refactor(database): use SupersetResultSet on
SqlaTable.get_df() (#10707)
add 58b075b fix(jinja): extract form_data from json body (#10684)
add d3bdea3 fix: move menu reorg logic from crud app into Menu component
(#10717)
add 4e01f39 chore: update samesite config documentation (#10720)
add 33fa9eb Covert celery tests to the pytest (#10704)
add 9fe30ab style: Pass at propagating (and enhancing) Button component
throughout Superset (#10649)
add 3d8857e style: rename 'Source' top nav item to 'Data' (#10715)
add 234b6bb fix(db-engine-spec): execute oracle DML statement bug in
sqllab (#10706)
add 4392c46 chore: bump pyarrow (#10733)
add cd144b6 style: Tabs now support AntD compound components (+ basic
stories) (#10728)
add 807bd65 Fix: Rejiggering some dependencies, trying to get CI to pass
(#10747)
add 4572ebb chore: log cache keys to the logs (#10678)
add b59f6b1 feat: refractored SQL-based alerting framework (#10605)
add 68d5a2b docs: Updated Docker local install instructions (#10511)
add 5a106eb moving all @types to dev dependencies (#10750)
add aeaee81 fix: local docker deployment (#10738)
add c1f2214 merge db migrations (#10758)
add e0ad993 chore: add logging for "dashboard" action (#10744)
add 8c564fb feat(viz): add ECharts Timeseries chart (#10752)
add b5aecaf docs: Update OAuth configuration in installation.rst (#10748)
add 77a3167 feat(database): POST, PUT, DELETE API endpoints (#10741)
add ff60e5c Fix precommit hook for docs/installation.rst (#10759)
add e0deaad chore: removing fsevents dependency (#10751)
add 5a43700 refactor: convert DatasetList schema filter to use new
distinct api (#10746)
add 7bccb38 feat: SIP-34 table list view for databases (#10705)
add 45f4c68 fix: re-installing local superset in cache image (#10766)
add 1ee87cc fix: dashboard extra filters (#10692)
add 824cea2 More Label touchups (margins) (#10722)
add 54ae3b0 fix: add validator information to email/slack alerts (#10762)
add 70c6764 fix: pivot table timestamp grouping (#10774)
add 9bcb150 fix: can not type `0.05` in `TextControl` (#10778)
add 5962005 fix: disable domain sharding on explore view (#10787)
add 5199423 feat: CRUD REST API for saved queries (#10777)
add f685825 security: disallow uuid package on jinja2 (#10794)
add bc4f98e added creator column and adjusted order columns (#10789)
add c1ff1c5 fix: MVC show saved query (#10781)
add 92f2353 feat: filters for database list view (#10772)
add 702cfe9 Fix: Include RLS filters for cache keys (#10805)
add 1d76c59 docs: Add a note to contributing.md on reporting security
vulnerabilities (#10796)
add 3ae80d3 test: add rls jinja extra cache key test (#10810)
add cda232b fix: ColorSchemeControl should not use CreatableSelect
(#10814)
add 50672bb feat: database delete warning (#10800)
add 9a66971 chore: deprecate python 3.6 support (#10803)
add 782f678 fix: Database API missing allow none on fields (#10795)
add 3b4a992 fix: bump node version on Dockerfile to be on par with
docker-compose (#10813)
add 9a59bdd refactor: merge/upgrade superset-ui packages (#10790)
add 8a3ac70 feat(databases): test connection api (#10723)
add e4ffaec Spanish translations (#10798)
add c2216e0 Revert "chore: add logging for "dashboard" action (#10744)"
(#10822)
add e6a4808 fix(tests): export dataset tests fails with presto (#10818)
add 8a9ae81 fix(sql-lab): relax column name restrictions (#10816)
add dd7f3d5 build: split hive and presto tests to separate jobs (#10821)
add ac2937a fix: use nullpool in the celery workers (#10819)
add f0545bf fix(databases): test connection api endpoint (#10824)
add d80f406 build: optimize webpack code split (#10831)
add a3e2e65 fix: Making the database read-only (#10823)
add 136f90f feat: SavedQuery REST API for bulk delete and new API fields
(#10793)
add 7c11c9c update all python version in the Dockerfile to 3.7 (#10841)
add 7b22004 fix(test): missing auth on tests (#10842)
add 7cd96ed feat: add/edit database modal form sections UI (#10745)
add 85a9160 docs(new docs site): removes old sphinx doc site with gatsby
(#10784)
add 6cb6701 style: white toolbar for SQL Lab (#10851)
add 686c19a Fix test_connection POST body (#10846)
add 1f31e0e feat: server side dashboard css for less repaint (#10850)
add 8a774d5 Eslint dependencies versions updates (#10839)
add b4df053 Improvement contributing.md (#10859)
add a324fbd Adding editorconfig setting for IDE hints (#10855)
add c51168a Re-enable no-confusing-arrow rule (#10874)
add 352e8a1 Re-enable rule prefer-destructuring (only for objects)
(#10867)
add 906a629 Re-enable rule no-unused-state (#10871)
add 7f10123 Re-enable no-useless-path-segments rule (#10860)
add 1908a94 ESLint: Re-enable rule no-restricted-globals (#10863)
add c5193ca Re-enable rule no-non-null-assertion (#10864)
add a75c362 Re-enable rule jsx-curly-brace-presence (#10869)
add d93b2b9 Re-enable rule sort-comp (#10872)
add 08ec509 docs(style): make more responsive for mobile (#10853)
add 76275ec Enable rule no-plusplus (#10876)
add 2d8f4e3 Re-enable rule no-else-return (#10861)
add 767044b ESLint: Re-enable rule control-has-associated-label (#10866)
add 91b8c8a Re-enable rule state-in-constructor (#10873)
add e28f3d6 Re-enable rule line-between-class-members (#10862)
add 01f9010 ESLint: Re-enable rule no-unused-vars (#10865)
add 4502690 chore: clean up aphrodite (#10883)
add 38edb69 Feat: Adding table comment and columns comment for SQLLab
(#10844)
add 2a6bcbb Reviewed and repaired disabled pylint in dashboard file
(#10877)
add 045335a fix(cypress): wait for filterValues request (#10884)
add 838a70e docs: fix ubuntu 20.04 installation instructions (#10888)
add 9c420d6 feat: implement cache invalidation api (#10761)
add b48dd4b chore: Using cache factory method (#10887)
add 5d529fd fixing broken links (#10885)
add 0129c42 feat: move ace-editor and mathjs to async modules (#10837)
add fe9f614 fix(cypress): prevent CI failure on codecov failure (#10892)
add c43992b feat: data menu routing (#10880)
add 4eeee4c chore: enable eslint-import-resolver-typescript (#10895)
add 1f73010 correcting 2 steps in docs deployment readme (#10899)
add 15fe04e docs: add changelog entries for 0.37.1 (#10893)
add 9246c9b refactor: ASF only dependencies on base.txt (#10875)
add 3b035d2 docs: redirect http -> https (#10900)
add d4291ed build: optimize eslint import resolver configs (#10901)
add 0870d3a docs: add back issue code links (#10903)
add f9cfb3e fix: spelling in docs homepage (#10912)
add 87fc425 Fixing docs site home screen mobile layout issues (#10886)
add d4ee073 simplifying/clarifying youtube video code/datastructures
(#10882)
add c3f1720 fix: superset alerting misc fixes (#10891)
add 13cc1a3 fix: front end CI tests and test runner (#10897)
add d3e9c56 feat: use svg for checkbox component (#10799)
add 0d90bc9 chore: update port that cypress runs on for local vs test
(#10847)
add 2a5946d docs: Client side redirects (one POC) (#10898)
add 281305e Enable anchor-has-content rule (#10908)
add d74044c Update FOSSA configuration for new requirements layout
(#10848)
add 5099dbe fix: babel script broken by format string (#10902)
add a3519b4 fix lint errors (#10918)
add af75bee feat: adding dashboard toggle fullscreen button (#10840)
add cd77797 Removed disabled linting redefined-outer-name. Url parameters
are renamed where url was already defined in class attributes (#10911)
add 5623cd6 feat: update saved query backend routing + add savedquery
list (#10922)
add 6908100 fix(legacy-druid): undefined filter key (#10931)
add 8735a14 Removed global pylintrc rule: old-ne-operator. Which is not
applicable in code anymore. (#10915)
add d6be977 fix: address all disabled pylint checks in charts/api.py
(#10932)
add 213b772 chore: remove SIP_34_DATABASE_UI (#10926)
add ed9b50b chore: upgrade cypress to use retries (#10923)
add 141ef4a Updated `type: ignore` in model's helper: (#10906)
add e21a354 fix: update pylint disabled checks in common/query_context.py
(#10941)
add e375ed4 fix(jinja): make context attrs private on SQL templates
(#10934)
add 2003442 fix: several disabled pylint rules in models/helpers.py
(#10909)
add ccfd293 ESLint: no-restricted-syntax (#10889)
add 4f60737 fix: typo in prefer typescript (#10959)
add d4f33cc Ignore '/docs' on some GH actions, give docs its own action
(#10949)
add 4a4fdb1 docs: set up client-side redirects from previous era docs
urls (#10921)
add 91fd06e ESLint: Remove ts-ignore (#10961)
add 557a303 ESLint: Enable rule no-named-as-default (#10879)
add 3d8f757 fix: simply is_adhoc_metric (#10964)
add 4835d3b ESLint: Re-enable rule no-access-state-in-setstate (#10870)
add fd0f6e1 fix: removed disabled lint rule `too-many-locals` in
connectors/base/models.py (#10958)
add 9d7b353 fix: pylint disabled rules in dashboard/api.py (#10976)
add 88a6711 Pylint disabled rule `pointless-string-statement` is not
raising warining anymore - removing (#10975)
add f01c488 fix: setting specific exceptions common/query_context.py
(#10942)
add 74a2270 fix: re-enabling several globally disabled lint rules (#10957)
add 801fb40 Allow empty observations in alerting (#10939)
add 56d0018 fix: use nullpool even for user lookup in the celery (#10938)
add 4aa5324 fix: update the time filter for 'Last Year' option in explore
(#10829)
add 41dfcd4 fix: changed disabled rules in datasets module (#10979)
add e4e78b6 style: fix checkbox color (#10970)
add a8f5029 ESLint: Remove ts-ignore comments (#10933)
add dc893fe chore: selectors refactor in SQLLab test suite (Cypress)
(#10944)
add 193796c adding filters back that caused issues (#10989)
add 96a61e3 build: add PR lint action (#10990)
add 8e4a1c8 docs: add a "Gallery" page (#10968)
add 3be8bda docs: add gallery screenshot & link in README (#10988)
add 448a41a feat(row-level-security): add base filter type and filter
grouping (#10946)
add bd140e0 fix(presto): default unknown types to string type (#10753)
add 95ba8e1 fix: deprecation warnings due to invalid escape sequences.
(#10710)
add 0554c89 Enable subqueries in gsheetsdb (#10991)
add a9eab33 feat: add ECharts Pie chart (#10966)
add 9f01a7f ESLint: Re-enable rule default-props-match-prop-types (#10868)
add e93d92e Replace reactable with DataTable from superset-ui in
QueryTable (#10981)
add a6f2587 fix: enable pylint rules in db_engine_specs module (#10998)
add a491b6db4 fix: unbreak ci (#11003)
add 220c410 build: add react-hooks linting (#11006)
add 0d1f611 feat(listview): feature flag config to set default viewing
mode (#10986)
add d992c30 Bring back import menu (#11007)
add 02ab5cc fix: Add Item Overflow on Dataset Editor (#10983)
add 50852df chore: downgrade expected exception from error to info
(#10994)
add ba009b7 fix: query search low privileged user search access denied
(#11017)
add 345fe07 fix: menu shows a 0 when there are not settings (#11009)
add a26f29e fix: changes a pylint check in dashboard module (#10978)
add 26fcc08 Enabled pylint rules in `db_engines` module: (#11016)
add bade279 fix: reenable pylint rule `unused-import` in charts and
connectors modules (#11014)
add fb6f14c fix: pylint checks in connectors/sqla/models.py (#10974)
add af1e8e8 fix: enable several pylint rules partially in
db_engines_specs module (#11000)
add 7549dad fix: timer component, fixes #10849, closes #11002 (#11004)
add 0409393 fix: [dashboard] should not show edit button when user has no
edit permit (#11024)
add 8b68378 docs: add security vulnerability GH issue template (#11023)
add dc76a26 style(explore): use tertiary button against gray background
(#11011)
add 8e9b0b3 fix: dashboard edit button (again) (#11029)
add 6181994 chore: bump pandas to latest stable version (#11018)
add b2fdf12 Support jinja templates (#11008)
add eded51b feat(saved_queries): add custom api filter for all string &
text fields (#11031)
add f99753a Revert "ESLint: Re-enable rule default-props-match-prop-types
(#10868)" (#11050)
add 8bc05bd Changed variable name from capitals to lowercase and changed
lint rule (#11044)
add 7ca4192 Enabled no-self-use pylint rule in security. Formatter
(#11041)
add eba1aa8 Enabled argument-differ for bulk_delete (#11039)
add 6b318c4 Removed disable global pytlint rule `standarderror-builtin`
which isn't appearing for Python3 (#11038)
add 63d0e80 chore: updated lint rules in models module (#11036)
add 92dd257 Changed `tags.py` and `helpers.py` in `models` module:
removed disabled pylint rule `unused_import`, changed unused arguments to
private and removed disabled rule `unused-argument. Removed redundant rules.`
(#11037)
add ea105bc feat: add "created by" to dashboard CRUD view (#11030)
add 3467d2d Revert "style: fix checkbox color (#10970)" (#11051)
add 66e4980 fixed routes for customer in docs (#11052)
add d056e3d clickable labels have outlines, storybook shows them (#11034)
add 052d7a0 fix: sql lab autocomplete width (#11063)
add eeeb210 feat: adding all icons from the design system to the codebase
(#11033)
add 374b06b fix: database list checkboxes (#11068)
add 8e6f7d6 style: remove unecessary padding (#11071)
add 8cba1c8 changing to the correct hex color (#11073)
add 23d62f3 removing unused component (#11072)
add 1493450 fix(jest): using UTC mock date (#11079)
add 7f1e4e4 fix: surface connection error messages on the client (#11077)
add cff034e chore: cleaning out unused code from utils (#11076)
add 497d3f3 fix: Adding timeout to flaky cypress test, to wait for
animation to complete (#11074)
add 39cce71 docs: add changelog entries for 0.37.2 (#11086)
add 046bd02 style: improve "Datasource & Chart Type" <Label>s (#10971)
add 0f7e90f feat: improve presto query perf (#11069)
add a879622 refactor: Remove usages of reactable from AlteredSliceTag
(#11012)
add f01b8a3 refactor: Remove usages of reactable from TimeTable (#11046)
add 2fd8fca chore: Clean up some console warnings (#11061)
add 1dc05d4 feat(charts): modify custom api filter to include more fields
(#11054)
add e52a399 Reorganize steps (#11015)
add e337355 refactor: table selector on dataset editor (#10914)
add 690e27e chore: updated utils with pylint rules (#11062)
add 3a08fd0 chore: pylint fixes in files in project's root (#11064)
add 79de8f7 docs: Add Zeta to list of companies using Apache Superset
(#11059)
add 8b458ac fix: double scroll bars on dataset editor (#11095)
add 80e3955 fix: echarts timeseries groupby (#11103)
add 5d08a42 fix(api): unable to delete virtual dataset, wrong permission
name (#11019)
add 89bf765 Updated lint in schedules.py in tasks: unused_import,
ungrouped_import and changed argument name to remove unused-argument (#11045)
add 6633409 feat: enable ETag header for dashboard GET requests (#10963)
add 4ccba30 chore: Remove Obsolete WARNING_MSG from config (#10972)
add b8d616a feat: saved query list view + sort/filters (#11005)
add 0409b12 style: fix secondary label border (#11100)
add 03eebd3 fix: fix table existence validation function (#11066)
add 94d4d55 Fix alembic migration (#11110)
add fa5dab8 feat: more specific presto error messages (#11099)
add ada66e3 fix(chart-data-api): ignore missing filters (#11112)
add 0bcc9d7 fix: Disabling timezone of dataframe before passing Prophet
(#11107)
add 5b284e6 feat: add created by chart CRUD view (#11067)
add e7a4265 feat: saved query list actions (#11109)
add c4d96f6 fix: SpatialControl popover won't open (#11127)
add fdb26f6 feat: CRUD REST API for CSS Templates (#11114)
add 50d8040 fix: alembic migration error msg trying to delete constraint
on tables (#11115)
add 7a72082 fix: Revert "Replace reactable with DataTable from
superset-ui in QueryTable (#10981)" (#11125)
add 33906c6 fix: remove extra flash import (#11121)
add 2a906bc docs: use the Apache-Superset logo on README / pypi (#11132)
add 07716ff chore: refactor submenu's right nav to accept list of buttons
(#11102)
add 4c85d33 feat: custom favorite filter for dashboards, charts and saved
queries (#11083)
add 5f55d94 style: rename label 'table name'->'dataset name' (#11126)
add 017e5ac style(listview): dynamic card size and grid spacing (#11111)
add a4e1dc9 add info about case sensitive search (#11124)
add d578d81 docs: comply to ASF requirements (#11133)
add 2cb2a00 docs: docs site footer link tweak (#11140)
add e90c63f fix: Alembic migration 18532d70ab98 (#11136)
new 5db8682 fix(examples): missing expressions in birth_names (#11141)
new 922b8aa fix: disable jinja2 SQL templating
new 9aba607 chore(sql-lab): catch PyArrow deserialization error (#11201)
new 76f6e85 chore(sqla): assert query is single read-only statement
(#11236)
new c2e8f98 feat(datasets): REST API bulk delete (#11237)
new f0cd671 fix(dataset): update user list endpoint (#11221)
new 44b7e8e fix(crud): set default extra value (#11262)
new c917e7d fix: Fix Time Column dropdown for date filter (#11149)
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (248e914)
\
N -- N -- N refs/heads/0.38 (c917e7d)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 8 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.asf.yaml | 2 +-
.editorconfig | 47 +
.fossa.yml | 10 +-
.github/ISSUE_TEMPLATE/security_vulnerability.md | 12 +
.github/prlint.json | 8 -
.github/workflows/bashlib.sh | 11 +-
.github/workflows/license-check.yml | 2 +-
.github/workflows/pr-lint.yml | 22 +
.github/workflows/prefer-typescript.yml | 48 +
.github/workflows/prefer_typescript.yml | 45 -
.github/workflows/superset-docker.yml | 22 -
.github/workflows/superset-docs.yml | 30 +
.github/workflows/superset-e2e.yml | 41 +-
.github/workflows/superset-frontend.yml | 11 +-
.github/workflows/superset-python.yml | 33 +-
.github/workflows/superset-translations.yml | 28 +-
.github/workflows/test-docker.yml | 22 +
.github/workflows/test-hive.yml | 67 +
.github/workflows/test-presto.yml | 70 +
.pre-commit-config.yaml | 2 +-
.pylintrc | 2 +-
.rat-excludes | 6 +-
CHANGELOG.md | 37 +
CONTRIBUTING.md | 101 +-
Dockerfile | 6 +-
Dockerfile-dev | 8 +-
INTHEWILD.md | 2 +
README.md | 16 +-
RELEASING/Dockerfile.make_docs | 2 +-
UPDATING.md | 6 +-
docker-compose.yml | 4 +-
docker/docker-init.sh | 26 +-
docs/.eslintrc.js | 48 +
docs/.gitignore | 3 +
docs/.htaccess | 23 +
{superset-frontend => docs}/.prettierrc | 0
docs/Makefile | 208 -
docs/README.md | 67 +
docs/_static/docs.css | 77 -
docs/_static/images | 1 -
docs/admintutorial.rst | 325 -
docs/build.sh | 22 -
docs/conf.py | 307 -
docs/doczrc.js | 35 +
docs/druid.rst | 64 -
docs/faq.rst | 346 -
docs/gallery.rst | 206 -
docs/gatsby-config.js | 76 +
docs/gatsby-node.js | 637 +
docs/import_export_datasources.rst | 124 -
docs/index.rst | 176 -
docs/installation.rst | 116 +-
docs/issue_code_reference.rst | 48 -
docs/misc.rst | 27 -
docs/package-lock.json | 24072 +++++++++++++++++++
docs/package.json | 74 +
docs/prettier.config.js | 21 +
tests/util/__init__.py => docs/requirements.txt | 0
docs/security.rst | 185 -
docs/src/components/AnchorNavigator.tsx | 62 +
docs/src/components/DbImage.tsx | 49 +
docs/src/components/DoczMenu.tsx | 57 +
docs/src/components/MainMenu.tsx | 152 +
docs/src/components/footer.tsx | 189 +
docs/src/components/image.tsx | 90 +
docs/src/components/layout.scss | 134 +
docs/src/components/layout.tsx | 200 +
docs/src/components/next.tsx | 42 +
docs/src/components/select.tsx | 47 +
docs/src/components/seo.js | 104 +
docs/src/gatsby-theme-docz/index.tsx | 58 +
.../src/images/apacheSupersetHoriz.png | Bin
docs/src/images/dashboard.png | Bin 0 -> 453151 bytes
docs/src/images/databases/apache-drill.png | Bin 0 -> 40173 bytes
docs/src/images/databases/apache-druid.jpeg | Bin 0 -> 214904 bytes
.../src/images/databases/apache-druid.png | Bin
docs/src/images/databases/apache-hive.svg | 69 +
docs/src/images/databases/apache-impala.png | Bin 0 -> 5216 bytes
.../src/images/databases}/apache-kylin.png | Bin
.../src/images/databases/aws-redshift.png | Bin
.../src/images/databases}/clickhouse.png | Bin
docs/src/images/databases/druid.png | Bin 0 -> 121985 bytes
.../src/images/databases}/exasol.png | Bin
.../src/images/databases}/firebird.png | Bin
.../src/images/databases/googleBQ.png | Bin
docs/src/images/databases/greenplum.jpeg | Bin 0 -> 7559 bytes
.../src/images/databases}/greenplum.png | Bin
docs/src/images/databases/ibmdb2.png | Bin 0 -> 14127 bytes
.../src/images/databases/monet.png | Bin
.../src/images/databases/msql.png | Bin
.../images => docs/src/images/databases}/mysql.png | Bin
docs/src/images/databases/oracle-logo.png | Bin 0 -> 10347 bytes
.../src/images/databases}/oracle.png | Bin
docs/src/images/databases/oraclelogo.png | Bin 0 -> 29864 bytes
docs/src/images/databases/postgresql.jpg | Bin 0 -> 19019 bytes
docs/src/images/databases/postsql.png | Bin 0 -> 44334 bytes
.../src/images/databases/presto-og.png | Bin
.../src/images/databases}/snowflake.png | Bin
docs/src/images/databases/sqllite.jpg | Bin 0 -> 13006 bytes
docs/src/images/databases/sqllite.png | Bin 0 -> 38063 bytes
.../src/images/databases}/vertica.png | Bin
docs/src/images/docker.png | Bin 0 -> 24928 bytes
docs/src/images/explorer.png | Bin 0 -> 641441 bytes
{superset-frontend => docs/src}/images/favicon.png | Bin
docs/src/images/gallery/bubble.png | Bin 0 -> 238904 bytes
docs/src/images/gallery/chord_diagram.png | Bin 0 -> 762878 bytes
docs/src/images/gallery/community.png | Bin 0 -> 609567 bytes
docs/src/images/gallery/dashboard_editor.png | Bin 0 -> 2255813 bytes
docs/src/images/gallery/dashboard_list.png | Bin 0 -> 197656 bytes
docs/src/images/gallery/dashboard_properties.png | Bin 0 -> 213069 bytes
docs/src/images/gallery/deck_arc.png | Bin 0 -> 1351973 bytes
docs/src/images/gallery/deck_hex.png | Bin 0 -> 1761791 bytes
docs/src/images/gallery/deck_path.png | Bin 0 -> 1229563 bytes
docs/src/images/gallery/deck_polygon.png | Bin 0 -> 1588761 bytes
docs/src/images/gallery/deck_scatter.png | Bin 0 -> 1815849 bytes
.../src/images/gallery}/deckgl_dash.png | Bin
docs/src/images/gallery/explore.png | Bin 0 -> 530390 bytes
docs/src/images/gallery/force_layout.png | Bin 0 -> 432443 bytes
docs/src/images/gallery/france.png | Bin 0 -> 431636 bytes
docs/src/images/gallery/girl_names.png | Bin 0 -> 276784 bytes
docs/src/images/gallery/heatmap.png | Bin 0 -> 629165 bytes
docs/src/images/gallery/pino_geo.png | Bin 0 -> 3385639 bytes
docs/src/images/gallery/sankey.png | Bin 0 -> 529762 bytes
docs/src/images/gallery/slack.png | Bin 0 -> 471736 bytes
docs/src/images/gallery/sqllab.png | Bin 0 -> 375108 bytes
docs/src/images/gallery/storm.png | Bin 0 -> 2287707 bytes
docs/src/images/gallery/stream.png | Bin 0 -> 557506 bytes
docs/src/images/gallery/table.png | Bin 0 -> 447295 bytes
docs/src/images/gallery/treemap.png | Bin 0 -> 456361 bytes
.../src/images/gallery}/visualizations.png | Bin
docs/src/images/gallery/worldbank_dashboard.png | Bin 0 -> 780010 bytes
docs/src/images/incubator.png | Bin 0 -> 17961 bytes
docs/src/images/preset.png | Bin 0 -> 39030 bytes
docs/src/images/preset.svg | 33 +
{superset-frontend => docs/src}/images/s.png | Bin
docs/src/images/stack_overflow.png | Bin 0 -> 30065 bytes
.../src/images}/superset-logo-horiz-apache.svg | 0
docs/src/images/superset-logo-horiz.svg | 45 +
docs/src/pages/404.jsx | 32 +
docs/src/pages/community.tsx | 145 +
.../pages/docs/Connecting to Databases/athena.mdx | 35 +
.../docs/Connecting to Databases/clickhouse.mdx | 18 +
.../docs/Connecting to Databases/cockroachdb.mdx | 18 +
.../Connecting to Databases/docker-add-drivers.mdx | 86 +
.../pages/docs/Connecting to Databases/dremio.mdx | 21 +
.../pages/docs/Connecting to Databases/drill.mdx | 48 +
.../pages/docs/Connecting to Databases/druid.mdx | 64 +
.../docs/Connecting to Databases/elasticsearch.mdx | 50 +
.../pages/docs/Connecting to Databases/exasol.mdx | 18 +
.../Connecting to Databases/extra-settings.mdx | 70 +
.../Connecting to Databases/google-bigquery.mdx | 57 +
.../docs/Connecting to Databases/google-sheets.mdx | 17 +
.../pages/docs/Connecting to Databases/hana.mdx | 17 +
.../pages/docs/Connecting to Databases/hive.mdx | 17 +
.../pages/docs/Connecting to Databases/ibm-db2.mdx | 18 +
.../pages/docs/Connecting to Databases/impala.mdx | 17 +
.../pages/docs/Connecting to Databases/index.mdx | 70 +
.../pages/docs/Connecting to Databases/kylin.mdx | 18 +
.../pages/docs/Connecting to Databases/mysql.mdx | 28 +
.../pages/docs/Connecting to Databases/oracle.mdx | 18 +
.../pages/docs/Connecting to Databases/pinot.mdx | 17 +
.../docs/Connecting to Databases/postgres.mdx | 40 +
.../pages/docs/Connecting to Databases/presto.mdx | 26 +
.../docs/Connecting to Databases/redshift.mdx | 26 +
.../docs/Connecting to Databases/snowflake.mdx | 32 +
.../docs/Connecting to Databases/spark-sql.mdx | 17 +
.../docs/Connecting to Databases/sql-server.mdx | 17 +
.../docs/Connecting to Databases/teradata.mdx | 29 +
.../pages/docs/Connecting to Databases/vertica.mdx | 32 +
.../exploring-data.mdx | 365 +
.../docs/Creating Charts and Dashboards/index.mdx | 277 +
.../docs/Miscellaneous/importing-exporting.mdx | 117 +
docs/src/pages/docs/Miscellaneous/index.mdx | 94 +
docs/src/pages/docs/Miscellaneous/issue_codes.mdx | 75 +
docs/src/pages/docs/contributing-page.mdx | 25 +
.../pages/docs/frequently-asked-questions-page.mdx | 289 +
.../docs/installation/async_queries_celery.mdx | 118 +
.../docs/installation/building-viz-plugins.mdx | 209 +
docs/src/pages/docs/installation/caching.mdx | 120 +
docs/src/pages/docs/installation/configuring.mdx | 282 +
docs/src/pages/docs/installation/email_reports.mdx | 174 +
.../pages/docs/installation/event-logging-page.mdx | 59 +
docs/src/pages/docs/installation/index.mdx | 89 +
.../pages/docs/installation/installing_scratch.mdx | 132 +
.../docs/installation/networking_settings.mdx | 45 +
.../src/pages/docs/installation/sql_templating.mdx | 89 +
.../pages/docs/installation/upgrading_superset.mdx | 44 +
docs/src/pages/docs/introduction.mdx | 49 +
docs/src/pages/docs/roadmap-page.mdx | 9 +
docs/src/pages/docs/security-page.mdx | 22 +
docs/src/pages/gallery.tsx | 110 +
docs/src/pages/index.tsx | 494 +
docs/src/pages/resources.tsx | 213 +
docs/src/resources/data.js | 218 +
docs/src/utils.js | 105 +
.../static/images}/add_new_chart.png | Bin
.../static/images}/advanced_analytics_base.png | Bin
.../static/images}/annotation.png | Bin
.../static/images}/annotation_settings.png | Bin
.../static/images}/average_aggregate_for_cost.png | Bin
.../static/images}/blue_bar_insert_component.png | Bin
.../static/images}/chose_a_datasource.png | Bin
.../images}/csv_to_database_configuration.png | Bin
docs/static/images/dashboard.png | Bin 0 -> 746595 bytes
docs/static/images/dashboard2.png | Bin 0 -> 704237 bytes
docs/static/images/dashboard3.png | Bin 0 -> 728491 bytes
docs/static/images/data-point.jpg | Bin 0 -> 1795832 bytes
.../static/images}/edit-record.png | Bin
.../static/images}/edit_annotation.png | Bin
docs/static/images/explorer.png | Bin 0 -> 641441 bytes
docs/static/images/explorer2.png | Bin 0 -> 938335 bytes
docs/static/images/explorer3.png | Bin 0 -> 5015944 bytes
docs/static/images/explorer4.png | Bin 0 -> 2672689 bytes
.../static/images}/filter_on_origin_country.png | Bin
docs/static/images/google-analytics.png | Bin 0 -> 689661 bytes
.../static/images}/markdown.png | Bin
.../static/images}/no_filter_on_time_filter.png | Bin
.../static/images}/parse_dates_column.png | Bin
docs/static/images/pie-chart.png | Bin 0 -> 1320888 bytes
docs/static/images/plugin-1-yeoman-select.png | Bin 0 -> 73428 bytes
docs/static/images/plugin-10-hello-thumbnail.png | Bin 0 -> 82000 bytes
docs/static/images/plugin-11-explore-view.png | Bin 0 -> 260757 bytes
docs/static/images/plugin-12-console-logs.png | Bin 0 -> 87031 bytes
.../static/images/plugin-2-yeoman-package-name.png | Bin 0 -> 22666 bytes
docs/static/images/plugin-3-yeoman-description.png | Bin 0 -> 29219 bytes
.../images/plugin-4-yeoman-component-type.png | Bin 0 -> 26113 bytes
docs/static/images/plugin-5-yeoman-timeseries.png | Bin 0 -> 21856 bytes
docs/static/images/plugin-6-yeoman-badges.png | Bin 0 -> 14572 bytes
docs/static/images/plugin-7-yeoman-files.png | Bin 0 -> 162570 bytes
docs/static/images/plugin-8-package-json.png | Bin 0 -> 52915 bytes
docs/static/images/plugin-9-mainpreset-import.png | Bin 0 -> 123027 bytes
.../static/images/plugin-9-mainpreset-register.png | Bin 0 -> 112575 bytes
.../static/images}/publish_dashboard.png | Bin
.../static/images}/resample.png | Bin
.../images}/resize_tutorial_table_on_dashboard.png | Bin
.../static/images}/rolling_mean.png | Bin
docs/static/images/root-cert-example.png | Bin 0 -> 41232 bytes
.../static/images}/save_tutorial_table.png | Bin
.../static/images}/select_dates_pivot_table.png | Bin
.../images}/select_table_visualization_type.png | Bin
docs/static/images/so-icon.svg | 19 +
docs/static/images/sqllab.png | Bin 0 -> 393766 bytes
docs/static/images/sqllab0.png | Bin 0 -> 641865 bytes
docs/static/images/sqllab1.png | Bin 0 -> 556582 bytes
docs/static/images/sqllab3.png | Bin 0 -> 529043 bytes
.../static/images}/sum_cost_column.png | Bin
.../time_comparison_absolute_difference.png | Bin
.../static/images}/time_comparison_two_series.png | Bin
.../images}/tutorial_01_sources_database.png | Bin
.../static/images}/tutorial_02_add_database.png | Bin
.../static/images}/tutorial_03_database_name.png | Bin
.../tutorial_04_sqlalchemy_connection_string.png | Bin
.../images}/tutorial_05_connection_popup.png | Bin
.../static/images}/tutorial_06_list_of_tables.png | Bin
.../static/images/tutorial_07_save_button (1).png | Bin
.../static/images}/tutorial_07_save_button.png | Bin
.../static/images}/tutorial_08_sources_tables.png | Bin
.../static/images}/tutorial_09_add_new_table.png | Bin
.../static/images}/tutorial_10_table_name.png | Bin
.../static/images}/tutorial_11_choose_db.png | Bin
.../tutorial_12_table_creation_success_msg.png | Bin
.../images}/tutorial_13_edit_table_config.png | Bin
.../static/images}/tutorial_14_field_config.png | Bin
.../images}/tutorial_15_click_table_name.png | Bin
.../images}/tutorial_16_datasource_chart_type.png | Bin
.../images}/tutorial_17_choose_time_range.png | Bin
.../static/images}/tutorial_18_choose_metric.png | Bin
.../static/images/tutorial_19_click_query (1).png | Bin
.../static/images}/tutorial_19_click_query.png | Bin
.../images}/tutorial_20_count_star_result.png | Bin
.../static/images}/tutorial_21_group_by.png | Bin
.../static/images}/tutorial_22_group_by_result.png | Bin
.../tutorial_23_group_by_more_dimensions.png | Bin
.../static/images}/tutorial_24_max_metric.png | Bin
.../static/images}/tutorial_25_max_temp_filter.png | Bin
.../static/images}/tutorial_26_row_limit.png | Bin
.../images}/tutorial_27_top_10_max_temps.png | Bin
.../static/images}/tutorial_28_bar_chart.png | Bin
.../tutorial_29_bar_chart_series_metrics.png | Bin
.../images}/tutorial_30_bar_chart_results.png | Bin
.../tutorial_31_save_slice_to_dashboard.png | Bin
.../tutorial_32_save_slice_confirmation.png | Bin
.../static/images}/tutorial_33_dashboard.png | Bin
.../images}/tutorial_34_weather_dashboard.png | Bin
.../images}/tutorial_35_slice_on_dashboard.png | Bin
.../images}/tutorial_36_adjust_dimensions.gif | Bin
.../static/images}/tutorial_line_chart.png | Bin
.../static/images}/tutorial_pivot_table.png | Bin
.../static/images}/tutorial_table.png | Bin
.../static/images}/upload_a_csv.png | Bin
docs/static/images/youtube.png | Bin 0 -> 20462 bytes
docs/tutorials.rst | 25 -
docs/usertutorial.rst | 507 -
docs/videos.rst | 22 -
docs/visualization.rst | 2016 --
package-lock.json | 3 +
requirements/base.in | 2 +
requirements/base.txt | 22 +-
requirements/development.txt | 7 +-
requirements/docker.txt | 6 +-
requirements/documentation.in | 19 -
requirements/documentation.txt | 24 -
requirements/integration.txt | 4 +-
requirements/testing.txt | 10 +-
scripts/fossa.sh | 4 +-
scripts/pypi_push.sh | 2 +-
setup.cfg | 10 +-
setup.py | 2 +-
superset-frontend/.eslintrc.js | 88 +-
superset-frontend/.storybook/main.js | 2 +-
superset-frontend/.storybook/preview.jsx | 2 +-
superset-frontend/cypress-base/.eslintrc | 21 +-
superset-frontend/cypress-base/cypress.json | 8 +-
.../integration/chart_list/card_view.test.ts | 107 +
.../integration/chart_list/chart_list.helper.ts | 19 +
.../cypress/integration/chart_list/filter.test.ts | 123 +
.../integration/chart_list/list_view.test.ts | 50 +
.../integration/dashboard/dashboard.helper.js | 23 -
.../integration/dashboard/dashboard.helper.ts | 47 +
.../integration/dashboard/edit_mode.test.js | 25 +-
.../cypress/integration/dashboard/load.test.js | 2 +-
.../cypress/integration/dashboard/markdown.test.ts | 64 +
.../cypress/integration/dashboard/save.test.js | 4 +-
.../integration/dashboard_list/card_view.test.ts | 111 +
.../dashboard_list/dashboard_list.helper.ts | 19 +
.../integration/dashboard_list/filter.test.ts | 99 +
.../integration/dashboard_list/list_view.test.ts | 53 +
.../integration/explore/AdhocFilters.test.ts | 57 +-
.../integration/explore/AdhocMetrics.test.ts | 14 +-
.../cypress/integration/explore/advanced.test.ts | 4 +-
.../cypress/integration/explore/chart.test.js | 2 +-
.../cypress/integration/explore/control.test.ts | 73 +-
.../explore/visualizations/big_number.test.js | 2 +-
.../explore/visualizations/line.test.ts | 9 +
.../integration/explore/visualizations/pie.test.js | 8 +-
.../cypress/integration/sqllab/query.test.js | 124 -
.../cypress/integration/sqllab/query.test.ts | 161 +
.../cypress/integration/sqllab/tabs.test.js | 43 +-
.../cypress-base/cypress/support/index.d.ts | 2 +-
superset-frontend/cypress-base/package-lock.json | 484 +-
superset-frontend/cypress-base/package.json | 2 +-
superset-frontend/cypress-base/tsconfig.json | 2 +-
superset-frontend/cypress_build.sh | 4 +-
superset-frontend/images/icons/alert.svg | 21 +
superset-frontend/images/icons/alert_solid.svg | 22 +
superset-frontend/images/icons/binoculars.svg | 21 +
superset-frontend/images/icons/bolt.svg | 21 +
superset-frontend/images/icons/bolt_small.svg | 21 +
superset-frontend/images/icons/bolt_small_run.svg | 21 +
superset-frontend/images/icons/calendar.svg | 21 +
superset-frontend/images/icons/cancel.svg | 21 +
superset-frontend/images/icons/cancel_solid.svg | 22 +
.../images/icons/{card-view.svg => card_view.svg} | 0
superset-frontend/images/icons/cards.svg | 21 +
superset-frontend/images/icons/cards_locked.svg | 22 +
superset-frontend/images/icons/caret_down.svg | 21 +
superset-frontend/images/icons/caret_left.svg | 21 +
superset-frontend/images/icons/caret_right.svg | 21 +
superset-frontend/images/icons/caret_up.svg | 21 +
superset-frontend/images/icons/checkbox-half.svg | 2 +-
superset-frontend/images/icons/checkbox-off.svg | 2 +-
superset-frontend/images/icons/checkbox-on.svg | 2 +-
superset-frontend/images/icons/circle-check.svg | 22 -
superset-frontend/images/icons/circle.svg | 21 +
superset-frontend/images/icons/circle_check.svg | 21 +
...rcle-check-solid.svg => circle_check_solid.svg} | 0
superset-frontend/images/icons/clock.svg | 21 +
superset-frontend/images/icons/code.svg | 21 +
superset-frontend/images/icons/cog.svg | 22 +
superset-frontend/images/icons/collapse.svg | 21 +
superset-frontend/images/icons/color_palette.svg | 21 +
superset-frontend/images/icons/components.svg | 22 +
superset-frontend/images/icons/copy.svg | 21 +
superset-frontend/images/icons/cursor_target.svg | 21 +
superset-frontend/images/icons/database.svg | 21 +
.../images/icons/dataset_virtual_greyscale.svg | 22 +
superset-frontend/images/icons/download.svg | 21 +
superset-frontend/images/icons/edit.svg | 21 +
.../images/icons/{pencil.svg => edit_alt.svg} | 0
superset-frontend/images/icons/email.svg | 21 +
superset-frontend/images/icons/error.svg | 33 +-
.../images/icons/{error.svg => error_solid.svg} | 0
.../images/icons/error_solid_small.svg | 22 +
superset-frontend/images/icons/expand.svg | 21 +
superset-frontend/images/icons/eye.svg | 21 +
superset-frontend/images/icons/eye_slash.svg | 21 +
.../images/icons/favorite-selected.svg | 4 +-
.../images/icons/favorite-unselected.svg | 4 +-
.../images/icons/favorite_small_selected.svg | 21 +
superset-frontend/images/icons/field_abc.svg | 21 +
superset-frontend/images/icons/field_boolean.svg | 21 +
superset-frontend/images/icons/field_date.svg | 21 +
superset-frontend/images/icons/field_derived.svg | 21 +
superset-frontend/images/icons/field_num.svg | 21 +
superset-frontend/images/icons/field_struct.svg | 21 +
superset-frontend/images/icons/file.svg | 21 +
superset-frontend/images/icons/filter.svg | 21 +
superset-frontend/images/icons/folder.svg | 21 +
superset-frontend/images/icons/full.svg | 21 +
superset-frontend/images/icons/gear.svg | 21 +
superset-frontend/images/icons/grid.svg | 21 +
superset-frontend/images/icons/image.svg | 21 +
superset-frontend/images/icons/info-solid.svg | 22 +
superset-frontend/images/icons/info.svg | 21 +
.../images/icons/info_solid_small.svg | 22 +
superset-frontend/images/icons/join.svg | 21 +
superset-frontend/images/icons/keyboard.svg | 21 +
superset-frontend/images/icons/layers.svg | 21 +
superset-frontend/images/icons/lightbulb.svg | 21 +
superset-frontend/images/icons/list.svg | 21 +
.../images/icons/{list-view.svg => list_view.svg} | 0
superset-frontend/images/icons/location.svg | 21 +
superset-frontend/images/icons/lock_locked.svg | 21 +
superset-frontend/images/icons/lock_unlocked.svg | 21 +
superset-frontend/images/icons/map.svg | 21 +
superset-frontend/images/icons/message.svg | 21 +
superset-frontend/images/icons/minus.svg | 21 +
superset-frontend/images/icons/minus_solid.svg | 22 +
.../images/icons/{more.svg => more_horiz.svg} | 0
superset-frontend/images/icons/move.svg | 21 +
superset-frontend/images/icons/nav_charts.svg | 22 +
superset-frontend/images/icons/nav_dashboard.svg | 21 +
superset-frontend/images/icons/nav_data.svg | 21 +
.../images/icons/{compass.svg => nav_explore.svg} | 0
superset-frontend/images/icons/nav_home.svg | 21 +
superset-frontend/images/icons/nav_lab.svg | 21 +
superset-frontend/images/icons/note.svg | 21 +
superset-frontend/images/icons/paperclip.svg | 21 +
superset-frontend/images/icons/placeholder.svg | 21 +
superset-frontend/images/icons/plus.svg | 21 +
superset-frontend/images/icons/plus_large.svg | 21 +
superset-frontend/images/icons/plus_small.svg | 21 +
superset-frontend/images/icons/plus_solid.svg | 22 +
superset-frontend/images/icons/refresh.svg | 21 +
superset-frontend/images/icons/server.svg | 21 +
.../images/icons/{sort-asc.svg => sort_asc.svg} | 0
.../images/icons/{sort-desc.svg => sort_desc.svg} | 0
superset-frontend/images/icons/sql.svg | 22 +
superset-frontend/images/icons/table.svg | 22 +
superset-frontend/images/icons/tag.svg | 21 +
superset-frontend/images/icons/triangle_change.svg | 21 +
superset-frontend/images/icons/triangle_down.svg | 21 +
superset-frontend/images/icons/triangle_up.svg | 21 +
superset-frontend/images/icons/up-level.svg | 21 +
superset-frontend/images/icons/user.svg | 21 +
superset-frontend/images/icons/warning.svg | 31 +-
.../icons/{warning.svg => warning_solid.svg} | 0
superset-frontend/images/icons/x-large.svg | 21 +
superset-frontend/images/icons/x-small.svg | 21 +
superset-frontend/images/screenshots/gallery.png | Bin 0 -> 3542967 bytes
superset-frontend/package-lock.json | 4174 ++--
superset-frontend/package.json | 117 +-
superset-frontend/prettier.config.js | 23 +
superset-frontend/spec/.eslintrc | 21 +-
.../spec/helpers/setupSupersetClient.js | 2 +-
superset-frontend/spec/helpers/shim.ts | 4 +-
superset-frontend/spec/helpers/theming.ts | 4 +-
.../spec/javascripts/CRUD/CollectionTable_spec.jsx | 2 +-
.../addSlice/AddSliceContainer_spec.tsx | 14 +-
.../spec/javascripts/chart/ChartRenderer_spec.jsx | 2 +-
.../spec/javascripts/chart/chartActions_spec.js | 2 +-
.../components/AlteredSliceTag_spec.jsx | 259 +-
.../spec/javascripts/components/Checkbox_spec.jsx | 55 -
.../components/ConfirmStatusChange_spec.jsx | 8 +-
.../components/ListView/ListView_spec.jsx | 13 +-
.../spec/javascripts/components/Menu_spec.jsx | 47 +-
.../spec/javascripts/components/SubMenu_spec.jsx | 108 +
.../javascripts/components/TableSelector_spec.jsx | 430 +-
.../components/fixtures/AlteredSliceTag.js | 166 +
.../spec/javascripts/dashboard/.eslintrc | 1 -
.../dashboard/actions/dashboardState_spec.js | 4 +-
.../dashboard/components/CodeModal_spec.jsx | 2 +-
.../dashboard/components/DashboardBuilder_spec.jsx | 2 +-
.../components/HeaderActionsDropdown_spec.jsx | 8 +-
.../dashboard/components/Header_spec.jsx | 2 +-
.../components/gridComponents/ChartHolder_spec.jsx | 2 +-
.../components/gridComponents/Markdown_spec.jsx | 14 +-
.../components/gridComponents/Tab_spec.jsx | 2 +-
.../resizable/ResizableContainer_spec.jsx | 2 +-
.../dashboard/fixtures/mockDashboardLayout.js | 2 +-
.../dashboard/reducers/dashboardFilters_spec.js | 2 +-
.../dashboard/util/getDashboardUrl_spec.js | 10 +
.../datasource/ChangeDatasourceModal_spec.jsx | 2 +-
.../datasource/DatasourceModal_spec.jsx | 17 +-
.../components/AdhocFilterEditPopover_spec.jsx | 7 +-
.../explore/components/AdhocFilterOption_spec.jsx | 4 +-
.../components/AdhocMetricEditPopover_spec.jsx | 7 +-
.../explore/components/AdhocMetricOption_spec.jsx | 4 +-
.../explore/components/ColorPickerControl_spec.jsx | 2 +-
.../explore/components/ColorScheme_spec.jsx | 2 +-
.../components/ControlPanelsContainer_spec.jsx | 3 +-
.../explore/components/ControlRow_spec.jsx | 2 +
.../explore/components/DatasourceControl_spec.jsx | 2 +-
.../explore/components/DateFilterControl_spec.jsx | 117 +-
.../components/ExploreViewContainer_spec.jsx | 4 +-
.../explore/components/QueryAndSaveBtns_spec.jsx | 2 +-
.../explore/components/SaveModal_spec.jsx | 12 +-
.../explore/components/TextArea_spec.jsx | 4 +-
.../explore/components/VizTypeControl_spec.jsx | 2 +-
.../spec/javascripts/explore/controlUtils_spec.jsx | 130 +-
.../spec/javascripts/explore/fixtures.jsx | 105 +
.../spec/javascripts/explore/store_spec.jsx | 2 +-
.../spec/javascripts/explore/utils_spec.jsx | 4 +-
.../spec/javascripts/messageToasts/.eslintrc | 1 -
.../spec/javascripts/middleware/logger_spec.js | 4 +-
.../spec/javascripts/modules/utils_spec.jsx | 18 +-
.../spec/javascripts/sqllab/QuerySearch_spec.jsx | 6 +-
.../spec/javascripts/sqllab/SouthPane_spec.jsx | 2 +-
.../spec/javascripts/sqllab/SqlEditor_spec.jsx | 10 +-
.../javascripts/sqllab/TabbedSqlEditors_spec.jsx | 2 +-
.../spec/javascripts/sqllab/Timer_spec.jsx | 10 +-
.../utils/getControlsForVizType_spec.js | 3 +-
.../views/CRUD/chart/ChartList_spec.jsx | 4 +-
.../views/CRUD/dashboard/DashboardList_spec.jsx | 6 +-
.../views/CRUD/data/database/DatabaseList_spec.jsx | 126 +
.../CRUD/data/database/DatabaseModal_spec.jsx | 82 +
.../views/CRUD/data/dataset/DatasetList_spec.jsx | 16 +-
.../CRUD/data/savedquery/SavedQueryList_spec.jsx | 176 +
.../views/CRUD/welcome/DashboardTable_spec.tsx | 2 +-
superset-frontend/src/CRUD/CollectionTable.tsx | 67 +-
superset-frontend/src/CRUD/Field.jsx | 4 +-
superset-frontend/src/CRUD/Fieldset.jsx | 6 +-
superset-frontend/src/SqlLab/App.jsx | 2 +-
superset-frontend/src/SqlLab/actions/sqlLab.js | 3 +-
.../src/SqlLab/components/AceEditorWrapper.tsx | 97 +-
superset-frontend/src/SqlLab/components/App.jsx | 12 +-
.../src/SqlLab/components/ColumnElement.tsx | 6 +-
.../SqlLab/components/EstimateQueryCostButton.jsx | 11 +-
.../SqlLab/components/ExploreCtasResultsButton.jsx | 10 +-
.../src/SqlLab/components/ExploreResultsButton.jsx | 23 +-
.../src/SqlLab/components/HighlightedSql.jsx | 16 +-
.../src/SqlLab/components/LimitControl.tsx | 25 +-
.../src/SqlLab/components/QueryAutoRefresh.jsx | 10 +-
.../src/SqlLab/components/QueryHistory.jsx | 2 +-
.../src/SqlLab/components/QuerySearch.jsx | 15 +-
.../src/SqlLab/components/QueryTable.jsx | 45 +-
.../src/SqlLab/components/ResultSet.tsx | 65 +-
.../src/SqlLab/components/RunQueryActionButton.tsx | 19 +-
.../src/SqlLab/components/SaveQuery.jsx | 22 +-
.../src/SqlLab/components/ScheduleQueryButton.jsx | 13 +-
.../src/SqlLab/components/ShareSqlLabQuery.jsx | 6 +-
.../src/SqlLab/components/ShowSQL.tsx | 13 +-
.../src/SqlLab/components/SouthPane.jsx | 8 +-
.../src/SqlLab/components/SqlEditor.jsx | 45 +-
.../src/SqlLab/components/SqlEditorLeftBar.jsx | 29 +-
.../src/SqlLab/components/TabbedSqlEditors.jsx | 44 +-
.../src/SqlLab/components/TableElement.jsx | 35 +-
.../src/SqlLab/components/TemplateParamsEditor.jsx | 25 +-
superset-frontend/src/SqlLab/main.less | 6 +-
.../src/SqlLab/reducers/getInitialState.js | 4 +-
superset-frontend/src/SqlLab/reducers/sqlLab.js | 15 +-
.../src/addSlice/AddSliceContainer.tsx | 51 +-
superset-frontend/src/addSlice/App.tsx | 4 +-
superset-frontend/src/addSlice/index.tsx | 2 +-
superset-frontend/src/chart/Chart.jsx | 3 +-
superset-frontend/src/chart/ChartRenderer.jsx | 3 +-
superset-frontend/src/chart/chartAction.js | 13 +-
superset-frontend/src/chart/chartReducer.js | 5 +-
superset-frontend/src/common/components/Modal.tsx | 128 +
superset-frontend/src/common/components/Tabs.tsx | 62 +
.../src/common/components/common.stories.tsx | 61 +
superset-frontend/src/common/components/index.ts | 2 +-
.../src/components/ActionMenuItem.jsx | 83 -
.../src/components/AlteredSliceTag.jsx | 144 +-
superset-frontend/src/components/AnchorLink.jsx | 2 +-
.../src/components/AsyncAceEditor.tsx | 215 +
.../src/components/AsyncEsmComponent.tsx | 132 +
superset-frontend/src/components/AsyncSelect.jsx | 3 +-
superset-frontend/src/components/AvatarIcon.tsx | 2 +-
.../src/components/Button/Button.stories.jsx | 163 +
.../src/components/Button/Button.test.tsx | 68 +
.../src/components/Button/button.stories.jsx | 165 -
superset-frontend/src/components/Button/index.tsx | 238 +-
superset-frontend/src/components/CachedLabel.jsx | 2 +-
.../src/components/CertifiedIconWithTooltip.tsx | 3 +-
superset-frontend/src/components/Checkbox.tsx | 47 -
.../src/components/Checkbox/Checkbox.stories.jsx | 63 +
.../src/components/Checkbox/Checkbox.test.tsx | 75 +
.../src/components/Checkbox/index.tsx | 54 +
superset-frontend/src/components/CheckboxIcons.tsx | 2 +-
.../src/components/ConfirmStatusChange.tsx | 17 +-
.../src/components/CopyToClipboard.jsx | 2 +-
.../src/components/DatabaseSelector.tsx | 283 +
superset-frontend/src/components/DeleteModal.tsx | 15 +-
superset-frontend/src/components/EditableTitle.tsx | 2 +-
superset-frontend/src/components/ErrorBoundary.jsx | 2 +-
.../ErrorMessage/DatabaseErrorMessage.tsx | 2 +-
.../src/components/ErrorMessage/ErrorAlert.tsx | 15 +-
.../ErrorMessage/ErrorMessageWithStackTrace.tsx | 2 +-
.../src/components/ErrorMessage/IssueCode.tsx | 2 +-
.../ErrorMessage/TimeoutErrorMessage.tsx | 2 +-
.../src/components/ErrorMessage/types.ts | 2 +
.../src/components/ExpandableList.tsx | 4 +-
superset-frontend/src/components/FaveStar.tsx | 4 +-
.../components/FilterableTable/FilterableTable.tsx | 71 +-
superset-frontend/src/components/FlashProvider.tsx | 1 +
superset-frontend/src/components/FormLabel.tsx | 2 +-
superset-frontend/src/components/Hotkeys.jsx | 2 +
.../src/components/Icon/icon.stories.jsx | 6 +-
superset-frontend/src/components/Icon/index.tsx | 318 +-
.../src/components/IndeterminateCheckbox.tsx | 2 +-
.../src/components/Label/Label.stories.tsx | 10 +-
superset-frontend/src/components/Label/index.tsx | 49 +-
superset-frontend/src/components/Link.tsx | 1 -
.../src/components/ListView/ActionsBar.tsx | 92 +
.../src/components/ListView/CardCollection.tsx | 5 +-
.../src/components/ListView/CardSortSelect.tsx | 2 +-
.../src/components/ListView/Filters.tsx | 20 +-
.../src/components/ListView/ListView.tsx | 78 +-
.../src/components/ListView/TableCollection.tsx | 14 +-
superset-frontend/src/components/ListView/types.ts | 8 +-
superset-frontend/src/components/ListView/utils.ts | 28 +-
.../components/ListViewCard/ImageLoader.test.jsx | 10 +-
.../src/components/ListViewCard/ImageLoader.tsx | 20 +-
.../ListViewCard/ListViewCard.stories.tsx | 6 +-
.../src/components/ListViewCard/index.tsx | 14 +-
superset-frontend/src/components/Loading.tsx | 2 +-
.../src/components/Menu/LanguagePicker.tsx | 3 +-
superset-frontend/src/components/Menu/Menu.less | 45 -
superset-frontend/src/components/Menu/Menu.tsx | 187 +-
.../src/components/Menu/MenuObject.tsx | 26 +-
superset-frontend/src/components/Menu/NewMenu.tsx | 15 +-
superset-frontend/src/components/Menu/SubMenu.tsx | 121 +-
superset-frontend/src/components/Menu/UserMenu.tsx | 15 +-
superset-frontend/src/components/Modal.tsx | 15 +-
superset-frontend/src/components/ModalTrigger.jsx | 12 +-
.../src/components/NavDropdown/index.tsx | 72 +
superset-frontend/src/components/OmniContainer.jsx | 5 +-
superset-frontend/src/components/Pagination.tsx | 6 +-
superset-frontend/src/components/Popover/index.tsx | 23 +
.../src/components/RefreshChartOverlay.tsx | 5 +-
superset-frontend/src/components/RefreshLabel.jsx | 1 +
superset-frontend/src/components/SearchInput.tsx | 13 +-
.../src/components/Select/SupersetStyledSelect.tsx | 18 +-
.../Select/WindowedSelect/WindowedMenuList.tsx | 26 +-
.../components/Select/WindowedSelect/windowed.tsx | 9 +-
superset-frontend/src/components/Select/styles.tsx | 28 +-
superset-frontend/src/components/TableLoader.jsx | 5 +-
superset-frontend/src/components/TableSelector.jsx | 445 -
superset-frontend/src/components/TableSelector.tsx | 379 +
superset-frontend/src/components/Timer.tsx | 67 +-
.../src/components/URLShortLinkButton.jsx | 2 +-
.../src/components/URLShortLinkModal.jsx | 2 +-
superset-frontend/src/dashboard/.eslintrc | 3 +-
superset-frontend/src/dashboard/App.jsx | 2 +-
.../src/dashboard/actions/dashboardLayout.js | 2 +-
.../src/dashboard/actions/dashboardState.js | 9 +-
.../src/dashboard/actions/datasources.js | 2 +-
.../src/dashboard/actions/sliceEntities.js | 11 +-
.../src/dashboard/components/AddSliceCard.jsx | 2 +-
.../dashboard/components/BuilderComponentPane.jsx | 5 +-
.../src/dashboard/components/CodeModal.jsx | 4 +-
.../components/ColorSchemeControlWrapper.jsx | 4 +-
.../src/dashboard/components/CssEditor.jsx | 20 +-
.../src/dashboard/components/Dashboard.jsx | 6 +-
.../dashboard/components/DeleteComponentModal.jsx | 6 +-
.../src/dashboard/components/FilterIndicator.jsx | 2 +-
.../dashboard/components/FilterIndicatorGroup.jsx | 2 +-
.../components/FilterIndicatorTooltip.jsx | 3 +-
.../components/FilterIndicatorsContainer.jsx | 3 +-
.../src/dashboard/components/Header.jsx | 56 +-
.../dashboard/components/HeaderActionsDropdown.jsx | 24 +-
.../src/dashboard/components/MissingChart.jsx | 2 +-
.../src/dashboard/components/PropertiesModal.jsx | 31 +-
.../src/dashboard/components/PublishedStatus.jsx | 27 +-
.../dashboard/components/RefreshIntervalModal.jsx | 9 +-
.../src/dashboard/components/SaveModal.jsx | 12 +-
.../src/dashboard/components/SliceAdder.jsx | 17 +-
.../src/dashboard/components/SliceHeader.jsx | 2 +-
.../dashboard/components/SliceHeaderControls.jsx | 8 +-
.../components/filterscope/FilterScopeSelector.jsx | 10 +-
.../dashboard/components/filterscope/treeIcons.jsx | 2 +-
.../components/gridComponents/ChartHolder.jsx | 2 +-
.../dashboard/components/gridComponents/Header.jsx | 2 +-
.../components/gridComponents/Markdown.jsx | 19 +-
.../dashboard/components/gridComponents/Tabs.jsx | 2 +-
.../components/gridComponents/new/NewColumn.jsx | 2 +-
.../components/gridComponents/new/NewDivider.jsx | 2 +-
.../components/gridComponents/new/NewHeader.jsx | 2 +-
.../components/gridComponents/new/NewRow.jsx | 2 +-
.../components/gridComponents/new/NewTabs.jsx | 2 +-
.../components/menu/MarkdownModeDropdown.jsx | 2 +-
.../components/resizable/ResizableContainer.jsx | 2 +-
.../src/dashboard/containers/FilterIndicators.jsx | 4 +-
.../src/dashboard/reducers/dashboardFilters.js | 9 +-
.../src/dashboard/reducers/dashboardState.js | 4 +-
.../src/dashboard/reducers/getInitialState.js | 18 +-
superset-frontend/src/dashboard/reducers/index.js | 2 +-
.../src/dashboard/reducers/sliceEntities.js | 2 +-
.../src/dashboard/stylesheets/buttons.less | 11 -
superset-frontend/src/dashboard/types.ts | 2 +-
.../src/dashboard/util/activeDashboardFilters.js | 2 +-
.../src/dashboard/util/backgroundStyleOptions.ts | 2 +-
.../util/charts/getEffectiveExtraFilters.ts | 2 +-
.../util/charts/getFormDataWithExtraFilters.ts | 6 +-
.../src/dashboard/util/findFirstParentContainer.js | 2 +-
.../dashboard/util/getComponentWidthFromDrop.js | 38 +-
.../src/dashboard/util/getDashboardUrl.js | 10 +-
.../src/dashboard/util/getEmptyLayout.js | 2 +-
.../src/dashboard/util/getFilterFieldNodesTree.js | 2 +-
.../src/dashboard/util/getFilterScopeNodesTree.js | 10 +-
.../src/dashboard/util/headerStyleOptions.ts | 2 +-
.../util/logging/findNonTabChildChartIds.js | 3 +-
.../src/dashboard/util/propShapes.jsx | 2 +-
.../src/datasource/ChangeDatasourceModal.tsx | 12 +-
.../src/datasource/DatasourceEditor.jsx | 364 +-
.../src/datasource/DatasourceModal.tsx | 59 +-
superset-frontend/src/explore/AdhocFilter.js | 5 +-
superset-frontend/src/explore/AdhocMetric.js | 6 +-
superset-frontend/src/explore/App.jsx | 2 +-
.../src/explore/actions/exploreActions.js | 3 +-
.../src/explore/actions/saveModalActions.js | 2 +-
.../explore/components/AdhocFilterEditPopover.jsx | 125 +-
.../AdhocFilterEditPopoverSimpleTabContent.jsx | 16 +-
.../AdhocFilterEditPopoverSqlTabContent.jsx | 60 +-
.../src/explore/components/AdhocFilterOption.jsx | 11 +-
.../explore/components/AdhocMetricEditPopover.jsx | 257 +-
.../src/explore/components/AdhocMetricOption.jsx | 9 +-
.../src/explore/components/Control.jsx | 3 +
.../src/explore/components/ControlHeader.jsx | 11 +-
.../src/explore/components/ControlPanelSection.jsx | 5 +-
.../explore/components/ControlPanelsContainer.jsx | 10 +-
.../src/explore/components/DisplayQueryButton.jsx | 58 +-
.../src/explore/components/EmbedCodeButton.jsx | 6 +-
.../explore/components/ExploreActionButtons.jsx | 8 +-
.../src/explore/components/ExploreChartHeader.jsx | 3 +-
.../src/explore/components/ExploreChartPanel.jsx | 6 +-
.../explore/components/ExploreViewContainer.jsx | 49 +-
.../explore/components/FilterDefinitionOption.jsx | 6 +-
.../explore/components/MetricDefinitionOption.jsx | 6 +-
.../src/explore/components/PropertiesModal.tsx | 71 +-
.../src/explore/components/QueryAndSaveBtns.jsx | 33 +-
.../src/explore/components/RowCountLabel.jsx | 3 +-
.../src/explore/components/SaveModal.jsx | 38 +-
.../components/controls/AdhocFilterControl.jsx | 6 +-
.../components/controls/AnnotationLayer.jsx | 49 +-
.../components/controls/AnnotationLayerControl.jsx | 25 +-
.../explore/components/controls/BoundsControl.jsx | 24 +-
.../components/controls/CheckboxControl.jsx | 2 +
.../components/controls/CollectionControl.jsx | 8 +-
.../components/controls/ColorMapControl.jsx | 2 +-
.../components/controls/ColorPickerControl.jsx | 5 +-
.../components/controls/ColorSchemeControl.jsx | 4 -
.../components/controls/DatasourceControl.jsx | 87 +-
.../components/controls/DatasourceControl.less | 19 +-
.../components/controls/DateFilterControl.jsx | 63 +-
.../components/controls/FilterBoxItemControl.jsx | 15 +-
.../components/controls/FixedOrMetricControl.jsx | 11 +-
.../explore/components/controls/MetricsControl.jsx | 22 +-
.../components/controls/SelectAsyncControl.jsx | 4 +-
.../explore/components/controls/SelectControl.jsx | 8 +-
.../explore/components/controls/SpatialControl.jsx | 153 +-
.../components/controls/TextAreaControl.jsx | 40 +-
.../explore/components/controls/TextControl.tsx | 48 +-
.../controls/TimeSeriesColumnControl.jsx | 18 +-
.../components/controls/ViewportControl.jsx | 5 +
.../explore/components/controls/VizTypeControl.jsx | 7 +-
.../components/controls/withVerification.jsx | 3 +-
superset-frontend/src/explore/constants.js | 2 +-
.../src/explore/controlPanels/DeckArc.js | 12 +-
.../src/explore/controlPanels/DeckGeojson.js | 10 +-
.../src/explore/controlPanels/DeckGrid.js | 3 +-
.../src/explore/controlPanels/DeckHex.js | 4 +-
.../src/explore/controlPanels/DeckMulti.js | 3 +-
.../src/explore/controlPanels/DeckPath.js | 2 +-
.../src/explore/controlPanels/DeckPolygon.js | 4 +-
.../src/explore/controlPanels/DeckScatter.js | 3 +-
.../src/explore/controlPanels/DeckScreengrid.js | 3 +-
.../src/explore/controlPanels/Separator.js | 5 +-
.../src/explore/controlPanels/Shared_DeckGL.jsx | 13 +-
.../src/explore/controlPanels/TimeTable.js | 3 +-
.../src/explore/controlPanels/sections.jsx | 4 +-
superset-frontend/src/explore/controlUtils.js | 38 +-
superset-frontend/src/explore/controls.jsx | 14 +-
superset-frontend/src/explore/dateFilterUtils.ts | 2 +-
superset-frontend/src/explore/exploreUtils.js | 14 +-
superset-frontend/src/explore/main.less | 1 -
.../src/explore/reducers/getInitialState.js | 2 +-
superset-frontend/src/explore/store.js | 4 +-
superset-frontend/src/featureFlags.ts | 5 +
.../src/messageToasts/components/Toast.tsx | 4 +-
.../messageToasts/components/ToastPresenter.tsx | 2 +-
.../src/middleware/loggerMiddleware.js | 4 +-
superset-frontend/src/modules/AnnotationTypes.js | 2 -
superset-frontend/src/modules/utils.js | 37 +-
superset-frontend/src/preamble.ts | 2 +-
superset-frontend/src/profile/App.tsx | 2 +-
superset-frontend/src/profile/components/App.tsx | 2 +-
.../src/profile/components/CreatedContent.tsx | 4 +-
.../src/profile/components/Favorites.tsx | 4 +-
.../src/profile/components/Security.tsx | 2 +-
.../src/profile/components/UserInfo.tsx | 2 +-
superset-frontend/src/reduxUtils.ts | 4 +-
superset-frontend/src/setup/setupApp.ts | 6 +-
superset-frontend/src/setup/setupClient.js | 3 +-
superset-frontend/src/setup/setupColors.js | 20 +-
superset-frontend/src/setup/setupErrorMessages.ts | 8 +
superset-frontend/src/setup/setupFormatters.js | 4 +-
superset-frontend/src/setup/setupPlugins.ts | 2 +-
superset-frontend/src/showSavedQuery/index.jsx | 2 +-
superset-frontend/src/types/brace.d.ts | 28 +
.../src/utils/DebouncedMessageQueue.js | 2 +
superset-frontend/src/utils/common.js | 29 +-
superset-frontend/src/utils/downloadAsImage.ts | 2 +-
.../src/utils/getClientErrorObject.ts | 3 +-
.../src/utils/getControlsForVizType.js | 4 +-
superset-frontend/src/utils/hostNamesConfig.js | 2 +-
superset-frontend/src/views/App.tsx | 24 +-
.../src/views/CRUD/chart/ChartList.tsx | 70 +-
.../src/views/CRUD/dashboard/DashboardList.tsx | 97 +-
superset-frontend/src/views/CRUD/data/common.ts | 8 +-
.../src/views/CRUD/data/database/DatabaseList.tsx | 348 +-
.../src/views/CRUD/data/database/DatabaseModal.tsx | 648 +
.../src/views/CRUD/data/database/types.ts | 54 +
.../views/CRUD/data/dataset/AddDatasetModal.tsx | 17 +-
.../src/views/CRUD/data/dataset/Button.tsx | 72 -
.../src/views/CRUD/data/dataset/DatasetList.tsx | 90 +-
.../views/CRUD/data/savedquery/SavedQueryList.tsx | 452 +
superset-frontend/src/views/CRUD/hooks.ts | 132 +-
superset-frontend/src/views/CRUD/utils.tsx | 13 +-
.../src/views/CRUD/welcome/DashboardTable.tsx | 42 +-
.../src/views/CRUD/welcome/Welcome.tsx | 32 +-
superset-frontend/src/views/menu.tsx | 2 +-
.../src/visualizations/FilterBox/FilterBox.jsx | 55 +-
.../FilterBox/FilterBoxChartPlugin.js | 3 +-
.../src/visualizations/FilterBox/controlPanel.jsx | 2 +-
.../visualizations/TimeTable/FormattedNumber.jsx | 2 +-
.../src/visualizations/TimeTable/SparklineCell.jsx | 3 +-
.../src/visualizations/TimeTable/TimeTable.jsx | 219 +-
.../TimeTable/TimeTableChartPlugin.js | 3 +-
.../src/visualizations/presets/MainPreset.js | 8 +-
.../stylesheets/less/cosmo/bootswatch.less | 2 +-
.../stylesheets/less/cosmo/cosmoTheme.js | 59 +-
superset-frontend/stylesheets/superset.less | 30 +-
superset-frontend/webpack.config.js | 78 +-
superset/__init__.py | 2 +-
superset/app.py | 63 +-
.../SqlLab/components/ExploreCtasResultsButton.jsx | 6 +-
{tests/util => superset/cachekeys}/__init__.py | 0
superset/cachekeys/api.py | 123 +
superset/cachekeys/schemas.py | 45 +
superset/charts/api.py | 62 +-
superset/charts/dao.py | 1 -
superset/charts/filters.py | 22 +-
superset/charts/schemas.py | 19 +-
superset/cli.py | 12 +-
superset/common/query_context.py | 31 +-
superset/config.py | 21 +-
superset/connectors/base/models.py | 2 +-
superset/connectors/base/views.py | 15 +
superset/connectors/connector_registry.py | 1 -
superset/connectors/druid/views.py | 17 +-
superset/connectors/sqla/models.py | 39 +-
superset/connectors/sqla/views.py | 66 +-
{tests/util => superset/css_templates}/__init__.py | 0
superset/css_templates/api.py | 133 +
.../css_templates/commands}/__init__.py | 0
superset/css_templates/commands/bulk_delete.py | 53 +
superset/css_templates/commands/exceptions.py | 27 +
superset/css_templates/dao.py | 45 +
superset/css_templates/filters.py | 40 +
superset/css_templates/schemas.py | 33 +
superset/dao/base.py | 4 +-
superset/dashboards/api.py | 52 +-
superset/dashboards/dao.py | 2 +-
superset/dashboards/filters.py | 13 +
superset/databases/api.py | 514 +-
.../databases/commands}/__init__.py | 0
superset/databases/commands/create.py | 84 +
superset/databases/commands/delete.py | 58 +
superset/databases/commands/exceptions.py | 116 +
superset/databases/commands/test_connection.py | 66 +
superset/databases/commands/update.py | 87 +
superset/databases/dao.py | 90 +
superset/{views/database => databases}/filters.py | 0
superset/databases/schemas.py | 324 +
superset/databases/utils.py | 103 +
superset/datasets/api.py | 83 +-
superset/datasets/commands/bulk_delete.py | 88 +
superset/datasets/commands/create.py | 4 +-
superset/datasets/commands/delete.py | 31 +-
superset/datasets/commands/exceptions.py | 4 +
superset/datasets/dao.py | 38 +-
superset/datasets/schemas.py | 1 +
superset/db_engine_specs/athena.py | 3 +-
superset/db_engine_specs/base.py | 30 +-
superset/db_engine_specs/bigquery.py | 1 -
superset/db_engine_specs/drill.py | 3 +-
superset/db_engine_specs/druid.py | 6 +-
superset/db_engine_specs/gsheets.py | 2 +-
superset/db_engine_specs/hana.py | 3 +-
superset/db_engine_specs/hive.py | 9 +-
superset/db_engine_specs/kylin.py | 3 +-
superset/db_engine_specs/mssql.py | 8 +-
superset/db_engine_specs/mysql.py | 7 +-
superset/db_engine_specs/oracle.py | 6 +-
superset/db_engine_specs/pinot.py | 4 +-
superset/db_engine_specs/postgres.py | 4 +-
superset/db_engine_specs/presto.py | 64 +-
superset/db_engine_specs/snowflake.py | 2 +-
superset/db_engine_specs/sqlite.py | 2 +-
superset/db_engines/hive.py | 10 +-
superset/errors.py | 32 +
superset/examples/birth_names.py | 2 +-
superset/exceptions.py | 4 +
superset/extensions.py | 4 +-
superset/jinja_context.py | 29 +-
.../versions/175ea3592453_cache_lookup.py | 53 +
...d70ab98_fix_table_unique_constraint_in_mysql.py | 50 +
.../versions/2e5a0ee25ed4_refractor_alerting.py | 125 +
...654_fix_data_access_permissions_for_virtual_.py | 224 +
superset/migrations/versions/ae19b4ee3692_.py | 35 +
...828ac4e_add_rls_filter_type_and_grouping_key.py | 58 +
superset/models/alerts.py | 142 +-
superset/models/cache.py | 32 +
superset/models/core.py | 19 +-
superset/models/dashboard.py | 50 +-
superset/models/datasource_access_request.py | 8 +-
superset/models/helpers.py | 64 +-
superset/models/slice.py | 8 +-
superset/models/sql_lab.py | 11 +-
superset/models/tags.py | 23 +-
.../queries/saved_queries}/__init__.py | 0
superset/queries/saved_queries/api.py | 181 +
.../queries/saved_queries/commands}/__init__.py | 0
.../queries/saved_queries/commands/bulk_delete.py | 53 +
.../queries/saved_queries/commands/exceptions.py | 27 +
superset/queries/saved_queries/dao.py | 47 +
superset/queries/saved_queries/filters.py | 70 +
superset/queries/saved_queries/schemas.py | 33 +
superset/security/manager.py | 50 +-
superset/sql_lab.py | 48 +-
superset/sql_validators/presto_db.py | 7 +-
superset/stats_logger.py | 1 -
superset/tasks/{ => alerts}/__init__.py | 0
superset/tasks/alerts/observer.py | 103 +
superset/tasks/alerts/validator.py | 111 +
superset/tasks/schedules.py | 403 +-
superset/templates/email/alert.txt | 6 +-
superset/templates/slack/alert.txt | 4 +-
superset/templates/slack/alert_no_screenshot.txt | 4 +-
superset/templates/superset/add_slice.html | 2 +-
superset/templates/superset/dashboard.html | 9 +
superset/templates/superset/import_dashboards.html | 3 +-
superset/templates/superset/models/rls/list.html | 96 +
superset/translations/babel.cfg | 2 +
superset/translations/es/LC_MESSAGES/messages.json | 2359 +-
superset/translations/es/LC_MESSAGES/messages.po | 7973 ++++--
superset/translations/messages.pot | 2172 +-
superset/utils/cache.py | 3 +-
superset/utils/cache_manager.py | 28 +-
superset/utils/celery.py | 57 +
superset/utils/core.py | 6 +-
superset/utils/decorators.py | 28 +-
superset/utils/log.py | 1 -
superset/utils/logging_configurator.py | 6 +-
superset/utils/machine_auth.py | 1 -
superset/utils/pandas_postprocessing.py | 13 +-
superset/utils/screenshots.py | 5 +-
superset/utils/webdriver.py | 1 -
superset/views/alerts.py | 225 +-
superset/views/base_api.py | 66 +-
superset/views/chart/views.py | 16 +-
superset/views/core.py | 136 +-
superset/views/database/mixins.py | 6 +-
superset/views/database/validators.py | 14 +-
superset/views/database/views.py | 6 +-
superset/views/sql_lab.py | 14 +-
superset/views/utils.py | 75 +-
superset/viz.py | 114 +-
superset/viz_sip38.py | 24 +-
tests/alerts_tests.py | 375 +-
tests/base_api_tests.py | 1 +
tests/base_tests.py | 73 +-
tests/{util => cachekeys}/__init__.py | 0
tests/cachekeys/api_tests.py | 163 +
tests/celery_tests.py | 903 +-
tests/charts/api_tests.py | 135 +-
tests/core_tests.py | 102 +-
tests/{util => css_templates}/__init__.py | 0
tests/css_templates/api_tests.py | 356 +
tests/dashboards/api_tests.py | 151 +-
tests/database_api_tests.py | 268 -
tests/{util => databases}/__init__.py | 0
tests/databases/api_tests.py | 791 +
tests/datasets/api_tests.py | 186 +-
tests/pandas_postprocessing_tests.py | 28 +-
tests/{util => queries/saved_queries}/__init__.py | 0
tests/queries/saved_queries/api_tests.py | 630 +
tests/query_context_tests.py | 5 +-
tests/schedules_test.py | 6 +-
tests/security_tests.py | 190 +-
tests/sqla_models_tests.py | 54 +-
tests/sqllab_tests.py | 22 +
tests/superset_test_config.py | 16 +-
tests/superset_test_config_thumbnails.py | 23 +-
tests/superset_test_custom_template_processors.py | 2 +-
tests/utils_tests.py | 40 +-
tests/viz_tests.py | 57 -
tox.ini | 9 +-
1000 files changed, 62905 insertions(+), 17704 deletions(-)
create mode 100644 .editorconfig
create mode 100644 .github/ISSUE_TEMPLATE/security_vulnerability.md
delete mode 100644 .github/prlint.json
create mode 100644 .github/workflows/pr-lint.yml
create mode 100644 .github/workflows/prefer-typescript.yml
delete mode 100644 .github/workflows/prefer_typescript.yml
delete mode 100644 .github/workflows/superset-docker.yml
create mode 100644 .github/workflows/superset-docs.yml
create mode 100644 .github/workflows/test-docker.yml
create mode 100644 .github/workflows/test-hive.yml
create mode 100644 .github/workflows/test-presto.yml
create mode 100644 docs/.eslintrc.js
create mode 100644 docs/.gitignore
create mode 100644 docs/.htaccess
rename {superset-frontend => docs}/.prettierrc (100%)
delete mode 100644 docs/Makefile
create mode 100644 docs/README.md
delete mode 100644 docs/_static/docs.css
delete mode 120000 docs/_static/images
delete mode 100644 docs/admintutorial.rst
delete mode 100755 docs/build.sh
delete mode 100644 docs/conf.py
create mode 100644 docs/doczrc.js
delete mode 100644 docs/druid.rst
delete mode 100644 docs/faq.rst
delete mode 100644 docs/gallery.rst
create mode 100644 docs/gatsby-config.js
create mode 100644 docs/gatsby-node.js
delete mode 100644 docs/import_export_datasources.rst
delete mode 100644 docs/index.rst
delete mode 100644 docs/issue_code_reference.rst
delete mode 100644 docs/misc.rst
create mode 100644 docs/package-lock.json
create mode 100644 docs/package.json
create mode 100644 docs/prettier.config.js
copy tests/util/__init__.py => docs/requirements.txt (100%)
delete mode 100644 docs/security.rst
create mode 100644 docs/src/components/AnchorNavigator.tsx
create mode 100644 docs/src/components/DbImage.tsx
create mode 100644 docs/src/components/DoczMenu.tsx
create mode 100644 docs/src/components/MainMenu.tsx
create mode 100644 docs/src/components/footer.tsx
create mode 100644 docs/src/components/image.tsx
create mode 100644 docs/src/components/layout.scss
create mode 100644 docs/src/components/layout.tsx
create mode 100644 docs/src/components/next.tsx
create mode 100644 docs/src/components/select.tsx
create mode 100644 docs/src/components/seo.js
create mode 100644 docs/src/gatsby-theme-docz/index.tsx
copy superset-frontend/branding/superset-logo-horiz-apache.png =>
docs/src/images/apacheSupersetHoriz.png (100%)
create mode 100644 docs/src/images/dashboard.png
create mode 100644 docs/src/images/databases/apache-drill.png
create mode 100644 docs/src/images/databases/apache-druid.jpeg
copy superset-frontend/images/druid.png =>
docs/src/images/databases/apache-druid.png (100%)
create mode 100644 docs/src/images/databases/apache-hive.svg
create mode 100644 docs/src/images/databases/apache-impala.png
copy {superset-frontend/images => docs/src/images/databases}/apache-kylin.png
(100%)
copy superset-frontend/images/redshift.png =>
docs/src/images/databases/aws-redshift.png (100%)
copy {superset-frontend/images => docs/src/images/databases}/clickhouse.png
(100%)
create mode 100644 docs/src/images/databases/druid.png
copy {superset-frontend/images => docs/src/images/databases}/exasol.png (100%)
copy {superset-frontend/images => docs/src/images/databases}/firebird.png
(100%)
copy superset-frontend/images/google-biquery.png =>
docs/src/images/databases/googleBQ.png (100%)
create mode 100644 docs/src/images/databases/greenplum.jpeg
copy {superset-frontend/images => docs/src/images/databases}/greenplum.png
(100%)
create mode 100644 docs/src/images/databases/ibmdb2.png
copy superset-frontend/images/monet-db.png =>
docs/src/images/databases/monet.png (100%)
copy superset-frontend/images/mssql-server.png =>
docs/src/images/databases/msql.png (100%)
copy {superset-frontend/images => docs/src/images/databases}/mysql.png (100%)
create mode 100644 docs/src/images/databases/oracle-logo.png
copy {superset-frontend/images => docs/src/images/databases}/oracle.png (100%)
create mode 100644 docs/src/images/databases/oraclelogo.png
create mode 100644 docs/src/images/databases/postgresql.jpg
create mode 100644 docs/src/images/databases/postsql.png
copy superset-frontend/images/presto.png =>
docs/src/images/databases/presto-og.png (100%)
copy {superset-frontend/images => docs/src/images/databases}/snowflake.png
(100%)
create mode 100644 docs/src/images/databases/sqllite.jpg
create mode 100644 docs/src/images/databases/sqllite.png
copy {superset-frontend/images => docs/src/images/databases}/vertica.png (100%)
create mode 100644 docs/src/images/docker.png
create mode 100644 docs/src/images/explorer.png
copy {superset-frontend => docs/src}/images/favicon.png (100%)
create mode 100644 docs/src/images/gallery/bubble.png
create mode 100644 docs/src/images/gallery/chord_diagram.png
create mode 100644 docs/src/images/gallery/community.png
create mode 100644 docs/src/images/gallery/dashboard_editor.png
create mode 100644 docs/src/images/gallery/dashboard_list.png
create mode 100644 docs/src/images/gallery/dashboard_properties.png
create mode 100644 docs/src/images/gallery/deck_arc.png
create mode 100644 docs/src/images/gallery/deck_hex.png
create mode 100644 docs/src/images/gallery/deck_path.png
create mode 100644 docs/src/images/gallery/deck_polygon.png
create mode 100644 docs/src/images/gallery/deck_scatter.png
copy {superset-frontend/images/screenshots =>
docs/src/images/gallery}/deckgl_dash.png (100%)
create mode 100644 docs/src/images/gallery/explore.png
create mode 100644 docs/src/images/gallery/force_layout.png
create mode 100644 docs/src/images/gallery/france.png
create mode 100644 docs/src/images/gallery/girl_names.png
create mode 100644 docs/src/images/gallery/heatmap.png
create mode 100644 docs/src/images/gallery/pino_geo.png
create mode 100644 docs/src/images/gallery/sankey.png
create mode 100644 docs/src/images/gallery/slack.png
create mode 100644 docs/src/images/gallery/sqllab.png
create mode 100644 docs/src/images/gallery/storm.png
create mode 100644 docs/src/images/gallery/stream.png
create mode 100644 docs/src/images/gallery/table.png
create mode 100644 docs/src/images/gallery/treemap.png
copy {superset-frontend/images/screenshots =>
docs/src/images/gallery}/visualizations.png (100%)
create mode 100644 docs/src/images/gallery/worldbank_dashboard.png
create mode 100644 docs/src/images/incubator.png
create mode 100644 docs/src/images/preset.png
create mode 100644 docs/src/images/preset.svg
copy {superset-frontend => docs/src}/images/s.png (100%)
create mode 100644 docs/src/images/stack_overflow.png
copy {superset-frontend/branding =>
docs/src/images}/superset-logo-horiz-apache.svg (100%)
create mode 100644 docs/src/images/superset-logo-horiz.svg
create mode 100644 docs/src/pages/404.jsx
create mode 100644 docs/src/pages/community.tsx
create mode 100644 docs/src/pages/docs/Connecting to Databases/athena.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/clickhouse.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/cockroachdb.mdx
create mode 100644 docs/src/pages/docs/Connecting to
Databases/docker-add-drivers.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/dremio.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/drill.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/druid.mdx
create mode 100644 docs/src/pages/docs/Connecting to
Databases/elasticsearch.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/exasol.mdx
create mode 100644 docs/src/pages/docs/Connecting to
Databases/extra-settings.mdx
create mode 100644 docs/src/pages/docs/Connecting to
Databases/google-bigquery.mdx
create mode 100644 docs/src/pages/docs/Connecting to
Databases/google-sheets.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/hana.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/hive.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/ibm-db2.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/impala.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/index.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/kylin.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/mysql.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/oracle.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/pinot.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/postgres.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/presto.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/redshift.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/snowflake.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/spark-sql.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/sql-server.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/teradata.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/vertica.mdx
create mode 100644 docs/src/pages/docs/Creating Charts and
Dashboards/exploring-data.mdx
create mode 100644 docs/src/pages/docs/Creating Charts and Dashboards/index.mdx
create mode 100644 docs/src/pages/docs/Miscellaneous/importing-exporting.mdx
create mode 100644 docs/src/pages/docs/Miscellaneous/index.mdx
create mode 100644 docs/src/pages/docs/Miscellaneous/issue_codes.mdx
create mode 100644 docs/src/pages/docs/contributing-page.mdx
create mode 100644 docs/src/pages/docs/frequently-asked-questions-page.mdx
create mode 100644 docs/src/pages/docs/installation/async_queries_celery.mdx
create mode 100644 docs/src/pages/docs/installation/building-viz-plugins.mdx
create mode 100644 docs/src/pages/docs/installation/caching.mdx
create mode 100644 docs/src/pages/docs/installation/configuring.mdx
create mode 100644 docs/src/pages/docs/installation/email_reports.mdx
create mode 100644 docs/src/pages/docs/installation/event-logging-page.mdx
create mode 100644 docs/src/pages/docs/installation/index.mdx
create mode 100644 docs/src/pages/docs/installation/installing_scratch.mdx
create mode 100644 docs/src/pages/docs/installation/networking_settings.mdx
create mode 100644 docs/src/pages/docs/installation/sql_templating.mdx
create mode 100644 docs/src/pages/docs/installation/upgrading_superset.mdx
create mode 100644 docs/src/pages/docs/introduction.mdx
create mode 100644 docs/src/pages/docs/roadmap-page.mdx
create mode 100644 docs/src/pages/docs/security-page.mdx
create mode 100644 docs/src/pages/gallery.tsx
create mode 100644 docs/src/pages/index.tsx
create mode 100644 docs/src/pages/resources.tsx
create mode 100644 docs/src/resources/data.js
create mode 100644 docs/src/utils.js
copy {superset-frontend/images/usertutorial =>
docs/static/images}/add_new_chart.png (100%)
copy {superset-frontend/images/usertutorial =>
docs/static/images}/advanced_analytics_base.png (100%)
copy {superset-frontend/images/usertutorial =>
docs/static/images}/annotation.png (100%)
copy {superset-frontend/images/usertutorial =>
docs/static/images}/annotation_settings.png (100%)
copy {superset-frontend/images/usertutorial =>
docs/static/images}/average_aggregate_for_cost.png (100%)
copy {superset-frontend/images/usertutorial =>
docs/static/images}/blue_bar_insert_component.png (100%)
copy {superset-frontend/images/usertutorial =>
docs/static/images}/chose_a_datasource.png (100%)
copy {superset-frontend/images/usertutorial =>
docs/static/images}/csv_to_database_configuration.png (100%)
create mode 100644 docs/static/images/dashboard.png
create mode 100644 docs/static/images/dashboard2.png
create mode 100644 docs/static/images/dashboard3.png
create mode 100644 docs/static/images/data-point.jpg
copy {superset-frontend/images/usertutorial =>
docs/static/images}/edit-record.png (100%)
copy {superset-frontend/images/usertutorial =>
docs/static/images}/edit_annotation.png (100%)
create mode 100644 docs/static/images/explorer.png
create mode 100644 docs/static/images/explorer2.png
create mode 100644 docs/static/images/explorer3.png
create mode 100644 docs/static/images/explorer4.png
copy {superset-frontend/images/usertutorial =>
docs/static/images}/filter_on_origin_country.png (100%)
create mode 100644 docs/static/images/google-analytics.png
copy {superset-frontend/images/usertutorial =>
docs/static/images}/markdown.png (100%)
copy {superset-frontend/images/usertutorial =>
docs/static/images}/no_filter_on_time_filter.png (100%)
copy {superset-frontend/images/usertutorial =>
docs/static/images}/parse_dates_column.png (100%)
create mode 100644 docs/static/images/pie-chart.png
create mode 100644 docs/static/images/plugin-1-yeoman-select.png
create mode 100644 docs/static/images/plugin-10-hello-thumbnail.png
create mode 100644 docs/static/images/plugin-11-explore-view.png
create mode 100644 docs/static/images/plugin-12-console-logs.png
create mode 100644 docs/static/images/plugin-2-yeoman-package-name.png
create mode 100644 docs/static/images/plugin-3-yeoman-description.png
create mode 100644 docs/static/images/plugin-4-yeoman-component-type.png
create mode 100644 docs/static/images/plugin-5-yeoman-timeseries.png
create mode 100644 docs/static/images/plugin-6-yeoman-badges.png
create mode 100644 docs/static/images/plugin-7-yeoman-files.png
create mode 100644 docs/static/images/plugin-8-package-json.png
create mode 100644 docs/static/images/plugin-9-mainpreset-import.png
create mode 100644 docs/static/images/plugin-9-mainpreset-register.png
copy {superset-frontend/images/usertutorial =>
docs/static/images}/publish_dashboard.png (100%)
copy {superset-frontend/images/usertutorial =>
docs/static/images}/resample.png (100%)
copy {superset-frontend/images/usertutorial =>
docs/static/images}/resize_tutorial_table_on_dashboard.png (100%)
copy {superset-frontend/images/usertutorial =>
docs/static/images}/rolling_mean.png (100%)
create mode 100644 docs/static/images/root-cert-example.png
copy {superset-frontend/images/usertutorial =>
docs/static/images}/save_tutorial_table.png (100%)
copy {superset-frontend/images/usertutorial =>
docs/static/images}/select_dates_pivot_table.png (100%)
copy {superset-frontend/images/usertutorial =>
docs/static/images}/select_table_visualization_type.png (100%)
create mode 100644 docs/static/images/so-icon.svg
create mode 100644 docs/static/images/sqllab.png
create mode 100644 docs/static/images/sqllab0.png
create mode 100644 docs/static/images/sqllab1.png
create mode 100644 docs/static/images/sqllab3.png
copy {superset-frontend/images/usertutorial =>
docs/static/images}/sum_cost_column.png (100%)
copy {superset-frontend/images/usertutorial =>
docs/static/images}/time_comparison_absolute_difference.png (100%)
copy {superset-frontend/images/usertutorial =>
docs/static/images}/time_comparison_two_series.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_01_sources_database.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_02_add_database.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_03_database_name.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_04_sqlalchemy_connection_string.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_05_connection_popup.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_06_list_of_tables.png (100%)
copy superset-frontend/images/tutorial/tutorial_07_save_button.png =>
docs/static/images/tutorial_07_save_button (1).png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_07_save_button.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_08_sources_tables.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_09_add_new_table.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_10_table_name.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_11_choose_db.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_12_table_creation_success_msg.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_13_edit_table_config.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_14_field_config.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_15_click_table_name.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_16_datasource_chart_type.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_17_choose_time_range.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_18_choose_metric.png (100%)
copy superset-frontend/images/tutorial/tutorial_19_click_query.png =>
docs/static/images/tutorial_19_click_query (1).png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_19_click_query.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_20_count_star_result.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_21_group_by.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_22_group_by_result.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_23_group_by_more_dimensions.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_24_max_metric.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_25_max_temp_filter.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_26_row_limit.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_27_top_10_max_temps.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_28_bar_chart.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_29_bar_chart_series_metrics.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_30_bar_chart_results.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_31_save_slice_to_dashboard.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_32_save_slice_confirmation.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_33_dashboard.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_34_weather_dashboard.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_35_slice_on_dashboard.png (100%)
copy {superset-frontend/images/tutorial =>
docs/static/images}/tutorial_36_adjust_dimensions.gif (100%)
copy {superset-frontend/images/usertutorial =>
docs/static/images}/tutorial_line_chart.png (100%)
copy {superset-frontend/images/usertutorial =>
docs/static/images}/tutorial_pivot_table.png (100%)
copy {superset-frontend/images/usertutorial =>
docs/static/images}/tutorial_table.png (100%)
copy {superset-frontend/images/usertutorial =>
docs/static/images}/upload_a_csv.png (100%)
create mode 100644 docs/static/images/youtube.png
delete mode 100644 docs/tutorials.rst
delete mode 100644 docs/usertutorial.rst
delete mode 100644 docs/videos.rst
delete mode 100644 docs/visualization.rst
create mode 100644 package-lock.json
delete mode 100644 requirements/documentation.in
delete mode 100644 requirements/documentation.txt
create mode 100644
superset-frontend/cypress-base/cypress/integration/chart_list/card_view.test.ts
create mode 100644
superset-frontend/cypress-base/cypress/integration/chart_list/chart_list.helper.ts
create mode 100644
superset-frontend/cypress-base/cypress/integration/chart_list/filter.test.ts
create mode 100644
superset-frontend/cypress-base/cypress/integration/chart_list/list_view.test.ts
delete mode 100644
superset-frontend/cypress-base/cypress/integration/dashboard/dashboard.helper.js
create mode 100644
superset-frontend/cypress-base/cypress/integration/dashboard/dashboard.helper.ts
create mode 100644
superset-frontend/cypress-base/cypress/integration/dashboard/markdown.test.ts
create mode 100644
superset-frontend/cypress-base/cypress/integration/dashboard_list/card_view.test.ts
create mode 100644
superset-frontend/cypress-base/cypress/integration/dashboard_list/dashboard_list.helper.ts
create mode 100644
superset-frontend/cypress-base/cypress/integration/dashboard_list/filter.test.ts
create mode 100644
superset-frontend/cypress-base/cypress/integration/dashboard_list/list_view.test.ts
delete mode 100644
superset-frontend/cypress-base/cypress/integration/sqllab/query.test.js
create mode 100644
superset-frontend/cypress-base/cypress/integration/sqllab/query.test.ts
create mode 100644 superset-frontend/images/icons/alert.svg
create mode 100644 superset-frontend/images/icons/alert_solid.svg
create mode 100644 superset-frontend/images/icons/binoculars.svg
create mode 100644 superset-frontend/images/icons/bolt.svg
create mode 100644 superset-frontend/images/icons/bolt_small.svg
create mode 100644 superset-frontend/images/icons/bolt_small_run.svg
create mode 100644 superset-frontend/images/icons/calendar.svg
create mode 100644 superset-frontend/images/icons/cancel.svg
create mode 100644 superset-frontend/images/icons/cancel_solid.svg
rename superset-frontend/images/icons/{card-view.svg => card_view.svg} (100%)
create mode 100644 superset-frontend/images/icons/cards.svg
create mode 100644 superset-frontend/images/icons/cards_locked.svg
create mode 100644 superset-frontend/images/icons/caret_down.svg
create mode 100644 superset-frontend/images/icons/caret_left.svg
create mode 100644 superset-frontend/images/icons/caret_right.svg
create mode 100644 superset-frontend/images/icons/caret_up.svg
delete mode 100644 superset-frontend/images/icons/circle-check.svg
create mode 100644 superset-frontend/images/icons/circle.svg
create mode 100644 superset-frontend/images/icons/circle_check.svg
rename superset-frontend/images/icons/{circle-check-solid.svg =>
circle_check_solid.svg} (100%)
create mode 100644 superset-frontend/images/icons/clock.svg
create mode 100644 superset-frontend/images/icons/code.svg
create mode 100644 superset-frontend/images/icons/cog.svg
create mode 100644 superset-frontend/images/icons/collapse.svg
create mode 100644 superset-frontend/images/icons/color_palette.svg
create mode 100644 superset-frontend/images/icons/components.svg
create mode 100644 superset-frontend/images/icons/copy.svg
create mode 100644 superset-frontend/images/icons/cursor_target.svg
create mode 100644 superset-frontend/images/icons/database.svg
create mode 100644 superset-frontend/images/icons/dataset_virtual_greyscale.svg
create mode 100644 superset-frontend/images/icons/download.svg
create mode 100644 superset-frontend/images/icons/edit.svg
rename superset-frontend/images/icons/{pencil.svg => edit_alt.svg} (100%)
create mode 100644 superset-frontend/images/icons/email.svg
copy superset-frontend/images/icons/{error.svg => error_solid.svg} (100%)
create mode 100644 superset-frontend/images/icons/error_solid_small.svg
create mode 100644 superset-frontend/images/icons/expand.svg
create mode 100644 superset-frontend/images/icons/eye.svg
create mode 100644 superset-frontend/images/icons/eye_slash.svg
create mode 100644 superset-frontend/images/icons/favorite_small_selected.svg
create mode 100644 superset-frontend/images/icons/field_abc.svg
create mode 100644 superset-frontend/images/icons/field_boolean.svg
create mode 100644 superset-frontend/images/icons/field_date.svg
create mode 100644 superset-frontend/images/icons/field_derived.svg
create mode 100644 superset-frontend/images/icons/field_num.svg
create mode 100644 superset-frontend/images/icons/field_struct.svg
create mode 100644 superset-frontend/images/icons/file.svg
create mode 100644 superset-frontend/images/icons/filter.svg
create mode 100644 superset-frontend/images/icons/folder.svg
create mode 100644 superset-frontend/images/icons/full.svg
create mode 100644 superset-frontend/images/icons/gear.svg
create mode 100644 superset-frontend/images/icons/grid.svg
create mode 100644 superset-frontend/images/icons/image.svg
create mode 100644 superset-frontend/images/icons/info-solid.svg
create mode 100644 superset-frontend/images/icons/info.svg
create mode 100644 superset-frontend/images/icons/info_solid_small.svg
create mode 100644 superset-frontend/images/icons/join.svg
create mode 100644 superset-frontend/images/icons/keyboard.svg
create mode 100644 superset-frontend/images/icons/layers.svg
create mode 100644 superset-frontend/images/icons/lightbulb.svg
create mode 100644 superset-frontend/images/icons/list.svg
rename superset-frontend/images/icons/{list-view.svg => list_view.svg} (100%)
create mode 100644 superset-frontend/images/icons/location.svg
create mode 100644 superset-frontend/images/icons/lock_locked.svg
create mode 100644 superset-frontend/images/icons/lock_unlocked.svg
create mode 100644 superset-frontend/images/icons/map.svg
create mode 100644 superset-frontend/images/icons/message.svg
create mode 100644 superset-frontend/images/icons/minus.svg
create mode 100644 superset-frontend/images/icons/minus_solid.svg
rename superset-frontend/images/icons/{more.svg => more_horiz.svg} (100%)
create mode 100644 superset-frontend/images/icons/move.svg
create mode 100644 superset-frontend/images/icons/nav_charts.svg
create mode 100644 superset-frontend/images/icons/nav_dashboard.svg
create mode 100644 superset-frontend/images/icons/nav_data.svg
rename superset-frontend/images/icons/{compass.svg => nav_explore.svg} (100%)
create mode 100644 superset-frontend/images/icons/nav_home.svg
create mode 100644 superset-frontend/images/icons/nav_lab.svg
create mode 100644 superset-frontend/images/icons/note.svg
create mode 100644 superset-frontend/images/icons/paperclip.svg
create mode 100644 superset-frontend/images/icons/placeholder.svg
create mode 100644 superset-frontend/images/icons/plus.svg
create mode 100644 superset-frontend/images/icons/plus_large.svg
create mode 100644 superset-frontend/images/icons/plus_small.svg
create mode 100644 superset-frontend/images/icons/plus_solid.svg
create mode 100644 superset-frontend/images/icons/refresh.svg
create mode 100644 superset-frontend/images/icons/server.svg
rename superset-frontend/images/icons/{sort-asc.svg => sort_asc.svg} (100%)
rename superset-frontend/images/icons/{sort-desc.svg => sort_desc.svg} (100%)
create mode 100644 superset-frontend/images/icons/sql.svg
create mode 100644 superset-frontend/images/icons/table.svg
create mode 100644 superset-frontend/images/icons/tag.svg
create mode 100644 superset-frontend/images/icons/triangle_change.svg
create mode 100644 superset-frontend/images/icons/triangle_down.svg
create mode 100644 superset-frontend/images/icons/triangle_up.svg
create mode 100644 superset-frontend/images/icons/up-level.svg
create mode 100644 superset-frontend/images/icons/user.svg
copy superset-frontend/images/icons/{warning.svg => warning_solid.svg} (100%)
create mode 100644 superset-frontend/images/icons/x-large.svg
create mode 100644 superset-frontend/images/icons/x-small.svg
create mode 100644 superset-frontend/images/screenshots/gallery.png
create mode 100644 superset-frontend/prettier.config.js
delete mode 100644
superset-frontend/spec/javascripts/components/Checkbox_spec.jsx
create mode 100644
superset-frontend/spec/javascripts/components/SubMenu_spec.jsx
create mode 100644
superset-frontend/spec/javascripts/components/fixtures/AlteredSliceTag.js
create mode 100644 superset-frontend/spec/javascripts/explore/fixtures.jsx
create mode 100644
superset-frontend/spec/javascripts/views/CRUD/data/database/DatabaseModal_spec.jsx
create mode 100644
superset-frontend/spec/javascripts/views/CRUD/data/savedquery/SavedQueryList_spec.jsx
create mode 100644 superset-frontend/src/common/components/Modal.tsx
create mode 100644 superset-frontend/src/common/components/Tabs.tsx
create mode 100644 superset-frontend/src/common/components/common.stories.tsx
delete mode 100644 superset-frontend/src/components/ActionMenuItem.jsx
create mode 100644 superset-frontend/src/components/AsyncAceEditor.tsx
create mode 100644 superset-frontend/src/components/AsyncEsmComponent.tsx
create mode 100644 superset-frontend/src/components/Button/Button.stories.jsx
create mode 100644 superset-frontend/src/components/Button/Button.test.tsx
delete mode 100644 superset-frontend/src/components/Button/button.stories.jsx
delete mode 100644 superset-frontend/src/components/Checkbox.tsx
create mode 100644
superset-frontend/src/components/Checkbox/Checkbox.stories.jsx
create mode 100644 superset-frontend/src/components/Checkbox/Checkbox.test.tsx
create mode 100644 superset-frontend/src/components/Checkbox/index.tsx
create mode 100644 superset-frontend/src/components/DatabaseSelector.tsx
create mode 100644 superset-frontend/src/components/ListView/ActionsBar.tsx
delete mode 100644 superset-frontend/src/components/Menu/Menu.less
create mode 100644 superset-frontend/src/components/NavDropdown/index.tsx
create mode 100644 superset-frontend/src/components/Popover/index.tsx
delete mode 100644 superset-frontend/src/components/TableSelector.jsx
create mode 100644 superset-frontend/src/components/TableSelector.tsx
create mode 100644 superset-frontend/src/types/brace.d.ts
create mode 100644
superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx
create mode 100644 superset-frontend/src/views/CRUD/data/database/types.ts
delete mode 100644 superset-frontend/src/views/CRUD/data/dataset/Button.tsx
create mode 100644
superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx
copy {tests/util => superset/cachekeys}/__init__.py (100%)
create mode 100644 superset/cachekeys/api.py
create mode 100644 superset/cachekeys/schemas.py
copy {tests/util => superset/css_templates}/__init__.py (100%)
create mode 100644 superset/css_templates/api.py
copy {tests/util => superset/css_templates/commands}/__init__.py (100%)
create mode 100644 superset/css_templates/commands/bulk_delete.py
create mode 100644 superset/css_templates/commands/exceptions.py
create mode 100644 superset/css_templates/dao.py
create mode 100644 superset/css_templates/filters.py
create mode 100644 superset/css_templates/schemas.py
copy {tests/util => superset/databases/commands}/__init__.py (100%)
create mode 100644 superset/databases/commands/create.py
create mode 100644 superset/databases/commands/delete.py
create mode 100644 superset/databases/commands/exceptions.py
create mode 100644 superset/databases/commands/test_connection.py
create mode 100644 superset/databases/commands/update.py
create mode 100644 superset/databases/dao.py
rename superset/{views/database => databases}/filters.py (100%)
create mode 100644 superset/databases/utils.py
create mode 100644 superset/datasets/commands/bulk_delete.py
create mode 100644 superset/migrations/versions/175ea3592453_cache_lookup.py
create mode 100644
superset/migrations/versions/18532d70ab98_fix_table_unique_constraint_in_mysql.py
create mode 100644
superset/migrations/versions/2e5a0ee25ed4_refractor_alerting.py
create mode 100644
superset/migrations/versions/3fbbc6e8d654_fix_data_access_permissions_for_virtual_.py
create mode 100644 superset/migrations/versions/ae19b4ee3692_.py
create mode 100644
superset/migrations/versions/e5ef6828ac4e_add_rls_filter_type_and_grouping_key.py
create mode 100755 superset/models/cache.py
copy {tests/util => superset/queries/saved_queries}/__init__.py (100%)
create mode 100644 superset/queries/saved_queries/api.py
copy {tests/util => superset/queries/saved_queries/commands}/__init__.py (100%)
create mode 100644 superset/queries/saved_queries/commands/bulk_delete.py
create mode 100644 superset/queries/saved_queries/commands/exceptions.py
create mode 100644 superset/queries/saved_queries/dao.py
create mode 100644 superset/queries/saved_queries/filters.py
create mode 100644 superset/queries/saved_queries/schemas.py
copy superset/tasks/{ => alerts}/__init__.py (100%)
create mode 100644 superset/tasks/alerts/observer.py
create mode 100644 superset/tasks/alerts/validator.py
create mode 100644 superset/templates/superset/models/rls/list.html
create mode 100644 superset/utils/celery.py
copy tests/{util => cachekeys}/__init__.py (100%)
create mode 100644 tests/cachekeys/api_tests.py
copy tests/{util => css_templates}/__init__.py (100%)
create mode 100644 tests/css_templates/api_tests.py
delete mode 100644 tests/database_api_tests.py
copy tests/{util => databases}/__init__.py (100%)
create mode 100644 tests/databases/api_tests.py
copy tests/{util => queries/saved_queries}/__init__.py (100%)
create mode 100644 tests/queries/saved_queries/api_tests.py