This is an automated email from the ASF dual-hosted git repository.
hugh pushed a change to branch sip68Models
in repository https://gitbox.apache.org/repos/asf/superset.git
from 79a7a5d1b1 fix: Select clear and loading icons overlap (#19070)
add f53f86f796 Control sortby based on series limit (#18950)
add bd76648e4e fix: show the total row count in the SQL Lab Query History
tab when limited by DISPLAY_MAX_ROW (#19054)
add fd757c4aa4 fix: enable find text browser functionality inside SQL Lab
editor (#19061)
add 220c46131e fix(altered-modal): make specified text fields wrap in
table (#18822)
add 3c1fb944c1 perf(dashboard): Improve performance of complex dashboards
(#19064)
add 62ad574c24 fix(allow-db-explore): make that the set the
allow-db-explore option (#19030)
add 0e0beceac1 fix: Pivot Table Conditional Formatting Doesn't Show All
Options (#19071)
add a21d8a0bf4 fix autocomplete (#19047)
add e97cdba092 fix database import error (#19037)
add bc6aad0a88 fix: Show Totals error with sort and group by together
(#19072)
add 999c2c6826 fix(dashboard): import handle missing excluded charts
(#19088)
add c79ee56884 fix(plugin-chart-echarts): make to allow the custome of x &
y axis title margin i… (#18947)
add b8091e33a9 perf(dashboard): Send chart requests before native filter
requests (#19077)
add 70081a698f fix(dashboard): Empty states overflowing small chart
containers (#19095)
add a37a4ed35f Modified alerts and reports docs for clarity (#19091)
add 27268169e4 fix: cache key with guest token rls (#19110)
add 158396fb6c fix(dashobard-edge-cutting): make to be not cut without
Filter (#19080)
add 3a78165d13 refactor(TimezoneSelector): simplify override logics and
tests (#19090)
add 7524e1e3c8 feat(viz-gallery): add 'feature' tag and fuzzy search
weighting (#18662)
add 124cb0dc66 feat(embedded): add optional dashboard ui configuration
(#19031)
add ae13d8313b feat(select): keep options order when in single mode
(#19085)
add c337491d0e fix: Add perm for showing DBC-UI in Global Nav (#19023)
add 8234395466 feat: helper functions for RLS (#19055)
add 76b4a14d30 chore(config): Migrating `ENABLE_JAVASCRIPT_CONTROLS` from
app config to a feature flag (#19113)
add 54b60ded8e chore(embedded): refresh the guest token (#19132)
add e3e03d202d chore: Deprecate Python 3.7 (#19017)
add 981f09b5db test(native filter): add new native filter test (#19115)
add 74910f99d8 fix(dashboard): scrolling table viz overlaps next chart
(#19121)
add 8e7af79aa9 fix(dbs-dropdown): make to allow the search in supported db
dropdown (#19125)
add 30c97ad5bf fix(dashboard-css): make to stay custom css when reload
(#19084)
add 3d66912d89 fix: clean up chart metadata config (#19143)
add bb618a47ff fix(sqllab): Updated blank states for query results and
query history (#19111)
add 181ecf4509 fix: Logic for showing extension in Global Nav (#19158)
add 8d53db1db6 test: fix TimezoneSelector tests on daylight saving time
(#19156)
add fc8721800b fix: Revert "refactor: converted QueryAutoRefresh to
functional component … (#19226)
add d01fdad1d8 feat: add export_related flag (#19215)
add b7a0559aaf feat: add permalink to dashboard and explore (#19078)
add a4848a2f46 chore: refactor import command (#19216)
add e4c9a0d8ae fix: time filter should be [start, end) (#19166)
add 3b427b2029 fix: auto-complete of tables and names are not working in
SQL lab (#19152)
add 0277ebc225 fix: Popovers in Explore not attached to the fields they
are triggered by (#19139)
add cfb967f430 feat: scroll to bottom when adding a new native filter and
the page is filled (#19053)
add 02ef9ca4cd feat(sqllab): Add a configuration option to disable data
preview (#19104)
add 4b34817b19 feat(ui): Adding manifest prefix config (#19141)
add 3230415e22 remove config (#19146)
add d099f5ed4a fix(select): make to consider the case sensitive in case of
d3 format selector (#19159)
add 19fcd03c89 fix: allow to select <NULL> in a native filter single mode
(#19076)
add 6593a727f2 chore: Update UPDATING.md with info about flipping dnd
feature flag (#19108)
add c345029fbc chore!: turn on Versioned Export in config.py (#19142)
add 92cd0a18e6 chore: upgrade mypy (#19227)
add 51061f0d67 feat: import/export assets commands (#19217)
add aa5c80bda6 fix(sql lab): deleting the last saved query or the last
executed from history (#19225)
add f6291545fb chore: turn on SQLLAB_BACKEND_PERSISTENCE by default
(#19107)
add b5e9fad11a fix: adhoc column in legacy chart (#19234)
add 10eb6c77a4 chore: use order_desc shared control consistently (#19172)
add 2a89da2ef1 docs: fix broken links in the documentation (#19235)
add e7355b9610 fix(explore comma): make that the comma can be added by
removing it from token separators… (#18926)
add 48a12ade8c update changelog and updating files from 1.4.1 (#18648)
add 50902d51f5 fix: allow subquery in ad-hoc SQL (WIP) (#19242)
add b888341090 fix(chart-crud): make to update Viz type Filter label to
Chart type (#19140)
add d41f9b23a4 chore(superset 2.0): remove front-end deprecated code
(#19241)
add 4f0074a4ae fix: custom SQL in Sort By Breaks Bar Chart (#19069)
add 97abc28a1f chore!: remove `ENABLE_REACT_CRUD_VIEWS` feature flag
(permanently enable) (#19231)
add f341025d80 feat: add support for comments in adhoc clauses (#19248)
add d645579cdd chore!: update mutator to take kwargs (#19083)
add e1d0b83885 chore: update updating with druid no sql deprecation
(#19262)
add dc575080d7 feat: improve color consistency (save all labels) (#19038)
add 783168e13f chore: remove deprecated celery cli (#19273)
add d215cbcdc8 Update README.md (#19270)
add af91a13670 chore: remove PUBLIC_ROLE_LIKE_GAMMA deprecated config key
(#19274)
add c07a707eab Various docstring fixes (#18221)
add 88029e21b6 fix dataset update table (#19269)
add 96a123f553 feat: SupersetClient config to override 401 behavior
(#19144)
add 82a6811e7e fix(presto/trino): Add TIME/TIMESTAMP WITH TIME ZONE
(#19263)
add 72b9a7fa5b feat(key-value): add superset metastore cache (#19232)
add 9ae51f7a48 chore: Remove logo forced width (#19049)
add d771ddbb94 feat: allow uploads in crud view (#18953)
add 54f1b35161 chore: add missing keys to components inside lists (#19161)
add 29cba2b00c fix(dashboard): make to show the correct owned objects
(#19223)
add 4669b6ce11 fix: most Recently Selected Table Should Appear at the Top
of the List on the Left Panel (#19258)
add f9feb1b7f3 allow overriding the guest token PyJWT instance (#19293)
add 35b8a72dae Update ToastPresenter.tsx (#19296)
add a8a48af7fa chore: Make font-weights themable, fix font faces (#19236)
add d3ce398448 fix: Don't allow duplicated tag values in the Select
(#19283)
add b05e7dbf2a feat: API for asset sync (#19220)
add 7ca10fb770 fix(cache): only warn about fallback cache for non-debug
mode (#19305)
add d10a3d8bba fix: Logo resizing on page load (#19307)
add e45235e482 chore: fixing a pluralization typo (#19295)
add 6083545e86 docusearch (#19289)
add 375c03e084 feat(advanced analysis): support MultiIndex column in post
processing stage (#19116)
add b7ecb14230 fix(dashboard): fix default filter bar visibility + add
docs (#18741)
add ff6ee3766c ci: add more code owners to helm chart source (#19322)
add 87e36d6abb chore: bump FAB to 3.4.5 (#19323)
add 54c521ba77 docs: SECRET_KEY Rotation Documentation (#19233)
add b0397beb8e chore: add type checking in package tests directory (#19320)
add 9e58916d93 fix: regression on Select component when handling null
values (#19326)
add 468c5ca29a fix(explore): make to convert null to N/A in view results
(#19316)
add a08f83bc60 fix(dashboard): Chart stuck in loading state when when
datasets request and chart request fail (#19327)
add 0ad692511e fix(embedded): download chart as image (#19339)
add 7ba06ee944 Correcting some typos (#19338)
add 3340f05dd3 Use three backticks for code blocks (#19331)
add 65c204b288 fix: Null values on Explore filter (#19341)
add 9766726b26 feat: external management flags in CRUD (#19318)
add 202e34a259 feat: add duckdb as DataSource - Fixes #14563 (#19317)
add 2af2d00e85 fix: typo on doc string (#19346)
add f37fc1a7f0 chore: bump majors on celery and Flask (#19168)
add 3313530f4d docs: update lock + general cleanup (#19350)
add c7f9060a2f feat: import external management columns (#19315)
add dc769a9a34 fix: Adaptive formatting spelling (#19359)
add f4b71abb22 feat: introduce hashids permalink keys (#19324)
add a2bb91243a Fix NoAuthorizationError (#19355)
add 8947eb9680 fix: Remove gap from SQLLab results bottom (#19138)
add cb0357005e fix(report-add): make to add error toast message when
already attached report is added again into dashboard or chart (#19122)
add e15573d445 fix: number format should editable when AA in time
comparison (#19351)
add 446358642f fix(explore-sqllab): make that Timestamp column keep the Is
temporal flagged when overwriting (#19010)
add 45c28c8046 feat(explore): Dataset panel option tooltips (#19259)
add 6141a9aa4a chore: add support for npm8 (#19365)
add 02308a6f78 fix(caching): support metastore cache for non-required
caches (#19369)
add 2b53578ad7 Fix add-driver-docker in Readme (#19321)
add 394c9a19fd chore: remove old alerts and configs keys (#19261)
add 5ae7e54999 fix(database): make to allow the expose db as default in
sqlalchemy form db (#19337)
add 6f5778273e chore: add type checking in plugin test directory (#19387)
add d46a550774 docs: Correcting the document font size (#19390)
add 6b9113a17b chore: Eslint custom plugin to warn about hex and literal
colors (#19239)
add a39dd4493e feat: linear imputation in Resample (#19393)
add b689ac2d11 chore: bump storybook to 6.4.19, migrating config, and
linting storybook config (#19245)
add d304849b46 feat: disable edits on external assets (#19344)
add 816a2c3e1e chore: Removes direct theme imports (#19368)
add a619cb4ea9 chore: upgrade black (#19410)
add a076ae6d99 feat(explore): UI changes in dataset panel on Explore page
(#19394)
add 9d71f33d62 chore: update slack invite url (#19412)
add 0968f86584 chore: remove deprecated config keys and endpoints code
2.0 (#19361)
add 63b5e2e4fa perf: improve perf in SIP-68 migration (#19416)
add a8e7624eb5 chore: attempt to force docs deploy (#19424)
add fa35109bf2 fix: add missing init on python pkg key_value (#19428)
add 2451937097 fix: missing init on importexport pkg (#19435)
add 193744842b chore: Disables no literal colors for the theme
configuration (#19437)
add a4c261d72c docs: add 1.4.2 changelog entries (#19411)
add 8e29ec5a66 feat: Embedded dashboard configuration (#19364)
add 129063d544 fix: Remove`time_range_endpoints` from query context object
(#19423)
add 6b136c2bc9 fix: can't save dataset modal (#19452)
add 6d89ffbcb7 fix(dashboard): make to show the correct owned objects
(#19372)
add 47abad8673 chore: Removes hard-coded colors from
legacy-preset-chart-nvd3 (#19443)
add 31095a523d chore: Removes plugin-chart-pivot-table hard-coded colors
(#19439)
add 13467beb53 refactor: Removes the CSS files from the Calendar Heatmap
plugin (#19436)
add ac6b2f2d93 refactor: Removes the CSS files from the Heatmap plugin
(#19417)
add 85e330e94b fix(drill): specify an SA URL parm of
`impersonation_target` for drill+sadrill (#19252)
add 1a1322d3d9 feat(explore): Move chart actions into dropdown (#19446)
add 6828624f61 feat: improve adhoc SQL validation (#19454)
add 7f85da6e5b fix: handle null params in #18936 migration (#19474)
add ab3770667c chore!: remove `ROW_LEVEL_SECURITY` feature flag
(permanently enable) (#19230)
add eab9388f7c feat(sql lab): enable ACE editor search in SQL editors
(#19328)
add 2a75e4c3c3 test(native filter): add new test for dependent filter
(#19392)
add d684ad073d fix: request samples with default row limit (#19456)
add d954c3df86 fix: can't sync temporal flag on virtual table (#19366)
add a2e921bd03 fix: flaky test for dashboard changed on (#19483)
add 11bf0d09cb chore(plugin-chart-echarts): upgrade echarts 5.3.2 (#19481)
add fc8cb22376 feat(dashboard): Implement empty states for empty tabs
(#19408)
add 08aca83f6c chore: Remove index.less from showSavedQuery (#19440)
add 90c9daea08 feat(color): support analogous colors to prevent color
conflict (#19325)
add 8cd03181ac refactor: Removes the CSS files from the DeckGL plugin
(#19465)
add 7594a02d42 chore: Removes hard-coded colors from
legacy-plugin-chart-world-map (#19466)
add 5fed10dae2 refactor: Removes the CSS files from the Rose plugin
(#19473)
add 90dbe8d340 perf: speed up db migration for deprecating
time_range_endpoints (#19495)
add 60dcd651f4 feat(explore): SQL popover in datasource panel (#19308)
add ea708162a5 feat(CI): clean up Python tests output (#19489)
add 5db36ec81c fix(sqllab): make to hide the delete button of most recent
query history (#19358)
add b8891acf4a fix(dashboard list): do not show favorite star for
anonymous users #18210 (#19409)
add 0de03c4b34 chore(releasing): use node 16 for testing and remove
redundant updating note (#19505)
add b601db7809 chore: Remove StyledQueryButton.less (#19441)
add 7914296d8a chore: Remove FilterbaleTableStyles.less (#19442)
add 4b922873ae Add theme color (#19490)
add 47308024a3 refactor: Removes the CSS files from the Sunburst plugin
(#19488)
add 82a653f64b refactor: Removes the CSS files from the Treemap plugin
(#19486)
add c2fae82fa6 fix key reference (#19519)
add 79abd23f48 fix: add back view for report reload error (#19522)
add 5861bd399f chore: Switch to gender neutral terms (#19460)
add 1eef923b31 chore: postpone timerange endpoint removal (#19513)
add 602afbaa31 feat(explore): Move chart header to top of the page (#19529)
add cccec9a6ab fix: Correct Ukraine map (#19528)
add 03d3eaacaf feat(explore): Move timer, row counter and cached pills to
chart container (#19458)
add e391a83947 Remove unused less (#19413)
add a59718b094 Remove Control less (#19415)
add f64d654de3 chore(database): Creating helper make_url_safe to wrap
potential errors (#19526)
add 1521ab3b6f chore(Explore): Change text when saving a chart in a new
dashboard (#19467)
add 634693b270 fix: Dynamic form to connect to Snowflake DB is not
displaying authentication errors (#19491)
add a88fa8910d fix: Clean up custom css when dashboard unmounted (#19342)
add 3f7b768c5b depreciated api endpoint (#19524)
add 1b4d8ddf71 chore: blacklist unsafe functions (#19537)
add e118b4d733 fix: Dashboard import holding issue (#19112)
add c5b0dc3ea6 fix: native filter dropdown not attached to parent node
(#19399)
add bb96029c9d fix(explore): Chart header icon paddings (#19534)
add 0363e55b81 fix: adaptive formatting typo in explore dropdowns (#19312)
add 156ac7dd79 fix: Error Message is cut off in alerts & reports log page
(#19444)
add e1ef2baad7 fix(migrations): reorder skipped 1.4 migrations (#19543)
add 2de5e6fac4 chore: Remove Legacy Force Directed viz plugin (#19492)
add 2d81c4c79f fix(sqllab): null database with backend persistence (#19548)
add 6fa99d6b07 refactor: Removes the CSS files from the Sankey Loop plugin
(#19494)
add 356a03833b chore: Removes hard-coded opacity and spacing from
BigNumber (#19536)
add c4baa826d5 refactor: Removes the CSS files from the Country Map plugin
(#19538)
add 2daa071633 fix: big number with trendline can't calculate cumsum
(#19542)
add 0e29871493 fix(explore): clean data when hidding control (#19039)
add 1cd8b41061 Remove too many "to"s (#19559)
add c6c9188a24 fix(sql lab): increase the size of the action icons in the
history tab (#19313)
add f29d92867c chore(deps): bump minimist in
/superset-frontend/cypress-base (#19549)
add f9534b25c7 chore(deps): bump minimist from 1.2.5 to 1.2.6 in /docs
(#19552)
add fff9dc1181 chore(deps): bump node-forge from 1.2.1 to 1.3.1 in /docs
(#19566)
add 4680580c40 chore(deps): bump minimist from 1.2.5 to 1.2.6 in
/superset-embedded-sdk (#19550)
add f6d550b7fc fix: weight tooltip issue (#19397)
add 73e93911ac chore: Remove TimeTable.less (#19463)
add 350f21d9d3 fix: cannot delete a database if team member has SQL editor
tab that uses that db (#19243)
add 444b4f5832 merge multiple db heads (#19577)
add 6136942759 fix: sqloxide optional (#19570)
add aa419b8119 fix: check type of url before performing string actions
(#19569)
add 1c1beb653a docs: release notes for 1.5 (#19530)
add db2135109a fix(dataset): avoid crash if database missing (#19582)
add 34b55765c4 fix(sqla): apply jinja to metrics (#19565)
add d9343a4639 fix(dataset): handle missing python_type gracefully (#19553)
add 0d331f5bd8 chore: remove redundant adodbapi warning (#19557)
add e5bab00cb9 chore: Enhance ReactChord style with theme vars (#19517)
add e8f3e8a24e chore: Remove crud.less from Datasource (#19438)
add 6d5771af34 chore: Remove FilterBox.less (#19462)
add 83c3779a6c feat: add a `where_in` filter for Jinja2 (#19574)
add 06dee825a4 chore: Removes hard-coded colors from
legacy-plugin-chart-sankey (#19493)
add 97850a80c8 refactor: Removes the CSS files from the Partition plugin
(#19521)
add 38fbca10e3 refactor: Removes the CSS files from the Parallel
Coordinates plugin (#19539)
add f91f83d011 refactor: Removes the CSS files from the Paired T-Test
plugin (#19563)
add d511e4fbc4 refactor: Removes the CSS files from the Horizon plugin
(#19562)
add 44e3103fc9 feat: add success toast to alerts and reports (#19482)
add 8da2c9b96a Fix spelling: following (#19594)
add d6d2777ada feat: deprecate old API and create new API for dashes
created by me (#19434)
add 761d5c4208 chore: cleanup as unknown conversion (#19587)
add 16f193c813 Catch colors when theme top level (#19571)
add 1ad82af058 fix(select): render when empty multiselect (#19612)
add d52e3867ac feat: Move Database Import option into DB Connection modal
(#19314)
add 9a9e3b6e3b test(jinja): refactor to functional tests (#19606)
add 738bd04b4f fix(test): make test_clean_requests_after_schema_grant more
idempotent (#19625)
add a975af3e9e chore: clean up unused imports in db migration scripts
(#19630)
add ce2bd98442 test: freeze time for dashboard export test (#19634)
add b45f89b954 refactor: consistent migration tests organization (#19635)
add a6bf041edd feat(plugin-chart-echarts): add aggregate total for the
Pie/Donuct chart (#19622)
add f21ba68a30 chore: clean up dynamic translation strings (#19641)
add d49fd01ff3 feat(CRUD): add new empty state (#19310)
add 03a80d5d2f chore: Update font-sizes in QueryPreviewModal (#19620)
add d1e17646e2 Remove hacky usage of font-size (#19615)
add 5d418b21a3 Remove font-size hacky usage (#19611)
add d693f4e970 Update font-sizes (#19593)
add 4bf4d58423 fix: update Permissions for right nav (#19051)
add d8b9e72682 make to change the getBreakPoints of polygon chart (#19573)
add 955413539b fix: Table Autosizing Has Unnecessary Scroll Bars (#19628)
No new revisions were added by this update.
Summary of changes:
.github/CODEOWNERS | 2 +-
.github/workflows/bashlib.sh | 14 +-
.github/workflows/embedded-sdk-test.yml | 1 +
.github/workflows/superset-e2e.yml | 1 -
.github/workflows/superset-python-unittest.yml | 2 +-
.gitignore | 2 +
.pre-commit-config.yaml | 10 +-
CHANGELOG.md | 361 +-
CODE_OF_CONDUCT.md | 2 +-
CONTRIBUTING.md | 11 +-
Makefile | 6 +-
README.md | 8 +-
RELEASING/Dockerfile.from_local_tarball | 2 +-
RELEASING/Dockerfile.from_svn_tarball | 2 +-
RELEASING/README.md | 3 +
RELEASING/changelog.py | 12 +-
RELEASING/release-notes-1-0/README.md | 1 -
RELEASING/release-notes-1-5/README.md | 142 +
.../release-notes-1-5/media/adhoc_columns.png | Bin 0 -> 206451 bytes
.../release-notes-1-5/media/categorical_line.png | Bin 0 -> 308426 bytes
.../release-notes-1-5/media/dependent_filters.png | Bin 0 -> 437988 bytes
RELEASING/release-notes-1-5/media/filter_bar.png | Bin 0 -> 367513 bytes
RELEASING/release-notes-1-5/media/permalink.png | Bin 0 -> 187932 bytes
RELEASING/send_email.py | 7 +-
RESOURCES/FEATURE_FLAGS.md | 4 +-
UPDATING.md | 31 +-
docker/docker-bootstrap.sh | 1 -
docker/docker-init.sh | 3 +-
docker/pythonpath_dev/superset_config.py | 2 +-
docs/README.md | 2 +-
docs/docs/api.mdx | 30 +-
docs/docs/contributing/contributing-page.mdx | 6 +-
docs/docs/contributing/hooks-and-linting.mdx | 6 +-
docs/docs/contributing/local-backend.mdx | 2 +-
docs/docs/contributing/testing-locally.mdx | 1 -
.../creating-your-first-dashboard.mdx | 20 +
docs/docs/databases/mysql.mdx | 2 +-
docs/docs/installation/alerts-reports.mdx | 17 +-
docs/docs/installation/async-queries-celery.mdx | 16 +-
docs/docs/installation/cache.mdx | 27 +-
docs/docs/installation/configuring-superset.mdx | 22 +-
docs/docs/installation/running-on-kubernetes.mdx | 41 +-
docs/docs/installation/sql-templating.mdx | 14 +-
docs/docusaurus.config.js | 15 +-
docs/package-lock.json | 13541 -----------------
docs/package.json | 19 +-
docs/src/pages/community.tsx | 2 +-
docs/static/resources/openapi.json | 13094 ++++++++++------
docs/yarn.lock | 2202 ++-
helm/superset/Chart.yaml | 2 +-
helm/superset/values.yaml | 5 +
requirements/base.txt | 53 +-
requirements/integration.in | 2 +-
requirements/integration.txt | 4 +-
requirements/testing.in | 1 +
requirements/testing.txt | 17 +-
scripts/benchmark_migration.py | 5 +-
scripts/cancel_github_workflows.py | 9 +-
scripts/python_tests.sh | 2 +-
scripts/tests/run.sh | 2 +-
setup.cfg | 2 +-
setup.py | 17 +-
superset-embedded-sdk/README.md | 1 +
superset-embedded-sdk/package-lock.json | 13755 +++++++++++++----
superset-embedded-sdk/package.json | 6 +-
.../src/guestTokenRefresh.test.ts | 96 +
superset-embedded-sdk/src/guestTokenRefresh.ts | 32 +
superset-embedded-sdk/src/index.ts | 38 +-
superset-frontend/.eslintrc.js | 21 +-
superset-frontend/.storybook/main.js | 1 +
superset-frontend/cypress-base/cypress.json | 2 +-
.../integration/dashboard/dashboard.helper.ts | 120 +
.../integration/dashboard/key_value.test.ts | 14 +-
.../integration/dashboard/nativeFilters.test.ts | 133 +-
.../cypress/integration/explore/control.test.ts | 2 +-
.../cypress/integration/explore/link.test.ts | 9 +-
.../explore/visualizations/time_table.js | 6 +-
.../cypress/integration/sqllab/query.test.ts | 4 +-
.../cypress/integration/sqllab/tabs.test.js | 65 -
.../cypress/integration/sqllab/tabs.test.ts | 60 +
.../cypress-base/cypress/support/index.d.ts | 14 +
.../cypress-base/cypress/support/index.ts | 86 +
.../cypress-base/cypress/utils/parsePostForm.ts | 2 +-
superset-frontend/cypress-base/package-lock.json | 12 +-
superset-frontend/package-lock.json | 15130 +++++++++----------
superset-frontend/package.json | 32 +-
.../superset-ui-chart-controls/package.json | 47 +-
.../src/components/CertifiedIconWithTooltip.tsx | 4 +-
.../src/components/ColumnOption.tsx | 55 +-
.../src/components/ColumnTypeLabel.tsx | 58 -
.../components/ColumnTypeLabel/ColumnTypeLabel.tsx | 71 +
.../ColumnTypeLabel/type-icons}/field_abc.svg | 0
.../ColumnTypeLabel/type-icons}/field_boolean.svg | 0
.../ColumnTypeLabel/type-icons}/field_date.svg | 0
.../ColumnTypeLabel/type-icons}/field_derived.svg | 0
.../ColumnTypeLabel/type-icons}/field_num.svg | 0
.../ColumnTypeLabel/type-icons/svgType.d.ts} | 5 +-
.../src/components/InfoTooltipWithTrigger.tsx | 6 +-
.../src/components/MetricOption.tsx | 58 +-
.../src/components/SQLPopover.tsx | 70 +
.../src/components/Tooltip.tsx | 8 +
.../src/components/labelUtils.tsx | 99 +-
.../superset-ui-chart-controls/src/index.ts | 2 +-
.../src/operators/boxplotOperator.ts | 10 +-
.../src/operators/contributionOperator.ts | 25 +-
.../src/operators/flattenOperator.ts} | 12 +-
.../src/operators/index.ts | 1 +
.../src/operators/pivotOperator.ts | 15 +-
.../src/operators/prophetOperator.ts | 7 +-
.../src/operators/resampleOperator.ts | 23 +-
.../src/operators/rollingWindowOperator.ts | 28 +-
.../src/operators/sortOperator.ts | 7 +-
.../src/operators/timeCompareOperator.ts | 41 +-
.../src/operators/timeComparePivotOperator.ts | 66 +-
.../src/sections/advancedAnalytics.tsx | 1 +
.../ColumnConfigControl/ColumnConfigItem.tsx | 2 +-
.../src/shared-controls/index.tsx | 77 +-
.../superset-ui-chart-controls/src/types.ts | 9 +
.../src/utils/D3Formatting.ts | 4 +-
.../test/components/ColumnOption.test.tsx | 17 +-
.../test/components/ColumnTypeLabel.test.tsx | 47 +-
.../test/components/MetricOption.test.tsx | 14 +-
.../test/components/labelUtils.test.tsx | 209 +-
.../superset-ui-chart-controls/test/types.test.ts | 1 +
.../test/utils/operators/flattenOperator.test.ts | 59 +
.../test/utils/operators/pivotOperator.test.ts | 44 +-
.../test/utils/operators/resampleOperator.test.ts | 81 +-
.../utils/operators/rollingWindowOperator.test.ts | 45 +-
.../utils/operators/timeCompareOperator.test.ts | 129 +-
...or.test.ts => timeComparePivotOperator.test.ts} | 147 +-
.../packages/superset-ui-core/package.json | 2 +
.../src/chart/components/NoResultsComponent.tsx | 65 +-
.../src/chart/models/ChartMetadata.ts | 24 +-
.../superset-ui-core/src/chart/types/Base.ts | 21 +
.../src/color/CategoricalColorScale.ts | 33 +-
.../src/color/SharedLabelColorSingleton.ts | 119 +
.../packages/superset-ui-core/src/color/index.ts | 4 +
.../packages/superset-ui-core/src/color/utils.ts | 35 +
.../src/connection/SupersetClient.ts | 2 +-
.../src/connection/SupersetClientClass.ts | 21 +-
.../superset-ui-core/src/connection/types.ts | 4 +-
.../src/query/api/v1/handleError.ts | 2 +-
.../superset-ui-core/src/query/processFilters.ts | 12 +-
.../src/query/types/AnnotationLayer.ts | 7 +-
.../src/query/types/PostProcessing.ts | 71 +-
.../src/query/types/QueryFormData.ts | 6 +-
.../packages/superset-ui-core/src/style/index.tsx | 3 +-
.../time-format/TimeFormatterRegistrySingleton.ts | 2 +-
.../superset-ui-core/src/utils/featureFlags.ts | 3 +-
.../packages/superset-ui-core/src/utils/index.ts | 1 +
.../src/utils/isEqualArray.test.ts} | 15 +-
.../superset-ui-core}/src/utils/isEqualArray.ts | 6 +-
.../chart/components/ChartDataProvider.test.tsx | 26 +-
.../test/chart/components/SuperChart.test.tsx | 19 +-
.../components/createLoadableRenderer.test.tsx | 6 +-
.../test/chart/components/reactify.test.tsx | 4 +-
.../test/color/CategoricalColorScale.test.ts | 29 +-
.../test/color/SharedLabelColorSingleton.test.ts | 110 +
.../superset-ui-core/test/color/utils.test.ts | 24 +-
.../test/connection/SupersetClientClass.test.ts | 112 +-
.../test/connection/callApi/callApi.test.ts | 36 +-
.../test/models/ExtensibleFunction.test.ts | 2 +-
.../test/query/api/v1/makeApi.test.ts | 2 +-
.../test/query/buildQueryObject.test.ts | 6 +-
.../test/query/getColumnLabel.test.ts | 2 +
.../test/query/normalizeOrderBy.test.ts | 1 +
.../test/query/processExtraFormData.test.ts | 4 +-
.../test/query/processFilters.test.ts | 10 +-
.../test/query/types/PostProcessing.test.ts | 3 -
.../packages/superset-ui-core/test/tsconfig.json | 6 +-
.../packages/superset-ui-demo/package.json | 1 -
.../legacy-plugin-chart-force-directed/Stories.tsx | 39 -
.../legacy-plugin-chart-force-directed/data.ts | 447 -
.../stories/plugins/plugin-chart-table/testData.ts | 2 +-
.../legacy-plugin-chart-calendar/package.json | 34 +-
.../legacy-plugin-chart-calendar/src/Calendar.js | 1 -
.../src/ReactCalendar.jsx | 207 +-
.../src/vendor/cal-heatmap.css | 129 -
.../src/vendor/cal-heatmap.js | 1 -
.../src/vendor/d3tip.css | 74 -
.../plugins/legacy-plugin-chart-chord/src/Chord.js | 6 +-
.../legacy-plugin-chart-chord/src/ReactChord.jsx | 30 +-
.../src/transformProps.js | 3 +-
.../legacy-plugin-chart-country-map/package.json | 6 +-
.../src/CountryMap.js | 22 +-
.../src/ReactCountryMap.jsx | 76 +
.../src/countries/ukraine.geojson | 3 +-
.../src/transformProps.js | 10 +-
.../CHANGELOG.md | 27 -
.../legacy-plugin-chart-force-directed/README.md | 52 -
.../package.json | 39 -
.../src/ForceDirected.js | 176 -
.../src/controlPanel.ts | 108 -
.../src/images/thumbnail.png | Bin 33535 -> 0 bytes
.../src/images/thumbnailLarge.png | Bin 94166 -> 0 bytes
.../tsconfig.json | 25 -
.../legacy-plugin-chart-heatmap/package.json | 37 +-
.../legacy-plugin-chart-heatmap/src/Heatmap.css | 72 -
.../legacy-plugin-chart-heatmap/src/Heatmap.js | 3 -
.../src/ReactHeatmap.jsx | 148 +
.../src/vendor/d3tip.css | 74 -
.../src/Histogram.jsx | 3 +-
.../src/transformProps.js | 2 +
.../legacy-plugin-chart-horizon/package.json | 33 +-
.../src/HorizonChart.css | 38 -
.../src/HorizonChart.jsx | 68 +-
.../src/controlPanel.ts | 12 +-
.../legacy-plugin-chart-paired-t-test/package.json | 33 +-
.../src/PairedTTest.css | 86 -
.../src/PairedTTest.jsx | 106 +-
.../src/controlPanel.ts | 12 +-
.../src/ParallelCoordinates.js | 1 -
.../src/ReactParallelCoordinates.jsx | 95 +-
.../src/controlPanel.ts | 14 +-
.../src/vendor/parcoords/d3.parcoords.css | 79 -
.../legacy-plugin-chart-partition/package.json | 37 +-
.../src/Partition.css | 64 -
.../legacy-plugin-chart-partition/src/Partition.js | 7 +-
.../src/ReactPartition.jsx | 81 +
.../src/controlPanel.tsx | 12 +-
.../src/transformProps.js | 2 +
.../src/controlPanel.ts | 14 +-
.../plugins/legacy-plugin-chart-rose/package.json | 34 +-
.../legacy-plugin-chart-rose/src/ReactRose.js | 22 -
.../legacy-plugin-chart-rose/src/ReactRose.jsx | 75 +
.../plugins/legacy-plugin-chart-rose/src/Rose.css | 43 -
.../plugins/legacy-plugin-chart-rose/src/Rose.js | 11 +-
.../legacy-plugin-chart-rose/src/controlPanel.tsx | 12 +-
.../legacy-plugin-chart-rose/src/transformProps.js | 2 +
.../legacy-plugin-chart-sankey-loop/package.json | 36 +-
.../src/ReactSankeyLoop.js | 22 -
.../src/ReactSankeyLoop.jsx | 72 +
.../src/SankeyLoop.css | 57 -
.../src/SankeyLoop.js | 6 +-
.../src/transformProps.js | 3 +-
.../legacy-plugin-chart-sankey/src/ReactSankey.jsx | 65 +-
.../legacy-plugin-chart-sankey/src/Sankey.js | 4 +-
.../src/transformProps.js | 3 +-
.../legacy-plugin-chart-sunburst/package.json | 36 +-
.../src/ReactSunburst.js | 22 -
.../src/ReactSunburst.jsx | 66 +
.../legacy-plugin-chart-sunburst/src/Sunburst.css | 70 -
.../legacy-plugin-chart-sunburst/src/Sunburst.js | 10 +-
.../src/transformProps.js | 4 +-
.../legacy-plugin-chart-treemap/package.json | 36 +-
.../src/ReactTreemap.js | 22 -
.../src/ReactTreemap.jsx} | 41 +-
.../legacy-plugin-chart-treemap/src/Treemap.css | 36 -
.../legacy-plugin-chart-treemap/src/Treemap.js | 4 +-
.../src/controlPanel.ts | 14 +-
.../src/transformProps.js | 3 +-
.../src/ReactWorldMap.jsx | 2 +-
.../legacy-plugin-chart-world-map/src/WorldMap.js | 24 +-
.../src/controlPanel.ts | 4 +
.../src/transformProps.js | 12 +-
.../src/CategoricalDeckGLContainer.jsx | 4 +-
.../src/DeckGLContainer.jsx | 1 -
.../src/components/BootstrapSliderWrapper.css | 25 -
.../src/components/BootstrapSliderWrapper.jsx | 17 +-
.../src/components/Legend.css | 44 -
.../src/components/Legend.jsx | 39 +-
.../src/components/PlaySlider.css | 46 -
.../src/components/PlaySlider.jsx | 38 +-
.../legacy-preset-chart-deckgl/src/css/deckgl.css | 22 -
.../src/layers/Screengrid/Screengrid.jsx | 2 +-
.../src/utilities/Shared_DeckGL.jsx | 22 +-
.../legacy-preset-chart-deckgl/src/utils.js | 4 +-
.../src/Bar/controlPanel.ts | 38 +-
.../src/DistBar/controlPanel.ts | 14 +-
.../legacy-preset-chart-nvd3/src/NVD3Controls.tsx | 14 +-
.../legacy-preset-chart-nvd3/src/NVD3Vis.js | 5 +-
.../legacy-preset-chart-nvd3/src/ReactNVD3.jsx | 12 +-
.../legacy-preset-chart-nvd3/src/transformProps.js | 2 +
.../plugins/plugin-chart-echarts/package.json | 2 +-
.../src/BigNumber/BigNumberViz.tsx | 86 +-
.../BigNumber/BigNumberWithTrendline/buildQuery.ts | 70 +-
.../BigNumberWithTrendline/controlPanel.tsx | 46 +
.../src/BoxPlot/transformProps.ts | 16 +-
.../plugin-chart-echarts/src/BoxPlot/types.ts | 3 +-
.../src/Funnel/transformProps.ts | 3 +-
.../plugin-chart-echarts/src/Funnel/types.ts | 3 +-
.../src/Gauge/transformProps.ts | 5 +-
.../plugin-chart-echarts/src/Gauge/types.ts | 5 +-
.../src/Graph/transformProps.ts | 3 +-
.../plugin-chart-echarts/src/Graph/types.ts | 43 +-
.../src/MixedTimeseries/buildQuery.ts | 4 +-
.../src/MixedTimeseries/transformProps.ts | 25 +-
.../plugin-chart-echarts/src/Pie/controlPanel.tsx | 12 +
.../plugin-chart-echarts/src/Pie/transformProps.ts | 82 +-
.../plugins/plugin-chart-echarts/src/Pie/types.ts | 2 +-
.../src/Radar/controlPanel.tsx | 5 +-
.../src/Radar/transformProps.ts | 3 +-
.../src/Timeseries/Area/controlPanel.tsx | 14 +-
.../src/Timeseries/Regular/Bar/controlPanel.tsx | 14 +-
.../Timeseries/Regular/Scatter/controlPanel.tsx | 14 +-
.../src/Timeseries/Regular/controlPanel.tsx | 14 +-
.../src/Timeseries/Step/controlPanel.tsx | 14 +-
.../src/Timeseries/buildQuery.ts | 63 +-
.../src/Timeseries/controlPanel.tsx | 14 +-
.../src/Timeseries/transformProps.ts | 25 +-
.../src/Timeseries/transformers.ts | 15 +-
.../plugin-chart-echarts/src/Timeseries/types.ts | 3 +-
.../src/Treemap/transformProps.ts | 5 +-
.../plugin-chart-echarts/src/Treemap/types.ts | 3 +-
.../src/utils/convertInteger.ts} | 8 +-
.../plugin-chart-echarts/src/utils/forecast.ts | 4 +-
.../test/BigNumber/transformProps.test.ts | 2 +-
.../test/BoxPlot/buildQuery.test.ts | 11 +-
.../test/BoxPlot/transformProps.test.ts | 7 +-
.../test/Funnel/transformProps.test.ts | 7 +-
.../test/Gauge/buildQuery.test.ts | 2 +-
.../test/Gauge/transformProps.test.ts | 32 +-
.../test/Pie/transformProps.test.ts | 4 +-
.../test/Timeseries/transformProps.test.ts | 38 +-
.../test/Treemap/transformProps.test.ts | 3 +-
.../src/plugin/controlPanel.tsx | 1 +
.../src/react-pivottable/Styles.js | 235 +-
.../test/plugin/buildQuery.test.ts | 4 +-
.../src/DataTable/hooks/useSticky.tsx | 4 +-
.../plugins/plugin-chart-table/src/Styles.tsx | 140 +-
.../plugins/plugin-chart-table/src/buildQuery.ts | 2 +
.../plugin-chart-table/src/controlPanel.tsx | 14 +-
.../plugins/plugin-chart-table/src/types.ts | 2 +-
.../plugin-chart-table/src/utils/isEqualColumns.ts | 2 +-
.../plugins/plugin-chart-table/test/testData.ts | 2 +
.../plugins/plugin-chart-table/tsconfig.json | 11 +-
.../src/chart/WordCloud.tsx | 15 +-
.../src/legacyPlugin/transformProps.ts | 2 +
.../src/plugin/transformProps.ts | 3 +-
.../spec/fixtures/mockDashboardInfo.js | 2 +-
.../spec/fixtures/mockNativeFilters.ts | 2 +
.../src/transformProps.js => src/GlobalStyles.tsx} | 30 +-
superset-frontend/src/SqlLab/App.jsx | 3 +-
superset-frontend/src/SqlLab/actions/sqlLab.js | 86 +-
.../src/SqlLab/actions/sqlLab.test.js | 42 +-
.../SqlLab/components/AceEditorWrapper/index.tsx | 14 +-
.../src/SqlLab/components/App/index.jsx | 33 +-
.../QueryAutoRefresh/QueryAutoRefresh.test.jsx | 40 +-
.../SqlLab/components/QueryAutoRefresh/index.jsx | 86 +-
.../components/QueryHistory/QueryHistory.test.tsx} | 43 +-
.../src/SqlLab/components/QueryHistory/index.tsx | 31 +-
.../src/SqlLab/components/QuerySearch/index.tsx | 6 +-
.../components/QueryTable/QueryTable.test.jsx | 1 +
.../src/SqlLab/components/QueryTable/index.tsx | 20 +-
.../src/SqlLab/components/ResultSet/index.tsx | 14 +-
.../RunQueryActionButton.test.jsx | 9 +-
.../components/RunQueryActionButton/index.tsx | 8 +-
.../ScheduleQueryButton/ScheduleQueryButton.less | 39 -
.../components/ScheduleQueryButton/index.tsx | 23 +-
.../SqlLab/components/SouthPane/SouthPane.test.jsx | 50 +-
.../src/SqlLab/components/SouthPane/index.tsx | 23 +-
.../src/SqlLab/components/SqlEditor/index.jsx | 1 +
.../SqlLab/components/SqlEditorLeftBar/index.tsx | 42 +-
.../SqlLab/components/TabbedSqlEditors/index.jsx | 4 +-
.../TemplateParamsEditor.test.tsx | 3 -
.../components/TemplateParamsEditor/index.tsx | 1 -
superset-frontend/src/SqlLab/fixtures.ts | 38 +-
superset-frontend/src/SqlLab/reducers/sqlLab.js | 4 +-
superset-frontend/src/SqlLab/types.ts | 3 +
superset-frontend/src/addSlice/App.tsx | 2 +
.../src/assets/images/filter-results.svg | 34 +
superset-frontend/src/assets/images/icons/drag.svg | 6 +-
.../assets/stylesheets/less/cosmo/variables.less | 6 +-
.../src/assets/stylesheets/less/fonts.less | 9 +-
.../src/assets/stylesheets/less/variables.less | 2 +-
.../src/assets/stylesheets/superset.less | 1 +
.../src/components/AlteredSliceTag/index.jsx | 8 +-
.../src/components/AnchorLink/AnchorLink.test.jsx | 8 +-
.../src/components/AnchorLink/index.jsx | 11 +-
.../src/components/AsyncAceEditor/index.tsx | 10 +-
superset-frontend/src/components/Button/index.tsx | 24 +-
.../src/components/CertifiedBadge/index.tsx | 9 +-
superset-frontend/src/components/Chart/Chart.jsx | 14 +-
.../src/components/Chart/ChartRenderer.jsx | 44 +-
.../src/components/Checkbox/Checkbox.tsx | 4 +-
.../DatabaseSelector/DatabaseSelector.test.tsx | 4 +
.../src/components/Datasource/CollectionTable.tsx | 26 +-
.../src/components/Datasource/DatasourceEditor.jsx | 6 +-
.../components/Datasource/DatasourceModal.test.jsx | 33 +-
.../src/components/Datasource/DatasourceModal.tsx | 19 +-
.../src/components/Datasource/Field.tsx | 1 -
.../src/components/Datasource/crud.less | 54 -
.../src/components/Dropdown/index.tsx | 2 +-
.../src/components/EmptyState/index.tsx | 28 +-
.../src/components/FaveStar/index.tsx | 16 +-
.../components/FilterableTable/FilterableTable.tsx | 108 +-
.../FilterableTable/FilterableTableStyles.less | 118 -
.../src/components/Form/LabeledErrorBoundInput.tsx | 2 +-
superset-frontend/src/components/Icons/Icon.tsx | 2 +-
.../src/components/ImportModal/index.tsx | 2 +-
.../src/components/ListView/Filters/Base.ts | 4 +
.../src/components/ListView/Filters/DateRange.tsx | 27 +-
.../src/components/ListView/Filters/Search.tsx | 23 +-
.../src/components/ListView/Filters/Select.tsx | 36 +-
.../src/components/ListView/Filters/index.tsx | 36 +-
.../src/components/ListView/ListView.tsx | 43 +-
superset-frontend/src/components/ListView/utils.ts | 1 +
.../src/components/ListViewCard/index.tsx | 2 +-
.../{ToastContainer.jsx => ToastContainer.tsx} | 6 +-
.../components/MessageToasts/ToastPresenter.tsx | 29 +-
.../src/components/MessageToasts/withToasts.tsx | 3 +-
.../src/components/ModalTrigger/index.jsx | 2 +
.../OmniContainer/OmniContainer.test.tsx | 150 -
.../src/components/OmniContainer/Omnibar.tsx | 45 -
.../src/components/OmniContainer/getDashboards.ts | 54 -
.../src/components/OmniContainer/index.tsx | 108 -
superset-frontend/src/components/Popover/index.tsx | 3 +
.../src/components/ReportModal/index.tsx | 58 +-
.../src/components/ReportModal/styles.tsx | 30 +-
.../src/components/Select/Select.stories.tsx | 5 +-
.../src/components/Select/Select.test.tsx | 151 +-
superset-frontend/src/components/Select/Select.tsx | 105 +-
superset-frontend/src/components/Select/styles.tsx | 4 +-
superset-frontend/src/components/Select/utils.ts | 21 +-
.../src/components/TableCollection/index.tsx | 27 +-
.../TableSelector/TableSelector.test.tsx | 80 +-
.../src/components/TableSelector/index.tsx | 7 +-
.../src/components/TableView/TableView.stories.tsx | 28 +-
.../src/components/TableView/TableView.test.tsx | 18 +
.../src/components/TableView/TableView.tsx | 3 +
.../TimezoneSelector/TimezoneSelector.stories.tsx | 4 +-
.../TimezoneSelector/TimezoneSelector.test.tsx | 180 +-
.../src/components/TimezoneSelector/index.tsx | 71 +-
.../URLShortLinkButton/URLShortLinkButton.test.tsx | 52 +-
.../src/components/URLShortLinkButton/index.jsx | 27 +-
.../src/components/UiConfigContext/index.tsx | 2 +-
superset-frontend/src/constants.ts | 25 +
.../src/dashboard/actions/dashboardInfo.ts | 27 +-
.../src/dashboard/actions/dashboardLayout.js | 8 +-
.../src/dashboard/actions/dashboardState.js | 74 +-
.../src/dashboard/actions/dashboardState.test.js | 8 +-
superset-frontend/src/dashboard/actions/hydrate.js | 26 +-
.../src/dashboard/components/AddSliceCard.jsx | 1 -
.../src/dashboard/components/Dashboard.jsx | 2 -
.../DashboardBuilder/DashboardBuilder.tsx | 23 +-
.../DashboardBuilder/DashboardContainer.tsx | 62 +-
.../dashboard/components/DashboardBuilder/state.ts | 18 +-
.../components/DashboardEmbedControls.tsx | 228 +
.../src/dashboard/components/DashboardGrid.jsx | 83 +-
.../dashboard/components/FiltersBadge/Styles.tsx | 100 +-
.../dashboard/components/FiltersBadge/selectors.ts | 34 +-
.../HeaderActionsDropdown.test.tsx | 7 +-
.../Header/HeaderActionsDropdown/index.jsx | 20 +-
.../src/dashboard/components/Header/index.jsx | 53 +-
.../dashboard/components/PropertiesModal/index.tsx | 39 +-
.../components/SliceHeaderControls/index.tsx | 7 +-
.../src/dashboard/components/dnd/DragHandle.tsx | 38 +-
.../components/filterscope/FilterScopeSelector.jsx | 4 +-
.../dashboard/components/gridComponents/Chart.jsx | 29 +-
.../components/gridComponents/Chart.test.jsx | 8 +
.../components/gridComponents/ChartHolder.jsx | 12 +-
.../components/gridComponents/ChartHolder.test.tsx | 4 +-
.../dashboard/components/gridComponents/Tab.jsx | 69 +-
.../components/gridComponents/Tab.test.tsx | 77 +-
.../menu/ShareMenuItems/ShareMenuItems.test.tsx | 16 +-
.../components/menu/ShareMenuItems/index.tsx | 66 +-
.../nativeFilters/FilterBar/FilterBar.test.tsx | 3 +-
.../FilterBar/FilterControls/FilterValue.tsx | 45 +-
.../FilterBar/FilterSets/FilterSetUnit.tsx | 8 +-
.../components/nativeFilters/FilterBar/index.tsx | 13 +-
.../nativeFilters/FilterBar/keyValue.tsx | 17 +-
.../FiltersConfigModal/DraggableFilter.tsx | 13 +-
.../FiltersConfigModal/FilterConfigPane.test.tsx | 47 +-
.../FiltersConfigModal/FilterConfigurePane.tsx | 6 +-
.../FiltersConfigModal/FilterTitleContainer.tsx | 234 +-
.../FiltersConfigModal/FilterTitlePane.tsx | 25 +-
.../FiltersConfigModal/FiltersConfigModal.tsx | 10 +-
.../FiltersConfigModal/Footer/Footer.tsx | 2 +-
.../src/dashboard/containers/Chart.jsx | 6 +-
.../dashboard/containers/DashboardComponent.jsx | 2 +
.../src/dashboard/containers/DashboardGrid.jsx | 6 +-
.../src/dashboard/containers/DashboardPage.tsx | 57 +-
.../containers/DashboardRoute.tsx} | 20 +-
.../src/dashboard/reducers/dashboardState.js | 30 +
.../src/dashboard/reducers/dashboardState.test.js | 9 +-
.../src/dashboard/stylesheets/builder.less | 1 +
.../dashboard/stylesheets/components/header.less | 2 +-
.../dashboard/stylesheets/components/markdown.less | 6 +-
.../src/dashboard/stylesheets/dnd.less | 27 -
superset-frontend/src/dashboard/types.ts | 15 +
.../src/dashboard/util/activeDashboardFilters.js | 8 +-
.../util/charts/getFormDataWithExtraFilters.ts | 6 +
.../src/dashboard/util/filterboxMigrationHelper.ts | 7 +-
.../src/dashboard/util/findPermission.ts | 2 +-
.../dashboard/util/getChartIdsInFilterScope.ts} | 45 +-
.../util/getFormDataWithExtraFilters.test.ts | 18 +-
.../src/dashboard/util/injectCustomCss.ts | 2 +-
superset-frontend/src/embedded/index.tsx | 85 +-
superset-frontend/src/explore/App.jsx | 2 +
.../src/explore/components/ChartPills.tsx | 88 +
.../src/explore/components/Control.less | 21 -
.../src/explore/components/Control.test.tsx | 94 +
.../src/explore/components/Control.tsx | 41 +-
.../explore/components/ControlPanelsContainer.tsx | 35 +-
.../src/explore/components/ControlRow.test.tsx | 45 +-
.../src/explore/components/ControlRow.tsx | 18 +-
.../explore/components/DataTableControl/index.tsx | 8 +
.../DatasourcePanelDragOption/index.tsx | 34 +-
.../explore/components/DatasourcePanel/index.tsx | 79 +-
.../src/explore/components/EmbedCodeButton.jsx | 147 -
.../explore/components/EmbedCodeButton.test.jsx | 60 -
.../src/explore/components/EmbedCodeContent.jsx | 153 +
.../explore/components/EmbedCodeContent.test.jsx | 48 +
.../components/ExploreActionButtons.test.jsx | 117 -
.../explore/components/ExploreActionButtons.tsx | 229 -
.../ExploreAdditionalActionsMenu.test.jsx | 60 -
.../ExploreAdditionalActionsMenu.test.tsx | 198 +-
.../ExploreAdditionalActionsMenu/ExploreReport.tsx | 92 +
.../ExploreAdditionalActionsMenu/index.jsx | 476 +-
.../ChartEditableTitle/ChartEditableTitle.test.tsx | 68 +
.../ChartEditableTitle/index.tsx | 213 +
.../ExploreChartHeader/ExploreChartHeader.test.tsx | 13 +-
.../components/ExploreChartHeader/index.jsx | 285 +-
.../src/explore/components/ExploreChartPanel.jsx | 68 +-
.../components/ExploreViewContainer/index.jsx | 430 +-
.../PropertiesModal/PropertiesModal.test.tsx | 58 +-
.../explore/components/PropertiesModal/index.tsx | 9 +-
.../{ => RowCountLabel}/RowCountLabel.stories.tsx | 2 +-
.../{ => RowCountLabel}/RowCountLabel.test.jsx | 2 +-
.../{RowCountLabel.tsx => RowCountLabel/index.tsx} | 0
.../src/explore/components/SaveModal.test.jsx | 27 +
.../src/explore/components/SaveModal.tsx | 16 +-
.../controls/AnnotationLayerControl/index.jsx | 12 +-
.../FormattingPopoverContent.tsx | 30 +-
.../ControlPopover/ControlPopover.test.tsx | 126 +
.../controls/ControlPopover/ControlPopover.tsx | 118 +
.../DatasourceControl/DatasourceControl.test.jsx | 13 +-
.../DatasourceControl/DatasourceControl.test.tsx | 1 +
.../controls/DatasourceControl/index.jsx | 11 +-
.../controls/DateFilterControl/DateFilterLabel.tsx | 97 +-
.../DateFilterControl/components/CustomFrame.tsx | 8 +-
.../components/controls/DateFilterControl/types.ts | 1 -
.../controls/DateFilterControl/utils/constants.ts | 39 +-
.../ColumnSelectPopoverTrigger.tsx | 7 +-
.../DndColumnSelectControl/DndColumnSelect.tsx | 1 +
.../FilterBoxItemControl.test.jsx | 4 +-
.../FilterBoxItemControl.test.tsx | 4 +-
.../controls/FilterBoxItemControl/index.jsx | 7 +-
.../index.tsx | 5 -
.../AdhocFilterPopoverTrigger.test.tsx | 3 +-
.../AdhocFilterPopoverTrigger/index.tsx | 7 +-
.../MetricControl/AdhocMetricOption.test.jsx | 4 +-
.../MetricControl/AdhocMetricPopoverTrigger.tsx | 6 +-
.../MetricControl/FilterDefinitionOption.test.jsx | 20 +-
.../components/controls/OptionControls/index.tsx | 3 +-
.../explore/components/controls/SelectControl.jsx | 16 +-
.../components/controls/SelectControl.test.jsx | 52 +-
.../controls/TimeSeriesColumnControl/index.jsx | 7 +-
.../controls/VizTypeControl/VizTypeGallery.tsx | 77 +-
.../src/explore/controlPanels/sections.tsx | 12 +-
.../src/explore/controlUtils/controlUtils.test.tsx | 16 +-
superset-frontend/src/explore/controls.jsx | 4 +-
.../src/explore/exploreUtils/index.js | 10 +-
.../components/Select/SelectFilterPlugin.test.tsx | 27 +-
.../components/Select/SelectFilterPlugin.tsx | 7 +-
.../src/filters/components/Select/types.ts | 2 +-
.../src/hooks/apiResources/dashboards.ts | 5 +-
superset-frontend/src/hooks/useUrlShortener.ts | 39 -
superset-frontend/src/logger/LogUtils.ts | 2 -
superset-frontend/src/preamble.ts | 3 +
superset-frontend/src/profile/App.tsx | 3 +-
.../src/profile/components/CreatedContent.tsx | 25 +-
superset-frontend/src/showSavedQuery/index.jsx | 25 +-
superset-frontend/src/showSavedQuery/index.less | 25 -
superset-frontend/src/types/Chart.ts | 2 +
superset-frontend/src/types/bootstrapTypes.ts | 10 +
superset-frontend/src/types/brace.d.ts | 1 +
superset-frontend/src/utils/urlUtils.ts | 107 +-
superset-frontend/src/views/App.tsx | 2 +
.../src/views/CRUD/alert/AlertList.tsx | 17 +-
.../src/views/CRUD/alert/AlertReportModal.tsx | 16 +-
.../src/views/CRUD/alert/ExecutionLog.tsx | 32 +-
.../CRUD/alert/components/AlertStatusIcon.tsx | 4 +-
.../src/views/CRUD/annotation/AnnotationList.tsx | 54 +-
.../CRUD/annotationlayers/AnnotationLayersList.tsx | 20 +-
.../src/views/CRUD/chart/ChartList.tsx | 2 +-
superset-frontend/src/views/CRUD/chart/types.ts | 1 +
.../src/views/CRUD/dashboard/DashboardCard.tsx | 14 +-
.../views/CRUD/dashboard/DashboardList.test.jsx | 68 +-
.../src/views/CRUD/dashboard/DashboardList.tsx | 82 +-
.../views/CRUD/data/database/DatabaseList.test.jsx | 87 +-
.../src/views/CRUD/data/database/DatabaseList.tsx | 143 +-
.../data/database/DatabaseModal/ExtraOptions.tsx | 20 +-
.../data/database/DatabaseModal/ModalHeader.tsx | 40 +-
.../data/database/DatabaseModal/SqlAlchemyForm.tsx | 5 +-
.../data/database/DatabaseModal/index.test.jsx | 34 +-
.../CRUD/data/database/DatabaseModal/index.tsx | 355 +-
.../CRUD/data/database/DatabaseModal/styles.ts | 201 +-
.../src/views/CRUD/data/database/types.ts | 6 +-
.../src/views/CRUD/data/dataset/types.ts | 1 +
.../views/CRUD/data/query/QueryPreviewModal.tsx | 4 +-
.../data/savedquery/SavedQueryPreviewModal.tsx | 4 +-
superset-frontend/src/views/CRUD/hooks.ts | 33 +-
superset-frontend/src/views/CRUD/utils.test.tsx | 25 +
superset-frontend/src/views/CRUD/utils.tsx | 71 +-
.../src/views/CRUD/welcome/ChartTable.tsx | 4 +-
.../src/views/CRUD/welcome/DashboardTable.tsx | 4 +-
.../src/views/CRUD/welcome/EmptyState.tsx | 3 +-
.../src/views/CRUD/welcome/Welcome.tsx | 23 +-
.../src/views/components/Menu.test.tsx | 6 +
superset-frontend/src/views/components/Menu.tsx | 26 +-
.../src/views/components/MenuRight.tsx | 130 +-
.../src/views/components/SubMenu.test.tsx | 22 +-
superset-frontend/src/views/components/SubMenu.tsx | 78 +-
superset-frontend/src/views/routes.tsx | 8 +-
.../src/visualizations/FilterBox/FilterBox.jsx | 93 +-
.../src/visualizations/FilterBox/FilterBox.less | 78 -
.../visualizations/FilterBox/FilterBox.test.jsx | 5 +-
.../src/visualizations/TimeTable/TimeTable.jsx | 8 +-
.../tools/eslint-plugin-theme-colors/colors.js | 172 +
.../tools/eslint-plugin-theme-colors/index.js | 119 +
.../tools/eslint-plugin-theme-colors/package.json | 17 +
superset-frontend/tsconfig.json | 7 +-
superset-frontend/webpack.config.js | 5 +-
.../annotations/commands/update.py | 4 +-
superset/annotation_layers/annotations/schemas.py | 8 +-
superset/cachekeys/api.py | 6 +-
superset/cachekeys/schemas.py | 15 +-
superset/charts/api.py | 2 +
superset/charts/commands/export.py | 6 +-
superset/charts/data/api.py | 11 +-
superset/charts/schemas.py | 158 +-
superset/cli/celery.py | 80 -
superset/cli/examples.py | 10 +-
superset/cli/importexport.py | 35 +-
superset/cli/main.py | 5 +-
superset/cli/test.py | 22 -
superset/cli/thumbnails.py | 6 +-
superset/cli/update.py | 3 +-
superset/columns/models.py | 5 +-
superset/commands/base.py | 2 +-
superset/commands/exceptions.py | 4 +-
.../export}/__init__.py | 0
superset/commands/{export.py => export/assets.py} | 53 +-
superset/commands/{export.py => export/models.py} | 11 +-
superset/commands/importers/exceptions.py | 5 +
superset/commands/importers/v1/__init__.py | 53 +-
superset/commands/importers/v1/assets.py | 164 +
superset/commands/importers/v1/utils.py | 58 +-
superset/commands/utils.py | 4 +-
superset/common/query_actions.py | 26 +-
superset/common/query_context.py | 19 +-
superset/common/query_context_factory.py | 2 +-
superset/common/query_context_processor.py | 41 +-
superset/common/query_object.py | 32 +-
superset/common/query_object_factory.py | 3 +-
superset/common/utils/dataframe_utils.py | 4 +-
superset/config.py | 131 +-
superset/connectors/base/models.py | 13 +-
superset/connectors/druid/models.py | 3 +-
superset/connectors/druid/views.py | 20 +-
superset/connectors/sqla/models.py | 438 +-
superset/connectors/sqla/utils.py | 143 +-
superset/connectors/sqla/views.py | 164 +-
superset/constants.py | 1 +
superset/dao/base.py | 28 +-
superset/dashboards/api.py | 237 +-
superset/dashboards/commands/export.py | 18 +-
superset/dashboards/commands/importers/v0.py | 3 +-
superset/dashboards/commands/importers/v1/utils.py | 2 +-
superset/dashboards/dao.py | 1 +
superset/dashboards/filter_sets/commands/base.py | 3 +-
superset/dashboards/filter_sets/schemas.py | 6 +-
superset/dashboards/filter_state/api.py | 8 +-
.../dashboards/filter_state/commands/create.py | 11 +-
.../dashboards/filter_state/commands/delete.py | 14 +-
superset/dashboards/filter_state/commands/get.py | 8 +-
.../dashboards/filter_state/commands/update.py | 15 +-
superset/dashboards/filters.py | 57 +-
.../permalink}/__init__.py | 0
superset/dashboards/permalink/api.py | 172 +
.../permalink/commands}/__init__.py | 0
.../permalink/commands/base.py} | 25 +-
superset/dashboards/permalink/commands/create.py | 64 +
superset/dashboards/permalink/commands/get.py | 61 +
.../permalink/exceptions.py} | 23 +-
.../{key_value => dashboards/permalink}/schemas.py | 29 +-
.../utils.py => dashboards/permalink/types.py} | 16 +-
superset/dashboards/schemas.py | 24 +-
superset/databases/api.py | 19 +-
superset/databases/commands/exceptions.py | 6 +-
superset/databases/commands/export.py | 37 +-
superset/databases/commands/test_connection.py | 7 +-
superset/databases/commands/validate.py | 10 +-
superset/databases/dao.py | 6 +-
superset/databases/filters.py | 72 +-
superset/databases/schemas.py | 46 +-
superset/databases/utils.py | 35 +-
superset/datasets/api.py | 6 +-
superset/datasets/commands/export.py | 43 +-
superset/datasets/commands/importers/v0.py | 5 +-
superset/datasets/commands/update.py | 3 +-
superset/datasets/schemas.py | 6 +
superset/db_engine_specs/__init__.py | 3 +
superset/db_engine_specs/base.py | 89 +-
superset/db_engine_specs/bigquery.py | 7 +-
superset/db_engine_specs/drill.py | 7 +-
superset/db_engine_specs/duckdb.py | 80 +
superset/db_engine_specs/gsheets.py | 17 +-
superset/db_engine_specs/hive.py | 10 +-
superset/db_engine_specs/mysql.py | 48 +-
superset/db_engine_specs/postgres.py | 12 +-
superset/db_engine_specs/presto.py | 66 +-
superset/db_engine_specs/snowflake.py | 5 +-
superset/db_engine_specs/trino.py | 32 +-
.../{annotation_layers => embedded}/__init__.py | 0
superset/embedded/dao.py | 53 +
superset/embedded/view.py | 80 +
superset/errors.py | 3 +
superset/examples/birth_names.py | 19 +-
superset/examples/world_bank.py | 4 +-
superset/exceptions.py | 14 +-
superset/explore/form_data/api.py | 10 +-
superset/explore/form_data/commands/create.py | 14 +-
superset/explore/form_data/commands/delete.py | 14 +-
superset/explore/form_data/commands/get.py | 6 +-
superset/explore/form_data/commands/update.py | 23 +-
.../permalink}/__init__.py | 0
superset/explore/permalink/api.py | 171 +
.../permalink/commands}/__init__.py | 0
.../permalink/commands/base.py} | 25 +-
superset/explore/permalink/commands/create.py | 64 +
superset/explore/permalink/commands/get.py | 65 +
.../health.py => explore/permalink/exceptions.py} | 23 +-
.../{key_value => explore/permalink}/schemas.py | 26 +-
.../exceptions.py => explore/permalink/types.py} | 17 +-
superset/explore/{form_data => }/utils.py | 0
superset/{extensions.py => extensions/__init__.py} | 33 +-
superset/extensions/metastore_cache.py | 107 +
.../__init__.py | 0
superset/importexport/api.py | 163 +
superset/initialization/__init__.py | 73 +-
superset/jinja_context.py | 27 +-
superset/key_value/commands/create.py | 75 +-
superset/key_value/commands/delete.py | 46 +-
.../commands/{delete.py => delete_expired.py} | 43 +-
superset/key_value/commands/get.py | 49 +-
superset/key_value/commands/update.py | 75 +-
superset/key_value/commands/upsert.py | 106 +
superset/key_value/{commands => }/exceptions.py | 5 +
superset/key_value/models.py | 38 +
superset/key_value/shared_entries.py | 51 +
.../key_value/{commands/parameters.py => types.py} | 33 +-
superset/key_value/utils.py | 45 +-
superset/migrations/shared/security_converge.py | 4 +-
superset/migrations/shared/utils.py | 74 +
...4fbb_add_type_to_native_filter_configuration.py | 3 +-
...13dd52_change_fetch_values_predicate_to_text.py | 4 +-
...1091c0ef16_add_extra_column_to_columns_model.py | 3 -
...e1b9c3_add_report_format_to_report_schedule_.py | 1 -
.../1f6dca87d1a2_security_converge_dashboards.py | 69 +-
.../versions/2e5a0ee25ed4_refractor_alerting.py | 45 +-
...ed890b36b94_rm_time_range_endpoints_from_qc.py} | 39 +-
.../migrations/versions/2f1d15e8a6af_add_alerts.py | 25 +-
...9248280_add_creation_method_to_reports_model.py | 4 +-
...cbaac5_change_datatype_of_type_in_basecolumn.py | 1 -
.../40f16acf1ba7_security_converge_reports.py | 22 +-
.../42b4c9e01447_security_converge_databases.py | 42 +-
.../45731db65d9c_security_converge_datasets.py | 37 +-
.../versions/49b5a32daba5_add_report_schedules.py | 10 +-
.../4b84f97828aa_security_converge_logs.py | 12 +-
...617f14_add_on_saved_query_delete_tab_state_.py} | 47 +-
.../620241d1153f_update_time_grain_sqla.py | 4 +-
...s_py.py => 6766938c6065_add_key_value_store.py} | 43 +-
...d20ba9ecb33_add_last_saved_at_to_slice_model.py | 1 -
.../73fd22e742ab_add_dynamic_plugins_py.py | 11 +-
...3_sql_lab_models_database_constraint_updates.py | 138 +
...8ee129739cf9_security_converge_css_templates.py | 37 +-
...6e99fb176a0_add_import_mixing_to_saved_query.py | 5 +-
...978245563a02_migrate_iframe_to_dash_markdown.py | 5 +-
.../versions/9d8a8d575284_.py} | 24 +-
.../ab9a9d86e695_deprecate_time_range_endpoints.py | 27 +-
...e27eaf93db_add_extra_config_column_to_alerts.py | 11 +-
...208f_collapse_alerting_models_into_a_single_.py | 34 +-
...0249074e4_deprecate_time_range_endpoints_v2.py} | 14 +-
.../b4456560d4f3_change_table_unique_constraint.py | 2 +-
...b56500de1855_add_uuid_column_to_import_mixin.py | 5 +-
.../b5998378c225_add_certificate_to_dbs.py | 3 +-
.../versions/b8d3a24d9131_new_dataset_models.py | 183 +-
.../versions/b92d69a6643c_rename_csv_to_file.py | 4 +-
.../c25cb2c78727_security_converge_annotations.py | 52 +-
.../c501b7c653a3_add_missing_uuid_column.py | 5 +-
...8dd_add_saved_query_foreign_key_to_tab_state.py | 1 +
.../versions/c82ee8a39623_add_implicit_tags.py | 5 +-
...c878781977c6_alert_reports_shared_uniqueness.py | 3 +-
.../ccb74baaa89b_security_converge_charts.py | 67 +-
...0d715cc_add_limiting_factor_column_to_query_.py | 6 +-
...e38177dbf641_security_converge_saved_queries.py | 57 +-
...828ac4e_add_rls_filter_type_and_grouping_key.py | 4 +-
.../versions/e866bd2d4976_smaller_grid.py | 1 +
...7149153d_add_certifications_columns_to_slice.py | 4 +-
superset/models/__init__.py | 10 +-
superset/models/alerts.py | 176 -
superset/models/core.py | 37 +-
superset/models/dashboard.py | 10 +-
superset/models/embedded_dashboard.py | 57 +
superset/models/helpers.py | 10 +-
superset/models/schedules.py | 104 -
superset/models/slice.py | 2 +
superset/models/sql_lab.py | 16 +-
superset/queries/saved_queries/commands/export.py | 41 +-
superset/queries/saved_queries/schemas.py | 6 +-
superset/reports/commands/alert.py | 3 +-
superset/reports/commands/base.py | 2 +-
superset/reports/commands/execute.py | 13 +-
superset/reports/dao.py | 9 +-
superset/reports/notifications/base.py | 2 +-
superset/reports/schemas.py | 4 +-
superset/result_set.py | 8 +-
superset/security/manager.py | 63 +-
superset/sql_lab.py | 4 +-
superset/sql_parse.py | 256 +-
superset/sql_validators/presto_db.py | 7 +-
superset/sqllab/command.py | 7 +-
superset/sqllab/query_render.py | 7 +-
superset/stats_logger.py | 1 -
superset/{typing.py => superset_typing.py} | 10 +
superset/tasks/alerts/observer.py | 96 -
superset/tasks/alerts/validator.py | 111 -
superset/tasks/async_queries.py | 14 +-
superset/tasks/celery_app.py | 2 +-
superset/tasks/scheduler.py | 12 +-
superset/tasks/schedules.py | 855 --
superset/tasks/slack_util.py | 3 +-
superset/tasks/thumbnails.py | 5 +-
superset/templates/superset/base.html | 2 +-
superset/templates/superset/basic.html | 8 +-
superset/templates/superset/theme.html | 2 +-
.../__init__.py | 0
superset/{key_value => temporary_cache}/api.py | 29 +-
.../commands}/__init__.py | 0
.../commands/create.py | 8 +-
.../commands/delete.py | 8 +-
.../commands/entry.py | 0
.../commands/exceptions.py | 10 +-
.../{key_value => temporary_cache}/commands/get.py | 8 +-
.../commands/parameters.py | 0
.../commands/update.py | 11 +-
superset/{key_value => temporary_cache}/schemas.py | 16 +-
.../__init__.py => temporary_cache/utils.py} | 8 +-
superset/translations/de/LC_MESSAGES/messages.json | 2 +-
superset/translations/de/LC_MESSAGES/messages.po | 2 +-
superset/translations/en/LC_MESSAGES/messages.po | 2 +-
superset/translations/es/LC_MESSAGES/messages.po | 2 +-
superset/translations/fr/LC_MESSAGES/messages.po | 2 +-
superset/translations/it/LC_MESSAGES/messages.po | 2 +-
superset/translations/ja/LC_MESSAGES/messages.po | 2 +-
superset/translations/ko/LC_MESSAGES/messages.po | 2 +-
superset/translations/messages.pot | 2 +-
superset/translations/nl/LC_MESSAGES/messages.json | 2 +-
superset/translations/nl/LC_MESSAGES/messages.po | 2 +-
.../translations/pt_BR/LC_MESSAGES/messages.po | 2 +-
superset/translations/ru/LC_MESSAGES/messages.po | 2 +-
superset/translations/sk/LC_MESSAGES/messages.po | 2 +-
superset/translations/sl/LC_MESSAGES/messages.json | 2 +-
superset/translations/sl/LC_MESSAGES/messages.po | 2 +-
superset/translations/zh/LC_MESSAGES/messages.json | 2 +-
superset/translations/zh/LC_MESSAGES/messages.po | 2 +-
superset/utils/async_query_manager.py | 16 +-
superset/utils/cache.py | 3 +-
superset/utils/cache_manager.py | 32 +-
superset/utils/core.py | 39 +-
superset/utils/date_parser.py | 9 +-
superset/utils/encrypt.py | 3 +-
superset/utils/log.py | 5 +-
superset/utils/machine_auth.py | 10 +-
superset/utils/mock_data.py | 7 +-
superset/utils/pandas_postprocessing/__init__.py | 2 +
superset/utils/pandas_postprocessing/aggregate.py | 2 +-
superset/utils/pandas_postprocessing/boxplot.py | 4 +-
superset/utils/pandas_postprocessing/compare.py | 31 +-
.../utils/pandas_postprocessing/contribution.py | 6 +-
superset/utils/pandas_postprocessing/cum.py | 27 +-
superset/utils/pandas_postprocessing/diff.py | 2 +-
superset/utils/pandas_postprocessing/flatten.py | 84 +
superset/utils/pandas_postprocessing/geography.py | 16 +-
superset/utils/pandas_postprocessing/pivot.py | 8 +-
superset/utils/pandas_postprocessing/prophet.py | 21 +-
superset/utils/pandas_postprocessing/resample.py | 48 +-
superset/utils/pandas_postprocessing/rolling.py | 34 +-
superset/utils/pandas_postprocessing/select.py | 2 +-
superset/utils/pandas_postprocessing/sort.py | 2 +-
superset/utils/pandas_postprocessing/utils.py | 55 +-
superset/utils/profiler.py | 4 +-
superset/views/__init__.py | 1 -
superset/views/alerts.py | 211 +-
superset/views/annotations.py | 9 +-
superset/views/api.py | 2 +-
superset/views/base.py | 5 +-
superset/views/base_api.py | 2 +-
superset/views/chart/views.py | 6 +-
superset/views/core.py | 271 +-
superset/views/css_templates.py | 6 +-
superset/views/dashboard/views.py | 9 +-
superset/views/database/mixins.py | 9 +-
superset/views/database/validators.py | 8 +-
superset/views/database/views.py | 19 +-
superset/views/datasource/schemas.py | 4 +-
superset/views/datasource/views.py | 8 +-
superset/views/health.py | 2 +-
superset/views/key_value.py | 2 +-
superset/views/redirects.py | 23 +-
superset/views/schedules.py | 349 -
superset/views/sql_lab.py | 38 +-
superset/views/tags.py | 2 +-
superset/views/users/api.py | 9 +-
superset/views/utils.py | 11 +-
superset/viz.py | 38 +-
tests/common/query_context_generator.py | 35 +-
tests/conftest.py | 4 +-
tests/fixtures/birth_names.py | 3 +-
tests/integration_tests/access_tests.py | 9 +-
tests/integration_tests/alerts_tests.py | 414 -
.../annotation_layers/fixtures.py | 5 +-
tests/integration_tests/celery_tests.py | 10 +-
tests/integration_tests/charts/api_tests.py | 38 +-
tests/integration_tests/charts/commands_tests.py | 20 +
tests/integration_tests/charts/data/api_tests.py | 59 +-
tests/integration_tests/cli_tests.py | 25 +-
tests/integration_tests/commands_test.py | 167 +
tests/integration_tests/core_tests.py | 94 +-
tests/integration_tests/css_templates/api_tests.py | 5 +-
tests/integration_tests/csv_upload_tests.py | 315 -
tests/integration_tests/dashboard_tests.py | 14 +-
tests/integration_tests/dashboard_utils.py | 4 +-
tests/integration_tests/dashboards/api_tests.py | 185 +-
.../integration_tests/dashboards/commands_tests.py | 22 +
.../dashboards/filter_sets/get_api_tests.py | 4 +-
.../dashboards/filter_state/api_tests.py | 101 +-
.../dashboards/permalink}/__init__.py | 0
.../dashboards/permalink/api_tests.py | 111 +
.../dashboards/security/base_case.py | 26 +-
.../dashboards/security/security_dataset_tests.py | 7 +-
.../dashboards/security/security_rbac_tests.py | 122 +-
tests/integration_tests/databases/api_tests.py | 374 +-
.../integration_tests/databases/commands_tests.py | 20 +
tests/integration_tests/datasets/api_tests.py | 41 +-
tests/integration_tests/datasets/commands_tests.py | 20 +
tests/integration_tests/datasource_tests.py | 12 +-
.../db_engine_specs/base_engine_spec_tests.py | 10 +-
.../db_engine_specs/bigquery_tests.py | 17 +-
.../db_engine_specs/hive_tests.py | 5 +-
.../db_engine_specs/pinot_tests.py | 5 +-
.../db_engine_specs/postgres_tests.py | 26 +-
.../db_engine_specs/presto_tests.py | 129 +-
tests/integration_tests/druid_tests.py | 2 +-
.../integration_tests/embedded}/__init__.py | 0
tests/integration_tests/embedded/dao_tests.py | 51 +
.../explore/form_data/api_tests.py | 114 +-
.../explore/permalink}/__init__.py | 0
.../explore/permalink/api_tests.py | 135 +
.../integration_tests/extensions}/__init__.py | 0
.../extensions/metastore_cache_test.py | 77 +
.../fixtures/birth_names_dashboard.py | 4 +-
.../client.py} | 14 +-
tests/integration_tests/fixtures/importexport.py | 6 +-
tests/integration_tests/fixtures/query_context.py | 2 -
tests/integration_tests/form_tests.py | 6 +-
tests/integration_tests/import_export_tests.py | 6 +-
tests/integration_tests/jinja_context_tests.py | 422 -
.../integration_tests/key_value}/__init__.py | 0
.../key_value/commands}/__init__.py | 0
.../key_value/commands/create_test.py | 58 +
.../key_value/commands/delete_test.py | 82 +
.../key_value/commands/fixtures.py | 63 +
.../key_value/commands/get_test.py | 101 +
.../key_value/commands/update_test.py | 95 +
.../key_value/commands/upsert_test.py | 101 +
tests/integration_tests/log_api_tests.py | 10 +-
...migrate_native_filters_to_new_schema__tests.py} | 10 +-
.../fb13d49b72f9_better_filters__tests.py} | 27 +-
...21_migrate_filter_sets_to_new_format__tests.py} | 0
tests/integration_tests/model_tests.py | 73 +-
tests/integration_tests/queries/api_tests.py | 4 +-
.../queries/saved_queries/commands_tests.py | 18 +
tests/integration_tests/query_context_tests.py | 26 +-
tests/integration_tests/reports/commands_tests.py | 76 +-
tests/integration_tests/result_set_tests.py | 20 +-
tests/integration_tests/schedules_test.py | 596 -
tests/integration_tests/security/api_tests.py | 5 +-
.../security/guest_token_security_tests.py | 110 +-
.../security/migrate_roles_tests.py | 61 +-
.../security/row_level_security_tests.py | 3 +-
tests/integration_tests/security_tests.py | 25 +-
tests/integration_tests/sql_validator_tests.py | 5 +-
tests/integration_tests/sqla_models_tests.py | 147 +-
tests/integration_tests/sqla_views_tests.py | 40 -
tests/integration_tests/sqllab_tests.py | 38 +-
tests/integration_tests/superset_test_config.py | 1 -
...rset_test_config_sqllab_backend_persist_off.py} | 2 +-
.../integration_tests/tasks/async_queries_tests.py | 6 +-
tests/integration_tests/test_jinja_context.py | 190 +
tests/integration_tests/utils_tests.py | 14 +-
tests/integration_tests/viz_tests.py | 38 +-
.../unit_tests/charts/commands}/__init__.py | 0
.../charts/commands/importers}/__init__.py | 0
.../charts/commands/importers/v1}/__init__.py | 0
.../charts/commands/importers/v1/import_test.py | 69 +
tests/unit_tests/columns/test_models.py | 6 +-
.../unit_tests/commands}/__init__.py | 0
tests/unit_tests/commands/export_test.py | 94 +
tests/unit_tests/conftest.py | 46 +-
tests/unit_tests/core_tests.py | 3 +-
.../commands/importers/v1/import_test.py | 67 +
.../dashboards/commands/importers/v1/utils_test.py | 12 +-
.../unit_tests/databases}/__init__.py | 0
.../unit_tests/databases/commands}/__init__.py | 0
.../databases/commands/importers}/__init__.py | 0
.../databases/commands/importers/v1}/__init__.py | 0
.../databases/commands/importers/v1/import_test.py | 70 +
.../unit_tests/databases/utils_test.py | 29 +-
tests/unit_tests/dataframe_test.py | 2 +-
tests/unit_tests/datasets/commands/export_test.py | 6 +-
.../datasets/commands/importers/v1/import_test.py | 42 +-
tests/unit_tests/datasets/test_models.py | 109 +-
tests/unit_tests/db_engine_specs/test_base.py | 5 +-
tests/unit_tests/db_engine_specs/test_drill.py | 24 +-
tests/unit_tests/db_engine_specs/test_gsheets.py | 32 +-
tests/unit_tests/db_engine_specs/test_kusto.py | 10 +-
tests/unit_tests/db_engine_specs/test_mssql.py | 29 +-
tests/unit_tests/db_engine_specs/test_presto.py | 56 +
tests/unit_tests/db_engine_specs/test_teradata.py | 5 +-
tests/unit_tests/db_engine_specs/test_trino.py | 56 +
tests/unit_tests/explore/form_data/__init__.py | 16 -
.../explore/{form_data => }/utils_test.py | 26 +-
tests/unit_tests/extension_tests.py | 51 +
tests/unit_tests/fixtures/dataframes.py | 18 +-
.../fixtures/static/assets/manifest.json | 20 +
.../unit_tests/importexport}/__init__.py | 0
tests/unit_tests/importexport/api_test.py | 254 +
.../unit_tests/jinja_context_test.py | 17 +-
.../unit_tests/key_value}/__init__.py | 0
tests/unit_tests/key_value/utils_test.py | 60 +
.../unit_tests/migrations}/__init__.py | 0
.../unit_tests/migrations/shared}/__init__.py | 0
tests/unit_tests/migrations/shared/utils_test.py | 56 +
.../pandas_postprocessing/test_boxplot.py | 10 +-
.../pandas_postprocessing/test_compare.py | 209 +-
.../pandas_postprocessing/test_contribution.py | 9 +-
tests/unit_tests/pandas_postprocessing/test_cum.py | 133 +-
.../unit_tests/pandas_postprocessing/test_diff.py | 7 +-
.../pandas_postprocessing/test_flatten.py | 75 +
.../unit_tests/pandas_postprocessing/test_pivot.py | 46 +-
.../pandas_postprocessing/test_prophet.py | 39 +-
.../pandas_postprocessing/test_resample.py | 213 +-
.../pandas_postprocessing/test_rolling.py | 165 +-
.../pandas_postprocessing/test_select.py | 6 +-
.../unit_tests/pandas_postprocessing/test_sort.py | 4 +-
tests/unit_tests/sql_parse_tests.py | 347 +-
tests/unit_tests/tables/test_models.py | 8 +-
tests/unit_tests/test_jinja_context.py | 268 +
.../unit_tests/views}/__init__.py | 0
tox.ini | 5 -
1053 files changed, 50845 insertions(+), 45098 deletions(-)
create mode 100644 RELEASING/release-notes-1-5/README.md
create mode 100644 RELEASING/release-notes-1-5/media/adhoc_columns.png
create mode 100644 RELEASING/release-notes-1-5/media/categorical_line.png
create mode 100644 RELEASING/release-notes-1-5/media/dependent_filters.png
create mode 100644 RELEASING/release-notes-1-5/media/filter_bar.png
create mode 100644 RELEASING/release-notes-1-5/media/permalink.png
delete mode 100644 docs/package-lock.json
create mode 100644 superset-embedded-sdk/src/guestTokenRefresh.test.ts
create mode 100644 superset-embedded-sdk/src/guestTokenRefresh.ts
delete mode 100644
superset-frontend/cypress-base/cypress/integration/sqllab/tabs.test.js
create mode 100644
superset-frontend/cypress-base/cypress/integration/sqllab/tabs.test.ts
delete mode 100644
superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel.tsx
create mode 100644
superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/ColumnTypeLabel.tsx
copy superset-frontend/{src/assets/images/icons =>
packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons}/field_abc.svg
(100%)
copy superset-frontend/{src/assets/images/icons =>
packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons}/field_boolean.svg
(100%)
copy superset-frontend/{src/assets/images/icons =>
packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons}/field_date.svg
(100%)
copy superset-frontend/{src/assets/images/icons =>
packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons}/field_derived.svg
(100%)
copy superset-frontend/{src/assets/images/icons =>
packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons}/field_num.svg
(100%)
rename superset-frontend/{src/visualizations/TimeTable/TimeTable.less =>
packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons/svgType.d.ts}
(91%)
create mode 100644
superset-frontend/packages/superset-ui-chart-controls/src/components/SQLPopover.tsx
rename
superset-frontend/{plugins/legacy-plugin-chart-heatmap/src/ReactHeatmap.js =>
packages/superset-ui-chart-controls/src/operators/flattenOperator.ts} (68%)
create mode 100644
superset-frontend/packages/superset-ui-chart-controls/test/utils/operators/flattenOperator.test.ts
copy
superset-frontend/packages/superset-ui-chart-controls/test/utils/operators/{pivotOperator.test.ts
=> timeComparePivotOperator.test.ts} (55%)
create mode 100644
superset-frontend/packages/superset-ui-core/src/color/SharedLabelColorSingleton.ts
rename
superset-frontend/{plugins/legacy-plugin-chart-country-map/src/ReactCountryMap.js
=> packages/superset-ui-core/src/utils/isEqualArray.test.ts} (62%)
rename superset-frontend/{plugins/plugin-chart-table =>
packages/superset-ui-core}/src/utils/isEqualArray.ts (93%)
create mode 100644
superset-frontend/packages/superset-ui-core/test/color/SharedLabelColorSingleton.test.ts
delete mode 100644
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-force-directed/Stories.tsx
delete mode 100644
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-force-directed/data.ts
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-calendar/src/vendor/cal-heatmap.css
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-calendar/src/vendor/d3tip.css
create mode 100644
superset-frontend/plugins/legacy-plugin-chart-country-map/src/ReactCountryMap.jsx
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-force-directed/CHANGELOG.md
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-force-directed/README.md
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-force-directed/package.json
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-force-directed/src/ForceDirected.js
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-force-directed/src/controlPanel.ts
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-force-directed/src/images/thumbnail.png
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-force-directed/src/images/thumbnailLarge.png
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-force-directed/tsconfig.json
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-heatmap/src/Heatmap.css
create mode 100644
superset-frontend/plugins/legacy-plugin-chart-heatmap/src/ReactHeatmap.jsx
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-heatmap/src/vendor/d3tip.css
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-horizon/src/HorizonChart.css
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/PairedTTest.css
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/vendor/parcoords/d3.parcoords.css
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-partition/src/Partition.css
create mode 100644
superset-frontend/plugins/legacy-plugin-chart-partition/src/ReactPartition.jsx
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-rose/src/ReactRose.js
create mode 100644
superset-frontend/plugins/legacy-plugin-chart-rose/src/ReactRose.jsx
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-rose/src/Rose.css
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-sankey-loop/src/ReactSankeyLoop.js
create mode 100644
superset-frontend/plugins/legacy-plugin-chart-sankey-loop/src/ReactSankeyLoop.jsx
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-sankey-loop/src/SankeyLoop.css
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-sunburst/src/ReactSunburst.js
create mode 100644
superset-frontend/plugins/legacy-plugin-chart-sunburst/src/ReactSunburst.jsx
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-sunburst/src/Sunburst.css
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-treemap/src/ReactTreemap.js
rename
superset-frontend/plugins/{legacy-plugin-chart-force-directed/src/ReactForceDirected.jsx
=> legacy-plugin-chart-treemap/src/ReactTreemap.jsx} (65%)
delete mode 100644
superset-frontend/plugins/legacy-plugin-chart-treemap/src/Treemap.css
delete mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/components/BootstrapSliderWrapper.css
delete mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/components/Legend.css
delete mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/components/PlaySlider.css
delete mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/css/deckgl.css
rename
superset-frontend/plugins/{legacy-plugin-chart-partition/src/ReactPartition.js
=> plugin-chart-echarts/src/utils/convertInteger.ts} (84%)
rename
superset-frontend/{plugins/legacy-plugin-chart-force-directed/src/transformProps.js
=> src/GlobalStyles.tsx} (70%)
rename superset-frontend/src/{components/OmniContainer/Omnibar.test.tsx =>
SqlLab/components/QueryHistory/QueryHistory.test.tsx} (56%)
delete mode 100644
superset-frontend/src/SqlLab/components/ScheduleQueryButton/ScheduleQueryButton.less
create mode 100644 superset-frontend/src/assets/images/filter-results.svg
delete mode 100644 superset-frontend/src/components/Datasource/crud.less
delete mode 100644
superset-frontend/src/components/FilterableTable/FilterableTableStyles.less
rename superset-frontend/src/components/MessageToasts/{ToastContainer.jsx =>
ToastContainer.tsx} (90%)
delete mode 100644
superset-frontend/src/components/OmniContainer/OmniContainer.test.tsx
delete mode 100644 superset-frontend/src/components/OmniContainer/Omnibar.tsx
delete mode 100644
superset-frontend/src/components/OmniContainer/getDashboards.ts
delete mode 100644 superset-frontend/src/components/OmniContainer/index.tsx
create mode 100644
superset-frontend/src/dashboard/components/DashboardEmbedControls.tsx
rename superset-frontend/src/{profile/main.less =>
dashboard/containers/DashboardRoute.tsx} (72%)
rename
superset-frontend/{plugins/legacy-plugin-chart-force-directed/src/index.js =>
src/dashboard/util/getChartIdsInFilterScope.ts} (52%)
create mode 100644 superset-frontend/src/explore/components/ChartPills.tsx
delete mode 100644 superset-frontend/src/explore/components/Control.less
create mode 100644 superset-frontend/src/explore/components/Control.test.tsx
delete mode 100644 superset-frontend/src/explore/components/EmbedCodeButton.jsx
delete mode 100644
superset-frontend/src/explore/components/EmbedCodeButton.test.jsx
create mode 100644
superset-frontend/src/explore/components/EmbedCodeContent.jsx
create mode 100644
superset-frontend/src/explore/components/EmbedCodeContent.test.jsx
delete mode 100644
superset-frontend/src/explore/components/ExploreActionButtons.test.jsx
delete mode 100644
superset-frontend/src/explore/components/ExploreActionButtons.tsx
delete mode 100644
superset-frontend/src/explore/components/ExploreAdditionalActionsMenu/ExploreAdditionalActionsMenu.test.jsx
create mode 100644
superset-frontend/src/explore/components/ExploreAdditionalActionsMenu/ExploreReport.tsx
create mode 100644
superset-frontend/src/explore/components/ExploreChartHeader/ChartEditableTitle/ChartEditableTitle.test.tsx
create mode 100644
superset-frontend/src/explore/components/ExploreChartHeader/ChartEditableTitle/index.tsx
rename superset-frontend/src/explore/components/{ =>
RowCountLabel}/RowCountLabel.stories.tsx (97%)
rename superset-frontend/src/explore/components/{ =>
RowCountLabel}/RowCountLabel.test.jsx (96%)
rename superset-frontend/src/explore/components/{RowCountLabel.tsx =>
RowCountLabel/index.tsx} (100%)
create mode 100644
superset-frontend/src/explore/components/controls/ControlPopover/ControlPopover.test.tsx
create mode 100644
superset-frontend/src/explore/components/controls/ControlPopover/ControlPopover.tsx
delete mode 100644 superset-frontend/src/hooks/useUrlShortener.ts
delete mode 100644 superset-frontend/src/showSavedQuery/index.less
delete mode 100644
superset-frontend/src/visualizations/FilterBox/FilterBox.less
create mode 100644 superset-frontend/tools/eslint-plugin-theme-colors/colors.js
create mode 100644 superset-frontend/tools/eslint-plugin-theme-colors/index.js
create mode 100644
superset-frontend/tools/eslint-plugin-theme-colors/package.json
delete mode 100755 superset/cli/celery.py
copy superset/{annotation_layers => commands/export}/__init__.py (100%)
copy superset/commands/{export.py => export/assets.py} (57%)
rename superset/commands/{export.py => export/models.py} (86%)
create mode 100644 superset/commands/importers/v1/assets.py
copy superset/{annotation_layers => dashboards/permalink}/__init__.py (100%)
create mode 100644 superset/dashboards/permalink/api.py
copy superset/{annotation_layers => dashboards/permalink/commands}/__init__.py
(100%)
copy superset/{views/health.py => dashboards/permalink/commands/base.py} (65%)
create mode 100644 superset/dashboards/permalink/commands/create.py
create mode 100644 superset/dashboards/permalink/commands/get.py
copy superset/{views/health.py => dashboards/permalink/exceptions.py} (63%)
copy superset/{key_value => dashboards/permalink}/schemas.py (53%)
copy superset/{key_value/utils.py => dashboards/permalink/types.py} (71%)
create mode 100644 superset/db_engine_specs/duckdb.py
copy superset/{annotation_layers => embedded}/__init__.py (100%)
create mode 100644 superset/embedded/dao.py
create mode 100644 superset/embedded/view.py
copy superset/{annotation_layers => explore/permalink}/__init__.py (100%)
create mode 100644 superset/explore/permalink/api.py
copy superset/{annotation_layers => explore/permalink/commands}/__init__.py
(100%)
copy superset/{views/health.py => explore/permalink/commands/base.py} (65%)
create mode 100644 superset/explore/permalink/commands/create.py
create mode 100644 superset/explore/permalink/commands/get.py
copy superset/{views/health.py => explore/permalink/exceptions.py} (63%)
copy superset/{key_value => explore/permalink}/schemas.py (57%)
copy superset/{commands/importers/exceptions.py => explore/permalink/types.py}
(70%)
rename superset/explore/{form_data => }/utils.py (100%)
rename superset/{extensions.py => extensions/__init__.py} (81%)
create mode 100644 superset/extensions/metastore_cache.py
copy superset/{annotation_layers => importexport}/__init__.py (100%)
create mode 100644 superset/importexport/api.py
copy superset/key_value/commands/{delete.py => delete_expired.py} (52%)
create mode 100644 superset/key_value/commands/upsert.py
copy superset/key_value/{commands => }/exceptions.py (90%)
create mode 100644 superset/key_value/models.py
create mode 100644 superset/key_value/shared_entries.py
copy superset/key_value/{commands/parameters.py => types.py} (58%)
copy
superset/migrations/versions/{ab9a9d86e695_deprecate_time_range_endpoints.py =>
2ed890b36b94_rm_time_range_endpoints_from_qc.py} (61%)
copy
superset/migrations/versions/{c53bae8f08dd_add_saved_query_foreign_key_to_tab_state.py
=> 58df9d617f14_add_on_saved_query_delete_tab_state_.py} (50%)
copy superset/migrations/versions/{73fd22e742ab_add_dynamic_plugins_py.py =>
6766938c6065_add_key_value_store.py} (61%)
create mode 100644
superset/migrations/versions/8b841273bec3_sql_lab_models_database_constraint_updates.py
copy superset/{key_value/utils.py => migrations/versions/9d8a8d575284_.py}
(69%)
copy
superset/migrations/versions/{ab9a9d86e695_deprecate_time_range_endpoints.py =>
b0d0249074e4_deprecate_time_range_endpoints_v2.py} (83%)
delete mode 100644 superset/models/alerts.py
create mode 100644 superset/models/embedded_dashboard.py
delete mode 100644 superset/models/schedules.py
rename superset/{typing.py => superset_typing.py} (94%)
delete mode 100644 superset/tasks/alerts/observer.py
delete mode 100644 superset/tasks/alerts/validator.py
delete mode 100644 superset/tasks/schedules.py
copy superset/{annotation_layers => temporary_cache}/__init__.py (100%)
rename superset/{key_value => temporary_cache}/api.py (87%)
copy superset/{annotation_layers => temporary_cache/commands}/__init__.py
(100%)
copy superset/{key_value => temporary_cache}/commands/create.py (83%)
copy superset/{key_value => temporary_cache}/commands/delete.py (83%)
rename superset/{key_value => temporary_cache}/commands/entry.py (100%)
rename superset/{key_value => temporary_cache}/commands/exceptions.py (82%)
copy superset/{key_value => temporary_cache}/commands/get.py (84%)
rename superset/{key_value => temporary_cache}/commands/parameters.py (100%)
copy superset/{key_value => temporary_cache}/commands/update.py (80%)
rename superset/{key_value => temporary_cache}/schemas.py (68%)
rename superset/{tasks/alerts/__init__.py => temporary_cache/utils.py} (85%)
create mode 100644 superset/utils/pandas_postprocessing/flatten.py
delete mode 100644 superset/views/schedules.py
delete mode 100644 tests/integration_tests/alerts_tests.py
copy {superset/annotation_layers =>
tests/integration_tests/dashboards/permalink}/__init__.py (100%)
create mode 100644 tests/integration_tests/dashboards/permalink/api_tests.py
copy {superset/annotation_layers =>
tests/integration_tests/embedded}/__init__.py (100%)
create mode 100644 tests/integration_tests/embedded/dao_tests.py
copy {superset/annotation_layers =>
tests/integration_tests/explore/permalink}/__init__.py (100%)
create mode 100644 tests/integration_tests/explore/permalink/api_tests.py
copy {superset/annotation_layers =>
tests/integration_tests/extensions}/__init__.py (100%)
create mode 100644 tests/integration_tests/extensions/metastore_cache_test.py
copy tests/integration_tests/{superset_test_config_sqllab_backend_persist.py
=> fixtures/client.py} (80%)
delete mode 100644 tests/integration_tests/jinja_context_tests.py
copy {superset/annotation_layers =>
tests/integration_tests/key_value}/__init__.py (100%)
copy {superset/annotation_layers =>
tests/integration_tests/key_value/commands}/__init__.py (100%)
create mode 100644 tests/integration_tests/key_value/commands/create_test.py
create mode 100644 tests/integration_tests/key_value/commands/delete_test.py
create mode 100644 tests/integration_tests/key_value/commands/fixtures.py
create mode 100644 tests/integration_tests/key_value/commands/get_test.py
create mode 100644 tests/integration_tests/key_value/commands/update_test.py
create mode 100644 tests/integration_tests/key_value/commands/upsert_test.py
rename tests/integration_tests/migrations/{f1410ed7ec95_tests.py =>
f1410ed7ec95_migrate_native_filters_to_new_schema__tests.py} (90%)
rename tests/integration_tests/{migration_tests.py =>
migrations/fb13d49b72f9_better_filters__tests.py} (63%)
rename tests/integration_tests/migrations/{fc3a3a8ff221_tests.py =>
fc3a3a8ff221_migrate_filter_sets_to_new_format__tests.py} (100%)
delete mode 100644 tests/integration_tests/schedules_test.py
delete mode 100644 tests/integration_tests/sqla_views_tests.py
rename tests/integration_tests/{superset_test_config_sqllab_backend_persist.py
=> superset_test_config_sqllab_backend_persist_off.py} (94%)
create mode 100644 tests/integration_tests/test_jinja_context.py
copy {superset/annotation_layers =>
tests/unit_tests/charts/commands}/__init__.py (100%)
copy {superset/annotation_layers =>
tests/unit_tests/charts/commands/importers}/__init__.py (100%)
copy {superset/annotation_layers =>
tests/unit_tests/charts/commands/importers/v1}/__init__.py (100%)
create mode 100644 tests/unit_tests/charts/commands/importers/v1/import_test.py
copy {superset/annotation_layers => tests/unit_tests/commands}/__init__.py
(100%)
create mode 100644 tests/unit_tests/commands/export_test.py
create mode 100644
tests/unit_tests/dashboards/commands/importers/v1/import_test.py
copy {superset/annotation_layers => tests/unit_tests/databases}/__init__.py
(100%)
copy {superset/annotation_layers =>
tests/unit_tests/databases/commands}/__init__.py (100%)
copy {superset/annotation_layers =>
tests/unit_tests/databases/commands/importers}/__init__.py (100%)
copy {superset/annotation_layers =>
tests/unit_tests/databases/commands/importers/v1}/__init__.py (100%)
create mode 100644
tests/unit_tests/databases/commands/importers/v1/import_test.py
copy superset/utils/pandas_postprocessing/sort.py =>
tests/unit_tests/databases/utils_test.py (52%)
create mode 100644 tests/unit_tests/db_engine_specs/test_presto.py
create mode 100644 tests/unit_tests/db_engine_specs/test_trino.py
delete mode 100644 tests/unit_tests/explore/form_data/__init__.py
rename tests/unit_tests/explore/{form_data => }/utils_test.py (88%)
create mode 100644 tests/unit_tests/extension_tests.py
create mode 100644 tests/unit_tests/fixtures/static/assets/manifest.json
copy {superset/annotation_layers => tests/unit_tests/importexport}/__init__.py
(100%)
create mode 100644 tests/unit_tests/importexport/api_test.py
copy superset/commands/importers/exceptions.py =>
tests/unit_tests/jinja_context_test.py (72%)
copy {superset/annotation_layers => tests/unit_tests/key_value}/__init__.py
(100%)
create mode 100644 tests/unit_tests/key_value/utils_test.py
copy {superset/annotation_layers => tests/unit_tests/migrations}/__init__.py
(100%)
copy {superset/annotation_layers =>
tests/unit_tests/migrations/shared}/__init__.py (100%)
create mode 100644 tests/unit_tests/migrations/shared/utils_test.py
create mode 100644 tests/unit_tests/pandas_postprocessing/test_flatten.py
create mode 100644 tests/unit_tests/test_jinja_context.py
copy {superset/annotation_layers => tests/unit_tests/views}/__init__.py (100%)