diff --git a/superset-frontend/package-lock.json b/superset-frontend/package-lock.json index 2e2f420eaae2..0f74a842b120 100644 --- a/superset-frontend/package-lock.json +++ b/superset-frontend/package-lock.json @@ -13,34 +13,34 @@ "@babel/runtime-corejs3": "^7.12.5", "@data-ui/sparkline": "^0.0.84", "@emotion/core": "^10.0.35", - "@superset-ui/chart-controls": "^0.17.10", - "@superset-ui/core": "^0.17.10", - "@superset-ui/legacy-plugin-chart-calendar": "^0.17.10", - "@superset-ui/legacy-plugin-chart-chord": "^0.17.10", - "@superset-ui/legacy-plugin-chart-country-map": "^0.17.10", - "@superset-ui/legacy-plugin-chart-event-flow": "^0.17.10", - "@superset-ui/legacy-plugin-chart-force-directed": "^0.17.10", - "@superset-ui/legacy-plugin-chart-heatmap": "^0.17.10", - "@superset-ui/legacy-plugin-chart-histogram": "^0.17.10", - "@superset-ui/legacy-plugin-chart-horizon": "^0.17.10", - "@superset-ui/legacy-plugin-chart-map-box": "^0.17.10", - "@superset-ui/legacy-plugin-chart-paired-t-test": "^0.17.10", - "@superset-ui/legacy-plugin-chart-parallel-coordinates": "^0.17.10", - "@superset-ui/legacy-plugin-chart-partition": "^0.17.10", - "@superset-ui/legacy-plugin-chart-pivot-table": "^0.17.10", - "@superset-ui/legacy-plugin-chart-rose": "^0.17.10", - "@superset-ui/legacy-plugin-chart-sankey": "^0.17.10", - "@superset-ui/legacy-plugin-chart-sankey-loop": "^0.17.10", - "@superset-ui/legacy-plugin-chart-sunburst": "^0.17.10", - "@superset-ui/legacy-plugin-chart-treemap": "^0.17.10", - "@superset-ui/legacy-plugin-chart-world-map": "^0.17.10", - "@superset-ui/legacy-preset-chart-big-number": "^0.17.10", - "@superset-ui/legacy-preset-chart-deckgl": "^0.4.2", - "@superset-ui/legacy-preset-chart-nvd3": "^0.17.10", - "@superset-ui/plugin-chart-echarts": "^0.17.10", - "@superset-ui/plugin-chart-table": "^0.17.10", - "@superset-ui/plugin-chart-word-cloud": "^0.17.10", - "@superset-ui/preset-chart-xy": "^0.17.10", + "@superset-ui/chart-controls": "^0.17.12", + "@superset-ui/core": "^0.17.11", + "@superset-ui/legacy-plugin-chart-calendar": "^0.17.12", + "@superset-ui/legacy-plugin-chart-chord": "^0.17.12", + "@superset-ui/legacy-plugin-chart-country-map": "^0.17.12", + "@superset-ui/legacy-plugin-chart-event-flow": "^0.17.12", + "@superset-ui/legacy-plugin-chart-force-directed": "^0.17.12", + "@superset-ui/legacy-plugin-chart-heatmap": "^0.17.12", + "@superset-ui/legacy-plugin-chart-histogram": "^0.17.12", + "@superset-ui/legacy-plugin-chart-horizon": "^0.17.12", + "@superset-ui/legacy-plugin-chart-map-box": "^0.17.12", + "@superset-ui/legacy-plugin-chart-paired-t-test": "^0.17.12", + "@superset-ui/legacy-plugin-chart-parallel-coordinates": "^0.17.12", + "@superset-ui/legacy-plugin-chart-partition": "^0.17.12", + "@superset-ui/legacy-plugin-chart-pivot-table": "^0.17.12", + "@superset-ui/legacy-plugin-chart-rose": "^0.17.12", + "@superset-ui/legacy-plugin-chart-sankey": "^0.17.12", + "@superset-ui/legacy-plugin-chart-sankey-loop": "^0.17.12", + "@superset-ui/legacy-plugin-chart-sunburst": "^0.17.12", + "@superset-ui/legacy-plugin-chart-treemap": "^0.17.12", + "@superset-ui/legacy-plugin-chart-world-map": "^0.17.12", + "@superset-ui/legacy-preset-chart-big-number": "^0.17.12", + "@superset-ui/legacy-preset-chart-deckgl": "^0.4.6", + "@superset-ui/legacy-preset-chart-nvd3": "^0.17.12", + "@superset-ui/plugin-chart-echarts": "^0.17.12", + "@superset-ui/plugin-chart-table": "^0.17.12", + "@superset-ui/plugin-chart-word-cloud": "^0.17.12", + "@superset-ui/preset-chart-xy": "^0.17.12", "@vx/responsive": "^0.0.195", "abortcontroller-polyfill": "^1.1.9", "antd": "^4.9.4", @@ -303,8 +303,6 @@ "integrity": "sha512-+y4ZnePpvWs1fc/LhZRTHkTesbXkyBYuOB+5CyodZqrEuETXi3zOVfpAQIdgC3lXbHLTDG9dQosxR9BhvLKDLQ==", "dev": true, "dependencies": { - "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents", - "chokidar": "^3.4.0", "commander": "^4.0.1", "convert-source-map": "^1.1.0", "fs-readdir-recursive": "^1.1.0", @@ -7110,7 +7108,6 @@ "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", "graceful-fs": "^4.2.4", "jest-regex-util": "^26.0.0", "jest-serializer": "^26.6.2", @@ -7714,7 +7711,6 @@ "jest-resolve": "^26.6.2", "jest-util": "^26.6.2", "jest-worker": "^26.6.2", - "node-notifier": "^8.0.0", "slash": "^3.0.0", "source-map": "^0.6.0", "string-length": "^4.0.1", @@ -7903,7 +7899,6 @@ "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", "graceful-fs": "^4.2.4", "jest-regex-util": "^26.0.0", "jest-serializer": "^26.6.2", @@ -8335,7 +8330,6 @@ "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", "graceful-fs": "^4.2.4", "jest-regex-util": "^26.0.0", "jest-serializer": "^26.6.2", @@ -10122,8 +10116,7 @@ "esprima": "^4.0.1", "estraverse": "^4.2.0", "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "optionator": "^0.8.1" }, "bin": { "escodegen": "bin/escodegen.js", @@ -10805,9 +10798,6 @@ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.22.0.tgz", "integrity": "sha512-lLJ/Wt9yy0AiSYBf212kK3mM5L8ycwlyTlSxHBAneXLR0nzFMlZ5y7riFPF3E33zXOF2IH95xdY5jIyZbM9z/w==", "dev": true, - "dependencies": { - "clipboard": "^2.0.0" - }, "optionalDependencies": { "clipboard": "^2.0.0" } @@ -14134,11 +14124,11 @@ } }, "node_modules/@superset-ui/chart-controls": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.17.10.tgz", - "integrity": "sha512-KnvTV1oE28gkeAy4rJuGhykDzrUUhtEDE4cRj0ySB2xxvh7NsYYMjoDwVCmO3hsAGTsM2Mwd/n1bKSH45ZrVig==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.17.12.tgz", + "integrity": "sha512-2IMaFR6sU8IM8TyGb3km8RMkkVp3zhqIMA11OI0pb8lyBJIxdbz8wpGoASpHCCBRhLyt7U0TV7yOePotFGklbw==", "dependencies": { - "@superset-ui/core": "0.17.10", + "@superset-ui/core": "0.17.11", "lodash": "^4.17.15", "prop-types": "^15.7.2" }, @@ -14151,9 +14141,9 @@ } }, "node_modules/@superset-ui/core": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/core/-/core-0.17.10.tgz", - "integrity": "sha512-tcHU2fJ7vxk5NwbQudlAykkfaIOIpGe0kSa0wQdn2AnffIAUt5Ueq8RHlrH4HKU5rGD8aJs/CzUsDiipkof/Ow==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@superset-ui/core/-/core-0.17.11.tgz", + "integrity": "sha512-PNJAHjQMELyn8MADB5lp9jDx9SwgxMwR5e2SZDq0vBrcg+LNZCgvkptwXZ7bOTbTwavPVEWgwXa1A9v2TKvFRA==", "dependencies": { "@babel/runtime": "^7.1.2", "@emotion/core": "^10.0.28", @@ -14242,12 +14232,12 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-calendar": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-calendar/-/legacy-plugin-chart-calendar-0.17.10.tgz", - "integrity": "sha512-kWpvIpvKRYcvOnv8uQDoIgADj3ZRnlx2/PV2U9ji7vbPFJZVth7VeUpYw7fEOJfTeiLPruqRJ8EesRY1iVMYxw==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-calendar/-/legacy-plugin-chart-calendar-0.17.12.tgz", + "integrity": "sha512-NYf5x3e4AIPeqmyq1Cog66zn3KgmpGXtwIp4RS2J2CIEWVZmvWaR8Xyjy1HifQWsFpmN+MjGr8L9lag6ejZZeQ==", "dependencies": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3-array": "^2.0.3", "d3-selection": "^1.4.0", "d3-tip": "^0.9.1", @@ -14266,24 +14256,24 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-chord": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-chord/-/legacy-plugin-chart-chord-0.17.10.tgz", - "integrity": "sha512-urNihzkh8TH317ZjHH/uDVgez6TQE+/anTJW+FU8+prVXdxM8/6TNwUKtGI9t0dQVMsnK3ex1NlyLfbKkpYzZw==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-chord/-/legacy-plugin-chart-chord-0.17.12.tgz", + "integrity": "sha512-O7hjn02qPhD6qE21B6/EwvGVtcGDBJHlrcoJRjDhn8G0xNude7bwb0YlEHCZwlmvTinZD12rJv4l994V8/e5fg==", "dependencies": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "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.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-country-map/-/legacy-plugin-chart-country-map-0.17.10.tgz", - "integrity": "sha512-ZIG4dGMj444PgTAMoANGT8M7R3e4UCmkkDZRP33BPbs4RpKa1iXUCZ5Au76RwdDiaVfKsR0tyoXEG+bfa/Hk0Q==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-country-map/-/legacy-plugin-chart-country-map-0.17.12.tgz", + "integrity": "sha512-92wIkd1ve5sVz3wEZ1YBGoeUj2dupcpVyIsazT9t3YuEOwa4fuhm8w7FLJ2mS3U791j9KI63RsPM08mssl38sA==", "dependencies": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3": "^3.5.17", "d3-array": "^2.0.3", "prop-types": "^15.6.2" @@ -14298,13 +14288,13 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-event-flow": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-event-flow/-/legacy-plugin-chart-event-flow-0.17.10.tgz", - "integrity": "sha512-L6n4gYdMAeWWv0jzpwl7UjY8wsei9rebFql3/8AQUjc+og1uK4DmFPTZu23Suqc71I6SNfjTlg8KJZSY89MtDA==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-event-flow/-/legacy-plugin-chart-event-flow-0.17.12.tgz", + "integrity": "sha512-zm6udN2qJirAQZhtLnwjOe+xJfKmpYoGRz7zejLOYHTbkqlv7D+GoB0M/GXiEo6vUbV289Cms9KsrsUh7gYvSw==", "dependencies": { "@data-ui/event-flow": "^0.0.84", - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "prop-types": "^15.6.2" }, "peerDependencies": { @@ -14312,12 +14302,12 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-force-directed": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-force-directed/-/legacy-plugin-chart-force-directed-0.17.10.tgz", - "integrity": "sha512-hauxW3bUDp4KalraRH02Dyw7Vp17MTORrpT8vAyOfyu56IyvXM9rcZa7T/ti12LygXOaBA/r9HmCjshn83hZlQ==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-force-directed/-/legacy-plugin-chart-force-directed-0.17.12.tgz", + "integrity": "sha512-+2aljLZ6wO7D90l/EhgzsK+CKxOX+ldArovKXyUlBkWozaXBw27cA8I5Rj3tdbwbDMlN/bYxw44hnExVjKTYMQ==", "dependencies": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3": "^3.5.17", "prop-types": "^15.7.2" }, @@ -14326,12 +14316,12 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-heatmap": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-heatmap/-/legacy-plugin-chart-heatmap-0.17.10.tgz", - "integrity": "sha512-W+K7gn7iV1PWiSFpTyi2FcFl0GX9EPbVII9RfjjEnlVVXFpNFxmjY+uV7BH/9VCz5125AeUv29xaX1wOo2ChhQ==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-heatmap/-/legacy-plugin-chart-heatmap-0.17.12.tgz", + "integrity": "sha512-5K+dZ0688mn5KNza/b3SZ6h2d2VxY8gAXKaFBwyPjeabfexg5Sj1Squb5l4p7oTh1FSmLcAty0fXCwZALEh45g==", "dependencies": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3": "^3.5.17", "d3-svg-legend": "^1.x", "d3-tip": "^0.9.1", @@ -14339,14 +14329,14 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-histogram": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-histogram/-/legacy-plugin-chart-histogram-0.17.10.tgz", - "integrity": "sha512-LnLF0xYLin4P8G/L9dotPvFIE9U0qpmHnrqrRBb43vlBYlGa7IDTMhQlx+p5QYGvFK6mUnEEHwTam4WfjugOvA==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-histogram/-/legacy-plugin-chart-histogram-0.17.12.tgz", + "integrity": "sha512-GNI0fmutspJvdNIDSeiOgXvpFwkqEB48ZiN/lf2/Vpjp1RY5fZDs+I3HlFo0XOveB5SkE2LMwIysO1ex7+ql+g==", "dependencies": { "@data-ui/histogram": "^0.0.84", "@data-ui/theme": "^0.0.84", - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "@vx/legend": "^0.0.198", "@vx/responsive": "^0.0.199", "@vx/scale": "^0.0.197", @@ -14415,12 +14405,12 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-horizon": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-horizon/-/legacy-plugin-chart-horizon-0.17.10.tgz", - "integrity": "sha512-Cy5kX+gL4xi6Oe+6w7KTUqU0nZL49x+lYBe4COynW4KAzRMPakBB4MaDaFKjANVxMLK3WzUJgWjg1vfrdlhaQg==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-horizon/-/legacy-plugin-chart-horizon-0.17.12.tgz", + "integrity": "sha512-YQUMV494vP0Lu4pTdELsdR5CbXzQ78BRX0nxnyBXdXVb5UTxCVgXAhU7Q/eQQv2zJ3OXqUpQian2vCeTxqyvfA==", "dependencies": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3-array": "^2.0.3", "d3-scale": "^3.0.1", "prop-types": "^15.6.2" @@ -14450,12 +14440,12 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-map-box": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-map-box/-/legacy-plugin-chart-map-box-0.17.10.tgz", - "integrity": "sha512-sS2ir6haVfDM0GhwTpK4pIyT6kUTK41SRFqneOTX8dXoBQ0cQ0T+JniR24emh2a8wk1KUD6lv8Uo7EKfjoGIKw==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-map-box/-/legacy-plugin-chart-map-box-0.17.12.tgz", + "integrity": "sha512-G0RznxH5LH6dj9mdgLV2Z0MObjruOWCgGqsbItDbo1wi4iR8SuNGHDQgAnv24MlGiMSrp5mOYcUSlzSRFl96KA==", "dependencies": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "immutable": "^3.8.2", "mapbox-gl": "^0.53.0", "prop-types": "^15.6.2", @@ -14476,12 +14466,12 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-paired-t-test": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-paired-t-test/-/legacy-plugin-chart-paired-t-test-0.17.10.tgz", - "integrity": "sha512-uNrjMF59WkYcPj3MndnP2Cg7KLw4C9hL8601UIT3jgX4WP5JAd8G8Foq4C3NzIAQich5pS9fn7rVXOmggFTkNA==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-paired-t-test/-/legacy-plugin-chart-paired-t-test-0.17.12.tgz", + "integrity": "sha512-e5FWzHzKpbB2tf5PabVIw1e7VXiBm+A6G9XvhmqNTLtFSlrQeehtje7pumjo6xYBeYwGcXJTLpgaQmplWaJ72w==", "dependencies": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "distributions": "^1.0.0", "prop-types": "^15.6.2", "reactable": "^1.1.0" @@ -14491,12 +14481,12 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-parallel-coordinates": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-parallel-coordinates/-/legacy-plugin-chart-parallel-coordinates-0.17.10.tgz", - "integrity": "sha512-GRcW+CFPugGUxLBi/X41x0xoXYgySqeBKHjoy8YSy4epoQfB401IX1urr2EUi0ajYycxElv6NMBaE4ymuSxYjA==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-parallel-coordinates/-/legacy-plugin-chart-parallel-coordinates-0.17.12.tgz", + "integrity": "sha512-34vtDU3bMwNQk6dst6uC+4R5MwZ6VoUs6y+I5ZdqcLZj1uiu4TPvcOyPKzvXvtOBXkWmb6CKMagWXeg0Lei/Sg==", "dependencies": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3": "^3.5.17", "prop-types": "^15.7.2" }, @@ -14505,12 +14495,12 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-partition": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-partition/-/legacy-plugin-chart-partition-0.17.10.tgz", - "integrity": "sha512-L4hl4zxl5Vc0ZFELaYnJYCvYlxP9PxuF+ANTA7jstbZ5sDKcvaI+yJQdcI+6408HId42qoWGqa2K53F+SW3IGw==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-partition/-/legacy-plugin-chart-partition-0.17.12.tgz", + "integrity": "sha512-4qSUzL5z3UwWjRpCIdSgwrjaHmj29rDzaPm77Aq0DVqNBTqk9dvQcwPeQPYjR/TrfuMB9jJ3rJYZqPI5F42lnw==", "dependencies": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3": "^3.5.17", "d3-hierarchy": "^1.1.8", "prop-types": "^15.6.2" @@ -14520,24 +14510,24 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-pivot-table": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-pivot-table/-/legacy-plugin-chart-pivot-table-0.17.10.tgz", - "integrity": "sha512-3lQrDnFNRNaYnI7vpFUNnuvMkmoFBCGlmS3sPUIcyh9VMeXJra3IzMERXWlj1c6PROeYw7vfKbjzJrlnTaikpQ==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-pivot-table/-/legacy-plugin-chart-pivot-table-0.17.12.tgz", + "integrity": "sha512-DgMVuUd/G1gUOg2mzqp+0GB0V9ri6o+bGijW37rISjqyDHpwbYUMaWp/64/thjNfYa/D0x6OgGqai6/kdzPutA==", "dependencies": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "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.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-rose/-/legacy-plugin-chart-rose-0.17.10.tgz", - "integrity": "sha512-7NxQDBiMsMhdzw6TPGUqK1qmkOGuDA8p1N1kg+79vsQpIY1yfuSDExLX0Ix6fzIoT5ZYEZpRI61xHIOCkWdD2w==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-rose/-/legacy-plugin-chart-rose-0.17.12.tgz", + "integrity": "sha512-ZIxSf153T4MW6Nbsld41TIk04sxwqA7d9EhL7NutAkN7yGgz8/dtlNvt2JfAQCVLbJnrH2b7xR+4FDYd+/ks2g==", "dependencies": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3": "^3.5.17", "nvd3": "1.8.6", "prop-types": "^15.6.2" @@ -14547,12 +14537,12 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-sankey": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sankey/-/legacy-plugin-chart-sankey-0.17.10.tgz", - "integrity": "sha512-sgKD0OKBI0iKVsCAuA5epaGhEoB2hv3qgBqtzCcgdxGI/QVUZ8CwdPFVAbU4gXgLxezAUiM+XSXzs42Z3W1UiA==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sankey/-/legacy-plugin-chart-sankey-0.17.12.tgz", + "integrity": "sha512-Wj3qLsN9Chfe6mvjRK7c9OfAeQij+JL0qDz01fa9FNKxMjNNi7eZkRb4mH6CkfYxJlLWjpVx1anInz+aCaoj4Q==", "dependencies": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3": "^3.5.17", "d3-sankey": "^0.4.2", "prop-types": "^15.6.2" @@ -14562,47 +14552,47 @@ } }, "node_modules/@superset-ui/legacy-plugin-chart-sankey-loop": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sankey-loop/-/legacy-plugin-chart-sankey-loop-0.17.10.tgz", - "integrity": "sha512-lYTNlXUIP5ryDjwRNrqZFXGj9LtV3KPEWAJrB9IS0cPU0+D88Nfc3eNnuvxj2xQvpcXztTMrCK9QSpRqOAlC1g==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sankey-loop/-/legacy-plugin-chart-sankey-loop-0.17.12.tgz", + "integrity": "sha512-iqV3phKISwD5o+NniWXa4J5eFmGt03twmFZLAtNXR39AnG4HKHQxB7rwcQPYJA9U4A4TkgxCxQCxyndTb3VmOA==", "dependencies": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "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.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sunburst/-/legacy-plugin-chart-sunburst-0.17.10.tgz", - "integrity": "sha512-mYldzaWJR7hBrHgpzsFqySwIw8TOi8wmNMa8/0SS9vE3Cj+xhXweQtzmR6KwnU21U1cL+yvENQi0aHs10Kt5GA==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sunburst/-/legacy-plugin-chart-sunburst-0.17.12.tgz", + "integrity": "sha512-Ml7uxXqpaMiTEzXFzM1hLOo5z8yQn3HUiXhV77W9OSjg05Y6uCai+d9TeAKiwLEU0OKCzku8jkOj35Cv5ZMPLg==", "dependencies": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3": "^3.5.17", "prop-types": "^15.6.2" } }, "node_modules/@superset-ui/legacy-plugin-chart-treemap": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-treemap/-/legacy-plugin-chart-treemap-0.17.10.tgz", - "integrity": "sha512-ghQNXUqpDEFJyY9/nnd9RQjeUwgH2JOOW6T8Hmt6qJcF91k3djS7LLSxWNLCCUa1M3bZt3AAxsr4+6b4Y8BAXA==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-treemap/-/legacy-plugin-chart-treemap-0.17.12.tgz", + "integrity": "sha512-kHoslysbX070nuI1zhYGFKWxS6sldpX0TRuGyDLM4anUApuw7y/+jZeOAu6Ws+T6akkVmJpis0fkKrkbeFFrNQ==", "dependencies": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "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.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-world-map/-/legacy-plugin-chart-world-map-0.17.10.tgz", - "integrity": "sha512-EvECxrRxL7kVu5LuiIBmaFXIGGJM1q8nXYEdHcA6sJzvLwM55J6lpkLuokHihmTiMdI2qmejQKJ3/omzS+D7yA==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-world-map/-/legacy-plugin-chart-world-map-0.17.12.tgz", + "integrity": "sha512-9nHlbcdpoUe0vEi7t/QtOcXDxTqz0W3zl2+s4hUNtEsHGdKNrVeir4f3sq1zF+OOLReKHBoL7MFv6cF8JUNMNA==", "dependencies": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3": "^3.5.17", "d3-array": "^2.4.0", "d3-color": "^1.4.1", @@ -14627,13 +14617,13 @@ "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==" }, "node_modules/@superset-ui/legacy-preset-chart-big-number": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-big-number/-/legacy-preset-chart-big-number-0.17.10.tgz", - "integrity": "sha512-Xvpb1gwc5aY9zz1xs3AXoxLvpcGlsh7zaQbt4wU0eXvovdhCPHX0TCaOvY6Q8X8tbM7MeM82hjwOxO16NwJZbA==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-big-number/-/legacy-preset-chart-big-number-0.17.12.tgz", + "integrity": "sha512-GQNXqSA827Fch3eNaCaPMYERvWNRdaUqH00Suqq6BG+aYW+rKhIHaYBsY0eF/w1GRfZ+YjAh/yYyY21P+N/hqg==", "dependencies": { "@data-ui/xy-chart": "^0.0.84", - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "@types/d3-color": "^1.2.2", "@types/shortid": "^0.0.29", "d3-color": "^1.2.3", @@ -14644,9 +14634,9 @@ } }, "node_modules/@superset-ui/legacy-preset-chart-deckgl": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-deckgl/-/legacy-preset-chart-deckgl-0.4.2.tgz", - "integrity": "sha512-lr9K0KihVgaCjE72Zu/nd3YoU/q2EDX7qd73y95vzoXBgIA2cMfIkAmEnOe2Komb51ed9hzz0MnudfZHZk1cfw==", + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-deckgl/-/legacy-preset-chart-deckgl-0.4.6.tgz", + "integrity": "sha512-xXGNj7WQHMA+QpeiHMrinwWhOwskD9ucXoe10AfFFgar9TwvCE6wpgRwnoyF0hjoaXnMqpYyFbzlucCf3WSfVQ==", "dependencies": { "@math.gl/web-mercator": "^3.2.2", "@types/d3-array": "^2.0.0", @@ -14668,19 +14658,19 @@ "xss": "^1.0.6" }, "peerDependencies": { - "@superset-ui/chart-controls": "^0.16.3", - "@superset-ui/core": "^0.16.3", + "@superset-ui/chart-controls": "^0.17.12", + "@superset-ui/core": "^0.17.11", "react": "^15 || ^16" } }, "node_modules/@superset-ui/legacy-preset-chart-nvd3": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-nvd3/-/legacy-preset-chart-nvd3-0.17.10.tgz", - "integrity": "sha512-oCuvPwyZyvQLz5iCpK2coNJWKs4SD7OyGwFCtfmqBabAt1wt1+mZ0/YfQNJygguwDSRz8nWGaRbtMTGvcrfU6w==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-nvd3/-/legacy-preset-chart-nvd3-0.17.12.tgz", + "integrity": "sha512-e55scJz7FKnn82vtYSxQIbtNFiN7Ftx5guw76Rcm2hkx2bu2TWTgSq7J/4BuTgaSCZsDEt48PNWIeJsfiu+HFQ==", "dependencies": { "@data-ui/xy-chart": "^0.0.84", - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3": "^3.5.17", "d3-tip": "^0.9.1", "dompurify": "^2.0.6", @@ -14697,12 +14687,12 @@ } }, "node_modules/@superset-ui/plugin-chart-echarts": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-echarts/-/plugin-chart-echarts-0.17.10.tgz", - "integrity": "sha512-2bd2VEUShPFG6CUljHNt7pE2diHW8vrbi5DAWgxV3TkVnjCg4g0CCTS6mmxUhLi9gqV6V0jV4XYWvMg3GIPI0w==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-echarts/-/plugin-chart-echarts-0.17.12.tgz", + "integrity": "sha512-qMyfxv7XPUc+6k5QzJbhooCv2Jqjq/lS9B3VThU4sMZNuqiPmUPBykl7pdw+1TTX7QOJV73C35jm+YU0FAoL1A==", "dependencies": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "@types/mathjs": "^6.0.7", "d3-array": "^1.2.0", "echarts": "^5.0.2", @@ -14713,13 +14703,13 @@ } }, "node_modules/@superset-ui/plugin-chart-table": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-table/-/plugin-chart-table-0.17.10.tgz", - "integrity": "sha512-9FPypGUeCh8wQeTy3N9R4ewTAkVFb3jGnY7XbSiL3PfZzd0+AgKyA+fBV98IOdXJHJj45uIrREpAzYuKQa58rw==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-table/-/plugin-chart-table-0.17.12.tgz", + "integrity": "sha512-izJkv2rFUAg1aDgLD/nRbgmVw04b6wx5GrbqGjMFv1Y4fR13ZlSgz/QuVVFM7vj9UgQVcz3PA+DNEkiABGKRgA==", "dependencies": { "@emotion/core": "^10.0.28", - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "@types/d3-array": "^2.0.0", "@types/react-table": "^7.0.19", "d3-array": "^2.4.0", @@ -14745,12 +14735,12 @@ } }, "node_modules/@superset-ui/plugin-chart-word-cloud": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-word-cloud/-/plugin-chart-word-cloud-0.17.10.tgz", - "integrity": "sha512-1Le/sHAve6VRad/uFcGIuNFvvpSx54duhJHnAnZAVwhAgW/OVm+7ohtEPjHvJdsAPZDpWFsgi601UuTDsSUvfw==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-word-cloud/-/plugin-chart-word-cloud-0.17.12.tgz", + "integrity": "sha512-QIJmig3nC/cdx1Ch06OqOnypYvHnkKzpd+YSj3WMXhEn5p2SRS0mqgM1n56/QvNbJegHi+xEuaZKZ4Cek3409g==", "dependencies": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "@types/d3-cloud": "^1.2.1", "@types/d3-scale": "^2.0.2", "d3-cloud": "^1.2.5", @@ -14784,14 +14774,14 @@ } }, "node_modules/@superset-ui/preset-chart-xy": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/preset-chart-xy/-/preset-chart-xy-0.17.10.tgz", - "integrity": "sha512-ym3zRIjOh+qNB1H1kPRZjmM0woC2Zkr/uhYI0cjpaGgXVr5B0AelT1ntpXQyu+Pse3Tj0XLVWzi+x4ZK79JmyQ==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/preset-chart-xy/-/preset-chart-xy-0.17.12.tgz", + "integrity": "sha512-UwXjsNKzAhYyjV+NJksr7nQ8YN3RUwzemxkHjpHX7tvIIquci3jqcCVbP8Ml19YxAs9o5gf+i6uUvn4Vtag+qw==", "dependencies": { "@data-ui/theme": "^0.0.84", "@data-ui/xy-chart": "^0.0.84", - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "@vx/axis": "^0.0.198", "@vx/legend": "^0.0.198", "@vx/scale": "^0.0.197", @@ -20180,7 +20170,6 @@ "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", "graceful-fs": "^4.2.4", "jest-regex-util": "^26.0.0", "jest-serializer": "^26.6.2", @@ -21999,7 +21988,6 @@ "anymatch": "^2.0.0", "async-each": "^1.0.0", "braces": "^2.3.0", - "fsevents": "^1.2.2", "glob-parent": "^3.1.0", "inherits": "^2.0.1", "is-binary-path": "^1.0.0", @@ -22761,7 +22749,6 @@ "integrity": "sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==", "dev": true, "dependencies": { - "colors": "^1.1.2", "object-assign": "^4.1.0", "string-width": "^4.2.0" }, @@ -26392,8 +26379,7 @@ "esprima": "^3.1.3", "estraverse": "^4.2.0", "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "optionator": "^0.8.1" }, "bin": { "escodegen": "bin/escodegen.js", @@ -32504,7 +32490,6 @@ "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", "graceful-fs": "^4.2.4", "jest-regex-util": "^26.0.0", "jest-serializer": "^26.6.2", @@ -33270,6 +33255,7 @@ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "dev": true, + "hasInstallScript": true, "optional": true, "os": [ "darwin" @@ -33344,7 +33330,6 @@ "@jest/types": "^24.9.0", "anymatch": "^2.0.0", "fb-watchman": "^2.0.0", - "fsevents": "^1.2.7", "graceful-fs": "^4.1.15", "invariant": "^2.2.4", "jest-serializer": "^24.9.0", @@ -34118,7 +34103,6 @@ "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", "graceful-fs": "^4.2.4", "jest-regex-util": "^26.0.0", "jest-serializer": "^26.6.2", @@ -35765,7 +35749,6 @@ "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", "graceful-fs": "^4.2.4", "jest-regex-util": "^26.0.0", "jest-serializer": "^26.6.2", @@ -36088,7 +36071,6 @@ "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", "graceful-fs": "^4.2.4", "jest-regex-util": "^26.0.0", "jest-serializer": "^26.6.2", @@ -36459,7 +36441,6 @@ "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", "graceful-fs": "^4.2.4", "jest-regex-util": "^26.0.0", "jest-serializer": "^26.6.2", @@ -37620,8 +37601,7 @@ "esprima": "^4.0.1", "estraverse": "^4.2.0", "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "optionator": "^0.8.1" }, "bin": { "escodegen": "bin/escodegen.js", @@ -38142,11 +38122,8 @@ "dependencies": { "errno": "^0.1.1", "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", "make-dir": "^2.1.0", "mime": "^1.4.1", - "native-request": "^1.0.5", - "source-map": "~0.6.0", "tslib": "^1.10.0" }, "bin": { @@ -43855,9 +43832,6 @@ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.23.0.tgz", "integrity": "sha512-c29LVsqOaLbBHuIbsTxaKENh1N2EQBOHaWv7gkHN4dgRbxSREqDnDbtFJYdpPauS4YCplMSNCABQ6Eeor69bAA==", "dev": true, - "dependencies": { - "clipboard": "^2.0.0" - }, "optionalDependencies": { "clipboard": "^2.0.0" } @@ -45192,9 +45166,9 @@ } }, "node_modules/react": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", - "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -45476,7 +45450,6 @@ "dependencies": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", @@ -46162,20 +46135,23 @@ "dev": true }, "node_modules/react-dom": { - "version": "16.13.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.0.tgz", - "integrity": "sha512-y09d2c4cG220DzdlFkPTnVvGTszVvNpC73v+AaLGLHbkpy3SSgvYq8x0rNwPJ/Rk/CicTNgk0hbHNw1gMEZAXg==", + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "prop-types": "^15.6.2", - "scheduler": "^0.19.0" + "scheduler": "^0.19.1" + }, + "peerDependencies": { + "react": "^16.14.0" } }, "node_modules/react-dom/node_modules/scheduler": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.0.tgz", - "integrity": "sha512-xowbVaTPe9r7y7RUejcK73/j8tt2jfiyTednOvHbA8JoClvMYCp+r8QegLwK/n8zWQAtZb1fFnER4XLBZXrCxA==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -46819,9 +46795,6 @@ "version": "1.22.0", "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.22.0.tgz", "integrity": "sha512-lLJ/Wt9yy0AiSYBf212kK3mM5L8ycwlyTlSxHBAneXLR0nzFMlZ5y7riFPF3E33zXOF2IH95xdY5jIyZbM9z/w==", - "dependencies": { - "clipboard": "^2.0.0" - }, "optionalDependencies": { "clipboard": "^2.0.0" } @@ -49759,8 +49732,7 @@ "esprima": "^4.0.1", "estraverse": "^4.2.0", "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "optionator": "^0.8.1" }, "bin": { "escodegen": "bin/escodegen.js", @@ -53185,10 +53157,8 @@ "integrity": "sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==", "dev": true, "dependencies": { - "chokidar": "^3.4.1", "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.0" + "neo-async": "^2.5.0" }, "optionalDependencies": { "chokidar": "^3.4.1", @@ -53234,6 +53204,7 @@ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "dev": true, + "hasInstallScript": true, "optional": true, "os": [ "darwin" @@ -54101,7 +54072,6 @@ "anymatch": "^2.0.0", "async-each": "^1.0.1", "braces": "^2.3.2", - "fsevents": "^1.2.7", "glob-parent": "^3.1.0", "inherits": "^2.0.3", "is-binary-path": "^1.0.0", @@ -54280,6 +54250,7 @@ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "dev": true, + "hasInstallScript": true, "optional": true, "os": [ "darwin" @@ -68531,19 +68502,19 @@ } }, "@superset-ui/chart-controls": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.17.10.tgz", - "integrity": "sha512-KnvTV1oE28gkeAy4rJuGhykDzrUUhtEDE4cRj0ySB2xxvh7NsYYMjoDwVCmO3hsAGTsM2Mwd/n1bKSH45ZrVig==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/chart-controls/-/chart-controls-0.17.12.tgz", + "integrity": "sha512-2IMaFR6sU8IM8TyGb3km8RMkkVp3zhqIMA11OI0pb8lyBJIxdbz8wpGoASpHCCBRhLyt7U0TV7yOePotFGklbw==", "requires": { - "@superset-ui/core": "0.17.10", + "@superset-ui/core": "0.17.11", "lodash": "^4.17.15", "prop-types": "^15.7.2" } }, "@superset-ui/core": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/core/-/core-0.17.10.tgz", - "integrity": "sha512-tcHU2fJ7vxk5NwbQudlAykkfaIOIpGe0kSa0wQdn2AnffIAUt5Ueq8RHlrH4HKU5rGD8aJs/CzUsDiipkof/Ow==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@superset-ui/core/-/core-0.17.11.tgz", + "integrity": "sha512-PNJAHjQMELyn8MADB5lp9jDx9SwgxMwR5e2SZDq0vBrcg+LNZCgvkptwXZ7bOTbTwavPVEWgwXa1A9v2TKvFRA==", "requires": { "@babel/runtime": "^7.1.2", "@emotion/core": "^10.0.28", @@ -68626,12 +68597,12 @@ } }, "@superset-ui/legacy-plugin-chart-calendar": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-calendar/-/legacy-plugin-chart-calendar-0.17.10.tgz", - "integrity": "sha512-kWpvIpvKRYcvOnv8uQDoIgADj3ZRnlx2/PV2U9ji7vbPFJZVth7VeUpYw7fEOJfTeiLPruqRJ8EesRY1iVMYxw==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-calendar/-/legacy-plugin-chart-calendar-0.17.12.tgz", + "integrity": "sha512-NYf5x3e4AIPeqmyq1Cog66zn3KgmpGXtwIp4RS2J2CIEWVZmvWaR8Xyjy1HifQWsFpmN+MjGr8L9lag6ejZZeQ==", "requires": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3-array": "^2.0.3", "d3-selection": "^1.4.0", "d3-tip": "^0.9.1", @@ -68649,24 +68620,24 @@ } }, "@superset-ui/legacy-plugin-chart-chord": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-chord/-/legacy-plugin-chart-chord-0.17.10.tgz", - "integrity": "sha512-urNihzkh8TH317ZjHH/uDVgez6TQE+/anTJW+FU8+prVXdxM8/6TNwUKtGI9t0dQVMsnK3ex1NlyLfbKkpYzZw==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-chord/-/legacy-plugin-chart-chord-0.17.12.tgz", + "integrity": "sha512-O7hjn02qPhD6qE21B6/EwvGVtcGDBJHlrcoJRjDhn8G0xNude7bwb0YlEHCZwlmvTinZD12rJv4l994V8/e5fg==", "requires": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3": "^3.5.17", "prop-types": "^15.6.2", "react": "^16.13.1" } }, "@superset-ui/legacy-plugin-chart-country-map": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-country-map/-/legacy-plugin-chart-country-map-0.17.10.tgz", - "integrity": "sha512-ZIG4dGMj444PgTAMoANGT8M7R3e4UCmkkDZRP33BPbs4RpKa1iXUCZ5Au76RwdDiaVfKsR0tyoXEG+bfa/Hk0Q==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-country-map/-/legacy-plugin-chart-country-map-0.17.12.tgz", + "integrity": "sha512-92wIkd1ve5sVz3wEZ1YBGoeUj2dupcpVyIsazT9t3YuEOwa4fuhm8w7FLJ2mS3U791j9KI63RsPM08mssl38sA==", "requires": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3": "^3.5.17", "d3-array": "^2.0.3", "prop-types": "^15.6.2" @@ -68683,34 +68654,34 @@ } }, "@superset-ui/legacy-plugin-chart-event-flow": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-event-flow/-/legacy-plugin-chart-event-flow-0.17.10.tgz", - "integrity": "sha512-L6n4gYdMAeWWv0jzpwl7UjY8wsei9rebFql3/8AQUjc+og1uK4DmFPTZu23Suqc71I6SNfjTlg8KJZSY89MtDA==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-event-flow/-/legacy-plugin-chart-event-flow-0.17.12.tgz", + "integrity": "sha512-zm6udN2qJirAQZhtLnwjOe+xJfKmpYoGRz7zejLOYHTbkqlv7D+GoB0M/GXiEo6vUbV289Cms9KsrsUh7gYvSw==", "requires": { "@data-ui/event-flow": "^0.0.84", - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "prop-types": "^15.6.2" } }, "@superset-ui/legacy-plugin-chart-force-directed": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-force-directed/-/legacy-plugin-chart-force-directed-0.17.10.tgz", - "integrity": "sha512-hauxW3bUDp4KalraRH02Dyw7Vp17MTORrpT8vAyOfyu56IyvXM9rcZa7T/ti12LygXOaBA/r9HmCjshn83hZlQ==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-force-directed/-/legacy-plugin-chart-force-directed-0.17.12.tgz", + "integrity": "sha512-+2aljLZ6wO7D90l/EhgzsK+CKxOX+ldArovKXyUlBkWozaXBw27cA8I5Rj3tdbwbDMlN/bYxw44hnExVjKTYMQ==", "requires": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3": "^3.5.17", "prop-types": "^15.7.2" } }, "@superset-ui/legacy-plugin-chart-heatmap": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-heatmap/-/legacy-plugin-chart-heatmap-0.17.10.tgz", - "integrity": "sha512-W+K7gn7iV1PWiSFpTyi2FcFl0GX9EPbVII9RfjjEnlVVXFpNFxmjY+uV7BH/9VCz5125AeUv29xaX1wOo2ChhQ==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-heatmap/-/legacy-plugin-chart-heatmap-0.17.12.tgz", + "integrity": "sha512-5K+dZ0688mn5KNza/b3SZ6h2d2VxY8gAXKaFBwyPjeabfexg5Sj1Squb5l4p7oTh1FSmLcAty0fXCwZALEh45g==", "requires": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3": "^3.5.17", "d3-svg-legend": "^1.x", "d3-tip": "^0.9.1", @@ -68718,14 +68689,14 @@ } }, "@superset-ui/legacy-plugin-chart-histogram": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-histogram/-/legacy-plugin-chart-histogram-0.17.10.tgz", - "integrity": "sha512-LnLF0xYLin4P8G/L9dotPvFIE9U0qpmHnrqrRBb43vlBYlGa7IDTMhQlx+p5QYGvFK6mUnEEHwTam4WfjugOvA==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-histogram/-/legacy-plugin-chart-histogram-0.17.12.tgz", + "integrity": "sha512-GNI0fmutspJvdNIDSeiOgXvpFwkqEB48ZiN/lf2/Vpjp1RY5fZDs+I3HlFo0XOveB5SkE2LMwIysO1ex7+ql+g==", "requires": { "@data-ui/histogram": "^0.0.84", "@data-ui/theme": "^0.0.84", - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "@vx/legend": "^0.0.198", "@vx/responsive": "^0.0.199", "@vx/scale": "^0.0.197", @@ -68793,12 +68764,12 @@ } }, "@superset-ui/legacy-plugin-chart-horizon": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-horizon/-/legacy-plugin-chart-horizon-0.17.10.tgz", - "integrity": "sha512-Cy5kX+gL4xi6Oe+6w7KTUqU0nZL49x+lYBe4COynW4KAzRMPakBB4MaDaFKjANVxMLK3WzUJgWjg1vfrdlhaQg==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-horizon/-/legacy-plugin-chart-horizon-0.17.12.tgz", + "integrity": "sha512-YQUMV494vP0Lu4pTdELsdR5CbXzQ78BRX0nxnyBXdXVb5UTxCVgXAhU7Q/eQQv2zJ3OXqUpQian2vCeTxqyvfA==", "requires": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3-array": "^2.0.3", "d3-scale": "^3.0.1", "prop-types": "^15.6.2" @@ -68827,12 +68798,12 @@ } }, "@superset-ui/legacy-plugin-chart-map-box": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-map-box/-/legacy-plugin-chart-map-box-0.17.10.tgz", - "integrity": "sha512-sS2ir6haVfDM0GhwTpK4pIyT6kUTK41SRFqneOTX8dXoBQ0cQ0T+JniR24emh2a8wk1KUD6lv8Uo7EKfjoGIKw==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-map-box/-/legacy-plugin-chart-map-box-0.17.12.tgz", + "integrity": "sha512-G0RznxH5LH6dj9mdgLV2Z0MObjruOWCgGqsbItDbo1wi4iR8SuNGHDQgAnv24MlGiMSrp5mOYcUSlzSRFl96KA==", "requires": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "immutable": "^3.8.2", "mapbox-gl": "^0.53.0", "prop-types": "^15.6.2", @@ -68849,118 +68820,118 @@ } }, "@superset-ui/legacy-plugin-chart-paired-t-test": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-paired-t-test/-/legacy-plugin-chart-paired-t-test-0.17.10.tgz", - "integrity": "sha512-uNrjMF59WkYcPj3MndnP2Cg7KLw4C9hL8601UIT3jgX4WP5JAd8G8Foq4C3NzIAQich5pS9fn7rVXOmggFTkNA==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-paired-t-test/-/legacy-plugin-chart-paired-t-test-0.17.12.tgz", + "integrity": "sha512-e5FWzHzKpbB2tf5PabVIw1e7VXiBm+A6G9XvhmqNTLtFSlrQeehtje7pumjo6xYBeYwGcXJTLpgaQmplWaJ72w==", "requires": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "distributions": "^1.0.0", "prop-types": "^15.6.2", "reactable": "^1.1.0" } }, "@superset-ui/legacy-plugin-chart-parallel-coordinates": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-parallel-coordinates/-/legacy-plugin-chart-parallel-coordinates-0.17.10.tgz", - "integrity": "sha512-GRcW+CFPugGUxLBi/X41x0xoXYgySqeBKHjoy8YSy4epoQfB401IX1urr2EUi0ajYycxElv6NMBaE4ymuSxYjA==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-parallel-coordinates/-/legacy-plugin-chart-parallel-coordinates-0.17.12.tgz", + "integrity": "sha512-34vtDU3bMwNQk6dst6uC+4R5MwZ6VoUs6y+I5ZdqcLZj1uiu4TPvcOyPKzvXvtOBXkWmb6CKMagWXeg0Lei/Sg==", "requires": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3": "^3.5.17", "prop-types": "^15.7.2" } }, "@superset-ui/legacy-plugin-chart-partition": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-partition/-/legacy-plugin-chart-partition-0.17.10.tgz", - "integrity": "sha512-L4hl4zxl5Vc0ZFELaYnJYCvYlxP9PxuF+ANTA7jstbZ5sDKcvaI+yJQdcI+6408HId42qoWGqa2K53F+SW3IGw==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-partition/-/legacy-plugin-chart-partition-0.17.12.tgz", + "integrity": "sha512-4qSUzL5z3UwWjRpCIdSgwrjaHmj29rDzaPm77Aq0DVqNBTqk9dvQcwPeQPYjR/TrfuMB9jJ3rJYZqPI5F42lnw==", "requires": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3": "^3.5.17", "d3-hierarchy": "^1.1.8", "prop-types": "^15.6.2" } }, "@superset-ui/legacy-plugin-chart-pivot-table": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-pivot-table/-/legacy-plugin-chart-pivot-table-0.17.10.tgz", - "integrity": "sha512-3lQrDnFNRNaYnI7vpFUNnuvMkmoFBCGlmS3sPUIcyh9VMeXJra3IzMERXWlj1c6PROeYw7vfKbjzJrlnTaikpQ==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-pivot-table/-/legacy-plugin-chart-pivot-table-0.17.12.tgz", + "integrity": "sha512-DgMVuUd/G1gUOg2mzqp+0GB0V9ri6o+bGijW37rISjqyDHpwbYUMaWp/64/thjNfYa/D0x6OgGqai6/kdzPutA==", "requires": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3": "^3.5.17", "datatables.net-bs": "^1.10.15", "prop-types": "^15.6.2" } }, "@superset-ui/legacy-plugin-chart-rose": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-rose/-/legacy-plugin-chart-rose-0.17.10.tgz", - "integrity": "sha512-7NxQDBiMsMhdzw6TPGUqK1qmkOGuDA8p1N1kg+79vsQpIY1yfuSDExLX0Ix6fzIoT5ZYEZpRI61xHIOCkWdD2w==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-rose/-/legacy-plugin-chart-rose-0.17.12.tgz", + "integrity": "sha512-ZIxSf153T4MW6Nbsld41TIk04sxwqA7d9EhL7NutAkN7yGgz8/dtlNvt2JfAQCVLbJnrH2b7xR+4FDYd+/ks2g==", "requires": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3": "^3.5.17", "nvd3": "1.8.6", "prop-types": "^15.6.2" } }, "@superset-ui/legacy-plugin-chart-sankey": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sankey/-/legacy-plugin-chart-sankey-0.17.10.tgz", - "integrity": "sha512-sgKD0OKBI0iKVsCAuA5epaGhEoB2hv3qgBqtzCcgdxGI/QVUZ8CwdPFVAbU4gXgLxezAUiM+XSXzs42Z3W1UiA==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sankey/-/legacy-plugin-chart-sankey-0.17.12.tgz", + "integrity": "sha512-Wj3qLsN9Chfe6mvjRK7c9OfAeQij+JL0qDz01fa9FNKxMjNNi7eZkRb4mH6CkfYxJlLWjpVx1anInz+aCaoj4Q==", "requires": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3": "^3.5.17", "d3-sankey": "^0.4.2", "prop-types": "^15.6.2" } }, "@superset-ui/legacy-plugin-chart-sankey-loop": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sankey-loop/-/legacy-plugin-chart-sankey-loop-0.17.10.tgz", - "integrity": "sha512-lYTNlXUIP5ryDjwRNrqZFXGj9LtV3KPEWAJrB9IS0cPU0+D88Nfc3eNnuvxj2xQvpcXztTMrCK9QSpRqOAlC1g==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sankey-loop/-/legacy-plugin-chart-sankey-loop-0.17.12.tgz", + "integrity": "sha512-iqV3phKISwD5o+NniWXa4J5eFmGt03twmFZLAtNXR39AnG4HKHQxB7rwcQPYJA9U4A4TkgxCxQCxyndTb3VmOA==", "requires": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "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.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sunburst/-/legacy-plugin-chart-sunburst-0.17.10.tgz", - "integrity": "sha512-mYldzaWJR7hBrHgpzsFqySwIw8TOi8wmNMa8/0SS9vE3Cj+xhXweQtzmR6KwnU21U1cL+yvENQi0aHs10Kt5GA==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-sunburst/-/legacy-plugin-chart-sunburst-0.17.12.tgz", + "integrity": "sha512-Ml7uxXqpaMiTEzXFzM1hLOo5z8yQn3HUiXhV77W9OSjg05Y6uCai+d9TeAKiwLEU0OKCzku8jkOj35Cv5ZMPLg==", "requires": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3": "^3.5.17", "prop-types": "^15.6.2" } }, "@superset-ui/legacy-plugin-chart-treemap": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-treemap/-/legacy-plugin-chart-treemap-0.17.10.tgz", - "integrity": "sha512-ghQNXUqpDEFJyY9/nnd9RQjeUwgH2JOOW6T8Hmt6qJcF91k3djS7LLSxWNLCCUa1M3bZt3AAxsr4+6b4Y8BAXA==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-treemap/-/legacy-plugin-chart-treemap-0.17.12.tgz", + "integrity": "sha512-kHoslysbX070nuI1zhYGFKWxS6sldpX0TRuGyDLM4anUApuw7y/+jZeOAu6Ws+T6akkVmJpis0fkKrkbeFFrNQ==", "requires": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "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.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-world-map/-/legacy-plugin-chart-world-map-0.17.10.tgz", - "integrity": "sha512-EvECxrRxL7kVu5LuiIBmaFXIGGJM1q8nXYEdHcA6sJzvLwM55J6lpkLuokHihmTiMdI2qmejQKJ3/omzS+D7yA==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-plugin-chart-world-map/-/legacy-plugin-chart-world-map-0.17.12.tgz", + "integrity": "sha512-9nHlbcdpoUe0vEi7t/QtOcXDxTqz0W3zl2+s4hUNtEsHGdKNrVeir4f3sq1zF+OOLReKHBoL7MFv6cF8JUNMNA==", "requires": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3": "^3.5.17", "d3-array": "^2.4.0", "d3-color": "^1.4.1", @@ -68984,13 +68955,13 @@ } }, "@superset-ui/legacy-preset-chart-big-number": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-big-number/-/legacy-preset-chart-big-number-0.17.10.tgz", - "integrity": "sha512-Xvpb1gwc5aY9zz1xs3AXoxLvpcGlsh7zaQbt4wU0eXvovdhCPHX0TCaOvY6Q8X8tbM7MeM82hjwOxO16NwJZbA==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-big-number/-/legacy-preset-chart-big-number-0.17.12.tgz", + "integrity": "sha512-GQNXqSA827Fch3eNaCaPMYERvWNRdaUqH00Suqq6BG+aYW+rKhIHaYBsY0eF/w1GRfZ+YjAh/yYyY21P+N/hqg==", "requires": { "@data-ui/xy-chart": "^0.0.84", - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "@types/d3-color": "^1.2.2", "@types/shortid": "^0.0.29", "d3-color": "^1.2.3", @@ -68998,9 +68969,9 @@ } }, "@superset-ui/legacy-preset-chart-deckgl": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-deckgl/-/legacy-preset-chart-deckgl-0.4.2.tgz", - "integrity": "sha512-lr9K0KihVgaCjE72Zu/nd3YoU/q2EDX7qd73y95vzoXBgIA2cMfIkAmEnOe2Komb51ed9hzz0MnudfZHZk1cfw==", + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-deckgl/-/legacy-preset-chart-deckgl-0.4.6.tgz", + "integrity": "sha512-xXGNj7WQHMA+QpeiHMrinwWhOwskD9ucXoe10AfFFgar9TwvCE6wpgRwnoyF0hjoaXnMqpYyFbzlucCf3WSfVQ==", "requires": { "@math.gl/web-mercator": "^3.2.2", "@types/d3-array": "^2.0.0", @@ -69023,13 +68994,13 @@ } }, "@superset-ui/legacy-preset-chart-nvd3": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-nvd3/-/legacy-preset-chart-nvd3-0.17.10.tgz", - "integrity": "sha512-oCuvPwyZyvQLz5iCpK2coNJWKs4SD7OyGwFCtfmqBabAt1wt1+mZ0/YfQNJygguwDSRz8nWGaRbtMTGvcrfU6w==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-nvd3/-/legacy-preset-chart-nvd3-0.17.12.tgz", + "integrity": "sha512-e55scJz7FKnn82vtYSxQIbtNFiN7Ftx5guw76Rcm2hkx2bu2TWTgSq7J/4BuTgaSCZsDEt48PNWIeJsfiu+HFQ==", "requires": { "@data-ui/xy-chart": "^0.0.84", - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "d3": "^3.5.17", "d3-tip": "^0.9.1", "dompurify": "^2.0.6", @@ -69043,12 +69014,12 @@ } }, "@superset-ui/plugin-chart-echarts": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-echarts/-/plugin-chart-echarts-0.17.10.tgz", - "integrity": "sha512-2bd2VEUShPFG6CUljHNt7pE2diHW8vrbi5DAWgxV3TkVnjCg4g0CCTS6mmxUhLi9gqV6V0jV4XYWvMg3GIPI0w==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-echarts/-/plugin-chart-echarts-0.17.12.tgz", + "integrity": "sha512-qMyfxv7XPUc+6k5QzJbhooCv2Jqjq/lS9B3VThU4sMZNuqiPmUPBykl7pdw+1TTX7QOJV73C35jm+YU0FAoL1A==", "requires": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "@types/mathjs": "^6.0.7", "d3-array": "^1.2.0", "echarts": "^5.0.2", @@ -69056,13 +69027,13 @@ } }, "@superset-ui/plugin-chart-table": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-table/-/plugin-chart-table-0.17.10.tgz", - "integrity": "sha512-9FPypGUeCh8wQeTy3N9R4ewTAkVFb3jGnY7XbSiL3PfZzd0+AgKyA+fBV98IOdXJHJj45uIrREpAzYuKQa58rw==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-table/-/plugin-chart-table-0.17.12.tgz", + "integrity": "sha512-izJkv2rFUAg1aDgLD/nRbgmVw04b6wx5GrbqGjMFv1Y4fR13ZlSgz/QuVVFM7vj9UgQVcz3PA+DNEkiABGKRgA==", "requires": { "@emotion/core": "^10.0.28", - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "@types/d3-array": "^2.0.0", "@types/react-table": "^7.0.19", "d3-array": "^2.4.0", @@ -69085,12 +69056,12 @@ } }, "@superset-ui/plugin-chart-word-cloud": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-word-cloud/-/plugin-chart-word-cloud-0.17.10.tgz", - "integrity": "sha512-1Le/sHAve6VRad/uFcGIuNFvvpSx54duhJHnAnZAVwhAgW/OVm+7ohtEPjHvJdsAPZDpWFsgi601UuTDsSUvfw==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/plugin-chart-word-cloud/-/plugin-chart-word-cloud-0.17.12.tgz", + "integrity": "sha512-QIJmig3nC/cdx1Ch06OqOnypYvHnkKzpd+YSj3WMXhEn5p2SRS0mqgM1n56/QvNbJegHi+xEuaZKZ4Cek3409g==", "requires": { - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "@types/d3-cloud": "^1.2.1", "@types/d3-scale": "^2.0.2", "d3-cloud": "^1.2.5", @@ -69122,14 +69093,14 @@ } }, "@superset-ui/preset-chart-xy": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@superset-ui/preset-chart-xy/-/preset-chart-xy-0.17.10.tgz", - "integrity": "sha512-ym3zRIjOh+qNB1H1kPRZjmM0woC2Zkr/uhYI0cjpaGgXVr5B0AelT1ntpXQyu+Pse3Tj0XLVWzi+x4ZK79JmyQ==", + "version": "0.17.12", + "resolved": "https://registry.npmjs.org/@superset-ui/preset-chart-xy/-/preset-chart-xy-0.17.12.tgz", + "integrity": "sha512-UwXjsNKzAhYyjV+NJksr7nQ8YN3RUwzemxkHjpHX7tvIIquci3jqcCVbP8Ml19YxAs9o5gf+i6uUvn4Vtag+qw==", "requires": { "@data-ui/theme": "^0.0.84", "@data-ui/xy-chart": "^0.0.84", - "@superset-ui/chart-controls": "0.17.10", - "@superset-ui/core": "0.17.10", + "@superset-ui/chart-controls": "0.17.12", + "@superset-ui/core": "0.17.11", "@vx/axis": "^0.0.198", "@vx/legend": "^0.0.198", "@vx/scale": "^0.0.197", @@ -94918,9 +94889,9 @@ } }, "react": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", - "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -95711,20 +95682,20 @@ } }, "react-dom": { - "version": "16.13.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.0.tgz", - "integrity": "sha512-y09d2c4cG220DzdlFkPTnVvGTszVvNpC73v+AaLGLHbkpy3SSgvYq8x0rNwPJ/Rk/CicTNgk0hbHNw1gMEZAXg==", + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "prop-types": "^15.6.2", - "scheduler": "^0.19.0" + "scheduler": "^0.19.1" }, "dependencies": { "scheduler": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.0.tgz", - "integrity": "sha512-xowbVaTPe9r7y7RUejcK73/j8tt2jfiyTednOvHbA8JoClvMYCp+r8QegLwK/n8zWQAtZb1fFnER4XLBZXrCxA==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" diff --git a/superset-frontend/package.json b/superset-frontend/package.json index 984a9e17a238..7ba656700528 100644 --- a/superset-frontend/package.json +++ b/superset-frontend/package.json @@ -65,34 +65,34 @@ "@babel/runtime-corejs3": "^7.12.5", "@data-ui/sparkline": "^0.0.84", "@emotion/core": "^10.0.35", - "@superset-ui/chart-controls": "^0.17.10", - "@superset-ui/core": "^0.17.10", - "@superset-ui/legacy-plugin-chart-calendar": "^0.17.10", - "@superset-ui/legacy-plugin-chart-chord": "^0.17.10", - "@superset-ui/legacy-plugin-chart-country-map": "^0.17.10", - "@superset-ui/legacy-plugin-chart-event-flow": "^0.17.10", - "@superset-ui/legacy-plugin-chart-force-directed": "^0.17.10", - "@superset-ui/legacy-plugin-chart-heatmap": "^0.17.10", - "@superset-ui/legacy-plugin-chart-histogram": "^0.17.10", - "@superset-ui/legacy-plugin-chart-horizon": "^0.17.10", - "@superset-ui/legacy-plugin-chart-map-box": "^0.17.10", - "@superset-ui/legacy-plugin-chart-paired-t-test": "^0.17.10", - "@superset-ui/legacy-plugin-chart-parallel-coordinates": "^0.17.10", - "@superset-ui/legacy-plugin-chart-partition": "^0.17.10", - "@superset-ui/legacy-plugin-chart-pivot-table": "^0.17.10", - "@superset-ui/legacy-plugin-chart-rose": "^0.17.10", - "@superset-ui/legacy-plugin-chart-sankey": "^0.17.10", - "@superset-ui/legacy-plugin-chart-sankey-loop": "^0.17.10", - "@superset-ui/legacy-plugin-chart-sunburst": "^0.17.10", - "@superset-ui/legacy-plugin-chart-treemap": "^0.17.10", - "@superset-ui/legacy-plugin-chart-world-map": "^0.17.10", - "@superset-ui/legacy-preset-chart-big-number": "^0.17.10", - "@superset-ui/legacy-preset-chart-deckgl": "^0.4.2", - "@superset-ui/legacy-preset-chart-nvd3": "^0.17.10", - "@superset-ui/plugin-chart-echarts": "^0.17.10", - "@superset-ui/plugin-chart-table": "^0.17.10", - "@superset-ui/plugin-chart-word-cloud": "^0.17.10", - "@superset-ui/preset-chart-xy": "^0.17.10", + "@superset-ui/chart-controls": "^0.17.12", + "@superset-ui/core": "^0.17.11", + "@superset-ui/legacy-plugin-chart-calendar": "^0.17.12", + "@superset-ui/legacy-plugin-chart-chord": "^0.17.12", + "@superset-ui/legacy-plugin-chart-country-map": "^0.17.12", + "@superset-ui/legacy-plugin-chart-event-flow": "^0.17.12", + "@superset-ui/legacy-plugin-chart-force-directed": "^0.17.12", + "@superset-ui/legacy-plugin-chart-heatmap": "^0.17.12", + "@superset-ui/legacy-plugin-chart-histogram": "^0.17.12", + "@superset-ui/legacy-plugin-chart-horizon": "^0.17.12", + "@superset-ui/legacy-plugin-chart-map-box": "^0.17.12", + "@superset-ui/legacy-plugin-chart-paired-t-test": "^0.17.12", + "@superset-ui/legacy-plugin-chart-parallel-coordinates": "^0.17.12", + "@superset-ui/legacy-plugin-chart-partition": "^0.17.12", + "@superset-ui/legacy-plugin-chart-pivot-table": "^0.17.12", + "@superset-ui/legacy-plugin-chart-rose": "^0.17.12", + "@superset-ui/legacy-plugin-chart-sankey": "^0.17.12", + "@superset-ui/legacy-plugin-chart-sankey-loop": "^0.17.12", + "@superset-ui/legacy-plugin-chart-sunburst": "^0.17.12", + "@superset-ui/legacy-plugin-chart-treemap": "^0.17.12", + "@superset-ui/legacy-plugin-chart-world-map": "^0.17.12", + "@superset-ui/legacy-preset-chart-big-number": "^0.17.12", + "@superset-ui/legacy-preset-chart-deckgl": "^0.4.6", + "@superset-ui/legacy-preset-chart-nvd3": "^0.17.12", + "@superset-ui/plugin-chart-echarts": "^0.17.12", + "@superset-ui/plugin-chart-table": "^0.17.12", + "@superset-ui/plugin-chart-word-cloud": "^0.17.12", + "@superset-ui/preset-chart-xy": "^0.17.12", "@vx/responsive": "^0.0.195", "abortcontroller-polyfill": "^1.1.9", "antd": "^4.9.4", diff --git a/superset-frontend/spec/javascripts/explore/components/DatasourcePanel_spec.jsx b/superset-frontend/spec/javascripts/explore/components/DatasourcePanel_spec.jsx index 4ffef7e33c33..df57ee1df3b5 100644 --- a/superset-frontend/spec/javascripts/explore/components/DatasourcePanel_spec.jsx +++ b/superset-frontend/spec/javascripts/explore/components/DatasourcePanel_spec.jsx @@ -17,6 +17,8 @@ * under the License. */ import React from 'react'; +import { HTML5Backend } from 'react-dnd-html5-backend'; +import { DndProvider } from 'react-dnd'; import { render, screen } from 'spec/helpers/testing-library'; import userEvent from '@testing-library/user-event'; import DatasourcePanel from 'src/explore/components/DatasourcePanel'; @@ -49,32 +51,38 @@ describe('datasourcepanel', () => { actions: {}, }; + const setup = props => ( + + + + ); + function search(value, input) { userEvent.clear(input); userEvent.type(input, value); } it('should render', () => { - const { container } = render(); + const { container } = render(setup(props)); expect(container).toBeVisible(); }); it('should display items in controls', () => { - render(); + render(setup(props)); expect(screen.getByText('birth_names')).toBeTruthy(); expect(screen.getByText('Columns')).toBeTruthy(); expect(screen.getByText('Metrics')).toBeTruthy(); }); it('should render search results', () => { - const { container } = render(); + const { container } = render(setup(props)); const c = container.getElementsByClassName('option-label'); expect(c).toHaveLength(5); }); it('should render 0 search results', () => { - const { container } = render(); + const { container } = render(setup(props)); const c = container.getElementsByClassName('option-label'); const searchInput = screen.getByPlaceholderText('Search Metrics & Columns'); @@ -85,7 +93,7 @@ describe('datasourcepanel', () => { }); it('should render and sort search results', () => { - const { container } = render(); + const { container } = render(setup(props)); const c = container.getElementsByClassName('option-label'); const searchInput = screen.getByPlaceholderText('Search Metrics & Columns'); diff --git a/superset-frontend/src/explore/components/DatasourcePanel.tsx b/superset-frontend/src/explore/components/DatasourcePanel.tsx index 37121bb7b52d..e89e41f0f7c5 100644 --- a/superset-frontend/src/explore/components/DatasourcePanel.tsx +++ b/superset-frontend/src/explore/components/DatasourcePanel.tsx @@ -29,7 +29,9 @@ import { debounce } from 'lodash'; import { matchSorter, rankings } from 'match-sorter'; import { FAST_DEBOUNCE } from 'src/constants'; import { ExploreActions } from 'src/explore/actions/exploreActions'; -import Control from 'src/explore/components/Control'; +import Control from './Control'; +import DatasourcePanelDragWrapper from './DatasourcePanel/DatasourcePanelDragWrapper'; +import { DatasourcePanelDndType } from './DatasourcePanel/types'; interface DatasourceControl extends ControlConfig { datasource?: DatasourceMeta; @@ -204,7 +206,12 @@ export default function DataSourcePanel({ {metricSlice.map(m => ( - + + + ))} @@ -217,7 +224,12 @@ export default function DataSourcePanel({ {columnSlice.map(col => ( - + + + ))} diff --git a/superset-frontend/src/explore/components/DatasourcePanel/DatasourcePanelDragWrapper.tsx b/superset-frontend/src/explore/components/DatasourcePanel/DatasourcePanelDragWrapper.tsx new file mode 100644 index 000000000000..d5a346d735e3 --- /dev/null +++ b/superset-frontend/src/explore/components/DatasourcePanel/DatasourcePanelDragWrapper.tsx @@ -0,0 +1,55 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +import React, { ReactNode } from 'react'; +import { useDrag } from 'react-dnd'; +import { styled } from '@superset-ui/core'; +import { DatasourcePanelDndItem } from './types'; + +const DatasourceItemContainer = styled.div` + display: flex; + align-items: center; + width: 100%; + height: ${({ theme }) => theme.gridUnit * 6}px; + cursor: pointer; + + :hover { + background-color: ${({ theme }) => theme.colors.grayscale.light2}; + } +`; + +interface DatasourcePanelDragWrapperProps extends DatasourcePanelDndItem { + children?: ReactNode; +} + +export default function DatasourcePanelDragWrapper( + props: DatasourcePanelDragWrapperProps, +) { + const [, drag] = useDrag({ + item: { + metricOrColumnName: props.metricOrColumnName, + type: props.type, + }, + }); + + return ( + + {props.children} + + ); +} diff --git a/superset-frontend/src/explore/components/DatasourcePanel/types.ts b/superset-frontend/src/explore/components/DatasourcePanel/types.ts new file mode 100644 index 000000000000..d426f787de94 --- /dev/null +++ b/superset-frontend/src/explore/components/DatasourcePanel/types.ts @@ -0,0 +1,30 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +export enum DatasourcePanelDndType { + // todo: The new `metric` conflicts with the existing metric type + METRIC = 'datasource-panel-metric', + COLUMN = 'column', +} + +export interface DatasourcePanelDndItem { + metricOrColumnName: string; + type: + | typeof DatasourcePanelDndType.METRIC + | typeof DatasourcePanelDndType.COLUMN; +} diff --git a/superset-frontend/src/explore/components/OptionControls.tsx b/superset-frontend/src/explore/components/OptionControls.tsx index 5e5dd5e29b3b..d0053f41790a 100644 --- a/superset-frontend/src/explore/components/OptionControls.tsx +++ b/superset-frontend/src/explore/components/OptionControls.tsx @@ -27,14 +27,14 @@ import { Tooltip } from 'src/common/components/Tooltip'; import Icon from 'src/components/Icon'; import { savedMetricType } from 'src/explore/components/controls/MetricControl/types'; -const DragContainer = styled.div` +export const DragContainer = styled.div` margin-bottom: ${({ theme }) => theme.gridUnit}px; :last-child { margin-bottom: 0; } `; -const OptionControlContainer = styled.div<{ +export const OptionControlContainer = styled.div<{ isAdhoc?: boolean; }>` display: flex; @@ -47,7 +47,7 @@ const OptionControlContainer = styled.div<{ cursor: ${({ isAdhoc }) => (isAdhoc ? 'pointer' : 'default')}; `; -const Label = styled.div` +export const Label = styled.div` display: flex; max-width: 100%; overflow: hidden; @@ -63,13 +63,13 @@ const Label = styled.div` } `; -const CaretContainer = styled.div` +export const CaretContainer = styled.div` height: 100%; border-left: solid 1px ${({ theme }) => theme.colors.grayscale.dark2}0C; margin-left: auto; `; -const CloseContainer = styled.div` +export const CloseContainer = styled.div` height: 100%; width: ${({ theme }) => theme.gridUnit * 6}px; border-right: solid 1px ${({ theme }) => theme.colors.grayscale.dark2}0C; @@ -92,7 +92,26 @@ export const LabelsContainer = styled.div` border-radius: ${({ theme }) => theme.gridUnit}px; `; -export const AddControlLabel = styled.div` +export const DndLabelsContainer = styled.div<{ + canDrop?: boolean; + isOver?: boolean; +}>` + padding: ${({ theme }) => theme.gridUnit}px; + border: ${({ canDrop, isOver, theme }) => { + if (isOver && canDrop) { + return `dashed 1px ${theme.colors.info.dark1}`; + } + if (isOver && !canDrop) { + return `dashed 1px ${theme.colors.error.dark1}`; + } + return `solid 1px ${theme.colors.grayscale.light2}`; + }}; + border-radius: ${({ theme }) => theme.gridUnit}px; +`; + +export const AddControlLabel = styled.div<{ + cancelHover?: boolean; +}>` display: flex; align-items: center; width: 100%; @@ -102,14 +121,16 @@ export const AddControlLabel = styled.div` color: ${({ theme }) => theme.colors.grayscale.light1}; border: dashed 1px ${({ theme }) => theme.colors.grayscale.light2}; border-radius: ${({ theme }) => theme.gridUnit}px; - cursor: pointer; + cursor: ${({ cancelHover }) => (cancelHover ? 'inherit' : 'pointer')}; :hover { - background-color: ${({ theme }) => theme.colors.grayscale.light4}; + background-color: ${({ cancelHover, theme }) => + cancelHover ? 'inherit' : theme.colors.grayscale.light4}; } :active { - background-color: ${({ theme }) => theme.colors.grayscale.light3}; + background-color: ${({ cancelHover, theme }) => + cancelHover ? 'inherit' : theme.colors.grayscale.light3}; } `; diff --git a/superset-frontend/src/explore/components/controls/DndColumnSelectControl/DndColumnSelectLabel.tsx b/superset-frontend/src/explore/components/controls/DndColumnSelectControl/DndColumnSelectLabel.tsx new file mode 100644 index 000000000000..a08ef9eddd4f --- /dev/null +++ b/superset-frontend/src/explore/components/controls/DndColumnSelectControl/DndColumnSelectLabel.tsx @@ -0,0 +1,119 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +import React, { useState } from 'react'; +import { useDrop } from 'react-dnd'; +import { isEmpty } from 'lodash'; +import { t, useTheme } from '@superset-ui/core'; +import { BaseControlConfig, ColumnMeta } from '@superset-ui/chart-controls'; +import ControlHeader from 'src/explore/components/ControlHeader'; +import { + AddControlLabel, + DndLabelsContainer, + HeaderContainer, +} from 'src/explore/components/OptionControls'; +import { + DatasourcePanelDndItem, + DatasourcePanelDndType, +} from 'src/explore/components/DatasourcePanel/types'; +import Icon from 'src/components/Icon'; +import OptionWrapper from './components/OptionWrapper'; +import { OptionSelector } from './utils'; + +interface LabelProps extends BaseControlConfig { + name: string; + value: string[] | string | null; + onChange: (value: string[] | string | null) => void; + options: { string: ColumnMeta }; +} + +export default function DndColumnSelectLabel(props: LabelProps) { + const theme = useTheme(); + const { value, options } = props; + const optionSelector = new OptionSelector(options, value); + const [groupByOptions, setGroupByOptions] = useState( + optionSelector.groupByOptions, + ); + + const [{ isOver, canDrop }, datasourcePanelDrop] = useDrop({ + accept: DatasourcePanelDndType.COLUMN, + + drop: (item: DatasourcePanelDndItem) => { + if (!optionSelector.isArray && !isEmpty(optionSelector.groupByOptions)) { + optionSelector.replace(0, item.metricOrColumnName); + } else { + optionSelector.add(item.metricOrColumnName); + } + setGroupByOptions(optionSelector.groupByOptions); + props.onChange(optionSelector.getValues()); + }, + + canDrop: (item: DatasourcePanelDndItem) => + !optionSelector.has(item.metricOrColumnName), + + collect: monitor => ({ + isOver: monitor.isOver(), + canDrop: monitor.canDrop(), + type: monitor.getItemType(), + }), + }); + + function onClickClose(index: number) { + optionSelector.del(index); + setGroupByOptions(optionSelector.groupByOptions); + props.onChange(optionSelector.getValues()); + } + + function onShiftOptions(dragIndex: number, hoverIndex: number) { + optionSelector.swap(dragIndex, hoverIndex); + setGroupByOptions(optionSelector.groupByOptions); + props.onChange(optionSelector.getValues()); + } + + function renderPlaceHolder() { + return ( + + + {t('Drop Columns')} + + ); + } + + function renderOptions() { + return groupByOptions.map((column, idx) => ( + + )); + } + + return ( +
+ + + + + {isEmpty(groupByOptions) ? renderPlaceHolder() : renderOptions()} + +
+ ); +} diff --git a/superset-frontend/src/explore/components/controls/DndColumnSelectControl/components/Option.tsx b/superset-frontend/src/explore/components/controls/DndColumnSelectControl/components/Option.tsx new file mode 100644 index 000000000000..22cbb037a13a --- /dev/null +++ b/superset-frontend/src/explore/components/controls/DndColumnSelectControl/components/Option.tsx @@ -0,0 +1,53 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +import React from 'react'; +import { useTheme } from '@superset-ui/core'; +import { ColumnOption } from '@superset-ui/chart-controls'; +import Icon from 'src/components/Icon'; +import { + CaretContainer, + CloseContainer, + OptionControlContainer, + Label, +} from 'src/explore/components/OptionControls'; +import { OptionProps } from '../types'; + +export default function Option(props: OptionProps) { + const theme = useTheme(); + + return ( + + props.clickClose(props.index)} + > + + + + {props.withCaret && ( + + + + )} + + ); +} diff --git a/superset-frontend/src/explore/components/controls/DndColumnSelectControl/components/OptionWrapper.tsx b/superset-frontend/src/explore/components/controls/DndColumnSelectControl/components/OptionWrapper.tsx new file mode 100644 index 000000000000..13e18aadcfb0 --- /dev/null +++ b/superset-frontend/src/explore/components/controls/DndColumnSelectControl/components/OptionWrapper.tsx @@ -0,0 +1,96 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +import React, { useRef } from 'react'; +import { + useDrag, + useDrop, + DropTargetMonitor, + DragSourceMonitor, +} from 'react-dnd'; +import { DragContainer } from 'src/explore/components/OptionControls'; +import Option from './Option'; +import { OptionProps, GroupByItemInterface, GroupByItemType } from '../types'; + +export default function OptionWrapper(props: OptionProps) { + const { index, onShiftOptions } = props; + const ref = useRef(null); + + const item: GroupByItemInterface = { + dragIndex: index, + type: GroupByItemType, + }; + const [, drag] = useDrag({ + item, + collect: (monitor: DragSourceMonitor) => ({ + isDragging: monitor.isDragging(), + }), + }); + + const [, drop] = useDrop({ + accept: GroupByItemType, + + hover: (item: GroupByItemInterface, monitor: DropTargetMonitor) => { + if (!ref.current) { + return; + } + const { dragIndex } = item; + const hoverIndex = index; + + // Don't replace items with themselves + if (dragIndex === hoverIndex) { + return; + } + // Determine rectangle on screen + const hoverBoundingRect = ref.current?.getBoundingClientRect(); + // Get vertical middle + const hoverMiddleY = + (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2; + // Determine mouse position + const clientOffset = monitor.getClientOffset(); + // Get pixels to the top + const hoverClientY = clientOffset?.y + ? clientOffset?.y - hoverBoundingRect.top + : 0; + // Only perform the move when the mouse has crossed half of the items height + // When dragging downwards, only move when the cursor is below 50% + // When dragging upwards, only move when the cursor is above 50% + // Dragging downwards + if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) { + return; + } + // Dragging upwards + if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) { + return; + } + + // Time to actually perform the action + onShiftOptions(dragIndex, hoverIndex); + // eslint-disable-next-line no-param-reassign + item.dragIndex = hoverIndex; + }, + }); + + drag(drop(ref)); + + return ( + + + ); +} diff --git a/superset-frontend/src/explore/components/controls/DndColumnSelectControl/index.ts b/superset-frontend/src/explore/components/controls/DndColumnSelectControl/index.ts new file mode 100644 index 000000000000..439f42449aa6 --- /dev/null +++ b/superset-frontend/src/explore/components/controls/DndColumnSelectControl/index.ts @@ -0,0 +1,19 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +export { default } from './DndColumnSelectLabel'; diff --git a/superset-frontend/src/explore/components/controls/DndColumnSelectControl/types.ts b/superset-frontend/src/explore/components/controls/DndColumnSelectControl/types.ts new file mode 100644 index 000000000000..450956fabc22 --- /dev/null +++ b/superset-frontend/src/explore/components/controls/DndColumnSelectControl/types.ts @@ -0,0 +1,34 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +import { ColumnMeta } from '@superset-ui/chart-controls'; + +export interface OptionProps { + column: ColumnMeta; + index: number; + clickClose: (index: number) => void; + onShiftOptions: (dragIndex: number, hoverIndex: number) => void; + withCaret?: boolean; +} + +export const GroupByItemType = 'groupByItem'; + +export interface GroupByItemInterface { + type: typeof GroupByItemType; + dragIndex: number; +} diff --git a/superset-frontend/src/explore/components/controls/DndColumnSelectControl/utils/index.ts b/superset-frontend/src/explore/components/controls/DndColumnSelectControl/utils/index.ts new file mode 100644 index 000000000000..7a11e06f4e30 --- /dev/null +++ b/superset-frontend/src/explore/components/controls/DndColumnSelectControl/utils/index.ts @@ -0,0 +1,19 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +export * from './optionSelector'; diff --git a/superset-frontend/src/explore/components/controls/DndColumnSelectControl/utils/optionSelector.ts b/superset-frontend/src/explore/components/controls/DndColumnSelectControl/utils/optionSelector.ts new file mode 100644 index 000000000000..eb885e6df644 --- /dev/null +++ b/superset-frontend/src/explore/components/controls/DndColumnSelectControl/utils/optionSelector.ts @@ -0,0 +1,86 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +import { ColumnMeta } from '@superset-ui/chart-controls'; + +export class OptionSelector { + groupByOptions: ColumnMeta[]; + + options: { string: ColumnMeta }; + + isArray: boolean; + + constructor( + options: { string: ColumnMeta }, + values: string[] | string | null, + ) { + this.options = options; + let groupByValues: string[]; + if (Array.isArray(values)) { + groupByValues = values; + this.isArray = true; + } else { + groupByValues = values ? [values] : []; + this.isArray = false; + } + this.groupByOptions = groupByValues + .map(value => { + if (value in options) { + return options[value]; + } + return null; + }) + .filter(Boolean); + } + + add(value: string) { + if (value in this.options) { + this.groupByOptions.push(this.options[value]); + } + } + + del(idx: number) { + this.groupByOptions.splice(idx, 1); + } + + replace(idx: number, value: string) { + if (this.groupByOptions[idx]) { + this.groupByOptions[idx] = this.options[value]; + } + } + + swap(a: number, b: number) { + [this.groupByOptions[a], this.groupByOptions[b]] = [ + this.groupByOptions[b], + this.groupByOptions[a], + ]; + } + + has(groupBy: string): boolean { + return !!this.getValues()?.includes(groupBy); + } + + getValues(): string[] | string | null { + if (!this.isArray) { + return this.groupByOptions.length > 0 + ? this.groupByOptions[0].column_name + : null; + } + return this.groupByOptions.map(option => option.column_name); + } +} diff --git a/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterControl.jsx b/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterControl.jsx index fd2ea23a6377..9ae816a5a82b 100644 --- a/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterControl.jsx +++ b/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterControl.jsx @@ -270,7 +270,7 @@ class AdhocFilterControl extends React.Component { optionsForSelect(props) { const options = [ ...props.columns, - ...[...(props.formData.metrics || []), props.formData.metric].map( + ...[...(props.formData?.metrics || []), props.formData?.metric].map( metric => metric && (typeof metric === 'string' diff --git a/superset-frontend/src/explore/components/controls/index.js b/superset-frontend/src/explore/components/controls/index.js index ba82c3c2303a..aa86e08cf3b2 100644 --- a/superset-frontend/src/explore/components/controls/index.js +++ b/superset-frontend/src/explore/components/controls/index.js @@ -39,6 +39,7 @@ import VizTypeControl from './VizTypeControl'; import MetricsControl from './MetricControl/MetricsControl'; import AdhocFilterControl from './FilterControl/AdhocFilterControl'; import FilterBoxItemControl from './FilterBoxItemControl'; +import DndColumnSelectControl from './DndColumnSelectControl'; const controlMap = { AnnotationLayerControl, @@ -50,6 +51,7 @@ const controlMap = { ColorSchemeControl, DatasourceControl, DateFilterControl, + DndColumnSelectControl, FixedOrMetricControl, HiddenControl, SelectAsyncControl, diff --git a/superset-frontend/src/featureFlags.ts b/superset-frontend/src/featureFlags.ts index a7bd2cac6b7e..7cf3c1a09cb0 100644 --- a/superset-frontend/src/featureFlags.ts +++ b/superset-frontend/src/featureFlags.ts @@ -40,6 +40,7 @@ export enum FeatureFlag { VERSIONED_EXPORT = 'VERSIONED_EXPORT', GLOBAL_ASYNC_QUERIES = 'GLOBAL_ASYNC_QUERIES', ENABLE_TEMPLATE_PROCESSING = 'ENABLE_TEMPLATE_PROCESSING', + ENABLE_EXPLORE_DRAG_AND_DROP = 'ENABLE_EXPLORE_DRAG_AND_DROP', } export type FeatureFlagMap = { diff --git a/superset/config.py b/superset/config.py index 8e3f395d60d8..622ff056bc63 100644 --- a/superset/config.py +++ b/superset/config.py @@ -345,6 +345,7 @@ def _try_json_readsha( # pylint: disable=unused-argument # Enable experimental feature to search for other dashboards "OMNIBAR": False, "DASHBOARD_RBAC": False, + "ENABLE_EXPLORE_DRAG_AND_DROP": False, } # Set the default view to card/grid view if thumbnail support is enabled.