From 3f6bd1e4a4498de765ce0ebd4c7700f3bdbfe0bb Mon Sep 17 00:00:00 2001 From: Ville Brofeldt <33317356+villebro@users.noreply.github.com> Date: Thu, 13 May 2021 09:36:09 +0300 Subject: [PATCH] feat: add generic type to column payload (#14547) * feat: add generic type to column payload * feat: add generic type to column payload * xit flaky test --- .../integration/dashboard/dashboard.helper.ts | 4 +- .../integration/dashboard/load.test.ts | 4 +- superset-frontend/package-lock.json | 604 +++++++++--------- superset-frontend/package.json | 56 +- .../components/ColumnTypeLabel_spec.jsx | 15 +- .../spec/javascripts/datasource/fixtures.tsx | 11 +- .../DndFilterSelect.test.tsx | 11 +- .../filters/components/Range/buildQuery.ts | 6 +- .../TimeGrain/TimeGrainFilterPlugin.tsx | 10 +- superset/connectors/base/models.py | 17 + superset/connectors/sqla/models.py | 11 + superset/db_engine_specs/base.py | 17 + tests/db_engine_specs/base_tests.py | 19 +- tests/db_engine_specs/mysql_tests.py | 9 +- tests/db_engine_specs/postgres_tests.py | 29 +- 15 files changed, 466 insertions(+), 357 deletions(-) diff --git a/superset-frontend/cypress-base/cypress/integration/dashboard/dashboard.helper.ts b/superset-frontend/cypress-base/cypress/integration/dashboard/dashboard.helper.ts index 123c7779b091b..42da28b514ce4 100644 --- a/superset-frontend/cypress-base/cypress/integration/dashboard/dashboard.helper.ts +++ b/superset-frontend/cypress-base/cypress/integration/dashboard/dashboard.helper.ts @@ -45,7 +45,9 @@ export interface ChartSpec { export function getChartGridComponent({ name, viz }: ChartSpec) { return cy - .get(`[data-test="chart-grid-component"][data-test-chart-name="${name}"]`) + .get(`[data-test="chart-grid-component"][data-test-chart-name="${name}"]`, { + timeout: 30000, + }) .should('have.attr', 'data-test-viz-type', viz); } diff --git a/superset-frontend/cypress-base/cypress/integration/dashboard/load.test.ts b/superset-frontend/cypress-base/cypress/integration/dashboard/load.test.ts index 9fb84f70c93d8..fbc2dcb0de37c 100644 --- a/superset-frontend/cypress-base/cypress/integration/dashboard/load.test.ts +++ b/superset-frontend/cypress-base/cypress/integration/dashboard/load.test.ts @@ -44,7 +44,9 @@ describe('Dashboard load', () => { it('should load in edit/standalone mode', () => { cy.visit(`${WORLD_HEALTH_DASHBOARD}?edit=true&standalone=true`); - cy.get('[data-test="discard-changes-button"]').should('be.visible'); + cy.get('[data-test="discard-changes-button"]', { timeout: 10000 }).should( + 'be.visible', + ); cy.get('#app-menu').should('not.exist'); }); diff --git a/superset-frontend/package-lock.json b/superset-frontend/package-lock.json index 620053499ebc1..67b91460b0ca7 100644 --- a/superset-frontend/package-lock.json +++ b/superset-frontend/package-lock.json @@ -15,35 +15,35 @@ "@emotion/babel-preset-css-prop": "^11.2.0", "@emotion/cache": "^11.1.3", "@emotion/react": "^11.1.5", - "@superset-ui/chart-controls": "^0.17.42", - "@superset-ui/core": "^0.17.42", - "@superset-ui/legacy-plugin-chart-calendar": "^0.17.42", - "@superset-ui/legacy-plugin-chart-chord": "^0.17.42", - "@superset-ui/legacy-plugin-chart-country-map": "^0.17.42", - "@superset-ui/legacy-plugin-chart-event-flow": "^0.17.42", - "@superset-ui/legacy-plugin-chart-force-directed": "^0.17.42", - "@superset-ui/legacy-plugin-chart-heatmap": "^0.17.42", - "@superset-ui/legacy-plugin-chart-histogram": "^0.17.42", - "@superset-ui/legacy-plugin-chart-horizon": "^0.17.42", - "@superset-ui/legacy-plugin-chart-map-box": "^0.17.42", - "@superset-ui/legacy-plugin-chart-paired-t-test": "^0.17.42", - "@superset-ui/legacy-plugin-chart-parallel-coordinates": "^0.17.42", - "@superset-ui/legacy-plugin-chart-partition": "^0.17.42", - "@superset-ui/legacy-plugin-chart-pivot-table": "^0.17.42", - "@superset-ui/legacy-plugin-chart-rose": "^0.17.42", - "@superset-ui/legacy-plugin-chart-sankey": "^0.17.43", - "@superset-ui/legacy-plugin-chart-sankey-loop": "^0.17.42", - "@superset-ui/legacy-plugin-chart-sunburst": "^0.17.42", - "@superset-ui/legacy-plugin-chart-treemap": "^0.17.42", - "@superset-ui/legacy-plugin-chart-world-map": "^0.17.42", - "@superset-ui/legacy-preset-chart-big-number": "^0.17.42", + "@superset-ui/chart-controls": "^0.17.46", + "@superset-ui/core": "^0.17.46", + "@superset-ui/legacy-plugin-chart-calendar": "0.17.46", + "@superset-ui/legacy-plugin-chart-chord": "0.17.46", + "@superset-ui/legacy-plugin-chart-country-map": "0.17.46", + "@superset-ui/legacy-plugin-chart-event-flow": "0.17.46", + "@superset-ui/legacy-plugin-chart-force-directed": "0.17.46", + "@superset-ui/legacy-plugin-chart-heatmap": "0.17.46", + "@superset-ui/legacy-plugin-chart-histogram": "0.17.46", + "@superset-ui/legacy-plugin-chart-horizon": "0.17.46", + "@superset-ui/legacy-plugin-chart-map-box": "0.17.46", + "@superset-ui/legacy-plugin-chart-paired-t-test": "0.17.46", + "@superset-ui/legacy-plugin-chart-parallel-coordinates": "0.17.46", + "@superset-ui/legacy-plugin-chart-partition": "0.17.46", + "@superset-ui/legacy-plugin-chart-pivot-table": "0.17.46", + "@superset-ui/legacy-plugin-chart-rose": "0.17.46", + "@superset-ui/legacy-plugin-chart-sankey": "^0.17.46", + "@superset-ui/legacy-plugin-chart-sankey-loop": "0.17.46", + "@superset-ui/legacy-plugin-chart-sunburst": "0.17.46", + "@superset-ui/legacy-plugin-chart-treemap": "0.17.46", + "@superset-ui/legacy-plugin-chart-world-map": "0.17.46", + "@superset-ui/legacy-preset-chart-big-number": "0.17.46", "@superset-ui/legacy-preset-chart-deckgl": "^0.4.6", - "@superset-ui/legacy-preset-chart-nvd3": "^0.17.42", - "@superset-ui/plugin-chart-echarts": "^0.17.44", - "@superset-ui/plugin-chart-pivot-table": "^0.17.44", - "@superset-ui/plugin-chart-table": "^0.17.44", - "@superset-ui/plugin-chart-word-cloud": "^0.17.42", - "@superset-ui/preset-chart-xy": "^0.17.42", + "@superset-ui/legacy-preset-chart-nvd3": "0.17.46", + "@superset-ui/plugin-chart-echarts": "^0.17.46", + "@superset-ui/plugin-chart-pivot-table": "^0.17.46", + "@superset-ui/plugin-chart-table": "^0.17.46", + "@superset-ui/plugin-chart-word-cloud": "0.17.46", + "@superset-ui/preset-chart-xy": "0.17.46", "@vx/responsive": "^0.0.195", "abortcontroller-polyfill": "^1.1.9", "antd": "^4.9.4", @@ -14105,11 +14105,11 @@ } }, "node_modules/@superset-ui/chart-controls": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.17.42.tgz", - "integrity": "sha512-+b9TNyBB0RLBXI9gETwKsCaC/P8kzZGAV+Yj4nthtV0kiE40VsXjua6IwujukbESSJMNi6yk/V+E0ncE3pausA==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.17.46.tgz", + "integrity": "sha512-6ziG3iu5OllXV/IrWO+/wOZO4rZIv4Z0RQUzOppI0beayBv7WYfEUPRAfzbVnTTg9UzjOd3M45VKI2z8btty+Q==", "dependencies": { - "@superset-ui/core": "0.17.42", + "@superset-ui/core": "0.17.46", "lodash": "^4.17.15", "prop-types": "^15.7.2" }, @@ -14123,9 +14123,9 @@ } }, "node_modules/@superset-ui/core": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/core/-/core-0.17.42.tgz", - "integrity": "sha512-bZMSoVhuz71RabMHi4qx5k3EFnCFkMoYkA08g6vxgqh+ObvR/KL8tWBEHRxrcEBZIiBBLxWMDuSSKVpCUO4lbg==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/core/-/core-0.17.46.tgz", + "integrity": "sha512-bmwmsa8B06QpY1VZP4MNpSe9vNRJ8IqexHpn1WPNvFyO8dEMvwmFMw21kuvoTFqN08EzUw6IvhntqDzZaj60nQ==", "dependencies": { "@babel/runtime": "^7.1.2", "@emotion/cache": "^11.1.3", @@ -14254,12 +14254,12 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-calendar": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-calendar/-/legacy-plugin-chart-calendar-0.17.42.tgz", - "integrity": "sha512-Qmv6X3TsnNggYahThq9sTC5OLMX7/0mpfRNU2MJlDxIAa8jGkSrHoJb3zcmCb8qTW6vy5UacwW34VoRgB9PI8w==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-calendar/-/legacy-plugin-chart-calendar-0.17.46.tgz", + "integrity": "sha512-doyNWL12nyKHaM3bdGallWq+snxzEuH4kqNGrTDImvI6GVRu7Jw7CcbwOnpoIH2EPkfbWIzY+DmRrPosqyAtRQ==", "dependencies": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3-array": "^2.0.3", "d3-selection": "^1.4.0", "d3-tip": "^0.9.1", @@ -14278,24 +14278,24 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-chord": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-chord/-/legacy-plugin-chart-chord-0.17.42.tgz", - "integrity": "sha512-2TpEI1vTVT6mZSNKLNK26sUbsiaG+K5CAAkoZXzNv+FUbACdTTdvjsT5WdQY3Kc4qDUIcZiqUmT+nsfYVXcimQ==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-chord/-/legacy-plugin-chart-chord-0.17.46.tgz", + "integrity": "sha512-MVefW3wKHurjPfnTqOMR9DRtC1a6UI8sUK70LkfS/wpV7rpxNLNmzg3JceSGVWFgjyVkKfrRMpxj0BqatH6j1A==", "dependencies": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "prop-types": "^15.6.2", "react": "^16.13.1" } }, "node_modules/@superset-ui/legacy-plugin-chart-country-map": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-country-map/-/legacy-plugin-chart-country-map-0.17.42.tgz", - "integrity": "sha512-za+lIEDPA/uL8RfelCKiUxMC+1L/KJZOgvdcAkWyJ+oKfNMmCQubOsQYryRXiuLnz3MpveN01/cK2jhltpia7Q==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-country-map/-/legacy-plugin-chart-country-map-0.17.46.tgz", + "integrity": "sha512-MTSK6tRwHBHUVlikWCcZXsN0zkwV00c23SF7eA9bsFverwWemPitA/YA93+M2NlDyIC/7Edss4wWHVqSgBAUHA==", "dependencies": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "d3-array": "^2.0.3", "prop-types": "^15.6.2" @@ -14310,13 +14310,13 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-event-flow": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-event-flow/-/legacy-plugin-chart-event-flow-0.17.42.tgz", - "integrity": "sha512-XLnp3L03VWgi7+5XawSPjWGOykZs7XX18QLoiZW5GlsO8t4Yh3mA5uTb/e+BAJYOEKgz4Mca0t7s2MxNdBnPQg==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-event-flow/-/legacy-plugin-chart-event-flow-0.17.46.tgz", + "integrity": "sha512-cOF7mr0F45cMMeCBTljRiOt7VQaYpUSbtvK16ZFaCl5gES7NGFwZI/LiqKwA1odw8G98ZjsbRmsfNok4o+zGxQ==", "dependencies": { "@data-ui/event-flow": "^0.0.84", - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "prop-types": "^15.6.2" }, "peerDependencies": { @@ -14324,12 +14324,12 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-force-directed": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-force-directed/-/legacy-plugin-chart-force-directed-0.17.42.tgz", - "integrity": "sha512-NqW9N4zZ+3ZuWq3kOlPWhHZ4aAacpsz1Bs4Oi/WBGTeIyzV4QrTtAeXh+ToQWlPUaOgXJmbT5FlP9ZJuvpf+nQ==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-force-directed/-/legacy-plugin-chart-force-directed-0.17.46.tgz", + "integrity": "sha512-7iVMDB/uAVvFmP7FZ37nSKGdIBcb/ERQZLwx42hVJeZCRboJQgu+LrlAIcnaV4svssG1/E9Y+wFNosL2nRwABw==", "dependencies": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "prop-types": "^15.7.2" }, @@ -14338,12 +14338,12 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-heatmap": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-heatmap/-/legacy-plugin-chart-heatmap-0.17.42.tgz", - "integrity": "sha512-xkPKqtSXi/y27OSbi0xQlVi/+aQhjBa6mIv4VoWbUq3A416IdJXCIGbTSNjrtY0DzUVlsLOvN9Cma52XQ7j9eg==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-heatmap/-/legacy-plugin-chart-heatmap-0.17.46.tgz", + "integrity": "sha512-PG9oMYdsiYumeCEfXSz/vJHjQacYaMTHW/sbMS5iD/HWVYyKhu29WlBWwL3hlU995Fa7q0khxpNblVOo43QNxw==", "dependencies": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "d3-svg-legend": "^1.x", "d3-tip": "^0.9.1", @@ -14351,14 +14351,14 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-histogram": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-histogram/-/legacy-plugin-chart-histogram-0.17.42.tgz", - "integrity": "sha512-WN/7DORzAjOZqvguC8sf72DfU27S4NHDQi4qqzNFrVJvkEho3IiBST8PcJqOag3Nv9CdZsPafk5hL15YtP0HHA==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-histogram/-/legacy-plugin-chart-histogram-0.17.46.tgz", + "integrity": "sha512-p9odB5JTf8SU1QCYNt0wyOxVVPTrZtE+Ak00E/nX9xA59Py4OjXWL1mx/lHz4WoLMx9P6bO9Jlhc2W4hcXJa8Q==", "dependencies": { "@data-ui/histogram": "^0.0.84", "@data-ui/theme": "^0.0.84", - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "@vx/legend": "^0.0.198", "@vx/responsive": "^0.0.199", "@vx/scale": "^0.0.197", @@ -14427,12 +14427,12 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-horizon": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-horizon/-/legacy-plugin-chart-horizon-0.17.42.tgz", - "integrity": "sha512-M5MF+SQPjkeoPqnZHK0UMDZOEltx5N15VHODTldyPct5a2iFFzwvdanI7Xg9UJHjEGzVtqISoUa1ONUo+HfL5Q==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-horizon/-/legacy-plugin-chart-horizon-0.17.46.tgz", + "integrity": "sha512-bTmI6K/8DlWl3u5N7sHv1r5YRL/6CeZl+WOvgJHbss4gEEe1uL6w6UEbjq/oORjG/DstdMLo8Ub+n+6PtQQr2Q==", "dependencies": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3-array": "^2.0.3", "d3-scale": "^3.0.1", "prop-types": "^15.6.2" @@ -14462,12 +14462,12 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-map-box": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-map-box/-/legacy-plugin-chart-map-box-0.17.42.tgz", - "integrity": "sha512-nj4KRVgIxHb7kJi9Y14VJH5fA2DleK8T9qUqGPUCZd490XUPrXHs+ErbfSZMMHVf3AiW0LResSEjQdHJ98d+Vw==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-map-box/-/legacy-plugin-chart-map-box-0.17.46.tgz", + "integrity": "sha512-9nuPUh0+MtRuR3lICVsQeapy++oiWWYxxo8nkgPvZ1AtHq/BLd+ylC85heL9GuGBG15XksfENuy+0n9iWEMjbw==", "dependencies": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "immutable": "^3.8.2", "mapbox-gl": "^0.53.0", "prop-types": "^15.6.2", @@ -14488,12 +14488,12 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-paired-t-test": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-paired-t-test/-/legacy-plugin-chart-paired-t-test-0.17.42.tgz", - "integrity": "sha512-a0wDoLK7oq6o7hLTdE9T/IuVlLGGMPGFjE8uPnnNTWhNO7pxZNyejhfd6Rz/SFVDNsY7ongy7ikun7ntjjjS9Q==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-paired-t-test/-/legacy-plugin-chart-paired-t-test-0.17.46.tgz", + "integrity": "sha512-kqpv8aGnqNmrXPU59E6ahZDgAmNG0O2k8dXYbOf0rzqHvYIiR8ZC/OwRaadi4btcH/eDuDrcfRLeIWE1LCNS2A==", "dependencies": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "distributions": "^1.0.0", "prop-types": "^15.6.2", "reactable": "^1.1.0" @@ -14503,12 +14503,12 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-parallel-coordinates": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-parallel-coordinates/-/legacy-plugin-chart-parallel-coordinates-0.17.42.tgz", - "integrity": "sha512-/jxKxfExDnGFzOzK4sWX7/rfis29LtOiMDgmMzPj4LGQYyjX1nPhQSWYviJh3yIIZDr8Fo/a9/cVprYbZscSuQ==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-parallel-coordinates/-/legacy-plugin-chart-parallel-coordinates-0.17.46.tgz", + "integrity": "sha512-zDPPEF1xsl8js0YNJcnRjjALaULtFaufFjnyyOeSTULOsNSpl2tBoPHxSfwoJn6zD5/RoRP5HV1XTS5Kqjj48A==", "dependencies": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "prop-types": "^15.7.2" }, @@ -14517,12 +14517,12 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-partition": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-partition/-/legacy-plugin-chart-partition-0.17.42.tgz", - "integrity": "sha512-1wTVRoVnHAC4Am45bAE2Yn7qdnhR2VPyLqP1wUnDq43beJFKqHvq51T9j5dvBJlnRqYPENuEJC5QEEBAESIr+w==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-partition/-/legacy-plugin-chart-partition-0.17.46.tgz", + "integrity": "sha512-LUPnGJFY6DAmkaD96i/rer+0J9B1hy8mtj2gifhpJHxjEU8mEaCmiJHJklBzwGOuIe7uZBJua+IP9ST3bbi6vA==", "dependencies": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "d3-hierarchy": "^1.1.8", "prop-types": "^15.6.2" @@ -14532,24 +14532,24 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-pivot-table": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-pivot-table/-/legacy-plugin-chart-pivot-table-0.17.42.tgz", - "integrity": "sha512-6FLic7uzKA89hKqXnkxQsEdUliVdmlrvP/7AGNBXDtOCkk8KWdLqOU/0ODNNSzJOLpgz357cBV9mn0isyvKMsg==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-pivot-table/-/legacy-plugin-chart-pivot-table-0.17.46.tgz", + "integrity": "sha512-1lOb39pxCHb5pEvrFAZJEKK0iXbtQFriM1MAoBecFmhNSVZaRkScZ8A9WlSkSWLUfMQ4iJBPR6D+c9PdwG+Xjg==", "dependencies": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "datatables.net-bs": "^1.10.15", "prop-types": "^15.6.2" } }, "node_modules/@superset-ui/legacy-plugin-chart-rose": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-rose/-/legacy-plugin-chart-rose-0.17.42.tgz", - "integrity": "sha512-7DQt8NV8pQeosvGxBalxcJKEmTtdd++RfdCqW7DFceC6Z3wcXFlloTzgeN3pnJ4EeE1PYENuSaJrEcxi9ZYepw==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-rose/-/legacy-plugin-chart-rose-0.17.46.tgz", + "integrity": "sha512-APuoymYlJ0I6AMKOea7ipmKtO31LGcxf/4oaNVEqgj8bSDdJyLbG7SzNAnPsfriKgV99+eJlu3IVNWmdaIOIeA==", "dependencies": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "nvd3": "1.8.6", "prop-types": "^15.6.2" @@ -14559,12 +14559,12 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-sankey": { - "version": "0.17.43", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sankey/-/legacy-plugin-chart-sankey-0.17.43.tgz", - "integrity": "sha512-+Gx65t0S7MY9kFECgrEp2SED1KljhIQZdkk5JdCWwQ2BwwMOnMhFznLqMAUcTPcFRiPyIXOuMkKR7Ob15R4BGQ==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sankey/-/legacy-plugin-chart-sankey-0.17.46.tgz", + "integrity": "sha512-SAZX5sLP6qF+RUnDjFjw6WMjp5r5BR1lIztAcJ+PE9e5L0MT0y2yeECwqbRe5EzL3ZLhfuFb3KWc88Lwoa9dJA==", "dependencies": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "d3-sankey": "^0.4.2", "prop-types": "^15.6.2" @@ -14574,47 +14574,47 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-sankey-loop": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sankey-loop/-/legacy-plugin-chart-sankey-loop-0.17.42.tgz", - "integrity": "sha512-SGbwyaU0Av+RKx+9S7BLE7CVLoe25AIYW92VkIkmbGkwvzpQwcgP4wv6k56YyTZu17AcLgx8MZjYiH+0aKPq8A==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sankey-loop/-/legacy-plugin-chart-sankey-loop-0.17.46.tgz", + "integrity": "sha512-MAUq7SFw+y3/XgiBDWlNbYQQZdt6JjL5Ktz+k2Ah4ozarIg04FszY0jn5A97M9miy0DPBMA7dBRzY/Hth3dTbw==", "dependencies": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3-sankey-diagram": "^0.7.3", "d3-selection": "^1.4.0", "prop-types": "^15.6.2" } }, "node_modules/@superset-ui/legacy-plugin-chart-sunburst": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sunburst/-/legacy-plugin-chart-sunburst-0.17.42.tgz", - "integrity": "sha512-1RYodLsnQvUavoN7S8twWy5M0HnRsS3sbLwRQfFOfnVqB/jVTVfYdT/alUtAa5MbTj5kNaUVSXEYYWDFbU8GqQ==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sunburst/-/legacy-plugin-chart-sunburst-0.17.46.tgz", + "integrity": "sha512-CThIEb+RZKGkt0gOdCv6CSmBF6vxbNZZNn5tpIsA99jnYJj8xLxDXHcNEyCGpESuCxeYBep6YKiphlSJjKgmVw==", "dependencies": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "prop-types": "^15.6.2" } }, "node_modules/@superset-ui/legacy-plugin-chart-treemap": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-treemap/-/legacy-plugin-chart-treemap-0.17.42.tgz", - "integrity": "sha512-3mIRHLoIxdlNtQnEGpy/qeaqjLXFk43t+xWWfCJEpDg8jljyhSYBwPZ2/ptpK1itJuB7XXAIO+3R1ZXoWcpGCQ==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-treemap/-/legacy-plugin-chart-treemap-0.17.46.tgz", + "integrity": "sha512-7q/q0cp8y6NwD2rHgZAIhLDwS5GxepyAIKc5ZgMhU3++7pGf5lxjCNI1AyJsh1X1OJ13rNNkwtBhS4IowVGrkA==", "dependencies": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3-hierarchy": "^1.1.8", "d3-selection": "^1.4.0", "prop-types": "^15.6.2" } }, "node_modules/@superset-ui/legacy-plugin-chart-world-map": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-world-map/-/legacy-plugin-chart-world-map-0.17.42.tgz", - "integrity": "sha512-tNL2+JrG93ZKsoaGg4bUqBZiO3JMtTACQJkaVLZ3xu4e4mvoU+5OtGTGvi5GPm0/iy4Q8DZlAIexIqa/klL/Hg==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-world-map/-/legacy-plugin-chart-world-map-0.17.46.tgz", + "integrity": "sha512-ZnXeFOkk2TKmi+u5r9aNSbz/HJnEqNfkPP7DsGva8iAMi6SWwX0grjLwmvBmEHmqLsdmbo0NCrT9x0++OE3UKg==", "dependencies": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "d3-array": "^2.4.0", "d3-color": "^1.4.1", @@ -14639,13 +14639,13 @@ "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==" }, "node_modules/@superset-ui/legacy-preset-chart-big-number": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-big-number/-/legacy-preset-chart-big-number-0.17.42.tgz", - "integrity": "sha512-S68QdJHVasepCZiog4I0YoJ8MmxPDafq8LkXjCI4npQSPQGR0Hv+U98JMRdJIrUZRw8TwjV3csHuF8Cm+MWRhQ==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-big-number/-/legacy-preset-chart-big-number-0.17.46.tgz", + "integrity": "sha512-Ngq+wQcNEmhd8jZYMEoztq8ty5J+fAXAn5BpJ9+WBeUaKa/f/V57TJpzTiEtFEYes2Kf+TeXQK4dmwpIkprqEw==", "dependencies": { "@data-ui/xy-chart": "^0.0.84", - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "@types/d3-color": "^1.2.2", "@types/shortid": "^0.0.29", "d3-color": "^1.2.3", @@ -14681,13 +14681,13 @@ } }, "node_modules/@superset-ui/legacy-preset-chart-nvd3": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-nvd3/-/legacy-preset-chart-nvd3-0.17.42.tgz", - "integrity": "sha512-LY+VKelhfZOHdGmX7VwfdxcafanrJRw99RHKyzatKuMWz5mvOTYODFlqYuieg11CGNrkJK8HbSspeVHix5Ve+Q==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-nvd3/-/legacy-preset-chart-nvd3-0.17.46.tgz", + "integrity": "sha512-JuaZ3AyqerAyqILQjgVybYgUioDOcO5CR5HYkkOesFETETubeT9pkpp8Qc3fMLl2jPzJ3CCSJ9qgSh2QMlOi1A==", "dependencies": { "@data-ui/xy-chart": "^0.0.84", - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "d3-tip": "^0.9.1", "dompurify": "^2.0.6", @@ -14704,12 +14704,12 @@ } }, "node_modules/@superset-ui/plugin-chart-echarts": { - "version": "0.17.44", - "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-echarts/-/plugin-chart-echarts-0.17.44.tgz", - "integrity": "sha512-V4DK6IgjWtAx0m8NDAwSwExDqoJCUoakiT4fhuYNDsJtNkRmWRFe7ZtZTzCi5r0UT1db4yCzKw4lrzonTI7Nbw==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-echarts/-/plugin-chart-echarts-0.17.46.tgz", + "integrity": "sha512-i84yi0igie2+Rc3/VSCoYJ9kOBW7hj8WN8E4u99vi4nAEsNhOm3EKn6chWMN+K0pMYYUpZqlmoX6kxN4UTzgYQ==", "dependencies": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "@types/mathjs": "^6.0.7", "d3-array": "^1.2.0", "echarts": "^5.1.1", @@ -14721,12 +14721,12 @@ } }, "node_modules/@superset-ui/plugin-chart-pivot-table": { - "version": "0.17.44", - "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-pivot-table/-/plugin-chart-pivot-table-0.17.44.tgz", - "integrity": "sha512-UIoBzh8ayhMjhIYUS/mvhl6nAHRhJKAwINRtH59IHSJJCnQv0KksY+6wbCtxdD0h9HMd7WXGe26p85UiR0Kz7Q==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-pivot-table/-/plugin-chart-pivot-table-0.17.46.tgz", + "integrity": "sha512-VfcCu7lcNGvbJ+IG/36ZWhzoKbhG6GiTKjpIUSa82qV/maeJcetVvH5vmXjVtLwsAKYxR+nkeCgZ5pSjQEhP7Q==", "dependencies": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "@superset-ui/react-pivottable": "^0.12.6" }, "peerDependencies": { @@ -14734,12 +14734,12 @@ } }, "node_modules/@superset-ui/plugin-chart-table": { - "version": "0.17.44", - "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-table/-/plugin-chart-table-0.17.44.tgz", - "integrity": "sha512-kUoGcSV1PNhVVstGhOc/lYqrp41v3mLObqv04gea1fYnFaNVqONIvZbNhvHrKDXtDqxUDimmVNEoy3y8HC/DxQ==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-table/-/plugin-chart-table-0.17.46.tgz", + "integrity": "sha512-MPVpr/khpWlWDerjgxuLiXQ09V/PufLcqIW9f1ml3cbqDSvnfe7nEk+jqZJS5ICMVovkmO7NcBEQe4u4A9R2IA==", "dependencies": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "@types/d3-array": "^2.9.0", "@types/react-table": "^7.0.29", "d3-array": "^2.4.0", @@ -14765,12 +14765,12 @@ } }, "node_modules/@superset-ui/plugin-chart-word-cloud": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-word-cloud/-/plugin-chart-word-cloud-0.17.42.tgz", - "integrity": "sha512-vpdux0f6fcGjZxD/rm5TE8UUZ3+RbWQPQYaSTP8QgL3W4F+x6bFeWO6fyxSjSCrk98bAN8CnkUTmCG446MHKFw==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-word-cloud/-/plugin-chart-word-cloud-0.17.46.tgz", + "integrity": "sha512-Oo/EDvQpKDH/jhJyenmW0Ma0dmmBN5nONDf/RaEEnJq2RDDLk+I4v8p/r0Yj4NrE5S4TwBIH4FTKceqlOA2QmQ==", "dependencies": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "@types/d3-cloud": "^1.2.1", "@types/d3-scale": "^2.0.2", "d3-cloud": "^1.2.5", @@ -14803,14 +14803,14 @@ } }, "node_modules/@superset-ui/preset-chart-xy": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/preset-chart-xy/-/preset-chart-xy-0.17.42.tgz", - "integrity": "sha512-P01amEcYyIRCGp3bqT/5IdD2qOBGInB2uAuuKFcYLNoeGRIOwcQC0dqHAPabO8o20ELP4JqyTxu21I6JN0ojAA==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/preset-chart-xy/-/preset-chart-xy-0.17.46.tgz", + "integrity": "sha512-xCFL+WNgHAxl81+DEQzMQjSSGVasPgeOt1+0nLN3msNW82xuQplabAgPjKgryTerb7PVLAc2XqtjRLdOWGY5IQ==", "dependencies": { "@data-ui/theme": "^0.0.84", "@data-ui/xy-chart": "^0.0.84", - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "@vx/axis": "^0.0.198", "@vx/legend": "^0.0.198", "@vx/scale": "^0.0.197", @@ -66366,19 +66366,19 @@ } }, "@superset-ui/chart-controls": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.17.42.tgz", - "integrity": "sha512-+b9TNyBB0RLBXI9gETwKsCaC/P8kzZGAV+Yj4nthtV0kiE40VsXjua6IwujukbESSJMNi6yk/V+E0ncE3pausA==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.17.46.tgz", + "integrity": "sha512-6ziG3iu5OllXV/IrWO+/wOZO4rZIv4Z0RQUzOppI0beayBv7WYfEUPRAfzbVnTTg9UzjOd3M45VKI2z8btty+Q==", "requires": { - "@superset-ui/core": "0.17.42", + "@superset-ui/core": "0.17.46", "lodash": "^4.17.15", "prop-types": "^15.7.2" } }, "@superset-ui/core": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/core/-/core-0.17.42.tgz", - "integrity": "sha512-bZMSoVhuz71RabMHi4qx5k3EFnCFkMoYkA08g6vxgqh+ObvR/KL8tWBEHRxrcEBZIiBBLxWMDuSSKVpCUO4lbg==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/core/-/core-0.17.46.tgz", + "integrity": "sha512-bmwmsa8B06QpY1VZP4MNpSe9vNRJ8IqexHpn1WPNvFyO8dEMvwmFMw21kuvoTFqN08EzUw6IvhntqDzZaj60nQ==", "requires": { "@babel/runtime": "^7.1.2", "@emotion/cache": "^11.1.3", @@ -66490,12 +66490,12 @@ } }, "@superset-ui/legacy-plugin-chart-calendar": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-calendar/-/legacy-plugin-chart-calendar-0.17.42.tgz", - "integrity": "sha512-Qmv6X3TsnNggYahThq9sTC5OLMX7/0mpfRNU2MJlDxIAa8jGkSrHoJb3zcmCb8qTW6vy5UacwW34VoRgB9PI8w==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-calendar/-/legacy-plugin-chart-calendar-0.17.46.tgz", + "integrity": "sha512-doyNWL12nyKHaM3bdGallWq+snxzEuH4kqNGrTDImvI6GVRu7Jw7CcbwOnpoIH2EPkfbWIzY+DmRrPosqyAtRQ==", "requires": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3-array": "^2.0.3", "d3-selection": "^1.4.0", "d3-tip": "^0.9.1", @@ -66513,24 +66513,24 @@ } }, "@superset-ui/legacy-plugin-chart-chord": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-chord/-/legacy-plugin-chart-chord-0.17.42.tgz", - "integrity": "sha512-2TpEI1vTVT6mZSNKLNK26sUbsiaG+K5CAAkoZXzNv+FUbACdTTdvjsT5WdQY3Kc4qDUIcZiqUmT+nsfYVXcimQ==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-chord/-/legacy-plugin-chart-chord-0.17.46.tgz", + "integrity": "sha512-MVefW3wKHurjPfnTqOMR9DRtC1a6UI8sUK70LkfS/wpV7rpxNLNmzg3JceSGVWFgjyVkKfrRMpxj0BqatH6j1A==", "requires": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "prop-types": "^15.6.2", "react": "^16.13.1" } }, "@superset-ui/legacy-plugin-chart-country-map": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-country-map/-/legacy-plugin-chart-country-map-0.17.42.tgz", - "integrity": "sha512-za+lIEDPA/uL8RfelCKiUxMC+1L/KJZOgvdcAkWyJ+oKfNMmCQubOsQYryRXiuLnz3MpveN01/cK2jhltpia7Q==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-country-map/-/legacy-plugin-chart-country-map-0.17.46.tgz", + "integrity": "sha512-MTSK6tRwHBHUVlikWCcZXsN0zkwV00c23SF7eA9bsFverwWemPitA/YA93+M2NlDyIC/7Edss4wWHVqSgBAUHA==", "requires": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "d3-array": "^2.0.3", "prop-types": "^15.6.2" @@ -66547,34 +66547,34 @@ } }, "@superset-ui/legacy-plugin-chart-event-flow": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-event-flow/-/legacy-plugin-chart-event-flow-0.17.42.tgz", - "integrity": "sha512-XLnp3L03VWgi7+5XawSPjWGOykZs7XX18QLoiZW5GlsO8t4Yh3mA5uTb/e+BAJYOEKgz4Mca0t7s2MxNdBnPQg==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-event-flow/-/legacy-plugin-chart-event-flow-0.17.46.tgz", + "integrity": "sha512-cOF7mr0F45cMMeCBTljRiOt7VQaYpUSbtvK16ZFaCl5gES7NGFwZI/LiqKwA1odw8G98ZjsbRmsfNok4o+zGxQ==", "requires": { "@data-ui/event-flow": "^0.0.84", - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "prop-types": "^15.6.2" } }, "@superset-ui/legacy-plugin-chart-force-directed": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-force-directed/-/legacy-plugin-chart-force-directed-0.17.42.tgz", - "integrity": "sha512-NqW9N4zZ+3ZuWq3kOlPWhHZ4aAacpsz1Bs4Oi/WBGTeIyzV4QrTtAeXh+ToQWlPUaOgXJmbT5FlP9ZJuvpf+nQ==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-force-directed/-/legacy-plugin-chart-force-directed-0.17.46.tgz", + "integrity": "sha512-7iVMDB/uAVvFmP7FZ37nSKGdIBcb/ERQZLwx42hVJeZCRboJQgu+LrlAIcnaV4svssG1/E9Y+wFNosL2nRwABw==", "requires": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "prop-types": "^15.7.2" } }, "@superset-ui/legacy-plugin-chart-heatmap": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-heatmap/-/legacy-plugin-chart-heatmap-0.17.42.tgz", - "integrity": "sha512-xkPKqtSXi/y27OSbi0xQlVi/+aQhjBa6mIv4VoWbUq3A416IdJXCIGbTSNjrtY0DzUVlsLOvN9Cma52XQ7j9eg==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-heatmap/-/legacy-plugin-chart-heatmap-0.17.46.tgz", + "integrity": "sha512-PG9oMYdsiYumeCEfXSz/vJHjQacYaMTHW/sbMS5iD/HWVYyKhu29WlBWwL3hlU995Fa7q0khxpNblVOo43QNxw==", "requires": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "d3-svg-legend": "^1.x", "d3-tip": "^0.9.1", @@ -66582,14 +66582,14 @@ } }, "@superset-ui/legacy-plugin-chart-histogram": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-histogram/-/legacy-plugin-chart-histogram-0.17.42.tgz", - "integrity": "sha512-WN/7DORzAjOZqvguC8sf72DfU27S4NHDQi4qqzNFrVJvkEho3IiBST8PcJqOag3Nv9CdZsPafk5hL15YtP0HHA==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-histogram/-/legacy-plugin-chart-histogram-0.17.46.tgz", + "integrity": "sha512-p9odB5JTf8SU1QCYNt0wyOxVVPTrZtE+Ak00E/nX9xA59Py4OjXWL1mx/lHz4WoLMx9P6bO9Jlhc2W4hcXJa8Q==", "requires": { "@data-ui/histogram": "^0.0.84", "@data-ui/theme": "^0.0.84", - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "@vx/legend": "^0.0.198", "@vx/responsive": "^0.0.199", "@vx/scale": "^0.0.197", @@ -66657,12 +66657,12 @@ } }, "@superset-ui/legacy-plugin-chart-horizon": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-horizon/-/legacy-plugin-chart-horizon-0.17.42.tgz", - "integrity": "sha512-M5MF+SQPjkeoPqnZHK0UMDZOEltx5N15VHODTldyPct5a2iFFzwvdanI7Xg9UJHjEGzVtqISoUa1ONUo+HfL5Q==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-horizon/-/legacy-plugin-chart-horizon-0.17.46.tgz", + "integrity": "sha512-bTmI6K/8DlWl3u5N7sHv1r5YRL/6CeZl+WOvgJHbss4gEEe1uL6w6UEbjq/oORjG/DstdMLo8Ub+n+6PtQQr2Q==", "requires": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3-array": "^2.0.3", "d3-scale": "^3.0.1", "prop-types": "^15.6.2" @@ -66691,12 +66691,12 @@ } }, "@superset-ui/legacy-plugin-chart-map-box": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-map-box/-/legacy-plugin-chart-map-box-0.17.42.tgz", - "integrity": "sha512-nj4KRVgIxHb7kJi9Y14VJH5fA2DleK8T9qUqGPUCZd490XUPrXHs+ErbfSZMMHVf3AiW0LResSEjQdHJ98d+Vw==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-map-box/-/legacy-plugin-chart-map-box-0.17.46.tgz", + "integrity": "sha512-9nuPUh0+MtRuR3lICVsQeapy++oiWWYxxo8nkgPvZ1AtHq/BLd+ylC85heL9GuGBG15XksfENuy+0n9iWEMjbw==", "requires": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "immutable": "^3.8.2", "mapbox-gl": "^0.53.0", "prop-types": "^15.6.2", @@ -66713,118 +66713,118 @@ } }, "@superset-ui/legacy-plugin-chart-paired-t-test": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-paired-t-test/-/legacy-plugin-chart-paired-t-test-0.17.42.tgz", - "integrity": "sha512-a0wDoLK7oq6o7hLTdE9T/IuVlLGGMPGFjE8uPnnNTWhNO7pxZNyejhfd6Rz/SFVDNsY7ongy7ikun7ntjjjS9Q==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-paired-t-test/-/legacy-plugin-chart-paired-t-test-0.17.46.tgz", + "integrity": "sha512-kqpv8aGnqNmrXPU59E6ahZDgAmNG0O2k8dXYbOf0rzqHvYIiR8ZC/OwRaadi4btcH/eDuDrcfRLeIWE1LCNS2A==", "requires": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "distributions": "^1.0.0", "prop-types": "^15.6.2", "reactable": "^1.1.0" } }, "@superset-ui/legacy-plugin-chart-parallel-coordinates": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-parallel-coordinates/-/legacy-plugin-chart-parallel-coordinates-0.17.42.tgz", - "integrity": "sha512-/jxKxfExDnGFzOzK4sWX7/rfis29LtOiMDgmMzPj4LGQYyjX1nPhQSWYviJh3yIIZDr8Fo/a9/cVprYbZscSuQ==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-parallel-coordinates/-/legacy-plugin-chart-parallel-coordinates-0.17.46.tgz", + "integrity": "sha512-zDPPEF1xsl8js0YNJcnRjjALaULtFaufFjnyyOeSTULOsNSpl2tBoPHxSfwoJn6zD5/RoRP5HV1XTS5Kqjj48A==", "requires": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "prop-types": "^15.7.2" } }, "@superset-ui/legacy-plugin-chart-partition": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-partition/-/legacy-plugin-chart-partition-0.17.42.tgz", - "integrity": "sha512-1wTVRoVnHAC4Am45bAE2Yn7qdnhR2VPyLqP1wUnDq43beJFKqHvq51T9j5dvBJlnRqYPENuEJC5QEEBAESIr+w==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-partition/-/legacy-plugin-chart-partition-0.17.46.tgz", + "integrity": "sha512-LUPnGJFY6DAmkaD96i/rer+0J9B1hy8mtj2gifhpJHxjEU8mEaCmiJHJklBzwGOuIe7uZBJua+IP9ST3bbi6vA==", "requires": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "d3-hierarchy": "^1.1.8", "prop-types": "^15.6.2" } }, "@superset-ui/legacy-plugin-chart-pivot-table": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-pivot-table/-/legacy-plugin-chart-pivot-table-0.17.42.tgz", - "integrity": "sha512-6FLic7uzKA89hKqXnkxQsEdUliVdmlrvP/7AGNBXDtOCkk8KWdLqOU/0ODNNSzJOLpgz357cBV9mn0isyvKMsg==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-pivot-table/-/legacy-plugin-chart-pivot-table-0.17.46.tgz", + "integrity": "sha512-1lOb39pxCHb5pEvrFAZJEKK0iXbtQFriM1MAoBecFmhNSVZaRkScZ8A9WlSkSWLUfMQ4iJBPR6D+c9PdwG+Xjg==", "requires": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "datatables.net-bs": "^1.10.15", "prop-types": "^15.6.2" } }, "@superset-ui/legacy-plugin-chart-rose": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-rose/-/legacy-plugin-chart-rose-0.17.42.tgz", - "integrity": "sha512-7DQt8NV8pQeosvGxBalxcJKEmTtdd++RfdCqW7DFceC6Z3wcXFlloTzgeN3pnJ4EeE1PYENuSaJrEcxi9ZYepw==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-rose/-/legacy-plugin-chart-rose-0.17.46.tgz", + "integrity": "sha512-APuoymYlJ0I6AMKOea7ipmKtO31LGcxf/4oaNVEqgj8bSDdJyLbG7SzNAnPsfriKgV99+eJlu3IVNWmdaIOIeA==", "requires": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "nvd3": "1.8.6", "prop-types": "^15.6.2" } }, "@superset-ui/legacy-plugin-chart-sankey": { - "version": "0.17.43", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sankey/-/legacy-plugin-chart-sankey-0.17.43.tgz", - "integrity": "sha512-+Gx65t0S7MY9kFECgrEp2SED1KljhIQZdkk5JdCWwQ2BwwMOnMhFznLqMAUcTPcFRiPyIXOuMkKR7Ob15R4BGQ==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sankey/-/legacy-plugin-chart-sankey-0.17.46.tgz", + "integrity": "sha512-SAZX5sLP6qF+RUnDjFjw6WMjp5r5BR1lIztAcJ+PE9e5L0MT0y2yeECwqbRe5EzL3ZLhfuFb3KWc88Lwoa9dJA==", "requires": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "d3-sankey": "^0.4.2", "prop-types": "^15.6.2" } }, "@superset-ui/legacy-plugin-chart-sankey-loop": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sankey-loop/-/legacy-plugin-chart-sankey-loop-0.17.42.tgz", - "integrity": "sha512-SGbwyaU0Av+RKx+9S7BLE7CVLoe25AIYW92VkIkmbGkwvzpQwcgP4wv6k56YyTZu17AcLgx8MZjYiH+0aKPq8A==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sankey-loop/-/legacy-plugin-chart-sankey-loop-0.17.46.tgz", + "integrity": "sha512-MAUq7SFw+y3/XgiBDWlNbYQQZdt6JjL5Ktz+k2Ah4ozarIg04FszY0jn5A97M9miy0DPBMA7dBRzY/Hth3dTbw==", "requires": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3-sankey-diagram": "^0.7.3", "d3-selection": "^1.4.0", "prop-types": "^15.6.2" } }, "@superset-ui/legacy-plugin-chart-sunburst": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sunburst/-/legacy-plugin-chart-sunburst-0.17.42.tgz", - "integrity": "sha512-1RYodLsnQvUavoN7S8twWy5M0HnRsS3sbLwRQfFOfnVqB/jVTVfYdT/alUtAa5MbTj5kNaUVSXEYYWDFbU8GqQ==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sunburst/-/legacy-plugin-chart-sunburst-0.17.46.tgz", + "integrity": "sha512-CThIEb+RZKGkt0gOdCv6CSmBF6vxbNZZNn5tpIsA99jnYJj8xLxDXHcNEyCGpESuCxeYBep6YKiphlSJjKgmVw==", "requires": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "prop-types": "^15.6.2" } }, "@superset-ui/legacy-plugin-chart-treemap": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-treemap/-/legacy-plugin-chart-treemap-0.17.42.tgz", - "integrity": "sha512-3mIRHLoIxdlNtQnEGpy/qeaqjLXFk43t+xWWfCJEpDg8jljyhSYBwPZ2/ptpK1itJuB7XXAIO+3R1ZXoWcpGCQ==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-treemap/-/legacy-plugin-chart-treemap-0.17.46.tgz", + "integrity": "sha512-7q/q0cp8y6NwD2rHgZAIhLDwS5GxepyAIKc5ZgMhU3++7pGf5lxjCNI1AyJsh1X1OJ13rNNkwtBhS4IowVGrkA==", "requires": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3-hierarchy": "^1.1.8", "d3-selection": "^1.4.0", "prop-types": "^15.6.2" } }, "@superset-ui/legacy-plugin-chart-world-map": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-world-map/-/legacy-plugin-chart-world-map-0.17.42.tgz", - "integrity": "sha512-tNL2+JrG93ZKsoaGg4bUqBZiO3JMtTACQJkaVLZ3xu4e4mvoU+5OtGTGvi5GPm0/iy4Q8DZlAIexIqa/klL/Hg==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-world-map/-/legacy-plugin-chart-world-map-0.17.46.tgz", + "integrity": "sha512-ZnXeFOkk2TKmi+u5r9aNSbz/HJnEqNfkPP7DsGva8iAMi6SWwX0grjLwmvBmEHmqLsdmbo0NCrT9x0++OE3UKg==", "requires": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "d3-array": "^2.4.0", "d3-color": "^1.4.1", @@ -66848,13 +66848,13 @@ } }, "@superset-ui/legacy-preset-chart-big-number": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-big-number/-/legacy-preset-chart-big-number-0.17.42.tgz", - "integrity": "sha512-S68QdJHVasepCZiog4I0YoJ8MmxPDafq8LkXjCI4npQSPQGR0Hv+U98JMRdJIrUZRw8TwjV3csHuF8Cm+MWRhQ==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-big-number/-/legacy-preset-chart-big-number-0.17.46.tgz", + "integrity": "sha512-Ngq+wQcNEmhd8jZYMEoztq8ty5J+fAXAn5BpJ9+WBeUaKa/f/V57TJpzTiEtFEYes2Kf+TeXQK4dmwpIkprqEw==", "requires": { "@data-ui/xy-chart": "^0.0.84", - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "@types/d3-color": "^1.2.2", "@types/shortid": "^0.0.29", "d3-color": "^1.2.3", @@ -66887,13 +66887,13 @@ } }, "@superset-ui/legacy-preset-chart-nvd3": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-nvd3/-/legacy-preset-chart-nvd3-0.17.42.tgz", - "integrity": "sha512-LY+VKelhfZOHdGmX7VwfdxcafanrJRw99RHKyzatKuMWz5mvOTYODFlqYuieg11CGNrkJK8HbSspeVHix5Ve+Q==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-nvd3/-/legacy-preset-chart-nvd3-0.17.46.tgz", + "integrity": "sha512-JuaZ3AyqerAyqILQjgVybYgUioDOcO5CR5HYkkOesFETETubeT9pkpp8Qc3fMLl2jPzJ3CCSJ9qgSh2QMlOi1A==", "requires": { "@data-ui/xy-chart": "^0.0.84", - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "d3": "^3.5.17", "d3-tip": "^0.9.1", "dompurify": "^2.0.6", @@ -66907,12 +66907,12 @@ } }, "@superset-ui/plugin-chart-echarts": { - "version": "0.17.44", - "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-echarts/-/plugin-chart-echarts-0.17.44.tgz", - "integrity": "sha512-V4DK6IgjWtAx0m8NDAwSwExDqoJCUoakiT4fhuYNDsJtNkRmWRFe7ZtZTzCi5r0UT1db4yCzKw4lrzonTI7Nbw==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-echarts/-/plugin-chart-echarts-0.17.46.tgz", + "integrity": "sha512-i84yi0igie2+Rc3/VSCoYJ9kOBW7hj8WN8E4u99vi4nAEsNhOm3EKn6chWMN+K0pMYYUpZqlmoX6kxN4UTzgYQ==", "requires": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "@types/mathjs": "^6.0.7", "d3-array": "^1.2.0", "echarts": "^5.1.1", @@ -66921,22 +66921,22 @@ } }, "@superset-ui/plugin-chart-pivot-table": { - "version": "0.17.44", - "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-pivot-table/-/plugin-chart-pivot-table-0.17.44.tgz", - "integrity": "sha512-UIoBzh8ayhMjhIYUS/mvhl6nAHRhJKAwINRtH59IHSJJCnQv0KksY+6wbCtxdD0h9HMd7WXGe26p85UiR0Kz7Q==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-pivot-table/-/plugin-chart-pivot-table-0.17.46.tgz", + "integrity": "sha512-VfcCu7lcNGvbJ+IG/36ZWhzoKbhG6GiTKjpIUSa82qV/maeJcetVvH5vmXjVtLwsAKYxR+nkeCgZ5pSjQEhP7Q==", "requires": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "@superset-ui/react-pivottable": "^0.12.6" } }, "@superset-ui/plugin-chart-table": { - "version": "0.17.44", - "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-table/-/plugin-chart-table-0.17.44.tgz", - "integrity": "sha512-kUoGcSV1PNhVVstGhOc/lYqrp41v3mLObqv04gea1fYnFaNVqONIvZbNhvHrKDXtDqxUDimmVNEoy3y8HC/DxQ==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-table/-/plugin-chart-table-0.17.46.tgz", + "integrity": "sha512-MPVpr/khpWlWDerjgxuLiXQ09V/PufLcqIW9f1ml3cbqDSvnfe7nEk+jqZJS5ICMVovkmO7NcBEQe4u4A9R2IA==", "requires": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "@types/d3-array": "^2.9.0", "@types/react-table": "^7.0.29", "d3-array": "^2.4.0", @@ -66958,12 +66958,12 @@ } }, "@superset-ui/plugin-chart-word-cloud": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-word-cloud/-/plugin-chart-word-cloud-0.17.42.tgz", - "integrity": "sha512-vpdux0f6fcGjZxD/rm5TE8UUZ3+RbWQPQYaSTP8QgL3W4F+x6bFeWO6fyxSjSCrk98bAN8CnkUTmCG446MHKFw==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-word-cloud/-/plugin-chart-word-cloud-0.17.46.tgz", + "integrity": "sha512-Oo/EDvQpKDH/jhJyenmW0Ma0dmmBN5nONDf/RaEEnJq2RDDLk+I4v8p/r0Yj4NrE5S4TwBIH4FTKceqlOA2QmQ==", "requires": { - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "@types/d3-cloud": "^1.2.1", "@types/d3-scale": "^2.0.2", "d3-cloud": "^1.2.5", @@ -66994,14 +66994,14 @@ } }, "@superset-ui/preset-chart-xy": { - "version": "0.17.42", - "resolved": "https://registry.npmjs.org/@superset-ui/preset-chart-xy/-/preset-chart-xy-0.17.42.tgz", - "integrity": "sha512-P01amEcYyIRCGp3bqT/5IdD2qOBGInB2uAuuKFcYLNoeGRIOwcQC0dqHAPabO8o20ELP4JqyTxu21I6JN0ojAA==", + "version": "0.17.46", + "resolved": "https://registry.npmjs.org/@superset-ui/preset-chart-xy/-/preset-chart-xy-0.17.46.tgz", + "integrity": "sha512-xCFL+WNgHAxl81+DEQzMQjSSGVasPgeOt1+0nLN3msNW82xuQplabAgPjKgryTerb7PVLAc2XqtjRLdOWGY5IQ==", "requires": { "@data-ui/theme": "^0.0.84", "@data-ui/xy-chart": "^0.0.84", - "@superset-ui/chart-controls": "0.17.42", - "@superset-ui/core": "0.17.42", + "@superset-ui/chart-controls": "0.17.46", + "@superset-ui/core": "0.17.46", "@vx/axis": "^0.0.198", "@vx/legend": "^0.0.198", "@vx/scale": "^0.0.197", diff --git a/superset-frontend/package.json b/superset-frontend/package.json index 2750cdea9a075..5f8638a9c53d4 100644 --- a/superset-frontend/package.json +++ b/superset-frontend/package.json @@ -67,35 +67,35 @@ "@emotion/babel-preset-css-prop": "^11.2.0", "@emotion/cache": "^11.1.3", "@emotion/react": "^11.1.5", - "@superset-ui/chart-controls": "^0.17.42", - "@superset-ui/core": "^0.17.42", - "@superset-ui/legacy-plugin-chart-calendar": "^0.17.42", - "@superset-ui/legacy-plugin-chart-chord": "^0.17.42", - "@superset-ui/legacy-plugin-chart-country-map": "^0.17.42", - "@superset-ui/legacy-plugin-chart-event-flow": "^0.17.42", - "@superset-ui/legacy-plugin-chart-force-directed": "^0.17.42", - "@superset-ui/legacy-plugin-chart-heatmap": "^0.17.42", - "@superset-ui/legacy-plugin-chart-histogram": "^0.17.42", - "@superset-ui/legacy-plugin-chart-horizon": "^0.17.42", - "@superset-ui/legacy-plugin-chart-map-box": "^0.17.42", - "@superset-ui/legacy-plugin-chart-paired-t-test": "^0.17.42", - "@superset-ui/legacy-plugin-chart-parallel-coordinates": "^0.17.42", - "@superset-ui/legacy-plugin-chart-partition": "^0.17.42", - "@superset-ui/legacy-plugin-chart-pivot-table": "^0.17.42", - "@superset-ui/legacy-plugin-chart-rose": "^0.17.42", - "@superset-ui/legacy-plugin-chart-sankey": "^0.17.43", - "@superset-ui/legacy-plugin-chart-sankey-loop": "^0.17.42", - "@superset-ui/legacy-plugin-chart-sunburst": "^0.17.42", - "@superset-ui/legacy-plugin-chart-treemap": "^0.17.42", - "@superset-ui/legacy-plugin-chart-world-map": "^0.17.42", - "@superset-ui/legacy-preset-chart-big-number": "^0.17.42", + "@superset-ui/chart-controls": "^0.17.46", + "@superset-ui/core": "^0.17.46", + "@superset-ui/legacy-plugin-chart-calendar": "0.17.46", + "@superset-ui/legacy-plugin-chart-chord": "0.17.46", + "@superset-ui/legacy-plugin-chart-country-map": "0.17.46", + "@superset-ui/legacy-plugin-chart-event-flow": "0.17.46", + "@superset-ui/legacy-plugin-chart-force-directed": "0.17.46", + "@superset-ui/legacy-plugin-chart-heatmap": "0.17.46", + "@superset-ui/legacy-plugin-chart-histogram": "0.17.46", + "@superset-ui/legacy-plugin-chart-horizon": "0.17.46", + "@superset-ui/legacy-plugin-chart-map-box": "0.17.46", + "@superset-ui/legacy-plugin-chart-paired-t-test": "0.17.46", + "@superset-ui/legacy-plugin-chart-parallel-coordinates": "0.17.46", + "@superset-ui/legacy-plugin-chart-partition": "0.17.46", + "@superset-ui/legacy-plugin-chart-pivot-table": "0.17.46", + "@superset-ui/legacy-plugin-chart-rose": "0.17.46", + "@superset-ui/legacy-plugin-chart-sankey": "^0.17.46", + "@superset-ui/legacy-plugin-chart-sankey-loop": "0.17.46", + "@superset-ui/legacy-plugin-chart-sunburst": "0.17.46", + "@superset-ui/legacy-plugin-chart-treemap": "0.17.46", + "@superset-ui/legacy-plugin-chart-world-map": "0.17.46", + "@superset-ui/legacy-preset-chart-big-number": "0.17.46", "@superset-ui/legacy-preset-chart-deckgl": "^0.4.6", - "@superset-ui/legacy-preset-chart-nvd3": "^0.17.42", - "@superset-ui/plugin-chart-echarts": "^0.17.44", - "@superset-ui/plugin-chart-pivot-table": "^0.17.44", - "@superset-ui/plugin-chart-table": "^0.17.44", - "@superset-ui/plugin-chart-word-cloud": "^0.17.42", - "@superset-ui/preset-chart-xy": "^0.17.42", + "@superset-ui/legacy-preset-chart-nvd3": "0.17.46", + "@superset-ui/plugin-chart-echarts": "^0.17.46", + "@superset-ui/plugin-chart-pivot-table": "^0.17.46", + "@superset-ui/plugin-chart-table": "^0.17.46", + "@superset-ui/plugin-chart-word-cloud": "0.17.46", + "@superset-ui/preset-chart-xy": "0.17.46", "@vx/responsive": "^0.0.195", "abortcontroller-polyfill": "^1.1.9", "antd": "^4.9.4", diff --git a/superset-frontend/spec/javascripts/components/ColumnTypeLabel_spec.jsx b/superset-frontend/spec/javascripts/components/ColumnTypeLabel_spec.jsx index d85a165b4aac7..0bc5a26f90b20 100644 --- a/superset-frontend/spec/javascripts/components/ColumnTypeLabel_spec.jsx +++ b/superset-frontend/spec/javascripts/components/ColumnTypeLabel_spec.jsx @@ -20,10 +20,11 @@ import React from 'react'; import { shallow } from 'enzyme'; import { ColumnTypeLabel } from '@superset-ui/chart-controls'; +import { GenericDataType } from '@superset-ui/core'; describe('ColumnOption', () => { const defaultProps = { - type: 'string', + type: GenericDataType.STRING, }; const props = { ...defaultProps }; @@ -44,12 +45,16 @@ describe('ColumnOption', () => { expect(lbl.first().text()).toBe('ABC'); }); it('int type shows # icon', () => { - const lbl = getWrapper({ type: 'int(164)' }).find('.type-label'); + const lbl = getWrapper({ + type: GenericDataType.NUMERIC, + }).find('.type-label'); expect(lbl).toHaveLength(1); expect(lbl.first().text()).toBe('#'); }); it('bool type shows T/F icon', () => { - const lbl = getWrapper({ type: 'BOOL' }).find('.type-label'); + const lbl = getWrapper({ + type: GenericDataType.BOOLEAN, + }).find('.type-label'); expect(lbl).toHaveLength(1); expect(lbl.first().text()).toBe('T/F'); }); @@ -64,7 +69,9 @@ describe('ColumnOption', () => { expect(lbl.first().text()).toBe('?'); }); it('datetime type displays', () => { - const lbl = getWrapper({ type: 'datetime' }).find('.fa-clock-o'); + const lbl = getWrapper({ + type: GenericDataType.TEMPORAL, + }).find('.fa-clock-o'); expect(lbl).toHaveLength(1); }); }); diff --git a/superset-frontend/spec/javascripts/datasource/fixtures.tsx b/superset-frontend/spec/javascripts/datasource/fixtures.tsx index 955b55321ae7d..a4a893fae08fe 100644 --- a/superset-frontend/spec/javascripts/datasource/fixtures.tsx +++ b/superset-frontend/spec/javascripts/datasource/fixtures.tsx @@ -17,7 +17,7 @@ * under the License. */ import { ColumnMeta } from '@superset-ui/chart-controls'; -import { ColumnType } from '@superset-ui/core'; +import { GenericDataType } from '@superset-ui/core'; export const columns: ColumnMeta[] = [ { @@ -29,7 +29,8 @@ export const columns: ColumnMeta[] = [ id: 516, is_dttm: false, python_date_format: null, - type: ColumnType.DOUBLE, + type: 'DOUBLE', + type_generic: GenericDataType.NUMERIC, verbose_name: null, }, { @@ -42,7 +43,8 @@ export const columns: ColumnMeta[] = [ id: 477, is_dttm: false, python_date_format: null, - type: ColumnType.STRING, + type: 'VARCHAR', + type_generic: GenericDataType.STRING, verbose_name: null, }, { @@ -54,7 +56,8 @@ export const columns: ColumnMeta[] = [ id: 516, is_dttm: false, python_date_format: null, - type: ColumnType.DOUBLE, + type: 'INT', + type_generic: GenericDataType.NUMERIC, verbose_name: null, }, ]; diff --git a/superset-frontend/src/explore/components/controls/DndColumnSelectControl/DndFilterSelect.test.tsx b/superset-frontend/src/explore/components/controls/DndColumnSelectControl/DndFilterSelect.test.tsx index e1d50eb1f2add..ae88ff2aa6a92 100644 --- a/superset-frontend/src/explore/components/controls/DndColumnSelectControl/DndFilterSelect.test.tsx +++ b/superset-frontend/src/explore/components/controls/DndColumnSelectControl/DndFilterSelect.test.tsx @@ -17,13 +17,13 @@ * under the License. */ import React from 'react'; -import { ColumnType } from '@superset-ui/core'; import { render, screen } from 'spec/helpers/testing-library'; import AdhocMetric from 'src/explore/components/controls/MetricControl/AdhocMetric'; import AdhocFilter, { EXPRESSION_TYPES, } from 'src/explore/components/controls/FilterControl/AdhocFilter'; import { DndFilterSelect } from 'src/explore/components/controls/DndColumnSelectControl/DndFilterSelect'; +import { GenericDataType } from '@superset-ui/core'; const defaultProps = { name: 'Filter', @@ -63,7 +63,14 @@ test('renders options with column', () => { render( , { useDnd: true, diff --git a/superset-frontend/src/filters/components/Range/buildQuery.ts b/superset-frontend/src/filters/components/Range/buildQuery.ts index d0ed52454ed61..f43c3258b97a7 100644 --- a/superset-frontend/src/filters/components/Range/buildQuery.ts +++ b/superset-frontend/src/filters/components/Range/buildQuery.ts @@ -18,7 +18,7 @@ */ import { buildQueryContext, - ColumnType, + GenericDataType, QueryFormData, } from '@superset-ui/core'; @@ -52,7 +52,7 @@ export default function buildQuery(formData: QueryFormData) { column: { column_name: column, id: 1, - type: ColumnType.FLOAT, + type_generic: GenericDataType.NUMERIC, }, expressionType: 'SIMPLE', hasCustomLabel: true, @@ -63,7 +63,7 @@ export default function buildQuery(formData: QueryFormData) { column: { column_name: column, id: 2, - type: ColumnType.FLOAT, + type_generic: GenericDataType.NUMERIC, }, expressionType: 'SIMPLE', hasCustomLabel: true, diff --git a/superset-frontend/src/filters/components/TimeGrain/TimeGrainFilterPlugin.tsx b/superset-frontend/src/filters/components/TimeGrain/TimeGrainFilterPlugin.tsx index e2dd8e9041cc1..547fe836134db 100644 --- a/superset-frontend/src/filters/components/TimeGrain/TimeGrainFilterPlugin.tsx +++ b/superset-frontend/src/filters/components/TimeGrain/TimeGrainFilterPlugin.tsx @@ -16,7 +16,13 @@ * specific language governing permissions and limitations * under the License. */ -import { ensureIsArray, ExtraFormData, t, tn } from '@superset-ui/core'; +import { + ensureIsArray, + ExtraFormData, + t, + TimeGranularity, + tn, +} from '@superset-ui/core'; import React, { useEffect, useState } from 'react'; import { Select } from 'src/common/components'; import { Styles, StyledSelect } from '../common'; @@ -38,7 +44,7 @@ export default function PluginFilterTimegrain( const extraFormData: ExtraFormData = {}; if (timeGrain) { - extraFormData.time_grain_sqla = timeGrain; + extraFormData.time_grain_sqla = timeGrain as TimeGranularity; } setValue(resultValue); setDataMask({ diff --git a/superset/connectors/base/models.py b/superset/connectors/base/models.py index 99075bf8d5e0d..8cacab91697fa 100644 --- a/superset/connectors/base/models.py +++ b/superset/connectors/base/models.py @@ -533,6 +533,7 @@ class BaseColumn(AuditMixinNullable, ImportExportMixin): def __repr__(self) -> str: return str(self.column_name) + bool_types = ("BOOL",) num_types = ( "DOUBLE", "FLOAT", @@ -560,6 +561,22 @@ def is_temporal(self) -> bool: def is_string(self) -> bool: return self.type and any(map(lambda t: t in self.type.upper(), self.str_types)) + @property + def is_boolean(self) -> bool: + return self.type and any(map(lambda t: t in self.type.upper(), self.bool_types)) + + @property + def type_generic(self) -> Optional[utils.GenericDataType]: + if self.is_string: + return utils.GenericDataType.STRING + if self.is_boolean: + return utils.GenericDataType.BOOLEAN + if self.is_numeric: + return utils.GenericDataType.NUMERIC + if self.is_temporal: + return utils.GenericDataType.TEMPORAL + return None + @property def expression(self) -> Column: raise NotImplementedError() diff --git a/superset/connectors/sqla/models.py b/superset/connectors/sqla/models.py index a4a1547a5e85c..05202a64033ee 100644 --- a/superset/connectors/sqla/models.py +++ b/superset/connectors/sqla/models.py @@ -191,6 +191,16 @@ class TableColumn(Model, BaseColumn): update_from_object_fields = [s for s in export_fields if s not in ("table_id",)] export_parent = "table" + @property + def is_boolean(self) -> bool: + """ + Check if the column has a boolean datatype. + """ + column_spec = self.table.database.db_engine_spec.get_column_spec(self.type) + if column_spec is None: + return False + return column_spec.generic_type == GenericDataType.BOOLEAN + @property def is_numeric(self) -> bool: """ @@ -349,6 +359,7 @@ def data(self) -> Dict[str, Any]: "groupby", "is_dttm", "type", + "type_generic", "python_date_format", ) return {s: getattr(self, s) for s in attrs if hasattr(self, s)} diff --git a/superset/db_engine_specs/base.py b/superset/db_engine_specs/base.py index c60e6d70fbe1a..03e73eea5a80a 100644 --- a/superset/db_engine_specs/base.py +++ b/superset/db_engine_specs/base.py @@ -194,6 +194,12 @@ class BaseEngineSpec: # pylint: disable=too-many-public-methods types.Numeric(), GenericDataType.NUMERIC, ), + (re.compile(r"^float", re.IGNORECASE), types.Float(), GenericDataType.NUMERIC,), + ( + re.compile(r"^double", re.IGNORECASE), + types.Float(), + GenericDataType.NUMERIC, + ), (re.compile(r"^real", re.IGNORECASE), types.REAL, GenericDataType.NUMERIC,), ( re.compile(r"^smallserial", re.IGNORECASE), @@ -210,6 +216,11 @@ class BaseEngineSpec: # pylint: disable=too-many-public-methods types.BigInteger(), GenericDataType.NUMERIC, ), + ( + re.compile(r"^money", re.IGNORECASE), + types.Numeric(), + GenericDataType.NUMERIC, + ), ( re.compile(r"^string", re.IGNORECASE), types.String(), @@ -225,6 +236,12 @@ class BaseEngineSpec: # pylint: disable=too-many-public-methods String(), utils.GenericDataType.STRING, ), + ( + re.compile(r"^((TINY|MEDIUM|LONG)?TEXT)", re.IGNORECASE), + String(), + utils.GenericDataType.STRING, + ), + (re.compile(r"^LONG", re.IGNORECASE), types.Float(), GenericDataType.NUMERIC,), ( re.compile(r"^datetime", re.IGNORECASE), types.DateTime(), diff --git a/tests/db_engine_specs/base_tests.py b/tests/db_engine_specs/base_tests.py index ca830ee5b99aa..a0aee9ebdffdf 100644 --- a/tests/db_engine_specs/base_tests.py +++ b/tests/db_engine_specs/base_tests.py @@ -16,11 +16,13 @@ # under the License. # isort:skip_file from datetime import datetime +from typing import Tuple, Type from tests.test_app import app from tests.base_tests import SupersetTestCase -from superset.db_engine_specs.mysql import MySQLEngineSpec +from superset.db_engine_specs.base import BaseEngineSpec from superset.models.core import Database +from superset.utils.core import GenericDataType class TestDbEngineSpec(SupersetTestCase): @@ -28,10 +30,23 @@ def sql_limit_regex( self, sql, expected_sql, - engine_spec_class=MySQLEngineSpec, + engine_spec_class=BaseEngineSpec, limit=1000, force=False, ): main = Database(database_name="test_database", sqlalchemy_uri="sqlite://") limited = engine_spec_class.apply_limit_to_sql(sql, limit, main, force) self.assertEqual(expected_sql, limited) + + +def assert_generic_types( + spec: Type[BaseEngineSpec], + type_expectations: Tuple[Tuple[str, GenericDataType], ...], +) -> None: + for type_str, expected_type in type_expectations: + column_spec = spec.get_column_spec(type_str) + assert column_spec is not None + actual_type = column_spec.generic_type + assert ( + actual_type == expected_type + ), f"{type_str} should be {expected_type.name} but is {actual_type.name}" diff --git a/tests/db_engine_specs/mysql_tests.py b/tests/db_engine_specs/mysql_tests.py index fb2d44aaaad03..be5262d5d3435 100644 --- a/tests/db_engine_specs/mysql_tests.py +++ b/tests/db_engine_specs/mysql_tests.py @@ -22,7 +22,7 @@ from superset.db_engine_specs.mysql import MySQLEngineSpec from superset.errors import ErrorLevel, SupersetError, SupersetErrorType from superset.utils.core import GenericDataType -from tests.db_engine_specs.base_tests import TestDbEngineSpec +from tests.db_engine_specs.base_tests import assert_generic_types, TestDbEngineSpec class TestMySQLEngineSpecsDbEngineSpec(TestDbEngineSpec): @@ -65,7 +65,7 @@ def test_column_datatype_to_string(self): ) self.assertEqual(actual, expected) - def test_is_db_column_type_match(self): + def test_generic_type(self): type_expectations = ( # Numeric ("TINYINT", GenericDataType.NUMERIC), @@ -89,10 +89,7 @@ def test_is_db_column_type_match(self): ("TIMESTAMP", GenericDataType.TEMPORAL), ("TIME", GenericDataType.TEMPORAL), ) - - for type_str, col_type in type_expectations: - column_spec = MySQLEngineSpec.get_column_spec(type_str) - assert column_spec.generic_type == col_type + assert_generic_types(MySQLEngineSpec, type_expectations) def test_extract_error_message(self): from MySQLdb._exceptions import OperationalError diff --git a/tests/db_engine_specs/postgres_tests.py b/tests/db_engine_specs/postgres_tests.py index 11d09f155cb61..e1667261fbfb7 100644 --- a/tests/db_engine_specs/postgres_tests.py +++ b/tests/db_engine_specs/postgres_tests.py @@ -23,8 +23,8 @@ from superset.db_engine_specs import get_engine_specs from superset.db_engine_specs.postgres import PostgresEngineSpec from superset.errors import ErrorLevel, SupersetError, SupersetErrorType -from superset.utils.core import get_example_database -from tests.db_engine_specs.base_tests import TestDbEngineSpec +from superset.utils.core import GenericDataType +from tests.db_engine_specs.base_tests import assert_generic_types, TestDbEngineSpec from tests.fixtures.certificates import ssl_certificate from tests.fixtures.database import default_db_extra @@ -461,3 +461,28 @@ def test_base_parameters_mixin(): }, "required": ["database", "host", "port", "username"], } + + +def test_generic_type(): + type_expectations = ( + # Numeric + ("SMALLINT", GenericDataType.NUMERIC), + ("INTEGER", GenericDataType.NUMERIC), + ("BIGINT", GenericDataType.NUMERIC), + ("DECIMAL", GenericDataType.NUMERIC), + ("NUMERIC", GenericDataType.NUMERIC), + ("REAL", GenericDataType.NUMERIC), + ("DOUBLE PRECISION", GenericDataType.NUMERIC), + ("MONEY", GenericDataType.NUMERIC), + # String + ("CHAR", GenericDataType.STRING), + ("VARCHAR", GenericDataType.STRING), + ("TEXT", GenericDataType.STRING), + # Temporal + ("DATE", GenericDataType.TEMPORAL), + ("TIMESTAMP", GenericDataType.TEMPORAL), + ("TIME", GenericDataType.TEMPORAL), + # Boolean + ("BOOLEAN", GenericDataType.BOOLEAN), + ) + assert_generic_types(PostgresEngineSpec, type_expectations)