You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ly...@apache.org on 2023/01/05 21:58:13 UTC

[superset] branch lyndsi/enable-dataset-creation updated (97da07da83 -> 1460b78235)

This is an automated email from the ASF dual-hosted git repository.

lyndsi pushed a change to branch lyndsi/enable-dataset-creation
in repository https://gitbox.apache.org/repos/asf/superset.git


 discard 97da07da83 Create dataset returns user to dataset list
 discard b89bcfe13d Cancel now redirects to the previous page
 discard ceba0d7a91 Change all add dataset entrances to use new create page
    omit 985f6a9196 Make defaultPageSize a const and move emptyStateComponent into src/components/EmptyState
    omit 924f67e1a8 Implement Antonio's review comments
    omit 17d377920d Implement Eric's table height fix
    omit 8d11c74454 Fix rebase issue
    omit 50ef62a7ad Fix dataset tests
    omit 88b089ed23 Create dataset polish/bug fix
    omit 9968e6ced2 Remove console.log
    omit 6aa68d7986 optimized setDatasets call
     add 2f23a9ceac chore: return 404 instead of 500 for datasource not found (#22333)
     add e1ffdb95b1 chore: Add Horizontal FilterBar e2e tests (#22305)
     add 4cf40fb286 test: Fix act errors in FixedOrMetricControl test (#22334)
     add 8afe724e9e build(deps): bump ws and @types/ws in /superset-websocket (#22327)
     add d2b76a8b1a fix: Styling fixes for horizontal filter bar (#22337)
     add d1294a06e6 chore: Refactor python libs (#22335)
     add 3a4131ffc7 fix: Missing spacing in adhoc filters popover (#22346)
     add ff1d29c539 chore: Bump holidays to 0.17.2 (#22354)
     add 2731cbacbf fix: Broken effect in useCSSTextTruncation hook (#22324)
     add 0dbaaad83d feat(explore-popover): Show disabled 'Save' button in explore popover (#21318)
     add 60a617eaba fix(bigquery): Properly display errors for BigQuery DBs (#22349)
     add 08f2c9b305 refactor(frontend): Make dashboard search box the first filter (#19721)
     add da64fa2525 fix: Reordering native filters ignored by filter bar (#22362)
     add e1ef9e0bba chore(docs): adding community calendar link to the community page (#22347)
     add 49f1cfc3f9 fix: Change dropdown in Alert/Report modal to use javascript for conditional rendering instead of css (#22360)
     add f64423a740 fix: Time filter position and click in Horizontal FilterBar (#22338)
     add 1edfd7e1e1 fix: DropdownContainer items width calculation (#22371)
     add de4f50909e fix: Add tooltip to dropdown trigger in horizontal filter bar (#22373)
     add 3a442e09bf fix: Button resizing in horizontal filter bar (#22365)
     add d41cb66737 fix(snowflake): Allow encrypted_extra field to be imported (#22357)
     add 3b45ad8b97 feat(dashboard): Add edit button to dashboard native filters filter cards (#22364)
     add 012d1300c1 chore(viz): rename v1 and v2 charts (#22369)
     add a993c3ca2c fix(translations): French translation (typo fixes) (#21942)
     add 861001251d fix(readme): link target and title (#19576)
     add 368e7e6b08 fix: make sure that gsheets db connection form loads properly (#22361)
     add 6b4ab8a03c chore(plugin-chart-echarts): upgrade to echarts 5.4.1 (#22382)
     add 85c9480791 fix: Update typo in docker-add-drivers.mdx (#21965)
     add a5a0cf9ffb feat: Add oneLine mode to AsyncSelect (#22379)
     add 605cfa045a perf: Prevent rerendering and re-querying metadata of filters in horizontal bar (#22389)
     add c3a6327ff0 fix: correct exception level in log and add error message (#22381)
     add 608ffcbfb9 fix: make database connection modal ace fields uncontrolled (#22350)
     add a235078e48 build(deps-dev): bump @types/node from 18.11.10 to 18.11.13 in /superset-websocket (#22386)
     add d1989a4766 fix(report): Capture unexpected errors in report screenshots. Fixes #21653 (#21724)
     add e7b034c466 build(deps-dev): bump eslint from 7.32.0 to 8.29.0 in /superset-websocket (#22322)
     add 72fb270146 build(deps): bump express from 4.17.1 to 4.18.2 in /docs (#22341)
     add a748b687d8 chore(deps): bump css-what from 2.1.2 to 2.1.3 in /superset-frontend (#21712)
     add 481b020e9d chore: show database UUID in API (#22411)
     add 92fc304099 build(deps): bump loader-utils from 2.0.2 to 2.0.4 in /docs (#22134)
     add 1014a327f5 fix(sqla): copy temporal range logic to helper (#22405)
     add aa0cae9b49 feat(thumbnails): add support for user specific thumbs (#22328)
     add 90d79c78d2 fix(trino): Fix Trino timestamp conversion (#21737)
     add ebaa94974b fix: Force configuration for SafeMarkdown component in Handlebars (#22417)
     add bb318cb137 fix: Allow empty CSS in Handlebars (#22422)
     add 9f3c43f839 fix(dashboard): Update owners of dashboard list after editing (#22383)
     add fa919f3d8c test: Fix act errors in VizTypeControl test (#22424)
     add 4f9c2c8165 fix(hive): Fix regression from #21943 (#22431)
     add bdeedaaf80 chore: set Snowflake user agent (#22432)
     add 89bb6c024b build(deps): bump qs from 6.5.2 to 6.5.3 in /superset-frontend (#22343)
     add 2679ee2e46 fix(chart-table): Scrollbar causing header + footer overflow (#21064)
     add 277f8e04e2 fix: remove unsupported REST API search col with dotted notation on c… (#22440)
     add 291d776085 build(deps-dev): bump typescript from 4.2.3 to 4.9.4 in /superset-websocket (#22414)
     add f03c04a45a build(deps): bump uuid and @types/uuid in /superset-websocket (#22412)
     add 858796b98f chore(deps): bump express from 4.18.1 to 4.18.2 in /superset-websocket/utils/client-ws-app (#21754)
     add 71982ee174 chore: Re-add inheritance of Presto macros for Trino et al. (#22435)
     add 21b56b2d49 fix(cypress): Fix failing/flaky E2E tests (#22460)
     add b55ef5b514 fix: fix comment in Docker environment files (#22421)
     add 7f4e522f1a chore(viz): Rename legacy non-time-series Bar Chart (#22430)
     add 6b20e74442 fix: Create dataset polish/bug fix (#22262)
     add 0ca5e0e0db build(deps): bump @ant-design/icons from 4.2.2 to 4.8.0 in /superset-frontend (#22158)
     add 1bab5b9eba fix: Fixed spacing in alert modal (#22066)
     add c2a20e7b27 chore: adding additional code owners for cypress tests (#22476)
     add 7a94f3afc6 fix(chart-list): Hide 'Dashboards added to' column. (#22475)
     add b954f8f560 feat(welcome): make examples tab customizable (#22302)
     add 7d8fff87b5 fix(assets api): import replaces dashboard (#22208)
     add 630c129e3e fix(cypress): disable flaky tests (#22512)
     add 20599856d1 build(deps): bump qs from 6.5.2 to 6.5.3 in /superset-frontend/cypress-base (#22340)
     add 5617cb4274 chore: updating changelog and updating (#22479)
     add a2a578ad9b fix(init): Initialize _jwt_cookie_name  in AsyncQueryManager __init__  (#22314)
     add e8b85778e1 chore(deps-dev): bump @typescript-eslint/parser from 5.45.0 to 5.47.0 in /superset-websocket (#22465)
     add b7c55b05c0 build(deps): bump pip-compile-multi from 2.4.1 to 2.6.1 in /requirements (#22216)
     add aa55800ca7 build(deps): bump loader-utils from 1.4.0 to 1.4.2 in /superset-embedded-sdk (#22142)
     add 9b26794419 chore: Update dataset_id & dataset_type datasource_id & datasource_type for SPA explore (#22461)
     add 87617095b9 chore: Bump Pillow to 9.3.0 (#22489)
     add 9e81c3a119 feat: update time comparison choices (again) (#22458)
     add 7926a43aed refactor: rename filter_rel_fields to base_related_field_filters (#22508)
     add b6d39d194c feat(trino): support early cancellation of queries (#22498)
     add 9c0d6c51f1 chore(ssh-tunnel): Refactor establishing raw connection with contextmanger (#22366)
     add c2ace8dacb fix(explore): datasource_type typo (#22543)
     add d5bf1f5b37 build(deps): bump fast-json-patch from 3.1.0 to 3.1.1 in /docs (#22557)
     add 86768a6325 build(deps): bump wheel from 0.37.0 to 0.38.1 in /requirements (#22533)
     add 839ec7ceac fix: adding missing examples for bubble chart, bullet chart, calendar heatmap chart and country map chart in the gallery (#22523)
     add 64496e8c88 fix(localization): pybabel doesn't extract plural forms from frontend  (#22507)
     add 734d423ca0 build(deps): bump json5 from 2.2.1 to 2.2.2 in /docs (#22561)
     add 7df1d70a95 fix(websocket): bump ts-node to fix startup error (#22563)
     add 38d02a10b5 fix(cypress): make test chart time range deterministic (#22567)
     add a7a4561550 fix(explore): support saving undefined time grain (#22565)
     add ebaad10d6c feat(ssh-tunnelling):  Setup SSH Tunneling Commands for Database Connections  (#21912)
     add cf156f17bb chore: Use visibilityToggle prop to control password input visibility (#22363)
     add 11c9c8a00c chore: upgrade interweave (#22572)
     add 40dba06094 chore: upgrade react-ace (#22573)
     add 82b0c23fb2 chore: upgrade react-checkbox-tree (#22583)
     add 01671b9d1b fix(helm): Fixing up chart and linting (#22590)
     add 6e4d6e599b chore: adding missing examples in the gallery for several chart types (#22597)
     add b3529479ab feat(chart): Added Papua New Guinea to countries map (#22589)
     add 037deb9a1d feat(rbac): add customizable related filters (#22526)
     add 84177cbc75 fix: Talisman configuration (#22591)
     add d6bce09ac3 feat(helm): add deploymentLabels variable (#22541)
     add 3761694d72 fix: dashboard get by id or slug access filter (#22358)
     new 5e7b15a53c optimized setDatasets call
     new fa3a80a3cb Remove console.log
     new 3981b7d60a Create dataset polish/bug fix
     new 1886145a0c Make defaultPageSize a const and move emptyStateComponent into src/components/EmptyState
     new 3cbf16a8e0 Change all add dataset entrances to use new create page
     new d71d628cf9 Cancel now redirects to the previous page
     new 1460b78235 Create dataset returns user to dataset list

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   (97da07da83)
            \
             N -- N -- N   refs/heads/lyndsi/enable-dataset-creation (1460b78235)

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 7 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:
 .github/CODEOWNERS                                 |    2 +-
 .github/actions/chart-testing-action               |    2 +-
 .github/workflows/superset-websocket.yml           |    2 +-
 CHANGELOG.md                                       |   60 +-
 README.md                                          |    2 +-
 UPDATING.md                                        |    8 +-
 docker/.env                                        |    2 +-
 docker/.env-non-dev                                |    2 +-
 docs/docs/databases/docker-add-drivers.mdx         |    2 +-
 docs/docs/installation/cache.mdx                   |    7 +
 docs/src/pages/community.tsx                       |    5 +
 docs/yarn.lock                                     |  517 ++++---
 helm/superset/Chart.lock                           |    8 +-
 helm/superset/Chart.yaml                           |    6 +-
 helm/superset/README.md                            |   12 +-
 helm/superset/README.md.gotmpl                     |    4 +
 helm/superset/templates/deployment-worker.yaml     |    3 +
 helm/superset/templates/deployment.yaml            |    3 +
 helm/superset/values.yaml                          |    8 +
 requirements/base.txt                              |   16 +-
 requirements/development.txt                       |    2 +-
 requirements/integration.txt                       |   12 +-
 requirements/testing.txt                           |    6 +-
 scripts/babel_update.sh                            |    2 +-
 setup.py                                           |    7 +-
 superset-embedded-sdk/package-lock.json            |   12 +-
 .../cypress/integration/chart_list/filter.test.ts  |   12 +-
 .../cypress/integration/chart_list/list.test.ts    |   14 +-
 .../integration/dashboard/drilltodetail.test.ts    |   10 +-
 .../integration/dashboard/nativeFilters.test.ts    |  219 ++-
 .../cypress/integration/dashboard/utils.ts         |   57 +-
 .../integration/dashboard_list/filter.test.ts      |    8 +-
 .../cypress/integration/explore/control.test.ts    |    2 +-
 .../cypress/integration/explore/utils.ts           |    1 +
 .../cypress-base/cypress/support/index.ts          |    2 +
 superset-frontend/cypress-base/package-lock.json   |   12 +-
 superset-frontend/package-lock.json                |  856 +++++-------
 superset-frontend/package.json                     |    8 +-
 .../superset-ui-chart-controls/package.json        |    4 +-
 .../src/sections/advancedAnalytics.tsx             |    2 +
 .../src/shared-controls/sharedControls.tsx         |   11 +-
 .../superset-ui-chart-controls/src/types.ts        |    1 +
 .../src/images/example.jpg                         |  Bin 0 -> 36394 bytes
 .../legacy-plugin-chart-calendar/src/index.js      |    2 +
 .../src/countries.ts                               |    2 +
 .../src/countries/papua new guinea.geojson         |   28 +
 .../src/images/exampleGermany.jpg                  |  Bin 0 -> 31211 bytes
 .../src/images/exampleUsa.jpg                      |  Bin 0 -> 85089 bytes
 .../legacy-plugin-chart-country-map/src/index.js   |    3 +
 .../src/images/example.jpg                         |  Bin 0 -> 85099 bytes
 .../legacy-plugin-chart-event-flow/src/index.ts    |    2 +
 .../src/types/external.d.ts                        |    1 +
 .../src/controlPanel.tsx                           |    2 +
 .../legacy-plugin-chart-pivot-table/src/index.js   |    2 +-
 .../legacy-plugin-chart-rose/src/controlPanel.tsx  |    2 +
 .../src/images/example1.jpg                        |  Bin 0 -> 116296 bytes
 .../src/images/example2.jpg                        |  Bin 0 -> 50161 bytes
 .../plugins/legacy-plugin-chart-rose/src/index.js  |    3 +
 .../legacy-plugin-chart-treemap/src/index.js       |    2 +-
 .../legacy-preset-chart-nvd3/src/Area/index.js     |    2 +-
 .../legacy-preset-chart-nvd3/src/Bar/index.js      |    2 +-
 .../src/Bubble/images/example.jpg                  |  Bin 0 -> 61529 bytes
 .../legacy-preset-chart-nvd3/src/Bubble/index.js   |    2 +
 .../src/Bullet/images/example.jpg                  |  Bin 0 -> 23045 bytes
 .../legacy-preset-chart-nvd3/src/Bullet/index.js   |    2 +
 .../legacy-preset-chart-nvd3/src/DistBar/index.js  |    9 +-
 .../src/DualLine/images/example.jpg                |  Bin 0 -> 121614 bytes
 .../legacy-preset-chart-nvd3/src/DualLine/index.js |    2 +
 .../legacy-preset-chart-nvd3/src/Line/index.js     |    2 +-
 .../src/LineMulti/images/example.jpg               |  Bin 0 -> 223147 bytes
 .../src/LineMulti/index.js                         |    2 +
 .../legacy-preset-chart-nvd3/src/NVD3Controls.tsx  |    2 +
 .../plugins/plugin-chart-echarts/package.json      |    2 +-
 .../src/Funnel/images/example.jpg                  |  Bin 0 -> 43090 bytes
 .../plugin-chart-echarts/src/Funnel/index.ts       |    2 +
 .../src/Gauge/images/example1.jpg                  |  Bin 0 -> 56912 bytes
 .../src/Gauge/images/example2.jpg                  |  Bin 0 -> 37092 bytes
 .../plugin-chart-echarts/src/Gauge/index.ts        |    3 +
 .../src/Graph/images/example.jpg                   |  Bin 0 -> 57705 bytes
 .../plugin-chart-echarts/src/Graph/index.ts        |    2 +
 .../src/Radar/images/example1.jpg                  |  Bin 0 -> 68385 bytes
 .../src/Radar/images/example2.jpg                  |  Bin 0 -> 66606 bytes
 .../plugin-chart-echarts/src/Radar/index.ts        |    3 +
 .../src/Timeseries/Area/index.ts                   |    2 +-
 .../src/Timeseries/Regular/Bar/index.ts            |    4 +-
 .../src/Timeseries/Regular/Line/index.ts           |    2 +-
 .../plugin-chart-echarts/src/Treemap/index.ts      |    2 +-
 .../plugins/plugin-chart-handlebars/package.json   |    4 +-
 .../src/components/ControlHeader/controlHeader.tsx |    4 +-
 .../src/components/Handlebars/HandlebarsViewer.tsx |   15 +-
 .../src/images/example1.jpg                        |  Bin 0 -> 97899 bytes
 .../src/images/example2.jpg                        |  Bin 0 -> 294384 bytes
 .../src/plugin/controls/style.tsx                  |   33 +-
 .../plugin-chart-handlebars/src/plugin/index.ts    |    3 +
 .../plugin-chart-handlebars/types/external.d.ts    |    2 +-
 .../plugin-chart-pivot-table/src/plugin/index.ts   |    2 +-
 .../src/DataTable/hooks/useSticky.tsx              |   25 +-
 superset-frontend/src/SqlLab/actions/sqlLab.js     |    6 +-
 .../src/SqlLab/actions/sqlLab.test.js              |   31 +
 .../src/SqlLab/components/ResultSet/index.tsx      |   26 +-
 .../SqlLab/components/SqlEditorTabHeader/index.tsx |    4 +-
 superset-frontend/src/SqlLab/fixtures.ts           |    2 +-
 superset-frontend/src/SqlLab/reducers/sqlLab.js    |   29 +-
 superset-frontend/src/components/Badge/index.tsx   |    4 +-
 .../DropdownContainer/DropdownContainer.test.tsx   |   13 +
 .../src/components/DropdownContainer/index.tsx     |   85 +-
 .../src/components/FilterableTable/index.tsx       |    2 +-
 .../Form/LabeledErrorBoundInput.test.jsx           |   15 +
 .../src/components/Form/LabeledErrorBoundInput.tsx |    4 +-
 superset-frontend/src/components/Loading/index.tsx |    1 +
 .../src/components/MessageToasts/Toast.tsx         |    2 +-
 .../src/components/Select/AsyncSelect.stories.tsx  |    9 +
 .../src/components/Select/AsyncSelect.test.tsx     |   48 +
 .../src/components/Select/AsyncSelect.tsx          |   17 +-
 superset-frontend/src/components/Select/styles.tsx |    2 +-
 superset-frontend/src/constants.ts                 |   54 +
 .../FilterBar/ActionButtons/index.tsx              |    3 +-
 .../FilterBar/FilterBarOrientationSelect/index.tsx |    8 +-
 .../FilterBar/FilterConfigurationLink/index.tsx    |   10 +-
 .../FilterBar/FilterControls/FilterControl.tsx     |   77 +-
 .../FilterBar/FilterControls/FilterControls.tsx    |   29 +-
 .../FilterBar/FilterControls/FilterDivider.tsx     |   10 +-
 .../FilterBar/FilterControls/FilterValue.tsx       |    2 +-
 .../FilterBar/FiltersDropdownContent/index.tsx     |    2 +-
 .../FiltersOutOfScopeCollapsible/index.tsx         |    2 +-
 .../nativeFilters/FilterBar/Header/index.tsx       |   39 +-
 .../nativeFilters/FilterBar/Horizontal.tsx         |   16 +-
 .../nativeFilters/FilterCard/DependenciesRow.tsx   |    1 +
 .../nativeFilters/FilterCard/FilterCard.test.tsx   |  171 ++-
 .../nativeFilters/FilterCard/FilterCardContent.tsx |   12 +-
 .../nativeFilters/FilterCard/NameRow.tsx           |   53 +-
 .../components/nativeFilters/FilterCard/Styles.ts  |    5 +
 .../components/nativeFilters/FilterCard/index.tsx  |    7 +-
 .../util/findTabIndexByComponentId.test.js         |    2 +-
 .../util/updateComponentParentsList.test.js        |    2 +-
 .../controls/ControlPopover/ControlPopover.tsx     |   22 +-
 .../controls/DateFilterControl/DateFilterLabel.tsx |    7 +
 .../components/controls/DateFilterControl/types.ts |    1 +
 .../DndColumnSelectControl/ColumnSelectPopover.tsx |    6 +-
 .../AdhocFilterEditPopover.test.jsx                |    3 +-
 .../FilterControl/AdhocFilterEditPopover/index.jsx |    8 +-
 .../FixedOrMetricControl.test.tsx                  |    7 +
 .../AdhocMetricEditPopover.test.jsx                |    6 +-
 .../AdhocMetricEditPopover.test.tsx                |   42 +-
 .../MetricControl/AdhocMetricEditPopover/index.jsx |    6 +-
 .../VizTypeControl/VizTypeControl.test.tsx         |   59 +-
 .../src/explore/controlPanels/sections.tsx         |    2 +
 .../exploreUtils/getParsedExploreURLParams.test.ts |    4 +-
 .../exploreUtils/getParsedExploreURLParams.ts      |   20 +-
 superset-frontend/src/featureFlags.ts              |    2 +-
 .../filters/components/Time/TimeFilterPlugin.tsx   |    2 +
 .../src/filters/components/Time/transformProps.ts  |    1 +
 .../src/filters/components/Time/types.ts           |    1 +
 .../hooks/useTruncation/useCSSTextTruncation.ts    |   23 +-
 superset-frontend/src/preamble.ts                  |   16 +-
 superset-frontend/src/types/bootstrapTypes.ts      |   82 +-
 .../welcome/types.ts => utils/getBootstrapData.ts} |   11 +-
 superset-frontend/src/utils/localStorageHelpers.ts |    9 +-
 superset-frontend/src/utils/urlUtils.test.ts       |    4 +-
 superset-frontend/src/utils/urlUtils.ts            |    4 +-
 .../src/views/CRUD/alert/AlertReportModal.test.jsx |   12 +-
 .../src/views/CRUD/alert/AlertReportModal.test.tsx |   34 +
 .../src/views/CRUD/alert/AlertReportModal.tsx      |  231 ++--
 .../src/views/CRUD/chart/ChartList.tsx             |    1 +
 .../src/views/CRUD/dashboard/DashboardList.tsx     |   16 +-
 .../src/views/CRUD/data/database/DatabaseList.tsx  |    2 +-
 .../DatabaseModal/DatabaseConnectionForm/index.tsx |  125 +-
 .../data/database/DatabaseModal/ExtraOptions.tsx   |   35 +-
 .../data/database/DatabaseModal/index.test.tsx     |   90 +-
 .../CRUD/data/database/DatabaseModal/index.tsx     |   37 +-
 .../views/CRUD/data/dataset/DatasetList.test.jsx   |    2 +-
 .../src/views/CRUD/data/query/QueryList.test.tsx   |    3 +-
 .../src/views/CRUD/data/query/QueryList.tsx        |   34 +-
 .../CRUD/data/query/QueryPreviewModal.test.tsx     |    3 +-
 superset-frontend/src/views/CRUD/types.ts          |   29 +-
 superset-frontend/src/views/CRUD/utils.test.tsx    |  174 ++-
 superset-frontend/src/views/CRUD/utils.tsx         |   89 +-
 .../src/views/CRUD/welcome/ActivityTable.test.tsx  |    9 +-
 .../src/views/CRUD/welcome/ActivityTable.tsx       |   75 +-
 .../src/views/CRUD/welcome/ChartTable.test.tsx     |   29 +-
 .../src/views/CRUD/welcome/ChartTable.tsx          |  100 +-
 .../src/views/CRUD/welcome/DashboardTable.tsx      |  108 +-
 .../src/views/CRUD/welcome/EmptyState.test.tsx     |   33 +-
 .../src/views/CRUD/welcome/EmptyState.tsx          |   40 +-
 .../src/views/CRUD/welcome/SavedQueries.tsx        |   61 +-
 .../src/views/CRUD/welcome/Welcome.tsx             |   93 +-
 superset-frontend/src/views/CRUD/welcome/types.ts  |    4 +
 superset-frontend/src/views/components/Menu.tsx    |   61 +-
 .../src/views/components/RightMenu.tsx             |    6 +-
 superset-frontend/src/views/components/SubMenu.tsx |    2 +-
 superset-frontend/src/views/components/types.ts    |    2 +-
 .../FilterBox/FilterBoxChartPlugin.js              |    3 +
 .../visualizations/FilterBox/images/example1.jpg   |  Bin 0 -> 10921 bytes
 .../visualizations/FilterBox/images/example2.jpg   |  Bin 0 -> 16969 bytes
 superset-websocket/.nvmrc                          |    2 +-
 superset-websocket/README.md                       |    2 +-
 superset-websocket/package-lock.json               | 1433 ++++++++++++--------
 superset-websocket/package.json                    |   18 +-
 .../utils/client-ws-app/package-lock.json          |   50 +-
 .../utils/client-ws-app/package.json               |    2 +-
 superset/charts/api.py                             |   41 +-
 superset/charts/data/api.py                        |    5 +
 superset/commands/importers/v1/assets.py           |   35 +-
 superset/config.py                                 |  128 +-
 superset/connectors/base/models.py                 |    2 +-
 superset/connectors/sqla/utils.py                  |   39 +-
 superset/connectors/sqla/views.py                  |    2 +-
 superset/constants.py                              |    4 +
 superset/dashboards/api.py                         |   28 +-
 superset/dashboards/dao.py                         |   23 +-
 superset/databases/api.py                          |  113 ++
 superset/databases/commands/create.py              |   30 +-
 superset/databases/commands/test_connection.py     |    9 +-
 superset/databases/commands/update.py              |   35 +-
 superset/databases/dao.py                          |   11 +
 superset/databases/schemas.py                      |   17 +
 .../ssh_tunnel}/__init__.py                        |    0
 .../ssh_tunnel/commands}/__init__.py               |    0
 superset/databases/ssh_tunnel/commands/create.py   |   92 ++
 superset/databases/ssh_tunnel/commands/delete.py   |   51 +
 .../ssh_tunnel/commands}/exceptions.py             |   43 +-
 superset/databases/ssh_tunnel/commands/update.py   |   62 +
 .../databases/ssh_tunnel/dao.py                    |   10 +
 superset/databases/ssh_tunnel/models.py            |   76 ++
 superset/datasets/api.py                           |    2 +-
 superset/db_engine_specs/base.py                   |   69 +-
 superset/db_engine_specs/bigquery.py               |    2 +-
 superset/db_engine_specs/databricks.py             |   12 +-
 superset/db_engine_specs/gsheets.py                |   11 +-
 superset/db_engine_specs/hive.py                   |   35 +-
 superset/db_engine_specs/postgres.py               |    1 +
 superset/db_engine_specs/presto.py                 |  443 +++---
 superset/db_engine_specs/snowflake.py              |   16 +-
 superset/db_engine_specs/trino.py                  |   81 +-
 superset/examples/birth_names.py                   |   88 +-
 superset/examples/supported_charts_dashboard.py    |   76 +-
 superset/explore/api.py                            |   12 +-
 superset/explore/commands/get.py                   |   56 +-
 superset/explore/commands/parameters.py            |    4 +-
 superset/explore/exceptions.py                     |    6 +-
 superset/extensions/__init__.py                    |    2 +
 superset/extensions/ssh.py                         |   88 ++
 superset/initialization/__init__.py                |   33 +-
 ...c2d8ec8595_create_ssh_tunnel_credentials_tbl.py |   89 ++
 superset/models/core.py                            |  152 ++-
 superset/models/dashboard.py                       |   20 +-
 superset/models/helpers.py                         |   22 +-
 superset/models/slice.py                           |   21 +-
 superset/queries/api.py                            |    4 +-
 superset/queries/saved_queries/api.py              |    2 +-
 superset/reports/api.py                            |    2 +-
 superset/reports/commands/alert.py                 |   10 +-
 superset/reports/commands/exceptions.py            |    4 -
 superset/reports/commands/execute.py               |   32 +-
 superset/reports/types.py                          |   10 -
 superset/reports/utils.py                          |   71 -
 superset/sql_lab.py                                |  120 +-
 superset/sql_validators/presto_db.py               |    2 +
 .../__init__.py => superset/tasks/exceptions.py    |    8 +
 superset/tasks/scheduler.py                        |    7 +-
 superset/tasks/thumbnails.py                       |   52 +-
 superset/{reports => tasks}/types.py               |   25 +-
 superset/tasks/utils.py                            |   94 ++
 .../{advanced_data_type => thumbnails}/__init__.py |    0
 superset/thumbnails/digest.py                      |   83 ++
 superset/translations/fr/LC_MESSAGES/messages.json |   10 +-
 superset/utils/async_query_manager.py              |    2 +-
 superset/utils/date_parser.py                      |    4 +-
 superset/utils/ssh_tunnel.py                       |   30 +
 superset/utils/webdriver.py                        |   70 +-
 superset/views/base.py                             |    1 +
 superset/views/base_api.py                         |   24 +-
 superset/views/filters.py                          |   32 +-
 tests/conftest.py                                  |    8 +-
 tests/integration_tests/base_api_tests.py          |   20 +
 tests/integration_tests/core_tests.py              |    2 +-
 tests/integration_tests/dashboards/api_tests.py    |   85 +-
 tests/integration_tests/dashboards/dao_tests.py    |   67 +-
 .../dashboards/filter_state/api_tests.py           |   47 +-
 .../dashboards/permalink/api_tests.py              |    9 +-
 tests/integration_tests/databases/api_tests.py     |  311 +++++
 .../databases/ssh_tunnel}/__init__.py              |    0
 .../databases/ssh_tunnel/commands}/__init__.py     |    0
 .../ssh_tunnel/commands/commands_tests.py          |   76 ++
 .../db_engine_specs/databricks_tests.py            |   21 +-
 .../db_engine_specs/presto_tests.py                |   35 +-
 .../db_engine_specs/trino_tests.py                 |   46 +
 tests/integration_tests/explore/api_tests.py       |   14 +-
 .../fixtures/birth_names_dashboard.py              |    2 +-
 tests/integration_tests/reports/alert_tests.py     |   29 +-
 tests/integration_tests/reports/commands_tests.py  |    6 +-
 tests/integration_tests/reports/scheduler_tests.py |   32 +
 tests/integration_tests/sqllab_tests.py            |    6 +-
 tests/integration_tests/superset_test_config.py    |    1 +
 tests/integration_tests/thumbnails_tests.py        |  253 +++-
 .../unit_tests/commands/importers}/__init__.py     |    0
 .../unit_tests/commands/importers/v1}/__init__.py  |    0
 .../commands/importers/v1/assets_test.py           |  131 ++
 tests/unit_tests/databases/api_test.py             |  144 ++
 .../unit_tests/databases/dao}/__init__.py          |    0
 tests/unit_tests/databases/dao/dao_tests.py        |   69 +
 .../unit_tests/databases/ssh_tunnel}/__init__.py   |    0
 .../databases/ssh_tunnel/commands}/__init__.py     |    0
 .../databases/ssh_tunnel/commands/create_test.py   |   68 +
 .../databases/ssh_tunnel/commands/delete_test.py   |   68 +
 .../databases/ssh_tunnel/commands/update_test.py   |   93 ++
 .../ssh_tunnel/dao_tests.py}                       |   31 +-
 tests/unit_tests/db_engine_specs/test_bigquery.py  |   10 +-
 .../unit_tests/db_engine_specs/test_databricks.py  |   44 +-
 tests/unit_tests/db_engine_specs/test_snowflake.py |   31 +
 tests/unit_tests/db_engine_specs/test_trino.py     |   59 +
 tests/unit_tests/explore/api_test.py               |    2 +-
 .../unit_tests/fixtures}/__init__.py               |    0
 tests/unit_tests/fixtures/assets_configs.py        |  259 ++++
 tests/unit_tests/reports/test_utils.py             |  178 ---
 .../unit_tests/tasks}/__init__.py                  |    0
 tests/unit_tests/tasks/test_utils.py               |  323 +++++
 .../unit_tests/thumbnails}/__init__.py             |    0
 tests/unit_tests/thumbnails/test_digest.py         |  258 ++++
 319 files changed, 8402 insertions(+), 3650 deletions(-)
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-calendar/src/images/example.jpg
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/papua new guinea.geojson
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/images/exampleGermany.jpg
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/images/exampleUsa.jpg
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-event-flow/src/images/example.jpg
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-rose/src/images/example1.jpg
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-rose/src/images/example2.jpg
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bubble/images/example.jpg
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bullet/images/example.jpg
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/DualLine/images/example.jpg
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/LineMulti/images/example.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Funnel/images/example.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Gauge/images/example1.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Gauge/images/example2.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Graph/images/example.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Radar/images/example1.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Radar/images/example2.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-handlebars/src/images/example1.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-handlebars/src/images/example2.jpg
 copy superset-frontend/src/{views/CRUD/welcome/types.ts => utils/getBootstrapData.ts} (72%)
 create mode 100644 superset-frontend/src/visualizations/FilterBox/images/example1.jpg
 create mode 100644 superset-frontend/src/visualizations/FilterBox/images/example2.jpg
 copy superset/{advanced_data_type => databases/ssh_tunnel}/__init__.py (100%)
 copy superset/{advanced_data_type => databases/ssh_tunnel/commands}/__init__.py (100%)
 create mode 100644 superset/databases/ssh_tunnel/commands/create.py
 create mode 100644 superset/databases/ssh_tunnel/commands/delete.py
 copy superset/{explore => databases/ssh_tunnel/commands}/exceptions.py (52%)
 create mode 100644 superset/databases/ssh_tunnel/commands/update.py
 copy tests/unit_tests/reports/__init__.py => superset/databases/ssh_tunnel/dao.py (79%)
 create mode 100644 superset/databases/ssh_tunnel/models.py
 create mode 100644 superset/extensions/ssh.py
 create mode 100644 superset/migrations/versions/2022-10-20_10-48_f3c2d8ec8595_create_ssh_tunnel_credentials_tbl.py
 delete mode 100644 superset/reports/utils.py
 rename tests/unit_tests/reports/__init__.py => superset/tasks/exceptions.py (79%)
 copy superset/{reports => tasks}/types.py (50%)
 create mode 100644 superset/tasks/utils.py
 copy superset/{advanced_data_type => thumbnails}/__init__.py (100%)
 create mode 100644 superset/thumbnails/digest.py
 create mode 100644 superset/utils/ssh_tunnel.py
 copy {superset/advanced_data_type => tests/integration_tests/databases/ssh_tunnel}/__init__.py (100%)
 copy {superset/advanced_data_type => tests/integration_tests/databases/ssh_tunnel/commands}/__init__.py (100%)
 create mode 100644 tests/integration_tests/databases/ssh_tunnel/commands/commands_tests.py
 copy {superset/advanced_data_type => tests/unit_tests/commands/importers}/__init__.py (100%)
 copy {superset/advanced_data_type => tests/unit_tests/commands/importers/v1}/__init__.py (100%)
 create mode 100644 tests/unit_tests/commands/importers/v1/assets_test.py
 copy {superset/advanced_data_type => tests/unit_tests/databases/dao}/__init__.py (100%)
 create mode 100644 tests/unit_tests/databases/dao/dao_tests.py
 copy {superset/advanced_data_type => tests/unit_tests/databases/ssh_tunnel}/__init__.py (100%)
 copy {superset/advanced_data_type => tests/unit_tests/databases/ssh_tunnel/commands}/__init__.py (100%)
 create mode 100644 tests/unit_tests/databases/ssh_tunnel/commands/create_test.py
 create mode 100644 tests/unit_tests/databases/ssh_tunnel/commands/delete_test.py
 create mode 100644 tests/unit_tests/databases/ssh_tunnel/commands/update_test.py
 copy tests/unit_tests/{explore/api_test.py => databases/ssh_tunnel/dao_tests.py} (53%)
 copy {superset/advanced_data_type => tests/unit_tests/fixtures}/__init__.py (100%)
 create mode 100644 tests/unit_tests/fixtures/assets_configs.py
 delete mode 100644 tests/unit_tests/reports/test_utils.py
 copy {superset/advanced_data_type => tests/unit_tests/tasks}/__init__.py (100%)
 create mode 100644 tests/unit_tests/tasks/test_utils.py
 copy {superset/advanced_data_type => tests/unit_tests/thumbnails}/__init__.py (100%)
 create mode 100644 tests/unit_tests/thumbnails/test_digest.py


[superset] 01/07: optimized setDatasets call

Posted by ly...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lyndsi pushed a commit to branch lyndsi/enable-dataset-creation
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 5e7b15a53c92c3a8f7b32d321a4faa001a86bdcd
Author: lyndsiWilliams <kc...@gmail.com>
AuthorDate: Mon Nov 21 22:52:47 2022 -0600

    optimized setDatasets call
---
 superset-frontend/src/views/CRUD/data/dataset/AddDataset/index.tsx | 1 +
 1 file changed, 1 insertion(+)

diff --git a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/index.tsx b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/index.tsx
index e4dbaa9a69..419db0dfe6 100644
--- a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/index.tsx
+++ b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/index.tsx
@@ -77,6 +77,7 @@ export default function AddDataset() {
   >(datasetReducer, null);
   const [hasColumns, setHasColumns] = useState(false);
   const [datasets, setDatasets] = useState<DatasetObject[]>([]);
+  console.log(datasets);
   const datasetNames = datasets.map(dataset => dataset.table_name);
   const encodedSchema = dataset?.schema
     ? encodeURIComponent(dataset?.schema)


[superset] 03/07: Create dataset polish/bug fix

Posted by ly...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lyndsi pushed a commit to branch lyndsi/enable-dataset-creation
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 3981b7d60a2cf7f79f1cc43864e6a1fc55b22d6a
Author: lyndsiWilliams <kc...@gmail.com>
AuthorDate: Tue Nov 29 10:02:33 2022 -0600

    Create dataset polish/bug fix
---
 .../SqlLab/components/SqlEditorLeftBar/index.tsx   | 22 ++++++++++++++++++++++
 .../data/dataset/AddDataset/LeftPanel/index.tsx    |  1 +
 2 files changed, 23 insertions(+)

diff --git a/superset-frontend/src/SqlLab/components/SqlEditorLeftBar/index.tsx b/superset-frontend/src/SqlLab/components/SqlEditorLeftBar/index.tsx
index cc62022a12..37fd50244f 100644
--- a/superset-frontend/src/SqlLab/components/SqlEditorLeftBar/index.tsx
+++ b/superset-frontend/src/SqlLab/components/SqlEditorLeftBar/index.tsx
@@ -95,6 +95,28 @@ const collapseStyles = (theme: SupersetTheme) => css`
   }
 `;
 
+const NO_DATABASES_MATCH_TITLE = t('No databases match your search');
+const NO_DATABASES_AVAILABLE_TITLE = t('There are no databases available');
+const MANAGE_YOUR_DATABASES_TEXT = t('Manage your databases');
+const HERE_TEXT = t('here');
+
+export const emptyStateComponent = (emptyResultsWithSearch: boolean) => (
+  <EmptyStateSmall
+    image="empty.svg"
+    title={
+      emptyResultsWithSearch
+        ? NO_DATABASES_MATCH_TITLE
+        : NO_DATABASES_AVAILABLE_TITLE
+    }
+    description={
+      <p>
+        {MANAGE_YOUR_DATABASES_TEXT}{' '}
+        <a href="/databaseview/list">{HERE_TEXT}</a>
+      </p>
+    }
+  />
+);
+
 const SqlEditorLeftBar = ({
   database,
   queryEditorId,
diff --git a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/LeftPanel/index.tsx b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/LeftPanel/index.tsx
index 4f7dfca196..f11b476195 100644
--- a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/LeftPanel/index.tsx
+++ b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/LeftPanel/index.tsx
@@ -40,6 +40,7 @@ import {
   emptyStateComponent,
 } from 'src/components/EmptyState';
 import { useToasts } from 'src/components/MessageToasts/withToasts';
+import { emptyStateComponent } from 'src/SqlLab/components/SqlEditorLeftBar';
 import { DatasetActionType } from '../types';
 
 interface LeftPanelProps {


[superset] 07/07: Create dataset returns user to dataset list

Posted by ly...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lyndsi pushed a commit to branch lyndsi/enable-dataset-creation
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 1460b78235873201e9141b2dccb170ceacf1999e
Author: lyndsiWilliams <kc...@gmail.com>
AuthorDate: Thu Jan 5 14:53:22 2023 -0600

    Create dataset returns user to dataset list
---
 .../src/views/CRUD/data/dataset/AddDataset/Footer/index.tsx         | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/Footer/index.tsx b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/Footer/index.tsx
index 25bbeb780f..81404b9365 100644
--- a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/Footer/index.tsx
+++ b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/Footer/index.tsx
@@ -73,7 +73,6 @@ function Footer({
 
     return LOG_ACTIONS[value];
   };
-  const goToPreviousUrl = () => history.goBack();
 
   const cancelButtonOnClick = () => {
     if (!datasetObject) {
@@ -82,7 +81,7 @@ function Footer({
       const logAction = createLogAction(datasetObject);
       logEvent(logAction, datasetObject);
     }
-    goToPreviousUrl();
+    history.goBack();
   };
 
   const tooltipText = t('Select a database table.');
@@ -101,7 +100,8 @@ function Footer({
         if (typeof response === 'number') {
           logEvent(LOG_ACTIONS_DATASET_CREATION_SUCCESS, datasetObject);
           // When a dataset is created the response we get is its ID number
-          goToPreviousUrl();
+          window.location.href =
+            '/tablemodelview/list/?pageIndex=0&sortColumn=changed_on_delta_humanized&sortOrder=desc';
         }
       });
     }


[superset] 04/07: Make defaultPageSize a const and move emptyStateComponent into src/components/EmptyState

Posted by ly...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lyndsi pushed a commit to branch lyndsi/enable-dataset-creation
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 1886145a0c375086dc7b529ee8d1db34865a19e6
Author: lyndsiWilliams <kc...@gmail.com>
AuthorDate: Mon Dec 19 09:31:43 2022 -0600

    Make defaultPageSize a const and move emptyStateComponent into src/components/EmptyState
---
 .../SqlLab/components/SqlEditorLeftBar/index.tsx   | 22 ----------------------
 .../data/dataset/AddDataset/LeftPanel/index.tsx    |  1 -
 2 files changed, 23 deletions(-)

diff --git a/superset-frontend/src/SqlLab/components/SqlEditorLeftBar/index.tsx b/superset-frontend/src/SqlLab/components/SqlEditorLeftBar/index.tsx
index 37fd50244f..cc62022a12 100644
--- a/superset-frontend/src/SqlLab/components/SqlEditorLeftBar/index.tsx
+++ b/superset-frontend/src/SqlLab/components/SqlEditorLeftBar/index.tsx
@@ -95,28 +95,6 @@ const collapseStyles = (theme: SupersetTheme) => css`
   }
 `;
 
-const NO_DATABASES_MATCH_TITLE = t('No databases match your search');
-const NO_DATABASES_AVAILABLE_TITLE = t('There are no databases available');
-const MANAGE_YOUR_DATABASES_TEXT = t('Manage your databases');
-const HERE_TEXT = t('here');
-
-export const emptyStateComponent = (emptyResultsWithSearch: boolean) => (
-  <EmptyStateSmall
-    image="empty.svg"
-    title={
-      emptyResultsWithSearch
-        ? NO_DATABASES_MATCH_TITLE
-        : NO_DATABASES_AVAILABLE_TITLE
-    }
-    description={
-      <p>
-        {MANAGE_YOUR_DATABASES_TEXT}{' '}
-        <a href="/databaseview/list">{HERE_TEXT}</a>
-      </p>
-    }
-  />
-);
-
 const SqlEditorLeftBar = ({
   database,
   queryEditorId,
diff --git a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/LeftPanel/index.tsx b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/LeftPanel/index.tsx
index f11b476195..4f7dfca196 100644
--- a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/LeftPanel/index.tsx
+++ b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/LeftPanel/index.tsx
@@ -40,7 +40,6 @@ import {
   emptyStateComponent,
 } from 'src/components/EmptyState';
 import { useToasts } from 'src/components/MessageToasts/withToasts';
-import { emptyStateComponent } from 'src/SqlLab/components/SqlEditorLeftBar';
 import { DatasetActionType } from '../types';
 
 interface LeftPanelProps {


[superset] 02/07: Remove console.log

Posted by ly...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lyndsi pushed a commit to branch lyndsi/enable-dataset-creation
in repository https://gitbox.apache.org/repos/asf/superset.git

commit fa3a80a3cb3985303f6034265d93d42f3f5703d2
Author: lyndsiWilliams <kc...@gmail.com>
AuthorDate: Tue Nov 22 10:11:16 2022 -0600

    Remove console.log
---
 superset-frontend/src/views/CRUD/data/dataset/AddDataset/index.tsx | 1 -
 1 file changed, 1 deletion(-)

diff --git a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/index.tsx b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/index.tsx
index 419db0dfe6..e4dbaa9a69 100644
--- a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/index.tsx
+++ b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/index.tsx
@@ -77,7 +77,6 @@ export default function AddDataset() {
   >(datasetReducer, null);
   const [hasColumns, setHasColumns] = useState(false);
   const [datasets, setDatasets] = useState<DatasetObject[]>([]);
-  console.log(datasets);
   const datasetNames = datasets.map(dataset => dataset.table_name);
   const encodedSchema = dataset?.schema
     ? encodeURIComponent(dataset?.schema)


[superset] 06/07: Cancel now redirects to the previous page

Posted by ly...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lyndsi pushed a commit to branch lyndsi/enable-dataset-creation
in repository https://gitbox.apache.org/repos/asf/superset.git

commit d71d628cf9eee1818efd2fbf21d2d4f18b7b2a37
Author: lyndsiWilliams <kc...@gmail.com>
AuthorDate: Tue Jan 3 18:53:10 2023 -0600

    Cancel now redirects to the previous page
---
 .../src/views/CRUD/data/dataset/AddDataset/Footer/index.tsx      | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/Footer/index.tsx b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/Footer/index.tsx
index 8fa4d6976f..25bbeb780f 100644
--- a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/Footer/index.tsx
+++ b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/Footer/index.tsx
@@ -17,6 +17,7 @@
  * under the License.
  */
 import React from 'react';
+import { useHistory } from 'react-router-dom';
 import Button from 'src/components/Button';
 import { t } from '@superset-ui/core';
 import { useSingleViewResource } from 'src/views/CRUD/hooks';
@@ -49,12 +50,12 @@ const LOG_ACTIONS = [
 ];
 
 function Footer({
-  url,
   datasetObject,
   addDangerToast,
   hasColumns = false,
   datasets,
 }: FooterProps) {
+  const history = useHistory();
   const { createResource } = useSingleViewResource<Partial<DatasetObject>>(
     'dataset',
     t('dataset'),
@@ -72,11 +73,7 @@ function Footer({
 
     return LOG_ACTIONS[value];
   };
-  const goToPreviousUrl = () => {
-    // this is a placeholder url until the final feature gets implemented
-    // at that point we will be passing in the url of the previous location.
-    window.location.href = url;
-  };
+  const goToPreviousUrl = () => history.goBack();
 
   const cancelButtonOnClick = () => {
     if (!datasetObject) {


[superset] 05/07: Change all add dataset entrances to use new create page

Posted by ly...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lyndsi pushed a commit to branch lyndsi/enable-dataset-creation
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 3cbf16a8e094a25ecd960411a06aca5f031565a4
Author: lyndsiWilliams <kc...@gmail.com>
AuthorDate: Tue Jan 3 15:49:55 2023 -0600

    Change all add dataset entrances to use new create page
---
 .../src/addSlice/AddSliceContainer.tsx             |  5 +--
 .../explore/components/DatasourcePanel/index.tsx   |  4 +-
 .../src/explore/components/ExploreChartPanel.jsx   |  4 +-
 .../DndColumnSelectControl/ColumnSelectPopover.tsx |  2 +-
 .../MetricControl/AdhocMetricEditPopover/index.jsx |  2 +-
 .../CRUD/data/database/DatabaseModal/index.tsx     |  2 +-
 .../src/views/CRUD/data/dataset/DatasetList.tsx    | 43 ++--------------------
 .../src/views/components/RightMenu.tsx             | 17 +--------
 superset/views/datasource/views.py                 |  5 +--
 9 files changed, 15 insertions(+), 69 deletions(-)

diff --git a/superset-frontend/src/addSlice/AddSliceContainer.tsx b/superset-frontend/src/addSlice/AddSliceContainer.tsx
index f63c53f337..3de75855fc 100644
--- a/superset-frontend/src/addSlice/AddSliceContainer.tsx
+++ b/superset-frontend/src/addSlice/AddSliceContainer.tsx
@@ -333,10 +333,7 @@ export class AddSliceContainer extends React.PureComponent<
     const isButtonDisabled = this.isBtnDisabled();
     const datasetHelpText = this.state.canCreateDataset ? (
       <span data-test="dataset-write">
-        <Link
-          to="/tablemodelview/list/#create"
-          data-test="add-chart-new-dataset"
-        >
+        <Link to="/dataset/add/" data-test="add-chart-new-dataset">
           {t('Add a dataset')}
         </Link>
         {` ${t('or')} `}
diff --git a/superset-frontend/src/explore/components/DatasourcePanel/index.tsx b/superset-frontend/src/explore/components/DatasourcePanel/index.tsx
index dedffc1044..e24d1100ac 100644
--- a/superset-frontend/src/explore/components/DatasourcePanel/index.tsx
+++ b/superset-frontend/src/explore/components/DatasourcePanel/index.tsx
@@ -373,7 +373,9 @@ export default function DataSourcePanel({
                     <span
                       role="button"
                       tabIndex={0}
-                      onClick={() => setShowSaveDatasetModal(true)}
+                      onClick={() => {
+                        window.location.href = '/dataset/add/';
+                      }}
                       className="add-dataset-alert-description"
                     >
                       {t('Create a dataset')}
diff --git a/superset-frontend/src/explore/components/ExploreChartPanel.jsx b/superset-frontend/src/explore/components/ExploreChartPanel.jsx
index 03cda337bb..ac9de71682 100644
--- a/superset-frontend/src/explore/components/ExploreChartPanel.jsx
+++ b/superset-frontend/src/explore/components/ExploreChartPanel.jsx
@@ -324,7 +324,9 @@ const ExploreChartPanel = ({
                 <span
                   role="button"
                   tabIndex={0}
-                  onClick={() => setShowDatasetModal(true)}
+                  onClick={() => {
+                    window.location.href = '/dataset/add/';
+                  }}
                   css={{ textDecoration: 'underline' }}
                 >
                   {t('Create a dataset')}
diff --git a/superset-frontend/src/explore/components/controls/DndColumnSelectControl/ColumnSelectPopover.tsx b/superset-frontend/src/explore/components/controls/DndColumnSelectControl/ColumnSelectPopover.tsx
index fee2eb941f..6ea5dbbb90 100644
--- a/superset-frontend/src/explore/components/controls/DndColumnSelectControl/ColumnSelectPopover.tsx
+++ b/superset-frontend/src/explore/components/controls/DndColumnSelectControl/ColumnSelectPopover.tsx
@@ -231,7 +231,7 @@ const ColumnSelectPopover = ({
   }, []);
 
   const setDatasetAndClose = () => {
-    if (setDatasetModal) setDatasetModal(true);
+    window.location.href = '/dataset/add/';
     onClose();
   };
 
diff --git a/superset-frontend/src/explore/components/controls/MetricControl/AdhocMetricEditPopover/index.jsx b/superset-frontend/src/explore/components/controls/MetricControl/AdhocMetricEditPopover/index.jsx
index f49eb5b4f7..f749a5d09f 100644
--- a/superset-frontend/src/explore/components/controls/MetricControl/AdhocMetricEditPopover/index.jsx
+++ b/superset-frontend/src/explore/components/controls/MetricControl/AdhocMetricEditPopover/index.jsx
@@ -388,7 +388,7 @@ export default class AdhocMetricEditPopover extends React.PureComponent {
                       tabIndex={0}
                       role="button"
                       onClick={() => {
-                        this.props.handleDatasetModal(true);
+                        window.location.href = '/dataset/add/';
                         this.props.onClose();
                       }}
                     >
diff --git a/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx b/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx
index 095e4f0225..66d4a1ef13 100644
--- a/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx
+++ b/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx
@@ -1231,7 +1231,7 @@ const DatabaseModal: FunctionComponent<DatabaseModalProps> = ({
         onClick={() => {
           setLoading(true);
           fetchAndSetDB();
-          window.location.href = '/tablemodelview/list#create';
+          window.location.href = '/dataset/add/';
         }}
       >
         {t('CREATE DATASET')}
diff --git a/superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx b/superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx
index 1a10ade95d..ed85e67bf0 100644
--- a/superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx
+++ b/superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx
@@ -22,16 +22,13 @@ import React, {
   useState,
   useMemo,
   useCallback,
-  useEffect,
 } from 'react';
 import rison from 'rison';
-import { useHistory, useLocation } from 'react-router-dom';
 import {
   createFetchRelated,
   createFetchDistinct,
   createErrorHandler,
 } from 'src/views/CRUD/utils';
-import { getItem, LocalStorageKeys } from 'src/utils/localStorageHelpers';
 import { ColumnObject } from 'src/views/CRUD/data/dataset/types';
 import { useListViewResource } from 'src/views/CRUD/hooks';
 import ConfirmStatusChange from 'src/components/ConfirmStatusChange';
@@ -60,7 +57,6 @@ import { isFeatureEnabled, FeatureFlag } from 'src/featureFlags';
 import WarningIconWithTooltip from 'src/components/WarningIconWithTooltip';
 import { isUserAdmin } from 'src/dashboard/util/permissionUtils';
 import { GenericLink } from 'src/components/GenericLink/GenericLink';
-import AddDatasetModal from './AddDatasetModal';
 
 import {
   PAGE_SIZE,
@@ -152,9 +148,6 @@ const DatasetList: FunctionComponent<DatasetListProps> = ({
     refreshData,
   } = useListViewResource<Dataset>('dataset', t('dataset'), addDangerToast);
 
-  const [datasetAddModalOpen, setDatasetAddModalOpen] =
-    useState<boolean>(false);
-
   const [datasetCurrentlyDeleting, setDatasetCurrentlyDeleting] = useState<
     (Dataset & { chart_count: number; dashboard_count: number }) | null
   >(null);
@@ -191,12 +184,6 @@ const DatasetList: FunctionComponent<DatasetListProps> = ({
     hasPerm('can_export') && isFeatureEnabled(FeatureFlag.VERSIONED_EXPORT);
 
   const initialSort = SORT_BY;
-  useEffect(() => {
-    const db = getItem(LocalStorageKeys.db, null);
-    if (!loading && db) {
-      setDatasetAddModalOpen(true);
-    }
-  }, [loading]);
 
   const openDatasetEditModal = useCallback(
     ({ id }: Dataset) => {
@@ -603,26 +590,6 @@ const DatasetList: FunctionComponent<DatasetListProps> = ({
     });
   }
 
-  const CREATE_HASH = '#create';
-  const location = useLocation();
-  const history = useHistory();
-
-  //  Sync Dataset Add modal with #create hash
-  useEffect(() => {
-    const modalOpen = location.hash === CREATE_HASH && canCreate;
-    setDatasetAddModalOpen(modalOpen);
-  }, [canCreate, location.hash]);
-
-  //  Add #create hash
-  const openDatasetAddModal = useCallback(() => {
-    history.replace(`${location.pathname}${location.search}${CREATE_HASH}`);
-  }, [history, location.pathname, location.search]);
-
-  //  Remove #create hash
-  const closeDatasetAddModal = useCallback(() => {
-    history.replace(`${location.pathname}${location.search}`);
-  }, [history, location.pathname, location.search]);
-
   if (canCreate) {
     buttonArr.push({
       name: (
@@ -630,7 +597,9 @@ const DatasetList: FunctionComponent<DatasetListProps> = ({
           <i className="fa fa-plus" /> {t('Dataset')}{' '}
         </>
       ),
-      onClick: openDatasetAddModal,
+      onClick: () => {
+        window.location.href = '/dataset/add/';
+      },
       buttonStyle: 'primary',
     });
 
@@ -727,12 +696,6 @@ const DatasetList: FunctionComponent<DatasetListProps> = ({
   return (
     <>
       <SubMenu {...menuData} />
-      <AddDatasetModal
-        show={datasetAddModalOpen}
-        onHide={closeDatasetAddModal}
-        onDatasetAdd={refreshData}
-        history={history}
-      />
       {datasetCurrentlyDeleting && (
         <DeleteModal
           description={t(
diff --git a/superset-frontend/src/views/components/RightMenu.tsx b/superset-frontend/src/views/components/RightMenu.tsx
index 67e71363fd..a0546782a1 100644
--- a/superset-frontend/src/views/components/RightMenu.tsx
+++ b/superset-frontend/src/views/components/RightMenu.tsx
@@ -51,7 +51,6 @@ import {
   GlobalMenuDataOptions,
   RightMenuProps,
 } from './types';
-import AddDatasetModal from '../CRUD/data/dataset/AddDatasetModal';
 
 const extensionsRegistry = getExtensionsRegistry();
 
@@ -143,7 +142,6 @@ const RightMenu = ({
     HAS_GSHEETS_INSTALLED,
   } = useSelector<any, ExtentionConfigs>(state => state.common.conf);
   const [showDatabaseModal, setShowDatabaseModal] = useState<boolean>(false);
-  const [showDatasetModal, setShowDatasetModal] = useState<boolean>(false);
   const [engine, setEngine] = useState<string>('');
   const canSql = findPermission('can_sqllab', 'Superset', roles);
   const canDashboard = findPermission('can_write', 'Dashboard', roles);
@@ -179,6 +177,7 @@ const RightMenu = ({
         {
           label: t('Create dataset'),
           name: GlobalMenuDataOptions.DATASET_CREATION,
+          url: '/dataset/add/',
           perm: canDataset && nonExamplesDBConnected,
         },
         {
@@ -286,8 +285,6 @@ const RightMenu = ({
     } else if (itemChose.key === GlobalMenuDataOptions.GOOGLE_SHEETS) {
       setShowDatabaseModal(true);
       setEngine('Google Sheets');
-    } else if (itemChose.key === GlobalMenuDataOptions.DATASET_CREATION) {
-      setShowDatasetModal(true);
     }
   };
 
@@ -296,10 +293,6 @@ const RightMenu = ({
     setShowDatabaseModal(false);
   };
 
-  const handleOnHideDatasetModalModal = () => {
-    setShowDatasetModal(false);
-  };
-
   const isDisabled = isAdmin && !allowUploads;
 
   const tooltipText = t(
@@ -344,7 +337,6 @@ const RightMenu = ({
   );
 
   const handleDatabaseAdd = () => setQuery({ databaseAdded: true });
-  const handleDatasetAdd = () => setQuery({ datasetAdded: true });
 
   const theme = useTheme();
 
@@ -358,13 +350,6 @@ const RightMenu = ({
           onDatabaseAdd={handleDatabaseAdd}
         />
       )}
-      {canDataset && (
-        <AddDatasetModal
-          onHide={handleOnHideDatasetModalModal}
-          show={showDatasetModal}
-          onDatasetAdd={handleDatasetAdd}
-        />
-      )}
       {environmentTag?.text && (
         <Label
           css={{ borderRadius: `${theme.gridUnit * 125}px` }}
diff --git a/superset/views/datasource/views.py b/superset/views/datasource/views.py
index c2db174cb1..4f158e8369 100644
--- a/superset/views/datasource/views.py
+++ b/superset/views/datasource/views.py
@@ -228,10 +228,7 @@ class DatasetEditor(BaseSupersetView):
     @has_access
     @permission_name("read")
     def root(self) -> FlaskResponse:
-        dev = request.args.get("testing")
-        if dev is not None:
-            return super().render_app_template()
-        return redirect("/")
+        return super().render_app_template()
 
     @expose("/<pk>", methods=["GET"])
     @has_access