{"version":3,"sources":["../node_modules/graphql-language-service-utils/esm sync /^.*/.js$","../node_modules/graphql-language-service-utils/esm sync /^.*/.json$","CleverToolbarButton.js","CleverGraphiQL.js","index.js"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","webpackEmptyContext","CleverToolbarButton","props","handleClick","onClick","setState","error","state","this","React","createElement","className","additionalClasses","style","title","message","label","Component","CleverGraphiQL","graphQLFetcher","graphQLParams","headers","Headers","append","user","access_token","operationName","operation","gqlRef","operations","find","name","value","query","substring","loc","start","end","fetch","window","location","origin","method","body","JSON","stringify","then","response","json","handleLoginButton","oidcUserManager","signinRedirect","signoutRedirect","catch","console","handleInspectOperation","cm","mousePos","parsedQuery","parse","token","getTokenAt","line","ch","position","indexFromPos","def","definitions","definition","log","operationKind","kind","selector","el","document","querySelector","scrollIntoView","handleEditQuery","handleToggleExplorer","explorerIsOpen","schema","getIntrospectionQuery","result","editor","getQueryEditor","setOption","options","extraKeys","buildClientSchema","data","Oidc","require","redirect_uri","post_logout_redirect_uri","UserManager","this2","getUser","profile","events","addUserLoaded","_storage","storage","getItem","onbeforeunload","setItem","onEdit","onRunOperation","handleRunQuery","onToggleExplorer","editorTheme","fetcher","ref","gql","onEditQuery","Toolbar","ToolbarButton","handlePrettifyQuery","handleToggleHistory","ReactDOM","render","getElementById"],"mappings":"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","file":"static/js/main.43f48676.chunk.js","sourcesContent":["var map = {\n\t\"./Range.js\": 61,\n\t\"./file.js\": 76,\n\t\"./getASTNodeAtPosition.js\": 75,\n\t\"./index.js\": 28,\n\t\"./validateWithCustomRules.js\": 94\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 127;","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 128;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nexport class CleverToolbarButton extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.handleClick = () => {\r\n try {\r\n this.props.onClick();\r\n this.setState({ error: null });\r\n }\r\n catch (error) {\r\n this.setState({ error });\r\n }\r\n };\r\n this.state = { error: null };\r\n }\r\n render() {\r\n const { error } = this.state;\r\n return (\r\n React.createElement(\r\n \"button\",\r\n {\r\n className: 'toolbar-button' + (error ? ' error' : '') + ( ' ' + this.props.additionalClasses || ''),\r\n style: this.props.style || {},\r\n onClick: this.handleClick,\r\n title: error ? error.message : this.props.title,\r\n \"aria-invalid\": error ? 'true' : 'false' \r\n },\r\n this.props.label\r\n )\r\n );\r\n }\r\n}\r\nCleverToolbarButton.propTypes = {\r\n onClick: PropTypes.func,\r\n title: PropTypes.string,\r\n label: PropTypes.string,\r\n};\r\n//# sourceMappingURL=ToolbarButton.js.map","import React from 'react'\r\nimport GraphiQL from 'graphiql'\r\nimport GraphiQLExplorer from \"graphiql-explorer\";\r\nimport { buildClientSchema, getIntrospectionQuery, parse } from \"graphql\";\r\nimport {CleverToolbarButton} from './CleverToolbarButton'\r\n\r\nclass CleverGraphiQL extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.gqlRef = null;\r\n this.oidcUserManager = null;\r\n\r\n let default_Query = `# Welcome to GraphiQL\r\n#\r\n# GraphiQL is an in-browser tool for writing, validating, and\r\n# testing GraphQL queries.\r\n#\r\n# Type queries into this side of the screen, and you will see intelligent\r\n# typeaheads aware of the current GraphQL type schema and live syntax and\r\n# validation errors highlighted within the text.\r\n#\r\n# GraphQL queries typically start with a \"{\" character. Lines that starts\r\n# with a # are ignored.\r\n#\r\n# An example GraphQL query might look like:\r\n#\r\n# {\r\n# field(arg: \"value\") {\r\n# subField\r\n# }\r\n# }\r\n#\r\n# Keyboard shortcuts:\r\n#\r\n# Prettify Query: Shift-Ctrl-P (or press the prettify button above)\r\n#\r\n# Merge Query: Shift-Ctrl-M (or press the merge button above)\r\n#\r\n# Run Query: Ctrl-Enter (or press the play button above)\r\n#\r\n# Auto Complete: Ctrl-Space (or just start typing)\r\n#\r\n# Jump to: Shift-Alt-LeftClick (jump to it in the explorer)\r\n#\r\n#\r\n# Explorer: \r\n#\r\n# Open the schema explorer using the \"Explorer\" button above.\r\n# \r\n# Click on a field to add it.\r\n# Alt-Click on a field to add it and all direct child fields.\r\n#`\r\n\r\n this.state = {\r\n schema: null,\r\n query: default_Query,\r\n explorerIsOpen: false,\r\n user: null\r\n };\r\n }\r\n\r\n graphQLFetcher = (graphQLParams, headers) => {\r\n if (headers == null) {\r\n headers = new Headers();\r\n headers.append('Content-Type', 'application/json');\r\n }\r\n\r\n if (this.state.user !== null) {\r\n headers.append('Authorization', 'Bearer ' + this.state.user.access_token)\r\n }\r\n\r\n if (graphQLParams.operationName) {\r\n const operation = this.gqlRef.state.operations.find(operation => operation.name.value === graphQLParams.operationName)\r\n graphQLParams.query = graphQLParams.query.substring(operation.loc.start, operation.loc.end)\r\n }\r\n\r\n return fetch(window.location.origin + '/graphql', {\r\n method: 'post',\r\n headers: headers,\r\n body: JSON.stringify(graphQLParams),\r\n }).then(response => response.json());\r\n }\r\n\r\n componentDidMount() {\r\n this.graphQLFetcher({\r\n query: getIntrospectionQuery()\r\n }).then(result => {\r\n const editor = this.gqlRef.getQueryEditor();\r\n editor.setOption(\"extraKeys\", {\r\n ...(editor.options.extraKeys || {}),\r\n \"Shift-Alt-LeftClick\": this.handleInspectOperation\r\n });\r\n\r\n this.setState({ schema: buildClientSchema(result.data) });\r\n });\r\n\r\n let Oidc = require('oidc-client');\r\n fetch(window.location.origin + \"/Scripts/static/js/oidcConfig.json\").then(response => {\r\n return response.json();\r\n }).then(data => {\r\n if (data != null) {\r\n if (data.redirect_uri != \"\") {\r\n data.redirect_uri = window.location.origin + data.redirect_uri;\r\n }\r\n\r\n if (data.post_logout_redirect_uri != \"\") {\r\n data.post_logout_redirect_uri = window.location.origin + data.post_logout_redirect_uri;\r\n }\r\n }\r\n\r\n this.oidcUserManager = new Oidc.UserManager(data);\r\n\r\n let this2 = this;\r\n this.oidcUserManager.getUser().then(function (user) {\r\n if (user) {\r\n console.log(\"User logged in\", user.profile);\r\n this2.setState({ user })\r\n }\r\n else {\r\n console.log(\"User not logged in\");\r\n }\r\n });\r\n\r\n this.oidcUserManager.events.addUserLoaded((user) => { // <- user object passed into the callback\r\n // do some internal logic with the new user object\r\n this.setState({ user })\r\n console.log(\"addUserLoaded callback called\");\r\n });\r\n });\r\n\r\n if (this.gqlRef) {\r\n let query = this.gqlRef._storage.storage.getItem('graphiql:query')\r\n if (query) {\r\n this.setState({ query })\r\n }\r\n\r\n let explorerIsOpen = this.gqlRef._storage.storage.getItem('graphiql:explorerIsOpen')\r\n if (explorerIsOpen) {\r\n this.setState({ explorerIsOpen: explorerIsOpen === 'true' })\r\n }\r\n }\r\n\r\n window.onbeforeunload = () => {\r\n this.gqlRef._storage.storage.setItem('graphiql:explorerIsOpen', this.state.explorerIsOpen);\r\n this.gqlRef._storage.storage.setItem('graphiql:query', this.state.query)\r\n }\r\n }\r\n\r\n handleLoginButton = () => {\r\n if (this.oidcUserManager != null && this.state.user == null) {\r\n this.oidcUserManager.signinRedirect();\r\n }\r\n if (this.state.user != null) {\r\n this.oidcUserManager.signoutRedirect()\r\n .catch(function (error) {\r\n console.error('error while signing out user', error);\r\n });\r\n }\r\n };\r\n\r\n handleInspectOperation = (\r\n cm,\r\n mousePos\r\n ) => {\r\n const parsedQuery = parse(this.state.query || \"\");\r\n\r\n if (!parsedQuery) {\r\n console.error(\"Couldn't parse query document\");\r\n return null;\r\n }\r\n\r\n var token = cm.getTokenAt(mousePos);\r\n var start = { line: mousePos.line, ch: token.start };\r\n var end = { line: mousePos.line, ch: token.end };\r\n var relevantMousePos = {\r\n start: cm.indexFromPos(start),\r\n end: cm.indexFromPos(end)\r\n };\r\n\r\n var position = relevantMousePos;\r\n\r\n var def = parsedQuery.definitions.find(definition => {\r\n if (!definition.loc) {\r\n console.log(\"Missing location information for definition\");\r\n return false;\r\n }\r\n\r\n const { start, end } = definition.loc;\r\n return start <= position.start && end >= position.end;\r\n });\r\n\r\n if (!def) {\r\n console.error(\r\n \"Unable to find definition corresponding to mouse position\"\r\n );\r\n return null;\r\n }\r\n\r\n var operationKind =\r\n def.kind === \"OperationDefinition\"\r\n ? def.operation\r\n : def.kind === \"FragmentDefinition\"\r\n ? \"fragment\"\r\n : \"unknown\";\r\n\r\n var operationName =\r\n def.kind === \"OperationDefinition\" && !!def.name\r\n ? def.name.value\r\n : def.kind === \"FragmentDefinition\" && !!def.name\r\n ? def.name.value\r\n : \"unknown\";\r\n\r\n var selector = `.graphiql-explorer-root #${operationKind}-${operationName}`;\r\n\r\n var el = document.querySelector(selector);\r\n el && el.scrollIntoView();\r\n };\r\n\r\n handleEditQuery = (query) => {\r\n this.setState({ query });\r\n }\r\n\r\n handleToggleExplorer = () => {\r\n this.setState({ explorerIsOpen: !this.state.explorerIsOpen });\r\n };\r\n\r\n render() {\r\n return (\r\n