From 60ea6a8350263ceb098af7bb09451105c4b90c92 Mon Sep 17 00:00:00 2001 From: Aravind Shankar Date: Tue, 11 Jun 2019 19:41:30 +0530 Subject: [PATCH 1/5] add graphql-voyager to console, close #314 --- console/package-lock.json | 415 +++++++++++++++++- console/package.json | 1 + console/src/components/Main/Main.js | 5 +- .../Services/ApiExplorer/ApiExplorer.js | 8 + .../ApiExplorer/ApiRequest/ApiRequest.js | 1 + .../Services/ApiExplorer/ApiRequestWrapper.js | 2 + .../GraphiQLWrapper/GraphiQLWrapper.js | 2 + .../src/components/VoyagerView/VoyagerView.js | 35 ++ .../components/VoyagerView/voyagerView.css | 6 + console/src/components/index.js | 1 + console/src/routes.js | 4 +- 11 files changed, 475 insertions(+), 5 deletions(-) create mode 100644 console/src/components/VoyagerView/VoyagerView.js create mode 100644 console/src/components/VoyagerView/voyagerView.css diff --git a/console/package-lock.json b/console/package-lock.json index 8cec3170d1fd5..ba5c1df5c5ba3 100644 --- a/console/package-lock.json +++ b/console/package-lock.json @@ -1468,7 +1468,6 @@ "version": "7.3.1", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.1.tgz", "integrity": "sha512-7jGW8ppV0ant637pIqAcFfQDDH1orEPGJb8aXfUozuCU3QqX7rX4DA8iwrbPrR1hcH0FTTHz47yQnk+bl5xHQA==", - "dev": true, "requires": { "regenerator-runtime": "^0.12.0" } @@ -1666,6 +1665,173 @@ "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.8.2.tgz", "integrity": "sha512-rLu3wcBWH4P5q1CGoSSH/i9hrXs7SlbRLkoq9IGuoPYNGQvDJ3pt/wmOM+XgYjIDRMVIdkUWt0RsfzF50JfnCw==" }, + "@f/animate": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@f/animate/-/animate-1.0.1.tgz", + "integrity": "sha1-oDE5itrfmgvTpWOYzskx+HfYhIU=", + "requires": { + "@f/elapsed-time": "^1.0.0", + "@f/raf": "^1.0.0", + "@f/tween": "^1.0.0" + } + }, + "@f/elapsed-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@f/elapsed-time/-/elapsed-time-1.0.0.tgz", + "integrity": "sha1-ageaYQSocni/W0CARE7wLRtZVEk=", + "requires": { + "@f/timestamp": "^1.0.0" + } + }, + "@f/map-obj": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@f/map-obj/-/map-obj-1.2.2.tgz", + "integrity": "sha1-2an4vXbKoq4RtjPdok2cbMzB5g0=" + }, + "@f/raf": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@f/raf/-/raf-1.0.3.tgz", + "integrity": "sha1-Mt3KN940WyDIw4QwGMxRuPiXkU0=" + }, + "@f/timestamp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@f/timestamp/-/timestamp-1.0.0.tgz", + "integrity": "sha1-MqkWbiUW5cy5sPz9yJIjgZcQ6Iw=" + }, + "@f/tween": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@f/tween/-/tween-1.0.1.tgz", + "integrity": "sha1-GK73nEl15UQVrfMm5LXg0FPSB/A=", + "requires": { + "@f/map-obj": "^1.2.2" + } + }, + "@material-ui/core": { + "version": "3.9.3", + "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-3.9.3.tgz", + "integrity": "sha512-REIj62+zEvTgI/C//YL4fZxrCVIySygmpZglsu/Nl5jPqy3CDjZv1F9ubBYorHqmRgeVPh64EghMMWqk4egmfg==", + "requires": { + "@babel/runtime": "^7.2.0", + "@material-ui/system": "^3.0.0-alpha.0", + "@material-ui/utils": "^3.0.0-alpha.2", + "@types/jss": "^9.5.6", + "@types/react-transition-group": "^2.0.8", + "brcast": "^3.0.1", + "classnames": "^2.2.5", + "csstype": "^2.5.2", + "debounce": "^1.1.0", + "deepmerge": "^3.0.0", + "dom-helpers": "^3.2.1", + "hoist-non-react-statics": "^3.2.1", + "is-plain-object": "^2.0.4", + "jss": "^9.8.7", + "jss-camel-case": "^6.0.0", + "jss-default-unit": "^8.0.2", + "jss-global": "^3.0.0", + "jss-nested": "^6.0.1", + "jss-props-sort": "^6.0.0", + "jss-vendor-prefixer": "^7.0.0", + "normalize-scroll-left": "^0.1.2", + "popper.js": "^1.14.1", + "prop-types": "^15.6.0", + "react-event-listener": "^0.6.2", + "react-transition-group": "^2.2.1", + "recompose": "0.28.0 - 0.30.0", + "warning": "^4.0.1" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz", + "integrity": "sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA==", + "requires": { + "react-is": "^16.7.0" + } + }, + "react-is": { + "version": "16.8.6", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz", + "integrity": "sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==" + }, + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, + "@material-ui/system": { + "version": "3.0.0-alpha.2", + "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-3.0.0-alpha.2.tgz", + "integrity": "sha512-odmxQ0peKpP7RQBQ8koly06YhsPzcoVib1vByVPBH4QhwqBXuYoqlCjt02846fYspAqkrWzjxnWUD311EBbxOA==", + "requires": { + "@babel/runtime": "^7.2.0", + "deepmerge": "^3.0.0", + "prop-types": "^15.6.0", + "warning": "^4.0.1" + }, + "dependencies": { + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, + "@material-ui/utils": { + "version": "3.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-3.0.0-alpha.3.tgz", + "integrity": "sha512-rwMdMZptX0DivkqBuC+Jdq7BYTXwqKai5G5ejPpuEDKpWzi1Oxp+LygGw329FrKpuKeiqpcymlqJTjmy+quWng==", + "requires": { + "@babel/runtime": "^7.2.0", + "prop-types": "^15.6.0", + "react-is": "^16.6.3" + }, + "dependencies": { + "react-is": { + "version": "16.8.6", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz", + "integrity": "sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==" + } + } + }, + "@types/jss": { + "version": "9.5.8", + "resolved": "https://registry.npmjs.org/@types/jss/-/jss-9.5.8.tgz", + "integrity": "sha512-bBbHvjhm42UKki+wZpR89j73ykSXg99/bhuKuYYePtpma3ZAnmeGnl0WxXiZhPGsIfzKwCUkpPC0jlrVMBfRxA==", + "requires": { + "csstype": "^2.0.0", + "indefinite-observable": "^1.0.1" + } + }, + "@types/prop-types": { + "version": "15.7.1", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.1.tgz", + "integrity": "sha512-CFzn9idOEpHrgdw8JsoTkaDDyRWk1jrzIV8djzcgpq0y9tG4B4lFT+Nxh52DVpDXV+n4+NPNv7M1Dj5uMp6XFg==" + }, + "@types/react": { + "version": "16.8.19", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.8.19.tgz", + "integrity": "sha512-QzEzjrd1zFzY9cDlbIiFvdr+YUmefuuRYrPxmkwG0UQv5XF35gFIi7a95m1bNVcFU0VimxSZ5QVGSiBmlggQXQ==", + "requires": { + "@types/prop-types": "*", + "csstype": "^2.2.0" + } + }, + "@types/react-transition-group": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.9.2.tgz", + "integrity": "sha512-5Fv2DQNO+GpdPZcxp2x/OQG/H19A01WlmpjVD9cKvVFmoVLOZ9LvBgSWG6pSXIU4og5fgbvGPaCV5+VGkWAEHA==", + "requires": { + "@types/react": "*" + } + }, "@webassemblyjs/ast": { "version": "1.7.8", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.8.tgz", @@ -2891,6 +3057,11 @@ "repeat-element": "^1.1.2" } }, + "brcast": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/brcast/-/brcast-3.0.1.tgz", + "integrity": "sha512-eI3yqf9YEqyGl9PCNTR46MGvDylGtaHjalcz6Q3fAPnP/PhpKkkve52vFdfGpwp4VUvK6LUr4TQN+2stCrEwTg==" + }, "brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", @@ -3211,6 +3382,11 @@ "supports-color": "^2.0.0" } }, + "change-emitter": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/change-emitter/-/change-emitter-0.1.6.tgz", + "integrity": "sha1-6LL+PX8at9aaMhma/5HqaTFAlRU=" + }, "chardet": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", @@ -3413,6 +3589,16 @@ "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", "dev": true }, + "clipboard": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.4.tgz", + "integrity": "sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ==", + "requires": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, "cliui": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", @@ -3586,6 +3772,24 @@ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, + "commonmark": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.28.1.tgz", + "integrity": "sha1-Buq41SM4uDn6Gi11rwCF7tGxvq4=", + "requires": { + "entities": "~ 1.1.1", + "mdurl": "~ 1.0.1", + "minimist": "~ 1.2.0", + "string.prototype.repeat": "^0.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, "component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", @@ -4037,6 +4241,14 @@ } } }, + "css-vendor": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-0.3.8.tgz", + "integrity": "sha1-ZCHP0wNM5mT+dnOXL9ARn8KJQfo=", + "requires": { + "is-in-browser": "^1.0.2" + } + }, "css-what": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", @@ -4251,6 +4463,11 @@ "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", "dev": true }, + "debounce": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz", + "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==" + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -4292,6 +4509,11 @@ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, + "deepmerge": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.2.0.tgz", + "integrity": "sha512-6+LuZGU7QCNUnAJyX8cIrlzoEgggTM6B7mm+znKOX4t5ltluT9KLjN6g61ECMS0LTsLW7yDpNoxhix5FZcrIow==" + }, "define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", @@ -4382,6 +4604,11 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, + "delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" + }, "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", @@ -6850,6 +7077,14 @@ "minimatch": "~3.0.2" } }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "requires": { + "delegate": "^3.1.2" + } + }, "graceful-fs": { "version": "4.1.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", @@ -6960,6 +7195,39 @@ "cross-fetch": "2.2.2" } }, + "graphql-voyager": { + "version": "1.0.0-rc.27", + "resolved": "https://registry.npmjs.org/graphql-voyager/-/graphql-voyager-1.0.0-rc.27.tgz", + "integrity": "sha512-I0Tg4QtHB8s2UjNXu/hgFQKv7HNCM+Os8AmnjsQmmWCtQV61Ibum2l3n+y0qhdf+nH5mVwkWwRwlEswF143hiQ==", + "requires": { + "@f/animate": "^1.0.1", + "@material-ui/core": "^3.9.2", + "classnames": "^2.2.6", + "clipboard": "^2.0.4", + "commonmark": "^0.28.1", + "lodash": "^4.17.10", + "prop-types": "^15.7.2", + "svg-pan-zoom": "^3.6.0", + "viz.js": "2.1.2" + }, + "dependencies": { + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "react-is": { + "version": "16.8.6", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz", + "integrity": "sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==" + } + } + }, "gzip-size": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", @@ -7315,6 +7583,11 @@ } } }, + "hyphenate-style-name": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.3.tgz", + "integrity": "sha512-EcuixamT82oplpoJ2XU4pDtKGWQ7b00CD9f1ug9IaQ3p1bkHMiKCZ9ut9QDI6qsa6cpUuB+A/I+zLtdNK4n2DQ==" + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -7510,6 +7783,14 @@ "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", "dev": true }, + "indefinite-observable": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/indefinite-observable/-/indefinite-observable-1.0.2.tgz", + "integrity": "sha512-Mps0898zEduHyPhb7UCgNmfzlqNZknVmaFz5qzr0mm04YQ5FGLhAyK/dJ+NaRxGyR6juQXIxh5Ev0xx+qq0nYA==", + "requires": { + "symbol-observable": "1.2.0" + } + }, "indent-string": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", @@ -7851,6 +8132,11 @@ "is-extglob": "^1.0.0" } }, + "is-in-browser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", + "integrity": "sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=" + }, "is-installed-globally": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", @@ -8234,6 +8520,55 @@ "verror": "1.10.0" } }, + "jss": { + "version": "9.8.7", + "resolved": "https://registry.npmjs.org/jss/-/jss-9.8.7.tgz", + "integrity": "sha512-awj3XRZYxbrmmrx9LUSj5pXSUfm12m8xzi/VKeqI1ZwWBtQ0kVPTs3vYs32t4rFw83CgFDukA8wKzOE9sMQnoQ==", + "requires": { + "is-in-browser": "^1.1.3", + "symbol-observable": "^1.1.0", + "warning": "^3.0.0" + } + }, + "jss-camel-case": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jss-camel-case/-/jss-camel-case-6.1.0.tgz", + "integrity": "sha512-HPF2Q7wmNW1t79mCqSeU2vdd/vFFGpkazwvfHMOhPlMgXrJDzdj9viA2SaHk9ZbD5pfL63a8ylp4++irYbbzMQ==", + "requires": { + "hyphenate-style-name": "^1.0.2" + } + }, + "jss-default-unit": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/jss-default-unit/-/jss-default-unit-8.0.2.tgz", + "integrity": "sha512-WxNHrF/18CdoAGw2H0FqOEvJdREXVXLazn7PQYU7V6/BWkCV0GkmWsppNiExdw8dP4TU1ma1dT9zBNJ95feLmg==" + }, + "jss-global": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jss-global/-/jss-global-3.0.0.tgz", + "integrity": "sha512-wxYn7vL+TImyQYGAfdplg7yaxnPQ9RaXY/cIA8hawaVnmmWxDHzBK32u1y+RAvWboa3lW83ya3nVZ/C+jyjZ5Q==" + }, + "jss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jss-nested/-/jss-nested-6.0.1.tgz", + "integrity": "sha512-rn964TralHOZxoyEgeq3hXY8hyuCElnvQoVrQwKHVmu55VRDd6IqExAx9be5HgK0yN/+hQdgAXQl/GUrBbbSTA==", + "requires": { + "warning": "^3.0.0" + } + }, + "jss-props-sort": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/jss-props-sort/-/jss-props-sort-6.0.0.tgz", + "integrity": "sha512-E89UDcrphmI0LzmvYk25Hp4aE5ZBsXqMWlkFXS0EtPkunJkRr+WXdCNYbXbksIPnKlBenGB9OxzQY+mVc70S+g==" + }, + "jss-vendor-prefixer": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/jss-vendor-prefixer/-/jss-vendor-prefixer-7.0.0.tgz", + "integrity": "sha512-Agd+FKmvsI0HLcYXkvy8GYOw3AAASBUpsmIRvVQheps+JWaN892uFOInTr0DRydwaD91vSSUCU4NssschvF7MA==", + "requires": { + "css-vendor": "^0.3.8" + } + }, "jsx-ast-utils": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz", @@ -9748,6 +10083,11 @@ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", "dev": true }, + "normalize-scroll-left": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-scroll-left/-/normalize-scroll-left-0.1.2.tgz", + "integrity": "sha512-F9YMRls0zCF6BFIE2YnXDRpHPpfd91nOIaNdDgrx5YMoPLo8Wqj+6jNXHQsYBavJeXP4ww8HCt0xQAKc5qk2Fg==" + }, "normalize-selector": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz", @@ -11352,6 +11692,11 @@ "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", "dev": true }, + "popper.js": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.15.0.tgz", + "integrity": "sha512-w010cY1oCUmI+9KwwlWki+r5jxKfTFDVoadl7MSrIujHU5MJ5OR6HTDj6Xo8aoR/QsA56x8jKjA59qGH4ELtrA==" + }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -12459,6 +12804,26 @@ "scheduler": "^0.13.2" } }, + "react-event-listener": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.6.6.tgz", + "integrity": "sha512-+hCNqfy7o9wvO6UgjqFmBzARJS7qrNoda0VqzvOuioEpoEXKutiKuv92dSz6kP7rYLmyHPyYNLesi5t/aH1gfw==", + "requires": { + "@babel/runtime": "^7.2.0", + "prop-types": "^15.6.0", + "warning": "^4.0.1" + }, + "dependencies": { + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, "react-helmet": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-5.2.0.tgz", @@ -13026,6 +13391,26 @@ } } }, + "recompose": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.30.0.tgz", + "integrity": "sha512-ZTrzzUDa9AqUIhRk4KmVFihH0rapdCSMFXjhHbNrjAWxBuUD/guYlyysMnuHjlZC/KRiOKRtB4jf96yYSkKE8w==", + "requires": { + "@babel/runtime": "^7.0.0", + "change-emitter": "^0.1.2", + "fbjs": "^0.8.1", + "hoist-non-react-statics": "^2.3.1", + "react-lifecycles-compat": "^3.0.2", + "symbol-observable": "^1.0.4" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" + } + } + }, "redent": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", @@ -13187,8 +13572,7 @@ "regenerator-runtime": { "version": "0.12.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", - "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==", - "dev": true + "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" }, "regenerator-transform": { "version": "0.13.3", @@ -13914,6 +14298,11 @@ } } }, + "select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=" + }, "semver": { "version": "5.5.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", @@ -14403,6 +14792,11 @@ "strip-ansi": "^3.0.0" } }, + "string.prototype.repeat": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz", + "integrity": "sha1-q6Nt4I3O5qWjN9SbLqHaGyj8Ds8=" + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -14537,6 +14931,11 @@ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true }, + "svg-pan-zoom": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/svg-pan-zoom/-/svg-pan-zoom-3.6.0.tgz", + "integrity": "sha512-ZBEL2z/n/W2fLLFzn3NTQgd+7QEfbrKvKmu29U3qvMflmJgLaWkwKbOzWJYESFidTiGYMHkijAKmY6m64moyYg==" + }, "svgo": { "version": "0.7.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", @@ -14874,6 +15273,11 @@ "setimmediate": "^1.0.4" } }, + "tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" + }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -15548,6 +15952,11 @@ "extsprintf": "^1.2.0" } }, + "viz.js": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/viz.js/-/viz.js-2.1.2.tgz", + "integrity": "sha512-UO6CPAuEMJ8oNR0gLLNl+wUiIzQUsyUOp8SyyDKTqVRBtq7kk1VnFmIZW8QufjxGrGEuI+LVR7p/C7uEKy0LQw==" + }, "vm-browserify": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", diff --git a/console/package.json b/console/package.json index fe0af4a3b2d55..19824b23dc005 100644 --- a/console/package.json +++ b/console/package.json @@ -60,6 +60,7 @@ "graphiql": "^0.11.11", "graphiql-explorer-hasura": "0.0.7", "graphql": "^14.3.0", + "graphql-voyager": "^1.0.0-rc.27", "hasura-console-graphiql": "0.0.10", "history": "^3.0.0", "hoist-non-react-statics": "^1.0.3", diff --git a/console/src/components/Main/Main.js b/console/src/components/Main/Main.js index 83c8f9e24cd10..9bd5e9851fd5e 100644 --- a/console/src/components/Main/Main.js +++ b/console/src/components/Main/Main.js @@ -588,7 +588,10 @@ class Main extends React.Component { -
+
{getMainContent()}
diff --git a/console/src/components/Services/ApiExplorer/ApiExplorer.js b/console/src/components/Services/ApiExplorer/ApiExplorer.js index 00382ecc0840d..cf239842daa8e 100644 --- a/console/src/components/Services/ApiExplorer/ApiExplorer.js +++ b/console/src/components/Services/ApiExplorer/ApiExplorer.js @@ -4,6 +4,8 @@ import Helmet from 'react-helmet'; import ApiRequestWrapper from './ApiRequestWrapper'; +import globals from '../../../Globals'; + /* import ApiCollectionPanel from './ApiCollectionPanel'; @@ -63,6 +65,11 @@ class ApiExplorer extends Component { } = this.props; const styles = require('./ApiExplorer.scss'); + const consoleUrl = + window.location.protocol + + '//' + + window.location.host + + globals.urlPrefix; return (
@@ -80,6 +87,7 @@ class ApiExplorer extends Component { headerFocus={headerFocus} urlParams={location.query} serverVersion={serverVersion} + consoleUrl={consoleUrl} />
diff --git a/console/src/components/Services/ApiExplorer/ApiRequest/ApiRequest.js b/console/src/components/Services/ApiExplorer/ApiRequest/ApiRequest.js index 7d617bafc0805..d367ac8dc1bfe 100644 --- a/console/src/components/Services/ApiExplorer/ApiRequest/ApiRequest.js +++ b/console/src/components/Services/ApiExplorer/ApiRequest/ApiRequest.js @@ -495,6 +495,7 @@ ApiRequest.propTypes = { numberOfTables: PropTypes.number.isRequired, headerFocus: PropTypes.bool.isRequired, urlParams: PropTypes.object.isRequired, + consoleUrl: PropTypes.string.isRequired, }; export default ApiRequest; diff --git a/console/src/components/Services/ApiExplorer/ApiRequestWrapper.js b/console/src/components/Services/ApiExplorer/ApiRequestWrapper.js index 62f4700d544d1..aecce218ecade 100644 --- a/console/src/components/Services/ApiExplorer/ApiRequestWrapper.js +++ b/console/src/components/Services/ApiExplorer/ApiRequestWrapper.js @@ -69,6 +69,7 @@ class ApiRequestWrapper extends Component { headerFocus={this.props.headerFocus} urlParams={this.props.urlParams} serverVersion={this.props.serverVersion} + consoleUrl={this.props.consoleUrl} /> {getAPIResponseSection()} @@ -88,6 +89,7 @@ ApiRequestWrapper.propTypes = { numberOfTables: PropTypes.number, headerFocus: PropTypes.bool.isRequired, urlParams: PropTypes.bool.isRequired, + consoleUrl: PropTypes.string.isRequired, }; export default ApiRequestWrapper; diff --git a/console/src/components/Services/ApiExplorer/GraphiQLWrapper/GraphiQLWrapper.js b/console/src/components/Services/ApiExplorer/GraphiQLWrapper/GraphiQLWrapper.js index 6b6d3573a84c2..71ea0111539c6 100644 --- a/console/src/components/Services/ApiExplorer/GraphiQLWrapper/GraphiQLWrapper.js +++ b/console/src/components/Services/ApiExplorer/GraphiQLWrapper/GraphiQLWrapper.js @@ -58,10 +58,12 @@ class GraphiQLWrapper extends Component { ); const renderGraphiql = graphiqlProps => { + const voyagerUrl = graphqlNetworkData.consoleUrl + '/voyager-view'; return ( diff --git a/console/src/components/VoyagerView/VoyagerView.js b/console/src/components/VoyagerView/VoyagerView.js new file mode 100644 index 0000000000000..8cea5b077fc4e --- /dev/null +++ b/console/src/components/VoyagerView/VoyagerView.js @@ -0,0 +1,35 @@ +import React, { Component } from 'react'; +import { GraphQLVoyager } from 'graphql-voyager'; +import fetch from 'isomorphic-fetch'; +import Endpoints from '../../Endpoints'; +import '../../../node_modules/graphql-voyager/dist/voyager.css'; +import './voyagerView.css'; + +console.log(GraphQLVoyager); + +class VoyagerView extends Component { + introspectionProvider(query) { + return fetch(Endpoints.graphQLUrl, { + method: 'post', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ query: query }), + }).then(response => response.json()); + } + + render() { + return ( +
+ +
+ ); + } +} + +export default VoyagerView; diff --git a/console/src/components/VoyagerView/voyagerView.css b/console/src/components/VoyagerView/voyagerView.css new file mode 100644 index 0000000000000..23fc781af72b4 --- /dev/null +++ b/console/src/components/VoyagerView/voyagerView.css @@ -0,0 +1,6 @@ +.graphql-voyager { + height: calc(100vh - 50px); +} +.graphql-voyager .type-doc > .doc-navigation { + padding: 5px 20px 20px 18px; +} diff --git a/console/src/components/index.js b/console/src/components/index.js index 21fab700edd11..aad155bc9f0b4 100644 --- a/console/src/components/index.js +++ b/console/src/components/index.js @@ -6,3 +6,4 @@ export App from './App/App'; export Main from './Main/Main'; export PageNotFound from './Error/PageNotFound'; export Login from './Login/Login'; +export VoyagerView from './VoyagerView/VoyagerView'; diff --git a/console/src/routes.js b/console/src/routes.js index fe1b8feec095f..1542170e977e6 100644 --- a/console/src/routes.js +++ b/console/src/routes.js @@ -3,7 +3,7 @@ import { Route, IndexRoute, IndexRedirect } from 'react-router'; import { connect } from 'react-redux'; -import { App, Main, PageNotFound } from 'components'; +import { App, Main, PageNotFound, VoyagerView } from 'components'; import globals from './Globals'; @@ -81,6 +81,7 @@ const routes = store => { return ( + { > + Date: Tue, 18 Jun 2019 17:20:32 +0530 Subject: [PATCH 2/5] add headers --- .../ApiExplorer/GraphiQLWrapper/GraphiQL.css | 6 +++++- .../src/components/VoyagerView/VoyagerView.js | 21 ++++++++++++------- console/src/routes.js | 10 ++++++--- 3 files changed, 25 insertions(+), 12 deletions(-) diff --git a/console/src/components/Services/ApiExplorer/GraphiQLWrapper/GraphiQL.css b/console/src/components/Services/ApiExplorer/GraphiQLWrapper/GraphiQL.css index 784c77460205c..391f8165b10dc 100644 --- a/console/src/components/Services/ApiExplorer/GraphiQLWrapper/GraphiQL.css +++ b/console/src/components/Services/ApiExplorer/GraphiQLWrapper/GraphiQL.css @@ -317,13 +317,17 @@ cursor: pointer; display: inline-block; margin: 0 5px; - padding: 3px 11px 5px; + padding: 3px 11px 3px; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; max-width: 150px; } +.graphiql-container .toolbar-button span i { + margin-left: 5px; +} + .graphiql-container .toolbar-button:active { background: -webkit-gradient( linear, diff --git a/console/src/components/VoyagerView/VoyagerView.js b/console/src/components/VoyagerView/VoyagerView.js index 8cea5b077fc4e..b7d4356f98164 100644 --- a/console/src/components/VoyagerView/VoyagerView.js +++ b/console/src/components/VoyagerView/VoyagerView.js @@ -5,15 +5,11 @@ import Endpoints from '../../Endpoints'; import '../../../node_modules/graphql-voyager/dist/voyager.css'; import './voyagerView.css'; -console.log(GraphQLVoyager); - class VoyagerView extends Component { introspectionProvider(query) { return fetch(Endpoints.graphQLUrl, { - method: 'post', - headers: { - 'Content-Type': 'application/json', - }, + method: 'POST', + headers: this.props.headers, body: JSON.stringify({ query: query }), }).then(response => response.json()); } @@ -22,7 +18,7 @@ class VoyagerView extends Component { return (
{ + const mapStateToProps = state => { + return { + headers: state.tables.dataHeaders, + }; + }; + return connect(mapStateToProps)(VoyagerView); +}; + +export default generatedVoyagerConnector; diff --git a/console/src/routes.js b/console/src/routes.js index 1542170e977e6..293dbc17bc9a8 100644 --- a/console/src/routes.js +++ b/console/src/routes.js @@ -3,7 +3,7 @@ import { Route, IndexRoute, IndexRedirect } from 'react-router'; import { connect } from 'react-redux'; -import { App, Main, PageNotFound, VoyagerView } from 'components'; +import { App, Main, PageNotFound } from 'components'; import globals from './Globals'; @@ -23,6 +23,8 @@ import generatedApiExplorer from './components/Services/ApiExplorer/ApiExplorerG import generatedLoginConnector from './components/Login/Login'; +import generatedVoyagerConnector from './components/VoyagerView/VoyagerView'; + import metadataContainer from './components/Services/Metadata/Container'; import metadataOptionsContainer from './components/Services/Metadata/MetadataOptions/MetadataOptions'; import metadataStatusContainer from './components/Services/Metadata/MetadataStatus/MetadataStatus'; @@ -81,7 +83,6 @@ const routes = store => { return ( - { > - + Date: Tue, 18 Jun 2019 18:14:55 +0530 Subject: [PATCH 3/5] upgrade graphiql version --- console/package-lock.json | 6 +++--- console/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/console/package-lock.json b/console/package-lock.json index 2b4cd926422cb..d5ef0c7a21010 100644 --- a/console/package-lock.json +++ b/console/package-lock.json @@ -7470,9 +7470,9 @@ } }, "hasura-console-graphiql": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/hasura-console-graphiql/-/hasura-console-graphiql-0.0.10.tgz", - "integrity": "sha512-M6F/QkdQgbh8yJ2aTZa3SHHUCyys9LDnRguRVWzJX5ty/4XtOM0WiPZtIIwfiLCSboUY2BwYMUx6T0byJGbsKg==", + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/hasura-console-graphiql/-/hasura-console-graphiql-0.0.11.tgz", + "integrity": "sha512-IBulJTP2J+ngUiUydLvj28DTjhdS8pxvVVjfjPlr84XJ9mzpgWg6DtWL+C9kYxxpkXZ4+UD0Wl64VdzIf44dag==", "requires": { "codemirror": "^5.26.0", "codemirror-graphql": "^0.7.1", diff --git a/console/package.json b/console/package.json index 8d0f408c2c8fb..4f9701869b532 100644 --- a/console/package.json +++ b/console/package.json @@ -61,7 +61,7 @@ "graphiql-explorer-hasura": "0.0.7", "graphql": "^14.3.0", "graphql-voyager": "^1.0.0-rc.27", - "hasura-console-graphiql": "0.0.10", + "hasura-console-graphiql": "0.0.11", "history": "^3.0.0", "hoist-non-react-statics": "^1.0.3", "inflection": "^1.12.0", From b02d2bd9f8c33fe91a1f053cec21f395351e6026 Mon Sep 17 00:00:00 2001 From: Aravind Shankar Date: Thu, 20 Jun 2019 15:43:00 +0530 Subject: [PATCH 4/5] remove id from div --- console/src/components/Main/Main.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/console/src/components/Main/Main.js b/console/src/components/Main/Main.js index b78b4b20e20a3..b8cc94d50641d 100644 --- a/console/src/components/Main/Main.js +++ b/console/src/components/Main/Main.js @@ -614,10 +614,7 @@ class Main extends React.Component {
-
+
{getMainContent()}
From da34d9cc603446c54c8ee11ad329844909e14472 Mon Sep 17 00:00:00 2001 From: rikinsk Date: Thu, 20 Jun 2019 15:59:02 +0530 Subject: [PATCH 5/5] removed extra line --- console/src/components/index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/console/src/components/index.js b/console/src/components/index.js index aad155bc9f0b4..21fab700edd11 100644 --- a/console/src/components/index.js +++ b/console/src/components/index.js @@ -6,4 +6,3 @@ export App from './App/App'; export Main from './Main/Main'; export PageNotFound from './Error/PageNotFound'; export Login from './Login/Login'; -export VoyagerView from './VoyagerView/VoyagerView';