diff --git a/superset-frontend/package-lock.json b/superset-frontend/package-lock.json index 90dfa3a487..e72abe1b85 100644 --- a/superset-frontend/package-lock.json +++ b/superset-frontend/package-lock.json @@ -3750,72 +3750,68 @@ } }, "@data-ui/shared": { - "version": "0.0.54", - "resolved": "https://registry.npmjs.org/@data-ui/shared/-/shared-0.0.54.tgz", - "integrity": "sha1-L7DW3ukNrCC/jzwpE8aFCoIj1Zs=", + "version": "0.0.84", + "resolved": "https://registry.npmjs.org/@data-ui/shared/-/shared-0.0.84.tgz", + "integrity": "sha512-MsDLsFzBHFEREr/eF2/RX1o/cXioEg+VQTsM8gViW5ywGQ7Xo5+EqUOaBSrwqKAkvp3e8PaEZVkchPC54IBhrA==", "requires": { - "@data-ui/theme": "0.0.48", - "@vx/event": "0.0.143", - "@vx/group": "0.0.143", - "@vx/shape": "0.0.145", - "@vx/tooltip": "0.0.148", + "@data-ui/theme": "^0.0.84", + "@vx/event": "^0.0.165", + "@vx/group": "^0.0.165", + "@vx/shape": "^0.0.168", + "@vx/tooltip": "0.0.165", "d3-array": "^1.2.1", "prop-types": "^15.5.10" }, "dependencies": { - "@data-ui/theme": { - "version": "0.0.48", - "resolved": "https://registry.npmjs.org/@data-ui/theme/-/theme-0.0.48.tgz", - "integrity": "sha1-8hUy0T2n5sXXJcrbD1p210bzvYU=" - }, "@vx/bounds": { - "version": "0.0.147", - "resolved": "https://registry.npmjs.org/@vx/bounds/-/bounds-0.0.147.tgz", - "integrity": "sha1-ihYnVPy6BmQkT7f8aK5+p3NIPRc=", + "version": "0.0.165", + "resolved": "https://registry.npmjs.org/@vx/bounds/-/bounds-0.0.165.tgz", + "integrity": "sha512-ZvRb72/4QNs1ZrytZTZxd0hfAb/KKfhsdkcYtIQkmdF6dTsjigMQZ+h2bLvLnbZb/RxyCCoxdiZSGXd+T1c//Q==", "requires": { "prop-types": "^15.5.10" } }, "@vx/event": { - "version": "0.0.143", - "resolved": "https://registry.npmjs.org/@vx/event/-/event-0.0.143.tgz", - "integrity": "sha1-SbFJP+Fu99eGVAXS3PJnwKlYcdE=", + "version": "0.0.165", + "resolved": "https://registry.npmjs.org/@vx/event/-/event-0.0.165.tgz", + "integrity": "sha512-FsQiw0f3s5DQB6aBQmBcoWk9e4q65LcDobHIyV8qrmpW2QgV2NvQFM1w0Q300ohpRMgJDzGk68HHHQgFOJvApw==", "requires": { - "@vx/point": "0.0.143" + "@vx/point": "0.0.165" } }, "@vx/group": { - "version": "0.0.143", - "resolved": "https://registry.npmjs.org/@vx/group/-/group-0.0.143.tgz", - "integrity": "sha1-ONvT+idA1XPG/fxpHrwV6F0+sBs=", + "version": "0.0.165", + "resolved": "https://registry.npmjs.org/@vx/group/-/group-0.0.165.tgz", + "integrity": "sha512-gi1DSg8AAaVRseyWiq8y4bzyvKiQIXT6vDUYBVRmv2LBcpHocBGaxNiNK0X602RgLG0XmNyRv6qSCWLOaBs3Mg==", "requires": { "classnames": "^2.2.5" } }, "@vx/point": { - "version": "0.0.143", - "resolved": "https://registry.npmjs.org/@vx/point/-/point-0.0.143.tgz", - "integrity": "sha1-e236YRF17ht048OSByWJp52t8mU=" + "version": "0.0.165", + "resolved": "https://registry.npmjs.org/@vx/point/-/point-0.0.165.tgz", + "integrity": "sha512-spoHilhjcWNgccrSzBUPw+PXV81tYxeyEWBkgr35aGVU4m7YT86Ywvfemwp7AVVGPn+XJHrhB0ujAhDoyqFPoA==" }, "@vx/shape": { - "version": "0.0.145", - "resolved": "https://registry.npmjs.org/@vx/shape/-/shape-0.0.145.tgz", - "integrity": "sha1-TXA8HY8IXlh1QbPvHAauUQ1jQaQ=", + "version": "0.0.168", + "resolved": "https://registry.npmjs.org/@vx/shape/-/shape-0.0.168.tgz", + "integrity": "sha512-urKZkwSafMpPQ0wI/L5FJmufRiAR4UsgYUCKxROjfE1Cf4jWNlK6mlVIIASxCdHlh9CGBbIrRMdl5Yv5lzqhjA==", "requires": { - "@vx/curve": "0.0.143", - "@vx/group": "0.0.143", - "@vx/point": "0.0.143", + "@vx/curve": "0.0.165", + "@vx/group": "0.0.165", + "@vx/point": "0.0.165", "classnames": "^2.2.5", + "d3-path": "^1.0.5", "d3-shape": "^1.2.0", "prop-types": "^15.5.10" } }, "@vx/tooltip": { - "version": "0.0.148", - "resolved": "https://registry.npmjs.org/@vx/tooltip/-/tooltip-0.0.148.tgz", - "integrity": "sha1-HEiEsp6u1bdoM5cqI8gTOYAJX+A=", + "version": "0.0.165", + "resolved": "https://registry.npmjs.org/@vx/tooltip/-/tooltip-0.0.165.tgz", + "integrity": "sha512-/x1NZc67QGQ4e/WNT7Ks5LYRyeLSqp8lG04gX5J6leUS0zscAVzo3aE5u65Qqbc0cnMyMPRZ2Qtb4klWTLg+eQ==", "requires": { - "@vx/bounds": "0.0.147", + "@vx/bounds": "0.0.165", "classnames": "^2.2.5", "prop-types": "^15.5.10" } @@ -3823,23 +3819,23 @@ } }, "@data-ui/sparkline": { - "version": "0.0.54", - "resolved": "https://registry.npmjs.org/@data-ui/sparkline/-/sparkline-0.0.54.tgz", - "integrity": "sha1-zj0WbZ4LI5oLoC84lMuejIQXHO8=", + "version": "0.0.84", + "resolved": "https://registry.npmjs.org/@data-ui/sparkline/-/sparkline-0.0.84.tgz", + "integrity": "sha512-Ja7T2JjioZtnoy0PEXF72qv/J8xIotu+oS1Z+ygVGZni6aN/DUY35eGpg/DDeemEFDMoifcx+kYa5LU7hQCnJg==", "requires": { - "@data-ui/shared": "0.0.54", - "@data-ui/theme": "0.0.8", - "@vx/axis": "0.0.140", - "@vx/curve": "0.0.140", - "@vx/event": "0.0.143", - "@vx/glyph": "0.0.140", - "@vx/gradient": "0.0.140", - "@vx/group": "0.0.140", - "@vx/pattern": "0.0.140", - "@vx/point": "0.0.136", - "@vx/responsive": "0.0.140", - "@vx/scale": "0.0.140", - "@vx/shape": "0.0.140", + "@data-ui/shared": "^0.0.84", + "@data-ui/theme": "^0.0.8", + "@vx/axis": "^0.0.179", + "@vx/curve": "^0.0.165", + "@vx/event": "^0.0.179", + "@vx/glyph": "^0.0.179", + "@vx/gradient": "^0.0.165", + "@vx/group": "^0.0.170", + "@vx/pattern": "^0.0.179", + "@vx/point": "^0.0.165", + "@vx/responsive": "^0.0.192", + "@vx/scale": "^0.0.179", + "@vx/shape": "^0.0.179", "d3-array": "^1.2.0", "prop-types": "^15.5.10" }, @@ -3849,36 +3845,105 @@ "resolved": "https://registry.npmjs.org/@data-ui/theme/-/theme-0.0.8.tgz", "integrity": "sha1-MRZyPQS5n2XHdQ+BpQDpYItIN8M=" }, - "@vx/curve": { - "version": "0.0.140", - "resolved": "https://registry.npmjs.org/@vx/curve/-/curve-0.0.140.tgz", - "integrity": "sha1-Ke84jos3GCE9ZqiW1WncHryO34k=", + "@vx/axis": { + "version": "0.0.179", + "resolved": "https://registry.npmjs.org/@vx/axis/-/axis-0.0.179.tgz", + "integrity": "sha512-FtUcdJxejYn5jgixSgSk9AdA96VwP9sCRATVfGvugEL0gtTKWYDbJEgSgqXfKqpeUdsDdf/JT7NVbLMc1hzrZg==", "requires": { - "d3-shape": "^1.0.6" + "@vx/group": "0.0.170", + "@vx/point": "0.0.165", + "@vx/shape": "0.0.179", + "@vx/text": "0.0.179", + "classnames": "^2.2.5", + "prop-types": "^15.6.0" } }, "@vx/event": { - "version": "0.0.143", - "resolved": "https://registry.npmjs.org/@vx/event/-/event-0.0.143.tgz", - "integrity": "sha1-SbFJP+Fu99eGVAXS3PJnwKlYcdE=", + "version": "0.0.179", + "resolved": "https://registry.npmjs.org/@vx/event/-/event-0.0.179.tgz", + "integrity": "sha512-wEwqKsxrzoRV/A9Va/f/CHPmV9asrTH/kW/f88jCydsVXd5W/nrJZiVpozN2Zr1Ernv0i1gW5896FWo/LHRg0A==", "requires": { - "@vx/point": "0.0.143" - }, - "dependencies": { - "@vx/point": { - "version": "0.0.143", - "resolved": "https://registry.npmjs.org/@vx/point/-/point-0.0.143.tgz", - "integrity": "sha1-e236YRF17ht048OSByWJp52t8mU=" - } + "@vx/point": "0.0.165" } }, - "@vx/responsive": { - "version": "0.0.140", - "resolved": "https://registry.npmjs.org/@vx/responsive/-/responsive-0.0.140.tgz", - "integrity": "sha1-xz7Gi56JoYFgXxrJ7MCfNSFneag=", + "@vx/glyph": { + "version": "0.0.179", + "resolved": "https://registry.npmjs.org/@vx/glyph/-/glyph-0.0.179.tgz", + "integrity": "sha512-RO7adwyG+9gGzjFdfmplrojgWCT+gsOnIFcRgJNJjx41+P6hWdI9X4OpsLx8VVqNhp7g+hxBDZWte8AxTvLQGw==", "requires": { - "lodash": "^4.0.8" + "@vx/group": "0.0.170", + "classnames": "^2.2.5", + "d3-shape": "^1.2.0", + "prop-types": "^15.6.2" } + }, + "@vx/gradient": { + "version": "0.0.165", + "resolved": "https://registry.npmjs.org/@vx/gradient/-/gradient-0.0.165.tgz", + "integrity": "sha512-FjRXMTmcy7k0TWsfDzWWXw6T9WXKP+6LS/GRgnguq271pab/P+AdOJThsVxtBgUc8ZOAPbub3/2Gggz9d8tocg==", + "requires": { + "classnames": "^2.2.5", + "prop-types": "^15.5.7" + } + }, + "@vx/group": { + "version": "0.0.170", + "resolved": "https://registry.npmjs.org/@vx/group/-/group-0.0.170.tgz", + "integrity": "sha512-RnDdRoy0YI5hokk+YWXc8t39Kp51i4BdCpiwkDJU4YypGycTYnDFjicam6jigUmZ/6wyMirDf/aQboWviFLt2Q==", + "requires": { + "classnames": "^2.2.5" + } + }, + "@vx/pattern": { + "version": "0.0.179", + "resolved": "https://registry.npmjs.org/@vx/pattern/-/pattern-0.0.179.tgz", + "integrity": "sha512-qvJsK07oUnSbuzj9jo7b/1Up13DknIeTlj9FDIhg0UNmz90ikVN2CZIWtdJyc2I1AFDEg0odOqYXzUx9aEBRfg==", + "requires": { + "classnames": "^2.2.5", + "prop-types": "^15.5.10" + } + }, + "@vx/point": { + "version": "0.0.165", + "resolved": "https://registry.npmjs.org/@vx/point/-/point-0.0.165.tgz", + "integrity": "sha512-spoHilhjcWNgccrSzBUPw+PXV81tYxeyEWBkgr35aGVU4m7YT86Ywvfemwp7AVVGPn+XJHrhB0ujAhDoyqFPoA==" + }, + "@vx/responsive": { + "version": "0.0.192", + "resolved": "https://registry.npmjs.org/@vx/responsive/-/responsive-0.0.192.tgz", + "integrity": "sha512-HaXVwhSJXUfRbzRV+glxsX0ki2Hi1mdpz42iuGArVQgDPJEmBHjkXyoiXU8U6v66M7FAH+OyKgtc5j2bfhyYzA==", + "requires": { + "lodash": "^4.17.10", + "prop-types": "^15.6.1", + "resize-observer-polyfill": "1.5.0" + } + }, + "@vx/scale": { + "version": "0.0.179", + "resolved": "https://registry.npmjs.org/@vx/scale/-/scale-0.0.179.tgz", + "integrity": "sha512-j40WiGu4VcHZdaSQAl12ig2w5c4Q9EVn7qqYf9PX7uoS5PbxRYNnHeKZ7e5Bf8O6b57iv5jFTfUV7HkpNF4vvg==", + "requires": { + "d3-scale": "^2.0.0" + } + }, + "@vx/shape": { + "version": "0.0.179", + "resolved": "https://registry.npmjs.org/@vx/shape/-/shape-0.0.179.tgz", + "integrity": "sha512-YHVNx4xGpbjolkW3Lb5pEgJB0+u349vfnLI976DJlinY0hRNa4TZbWXOB4ywLIrYzQEXXPMUR8WtdubNxg6g0w==", + "requires": { + "@vx/curve": "0.0.165", + "@vx/group": "0.0.170", + "@vx/point": "0.0.165", + "classnames": "^2.2.5", + "d3-path": "^1.0.5", + "d3-shape": "^1.2.0", + "prop-types": "^15.5.10" + } + }, + "resize-observer-polyfill": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.0.tgz", + "integrity": "sha512-M2AelyJDVR/oLnToJLtuDJRBBWUGUvvGigj1411hXhAdyFWqMaqHp7TixW3FpiLuVaikIcR1QL+zqoJoZlOgpg==" } } }, @@ -18219,9 +18284,9 @@ "integrity": "sha1-smI9AE3Vw8imr+jQYN5Z31FHLZQ=" }, "@vx/curve": { - "version": "0.0.143", - "resolved": "https://registry.npmjs.org/@vx/curve/-/curve-0.0.143.tgz", - "integrity": "sha1-AixqigfsAZ7Vgg8CFNoh/ZNkVyQ=", + "version": "0.0.165", + "resolved": "https://registry.npmjs.org/@vx/curve/-/curve-0.0.165.tgz", + "integrity": "sha512-fiQAGrKNGjJbL+eixUckJqIZDWXH/1NtIyyDbSz3J7ksk0QpYr5BgWcNJN76HLNt7wfcLwNzCHeNs4iVYyFGTg==", "requires": { "d3-shape": "^1.0.6" } @@ -21063,28 +21128,28 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "resolved": "", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "resolved": "", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true, "optional": true }, "aproba": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "resolved": "", "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "resolved": "", "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "dev": true, "optional": true, @@ -21095,14 +21160,14 @@ }, "balanced-match": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "resolved": "", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true, "optional": true }, "brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "resolved": "", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "optional": true, @@ -21113,35 +21178,35 @@ }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "resolved": "", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true, "optional": true }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "resolved": "", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true, "optional": true }, "console-control-strings": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "resolved": "", "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "dev": true, "optional": true }, "core-util-is": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "resolved": "", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true, "optional": true }, "debug": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "resolved": "", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "optional": true, @@ -21151,35 +21216,35 @@ }, "deep-extend": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "resolved": "", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true, "optional": true }, "delegates": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "resolved": "", "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "resolved": "", "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", "dev": true, "optional": true }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "resolved": "", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true, "optional": true }, "gauge": { "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "resolved": "", "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "optional": true, @@ -21196,7 +21261,7 @@ }, "glob": { "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "resolved": "", "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "optional": true, @@ -21211,14 +21276,14 @@ }, "has-unicode": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "resolved": "", "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "resolved": "", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "optional": true, @@ -21228,7 +21293,7 @@ }, "ignore-walk": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", + "resolved": "", "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "dev": true, "optional": true, @@ -21238,7 +21303,7 @@ }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "resolved": "", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "optional": true, @@ -21249,21 +21314,21 @@ }, "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "resolved": "", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true, "optional": true }, "ini": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "resolved": "", "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "resolved": "", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "optional": true, @@ -21273,14 +21338,14 @@ }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "resolved": "", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "resolved": "", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "optional": true, @@ -21297,14 +21362,14 @@ }, "ms": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "resolved": "", "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true, "optional": true }, "needle": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.3.0.tgz", + "resolved": "", "integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==", "dev": true, "optional": true, @@ -21316,7 +21381,7 @@ }, "node-pre-gyp": { "version": "0.12.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz", + "resolved": "", "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==", "dev": true, "optional": true, @@ -21335,7 +21400,7 @@ }, "nopt": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "resolved": "", "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "dev": true, "optional": true, @@ -21346,14 +21411,14 @@ }, "npm-bundled": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz", + "resolved": "", "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==", "dev": true, "optional": true }, "npm-packlist": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.1.tgz", + "resolved": "", "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", "dev": true, "optional": true, @@ -21364,7 +21429,7 @@ }, "npmlog": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "resolved": "", "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "optional": true, @@ -21377,21 +21442,21 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "resolved": "", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true, "optional": true }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "resolved": "", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true, "optional": true }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "resolved": "", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "optional": true, @@ -21401,21 +21466,21 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "resolved": "", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "resolved": "", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true, "optional": true }, "osenv": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "resolved": "", "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "optional": true, @@ -21426,21 +21491,21 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "resolved": "", "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true, "optional": true }, "rc": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "resolved": "", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "optional": true, @@ -21453,7 +21518,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "optional": true, @@ -21469,7 +21534,7 @@ }, "rimraf": { "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "resolved": "", "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "optional": true, @@ -21479,49 +21544,49 @@ }, "safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "resolved": "", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true, "optional": true }, "safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "resolved": "", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true, "optional": true }, "sax": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "resolved": "", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true, "optional": true }, "semver": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "resolved": "", "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "resolved": "", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "resolved": "", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true, "optional": true }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "resolved": "", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "optional": true, @@ -21533,7 +21598,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "optional": true, @@ -21543,7 +21608,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "optional": true, @@ -21553,21 +21618,21 @@ }, "strip-json-comments": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "resolved": "", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true, "optional": true }, "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "resolved": "", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true, "optional": true }, "wide-align": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "resolved": "", "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, "optional": true, @@ -21577,7 +21642,7 @@ }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "resolved": "", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true, "optional": true @@ -22727,16 +22792,6 @@ "sha.js": "^2.4.8" } }, - "create-react-class": { - "version": "15.6.3", - "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz", - "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==", - "requires": { - "fbjs": "^0.8.9", - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" - } - }, "create-react-context": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.3.0.tgz", @@ -26443,6 +26498,11 @@ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, + "fast-memoize": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz", + "integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==" + }, "fast-safe-stringify": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", @@ -39007,9 +39067,12 @@ } }, "re-resizable": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/re-resizable/-/re-resizable-4.11.0.tgz", - "integrity": "sha512-dye+7rERqNf/6mDT1iwps+4Gf42420xuZgygF33uX178DxffqcyeuHbBuJ382FIcB5iP6mMZOhfW7kI0uXwb/Q==" + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/re-resizable/-/re-resizable-6.6.1.tgz", + "integrity": "sha512-ttWVasZ9X7c0ir0+4YK47tkmm9EAFssW07YLkeLzG5HCOuFgFAlSVzMlzAH0h3i6hDShQCHHJecVx5rk+snoFA==", + "requires": { + "fast-memoize": "^2.5.1" + } }, "react": { "version": "16.13.1", @@ -39133,21 +39196,11 @@ } }, "react-datetime": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/react-datetime/-/react-datetime-2.16.3.tgz", - "integrity": "sha512-amWfb5iGEiyqjLmqCLlPpu2oN415jK8wX1qoTq7qn6EYiU7qQgbNHglww014PT4O/3G5eo/3kbJu/M/IxxTyGw==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-datetime/-/react-datetime-3.0.4.tgz", + "integrity": "sha512-v6MVwCve+DRaLN2f22LTO5TlrPpkUXumPkp1zfrbhaFtSYGl2grZ2JtwJfLxRj/T4ACyePAV4srCR6cMSiQ/Iw==", "requires": { - "create-react-class": "^15.5.2", - "object-assign": "^3.0.0", - "prop-types": "^15.5.7", - "react-onclickoutside": "^6.5.0" - }, - "dependencies": { - "object-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=" - } + "prop-types": "^15.5.7" } }, "react-dev-utils": { @@ -40337,11 +40390,6 @@ "react-lifecycles-compat": "^3.0.4" } }, - "react-onclickoutside": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.7.1.tgz", - "integrity": "sha512-p84kBqGaMoa7VYT0vZ/aOYRfJB+gw34yjpda1Z5KeLflg70HipZOT+MXQenEhdkPAABuE2Astq4zEPdMqUQxcg==" - }, "react-overlays": { "version": "0.9.2", "resolved": "https://registry.npmjs.org/react-overlays/-/react-overlays-0.9.2.tgz", diff --git a/superset-frontend/package.json b/superset-frontend/package.json index 033d2bbee7..a65cd9233c 100644 --- a/superset-frontend/package.json +++ b/superset-frontend/package.json @@ -61,7 +61,7 @@ "homepage": "https://superset.apache.org/", "dependencies": { "@babel/runtime-corejs3": "^7.8.4", - "@data-ui/sparkline": "^0.0.54", + "@data-ui/sparkline": "^0.0.84", "@emotion/core": "^10.0.28", "@superset-ui/chart-controls": "^0.15.3", "@superset-ui/core": "^0.15.2", @@ -122,7 +122,7 @@ "omnibar": "^2.1.1", "polished": "^3.6.5", "prop-types": "^15.7.2", - "re-resizable": "^4.3.1", + "re-resizable": "^6.6.1", "react": "^16.13.1", "react-ace": "^5.10.0", "react-avatar": "^3.9.7", @@ -131,7 +131,7 @@ "react-bootstrap-slider": "2.1.5", "react-checkbox-tree": "^1.5.1", "react-color": "^2.13.8", - "react-datetime": "^2.14.0", + "react-datetime": "^3.0.4", "react-dnd": "^2.5.4", "react-dnd-html5-backend": "^2.5.4", "react-dom": "^16.13.0", @@ -149,7 +149,7 @@ "react-select-fast-filter-options": "^0.2.1", "react-sortable-hoc": "^1.11.0", "react-split": "^2.0.4", - "react-sticky": "^6.0.2", + "react-sticky": "^6.0.3", "react-syntax-highlighter": "^13.5.3", "react-table": "^7.2.1", "react-transition-group": "^2.5.3", diff --git a/superset-frontend/spec/javascripts/dashboard/components/Header_spec.jsx b/superset-frontend/spec/javascripts/dashboard/components/Header_spec.jsx index bc05ddd4c9..96aa8121b9 100644 --- a/superset-frontend/spec/javascripts/dashboard/components/Header_spec.jsx +++ b/superset-frontend/spec/javascripts/dashboard/components/Header_spec.jsx @@ -53,7 +53,7 @@ describe('Header', () => { fetchCharts: () => {}, saveFaveStar: () => {}, savePublished: () => {}, - isPublished: () => {}, + isPublished: false, updateDashboardTitle: () => {}, editMode: false, setEditMode: () => {}, diff --git a/superset-frontend/spec/javascripts/dashboard/components/resizable/ResizableContainer_spec.jsx b/superset-frontend/spec/javascripts/dashboard/components/resizable/ResizableContainer_spec.jsx index 5bc12b6639..68c873db3d 100644 --- a/superset-frontend/spec/javascripts/dashboard/components/resizable/ResizableContainer_spec.jsx +++ b/superset-frontend/spec/javascripts/dashboard/components/resizable/ResizableContainer_spec.jsx @@ -17,7 +17,7 @@ * under the License. */ import React from 'react'; -import Resizable from 're-resizable'; +import { Resizable } from 're-resizable'; import { shallow } from 'enzyme'; import ResizableContainer from 'src/dashboard/components/resizable/ResizableContainer'; diff --git a/superset-frontend/src/CRUD/CollectionTable.tsx b/superset-frontend/src/CRUD/CollectionTable.tsx index 51f77257c2..f76c8932f5 100644 --- a/superset-frontend/src/CRUD/CollectionTable.tsx +++ b/superset-frontend/src/CRUD/CollectionTable.tsx @@ -29,9 +29,9 @@ interface CRUDCollectionProps { allowDeletes?: boolean; collection: Array; columnLabels?: object; - emptyMessage: ReactNode; - expandFieldset: ReactNode; - extraButtons: ReactNode; + emptyMessage?: ReactNode; + expandFieldset?: ReactNode; + extraButtons?: ReactNode; itemGenerator?: () => any; itemRenderers?: (( val: unknown, diff --git a/superset-frontend/src/CRUD/Field.jsx b/superset-frontend/src/CRUD/Field.jsx index 3d56019fa5..44d0366a49 100644 --- a/superset-frontend/src/CRUD/Field.jsx +++ b/superset-frontend/src/CRUD/Field.jsx @@ -30,7 +30,7 @@ import FormLabel from 'src/components/FormLabel'; import './crud.less'; const propTypes = { - value: PropTypes.any.isRequired, + value: PropTypes.any, label: PropTypes.string.isRequired, description: PropTypes.node, fieldKey: PropTypes.string.isRequired, diff --git a/superset-frontend/src/CRUD/Fieldset.jsx b/superset-frontend/src/CRUD/Fieldset.jsx index 15eb1a7cbe..dcbfc51308 100644 --- a/superset-frontend/src/CRUD/Fieldset.jsx +++ b/superset-frontend/src/CRUD/Fieldset.jsx @@ -25,8 +25,8 @@ import Field from './Field'; const propTypes = { children: PropTypes.node.isRequired, - onChange: PropTypes.func.isRequired, - item: PropTypes.object.isRequired, + onChange: PropTypes.func, + item: PropTypes.object, title: PropTypes.node, compact: PropTypes.bool, }; diff --git a/superset-frontend/src/SqlLab/components/QuerySearch.jsx b/superset-frontend/src/SqlLab/components/QuerySearch.jsx index c2ca26f358..cbe199589d 100644 --- a/superset-frontend/src/SqlLab/components/QuerySearch.jsx +++ b/superset-frontend/src/SqlLab/components/QuerySearch.jsx @@ -35,7 +35,7 @@ import AsyncSelect from '../../components/AsyncSelect'; const propTypes = { actions: PropTypes.object.isRequired, - height: PropTypes.string.isRequired, + height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired, displayLimit: PropTypes.number.isRequired, }; diff --git a/superset-frontend/src/addSlice/AddSliceContainer.tsx b/superset-frontend/src/addSlice/AddSliceContainer.tsx index 5f661ea12c..88bc3cc91d 100644 --- a/superset-frontend/src/addSlice/AddSliceContainer.tsx +++ b/superset-frontend/src/addSlice/AddSliceContainer.tsx @@ -40,7 +40,7 @@ export type AddSliceContainerState = { visType: string; }; -const styleSelectWidth = { width: 600 }; +const styleSelectContainer = { width: 600, marginBottom: '10px' }; export default class AddSliceContainer extends React.PureComponent< AddSliceContainerProps, @@ -96,27 +96,24 @@ export default class AddSliceContainer extends React.PureComponent<

{t('Choose a datasource')}

-

-

- +
{t( 'If the datasource you are looking for is not available in the list, follow the instructions on how to add it in the Superset tutorial.', diff --git a/superset-frontend/src/dashboard/components/BuilderComponentPane.jsx b/superset-frontend/src/dashboard/components/BuilderComponentPane.jsx index 0c9086f701..15fd2bc186 100644 --- a/superset-frontend/src/dashboard/components/BuilderComponentPane.jsx +++ b/superset-frontend/src/dashboard/components/BuilderComponentPane.jsx @@ -47,7 +47,7 @@ class BuilderComponentPane extends React.PureComponent { renderTabs(height) { const { isSticky } = this.props; return ( - + diff --git a/superset-frontend/src/dashboard/components/resizable/ResizableContainer.jsx b/superset-frontend/src/dashboard/components/resizable/ResizableContainer.jsx index 56eb53757d..26c5f66574 100644 --- a/superset-frontend/src/dashboard/components/resizable/ResizableContainer.jsx +++ b/superset-frontend/src/dashboard/components/resizable/ResizableContainer.jsx @@ -18,7 +18,7 @@ */ import React from 'react'; import PropTypes from 'prop-types'; -import Resizable from 're-resizable'; +import { Resizable } from 're-resizable'; import cx from 'classnames'; import ResizableHandle from './ResizableHandle'; diff --git a/superset-frontend/src/dashboard/util/propShapes.jsx b/superset-frontend/src/dashboard/util/propShapes.jsx index 3052ee5698..3743b94132 100644 --- a/superset-frontend/src/dashboard/util/propShapes.jsx +++ b/superset-frontend/src/dashboard/util/propShapes.jsx @@ -68,7 +68,7 @@ export const slicePropShape = PropTypes.shape({ viz_type: PropTypes.string.isRequired, description: PropTypes.string, description_markeddown: PropTypes.string, - owners: PropTypes.arrayOf(PropTypes.string).isRequired, + owners: PropTypes.arrayOf(PropTypes.string), }); export const filterIndicatorPropShape = PropTypes.shape({ diff --git a/superset-frontend/src/datasource/DatasourceEditor.jsx b/superset-frontend/src/datasource/DatasourceEditor.jsx index 93db71ce65..d36bfae616 100644 --- a/superset-frontend/src/datasource/DatasourceEditor.jsx +++ b/superset-frontend/src/datasource/DatasourceEditor.jsx @@ -121,12 +121,22 @@ function ColumnCollectionTable({ } + control={ + + } /> } + control={ + + } /> {allowEditDataType && ( } - control={} + control={ + + } /> @@ -492,7 +507,7 @@ class DatasourceEditor extends React.PureComponent { description={t( 'Default URL to redirect to when accessing from the dataset list page', )} - control={} + control={} /> } + control={} /> )} } + control={} /> } + control={} /> {this.state.isSqla && ( } + control={} /> )} @@ -658,17 +673,24 @@ class DatasourceEditor extends React.PureComponent { } + control={} /> } + control={ + + } /> } + control={ + + } /> } + control={ + + } /> } + control={ + + } /> + } /> diff --git a/superset-frontend/src/explore/components/controls/TextControl.tsx b/superset-frontend/src/explore/components/controls/TextControl.tsx index 0f0caf33f4..655f37c7f2 100644 --- a/superset-frontend/src/explore/components/controls/TextControl.tsx +++ b/superset-frontend/src/explore/components/controls/TextControl.tsx @@ -22,19 +22,35 @@ import { legacyValidateNumber, legacyValidateInteger } from '@superset-ui/core'; import ControlHeader from '../ControlHeader'; interface TextControlProps { - disabled: boolean; - isFloat: boolean; - isInt: boolean; - onChange: (value: any, errors: any) => {}; - onFocus: () => {}; - placeholder: string; - value: string | number; + disabled?: boolean; + isFloat?: boolean; + isInt?: boolean; + onChange?: (value: any, errors: any) => {}; + onFocus?: () => {}; + placeholder?: string; + value?: string | number; + controlId?: string; } -export default class TextControl extends React.Component { +interface TextControlState { + controlId: string; +} + +const generateControlId = (controlId?: string) => + `formInlineName_${controlId ?? (Math.random() * 1000000).toFixed()}`; + +export default class TextControl extends React.Component< + TextControlProps, + TextControlState +> { constructor(props: TextControlProps) { super(props); this.onChange = this.onChange.bind(this); + // if there's no control id provided, generate a random + // number to prevent rendering elements with same ids + this.state = { + controlId: generateControlId(props.controlId), + }; } onChange(event: any) { @@ -47,7 +63,7 @@ export default class TextControl extends React.Component { if (error) { errors.push(error); } else { - value = value.match(/.*(\.|0)$/g) ? value : parseFloat(value); + value = value.match(/.*([.0])$/g) ? value : parseFloat(value); } } if (value !== '' && this.props.isInt) { @@ -58,7 +74,7 @@ export default class TextControl extends React.Component { value = parseInt(value, 10); } } - this.props.onChange(value, errors); + this.props.onChange?.(value, errors); } render() { @@ -67,10 +83,11 @@ export default class TextControl extends React.Component { typeof rawValue !== 'undefined' && rawValue !== null ? rawValue.toString() : ''; + return (
- +